$.fn.pause=function(b,a){b=b||1000;a=a||"fx";return this.queue(a,function(){var c=this;setTimeout(function(){$.dequeue(c)},b)})};$.fn.clearQueue=$.fn.unpause=function(a){return this.each(function(){a=a||"fx";if(this.queue&&this.queue[a]){this.queue[a].length=0}})};
/*
 * jQuery Corners 0.3
 * Copyright (c) 2008 David Turnbull, Steven Wittens
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 */
jQuery.fn.corners=function(c){var s="rounded_by_jQuery_corners";var A=b(c);var f=false;try{f=(document.body.style.WebkitBorderRadius!==undefined);var D=navigator.userAgent.indexOf("Chrome");if(D>=0){f=false}}catch(e){}var B=false;try{B=(document.body.style.MozBorderRadius!==undefined);var D=navigator.userAgent.indexOf("Firefox");if(D>=0&&parseInt(navigator.userAgent.substring(D+8))<3){B=false}}catch(e){}return this.each(function(G,K){$e=jQuery(K);if($e.hasClass(s)){return}$e.addClass(s);var F=/{(.*)}/.exec(K.className);var H=F?b(F[1],A):A;var L=K.nodeName.toLowerCase();if(L=="input"){K=t(K)}if(f&&H.webkit){o(K,H)}else{if(B&&H.mozilla&&(H.sizex==H.sizey)){q(K,H)}else{var I=d(K.parentNode);var J=d(K);switch(L){case"a":case"input":E(K,H,I,J);break;default:w(K,H,I,J);break}}}});function o(I,H){var F=""+H.sizex+"px "+H.sizey+"px";var G=jQuery(I);if(H.tl){G.css("WebkitBorderTopLeftRadius",F)}if(H.tr){G.css("WebkitBorderTopRightRadius",F)}if(H.bl){G.css("WebkitBorderBottomLeftRadius",F)}if(H.br){G.css("WebkitBorderBottomRightRadius",F)}}function q(I,H){var F=""+H.sizex+"px";var G=jQuery(I);if(H.tl){G.css("-moz-border-radius-topleft",F)}if(H.tr){G.css("-moz-border-radius-topright",F)}if(H.bl){G.css("-moz-border-radius-bottomleft",F)}if(H.br){G.css("-moz-border-radius-bottomright",F)}}function E(N,Q,O,F){var P=x("table");var L=x("tbody");P.appendChild(L);var M=x("tr");var I=x("td","top");M.appendChild(I);var K=x("tr");var H=y(N,Q,x("td"));K.appendChild(H);var J=x("tr");var G=x("td","bottom");J.appendChild(G);if(Q.tl||Q.tr){L.appendChild(M);C(I,Q,O,F,true)}L.appendChild(K);if(Q.bl||Q.br){L.appendChild(J);C(G,Q,O,F,false)}N.appendChild(P);if(jQuery.browser.msie){P.onclick=v}N.style.overflow="hidden"}function v(){if(!this.parentNode.onclick){this.parentNode.click()}}function t(H){var G=document.createElement("a");G.id=H.id;G.className=H.className;if(H.onclick){G.href="javascript:";G.onclick=H.onclick}else{jQuery(H).parent("form").each(function(){G.href=this.action});G.onclick=l}var F=document.createTextNode(H.value);G.appendChild(F);H.parentNode.replaceChild(G,H);return G}function l(){jQuery(this).parent("form").each(function(){this.submit()});return false}function w(I,F,G,H){var J=y(I,F,document.createElement("div"));I.appendChild(J);if(F.tl||F.tr){C(I,F,G,H,true)}if(F.bl||F.br){C(I,F,G,H,false)}}function y(J,I,K){var G=jQuery(J);var L;while(L=J.firstChild){K.appendChild(L)}if(J.style.height){var H=parseInt(G.css("height"));K.style.height=H+"px";H+=parseInt(G.css("padding-top"))+parseInt(G.css("padding-bottom"));J.style.height=H+"px"}if(J.style.width){var F=parseInt(G.css("width"));K.style.width=F+"px";F+=parseInt(G.css("padding-left"))+parseInt(G.css("padding-right"));J.style.width=F+"px"}K.style.paddingLeft=G.css("padding-left");K.style.paddingRight=G.css("padding-right");if(I.tl||I.tr){K.style.paddingTop=z(J,I,G.css("padding-top"),true)}else{K.style.paddingTop=G.css("padding-top")}if(I.bl||I.br){K.style.paddingBottom=z(J,I,G.css("padding-bottom"),false)}else{K.style.paddingBottom=G.css("padding-bottom")}J.style.padding=0;return K}function z(J,F,I,H){if(I.indexOf("px")<0){try{console.error("%s padding not in pixels",(H?"top":"bottom"),J)}catch(G){}I=F.sizey+"px"}I=parseInt(I);if(I-F.sizey<0){try{console.error("%s padding is %ipx for %ipx corner:",(H?"top":"bottom"),I,F.sizey,J)}catch(G){}I=F.sizey}return I-F.sizey+"px"}function x(G,F){var H=document.createElement(G);H.style.border="none";H.style.borderCollapse="collapse";H.style.borderSpacing=0;H.style.padding=0;H.style.margin=0;if(F){H.style.verticalAlign=F}return H}function d(G){try{var H=jQuery.css(G,"background-color");if(H.match(/^(transparent|rgba\(0,\s*0,\s*0,\s*0\))$/i)&&G.parentNode){return d(G.parentNode)}if(H==null){return"#ffffff"}if(H.indexOf("rgb")>-1){H=a(H)}if(H.length==4){H=p(H)}return H}catch(F){return"#ffffff"}}function p(F){return"#"+F.substring(1,2)+F.substring(1,2)+F.substring(2,3)+F.substring(2,3)+F.substring(3,4)+F.substring(3,4)}function a(K){var F=255;var H="";var G;var I=/([0-9]+)[, ]+([0-9]+)[, ]+([0-9]+)/;var J=I.exec(K);for(G=1;G<4;G++){H+=("0"+parseInt(J[G]).toString(16)).slice(-2)}return"#"+H}function b(G,I){var G=G||"";var H={sizex:5,sizey:5,tl:false,tr:false,bl:false,br:false,webkit:true,mozilla:true,transparent:false};if(I){H.sizex=I.sizex;H.sizey=I.sizey;H.webkit=I.webkit;H.transparent=I.transparent;H.mozilla=I.mozilla}var F=false;var J=false;jQuery.each(G.split(" "),function(K,M){M=M.toLowerCase();var L=parseInt(M);if(L>0&&M==L+"px"){H.sizey=L;if(!F){H.sizex=L}F=true}else{switch(M){case"no-native":H.webkit=H.mozilla=false;break;case"webkit":H.webkit=true;break;case"no-webkit":H.webkit=false;break;case"mozilla":H.mozilla=true;break;case"no-mozilla":H.mozilla=false;break;case"anti-alias":H.transparent=false;break;case"transparent":H.transparent=true;break;case"top":J=H.tl=H.tr=true;break;case"right":J=H.tr=H.br=true;break;case"bottom":J=H.bl=H.br=true;break;case"left":J=H.tl=H.bl=true;break;case"top-left":J=H.tl=true;break;case"top-right":J=H.tr=true;break;case"bottom-left":J=H.bl=true;break;case"bottom-right":J=H.br=true;break}}});if(!J){if(!I){H.tl=H.tr=H.bl=H.br=true}else{H.tl=I.tl;H.tr=I.tr;H.bl=I.bl;H.br=I.br}}return H}function u(I,G,J){var H=Array(parseInt("0x"+I.substring(1,3)),parseInt("0x"+I.substring(3,5)),parseInt("0x"+I.substring(5,7)));var F=Array(parseInt("0x"+G.substring(1,3)),parseInt("0x"+G.substring(3,5)),parseInt("0x"+G.substring(5,7)));r="0"+Math.round(H[0]+(F[0]-H[0])*J).toString(16);g="0"+Math.round(H[1]+(F[1]-H[1])*J).toString(16);G="0"+Math.round(H[2]+(F[2]-H[2])*J).toString(16);return"#"+r.substring(r.length-2)+g.substring(g.length-2)+G.substring(G.length-2)}function C(J,F,G,I,H){if(F.transparent){h(J,F,G,H)}else{n(J,F,G,I,H)}}function n(K,V,P,F,N){var J,I;var L=document.createElement("div");L.style.fontSize="1px";L.style.backgroundColor=P;var G=0;for(J=1;J<=V.sizey;J++){var S,R,Q;arc=Math.sqrt(1-Math.pow(1-J/V.sizey,2))*V.sizex;var H=V.sizex-Math.ceil(arc);var U=Math.floor(G);var T=V.sizex-H-U;var O=document.createElement("div");var M=L;O.style.margin="0px "+H+"px";O.style.height="1px";O.style.overflow="hidden";for(I=1;I<=T;I++){if(I==1){if(I==T){S=((arc+G)*0.5)-U}else{R=Math.sqrt(1-Math.pow(1-(H+1)/V.sizex,2))*V.sizey;S=(R-(V.sizey-J))*(arc-U-T+1)*0.5}}else{if(I==T){R=Math.sqrt(1-Math.pow((V.sizex-H-I+1)/V.sizex,2))*V.sizey;S=1-(1-(R-(V.sizey-J)))*(1-(G-U))*0.5}else{Q=Math.sqrt(1-Math.pow((V.sizex-H-I)/V.sizex,2))*V.sizey;R=Math.sqrt(1-Math.pow((V.sizex-H-I+1)/V.sizex,2))*V.sizey;S=((R+Q)*0.5)-(V.sizey-J)}}k(V,O,M,N,u(P,F,S));M=O;var O=M.cloneNode(false);O.style.margin="0px 1px"}k(V,O,M,N,F);G=arc}if(N){K.insertBefore(L,K.firstChild)}else{K.appendChild(L)}}function k(H,F,J,I,G){if(I&&!H.tl){F.style.marginLeft=0}if(I&&!H.tr){F.style.marginRight=0}if(!I&&!H.bl){F.style.marginLeft=0}if(!I&&!H.br){F.style.marginRight=0}F.style.backgroundColor=G;if(I){J.appendChild(F)}else{J.insertBefore(F,J.firstChild)}}function h(H,P,M,J){var I=document.createElement("div");I.style.fontSize="1px";var F=document.createElement("div");F.style.overflow="hidden";F.style.height="1px";F.style.borderColor=M;F.style.borderStyle="none solid";var N=P.sizex-1;var K=P.sizey-1;if(!K){K=1}for(var G=0;G<P.sizey;G++){var O=N-Math.floor(Math.sqrt(1-Math.pow(1-G/K,2))*N);if(G==2&&P.sizex==6&&P.sizey==6){O=2}var L=F.cloneNode(false);L.style.borderWidth="0 "+O+"px";if(J){L.style.borderWidth="0 "+(P.tr?O:0)+"px 0 "+(P.tl?O:0)+"px"}else{L.style.borderWidth="0 "+(P.br?O:0)+"px 0 "+(P.bl?O:0)+"px"}J?I.appendChild(L):I.insertBefore(L,I.firstChild)}if(J){H.insertBefore(I,H.firstChild)}else{H.appendChild(I)}}};(function(a){a.fn.safariSearch=function(b){var f={autosave:"my.domain.name",results:5,label:"Search"};var b=a.extend(f,b);var e=a.browser.safari;return a(this).each(function(){if(e){d(this)}else{c(this)}});function d(h){h.type="search";a(h).attr("placeholder",f.label);a(h).attr("autosave",f.autosave);a(h).attr("results",f.results);if(a(this).val()==f.label){a(this).val("")}}function c(k){a(k).click(function(){if(a(this).val()==f.label){a(this).val("")}});a(k).focus(function(){a(this).parent().attr("class","search-container search-active")});a(k).blur(function(){a(this).parent().attr("class","search-container");if(a(this).val()==""){a(this).val(f.label)}});var h=a('<div class="search-container"></div>').css("width",k.clientWidth+"px");h.append('<div class="search-left"></div>');h.append('<div class="search-right"></div>');a(h).insertBefore(k);h.append(k)}beautify_search_inputs()}})(jQuery);var promos={do_cycle:1,target_element:null,promos:null,current_promo:null,wait:6000,run_once:0,init:function(b){if(b.attr("id")!=undefined){this.target_element=b;var a=this.target_element.width()+","+this.target_element.height();$.ajax({url:"promotions.php",global:false,type:"GET",data:({dim:a}),dataType:"json",me:this,success:function(c){this.me.promo_response_handler(c)}})}},promo_response_handler:function(a){if(a.results.length>1){this.target_element.attr("onmouseover","promos.stop_cycle()");this.target_element.attr("onmouseout","promos.start_cycle()");this.set_promos(a.results);setTimeout(function(){promos.cycle_promos()},this.wait)}return this},set_promos:function(a){this.current_promo=0;this.promos=a},cycle_promos:function(){if(this.do_cycle==1){this.current_promo++;if(this.current_promo==(this.promos.length)){this.current_promo=0}var b=this.promos[this.current_promo];if($("#promo_"+this.current_promo).get()!=""){elm=$("#promo_"+this.current_promo)}else{elm=document.createElement("DIV");$(elm).attr("id","promo_"+this.current_promo);$(elm).attr("onmouseover","promos.stop_cycle()");$(elm).attr("onmouseout","promos.start_cycle()");$(elm).html(b);$(elm).hide()}if(this.run_once==0){this.run_once=1;var a=$(this.target_element).height();var c=document.createElement("DIV");$(c).height(a);$(c).addClass("promotions_bg");$(c).attr("style","height:"+a+"px;overflow:hidden;");$(c).attr("onmouseover","promos.stop_cycle()");$(c).attr("onmouseout","promos.start_cycle()");$(c).append(elm);var d=$(this.target_element).clone();$(c).append(d);$(this.target_element).replaceWith(c);this.target_element=d}$(this.target_element).parent().css("backgroundImage","url("+$(this.target_element).find("img").attr("src")+")");$(this.target_element).before(elm);$(this.target_element).fadeOut();setTimeout(function(){$(elm).fadeIn("slow")},this.wait/8);this.target_element=elm}setTimeout(function(){promos.cycle_promos()},this.wait)},start_cycle:function(){this.do_cycle=1;this.report_cycle()},stop_cycle:function(){this.do_cycle=0;this.report_cycle()},report_cycle:function(){}};$(document).ready(function(){$(".big_text_info_box").corners("16px top-left top-right");$(".transitional_div").corners("16px");$("input.search").safariSearch();$(".drop_shadow").corners("12px");$("p.sidebar_promo").corners("12px");$(".feedback").corners("30px top-right bottom-left");$(".basket_summary").corners("12px");$("#kb_menu").corners("6px");$("#kb_banner").corners("6px");$("#kb_summaries").corners("6px");$("#kb_article").corners("6px");promos.init($("#promotions"))});if(document.all){document.createNamedElement=function(b,a){return document.createElement("<"+b+' name="'+a+'">')}}else{document.createNamedElement=function(b,a){var c=document.createElement(b);c.setAttribute("name",a);return c}}function getElementsByClass(h,a,e){var d=new Array();if(e==null){e=document}if(a==null){a="*"}var c=e.getElementsByTagName(a);var b=c.length;var f=new RegExp("(^|\\s)"+h+"(\\s|$)");for(i=0,j=0;i<b;i++){if(f.test(c[i].className)){d[j]=c[i];j++}}return d}function cloneObject(b){for(var a in b){if(typeof b[a]=="object"){if(b[a].constructor==Array){this[a]=cloneArray(b[a])}else{this[a]=new cloneObject(b[a])}}else{this[a]=b[a]}}}function cloneArray(b){var c=new Array();var a=b.length;for(var d=0;d<a;d++){if(typeof b[d]=="object"){if(b[d].constructor==Array){c[d]=cloneArray(b[d])}else{c[d]=new cloneObject(b[d])}}else{c[d]=b[d]}}return c}function xnor(d,c){return(d&&c)||(!d&&!c)}function classDef(a){var b="";for(i in a){b+=i+": "+(typeof a[i])+"\n"}return b}function display_progress(a){return;var b=document.getElementById("progress_div");b.style.display=a?"":"none"}function getid(a){return document.getElementById(a)}function getselval(a){return(a.selectedIndex>=0)?a.options[a.selectedIndex].value:null}function getby(a,c,e,b){var d;for(d=0;d<a.length;d++){if(a[d][c]==e){return a[d]}}return null}function formArray(f,c){var e=new RegExp(c+"\\[(\\d*)\\]");var a=new Array();var b;for(var d=0;d<f.length;d++){if(b=e.exec(f[d].name)){a[b[1]]=f[d]}}return a}function mod(a,b){return(a<0)?(b-((-a)%b)):(a%b)}function addOption(a,b){if(a.options.add){return a.options.add(b)}else{return a.appendChild(b)}}var preview_to=null;function preview_charm(d,c){var f=getid(d);var a=getid(c);var b=f.value;b=document.getElementById("charmlet").process(b);var e=document.getElementById("charmlet").getErrorLine();if(e>=0){select_line(f,e)}if(e>=-1){alert("There is an error in the text. Please inspect the hilighted text, and just before it, to determine the cause of the problem.");b="#ERROR"}a.innerHTML=b}String.prototype.padLeft=function(c,b){b-=this.length;var d="";for(var a=0;a<b;a++){d+=c}d+=this;return d};Number.prototype.padLeft=function(b,a){return(""+this).padLeft(b,a)};function select_line(c,a){var e=c.value;var d=/.*(\r|\n|\r\n|$)/g;var b=0;var f=0;while(m=d.exec(e)){b=m.index;f=m.index+m[0].length;if(!a){break}a--}selectRange(c,b,f)}function insert_text(d,c){if(document.selection){d.focus();var b=document.selection.createRange();b.text=c}else{if(d.selectionStart||d.selectionStart=="0"){var e=d.selectionStart;var a=d.selectionEnd;d.value=d.value.substring(0,e)+c+d.value.substring(a,d.value.length)}else{d.value+=c}}}function selectRange(b,d,a){if(b.createTextRange){var c=b.createTextRange();c.moveStart("character",d);c.moveEnd("character",a);c.select()}else{if(b.setSelectionRange){b.setSelectionRange(d,a)}}b.focus()}function set_cursor(c,b){if(document.selection){c.focus();var a=document.selection.createRange(b)}else{c.selectionStart=b;c.selectionEnd=b}}function selection_start(b){if(document.selection){b.focus();var a=document.selection.createRange()}else{return b.selectionStart}}function selection_end(b){if(document.selection){b.focus();var a=document.selection.createRange()}else{return b.selectionEnd}}function insert_img(b,a){insert_text(b," !"+a+"! ")}function insert_link(c,b){var d=selection_start(c);var a=selection_end(c);insert_text(c,"<LINK TEXT>:<"+b+"> ");selectRange(c,d+1,d+10)}function insert_bold(b){var c=selection_start(b);var a=selection_end(b);if(c==a){insert_text(b,"*TEXT*");selectRange(b,c+1,c+5)}else{set_cursor(b,a);insert_text(b,"*");set_cursor(b,c);insert_text(b,"*")}}function insert_ital(b){var c=selection_start(b);var a=selection_end(b);if(c==a){insert_text(b,"/TEXT/");selectRange(b,c+1,c+5)}else{set_cursor(b,a);insert_text(b,"/");set_cursor(b,c);insert_text(b,"/")}}function insert_undl(b){var c=selection_start(b);var a=selection_end(b);if(c==a){insert_text(b,"_TEXT_");selectRange(b,c+1,c+5)}else{set_cursor(b,a);insert_text(b,"_");set_cursor(b,c);insert_text(b,"_")}}function update_option_icon_image(a){var d=document.getElementById("option_image_icon");if(d){if(d.nodeName=="IMG"){d.src="image.php?n="+a}else{var c=d.parentNode;c.removeChild(d);var e=document.createElement("IMG");e.src="image.php?n="+a;e.id="option_image_icon";c.appendChild(e)}}var b=document.getElementById("icon_image_name");if(b){b.value=a}}function add_onload_event(a){var b=window.onload;if(typeof window.onload!="function"){window.onload=a}else{window.onload=function(){if(b){b()}a()}}}var popupLayer="";var popupTimeout;function show_popup(a){clearTimeout(popupTimeout);if(popupLayer!=""){setVisible(popupLayer,0)}setVisible(a,1);popupLayer=a}function fade_popup(a){popupTimeout=setTimeout("setVisible('"+a+"',0)",300)}function setVisible(a,b){if(document.getElementById){document.getElementById(a).style.visibility=b?"visible":"hidden"}else{if(document.layers){document.layers[a].visibility=b?"show":"hide"}else{if(document.all){document.all[a].visibility=b?"visible":"hidden"}}}}function show_expand(b,c,a,d){if(!d||d==null||d==""){d="popup"}var e=window.open(b,d,"width="+(c+10)+",height="+(a+38)+",resizable=yes,toolbar=no,menubar=no,location=no,status=no,directories=no,");e.focus()}function show_expand_scroll(b,c,a,d){if(!d||d==null||d==""){d="popup"}var e=window.open(b,d,"width="+(c+10)+",height="+(a+38)+",scrollbars=yes,resizable=yes,toolbar=no,menubar=no,location=no,status=no,directories=no,");e.focus()}function makeNumericValidator(b,a){return function(c){if(window.event){c=window.event;key=c.keyCode}else{key=c.which}pattern=new RegExp("["+(b.value.length>0?"0":"1")+"-9"+((a&&b.value.indexOf(".")<0)?".":"")+"]");str=String.fromCharCode(key);if(key&&key!=8&&!pattern.test(str)){return false}return true}}function makeVatConverter(a,c,b){return function(d){if(!b){c.value=Math.round(100*1.175*a.value)/100}else{a.value=Math.round(100*c.value/1.175)/100}return true}}function splitPostcode(c){var b=/^\s*([A-Z]{1,2}[0-9][A-Z0-9]?)\s*([0-9][ABD-HJLNP-UW-Z]{2})\s*$/i;var a=b.exec(c);if(!a){return null}return new Array(a[1],a[2])}function set_text(c,b){var a=document.getElementById(c);a.innerHTML=b}function calc_price(d,f,c,b){b=parseInt(b);for(i=0;i<d.elements.length;i++){if(d.elements[i].nodeName.toLowerCase()=="select"){if(d.elements[i].id.indexOf(f)!=0){continue}var a=d.elements[i].value.split(":");var e=parseInt(a[1]);if(a.length>1&&!isNaN(e)){b+=parseInt(a[1])}}}set_text(c,"&pound;"+pence_to_pounds(b))}function pounds_to_pence(a){a=""+a;dp=a.indexOf(".");if(dp<0){pence=a+"00"}else{if(dp==a.length-1){pence=a.replace(".","")+"00"}else{if(dp==a.length-2){pence=a.replace(".","")+"0"}else{if(dp==a.length-3){pence=a.replace(".","")}else{alert("Too many decimal places");return false}}}}return pence}function pence_to_pounds(a,b){a=""+a;if(a.length==0){pounds="0.00"}else{if(a.length==1){pounds="0.0"+a}else{if(a.length==2){pounds="0."+a}else{if(a.length==2){pounds="0."+a}else{pounds=a.substring(0,a.length-2)+"."+a.substring(a.length-2,a.length)}}}}if(b){return new Array(pounds.substring(0,pounds.length-3),pounds.substring(pounds.length-2))}else{return pounds}}var VAT_NONE=0;var VAT_ONLY=1;var VAT_ADD=2;var VAT_REV=3;var VAT_SUB=4;var VAT=0.175;function html_price(d,c,a,b){switch(c){case VAT_ONLY:d*=(VAT);break;case VAT_ADD:d*=(1+VAT);break;case VAT_REV:d*=VAT/(1+VAT);break;case VAT_SUB:d/=(1+VAT);break;case VAT_NONE:default:}if(b){return pence_to_pounds(d,b)}else{return(a?"&pound;":"")+pence_to_pounds(d)}}function install_chooser(b,a,c){if(typeof(c)=="undefined"){c=null}$(document).ready(function(){new ProductOptionChooser(b,a,c)})}function ProductOptionChooser(b,a,c){if(typeof(c)=="undefined"){c=null}this.init(b,a,c)}ProductOptionChooser.prototype={product_id:undefined,chooser_id:undefined,container:undefined,options_container:undefined,summary_container:undefined,status_container:undefined,loading_indicator:undefined,price_field:undefined,chosen:[],selected:[],selected_indices:[],init:function(c,b,d){var a=this;this.chooser_id=c;this.product_id=b;this.container=$("#"+this.chooser_id);this.options_container=this.container.find(".options");this.summary_container=this.container.find(".summary");this.status_container=this.container.find(".status");this.loading_indicator=this.container.find(".loading");this.price_field=this.summary_container.find('input[name="price"]');this.options_container.fadeTo(0,0).ajaxStop(function(){a.options_container.fadeTo(400,1)});this.summary_container.fadeTo(0,0).ajaxStop(function(){a.summary_container.fadeTo(400,1)});this.loading_indicator.fadeTo(0,0).ajaxStart(function(){a.loading_indicator.show().fadeTo(300,1)}).ajaxStop(function(){a.loading_indicator.fadeTo(300,0).hide()});this.status_container.fadeTo(0,0).ajaxStart(function(){a.status_container.fadeTo(300,1)}).ajaxStop(function(){a.status_container.fadeTo(300,0).text()});this.options_container.ajaxStart(function(){a.container.find("select,input,button").attr("disabled","disabled")}).ajaxStop(function(){a.container.find("select,input,button").removeAttr("disabled")});this.install();if(typeof(d)=="undefined"){d=null}this.changeoption(d)},install:function(){var a=this;this.container.data("chooser",this)},changeoption:function(d){var b=this;var a=b.chosen;this.status_container.text("Calculating...");if(typeof(d)=="object"){for(var c in d){a.push(parseInt(d[c]))}}else{if(d!=null){a.push(parseInt(d))}}$.getJSON("/xmlhttp/chooser.php",{pid:this.product_id,chosen:JSON.stringify(a)},function(e){b.update_chooser(e)})},install_handlers:function(){var a=this;var b=this.container.find("select");b.each(function(c){$(this).bind("change",function(){if(this.options[this.selectedIndex].disabled){this.selectedIndex=a.selected_indices[c];return false}a.changeoption(this.value)})})},ie_disable:function(){var a=this.container.find("select option[disabled]");a.each(function(b){$(this).css("color","#CCC")})},update_lists:function(o){this.options_container.empty();var f="";for(var e=0;e<o.length;e++){var d=o[e].list_id;var n=o[e].list_name;var p=o[e].options;this.selected_indices[e]=-1;f+='<div class="product_option list_'+d+'">';f+="<label>"+n+"</label>";if(p.length==1){f+='<input type="hidden" name="o[]" value="'+p[0].option_id+'">';f+=p[0].option_value}else{f+='<select name="o[]">';for(var c=0;c<p.length;c++){var b=p[c].option_id;var k=p[c].option_value;var a=p[c].option_selected?' selected="selected"':"";var l=p[c].option_disabled?' disabled="disabled"':"";var h=a+l;f+='<option value="'+b+'"'+h+">"+k+"</option>";if(p[c].option_selected){this.selected_indices[e]=c}}f+="</select>"}f+='<span class="warning"></span>';f+='<div class="clear"></div>';f+="</div>"}this.options_container.html(f);this.install_handlers();this.hide_adjustments();this.ie_disable()},update_chooser:function(a){this.options_container.empty();this.update_lists(a.lists);this.chosen=a.chosen;this.selected=a.selected;this.price_field.val(unescape("%a3")+html_price(a.price,VAT_NONE,false));this.show_adjustments(a.adjustments)},hide_adjustments:function(){$(".warning").stop().fadeTo(0,0).hide()},show_adjustments:function(d){for(var b=0;b<d.length;b++){var a=d[b];var c;if(a.cause){c=a.affected_value+" is not available with "+a.cause}else{c=a.affected_value+" is not available with the currect selection"}this.options_container.find(".list_"+a.affected_list+" .warning").stop().fadeTo(0,0).text("Option changed").show().fadeTo(800,1).pause(2000).fadeTo(1000,0)}}};