//#####################
// Urban Apartmens.com
// JS Scrips
// Flexx Immo - !
//#####################

// Global vars f�r Gallery / Slider 
var ani_intervall = '';
var countimages = 0;
var i = 0;	
var prev = 0;

// Check Arrival und Departure dates - werte VALIDIEREN !
function check_search() {
	
	
	
	
	
	
	//if (! $("#ankunft_tag").val() ||  $("#ankunft_tag").val()=='--' || !$("#ankunft_monat").val() ||  $("#ankunft_monat").val()=='--' || ! $("#ankunft_jahr").val() ||  $("#ankunft_jahr").val()=='--' || ! $("#abreise_tag").val() ||  $("#abreise_tag").val()=='--' || ! $("#abreise_monat").val() ||  $("#abreise_monat").val()=='--')
	// { 
	//$.prompt( "Your Arrival or Departure Date is not valid,<br>Please check your search entry..." , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; 
		
	 
	// }	
	

	
	
	
	var ank_tag  = $("#ankunft_tag").val();
	var ank_mon  = $("#ankunft_monat").val();
	var ank_jahr = $("#ankunft_jahr").val();
	var ab_tag  = $("#abreise_tag").val();
	var ab_mon  = $("#abreise_monat").val();
	var ab_jahr = $("#abreise_jahr").val();
	
	
	var today = new Date();
	var ank_date=new Date();
	ank_date.setFullYear(ank_jahr, ank_mon-1, ank_tag);
	var ab_date=new Date();
	ab_date.setFullYear(ab_jahr, ab_mon-1, ab_tag);

	if (today>ank_date)
		{ $.prompt( "Your Arrival Date is in the past,<br>Please check your search entry.." , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		
	if (today>ab_date)
		{ $.prompt( "Your Departure Date is in the past,<br>Please check your search entry.." , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		
	if (ank_date >= ab_date)
		{ $.prompt( "Your Arrival or Departure Date is not valid,<br>Please check your search entry..." , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		
	
	
	document.apsearch.submit();
}


//###################################################
// Slider / Auto Gallery / M.Suding / jquery
//###################################################
function firstpig() {
	var title = $("#id-0").attr("title");
	$("#id-0").fadeIn(250);
	prev=0;
	i=1;
}

function slideSwitch() {
	prev = i-1;
	if (i > ( countimages - 1 ) ) {
            i = 0;
            prev = countimages;
        }
	$("#id-"+i).fadeIn(250);
        $(".slide").not("#id-"+i).fadeOut(250);
	//$("#id-"+prev).fadeOut(250);
	i++;
}

function stoppani() { clearInterval (  ani_intervall ); }
function resumeani()
{
    $('#slide-show-resume').fadeOut(100);
    slideSwitch();
    ani_intervall = setInterval("slideSwitch()", 6500 );
}

function startani() {
	// Ini !
	countimages = 0;
	i = 0;	
	prev = 0;
	// Gesamt Bilder Elemente 	!
	$("#myShow img").each(function(){
		countimages++;
	});
	firstpig();
	ani_intervall = setInterval("slideSwitch()", 6500 );
}

function showimage(imageid) {
	var id = $("#id-"+imageid);
	id.fadeIn(555);
	$(".slide").not(id).fadeOut(555);
	stoppani();
        $('#slide-show-resume').fadeIn(100);
}



function precheck_calc() {
	
	if ($("#anzahlpersonen").val() > 0) 
		$("#err_people").hide();
	
}

// Preise f�r Anfrage kalkulieren
function calcprice() {
$("#err_nothinselected").hide();

$("#precalculation_tab").hide();
	if ($("#anzahlpersonen").val() == 0) 
		{
		$("#err_people").show();
		return false;
		}
	else
		$("#err_people").hide();

//		{ $.prompt( "Please select the number of people... " , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		

	var anzpers = $("#anzahlpersonen").val();

	var ank_tag = $("#ankunft_tag").val();
	var ank_mon = $("#ankunft_monat").val();
	var anz_bab = $("#anzahl_baby").val();
	var ankunft = ank_mon.split("/");

	ank_mon  	= ankunft[0];
	ank_jahr 	= ankunft[1];

	var ab_tag  = $("#abreise_tag").val();
	var ab_mon  = $("#abreise_monat").val();
	var abreise = ab_mon.split("/");
	ab_mon  = abreise[0];
	ab_jahr = abreise[1];

	var today = new Date();
	var ank_date=new Date();
	ank_date.setFullYear(ank_jahr, ank_mon-1, ank_tag);
	var ab_date=new Date();
	ab_date.setFullYear(ab_jahr, ab_mon-1, ab_tag);

	if (today>ank_date)
		{
		$("#err_arrivaldate").show();
		return false;
		}
	else
		$("#err_arrivaldate").hide();	
//		{ $.prompt( "Your Arrival Date is in the past,<br>Please select other Arriival Date..." , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		

	if (today>ab_date)
		{
		$("#err_departuredate").show();			
		return false;	
		}
	else
		$("#err_departuredate").hide();	
//		{ $.prompt( "Your Departure Date is in the past,<br>Please select other Departure Date..." , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		

	if (ank_date >= ab_date)
		{
		$("#err_checkdate").show();			
		return false;	
		}
	else
		$("#err_checkdate").hide();	
		
//		{ $.prompt( "Your Arrival or Departure Date is not valid,<br>Please check your Arrival and Departure Selection..." , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		


	// Validierung ist  ab hier ok !
	// Per Ajax Call den gew�nschten zeitraum auf frei checken	
	var an = ank_tag + "|" + ank_mon + "|" + ank_jahr;
	var ab = ab_tag + "|" + ab_mon + "|" + ab_jahr;

	var obj_id 	 = $("#obj_id").val();
	var exposenr = $("#exposenr").val();
		$("#err_dateselection").hide();
		$("#loadani").show();
	$.get("ajaxphp/check_anfrage.php?obj_id="+obj_id+"&an="+an+"&ab="+ab, function(data){
		//alert(data);
		if (data==0) 
			{
			$("#err_dateselection").show();
			$("#err_dateselection_reservation").hide();
			$("#err_dateselection_mindays").hide();
			$("#err_dateselection_maxdays").hide();
			return false;
			}
//			{ $.prompt( "Sorry...<br>This Apartment is not avaliable for your date selection..." , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		
		if (data==2)
		{
			
			$("#err_dateselection_mindays").hide();
			$("#err_dateselection_maxdays").hide();
			$("#err_dateselection_reservation").show();
			$("#calcform").load("ajaxphp/calcprice.php?obj_id="+obj_id+"&an="+an+"&ab="+ab+"&anzpers="+anzpers+"&anzbaby="+anz_bab+"&showMSG=1");
			// return false;
		
		}
		if (data==1)
			{
			$("#err_dateselection_reservation").hide();
			$("#err_dateselection_mindays").hide();
			$("#err_dateselection_maxdays").hide();
			$("#calcform").load("ajaxphp/calcprice.php?obj_id="+obj_id+"&an="+an+"&ab="+ab+"&anzpers="+anzpers+"&anzbaby="+anz_bab);
			}
		if (data==3)
		{
			$("#err_dateselection_reservation").hide();
			$("#err_dateselection_mindays").hide();
			$("#err_dateselection_maxdays").show();
			$("#min_buchungstage").val(data);
		}
		if (data>3)
		{
			$("#err_dateselection_reservation").hide();
			$("#err_dateselection_mindays").show();
			$("#err_dateselection_maxdays").hide();
			$("#min_buchungstage").val(data);
			return false;
		}
	
		

	});
	$("#loadani").hide();
	return true;
}


//###################################################
// Formmular Check f�r Booking Anfrage 
//###################################################
function checkbookingrequest() {

	if ( $("#vorname").val()=="")
		{ $.prompt( "Please type in your First name" , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		

	if ( $("#name").val()=="")
		{ $.prompt( "Please type in your Last name" , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		

	if ( $("#strasse").val()=="")
		{ $.prompt( "Please type in your street name & number" , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		

	if ( $("#plz").val()=="")
		{ $.prompt( "Please type in your address zip code" , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		

	if ( $("#ort").val()=="")
		{ $.prompt( "Please type in your city" , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		

	if ( $("#land").val()=="")
		{ $.prompt( "Please type in your country" , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		

	//if ( $("#telefon").val()=="")
	//	{ $.prompt( "Please type in your phone number" , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		

	if ( $("#email").val()=="")
		{ $.prompt( "Please type in your E-Mail address" , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		

	//if ( $("#agb:checked").val()!=true)
		//{ $.prompt( "Please confirm the Cancellation policy " , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		

	
		
	//if ( $("#kinderjn").val()=="")
	//	{ $.prompt( "Please tell us if you come with your children" , { opacity: 0.85, show:'slideDown', top: '35%' }); return false; }		

	
	// Alles ok, Senden !	
	return true;	
}


//###################################################
// GOOGLE MAPS functions for immo_object_details
//###################################################
var map;
var centre;
function map_init(lng,lat) {
	
	//zentrum der map
	if (lng!=null && lat!=null)
		centre = new google.maps.LatLng(lat, lng);
	else
		centre = new google.maps.LatLng(52.52185783581, 13.397295898437509);
	
	var myOptions = {
			zoom : 15,
			center : centre,
			disableDefaultUI : true,
			disableDoubleClickZoom : true,
			scrollwheel: false,
			streetViewControl:false,
			navigationControl : true,
			navigationControlOptions : {
				style : google.maps.NavigationControlStyle.SMALL,
				position : google.maps.ControlPosition.TOP_LEFT
			},
			mapTypeControl: true,
			mapTypeId : google.maps.MapTypeId.HYBRID
		};

	map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

		google.maps.event.addListener(map, 'zoom_changed', function() {
		if (map.getZoom() > 16) map.setZoom(16);
	});

	 var image = new google.maps.MarkerImage('images/marker.png',
      new google.maps.Size(35, 35),
      new google.maps.Point(0,0),
      new google.maps.Point(17, 17));
	 if(lat!=null && lng!=null){
		 var myLatLng = new google.maps.LatLng(lat, lng);
		 var app_marker = new google.maps.Marker({
		  position: myLatLng,
		  map: map,
		  icon: image
		 });
	 }
	
}
function show_distance() {
	//alert($("#pois").val());
	var dist = "";
	if($("#pois").val()==-1)
		dist = get_next_station();
	else if(isNumber($("#pois").val()))
		if ($("#pois").val()<5)
			dist = $("#pois").val()*1000+" metres";
		else
			dist = $("#pois").val()+" kilometres";
	else
		dist ="";
	document.getElementById('distance').innerHTML = dist;
	//$("#distance").show();
}

function get_next_station(){
	return "coming soon";
}

function isNumber(n) {
	  return !isNaN(parseFloat(n)) && isFinite(n);
	}
