/**
 * @author groening
 */

function updateCalendar(mode){
	$('#errormessage').empty();
	
	var month_year = document.getElementById('month_select') ? $('#month_select').val() : '';
	
	var sid = $('#sid').val();
	var s_index = $('#s_index').val();
	
	var data = 'mode=' + mode + '&month_year=' + month_year + '&sid=' + sid + '&s_index=' + s_index;
	
	if (mode == 'search') {
		var country_code = $('#land_select').val();
		if ($.isArray(country_code) && country_code.length > 0) {
			country_code = country_code[0];
		}
		var region_code = $('#region_select').val();
		var accommodation_type = $('#anlageart').val();
		
		if (country_code == '' || country_code == null) {
			var i18n_lang = $('#i18n_lang').val();
			var error_text;
			switch (i18n_lang) {
				case 'en_GB':
					error_text = 'Please select a country first!';
					break;
				case 'no_NO':
					error_text = 'Start med å velge ett land!';
					break;
				default:
					error_text = 'Bitte wählen Sie zuerst ein Land aus!';
			}
			$('#errormessage').append('<p class="error">' + error_text + '</p>');
			$('#errormessage').show();
			return false;
		}
		else {
			data += '&country_code=' + country_code + '&region_code=' + region_code + '&accommodation_type=' + accommodation_type;
		}
	}
	else 
		if (mode == 'detail') {
			var booking_key = $('#booking_key').val();
			var travel_duration = $('#dauer_select').val();
			data += '&booking_key=' + booking_key + '&travel_duration=' + travel_duration;
		}
	
	$.getJSON('/scripts/fh/fh_show_calendar.php', data, handleCalendarData)
	return true;
}

function handleCalendarData(data, status){
	$('#calendar').empty();
	$('#calendar').append(data.calendar_html);
	if ($.browser.msie && ($('body').attr('id') == 'search' || $('body').attr('id') == 'results')) {
		$('#dauer_select').hide();
		$('#pers_select').hide();
		$('#kind_select').hide();
		$('#traveler_label').hide();
		$('#aht').hide();
		$('#kind_age_info').hide();
		$('#sr').hide();
		$('#bz').hide();
		$('#str').hide();
		$('#bm').hide();
		$('#am').hide();
		$('#ski').hide();
		$('#skl').hide();
		$('#skp').hide();
		$('#fjo').hide();
		$('#ua').hide();
	}
	if ($.browser.msie && ($('body').attr('id') != 'search' && $('body').attr('id') != 'results' && $('body').attr('id') != 'detail')) {
		$('#calendar').css('top', '-20');
		//$('#calendar').css('left', '200');
	}
	$('#calendar').show();
}


function closeCal(){
	$('#calendar').hide();
	if ($.browser.msie && ($('body').attr('id') == 'search' || $('body').attr('id') == 'results')) {
		$('#dauer_select').show();
		$('#pers_select').show();
		$('#kind_select').show();
		$('#traveler_label').show();
		$('#aht').show();
		$('#kind_age_info').show();
		$('#sr').show();
		$('#bz').show();
		$('#str').show();
		$('#bm').show();
		$('#am').show();
		$('#ski').show();
		$('#skl').show();
		$('#skp').show();
		$('#fjo').show();
		$('#ua').show();
	}
}

function setDate(date){
	$('#datum_von').val(date);
	setDepartureDate();
	closeCal();
	var detail = document.getElementById("detail");
	if (window.name == "detailansicht" || window.name == "Popuplink" ||
	(document.getElementById("view") && document.getElementById("view").value == "detail") ||
	detail) {
		lockPage("detail");
		var form = document.getElementById('form_detail');
		if (form) {
			form.submit();
		}
		else {
			document.form1.submit();
		}
	}
	else {
		var queryString = getQueryString( 'de_DE' );
		updateScript( 'de_DE', queryString );
	}
}

function setDepartureDate() {
	var arrival_date = $('#datum_von').val();
	var duration = $('#dauer_select').val();
	duration = (duration == '') || (duration == 'blank1') || (duration == 'blank2') ? 7 : duration;
	
	if( arrival_date != 'von' ) {
		duration = parseInt(duration, 10);
		var date_split = arrival_date.split('.');
		var yy = date_split[2];
		var mm = (parseInt(date_split[1], 10)-1);
		var dd = date_split[0];
		var departure_date = new Date(yy, mm, dd);
		departure_date.setDate(departure_date.getDate() + duration);	
		var day = String(departure_date.getDate()).replace(/^([0-9]{1})$/, '0$1' );;
		var month = String((departure_date.getMonth()+1)).replace(/^([0-9]{1}$)/, '0$1' );
		var year = String(departure_date.getFullYear());
		$('#datum_bis').val(day + '.' + month + '.' + year);
	}
		
}

function deleteDate() {
	$('#datum_von').val('von');
	$('#datum_bis').val('bis');
	if( window.name == "detailansicht" || window.name == "Popuplink" ) {
		document.forms[0].submit();	
	}
	
	var queryString = getQueryString( 'de_DE' );
	updateScript( 'de_DE', queryString );
}
