var nrofingr = 0;
var lang = 'nl';
var xmlhttp;

function showRecipe(id)
{
   document.getElementById('wissel1').className = 'visibleblock';
   document.getElementById('wissel2').className = 'hidden';
   
   varstring = "id="+id;
	// sending data here ...
   xmlhttp=null;
   
   if (window.XMLHttpRequest)
   {
      // code for all new browsers
      xmlhttp=new XMLHttpRequest();
   }
   else if (window.ActiveXObject)
   {
      // code for IE5 and IE6
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }

   if (xmlhttp!=null)
   {
      xmlhttp.open("POST","get_recipe.php");
      xmlhttp.onreadystatechange=displayRecipe;
      xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlhttp.send(varstring);
   }
   else
   {
      alert("Uw browser ondersteund geen XMLHTTP.");
   }
}

function displayRecipe()
{
   if (xmlhttp.readyState==4)
   {
      // 4 = "loaded"
      if (xmlhttp.status==200)
      {
         // 200 = OK
         if (xmlhttp.responseText != "")
         {
				var txtparts = Array();
				txtparts = xmlhttp.responseText.split('<receplist>');
            document.getElementById('preparation').innerHTML = txtparts[0];
            document.getElementById('ingredients').innerHTML = txtparts[1];
         }
         else
         {
            document.getElementById('preparation').innerHTML = "<div id=content_cat style='padding-top: 16px'>Niet gevonden ...</div>";
            document.getElementById('ingredients').innerHTML = "<div id=content_cat style='padding-top: 16px'>Niet gevonden ...</div>";
            //setTimeout("location.href='index.php'",3000)
         }
         xmlhttp.close;
      }
      else
      {
         document.getElementById('preparation').innerHTML = "<div id=content_cat style='padding-top: 16px'>Niet gevonden ...</div>";
         alert("Server kan het verzoek niet tonen: " + xmlhttp.status);
      }
   }
}

function goUpload(lang)
{
   document.getElementById('wissel1').className = 'hidden';
   document.getElementById('wissel2').className = 'visibleblock';
	createIngredients(10,lang);
}

function searchRecipe()
{
   document.getElementById('wissel1').className = 'visibleblock';
   document.getElementById('wissel2').className = 'hidden';
	
   varstring = "searchtxt="+document.searchform.searchtxt.value;
	if (document.searchform.appetizer.checked)
	{
		varstring = varstring + "&appetizer="+document.searchform.appetizer.value;
	}
	if (document.searchform.maincourse.checked)
	{
		varstring = varstring + "&maincourse="+document.searchform.maincourse.value;
	}
	if (document.searchform.dessert.checked)
	{
		varstring = varstring + "&dessert="+document.searchform.dessert.value;
	}

	
	// sending data here ...
   xmlhttp=null;
   
   if (window.XMLHttpRequest)
   {
      // code for all new browsers
      xmlhttp=new XMLHttpRequest();
   }
   else if (window.ActiveXObject)
   {
      // code for IE5 and IE6
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }

   if (xmlhttp!=null)
   {
      xmlhttp.open("POST","search_recipe.php");
      xmlhttp.onreadystatechange=displaySearchRes;
      xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlhttp.send(varstring);
   }
   else
   {
      alert("Uw browser ondersteund geen XMLHTTP.");
   }
}

function displaySearchRes()
{
   if (xmlhttp.readyState==4)
   {
      // 4 = "loaded"
      if (xmlhttp.status==200)
      {
         // 200 = OK
         if (xmlhttp.responseText != "")
         {
            document.getElementById('recipes_listing_content').innerHTML = xmlhttp.responseText;
         }
         else
         {
            document.getElementById('recipes_listing_content').innerHTML = "Niets gevonden ...";
            //setTimeout("location.href='index.php'",3000)
         }
         xmlhttp.close;
      }
      else
      {
         document.getElementById('recipes_listing_content').innerHTML = "Niets gevonden ...";
         alert("Server kan het verzoek niet tonen: " + xmlhttp.status);
      }
   }
}

function verhoog()
{
	nrofingr++;
	createIngredients(nrofingr,lang);
}

function createIngredients(nr,l)
{
	var nwtxt;
	if (nr < nrofingr) return;
	lang = l;
	switch(l)
	{
		case 'nl': nwtxt = 'Meer'; break;
		case 'en': nwtxt = 'More'; break;
	}
	if (nrofingr >0)
	{
		var len = document.ingrlist.ingr.length;
		var old = Array();
		for (var j=0; j<len; j++)
		{
			old[j] = document.ingrlist.ingr[j].value;
		}
	}

	var newtable = "<table border=0 width=80% cellpadding=0 style='border-collapse: collapse'>\n";
	for (var i=0; i<nr; i++)
	{
		newtable = newtable + "<tr><td style='padding-bottom: 4px; text-align:center'>\n";
		newtable = newtable + "<input name=ingr type=text maxlength=48 size=16 class=ingrfield />\n";
		newtable = newtable + "</td></tr>\n";
	}
	newtable = newtable + "</table><br>\n";
	newtable = newtable + "<a href='javascript:verhoog()'>"+nwtxt+" ...</a>\n";
	document.getElementById('newingrcont').innerHTML = newtable;
	if (nrofingr >0)
	{
		for (j=0; j<len; j++)
		{
			document.ingrlist.ingr[j].value = old[j];
		}
	}
	if (nrofingr > 0) document.ingrlist.ingr[nr-1].focus();
	nrofingr = nr;
}

function sendForm()
{
   var abbrev = document.recepformgeg;
	var errtxt;
	var chktxt;
	
	document.getElementById('resultarea').innerHTML = "&nbsp;";
	
	// first value
   var voornaam = abbrev.firstname.value;
	switch(lang)
	{
		case 'nl': chktxt = 'Voornaam*'; break;
		case 'en': chktxt = 'First name*'; break;
	}
	if (voornaam == '' || voornaam == chktxt)
	{
		varstring = "voornaam=";
	}
	else
	{
		varstring = "voornaam="+voornaam;
	}
	
   var achternaam = abbrev.lastname.value;
	switch(lang)
	{
		case 'nl': chktxt = 'Achternaam'; break;
		case 'en': chktxt = 'Last name'; break;
	}
	if (achternaam == '' || achternaam == chktxt)
	{
		switch(lang)
		{
			case 'nl': errtxt = 'Achternaam ontbreekt'; break;
			case 'en': errtxt = 'Last name not specified'; break;
		}
		document.getElementById('resultarea').innerHTML = errtxt;
		abbrev.lastname.focus();
		return
	}
	else
	{
		varstring = varstring + "&achternaam="+achternaam;
	}
	
   var telefoon = abbrev.phone.value;
	switch(lang)
	{
		case 'nl': chktxt = 'Telefoon*'; break;
		case 'en': chktxt = 'Telephone*'; break;
	}
	if (telefoon == '' || telefoon == chktxt)
	{
		varstring = varstring + "&telefoon=";
	}
	else
	{
		varstring = varstring + "&telefoon="+telefoon;
	}
	
   var email = abbrev.email.value;
	if (email == '' || email == 'E-mail')
	{
		switch(lang)
		{
			case 'nl': errtxt = 'E-mail ontbreekt'; break;
			case 'en': errtxt = 'E-mail not specified'; break;
		}
		document.getElementById('resultarea').innerHTML = errtxt;
		abbrev.email.focus();
		return
	}
	else
	{
		varstring = varstring + "&email="+email;
	}
	
   var gerecht = abbrev.fgerecht.value;
	if (gerecht == '')
	{
		switch(lang)
		{
			case 'nl': errtxt = 'Geen gerecht geselecteerd'; break;
			case 'en': errtxt = 'No course type selected'; break;
		}
		document.getElementById('resultarea').innerHTML = errtxt;
		abbrev.gerecht.focus();
		return
	}
	else
	{
		varstring = varstring + "&gerecht="+gerecht;
	}
	
   var personen = abbrev.apersonen.value;
	switch(lang)
	{
		case 'nl': chktxt = 'Aantal personen'; break;
		case 'en': chktxt = 'Number of persons'; break;
	}
	if (personen == '' || personen == chktxt)
	{
		switch(lang)
		{
			case 'nl': errtxt = 'Aantal personen niet opgegeven'; break;
			case 'en': errtxt = 'Number of persons not specified'; break;
		}
		document.getElementById('resultarea').innerHTML = errtxt;
		abbrev.personen.focus();
		return
	}
	else
	{
		varstring = varstring + "&personen="+personen;
	}
	
   var tijd = abbrev.tijd.value;
	switch(lang)
	{
		case 'nl': chktxt = 'Bereidingstijd'; break;
		case 'en': chktxt = 'Preparation time'; break;
	}
	if (tijd == '' || tijd == chktxt)
	{
		switch(lang)
		{
			case 'nl': errtxt = 'Bereidingstijd niet opgegeven'; break;
			case 'en': errtxt = 'Preparation time not specified'; break;
		}
		document.getElementById('resultarea').innerHTML = errtxt;
		abbrev.tijd.focus();
		return
	}
	else
	{
		varstring = varstring + "&tijd="+tijd;
	}
	
   var titel = abbrev.titel.value;
	switch(lang)
	{
		case 'nl': chktxt = 'Naam gerecht'; break;
		case 'en': chktxt = 'Name recipe'; break;
	}
	if (titel == '' || titel == chktxt)
	{
		switch(lang)
		{
			case 'nl': errtxt = 'Naam gerecht niet opgegeven'; break;
			case 'en': errtxt = 'Name of recipe not specified'; break;
		}
		document.getElementById('resultarea').innerHTML = errtxt;
		abbrev.titel.focus();
		return
	}
	else
	{
		varstring = varstring + "&titel="+titel;
	}
	
   var recepttxt = document.recepformtxt.recepttxt.value;
	
	if (recepttxt == '')
	{
		switch(lang)
		{
			case 'nl': errtxt = 'Bereidingswijze is leeg'; break;
			case 'en': errtxt = 'Preparation not specified'; break;
		}
		document.getElementById('resultarea').innerHTML = errtxt;
		document.recepformtxt.recepttxt.focus();
		return
	}
	else
	{
		varstring = varstring + "&recepttxt="+recepttxt;
	}	
	
	var nrofingr = document.ingrlist.ingr.length
	var notempty = 0;
	for (var z=0; z<nrofingr; z++)
	{
		varstring = varstring + "&ingr"+z+"="+document.ingrlist.ingr[z].value;
		if (document.ingrlist.ingr[z].value != "") notempty++;
	}
	
	if (notempty == 0)
	{
		switch(lang)
		{
			case 'nl': errtxt = 'Er zijn geen ingrediënten opgegeven'; break;
			case 'en': errtxt = 'No ingredients specified'; break;
		}
		document.getElementById('resultarea').innerHTML = errtxt;
		document.ingrlist.ingr[0].focus();
		return
	}
	varstring = varstring + "&nrofingr="+nrofingr;
	
	// sending data here ...
   xmlhttp=null;
   
   if (window.XMLHttpRequest)
   {
      // code for all new browsers
      xmlhttp=new XMLHttpRequest();
   }
   else if (window.ActiveXObject)
   {
      // code for IE5 and IE6
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }

   if (xmlhttp!=null)
   {
		switch(lang)
		{
			case 'nl': errtxt = 'Recept aan het verwerken'; break;
			case 'en': errtxt = 'Checking your recipe'; break;
		}
      document.getElementById('resultarea').innerHTML = "<span style='color: #0000FF'>"+errtxt+" ...</span>";
      document.getElementById('submitarea').className = "hidden";
      xmlhttp.open("POST","handle_form.php");
      xmlhttp.onreadystatechange=report_result;
      xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      xmlhttp.send(varstring);
   }
   else
   {
      alert("Uw browser ondersteund geen XMLHTTP.");
   }
}

function report_result()
{
	var chktxt;
   if (xmlhttp.readyState==4)
   {
      // 4 = "loaded"
      if (xmlhttp.status==200)
      {
         // 200 = OK
         if (xmlhttp.responseText != "")
         {
				switch(lang)
				{
					case 'nl': chktxt = 'is niet geldig'; break;
					case 'en': chktxt = 'is not valid'; break;
				}
				if (xmlhttp.responseText.indexOf(chktxt) == -1)
				{
					switch(lang)
					{
						case 'nl': errtxt = 'Gelukt ...<br>\nBedankt voor uw recept !'; break;
						case 'en': errtxt = 'Successful ...<br>\nThank you for your recipe !'; break;
					}
	            document.getElementById('resultarea').innerHTML ="<span style='color: #0000FF'>"+errtxt+"</span>";
					document.recepformtxt.reset(); 
					document.recepformgeg.reset();
					document.ingrlist.reset();
					nrofingr = 0;
	            setTimeout("toonUpload(xmlhttp.responseText)",2000);
				}
				else
				{
	            // Error, display error text
	            document.getElementById('resultarea').innerHTML = "<span style='color: #FF0000'>"+xmlhttp.responseText+"<\/span>";
					document.recepformgeg.email.focus();
	            document.getElementById('submitarea').className = "visibleblock";
				}
         }
         xmlhttp.close;
      }
      else
      {
         document.submitform.reset();
         document.getElementById('submitarea').className = "visibleblock";
         document.getElementById('resultarea').innerHTML = "&nbsp;";
			
         alert("Server kan het recept niet verwerken: " + xmlhttp.status);
      }
   }
}

function toonUpload(id)
{
	document.getElementById('preptxt').className = "hidden";
	document.getElementById('upload').className = "visibleblock";
	document.picupload.idx.value = id;
}