var validate_form={error_color:"#cc0000",base_color:"#666666",fields:[],debug:false,add_field:function(B){var A=this.fields.length;this.fields[A]=B},remove_field:function(B){var A=-1;this.fields.each(function(D,C){if(($type(B)=="array")&&($type(D.id)=="array")){if(D.id.compare(B)){A=C}}else{if(D.id==B){A=C}}});if(A.toInt()!=-1){this.fields.splice(A,1)}},form:function(A){var C=true;for(var B=0;B<this.fields.length;B++){if(!this.input(this.fields[B])){C=false}}if(A!=null){try{if(!C){$(A+"_error").setStyle("display","block")}else{$(A+"_error").setStyle("display","none")}}catch(D){}}return C},input:function(G){var I="";var J=true;var A=G.id;var B=G.type;try{if(A.constructor!=Array){A=new Array(A)}}catch(E){A=new Array(A)}A.each(function(L){if((($(L).nodeName.toUpperCase()=="INPUT")&&($(L).attributes.getNamedItem("type").value.toUpperCase()=="TEXT"))||(($(L).nodeName.toUpperCase()=="INPUT")&&($(L).attributes.getNamedItem("type").value.toUpperCase()=="PASSWORD"))||($(L).nodeName.toUpperCase()=="TEXTAREA")||(($(L).nodeName.toUpperCase()=="SELECT")&&($(L).multiple==false))){I=I+$(L).value}else{if($(L).nodeName.toUpperCase()=="FIELDSET"){I=-1;$(L).getElements("input[type=radio]").each(function(M){if(M.checked==true){I=M.value}})}}});try{if($(A.copy(0,1)+"_error").getStyle("color").toLowerCase()!=this.error_color.toLowerCase()){this.base_color=$(A.copy(0,1)+"_error").getStyle("color")}}catch(E){}try{if(B.constructor!=Array){B=new Array(B)}}catch(E){B=new Array(B)}for(var C=0;C<B.length;C++){switch(B[C]){case"selected":if(I==G.selected){J=false}break;case"is_selected":if(I!=G.selected){J=false}break;case"blank":if(I.trim()==""){J=false}break;case"length":if(I.length>G.length.toInt()){J=false}break;case"email":var K=I.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.biz)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);if(K!=I){J=false}if(I.trim()==""){J=true}break;case"numeric":if(I.replace(/[^0-9]/gi,"")==I){J=true}else{J=false}break;case"phone":var H=I.replace(/[^0-9]/gi,"");if((H.length==7)||(H.length==10)||(H.length==11)){J=true}else{J=false}if(I==""){J=true}break;case"postal":var F=I;F=F.replace(" ","");if(F.length==6){if(F.length==6&&F.search(/^[a-zA-Z]\d[a-zA-Z]\d[a-zA-Z]\d$/)!=-1){J=true}else{J=false}}else{if(F.length==5&&F.search(/^[0-9]{5,6}$/)!=-1){J=true}else{J=false}}if(F==""){J=true}break;case"compare":if(I!=$(G.companion).value){J=false}}if(this.debug==true){var D=G.id+" ("+I+") :"+B[C]+":"+J;try{console.log(D)}catch(E){alert(D)}}if(!J){break}}if(!J){try{$(A[0]+"_error").setStyle("color",this.error_color);$(A[0]+"_error").setStyle("display","block")}catch(E){}try{if(G.companion!="undefined"){$(G.companion+"_error").setStyle("color",this.error_color);$(G.companion+"_error").setStyle("display","block")}}catch(E){}}else{try{$(A[0]+"_error").setStyle("color",this.base_color)}catch(E){}try{if(G.companion!="undefined"){$(G.companion+"_error").setStyle("color",this.base_color)}}catch(E){}}return J}};