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(",");
}
});
}
if(_1b.indexOf("*")<0&&_1a&&_1a.value!=""&&fieldIsVisible(_1a)){
var ext=_1a.value.match(/\.(\w+)$/);
var bad=ext&&_1b.indexOf(ext[1])>=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(_21){
document.getElementsByClassName("formPage"+_21+"Required").each(function(_22){
highlightField(_22,0);
});
document.getElementsByClassName("formPage"+_21+"Upload").each(function(_23){
highlightField(_23,0);
});
var _24;
if(_24=$("checkFormError")){
_24.parentNode.removeChild(_24);
}
}
function highlightField(_25,on){
_25.style.background=on?"#ffcccc":"";
var _27=_25.parentNode.parentNode;
if(_27.className=="formRow"){
var _28=_27.getElementsByTagName("label");
for(var i=0;i<_28.length;i++){
_28[i].style.color=on?"red":"";
}
}
}
function checkSelected(_2a,_2b){
var _2c=$("mainForm");
if(!_2c){
return;
}
var _2d=false;
var _2e=$A(document.getElementsByName(_2a));
if(!_2e.length){
_2e=$A(document.getElementsByName(_2a+"[]"));
}
_2e.each(function(_2f){
if(_2f.type=="checkbox"||_2f.type=="radio"){
if(_2f.checked&&_2f.value==_2b){
_2d=true;
}
}else{
if(_2f.type=="select-one"){
_2d=_2f.options[_2f.selectedIndex].value==_2b?true:false;
}else{
if(_2f.type=="select-multiple"){
$A(_2f.options).each(function(_30){
if(_30.selected&&_30.value==_2b){
_2d=true;
}
});
}
}
}
});
return _2d;
}
function checkLogic(id){
checks.each(function(_32){
if(_32.fields.indexOf(id)>=0){
var _33=_32.bool=="AND"?true:false;
_32.checks.each(function(_34){
var _35=checkSelected("field"+_34.field,_34.option);
if(_34.condition=="!="){
_35=!_35;
}
if(_32.bool=="AND"){
_33=_33?_35:false;
}else{
_33=_33?true:_35;
}
});
var _36=$("fieldRow"+_32.target);
if(_33){
if(_32.action=="Show"){
Element.show(_36);
}else{
Element.hide(_36);
}
}else{
if(_32.action=="Show"){
Element.hide(_36);
}else{
Element.show(_36);
}
}
}
});
}
function updateCalculations(id){
calculations.each(function(_38){
if(_38.fields.indexOf(id)>=0){
evalCalculation(_38);
}
});
}
function evalCalculation(_39){
var _3a=_39.equation;
_39.fields.each(function(id){
var _3c=new RegExp("\\["+id+"\\]","g");
var val=0;
var _3e=$A(document.getElementsByName("field"+id));
_3e=_3e.concat($A(document.getElementsByName("field"+id+"[]")));
_3e.each(function(_3f){
switch(_3f.type.toLowerCase()){
case "checkbox":
var v=getNumber(_3f.value);
if(_3f.checked&&!isNaN(v)){
val+=v;
}
break;
case "select-multiple":
var _41=_3f.options;
for(var i=0;i<_41.length;i++){
var v=getNumber(_41[i].value);
if(_41[i].selected&&!isNaN(v)){
val+=v;
}
}
break;
default:
var v=getNumber($F(_3f));
if(!isNaN(v)){
val=v;
}
}
});
_3a=_3a.replace(_3c,val);
});
var _43=0;
try{
_43=eval(_3a);
}
catch(e){
}
$("field"+_39.target).value=_43.toFixed(2);
updateCalculations(_39.target);
}
function getNumber(str){
if(!str){
return;
}
if(str.indexOf(" == ")!=-1){
var _45=str.split(" == ");
return parseFloat(_45[1]);
}else{
return parseFloat(str);
}
}
function previousPage(_46){
var _47=$("formPage"+_46);
if(!_47){
return;
}
var _48=$("formPage"+(_46-1));
if(!_48){
return;
}
Element.hide(_47);
Element.show(_48);
clearError(_46);
if(_46==lastPage){
Element.hide("formSubmitButton");
}
Element.scrollTo("formMainDiv");
}
function nextPage(_49){
var _4a=$("formPage"+_49);
if(!_4a){
return;
}
var _4b=$("formPage"+(_49+1));
if(!_4b){
return;
}
if(checkRequired(_49)){
Element.hide(_4a);
Element.show(_4b);
if(_49+1==lastPage){
Element.show("formSubmitButton");
}
Element.scrollTo("formMainDiv");
}
}
function fieldIsVisible(_4c){
var _4d=_4c.parentNode;
while(_4d&&_4d.className!="formRow"){
_4d=_4d.parentNode;
}
return _4d&&Element.visible(_4d)?true:false;
}
function checkForm(){
var res=checkRequired(lastPage);
if(res){
var _4f=[];
for(var i=1;i<=lastPage;i++){
var _51=$A(document.getElementsByName("formPage"+i+"Required"));
var _52=document.getElementsByClassName("formPage"+i+"Required");
var _53=_51.length?_51:_52;
_53.each(function(_54){
if(!fieldIsVisible(_54)){
if(_54.name=="formPage"+i+"Required"){
if(_54.value.indexOf("-")>=0){
var m=_54.value.split("-");
_4f.push(m[0]);
}else{
if(_54.value.indexOf("_")>=0){
var m=_54.value.split("_");
_4f.push(m[0]);
}else{
_4f.push(_54.value);
}
}
}else{
if(_54.id.indexOf("_")>=0){
var m=_54.id.split("_");
_4f.push(m[0]);
}else{
_4f.push(_54.name);
}
}
}
});
}
if($("hidden_fields")){
$("hidden_fields").value=_4f.join(",");
}
return true;
}else{
return false;
}
}


