                          /*####################################################################################################
							# Script Info																						#
							# ==================================================================================================#
							# File: 						__userValidation.js													#
							# Created: 						15/July/2008														#
							# Modified:                     															        #
							# Author: 																							#															
							# Project Name:					   															        #
							# Requirements: 				PHP 5 & above / MySQl 												#														
							#####################################################################################################*/
  // JavaScript Document
   var flag = 1;  // Te check for errors. 
   var check = 1; //Used to display first Error Message if there
   var data;
   var XmlReg = false;
   
    String.prototype.trim = function () {
              return this.replace(/^\s*/, "").replace(/\s*$/, "");
    }	
	
	function JSfncCreateUser(){
		JSfncClearDiv();
		rnd = Math.random();
		XmlReg = JSfncGetXMLHttpRequest();
		if(!XmlReg){
			alert('Ajax Not Supported');
			return;
		}
		XmlReg.onreadystatechange = JSfncStateChangedCreateUser;
		XmlReg.open('GET', 'user.Ajax.php?method=CREATE&rnd='+rnd, true);
		XmlReg.send(null);
	} //EOF JSfncCreateUser  
	
    function JSfncStateChangedCreateUser(){
		if (XmlReg.readyState == 4) {
			if (XmlReg.status == 200) {
				document.getElementById('divShowDetails').innerHTML = XmlReg.responseText;
			}
		}
	} //EOF JSfncStateChangedCreateUser
	
	
	function JSfncCreateUserType(){
		JSfncClearDiv();
		rnd = Math.random();
		XmlReg = JSfncGetXMLHttpRequest();
		if(!XmlReg){
			alert('Ajax Not Supported');
			return;
		}
		XmlReg.onreadystatechange = JSfncStateChangedCreateUserType;
		XmlReg.open('GET', 'usertype.Ajax.php?method=CREATE&type=usertype&rnd='+rnd, true);
		XmlReg.send(null);
	} //EOF JSfncCreateUser  
	
    function JSfncStateChangedCreateUserType(){
		if (XmlReg.readyState == 4) {
			if (XmlReg.status == 200) {
				document.getElementById('divShowDetails').innerHTML = XmlReg.responseText;
			}
		}
	} //EOF JSfncStateChangedCreateUser

	function JSfncEditUser(data) {
		JSfncClearDiv();
		rnd = Math.random();
		XmlReg = JSfncGetXMLHttpRequest();
		if(!XmlReg){
			alert('Ajax Not Supported');
			return;
		}
		XmlReg.onreadystatechange = JSfncStateChangedEditUser;
		XmlReg.open('GET', 'user.Ajax.php?method=EDIT&edno='+data+'&rnd='+rnd, true);
		XmlReg.send(null);
	} //EOF JSfncEditUser
	
	function JSfncStateChangedEditUser(){
		if (XmlReg.readyState == 4) {
			if (XmlReg.status == 200) {
				document.getElementById('divShowDetails').innerHTML = XmlReg.responseText;
			}
		}
	} //EOF JSfncStateChangedEditUser
	
    function JSfncDeleteUser(data) {
		JSfncClearDiv();
		rnd = Math.random();
		XmlReg = JSfncGetXMLHttpRequest();
		if(!XmlReg){
			alert('Ajax Not Supported');
			return;
		}
		
		if(confirm('Do you want to delete this User...!')){
		    XmlReg.onreadystatechange = JSfncStateChangedDeleteUser;
		    XmlReg.open('GET', 'user.Ajax.php?method=DELETE&DELno='+data+'&rnd='+rnd, true);
		    XmlReg.send(null);
		}
	    
   } //EOF JSfncDeleteUser

    function JSfncStateChangedDeleteUser(){
		if (XmlReg.readyState == 4) {
			if (XmlReg.status == 200) {
				document.getElementById('divDeletedDetails').innerHTML = XmlReg.responseText;
			}
		}
	} //EOF JSfncStateChangedDeleteUser

		function JSfncEditUserType(data) {
		JSfncClearDiv();
		rnd = Math.random();
		XmlReg = JSfncGetXMLHttpRequest();
		if(!XmlReg){
			alert('Ajax Not Supported');
			return;
		}
		XmlReg.onreadystatechange = JSfncStateChangedEditUserType;
		XmlReg.open('GET', 'usertype.Ajax.php?method=EDIT&edno='+data+'&rnd='+rnd, true);
		XmlReg.send(null);
	} //EOF JSfncEditUser
	
	function JSfncStateChangedEditUserType(){
		if (XmlReg.readyState == 4) {
			if (XmlReg.status == 200) {
				document.getElementById('divShowDetails').innerHTML = XmlReg.responseText;
			}
		}
	} //EOF JSfncStateChangedEditUserType
	
	   function JSfncDeleteUserType(data) {
		JSfncClearDiv();
		rnd = Math.random();
		XmlReg = JSfncGetXMLHttpRequest();
		if(!XmlReg){
			alert('Ajax Not Supported');
			return;
		}
		
		if(confirm('Do you want to delete this User Type...!')){
		    XmlReg.onreadystatechange = JSfncStateChangedDeleteUserType;
		    XmlReg.open('GET', 'usertype.Ajax.php?method=DELETE&DELno='+data+'&rnd='+rnd, true);
		    XmlReg.send(null);
		}
	    
   } //EOF JSfncDeleteUser

    function JSfncStateChangedDeleteUserType(){
		if (XmlReg.readyState == 4) {
			if (XmlReg.status == 200) {
				document.getElementById('divDeletedDetails').innerHTML = XmlReg.responseText;
			}
		}
	} //EOF JSfncStateChangedDeleteUserType
	
	function JSfncValidateFeilds(mode){
			//document.getElementById('divIdError').innerHTML='';
				check = 1;
				flag = 1;
			   //Username Validation
			   var txtUsername = document.getElementById('txtUserName').value;
			   txtUsername = txtUsername.trim();
               if(txtUsername=='' && check == 1){
			   			flag = 0;  //
						check = 0;
                       document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter a Username';
               } else {
               		if(txtUsername!='' && check == 1){
                    	 var illegalChars = /[^a-zA-Z0-9_. ]/; // allow letters, numbers, and underscoresa
                               if (illegalChars.test(txtUsername)) {
                                       flag = 0;
									   check = 0;
                                       document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter a valid Username';
                               }
                       } 		
			   }
			  
			   //Password validation
			 if(mode=='EDIT'){
				  var txtPassword = document.getElementById('txtPassword').value;
				   var txtPassword1 = document.getElementById('txtPassword1').value;
				   if(txtPassword!=0 && txtPassword1==0){
				     document.getElementById('divErrorMessageDisplay').innerHTML = 'Please enter Repassword.';
				   }
			         if(txtPassword1!=txtPassword ){
			   			   flag = 0;
						   check = 0;
                           document.getElementById('divErrorMessageDisplay').innerHTML = 'Password Not Match';
                     }
			   }else if(mode=='CREATE'){   			                         
			       var txtPassword = document.getElementById('txtPassword').value;
			       if(txtPassword=='' && check == 1){
			   			flag = 0;
						check = 0;
                       document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter a Password';
                  }
			       var txtPassword1 = document.getElementById('txtPassword1').value;
				   if(txtPassword!=0 && txtPassword1==0){
				     document.getElementById('divErrorMessageDisplay').innerHTML = 'Please enter Repassword.';
				   }
			       if(txtPassword1!=txtPassword){
			   			flag = 0;
						check = 0;
                        document.getElementById('divErrorMessageDisplay').innerHTML = 'Password Not Match';
                  } 
			  }
				
			   //Fullname Validation
			   var txtFullname = document.getElementById('txtFullName').value;
			   txtFullname = txtFullname.trim();
               if(txtFullname=='' && check == 1){
			   			flag = 0;  //
						check = 0;
                       document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter a Name';
               } else {
               		if(txtFullname!='' && check == 1){
                    	 var illegalChars = /[^a-zA-Z0-9_. ]/; // allow letters, numbers, and underscoresa
                               if (illegalChars.test(txtFullname)) {
                                       flag = 0;
									   check = 0;
                                       document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter a valid Name';
                               }
                       } 		
			   }
			   
			   //Email Validation
			  var txtEmail = document.getElementById('txtEmail').value;
			  if(txtEmail){
			       txtEmail = txtEmail.trim();
                   if(txtEmail=='' && check == 1){
			   			flag = 0;  //
						check = 0;
                       document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter a Email';
                   } else {
               		if(txtEmail!='' && check == 1){
                    	 var illegalChars = /^[A-Za-z._][\w.-]+@\w[\w.-]+\.[\w.-]*[A-Za-z.][A-Za-z]{2,3}$/  ;                                 if (!illegalChars.test(txtEmail)) {
                                       flag = 0;
									   check = 0;
                                       document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter a valid Email-id';
                               }
                       } 		
			      }
			  }
			   
			   //Designation Validation
			   var txtDesig = document.getElementById('txtDesig').value;
			   txtDesig = txtDesig.trim();
               if(txtDesig=='' && check == 1){
			   			flag = 0;  //
						check = 0;
                       document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter a Designation';
               } else {
               		if(txtDesig!='' && check == 1){
                    	 var illegalChars = /[^a-zA-Z0-9_ ]/; // allow letters, numbers, and underscores
                               if (illegalChars.test(txtDesig)) {
                                       flag = 0;
									   check = 0;
                                       document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter a valid Designation';
                               }
                       } 		
			   }

               //Mobile Validation
			   var txtMobNo = document.getElementById('txtMobNo').value;
			   txtMobNo = txtMobNo.trim();
               if(txtMobNo=='' && check == 1){
			   			flag = 0;  
						check = 0;
                       document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter a Phone Number';
               } else {
               		if(txtMobNo!='' && check == 1){
                    	 var illegalChars = /^\+?[0-9 ()-]+[0-9]$/; 
                               if (!illegalChars.test(txtMobNo)) {
                                       flag = 0;
									   check = 0;
                                       document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter a valid Phone Number';
                             }

                      			   
			                   var numdigits = 0;
                               for (var j=0; j<txtMobNo.length; j++)
                                if (txtMobNo.charAt(j)>='0' && txtMobNo.charAt(j)<='9') 
				                      numdigits++;
                                if (numdigits<10) 
                                 document.getElementById('divErrorMessageDisplay').innerHTML ="Please Enter a valid Mobile Number";
                                if (numdigits>13)
                                 document.getElementById('divErrorMessageDisplay').innerHTML ="ERROR: " + numdigits + " digits -too long";    
					}
			   }
			   if(flag == 1){ 
                           document.getElementById('divErrorMessageDisplay').innerHTML = '';
							mainForm.txtAction.value=mode;
							mainForm.submit();
				}
	}
	
	function JSfncValidateUserType(mode)
	{
			//document.getElementById('divIdError').innerHTML='';
				check = 1;
				flag = 1;	
	
		   //Designation Validation
			   var txtDesig = document.getElementById('txtUserType').value;
			   txtDesig = txtDesig.trim();
               if(txtDesig=='' && check == 1)
               {
			   			flag = 0;  //
						check = 0;
                       document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter a User Type';
               } else
                {
               		if(txtDesig!='' && check == 1)
               		{
                    	 var illegalChars = /[^a-zA-Z0-9_ ]/; // allow letters, numbers, and underscores
                               if (illegalChars.test(txtDesig))
                                {
                                       flag = 0;
									   check = 0;
                                       document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter a valid User Type';
                               }
                       } 		
			   }
			    if(flag == 1){ 
                           document.getElementById('divErrorMessageDisplay').innerHTML = '';
							mainForm.txtAction.value=mode;
							mainForm.submit();
				}
	}
	
	function JSfncUpdateAdminInfo()
	{
			check = 1;
			flag = 1;	
			 var txtDesig = document.getElementById('NewAdmin').value;
			   txtDesig = txtDesig.trim();
               if(txtDesig=='' && check == 1)
               {
			   			flag = 0;  //
						check = 0;
                       document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter a User Name';
               } 
	 		var txtPass1 = document.getElementById('NewPass1').value;
			if(txtDesig!='' && check == 1)
       		{
            	 var illegalChars = /[^a-zA-Z0-9_ ]/; // allow letters, numbers, and underscores
                       if (illegalChars.test(txtDesig))
                        {
                               flag = 0;
							   check = 0;
                               document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter a valid Password';
                       }
               } 		
			var txtPass2 = document.getElementById('NewPass2').value;
			if(txtDesig!='' && check == 1 && txtPass1!='')
       		{
            	 var illegalChars = /[^a-zA-Z0-9_ ]/; // allow letters, numbers, and underscores
                       if (illegalChars.test(txtDesig))
                        {
                               flag = 0;
							   check = 0;
                               document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter a valid Password';
                       }
              }
              if(txtPass1!=txtPass2) 
              {
              	flag = 0;
				 check = 0;
              	 document.getElementById('divErrorMessageDisplay').innerHTML = 'Password and Retype password not matching';
              }
              
             //Email Validation
			  var txtEmail = document.getElementById('AdminEmail').value;
		       txtEmail = txtEmail.trim();
                   if(txtEmail=='' && check == 1){
			   			flag = 0;  //
						check = 0;
                       document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter an Email';
                   } else {
               		if(txtEmail!='' && check == 1){
                    	 var illegalChars = /^[A-Za-z._][\w.-]+@\w[\w.-]+\.[\w.-]*[A-Za-z.][A-Za-z]{2,3}$/  ;                                 if (!illegalChars.test(txtEmail)) {
                                       flag = 0;
									   check = 0;
                                       document.getElementById('divErrorMessageDisplay').innerHTML = 'Please Enter a valid Email-id';
                               }
                       } 		
			      }
		 if(flag == 1)
		{ 
               document.getElementById('divErrorMessageDisplay').innerHTML = '';
				mainForm.txtAction.value='EDIT';
				mainForm.submit();
		}
	}
	
//validate Register form
function validateRegisterForm()
{
			var error = false;
			var errors = "";
			
			if(document.getElementById('name').value =="")
			{
				errors = errors + "<li>Please fill in the name";
				error = true;
			}
			else
			{
				val = doValidate(document.getElementById('name').value);		
				if (val == 0)
				{
					errors =  errors + "<li>Special characters like \\ ' \" < > ? & / are not allowed in the name.</li>";
					error = true;
				}
			}
			if(document.getElementById('login_id').value =="")
			{
				errors = errors + "<li>Please fill in the Email:";
				error = true;
			}
			else
			{
			
				if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById('login_id').value))
				{
				var results =0;
				}
				else
				{
				errors = errors + "<li>Invalid E-mail Address! Please re-enter.";
				error = true;
				}
			}
			if(document.getElementById('user_password').value =="")
			{
				errors = errors + "<li>Please fill in the Password";
				error = true;
			}
			else 	
			{
			val = doValidate(document.getElementById('user_password').value);		
				if (val == 0)
				{
					errors =  errors + "<li>Special characters like \\ ' \" < > ? & / are not allowed in the Password.</li>";
					error = true;
				}
				str = document.getElementById('user_password').value;
				if(str.length<6)
				{
					errors =  errors + "<li>Password should contain a minimum of 6 characters</li>";
					error = true;
				}
			}
			
			if(document.getElementById('retype_password').value =="")
			{
				errors = errors + "<li>Please fill in the Retype Password";
				error = true;
			}
			else 	
			{
			val = doValidate(document.getElementById('retype_password').value);		
				if (val == 0)
				{
					errors =  errors + "<li>Special characters like \\ ' \" < > ? & / are not allowed in the Retype Password.</li>";
					error = true;
				}
				str = document.getElementById('retype_password').value;
				if(str.length<6)
				{
					errors =  errors + "<li>Retype Password should contain a minimum of 6 characters</li>";
					error = true;
				}
			}
			
			if(document.getElementById('user_password').value !='' && document.getElementById('retype_password').value !='')
			{
				if (document.getElementById('user_password').value != document.getElementById('retype_password').value)
				{
					errors =  errors + "<li>Password and confirmation password does not match.</li>";
					error = true;
				}
			}
			
			
			/*
			if(document.getElementById('con_login_id').value =="")
			{
				errors = errors + "<li>Please fill in the Retype Email:";
				error = true;
			}
			else
			{
			
				if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.getElementById('con_login_id').value))
				{
				var results =0;
				}
				else
				{
				errors = errors + "<li>Invalid E-mail Address in the Retype Password ! Please re-enter.";
				error = true;
				}
			}
				
			if(document.getElementById('login_id').value !='' && document.getElementById('con_login_id').value !='')
			{
				if (document.getElementById('login_id').value != document.getElementById('con_login_id').value)
				{
					errors =  errors + "<li>Email address and confirmation email address does not match.</li>";
					error = true;
				}
			}
			*/
			if(document.getElementById('address').value !="")
			{
				val = doValidate(document.getElementById('address').value);		
				if (val == 0)
				{
					errors =  errors + "<li>Special characters like \\ ' \" < > ? & / are not allowed in the address.</li>";
					error = true;
				}
			}
			
			
			if(document.getElementById('phone_num').value !="")
			{
				string = document.getElementById('phone_num').value;
		
				for (i = 0; i < string.length; i++)
						{   
							// Check that current character is number.
							var c = string.charAt(i);
		
							if (((c >= 0) || (c <= 9) || (c == "+") || (c =="(") || (c == ")") || (c == "-"))) 
							{	
								error = false;
							}
							else
							{
								errors =  errors + "<li>Invalid Phone Number. You can use numbers, +, -, and brackets only.</li>";
								error = true;
								break;
							}
						}
			}
			if(document.getElementById('UserType').value ==0)
			{
					errors =  errors + "<li>Please select an option from User Type</li>";
					error = true;				
			}
			if(!document.getElementById('signchk').checked)
			{
				errors =  errors + "<li>Select Terms of Use.</li>";
				error = true;
			}
			
			
			if (error)
			{
				window.scrollTo(0, 0);
				document.getElementById('error_div').style.display="block";
				document.getElementById('errors').innerHTML = errors;	
				return false;
			}
	else
	{
		document.registerform.submit();
	}
		
}

function doValidate(checkVal)
{
	var mikExp = /[\?\\\<\>\&\/\'\"]/;
	
		if (checkVal.search(mikExp) == -1) 
		{
			return 1;
		}
		else
		 {
		 	return 0;	
		 }
}