function remember_trip()
{
	var tri_id = $('#hidden_trip_id').attr('value');
	$.ajax(
	{
		type: "POST",
		url: "vergelijk/ajax",
		data: "action=remember_trip&tri_id=" + tri_id,
		dataType: 'json',
		success: function(msg)
		{
			if(msg == -1)
				return;
			var str_insert = '';
			str_insert += '<li class="submenu" style="list-style-type:none; margin-left:-20px;">';
			str_insert += '<input id="check_' + tri_id + '" type="checkbox" value="'+ tri_id +'"/><a href="/'+ msg[1] +'">'+msg[0]+'</a>';
			str_insert += '</li>';
			//check if div exists
			if($('#favorite_trips').length == 0)
			{
				str_insert = '<div id="favorite_trips"><br /><li style="list-style-type:none"><strong>Bewaarde trips</strong></li>' + str_insert;
				var str_extra = '<div id="favorite_actions"><div style="font-size:10px; margin:5px">Met geselecteerde trips:<br /><a href="javascript:redirect_compare()">Vergelijk</a> | <a href="javascript:forget_trips()">Verwijder</a></div></div>';
				//insert the first part
				$('#leftmenu .menu li').eq(0).find('ul.submenu').eq(0).append(str_insert);
				$('#leftmenu .menu li').eq(0).append(str_extra);
			}
			else
			{
				$('#favorite_trips').append(str_insert);
			}
		}
	});
}

function forget_trips()
{
	var str_ids = '';
	$('.submenu :checked').each(function()
	{
		str_ids += $(this).attr('value') + ',';
		$(this).parent().remove();
	});
	if($('#favorite_trips li').length < 2)
	{
		$('#favorite_trips').remove();
		$('#favorite_actions').remove();
	}
	str_ids = str_ids.substr(0, str_ids.length - 1);
	//alert(str_ids);
	$.ajax(
	{
		type: "POST",
		url: "vergelijk/ajax",
		data: "action=forget_trip&trip_ids=" + str_ids
	});
}

function redirect_compare()
{
	str_url = '';
	int_length = $('.submenu :checked').length;
	
	if(int_length < 2)
	{
		alert('Kies minimaal 2 accommodaties om te vergelijken');
	}
	if(int_length > 4)
	{
		alert('Kies maximaal 4 accommodaties om te vergelijken');
	}
	
	$('.submenu :checked').each(function(){
		str_url += '/' + $(this).attr('value');
	});
	str_url += '/vergelijk';
	document.location.href = str_url;
}

function email_trip()
{
	$('.mail_a_friend').css('display','block');
}

function set_receipt_view_events()
{
	var receipt_margin = 5;
	var receipt_offset = calculate_receipt_offset();
	
	$('#receipt .trip_information .toggle a').click(receipt_toggle_event);
	
    $(window).resize(function() {
		process_receipt_resize(receipt_offset, receipt_margin);
    });
    $(window).resize();
    
	$(window).scroll(function() {
		process_receipt_scroll(receipt_offset, receipt_margin);
	});
	$(window).scroll();
}

function receipt_toggle_event()
{
	if ($(this).hasClass('busy')) {
		return;
	}
	$(this).addClass('busy');
	
	if ($('.ui-icon', this).hasClass('ui-icon-plusthick'))
	{
		$('.ui-icon', this).removeClass('ui-icon-plusthick').addClass('ui-icon-minusthick');
		$('#receipt .trip_information .receipt_info_box_content').removeClass('hidden').slideDown();
	}
	else
	{
		$('.ui-icon', this).removeClass('ui-icon-minusthick').addClass('ui-icon-plusthick');
		$('#receipt .trip_information .receipt_info_box_content').addClass('hidden').slideUp();
	}
	
	$(this).removeClass('busy');
	return false;
}

function calculate_receipt_offset()
{
	var receipt_offset = 0;
	var obj = $('#receipt_container')[0];
    while(obj) {
		receipt_offset += obj.offsetTop;
		obj = obj.offsetParent;
    }
    return receipt_offset;
}

function process_receipt_resize(receipt_offset, receipt_margin)
{
	var trip_info_content = $('#receipt .trip_information .receipt_info_box_content');
	var receipt_height = $('#receipt').height();
	if ($(trip_info_content).hasClass('hidden')) {
		receipt_height += $(trip_info_content).data('content_height');
	}
	var window_height = $(window).height();
	
	if (receipt_height > window_height)
	{
		if (!$(trip_info_content).hasClass('user_control'))
		{
			$(trip_info_content).data('content_height', $(trip_info_content).height() + 20);
			$(trip_info_content).addClass('user_control hidden').slideUp(function() {
				var header = $('#receipt .trip_information h3');
				$(header).stop();
				$(header).animate({ opacity: 0.2 });
				$(header).animate({ opacity: 1 }, function() {
					$('#receipt .trip_information .toggle .ui-icon').removeClass('ui-icon-minusthick').addClass('ui-icon-plusthick');
					$('#receipt .trip_information .toggle').show();
				});
			});
		}
	}
	else
	{
		$('#receipt .trip_information .toggle').hide();
		if ($(trip_info_content).hasClass('user_control')) {
			$(trip_info_content).removeClass('user_control hidden').slideDown();
		}
	}
}

function process_receipt_scroll(receipt_offset, receipt_margin)
{
	var pageYOffset = getScrollY();
	if (pageYOffset - receipt_offset + receipt_margin > 0) {
		$('#receipt').css('position', 'fixed');
		$('#receipt').css('top', receipt_margin+'px');
	}
	else {
		$('#receipt').css('position', '');
		$('#receipt').css('top', '');
	}
	
	process_receipt_resize(receipt_offset, receipt_margin);
}

function getScrollY()
{
	if (typeof(window.pageYOffset) == 'number') {
		return window.pageYOffset;
	}
	else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
		return document.body.scrollTop;
	}
	else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
		return document.documentElement.scrollTop;
	}
	return 0;
}
