
(function($){var $product,$picture,$description,$form,$addToCart,$input_width,$input_height,$input_mirrored,$keepAspect=$('#input_keepAspect'),productGroup=(pw.product)?pw.product.group:0,canvasFrameWidth=(pw.product)?pw.product.limitations.canvasFrameWidth:0,widthsWidth=(pw.product)?pw.product.widthsWidth:45,outOfStock=(pw.product&&pw.product.limitations.outOfStock)?pw.product.limitations.outOfStock.check:0,outOfStockSizes=(pw.product&&pw.product.limitations.outOfStock)?pw.product.limitations.outOfStock.sizes:0,outOfStockText,formUpdating=false,sliderTimeout,hintTimer,formUpdateTimer,lastImageOnEdge=(pw.product&&(pw.product.group==='photo-wallpaper'||pw.product.group==='wallpaper'||pw.product.group==='doityourselfframe'))?false:true,lastFramed=(pw.product&&(pw.product.group==='photo-wallpaper'||pw.product.group==='wallpaper'||pw.product.group==='doityourselfframe'))?false:true,pWidth=0,pHeight=0,pRatio=0,lastWidth,lastHeight,lastAspect=(pw.product)?pw.product.limitations.keepAspect:0;$(document).ready(function(e){outOfStockText=($('#outOfStockText').length==1)?$('#outOfStockText').tmpl().text():'Out of stock!';$product=$('#product');$form=$('#form_setCustomDimensions');$addToCart=$('#form_addToCart');$description=$product.find('p.description');$cropper=$('div.cropper',$product);initForm();$('body').delegate('#form-share','submit',function(e){e.preventDefault();var $this=$(this);$this.load($this.attr('action'),$this.serializeArray());});$('body').delegate('a.jumpnav','click',function(e){e.preventDefault();var item=$(this).attr('class').split(' ')[1].split('-')[1];$.fancybox.pos(item);});setFramed(e);setImageOnEdge(e);setMaterial(e);});$(window).load(function(e){$picture=$product.find('.photo');pWidth=$picture.width();pHeight=$picture.height();pRatio=pWidth/pHeight;var url_normal=$picture.attr('src'),zoom_url=($product.find('a.zoom').length>0)?$product.find('a.zoom').attr('href').split('?')[0]:'',z3d_url=($product.find('a.zoom.z3d').length>0)?$product.find('a.zoom.z3d').attr('href').split('?')[0]:'';$picture.data({url:url_normal,zoom_url:zoom_url,z3d_url:z3d_url});if(productGroup==='doityourselfframe'){$picture.css({width:509,height:509});setTimeout(function(){$picture.addClass('animate');},500);}
$(document.createElement('img')).attr('src',$picture.attr('data-mirrored'));$keepAspect.data('ratio',pRatio);if(productGroup!==0){updateDimensions();}});function initForm(){$product.find('a.zoom').fancybox({overlayColor:'#000',overlayOpacity:'0.8',hideOnContentClick:true,showNavArrows:false,titleShow:false,centerOnScroll:true});$product.find('a.tmpl-popup').fancybox({overlayColor:'#000',overlayOpacity:'0.8',showNavArrows:false,padding:30,titleShow:false,onStart:templateToLightbox,onClosed:templateToLightbox,centerOnScroll:true});$product.find('a.share.blog').fancybox({overlayColor:'#000',overlayOpacity:'0.8',showNavArrows:false,titleShow:false,onStart:templateToLightbox,onClosed:templateToLightbox,centerOnScroll:true,onComplete:addFocus});$product.find('a.showroom-trigger').showroom();$('#next-step').fancybox({overlayColor:'#000',overlayOpacity:'0.8',showNavArrows:false,onStart:templateToLightbox,titleShow:false,onClosed:templateToLightbox,centerOnScroll:true,padding:30});if($description.length){$description.truncate({readmore:$('#readmore-tmpl').tmpl().text(),readless:$('#readless-tmpl').tmpl().text()});}
if(productGroup==='wallpaper'){$input_width=$('#input_customWidths');$input_height=$('#input_widthHeight');$input_width.data({min:0,max:0,value:$input_width.val()});$input_height.data({min:0,max:pw.product.limitations.maxHeight,value:$input_height.val()});}else if(productGroup==='photo-wallpaper'){$input_width=$('#input_wallWidth');$input_height=$('#input_wallHeight');$input_width.data({min:0,max:0,value:$input_width.val()});$input_height.data({min:0,max:pw.product.limitations.maxHeight,value:$input_height.val()});}else if(productGroup==='canvas'){$input_width=$('#input_wallWidth');$input_height=$('#input_wallHeight');$input_width.data({min:pw.product.limitations.minWidth||30,max:pw.product.limitations.maxWidth||150,value:$input_width.val()});$input_height.data({min:pw.product.limitations.minHeight||30,max:pw.product.limitations.maxHeight||150,value:$input_height.val()});}else if(productGroup==='doityourselfframe'){$input_width=$('#input_wallWidth');$input_height=$('#input_wallHeight');$input_width.data({min:pw.product.limitations.minWidth,max:pw.product.limitations.maxWidth,value:$input_width.val()});$input_height.data({min:pw.product.limitations.minHeight,max:pw.product.limitations.maxHeight,value:$input_height.val()});}
$edge=$('div.edge',$cropper);$input_mirrored=$('#input_mirrored',$product);if($input_width&&$input_height){lastWidth=parseInt($input_width.val(),10);lastHeight=parseInt($input_height.val(),10);lastAspect=pw.product.limitations.keepAspect||0;}
$product.delegate('.hint, button.shoppingbag:disabled > span','mouseenter',function(e){var $this=$(this),$popup,$template,boxLeft=$this.offset().left,boxTop=$this.offset().top,thisWidth=$this.width(),thisHeight=$this.height();$template=$('#'+$this.attr('id')+'-tpl').tmpl();if($('body > div.hint-box').length===1){$popup=$('body > div.hint-box');}else{$popup=$(document.createElement('div')).attr('class','hint-box').appendTo('body');$popup.append('<div />');}
$popup.find('div').html($template);hintTimer=setTimeout(function(){if(((boxTop-$popup.outerHeight()+10-thisHeight)>$('body').scrollTop())){$popup.addClass('bottom').css({top:boxTop-thisHeight+10-$popup.outerHeight(),left:boxLeft+(thisWidth/2)}).show();}else{$popup.removeClass('bottom').css({top:boxTop+thisHeight+10,left:boxLeft+(thisWidth/2)}).show();}},200);});$product.delegate('.hint, button.shoppingbag:disabled > span','mouseleave',function(e){clearTimeout(hintTimer);if($('body > div.hint-box').is(':visible')){hintTimer=setTimeout(function(){$('body > div.hint-box').hide();},200);}});$('body').delegate('div.hint-box','mouseleave',function(){$(this).hide();});$('body').delegate('div.hint-box','mouseenter',function(){clearTimeout(hintTimer);});$('p.edge',$form).shinyRadioButtons();$form.find('input.countable').each(function(){var $this=$(this),$counter=$this.parent().next('.counter'),$add=$(document.createElement('button')).attr('class','btn blue add').append('<span><span>+</span></span>').data({currentState:'enabled'}),$remove=$(document.createElement('button')).attr('class','btn blue remove').append('<span><span>-</span></span>').data({currentState:'enabled'}),current_val=parseInt($this.val(),10);$counter.prepend($add);$counter.prepend($remove);if(current_val>=$this.data('max')&&$this.data('max')!=0){$add.addClass('disabled').attr('disabled','disabled').data({currentState:'disabled'});}
if(!current_val.length||current_val<=$this.data('min')){$remove.addClass('disabled').attr('disabled','disabled').data({currentState:'disabled'});}});$form.delegate('button.add','click',function(e){e.preventDefault();var $closest_input=$(this).parent().prev().find('input'),current_val=($closest_input.val().length>0)?parseInt($closest_input.val(),10):0,new_val,data;$closest_input.removeClass('error');if($closest_input.data('max')===0||current_val<$closest_input.data('max')){new_val=current_val+1;data={customWidth:new_val*widthsWidth};$closest_input.val(new_val);submitFormWrapper($closest_input);if($closest_input.data('max')!==0&&new_val===$closest_input.data('max')){$(this).addClass('disabled').attr('disabled','disabled').data({currentState:'disabled'});}
if(new_val>$closest_input.data('min')){$(this).prev().removeClass('disabled').removeAttr('disabled').data({currentState:'enabled'});}
$form.find('span.customWidth').html($('#customWidthTemplate').tmpl(data));}});$form.delegate('button.remove','click',function(e){e.preventDefault();var $closest_input=$(this).parent().prev().find('input'),current_val=($closest_input.val().length>0)?parseInt($closest_input.val(),10):1,new_val,data;$closest_input.removeClass('error');if(current_val>1){new_val=current_val-1;$closest_input.val(new_val);data={customWidth:new_val*widthsWidth};submitFormWrapper($closest_input);if(new_val<=$closest_input.data('min')){$(this).addClass('disabled').attr('disabled','disabled').data({currentState:'disabled'});}
if($closest_input.data('max')===0||new_val<$closest_input.data('max')){$(this).next().removeClass('disabled').removeAttr('disabled').data({currentState:'enabled'});}
$form.find('span.customWidth').html($('#customWidthTemplate').tmpl(data));}});$form.find('input.slideable').each(function(){var $slider=$(document.createElement('div')).addClass('slider').insertAfter($(this).parent()),$closest_input=$slider.prev('p.row').find('input'),data={min:($closest_input.data('min')===0)?1:$closest_input.data('min'),max:($closest_input.data('max')===0)?1000:$closest_input.data('max')},dirVal=($closest_input.val().length>0)?$closest_input.val():data.min,roundVal;$slider.slider({slide:function(e,ui){roundVal=ui.value;roundVal=(roundVal===0)?1:roundVal;$closest_input.val(roundVal);$closest_input.removeClass('error');},step:10,min:$closest_input.data('min'),stop:function(e,ui){$closest_input.trigger('keyup');}});$slider.slider('option','max',data.max);$slider.slider('option','value',dirVal);$('#sliderLimits-tpl').tmpl(data).insertAfter($slider);});if($input_width){$input_width.parent().next().bind('slide',function(e,ui){if($('#input_keepAspect').is(':checked')&&!lastFramed){var ratio=($('#input_keepAspect').data('ratio'))?$('#input_keepAspect').data('ratio'):pRatio,next_input_val,roundVal=ui.value;roundVal=(roundVal===0)?1:roundVal;next_input_val=Math.round((roundVal/ratio));$input_height.val(next_input_val).parent().next().slider('value',next_input_val);}});}
if($input_height){$input_height.parent().next().bind('slide',function(e,ui){if($('#input_keepAspect').is(':checked')&&!lastFramed){var ratio=($('#input_keepAspect').data('ratio'))?$('#input_keepAspect').data('ratio'):pRatio,next_input_val,roundVal=ui.value;roundVal=(roundVal===0)?1:roundVal;next_input_val=Math.round((roundVal*ratio));$input_width.val(next_input_val).parent().next().slider('value',next_input_val);}});}
$form.delegate('#input_mirroring','change',function(){var zoom_parameters=$product.find('a.zoom').attr('href').split('?')[1],z3d_parameters=($product.find('a.zoom.z3d').length>0)?$product.find('a.zoom.z3d').attr('href').split('?')[1]:null;if($(this).is(':checked')){$product.find('.photo').attr('src',$product.find('.photo').attr('data-mirrored'));$product.find('a.zoom').attr('href',$product.find('.photo').attr('data-mirrored-zoom')+'?'+zoom_parameters);if($product.find('a.zoom.z3d').length>0){$product.find('a.zoom.z3d').attr('href',$product.find('.photo').attr('data-mirrored-3d')+'?'+z3d_parameters);}
$input_mirrored.val(1);}else{$product.find('.photo').attr('src',$product.find('.photo').data('url'));$product.find('a.zoom').attr('href',$product.find('.photo').data('zoom_url')+'?'+zoom_parameters);if($product.find('a.zoom.z3d').length>0){$product.find('a.zoom.z3d').attr('href',$product.find('.photo').data('z3d_url')+'?'+z3d_parameters);}
$input_mirrored.val(0);}});$form.delegate('#input_keepAspect','change',function(){var wWidth=($input_width.val().length>0)?$input_width.val():1,wHeight=($input_height.val().length>0)?$input_height.val():1,minHeight=($input_height.data('min')===0)?1:$input_height.data('min'),minWidth=($input_width.data('min')===0)?1:$input_width.data('min');if($(this).is(':checked')){if($input_width.val().length<1){$input_width.removeClass('error').val(1).parent().next().slider('value',wWidth);}
if($input_height.val().length<1){$input_height.removeClass('error').val(1).parent().next().slider('value',wHeight);}
if(productGroup==='canvas'){if(pWidth>pHeight){$input_width.parent().next().slider('option',{min:Math.round($input_height.data('minNoFrame')*pRatio),max:Math.round($input_height.data('maxNoFrame')*pRatio)}).next('.limits').remove();$('#sliderLimits-tpl').tmpl({min:Math.round($input_height.data('minNoFrame')*pRatio),max:Math.round($input_height.data('maxNoFrame')*pRatio)}).insertAfter($input_width.parent().next());}else{}}else{$input_width.parent().next().slider('option',{min:Math.round($input_height.data('min')*pRatio),max:Math.round($input_height.data('max')*pRatio)}).next('.limits').remove();$('#sliderLimits-tpl').tmpl({min:Math.round(minHeight*pRatio),max:Math.round($input_height.data('max')*pRatio)}).insertAfter($input_width.parent().next());$input_height.parent().next().slider('option',{min:Math.round($input_width.data('min')/pRatio),max:$input_height.data('max')}).next('.limits').remove();$('#sliderLimits-tpl').tmpl({min:Math.round(minWidth/pRatio),max:$input_height.data('max')}).insertAfter($input_height.parent().next());}
updateDimensions();}else{updateDimensions();}});$form.delegate('input[name = framed]','change',setFramed);$form.delegate('input[name = materialId]','change',setMaterial);$form.delegate('input[name = edge]','change',setImageOnEdge);$form.delegate('input[type="text"]','keydown',function(e){clearTimeout(sliderTimeout);formUpdating=true;});$form.delegate('input[type="text"]','focus',function(e){$(this).val($(this).data('value'));});$form.delegate('input[type="text"]','blur',function(e){if(lastFramed){for(size in outOfStockSizes){if(outOfStockSizes[size]===parseInt($(this).val(),10)){$(this).addClass('error').val($(this).data('value')+' ('+outOfStockText+')');break;}}}});$form.delegate('input[type="text"]','keyup',function(e){var $parent=$(this).parent(),$this=$(this),last_val=$(this).data('value'),$closest_slider=$parent.next('.slider'),$closest_add=$parent.next().find('button.add'),$closest_remove=$parent.next().find('button.remove'),ration,min=($(this).data('min')===0)?1:$(this).data('min'),next_input_val,isOutOfStock,size,final_val,roundVal,new_val=$(this).val();new_val=new_val.replace(/[^0-9]/g,'');new_val=parseInt(new_val,10);new_val=(!isNaN(new_val))?new_val:'';if(new_val!==last_val||new_val===0){clearTimeout(sliderTimeout);if(typeof new_val==='number'){$this.removeClass('error');final_val=new_val;for(size in outOfStockSizes){if(outOfStockSizes[size]===final_val){isOutOfStock=true;break;}else{isOutOfStock=false;continue;}}
if($('#input_framingNoFrame').is(':checked')&&productGroup==='canvas'){if(final_val<$(this).data('minNoFrame')){$this.addClass('error');var materialId=$('#input_material').val(),disabledTemplate=$(materialId?'#disabledPriceTemplate'+materialId:'#disabledPriceTemplate').tmpl();$product.find('.order').html(disabledTemplate);sliderTimeout=setTimeout(function(){$closest_slider.slider('value',new_val);$this.val(final_val).data('value',final_val);},250);}else if(final_val>$(this).data('maxNoFrame')&&$(this).data('maxNoFrame')!==0){final_val=$(this).data('maxNoFrame');$this.val(final_val).data('value',final_val);sliderTimeout=setTimeout(function(){if(final_val!==last_val){submitFormWrapper($this);}
$closest_slider.slider('value',new_val);},250);}else{$this.val(final_val).data('value',final_val);sliderTimeout=setTimeout(function(){$closest_slider.slider('value',new_val);if($('#input_keepAspect').is(':checked')&&!lastFramed){if($this.attr('id')==='input_wallWidth'){ratio=($('#input_keepAspect').data('ratio'))?$('#input_keepAspect').data('ratio'):pRatio;roundVal=Math.round(final_val);roundVal=(roundVal===0)?1:roundVal;next_input_val=Math.round((roundVal/ratio));$input_height.val(next_input_val).data('value',next_input_val).parent().next().slider('value',next_input_val);}else{ratio=($('#input_keepAspect').data('ratio'))?$('#input_keepAspect').data('ratio'):pRatio;roundVal=Math.round(final_val);roundVal=(roundVal===0)?1:roundVal;next_input_val=Math.round((roundVal*ratio));$input_width.val(next_input_val).data('value',next_input_val).parent().next().slider('value',next_input_val);}}},250);if(final_val!==last_val){submitFormWrapper($(this));}}}else{if(isOutOfStock&&($('#input_framingFrame').is(':checked')||productGroup==='doityourselfframe')){$this.addClass('error');var materialId=$('#input_material').val(),disabledTemplate=$(materialId?'#disabledPriceTemplate'+materialId:'#disabledPriceTemplate').tmpl();$product.find('.order').html(disabledTemplate);$this.data('value',final_val);sliderTimeout=setTimeout(function(){$closest_slider.slider('value',new_val);$this.val(final_val+' ('+outOfStockText+')').data('value',final_val);},250);}else if(final_val<min){$this.addClass('error');var materialId=$('#input_material').val(),disabledTemplate=$(materialId?'#disabledPriceTemplate'+materialId:'#disabledPriceTemplate').tmpl();$product.find('.order').html(disabledTemplate);sliderTimeout=setTimeout(function(){$closest_slider.slider('value',new_val);$this.val(final_val).data('value',final_val);},250);}else if(final_val>$(this).data('max')&&$(this).data('max')!==0){final_val=$(this).data('max');$this.val(final_val).data('value',final_val);sliderTimeout=setTimeout(function(){if(final_val!==last_val){submitFormWrapper($this);}
$closest_slider.slider('value',new_val);},250);}else{if($(this).hasClass('countable')){if(final_val>min){$closest_remove.removeClass('disabled').removeAttr('disabled');}
if(final_val<=min){$closest_remove.addClass('disabled').attr('disabled','disabled');}
if(final_val>=$(this).data('max')&&$(this).data('max')!==0){$closest_add.addClass('disabled').attr('disabled','disabled');}
if(final_val<$(this).data('max')&&$(this).data('max')!==0){$closest_add.removeClass('disabled').removeAttr('disabled');}
$form.find('span.customWidth').html($('#customWidthTemplate').tmpl({customWidth:(final_val*widthsWidth)}));}
if(productGroup==='canvas'||productGroup==='doityourselfframe'){$this.val((Math.round(final_val/10)*10)).data('value',final_val);}else{$this.val(final_val).data('value',final_val);}
if(productGroup==='doityourselfframe'){var pictureRatio,$diyframe=$('#product .doityourselfframe');if($this.attr('id')==='input_wallWidth'){if(final_val>$input_height.val()){pictureRatio=509/final_val;$diyframe.width(509);$diyframe.height(pictureRatio*$input_height.val());}else if(final_val==$input_height.val()){$diyframe.width(509);$diyframe.height(509);}else{pictureRatio=509/$input_height.val();$diyframe.height(509);$diyframe.width(pictureRatio*final_val);}}else{if($input_width.val()>final_val){pictureRatio=509/$input_width.val();$diyframe.width(509);$diyframe.height(pictureRatio*final_val);}else if($input_width.val()==final_val){$diyframe.width(509);$diyframe.height(509);}else{pictureRatio=509/final_val;$diyframe.height(509);$diyframe.width(pictureRatio*$input_width.val());}}}
sliderTimeout=setTimeout(function(){$closest_slider.slider('value',new_val);if($keepAspect.is(':checked')&&!lastFramed){if($this.attr('id')==='input_wallWidth'){ratio=($('#input_keepAspect').data('ratio'))?$('#input_keepAspect').data('ratio'):pRatio;roundVal=Math.round(final_val);roundVal=(roundVal===0)?1:roundVal;next_input_val=Math.round((roundVal/ratio));$input_height.val(next_input_val).data('value',next_input_val).parent().next().slider('value',next_input_val);}else{ratio=($('#input_keepAspect').data('ratio'))?$('#input_keepAspect').data('ratio'):pRatio;roundVal=Math.round(final_val);roundVal=(roundVal===0)?1:roundVal;next_input_val=Math.round((roundVal*ratio));$input_width.val(next_input_val).data('value',next_input_val).parent().next().slider('value',next_input_val);}}},250);if(final_val!==last_val){submitFormWrapper($(this));}}}}else{if(new_val.length===0){var materialId=$('#input_material').val(),disabledTemplate=$(materialId?'#disabledPriceTemplate'+materialId:'#disabledPriceTemplate').tmpl();$product.find('.order').html(disabledTemplate);$this.addClass('error');if($this.hasClass('countable')){$form.find('span.customWidth').html('');}
if($('#input_framingNoFrame').is(':checked')&&productGroup==='canvas'){$closest_slider.slider('value',$this.data('minNoFrame'));}else{$closest_slider.slider('value',$this.data('min'));}}
$this.val(new_val).data('value',new_val);if($(this).hasClass('countable')){$closest_remove.addClass('disabled').attr('disabled','disabled');}}
addZoomParameters($product.find('.zoom'),$form.serialize());}else{if($this.val().match(/[^0-9]/g)){$(this).val(new_val).data('value',new_val);}
if($('#input_framingNoFrame').is(':checked')&&productGroup!='doityourselfframe'&&new_val>0){$(this).removeClass('error');$closest_slider.slider('value',$this.data('value'));}}});$('#main').delegate('#form_reviewRequest button','click',function(e){e.preventDefault();var $text=$('#confirm-custom-order-tmpl').tmpl();$.fancybox('<div id="confirm-custom-order">'+$text.html()+'</div>',{overlayColor:'#000',overlayOpacity:'0.8',showNavArrows:false,titleShow:false,centerOnScroll:true,padding:30,onComplete:function(){$('#confirm_order').click(function(e){e.preventDefault();$('#form_reviewRequest').submit();});$('#cancel_order').click(function(e){e.preventDefault();$.fancybox.close();});}});});$addToCart.bind('submit',function(e){e.preventDefault();var $this=$(this),$image,$imageHolder,$cropperHandle,$shoppingBag,$bagPrice,navTop,cropperWidth,cropperHeight,cropperX,cropperY,priceX,priceY,bagPriceX,bagPriceY,$cloneImage,finalWidth,finalHeight,loaderTimer,isCropper;$.post($(this).attr('action'),$(this).serialize(),function(response,status){$image=$('.photo',$product);$imageHolder=$(document.createElement('div')).addClass('clone-image-holder').appendTo($('body'));$cropperHandle=$cropper.find('.handle');$shoppingBag=($('#shopping-bag').length<1)?$(document.createElement('div')).attr('id','shopping-bag').prependTo($('#main')):$('#shopping-bag');isCropper=((productGroup==='canvas'||productGroup==='photo-wallpaper')&&$cropper.find('.handle').is(':visible'));$bagPrice=$shoppingBag.find('.bag');navTop=$('#nav').offset().top;cropperWidth=(isCropper)?$cropperHandle.width():$image.width();cropperHeight=(isCropper)?$cropperHandle.height():$image.height();cropperX=(isCropper)?'-'+(($cropperHandle.position().left/cropperWidth)*100)+'%':0;cropperY=(isCropper)?'-'+(($cropperHandle.position().top/cropperHeight)*100)+'%':0;priceX=(isCropper)?$cropperHandle.offset().left:$image.offset().left;priceY=(isCropper)?$cropperHandle.offset().top:$image.offset().left;bagPriceX=$shoppingBag.offset().left+10;bagPriceY=$shoppingBag.offset().top+10;$cloneImage=$image.clone().addClass('clone-image').appendTo($imageHolder);finalWidth=(pWidth>pHeight)?(13*pRatio):(13/pRatio);finalHeight=13;$shoppingBag.data('bg',$shoppingBag.css('background-color'));$imageHolder.css({width:cropperWidth,height:cropperHeight});$cloneImage.css({left:cropperX,top:cropperY,width:pWidth,height:pHeight});if(!$shoppingBag.hasClass('visible')){if($('body').scrollTop()>navTop){$('body').animate({'scrollTop':navTop},500,function(){$shoppingBag.animate({'margin-top':'-13px'},500,function(){bagPriceX=$shoppingBag.offset().left+10;bagPriceY=$shoppingBag.offset().top+10;$cloneImage.animate({'width':finalWidth,'height':finalHeight},500);$imageHolder.css({'top':priceY,'left':priceX}).show().animate({'top':bagPriceY,'left':bagPriceX,'width':finalWidth,'height':finalHeight,'opacity':0.30},500,function(){$shoppingBag.html(response);$shoppingBag.css('background-color','#396894').animate({'backgroundColor':$shoppingBag.data('bg')},500);$(this).remove();});}).addClass('visible');});}else{$shoppingBag.animate({'margin-top':'-13px'},500,function(){bagPriceX=$shoppingBag.offset().left+10;bagPriceY=$shoppingBag.offset().top+10;$cloneImage.animate({'width':finalWidth,'height':finalHeight},500);$imageHolder.css({'top':priceY,'left':priceX}).show().animate({'top':bagPriceY,'left':bagPriceX,'width':finalWidth,'height':finalHeight,'opacity':0.30},500,function(){$shoppingBag.html(response);$shoppingBag.css('background-color','#396894').animate({'backgroundColor':$shoppingBag.data('bg')},500);$(this).remove();});}).addClass('visible');}}else{if($('body').scrollTop()>navTop){$('body').animate({'scrollTop':navTop},500,function(){bagPriceX=$shoppingBag.offset().left+10;bagPriceY=$shoppingBag.offset().top+10;$cloneImage.animate({'width':finalWidth,'height':finalHeight},500);$imageHolder.css({'top':priceY,'left':priceX}).show().animate({'top':bagPriceY,'left':bagPriceX,'width':finalWidth,'height':finalHeight,'opacity':0.30},500,function(){$shoppingBag.html(response);$shoppingBag.css('background-color','#396894').animate({'backgroundColor':$shoppingBag.data('bg')},500);$(this).remove();});});}else{bagPriceX=$shoppingBag.offset().left+10;bagPriceY=$shoppingBag.offset().top+10;$cloneImage.animate({'width':finalWidth,'height':finalHeight},500);$imageHolder.css({'top':priceY,'left':priceX}).show().animate({'top':bagPriceY,'left':bagPriceX,'width':finalWidth,'height':finalHeight,'opacity':0.30},500,function(){$shoppingBag.html(response);$shoppingBag.css('background-color','#396894').animate({'backgroundColor':$shoppingBag.data('bg')},500);$(this).remove();});}}},'html');});$form.bind('submit',function(e){e.preventDefault();var inputW_val=parseInt($input_width.val(),10),inputH_val=parseInt($input_height.val(),10),resW,resH,size;$product.find('.price').addClass('calculating');$product.find('button.shoppingbag').addClass('disabled').attr('disabled','disabled');clearTimeout(formUpdateTimer);$.get($form.attr('action'),$form.serialize(),function(response,status){if(!formUpdating){resW=(productGroup==='wallpaper')?response.customWidths:response.customWidth;resH=response.customHeight;if(resH===inputH_val&&resW===inputW_val){$('#input_width').val(response.customWidth);$('#input_widths').val(response.customWidths);$('#input_height').val(response.customHeight);$('#input_mirrored').val(response.mirroring);$('#input_edge').val(response.edge);$('#input_framed').val(response.framed);$('#input_material').val(response.materialId);if(response.inStock!='false'){$product.find('.order').html($('#customPriceTemplate').tmpl(response));}else{var materialId=$('#input_material').val(),disabledTemplate=$(materialId?'#disabledPriceTemplate'+materialId:'#disabledPriceTemplate').tmpl();$product.find('.order').html(disabledTemplate);}
$form.find('span.customWidth').html($('#customWidthTemplate').tmpl(response));updateDimensions(response);}else{updateDimensions(response);}}},'json');});}
function updateDimensions(data){var wWidth=($input_width)?parseInt($input_width.val(),10):0,wHeight=($input_height)?parseInt($input_height.val(),10):0;if(lastAspect){$cropper.imageCropper({init:function(handle){updateCoordinates(0,0);}});}
$('h2',$cropper).fadeIn(1000);addZoomParameters($product.find('.zoom'),$form.serialize(),true);if(productGroup==='canvas'){if(pWidth>pHeight){$input_width.data('min',pw.product.limitations.minFrameLongSide).data('max',pw.product.limitations.maxFrameLongSide).data('minNoFrame',pw.product.limitations.minLongSide).data('maxNoFrame',pw.product.limitations.maxLongSide);$input_height.data('min',pw.product.limitations.minFrameShortSide).data('max',pw.product.limitations.maxFrameShortSide).data('minNoFrame',pw.product.limitations.minShortSide).data('maxNoFrame',pw.product.limitations.maxShortSide);}else{$input_height.data('min',pw.product.limitations.minFrameLongSide).data('max',pw.product.limitations.maxFrameLongSide).data('minNoFrame',pw.product.limitations.minLongSide).data('maxNoFrame',pw.product.limitations.maxLongSide);$input_width.data('min',pw.product.limitations.minFrameShortSide).data('max',pw.product.limitations.maxFrameShortSide).data('minNoFrame',pw.product.limitations.minShortSide).data('maxNoFrame',pw.product.limitations.maxShortSide);}
var $sliderWidth=$input_width.parent().next(),$sliderHeight=$input_height.parent().next();if(!$('#input_keepAspect').is(':checked')||lastFramed){if(lastFramed){$sliderWidth.slider('option',{min:$input_width.data('min'),max:$input_width.data('max')}).next('.limits').remove();$sliderHeight.slider('option',{min:$input_height.data('min'),max:$input_height.data('max')}).next('.limits').remove();$('#sliderLimits-tpl').tmpl({min:$input_width.data('min'),max:$input_width.data('max')}).insertAfter($sliderWidth);$('#sliderLimits-tpl').tmpl({min:$input_height.data('min'),max:$input_height.data('max')}).insertAfter($sliderHeight);}else{$sliderWidth.slider('option',{min:$input_width.data('minNoFrame'),max:$input_width.data('maxNoFrame')}).next('.limits').remove();$sliderHeight.slider('option',{min:$input_height.data('minNoFrame'),max:$input_height.data('maxNoFrame')}).next('.limits').remove();$('#sliderLimits-tpl').tmpl({min:$input_width.data('minNoFrame'),max:$input_width.data('maxNoFrame')}).insertAfter($sliderWidth);$('#sliderLimits-tpl').tmpl({min:$input_height.data('minNoFrame'),max:$input_height.data('maxNoFrame')}).insertAfter($sliderHeight);}}else{if(productGroup==='canvas'){if(pWidth>pHeight){$input_width.parent().next().slider('option',{min:Math.round($input_height.data('minNoFrame')*pRatio),max:Math.round($input_height.data('maxNoFrame')*pRatio)}).next('.limits').remove();$('#sliderLimits-tpl').tmpl({min:Math.round($input_height.data('minNoFrame')*pRatio),max:Math.round($input_height.data('maxNoFrame')*pRatio)}).insertAfter($input_width.parent().next());$sliderHeight.slider('option',{min:$input_height.data('minNoFrame'),max:$input_height.data('maxNoFrame')}).next('.limits').remove();$('#sliderLimits-tpl').tmpl({min:$input_height.data('minNoFrame'),max:$input_height.data('maxNoFrame')}).insertAfter($sliderHeight);}else if(pWidth<pHeight){$input_height.parent().next().slider('option',{min:Math.round($input_width.data('minNoFrame')/pRatio),max:Math.round($input_width.data('maxNoFrame')/pRatio)}).next('.limits').remove();$('#sliderLimits-tpl').tmpl({min:Math.round($input_width.data('minNoFrame')/pRatio),max:Math.round($input_width.data('maxNoFrame')/pRatio)}).insertAfter($input_height.parent().next());$sliderWidth.slider('option',{min:$input_width.data('minNoFrame'),max:$input_width.data('maxNoFrame')}).next('.limits').remove();$('#sliderLimits-tpl').tmpl({min:$input_height.data('minNoFrame'),max:$input_height.data('maxNoFrame')}).insertAfter($sliderWidth);}else{$input_height.parent().next().slider('option',{min:Math.round($input_width.data('minNoFrame')/pRatio),max:pw.product.limitations.maxShortSide}).next('.limits').remove();$('#sliderLimits-tpl').tmpl({min:Math.round($input_width.data('minNoFrame')/pRatio),max:pw.product.limitations.maxShortSide}).insertAfter($input_height.parent().next());$sliderWidth.slider('option',{min:$input_width.data('minNoFrame'),max:pw.product.limitations.maxShortSide}).next('.limits').remove();$('#sliderLimits-tpl').tmpl({min:$input_height.data('minNoFrame'),max:pw.product.limitations.maxShortSide}).insertAfter($sliderWidth);}}else{if(pWidth>pHeight){$input_width.parent().next().slider('option',{min:Math.round($input_height.data('min')*pRatio),max:Math.round($input_height.data('max')*pRatio)}).next('.limits').remove();$('#sliderLimits-tpl').tmpl({min:Math.round($input_height.data('min')*pRatio),max:Math.round($input_height.data('max')*pRatio)}).insertAfter($input_width.parent().next());$sliderWidth.slider('option',{min:$input_width.data('min'),max:$input_width.data('max')}).next('.limits').remove();$('#sliderLimits-tpl').tmpl({min:$input_width.data('min'),max:$input_width.data('max')}).insertAfter($sliderWidth);}else{$input_height.parent().next().slider('option',{min:Math.round($input_width.data('min')/pRatio),max:Math.round($input_width.data('max')/pRatio)}).next('.limits').remove();$('#sliderLimits-tpl').tmpl({min:Math.round($input_width.data('min')/pRatio),max:Math.round($input_width.data('max')/pRatio)}).insertAfter($input_height.parent().next());$sliderHeight.slider('option',{min:$input_height.data('min'),max:$input_height.data('max')}).next('.limits').remove();$('#sliderLimits-tpl').tmpl({min:$input_height.data('min'),max:$input_height.data('max')}).insertAfter($sliderHeight);}}}}else if(productGroup==='photo-wallpaper'){if(!$('#input_keepAspect').is(':checked')){var $sliderWidth=$input_width.parent().next(),$sliderHeight=$input_height.parent().next(),min=($input_width.data('min')===0)?1:$input_width.data('min');$sliderWidth.slider('option',{min:$input_width.data('min'),max:1000}).next('.limits').remove();$sliderHeight.slider('option',{min:$input_height.data('min'),max:$input_height.data('max')}).next('.limits').remove();$('#sliderLimits-tpl').tmpl({min:min,max:1000}).insertAfter($sliderWidth);$('#sliderLimits-tpl').tmpl({min:min,max:$input_height.data('max')}).insertAfter($sliderHeight);}}
if(wWidth>=0&&wHeight>=0&&typeof wWidth==='number'&&typeof wHeight==='number'){var keepAspect=($('#input_keepAspect').is(':checked')&&!lastFramed)||pw.product.limitations.keepAspect,maxWidth=pw.product.limitations.maxWidth||0,maxHeight=pw.product.limitations.maxHeight||0,maxShortSide=(pw.product.limitations.maxShortSide)?((lastImageOnEdge)?pw.product.limitations.maxShortSide+2*canvasFrameWidth:pw.product.limitations.maxShortSide):0,maxLongSide=pw.product.limitations.maxLongSide?((lastImageOnEdge)?pw.product.limitations.maxLongSide+2*canvasFrameWidth:pw.product.limitations.maxLongSide):0,min=0,orgWidth=wWidth,orgHeight=wHeight;if(lastFramed){min=parseInt($input_width.data('min'),10);}else{min=parseInt($input_width.data('minNoFrame'),10);}
if(keepAspect){if(lastHeight!==wHeight){wWidth=Math.round(wHeight*pRatio);}
if(lastWidth!==wWidth||lastAspect!==keepAspect){wHeight=Math.round(wWidth/pRatio);}}
if(min&&wWidth<min&&wWidth<wHeight){wWidth=min;if(keepAspect){wHeight=Math.round(wWidth/pRatio);}}
if(min&&wHeight<min&&wHeight<=wWidth){wHeight=min;if(keepAspect){wWidth=Math.round(wHeight*pRatio);}}
if(maxWidth&&wWidth>maxWidth){wWidth=maxWidth;if(keepAspect){wHeight=Math.round(wWidth/pRatio);}}
if(maxShortSide&&wWidth>maxShortSide&&wWidth<wHeight){wWidth=maxShortSide;if(keepAspect){wHeight=Math.round(wWidth/pRatio);}}
if(maxLongSide&&wWidth>maxLongSide&&wWidth>wHeight){wWidth=maxShortSide;if(keepAspect){wHeight=Math.round(wWidth/pRatio);}}
if(maxHeight&&wHeight>maxHeight){wHeight=maxHeight;if(keepAspect){wWidth=Math.round(wHeight*pRatio);}}
if(maxShortSide&&wHeight>maxShortSide&&wHeight<=wWidth){wHeight=maxShortSide;if(keepAspect){wWidth=Math.round(wHeight*pRatio);}}
if(maxLongSide&&wHeight>maxLongSide&&wHeight>=wWidth){wHeight=maxLongSide;if(keepAspect){wWidth=Math.round(wHeight*pRatio);}}
if(keepAspect){if(wWidth>$input_width.parent().next().slider('option','max')){wWidth=$input_width.parent().next().slider('option','max');}
if(wHeight>$input_height.parent().next().slider('option','max')){wHeight=$input_height.parent().next().slider('option','max');}}
if(data){var serverWidth=(productGroup==='wallpaper')?data.customWidths:data.customWidth,serverHeight=data.customHeight,size;if(lastFramed||productGroup==='doityourselfframe'){$input_width.val(Math.round((serverWidth)/10)*10).data('value',Math.round((serverWidth)/10)*10);$input_height.val(Math.round((serverHeight)/10)*10).data('value',Math.round((serverHeight)/10)*10);$input_height.parent().next().slider('value',$input_height.val());$input_width.parent().next().slider('value',$input_width.val());for(size in outOfStockSizes){if(outOfStockSizes[size]===parseInt($input_width.val(),10)){$input_width.val($input_width.data('value')+' ('+outOfStockText+')');break;}
if(outOfStockSizes[size]===parseInt($input_height.val(),10)){$input_height.val($input_height.data('value')+' ('+outOfStockText+')');break;}}}else{$input_width.val(serverWidth).data('value',serverWidth);$input_height.val(serverHeight).data('value',serverHeight);$input_height.parent().next().slider('value',$input_height.val());$input_width.parent().next().slider('value',$input_width.val());}
if(serverWidth!==orgWidth||serverHeight!==orgHeight){if($cropper.is(':visible')){$('h2',$cropper).fadeIn(1000);}
submitFormWrapper($input_width);}}else{if(wWidth!==orgWidth||(keepAspect&&wHeight!==orgHeight)){if(lastFramed||productGroup==='doityourselfframe'){$input_width.val(Math.round(wWidth/10)*10).data('value',Math.round(wWidth/10)*10);$input_width.parent().next().slider('value',$input_width.val());}else{$input_width.val(wWidth).data('value',wWidth);$input_width.parent().next().slider('value',$input_width.val());}}
if(wHeight!==orgHeight||(keepAspect&&wWidth!==orgWidth)){if(lastFramed||productGroup==='doityourselfframe'){$input_height.val(Math.round(wHeight/10)*10).data('value',Math.round(wHeight/10)*10);$input_height.parent().next().slider('value',$input_height.val());}else{$input_height.val(wHeight).data('value',wHeight);$input_height.parent().next().slider('value',$input_height.val());}}
if(wWidth!==orgWidth||wHeight!==orgHeight){if($cropper.is(':visible')){$('h2',$cropper).fadeIn(1000);}
submitFormWrapper($input_width);}}
if(lastFramed||productGroup==='doityourselfframe'){for(size in outOfStockSizes){if(outOfStockSizes[size]===parseInt($input_width.val(),10)){$input_width.addClass('error').val($input_width.data('value')+' ('+outOfStockText+')');$input_width.parent().next().slider('value',$input_width.data('value'));break;}else{$input_width.removeClass('error');continue;}}
for(size in outOfStockSizes){if(outOfStockSizes[size]===parseInt($input_height.val(),10)){$input_height.addClass('error').val($input_height.data('value')+' ('+outOfStockText+')');$input_height.parent().next().slider('value',$input_height.data('value'));break;}else{$input_height.removeClass('error');continue;}}}else{$input_height.removeClass('error');$input_width.removeClass('error');}
if(wWidth!==lastWidth){$input_width.parent().next().slider('value',$input_width.val());}
if(wHeight!==lastHeight){$input_height.parent().next().slider('value',$input_height.val());}
lastWidth=wWidth;lastHeight=wHeight;lastAspect=keepAspect;var frameWidth,frameRatio;if(lastImageOnEdge){wWidth+=2*canvasFrameWidth;wHeight+=2*canvasFrameWidth;}
var wRatio=wWidth/wHeight,widthRatio=pWidth/wWidth,heightRatio=pHeight/wHeight,ratio=Math.abs(pRatio/wRatio);if(keepAspect&&!lastImageOnEdge){$cropper.hide();$('h2',$cropper).show();updateCoordinates(0,0);}else if(ratio&&ratio!=='Infinity'&&(ratio>1.02||ratio<0.98)&&productGroup!=='doityourselfframe'||(lastImageOnEdge)){$cropper.fadeIn(1000);if(widthRatio>heightRatio){$cropper.imageCropper({width:pWidth,height:pHeight,axis:'x',size:Math.round(wWidth*heightRatio),init:function(handle){updateCoordinates(handle.left,0);},start:function(){$('h2',$cropper).fadeOut(1000);},stop:function(event,handle){updateCoordinates(handle.position.left,0);},edge:(lastImageOnEdge)?Math.round(canvasFrameWidth*heightRatio):0,edgeColor:(lastImageOnEdge)?false:$('input[name=edge]:checked',$form).val()});}else{$cropper.imageCropper({width:pWidth,height:pHeight,axis:'y',size:Math.round(wHeight*widthRatio),init:function(handle){updateCoordinates(0,handle.top);},start:function(){$('h2',$cropper).fadeOut(1000);},stop:function(event,handle){updateCoordinates(0,handle.position.top);},edge:(lastImageOnEdge)?Math.round(canvasFrameWidth*widthRatio):0,edgeColor:(lastImageOnEdge)?false:$('input[name=edge]:checked',$form).val()});}}else{$cropper.hide();$('h2',$cropper).show();}}else{$cropper.hide();}}
function addZoomParameters($el,parameters,first){$el.each(function(){if($form.find('input.error').length<1||first){var $this=$(this),keepAspectis=$('#input_keepAspect').is(':checked'),isFramed=$('#input_framingFrame').is(':checked'),url=$this.attr('href'),base_url=url.split('?')[0],new_url=base_url+'?'+parameters+'&x='+$('#input_x',$product).val()+'&y='+$('#input_y',$product).val();if(productGroup==='photo-wallpaper'&&keepAspectis){new_url=base_url;}
$this.attr('href',new_url);}});}
function submitFormWrapper($control){if(($input_width.val().length>0&&!$input_width.hasClass('error'))&&($input_height.val().length>0&&!$input_height.hasClass('error'))){clearTimeout(formUpdateTimer);formUpdating=true;formUpdateTimer=setTimeout(function(){formUpdating=false;$control.closest('form').submit();},400);}else{var materialId=$('#input_material').val(),disabledTemplate=$(materialId?'#disabledPriceTemplate'+materialId:'#disabledPriceTemplate').tmpl();$product.find('.order').html(disabledTemplate);}}
function updateCoordinates(x,y){$('#input_x').val(x/pWidth);$('#input_y').val(y/pHeight);addZoomParameters($product.find('.zoom'),$form.serialize());}
function setMaterial(e){var material=$form.find('input[name="materialId"]:checked').attr('value');$('input#input_material').attr('value',material);updateDimensions();submitFormWrapper($form.find('input[name="materialId"]'));}
function setImageOnEdge(e){var imageOnEdge=($('#input_edgeImage:checked').length)?true:false;$('input#input_edge').attr('value',$('input[name="edge"]:checked').attr('value'));lastImageOnEdge=imageOnEdge;updateDimensions();}
function setFramed(e){if($('#input_framingFrame').length){var $dimensions=$('div.dimensions'),framed=($('input#input_framingFrame').is(':checked'))?true:false,$keepAspectHolder=$('#input_wallHeight',$form).parent().parent().parent(),maxLongSlider,minLongSlider,maxShortSlider,minShortSlider;if(framed!==lastFramed){if(framed){$dimensions.addClass('framed');$input_height.val($input_height.data('value')).parent().next().slider('option',{value:$input_height.data('value'),step:10,min:$input_height.data('min'),max:$input_height.data('max')});$input_width.val($input_width.data('value')).parent().next().slider('option',{value:$input_width.data('value'),step:10,min:$input_width.data('min'),max:$input_width.data('max')});$('input[type="text"]').trigger('keyup');for(size in outOfStockSizes){if(outOfStockSizes[size]===parseInt($input_width.val(),10)){$input_width.addClass('error').val($input_width.val()+' ('+outOfStockText+')');break;}else{$input_width.removeClass('error');continue;}}
for(size in outOfStockSizes){if(outOfStockSizes[size]===parseInt($input_height.val(),10)){$input_height.addClass('error').val($input_height.val()+' ('+outOfStockText+')');break;}else{$input_height.removeClass('error');continue;}}
if($('#input_keepAspect',$keepAspectHolder).length>0){$('#input_keepAspect').parent().hide();}}
else{if(pWidth>pHeight){minLongSlider=($input_width.data('minNoFrame'))?$input_width.data('minNoFrame'):pw.product.limitations.minLongSide;maxLongSlider=($input_width.data('maxNoFrame'))?$input_width.data('minNoFrame'):pw.product.limitations.maxLongSide;minShortSlider=($input_height.data('minNoFrame'))?$input_height.data('minNoFrame'):pw.product.limitations.minShortSide;maxShortSlider=($input_height.data('maxNoFrame'))?$input_height.data('maxNoFrame'):pw.product.limitations.maxShortSide;$input_height.val($input_height.data('value')).parent().next().slider('option',{value:$input_height.data('value'),step:1,min:minShortSlider,max:maxShortSlider});$input_width.val($input_width.data('value')).parent().next().slider('option',{value:$input_width.data('value'),step:1,min:minLongSlider,max:maxLongSlider});}else{minLongSlider=($input_height.data('minNoFrame'))?$input_height.data('minNoFrame'):pw.product.limitations.minLongSide;maxLongSlider=($input_height.data('maxNoFrame'))?$input_height.data('minNoFrame'):pw.product.limitations.maxLongSide;minShortSlider=($input_width.data('minNoFrame'))?$input_width.data('minNoFrame'):pw.product.limitations.minShortSide;maxShortSlider=($input_width.data('maxNoFrame'))?$input_width.data('maxNoFrame'):pw.product.limitations.maxShortSide;$input_height.val($input_height.data('value')).parent().next().slider('option',{value:$input_height.data('value'),step:1,min:minLongSlider,max:maxLongSlider});$input_width.val($input_width.data('value')).parent().next().slider('option',{value:$input_width.data('value'),step:1,min:minShortSlider,max:maxShortSlider});}
$('input[type="text"]').trigger('keyup');if($('#input_keepAspect',$keepAspectHolder).length>0){$('#input_keepAspect').parent().show();}else{$('#keepAspect-checkbox').tmpl().appendTo($keepAspectHolder);$('#input_keepAspect',$keepAspectHolder).data('ratio',pRatio);}
$dimensions.removeClass('framed');}
$('input#input_framed').attr('value',(framed)?1:0);lastFramed=framed;updateDimensions();submitFormWrapper($input_height);}}}
$.fn.truncate=function(options){var $this=$(this),defaults,text,ellipsis,add,less;defaults={length:130,ellipsis:true,readmore:'Läs mer',readless:'Visa mindre'};settings=$.extend(defaults,options);return this.each(function(){text=$this.text();ellipsis=(settings.ellipsis)?'...':'';add=ellipsis+' <a href="#" class="readmore">'+settings.readmore+'</a>';less=text.substring(0,settings.length)+add;$this.html(less);$this.delegate('.readmore','click',function(e){e.preventDefault();add=' <a href="#" class="readless">'+settings.readless+'</a>';$this.html(text+add);});$this.delegate('.readless','click',function(e){e.preventDefault();$this.html(less);});});};$.fn.shinyRadioButtons=function(){return $(this).each(function(){var $context=$(this),$labels=$context.find('label'),$selected=$context.find('input[type = radio]:checked');$labels.filter("[for='"+$selected.attr('id')+"']").addClass('checked');$labels.bind('click',function(){$labels.removeClass('checked');$(this).addClass('checked');});$context.addClass('shinyRadioButtons');});};$.fn.imageCropper=function(options){var defaults={axis:'x',size:0,width:null,height:null,init:function(position){},start:function(event,ui){},drag:function(event,ui){},stop:function(event,ui){},edge:0,edgeColor:false};var opts=$.extend(defaults,options);return this.each(function(){var $cropper=$('div.holder',this);var $handle=$('div.handle',this);var $mask1=$('div.mask1',this);var $mask2=$('div.mask2',this);var marginWidth=$handle.outerWidth()-$handle.width();var marginHeight=$handle.outerHeight()-$handle.height();var position=$handle.position();$cropper.css({width:opts.width+marginWidth,height:opts.height+marginHeight});if(!$handle.hasClass('ui-draggable')){$handle.draggable({containment:'parent',cursor:'move',axis:opts.axis,start:opts.start,drag:function(event,ui){resizeMasks(ui.position);opts.drag(event,ui);},stop:opts.stop});}else{$handle.draggable('option','axis',opts.axis);$handle.draggable('option','start',opts.start);$handle.draggable('option','drag',function(event,ui){resizeMasks(ui.position);opts.drag(event,ui);});$handle.draggable('option','stop',opts.stop);}
$handle.css({width:null,height:null});switch(opts.axis){case'x':$handle.css({height:$cropper.height()-marginHeight,width:opts.size+'px',left:Math.round((position.left+opts.size<$cropper.width())?position.left:($cropper.width()-opts.size)/2)+'px',top:0});if(pHeight===($cropper.height()-marginHeight)&&pWidth===opts.size){$('h2',$cropper).hide();}
break;case'y':$handle.css({width:$cropper.width()-marginWidth,height:opts.size+'px',top:Math.round((position.top+opts.size<$cropper.height())?position.top:($cropper.height()-opts.size)/2)+'px',left:0});if(pWidth===($cropper.width()-marginWidth)&&pHeight===opts.size){$('h2',$cropper).hide();}
break;}
if(opts.edge!==0){var $corners=$edge.find('.corner'),$frame=$edge.find('.frame');if(($handle.height()-opts.edge*2)<0){$corners.width(28).height(28);}else{$corners.width(opts.edge).height(opts.edge);}
$frame.css({width:$handle.width()-opts.edge*2,height:(($handle.height()-opts.edge*2)<0)?0:$handle.height()-opts.edge*2,top:(($handle.height()-opts.edge*2)<0)?28:opts.edge,left:opts.edge,border:'1px solid red'});$edge.show();$handle.css({border:'1px solid black'}).find('.edgeColor').hide();}
else{$edge.hide();if(opts.edgeColor==='black'){$handle.find('.whiteedge').hide();$handle.find('.blackedge').show();}else if(opts.edgeColor==='white'){$handle.find('.blackedge').hide();$handle.find('.whiteedge').show();}
if(pw.product.group==='canvas'){$handle.css({border:'1px solid red'});}}
function resizeMasks(position){$mask1.css({width:(opts.axis==='x')?position.left:($cropper.width()-4),height:(opts.axis==='y')?position.top:($cropper.height()-4)});$mask2.css({width:(opts.axis==='x')?$cropper.width()-($handle.outerWidth()+position.left):($cropper.width()-4),height:(opts.axis==='y')?$cropper.height()-($handle.outerHeight()+position.top):($cropper.height()-4)});}
resizeMasks($handle.position());opts.init($handle.position());});};$.fn.showroom=function(){return this.click(function(e){e.preventDefault();var $this=$(this),$tpl,rel_id=$this.attr('rel'),scrollish=$('body').scrollTop();if($('body').find('#'+rel_id).length>0){$tpl=$('body').find('#'+rel_id);}else{$tpl=$('#'+rel_id+'-tmpl').tmpl();$tpl.attr('id',rel_id).appendTo($('body'));$tpl.find('a').fancybox({overlayColor:'#000',overlayOpacity:'0.8',hideOnContentClick:true,showNavArrows:true,centerOnScroll:true,titlePosition:'over',titleFormat:showRoom,title:'Inspiration- och interiörexempel',cyclic:true});}
$tpl.find('a:first').trigger('click');});};function showRoom(title,currentArray,currentIndex,currentOpts){var html,number,i;html='<h2>'+title+'</h2><ul id="showroom-pagination">';for(i=0;i<currentArray.length;i++){number=parseInt(i,10)+1;if(currentIndex===i){html=html+'<li class="active"><strong>'+number+'</strong></li>';}else{html=html+'<li><a class="jumpnav i-'+i+'" href="#">'+number+'</a></li>';}}
html=html+'</ul>';return html;}
function addFocus(e){$('#blog-share').find('.copy').focus();}})(jQuery);
