// this js file is used to show all message passed in title property.
// Just pass the name of last and first form elements, while calling initializeForm() function at ajax_validator.htm
// Like: <tr><td colspan='3' align="center"><input type="button" value="Send Data" class="formbutton" onclick="initializeForm('check','fname');"/></td></tr>

var errors=new Array();
var test = 1;
// send http requests

function sendHttpRequest_common(url,callbackFunc,respXml,last, frm_name,err_containerid,returnFunc){
   var xmlobj;
  
   try{
	   xmlobj=new XMLHttpRequest();
    }
    catch(e){
        try{
            xmlobj=new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e){
            alert('AJAX is not supported by your browser!');
            return false;
        }
   }
 // alert("going to call"+url);
   xmlobj.onreadystatechange=function(){
	   //alert(xmlobj.readyState);
        if(xmlobj.readyState==4){
			//alert(xmlobj.status);
            if(xmlobj.status==200){
				//alert(xmlobj.responseText+callbackFunc);
				respXml?eval(callbackFunc+'(xmlobj.responseXML,last, frm_name,err_containerid,returnFunc)'):eval(callbackFunc+'(xmlobj.responseText,last, frm_name,err_containerid,returnFunc)');
            }
			//alert(respXml);
			//if(xmlobj.status==414)
			//{
			//	eval(callbackFunc+'(\'description|Please enter description.\',last, frm_name)');
			//}
        }
    }
    // open socket connection
	
    xmlobj.open('POST',url,true);
    // send http header
    xmlobj.setRequestHeader('Content-Type','text/html;charset=UTF-8');
    // send http request
    xmlobj.send(null);
}



// initialize form and assign events
function initializeForm_common2(frm_name, last, minVal, maxVal , err_containerid,returnFunc )
{
	errors=new Array();
	
	var elems=eval("document."+frm_name+".elements");
	var AbnAcnPara="";
	var res = false;
	if(!elems){return};
    for(var i=0;i<elems.length;i++)
	{
        // check for 'required' attribute
		//alert("function getting called");
		//break;
		//alert("outside"+elems[i].name+"=="+elems[i].value);
		
        if(elems[i].getAttribute('required') )
		{
			
      //   alert(elems[i].name+"=="+elems[i].value+"=="+elems[i].type);
			// validate current field
			var method='&method='+elems[i].getAttribute('required');
			
			var motorPara="";
			var otherPara="";
				

			if(elems[i].type=='select-one')
			{
		
			    sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+elems[i].options[elems[i].selectedIndex].value+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
				
			}
			else if(elems[i].type=='select-multiple')
			{
				var indx = 0;
				if(elems[i].selectedIndex<0)
					indx = 0;
				else
					indx = elems[i].selectedIndex;
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+elems[i].options[indx].value+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
			}
			else if(elems[i].type=='radio')
			{
				var radioVal = '';
				
				var ele = elems[i].name;
				
			   frm = frm_name;
			  
			   var len = eval("document."+frm+"."+ele+".length");
				
			   for (var j=0; j <len; j++)
			   {
					frm_ele = eval("document."+frm+"."+ele+"["+j+"].checked");
					    
					if (frm_ele)
					  {
					   radioVal = eval("document."+frm+"."+ele+"["+j+"].value");
					  }
			   }
				
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+radioVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
			}
			else if(elems[i].type=='checkbox')
			{
				var checkboxVal = '';
				
				var ele = elems[i].name;

			    frm = frm_name;
			   //for multiple check box of same name
			 // var len = document.getElementsByName("'"+ele+"'");
			 var arr=ele.substring(ele.length-2,ele.length);
			 var chks = document.getElementsByName(ele);
			 if(arr=="[]")
			{
				ele=ele.substring(0,ele.length-2);
				var  checkboxVal = "";
				//alert(chks.length);
				for (var j=0; j <chks.length; j++)
				{
				//alert(ele);
				frm_ele = eval("document."+frm+"."+ele);
				//alert('frm_ele='+frm_ele);
					if (chks[j].checked)
					{
						checkboxVal = "checked";
						//alert(checkboxVal)
					}

				}
			}
			else
				{
			
				frm_ele = eval("document."+frm+"."+ele+".checked")
			   if(frm_ele)
				{
					checkboxVal = elems[i].value;
				}
				
				}
				alert(test)
			   //alert(hasChecked);
			  // checkboxVal=checkboxVal.substring(0,(checkboxVal.length)-1);
			  /* frm_ele = eval("document."+frm+"."+ele+".checked")
			   if(frm_ele)
				{
					checkboxVal = elems[i].value;
				}*/
				
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+checkboxVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
			}
			else if (elems[i].type=='file')
			{
				fileVal = elems[i].value;
				var newImg = new Image();
				newImg.src = elems[i].value;
				var height = newImg.height;
				var width = newImg.width;
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+fileVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
			}
			else if (elems[i].type=='password')
			{
				fileVal = elems[i].value;

				if(elems[i].name=="confirm_password")
				{

				frm = frm_name;
				passwordVal = eval("document."+frm+".user_password.value");
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+fileVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random()+'&passwordVal='+passwordVal,'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
				}
				else
				{
				//	alert("here in password");
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+fileVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
				}
			}
			else if (elems[i].type=='text' && elems[i].name=='code')
			{
				fileVal = elems[i].value;

				frm = frm_name;
				
				captchaVal = eval("document."+frm+".encrypted_string.value");
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+fileVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random()+'&captchaVal='+captchaVal,'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);

			}
			else if (elems[i].type=='textarea')
			{
				var textareaVal = 	elems[i].value;
				//alert(textareaVal);
				//alert(minVal);
				//alert(maxVal);
				textareaVal = textareaVal.substr(minVal, maxVal+10);
				//alert(textareaVal);
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&minVal='+minVal+'&maxVal='+maxVal+'&value='+textareaVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
			}
			else
			{	
				//checkabnacn()== true
			//	alert("here");
			if(elems[i].name=='confirm_email')
			{
				frm = frm_name;
				var email = eval("document."+frm+".email.value");
				var confirm_email = eval("document."+frm+".confirm_email.value");

				//alert(confirm_email);
				var val=elems[i].value;
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?email='+email+'&email1='+confirm_email+method+'&message='+elems[i].getAttribute('title')+'&rand='+Math.random(),'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
	
			}
			else
				{
				//alert(elems[i].value);
				var val=elems[i].value;
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&minVal='+minVal+'&maxVal='+maxVal+'&value='+val+method+'&message='+elems[i].getAttribute('title')+'&rand='+Math.random(),'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
				}
			}
            //}
			
        }
		//alert(elems[i].name+'=='+last);
		if(elems[i].name==last)
			break;
    }

	/* 
	if(frm_name == "frmRegistration_bus")
	 {
		alert(frm_name);
		frm = frm_name;
		return displayErrorMessage2(last, frm_name, 1);
	 }
	*/
	
}

function initializeForm_common_1(frm_name, last, minVal, maxVal , err_containerid,first,returnFunc )
{
	errors=new Array();
	
	var elems=eval("document."+frm_name+".elements");
	var AbnAcnPara="";
	var res = false;
	if(!elems){return};
    for(var i=0;i<elems.length;i++)
	{
        // check for 'required' attribute
		//alert("function getting called");
		//break;
		//alert("outside"+elems[i].name+"=="+elems[i].value);
		
        if(elems[i].getAttribute('required') )
		{
			
      //   alert(elems[i].name+"=="+elems[i].value+"=="+elems[i].type);
			// validate current field
			var method='&method='+elems[i].getAttribute('required');
			
			var motorPara="";
			var otherPara="";
				

			if(elems[i].type=='select-one')
			{
		
			    sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+elems[i].options[elems[i].selectedIndex].value+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
				
			}
			else if(elems[i].type=='select-multiple')
			{
				var indx = 0;
				if(elems[i].selectedIndex<0)
					indx = 0;
				else
					indx = elems[i].selectedIndex;
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+elems[i].options[indx].value+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
			}
			else if(elems[i].type=='radio')
			{
				var radioVal = '';
				
				var ele = elems[i].name;
				
			   frm = frm_name;
			  
			   var len = eval("document."+frm+"."+ele+".length");
				
			   for (var j=0; j <len; j++)
			   {
					frm_ele = eval("document."+frm+"."+ele+"["+j+"].checked");
					    
					if (frm_ele)
					  {
					   radioVal = eval("document."+frm+"."+ele+"["+j+"].value");
					  }
			   }
				
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+radioVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
			}
			else if(elems[i].type=='checkbox')
			{
				var checkboxVal = '';
				
				var ele = elems[i].name;

			    frm = frm_name;
			   //for multiple check box of same name
			 // var len = document.getElementsByName("'"+ele+"'");
			 var arr=ele.substring(ele.length-2,ele.length);
			 var chks = document.getElementsByName(ele);
			 if(arr=="[]")
			{
				ele=ele.substring(0,ele.length-2);
				var  checkboxVal = "";
				//alert(chks.length);
				for (var j=0; j <chks.length; j++)
				{
				//alert(ele);
				frm_ele = eval("document."+frm+"."+ele);
				//alert('frm_ele='+frm_ele);
					if (chks[j].checked)
					{
						checkboxVal = "checked";
						//alert(checkboxVal)
					}

				}
			}
			else
				{
			
				frm_ele = eval("document."+frm+"."+ele+".checked")
			   if(frm_ele)
				{
					checkboxVal = elems[i].value;
				}
				
				}
				alert(test)
			   //alert(hasChecked);
			  // checkboxVal=checkboxVal.substring(0,(checkboxVal.length)-1);
			  /* frm_ele = eval("document."+frm+"."+ele+".checked")
			   if(frm_ele)
				{
					checkboxVal = elems[i].value;
				}*/
				
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+checkboxVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
			}
			else if (elems[i].type=='file')
			{
				fileVal = elems[i].value;
				var newImg = new Image();
				newImg.src = elems[i].value;
				var height = newImg.height;
				var width = newImg.width;
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+fileVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
			}
			else if (elems[i].type=='password')
			{
				fileVal = elems[i].value;

				if(elems[i].name=="confirm_password")
				{

				frm = frm_name;
				passwordVal = eval("document."+frm+".user_password.value");
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+fileVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random()+'&passwordVal='+passwordVal,'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
				}
				else
				{
				//	alert("here in password");
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+fileVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
				}
			}
			else if (elems[i].type=='text' && elems[i].name=='code')
			{
				fileVal = elems[i].value;

				frm = frm_name;
				
				captchaVal = eval("document."+frm+".encrypted_string.value");
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+fileVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random()+'&captchaVal='+captchaVal,'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);

			}
			else if (elems[i].type=='textarea')
			{
				var textareaVal = 	elems[i].value;
				//alert(textareaVal);
				//alert(minVal);
				//alert(maxVal);
				textareaVal = textareaVal.substr(minVal, maxVal+10);
				//alert(textareaVal);
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&minVal='+minVal+'&maxVal='+maxVal+'&value='+textareaVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
			}

			else
			{	
				//checkabnacn()== true
			//	alert("here");
			if(elems[i].name=="userName")
				{

				frm = frm_name;
				username = encodeURIComponent(eval("document."+frm+".userName.value"));
				email = encodeURIComponent(eval("document."+frm+".email_address.value"));
				//info_id = encodeURIComponent(eval("document."+frm+".property_info_id.value"));
				/*sendHttpRequest('ajax/ajax_validator.php?username='+username+'&email='+email+method+'&message='+elems[i].getAttribute('title')+'&rand='+Math.random()+'&field2='+passwordVal+'&field1='+field1+'&info_id='+info_id,'displayErrorMessage',false,last, frm_name, elems[i].name,returnFunc);*/
			
				sendHttpRequest_common(website_url+'ajax/ajax_validator.php?field1='+elems[i].getAttribute('name')+'&field2='+elems[i-1].getAttribute('name')+'&field1val='+username+'&field2val='+email+'&value='+textareaVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage_common',false,last, frm_name,err_containerid,returnFunc);
				}
				
		/*var val=encodeURIComponent(elems[i].value);
				sendHttpRequest('ajax/ajax_validator.php?field='+elems[i].getAttribute('name')+'&minVal='+minVal+'&maxVal='+maxVal+'&value='+val+method+'&message='+elems[i].getAttribute('title')+'&rand='+Math.random(),'displayErrorMessage',false,last, frm_name,err_containerid);*/
			}
            //}
			
        }
		//alert(elems[i].name+'=='+last);
		if(elems[i].name==last)
			break;
    }

	/* 
	if(frm_name == "frmRegistration_bus")
	 {
		alert(frm_name);
		frm = frm_name;
		return displayErrorMessage2(last, frm_name, 1);
	 }
	*/
	
}


// display error messages
function displayErrorMessage_common(serverResponse,last, frm_name, err_containerid,returnFunc){

	var counter=0;
	//alert(serverResponse);
	div_ids_arr = err_containerid.split('|');
	//alert(div_ids_arr[0]+"==="+div_ids_arr[1]+"==="+div_ids_arr[2]);
	//
    var elemkey=serverResponse.split('|')[0];
    var errormsg=serverResponse.split('|')[1];
	frm = frm_name;
	
	var lable, error_container, conf_container, inner_err_container, class_name_val;
	lable = eval("document.getElementById('txt_'+elemkey)");
	err_containeridelm = document.getElementById(div_ids_arr[0]);
	inner_err_containeridelm = document.getElementById(div_ids_arr[1]);
	conf_err_containeridelm = document.getElementById(div_ids_arr[2]);

	error_container = eval("err_containeridelm");
	conf_container = eval("conf_err_containeridelm");
	inner_err_container = eval("inner_err_containeridelm");
	
	if(document.getElementById('class_name'))
		 class_name_val = eval("document.getElementById('class_name')").value;
	 else
		 class_name_val = "";

	
	
	if(errormsg.length<4)
	errormsg = escape(errormsg).replace('%0D%0A','');
	if(errormsg=='')
	{
		errors[elemkey] = 0;
		
		lable.className = class_name_val;
	}
	else 
	{

		errors[elemkey] = 1;
		if(class_name_val=="")
		{
			lable.className = 'msgcontainer1';
		 }
		else
		{
			lable.className = class_name_val+'_new';
		}
	}
//	iter=0;

    // count total errors
	//alert(errors);
	
   for(var i in errors)
	{
		
		if(i=="each")
		{
			break;
		}
		else
		{
			if(errors[i])
			{
				
				counter++;
			}
		}
		
	}
     if(!errormsg && elemkey==last)  //change by prakash insted of iter i put  errormsg -29-05-2009
	{
			
			if(returnFunc)
			{
				
				eval(returnFunc);
			}
			else
			{
			eval("document."+frm_name).submit();
			return true;
			}
	}
	else if(!errormsg && elemkey !=last) //change by prakash insted of iter i put  errormsg -29-05-2009
	{
		// Do nothing.
		
	}
	else{
		
	
		if(conf_container)	
		conf_container.style.display='none';	
		inner_err_container.innerHTML = 'We\'re sorry, but one or more fields are incomplete or incorrect.<br> Please correct the fields that\'s in <font color="red"><b>red</b></font>.';
	
			



		//alert(errormsg);
		//error_container.innerHTML += errormsg;
		//error_container.className = 'msgcontainer';
		error_container.style.display='';
		window.scrollTo(0,0);
		//alert('not test');
		return false;
	}
}


