﻿var slider_timer=7000;Instances=new Array();UsedClass=new Array();function Parameters(s,p){this.s=s;this.p=p}$.fn.slider=function(settings){settings=$.extend({showHeadline:false,newsHeadline:"",newsSpeed:"normal",numberOfItemToSlide:1,baseClassName:".news_slider",counterActClass:"",counterTotalClass:"",autoSlide:true,hideButtonClassesWhenAlone:""},settings);for(var i=0;i<UsedClass.length;i++){if(UsedClass[i]==settings.baseClassName){return null}}UsedClass[UsedClass.length]=settings.baseClassName;return this.each(function(i){NewsSlider.init(settings,this,i);$(".view_all > a",this).click(function(){NewsSlider.vAll(settings,this);return false})})};var NewsSlider={init:function(s,p,i){$(".messaging",p).css("display","none");this.id=Instances.length;this.s=s;this.p=p;Instances[this.id]=new Parameters(this.s,this.p);$(".next",p).css("display","block");var nbr_items=$(".item",p).length;switch(true){case (nbr_items==0):$(p).css("display","none");return false;case (nbr_items<=s.numberOfItemToSlide):if(s.hideButtonClassesWhenAlone!=""){$(s.hideButtonClassesWhenAlone,p).hide()}break}s.itemWidth=parseInt($(".item:eq(0)",p).css("width"))+parseInt($(".item:eq(0)",p).css("margin-right"));s.itemLength=$(".item",p).length;if(s.showHeadline&&$(".view_all",p).width()==null){$(".slider_items",p).prepend("<p class='view_all'>"+s.newsHeadline+" [ "+s.itemLength+" total ] &nbsp;-&nbsp; <a href='#'>View All</a></p>")}newsContainerWidth=s.itemLength*s.itemWidth;$(".container",p).css("width",newsContainerWidth+"px");s.animating=false;refreshTotal(s,p,NewsSlider);refreshCounter(s,p,NewsSlider);$(".next",p).click(function(){NewsSlider.next(s,p,false);return false});$(".prev",p).click(function(){NewsSlider.previous(s,p,false);return false});if(s.autoSlide){var tmp_id=this.id;NewsSlider.set_interval(tmp_id,s);$(p).hover(function(){clearInterval(s.thread)},function(){NewsSlider.set_interval(tmp_id,s)})}},vAll:function(s,p){var o=p;while(p){p=p.parentNode;if($(p).attr("class")!=undefined&&$(p).attr("class").indexOf(settings.baseClassName.substr(1))!=-1){break}}if($(o).text().indexOf("View All")!=-1){$(".next",p).css("display","none");$(".prev",p).css("display","none");$(o).text("View Less");$(".container",p).css("left","0px").css("width",s.itemWidth*s.numberOfItemToSlide+"px")}else{$(o).text("View All");NewsSlider.init(s,p)}},next:function(s,p,auto_return){if(s.animating==false){s.animating=true;s.animateLeft=parseInt($(".container",p).css("left"))-(s.itemWidth*s.numberOfItemToSlide);if(s.animateLeft+parseInt($(".container",p).css("width"))>0){NewsSlider.slide_right(s,p,".prev")}else{if(auto_return&&(s.animateLeft+parseInt(jQuery(".container",p).css("width")))<=parseInt(jQuery(".container",p).css("width"))){s.animateLeft=0;NewsSlider.slide_left(s,p)}else{s.animating=false}}}},previous:function(s,p){if(s.animating==false){s.animating=true;s.animateLeft=parseInt($(".container",p).css("left"))+(s.itemWidth*s.numberOfItemToSlide);if((s.animateLeft+parseInt($(".container",p).css("width")))<=parseInt($(".container",p).css("width"))){NewsSlider.slide_left(s,p)}else{s.animating=false}}},slide_right:function(s,p){$(".container",p).animate({left:s.animateLeft},{speed:s.newsSpeed,queue:true,complete:function(){$(this).css("left",s.animateLeft);if(parseInt($(".container",p).css("left"))+parseInt($(".container",p).css("width"))<=s.itemWidth*s.numberOfItemToSlide){$(".next",p).css("display","none")}refreshCounter(s,p,NewsSlider);$(".prev",p).css("display","block");s.animating=false}})},slide_left:function(s,p){$(".container",p).animate({left:s.animateLeft},{speed:s.newsSpeed,queue:true,complete:function(){$(this).css("left",s.animateLeft);if(parseInt($(".container",p).css("left"))==0){$(".prev",p).css("display","none")}refreshCounter(s,p,NewsSlider);$(".next",p).css("display","block");s.animating=false}})},slide_call:function(ins){NewsSlider.next(ins.s,ins.p,true)},set_interval:function(index,s){s.thread=setInterval("NewsSlider.slide_call(Instances["+index+"])",slider_timer)}};function refreshCounter(s,p,NewsSlider){if(s.counterActClass!=""){var left=(parseInt($(".container",p).css("left")));var act_item=Math.round((left*-1)/s.itemWidth)+1;$(s.counterActClass,p).html(act_item)}}function refreshTotal(s,p,NewsSlider){if(s.counterTotalClass!=""){var total_items=Math.round(parseInt($(".container",p).css("width"))/s.itemWidth);$(s.counterTotalClass,p).html(total_items)}};
