DateInput=function(a){function b(c,d){if(typeof opts!="object")d={};a.extend(this,b.DEFAULT_OPTS,d);d=a('<span class="jFormComponentDateButton">Find Date</span>');this.input=a(c);this.input.after(d);this.button=a(c).parent().find("span.jFormComponentDateButton");this.bindMethodsToObj("show","hide","hideIfClickOutside","keydownHandler","selectDate");this.build();this.selectDate();this.hide()}b.DEFAULT_OPTS={jFormComponentDateSelectorMonthNames:["January","February","March","April","May","June","July",
"August","September","October","November","December"],short_jFormComponentDateSelectorMonthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],short_day_names:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],start_of_week:0};b.prototype={build:function(){var c=a('<p class="jFormComponentDateSelectorMonthNavigator"><span class="jFormComponentDateSelectorButton jFormComponentDateSelectorPrevious" title="[Page-Up]">&#171;</span> <span class="jFormComponentDateSelectorMonthName"></span> <span class="jFormComponentDateSelectorButton jFormComponentDateSelectorNext" title="[Page-Down]">&#187;</span></p>');
this.monthNameSpan=a(".jFormComponentDateSelectorMonthName",c);a(".jFormComponentDateSelectorPrevious",c).click(this.bindToObj(function(){this.moveMonthBy(-1)}));a(".jFormComponentDateSelectorNext",c).click(this.bindToObj(function(){this.moveMonthBy(1)}));var d=a('<p class="jFormComponentDateSelectorYearNavigator"><span class="jFormComponentDateSelectorButton jFormComponentDateSelectorPrevious" title="[Ctrl+Page-Up]">&#171;</span> <span class="jFormComponentDateSelectorYearName"></span> <span class="jFormComponentDateSelectorButton jFormComponentDateSelectorNext" title="[Ctrl+Page-Down]">&#187;</span></p>');
this.yearNameSpan=a(".jFormComponentDateSelectorYearName",d);a(".jFormComponentDateSelectorPrevious",d).click(this.bindToObj(function(){this.moveMonthBy(-12)}));a(".jFormComponentDateSelectorNext",d).click(this.bindToObj(function(){this.moveMonthBy(12)}));c=a('<div class="jFormComponentDateSelectorNavigator"></div>').append(c,d);var f="<table><thead><tr>";a(this.adjustDays(this.short_day_names)).each(function(){f+="<th>"+this+"</th>"});f+="</tr></thead><tbody></tbody></table>";this.dateSelector=this.rootLayers=
a('<div class="jFormComponentDateSelector"></div>').append(c,f).insertAfter(this.input);if(a.browser.msie&&a.browser.version<7){this.ieframe=a('<iframe class="jFormComponentDateSelectorIEFrame" frameborder="0" src="#"></iframe>').insertBefore(this.dateSelector);this.rootLayers=this.rootLayers.add(this.ieframe);a(".jFormComponentDateSelectorButton",c).mouseover(function(){a(this).addClass("hover")});a(".jFormComponentDateSelectorButton",c).mouseout(function(){a(this).removeClass("hover")})}this.tbody=
a("tbody",this.dateSelector);this.input.change(this.bindToObj(function(){this.selectDate()}));this.selectDate()},selectMonth:function(c){var d=new Date(c.getFullYear(),c.getMonth(),1);if(!this.currentMonth||!(this.currentMonth.getFullYear()==d.getFullYear()&&this.currentMonth.getMonth()==d.getMonth())){this.currentMonth=d;d=this.rangeStart(c);var f=this.rangeEnd(c);f=this.daysBetween(d,f);for(var e="",g=0;g<=f;g++){var i=new Date(d.getFullYear(),d.getMonth(),d.getDate()+g,12,0);if(this.isFirstDayOfWeek(i))e+=
"<tr>";e+=i.getMonth()==c.getMonth()?'<td class="jFormComponentDateSelectorSelectedDay" date="'+this.dateToString(i)+'">'+i.getDate()+"</td>":'<td class="jFormComponentDateSelectorUnselectedMonth" date="'+this.dateToString(i)+'">'+i.getDate()+"</td>";if(this.isLastDayOfWeek(i))e+="</tr>"}this.tbody.empty().append(e);this.monthNameSpan.empty().append(this.monthName(c));this.yearNameSpan.empty().append(this.currentMonth.getFullYear());a(".jFormComponentDateSelectorSelectedDay",this.tbody).click(this.bindToObj(function(h){this.changeInput(a(h.target).attr("date"))}));
a("td[date="+this.dateToString(new Date)+"]",this.tbody).addClass("jFormComponentDateSelectorToday");a("td.jFormComponentDateSelectorSelectedDay",this.tbody).mouseover(function(){a(this).addClass("hover")});a("td.jFormComponentDateSelectorSelectedDay",this.tbody).mouseout(function(){a(this).removeClass("hover")})}a(".jFormComponentDateSelectorSelected",this.tbody).removeClass("jFormComponentDateSelectorSelected");a("td[date="+this.selectedDateString+"]",this.tbody).addClass("jFormComponentDateSelectorSelected")},
selectDate:function(c){if(typeof c=="undefined")c=this.stringToDate(this.input.val());c||(c=new Date);this.selectedDate=c;this.selectedDateString=this.dateToString(this.selectedDate);this.selectMonth(this.selectedDate)},changeInput:function(c){this.input.val(c).change();this.hide()},show:function(){this.rootLayers.css("display","block");this.button.unbind("click",this.show);this.input.unbind("focus",this.show);a(document.body).keydown(this.keydownHandler);a([window,document.body]).click(this.hideIfClickOutside);
this.setPosition()},hide:function(){this.rootLayers.css("display","none");a([window,document.body]).unbind("click",this.hideIfClickOutside);this.button.click(this.show);this.input.focus(this.show);a(document.body).unbind("keydown",this.keydownHandler)},hideIfClickOutside:function(c){c.target!=this.input[0]&&c.target!=this.button[0]&&!this.insideSelector(c)&&this.hide()},insideSelector:function(c){var d=this.dateSelector.offset();d.right=d.left+this.dateSelector.outerWidth();d.bottom=d.top+this.dateSelector.outerHeight();
return c.pageY<d.bottom&&c.pageY>d.top&&c.pageX<d.right&&c.pageX>d.left},keydownHandler:function(c){switch(c.keyCode){case 9:case 27:this.hide();return;case 13:this.changeInput(this.selectedDateString);break;case 33:this.moveDateMonthBy(c.ctrlKey?-12:-1);break;case 34:this.moveDateMonthBy(c.ctrlKey?12:1);break;case 38:this.moveDateBy(-7);break;case 40:this.moveDateBy(7);break;case 37:this.moveDateBy(-1);break;case 39:this.moveDateBy(1);break;default:return}c.preventDefault()},stringToDate:function(c){c=
c.replace(/[^\d]/g,"/");return c.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4,4})$/)?new Date(c):null},dateToString:function(c){function d(f){f=""+f;if(f.length==1)f="0"+f;return f}return d(c.getMonth()+1)+"/"+d(c.getDate())+"/"+c.getFullYear()},setPosition:function(){var c=this.button.position();this.rootLayers.css({top:c.top,left:c.left+this.button.outerWidth()+4});this.ieframe&&this.ieframe.css({width:this.dateSelector.outerWidth(),height:this.dateSelector.outerHeight()});c=c.top+this.dateSelector.outerHeight()+
12;var d="";d=jFormerUtility.isSet(window.scrollY)?window.scrollY:document.documentElement.scrollTop;d+a(window).height()>c||a.scrollTo(c-a(window).height()+"px",250,{axis:"y"})},moveDateBy:function(c){this.selectDate(new Date(this.selectedDate.getFullYear(),this.selectedDate.getMonth(),this.selectedDate.getDate()+c))},moveDateMonthBy:function(c){var d=new Date(this.selectedDate.getFullYear(),this.selectedDate.getMonth()+c,this.selectedDate.getDate());d.getMonth()==this.selectedDate.getMonth()+c+
1&&d.setDate(0);this.selectDate(d)},moveMonthBy:function(c){this.selectMonth(new Date(this.currentMonth.getFullYear(),this.currentMonth.getMonth()+c,this.currentMonth.getDate()))},monthName:function(c){return this.jFormComponentDateSelectorMonthNames[c.getMonth()]},bindToObj:function(c){var d=this;return function(){return c.apply(d,arguments)}},bindMethodsToObj:function(){for(var c=0;c<arguments.length;c++)this[arguments[c]]=this.bindToObj(this[arguments[c]])},indexFor:function(c,d){for(var f=0;f<
c.length;f++)if(d==c[f])return f},monthNum:function(c){return this.indexFor(this.jFormComponentDateSelectorMonthNames,c)},shortMonthNum:function(c){return this.indexFor(this.short_jFormComponentDateSelectorMonthNames,c)},shortDayNum:function(c){return this.indexFor(this.short_day_names,c)},daysBetween:function(c,d){c=Date.UTC(c.getFullYear(),c.getMonth(),c.getDate());d=Date.UTC(d.getFullYear(),d.getMonth(),d.getDate());return(d-c)/864E5},changeDayTo:function(c,d,f){c=f*(Math.abs(d.getDay()-c-f*7)%
7);return new Date(d.getFullYear(),d.getMonth(),d.getDate()+c)},rangeStart:function(c){return this.changeDayTo(this.start_of_week,new Date(c.getFullYear(),c.getMonth()),-1)},rangeEnd:function(c){return this.changeDayTo((this.start_of_week-1)%7,new Date(c.getFullYear(),c.getMonth()+1,0),1)},isFirstDayOfWeek:function(c){return c.getDay()==this.start_of_week},isLastDayOfWeek:function(c){return c.getDay()==(this.start_of_week-1)%7},adjustDays:function(c){for(var d=[],f=0;f<c.length;f++)d[f]=c[(f+this.start_of_week)%
7];return d}};a.fn.date_input=function(c){return this.each(function(){new b(this,c)})};a.date_input={initialize:function(c){a("input.date_input").date_input(c)}};return b}(jQuery);
(function(a){var b=(a.browser.msie?"paste":"input")+".mask",c=window.orientation!=undefined;a.mask={definitions:{"9":"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"}};a.fn.extend({caret:function(d,f){if(this.length!=0)if(typeof d=="number"){f=typeof f=="number"?f:d;return this.each(function(){if(this.setSelectionRange){this.focus();this.setSelectionRange(d,f)}else if(this.createTextRange){var g=this.createTextRange();g.collapse(true);g.moveEnd("character",f);g.moveStart("character",d);g.select()}})}else{if(this[0].setSelectionRange){d=
this[0].selectionStart;f=this[0].selectionEnd}else if(document.selection&&document.selection.createRange){var e=document.selection.createRange();d=0-e.duplicate().moveStart("character",-100000);f=d+e.text.length}return{begin:d,end:f}}},unmask:function(){return this.trigger("unmask")},mask:function(d,f){if(!d&&this.length>0){var e=a(this[0]),g=e.data("tests");return a.map(e.data("buffer"),function(r,m){return g[m]?r:null}).join("")}f=a.extend({placeholder:"_",completed:null},f);var i=a.mask.definitions;
g=[];var h=d.length,l=null,k=d.length;a.each(d.split(""),function(r,m){if(m=="?"){k--;h=r}else if(i[m]){g.push(new RegExp(i[m]));if(l==null)l=g.length-1}else g.push(null)});return this.each(function(){function r(j){for(;++j<=k&&!g[j];);return j}function m(j){for(;!g[j]&&--j>=0;);for(var n=j;n<k;n++)if(g[n]){x[n]=f.placeholder;var o=r(n);if(o<k&&g[n].test(x[o]))x[n]=x[o];else break}u();p.caret(Math.max(l,j))}function B(j){j=j;for(var n=f.placeholder;j<k;j++)if(g[j]){var o=r(j),v=x[j];x[j]=n;if(o<k&&
g[o].test(v))n=v;else break}}function t(j){var n=a(this).caret(),o=j.keyCode;q=o<16||o>16&&o<32||o>32&&o<41;if(!j.shiftKey){if(o==36){j.preventDefault();a(this).caret(r(0))}if(o==35){j.preventDefault();j=p.val().indexOf(" ");for(n=p.val().length;g[j]==null||p.val().charAt(j)!=" ";){j+=1;if(j==n)break}a(this).caret(j);return false}}if(n.begin-n.end!=0&&(!q||o==8||o==46))y(n.begin,n.end);if(o==8||o==46||c&&o==127){m(n.begin+(o==46?0:-1));return false}else if(o==27){p.val(z);p.caret(0,s());return false}}
function w(j){if(q){q=false;return j.keyCode==8?false:null}j=j||window.event;var n=j.charCode||j.keyCode||j.which,o=a(this).caret();if(j.ctrlKey||j.altKey||j.metaKey)return true;else if(n>=32&&n<=125||n>186){j=r(o.begin-1);if(j<k){n=String.fromCharCode(n);if(g[j].test(n)){B(j);x[j]=n;u();n=r(j);a(this).caret(n);f.completed&&n==k&&f.completed.call(p)}}}return false}function y(j,n){for(j=j;j<n&&j<k;j++)if(g[j])x[j]=f.placeholder}function u(){return p.val(x.join("")).val()}function s(j){for(var n=p.val(),
o=-1,v=0,A=0;v<k;v++)if(g[v]){for(x[v]=f.placeholder;A++<n.length;){var C=n.charAt(A-1);if(g[v].test(C)){x[v]=C;o=v;break}}if(A>n.length)break}else if(x[v]==n[A]&&v!=h){A++;o=v}if(!j&&o+1<h){p.val("");y(0,k)}else if(j||o+1>=h){u();j||p.val(p.val().substring(0,o+1))}return h?v:l}var p=a(this),x=a.map(d.split(""),function(j){if(j!="?")return i[j]?f.placeholder:j}),q=false,z=p.val();p.data("buffer",x).data("tests",g);p.attr("readonly")||p.one("unmask",function(){p.unbind(".mask").removeData("buffer").removeData("tests")}).bind("focus.mask",
function(){z=p.val();var j=s();u();setTimeout(function(){j==d.length?p.caret(0,j):p.caret(j)},0)}).bind("blur.mask",function(){s();p.val()!=z&&p.change()}).bind("keydown.mask",t).bind("keypress.mask",w).bind(b,function(){setTimeout(function(){p.caret(s(true))},0)});s()})}})})(jQuery);
(function(a){function b(d){return typeof d=="object"?d:{top:d,left:d}}var c=a.scrollTo=function(d,f,e){a(window).scrollTo(d,f,e)};c.defaults={axis:"xy",duration:parseFloat(a.fn.jquery)>=1.3?0:1};c.window=function(){return a(window).scrollable()};a.fn.scrollable=function(){return this.map(function(){var d=this;if(!(!d.nodeName||a.inArray(d.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1))return d;d=(d.contentWindow||d).document||d.ownerDocument||d;return a.browser.safari||d.compatMode==
"BackCompat"?d.body:d.documentElement})};a.fn.scrollTo=function(d,f,e){if(typeof f=="object"){e=f;f=0}if(typeof e=="function")e={onAfter:e};if(d=="max")d=9E9;e=a.extend({},c.defaults,e);f=f||e.speed||e.duration;e.queue=e.queue&&e.axis.length>1;if(e.queue)f/=2;e.offset=b(e.offset);e.over=b(e.over);return this.scrollable().each(function(){function g(t){l.animate(m,f,e.easing,t&&function(){t.call(this,d,e)})}function i(t){var w="scroll"+t;if(!B)return h[w];t="client"+t;var y=h.ownerDocument.documentElement,
u=h.ownerDocument.body;return Math.max(y[w],u[w])-Math.min(y[t],u[t])}var h=this,l=a(h),k=d,r,m={},B=l.is("html,body");switch(typeof k){case "number":case "string":if(/^([+-]=)?\d+(\.\d+)?(px)?$/.test(k)){k=b(k);break}k=a(k,this);case "object":if(k.is||k.style)r=(k=a(k)).offset()}a.each(e.axis.split(""),function(t,w){var y=w=="x"?"Left":"Top",u=y.toLowerCase(),s="scroll"+y,p=h[s];w=w=="x"?"Width":"Height";if(r){m[s]=r[u]+(B?0:p-l.offset()[u]);if(e.margin){m[s]-=parseInt(k.css("margin"+y))||0;m[s]-=
parseInt(k.css("border"+y+"Width"))||0}m[s]+=e.offset[u]||0;if(e.over[u])m[s]+=k[w.toLowerCase()]()*e.over[u]}else m[s]=k[u];if(/^\d+$/.test(m[s]))m[s]=m[s]<=0?0:Math.min(m[s],i(w));if(!t&&e.queue){p!=m[s]&&g(e.onAfterFirst);delete m[s]}});g(e.onAfter)}).end()}})(jQuery);
(function(a){function b(f,e,g){var i=e.hash.slice(1),h=document.getElementById(i)||document.getElementsByName(i)[0];if(h){f&&f.preventDefault();var l=a(g.target);if(!(g.lock&&l.is(":animated")||g.onBefore&&g.onBefore.call(g,f,h,l)===false)){g.stop&&l.stop(true);if(g.hash){f=h.id==i?"id":"name";var k=a("<a> </a>").attr(f,i).css({position:"absolute",top:a(window).scrollTop(),left:a(window).scrollLeft()});h[f]="";a("body").prepend(k);location=e.hash;k.remove();h[f]=i}l.scrollTo(h,g).trigger("notify.serialScroll",
[h])}}}var c=location.href.replace(/#.*/,""),d=a.localScroll=function(f){a("body").localScroll(f)};d.defaults={duration:1E3,axis:"y",event:"click",stop:true,target:window,reset:true};d.hash=function(f){if(location.hash){f=a.extend({},d.defaults,f);f.hash=false;if(f.reset){var e=f.duration;delete f.duration;a(f.target).scrollTo(0,f);f.duration=e}b(0,location,f)}};a.fn.localScroll=function(f){function e(){return!!this.href&&!!this.hash&&this.href.replace(this.hash,"")==c&&(!f.filter||a(this).is(f.filter))}
f=a.extend({},d.defaults,f);return f.lazy?this.bind(f.event,function(g){var i=a([g.target,g.target.parentNode]).filter(e)[0];i&&b(g,i,f)}):this.find("a,area").filter(e).bind(f.event,function(g){b(g,this,f)}).end().end()}})(jQuery);
(function(a){var b=".serialScroll",c=a.serialScroll=function(d){a.scrollTo.window().serialScroll(d)};c.defaults={duration:1E3,axis:"x",event:"click",start:0,step:1,lock:1,cycle:1,constant:1};a.fn.serialScroll=function(d){d=a.extend({},c.defaults,d);var f=d.event,e=d.step,g=d.lazy;return this.each(function(){function i(q){q.data+=u;h(q,this)}function h(q,z){if(!isNaN(z)){q.data=z;z=w}var j=q.data,n=q.type,o=d.exclude?r().slice(0,-d.exclude):r(),v=o.length,A=o[j],C=d.duration;n&&q.preventDefault();
if(s){k();x=setTimeout(l,d.interval)}if(!A){j=j<0?0:(j=v-1);if(u!=j)j=j;else if(d.cycle)j=v-j-1;else return;A=o[j]}if(!(!A||n&&u==j||d.lock&&t.is(":animated")||n&&d.onBefore&&d.onBefore.call(z,q,A,t,r(),j)===false)){d.stop&&t.queue("fx",[]).stop();if(d.constant)C=Math.abs(C/e*(u-j));t.scrollTo(A,C,d).trigger("notify"+b,[j])}}function l(){t.trigger("next"+b)}function k(){clearTimeout(x)}function r(){return a(y,w)}function m(q){if(!isNaN(q))return q;for(var z=r(),j;(j=z.index(q))==-1&&q!=w;)q=q.parentNode;
return j}var B=d.target?this:document,t=a(d.target||this,B),w=t[0],y=d.items,u=d.start,s=d.interval,p=d.navigation,x;g||(y=r());d.force&&h({},u);a(d.prev||[],B).bind(f,-e,i);a(d.next||[],B).bind(f,e,i);w.ssbound||t.bind("prev"+b,-e,i).bind("next"+b,e,i).bind("goto"+b,h);s&&t.bind("start"+b,function(){if(!s){k();s=1;l()}}).bind("stop"+b,function(){k();s=0});t.bind("notify"+b,function(q,z){q=m(z);if(q>-1)u=q});w.ssbound=1;if(d.jump)(g?t:r()).bind(f,function(q){h(q,m(q.target))});if(p)p=a(p,B).bind(f,
function(q){q.data=Math.round(r().length/p.length)*p.index(this);h(q,this)})})}})(jQuery);
(function(){function a(b,c){var d=this;b=jQuery(b);var f=['<span class="tipArrow"></span><div class="tipContent">',c.content.html(),"</div>"].join(""),e=jQuery(c.content).addClass(c.baseClass).addClass(c.fixed?c.fixedClass:"").addClass(c.persistent?c.persistentClass:"").html(f);jQuery(window).resize(function(){e.is(":visible")&&d.updatePos()});c.hidden?e.hide():e.show();if(c.persistent){b.click(function(){b.get(0)});jQuery(window).mousedown(function(g){e.css("display")!=="none"&&c.focus&&jQuery(g.target).parents(".tooltip").andSelf().filter(function(){return this===
e.get(0)})})}else{b.hover(function(g){d.show(g)},function(){d.hide()});c.fixed||b.mousemove(function(g){e.css("display")!=="none"&&d.updatePos(g)})}jQuery.extend(d,{getVersion:function(){return[1,2,0]},getParent:function(){return b},getTooltip:function(){return e},getPos:function(){return e.position()},setPos:function(g,i){var h=b.position();if(typeof g=="string")g=parseInt(g)+h.left;if(typeof i=="string")i=parseInt(i)+h.top;e.css({left:g,top:i});return d},show:function(g){if(c.onBeforeShow()===false)return false;
d.updatePos(c.fixed?null:g);switch(c.showEffect){case "fade":e.fadeIn(c.showTime);break;case "slide":e.slideDown(c.showTime,d.updatePos);break;case "custom":c.showCustom.call(e,c.showTime);break;default:case "none":e.show();break}e.addClass(c.activeClass);c.onShow.call(d);jQuery(document).trigger("blurTip",[e,"show"]);return d},hide:function(){c.onBeforeHide.call(d);switch(c.hideEffect){case "fade":e.fadeOut(c.hideTime);break;case "slide":e.slideUp(c.hideTime);break;case "custom":c.hideCustom.call(e,
c.hideTime);break;default:case "none":e.hide();break}e.removeClass(c.activeClass);c.onHide.call(d);jQuery(document).trigger("blurTip",[e,"hide"]);return d},update:function(){return d},load:function(g,i){c.beforeContentLoad.call(d);e.load(g,i,function(){c.onContentLoad.call(d)});return d},boundryCheck:function(g,i){g=g+e.outerWidth();i=i+e.outerHeight();var h=jQuery(window).width()+jQuery(window).scrollLeft(),l=jQuery(window).height()+jQuery(window).scrollTop();return[g>=h,i>=l]},updatePos:function(g){var i=
e.outerWidth(),h=e.outerHeight();if(!g&&c.fixed)if(c.position.constructor==Array){m=parseInt(c.position[0]);g=parseInt(c.position[1])}else if(jQuery(c.position).attr("nodeType")===1){g=jQuery(c.position).position();m=g.left;g=g.top}else{var l=b.position(),k=b.outerWidth(),r=b.outerHeight(),m="";g="";switch(c.position){case "top":m=l.left-i/2+k/2;g=l.top-h;break;case "bottom":m=l.left-i/2+k/2;g=l.top+r;break;case "left":m=l.left-i;g=l.top-h/2+r/2;break;case "right":m=l.left+k;g=l.top-h/2+r/2;break;
case "topRight":m=l.left+k;g=l.top;break;default:case "default":m=k/2+l.left+20;g=l.top;break}}else{m=g.pageX;g=g.pageY}if(typeof c.position!="object"){m+=c.offset[0];g+=c.offset[1];if(c.boundryCheck){l=d.boundryCheck(m,g);if(l[0])m=m-i/2-2*c.offset[0];if(l[1])g=g-h/2-2*c.offset[1]}}else{if(typeof c.position[0]=="string")m=String(m);if(typeof c.position[1]=="string")g=String(g)}d.setPos(m,g);return d}})}jQuery.fn.simpletip=function(b){var c=jQuery(this).eq(typeof b=="number"?b:0).data("simpletip");
if(c)return c;var d={content:"A simple tooltip",persistent:false,focus:false,hidden:true,position:"default",offset:[0,0],boundryCheck:false,fixed:true,showEffect:"fade",showTime:150,showCustom:null,hideEffect:"fade",hideTime:150,hideCustom:null,baseClass:"tooltip",activeClass:"active",fixedClass:"fixed",persistentClass:"persistent",focusClass:"focus",onBeforeShow:function(){return true},onShow:function(){},onBeforeHide:function(){},onHide:function(){},beforeContentLoad:function(){},onContentLoad:function(){}};
jQuery.extend(d,b);this.each(function(){var f=new a(jQuery(this),d);jQuery(this).data("simpletip",f)});return this}})();
JFormer=Class.extend({init:function(a,b){this.options=$.extend({disableAnalytics:false,validationTips:true,pageNavigator:false,saveState:false,splashPage:false,progressBar:false,alertsEnabled:true,clientSideValidation:true,submitButtonText:"Submit",onSubmitStart:function(){return true},onSubmitFinish:function(){return true}},b.options||{});if(this.options.trackBind)jQuery.fn.bind=function(c){return function(){console.count("jQuery Bind Count");console.log("jQuery Bind %o",arguments[0],this);return c.apply(this,
arguments)}}(jQuery.fn.bind);this.id=a;this.form=$(["form#",this.id].join(""));this.formData={};this.jFormPageWrapper=this.form.find("div.jFormPageWrapper");this.jFormPageScroller=this.form.find("div.jFormPageScroller");this.jFormPageNavigator=null;this.jFormPages={};this.maxJFormPageIdArrayIndexReached=this.currentJFormPage=null;this.jFormPageIdArray=[];this.currentJFormPageIdArrayIndex=null;this.blurredTips=[];this.initializationTime=(new Date).getTime()/1E3;this.jFormComponentCount=this.durationInSeconds=
0;this.controlNextLi=this.form.find("ul.jFormerControl li.nextLi");this.controlNextButton=this.controlNextLi.find("button.nextButton");this.controlPreviousLi=this.form.find("ul.jFormerControl li.previousLi");this.controlPreviousButton=this.controlPreviousLi.find("button.previousButton");this.saveIntervalSetTimeoutId=null;this.initPages(b.jFormPages);if(this.options.splashPage!==false||this.options.saveState!==false){if(this.options.splashPage==false)this.options.splashPage={};this.addSplashPage()}else{this.maxJFormPageIdArrayIndexReached=
this.currentJFormPageIdArrayIndex=0;this.currentJFormPage=this.jFormPages[this.jFormPageIdArray[0]];this.currentJFormPage.active=true;this.currentJFormPage.startTime=(new Date).getTime()/1E3;this.options.pageNavigator!==false&&this.addPageNavigator()}this.setupPageScroller();this.hideInactivePages();this.setupControl();this.addSubmitListener();this.addEnterKeyListener();this.addBlurTipListener();this.checkDependencies();this.recordAnalytics()},initPages:function(a){var b=this,c=$.each;c(a,function(d,
f){var e=new JFormPage(b,d,f.options);e.show();c(f.jFormSections,function(g,i){var h=new JFormSection(e,g,i.options);c(i.jFormComponents,function(l,k){b.jFormComponentCount+=1;h.addComponent(new window[k.type](h,l,k.type,k.options))});e.addSection(h)});b.addPage(e)})},select:function(a){var b=false,c=null;$.each(this.jFormPages,function(d,f){$.each(f.jFormSections,function(e,g){$.each(g.jFormComponents,function(i,h){if(h.id==a){c=h;b=true}return!b});return!b});return!b});return c},checkDependencies:function(){$.each(this.jFormPages,
function(a,b){$.each(b.jFormSections,function(c,d){d.options.dependencyConditionObject!=null&&d.checkDependencies();$.each(d.jFormComponents,function(f,e){e.options.dependencyConditionObject!=null&&e.checkDependencies()})})})},addSplashPage:function(){var a=this;this.options.splashPage.jFormPage=new JFormPage(this,this.form.find("div.jFormerSplashPage").attr("id"));this.options.splashPage.jFormPage.addSection(new JFormSection(this.options.splashPage.jFormPage,this.form.find("div.jFormerSplashPage").attr("id")+
"-section"));this.options.splashPage.jFormPage.page.width(this.form.width());this.options.splashPage.jFormPage.active=true;this.options.splashPage.jFormPage.startTime=(new Date).getTime()/1E3;this.currentJFormPage=this.options.splashPage.jFormPage;this.jFormPageWrapper.height(this.options.splashPage.jFormPage.page.outerHeight());if(this.options.splashPage.customButtonId){this.options.splashPage.controlSplashLi=this.form.find("#"+this.options.splashPage.customButtonId);this.options.splashPage.controlSplashButton=
this.form.find("#"+this.options.splashPage.customButtonId)}else{this.options.splashPage.controlSplashLi=this.form.find("li.splashLi");this.options.splashPage.controlSplashButton=this.form.find("button.splashButton")}this.setupControl();this.options.saveState!==false?a.addSaveStateToSplashPage():this.options.splashPage.controlSplashButton.bind("click",function(b){b.preventDefault();a.beginFormFromSplashPage(false)})},beginFormFromSplashPage:function(a,b){var c=this;if(this.options.pageNavigator!==
false&&this.jFormPageNavigator==null){this.addPageNavigator();this.jFormPageNavigator.show()}else this.options.pageNavigator!==false&&this.jFormPageNavigator.show();this.form.find(".jFormPage").css("width",this.form.find(".jFormWrapperContainer").width());c.options.splashPage.jFormPage.active=false;c.options.splashPage.onAfterJs!=undefined&&eval(c.options.splashPage.onAfterJs);if(!b){c.currentJFormPageIdArrayIndex=0;c.jFormPages[c.jFormPageIdArray[0]].scrollTo({onAfter:function(){c.options.splashPage.jFormPage.hide()}})}a&&
c.initSaveState()},addSaveStateToSplashPage:function(){var a=this,b=a.options.splashPage.jFormPage.id+"-section";$.each(a.options.saveState.components,function(f,e){a.options.splashPage.jFormPage.jFormSections[b].addComponent(new window[e.type](a.options.splashPage.jFormPage.jFormSections[b],f,e.type,e.options))});var c="newForm",d=this.options.splashPage.jFormPage.jFormSections[b].jFormComponents;d.saveStateStatus.component.find("input:option").bind("click",{context:this},function(f){a.form.find("li.jFormerFailureNotice").remove();
c=$(f.target).val();if(c=="newForm"){d.saveStatePassword.component.find("label").html('Create password: <span class="jFormComponentLabelRequiredStar"> *</span>');a.options.splashPage.controlSplashButton.text("Begin")}else if(c=="resumeForm"){d.saveStatePassword.component.find("label").html('Form password: <span class="jFormComponentLabelRequiredStar"> *</span>');a.options.splashPage.controlSplashButton.text("Resume")}});a.options.splashPage.controlSplashButton.bind("click",{context:this},function(f){f.preventDefault();
a.form.find("li.jFormerFailureNotice").remove();var e=d.saveStateIdentifier.validate(),g=d.saveStatePassword.validate();if(e&&g){if(c=="newForm"){a.options.splashPage.controlSplashButton.text("Creating form...");var i={};i.meta={};i.meta.totalTime=0;i.meta.currentPage=a.getActivePage().id;i.meta.maxPageIndex=a.maxJFormPageIdArrayIndexReached;i.form={}}else a.options.splashPage.controlSplashButton.text("Loading form...");$(f.target).attr("disabled","disabled");$.ajax({url:a.form.attr("action"),type:"post",
data:{jFormerTask:"initializeSaveState",identifier:d.saveStateIdentifier.getValue(),password:d.saveStatePassword.getValue(),formState:c,formData:jFormerUtility.jsonEncode(i)},dataType:"json",success:function(h){if(h.status=="success")if(c=="newForm")a.beginFormFromSplashPage(true,false);else{if(c=="resumeForm"){a.beginFormFromSplashPage(true,true);a.durationInSeconds=h.response.meta.totalTime;a.setData(h.response.form);a.maxJFormPageIdArrayIndexReached=h.response.meta.maxPageIndex;a.options.pageNavigator!=
null&&a.updatePageNavigator();if(a.jFormPages[h.response.meta.currentPage]==undefined)h.response.meta.currentPage=a.jFormPages[a.jFormPageIdArray[0]].id;if(a.jFormPages[h.response.meta.currentPage].active===false){a.currentJFormPageIdArrayIndex=a.jFormPageIdArray.indexOf(h.response.meta.currentPage);a.jFormPages[h.response.meta.currentPage].scrollTo({onAfter:function(){a.options.splashPage.jFormPage.hide()}})}}}else if(h.status=="exists"){c=="newForm"?a.options.splashPage.controlSplashButton.text("Begin"):
a.options.splashPage.controlSplashButton.text("Resume");h.response.failureNoticeHtml&&a.form.find(".jFormerControl").append($('<li class="jFormerFailureNotice jFormComponentValidationFailed">'+h.response.failureNoticeHtml+"</li>"));$(f.target).removeAttr("disabled")}else if(h.status=="failure"){c=="newForm"?a.options.splashPage.controlSplashButton.text("Begin"):a.options.splashPage.controlSplashButton.text("Resume");h.response.failureNoticeHtml&&a.form.find(".jFormerControl").append($(['<li class="jFormerFailureNotice jFormComponentValidationFailed">',
h.response.failureNoticeHtml,"</li>"].join("")));h.response.failureJs&&eval(h.response.failureJs);$(f.target).removeAttr("disabled")}},error:function(){a.showAlert("There was a problem initializing the form.");a.setupControl()}})}else a.options.splashPage.jFormPage.focusOnFirstFailedComponent()})},addPageNavigator:function(){var a=this;this.jFormPageNavigator=this.form.find(".jFormPageNavigator");this.jFormPageNavigator.find(".jFormPageNavigatorLink:first").click(function(){if(a.currentJFormPageIdArrayIndex!=
0){a.currentJFormPageIdArrayIndex=0;a.scrollToPage(a.jFormPageIdArray[0],{onAfter:function(){a.form.find(".jFormPageNavigatorLink:first").is(".jFormPageNavigatorLinkWarning")&&a.jFormPages[a.jFormPageIdArray[0]].focusOnFirstFailedComponent()}})}});this.options.pageNavigator.position=="right"&&this.form.find(".jFormWrapperContainer").width(this.form.width()-this.jFormPageNavigator.width()-30)},updatePageNavigator:function(){for(var a=this,b,c,d=1;d<=this.maxJFormPageIdArrayIndexReached+1;d++){b=d;
var f=$("#navigatePage"+b);this.currentJFormPageIdArrayIndex!=b-1?f.removeClass("jFormPageNavigatorLinkActive"):f.addClass("jFormPageNavigatorLinkActive");if(f.hasClass("jFormPageNavigatorLinkLocked")){f.removeClass("jFormPageNavigatorLinkLocked").addClass("jFormPageNavigatorLinkUnlocked");f.click(function(e){e=$(e.target);e.is("li")||(e=e.closest("li"));c=e.attr("id").match(/[0-9]+$/);c=parseInt(c)-1;a.getActivePage().validate(true);a.currentJFormPageIdArrayIndex!=c&&a.scrollToPage(a.jFormPageIdArray[c]);
a.currentJFormPageIdArrayIndex=c;f.hasClass("jFormPageNavigatorLinkWarning")&&a.jFormPages[a.jFormPageIdArray[c]].focusOnFirstFailedComponent()})}}},addPage:function(a){this.jFormPageIdArray.push(a.id);this.jFormPages[a.id]=a},addEnterKeyListener:function(){var a=this;this.form.bind("keydown",{context:this},function(b){if(b.keyCode===13||b.charCode===13)$(b.target).is("textarea")||b.preventDefault()});this.form.bind("keyup",{context:this},function(b){a.getActivePage();if(b.keyCode===13||b.charCode===
13){var c=$(b.target);if(!c.is("textarea"))if(c.is("button")){b.preventDefault();c.trigger("click").blur()}else if(c.is(".jFormComponentEnterSubmits")){b.preventDefault();c.blur();a.controlNextButton.trigger("click")}else if(c.is("input:checkbox")){b.preventDefault();c.trigger("click")}else if(c.is("input:password")){b.preventDefault();c.blur();a.options.splashPage!==null&&a.currentJFormPage.id==a.options.splashPage.jFormPage.id?a.options.splashPage.controlSplashButton.trigger("click"):a.controlNextButton.trigger("click")}}})},
addSubmitListener:function(){var a=this;this.form.bind("submit",{context:this},function(b){b.preventDefault();a.submitEvent(b)})},initSaveState:function(){var a=this;if(this.options.saveState!==null){this.saveIntervalSetTimeoutId=setInterval(function(){a.saveState(a.options.saveState.showSavingAlert)},this.options.saveState.interval*1E3);this.saveStateInitialized=true}},saveState:function(a){if(this.saveRunning==true)return true;this.saveRunning=true;var b=this,c=this.durationInSeconds+this.getTimeActive(),
d={};d.meta={};d.meta.totalTime=c;d.meta.currentPage=this.getActivePage().id;d.meta.maxPageIndex=this.maxJFormPageIdArrayIndexReached;d.form=this.getData();$.ajax({url:b.form.attr("action"),type:"post",data:{jFormerTask:"saveState",formData:jFormerUtility.jsonEncode(d)},dataType:"json",success:function(){a===true&&b.showAlert("Saving...");b.saveRunning=false},error:function(f,e,g){if(e!="error")g=e?e:"unknown";b.showAlert("There was an error saving your form, we'll try again : "+g,"error");b.saveRunning=
false}})},getData:function(){var a=this;this.formData={};$.each(this.jFormPages,function(b,c){a.formData[b]=c.getData()});return this.formData},setData:function(a){var b=this;this.formData=a;$.each(a,function(c,d){b.jFormPages[c]!=undefined&&b.jFormPages[c].setData(d)});return this.formData},setupPageScroller:function(){var a=this,b=this.form.find(".jFormPage");b.css("width",this.form.find(".jFormWrapperContainer").width()).show();a.jFormPageScroller.css("width",a.jFormPageWrapper.width()*(b.length+
1));a.jFormPageWrapper.height(a.getActivePage().page.outerHeight());a.currentJFormPage.scrollTo({delay:0})},setupControl:function(){var a=this;this.controlNextButton.unbind().click(function(b){b.preventDefault();b.context=a;a.submitEvent(b)}).removeAttr("disabled");this.controlPreviousButton.unbind().click(function(b){b.preventDefault();if(a.options.splashPage!==false&&a.currentJFormPageIdArrayIndex===0){a.currentJFormPageIdArrayIndex=null;a.jFormPageNavigator&&a.jFormPageNavigator.hide();a.options.splashPage.jFormPage.scrollTo();
a.options.splashPage.onReturnJs!=undefined&&eval(a.options.splashPage.onReturnJs)}else{a.currentJFormPageIdArrayIndex-=1;a.scrollToPage(a.jFormPageIdArray[a.currentJFormPageIdArrayIndex])}});if(this.currentJFormPageIdArrayIndex===0&&this.currentJFormPageIdArrayIndex!=this.jFormPageIdArray.length-1){this.controlNextButton.html("Next");this.controlNextLi.show();this.controlPreviousLi.hide();this.controlPreviousButton.attr("disabled","disabled")}else if(a.currentJFormPageIdArrayIndex==this.jFormPageIdArray.length-
1){this.controlNextButton.html(this.options.submitButtonText);this.controlNextLi.show();if(a.currentJFormPageIdArrayIndex===0){this.controlPreviousLi.hide();this.controlPreviousButton.attr("disabled","")}else if(a.currentJFormPageIdArrayIndex>0){this.controlPreviousButton.removeAttr("disabled");this.controlPreviousLi.show()}}else{this.controlNextButton.html("Next");this.controlNextLi.show();this.controlPreviousButton.removeAttr("disabled");this.controlPreviousLi.show()}if(this.options.splashPage!==
false){if(this.options.splashPage.jFormPage.active){this.options.splashPage.controlSplashLi.show();this.controlNextLi.hide();this.controlPreviousLi.hide();this.controlPreviousButton.attr("disabled","disabled")}else this.options.splashPage.controlSplashLi.hide();if(this.currentJFormPageIdArrayIndex===0&&this.options.saveState==false){this.controlPreviousButton.removeAttr("disabled");this.controlPreviousLi.show()}}if(this.form.find(".jFormerControl .startOver").length==1){this.controlNextLi.hide();
this.controlPreviousLi.hide();this.form.find(".jFormerControl .startOver").click(function(b){b.preventDefault();a.scrollToPage(a.jFormPageIdArray[0],{onAfter:function(){$(b.target).parent().remove();a.form.find(".jFormPageFailure").remove();a.setupControl()}})})}},scrollToPage:function(a,b){this.controlNextButton.attr("disabled",true);this.controlPreviousButton.attr("disabled",true);var c=this,d=this.getActivePage();d.durationActiveInSeconds+=d.getTimeActive();$.each(this.jFormPages,function(f,e){e.show();
e.active=false});if(c.options.splashPage!==false&&a==c.options.splashPage.jFormPage.id){c.currentJFormPage=c.options.splashPage.jFormPage;c.currentJFormPage.show()}else this.currentJFormPage=this.jFormPages[a];this.currentJFormPage.active=true;a=375;if(b.delay!==undefined)a=b.delay;this.jFormPageWrapper.scrollTo(c.currentJFormPage.page,a,{axis:"x",onAfter:function(){$(c.jFormPageWrapper).queue("fx").length<=1&&c.hideInactivePages(c.getActivePage());if(c.maxJFormPageIdArrayIndexReached<c.currentJFormPageIdArrayIndex)c.maxJFormPageIdArrayIndexReached=
c.currentJFormPageIdArrayIndex;c.updatePageNavigator();c.adjustHeight();c.currentJFormPage.startTime=(new Date).getTime()/1E3;b&&b.onAfter&&b.onAfter();c.setupControl();c.controlNextButton.removeAttr("disabled").blur();c.controlPreviousButton.removeAttr("disabled").blur()}});this.scrollToTop({delay:a})},scrollToTop:function(a){var b=375;if(a!==undefined&&a.delay!==undefined)b=a.delay;$(window).scrollTop()>this.form.position().top&&$(document).scrollTo(this.form,b,{offset:{top:-10}})},getActivePage:function(){return this.currentJFormPage},
getTimeActive:function(){var a=0;$.each(this.jFormPages,function(b,c){a+=c.durationActiveInSeconds});a+=this.getActivePage().getTimeActive();return a},hideInactivePages:function(){$.each(this.jFormPages,function(a,b){b.hide()})},clearValidation:function(){$.each(this.jFormPages,function(a,b){b.clearValidation()})},submitEvent:function(a){var b=this;a.stopPropagation();a.preventDefault();b.form.find(".jFormerControl .jFormerFailureNotice").remove();b.form.find(".jFormerFailure").remove();typeof b.options.onSubmitStart!=
"function"?eval(b.options.onSubmitStart):b.options.onSubmitStart();var c=false;if(this.options.clientSideValidation)c=b.currentJFormPageIdArrayIndex<b.jFormPageIdArray.length-1?b.getActivePage().validate():b.validateAll();else{this.clearValidation();c=true}if(b.options.onSubmitFinish())if(c&&b.currentJFormPageIdArrayIndex==b.jFormPageIdArray.length-1)b.submitForm(a);else if(c&&b.currentJFormPageIdArrayIndex<b.jFormPageIdArray.length-1){b.currentJFormPageIdArrayIndex+=1;b.scrollToPage(b.jFormPageIdArray[b.currentJFormPageIdArrayIndex])}},
validateAll:function(){var a=true;$.each(this.jFormPages,function(b,c){if(!c.validate())return a=false});return a},adjustHeight:function(a){var b=this;if(a===undefined)a=200;a==0?this.jFormPageWrapper.css({height:b.getActivePage().page.outerHeight()}):this.jFormPageWrapper.animate({height:b.getActivePage().page.outerHeight()},a)},submitForm:function(){var a=this.form.clone(false).attr("id",$(this.form).attr("id")+"-clone").html("").hide().insertAfter($(this.form));$('<input name="jFormer" />').attr("value",
encodeURI(jFormerUtility.jsonEncode(this.getData()))).appendTo(a);$('<input name="jFormerId" value="'+this.id+'" />').appendTo(a);this.form.find("input:file").each(function(b,c){if($(c).val()!=""){b=$(c).closest(".jFormSection").attr("id");var d=$(c).closest(".jFormPage").attr("id"),f=$(c).clone();if($(c).attr("id").match(/-section[0-9]+/)){var e=null,g=$(c).closest(".jFormSection"),i=g.attr("id").replace(/-section[0-9]+/,"");b=b.replace(/-section[0-9]+/,"");g.closest(".jFormPage").find("div[id*="+
i+"]").each(function(l,k){if(g.attr("id")==$(k).attr("id")){e=l+1;return false}return true});f.attr("name",f.attr("name").replace(/-section[0-9]+/,"-section"+e))}if($(c).attr("id").match(/-instance[0-9]+/)){i=$(c).attr("id").replace(/-instance[0-9]+/,"");var h=null;$(c).closest(".jFormSection").find("input[id*="+i+"]").each(function(l,k){if($(k).attr("id")==$(c).attr("id")){h=l+1;return false}return true});f.attr("name",f.attr("name").replace(/-instance[0-9]+/,"-instance"+h))}f.attr("name",f.attr("name")+
":"+d+":"+b);f.appendTo(a)}});a.submit();a.remove();$(this.form).find(".jFormerControl .nextButton").text("Processing...").attr("disabled","disabled")},handleFormSubmissionResponse:function(a){var b=this;if(a.status=="failure"){a.response.validationFailed&&$.each(a.response.validationFailed,function(d,f){$.each(f,function(e,g){$.isArray(g)?$.each(g,function(i,h){var l;l=i!=0?"-section"+(i+1):"";$.each(h,function(k,r){b.jFormPages[d].jFormSections[e].instanceArray[i].jFormComponents[k+l].handleServerValidationResponse(r)})}):
$.each(g,function(i,h){b.jFormPages[d].jFormSections[e].jFormComponents[i].handleServerValidationResponse(h)})})});if(a.response.failureHtml){this.form.find(".jFormerControl .jFormerFailure").remove();this.form.find(".jFormerControl").after('<div class="jFormerFailure">'+a.response.failureHtml+"</div>")}this.form.find("iframe").contents().find("body script").remove();this.form.find("iframe").contents().find("body").html()!==null&&this.form.find(".jFormerFailure").append("<p>Output:</p>"+this.form.find("iframe").contents().find("body").html().trim());
this.controlNextButton.text(this.options.submitButtonText);this.controlNextButton.removeAttr("disabled");this.getActivePage().focusOnFirstFailedComponent()}else if(a.status=="success"){if(a.response.successPageHtml){clearInterval(this.saveIntervalSetTimeoutId);var c=$('<div class="jFormPage jFormPageSuccess">'+a.response.successPageHtml+"</div>");c.width(this.jFormPages[this.jFormPageIdArray[0]].page.width());this.jFormPageScroller.append(c);this.form.find(".jFormerControl").hide();this.form.find(".jFormPageNavigator").hide();
this.jFormPageWrapper.scrollTo(c,375,{axis:"xy"});this.jFormPageWrapper.animate({height:b.form.find(".jFormPageSuccess").outerHeight()},250);this.scrollToTop()}else if(a.response.failurePageHtml){c=$('<div class="jFormPage jFormPageFailure">'+a.response.failurePageHtml+"</div>");c.width(this.jFormPages[this.jFormPageIdArray[0]].page.width());this.jFormPageScroller.append(c);this.form.find(".jFormerControl").append($('<li class="startOver"><button class="startOverButton">Start Over</button></li>'));
this.jFormPageWrapper.scrollTo(c,375,{axis:"xy"});this.jFormPageWrapper.animate({height:b.form.find(".jFormPageFailure").outerHeight()},250);this.scrollToTop();this.setupControl()}if(a.response.failureNoticeHtml){this.form.find(".jFormerControl .jFormerFailureNotice").remove();this.form.find(".jFormerControl").append('<li class="jFormerFailureNotice">'+a.response.failureNoticeHtml+"</li>");this.controlNextButton.text(this.options.submitButtonText);this.controlNextButton.removeAttr("disabled")}if(a.response.failureHtml){this.form.find(".jFormerControl .jFormerFailure").remove();
this.form.find(".jFormerControl").after('<div class="jFormerFailure">'+a.response.failureHtml+"</div>");this.controlNextButton.text(this.options.submitButtonText);this.controlNextButton.removeAttr("disabled")}if(a.response.successJs)eval(a.response.successJs);else a.response.failureJs&&eval(a.response.failureJs);if(a.response.redirect){this.form.find(".jFormerControl .nextButton").html("Redirecting...");document.location=a.response.redirect}}},showAlert:function(a,b){if(this.options.alertsEnabled){var c=
this.form.find(".jFormerAlertWrapper"),d=this.form.find(".jFormerAlert");d.addClass(b);d.text(a);c.slideDown("slow",function(){setTimeout(function(){c.slideUp("slow",function(){})},1E3)})}},showModal:function(a,b,c){var d=this.form.find(".jFormerModalWrapper");if(d.length==0){var f=$('<div class="jFormerModalTransparency"></div>');d=$('<div style="display: none;" class="jFormerModalWrapper"><div class="jFormerModal"><div class="jFormerModalHeader">'+a+'</div><div class="jFormerModalContent">'+b+'</div><div class="jFormerModalFooter"><button>Okay</button></div></div></div>');
this.form.find(".jFormerAlertWrapper").after(f);this.form.find(".jFormerAlertWrapper").after(d);c!=""&&d.addClass(c);d.find("button").click(function(){$(".jFormerModalWrapper").remove();$(".jFormerModalTransparency").remove();$("body").css("overflow","auto")})}var e=d.find(".jFormerModal");e.css({position:"absolute"});var g=$(window);$("body").css("overflow","hidden");g.resize(function(){i=g.width()/2-e.width()/2;h=g.height()/2-e.height()/2+g.scrollTop();e.css({top:h,left:i});$(".jFormerModalTransparency").width(g.width()).height(g.height())});
$(".jFormerModalTransparency").click(function(l){if($(l.target).is(".jFormerModalTransparency")){d.remove();$(".jFormerModalTransparency").remove();$("body").css("overflow","auto")}});d.show();var i=g.width()/2-e.width()/2,h=g.height()/2-e.height()/2+g.scrollTop();$(".jFormerModalTransparency").width(g.width()).height(g.height()*1.1).css("top",g.scrollTop());e.css({top:h,left:i})},recordAnalytics:function(){var a=this;this.options.disableAnalytics||setTimeout(function(){var b=$('<img src="'+("https:"==
document.location.protocol?"https://ssl.":"http://www.")+"jformer.com/analytics/analytics.gif?pageCount="+a.jFormPageIdArray.length+"&componentCount="+a.jFormComponentCount+"&formId="+a.id+'" style="display: none;" />');a.form.append(b);b.remove()},3E3)},updateProgressBar:function(){var a=0,b=0;$.each(this.jFormPages,function(d,f){$.each(f.jFormSections,function(e,g){$.each(g.jFormComponents,function(i,h){if(h.isRequired===true&&h.disabledByDependency===false&&g.disabledByDependency===false)if(h.type!=
"JFormComponentLikert"){a+=1;if(h.requiredCompleted===true)b+=1}})})});var c=parseInt(b/a*100);this.form.find(".jFormerProgressBar").animate({width:c+"%"},500).html("<p>"+c+"%</p>")},addBlurTipListener:function(){var a=this;$(document).bind("blurTip",function(b,c,d){if(d=="hide"){a.blurredTips=$.map(a.blurredTips,function(f){return $(f).attr("id")==c.attr("id")?null:f});a.blurredTips[a.blurredTips.length-1]!=undefined&&a.blurredTips[a.blurredTips.length-1].removeClass("jFormerTipBlurred")}else if(d==
"show"){a.blurredTips.length>0&&$.each(a.blurredTips,function(f,e){$(e).addClass("jFormerTipBlurred")});a.blurredTips.push(c);c.removeClass("jFormerTipBlurred")}})}});JFormerUtility=function(){};
$.extend(JFormerUtility.prototype,{isSet:function(){var a=arguments,b=a.length,c=0;if(b==0)throw new Error("Empty isSet.");for(;c!=b;)if(typeof a[c]=="undefined"||a[c]===null)return false;else c++;return true},empty:function(a){var b;if(a===""||a===0||a==="0"||a===null||a===false||a===undefined)return true;if(typeof a=="object"){for(b in a)if(typeof a[b]!=="function")return false;return true}return false},getExtraWidth:function(a){a=$(a);var b=0;b+=parseInt(a.css("padding-left"),10)+parseInt(a.css("padding-right"),
10);b+=parseInt(a.css("margin-left"),10)+parseInt(a.css("margin-right"),10);b+=parseInt(a.css("borderLeftWidth"),10)+parseInt(a.css("borderRightWidth"),10);return b},jsonEncode:function(a){var b=window.JSON;if(typeof b==="object"&&typeof b.stringify==="function")return b.stringify(a);var c=function(f){var e=/[\\\"\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,g={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",
'"':'\\"',"\\":"\\\\"};e.lastIndex=0;return e.test(f)?'"'+f.replace(e,function(i){var h=g[i];return typeof h==="string"?h:"\\u"+("0000"+i.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+f+'"'},d=function(f,e){var g="",i=0,h=i="";h=0;var l=g,k=[];if((e=e[f])&&typeof e==="object"&&typeof e.toJSON==="function")e=e.toJSON(f);switch(typeof e){case "string":return c(e);case "number":return isFinite(e)?String(e):"null";case "boolean":case "null":return String(e);case "object":if(!e)return"null";g+="    ";
k=[];if(Object.prototype.toString.apply(e)==="[object Array]"){h=e.length;for(i=0;i<h;i+=1)k[i]=d(i,e)||"null";return h=k.length===0?"[]":g?"[\n"+g+k.join(",\n"+g)+"\n"+l+"]":"["+k.join(",")+"]"}for(i in e)if(Object.hasOwnProperty.call(e,i))if(h=d(i,e))k.push(c(i)+(g?": ":":")+h);return h=k.length===0?"{}":g?"{\n"+g+k.join(",\n"+g)+"\n"+l+"}":"{"+k.join(",")+"}"}};return d("",{"":a})}});jFormerUtility=new JFormerUtility;
(function(){var a=false,b=/xyz/.test(function(){})?/\b_super\b/:/.*/;this.Class=function(){};Class.extend=function(c){function d(){!a&&this.init&&this.init.apply(this,arguments)}var f=this.prototype;a=true;var e=new this;a=false;for(var g in c)e[g]=typeof c[g]=="function"&&typeof f[g]=="function"&&b.test(c[g])?function(i,h){return function(){var l=this._super;this._super=f[i];var k=h.apply(this,arguments);this._super=l;return k}}(g,c[g]):c[g];d.prototype=e;d.constructor=d;d.extend=arguments.callee;
return d}})();
JFormPage=Class.extend({init:function(a,b,c){this.options=$.extend({},c||{});this.jFormer=a;this.id=b;this.page=$("#"+b);this.jFormSections={};this.formData={};this.validationPassed=this.active=false;this.durationActiveInSeconds=0},addSection:function(a){this.jFormSections[a.id]=a;return this},getData:function(){var a=this;this.formData={};$.each(this.jFormSections,function(b,c){a.formData[b]=c.getData()});return this.formData},setData:function(a){var b=this;$.each(a,function(c,d){if(b.jFormSections[c]!=undefined)b.jFormSections[c].setData(d);
else a[c]=undefined});return this.formData=a},getTimeActive:function(){return(new Date).getTime()/1E3-this.startTime},validate:function(a){var b=this,c=$.each;b.validationPassed=true;c(this.jFormSections,function(d,f){c(f.instanceArray,function(e,g){c(g.jFormComponents,function(i,h){h.type!="JFormComponentLikert"&&c(h.instanceArray,function(l,k){k.validate();if(k.validationPassed==false)b.validationPassed=false})})})});if(b.validationPassed)$("#navigatePage"+(b.jFormer.currentJFormPageIdArrayIndex+
1)).removeClass("jFormPageNavigatorLinkWarning");else a||this.focusOnFirstFailedComponent();return b.validationPassed},clearValidation:function(){$.each(this.jFormSections,function(a,b){b.clearValidation()})},focusOnFirstFailedComponent:function(){var a=$.each,b=true;a(this.jFormSections,function(c,d){a(d.instanceArray,function(f,e){a(e.jFormComponents,function(g,i){a(i.instanceArray,function(h,l){if(!l.validationPassed||l.errorMessageArray.length>0){h=l.component.offset().top-30;var k=$(window).scrollTop();
k<h&&k+$(window).height()>l.component.position().top?l.component.find(":input:first").focus():$.scrollTo(h+"px",500,{onAfter:function(){l.component.find(":input:first").focus()}});b=false}return b});return b});return b});return b})},scrollTo:function(a){this.jFormer.scrollToPage(this.id,a);return this},show:function(){this.page.hasClass("jFormPageInactive")&&this.page.removeClass("jFormPageInactive")},hide:function(){this.active||this.page.addClass("jFormPageInactive")}});
JFormSection=Class.extend({init:function(a,b,c){this.options=$.extend({dependencyDisplay:"hidden",dependencyConditionObject:null,instancesAllowed:1,instanceAddText:"Add Another",instanceRemoveText:"Remove"},c||{});this.parentJFormPage=a;this.id=b;this.section=$("#"+b);this.jFormComponents={};this.formData=null;this.disabledByDependency=false;this.addDependencyListeners();if(this.options.isInstance)this.clone=this.instanceArray=null;else{this.clone=this.section.clone();this.instanceArray=[this];this.createInstanceButton();
this.iterations=1}},addDependencyListeners:function(){function a(d){d.bind("jFormComponent:changed",function(){b.checkDependencies()});d.is("input:text, textarea")&&d.bind("keyup",function(){b.checkDependencies()})}var b=this;if(this.options.dependencyConditionObject){this.toggleDependencyLock(true);var c;$.each(this.options.dependencyConditionObject,function(d,f){if(d=="and")$.each(f,function(e,g){c=g==":validate"||g==":required"?b.parentJFormPage.jFormer.form.find(":input[id^="+e+"]"):$("#"+e);
a($("#"+e))});else{c=f==":validate"||f==":required"?b.parentJFormPage.jFormer.form.find(":input[id^="+d+"]"):$("#"+d);a(c)}})}},toggleDependencyLock:function(a){var b=this.parentJFormPage.jFormer.getActivePage();if(a){this.disabledByDependency=true;if(this.options.dependencyDisplay=="hidden"){this.section.hide();b!==null&&this.parentJFormPage.jFormer.adjustHeight()}else this.section.addClass("jFormSectionDependencyDisabled").find(":input").each(function(c,d){d.disabled=true})}else{this.disabledByDependency=
false;if(this.options.dependencyDisplay=="hidden"){this.section.show();this.parentJFormPage.jFormer.adjustHeight()}else this.section.removeClass("jFormSectionDependencyDisabled").find(":input").each(function(c,d){d.disabled=false})}return this},checkDependencies:function(){var a=this,b=true;$.each(this.options.dependencyConditionObject,function(c,d){if(c=="and"){$.each(d,function(f,e){if(e==":required"&&!jFormerUtility.empty(a.parentJFormPage.jFormer.select(f).getValue())||e==":validate"&&a.parentJFormPage.jFormer.select(f).validate(true)||
e==":checked"&&$("#"+f).is(":checked")==true||$("#"+f).val()==e)b=false;else{b=true;return false}});if(b===false)return false}else if(d==":required"&&!jFormerUtility.empty(a.parentJFormPage.jFormer.select(c).getValue())||d==":validate"&&a.parentJFormPage.jFormer.select(c).validate(true)||d==":checked"&&$("#"+c).is(":checked")||$("#"+c).val()==d)return b=false;else b=true});this.toggleDependencyLock(b);return this},createInstanceButton:function(){var a=this;if(this.options.instancesAllowed!=1){var b=
this.id+"-addInstance";this.section.after('<button id="'+b+'" class="jFormSectionAddInstanceButton">'+this.options.instanceAddText+"</button>");this.parentJFormPage.page.find("#"+b).bind("click",function(c){c.preventDefault();a.addSectionInstance()})}},addSectionInstance:function(){var a=this;if(this.instanceArray.length<this.options.instancesAllowed||this.options.instancesAllowed===0){this.iterations++;var b=this.clone.clone(),c=this.id+"-removeInstance",d='<button id="'+c+'" class="jFormSectionRemoveInstanceButton">'+
this.options.instanceRemoveText+"</button>";$(b).append(d);b.find("#"+c).bind("click",function(f){var e=$(f.target);f.preventDefault();a.instanceArray=$.map(a.instanceArray,function(g){if(g.section.attr("id")==e.parent().attr("id"))g=null;return g});e.parent().remove();e.remove();if(a.instanceArray.length<=a.options.instancesAllowed||a.options.instancesAllowed===0)a.parentJFormPage.page.find("#"+a.id+"-addInstance").show();a.relabelSectionInstances(a.instanceArray)});this.parentJFormPage.page.find("#"+
this.id+"-addInstance").before(b);this.nameSectionInstance(b);this.instanceArray.push(this.createSectionInstanceObject(b,this.options));this.relabelSectionInstances(this.instanceArray);this.instanceArray.length>=this.options.instancesAllowed&&this.options.instancesAllowed!==0&&this.parentJFormPage.page.find("#"+this.id+"-addInstance").hide()}return this},removeInstance:function(){return this},nameSectionInstance:function(a){function b(e,g){f=c($(e).attr(g));f==""?$(e).attr(g,$(e).attr(g)+"-section"+
d.iterations+f):$(e).attr(g,$(e).attr(g).replace(f,"-section"+d.iterations+f))}function c(e){var g="";if(e.match(/(\-[A-Za-z0-9]+)&?/))g=e.match(/(\-[A-Za-z0-9]+)&?/)[1];return g}var d=this,f="";$(a).attr("id",$(a).attr("id")+"-section"+this.iterations);$(a).find("*").each(function(e,g){$(g).attr("id")&&b(g,"id");$(g).attr("for")&&b(g,"for");$(g).attr("name")&&b(g,"name")});return a},createSectionInstanceObject:function(a,b){a=$.extend(true,{},b);a.isInstance=true;var c=this,d=new JFormSection(this.parentJFormPage,
this.id+"-section"+this.iterations,a);$.each(this.jFormComponents,function(f,e){f=$.extend(true,{},e.options);f.isInstance=false;e=new window[e.type](d,e.id+"-section"+c.iterations,e.type,f);d.addComponent(e)});return d},relabelSectionInstances:function(a){$.each(a,function(b,c){if(b!==0){b=b+1;c=c.section.find(".jFormSectionTitle").children(":first");if(c.length>0)c.text().match(/(\([0-9]+\))$/)?c.text(c.text().replace(/(\([0-9]+\))$/,"("+b+")")):c.text(c.text()+" ("+b+")")}});this.parentJFormPage.jFormer.adjustHeight()},
addComponent:function(a){this.jFormComponents[a.id]=a;return this},clearValidation:function(){$.each(this.jFormComponents,function(a,b){b.clearValidation()})},getData:function(){var a=this;if(this.instanceArray.length>1){this.formData=[];$.each(this.instanceArray,function(b,c){var d={};$.each(c.jFormComponents,function(f,e){if(e.type!="JFormComponentLikertStatement"){f=f.replace(/-section[0-9]+/,"");d[f]=e.getData()}});a.formData.push(d)})}else{this.formData={};$.each(this.jFormComponents,function(b,
c){if(c.type!="JFormComponentLikertStatement")a.formData[b]=c.getData()})}return this.formData},setData:function(a){var b=this;$.isArray(a)?$.each(a,function(c,d){c!==0&&b.instanceArray[c]==undefined&&b.addSectionInstance();$.each(d,function(f,e){if(c!==0)f=f+"-section"+(c+1);b.instanceArray[c].jFormComponents[f]!=undefined&&b.instanceArray[c].jFormComponents[f].setData(e)})}):$.each(a,function(c,d){b.jFormComponents[c]!=undefined&&b.jFormComponents[c].setData(d)})}});
JFormComponent=Class.extend({init:function(a,b,c,d){this.options=$.extend({validationOptions:[],showErrorTipOnce:false,triggerFunction:null,dependencyDisplay:"hidden",dependencyConditionObject:null,instancesAllowed:1,instanceAddText:"Add Another",instanceRemoveText:"Remove",tipTargetPosition:"rightMiddle",tipCornerPosition:"leftTop",isInstance:false},d||{});this.parentJFormSection=a;this.id=b;this.component=$("#"+b+"-wrapper");this.formData=null;this.type=c;this.errorMessageArray=[];this.tip=null;
this.tipDiv=this.component.find("#"+this.id+"-tip");this.tipTarget=null;this.validationPassed=true;this.requiredCompleted=this.isRequired=this.disabledByDependency=false;this.validationFunctions={required:function(e){var g=["Required."];return e.value!=""?"success":g}};if(this.options.triggerFunction!==null){var f=this.options.triggerFunction;this.options.triggerFunction=function(){eval(f)}}if(this.options.isInstance)this.clone=this.instanceArray=null;else{if(this.options.instancesAllowed!=1){this.clone=
this.component.clone();this.iterations=1}else this.clone=null;this.instanceArray=[this];this.createInstanceButton()}this.initialize();this.reformValidations();this.addHighlightListeners();this.defineComponentChangedEventListener();this.catchComponentChangedEventListener();this.addDependencyListeners();$.trim(this.tipDiv.html())!==""&&this.addTip();this.addTipListeners()},addHighlightListeners:function(){var a=this;this.component.find(":input:not(button):not(hidden)").each(function(b,c){$(c).bind("focus",
function(){a.highlight()});$(c).bind("blur",function(){a.removeHighlight();if((a.type=="JFormComponentName"||a.type=="JFormComponentAddress")&&a.changed===true)a.validate()})});if(this.component.find("input:checkbox, input:radio").length>0){this.component.mouseenter(function(){a.highlight()});this.component.mouseleave(function(){a.removeHighlight()})}return this},reformValidations:function(){var a={},b=this;$.each(this.options.validationOptions,function(c,d){if(d=="required")b.isRequired=true;if(c>=
0)a[d]={component:b.component};else if(typeof d!="object"){a[c]={component:b.component};a[c][c]=d}else if(typeof d=="object"){if(d[0]!=undefined){a[c]={};a[c][c]=d}else a[c]=d;a[c].component=b.component}});this.options.validationOptions=a},defineComponentChangedEventListener:function(){var a=this;this.component.find("input:checkbox, input:radio").each(function(b,c){$(c).bind("click",function(){$(this).trigger("jFormComponent:changed",a)})});this.component.find(":input:not(button, :checkbox, :radio)").each(function(b,
c){$(c).bind("change",function(){$(this).trigger("jFormComponent:changed",a)})})},catchComponentChangedEventListener:function(){var a=this;this.component.bind("jFormComponent:changed",function(){a.options.triggerFunction!==null&&a.options.triggerFunction();if(a.type=="JFormComponentName"||a.type=="JFormComponentAddress"||a.type=="JFormComponentLikert")a.changed=true;a.parentJFormSection.parentJFormPage.jFormer.options.clientSideValidation&&a.validate();a.parentJFormSection.parentJFormPage.jFormer.options.progressBar!==
false&&a.parentJFormSection.parentJFormPage.jFormer.updateProgressBar()})},highlight:function(){this.component.addClass("jFormComponentHighlight").trigger("jFormComponent:highlighted",this.component);this.component.trigger("jFormComponent:showTip",this.component)},removeHighlight:function(){var a=this;this.component.removeClass("jFormComponentHighlight").trigger("jFormComponent:highlightRemoved",this.component);setTimeout(function(){a.component.hasClass("jFormComponentHighlight")||a.component.trigger("jFormComponent:hideTip",
a.component)},1)},getData:function(){var a=this;if(this.instanceArray.length>1){this.formData=[];$.each(this.instanceArray,function(b,c){b=c.getValue();a.formData.push(b)})}else this.formData=this.getValue();return this.formData},setData:function(a){var b=this;$.isArray(a)?$.each(a,function(c,d){if(b.type=="JFormComponentMultipleChoice"&&($.isArray(d)||b.multipeChoiceType=="radio")||b.type!="JFormComponentMultipleChoice"){c!==0&&b.instanceArray[c]==undefined&&b.addInstance();b.instanceArray[c].setValue(d)}else{b.setValue(a);
return false}}):this.setValue(a)},addDependencyListeners:function(){function a(d){d.each(function(f,e){$(e).bind("jFormComponent:changed",function(){b.checkDependencies()});$(e).is("input:text, textarea")&&$(e).bind("keyup",function(){b.checkDependencies()})})}var b=this,c;if(this.options.dependencyConditionObject){this.toggleDependencyLock(true);$.each(this.options.dependencyConditionObject,function(d,f){if(d=="and")$.each(f,function(e,g){c=g==":validate"||g==":required"?b.parentJFormSection.parentJFormPage.jFormer.form.find(":input[id^="+
e+"]"):$("#"+e);a(c)});else{c=f==":validate"||f==":required"?b.parentJFormSection.parentJFormPage.jFormer.form.find(":input[id^="+d+"]"):$("#"+d);a(c)}})}},toggleDependencyLock:function(a){var b=this.parentJFormSection.parentJFormPage.jFormer.getActivePage();if(a){this.disabledByDependency=true;if(this.options.dependencyDisplay=="hidden"){if(this.component.is(":visible")){this.component.hide();b!==null&&b.id==this.parentJFormSection.parentJFormPage.id&&this.parentJFormSection.parentJFormPage.jFormer.adjustHeight()}}else this.component.hasClass("jFormComponentDependencyDisabled")||
this.component.addClass("jFormComponentDependencyDisabled").find("input, select, textarea").each(function(c,d){d.disabled=true})}else{this.disabledByDependency=false;if(this.options.dependencyDisplay=="hidden"){if(this.component.is(":hidden")){this.component.show();this.parentJFormSection.parentJFormPage.jFormer.adjustHeight()}}else this.component.hasClass("jFormComponentDependencyDisabled")&&this.component.removeClass("jFormComponentDependencyDisabled").find("input, select, textarea").each(function(c,
d){d.disabled=false})}return this},checkDependencies:function(){var a=this,b=true;$.each(this.options.dependencyConditionObject,function(c,d){if(c=="and"){$.each(d,function(f,e){if(e==":required"&&!jFormerUtility.empty(a.parentJFormSection.parentJFormPage.jFormer.select(f).getValue())||e==":validate"&&a.parentJFormSection.parentJFormPage.jFormer.select(f).validate(true)||e==":checked"&&$("#"+f).is(":checked")==true||$("#"+f).val()==e)b=false;else{b=true;return false}});if(b===false)return false}else if(d==
":checked"&&$("#"+c).is("input:checked")||d==":required"&&!jFormerUtility.empty(a.parentJFormSection.parentJFormPage.jFormer.select(c).getValue())||d==":validate"&&a.parentJFormSection.parentJFormPage.jFormer.select(c).validate(true)||$("#"+c).val()==d)return b=false;else b=true});this.toggleDependencyLock(b);return this},createInstanceButton:function(){var a=this;if(this.options.instancesAllowed!=1){this.component.after('<button id="'+this.id+'-addInstance" class="jFormComponentAddInstanceButton">'+
this.options.instanceAddText+"</button>");this.parentJFormSection.section.find("#"+this.id+"-addInstance").bind("click",function(b){b.preventDefault();a.addInstance()})}},addInstance:function(){var a=this;if(this.instanceArray.length<this.options.instancesAllowed||this.options.instancesAllowed===0){var b=this.clone.clone(),c=this.parentJFormSection.section.find("#"+this.id+"-addInstance");$(b).append('<button id="'+this.id+'-removeInstance" class="jFormComponentRemoveInstanceButton">'+this.options.instanceRemoveText+
"</button>");b.find("#"+this.id+"-removeInstance").bind("click",function(d){var f=$(d.target);d.preventDefault();a.instanceArray=$.map(a.instanceArray,function(e){if(e.component.attr("id")==f.parent().attr("id")){e.tip!=null&&e.tip.hide();e=null}return e});f.parent().remove();f.remove();if(a.instanceArray.length<=a.options.instancesAllowed||a.options.instancesAllowed===0)c.show();a.relabelInstances(a.instanceArray)});c.before(b);this.nameInstance(b);this.instanceArray.push(this.createInstanceObject(b,
this.options));this.relabelInstances(this.instanceArray);this.instanceArray.length==this.options.instancesAllowed&&this.options.instancesAllowed!==0&&c.hide()}return this},nameInstance:function(a){function b(e,g){f=c($(e).attr(g));f==""?$(e).attr(g,$(e).attr(g)+"-instance"+d.iterations+f):$(e).attr(g,$(e).attr(g).replace(f,"-instance"+d.iterations+f))}function c(e){var g="";if(e.match(/\-(div|label|tip|removeInstance)\b/))g=e.match(/\-(div|label|tip|removeInstance)\b/)[0];return g}a=$(a);var d=this,
f="";this.iterations++;a.attr("id",a.attr("id").replace("-wrapper","-instance"+this.iterations+"-wrapper"));a.find("*").each(function(e,g){$(g).attr("id")&&b(g,"id");$(g).attr("for")&&b(g,"for");$(g).attr("name")&&b(g,"name")});return a},createInstanceObject:function(a,b){var c={};$.each(b,function(d,f){c[d]=f});c.isInstance=true;c.triggerFunction=null;return new window[this.type](this.parentJFormSection,this.id+"-instance"+this.iterations,this.type,c)},relabelInstances:function(a){$.each(a,function(b,
c){if(b!==0){b=b+1;var d=c.component.find("#"+c.component.attr("id").replace("-wrapper","-label"));if(d.length>0){c=d.find("span.jFormComponentLabelRequiredStar");c.length>0&&c.remove();if(d.html().match(/:$/))d.html(d.html().replace(/(\([0-9]+\))?:/," ("+b+"):"));else d.text().match(/(\([0-9]+\))$/)?d.text(d.text().replace(/(\([0-9]+\))$/,"("+b+")")):d.text(d.text()+" ("+b+")")}else{d=c.component.find("label");c=d.find("span.jFormComponentLabelRequiredStar");c.length>0&&c.remove();d.text().match(/(\([0-9]+\))$/)?
d.text(d.text().replace(/(\([0-9]+\))$/,"("+b+")")):d.text(d.text()+" ("+b+")")}d.append(c)}});this.parentJFormSection.parentJFormPage.jFormer.adjustHeight()},addTip:function(){var a=this;if(typeof this.tip!=="function")this.tip=this.tipTarget.simpletip({persistent:true,focus:true,position:"topRight",content:a.tipDiv,baseClass:"jFormerTip",hideEffect:"none",onBeforeShow:function(){if(a.tipDiv.find(".tipContent").text()=="")return false},onShow:function(){var b=$(window).height(),c=this.getTooltip().offset().top+
this.getTooltip().outerHeight()+12;$(window).scrollTop()+b<c&&$.scrollTo(c-b+"px",250,{axis:"y"})}}).simpletip()},addTipListeners:function(){var a=this;this.component.bind("jFormComponent:showTip",function(){a.tip&&typeof a.tip=="object"&&$.trim(a.tipDiv.html())!==""&&a.tip.show()});this.component.bind("jFormComponent:hideTip",function(){a.tip&&typeof a.tip=="object"&&a.tip.hide();a.options.showErrorTipOnce&&a.clearValidation()});return this},clearValidation:function(){this.errorMessageArray=[];this.validationPassed=
true;this.component.removeClass("jFormComponentValidationFailed");this.component.addClass("jFormComponentValidationPassed");this.component.find(".tipErrorUl").remove();if(this.tip&&typeof this.tip=="object"){this.tip.update(this.tipDiv.html());$.trim(this.tipDiv.find(".tipContent").html())==""&&this.tipDiv.hide()}},initialize:function(){},getValue:function(){},setValue:function(){},validate:function(a){if(this.options.validationOptions.length<1)return true;if(a)var b=true;var c=this;this.clearValidation();
var d=this.getValue();if(d===null)return true;$.each(this.options.validationOptions,function(f,e){e.value=d;e=c.validationFunctions[f](e);if(e=="success"){if(f.match("required"))c.requiredCompleted=true;return true}else{if(f.match("required")){c.requiredCompleted=false;c.parentJFormSection.parentJFormPage.jFormer.options.pageNavigator!=false&&$("#navigatePage"+(c.parentJFormSection.parentJFormPage.jFormer.currentJFormPageIdArrayIndex+1)).addClass("jFormPageNavigatorLinkWarning")}if(a)b=false;else $.merge(c.errorMessageArray,
e)}});if(a)return b;else{if(this.errorMessageArray.length>0){this.handleErrors();this.validationPassed=false}return this.validationPassed}},handleServerValidationResponse:function(a){$.each(this.instanceArray,function(b,c){c.clearValidation()});if(a!=null&&a.length>0)if(this.instanceArray.length!=1)$.each(this.instanceArray,function(b,c){if(!jFormerUtility.empty(a[b])){$.each(a[b],function(d,f){f!=""&&c.errorMessageArray.push(f)});if(c.errorMessageArray.length>0){c.validationPassed=false;c.handleErrors()}}});
else{this.errorMessageArray=a;this.validationPassed=false;this.handleErrors()}},handleErrors:function(){var a=this;this.component.removeClass("jFormComponentValidationPassed");this.component.addClass("jFormComponentValidationFailed");this.tipDiv.length==0&&this.createTipDiv();if(this.parentJFormSection.parentJFormPage.jFormer.options.validationTips){var b=$('<ul id="'+this.id+'-tipErrorUl" class="tipErrorUl"></ul>');$.each(this.errorMessageArray,function(c,d){b.append("<li>"+d+"</li>")});this.tipDiv.find(".tipContent").append(b);
this.tip.update(a.tipDiv.html());this.component.hasClass("jFormComponentHighlight")&&this.tip.show()}},createTipDiv:function(){this.tipDiv=$('<div id="'+this.id+'-tip" style="display: none;"></div>');this.component.append(this.tipDiv);this.addTip()}});
JFormComponentAddress=JFormComponent.extend({init:function(a,b,c,d){this._super(a,b,c,d)},initialize:function(){this.tipTarget=this.component;this.options.emptyValue&&this.addEmptyValues();this.validationFunctions={required:function(a){var b=[];a.value.addressLine1==""&&b.push(["Street Address is required."]);a.value.city==""&&b.push(["City is required."]);a.value.state==""&&b.push(["State is required."]);a.value.zip==""&&b.push(["Zip is required."]);a.value.country==""&&b.push(["Country is required."]);
return b.length<1?"success":b}};this.changed=false},setValue:function(a){var b=this;if(this.options.emptyValue){a.addressLine1!=this.options.emptyValue.addressLine1&&b.component.find(":input[id*=addressLine1]").removeClass("defaultValue").val(a.addressLine1).blur();a.addressLine2!=this.options.emptyValue.addressLine2&&b.component.find(":input[id*=addressLine2]").removeClass("defaultValue").val(a.addressLine2).blur();a.city!=this.options.emptyValue.city&&b.component.find(":input[id*=city]").removeClass("defaultValue").val(a.city).blur();
if(a.state!=this.options.emptyValue.state||this.options.emptyValue.state==undefined)b.component.find(":input[id*=state]").removeClass("defaultValue").val(a.state).blur();a.zip!=this.options.emptyValue.zip&&b.component.find(":input[id*=zip]").removeClass("defaultValue").val(a.zip).blur()}else{b.component.find(":input[id*=addressLine1]").val(a.addressLine1);b.component.find(":input[id*=addressLine2]").val(a.addressLine2);b.component.find(":input[id*=city]").val(a.city);b.component.find(":input[id*=state]").val(a.state);
b.component.find(":input[id*=zip]").val(a.zip)}b.component.find(":input[id*=country]").val(a.country);this.validate(true)},getValue:function(){if(this.disabledByDependency||this.parentJFormSection.disabledByDependency)return null;var a={},b=this;a.addressLine1=b.component.find(":input[id*=addressLine1]").val();a.addressLine2=b.component.find(":input[id*=addressLine2]").val();a.city=b.component.find(":input[id*=city]").val();a.state=b.component.find(":input[id*=state]").val();a.zip=b.component.find(":input[id*=zip]").val();
a.country=b.component.find(":input[id*=country]").val();this.component.find(":input").each(function(c,d){a[$(d).attr("id").replace(b.id+"-","")]=$(d).val()});if(this.options.emptyValue){if(a.addressLine1==this.options.emptyValue.addressLine1)a.addressLine1="";if(a.addressLine2==this.options.emptyValue.addressLine2)a.addressLine2="";if(a.city==this.options.emptyValue.city)a.city="";if(a.state==this.options.emptyValue.state)a.state="";if(a.zip==this.options.emptyValue.zip)a.zip=""}return a},validate:function(){var a=
this;this.changed||this._super();setTimeout(function(){if(!a.component.hasClass("jFormComponentHighlight")){if(a.options.validationOptions.length<1)return true;a.clearValidation();$.each(a.options.validationOptions,function(b,c){c.value=a.getValue();b=a.validationFunctions[b](c);if(b!="success"){$.merge(a.errorMessageArray,b);a.validationPassed=false}});a.errorMessageArray.length>0&&a.handleErrors();a.changed=false;return a.validationPassed}},1)},addEmptyValues:function(){var a=this;$.each(this.options.emptyValue,
function(b,c){b=a.component.find("input[id*="+b+"]");b.addClass("defaultValue");b.focus(function(d){if($.trim($(d.target).val())==c){$(d.target).val("");$(d.target).removeClass("defaultValue")}});b.blur(function(d){if($.trim($(d.target).val())==""){$(d.target).addClass("defaultValue");$(d.target).val(c)}});b.trigger("blur")})}});
JFormComponentDate=JFormComponent.extend({init:function(a,b,c,d){this._super(a,b,c,d)},initialize:function(){this.addCalendar();this.tipTarget=this.component.find(".jFormComponentDateSelector");if(this.tipTarget==undefined)this.tipTarget=this.component;if(this.options.validationOptions.length==0){this.options.validationOptions.push("date");this.reformValidations()}this.validationFunctions={required:function(a){var b=[];if(a.value.month==""||a.value.day==""||a.value.year==""||a.value==null)b.push(["Required."]);
return b.length<1?"success":b},date:function(a){var b=[],c=parseInt(a.value.month),d=parseInt(a.value.day),f=a.value.year,e=false;if(a.value.month==""||a.value.day==""||a.value.year=="")return true;f.match(/[\d]{4}/)||b.push(["you must enter a valid year."]);if(c<0||c>12)b.push(["you must enter a valid month."]);if(c==4||c==6||c==9||c==11){if(d>30)e=true}else if(c==2){f=parseInt(f);if(d>(f%4==0&&(f%100!=0||f%400==0)?29:28))e=true}if(d>31)e=true;e&&b.push(["you must enter a valid day."]);return b.length<
1?"success":b},teenager:function(a){var b=new Date(a.value.year,a.value.month,a.value.day),c=new Date;b=new Date(c.getFullYear()-13,c.getMonth(),c.getDate())-b;return a.value==""||b>=0?"success":"You must be at least 13 years old to use this site."}}},highlight:function(){var a=this;this.component.addClass("jFormComponentHighlight").trigger("jFormComponent:highlighted",this.component);setTimeout(function(){a.component.trigger("jFormComponent:showTip",a.component)},1)},addCalendar:function(){var a=
this.component.find("input:text");a.date_input();a.bind("keyup",function(b){b.keyCode==9||b.keyCode==27||b.keyCode==13||b.keyCode==33||b.keyCode==34||b.keyCode==38||b.keyCode==40||b.keyCode==37||b.keyCode==39||a.val().length==10&&a.trigger("change")})},getValue:function(){if(this.disabledByDependency||this.parentJFormSection.disabledByDependency)return null;var a={month:"",day:"",year:""},b=$("#"+this.id).val();if(b!=""){b=b.split(b.match(/[^\d]/));if(b[0]!=undefined)a.month=b[0];if(b[1]!=undefined)a.day=
b[1];if(b[2]!=undefined)a.year=b[2]}return a},setValue:function(a){function b(c){if(c==""||c=="undefined")return"";c=""+c;if(c.length==1)c="0"+c;return c}if(a==null||a.month=="undefined"||a.year=="undefined"||a.day=="undefined")$("#"+this.id).val("");else{$("#"+this.id).val(b(a.month)+"/"+b(a.day)+"/"+a.year);$("#"+this.id).val()=="//"&&$("#"+this.id).val("");this.validate(true)}}});
JFormComponentDropDown=JFormComponent.extend({init:function(a,b,c,d){this._super(a,b,c,d)},initialize:function(){this.tipTarget=this.component.find("select:last")},getValue:function(){if(this.disabledByDependency||this.parentJFormSection.disabledByDependency)return null;return $("#"+this.id).val()},setValue:function(a){$("#"+this.id).val(a).trigger("jFormComponent:changed");this.validate(true)}});
JFormComponentFile=JFormComponent.extend({init:function(a,b,c,d){this._super(a,b,c,d)},initialize:function(){var a=this.component.find("button").parent();if(a.length<1)a=this.component.find("input:file");this.tipTarget=a;this.options.customStyle&&this.setOnChange();this.validationFunctions={required:function(b){var c=["Required."];return b.value!=""?"success":c},extension:function(b){var c=["Must have the ."+b.extension+" extension."],d=new RegExp("\\."+b.extension+"$");return b.value==""||b.value.match(d)?
"success":c},extensionType:function(b){var c,d=["Incorrect file type."];if($.isArray(b.extensionType))c=new RegExp("\\.("+b.extensionType.join("|")+")$");else{c={};c.image="\\.(bmp|gif|jpg|png|psd|psp|thm|tif)$";c.document="\\.(doc|docx|log|msg|pages|rtf|txt|wpd|wps)$";c.audio="\\.(aac|aif|iff|m3u|mid|midi|mp3|mpa|ra|wav|wma)$";c.video="\\.(3g2|3gp|asf|asx|avi|flv|mov|mp4|mpg|rm|swf|vob|wmv)$";c.web="\\.(asp|css|htm|html|js|jsp|php|rss|xhtml)$";c=new RegExp(c[b.extensionType]);d=["Must be an "+b.extensionType+
" file type."]}return b.value==""||b.value.match(c)?"success":d},size:function(){return true},imageDimensions:function(){return true},minImageDimensions:function(){return true}}},setOnChange:function(){var a=this;this.component.find("input:file").change(function(b){b=b.target.value.replace(/.+\\/,"");a.component.find("input:text").val(b)})},setValue:function(){return false},getValue:function(){if(this.disabledByDependency||this.parentJFormSection.disabledByDependency)return null;return this.component.find("input:file").val()},
validate:function(){this._super()}});JFormComponentHidden=JFormComponent.extend({init:function(a,b,c,d){this._super(a,b,c,d)},getValue:function(){if(this.disabledByDependency||this.parentJFormSection.disabledByDependency)return null;return $("#"+this.id).val()},validate:function(){this._super()}});
JFormComponentLikert=JFormComponent.extend({init:function(a,b,c,d){this._super(a,b,c,d)},initialize:function(){var a=this;this.changed=false;this.tipTarget=this.component;this.statementComponentArray={};$.each(this.options.statementArray,function(b,c){if(!jFormerUtility.empty(a.options.validationOptions))c.validationOptions=a.options.validationOptions;c=new JFormComponentLikertStatement(a.parentJFormSection,b,"JFormComponentLikertStatement",c);c.id=a.id+"-"+c.id;a.parentJFormSection.addComponent(c);
a.statementComponentArray[b]=c})},clearValidation:function(){$.each(this.statementComponentArray,function(a,b){b.clearValidation()})},setValue:function(){},catchComponentChangedEventListener:function(){return null},addHighlightListeners:function(){return null},defineComponentChangedEventListener:function(){return null},addTipListeners:function(){return null},getValue:function(){var a={};$.each(this.statementComponentArray,function(b,c){a[b]=c.getValue()});return a},handleErrors:function(){return true},
handleServerValidationResponse:function(a){var b=this;a.length>0&&$.each(this.instanceArray,function(c,d){$.each(a,function(f,e){$.each(e,function(g,i){g=b.parentJFormSection.jFormComponents[d.id+"-"+g];if(g!=undefined){g.errorMessageArray=[i];g.validationPassed=false;g.handleErrors()}})})})},validate:function(){return true}});
JFormComponentLikertStatement=JFormComponent.extend({init:function(a,b,c,d){this._super(a,b,c,d)},initialize:function(){this.changed=false;this.tipTarget=this.component=$("input[name="+this.id+"]:first").closest("tr");this.tipDiv=this.component.find("div.jFormComponentLikertStatementTip");this.validationFunctions={required:function(a){var b=["Required."];return a.value.length>0?"success":b}}},setValue:function(a){this.component.find("input").val([a]);this.validate(true)},validate:function(){this._super()},
getValue:function(){if(this.disabledByDependency||this.parentJFormSection.disabledByDependency)return null;var a=this.component.find("input:checked");return a=a.length>0?a.val():""}});
JFormComponentMultipleChoice=JFormComponent.extend({init:function(a,b,c,d){this._super(a,b,c,d)},initialize:function(){this.tipTarget=this.component;this.addChoiceTips();this.validationFunctions={required:function(a){var b=["Required."];return a.value.length>0?"success":b},minOptions:function(a){var b=["You must select more than "+a.minOptions+" options"];return a.value.length==0||a.value.length>a.minOptions?"success":b},maxOptions:function(a){var b=["You may select up to "+a.maxOptions+" options. You have selected "+
a.value.length+"."];return a.value.length==0||a.value.length<=a.maxOptions?"success":b}}},addChoiceTips:function(){var a=this.component.find("div.jFormComponentMultipleChoiceTip");a.length>0&&a.each(function(b,c){b=$(c).prev("label").find(".jFormComponentMultipleChoiceTipIcon");if(b.length==0)b=$(c).parent();b.simpletip({position:"topRight",content:$(c),baseClass:"jFormerTip jFormComponentMultipleChoiceTip",hideEffect:"none"})})},getValue:function(){if(this.disabledByDependency||this.parentJFormSection.disabledByDependency)return null;
var a;if(this.options.multipleChoiceType=="checkbox"){a=[];this.component.find("input:checked").each(function(b,c){a.push($(c).val())})}else a=this.component.find("input:checked").length>0?this.component.find("input:checked").val():"";return a},setValue:function(a){var b=this;if(this.options.multipleChoiceType=="checkbox")$.each(a,function(c,d){b.component.find("input[value='"+d+"']").attr("checked","checked").trigger("jFormComponent:changed")});else{this.component.find("input[value='"+a+"']").attr("checked",
"checked").trigger("jFormComponent:changed");a==null&&this.component.find("input").attr("checked",false).trigger("jFormComponent:changed")}this.validate(true)}});
JFormComponentName=JFormComponent.extend({init:function(a,b,c,d){this._super(a,b,c,d)},initialize:function(){this.tipTarget=this.component.find("input:last");this.options.emptyValue&&this.addEmptyValues();this.changed=false;this.validationFunctions={required:function(a){var b=[];a.value.firstName==""&&b.push(["First name is required."]);a.value.lastName==""&&b.push(["Last name is required."]);return b.length<1?"success":b}}},setValue:function(a){var b=this;if(this.options.emptyValue){a.firstName!=
b.options.emptyValue.firstName&&b.component.find("input[id*=firstName]").removeClass("defaultValue").val(a.firstName).blur();b.component.find("input[id*=middleInitial]").removeClass("defaultValue").val(a.middleInitial).blur();a.lastName!=b.options.emptyValue.lastName&&b.component.find("input[id*=lastName]").removeClass("defaultValue").val(a.lastName).blur()}else{b.component.find("input[id*=firstName]").val(a.firstName);b.component.find("input[id*=middleInitial]").val(a.middleInitial);b.component.find("input[id*=lastName]").val(a.lastName)}this.validate(true)},
getValue:function(){if(this.disabledByDependency||this.parentJFormSection.disabledByDependency)return null;var a={};a.firstName=this.component.find("input[id*=firstName]").val();a.middleInitial=this.component.find("input[id*=middleInitial]").val();a.lastName=this.component.find("input[id*=lastName]").val();if(this.options.emptyValue){if(a.firstName==this.options.emptyValue.firstName)a.firstName="";if(this.component.find("input[id$=middleInitial]").hasClass("defaultValue"))a.middleInitial="";if(a.lastName==
this.options.emptyValue.lastName)a.lastName=""}return a},validate:function(){var a=this;this.changed||this._super();setTimeout(function(){if(!a.component.hasClass("jFormComponentHighlight")){if(a.options.validationOptions.length<1)return true;a.clearValidation();$.each(a.options.validationOptions,function(b,c){c.value=a.getValue();b=a.validationFunctions[b](c);if(b!="success"){$.merge(a.errorMessageArray,b);a.validationPassed=false}});a.errorMessageArray.length>0&&a.handleErrors();a.changed=false;
return a.validationPassed}},1)},addEmptyValues:function(){var a=this;$.each(this.options.emptyValue,function(b,c){b=a.component.find("input[id*="+b+"]");b.addClass("defaultValue");b.focus(function(d){if($.trim($(d.target).val())==c){$(d.target).val("");$(d.target).removeClass("defaultValue")}});b.blur(function(d){if($.trim($(d.target).val())==""){$(d.target).addClass("defaultValue");$(d.target).val(c)}});b.trigger("blur")})}});
JFormComponentSingleLineText=JFormComponent.extend({init:function(a,b,c,d){this._super(a,b,c,d)},initialize:function(){this.tipTarget=this.component.find("input:last");this.enterSubmits=false;this.options.mask&&this.addMask();this.options.emptyValue&&this.addEmptyValue();this.component.find("input:password").length==1&&this.options.showStrength&&this.addPasswordStrength();this.validationFunctions={alpha:function(a){var b=["Must only contain letters."];return a.value==""||a.value.match(/^[A-Za-z]+$/i)?
"success":b},alphaDecimal:function(a){var b=["Must only contain letters, numbers, or periods."];return a.value==""||a.value.match(/^[A-Za-z0-9\.]+$/i)?"success":b},alphaNumeric:function(a){var b=["Must only contain letters or numbers."];return a.value==""||a.value.match(/^[A-Za-z0-9]+$/i)?"success":b},blank:function(a){var b=["Must be blank."];return $.trim(a.value).length==0?"success":b},canadianPostal:function(a){var b=["Must be a valid Canadian postal code."];return a.value==""||a.value.match(/^[ABCEGHJKLMNPRSTVXY][0-9][A-Z] [0-9][A-Z][0-9]$/)?
"success":b},date:function(a){var b=["Must be a date in the mm/dd/yyyy format."];return a.value==""||a.value.match(/^(0?[1-9]|1[012])[\- \/.](0?[1-9]|[12][0-9]|3[01])[\- \/.](19|20)[0-9]{2}$/)?"success":b},dateTime:function(a){var b=["Must be a date in the mm/dd/yyyy hh:mm:ss tt format. ss and tt are optional."];return a.value==""||a.value.match(/^(0?[1-9]|1[012])[\- \/.](0?[1-9]|[12][0-9]|3[01])[\- \/.](19|20)?[0-9]{2} [0-2]?\d:[0-5]\d(:[0-5]\d)?( ?(a|p)m)?$/i)?"success":b},decimal:function(a){var b=
["Must be a number without any commas. Decimal is optional."];return a.value==""||a.value.match(/^-?((\d+(\.\d+)?)|(\.\d+))$/)?"success":b},decimalNegative:function(a){var b=["Must be a negative number without any commas. Decimal is optional."],c=this.decimal(a);return a.value==""||c=="success"&&parseFloat(a.value)<0?"success":b},decimalPositive:function(a){var b=["Must be a positive number without any commas. Decimal is optional."],c=this.decimal(a);return a.value==""||c=="success"&&parseFloat(a.value)>
0?"success":b},decimalZeroNegative:function(a){var b=["Must be zero or a negative number without any commas. Decimal is optional."],c=self.validations.decimal({value:a.value});return a.value==""||c=="success"&&parseFloat(a.value)<=0?"success":b},decimalZeroPositive:function(a){var b=["Must be zero or a positive number without any commas. Decimal is optional."],c=this.decimal(a);return a.value==""||c=="success"&&parseFloat(a.value)>=0?"success":b},email:function(a){var b=["Must be a valid e-mail address."];
return a.value==""||a.value.match(/^[A-Z0-9._%-\+]+@(?:[A-Z0-9\-]+\.)+[A-Z]{2,4}$/i)?"success":b},integer:function(a){var b=["Must be a whole number."];return a.value==""||a.value.match(/^-?\d+$/)?"success":b},integerNegative:function(a){var b=["Must be a negative whole number."],c=this.integer(a);return a.value==""||c=="success"&&parseInt(a.value,10)<0?"success":b},integerPositive:function(a){var b=["Must be a positive whole number."],c=this.integer(a);return a.value==""||c=="success"&&parseInt(a.value,
10)>0?"success":b},integerZeroNegative:function(a){var b=["Must be zero or a negative whole number."],c=this.integer(a);return a.value==""||c=="success"&&parseInt(a.value,10)<=0?"success":b},integerZeroPositive:function(a){var b=["Must be zero or a positive whole number."],c=this.integer(a);return a.value==""||c=="success"&&parseInt(a.value,10)>=0?"success":b},isbn:function(a){var b=["Must be a valid ISBN and consist of either ten or thirteen characters."];if(a.value.match(/^(?=.{13}$)\d{1,5}([\- ])\d{1,7}\1\d{1,6}\1(\d|X)$/))b=
"sucess";if(a.value.match(/^\d{9}(\d|X)$/))b="sucess";if(a.value.match(/^(?=.{17}$)\d{3}([\- ])\d{1,5}\1\d{1,7}\1\d{1,6}\1(\d|X)$/))b="sucess";if(a.value.match(/^\d{3}[\- ]\d{9}(\d|X)$/))b="sucess";if(a.value.match(/^\d{12}(\d|X)$/))b="sucess";return b},length:function(a){var b=["Must be exactly "+a.length+" characters long. Current value is "+a.value.length+" characters."];return a.value==""||a.value.length==a.length?"success":b},matches:function(a){var b=["Does not match."],c=a.matches;if(a.sectionInstances){var d=
a.component.attr("id").match(/-section[\d]+/);if(d)c=a.matches+d}return a.value==$("#"+c).val()?"success":b},maxLength:function(a){var b=["Must be less than "+a.maxLength+" characters long. Current value is "+a.value.length+" characters."];return a.value==""||a.value.length<=a.maxLength?"success":b},maxFloat:function(a){var b="Must be numeric and cannot have more than "+a.maxFloat+" decimal place(s).",c=new RegExp("^-?((\\d+(\\.\\d{0,"+a.maxFloat+"})?)|(\\.\\d{0,"+a+"}))$");return a.value==""||a.value.match(c)?
"success":b},minLength:function(a){var b=["Must be at least "+a.minLength+" characters long. Current value is "+a.value.length+" characters."];return a.value==""||a.value.length>=a.minLength?"success":b},money:function(a){var b=["Must be a valid dollar value."];return a.value==""||a.value.match(/^((-?\$)|(\$-?)|(-))?((\d+(\.\d{2})?)|(\.\d{2}))$/)?"success":b},moneyNegative:function(a){var b=["Must be a valid negative dollar value."];return a.value==""||a.value.match(/^((-?\$)|(\$-?)|(-))?((\d+(\.\d{2})?)|(\.\d{2}))$/)&&
RegExp.$5<0?"success":b},moneyPositive:function(a){var b=["Must be a valid positive dollar value."];return a.value==""||a.value.match(/^((-?\$)|(\$-?)|(-))?((\d+(\.\d{2})?)|(\.\d{2}))$/)&&RegExp.$5>0?"success":b},moneyZeroNegative:function(a){var b=["Must be zero or a valid negative dollar value."];return a.value==""||a.value.match(/^((-?\$)|(\$-?)|(-))?((\d+(\.\d{2})?)|(\.\d{2}))$/)&&RegExp.$5<=0?"success":b},moneyZeroPositive:function(a){var b=["Must be zero or a valid positive dollar value."];
return a.value==""||a.value.match(/^((-?\$)|(\$-?)|(-))?((\d+(\.\d{2})?)|(\.\d{2}))$/)&&RegExp.$5>=0?"success":b},password:function(a){var b=["Must be between 4 and 32 characters."];return a.value==""||a.value.match(/^.{4,32}$/)?"success":b},phone:function(a){var b=["Must be a 10 digit phone number."];return a.value==""||a.value.match(/^(1[\-. ]?)?\(?[0-9]{3}\)?[\-. ]?[0-9]{3}[\-. ]?[0-9]{4}$/)?"success":b},postalZip:function(a){var b=["Must be a valid United States zip code, Canadian postal code, or United Kingdom postal code."];
return a.value==""||this.zip(a)=="success"||this.canadianPostal(a)=="success"||this.ukPostal()=="success"?"success":b},required:function(a){var b=["Required."];return a.value!=""?"success":b},serverSide:function(a){if(a.value=="")return"success";var b=[];a.component.addClass("jFormComponentServerSideCheck");$.ajax({url:a.url,type:"post",data:{task:a.task,value:a.value},dataType:"json",cache:false,async:false,success:function(c){if(c.status!="success")b=c.response;a.component.removeClass("jFormComponentServerSideCheck")},
error:function(c,d,f){if(d!="error")f=d?d:"Unknown error";b=["There was an error during server side validation: "+f];a.component.removeClass("jFormComponentServerSideCheck")}});return b.length<1?"success":b},ssn:function(a){var b=["Must be a valid United States social security number."];return a.value==""||a.value.match(/^\d{3}-?\d{2}-?\d{4}$/i)?"success":b},teenager:function(a){var b=new Date(a.value),c=new Date;b=new Date(c.getFullYear()-13,c.getMonth(),c.getDate())-b;return a.value==""||b>=0?"success":
"Must be at least 13 years old."},time:function(a){var b=["Must be a time in the hh:mm:ss tt format. ss and tt are optional."];return a.value==""||a.value.match(/^[0-2]?\d:[0-5]\d(:[0-5]\d)?( ?(a|p)m)?$/i)?"success":b},ukPostal:function(a){var b=["Must be a valid United Kingdom postal code."];return a.value==""||a.value.match(/^[A-Z]{1,2}[0-9][A-Z0-9]? [0-9][ABD-HJLNP-UW-Z]{2}$/)?"success":b},url:function(a){var b=["Must be a valid Internet address."];return a.value==""||a.value.match(/^((ht|f)tp(s)?:\/\/|www\.)?([\-A-Z0-9.]+)(\.[a-zA-Z]{2,4})(\/[\-A-Z0-9+&@#\/%=~_|!:,.;]*)?(\?[\-A-Z0-9+&@#\/%=~_|!:,.;]*)?$/i)?
"success":b},username:function(a){var b=["Must use 4 to 32 characters and start with a letter."];return a.value==""||a.value.match(/^[A-Za-z](?=[A-Za-z0-9_.]{3,31}$)[a-zA-Z0-9_]*\.?[a-zA-Z0-9_]*$/)?"success":b},zip:function(a){var b=["Must be a valid United States zip code."];return a.value==""||a.value.match(/^[0-9]{5}(?:-[0-9]{4})?$/)?"success":b}}},addMask:function(){this.component.find("input").mask("?"+this.options.mask,{placeholder:" "})},addPasswordStrength:function(){var a=this,b=this.component,
c="<p id='"+this.id+"-strength' > Strength: <b> "+this.getPasswordStrength().strength+" </b> </p>";b.find("div.jFormComponentTip").append(c);b.find("input:password").bind("keyup",function(){b.find("#"+a.id+"-strength b").text(a.getPasswordStrength().strength);a.tip.update(b.find("div.jFormComponentTip").html())})},getPasswordStrength:function(){var a=this.getValue(),b=0,c="None";if(a.length>=6)b+=1;if(a.length>=10)b+=1;if(a.match(/[a-z]/))b+=1;if(a.match(/[A-Z]/))b+=1;if(a.match(/\d+/))b+=1;if(a.match(/(\d.*\d)/))b+=
1;if(a.match(/[!,@#$%\^&*?_~]/))b+=1;if(a.match(/([!,@#$%\^&*?_~].*[!,@#$%\^&*?_~])/))b+=1;if(a.match(/[a-z]/)&&a.match(/[A-Z]/))b+=1;if(a.match(/\d/)&&a.match(/\D/))b+=1;if(a.match(/[a-z]/)&&a.match(/[A-Z]/)&&a.match(/\d/)&&a.match(/[!,@#$%\^&*?_~]/))b+=1;if(b===0)c="None";else if(b<=1)c="Very Weak";else if(b<=3)c="Weak";else if(b<=5)c="Good";else if(b<=7)c="Strong";else if(b>7)c="Very Strong";return{score:b,strength:c}},getValue:function(){if(this.disabledByDependency||this.parentJFormSection.disabledByDependency)return null;
var a=$("#"+this.id).val();return this.options.emptyValue?a==this.options.emptyValue?"":a:a},setValue:function(a){$("#"+this.id).val(a).removeClass("defaultValue");this.validate(true)},addEmptyValue:function(){var a=this.options.emptyValue,b=this.component.find("input");b.addClass("defaultValue");b.val(a);var c="";b.focus(function(d){c=$(d.target);if($.trim(c.val())==a){c.val("");c.removeClass("defaultValue")}});b.blur(function(d){c=$(d.target);if($.trim(c.val())==""){c.addClass("defaultValue");c.val(a)}})}});
JFormComponentTextArea=JFormComponent.extend({init:function(a,b,c,d){this._super(a,b,c,d);this.options.allowTabbing&&this.allowTabbing();this.options.emptyValue&&this.addEmptyValue();this.options.autoGrow&&this.addAutoGrow()},initialize:function(){this.tipTarget=this.component.find("textarea");this.options.emptyValue&&this.addEmptyValue()},allowTabbing:function(){this.component.find("textarea").bind("keydown",function(a){if(a!=null)if(a.keyCode==9){if(this.setSelectionRange){var b=this.selectionStart,
c=this.selectionEnd;this.value=this.value.substring(0,b)+"\t"+this.value.substr(c);this.setSelectionRange(b+1,b+1);this.focus()}else if(this.createTextRange){document.selection.createRange().text="\t";a.returnValue=false}a.preventDefault&&a.preventDefault();return false}})},addEmptyValue:function(){var a=this.options.emptyValue,b=this.component.find("textarea");b.addClass("defaultValue");b.val(a);var c="";b.focus(function(d){c=$(d.target);if($.trim(c.val())==a){c.val("");c.removeClass("defaultValue")}});
b.blur(function(d){c=$(d.target);if($.trim(c.val())==""){c.addClass("defaultValue");c.val(a)}})},addAutoGrow:function(){var a=this,b=this.component.find("textarea"),c=b.height();b.css("lineHeight");var d=$("<div></div>").css({position:"absolute",top:-10000,left:-10000,width:b.width()-parseInt(b.css("paddingLeft"))-parseInt(b.css("paddingRight")),fontSize:b.css("fontSize"),fontFamily:b.css("fontFamily"),lineHeight:b.css("lineHeight"),resize:"none"}).appendTo(document.body),f=function(){var e=function(i,
h){for(var l=0,k="";l<h;l++)k+=i;return k},g=b.val().replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/&/g,"&amp;").replace(/\n$/,"<br/>&nbsp;").replace(/\n/g,"<br/>").replace(/ {2,}/g,function(i){return e("&nbsp;",i.length-1)+" "});d.html(g);b.css("height",Math.max(d.height()+20,c));a.parentJFormSection.parentJFormPage.jFormer.currentJFormPage&&a.parentJFormSection.parentJFormPage.jFormer.adjustHeight(0)};$(b).change(f).keyup(f).keydown(f);f.apply(b);return this},getValue:function(){if(this.disabledByDependency||
this.parentJFormSection.disabledByDependency)return null;var a=$("#"+this.id).val();return this.options.emptyValue?a==this.options.emptyValue?"":a:a},setValue:function(a){$("#"+this.id).val(a);this.validate(true)}});