function fiximgsize(n){n.width=n.width;n.height=n.height;n.onload=null}function ie8(){return document.documentMode&&document.documentMode<=8}function formatAmountForDisplay(n,t){var i,r=n<0;return n=Math.abs(n),ccy={decimalDigits:2,decimalSeparator:".",iso4217NumericCode:000,positivePattern:"${0} {1}"},t&&ccy?(i=Number(n).toFixed(ccy.decimalDigits).toString(),i=ccy.positivePattern.replace("{0}",i).replace("{1}",t)):i=Number(n).toFixed(2).toString(),r?"-"+i:i}(function(n,t){"use strict";var i=t.module("app",["ngAnimate","ngSanitize","ngCookies","infinite-scroll"]);i.service("imageUrl",function(){this.imageUrl=function(n,t,i,r,u,f){var e="Image/"+n+"?";return i&&(e+="shootKey="+i),r&&(e+="&imageId="+r),u&&(e+="&backgroundId="+u),f&&(e+="&packageId="+f),t&&(e+="&size="+t),e};this.shootImage=function(n,t,i){return n?this.imageUrl("ShootImage",i,null,n,t):null};this.background=function(n){return n?this.imageUrl("Background",null,null,null,n):null};this.package=function(n,t,i,r,u){return i?this.imageUrl("Package",n,t,r,u,i):null}});i.service("textFields",function(){var n=this,t,i;for(this.textFields=[],this.values={},t=0;t<viewModel.textFields.length;++t)i=viewModel.textFields[t],n.textFields.push(i);this.getField=function(t){return n.textFields[t]};this.getValue=function(t){return n.values[t]};this.setValue=function(t,i){n.values[t]=i}})})(window,window.angular),function(n,t){"use strict";var i=t.module("app");i.directive("helpPopup",["$timeout",function(){function t(t){t.snippetUrl=n.url(t.snippetPath)}function i(n,t){r(n,t)}function r(t,i){var r=$(".Help-content-box",i),u;if(r.length){r=r[0];u=function(){var i;if(document.documentElement.contains(r)&&(i=$(":first-child",r),i)){var f=parseFloat($("body").css("margin-top")),e=$(n).height(),u=e-f,t=$(r).css(["marginTop","marginBottom","paddingTop","paddingBottom","borderTopWidth","borderBottomWidth"]),o=parseFloat(t.marginTop),s=parseFloat(t.marginBottom),h=parseFloat(t.paddingTop),c=parseFloat(t.paddingBottom),l=parseFloat(t.borderTopWidth),a=parseFloat(t.borderBottomWidth);u-=o+s+h+c+l+a;$(i).css({"max-height":u,"box-sizing":"border-box"})}};u();$(n).on("resize",u);t.$on("$destroy",function(){$(n).off("resize",u)})}}return{restrict:"AE",transclude:!0,scope:{snippetPath:"@",onClose:"&"},controller:["$scope",t],link:i,template:"<div modal-overlay><div class='Help-content-box'><div class='Help-content'><div class='Help-content-close-box' ng-click='onClose()'><div class='Help-content-close'><i class='fa fa-close'><\/i><\/div><\/div><div ng-include='snippetUrl'><\/div><\/div><\/div><\/div>"}}])}(window,window.angular),function(n,t){"use strict";var i=t.module("app");i.directive("modalOverlay",["$timeout",function(){function n(){}function t(n,t){var i,r;t=t.children(":first");i=t.css(["position","top"]);i.position!=="fixed"||i.top&&i.top!=="0px"&&i.top!=="auto"||(r=$("body").css("margin-top"),r&&t.css("top",r))}return{restrict:"AE",transclude:!0,replace:!0,scope:{},link:t,controller:n,template:"<div class=Modal-overlay><!--No whitespace here!--><div class=Modal-overlay-content ng-transclude><\/div><\/div>"}}])}(window,window.angular),function(n,t){"use strict";var i=t.module("app");i.directive("pageHead",["$timeout",function(){function n(){this.onShowAboutUs=function(){this.showAboutUs=!0};this.onCloseAboutUs=function(){this.showAboutUs=!1};this.onShowTermsAndConditions=function(){this.showTermsAndConditions=!0};this.onCloseTermsAndConditions=function(){this.showTermsAndConditions=!1}}function t(n,t){n.updateCartSummary=function(n,i){$(".CartSummary-count-totalItems",t).text(n);$(".CartSummary-cost-costDisplay",t).text(i)}}return{restrict:"AE",controller:["$scope",n],controllerAs:"pageHead",link:t}}])}(window,window.angular),function(n,t){"use strict";var i=t.module("app");i.directive("pleaseWait",["$timeout",function(){function n(){}function t(n,t){var i,r;t=t.children(":first");i=t.css(["position","top"]);i.position!=="fixed"||i.top&&i.top!=="0px"&&i.top!=="auto"||(r=$("body").css("margin-top"),r&&t.css("top",r))}return{restrict:"AE",transclude:!0,scope:{},link:t,controller:n,template:"<div class=PleaseWait-overlay><!--No whitespace here!--><div class=PleaseWait-overlay-content><div class=PleaseWait-content ng-transclude><\/div><\/div><\/div>"}}])}(window,window.angular),function(n,t){"use strict";var i=t.module("app");i.directive("coupons",["$timeout",function(){function t(t){n(t,viewModel.coupons)}function i(t){t.onUpdate=function(i){for(var r,e,f=[],u=0;u<t.coupons.length;++u)(r=t.coupons[u],r.deleting)||f.push({code:r.code,expires:r.expires,usageLimit:r.usageLimit,minimumSpend:r.minimumSpend,discountAmount:r.discountAmount,discountPercentage:r.discountPercentage});i.preventDefault();e={coupons:f};$.ajax({type:"POST",url:"admin/coupons?ajax=1",data:e,dataType:"json",async:!1,success:function(i){n(t,i.coupons);t.lastPostSuccess=!0},error:function(n,i,r){t.lastPostError=r},complete:function(){}})}}function n(n,t){for(var i,r=[],u=0;u<t.length;++u)i=t[u],r.push({code:i.code,expires:i.expires,usageLimit:i.usageLimit,minimumSpend:i.minimumSpend,discountAmount:i.discountAmount,discountPercentage:i.discountPercentage,deleting:!1});r.push({code:"",expires:"",usageLimit:null,minimumSpend:"",discountAmount:"",discountPercentage:""});n.coupons=r}return{restrict:"AE",controller:["$scope",t],link:i}}])}(window,window.angular),function(n,t,i){"use strict";var r=t.module("app");r.directive("cart",["$timeout",function(){function t(t){t.readOnly=!1;t.$on("$destroy",function(){});this.init=function(n){t.items=n.cartItems;t.extras=n.cartExtras};this.init(n.viewModel);ie8()?n.viewModel=i:delete n.viewModel;this.onAddExtra=function(n,i){var r={itemGuid:n,quantity:i?i:1};$.post("cart/add",r,null,"json").done(function(n){t.updateCartSummary(n.totalItems,n.costDisplay);t.cart.init(n);t.$apply(function(){})}).fail(function(){}).always(function(){t.$apply(function(){})})}}function r(){}return{restrict:"AE",controller:["$scope",t],controllerAs:"cart",link:r}}]);r.directive("cartItems",["$timeout",function(){function n(){}function t(){}return{restrict:"AE",controller:["$scope",n],link:t}}]);r.directive("cartExtras",["$timeout",function(){function n(){}function t(){}return{restrict:"AE",controller:["$scope",n],controllerAs:"cartExtras",link:t}}])}(window,window.angular),function(n,t,i){"use strict";var r=t.module("app");r.directive("checkout",["$timeout",function(){function t(){var xmlHttpRequest=new XMLHttpRequest,allowAllCountries,countryCode,country,Twirly;xmlHttpRequest.open("GET","countries.json",!1);xmlHttpRequest.send(null);xmlHttpRequest.status==200?eval("window.countries="+xmlHttpRequest.responseText):n.countries=[];allowAllCountries=viewModel.allowedCountries.length==0;this.allCountries=[];this.shippingCountries=[];this.initCountry=function(t){var i,r;if(t){var e=[],c=n.addressStrings.translate("Address line 3"),o=null,u=null;if(t.fields&&(i=t.fields.split(":"),c=n.addressStrings.translate(i[0]),o=i.length>1?n.addressStrings.translate(i[1]):null,u=i.length>2?n.addressStrings.translate(i[2]):null,u&&t.states))for(r=0;r<t.states.length;r++){var s=t.states[r].split(":"),h=s[0],f=s[1];f||(f=h);e.push({code:h,name:f})}t.states=e;t.states.length||(t.states=null);t.showPostal=!!o;t.showState=!!u}};for(countryCode in n.countries)country=n.countries[countryCode],country instanceof Object?(country={code:countryCode,name:country.name,fields:country.fields,states:country.states},this.initCountry(country)):country={code:countryCode,name:country},(allowAllCountries||$.inArray(countryCode,viewModel.allowedCountries)!=-1)&&this.shippingCountries.push(country),this.allCountries.push(country);this.findCountry=function(n){var t,i;if(n&&this.allCountries)for(t=0;t<this.allCountries.length;++t)if(i=this.allCountries[t],i.code===n)return i;return null};this.onCountryChange=function(n){if(!n.country){n.state={};return}n.state={}};this.onShippingStateChange=function(){var n=this.shipping.state.code;this.shipping.country.states||(n=null);this.initDeliveryOptions(n,this.shipping.country.code)};this.onShippingCountryChange=function(){this.onCountryChange(this.shipping);this.onShippingStateChange()};this.onBillingCountryChange=function(){this.onCountryChange(this.billing)};this.newBlankAddress=function(){var n={};return n.country={},n};this.init=function(n,t){var u=0,f,r,o,e;for(this.jobRequiresPayment=n.jobRequiresPayment,this.bypassPayment=n.bypassPayment,this.enableComments=n.enableComments,this.enableComments&&(this.comments=n.comments),this.enableCoupons=n.enableCoupons,this.enableCoupons?(this.couponCode=n.couponCode,this.couponProblem=n.couponProblem):this.couponCode=this.couponProblem=null,this.haveTermsAndConditions=n.haveTermsAndConditions,this.termsAccepted=n.completed.termsAndConditions,this.termsProblem=!1,this.requiredStepsCompleted=!1,this.shippingStepNumber=++u,this.deliveryOption=null,this.deliveryOptionsAll=n.deliveryOptions,f=0;f<this.deliveryOptionsAll.length;++f)r=this.deliveryOptionsAll[f],r.priceDisplay&&(r.description=r.description+" ["+r.priceDisplay+"]"),n.deliveryOptionId===r.deliveryOptionId&&(this.deliveryOption=r);o=n.jobRequiresPayment&&!n.bypassPayment;o&=n.grandTotal!==0;this.paymentStepNumber=0;this.contactStepNumber=0;o?(this.paymentStepNumber=++u,this.showBillingAddress=!0):(this.contactStepNumber=++u,this.showBillingAddress=!1);this.paymentOnSeparatePage=this.paymentStepNumber!=0;this.initAddress(n.shippingAddress,n.shippingBadFields,"shipping");this.initAddress(n.billingDetails,n.billingBadFields,"billing");this.initDefaultBillingDetails();this.initDemoShipping();this.initDemoBilling();this.initDeliveryOptions(this.shipping.state.code,this.shipping.country.code);e=this.deliveryOption&&n.completed.delivery;e=e&&(n.completed.shipping||!this.deliveryOption.addressRequired);this.currentStep=i;e?this.contactStepNumber?n.completed.contact||(this.currentStep=this.contactStepNumber):this.paymentStepNumber&&(n.completed.billing||(this.currentStep=this.paymentStepNumber)):this.currentStep=this.shippingStepNumber;this.currentStep||(this.currentStep=u+1,this.requiredStepsCompleted=!0,t&&n.haveTermsAndConditions&&!this.termsAccepted&&(this.termsProblem=!0));this.totals=n.totals};this.initAddress=function(n,t,i){var r=this[i]=this.newBlankAddress(),u,f,e;if(n){if(n.firstName&&(r.firstName=n.firstName),n.lastName&&(r.lastName=n.lastName),n.email&&(r.email=n.email),n.contactPhone&&(r.contactPhone=n.contactPhone),n.mobilePhone&&(r.mobilePhone=n.mobilePhone),n.address1&&(r.address1=n.address1),n.address2&&(r.address2=n.address2),n.city&&(r.city=n.city),n.postal&&(r.postal=n.postal),u=this.findCountry(n.countryCode),u&&(r.country=u),n.state&&u)for(f=0;f<u.states.length;++f)if(e=u.states[f],e.code==n.state){r.state=e;break}r.state||(r.state={name:n.state});r.validationErrors={};t&&(r.validationErrors.firstName=$.inArray("firstName",t)!=-1,r.validationErrors.lastName=$.inArray("lastName",t)!=-1,r.validationErrors.email=$.inArray("email",t)!=-1,r.validationErrors.contactPhone=$.inArray("contactPhone",t)!=-1,r.validationErrors.mobilePhone=$.inArray("mobilePhone",t)!=-1,r.validationErrors.address1=$.inArray("address1",t)!=-1,r.validationErrors.address2=$.inArray("address2",t)!=-1,r.validationErrors.city=$.inArray("city",t)!=-1,r.validationErrors.state=$.inArray("state",t)!=-1,r.validationErrors.postal=$.inArray("postal",t)!=-1,r.validationErrors.country=$.inArray("country",t)!=-1||$.inArray("countryCode",t)!=-1)}};this.initDefaultBillingDetails=function(){this.billing.firstName||this.billing.lastName||(this.billing.firstName=this.shipping.firstName,this.billing.lastName=this.shipping.lastName);this.paymentStepNumber&&this.isBlankAddress(this.billing)&&this.copyAddress(this.shipping,this.billing)};this.isBlankAddress=function(n){if(!n)return!0;var t=!n.address1&&!n.address2&&!n.city&&!n.postal;return t&&n.state&&(n.state.code||n.state.name)&&(t=!1),t};this.copyAddress=function(n,t){return n?(t.address1=n.address1,t.address2=n.address2,t.city=n.city,t.postal=n.postal,t.state=n.state,t.country=n.country,t):t};this.initDemoAddress=function(t,i){var r,f,u;if(!n.demoAddress||!i||(r=n.demoAddress[i],!r))return null;if(!r.country){if(f=this.findCountry(i),!f)return;r.country=f}return typeof r.state=="string"&&(r.state={code:r.state,name:r.state}),u=!1,t.firstName||t.lastName||(t.firstName=r.firstName,t.lastName=r.lastName,u=!0),this.isBlankAddress(t)&&(this.copyAddress(r,t),u=!0),u&&(t.validationErrors={}),r};this.getDemoCountryCode=function(n,t){return n&&n.country&&n.country.code?n.country.code:t&&t.country&&t.country.code?t.country.code:null};this.initDemoShipping=function(){this.initDemoAddress(this.shipping,this.getDemoCountryCode(this.shipping,this.billing))};this.initDemoBilling=function(){var i=!this.paymentStepNumber,n=this.initDemoAddress(this.billing,this.getDemoCountryCode(this.billing,this.shipping),i),t;n&&(t=!1,this.billing.email||(this.billing.email=n.email,t=!0),this.billing.contactPhone||this.billing.mobilePhone||(this.billing.contactPhone=n.contactPhone,this.billing.mobilePhone=n.mobilePhone,t=!0),t&&(this.billing.validationErrors={}))};this.initDeliveryOptions=function(n,t){for(var f,u,o,e,r,i;;){for(f=!1,u=[],r=0;r<this.deliveryOptionsAll.length;++r){if(i=this.deliveryOptionsAll[r],!i.addressRequired){u.push(i);continue}if(n&&t){if((!i.stateCode||i.stateCode===n)&&i.countryCode===t){u.push(i);f=!0;continue}}else if(t){if(i.stateCode)continue;if(i.countryCode===t){u.push(i);f=!0;continue}}else{if(i.stateCode||i.countryCode)continue;u.push(i);f=!0;continue}}if(f)break;if(n&&t){n=null;continue}else if(t){n=t=null;continue}else break}if(this.deliveryOptions=u,this.deliveryOption){for(o=!1,r=0;r<u.length;++r)if(i=u[r],this.deliveryOption.deliveryOptionId===i.deliveryOptionId){o=!0;break}o||(this.deliveryOption=null)}if(!this.deliveryOption)for(e=0;e<2&&!this.deliveryOption;++e)for(r=0;r<u.length;++r)if(i=u[r],e||i.addressRequired){this.deliveryOption=i;break}};this.onDeliveryOptionSelected=function(n,t){this.doDeliveryUpdate(n,t);this.currentStep=this.shippingStepNumber};this.init(n.viewModel);ie8()?n.viewModel=i:delete n.viewModel;Twirly=function(n,t){t||$("#Checkout-area").addClass("is-running-sync-ajax");n=$(n);n.addClass("is-twirling");this.stop=function(){n.removeClass("is-twirling");$("#Checkout-area").removeClass("is-running-sync-ajax")}};this.onDeliveryContinue=function(n){this.doDeliveryUpdate(n,this.deliveryOption)};this.doDeliveryUpdate=function(n,t){if(t){var i=this.getAddressForAjaxCall(this.shipping,!1),r={deliveryOptionId:t.deliveryOptionId,address:i,termsAccepted:this.termsAccepted?!0:!1},u=this,f=new Twirly($("button.Checkout-step-continueButton",n.currentTarget));$.ajax({url:"checkout/delivery",data:r,dataType:"json",method:"POST",async:!1,success:function(n){u.init(n);this.deliveryOption=t},error:function(){},complete:function(){f.stop()}})}};this.onShippingEdit=function(){this.currentStep=this.shippingStepNumber};this.getAddressForAjaxCall=function(n,t){var i={};return n&&(i.firstName=n.firstName,i.lastName=n.lastName,i.email=n.email,i.contactPhone=n.contactPhone,i.mobilePhone=n.mobilePhone,t||(i.address1=n.address1,i.address2=n.address2,i.city=n.city,n.country&&(n.country.showState&&n.state&&(n.state.code?i.state=n.state.code:n.state.name&&(i.state=n.state.name)),n.country.showPostal&&(i.postal=n.postal),i.country=n.country.name,i.countryCode=n.country.code))),i};this.onPaymentEdit=function(){this.currentStep=this.paymentStepNumber};this.onPaymentContinue=function(n){var t=this.getAddressForAjaxCall(this.billing,!1),i,r;t.termsAccepted=this.termsAccepted?!0:!1;i=this;r=new Twirly($("button.Checkout-step-continueButton",n.currentTarget));$.ajax({url:"checkout/billing",data:t,dataType:"json",method:"POST",async:!1,success:function(n){i.init(n)},error:function(){},complete:function(){r.stop()}})};this.onContactEdit=function(){this.currentStep=this.contactStepNumber};this.onContactContinue=function(n){var t=this.getAddressForAjaxCall(this.billing,!0),i,r;t.termsAccepted=this.termsAccepted?!0:!1;i=this;r=new Twirly($("button.Checkout-step-continueButton",n.currentTarget));$.ajax({url:"checkout/billing",data:t,dataType:"json",method:"POST",async:!1,success:function(n){i.init(n)},error:function(){},complete:function(){r.stop()}})};this.onCouponApply=function(n){var t=this,i={coupon:this.couponCode,comments:this.comments},r=new Twirly(n.currentTarget);$.ajax({url:"checkout/applyCoupon",data:i,dataType:"json",method:"POST",async:!1,success:function(n){t.init(n)},error:function(){},complete:function(){r.stop()}})};this.onSubmitOrder=function(t){var i={},r,u;i.coupon=this.couponCode?this.couponCode:"";i.comments=this.comments?this.comments:"";i.termsAccepted=this.termsAccepted?!0:!1;r=this;u=new Twirly(t.currentTarget);$.ajax({url:"checkout/submit",data:i,dataType:"json",method:"POST",async:!1,success:function(t,i,u){if(u.status===204){var f=u.getResponseHeader("Location");!u.responseText&&f&&n.location.replace(f)}else t&&r.init(t,!0)},error:function(n,t,i){alert(i)},complete:function(){u.stop()}})};this.onShowTermsAndConditions=function(){this.showTermsAndConditions=!0};this.onCloseTermsAndConditions=function(){this.showTermsAndConditions=!1}}function r(){}return{restrict:"AE",controller:["$scope",t],controllerAs:"checkout",link:r}}]);r.directive("checkoutForm",["$timeout",function(){function n(){}function t(){}return{restrict:"AE",link:t,controller:["$scope",n]}}]);r.directive("checkoutStepCollapsed",function(){return{restrict:"AE",link:function(n,t,i){"false"===i.checkoutStepCollapsed?t.css("display",""):t.css("display","none");i.$observe("checkoutStepCollapsed",function(n){var i=500;"false"===n?t.slideDown(i):t.slideUp(i)})}}});r.directive("buttonLabel",function(){return{restrict:"A",scope:!0,link:function(n,t,i){n.buttonLabel=i.buttonLabel}}})}(window,window.angular),function(n,t){"use strict";var i=t.module("app");i.directive("identify",["$timeout",function(){function n(){this.contact={name:viewModel.contact.name,phone:viewModel.contact.phone,email:viewModel.contact.email};viewModel.subject?this.subject={firstName:viewModel.subject.suppliedFirstName,lastName:viewModel.subject.suppliedLastName,id:viewModel.subject.suppliedId,folder:viewModel.subject.suppliedFolder}:viewModel.family?this.family={name:viewModel.family.suppliedName,members:viewModel.family.suppliedMembers,id:viewModel.family.suppliedId,folder:viewModel.family.suppliedFolder}:viewModel.folder&&(this.folder={name:viewModel.folder.suppliedName,id:viewModel.folder.suppliedId,folder:viewModel.folder.suppliedFolder});this.error={subjectNameRequired:viewModel.error&1,familyNameRequired:viewModel.error&2,familyMembersRequired:viewModel.error&4,folderNameRequired:viewModel.error&8,contactNameRequired:viewModel.error&16,contactMethodRequired:viewModel.error&32}}function t(){}return{restrict:"AE",controller:["$scope",n],controllerAs:"identify",link:t}}])}(window,window.angular),function(n,t){"use strict";var i=t.module("app");i.directive("login",["$timeout",function(){function n(){this.shootKey=viewModel.shootKey;this.email=viewModel.email;this.requireEmail=viewModel.requireEmail;this.broadcastJobs=viewModel.broadcastJobs}function t(){}return{restrict:"AE",controller:["$scope",n],controllerAs:"login",link:t}}])}(window,window.angular),function(n,t){"use strict";var i=t.module("app")}(window,window.angular),function(n,t){"use strict";var i=t.module("app");i.directive("ordering",["$timeout",function(){function n(n){this.shootKey=viewModel.shootKey;this.havePackages=viewModel.packages.length!=0;t(n,viewModel);n.selectedImage={};n.packagesExpandedActive=!1;n.showPackagesExpanded=function(t){n.packagesExpandedActive=t};n.imagesGridViewActive=!1;n.showImagesGridView=function(t){n.imagesGridViewActive=t};this.onAddToCart=function(t){var r,i,u,f,e,s,o,h,c;if(t){for(r=!1,i=t.textFieldsUsed&&t.textFieldsUsed.length!=0,u=0;u<t.products.length&&!r&&!i;++u)if(f=t.products[u],f.options.length!=0)for(r=!0,e=0;e<f.options.length&&!i;++e)for(s=f.options[e],o=0;o<s.values.length&&!i;++o)h=s.values[o],h.textFieldsUsed!=null&&h.textFieldsUsed.length!=0&&(i=!0);c={packag:t,haveOptions:r,haveText:i,optionMap:{},options:"",copies:1,imageId:n.selectedImage.selectedImageId,backgroundId:n.selectedImage.selectedBackgroundId};r||i?n.addingToCart=c:n.doAddToCart(c)}};n.$on("$destroy",function(){})}function t(n,t){var i={};i.numImages=t.shootImages?t.shootImages.length:0;i.numBackgrounds=t.backgrounds?t.backgrounds.length:0;i.imageStepNumber=i.numImages?1:0;i.WhatImages={NoImageNoBackgrounds:0,NoImageWithBackgrounds:1,SingleImageNoBackgrounds:2,SingleImageWithBackgrounds:3,MultipleImagesNoBackgrounds:4,MultipleImagesWithBackgrounds:5};i.whatImages=i.numImages?i.numImages==1?i.numBackgrounds?i.WhatImages.SingleImageWithBackgrounds:i.WhatImages.SingleImageNoBackgrounds:i.numBackgrounds?i.WhatImages.MultipleImagesWithBackgrounds:i.WhatImages.MultipleImagesNoBackgrounds:i.numBackgrounds?i.WhatImages.NoImageWithBackgrounds:i.WhatImages.NoImageNoBackgrounds;n.imageInfo=i}function i(n,t){n.doAddToCart=function(i){var u=$(t).find(".Ordering-itemAddedPopup-box"),r;u.css({opacity:u.css("opacity")});u.fadeIn("fast").delay(750).fadeOut("slow","swing");r={};r.mainPackage={packageId:i.packag.packageId,options:i.options,text:i.text,copies:i.copies};r.imageId=i.imageId;r.backgroundId=i.backgroundId;console.log(r);$.post("ordering/addToCart",r,null,"json").done(function(t){n.updateCartSummary(t.count,t.cost);n.$apply(function(){})}).fail(function(){}).always(function(){n.$apply(function(){})})}}return{restrict:"AE",controller:["$scope",n],controllerAs:"ordering",link:i,scope:!0}}])}(window,window.angular),function(n,t,i){"use strict";var r=t.module("app");r.directive("orderingAddToCart",["$timeout","imageUrl","textFields",function(t,r,u){function f(n){var e,o,h,s,c,t,f;for(n.packageImageUrl=function(t,i,u,f){return r.package(t,n.ordering.shootKey,i,u,f)},n.collectTextFieldsRequired=function(){for(var i,e,r,o,u,s,f=[],t=0;t<n.addingToCart.packag.textFieldsUsed.length;++t)f.push(n.addingToCart.packag.textFieldsUsed[t]);for(i=0;i<n.addingToCart.packag.products.length;++i)for(e=n.addingToCart.packag.products[i],r=0;r<e.options.length;++r)for(o=e.options[r],u=0;u<o.values.length;++u)for(s=o.values[u],t=0;t<s.textFieldsUsed.length;++t)f.push(s.textFieldsUsed[t]);return f},n.collectTextFieldsUsed=function(){for(var u,i,f,r,e,o,s=[],t=0;t<n.addingToCart.packag.textFieldsUsed.length;++t)s.push(n.addingToCart.packag.textFieldsUsed[t]);for(u=0;u<n.addingToCart.packag.products.length;++u)if(i=n.addingToCart.packag.products[u],n.addingToCart.optionMap[i.productId])for(f=0;f<i.options.length;++f)if(r=i.options[f],n.addingToCart.optionMap[i.productId][r.code])for(e=0;e<r.values.length;++e)if(o=r.values[e],n.addingToCart.optionMap[i.productId][r.code]==o.code)for(t=0;t<o.textFieldsUsed.length;++t)s.push(o.textFieldsUsed[t]);return s},n.onAddToCart=function(){n.doAddToCart(n.addingToCart);n.$parent.$parent.addingToCart=null},n.packageAddCancel=function(){n.$parent.$parent.addingToCart=null},n.addingToCart.optionsEncoded=null,n.setProductOption=function(t,r,u){var s,o,f,e;for(n.addingToCart.optionMap[t]=n.addingToCart.optionMap[t]||{},u!==i?n.addingToCart.optionMap[t][r]=u:delete n.addingToCart.optionMap[t][r],s=n.collectTextFieldsUsed(),o=!1,f=0;f<n.textFields.length;++f)e=n.textFields[f],e.on=$.inArray(e.index,s)!=-1,e.on&&(o=!0);n.textFieldsOn=o;n.addingToCart.options=n.formPackageOptions();n.addingToCart.optionsEncoded=encodeURIComponent(n.addingToCart.options);n.addingToCart.text=n.formPackageText();n.addingToCart.textEncoded=encodeURIComponent(n.addingToCart.text)},n.formPackageOptions=function(){var u,f,i,t,r,e,o;if(!n.addingToCart.optionMap)return"";for(u="",f={},i=0;i<n.addingToCart.packag.products.length;++i)if((t=n.addingToCart.packag.products[i].productId,!f.hasOwnProperty(t))&&(f[t]=1,n.addingToCart.optionMap[t])){r="";for(e in n.addingToCart.optionMap[t])o=n.addingToCart.optionMap[t][e],r+=o;r&&(u+=t+r+"/"+t+"|")}return u},n.setTextValue=function(t){var i=n.textFields[t];u.setValue(i.index,i.value);n.addingToCart.text=n.formPackageText();n.addingToCart.textEncoded=encodeURIComponent(n.addingToCart.text)},n.formPackageText=function(){for(var t,f,u="",e=n.collectTextFieldsUsed(),r=0;r<n.textFields.length;++r)t=n.textFields[r],t.on&&t.value!=i&&(f=t.value.split(":").join("&colon;").split("|").join("&upright;"),u+=t.name+":"+f+"|");return u},e=!1,o=0;o<n.addingToCart.packag.products.length;++o)for(h=n.addingToCart.packag.products[o],s=0;s<h.options.length;++s)c=h.options[s],e=e||c.values.length>0;n.productOptionsOn=e;n.textFields=[];var a=n.collectTextFieldsRequired(),v=n.collectTextFieldsUsed(),l=!1;for(t=0;t<u.textFields.length;++t)$.inArray(t,a)!=-1&&(f=u.getField(t),f.index=t,f.value=u.getValue(t),f.on=$.inArray(f.index,v)!=-1,n.textFields.push(f),f.on&&(l=!0));n.textFieldsOn=l;n.addingToCart.text=n.formPackageText();n.addingToCart.textEncoded=encodeURIComponent(n.addingToCart.text);n.$on("$destroy",function(){})}function e(n,i){t(function(){o(n,i)})}function o(t,i){var f=$(".Ordering-addToCartPopup",i),u,r;if(f.length&&(u=$(".Ordering-addToCart-scrollArea"),u.length)){r=function(){var t,i,r;document.documentElement.contains(f[0])&&(t=$(n).height(),u.css({height:0,boxSizing:"border-box",overflowY:"auto"}),i=f.outerHeight(!0),r=Math.max(0,t-i),u.css({height:"",maxHeight:r}))};r();$(n).on("resize",r);$("img",i).load(r);t.$on("$destroy",function(){$(n).off("resize",r)})}}return{restrict:"AE",controller:["$scope",f],link:e,templateUrl:appurl("ordering/addToCart.cshtml")}}])}(window,window.angular),function(n,t,i){"use strict";var r=t.module("app");r.directive("orderingImages",["$timeout",function(){function n(n){var t,u,r;for(n.showingFavouritesOnly=!1,n.selectedImage.selectedImageIsChromaKeyed=!1,n.selectedImage.selectedBackgroundId=null,t=null,r=0;r<viewModel.shootImages.length;++r)u=viewModel.shootImages[r],u.imageId===viewModel.defaultImageId&&(t=u);for(!t&&viewModel.shootImages.length&&(t=viewModel.shootImages[0],viewModel.defaultImageId=t.imageId),t&&(n.selectedImage.selectedImageId=t.imageId)!==-1?n.selectedImage.selectedImageIsChromaKeyed=t.isChromaKeyed:n.selectedImage.selectedImageId=null,n.haveBackgrounds=viewModel.backgrounds&&viewModel.backgrounds.length!==0,this.setSelectedImageId=function(t,r,u){n.selectedImage.selectedImageId=t?t:null;n.selectedImage.selectedImageIsChromaKeyed=r;u!==i&&(n.selectedImage.selectedBackgroundId=u?u:null)},this.setSelectedBackgroundId=function(t){n.selectedImage.selectedBackgroundId=t?t:null},this.onMakeBackgroundActive=function(n,t){var i=t.backgroundId?t.backgroundId:null;this.setImageBackground(i);this.setSelectedBackgroundId(i)},this.toggleFavourite=function(n,t){for(var i=0;i<this.imageList.length;i++)if(this.imageList[i].imageId===n){this.imageList[i].favourite=t;break}},this.imageZoomActive=null,this.showImageZoom=function(n,t){this.imageZoomActive=n?{imageId:n,backgroundId:t}:null},this.imageList=[],r=0;r<viewModel.shootImages.length;++r)this.imageList.push(viewModel.shootImages[r]);this.showFavourites=function(){n.showingFavouritesOnly=!n.showingFavouritesOnly;n.$broadcast("toggleFavouritesDisplay",n.showingFavouritesOnly)};this.showGridView=function(){n.showImagesGridView(!0)}}function t(){}function r(){}return{restrict:"AE",link:{pre:t,post:r},controller:["$scope",n],controllerAs:"images"}}]);r.directive("orderingNoImage",["$timeout","imageUrl",function(n,t){function i(){this.setImageSrc=function(n){this.backgroundId=n;this.imageSrc=t.shootImage(-1,n)};this.setImageSrc()}function r(n,t,i,r){var u=r[0],e=r[1];u.setImageBackground=$.proxy(f,e)}function u(n,t,i,r,u){u(n,function(n){t.append(n)})}function f(n){this.setImageSrc(n)}return{restrict:"AE",link:{pre:r,post:u},require:["^^orderingImages","orderingNoImage"],controller:["$scope",i],controllerAs:"noImage",scope:{onImageZoom:"&"},transclude:!0}}]);r.directive("orderingSingleImage",["$timeout","imageUrl",function(n,t){function i(n){viewModel.shootImages.length&&(this.singleImageId=viewModel.shootImages[0].imageId);this.setImageSrc=function(n){this.backgroundId=n;this.imageSrc=t.shootImage(this.singleImageId,n)};var i=this;this.onZoom=function(){n.onImageZoom({imageId:i.singleImageId,backgroundId:i.backgroundId})};this.setImageSrc()}function r(n,t,i,r){var u=r[0],e=r[1];u.setImageBackground=$.proxy(f,e)}function u(n,t,i,r,u){u(n,function(n){t.append(n)})}function f(n){this.setImageSrc(n)}return{restrict:"AE",link:{pre:r,post:u},require:["^^orderingImages","orderingSingleImage"],controller:["$scope",i],controllerAs:"singleImage",scope:{onImageZoom:"&"},transclude:!0}}]);r.directive("orderingImagesSlider",["$timeout","$cookies","$cookieStore","imageUrl",function(n,r,u,f){function h(){}function c(n,t,i,r){var o=$(".Ordering-imagesSlider-slider",t),u;e.linkToParentElement(o[0]);u=function(t,i){n.onImageSelected({imageId:i.imageId,isChromaKeyed:i.isChromaKeyed,backgroundId:i.backgroundId?i.backgroundId:null})};e.onSelectItem=function(t,i){n.$apply(function(){u(t,i)})};e.onToggleFavouriteOut=function(t,i){n.$apply(function(){n.onImageToggleFavourite({imageId:t,isFavourite:i});s(t,i)})};e.onImageOverlayClicked=function(t,i,r){n.$apply(function(){switch(t){case 1:n.onImageZoom({imageId:r.imageId,backgroundId:r.backgroundId})}})};$(".Ordering-imagesSlider-navLeft",t).click(y);$(".Ordering-imagesSlider-navRight",t).click(function(n){p(n)});n.$on("toggleItemFavouriteFlag",function(n,t,i){e.receiveToggleImageRequest(t,i);s(t,i)});n.$on("toggleFavouritesDisplay",function(n,t){for(var i,h,o,r=[],s=0;s<viewModel.shootImages.length;++s)(i=viewModel.shootImages[s],!t||i.favourite)&&(h={src:f.shootImage(i.imageId),imageId:i.imageId,isChromaKeyed:i.isChromaKeyed,favourite:i.favourite},r.push(h));o=e.refreshSliderImages(r);o!=null&&r.length?u(o,r[o]):u(null,{})});r.setImageBackground=$.proxy(w,this)}function l(){n(v)}function a(){for(var n,u,i=0,r=[],e=b(),t=0;t<viewModel.shootImages.length;++t)n=viewModel.shootImages[t],n.imageId===viewModel.defaultImageId&&(i=t),e.indexOf(n.imageId)!==-1&&(n.favourite=!0),u={src:f.shootImage(n.imageId),imageId:n.imageId,isChromaKeyed:n.isChromaKeyed,favourite:n.favourite},r.push(u);return new ImageSlider({items:r,startItem:i,imageHeight:viewModel.shootImageSize.height,delayLoading:!0,loadOnScroll:!0,hasFavouriteToggleOption:viewModel.pose?!1:!0})}function v(){e.beginLoading()}function y(){e.slideRight()}function p(){e.slideLeft()}function w(n){var t=e.getSelectedItemNo(),i=e.getItem(t),r;i.backgroundId=n;r=f.shootImage(i.imageId,n);e.setImageSrc(t,r)}function o(){r.key="shoot";var n=r.shoot;return"shoot-"+n+"-favs"}function b(){var r=o(),n=t.fromJson(u.get(r));return n===i&&(n=[]),n}function s(n,r){var s=o(),f=t.fromJson(u.get(s)),e,h;f===i&&(f=[]);e=$.grep(f,function(t){return t==n});r?e.length==0&&f.push(n):e.length>0&&(h=f.indexOf(n),f.splice(h,1));u.put(s,t.toJson(f))}var e=a();return{restrict:"AE",link:{pre:c,post:l},require:"^^orderingImages",controller:["$scope",h],controllerAs:"imagesSlider",scope:{onImageSelected:"&",onImageToggleFavourite:"&",onImageZoom:"&"},template:"<div class=Ordering-imagesSlider-navLeft><\/div><div class=Ordering-imagesSlider-slider><\/div><div class=Ordering-imagesSlider-navRight><\/div>"}}]);r.directive("orderingBackgroundsSlider",["$timeout","imageUrl",function(n,t){function r(){}function u(n,t,r,u){var f=$(".Ordering-backgroundsSlider-slider",t);i.linkToParentElement(f[0]);i.onSelectItem=function(t,i){n.$apply(function(){u.onMakeBackgroundActive(t,i)})};$(".Ordering-backgroundsSlider-navLeft",t).click(s);$(".Ordering-backgroundsSlider-navRight",t).click(function(n){h(n)})}function f(){n(o)}function e(){for(var i=[],n=0;n<viewModel.backgrounds.length;++n){var f=viewModel.backgrounds[n],r=f.backgroundId,u={src:t.background(r),backgroundId:r};viewModel.showBackgroundDescriptions&&(u.caption=viewModel.background.description);i.push(u)}return new ImageSlider({items:i,imageSliderStartItem:0,imageHeight:viewModel.backgroundImageSize.height,delayLoading:!0})}function o(){i.beginLoading()}function s(){i.slideRight()}function h(){i.slideLeft()}var i=e();return{restrict:"AE",link:{pre:u,post:f},require:"^^orderingImages",controller:["$scope",r],scope:{},template:"<div class=Ordering-backgroundsSlider-navLeft><\/div><div class=Ordering-backgroundsSlider-slider><\/div><div class=Ordering-backgroundsSlider-navRight><\/div>"}}])}(window,window.angular),function(n,t){"use strict";var i=t.module("app");i.directive("orderingImagesGrid",["$timeout","imageUrl",function(t,i){function r(n){for(this.onClose=$.proxy(e,this,n),n.imageUrl=function(n){return i.shootImage(n)},n.loadedImageList=[],n.lastImageIndex=0,n.numInitialImages=60;n.lastImageIndex<n.numInitialImages&&n.lastImageIndex<n.images.imageList.length;n.lastImageIndex++)n.loadedImageList.push(n.images.imageList[n.lastImageIndex]);n.loadMore=function(){for(var i=n.loadedImageList[n.loadedImageList.length-1],t=0;t<n.numInitialImages&&n.lastImageIndex<n.images.imageList.length;t++)n.lastImageIndex++,n.loadedImageList.push(n.images.imageList[n.lastImageIndex])};n.toggleFavourite=function(t){t.favourite=!t.favourite;n.$parent.$broadcast("toggleItemFavouriteFlag",t.imageId,t.favourite)}}function u(n,t){f(n,t)}function f(t,i){var r=$(".Ordering-imagesGridView-images-box",i),u;if(r.length){r=r[0];u=function(){if(document.documentElement.contains(r)){var i=r.getBoundingClientRect(),u=$(n).height(),t=u-i.top,f=parseInt($(r).css("margin-bottom"));t-=f;$(r).outerHeight(t)}};u();$(n).on("resize",u);t.$on("$destroy",function(){$(n).off("resize",u)})}}function e(n){n.showImagesGridView(!1)}return{restrict:"AE",link:u,controller:["$scope",r],controllerAs:"imagesGridView",templateUrl:appurl("ordering/imagesGrid.cshtml")}}])}(window,window.angular),function(n,t){"use strict";var i=t.module("app");i.directive("orderingImageZoom",["$timeout","imageUrl",function(n,t){function i(n){this.onClose=function(){n.closeView()};this.imageUrl=t.shootImage(n.zoom.imageId,n.zoom.backgroundId,"full")}function r(){}return{restrict:"AE",link:r,controller:["$scope",i],controllerAs:"imageZoom",scope:{zoom:"=",closeView:"&"},templateUrl:appurl("ordering/imageZoom.cshtml")}}])}(window,window.angular),function(n,t){"use strict";var i=t.module("app");i.directive("orderingLoading",["$timeout",function(n){function t(){n(function(){})}return{restrict:"AE",link:t}}])}(window,window.angular),function(n,t,i){"use strict";var r=t.module("app");r.directive("orderingPackages",["$timeout",function(){function n(n){var t,u;for(this.packageList=[],t=0;t<viewModel.packages.length;++t)u=viewModel.packages[t],u.isExtra||this.packageList.push(u);this.haveMultiplePackages=t>1;this.getById=function(n){for(var i,t=0;t<this.packageList.length;++t)if(i=this.packageList[t],i.packageId===n)return i;return null};this.getIndexById=function(n){for(var i,t=0;t<this.packageList.length;++t)if(i=this.packageList[t],i.packageId===n)return t;return null};this.setSelectedPackageId=function(n){var r=this.getIndexById(n),t,i;if(r!=null){for(t=this.packageList[r],this.selectedPackageIdx=r,this.selectedPackageId=n,this.selectedPackageHasOptions=!1,i=0;i<t.products.length;++i)if(t.products[i].options.length){this.selectedPackageHasOptions=!0;break}this.selectedPackagePriceDisplay=t.priceDisplay}};this.packageList.length&&this.setSelectedPackageId(this.packageList[0].packageId);n.expand=$.proxy(r,this,n);this.onPackagesSliderClick=function(n){this.setSelectedPackageId(n)};this.onBuyPackage=function(){if(n.packages.selectedPackageId!==i){var t=n.packages.getById(n.packages.selectedPackageId);n.ordering.onAddToCart(t)}}}function t(){}function r(n){n.showPackagesExpanded(!0)}return{restrict:"AE",link:t,controller:["$scope",n],controllerAs:"packages"}}]);r.directive("orderingPackageView",["$timeout",function(){function n(){}function t(){}return{restrict:"AE",controller:["$scope",n],controllerAs:"packageView",link:t}}]);r.directive("orderingPackageViewPreview",["$timeout","imageUrl",function(n,t){function i(n){function u(n,i,u,f,e){function c(){o.off("load",c);h.imageLoaded();l.stop();$(o).removeClass("is-loading")}var s,l,h;u.css("visibility","hidden");u.css("display","block");var o=$("img.Ordering-packagePreview-image",u),a=$(".Ordering-packagePreview-description",u),v=$(".Ordering-packagePreview-blurb",u);a[0].innerHTML=i.description?i.description:"";v[0].innerHTML=i.blurb?i.blurb:"";s=o.parent();s.css("position","relative");l=new Spinner(r).spin(s[0]);o.addClass("is-loading");h={onImageLoaded:function(n){this.imgLoaded?n():this.fn=n},imageLoaded:function(){this.imgLoaded=!0;this.fn&&(this.fn(),delete this.fn)}};o.on("load",c);return o.attr("src",t.package(2,n,i.packageId,f,e)),o[0].complete&&c(),h}function f(n){var t=n.css(["visibility","display"]);return(!t.visibility||t.visibility==="visible")&&t.display!=="none"}var i=0;this.doSwapPreview=function(t,r,e,o){var h=$(".Ordering-packagePreview-a",this.relContainer),l=$(".Ordering-packagePreview-b",this.relContainer),p=f(h),v=f(l),y=n.packages.getById(r),w=(++i).toString(),s,c,a;p||v?(v?(s=h,c=l):(s=l,c=h),a=u(t,y,s,e,o),s.css({"z-index":1,visibility:"visible",display:"none"}),c.css({"z-index":2,visibility:"visible",display:"block"}),c.fadeOut({queue:!0,complete:function(){c.css({visibility:"hidden",display:"none",opacity:1})}}),s.fadeIn({queue:!0,complete:function(){s.css({opacity:1})}})):(s=h,a=u(t,y,s,e,o),h.css({visibility:"visible",display:"block"}));a.onImageLoaded($.proxy(this,"fixPreviewHeight",!0,s))};this.fixPreviewHeight=function(n,t){if(!n!==i){var r=t.outerHeight();this.relContainer.animate({height:r},{queue:!0})}}}function u(t,r){i=t.packageViewPreview;i.relContainer=$(r);n(function(){f(t,r,i)})}function f(n,t,i){e(t);n.$watch(function(){return[n.packages.selectedPackageId,n.selectedImage.selectedImageId,n.selectedImage.selectedBackgroundId]},function(){i.doSwapPreview(n.ordering.shootKey,n.packages.selectedPackageId,n.selectedImage.selectedImageId,n.selectedImage.selectedBackgroundId)},!0)}function e(n){var i=$(".Ordering-packagePreview-a",n),o=i.find(".Ordering-packagePreview-border"),s=o.find(".Ordering-packagePreview-image"),h=i.find(".Ordering-packagePreview-description"),c=i.find(".Ordering-packagePreview-blurb"),r,t,u,f,e;i.css("position","absolute");r=s[0];r.style.display="inline-block";r.width=viewModel.packageImageSizeLarge.width;r.height=viewModel.packageImageSizeLarge.height;h[0].innerHTML="&nbsp;";c[0].innerHTML="&nbsp;";t={width:i.css("width")};u=parseFloat(i.css("min-height"));u||(u=t.minHeight=i.css("height"));t.position="absolute";t.top=0;t.display="none";t.visibility="hidden";f=$(".Ordering-packagePreview",n);f.css(t);e=n;e.css({position:"relative",width:t.width,height:u});r.removeAttribute("width");r.removeAttribute("height")}var r={lines:10,length:10,speed:.6,hwaccel:!0};return{restrict:"AE",require:"^^orderingPackageView",controller:["$scope",i],controllerAs:"packageViewPreview",link:u}}]);r.directive("orderingPackagesSlider",["$timeout","imageUrl",function(n,t){function r(n){var r=this;n.$watch(function(){return n.packageId},function(){r.changePackageId(n.packageId)},!0);n.$watch(function(){return n.imageId+":"+n.backgroundId},function(){r.changePackageImage(n.shootKey,n.imageId,n.backgroundId)},!0);this.changePackageId=function(t){var r=n.packages.getIndexById(t);i.selectItem(r,!0)};this.changePackageImage=function(r,u,f){function c(n){return++n>=s?0:n}function l(n){return--n<0?s-1:n}function h(n,u,f){var e=i.getItem(f),o=t.package(1,r,e.packageId,n,u);i.setImageSrc(f,o)}var s=n.packages.packageList.length,e,o;if(s)for(e=i.getSelectedItemNo(),o=e;;){if(h(u,f,e),e===(o=c(o)))break;if(h(u,f,o),(e=l(e))===o)break}}}function u(n,t){var u=n.packagesSlider,r;i=e(n.shootKey,n.packages.packageList,n.packageId,n.imageId,n.backgroundId);r=$(".Ordering-packagesSlider-slider",t);i.linkToParentElement(r[0]);i.onSelectItem=function(t,i){n.$apply(function(){n.onPackageSelected({packageId:i.packageId})})};$(".Ordering-packagesSlider-navLeft",t).click(s);$(".Ordering-packagesSlider-navRight",t).click(function(n){h(n)})}function f(){n(o)}function e(n,i,r,u,f){for(var o,c,s=0,h=[],e=0;e<i.length;++e)o=i[e],c={src:t.package(1,n,o.packageId,u,f),packageId:o.packageId},h.push(c),s||r!==o.packageId||(s=e);return new ImageSlider({items:h,startItem:s,imageHeight:viewModel.packageImageSizeSmall.height,delayLoading:!0,centerVertically:!0})}function o(){i.beginLoading()}function s(){i.slideRight()}function h(){i.slideLeft()}var i=null;return{restrict:"AE",link:{pre:u,post:f},require:"^^orderingPackages",controller:["$scope",r],controllerAs:"packagesSlider",scope:{shootKey:"@",packages:"=",packageId:"@",imageId:"@",backgroundId:"@",onPackageSelected:"&"},template:"<div class=Ordering-packagesSlider-navLeft><\/div><div class=Ordering-packagesSlider-slider><\/div><div class=Ordering-packagesSlider-navRight><\/div>"}}])}(window,window.angular),function(n,t){"use strict";var i=t.module("app");i.directive("orderingPackagesExpanded",["$timeout","imageUrl",function(t,i){function u(n){this.onClose=$.proxy(r,this,n);this.onClickPackage=$.proxy(o,this,n);n.packageImageUrl=function(n,t,r,u){return i.package(n,this.ordering.shootKey,t,r,u)}}function f(n,t){e(n,t)}function e(t,i){var r=$(".Ordering-packagesExpanded-packages-box",i),u;if(r.length){r=r[0];u=function(){if(document.documentElement.contains(r)){var i=r.getBoundingClientRect(),u=$(n).height(),t=u-i.top,f=parseInt($(r).css("margin-bottom"));t-=f;$(r).outerHeight(t)}};u();$(n).on("resize",u);t.$on("$destroy",function(){$(n).off("resize",u)})}}function r(n){n.showPackagesExpanded(!1)}function o(n,t){n.packages.setSelectedPackageId(t);r(n)}return{restrict:"AE",link:f,controller:["$scope",u],controllerAs:"packagesExpanded",templateUrl:appurl("ordering/packagesExpanded.cshtml")}}]);i.directive("orderingPackagesExpandedPackageViewPreview",["$timeout","imageUrl",function(n){function t(){}function r(i,r){n(function(){u(i,r,t)})}function u(n,t){f(t)}function f(n){function f(){t.off("load",f);e.stop();$(t).removeClass("is-loading")}var t=$("img.Ordering-packagePreview-image",n),r=t.parent(),o=$(".Ordering-packagePreview-description",n),s=$(".Ordering-packagePreview-blurb",n),u={width:viewModel.packageImageSizeLarge.width},e;if(r.css(u),o.css(u),s.css(u),r.css("position","relative"),!t[0].complete){e=new Spinner(i).spin(r[0]);t.on("load",f);t[0].complete&&f()}}var i={lines:10,length:10,speed:.6,hwaccel:!0};return{restrict:"AE",controller:["$scope",t],controllerAs:"packagesExpandedPackageViewPreview",link:r}}])}(window,window.angular),function(n,t){"use strict";var i=t.module("app");i.directive("pose",["$timeout","imageUrl",function(t,i){function r(r){function f(){for(var t,u,f=0,r=[],n=0;n<viewModel.shootImages.length;++n)t=viewModel.shootImages[n],t.imageId===viewModel.defaultImageId&&(f=n),u={src:i.shootImage(t.imageId),imageId:t.imageId},r.push(u);return r}this.pose=viewModel.pose;this.images=f(this);var u=this;r.selectedImage={};r.$watch(function(){return r.selectedImage.selectedImageId},function(){u.confirmChecked=!1},!0);this.onConfirm=function(){if(r.selectedImage.selectedImageId)this.onClickImage(r.selectedImage.selectedImageId)};this.onSkip=function(){n.location.replace("ordering")};this.onClickImage=function(n){var t=this.images[n];this.onClickImage(t.imageId)};this.onClickImage=function(i){var f={imageId:i,pose:this.pose},u;this.pleaseWait=!0;u=this;t(function(){$.ajax({url:"pose",data:f,method:"POST",async:!1,success:function(){n.location.replace("ordering")},error:function(){r.$apply(function(){u.pleaseWait=!1})},complete:function(){}})})}}function u(){}function f(){}return{restrict:"AE",link:{pre:u,post:f},controller:["$scope",r],controllerAs:"pose"}}])}(window,window.angular)