function newXMLHttpRequest() {

    var xmlreq = false;
    if (window.XMLHttpRequest) {
        xmlreq = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        try {
            xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e1) {
            window.alert("Failed to create required ActiveXObject");
            try {
                xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e2) {
                window.alert("Unable to create an XMLHttpRequest with ActiveX");
            }
        }
    }
    return xmlreq;
}

function getReadyStateHandler(req, target) {

    return function () {
        switch (req.readyState) 
		{
	        case 0 :
		    case 1 :
			case 2 :
	        case 3 :
				if(target == "apMainArea")
				    printLoading(target);
				if(target == "stdMainOrgArea")
				try
				{
					document.getElementById("orgArea").innerHTML = "<p align='center' valign='middle' style='padding-top:180px;'><img src='/img/loading.gif'></p>";					
				}
				catch (e1)
				{
				}
		        break;
		    case 4 :
			    if (req.status == 200) 
				{
					printData(req, target);
	            }
				else
				{
		            alert("HTTP error: "+req.status);
	            }
			    break;
        }
    }
}

function printLoading(target)
{
    document.getElementById(target).innerHTML = "<p align='center' valign='middle' style='padding-top:180px;'><img src='/img/loading.gif'></p>";
}

function kin(link, query, target)
{
    var req = newXMLHttpRequest();
    var handlerFunction = getReadyStateHandler(req, target);
    req.onreadystatechange = handlerFunction;
    req.open("POST", link, true);
    req.setRequestHeader("Content-Type",
                       "application/x-www-form-urlencoded");
    req.send("q="+query);

}

function getXmlData(q, target)
{
	var req = newXMLHttpRequest();
    var handlerFunction = getReadyStateHandler(req, target);
    req.onreadystatechange = handlerFunction;
    req.open("POST", "getRecent.html", true);
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    req.send("q="+q);
}
function printData(req, target)
{
	document.getElementById(target).innerHTML = req.responseText;
}

function getAjaxData(link, mode, query, target)
{
	var req = newXMLHttpRequest();
    var handlerFunction = getReadyStateHandler(req, target);
    req.onreadystatechange = handlerFunction;
    req.open("POST", link, true);
    req.setRequestHeader("Content-Type",
                       "application/x-www-form-urlencoded");
    req.send("mode="+mode+"&q="+query);
}

function getAjaxDataNoReturn(link, mode, query)
{
	var req = newXMLHttpRequest();
    req.open("POST", link, true);
    req.setRequestHeader("Content-Type",
                       "application/x-www-form-urlencoded");
    req.send("mode="+mode+"&q="+query);
}

function getNewPage(req) {

    return function () {
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				getAjaxData("getManageData.html", "editPage", tplType, "apMainArea");
			}
		}
    }
}


function getBgChange(link, mode, query)
{
	var req = newXMLHttpRequest();
    var handlerFunction = getNewPage(req);
    req.onreadystatechange = handlerFunction;
    req.open("POST", link, true);
    req.setRequestHeader("Content-Type",
                       "application/x-www-form-urlencoded");
    req.send("mode="+mode+"&q="+query);
}

////////////////////////// using version2////////////////////////
function change(mode, value)
{
	var req = newXMLHttpRequest();
	req.onreadystatechange = function()
	{
		if(req.readyState == 4) 
		{
		    if (req.status == 200) 
			{

            }
			else
			{
	            alert("HTTP error: "+req.status);			
			}
        }
	}
    req.open("POST", "updateTplSession2H.html", true);
    req.setRequestHeader("Content-Type",
                       "application/x-www-form-urlencoded");
    req.send("mode="+mode+"&value="+value);
}
