var drhorton_featured_picker = new Class({
    
    timer: 0,
    currentIndex: 1,
    mapCenter: undefined,
    
    //options
    options: {
        pickable_items: '', //Array of items
        selectlist: '', //selector for ul
        map_identifier: ''
    },
    
    //initialization
    initialize: function(options) {
        //set options
        this.setOptions(options);
        //Make the nav
        this.initNav();
        
        if(this.options.map_identifier){
            this.initMap(0,true);
        }
        
        this.timer = this.movePosition.periodical(10000,this);
    },
    
    movePosition: function () {
        var next = false;        
        this.options.selectlist.getElements('li').each(function(el,i) {
            image_index = i + 1;
            if(el.hasClass('active')){
                el.removeClass('active');
                /*
                if (image_index < 10)
                    el.getElements('img')[0].src = "http://wwwcache.wral.com/presentation/v1/images/mapcal/markers/OA_0" + image_index + "-on.png";
                else
                    el.getElements('img')[0].src = "http://wwwcache.wral.com/presentation/v1/images/mapcal/markers/OA_" + image_index + "-on.png";
                */
                this.options.pickable_items[i].setStyle('display', 'none');
                next = true;
            }else if(next){
                el.addClass('active');
                next=false;
                this.options.pickable_items[i].setStyle('display', 'block');


                /*
                if (image_index < 10)
                    el.getElements('img')[0].src = "http://wwwcache.wral.com/presentation/v1/images/mapcal/markers/OA_0" + image_index + ".png";
                else
                    el.getElements('img')[0].src = "http://wwwcache.wral.com/presentation/v1/images/mapcal/markers/OA_" + image_index + ".png";
                */
                this.initMap(i,false);
            }
        },this);
        
        if(next){
            var el = this.options.selectlist.getElements('li')[0];
            this.options.selectlist.getElements('li')[0].addClass('active');
            this.options.pickable_items[0].setStyle('display', 'block');
            el.getElements('img')[0].src = "http://wwwcache.wral.com/presentation/v1/images/mapcal/markers/OA_01-on.png";
            this.initMap(0);
        }
        
    },
    
    initNav: function() {
        var i = 0;
        this.options.pickable_items.setStyle('display', 'none');
        //for all of the elements
        this.options.pickable_items.each(function(el) {
            var control = new Element('li',{});
            var img = $$('img.housing_community_name')[i];

            control.setText(img.alt);
            if (i == this.options.pickable_items.length - 1) control.addClass('last');
            
            this.setClick(control,el,this.options.pickable_items,this.options.selectlist,i);
            control.injectInside(this.options.selectlist);
            
            if(!i){
                el.setStyle('display', 'block');
                control.addClass('active');
            }
            i++;
        },this);
    },
    
    initMap: function(active,force) {
        var identifier = this.options.map_identifier;
        
        //Has the map been changed?
        if(!force && this.mapCenter != undefined && this.mapCenter != window[identifier].currentCenter) return;
        
        var markers = new Array();
        //for all of the elements

        var lastMarker;
        this.options.pickable_items.each(function(el,i) {
            var markerExtra = (active != undefined && active == i)?"on_"+(i+1):""+(i+1);
            
            var link = el.getElements('a').getProperty('href');
            
            var lat = null;
            var lon = null;

            var full_id_prop = el.getProperty('id');

            if (typeof(full_id_prop) == 'string')
            {
                var props = full_id_prop.split('_');

                for (var subindex in props)
                {
                    if (subindex & 1)
                    {
                        switch (props[subindex - 1])
                        {
                            case 'lat':
                                lat = props[subindex];
                                break;

                            case 'lon':
                                lon = props[subindex];
                                break;
                        }
                    }
                }
            }
           
           if(lat && lon){
                var details = {"marker_id": markerExtra ,"latitude": lat, "longitude": lon, "url": link};            
                if (active == i)  
                    lastMarker = details;
                else  
                    markers.push(details);
            }
                        
        },this);

        if (lastMarker)  {
           markers.push(lastMarker);
        }
        
        $('oaa_map_header_text').setText("D.R. Horton Communities");
        window[identifier]["replaceMarkers"](markers);
        this.mapCenter = window[identifier].currentCenter;
    },
    
    //adds the click event
    setClick: function(control, active_item, all_items, controlList,index) {

        control.addEvent('click', (function() {
            all_items.setStyle('display', 'none');
            active_item.setStyle('display', 'block');

            controlList.getElements('li').removeClass('active');
            this.options.selectlist.getElements('li').each(function(el,i) {
                var image_index = i + 1;
                /*
                if (image_index < 10)
                    //el.getElements('img')[0].src = "http://wwwcache.wral.com/presentation/v1/images/mapcal/markers/OA_0" + (image_index + 4) + "-on.png";
                else
                    //el.getElements('img')[0].src = "http://wwwcache.wral.com/presentation/v1/images/mapcal/markers/OA_" + (image_index + 4) + "-on.png";
                */
            });


            control.addClass('active');
            var image_index = index + 1;
            /*
            if (image_index < 10)
                //control.getElements('img')[0].src = "http://wwwcache.wral.com/presentation/v1/images/mapcal/markers/OA_0" + (image_index + 4) + ".png";
            else
                //control.getElements('img')[0].src = "http://wwwcache.wral.com/presentation/v1/images/mapcal/markers/OA_" + (image_index + 4) + ".png";
            */

            this.initMap(index,true);
            $clear(this.timer);
        }).bindWithEvent(this));

        control.addEvent('mouseover', (function() {
            $clear(this.timer);
        }).bindWithEvent(this));
    }
    
});
drhorton_featured_picker.implement(new Options);
