function preloadImages() {
    var a = preloadImages.arguments;   
    var i,j = 0; 
    for (i=0; i<a.length; i++) {      
        var o = findImg(a[i]);          
        if (o) 
            loadImgs(o.src, o.name, o.width, o.height);
        else {
            if (!document.imgs) document.imgs = new Array();
            document.imgs[j] = new Image();
            document.imgs[j++].src = a[i];
        }
    }                
}

function imgOn(n,rn,rimg) {
    var o = findImg(n); 
    if(o) {  
       if (o.src) {    
           if (!o.offSrc) o.offSrc = eval('a'+n+'.src');        
           if (!o.onSrc) o.onSrc = eval('b'+n+'.src');
           o.src = o.onSrc;  
       }    
       if (rn && rimg) { // remote img swap    
           var ro = findImg(rn);        
           if (!ro.oSrc) ro.oSrc = ro.src;
           ro.src = rimg;
       }
    }
}

function imgOff(n,rn) {
    var o = findImg(n);
    if(o) {
       if (o.src && o.offSrc) {
           o.src = o.offSrc;
       }    
       if (rn) {
           var ro = findImg(rn);
           ro.src = ro.oSrc;
       }
    }
}

function imgHilite() { // should be named highlight???
    var a = imgHilite.arguments;    
    for (var i=0; i<a.length; i++) {
        var o = findImg(a[i]); 
        if(o) {     
           if (i == 0) {
               if (!o.oSrc) o.oSrc = o.offSrc;
               o.src = o.offSrc = o.onSrc = eval('c'+a[i]+'.src');
           }
           else {
               if (o.offSrc && !o.oSrc) o.oSrc = o.offSrc;
               if (o.offSrc && o.onSrc) {
                   o.offSrc = o.onSrc = null;
                   o.src = o.oSrc;
               }       
           } 
        }       
    }
}

function findImg(n,d) {
    if (!d) d = document;
    if (d.images)
        var o = d.images[n];
    if (!o && d.layers) {
        for (var i=0; i<d.layers.length; i++) 
            o = findImg(n, d.layers[i].document);
    } 
    if (!o)
        return null;
        
    return o;        
}

function loadImgs(s,n,w,h) {
    var d = s.lastIndexOf('/');
    var dir = s.substring(0, d+1);
    var aname = s.substring(d+1, s.length);
    var i;
    if ((i=aname.indexOf('off__'))==0) {
        var bname = 'on__' + aname.substring(5,aname.length);       
        var cname = 'hi__' + aname.substring(5,aname.length);;
        eval('a'+n+'=new Image('+w+','+h+');');
        eval('a'+n+'.src="'+dir+aname+'";');
        eval('b'+n+'=new Image('+w+','+h+');');
        eval('b'+n+'.src="'+dir+bname+'";');      
        eval('c'+n+'=new Image('+w+','+h+');');
        eval('c'+n+'.src="'+dir+cname+'";');
    }
}
