// JavaScript Document
function validateForm(frmname){
	var ErrorMsg="";
	//alert(frmname);
	if(frmname==null || frmname=="")
	{
		alert("Form name is invalid");
	return false;
	}
	var formobj=document.forms[frmname];
	var retValue="";
	
	var childNodes = formobj.elements;
	
	var ctlFocus=false;
	var ctlToFocus="";
	
	for (i=0;i<childNodes.length;i++){
		
		if(childNodes[i].type=='hidden' && childNodes[i].id.indexOf('hidden_')>-1){
			//alert(x[i].value);
			var hdnValidatorCtlArr=childNodes[i].value.split("|");			
			for (j=0;j<childNodes.length;j++){
				var childElement = childNodes[childNodes[j].name];				
				if (childNodes[j].name==hdnValidatorCtlArr[0] ){				
					var ConditionArr=hdnValidatorCtlArr[1].split(",");
					var MsgArr=hdnValidatorCtlArr[2].split(",");					
					for(k=0;k<ConditionArr.length;k++){
						var innerRetValue="";
						
						switch(ConditionArr[k]){
						
							case "NotNull":
							case "Mandatory": 
								if(childNodes[j].type=="radio")
									innerRetValue=validateRadioButton(childElement,MsgArr[k]);
								else if(childNodes[j].type=="checkbox")
									innerRetValue=validateCheckBoxButton(childElement,MsgArr[k],hdnValidatorCtlArr[3]);
								else
									innerRetValue=NotNullChecker(childElement,MsgArr[k]);	
							break;
							case "Email":
								innerRetValue=EmailChecker(childElement,MsgArr[k]);	
							break;
							
							case "AlphaNumeric":
									innerRetValue=AlphaNumericChecker(childElement,MsgArr[k]);	
							break;
							
							case "Phone":
									innerRetValue=PhoneNumberChecker(childElement,MsgArr[k]);	
							break;
											
							case "Numeric": 
									innerRetValue=NumberChecker(childElement,MsgArr[k]);	
							break;
							
							case "Price": 
									
									innerRetValue=PriceChecker(childElement,MsgArr[k]);	
							break;
							
							case "Date": 
									
									innerRetValue=DateChecker(childElement,MsgArr[k]);	
							break;
							
							default:
								innerRetValue="";	
								
							
						}
						retValue+=innerRetValue;
						
						if(innerRetValue!=""){
							if(ctlFocus==false){
								//	alert(childElement.id);
								ctlFocus=true;
								ctlToFocus=childElement;
								//childElement.select();
							}
							break;
						}
						
						
						
					}
				break;	
				}
				
			}
		}
		
	 }
	
	if(retValue!=""){
		//alert(ctlToFocus.type);
		if(ctlToFocus && ctlToFocus.type!='hidden') ctlToFocus.focus();
		if(ctlToFocus && ctlToFocus.id=='dob') formobj.day.focus();
		
		var MsgretValue="_________________Validation Summary______________________\n\n"+retValue+"_______________________________________________________";
		alert(MsgretValue);
					return(false);
	}else{
		return(true);
	}
		
	
	/*if(trimString(document.frm_upload.files.value)!=''){
		var	a=document.frm_upload.files.value.split(".");
	    var picname=document.frm_upload.files.value;
	    var picextn=picname.split(".");
		var arrlen=picextn.length;
		picexten=picextn[arrlen-1];
		if( picexten.toLowerCase()=="jpeg"||picexten.toLowerCase()=="jpg" ||picexten.toLowerCase()=="gif" || picexten.toLowerCase()=="png"){
			return(true);
		}else{
			alert("Invalid Image File");
			return(false);
		}
	}	
		 
	 if ((/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(document.frm1.eadd.value)) == false && document.frm1.eadd.value !=""){
		alert("Please Enter Valid Email Address");
		document.frm1.eadd.focus();
		document.frm1.eadd.select();
		return false;
	}
	
	return true;*/
}


function trimString (str){
  str = this != window? this : str;
  return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}
/*



function check_phonenumber(ctlToValidate){
	var phoneVal = trimString(ctlToValidate.value.toString()); 
	phoneBox.value=trimString(ctlToValidate.value.toString());
	
	var valid;
	valid=true;
	var mstr=phoneVal.toString();
	var count=0;
	for (var i = 0;i < mstr.length;i++){
		var oc = mstr.charAt(i);
		if ((oc < "0" ||oc > "9")){
			count++;
		}
		
	}
	
	if(mstr.length>0){
		var oc = mstr.charAt(0);
		if ((oc < "0" ||oc > "9")&& oc!="+"){
			valid=false;
		}
	}
	for (var i = 1;i < mstr.length;i++){
		var oc = mstr.charAt(i);
		if ((oc < "0" ||oc > "9")&& oc!=" "&& oc!=","&& oc!="-"&& oc!="+" && oc!="(" && oc!=")"){
			valid=false;
		}
		
	}
	if (valid == false){		
		return(false);
	}
	
	return(true);
}









*/

function NumberChecker(ctlToValidate,Msg){
	var retValue="";
	 var charpos = ctlToValidate.value.search("[^0-9]"); 
     if(ctlToValidate.value.length > 0 &&  charpos >= 0) 
     {
		//alert(Msg);
		//ctlToValidate.focus();
		//ctlToValidate.select();
		
		retValue=Msg+"\n";
	}
	return retValue;
}

function PriceChecker(ctlToValidate,Msg){
	//alert(ctlToValidate.value);
	var retValue="";
	
     if(isNaN(ctlToValidate.value) || parseFloat(ctlToValidate.value)<0) 
     {
		//alert(Msg);
		//ctlToValidate.focus();
		//ctlToValidate.select();
		
		retValue=Msg+"\n";
	}
	return retValue;
}


function DateChecker(ctlToValidate,Msg){
	//alert(ctlToValidate.value);
	var retValue="";
	var dateformat = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
    if (dateformat.test(trimString(ctlToValidate.value)) == false){
     
		//alert(Msg);
		//ctlToValidate.focus();
		//ctlToValidate.select();
		
		retValue=Msg+"\n";
	}
	return retValue;
}
/*function NumberChecker(ctlToValidate){
	var retValue=true;
	 var charpos = ctlToValidate.value.search("[^0-9]"); 
     if(ctlToValidate.value.length > 0 &&  charpos >= 0) 
     {
		alert("Please Enter Value for "+ ctlToValidate.name);
		ctlToValidate.focus();
		ctlToValidate.select();
		
		retValue=false;
	}
	return retValue;
}*/

/*function GreaterThanChecker(ctlToValidate){
	var retValue=true;
	if(isNaN(ctlToValidate.value)) 
	{ 
	 	alert(ctlToValidate.name+": Should be a number ");
		ctlToValidate.focus();
		ctlToValidate.select();
		
		retValue=false;
	}else{			
	if(eval(objValue.value) <=  eval(cmdvalue)) 
             { 
               if(!strError || strError.length ==0) 
               { 
                 strError = objValue.name + " : value should be greater than "+ cmdvalue; 
               }//if               
               alert(strError); 
               return false;                 
             }//if  
	return retValue;
}*/


function StringChecker(ctlToValidate,Msg){
	var retValue="";
	var charpos = ctlToValidate.value.search("[^A-Za-z]"); 
    if(ctlToValidate.value.length > 0 &&  charpos >= 0) 
    {   
		//alert(Msg);
		//ctlToValidate.focus();
		//ctlToValidate.select();
		
		retValue=Msg+"\n";
	}
	return retValue;
}

function EmailChecker(ctlToValidate,Msg){
	var retValue="";
	if ((/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(trimString(ctlToValidate.value))) == false){
		//alert(Msg);
		//ctlToValidate.focus();
		//ctlToValidate.select();
		
		retValue=Msg+"\n";
	}
	return retValue;
}

function AlphaNumericChecker(ctlToValidate,Msg){
	var retValue="";
	var illegalChars = /\W/;	
	if (illegalChars.test(ctlToValidate.value) == true){
		//alert(Msg);
		//ctlToValidate.focus();
		//ctlToValidate.select();
		
		retValue=Msg+"\n";
	}
	return retValue;
}

function PhoneNumberChecker(ctlToValidate,Msg){
	var retValue="";
	var stripped = ctlToValidate.value.replace(/[\(\)\.\-\ ]/g, '');
	if (isNaN(parseInt(stripped))) {
	
		//alert(Msg);
		//ctlToValidate.focus();
		//ctlToValidate.select();
		
		retValue=Msg+"\n";
	}
	return retValue;
}


function NotNullChecker(ctlToValidate,Msg){
	var retValue="";
	/*alert(ctlToValidate.type +""+ ctlToValidate.length);
	if(ctlType=="radio"){
		
		retValue=validateRadioButton(ctlToValidate,Msg);
	}else if(ctlType=="checkbox"){
		
		retValue=validateCheckBoxButton(ctlToValidate,Msg);
		
	}else */
	if (trimString(ctlToValidate.value) ==""){
		//alert(Msg);
		try{
		ctlToValidate.focus();
		}
		catch(e){
		}
		//ctlToValidate.select();
		
		retValue=Msg+"\n";
	}
	return retValue;
}

function validateRadioButton(t,Msg) {
	//alert(t.length);
	var retValue="";
	
	var radio_choice = false;
	for (counter = 0; counter < t.length; counter++){
		if (t[counter].checked)
			radio_choice = true; 
	}

	if (!radio_choice){
		//alert(Msg);
		retValue=Msg+"\n";
	}
	return (retValue);
}

function validateCheckBoxButton(t,Msg,chGrp) {
	//alert(chGrp);
	var chGrpArr=chGrp.split(",");
	var retValue="";
	
	var radio_choice = false;
	for (counter = 0; counter < chGrpArr.length; counter++){
		//alert(chGrpArr[counter]);
		if (document.getElementById(chGrpArr[counter]).checked)
			radio_choice = true; 
	}

	if (!radio_choice){
		//alert(Msg);
		retValue=Msg+"\n";
	}
	return (retValue);
}

