if (undefined == uriPrefix)
	var uriPrefix = "/";
var ajaxLoading = false;

$(document).ready(function(){
	// Form hints
	$('form input[type=text]').each(function(){ formHints(this); });
	$('form textarea').each(function(){ formHints(this); });
	$('form').bind('submit', function(){ $('input[type=text]').each(function(){ if ($(this).val() == $(this).attr('title')) $(this).val(''); }); });
	$('#commentBody').bind('focus', function(){
		$(this).css('height', '100px');
		$(this).parent().parent().find('input[type=submit]').show();
	}).bind('blur', function(){
		if ('' != $(this).val() && $(this).val() != $(this).attr('title'))
			return true;
		$(this).css('height', '40px');
		$(this).parent().parent().find('input[type=submit]').hide();
	});
});

function formHints(elem) {
	if ($(elem).val() == '' && $(elem).attr('title') != '')
		$(elem).val($(elem).attr('title')).addClass('blur');
	$(elem).bind('focus', function(){
		$(elem).removeClass('blur');
		if ($(elem).val() == $(elem).attr('title'))
			$(elem).val('');
	}).bind('blur', function(){
		if ($(elem).val() == '' && $(elem).attr('title') != '') {
			$(elem).val($(elem).attr('title'));
			$(elem).addClass('blur');
		} 
	});
}

function similarFood(elem, pick_method, skip_id) {
	if (ajaxLoading)
		return false;
	var boxElem = $(elem).parents('.box').eq(0);
	var foodMeta = $(boxElem).find('.briefFood').attr('id').split('-');

	ajaxLoading = true;

	$.ajax({
		type: "POST",
		url: uriPrefix + "foods/by_category",
		data: "category=" + foodMeta[1] + "&current=" + foodMeta[2] + "&method=" + pick_method + "&skip=" + skip_id,
		success: function(response) {
			var theWidth = $('.briefFood', boxElem).eq(0).width();
			var respObj = $(response);
			var sliderObj = $('.foodSlider', boxElem);
			$('.briefFood', boxElem).removeClass('current');
			if ('next' == pick_method) {
				$(respObj).css('left', theWidth).addClass('current').appendTo(sliderObj);
				$('.briefFood', boxElem).animate({ left: "-="+theWidth }, 'slow', null, foodSlideDone);
			} else {
				$(respObj).css('left', -theWidth).addClass('current').prependTo(sliderObj);
				$('.briefFood', boxElem).animate({ left: "+="+theWidth }, 'slow', null, foodSlideDone);
			}
		}
	});
	return false;
}

// Callback of foodslider
function foodSlideDone() {
	$('.foodSlider .briefFood').each(function(){
		if (! $(this).hasClass('current'))
			$(this).remove();
	});
	ajaxLoading = false;
}

// Show next friend email field
function focusedFriendEmail(elem) {
	if (0 < elem.value.length)
		$(elem).parent().next().eq(0).show();
}

function submitTellaFriend(elem) {
	var from = $('input[name=fromEmail]', elem).val();
	var to = '';
	$('input[name^=toEmail]', elem).each(function(){
		to += $(this).val() + ",";
	});
	var body = $('textarea[name=body]', elem).val();
	var food = $('input[name=food]', elem).val();
	var data = {action: "tellafriend", ajax: 1, food: food, from: from, to: to, body: body};
	$.ajax({
		type: "POST",
		url: window.location.href,
		data: data,
		success: function(response) {
			if (-1 == response.indexOf(' OK ')) {
				$('.submitInput', elem).attr('disabled', '');
				$('.tellaFriend .response').empty().append(response);
			} else {
				$('.tellaFriend .form').hide('fast');
				$('.tellaFriend .response').empty().append(response);
			}
		}
	});
	$('.submitInput', elem).attr('disabled', 'disabled');
	return false;
}

function showLoginForm() {
	if ($('#loginFormHolder:visible').get(0))
		$('#loginFormHolder').slideUp('fast');
	else
		$('#loginFormHolder').slideDown('fast', function(){ $('#loginFormHolder input[type=text]:first').focus(); });
	return false;
}

function showSearchForm() {
	$('#searchFormHolder').slideToggle('fast');
	return false;
}

function bindStarActions() {
	$('#leftCol .stars .star').bind('mouseover', function(){
		$(this).removeClass('grey').prevAll('.star').removeClass('grey');
		$(this).nextAll('.star').addClass('grey');
	}).bind('click', function(){
		if (ajaxLoading)
			return false;
		var score = 5 - $(this).nextAll('.star').length;
		var food = $(this).parents('.randomFood').eq(0).attr('rel');
		ajaxLoading = true;
		$.ajax({
			type: "POST",
			url: uriPrefix + "foods/give_score",
			data: "score=" + score + "&food=" + food,
			success: function(response){
				ajaxLoading = false;
				if (-1 == response.indexOf('div')) {
					$('#leftCol .stars *').hide();
					$('#leftCol .stars').append('<div class="msgbox hidden">' + response + '</div>').find('.msgbox').fadeIn();
					setTimeout(function(){ $('#leftCol .stars .msgbox').remove(); $('#leftCol .stars .star').fadeIn(); $('#leftCol .stars .voteCount').fadeIn(); }, 2500);
					return true;
				}
				$('#leftCol .stars').empty().append(response).find('.msgbox').fadeIn();
				setTimeout(function(){ $('#leftCol .stars .msgbox').remove(); $('#leftCol .stars .hidden').fadeIn(); bindStarActions(); }, 2500);
			}
		});
	});
}
