/*
(C) copyright 2009 by jeff clemmer, chris sehenuk, and detour sites.

all rights reserved.

http://detoursites.com/
*/

//do we just load the page straight away after loading the images?
var loadThePage=true;

var prgImages=[];
function getImageList()
{
		//load progress bar images, quick!
    for (var t=0;t<9;t++) {
    
        prgImages[t]=new Image();
        prgImages[t].src="i/pbar/bar"+t+".png";

		}
		
    var url="proc.php";
    var vars="m=imagesmod";
    
    ddCommand(url, vars, null, getImageListDone);
}

function getImageListDone()
{
    //alert("here");
    //ddCommandDone("page");
    
    var response="";
    if (xhttp.readyState==4 || xhttp.readyState=="complete"){
        
        response=xhttp.responseText;
        //alert(response);
        var cBlock=response.split("(~)");
        
        if (cBlock[0]=="ok") {
        
            //alert(cBlock[1]);
            loadImageBlock(cBlock[1], cBlock[2]);
            
            
        } else {
        
            if (response.length==0)
                alert("there was a server error.  empty reply.  please try again.");
            else {
            
                if (response.match("( ! )")!=null) {
                    
                    document.getElementById("debug").innerHTML="<div style=\"background:darkred; color:white; padding:10px;\">"+response+"</div>";
                    
                } else 
                    alert("server error:\n\n"+response);
                
            }
            
        }
        
    }
    
}

var imageLoadDone=false;
var srcImages=[];
var allNames=[];
var allImages=[];
var imagesLoaded=[];
var progress=0;
function loadImageBlock(snames, simages)
{
    //document.getElementById("debug").innerHTML=snames;

    allNames=snames.split(",");
    allImages=simages.split(",");
    
    for (var t=0;t<allImages.length;t++) {
    
        srcImages[t]=new Image();
        srcImages[t].src=allImages[t];
    
        imagesLoaded[t]=false;
    }
    
    imageLoadCheck();
    
}

function imageLoadCheck()
{
    var sw=false;
    
    for (var t=0;t<allImages.length;t++) {
    
        if (srcImages[t].complete==true && imagesLoaded[t]==false) {
        
            progress++;
            sw=true;
            imagesLoaded[t]=true;
            
            var done=Math.round( (progress/allNames.length)*10 );
            if (done < 10)
							document.getElementById("progressbar").innerHTML = "<center><img src=\"i/pbar/bar"+done+".png\"></center>";
            
            //document.getElementById("progressbar").innerHTML="loading site: "+done+"%";
            
            break;
        
        }
    
    }
    
    if (progress < allNames.length) {
    
        setTimeout(imageLoadCheck, 10);
        
    } else {
    
        document.getElementById("progressbar").style.display="none";
        imageLoadDone=true;
        
        if (loadThePage==true)
					loadPage();
        
        
    }
    
} 

function getIndex(iname)
{
    //alert(allNames.length);
    for (var t=0;t<allNames.length;t++) {
    
        if (allNames[t]==iname) {
        
            //alert(t);
            return t;
        
        }
        
    }
    
}

function assocImage(id, iname)
{
    
    for (var t=0;t<allNames.length;t++) {
    
        if (allNames[t]==iname) {
        
            document.getElementById(id).src=allImages[t];
            break;
        
        }
        
    }
    
}

function curImageAssoc(id)
{
    
    var path = document.getElementById(id).src;
    var sp1 = path.split("/");
    var sp2 = sp1[sp1.length-1];
    var sp3 = sp2.split(".");
    var final = sp3[0];
    
    //alert(final);
    
    return final;
    
}

function assocAnimation(id, beginRange, rangeIndex)
{
    var start=getIndex(beginRange);
    var curIndex = start+rangeIndex;
    
    document.getElementById(id).src=allImages[curIndex];
}

var curTrans=0;
var transId=[];
var trans=[];
var transCount=[];
var longestTrans=0;
var doCallBack=false;

function resetAssocTrans(callback)
{
    doCallBack=callback;
    curTrans=0;
    transId=[];
    trans=[];
    transCount=[];
    longestTrans=0;
}

function assocTransparency(id, seq)
{
    if (seq.length > longestTrans)
        longestTrans=seq.length;
        
    transId[curTrans]=id;
    trans[curTrans]=seq;
    transCount[curTrans]=seq.length;
    
    curTrans++;
}

var curTransFrame=0;
function triggerTransAnimation()
{
    curTransFrame=0;
    doTransAnimation();
}

function doTransAnimation()
{
    if (curTransFrame < longestTrans) {
        
        for (var t=0;t<curTrans;t++) {
        
            if (curTransFrame < transCount[t]) {
            
                setOpacity(transId[t], trans[t][curTransFrame]);
            
            }
        
        }
        
        curTransFrame++;
        
        setTimeout(doTransAnimation, 40);
        
    } else {
        //this is only temporary and should be changed for each project
        if (doCallBack==true)
            
            setTimeout(triggerAfterSlideWipe,40);
    
    }
}

function setOpacity(name, opacity)
{
		//alert(name);
		var browser=navigator.appName;
		//alert(browser);
    if (browser=="Microsoft Internet Explorer") {
			document.getElementById(name).style.filter = "alpha(opacity:"+opacity+")";
    } else {
			document.getElementById(name).style.opacity = opacity/100;
			opacity = (opacity == 100)?99.999:opacity;
    }

}


