/* DO NOT CHANGE THIS SECTION */
var xmlHttp;
var theItem;
var bufferZone;
var bufferString;
var nRowCount = 0;
	
function tester()
{
	alert("Script Running");
}

function stateChanged()
{
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		document.getElementById(theItem).innerHTML=xmlHttp.responseText;
	}
}

function stateChangedDrop()
{
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		var obj = document.getElementById(theItem);
		eval(xmlHttp.responseText);
	}
}

function stateChangedExecution()
{
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		var obj = document.getElementById(theItem);
		eval(xmlHttp.responseText);
	}
}

function stateChangedParse()
{
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		bufferZone = xmlHttp.responseText;
		var tmp = "";
		for(var i = 0; i < bufferZone.length; ++i)
		{
			if(bufferZone.charAt(i) == ";")
			{
				eval(tmp);
				tmp = "";
			}
			else
			{
				tmp = tmp + bufferZone.charAt(i);
			}
		}
	}
}

function GetXmlHttpObject()
{
	var tmpObject=null;
	if (window.XMLHttpRequest)
	{
		tmpObject=new XMLHttpRequest();
	}
	else if (window.ActiveXObject)
	{
		tmpObject = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return tmpObject;
}

function getDropDown(str, elem)
{
	var url;
	xmlHttp = GetXmlHttpObject();
	if(xmlHttp==null)
	{
		alert("Browser doesn't support HTTP");
	}
	else
	{
		if(str.length == 0)
		{
			return 1;
		}	
		else
		{		
			url = str;
			theItem = elem;
			document.getElementById(theItem).options.length = 0;
			xmlHttp.onreadystatechange=stateChangedDrop;
			xmlHttp.open("GET", url, true);
			xmlHttp.send(null);
		}
	}
}

function sendDropDownExecution(str)
{
	var url;
	xmlHttp = GetXmlHttpObject();
	//alert("sendDropDownExecution(str)");
	if(xmlHttp==null)
	{
		alert("Browser doesn't support HTTP");
	}
	else
	{
		if(str.length == 0)
		{
			return 1;
		}	
		else
		{		
			url = str;
			xmlHttp.onreadystatechange=stateChangedParse;
			xmlHttp.open("GET", url, true);
			xmlHttp.send(null);
		}
	}
}

function sendDataExecution(str)
{
	var url;
	xmlHttp = GetXmlHttpObject();
	if(xmlHttp==null)
	{
		alert("Browser doesn't support HTTP");
	}
	else
	{
		if(str.length == 0)
		{
			return 1;
		}	
		else
		{		
			url = str;
			//alert(url);
			xmlHttp.onreadystatechange=stateChangedParse;
			xmlHttp.open("GET", url, true);
			xmlHttp.send(null);
		}
	}
}

function sendDataExecutionWithBuffer(str)
{
	var url;
	xmlHttp = GetXmlHttpObject();
	if(xmlHttp==null)
	{
		alert("Browser doesn't support HTTP");
	}
	else
	{
		if(str.length == 0)
		{
			return 1;
		}	
		else
		{		
			url = str + bufferString;
			//alert(url);
			xmlHttp.onreadystatechange=stateChangedParse;
			xmlHttp.open("GET", url, true);
			xmlHttp.send(null);
		}
	}
}


/********************************************************************/

function updateLineTotal(pPrice, pDiscount, pValue, pTarget)
{
	var myDiscount = 0;
	if(pDiscount != "" && pDiscount != " ")
		myDiscount = parseFloat(pPrice) * (parseFloat(pDiscount) / 100);
	
	if(parseFloat(pValue) != 'NaN')
	{
		pTarget.value = (parseFloat(pValue) * (parseFloat(pPrice)-myDiscount));
	}
	else
	{
		pTarget.value = 0;
	}
	
	if(myDiscount == 0)
	{
		return parseFloat(pPrice);
	}
	else
	{
		return (parseFloat(pPrice)-myDiscount);
	}
}

function setGroupData(pStrName, pStart, pEnd, pValue)
{
	for(i = pStart; i <= pEnd; ++i)
	{
		document.getElementById(pStrName+i).value = pValue;
	}
}

function checkNumericInput(pValue, pAgainst, pTarget)
{
	if(isNaN(parseFloat(pValue)) || parseFloat(pValue) > parseFloat(pAgainst) || parseFloat(pValue) <= 0)
	{
		alert("Invalid input!");
		pTarget.disabled=true;
	}
	else
	{
		pTarget.disabled=false;
	}
}

function checkNumericInput2(pValue, pAgainst)
{
	if(isNaN(parseFloat(pValue)) || parseFloat(pValue) <= 0)
	{
		return 0;
	}
	else
	{
		return pValue;
	}
}

function percentageInterpreter(pValue)
{
	if(pValue[pValue.length-1] == "%")
		return true;
	return false;
}

function updateTotalPrice(str, n)
{
	var total = 0;
	for(i = 1; i <= n; ++i)
	{
		total = parseFloat(total) + parseFloat(document.getElementById(str+i).value); 	
	}
	return total;
}

function computeDiscount(forDiscountAmount)
{
	var total = 0;
	return total;
}

function calculatePo(str, n)
{
	var total = 0;
	var discount = 0;
	var finalTotal = 0;
	total = updateTotalPrice(str, n);
	finalTotal = total;
	return finalTotal;
}

function updatePoDiscount(pPriceStr, pDiscountStr, pQuantityStr, pLineTargetStr, n, pDiscountValue, pHiddenPriceCarrierStr)
{
	for(i = 1; i <= n; ++i)
	{
		if(document.getElementById(pPriceStr+i).value != "")
		{
			document.getElementById(pDiscountStr+i).value = pDiscountValue;
			document.getElementById(pHiddenPriceCarrierStr+i).value=updateLineTotal(document.getElementById(pPriceStr+i).value, document.getElementById(pDiscountStr+i).value, document.getElementById(pQuantityStr+i).value, document.getElementById(pLineTargetStr+i)); 
		}
	}
}

function supplierDropDownChanged(pSender, pStr)
{
	if(pSender.value != "" && pSender.value != " ")
	{
		sendDropDownExecution(pStr);	
	}
}

function checkBoxHandler(x)
{
	if(x.value == 1)
	{
		return 0;
	}
	else
	{
		return 1;
	}
}

function assembleGroupData(pListNameStr, pListCount)
{
	bufferString = "";
	for(var x = 1; x <= pListCount-1; ++x){
		if((document.getElementById(pListNameStr+x).value) != '0'){
			bufferString = bufferString + "&p" + x + "=";
			bufferString = bufferString + (document.getElementById(pListNameStr+x).value);
		}
	}
}

function checkBoxHandlerSetData(x, y)
{
	if(x != 0){
		return 0;
	}
	else{
		return y;
	}
}

function setVisibility(x)
{
	if(x.style.visibility == "hidden" || x.style.visibility == "collapse")
	{
		x.style.visibility = "visible";
	}
	else
	{
		if(navigator.appName == "Netscape")
		{
			x.style.visibility = "collapse";
		}
		else
		{
			x.style.visibility = "hidden";
		}
	}
}

function checkBoxHandlerRef(x, y)
{
	y.options = null;
	if(x.value == 1)
	{
		return 0;
	}
	else
	{
		return 1;
	}
} 

function transmit(str)
{
	var url;
	var loader_str = "<table height='100%' width='100%'><tr><td valign='middle' align='center'><img src='img/ajax-loader.gif' /></td></tr></table>";
	xmlHttp = GetXmlHttpObject();
	document.getElementById("screen").innerHTML=loader_str;
	
	if(xmlHttp==null)
	{
		alert("Browser doesn't support HTTP");
	}
	else
	{
		if(str.length == 0)
		{
			document.getElementById("screen").innerHTML="";
		}	
		else
		{		
			url = str;
			//alert(url);
			theItem = "screen";
			xmlHttp.onreadystatechange=stateChanged;
			xmlHttp.open("GET", url, true);
			xmlHttp.send(null);
		}
	}
}

function transmit_update_element(str, elem)
{
	var url;
	xmlHttp = GetXmlHttpObject();
	if(xmlHttp==null)
	{
		alert("Browser doesn't support HTTP");
	}
	else
	{
		if(str.length == 0)
		{
			return 0;
		}	
		else
		{		
			url = str;
			//alert(url);
			theItem = elem;
			xmlHttp.onreadystatechange=stateChangedExecution;
			xmlHttp.open("GET", url, true);
			xmlHttp.send(null);
		}
	}
}

function transmit_wpointer(str, elem)
{
	var url;
	var loader_str = "<table height='100%' width='100%'><tr><td valign='middle' align='center'><img src='img/ajax-loader.gif' /></td></tr></table>";
	xmlHttp = GetXmlHttpObject();
	document.getElementById(elem).innerHTML=loader_str;
	if(xmlHttp==null)
	{
		alert("Browser doesn't support HTTP");
	}
	else
	{
		if(str.length == 0)
		{
			document.getElementById(elem).innerHTML="";
		}	
		url = str;
		//alert(url);
		theItem = elem;
		xmlHttp.onreadystatechange=stateChanged;
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
	}
}

// THIS IS A FUNCTION FOR FORM
function transmit_wpointer_form(str, formId, elem)
{
	var url;
	xmlHttp = GetXmlHttpObject();
	if(xmlHttp==null)
	{
		alert("Browser doesn't support HTTP");
	}
	else
	{
		if(str.length == 0){
			document.getElementById(elem).innerHTML="";
		}
		
		for(i = 0; i < document.getElementById(formId).length; ++i)
		{
			var n;
			n = document.getElementById(formId).elements[i];
			if(n.tagName == "SELECT")
			{
				str = str + "&p" + i + "=" + n.value;
			}
			else
			{
				str = str + "&p" + i + "=" + n.value;
			}
		}
		
		url = str;
		theItem = elem;
		xmlHttp.onreadystatechange=stateChanged;
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
	}
}
// ------ END ------

function transmitGroupData(str, pListNameStr, pListCount, elem)
{
	var url;
	xmlHttp = GetXmlHttpObject();
	if(xmlHttp==null)
	{
		alert("Browser doesn't support HTTP");
	}
	else
	{
		if(str.length == 0)
		{
			document.getElementById(elem).innerHTML="";
		}
				
		var myStr = "";
		for(var x = 1; x <= pListCount-1; ++x)
		{
			if((document.getElementById(pListNameStr+x).value) != '0')
			{
				myStr = myStr + "&p" + x + "=";
				myStr = myStr + (document.getElementById(pListNameStr+x).value);
			}
		}
		url = str + myStr;
		theItem = elem;
		xmlHttp.onreadystatechange=stateChanged;
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
	}
}

function sum(elementStr, elementCount)
{
	var total = 0;
	for(var x = 1; x <= elementCount; ++x){
		total = total + parseFloat(document.getElementById(elementStr+x).value);
	}
	return total;
}

function getDropDownCross(checkBoxName, path1, path2, elem)
{
	var url;
	var str;
	if(checkBoxName.value == 0)
	{
		str = path1;
	}
	else
	{
		str = path2;
	}
	xmlHttp = GetXmlHttpObject();
	if(xmlHttp==null)
	{
		alert("Browser doesn't support HTTP");
	}
	else
	{
		if(str.length == 0)
		{
			return 1;
		}	
		else
		{		
			url = str;
			theItem = elem;
			document.getElementById(theItem).options.length = 0;
			xmlHttp.onreadystatechange=stateChangedDrop;
			xmlHttp.open("GET", url, true);
			xmlHttp.send(null);
		}
	}	
}

function sendDropDown(str, elem)
{
	var url;
	xmlHttp = GetXmlHttpObject();
	if(xmlHttp==null)
	{
		alert("Browser doesn't support HTTP");
	}
	else
	{
		if(str.length == 0)
		{
			return 1;
		}	
		else
		{
			url = str;
			theItem = elem;
			document.getElementById(elem).innerHTML = "";
			xmlHttp.onreadystatechange=stateChanged;
			xmlHttp.open("GET", url, true);
			xmlHttp.send(null);
		}
	}
}

function sendDropDownData(str)
{
	var url;
	xmlHttp = GetXmlHttpObject();
	if(xmlHttp==null)
	{
		alert("Browser doesn't support HTTP");
	}
	else
	{
		if(str.length == 0)
		{
			return 1;
		}	
		else
		{
			url = str;
			xmlHttp.open("GET", url, true);
			xmlHttp.send(null);
		}
	}
}

function testForAlpha(s)
{
	for(var i = 0; i < s.length; ++i)
	{
		if((s.charCodeAt(i) < 65 || s.charCodeAt(i) > 90) && (s.charCodeAt(i) < 97 || s.charCodeAt(i) > 122))
		{
			return 0;
		}
	}
	return 1;
}

function testForNumeric(str)
{
	for(var i = 0; i < str.length; ++i)
	{
		if((str.charCodeAt(i) < 48 || str.charCodeAt(i) > 57) && str.charCodeAt(i) != ".")
		{
			return false; 
		}
	}				
	return true;
}

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;
}