//** Simple Controls Gallery- (c) Dynamic Drive DHTML code library: http://www.dynamicdrive.com
//** Dec 7th, 08'- Script created (Requires jquery 1.2.x)
//** February 6th, 09'- Updated to v 1.3:
	//1) Adds Description Panel to optionally show a textual description for each slide
	//2) In Auto Play mode, you can now set the number of cycles before gallery stops.
	//3) Inside oninit() and onslide(), keyword "this" now references the current gallery instance


var simpleGallery_navpanel={
	panel: {height:'45px', opacity:0.5, paddingTop:'5px', fontStyle:'bold 11px Verdana'}, //customize nav panel container
	images: [ '/Images/script/img-gallery-buttons/left.gif', '/Images/script/img-gallery-buttons/play.gif', '/Images/script/img-gallery-buttons/right.gif', '/Images/script/img-gallery-buttons/pause.gif'], //nav panel images (in that order)
	imageSpacing: {offsetTop:[-4, 0, -4], spacing:10}, //top offset of left, play, and right images, PLUS spacing between the 3 images
	slideduration: 500 //duration of slide up animation to reveal panel
}

function simpleGallery(a){this.setting=a;a=null;a=this.setting;a.panelheight=parseInt(a.navpanelheight)>5?parseInt(a.navpanelheight):parseInt(simpleGallery_navpanel.panel.height);a.fadeduration=parseInt(a.fadeduration);a.curimage=a.persist?simpleGallery.routines.getCookie("gallery-"+a.wrapperid):0;a.curimage=a.curimage||0;a.ispaused=!a.autoplay[0];a.currentstep=0;a.totalsteps=a.imagearray.length*a.autoplay[2];a.fglayer=0;a.bglayer=1;a.oninit=a.oninit||function(){};a.onslide=a.onslide||function(){};
var c=[];a.longestdesc="";for(var b=0;b<a.imagearray.length;b++){c[b]=new Image;c[b].src=a.imagearray[b][0];if(a.imagearray[b][3]&&a.imagearray[b][3].length>a.longestdesc.length)a.longestdesc=a.imagearray[b][3]}var d=this;jQuery(document).ready(function(g){var e=d.setting;e.$wrapperdiv=g("#"+e.wrapperid).css({position:"relative",visibility:"visible",background:"black",overflow:"hidden",width:e.dimensions[0],height:e.dimensions[1]}).empty();if(e.$wrapperdiv.length==0)alert('Error: DIV with ID "'+e.wrapperid+
'" not found on page.');else{e.$gallerylayers=g('<div class="gallerylayer"></div><div class="gallerylayer"></div>').css({position:"absolute",left:0,top:0}).appendTo(e.$wrapperdiv);e.gallerylayers=e.$gallerylayers.get();e.navbuttons=simpleGallery.routines.addnavpanel(e);if(e.longestdesc!="")e.descdiv=simpleGallery.routines.adddescpanel(e);g(e.navbuttons).filter("img.navimages").css({opacity:0.8}).bind("mouseover mouseout",function(f){g(this).css({opacity:f.type=="mouseover"?1:0.8})}).bind("click",
function(f){f=f.target.title.toLowerCase();d.navigate(f)});e.$wrapperdiv.bind("mouseenter",function(){d.showhidenavpanel("show")});e.$wrapperdiv.bind("mouseleave",function(){d.showhidenavpanel("hide")});d.showslide(e.curimage);e.oninit.call(d);g(window).bind("unload",function(){g(d.setting.navbuttons).unbind();d.setting.persist&&simpleGallery.routines.setCookie("gallery-"+e.wrapperid,e.curimage);jQuery.each(d.setting,function(f){if(d.setting[f]instanceof Array)for(var h=0;h<d.setting[f].length;h++){if(d.setting[f][h].tagName==
"DIV")d.setting[f][h].innerHTML=null;d.setting[f][h]=null}if(d.setting[f].innerHTML)d.setting[f].innerHTML=null;d.setting[f]=null});d=d.setting=null})}})}
simpleGallery.prototype={navigate:function(a){clearTimeout(this.setting.playtimer);this.setting.totalsteps=1E5;if(isNaN(parseInt(a)))if(/(prev)|(next)/i.test(a))this.showslide(a.toLowerCase());else{var c=this;a=$(this.setting.navbuttons).eq(1);if(this.setting.ispaused){if(this.setting.ispaused){this.setting.autoplay[0]=true;this.setting.playtimer=setTimeout(function(){c.showslide("next")},this.setting.autoplay[1]);a.attr({title:"Pause",src:simpleGallery_navpanel.images[3]})}}else{this.setting.autoplay[0]=
false;a.attr({title:"Play",src:simpleGallery_navpanel.images[1]})}c.setting.ispaused=!c.setting.ispaused}else this.showslide(parseInt(a))},showslide:function(a){var c=this,b=c.setting,d=b.imagearray.length;a=a=="next"?b.curimage<d-1?b.curimage+1:0:a=="prev"?b.curimage>0?b.curimage-1:d-1:Math.min(a,d-1);b.gallerylayers[b.bglayer].innerHTML=simpleGallery.routines.getSlideHTML(b.imagearray[a]);b.$gallerylayers.eq(b.bglayer).css({zIndex:201,opacity:0}).stop().css({opacity:0}).animate({opacity:1},b.fadeduration,
function(){clearTimeout(b.playtimer);b.gallerylayers[b.bglayer].innerHTML=null;try{b.onslide.call(c,b.gallerylayers[b.fglayer],b.curimage)}catch(g){alert('Simple Controls Gallery: An error has occured somwhere in your code attached to the "onslide" event: '+g)}b.currentstep+=1;if(b.autoplay[0])if(b.currentstep<=b.totalsteps)b.playtimer=setTimeout(function(){c.showslide("next")},b.autoplay[1]);else c.navigate("play/pause")});b.gallerylayers[b.fglayer].style.zIndex=200;b.fglayer=b.bglayer;b.bglayer=
b.bglayer==0?1:0;b.curimage=a;b.navbuttons[3].innerHTML=b.curimage+1+"/"+b.imagearray.length;if(b.imagearray[a][3]){b.$descpanel.css({visibility:"visible"});b.descdiv.innerHTML=b.imagearray[a][3]}else if(b.longestdesc!=""){b.descdiv.innerHTML=null;b.$descpanel.css({visibility:"hidden"})}},showhidenavpanel:function(a){var c=this.setting,b=a=="show"?c.dimensions[1]-c.panelheight:this.setting.dimensions[1];c.$navpanel.stop().animate({top:b},simpleGallery_navpanel.slideduration);c.longestdesc!=""&&this.showhidedescpanel(a)},
showhidedescpanel:function(a){var c=this.setting;a=a=="show"?0:-c.descpanelheight;c.$descpanel.stop().animate({top:a},simpleGallery_navpanel.slideduration)}};
simpleGallery.routines={getSlideHTML:function(a){var c=a[1]?'<a href="'+a[1]+'" target="'+a[2]+'">\n':"";c+='<img src="'+a[0]+'" style="border-width:0" />';c+=a[1]?"</a>":"";return c},addnavpanel:function(a){for(var c="",b=0;b<3;b++)c+='<img class="navimages" title="'+(b==0?"Prev":b==1?a.ispaused?"Play":"Pause":"Next")+'" src="'+(b==1?simpleGallery_navpanel.images[a.ispaused?1:3]:simpleGallery_navpanel.images[b])+'" style="'+("position:relative; border:0; cursor:hand; cursor:pointer; top:"+simpleGallery_navpanel.imageSpacing.offsetTop[b]+
"px; margin-right:"+(b!=2?simpleGallery_navpanel.imageSpacing.spacing+"px":0))+'" /> ';c+='<div class="gallerystatus" style="margin-top:1px">'+(a.curimage+1)+"/"+a.imagearray.length+"</div>";a.$navpanel=$('<div class="navpanellayer"></div>').css({position:"absolute",width:"100%",height:a.panelheight,left:0,top:a.dimensions[1],font:simpleGallery_navpanel.panel.fontStyle,zIndex:"201"}).appendTo(a.$wrapperdiv);$('<div class="navpanelbg"></div><div class="navpanelfg"></div>').css({position:"absolute",
left:0,top:0,width:"100%",height:"100%"}).eq(0).css({background:"black",opacity:simpleGallery_navpanel.panel.opacity}).end().eq(1).css({paddingTop:simpleGallery_navpanel.panel.paddingTop,textAlign:"center",color:"white"}).html(c).end().appendTo(a.$navpanel);return a.$navpanel.find("img.navimages, div.gallerystatus").get()},adddescpanel:function(a){a.$descpanel=$('<div class="gallerydesc"><div class="gallerydescbg"></div><div class="gallerydescfg"><div class="gallerydesctext"></div></div></div>').css({position:"absolute",
width:"100%",left:0,top:-1000,zIndex:"201"}).find("div").css({position:"absolute",left:0,top:0,width:"100%"}).eq(0).css({background:"black",opacity:simpleGallery_navpanel.panel.opacity}).end().eq(1).css({color:"white"}).end().eq(2).html(a.longestdesc).end().end().appendTo(a.$wrapperdiv);var c=a.$descpanel.find("div.gallerydesctext");a.descpanelheight=c.outerHeight();a.$descpanel.css({top:-a.descpanelheight,height:a.descpanelheight}).find("div").css({height:"100%"});return a.$descpanel.find("div.gallerydesctext").get(0)},
getCookie:function(a){a=new RegExp(a+"=[^;]+","i");if(document.cookie.match(a))return document.cookie.match(a)[0].split("=")[1];return null},setCookie:function(a,c){document.cookie=a+"="+c+";path=/"}};
