var FOTO={};var SKEL={};SKEL.EFFECTS={};FOTO.Slider={bucket:{},imageCache:{},loadingURL:"setup/images/slider/spinner.gif",baseURL:"setup/images/slider/props/",thumbURL:"t_{ID}.jpg",mainURL:"f_{ID}.jpg",duration:5000,data:{},getUrlFromId:function(b,c,a){if(this.bucket[b]!=null&&this.bucket[b][c]!=null){if(a&&this.bucket[b][c]["thumb"]!=null){return this.baseURL+this.bucket[b][c]["thumb"]}else{if(!a&&this.bucket[b][c]["main"]!=null){return this.baseURL+this.bucket[b][c]["main"]}}}if(a){return this.baseURL+this.thumbURL.replace("{ID}",c)}return this.baseURL+this.mainURL.replace("{ID}",c)},getCaptionFromId:function(a,b){if(this.bucket[a]!=null&&this.bucket[a][b]!=null){return this.bucket[a][b]["caption"]}},importBucketFromIds:function(a,b){this.bucket[a]=new Object();for(i in b){this.bucket[a][b[i]]=new Object()}},buildThumbBar:function(c,d){if(this.bucket[c]==null){return false}var f=0;for(i in this.bucket[c]){var e=$(document.createElement("div"));e.attr("imageid",i);e.attr("slot",f++);e.addClass("photoslider_thumb");var b=document.createElement("img");b.src=this.getUrlFromId(c,i,true);e.append(b);$(d).append(e)}var a=document.createElement("div");$(a).addClass("photoslider_clear");$(d).css("width",((f+1)*this.data[c]["thumbWidth"])+"px");$(d).append(a)},reload:function(j){if(this.data[j]==null){this.data[j]=new Object()}this.data[j]["thumbWidth"]=142;this.data[j]["paused"]=true;this.data[j]["currentSlot"]=0;this.data[j]["currentId"]=null;var h=$("#"+j);var b=$("#"+j+" .photoslider_main").get(0);if(b!=null){$(b).remove()}b=$(document.createElement("div"));b.addClass("photoslider_main");sliderMainImg=document.createElement("img");b.append(sliderMainImg);h.append(b);var k=$(document.createElement("div"));k.addClass("photoslider_caption");h.append(k);var e=$("#"+j+" .photoslider_nav").get(0);if(e!=null){$(e).remove()}e=$(document.createElement("div"));e.addClass("photoslider_nav");h.append(e);thumbBar=$(document.createElement("div"));thumbBar.addClass("photoslider_thumbBar");this.buildThumbBar(j,thumbBar);$(thumbBar).children(".photoslider_thumb").each(function(){$(this).click(function(l){FOTO.Slider.thumbClick(l)})});e.append(thumbBar);var c=$(document.createElement("div"));c.addClass("photoslider_control");var a=$(document.createElement("div"));a.addClass("photoslider_play");var f=$(document.createElement("div"));f.addClass("photoslider_stop");var d=$(document.createElement("div"));d.addClass("photoslider_clear");c.append(a).append(f).append(d);$(a).click(function(){if(FOTO.Slider.data[j]["paused"]){$(a).addClass("slideshow_disabled");$(f).removeClass("slideshow_disabled");FOTO.Slider.play(j)}});$(f).click(function(){if(!FOTO.Slider.data[j]["paused"]){$(f).addClass("slideshow_disabled");$(a).removeClass("slideshow_disabled")}FOTO.Slider.stop(j)});h.append(c);var g=$("#"+j+" .photoslider_thumb[@slot=0]");g.click()},thumbClick:function(h){var b=null;if(h.currentTarget){b=$(h.currentTarget)}else{if(h.srcElement){if($(h.srcElement).attr("src")==null){b=$(h.srcElement)}else{b=$(h.srcElement).parent()}}else{if(h.target){b=$(h.target)}}}var d=b.attr("imageid");var g=b.parent();var a=g.parent();var k=a.parent();var m=k.attr("id");var j=b.attr("slot");if(d==null){d=0}if(j==null){j=0}if(d==this.data[m]["currentId"]){return false}this.resetTimer(m);this.setMainImage(m,d);if(this.data[m]["interval"]){SKEL.EFFECTS.Slide.stopByIntervalId(this.data[m]["interval"])}if(this.data[m]["intervalThumb"]){SKEL.EFFECTS.Slide.stopByIntervalId(this.data[m]["intervalThumb"])}if(this.data[m]["currentId"]!=null){SKEL.EFFECTS.Slide.animate($(".photoslider_thumb[@imageid="+this.data[m]["currentId"]+"]"),"top","20px","0px",500,SKEL.Transitions.quadOut)}this.data[m]["currentId"]=d;this.data[m]["currentSlot"]=j;this.data[m]["intervalThumb"]=SKEL.EFFECTS.Slide.animate(b,"top","0px","20px",250,SKEL.Transitions.quadOut);var f=this.findRelativePos(g.get(0));var l=parseInt($(a).css("width"));var e=Math.floor(l/this.data[m]["thumbWidth"]);var o=(l/2)-((+this.data[m]["thumbWidth"]*(j))+(this.data[m]["thumbWidth"]/2));var c=f.x+"px";var n=o+"px";this.data[m]["interval"]=SKEL.EFFECTS.Slide.animate(g,"left",c,n,1000,SKEL.Transitions.backOut)},setMainImage:function(b,d){var a=$("#"+b+" .photoslider_main");var c=$("#"+b+" .photoslider_main img").get(0);this.preload(this.getUrlFromId(b,d,false),FOTO.Slider.displayMainImage,{key:b,id:d})},displayMainImage:function(c){var j=($(this).get())[0].src;var e=this.args;var g=e.key;var a=e.id;var b=$("#"+g+" .photoslider_main");var d=$("#"+g+" .photoslider_main img").get(0);var h=$("#"+g+" .photoslider_caption");var f=FOTO.Slider.getCaptionFromId(g,a);if(f==null){f="&nbsp;"}h.html(f);$(d).attr("src",j)},preload:function(b,c,a){var d=document.createElement("img");if(c){d.onload=c}if(a){d.args=a}d.src=b;this.imageCache[b]=d;return d},enableSlideshow:function(a){$("#"+a+" .photoslider_control").css("display","block");this.data[a]["slideshow"]=true},preloadImages:function(a){if(this.bucket[a]!=null&&this.bucket[a][1]!=null){this.preload(this.getUrlFromId(a,1,false),FOTO.Slider.preloadImageChain,{key:a,slot:1})}},preloadImageChain:function(){var a=this.args;var b=a.key;var c=parseInt(a.slot)+1;if(FOTO.Slider.bucket[b]!=null&&FOTO.Slider.bucket[b][c]!=null){FOTO.Slider.preload(FOTO.Slider.getUrlFromId(b,c,false),FOTO.Slider.preloadImageChain,{key:b,slot:c})}},findAbsolutePos:function(e){var a=0,d=0;var c=/^div$/i.test(e.tagName);if(c&&e.scrollLeft){a=e.scrollLeft}if(c&&e.scrollTop){d=e.scrollTop}var f={x:e.offsetLeft-a,y:e.offsetTop-d};f.width=e.offsetWidth;f.height=e.offsetHeight;if(e.offsetParent){var b=this.findAbsolutePos(e.offsetParent);f.x+=b.x;f.y+=b.y}return f},findRelativePos:function(e){var a=0,d=0;var c=/^div$/i.test(e.tagName);if(c&&e.scrollLeft){a=e.scrollLeft}if(c&&e.scrollTop){d=e.scrollTop}var f={x:e.offsetLeft-a,y:e.offsetTop-d};f.width=e.offsetWidth;f.height=e.offsetHeight;if(e.offsetParent){if($(e.offsetParent).css("position")!="relative"){var b=this.findRelativePos(e.offsetParent);f.x+=b.x;f.y+=b.y}else{f.x+=0;f.y+=0}}return f},cycleImage:function(b){var c=parseInt(parseInt(this.data[b]["currentSlot"])+1);var a=$("#"+b+" .photoslider_thumb[@slot="+c+"]").get(0);if(a==null){a=$("#"+b+" .photoslider_thumb[@slot=0]").get(0);if(a==null){this.data[b]["paused"]=true;return false}}$(a).click()},play:function(a){if(this.data[a]["paused"]){this.data[a]["intervalCycle"]=setInterval(function(){FOTO.Slider.cycleImage(a)},FOTO.Slider.duration)}this.data[a]["paused"]=false},stop:function(a){this.data[a]["paused"]=true;if(this.data[a]["intervalCycle"]){clearInterval(this.data[a]["intervalCycle"])}},resetTimer:function(a){if(!this.data[a]["paused"]&&this.data[a]["intervalCycle"]){this.stop(a);this.play(a)}}};SKEL.Transitions={quadOut:function(e,a,g,f){return -g*(e/=f)*(e-2)+a},backOut:function(e,a,h,g,f){if(!f){f=1.70158}return h*((e=e/g-1)*e*((f+1)*e+f)+1)+a}};SKEL.EFFECTS.Slide={counter:0,fps:50,animate:function(a,g,f,e,c,d){if(a.css("display")!="block"){a.skel_old_display=a.css("display")}if(!d){d=SKEL.Transitions.quadOut}SKEL.EFFECTS.Slide.stop(a);var b=new Date().getTime();a.skel_animate_id=setInterval(function(){SKEL.EFFECTS.Slide.step(a,g,f,e,c,b,d)},(1000/SKEL.EFFECTS.Slide.fps));return a.skel_animate_id},stop:function(a){if(a.skel_animate_id){clearInterval(a.skel_animate_id);a.skel_animate_id=0;if(a.skel_old_display){a.css("display",a.skel_old_display)}}},stopByIntervalId:function(a){if(a){clearInterval(a)}},step:function(g,a,k,l,f,c,j){var d=new Date().getTime();if(a=="color"||a=="background-color"){k=this.hexToRgb(k);l=this.hexToRgb(l)}else{var n=this.splitValue(k);var h=n.prefix;if(h=="-"){h=""}var m=n.postfix;k=parseInt(k);l=parseInt(l)}var b=SKEL.EFFECTS.Slide.compute(d,k,l,f,c,j);var e=false;if(d>(c+f)){e=true}if(a=="color"||a=="background-color"){b=this.rgbToHex(b)}else{b=h+Math.round(b)+m}if(e){SKEL.EFFECTS.Slide.stop(g)}g.css(a,b)},compute:function(e,h,g,d,c,f){var b=e-c;if(e>(c+d)){return g}else{if(typeof(h)=="object"){var a=Array();h.forEach(function(k,j){newFrom=k;newTo=g[j];newValue=f(b,newFrom,(newTo-newFrom),d);a[j]=Math.round(newValue)});return a}else{return f(b,h,(g-h),d)}}},hexToRgb:function(b){var a=b.match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);if(a){if(a[1]!=""){a[1]=parseInt(a[1],16);a[2]=parseInt(a[2],16);a[3]=parseInt(a[3],16)}}return(a)?a.slice(1):false},rgbToHex:function(a){if(a.length<3){return false}if(a[3]&&(a[3]==0)&&!a){return"transparent"}var c=[];for(var b=0;b<3;b++){var d=(a[b]-0).toString(16);c.push((d.length==1)?"0"+d:d)}return"#"+c.join("")},splitValue:function(b){result={prefix:"",postfix:"",value:""};if(b!=""){var a=b.match(/([^0-9]*)([0-9]+)([^0-9]*)/);result={prefix:a[1],postfix:a[3],value:a[2]}}return result}};
