var f;

function checkForm(event, group, no_amount_text)
{
	var default_no_amount_text = 'Enter an amount please';
	//alert(3);
	if (document.food_log.food_id.value == '' || document.food_log.food_id.value <= 0)
	{
		document.getElementById('s_'+group).focus();
		// отключил вывод окна с поиском всего подряд. пусть что нибудь вводят
		//showSelect(event, 0, 'select.php?group_id='+group+'&name_id=food_id&name_name=s_'+group+'&page=food&word='+document.getElementById('s_'+group).value, 'search_food_'+group);
		return false;
	}
	else if (document.food_log.measure_id.value == '' || document.food_log.measure_id.value <= 0)
	{
		document.getElementById('form_measure_id_'+group).focus();
		showSelect(event, 0, '/select.php?group_id='+group+'&name_id=measure_id&name_name=form_measure_id_'+group+'&page=measure&word='+document.getElementById('form_measure_id_'+group).value+'&layer=search_measure_'+group, 'search_measure_'+group);
		return false;
	}
	else if (document.getElementById('amount_'+group).value == '')
	{
		document.getElementById('amount_'+group).focus();
		if (no_amount_text == undefined)
		{
			no_amount_text = default_no_amount_text;
		}
		alert(no_amount_text);
		return false;
	}
	else if (document.food_log.group_id.value == '' || document.food_log.group_id.value <= 0)
	{
		alert('Food, Units or Amount are missing!');
		return false;
	}
	else
	{
		var sendData = {};
		if ($('#food_list_type').val() == 'food_log')
		{
			sendData = {
				module: 'food_log',
				action: 'add',
				food_id: document.food_log.food_id.value,
				measure_id: document.food_log.measure_id.value,
				amount: document.getElementById('amount_'+group).value,
				group_id: document.food_log.group_id.value,
				date: document.food_log.date.value,
				user_id: document.food_log.user_id.value,
				owner: document.food_log.owner.value,
				time: document.getElementById('time_'+group).value
			};
		}
		else if ($('#food_list_type').val() == 'meal_plan')
		{
			sendData = {
				module: 'expert_meal_plans',
				action: 'add',
				food_id: document.food_log.food_id.value,
				measure_id: document.food_log.measure_id.value,
				amount: document.getElementById('amount_'+group).value,
				group_id: document.food_log.group_id.value,
				id: mealPlanID,
				day: mealPlanDayNum,
				time: document.getElementById('time_'+group).value
			};
		}

		$.post('/ajax.php', sendData, function(data)
		{
			if (data == 'ok')
			{
				reloadPage();
			}
		});
	}
}

function setMeasure(group_id, measure_id, measure_name)
{
	
	if (document.food_log)
	{
		document.getElementById('form_measure_id_' + group_id).value = measure_name;
		var amount = '1';
		// До 4 у нас стандартные величины
		if (measure_id <= 4)
		{
			amount = '';
		}

		if (amount == '')
		{
			addButtonDisable(group_id);
		}
		else
		{
			addButtonEnable(group_id);
		}
		document.getElementById('amount_'+group_id).value = amount;
		document.food_log.measure_id.value = measure_id;
	}
	else if ($('#food_list_type').val() == 'recipe')
	{
		//document.getElementById('form_measure_id_' + group_id).value = measure_name;
		//alert('set measure');

		var amount = '1';
		// До 4 у нас стандартные величины
		if (measure_id <= 4)
		{
			amount = '';
		}

		if (amount == '')
		{
			addButtonDisable(group_id);
		}
		else
		{
			addButtonEnable(group_id);
		}
		//document.getElementById('measure_id_'+group_id).value = measure_id;
		document.getElementById('amount_'+group_id).value = amount;

		//alert(group_id);
		var sel = new Selector('add_food_measure_container', 'measure_id_'+group_id);
		sel.val(measure_id, measure_name);
		
		sel.source = '/ajax.php?module=food_log&action=food_measure&food_id='+$('#food_id_').val(); 
	}
	else
	{
		document.getElementById('form_measure_id_' + group_id).value = measure_name;
		document.getElementById('measure_id_'+group_id).value = measure_id;
	}
}
///////////////////////////////////////////

/**
 * Включить кнопку добавления продукта
 */
function addButtonEnable(group_id)
{
	$('#add_button_'+group_id).removeClass('add_button_disabled');
	$('#add_button_'+group_id).addClass('add_button');
	$('#add_button_'+group_id).unbind('click');
	if ($('#food_list_type').val() == 'recipe')
	{
		$('#add_button_'+group_id).click(function(event){
			addFoodToList();
		});
	}
	else
	{
		$('#add_button_'+group_id).click(function(event){
			document.food_log.group_id.value = group_id;
			checkForm(event, group_id, '@@please_type_in_amount@@');
		});
	}
	$('#add_button_'+group_id).attr('title', '@@add_food@@');
}

/**
 * Отключить кнопку добавления продукта
 */
function addButtonDisable(group_id)
{
	$('#add_button_'+group_id).removeClass('add_button');
	$('#add_button_'+group_id).addClass('add_button_disabled');
	$('#add_button_'+group_id).unbind('click');
	$('#add_button_'+group_id).attr('title', '');
}

/**
 * Обработчик изменения названия продукта пользователем
 */
function onFoodNameChange(group_id)
{
	addButtonDisable(group_id);
}

/**
 * Обработчик изменения количества продукта пользователем
 */
function onAmountChange(group_id)
{
	if (isFoodCorrect(group_id))
	{
		addButtonEnable(group_id);
	}
	else
	{
		addButtonDisable(group_id);
	}
}

function isFoodCorrect(group)
{
	if ($('#food_list_type').val() == 'recipe')
	{
		var food_id    = document.getElementById('food_id_'+group).value;
		var amount     = document.getElementById('amount_'+group).value;
		var measure_id = document.getElementById('measure_id_'+group).value;

		if (food_id == '' || food_id <= 0)
		{
			return false;
		}
		if (amount == '' || isNaN(parseInt(amount, 10)))
		{
			return false;
		}
		if (measure_id == '' || measure_id <= 0)
		{
			return false;
		}
	}
	else
	{
		if (document.food_log.food_id.value == '' || document.food_log.food_id.value <= 0)
		{
			//alert('bad food');
			return false;
		}
		if (document.food_log.measure_id.value == '' || document.food_log.measure_id.value <= 0)
		{
			//alert('bad measure');
			return false;
		}
		if (document.getElementById('amount_'+group).value == '')
		{
			//alert('bad amount '+document.getElementById('amount_'+group).value);
			return false;
		}
		if (document.food_log.group_id.value == '' || document.food_log.group_id.value <= 0)
		{
			//alert('bad group');
			return false;
		}
	}
	return true;
}

function setData(name_id, name_name, id, name, group_id, measure_id, measure_name)
{
	document.getElementById(name_name).value = htmlspecialchars_decode(name);
	document.getElementById(name_id).value = id;
	setMeasure(group_id, measure_id, measure_name);

	document.getElementById(name_name).className = 'text';

	hideSelect('search_food_'+group_id);
	return false;
}

function setDataUser(name_id, name_name, id, name, group_id, measure_id, measure_name)
{
	document.getElementById(name_name).value = name;
	document.getElementById(name_id).value = id;
	document.getElementById('food_type').value = 'user';
	setMeasure(group_id, measure_id, measure_name);

	document.getElementById(name_name).className = 'text';

	hideSelect('search_food_'+group_id);
	return false;
}

function setDataMeasure(name_id, name_name, id, name, group_id)
{
	//alert(1);
	log('setDataMeasure name_id: '+name_id+' name_name: '+name_name+' id: '+id+' name: '+name+' group_id: '+group_id);
	document.getElementById(name_name).value = name;

	if (document.getElementById(name_id))
	{
		document.getElementById(name_id).value = id;
	}
	else
	{
		document.getElementById(name_id+'_'+group_id).value = id;
	}

	var amount = '1';
	// До 4 у нас стандартные величины
	if (id <= 4)
	{
		amount = '';
	}
	
	if (amount == '')
	{
		addButtonDisable(group_id);
	}
	else
	{
		addButtonEnable(group_id);
	}

	document.getElementById('amount_'+group_id).value = amount;
	if (name_name.indexOf('form_measure_id_') == 0) {
		log('setDataMeasure hide search_measure_'+group_id);
		hideSelect('search_measure_'+group_id);
	}
	else {
		var m = name_name.match(/\[(\d+)\]/);
		var food_log_id = m[1];
		log('setDataMeasure hide search_measure_food_log_'+food_log_id);
		hideSelect('search_measure_food_log_'+food_log_id);
	}
	return false;
}

////////////////////////////
function showFavorites(event, date, group_id)
{
	//var event = new event();
	processEvent(event);
	var layerID = 'select_favorite_'+group_id;
	//alert(layerID);
	var oLayer = $('#'+layerID);

	oLayer.css('position', 'absolute');

	oLayer.html('');

	if (oLayer.css('visibility') == 'visible')
	{
		oLayer.css('visibility', 'hidden');
		//oLayer.innerHTML = '';
	}
	else
	{
		oLayer.css('visibility', 'hidden');
		$.get('/select.php?page=favorites&date='+date+'&group_id='+group_id, function(data){ loadContentJquery(layerID, data); });
		addShowLayer(layerID, 1);
	}
}

function showDayFavorites(date)
{
	var layerID = 'select_day_favorite';
	var oLayer = $('#'+layerID);

	oLayer.css('position', 'absolute');

	if (oLayer.css('visibility') == 'visible')
	{
		oLayer.css('visibility', 'hidden');
	}
	else
	{
		oLayer.css('visibility', 'hidden');
		oLayer.html('');
		$.get('/select.php?page=day_favorites&date='+date, function(data){ loadContentJquery(layerID, data); });
		addShowLayer(layerID);
	}
}

function htmlspecialchars_decode(text)
{
	text = text.replace(/&amp;/, '&');
	text = text.replace(/&lt;/, '<');
	text = text.replace(/&gt;/, '>');
	text = text.replace(/&quot;/, '"');
	text = text.replace(/&#039;/, "'");
	return text;
}

