if(window["Prototype"]){
Event.observe(window,"load",initForm);
}else{
var oldonload=window.onload;
window.onload=typeof window.onload=="function"?function(){
oldonload();
initForm();
}:window.onload=initForm;
}
function initForm(){
logic_fields.each(function(id){
var _2=$A(document.getElementsByName("field"+id));
_2=_2.concat($A(document.getElementsByName("field"+id+"[]")));
_2.each(function(_3){
if(_3.type.toLowerCase()=="radio"){
Event.observe(_3,"click",function(){
checkLogic(id);
});
}else{
new Form.Element.EventObserver(_3,function(){
checkLogic(id);
});
}
});
checkLogic(id);
});
calc_fields.each(function(id){
var _5=$A(document.getElementsByName("field"+id));
_5=_5.concat($A(document.getElementsByName("field"+id+"[]")));
_5.each(function(_6){
if(_6.type.toLowerCase()=="radio"){
Event.observe(_6,"click",function(){
updateCalculations(id);
});
}else{
new Form.Element.EventObserver(_6,function(){
updateCalculations(id);
});
}
});
});
calculations.each(function(_7){
evalCalculation(_7);
});
}
function checkRequired(_8){
clearError(_8);
var _9=$A(document.getElementsByName("formPage"+_8+"Required"));
var _a=document.getElementsByClassName("formPage"+_8+"Required");
var _b=_9.length?_9:_a;
var _c=0;
_b.each(function(_d){
var _e;
if(_d.name=="formPage"+_8+"Required"){
if(_d.value.indexOf("-")>=0){
var m=_d.value.split("-");
_d=$(m[0]);
_e=m[1];
}else{
_d=$(_d.value);
}
}else{
_e=_d.hasClassName("emailRequired")?"email":"";
}
if(_d&&fieldIsVisible(_d)){
var bad=0;
switch(_d.type.toLowerCase()){
case "text":
case "password":
case "textarea":
case "file":
bad=_d.value==""?1:0;
if(!bad&&_e){
switch(_e){
case "email":
bad=_d.value.match(/.+\@.+\..+/)?0:1;
break;
}
}
break;
case "select-one":
bad=_d.options[_d.selectedIndex].value==""?1:0;
break;
case "select-multiple":
bad=1;
var _11=_d.options;
for(var j=0;j<_11.length;j++){
if(_11[j].selected&&_11[j].value!=""){
bad=0;
}
}
break;
case "radio":
case "checkbox":
bad=1;
var _13=document.getElementsByName(_d.name);
for(var j=0;j<_13.length;j++){
if(_13[j].checked){
bad=0;
}
}
break;
}
_c+=bad;
if(bad){
highlightField(_d,bad);
}
}
});
if(_c){
new Insertion.Before("formMainDiv","<div id=\"checkFormError\" class=\"formError\">Please fill in a valid value for all required fields</div>");
Element.scrollTo("checkFormError");
return false;
}
return checkUploads(_8);
}
function checkUploads(_14){
var _15=true;
var up1=$A(document.getElementsByName("formPage"+_14+"Uploads"));
var up2=document.getElementsByClassName("formPage"+_14+"Upload");
var _18=up1.length?up1:up2;
var _19=0;
_18.each(function(_1a){
var _1b=[];
if(_1a.name=="formPage"+_14+"Uploads"){
var m=_1a.value.split("-");
_1a=$(m[0]);
_1b=m[1].split(",");
}else{
_1a.classNames().each(function(_1d){
if(/^uploadTypes-/.test(_1d)){
var m=_1d.split("-");
_1b=m[1].split(",");
}
});
}
for(var i=0;i<_1b.length;i++){
_1b[i]=_1b[i].toLowerCase();
}
if(_1b.indexOf("*")<0&&_1a&&_1a.value!=""&&fieldIsVisible(_1a)){
var ext=_1a.value.match(/\.(\w+)$/);
var bad=ext&&_1b.indexOf(ext[1].toLowerCase())>=0?0:1;
_19+=bad;
if(bad){
highlightField(_1a,bad);
alert("You must upload one of the following file types for the selected field: "+_1b.join(", "));
_15=false;
}
}
});
return _15;
}
function clearError(_22){
document.getElementsByClassName("formPage"+_22+"Required").each(function(_23){
highlightField(_23,0);
});
document.getElementsByClassName("formPage"+_22+"Upload").each(function(_24){
highlightField(_24,0);
});
var _25;
if(_25=$("checkFormError")){
_25.parentNode.removeChild(_25);
}
}
function highlightField(_26,on){
_26.style.background=on?"#ffcccc":"";
var _28=_26.parentNode.parentNode;
if(_28.className=="formRow"){
var _29=_28.getElementsByTagName("label");
for(var i=0;i<_29.length;i++){
_29[i].style.color=on?"red":"";
}
}
}
function checkSelected(_2b,_2c){
var _2d=$("mainForm");
if(!_2d){
return;
}
var _2e=false;
var _2f=$A(document.getElementsByName(_2b));
if(!_2f.length){
_2f=$A(document.getElementsByName(_2b+"[]"));
}
_2f.each(function(_30){
if(_30.type=="checkbox"||_30.type=="radio"){
if(_30.checked&&_30.value==_2c){
_2e=true;
}
}else{
if(_30.type=="select-one"){
_2e=_30.options[_30.selectedIndex].value==_2c?true:false;
}else{
if(_30.type=="select-multiple"){
$A(_30.options).each(function(_31){
if(_31.selected&&_31.value==_2c){
_2e=true;
}
});
}
}
}
});
return _2e;
}
function checkLogic(id){
checks.each(function(_33){
if(_33.fields.indexOf(id)>=0){
var _34=_33.bool=="AND"?true:false;
_33.checks.each(function(_35){
var _36=checkSelected("field"+_35.field,_35.option);
if(_35.condition=="!="){
_36=!_36;
}
if(_33.bool=="AND"){
_34=_34?_36:false;
}else{
_34=_34?true:_36;
}
});
var _37=$("fieldRow"+_33.target);
if(_34){
if(_33.action=="Show"){
Element.show(_37);
}else{
Element.hide(_37);
}
}else{
if(_33.action=="Show"){
Element.hide(_37);
}else{
Element.show(_37);
}
}
}
});
}
function updateCalculations(id){
calculations.each(function(_39){
if(_39.fields.indexOf(id)>=0){
evalCalculation(_39);
}
});
}
function evalCalculation(_3a){
var _3b=_3a.equation;
var _3c="";
_3a.fields.each(function(id){
var _3e=new RegExp("\\["+id+"\\]","g");
var val=0;
var _40=$A(document.getElementsByName("field"+id));
_40=_40.concat($A(document.getElementsByName("field"+id+"[]")));
_40.each(function(_41){
var _42;
switch(_41.type.toLowerCase()){
case "checkbox":
_42=_41.value;
var v=getNumber(_41.value);
if(_41.checked&&!isNaN(v)){
val+=v;
}
break;
case "select-multiple":
var _44=_41.options;
for(var i=0;i<_44.length;i++){
var v=getNumber(_44[i].value);
if(_44[i].selected&&!isNaN(v)){
_42=_44[i].value;
val+=v;
}
}
break;
default:
_42=$F(_41);
var v=getNumber($F(_41));
if(!isNaN(v)){
val=v;
}
}
if(_42&&_42.indexOf("$")!=-1){
_3c="$";
}
});
_3b=_3b.replace(_3e,val);
});
var _46=0;
try{
_46=eval(_3b);
}
catch(e){
}
$("field"+_3a.target).value=_3c+_46.toFixed(2);
updateCalculations(_3a.target);
}
function getNumber(str){
if(!str){
return;
}
if(str.indexOf(" == ")!=-1){
var _48=str.split(" == ");
str=_48[1];
}
return parseFloat(str.replace(/[^\d\.]/,""));
}
function previousPage(_49){
var _4a=$("formPage"+_49);
if(!_4a){
return;
}
var _4b=$("formPage"+(_49-1));
if(!_4b){
return;
}
Element.hide(_4a);
Element.show(_4b);
clearError(_49);
if(_49==lastPage){
Element.hide("formSubmitButton");
}
Element.scrollTo("formMainDiv");
}
function nextPage(_4c){
var _4d=$("formPage"+_4c);
if(!_4d){
return;
}
var _4e=$("formPage"+(_4c+1));
if(!_4e){
return;
}
if(checkRequired(_4c)){
Element.hide(_4d);
Element.show(_4e);
if(_4c+1==lastPage){
Element.show("formSubmitButton");
}
Element.scrollTo("formMainDiv");
}
}
function fieldIsVisible(_4f){
var _50=_4f.parentNode;
while(_50&&_50.className!="formRow"){
_50=_50.parentNode;
}
return _50&&Element.visible(_50)?true:false;
}
function checkForm(){
var res=checkRequired(lastPage);
if(res){
var _52=[];
for(var i=1;i<=lastPage;i++){
var _54=$A(document.getElementsByName("formPage"+i+"Required"));
var _55=document.getElementsByClassName("formPage"+i+"Required");
var _56=_54.length?_54:_55;
_56.each(function(_57){
if(!fieldIsVisible(_57)){
if(_57.name=="formPage"+i+"Required"){
if(_57.value.indexOf("-")>=0){
var m=_57.value.split("-");
_52.push(m[0]);
}else{
if(_57.value.indexOf("_")>=0){
var m=_57.value.split("_");
_52.push(m[0]);
}else{
_52.push(_57.value);
}
}
}else{
if(_57.id.indexOf("_")>=0){
var m=_57.id.split("_");
_52.push(m[0]);
}else{
_52.push(_57.name);
}
}
}
});
}
if($("hidden_fields")){
$("hidden_fields").value=_52.join(",");
}
return true;
}else{
return false;
}
}

