/**
add a recipe to cook book or whatever
@param foodid - food number
@param successmessage - localized success message
@param failmessage - localized fail message
@param diggbuttonid - the button used to submit the request - will be hidden during the request!
@param digglikedid - the element to show when the request is successfull (set inline css to display:none first)
@param diggboxid - the container that shows the number of people who liked the item - will be updated if specified
@param loaderid - this element will be shown during the request if specified (for example a loader gif image)
@author ade
**/
function likeFood(foodid, successmessage, failmessage, diggbuttonid, digglikedid, diggboxid, loaderid){
	var ajaxurl = "/food/like/"+foodid;
	
	//Hide digg number
	like_food_setvisible(diggboxid, false);
	
	//Hide button
	like_food_setvisible(diggbuttonid,false);

	//Check if we should show a loader
	like_food_setvisible(loaderid,true);
    
    //Make web request
	var myAjax = new Ajax.Request(
	ajaxurl,
	{ 	method: 'get', 
		onSuccess: function(req) {
			//The request should return the number of people who like the wine
			var value = parseInt(req.responseText);
			if(diggboxid != undefined && diggboxid != null) {
				//If there's a digg counter, update it
				if(value > 0) {
					$(diggboxid).update(value);
				}
			}
			
			//Show confirmation element
			like_food_setvisible(digglikedid, true);
			
			//Hide loader
			like_food_setvisible(loaderid, false);
			
			//Show the number
			like_food_setvisible(diggboxid, true);
			
			//Show popup message
			var g = new k.Growler();
			g.growl(successmessage, {header: "Winelinking", life: "5"});
		}, 
		onFailure: function() {
			//Show fail message
			var g = new k.Growler();
			g.growl(failmessage, {header: "Winelinking", life: "5"});
			
			//Hide loader
			like_food_setvisible(loaderid, false);
			
			//Show button again
			like_food_setvisible(diggbuttonid, true);
			
			//Show number
			like_food_setvisible(diggboxid, true);
		} 
	});
}

function like_food_setvisible(elemid, visible) {
	if(elemid != undefined && elemid != null && $(elemid) != null) {
		if(visible)
			$(elemid).show();
		else
			$(elemid).hide();
	}
}


/**
* remove food
@author ade
@param foodid food id
@param hideitemid id of a item to hide
@param successmessage - localized success message
@param failmessage - localized fail message
**/
function removeFood(foodid, hideitemid, successmessage, failmessage) {
	var ajaxurl = "/food/remove/"+foodid;
	//new Effect.Opacity(hideitemid, {from: 1.0, to: 0.3, duration: 0.5});
	
	var myAjax = new Ajax.Request(
	ajaxurl,
	{ 	method: 'get', 
		onSuccess: function(req) {
			new Effect.SlideUp(hideitemid, {duration: 1.0});
			//Show popup message
			growl(successmessage);
		}, 
		onFailure: function() {
			//Show fail message
			growl(failmessage);
			//new Effect.Opacity(hideitemid, {from: 0.3, to: 1.0, duration: 0.5});
			
		} 
	});	
	
}

//LEGACY CODE BELOW....
//(don't use it)

var allowLike = true;
function likeRecipe(foodid){
	if(allowLike) {
		disableLike();
		var ajaxurl = "/food/like/" + foodid;
		var myAjax = new Ajax.Request(
		ajaxurl,
		{ 	method: 'get', 
			onSuccess: handleAddFood, 
			onFailure: handleFail 
		});
	}
}
function handleAddFood(req) {
	var g = new k.Growler();
	g.growl($('text_food_liked').value, {header: "Winelinking", life: "5"});
	enableLike();
 	if($('digg_liked') != null) {
	 	$('digg_liked').show();
	 	$('digg_number').update(req.responseText);
 	}
}
function handleFail() {
	var g = new k.Growler();
	g.growl("An error occured. Please try again later.", {header: "Winelinking", life: "5"});
	enableLike();
	if($('digg_button') != null) 
 		$('digg_button').show();
}
function enableLike() {
	allowLike = true;
	if($('digg_number') != null) {
    	$('digg_number').show(); 
    	$('ajaxloader').remove(); // remove the ajax-loader
    }
}
function disableLike() {
	allowLike = false;
	if($('digg_number') != null) {
    	$('digg_number').hide();
    	$('digg_button').hide(); 
    	new Insertion.Before($('digg_number'), '<img src="/gui/images/ajax/ajax-loader-digg.gif" style=" width:16px; height:16px;" id="ajaxloader" />');
    }
}


