var fieldMap=new Object();var flagFormSubmit=false;var divErrorMessages="";var alertErrorMessage="";var divFlag=false;var elementValue='';var currEle='';var errDisplayType='';function g(id){return(document.getElementById(id));}
function validation(formObject)
{var noError=true;errorString="";var mapedField=fieldMap[formObject.id];for(var i=0;i<formObject.elements.length;i++)
{if(formObject.elements[i].id!=undefined)
{var fieldObj=formObject.elements[i];currEle=fieldObj;elementValue=fieldObj.value;elementValue=elementValue.replace("<","&lt;").replace(">","&gt;");elementValue=elementValue.replace("eval\\((.*)\\)","");elementValue=elementValue.replace("[\\\"\\\'][\\s]*javascript:(.*)[\\\"\\\']","\"\"");elementValue=elementValue.replace("script","");if(mapedField[fieldObj.id]!=undefined&&fieldObj.disabled==false&&typeof(mapedField[fieldObj.id].validateFunction)=="object"&&!checkValidationArray(mapedField[fieldObj.id].validateFunction,fieldObj,mapedField[fieldObj.id]))
{noError=false;}}}
if(!noError)
{if(!divFlag)
{alert(alertErrorMessage);}}
if(flagFormSubmit)
{return noError;}
else
{return flagFormSubmit;}}
function hideDiv(element)
{('display'==errDisplayType)?g(element.div).style.display="none":g(element.div).style.visibility="hidden";if(currEle.className.search('err')!=-1)currEle.className=currEle.className.split('err')[0];}
function display(element)
{if(divErrorMessages)
{if(currEle.className.search('err')==-1)currEle.className+=' err';('display'==errDisplayType)?g(element.div).style.display="block":g(element.div).style.visibility="visible";g(element.div).innerHTML=divErrorMessages;}}
function displayError(element,errMsg)
{if(element.div!=undefined&&element.div!="")
{if(errMsg!="")
{divErrorMessages=errMsg;display(element);divFlag=true;}
else
hideDiv(element);}
else
{alertErrorMessage+=errMsg;divFlag=false;}}
function checkValidationArray(validateFunctionArray,element,fieldMapElement)
{for(var i=0;i<validateFunctionArray.length;i++)
{if(validateFunctionArray[i].errMsg!=undefined)
{if(!validateFunctionArray[i].funName(fieldMapElement,element,validateFunctionArray[i].errMsg))
{return false;}}
else
{if(!validateFunctionArray[i].funName(fieldMapElement,element,''))
{return false;}}}
return true;}
function trim(strValue)
{var j=strValue.length-1;var i=0;while(strValue.charAt(i++)==' ');while(strValue.charAt(j--)==' ');return strValue.substr(--i,++j-i+1);}
function getError(defaultError,fieldMapElement,errMsg)
{if(errMsg=='')
{if(fieldMapElement.label!=undefined)
{errMsg=defaultError+" for "+fieldMapElement.label;}
else
{errMsg="Please define label property or error message in your javascript";}}
return errMsg;}
function selectValidation(fieldMapElement,element,errMsg)
{if(elementValue=="0"||elementValue=='')
{errMsg=getError("Please select atleast one value",fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}
displayError(fieldMapElement,'');return true;}
function isBlank(fieldMapElement,element,errMsg)
{if(element.disabled==false&&elementValue=="")
{errMsg=getError("Please enter value",fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}
displayError(fieldMapElement,'');return true;}
function atleastOneRadChk(fieldMapElement,element,errMsg)
{var noneFlag=true;if(fieldMapElement.others!=undefined)
{for(optionCount=0;optionCount<fieldMapElement.others.length;optionCount++)
{if(document.getElementById(fieldMapElement.others[optionCount]).checked!=false)
{noneFlag=false;divFlag=true;}}
if(noneFlag&&(element.checked==false))
{errMsg=getError("Please select option",fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}
else
{displayError(fieldMapElement,'');divFlag=true;return true;}}
else
{errMsg="Please define other property for "+element.name+" in your javascript";displayError(fieldMapElement,errMsg);return false;}
displayError(fieldMapElement,'');return true;}
function atleastOne(fieldMapElement,element,errMsg)
{var noneFlag=true;if(fieldMapElement.others!=undefined)
{for(optionCount=0;optionCount<fieldMapElement.others.length;optionCount++)
{if(document.getElementById(fieldMapElement.others[optionCount]).value!="")
{noneFlag=false;break;}}
if(noneFlag&&(elementValue==""))
{errMsg=getError("Please select option",fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}}
else
{errMsg="Please define other property for "+element.name+" in your javascript";displayError(fieldMapElement,errMsg);return false;}
displayError(fieldMapElement,'');return true;}
function isNumeric(fieldMapElement,element,errMsg)
{var txtString=trim(elementValue);var charPos=txtString.search(/[^\d]/);if((txtString.length>0)&&(charPos>=0))
{errMsg=getError("Please enter only numbers",fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}
displayError(fieldMapElement,'')
return true;}
function emailValidation(fieldMapElement,element,errMsg)
{if(elementValue!="")
{var regex;var RFC=element.getAttribute("rfc");if(RFC){if(RFC.toUpperCase()=="yes"||RFC.toUpperCase()=="true"){regex=/^(([a-z0-9!#$%&*+-=?^_`{|}~][a-z0-9!#$%&*+-=?^_`{|}~.]*[a-z0-9!#$%&*+-=?^_`{|}~])|[a-z0-9!#$%&*+-?^_`{|}~]|("[^"]+"))[@]([-a-z0-9]+\.)+([a-z]{2}|com|net|edu|org|gov|mil|int|biz|pro|info|arpa|aero|coop|name|museum)$/}else{regex=/^[A-Za-z0-9]{1}[a-zA-Z0-9]*((\.|\_|-|\'){1}[a-zA-Z0-9]*)*@([a-zA-Z0-9]+([\-]{1}[a-zA-Z0-9]+)*[\.]{1})+[a-zA-Z]{2,4}$/;}}else{regex=/^[A-Za-z0-9]{1}[a-zA-Z0-9]*((\.|\_|-|\'){1}[a-zA-Z0-9]*)*@([a-zA-Z0-9]+([\-]{1}[a-zA-Z0-9]+)*[\.]{1})+[a-zA-Z]{2,4}$/;}
if(!regex.test(elementValue))
{errMsg=getError("Please enter valid value",fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}}
displayError(fieldMapElement,'');return true;}
function minLength(fieldMapElement,element,errMsg)
{if(elementValue.length<fieldMapElement.min)
{errMsg=getError("length should be atleast of "+fieldMapElement.min,fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}
displayError(fieldMapElement,'');return true;}
function maxLength(fieldMapElement,element,errMsg)
{var txtString=trim(elementValue);if(txtString.length>fieldMapElement.max)
{errMsg=getError("length should be atmost of "+fieldMapElement.min,fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}
displayError(fieldMapElement,'');return true;}
function phoneValdation(fieldMapElement,element,errMsg)
{patternMatch=0;var txtString=trim(elementValue);if(txtString!='')
{var country=fieldMapElement.country;var typeRegEx=availType(country);for(i in typeRegEx)
{if(typeRegEx[i].test(txtString))
patternMatch=1;}
if(patternMatch==0)
{errMsg=getError("Please enter valid phone no.",fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}}
displayError(fieldMapElement,'');return true;}
function availType(country)
{regex=new Array();switch(country)
{case"in":regex[0]=/^[0-9]{6,11}$/;regex[1]=/^[\(][\+][0-9]{2}[\)][\[][0-9]{3,5}[\]][0-9]{6,11}$/;regex[2]=/^[\+][0-9]{2}[0-9]{3,5}[0-9]{6,11}$/;regex[3]=/^[0-9]{2}[\-][0-9]{6,11}$/;break;case"br":$type[0]=/^([0-9]{2})?(\([0-9]{2})\)([0-9]{3}|[0-9]{4})-[0-9]{4}$/;break;case"fr":regex[0]=/^([0-9]{2})?(\([0-9]{2})\)([0-9]{3}|[0-9]{4})-[0-9]{4}$/;break;case"us":regex[0]=/^[\(][0-9]{3}[\)][0-9]{3}[\-][0-9]{4}$/;regex[1]=/^[0-9]{3}[\-][0-9]{3}[\-][0-9]{4}$/;break;case"sw":regex[0]=/^(([+][0-9]{2}[ ][1-9][0-9]{0,2}[ ])|([0][0-9]{1,3}[-]))(([0-9]{2}([ ][0-9]{2}){2})|([0-9]{3}([ ][0-9]{3})*([ ][0-9]{2})+))$/;break;}
return regex;}
function confirmPassword(fieldMapElement,element,errMsg)
{if(elementValue!=fieldMapElement.other.value)
{errMsg=getError("confirm password is not matched"+fieldMapElement.min,fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}
displayError(fieldMapElement,'');return true;}
function rangeValidation(fieldMapElement,element,errMsg)
{var regex=/^\d*(\.\d{1,2})?$/;if(!regex.test(elementValue))
{displayError(element,errMsg);return false;}
if(elementValue<fieldMapElement.min||elementValue>fieldMapElement.max)
{errMsg=getError("length should be atleast of "+fieldMapElement.min+" and atmot of "+fieldMapElement.max,fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}
displayError(fieldMapElement,'');return true;}
function zipValidation(fieldMapElement,element,errMsg)
{var theZip=trim(elementValue);if(theZip!="")
{var regex;var country=element.getAttribute("country");if(country)
{switch(country.toUpperCase())
{case"BE":regex=/^[1-9]{1}[0-9]{3}$/;break;case"BR":regex=/^\d{5}-\d{3}$|^\d{8}$/;break;case"CA":regex=/^[a-zA-Z][0-9][a-zA-Z]\s?[0-9][a-zA-Z][0-9]$/;break;case"DU":regex=/^[0-9]{4}\s{0,1}[a-zA-Z]{2}$/;break;case"IN":regex=/^[\d]{6}$/;break;case"US":regex=/^[0-9]{5}\-[0-9]{4}$/;break;case"UK":regex=/^[A-Za-z]{1,2}[0-9A-Za-z]{1,2}[ ]?[0-9]{0,1}[A-Za-z]{2}$/;break;default:regex=/^[\d]{5,6}$/;}}
else
{regex=/^[\d]{5,6}$/;}
if(!regex.test(theZip))
{errMsg=getError("Please enter valid value",fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}}
displayError(fieldMapElement,'');return true;}
function nameValidation(fieldMapElement,element,errMsg)
{var theName=trim(elementValue);if(theName.length>0)
{var regex=/^[a-zA-Z\s\.]+$/;if(!regex.test(theName))
{errMsg=getError("Please enter value"+fieldMapElement.min+" and atmost of "+fieldMapElement.max,fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}}
displayError(fieldMapElement,'');return true;}
function alphaNum(fieldMapElement,element,errMsg)
{var theVal=trim(elementValue);if(theVal.length>0)
{var regex=/^[A-za-z0-9\s\.]+$/;if(!regex.test(theVal))
{errMsg=getError("Please enter value"+fieldMapElement.min+" and atmost of "+fieldMapElement.max,fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}}
displayError(fieldMapElement,'');return true;}
function userName(fieldMapElement,element,errMsg)
{var theUserName=trim(elementValue);if(theUserName.length>0)
{var regex=/^[A-za-z0-9\_\s\.]+$/;if(!regex.test(theUserName))
{errMsg=getError("Please enter value"+fieldMapElement.min+" and atmost of "+fieldMapElement.max,fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}}
displayError(fieldMapElement,'');return true;}
function address(fieldMapElement,element,errMsg)
{var theAdd=trim(elementValue);if(theAdd.length>0)
{var regex=/^[a-zA-Z0-9]+.*$/;if(!regex.test(theAdd))
{errMsg=getError("Please enter valid "+fieldMapElement.max,fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}}
displayError(fieldMapElement,'');return true;}
function len(fieldMapElement,element,errMsg)
{var theLen=trim(elementValue);if(theLen.length>0)
{if(theLen.length>1500)
{errMsg=getError("Please enter valid "+fieldMapElement.max,fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}}
displayError(fieldMapElement,'');return true;}
function contains(fieldMapElement,element,errMsg)
{var theCon=trim(elementValue);if(theCon.length>0)
{if(theCon=='1500 characters only.'||theCon=='Please read the terms and conditions before you post your idea.'||theCon=='1500 characters only. Please read the terms and conditions before you post your idea.'||theCon=='1500 characters only'||theCon=='Please read the terms and conditions before you post your idea'||theCon=='1500 characters only. Please read the terms and conditions before you post your idea')
{errMsg=getError("Please enter valid "+fieldMapElement.max,fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}}
displayError(fieldMapElement,'');return true;}
function contains1(fieldMapElement,element,errMsg)
{var theCon=trim(elementValue);if(theCon.length>0)
{if(theCon=='75 characters only.'||theCon=='75 characters only')
{errMsg=getError("Please enter valid "+fieldMapElement.max,fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}}
displayError(fieldMapElement,'');return true;}
function mobilenumberValidation(fieldMapElement,element,errMsg)
{var theNo=trim(elementValue);if(theNo.length>0)
{var regex2=/^[9][0-9]{9}$/;if(fieldMapElement.isNRI=='Y'&&fieldMapElement.isNRI!=undefined)
{regex2=/^[\d]{1,10}$/;}
if(!regex2.test(elementValue))
{errMsg=getError("Please enter valid value",fieldMapElement,errMsg);displayError(fieldMapElement,errMsg);return false;}}
displayError(fieldMapElement,'');return true;}
function getKeyCode(e)
{if(window.event)
return window.event.keyCode;else
if(e)
return e.which;else
return null;}
function keyRestrict(e,validchars)
{var key='',keychar='';key=getKeyCode(e);if(key==null)
return true;keychar=String.fromCharCode(key);keychar=keychar.toLowerCase();validchars=validchars.toLowerCase();if(validchars.indexOf(keychar)!=-1)
return true;if(key==null||key==0||key==8||key==9||key==13||key==27)
return true;return false;}