/*--------------------------------------------------
UKISA.WIDGET.PRODUCT-MATRIX
Version:   0.0.1
Generated: 24/11/2009
--------------------------------------------------*/
var UKISA=UKISA||{};UKISA.widget=UKISA.widget||{};UKISA.widget.ProductMatrix=function(b,a,d,c){this.el=document.getElementById(b);if(window.console){console.log("New product object created:"+b)}this.init(b,a,d,c)};UKISA.widget.ProductMatrix.prototype={init:function(b,a,d,c){this.collect();this.colour=document.getElementById(a);if(this.colour){YAHOO.util.Dom.addClass(this.colour,"disabled");this.colourField=this.colour.getElementsByTagName("input")[0];this.colourField.disabled=true;this.colourField.value=""}UKISA.widget.ProductMatrix.validation=new UKISA.widget.FormValidation("product-matrix-form",{callback:function(e){}});UKISA.widget.ProductMatrix.validation.rule("ItemID",{required:true,messages:{required:"Please select an option."},onError:function(e){var g,f;g=document.getElementById("error-"+this.context.form.id+"-"+e[0].name);if(g){f=document.getElementById("product-matrix");f.style.position="relative";f.appendChild(g)}}});UKISA.widget.ProductMatrix.validation.rule("Note",{required:true,messages:{required:"Please enter a colour."},events:{submit:true}});UKISA.widget.ProductMatrix.validation.disable("Note");UKISA.widget.ProductMatrix.validation.rule("Quantity",{required:true,messages:{required:"Please enter a quantity."}})},get:function(a){return this.data[a]||null},collect:function(){var c,e,b,d,a;a=this;c=this.el.getElementsByTagName("input");for(e=0,b=c.length;e<b;e++){d=c[e];if(d.getAttribute("type").toLowerCase()==="radio"){YAHOO.util.Event.addListener(d,"click",this.setOption,{input:d,instance:a})}}},setOption:function(d,c){var b,a;a=c.instance;b=c.input;if(UKISA.widget.ProductMatrix.products[b.id]){a.log("Found data for: "+b.id);UKISA.widget.ProductMatrix.product=UKISA.widget.ProductMatrix.products[b.id];a.setInfo();if(window.console){console.info(UKISA.widget.ProductMatrix.products[b.id])}}else{a.log("Cannot find data for: "+b.id)}},setInfo:function(){var f,e,d,h,c,a,g,b;f=UKISA.widget.ProductMatrix.product;d=YAHOO.util.Selector;a=this;h=d.query("h3","product-matrix-view",true);e=d.query("p.price","product-matrix-view",true);c=d.query("p.detail a","product-matrix-view",true);image=d.query("img.preview","product-matrix-view",true);imageURI=document.getElementById("image-uri");productName=document.getElementById("product-name");h.innerHTML="You have chosen "+f.brand+" "+f.name+" "+f.packSize;e.innerHTML='<span class="price-normal">'+f.price+'</span><span class="price-vat-name"><abbr title="Excluding">ex.</abbr> VAT</span>';c.innerHTML="More information &rsaquo;";c.href="/servlet/ProductHandler?code="+f.shortCode+"&itemId="+f.sku+"&amp;View=View";if(f.barcode){image.src="/web/images/catalogue/sku/small/"+f.barcode+".jpg"}else{image.src="/web/images/catalogue/tintedsku/small/"+f.sku+".jpg"}image.alt=f.brand+" "+f.name;imageURI.value=image.src;productName.value=f.brand+" "+f.name+" "+f.packSize;if(f.isReadyMixed){UKISA.widget.ProductMatrix.validation.disable("Note");if(this.colour){YAHOO.util.Dom.addClass(this.colour,"disabled");this.colourField.disabled=true}if(this.timer){this.timer.cancel();this.timer=null}}else{if(this.colour&&YAHOO.util.Dom.hasClass(this.colour,"disabled")){YAHOO.util.Dom.removeClass(this.colour,"disabled");this.colourField.disabled=false;this.timer=YAHOO.lang.later(200,this,function(){var i;i=(a.colourField.value!=="")?" in "+a.colourField.value:"";h.innerHTML="You have chosen "+f.brand+" "+f.name+" "+f.packSize+i;productName.value=f.brand+" "+f.name+" "+f.packSize+i},{},true)}this.colourField.focus();UKISA.widget.ProductMatrix.validation.enable("Note")}Cufon.replace(YAHOO.util.Selector.query("span.price-normal","product-matrix-view"))},log:function(a){if(window.console){console.log(a)}}};UKISA.widget.ProductMatrix.validation=null;UKISA.widget.ProductMatrix.product=null;UKISA.widget.ProductMatrix.products={};UKISA.widget.ProductMatrix.data=function(c,b){var a;a=document.getElementById(c);if(a){if(window.console){console.info(a)}UKISA.widget.ProductMatrix.products[c]=b;if(a.checked){ProductMatrix.product=new UKISA.widget.ProductMatrix(this.id,ProductMatrix.products[this.id])}}};UKISA.widget.ProductMatrix.addToBasket=function(a,b){var c;if(window.console){console.log("Add to basket")}c=UKISA.widget.ProductMatrix;if(c.validation&&c.validation.validate()){if(window.console){console.log("Matrix is valid")}UKISA.site.Order.Basket.add(a)}YAHOO.util.Event.stopEvent(b);return false};
