Yosemite.Versions=function(){};Yosemite.Versions.prototype={afterInit:function(){this.element.val(this.version)},go:function(){var n=this.element.find(":selected").data("url");location.href=n}};Yosemite.References=function(){};Yosemite.References.prototype={afterInit:function(){$(window).resize($.proxy(function(){this.list.stop().css({marginLeft:0});this.refreshLinksVisibility();this.setWidth()},this));this.setWidth();this.refreshLinksVisibility()},setWidth:function(){var n=this.list.children();this.list.css({width:n.length*n.first().outerWidth()})},next:function(){this.move(-1)},previous:function(){this.move(1)},getMargingLeft:function(){return parseInt(this.list.css("marginLeft"))},move:function(n){if(!this.list.is(":animated")){var t=this.getMargingLeft()+this.list.children().first().outerWidth()*n;this.list.animate({marginLeft:t});this.refreshLinksVisibility(t)}},refreshLinksVisibility:function(n){n==undefined&&(n=this.getMargingLeft());this.nextLink.css({visibility:n>this.list.width()*-1+this.container.width()?"visible":"hidden"});this.previousLink.css({visibility:n==0?"hidden":"visible"})}};Yosemite.AddToBasket=function(){this.quantity=ko.observable()};Yosemite.AddToBasket.prototype={add:function(){this.addUrl&&this.productId&&$.post(this.addUrl,{productId:this.productId,quantity:this.quantity()||1},Yosemite.basketChanged)},modify:function(){this.modifyUrl&&this.productId&&this.previousProductId&&this.ordersubsetId&&$.post(this.modifyUrl,{productId:this.productId,previousProductId:this.previousProductId,quantity:this.quantity(),orderSubsetId:this.ordersubsetId})}};Yosemite.ProductViewer=function(){this.index=ko.observable();this.open=ko.observable(!1)};Yosemite.ProductViewer.prototype={afterInit:function(){this.children=this.thumbs.children();this.open.subscribe($.proxy(this.zoom,this));this.index.subscribe($.proxy(this.indexChanged,this));$(window).resize($.proxy(function(){clearTimeout(this.timeout);this.timeout=setTimeout($.proxy(function(){this.setThumbsWidth();this.centerCurrentImage();this.goToIndex()},this),500)},this));this.captions&&(this.captionItems=this.captions.children(),this.setCaptionsMaxHeight());this.setThumbsWidth();this.refreshLinksVisibility();this.index(0);this.children.length>2&&this.next()},removeLargeImage:function(){this.largeImage&&(this.largeImage.remove(),this.largeImage=null)},zoom:function(){if(this.currentImage)if(this.removeLargeImage(),this.open()){this.currentImage.hide();var n=this.children.eq(this.index()).find("img").first();this.largeImage=$("").attr({src:n.data("large"),alt:n.attr("alt")}).load($.proxy(function(){this.largeImage.center()},this)).click($.proxy(function(){this.open(!1)},this));this.largeImage.insertAfter(this.currentImage).center()}else this.currentImage.show()},toggleZoom:function(){this.open(!this.open());this.setThumbsWidth();this.goToIndex();this.centerCurrentImage();Yosemite.centerOpenedPopin()},goToIndex:function(){var t=this.children.length,n;for(this.thumbs.css({marginLeft:0}),n=0;n=0&&n").attr({src:n.data("medium"),alt:n.attr("alt")}).load($.proxy(this.centerCurrentImage,this)).click($.proxy(function(){this.open(!0)},this));this.currentImage.appendTo(this.current);this.centerCurrentImage();Yosemite.centerOpenedPopin();this.open()&&this.zoom()},setThumbsWidth:function(){var n=0;this.children.each(function(){n+=$(this).outerWidth()});this.thumbs.css({width:n})},getVisibleRange:function(){var t=this.thumbs.parent().width(),n=parseInt(this.thumbs.css("marginLeft"))*-1;return{min:n,max:n+t}},previous:function(){this.move(1)},next:function(){this.move(-1)},move:function(n,t){if(!this.thumbs.is(":animated")){var i={marginLeft:this.getMargingLeft()+this.children.first().outerWidth()*n};this.refreshLinksVisibility(i.marginLeft);t?this.thumbs.css(i):(!this.currentImage||this.currentImage.is(":visible")||this.largeImage||this.index(this.index()-n),this.thumbs.animate(i,"fast"))}},getMargingLeft:function(){return parseInt(this.thumbs.css("marginLeft"))},refreshLinksVisibility:function(n){n==undefined&&(n=this.getMargingLeft());this.nextLink.css({visibility:n>this.thumbs.width()*-1+this.thumbs.parent().width()?"visible":"hidden"});this.previousLink.css({visibility:n==0?"hidden":"visible"})},centerCurrentImage:function(){this.currentImage.center();this.largeImage&&this.largeImage.center()},setCaptionsMaxHeight:function(){var n=0;this.captionItems.each(function(){var t=$(this).show().height();$(this).hide();n=t>n?t:n});this.captions.height(n)}};Yosemite.LinkedProducts=function(){};Yosemite.LinkedProducts.prototype={afterInit:function(){$(window).resize($.proxy(function(){this.list.stop().css({marginLeft:0});this.refreshLinksVisibility();this.setWidth()},this));this.setWidth();this.refreshLinksVisibility()},setWidth:function(){var n=this.list.children();this.list.css({width:n.length*n.first().outerWidth(!0)})},next:function(){this.move(-1)},previous:function(){this.move(1)},getMargingLeft:function(){return parseInt(this.list.css("marginLeft"))},move:function(n){if(!this.list.is(":animated")){var t=this.getMargingLeft()+this.list.children().first().outerWidth(!0)*n;this.list.animate({marginLeft:t});this.refreshLinksVisibility(t)}},refreshLinksVisibility:function(n){n==undefined&&(n=this.getMargingLeft());this.nextLink.css({visibility:n>this.list.width()*-1+this.container.width()?"visible":"hidden"});this.previousLink.css({visibility:n==0?"hidden":"visible"})}};Yosemite.DownloadLicense=function(){};Yosemite.DownloadLicense.prototype={afterInit:function(){Yosemite.tracker.trackLicenseLink(this.element,this.page,this.adwordssrc)}};Yosemite.ProductDefinition=function(){this.selectors=[]};Yosemite.ProductDefinition.prototype={defaultConfig:{skuPattern:"{sku}",quantityPattern:"{quantity}"},afterInit:function(){var n=this;this.selectors.each(function(){this.change(function(){n.skuChanged($(this).val())})})},skuChanged:function(n){if(this.updateUrl&&n){var t=this.element.find("[name=quantity]").first().val(),i=this.updateUrl.replace(this.skuPattern,n).replace(this.quantityPattern,t);$.get(i,$.proxy(function(n){this.element.replaceWith(n)},this))}},cancel:function(){this.element.parents(".popin").first().popin("close")}};Yosemite.ProductInformations=function(){this.tabs=[];this.items=[]};Yosemite.ProductInformations.prototype={defaultConfig:{index:0,currentClass:"current"},afterInit:function(){this.currentIndex=this.previousIndex=this.getIndex();this.toggle(this.currentIndex)},getIndex:function(){var n=location.hash==""?null:$(location.hash),u,t;if(n){var i=n.parents('[data-model="Yosemite.ProductInformations"]'),r=i.eq(0),f=r[0]==this.element[0];if(n&&f)return u=r.parent().index(),t=i.eq(1),t&&t.find(".tabs li").eq(u).find("a").click(),n.index()}return this.index},toggle:function(n){this.tabs[this.previousIndex].removeClass(this.currentClass);this.items[this.previousIndex].removeClass(this.currentClass);this.tabs[n].addClass(this.currentClass);this.items[n].addClass(this.currentClass)},select:function(n,t){t.target&&(this.previousIndex=this.currentIndex,this.currentIndex=$(t.target).parents("li").index(),this.toggle(this.currentIndex))}}