// initialize the validation requests cache 
var cache = new Array(); 

// the function handles the validation for any form field 
function validate(inputValue, fieldID, dependValue) 
{ 		
		//make the request
		AjaxRequest.post
		(
		  	{
		  		
		  	'parameters':{'inputValue':inputValue, 'fieldID' : fieldID, "dependName" : dependValue}
		    ,'url':'ValidateErrorReturn.php'
		    ,'onLoading':function()
			  { 
				
			  }
		    ,'onSuccess':function(req)
		    	{
		    		// get response in XML format (assume the response is valid XML) 	
			    	var responseXml = req.responseXML; 
						// get the document element 
					var xmlDoc = responseXml.documentElement;

					if (!xmlDoc)
					{
						var responseXml = new ActiveXObject("Microsoft.XMLDOM");
						
						var xmlDoc1 = responseXml.loadXML(req.responseText);
					
						var xmlDoc = responseXml.documentElement;
					}
					else
					{
						 xmlDoc.normalize();
					}
					
		    		var result = xmlDoc.getElementsByTagName("result")[0].firstChild.data; 
					var fieldIDs = xmlDoc.getElementsByTagName("fieldid")[0].firstChild.data; 
					// find the HTML element that displays the error 
					var message = document.getElementById(fieldIDs + "Failed"); 
					var messageExist =0;
					if (document.getElementById(fieldIDs + "ExistFailed"))
					messageExist = document.getElementById(fieldIDs + "ExistFailed"); 
					
					message.className = "hidden";
				
					// show the error or hide the error 
					if (result == "-1")
					{
						if (messageExist) messageExist.className="error";
						message.className="hidden";
					}
					else if (result == "0")
					{
						message.className = "error";
						if (messageExist) messageExist.className = "hidden";
					}					
					
		    	}
		    ,'onError':function(req)
		    	{ 
		    		AjaxError(req);
		    	}
		  	}
		);
	
	

}