/*****



Image Cross Fade Redux

Version 1.0

Last revision: 02.15.2006

steve@slayeroffice.com



Please leave this notice intact.



Rewrite of old code found here: http://slayeroffice.com/code/imageCrossFade/index.html



*****/



window.addEventListener?window.addEventListener("load",so_init,false):window.attachEvent("onload",so_init);



var d=document, imgs = new Array(), zInterval = null, current=0, pause=false;



function so_init() {

if(!d.getElementById || !d.createElement)return;



// DON'T FORGET TO GRAB THIS FILE AND PLACE IT ON YOUR SERVER IN THE SAME DIRECTORY AS THE JAVASCRIPT!

// http://slayeroffice.com/code/imageCrossFade/xfade2.css

css = d.createElement("link");

css.setAttribute("href","style_main.css");

css.setAttribute("rel","stylesheet");

css.setAttribute("type","text/css");

d.getElementsByTagName("head")[0].appendChild(css);



imgs = d.getElementById("imageFolder").getElementsByTagName("img");

for(i=1;i<imgs.length;i++) imgs[i].xOpacity = 0;

imgs[0].style.display = "block";

imgs[0].xOpacity = .99;



setTimeout(so_xfade,1000);

}



function so_xfade() {

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;



setOpacity(imgs[current]);

setOpacity(imgs[nIndex]);



if(cOpacity<=0) {

imgs[current].style.display = "none";

current = nIndex;

setTimeout(so_xfade,5000);

} else {

setTimeout(so_xfade,50);

}



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) + ")";

}



}





/***********************************************

* Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com)

* This notice MUST stay intact for legal use

* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code

***********************************************/



var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)

var loadedobjects=""

var rootdomain="http://"+window.location.hostname

var bustcacheparameter=""



function ajaxpage(url, containerid){

var page_request = false

if (window.XMLHttpRequest) // if Mozilla, Safari etc

page_request = new XMLHttpRequest()

else if (window.ActiveXObject){ // if IE

try {

page_request = new ActiveXObject("Msxml2.XMLHTTP")

} 

catch (e){

try{

page_request = new ActiveXObject("Microsoft.XMLHTTP")

}

catch (e){}

}

}

else

return false

page_request.onreadystatechange=function(){

loadpage(page_request, containerid)

}

if (bustcachevar) //if bust caching of external page

bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()

page_request.open('GET', url+bustcacheparameter, true)

page_request.send(null)

}



function loadpage(page_request, containerid){

if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))

document.getElementById(containerid).innerHTML=page_request.responseText

}



function loadobjs(){

if (!document.getElementById)

return

for (i=0; i<arguments.length; i++){

var file=arguments[i]

var fileref=""

if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding

if (file.indexOf(".js")!=-1){ //If object is a js file

fileref=document.createElement('script')

fileref.setAttribute("type","text/javascript");

fileref.setAttribute("src", file);

}

else if (file.indexOf(".css")!=-1){ //If object is a css file

fileref=document.createElement("link")

fileref.setAttribute("rel", "stylesheet");


fileref.setAttribute("type", "text/css");

fileref.setAttribute("href", file);

}

}

if (fileref!=""){

document.getElementsByTagName("head").item(0).appendChild(fileref)

loadedobjects+=file+" " //Remember this object as being already added to page

}

}

}

