$(document).ready(function() {
   WinkelwagenOverzicht();

   // Mouseover winkelawgen
   $("td.image").hover(function() {
   	$(this).css({'z-index' : '10'}); /*Add a higher z-index value so this image stays on top*/ 
   	$(this).find('img').addClass("hover").stop() /* Add class of "hover", then stop animation queue buildup*/
   		.animate({
   			marginTop: '-50px', /* The next 4 lines will vertically align this image */ 
   			marginLeft: '-50px',
   			top: '50%',
   			left: '50%',
   			width: '112px', /* Set new width */
   			height: '112px', /* Set new height */
   			padding: '20px'
   		}, 200); /* this value of "200" is the speed of how fast/slow this hover animates */
   
   	} , function() {
   	$(this).css({'z-index' : '0'}); /* Set z-index back to 0 */
   	$(this).find('img').removeClass("hover").stop()  /* Remove the "hover" class , then stop animation queue buildup*/
   		.animate({
   			marginTop: '0', /* Set alignment back to default */
   			marginLeft: '0',
   			top: '0',
   			left: '0',
   			width: '68px', /* Set width back to default */
   			height: '68px', /* Set height back to default */
   			padding: '0px'
   		}, 400);
   });
   
   // Submenu's
   $("#menu ul li.hoofd").mouseover(function() {
      var iVersie = parseInt(jQuery.browser.version);
      var iBreedte = parseInt($(this).width());
      
      if($.browser.msie && (iVersie==5 || iVersie==6 || iVersie==7)) {
         $("ul", this).css("margin-left", "-" + iBreedte + "px");
      }
       
      var iAchtergrond = parseInt(iBreedte / 2 - 5);
      $("ul", this).css("background-position", iAchtergrond + "px 13px");
               
      var iPixels = 180;
      $("ul", this).css("width", iPixels + "px");
      $("ul", this).show();
      $("a", this).addClass("actief");
      $("ul li a", this).removeClass("actief");
   }).mouseout(function() {
      if($("a", this).hasClass("actievepagina")) {
         var bActief = true;
      } else {
         var bActief = false;
      }
         
      $("ul", this).hide();
      if(bActief==false) {
         $("a", this).removeClass("actief");
      }
   });
   
   // Artikelgroepen
   /*
   $("#hoofdgroepen a.hoofd").click(function() {
      if($(this).hasClass("actief")==false) {
         $("#hoofdgroepen li ul").hide();
         $("#hoofdgroepen li a span").html("+");
         $("#hoofdgroepen li a").removeClass("actief");
                
         $("span", this).html("-");
         $(this).addClass("actief");
         
         var hoofd = $(this).parent();
         $("ul", hoofd).show();
      } else {
         $("#hoofdgroepen li ul").hide();
         $("#hoofdgroepen li a span").html("+");
         $("#hoofdgroepen li a").removeClass("actief");       
      }
   });
   */
   
   // Artikels mouseover
   $("div.lijstweergave_artikel").mouseover(function() {
      $(this).addClass("hover");
      $("a", this).addClass("actief");
   }).mouseout(function() {
      $(this).removeClass("hover");
      $("a", this).removeClass("actief");
   }).click(function() {
      window.location = $("a", this).attr("href");
   });
   
   // Home mini banners mouseover
   $("div.intro_rechts_doorlink").mouseover(function() {
      $(this).addClass("hover");
   }).mouseout(function() {
      $(this).removeClass("hover");
   }).click(function() {
      if(!$(this).hasClass("doorlink3")) {
         window.location = $("a", this).attr("href");
      }
   }); 
   
   // Home triggers mouseover
   $("div.trigger").mouseover(function() {
      $(this).addClass("hover");
   }).mouseout(function() {
      $(this).removeClass("hover");
   }).click(function() {
      window.location = $("a", this).attr("href");
   });      
   
   // Foto's
   $("a[rel='zoom-id:zoomer']").click(function() {
      return false;
      $("img#zoomimage").src(this.rev);
   });
});

function Loader(p_bTonen) {
   if(p_bTonen==0) {
      $("#l_popup_overlay").remove();
      $("#l_popup_container").remove();
   } else {
      // Overlay
   	$("body").append('<div id="l_popup_overlay"></div>');
   	$("#l_popup_overlay").css({
   		position: 'absolute',
   		zIndex: 99998,
   		top: '0px',
   		left: '0px',
   		width: '100%',
   		height: $(document).height(),
   		background: "#daf0fa",
   		opacity: 0.50
   	});
   
      // Loader html
      var sHtml = '';
      sHtml += '<div id="l_popup_container">';
      sHtml += '<div id="l_popup_content">';
      sHtml += '<div id="l_popup_message"><p style="text-align: center;margin-bottom:0px;margin-top:10px;"><img src="/images/loader.gif" alt="" /></p></div>';
      sHtml += '</div>';
      sHtml += '</div>';
      $("body").append(sHtml);	
      
      // Positie van container en overlay goed zetten
      var pos = ($.browser.msie && parseInt($.browser.version) <= 6 ) ? 'absolute' : 'fixed'; 	
   	
   	$("#l_popup_container").css({
   		position: pos,
   		zIndex: 99999,
   		padding: 0,
   		margin: 0
   	});
             
   	$("#l_popup_container").css({
   		minWidth: $("#l_popup_container").outerWidth(),
   		maxWidth: $("#l_popup_container").outerWidth()
   	});            	
      
   	var top = (($(window).height() / 2) - ($("#l_popup_container").outerHeight() / 2)) -71;
   	var left = (($(window).width() / 2) - ($("#l_popup_container").outerWidth() / 2));
   	if( top < 0 ) top = 0;
   	if( left < 0 ) left = 0;
   	
   	// IE6 fix
   	if( $.browser.msie && parseInt($.browser.version) <= 6 ) top = top + $(window).scrollTop();
   	
   	$("#l_popup_container").css({
   		top: top + 'px',
   		left: left + 'px'
   	});
   	$("#l_popup_overlay").height( $(document).height() );    
   }
}

function BlurVeld(p_sInhoud, p_sVeldid) {
   if($("#" + p_sVeldid).val()=="") {
      $("#" + p_sVeldid).val(p_sInhoud);
   }
} 

function FocusVeld(p_sInhoud, p_sVeldid) {
   if($("#" + p_sVeldid).val()==p_sInhoud) {
      $("#" + p_sVeldid).val("");
   }
} 

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;
   }
}

function ToevoegenFavorieten() {
   var sTitel = "Cocoonwonen.nl";
   var sUrl = "http://www.cocoonwonen.nl";
   
   if(window.sidebar) {
      window.sidebar.addPanel(sTitel, sUrl, "");
   }else if(document.all) {
      window.external.AddFavorite(sTitel, sUrl);
   } else {
      jAlert("Uw browser ondersteunt deze functie niet.");
   }
}

/******************************************************************************/

function VeranderSorteren(soort, redirect) {
   Loader(1);
   $.post("/ajax/VeranderSorteren", {sorteren: soort}, function(aAntwoord) {
      window.location = redirect;
   }, "json");
}

/**
 * Haalt het aantal van een bepaalde maat op
 * 
 * @param   integer  p_iId          ID Artikel
 * @param   integer  p_iMaatId      Maat ID    
 * @param   boolean  p_bKassa       Kassapagina ja/nee 
 */ 
function MaatStock(p_iId, p_iMaatId, p_bKassa) {      
   if(p_iMaatId>0) {
      // ToonLoader();
      
      var aVelden = {};
      aVelden['id_artikel'] = p_iId;
      aVelden['id_maat'] = p_iMaatId;   
      
      $.post("/ajax/ArtikelStock", aVelden, function(aAntwoord) {
         if(aAntwoord['success']==0) {
            alert(aAntwoord['bericht']);
         } else {
            if(aAntwoord['aantal']==0) {
               alert(aTalen['winkelwagen_geen_stock'][iTaalid]);
            } else {
               if(p_bKassa==0) {
                  var sSelector = "select#aantal";
                  var sTekst = "Kies uw aantal"; 
               } else {
                  var sSelector = "select#kassa_" + p_iId;
                  var sTekst = "Aantal";
               }
               
               $(sSelector).empty();
               $(sSelector).append('<option value="0">' + sTekst + '</option>');
               for(i=1; i<=aAntwoord['aantal']; i++) {
                  $(sSelector).append('<option value="' + i + '">' + i + '</option>');   
               }
               
               $(sSelector + " option[value=1]").attr("selected", "selected");
            }
         }
         // VerbergLoader();
      }, "json");
   } else {
      $("select#aantal").empty();
      $("select#aantal").append('<option value="0">Kies uw aantal</option>');   
   }
}

/**
 * Artikel toevoegen aan winkelwagen
 * 
 * @param   integer  p_iId          ID artikel
 * @param   integer  p_iMaatId      ID maat 
 * @param   integer  p_iAantal      Aantal 
 * @param   boolean  p_bAfrekenen   True=redirect
 * @param   string   p_sUrl         Naar van de winkelwagen URL pagina   
 */ 
function ToevoegenWinkelwagen(p_iId, p_iMaatId, p_iAantal, p_bAfrekenen, p_sUrl) {
   if(p_iAantal==0 || p_iAantal=="") {
      jAlert("U heeft geen aantal geselecteerd");
   } else {
      Loader(1);
      
      var aVelden = {};
      aVelden['id_artikel'] = p_iId;
      aVelden['aantal'] = p_iAantal;
      aVelden['maat'] = p_iMaatId;

      if(p_iMaatId=='0') {
         Loader(0);
         jAlert('U heeft geen geldige maat geselecteerd');
      } else {
         $.post("/ajax/ToevoegenWinkelwagen", aVelden, function(aAntwoord) {
            if(aAntwoord['success']==1) {
               WinkelwagenOverzicht();
            } else {
               jAlert(aAntwoord['bericht']);
            }
            Loader(0);
         }, "json");
      }
   }
}

/**
 * Veranderd het overzicht van de winkelwagen
 */ 
function WinkelwagenOverzicht() {
   $.post("/ajax/WinkelwagenKort", {}, function(aAntwoord) {
      $("span#winkelwagenkort_aantal").html(aAntwoord['aantal']);
      $("span#winkelwagenkort_bedrag").html(aAntwoord['bedrag']);
   }, "json");
} 

/**
 * Veranderd de maat van een artikel
 * 
 * @param   integer  p_iId             Artikel ID
 * @param   integer  p_iMaatId         Maat ID
 * @param   integer  p_iNieuweMaatId   ID van de nieuwe maat (naar waar het item aangepast moet worden)
 * @param   integer  p_iAantal         Aantal   
 */ 
function WinkelwagenVeranderMaat(p_iId, p_iMaatId, p_iNieuweMaatId, p_iAantal) {
   Loader(1);
   
   var aVelden = {};
   aVelden['artikelid'] = p_iId;
   aVelden['maatid'] = p_iMaatId;
   aVelden['nieuwemaat'] = p_iNieuweMaatId;
   aVelden['aantal'] = "+" + p_iAantal;
   
   $.post("/ajax/WinkelwagenAanpassenMaat", aVelden, function(aAntwoord) {
      if(aAntwoord['success']==1) {
         $("#winkelwagen_ajax").load("/winkelwagen/WinkelwagenInhoud", function() {
            WinkelwagenOverzicht();
            Loader(0);
         });
      } else {
         alert(aAntwoord['bericht']);
         Loader(0);
      }
   }, "json");
}

/**
 * Veranderd het aantal van een winkelwagne item
 * 
 * @param   integer  p_iId          Artikel ID
 * @param   integer  p_iMaatId      Maat ID
 * @param   integer  p_iAantal      Aantal 
 */
function WinkelwagenAanpassen(p_iId, p_iMaatId, p_iAantal) {
   Loader(1);
   
   var aVelden = {};
   aVelden['artikelid'] = p_iId;
   aVelden['maatid'] = p_iMaatId;
   aVelden['aantal'] = p_iAantal;
   
   $.post("/ajax/WinkelwagenAanpassen", aVelden, function(aAntwoord) {
      if(aAntwoord['success']==1) {
         $("#winkelwagen_ajax").load("/winkelwagen/WinkelwagenInhoud", function() {
            WinkelwagenOverzicht();
            Loader(0);
         });
      } else {
         jAlert(aAntwoord['bericht']);
         Loader(0);
      }
   }, "json");
}

/**
 * Verwijderd een item uit de winkelwagen
 * 
 * @param   integer  p_iId       Artikel ID
 * @param   integer  p_iMaatId   Maat ID  
 */
function WinkelwagenVerwijderen(p_iId, p_iMaatId) {
   Loader(1);
   
   var aVelden = {};
   aVelden['artikelid'] = p_iId;
   aVelden['maatid'] = p_iMaatId;
   
   $.post("/ajax/WinkelwagenVerwijderen", aVelden, function(aAntwoord) {
      if(aAntwoord['success']==1) {
         $("#winkelwagen_ajax").load("/winkelwagen/WinkelwagenInhoud", function() {
            WinkelwagenOverzicht();
         });
         
         Loader(0);
      } else {
         jAlert(aAntwoord['bericht']);
         Loader(0);
      }
   }, "json");
}

/**
 * Kijkt na of de bezoeker naar stap 2 mag gaan
 * 
 * @param   string   p_sUrl      Winkelwagen URL  
 */
function NaarStap1(p_sUrl) {
   Loader(1);
   $.post("/ajax/NaarStap1", {}, function(iAntwoord) {
      if(iAntwoord==1) {
         window.location = "/" + p_sUrl;
      } else {
         Loader(0);
         jAlert("U heeft niets in uw winkelwagen!");
      }
   });
}

/**
 * Stuurt de bezoeker naar stap 2 indien dit mag (lees: alle nodige sessions bestaan).
 * Indien de klant op een andere pagina dan stap 1 zit (zie parameters) zal enkel
 * gechecked worden of alle nodige sessions bestaan. Start de gebruiker deze functie
 * op de pagina stap 1 zullen alle velden opgehaald worden en doorgestuurd worden naar
 * de PHP functie die alles in een session zet.
 * 
 * @param   boolean     p_bInStap1     Gebruiker zit op de stap 1 pagina ja/nee      
 * @param   string      p_sUrl         Stap 2 url 
 */
function NaarStap2(p_bInStap1, p_sUrl) {
   if(p_bInStap1==1) {
      var aGegevens = {};
      
      aGegevens['nieuwsbrief'] = $("input[name='nieuwsbrief']").is(":checked");
      aGegevens['onthouden'] = $("input[name='onthouden']").is(":checked");
      aGegevens['voorwaarden'] = $("input[name='voorwaarden']").is(":checked");
      
      // Checkboxen omzetten naar numerieke boolean
      if(aGegevens['nieuwsbrief']) { aGegevens['nieuwsbrief'] = 1; } else { aGegevens['nieuwsbrief'] = 0; }
      if(aGegevens['onthouden']) { aGegevens['onthouden'] = 1; } else { aGegevens['onthouden'] = 0; }
      if(aGegevens['voorwaarden']) { aGegevens['voorwaarden'] = 1; } else { aGegevens['voorwaarden'] = 0; }
      
      aGegevens['onthouden'] = 1;
      aGegevens['voorwaarden'] = 1;      
      
      // Klantgegevens
      aGegevens['voornaam'] = $("input[name='voornaam']").val();
      aGegevens['achternaam'] = $("input[name='achternaam']").val();
      aGegevens['adres'] = $("input[name='adres']").val();
      aGegevens['postcode'] = $("input[name='postcode']").val();
      aGegevens['plaats'] = $("input[name='plaats']").val();
      aGegevens['land'] = $("select[name='land']").val();
      aGegevens['telefoon'] = $("input[name='telefoon']").val();
      aGegevens['email'] = $("input[name='email']").val();
      aGegevens['anderadres'] = $("input[name='anderadres']").val();
      aGegevens['opmerking'] = $("textarea[name='opmerking']").val();

      // Verzendgegevens
      aGegevens['voornaam2'] = $("input[name='voornaam2']").val();
      aGegevens['achternaam2'] = $("input[name='achternaam2']").val();
      aGegevens['adres2'] = $("input[name='adres2']").val();
      aGegevens['postcode2'] = $("input[name='postcode2']").val();
      aGegevens['plaats2'] = $("input[name='plaats2']").val();
      aGegevens['land2'] = $("select[name='land2']").val();

      if(aGegevens['voorwaarden']==0) {
         jAlert("U dient akkoord te gaan met de algemene voorwaarden.");
      } else {
         if(!aGegevens['voornaam'] || !aGegevens['achternaam'] || !aGegevens['adres'] || !aGegevens['postcode'] || !aGegevens['plaats'] || !aGegevens['land'] || !aGegevens['email']) {
            jAlert("U heeft niet alle gegevens ingevuld.");
         } else {
            if(CheckEmail(aGegevens['email'])==false) {
               jAlert("U heeft geen geldig e-mail adres ingegeven.");
            } else {
               if(aGegevens['anderadres']==1 && (!aGegevens['voornaam2'] || !aGegevens['achternaam2'] || !aGegevens['adres2'] || !aGegevens['postcode2'] || !aGegevens['plaats2'] || !aGegevens['land2'])) {
                  jAlert("U heeft niet alle verzendgegevens ingevuld.");
               } else {
                  Loader(1);         
                  $.post("/ajax/NaarStap2", aGegevens, function(aAntwoord) {
                     if(aAntwoord['success']==0) {
                        jAlert(aAntwoord['bericht']);
                        Loader(0);
                     } else {
                        if(aAntwoord['success']==1) {
                           if(aAntwoord['account']==1) {
                              jAlert(aTalen['bestaat_reeds_account'][iTaalid]);
                              Loader(0);
                           } else {
                           window.location = "/" + p_sUrl;
                           }
                        } else {
                           window.location = "/" + p_sUrl;
                        }
                     }
                  }, "json");
               }  
            }       
         }
      }
   } else {
      Loader(1),
      $.post("/ajax/CheckStap2Status", {}, function(aAntwoord) {
         if(aAntwoord['success']==0) {
            jAlert(aTalen['alle_verplichte_velden_klantgegevens'][iTaalid]);
            Loader(0);
         } else {
            window.location = "/stap2";
         }
      }, "json");   
   }
} 

/**
 * Kijkt het verborgen veld "anderadres" na en vervangt dit met de tegenovergestelde waarde.
 * Is er een ander adres worden de velden getoond, anders verborgen  
 */ 
function VeranderAfleveradres() {
   var iHuidig = $("input[name='anderadres']").val();
   var iNieuw = 1;
   
   if(iHuidig==1) {
      var iNieuw = 0;
   }
   
   $("input[name='anderadres']").val(iNieuw);
   
   if(iNieuw==1) {
      $("#anderafleveradres").show();
   } else {
      $("#anderafleveradres").hide();   
   }
}

/**
 * Plaatst een bestelling
 * 
 * @param   string   p_sUrl      URL voor stap 3  
 */ 
function PlaatsBestelling(p_sUrl) {
   jAlert('Uw bestelling wordt nu in ons systeem geplaatst. Druk op OK om door te gaan naar de betaalpagina.', '', function() {
      Loader(1); 
      $.post("/ajax/BestellingPlaatsen", {}, function(aAntwoord) {
         if(aAntwoord['bericht']!="") {
            jAlert(aAntwoord['bericht']);
            Loader(0);
         } else {
            window.location = "/" + p_sUrl;
         }
      }, "json");
   });   
}

/**
 * Stuurt de klant door naar de betaalpagina van MSP
 * 
 * @param   string   p_sGateway     Gateway code   
 */ 
function BetaalMsp(p_sGateway) {
   Loader(1);

   $.post("/ajax/BetaalMsp", {gateway: p_sGateway}, function(aAntwoord) {
      if(aAntwoord['bericht']!="") {
         Loader(0);
         jAlert(aAntwoord['bericht']);
      } else {
         window.location = aAntwoord['url'];
      }
   }, "json");
}

/**
 * Voegt een lid toe aan de nieuwsbrief
 * 
 * @param   string   p_sUrl      Bedanktpagina URL  
 */ 
function NieuwsbriefToevoegen(p_sUrl) {
   var sEmail = $("input[name='email_nieuwsbrief']").val();

   if(!sEmail) {
      jAlert("U heeft niets ingegeven");
   } else {
      if(!CheckEmail(sEmail)) {
         jAlert("U heeft geen geldig e-mail adres ingegeven");
      } else {
         Loader(1);
         
         var aVelden = {};
         aVelden['naam'] = "";
         aVelden['email'] = sEmail;
         
         $.post("/ajax/NieuwsbriefInschrijven", aVelden, function(aAntwoord) {
            Loader(0);
            if(aAntwoord['success']==1) {
               window.location = "/" + p_sUrl;                        
            } else {
               if(aAntwoord['bericht']!="") {
                  jAlert(aAntwoord['bericht']);
               }
            }
         }, "json");      
      }
   }
}

function Afhaling() {
   var waarde = $("input#afhaling:checked").val();
   if(waarde=="on") {
      waarde = 1;
   } else {
      waarde = 0;
   }
   
   Loader(1);
   
   $.post("/ajax/VeranderAfhaling", {waarde: waarde}, function(aAntwoord) {
      if(aAntwoord['success']==1) {
         $("#winkelwagen_ajax").load("/winkelwagen/WinkelwagenInhoud", function() {
            WinkelwagenOverzicht();
            Loader(0);
         });
      } else {
         alert(aAntwoord['bericht']);
         Loader(0);
      }
   }, "json"); 
}

function Verpakking(soort) {
   var waarde = $("input#" + soort + ":checked").val();
   if(waarde=="on") {
      waarde = 1;
   } else {
      waarde = 0;
   }
   
   Loader(1);
   
   $.post("/ajax/VeranderVerpakking", {soort: soort, waarde: waarde}, function(aAntwoord) {
      if(aAntwoord['success']==1) {
         $("#winkelwagen_ajax").load("/winkelwagen/WinkelwagenInhoud", function() {
            WinkelwagenOverzicht();
            Loader(0);
         });
      } else {
         alert(aAntwoord['bericht']);
         Loader(0);
      }
   }, "json");   
}

/**
 * Voegt een kortingscode toe
 */ 
function KortingsCodeToevoegen() {
   var sCode = $("input[name='kortingscode']").val();

   if(sCode=="") {
      KortingscodeVerwijderen();
   } else {
      Loader(1);
   
      $.post("/ajax/KortingscodeToevoegen", {code: sCode}, function(aAntwoord) {
         if(aAntwoord['success']==1) {
            $("#winkelwagen_ajax").load("/winkelwagen/WinkelwagenInhoud", function() {
               WinkelwagenOverzicht();
               Loader(0);
            });
         } else {
            if(aAntwoord['bericht']!="") {
               jAlert(aAntwoord['bericht']);
            } else {
               jAlert("U heeft een ongeldige kortingscode ingegeven, of een kortingscode die niet van toepassing is op uw bestelling");
               $("input[name='kortingscode']").val("");
            }
            Loader(0);
         }
      }, "json");
   }
}

/**
 * Voegt een kortingscode toe
 */ 
function KortingscodeVerwijderen() {
   Loader(1);

   $.post("/ajax/KortingscodeVerwijderen", {}, function(aAntwoord) {
      $("#winkelwagen_ajax").load("/winkelwagen/WinkelwagenInhoud", function() {
         WinkelwagenOverzicht();
         Loader(0);
      });
   }, "json");
}

/**
 * Annuleert een order
 * 
 * @param   string   p_iId      Order ID   
 */ 
function OrderAnnuleren(p_iId) {
   jConfirm("Weet u zeker dat u deze order wil verwijderen?", "", function(bReturn) {
      if(bReturn==true) {
         Loader(1);
         $.post("/ajax/OrderAnnuleren", {id: p_iId}, function(aAntwoord) {
            if(aAntwoord['success']==1) {
               window.location = "/" + aAntwoord['redirect'];
            } else {
               jAlert(aAntwoord['bericht']);
            }
            
            Loader(0);      
         }, "json");
      }
   });
}

/**
 * Zoekfunctie
 */ 
function Zoeken() {
   var sString = $("input[name='zoeken']").val();
   
   if(sString!="") {
      $.post("/ajax/Zoeken", {zoeken: sString}, function(sAntwoord) {
         window.location = "/zoeken/" + sAntwoord;      
      });
   } else {
      jAlert("U heeft niets ingegeven");
   }
}
