/**
 * Toevoegen aan favorieten 
 */ 
function addBookmark(url, title) {
   if (window.sidebar) { // firefox
      window.sidebar.addPanel(title, url,"");
   } else if( document.all ) { //MSIE
      window.external.AddFavorite( url, title);
   } else {
      alert("Uw browser ondersteund deze functie niet.");
   }
}

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

/**
 * 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("");
   }
}

/**
 * Kijkt na of een variable een integer is of niet
 *    
 * @param   mixed    p_mVariable    De variable  
 */ 
function IsInteger(p_mVariable) {
   if(parseInt(p_mVariable) != p_mVariable) {
      return false;
   } else {
      return true;
   }
}

/**
 * Zet punten om naar komma's
 * 
 * @param   double   p_dGetal       Getal 
 * @param   boolean  p_bAfronden    Getal afronden met twee decimalen na de komma ja/nee
 */ 
function OutputGetal(p_dGetal, p_bAfronden) {
   if(p_bAfronden==1) {
      p_dGetal = parseFloat(p_dGetal).toFixed(2);
   }
   
   return str_replace(".", ",", p_dGetal);
}

/**
 * Wanneer de pagina geladen is worden de standaardwaarden in de velden gebruikt
 * voor de berekening. Worden de velden aangepast zal de berekening aangepast
 * worden.     
 */ 
$(document).ready(function() {
   Stap1Output();
   
   /**
    * Bij enter automatisch laten doorspringen
    */       
   $("#bestelgedeelte_inhoud_invoer input[name='lengte']").keyup(function(e) {
      if(e.keyCode == 13) {
         $("#bestelgedeelte_inhoud_invoer input[name='breedte']").focus();
      }
   });
   
   $("#bestelgedeelte_inhoud_invoer input[name='breedte']").keyup(function(e) {
      if(e.keyCode == 13) {
         $("#bestelgedeelte_inhoud_invoer input[name='hoogte']").focus();
      }
   });
   
   $("#bestelgedeelte_inhoud_invoer input[name='hoogte']").keyup(function(e) {
      if(e.keyCode == 13) {
         $("#bestelgedeelte_inhoud_invoer input[name='aantal']").focus();
      }
   });
   
   $("#bestelgedeelte_inhoud_invoer input[name='aantal']").keyup(function(e) {
      if(e.keyCode == 13) {
         $("#bestelgedeelte_inhoud_invoer select[name='kwaliteit']").focus();
      }
   });
   
   $("#bestelgedeelte_inhoud_invoer select[name='kwaliteit']").keyup(function(e) {
      if(e.keyCode == 13) {
         $("#bestelgedeelte_inhoud_invoer input[name='lengte']").focus();
      }
   });            
   
   // Als de pagina geopend wordt is de lengte de startpositie
   $("#bestelgedeelte_inhoud_invoer input[name='lengte']").focus();
   $("#inhoud_bereken_rechts_opmerking").removeClass();
   $("#inhoud_bereken_rechts_opmerking").addClass("groen");
   $("#inhoud_bereken_rechts_opmerking").show();
   $("#inhoud_bereken_rechts_opmerking").html("Vul hier de  gewenste lengte in. Minimaal 180 mm, maximaal 800 mm.");      
   
   // Focus inputvelden homepage
   $("#bestelgedeelte_inhoud_invoer input[name='lengte']").focus(function() {
      $("#inhoud_bereken_rechts_opmerking").removeClass();
      $("#inhoud_bereken_rechts_opmerking").addClass("groen");
      $("#inhoud_bereken_rechts_opmerking").show();
      $("#inhoud_bereken_rechts_opmerking").html("Vul hier de  gewenste lengte in. Minimaal 180 mm, maximaal 800 mm.");   
   });
   
   // Focus inputvelden homepage
   $("#bestelgedeelte_inhoud_invoer input[name='breedte']").focus(function() {
      $("#inhoud_bereken_rechts_opmerking").removeClass();
      $("#inhoud_bereken_rechts_opmerking").addClass("groen");
      $("#inhoud_bereken_rechts_opmerking").show();
      $("#inhoud_bereken_rechts_opmerking").html("Vul hier de  gewenste breedte in. Minimaal 100 mm, maximaal 600 mm.");   
   });
   
   // Focus inputvelden homepage
   $("#bestelgedeelte_inhoud_invoer input[name='hoogte']").focus(function() {
      $("#inhoud_bereken_rechts_opmerking").removeClass();
      $("#inhoud_bereken_rechts_opmerking").addClass("groen");
      $("#inhoud_bereken_rechts_opmerking").show();
      $("#inhoud_bereken_rechts_opmerking").html("Vul hier de  gewenste hoogte in. Minimaal 100 mm, maximaal 600 mm.");   
   });
   
   // Focus inputvelden homepage
   $("#bestelgedeelte_inhoud_invoer input[name='aantal']").focus(function() {
      $("#inhoud_bereken_rechts_opmerking").removeClass();
      $("#inhoud_bereken_rechts_opmerking").addClass("groen");
      $("#inhoud_bereken_rechts_opmerking").show();
      $("#inhoud_bereken_rechts_opmerking").html("Vul hier het gewenste aantal in. Minimaal 25 stuks, maximaal 1000 stuks.");   
   });
   
   // Focus inputvelden homepage
   $("#bestelgedeelte_inhoud_invoer select[name='kwaliteit']").focus(function() {
      $("#inhoud_bereken_rechts_opmerking").removeClass();
      $("#inhoud_bereken_rechts_opmerking").addClass("groen");
      $("#inhoud_bereken_rechts_opmerking").show();
      $("#inhoud_bereken_rechts_opmerking").html("Selecteer hier de  gewenste kwaliteit.");   
   });
   
   $("div#bestelgedeelte_inhoud_invoer input, div#bestelgedeelte_inhoud_invoer select").bind("blur", function() {
      Stap1Output(); 
   }); 
   
   $("div#bestelgedeelte_inhoud_invoer input, div#bestelgedeelte_inhoud_invoer select").bind("change", function() {
      Stap1Output(); 
   });                  

   $("#bestelgedeelte_inhoud_invoer input").focus(function() {
      $(this).select();
   });

});

/**
 * Doet alle nodige zaken voor stap 1
 */ 
function Stap1Output() {
	$("span#error").html("");
	$("span#error_home").html("");
   
	var aVelden = {};
	aVelden['iLengte'] = $("input[name='lengte']").val();
	aVelden['iBreedte'] = $("input[name='breedte']").val();
	aVelden['iHoogte'] = $("input[name='hoogte']").val();
	aVelden['iAantal'] = $("input[name='aantal']").val();
	aVelden['sKwaliteit'] = $("select[name='kwaliteit']").val();

	// BEREKENPRIJSVERVANGING
	$.post("/_CalculatePrice.php", aVelden, function(aWaarden) {

		eval(aWaarden['jQueryCode']);
		
		$("div#correct").hide();
		
		if(aWaarden['fout']=="") {
			$("#melding").removeClass();
			$("#melding").addClass("groen");
			$("#melding").show();
			$("#melding").html("Uw ingevoerde maten zijn correct. Ga naar stap 2 om deze bestelling te plaatsen.");      
			
			$("div#correct").show();     
			$("span#stuks1").html(aVelden['iAantal']);
			$("span#prijs1").html(OutputGetal(aWaarden['prijs'], 1));  
			
			var iAantal2 = Math.round(((aVelden['iAantal'] * 1.5) * 100) / 100);
			if(iAantal2>1000) {
				iAantal2 = 1000;
			}
			
			
			aVelden['iAantal'] = iAantal2;
			
			$("span#stuks2").html(iAantal2);
			$("span#prijs2").html(OutputGetal(aWaarden['prijs2'], 1));
			
		} else {
			
			if(aWaarden['fout'] != 1) {
				$("div#correct").hide();
				$("div#fout").show();
				$("span#error").html(aWaarden['fout']);
			}
			
		}

	}, "json");
}

/**
 * @ DEPRECATED Berekening van de prijs van de dozen.
 * 
 * @param   integer     p_iLengte
 * @param   integer     p_iBreedte
 * @param   integer     p_iHoogte
 * @param   integer     p_iAantal
 * @param   interger    p_sKwaliteit      
 */
/*function BerekenPrijs(p_iLengte, p_iBreedte, p_iHoogte, p_iAantal, p_sKwaliteit) {
	
	var aVelden = {};
	aVelden['iLengte'] = $("input[name='lengte']").val();
	aVelden['iBreedte'] = $("input[name='breedte']").val();
	aVelden['iHoogte'] = $("input[name='hoogte']").val();
	aVelden['iAantal'] = $("input[name='aantal']").val();
	aVelden['sKwaliteit'] = $("select[name='kwaliteit']").val();
	
	var aResult;
	
	$.post("_CalculatePrice.php", aVelden, function(aReturn) {
		eval(aReturn['jQueryCode']);
		aResult = aReturn;
		for(var i = 0; i < aReturn.length; i++)
			alert(aReturn[i]);
	}, "json");
	
	
	return aResult;
}*/

/**
 * Verstuurd een bepaald formulier naar een bepaalde url
 */ 
function Contact() {
   var aVelden = {};
   aVelden['Naam'] = $("input[name='Naam']").val();
   aVelden['E-mail'] = $("input[name='Email']").val();
   aVelden['Bedrijfsnaam'] = $("input[name='Bedrijfsnaam']").val();
   aVelden['Telefoon'] = $("input[name='Telefoon']").val();
   
   if($("input[name='Belmeterug']:checked")) {
      aVelden['Bel me terug'] = "Ja";
   } else {
      aVelden['Bel me terug'] = "Nee";
   }
   
   if($("input[name='Afspraakmaken']:checked")) {
      aVelden['Afspraak maken'] = "Ja";
   } else {
      aVelden['Afspraak maken'] = "Nee";
   }   
   
   aVelden['Opmerking'] = $("textarea[name='Opmerking']").val();

   // Alle gegevens versturen naar de opgegeven url
   if(!aVelden['Naam'] || !aVelden['E-mail']) {
      alert('U heeft alle verplichte velden niet ingevuld!');
   } else {
      if(CheckEmail(aVelden['E-mail'])==0) {
         alert('U heeft geen geldig e-mail adres ingegeven.');
      } else {
         $("#loader").show();
         $.post("/contact/VerstuurContact", aVelden, function(aReturn) {
            if(aReturn['error']!="") {
               $("#loader").hide();
               alert(aReturn['error']);
            } else {
               window.location = "/bedankt-contact";
            }
         }, "json");
      }
   }
}

/**
 * Voegt een reactie toe
 */ 
function ReactieToevoegen() {
   var aVelden = {};

   var sNaam = $("input[name='naam']").val();
   var sOnderwerp = $("input[name='onderwerp']").val();
   var sBedrijf = $("input[name='bedrijf']").val();
   var sReactie = $("textarea[name='reactie']").val();
   
   if(!sNaam || sNaam=='Naam' || !sOnderwerp || sOnderwerp=='Onderwerp' || !sBedrijf || sBedrijf=='Bedrijf' || !sReactie || sReactie=="Reactie") {
      alert('U heeft alle velden niet ingevuld!');   
   } else {
      $("#loader").show();
      
      aVelden['naam'] = sNaam;
      aVelden['onderwerp'] = sOnderwerp;
      aVelden['bedrijf'] = sBedrijf;
      aVelden['reactie'] = sReactie;
      
      $.post("/klantenreacties/plaatsreactie", aVelden, function(sReturn) {
         $("#klantenreacties_rechts").load("/klantenreacties/ToonReacties", function() {
            $("input[name='naam']").val("Naam");
            $("input[name='onderwerp']").val("Onderwerp");
            $("input[name='bedrijf']").val("Bedrijf");
            $("textarea[name='reactie']").val("Reactie");
                     
            $("#loader").hide();
         });
      });
   }
}

/**
 * Stuurt de klant door naar Stap 2
 */ 
function NaarStap2() {
	if($("span#error").html() != "") {
		alert('De waarden die u heeft ingegeven kloppen nog niet.');
	} else {
		
		$("#loader").show();
		
		var aInfo = {};
		aInfo['lengte'] = $("input[name='lengte']").val();
		aInfo['breedte'] = $("input[name='breedte']").val();
		aInfo['hoogte'] = $("input[name='hoogte']").val();
		aInfo['aantal1'] = $("input[name='aantal']").val(); 
		aInfo['kwaliteit'] = $("select[name='kwaliteit']").val();
		
		var aVelden = {};
		aVelden['iLengte'] = aInfo['lengte'];
		aVelden['iBreedte'] = aInfo['breedte'];
		aVelden['iHoogte'] = aInfo['hoogte'];
		aVelden['iAantal'] = aInfo['aantal1'];
		aVelden['sKwaliteit'] = aInfo['kwaliteit'];

		// BEREKENPRIJSVERVANGING
		$.post("/_CalculatePrice.php", aVelden, function(aWaarden) {
	
			eval(aWaarden['jQueryCode']);
			
			aInfo['prijs1'] = aWaarden['prijs'];
			
			aInfo['aantal2'] = Math.round( ( ( aInfo['aantal1'] * 1.5 ) * 100 ) / 100 );
			
			if(aInfo['aantal2']>1000)
				aInfo['aantal2'] = 1000;
			
			aInfo['prijs2'] = aWaarden['prijs2'];
			
			if(aWaarden['fout'] == 0) {
			
				$.post("/Stap2/NaarStap2", aInfo, function(sReturn) {
					window.location = "https://www.kartonnendozen-tnt.nl/stap-2";
				});
			
			} else
				alert("Er zijn nog fouten in de waarden die u heeft ingegeven.");
			
		}, "json");
	}
}

/**
 * Kopiert het adres van stap 2
 */ 
function KopierAdres() {
   $("input[name='adres2']").val($("input[name='adres1']").val());
   $("input[name='postcode2']").val($("input[name='postcode1']").val());
   $("input[name='plaats2']").val($("input[name='plaats1']").val());
}

/**
 * Plaats de bestelling
 */ 
function PlaatsBestelling() {
   var aVelden = {};
   aVelden['aantal'] = $("select[name='aantal']").val();
   aVelden['naam'] = $("input[name='naam']").val();
   aVelden['voornaam'] = $("input[name='voornaam']").val();
   aVelden['bedrijfsnaam'] = $("input[name='bedrijfsnaam']").val();
   aVelden['adres1'] = $("input[name='adres1']").val();
   aVelden['postcode1'] = $("input[name='postcode1']").val();
   aVelden['plaats1'] = $("input[name='plaats1']").val();
   aVelden['adres2'] = $("input[name='adres2']").val();
   aVelden['postcode2'] = $("input[name='postcode2']").val();
   aVelden['plaats2'] = $("input[name='plaats2']").val();
   aVelden['telefoon'] = $("input[name='telefoon']").val();
   aVelden['email'] = $("input[name='email']").val();
   aVelden['opmerking'] = $("textarea[name='opmerking']").val();
   
   aVelden['aantal1'] = $("input[name='aantal1']").val();
   aVelden['prijs1'] = $("input[name='prijs1']").val();
   aVelden['aantal2'] = $("input[name='aantal2']").val();
   aVelden['prijs2'] = $("input[name='prijs2']").val();
   
   aVelden['breedte'] = $("input[name='breedte']").val();  
   aVelden['lengte'] = $("input[name='lengte']").val();  
   aVelden['hoogte'] = $("input[name='hoogte']").val();  
   aVelden['kwaliteit'] = $("input[name='kwaliteit']").val();
   
   bVoorwaarden = $("input[name='voorwaarden']:checked").val();

   if(bVoorwaarden=="on") {
      $("#loader").show();
      
      $.post("/stap2/PlaatsBestelling", aVelden, function(aReturn) {
         if(aReturn['success']==1) {
            window.location = "/bedankt-voor-uw-bestelling";
         } else {
            $("#loader").hide();         
            alert(aReturn['bericht']);
         } 
      }, "json");
   } else {
      alert("U dient akkoord te gaan met onze algemene voorwaarden.");
   }                          
}

/**
 * Verstuurd het offerteformulier
 */ 
function VerstuurOfferte() {
   var aPost = {};
   
   aPost['Doos'] = $("input[name='doos']:checked").val();
   aPost['Kleur'] = $("input[name='kleur']:checked").val();
   aPost['Geslacht'] = $("input[name='geslacht']:checked").val();
   
   aPost['Lengte'] = $("input[name='lengteofferte']").val();
   aPost['Breedte'] = $("input[name='breedteofferte']").val();
   aPost['Hoogte'] = $("input[name='hoogteofferte']").val();
   aPost['Aantal'] = $("input[name='aantalofferte']").val();
   aPost['Kwaliteit'] = $("select[name='kwaliteitofferte']").val();
   
   aPost['Naam'] = $("input[name='naam']").val();
   aPost['Bedrijfsnaam'] = $("input[name='bedrijfsnaam']").val();
   aPost['E-mail'] = $("input[name='email']").val();
   aPost['Telefoon'] = $("input[name='telefoon']").val();
   aPost['Opmerking'] = $("textarea[name='opmerking']").val(); 
   
   if(!IsInteger(aPost['Lengte'])) {
      alert('U heeft geen numerieke lengte ingegeven!');
   } else {
      if(!IsInteger(aPost['Breedte'])) {
         alert('U heeft geen numerieke breedte ingegeven!');
      } else {
         if(!IsInteger(aPost['Hoogte'])) {
         alert('U heeft geen numerieke hoogte ingegeven!');
         } else {
            if(!IsInteger(aPost['Aantal'])) {
               alert('U heeft geen numeriek aantal ingegeven!');
            } else {
				if(aPost['Aantal'] < 10) {
				   alert('Afname vanaf 10 stuks, vul alstublieft een hoger aantal in.');
				} else {
				   if(!aPost['Naam'] || !aPost['Bedrijfsnaam'] || !aPost['E-mail'] || !aPost['Telefoon']) {
					  alert('U heeft alle verplichte velden niet ingevuld!');
				   } else {
					  if(!CheckEmail(aPost['E-mail'])) {
						 alert('U heeft geen geldig e-mail adres ingegeven!');
					  } else {
						 $("#loader").show();
						 
						 $.post("/offerte/OfferteVersturen", aPost, function(sReturn) {
							window.location = "/bedankt-offerte";
						 });
					  }
				   }
				}
            }
         }          
      }   
   }
}

/**
 * Haalt alle waarden uit de juiste pagina en stuurt de bezoeker door naar de
 * printbare pagina
 * 
 * @param   integer     p_iStap     Welke stap pagina     
 */ 
function PrintResultaat(p_iStap) {
	
	var aVelden = {};
	aVelden['iLengte'] = $("input[name='lengte']").val();
	aVelden['iBreedte'] = $("input[name='breedte']").val();
	aVelden['iHoogte'] = $("input[name='hoogte']").val();
	aVelden['iAantal'] = $("input[name='aantal']").val();
	aVelden['sKwaliteit'] = $("select[name='kwaliteit']").val();
	
	// BEREKENPRIJSVERVANGING
	$.post("/_CalculatePrice.php", aVelden, function(aWaarden) {

		if(aWaarden['fout'] != "" && p_iStap==1) {
			
			alert("Er zitten nog fouten in het formulier!");
			
		} else {
			
			$("#loader").show();
			
			var dPrijs1 = OutputGetal( aWaarden['prijs'], 1 );  
			var iAantal2 = Math.round( ( ( aVelden['iAantal'] * 1.5 ) * 100 ) / 100 );
			
			if( iAantal2 > 1000 ) {
				iAantal2 = 1000;
			}      
			
			var dPrijs2 = OutputGetal(aWaarden['prijs2'], 1);  
			
			var aInfo = {};
			
			aInfo['lengte'] = aVelden['iLengte'];
			aInfo['breedte'] = aVelden['iBreedte'];
			aInfo['hoogte'] = aVelden['iHoogte'];
			aInfo['aantal1'] = aVelden['iAantal']; 
			aInfo['kwaliteit'] = aVelden['sKwaliteit'];
			
			aInfo['prijs1'] = dPrijs1;        
			aInfo['aantal2'] = iAantal2;
			aInfo['prijs2'] = dPrijs2;
			
			
			if(p_iStap==1) {
				$.post("/stap2/naarstap2", aInfo, function(sReturn) {
					window.open("/printpagina/afdrukpagina");
				});
			} else {
				window.open("/printpagina/afdrukpagina");
			}  
		
			$("#loader").hide();
		}
	}, "json");
}

/**
 * Zet een string om naar een gebruikbare URl  
 */ 
function Zoeken() {
   var sString = $("#zoeken").val();
   $.post("/zoeken/NiceUrl", {url: sString}, function(sReturn) {
      window.location = "/zoeken/" + sReturn;
   });
}
