if(typeof rsv=="undefined"){
rsv={};
}
rsv.displayType="alert-all";
rsv.errorFieldClass=null;
rsv.errorTextIntro="Please fix the following error(s) and resubmit:";
rsv.errorJSItemBullet="* ";
rsv.errorHTMLItemBullet="&bull; ";
rsv.errorTargetElementId="rsvErrors";
rsv.customErrorHandler=null;
rsv.onCompleteHandler=null;
rsv.validate=function(_1,_2){
rsv.returnHash=[];
for(var i=0;i<_2.length;i++){
var _4=_2[i].replace(/\\,/ig,"%%C%%");
_4=_4.split(",");
var _5=true;
while(_4[0].match("^if:")){
var _6=_4[0];
_6=_6.replace("if:","");
var _7="equal";
var _8=[];
if(_6.search("!=")!=-1){
_8=_6.split("!=");
_7="not_equal";
}else{
_8=_6.split("=");
}
var _9=_8[0];
var _a=_8[1];
var _b="";
if(_1[_9].type==undefined){
for(var j=0;j<_1[_9].length;j++){
if(_1[_9][j].checked){
_b=_1[_9][j].value;
}
}
}else{
if(_1[_9].type=="checkbox"){
if(_1[_9].checked){
_b=_1[_8[0]].value;
}
}else{
_b=_1[_8[0]].value;
}
}
if(_7=="equal"&&_b!=_a){
_5=false;
break;
}else{
if(_7=="not_equal"&&_b==_a){
_5=false;
break;
}else{
_4.shift();
}
}
}
if(!_5){
continue;
}
var _d=_4[0];
var _e=_4[1];
var _f,_10,_11,_12,_13;
if(_d!="function"&&_1[_e]==undefined){
alert("RSV Error: the field \""+_e+"\" doesn't exist! Please check your form and settings.");
return false;
}
if(_d!="function"&&rsv.errorFieldClass){
if(_1[_e].type==undefined){
for(var j=0;j<_1[_e].length;j++){
rsv.removeClassName(_1[_e][j],rsv.errorFieldClass,true);
}
}else{
rsv.removeClassName(_1[_e],rsv.errorFieldClass);
}
}
if(_4.length==6){
_f=_4[2];
_10=_4[3];
_13=_4[4];
_11=_4[5];
}else{
if(_4.length==5){
_f=_4[2];
_10=_4[3];
_11=_4[4];
}else{
if(_4.length==4){
_f=_4[2];
_11=_4[3];
}else{
_11=_4[2];
}
}
}
if(_d.match("^length")){
_12=_d;
_d="length";
}
if(_d.match("^range")){
rangeRequirements=_d;
_d="range";
}
switch(_d){
case "required":
if(_1[_e].type==undefined){
var _14=false;
for(var j=0;j<_1[_e].length;j++){
if(_1[_e][j].checked){
_14=true;
}
}
if(!_14){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
}else{
if(_1[_e].type=="select-multiple"){
var _15=false;
for(var k=0;k<_1[_e].length;k++){
if(_1[_e][k].selected){
_15=true;
}
}
if(!_15||_1[_e].length==0){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
}else{
if(_1[_e].type=="checkbox"){
if(!_1[_e].checked){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
}else{
if(!_1[_e].value){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
}
}
}
break;
case "digits_only":
if(_1[_e].value&&_1[_e].value.match(/\D/)){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
break;
case "letters_only":
if(_1[_e].value&&_1[_e].value.match(/[^a-zA-Z]/)){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
break;
case "is_alpha":
if(_1[_e].value&&_1[_e].value.match(/\W/)){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
break;
case "custom_alpha":
var _17={"L":"[A-Z]","V":"[AEIOU]","l":"[a-z]","v":"[aeiou]","D":"[a-zA-Z]","F":"[aeiouAEIOU]","C":"[BCDFGHJKLMNPQRSTVWXYZ]","x":"[0-9]","c":"[bcdfghjklmnpqrstvwxyz]","X":"[1-9]","E":"[bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ]"};
var _18="";
for(var j=0;j<_f.length;j++){
if(_17[_f.charAt(j)]){
_18+=_17[_f.charAt(j)];
}else{
_18+=_f.charAt(j);
}
}
var _19=new RegExp(_18);
if(_1[_e].value&&_19.exec(_1[_e].value)==null){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
break;
case "reg_exp":
var _18=_f.replace(/%%C%%/ig,",");
if(_4.length==5){
var _19=new RegExp(_18,_10);
}else{
var _19=new RegExp(_18);
}
if(_1[_e].value&&_19.exec(_1[_e].value)==null){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
break;
case "length":
comparison_rule="";
rule_string="";
if(_12.match(/length=/)){
comparison_rule="equal";
rule_string=_12.replace("length=","");
}else{
if(_12.match(/length>=/)){
comparison_rule="greater_than_or_equal";
rule_string=_12.replace("length>=","");
}else{
if(_12.match(/length>/)){
comparison_rule="greater_than";
rule_string=_12.replace("length>","");
}else{
if(_12.match(/length<=/)){
comparison_rule="less_than_or_equal";
rule_string=_12.replace("length<=","");
}else{
if(_12.match(/length</)){
comparison_rule="less_than";
rule_string=_12.replace("length<","");
}
}
}
}
}
switch(comparison_rule){
case "greater_than_or_equal":
if(!(_1[_e].value.length>=parseInt(rule_string))){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
break;
case "greater_than":
if(!(_1[_e].value.length>parseInt(rule_string))){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
break;
case "less_than_or_equal":
if(!(_1[_e].value.length<=parseInt(rule_string))){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
break;
case "less_than":
if(!(_1[_e].value.length<parseInt(rule_string))){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
break;
case "equal":
var _1a=rule_string.match(/[^_]+/);
var _1b=_1a[0].split("-");
if(_1b.length==2){
if(_1[_e].value.length<_1b[0]||_1[_e].value.length>_1b[1]){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
}else{
if(_1[_e].value.length!=_1b[0]){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
}
break;
}
break;
case "valid_email":
if(_1[_e].value&&!rsv.isValidEmail(_1[_e].value)){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
break;
case "valid_date":
var _1c=false;
if(_13=="later_date"){
_1c=true;
}else{
if(_13=="any_date"){
_1c=false;
}
}
if(!rsv.isValidDate(_1[_e].value,_1[_f].value,_1[_10].value,_1c)){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
break;
case "same_as":
if(_1[_e].value!=_1[_f].value){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
break;
case "range":
comparison_rule="";
rule_string="";
if(rangeRequirements.match(/range=/)){
comparison_rule="equal";
rule_string=rangeRequirements.replace("range=","");
}else{
if(rangeRequirements.match(/range>=/)){
comparison_rule="greater_than_or_equal";
rule_string=rangeRequirements.replace("range>=","");
}else{
if(rangeRequirements.match(/range>/)){
comparison_rule="greater_than";
rule_string=rangeRequirements.replace("range>","");
}else{
if(rangeRequirements.match(/range<=/)){
comparison_rule="less_than_or_equal";
rule_string=rangeRequirements.replace("range<=","");
}else{
if(rangeRequirements.match(/range</)){
comparison_rule="less_than";
rule_string=rangeRequirements.replace("range<","");
}
}
}
}
}
switch(comparison_rule){
case "greater_than_or_equal":
if(!(_1[_e].value>=Number(rule_string))){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
break;
case "greater_than":
if(!(_1[_e].value>Number(rule_string))){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
break;
case "less_than_or_equal":
if(!(_1[_e].value<=Number(rule_string))){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
break;
case "less_than":
if(!(_1[_e].value<Number(rule_string))){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
break;
case "equal":
var _1d=rule_string.split("-");
if((_1[_e].value<Number(_1d[0]))||(_1[_e].value>Number(_1d[1]))){
if(!rsv.processError(_1[_e],_11)){
return false;
}
}
break;
}
break;
case "function":
custom_function=_e;
eval("var result = "+custom_function+"()");
if(result.constructor.toString().indexOf("Array")!=-1){
for(var j=0;j<result.length;j++){
if(!rsv.processError(result[j][0],result[j][1])){
return false;
}
}
}
break;
default:
alert("Unknown requirement flag in validateFields(): "+_d);
return false;
}
}
if(typeof rsv.customErrorHandler=="function"){
return rsv.customErrorHandler(_1,rsv.returnHash);
}else{
if(rsv.displayType=="alert-all"){
var _1e=rsv.errorTextIntro+"\n\n";
for(var i=0;i<rsv.returnHash.length;i++){
_1e+=rsv.errorJSItemBullet+rsv.returnHash[i][1]+"\n";
rsv.styleField(rsv.returnHash[i][0],i==0);
}
if(rsv.returnHash.length>0){
alert(_1e);
return false;
}
}else{
if(rsv.displayType=="display-html"){
var _1f=rsv.displayHTMLErrors(_1,rsv.returnHash);
if(!_1f){
return false;
}
}
}
}
if(typeof rsv.onCompleteHandler=="function"){
return rsv.onCompleteHandler();
}else{
return true;
}
};
rsv.processError=function(obj,_21){
_21=_21.replace(/%%C%%/ig,",");
var _22=true;
switch(rsv.displayType){
case "alert-one":
alert(_21);
rsv.styleField(obj,true);
_22=false;
break;
case "alert-all":
case "display-html":
rsv.returnHash.push([obj,_21]);
break;
}
return _22;
};
rsv.displayHTMLErrors=function(f,_24){
var _25="<h3>"+rsv.errorTextIntro+"</h3>";
for(var i=0;i<_24.length;i++){
_25+="<p>"+_24[i][1]+"</p>";
rsv.styleField(_24[i][0],i==0);
}
if(_24.length>0){
document.getElementById(rsv.errorTargetElementId).style.display="block";
document.getElementById(rsv.errorTargetElementId).innerHTML=_25;
return false;
}
return true;
};
rsv.styleField=function(_27,_28){
if(_27.type==undefined){
if(_28){
_27[0].focus();
}
for(var i=0;i<_27.length;i++){
rsv.addClassName(_27[i],rsv.errorFieldClass,true);
}
}else{
if(rsv.errorFieldClass){
rsv.addClassName(_27,rsv.errorFieldClass,true);
}
if(_28){
_27.focus();
}
}
};
rsv.isValidEmail=function(str){
var _2b=str.replace(/^\s*/,"");
var s=_2b.replace(/\s*$/,"");
var at="@";
var dot=".";
var lat=s.indexOf(at);
var _30=s.length;
var _31=s.indexOf(dot);
if(s.indexOf(at)==-1||(s.indexOf(at)==-1||s.indexOf(at)==0||s.indexOf(at)==_30)||(s.indexOf(dot)==-1||s.indexOf(dot)==0||s.indexOf(dot)==_30)||(s.indexOf(at,(lat+1))!=-1)||(s.substring(lat-1,lat)==dot||s.substring(lat+1,lat+2)==dot)||(s.indexOf(dot,(lat+2))==-1)||(s.indexOf(" ")!=-1)){
return false;
}
return true;
};
rsv.isWhitespace=function(s){
var _33=" \t\n\r\f";
if((s==null)||(s.length==0)){
return true;
}
for(var i=0;i<s.length;i++){
var c=s.charAt(i);
if(_33.indexOf(c)==-1){
return false;
}
}
return true;
};
rsv.isValidDate=function(_36,day,_38,_39){
var _3a;
if((_38%4==0)&&((_38%100!=0)||(_38%400==0))){
_3a=[31,29,31,30,31,30,31,31,30,31,30,31];
}else{
_3a=[31,28,31,30,31,30,31,31,30,31,30,31];
}
if(!_36||!day||!_38){
return false;
}
if(1>_36||_36>12){
return false;
}
if(_38<0){
return false;
}
if(1>day||day>_3a[_36-1]){
return false;
}
if(_39){
var _3b=new Date();
var _3c=_3b.getMonth()+1;
var _3d=_3b.getDate();
var _3e=_3b.getFullYear();
if(String(_3c).length==1){
_3c="0"+_3c;
}
if(String(_3d).length==1){
_3d="0"+_3d;
}
var _3f=String(_3e)+String(_3c)+String(_3d);
if(String(_36).length==1){
_36="0"+_36;
}
if(String(day).length==1){
day="0"+day;
}
incomingDate=String(_38)+String(_36)+String(day);
if(Number(_3f)>Number(incomingDate)){
return false;
}
}
return true;
};
rsv.addClassName=function(_40,_41,_42){
if(_40.className){
var _43=_40.className.split(" ");
if(_42){
var _44=_41.toUpperCase();
for(var i=0;i<_43.length;i++){
if(_43[i].toUpperCase()==_44){
_43.splice(i,1);
i--;
}
}
}
_43[_43.length]=_41;
_40.className=_43.join(" ");
}else{
_40.className=_41;
}
};
rsv.removeClassName=function(_46,_47){
if(_46.className){
var _48=_46.className.split(" ");
var _49=_47.toUpperCase();
for(var i=0;i<_48.length;i++){
if(_48[i].toUpperCase()==_49){
_48.splice(i,1);
i--;
}
}
_46.className=_48.join(" ");
}
};

