var zindex=100;
var divON="";


function getX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (1) {
            curleft+=obj.offsetLeft;
            if (!obj.offsetParent) {  break; }
            obj=obj.offsetParent;
        }
    } else if (obj.x) {
        curleft+=obj.x;
    }
    return curleft;
}

function getY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (1) {
            curtop+=obj.offsetTop;
            if (!obj.offsetParent) {  break; }
            obj=obj.offsetParent;
        }
    } else if (obj.y) {
        curtop+=obj.y;
    }
    return curtop;
}

function positionDivs() {
	for (x=1;x<=arguments.length;x++) {
		var alpha = String.fromCharCode(x+64);
		for (var i=1;i<=arguments[x-1];i++) {
			if (is_ie3up || is_nav6up || is_Safari) {
				thisDiv = document.getElementById("dbox"+alpha+i);
				theBG   = document.getElementById(alpha+"img");
				thisDiv.style.left=getX(theBG);
				thisDiv.style.top=getY(theBG);				
				//debugging=debugging + "<BR>dbox"+alpha+i+"  x="+ thisDiv.style.left+" y="+thisDiv.style.top;
				//alert(debugging);
			} else { // is old nav
				thisDiv=eval(document.eval("dbox"+alpha+i));
				thisDiv.left=eval("document."+alpha+"img.x");
				thisDiv.top=eval("document."+alpha+"img.y");
			}
		}
	}
}

function popit(e,divName) {
//alert(eval(divName+".style.top"));
	if (divON!=divName) {
		if (is_ie3up || is_nav6up || is_Safari) {
			// determine name of div by browser
			if (is_nav6up) { div = document.getElementById(divName); }
			else { div=eval(divName); }
			
			//debugging=debugging + "<BR>"+divName+" y="+getY(div);

			if (window.open_divName && open_divName.id!=div.id) {
				open_divName.style.visibility="hidden";
			}

			open_divName=div;
			if (open_divName.style.visibility=="hidden") { open_divName.style.visibility="visible"; }
		}
		else { // is old nav
			div=eval(document.eval(divName));

			if (window.open_divName && open_divName.id!=div.id) {
				open_divName.visibility="hide";
			}
			
			open_divName=div;
			if (open_divName.visibility == "hide") { div.visibility="show"; }
		}
		divON=divName;
	//debuggingDiv.innerHTML=debugging;
		
	}
}

function hideDiv(divName) {
	if (divName) {
		if (is_nav6up) { open_divName = document.getElementById(divName); }
		else { open_divName=eval(divName); }
	}
	
	if (open_divName) {
		if (is_ie3up || is_nav6up || is_Safari) {
			open_divName.style.visibility="hidden";
		} else { // is old nav
			open_divName.visibility="hide";
		}
	}
	
	divON=0;
	window.open_divName=0;
	
}

function hideSpecificDiv(divName){
	// determine name of div by browser
	if (is_nav6up) { div = document.getElementById(divName); }
	else { div=eval(divName); }
	// hide div by browser
	if (is_ie3up || is_nav6up || is_Safari) {
		div.style.visibility="hidden";
	} else {
		div.visibility="hide";
	}
}

function showDiv(divName) {
	if (is_ie3up || is_nav6up) {
		// determine name of div by browser
		if (is_nav6up) { div = document.getElementById(divName); } else { div=eval(divName); }
		div.style.visibility="visible"; }
	else {
		div=eval(document.eval(divName));
		div.visibility="show";
	}
}

function pointer(x,y,divName,imgName) {
	if (!divName) divName="pointerDiv";
	if (!imgName) imgName="pointerBase";
	if (is_ie3up || is_nav6up || is_Safari) {
		var baseX = getX(document[imgName]);
		var baseY = getY(document[imgName]);
		// determine name of div by browser
		if (is_nav6up) {thisDiv = document.getElementById(divName)}
		else {thisDiv=eval(divName);}
		// position div
		thisDiv.style.left= x + baseX;
		thisDiv.style.top = y + baseY;
		thisDiv.style.visibility="visible";
		
		//if (is_ie3up) alert(getY(document.menu)+","+thisDiv.style.top);
	} else { // is old nav
		var baseX = document[imgName].x;
		var baseY = document[imgName].y;
		thisDiv=eval(document[divName]);
		thisDiv.left= x + baseX;
		thisDiv.top = y + baseY;
		thisDiv.visibility="show";
	}
}



function flyingCarpet(flyingDiv,landingX,landingY) {
	flyingObject = document.getElementById(flyingDiv);
	if (!landingX) landingX=200;
	if (!landingY) landingY=200;
	theX=landingX;
	theY=landingY;
	
	//var debuggingDiv=document.getElementById("debugOutput");
	//debugging=debugging+"<BR>Started movement at "+div.style.top;
	//debuggingDiv.innerHTML=debugging;
	theInterval=window.setInterval('fly()',10);
}

function fly() {
	currentY=getY(flyingObject);
	currentX=getX(flyingObject);
	if (currentY == theY && currentX == theX) {
		//alert("done");
		window.clearInterval(theInterval);
	} else { 
		if (currentY > theY) { Ymodifier="-"; } else { Ymodifier="+";}
		if (currentX > theX) { Xmodifier="-"; } else { Xmodifier="+";}
		Ystep=Math.round(Math.abs(eval(currentY + Ymodifier + theY))/6);
		Xstep=Math.round(Math.abs(eval(currentX + Xmodifier + theX))/10);
		//alert('ystep='+Ystep+' xstep='+Xstep);
		if (currentY != theY) flyingObject.style.top=eval(currentY + Ymodifier + Ystep);
		if (currentX != theX) flyingObject.style.left=eval(currentX + Xmodifier + Xstep);
		//var debuggingDiv=document.getElementById("debugOutput");
		//debugging=debugging+"<BR>y= "+div.style.top + " and x= " +div.style.left;
		//debuggingDiv.innerHTML=debugging;
	}
}
