function getLayerAttrib(strLayerID, strAttrib)
{
//alert("entered getLayerAttrib(strLayerID("+strLayerID+"), attrib("+strAttrib+")");

     var strFramePart = setFramePart(getLayerAttrib.arguments[2]);

     if (document.getElementById)
     {
          	var strValue = eval(strFramePart+'document.getElementById("'+strLayerID+'").style.'+strAttrib);
     }
     else if (document.all)
     {
          	var strValue = eval(strFramePart+'document.all.'+strLayerID+'.style.'+strAttrib);
     }
     else if (document.layers)
     {
          	var strValue = eval(strFramePart+'document.ids.'+strLayerID+'.'+strAttrib);
     }

//   strValue = eval(layer + strLayerID+styleSwitch+"."+attrib);
//alert("getLayerAttrib is returning "+strValue);
   return strValue;
}


function setLayerAttrib(strLayerID, strAttrib, strValue)
{
//	alert("entered setLayerAttrib(strLayerID("+strLayerID+"), strAttrib("+strAttrib+"), strValue("+strValue+")");
     var strFramePart = setFramePart(setLayerAttrib.arguments[3]);

     if (document.getElementById)
     {
     		eval(strFramePart+'document.getElementById("'+strLayerID+'").style.'+strAttrib+' = "'+strValue+'"');
     }
     else if (document.all)
     {
          	eval(strFramePart+'document.all.'+strLayerID+'.style.'+strAttrib+' = "'+strValue+'"');
     }
     else if (document.layers)
     {
          	eval(strFramePart+'document.'+strLayerID+'.'+strAttrib+' = "'+strValue+'"');
     }
}



function showLayer(strLayerID)
{
     if ( showLayer.arguments[1] == null )
     {
	setLayerAttrib(strLayerID, "visibility" , "visible");
     }
     else
     {
	setLayerAttrib(strLayerID, "visibility" , "visible", showLayer.arguments[1]);
     }
}


function hideLayer(strLayerID)
{
     if ( hideLayer.arguments[1] == null )
     {
	setLayerAttrib(strLayerID, "visibility" , "hidden");
     }
     else
     {
	setLayerAttrib(strLayerID, "visibility" , "hidden", hideLayer.arguments[1]);
     }
}


// ========================= Recurse ALL childnodes and in case there's multiple IMG childer match on "name" attrib ======
// ========================= Grab my div, get the nodliest of its child notes and then use getElementsByTagName for imgs - quicker =====

function getSpecificNode(objNodeList, strType)
{
//	alert("entered getSpecificNode("+objNodeList+", "+strType);
	for (nCounter = 0; nCounter < objNodeList.length; nCounter++)
	{
//		alert(objNodeList[nCounter]);
//		alert( objNodeList[nCounter].nodeName +" = "+strType);
		if ( objNodeList[nCounter].nodeName == strType)
		{
//			alert(objNodeList[nCounter].nodeName +" = "+ strType);
			return objNodeList[nCounter]

		}
	}
	return;
}

function setImageSrc(strLayerID, strImageName, strImageSource)
{
 if (strImageSource != "null.gif")
 {
//alert("entered setImageSrc("+strLayerID+", "+strImageName+", "+strImageSource+")");
	var strFramePart = setFramePart(setImageSrc.arguments[3]);

	if (document.layers)
	{
		var obj2 = eval(strFramePart+'document.layers.'+strLayerID+'.document.images[0]');
	}
	else if (document.all)
	{
		var obj2 = eval(strFramePart+'document.images.'+strImageName);
	}
	else if ((document.getElementById) && (!document.all))
	{
//		alert(eval(strFramePart+'document.getElementById("'+strLayerID+'").firstChild '));
		var objNodeList = eval(strFramePart+'document.getElementById("'+strLayerID+'").childNodes');
		var objIMGNode = getSpecificNode(objNodeList, "IMG")
//		alert("returned from getSpecificNode  \nobjIMGNode = "+objIMGNode);
		if (objIMGNode == null)
		{
//			alert("Because objIMGNode = "+objIMGNode+" we will search for A  objNodeList =" +objNodeList );
			var objAnchorNode = getSpecificNode(objNodeList, "A")
			if (objAnchorNode == null)
			{
				 alert("Failure - Could not find specified node!");
			}
			else
			{
//				alert("now that we've got the A let's search it's children for an IMG");
				var objNodeList  = objAnchorNode.childNodes;
				var objIMGNode = getSpecificNode(objNodeList, "IMG");
			}
		}

		var obj2 = objIMGNode;
//		var obj2= eval(strFramePart+'document.getElementById("'+strLayerID+'").firstChild.src = "'+strImageSource+'"');
	}
//alert("about to leave setImageSrc.  strImageSource = "+strImageSource);
	obj2.src = strImageSource;
 }
}



function getImageSrc(strLayerID, strImageName)
{
	 var strImageSource;
	var strFramePart = setFramePart(getImageSrc.arguments[3]);
//alert("entered getImageSrc("+strLayerID+", "+strImageName+", "+strFramePart+")");
	if (document.layers)
	{
		var layer = eval('document.layers.'+strLayerID);
		if (layer != null)
		{
			strImageSource = (layer.document.images[strImageName] != null) ? layer.document.images[strImageName].src : "null.gif";
		}
	}
	else if (document.all)
	{
		strImageSource = (document.images[strImageName] != null) ? document.images[strImageName].src : "null.gif";
	}
	else if ((document.getElementById) && (!document.all))
	{
//		alert(eval(strFramePart+'document.getElementById("'+strLayerID+'").firstChild '));
		var objNodeList = eval(strFramePart+'document.getElementById("'+strLayerID+'").childNodes');
		var objIMGNode = getSpecificNode(objNodeList, "IMG")
//		alert("returned from getSpecificNode  \nobjIMGNode = "+objIMGNode);
		if (objIMGNode == null)
		{
//			alert("Because objIMGNode = "+objIMGNode+" we will search for A  objNodeList =" +objNodeList );
			var objAnchorNode = getSpecificNode(objNodeList, "A")
			if (objAnchorNode == null)
			{
				 alert("Failure - Could not find specified node!");
			}
			else
			{
//				alert("now that we've got the A let's search it's children for an IMG");
				var objNodeList  = objAnchorNode.childNodes;
				var objIMGNode = getSpecificNode(objNodeList, "IMG");
			}
		}

		var strImageSource = objIMGNode.src;
	}
	return strImageSource;
}


function getLayerPosX(strLayerID)
{
     if ( getLayerPosX.arguments[1] == null )
     {
	var intXPos = getLayerAttrib(strLayerID, "left");
     }
     else
     {
	var intXPos = 	getLayerAttrib(strLayerID, "left", getLayerPosX.arguments[1]);
     }

	/*

    if (document.all)
    {
	xPos = eval(layerRef + strLayerID+styleSwitch+'.posLeft');
    }
    else if (document.layers)
    {
	xPos = eval(layerRef + strLayerID+styleSwitch+'.left');
    }
    else if (document.getLayerById)
    {

    }
    */

    if (intXPos.indexOf("px") != -1 )
    {
    	intXPos = intXPos.substring (0, intXPos.length-2);
    }
    intXPos = parseInt(intXPos);
    return intXPos;
}



function getLayerPosY(strLayerID)
{
     if ( getLayerPosY.arguments[1] == null )
     {
	var intYPos = getLayerAttrib(strLayerID, "top");
     }
     else
     {
	var intYPos = 	getLayerAttrib(strLayerID, "top", getLayerPosY.arguments[1]);
     }

/*


    if(document.all)
    {
	yPos = eval(layerRef + strLayerID+styleSwitch+'.posTop');
    }
    else
    {
	yPos = eval(layerRef + strLayerID+styleSwitch+'.top');
    }

*/

   if (intYPos.indexOf("px") != -1 )
    {
    	intYPos = intYPos.substring (0, intYPos.length-2);
    }
    intYPos = parseInt(intYPos);
    return intYPos;
}



function setLayerPos(strLayerID, intXPos, intYPos)
{
//alert("entered setLayerPos(strLayerID("+strLayerID+"), intXPos("+intXPos+"), intYPos("+intYPos+"))");
     if ( setLayerPos.arguments[3] == null )
     {
		setLayerAttrib(strLayerID, "left", intXPos);
		setLayerAttrib(strLayerID, "top", intYPos);
     }
     else
     {
		setLayerAttrib(strLayerID, "left", intXPos, setLayerPos.arguments[3]);
		setLayerAttrib(strLayerID, "top", intYPos, setLayerPos.arguments[3]);
     }
}




function getFormValue()
{
  var strFormValue;

        if (document.all)
        {
  		strFormValue = document.form1.chooseWord.value;
  	}
  	else
  	{
  		strFormValue = document.blank1.document.form1.chooseWord.options[document.blank1.document.form1.chooseWord.selectedIndex].value
  	}
  	return strFormValue;
}



function setFormValue(strValueToSet)
{
        if (document.all)
        {
  		document.form1.chooseWord.value = strValueToSet;
  	}
  	else
  	{
  	        document.blank1.document.form1.chooseWord.options[strValueToSet].selected=true;
  	}
}


function writeCode(strCode, strLayerID)
{
     var strFramePart = setFramePart(writeCode.arguments[2]);
//     alert("writeCode is recieving: \nstrCode = "+strCode+"\nstrLayerID = "+strLayerID+"\nstrFramePart = "+strFramePart);

	if (document.all)
	{
		var obj1 = eval(strFramePart+'document.all.'+strLayerID);
		obj1.innerHTML = strCode;
	}
	else if (document.layers)
	{
		var obj1 = eval(strFramePart+'document.'+strLayerID)
		obj1.document.open();
		obj1.document.write(strCode);
		obj1.document.close();
	}
	else if (document.getElementById)
	{
     	var node1 = eval(strFramePart+'document.getElementById("'+strLayerID+'")');
     	while (node1.hasChildNodes())
     	{
     	    node1.removeChild(node1.lastChild)	;
     	}
     	var range = document.createRange();
     	range.setStartBefore(node1);
    	var nodeHTMLFragment = range.createContextualFragment( strCode );
    	node1.appendChild(nodeHTMLFragment);

    }
}

















function setLayerClassName( strLayerID, strValue )
{
  var strFramePart = ""; //setFramePart(setLayerClass.arguments[2]);

  if (document.getElementById)
  {
		eval(strFramePart+'document.getElementById("'+strLayerID+'").className = "'+strValue+'"');
  }
  else if (document.all)
  {
		eval(strFramePart+'document.all.'+strLayerID+'.className = "'+strValue+'"');
  }
  else if (document.layers)
  {
		eval(strFramePart+'document.'+strLayerID+'.className = "'+strValue+'"');
  }
}












//  ================================= Not Directly Dom but FORKED FUNCTIONS =====================================================

function setCode(strText, strLayerID)
{

   var strClassCode = (setCode.arguments[2] != "null") ? 'class="'+setCode.arguments[2]+'"'  : '';
   var strLayerWidthCode = (setCode.arguments[3] != "null") ? 'width="'+setCode.arguments[3]+'"' : '';
//       alert("setCode is recieving: \nstrText = "+strText+"\nstrLayerID = "+strLayerID+"\nstrClassCode = "+strClassCode+"\nstrLayerWidthCode = "+strLayerWidthCode);


    if (document.layers)
    {
    	 var strCode = '<layer '+strLayerWidthCode+'><span '+strClassCode+'>' +strText+ '</span></layer>';
    }
    else
    {
    	 var strCode = '<span '+strClassCode+'>'+strText+'</span>';
    }

	if ( setCode.arguments[4] == null)
	{
		writeCode(strCode, strLayerID)
	}
	else
	{
		writeCode(strCode, strLayerID, setCode.arguments[4])
	}
}



function setFramePart(arg)
{
   var framePart = (arg != null)?  'top.'+arg+"." : framePart = "";
   return framePart;
}