function getStyleObject(objectId) {
  // checkW3C DOM, then MSIE 4, then NN 4.
  //
  if(document.getElementById && document.getElementById(objectId)) {
	return document.getElementById(objectId).style;
   }
   else if (document.all && document.all(objectId)) {  
	return document.all(objectId).style;
   } 
   else if (document.layers && document.layers[objectId]) { 
	return document.layers[objectId];
   } else {
	return false;
   }
}

function getObject(objectId) {
  // checkW3C DOM, then MSIE 4, then NN 4.
  //
  if(document.getElementById && document.getElementById(objectId)) {
	return document.getElementById(objectId);
   }
   else if (document.all && document.all(objectId)) {  
	return document.all(objectId);
   } 
   else if (document.layers && document.layers[objectId]) { 
	return document.layers[objectId];
   } else {
	return false;
   }
}

function changeObjectVisibility(objectId, newVisibility) {
    // first get a reference to the cross-browser style object 
    // and make sure the object exists
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
	styleObject.visibility = newVisibility;
	return true;
    } else {
	// we couldn't find the object, so we can't change its visibility
		return false;
    }
}

function changeObjectDisplay(objectId, newDisplay) {
    // first get a reference to the cross-browser style object 
    // and make sure the object exists
    var styleObject = getStyleObject(objectId);
    if(styleObject) {
	styleObject.display = newDisplay;
	return true;
    } else {
	// we couldn't find the object, so we can't change its visibility
		return false;
    }
}

function displayText(objectId, text){
	if (document.all) {
	document.all[objectId].innerHTML = text;
	}
	else
	{
	var obj = document.getElementById(objectId);
	obj.innerHTML = text;  
	}
}

var temp_explain = "";

function open_explain (width, height, file, eventObj) {
	var xOffset = 0;
	var yOffset = 0;

	if (temp_explain == file) {
		close_explain ();
		return;
	}
	
	temp_explain = file;

	str_html = "<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor=#C4D0B2>"
			 + "<tr>"
			 + "  <td><iframe width='100%' height='"+height+"' frameborder='0' scrolling='no' src='"+file+"'></iframe></td>"
			 + "</tr>"
			 + "</table>";


	var xpos = (eventObj.pageX)?eventObj.pageX + xOffset:eventObj.x + xOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0);
	var ypos = (eventObj.pageY)?eventObj.pageY + yOffset:eventObj.y + yOffset + ((document.body.scrollTop)?document.body.scrollTop:0);
	
	if ((xpos + width) > document.body.scrollWidth) {
		xpos = (eventObj.pageX)?eventObj.pageX + xOffset:eventObj.x - width;
	}

	
	displayText ("layer_explain", str_html);
	
	objectstyle = getStyleObject ("layer_explain");
	objectstyle.top  = ypos;
	objectstyle.left = xpos;
	objectstyle.width  = width;
	objectstyle.height = height;

	changeObjectDisplay("layer_explain", "");
}

function close_explain () {
	changeObjectDisplay("layer_explain", "none");
	displayText ("layer_explain", '');
	temp_explain = "";
}


function open_explain_postion_change (width, height, file, eventObj) {
	var xOffset = 0;
	var yOffset = 0;

	if (temp_explain == file) {
		close_explain ();
		return;
	}
	
	temp_explain = file;

	str_html = "<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor=#C4D0B2>"
			 + "<tr>"
			 + "  <td><iframe width='100%' height='"+height+"' frameborder='0' scrolling='no' src='"+file+"'></iframe></td>"
			 + "</tr>"
			 + "</table>";


	var xpos = (eventObj.pageX)?eventObj.pageX + xOffset:eventObj.x + xOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0);
	var ypos = (eventObj.pageY)?eventObj.pageY + yOffset:eventObj.y + yOffset + ((document.body.scrollTop)?document.body.scrollTop:0);
	
	if ((xpos + width) > document.body.scrollWidth) {
		xpos = (eventObj.pageX)?eventObj.pageX + xOffset:eventObj.x - width;
	}

	
	displayText ("layer_explain", str_html);
	
	objectstyle = getStyleObject ("layer_explain");
	objectstyle.top  = ypos - height;
	objectstyle.left = xpos;
	objectstyle.width  = width;
	objectstyle.height = height;

	changeObjectDisplay("layer_explain", "");
}

