﻿function CallSINIMethod(methodName, arguments) {
    var url = "JSINI.aspx?method=" + methodName;
    for (var ii = 0; ii < arguments.length; ii++) {
        var argVal = arguments[ii];
        if (argVal == null) {
            argVal = "^^NULL";
        }
        
        url = url + "&arg" + ii + "=" + escape(arguments[ii]);
    }
	url = url + "&t=" + new Date().getTime();
	var returnXML = JSINI_AjaxReq(url, null);
    //return (JSINI_AjaxReq(url, null));

	var xmlDoc;

	try //Internet Explorer
	{
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async="false";
		xmlDoc.loadXML(returnXML);
	}
	catch(e)
	{
		try //Firefox, Mozilla, Opera, etc.
		{
			parser=new DOMParser();
			xmlDoc=parser.parseFromString(returnXML,"text/xml");
		}
		catch(e)
		{
			alert(e.message);
			return;
		}
	}

	var siniArray = xmlDoc.getElementsByTagName("string");
	var valueArray = new Array(siniArray.length);
	for (var i=0;i<siniArray.length;i++)
	{
		// see if the return value is blank
		if (xmlDoc.getElementsByTagName("string")[i].childNodes.length == 1)
		{
			valueArray[i] = xmlDoc.getElementsByTagName("string")[i].childNodes[0].nodeValue;
		}
		else
			valueArray[i] = "";
	}

	if (methodName == "GetListValue")
	{
		return valueArray;
	}
	else
		return valueArray[0];

}

function JSINI_AjaxReq(url, args) {
    if (window.XMLHttpRequest)
        req = new XMLHttpRequest();
    else if (window.ActiveXObject)
        req = new ActiveXObject("Microsoft.XMLHTTP");
    else
        return;
	req.open("GET", url, false);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
	req.send(args);
	return (req.responseText);
}


