
	var adding = false;
	var food_text = new Array;

  function reload(argIndex)
  {
    food_change(argIndex);
  }

  function show_save_field()
  {
    new Ajax.Request('/user/ajax_xml_logged_in', {asynchronous:true, evalScripts:true, onSuccess:function(request){
      if(request.responseXML.getElementsByTagName("status")[0].childNodes[0].nodeValue == "yes")
      {
        $('save_field').style.display = "inline";
      } else {
        alert("You have to login.");
      }
    }, parameters:'authenticity_token=' + encodeURIComponent('+NojuXj8iaAB7/6NkFYzKreiu+qAuDC2IE8VF6CFtfA=')})
  }

  function change_detail_visible(argIndex)
  {
    if($F('detail_visible'+argIndex) == "true")
    {
      $('detail_visible'+argIndex).value = "false";
      Effect.Fade('detail'+argIndex, {duration: 0.5});
    } else {
      Effect.Appear('detail'+argIndex, {duration: 0.5});
      $('detail_visible'+argIndex).value = "true";
    }
  }

  function save()
  {
    new Ajax.Updater('save', '/calc/ajax_save', {asynchronous:true, evalScripts:true, parameters:$('form1').serialize() + '&authenticity_token=' + encodeURIComponent('+NojuXj8iaAB7/6NkFYzKreiu+qAuDC2IE8VF6CFtfA=')})
    return false;
  }

  function is_nil(arg)
  {
    result = arg.getAttributeNode("nil");
    if(result)
    {
      if(result.value)
      {
        return true;
      }
    }
    return false;
  }

  function calc_result(resultXML)
  {

    new Effect.Fade($("loading"),{ from:1, to:0 });

    var status = resultXML.getElementsByTagName("status")[0].childNodes[0].nodeValue;
    if(status == "OK")
    {
      var results = resultXML.getElementsByTagName("results")[0].getElementsByTagName("result");

      for(i=0; i < results.length; i++)
      {

        if(results[i].getElementsByTagName("food-id")[0].attributes.length != 0)
        {
          if(!is_nil(results[i].getElementsByTagName("disp-gram")[0]))
          {
            $('gram'+i).value = results[i].getElementsByTagName("disp-gram")[0].childNodes[0].nodeValue;
            if($('gram'+i).value == 0)
            {
              $('gram'+i).value = "";
            }
          } else {
              $('gram'+i).value = "";
          }

          //food_nil_attr = results[i].getElementsByTagName("food-id")[0].getAttributeNode("nil");
          //if(food_nil_attr)
          //{
          //  if(food_nil_attr.value)
          //  {

          if( is_nil(results[i].getElementsByTagName("food-id")[0]))
          {
              $('food'+i).value = "";
              $('amount'+i).value = "";
              $('gram'+i).value = "";
              $('food_id'+i).value = "";

              $('food_result'+i).innerHTML = "";
              $('amount_result'+i).innerHTML = "";
          }

          //  }
          //}
        }

        Effect.Appear("calc_result_energy", {duration: 0.5});
        $('result_energy').innerHTML = resultXML.getElementsByTagName("total-energy")[0].childNodes[0].nodeValue;
      }
    }
  }


  function exeture_calc()
  {
    new Ajax.Request('/calc/ajax_json_calc_result', {asynchronous:true, evalScripts:true, onSuccess:function(request){


      try
      {
        new Effect.Fade($("loading"),{ from:1, to:0 });

        var obj = request.responseText.evalJSON();

        if(obj.status == "OK")
        {
          for(i=0; i < obj.results.length; i++)
          {

            if(obj.results[i].food_id)
            {
              if(obj.results[i].disp_gram)
              {
                $("gram"+i).value = obj.results[i].disp_gram;
                if($("gram"+i).value == 0)
                {
                  $("gram"+i).value = "";
                }
              } else {
                  $("gram"+i).value = "";
              }



              if(!obj.results[i].food_id)
              {
                  $("food"+i).value = "";
                  $("amount"+i).value = "";
                  $("gram"+i).value = "";
                  $("food_id"+i).value = "";

                  $("food_result"+i).innerHTML = "";
                  $("amount_result"+i).innerHTML = "";
              }
            }

            Effect.Appear("calc_result_energy", {duration: 0.5});
            $("result_energy").innerHTML = obj.total.energy;
						$("result_protein").innerHTML = obj.total.protein;
						$("result_lipid").innerHTML = obj.total.lipid;
						$("result_salt_equivalents").innerHTML = obj.total.salt_equivalent;
						$("result_calcium").innerHTML = obj.total.calcium;
						$("result_iron").innerHTML = obj.total.iron;
						$("result_retinol_activity_equivalents").innerHTML = obj.total.retinol_activity_equivalents;
						$("result_vitamin_b1").innerHTML = obj.total.vitamin_b1;
						$("result_vitamin_b2").innerHTML = obj.total.vitamin_b2;
						$("result_vitamin_c").innerHTML = obj.total.vitamin_c;
						$("result_total_dietary_fiber").innerHTML = obj.total.total_dietary_fiber;
						$("result_carbohydrate").innerHTML = obj.total.carbohydrate;
						$("result_cholesterol").innerHTML = obj.total.cholesterol;

          }
        }
      } catch(e) {
        alert(e.message);
      }

    }, parameters:$('form1').serialize() + '&authenticity_token=' + encodeURIComponent('+NojuXj8iaAB7/6NkFYzKreiu+qAuDC2IE8VF6CFtfA=')})

    return false;
    new Ajax.Updater('keion', '/calc/ajax_json_calc_result', {asynchronous:true, evalScripts:true, onSuccess:function(request){alert(request.responseText);calc_result(request.responseXML);}, parameters:$('form1').serialize() + '&authenticity_token=' + encodeURIComponent('+NojuXj8iaAB7/6NkFYzKreiu+qAuDC2IE8VF6CFtfA=')})
    return false;
  }

  function amount_change(argIndex)
  {
      //if($('food_id'+argIndex).value != '')
      //{
        new Ajax.Request('/calc/ajax_json_calc_gram', {asynchronous:true, evalScripts:true, onSuccess:function(request){
          try
          {
            var obj = request.responseText.evalJSON();
            if(obj.status == "OK")
            {
              $("food_result"+argIndex).innerHTML = "";
              $("gram" + argIndex).value = obj.gram;
            } else {
              $("food_result"+argIndex).innerHTML = "量が認識できません。";
              $('gram' + argIndex).value = "";
            }
          } catch(e) {
          }

        }, parameters:'food=' + encodeURIComponent($F('food' + argIndex)) + '&amount=' + encodeURIComponent($F('amount' + argIndex))  + '&authenticity_token=' + encodeURIComponent('+NojuXj8iaAB7/6NkFYzKreiu+qAuDC2IE8VF6CFtfA=')})
      //}
  }

  function food_change(argIndex)
  {

			var use_food_text = $F('food' + argIndex);


			if(suggests[argIndex].overText &&  use_food_text != suggests[argIndex].overText)
			{
				use_food_text = suggests[argIndex].overText;
				$('food' + argIndex).value = use_food_text;
				suggests[argIndex].overText = "";
			}

			if(food_text[argIndex] == use_food_text)
			{
				return;
			} else {
				food_text[argIndex] = use_food_text;
		    $('food_id'+argIndex).value = '';
		    $('food_result'+argIndex).innerHTML = '';
		    $('amount'+argIndex).value = '';
		    $('gram'+argIndex).value = '';
		    $('refuse'+argIndex).innerHTML = '';
			}

			if(use_food_text == '')
      	return;

      new Ajax.Request('/calc/ajax_json_food_change', {asynchronous:true, evalScripts:true, onSuccess:function(request){
        try
        {
          var obj = request.responseText.evalJSON();
          if(obj.status == "OK")
          {
            var i;
            var unit_names = "";

            for(i = 0; i < obj.units.length; i++)
            {
              unit_names = unit_names+ obj.units[i].unit.name + "　";
            }

            $("amount_result"+argIndex).innerHTML = '使用可能単位：g' + unit_names;
				    $('refuse'+argIndex).innerHTML = obj.refuse + '%';

            $("amount_result"+argIndex).style.display = "none";
            Effect.Appear("amount_result"+argIndex, {duration: 0.5});
          } else {
            $("amount_result"+argIndex).innerHTML = "食材を見直してください。";
						$("food_result"+argIndex).innerHTML = "「" + $F("food" + argIndex) + "」が見つかりません.";
          }
        } catch(e) {
        }


    }, parameters:'id=' + encodeURIComponent(use_food_text) + '&authenticity_token=' + encodeURIComponent('+NojuXj8iaAB7/6NkFYzKreiu+qAuDC2IE8VF6CFtfA=')})


  }

  function additem()
  {
		if(!adding)
		{
			adding = true;
	    new Ajax.Updater('calc', '/calc/ajax_html_part', {asynchronous:true, evalScripts:true, insertion:'bottom', onComplete:function(request){
				suggests[itemindex] = new Suggest.Local("food"+itemindex, "suggest"+itemindex, list, {prefix: true});
				adding = false;
		    itemindex = itemindex + 1;
			}, parameters:'id=' + itemindex + '&authenticity_token=' + encodeURIComponent('+NojuXj8iaAB7/6NkFYzKreiu+qAuDC2IE8VF6CFtfA=')})

		}
  }

  function deleteitem()
  {
		if(!adding && itemindex > 1)
		{
	    itemindex = itemindex - 1;
	    removeitem = $('item' + itemindex);
	    removeitem.remove();
		}
  }
