// 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(url,callbackFunc,respXml,last, frm_name){
   var xmlobj;
   alert(url);
   try{
	   xmlobj=new XMLHttpRequest();
    }
    catch(e){
        try{
            xmlobj=new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e){
            alert('AJAX is not supported by your browser!');
            return false;
        }
   }
   xmlobj.onreadystatechange=function(){
	  alert(xmlobj.readyState);
        if(xmlobj.readyState==4){
			alert(xmlobj.status);
            if(xmlobj.status==200){
				respXml?eval(callbackFunc+'(xmlobj.responseXML,last, frm_name)'):eval(callbackFunc+'(xmlobj.responseText,last, frm_name)');
            }
			//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);
}

///////////////////////////////////
function displayErrorMessage2(frm_name, chkgrpfld){
	
	var lable, error_container, conf_container, inner_err_container, class_name_val;
	var flag = 0;

	error_container = eval("document.getElementById('err_container')");
	conf_container = eval("document.getElementById('conf_container')");
	inner_err_container = eval("document.getElementById('inner_err_container')");
	class_name_val = eval("document.getElementById('class_name')").value;
		frm = frm_name;
		
	if(frm == "frmRegistration_bus" && chkgrpfld == 1){
		    //alert("test in");
			var msgforReg = "Compulsory to fill any one From the following";
			

			if(eval("document.frmRegistration_bus.abn.value")=="" &&
			    eval("document.frmRegistration_bus.acn.value")=="" &&				
				eval("document.frmRegistration_bus.business_registration_number.value") =="" &&
				eval("document.frmRegistration_bus.business_licence_number.value") =="" ){
					msgforReg = msgforReg +'<br/>ABN, ACN, Business Registration Number,Business License Number';
					inner_err_container.innerHTML = msgforReg;
					flag = 1;	
					
			 }
			
			if(eval("document.frmRegistration_bus.bus_pri_phone.value")=="" && eval("document.frmRegistration_bus.bus_pri_mobile.value")=="" && flag == 0){
				msgforReg = msgforReg + 'Contact Details<br/>Primary Contact Details:-Phone Enquiries, Mobile';
				inner_err_container.innerHTML = msgforReg;
				flag = 1;
			}
			
			if(eval("document.frmRegistration_bus.trading_name1.value")=="" && flag == 0){
				msgforReg =  'Compulsory to fill atleast Trading Name 1';
				inner_err_container.innerHTML = msgforReg;
				flag = 1;
			}
		

							
			//lable.className = class_name_val+'_new';

			if(flag == 1){
				conf_container.style.display='none';

				inner_err_container.innerHTML = msgforReg;
		
				error_container.style.display='';
				window.scrollTo(0,0);
				return false;
			}else{

				return true;
			}
			
	  }
	//alert('not test');
	return true;
	
}
/////////////////////////////////

// initialize form and assign events
function initializeForm(frm_name, last, minVal, maxVal)
{
	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
		
		//break;
        if(elems[i].getAttribute('required') )
		{
			
          //alert(elems[i].name+"=="+elems[i].value);
			// validate current field
			var method='&method='+elems[i].getAttribute('required');
			var motorPara="";
			var otherPara="";
			//validate  motor condition			
			if(elems[i].getAttribute('required')=="Motor")
			{
				var m= getCheckedValue(eval("document."+frm_name+".motor"));
				var motorPara="&motor="+m;
				
			}
			else if(elems[i].getAttribute('required')=="OtherMotor")
			{
				var oname=elems[i].name+'_other';
				var o= eval("document."+frm_name+"."+oname).value;
				var otherPara="&other="+o;
				var m= getCheckedValue(eval("document."+frm_name+".motor"));
				var motorPara="&motor="+m+"&other="+o;
			}
			else if(elems[i].getAttribute('required')=="Other")
			{
				var oname=elems[i].name+'_other';
				var o= eval("document."+frm_name+"."+oname).value;
				var otherPara="&other="+o;
			}
				
	
			//----------------------------------------------------------------------------------
			// Added By Sunil
			
			

			if(elems[i].type=='select-one')
			{
				/*
				callAjax_vik( '', 'ajax_validator.php', {	params:'field='+elems[i].getAttribute('name')+'&value='+elems[i].options[elems[i].selectedIndex].value+method+'&message='+elems[i].getAttribute('title')+'&last='+last+'&frm_name='+frm_name+'&rand='+Math.random(),
				meth:"post",
				async:true,
				startfunc:"",
				endfunc:"",
				errorfunc:"ajaxError()" }
				);
				*/
			    sendHttpRequest('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',false,last, frm_name);
				
			}
			
			else if(elems[i].type=='select-multiple')
			{
				var indx = 0;
				if(elems[i].selectedIndex<0)
					indx = 0;
				else
					indx = elems[i].selectedIndex;
				sendHttpRequest('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',false,last, frm_name);
			}
			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('ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+radioVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage',false,last, frm_name);
			}
			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(hasChecked);
			  // checkboxVal=checkboxVal.substring(0,(checkboxVal.length)-1);
			  /* frm_ele = eval("document."+frm+"."+ele+".checked")
			   if(frm_ele)
				{
					checkboxVal = elems[i].value;
				}*/
				
				sendHttpRequest('ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+checkboxVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage',false,last, frm_name);
			}
			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('ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+fileVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage',false,last, frm_name);
			}
			else if (elems[i].type=='password')
			{
				fileVal = elems[i].value;

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

				frm = frm_name;
				passwordVal = eval("document."+frm+".password.value");
				sendHttpRequest('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',false,last, frm_name);
				}
				else
				{
				sendHttpRequest('ajax_validator.php?field='+elems[i].getAttribute('name')+'&value='+fileVal+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage',false,last, frm_name);
				}
			}
			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('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',false,last, frm_name);

			}
			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('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',false,last, frm_name);
			}
			else
			{	
				//checkabnacn()== true
			 if(res == true && elems[i].getAttribute('required')=="AbnAcnManditary"){
				sendHttpRequest('ajax_validator.php?field='+elems[i].getAttribute('name')+'&minVal='+minVal+'&maxVal='+maxVal+'&value='+elems[i].value+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage',false,last, frm_name);
			 }else if(elems[i].getAttribute('name')!='abn' && elems[i].getAttribute('name')!='acn' && elems[i].getAttribute('name')!='business_registration_number' && elems[i].getAttribute('name')!='business_licence_number'){
				 sendHttpRequest('ajax_validator.php?field='+elems[i].getAttribute('name')+'&minVal='+minVal+'&maxVal='+maxVal+'&value='+elems[i].value+method+'&message='+elems[i].getAttribute('title')+otherPara+motorPara+AbnAcnPara+'&rand='+Math.random(),'displayErrorMessage',false,last, frm_name);
				
			 }
			}
            //}
			
        }
		//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);
	 }
	*/
	
}
// Niketa Srivastava
// check maximum length of the data of textarea 
function checkCounter(val,maxlimit)
{
	if (val.length > maxlimit)
		alert("This value can be not greater than " + maxlimit.toString());
}

// display error messages
function displayErrorMessage(serverResponse,last, frm_name, chkgrpfld){
	//alert("displayErrorMessage="+serverResponse);
    var elemkey=serverResponse.split('|')[0];
    var errormsg=serverResponse.split('|')[1];
	//alert(elemkey + " "+ errormsg);	var counter=0;
	//This is for check Birth Date.
	frm = frm_name;
	
	var lable, error_container, conf_container, inner_err_container, class_name_val;
	lable = eval("document.getElementById('txt_'+elemkey)");
	error_container = eval("document.getElementById('err_container')");
	conf_container = eval("document.getElementById('conf_container')");
	inner_err_container = eval("document.getElementById('inner_err_container')");
	class_name_val = eval("document.getElementById('class_name')").value;
	
	/*
	if(!msgcont)
	{
		var msgcont=document.createElement('div');
		msgcont.setAttribute('id','div_'+elemkey);
		document.getElementById('formcontainer').appendChild(msgcont);
	}

	*/
	
	if(errormsg.length<4)
	errormsg = escape(errormsg).replace('%0D%0A','');
	if(errormsg=='')
	{
		//alert('one');
		errors[elemkey] = 0;
		lable.className = class_name_val;
	}
	else 
	{
		//alert(errormsg);
		//alert('two');
		errors[elemkey] = 1;
		if(class_name_val=="")
		{
			lable.className = 'msgcontainer1';
		 }
		else
		{
			lable.className = class_name_val+'_new';
		}
	}
	counter=0;

    // count total errors
    for(var i in errors)
	{
		
		if(errors[i])
		{
			counter++
		}
	};
    //var btn=document.getElementsByTagName('form')[0].elements[3];
	//alert(counter +'&&'+ elemkey+'=='+last);
    if(!counter && elemkey==last)
	{
		// if no errors were found enable submit button
		//btn.disabled=false;
		//var errormsg='Data is Ok. Now submit the form, please.';
		var doc_frm = eval("document."+frm);
	  if(frm_name != "frmRegistration_bus"){
		//show uploading data div and hiding save buttons in case of added boats
		if(frm_name == "frmAddBoat"){
			document.getElementById('save_buttons').style.display="none";
			document.getElementById('loading_status').style.display="";
		}//end if
		else if(frm_name == "frm_enquiry"){
			//alert(frm_name);
			if(eval("document.frm_enquiry.phone.value")=="" && eval("document.frm_enquiry.mobile.value")=="" && eval("document.frm_enquiry.email.value")==""){
				inner_err_container.innerHTML =  'Please provide atleast one contact details (Email, Phone, Mobile)';
				return false;
			}
		}//end if

		eval("document."+frm_name).submit();
		return true;
	  }
	  else // this will execute for the registartion form 
	  {

		  if(displayErrorMessage2('frmRegistration_bus', 1)){
			eval("document."+frm_name).submit();
			return true;				
		  }else
			 return false;
		//displayErrorMessage2(last, 'frmRegistration_bus', 1);
	  }

    }
	else if(!counter && elemkey !=last)
	{
		// Do nothing.
	}else{

		
		
		conf_container.style.display='none';

		if(errormsg=="ABN"){
			//alert("test");
			inner_err_container.innerHTML = 'ABN, ACN, Business Registration Number,Business License Number';
		}else
			inner_err_container.innerHTML = 'We\'re sorry, but one or more fields are incomplete or incorrect.<br> Please correct the fields that\'s in <span class="error_red_txt">red</span>.';

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


//function to validate search form
//Ravi Pandey
//9/16/2008
// initialize form and assign events
function validateSearchForm(frm_name)
{
	var elems=eval("document."+frm_name+".elements");
	var res = false;
	var val="";
    for(var i=0;i<elems.length;i++)
	{
		 if(elems[i].getAttribute('required') && elems[i].getAttribute('required')=="Search")
		{
			if(elems[i].type=='select-one')
			{
				var val=elems[i].options[elems[i].selectedIndex].value;
				if(val!="") 
				{
					if(document.getElementById('view_all'))
						document.getElementById('view_all').style.display='';
					res=true;
					break;
				}//end if
			}//end if
			
			else if(elems[i].type=='select-multiple')
			{
				var indx = 0;
				if(elems[i].selectedIndex<0)
					indx = 0;
				else
					indx = elems[i].selectedIndex;

				if(val!=0) 
				{
					if(document.getElementById('view_all'))
						document.getElementById('view_all').style.display='';
					res=true;
					break;
				}//end if
			}//else if
			
			else if(elems[i].type=='radio')
			{
				if(elems[i].name!="search_key")			
				{
					var radioObj=eval("document."+frm_name+"."+elems[i].name)
					var val=getCheckedValue(radioObj);
					if(val!="") 
					{
						if(document.getElementById('view_all'))
						document.getElementById('view_all').style.display='';
						res=true;
						break;
					}
				}//end if
				
			}// else if
			else if(elems[i].type=='checkbox')
			{
				var checkboxVal = '';
				
				var ele = elems[i].name;

				frm = frm_name;
			 
			   frm_ele = eval("document."+frm+"."+ele+".checked")
			   if(frm_ele)
				{
					checkboxVal = elems[i].value;
				}//end if
				if(checkboxVal!="") 
				{
					if(document.getElementById('view_all'))
						document.getElementById('view_all').style.display='';
					res=true;
					break;
				}
			}//else if
			else
			{
				var val=elems[i].value;
				if(val!="") 
				{
					if(document.getElementById('view_all'))
						document.getElementById('view_all').style.display='';
					res=true;
					break;
				}
			}//else
		}//END IF
        
    }//LOOp
	
	var  error_container, conf_container, inner_err_container;
	error_container = eval("document.getElementById('err_container')");
	conf_container = eval("document.getElementById('conf_container')");
	inner_err_container = eval("document.getElementById('inner_err_container')");

	if(!res)
	{
		conf_container.style.display='none';
		inner_err_container.innerHTML = 'Please choose at least one field for <span class="error_red_txt">search</span>.';
		error_container.style.display='';
		window.scrollTo(0,0);
		//alert('not test');
		return false;
	}//end if
	else
	{
		error_container.style.display='none';
		return true;
	}
}//function

