// PHOTOGALLERY ROTATING SLIDESHOW PLUG-IN
// @author Joel Grannas - Creative Director, Schoolwires, Inc. 
// Last updated on 2/1/2012

(function($){$.fn.galleryRotate=function(settings){var config={delay:8,fadeSpeed:4,random:"no",useTitles:"no",useDescriptions:"no",useLinks:"no",controls:"no",itemize:"no",itemizeThumbs:"no","static":"no",customClass:"no",removeStyles:"no",overlay:"no",hoverPause:"no",width:"100",height:"100"};if(settings){$.extend(config,settings)}return this.each(function(index,list){function moveToItem(a){if(!$("div.animating",myContainer).size()){$(".imgHolder.active",myContainer).removeClass("active");$(".imgHolder.next",myContainer).removeClass("next");$(".imgHolder",myContainer).eq(a).addClass("active");if($(".imgHolder.active",myContainer).next().size()){$(".imgHolder.active",myContainer).next().addClass("next")}else{$(".imgHolder:first",myContainer).addClass("next")}setZindexes();if(config.useLinks=="yes"&&config.overlay=="yes"){$("a.link-overlay",myContainer).attr("href",$(".imgHolder.active a",myContainer).attr("href"))}if(config.itemize=="yes"){$("li.button.bullet",myContainer).removeClass("active");$("li.button.bullet",myContainer).eq(a).addClass("active")}}}function rotateImages(){if(!$("imgHolder.next",myContainer).prev().hasClass("loading")){$(".button",myContainer).addClass("animating");if(config.itemize=="yes"){$("li.button.bullet",myContainer).removeClass("active")}$("a.link-overlay",myContainer).removeAttr("href").removeAttr("target");$(".imgHolder.active",myContainer).fadeOut(config.fadeSpeed*1e3,function(){$(this).removeClass("active");$(".imgHolder.next",myContainer).addClass("active").removeClass("next");if($(".imgHolder.active",myContainer).next().size()){$(".imgHolder.active",myContainer).next().addClass("next")}else{$(".imgHolder",myContainer).eq(0).addClass("next")}setZindexes();$(".button",myContainer).removeClass("animating");$(this).show();if(config.useLinks=="yes"&&config.overlay=="yes"){$("a.link-overlay",myContainer).attr("href",$(".imgHolder.active a",myContainer).attr("href")).attr("target",$(".imgHolder.active a",myContainer).attr("target"))}if(config.itemize=="yes"){var a=$(this).siblings(".active").index();$("li.button.bullet",myContainer).eq(a).addClass("active")}})}}function killTimer(){if(hoverTimeOutVar){window.clearTimeout(hoverTimeOutVar)}window.clearInterval(timeOutVar);window.clearInterval(rotateTimerVar)}function rotateTimer(){rotateTimerVar=setInterval(function(){rotateImages()},config.delay*1e3)}function itemize(){$("div.button.next",myContainer).hover(function(){});$("div.button.next",myContainer).click(function(){if(!$(this).hasClass("animating")){var a=$(".imgHolder.active",myContainer).index()+1;if($(".imgHolder.active",myContainer).index()+1>totalFiles-1){a=0}moveToItem(a)}});$("div.button.back",myContainer).click(function(){if(!$(this).hasClass("animating")){var a=$(".imgHolder.active",myContainer).index()-1;if($(".imgHolder.active",myContainer).index()-1<0){a=totalFiles-1}moveToItem(a)}});$("li.button.bullet",myContainer).live("click",function(){moveToItem($(this).index())})}function addControls(){$("div.button.toggle",myContainer).click(function(){if($(this).hasClass("play")){rotateImages();rotateTimer();$(this).removeClass("play").addClass("pause")}else{killTimer();$(this).removeClass("pause").addClass("play")}});$("div.button.next",myContainer).hover(function(){});$("div.button.next",myContainer).click(function(){if(!$(this).hasClass("animating")){var a=$(".imgHolder.active",myContainer).index()+1;if($(".imgHolder.active",myContainer).index()+1>totalFiles-1){a=0}moveToItem(a)}});$("div.button.back",myContainer).click(function(){if(!$(this).hasClass("animating")){var a=$(".imgHolder.active",myContainer).index()-1;if($(".imgHolder.active",myContainer).index()-1<0){a=totalFiles-1}moveToItem(a)}})}function setZindexes(){$(".imgHolder",myContainer).css("z-index","-1");$(".imgHolder.active",myContainer).css("z-index","2");$(".imgHolder.next",myContainer).css("z-index","1")}function loadImage(a){if(currentFile<totalFiles){if(config.removeStyles=="no"){var b={margin:"0px",padding:"0px",position:"absolute",top:"0px",left:"0px"}}else{var b={}}var c=myContainer+" ul.pictures";switch(currentFile){case 0:$("<li class='imgHolder loading "+myID+" active' style='z-index:2' />").css(b).appendTo(c);break;case 1:$("<li class='imgHolder loading "+myID+" next' style='z-index:1' />").css(b).appendTo(c);break;default:$("<li class='imgHolder loading "+myID+"' style='z-index:0' />").css(b).appendTo(c)}var d=$("li.imgHolder:last",myContainer);if(config.itemize=="yes"){if(currentFile==0){$("ul.bullets-container",myContainer).append("<li class='button bullet bullet"+currentFile+" loading active'></li>")}else{$("ul.bullets-container",myContainer).append("<li class='button bullet bullet"+currentFile+" loading'></li>")}}$("<img src='"+a[currentFile][0]+"' />").load(function(){$(this).appendTo(d);var b=$(this).width();var c=$(this).height();if(c<config.height){var e=config.height/c*c;$(this).css({height:e,width:b})}if(b<config.width){var f=config.width/b*b;$(this).css({width:f,height:c})}$(d).removeClass("loading").show();if(config.useTitles=="yes"||config.useDescriptions=="yes"){$(d).append("<div class='text-container'></div>")}if(config.useTitles=="yes"){if(config.useLinks=="yes"){$(".text-container",d).append("<a href='"+a[currentFile][3]+"'><h5 class='img-title'>"+a[currentFile][1]+"</h5></a>")}else{$(".text-container",d).append("<h5 class='img-title'>"+a[currentFile][1]+"</h5>")}}if(config.useDescriptions=="yes"){var g=$.trim(a[currentFile][2]);if(g==""&&config.useTitles=="no"){$(".text-container",d).remove()}else{$(".text-container",d).append("<span class='img-desc'>"+a[currentFile][2]+"</span>")}}if(config.useLinks=="yes"){if(a[currentFile][3]!=""){$(this).wrap("<a href='"+a[currentFile][3]+"' target='"+a[currentFile][5]+"'></a>")}else{$(this).wrap("<a href='#' target='_self'></a>")}}if(currentFile==0&&config.useLinks=="yes"&&config.overlay=="yes"){if(a[currentFile][3]!=""){$("a.link-overlay",myContainer).attr("href",a[currentFile][3]).attr("target",a[currentFile][5])}else{$("a.link-overlay",myContainer).attr("href","#").attr("target","_self")}}if(config.itemize=="yes"){$("li.button.bullet",myContainer).eq(currentFile).removeClass("loading");if(config.itemizeThumbs=="yes"){$("li.button.bullet",myContainer).eq(currentFile).append("<div class='itemize-thumb'><img src='"+a[currentFile][0]+"'/></div>")}}currentFile++;loadImage(a);if(currentFile==1&&config.static=="no"){timeOutVar=setTimeout(function(){rotateImages();rotateTimer()},config.delay*1e3)}})}}function buildArray(){var a=new Array;$.each(myJSON.Album.Images,function(b){a[b]=new Array;var c=myJSON.Album.Images[b].src.split("?");var d=c[0];a[b][0]=myJSON.Album.lgpath+d;a[b][1]=myJSON.Album.Images[b].photoname;a[b][2]=myJSON.Album.Images[b].caption;a[b][3]=myJSON.Album.Images[b].link;a[b][4]=myJSON.Album.Images[b].target});if(config.random=="yes"){a=a.sort(function(){return.5-Math.random()})}return a}function buildStructure(){var a={position:"relative","list-style":"none",margin:"0px",padding:"0px"};var b="<div id='"+myContainer.replace("#","")+"' class='joel-rotate-container'>"+"\t<ul class='pictures'></ul>"+"</div>";$(element).parent().parent().append(b);if(config.overlay=="yes"){if(config.useLinks=="yes"){$(myContainer).append("<a class='link-overlay'></a>")}else{$(myContainer).append("<div class='overlay'></div>")}}if(config.removeStyles=="no"){$("ul.pictures",myContainer).css(a)}if(config.customClass=="yes"){$(myContainer).addClass(config.customClass)}if(config.controls=="yes"){$(myContainer).append("<div class='controls-container'><div class='button back'></div><div class='button toggle pause'></div><div class='button next'></div></div>");addControls()}if(config.itemize=="yes"){$(myContainer).append("<div class='itemize-container ui-clear'><div class='button back'></div><ul class='bullets-container ui-clear'></ul><div class='button next'></div></div>");if(config.itemizeThumbs=="yes"){$("div.itemize-container",myContainer).addClass("with-thumbs")}itemize()}if(config.hoverPause=="yes"){$(myContainer).mouseenter(function(){killTimer()});$(myContainer).mouseleave(function(){if($("div.button.toggle",myContainer).hasClass("pause")){hoverTimeOutVar=setTimeout(function(){rotateImages();rotateTimer()},config.delay/2*1e3)}})}var c=buildArray();loadImage(c)}var element=this;$(element).hide();var myID=$(element).parent().parent().attr("id").replace("pmi-","");var myJSON=eval("photoGallery"+myID);var totalFiles=myJSON.Album.Images.length;config.delay=parseInt(myJSON.Album.transitiondelay);if(config.delay<5){config.delay=5}if(config.fadeSpeed>4){config.fadeSpeed=4}var myContainer="#rotate-container-"+myID;var rotateTimerVar=null;var hoverTimeOutVar=null;var timeOutVar=null;var currentFile=0;if(totalFiles>0){buildStructure()}})}})(jQuery)
