jQuery.fn.uniform=function(a){a=jQuery.extend({valid_class:"valid",invalid_class:"invalid",error_class:"error",focused_class:"focused",holder_class:"ctrlHolder",field_selector:"input, textarea, select",default_value_color:"#AFAFAF"},a);return this.each(function(){var b=jQuery(this),c=function(g,e,f){var d=g.closest("div."+a.holder_class).andSelf().toggleClass(a.invalid_class,!e).toggleClass(a.error_class,!e).toggleClass(a.valid_class,e).find("p.formHint");if(!e&&!d.data("info-text")){d.data("info-text",d.html())}else{if(e){f=d.data("info-text")}}if(f){d.html(f)}};b.submit(function(){b.find(a.field_selector).each(function(){if($(this).val()==$(this).data("default-value")){$(this).val("")}})});b.find(a.field_selector).each(function(){var e=$(this),d=e.val();e.data("default-color",e.css("color"));if(d==e.data("default-value")||!d){e.not("select").css("color",a.default_value_color);e.val(e.data("default-value"))}});b.delegate(a.field_selector,"focus",function(){b.find("."+a.focused_class).removeClass(a.focused_class);var d=$(this);d.parents().filter("."+a.holder_class+":first").addClass(a.focused_class);if(d.val()==d.data("default-value")){d.val("")}d.not("select").css("color",d.data("default-color"))});b.delegate(a.field_selector,"blur",function(){var d=$(this);b.find("."+a.focused_class).removeClass(a.focused_class);if(d.val()==""||d.val()==d.data("default-value")){d.not("select").css("color",a.default_value_color);d.val(d.data("default-value"))}else{d.css("color",d.data("default-color"))}});b.delegate(a.field_selector,"error",function(d,f){c($(this),false,f)});b.delegate(a.field_selector,"success",function(d,f){c($(this),true)})})};jQuery.fn.uniform=function(g){var b=this;var d=jQuery.extend(jQuery.fn.uniform.defaults,g);var a=jQuery.fn.uniform.language;this.validators={get_val:function(j,l,h){var n=h;l=l.split(" ");for(var k=0;k<l.length;k++){if(l[k]==j){if((l[k+1]!="undefined")&&("val-"===l[k+1].substr(0,4))){n=parseInt(l[k+1].substr(4),10);return n}}}return n},required:function(j,h){if(j.is(":radio")){var i=j.attr("name");if($("input[name="+i+"]:checked").length){return true}return e("req_radio",h)}if(j.is(":checkbox")){var i=j.attr("name");if(j.is(":checked")){return true}return e("req_checkbox",h)}if(jQuery.trim(j.val())==""){return e("required",h)}return true},validateMinLength:function(j,h){var i=this.get_val("validateMinLength",j.attr("class"),0);if((i>0)&&(j.val().length<i)){return e("minlength",h,i)}return true},validateMin:function(j,h){var i=this.get_val("validateMin",j.attr("class"),0);if((parseInt(j.val(),10)<i)){return e("min",h,i)}return true},validateMaxLength:function(i,h){var j=this.get_val("validateMaxLength",i.attr("class"),0);if((j>0)&&(i.val().length>j)){return e("maxlength",h,j)}return true},validateMax:function(j,h){var i=this.get_val("validateMax",j.attr("class"),0);if((parseInt(j.val(),10)>i)){return e("max",h,i)}return true},validateSameAs:function(o,h){var n=o.attr("class").split(" ");var l="";for(var k=0;k<n.length;k++){if(n[k]=="validateSameAs"){if(n[k+1]!="undefined"){l=n[k+1];break}}}if(l){var j=jQuery('input[name="'+l+'"]');if(j.length>0){if(j.val()!=o.val()){var q=j.closest("div."+d.holder_class).find("label").text().replace("*","");return e("same_as",h,q)}}}return true},validateEmail:function(i,h){if(i.val().match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)){return true}else{return e("email",h)}},validateUrl:function(i,h){if(i.val().match(/^(http|https|ftp):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/?/i)){return true}return e("url",h)},validateNumber:function(i,h){if(i.val().match(/(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/)||i.val()==""){return true}return e("number",h)},validateInteger:function(i,h){if(i.val().match(/(^-?\d\d*$)/)||i.val()==""){return true}return e("integer",h)},validateAlpha:function(i,h){if(i.val().match(/^[a-zA-Z]+$/)){return true}return e("alpha",h)},validateAlphaNum:function(i,h){if(i.val().match(/\W/)){return e("alphanum",h)}return true
},validatePhrase:function(i,h){if((i.val()=="")||i.val().match(/^[\w\d\.\-_\(\)\*'# :,]+$/i)){return true}return e("phrase",h)},validatePhone:function(i,h){phoneNumber=/^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/;if(phoneNumber.test(i.val())){return true}return e("phone",h)},validateDate:function(i,h){if(i.val().match("(1[0-9]|[1-9])/([1-3][0-9]|[1-9])/((19|20)[0-9][0-9]|[0-9][0-9])")){return true}return e("date",h)},validateCallback:function(n,h){var k=n.attr("class").split(" ");var l="";for(var j=0;j<k.length;j++){if(k[j]=="validateCallback"){if(k[j+1]!="undefined"){l=k[j+1];break}}}if(window[l]!="undefined"&&(typeof window[l]=="function")){return window[l](n,h)}return e("callback",h,l)}};var e=function(h){var j=a[h];var o=j.split("%");var k=o[0];var n=/^([ds])(.*)$/;for(var l=1;l<o.length;l++){p=n.exec(o[l]);if(!p||arguments[l]==null){continue}if(p[1]=="d"){k+=parseInt(arguments[l],10)}else{if(p[1]=="s"){k+=arguments[l]}}k+=p[2]}return k};var f=function(i,j,h){if($("#errorMsg").length){$("#errorMsg").remove()}$message=$("<div />").attr("id","errorMsg").html("<h3>"+j+"</h3>");if(h.length){$message.append($("<ol />"));for(m in h){$("ol",$message).append($("<li />").text(h[m]))}}i.prepend($message);$("html, body").animate({scrollTop:i.offset().top},500);$("#errorMsg").slideDown();return false};var c=function(i,j,h){if($("#okMsg").length){$("#okMsg").remove()}$message=$("<div />").attr("id","okMsg").html("<h3>"+j+"</h3>");i.prepend($message);$("html, body").animate({scrollTop:i.offset().top},500);$("#okMsg").slideDown();return false};return this.each(function(){var h=jQuery(this);var j=function(o,l,n){var k=o.closest("div."+d.holder_class).andSelf().toggleClass(d.invalid_class,!l).toggleClass(d.error_class,!l).toggleClass(d.valid_class,l).find("p.formHint");if(!l&&!k.data("info-text")){k.data("info-text",k.html())}else{if(l){n=k.data("info-text")}}if(n){k.html(n)}};h.find(d.field_selector).each(function(){var l=$(this),k=l.val();l.data("default-color",l.css("color"));if(k===l.data("default-value")||!k){l.not("select").css("color",d.default_value_color);l.val(l.data("default-value"))}});if(d.ask_on_leave||h.hasClass("askOnLeave")){var i=h.serialize();$(window).bind("beforeunload",function(k){if((i!=h.serialize())&&(d.ask_on_leave||h.hasClass("askOnLeave"))){return($.isFunction(d.on_leave_callback))?d.on_leave_callback(h):confirm(e("on_leave"))}})}h.submit(function(){h.removeClass("failedSubmit");h.find(d.field_selector).each(function(){if($(this).val()===$(this).data("default-value")){$(this).val("")}});if(d.prevent_submit||h.hasClass("preventSubmit")){h.find(d.field_selector).each(function(){$(this).blur()});if(h.find("."+d.invalid_class).add("."+d.error_class).length){h.addClass("failedSubmit");return($.isFunction(d.prevent_submit_callback))?d.prevent_submit_callback(h):f(h,e("submit_msg"),[e("submit_help")])}d.ask_on_leave=false;h.removeClass("askOnLeave");return true}if(h.parents("#qunit-fixture").length){return false}d.ask_on_leave=false;h.removeClass("askOnLeave");return true});h.delegate(d.field_selector,"focus",function(){h.find("."+d.focused_class).removeClass(d.focused_class);var k=$(this);k.parents().filter("."+d.holder_class+":first").addClass(d.focused_class);if(k.val()===k.data("default-value")){k.val("")}k.not("select").css("color",k.data("default-color"))});h.delegate(d.field_selector,"blur",function(){var o=$(this);var k=$(this).closest("div."+d.holder_class).find("label").text().replace("*","");h.find("."+d.focused_class).removeClass(d.focused_class);if((o.val()===""||o.val()===o.data("default-value"))&&!o.hasClass("required")){o.not("select").css("color",d.default_value_color);o.val(o.data("default-value"));return}var n=false;for(validator in b.validators){if(o.hasClass(validator)){n=true;var l=b.validators[validator](o,k);if(typeof(l)=="string"){o.trigger("error",l);return}}}if(n){o.trigger("success")}o.css("color",o.data("default-color"));return});h.delegate(d.field_selector,"error",function(k,l){j($(this),false,l)
});h.delegate(d.field_selector,"success",function(k,l){j($(this),true)})})};jQuery.fn.uniform.language={required:"%s is required",req_radio:"Please make a selection",req_checkbox:"You must select this checkbox to continue",minlength:"%s should be at least %d characters long",min:"%s should be greater than or equal to %d",maxlength:"%s should not be longer than %d characters",max:"%s should be less than or equal to %d",same_as:"%s is expected to be same as %s",email:"%s is not a valid email address",url:"%s is not a valid URL",number:"%s needs to be a number",integer:"%s needs to be a whole number",alpha:"%s should contain only letters (without special characters or numbers)",alphanum:"%s should contain only numbers and letters (without special characters)",phrase:"%s should contain only alphabetic characters, numbers, spaces, and the following: . , - _ () * # :",phone:"%s should be a phone number",date:"%s should be a date (mm/dd/yyyy)",callback:"Failed to validate %s field. Validator function (%s) is not defined!",on_leave:"Are you sure you want to leave this page without saving this form?",submit_msg:"Sorry, this form needs corrections.",submit_help:"Please see the items marked below.",submit_success:"Thank you, this form has been sent."};jQuery.fn.uniform.defaults={prevent_submit:false,prevent_submit_callback:false,ask_on_leave:false,on_leave_callback:false,valid_class:"valid",invalid_class:"invalid",error_class:"error",focused_class:"focused",holder_class:"ctrlHolder",field_selector:"input, textarea, select",default_value_color:"#AFAFAF"};(function(ab){var T=ab(window),ad,at,S=-1,ak,aa,U,ac,Z,M,ag,al=!window.XMLHttpRequest,af=[],am=document.documentElement,an={},ae=new Image(),O=new Image(),Q,ay,ar,ai,P,av,R,aw,X,N;ab(function(){ab("body").append(ab([Q=ab('<div id="lbOverlay" />')[0],ay=ab('<div id="lbCenter" />')[0],R=ab('<div id="lbBottomContainer" />')[0]]).css("display","none"));ar=ab('<div id="lbImage" />').appendTo(ay).append(ai=ab('<div style="position: relative;" />').append([P=ab('<a id="lbPrevLink" href="#" />').click(W)[0],av=ab('<a id="lbNextLink" href="#" />').click(au)[0]])[0])[0];aw=ab('<div id="lbBottom" />').appendTo(R).append([ab('<a id="lbCloseLink" href="#" />').add(Q).click(V)[0],X=ab('<div id="lbCaption" />')[0],N=ab('<div id="lbNumber" />')[0],ab('<div style="clear: both;" />')[0]])[0]});ab.slimbox=function(a,b,c){ad=ab.extend({loop:false,overlayOpacity:0.8,overlayFadeDuration:400,resizeDuration:400,resizeEasing:"swing",initialWidth:250,initialHeight:250,imageFadeDuration:400,captionAnimationDuration:400,counterText:"Image {x} of {y}",closeKeys:[27,88,67],previousKeys:[37,80],nextKeys:[39,78]},c);if(typeof a=="string"){a=[[a,b]];b=0}Z=T.scrollTop()+(T.height()/2);M=ad.initialWidth;ag=ad.initialHeight;ab(ay).css({top:Math.max(0,Z-(ag/2)),width:M,height:ag,marginLeft:-M/2}).show();ac=al||(Q.currentStyle&&(Q.currentStyle.position!="fixed"));if(ac){Q.style.position="absolute"}ab(Q).css("opacity",ad.overlayOpacity).fadeIn(ad.overlayFadeDuration);Y();ao(1);at=a;ad.loop=ad.loop&&(at.length>1);return ax(b)};ab.fn.slimbox=function(d,a,b){a=a||function(e){return[e.href,e.title]};b=b||function(){return true};var c=this;return c.unbind("click").click(function(){var g=this,e=0,f,i=0,h;f=ab.grep(c,function(j,k){return b.call(g,j,k)});for(h=f.length;i<h;++i){if(f[i]==g){e=i}f[i]=a(f[i],i)}return ab.slimbox(f,e,d)})};function Y(){var a=T.scrollLeft(),b=T.width();ab([ay,R]).css("left",a+(b/2));if(ac){ab(Q).css({left:a,top:T.scrollTop(),width:b,height:T.height()})}}function ao(b){if(b){ab("object").add(al?"select":"embed").each(function(d,c){af[d]=[c,c.style.visibility];c.style.visibility="hidden"})}else{ab.each(af,function(d,c){c[0].style.visibility=c[1]});af=[]}var a=b?"bind":"unbind";T[a]("scroll resize",Y);ab(document)[a]("keydown",aj)}function aj(a){var b=a.keyCode,c=ab.inArray;return(c(b,ad.closeKeys)>=0)?V():(c(b,ad.nextKeys)>=0)?au():(c(b,ad.previousKeys)>=0)?W():false}function W(){return ax(aa)}function au(){return ax(U)
}function ax(a){if(a>=0){S=a;ak=at[S][0];aa=(S||(ad.loop?at.length:0))-1;U=((S+1)%at.length)||(ad.loop?0:-1);ah();ay.className="lbLoading";an=new Image();an.onload=ap;an.src=ak}return false}function ap(){ay.className="";ab(ar).css({backgroundImage:"url("+ak+")",visibility:"hidden",display:""});ab(ai).width(an.width);ab([ai,P,av]).height(an.height);ab(X).html(at[S][1]||"");ab(N).html((((at.length>1)&&ad.counterText)||"").replace(/{x}/,S+1).replace(/{y}/,at.length));if(aa>=0){ae.src=at[aa][0]}if(U>=0){O.src=at[U][0]}M=ar.offsetWidth;ag=ar.offsetHeight;var a=Math.max(0,Z-(ag/2));if(ay.offsetHeight!=ag){ab(ay).animate({height:ag,top:a},ad.resizeDuration,ad.resizeEasing)}if(ay.offsetWidth!=M){ab(ay).animate({width:M,marginLeft:-M/2},ad.resizeDuration,ad.resizeEasing)}ab(ay).queue(function(){ab(R).css({width:M,top:a+ag,marginLeft:-M/2,visibility:"hidden",display:""});ab(ar).css({display:"none",visibility:"",opacity:""}).fadeIn(ad.imageFadeDuration,aq)})}function aq(){if(aa>=0){ab(P).show()}if(U>=0){ab(av).show()}ab(aw).css("marginTop",-aw.offsetHeight).animate({marginTop:0},ad.captionAnimationDuration);R.style.visibility=""}function ah(){an.onload=null;an.src=ae.src=O.src=ak;ab([ay,ar,aw]).stop(true);ab([P,av,ar,R]).hide()}function V(){if(S>=0){ah();S=aa=U=-1;ab(ay).hide();ab(Q).stop().fadeOut(ad.overlayFadeDuration,ao)}return false}})(jQuery);if(!/android|iphone|ipod|series60|symbian|windows ce|blackberry/i.test(navigator.userAgent)){jQuery(function(a){a("a[rel^='lightbox']").slimbox({},null,function(b){return(this==b)||((this.rel.length>8)&&(this.rel==b.rel))})})};
