//////////////////////////////////////////////////////////////////////////
//																		//
//		Standalone Photo Slideshow										//
//		Copyright 2011, James Clarke - Adnet Communications				//	
//																		//
//////////////////////////////////////////////////////////////////////////


//window.onload = function(){
//document.getElementsByTagName('body')[0].onload = function(){	

addLoadEvent( function(){

	//alert('document - body loaded');
									 
	function $(pass){
		return document.getElementById(pass);	
	}								 
	function $$(id,el,elClass){
		var me = document.getElementById(id);
			me = me.getElementsByTagName(el);
		var out = new Array;	
			if(elClass){
				for(i in me){
					if(me[i].className == elClass) out.push(me[i]);
				}
			}else{
				out = me;	
			}
			return out;
	}

	var rate =10000; //animation delay in milliseconds
	var dur = 1500;
	var photos = $$("slideshow","div","slide");
	var buttons = new Array();
	var fx = new Array();
	
	for (i=0; i<photos.length; i++){
		
		var item = photos[i];
			item.style.visibility = 'hidden';
			
		fx.push( photos[i] );
	//	var but = new Element('a',{'class': 'button','href': '#'});
		var but = document.createElement('a');
			but.className = 'button';
			but.href = "#";
			
			but.innerHTML = (i+1);
			with({i:i}){
				but.onclick = function(){
					
						stopAnim();
						buttons[last].className = 'button';
						
						//fx[i].style.visibility = 'visible';
						anim(fx[i],0,1);
						
						if((last != -1)&&(last != i)){
						  fx[last].style.visibility = 'hidden';
						//  anim(fx[last],1,0);
						}
						
						last = i;
						buttons[last].className = 'button activeBut';
					
				}
			}
			
			buttons.push(but);
			$("navBtns").appendChild(but);
	}
	
	
	// Animation functionality	
	var last = -1;
	var inty;
	var frameRate;
	var curEl;
	var curStart;
	var curTar;
	var cur;
	
	function anim(el,start,target){
		cur = start;
		curEl = el;
		curStart = start;
		curTar = target;
		if(document.all){
			el.style.filter = "alpha(opacity="+start*100+")";
		}else{
			el.style.opacity = start;	
		}
		if(start == 0){ el.style.visibility = 'visible'; }
		if(start == 1){ el.style.visibility = 'visible'; }
		frameRate = setInterval(step, 30);	
	}
	
	function step(){		
		if(document.all){
			curEl.style.filter = "alpha(opacity="+cur*100+")";	
		}else{
			curEl.style.opacity = cur;
		}
		if(curStart==0) cur += .05;
		if(curStart==1) cur -= .05;
		if(cur>=curTar){
			clearInterval(frameRate);
			if(curStart==1) curEl.style.visibility = 'hidden';
		}
	}
	
	function startAnim(){
		//fx[0].style.visibility = 'visible';
		anim(fx[0],0,1);
		last = 0;
		inty = setInterval(advance, rate);
	}
	
	function stopAnim(){
		clearInterval(inty);
		clearInterval(frameRate);
	}
	function advance(){
		
		buttons[last].className = 'button';
		
		if(last >= fx.length-1){
			fx[last].style.visibility = 'hidden';
			//anim(fx[last],1,0);
			last = 0;
		}else{
			fx[last].style.visibility = 'hidden';
			//anim(fx[last],1,0);
			last++;
		}
		//fx[last].style.visibility = 'visible';
		anim(fx[last],0,1);
		
		buttons[last].className = 'button activeBut';
	}
	
	startAnim();
	buttons[0].className = 'button activeBut';

} );

function addLoadEvent(func) { 
	  var oldonload = window.onload; 
	  if (typeof window.onload != 'function') { 
	    window.onload = func; 
	  } else { 
	    window.onload = function() { 
	      if (oldonload) { 
	        oldonload(); 
	      } 
	      func(); 
	    } 
	  } 
	} 
	 
