/*

	flash killin' javascript style by jsilvestris
	                                  http://x-industries.com
	                                  
	at least try giving credit if you're going to steal.
	100% by hand, 100% by heart

*/

var dom=document.getElementById;
var iex=document.all;
var ns4=document.layers;
document.currimg=0;
var currimg=1;
var nextZ=1;
document.speed=20;

getElement=function(name,nest){ /* squidfingers.com */
	nest=nest?'document.'+nest+'.':'';
	var el=dom?document.getElementById(name):iex?document.all[name]:ns4?eval(nest+'document.'+name):false;
	return el;
}

showHide=function(eid){
	var e=getElement(eid);
	if(e.style.display=="block"){e.style.display="none";}
	else e.style.display="block";
}

setOpacity=function(el){
	value=getElement(el).trgt;
	myCurrOpacity=(getElement(el).style.opacity)?getElement(el).style.opacity*10:0;
	if(myCurrOpacity!=value){
		myCurrOpacity=parseInt((myCurrOpacity-value)/1.5)+value;
		getElement(el).style.opacity=myCurrOpacity/10;
		if(iex)getElement(el).style.filter='alpha(opacity='+parseInt(myCurrOpacity*10)+')';
		if(value!=myCurrOpacity){setTimeout("setOpacity('"+el+"')",document.speed);}
		else{nextZ++; getElement("img"+currimg).style.zIndex=nextZ;}
	}
}

fadeShowHide=function(el){
	var obj=getElement(el);
	if(obj.style.opacity){obj.currOpacity=obj.style.opacity*10;}else obj.currOpacity=0;
	if(obj.currOpacity!=obj.trgt){
		var newVal=obj.trgt+(obj.currOpacity-obj.trgt)/1.2;
		if(newVal>9.99)newVal=10;
		if(newVal<0.1)newVal=0;
		obj.style.opacity=newVal/10;
		if(iex)obj.style.filter='alpha(opacity='+parseInt(newVal*10)+')';
		obj.style.display="block";
		if(obj.trgt!=obj.currOpacity){setTimeout("fadeShowHide('"+el+"')",document.speed); }
	}else if(obj.trgt==0){obj.style.display="none";}
	else if(obj.trgt>0){obj.style.display="block";}
}

message=function(txt){ getElement("message").innerHTML=txt; }

clickPhoto=function(photoID,photoLink){
	var viewAll=getElement("viewAll");
	viewAll.innerHTML="Slide Show";
	viewAll.style.backgroundImage="url(inc/img/play.gif)";
	viewAll.href="javascript:slideshow('play')";
	view(photoID,photoLink);
}

view=function(tid,file){
	//message(tid);
	if(!getElement("preloadImage")){
		preloader = document.createElement("div");
		preloader.id="preloadImage";
		preloader.style.position="absolute";
		preloader.style.top="-100px";
		preloader.style.width="40px";
		getElement("container").appendChild(preloader);
	}
	message("...loading");
	getElement("preloadImage").innerHTML = ('<img src="'+file+'" width="40" height="30" alt="loading image" onload="viewLoaded('+tid+',\''+file+'\');" />');
}

hideCaption=function(){
	getElement("captionBox").trgt=0;
	setTimeout('fadeShowHide("captionBox");',100);
}
showCaption=function(){
	getElement("captionBox").trgt=6;
	fadeShowHide("captionBox");
}

viewLoaded=function(tid,file){
	message("");
	if(getElement("description"+tid).innerHTML){
		getElement("captionBox").innerHTML=getElement("description"+tid).innerHTML;
	}else getElement("captionBox").innerHTML="";
	if(getElement("closeOpen").position=="full"){
		closeOpen();
		setTimeout('if(document.currimg=='+tid+'){getElement("closeOpen").position="empty";closeOpen();}',4000);
	}
	if(getElement("img1").style.zIndex<getElement("img2").style.zIndex)currimg=2;
	if(getElement("img"+currimg).style.backgroundImage!="url("+file+")"){
		getElement("img"+currimg).trgt=0;
		setOpacity("img"+currimg);
		getElement("img"+currimg).onmouseover=function(){};
		getElement("img"+currimg).onmouseout=function(){};
		if(currimg==1){currimg=2;}else currimg=1;
		getElement("img"+currimg).style.backgroundImage="url("+file+")";
		getElement("img"+currimg).trgt=10;
		setOpacity("img"+currimg);
	}
	if(getElement("captionBox").innerHTML!=""){
		getElement("captionBox").onmouseover=showCaption;
		getElement("captionBox").onmouseout=hideCaption;
		getElement("img"+currimg).onmouseover=showCaption;
		getElement("img"+currimg).onmouseout=hideCaption;
	}
	document.currimg = tid;
	var items,i;
	items=getElement("thumbnails").getElementsByTagName('a');
	for(i=0;i<items.length;i++){
		if(/thumbnail/.test(items[i].className)){
			if(tid==items[i].id){
				items[i].style.background="#141414";
				items[i].style.color="#fafafa";
				items[i].onmouseover=function(){}
				items[i].onmouseout=function(){}
			} else {
				items[i].style.background="#000";
				items[i].style.color="#eee";
				items[i].onmouseover=function(){this.style.background="#222"; this.style.color="#fff";}
				items[i].onmouseout=function(){this.style.background="#000"; this.style.color="#eee";}
			}
		}
	}
	var viewAll=getElement("viewAll");
	if(viewAll.innerHTML=="Pause") setTimeout('slideshow("next");',3000);
}

show=function(page){
	var groups,j;
	groups=getElement("thumbnails").getElementsByTagName('div');
	busyStop=false;
	for(j=0;j<groups.length;j++){
		if(/group/.test(groups[j].className)){
			if(groups[j].style.opacity*10!=groups[j].trgt&&groups[j].trgt) busyStop=true;
		}
	}
	if (!busyStop) {
		groupcount=0;
		groups=getElement("thumbnails").getElementsByTagName('div');
		for(j=0;j<groups.length;j++){
			if(/group/.test(groups[j].className)){
				if(groups[j].id!="group"+page){groups[j].trgt=0;fadeShowHide(groups[j].id);}
				else{groups[j].trgt=10;setTimeout('fadeShowHide("'+groups[j].id+'");',800);}
				groupcount++;
			}
		}
		var nextButton=getElement("nextButton");
				nextButton.href='javascript:show('+(page+1)+')';
		var backButton=getElement("backButton");
				backButton.href='javascript:show('+(page-1)+')';
		if(groupcount==page+1){nextButton.trgt=0;fadeShowHide("nextButton");}
		else{nextButton.trgt=10;fadeShowHide("nextButton");}
		if(page==0){backButton.trgt=0;fadeShowHide("backButton");}
		else{backButton.trgt=10;fadeShowHide("backButton");}
		if(getElement("closeOpen").position=="empty"){
			getElement("closeOpen").position="full";
			closeOpen();
		}
	}
}

slideshow=function(action){
//alert(action+", "+document.currimg);
	var slides=getElement("thumbnails").getElementsByTagName('a');
	var viewAll=getElement("viewAll");
	if(action=="play") {
		getElement("closeOpen").position="half";
		closeOpen();
		viewAll.innerHTML="Pause";
		viewAll.style.backgroundImage="url(inc/img/pause.gif)";
		viewAll.href="javascript:slideshow('pause');";
		view(slides[document.currimg].id,slides[document.currimg].getAttribute("link"));
	}else if(action=="pause"){
		viewAll.innerHTML="Slide Show";
		viewAll.style.backgroundImage="url(inc/img/play.gif)";
		viewAll.href="javascript:slideshow('play')";
	}else if(viewAll.innerHTML=="Pause" && action=="next"){
		document.currimg++;
		view(slides[document.currimg].id,slides[document.currimg].getAttribute("link"));
	}else if(viewAll.innerHTML=="Pause" && slides[action]){
		view(slides[action].id,slides[action].getAttribute("link"));
		document.currimg=action+1;
		setTimeout('slideshow('+(action+1)+');',3000);
	}
}

function expand(el,attr) {
	var e=getElement(el);
	var es=e.style
	var cur=parseInt(es[attr]);
	var target=parseInt(e["target_"+attr]);
	var rate=30;
	if(cur!=target){
		newVal=parseInt(target+(parseInt(es[attr])-target)/2);
		es[attr]=newVal+"px";
		if(el=="closeOpen"){
			getElement("img1").style.width=(866-newVal)+"px";
			getElement("img2").style.width=(866-newVal)+"px";
			getElement("captionBox").style.width=(786-newVal)+"px";
		}
		setTimeout("expand('"+el+"','"+attr+"');",rate);
	}
}

closeOpen = function() {
	bar=getElement("closeOpen");
	bar.style.left=bar.offsetLeft+"px";
	thumbs=getElement("thumbnails");
	thumbs.style.width=(thumbs.offsetWidth-1)+"px";
	if(bar.position=="full"){
		bar.position="half";
		thumbs.target_width="84px"; bar.target_left="110px";
		expand(thumbs.id,"width"); expand(bar.id,"left");
	}else if(bar.position=="half"){
		bar.position="empty";
		thumbs.target_width="0px"; bar.target_left="22px";
		expand(thumbs.id,"width"); expand(bar.id,"left");
	}else if(bar.position=="empty"){
		bar.position="full";
		thumbs.target_width="327px"; bar.target_left="353px";
		expand(thumbs.id,"width"); expand(bar.id,"left");
	}else{
		bar.position="full";
		closeOpen();
	}
}

popMenu=function(el){
	var e=getElement(el);
	if(e){
		if(e.trgt==10){ e.trgt=0; document.albumliston=false; }
		else{ e.trgt=10; document.albumliston=true; }
		fadeShowHide(el);
	}
	checkMenu();
}

checkMenu=function(){
	if(getElement("albumList").trgt==10){
		if(document.albumliston==false){ popMenu("albumList"); }
		else setTimeout("checkMenu();",1800);
	}
}

loadPage=function(){
	var nextButton=getElement("nextButton");
		if(nextButton){
			nextButton.href='javascript:show('+(nextButton.className)+')';
			nextButton.style.opacity=10;
		}
	var viewAll=getElement("viewAll");
		if(viewAll){
			viewAll.innerHTML="Slide Show";
			viewAll.style.backgroundImage="url(inc/img/play.gif)";
			viewAll.href="javascript:slideshow('play')";
			viewAll.style.opacity=10;
		}
	var backButton=getElement("backButton");
		if(backButton){
			backButton.href='javascript:show('+(backButton.className)+')';
			backButton.style.opacity=10;
		}
	var drawerButton=getElement("closeOpen");
		if(drawerButton){
	    drawerButton.href='javascript:closeOpen()';
	    drawerButton.position="full";
	  }
	var drawerFull=getElement("drawerFull");
		if (drawerFull) drawerFull.href='javascript:getElement("closeOpen").position="empty";closeOpen();';
	var drawerHalf=getElement("drawerHalf");
		if (drawerHalf) drawerHalf.href='javascript:getElement("closeOpen").position="full";closeOpen();';
	var drawerEmpty=getElement("drawerEmpty");
		if (drawerEmpty) drawerEmpty.href='javascript:getElement("closeOpen").position="half";closeOpen();';
	var photosMenu=getElement("photosMenu");
		if (photosMenu) {
			photosMenu.href='javascript:popMenu("albumList");';
			photosMenu.onmouseout=function(){document.albumliston=false;}
			photosMenu.onmouseover=function(){document.albumliston=true;}
		}
	var albumList=getElement("albumList");
		if (albumList) {
			albumList.style.display="block";
			albumList.style.display="none";
			document.albumliston=true;
			albumList.onmouseout=function(){document.albumliston=false;}
			albumList.onmouseover=function(){document.albumliston=true;}
		}
	var pages=getElement("pages");
		if (pages) {
			pagelinks=pages.getElementsByTagName('a');
			for(i=0;i<pagelinks.length;i++){
				pagelinks[i].href='javascript:document.albumliston=false;show('+pagelinks[i].getAttribute("number")+');';
			}
		}
	var items,i;
	if (getElement("thumbnails")) {
		items=getElement("thumbnails").getElementsByTagName('a');
		for(i=0;i<items.length;i++){
			if(/thumbnail/.test(items[i].className)){
				/*items[i].onmouseover=function(){this.style.background="#222"; this.style.color="#fff";}
				items[i].onmouseout=function(){this.style.background="#000"; this.style.color="#eee";}*/
				items[i].href='javascript:clickPhoto("'+items[i].id+'","'+items[i].getAttribute("link")+'");';
			}else if(/group/.test(items[i].className)) items[i].style.opacity=10;
		}
	}
}
