
	var req;
	var idWhere;
	var userId;
	var firstNameValid = false;
	var lastNameValid = false;
	var emailValid = false ;
	var loginValid = false;
	var passwordValid = false;
	var companyNameValid = false;
	var customerTypeValid = false;

	var customerType;
	
	var idForm;
	
	
	
	function validate( _userId,  _type, _idWhere, _idCompareTo) {		
			   
	   userId = _userId;
       idWhere = _idWhere;	   
	   var idField = document.getElementById(userId);
	   var compareValue = "";
	   
	   // checks if there is a value to compare
	   if (_idCompareTo != "null" && _idCompareTo != null && _idCompareTo.length > 0){
		   if (document.getElementById(_idCompareTo) != null){
			   compareValue = document.getElementById(_idCompareTo).value;
		   }
	   }
	   
	   var url = "ValidateData?data=" + escape(idField.value) + "&dataType=" + _type + "&dataName=" + idField.getAttribute("name")
	   					+ "&compareValue=" + compareValue;
	   
	   if (typeof XMLHttpRequest != "undefined") {
	       req = new XMLHttpRequest();
	   } else if (window.ActiveXObject) {
	       req = new ActiveXObject("Microsoft.XMLHTTP");
	   }	   
	   req.open("POST", url, true);
	   req.setRequestHeader("Content-Type", "text/plain;charset=ISO-8859-1");
	   req.onreadystatechange = callbackData;
	   req.send(null);
	}


	function callbackData() {
	    if (req.readyState == 4) {
	        if (req.status == 200) {
	            //parseMessageXML();
	        	parseJsonCheckData();
	        }
	    }
	}


	function parseMessageXML() {
		 var message = req.responseXML.getElementsByTagName("message")[0];
		 var validity = req.responseXML.getElementsByTagName("type")[0].childNodes[0].nodeValue;	
		 var displayMessage = req.responseXML.getElementsByTagName("display")[0].childNodes[0].nodeValue;	 
		 var displayPicture = req.responseXML.getElementsByTagName("picture")[0].childNodes[0].nodeValue;
		 setMessageData(validity, displayMessage, displayPicture);		 
		}
			
	
	function parseJsonCheckData(){
		
		var receivedMessage = req.responseText;
		var mdiv = document.getElementById(idWhere);
		if (mdiv.hasChildNodes() == true){
			mdiv.removeChild(mdiv.firstChild);
		}
		
		if (receivedMessage != "" && receivedMessage != "{}" && receivedMessage != "undefined" && receivedMessage != undefined) {
			var myJsonObj = jsonParse(receivedMessage);							
			
			var validity = myJsonObj.validity; 
			var message = myJsonObj.message;
			var picture = myJsonObj.picture;
			
						
		    if (validity == "invalid") {		    	
		    	
		    	// empties error message
		    	if (document.getElementById("idSignMessage") != null)
		    		document.getElementById("idSignMessage").innerHTML = "";
				// creates img 
		    	var Ndiv = document.createElement("div");
		    	var imgTag = document.createElement("img");
		    	var imgPath = "./img/" + picture.toString();
		    	imgTag.setAttribute("src", imgPath);
		    	imgTag.setAttribute("title", message.toString());
		    	Ndiv.appendChild(imgTag);
		    	mdiv.appendChild(Ndiv);
		    	
		    	if (document.getElementById("errormessage") != null)
		    		document.getElementById("errormessage").style.visibility="visible";
		    	if(document.getElementById("idSignMessage") != null)
		    		document.getElementById("idSignMessage").innerHTML = "<li style='color:red;margin-left:20px;vertical-align:middle;'>" + message.toString() + "</li>"; 
		    	
		    	
		    } else {	
		    	if (document.getElementById("errormessage") != null)
		    		document.getElementById("errormessage").style.visibility="hidden";
		    	
		    	var Ndiv = document.createElement("div");
		    	Ndiv.innerHTML = "<img src='./img/" + picture.toString() + "'><span style='color:green'>" + message.toString() + "</span>";
		    	mdiv.appendChild(Ndiv);
		    	
		    	var currentClass = document.getElementById(userId).className;
		    	
		    	if (currentClass.substring(currentClass.length, currentClass.length - 6) == "Person"){
		    		document.getElementById(userId).className = "correctPerson";
		    	}
		    	else if (currentClass.substring(currentClass.length, currentClass.length - 7) == "Company"){
		    		document.getElementById(userId).className = "correctCompany";
		    	} 
		    	else{
		    		document.getElementById(userId).className = "correct";
		    	}
		    }
				
		}						
	}
	
	

	
	function companyOrPerson(){		
		
		customerType = document.getElementById("CustomerType").value;		
		
		// checks to add more fields to the html form
		if (customerType.toLowerCase() == "entreprise") {			
			hide("idBirthData");
			show("idCompanyContent");	
		}
		
		
		else if (customerType.toLowerCase() == "particulier")	{														
			hide("idCompanyContent");
			show("idBirthData");	
			
		}
		
	}
	

	
	
		
	

