var FORM_ERROR_CLASS="FH_error";var FORM_VALID_CLASS="FH_valid";function FieldSet(){}function GroupSet(){}function Rule(A,C){var B=A;var D=C;this.setType=function(E){B=E};this.setParm=function(E){D=E};this.getType=function(){return B};this.getParm=function(){return D}}function Group(T,N,I){var Z=T;var Y=N;var U=I;var E=false;var X=new Array();var G=new Array();var Q="valid";var J=new Array();var P=null;var V=false;this.getNiceName=S;this.getName=K;this.setErrorMessage=H;this.getErrorMessage=O;this.isValid=R;this.getError=D;this.getFields=L;this.getColor=C;this.setColor=B;this.addRule=F;this.validate=M;this.checkRules=W;this.addField=A;X["group-min-required"]=U.getDefaultErrorMessage("group-min-required");X["group-max-allowed"]=U.getDefaultErrorMessage("group-max-allowed");function S(){return Y}function K(){return Z}function H(a,b){X[a]=b}function O(a){return X[a]}function R(){return E}function D(){return P}function L(){return G}function C(){return Q}function B(a){Q=a}function F(a,c){var b=new Rule(a,c);J.push(b)}function M(){P=null;W();if(P){E=false}else{E=true}}function W(){for(r in J){switch(J[r].getType()){case"min_required":var a=0;for(f in G){if(U.checkFieldEmpty(G[f])){a++}}if((G.length-a)<J[r].getParm()){P=X["group-min-required"].replace(/{MIN-REQUIRED}/,J[r].getParm())}break;case"max_allowed":var a=0;for(f in G){if(U.checkFieldEmpty(G[f])){a++}}if((G.length-a)>J[r].getParm()){P=X["group-max-allowed"].replace(/{MAX-ALLOWED}/,J[r].getParm())}break;default:break}}}function A(a){G.push(a)}}function Field(AG,s,p,AC,h,N){var P=false;var Y=p;var AM=AC;var T=AG;var AA=s;var l=true;var v=false;var q=h;var c=null;var Z=null;var AE=N;var m=null;var B=new Array();var AK=0;var K=new Array();var e=null;var j=null;var F=false;var AJ=false;this.user_in_field=false;this.validate=b;this.checkRequired=g;this.checkRules=J;this.checkEmpty=AL;this.isValid=G;this.getErrors=E;this.getErrorType=O;this.colorValid=AH;this.colorInvalid=I;this.setOptions=a;this.getOptions=AI;this.addRule=R;this.showErrorDiv=u;this.hideErrorDiv=L;this.updateErrorDiv=AB;this.getNiceName=X;this.getGroupNiceName=A;this.getGroupName=D;this.setGroup=Q;this.getGroup=W;this.checkGroupRules=S;this.getName=AD;this.getType=d;this.getErrorClass=M;this.turnErrorDivOff=H;this.setIgnore=z;this.setErrorMessage=U;this.getActionVerb=AF;this.keyupUpdateErrorDiv=w;this.keyupUpdateErrorDiv2=V;this.setUserInField=C;function AD(){return T}function d(){return AM}function M(){return q}function E(){return j}function X(){return AA}function A(){return Z}function D(){return c}function G(){return P}function W(){return c}function O(){return m}function AI(){return e}function AF(){switch(AM){case"radio":case"select":case"checkbox":return"select";break;default:return"enter";break}}B["default"]=AE.getDefaultErrorMessage("default");B.required=AE.getDefaultErrorMessage("required");B.allowed_chars=AE.getDefaultErrorMessage("allowed_chars");B.match=AE.getDefaultErrorMessage("match");B.allowed_values=AE.getDefaultErrorMessage("allowed_values");B.type=AE.getDefaultErrorMessage("type");B["check-maledicta"]=AE.getDefaultErrorMessage("check-maledicta");B["max-value"]=AE.getDefaultErrorMessage("max-value");B["min-value"]=AE.getDefaultErrorMessage("min-value");B["min-length"]=AE.getDefaultErrorMessage("min-length");B["max-length"]=AE.getDefaultErrorMessage("max-length");function U(n,t){B[n]=t;if(n=="default"){for(i in B){B[i]=t}}}function z(n){F=n;b()}function Q(t,n){c=t;Z=n}function u(){if(AE.getOption("show-error-label")===false){return }if(P===true){return }if(user_in_field==false){return }if(v===true){return }var t=E();var n;if(m=="group"&&c!==null&&document.getElementById(c+"_container")){n=$("#"+c+"_container").get(0)}else{switch(AM){case"radio":n=document.getElementById(T+"_container");break;case"checkbox":if(document.getElementById(T+"_container")){n=document.getElementById(T+"_container")}else{n=document.getElementById(T)}break;default:n=document.getElementById(T);break}}if(n){AE.showhint(t,n,AE.getOption("error-label-side"),AE.getTheme());v=true}}function S(){var n=null;if(c!==null){n=AE.checkGroupRules(c)}if(n){j=n;m="group"}}function R(n,t){K.push(new Rule(n,t))}function L(){if(AE.getOption("show-error-label")===false){return }AE.hidetip();v=false}function V(n){if(n==AK){AB()}}function w(){if(v==true){L()}AK++;setTimeout("forms[0].keyupUpdateErrorDiv("+AK+", '"+T+"')",600)}function H(){v=false}function AB(){if(AE.getOption("show-error-label")===false){return }if(v===true){if(P===true){L()}else{form_name=AE.getName();$("#"+form_name+"_hintBox").html(j)}}else{if(P===false){u()}}}function AL(){switch(AM){case"text":case"password":case"textarea":val=document.getElementById(T).value;if(val===""){return true}return false;break;case"radio":var n=0;$("input[name='"+T+"']:checked").each(function(){n++});if(n==0){return true}return false;break;case"checkbox":if(document.getElementById(T).checked===false){return true}return false;break;case"select":if(document.getElementById(T).value=="NULL"){return true}return false;break;default:return true;break}}function b(){j=null;if(F===true){P=true;AH();return }P=false;l=AL();g();if(l===false){J()}if(j==null){S()}if(j==null){P=true;AH()}else{P=false;I()}if(AJ==false){switch(AM){case"text":case"textarea":case"password":$("#"+T).focus(function(){user_in_field=true;b();w()});$("#"+T).click(function(){user_in_field=true;b();w()});$("#"+T).keyup(function(){user_in_field=true;b();w()});break;case"checkbox":case"select":$("#"+T).focus(function(){user_in_field=true;b();w()});$("#"+T).click(function(){user_in_field=true;b();w()});$("#"+T).keyup(function(){user_in_field=true;b();w()});$("#"+T).change(function(){user_in_field=true;b();w()});break;case"radio":for(o=0;o<e.length;o++){$(e[o]).focus(function(){u()})}break;default:break}}AJ=true}function C(n){user_in_field=n}function a(n){e=n;if(AM=="radio"){for(o=0;o<n.length;o++){x=document.getElementById(n[o]);if(x){x.onblur=function(){L()};x.onclick=function(){b();AB()};x.onkeyup=function(){b();AB()}}}}}function AH(){if(AE.getOption("show-error-class")===false){return }if(c){AE.colorValidGroup(c)}else{if(AM!="radio"&&AM!="checkbox"){$("#"+T).removeClass(FORM_ERROR_CLASS);$("#"+T).addClass(FORM_VALID_CLASS)}$("#"+T+"_container").removeClass(FORM_ERROR_CLASS);$("#"+T+"_container").addClass(FORM_VALID_CLASS)}}function I(){if(AE.getOption("show-error-class")===false){return }if(c){AE.colorInvalidGroup(c)}else{if(AM!="radio"&&AM!="checkbox"){$("#"+T).removeClass(FORM_VALID_CLASS);$("#"+T).addClass(FORM_ERROR_CLASS)}$("#"+T+"_container").removeClass(FORM_VALID_CLASS);$("#"+T+"_container").addClass(FORM_ERROR_CLASS)}}function g(){if(Y===false){return false}if(l){var n=B.required.replace(/{FIELD-NAME}/,AA);j=n.replace(/{FIELD-ACTION}/,AF());m="field"}return true}function J(){for(r in K){switch(K[r].getType()){case"allowed_chars":if(AM!="text"&&AM!="password"&&AM!="hidden"&&AM!="textarea"){break}var AN=document.getElementById(T).value;var n=new RegExp("^(s*)["+K[r].getParm()+"]*(s*)$");if(!AN.match(n)){var t=B.allowed_chars.replace(/{ALLOWED-CHARS}/,K[r].getParm());j=t.replace(/{FIELD-ACTION}/,AF());m="field"}break;case"allowed_values":if(AM!="text"&&AM!="password"&&AM!="hidden"&&AM!="textarea"){break}var AN=document.getElementById(T).value;var n=new RegExp("^("+K[r].getParm()+")$");if(!AN.match(n)){var t=B.allowed_values.replace(/{ALLOWED-VALUES}/,K[r].getParm());j=t.replace(/{FIELD-ACTION}/,AF());m="field"}break;case"match":if(AM!="text"&&AM!="password"&&AM!="hidden"&&AM!="textarea"){break}var AN=document.getElementById(T).value;var n=new RegExp(K[r].getParm());if(!AN.match(n)){var t=B.match.replace(/{MATCH}/,K[r].getParm());j=t.replace(/{FIELD-ACTION}/,AF());m="field"}break;case"type":var AN=document.getElementById(T).value;if(K[r].getParm()=="int"){var n=new RegExp("^[\\d,]+$");if(!AN.match(n)){var t=B.type.replace(/{TYPE}/,"an Integer");j=t.replace(/{FIELD-ACTION}/,AF());m="field"}}else{if(K[r].getParm()=="number"){var n=new RegExp("^[\\d\\.,]+$");if(!AN.match(n)){var t=B.type.replace(/{TYPE}/,"a Number");j=t.replace(/{FIELD-ACTION}/,AF());m="field"}}else{if(K[r].getParm()=="email"){var n=new RegExp("^([-!#$%&'*+.\\/0-9=?A-Z^_`a-z{|}])+@(([-!#$%&'*+\\/0-9=?A-Z^_`a-z{|}]+\\.)+[a-zA-Z]{2,6}|[[012]?[0-9]?[0-9].[012]?[0-9]?[0-9].[012]?[0-9]?[0-9].[012]?[0-9]?[0-9]])$");if(!AN.match(n)){var t=B.type.replace(/{TYPE}/,"a valid E-mail Address");j=t.replace(/{FIELD-ACTION}/,AF());m="field"}}}}break;case"max_value":var AN=document.getElementById(T).value;var n=new RegExp("^[\\d\\.,]+$");if(!AN.match(n)){break}if((+AN)>(+K[r].getParm())){var t=B["max-value"].replace(/{MAX-VALUE}/,K[r].getParm());j=t.replace(/{FIELD-ACTION}/,AF());m="field"}break;case"min_value":var AN=document.getElementById(T).value;var n=new RegExp("^[\\d\\.,]+$");if(!AN.match(n)){break}if((+AN)<(+K[r].getParm())){var t=B["min-value"].replace(/{MIN-VALUE}/,K[r].getParm());j=t.replace(/{FIELD-ACTION}/,AF());m="field"}break;case"max_length":var AN=document.getElementById(T).value;if(AN.length>(+K[r].getParm())){var t=B["max-length"].replace(/{MAX-LENGTH}/,K[r].getParm());j=t.replace(/{FIELD-ACTION}/,AF());m="field"}break;case"min_length":var AN=document.getElementById(T).value;if(AN.length<(+K[r].getParm())){var t=B["min-length"].replace(/{MIN-LENGTH}/,K[r].getParm());j=t.replace(/{FIELD-ACTION}/,AF());m="field"}break;default:break}}}}function Form(V){var J=false;var F=false;var AJ=V;var AF=0;var A=new FieldSet;var H=new GroupSet;var X=new Array();var AG=new Array();var l=null;var b=null;var P=null;var p=new Array();var AB=true;var Q=true;var a="right";var T=200;var B="form_handler/themes/default";var v="default";var AC=null;var AK=null;var I="15px";var M="0";var s=null;var G=null;var t=new Array();this.addField=Z;this.addRule=N;this.validateForm=AH;this.resetForm=n;this.getName=z;this.setOptions=U;this.setErrorClass=m;this.setGroup=K;this.addGroup=h;this.checkGroupRules=O;this.colorValidGroup=c;this.colorInvalidGroup=S;this.setOption=Y;this.getOption=L;this.dumpFields=AI;this.setTheme=d;this.getTheme=g;this.ignore=AD;this.enable=D;this.enableValidation=D;this.disableValidation=AD;this.setDefaultErrorMessage=AE;this.getDefaultErrorMessage=E;this.setErrorMessage=R;this.checkFieldEmpty=C;this.keyupUpdateErrorDiv=u;this.createhintbox=e;this.showhint=W;this.hidetip=q;this.getposOffset=j;this.clearbrowseredge=w;this.iecompattest=AA;$("#"+AJ).find(":reset").mouseup(function(){setTimeout("forms["+AF+"].resetForm()",1000)});$("#"+AJ).find(":reset").keyup(function(){setTimeout("forms["+AF+"].resetForm()",1000)});$("#"+AJ).submit(function(){return AH()});function u(AL,AM){A[AM].keyupUpdateErrorDiv2(AL)}function j(AO,AN){var AM=(AN=="left")?AO.offsetLeft:AO.offsetTop;var AL=AO.offsetParent;while(AL!=null){AM=(AN=="left")?AM+AL.offsetLeft:AM+AL.offsetTop;AL=AL.offsetParent}return AM}function AA(){return(document.compatMode&&document.compatMode!="BackCompat")?document.documentElement:document.body}function w(AO,AM){var AL=(AM=="rightedge")?parseInt(I)*-1:parseInt(M)*-1;if(AM=="rightedge"){var AN=s&&!window.opera?AA().scrollLeft+AA().clientWidth-30:window.pageXOffset+window.innerWidth-40;AC.contentmeasure=AC.offsetWidth;if(AN-AC.x<AC.contentmeasure){AL=AC.contentmeasure+AO.offsetWidth+parseInt(I)}}else{var AN=s&&!window.opera?AA().scrollTop+AA().clientHeight-15:window.pageYOffset+window.innerHeight-18;AC.contentmeasure=AC.offsetHeight;if(AN-AC.y<AC.contentmeasure){AL=AC.contentmeasure-AO.offsetHeight}}return AL}function W(AR,AP,AO,AQ){if((s||G)&&document.getElementById(AJ+"_hintBox")){$(AC).html(AR);var AN=(AO=="left")?"right":"left";arrow_img=document.getElementById(AJ+"_hintArrow_img");if(arrow_img.getAttribute("src")!=AQ+"/images/arrow_"+AN+".gif"){arrow_img.setAttribute("src",AQ+"/images/arrow_"+AN+".gif")}AC.style.left=AC.style.top=-500;AK.style.left=AK.style.top=-500;AC.x=j(AP,"left");AC.y=j(AP,"top");var AM=(AO=="left")?"rightedge":"leftedge";var AL=(AO=="right")?(AP.offsetWidth+15):(-(AC.myRealOffsetWidth+30));x=AC.x-w(AP,AM)+AL;y=AC.y-w(AP,"bottomedge");AC.style.left=x+"px";AC.style.top=y+"px";if(AO=="left"){AK.style.left=x+AC.myRealOffsetWidth+"px"}else{AK.style.left=x-6+"px"}AK.style.top=y+7+"px";$(AC).fadeIn("slow");$(AK).fadeIn("slow")}}function q(){$(AC).css("display","none").css("left","-500px");$(AK).css("display","none").css("left","-500px")}function e(){G=document.getElementById&&!document.all;s=document.all;if(s&&(document.readyState!="complete")){setTimeout("forms[0].createhintbox()",1000);return }$("body").append('<div id="'+AJ+'_hintBox" class="FH_hintBox"></div>');$("body").append('<div id="'+AJ+'_hintArrow" class="FH_hintArrow"></div>');$("#"+AJ+"_hintArrow").append('<img src="'+B+'/images/arrow_left.gif" id="'+AJ+'_hintArrow_img" border="0" width="6" height="11" />');AC=document.getElementById(AJ+"_hintBox");AK=document.getElementById(AJ+"_hintArrow");AC.myRealOffsetWidth=AC.offsetWidth;$(AC).css("display","none").css("visibility","visible");$(AK).css("display","none").css("visibility","visible")}function z(){return AJ}function d(AM,AL){v=AM;B=AL}function g(){return B}function C(AL){return A[AL].checkEmpty()}function AE(AL,AM){p[AL]=AM}function R(AN,AL,AM){if(A[AN]!=undefined){A[AN].setErrorMessage(AL,AM)}else{if(H[AN]!=undefined){H[AN].setErrorMessage(AL,AM)}}}function E(AL){return p[AL]}function AD(AL){if(is_array(AL)){for(f in AL){A[AL[f]].setIgnore(true)}}else{A[AL].setIgnore(true)}}function D(AL){if(is_array(AL)){for(f in AL){A[AL[f]].setIgnore(false)}}else{A[AL].setIgnore(false)}}function Y(AM,AL){switch(AM){case"show-error-label":AB=AL;break;case"show-error-class":Q=AL;break;case"error-label-side":a=AL;break;case"error-header":b=AL;break;case"error-message":P=AL;break;default:break}}function L(AL){switch(AL){case"show-error-label":return AB;break;case"show-error-class":return Q;break;case"error-label-side":return a;break;case"error-header":return b;break;case"error-message":return P;break;default:break}}function c(AL){if(Q===false){return }if(H[AL].getColor()=="valid"){return }if(document.getElementById(AL+"_container")){$("#"+AL+"_container").removeClass(FORM_ERROR_CLASS);$("#"+AL+"_container").addClass(FORM_VALID_CLASS)}H[AL].setColor("valid")}function S(AL){if(Q===false){return }if(H[AL].getColor()=="invalid"){return }if(document.getElementById(AL+"_container")){$("#"+AL+"_container").removeClass(FORM_VALID_CLASS);$("#"+AL+"_container").addClass(FORM_ERROR_CLASS)}H[AL].setColor("invalid")}function h(AL,AM){H[AL]=new Group(AL,AM,this)}function K(AM,AL){if(H[AL]!=undefined){H[AL].addField(AM);A[AM].setGroup(AL,H[AL])}}function m(AL){l=AL}function O(AL){H[AL].validate();return H[AL].getError()}function N(AN,AL,AM){if(A[AN]!=undefined){A[AN].addRule(AL,AM)}else{if(H[AN]!=undefined){H[AN].addRule(AL,AM)}}}function n(){for(f in A){A[f].validate()}}function Z(AN,AL,AM,AO){A[AN]=new Field(AN,AL,AM,AO,l,this);switch(AO){case"text":case"textarea":case"password":case"checkbox":case"select":$("#"+AN).blur(function(){A[AN].setUserInField(false);A[AN].validate();A[AN].hideErrorDiv()});break;default:break}}function U(AM,AL){A[AM].setOptions(AL)}function AI(){var AL="========================================\n";for(f in A){AL+=A[f].getName()+" ("+A[f].getNiceName()+")\n";AL+=" - TYPE:    "+A[f].getType()+"\n";AL+=" - GROUP:   "+A[f].getGroupName()+" ("+A[f].getGroupNiceName()+")\n";AL+=" - VALID:   "+A[f].isValid()+"\n";AL+=" - ERRTYPE: "+A[f].getErrorType()+"\n";AL+=" - ERROR:   "+A[f].getErrors()+"\n"}if(document.getElementById("errdump")){document.getElementById("errdump").value+=AL+"\n"}}function AH(){J=false;if(F==true){return }for(x in t){t[x]=false}var AS="";for(f in A){A[f].validate()}var AL=new Array();var AQ=new Array();var AO=new Array();var AR=0;for(f in A){if(!A[f].isValid()){if(A[f].getErrorType()=="field"){nstrong=document.createElement("strong");nstrongtext=document.createTextNode(A[f].getNiceName());nstrong.appendChild(nstrongtext);nli=document.createElement("li");nlitext=document.createTextNode(" - "+A[f].getErrors());nli.appendChild(nstrong);nli.appendChild(nlitext);nli.setAttribute("id","FH_erritem_"+A[f].getName());AO.push("FH_erritem_"+A[f].getName());if(A[f].getType()=="radio"){opts=A[f].getOptions();AQ.push(opts[0])}else{AQ.push(f)}AL[AR++]=nli}else{fgrp=A[f].getGroupName();if(t[fgrp]===true){continue}nstrong=document.createElement("strong");nstrongtext=document.createTextNode(H[fgrp].getNiceName());nstrong.appendChild(nstrongtext);nli=document.createElement("li");nlitext=document.createTextNode(" - "+H[fgrp].getError());nli.appendChild(nstrong);nli.appendChild(nlitext);nli.setAttribute("id","FH_erritem_"+H[fgrp].getName());AO.push("FH_erritem_"+H[fgrp].getName());if(A[f].getType()=="radio"){opts=A[f].getOptions();AQ.push(opts[0])}else{AQ.push(f)}AL[AR++]=nli;t[fgrp]=true}}}if(AL.length==0){J=true;F=true;return true}else{q();for(k in A){A[k].turnErrorDivOff()}var AP=document.createElement("ul");for(i=0;i<AL.length;i++){AP.appendChild(AL[i])}location.href="#"+AJ+"_errors";if(document.getElementById(AJ+"_errContainer")){var AN=document.getElementById(AJ+"_errContainer");while(AN.firstChild){AN.removeChild(AN.firstChild)}var AM=document.createElement("div");AM.setAttribute("class","FH_errAlert");AM.setAttribute("id",AJ+"_FH_errAlert");AM.className="FH_errAlert";errHead=document.createElement("h3");errHeadText=document.createTextNode(b);errHead.appendChild(errHeadText);errPara=document.createElement("p");errParaText=document.createTextNode(P);errPara.appendChild(errParaText);AN.appendChild(AM);AM.appendChild(errHead);AM.appendChild(errPara);AM.appendChild(AP);for(i=0;i<AO.length;i++){$("#"+AO[i]).attr("mytarget",AQ[i])}for(i in AO){$("#"+AO[i]).css("cursor","pointer");$("#"+AO[i]).click(function(){targetid=$(this).attr("mytarget");$("#"+targetid).focus()})}}return false}}}function browserCheck(){if((!document.appendChild)||(!document.createElement)||(!document.removeChild)){return false}return true}function is_array(A){return typeof (A)=="object"&&(A instanceof Array)};