jQuery.extend({shopModel:function(){var bestelling=[];var gegevens=[];var me=this;var listeners=new Array();var $bestelformulier=$("#stap_1_bestelling");var $ids=$("#frm_ids");var $qnt=$("#frm_qnt");var $postcode=$("#frm_postcode");var $gemeente=$("#frm_gemeente");var $frm_gemeente_title=$("#frm_gemeente_title");var $forfait=$("#frm_forfait");me.isMinimumBestelling=function(){var heeftOntbijt=false;var heeftLevering=false;var ontbijten=$.shopItems.ontbijten;var bestellingKeys=[];for(var id in bestelling)bestellingKeys.push(Number(id));for(var i=0,ilen=ontbijten.length;i<ilen;i++)
{if($.inArray(ontbijten[i]["id"],bestellingKeys)>=0){heeftOntbijt=true;break}}
if(gegevens["levering_postcode"]!=undefined&&gegevens["levering_postcode"]!=""&&gegevens["levering_gemeente"]!=undefined&&gegevens["levering_gemeente"]!="")heeftLevering=true;if(heeftLevering&&heeftOntbijt){return true;}
return false;}
me.wisBestelling=function(){bestelling=[];gegevens=[];updateFormBestelling();updateFormLevering();}
me.wijzigItem=function(ID,data){if(!isNaN(ID)){if(data>0){bestelling[ID]=Number(data);}else{delete(bestelling[ID]);}
updateFormBestelling();}else{if(data.toString()!=""){gegevens[ID]=data.toString();}else{delete(gegevens[ID]);}
updateFormLevering();}
me.notify("bestellingGewijzigd",berekenTotaal());}
me.totaal=function(){return berekenTotaal().toString().replace(/\./g,',');}
me.verstuurBestelling=function(){$bestelformulier.submit();}
function delquote(str){str=str.toString();if(str.length>0){str=str.replace(/[']{1}/gi,"\'");return str.replace(/["]{1}/gi,'');}else{return str;}}
function updateFormBestelling(){var ids_str='';var qnt_str='';for(var id in bestelling)
{if(!isNaN(id))
{if(ids_str.length>0)ids_str=ids_str+",";if(qnt_str.length>0)qnt_str=qnt_str+",";ids_str=ids_str+id.toString();qnt_str=qnt_str+bestelling[id].toString();}}
$ids.val(ids_str);$qnt.val(qnt_str);}
function updateFormLevering(){$forfait.val('');$postcode.val('');$gemeente.val('');for(var id in gegevens)
{switch(id)
{case'forfait':$forfait.val(gegevens[id].toString());break;case'levering_postcode':$postcode.val(gegevens[id].toString());break;case'levering_gemeente':$gemeente.val(gegevens[id].toString());break;}}}
berekenTotaal=function(){var totaal=0;var aantal;for(var bestelItem in bestelling)
{var ontbijten=$.shopItems.ontbijten;for(var i=0,ilen=ontbijten.length;i<ilen;i++)
{if(ontbijten[i]["id"]==bestelItem)
{aantal=bestelling[bestelItem];prijs_enkel=(ontbijten[i]["price_single"]=="")?0:parseFloat(ontbijten[i]["price_single"].replace(/,/g,'.'));prijs_dubbel=(ontbijten[i]["price_double"]=="")?0:parseFloat(ontbijten[i]["price_double"].replace(/,/g,'.'));if(aantal==1){totaal+=prijs_enkel;}else if(aantal==2){if(prijs_dubbel>0){totaal+=prijs_dubbel;}else{totaal+=(2*prijs_enkel);}}else{if(prijs_enkel>0&&prijs_dubbel>0)
{var prijsExtra=(prijs_dubbel-prijs_enkel);totaal+=(prijs_enkel+((aantal-1)*prijsExtra));}else{totaal+=(aantal*prijs_enkel);}}}}
var supplementen=$.shopItems.supplementen;for(var i=0,ilen=supplementen.length;i<ilen;i++)
{if(supplementen[i]["id"]==bestelItem)
{aantal=bestelling[bestelItem];prijs=(supplementen[i]["price"]=="")?0:parseFloat(supplementen[i]["price"].replace(/,/g,'.'));totaal+=(aantal*prijs);}}}
for(var info in gegevens)
{if(info=="leveren")
{if(gegevens[info]=='true'){totaal+=(gegevens["forfait"]!=undefined)?parseFloat(gegevens["forfait"]):0;}}}
return totaal;}
isEmail=function(email){var filter=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;if(!filter.test(email)){return false;}
return true;}
this.addListener=function(list){listeners.push(list);}
me.notify=function(type){var myargs=arguments;$.each(listeners,function(i){if(myargs.length==2){if(typeof(listeners[i][type])=="function")listeners[i][type](myargs[1]);}else{if(typeof(listeners[i][type])=="function")listeners[i][type]();}});}},shopModelListener:function(list){if(!list)list={};return $.extend({bestellingGewijzigd:function(){},emailNietGeldig:function(){},loadBegin:function(){},loadFinish:function(){},loadItem:function(){},loadFail:function(){}},list);}});;jQuery.extend({shopView:function(){var me=this;var listeners=new Array();var $logo=$(".logo");var $fotos=$(".photo");var $shop=$(".shop");var $ontbijten=$("ul.ontbijten");var $supplementen=$("ul.supplementen");var $ontbijt_aantallen=$("select",$ontbijten);var $supplement_aantallen=$("select",$supplementen);var $gemeente=$("#gemeente");var $reset_gemeente=$("#reset-gemeente");var $totaal=$("span.price");var $forfait=$("#forfait");var $levering_boodschap=$("#levering-boodschap");var $bestel=$("#bestel");var $bestelling_leegmaken=$("#bestelling_leegmaken");var $screen=$(".screen");var $didyouknow=$("#didyouknow");var isIE=($.browser.msie);var $nav=$(".nav-ul");$logo.html('<a href="'+site_url+'"><img src="'+site_url+'images/site/logo_lepari.jpg" width="276" height="142" border="0" /></a>');$("li:first .nav-description",$nav).animate({height:"toggle"},400);$("li:first",$nav).addClass("active");$("li:first h2",$nav).addClass("active");$fotos.show();currOntbijtID=$("li:first",$nav).attr("id").split("-")[1];$("li",$nav).bind('click',function(e){var $target=$(e.target);var $li=($target.is("li"))?$target:$target.parents("li");var id=$li.attr("id").split("-")[1];me.notify("ontbijtGeklikt",id);});$(".nav-center h1").remove();$("li:first",$didyouknow).show();$("li a.next",$didyouknow).bind('click',function(e){var $curr=$(e.target).parents("li");var $next;if($("li",$didyouknow).index($curr)<($("li",$didyouknow).size()-1)){$next=$curr.next();}else{$next=$("li:first",$didyouknow);}
$curr.hide();$next.show();});$("li a.prev",$didyouknow).bind('click',function(e){var $curr=$(e.target).parents("li");var $prev;if($("li",$didyouknow).index($curr)>0){$prev=$curr.prev();}else{$prev=$("li:last",$didyouknow);}
$curr.hide();$prev.show();});$bestel.bind('click',function(){me.notify("bestellenGeklikt");});var acc_options={fillSpace:true};if($.browser.msie){acc_options=$.extend(acc_options,{autoHeight:false,animated:false});}
$shop.accordion(acc_options).bind('accordionchange',function(event,ui){$(".ui-accordion-content").scrollTop(0);Cufon.refresh('.shop h3 a');});Cufon.replace('.shop h3 a');Cufon.replace('span.name a, span.item-title, .nav-title h2, #didyouknow h3',{letterSpacing:'-0.1em',color:'#66604b'});Cufon.replace('.nav-title h2.active, #didyouknow h2, #dialoogWachten h3, #dialoogVerstuurd h3',{letterSpacing:'-0.1em',color:'#6c270c'});$ontbijt_aantallen.val(0).bind('change',function(e){var $this=$(e.target);var aantal=Number($("option:selected",$this).attr("value"));var ontbijtID=Number($this.attr("name").split("-")[1]);me.notify("ontbijtAantal",{aantal:aantal,ID:ontbijtID});me.checkCombinatieOntbijten();me.notify("ontbijtGeklikt",ontbijtID);me.notify("updateBestelStatus");});$("a.ontbijt-link").bind('click',function(e){var $this;if($(e.target).is("a")){$this=$(e.target);}else{$this=$(e.target).parents("a");}
var id=$this.attr("ontbijt_id");me.notify("ontbijtGeklikt",id);return false;});$supplement_aantallen.val(0).bind('change',function(e){var $this=$(e.target);var aantal=Number($("option:selected",$this).attr("value"));var suppID=Number($this.attr("name").split("-")[1]);me.notify("supplementAantal",{aantal:aantal,ID:suppID});});$bestelling_leegmaken.bind('click',function(){me.bestellingWissen();});$("#gemeente").autocomplete($.shopCities.gemeentes,{minChars:1,formatItem:function(row,i,max){return row.gemeente;},formatMatch:function(row,i,max){return row.gemeente;},formatResult:function(row){return row.gemeente;},matchContains:true});$("#gemeente").result(function(event,data,formatted){if(data){var forfait=parseFloat(data.forfait.replace(/,/g,'.'));if(forfait==0){$levering_boodschap.html("Gratis levering");}else{$levering_boodschap.html("Levering forfait: &euro; "+data.forfait);}
$reset_gemeente.removeAttr("disabled");$gemeente.attr("disabled","disabled");$forfait.val(data.forfait);$("#levering-postcode").attr("value",data.postcode).trigger('change');$("#levering-gemeente").attr("value",data.gemeente_naam).trigger('change');me.notify("gemeenteGewijzigd",{forfait:forfait,postcode:data.postcode,gemeente:data.gemeente_naam});me.notify("leveringGewijzigd",true);me.notify("updateBestelStatus");}});$reset_gemeente.bind('click',function(){$gemeente.val("");$reset_gemeente.attr("disabled","disabled");$levering_boodschap.html("(vul gemeente of postcode in)");$gemeente.removeAttr("disabled");me.notify("gemeenteGewijzigd",{forfait:parseFloat("0"),postcode:"",gemeente:""});me.notify("updateBestelStatus");});$bestelling_leegmaken.removeAttr("disabled");$bestel.attr("disabled","disabled");$(window).resize(function(){var $doc=$(window);var $body=$("body");var doc_width=$doc.width();var doc_height=$doc.height();if(doc_width<1024||doc_height<566){if($body.css("overflow")!="scroll")$body.css("overflow","scroll");}else{if($body.css("overflow")!="hidden")$body.css("overflow","hidden");}}).trigger('resize');me.bestellingWissen=function()
{$reset_gemeente.trigger('click');me.wisOntbijten();me.wisSupplementen();me.wisLevering();me.totaal(0);me.notify("wisBestelling");me.checkCombinatieOntbijten();me.notify("updateBestelStatus");}
me.dialoogBestelStatus=function(status){if($dialoogBestel){if(status===true){$dialoogBestel.removeAttr("disabled").removeClass("ui-state-disabled");}else{$dialoogBestel.attr("disabled","disabled").addClass("ui-state-disabled");}}}
me.wisOntbijten=function()
{for(var i=0,ilen=$ontbijt_aantallen.size();i<ilen;i++)
{$ontbijt_aantallen.eq(i).val("0");}}
me.wisSupplementen=function()
{for(var i=0,ilen=$supplement_aantallen.size();i<ilen;i++)
{$supplement_aantallen.eq(i).val("0");}}
me.wisLevering=function()
{$gemeente.val("");}
me.totaal=function(bedrag)
{$totaal.html(bedrag.toString().replace(/\./g,','));}
me.maakOverzicht=function(overzicht)
{$bevestiging_info.html($(overzicht));}
me.zetBestelStatus=function(status)
{if(status===true){$bestel.removeAttr("disabled");}else{$bestel.attr("disabled","disabled");}}
me.checkCombinatieOntbijten=function()
{var combinatieMogelijk=false;for(var i=0,ilen=$ontbijt_aantallen.size();i<ilen;i++)
{if(!$ontbijt_aantallen.eq(i).hasClass("enkel-gecombineerd")){if(Number($ontbijt_aantallen.eq(i).val())>0){combinatieMogelijk=true;break;}}}
if(combinatieMogelijk)
{$("select.enkel-gecombineerd").removeAttr("disabled");}else{$("select.enkel-gecombineerd").each(function(n){var $this=$(this);var ontbijtID=Number($this.attr("name").split("-")[1]);me.notify("ontbijtAantal",{aantal:0,ID:ontbijtID});$this.val("0");}).attr("disabled","disabled");}}
me.highlightOntbijt=function(id){var $li=$("#nav-"+id);var $desc=$li.find(".nav-description")
var $title=$li.find(".nav-title h2");var cat_id=Number($li.attr("cat"));if(id!=currOntbijtID)
{currOntbijtID=id;$("li.active .nav-description",$nav).each(function(n){$this=$(this);if(!isIE){$this.animate({height:"toggle"},400);}else{$this.animate({height:"toggle"},0);}
$this.parent().removeClass("active");$this.parent().find(".nav-title h2").removeClass("active");});if(!isIE){$desc.animate({height:"toggle"},400);}else{$desc.animate({height:"toggle"},0);}
$li.addClass("active");$title.addClass("active");Cufon.replace('.nav-title h2',{letterSpacing:'-0.1em',color:'#66604b'});Cufon.replace('.nav-title h2.active',{letterSpacing:'-0.1em',color:'#6c270c'});if(cat_id!=6){var $photo=$("#photo-"+id);var $photos=$(".photo-container");var index=$("ul li",$photos).index($photo);var $ontbijten=$(".breakfast-photos");if(!isIE)
{$ontbijten.animate({opacity:0},400,function(){$screen.animate({top:"25px"},400,function(){$photos.css("top",(0-(index*274)));$screen.animate({top:"-210px"},400,function(){$ontbijten.css("top",-(index*240)).animate({opacity:1},400);});});});}else{$photos.css("top",(0-(index*274)));$ontbijten.css("top",-(index*240));}}}}
me.addListener=function(list){listeners.push(list);}
me.notify=function(type){var myargs=arguments;$.each(listeners,function(i){if(myargs.length==2){if(typeof(listeners[i][type])=="function")listeners[i][type](myargs[1]);}else if(myargs.length==3){if(typeof(listeners[i][type])=="function")listeners[i][type](myargs[1],myargs[2]);}else{if(typeof(listeners[i][type])=="function")listeners[i][type]();}});}},shopViewListener:function(list){if(!list)list={};return $.extend({wisBestelling:function(){},bestellenGeklikt:function(){},ontbijtAantal:function(){},leveringGewijzigd:function(){},supplementAantal:function(){},gemeenteGewijzigd:function(){},ontbijtGeklikt:function(){}},list);}});jQuery.extend({shopControl:function(model,view){var vlist=$.shopViewListener({wisBestelling:function(){model.wisBestelling();},bestellenGeklikt:function(){model.verstuurBestelling();},ontbijtAantal:function(gegevens){model.wijzigItem(gegevens.ID,gegevens.aantal);},supplementAantal:function(gegevens){model.wijzigItem(gegevens.ID,gegevens.aantal)},leveringGewijzigd:function(leveren){model.wijzigItem("leveren",leveren);},gemeenteGewijzigd:function(data){model.wijzigItem("forfait",data.forfait);model.wijzigItem("levering_postcode",data.postcode);model.wijzigItem("levering_gemeente",data.gemeente);},updateBestelStatus:function(){(model.isMinimumBestelling())?view.zetBestelStatus(true):view.zetBestelStatus(false);},ontbijtGeklikt:function(id){view.highlightOntbijt(id);}});view.addListener(vlist);var mlist=$.shopModelListener({bestellingGewijzigd:function(bedrag){view.totaal(bedrag);},emailNietGeldig:function(){view.emailStatus(true);},loadBegin:function(){},loadFinish:function(){},loadItem:function(){},loadFail:function(){}});model.addListener(mlist);}});;$(document).ready(function(){var myModel=new $.shopModel();var myView=new $.shopView();var myControl=new $.shopControl(myModel,myView);});
