if(console==undefined){var console={log:function(){}}}var $D=YAHOO.util.Dom;var $=$D.get;var $E=YAHOO.util.Event;var $A=YAHOO.util.Anim;var $ColorA=YAHOO.util.ColorAnim;var $C=YAHOO.util.Connect;var LinseOptikeren=(function(){var C={};var B="#FFE382";var A="#E26856";function D(){var E=$("search-keywords");if(E&&E.value!=""){E._default=E.value;$E.addListener(E,"focus",function(){if(this.value==this._default){this.value=""}});$E.addListener(E,"blur",function(){if(this.value==""){this.value=this._default}})}}C.init=function(){D();var F=$("handlekurv");if(F){C.minikurv=new LinseOptikeren.MiniKurv(F)}var E=document.body.getAttribute("id");switch(E){case"productinfoBody":LinseOptikeren.Produktside.init();break;case"checkoutBody":LinseOptikeren.Kasse.init();break;case"checkoutpaymentBody":LinseOptikeren.Betaling.init();break}};C.belysElement=function(G,I){var F=(I?A:B);var H=$D.getStyle(G,"backgroundColor");var E=new $ColorA(G,{backgroundColor:{to:F}},0.3);E.onComplete.subscribe(function(){var J=new $ColorA(G,{backgroundColor:{to:H}},0.3);J.animate()});E.animate()};C.formaterTall=function(E){if(E>1000){return(""+E).replace(/^(\d+)(\d{3})$/,"$1.$2")}return E};return C})();LinseOptikeren.MiniKurv=function(A){if(A){this.init(A)}};LinseOptikeren.MiniKurv.prototype=(function(){function B(C){return C.getAttribute("name")=="products_id[]"}function A(C){return(C.nodeName.match(/input|select/i)&&C.getAttribute("name").match(/^id/))}return{init:function(I){if(I.getElementsByTagName("table").length==0){return }var C=[];var E=I.getElementsByTagName("tfoot")[0].getElementsByTagName("td")[0];var G=function(K){var J=$D.getElementsBy(B,"input",K)[0].getAttribute("value");C[J]=K};var H=function(){var M=0;for(var K in C){var N=$D.getElementsByClassName("pris","span",C[K])[0];var L=C[K].getElementsByTagName("select")[0];var J=L.options[L.selectedIndex].value;M+=parseInt(/\d+\.?\d*/.exec(N.innerHTML)[0])*J}E.innerHTML=E.innerHTML.replace(/\d+\.?\d*/,LinseOptikeren.formaterTall(M))};this.hentAntallProdukter=function(){var K=0;for(var J in C){K++}return K};this.oppdaterProdukt=function(L,Q,K){var J=C[L];var P=$D.getElementsBy(A,"input",J);for(var M=0;M<P.length;M++){var N=/id\[.+?\]\[(\d+)\]/.exec(P[M].getAttribute("name"))[1];if(P[M].value!=Q[N]){P[M].setAttribute("value",Q[N])}}var O=J.getElementsByTagName("select")[0];O.selectedIndex=K;H()};var D=I.getElementsByTagName("tbody")[0].getElementsByTagName("tr");$D.batch(D,G);var F=$("knappTilKasse");$E.addListener(F,"click",function(){this.form.setAttribute("action","/kasse")})}}})();LinseOptikeren.Produktside=(function(){var produktID;var prisInfo;var spesifikasjoner;var kolonneTitler;var antallVelgere;var eskeStr;var totalantall;var totalpris;function oppdaterPrisInfo(){var str=eskeStr.options[eskeStr.selectedIndex].value;var grunnpris=0;if(prisInfo.prices&&prisInfo.prices[str]){grunnpris=parseFloat(prisInfo.prices[str])}else{var info=eskeStr.options[eskeStr.selectedIndex].firstChild.nodeValue;grunnpris=parseFloat(/(\d+(?:,\d+)?)[^0-9]*$/.exec(info)[1]);grunnpris=grunnpris/1.25}if(grunnpris==0||grunnpris==NaN){return }if(antallVelgere[1].disabled){var antall=parseInt(antallVelgere[0].options[antallVelgere[0].selectedIndex].value)}else{var antall=parseInt(antallVelgere[0].options[antallVelgere[0].selectedIndex].value)+parseInt(antallVelgere[1].options[antallVelgere[1].selectedIndex].value)}var rabatt=0;if(prisInfo.discounts&&prisInfo.discounts.length>0){for(var i=0;i<prisInfo.discounts.length;i++){if(antall>=prisInfo.discounts[i].quantity){rabatt=parseFloat(prisInfo.discounts[i].discount);break}}}if(rabatt>0){grunnpris=Math.round(grunnpris*((100-rabatt)/100))}grunnpris=Math.round(grunnpris*1.25);grunnpris=Math.round(grunnpris*antall);var infotekst="Totalt "+antall+" eske"+(antall==1?"":"r");if(rabatt>0){infotekst+=" <strong>("+parseInt(rabatt)+"% rabatt)</strong>"}totalantall.innerHTML=infotekst;totalpris.firstChild.nodeValue=totalpris.firstChild.nodeValue.replace(/\d+\.?\d*/,LinseOptikeren.formaterTall(grunnpris));LinseOptikeren.belysElement(totalpris.parentNode)}function oppdaterSkjema(enkelt_oye){var menyer=spesifikasjoner.getElementsByTagName("tbody")[0].getElementsByTagName("select");for(var mi=0;mi<menyer.length;mi++){if(menyer[mi]._alwaysDisabled){continue}if(menyer[mi].parentNode.className.indexOf("hoyreoye")!=-1){menyer[mi].disabled=(enkelt_oye?true:false);kolonneTitler.style.visibility=(enkelt_oye?"hidden":"visible")}}}function initAttributter(){var menyer=spesifikasjoner.getElementsByTagName("tbody")[0].getElementsByTagName("select");for(var mi=0;mi<menyer.length;mi++){menyer[mi]._alwaysDisabled=(menyer[mi].getAttribute("disabled")=="disabled")}}function initPrisInfo(){var tilbakekall={success:function(xhr){if(xhr.status==200){prisInfo=eval("("+xhr.responseText+")")}}};$C.asyncRequest("GET","/xmlrpc.php?action=lookup_prices&product_id="+produktID,tilbakekall)}return{init:function(){produktID=$("product_id").value;totalpris=$("totalpris");totalantall=$("totalantall");var oyeVelger=$("antall-oyne-velger");if(oyeVelger){spesifikasjoner=oyeVelger.parentNode.parentNode;kolonneTitler=$("kolonnetitler");var valg=oyeVelger.getElementsByTagName("input");for(var i=0;i<valg.length;i++){$E.addListener(valg[i],"click",function(){oppdaterSkjema(this.value=="e");oppdaterPrisInfo()})}}antallVelgere=$(["antall-venstre","antall-hoyre"]);if(antallVelgere[0]&&antallVelgere[1]){$E.addListener(antallVelgere,"change",oppdaterPrisInfo)}eskeStr=$("eskestr");$E.addListener(eskeStr,"change",oppdaterPrisInfo);initAttributter();initPrisInfo()}}})();LinseOptikeren.Kasse=(function(){var PRIS_RE=/\d+\.?\d*/;var status;var statusTimeout;function oppdaterPris(e){if(this.selectedIndex==this._originalIndex){$E.stopEvent(e);return }if(this.selectedIndex==0){if(!confirm("Er du sikker på at du ønsker slette dette produktet fra handlekurven din?")){$E.stopEvent(e);this.selectedIndex=this._originalIndex;return }}var info_re=/^(\d+).+?(\d+)/;var info=info_re.exec(this.options[this.selectedIndex].firstChild.nodeValue);var ny_pris=0;if(info){ny_pris=(parseInt(info[1])*parseInt(info[2]))}var pris=$D.getNextSiblingBy(this,function(el){return $D.hasClass(el,"pris")});pris.innerHTML=pris.innerHTML.replace(/\d+\.?\d*/,LinseOptikeren.formaterTall(ny_pris));oppdaterProdukt(e)}function oppdaterProdukt(e){var skjema=$E.getTarget(e).form;var data=$C.setForm(skjema);var tilbakekall={success:oppdaterSkjema,failure:oppdaterSkjema,argument:{meny:$E.getTarget(e)}};$C.asyncRequest("POST",skjema.getAttribute("action"),tilbakekall,data);var felt=hentMenyNavn($E.getTarget(e));status.innerHTML="Oppdaterer "+felt.toLowerCase()+"&hellip;"}function oppdaterSkjema(xhr){var meny=xhr.argument.meny;var erAntallMeny=$D.hasClass(meny,"antall-velger");var produkt=$D.getAncestorByTagName(meny,"li");var produktnavn=produkt.getElementsByTagName("h2")[0].firstChild.innerHTML;var produktantall=(function(){if(erAntallMeny){return meny.options[meny.selectedIndex].value}var antallMeny=$D.getElementsByClassName("antall-velger","select",produkt)[0];return antallMeny.options[antallMeny.selectedIndex].value})();if(status.innerHTML!=""){clearTimeout(statusTimeout)}if(xhr.status==200){meny._originalIndex=meny.selectedIndex;if(erAntallMeny&&meny.selectedIndex==0){fjernProdukt(produkt);status.innerHTML="<strong>"+produktnavn+"</strong> ble slettet fra din handlekurv."}else{var valg=meny.options[meny.selectedIndex];var info={felt:hentMenyNavn(meny),verdi:(erAntallMeny?valg.value:valg.innerHTML),produkt:produktnavn,antall:produktantall+" linseeske"+(produktantall>1?"r":"")};if(erAntallMeny){var statustekst="<em>{felt}</em> ble endret til {verdi} for {produkt}."}else{var statustekst="<em>{felt}</em> ble endret til {verdi} for {antall}."}status.innerHTML=YAHOO.lang.substitute(statustekst,info)}var ordreinfo=eval("("+xhr.responseText+")");if(ordreinfo){if(ordreinfo.shipping){oppdaterPrisFelt("fraktkostnad",ordreinfo.shipping)}if(ordreinfo.discount){oppdaterPrisFelt("rabatt",ordreinfo.discount)}}LinseOptikeren.belysElement(status);statusTimeout=setTimeout(tomStatus,5000)}else{meny.selectedIndex=meny._originalIndex;status.innerHTML="Oppdatering av produktet mislyktes, vennligst prøv igjen.";LinseOptikeren.belysElement(status,true);statusTimeout=setTimeout(tomStatus,5000)}}function hentPrisFraFelt(felt){var felt=$(felt);if(!felt){return 0}var tekst=felt.innerHTML.replace(/\.|\s/,"");return parseInt(/\d+/.exec(tekst)[0])}function oppdaterPrisFelt(felt,pris){var felt=$(felt);if(felt){var gml_pris=hentPrisFraFelt(felt);if(gml_pris!=parseInt(pris)){felt.innerHTML=felt.innerHTML.replace(PRIS_RE,parseInt(pris));LinseOptikeren.belysElement(felt)}}oppdaterOppsummering()}function oppdaterOppsummering(){var sum=0;var priser=$D.getElementsByClassName("pris","span",$("handlekurvListe"));if(priser.length>0){for(var i=0;priser[i];i++){var pris=priser[i].firstChild.nodeValue.replace(/\./,"");sum+=parseInt(/\d+/.exec(pris)[0])}}var rabatt=hentPrisFraFelt("rabatt");var frakt=hentPrisFraFelt("fraktkostnad");$("subtotal").innerHTML=$("subtotal").innerHTML.replace(PRIS_RE,LinseOptikeren.formaterTall(sum));$("totalsum").innerHTML=$("totalsum").innerHTML.replace(PRIS_RE,LinseOptikeren.formaterTall(sum-rabatt+frakt))}function fjernProdukt(produkt){var fjerner=new $ColorA(produkt,{opacity:{to:0}},0.3);fjerner.onComplete.subscribe(function(){var liste=produkt.parentNode;liste.removeChild(produkt);var produkter=liste.getElementsByTagName("li");for(var pi=0;pi<produkter.length;pi++){if(pi%2==0){$D.replaceClass(produkter[pi],"odde","par")}else{$D.replaceClass(produkter[pi],"par","odde")}}});fjerner.animate()}function hentMenyNavn(meny){if($D.hasClass(meny,"antall-velger")){return"Antall"}var label=$D.getPreviousSiblingBy(meny,function(el){return(el.nodeName.toLowerCase()=="label")});return label.innerHTML.replace(/:/,"")}function tomStatus(){$("statusoppdatering").innerHTML=""}return{init:function(){$D.setStyle($("oppdater-kurv"),"display","none");status=$("statusoppdatering");var menyer=$("handlekurvListe").getElementsByTagName("select");for(var i=0;i<menyer.length;i++){menyer[i]._originalIndex=menyer[i].selectedIndex;if(menyer[i].className.indexOf("antall-velger")!=-1){$E.addListener(menyer[i],"change",oppdaterPris)}else{$E.addListener(menyer[i],"change",oppdaterProdukt)}}var postnr=$("postcode");if(postnr){$E.addListener(postnr,"keyup",function(){if(this.value.length==4){var tilbakekall={success:function(xhr){if(xhr.status==200){var info=eval("("+xhr.responseText+")");var sted=$("city");sted.innerHTML=(info.city?info.city:"Ukjent postnr.")}}};var data="action=lookup_city&postal_code="+this.value;$C.asyncRequest("GET","/xmlrpc.php?"+data,tilbakekall)}else{$("city").innerHTML=""}})}}}})();LinseOptikeren.Betaling=(function(){var A=null;function B(E){var D=$E.getTarget(E);if(!D.checked){return }var C=D.value;$D.setStyle(A+"info","display","none");$D.setStyle(C+"info","display","block");A=C}return{init:function(){var C=$D.get("betalingsvelger");if(!C){return }var F=C.getElementsByTagName("input");var E=null;for(var D=0;E=F[D];D++){if(E.checked){A=E.value}$D.setStyle(E.value+"info","display",(E.checked?"block":"none"));$E.addListener(E,"change",B)}}}})();$E.onDOMReady(LinseOptikeren.init)