try {console.log('init console... done');} catch(e) {console = {log: function() {}, error: function() {}}}

var showExtra 	= false;
var showCount 	= true;
var showHotels 	= false;

var iCurrentStep						= 1;
var bBookingDBSetup					= false;
var reload 									= 400;
var iIndelingNummerFixed 		= 0;
var totalsum								= 0;
var bCurrentStepValid				= false;
$(document).ready(function(){

	$('.nav_nr').live('click', function() {
		var $page = $(this).html();
		
		$('#vakantiebestemmingen ul#results').getHotels(true, $page);
	});

	$('.nav_next').click(function() { 
		var $page = parseInt($('#currentpage').val()) +  1
		$('#vakantiebestemmingen ul#results').getHotels(true, $page);
	});

	$('.nav_prev').click(function() { 
		var $page = parseInt($('#currentpage').val()) - 1;
		$('#vakantiebestemmingen ul#results').getHotels(true, $page);
	});

  $('.nav_order').click(function(){
  	$('#sortby').val( $(this).attr('rel') );
  	
  	$('.nav_order').removeClass('nav_huidige');
  	$(this).addClass('nav_huidige');
  	
  	$('#vakantiebestemmingen ul#results').getHotels(true, $('#currentpage').val());
  });



	if($('#vakantiebestemmingen').length )
	{
		showCount 	= false;
		
		var $aanbiedingen = $('#aanbiedingen');
		var $zoeken = $('#zoeken');
		showHotels 	= ($aanbiedingen.length == 0 && $zoeken.length == 0);

		// vind derde deel om te zien of dat een getal is.
		var $page = 0;
		$oPageNr = $('#pagenr');
		if($oPageNr.length > 0)
		{
		  $page = $($oPageNr).val();
		}

		$('#vakantiebestemmingen ul#results').getHotels(true, $page);

		$('#searchleft').change(function(){
				if(showHotels)
					$(this).processSearch();
		});
		$('#datefrom').change(function(){if(showHotels) $(this).processSearch();});

		


	}

	$('a#moreresults').live('click', function(){
		$('div.moreresults').remove();
		$(this).getHotels(false);
		return false;
	});

	//VAKANTIEBESTEMMINGEN

	$("a.labellink").click(function(){
		if($(this).parent().prev().find('input').attr('checked'))
		{
			$(this).parent().prev().find('input').attr('checked', false);
		}
		else
		{
			$(this).parent().prev().find('input').attr('checked', true);
		}

			if(showHotels)
					$(this).processSearch();

				if(showCount)
				$(this).countTotalbestemmingen();

		return false;
	});

	

	$(".toggle").hide();
	$("a.trigger").click(function(){
		$(this).toggleClass("active").next().slideToggle("fast");
		return false;
	});

	$(".level").not('.open').hide();
	$("li.area label.land").click(function(){
		$(this).toggleClass("active").next().slideToggle("fast");
		return false;
	});

  // open de lijsten waarin checkboxen aangevinkt zijn.
  $('label.land').next().has('input[checked]').slideToggle('fast');
  
  // als er geen geopend is, dan de eerste openen.
  var $aantal = $('label.land').next().has('input[checked]').length;
  if($aantal==0)
    {
      $('label.land:first').next().slideToggle('fast');
    }
  


	$('#destination input[name="regios[]"]').click(function()
	{
		if(showHotels)
			$(this).processSearch();

		if(showCount)
		$(this).countTotalbestemmingen();

	});

	$('li.select .selectall').click(function(){
		$(this).parent().parent().find('li input').attr('checked', true);

		if(showHotels)
				$(this).processSearch();

			if(showCount)
			$(this).countTotalbestemmingen();

		return false;
	});
	$('li.select .deselectall').click(function(){
		$(this).parent().parent().find('li input').attr('checked', false);

		if(showHotels)
				$(this).processSearch();

			if(showCount)
			$(this).countTotalbestemmingen();

		return false;
	});






		$('tr td.poptooltip').live('mouseover', function(){
			$(this).find('.tooltip').show();
		});
		$('tr td.poptooltip').live('mouseout', function(){
			$(this).find('.tooltip').hide();
		});
	//END VAKANTIEBESTEMMIGEN




});




jQuery.fn.processSearch = function()
{
  
	$('#vakantiebestemmingen ul#results').html('<li id="loader"><img src="/images/content/loader.gif" /></li>');
	showExtra = false;
	$sSelector  = '#vakantiebestemmingen ul#results';
  $sortby = $('#sortby').val();
  
	var $aRegios= new Array();
	var count = 0;
	$('input[name="regios[]"]:checked').each(function(){
		$aRegios[count] = $(this).val();
		count++;
	});



	$( this ).doAjax({
			type					: 'setHotelsSearch',
			selector			: $sSelector,
			firstrequest 	: true,
			datefrom 			: $('input[name="datefrom"]').val(),
			//dateto				: $('input[name="dateto"]').val(),
			aantaldagen		: $('#amountofdays').val(),
			priceto 			: $('select[name="priceto"]').val(),
			regios 				: $aRegios,
			sortby			  : $sortby,
			vakantietype	: $('#vakantiesoort').val()
	});
};

jQuery.fn.getHotels = function (firstrequest, $page)
{
	showExtra = false;
	$sSelector  = '#vakantiebestemmingen ul#results';
	
	$sortby = $('#sortby').val();
	
	if(!$page) $page = 1;
	
	var $vaktype = $('#vakantiesoort').val();
	
	
	var $typezoeken = 'getHotels';
	var $aanbiedingen = $('#aanbiedingen');
	var $zoeken = $('#zoeken');
	
	var $zoekterm = '';
	
	if($aanbiedingen.length > 0)
	{
		$typezoeken = 'getHotelsAanbiedingen';
	}	

	if($zoeken.length > 0)
	{
		$typezoeken = 'getHotelsZoeken';
		$zoekterm = $($zoeken).val();
	}

	$( this ).doAjax({
			type			: $typezoeken,
			selector	: $sSelector,
			successhandler : 'append',
			firstrequest : firstrequest,
			vakantietype: $('#vakantiesoort').val(),
			page: $page,
			sortby: $sortby,
			zoekterm: $zoekterm,
			
	});

	// $aanbiedingen.remove();

};






jQuery.fn.shadowBoxAlert = function($sString, $sTitle)
{
	$sTitle = ($sTitle != undefined) ? $sTitle : "";
	if($sString != undefined) {
		Shadowbox.open({
        content:    '<div style="width:330px;height:190px;background:white; padding:10px;">'+ $sString + '</div>',
        player:     "html",
        title:      $sTitle,
        height:     210,
        width:      350
   		 });
	}
}





/**
 * ALLE AJAX calls in een functie
 */
var oAjaxObject2 = -1;

jQuery.fn.doAjax = function() {

	if(oAjaxObject2!=-1)
  {
    //oAjaxObject2.abort();
  }
	var arg 							= arguments[0] || {};
	var type							= arg.type;
	var hotelid						= arg.hotelid;
	var selector					= arg.selector;
	var firstrequest 			= arg.firstrequest;
	var successhandler		= arg.successhandler;
	var datefrom					= arg.datefrom;
	var dateto						= arg.dateto;
	var priceto						= arg.priceto;
	var pricefrom					= arg.pricefrom;
	var order							= arg.order;
	var regios						= arg.regios;
	var landen						= arg.landen;
	var accomodatie_id		= arg.accomodatie_id;
	var transport					= arg.transport;
	var aantaldagen				= arg.aantaldagen;
	var bookingdata				= arg.bookingdata;
	var page              = arg.page;
	var vakantietype      = arg.vakantietype;
	var sortby						= arg.sortby;
	var zoekterm					= arg.zoekterm;

	if(landen == '')
	{
		landen = null;

	}
	if(regios == '')
	{
		regios = null;
	}
	if(bookingdata == '')
	{
		bookingdata = null;
	}


	oAjaxObject2 = $.ajax({
		type			: 'GET',
		url				: '/ajaxaccomodatie',
		dataType		: 'json',
		data 			: {type 						: type,
										iHotelId 				: hotelid,
										firstrequest 		: firstrequest,
										datefrom 				: datefrom,
										dateto 					: dateto,
										priceto 				: priceto,
										pricefrom 			: pricefrom,
										regios 					: regios,
										landen 					: landen,
										accomodatie_id 	: accomodatie_id,
										transport 			: transport,
										aantaldagen 		: aantaldagen,
										order						: order,
										bookingdata			: bookingdata,
										page            : page,
										vakantietype    : vakantietype,
										sortby					: sortby,
										zoekterm				: zoekterm
								},

		success: function(data) {

			oAjaxObject2 = -1;
			if(true || successhandler == 'append')
			{
				$(selector).html(data['html']);
				$('#loader').remove();

				
				$('#currentpage').val(data['currentpage']);
				if(data['currentpage'] == 1)
					$('.nav_prev').fadeOut();
				else
					$('.nav_prev').fadeIn();
					
				
				if(data['currentpage'] == data['nrpages'])
					$('.nav_next').fadeOut();
				else
					$('.nav_next').fadeIn();
				
				var $firstNav = $('.nav_nr:first');
				var htmlfirst = $firstNav.wholehtml();
				

				$('.nav_nr').remove();
				for(var $i=data['nrpages'];$i>0;$i--)
				{
					var element = htmlfirst.replace(/1/g, $i);
  				$('.nav_prev').after(element);
				}
				
				$('.nav_nr').removeClass('nav_huidige');
				$('.nav_nr[rel=' + data['currentpage'] + ']').addClass('nav_huidige');
				
			}
			else
			{
				//$(selector).html(data['html']);
			}

			// sliderprices();

			if(data['error'] == 0)
				showExtra = true;
		},
		error: function(a, b)
		{

		}
	});
};



jQuery.fn.wholehtml = function() {return $( $('<div></div>').html(this.clone())).html();}






