var processLayer;
var dataLayer;
var errors;
var xmlreqs;



   //This function is used for submitting  AJAXRequest
	function ajaxSubmit(frmObj,processLayerName,dataLayerName,errors)
	{
	  dataLayer=document.getElementById(dataLayerName);
      processLayer=document.getElementById(processLayerName);
      errors=document.getElementById(errors);
      xmlreqs = new Array();
	  var req = createRequestObject();
	  xmlreqs.push(req);
	  parameters=createParameters(frmObj);
	  //alert(parameters);
	  if(processLayerName != null && errors!=null){
			processLayer.style.visibility="visible"
			 errors.style.visibility="hidden"
		   
		    processLayer.innerHTML="<font color=\"red\">Processing the Request...., Please Wait</font>";
            location.hash="processLayerName"
			//processLayer.focus();
			
	  }
	  
	  req.onreadystatechange = xmlhttpChange; 
	  req.open("POST", frmObj.action, true);
	  //alert(frmObj.action)


	  req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	  req.setRequestHeader("Content-length", parameters.length);
	  req.send(parameters);
	 
	 
	}


/*This function is to assign the requests to the xmlrequestArray and 
to forward the respone to handlingResponse function*/

function xmlhttpChange() 
{
    
	if (typeof(window['xmlreqs']) == "undefined") 
		return;
    
	for (var i=0; i < xmlreqs.length; i++) {

		if (xmlreqs[i].readyState == 4) 
		{
			if (xmlreqs[i].status == 200 || xmlreqs[i].status == 304){
				req=xmlreqs.splice(i,1);
			
			handleResponse();
		} else {
				// error
		}
	}
}
}



//Creating the Request object with respect to the browser

function createRequestObject() {
    var ro;
    var browser = navigator.appName;

    if(browser == "Microsoft Internet Explorer"){
		try
		{
        ro = new ActiveXObject("Microsoft.XMLHTTP");
        
		}catch(recreate)
		{
			ro = new XMLHttpRequest();
		}
    }else{
        ro = new XMLHttpRequest();
    }

    return ro;
}


//This function appends the form parameters to the querystring
function createParameters(frmObj)
{
	var formlength = frmObj.elements.length;

	var querystring= "";

 	for(var i=0;i<=formlength -1;i++)
	{
		try
		{
			querystring = querystring+ frmObj.elements[i].name+"="+frmObj.elements[i].value+"&";
		}
		catch(e)
		{
			//alert(e);
		}
	}
	return querystring;
}


//This method is used to create an XMLDOM object
function getXMLDocument(){
	if (window.ActiveXObject) 
	{ // IE
        var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        return xmlDoc
	}
}

