function flFormValidator(D){var A=this;var G=D;var C=true;var B;var F;var E=[];this.setElement=function(H){if(typeof H=="string"){B=document.getElementById(H);F=H}else{B=H;F=H.id}if(B&&B.type=="radio"){B=null}};this.getElement=function(){return B};this.isValid=function(){return C};this.clearMsgs=function(){E=[]};this.getMsgs=function(){return E};this.addMsg=function(H){E.push(H)};this.flagErrors=function(){var I=E.length?E.join("<br />\n"):false;E=[];C=C&&(I==false);var J=document.getElementsByTagName("label");for(var H=0;H<J.length&&J[H].htmlFor!=F;H++){}if(H<J.length){J[H].innerHTML=J[H].innerHTML.replace(/\s*<strong>(.|\n)*<\/strong>/i,"")+(I?" <strong>"+I+"</strong>":"")}else{J=document.getElementById(F+"_radiogroup");if(J){J.innerHTML=J.innerHTML.replace(/\s*<strong>(.|\n)*<\/strong>/i,"")+(I?" <strong>"+I+"</strong>":"")}}J=document.getElementById(F+"_container");if(J){J.className=J.className.replace(/(^| )error($| )/,"")+(I?" error":"")}return I==false};this.updateFormErrorMsg=function(H){var I=document.getElementById(G.id+"_errormsg");if(I){I.className=I.className.replace(/(^| )error($| )/,"")+(C?"":" error");I.innerHTML=C?"":H}};this.minLen=function(H,I,J){if(B.value.length>=H||(J&&!B.value.length)){return }E.push(I)};this.maxLen=function(H,I){if(B.value.length>H){E.push(I)}};this.required=function(I){if(B==null){var J=0;for(var H=0;H<G.length;H++){if(G[H].type=="radio"&&G[H].name==F&&G[H].checked){J=J+1}}if(!J){E.push(I)}}else{switch(B.type){case"checkbox":if(!B.checked){E.push(I)}break;default:if(!/\S/.test(B.value)){E.push(I)}break}}};this.notValue=function(I,H){if(B.value==I){E.push(H)}};this.minValue=function(I,H){if(B.value<I){E.push(H)}};this.maxValue=function(I,H){if(B.value>I){E.push(H)}};this.isUri=function(H,I){if((I&&!B.value.length)||/^(http|https|ftp):\/\/([\w-]+:[\w-]+@)?[\w-]+(?:\.[\w-]+)*(?::\d+)?(?:\/[\w ~\\\(\)%\=\.,\+-]*)*(?:\?[\w ~\\\(\)%\=\.,\+-]+=[\w ~\\\(\)%\=\.,\+-]*(?:&[\w ~\\\(\)%\=\.,\+-]+=[\w ~\\\(\)%\=\.,\+-]*)*)?$/i.test(B.value)){return }E.push(H)};this.isEmail=function(H,I){if((I&&!B.value.length)||/^[\w!$\' *+\-]+(?:\.[\w!$\' *+\-]+)*@(?:[\w\-]+\.)+[a-z]{2,}$/i.test(B.value)){return }E.push(H)};this.isInteger=function(H,I){if((I&&!B.value.length)||/^-?\d+$/i.test(B.value)){return }E.push(H)};this.matchOther=function(H,I){if(B.value!=document.getElementById(H).value){E.push(I)}}};