/*************************************************************************
 *
 * Ontwikkeld door: Creative Dimension (http://www.creativedimension.be) 
 * in opdracht van Cheaplenses. 
 * 
 * Niets van deze code mag gekopieerd worden zonder de schriftelijke
 * toestemming van Creative Dimension. 
 *
 ************************************************************************/
 
$(document).ready(function() {
   /**
    * Winkelwagen gegevens laden
    */
   WinkelwagenSamenvatting();
           
   /**
    * Artikelpagina foto vergroten met fancybox
    */  
   if($("#artikel_foto a").length>0) {
      $("#artikel_foto a").fancybox();
   }
   
   if($("a.iframe").length>0) {
      $("a.iframe").fancybox({'frameWidth': 665, 'frameHeight': 525});
   }   
   
   /**
    * Scroll fix loader
    */       
   $(window).scroll(function() {
      var iHoogteContainer = $(window).height();
      var iBreedteContainer = $(window).width();

      $("#loader_content").css('top', ((iHoogteContainer - $("#loader_content").height()) / 2) + $(window).scrollTop() + "px");
      $("#loader_content").css('left', ((iBreedteContainer - $("#loader_content").width()) / 2) + $(window).scrollLeft() + "px");
      $("#loader_content_border").css('top', ((iHoogteContainer - $("#loader_content_border").height()) / 2) + $(window).scrollTop() + "px");
      $("#loader_content_border").css('left', ((iBreedteContainer - $("#loader_content_border").width()) / 2) + $(window).scrollLeft() + "px");  
   });
   
   
   /**
    * PNG fix
    */       
   $(".pngfix").ifixpng();
     
   /**
    * Home kaders
    */       
   $("div#home_kaders div.kader").mouseover(function() {
      $(this).addClass("hover");
   }).mouseout(function() {
      $(this).removeClass("hover");
   }).click(function() {
      window.location = "/" + $("a", this).attr("href");
   }); 
   
   /**
    * Artikellijst kaders
    */
   $("div.artikellijst_artikels_apart").mouseover(function() {
      $(this).addClass("hover");
   }).mouseout(function() {
      $(this).removeClass("hover");
   }).click(function() {
      window.location = $("a", this).attr("href");
   }); 
   
   /**
    * Homepage banners automatisch afspelen
    */       
   if($("#home_foto a").length>0) {
      setInterval(function() {
         var iTotaal = $("#home_foto a").length;
         var iHuidig = parseInt($("#huidigebanner").html());
         var iNieuw = iHuidig + 1;

         if(iNieuw > iTotaal) {
            iNieuw = 1;
         }
         
         HomepageFoto(iNieuw);
         
         $("#huidigebanner").html(iNieuw);
      }, 5000);
   }
   
   /**
    * Returnknop werkend maken als bezoeker in zoekveld zit
    */       
   if($("input#zoeken").keypress(function(e){
      if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {  
         Zoeken();
      }      
   }));
   
   /**
    * Returnknop werkend maken als bezoeker in inloggen velden zitten
    */       
   if($("input[name='login_email'], input[name='login_wachtwoord']").keypress(function(e){
      if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {  
         Inloggen($("input[name='stap']").val());
      }      
   }));
   
   /**
    * Returnknop werkend maken als bezoeker in wachtwoord vergeten veld zit
    */       
   if($("input[name='wachtwoord_email']").keypress(function(e){
      if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {  
         WachtwoordVergeten();
      }      
   })); 
   
   /**
    * Returnknop werkend maken als bezoeker in nieuwsbrief velden zitten
    */       
   if($("input[name='email_nieuwsbrief'], input[name='naam_nieuwsbrief']").keypress(function(e){
      if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {  
         InschrijvenNieuwsbrief();
      }      
   }));     
});

/**
 * Blurveld (automatisch invullen)
 */ 
function BlurVeld(inhoud, veldid) {
   if($("#" + veldid).val()=="") {
      $("#" + veldid).val(inhoud);
   }
} 

/**
 * Blurveld (automatisch leegmaken)
 */ 
function FocusVeld(inhoud, veldid) {
   if($("#" + veldid).val()==inhoud) {
      $("#" + veldid).val("");
   }
}

/**
 * Nakijken of het om een geldig e-mail adres gaat
 * 
 * @param   p_sEmail    Email  
 */ 
function CheckEmail(p_sEmail) {
   var sReg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(sReg.test(p_sEmail) == false) {
      return false;
   } else {
      return true;
   }
}

/**
 * Veranderd de homepage foto
 * 
 * @param   p_iId   interger     Nummer van de foto die getoond moet worden
 */ 
function HomepageFoto(p_iId) {
   $("#home_foto a").fadeOut("slow");
   $("#home_foto a#foto" + p_iId).fadeIn("slow");
   $("#huidigebanner").html(p_iId);
}

/**
 * Lid toevoegen aan nieuwbrief
 */ 
function InschrijvenNieuwsbrief() {
   Loader('tonen');
   
   var aVelden = {};
   aVelden['naam'] = $("input[name='naam_nieuwsbrief']").val();
   aVelden['email'] = $("input[name='email_nieuwsbrief']").val();
   
   if(!CheckEmail(aVelden['email'])) {
      $("#loaderimage").hide();

      var sHtml = "";
      sHtml += '<h1>E-mail adres</h1>';
      sHtml += '<p>U heeft geen geldig e-mail adres ingegeven.</p>';
      
      $("#loader_content").append(sHtml);   
   } else {
      $.post("/ajax/NieuwsbriefInschrijven", aVelden, function(aReturn) {
         if(aReturn['bericht']!='') {
            $("#loaderimage").hide();
   
            var sHtml = "";
            sHtml += '<h1>' + aReturn['header'] + '</h1>';
            sHtml += '<p>' + aReturn['bericht'] + '</p>';
            
            $("#loader_content").append(sHtml);
            
            $("input[name='naam_nieuwsbrief']").val("");
            $("input[name='email_nieuwsbrief']").val("");
         }
      }, 'json');
   }
}

/**
 * Loader + positionering van de container.
 * 
 * @param   string   p_sActie    Actief: tonen/verbergen
 */
function Loader(p_sActie) {
   $("input").blur();
   
   if(p_sActie=='tonen') {
      var sHtml = "";
      sHtml += '<div id="wrapper" class="fixdrag">';
   	sHtml += '<div id="loader"></div>';
   	sHtml += '<div id="loader_content_border"></div>';
   	sHtml += '<div id="loader_content">';
   	sHtml += '<a href="javascript:Loader(0)"><img id="sluitimage" src="/images/fancy_closebox.png" /></a>';
   	sHtml += '<p style="text-align: center; margin-top: 70px;" id="loaderimage"><img src="/images/loader.gif" alt="" /></p>';
      sHtml += '</div>';
      sHtml += '</div>';
   	
   	// Uiterlijk
   	$("body").append(sHtml);
      $("#fancy_overlay").css('opacity', '0.4').fadeIn("slow");
      $("#loader_content_border").css('opacity', '0.8').fadeIn("slow");
      
      // Positie
      var iHoogteContainer = $(window).height();
      var iBreedteContainer = $(window).width();
      
      $("#loader_content").css('top', ((iHoogteContainer - $("#loader_content").height()) / 2) + $(window).scrollTop() + "px");
      $("#loader_content").css('left', ((iBreedteContainer - $("#loader_content").width()) / 2) + $(window).scrollLeft() + "px");
      $("#loader_content_border").css('top', ((iHoogteContainer - $("#loader_content_border").height()) / 2) + $(window).scrollTop() + "px");
      $("#loader_content_border").css('left', ((iBreedteContainer - $("#loader_content_border").width()) / 2) + $(window).scrollLeft() + "px");       
   } else {
      $("div#wrapper").fadeOut("slow", function() {
         $("div#wrapper").remove();
      });
      
      $("div#fancy_overlay").fadeOut("slow");
   }
} 

/**
 * Haalt alle gegevens voor dit artikel op en stuurt dit door naar de AJAX controller
 * 
 * @param   integer     p_iId    Artikel ID  
 */
function ToevoegenWinkelwagen(p_iId) {  
   Loader("tonen");
   
   var sEigenschappen = "";
   var bCorrect = 1;
   var iIsNul = 0;
   
   $("select.eigenschap").each(function() {
      if(bCorrect==1 && this.value==0) {
         bCorrect = 0;
         iIsNul = this.id;
      }
      
      sEigenschappen += "#" + this.name + ":" + this.value;   
   });

   if(bCorrect==0) {
      $("#loaderimage").hide();

      var sHtml = "";
      sHtml += '<h1>Fout</h1>';
      sHtml += '<p>U heeft geen ' + iIsNul + ' geselecteerd.</p>';
      $("#loader_content").append(sHtml);
   } else {
      var aVelden = {};
      aVelden['eigenschappen'] = sEigenschappen;
      aVelden['aantal'] = $("select[name='aantal']").val();
      aVelden['artikel'] = p_iId;
   
      $.post("/ajax/ToevoegenWinkelwagen", aVelden, function(aReturn) {
         if(aReturn['bericht']!='') {
            $("#loaderimage").hide();
   
            var sHtml = "";
            sHtml += '<h1>' + aReturn['header'] + '</h1>';
            sHtml += '<p>' + aReturn['bericht'] + '</p>';
            
            $("#loader_content").append(sHtml);
            
            WinkelwagenSamenvatting();
         }
      }, 'json');
   }
} 

/**
 * Voegt een complete order toe aan de winkelwagen
 * 
 * @param   integer     p_iId    Order ID  
 */
function BestellingWinkelwagen(p_iId) {  
   Loader("tonen");
   
   $.post("/ajax/BestellingWinkelwagen", {id: p_iId}, function(aReturn) {
      if(aReturn['bericht']!='') {
         $("#loaderimage").hide();

         var sHtml = "";
         sHtml += '<h1>' + aReturn['header'] + '</h1>';
         sHtml += '<p>' + aReturn['bericht'] + '</p>';
         
         $("#loader_content").append(sHtml);
         
         WinkelwagenSamenvatting();
      }
   }, 'json');
}

/**
 * Veranderd of een klant verzending met koerierdienst wil
 */ 
function Koerierdienst() {
   var bSoort = $("input[name='koerier']:checked").val();
   if(bSoort=="on") {
      bSoort = 1;
   } else {
      bSoort = 0;
   }

   Loader("tonen");
   $.post("/ajax/Koerierdienst", {waarde: bSoort}, function(aReturn) {
      $("#winkelwagen_inhoud").load("/winkelwagen/WinkelwagenInhoud", function() {
         Loader("verbergen");
         WinkelwagenSamenvatting();
      });
   }, 'json');   
} 

/**
 * Verwijderd een waarde uit de winkelwagen session
 * 
 * @param   integer     p_iArtikelId
 * @param   string      p_sWaarde 
 * @param   integer     p_sNummer      Winkelwagen nummer    
 */ 
function VerwijderWinkelwagen(p_iArtikelId, p_sWaarde, p_sNummer) {
   var aVelden = {};
   aVelden['artikel'] = p_iArtikelId;
   aVelden['waarde'] = p_sWaarde;

   $("a#winkelwagen_" + p_sNummer).append('<img src="/images/loader2.gif" style="float: right;" alt="" id="loader_' + p_sNummer + '" />'); 

   $.post("/ajax/VerwijderWinkelwagen", aVelden, function(aReturn) {
      if(aReturn['bericht']!='') {
         Loader("tonen");
         $("#loaderimage").hide();

         var sHtml = "";
         sHtml += '<h1>' + aReturn['header'] + '</h1>';
         sHtml += '<p>' + aReturn['bericht'] + '</p>';
         
         $("#loader_content").append(sHtml);
      } else {
         $("#winkelwagen_inhoud").load("/winkelwagen/WinkelwagenInhoud", function() {
            Loader("verbergen");
            WinkelwagenSamenvatting();
         });
      }
   }, 'json');
}

/**
 * Verwijderd een waarde uit de winkelwagen session van de pakketten
 * 
 * @param   integer     p_iNummer      Session nummer
 */ 
function VerwijderWinkelwagenPakket(p_iNummer) {
   var aVelden = {};
   aVelden['nummer'] = p_iNummer; 

   $.post("/ajax/VerwijderWinkelwagenPakket", aVelden, function(aReturn) {
      if(aReturn['bericht']!='') {
         Loader("tonen");
         $("#loaderimage").hide();

         var sHtml = "";
         sHtml += '<h1>' + aReturn['header'] + '</h1>';
         sHtml += '<p>' + aReturn['bericht'] + '</p>';
         
         $("#loader_content").append(sHtml);
      } else {
         $("#winkelwagen_inhoud").load("/winkelwagen/WinkelwagenInhoud", function() {
            Loader("verbergen");
            WinkelwagenSamenvatting();
         });
      }
   }, 'json');
}

/**
 * Past een waarde aan uit de session
 * 
 * @param   integer     p_iArtikelId   Artikel is
 * @param   string      p_sWaarde      Winkelwagen eigenschap
 * @param   string      p_sActie       Plus/min
 * @param   integer     p_sNummer      Winkelwagen nummer 
 * @param   boolean     p_bSoort       0 = artikel, 1 = pakket 
 */ 
function WinkelwagenAanpassen(p_iArtikelId, p_sWaarde, p_sActie, p_sNummer, p_bSoort) {
   var aVelden = {};
   aVelden['artikel'] = p_iArtikelId;
   aVelden['waarde'] = p_sWaarde;
   aVelden['actie'] = p_sActie;
   aVelden['pakket'] = p_bSoort;

   if(p_bSoort==1) {
      var sExtra = ".pakket";
   } else {
      var sExtra = ".artikel";
   }

   $("a#winkelwagen_" + p_sNummer + sExtra).append('<img src="/images/loader2.gif" style="float: right;" alt="" id="loader_' + p_sNummer + '" />'); 

   $.post("/ajax/WinkelwagenAanpassen", aVelden, function(aReturn) {
      if(aReturn['bericht']!='') {
         Loader("tonen");
         $("#loaderimage").hide();

         var sHtml = "";
         sHtml += '<h1>' + aReturn['header'] + '</h1>';
         sHtml += '<p>' + aReturn['bericht'] + '</p>';
         
         $("#loader_content").append(sHtml);
      } else {
         $("#winkelwagen_inhoud").load("/winkelwagen/WinkelwagenInhoud", function() {
            $("img#loader_" + p_sNummer).remove();
            WinkelwagenSamenvatting();
         });
      }
   }, 'json');
}

/**
 * Kijkt na of een klant is ingelogd. Is dit niet het geval zal nagekeken worden
 * of alle verplichte velden van het registratieformulier zijn ingevuld. Deze
 * worden dan in een session gezet.  
 */ 
function NaarStap2() {
   Loader("tonen");
   
   $.post("/ajax/CheckLogin", {}, function(aReturn) {
      if(aReturn['success']==1) {
         if(aReturn['bericht']!="") {
            $("#loaderimage").hide();
            var sHtml = "";
            sHtml += '<h1>Technische fout</h1>';
            sHtml += '<p>' + aReturn['bericht'] + '</p>';
            
            $("#loader_content").append(sHtml);      
         } else {
            window.location = "/winkelwagen/stap2";
         }
      } else {
         var sVoornaam = $("input[name='stap1_voornaam']").val();
         var sAchternaam = $("input[name='stap1_achternaam']").val();
         var sAdres = $("input[name='stap1_adres']").val();
         var sPostcode = $("input[name='stap1_postcode']").val();
         var sGemeente = $("input[name='stap1_gemeente']").val();
         var iLand = $("select[name='stap1_land']").val();
         var sEmail = $("input[name='stap1_email']").val();
         var sTelefoon = $("input[name='stap1_telefoon']").val();
         var sWachtwoord = $("input[name='stap1_wachtwoord_start']").val();
         var sWachtwoordOpnieuw = $("input[name='stap1_wachtwoord_opnieuw']").val();
         
         if(!sVoornaam || !sAchternaam  || !sAdres  || !sPostcode  || !sGemeente  || !iLand  || !sEmail  || !sTelefoon  || !sWachtwoord  || !sWachtwoordOpnieuw) {
            $("#loaderimage").hide();
            var sHtml = "";
            sHtml += '<h1>Verplichte velden</h1>';
            sHtml += '<p>U heeft alle verplichte velden niet ingevuld.</p>';
            
            $("#loader_content").append(sHtml);            
         } else {
            if(!CheckEmail(sEmail)) {
               $("#loaderimage").hide();
         
               var sHtml = "";
               sHtml += '<h1>E-mail adres</h1>';
               sHtml += '<p>U heeft geen geldig e-mail adres ingegeven.</p>';
               
               $("#loader_content").append(sHtml);   
            } else {         
               if(sWachtwoord!=sWachtwoordOpnieuw) {
                  $("#loaderimage").hide();
                  var sHtml = "";
                  sHtml += '<h1>Wachtwoorden</h1>';
                  sHtml += '<p>De wachtwoorden die u heeft ingegeven zijn niet identiek.</p>';
                  
                  $("#loader_content").append(sHtml);               
               } else {
                  var aVelden = {};
                  aVelden['voornaam'] = sVoornaam;
                  aVelden['achternaam'] = sAchternaam;
                  aVelden['adres'] = sAdres;
                  aVelden['postcode'] = sPostcode;
                  aVelden['gemeente'] = sGemeente;
                  aVelden['land'] = iLand;
                  aVelden['email'] = sEmail;
                  aVelden['telefoon'] = sTelefoon;
                  aVelden['wachtwoord1'] = sWachtwoord;
                  aVelden['wachtwoord2'] = sWachtwoordOpnieuw;
                  
                  $.post("/ajax/NaarStap2", aVelden, function(aAntwoord) {
                     if(aAntwoord['success']!=1) {
                        $("#loaderimage").hide();
                        var sHtml = "";
                        sHtml += '<h1>Technische fout</h1>';
                        sHtml += '<p>' + aAntwoord['bericht'] + '</p>';
                        
                        $("#loader_content").append(sHtml);      
                     } else {
                        window.location = "/winkelwagen/stap2";
                     }              
                  }, 'json');
               }
            }
         }
      }
   }, 'json');   
}

/**
 * Haalt de basisgegevens van de winkelwagen op en zet deze in de layout
 */
function WinkelwagenSamenvatting() {
   $.post("/ajax/WinkelwagenBasisGegevens", {}, function(aReturn) {
      $("span#kort_aantal").html(aReturn['aantal']);
      $("span#kort_bedrag").html(aReturn['bedrag']);
   }, "json");
} 

/**
 * Klant registreren en inloggen en doorverwijzen
 */ 
function Registeren() {
   Loader("tonen");
   
   var sVoornaam = $("input[name='registreren_voornaam']").val();
   var sAchternaam = $("input[name='registreren_achternaam']").val();
   var sAdres = $("input[name='registreren_adres']").val();
   var sPostcode = $("input[name='registreren_postcode']").val();
   var sGemeente = $("input[name='registreren_gemeente']").val();
   var iLand = $("select[name='registreren_land']").val();
   var sEmail = $("input[name='registreren_email']").val();
   var sTelefoon = $("input[name='registreren_telefoon']").val();
   var sWachtwoord = $("input[name='registreren_wachtwoord_start']").val();
   var sWachtwoordOpnieuw = $("input[name='registreren_wachtwoord_opnieuw']").val();
   
   if(!sVoornaam || !sAchternaam  || !sAdres  || !sPostcode  || !sGemeente  || !iLand  || !sEmail  || !sTelefoon  || !sWachtwoord  || !sWachtwoordOpnieuw) {
      $("#loaderimage").hide();
      var sHtml = "";
      sHtml += '<h1>Verplichte velden</h1>';
      sHtml += '<p>U heeft alle verplichte velden niet ingevuld.</p>';
      
      $("#loader_content").append(sHtml);            
   } else {
      if(!CheckEmail(sEmail)) {
         $("#loaderimage").hide();
   
         var sHtml = "";
         sHtml += '<h1>E-mail adres</h1>';
         sHtml += '<p>U heeft geen geldig e-mail adres ingegeven.</p>';
         
         $("#loader_content").append(sHtml);   
      } else {    
         if(sWachtwoord!=sWachtwoordOpnieuw) {
            $("#loaderimage").hide();
            var sHtml = "";
            sHtml += '<h1>Wachtwoorden</h1>';
            sHtml += '<p>De wachtwoorden die u heeft ingegeven zijn niet identiek.</p>';
            
            $("#loader_content").append(sHtml);               
         } else {   
            var aVelden = {};
            aVelden['voornaam'] = sVoornaam;
            aVelden['achternaam'] = sAchternaam;
            aVelden['adres'] = sAdres;
            aVelden['postcode'] = sPostcode;
            aVelden['gemeente'] = sGemeente;
            aVelden['land'] = iLand;
            aVelden['email'] = sEmail;
            aVelden['telefoon'] = sTelefoon;
            aVelden['wachtwoord1'] = sWachtwoord;
            aVelden['wachtwoord2'] = sWachtwoordOpnieuw;
            
            $.post("/ajax/Registreren", aVelden, function(aAntwoord) {
               if(aAntwoord['fout']!="") {
                  $("#loaderimage").hide();
                  var sHtml = "";
                  sHtml += '<h1>Technische fout</h1>';
                  sHtml += '<p>' + aAntwoord['fout'] + '</p>';
                  
                  $("#loader_content").append(sHtml);           
               } else {
                  $("#loaderimage").hide();
                  var sHtml = "";
                  sHtml += '<h1>Registratie gelukt</h1>';
                  sHtml += '<p>U bent nu geregistreert en zal per e-mail een bevestiging krijgen van uw login gegevens. U kan zich nu inloggen.</p>';
                  
                  $("#loader_content").append(sHtml);  
                  
                  $("input[name='registreren_voornaam']").val("");
                  $("input[name='registreren_achternaam']").val("");
                  $("input[name='registreren_adres']").val("");
                  $("input[name='registreren_postcode']").val("");
                  $("input[name='registreren_gemeente']").val("");
                  $("input[name='registreren_email']").val("");
                  $("input[name='registreren_telefoon']").val("");
                  $("input[name='registreren_wachtwoord_start']").val("");
                  $("input[name='registreren_wachtwoord_opnieuw']").val("");               
               }
            }, "json");
         }
      }
   } 
}

/**
 * Logt een gebruiker in
 * 
 * @param   boolean  p_bBestelling     Inloggen gebeurt tijdens bestelling ja/nee  
 */ 
function Inloggen(p_bBestelling) {
   Loader("tonen");
   
   var sEmail = $("input[name='login_email']").val();
   var sWachtwoord = $("input[name='login_wachtwoord']").val();
   
   if(!sEmail || !sWachtwoord) {
      $("#loaderimage").hide();
      var sHtml = "";
      sHtml += '<h1>Fout tijdens inloggen</h1>';
      sHtml += '<p>U heeft beide velden niet ingevuld.</p>';
      
      $("#loader_content").append(sHtml);     
   } else {
      var aVelden = {};
      aVelden['email'] = sEmail;
      aVelden['wachtwoord'] = sWachtwoord;

      $.post("/ajax/Inloggen", aVelden, function(aAntwoord) {
         if(aAntwoord['fout']!="") {
            $("#loaderimage").hide();
            var sHtml = "";
            sHtml += '<h1>Fout tijdens inloggen</h1>';
            sHtml += '<p>' + aAntwoord['fout'] + '</p>';
            
            $("#loader_content").append(sHtml);           
         } else {
            if(p_bBestelling==1) {
               window.location = "/winkelwagen/stap1";            
            } else {
               window.location = "/mijnaccount";
            }           
         }
      }, "json");   
   }
}

/**
 * Logt een gebruiker uit  
 */ 
function Uitloggen() {
   Loader("tonen");

   $.post("/ajax/Uitloggen", {}, function(aAntwoord) {
      window.location = "/mijnaccount";
   }, "json");   
}

/**
 * Plaatst een bestelling
 */ 
function BestellingPlaatsen() {
   if(confirm("Weet u zeker dat u deze bestelling definitief wil plaatsen?")==true) {
      Loader("tonen");
   
      /*
      var bSoort = $("input[name='soort']:checked").val();
      */
      
      if($("input[name='status']").attr('checked')) {
         var bStatus = 1;   
      } else {
         var bStatus = 0;
      }
      
      var bSoort = 1;
      
      var bNieuwsbrief = $("input[name='nieuwsbrief']:checked").val();
      if($("input[name='status']").attr('checked')) {
         var bNieuwsbrief = 1;   
      } else {
         var bNieuwsbrief = 0;
      }      
   
      $.post("/ajax/BestellingPlaatsen", {soort: bSoort, status: bStatus, nieuwsbrief: bNieuwsbrief}, function(aAntwoord) {
         if(aAntwoord['fout']!="") {
            $("#loaderimage").hide();
            var sHtml = "";
            sHtml += '<h1>Fout tijdens plaatsen bestelling</h1>';
            sHtml += '<p>' + aAntwoord['fout'] + '</p>';
            
            $("#loader_content").append(sHtml);           
         } else {
            /*
            if(bSoort==0) {
               WinkelwagenSamenvatting();
               Loader("verberg");
               
               $("#betaling_0").hide();
               $("span.orderid").html(aAntwoord['order']);
               $("span.bedrag").html(aAntwoord['bedrag']);                    
               $("#betalingsoort_" + bSoort).show();
            } else {
            */
            
            window.location = aAntwoord['url'];
            //}
         }
      }, "json");
   }
}

/**
 * Voegt een uitzondering toe
 * 
 * @param   integer  p_iEigenschap     Eigenschap ID
 * @param   integer  p_iWaarde         Waarde ID   
 * @param   integer  p_iId             Artikel ID 
 * @param   integer  p_iPakket         Is pakket ja/nee (0 = nee, anders ID verpakking) 
 */ 
function UitzonderingToevoegen(p_iEigenschap, p_iWaarde, p_iId, p_iPakket) {
   var aVelden = {};
   aVelden['eigenschap'] = p_iEigenschap;
   aVelden['waarde'] = p_iWaarde;

   $("dd#eigenschap_" + p_iEigenschap).append('<img src="/images/loader2.gif" alt="" id="loader_' + p_iEigenschap + '" />');

   $.post("/ajax/UitzonderingToevoegen", aVelden, function(aAntwoord) {
      if(aAntwoord['fout']!="") {
         Loader("tonen");
         $("#loaderimage").hide();

         var sHtml = "";
         sHtml += '<h1>Technische fout</h1>';
         sHtml += '<p>' + aAntwoord['fout'] + '</p>';
         
         $("#loader_content").append(sHtml);        
      } else {
         $("#eigenschappen_div").load("/webshop/EigenschappenArray/" + p_iId + "=" + p_iPakket, function() {
            $("loader_" + p_iEigenschap).remove();
         });        
      }
   }, "json");
}

/**
 * Toont de juiste betaalpagina voor de klant  
 */ 
function KiesBetaling() {

}

/**
 * Zoeken
 */ 
function Zoeken() {
   Loader("tonen");

   var sWoorden = $("input#zoeken").val();

   $.post("/ajax/MooieUrl", {zoeken: sWoorden}, function(sAntwoord) {
      window.location = "/zoeken/" + sAntwoord;
   }); 
} 

/**
 * Tell a friend 
 * 
 * @param   integer  p_iId    ID artikel  
 */ 
function TellAFriend(p_iId) {
   Loader("tonen");

   var sNaamOntvanger = $("input[name='vriendnaam']").val();
   var sEmailOntvanger = $("input[name='vriendemail']").val();
   var sNaamVerstuurder = $("input[name='uwnaam']").val();
   var sEmailVerstuurder = $("input[name='uwemail']").val();
   
   if(!sNaamOntvanger || !sEmailOntvanger || !sNaamVerstuurder || !sEmailVerstuurder) {
      $("#loaderimage").hide();

      var sHtml = "";
      sHtml += '<h1>Verplichte velden</h1>';
      sHtml += '<p>U heeft alle velden niet ingevuld!</p>';
      
      $("#loader_content").append(sHtml);   
   } else {
      var aVelden = {}
      aVelden['naam_verstuurder'] = sNaamVerstuurder;
      aVelden['email_verstuurder'] = sEmailVerstuurder;
      aVelden['naam_ontvanger'] = sNaamOntvanger;
      aVelden['email_ontvanger'] = sEmailOntvanger;
      aVelden['id_artikel'] = p_iId;
      
      if(!CheckEmail(sEmailOntvanger) || !CheckEmail(sEmailVerstuurder)) {
         $("#loaderimage").hide();
   
         var sHtml = "";
         sHtml += '<h1>E-mail adres</h1>';
         sHtml += '<p>U heeft geen geldig e-mail adres ingegeven.</p>';
         
         $("#loader_content").append(sHtml); 
      } else {
         $.post("/ajax/TellAFriend", aVelden, function(sAntwoord) {
            if(sAntwoord!=1) {
               $("#loaderimage").hide();
         
               var sHtml = "";
               sHtml += '<h1>Technische fout</h1>';
               sHtml += '<p>' + sAntwoord + '</p>';
               
               $("#loader_content").append(sHtml); 
            } else {
               $("#loaderimage").hide();
         
               var sHtml = "";
               sHtml += '<h1>Bericht verstuurd!</h1>';
               sHtml += '<p>Uw vriend(in) werd op de hoogte gebracht van dit artikel!</p>';
               
               $("#loader_content").append(sHtml); 
               
               $("input[name='vriendnaam']").val("");
               $("input[name='vriendemail']").val("");
               $("input[name='uwnaam']").val("");
               $("input[name='uwemail']").val("");               
            }
         }, "json");
      }
   }
}

/**
 * Stuurt nieuw wachtwoord naar klant    
 */ 
function WachtwoordVergeten() {
   Loader("tonen");
   
   var sEmail = $("input[name='wachtwoord_email']").val();
   
   if(!sEmail) {
      $("#loaderimage").hide();
      var sHtml = "";
      sHtml += '<h1>E-mail adres</h1>';
      sHtml += '<p>U heeft geen e-mail adres ingegeven.</p>';
      
      $("#loader_content").append(sHtml);     
   } else {
      var aVelden = {};
      aVelden['email'] = sEmail;

      $.post("/ajax/WachtwoordVergeten", aVelden, function(aAntwoord) {
         if(aAntwoord['fout']!="") {
            $("#loaderimage").hide();
            var sHtml = "";
            sHtml += '<h1>Technische fout</h1>';
            sHtml += '<p>' + aAntwoord['fout'] + '</p>';
            
            $("#loader_content").append(sHtml);           
         } else {
            $("input[name='wachtwoord_email']").val("");
            $("#loaderimage").hide();
            var sHtml = "";
            sHtml += '<h1>Nieuw wachtwoord verstuurd</h1>';
            sHtml += '<p>Een nieuw wachtwoord werd naar uw e-mail adres doorgestuurd. U kan nadat u ingelogd bent uw wachtwoord terug aanpassen.</p>';
            
            $("#loader_content").append(sHtml);                        
         }
      }, "json");   
   }
}

/**
 * Past een account aan 
 */ 
function AccountAanpassen() {
   Loader("tonen");
   
   var sVoornaam = $("input[name='account_naam']").val();
   var sNaam = $("input[name='account_achternaam']").val();
   var sAdres = $("input[name='account_adres']").val();
   var sPostcode = $("input[name='account_postcode']").val();
   var sGemeente = $("input[name='account_gemeente']").val();
   var sEmail = $("input[name='account_email']").val();
   var sTel = $("input[name='account_tel']").val();
   var sWachtwoord1 = $("input[name='account_wachtwoord1']").val();
   var sWachtwoord2 = $("input[name='account_wachtwoord2']").val();
   var iLand = $("select[name='account_land']").val();
   
   if(!sEmail || !sTel || !sGemeente || !sPostcode || !sAdres || !sNaam || !sVoornaam) {
      $("#loaderimage").hide();
      var sHtml = "";
      sHtml += '<h1>Verplichte velden</h1>';
      sHtml += '<p>U heeft alle velden niet ingevuld.</p>';
      
      $("#loader_content").append(sHtml);     
   } else {
      if(CheckEmail(sEmail)==0) {
         $("#loaderimage").hide();
         var sHtml = "";
         sHtml += '<h1>E-mail adres</h1>';
         sHtml += '<p>U geen geld e-mail adres ingegeven.</p>';
         
         $("#loader_content").append(sHtml);   
      } else {
         if(sWachtwoord1!=sWachtwoord2) {
            $("#loaderimage").hide();
            var sHtml = "";
            sHtml += '<h1>Wachtwoorden</h1>';
            sHtml += '<p>De twee wachtwoorden die u heeft ingegeven komen niet overeen.</p>';
            
            $("#loader_content").append(sHtml);   
         } else {
            var aVelden = {};
            aVelden['voornaam'] = sVoornaam;
            aVelden['naam'] = sNaam;
            aVelden['adres'] = sAdres;
            aVelden['postcode'] = sPostcode;
            aVelden['gemeente'] = sGemeente;
            aVelden['email'] = sEmail;
            aVelden['tel'] = sTel;
            aVelden['wachtwoord'] = sWachtwoord2;
            aVelden['land'] = iLand;
      
            $.post("/ajax/AccountAanpassen", aVelden, function(aAntwoord) {
               if(aAntwoord['fout']!="") {
                  $("#loaderimage").hide();
                  var sHtml = "";
                  sHtml += '<h1>Technische fout</h1>';
                  sHtml += '<p>' + aAntwoord['fout'] + '</p>';
                  
                  $("#loader_content").append(sHtml);           
               } else {
                  $("input[name='wachtwoord_email']").val("");
                  $("#loaderimage").hide();
                  var sHtml = "";
                  sHtml += '<h1>Account aangepast</h1>';
                  sHtml += '<p>Uw account is aangepast.</p>';
                  
                  $("#loader_content").append(sHtml);
                  
                  $("input[name='account_wachtwoord1']").val("");
                  $("input[name='account_wachtwoord2']").val("");                                          
               }
            }, "json");
         }
      }   
   }   
}

/**
 * Voegt een kortingscode toe  
 */ 
function VeranderKortingsCode() {
   var sCode = $("input[name='kortingscode']").val();
   Loader("tonen");
   
   $.post("/ajax/CheckKortingsCode", {code: sCode}, function(aReturn) {
      if(aReturn['bericht']!='') {
         $("#loaderimage").hide();

         var sHtml = "";
         sHtml += '<h1>' + aReturn['header'] + '</h1>';
         sHtml += '<p>' + aReturn['bericht'] + '</p>';
         
         $("#loader_content").append(sHtml);
      } else {
         $("#loaderimage").hide();

         var sHtml = "";
         sHtml += '<h1>Kortingscode</h1>';
         sHtml += '<p>De kortingscode is toegevoegd aan uw bestelling.</p>';
         
         $("#loader_content").append(sHtml);      
      }
            
      $("#winkelwagen_inhoud").load("/winkelwagen/WinkelwagenInhoud", function() {
         WinkelwagenSamenvatting();
      });      
   }, 'json');
}

/**
 * Toont een artikel om te te voegen aan een pakket
 * 
 * @param   integer     p_iIdVerpakking       Verpakking ID
 * @param   integer     p_iIdPakket           Pakket ID 
 */
function PakketArtikel(p_iIdVerpakking, p_iIdPakket) {
   Loader("tonen");

   if(p_iIdVerpakking==0) {
      Loader();
      $("#pakket_artikel").hide();
   } else {
      $.post("/ajax/PakketArtikelTonen", {verpakking: p_iIdVerpakking, pakket: p_iIdPakket}, function(aReturn) {
         if(aReturn['bericht']!='') {
            $("#loaderimage").hide();
   
            var sHtml = "";
            sHtml += '<h1>' + aReturn['header'] + '</h1>';
            sHtml += '<p>' + aReturn['bericht'] + '</p>';
            
            $("#loader_content").append(sHtml);
         } else {
            Loader();
            $("#pakket_artikel").html(aReturn['html']);
            $("#pakket_artikel").show();
            
            if($("#artikel_foto a").length>0) {
               $("#artikel_foto a").fancybox();
            }            
                  
         }  
      }, 'json');
   }   
}

/**
 * Voegt een artikel toe aan een pakket
 * 
 * @param   integer     p_iIdArtikel    Artikel ID 
 * @param   integer     p_iIdPakket     Pakket ID  
 */
function ToevoegenPakket(p_iIdArtikel, p_iIdPakket) {  
   Loader("tonen");
   
   var sEigenschappen = "";
   var bCorrect = 1;
   var iIsNul = 0;
   
   $("select.eigenschap").each(function() {
      if(bCorrect==1 && this.value==0) {
         bCorrect = 0;
         iIsNul = this.id;
      }
      
      sEigenschappen += "#" + this.name + ":" + this.value;   
   });
   
   if(bCorrect==0) {
      $("#loaderimage").hide();

      var sHtml = "";
      sHtml += '<h1>Fout</h1>';
      sHtml += '<p>U heeft geen ' + iIsNul + ' geselecteerd.</p>';
      $("#loader_content").append(sHtml);
   } else {
      var iVerpakking = $("select[name='verpakking']").val();
      if(!iVerpakking || iVerpakking=="undefined") {
         $("#loaderimage").hide();

         var sHtml = "";
         sHtml += '<h1>Technisch probleem</h1>';
         sHtml += '<p>Geen geldige verpakking ID: ' + iVerpakking + '. Gelieve ons te contacteren om dit probleem te melden.</p>';
         
         $("#loader_content").append(sHtml);      
      } else {
         var aVelden = {};
         aVelden['eigenschappen'] = sEigenschappen;
         aVelden['artikel'] = p_iIdArtikel;
         aVelden['pakket'] = p_iIdPakket;
         aVelden['verpakking'] = iVerpakking;
      
         $.post("/ajax/ToevoegenPakket", aVelden, function(aReturn) {
            if(aReturn['bericht']!='') {
               $("#loaderimage").hide();
      
               var sHtml = "";
               sHtml += '<h1>' + aReturn['header'] + '</h1>';
               sHtml += '<p>' + aReturn['bericht'] + '</p>';
               
               $("#loader_content").append(sHtml);
            } else {
               $("#pakket_gegevens").load("/ajax/PakketInfo/" + p_iIdPakket, function() {
                  Loader("weg");                  
                  $("#pakket_artikel").hide();
                  $("#pakket_artikel").empty();
                  $("select[name='artikel']").val(0);
               });            
            }
         }, 'json');
      }
   }
}

/**
 * Verwijderd een artikel uit het pakket
 * 
 * @param   integer     p_iNummer      Rij nummer  
 */ 
function VerwijderArtikelPakket(p_iNummer, p_iIdPakket) {
   Loader("tonen");
   
   $.post("/ajax/VerwijderArtikelPakket", {nummer: p_iNummer}, function(aReturn) {
      Loader("verbergen");
      $("#pakket_gegevens").load("/ajax/PakketInfo/" + p_iIdPakket);
   }, 'json');
}

/**
 * Voegt een pakket toe aan de winkelwagen
 * 
 * @param   integer  p_iIdPakket    Pakket ID  
 */ 
function PakketToevoegenAanWinkelwagen(p_iIdPakket) {
   Loader("tonen");
   $.post("/ajax/ToevoegenWinkelwagenPakket", {id: p_iIdPakket}, function(aReturn) {
      if(aReturn['bericht']!='') {
         $("#loaderimage").hide();

         var sHtml = "";
         sHtml += '<h1>' + aReturn['header'] + '</h1>';
         sHtml += '<p>' + aReturn['bericht'] + '</p>';
         
         $("#loader_content").append(sHtml);
      } else {
         $("#pakket_gegevens").load("/ajax/PakketInfo/" + p_iIdPakket, function() {              
            $("#pakket_artikel").hide();
            $("#pakket_artikel").empty();
            $("select[name='artikel']").val(0);
            $("#pakket_gegevens").load("/ajax/PakketInfo/" + p_iIdPakket);
            
            
            $("#loaderimage").hide();
   
            var sHtml = "";
            sHtml += '<h1>Pakket toegevoegd</h1>';
            sHtml += '<p>Het pakket is toegevoegd aan uw winkelwagen.</p>';
            
            $("#loader_content").append(sHtml);         
            WinkelwagenSamenvatting();   
         });            
      }
   }, 'json');   
}