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 _6=YDOM.getElementsByClassName("fsOtherField","input");
for(var i=0;i<_6.length;i++){
var _8=_6[i];
YEVENT.addListener(_8,"change",function(e){
var _e=YEVENT.getTarget(e);
var id=_e.id.split("_");
YDOM.get(id[0]+"_other").checked=YDOM.get(_e).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 _11=YEVENT.getTarget(e);
this.focus(_11,true);
},this,true);
YEVENT.addListener(_8,"blur",function(e){
var _13=YEVENT.getTarget(e);
this.focus(_13,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 _16=this.calculations[i];
this.evalCalculation(_16);
}
var _17=YDOM.getElementsByClassName("fsCalendar","div");
for(var i=0;i<_17.length;i++){
var div=_17[i];
var id=div.id.match(/(\d+)/);
id=id[1];
var _19=YDOM.get("field"+id+"Y").options;
var _1a=parseInt(_19[1].value,10);
var _1b=parseInt(_19[_19.length-1].value,10);
var _1c=new Date().getFullYear();
if(_1a<100){
_1a+=_1a>_1c-2000?1900:2000;
}
if(_1b<100){
_1b+=2000;
}
var _1d=new YCALENDAR(div.id,div.id,{mindate:"1/1/"+_1a,maxdate:"12/31/"+_1b});
_1d.render();
YEVENT.addListener(div.id+"Link","click",_1d.show,_1d,true);
_1d.beforeShowEvent.subscribe(this.calendarShow,_1d,true);
_1d.selectEvent.subscribe(this.calendarSelect,_1d,true);
}
var _1e=YDOM.getElementsByClassName("fsTextAreaMaxLength","textarea");
for(var i=0;i<_1e.length;i++){
var _1f=_1e[i];
var id=_1f.id.match(/(\d+)/);
id=id[1];
var _20=YDOM.get("fsCounter"+id);
var _21=parseInt(_20.innerHTML);
if(_21>0){
YEVENT.addListener(_1f,"keyup",(function(id,_23){
return function(){
this.textareaCharLimiter(id,_23);
};
})(id,_21),this,true);
YDOM.setStyle(_1f.id,"paddingBottom","24px");
_20.innerHTML="";
FSUtil.show(_20);
}
}
var _24=YDOM.getElementsByClassName("fsMatrixOnePerColumn","table");
for(var i=0;i<_24.length;i++){
var _25=_24[i].getElementsByTagName("input");
for(var j=0;j<_25.length;j++){
var _9=_25[j].type.toLowerCase();
if(_9=="radio"||_9=="checkbox"){
YEVENT.addListener(_25[j],"click",(function(id){
return function(){
this.checkMatrixOnePerColumn(id);
};
})(_25[j].id),this,true);
}
}
}
var _27=YDOM.getElementsByClassName("fsSlider","input");
for(var i=0;i<_27.length;i++){
var _28=this.getNumberProperties(_27[i]);
if(!isNaN(_28.min)&&!isNaN(_28.max)){
var _29=YSLIDER.getHorizSlider(_27[i].id+"-sliderbg",_27[i].id+"-sliderthumb",0,100);
_29._fsobj=this;
_29._fsnumber=_28;
_29._fsfield=_27[i];
_29._fsshow=YDOM.get(_27[i].id+"-slidervalue");
var _2a=_27[i].value!=""?parseFloat(_27[i].value):_28.min;
if(isNaN(_2a)){
_2a=_28.min;
}
if(!/msie/i.test(navigator.userAgent)||/opera/i.test(navigator.userAgent)){
var _2b=Math.round((_2a-_28.min)/(_28.max-_28.min)*100);
_29.setValue(_2b,false,true,true);
}
if(!isNaN(_28.decimals)){
_2a=_2a.toFixed(_28.decimals);
}
_27[i].value=_2a;
_29._fsshow.innerHTML=_2a;
_29.subscribe("change",function(_2c){
var _2d=((_2c/100)*(this._fsnumber.max-this._fsnumber.min))+this._fsnumber.min;
_2d=isNaN(this._fsnumber.decimals)?Math.round(_2d):_2d.toFixed(this._fsnumber.decimals);
if(_2d==-0){
_2d=0;
}
this._fsfield.value=_2d;
this._fsshow.innerHTML=_2d;
var id=this._fsfield.id.match(/(\d+)/);
id=id[1];
if(FSUtil.arrayIndexOf(this._fsobj.calcFields,id)>=0){
this._fsobj.updateCalculations(id);
}
},_29,true);
}
}
var _25=[];
var _2f=["fsFormatEmail","fsFormatPhoneUS","fsFormatPhoneUK","fsFormatPhoneAU","fsFormatPhoneXX","fsFormatZipUS","fsFormatZipCA","fsFormatZipUK","fsFormatZipAU","fsFormatNumber","fsFormatCreditCard"];
for(var _30=0;_30<_2f.length;_30++){
_25=_25.concat(YDOM.getElementsByClassName(_2f[_30],"input"));
}
for(var i=0;i<_25.length;i++){
this.checkFormat(_25[i]);
YEVENT.addListener(_25[i],"change",(function(_31){
return function(){
this.checkFormat(_31);
};
})(_25[i]),this,true);
}
this.updateProgress(1);
this.fitTableWidths(1);
if(!this.checkFreeLink()){
return;
}
};
this.getFieldContainer=function(_32){
var _33=_32;
while(_33&&_33.tagName.toLowerCase()!="body"){
if(YDOM.hasClass(_33,"fsFieldCell")){
return _33;
}
_33=_33.parentNode;
}
return;
};
this.focus=function(_34,_35){
if(/MSIE 6/i.test(navigator.userAgent)){
return;
}
var _36=this.getFieldContainer(_34);
if(!_36){
return;
}
if(_35){
YDOM.addClass(_36,"fsFieldFocused");
this.showCallout(_36,true);
}else{
YDOM.removeClass(_36,"fsFieldFocused");
this.showCallout(_36,false);
}
};
this.showCallout=function(_37,_38){
var _39=this.getFieldContainer(_37);
var _3a=YDOM.getElementsByClassName("fsCallout","div",_39);
if(!_3a.length){
return;
}
var _3b=_3a[0];
if(_38){
var _3c=YDOM.getXY(_37);
var _3d=FSUtil.getHeight(_37);
var _3e=FSUtil.getWidth(_37);
YDOM.setStyle(_3b,"opacity",0);
YDOM.setStyle(_3b,"top",(_3c[1])+_3d+"px");
YDOM.setStyle(_3b,"left",(_3c[0]+50)+"px");
YDOM.setStyle(_3b,"marginTop","25px");
FSUtil.show(_3b);
var _3f=new YAHOO.util.Anim(_3b,{marginTop:{to:0},opacity:{to:1}},0.5,YAHOO.util.Easing.easeOut);
_3f.animate();
}else{
var _3f=new YAHOO.util.Anim(_3b,{opacity:{to:0}},0.5,YAHOO.util.Easing.easeOut);
_3f.onComplete.subscribe(function(){
FSUtil.hide(_3b);
});
_3f.animate();
}
};
this.fadeCallout=function(_40){
var _41=15;
var _42=20;
var _43=YDOM.hasClass(_40,"fsCalloutShowing");
var _44=YDOM.getStyle(_40,"opacity");
var _45=YDOM.getStyle(_40,"marginTop").split("px")[0];
var _46=this;
if(_43){
_44+=(1/_41);
_45-=(25/_41);
if(_44>=1){
_44=1;
}else{
setTimeout(function(){
_46.fadeCallout(_40);
},_42);
}
if(_45<=0){
_45=0;
}
}else{
_44-=(1/_41);
if(_44<=0){
_44=0;
FSUtil.hide(_40);
}else{
setTimeout(function(){
_46.fadeCallout(_40);
},_42);
}
}
YDOM.setStyle(_40,"opacity",_44);
YDOM.setStyle(_40,"margin-top",_45+"px");
};
this.checkRequired=function(_47){
this.clearError(_47);
var _48=false;
var _49=[];
var _4a=YDOM.getElementsByClassName("fsField","","fsPage"+this.id+"-"+_47);
for(var i=0;i<_4a.length;i++){
var _4c=_4a[i];
if(this.fieldIsVisible(_4c)&&FSUtil.arrayIndexOf(_49,_4c.id)==-1){
var _4d=true;
if(YDOM.hasClass(_4c,"fsRequired")){
_4d=this.checkValue(_4c);
if(!_4d){
_48=true;
if(YDOM.hasClass(_4c,"fsFieldAddress")){
var id=_4c.id.split("-");
id=id[0];
_49.push(id+"-zip");
}
}
}
if(_4d&&YDOM.hasClass(_4c,"fsUpload")){
_4d=this.checkUpload(_4c);
if(!_4d){
_48=true;
}
}
if(_4d){
_4d=this.checkFormat(_4c);
if(!_4d){
_48=true;
}
}
}
}
if(_48){
this.showError("Please fill in a valid value for all required fields");
return false;
}
return true;
};
this.checkValue=function(_4f){
var bad=false;
switch(_4f.type.toLowerCase()){
case "text":
case "password":
case "textarea":
case "file":
if(YDOM.hasClass(_4f,"fsFieldName")){
var id=_4f.id.split("-");
id=id[0];
bad=!YDOM.get(id+"-first").value.match(/\S/)||!YDOM.get(id+"-last").value.match(/\S/);
}else{
if(YDOM.hasClass(_4f,"fsFieldAddress")){
var id=_4f.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 _52=YDOM.get(id+"-state");
if(_52.type.toLowerCase()=="select-one"){
bad=!_52.options[_52.selectedIndex].value.match(/\S/);
}else{
bad=!_52.value.match(/\S/);
}
}
if(!bad){
var _53=YDOM.get(id+"-country");
if(_53&&!_53.options[_53.selectedIndex].value.match(/\S/)){
bad=true;
}
}
}else{
bad=!_4f.value.match(/\S/);
}
}
break;
case "select-one":
bad=!_4f.options[_4f.selectedIndex].value.match(/\S/);
break;
case "select-multiple":
bad=true;
var _54=_4f.options;
for(var j=0;j<_54.length;j++){
if(_54[j].selected&&_54[j].value.match(/\S/)){
bad=false;
}
}
break;
case "radio":
case "checkbox":
bad=true;
var _56=document.getElementsByName(_4f.name);
for(var j=0;j<_56.length;j++){
if(_56[j].checked){
bad=false;
}
}
break;
}
if(bad){
this.highlightField(_4f,true);
}
return !bad;
};
this.checkFormat=function(_57){
var _58=false;
if(_57.value!=""){
if(YDOM.hasClass(_57,"fsFormatEmail")){
_58=true;
if(!_57.value.match(/^\s*\S+\@[\w\-\.]+\.\w+\s*$/)){
this.highlightField(_57,true);
return false;
}
}else{
if(YDOM.hasClass(_57,"fsFormatPhoneUS")||YDOM.hasClass(_57,"fsFormatPhoneUK")||YDOM.hasClass(_57,"fsFormatPhoneAU")){
_58=true;
var val=_57.value.toLowerCase().replace(/[^\dx]/g,"");
var ext="";
if(val.indexOf("x")>=0){
var _5b=val.split("x");
val=_5b[0];
ext=_5b[1];
}
if(val.charAt(0)=="1"){
val=val.substr(1,val.length-1);
}
if(YDOM.hasClass(_57,"fsFormatPhoneUS")){
if(val.length!=10){
this.highlightField(_57,true);
return false;
}
_57.value="("+val.substr(0,3)+") "+val.substr(3,3)+"-"+val.substr(6,4);
}else{
if(YDOM.hasClass(_57,"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(_57,true);
return false;
}
if((val.charAt(1)=="1"&&(val.charAt(2)=="1"||val.charAt(3)=="1"))||(val.charAt(1)=="8")){
_57.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"){
_57.value=val.substr(0,3)+" "+val.substr(3,4)+" "+val.substr(7,val.length-7);
}else{
_57.value=val.substr(0,5)+" "+val.substr(5,val.length-5);
}
}
}else{
if(YDOM.hasClass(_57,"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(_57,true);
return false;
}
_57.value="("+val.substr(0,2)+") "+val.substr(2,4)+" "+val.substr(6,4);
}
}
}
if(ext.length){
_57.value+=" x"+ext;
}
}else{
if(YDOM.hasClass(_57,"fsFormatPhoneXX")){
_58=true;
if(!/\d{3,}/.test(_57.value)){
this.highlightField(_57,true);
return false;
}
}else{
if(YDOM.hasClass(_57,"fsFormatZipUS")){
_58=true;
var val=_57.value.replace(/^\s+/,"").replace(/\s+$/,"");
if(!val.match(/^\d{5}(?:\-\d{4})?$/)){
this.highlightField(_57,true);
return false;
}
_57.value=val;
}else{
if(YDOM.hasClass(_57,"fsFormatZipCA")){
_58=true;
var val=_57.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(_57,true);
return false;
}
_57.value=val;
}else{
if(YDOM.hasClass(_57,"fsFormatZipUK")){
_58=true;
var val=_57.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(_57,true);
return false;
}
_57.value=val;
}else{
if(YDOM.hasClass(_57,"fsFormatZipAU")){
_58=true;
var val=_57.value.replace(/^\s+/,"").replace(/\s+$/,"").toUpperCase();
if(!val.match(/^\d{4}$/)){
this.highlightField(_57,true);
return false;
}
_57.value=val;
}else{
if(YDOM.hasClass(_57,"fsFormatNumber")){
_58=true;
var val=parseFloat(_57.value.replace(/[^\d\.\-]/g,""));
if(isNaN(val)){
this.highlightField(_57,true);
return false;
}
var _5c=this.getNumberProperties(_57);
if(!isNaN(_5c.min)&&val<_5c.min){
this.highlightField(_57,true);
return false;
}
if(!isNaN(_5c.max)&&val>_5c.max){
this.highlightField(_57,true);
return false;
}
if(!isNaN(_5c.decimals)){
val=val.toFixed(_5c.decimals);
}
_57.value=val;
}else{
if(YDOM.hasClass(_57,"fsFormatCreditCard")){
_58=true;
var val=_57.value.replace(/\D/g,"");
var _5d=0;
var _5e=1;
for(var i=val.length-1;i>=0;i--){
var _60=parseInt(val.charAt(i))*_5e;
_5d+=(_60>9)?_60-9:_60;
_5e=_5e==1?2:1;
}
if(_5d%10!=0){
this.highlightField(_57,true);
return false;
}
if(val.match(/^4/)){
if(!YDOM.hasClass(_57,"fsFormatCreditCardVisa")||(val.length!=13&&val.length!=16)){
this.highlightField(_57,true);
return false;
}
}else{
if(val.match(/^(?:51|52|53|54|55)/)){
if(!YDOM.hasClass(_57,"fsFormatCreditCardMasterCard")||val.length!=16){
this.highlightField(_57,true);
return false;
}
}else{
if(val.match(/^(?:6011|622|64|65)/)){
if(!YDOM.hasClass(_57,"fsFormatCreditCardDiscover")||val.length!=16){
this.highlightField(_57,true);
return false;
}
}else{
if(val.match(/^(?:34|37)/)){
if(!YDOM.hasClass(_57,"fsFormatCreditCardAmex")||val.length!=15){
this.highlightField(_57,true);
return false;
}
}else{
if(val.match(/^(?:300|301|302|303|304|305|36|54|55)/)){
if(!YDOM.hasClass(_57,"fsFormatCreditCardDiners")||(val.length!=14&&val.length!=16)){
this.highlightField(_57,true);
return false;
}
}else{
if(val.match(/^35/)){
if(!YDOM.hasClass(_57,"fsFormatCreditCardJCB")||val.length!=16){
this.highlightField(_57,true);
return false;
}
}else{
this.highlightField(_57,true);
return false;
}
}
}
}
}
}
_57.value=val;
}
}
}
}
}
}
}
}
}
}
if(_58){
this.highlightField(_57,false);
}
return true;
};
this.checkUpload=function(_61){
var _62=true;
var _63=[];
var _64=_61.className.split(/\s+/);
for(var j=0;j<_64.length;j++){
var _66=_64[j];
if(/^uploadTypes-/.test(_66)){
var m=_66.split("-");
_63=m[1].split(",");
}
}
for(var j=0;j<_63.length;j++){
_63[j]=_63[j].toLowerCase();
}
if(FSUtil.arrayIndexOf(_63,"*")<0&&_61&&_61.value!=""&&this.fieldIsVisible(_61)){
var ext=_61.value.match(/\.(\w+)$/);
_62=ext&&FSUtil.arrayIndexOf(_63,ext[1].toLowerCase())>=0?true:false;
if(!_62){
this.highlightField(_61,true);
alert("You must upload one of the following file types for the selected field: "+_63.join(", "));
}
}
return _62;
};
this.showError=function(_69){
var _6a=document.createElement("div");
_6a.id="fsError"+this.id;
_6a.className="fsError";
_6a.innerHTML=_69;
YDOM.insertBefore(_6a,"fsForm"+this.id);
FSUtil.scrollTo("fsError");
};
this.clearError=function(_6b){
var _6c=YDOM.getElementsByClassName("fsRequired","","fsPage"+this.id+"-"+_6b);
for(var i=0;i<_6c.length;i++){
this.highlightField(_6c[i],0);
}
var _6c=YDOM.getElementsByClassName("fsUpload","input","fsPage"+this.id+"-"+_6b);
for(var i=0;i<_6c.length;i++){
this.highlightField(_6c[i],0);
}
var _6e=YDOM.get("fsError"+this.id);
if(_6e){
_6e.parentNode.removeChild(_6e);
}
};
this.highlightField=function(_6f,on){
var _71=this.getFieldContainer(_6f);
if(on){
YDOM.addClass(_71,"fsValidationError");
}else{
YDOM.removeClass(_71,"fsValidationError");
}
};
this.checkSelected=function(_72,_73){
var _74=false;
var _75=document.getElementsByName(_72);
if(!_75.length){
_75=document.getElementsByName(_72+"[]");
}
for(var i=0;i<_75.length;i++){
var _77=_75[i];
if(_77.type=="checkbox"||_77.type=="radio"){
if(_77.checked&&_77.value==_73){
_74=true;
}
}else{
if(_77.type=="select-one"){
_74=_77.options[_77.selectedIndex].value==_73?true:false;
}else{
if(_77.type=="select-multiple"){
var _78=_77.options;
for(var j=0;j<_78.length;j++){
var _7a=_78[j];
if(_7a.selected&&_7a.value==_73){
_74=true;
}
}
}
}
}
}
return _74;
};
this.checkLogic=function(id){
for(var i=0;i<this.checks.length;i++){
var _7d=this.checks[i];
if(FSUtil.arrayIndexOf(_7d.fields,id)>=0){
var _7e=_7d.bool=="AND"?true:false;
for(var j=0;j<_7d.checks.length;j++){
var _80=_7d.checks[j];
var _81=this.checkSelected("field"+_80.field,_80.option);
if(_80.condition=="!="){
_81=!_81;
}
if(_7d.bool=="AND"){
_7e=_7e?_81:false;
}else{
_7e=_7e?true:_81;
}
}
var _82=YDOM.get("fsCell"+_7d.target);
if(YDOM.hasClass(_82,"fsSectionCell")){
_82=YDOM.get("fsSection"+_7d.target);
}
if(_7e){
if(_7d.action=="Show"){
this.showFields(_82);
}else{
this.hideFields(_82);
}
}else{
if(_7d.action=="Show"){
this.hideFields(_82);
}else{
this.showFields(_82);
}
}
}
}
};
this.showFields=function(_83){
var _84=["input","textarea","select"];
for(var i=0;i<_84.length;i++){
var _86=_83.getElementsByTagName(_84[i]);
for(var j=0;j<_86.length;j++){
var _88=_86[j];
if(_88.type!="file"){
_88.disabled=false;
}
}
}
if(_83.tagName.toLowerCase()=="table"){
if(!FSUtil.visible(_83)){
FSUtil.show(_83);
this.updateTablePositionClasses(_83);
}
}else{
YDOM.removeClass(_83,"fsHiddenCell");
FSUtil.show(YDOM.getAncestorByTagName(_83,"tr"));
var _89=YDOM.getAncestorByTagName(_83,"table");
if(!FSUtil.visible(_89)){
FSUtil.show(_89);
this.updateTablePositionClasses(_89);
}
var _8a=YDOM.getElementsByClassName("fsMatrix","table",_83);
for(var _8b=0;_8b<_8a.length;_8b++){
var _8c=_8a[_8b].getElementsByTagName("td");
for(var _8d=0;_8d<_8c.length;_8d++){
YDOM.removeClass(_8c[_8d],"fsHiddenCell");
}
}
}
};
this.hideFields=function(_8e){
if(_8e.tagName.toLowerCase()=="table"){
if(FSUtil.visible(_8e)){
FSUtil.hide(_8e);
this.updateTablePositionClasses(_8e);
}
}else{
YDOM.addClass(_8e,"fsHiddenCell");
var _8f=YDOM.getAncestorByTagName(_8e,"tr");
var _90=YDOM.getElementsByClassName("fsFieldCell","td",_8f);
var _91=false;
if(_90.length==1){
_91=true;
}else{
var _92=YDOM.getElementsByClassName("fsHiddenCell","td",_8f);
if(_92.length==_90.length){
_91=true;
}
}
if(_91){
FSUtil.hide(_8f);
var _93=YDOM.getAncestorByTagName(_8e,"table");
var _94=YDOM.getElementsByClassName("fsFieldRow","tr",_93);
var _95=false;
for(var i=0;i<_94.length;i++){
if(FSUtil.visible(_94[i])){
_95=true;
break;
}
}
if(!_95&&FSUtil.visible(_93)){
FSUtil.hide(_93);
this.updateTablePositionClasses(_93);
}
}
}
var _97=["input","textarea","select"];
for(var i=0;i<_97.length;i++){
var _98=_8e.getElementsByTagName(_97[i]);
for(var j=0;j<_98.length;j++){
var _9a=_98[j];
if(_9a.type!="file"){
_9a.disabled=true;
}
}
}
};
this.updateTablePositionClasses=function(_9b){
var _9c=YDOM.getAncestorByTagName(_9b,"div");
if(!YDOM.hasClass(_9c,"fsPage")){
return;
}
var _9d=YDOM.getElementsByClassName("fsSection","table",_9c);
var _9e=-1;
var _9f=-1;
for(var i=0;i<_9d.length;i++){
if(FSUtil.visible(_9d[i])){
if(_9e<0){
_9e=i;
YDOM.addClass(_9d[i],"fsFirstSection");
YDOM.removeClass(_9d[i],"fsMiddleSection");
YDOM.removeClass(_9d[i],"fsLastSection");
}else{
YDOM.addClass(_9d[i],"fsMiddleSection");
YDOM.removeClass(_9d[i],"fsFirstSection");
YDOM.removeClass(_9d[i],"fsLastSection");
}
YDOM.removeClass(_9d[_9f],"fsSingleSection");
_9f=i;
}
}
if(_9f>=0){
YDOM.removeClass(_9d[_9f],"fsMiddleSection");
if(_9f==_9e){
YDOM.addClass(_9d[_9f],"fsSingleSection");
YDOM.removeClass(_9d[_9f],"fsFirstSection");
YDOM.removeClass(_9d[_9f],"fsLastSection");
}else{
YDOM.addClass(_9d[_9f],"fsLastSection");
YDOM.removeClass(_9d[_9f],"fsFirstSection");
}
}
};
this.updateCalculations=function(id){
for(var i=0;i<this.calculations.length;i++){
var _a3=this.calculations[i];
if(FSUtil.arrayIndexOf(_a3.fields,id)>=0){
this.evalCalculation(_a3);
}
}
};
this.evalCalculation=function(_a4){
var _a5=_a4.equation;
var _a6="";
for(var i=0;i<_a4.fields.length;i++){
var id=_a4.fields[i];
var _a9=new RegExp("\\["+id+"\\]","g");
var val=0;
var _ab=this.getFieldsByName("field"+id);
for(var j=0;j<_ab.length;j++){
var _ad=_ab[j];
var _ae;
switch(_ad.type.toLowerCase()){
case "radio":
case "checkbox":
_ae=_ad.value;
var v=this.getNumber(_ad.value);
if(_ad.checked&&!isNaN(v)){
val+=v;
}
break;
case "select-multiple":
var _b0=_ad.options;
for(var k=0;k<_b0.length;k++){
var v=this.getNumber(_b0[k].value);
if(_b0[k].selected&&!isNaN(v)){
_ae=_b0[k].value;
val+=v;
}
}
break;
default:
_ae=YDOM.get(_ad).value;
var v=this.getNumber(YDOM.get(_ad).value);
if(!isNaN(v)){
val=v;
}
}
if(_ae&&_ae.indexOf("$")!=-1){
_a6="$";
}
}
_a5=_a5.replace(_a9,val);
}
var _b2=0;
try{
_b2=eval(_a5);
}
catch(e){
}
var _ad=YDOM.get("field"+_a4.target);
if(YDOM.hasClass(_ad,"fsFormatNumber")){
_ad.value=_b2;
this.checkFormat(_ad);
}else{
_ad.value=_a6+_b2.toFixed(2);
}
this.updateCalculations(_a4.target);
};
this.getNumber=function(str){
if(!str){
return;
}
if(str.indexOf(" == ")!=-1){
var _b4=str.split(" == ");
str=_b4[1];
}
return parseFloat(str.replace(/[^\d\.\-]/g,""));
};
this.previousPage=function(_b5){
var _b6=YDOM.get("fsPage"+this.id+"-"+_b5);
if(!_b6){
return;
}
if(_b5<=1){
return;
}
var _b7=_b5-1;
while(!this.pageIsVisible(_b7)&&_b7>1){
_b7--;
}
var _b8=YDOM.get("fsPage"+this.id+"-"+_b7);
FSUtil.hide(_b6);
FSUtil.show(_b8);
this.updateProgress(_b7);
this.clearError(_b5);
FSUtil.hide("fsSubmit"+this.id);
FSUtil.scrollTo(_b8);
this.fitTableWidths(_b7);
};
this.nextPage=function(_b9){
var _ba=YDOM.get("fsPage"+this.id+"-"+_b9);
if(!_ba){
return;
}
if(_b9>=this.lastPage){
return;
}
if(this.checkRequired(_b9)){
var _bb=_b9+1;
while(!this.pageIsVisible(_bb)&&_bb<this.lastPage){
_bb++;
}
this.updateProgress(_bb);
var _bc=YDOM.get("fsPage"+this.id+"-"+_bb);
FSUtil.hide(_ba);
FSUtil.show(_bc);
if(_bb==this.lastPage){
FSUtil.show("fsSubmit"+this.id);
}
FSUtil.scrollTo(_bc);
this.fitTableWidths(_bb);
}
};
this.fitTableWidths=function(_bd){
if(!/msie/i.test(navigator.userAgent)||/opera/i.test(navigator.userAgent)){
return;
}
var _be="fsPage"+this.id+"-"+_bd;
var _bf=YDOM.getElementsByClassName("fsTable","table",_be);
var max=0;
for(var i=0;i<_bf.length;i++){
var _c2=_bf[i].scrollWidth;
if(_c2>max){
max=_c2;
}
}
if(max){
YDOM.setStyle("fsForm"+this.id,"width",max+"px");
}
};
this.updateProgress=function(_c3){
if(!YDOM.get("fsProgress"+this.id+"-"+_c3)){
return;
}
var _c4=YDOM.getElementsByClassName("fsPage","div","fsForm"+this.id).length;
if(_c4<=1){
FSUtil.hide("fsProgress"+this.id+"-"+_c3);
return;
}
var _c5=YDOM.get("fsProgressBarContainer"+this.id+"-"+_c3);
var _c6=YDOM.get("fsProgressBar"+this.id+"-"+_c3);
var _c7=100;
var _c8=_c3/_c4;
if(_c8<0){
_c8=0;
}
if(_c8>1){
_c8=1;
}
var _c9=(_c7*_c8)+"px";
YDOM.setStyle(_c6,"width",_c9);
};
this.pageIsVisible=function(_ca){
var _cb=false;
var _cc=YDOM.getElementsByClassName("fsFieldCell","td","fsPage"+this.id+"-"+_ca);
for(var i=0;i<_cc.length;i++){
var _ce=_cc[i];
if(FSUtil.visible(_ce)&&!YDOM.hasClass(_ce,"fsHiddenCell")){
var _cf=YDOM.getAncestorByClassName(_ce,"fsSection");
if(!_cf||(FSUtil.visible(_cf)&&!YDOM.hasClass(_cf,"fsHiddenCell"))){
_cb=true;
}
}
}
var _d0=YDOM.getElementsByClassName("fsSection","table","fsPage"+this.id+"-"+_ca);
for(var i=0;i<_d0.length;i++){
var _cf=_d0[i];
if(FSUtil.visible(_cf)&&!YDOM.hasClass(_cf,"fsHiddenCell")){
_cb=true;
}
}
return _cb;
};
this.fieldIsVisible=function(_d1){
var _d2=_d1.parentNode;
while(_d2&&_d2.tagName.toLowerCase()!="body"&&!YDOM.hasClass(_d2,"fsFieldCell")){
_d2=_d2.parentNode;
}
var _d3=_d2&&_d2.tagName.toLowerCase()!="body"&&FSUtil.visible(_d2)&&!YDOM.hasClass(_d2,"fsHiddenCell")?true:false;
if(!_d3){
return false;
}
var _d4=_d2.parentNode;
while(_d4&&_d4.tagName.toLowerCase()!="body"&&!YDOM.hasClass(_d4,"fsSection")){
_d4=_d4.parentNode;
}
if(!_d4||_d4.tagName.toLowerCase()=="body"){
return _d3;
}
return FSUtil.visible(_d4)&&!YDOM.hasClass(_d4,"fsHiddenCell");
};
this.checkForm=function(){
var res=this.checkRequired(this.lastPage);
if(res){
var _d6=[];
var _d7=YDOM.getElementsByClassName("fsRequired","","fsForm"+this.id);
for(var i=0;i<_d7.length;i++){
var _d9=_d7[i];
if(!this.fieldIsVisible(_d9)){
if(_d9.id.indexOf("_")>=0){
var m=_d9.id.split("_");
_d6.push(m[0]);
}else{
_d6.push(_d9.name);
}
}
}
if(YDOM.get("hidden_fields"+this.id)){
YDOM.get("hidden_fields"+this.id).value=_d6.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 _db=YDOM.get("fsForm"+this.id).action.replace(/index.php$/,"captcha.php");
this.scriptRequest(_db+"?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(_dc){
var _dd=YDOM.get("fsForm"+this.id).action.replace(/index.php$/,"captcha.php");
YDOM.get("captcha_image_"+this.id).src=_dd+"?fspublicsession="+_dc+"&r="+Math.random();
};
this.scriptRequest=function(req){
var _df=document.getElementsByTagName("head");
if(!_df.length){
YDOM.get("fsForm"+this.id).submit();
return;
}
_df=_df[0];
var _e0=document.createElement("script");
_e0.setAttribute("type","text/javascript");
_e0.setAttribute("charset","utf-8");
_e0.setAttribute("src",req);
_e0.setAttribute("id","scriptRequest"+this.scriptRequestCounter);
_df.appendChild(_e0);
this.scriptRequestCounter++;
};
this.captchaTestCallback=function(_e1){
if(_e1.res=="OK"){
YDOM.get("fsForm"+this.id).submit();
}else{
this.captchaError();
}
YDOM.get("fsSubmitButton"+this.id).disabled=false;
};
this.calendarShow=function(_e2,_e3,_e4){
var _e5=YDOM.getRegion(_e4.containerId+"Link");
if(_e5){
YDOM.setStyle(_e4.oDomContainer,"top",_e5.top+"px");
YDOM.setStyle(_e4.oDomContainer,"left",(_e5.left+16)+"px");
}
var id=_e4.id.match(/(\d+)/);
id=id[1];
var cur=new Date;
var _e8=YDOM.get("field"+id+"M");
var _e9=_e8&&_e8.selectedIndex?_e8.selectedIndex:cur.getMonth()+1;
var _ea=YDOM.get("field"+id+"D");
var day=_ea&&_ea.selectedIndex?_ea.selectedIndex:cur.getDate();
var _ec=YDOM.get("field"+id+"Y");
var _ed=cur.getFullYear();
if(_ec&&_ec.selectedIndex){
var _ed=parseInt(_ec.options[_ec.selectedIndex].value,10);
if(_ed<100){
_ed+=2000;
}
}
_e4.select(_e9+"/"+day+"/"+_ed);
_e4.setMonth(_e9-1);
_e4.setYear(_ed);
_e4.render();
};
this.calendarSelect=function(_ee,_ef,_f0){
var id=_f0.id.match(/(\d+)/);
id=id[1];
var _f2=_ef[0];
var _f3=_f2[0];
var _f4=_f3[0],_f5=_f3[1],day=_f3[2];
var _f7=YDOM.get("field"+id+"M");
if(_f7){
_f7.selectedIndex=_f5;
}
var _f8=YDOM.get("field"+id+"D");
if(_f8){
_f8.selectedIndex=day;
}
var _f9=YDOM.get("field"+id+"Y");
if(_f9){
for(var y=1;y<_f9.options.length;y++){
var _fb=parseInt(_f9.options[y].value,10);
if(_fb<100){
_fb+=2000;
}
if(_fb==_f4){
_f9.selectedIndex=y;
break;
}
}
}
_f0.hide();
};
this.textareaCharLimiter=function(id,_fd){
var _fe=YDOM.get("field"+id);
var _ff=YDOM.get("fsCounter"+id);
var text=YDOM.get(_fe).value;
if(text.length>_fd){
_fe.value=text.substring(0,_fd);
}
_ff.innerHTML=_fd-YDOM.get(_fe).value.length;
var _101=YDOM.getRegion(_fe.id);
if(_101){
YDOM.setStyle(_ff.id,"top",(_101.bottom-FSUtil.getHeight(_ff)-5)+"px");
YDOM.setStyle(_ff.id,"left",(_101.right-FSUtil.getWidth(_ff)-25)+"px");
}
};
this.getFieldsByName=function(name){
var _103=new Array();
var els=document.getElementsByName(name);
for(var i=0;i<els.length;i++){
_103.push(els[i]);
}
var els=document.getElementsByName(name+"[]");
for(var i=0;i<els.length;i++){
_103.push(els[i]);
}
return _103;
};
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 _109=false;
var _10a=doc.getElementsByTagName("a");
for(var i=0;i<_10a.length;i++){
if(_10a[i].href.indexOf("http://www.formspring.com/")==0&&_10a[i].innerHTML.indexOf("FormSpring")>=0){
_109=true;
break;
}
}
if(_109){
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 _10e=ids[0];
var _10f=ids[1];
var _110=ids[2];
var _111=YDOM.get("matrix-"+_10e).getElementsByTagName("input");
for(var i=0;i<_111.length;i++){
var re=new RegExp("^"+_10e+"-\\d+-"+_110+"$");
if(_111[i].id!=id&&re.test(_111[i].id)){
_111[i].checked=false;
}
}
};
this.getNumberProperties=function(_114){
var _115={min:NaN,max:NaN,decimals:NaN};
var _116=_114.className.split(/\s+/);
for(var i=0;i<_116.length;i++){
var _118=_116[i];
var _119;
if(_119=_118.match(/^fsNumberMin-([\-\d]+)/)){
_115.min=parseInt(_119[1]);
}else{
if(_119=_118.match(/^fsNumberMax-([\-\d]+)/)){
_115.max=parseInt(_119[1]);
}else{
if(_119=_118.match(/^fsNumberDecimals-([\d]+)/)){
_115.decimals=parseInt(_119[1]);
}
}
}
}
return _115;
};
};
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 _11f=YDOM.getRegion(el);
var _120=_11f.bottom-_11f.top;
return isNaN(_120)?0:_120;
};
FSUtil.getWidth=function(el){
var _122=YDOM.getRegion(el);
var _123=_122.right-_122.left;
return isNaN(_123)?0:_123;
};
FSUtil.arrayIndexOf=function(arr,item){
for(var i=0;i<arr.length;i++){
if(arr[i]===item){
return i;
}
}
return -1;
};

