var xmlHttp;
var g_divName;
var g_loadText;
var g_NextFileName;

function getval(method,fileName,divName,formName,displayText,urlParameters)
{ 
	var parameters;
	var flag;
	
	errorMessage=document.getElementById("result_section").innerHTML;
	if ((errorMessage.indexOf("Error Message")>=0) || (errorMessage.indexOf("System Message")>=0))
	{
		toggleBox("result_section",0,0,0);
	}
	
	g_loadText=displayText;
	if 	(formName=="")
		parameters="-";
	else
		parameters=getElements(formName);
		
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
		alert ("Browser does not support HTTP Request")
		return
	}
	
	var url=fileName+'?'+Math.random() + urlParameters;
	g_divName=divName;
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open(method,url,true);
	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttp.setRequestHeader("Content-length", parameters.length);
    xmlHttp.setRequestHeader("Connection", "close");
	
	xmlHttp.send(parameters);

}
function GetXmlHttpObject()
{
	var objXMLHttp=null
	if (window.XMLHttpRequest){
		objXMLHttp=new XMLHttpRequest()
	}
	else if (window.ActiveXObject){
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	return objXMLHttp
}

function stateChanged(divName)
{
	var WCH = new WCH_Constructor();
	
	if (xmlHttp.readyState==4)
	{
		CloseMe();
		completeString=xmlHttp.responseText;
		if (completeString.indexOf("<<-//Redirect_File_Script_Start->>")>=0)
		{
			completeString=completeString.split("<<-//Redirect_File_Script_Start->>");
			completeString=completeString[1];
			completeString=completeString.split("<<-//Redirect_File_Script_End->>");
			completeString=completeString[0];
			completeString=completeString.split("?");
			toggleBox("result_section",0,0,0);
			DisplayText=g_loadText;
			getval("POST",completeString[0],"main_section","","Loading...","&" + completeString[1]);			
		}
		else if(completeString.indexOf("<<-//Refresh_Page_Script_Start->>")>=0)
		{
			completeString=completeString.split("<<-//Refresh_Page_Script_Start->>");
			completeString=completeString[1];
			completeString=completeString.split("<<-//Refresh_Page_Script_End->>");
			completeString=completeString[0];
			completeString=completeString.split("?");
			window.location.href=completeString[0];
		}
		else
		{	
			document.getElementById(g_divName).innerHTML=xmlHttp.responseText;	
			
			msg_text=xmlHttp.responseText;
			
			if (g_divName=="result_section")
			{
				
				size=30;
				msg_text=msg_text.split("<br>");
				if ((msg_text.length==1) || (msg_text.length==0))
					size=size + 20;
				else
				size=size + (msg_text.length * 14);
				toggleBox("result_section",1,455,size);
				WCH.Apply("result_section","",true);
			}
		}
	}
	else
	{
		document.getElementById("result_section").innerHTML="<div align='center'> <span class='LoadingText' > <strong>" +  g_loadText + "</strong></span></div>";
		if (g_loadText=="Validation Process...")
			width_size=200;
		else if (g_loadText=="Searching Records...")
			width_size=200;
		else		
			width_size=135;
		
		toggleBox("result_section",1,width_size,22);
		WCH.Apply("result_section","",true);		
	}
	return true;
}

function getElements(formName)
{
	var queryString="";
	d = eval("document." + formName);
	for(i=0;i<(d.elements.length);i++)
	{
		if ((d.elements[i].type=="radio") || (d.elements[i].type=="checkbox"))
		{
			if (d.elements[i].checked)
				queryString +=d.elements[i].name+"="+escape(d.elements[i].value)+"&";
		}
		else
		{
			queryString +=d.elements[i].name+"="+escape(d.elements[i].value)+"&";
		}
	}
	return queryString;
}

function toggleBox(szDivID,iState,Width,Height) // 1 visible, 0 hidden
{
	if (document.body.scrollTop==0)
		scrollTop=0;
	else
		scrollTop=document.body.scrollTop+160;
	pageW=(screen.width-20);
	pageH=((screen.height-120) + scrollTop);//document.getElementsByTagName('body')[0].clientHeight + document.getElementsByTagName('body')[0].scrollMaxY);
	divW=Width;
	divH=Height;

    if(document.layers)	   //NN4+
    {
	   	document.layers[szDivID].style.height=Height;
		document.layers[szDivID].style.width=Width;
		document.layers[szDivID].style.left =(pageW/2)-(divW/2);
		document.layers[szDivID].style.top =(pageH/2)-(divH/2);
		document.layers[szDivID].visibility = iState ? "show" : "hide";
		if (iState==0)
		{
			document.layers[szDivID].style.top=0;
			document.layers[szDivID].style.left=0;
		}

    }
    else if(document.getElementById)	  //gecko(NN6) + IE 5+
    {
        var obj = document.getElementById(szDivID);
		obj.style.height=Height;
		obj.style.width=Width;
		obj.style.left  =(pageW/2)-(divW/2);
		obj.style.top =(pageH/2)-(divH/2);
		obj.style.visibility = iState ? "visible" : "hidden";
		if (iState==0)
		{
			obj.style.top=1;
			obj.style.left=1;
			obj.style.height=100;
			obj.style.width=100;
		}
    }
    else if(document.all)	// IE 4
    {
       
		document.all[szDivID].style.height=Height;
		document.all[szDivID].style.width=Width;
		document.all[szDivID].style.left  =(pageW/2)-(divW/2);
		document.all[szDivID].style.top =(pageH/2)-(divH/2);
		document.all[szDivID].style.visibility = iState ? "visible" : "hidden";
		if (iState==0)
		{
			document.all[szDivID].style.top=0;
			document.all[szDivID].style.left=0;
		}
    }
	
}
