var stepcarousel={ajaxloadingmsg:'<div style="margin: 1em; font-weight: bold"><img src="ajaxloadr.gif" style="vertical-align: middle" /> Fetching Content. Please wait...</div>',defaultbuttonsfade:.4,configholder:{},getCSSValue:function(a){return a=="auto"?0:parseInt(a)},getremotepanels:function(a,b){b.$belt.html(this.ajaxloadingmsg);a.ajax({url:b.contenttype[1],async:true,error:function(a){b.$belt.html("Error fetching content.<br />Server Response: "+a.responseText)},success:function(c){b.$belt.html(c);b.$panels=b.$gallery.find("."+b.panelclass);stepcarousel.alignpanels(a,b)}})},getoffset:function(a,b){return a.offsetParent?a[b]+this.getoffset(a.offsetParent,b):a[b]},getCookie:function(a){var b=new RegExp(a+"=[^;]+","i");if(document.cookie.match(b))return document.cookie.match(b)[0].split("=")[1];return null},setCookie:function(a,b){document.cookie=a+"="+b},fadebuttons:function(a,b){a.$leftnavbutton.fadeTo("fast",b==0?this.defaultbuttonsfade:1);a.$rightnavbutton.fadeTo("fast",b==a.lastvisiblepanel?this.defaultbuttonsfade:1)},addnavbuttons:function(a,b){a.$leftnavbutton=$('<img src="'+a.defaultbuttons.leftnav[0]+'">').css({zIndex:50,position:"absolute",left:a.offsets.left+a.defaultbuttons.leftnav[1]+"px",top:a.offsets.top+a.defaultbuttons.leftnav[2]+"px",cursor:"hand",cursor:"pointer"}).attr({title:"Back "+a.defaultbuttons.moveby+" panels"}).appendTo("body");a.$rightnavbutton=$('<img src="'+a.defaultbuttons.rightnav[0]+'">').css({zIndex:50,position:"absolute",left:a.offsets.left+a.$gallery.get(0).offsetWidth+a.defaultbuttons.rightnav[1]+"px",top:a.offsets.top+a.defaultbuttons.rightnav[2]+"px",cursor:"hand",cursor:"pointer"}).attr({title:"Forward "+a.defaultbuttons.moveby+" panels"}).appendTo("body");a.$leftnavbutton.bind("click",function(){stepcarousel.stepBy(a.galleryid,-a.defaultbuttons.moveby)});a.$rightnavbutton.bind("click",function(){stepcarousel.stepBy(a.galleryid,a.defaultbuttons.moveby)});if(a.panelbehavior.wraparound==false){this.fadebuttons(a,b)}},alignpanels:function(a,b){var c=0;b.paneloffsets=[c];b.panelwidths=[];b.$panels.each(function(d){var e=a(this);e.css({"float":"none",position:"absolute",left:c+"px"});e.bind("click",function(a){return b.onpanelclick(a.target)});c+=stepcarousel.getCSSValue(e.css("marginRight"))+parseInt(e.get(0).offsetWidth||e.css("width"));b.paneloffsets.push(c);b.panelwidths.push(c-b.paneloffsets[b.paneloffsets.length-2])});b.paneloffsets.pop();var d=0;var e=b.$panels.length-1;b.lastvisiblepanel=e;for(var f=b.$panels.length-1;f>=0;f--){d+=f==e?b.panelwidths[e]:b.paneloffsets[f+1]-b.paneloffsets[f];if(b.gallerywidth>d){b.lastvisiblepanel=f}}b.$belt.css({width:c+"px"});b.currentpanel=b.panelbehavior.persist?parseInt(this.getCookie(window[b.galleryid+"persist"])):0;b.currentpanel=typeof b.currentpanel=="number"&&b.currentpanel<b.$panels.length?b.currentpanel:0;if(b.currentpanel!=0){var g=b.paneloffsets[b.currentpanel]+(b.currentpanel==0?0:b.beltoffset);b.$belt.css({left:-g+"px"})}if(b.defaultbuttons.enable==true){this.addnavbuttons(b,b.currentpanel);a(window).bind("load, resize",function(){b.offsets={left:stepcarousel.getoffset(b.$gallery.get(0),"offsetLeft"),top:stepcarousel.getoffset(b.$gallery.get(0),"offsetTop")};b.$leftnavbutton.css({left:b.offsets.left+b.defaultbuttons.leftnav[1]+"px",top:b.offsets.top+b.defaultbuttons.leftnav[2]+"px"});b.$rightnavbutton.css({left:b.offsets.left+b.$gallery.get(0).offsetWidth+b.defaultbuttons.rightnav[1]+"px",top:b.offsets.top+b.defaultbuttons.rightnav[2]+"px"})})}this.statusreport(b.galleryid);b.oninit();b.onslideaction(this)},stepTo:function(a,b){var c=stepcarousel.configholder[a];if(typeof c=="undefined"){alert("There's an error with your set up of Carousel Viewer \""+a+'"!');return}var b=Math.min(b-1,c.paneloffsets.length-1);var d=c.paneloffsets[b]+(b==0?0:c.beltoffset);if(c.panelbehavior.wraparound==false&&c.defaultbuttons.enable==true){this.fadebuttons(c,b)}c.$belt.animate({left:-d+"px"},c.panelbehavior.speed,function(){c.onslideaction(this)});c.currentpanel=b;this.statusreport(a)},stepBy:function(a,b){var c=stepcarousel.configholder[a];if(typeof c=="undefined"){alert("There's an error with your set up of Carousel Viewer \""+a+'"!');return}var d=b>0?"forward":"back";var e=c.currentpanel+b;if(c.panelbehavior.wraparound==false){e=d=="back"&&e<=0?0:d=="forward"?Math.min(e,c.lastvisiblepanel):e;if(c.defaultbuttons.enable==true){stepcarousel.fadebuttons(c,e)}}else{e=e>c.paneloffsets.length-1||e<0&&e-b>0?0:e<0?c.paneloffsets.length+b:e}var f=c.paneloffsets[e]+(e==0?0:c.beltoffset);if(e==0&&d=="forward"||c.currentpanel==0&&d=="back"&&c.panelbehavior.wraparound==true){c.$belt.animate({left:-c.paneloffsets[c.currentpanel]-(d=="forward"?100:-30)+"px"},"normal",function(){c.$belt.animate({left:-f+"px"},c.panelbehavior.speed,function(){c.onslideaction(this)})})}else c.$belt.animate({left:-f+"px"},c.panelbehavior.speed,function(){c.onslideaction(this)});c.currentpanel=e;this.statusreport(a)},statusreport:function(a){var b=stepcarousel.configholder[a];var c=b.currentpanel;var d=0;for(var e=c;e<b.paneloffsets.length;e++){d+=b.panelwidths[e];if(d>b.gallerywidth){break}}c+=1;e=e+1==c?c:e;var f=[c,e,b.panelwidths.length];for(var g=0;g<b.statusvars.length;g++){window[b.statusvars[g]]=f[g];b.$statusobjs[g].text(f[g]+" ")}},setup:function(a){document.write('<style type="text/css">\n#'+a.galleryid+"{overflow: hidden;}\n</style>");jQuery(document).ready(function(b){a.$gallery=b("#"+a.galleryid);a.gallerywidth=a.$gallery.width();a.offsets={left:stepcarousel.getoffset(a.$gallery.get(0),"offsetLeft"),top:stepcarousel.getoffset(a.$gallery.get(0),"offsetTop")};a.$belt=a.$gallery.find("."+a.beltclass);a.$panels=a.$gallery.find("."+a.panelclass);a.onpanelclick=typeof a.onpanelclick=="undefined"?function(a){}:a.onpanelclick;a.onslideaction=typeof a.onslide=="undefined"?function(){}:function(c){b(c).stop();a.onslide()};a.oninit=typeof a.oninit=="undefined"?function(){}:a.oninit;a.beltoffset=stepcarousel.getCSSValue(a.$belt.css("marginLeft"));a.statusvars=a.statusvars||[];a.$statusobjs=[b("#"+a.statusvars[0]),b("#"+a.statusvars[1]),b("#"+a.statusvars[2])];a.currentpanel=0;stepcarousel.configholder[a.galleryid]=a;if(a.contenttype[0]=="ajax"&&typeof a.contenttype[1]!="undefined")stepcarousel.getremotepanels(b,a);else stepcarousel.alignpanels(b,a)});jQuery(window).bind("unload",function(){if(a.panelbehavior.persist){stepcarousel.setCookie(window[a.galleryid+"persist"],a.currentpanel)}jQuery.each(a,function(a,b){b=null});a=null})}}
