fadeTimeout = new Array();
arraycount = -1;
imgArr = new Array();
curImg = new Array();
curDiv = new Array();
curNM = new Array();

function photofader(nm, mainDiv, imgArray){
    arraycount++;
    dvcount = arraycount;
    curNM[dvcount] = nm;
    imgArr[dvcount] = imgArray;
    curImg[dvcount] = 0;
    curDiv[dvcount] = 1;
    
    var mainDv = document.getElementById(mainDiv);
    
    document.pfObj = this;
    
    document.write("<style type='text/css'>\n");
    document.write("#"+curNM[dvcount]+"_photo1 img { visibility:hidden; }\n");
    document.write("#"+curNM[dvcount]+"_photo1 { position:absolute; z-index: 1; }\n");
    document.write("#"+curNM[dvcount]+"_photo2 { position:absolute; z-index: 0; }\n");
    document.write("<\/style>");
    
    var browsercheck = navigator.userAgent.indexOf('MSIE 5.23; Mac_PowerPC');
    if(browsercheck == -1) {
        var hldr1 = curNM[dvcount]+"_photo1";
        var hldr2 = curNM[dvcount]+"_photo2";
        
        var dv1 = document.createElement("div");
                dv1.id = curNM[dvcount]+"_photo1";
                dv1.innerHTML = "<img src=\""+ imgArr[dvcount][0] +"\" >";
        var dv2 = document.createElement("div");
                dv2.id = curNM[dvcount]+"_photo2";
        
        mainDv.appendChild(dv1);
        mainDv.appendChild(dv2);
        
      image1 = document.getElementById(hldr1).childNodes[0];
        
      setOpacity(image1, 0);
      image1.style.visibility = 'visible';
      fadeIn(hldr1,0,true,dvcount);
    }
    else {
    mainDv.innerHTML = "<img src=\""+ imgArr[dvcount][0] +"\" >";
    }
}
    
function setOpacity(obj, opacity) {
  opacity = (opacity == 100)?99.999:opacity;
  
  // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";
  
  // Safari<1.2, Konqueror
  obj.style.KHTMLOpacity = opacity/100;
  
  // Older Mozilla and Firefox
  obj.style.MozOpacity = opacity/100;
  
  // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
}
function fadeIn(objId,opacity,autoFade,dvcount) {
    if (document.getElementById) {
        obj = document.getElementById(objId).childNodes[0];
        if (opacity < 100) {
            speed = (speed < 2)?2:speed;
            setOpacity(obj, opacity);
            opacityDif = Math.ceil((100-opacity)/speed);
            opacity += opacityDif;
            //opacity += 2;
            fadeTimeout[0] = window.setTimeout("fadeIn('"+objId+"',"+opacity+","+autoFade+","+dvcount+")", 100);
        }
        else if (autoFade)
            fadeTimeout[1] = setTimeout("swapImages("+dvcount+")",delay*1000);
    }
}
function swapImages(dvcount){
    // find out which 
    if(curImg[dvcount] == imgArr[dvcount].length-1)
        curImg[dvcount] = 0;
    else 
        ++curImg[dvcount];
    // now get the div to hld the new image
    var dvName    = (curDiv[dvcount] == 1)?curNM[dvcount]+"_photo2":curNM[dvcount]+"_photo1";
    var eDivName        = (curDiv[dvcount] == 1)?curNM[dvcount]+"_photo1":curNM[dvcount]+"_photo2";
    curDiv[dvcount] = (curDiv[dvcount] == 1)?2:1;
    
    var tgtDiv = document.getElementById(dvName);
    var eDiv = document.getElementById(eDivName);
    
    // now fill the target div
    tgtDiv.innerHTML = "<img src=\""+ imgArr[dvcount][curImg[dvcount]] +"\" style=\"visibility:hidden;\" >";
    
    //move the divs around in z-index
    eDiv.style.zIndex = 0;
    tgtDiv.style.zIndex = 1;
    
    // And finally fade in the image
    
    var img = tgtDiv.childNodes[0];
    
    setOpacity(img, 0);
    img.style.visibility = 'visible';
    fadeIn(tgtDiv.id,0,true,dvcount);
}
//Swaps to the image array index specified in toSwap (start counting at 0). autoFade=true will let it automatically segue to the next picture in the sequence, false will make it stay on this one
function swapImagesSpecify(toSwap, autoFade)
{
    for (i = 0; i < fadeTimeout.length; i++) {
        clearTimeout(fadeTimeout[i]);
    }
    curImg[0] = toSwap;
    // now get the div to hld the new image
    var dvName    = (curDiv[0] == 1)?"pf_photo2":"pf_photo1";
    var eDivName        = (curDiv[0] == 1)?"pf_photo1":"pf_photo2";
    curDiv[0] = (curDiv[0] == 1)?2:1;
    var tgtDiv = document.getElementById(dvName);
    var eDiv = document.getElementById(eDivName);
    // now fill the target div
    tgtDiv.innerHTML = "<img src=\""+ imgArr[0][curImg[0]] +"\" style=\"visibility:hidden;\" >";
    //move the divs around in z-index
    eDiv.style.zIndex = 0;
    tgtDiv.style.zIndex = 1;
    // And finally fade in the image
    var img = tgtDiv.childNodes[0];
    setOpacity(img, 0);
    img.style.visibility = 'visible';
    fadeIn(tgtDiv.id,0,autoFade,0);
}
