/*
Class: Photos [Built on MooTools framework: www.mootools.net]
Author: Martin Jezek 2009
Version: 1.2
*/  
var Photos=new Class({Implements:Options,options:{id:"",wheeler_id:"",top_photo_wheeler_id:"",top_photo_width:295,top_photo_id:"",prev_id:"",next_id:"",wheel_width:0,crop_width:0,item_width:0,item_width_addend:0,visible_items:3,transition:"quad:out",duration:"normal"},initialize:function(options){this.setOptions(options);this.initPhotos();if(this.items_count>this.options.visible_items){if(this.options.prev_id){$(this.options.prev_id).removeClass("disabled");}}},now:0,correction:"false",initPhotos:function(){this.photos=$(this.options.id);this.wheeler=$(this.options.wheeler_id);this.top_photo_wheeler=$(this.options.top_photo_wheeler_id);this.width=this.options.crop_width;this.wheel_width=this.options.wheel_width;this.items_count=this.wheeler.getElements(".photo").length;this.wheeler.setStyle("width",this.options.item_width*this.items_count+this.options.item_width_addend);this.top_photo_wheeler.setStyle("width",this.options.top_photo_width*this.items_count+this.options.item_width_addend);this.items_views_add=this.items_count%this.options.visible_items;this.items_views=(this.items_count-this.items_views_add)/this.options.visible_items;this.tween=new Fx.Tween(this.wheeler,{transition:this.options.transition,property:"left",duration:this.options.duration});this.clickWay="false";if(this.options.next_id){$(this.options.next_id).removeClass("disabled");$(this.options.next_id).addEvent("click",this.nextClick.bindWithEvent(this));$(this.options.next_id).addClass("disabled");}
if(this.options.prev_id){$(this.options.prev_id).removeClass("disabled");$(this.options.prev_id).addEvent("click",this.prevClick.bindWithEvent(this));$(this.options.prev_id).addClass("disabled");}
this.wheeler.getElements("a").each(function(link,index){link.addEvent("click",this.photoClick.bind(this,{href:link,index:index}));},this);},wheeling:function(){if(this.clickWay=="next"){if(this.now==0&&this.items_views_add>0){this.correction="true";}else if(this.now>0){this.now--;}else{this.now=this.items_views-1;}
if(this.now<this.items_views){$(this.options.prev_id).removeClass("disabled");}
if(this.now==0){$(this.options.next_id).addClass("disabled");}
if(this.correction=="true"){this.tween.start(this.wheeler.getStyle("left"),(this.wheel_width*(-this.items_views+1))-(this.items_views_add*this.options.item_width));this.now=-1;this.correction="false"}else{this.tween.start(this.wheeler.getStyle("left"),this.wheel_width*-this.now);}}else{if(this.now==this.items_views-1&&this.items_views_add>0){this.correction="true";}else if(this.now<this.items_views-1){this.now++;}else{this.now=0;}
if(this.now>0||this.correction=="true"){$(this.options.next_id).removeClass("disabled");}
if(this.now==this.items_views-1&&this.items_views_add>0){if(this.correction=="true"){$(this.options.prev_id).addClass("disabled");}}else if(this.now==this.items_views-1&&this.items_views_add==0){$(this.options.prev_id).addClass("disabled");}
if(this.correction=="true"){this.tween.start(this.wheeler.getStyle("left"),(this.wheel_width*-this.now)-(this.items_views_add*this.options.item_width));this.now=-1;this.correction="false"}else{this.tween.start(this.wheeler.getStyle("left"),this.wheel_width*-this.now);}}},nextClick:function(){if(!($(this.options.next_id).hasClass("disabled"))){this.clickWay="next";this.wheeling();this.clickWay="false";}
$(this.options.next_id).blur();return false;},prevClick:function(){if(!($(this.options.prev_id).hasClass("disabled"))){this.clickWay="prev";this.wheeling();this.clickWay="false";}
$(this.options.prev_id).blur();return false;},photoClick:function(link){this.top_photo_wheeler.setStyle("left",-link.index*this.options.top_photo_width);return false;}});