
function AutoForm(name,cssClassesObj){this.name=name;this.reqd_fields=new Array();this.identicalFieldSuffix='_re';this.fieldsRegexCheck=new Array();this.cssClassesObj=cssClassesObj;this.fieldOptions=new Array();this.extracheckingcallback=false;}
function in_array(arr,val){for(i in arr)if(arr[i]==val)return true;return false;}
AutoForm.prototype.validate=function(){for(var i in this.reqd_fields){if(isNaN(parseInt(i)))continue;var targetInputID='form_'+this.name+'_'+this.reqd_fields[i];var targetInput=document.getElementById(targetInputID);if(!targetInput.value||targetInput.value==''){BlinkBgById(targetInputID,this.cssClassesObj.BLINK_REQD,this.cssClassesObj.REQD);targetInput.focus();return false;}
if(this.fieldsRegexCheck[this.reqd_fields[i]]){if(targetInput.value.search(this.fieldsRegexCheck[this.reqd_fields[i]])==-1){BlinkBgById(targetInputID,this.cssClassesObj.BLINK_REGX,this.cssClassesObj.REQD);return false;}}
var targetIdenticalInput;if(targetIdenticalInput=document.getElementById(targetInputID+this.identicalFieldSuffix)){if((targetIdenticalInput.value!='')&&targetInput.value!=targetIdenticalInput.value){BlinkBgById(targetInputID,this.cssClassesObj.BLINK_REQD,this.cssClassesObj.REQD);BlinkBgById(targetInputID+this.identicalFieldSuffix,this.cssClassesObj.BLINK_REQD,this.cssClassesObj.REQD);return false;}}
if(targetInput.type=='file'){var allowed_exts=this.fieldOptions[this.reqd_fields[i]]['exts'];var file_ext=targetInput.value.substr(targetInput.value.lastIndexOf('.')+1).toLowerCase();if(!in_array(allowed_exts,file_ext)){BlinkBgById(targetInputID,this.cssClassesObj.BLINK_REQD,this.cssClassesObj.REQD);return false;}}}
if(this.extracheckingcallback){return this.extracheckingcallback();}
return true;}
function BlinkBgById(targetElemID,blinkClassName,origClassName){appendClassName(targetElemID,blinkClassName);setTimeout("replaceClassName('"+targetElemID+"', '"+blinkClassName+"', '"+origClassName+"');",555);setTimeout("replaceClassName('"+targetElemID+"', '"+origClassName+"', '"+blinkClassName+"');",555*2);setTimeout("replaceClassName('"+targetElemID+"', '"+blinkClassName+"', '"+origClassName+"');",555*3);}
function appendClassName(elemID,newClassName){var elem=document.getElementById(elemID);elem.className=elem.className.replace(newClassName,'').replace('  ',' ')+' '+newClassName;}
function replaceClassName(elemID,oldClassName,newClassName){var elem=document.getElementById(elemID);elem.className=elem.className.replace(oldClassName,'').replace('  ',' ')+' '+newClassName;}
function GetRes(arr,blinkClassName,className)
{$error=false;for(var i=0;i<arr.length;i++)
{var field=document.getElementById(arr[i]).value;if(!(hasWhiteSpace(field))||field=='')
{BlinkBgById(arr[i],blinkClassName,className);$error=true;break;}
else if(arr[i]=='email')
{if(!(validate(field)))
{BlinkBgById(arr[i],blinkClassName,className);$error=true;break;}}}
if(!$error)
{document.form.submit();}}
function validate(email){var reg=/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;var address=email;if(reg.test(address)==false){return false;}
else
return true;}
function hasWhiteSpace(s)
{reWhiteSpace=new RegExp(/^\s+$/);if(reWhiteSpace.test(s)){return false;}
else
{return true;}}
