// overly simplistic test for IE
isIE = (document.all ? true : false);
// both IE5 and NS6 are DOM-compliant (well, sort of...)
isDOM = (document.getElementById ? true : false);

// get the true offset of anything on NS4, IE4/5 & NS6, even if it's in a table!
function getAbsX(elt) { return (elt.x) ? elt.x : getAbsPos(elt,"Left"); }
function getAbsY(elt) { return (elt.y) ? elt.y : getAbsPos(elt,"Top"); }
function getAbsPos(elt,which) {
 iPos = 0;
 while (elt != null) {
  iPos += elt["offset" + which];
  elt = elt.offsetParent;
 }
 return iPos;
}

// fixPosition() attaches the element named eltname
// to an image named eltname+'Pos'
//
function fixPosition(divname,positionerImgName,offsetX,offsetY) {
	divstyle = getDivStyle(divname);
	//positionerImgName = divname + 'Pos';
	// hint: try setting isPlacedUnder to false
	//isPlacedUnder = true;
	/*
	if (isPlacedUnder) {
		setPosition(divstyle,positionerImgName,true);
	} else {
		setPosition(divstyle,positionerImgName,false,offsetX,offsetY)
 	}
 	*/
 	setPosition(divstyle,positionerImgName,offsetX,offsetY);
} // function fixPosition

// fixPositions() puts everything back in the right place after a resize.
function fixPositions(positioner){
	 // add a fixPosition call here for every element
	// you think might get stranded in a resize/reflow.
	fixPosition(positioner);
}

function getDivStyle(divname) {
 var style;
 if (isDOM) { style = document.getElementById(divname).style; }
 else { style = isIE ? document.all[divname].style
                     : document.layers[divname]; } // NS4
 return style;
}

function hideElement(divname) {
 getDivStyle(divname).visibility = 'hidden';
}

// annoying detail: IE and NS6 store elt.top and elt.left as strings.
function moveBy(elt,deltaX,deltaY) {
 elt.left = parseInt(elt.left) + deltaX;
 elt.top = parseInt(elt.top) + deltaY;
}

function toggleVisible(divname,positioner,title,str) {
 // set content
 content = "<table width=\"390\" height=\"121\" border=\"0\" cellpadding='5'><tr><td valign=\"top\"><div align=\"left\"><table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\"><tr><td><b>"+ title +"</b></td><td><div align=\"right\"><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td width=\"50%\"><a href=\"javascript:toggleVisible('tooltip')\"><img src=\"images/icon_close.gif\" width=\"15\" height=\"17\" border=\"0\"></a></td><td width=\"50%\"><img src=\"../images/clear.gif\" width=\"15\" height=\"5\"></td></tr></table></div></td></tr><tr><td width=\"100%\" colspan=\"2\"><font face=\"Verdana\" size=\"1\">" + str + "</font></td></tr></table></div><p></td></tr></table>";

 document.getElementById(divname).innerHTML = content;
 
 divstyle = getDivStyle(divname);
 if (divstyle.visibility == 'visible' || divstyle.visibility == 'show') {
   divstyle.visibility = 'hidden';
 } else {
   fixPosition(divname,positioner,-75,-150);
   divstyle.visibility = 'visible';
 }
}

function toggleVisible2(divname,positioner,offsetX,offsetY) {

 alert(divname + positioner + offsetX + offsetY);
 return;
 divstyle = getDivStyle(divname);
 if (divstyle.visibility == 'visible' || divstyle.visibility == 'show') {
   divstyle.visibility = 'hidden';
 } else {
   //fixPosition(divname,positioner,30,-75);
   fixPosition(divname,positioner,offsetX,offsetY);
   divstyle.visibility = 'visible';
 }
}

function setPosition(elt,positionername,offsetX,offsetY) {
 var positioner;
 if (isIE) {
  positioner = document.all[positionername];
 } else {
  	if (isDOM) {
    	positioner = document.getElementById(positionername);
  	} else {
    	// not IE, not DOM (probably NS4)
    	// if the positioner is inside a netscape4 layer this will *not* find it.
    	// I should write a finder function which will recurse through all layers
    	// until it finds the named image...
   	 	positioner = document.images[positionername];
  	}
 } // if isIE
 //elt.left = getAbsX(positioner) - 80;
 //elt.top = getAbsY(positioner)-138 + (isPlacedUnder ? positioner.height : 0);
 elt.left = getAbsX(positioner) + offsetX;
 elt.top = getAbsY(positioner) + offsetY;
} // function setPosition

function toggleVisibility(id){
	if (document.getElementById(id).style.display == 'none'){
		// visible / expanded
		document.getElementById(id).style.display = "block";
		document.getElementById("img_"+id).src = "images/icon_contract.gif";
	}else{
		// hiden / collapsed
		document.getElementById(id).style.display = "none";
		document.getElementById("img_"+id).src = "images/icon_expand.gif";
	} // if
} // function toggleVisibility

function toggleVisibility2(id){
	if (document.getElementById(id).style.display == 'none'){
		// visible / expanded
		document.getElementById(id).style.display = "block";
		document.getElementById("img_"+id).src = "images/icon_contract2.gif";
	}else{
		// hiden / collapsed
		document.getElementById(id).style.display = "none";
		document.getElementById("img_"+id).src = "images/icon_expand2.gif";
	} // if
} // function toggleVisibility


