window.project=(window.project)?window.project:{};(function($)
{project.ActionSliderBehaviour=function(dom_element,options)
{this.dom_element=dom_element;this.ul_element=null;this.li_elements=[];this.li_elements_length=0;this.page_counter=null;this.animate_interval=null;this.animate_objects=[];this.position=0;this.element_size={"x":0,"y":0};this.options={"speed":1000/60};$.extend(this.options,options);this.initialize();};project.ActionSliderBehaviour.prototype.initialize=function()
{var that=this;this.ul_element=this.dom_element.find("ul").first();this.li_elements=this.ul_element.children("li");this.page_counter=this.dom_element.find(".position").first();this.page_counter.text((this.position+1)+"/"+this.li_elements.length);this.li_elements_length=this.li_elements.length;if(this.li_elements_length>1)
{this.element_size.x=$(this.li_elements[0]).outerWidth({margin:true});this.element_size.y=$(this.li_elements[0]).outerHeight({margin:true});this.ul_element.css({"width":this.element_size.x*this.li_elements_length,"height":this.element_size.y,"overflow":"hidden"});this.li_elements.each(function(index,element)
{that.animate_objects[index]={"el":$(element),"current_left":that.element_size.x*index,"target_left":that.element_size.x*index};$(element).css({"position":"absolute","top":0,"left":that.element_size.x*index});});this.addEvents();this.initializeControls();this.animate_interval=setInterval(function()
{that.animate();},this.options.speed);}};project.ActionSliderBehaviour.prototype.addEvents=function()
{var that=this;this.dom_element.bind("scroll",function()
{that.dom_element.scrollTo(0);});this.li_elements.each(function(index,li_element)
{var a_elements=$(li_element).find("a");if(a_elements.length)
{a_elements.bind("focus",function()
{that.setPosition(index);});}});};project.ActionSliderBehaviour.prototype.initializeControls=function()
{var that=this;var prev=this.dom_element.find(".skip_left").attr("role","button");var prev=this.dom_element.find(".skip_right").attr("role","button");var prev=this.dom_element.find(".skip_left").first().bind("click",function()
{that.setPosition(that.position-1);});var next=this.dom_element.find(".skip_right").first().bind("click",function()
{that.setPosition(that.position+1);});};project.ActionSliderBehaviour.prototype.animate=function()
{for(var i=0;i<this.li_elements.length;i++)
{var obj=this.animate_objects[i];if(obj.current_left<obj.target_left)
{obj.current_left=Math.ceil(obj.current_left-(obj.current_left-obj.target_left)*0.1);obj.el.css("left",obj.current_left);}
else if(obj.current_left>obj.target_left)
{obj.current_left=Math.floor(obj.current_left-(obj.current_left-obj.target_left)*0.1);obj.el.css("left",obj.current_left);}}};project.ActionSliderBehaviour.prototype.setPosition=function(position)
{if(position===this.li_elements_length||position===-1)
{return;}
this.position=position;for(var i=0;i<this.li_elements.length;i++)
{this.animate_objects[i].target_left=this.element_size.x*i-this.element_size.x*this.position;}
this.page_counter.text((this.position+1)+"/"+this.li_elements.length);};JsBehaviourToolkit.registerHandler("action_slider",project.ActionSliderBehaviour);})(jQuery)
