// JavaScript Document

function getXhr()
{
	var httpRequest = false;


	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		httpRequest = new XMLHttpRequest();
		if (httpRequest.overrideMimeType) {
			httpRequest.overrideMimeType('text/xml');
			// Voir la note ci-dessous Ã  propos de cette ligne
		}
	} else if (window.ActiveXObject) { // IE
		try {
			httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}


	if (!httpRequest) {
		alert("Abort :( can't create XMLHTTP instance");
		return false;
	}
	
	return httpRequest;
}

contenu_repas = Array();

function update_rep(select,repid,valeur) {
  var obj = document.getElementById("detail_rep_"+repid);
	var xhr = getXhr();
	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
      var donnees = eval('('+xhr.responseText+')');
      if (! contenu_repas[repid]) {
        contenu_repas[repid] = Array();
      }
      if (contenu_repas[repid][donnees.contenu]) {
        contenu_repas[repid][donnees.contenu]++ ;
      } else {
        contenu_repas[repid][donnees.contenu] = 1;
      }
      maj_contenu = '';
      for (var item in contenu_repas[repid]) {
        maj_contenu += contenu_repas[repid][item] +'&nbsp;x&nbsp;'+item+'<br/>';
      }
      if (window.ActiveXObject) {
        obj.outerHTML = '<p id="detail_rep_'+repid+'" class="p_arrondi">'+maj_contenu+'</p>';
      } else {
        obj.innerHTML = maj_contenu;
      }
      var calories = 0;
      var tot_calories = 0;
      var tot_lipides = 0;
      var tot_glucides = 0;
      var tot_protides = 0;
      try {
        calories = parseInt(document.getElementById("calories_rep_"+repid).value) + parseInt(donnees.calories);
        if (isNaN(calories)) {
          calories = parseInt(donnees.calories);
        }
      } catch (e) {
        calories = parseInt(donnees.calories);
      }
      try {
        tot_calories = parseInt(document.getElementById("tot_calories").value) + parseInt(donnees.calories);
        if (isNaN(tot_calories)) {
          tot_calories = parseInt(donnees.calories);
        }
      } catch (e) {
        tot_calories = parseInt(donnees.calories);
      }
      try {
        tot_lipides = parseInt(document.getElementById("tot_lipides").value) + parseInt(donnees.lipides);
        if (isNaN(tot_lipides)) {
          tot_lipides = parseInt(donnees.lipides);
        }
      } catch (e) {
        tot_lipides = parseInt(donnees.lipides);
      }
      try {
        tot_glucides = parseInt(document.getElementById("tot_glucides").value) + parseInt(donnees.glucides);
        if (isNaN(tot_glucides)) {
          tot_glucides = parseInt(donnees.glucides);
        }
      } catch (e) {
        tot_glucides = parseInt(donnees.glucides);
      }
      try {
        tot_protides = parseInt(document.getElementById("tot_protides").value) + parseInt(donnees.protides);
        if (isNaN(tot_protides)) {
          tot_protides = parseInt(donnees.protides);
        }
      } catch (e) {
        tot_protides = parseInt(donnees.protides);
      }
      document.getElementById("calories_rep_"+repid).value = calories;
      document.getElementById("tot_calories").value = tot_calories;
      document.getElementById("tot_lipides").value = tot_lipides;
      document.getElementById("tot_glucides").value = tot_glucides;
      document.getElementById("tot_protides").value = tot_protides;
      select.selectedIndex = 0;
		}
	}
	
	xhr.open("GET", "calcul_ajax.php?repas="+repid+"&id="+valeur, true);
	xhr.send(null);
}

