var YDOM=YAHOO.util.Dom;
var YEVENT=YAHOO.util.Event;
var YELEMENT=YAHOO.util.Element;
var YANIM=YAHOO.util.Anim;
var YCALENDAR=YAHOO.widget.Calendar;
var YSLIDER=YAHOO.widget.Slider;
YSLIDER.prototype.verifyOffset=function(_1){
var _2=YAHOO.util.Dom.getXY(this.getEl());
if(_2){
if(isNaN(this.baselinePos[0])){
this.setThumbCenterPoint();
this.thumb.startOffset=this.thumb.getOffsetFromParent(_2);
}
if(_2[0]!=this.baselinePos[0]||_2[1]!=this.baselinePos[1]){
this.thumb.resetConstraints();
this.baselinePos=_2;
return false;
}
}
return true;
};
function FSForm(id){
this.id=id;
this.scriptRequestCounter=1;
this.lastPage=1;
this.checks=[];
this.logicFields=[];
this.calculations=[];
this.calcFields=[];
this.init=function(){
for(var i=0;i<this.logicFields.length;i++){
var id=this.logicFields[i];
var _6=this.getFieldsByName("field"+id);
for(var j=0;j<_6.length;j++){
var _8=_6[j];
var _9=_8.type.toLowerCase();
var _a=_9=="radio"||_9=="checkbox"?"click":"change";
YEVENT.addListener(_8,_a,(function(id){
return function(){
this.checkLogic(id);
};
})(id),this,true);
}
this.checkLogic(id);
}
for(var i=0;i<this.calcFields.length;i++){
var id=this.calcFields[i];
var _6=this.getFieldsByName("field"+id);
for(var j=0;j<_6.length;j++){
var _8=_6[j];
var _9=_8.type.toLowerCase();
var _a=_9=="radio"||_9=="checkbox"?"click":"change";
YEVENT.addListener(_8,_a,(function(id){
return function(){
this.updateCalculations(id);
};
})(id),this,true);
}
var _d=YDOM.get("field"+id+"_othervalue");
if(_d){
YEVENT.addListener(_d,"change",(function(id,_f){
return function(){
YDOM.get("field"+id+"_other").checked=_f.value!="";
this.updateCalculations(id);
};
})(id,_d),this,true);
}
}
var _6=YDOM.getElementsByClassName("fsOtherField","input");
for(var i=0;i<_6.length;i++){
var _8=_6[i];
YEVENT.addListener(_8,"change",function(e){
var _11=YEVENT.getTarget(e);
var id=_11.id.split("_");
YDOM.get(id[0]+"_other").checked=YDOM.get(_11).value!="";
},this,true);
}
var _6=YDOM.getElementsByClassName("fsField");
for(var i=0;i<_6.length;i++){
var _8=_6[i];
YEVENT.addListener(_8,"focus",function(e){
var _14=YEVENT.getTarget(e);
this.focus(_14,true);
},this,true);
YEVENT.addListener(_8,"blur",function(e){
var _16=YEVENT.getTarget(e);
this.focus(_16,false);
},this,true);
}
var els=YDOM.getElementsByClassName("fsCallout","div");
for(var i=0;i<els.length;i++){
var el=els[i];
YDOM.setStyle(el,"opacity",0);
FSUtil.hide(el);
}
for(var i=0;i<this.calculations.length;i++){
var _19=this.calculations[i];
this.evalCalculation(_19);
}
var _1a=YDOM.getElementsByClassName("fsCalendar","div");
for(var i=0;i<_1a.length;i++){
var div=_1a[i];
var id=div.id.match(/(\d+)/);
id=id[1];
var _1c=YDOM.get("field"+id+"Y").options;
var _1d=parseInt(_1c[1].value,10);
var _1e=parseInt(_1c[_1c.length-1].value,10);
var _1f=new Date().getFullYear();
if(_1d<100){
_1d+=_1d>_1f-2000?1900:2000;
}
if(_1e<100){
_1e+=2000;
}
var _20=new YCALENDAR(div.id,div.id,{mindate:"1/1/"+_1d,maxdate:"12/31/"+_1e});
_20.render();
YEVENT.addListener(div.id+"Link","click",_20.show,_20,true);
_20.beforeShowEvent.subscribe(this.calendarShow,_20,true);
_20.selectEvent.subscribe(this.calendarSelect,_20,true);
}
var _21=YDOM.getElementsByClassName("fsTextAreaMaxLength","textarea");
for(var i=0;i<_21.length;i++){
var _22=_21[i];
var id=_22.id.match(/(\d+)/);
id=id[1];
var _23=YDOM.get("fsCounter"+id);
var _24=parseInt(_23.innerHTML);
if(_24>0){
YEVENT.addListener(_22,"keyup",(function(id,_26){
return function(){
this.textareaCharLimiter(id,_26);
};
})(id,_24),this,true);
YDOM.setStyle(_22.id,"paddingBottom","24px");
_23.innerHTML="";
FSUtil.show(_23);
}
}
var _27=YDOM.getElementsByClassName("fsMatrixOnePerColumn","table");
for(var i=0;i<_27.length;i++){
var _28=_27[i].getElementsByTagName("input");
for(var j=0;j<_28.length;j++){
var _9=_28[j].type.toLowerCase();
if(_9=="radio"||_9=="checkbox"){
YEVENT.addListener(_28[j],"click",(function(id){
return function(){
this.checkMatrixOnePerColumn(id);
};
})(_28[j].id),this,true);
}
}
}
var _2a=YDOM.getElementsByClassName("fsSlider","input");
for(var i=0;i<_2a.length;i++){
var _2b=this.getNumberProperties(_2a[i]);
if(!isNaN(_2b.min)&&!isNaN(_2b.max)){
var _2c=YSLIDER.getHorizSlider(_2a[i].id+"-sliderbg",_2a[i].id+"-sliderthumb",0,100);
_2c._fsobj=this;
_2c._fsnumber=_2b;
_2c._fsfield=_2a[i];
_2c._fsshow=YDOM.get(_2a[i].id+"-slidervalue");
var _2d=_2a[i].value!=""?parseFloat(_2a[i].value):_2b.min;
if(isNaN(_2d)){
_2d=_2b.min;
}
if(!/msie/i.test(navigator.userAgent)||/opera/i.test(navigator.userAgent)){
var _2e=Math.round((_2d-_2b.min)/(_2b.max-_2b.min)*100);
_2c.setValue(_2e,false,true,true);
}
if(!isNaN(_2b.decimals)){
_2d=_2d.toFixed(_2b.decimals);
}
_2a[i].value=_2d;
_2c._fsshow.innerHTML=_2d;
_2c.subscribe("change",function(_2f){
var _30=((_2f/100)*(this._fsnumber.max-this._fsnumber.min))+this._fsnumber.min;
_30=isNaN(this._fsnumber.decimals)?Math.round(_30):_30.toFixed(this._fsnumber.decimals);
if(_30==-0){
_30=0;
}
this._fsfield.value=_30;
this._fsshow.innerHTML=_30;
var id=this._fsfield.id.match(/(\d+)/);
id=id[1];
if(FSUtil.arrayIndexOf(this._fsobj.calcFields,id)>=0){
this._fsobj.updateCalculations(id);
}
},_2c,true);
}
}
var _28=[];
var _32=["fsFormatEmail","fsFormatPhoneUS","fsFormatPhoneUK","fsFormatPhoneAU","fsFormatPhoneXX","fsFormatZipUS","fsFormatZipCA","fsFormatZipUK","fsFormatZipAU","fsFormatNumber","fsFormatCreditCard"];
for(var _33=0;_33<_32.length;_33++){
_28=_28.concat(YDOM.getElementsByClassName(_32[_33],"input"));
}
for(var i=0;i<_28.length;i++){
this.checkFormat(_28[i]);
YEVENT.addListener(_28[i],"change",(function(_34){
return function(){
this.checkFormat(_34);
};
})(_28[i]),this,true);
}
this.updateProgress(1);
this.fitTableWidths(1);
if(!this.checkFreeLink()){
return;
}
};
this.getFieldContainer=function(_35){
var _36=_35;
while(_36&&_36.tagName.toLowerCase()!="body"){
if(YDOM.hasClass(_36,"fsFieldCell")){
return _36;
}
_36=_36.parentNode;
}
return;
};
this.focus=function(_37,_38){
if(/MSIE 6/i.test(navigator.userAgent)){
return;
}
var _39=this.getFieldContainer(_37);
if(!_39){
return;
}
if(_38){
YDOM.addClass(_39,"fsFieldFocused");
this.showCallout(_39,true);
}else{
YDOM.removeClass(_39,"fsFieldFocused");
this.showCallout(_39,false);
}
};
this.showCallout=function(_3a,_3b){
var _3c=this.getFieldContainer(_3a);
var _3d=YDOM.getElementsByClassName("fsCallout","div",_3c);
if(!_3d.length){
return;
}
var _3e=_3d[0];
if(_3b){
var _3f=YDOM.getXY(_3a);
var _40=FSUtil.getHeight(_3a);
var _41=FSUtil.getWidth(_3a);
YDOM.setStyle(_3e,"opacity",0);
YDOM.setStyle(_3e,"top",(_3f[1])+_40+"px");
YDOM.setStyle(_3e,"left",(_3f[0]+50)+"px");
YDOM.setStyle(_3e,"marginTop","25px");
FSUtil.show(_3e);
var _42=new YAHOO.util.Anim(_3e,{marginTop:{to:0},opacity:{to:1}},0.5,YAHOO.util.Easing.easeOut);
_42.animate();
}else{
var _42=new YAHOO.util.Anim(_3e,{opacity:{to:0}},0.5,YAHOO.util.Easing.easeOut);
_42.onComplete.subscribe(function(){
FSUtil.hide(_3e);
});
_42.animate();
}
};
this.fadeCallout=function(_43){
var _44=15;
var _45=20;
var _46=YDOM.hasClass(_43,"fsCalloutShowing");
var _47=YDOM.getStyle(_43,"opacity");
var _48=YDOM.getStyle(_43,"marginTop").split("px")[0];
var _49=this;
if(_46){
_47+=(1/_44);
_48-=(25/_44);
if(_47>=1){
_47=1;
}else{
setTimeout(function(){
_49.fadeCallout(_43);
},_45);
}
if(_48<=0){
_48=0;
}
}else{
_47-=(1/_44);
if(_47<=0){
_47=0;
FSUtil.hide(_43);
}else{
setTimeout(function(){
_49.fadeCallout(_43);
},_45);
}
}
YDOM.setStyle(_43,"opacity",_47);
YDOM.setStyle(_43,"margin-top",_48+"px");
};
this.checkRequired=function(_4a){
this.clearError(_4a);
var _4b=false;
var _4c=[];
var _4d=YDOM.getElementsByClassName("fsField","","fsPage"+this.id+"-"+_4a);
for(var i=0;i<_4d.length;i++){
var _4f=_4d[i];
if(this.fieldIsVisible(_4f)&&FSUtil.arrayIndexOf(_4c,_4f.id)==-1){
var _50=true;
if(YDOM.hasClass(_4f,"fsRequired")){
_50=this.checkValue(_4f);
if(!_50){
_4b=true;
if(YDOM.hasClass(_4f,"fsFieldAddress")){
var id=_4f.id.split("-");
id=id[0];
_4c.push(id+"-zip");
}
}
}
if(_50&&YDOM.hasClass(_4f,"fsUpload")){
_50=this.checkUpload(_4f);
if(!_50){
_4b=true;
}
}
if(_50){
_50=this.checkFormat(_4f);
if(!_50){
_4b=true;
}
}
}
}
if(_4b){
this.showError("Please fill in a valid value for all required fields");
return false;
}
return true;
};
this.checkValue=function(_52){
var bad=false;
switch(_52.type.toLowerCase()){
case "text":
case "password":
case "textarea":
case "file":
if(YDOM.hasClass(_52,"fsFieldName")){
var id=_52.id.split("-");
id=id[0];
bad=!YDOM.get(id+"-first").value.match(/\S/)||!YDOM.get(id+"-last").value.match(/\S/);
}else{
if(YDOM.hasClass(_52,"fsFieldAddress")){
var id=_52.id.split("-");
id=id[0];
bad=!YDOM.get(id+"-address").value.match(/\S/)||!YDOM.get(id+"-city").value.match(/\S/)||!YDOM.get(id+"-zip").value.match(/\S/);
if(!bad){
var _55=YDOM.get(id+"-state");
if(_55.type.toLowerCase()=="select-one"){
bad=!_55.options[_55.selectedIndex].value.match(/\S/);
}else{
bad=!_55.value.match(/\S/);
}
}
if(!bad){
var _56=YDOM.get(id+"-country");
if(_56&&!_56.options[_56.selectedIndex].value.match(/\S/)){
bad=true;
}
}
}else{
bad=!_52.value.match(/\S/);
}
}
break;
case "select-one":
bad=!_52.options[_52.selectedIndex].value.match(/\S/);
break;
case "select-multiple":
bad=true;
var _57=_52.options;
for(var j=0;j<_57.length;j++){
if(_57[j].selected&&_57[j].value.match(/\S/)){
bad=false;
}
}
break;
case "radio":
case "checkbox":
bad=true;
var _59=document.getElementsByName(_52.name);
for(var j=0;j<_59.length;j++){
if(_59[j].checked){
bad=false;
}
}
break;
}
if(bad){
this.highlightField(_52,true);
}
return !bad;
};
this.checkFormat=function(_5a){
var _5b=false;
if(_5a.value!=""){
if(YDOM.hasClass(_5a,"fsFormatEmail")){
_5b=true;
if(!_5a.value.match(/^\s*\S+\@[\w\-\.]+\.\w+\s*$/)){
this.highlightField(_5a,true);
return false;
}
}else{
if(YDOM.hasClass(_5a,"fsFormatPhoneUS")||YDOM.hasClass(_5a,"fsFormatPhoneUK")||YDOM.hasClass(_5a,"fsFormatPhoneAU")){
_5b=true;
var val=_5a.value.toLowerCase().replace(/[^\dx]/g,"");
var ext="";
if(val.indexOf("x")>=0){
var _5e=val.split("x");
val=_5e[0];
ext=_5e[1];
}
if(val.charAt(0)=="1"){
val=val.substr(1,val.length-1);
}
if(YDOM.hasClass(_5a,"fsFormatPhoneUS")){
if(val.length!=10){
this.highlightField(_5a,true);
return false;
}
_5a.value="("+val.substr(0,3)+") "+val.substr(3,3)+"-"+val.substr(6,4);
}else{
if(YDOM.hasClass(_5a,"fsFormatPhoneUK")){
if(val.substr(0,2)=="44"){
val=val.substr(2,val.length-2);
if(val.charAt(0)!="0"){
val="0"+val;
}
}
if(val.charAt(0)!="0"||(val.length!=10&&val.length!=11)){
this.highlightField(_5a,true);
return false;
}
if((val.charAt(1)=="1"&&(val.charAt(2)=="1"||val.charAt(3)=="1"))||(val.charAt(1)=="8")){
_5a.value=val.substr(0,4)+" "+val.substr(4,3)+" "+val.substr(7,val.length-7);
}else{
if(val.charAt(1)=="2"||val.charAt(1)=="3"||val.charAt(1)=="5"){
_5a.value=val.substr(0,3)+" "+val.substr(3,4)+" "+val.substr(7,val.length-7);
}else{
_5a.value=val.substr(0,5)+" "+val.substr(5,val.length-5);
}
}
}else{
if(YDOM.hasClass(_5a,"fsFormatPhoneAU")){
if(val.substr(0,2)=="61"){
val=val.substr(2,val.length-2);
if(val.charAt(0)!="0"){
val="0"+val;
}
}
if(val.charAt(0)!="0"||val.length!=10){
this.highlightField(_5a,true);
return false;
}
_5a.value="("+val.substr(0,2)+") "+val.substr(2,4)+" "+val.substr(6,4);
}
}
}
if(ext.length){
_5a.value+=" x"+ext;
}
}else{
if(YDOM.hasClass(_5a,"fsFormatPhoneXX")){
_5b=true;
if(!/\d{3,}/.test(_5a.value)){
this.highlightField(_5a,true);
return false;
}
}else{
if(YDOM.hasClass(_5a,"fsFormatZipUS")){
_5b=true;
var val=_5a.value.replace(/^\s+/,"").replace(/\s+$/,"");
if(!val.match(/^\d{5}(?:\-\d{4})?$/)){
this.highlightField(_5a,true);
return false;
}
_5a.value=val;
}else{
if(YDOM.hasClass(_5a,"fsFormatZipCA")){
_5b=true;
var val=_5a.value.replace(/^\s+/,"").replace(/\s+$/,"").replace(/\s{2,}/," ").toUpperCase();
if(val.length==6&&!val.match(/\s/)){
val=val.substr(0,3)+" "+val.substr(3,3);
}
if(!val.match(/^[A-Z]\d[A-Z] \d[A-Z]\d$/)){
this.highlightField(_5a,true);
return false;
}
_5a.value=val;
}else{
if(YDOM.hasClass(_5a,"fsFormatZipUK")){
_5b=true;
var val=_5a.value.replace(/^\s+/,"").replace(/\s+$/,"").replace(/\s{2,}/," ").toUpperCase();
if(!val.match(/\s/)){
val=val.substr(0,val.length-3)+" "+val.substr(val.length-3,3);
}
if(!val.match(/^[A-Z]{1,2}[0-9R][0-9A-Z]? [0-9][ABD-HJLNP-UW-Z]{2}$/)){
this.highlightField(_5a,true);
return false;
}
_5a.value=val;
}else{
if(YDOM.hasClass(_5a,"fsFormatZipAU")){
_5b=true;
var val=_5a.value.replace(/^\s+/,"").replace(/\s+$/,"").toUpperCase();
if(!val.match(/^\d{4}$/)){
this.highlightField(_5a,true);
return false;
}
_5a.value=val;
}else{
if(YDOM.hasClass(_5a,"fsFormatNumber")){
_5b=true;
var val=parseFloat(_5a.value.replace(/[^\d\.\-]/g,""));
if(isNaN(val)){
this.highlightField(_5a,true);
return false;
}
var _5f=this.getNumberProperties(_5a);
if(!isNaN(_5f.min)&&val<_5f.min){
this.highlightField(_5a,true);
return false;
}
if(!isNaN(_5f.max)&&val>_5f.max){
this.highlightField(_5a,true);
return false;
}
if(!isNaN(_5f.decimals)){
val=val.toFixed(_5f.decimals);
}
_5a.value=val;
}else{
if(YDOM.hasClass(_5a,"fsFormatCreditCard")){
_5b=true;
var val=_5a.value.replace(/\D/g,"");
var _60=0;
var _61=1;
for(var i=val.length-1;i>=0;i--){
var _63=parseInt(val.charAt(i))*_61;
_60+=(_63>9)?_63-9:_63;
_61=_61==1?2:1;
}
if(_60%10!=0){
this.highlightField(_5a,true);
return false;
}
if(val.match(/^4/)){
if(!YDOM.hasClass(_5a,"fsFormatCreditCardVisa")||(val.length!=13&&val.length!=16)){
this.highlightField(_5a,true);
return false;
}
}else{
if(val.match(/^(?:51|52|53|54|55)/)){
if(!YDOM.hasClass(_5a,"fsFormatCreditCardMasterCard")||val.length!=16){
this.highlightField(_5a,true);
return false;
}
}else{
if(val.match(/^(?:6011|622|64|65)/)){
if(!YDOM.hasClass(_5a,"fsFormatCreditCardDiscover")||val.length!=16){
this.highlightField(_5a,true);
return false;
}
}else{
if(val.match(/^(?:34|37)/)){
if(!YDOM.hasClass(_5a,"fsFormatCreditCardAmex")||val.length!=15){
this.highlightField(_5a,true);
return false;
}
}else{
if(val.match(/^(?:300|301|302|303|304|305|36|54|55)/)){
if(!YDOM.hasClass(_5a,"fsFormatCreditCardDiners")||(val.length!=14&&val.length!=16)){
this.highlightField(_5a,true);
return false;
}
}else{
if(val.match(/^35/)){
if(!YDOM.hasClass(_5a,"fsFormatCreditCardJCB")||val.length!=16){
this.highlightField(_5a,true);
return false;
}
}else{
this.highlightField(_5a,true);
return false;
}
}
}
}
}
}
_5a.value=val;
}
}
}
}
}
}
}
}
}
}
if(_5b){
this.highlightField(_5a,false);
}
return true;
};
this.checkUpload=function(_64){
var _65=true;
var _66=[];
var _67=_64.className.split(/\s+/);
for(var j=0;j<_67.length;j++){
var _69=_67[j];
if(/^uploadTypes-/.test(_69)){
var m=_69.split("-");
_66=m[1].split(",");
}
}
for(var j=0;j<_66.length;j++){
_66[j]=_66[j].toLowerCase();
}
if(FSUtil.arrayIndexOf(_66,"*")<0&&_64&&_64.value!=""&&this.fieldIsVisible(_64)){
var ext=_64.value.match(/\.(\w+)$/);
_65=ext&&FSUtil.arrayIndexOf(_66,ext[1].toLowerCase())>=0?true:false;
if(!_65){
this.highlightField(_64,true);
alert("You must upload one of the following file types for the selected field: "+_66.join(", "));
}
}
return _65;
};
this.showError=function(_6c){
var _6d=document.createElement("div");
_6d.id="fsError"+this.id;
_6d.className="fsError";
_6d.innerHTML=_6c;
YDOM.insertBefore(_6d,"fsForm"+this.id);
FSUtil.scrollTo("fsError");
};
this.clearError=function(_6e){
var _6f=YDOM.getElementsByClassName("fsRequired","","fsPage"+this.id+"-"+_6e);
for(var i=0;i<_6f.length;i++){
this.highlightField(_6f[i],0);
}
var _6f=YDOM.getElementsByClassName("fsUpload","input","fsPage"+this.id+"-"+_6e);
for(var i=0;i<_6f.length;i++){
this.highlightField(_6f[i],0);
}
var _71=YDOM.get("fsError"+this.id);
if(_71){
_71.parentNode.removeChild(_71);
}
};
this.highlightField=function(_72,on){
var _74=this.getFieldContainer(_72);
if(on){
YDOM.addClass(_74,"fsValidationError");
}else{
YDOM.removeClass(_74,"fsValidationError");
}
};
this.checkSelected=function(_75,_76){
var _77=false;
var _78=document.getElementsByName(_75);
if(!_78.length){
_78=document.getElementsByName(_75+"[]");
}
for(var i=0;i<_78.length;i++){
var _7a=_78[i];
if(_7a.type=="checkbox"||_7a.type=="radio"){
if(_7a.checked&&_7a.value==_76){
_77=true;
}
}else{
if(_7a.type=="select-one"){
_77=_7a.options[_7a.selectedIndex].value==_76?true:false;
}else{
if(_7a.type=="select-multiple"){
var _7b=_7a.options;
for(var j=0;j<_7b.length;j++){
var _7d=_7b[j];
if(_7d.selected&&_7d.value==_76){
_77=true;
}
}
}
}
}
}
return _77;
};
this.checkLogic=function(id){
for(var i=0;i<this.checks.length;i++){
var _80=this.checks[i];
if(FSUtil.arrayIndexOf(_80.fields,id)>=0){
var _81=_80.bool=="AND"?true:false;
for(var j=0;j<_80.checks.length;j++){
var _83=_80.checks[j];
var _84=this.checkSelected("field"+_83.field,_83.option);
if(_83.condition=="!="){
_84=!_84;
}
if(_80.bool=="AND"){
_81=_81?_84:false;
}else{
_81=_81?true:_84;
}
}
var _85=YDOM.get("fsCell"+_80.target);
if(YDOM.hasClass(_85,"fsSectionCell")){
_85=YDOM.get("fsSection"+_80.target);
}
if(_81){
if(_80.action=="Show"){
this.showFields(_85);
}else{
this.hideFields(_85);
}
}else{
if(_80.action=="Show"){
this.hideFields(_85);
}else{
this.showFields(_85);
}
}
}
}
};
this.showFields=function(_86){
var _87=["input","textarea","select"];
for(var i=0;i<_87.length;i++){
var _89=_86.getElementsByTagName(_87[i]);
for(var j=0;j<_89.length;j++){
var _8b=_89[j];
if(_8b.type!="file"){
_8b.disabled=false;
}
}
}
if(_86.tagName.toLowerCase()=="table"){
if(!FSUtil.visible(_86)){
FSUtil.show(_86);
this.updateTablePositionClasses(_86);
}
}else{
YDOM.removeClass(_86,"fsHiddenCell");
FSUtil.show(YDOM.getAncestorByTagName(_86,"tr"));
var _8c=YDOM.getAncestorByTagName(_86,"table");
if(!FSUtil.visible(_8c)){
FSUtil.show(_8c);
this.updateTablePositionClasses(_8c);
}
var _8d=YDOM.getElementsByClassName("fsMatrix","table",_86);
for(var _8e=0;_8e<_8d.length;_8e++){
var _8f=_8d[_8e].getElementsByTagName("td");
for(var _90=0;_90<_8f.length;_90++){
YDOM.removeClass(_8f[_90],"fsHiddenCell");
}
}
}
};
this.hideFields=function(_91){
if(_91.tagName.toLowerCase()=="table"){
if(FSUtil.visible(_91)){
FSUtil.hide(_91);
this.updateTablePositionClasses(_91);
}
}else{
YDOM.addClass(_91,"fsHiddenCell");
var _92=YDOM.getAncestorByTagName(_91,"tr");
var _93=YDOM.getElementsByClassName("fsFieldCell","td",_92);
var _94=false;
if(_93.length==1){
_94=true;
}else{
var _95=YDOM.getElementsByClassName("fsHiddenCell","td",_92);
if(_95.length==_93.length){
_94=true;
}
}
if(_94){
FSUtil.hide(_92);
var _96=YDOM.getAncestorByTagName(_91,"table");
var _97=YDOM.getElementsByClassName("fsFieldRow","tr",_96);
var _98=false;
for(var i=0;i<_97.length;i++){
if(FSUtil.visible(_97[i])){
_98=true;
break;
}
}
if(!_98&&FSUtil.visible(_96)){
FSUtil.hide(_96);
this.updateTablePositionClasses(_96);
}
}
}
var _9a=["input","textarea","select"];
for(var i=0;i<_9a.length;i++){
var _9b=_91.getElementsByTagName(_9a[i]);
for(var j=0;j<_9b.length;j++){
var _9d=_9b[j];
if(_9d.type!="file"){
_9d.disabled=true;
}
}
}
};
this.updateTablePositionClasses=function(_9e){
var _9f=YDOM.getAncestorByTagName(_9e,"div");
if(!YDOM.hasClass(_9f,"fsPage")){
return;
}
var _a0=YDOM.getElementsByClassName("fsSection","table",_9f);
var _a1=-1;
var _a2=-1;
for(var i=0;i<_a0.length;i++){
if(FSUtil.visible(_a0[i])){
if(_a1<0){
_a1=i;
YDOM.addClass(_a0[i],"fsFirstSection");
YDOM.removeClass(_a0[i],"fsMiddleSection");
YDOM.removeClass(_a0[i],"fsLastSection");
}else{
YDOM.addClass(_a0[i],"fsMiddleSection");
YDOM.removeClass(_a0[i],"fsFirstSection");
YDOM.removeClass(_a0[i],"fsLastSection");
}
YDOM.removeClass(_a0[_a2],"fsSingleSection");
_a2=i;
}
}
if(_a2>=0){
YDOM.removeClass(_a0[_a2],"fsMiddleSection");
if(_a2==_a1){
YDOM.addClass(_a0[_a2],"fsSingleSection");
YDOM.removeClass(_a0[_a2],"fsFirstSection");
YDOM.removeClass(_a0[_a2],"fsLastSection");
}else{
YDOM.addClass(_a0[_a2],"fsLastSection");
YDOM.removeClass(_a0[_a2],"fsFirstSection");
}
}
};
this.updateCalculations=function(id){
for(var i=0;i<this.calculations.length;i++){
var _a6=this.calculations[i];
if(FSUtil.arrayIndexOf(_a6.fields,id)>=0){
this.evalCalculation(_a6);
}
}
};
this.evalCalculation=function(_a7){
var _a8=_a7.equation;
var _a9="";
for(var i=0;i<_a7.fields.length;i++){
var id=_a7.fields[i];
var _ac=new RegExp("\\["+id+"\\]","g");
var val=0;
var _ae=this.getFieldsByName("field"+id);
for(var j=0;j<_ae.length;j++){
var _b0=_ae[j];
var _b1;
switch(_b0.type.toLowerCase()){
case "radio":
case "checkbox":
if(_b0.value=="Other"&&YDOM.get(_b0.id+"value")){
_b1=YDOM.get(_b0.id+"value").value;
}else{
_b1=_b0.value;
}
var v=this.getNumber(_b1);
if(_b0.checked&&!isNaN(v)){
val+=v;
}
break;
case "select-multiple":
var _b3=_b0.options;
for(var k=0;k<_b3.length;k++){
var v=this.getNumber(_b3[k].value);
if(_b3[k].selected&&!isNaN(v)){
_b1=_b3[k].value;
val+=v;
}
}
break;
default:
_b1=YDOM.get(_b0).value;
var v=this.getNumber(YDOM.get(_b0).value);
if(!isNaN(v)){
val=v;
}
}
if(_b1&&_b1.indexOf("$")!=-1){
_a9="$";
}
}
_a8=_a8.replace(_ac,val);
}
var _b5=0;
try{
_b5=eval(_a8);
}
catch(e){
}
var _b0=YDOM.get("field"+_a7.target);
if(YDOM.hasClass(_b0,"fsFormatNumber")){
_b0.value=_b5;
this.checkFormat(_b0);
}else{
_b0.value=_a9+_b5.toFixed(2);
}
this.updateCalculations(_a7.target);
};
this.getNumber=function(str){
if(!str){
return;
}
if(str.indexOf(" == ")!=-1){
var _b7=str.split(" == ");
str=_b7[1];
}
return parseFloat(str.replace(/[^\d\.\-]/g,""));
};
this.previousPage=function(_b8){
var _b9=YDOM.get("fsPage"+this.id+"-"+_b8);
if(!_b9){
return;
}
if(_b8<=1){
return;
}
var _ba=_b8-1;
while(!this.pageIsVisible(_ba)&&_ba>1){
_ba--;
}
var _bb=YDOM.get("fsPage"+this.id+"-"+_ba);
FSUtil.hide(_b9);
FSUtil.show(_bb);
this.updateProgress(_ba);
this.clearError(_b8);
FSUtil.hide("fsSubmit"+this.id);
FSUtil.scrollTo(_bb);
this.fitTableWidths(_ba);
};
this.nextPage=function(_bc){
var _bd=YDOM.get("fsPage"+this.id+"-"+_bc);
if(!_bd){
return;
}
if(_bc>=this.lastPage){
return;
}
if(this.checkRequired(_bc)){
var _be=_bc+1;
while(!this.pageIsVisible(_be)&&_be<this.lastPage){
_be++;
}
this.updateProgress(_be);
var _bf=YDOM.get("fsPage"+this.id+"-"+_be);
FSUtil.hide(_bd);
FSUtil.show(_bf);
if(_be==this.lastPage){
FSUtil.show("fsSubmit"+this.id);
}
FSUtil.scrollTo(_bf);
this.fitTableWidths(_be);
}
};
this.fitTableWidths=function(_c0){
if(!/msie/i.test(navigator.userAgent)||/opera/i.test(navigator.userAgent)){
return;
}
var _c1="fsPage"+this.id+"-"+_c0;
var _c2=YDOM.getElementsByClassName("fsTable","table",_c1);
var max=0;
for(var i=0;i<_c2.length;i++){
var _c5=_c2[i].scrollWidth;
if(_c5>max){
max=_c5;
}
}
if(max){
YDOM.setStyle("fsForm"+this.id,"width",max+"px");
}
};
this.updateProgress=function(_c6){
if(!YDOM.get("fsProgress"+this.id+"-"+_c6)){
return;
}
var _c7=YDOM.getElementsByClassName("fsPage","div","fsForm"+this.id).length;
if(_c7<=1){
FSUtil.hide("fsProgress"+this.id+"-"+_c6);
return;
}
var _c8=YDOM.get("fsProgressBarContainer"+this.id+"-"+_c6);
var _c9=YDOM.get("fsProgressBar"+this.id+"-"+_c6);
var _ca=100;
var _cb=_c6/_c7;
if(_cb<0){
_cb=0;
}
if(_cb>1){
_cb=1;
}
var _cc=(_ca*_cb)+"px";
YDOM.setStyle(_c9,"width",_cc);
};
this.pageIsVisible=function(_cd){
var _ce=false;
var _cf=YDOM.getElementsByClassName("fsFieldCell","td","fsPage"+this.id+"-"+_cd);
for(var i=0;i<_cf.length;i++){
var _d1=_cf[i];
if(FSUtil.visible(_d1)&&!YDOM.hasClass(_d1,"fsHiddenCell")){
var _d2=YDOM.getAncestorByClassName(_d1,"fsSection");
if(!_d2||(FSUtil.visible(_d2)&&!YDOM.hasClass(_d2,"fsHiddenCell"))){
_ce=true;
}
}
}
var _d3=YDOM.getElementsByClassName("fsSection","table","fsPage"+this.id+"-"+_cd);
for(var i=0;i<_d3.length;i++){
var _d2=_d3[i];
if(FSUtil.visible(_d2)&&!YDOM.hasClass(_d2,"fsHiddenCell")){
_ce=true;
}
}
return _ce;
};
this.fieldIsVisible=function(_d4){
var _d5=_d4.parentNode;
while(_d5&&_d5.tagName.toLowerCase()!="body"&&!YDOM.hasClass(_d5,"fsFieldCell")){
_d5=_d5.parentNode;
}
var _d6=_d5&&_d5.tagName.toLowerCase()!="body"&&FSUtil.visible(_d5)&&!YDOM.hasClass(_d5,"fsHiddenCell")?true:false;
if(!_d6){
return false;
}
var _d7=_d5.parentNode;
while(_d7&&_d7.tagName.toLowerCase()!="body"&&!YDOM.hasClass(_d7,"fsSection")){
_d7=_d7.parentNode;
}
if(!_d7||_d7.tagName.toLowerCase()=="body"){
return _d6;
}
return FSUtil.visible(_d7)&&!YDOM.hasClass(_d7,"fsHiddenCell");
};
this.checkForm=function(){
var res=this.checkRequired(this.lastPage);
if(res){
var _d9=[];
var _da=YDOM.getElementsByClassName("fsRequired","","fsForm"+this.id);
for(var i=0;i<_da.length;i++){
var _dc=_da[i];
if(!this.fieldIsVisible(_dc)){
if(_dc.id.indexOf("_")>=0){
var m=_dc.id.split("_");
_d9.push(m[0]);
}else{
_d9.push(_dc.name);
}
}
}
if(YDOM.get("hidden_fields"+this.id)){
YDOM.get("hidden_fields"+this.id).value=_d9.join(",");
}
if(YDOM.get("captcha"+this.id)){
if(YDOM.get("captcha_code_"+this.id).value==""){
this.captchaError();
return false;
}
}
return true;
}else{
return false;
}
};
this.submitForm=function(){
if(!this.checkForm()){
return;
}
if(YDOM.get("captcha"+this.id)){
YDOM.get("fsSubmitButton"+this.id).disabled=true;
var _de=YDOM.get("fsForm"+this.id).action.replace(/index.php$/,"captcha.php");
this.scriptRequest(_de+"?action=test&v=2&captcha_code="+YDOM.get("captcha_code_"+this.id).value+"&form="+this.id+"&fspublicsession="+YDOM.get("session_id"+this.id).value+"&r="+(new Date()).getTime());
}else{
YDOM.get("fsForm"+this.id).submit();
}
};
this.captchaError=function(){
YDOM.addClass("captcha"+this.id,"captchaError");
FSUtil.scrollTo("captcha"+this.id);
};
this.reloadCaptcha=function(_df){
var _e0=YDOM.get("fsForm"+this.id).action.replace(/index.php$/,"captcha.php");
YDOM.get("captcha_image_"+this.id).src=_e0+"?fspublicsession="+_df+"&r="+Math.random();
};
this.scriptRequest=function(req){
var _e2=document.getElementsByTagName("head");
if(!_e2.length){
YDOM.get("fsForm"+this.id).submit();
return;
}
_e2=_e2[0];
var _e3=document.createElement("script");
_e3.setAttribute("type","text/javascript");
_e3.setAttribute("charset","utf-8");
_e3.setAttribute("src",req);
_e3.setAttribute("id","scriptRequest"+this.scriptRequestCounter);
_e2.appendChild(_e3);
this.scriptRequestCounter++;
};
this.captchaTestCallback=function(_e4){
if(_e4.res=="OK"){
YDOM.get("fsForm"+this.id).submit();
}else{
this.captchaError();
}
YDOM.get("fsSubmitButton"+this.id).disabled=false;
};
this.calendarShow=function(_e5,_e6,_e7){
var _e8=YDOM.getRegion(_e7.containerId+"Link");
if(_e8){
YDOM.setStyle(_e7.oDomContainer,"top",_e8.top+"px");
YDOM.setStyle(_e7.oDomContainer,"left",(_e8.left+16)+"px");
}
var id=_e7.id.match(/(\d+)/);
id=id[1];
var cur=new Date;
var _eb=YDOM.get("field"+id+"M");
var _ec=_eb&&_eb.selectedIndex?_eb.selectedIndex:cur.getMonth()+1;
var _ed=YDOM.get("field"+id+"D");
var day=_ed&&_ed.selectedIndex?_ed.selectedIndex:cur.getDate();
var _ef=YDOM.get("field"+id+"Y");
var _f0=cur.getFullYear();
if(_ef&&_ef.selectedIndex){
var _f0=parseInt(_ef.options[_ef.selectedIndex].value,10);
if(_f0<100){
_f0+=2000;
}
}
_e7.select(_ec+"/"+day+"/"+_f0);
_e7.setMonth(_ec-1);
_e7.setYear(_f0);
_e7.render();
};
this.calendarSelect=function(_f1,_f2,_f3){
var id=_f3.id.match(/(\d+)/);
id=id[1];
var _f5=_f2[0];
var _f6=_f5[0];
var _f7=_f6[0],_f8=_f6[1],day=_f6[2];
var _fa=YDOM.get("field"+id+"M");
if(_fa){
_fa.selectedIndex=_f8;
}
var _fb=YDOM.get("field"+id+"D");
if(_fb){
_fb.selectedIndex=day;
}
var _fc=YDOM.get("field"+id+"Y");
if(_fc){
for(var y=1;y<_fc.options.length;y++){
var _fe=parseInt(_fc.options[y].value,10);
if(_fe<100){
_fe+=2000;
}
if(_fe==_f7){
_fc.selectedIndex=y;
break;
}
}
}
_f3.hide();
};
this.textareaCharLimiter=function(id,_100){
var _101=YDOM.get("field"+id);
var _102=YDOM.get("fsCounter"+id);
var text=YDOM.get(_101).value;
if(text.length>_100){
_101.value=text.substring(0,_100);
}
_102.innerHTML=_100-YDOM.get(_101).value.length;
var _104=YDOM.getRegion(_101.id);
if(_104){
YDOM.setStyle(_102.id,"top",(_104.bottom-FSUtil.getHeight(_102)-5)+"px");
YDOM.setStyle(_102.id,"left",(_104.right-FSUtil.getWidth(_102)-25)+"px");
}
};
this.getFieldsByName=function(name){
var _106=new Array();
var els=document.getElementsByName(name);
for(var i=0;i<els.length;i++){
_106.push(els[i]);
}
var els=document.getElementsByName(name+"[]");
for(var i=0;i<els.length;i++){
_106.push(els[i]);
}
return _106;
};
this.saveIncomplete=function(){
if(!confirm("Are you sure you want to leave this form and resume later?")){
return;
}
YDOM.get("incomplete"+this.id).value="true";
YDOM.get("fsForm"+this.id).submit();
};
this.checkFreeLink=function(){
var form=YDOM.get("fsForm"+this.id);
if(!YDOM.hasClass(form,"fsFormFree")){
return true;
}
var doc;
var type=YDOM.get("referrer_type"+this.id);
switch(type.value){
case "iframe":
doc=window.parent.document;
break;
case "js":
doc=window.document;
break;
default:
return true;
}
var _10c=false;
var _10d=doc.getElementsByTagName("a");
for(var i=0;i<_10d.length;i++){
if(_10d[i].href.indexOf("http://www.formspring.com/")==0&&_10d[i].innerHTML.indexOf("FormSpring")>=0){
_10c=true;
break;
}
}
if(_10c){
return true;
}
this.showError("There was an error displaying the form. Please copy and paste the embed code again.");
FSUtil.hide(form);
return false;
};
this.checkMatrixOnePerColumn=function(id){
var ids=id.split("-");
var _111=ids[0];
var _112=ids[1];
var _113=ids[2];
var _114=YDOM.get("matrix-"+_111).getElementsByTagName("input");
for(var i=0;i<_114.length;i++){
var re=new RegExp("^"+_111+"-\\d+-"+_113+"$");
if(_114[i].id!=id&&re.test(_114[i].id)){
_114[i].checked=false;
}
}
};
this.getNumberProperties=function(_117){
var _118={min:NaN,max:NaN,decimals:NaN};
var _119=_117.className.split(/\s+/);
for(var i=0;i<_119.length;i++){
var _11b=_119[i];
var _11c;
if(_11c=_11b.match(/^fsNumberMin-([\-\d]+)/)){
_118.min=parseInt(_11c[1]);
}else{
if(_11c=_11b.match(/^fsNumberMax-([\-\d]+)/)){
_118.max=parseInt(_11c[1]);
}else{
if(_11c=_11b.match(/^fsNumberDecimals-([\d]+)/)){
_118.decimals=parseInt(_11c[1]);
}
}
}
}
return _118;
};
};
function FSUtil(){
};
FSUtil.show=function(el){
YDOM.setStyle(el,"display","");
};
FSUtil.hide=function(el){
YDOM.setStyle(el,"display","none");
};
FSUtil.visible=function(el){
return YDOM.getStyle(el,"display")!="none";
};
FSUtil.scrollTo=function(el){
window.scroll(YDOM.getX(el),YDOM.getY(el));
};
FSUtil.getHeight=function(el){
var _122=YDOM.getRegion(el);
var _123=_122.bottom-_122.top;
return isNaN(_123)?0:_123;
};
FSUtil.getWidth=function(el){
var _125=YDOM.getRegion(el);
var _126=_125.right-_125.left;
return isNaN(_126)?0:_126;
};
FSUtil.arrayIndexOf=function(arr,item){
for(var i=0;i<arr.length;i++){
if(arr[i]===item){
return i;
}
}
return -1;
};

