
(function(JQ){JQ.fn.hoverpulse=function(options){var opts=JQ.extend({},JQ.fn.hoverpulse.defaults,options);this.each(function(){var JQthis=JQ(this);var w=JQthis.width(),h=JQthis.height();JQthis.data('hoverpulse.size',{w:parseInt(w),h:parseInt(h)});});return this.hover(function(){var JQthis=JQ(this);var size=JQthis.data('hoverpulse.size');var w=size.w,h=size.h;JQthis.parent().parent().css('z-index',opts.zIndexActive);JQthis.parent().children('.pulse2').stop().animate({top:('-'+opts.size+'px'),left:('-'+opts.size+'px'),height:(5+h+2*opts.size)+'px',width:(5+w+2*opts.size)+'px',padding:'5px'},opts.speed);JQthis.stop().animate({top:('-'+opts.size+'px'),left:('-'+opts.size+'px'),height:(h+2*opts.size)+'px',width:(w+2*opts.size)+'px',padding:'5px'},opts.speed);},function(){var JQthis=JQ(this);var size=JQthis.data('hoverpulse.size');var w=size.w,h=size.h;JQthis.parent().children('.pulse2').stop().animate({top:0,left:0,height:(5+h)+'px',width:(5+w)+'px',padding:'0px'},opts.speed);JQthis.stop().animate({top:0,left:0,height:(h+'px'),width:(w+'px'),padding:'0px'},opts.speed,function(){JQthis.parent().parent().css('z-index',opts.zIndexNormal);});});};JQ.fn.hoverpulse.defaults={size:30,speed:200,zIndexActive:9992,zIndexNormal:9991};})(jQuery);;(function(JQ){var m=JQ.scrollTo=function(b,h,f){JQ(window).scrollTo(b,h,f)};m.defaults={axis:'xy',duration:parseFloat(JQ.fn.jquery)>=1.3?0:1};m.window=function(b){return JQ(window).scrollable()};JQ.fn.scrollable=function(){return this.map(function(){var b=this,h=!b.nodeName||JQ.inArray(b.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!h)return b;var f=(b.contentWindow||b).document||b.ownerDocument||b;return JQ.browser.safari||f.compatMode=='BackCompat'?f.body:f.documentElement})};JQ.fn.scrollTo=function(l,j,a){if(typeof j=='object'){a=j;j=0}if(typeof a=='function')a={onAfter:a};if(l=='max')l=9e9;a=JQ.extend({},m.defaults,a);j=j||a.speed||a.duration;a.queue=a.queue&&a.axis.length>1;if(a.queue)j/=2;a.offset=n(a.offset);a.over=n(a.over);return this.scrollable().each(function(){var k=this,o=JQ(k),d=l,p,g={},q=o.is('html,body');switch(typeof d){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px)?JQ/.test(d)){d=n(d);break}d=JQ(d,this);case'object':if(d.is||d.style)p=(d=JQ(d)).offset()}JQ.each(a.axis.split(''),function(b,h){var f=h=='x'?'Left':'Top',i=f.toLowerCase(),c='scroll'+f,r=k[c],s=h=='x'?'Width':'Height';if(p){g[c]=p[i]+(q?0:r-o.offset()[i]);if(a.margin){g[c]-=parseInt(d.css('margin'+f))||0;g[c]-=parseInt(d.css('border'+f+'Width'))||0}g[c]+=a.offset[i]||0;if(a.over[i])g[c]+=d[s.toLowerCase()]()*a.over[i]}else g[c]=d[i];if(/^\d+JQ/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],u(s));if(!b&&a.queue){if(r!=g[c])t(a.onAfterFirst);delete g[c]}});t(a.onAfter);function t(b){o.animate(g,j,a.easing,b&&function(){b.call(this,l,a)})};function u(b){var h='scroll'+b;if(!q)return k[h];var f='client'+b,i=k.ownerDocument.documentElement,c=k.ownerDocument.body;return Math.max(i[h],c[h])-Math.min(i[f],c[f])}}).end()};function n(b){return typeof b=='object'?b:{top:b,left:b}}})(jQuery);jQuery.fn.overflowScroller=function(settings){settings=jQuery.extend({},settings);return this.each(function(){JQcontainer=jQuery(this);JQcontainer.find("div.hide-overflow span").each(function(){var JQspan=JQ(this);var JQoverflowDiv=JQspan.wrap("<div class='overflow-mask'></div>");var JQoverflowDivContainer=JQspan.parent().wrap("<div class='overflow-mask-container'></div>");var JQspanWidth=JQspan.width();var JQoverflowContainerDivWidth=JQspan.parent().parent().parent().width();JQoverflowDiv=JQspan.parent();if(JQspanWidth>JQoverflowContainerDivWidth)
{JQspan.parent().parent().parent().append("<div class='ellipsis'>...</div>");JQspan.parent().parent().parent().css("textAlign","left");JQspan.parent().parent().parent().find("div.overflow-mask-container").width(JQoverflowContainerDivWidth-18);JQoverflowDiv.width(JQspanWidth);}
else
{JQoverflowDiv.width(JQoverflowContainerDivWidth);}});});};jQuery.fn.overflowOver=function(settings){settings=jQuery.extend({speed:0.03,pause:300},settings);return this.each(function(){JQcontainer=jQuery(this);JQcontainerColor=JQcontainer.css("backgroundColor");JQoverlayLink=JQcontainer.find("a.overlay-link")
JQcontainer.find("div.scrollable div.overflow-mask span").each(function(){var JQspan=JQ(this);var JQspanWidth=JQspan.width();var JQoverflowDiv=JQspan.parent();var JQoverflowContainerDivWidth=JQspan.parent().parent().parent().width();if(JQspanWidth>JQoverflowContainerDivWidth)
{var JQnormSpeed=JQspanWidth/settings.speed;JQoverflowDiv.width(JQspanWidth);function ScrollOverflow(spanWidthIn,normSpeedIn){JQoverflowDiv.animate({left:"-="+spanWidthIn},normSpeedIn,"linear",function(){JQoverflowDiv.css("left",JQoverflowContainerDivWidth);ScrollOverflow(JQspanWidth*2,JQnormSpeed*2);});}
JQoverflowDiv.animate({fontColor:'#eee'},settings.pause,function(){JQspan.parent().parent().parent().find("div.ellipsis").css("display","none");JQspan.parent().parent().parent().find("div.overflow-mask-container").width(JQoverflowContainerDivWidth);ScrollOverflow(JQspanWidth,JQnormSpeed);});}});});};jQuery.fn.overflowOut=function(settings){settings=jQuery.extend({},settings);return this.each(function(){JQthis=jQuery(this);JQthis.find("div.ellipsis").css("display","block");JQoverflowContainerDivWidth=JQthis.find("div.overflow-mask-container").width()
JQthis.find("div.overflow-mask").stop();JQthis.find("div.overflow-mask").css("left","0px");JQthis.find("div.hide-overflow span").each(function(){var JQspan=JQ(this);var JQspanWidth=JQspan.width();var JQoverflowContainerDivWidth=JQspan.parent().parent().parent().width();if(JQspanWidth>JQoverflowContainerDivWidth)
{JQspan.parent().parent().parent().find("div.overflow-mask-container").width(JQoverflowContainerDivWidth-18);}});});};JQ(window).ready(function(){WireEvents()});JQ(window).bind('load',function(){var timeout=setTimeout(function(){CDBImageLoader()},100);});JQ(window).bind('resize',function(){LoadImagesAboveFold();});function CDBImageLoader()
{JQ("img.loader").each(function(){var JQimage=JQ(this);if(JQimage.attr("src")==null||JQimage.attr("src")==""&&JQimage.attr("title").length>0){JQimage.attr("src",JQimage.attr("title")).attr("title","").show();}});}
function BelowTheFold(image,threshold){var fold=JQ(window).height()+JQ(window).scrollTop();return(fold<=JQ(image).offset().top-threshold);}
function LoadImagesAboveFold()
{JQ("img.lazy").each(function(){if(!BelowTheFold(JQ(this),0)){JQ(this).attr("src",JQ(this).attr("title")).attr("title","").removeClass("lazy");}});}
function BindScrollEvent()
{JQ(window).scroll(function(){LoadImagesAboveFold();});}
function WireEvents()
{LoadImagesAboveFold();BindScrollEvent();JQ(".textarea-250").keypress(function(event){var key=event.which;if(key>=33||key==13)
{if(this.value.length>=250){event.preventDefault();}}});if(JQ("#boundPageEvents").attr("title")=="NO")
{BindInputEvents();SetOverlayLinkHeight();JQ(".search-button").hover(function(){JQ(this).attr("src","/Images/Buttons/button-search_f2.jpg");},function(){JQ(this).attr("src","/Images/Buttons/button-search.jpg");});JQ(".search-box").focus(function(){if(JQ(this).val()=="type your search here..."){JQ(this).val("").css("color","#000");}});JQ(".search-box").blur(function(){if(JQ(this).val()==""){JQ(this).css("color","#0D1116").val("type your search here...");}});JQ("#boundPageEvents").attr("title","YES");}
PageEvents();}
jQuery.preloadImages=function(arr){for(var i=0;i<arr.length;i++){jQuery("<img>").attr("src",arr[i]);}}
function BindInputEvents(){JQ(".textbox").focus(function(){JQ(this).css("color","#669").css("borderColor","#aaa");});JQ(".textbox").blur(function(){JQ(this).css("color","#666").css("borderColor","#DDD");});}
function SetOverlayLinkHeight(){JQ("#common-pages .overlay-link").each(function(){JQ(this).height(JQ(this).parent().height()+30);});}
function checkReviewsForm()
{var returnValue=true;if(JQ(".review-name").val().trim()==""){JQ(".error-review-name").css("display","block");returnValue=false;}
else{JQ(".error-review-name").css("display","none");}
if(JQ(".review-title").val().trim()==""){JQ(".error-review-title").css("display","block");returnValue=false;}
else{JQ(".error-review-title").css("display","none");}
if(JQ(".review-rating").val().trim()=="0"){JQ(".error-review-rating").css("display","block");returnValue=false;}
else{JQ(".error-review-rating").css("display","none");}
if(JQ(".review-text").val().trim()==""){JQ(".error-review-text").css("display","block");returnValue=false;}
else{JQ(".error-review-text").css("display","none");}
return returnValue;}
function checkRedeemForm(){var returnValue=true;if(JQ(".local-input").val()==""||JQ(".local-input").val()=="XXXXXX-XXXXXX"){JQ("#divRequired").css("display","block");returnValue=false;}
else{JQ("#divRequired").css("display","none");}
return returnValue;}
function checkRequiredFields(myPops)
{var returnValue=true;JQ(myPops).parent().find(".req-field").each(function(){if(JQ(this).val().trim()==""){JQ(this).parent().find(".required").css("display","block");JQ(this).parent().addClass("failed");returnValue=false;}
else{JQ(this).parent().find(".required").css("display","none");JQ(this).parent().removeClass("failed");}});JQ(myPops).parent().find(".req-selection").each(function(){if(JQ(this).val().trim()==""||JQ(this).val()=="0"){JQ(this).parent().find(".required").css("display","block");JQ(this).parent().addClass("failed");returnValue=false;}
else{JQ(this).parent().find(".required").css("display","none");JQ(this).parent().removeClass("failed");}});JQ(myPops).parent().find(".req-month").each(function(){if((JQ(this).val())==""||(JQ(myPops).parent().find(".req-year").val()=="")){JQ(this).parent().find(".required").css("display","block");JQ(this).parent().addClass("failed");returnValue=false;}
else{JQ(this).parent().find(".required").css("display","none");JQ(this).parent().removeClass("failed");}});JQ(myPops).parent().find(".req-email").each(function(){var isEmail=/^((([a-z]|\d|[!#\JQ%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\JQ%&'\*\+\-\/=\?\^_`{\|}~]|[\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])))\.?JQ/i.test(JQ(this).val());if(!isEmail||JQ(this).val()==""){JQ(this).parent().find(".required").css("display","block");JQ(this).parent().addClass("failed");returnValue=false;}
else{JQ(this).parent().find(".required").css("display","none");JQ(this).parent().removeClass("failed");}});JQ(myPops).parent().find(".req-zipcode").each(function(){if(JQ(this).val()==""){JQ(this).parent().find(".required").text("please enter zip/postal code.");JQ(this).parent().find(".required").css("display","block");JQ(this).parent().addClass("failed");returnValue=false;}
else{if(JQ(this).parent().find(".zip-validator").css("visibility")=="visible")
{JQ(this).parent().find(".required").text("please enter zip/postal code in the correct format.");JQ(this).parent().find(".required").css("display","block");JQ(this).parent().find(".zip-validator").css("display","none")
JQ(this).parent().addClass("failed");returnValue=false;}
else{JQ(this).parent().find(".required").css("display","none");JQ(this).parent().removeClass("failed");}}});JQ(myPops).parent().find(".req-cvv").each(function(){var isNumber=/^\d+JQ/.test(JQ(this).val());if(!isNumber||JQ(this).val().length<3||JQ(this).val().length>4){JQ(this).parent().find(".required").css("display","block");JQ(this).parent().addClass("failed");returnValue=false;}
else{JQ(this).parent().find(".required").css("display","none");JQ(this).parent().removeClass("failed");}});JQ(myPops).parent().find(".req-creditcard").each(function(){var passLuhn=true;var value=JQ(this).val();if(/[^0-9-]+/.test(value)){passLuhn=false;}
else{var nCheck=0,nDigit=0,bEven=false;value=value.replace(/\D/g,"");for(n=value.length-1;n>=0;n--){var cDigit=value.charAt(n);var nDigit=parseInt(cDigit,10);if(bEven){if((nDigit*=2)>9)
nDigit-=9;}
nCheck+=nDigit;bEven=!bEven;}
passLuhn=((nCheck%10)==0)?true:false;}
if(!passLuhn||value.length<1){JQ(this).parent().find(".required").css("display","block");JQ(this).parent().addClass("failed");returnValue=false;}
else{JQ(this).parent().find(".required").css("display","none");JQ(this).parent().removeClass("failed");}});JQ(myPops).parent().find(".req-password1").each(function(){if(JQ(this).val().length<8){JQ(this).parent().find(".required").css("display","block").text("your password must be at least 8 characters.");JQ(this).parent().addClass("failed");JQ(myPops).parent().find(".req-password2").parent().find(".required").css("display","none");JQ(myPops).parent().find(".req-password2").parent().removeClass("failed");returnValue=false;}
else if(JQ(this).val().length>=8&&JQ(myPops).parent().find(".req-password2").val().length==0)
{JQ(this).parent().find(".required").css("display","none");JQ(this).parent().removeClass("failed");JQ(myPops).parent().find(".req-password2").parent().find(".required").css("display","block");JQ(myPops).parent().find(".req-password2").parent().addClass("failed")
returnValue=false;}
else if(JQ(this).val()!=JQ(myPops).parent().find(".req-password2").val())
{JQ(this).parent().find(".required").css("display","block").text("your passwords don't match.");JQ(this).parent().addClass("failed");JQ(myPops).parent().find(".req-password2").parent().find(".required").css("display","block").text("your passwords don't match.");JQ(myPops).parent().find(".req-password2").parent().addClass("failed")
returnValue=false;}
else{JQ(this).parent().find(".required").css("display","none");JQ(this).parent().removeClass("failed");JQ(myPops).parent().find(".req-password2").parent().find(".required").css("display","none");JQ(myPops).parent().find(".req-password2").parent().removeClass("failed");}});if((JQ(".newadd-button").length>0)&&returnValue)
{JQ(".newadd-button").css("display","none");JQ(".submit-label").css("display","inline");}
return returnValue;}
