/* F I R E F O X  F O U C  D E L A Y  http://paulirish.com/2009/fighting-the-font-face-fout/#defeatthefout */

(function(){var d=document,e=d.documentElement,s=d.createElement('style');if(e.style.MozTransform===''){s.textContent='body{visibility:hidden}';e.firstChild.appendChild(s);function f(){s.parentNode&&s.parentNode.removeChild(s);}
addEventListener('load',f,false);setTimeout(f,3000);}})();


/* C S S  B R O W S E R  S E L E C T O R  v.0.3.5  http://rafael.adm.br/css_browser_selector */

function css_browser_selector(u){var ua = u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1;},g='gecko',w='webkit',s='safari',o='opera',h=document.documentElement,b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3')?g+' ff3':is('gecko/')?g:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.$1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.$2:'')):is('konqueror')?'konqueror':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?'mobile':is('iphone')?'iphone':is('ipod')?'ipod':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win':is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; c = b.join(' '); h.className += ' '+c; return c;}; css_browser_selector(navigator.userAgent);


/* S C R O L L I N G  B A C K G R O U N D  http://www.kudoswebsolutions.com/web-design-blog/jquery-randomised-background-scrolling-effect-tutorial */

$(function(){var backgroundheight=410;offset=Math.round(Math.floor(Math.random()*411));function scrollbackground(){offset=(offset<1)?offset+(backgroundheight-1):offset-1;$('#overlay').css("background-position","50% "+offset+"px");setTimeout(function(){scrollbackground();},100);}
scrollbackground();});


/* S L I D I N G  M E N U  http://tympanus.net/codrops/2009/09/06/jquery-sliding-menu-plugin/ */

(function($){$.fn.extend({tagdrop:function(options){var defaults={tagPaddingTop:'75px',tagDefaultPaddingTop:'19px',bgColor:'',bgMoverColor:'',textColor:'',textDefaultColor:''};var options=$.extend(defaults,options);return this.each(function(){var obj=$(this);var li_items=$("a",obj);$("a",obj).css('background-color',options.bgColor);li_items.mouseover(function(){$(this).animate({paddingTop:options.tagPaddingTop},300);$(this).css('background-color',options.bgMoverColor);$(this).css('color',options.textColor);}).mouseout(function(){$(this).animate({paddingTop:options.tagDefaultPaddingTop},500);$("a",$(this).parent()).css('background-color',options.bgColor);$("a",$(this).parent()).css('color',options.textDefaultColor);});});}});})(jQuery);
$(document).ready(function(){$('nav ul').tagdrop();$('nav ul li.headlink').hover(function(){$('ul',this).css('display','block');},function(){$('ul',this).css('display','none');});});


/* S C R O L L  T O  http://davidwalsh.name/jquery-top-link */

;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery); jQuery.fn.topLink=function(settings){settings=jQuery.extend({min:1,fadeSpeed:200,ieOffset:50},settings);return this.each(function(){var el=$(this);el.css('display','none');$(window).scroll(function(){if(!jQuery.support.hrefNormalized){el.css({'position':'absolute','top':$(window).scrollTop()+$(window).height()-settings.ieOffset});} if($(window).scrollTop()>=settings.min) {el.fadeIn(settings.fadeSpeed);} else {el.fadeOut(settings.fadeSpeed);}});});};$(document).ready(function(){$('#top-link').topLink({min:400,fadeSpeed:500});$('#top-link').click(function(e){e.preventDefault();$.scrollTo(0,300);});});


/* T A B B E D  C O N T E N T  http://www.sohtanaka.com/web-design/simple-tabs-w-css-jquery/ */

var TabbedContent={init:function(){$(".tab_item").mouseover(function(){var background=$(this).parent().find(".moving_bg");$(background).stop().animate({left:$(this).position()['left']},{duration:300});TabbedContent.slideContent($(this));});},slideContent:function(obj){var margin=$(obj).parent().parent().find(".slide_content").width();margin=margin*($(obj).prevAll().size()-1);margin=margin*-1;$(obj).parent().parent().find(".tabslider").stop().animate({marginLeft:margin+"px"},{duration:300});}}
$(document).ready(function(){TabbedContent.init();});
$(document).ready(function(){$(".tab_content").hide();$("ul.tabs li:first").addClass("active").show();$(".tab_content:first").show();$("ul.tabs li").click(function(){$("ul.tabs li").removeClass("active");$(this).addClass("active");$(".tab_content").hide();var activeTab=$(this).find("a").attr("href");$(activeTab).fadeIn();return false;});});


/* E Q U A L  W I D T H  http://aloestudios.com/tools/jquery/equalwidths/ */

(function($){$.fn.equalWidths=function(options){var opts=$.extend({stripPadding:'none'},options);return this.each(function(){var child_count=$(this).children().size();if(child_count>0){var w_parent=$(this).width();var w_child=Math.floor(w_parent/child_count);var w_child_last=w_parent-(w_child*(child_count-1));$(this).children().css({'width':w_child+'px'});$(this).children(':last-child').css({'width':w_child_last+'px'});if((opts.stripPadding=='child')||(opts.stripPadding=='both')){$(this).children().css({'text-align':'center','padding-right':'0','padding-left':'0'});}
if((opts.stripPadding=='grand-child')||(opts.stripPadding=='both')){$(this).children().children().css({'text-align':'center','padding-right':'0','padding-left':'0'});}}});};})(jQuery);$(function(){$('#equalSpacing').equalWidths();});


/* T O G G L E  V I S I B I L I T Y  http://www.sohtanaka.com/web-design/easy-toggle-jquery-tutorial/ */

$(document).ready(function(){$(".toggle_container").hide();$(".trigger").toggle(function(){$(this).addClass("opened");},function(){$(this).removeClass("opened");});$(".trigger").click(function(){$(this).next(".toggle_container").slideToggle("slow,");});});


/* I N F I E L D L A B E L  v0.1  http://fuelyourcoding.com/in-field-labels/ */

(function($){$.InFieldLabels=function(b,c,d){var f=this;f.$label=$(b);f.label=b;f.$field=$(c);f.field=c;f.$label.data("InFieldLabels",f);f.showing=true;f.init=function(){f.options=$.extend({},$.InFieldLabels.defaultOptions,d);if(f.$field.val()!=""){f.$label.hide();f.showing=false};f.$field.focus(function(){f.fadeOnFocus()}).blur(function(){f.checkForEmpty(true)}).bind('keydown.infieldlabel',function(e){f.hideOnChange(e)}).change(function(e){f.checkForEmpty()}).bind('onPropertyChange',function(){f.checkForEmpty()})};f.fadeOnFocus=function(){if(f.showing){f.setOpacity(f.options.fadeOpacity)}};f.setOpacity=function(a){f.$label.stop().animate({opacity:a},f.options.fadeDuration);f.showing=(a>0.0)};f.checkForEmpty=function(a){if(f.$field.val()==""){f.prepForShow();f.setOpacity(a?1.0:f.options.fadeOpacity)}else{f.setOpacity(0.0)}};f.prepForShow=function(e){if(!f.showing){f.$label.css({opacity:0.0}).show();f.$field.bind('keydown.infieldlabel',function(e){f.hideOnChange(e)})}};f.hideOnChange=function(e){if((e.keyCode==16)||(e.keyCode==9))return;if(f.showing){f.$label.hide();f.showing=false};f.$field.unbind('keydown.infieldlabel')};f.init()};$.InFieldLabels.defaultOptions={fadeOpacity:0.7,fadeDuration:300};$.fn.inFieldLabels=function(c){return this.each(function(){var a=$(this).attr('for');if(!a)return;var b=$("input#"+a+"[type='text'],"+"input#"+a+"[type='password'],"+"textarea#"+a);if(b.length==0)return;(new $.InFieldLabels(this,b[0],c))})}})(jQuery);
$(function(){ $("label").inFieldLabels(); });

/* S L I D E  I N  F R O M  T O P  -- Forms */

$(document).ready(function(){$(".quote").click(function(){if($(".openClose_qte").is(":hidden")){$(".slide_qte").animate({marginTop:"-743px"},500);$(".openClose_qte").show();}else{$(".slide_qte").animate({marginTop:"0px"},500);$(".openClose_qte").hide();}});});
$(document).ready(function(){$(".message").click(function(){if($(".openClose_msg").is(":hidden")){$(".slide_msg").animate({marginTop:"-743px"},500);$(".openClose_msg").show();}else{$(".slide_msg").animate({marginTop:"0px"},500);$(".openClose_msg").hide();}});});


/* F O R M  V A L I D A T I O N  http://demos.usejquery.com/ketchup-plugin/ */

(function($){var validate='validate';function squeeze(form){var fields=fieldsToValidate(form);for(var i=0;i<fields.length;i++){bindField(fields[i]);}
form.submit(function(){var tasty=true;for(var i=0;i<fields.length;i++){if(buildErrorList(extractValidations(fields[i].blur()),fields[i]).length)tasty=false;}
if(!tasty)return false;});}
function fieldsToValidate(form){var tags='input textarea select'.split(' ');var fields=[];for(var i=0;i<tags.length;i++){form.find(tags[i]+'['+options.validationAttribute+'*='+validate+']').each(function(){fields.push($(this));});}
return fields;}
function bindField(field){var validations=extractValidations(field);var errorContainer=field.after(options.errorContainer.clone()).next();var contOl=errorContainer.find('ol');var visibleContainer=false;$(window).resize(function(){options.initialPositionContainer(errorContainer,field);}).trigger('resize');field.blur(function(){var errList=buildErrorList(validations,field);if(errList.length){if(!visibleContainer){contOl.html(errList);options.showContainer(errorContainer);visibleContainer=true;}else{contOl.html(errList);}
options.positionContainer(errorContainer,field);}else{options.hideContainer(errorContainer);visibleContainer=false;}});if(field.attr('type')=='checkbox'){field.change(function(){$(this).blur();});}}
function extractValidations(field){var valStr=field.attr(options.validationAttribute);valStr=valStr.substr(valStr.indexOf(validate)+validate.length+1);var validations=[];var tempStr='';var openBrackets=0;valStr=valStr.split("");for(var i=0;i<valStr.length;i++){switch(valStr[i]){case',':if(openBrackets){tempStr+=',';}else{validations.push(trim(tempStr));tempStr='';}
break;case'(':tempStr+='(';openBrackets++;break;case')':if(openBrackets){tempStr+=')';openBrackets--;}else{validations.push(trim(tempStr));}
break;default:tempStr+=valStr[i];}}
return validations;}
function trim(str){return str.replace(/^\s+/,'').replace(/\s+$/,'');}
function getFunctionName(validation){if(validation.indexOf('(')!=-1){return validation.substr(0,validation.indexOf('('));}else{return validation;}}
function buildParams(validation){if(validation.indexOf('(')!=-1){var arr=validation.substring(validation.indexOf('(')+1,validation.length-1).split(',');var tempStr='';for(var i=0;i<arr.length;i++){var single=trim(arr[i]);if(parseInt(single)){tempStr+=','+single;}else{tempStr+=',"'+single+'"'}}
return tempStr;}else{return'';}}
function formatMessage(message,params){var args=message.split('$arg').length-1;if(args){var parArr=params.split(',');for(var i=1;i<parArr.length;i++){message=message.replace('$arg'+i,parArr[i]);}}
return message;}
function buildErrorList(validations,field){var list='';for(var i=0;i<validations.length;i++) {var funcName=getFunctionName(validations[i]);var params=buildParams(validations[i]);if(!eval('$.fn.ketchup.validations["'+funcName+'"](field, field.val()'+params+')')){list+='<li>'+formatMessage($.fn.ketchup.messages[funcName],params)+'</li>';}}
return list;}
var errorContainer=$('<div>',{'class':'ketchup-error-container',html:'<ol></ol><span></span>'});var initialPositionContainer=function(errorContainer,field){var fOffset=field.offset();errorContainer.css({left:fOffset.left+field.width()-10,top:fOffset.top-errorContainer.height()});};var positionContainer=function(errorContainer,field){errorContainer.animate({top:field.offset().top-errorContainer.height()});};var showContainer=function(errorContainer){errorContainer.fadeIn();};var hideContainer=function(errorContainer){errorContainer.fadeOut();};$.fn.ketchup=function(opt){options=$.extend({},$.fn.ketchup.defaults,opt);return this.each(function(){squeeze($(this));});};$.fn.ketchup.validation=function(name,func){$.fn.ketchup.validations.push(name);$.fn.ketchup.validations[name]=func;};$.fn.ketchup.messages={};$.fn.ketchup.validations=[];var options;$.fn.ketchup.defaults={validationAttribute:'class',errorContainer:errorContainer,initialPositionContainer:initialPositionContainer,positionContainer:positionContainer,showContainer:showContainer,hideContainer:hideContainer};})(jQuery);$.fn.ketchup.messages={'required':'This field is required.','minlength':'This field must have a minimal length of $arg1.','maxlength':'This field must have a maximal length of $arg1.','rangelength':'This field must have a length between $arg1 and $arg2.','min':'Must be at least $arg1.','max':'Can not be greater than $arg1.','range':'Must be between $arg1 and $arg2.','number':'Must be a number.','digits':'Must be digits.','email':'Must be a valid email.','url':'Must be a valid URL.','username':'Must be a valid username.','match':'Must match the field above.','date':'Must be a valid date.','minselect':'Select at least $arg1 checkboxes.','maxselect':'Select not more than $arg1 checkboxes.','rangeselect':'Select between $arg1 and $arg2 checkboxes.'};$.fn.ketchup.validation('required',function(element,value){if(element.attr('type')=='checkbox'){if(element.attr('checked')==true)return true;else return false;}else{if(value.length==0)return false;else return true;}});$.fn.ketchup.validation('minlength',function(element,value,minlength){if(value.length<minlength)return false;else return true;});$.fn.ketchup.validation('maxlength',function(element,value,maxlength){if(value.length>maxlength)return false;else return true;});$.fn.ketchup.validation('rangelength',function(element,value,minlength,maxlength){if(value.length>=minlength&&value.length<=maxlength)return true;else return false;});$.fn.ketchup.validation('min',function(element,value,min){if(parseInt(value)<min)return false;else return true;});$.fn.ketchup.validation('max',function(element,value,max){if(parseInt(value)>max)return false;else return true;});$.fn.ketchup.validation('range',function(element,value,min,max){if(parseInt(value)>=min&&parseInt(value)<=max)return true;else return false;});$.fn.ketchup.validation('number',function(element,value){if(/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value))return true;else return false;});$.fn.ketchup.validation('digits',function(element,value){if(/^\d+$/.test(value))return true;else return false;});$.fn.ketchup.validation('email',function(element,value){if(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value))return true;else return false;});$.fn.ketchup.validation('url',function(element,value){if(/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value))return true;else return false;});$.fn.ketchup.validation('username',function(element,value){if(/^([a-zA-Z])[a-zA-Z_-]*[\w_-]*[\S]$|^([a-zA-Z])[0-9_-]*[\S]$|^[a-zA-Z]*[\S]$/.test(value))return true;else return false;});$.fn.ketchup.validation('match',function(element,value,match){if($(match).val()!=value)return false;else return true;});$.fn.ketchup.validation('date',function(element,value){if(!/Invalid|NaN/.test(new Date(value)))return true;else return false;})
function watchSelect(type){$('input['+$.fn.ketchup.defaults.validationAttribute+'*="'+type+'"]').each(function(){var el=$(this);$('input[name="'+el.attr('name')+'"]').each(function(){var al=$(this);if(al.attr($.fn.ketchup.defaults.validationAttribute).indexOf(type)==-1)al.blur(function(){el.blur();});});});}
$(document).ready(function(){watchSelect('minselect');watchSelect('maxselect');watchSelect('rangeselect');});$.fn.ketchup.validation('minselect',function(element,value,min){if($('input[name="'+element.attr('name')+'"]:checked').length>=min)return true;else return false;});$.fn.ketchup.validation('maxselect',function(element,value,max){if($('input[name="'+element.attr('name')+'"]:checked').length<=max)return true;else return false;});$.fn.ketchup.validation('rangeselect',function(element,value,min,max){var checked=$('input[name="'+element.attr('name')+'"]:checked');if(checked.length>=min&&checked.length<=max)return true;else return false;});$(document).ready(function(){if($('#contactus').length){$('#contactus').ketchup({validationAttribute:'rel',errorContainer:$('<div>',{'class':'ketchup-error-container-alt',html:'<ol></ol>'}),initialPositionContainer:function(errorContainer,field){},positionContainer:function(errorContainer,field){},showContainer:function(errorContainer){errorContainer.slideDown('fast');},hideContainer:function(errorContainer){errorContainer.slideUp('fast');}});}
if($('#quoteus').length){$('#quoteus').ketchup({validationAttribute:'rel',errorContainer:$('<div>',{'class':'ketchup-error-container-alt',html:'<ol></ol>'}),initialPositionContainer:function(errorContainer,field){},positionContainer:function(errorContainer,field){},showContainer:function(errorContainer){errorContainer.slideDown('fast');},hideContainer:function(errorContainer){errorContainer.slideUp('fast');}});}});


/* F O R M  P L U G I N  http://malsup.com/jquery/form/ */

;(function($){$.fn.ajaxSubmit=function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected');return this;}
if(typeof options=='function'){options={success:options};}
var url=$.trim(this.attr('action'));if(url){url=(url.match(/^([^#]+)/)||[])[1];}
url=url||window.location.href||'';options=$.extend(true,{url:url,type:this.attr('method')||'GET',iframeSrc:/^https/i.test(window.location.href||'')?'javascript:false':'about:blank'},options);var veto={};this.trigger('form-pre-serialize',[this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this;}
if(options.beforeSerialize&&options.beforeSerialize(this,options)===false){log('ajaxSubmit: submit aborted via beforeSerialize callback');return this;}
var n,v,a=this.formToArray(options.semantic);if(options.data){options.extraData=options.data;for(n in options.data){if(options.data[n]instanceof Array){for(var k in options.data[n]){a.push({name:n,value:options.data[n][k]});}}
else{v=options.data[n];v=$.isFunction(v)?v():v;a.push({name:n,value:v});}}}
if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){log('ajaxSubmit: submit aborted via beforeSubmit callback');return this;}
this.trigger('form-submit-validate',[a,this,options,veto]);if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this;}
var q=$.param(a);if(options.type.toUpperCase()=='GET'){options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;options.data=null;}
else{options.data=q;}
var $form=this,callbacks=[];if(options.resetForm){callbacks.push(function(){$form.resetForm();});}
if(options.clearForm){callbacks.push(function(){$form.clearForm();});}
if(!options.dataType&&options.target){var oldSuccess=options.success||function(){};callbacks.push(function(data){var fn=options.replaceTarget?'replaceWith':'html';$(options.target)[fn](data).each(oldSuccess,arguments);});}
else if(options.success){callbacks.push(options.success);}
options.success=function(data,status,xhr){var context=options.context||options;for(var i=0,max=callbacks.length;i<max;i++){callbacks[i].apply(context,[data,status,xhr||$form,$form]);}};var fileInputs=$('input:file',this).length>0;var mp='multipart/form-data';var multipart=($form.attr('enctype')==mp||$form.attr('encoding')==mp);if(options.iframe!==false&&(fileInputs||options.iframe||multipart)){if(options.closeKeepAlive){$.get(options.closeKeepAlive,fileUpload);}
else{fileUpload();}}
else{$.ajax(options);}
this.trigger('form-submit-notify',[this,options]);return this;function fileUpload(){var form=$form[0];if($(':input[name=submit],:input[id=submit]',form).length){alert('Error: Form elements must not have name or id of "submit".');return;}
var s=$.extend(true,{},$.ajaxSettings,options);s.context=s.context||s;var id='jqFormIO'+(new Date().getTime()),fn='_'+id;window[fn]=function(){var f=$io.data('form-plugin-onload');if(f){f();window[fn]=undefined;try{delete window[fn];}catch(e){}}}
var $io=$('<iframe id="'+id+'" name="'+id+'" src="'+s.iframeSrc+'" onload="window[\'_\'+this.id]()" />');var io=$io[0];$io.css({position:'absolute',top:'-1000px',left:'-1000px'});var xhr={aborted:0,responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1;$io.attr('src',s.iframeSrc);}};var g=s.global;if(g&&!$.active++){$.event.trigger("ajaxStart");}
if(g){$.event.trigger("ajaxSend",[xhr,s]);}
if(s.beforeSend&&s.beforeSend.call(s.context,xhr,s)===false){if(s.global){$.active--;}
return;}
if(xhr.aborted){return;}
var cbInvoked=false;var timedOut=0;var sub=form.clk;if(sub){var n=sub.name;if(n&&!sub.disabled){s.extraData=s.extraData||{};s.extraData[n]=sub.value;if(sub.type=="image"){s.extraData[n+'.x']=form.clk_x;s.extraData[n+'.y']=form.clk_y;}}}
function doSubmit(){var t=$form.attr('target'),a=$form.attr('action');form.setAttribute('target',id);if(form.getAttribute('method')!='POST'){form.setAttribute('method','POST');}
if(form.getAttribute('action')!=s.url){form.setAttribute('action',s.url);}
if(!s.skipEncodingOverride){$form.attr({encoding:'multipart/form-data',enctype:'multipart/form-data'});}
if(s.timeout){setTimeout(function(){timedOut=true;cb();},s.timeout);}
var extraInputs=[];try{if(s.extraData){for(var n in s.extraData){extraInputs.push($('<input type="hidden" name="'+n+'" value="'+s.extraData[n]+'" />').appendTo(form)[0]);}}
$io.appendTo('body');$io.data('form-plugin-onload',cb);form.submit();}
finally{form.setAttribute('action',a);if(t){form.setAttribute('target',t);}else{$form.removeAttr('target');}
$(extraInputs).remove();}}
if(s.forceSync){doSubmit();}
else{setTimeout(doSubmit,10);}
var data,doc,domCheckCount=50;function cb(){if(cbInvoked){return;}
$io.removeData('form-plugin-onload');var ok=true;try{if(timedOut){throw'timeout';}
doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;var isXml=s.dataType=='xml'||doc.XMLDocument||$.isXMLDoc(doc);log('isXml='+isXml);if(!isXml&&window.opera&&(doc.body==null||doc.body.innerHTML=='')){if(--domCheckCount){log('requeing onLoad callback, DOM not available');setTimeout(cb,250);return;}}
cbInvoked=true;xhr.responseText=doc.documentElement?doc.documentElement.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(header){var headers={'content-type':s.dataType};return headers[header];};var scr=/(json|script)/.test(s.dataType);if(scr||s.textarea){var ta=doc.getElementsByTagName('textarea')[0];if(ta){xhr.responseText=ta.value;}
else if(scr){var pre=doc.getElementsByTagName('pre')[0];if(pre){xhr.responseText=pre.innerHTML;}}}
else if(s.dataType=='xml'&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText);}
data=$.httpData(xhr,s.dataType);}
catch(e){log('error caught:',e);ok=false;xhr.error=e;$.handleError(s,xhr,'error',e);}
if(ok){s.success.call(s.context,data,'success',xhr);if(g){$.event.trigger("ajaxSuccess",[xhr,s]);}}
if(g){$.event.trigger("ajaxComplete",[xhr,s]);}
if(g&&!--$.active){$.event.trigger("ajaxStop");}
if(s.complete){s.complete.call(s.context,xhr,ok?'success':'error');}
setTimeout(function(){$io.removeData('form-plugin-onload');$io.remove();xhr.responseXML=null;},100);}
function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject('Microsoft.XMLDOM');doc.async='false';doc.loadXML(s);}
else{doc=(new DOMParser()).parseFromString(s,'text/xml');}
return(doc&&doc.documentElement&&doc.documentElement.tagName!='parsererror')?doc:null;}}};$.fn.ajaxForm=function(options){if(this.length===0){var o={s:this.selector,c:this.context};if(!$.isReady&&o.s){log('DOM not ready, queuing ajaxForm');$(function(){$(o.s,o.c).ajaxForm(options);});return this;}
log('terminating; zero elements found by selector'+($.isReady?'':' (DOM not ready)'));return this;}
return this.ajaxFormUnbind().bind('submit.form-plugin',function(e){if(!e.isDefaultPrevented()){e.preventDefault();$(this).ajaxSubmit(options);}}).bind('click.form-plugin',function(e){var target=e.target;var $el=$(target);if(!($el.is(":submit,input:image"))){var t=$el.closest(':submit');if(t.length==0){return;}
target=t[0];}
var form=this;form.clk=target;if(target.type=='image'){if(e.offsetX!=undefined){form.clk_x=e.offsetX;form.clk_y=e.offsetY;}else if(typeof $.fn.offset=='function'){var offset=$el.offset();form.clk_x=e.pageX-offset.left;form.clk_y=e.pageY-offset.top;}else{form.clk_x=e.pageX-target.offsetLeft;form.clk_y=e.pageY-target.offsetTop;}}
setTimeout(function(){form.clk=form.clk_x=form.clk_y=null;},100);});};$.fn.ajaxFormUnbind=function(){return this.unbind('submit.form-plugin click.form-plugin');};$.fn.formToArray=function(semantic){var a=[];if(this.length===0){return a;}
var form=this[0];var els=semantic?form.getElementsByTagName('*'):form.elements;if(!els){return a;}
var i,j,n,v,el;for(i=0,max=els.length;i<max;i++){el=els[i];n=el.name;if(!n){continue;}
if(semantic&&form.clk&&el.type=="image"){if(!el.disabled&&form.clk==el){a.push({name:n,value:$(el).val()});a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}
continue;}
v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(j=0,jmax=v.length;j<jmax;j++){a.push({name:n,value:v[j]});}}
else if(v!==null&&typeof v!='undefined'){a.push({name:n,value:v});}}
if(!semantic&&form.clk){var $input=$(form.clk),input=$input[0];n=input.name;if(n&&!input.disabled&&input.type=='image'){a.push({name:n,value:$input.val()});a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});}}
return a;};$.fn.formSerialize=function(semantic){return $.param(this.formToArray(semantic));};$.fn.fieldSerialize=function(successful){var a=[];this.each(function(){var n=this.name;if(!n){return;}
var v=$.fieldValue(this,successful);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++){a.push({name:n,value:v[i]});}}
else if(v!==null&&typeof v!='undefined'){a.push({name:this.name,value:v});}});return $.param(a);};$.fn.fieldValue=function(successful){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,successful);if(v===null||typeof v=='undefined'||(v.constructor==Array&&!v.length)){continue;}
v.constructor==Array?$.merge(val,v):val.push(v);}
return val;};$.fieldValue=function(el,successful){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(successful===undefined){successful=true;}
if(successful&&(!n||el.disabled||t=='reset'||t=='button'||(t=='checkbox'||t=='radio')&&!el.checked||(t=='submit'||t=='image')&&el.form&&el.form.clk!=el||tag=='select'&&el.selectedIndex==-1)){return null;}
if(tag=='select'){var index=el.selectedIndex;if(index<0){return null;}
var a=[],ops=el.options;var one=(t=='select-one');var max=(one?index+1:ops.length);for(var i=(one?index:0);i<max;i++){var op=ops[i];if(op.selected){var v=op.value;if(!v){v=(op.attributes&&op.attributes['value']&&!(op.attributes['value'].specified))?op.text:op.value;}
if(one){return v;}
a.push(v);}}
return a;}
return $(el).val();};$.fn.clearForm=function(){return this.each(function(){$('input,select,textarea',this).clearFields();});};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=='text'||t=='password'||tag=='textarea'){this.value='';}
else if(t=='checkbox'||t=='radio'){this.checked=false;}
else if(tag=='select'){this.selectedIndex=-1;}});};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=='function'||(typeof this.reset=='object'&&!this.reset.nodeType)){this.reset();}});};$.fn.enable=function(b){if(b===undefined){b=true;}
return this.each(function(){this.disabled=!b;});};$.fn.selected=function(select){if(select===undefined){select=true;}
return this.each(function(){var t=this.type;if(t=='checkbox'||t=='radio'){this.checked=select;}
else if(this.tagName.toLowerCase()=='option'){var $sel=$(this).parent('select');if(select&&$sel[0]&&$sel[0].type=='select-one'){$sel.find('option').selected(false);}
this.selected=select;}});};function log(){if($.fn.ajaxSubmit.debug){var msg='[jquery.form] '+Array.prototype.join.call(arguments,'');if(window.console&&window.console.log){window.console.log(msg);}
else if(window.opera&&window.opera.postError){window.opera.postError(msg);}}};})(jQuery);
