function setItemIdToBeRemoved(n){return $('input[name$="ItemIdToBeRemoved"]').val(n),!0}function setPreOrderItemIdToBeRemoved(n){return $('input[name$="ItemIdToBeRemoved"]').val(n),1>=$('input[id="removefromPreordercartbtn"]').length?(displayFancyPopupNotification($("#preorde-item-remove").html()),!1):!0}function continueBookshelfShpping(){saveBookshelfSpecification(),$("#continueshopping").trigger("click")}function saveBookshelfSpecification(){var e=$(".createCourse"),o=[],y=$("#DatePickerDateFormat").val(),n,s;for(i=1;i<=e.length;i++)for(n=e[i-1].id.split("_")[1],$(".addAnotherCourse").attr("id").split("_"),s=$('[id^="addanothercourse_'+n+'"]').attr("id").split("_")[2],j=1;j<=s;j++){var r="#level_"+n+"_"+j,l="#module_"+n+"_"+j,a="#noofstudents_"+n+"_"+j,v="#currentbooks_"+n+"_"+j,t="#startdate_"+n+"_"+j,h=$("#degreecoursename_"+n+"_"+j).val(),p="#coursenumber_"+n+"_"+j,u="#coursefrequency_"+n+"_"+j,f="#othercourses_"+n+"_"+j,r=$(r).val();""==r&&(r=0);var c="",l=$(l).val(),a=$(a).val(),v=$(v).val();0<$(t).length&&(c=$.datepicker.formatDate(y,$(t).datepicker("getDate"))),t=$(p).val(),u=$.trim($(u).val()),f=$.trim($(f).val()),"undefined"!=typeof h&&o.push({ProductId:n,Name:h,Level:r,Module:l,StudentCount:a,Description:v,StartDate:c,OrderProductVariantId:0,CourseNumber:t,CourseFrequency:u,OtherCourses:f})}$('input[name$="HoldCourseSpecification"]').val(JSON.stringify(o))}function setBookshelfItemIdToBeRemoved(n){return $('input[name$="BookshelfItemIdToBeRemoved"]').val(n),saveBookshelfSpecification(),!0}function setItemIdToBeUpdated(n){return $('input[name$="ItemIdToBeUpdated"]').val(n),!0}function LoadWaiting(n){return displayAjaxLoading(n),this.loadWaiting=n,!0}function ReLoadPage(n){return setLocation(n),LoadWaiting(!0)}function toggleChildNewsletterList(n){var t=".divChildNewsletter"+$(n).attr("id");n=$(n).children(".spanParentNewsletter"),"[-] "==$(n).text()?($(n).text("[+] "),$(t).hide()):($(n).text("[-] "),$(t).show())}function toggleAllCheckbox(n){var t=$(n).parent().parent();$(n).is(":checked")?$(t).find("input:checkbox").attr("checked",!0):$(t).find("input:checkbox").attr("checked",!1)}function selectCheckbox(n,t){var i=".divChildNewsletter"+t,u=$(i).find("input:checkbox[value=0]"),i=$(i).find("input:checkbox[value!=0]"),r;$(n).is(":checked")?(r=!0,$(i).each(function(){$(this).val()!=$(n).val()&&($(this).is(":checked")||(r=!1))}),$(u).attr("checked",r)):$(u).attr("checked",!1)}function enableDisableNewsletterSubmitButton(){var n=!1,t=$(".chkboxList").find("input:checkbox");$(t).each(function(){$(this).is(":checked")&&(n=!0)}),n?($(".submitButton").removeAttr("disabled"),$(".submitButton").removeClass("disabledButton")):($(".submitButton").prop("disabled",!0),$(".submitButton").addClass("disabledButton"))}function getE(n){if(document.getElementById)var t=document.getElementById(n);else document.all?t=document.all[n]:document.layers&&(t=document.layers[n]);return t}function OpenWindow(n,t,i,r){winprops="resizable=0, height="+i+",width="+t+",top="+(screen.height-i)/2+",left="+(screen.width-t)/2+"w",r&&(winprops+=",scrollbars=1"),window.open(n,"_blank",winprops)}function setLocation(n){window.location.href=n}function displayAjaxLoading(n){n?$(".ajax-loading-block-window").show():$(".ajax-loading-block-window").hide("slow")}function displayFancyPopupNotification(n,t,i){if(t=$("#fancy-notification"),i="","string"==typeof n)i="<p>"+n+"<\/p>";else for(var r=0;r<n.length;r++)i=i+"<p>"+n[r]+"<\/p>";t.html(i),$("#fancy-notification-Link").click()}function displayPopupNotification(n,t,i){var r,u;if(t="success"==t?$("#dialog-notifications-success"):"error"==t?$("#dialog-notifications-error"):$("#dialog-notifications-success"),r="","string"==typeof n)r="<p>"+n+"<\/p>";else for(u=0;u<n.length;u++)r=r+"<p>"+n[u]+"<\/p>";t.html(r),t.dialog({modal:i?!0:!1})}function displayBarNotification(n,t,i){var r,u;if(clearTimeout(barNotificationTimeout),r="success","success"==t?r="success":"error"==t&&(r="error"),$("#bar-notification").removeClass("success").removeClass("error"),$("#bar-notification .content").remove(),t="","string"==typeof n)t='<p class="content">'+n+"<\/p>";else for(u=0;u<n.length;u++)t=t+'<p class="content">'+n[u]+"<\/p>";$("#bar-notification").append(t).addClass(r).fadeIn("slow").mouseenter(function(){clearTimeout(barNotificationTimeout)}),$("#bar-notification .close").unbind("click").click(function(){$("#bar-notification").fadeOut("slow")}),0<i&&(barNotificationTimeout=setTimeout(function(){$("#bar-notification").fadeOut("slow")},i))}function htmlEncode(n){return $("<div/>").text(n).html()}function htmlDecode(n){return $("<div/>").html(n).text()}function SetLogoMenuStyle(n,t,i,r,u){i?(""!=n&&$("#logo").css("background-image",'url("'+n+'")'),""!=t&&$("#logo").attr("href",t)):($("#logo").addClass("hideblock"),$("#newlogo").removeClass("hideblock"),$("#imprintlogo").removeClass("hideblock"),""!=n?$("#newlogo").css("background-image",'url("'+n+'")'):$("#newlogo").css("background-image",'url("'+r+'")'),""!=u&&$("#imprintlogo").css("background-image",'url("'+u+'")'),""!=t&&$("#newlogo").attr("href",t))}function GetTwitter(n,t,i){function u(n){return n=n.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g,function(n){return'<a href="'+n+'" class="link customisable" >'+n+"<\/a>"}),n=n.replace(/\B@([_a-z0-9]+)/ig,function(n){return'<a href="http://twitter.com/'+n.substring(1)+'" style="font-weight:lighter;" target="_blank" class="link customisable" >'+n.charAt(0)+n.substring(1)+"<\/a>"}),n=n.replace(/\B#([_a-z0-9]+)/ig,function(n){return'<a href="https://twitter.com/search?q='+n.substring(1)+'" style="font-weight:lighter;" target="_blank" class="link customisable">'+n.charAt(0)+n.substring(1)+"<\/a>"})}function f(n){var i=n.split(" ");n=i[1]+" "+i[2]+", "+i[5]+" "+i[3];var t=Date.parse(n),i=1<arguments.length?arguments[1]:new Date,t=parseInt((i.getTime()-t)/1e3),r=n.substr(4,2)+" "+n.substr(0,3),t=t+60*i.getTimezoneOffset();return 60>t?"1m":120>t?"1m":3600>t?parseInt(t/60).toString()+"m":7200>t?"1h":86400>t?parseInt(t/3600).toString()+"h":r}function e(n,t){if(0<t.length)for(var u="",f="",r="",i="";0<t.length;)return i=t[0],u=i.url,f=i.display_url,r=i.expanded_url,i=i.media_url_https,r=" <a target= '_blank' href= '"+r+"' class= 'link customisable'> <img src ='"+i+"' data-src-2x = '"+r+":large' alt = 'View image on Twitter' title = 'View image on Twitter' width = '215' height = '215' />  <\/a>",n=n.replace(new RegExp(u,"g"),f),n+=r}var r="",r=r+('<div class="timeline-header customisable-border">  <h1 class="summary"> <a title="Tweets from Bloomsbury" href="https://twitter.com/'+n+'" class="customisable-highlight">Tweets<\/a> <\/h1>  <iframe scrolling="no" frameborder="0" allowtransparency="true"      src="https://platform.twitter.com/widgets/follow_button.1375828408.html#_=1378213884627&amp;align=right&amp;id=twitter-widget-1&amp;lang=en&amp;partner=undefined&amp;screen_name='+n+'&amp;show_count=false&amp;show_screen_name=false&amp;size=m"      class="twitter-follow-button twitter-follow-button" style="width: 61px; height: 20px;"      title="Twitter Follow Button" data-twttr-rendered="true"><\/iframe>  <\/div>');$.getJSON(t,function(t){var h,y,p,o;for(t=$.parseJSON(t),y="",p=1,h=""+r,h+='  <div class="stream" style="height: 175px;">  <ol class="h-feed" style=""> ',o=0;o<t.length;o++){var a=t[o].user.name,l=t[o].user.screen_name,w=t[o].user.profile_image_url_https,s=t[o].text,b=!1,v=t[o].id_str,c=t[o].entities.media;"undefined"!=typeof t[o].retweeted_status&&(w=t[o].retweeted_status.user.profile_image_url_https,a=t[o].retweeted_status.user.name,l=t[o].retweeted_status.user.screen_name,v=t[o].retweeted_status.id_str,s=t[o].retweeted_status.text,c=t[o].retweeted_status.entities.media,b=!0),t[o].text.substr(0,1),1<t[o].text.length&&20>=p&&(s=u(s),"undefined"!=typeof c&&(s=e(s,c)),h+=' <li class="tweet h-entry customisable-border"> ',h+=' <a href="https://twitter.com/'+l+"/status/"+v+'" target="_blank" class="u-url permalink customisable-highlight" >'+f(t[o].created_at)+"<\/a> ",c=' <div class="header h-card p-author"> ',c+=' <a href="https://twitter.com/'+l+'" target="_blank" class="u-url profile">  <img src="'+w+'"images/twitter-feed-icon.png" width="48" height="48" alt="twitter icon" class="u-photo avatar"/><\/a> ',c+=' <span class="full-name"> ',c+='  <span class="p-name customisable-highlight"> <strong>    <a href="https://twitter.com/'+l+'" target="_blank">'+a+"<\/a><\/strong> <\/span>",c+='  <span dir="ltr" class="p-nickname"> <a href="https://twitter.com/'+l+'" target="_blank">@'+l+"<\/a> <\/span><\/span> <\/a> <\/div>",h+=c,a='  <div class="e-entry-content"> ',a+='  <p class="e-entry-title"> '+s+" <\/p> <\/div>",h+=a,1==b&&(h+='<div id="retweet-indicator"><\/div>'),s=' <div id ="twitter-actions" class="timeline-footer customisable-border">  <ul class="tweet-actions"> ',s+='  <li> <a href="https://twitter.com/intent/tweet?in_reply_to='+v+'" title="Reply" class="reply-action web-intent" > <i class="ic-reply ic-mask"><\/i> <\/a> <\/li> ',s+='  <li> <a href="https://twitter.com/intent/retweet?in_reply_to='+v+'" title="Retweet" class="retweet-action web-intent" > <i class="ic-retweet ic-mask"><\/i> <\/a> <\/li> ',s+='  <li> <a href="https://twitter.com/intent/favorite?in_reply_to='+v+'" title="Favorite" class="favorite-action web-intent" > <i class="ic-fav ic-mask"><\/i> <\/a> <\/li> ',s+=" <\/ul> <\/div> ",h+=s,h+="  <\/li>",p++)}h+="  <\/ol>     <\/div> ",y+='   <div class="bottom-footer">     <a href="https://twitter.com/intent/tweet?screen_name='+n+'" class="tweet-box-button web-intent">Tweet to @'+n+"    <\/a> <\/div>",$("#"+i).html(h),$("#"+i).append(y),$(".e-entry-content").hover(function(){$(this).find("#twitter-actions").css({display:"block",opacity:0,"margin-top":-20}),$(this).find("#twitter-actions").animate({opacity:1,"margin-top":0},200)},function(){$(this).find("#twitter-actions").animate({opacity:0,"margin-top":-20},120,function(){$(this).css("display","none")})}),$("#twitter-actions a").click(function(){var n=$(this).attr("href");return window.open(n,"tweet action window","width=580,height=500"),!1})}).error(function(){})}function show_cc(){$("#cc-details").show("slow"),$("#nextstep").show("slow"),$("#existingcreditcards").show("slow"),$("#payPalExpressCheckoutImage").hide()}function hide_cc(){$("#cc-details").hide("slow"),$("#nextstep").hide("slow"),$("#existingcreditcards").hide("slow"),$("#payPalExpressCheckoutImage").show()}var barNotificationTimeout;(function(n){function i(n,t){for(var i=window,r=(n||"").split(".");i&&r.length;)i=i[r.shift()];return typeof i=="function"?i:(t.push(n),Function.constructor.apply(null,t))}function r(n){return n==="GET"||n==="POST"}function e(n,t){r(t)||n.setRequestHeader("X-HTTP-Method-Override",t)}function o(t,i,r){var u;r.indexOf("application/x-javascript")===-1&&(u=(t.getAttribute("data-ajax-mode")||"").toUpperCase(),n(t.getAttribute("data-ajax-update")).each(function(t,r){var f;switch(u){case"BEFORE":f=r.firstChild,n("<div />").html(i).contents().each(function(){r.insertBefore(this,f)});break;case"AFTER":n("<div />").html(i).contents().each(function(){r.appendChild(this)});break;default:n(r).html(i)}}))}function u(t,u){var s,h,f,c;(s=t.getAttribute("data-ajax-confirm"),!s||window.confirm(s))&&(h=n(t.getAttribute("data-ajax-loading")),c=t.getAttribute("data-ajax-loading-duration")||0,n.extend(u,{type:t.getAttribute("data-ajax-method")||undefined,url:t.getAttribute("data-ajax-url")||undefined,beforeSend:function(n){var r;return e(n,f),r=i(t.getAttribute("data-ajax-begin"),["xhr"]).apply(this,arguments),r!==!1&&h.show(c),r},complete:function(){h.hide(c),i(t.getAttribute("data-ajax-complete"),["xhr","status"]).apply(this,arguments)},success:function(n,r,u){o(t,n,u.getResponseHeader("Content-Type")||"text/html"),i(t.getAttribute("data-ajax-success"),["data","status","xhr"]).apply(this,arguments)},error:i(t.getAttribute("data-ajax-failure"),["xhr","status","error"])}),u.data.push({name:"X-Requested-With",value:"XMLHttpRequest"}),f=u.type.toUpperCase(),r(f)||(u.type="POST",u.data.push({name:"X-HTTP-Method-Override",value:f})),n.ajax(u))}function s(t){var i=n(t).data(f);return!i||!i.validate||i.validate()}var t="unobtrusiveAjaxClick",f="unobtrusiveValidation";n("a[data-ajax=true]").live("click",function(n){n.preventDefault(),u(this,{url:this.href,type:"GET",data:[]})}),n("form[data-ajax=true] input[type=image]").live("click",function(i){var r=i.target.name,u=n(i.target),f=u.parents("form")[0],e=u.offset();n(f).data(t,[{name:r+".x",value:Math.round(i.pageX-e.left)},{name:r+".y",value:Math.round(i.pageY-e.top)}]),setTimeout(function(){n(f).removeData(t)},0)}),n("form[data-ajax=true] :submit").live("click",function(i){var r=i.target.name,u=n(i.target).parents("form")[0];n(u).data(t,r?[{name:r,value:i.target.value}]:[]),setTimeout(function(){n(u).removeData(t)},0)}),n("form[data-ajax=true]").live("submit",function(i){var r=n(this).data(t)||[];(i.preventDefault(),s(this))&&u(this,{url:this.action,type:this.method||"GET",data:r.concat(n(this).serializeArray())})})})(jQuery),function(n){n.extend(n.fn,{validate:function(t){var i,r;if(!this.length){t&&t.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing");return}return(i=n.data(this[0],"validator"),i)?i:(this.attr("novalidate","novalidate"),i=new n.validator(t,this[0]),n.data(this[0],"validator",i),i.settings.onsubmit&&(r=this.find("input, button"),r.filter(".cancel").click(function(){i.cancelSubmit=!0}),i.settings.submitHandler&&r.filter(":submit").click(function(){i.submitButton=this}),this.submit(function(t){function r(){if(i.settings.submitHandler){if(i.submitButton)var t=n("<input type='hidden'/>").attr("name",i.submitButton.name).val(i.submitButton.value).appendTo(i.currentForm);return i.settings.submitHandler.call(i,i.currentForm),i.submitButton&&t.remove(),!1}return!0}return(i.settings.debug&&t.preventDefault(),i.cancelSubmit)?(i.cancelSubmit=!1,r()):i.form()?i.pendingRequest?(i.formSubmitted=!0,!1):r():(i.focusInvalid(),!1)})),i)},valid:function(){if(n(this[0]).is("form"))return this.validate().form();var t=!0,i=n(this[0].form).validate();return this.each(function(){t&=i.element(this)}),t},removeAttrs:function(t){var i={},r=this;return n.each(t.split(/\s/),function(n,t){i[t]=r.attr(t),r.removeAttr(t)}),i},rules:function(t,i){var r=this[0],o,u,h;if(t){var e=n.data(r.form,"validator").settings,s=e.rules,f=n.validator.staticRules(r);switch(t){case"add":n.extend(f,n.validator.normalizeRule(i)),s[r.name]=f,i.messages&&(e.messages[r.name]=n.extend(e.messages[r.name],i.messages));break;case"remove":return i?(o={},n.each(i.split(/\s/),function(n,t){o[t]=f[t],delete f[t]}),o):(delete s[r.name],f)}}return u=n.validator.normalizeRules(n.extend({},n.validator.metadataRules(r),n.validator.classRules(r),n.validator.attributeRules(r),n.validator.staticRules(r)),r),u.required&&(h=u.required,delete u.required,u=n.extend({required:h},u)),u}}),n.extend(n.expr[":"],{blank:function(t){return!n.trim(""+t.value)},filled:function(t){return!!n.trim(""+t.value)},unchecked:function(n){return!n.checked}}),n.validator=function(t,i){this.settings=n.extend(!0,{},n.validator.defaults,t),this.currentForm=i,this.init()},n.validator.format=function(t,i){return arguments.length==1?function(){var i=n.makeArray(arguments);return i.unshift(t),n.validator.format.apply(this,i)}:(arguments.length>2&&i.constructor!=Array&&(i=n.makeArray(arguments).slice(1)),i.constructor!=Array&&(i=[i]),n.each(i,function(n,i){t=t.replace(new RegExp("\\{"+n+"\\}","g"),i)}),t)},n.extend(n.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:!0,errorContainer:n([]),errorLabelContainer:n([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(n){this.lastActive=n,this.settings.focusCleanup&&!this.blockFocusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,n,this.settings.errorClass,this.settings.validClass),this.addWrapper(this.errorsFor(n)).hide())},onfocusout:function(n){!this.checkable(n)&&(n.name in this.submitted||!this.optional(n))&&this.element(n)},onkeyup:function(n){(n.name in this.submitted||n==this.lastElement)&&this.element(n)},onclick:function(n){n.name in this.submitted?this.element(n):n.parentNode.name in this.submitted&&this.element(n.parentNode)},highlight:function(t,i,r){t.type==="radio"?this.findByName(t.name).addClass(i).removeClass(r):n(t).addClass(i).removeClass(r)},unhighlight:function(t,i,r){t.type==="radio"?this.findByName(t.name).removeClass(i).addClass(r):n(t).removeClass(i).addClass(r)}},setDefaults:function(t){n.extend(n.validator.defaults,t)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:n.validator.format("Please enter no more than {0} characters."),minlength:n.validator.format("Please enter at least {0} characters."),rangelength:n.validator.format("Please enter a value between {0} and {1} characters long."),range:n.validator.format("Please enter a value between {0} and {1}."),max:n.validator.format("Please enter a value less than or equal to {0}."),min:n.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function r(t){var i=n.data(this[0].form,"validator"),r="on"+t.type.replace(/^validate/,"");i.settings[r]&&i.settings[r].call(i,this[0],t)}var i,t;this.labelContainer=n(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||n(this.currentForm),this.containers=n(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset(),i=this.groups={},n.each(this.settings.groups,function(t,r){n.each(r.split(/\s/),function(n,r){i[r]=t})}),t=this.settings.rules,n.each(t,function(i,r){t[i]=n.validator.normalizeRule(r)}),n(this.currentForm).validateDelegate("[type='text'], [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'] ","focusin focusout keyup",r).validateDelegate("[type='radio'], [type='checkbox'], select, option","click",r),this.settings.invalidHandler&&n(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),n.extend(this.submitted,this.errorMap),this.invalid=n.extend({},this.errorMap),this.valid()||n(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var n=0,t=this.currentElements=this.elements();t[n];n++)this.check(t[n]);return this.valid()},element:function(t){t=this.validationTargetFor(this.clean(t)),this.lastElement=t,this.prepareElement(t),this.currentElements=n(t);var i=this.check(t);return i?delete this.invalid[t.name]:this.invalid[t.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),i},showErrors:function(t){if(t){n.extend(this.errorMap,t),this.errorList=[];for(var i in t)this.errorList.push({message:t[i],element:this.findByName(i)[0]});this.successList=n.grep(this.successList,function(n){return!(n.name in t)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){n.fn.resetForm&&n(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors(),this.elements().removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(n){var t=0,i;for(i in n)t++;return t},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return this.size()==0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{n(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(t){}},findLastActive:function(){var t=this.lastActive;return t&&n.grep(this.errorList,function(n){return n.element.name==t.name}).length==1&&t},elements:function(){var t=this,i={};return n(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){return(!this.name&&t.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in i||!t.objectLength(n(this).rules()))?!1:(i[this.name]=!0,!0)})},clean:function(t){return n(t)[0]},errors:function(){return n(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=n([]),this.toHide=n([]),this.currentElements=n([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(n){this.reset(),this.toHide=this.errorsFor(n)},check:function(t){var i,r,u,f,e;t=this.validationTargetFor(this.clean(t)),i=n(t).rules(),r=!1;for(u in i){f={method:u,parameters:i[u]};try{if(e=n.validator.methods[u].call(this,t.value.replace(/\r/g,""),t,f.parameters),e=="dependency-mismatch"){r=!0;continue}if(r=!1,e=="pending"){this.toHide=this.toHide.not(this.errorsFor(t));return}if(!e)return this.formatAndAdd(t,f),!1}catch(o){this.settings.debug&&window.console&&console.log("exception occured when checking element "+t.id+", check the '"+f.method+"' method",o);throw o;}}if(!r)return this.objectLength(i)&&this.successList.push(t),!0},customMetaMessage:function(t,i){if(n.metadata){var r=this.settings.meta?n(t).metadata()[this.settings.meta]:n(t).metadata();return r&&r.messages&&r.messages[i]}},customMessage:function(n,t){var i=this.settings.messages[n];return i&&(i.constructor==String?i:i[t])},findDefined:function(){for(var n=0;n<arguments.length;n++)if(arguments[n]!==undefined)return arguments[n];return undefined},defaultMessage:function(t,i){return this.findDefined(this.customMessage(t.name,i),this.customMetaMessage(t,i),!this.settings.ignoreTitle&&t.title||undefined,n.validator.messages[i],"<strong>Warning: No message defined for "+t.name+"<\/strong>")},formatAndAdd:function(n,t){var i=this.defaultMessage(n,t.method),r=/\$?\{(\d+)\}/g;typeof i=="function"?i=i.call(this,t.parameters,n):r.test(i)&&(i=jQuery.format(i.replace(r,"{$1}"),t.parameters)),this.errorList.push({message:i,element:n}),this.errorMap[n.name]=i,this.submitted[n.name]=i},addWrapper:function(n){return this.settings.wrapper&&(n=n.add(n.parent(this.settings.wrapper))),n},defaultShowErrors:function(){for(var t,i,n=0;this.errorList[n];n++)t=this.errorList[n],this.settings.highlight&&this.settings.highlight.call(this,t.element,this.settings.errorClass,this.settings.validClass),this.showLabel(t.element,t.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(n=0;this.successList[n];n++)this.showLabel(this.successList[n]);if(this.settings.unhighlight)for(n=0,i=this.validElements();i[n];n++)this.settings.unhighlight.call(this,i[n],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return n(this.errorList).map(function(){return this.element})},showLabel:function(t,i){var r=this.errorsFor(t);r.length?(r.removeClass(this.settings.validClass).addClass(this.settings.errorClass),r.attr("generated")&&r.html(i)):(r=n("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(t),generated:!0}).addClass(this.settings.errorClass).html(i||""),this.settings.wrapper&&(r=r.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.append(r).length||(this.settings.errorPlacement?this.settings.errorPlacement(r,n(t)):r.insertAfter(t))),!i&&this.settings.success&&(r.text(""),typeof this.settings.success=="string"?r.addClass(this.settings.success):this.settings.success(r)),this.toShow=this.toShow.add(r)},errorsFor:function(t){var i=this.idOrName(t);return this.errors().filter(function(){return n(this).attr("for")==i})},idOrName:function(n){return this.groups[n.name]||(this.checkable(n)?n.name:n.id||n.name)},validationTargetFor:function(n){return this.checkable(n)&&(n=this.findByName(n.name).not(this.settings.ignore)[0]),n},checkable:function(n){return/radio|checkbox/i.test(n.type)},findByName:function(t){var i=this.currentForm;return n(document.getElementsByName(t)).map(function(n,r){return r.form==i&&r.name==t&&r||null})},getLength:function(t,i){switch(i.nodeName.toLowerCase()){case"select":return n("option:selected",i).length;case"input":if(this.checkable(i))return this.findByName(i.name).filter(":checked").length}return t.length},depend:function(n,t){return this.dependTypes[typeof n]?this.dependTypes[typeof n](n,t):!0},dependTypes:{boolean:function(n){return n},string:function(t,i){return!!n(t,i.form).length},"function":function(n,t){return n(t)}},optional:function(t){return!n.validator.methods.required.call(this,n.trim(t.value),t)&&"dependency-mismatch"},startRequest:function(n){this.pending[n.name]||(this.pendingRequest++,this.pending[n.name]=!0)},stopRequest:function(t,i){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[t.name],i&&this.pendingRequest==0&&this.formSubmitted&&this.form()?(n(this.currentForm).submit(),this.formSubmitted=!1):!i&&this.pendingRequest==0&&this.formSubmitted&&(n(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(t){return n.data(t,"previousValue")||n.data(t,"previousValue",{old:null,valid:!0,message:this.defaultMessage(t,"remote")})}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},dateDE:{dateDE:!0},number:{number:!0},numberDE:{numberDE:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(t,i){t.constructor==String?this.classRuleSettings[t]=i:n.extend(this.classRuleSettings,t)},classRules:function(t){var i={},r=n(t).attr("class");return r&&n.each(r.split(" "),function(){this in n.validator.classRuleSettings&&n.extend(i,n.validator.classRuleSettings[this])}),i},attributeRules:function(t){var r={},f=n(t),i,u;for(i in n.validator.methods)u=i==="required"&&typeof n.fn.prop=="function"?f.prop(i):f.attr(i),u?r[i]=u:f[0].getAttribute("type")===i&&(r[i]=!0);return r.maxlength&&/-1|2147483647|524288/.test(r.maxlength)&&delete r.maxlength,r},metadataRules:function(t){if(!n.metadata)return{};var i=n.data(t.form,"validator").settings.meta;return i?n(t).metadata()[i]:n(t).metadata()},staticRules:function(t){var i={},r=n.data(t.form,"validator");return r.settings.rules&&(i=n.validator.normalizeRule(r.settings.rules[t.name])||{}),i},normalizeRules:function(t,i){return n.each(t,function(r,u){if(u===!1){delete t[r];return}if(u.param||u.depends){var f=!0;switch(typeof u.depends){case"string":f=!!n(u.depends,i.form).length;break;case"function":f=u.depends.call(i,i)}f?t[r]=u.param!==undefined?u.param:!0:delete t[r]}}),n.each(t,function(r,u){t[r]=n.isFunction(u)?u(i):u}),n.each(["minlength","maxlength","min","max"],function(){t[this]&&(t[this]=Number(t[this]))}),n.each(["rangelength","range"],function(){t[this]&&(t[this]=[Number(t[this][0]),Number(t[this][1])])}),n.validator.autoCreateRanges&&(t.min&&t.max&&(t.range=[t.min,t.max],delete t.min,delete t.max),t.minlength&&t.maxlength&&(t.rangelength=[t.minlength,t.maxlength],delete t.minlength,delete t.maxlength)),t.messages&&delete t.messages,t},normalizeRule:function(t){if(typeof t=="string"){var i={};n.each(t.split(/\s/),function(){i[this]=!0}),t=i}return t},addMethod:function(t,i,r){n.validator.methods[t]=i,n.validator.messages[t]=r!=undefined?r:n.validator.messages[t],i.length<3&&n.validator.addClassRules(t,n.validator.normalizeRule(t))},methods:{required:function(t,i,r){if(!this.depend(r,i))return"dependency-mismatch";switch(i.nodeName.toLowerCase()){case"select":var u=n(i).val();return u&&u.length>0;case"input":if(this.checkable(i))return this.getLength(t,i)>0;default:return n(i).attr("placeholder")!=undefined&&n(i).attr("type")!="password"&&n(i).attr("placeholder")!=""?n.trim(t).length>0&&n(i).val()!=n(i).attr("placeholder"):n.trim(t).length>0}},remote:function(t,i,r){var f,u,e;return this.optional(i)?"dependency-mismatch":(f=this.previousValue(i),this.settings.messages[i.name]||(this.settings.messages[i.name]={}),f.originalMessage=this.settings.messages[i.name].remote,this.settings.messages[i.name].remote=f.message,r=typeof r=="string"&&{url:r}||r,this.pending[i.name])?"pending":f.old===t?f.valid:(f.old=t,u=this,this.startRequest(i),e={},e[i.name]=t,n.ajax(n.extend(!0,{url:r,mode:"abort",port:"validate"+i.name,dataType:"json",data:e,success:function(r){var e,h,s,o;u.settings.messages[i.name].remote=f.originalMessage,e=r===!0,e?(h=u.formSubmitted,u.prepareElement(i),u.formSubmitted=h,u.successList.push(i),u.showErrors()):(s={},o=r||u.defaultMessage(i,"remote"),s[i.name]=f.message=n.isFunction(o)?o(t):o,u.showErrors(s)),f.valid=e,u.stopRequest(i,e)}},r)),"pending")},minlength:function(t,i,r){return this.optional(i)||this.getLength(n.trim(t),i)>=r},maxlength:function(t,i,r){return this.optional(i)||this.getLength(n.trim(t),i)<=r},rangelength:function(t,i,r){var u=this.getLength(n.trim(t),i);return this.optional(i)||u>=r[0]&&u<=r[1]},min:function(n,t,i){return this.optional(t)||n>=i},max:function(n,t,i){return this.optional(t)||n<=i},range:function(n,t,i){return this.optional(t)||n>=i[0]&&n<=i[1]},email:function(n,t){return this.optional(t)||/^((([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(n)},url:function(n,t){return this.optional(t)||/^(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(n)},date:function(n,t){return this.optional(t)||!/Invalid|NaN/.test(new Date(n))},dateISO:function(n,t){return this.optional(t)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(n)},number:function(n,t){return this.optional(t)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(n)},digits:function(n,t){return this.optional(t)||/^\d+$/.test(n)},creditcard:function(n,t){var i,e,r;if(this.optional(t))return"dependency-mismatch";if(/[^0-9 -]+/.test(n))return!1;var f=0,r=0,u=!1;for(n=n.replace(/\D/g,""),i=n.length-1;i>=0;i--)e=n.charAt(i),r=parseInt(e,10),u&&(r*=2)>9&&(r-=9),f+=r,u=!u;return f%10==0},accept:function(n,t,i){return i=typeof i=="string"?i.replace(/,/g,"|"):"png|jpe?g|gif",this.optional(t)||n.match(new RegExp(".("+i+")$","i"))},equalTo:function(t,i,r){var u=n(r).unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){n(i).valid()});return t==u.val()}}}),n.format=n.validator.format}(jQuery),function(n){var t={},i;n.ajaxPrefilter?n.ajaxPrefilter(function(n,i,r){var u=n.port;n.mode=="abort"&&(t[u]&&t[u].abort(),t[u]=r)}):(i=n.ajax,n.ajax=function(r){var f=("mode"in r?r:n.ajaxSettings).mode,u=("port"in r?r:n.ajaxSettings).port;return f=="abort"?(t[u]&&t[u].abort(),t[u]=i.apply(this,arguments)):i.apply(this,arguments)})}(jQuery),function(n){jQuery.event.special.focusin||jQuery.event.special.focusout||!document.addEventListener||n.each({focus:"focusin",blur:"focusout"},function(t,i){function r(t){return t=n.event.fix(t),t.type=i,n.event.handle.call(this,t)}n.event.special[i]={setup:function(){this.addEventListener(t,r,!0)},teardown:function(){this.removeEventListener(t,r,!0)},handler:function(t){return arguments[0]=n.event.fix(t),arguments[0].type=i,n.event.handle.apply(this,arguments)}}}),n.extend(n.fn,{validateDelegate:function(t,i,r){return this.bind(i,function(i){var u=n(i.target);if(u.is(t))return r.apply(u,arguments)})}})}(jQuery),function(n){n.extend(n.fn,{validate:function(t){if(!this.length){t&&t.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing");return}var i=n.data(this[0],"validator");return i?i:(i=new n.validator(t,this[0]),n.data(this[0],"validator",i),i.settings.onsubmit&&(this.find("input, button").filter(".cancel").click(function(){i.cancelSubmit=!0}),i.settings.submitHandler&&this.find("input, button").filter(":submit").click(function(){i.submitButton=this}),this.submit(function(t){function r(){if(i.settings.submitHandler){if(i.submitButton)var t=n("<input type='hidden'/>").attr("name",i.submitButton.name).val(i.submitButton.value).appendTo(i.currentForm);return i.settings.submitHandler.call(i,i.currentForm),i.submitButton&&t.remove(),!1}return!0}return(i.settings.debug&&t.preventDefault(),i.cancelSubmit)?(i.cancelSubmit=!1,r()):i.form()?i.pendingRequest?(i.formSubmitted=!0,!1):r():(i.focusInvalid(),!1)})),i)},valid:function(){if(n(this[0]).is("form"))return this.validate().form();var t=!0,i=n(this[0].form).validate();return this.each(function(){t&=i.element(this)}),t},removeAttrs:function(t){var i={},r=this;return n.each(t.split(/\s/),function(n,t){i[t]=r.attr(t),r.removeAttr(t)}),i},rules:function(t,i){var r=this[0],o,u,h;if(t){var e=n.data(r.form,"validator").settings,s=e.rules,f=n.validator.staticRules(r);switch(t){case"add":n.extend(f,n.validator.normalizeRule(i)),s[r.name]=f,i.messages&&(e.messages[r.name]=n.extend(e.messages[r.name],i.messages));break;case"remove":return i?(o={},n.each(i.split(/\s/),function(n,t){o[t]=f[t],delete f[t]}),o):(delete s[r.name],f)}}return u=n.validator.normalizeRules(n.extend({},n.validator.metadataRules(r),n.validator.classRules(r),n.validator.attributeRules(r),n.validator.staticRules(r)),r),u.required&&(h=u.required,delete u.required,u=n.extend({required:h},u)),u}}),n.extend(n.expr[":"],{blank:function(t){return!n.trim(""+t.value)},filled:function(t){return!!n.trim(""+t.value)},unchecked:function(n){return!n.checked}}),n.validator=function(t,i){this.settings=n.extend(!0,{},n.validator.defaults,t),this.currentForm=i,this.init()},n.validator.format=function(t,i){return arguments.length==1?function(){var i=n.makeArray(arguments);return i.unshift(t),n.validator.format.apply(this,i)}:(arguments.length>2&&i.constructor!=Array&&(i=n.makeArray(arguments).slice(1)),i.constructor!=Array&&(i=[i]),n.each(i,function(n,i){t=t.replace(new RegExp("\\{"+n+"\\}","g"),i)}),t)},n.extend(n.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:!0,errorContainer:n([]),errorLabelContainer:n([]),onsubmit:!0,ignore:[],ignoreTitle:!1,onfocusin:function(n){this.lastActive=n,this.settings.focusCleanup&&!this.blockFocusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,n,this.settings.errorClass,this.settings.validClass),this.errorsFor(n).hide())},onfocusout:function(n){!this.checkable(n)&&(n.name in this.submitted||!this.optional(n))&&this.element(n)},onkeyup:function(n){(n.name in this.submitted||n==this.lastElement)&&this.element(n)},onclick:function(n){n.name in this.submitted?this.element(n):n.parentNode.name in this.submitted&&this.element(n.parentNode)},highlight:function(t,i,r){n(t).addClass(i).removeClass(r)},unhighlight:function(t,i,r){n(t).removeClass(i).addClass(r)}},setDefaults:function(t){n.extend(n.validator.defaults,t)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:n.validator.format("Please enter no more than {0} characters."),minlength:n.validator.format("Please enter at least {0} characters."),rangelength:n.validator.format("Please enter a value between {0} and {1} characters long."),range:n.validator.format("Please enter a value between {0} and {1}."),max:n.validator.format("Please enter a value less than or equal to {0}."),min:n.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function r(t){var i=n.data(this[0].form,"validator"),r="on"+t.type.replace(/^validate/,"");i.settings[r]&&i.settings[r].call(i,this[0])}var i,t;this.labelContainer=n(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||n(this.currentForm),this.containers=n(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset(),i=this.groups={},n.each(this.settings.groups,function(t,r){n.each(r.split(/\s/),function(n,r){i[r]=t})}),t=this.settings.rules,n.each(t,function(i,r){t[i]=n.validator.normalizeRule(r)}),n(this.currentForm).validateDelegate(":text, :password, :file, select, textarea","focusin focusout keyup",r).validateDelegate(":radio, :checkbox, select, option","click",r),this.settings.invalidHandler&&n(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),n.extend(this.submitted,this.errorMap),this.invalid=n.extend({},this.errorMap),this.valid()||n(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var n=0,t=this.currentElements=this.elements();t[n];n++)this.check(t[n]);return this.valid()},element:function(t){t=this.clean(t),this.lastElement=t,this.prepareElement(t),this.currentElements=n(t);var i=this.check(t);return i?delete this.invalid[t.name]:this.invalid[t.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),i},showErrors:function(t){if(t){n.extend(this.errorMap,t),this.errorList=[];for(var i in t)this.errorList.push({message:t[i],element:this.findByName(i)[0]});this.successList=n.grep(this.successList,function(n){return!(n.name in t)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){n.fn.resetForm&&n(this.currentForm).resetForm(),this.submitted={},this.prepareForm(),this.hideErrors(),this.elements().removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(n){var t=0,i;for(i in n)t++;return t},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return this.size()==0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{n(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(t){}},findLastActive:function(){var t=this.lastActive;return t&&n.grep(this.errorList,function(n){return n.element.name==t.name}).length==1&&t},elements:function(){var t=this,i={};return n([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){return(!this.name&&t.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in i||!t.objectLength(n(this).rules()))?!1:(i[this.name]=!0,!0)})},clean:function(t){return n(t)[0]},errors:function(){return n(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=n([]),this.toHide=n([]),this.currentElements=n([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(n){this.reset(),this.toHide=this.errorsFor(n)},check:function(t){var i,r,u,f;t=this.clean(t),this.checkable(t)&&(t=this.findByName(t.name)[0]),i=n(t).rules(),r=!1;for(method in i){u={method:method,parameters:i[method]};try{if(f=n.validator.methods[method].call(this,t.value.replace(/\r/g,""),t,u.parameters),f=="dependency-mismatch"){r=!0;continue}if(r=!1,f=="pending"){this.toHide=this.toHide.not(this.errorsFor(t));return}if(!f)return this.formatAndAdd(t,u),!1}catch(e){this.settings.debug&&window.console&&console.log("exception occured when checking element "+t.id+", check the '"+u.method+"' method",e);throw e;}}if(!r)return this.objectLength(i)&&this.successList.push(t),!0},customMetaMessage:function(t,i){if(n.metadata){var r=this.settings.meta?n(t).metadata()[this.settings.meta]:n(t).metadata();return r&&r.messages&&r.messages[i]}},customMessage:function(n,t){var i=this.settings.messages[n];return i&&(i.constructor==String?i:i[t])},findDefined:function(){for(var n=0;n<arguments.length;n++)if(arguments[n]!==undefined)return arguments[n];return undefined},defaultMessage:function(t,i){return this.findDefined(this.customMessage(t.name,i),this.customMetaMessage(t,i),!this.settings.ignoreTitle&&t.title||undefined,n.validator.messages[i],"<strong>Warning: No message defined for "+t.name+"<\/strong>")},formatAndAdd:function(n,t){var i=this.defaultMessage(n,t.method),r=/\$?\{(\d+)\}/g;typeof i=="function"?i=i.call(this,t.parameters,n):r.test(i)&&(i=jQuery.format(i.replace(r,"{$1}"),t.parameters)),this.errorList.push({message:i,element:n}),this.errorMap[n.name]=i,this.submitted[n.name]=i},addWrapper:function(n){return this.settings.wrapper&&(n=n.add(n.parent(this.settings.wrapper))),n},defaultShowErrors:function(){for(var t,i,n=0;this.errorList[n];n++)t=this.errorList[n],this.settings.highlight&&this.settings.highlight.call(this,t.element,this.settings.errorClass,this.settings.validClass),this.showLabel(t.element,t.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(n=0;this.successList[n];n++)this.showLabel(this.successList[n]);if(this.settings.unhighlight)for(n=0,i=this.validElements();i[n];n++)this.settings.unhighlight.call(this,i[n],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return n(this.errorList).map(function(){return this.element})},showLabel:function(t,i){var r=this.errorsFor(t);r.length?(r.removeClass().addClass(this.settings.errorClass),r.attr("generated")&&r.html(i)):(r=n("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(t),generated:!0}).addClass(this.settings.errorClass).html(i||""),this.settings.wrapper&&(r=r.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.append(r).length||(this.settings.errorPlacement?this.settings.errorPlacement(r,n(t)):r.insertAfter(t))),!i&&this.settings.success&&(r.text(""),typeof this.settings.success=="string"?r.addClass(this.settings.success):this.settings.success(r)),this.toShow=this.toShow.add(r)},errorsFor:function(t){var i=this.idOrName(t);return this.errors().filter(function(){return n(this).attr("for")==i})},idOrName:function(n){return this.groups[n.name]||(this.checkable(n)?n.name:n.id||n.name)},checkable:function(n){return/radio|checkbox/i.test(n.type)},findByName:function(t){var i=this.currentForm;return n(document.getElementsByName(t)).map(function(n,r){return r.form==i&&r.name==t&&r||null})},getLength:function(t,i){switch(i.nodeName.toLowerCase()){case"select":return n("option:selected",i).length;case"input":if(this.checkable(i))return this.findByName(i.name).filter(":checked").length}return t.length},depend:function(n,t){return this.dependTypes[typeof n]?this.dependTypes[typeof n](n,t):!0},dependTypes:{boolean:function(n){return n},string:function(t,i){return!!n(t,i.form).length},"function":function(n,t){return n(t)}},optional:function(t){return!n.validator.methods.required.call(this,n.trim(t.value),t)&&"dependency-mismatch"},startRequest:function(n){this.pending[n.name]||(this.pendingRequest++,this.pending[n.name]=!0)},stopRequest:function(t,i){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[t.name],i&&this.pendingRequest==0&&this.formSubmitted&&this.form()?(n(this.currentForm).submit(),this.formSubmitted=!1):!i&&this.pendingRequest==0&&this.formSubmitted&&(n(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(t){return n.data(t,"previousValue")||n.data(t,"previousValue",{old:null,valid:!0,message:this.defaultMessage(t,"remote")})}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},dateDE:{dateDE:!0},number:{number:!0},numberDE:{numberDE:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(t,i){t.constructor==String?this.classRuleSettings[t]=i:n.extend(this.classRuleSettings,t)},classRules:function(t){var i={},r=n(t).attr("class");return r&&n.each(r.split(" "),function(){this in n.validator.classRuleSettings&&n.extend(i,n.validator.classRuleSettings[this])}),i},attributeRules:function(t){var i={},u=n(t),r;for(method in n.validator.methods)r=u.attr(method),r&&(i[method]=r);return i.maxlength&&/-1|2147483647|524288/.test(i.maxlength)&&delete i.maxlength,i},metadataRules:function(t){if(!n.metadata)return{};var i=n.data(t.form,"validator").settings.meta;return i?n(t).metadata()[i]:n(t).metadata()},staticRules:function(t){var i={},r=n.data(t.form,"validator");return r.settings.rules&&(i=n.validator.normalizeRule(r.settings.rules[t.name])||{}),i},normalizeRules:function(t,i){return n.each(t,function(r,u){if(u===!1){delete t[r];return}if(u.param||u.depends){var f=!0;switch(typeof u.depends){case"string":f=!!n(u.depends,i.form).length;break;case"function":f=u.depends.call(i,i)}f?t[r]=u.param!==undefined?u.param:!0:delete t[r]}}),n.each(t,function(r,u){t[r]=n.isFunction(u)?u(i):u}),n.each(["minlength","maxlength","min","max"],function(){t[this]&&(t[this]=Number(t[this]))}),n.each(["rangelength","range"],function(){t[this]&&(t[this]=[Number(t[this][0]),Number(t[this][1])])}),n.validator.autoCreateRanges&&(t.min&&t.max&&(t.range=[t.min,t.max],delete t.min,delete t.max),t.minlength&&t.maxlength&&(t.rangelength=[t.minlength,t.maxlength],delete t.minlength,delete t.maxlength)),t.messages&&delete t.messages,t},normalizeRule:function(t){if(typeof t=="string"){var i={};n.each(t.split(/\s/),function(){i[this]=!0}),t=i}return t},addMethod:function(t,i,r){n.validator.methods[t]=i,n.validator.messages[t]=r!=undefined?r:n.validator.messages[t],i.length<3&&n.validator.addClassRules(t,n.validator.normalizeRule(t))},methods:{required:function(t,i,r){if(!this.depend(r,i))return"dependency-mismatch";switch(i.nodeName.toLowerCase()){case"select":var u=n(i).val();return u&&u.length>0;case"input":if(this.checkable(i))return this.getLength(t,i)>0;default:return n.trim(t).length>0}},remote:function(t,i,r){var f,u,e;return this.optional(i)?"dependency-mismatch":(f=this.previousValue(i),this.settings.messages[i.name]||(this.settings.messages[i.name]={}),f.originalMessage=this.settings.messages[i.name].remote,this.settings.messages[i.name].remote=f.message,r=typeof r=="string"&&{url:r}||r,f.old!==t)?(f.old=t,u=this,this.startRequest(i),e={},e[i.name]=t,n.ajax(n.extend(!0,{url:r,mode:"abort",port:"validate"+i.name,dataType:"json",data:e,success:function(r){var e,h,s,o;u.settings.messages[i.name].remote=f.originalMessage,e=r===!0,e?(h=u.formSubmitted,u.prepareElement(i),u.formSubmitted=h,u.successList.push(i),u.showErrors()):(s={},o=f.message=r||u.defaultMessage(i,"remote"),s[i.name]=n.isFunction(o)?o(t):o,u.showErrors(s)),f.valid=e,u.stopRequest(i,e)}},r)),"pending"):this.pending[i.name]?"pending":f.valid},minlength:function(t,i,r){return this.optional(i)||this.getLength(n.trim(t),i)>=r},maxlength:function(t,i,r){return this.optional(i)||this.getLength(n.trim(t),i)<=r},rangelength:function(t,i,r){var u=this.getLength(n.trim(t),i);return this.optional(i)||u>=r[0]&&u<=r[1]},min:function(n,t,i){return this.optional(t)||n>=i},max:function(n,t,i){return this.optional(t)||n<=i},range:function(n,t,i){return this.optional(t)||n>=i[0]&&n<=i[1]},email:function(n,t){return this.optional(t)||/^((([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(n)},url:function(n,t){return this.optional(t)||/^(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(n)},date:function(n,t){return this.optional(t)||!/Invalid|NaN/.test(new Date(n))},dateISO:function(n,t){return this.optional(t)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(n)},number:function(n,t){return this.optional(t)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(n)},digits:function(n,t){return this.optional(t)||/^\d+$/.test(n)},creditcard:function(n,t){var i,e,r;if(this.optional(t))return"dependency-mismatch";if(/[^0-9-]+/.test(n))return!1;var f=0,r=0,u=!1;for(n=n.replace(/\D/g,""),i=n.length-1;i>=0;i--)e=n.charAt(i),r=parseInt(e,10),u&&(r*=2)>9&&(r-=9),f+=r,u=!u;return f%10==0},accept:function(n,t,i){return i=typeof i=="string"?i.replace(/,/g,"|"):"png|jpe?g|gif",this.optional(t)||n.match(new RegExp(".("+i+")$","i"))},equalTo:function(t,i,r){var u=n(r).unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){n(i).valid()});return t==u.val()}}}),n.format=n.validator.format}(jQuery),function(n){var i=n.ajax,t={};n.ajax=function(r){r=n.extend(r,n.extend({},n.ajaxSettings,r));var u=r.port;return r.mode=="abort"?(t[u]&&t[u].abort(),t[u]=i.apply(this,arguments)):i.apply(this,arguments)}}(jQuery),function(n){jQuery.event.special.focusin||jQuery.event.special.focusout||!document.addEventListener||n.each({focus:"focusin",blur:"focusout"},function(t,i){function r(t){return t=n.event.fix(t),t.type=i,n.event.handle.call(this,t)}n.event.special[i]={setup:function(){this.addEventListener(t,r,!0)},teardown:function(){this.removeEventListener(t,r,!0)},handler:function(t){return arguments[0]=n.event.fix(t),arguments[0].type=i,n.event.handle.apply(this,arguments)}}}),n.extend(n.fn,{validateDelegate:function(t,i,r){return this.bind(i,function(i){var u=n(i.target);if(u.is(t))return r.apply(u,arguments)})}})}(jQuery),function(n){function i(n,t,i){n.rules[t]=i,n.message&&(n.messages[t]=n.message)}function s(n){return n.replace(/^\s+|\s+$/g,"").split(/\s*,\s*/g)}function f(n){return n.substr(0,n.lastIndexOf(".")+1)}function e(n,t){return n.indexOf("*.")===0&&(n=n.replace("*.",t)),n}function h(t,i){var r=n(this).find("[data-valmsg-for='"+i[0].name+"']"),u=n.parseJSON(r.attr("data-valmsg-replace"))!==!1;r.removeClass("field-validation-valid").addClass("field-validation-error"),t.data("unobtrusiveContainer",r),u?(r.empty(),t.removeClass("input-validation-error").appendTo(r)):t.hide()}function c(t,i){var u=n(this).find("[data-valmsg-summary=true]"),r=u.find("ul");r&&r.length&&i.errorList.length&&(r.empty(),u.addClass("validation-summary-errors").removeClass("validation-summary-valid"),n.each(i.errorList,function(){n("<li />").html(this.message).appendTo(r)}))}function l(t){var i=t.data("unobtrusiveContainer"),r=n.parseJSON(i.attr("data-valmsg-replace"));i&&(i.addClass("field-validation-valid").removeClass("field-validation-error"),t.removeData("unobtrusiveContainer"),r&&i.empty())}function o(t){var i=n(t),r=i.data(u);return r||(r={options:{errorClass:"input-validation-error",errorElement:"span",errorPlacement:n.proxy(h,t),invalidHandler:n.proxy(c,t),messages:{},rules:{},success:n.proxy(l,t)},attachValidation:function(){i.validate(this.options)},validate:function(){return i.validate(),i.valid()}},i.data(u,r)),r}var r=n.validator,t,u="unobtrusiveValidation";r.unobtrusive={adapters:[],parseElement:function(t,i){var u=n(t),f=u.parents("form")[0],r,e,s;f&&(r=o(f),r.options.rules[t.name]=e={},r.options.messages[t.name]=s={},n.each(this.adapters,function(){var i="data-val-"+this.name,r=u.attr(i),o={};r!==undefined&&(i+="-",n.each(this.params,function(){o[this]=u.attr(i+this)}),this.adapt({element:t,form:f,message:r,params:o,rules:e,messages:s}))}),jQuery.extend(e,{__dummy__:!0}),i||r.attachValidation())},parse:function(t){n(t).find(":input[data-val=true]").each(function(){r.unobtrusive.parseElement(this,!0)}),n("form").each(function(){var n=o(this);n&&n.attachValidation()})}},t=r.unobtrusive.adapters,t.add=function(n,t,i){return i||(i=t,t=[]),this.push({name:n,params:t,adapt:i}),this},t.addBool=function(n,t){return this.add(n,function(r){i(r,t||n,!0)})},t.addMinMax=function(n,t,r,u,f,e){return this.add(n,[f||"min",e||"max"],function(n){var f=n.params.min,e=n.params.max;f&&e?i(n,u,[f,e]):f?i(n,t,f):e&&i(n,r,e)})},t.addSingleVal=function(n,t,r){return this.add(n,[t||"val"],function(u){i(u,r||n,u.params[t])})},r.addMethod("__dummy__",function(){return!0}),r.addMethod("regex",function(n,t,i){var r;return this.optional(t)?!0:(r=new RegExp(i).exec(n),r&&r.index===0&&r[0].length===n.length)}),t.addSingleVal("accept","exts").addSingleVal("regex","pattern"),t.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url"),t.addMinMax("length","minlength","maxlength","rangelength").addMinMax("range","min","max","range"),t.add("equalto",["other"],function(t){var r=f(t.element.name),u=t.params.other,o=e(u,r),s=n(t.form).find(":input[name="+o+"]")[0];i(t,"equalTo",s)}),t.add("required",function(n){(n.element.tagName.toUpperCase()!=="INPUT"||n.element.type.toUpperCase()!=="CHECKBOX")&&i(n,"required",!0)}),t.add("remote",["url","type","additionalfields"],function(t){var r={url:t.params.url,type:t.params.type||"GET",data:{}},u=f(t.element.name);n.each(s(t.params.additionalfields||t.element.name),function(i,f){var o=e(f,u);r.data[o]=function(){return n(t.form).find(":input[name='"+o+"']").val()}}),i(t,"remote",r)}),n(function(){r.unobtrusive.parse(document)})}(jQuery),function(n,t,i){function l(n){var t={},r=/^jQuery\d+$/;return i.each(n.attributes,function(n,i){i.specified&&!r.test(i.name)&&(t[i.name]=i.value)}),t}function f(n,r){var f=this,u=i(f);if(f.value==u.attr("placeholder")&&u.hasClass("placeholder"))if(u.data("placeholder-password")){if(u=u.hide().next().show().attr("id",u.removeAttr("id").data("placeholder-id")),n===!0)return u[0].value=r;u.focus()}else f.value="",u.removeClass("placeholder"),f==t.activeElement&&f.select()}function s(){var t,r=this,n=i(r),e=n,u=this.id;if(r.value==""){if(r.type=="password"){if(!n.data("placeholder-textinput")){try{t=n.clone().attr({type:"text"})}catch(o){t=i("<input>").attr(i.extend(l(this),{type:"text"}))}t.removeAttr("name").data({"placeholder-password":!0,"placeholder-id":u}).bind("focus.placeholder",f),n.data({"placeholder-textinput":t,"placeholder-id":u}).before(t)}n=n.removeAttr("id").hide().prev().attr("id",u).show()}n.addClass("placeholder"),n[0].value=n.attr("placeholder")}else n.removeClass("placeholder")}var u="placeholder"in t.createElement("input"),e="placeholder"in t.createElement("textarea"),h=i.fn,c=i.valHooks,o,r;u&&e?(r=h.placeholder=function(){return this},r.input=r.textarea=!0):(r=h.placeholder=function(){var n=this;return n.filter((u?"textarea":":input")+"[placeholder]").not(".placeholder").bind({"focus.placeholder":f,"blur.placeholder":s}).data("placeholder-enabled",!0).trigger("blur.placeholder"),n},r.input=u,r.textarea=e,o={get:function(n){var t=i(n);return t.data("placeholder-enabled")&&t.hasClass("placeholder")?"":n.value},set:function(n,r){var u=i(n);return u.data("placeholder-enabled")?(r==""?(n.value=r,n!=t.activeElement&&s.call(n)):u.hasClass("placeholder")?f.call(n,!0,r)||(n.value=r):n.value=r,u):n.value=r}},u||(c.input=o),e||(c.textarea=o),i(function(){i(t).delegate("form","submit.placeholder",function(){var n=i(".placeholder",this).each(f);setTimeout(function(){n.each(s)},10)})}),i(n).bind("beforeunload.placeholder",function(){i(".placeholder").each(function(){this.value=""})}))}(this,document,jQuery);var AjaxCart={loadWaiting:!1,usepopupnotifications:!1,topcartselector:"",topwishlistselector:"",flyoutcartselector:"",topbookshelfcartselector:"",flyoutbookshelfcartselector:"",topsubscriptioncartselector:"",flyoutsubscriptioncartselector:"",init:function(n,t,i,r,u,f,e,o){this.loadWaiting=!1,this.usepopupnotifications=n,this.topcartselector=t,this.topwishlistselector=i,this.flyoutcartselector=r,this.topbookshelfcartselector=u,this.flyoutbookshelfcartselector=f,this.topsubscriptioncartselector=e,this.flyoutsubscriptioncartselector=o},setLoadWaiting:function(n){displayAjaxLoading(n),this.loadWaiting=n},addproducttocart:function(n){0==this.loadWaiting&&(this.setLoadWaiting(!0),$.ajax({cache:!1,url:n,type:"post",success:this.successprocess,complete:this.resetLoadWaiting,error:this.ajaxFailure}))},addproductvarianttocart:function(n,t){0==this.loadWaiting&&(this.setLoadWaiting(!0),$.ajax({cache:!1,url:n,data:$(t).serialize(),type:"post",success:function(n){return $.fancybox.close(),n.updatetopcartsectionhtml&&($(AjaxCart.topcartselector).html(n.updatetopcartsectionhtml),0<$("#basketPopup").length?$("#basketPopup").css("right","109px"):$("#basketPopupright").css("right","109px")),n.updatetopwishlistsectionhtml&&$(AjaxCart.topwishlistselector).html(n.updatetopwishlistsectionhtml),n.updateflyoutcartsectionhtml&&(0<$("#basketPopup").length?$(AjaxCart.flyoutcartselector).replaceWith(n.updateflyoutcartsectionhtml):$("#basketPopupright").replaceWith(n.updateflyoutcartsectionhtml),$(AjaxCart.flyoutcartselector).replaceWith(n.updateflyoutcartsectionhtml)),n.updatetopbookshelfsectionhtml&&($(AjaxCart.topbookshelfcartselector).html(n.updatetopbookshelfsectionhtml),$(".myBookshelfHeaderLink").show(),0<$("#basketPopup").length?$("#basketPopup").css("right","109px"):$("#basketPopupright").css("right","109px")),n.updateflyoutbookshelfsectionhtml&&$(AjaxCart.flyoutbookshelfcartselector).replaceWith(n.updateflyoutbookshelfsectionhtml),n.updatetopsubscriptioncartsectionhtml&&($(AjaxCart.topsubscriptioncartselector).html(n.updatetopsubscriptioncartsectionhtml),$("#mysubscription").show(),0<$("#basketPopup").length?$("#basketPopup").css("right","109px"):$("#basketPopupright").css("right","109px")),n.updateflyoutsubscriptioncartsectionhtml&&$(AjaxCart.flyoutsubscriptioncartselector).replaceWith(n.updateflyoutsubscriptioncartsectionhtml),n.message?(1==n.success?1==n.usepopupnotifications?displayFancyPopupNotification(n.message,"success",!1):displayBarNotification(n.message,"success",3500):displayBarNotification(n.message,"error",3500),!1):n.redirect?(location.href=n.redirect,!0):!1},complete:this.resetLoadWaiting,error:this.ajaxFailure}))},successprocess:function(n,t){return t.updatetopcartsectionhtml&&$(AjaxCart.topcartselector).html(t.updatetopcartsectionhtml),t.updatetopwishlistsectionhtml&&$(AjaxCart.topwishlistselector).html(t.updatetopwishlistsectionhtml),t.updateflyoutcartsectionhtml&&$(AjaxCart.flyoutcartselector).replaceWith(t.updateflyoutcartsectionhtml),t.updatetopbookshelfsectionhtml&&$(AjaxCart.topbookshelfcartselector).html(t.updatetopbookshelfsectionhtml),t.updateflyoutbookshelfsectionhtml&&$(AjaxCart.flyoutbookshelfcartselector).replaceWith(t.updateflyoutbookshelfsectionhtml),t.updatetopsubscriptioncartsectionhtml&&$(AjaxCart.topsubscriptioncartselector).html(t.updatetopsubscriptioncartsectionhtml),t.updateflyoutsubscriptioncartsectionhtml&&$(AjaxCart.flyoutsubscriptioncartselector).replaceWith(t.updateflyoutsubscriptioncartsectionhtml),t.message?(1==t.success?1==AjaxCart.usepopupnotifications?displayPopupNotification(t.message,"success",!0):displayBarNotification(t.message,"success",3500):1==AjaxCart.usepopupnotifications?displayPopupNotification(t.message,"error",!0):displayBarNotification(t.message,"error",0),!1):t.redirect?(location.href=t.redirect,!0):!1},resetLoadWaiting:function(){AjaxCart.setLoadWaiting(!1)},ajaxFailure:function(){alert("Failed to add the product to the cart. Please refresh the page and try one more time.")},addiccheckoutspecificationtocart:function(){return!1}},PreOrderEditModule={BindEvent:function(n){$(".preorder-edit").click(function(){PreOrderEditModule.AjaxEditSetOrderItem($(this).attr("attr-orderId"),n)})},AjaxEditSetOrderItem:function(n,t){$.ajax({type:"post",url:t,data:JSON.stringify({orderId:n}),async:!1,contentType:"application/json",success:function(n){"ok"==n.status&&(window.location.href=n.url)},error:function(){}})}},cancelOrderUrl,orderCancelId,PreOrderCancelModule={BindEvents:function(){$(".preorder-cancel").click(function(){PreOrderCancelModule.OpenPopUp($(this).attr("attr-orderId"))})},OpenPopUp:function(n){orderCancelId=n,displayFancyPopupNotification($("#preorde-cancel-id").html())},OpenPopUpOk:function(){PreOrderCancelModule.AjaxCancelOrder(orderCancelId,cancelOrderUrl)},OpenPopUpCancel:function(){orderCancelId=0,jQuery.fancybox.close()},AjaxCancelOrder:function(n,t){$.ajax({type:"post",url:t,data:JSON.stringify({orderId:n}),async:!1,contentType:"application/json",success:function(n){"ok"==n.status&&(window.location.href=window.location.href)},error:function(){}}),PreOrderCancelModule.OpenPopUpCancel()},OpenOrderCheckoutCancelOrdePopUp:function(n){orderCancelId=n,displayFancyPopupNotification($("#preorde-cancel-id").html())},OpenOrderCheckoutCancePopUpOk:function(){PreOrderCancelModule.AjaxPreOrderCheckoutCancelOrder(orderCancelId,cancelOrderUrl)},AjaxPreOrderCheckoutCancelOrder:function(n,t){$.ajax({type:"post",url:t,data:JSON.stringify({orderId:orderCancelId}),async:!1,contentType:"application/json",success:function(n){"ok"==n.status&&displayFancyPopupNotification($("#order-cancel-notification").html())},error:function(){}})}};$(function(){$(".validation-summary-errors").find("li").each(function(){var n=$(this);n.html(n.text())})}),$(function(){if($(".mod-tab-inline").length){var n=$(".mod-tab-inline"),t=n.find(".tab-nav li"),i=n.find(".tab-panel");t.first().addClass("is-selected"),i.hide(),i.first().show();t.on("click","a",function(n){n.preventDefault(),t.removeClass("is-selected"),i.hide(),$(this).parent().addClass("is-selected"),$($(this).attr("href")).show()});n.find(".mod-tab-inline-l2").each(function(){var i=$(this),n=i.find(".tab-nav-l2 li"),t=i.find(".tab-panel-l2");n.first().addClass("is-selected"),t.hide(),t.first().show();n.on("click","a",function(i){i.preventDefault(),n.removeClass("is-selected"),t.hide(),$(this).parent().addClass("is-selected"),$($(this).attr("href")).show()})})}$(".fancybox-iframe").length&&$(".fancybox-iframe").fancybox({type:"iframe"})}),$(function(){var u;if($(".mod-accordion").length){var n=$(".mod-accordion"),r=n.find(".acc-header"),e=n.find(".acc-body");$(".mod-accordion"),u=$("INPUT[name='listType']").val(),n.find(".acc-body").hide();r.on("click",function(){var t=n.find(".acc-header.is-open").attr("id"),i=$(this).attr("id");r.removeClass("is-open"),e.hide(),(isopen=void 0==t||t!=i)&&($(this).addClass("is-open").next().show(),t=$(this).attr("title"),void 0==u?getserieslist(i,t):GetCategoryListBySubjectName(i,t))})}if($(".mod-tab-inline").length){var f=$(".mod-tab-inline"),t=f.find(".tab-nav li"),i=f.find(".tab-panel");t.first().addClass("is-selected"),i.hide(),i.first().show();t.on("click","a",function(n){n.preventDefault(),t.removeClass("is-selected"),i.hide(),$(this).parent().addClass("is-selected"),$($(this).attr("href")).show()})}}),$(document).ready(function(){$("#mainNav > ul > li").each(function(){var n=$(this).find(".subNav > li"),i,t;if(60<n.length)for(i=Math.ceil(n.length/3),n.closest(".subNav").css("width","918px"),t=0;t<n.length;t+=i)n.slice(t,t+i).wrapAll('<div class"sep" style="float:left; width: 200px;"><\/div>');if(20<n.length&&60>n.length)for(i=Math.ceil(n.length/3),n.closest(".subNav").css("width","612px"),t=0;t<n.length;t+=i)n.slice(t,t+i).wrapAll('<div class"sep" style="float:left; width: 200px;"><\/div>')})}),function(n){function e(n){var r=this.data(),p=this.find("ul"),h,s,l,a,e,v,y,w;if(r.vals&&p.length!=0){n||(n=r.seconds),h=!1,r.intervalId&&(h=!0,clearTimeout(r.intervalId));var o=Math.floor(n/86400),u=o*86400,c=Math.floor((n-u)/3600);for(u+=c*3600,s=Math.floor((n-u)/60),u+=s*60,l=n-u,a=(o<100?"0"+(o<10?"0":""):"")+o+(c<10?"0":"")+c+(s<10?"0":"")+s+(l<10?"0":"")+l,e=r.vals.length-1,v=a.length-1;e>=0;e--,v--)y=parseInt(a.substr(v,1)),r.vals[e]=y,p.eq(e).children().html(y);h&&(w=this,t=new Date,i=new Date(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds()),r.ttStartTime=i,r.intervalId=setTimeout(function(){f.call(w)},1e3),this.data("intervalId",r.intervalId))}}function f(n){var o=this.find("ul"),r=this.data(),s,a,l;if(!r.vals||o.length==0){r.intervalId&&(clearTimeout(r.intervalId),this.data("intervalId",null)),r.callback&&r.callback();return}n==undefined&&(n=r.iSec);var u=r.vals[n],e=o.eq(n),h=e.children(),c=r.countdown?-1:1;h.eq(1).html(u),u+=c,n==r.iSec&&(t=new Date,i=new Date(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds()),s=r.tickTimeout,a=i-r.ttStartTime,r.sec+=c,s+=Math.abs(r.seconds-r.sec)*s-a,r.intervalId=setTimeout(function(){f.call(l)},s)),(u<0||u>r.limits[n])&&(u=u<0?r.limits[n]:0,n>0&&f.call(this,n-1)),h.eq(0).html(u),l=this,e.addClass("transition"),e.css({top:0}),setTimeout(function(){(e.removeClass("transition"),h.eq(1).html(u),e.css({top:"-"+r.height+"px"}),c>0||n!=r.iSec)||(r.sec==r.countdownAlertLimit&&o.parent().addClass("timeTo-alert"),r.sec===0&&(o.parent().removeClass("timeTo-alert"),r.intervalId&&(clearTimeout(r.intervalId),l.data("intervalId",null)),typeof r.callback=="function"&&r.callback()))},410),r.vals[n]=u}var t=new Date,i=new Date(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds()),r={start:function(n){n&&e.call(this,n);var r=this,u=setTimeout(function(){f.call(r)},1e3);t=new Date,i=new Date(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds()),this.data("ttStartTime",i),this.data("intervalId",u)},stop:function(){var n=this.data();return n.intervalId&&(clearTimeout(n.intervalId),this.data("intervalId",null)),n},reset:function(n){var t=r.stop.call(this);this.find("div").css({backgroundPosition:"left center"}),typeof n=="undefined"&&(n=t.value),e.call(this,n)}},u={en:{days:"days",hours:"hours",min:"minutes",sec:"seconds"},ru:{days:"дней",hours:"часов",min:"минут",sec:"секунд"},ua:{days:"днiв",hours:"годин",min:"хвилин",sec:"секунд"},de:{days:"Tag",hours:"Uhr",min:"Minuten",sec:"Secunden"},fr:{days:"jours",hours:"heures",min:"minutes",sec:"secondes"},sp:{days:"días",hours:"reloj",min:"minutos",sec:"segundos"}};n.fn.timeTo=function(){for(var y={callback:null,captionSize:0,countdown:!0,countdownAlertLimit:10,displayCaptions:!1,displayDays:!1,fontFamily:"Verdana, sans-serif",fontSize:28,lang:"en",seconds:0,start:!0,theme:"white",vals:[0,0,0,0,0,0,0,0,0],limits:[9,9,9,2,3,5,9,5,9],iSec:8,iHour:4,tickTimeout:1e3,intervalId:null},s,f={},o,c,e,h=0;o=arguments[h];++h)h==0&&typeof o=="string"?s=o:typeof o=="object"?typeof o.getTime=="function"?f.timeTo=o:f=n.extend(f,o):typeof o=="function"?f.callback=o:(c=parseInt(o),isNaN(c)||(f.seconds=c));if(f.timeTo)f.timeTo.getTime?e=f.timeTo.getTime():typeof f.timeTo=="number"&&(e=f.timeTo),t=new Date,i=new Date(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds()),f.timeTo>i&&(f.seconds=Math.floor((e-i)/1e3));else if(f.time||!f.seconds)if(e=f.time,e||(e=new Date),typeof e=="object"&&e.getTime)f.seconds=e.getHours()*3600+e.getMinutes()*60+e.getSeconds(),f.countdown=!1;else if(typeof e=="string"){for(var p=e.split(":"),l=0,a=1,v;v=p.pop();)l+=v*a,a*=60;f.seconds=l,f.countdown=!1}return f.countdown!==!1&&f.seconds>86400&&(f.displayDays=!0),this.each(function(){var i=n(this),t=i.data(),l,a,e;if(t.vals)t.intervalId&&(clearInterval(t.intervalId),t.intervalId=null),n.extend(t,f);else{t=n.extend(y,f),t.height=Math.round(t.fontSize*100/93),t.width=Math.round(t.fontSize*.8+t.height*.13),i.addClass("timeTo").addClass("timeTo-"+t.theme).css({fontFamily:t.fontFamily,fontSize:t.fontSize+"px"});var d=Math.round(t.height/10),p='<ul style="left:'+d+"px; top:-"+t.height+'px"><li>0<\/li><li>0<\/li><\/ul><\/div>',w=' style="width:'+t.width+"px; height:"+t.height+'px;"',b='<div class="first"'+w+">"+p,o="<div"+w+">"+p,h="<span>:<\/span>",v=Math.round(t.width*2+3),c=t.captionSize||Math.round(t.fontSize*.43);thtml=(t.displayCaptions?'<figure style="max-width:'+v+'px">$1<figcaption style="font-size:'+c+'px">'+u[t.lang].hours+"<\/figcaption><\/figure>"+h+'<figure style="max-width:'+v+'px">$1<figcaption style="font-size:'+c+'px">'+u[t.lang].min+"<\/figcaption><\/figure>"+h+'<figure style="max-width:'+v+'px">$1<figcaption style="font-size:'+c+'px">'+u[t.lang].sec+"<\/figcaption><\/figure>":"$1"+h+"$1"+h+"$1").replace(/\$1/g,b+o),t.displayDays&&(l=t.fontSize*.4,thtml=(t.displayCaptions?'<figure style="width:'+Math.round(t.width*3+l)+'px">$1<figcaption style="font-size:'+c+"px; padding-right:"+Math.round(l)+'px">'+u[t.lang].days+"<\/figcaption><\/figure>":"$1").replace(/\$1/,b+o+(t.displayCaptions?o:o.replace('">'," margin-right:"+Math.round(l)+'px">')))+thtml),i.html(thtml)}if(a=i.find("div"),a.length<t.vals.length){var k=t.vals.length-a.length,g=t.vals,nt=t.limits;for(t.vals=[],t.limits=[],e=0;e<a.length;e++)t.vals[e]=g[k+e],t.limits[e]=nt[k+e];t.iSec=t.vals.length-1,t.iHour=t.vals.length-5}t.sec=t.seconds,i.data(t),s&&r[s]?r[s].call(i,t.seconds):t.start?r.start.call(i,t.seconds):r.init.call(i,t.seconds)})}}(jQuery),!function(n){var t={},r={mode:"horizontal",slideSelector:"",infiniteLoop:!0,hideControlOnEnd:!1,speed:500,easing:null,slideMargin:0,startSlide:0,randomStart:!1,captions:!1,ticker:!1,tickerHover:!1,adaptiveHeight:!1,adaptiveHeightSpeed:500,video:!1,useCSS:!0,preloadImages:"visible",responsive:!0,touchEnabled:!0,swipeThreshold:50,oneToOneTouch:!0,preventDefaultSwipeX:!0,preventDefaultSwipeY:!1,pager:!0,pagerType:"full",pagerShortSeparator:" / ",pagerSelector:null,buildPager:null,pagerCustom:null,controls:!0,nextText:"Next",prevText:"Prev",nextSelector:null,prevSelector:null,autoControls:!1,startText:"Start",stopText:"Stop",autoControlsCombine:!1,autoControlsSelector:null,auto:!1,pause:4e3,autoStart:!0,autoDirection:"next",autoHover:!1,autoDelay:0,minSlides:1,maxSlides:1,moveSlides:0,slideWidth:0,onSliderLoad:function(){},onSlideBefore:function(){},onSlideAfter:function(){},onSlideNext:function(){},onSlidePrev:function(){}};n.fn.bxSlider=function(u){var f,e;if(0==this.length)return this;if(this.length>1)return this.each(function(){n(this).bxSlider(u)}),this;f={},e=this,t.el=this;var w=n(window).width(),b=n(window).height(),k=function(){f.settings=n.extend({},r,u),f.settings.slideWidth=parseInt(f.settings.slideWidth),f.children=e.children(f.settings.slideSelector),f.children.length<f.settings.minSlides&&(f.settings.minSlides=f.children.length),f.children.length<f.settings.maxSlides&&(f.settings.maxSlides=f.children.length),f.settings.randomStart&&(f.settings.startSlide=Math.floor(Math.random()*f.children.length)),f.active={index:f.settings.startSlide},f.carousel=f.settings.minSlides>1||f.settings.maxSlides>1,f.carousel&&(f.settings.preloadImages="all"),f.minThreshold=f.settings.minSlides*f.settings.slideWidth+(f.settings.minSlides-1)*f.settings.slideMargin,f.maxThreshold=f.settings.maxSlides*f.settings.slideWidth+(f.settings.maxSlides-1)*f.settings.slideMargin,f.working=!1,f.controls={},f.interval=null,f.animProp="vertical"==f.settings.mode?"top":"left",f.usingCSS=f.settings.useCSS&&"fade"!=f.settings.mode&&function(){var i=document.createElement("div"),n=["WebkitPerspective","MozPerspective","OPerspective","msPerspective"],t;for(t in n)if(void 0!==i.style[n[t]])return f.cssPrefix=n[t].replace("Perspective","").toLowerCase(),f.animProp="-"+f.cssPrefix+"-transform",!0;return!1}(),"vertical"==f.settings.mode&&(f.settings.maxSlides=f.settings.minSlides),e.data("origStyle",e.attr("style")),e.children(f.settings.slideSelector).each(function(){n(this).data("origStyle",n(this).attr("style"))}),ft()},ft=function(){e.wrap('<div class="bx-wrapper"><div class="bx-viewport"><\/div><\/div>'),f.viewport=e.parent(),f.loader=n('<div class="bx-loading" />'),f.viewport.prepend(f.loader),e.css({width:"horizontal"==f.settings.mode?100*f.children.length+215+"%":"auto",position:"relative"}),f.usingCSS&&f.settings.easing?e.css("-"+f.cssPrefix+"-transition-timing-function",f.settings.easing):f.settings.easing||(f.settings.easing="swing"),h(),f.viewport.css({width:"100%",overflow:"hidden",position:"relative"}),f.viewport.parent().css({maxWidth:st()}),f.settings.pager||f.viewport.parent().css({margin:"0 auto 0px"}),f.children.css({float:"horizontal"==f.settings.mode?"left":"none",listStyle:"none",position:"relative"}),f.children.css("width",d()),"horizontal"==f.settings.mode&&f.settings.slideMargin>0&&f.children.css("marginRight",f.settings.slideMargin),"vertical"==f.settings.mode&&f.settings.slideMargin>0&&f.children.css("marginBottom",f.settings.slideMargin),"fade"==f.settings.mode&&(f.children.css({position:"absolute",zIndex:0,display:"none"}),f.children.eq(f.settings.startSlide).css({zIndex:50,display:"block"})),f.controls.el=n('<div class="bx-controls" />'),f.settings.captions&&at(),f.active.last=f.settings.startSlide==s()-1,f.settings.video&&e.fitVids();var t=f.children.eq(f.settings.startSlide);"all"==f.settings.preloadImages&&(t=f.children),f.settings.ticker?f.settings.pager=!1:(f.settings.pager&&ht(),f.settings.controls&&ct(),f.settings.auto&&f.settings.autoControls&&lt(),(f.settings.controls||f.settings.autoControls||f.settings.pager)&&f.viewport.after(f.controls.el)),et(t,ot)},et=function(t,i){var r=t.find("img, iframe").length,u;if(0==r)return i(),void 0;u=0,t.find("img, iframe").each(function(){n(this).one("load",function(){++u==r&&i()}).each(function(){this.complete&&n(this).load()})})},ot=function(){if(f.settings.infiniteLoop&&"fade"!=f.settings.mode&&!f.settings.ticker){var t="vertical"==f.settings.mode?f.settings.minSlides:f.settings.maxSlides,i=f.children.slice(0,t).clone().addClass("bx-clone"),r=f.children.slice(-t).clone().addClass("bx-clone");e.append(i).prepend(r)}f.loader.remove(),g(),"vertical"==f.settings.mode&&(f.settings.adaptiveHeight=!0),f.viewport.height(l()),e.redrawSlider(),f.settings.onSliderLoad(f.active.index),f.initialized=!0,f.settings.responsive&&n(window).bind("resize",ut),f.settings.auto&&f.settings.autoStart&&kt(),f.settings.ticker&&dt(),f.settings.pager&&v(f.settings.startSlide),f.settings.controls&&tt(),f.settings.touchEnabled&&!f.settings.ticker&&gt()},l=function(){var r=0,t=n(),u;if("vertical"==f.settings.mode||f.settings.adaptiveHeight)if(f.carousel)for(u=1==f.settings.moveSlides?f.active.index:f.active.index*c(),t=f.children.eq(u),i=1;i<=f.settings.maxSlides-1;i++)t=u+i>=f.children.length?t.add(f.children.eq(i-1)):t.add(f.children.eq(u+i));else t=f.children.eq(f.active.index);else t=f.children;return"vertical"==f.settings.mode?(t.each(function(){r+=n(this).outerHeight()}),f.settings.slideMargin>0&&(r+=f.settings.slideMargin*(f.settings.minSlides-1))):r=Math.max.apply(Math,t.map(function(){return n(this).outerHeight(!1)}).get()),r},st=function(){var n="100%";return f.settings.slideWidth>0&&(n="horizontal"==f.settings.mode?f.settings.maxSlides*f.settings.slideWidth+(f.settings.maxSlides-1)*f.settings.slideMargin:f.settings.slideWidth),n},d=function(){var t=f.settings.slideWidth,n=f.viewport.width();return 0==f.settings.slideWidth||f.settings.slideWidth>n&&!f.carousel||"vertical"==f.settings.mode?t=n:f.settings.maxSlides>1&&"horizontal"==f.settings.mode&&(n>f.maxThreshold||n<f.minThreshold&&(t=(n-f.settings.slideMargin*(f.settings.minSlides-1))/f.settings.minSlides)),t},h=function(){var n=1,t;return"horizontal"==f.settings.mode&&f.settings.slideWidth>0?f.viewport.width()<f.minThreshold?n=f.settings.minSlides:f.viewport.width()>f.maxThreshold?n=f.settings.maxSlides:(t=f.children.first().width(),n=Math.floor(f.viewport.width()/t)):"vertical"==f.settings.mode&&(n=f.settings.minSlides),n},s=function(){var n=0,t,i;if(f.settings.moveSlides>0)if(f.settings.infiniteLoop)n=f.children.length/c();else for(t=0,i=0;t<f.children.length;)++n,t=i+h(),i+=f.settings.moveSlides<=h()?f.settings.moveSlides:h();else n=Math.ceil(f.children.length/h());return n},c=function(){return f.settings.moveSlides>0&&f.settings.moveSlides<=h()?f.settings.moveSlides:h()},g=function(){var t,i,n;f.children.length>f.settings.maxSlides&&f.active.last&&!f.settings.infiniteLoop?"horizontal"==f.settings.mode?(t=f.children.last(),n=t.position(),o(-(n.left-(f.viewport.width()-t.width())),"reset",0)):"vertical"==f.settings.mode&&(i=f.children.length-f.settings.minSlides,n=f.children.eq(i).position(),o(-n.top,"reset",0)):(n=f.children.eq(f.active.index*c()).position(),f.active.index==s()-1&&(f.active.last=!0),void 0!=n&&("horizontal"==f.settings.mode?o(-n.left,"reset",0):"vertical"==f.settings.mode&&o(-n.top,"reset",0)))},o=function(n,t,i,r){var u,s;f.usingCSS?(u="vertical"==f.settings.mode?"translate3d(0, "+n+"px, 0)":"translate3d("+n+"px, 0, 0)",e.css("-"+f.cssPrefix+"-transition-duration",i/1e3+"s"),"slide"==t?(e.css(f.animProp,u),e.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){e.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),y()})):"reset"==t?e.css(f.animProp,u):"ticker"==t&&(e.css("-"+f.cssPrefix+"-transition-timing-function","linear"),e.css(f.animProp,u),e.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){e.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),o(r.resetValue,"reset",0),a()}))):(s={},s[f.animProp]=n,"slide"==t?e.animate(s,i,f.settings.easing,function(){y()}):"reset"==t?e.css(f.animProp,n):"ticker"==t&&e.animate(s,speed,"linear",function(){o(r.resetValue,"reset",0),a()}))},nt=function(){for(var i,r="",u=s(),t=0;u>t;t++)i="",f.settings.buildPager&&n.isFunction(f.settings.buildPager)?(i=f.settings.buildPager(t),f.pagerEl.addClass("bx-custom-pager")):(i=t+1,f.pagerEl.addClass("bx-default-pager")),r+='<div class="bx-pager-item"><a href="" data-slide-index="'+t+'" class="bx-pager-link">'+i+"<\/a><\/div>";f.pagerEl.html(r)},ht=function(){f.settings.pagerCustom?f.pagerEl=n(f.settings.pagerCustom):(f.pagerEl=n('<div class="bx-pager" />'),f.settings.pagerSelector?n(f.settings.pagerSelector).html(f.pagerEl):f.controls.el.addClass("bx-has-pager").append(f.pagerEl),nt()),f.pagerEl.delegate("a","click",bt)},ct=function(){f.controls.next=n('<a class="bx-next" href="">'+f.settings.nextText+"<\/a>"),f.controls.prev=n('<a class="bx-prev" href="">'+f.settings.prevText+"<\/a>"),f.controls.next.bind("click",vt),f.controls.prev.bind("click",yt),f.settings.nextSelector&&n(f.settings.nextSelector).append(f.controls.next),f.settings.prevSelector&&n(f.settings.prevSelector).append(f.controls.prev),f.settings.nextSelector||f.settings.prevSelector||(f.controls.directionEl=n('<div class="bx-controls-direction" />'),f.controls.directionEl.append(f.controls.prev).append(f.controls.next),f.controls.el.addClass("bx-has-controls-direction").append(f.controls.directionEl))},lt=function(){f.controls.start=n('<div class="bx-controls-auto-item"><a class="bx-start" href="">'+f.settings.startText+"<\/a><\/div>"),f.controls.stop=n('<div class="bx-controls-auto-item"><a class="bx-stop" href="">'+f.settings.stopText+"<\/a><\/div>"),f.controls.autoEl=n('<div class="bx-controls-auto" />'),f.controls.autoEl.delegate(".bx-start","click",pt),f.controls.autoEl.delegate(".bx-stop","click",wt),f.settings.autoControlsCombine?f.controls.autoEl.append(f.controls.start):f.controls.autoEl.append(f.controls.start).append(f.controls.stop),f.settings.autoControlsSelector?n(f.settings.autoControlsSelector).html(f.controls.autoEl):f.controls.el.addClass("bx-has-controls-auto").append(f.controls.autoEl),p(f.settings.autoStart?"stop":"start")},at=function(){f.children.each(function(){var t=n(this).find("img:first").attr("title");void 0!=t&&(""+t).length&&n(this).append('<div class="bx-caption"><span>'+t+"<\/span><\/div>")})},vt=function(n){f.settings.auto&&e.stopAuto(),e.goToNextSlide(),n.preventDefault()},yt=function(n){f.settings.auto&&e.stopAuto(),e.goToPrevSlide(),n.preventDefault()},pt=function(n){e.startAuto(),n.preventDefault()},wt=function(n){e.stopAuto(),n.preventDefault()},bt=function(t){f.settings.auto&&e.stopAuto();var r=n(t.currentTarget),i=parseInt(r.attr("data-slide-index"));i!=f.active.index&&e.goToSlide(i),t.preventDefault()},v=function(t){var i=f.children.length;return"short"==f.settings.pagerType?(f.settings.maxSlides>1&&(i=Math.ceil(f.children.length/f.settings.maxSlides)),f.pagerEl.html(t+1+f.settings.pagerShortSeparator+i),void 0):(f.pagerEl.find("a").removeClass("active"),f.pagerEl.each(function(i,r){n(r).find("a").eq(t).addClass("active")}),void 0)},y=function(){if(f.settings.infiniteLoop){var n="";0==f.active.index?n=f.children.eq(0).position():f.active.index==s()-1&&f.carousel?n=f.children.eq((s()-1)*c()).position():f.active.index==f.children.length-1&&(n=f.children.eq(f.children.length-1).position()),"horizontal"==f.settings.mode?o(-n.left,"reset",0):"vertical"==f.settings.mode&&o(-n.top,"reset",0)}f.working=!1,f.settings.onSlideAfter(f.children.eq(f.active.index),f.oldIndex,f.active.index)},p=function(n){f.settings.autoControlsCombine?f.controls.autoEl.html(f.controls[n]):(f.controls.autoEl.find("a").removeClass("active"),f.controls.autoEl.find("a:not(.bx-"+n+")").addClass("active"))},tt=function(){1==s()?(f.controls.prev.addClass("disabled"),f.controls.next.addClass("disabled")):!f.settings.infiniteLoop&&f.settings.hideControlOnEnd&&(0==f.active.index?(f.controls.prev.addClass("disabled"),f.controls.next.removeClass("disabled")):f.active.index==s()-1?(f.controls.next.addClass("disabled"),f.controls.prev.removeClass("disabled")):(f.controls.prev.removeClass("disabled"),f.controls.next.removeClass("disabled")))},kt=function(){f.settings.autoDelay>0?setTimeout(e.startAuto,f.settings.autoDelay):e.startAuto(),f.settings.autoHover&&e.hover(function(){f.interval&&(e.stopAuto(!0),f.autoPaused=!0)},function(){f.autoPaused&&(e.startAuto(!0),f.autoPaused=null)})},dt=function(){var i=0,t;"next"==f.settings.autoDirection?e.append(f.children.clone().addClass("bx-clone")):(e.prepend(f.children.clone().addClass("bx-clone")),t=f.children.first().position(),i="horizontal"==f.settings.mode?-t.left:-t.top),o(i,"reset",0),f.settings.pager=!1,f.settings.controls=!1,f.settings.autoControls=!1,f.settings.tickerHover&&!f.usingCSS&&f.viewport.hover(function(){e.stop()},function(){var t=0;f.children.each(function(){t+="horizontal"==f.settings.mode?n(this).outerWidth(!0):n(this).outerHeight(!0)});var i=f.settings.speed/t,r="horizontal"==f.settings.mode?"left":"top",u=i*(t-Math.abs(parseInt(e.css(r))));a(u)}),a()},a=function(n){var t,i;speed=n?n:f.settings.speed,t={left:0,top:0},i={left:0,top:0},"next"==f.settings.autoDirection?t=e.find(".bx-clone").first().position():i=f.children.first().position();var r="horizontal"==f.settings.mode?-t.left:-t.top,u="horizontal"==f.settings.mode?-i.left:-i.top,s={resetValue:u};o(r,"ticker",speed,s)},gt=function(){f.touch={start:{x:0,y:0},end:{x:0,y:0}},f.viewport.bind("touchstart",ni)},ni=function(n){if(f.working)n.preventDefault();else{f.touch.originalPos=e.position();var t=n.originalEvent;f.touch.start.x=t.changedTouches[0].pageX,f.touch.start.y=t.changedTouches[0].pageY,f.viewport.bind("touchmove",it),f.viewport.bind("touchend",rt)}},it=function(n){var t=n.originalEvent,u=Math.abs(t.changedTouches[0].pageX-f.touch.start.x),e=Math.abs(t.changedTouches[0].pageY-f.touch.start.y),i,r;(3*u>e&&f.settings.preventDefaultSwipeX?n.preventDefault():3*e>u&&f.settings.preventDefaultSwipeY&&n.preventDefault(),"fade"!=f.settings.mode&&f.settings.oneToOneTouch)&&(i=0,"horizontal"==f.settings.mode?(r=t.changedTouches[0].pageX-f.touch.start.x,i=f.touch.originalPos.left+r):(r=t.changedTouches[0].pageY-f.touch.start.y,i=f.touch.originalPos.top+r),o(i,"reset",0))},rt=function(n){var r,i,t;f.viewport.unbind("touchmove",it),r=n.originalEvent,i=0,(f.touch.end.x=r.changedTouches[0].pageX,f.touch.end.y=r.changedTouches[0].pageY,"fade"==f.settings.mode)?(t=Math.abs(f.touch.start.x-f.touch.end.x),t>=f.settings.swipeThreshold&&(f.touch.start.x>f.touch.end.x?e.goToNextSlide():e.goToPrevSlide(),e.stopAuto())):(t=0,"horizontal"==f.settings.mode?(t=f.touch.end.x-f.touch.start.x,i=f.touch.originalPos.left):(t=f.touch.end.y-f.touch.start.y,i=f.touch.originalPos.top),!f.settings.infiniteLoop&&(0==f.active.index&&t>0||f.active.last&&0>t)?o(i,"reset",200):Math.abs(t)>=f.settings.swipeThreshold?(0>t?e.goToNextSlide():e.goToPrevSlide(),e.stopAuto()):o(i,"reset",200)),f.viewport.unbind("touchend",rt)},ut=function(){var t=n(window).width(),i=n(window).height();(w!=t||b!=i)&&(w=t,b=i,e.redrawSlider())};return e.goToSlide=function(t,i){var h,r,a,p,u,w,b;f.working||f.active.index==t||((f.working=!0,f.oldIndex=f.active.index,f.active.index=0>t?s()-1:t>=s()?0:t,f.settings.onSlideBefore(f.children.eq(f.active.index),f.oldIndex,f.active.index),"next"==i?f.settings.onSlideNext(f.children.eq(f.active.index),f.oldIndex,f.active.index):"prev"==i&&f.settings.onSlidePrev(f.children.eq(f.active.index),f.oldIndex,f.active.index),f.active.last=f.active.index>=s()-1,f.settings.pager&&v(f.active.index),f.settings.controls&&tt(),"fade"==f.settings.mode)?(f.settings.adaptiveHeight&&f.viewport.height()!=l()&&f.viewport.animate({height:l()},f.settings.adaptiveHeightSpeed),f.children.filter(":visible").fadeOut(f.settings.speed).css({zIndex:0}),f.children.eq(f.active.index).css("zIndex",51).fadeIn(f.settings.speed,function(){n(this).css("zIndex",50),y()})):(f.settings.adaptiveHeight&&f.viewport.height()!=l()&&f.viewport.animate({height:l()},f.settings.adaptiveHeightSpeed),h=0,r={left:0,top:0},!f.settings.infiniteLoop&&f.carousel&&f.active.last?"horizontal"==f.settings.mode?(u=f.children.eq(f.children.length-1),r=u.position(),h=f.viewport.width()-u.outerWidth()):(a=f.children.length-f.settings.minSlides,r=f.children.eq(a).position()):f.carousel&&f.active.last&&"prev"==i?(p=1==f.settings.moveSlides?f.settings.maxSlides-c():(s()-1)*c()-(f.children.length-f.settings.maxSlides),u=e.children(".bx-clone").eq(p),r=u.position()):"next"==i&&0==f.active.index?(r=e.find("> .bx-clone").eq(f.settings.maxSlides).position(),f.active.last=!1):t>=0&&(w=t*c(),r=f.children.eq(w).position()),"undefined"!=typeof r&&(b="horizontal"==f.settings.mode?-(r.left-h):-r.top,o(b,"slide",f.settings.speed))))},e.goToNextSlide=function(){if(f.settings.infiniteLoop||!f.active.last){var n=parseInt(f.active.index)+1;e.goToSlide(n,"next")}},e.goToPrevSlide=function(){if(f.settings.infiniteLoop||0!=f.active.index){var n=parseInt(f.active.index)-1;e.goToSlide(n,"prev")}},e.startAuto=function(n){f.interval||(f.interval=setInterval(function(){"next"==f.settings.autoDirection?e.goToNextSlide():e.goToPrevSlide()},f.settings.pause),f.settings.autoControls&&1!=n&&p("stop"))},e.stopAuto=function(n){f.interval&&(clearInterval(f.interval),f.interval=null,f.settings.autoControls&&1!=n&&p("start"))},e.getCurrentSlide=function(){return f.active.index},e.getSlideCount=function(){return f.children.length},e.redrawSlider=function(){f.children.add(e.find(".bx-clone")).outerWidth(d()),f.viewport.css("height",l()),f.settings.ticker||g(),f.active.last&&(f.active.index=s()-1),f.active.index>=s()&&(f.active.last=!0),f.settings.pager&&!f.settings.pagerCustom&&(nt(),v(f.active.index))},e.destroySlider=function(){f.initialized&&(f.initialized=!1,n(".bx-clone",this).remove(),f.children.each(function(){void 0!=n(this).data("origStyle")?n(this).attr("style",n(this).data("origStyle")):n(this).removeAttr("style")}),void 0!=n(this).data("origStyle")?this.attr("style",n(this).data("origStyle")):n(this).removeAttr("style"),n(this).unwrap().unwrap(),f.controls.el&&f.controls.el.remove(),f.controls.next&&f.controls.next.remove(),f.controls.prev&&f.controls.prev.remove(),f.pagerEl&&f.pagerEl.remove(),n(".bx-caption",this).remove(),f.controls.autoEl&&f.controls.autoEl.remove(),clearInterval(f.interval),f.settings.responsive&&n(window).unbind("resize",ut))},e.reloadSlider=function(n){void 0!=n&&(u=n),e.destroySlider(),k()},k(),this}}(jQuery)