function ValidateForm(formName,redir){var validated=true,form=document.forms[formName];for(var i=0;i<form.elements.length;i++){var element=form.elements[i],min,max,minStandard=element.getAttribute("minStandard"),minMetric=element.getAttribute("minMetric");if(minStandard!=""&&minStandard!=null||minMetric!=""&&minMetric!=null){var unit=document.getElementById("unit").value;if(unit.toLowerCase()=="standard"){min=element.getAttribute("minStandard");max=element.getAttribute("maxStandard")}else if(unit.toLowerCase()=="metric"){min=element.getAttribute("minMetric");max=element.getAttribute("maxMetric")}}else if(element.getAttribute("min")!=""||element.getAttribute("max")!=""){min=element.getAttribute("min");max=element.getAttribute("max")}var requiredError=replace(document.getElementsByName("Required")[0].value,element.getAttribute("label")),integerError=replace(document.getElementsByName("Integer")[0].value,element.getAttribute("label")),rangeError=replace(document.getElementsByName("Range")[0].value,element.getAttribute("label"),min,max),numericError=replace(document.getElementsByName("Numeric")[0].value,element.getAttribute("label")),nestedRequired;if(formName=="weightLossForm"&&element.name=="wloption"){rangeError=replace(document.getElementsByName("Range")[0].value,document.getElementById("goalWeight").getAttribute("label"),min,max);requiredError=replace(document.getElementsByName("Required")[0].value,document.getElementById("goalWeight").getAttribute("label"));nestedRequired=replace(document.getElementsByName("NestedRequired")[0].value,document.getElementById("goalWeight").getAttribute("label"));integerError=replace(document.getElementsByName("Integer")[0].value,document.getElementById("goalWeight").getAttribute("label"))}var errorFound;if(formName=="reeForm")var invalidRangeError=replace(document.getElementsByName("InvalidRange")[0].value,element.getAttribute("label"),document.getElementById("age").getAttribute("invalidMin"),document.getElementById("age").getAttribute("invalidMax"));if(element.tagName=="INPUT"&&element.getAttribute("required")=="true"){var value=Trim(element.value),tempName=element.name;switch(tempName.toLowerCase()){case "age":var invalidMin=document.getElementById("age").getAttribute("invalidMin"),invalidMax=document.getElementById("age").getAttribute("invalidMax");if(isBlank(value)){alert(requiredError);element.focus();element.value="";return false}if(!isPositiveInteger(value)){alert(integerError);element.focus();element.value="";errorFound=true;return false}if(!isInvalidRange(element.value,invalidMin,invalidMax)){alert(invalidRangeError);element.focus();element.value="";errorFound=true}if(!isValidRange(element.value,min,max)){alert(rangeError);element.focus();element.value="";errorFound=true}break;case "feet":if(unit=="metric")break;else{if(isBlank(value)){alert(requiredError);element.focus();return false;break}if(!isValidRange(element.value,min,max)){alert(rangeError);element.focus();element.value="";errorFound=true;break}if(!isPositiveInteger(value)){alert(integerError);errorFound=true;element.focus();element.value="";break}}break;case "centimeters":if(unit=="standard")break;else{if(isBlank(value)){alert(requiredError);element.focus();return false;break}if(!isValidRange(element.value,min,max)){alert(rangeError);element.focus();element.value="";errorFound=true;break}if(!isPositiveInteger(value)){alert(integerError);errorFound=true;element.focus();element.value="";break}}break;case "heightinput2":if(unit=="metric")break;else{if(!isValidRange(element.value,min,max)){alert(rangeError);element.focus();element.value="";errorFound=true}if(!isBlank(value)&&!isPositiveInteger(value)){alert(integerError);errorFound=true;element.focus();element.value="";break}}break;case "weight":if(isBlank(value)){alert(requiredError);errorFound=true;element.focus();element.value="";break}if(!isPositiveInteger(value)){alert(integerError);errorFound=true;element.focus();element.value="";break}if(!isValidRange(element.value,min,max)){alert(rangeError);errorFound=true;element.focus();element.value="";break}break;case "wloption":if(!isRadioChecked(formName,element.name)){alert(requiredError);element.focus();return false}else if(document.forms[formName].elements["wloption"][0].checked==true){if(unit.toLowerCase()=="standard")min=document.getElementById("goalWeight").getAttribute("minStandard");else if(unit.toLowerCase()=="metric")min=document.getElementById("goalWeight").getAttribute("minMetric");var goalWeightValue=document.getElementById("goalWeight").value,currentWeight=document.getElementById("weight").value;if(isBlank(goalWeightValue)){alert(nestedRequired);document.getElementById("goalWeight").focus();return false}else if(!isPositiveInteger(goalWeightValue)){alert(integerError);document.getElementById("goalWeight").value="";document.getElementById("goalWeight").focus();return false}else if(!isValidRange(goalWeightValue,min,currentWeight-1)){rangeError=rangeError.replace("null",min);rangeError=rangeError.replace("null",currentWeight-1);alert(rangeError);document.getElementById("goalWeight").value="";document.getElementById("goalWeight").focus();return false}}break}}if(element.tagName=="INPUT"&&element.type=="text"&&element.getAttribute("required")=="false"){var value=Trim(element.value),tempName=element.name;switch(tempName.toLowerCase()){case "waist":if(!isBlank(value)){if(unit.toLowerCase()=="standard")min=document.getElementById("waist").getAttribute("minStandard");else if(unit.toLowerCase()=="metric")min=document.getElementById("waist").getAttribute("minMetric");if(!isValidRange(element.value,min,max)){rangeError=replace(document.getElementsByName("Range")[0].value,element.getAttribute("label"),min,max);alert(rangeError);element.focus();element.value="";errorFound=true;break}if(!isPositiveInteger(value)){alert(integerError);errorFound=true;element.focus();element.value="";break}else if(!document.forms[formName].elements["sex"][0].checked==true&&!document.forms[formName].elements["sex"][1].checked==true){var cascadeRequired=replace(document.getElementsByName("CascadedRequired")[0].value,element.getAttribute("gender"),element.getAttribute("label"));alert(cascadeRequired);errorFound=true}}break}}if(element.tagName=="INPUT"&&element.type=="radio"&&element.getAttribute("required")=="true")if(!isRadioChecked(formName,element.name)){alert(requiredError);return false;validated=false}if(errorFound){return false;validated=false}}if(validated)return true;else return false}function LimitNumberKey(e){if(e.keyCode==0){if(e.charCode<47||e.charCode>57)e.preventDefault()}else if(e.keyCode<47||e.keyCode>57)event.returnValue=false}function isRadioChecked(formName,rbGroupName){var isChecked=false,radios=document.forms[formName].elements[rbGroupName];for(var i=0;i<radios.length;i++)if(radios[i].checked)isChecked=true;if(isChecked)return true;else return false}function isBoxChecked(formName,cbName){if(document.forms[formName].elements[cbName].checked)return true;return false}function isDDLSelected(selectedIndex){if(selectedIndex==0)return false;return true}function Trim(value){return LTrim(RTrim(value))}function LTrim(value){if(value==null)return null;for(var i=0;value.charAt(i)==" ";i++);return value.substring(i,value.length)}function RTrim(value){if(value==null)return null;for(var i=value.length-1;value.charAt(i)==" ";i--);return value.substring(0,i+1)}function isValidRange(value,min,max){if(parseFloat(value)>max||parseFloat(value)<min)return false;return true}function isInvalidRange(value,invalidMin,invalidMax){if(parseFloat(value)>=invalidMin&&parseFloat(value)<=invalidMax)return false;return true}function isBlank(value){if(value==null||value=="")return true;if(value.length>0)return false;for(var i=0;i<value.length;i++)if(val.charAt(i)!=" "&&value.charAt(i)!="\t"&&value.charAt(i)!="\n"&&value.charAt(i)!="\r")return false;return true}function isNumeric(value){var objRegExp=/(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;return objRegExp.test(value)}function isInteger(number){var objRegExp=/(^-?\d\d*$)/;return objRegExp.test(number)}function isPositiveInteger(number){var objRegExp=/(^\d\d*$)/;return objRegExp.test(number)}function isDigit(number){if(num.length>1)return false;var string="1234567890";if(string.indexOf(number)!=-1)return true;return false}function compare(value1,value2){if(value1===value2)return true;return false}function replace(oldString,x,y,z){var newString=oldString.replace(/%X%/g,x);newString=newString.replace(/%Y%/g,y);newString=newString.replace(/%Z%/g,z);newString=newString.replace(/:/g,"");return newString}