//This is used to deal with some Box Model Problem issues
if (document.all) {
	var arrX = new Array("margin-left","margin-right");
	var arrY = new Array("margin-top","margin-bottom");
}
else {
	var arrX = new Array("margin-left","margin-right", "border-left-width", 
				"border-right-width", "padding-left", "padding-right");
	var arrY = new Array("margin-top","margin-bottom", "border-top-width", 
				"border-bottom-width", "padding-top", "padding-bottom");
}
///////////////////////////////////////////////////////////////////////////////////////////////////
//Gets passed sId, which is the parent element (with XML menu node)which the menu attaches to
//Currently has hard coded menucontainer minimum width
function makeIntoMenu(sHTML,sId, sRegion, sLang, iMaxWidth) {
	var obj, iMinWidth = 30, oContainer, arrItems, oItem;
	oParent               = getElem(sId);
	oParent.innerHTML    += sHTML;
///potato
	oContainer =  oParent.getElementsByTagName("div")[0]
	oContainer.style.left = "0px";
	oContainer.style.top = oParent.offsetHeight;
//Set event handlers for parent, add control to menu container to stop event propagation
	oContainer.onclick  = stopProp;
	oParent.onmouseover = function() { oContainer.style.visibility = "visible" };
	oParent.onmouseout  = function() { oContainer.style.visibility = "hidden" };
	if (bLogin)
		oParent.onclick = new Function("sLangTemp='';loadPage('getRegion.asp?lang=" + sLang + "&region=" + sRegion + "')");
	else
		oParent.onclick = new Function("loadPage('getRegion.asp?lang=" + sLang + "&region=" + sRegion + "')");
//Set item div width
	arrMenuitems = oContainer.getElementsByTagName("div");
	for (i = 0; i < arrMenuitems.length; i++) {
		arrDim = setMenuDimensions(iMaxWidth, arrMenuitems[i]);
		if (arrDim[0] < iMinWidth)
			arrDim[0] = iMinWidth;
		arrMenuitems[i].style.width  = arrDim[0] + "px";
		arrMenuitems[i].style.height = arrDim[1] + "px";
		if (arrDim[0] > parseInt(arrMenuitems[i].style.width) || isNaN(parseInt(arrMenuitems[i].style.width)))
			arrMenuItems[i].style.width = (parseInt(arrDim[0]) + parseInt(getEdges(arrMenuItems[i]))) + "px";
	}
//Check existing menuitem widths, and match them all to widest
	for (i=0; i < arrMenuitems.length; i ++) {
		iTemp = parseInt(arrMenuitems[i].style.width);	
		for (j = 1; j < arrMenuitems.length; j++) {
			if (iTemp < parseInt(arrMenuitems[j].style.width)) 
				arrMenuitems[i].style.width = arrMenuitems[j].style.width;
			else
				arrMenuitems[j].style.width = arrMenuitems[i].style.width;
		}
	}
	if (parseInt(arrMenuitems[0].style.width) < parseInt(arrMenuitems[1].style.width))
		arrMenuitems[0].style.width = arrMenuitems[1].style.width;
//match container's width
	iTemp = 0;
	for (i = 0; i < arrX.length; i++)
		iTemp += parseInt(getStyle(arrMenuitems[0], arrX[i]));
	oContainer.style.width = parseInt(arrMenuitems[0].style.width) + iTemp + "px";
}
///////////////////////////////////////////////////////////////////////////////////////////////////
//Find total width of padding, borders margins (Non-IE), or margins (IE)
function getEdges(obj) {
	iWidth = 0;
	for (p = 0; p < arrX.length; p++) 
		iWidth += getStyle(obj, arrX[p]);
	return iWidth;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
//Create temp element to chekc on an element's final dimensions
function setMenuDimensions(iMaxWidth, oItem) {
	var arr = new Array(2);
	sText = oItem.firstChild.nodeValue;
	if (isNaN(iMaxWidth))
		iMaxWidth = 200;
	oTxt                = document.createTextNode(sText);
	var oDiv            = document.createElement("span");
	oDiv.style.cssRules = "visibility: hidden; overflow: auto";
	(document.all) ? oDiv.setAttribute("className", oItem.getAttribute("class")) : 
			oDiv.setAttribute("class", oItem.getAttribute("class"));
	oDiv.appendChild(oTxt);
	oDiv                = document.getElementsByTagName("body")[0].appendChild(oDiv);	
	var w               = parseInt(oDiv.offsetWidth);
	var h               = parseInt(oDiv.offsetHeight);
//If text is too wide, create as div, and get dimensions of: (iMaxWidth, div.height)
	if (w > iMaxWidth) {
		document.getElementsByTagName("body")[0].removeChild(oDiv);
		oDiv = document.createElement("div");	
		oDiv = document.getElementsByTagName("body")[0].appendChild(oDiv);
		(document.all) ? oDiv.setAttribute("className", oItem.getAttribute("class")) : 
			oDiv.setAttribute("class", oItem.getAttribute("class"));
		oDiv.style.width = iMaxWidth + "px";		
		oDivText    = oDiv.appendChild(oTxt);
		w           = iMaxWidth;
		h           = parseInt(oDiv.offsetHeight);
	}
	document.getElementsByTagName("body")[0].removeChild(oDiv);
	arr[0] = w;
	arr[1] = h;
	return arr;
}
