var cur_side = '';
var frame_month1 = 0;
var frame_month2 = 0;
var frame_month_tf = 0;
var frame_month_tt = 0;

var frame_month_cf = 0;
var frame_month_ct = 0;

var frame_month_mf = 0;
var frame_month_mt = 0;

var frame_month_bf = 0;
var frame_month_bt = 0;

var p_response = new Array();

function check_available ( final, date_from, nights, adults, pets, check, position, frame_month, frame_check, no_response, single )
{
	var vsTime = new Date();
	var vsMonth = vsTime.getMonth() + 1;
	var vsNMonth = date_from.split('/')[0];

	if ( vsNMonth != 'mm' )
	{
		if(vsNMonth < 10)
		{
			vsNMonth = parseInt(vsNMonth.replace(/0/, ''));
		}
		frame_month = frame_month + (vsNMonth - vsMonth);
	}

	if ((date_from == '' || date_from == date_from_mgs) && check != 'none')
	{
		//$('#loading_'+check).fadeIn('normal');
		alert('Please insert date for checking');

		for(var i=0; i<=position.length; i++)
		{
			$('#loading_'+position[i]).fadeOut('normal');
		}
	} 
	else
	{
		$('#loading_'+check).fadeIn('normal');	
		if ( no_response == undefined )
		{
			if (pets == 'false')
			{
				alert(pets_none_select);
				for(var i=0; i<=position.length; i++)
				{
					$('#loading_'+position[i]).fadeOut('normal');
				}
			}
			else
			{
				/*var cTime = new Date();
				var tmpMonth = cTime.getMonth();
				var Year = cTime.getFullYear();
				var Day = cTime.getDate();
				tmpMonth = parseInt(tmpMonth) + 1;
				var Month = tmpMonth/10 < 1 ? '0'+tmpMonth : tmpMonth;
				var date_from_tmp = Month+'/'+Day+'/'+Year;
	*/
				$.getJSON( path_to_request, {list_id: listing_id, date_from: date_from, nights: nights},function(response)
				{
					if (response)
					{
						if (final == 1)
						{
							p_response = response;
						}

						if (frame_check == 'center')
						{
							datapicker_color(response, date_from, nights, '', frame_month, '', single);
						}
						else if (frame_check == 'middle')
						{
							datapicker_color(response, date_from, nights, '2', frame_month, '', single);
						}
						else
						{
							datapicker_color(response, date_from, nights, '', 0, '', single);
							datapicker_color(response, date_from, nights, '2', 0, '', single);
						}
						
						if (check != 'none')
						{
							$.getJSON( path_to_request, {list_id: listing_id, date_from: date_from, nights: nights, get_list_info: true, adults: adults, pets: pets},function(responses){

								for(var i=0; i<=position.length; i++)
								{
									$('#loading_'+position[i]).fadeOut('normal');
									$('#check_available_button_'+position[i]).val(check_again);	
									if (responses['baserate'])
									{
										$('#rate_'+position[i]).html('$'+responses['baserate']);
										$('#checkin_'+position[i]).html(responses['checkin']);
										$('#checkout_'+position[i]).html(responses['checkout']);
										$('#availability_'+position[i]).slideDown('normal');
										$('#available_text_'+position[i]).css({'color': '#7C7B7A', 'font-style': 'italic'});
									}
									else if(responses['error'] == 'false2')
									{
										$('#unavailable2'+position[i]).html(responses['error_text']);
										$('#unavailability_'+position[i]+'_2').slideDown('normal');
									}
									else
									{
										$('#unavailability_'+position[i]).slideDown('normal');
									}
								}	
							});	
						}
					}
				});
			}
		}
		else
		{
			var cTime = new Date();
			var tmpMonth = cTime.getMonth();
			var Year = cTime.getFullYear();
			var Day = cTime.getDate();
			tmpMonth = parseInt(tmpMonth) + 1;
			var Month = tmpMonth/10 < 1 ? '0'+tmpMonth : tmpMonth;
			var date_from = Month+'/'+Day+'/'+Year;
			var nights = 1;

			if (frame_check == 'center')
			{
				datapicker_color(p_response, date_from, nights, '', frame_month, no_response, single);
			}
			else if (frame_check == 'middle')
			{
				datapicker_color(p_response, date_from, nights, '2', frame_month, no_response, single);
			}
			else if (frame_check == 'top')
			{
				datapicker_color(p_response, date_from, nights, '_top', frame_month, no_response, single);
			}
			else
			{
				datapicker_color(p_response, date_from, nights, '', 0, no_response, single);
				datapicker_color(p_response, date_from, nights, '2', 0, no_response, single);
			}
		}
	}
}
/*
function check_available_custom(final, date_from, nights, adults, pets, check, position)
{
	if ((date_from == '' || date_from == date_from_mgs) && check != 'none')
	{
		//$('#loading_'+check).fadeIn('normal');
		alert('Please insert date for checking');

		for(var i=0; i<=position.length; i++)
		{
			$('#loading_'+position[i]).fadeOut('normal');
		}
	}
	else
	{
		for(var i=0; i<=position.length; i++)
		{
			$('#availability_'+position[i]).slideUp('normal');
			$('#unavailability_'+position[i]).slideUp('normal'); 
			$('#unavailability_'+position[i]+'_2').slideUp('normal'); 
			$('#loading_'+position[i]).fadeIn('normal'); 
		}
		var cTimes = new Date();
		var tmpMonths = cTimes.getMonth();
		var Years = cTimes.getFullYear();
		var Days = cTimes.getDate();
		tmpMonths = parseInt(tmpMonths) + 1;
		var Months = tmpMonths/10 < 1 ? '0'+tmpMonths : tmpMonths;
		var date_froms = Months+'/'+Days+'/'+Years;
		var nightss = 1;
		$.getJSON( path_to_request, {list_id: listing_id, date_from: date_froms, nights: nightss},function(response)
		{
			if (response)
			{
				if (final == 1)
				{
					p_response = response;
				}		
				$.getJSON( path_to_request, {list_id: listing_id, date_from: date_from, nights: nights, get_list_info: true, adults: adults, pets: pets},function(responses){

			for(var i=0; i<=position.length; i++)
			{
				$('#loading_'+position[i]).fadeOut('normal');
			
				if (responses['baserate'])
				{
					$('#rate_'+position[i]).html('$'+responses['baserate']);
					$('#checkin_'+position[i]).html(responses['checkin']);
					$('#checkout_'+position[i]).html(responses['checkout']);
					$('#availability_'+position[i]).slideDown('normal');
				}
				else if(responses['error'] == 'false2')
				{
					$('#unavailable2'+position[i]).html(responses['error_text']);
					$('#unavailability_'+position[i]+'_2').slideDown('normal');
				}
				else
				{
					$('#unavailability_'+position[i]).slideDown('normal');
				}
			}	
		});	
		}
		});
	}
}
*/
function datapicker_color(response, date_from, nights, prefix, frame_month, no_response, single, month)
{
	prefix = prefix ? prefix : '';
	var fYer = date_from.split('/')[2];
	var tmpfMon = date_from.split('/');

	if(tmpfMon[0] < 10)
	{
		fMon = tmpfMon[0].replace(/0/, '');
	}
	else
	{
		fMon = tmpfMon[0];
	}

	fMon = parseInt(fMon) + parseInt(frame_month);
	fMon = parseInt(Math.round(fMon)) - 1; // it needs to dicrace the month to 1
	var fDay = frame_month ? 1 : date_from.split('/')[1];

	frame_month = frame_month < 0 ? 0 : frame_month;

	if ( no_response != 'true')
	{
		//$("#multimonth"+prefix).datepicker('option', {minDate: new Date(fYer, fMon, fDay)});
		$("#multimonth"+prefix).datepicker('option', {minDate: new Date()});
		$("#multimonth"+prefix).datepicker( 'setDate',  new Date(fYer, fMon, fDay));
	}

	var first = response[frame_month];
	var counter = 0;

	$('.ui-datepicker-calendar td').attr('onclick', '').children('a').attr('href', 'javascript:void(0)');


	$('#multimonth'+prefix+' .ui-datepicker-group-first table td').each(function(){
		var curDay = parseInt($(this).children('a').html());
		var index = curDay-1;

		if (first.charAt(index) == 'A')
		{
			if ( parseInt(curDay) == parseInt(fDay) )
				var bgColor = '#d4fcd9';
			/*else if ( parseInt(curDay) == (parseInt(fDay) + parseInt(nights)) )
				var bgColor = '#d4fcd9';
			else if ( parseInt(curDay) > parseInt(fDay) && parseInt(curDay) < (parseInt(fDay) + parseInt(nights)) )
				var bgColor = '#d4fcd9';
			else*/
				var bgColor = '#d4fcd9';

			$(this).children('a').css('background', bgColor);
			
		}
		else if (first.charAt(index) == 'U')
		{
			var bgColor = "url('"+rlUrlHome+"img/booked.gif') center center";
			$(this).children('a').css('background', bgColor);
		}
		else if (first.charAt(index) == 'I')
		{
			var bgColor = "url('"+rlUrlHome+"img/checkin.gif') center center";
			$(this).children('a').css('background', bgColor);
		}
		else if (first.charAt(index) == 'O')
		{	
			var bgColor = "url('"+rlUrlHome+"img/checkout.gif') center center";
			$(this).children('a').css('background', bgColor);
		}
		else if (first.charAt(index) == 'X')
		{
			var bgColor = "url('"+rlUrlHome+"img/booked.gif') center center";
			$(this).children('a').css('background', bgColor);
		}
		if ($(this).attr('class') == 'ui-datepicker-days-cell-over ui-datepicker-current-day ui-datepicker-today')
		{
			var bgColor = "url('"+rlUrlHome+"img/booked.gif') center center";
			$(this).children('a').css('background', bgColor);
			$(this).removeClass('ui-datepicker-days-cell-over ui-datepicker-current-day ui-datepicker-today');
		}
		if ($(this).attr('class') == ' ui-datepicker-days-cell-over  ui-datepicker-current-day ui-datepicker-today')
		{	
			var bgColor = "url('"+rlUrlHome+"img/booked.gif') center center";		
			$(this).children('a').css('background', bgColor);
			$(this).removeClass(' ui-datepicker-days-cell-over  ui-datepicker-current-day ui-datepicker-today');
		}
		if ($(this).attr('class') == ' ui-datepicker-days-cell-over  ui-datepicker-today')
		{	
			var bgColor = "url('"+rlUrlHome+"img/booked.gif') center center";		
			$(this).children('a').css('background', bgColor);
			$(this).removeClass(' ui-datepicker-days-cell-over  ui-datepicker-today');
		}
		if ($(this).attr('class') == '  ui-datepicker-today')
		{	
			var bgColor = "url('"+rlUrlHome+"img/booked.gif') center center";		
			$(this).children('a').css('background', bgColor);
			$(this).removeClass('  ui-datepicker-today');
		}

		counter++;
	});
	var frame_month_1 = frame_month+1;
	var first = response[frame_month_1];
	var nights2 = nights - counter;

	if (single)
		return true;

	$('#multimonth'+prefix+' .ui-datepicker-group-middle table td').each(function(){

		var curDay = $(this).children('a').html();	
		var index = curDay-1;
		
		if (first.charAt(index) == 'A')
		{
			if ( nights > (counter - 1) )
			{
				if ( parseInt(curDay) == parseInt(nights2) + 1 )
					var bgColor = '#d4fcd9';
				else if (parseInt(curDay) < parseInt(nights2) + 1 )
					var bgColor = '#d4fcd9';
				else
					var bgColor = '#d4fcd9';
			}
			else
				var bgColor = '#d4fcd9';

			$(this).children('a').css('background', bgColor);
		}
		else if (first.charAt(index) == 'U')
		{
			var bgColor = "url('"+rlUrlHome+"img/booked.gif') center center";
			$(this).children('a').css('background', bgColor);
		}
		else if (first.charAt(index) == 'I')
		{
			var bgColor = "url('"+rlUrlHome+"img/checkin.gif') center center";
			$(this).children('a').css('background', bgColor);
		}
		else if (first.charAt(index) == 'O')
		{
			var bgColor = "url('"+rlUrlHome+"img/checkout.gif') center center";
			$(this).children('a').css('background', bgColor);
		}
		else if (first.charAt(index) == 'X')
		{
				var bgColor = "url('"+rlUrlHome+"img/booked.gif') center center";
				$(this).children('a').css('background', bgColor);
		}
	});
	var frame_month_2 = frame_month+2;
	var first = response[frame_month_2];
		
	$('#multimonth'+prefix+' .ui-datepicker-group-last table td').each(function(){
		var curDay = $(this).children('a').html();	
		var index = curDay-1;
		
		if (first.charAt(index) == 'A')
		{
			$(this).children('a').css('background', '#d4fcd9');
		}
		else if (first.charAt(index) == 'U')
		{
			var bgColor = "url('"+rlUrlHome+"img/booked.gif') center center";
			$(this).children('a').css('background', bgColor);
		}
		else if (first.charAt(index) == 'I')
		{
			var bgColor = "url('"+rlUrlHome+"img/checkin.gif') center center";
			$(this).children('a').css('background', bgColor);
		}
		else if (first.charAt(index) == 'O')
		{
			var bgColor = "url('"+rlUrlHome+"img/checkout.gif') center center";
			$(this).children('a').css('background', bgColor);
		}
		else if (first.charAt(index) == 'X')
		{
			var bgColor = "url('"+rlUrlHome+"img/booked.gif') center center";
			$(this).children('a').css('background', bgColor);
		}
	});
}
function date_picker_creates( prefix )
{
	var currentTime = new Date();
	var cMonth = currentTime.getMonth();
	var cYear = currentTime.getFullYear();
	var cDay = currentTime.getDate();

	$("#date_picker_from_"+prefix).datepicker(
	{
		showOn: 'button', 
		buttonImage: rlUrlHome+"img/calendar.gif", 
		buttonImageOnly: true, 
		dateFormat: 'mm/dd/yy',
		minDate: new Date(cYear, cMonth, cDay)
	});

	var cDay_to = cDay + 3;


	$("#date_picker_to_"+prefix).datepicker(
	{
		showOn: 'button', 
		buttonImage: rlUrlHome+"img/calendar.gif", 
		buttonImageOnly: true, 
		dateFormat: 'mm/dd/yy',
		minDate: new Date(cYear, cMonth, cDay_to)
	});
}
function create_nights( prefix )
{
	var html = '<select id="nights_'+prefix+'" name="nights">';

	for(var i=3; i<=365; i++)
	{
		html += '<option ';
		if (nights == i)
		{
			html +=  'selected="selected" ';
		}
		else if (nights == '')
		{
			if (i == '7')
				html +=  'selected="selected" ';
		}
		html += 'value="'+i+'"> '+i+' '+lang_night+' </option>';
	}
	html += '</select>';
	$('#check_nights_'+prefix).html(html, function(){});
}

function check_dates( prefix )
{
	$('#nights_'+prefix).change(function(){
		var cur_nights = Math.round($(this).val());	
		if ( $('#date_picker_from_'+prefix).val() != '' && $('#date_picker_from_'+prefix).val() != date_from_mgs )
		{
			var c_from = $('#date_picker_from_'+prefix).val();
			var date = c_from.split('/');

			var seconds = cur_nights * 86400;
			var new_date = getDateArray(date[2], date[0], date[1], seconds);

			var new_day = new_date[2]/10 < 1 ? '0'+new_date[2] : new_date[2];
			var tmp_month = new_date[1] + 1;
			var new_month = tmp_month/10 < 1 ? '0'+tmp_month : tmp_month;
			$('#date_picker_to_'+prefix).val(new_month+'/'+new_day+'/'+new_date[0]);
		}
		else
		{
			var seconds = cur_nights * 86400;
			var new_date = getDateArray(false, false, false, seconds);
		}
		var seconds_cus = 3 * 86400;
		var new_date_cus = getDateArray(date[2], date[0], date[1], seconds_cus);
		var cur_to = new_date_cus;;

		$('#date_picker_to_'+prefix).datepicker('option', {
			minDate: new Date(new_date_cus[0], new_date_cus[1], new_date_cus[2])
		});
	});

	$('#date_picker_from_'+prefix).change(function(){
		var cur_nights = $('#nights_'+prefix).val();
		var c_from = $(this).val();
		var date = c_from.split('/');

		var seconds = cur_nights * 86400;
		var new_date = getDateArray(date[2], date[0], date[1], seconds);
	
		var seconds_cus = 3 * 86400;
		var new_date_cus = getDateArray(date[2], date[0], date[1], seconds_cus);
		var cur_to = new_date_cus;

		$('#date_picker_to_'+prefix).datepicker('option', {
			minDate: new Date(new_date_cus[0], new_date_cus[1], new_date_cus[2])
		});

		var new_day = new_date[2]/10 < 1 ? '0'+new_date[2] : new_date[2];
		new_date[1]++;
		var new_month = new_date[1]/10 < 1 ? '0'+new_date[1] : new_date[1];
		$('#date_picker_to_'+prefix).val(new_month+'/'+new_day+'/'+new_date[0]);

	});

	$('#date_picker_to_'+prefix).change(function(){
		var date_from_tmp = $('#date_picker_from_'+prefix).val();
		var date_from = date_from_tmp.split('/');

		var c_from = $(this).val();
		var date = c_from.split('/');

		var diff = DateToUnix(date[2], date[0], date[1]) - DateToUnix(date_from[2], date_from[0], date_from[1]);

		var cur_nights = diff/24/3600;
		$('#nights_'+prefix+' option').each(function(){
			$(this).attr('selected', false);

			if (Math.round($(this).val()) == Math.round(cur_nights))
			{
				$(this).attr('selected', true);
			}
		});
	});

}

function show_hide_allow( prefix, position )
{
	/*var message = "<center>Sorry! It seems our booking system is taking too long to respond. Please call us at <b>904-246-8181</b> or write to us at <a href='mailto:stevemilo1@gmail.com'>stevemilo1@gmail.com</a> so we can provide speedier service.</center>";
	for(var i=0; i<=position.length; i++)
	{
		$('#availability_'+position[i]).slideUp('normal').html(message).slideDown('normal');
		$('#unavailability_'+position[i]).slideUp('normal'); 
		$('#unavailability_'+position[i]+'_2').slideUp('normal'); 
	}*/

	for(var i=0; i<=position.length; i++)
	{
		$('#availability_'+position[i]).slideUp('normal');
		$('#unavailability_'+position[i]).slideUp('normal'); 
		$('#unavailability_'+position[i]+'_2').slideUp('normal'); 
		$('#loading_'+position[i]).fadeIn('normal'); 
	}
	check_available('0', $('#date_picker_from_'+prefix).val(), $('#nights_'+prefix).val(), $('#adults_'+prefix).val(), $('#pets_'+prefix).val(), prefix, position);
}

function vstest(dir, thisx){

	if ( dir == 'next' && thisx == 'date_picker_from_top' )
	{
		frame_month_tf = frame_month_tf + 1;
		single_color('tf', 'date_picker_from_top', true);
	}
	if ( dir == 'prev' && thisx == 'date_picker_from_top' )
	{
		frame_month_tf = frame_month_tf - 1;
		single_color('tf', 'date_picker_from_top', true);
	}

	if ( dir == 'next' && thisx == 'date_picker_to_top' )
	{
		frame_month_tt = frame_month_tt + 1;
		single_color('tt', 'date_picker_to_top', true);
	}
	if ( dir == 'prev' && thisx == 'date_picker_to_top' )
	{
		frame_month_tt = frame_month_tt - 1;
		single_color('tt', 'date_picker_to_top', true);
	}

	//center
	if ( dir == 'next' && thisx == 'date_picker_from_center' )
	{
		frame_month_cf = frame_month_cf + 1;
		single_color('cf', 'date_picker_from_center', true);
	}
	if ( dir == 'prev' && thisx == 'date_picker_from_center' )
	{
		frame_month_cf = frame_month_cf - 1;
		single_color('cf', 'date_picker_from_center', true);
	}

	if ( dir == 'next' && thisx == 'date_picker_to_center' )
	{
		frame_month_ct = frame_month_ct + 1;
		single_color('ct', 'date_picker_to_center', true);
	}
	if ( dir == 'prev' && thisx == 'date_picker_to_center' )
	{
		frame_month_ct = frame_month_ct - 1;
		single_color('ct', 'date_picker_to_center', true);
	}

	//middle
	if ( dir == 'next' && thisx == 'date_picker_from_middle' )
	{
		frame_month_mf = frame_month_mf + 1;
		single_color('mf', 'date_picker_from_middle', true);
	}
	if ( dir == 'prev' && thisx == 'date_picker_from_middle' )
	{
		frame_month_mf = frame_month_mf - 1;
		single_color('mf', 'date_picker_from_middle', true);
	}

	if ( dir == 'next' && thisx == 'date_picker_to_middle' )
	{
		frame_month_mt = frame_month_mt + 1;
		single_color('mt', 'date_picker_to_middle', true);
	}
	if ( dir == 'prev' && thisx == 'date_picker_to_middle' )
	{
		frame_month_mt = frame_month_mt - 1;
		single_color('mt', 'date_picker_to_middle', true);
	}

	//booking
	var cTime = new Date();
	var tmpMonth = cTime.getMonth();
	tmpMonth = parseInt(tmpMonth) + 1;
	var Month = tmpMonth/10 < 1 ? '0'+tmpMonth : tmpMonth;

	if ( dir == 'next' && thisx == 'date_picker_from_booking' )
	{
		frame_month_bf = frame_month_bf + 1;
		single_color(Month, 'bf', 'date_picker_from_booking', true);
	}
	if ( dir == 'prev' && thisx == 'date_picker_from_booking' )
	{
		frame_month_bf = frame_month_bf - 1;
		single_color(Month, 'bf', 'date_picker_from_booking', true);
	}

	if ( dir == 'next' && thisx == 'date_picker_to_booking' )
	{
		frame_month_bt = frame_month_bt + 1;
		single_color(Month, 'bt', 'date_picker_to_booking', true);
	}
	if ( dir == 'prev' && thisx == 'date_picker_to_booking' )
	{
		frame_month_bt = frame_month_bt - 1;
		single_color(Month, 'bt', 'date_picker_to_booking', true);
	}

	if ( dir == 'next' && thisx == 'multimonth' )
	{
		var date_from = $('#date_picker_from_center').val();
		// hitraya telega
		if (date_from[0] == 'm')
		{
			date_from = $('#date_picker_from_middle').val();
		}
		var nights = $('#nights_center').val();
		var adults = $('#adults_center').val();
		var pets = $('#pets_center').val();
		frame_month1 = frame_month1 + 1;
		if (date_from && nights)
		{
			check_available('0', date_from, nights, adults, pets, 'none', 'center', frame_month1, 'center', 'true');
		}
		else
		{
			check_available('0', date_from, nights, adults, pets, 'none', 'center', frame_month1, 'center', 'true');
		}
	}
	if ( dir == 'prev' && thisx == 'multimonth' )
	{
		var date_from = $('#date_picker_from_center').val();
		// hitraya telega
		if (date_from[0] == 'm')
		{
			date_from = $('#date_picker_from_middle').val();
		}
		var nights = $('#nights_center').val();
		var adults = $('#adults_center').val();
		var pets = $('#pets_center').val();
		frame_month1 = frame_month1 - 1;
		if (date_from && nights)
		{
			check_available('0', date_from, nights, adults, pets, 'none', 'center', frame_month1, 'center', 'true');
		}
		else
		{
			check_available('0', date_from, nights, adults, pets, 'none', 'center', frame_month1, 'center', 'true');
		}
	}

	if ( dir == 'next' && thisx == 'multimonth2' )
	{
		var date_from = $('#date_picker_from_middle').val();
		// hitraya telega
		if (date_from[0] == 'm')
		{
			date_from = $('#date_picker_from_center').val();
		}
		var nights = $('#nights_center').val();
		var adults = $('#adults_center').val();
		var pets = $('#pets_center').val();
		frame_month2 = frame_month2 + 1;
		check_available('0', date_from, nights, adults, pets, 'none', 'center', frame_month2, 'middle', 'true');
	}
	if ( dir == 'prev' && thisx == 'multimonth2' )
	{
		var date_from = $('#date_picker_from_middle').val();
		// hitraya telega
		if (date_from[0] == 'm')
		{
			date_from = $('#date_picker_from_center').val();
		}
		var nights = $('#nights_center').val();
		var adults = $('#adults_center').val();
		var pets = $('#pets_center').val();
		frame_month2 = frame_month2 - 1;
		check_available('0', date_from, nights, adults, pets, 'none', 'middle', frame_month2, 'middle', 'true');
	}
}

