/***********************************************
* HawkOwl imagefade
*
* Copyright HawkOwl.net 2008,2009   
************************************************/

window.addEventListener?window.addEventListener("load",if_init,false):window.attachEvent("onload",if_init);

var d=document, fadetime, imgs = new Array(), titl = new Array(), zInterval = null, current=0, newcurr=0, pause=false;
var buttonpause, buttonplay, buttonforward, buttonback, timeractive = false, buttonsactive = false;

function if_init() {
	if(!d.getElementById || !d.createElement)return;

	css = d.createElement("link");
	css.setAttribute("href","css/ImageFade.css");
	css.setAttribute("rel","stylesheet");
	css.setAttribute("type","text/css");
	d.getElementsByTagName("head")[0].appendChild(css);

	imgs = d.getElementById("imagediv").getElementsByTagName("img");
	for(i=0;i<imgs.length;i++) {
	    imgs[i].xOpacity = 0;
	    imgs[i].style.visibility = "visible";
	    setOpacity(imgs[i]); 
	    maxcurr = imgs[i]?i:maxcurr;
	    }
	imgs[0].style.display = "block";
	imgs[0].xOpacity = .99;
	setOpacity(imgs[0]); 

	titl = d.getElementById("imagediv").getElementsByTagName("h5");
	for(i=0;i<titl.length;i++) {
	    titl[i].xOpacity = 0;
	    titl[i].style.visibility = "visible";
	    setOpacity(titl[i]); 
	    }
	titl[0].style.display = "block";
	titl[0].xOpacity = .99;
	setOpacity(titl[0]); 
	
	fadetime = setTimeout(fadeimage,2000);
	timeractive = true;
	
    if (buttonsactive) {
      d.getElementById(buttonback).style.display = "none";
      d.getElementById(buttonpause).style.display = "inherit";
      d.getElementById(buttonplay).style.display = "none";
      d.getElementById(buttonforward).style.display = "none";
    }
}

function ifpauseclick() {

    clearTimeout(fadetime);   
	timeractive = false;
    d.getElementById(buttonback).style.display = "inherit";
    d.getElementById(buttonpause).style.display = "none";
    d.getElementById(buttonplay).style.display = "inherit";
    d.getElementById(buttonforward).style.display = "inherit";
    return false;

}
function ifplayclick() {

	fadetime = setTimeout(fadeimage,2000);
	timeractive = true;
    d.getElementById(buttonback).style.display = "none";
    d.getElementById(buttonpause).style.display = "inherit";
    d.getElementById(buttonplay).style.display = "none";
    d.getElementById(buttonforward).style.display = "none";
    return false;

}
function ifbackclick() {

	if (current < 1) {
	  newcurr = maxcurr;
	  }
	else {
	  newcurr = current - 1;
	  };
 
	poscurr(newcurr);
    return false;
}

function ifforwardclick() {

	newcurr = imgs[current+1]?current+1:0;
	poscurr(newcurr);
    return false;
}

function setcurr(newcurr) {

    if (timeractive) {
      clearTimeout(fadetime);   
      }
    poscurr(newcurr);
    if (timeractive) {
	  fadetime = setTimeout(fadeimage,2000);	
	  }
}

function poscurr(newcurr) {
	    
	for(i=0;i<imgs.length;i++) {
	    imgs[i].xOpacity = 0;
		imgs[i].style.display = "none";
	    setOpacity(imgs[i]); 
	    }
	imgs[newcurr].xOpacity = .99;
	imgs[newcurr].style.display = "block";
	setOpacity(imgs[newcurr]); 
	
	for(i=0;i<titl.length;i++) {
	    titl[i].xOpacity = 0;
		titl[i].style.display = "none";
	    setOpacity(titl[i]); 
	    }
	titl[newcurr].xOpacity = .99;
	titl[newcurr].style.display = "block";
	setOpacity(titl[newcurr]); 
	
	current = newcurr;
}	

function fadeimage() {

	cOpacity = imgs[current].xOpacity;
	nIndex = imgs[current+1]?current+1:0;

	nOpacity = imgs[nIndex].xOpacity;
	
	cOpacity-=.05; 
	nOpacity+=.05;
	
	imgs[nIndex].style.display = "block";
	imgs[current].xOpacity = cOpacity;
	imgs[nIndex].xOpacity = nOpacity;
	
	titl[nIndex].style.display = "block";
	titl[current].xOpacity = cOpacity;
	titl[nIndex].xOpacity = nOpacity;

	setOpacity(imgs[current]); 
	setOpacity(imgs[nIndex]);

	setOpacity(titl[current]); 
	setOpacity(titl[nIndex]);
	
	if(cOpacity<=0) {
		imgs[current].style.display = "none";
		titl[current].style.display = "none";
		current = nIndex;
		fadetime = setTimeout(fadeimage,2000);
	} else {
		fadetime = setTimeout(fadeimage,100);
	}
	
}

function setOpacity(obj) {
	if(obj.xOpacity>.99) {
		obj.xOpacity = .99;
		return;
	}
	obj.style.opacity = obj.xOpacity;
	obj.style.MozOpacity = obj.xOpacity;
	obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
}
