function Validate(objForm){var arrValidated=new Array();for(var i=0;i<objForm.elements.length;i++){var element=objForm.elements[i];var elName=element.name;if((!elName)||(elName.length==0)||(arrValidated[elName]))
continue;arrValidated[elName]=true;var validationType=element.getAttribute("validate");if((!validationType)||(validationType.length==0))
continue;var strMessages=element.getAttribute("msg");if(!strMessages)
strMessages="";var arrMessages=strMessages.split("|");var arrValidationTypes=validationType.split("|");for(var j=0;j<arrValidationTypes.length;j++){var curValidationType=arrValidationTypes[j];var blnValid=true;switch(curValidationType){case"not_empty":blnValid=ValidateNotEmpty(element);break;case"integer":blnValid=ValidateInteger(element);break;case"number":blnValid=ValidateNumber(element);break;case"email":blnValid=ValidateEmail(element);break;default:try{blnValid=eval(curValidationType+"(element)");}
catch(ex){blnValid=true;}}
if(blnValid==false){var message="invalid value for "+element.name;if((j<arrMessages.length)&&(arrMessages[j].length>0))
message=arrMessages[j];InsertError(element,message);if((typeof element.focus=="function")||(element.focus)){element.focus();}
return false;}
else
ClearError(element);}}
return true;}
function ValidateNotEmpty(objElement){var strValue=GetElementValue(objElement);return(strValue.length>0);}
function ValidateInteger(objElement){var strValue=GetElementValue(objElement);return(!isNaN(parseInt(strValue)));}
function ValidateNumber(objElement){var strValue=GetElementValue(objElement);return(!isNaN(parseFloat(strValue)));}
function ValidateEmail(objElement){var strValue=GetElementValue(objElement);if(strValue.length<5)
return false;var arrTemp=strValue.split("@");if(arrTemp.length!=2)
return false;var strLeftPart=arrTemp[0];var strRightPart=arrTemp[1];if((strLeftPart.length==0)||(strRightPart.length==0))
return false;arrTemp=strRightPart.split(".");if(arrTemp.length<2)
return false;for(var i=0;i<arrTemp.length;i++){if(arrTemp[i].length==0)
return false;}
return true;}
function GetElementValue(objElement){var result="";switch(objElement.type){case"text":case"hidden":case"textarea":case"password":result=objElement.value;break;case"select-one":case"select":if(objElement.selectedIndex>=0)
result=objElement.options[objElement.selectedIndex].value;break;case"radio":case"checkbox":for(var i=0;i<objElement.form.elements.length;i++){if(objElement.form.elements[i].name==objElement.name){if(objElement.form.elements[i].checked)
result+=objElement.form.elements[i].value+",";}}
break;}
return result;}
function InsertError(element,strMessage){if((element.form.getAttribute("show_alert"))&&(element.form.getAttribute("show_alert")!="0")){alert(strMessage);return;}
var strSpanID=element.name+"_val_error";var objSpan=document.getElementById(strSpanID);if(!objSpan){if((element.type=="radio")||(element.type=="checkbox")){for(var i=0;i<element.form.elements.length;i++){if(element.form.elements[i].name==element.name){element=element.form.elements[i];}}}
objSpan=document.createElement("span");objSpan.id=strSpanID;objSpan.className="validation_error";var nodeAfter=0;var nodeParent=element.parentNode;for(var i=0;i<nodeParent.childNodes.length;i++){if(nodeParent.childNodes[i]==element){if(i<(nodeParent.childNodes.length-1))
nodeAfter=nodeParent.childNodes[i+1];break;}}
if((!nodeAfter)&&(nodeParent.parentNode)){nodeParent=nodeParent.parentNode;for(var i=0;i<nodeParent.childNodes.length;i++){if(nodeParent.childNodes[i]==element.parentNode){if(i<(nodeParent.childNodes.length-1))
nodeAfter=nodeParent.childNodes[i+1];break;}}}
if(nodeAfter)
nodeParent.insertBefore(objSpan,nodeAfter);else
document.body.appendChild(objSpan);}
objSpan.innerHTML=strMessage;}
function ClearError(element){var strSpanID=element.name+"_val_error";var objSpan=document.getElementById(strSpanID);if(objSpan){objSpan.innerHTML="";}}
