// When the document loads do everything inside here ...
$(document).ready(function(){
	// When a link is clicked
	$("a.tab").click(function () {


		// switch all tabs off
		$(".active").removeClass("active");

		// switch this tab on
		$(this).addClass("active");

		// slide all content up
		$(".content").slideUp();

		// slide this content up
		var content_show = $(this).attr("title");
		$("#"+content_show).slideDown();

	}); // $('a.tab').click

	$("#booking_request").hide();
	$("button").click(function () {
		$("#booking_request").slideToggle("slow");
	});

	$('#one').jqGalScroll({height:317});

	$('.datepicker')
		.datepicker({
			dateFormat:'yy-mm-dd',
			onSelect: function(dateText, inst){
				var id=inst.id;
				$('.'+id+'.day').val(inst.currentDay);
				$('.'+id+'.month').val(inst.currentMonth+1);
				$('.'+id+'.year').val(inst.currentYear);
				
				if((id=='dp_anreise')&& ($('#dp_abreise').val()=='')) {
					// abreisedatum setzen
					var edate = $('#dp_anreise').datepicker('getDate').getTime();
						edate = edate+(2*24*60*60*1000);
						edate = new Date(edate);
					$('#dp_abreise').datepicker('setDate' , edate );
					$('.dp_abreise.day').val(edate.getDate());
					$('.dp_abreise.month').val(edate.getMonth()+1);
					$('.dp_abreise.year').val(edate.getFullYear());
				}
				
			}
		});
	$('.dp_anreise').bind('focus',function(){$('#dp_anreise').datepicker('show');});
	$('.dp_abreise').bind('focus',function(){$('#dp_abreise').datepicker('show');});

	$('#guesttype_choice .radio').click(function(){$(this).blur().trigger('change');})
								.change(function(){
									guesttype_choice();
								});

	// detailseite - zur buchung hinzufuegen
	//$('#add2mlist #send').click(add2Mlist);

	guesttype_choice();	// initialize

	merkliste_binding();
	
	$('#step_5 #stadt').bind('change', function () {
		
		window.location.href=$('#step_5 #step_2').val()+'?c='+$('#step_5 #stadt').val();
	});

	$('#sms_auth2').bind('submit',function(e){subm_7_auth(e);});
	$('#userdata').bind('submit',function(e){subm_7(e);});
	$('#chuserdata').bind('submit',function(e){subm_userdata(e);});
	$('#gg_bew').bind('submit',function(e){subm_gg_bew(e);});
	$('#buchungsanfrage').bind('submit',function(e){subm_buchungsanfr(e);});
	
	$('#auth_code').bind('keyup',function(e){checkSMSauth(e);})
	
	$('#related_rooms .handle').click(function(){$('#related_rooms .rel_rooms').slideToggle()});
	
	new_search_binding();
	
	check4unavailable();
	
	// bewertungsform
	jQuery('#fbForm').bind('submit',function(e){
			e.preventDefault();
			formsubmit();	
	});
	
	$('#objektsearch').focus(function(){
		if($(this).val()==$(this).metadata().def_val) {
			$(this).val('');
		}
	}).blur(function(){
		if($(this).val()=='') {
			$(this).val($(this).metadata().def_val);
		}
	});
	
	$('#form_object_search').bind('submit',function(e){subm_o_search(e);});

}); // end ready-function

function new_search_binding() {
	if($.browser.msie && ($.browser.version < 8)) {
		$('#new_search_open').bind('click',function(){
			$('#cont_newsearchbutton, #cont_add2mlist').hide();
			$('#cont_newsearchform').show();
		});
		$('#new_search_cancel').bind('click',function(){
			$('#cont_newsearchbutton, #cont_add2mlist').show();
			$('#cont_newsearchform').hide();
		});

	} else {
		$('#new_search_open').bind('click',function(){
			$('#cont_newsearchbutton, #cont_add2mlist').slideUp();
			$('#cont_newsearchform').slideDown();
		});
		$('#new_search_cancel').bind('click',function(){
			$('#cont_newsearchbutton, #cont_add2mlist').slideDown();
			$('#cont_newsearchform').slideUp();
		});
	}
	
	$('#new_search_go').bind('click',function(){
		$('.error').removeClass('error');
		$('#error_comm').remove();

		var error ='';
		var formerror = false;

		if(($('#erwachsene').val()==0) && ($('#kinder').val()==0)) {
			formerror=true;		// personenzahl NICHT angegeben
			error += lang_z_detail.no_p_count;
			$('#erwachsene, #kinder').addClass('error');
		}
		if((parseInt($('#erwachsene').val()) + parseInt($('#kinder').val())) > parseInt($('#max_pers').val())) {
			formerror=true;		// personenzahl zu hoch
			error += ((error=='')?'':'<br />') + lang_z_detail.p_count_high1+' '+$('#max_pers').val()+' '+lang_z_detail.p_count_high2;
			$('#erwachsene, #kinder').addClass('error');
		}

		var ret = validate_date();

		error += ((error=='')?'':'<br />') + ret.errormsg;
		if(ret.error) {
			formerror = true;
		}

		if(formerror) {

			$('#cont_newsearchform').append('<div id="error_comm" style="position:relative;">'+error+'</div>');
		} else {

			action = bookingdecision();

			if(action == 'standard') {

				$('.dp_abreise,.dp_anreise').attr('disabled','disabled');
				$('#new_search').submit();

			} else if(action == 'no_booking') {

				$('#cont_newsearchform').append('<div id="error_comm" style="position:relative;">'+lang_z_detail.timeframe+'</div>');

			} else { // action == 'anfrage_*'

				$('#target_site').val($('#buchungsanfrage').val());
				$('#new_search').append('<input type="hidden" name="br" value="'+action+'" /><input type="hidden" name="z_t" value="'+$('#zimmer_txt').val()+'" />');
				$('.dp_abreise,.dp_anreise').attr('disabled','disabled');
				$('#new_search').submit();

			}

		}
	});
}

function checkSMSauth(e) {
	$('#sms_code_resp').remove();
	var code = $('#auth_code').val();
	if(code.length == 5) {
		$('#auth_code').blur().removeClass('error'); 
		$.ajax({
			type:	"POST",
			url:	$('#sa').val(),
			data:	"auth_code="+$('#auth_code').val(),
			beforeSend:	function(){
				$('#auth_code').after('<img src="bilder/wait.gif" alt="bitte warten" width="16" height="16" id="wait" style="margin: -3px 0px 0px 10px;" />');
			},
			success:	function(msg){
				$('#wait').replaceWith(msg);
				if($('#sms_code_resp').is('.wrong')) {
					$('#auth_code').removeAttr('disabled').focus();
				} else if($('#sms_code_resp').is('.ok')) {
					$('#auth_code').attr('disabled','disabled');
				}
			}
		});
	}
}

function guesttype_choice() {
	if($("#guesttype_choice .radio:checked").length > 0) {
		var val = $("#guesttype_choice .radio:checked").val();
		if(val == 'new') {
			if($.browser.msie && ($.browser.version < 8)) {
				$('#returning_guest')	.hide()
										.find('input, select').attr('disabled','disabled');
				$('#new_guest')			.show()
										.find('input, select').removeAttr('disabled');
			} else {
				$('#returning_guest')	.stop()
										.slideUp('normal',function(){
															$(this).find('input, select').attr('disabled','disabled');
																$('#new_guest')		.stop()
																					.slideDown('normal', function(){$(this).attr('style','');})
																					.find('input, select').removeAttr('disabled');
														});
			}

		} else if(val == 'returning') {
			if($.browser.msie && ($.browser.version < 8)) {
				$('#new_guest')			.hide()
										.find('input, select').attr('disabled','disabled');
				$('#returning_guest')	.show()
										.find('input, select').removeAttr('disabled');
			} else {
				$('#new_guest')			.stop().slideUp('normal', function(){
					$(this).find('input, select').attr('disabled','disabled');
					$('#returning_guest')	.stop()
											.slideDown('normal', function(){$(this).attr('style','');})
											.find('input, select').removeAttr('disabled');
				});
			}
		}
		
	}
}

function add2Mlist(data) {
	var data=$('#add2mlist').serialize();
	$('#add2mlist').parent().fadeOut();
	merkliste(data);
}

function merkliste_binding () {
	$('.delete a').click(function(e){
		e.preventDefault();
		merkliste('action=del&id='+$(this).metadata().id);
	});
}
function merkliste(data) {
	$.ajax({
		type:	"POST",
		url:	$('#reserved_objects').metadata().url,
		data:	data,
		beforeSend:	function(){
			$('#reserved_objects').css({opacity:0.2});
			$('#reserved_objects a').css({cursor:'default'}).unbind('click').click(function(e){e.preventDefault();});
			if($('#related_rooms .rel_rooms:visible').length > 0) {
				$('#related_rooms .rel_rooms').slideUp();
			}
		},
		success:	function(msg){
			$.scrollTo($("a[name='mlist']"));
			$('.mlist_restponse').remove();
			$('#reserved_objects').replaceWith(msg);
			merkliste_binding();
			$('#reserved_objects .new').fadeIn();
		}
	});
}


var cities = new Array();
		cities.push({
			name:	'stuttgart',
			regions:[	{src:"stuttgart.jpg", gtid:'all'},
						{src:"stuttgart_nord.jpg", gtid:2},
						{src:"stuttgart_ost.jpg", gtid:3},
						{src:"stuttgart_sued.jpg", gtid:4},
						{src:"stuttgart_west.jpg", gtid:5},
						{src:"stuttgart_mitte.jpg", gtid:1}]
		});
		cities.push({
			name:	'muenchen',
			regions:[	{src:"muenchen.jpg", gtid:'all'},
						{src:"muenchen_nord.jpg", gtid:16},
						{src:"muenchen_ost.jpg", gtid:17},
						{src:"muenchen_sued.jpg", gtid:18},
						{src:"muenchen_west.jpg", gtid:19},
						{src:"muenchen_mitte.jpg", gtid:15}]
		});
		cities.push({
			name:	'zuerich',
			regions:[	{src:"zuerich.jpg", gtid:'all'},
						{src:"zuerich_nord.jpg", gtid:27},
						{src:"zuerich_west.jpg", gtid:33},
						{src:"zuerich_mitte.jpg", gtid:25},
						{src:"zuerich_ost.jpg", gtid:29},
						{src:"zuerich_sued.jpg", gtid:31}]
		});
		cities.push({
			name:	'berlin',
			regions:[	{src:"berlin.jpg", gtid:'all'},
						{src:"berlin_nord.jpg", gtid:37},
						{src:"berlin_west.jpg", gtid:43},
						{src:"berlin_mitte.jpg", gtid:35},
						{src:"berlin_ost.jpg", gtid:39},
						{src:"berlin_sued.jpg", gtid:41}]
		});
		cities.push({
			name:	'dresden',
			regions:[	{src:"dresden.jpg", gtid:'all'},
						{src:"dresden_nord.jpg", gtid:49},
						{src:"dresden_ost.jpg", gtid:47},
						{src:"dresden_sued.jpg", gtid:51},
						{src:"dresden_west.jpg", gtid:53},
						{src:"dresden_mitte.jpg", gtid:45}]
		});

function imageMapSwitch (city, i, lang_path) {
	$.each(cities, function(){
		if(this.name == city) {
			var img_src= "bilder/maps"+lang_path+"/"+this.regions[i].src;
			$('#citymap').attr('src',img_src);
			return true;	// stop - exit each
		}
	});
}
function setRegion(city,i) {
	var found = false;
	$.each(cities, function(){
		if(this.name == city) {
			setSelect('gebiet', this.regions[i].gtid);
			found = true;
			return true;	// stop - exit each
		}
	});
	if(found) {
		$('#step_2').submit();
	}
}
function setSelect(id, val) {
	$('#'+id).val(val);
}

function validate_date() {
	var ret 			= {};
		ret.error		= false;
		ret.errormsg	= '';
		ret.anr 		= false;	// anreisedatum
		ret.abr 		= false;	// abreisedatum
	
	var min_tage = false;
	if($('#z_min_tage').length != 0) {
		min_tage = $('#z_min_tage').val();
	}

	var ein_nacht = false;
	if($('#ein_nacht').length != 0) {
		ein_nacht = $('#ein_nacht').val();
	}

	if($('#dp_anreise').val()=='') {
		ret.error	= true;
		ret.errormsg += ((ret.errormsg=='')?'':'<br />') + language_dateselect.no_start;
		$('.dp_anreise').addClass('error');
	} else {
		ret.anr = $('#dp_anreise').datepicker('getDate').getTime();
	}
	if($('#dp_abreise').val()=='') {
		ret.error	=true;
		ret.errormsg += ((ret.errormsg=='')?'':'<br />') + language_dateselect.no_end;
		$('.dp_abreise').addClass('error');
	} else {
		ret.abr = $('#dp_abreise').datepicker('getDate').getTime();
	}

	if(ret.anr && ret.abr) {	// datum angegeben, pruefen
		var heute = new Date();
			heute = new Date(heute.getFullYear(),heute.getMonth(),heute.getDate()); // zeit entfernen
			heute = heute.getTime();
		if(heute > ret.anr) {
			ret.error	=true;
			ret.errormsg += ((ret.errormsg=='')?'':'<br />') + language_dateselect.start_in_past;
			$('.dp_anreise').addClass('error');
		}
		if(ret.anr >= ret.abr) {
			ret.error	=true;
			ret.errormsg += ((ret.errormsg=='')?'':'<br />') + language_dateselect.end_before_start;
			$('.dp_abreise').addClass('error');
		}
		
			// wenn bisher kein fehler
		if(!ret.error && min_tage) {
			var days= (ret.abr-ret.anr) / (24*60*60*1000);
                        if (ein_nacht == 1 && days == 1) {
                            // ein nacht erlaubt
                        }
			else if(min_tage > days) {
				ret.error	=true;
				ret.errormsg += ((ret.errormsg=='')?'':'<br />') + language_dateselect.min_stay_1 +' '+min_tage+' ' +language_dateselect.min_stay_2;
				$('.dp_abreise, .dp_anreise').addClass('error');
			}
		}
	}
	return ret;
}

/*****************************************
 * formsubmits with validation
 *****************************************/

function subm_o_search(e) {
	if(typeof e!='undefined') {e.preventDefault();}
	
	$('#error_comm').remove();
	
	var o_search = $('#objektsearch').val();
	if(isInt(o_search) || o_search.match(/^\d+\-\d+$/) || (o_search.length > 4)) {
		$('#form_object_search').unbind('submit').submit();
	}else {
		$('#form_object_search').append('<div id="error_comm" style="font-size:11px;position:relative; width:auto;">'+language_o_search.nothing+'</div>');
	}
	
	
}
function bookingdecision() {
	var day			= 24*60*60*1000;
	var servertime 	= mysqlTimeStampToDate($('#serverTime').val());
	var start		= $('#dp_anreise').datepicker('getDate');
	var end			= $('#dp_abreise').datepicker('getDate');
	var startDay	= start.getDay();
	var length		= (end.getTime() - start.getTime())/day;
	var heute		= servertime.getDate()+'.'+servertime.getMonth()+'.'+servertime.getFullYear();
	var startdatum	= start.getDate()+'.'+start.getMonth()+'.'+start.getFullYear();
	var personen	= parseInt($('#erwachsene').val()) + parseInt($('#kinder').val());
	var minDaySet	= ($('#z_min_tage').length != 0) ? true : false;

	var tage_160	= (length >= 160) ? true : false;
	var start_in3m	= (start.getTime() - servertime.getTime() > (3*28*day)) ? true : false;
	var start_heute	= (startdatum==heute) ? true : false;
	var stunde		= servertime.getHours();
	var one_day		= ((length==1) && !minDaySet) ? true : false;
	var group		= (personen > 7) ? true :false;

	var ret			= 'standard';
	
	if(group) {
		// gruppenanfrage
		ret			= 'anfrage_gruppe';
	} else if(start_heute) {
		// start heute
		if(tage_160) {
			ret			= 'anfrage_monat';
		} else if((startDay==5) || (startDay==6) || (startDay==0)) {
			// Freitag, Samstag, Sonntag
			if(stunde >= 14) {
				// leider zu spaet
				ret			= 'no_booking';
			}
		} else {
			// Montag, Dienstag, Mittwoch, Donnerstag
			if(stunde >= 18) {
				// leider zu spaet
				ret			= 'no_booking';
			}
		}
	} else {
		// start nicht heute
		if(tage_160) {
			ret			= 'anfrage_monat';
		} else if(start_in3m) {
			ret			= 'anfrage_future';
		} else if(one_day) {
			ret			= 'standard';
		} else {
			// bleibt default
		}
	}

	return ret;
}
function subm_4 () {

	$('.error').removeClass('error');
	$('#error_comm').remove();

	var error ='';
	var formerror = false;

	if(($('#erwachsene').val()==0) && ($('#kinder').val()==0)) {
		formerror=true;		// personenzahl NICHT angegeben
		error += step4_error.no_persons;
		$('#erwachsene, #kinder').addClass('error');
	}

	var ret = validate_date();

	error += ((error=='')?'':'<br />') + ret.errormsg;
	if(ret.error) {
		formerror = true;
	}

	if(formerror) {
		
		$('#blue_box_main').append('<div id="error_comm" style="bottom:40px;left:110px;">'+error+'</div>');
	} else {

		action = bookingdecision();

		if(action == 'standard') {

			$('.dp_abreise,.dp_anreise').attr('disabled','disabled');
			$('#step_4').submit();

		} else if(action == 'no_booking') {

			$('#blue_box_main').append('<div id="error_comm" style="bottom:40px;left:110px;">' + step4_error.timeframe_forb + '</div>');

		} else { // action == 'anfrage_*'

			$('#target_site').val($('#buchungsanfrage').val());
			$('#step_4').append('<input type="hidden" name="br" value="'+action+'" />');
			$('.dp_abreise,.dp_anreise').attr('disabled','disabled');
			$('#step_4').submit();

		}

	}
}

function subm_5() {

	$('.error').removeClass('error');
	$('#error_comm').remove();

	var error ='';
	var formerror = false;

	var ret = validate_date();

	error += ((error=='')?'':'<br />') + ret.errormsg;
	if(ret.error) {
		formerror = true;
	}

	if(formerror) {
		$('#blue_box_main').append('<div id="error_comm" style="bottom:14px;left:500px;">'+error+'</div>');
	} else {

		action = bookingdecision();

		if(action == 'standard') {

			$('.dp_abreise,.dp_anreise').attr('disabled','disabled'); //wir wollen die 6 datums-inputs nicht im GET haben
			$('#step_5').submit();

		} else if(action == 'no_booking') {

			$('#blue_box_main').append('<div id="error_comm" style="bottom:40px;left:110px;">' + step5_error.timeframe_forb + '</div>');

		} else { // action == 'anfrage_*'

			$('#target_site').val($('#buchungsanfrage').val());
			$('#step_5').append('<input type="hidden" name="br" value="'+action+'" />');
			$('.dp_abreise,.dp_anreise').attr('disabled','disabled');
			$('#step_5').submit();

		}

	}
}
function subm_7 (e) {
	if(typeof e!='undefined') {e.preventDefault();}
	// schritt 7 - anmeldung / regestrierung

	$('.error').removeClass('error');
	$('#error_comm').remove();

	var error ='';
	var formerror = false;
	var val = $("#guesttype_choice .radio:checked").val();
		if(val == 'new') {
			$('#new_guest').find('.needed').each(function(){
				if($(this).val() == '') {
					formerror	= true;
					$(this).addClass('error');
				}
			});
			if(formerror) {
				error = step7_error.mendatory_input;
			}
			var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
    		if(!pattern.test($('#email').val()) && ($('#email').val() != '')){
				formerror	= true;
				error += ((error=='')?'':'<br />') + step7_error.email_wrong;
				$('#email').addClass('error');
			}
			if($('#passwort1').val() != $('#passwort2').val()) {
				formerror	= true;
				error += ((error=='')?'':'<br />') + step7_error.pw_no_match;
				$('#passwort1, #passwort2').addClass('error');
			}
			if(($('#telefon').val() == '') && ($('#mobil').val() == '')) {
				formerror	= true;
				error += ((error=='')?'':'<br />') + step7_error.no_phone;
				$('#telefon, #mobil').addClass('error');
			}
			if(($('#cc').length!=0) && ($('#cc').val() == '')) {
				formerror	= true;
				error += ((error=='')?'':'<br />') + step7_error.no_code;
				$('#cc').addClass('error');
			}
			if(($('#cc').length!=0) && ($('#cc').val() != '')) {
				formerror	= true;
				error += ((error=='')?'':'<br />') + step7_error.request_code;
				$('#cc').addClass('error');
			}

			if(formerror) {
				$('#new_guest').append('<div id="error_comm" style="top:40px;right:0px;">'+error+'</div>');
			} else {
				$('#userdata').unbind('submit').submit();
			}

		} else if(val == 'returning') {


			var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
    		if(!pattern.test($('#returning_guest #li_nutzername').val())){
				formerror	= true;
				error = step7_error.email_wrong;
				$('#li_nutzername').addClass('error');
			}
			if($('#returning_guest #li_passwort').val() == '') {
				formerror	= true;
				$('#returning_guest #li_passwort').addClass('error');
				error += ((error=='')?'':'<br />') + step7_error.no_password;
			}
			if(formerror) {
				$('#returning_guest').append('<div id="error_comm" style="top:30px;right:0px;">'+error+'</div>');
			} else {
				$('#userdata').unbind('submit').submit();
			}

		}
}
function subm_userdata(e) {
	if(typeof e!='undefined') {e.preventDefault();}
	// daten aendern

	$('.error').removeClass('error');
	$('#error_comm').remove();

	var error ='';
	var formerror = false;
	
	$('#guest_data').find('.needed').each(function(){
		if($(this).val() == '') {
			formerror	= true;
			$(this).addClass('error');
		}
	});
	if(formerror) {
		error = 'Die mit * markierten Felder sind Pflichtangaben!';
	}
	var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
	if(!pattern.test($('#email').val()) && ($('#email').val() != '')){
		formerror	= true;
		error += ((error=='')?'':'<br />') + 'Die eingegebene e-Mail-Adresse scheint falsch zu sein.';
		$('#email').addClass('error');
	}

	if(($('#telefon').val() == '') && ($('#mobil').val() == '')) {
		formerror	= true;
		error += ((error=='')?'':'<br />') + 'Telefonnummer oder Mobilfunknummer m&uuml;ssen angegeben werden';
		$('#telefon, #mobil').addClass('error');
	}

	if(formerror) {
		$('#guest_data').append('<div id="error_comm" style="top:160px;right:0px;">'+error+'</div>');
	} else {
		$('#chuserdata').unbind('submit').submit();
	}
}
function subm_7_auth_nr(e) {
	if(typeof e!='undefined') {e.preventDefault();}
	$('#auth_number').removeClass('error');
	var number=$('#auth_number').val();
	var reg = /([A-Z]|[a-z])/g;
	var t = reg.test(number);
	if (t) {
		$('#auth_number').addClass('error');
	} else {
		reg = /[0-9]/;
		var l = number.length;
		var s ='';
		var count = 0;
		for (x=0;x<l;x++) {
			s = number.substr(x,1);
			t = reg.test(s);
			if(t) {count++;}
		}
		if(count < 8) {
			$('#auth_number').addClass('error');
		} else {
			$('#sms_auth').unbind('submit').submit();
		}
	}
}
function subm_7_auth(e) {
	if(!issend) {
		issend = true;
		if(typeof e!='undefined') {e.preventDefault();}

		$('.error').removeClass('error');
		$('#error_comm').remove();

		var error ='';
		var formerror = false;

		if($('#auth_code').val() == '') {
			formerror	= true;
			$('#auth_code').addClass('error');
			error += step7_auth_error.enter_code;
		} else if($('#sms_code_resp.wrong').length == 1) { // eingegebener Code wurde abgelehnt
			formerror	= true;
			$('#auth_code').removeAttr('disabled').addClass('error');
			error += step7_auth_error.code_wrong;
		} else if($('#sms_code_resp.ok').length == 0) { // es wurde etwas eingegeben, aber nicht als korrekt bewertet - eventuell zu wenig zeichen
			formerror	= true;
			$('#auth_code').removeAttr('disabled').addClass('error');
			error += step7_auth_error.code_incomplete;
		}

		if(!$('#agbs').is(':checked')) {
			formerror	= true;
			$('#agbs').addClass('error');
			error += ((error=='')?'':'<br />') + step7_auth_error.accept_agb;
		}

		if(formerror) {
			$('#sms_auth2').css({'position':'relative'}).append('<div id="error_comm" class="error_comm" style="top:120px;right:0px;">'+error+'</div>');
			issend = false;
		} else {
			$('#sms_auth2').unbind('submit').submit();
		}
	}
}

function subm_gg_bew (e) {
	if(typeof e!='undefined') {e.preventDefault();}
	// Gastgeberbewerbung

	$('.error').removeClass('error');
	$('#error_comm').remove();

	var error ='';
	var formerror = false;

	$('#gg_bew').find('.needed').each(function(){
		if($(this).val() == '') {
			formerror	= true;
			$(this).addClass('error');
		}
	});
	if(formerror) {
		error = ggb_error.mendatory;
		$('#blue_box_main').css({'position':'relative'}).append('<div id="error_comm" style="bottom:155px;right:10px;width:250px">'+error+'</div>');
	} else {
		$('#gg_bew').unbind('submit').submit();
	}

}
function subm_buchungsanfr (e) {
	if(typeof e!='undefined') {e.preventDefault();}
	// Gastgeberbewerbung

	$('.error').removeClass('error');
	$('#error_comm').remove();

	var error ='';
	var formerror = false;

	$('#buchungsanfrage').find('.needed').each(function(){
		if($(this).val() == '') {
			formerror	= true;
			$(this).addClass('error');
		}
	});
	if(formerror) {
		error = buchanfr_error.mendatory;
	}
	
	if(($('#cc').length!=0) && ($('#cc').val() == '')) {
		formerror	= true;
		error += ((error=='')?'':'<br />') + buchanfr_error.enter_code;
		$('#cc').addClass('error');
	}
	if(($('#cc').length!=0) && ($('#cc').val() != '')) {
		formerror	= true;
		error += ((error=='')?'':'<br />') + buchanfr_error.request_code;
		$('#cc').addClass('error');
	}
	if(formerror) {
		$('#content_main_box').css({'position':'relative'}).append('<div id="error_comm" style="bottom: 300px; right: 20px; width: 300px;">'+error+'</div>');
	} else {
		$('#buchungsanfrage').unbind('submit').submit();
	}

}
function check4unavailable() {
	if($('#content_main_box .booking_resumee.unavailable').length > 0) {
		$('#content_main_box .booking_resumee:first').prepend('<div class="red_headline">'+bookinglist.unavailable+'</div>');
	}
}

function check_cc() {
	if($('#fl_cc').data('stop')!='stop') {
		$('#fl_cc').data('stop','stop');
		$('#fl_cc #cc_b').remove();
		var cc		= 'cc='+$('#fl_cc #cc').val();
		var cc_url	= $('#fl_cc #cc_url').val();
		$.ajax({
			type:	"POST",
			url:	cc_url,
			data:	cc,
			beforeSend:	function(){
				$('#fl_cc #cc_i').after('<img src="bilder/wait.gif" alt="bitte warten" width="16" height="16" id="wait" style="float:left;margin: -3px 0px 0px 10px;" />');
			},
			success:	function(msg){
				$('#fl_cc').replaceWith(msg);
			}
		});
	}
}
function open_w (url,x,y) {
	fenster = window.open(url, "fenster1", "width="+x+",height="+y+",status=yes,scrollbars=yes,resizable=yes");
	fenster.focus();
}

/*
  Passwort-vergessem
*/
function pw_verg() {
	$('#send_pw_verg, #send_pw_verg-c').show();
	$('#pw_verg_3 ,#wait').remove();
	if($.browser.msie && ($.browser.version < 8)) {
		$('#pw_verg_1, #pw').hide();
		$('#pw_verg_2').show();
	} else {
		$('#pw_verg_1, #pw').slideUp();
		$('#pw_verg_2').slideDown();
	}
}
function cancel_pw_verg() {
	$('#send_pw_verg').hide();
	if($.browser.msie && ($.browser.version < 8)) {
		$('#pw_verg_1, #pw').show();
		$('#pw_verg_2').hide();
	} else {
		$('#pw_verg_1, #pw').slideDown();
		$('#pw_verg_2').slideUp();
	}
}
function subm_pw_verg() {
	var url = $('#pw_verg_l').val();
	var mail =$('#li_nutzername').val();
	if(mail != '') {
		$.ajax({
			type:	"POST",
			url:	url,
			data:	'mail='+mail,
			beforeSend:	function(){
				$('#send_pw_verg-c').hide();
				$('#send_pw_verg').hide().after('<img src="bilder/wait.gif" alt="bitte warten" width="16" height="16" id="wait" style="float:left;margin: 1px 0px 0px 10px;" />');
			},
			success:	function(msg){
				$('#pw_verg_2').after(msg);
				if($.browser.msie && ($.browser.version < 8)) {
					$('#pw_verg_1, #pw').show();
					$('#pw_verg_2').hide();
				} else {
					$('#pw_verg_1, #pw').slideDown();
					$('#pw_verg_2').slideUp();
				}
			}});
	} else {
		$('#li_nutzername').addClass('error');
	}
}

function formsubmit(){
		var check=["nd_angebotsauswahl", "nd_buchung","nd_freundlichkeit", "nd_abwicklung", "nd_informationen", "gg_empfang", "gg_freundlichkeit", "gg_ausstattung", "gg_sauberkeit", "gg_abreise", "anfrage", "reisegrund"];
		var error = false;
		jQuery.each(check,function(i,val){
			if(jQuery('input:[name="'+val+'"]:checked').length == 0) {
				jQuery('input:[name="'+val+'"]').parents('tr:last').css({'color':'red'});
				error = true;
			} else {
				jQuery('input:[name="'+val+'"]').parents('tr:last').css({'color':''});
			}
		});
		if(error) {
				jQuery('#error_holder').html('<tr id="error_row"><td colspan="2"></td><td colspan="6" style="color :red;">'+feedback_error.not_all_selected+'</td></tr>');
		} else {
			jQuery('#fbForm').unbind('submit').submit();
		}
}

/*
  utility-functions
*/
function mysqlTimeStampToDate(timestamp) {
    //function parses mysql datetime string and returns javascript Date object
    //input has to be in this format: 2007-06-05 15:26:02
	var regex=/^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9]) (?:([0-2][0-9]):([0-5][0-9]):([0-5][0-9]))?$/;
    var parts=timestamp.replace(regex,"$1 $2 $3 $4 $5 $6").split(' ');
    return new Date(parts[0],parts[1]-1,parts[2],parts[3],parts[4],parts[5]);
}
 function isInt(x) {
   var y=parseInt(x);
   if (isNaN(y)) return false;
   return x==y && x.toString()==y.toString();
 } 
