function ajaxLoad(sLink, oDiv)
{
	var oAjax
	try
	{
		//Firefox, Opera 8.0+, Safari
		oAjax = new XMLHttpRequest()
	}
	catch (e)
	{
		//IE 6.0+
		try
		{
			oAjax = new ActiveXObject("Msxml2.XMLHTTP")
		}
		catch (e)
		{
			try
			{
				//IE 5.5+
				oAjax = new ActiveXObject("Microsoft.XMLHTTP")
			}
			catch (e)
			{
				return false
			}
		}
	}

	oAjax.onreadystatechange=function()
	{
		if(oAjax.readyState == 4)
		{
		    //alert('before: ' + document.getElementById(oDiv).innerHTML)
		    //alert('inject: ' + oAjax.responseText)
			document.getElementById(oDiv).innerHTML = oAjax.responseText;
			//alert('after: ' + document.getElementById(oDiv).innerHTML)
			var x = document.getElementById(oDiv).getElementsByTagName("script")
			for (var i = 0; i < x.length; i++) {eval(x[i].text)}
		}
	}
	oAjax.open("GET", sLink, true)
	oAjax.send(null)
}

function ajaxSubmit(sAjax, sAction, sSubAction, sUpdateElement, sValue1, sValue2, sValue3, sValue4, sValue5, sValue6, sValue7, sValue8, sValue9, sValue10)
{
    //alert(sAjax + ' :: ' + sAction + ' :: ' + sSubAction + ' :: ' + sUpdateElement + ' :: ' + sValue1 + ' :: ' + sValue2 + ' :: ' + sValue3 + ' :: ' + sValue4)
    ajaxLoad(sAjax + "?action=" + sAction + "&sub=" + sSubAction + "&value1=" + sValue1 + "&value2=" + sValue2 + "&value3=" + sValue3 + "&value4=" + sValue4 + "&value5=" + sValue5 + "&value6=" + sValue6 + "&value7=" + sValue7 + "&value8=" + sValue8 + "&value9=" + sValue9 + "&value10=" + sValue10 + "&rnd=" + Math.random() * 5, sUpdateElement)
    return false
}

function allowNumbersOnly(myfield, e, dec)
{
    //usage: ONKEYPRESS="return allowNumbersOnly(this, event, true)" - false for dec if not decimal places are allowed

    var key;
    var keychar;

    if (window.event)
    {
        key = window.event.keyCode;
    }
    else if (e)
    {
        key = e.which;
    }
    else
    {
        return true;
    }

    keychar = String.fromCharCode(key);

    // control keys
    if ((key == null) || (key == 0) || (key == 8) || (key == 9) || (key == 13) || (key == 27))
    {
        return true;
    }
    else if ((("0123456789").indexOf(keychar) > -1))
    {
        if (myfield.value.indexOf(".") > -1)
        {
            return regExTest("^[-]?([1-9]{1}[0-9]{0,}(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|\.[0-9]{1,2})$", myfield.value + keychar)
        }
        else
        {
            return true;
        }
    }
    else if (dec && (keychar == "."))
    {
        if (myfield.value.indexOf(".") > -1)
        {
            return false;
        }
        else
        {
            return true;
        }
        //myfield.form.elements[dec].focus();
    }
    else
    {
        return false;
    }
}

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}
function menuTopOver(oEvent, sMenu)
{
	document.getElementById('lia' + sMenu).style.color = 'yellow'
	showTopMenu(oEvent, 'oMenu' + sMenu)
}

function menuTopOut(oEvent, sMenu)
{
	document.getElementById('lia' + sMenu).style.color = 'white'
	bMenu = false
}

function showTopMenu(element, sMenu)
{
	if (sCurMenu != "")
	{
		var x = document.getElementById(sCurMenu)
		x.style.display = 'none'
		clearTimeout(oTimer)
	}

	sCurMenu = sMenu
	bMenu = true

	var oRightMenuCoords = findPos(document.getElementById("liaConcepts"))
	var iRightMenuPosition = oRightMenuCoords[0] + oRightMenuCoords[2]

	var oCurrentMenu = document.getElementById(sMenu)
	var oCurrentMenuCoords = findPos(element)
	var iCurrentMenuWidth = Number(oCurrentMenu.style.width.replace('px', ''))

	oCurrentMenu.style.position = 'absolute'
	oCurrentMenu.style.top = oCurrentMenuCoords[1] + 27 + 'px'

	if (oCurrentMenuCoords[0] + oCurrentMenuCoords[2] + iCurrentMenuWidth < oRightMenuCoords[0] + oRightMenuCoords[2])
	{
		oCurrentMenu.style.left = oCurrentMenuCoords[0] + 'px'
	}
	else
	{
	    oCurrentMenu.style.left = oCurrentMenuCoords[0] + 'px'
		//oCurrentMenu.style.left = oCurrentMenuCoords[0] + oCurrentMenuCoords[2] - iCurrentMenuWidth + 'px'
	}

	oCurrentMenu.style.display = 'block'
	oTimer = window.setTimeout("hideDiv()", 1000)
}
function hideDiv()
{
	if (bMenu == true)
	{
		var timer = window.setTimeout("hideDiv()", 1000)
	}
	else
	{
		document.getElementById(sCurMenu).style.display = 'none'
	}
}

function findPos(obj)
{

	var iLeft = 0
	var iTop = 0
	var iWidth = 0
	var iHeight = 0

	if (obj.offsetParent)
	{
		iLeft = obj.offsetLeft
		iTop = obj.offsetTop
		iWidth = obj.offsetWidth
		iHeight = obj.offsetHeight

		while (obj = obj.offsetParent)
		{
			iLeft += obj.offsetLeft
			iTop += obj.offsetTop
		}
	}
	return [iLeft,iTop,iWidth,iHeight];
}
