var ImageMenu=new Class({getOptions:function(){return{onOpen:true,onClose:Class.empty,openWidth:422,transition:Fx.Transitions.quadOut,duration:400,open:null,border:0};},initialize:function(elements,options){this.setOptions(this.getOptions(),options);this.elements=$$(elements);this.widths={};this.widths.closed=this.elements[0].getStyle('width').toInt();this.widths.openSelected=this.options.openWidth;this.widths.openOthers=Math.round(((this.widths.closed*this.elements.length)-(this.widths.openSelected+this.options.border))/(this.elements.length-1))
this.fx=new Fx.Elements(this.elements,{wait:false,duration:this.options.duration,transition:this.options.transition});this.elements.each(function(el,i){el.addEvent('mouseenter',function(e){new Event(e).stop();this.reset(i);}.bind(this));el.addEvent('mouseleave',function(e){new Event(e).stop();this.reset(this.options.open);}.bind(this));var obj=this;el.addEvent('click',function(e){if(obj.options.onOpen){new Event(e).stop();if(obj.options.open==i){obj.options.open=null;obj.options.onClose(this.href,i);}else{obj.options.open=i;obj.options.onOpen(this.href,i);}}})}.bind(this));if(this.options.open){if($type(this.options.open)=='number'){this.reset(this.options.open);}else{this.elements.each(function(el,i){if(el.id==this.options.open){this.reset(i);}},this);}}},reset:function(num){if($type(num)=='number'){var width=this.widths.openOthers;if(num+1==this.elements.length){width+=this.options.border;}}else{var width=this.widths.closed;}
var obj={};this.elements.each(function(el,i){var w=width;if(i==this.elements.length-1){w=width+5}
obj[i]={'width':w};}.bind(this));if($type(num)=='number'){obj[num]={'width':this.widths.openSelected};}
this.fx.start(obj);}});ImageMenu.implement(new Options);ImageMenu.implement(new Events);var noobSlide=new Class({initialize:function(params){this.items=params.items;this.mode=params.mode||'horizontal';this.modes={horizontal:['left','width'],vertical:['top','height']};this.size=params.size||240;this.box=params.box.setStyle(this.modes[this.mode][1],(this.size*this.items.length)+'px');this.button_event=params.button_event||'click';this.handle_event=params.handle_event||'click';this.interval=params.interval||5000;this.buttons={previous:[],next:[],play:[],playback:[],stop:[]};if(params.buttons){for(var action in params.buttons){this.addActionButtons(action,$type(params.buttons[action])=='array'?params.buttons[action]:[params.buttons[action]]);}}
this.handles=params.handles||null;if(this.handles){this.addHandleButtons(this.handles);}
this.fx=new Fx.Style(this.box,this.modes[this.mode][0],params.fxOptions||{duration:500,wait:false});this.onWalk=params.onWalk||null;this.currentIndex=params.startItem||0;this.previousIndex=null;this.nextIndex=null;this.autoPlay=params.autoPlay||false;this._auto=null;this.box.setStyle(this.modes[this.mode][0],(-this.currentIndex*this.size)+'px');if(params.autoPlay)this.play(this.interval,'next',true);},previous:function(manual){this.currentIndex+=this.currentIndex>0?-1:this.items.length-1;this.walk(null,manual);},next:function(manual){this.currentIndex+=this.currentIndex<this.items.length-1?1:1-this.items.length;this.walk(null,manual);},play:function(delay,direction,wait){this.stop();if(!wait){this[direction](false);}
this._auto=this[direction].periodical(delay,this,false);},stop:function(){$clear(this._auto);},walk:function(item,manual){if($defined(item)){if(item==this.currentIndex)return;this.currentIndex=item;}
this.previousIndex=this.currentIndex+(this.currentIndex>0?-1:this.items.length-1);this.nextIndex=this.currentIndex+(this.currentIndex<this.items.length-1?1:1-this.items.length);if(manual){this.stop();}
this.fx.start(-this.currentIndex*this.size);if(this.onWalk){this.onWalk(this.items[this.currentIndex],(this.handles?this.handles[this.currentIndex]:null));}
if(manual&&this.autoPlay){this.play(this.interval,'next',true);}},addHandleButtons:function(handles){for(var i=0;i<handles.length;i++){handles[i].addEvent(this.handle_event,this.walk.bind(this,[i,true]));}},addActionButtons:function(action,buttons){for(var i=0;i<buttons.length;i++){switch(action){case'previous':buttons[i].addEvent(this.button_event,this.previous.bind(this,true));break;case'next':buttons[i].addEvent(this.button_event,this.next.bind(this,true));break;case'play':buttons[i].addEvent(this.button_event,this.play.bind(this,[this.interval,'next',false]));break;case'playback':buttons[i].addEvent(this.button_event,this.play.bind(this,[this.interval,'previous',false]));break;case'stop':buttons[i].addEvent(this.button_event,this.stop.bind(this));break;}
this.buttons[action].push(buttons[i]);}}});var noobSlide=new Class({initialize:function(a){this.items=a.items;this.mode=a.mode||'horizontal';this.modes={horizontal:['left','width'],vertical:['top','height']};this.size=a.size||240;this.box=a.box.setStyle(this.modes[this.mode][1],(this.size*this.items.length)+'px');this.button_event=a.button_event||'click';this.handle_event=a.handle_event||'click';this.interval=a.interval||5000;this.buttons={previous:[],next:[],play:[],playback:[],stop:[]};if(a.buttons){for(var b in a.buttons){this.addActionButtons(b,$type(a.buttons[b])=='array'?a.buttons[b]:[a.buttons[b]])}}this.handles=a.handles||null;if(this.handles){this.addHandleButtons(this.handles)}this.fx=new Fx.Style(this.box,this.modes[this.mode][0],a.fxOptions||{duration:500,wait:false});this.onWalk=a.onWalk||null;this.currentIndex=a.startItem||0;this.previousIndex=null;this.nextIndex=null;this.autoPlay=a.autoPlay||false;this._auto=null;this.box.setStyle(this.modes[this.mode][0],(-this.currentIndex*this.size)+'px');if(a.autoPlay)this.play(this.interval,'next',true)},previous:function(a){this.currentIndex+=this.currentIndex>0?-1:this.items.length-1;this.walk(null,a)},next:function(a){this.currentIndex+=this.currentIndex<this.items.length-1?1:1-this.items.length;this.walk(null,a)},play:function(a,b,c){this.stop();if(!c){this[b](false)}this._auto=this[b].periodical(a,this,false)},stop:function(){$clear(this._auto)},walk:function(a,b){if($defined(a)){if(a==this.currentIndex)return;this.currentIndex=a}this.previousIndex=this.currentIndex+(this.currentIndex>0?-1:this.items.length-1);this.nextIndex=this.currentIndex+(this.currentIndex<this.items.length-1?1:1-this.items.length);if(b){this.stop()}this.fx.start(-this.currentIndex*this.size);if(this.onWalk){this.onWalk(this.items[this.currentIndex],(this.handles?this.handles[this.currentIndex]:null))}if(b&&this.autoPlay){this.play(this.interval,'next',true)}},addHandleButtons:function(a){for(var i=0;i<a.length;i++){a[i].addEvent(this.handle_event,this.walk.bind(this,[i,true]))}},addActionButtons:function(a,b){for(var i=0;i<b.length;i++){switch(a){case'previous':b[i].addEvent(this.button_event,this.previous.bind(this,true));break;case'next':b[i].addEvent(this.button_event,this.next.bind(this,true));break;case'play':b[i].addEvent(this.button_event,this.play.bind(this,[this.interval,'next',false]));break;case'playback':b[i].addEvent(this.button_event,this.play.bind(this,[this.interval,'previous',false]));break;case'stop':b[i].addEvent(this.button_event,this.stop.bind(this));break}this.buttons[a].push(b[i])}}});
