(function($){$.extend($.fn,{selectFeaturedProduct:function(options){var selectFeaturedProduct=$.data(this[0],'selectFeaturedProduct');if(selectFeaturedProduct){return selectFeaturedProduct;}
selectFeaturedProduct=new $.fn.selectFeaturedProduct.prototype(options,this[0]);$.data(this[0],'selectFeaturedProduct',selectFeaturedProduct);return selectFeaturedProduct;}});$.fn.selectFeaturedProduct.prototype=function(options,element){this.settings=$.extend(true,{},$.fn.selectFeaturedProduct.prototype.defaults,options);this.element=element;this.init();}
$.extend($.fn.selectFeaturedProduct.prototype,{defaults:{data:{},id:null,title:'',price:{},currency:'AUD',onInitialized:function(){}},prototype:{sizeSelects:[],colourSelects:[],addtocart:null,init:function()
{this.sizeSelects=$('#featured-product-'+this.settings.id).find('select.size-select');this.colourSelects=$('#featured-product-'+this.settings.id).find('select.colour-selector');this.addtocart=$('#featured-product-'+this.settings.id).find('a.add-to-cart');this.addtowishlist=$('#featured-product-'+this.settings.id).find('a.add-to-wishlist');this.qty=$('#featured-product-'+this.settings.id).find('input.qty');var $this=this;this.resetSizes();this.colourSelects.change(function(idx){if(this.selectedIndex==0){$this.resetSizes();}else{var selectedIndex=this.selectedIndex;$this.sizeSelects.each(function(idx){if(idx==(selectedIndex-1)){$(this).show();$(this).removeAttr('disabled');}else{this.options[0].selected=true;$(this).hide();$(this).attr('disabled','disabled');}});}});this.addtocart.click(function(){var valid=$this.validate(true);if(valid){$.ajax({type:'POST',url:"/load.php",data:{action:'add',currency:$this.settings.currency,form_type:'shopping_cart',id:$($this.sizeSelects[$this.colourSelects[0].selectedIndex-1]).val(),qty:$this.qty.val(),return_virtual_cart:true,page:currentPageId},success:function(response){if(response.totalItems){updateCartSummary(response.totalItems,response.checkoutURL,response.virtual_cart);var modalHtml='<div id="added-to-cart-modal" class="generic-modal">'+
'<h2 class="title">&nbsp;</h2>'+
'<div class="modal-content"></div>'+
'</div>';$j('body').append(modalHtml);var modalContent='<h3>'+($this.getQty()>1?'Items':'Item')+' added to cart</h3>';modalContent+='<table class="added-to-cart">';modalContent+='<caption>You have just added the following '+($this.getQty()>1?'items':'item')+' to your shopping cart:</caption>';modalContent+='<tr><td class="strong selected-product">'+$this.getTitle()+'</td><td class="qty">'+$this.getQty()+'</td><td class="size">'+$this.getSelectedSize()+'</td><td class="colour">'+$this.getSelectedColor()+'</td><td class="price">$'+$this.getPrice()+'</td></tr>';modalContent+='</table>';modalContent+='<div class="footer">'+
'<a href="javascript:$j.modal.close(); " class="close-modal"><img src="/images/skinny-modal-btn-continue-shopping.gif" alt="" /></a><a href="'+response.checkoutURL+'"><img src="/images/skinny-modal-btn-proceed-to-checkout.gif" alt="" /></a>'+
'</div>';$j('#added-to-cart-modal .modal-content').html(modalContent);$j("#added-to-cart-modal").modal({closeHTML:'<a href="javascript:void(0)" title="Close" class="generic-modal-close"></a>',containerId:"generic-modal-container",position:["25%"],onShow:function(){},onClose:function(){$j.modal.close();$j("#added-to-cart-modal").remove();}});$j("#feedback-modal").modal({closeHTML:'<a href="javascript:void(0)" title="Close" class="generic-modal-close"></a>',containerId:"generic-modal-container",position:["25%"],onShow:function(){$j('#feedback-modal .added-to-cart').show();}});}}});}});this.addtowishlist.click(function(){setWishList($this.settings.id);});this.settings.onInitialized();},resetSizes:function(){var $this=this;this.sizeSelects.each(function(idx){$this.sizeSelects[idx].options[0].selected=true;if(idx>0){$(this).hide();}else{$(this).show();}
this.disabled=true;});},validate:function(validateStock){var $this=this,valid=true;if($(this.colourSelects[0]).val()==''){valid=false;$(this.colourSelects[0]).addClass('invalid');}else{$(this.colourSelects[0]).removeClass('invalid');}
if($(this.sizeSelects[this.colourSelects[0].selectedIndex-1]).val()==''){valid=false;$(this.sizeSelects[this.colourSelects[0].selectedIndex-1]).addClass('invalid');}else{$(this.sizeSelects[this.colourSelects[0].selectedIndex-1]).removeClass('invalid');}
if(this.qty.val()<=0){valid=false;this.qty.parent().addClass('invalid');}else{this.qty.parent().removeClass('invalid');}
if(valid&&validateStock){productSummary=this.qty.val()+' x '+this.settings.title+', ';var count=0;var selectedId=$($this.sizeSelects[$this.colourSelects[0].selectedIndex-1]).val();$.each(this.settings.data,function(idx){count++;if($this.colourSelects[0].selectedIndex==count){productSummary+=this.label+', ';$.each(this.Sizes,function(){if(this.id==selectedId){if($this.qty.val()>this.stock){valid=false;stockLevel=this.stock;$j("#feedback-modal").modal({closeHTML:'<a href="javascript:void(0)" title="Close" class="generic-modal-close"></a>',containerId:"generic-modal-container",position:["25%"],onShow:function(){$j('#feedback-modal .modal-content').html('<br /><span class="strong">Sorry, there are only '+stockLevel+' of the \''+$this.settings.title+'\' left.</span> <span class="strong">Please adjust the quantity and try again.</span><br /><br />');}});}else if(this.stock===0){valid=false;$j("#feedback-modal").modal({closeHTML:'<a href="javascript:void(0)" title="Close" class="generic-modal-close"></a>',containerId:"generic-modal-container",position:["25%"],onShow:function(){$j('#feedback-modal .modal-content').html('<br /><span class="strong">Sorry, \''+$this.settings.title+'\' is currently out of stock.</span><br /><br />');}});}else{productSummary+=this.label;}}});}});$j('.selected-product').html(productSummary);}
return valid;},getId:function()
{return this.settings.id;},getRelatedId:function()
{return $(this.sizeSelects[this.colourSelects[0].selectedIndex-1]).val();},getTitle:function()
{return this.settings.title;},getPrice:function()
{return this.settings.price;},getCurrency:function()
{return this.settings.currency;},getQty:function()
{return this.qty.val();},getSelectedColor:function()
{var color=this.colourSelects[0];return color.options[color.selectedIndex].text;},getSelectedSize:function()
{var size=this.sizeSelects[this.colourSelects[0].selectedIndex-1];return size.options[size.selectedIndex].text;},test:function()
{console.log('test');}}});})(jQuery);
