jQuery.caValidator=function(){return{trim:function(a){return a.replace(/^\s\s*/,"").replace(/\s\s*$/,"")},found:function(a){return a.size()>0},isEmailValid:function(a){var b=/^(([^<>()[\]\\.,;:\s@\""]+(\.[^<>()[\]\\.,;:\s@\""]+)*)|(\"".+\""))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i;if(b.test(a.val())){return true}else{return false}},isEmpty:function(a){var b=this.trim(a.val());if(b.length>0){return false}else{return true}},isWithSpace:function(a){var b=/\s/;if(b.test(a.val())){return true}else{return false}},isMatch:function(a,b){var c=this;var d=c.trim(a.val());var e=c.trim(b.val());if(d===e){return true}else{return false}},isValidChar:function(a){var b=/^[a-zA-Z0-9 \xF1 \xD1 ( ) # & / , \- \s' . ! @ $ % ^ & * ( ) _ + = - } { \] \[ \" : ; ? / , \\ | ]{1,10000}$/i;if(b.test(a.val())){return true}else{return false}},isZipCodeValid:function(a){var b=this;var c=b.trim(a.val());var d=new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)|(^\d{9}$)|(^\d{5} \d{4}$)/);if(d.test(c)){return true}else{return false}},isNumeric:function(a){var b=this;var c=b.trim(a.val());var d=/^\d+$/;if(!d.test(c)){return false}else{return true}},withMinLen:function(a,b){var c=this.trim(a.val());if(c.length>=b){return true}else{return false}},withMaxLen:function(a,b){var c=this.trim(a.val());if(c.length>b){return false}else{return true}},isValidPhoneNumber:function(a){var b=this;var c=b.trim(a.val());var d=new RegExp(/(^\(\d{3}\))(\d{1,7})$/);if(d.test(c)){return true}else{return false}},isValidMobileNumber:function(a){var b=this;var c=b.trim(a.val());var d=new RegExp(/(^\(\d{3}\))(\d{1,7})$/);if(d.test(c)){return true}else{return false}},message:function(a,b){b.html('<p class="padT5 fontRed">'+a+"</p>");b.fadeIn("fast")},resetForm:function(a,b,c){b.find(":input").each(function(){a(this).prop("disabled",c)})},addStamp:function(a,b){var c="&";if(b&&a.indexOf("?")<0){c="?"}return a+c+"stamp="+(new Date).getTime()},hideMapOnInValid:function(a,b,c,d,e){var f=new google.maps.Geocoder;f.geocode({address:d},function(a,d){if(a.length<=0){c.hide();if(e<=1){b.hide()}}})}}}();jQuery.caEvent=function(){return{init:function(a){var b=this;var c=a("div[ca-type='caFeaturedGallery']");if(a.caValidator.found(c)){b.initFeaturedGallery(a,c)}a("div[ca-type='caCountdown']").each(function(){var b=a(this);var c=new Date(b.attr("ca-time"));var d=b.find(".countdownPattern");a(d).countdown({until:c,format:"HMS",layout:d.html()});d.show()});a("div[ca-type='caDealUpdater']").each(function(){b.initDealUpdate(a,a(this))});a("div[ca-type='caDealBar']").each(function(){b.initDealBar(a,a(this))});a("div[ca-type='caModalContainer']").each(function(){b.initModalContainer(a,a(this))});a("div[ca-type='caTab']").each(function(){a.caTabContainer.init(a,a(this))});a("div[ca-type='caPayment']").each(function(){a.caPayment.init(a,a(this))});a("div[ca-type='caMap']").each(function(){var b=a(this);var c=b.find(".mImage");if(a.caValidator.found(c)){var d=c.attr("scrollwheel");var e=c.attr("zoom");if(!d){d="false"}if(!e){e=12}else{e=parseInt(e)}var f="";var g='{ "controls": false, "scrollwheel": '+d+', "markers": [';var h=b.find(".mMarkers");h.each(function(){var c=a(this);var d=c.attr("latitude");var e=c.attr("longitude");var i=c.attr("addrs");var j=c.attr("marker");if(d!=null&&e!=null||i!=null&&i.length>0){var k=d!=0&&e!=0;if(f.length<=0){if(k){f=' "latitude": '+d+', "longitude": '+e}else{f=' "address": "'+i+'"'}}else{g+=", "}g+="{ ";if(k){g+='"latitude": '+d+', "longitude": '+e}else{a.caValidator.hideMapOnInValid(a,b,a(".mapMarker"+j),i,h.length);g+='"address": "'+i+'"'}g+=', "html": "'+c.attr("html")+'", "popup": false, "icon": { "image":"'+c.attr("icon")+'",  "iconsize": [32, 32], "iconanchor": [15,32]}}'}});g+="], "+f+', "zoom": '+e+"}";var i=jQuery.parseJSON(g);c.gMap(i);var j=b.find(".mButtonOpen");var k=a("."+c.attr("posRef"));if(a.caValidator.found(j)&&a.caValidator.found(k)){var l=a("."+b.attr("ca-positionRef"));var m=a("."+b.attr("ca-heightRef"));if(a.caValidator.found(l)&&a.caValidator.found(m)){var n=m.height()+c.height();var m=l.height();if(n>m){if(n-m<40){n+=40}k.height(n)}}(j.animation=function(){j.animate({right:"+=10"},"slow","linear",function(){j.animate({right:"-=10"},"slow","linear",function(){j.animation()})})})();var o={thumb:{w:c.width()-4,h:c.height(),t:c.position().top,l:c.position().left+(a.browser.msie?3:2)},preview:{w:c.attr("maxWidth"),h:k.height(),t:"-"+(b.position().top+1),l:"-"+(k.width()+1)}};var p=b.find(".clipMap");var q=b.find(".mButtonClose");if(a.caValidator.found(q)){q.css({top:parseInt(o.preview.t)-q.height()+2+"px",left:parseInt(o.preview.l)-q.width()+3+"px"});q.click(function(a){a.preventDefault();q.fadeOut("fast");c.css({border:"none"});c.stop().animate({width:o.thumb.w+"px",height:o.thumb.h+"px",top:o.thumb.t+"px",left:o.thumb.l+"px"},500,function(){p.show();j.show();i.controls=false;i.zoom=e;c.gMap(i)})})}b.openMap=function(a,b,d,e){p.hide();j.hide();c.css({width:"0px",border:"1px solid #ddd"});c.stop().animate({width:o.preview.w+"px",height:o.preview.h+"px",top:o.preview.t+"px",left:o.preview.l+"px"},500,function(){i.controls={panControl:true,zoomControl:true,mapTypeControl:true,scaleControl:true,streetViewControl:true,overviewMapControl:true};i.zoom=a;if(b!=null&&d!=null&&b!=0&&d!=0){i.longitude=b;i.latitude=d}else if(e!=null&&e.length>0){i.address=e}c.gMap(i);q.fadeIn("fast")})};j.click(function(a){a.preventDefault();b.openMap(15)});b.bind("viewLargeMap",function(a,c,d){b.openMap(17,c,d)});b.bind("focusOnMap",function(a,b,d,e){if(b!=null&&d!=null&&b!=0&&d!=0){i.longitude=b;i.latitude=d}else if(e!=null&&e.length>0){i.address=e}c.gMap(i)})}}});a("div[ca-type='caPrintLoad']").each(function(){a(this).bind("caFirstLoad",function(a){setTimeout(function(){window.print()},500)})});a("a[ca-type='mapViewLarge']").each(function(){var b=a(this);var c=a("."+b.attr("ca-ref"));if(a.caValidator.found(c)){b.click(function(a){a.preventDefault();c.trigger("viewLargeMap",[b.attr("long"),b.attr("lati")])})}});a("a[ca-type='mapViewFocus']").each(function(){var b=a(this);var c=a("."+b.attr("ca-ref"));if(a.caValidator.found(c)){b.click(function(a){a.preventDefault();c.trigger("focusOnMap",[b.attr("long"),b.attr("lati")])})}});a("a[ca-type='caFBLink']").each(function(){var b=a(this);a.caFBConnect.init(a,b)});b.initInterface(a,a("body"))},initInterface:function(a,b){var c=this;var d=b.find(".caTransForm");if(a.caValidator.found(d)){d.jqTransform()}b.find("div[ca-type='caScrollbar']").each(function(){var b=a(this);var c=b.attr("ca-thumb");var d=b.attr("ca-size");if(c&&d){b.tinyscrollbar({sizethumb:c,size:d});var e=b.find(".scrollbar");var f=b.attr("ca-opt");var g=b.find(".viewport");if(f&&f=="true"&&a.caValidator.found(e)&&a.caValidator.found(g)){if(b.find(".scrollbar").hasClass("disable")){g.removeClass("viewport")}}}});b.find("div[ca-type='caBtnClose']").each(function(){var b=a(this);var c=a("."+b.attr("ca-ref"));if(a.caValidator.found(c)){var d=a(b.html());c.prepend(d);d.hide();b.remove()}});b.find("div[ca-type='caCorner']").each(function(){var b=a(this);var c=b.attr("ca-ref");if(c){b.corner(c)}});b.find("div[ca-type='caDealSubscribe']").each(function(){a.caDealSubscribe.init(a,a(this))});b.find("div[ca-type='caLoginForm']").each(function(){a.caLoginForm.init(a,a(this))});b.find("div[ca-type='caSignUpForm']").each(function(){a.caSignUpForm.init(a,a(this))});b.find("div[ca-type='caRestorePasswordForm']").each(function(){a.caRestorePasswordForm.init(a,a(this))});b.find("div[ca-type='caResetPasswordForm']").each(function(){a.caResetPasswordForm.init(a,a(this))});b.find("div[ca-type='caCouponPasswordForm']").each(function(){a.caCouponPasswordForm.init(a,a(this))});b.find("div[ca-type='caContactUsForm']").each(function(){a.caContactUsForm.init(a,a(this))});b.find("div[ca-type='caMyProfile']").each(function(){a.caMyProfile.init(a,a(this))});b.find("div[ca-type='caDiscussion']").each(function(){a.caDiscussion.init(a,a(this))});b.find("div[ca-type='caDiscussionTopicForm']").each(function(){a.caDiscussionTopicForm.init(a,a(this))});b.find("div[ca-type='caCoupon']").each(function(){a.caCoupon.init(a,a(this))});b.find("div[ca-type='caShoppingCart']").each(function(){a.caShoppingCart.init(a,a(this))});b.find("div[ca-type='caSendGift']").each(function(){a.caSendGift.init(a,a(this))});b.find("a[ca-type='caFBLinkButton']").each(function(){var b=a(this);a.data(b,"init",true);a.caFBConnect.reBind(a,b)});b.find("a[ca-type='caBoxToggle']").each(function(){var b=a(this);var c=b.attr("ca-ref");if(c){var d=a("."+c);if(a.caValidator.found(d)){b.click(function(b){b.preventDefault();a(".caBoxHide").each(function(){var b=a(this);if(!b.hasClass(c)&&b.css("display")==="block"){b.slideToggle("fast")}});d.slideToggle("slow")})}}});b.find("a[ca-type='caDealSubscribe']").each(function(){a.caDealSubscribe.init(a,undefined,a(this))});b.find("img[ca-type='caImageHoverLink']").each(function(){a.caImageHoverLink.init(a,a(this))});b.find("a[href='#']").each(function(){var b=a(this);b.click(function(a){a.preventDefault()})});b.find("a[ca-type='caInfoBox']").each(function(){var b=a(this);var c=a("."+b.attr("ca-ref"));if(a.caValidator.found(c)){b.bind("click",function(d){var e=a(this);d.preventDefault();var f=b.attr("ca-title");if(f){Boxy.DEFAULTS.title=f}new Boxy(c.html())})}});b.find("a[ca-type='caAnimateLeftMinus']").each(function(){var b=a(this);var c=a("."+b.attr("ca-ref"));var d=a("."+b.attr("ca-close"));if(a.caValidator.found(c)&&a.caValidator.found(d)){b.click(function(a){a.preventDefault();if(d.css("display")==="none"){c.animate({left:"-="+c.width()},1e3);d.show()}})}});b.find("a[ca-type='caAnimateLeftPlus']").each(function(){var b=a(this);var c=a("."+b.attr("ca-ref"));var d=a("."+b.attr("ca-close"));if(a.caValidator.found(c)&&a.caValidator.found(d)){b.click(function(a){a.preventDefault();if(d.css("display")==="block"){c.animate({left:"+="+c.width()},1e3);d.hide()}})}});b.find("a[ca-type='caSwapLink']").each(function(){var b=a(this);var d=a("."+b.attr("ca-from"));var e=a("."+b.attr("ca-to"));if(a.caValidator.found(d)&&a.caValidator.found(e)){b.click(function(f){f.preventDefault();d.slideUp("slow");e.slideDown("slow",function(){c.loadModalAjaxPage(a,e,c,b.attr("ca-param"))})})}});b.find("a[href='#']").each(function(){var b=a(this);b.click(function(a){a.preventDefault()})});b.find("a[ca-type='caModalLink']").each(function(){var b=a(this);var d=a("."+b.attr("ca-ref"));if(a.caValidator.found(d)){var e=b.attr("ca-page");if(d.attr("ca-type")==="caModalContainer"&&e){var f=a("."+e);if(a.caValidator.found(f)){b.click(function(e){e.preventDefault();c.loadModal(a,d,f,c,false,b.attr("ca-param"))})}}}})},initFeaturedGallery:function(a,b){b.each(function(){var b=a(this);var c=b.find(".featured-thumbs .thumb-image");c.click(function(c){c.preventDefault();var d=a(this).attr("img");var e=b.find(".mainImg .active");if(d!=e.attr("src")){var f=a(".mainImg .last-active").attr("src",d);f.stop().css({opacity:0}).addClass("active").removeClass("last-active");e.stop().removeClass("active").addClass("last-active");f.animate({opacity:1},1500)}});b.find(".thumbs-container .minimize").click(function(){b.find(".thumbs-container").slideToggle("slow");b.find(".maximize").slideToggle(600)});b.find(".maximize").click(function(){b.find(".thumbs-container").slideToggle("slow");b.find(".maximize").slideToggle("fast")});var d=b.find("."+b.attr("ca-ref"));if(a.caValidator.found(d)){b.bind("caSecondLoad",function(a){d.slideToggle("slow")})}})},initDealUpdate:function(a,b){var c=b.attr("ca-updateUrl");var d=b.attr("ca-updateTime");var e=b.attr("ca-updateTarget");var f=b.attr("ca-updateParam");if(c.length>0&&d.length>0&&e.length>0&&f.length>0){e=a("."+e);d=parseInt(d);if(a.caValidator.found(e)&&d>0){var g=e.find(".col1");if(a.caValidator.found(g)){b.updateDealInfo=function(){a.ajax({url:c,data:f,success:function(c){if(c!=null&&c.indexOf("<body>")<0){var f=a(c);var h=f.find(".col1");if(a.caValidator.found(h)){if(h.html().indexOf("Sold Out")>=0){var i=a(".stampSoldOut");if(a.caValidator.found(i)){i.removeClass("hidden")}e.html(f);e.find("a[href='#']").each(function(){var b=a(this);b.click(function(a){a.preventDefault()})})}else{g.html(h.html());setTimeout(function(){b.updateDealInfo()},d)}}}}})};setTimeout(function(){b.updateDealInfo()},d)}}}},initModalContainer:function(a,b){var c=this;b.each(function(){var b=a(this);var d=b.attr("ca-load");var e=[],f;var g=window.location.href.slice(window.location.href.indexOf("?")+1).split("&");for(var h=0;h<g.length;h++){f=g[h].split("=");e.push(f[0]);e[f[0]]=f[1]}var i=e.toString();var j=i.search(/nomodal/i);if(d&&d==="first"&&j<=-1){b.bind("caFirstLoad",function(d){var e=b.attr("ca-ref");if(e){var f=a("."+e);if(a.caValidator.found(f)){c.loadModal(a,b,f,c,true,b.attr("ca-param"))}}})}})},initDealBar:function(a,b){var c=this;b.each(function(){var d=a(this);var e=d.attr("ca-ref");if(e!=null&&e!="undefined"){e="."+e;var f=false;var g=d.attr("ca-floatAll");if(g==null||g==="undefined"||g==="none"){f=true}else{g=g==="always"}if(!f){d.floatBar(e,{floatAll:g})}else{d.find(".dealHeader").removeClass("pointer")}}var h=d.attr("ca-updateUrl");var i=d.attr("ca-updateTime");var j=d.attr("ca-updateTarget");var k=d.attr("ca-updateParam");if(h.length>0&&i.length>0&&j.length>0&&k.length>0){j=d.find("."+j);i=parseInt(i);if(a.caValidator.found(j)&&i>0){d.updateDeals=function(){a.ajax({url:h,data:k,success:function(e){var f=j.find("li[class='active']");if(a.caValidator.found(f)){f=f.find("a");if(!a.caValidator.found(f)){f=undefined}else{f=a(f[0]).attr("rel")}}else{f=undefined}if(e.length>0&&e.indexOf("<body>")<0){j.html(e);c.initSliderBar(a,b,f)}setTimeout(function(){d.updateDeals()},i)}})};setTimeout(function(){d.updateDeals()},i)}}c.initSliderBar(a,b)})},initSliderBar:function(a,b,c){var d=undefined;if(c){d="a[rel='"+c+"']"}b.find("div[ca-type='caLoopedSlider']").each(function(){var b=a(this);var c=b.attr("ca-transition");if(c.length>0){c=parseInt(c)}b.loopedSlider({autoStart:c>0?c:false});if(d){var e=b.find(d);if(a.caValidator.found(e)){e.trigger("activate")}}})},loadModal:function(a,b,c,d,e,f){var g=b.attr("ca-opacity");var h=b.attr("ca-minWidth");var i=b.attr("ca-minHeight");var j=b.attr("ca-topPos");if(g&&h&&i&&j){b.modal({opacity:parseInt(g),minWidth:parseInt(h),minHeight:parseInt(i),persist:true,position:[j],containerCss:"popContainer",overlayId:"overlayContainer",onOpen:function(b){var e=a(".modalCloseImg").hide();b.overlay.fadeIn("slow",function(){b.container.fadeIn("fast",function(){b.data.show(function(){c.show();e.show();d.loadModalAjaxPage(a,c,d,f)})})})},onClose:function(b){a(".modalCloseImg").hide();b.data.fadeOut("fast",function(){b.container.hide();b.overlay.fadeOut("slow",function(){c.hide();if(e){d.onSecondLoad(a)}a(".caModalHide").hide();a(".caModalShow").show();a(".caModalPage").hide();a.modal.close()})})}})}},loadModalAjaxPage:function(a,b,c,d){var e=b.attr("ca-load")&&b.attr("ca-load")==="true";if(b.html().indexOf('ca-ajax="true"')>=0||e){var f=b.attr("ca-ref");if(f){if(d&&d.length>0){f+="?"+d}a.ajax({url:a.caValidator.addStamp(f,true),success:function(d){var e=a("<div>"+d+"</div>");c.initInterface(a,e);b.empty().prepend(e)}})}}},onFirstLoad:function(a){var b=this;var c=false;var d=a("div[ca-load='first']");if(a.caValidator.found(d)){d.trigger("caFirstLoad")}else{b.onSecondLoad(a)}},onSecondLoad:function(a){a("div[ca-load='second']").trigger("caSecondLoad")},scrollWin:function(a,b){var c="#"+b;a("html,body").animate({scrollTop:a(c).offset().top},2e3)},trackGA:function(a,b){if(typeof _gaq!="undefined"&&_gaq){if(b==1){_gaq.push(["_trackEvent","Sign Up","Submit","Sign Up"])}else if(b==2){_gaq.push(["_trackEvent","Subscribe","View","View the best deals onsale in your city"])}else if(b==3){_gaq.push(["_trackEvent","Purchase","Submit","Purchase on cart"])}}},trackYP:function(a,b){var c="";if(b==1){c="1390744"}else if(b==2){c="1392471"}else if(b==3){c="1393471"}if(c.length>0){var d=window.location.protocol;var e="";if(d=="http:"){e="//ads.bluelithium.com/pixel"}else{e="//ad.yieldmanager.com/pixel"}if(e.length>0){a.getScript(d+e+"?id="+c+"&t=1")}}}}}();jQuery.caFBConnect=function(){return{init:function(a,b){var c=this;a(window).load(function(){var c=b.attr("ca-key");if(c){FB.init({appId:c,status:true,cookie:true,xfbml:true,oauth:true});a.data(b,"init",true)}});if(b){c.reBind(a,b)}},reBind:function(a,b){var c=b.attr("ca-url");if(c){b.bind("click",function(d){d.preventDefault();if(a.data(b,"init")){FB.login(function(a){if(a.authResponse){var d="";var e=b.attr("ca-redirect");if(e&&e.length>0){d=encodeURI(e)}else{d=encodeURI(window.location.href.replace(location.protocol+"//"+location.host,""))}window.location.replace(c+"?url="+d)}},{scope:"email,user_about_me,user_location"})}})}}}}();jQuery.caDealSubscribe=function(){return{init:function(a,b,c){var d=this;if(c){b=a("."+c.attr("ca-ref"));if(!a.caValidator.found(b)){return}}var e=b.find(".subscribeAjaxRequest");var f=b.find(".subscribeAjaxResponse");var g=b.find(".subscribeAjaxLoader");var h=b.find(".caDealSubscribeForm");var i=h.find(".subLocation");var j=h.find(".subEmail");var k=h.find(".subEmailMsg");if(a.caValidator.found(e)&&a.caValidator.found(f)&&a.caValidator.found(g)&&a.caValidator.found(h)&&a.caValidator.found(k)&&a.caValidator.found(i)&&a.caValidator.found(j)){if(!c){var l=b.find(".boxClose");if(a.caValidator.found(l)){l.click(function(b){b.preventDefault();var c=a(this);var h=a("."+c.attr("ca-ref"));if(a.caValidator.found(h)){d.resetInterface(a,h,f,g,k,e,c.attr("ca-ref"))}})}j.bind("focus",function(){if(j.val()==="Your email address"){j.val("")}});j.bind("blur",function(){if(j.val()==""){j.val("Your email address")}});var m=h.find(".subscribeBtn");if(a.caValidator.found(m)){m.click(function(c){c.preventDefault();d.formSubmit(a,h,j,i,k,e,f,g,b.attr("ca-opt"))})}h.submit(function(c){c.preventDefault();d.formSubmit(a,h,j,i,k,e,f,g,b.attr("ca-opt"))})}else{c.click(function(h){h.preventDefault();d.resetInterface(a,b,f,g,k,e,c.attr("ca-ref"))})}}},resetInterface:function(a,b,c,d,e,f,g){if(g){a(".caBoxHide").each(function(){var b=a(this);if(!b.hasClass(g)&&b.css("display")==="block"){b.slideToggle("fast")}})}b.slideToggle("slow",function(){c.hide();d.hide();e.hide();f.show()})},formSubmit:function(a,b,c,d,e,f,g,h,i){if(!a.caValidator.isEmailValid(c)){e.html("Invalid email address.");g.hide();e.show();c.focus();return}else{e.hide();f.hide();g.hide();h.show();a.ajax({type:"POST",url:b.attr("action"),data:"prs=1&location="+d.val()+"&email="+c.val()+"&optype="+i,success:function(b){var c=a("<div>"+b+"</div>");var d=c.find('div[ca-error="true"]');if(a.caValidator.found(d)){f.show()}else{a.caEvent.trackGA(a,2);a.caEvent.trackYP(a,2)}g.html(c.html());a.caEvent.initInterface(a,g);h.hide();g.show()},error:function(a,b,c){f.show();h.hide();g.html('<p class="fontWhite fontsize14">Sorry error encountered while processing your request, please try again later.</p>');g.show()}})}}}}();jQuery.caLoginForm=function(){return{init:function(a,b){var c=this;var d=b.find(".loginFormAjaxResponse");var e=b.find(".loginFormAjaxLoader");if(a.caValidator.found(d)&&a.caValidator.found(e)){var f=b.find(".caLoginRequestForm");if(a.caValidator.found(f)){f.submit(function(g){g.preventDefault();c.formSubmit(a,b,f,d,e)});var g=b.find(".loginFormBtn");if(a.caValidator.found(g)){g.click(function(g){g.preventDefault();c.formSubmit(a,b,f,d,e)})}f.find(":input").bind("keypress",function(g){var h=g.keyCode?g.keyCode:g.which;if(h==13){c.formSubmit(a,b,f,d,e)}})}}},formSubmit:function(a,b,c,d,e){var f=this;var g=c.find(".loginEmail");var h=c.find(".loginPassword");if(a.caValidator.found(g)&&a.caValidator.found(h)){if(!a.caValidator.isEmailValid(g)){a.caValidator.message("Invalid email address.",d);g.focus();return}else if(a.caValidator.isEmpty(h)||a.caValidator.isWithSpace(h)){a.caValidator.message("Invalid password.",d);h.focus();return}else{d.hide();e.show();var i=c.serialize();a.caValidator.resetForm(a,c,true);jQuery.getJSON(c.attr("action")+"?"+i+"&callback=?",function(f){var g=parseInt(f.status);if(g==0||g==1){a.caValidator.resetForm(a,c,false);e.hide();var h="Login details incorrect.";if(g==0){h="Sorry error encountered while processing your request, please try again later."}a.caValidator.message(h,d)}else if(g==2){var i="";var j=b.attr("ca-redirect");if(j&&j.length>0){i=j}if(i.length>0){window.location.replace(i)}else{location.reload()}}}).error(function(){jQuery.caValidator.resetForm(a,c,false);e.hide();a.caValidator.message("Sorry error encountered while processing your request, please try again later.",d)})}}}}}();jQuery.caSignUpForm=function(){return{init:function(a,b){var c=this;var d=b.find(".signUpFormAjaxResponse");var e=b.find(".signUpFormAjaxLoader");if(a.caValidator.found(d)&&a.caValidator.found(e)){var f=b.find(".caSignUpRequestForm");if(a.caValidator.found(f)){f.submit(function(b){b.preventDefault();c.formSubmit(a,f,d,e)});var g=b.find(".signUpFormBtn");if(a.caValidator.found(g)){g.click(function(b){b.preventDefault();c.formSubmit(a,f,d,e)})}}}},formSubmit:function(a,b,c,d){var e=this;var f=b.find(".signUpFirstName");var g=b.find(".signUpLastName");var h=b.find(".signUpEmail");var i=b.find(".signUpPassword");var j=b.find(".signUpConfirmPass");var k=b.find(".signUpTerms");var l=b.find("#newPhoneNumber");var m=b.find("#newMobileNumber");if(a.caValidator.found(f)&&a.caValidator.found(g)&&a.caValidator.found(h)&&a.caValidator.found(i)&&a.caValidator.found(j)&&a.caValidator.found(k)){if(a.caValidator.isEmpty(f)||!a.caValidator.isValidChar(f)){a.caValidator.message("Invalid first name.",c);f.focus();return}else if(a.caValidator.isEmpty(g)||!a.caValidator.isValidChar(g)){a.caValidator.message("Invalid last name.",c);g.focus();return}else if(!a.caValidator.isEmailValid(h)){a.caValidator.message("Invalid email address.",c);h.focus();return}else if(a.caValidator.isEmpty(i)||a.caValidator.isWithSpace(i)){a.caValidator.message("Invalid password.",c);i.focus();return}else if(!a.caValidator.withMinLen(i,6)){a.caValidator.message("Password is too short (minimum is 6 characters).",c);i.focus();return}else if(!a.caValidator.isMatch(i,j)){a.caValidator.message("Invalid password confirmation.",c);j.focus();return}else if(a.caValidator.isEmpty(l)){a.caValidator.message("Phone Number is Missing",c);return}else if(!k.is(":checked")){a.caValidator.message("Please read and confirm the terms and conditions.",c);return}else{c.hide();d.show();var n=b.serialize();a.caValidator.resetForm(a,b,true);jQuery.getJSON(b.attr("action")+"?"+n+"&callback=?",function(e){var f=parseInt(e.status);if(f==0||f==1||f==2){a.caValidator.resetForm(a,b,false);d.hide();var g="Invalid sign up data.";if(f==0){g="Sorry error encountered while processing your request, please try again later."}else if(f==2){g="Duplicate Email Address! This email already has an account perhaps you want to log in instead?"}a.caValidator.message(g,c)}else if(f==3){var h=e.data;if(h&&h.length>0){c.html(h)}a.caEvent.trackGA(a,1);a.caEvent.trackYP(a,1);setTimeout(function(){location.reload()},2500)}}).error(function(){a.caValidator.resetForm(a,b,false);d.hide();a.caValidator.message("Sorry error encountered while processing your request, please try again later.",c)})}}}}}();jQuery.caRestorePasswordForm=function(){return{init:function(a,b){var c=this;var d=b.find(".restorePassFormAjaxResponse");var e=b.find(".restorePassFormAjaxRequest");var f=b.find(".restorePassFormAjaxLoader");if(a.caValidator.found(d)&&a.caValidator.found(e)&&a.caValidator.found(f)){var g=b.find(".caRestorePasswordRequestForm");if(a.caValidator.found(g)){g.submit(function(b){b.preventDefault();c.formSubmit(a,g,d,e,f)});var h=b.find(".restorePassFormBtn");if(a.caValidator.found(h)){h.click(function(b){b.preventDefault();c.formSubmit(a,g,d,e,f)})}}}},formSubmit:function(a,b,c,d,e){var f=this;var g=b.find(".restorePassEmail");if(a.caValidator.found(g)){if(!a.caValidator.isEmailValid(g)){a.caValidator.message("Invalid email address.",c);g.focus();return}else{c.hide();e.show();var h=b.serialize();jQuery.caValidator.resetForm(a,b,true);jQuery.getJSON(b.attr("action")+"?"+h+"&callback=?",function(f){var g=parseInt(f.status);if(g==0||g==1||g==2){jQuery.caValidator.resetForm(a,b,false);e.hide();var h="Invalid restore password data.";if(g==0){h="Sorry error encountered while processing your request, please try again later."}else if(g==2){h="This email does not have a registered account, perhaps you want to sign up instead?"}a.caValidator.message(h,c)}else if(g==3){d.hide();e.hide();c.html('<p class="padT5">Please check your email for instructions on restoring your password.</p>');c.show()}}).error(function(){jQuery.caValidator.resetForm(a,b,false);e.hide();a.caValidator.message("Sorry error encountered while processing your request, please try again later.",c)})}}}}}();jQuery.caResetPasswordForm=function(){return{init:function(a,b){var c=this;var d=b.find(".resetPassFormAjaxResponse");var e=b.find(".resetPassFormAjaxRequest");var f=b.find(".resetPassFormDone");var g=b.find(".resetPassFormAjaxLoader");if(a.caValidator.found(d)&&a.caValidator.found(e)&&a.caValidator.found(g)&&a.caValidator.found(f)){var h=b.find(".caResetPassRequestForm");if(a.caValidator.found(h)){h.submit(function(b){b.preventDefault();c.formSubmit(a,h,d,e,g,f)});var i=b.find(".resetPassFormBtn");if(a.caValidator.found(i)){i.click(function(b){b.preventDefault();c.formSubmit(a,h,d,e,g,f)})}}}},formSubmit:function(a,b,c,d,e,f){var g=this;var h=b.find(".resetPassPassword");var i=b.find(".resetPassRetypePass");if(a.caValidator.found(h)&&a.caValidator.found(i)){if(a.caValidator.isEmpty(h)||a.caValidator.isWithSpace(h)){a.caValidator.message("Invalid password.",c);h.focus();return}else if(!a.caValidator.withMinLen(h,6)){a.caValidator.message("Password is too short (minimum is 6 characters).",c);h.focus();return}else if(!a.caValidator.isMatch(h,i)){a.caValidator.message("Invalid password confirmation.",c);i.focus();return}else{c.hide();e.show();var j=b.serialize();jQuery.caValidator.resetForm(a,b,true);jQuery.getJSON(b.attr("action")+"?"+j+"&callback=?",function(g){var h=parseInt(g.status);if(h==0||h==1||h==2){jQuery.caValidator.resetForm(a,b,false);e.hide();var i="Invalid reset password data.";if(h==0){i="Sorry error encountered while processing your request, please try again later."}else if(h==2){i="Invalid password."}a.caValidator.message(i,c)}else if(h==3){d.hide();e.hide();c.hide();f.show()}}).error(function(){jQuery.caValidator.resetForm(a,b,false);e.hide();a.caValidator.message("Sorry error encountered while processing your request, please try again later.",c)})}}}}}();jQuery.caTabContainer=function(){return{init:function(a,b){var c=this;var d=b.attr("ca-tab");var e=false;var f=null;b.find("a[ca-tab]").each(function(){var g=a(this);var h=g.attr("ca-tab");if(h){var i=b.find("div[ca-tab='"+h+"']");if(a.caValidator.found(i)){if(d){if(h===d){f=i}else{i.hide()}}else if(!e){f=i;e=true}else{i.hide()}g.bind("click",function(d){d.preventDefault();c.showTab(a,b,i,"",f);f=i})}}});a(window).load(function(){c.showTab(a,b,f,b.attr("ca-data"))})},showTab:function(a,b,c,d,e){var f=c&&c.attr("ca-load")&&c.attr("ca-load")==="true";if(c!=e||f){var g=c.attr("ca-ajax")&&c.attr("ca-ajax")==="true";var h=c.attr("ca-ref")?c.attr("ca-ref"):"";if(g&&(c.html().indexOf("caAjaxLoader")>=0||f)){if(h.length>0){if(d&&d.length>0){h+="?"+d}a.ajax({url:a.caValidator.addStamp(h,true),success:function(b){var d=a("<div>"+b+"</div>");c.empty().prepend(d);a.caEvent.initInterface(a,c)}})}}c.show();if(c!=e){var i=c.attr("ca-tab");if(i){b.find("li[ca-tab='"+i+"']").addClass("ui-tabs-selected")}if(e){e.hide();var j=e.attr("ca-tab");if(j){b.find("li[ca-tab='"+j+"']").removeClass("ui-tabs-selected")}}}}}}}();jQuery.caDiscussion=function(){return{init:function(a,b){var c=this;var d=b.find(".caDiscussionForm");if(a.caValidator.found(d)){b.find("a[ca-type='caDiscPage']").each(function(){var e=a(this);e.bind("click",function(f){f.preventDefault();var g=e.attr("ca-ref");if(g){d.find(".discPage").val(g);d.find(".discType").val("page");c.submitRequest(a,b,d)}})});b.find("a[ca-type='caDiscFollow']").each(function(){var e=a(this);e.bind("click",function(f){f.preventDefault();var g=e.attr("ca-ref");if(g){d.find(".discType").val(parseInt(g)>0?"unFollow":"follow");c.submitRequest(a,b,d)}})});b.find("a[ca-type='caDiscPost']").each(function(){var e=a(this);e.bind("click",function(f){f.preventDefault();var g=e.attr("ca-ref");if(g){var h=b.find("."+g);if(a.caValidator.found(h)){if(a.caValidator.isEmpty(h)||!a.caValidator.isValidChar(h)){var i=b.find(".resDiv");if(a.caValidator.found(i)){a.caValidator.message("Invalid Comment.",i)}h.focus();return}else{d.find(".discMessage").val(h.val());d.find(".discType").val("message");c.submitRequest(a,b,d)}}}})});b.find("a[ca-type='caDiscDelete']").each(function(){var e=a(this);e.bind("click",function(e){e.preventDefault();d.find(".discType").val("topicDelete");c.submitRequest(a,b,d,true)})});b.find("a[ca-type='caDiscPostDel']").each(function(){var e=a(this);e.bind("click",function(f){f.preventDefault();var g=e.attr("ca-ref");if(g){d.find(".discPostId").val(g);d.find(".discType").val("messageDelete");c.submitRequest(a,b,d)}})})}},submitRequest:function(a,b,c,d){var e=b.parent();a.ajax({type:"POST",url:c.attr("action"),data:c.serialize(),success:function(b){if(d){var c=jQuery.parseJSON(b);if(c.status==1){var f=c.data;if(f&&f.length>0){window.location.replace(f)}}}else{var g=a("<div>"+b+"</div>");e.empty().html(g.html());a.caEvent.initInterface(a,e)}}})}}}();jQuery.caDiscussionTopicForm=function(){return{init:function(a,b){var c=this;var d=b.find(".discTopicFormAjaxResponse");var e=b.find(".discTopicFormAjaxLoader");if(a.caValidator.found(d)&&a.caValidator.found(e)){var f=b.find(".caDiscTopicRequestForm");if(a.caValidator.found(f)){f.submit(function(b){b.preventDefault();c.formSubmit(a,f,d,e)});var g=b.find(".discussionTopicFormBtn");if(a.caValidator.found(g)){g.click(function(b){b.preventDefault();c.formSubmit(a,f,d,e)})}}}},formSubmit:function(a,b,c,d){var e=this;var f=b.find(".dscCategory");var g=b.find(".dscTopic");var h=b.find(".dscComment");if(a.caValidator.found(f)&&a.caValidator.found(g)){if(parseInt(f.val())<=0){a.caValidator.message("Invalid category.",c);return}else if(a.caValidator.isEmpty(g)||!a.caValidator.isValidChar(g)){a.caValidator.message("Invalid topic.",c);g.focus();return}else if(a.caValidator.found(h)&&a.caValidator.isEmpty(h)||!a.caValidator.isValidChar(h)){a.caValidator.message("Invalid comment.",c);h.focus();return}else{c.hide();d.show();var i=b.serialize();jQuery.caValidator.resetForm(a,b,true);jQuery.getJSON(b.attr("action")+"?"+i+"&callback=?",function(e){var f=parseInt(e.status);if(f==0||f==1){jQuery.caValidator.resetForm(a,b,false);d.hide();var g="Topic details incorrect.";if(f==0){g="Sorry error encountered while processing your request, please try again later."}a.caValidator.message(g,c)}else if(f==2){var h=e.data;if(h&&h.length>0){window.location.replace(h)}else{location.reload()}}}).error(function(){jQuery.caValidator.resetForm(a,b,false);d.hide();a.caValidator.message("Sorry error encountered while processing your request, please try again later.",c)})}}}}}();jQuery.caCoupon=function(){return{init:function(a,b){var c=this;var d=b.find(".caCouponForm");if(a.caValidator.found(d)){var e=b.find("a[ca-type='caCouponPage']");if(a.caValidator.found(e)){e.bind("click",function(e){var f=a(this);e.preventDefault();var g=f.attr("ca-ref");var h=d.find(".page");if(g&&a.caValidator.found(h)){h.val(g);c.formSubmit(a,d,b.parent())}})}var f=b.find("a[ca-type='caCouponSort']");if(a.caValidator.found(f)){f.bind("click",function(e){var f=a(this);e.preventDefault();var g=f.attr("ca-ref");var h=d.find(".sort");if(g&&a.caValidator.found(h)){var i=d.find(".page");var j=d.find(".size");if(a.caValidator.found(i)&&a.caValidator.found(j)){i.val("1");j.val("0")}h.val(g);c.formSubmit(a,d,b.parent())}})}var g=b.find("a[ca-type='caCouponUsed']");if(a.caValidator.found(g)){g.bind("click",function(e){var f=a(this);e.preventDefault();var g=f.attr("ca-ref");if(g){var h=d.find(".type");var i=d.find(".ref");if(a.caValidator.found(h)&&a.caValidator.found(i)){h.val("mark");i.val(g);c.formSubmit(a,d,b.parent())}}})}}},formSubmit:function(a,b,c){a.ajax({type:"POST",url:b.attr("action"),data:a.caValidator.addStamp(b.serialize()),success:function(b){var d=a("<div>"+b+"</div>");c.empty().html(d.html());a.caEvent.initInterface(a,c)}})}}}();jQuery.caPayment=function(){return{init:function(a,b){var c=this;var d=b.find(".caPaymentForm");var e=b.find(".paymentAjaxResponse");var f=b.find(".paymentAjaxLoader");var g=b.find("#opType");var h=b.find("#usState");var i=b.find("#caState");var j=b.find("#auState");var k=d.find("#newPhoneNumber");var l=d.find("#newMobileNumber");if(a.caValidator.found(d)&&a.caValidator.found(e)&&a.caValidator.found(h)&&a.caValidator.found(i)&&a.caValidator.found(j)&&a.caValidator.found(f)&&a.caValidator.found(g)){var m=new Array;m[0]=h.val().split(",");m[1]=i.val().split(",");m[2]=j.val().split(",");d.find("a[ca-type='caPurchaseBtn']").each(function(){var b=a(this);b.bind("click",function(b){b.preventDefault();var h=a.caValidator.found(d.find(".paymentNew"));var i=true;var j="";if(!a.caValidator.found(a("#purchMyTotal"))){a.caValidator.message("Cart cannot be empty.",e);return false}if(h){j="NewCustomerPurchase";i=c.isFormValid(a,d,e,true)}else{var k=c.isPurchaseValid(a,e);if(k==0){i=false}else if(k==1){j="SystemPurchase";i=c.isFormValid(a,d,e,h,true)}else if(k==2){j="CreditCardPurchase";i=c.isFormValid(a,d,e,false)}}if(i&&j.length>0){g.val(j);c.formSubmit(a,d,e,f)}})});d.find("#newCountry").each(function(){var b=a(this);b.bind("change",function(b){var e=a(this).val();var f=d.find("#newState");var g=d.find("#stateDiv");if(a.caValidator.found(f)&&a.caValidator.found(g)){var h=-1;if(e=="US"){h=0}else if(e=="CA"){h=1}else if(e=="AU"){h=2}if(h>-1){var i="";for(var j=0;j<m[h].length;j++){var k=m[h][j].split("|");i+=c.createOption(k[0],k[1])}f.html(i);g.show()}else{f.val("");g.hide()}}})})}},createOption:function(a,b){if(b){return'<option value="'+a+'">'+b+"</option>"}else{return""}},isPurchaseValid:function(a,b){var c=a("#purchAmtToApply");var d=a("#purchMyTotal");if(a.caValidator.found(c)&&a.caValidator.found(d)){var e=parseFloat(c.val());var f=parseFloat(d.html());if(e<0){a.caValidator.message("Amount to apply to this deal cannot be negative.",b);c.focus();return 0}else if(f<0){a.caValidator.message("My total cannot be negative.",b);return 0}else if(e>0&&f>0){a.caValidator.message("Cannot purchase using System and Credit Card at the same time.",b);c.focus();return 0}if(e>0&&f==0){return 1}else{return 2}}else if(a.caValidator.found(d)){return 2}else{a.caValidator.message("Cart cannot be empty.",b);return 0}return 0},isSimpleFieldValid:function(a,b,c,d,e,f){var g=true;if(a.caValidator.isEmpty(d)){a.caValidator.message("Invalid country.",c);g=false;d.focus()}else if(a.caValidator.isEmpty(e)||!a.caValidator.withMaxLen(e,30)||!a.caValidator.isValidChar(e)){a.caValidator.message("Invalid city.",c);g=false;e.focus()}else if(d.val()=="US"&&(a.caValidator.isEmpty(f)||!a.caValidator.withMaxLen(f,30))){a.caValidator.message("Invalid state.",c);g=false;f.focus()}return g},isFormValid:function(a,b,c,d,e){b.find(".emailSignInMsg").hide();var f=this;var g=b.find("#newFirstName");var h=b.find("#newLastName");var i=b.find("#newCountry");var j=b.find("#newCity");var k=b.find("#newState");var l=b.find("#newAddress");var m=b.find("#newZip");var n=b.find("#newCardtype");var o=b.find("#newCardnum");var p=b.find("#newExpMo");var q=b.find("#newExpYr");var r=b.find("#newCode");var s=a("#purchMyGrandTotal");var t=a.caValidator.found(s);var u=parseFloat(s.text())==0?true:false;var v=b.find("#newPhoneNumber");var w=b.find("#newMobileNumber");var x=true;if(a.caValidator.found(i)&&a.caValidator.found(j)&&a.caValidator.found(k)){if(e){return f.isSimpleFieldValid(a,b,c,i,j,k)}else if(a.caValidator.found(g)&&a.caValidator.found(h)&&a.caValidator.found(l)&&a.caValidator.found(m)){if(a.caValidator.isEmpty(g)||!a.caValidator.isValidChar(g)||!a.caValidator.withMaxLen(g,30)){a.caValidator.message("Invalid first name.",c);x=false;g.focus()}else if(a.caValidator.isEmpty(h)||!a.caValidator.isValidChar(h)||!a.caValidator.withMaxLen(h,30)){a.caValidator.message("Invalid last name.",c);x=false;h.focus()}if(x&&d){var y=b.find("#newEmail");var z=b.find("#newReEmail");var A=b.find("#newPassword");if(a.caValidator.found(y)&&a.caValidator.found(z)&&a.caValidator.found(A)){if(!a.caValidator.isEmailValid(y)){a.caValidator.message("Invalid email address.",c);x=false;y.focus()}else if(!a.caValidator.isMatch(y,z)){a.caValidator.message("Email Address do not match.",c);x=false;z.focus()}else if(a.caValidator.isEmpty(A)||a.caValidator.isWithSpace(A)){a.caValidator.message("Invalid password.",c);x=false;A.focus()}else if(!a.caValidator.withMinLen(A,6)){a.caValidator.message("Password is too short (minimum is 6 characters).",c);x=false;A.focus()}}}if(x){if(!f.isSimpleFieldValid(a,b,c,i,j,k)){x=false}else if(a.caValidator.isEmpty(i)){a.caValidator.message("Invalid country.",c);x=false;i.focus()}else if(a.caValidator.isEmpty(j)||!a.caValidator.withMaxLen(j,30)||!a.caValidator.isValidChar(j)){a.caValidator.message("Invalid city.",c);x=false;j.focus()}else if(i.val()=="US"&&(a.caValidator.isEmpty(k)||!a.caValidator.withMaxLen(k,30))){a.caValidator.message("Invalid state.",c);x=false;k.focus()}else if(a.caValidator.isEmpty(l)||!a.caValidator.withMaxLen(l,50)||!a.caValidator.isValidChar(l)){a.caValidator.message("Invalid address.",c);x=false;l.focus()}else if(a.caValidator.isEmpty(m)||i.val()!="US"&&!a.caValidator.isNumeric(m)||i.val()=="US"&&!a.caValidator.isZipCodeValid(m)){a.caValidator.message("Invalid zip/postal code.",c);x=false;m.focus()}else if(a.caValidator.isEmpty(v)){a.caValidator.message("Phone Number is Missing",c);x=false;v.focus()}else if(!t||!u){if(a.caValidator.isEmpty(n)||!a.caValidator.withMaxLen(n,30)){a.caValidator.message("Invalid card type.",c);x=false;n.focus()}else if(!a.caValidator.isNumeric(o)||a.caValidator.isEmpty(o)||!a.caValidator.withMaxLen(o,30)){a.caValidator.message("Invalid card number.",c);x=false;o.focus()}else if(a.caValidator.isEmpty(p)||!a.caValidator.withMaxLen(p,30)){a.caValidator.message("Invalid expiry month.",c);x=false;p.focus()}else if(a.caValidator.isEmpty(q)||!a.caValidator.withMaxLen(q,30)){a.caValidator.message("Invalid expiry year.",c);x=false;q.focus()}else if(!a.caValidator.isNumeric(r)||a.caValidator.isEmpty(r)||!a.caValidator.withMaxLen(r,30)){a.caValidator.message("Invalid security code.",c);x=false;r.focus()}}}}else{x=false}}else{x=false}return x},formSubmit:function(a,b,c,d){var e=this;c.hide();d.show();var f=b.serialize();jQuery.caValidator.resetForm(a,b,true);jQuery.getJSON(b.attr("action")+"?"+f+"&callback=?",function(e){var f=parseInt(e.status);if(f==0||f==1||f==2){jQuery.caValidator.resetForm(a,b,false);d.hide();var g="Purchase details incorrect.";if(f==0){g="Sorry error encountered while processing your request, please try again later."}else if(f==2){var g=e.data;if(!g||g.length<=0){var g="Sorry error encountered while processing your request, please try again later."}else{var h=g.indexOf("[USER-ID]");if(h>0){var i=g.substring(h+9);g=g.substring(0,h);if(i&&i.length>0){var j=b.find("#tempNewUserID");if(a.caValidator.found(j)){j.val(i)}}}var k=b.find(".emailSignInMsg");if(g=="EMAILEXISTS"){k.show();return}else{k.hide()}}}a.caValidator.message(g,c)}else if(f==3){var l=e.data;if(l&&l.length>0){a.caEvent.trackGA(a,3);a.caEvent.trackYP(a,3);setTimeout(function(){window.location.replace(l)},2500)}else{d.hide();a.caValidator.message("Sorry error encountered while processing your request, please try again later.",c)}}}).error(function(){jQuery.caValidator.resetForm(a,b,false);d.hide();a.caValidator.message("Sorry error encountered while processing your request, please try again later.",c)})}}}();jQuery.caShoppingCart=function(){return{init:function(a,b){var c=this;var d=b.find(".caShoppingCartForm");if(a.caValidator.found(d)){b.find("input[ca-type='cartItem']").each(function(){var e=a(this);e.bind("keyup",function(d){var e=a(this);var f=e.attr("ca-ref");if(f){c.processCartAmount(a,b,e,f,false)}});e.bind("blur",function(e){var f=a(this);if(!a.caValidator.isNumeric(f)){f.val("0")}c.doItemUpdate(a,b,d)})});b.find("input[ca-type='cartCredit']").each(function(){var d=a(this);d.bind("keyup",function(d){var e=a(this);c.processCartAmount(a,b,e)});d.bind("blur",function(b){var c=a(this);if(!a.caValidator.isNumeric(c)){c.val("0")}})});b.find("a[ca-type='cartDelete']").each(function(){var e=a(this);e.bind("click",function(e){e.preventDefault();var f=a(this);c.doItemDelete(a,b,d,f)})});b.find("a[ca-type='cartUpdate']").each(function(){var e=a(this);e.bind("click",function(e){e.preventDefault();var f=a(this);c.doItemUpdate(a,b,d)})});b.find("input#pCode").each(function(){var e=a(this);e.bind("blur",function(e){c.doItemUpdate(a,b,d)})})}},doItemUpdate:function(a,b,c){var d=this;var e=b.find("#dealIds");var f=b.find("#dealQty");var g=b.find("#opType");if(a.caValidator.found(e)&&a.caValidator.found(f)&&a.caValidator.found(g)){var h=e.val().split(",");var i="";for(var j=0;j<h.length-1;j++){var k=h[j];var l=b.find("#qty_"+k);var m="0";if(a.caValidator.found(l)){if(a.caValidator.isNumeric(l)){m=l.val()}}i=i+k+"_"+m+","}f.val(i);g.val("update");d.submitRequest(a,b,c)}},doItemDelete:function(a,b,c,d){var e=this;var f=d.attr("ca-ref");var g=b.find("#deleteDeal");var h=b.find("#opType");if(f&&a.caValidator.found(g)&&a.caValidator.found(h)){g.val(f);h.val("delete");e.submitRequest(a,b,c)}},processCartAmount:function(a,b,c,d){var e=this;var f=c.val();if(!a.caValidator.isNumeric(c)){f=0}var g=parseFloat(f);if(d){var h=b.find("#limit_"+d);var i=b.find("#price_"+d);var j=b.find("#totPrice_"+d);if(a.caValidator.found(h)&&a.caValidator.found(i)&&a.caValidator.found(j)){var k=0;if(h.html()!=""){k=parseFloat(h.html())}var l=parseFloat(i.html());if(k!=0&&g>k){g=k;c.val(k)}j.html((g*l).toFixed(2))}}else{var m=b.find("#myCredit");if(a.caValidator.found(m)){var n=parseFloat(m.html());if(g>n){c.val(n)}}}e.computeTotal(a,b)},computeTotal:function(a,b){var c=b.find("#dealIds");var d=b.find("#purchMyTotal");if(a.caValidator.found(c)&&a.caValidator.found(d)){var e=0;var f="";var g=c.val().split(",");for(var h=0;h<g.length-1;h++){var i=b.find("#totPrice_"+g[h]);if(a.caValidator.found(i)){var j=parseFloat(i.html());e=e+j}}var k=b.find("#purchAmtToApply");if(a.caValidator.found(k)){if(a.caValidator.isNumeric(k)){e=e-parseFloat(k.val())}}d.html(e.toFixed(2))}},submitRequest:function(a,b,c){var d=b.parent();a.ajax({type:"POST",url:c.attr("action"),data:c.serialize(),success:function(b){var c=a("<div>"+b+"</div>");d.empty().html(c.html());var e=d.find("#purchMyGrandTotal").text();var f=a("div[ca-type='caPayment']");var g=f.find(".caPaymentForm");var h=g.find("#creditCardInputs");if(parseFloat(e)==0){h.hide()}else{h.show()}a.caEvent.initInterface(a,d)}})}}}();jQuery.caSendGift=function(){return{init:function(a,b){var c=this;var d=b.find(".sendGiftAjaxResponse");var e=b.find(".sendGiftAjaxLoader");if(a.caValidator.found(d)&&a.caValidator.found(e)){var f=b.find(".caSendGiftForm");if(a.caValidator.found(f)){f.submit(function(b){b.preventDefault();c.formSubmit(a,f,d,e)});var g=b.find(".saveGiftBtn");if(a.caValidator.found(g)){g.click(function(b){b.preventDefault();c.formSubmit(a,f,d,e)})}}}},formSubmit:function(a,b,c,d){var e=this;var f=b.find("#giftFrom");var g=b.find("#giftTo");var h=b.find("#giftMessage");var i=b.find("#giftEmail");if(a.caValidator.found(f)&&a.caValidator.found(g)&&a.caValidator.found(h)&&a.caValidator.found(i)){if(a.caValidator.isEmpty(f)||!a.caValidator.isValidChar(f)||!a.caValidator.withMaxLen(f,30)){a.caValidator.message("Invalid FROM name.",c);f.focus();return}else if(a.caValidator.isEmpty(g)||!a.caValidator.isValidChar(g)||!a.caValidator.withMaxLen(g,30)){a.caValidator.message("Invalid TO name.",c);g.focus();return}else if(a.caValidator.isEmpty(h)||!a.caValidator.isValidChar(h)||!a.caValidator.withMaxLen(h,330)){a.caValidator.message("Invalid message.",c);h.focus();return}else if(a("#deliveryMethod0").prop("checked")&&!a.caValidator.isEmailValid(i)||!a.caValidator.withMaxLen(i,50)){a.caValidator.message("Invalid email address.",c);i.focus();return}else{if(a("#deliveryMethod1").prop("checked")&&!a.caValidator.isEmailValid(i)){i.val("")}c.hide();d.show();var j=b.serialize();jQuery.caValidator.resetForm(a,b,true);jQuery.getJSON(b.attr("action")+"?"+j+"&callback=?",function(e){var f=parseInt(e.status);if(f==0||f==1||f==3){jQuery.caValidator.resetForm(a,b,false);d.hide();var g="Gift details incorrect.";if(f==0){g="Sorry error encountered while processing your request, please try again later."}else if(f==3){var h=e.data;if(h&&h.length>0){g=h}}a.caValidator.message(g,c)}else if(f==2){location.reload()}}).error(function(){jQuery.caValidator.resetForm(a,b,false);d.hide();a.caValidator.message("Sorry error encountered while processing your request, please try again later.",c)})}}}}}();jQuery.caCouponPasswordForm=function(){return{init:function(a,b){var c=this;var d=b.attr("ca-redirect");var e=b.find(".caCouponPassAjaxResponse");var f=b.find(".caCouponPassAjaxLoader");var g=b.find(".caCouponPassRequestForm");if(a.caValidator.found(e)&&a.caValidator.found(f)&&a.caValidator.found(g)&&d){g.submit(function(b){b.preventDefault();c.formSubmit(a,g,e,f,d)});var h=b.find(".couponPassFormBtn");if(a.caValidator.found(h)){h.click(function(b){b.preventDefault();c.formSubmit(a,g,e,f,d)})}}},formSubmit:function(a,b,c,d,e){var f=this;var g=b.find(".resetPassPassword");var h=b.find(".resetPassRetypePass");if(a.caValidator.found(g)&&a.caValidator.found(h)){if(a.caValidator.isEmpty(g)||a.caValidator.isWithSpace(g)){a.caValidator.message("Invalid password.",c);g.focus();return}else if(!a.caValidator.withMinLen(g,6)){a.caValidator.message("Password is too short (minimum is 6 characters).",c);g.focus();return}else if(!a.caValidator.isMatch(g,h)){a.caValidator.message("Invalid password confirmation.",c);h.focus();return}else{c.hide();d.show();var i=b.serialize();jQuery.caValidator.resetForm(a,b,true);jQuery.getJSON(b.attr("action")+"?"+i+"&callback=?",function(f){var g=parseInt(f.status);if(g!=4){jQuery.caValidator.resetForm(a,b,false);d.hide();var h="Invalid coupon password data.";if(g==0){h="Sorry error encountered while processing your request, please try again later."}else if(g==2){h="Invalid password."}else if(g==3){h="Sorry your coupon details is not valid."}a.caValidator.message(h,c)}else if(g==4){d.hide();c.hide();window.location.replace(e)}}).error(function(){jQuery.caValidator.resetForm(a,b,false);d.hide();a.caValidator.message("Sorry error encountered while processing your request, please try again later.",c)})}}}}}();jQuery.caMyProfile=function(){return{init:function(a,b){var c=this;var d=b.find(".myProfileAjaxResponse");var e=b.find(".myProfileAjaxLoader");var f=b.find(".caMyProfileRequestForm");var g=b.find(".myProfileFormDeleteBtn");if(a.caValidator.found(d)&&a.caValidator.found(e)&&a.caValidator.found(f)){f.submit(function(b){b.preventDefault();c.formSubmit(a,f,d,e)});var h=b.find(".myProfileFormSaveBtn");if(a.caValidator.found(h)){h.click(function(b){b.preventDefault();c.doFormSave(a,f,d,e)})}var i=b.find(".myProfileFormDeleteBtn");if(a.caValidator.found(i)){i.click(function(b){b.preventDefault();c.formSubmit(a,f,d,e,"deleteImg")})}}},doFormSave:function(a,b,c,d){var e=this;var f=b.find("#firstName");var g=b.find("#lastName");var h=b.find("#email");var i=b.find("#password1");var j=b.find("#password2");var k=b.find("#phoneNumber");var l=b.find("#mobileNumber");if(a.caValidator.found(f)&&a.caValidator.found(g)&&a.caValidator.found(h)&&a.caValidator.found(i)&&a.caValidator.found(j)){var m=b.find(".myProfilePassForm");if(a.caValidator.found(m)&&m.css("display")=="none"){i.val("");j.val("")}if(a.caValidator.isEmpty(f)||!a.caValidator.isValidChar(f)){a.caValidator.message("Invalid first name.",c);f.focus();return}else if(a.caValidator.isEmpty(g)||!a.caValidator.isValidChar(g)){a.caValidator.message("Invalid last name.",c);g.focus();return}else if(!a.caValidator.isEmailValid(h)){a.caValidator.message("Invalid email address.",c);h.focus();return}else if(a.caValidator.isEmpty(k)){a.caValidator.message("Phone Number is Missing",c);k.focus();return}else if(a.caValidator.isWithSpace(i)||a.caValidator.isWithSpace(j)){a.caValidator.message("Invalid password.",c);i.focus();return}else if(!a.caValidator.isEmpty(i)||!a.caValidator.isEmpty(j)){if(!a.caValidator.withMinLen(i,6)){a.caValidator.message("Password is too short (minimum is 6 characters).",c);i.focus();return}else if(!a.caValidator.isMatch(i,j)){a.caValidator.message("Invalid password confirmation.",c);j.focus();return}}e.formSubmit(a,b,c,d,"update")}},formSubmit:function(a,b,c,d,e){var f=b.find("#opType");if(a.caValidator.found(f)){f.val(e);c.hide();d.show();var g=b.serialize();a.caValidator.resetForm(a,b,true);jQuery.getJSON(b.attr("action")+"?"+g+"&callback=?",function(f){var g=parseInt(f.status);if(g==0||g==1||g==2){a.caValidator.resetForm(a,b,false);d.hide();var h="Invalid my profile data.";if(g==0){h="Sorry error encountered while processing your request, please try again later."}else if(g==2){var h=f.data;if(!h||h.length<=0){var h="Sorry error encountered while processing your request, please try again later."}}a.caValidator.message(h,c)}else if(g==3){var i=f.data;if(i&&i.length>0){if(e=="deleteImg"){var j=a(".myProfileFormImage");if(a.caValidator.found(j)){j.prop("src",i);var k=b.find(".myProfileFormDeleteBtn");if(a.caValidator.found(k)){k.hide()}}}else{var l=a(".myProfileFormName");if(a.caValidator.found(l)){l.html(i)}a.caValidator.message("Account has been successfully updated.",c)}}a.caValidator.resetForm(a,b,false);d.hide()}}).error(function(){a.caValidator.resetForm(a,b,false);d.hide();a.caValidator.message("Sorry error encountered while processing your request, please try again later.",c)})}}}}();jQuery.caContactUsForm=function(){return{init:function(a,b){var c=this;var d=b.find(".caContactUsAjaxResponse");var e=b.find(".caContactUsAjaxLoader");var f=b.find(".caContactUsRequestForm");if(a.caValidator.found(d)&&a.caValidator.found(e)&&a.caValidator.found(f)){f.submit(function(b){b.preventDefault();c.formSubmit(a,f,d,e)});var g=b.find(".countactUsFormBtn");if(a.caValidator.found(g)){g.click(function(b){b.preventDefault();c.formSubmit(a,f,d,e)})}}},formSubmit:function(a,b,c,d){var e=this;var f=b.find("#name");var g=b.find("#email");var h=b.find("#message");if(a.caValidator.isEmpty(f)||!a.caValidator.isValidChar(f)){a.caValidator.message("Invalid name.",c);f.focus();return}else if(!a.caValidator.isEmailValid(g)){a.caValidator.message("Invalid email address.",c);g.focus();return}else if(a.caValidator.isEmpty(h)||!a.caValidator.isValidChar(h)){a.caValidator.message("Invalid message.",c);h.focus();return}else{c.hide();d.show();var i=b.serialize();jQuery.caValidator.resetForm(a,b,true);jQuery.getJSON(b.attr("action")+"?"+i+"&callback=?",function(e){var f=parseInt(e.status);if(f!=2){jQuery.caValidator.resetForm(a,b,false);d.hide();var g="Invalid contact us data.";if(f==0){g="Sorry error encountered while processing your request, please try again later."}else if(f==1){g="Sorry your contact us details is not valid."}a.caValidator.message(g,c)}else if(f==2){d.hide();a.caValidator.message("Thanks! Your message was sent successfully. We will be in touch with you shortly.",c);jQuery.caValidator.resetForm(a,b,false)}}).error(function(){jQuery.caValidator.resetForm(a,b,false);d.hide();a.caValidator.message("Sorry error encountered while processing your request, please try again later.",c)})}}}}();jQuery.caImageHoverLink=function(){return{init:function(a,b){var c=b.attr("ca-default");var d=b.attr("ca-hover");if(c&&d){var e=new Image;e.src=c;var f=new Image;f.src=d;b.mouseover(function(){b[0].src=f.src});b.mouseout(function(){b[0].src=e.src})}}}}();jQuery.noConflict();jQuery(document).ready(function(a){a.caEvent.init(a)});jQuery(window).load(function(){jQuery.caEvent.onFirstLoad(jQuery)});jQuery(function(a){a("#newPhoneNumber").mask("(999)9?999999");a("#newMobileNumber").mask("(999)9?999999")})
