//Class:    		MenuSlider
//Author:   		Joyce Johnston
//Website:    	    http://www.uncontentio.us
//Date:     		2/7/2009


var MenuSlider = new Class({
    Implements: [Options, Events],
    options: {
      homepath: '' ,
	  homecolor: '#000',
	  movercolor:'#ccc',
	  moutcolor:'#000'
   },
    initialize:function(menu_div, slider_div,options) {
		this.setOptions(options)
        this.main = $(menu_div);
        this.slider = $(slider_div);
        this.slider.set('morph',{ duration:500, transition: Fx.Transitions.Quad.easeOut }); 
        this.create_movers();
        
       
    },  
    create_movers:function() {
        this.main.getElements('a').each(function(item,index) {
               item.set('morph',{duration:500, transition: Fx.Transitions.Quad.easeOut});
               var coordinates=item.getPosition(this.main);
               var size=item.getSize();
               var path = item.getProperty('id');
               if(path == this.options.homepath) {
				   item.setStyles({
                       'color':this.options.homecolor
                   });
                   this.slider.setStyles({
                        'left':(coordinates.x)+180,
                        'width':(size.x)
                    });
			   }
              item.addEvent('mouseover',function() {
                   item.morph({
                       'color':this.options.movercolor
                   });
                   this.slider.morph({
                       'left':(coordinates.x)+180,
                       'width':(size.x)
                   });
               }.bind(this));
               item.addEvent('mouseout',function() {
				   if(path == this.options.homepath) {
					   item.tween('color',this.options.homecolor);
                  }
                   else {
					   item.tween('color',this.options.moutcolor);
                       var current = this.main.getElement('a[id='+this.options.homepath+']');
                       if (current) {
                           var cur_coords = current.getPosition(this.main);
                           var cur_size = current.getSize();
                           current.morph({
                               'color':this.options.homecolor
                           });
                           this.slider.morph({
                               'left':(cur_coords.x)+180,
                               'width':(cur_size.x)
                           });                     
                        }
                   }     
               }.bind(this));
         }, this);
    },
    change_homepath:function(newHomePath) {
		$(this.options.homepath).setStyle('color',this.options.moutcolor);
        this.options.homepath = newHomePath;   
    }
    
});



