/* ######################################################################################################
** ### IMMOSCOUT PING  ################################################################
** ######################################################################################################
*/

/* nur in live-version benoetigt
var pingSession = function () {
	$.get("assets/include/php/api_immoscout/inc.ping_session.php", function(return_data){
		// DEGBUG if (return_data != 1) alert("Session abgelaufen: " + return_data);
		timer = window.setTimeout(pingSession, 300000);
	});
}
var timer = window.setTimeout(pingSession, 300000);
*/

/* ######################################################################################################
** ### SHADOWBOX  ################################################################
** ######################################################################################################
*/

if (typeof(Shadowbox) == "object") {
	Shadowbox.init({
		language: "de-DE",
		players: ["img","iframe", "html"],
		counterType: "default",
		overlayOpacity:0.8
	});
}


/* ######################################################################################################
** ### ROLLOVER NAVIGATION  ################################################################
** ######################################################################################################
*/

$(document).ready( function()
{
	 KM.rollover.init();
});

KM = {};

KM.rollover =
{
	 init: function()
	 {
			this.preload();
		 
			$("#topnav img:not(#active)").hover(
				 function () { $(this).attr( 'src', KM.rollover.newimage($(this).attr('src')) ); },
				 function () { $(this).attr( 'src', KM.rollover.oldimage($(this).attr('src')) ); }
			);
	 },

	 preload: function()
	 {
			$(window).bind('load', function() {
				 $('#topnav img:not(#active)').each( function( key, elm ) { $('<img>').attr( 'src', KM.rollover.newimage( $(this).attr('src') ) ); });
			});
	 },
	 
	 newimage: function( src )
	 {
			return src.substring( 0, src.search(/(\.[a-z]+)$/) ) + '_over' + src.match(/(\.[a-z]+)$/)[0];
	 },

	 oldimage: function( src )
	 {
			return src.replace(/_over\./, '.');
	 }
};



/* ######################################################################################################
** ### DRUCKEN-DIALOG  ################################################################
** ######################################################################################################
*/

$(document).ready(function() {
	if($('#header_print').length == 1)
	window.print();
});


/* ######################################################################################################
** ### AUTO-SCROLL TO CONTENT, EXPOSE DETAIL  ################################################################
** ######################################################################################################
*/

$(document).ready(function(){ 
	if($('#exposeContent').length == 1) {
		$(document).scrollTo("#exposeContent", 800);
	}
});

/* ######################################################################################################
** ### KONTAKT-FORMULAR  ################################################################
** ######################################################################################################
*/


$("#formContact").ready(function() {
	formContactAttributes();
	$("#formContact select#r_sel_Betreff").change(formContactAttributes);
});

/**/
function formContactAttributes() {
			
		var selIndex = $("#formContact select#r_sel_Betreff option:selected").val();
		
		if (selIndex == "Mitteilung") {
			hideFormContactAttributes('void');
		} else if (selIndex == "telefonischer_Rueckruf") {
			showFormContactAttributes('attribRueckruf');
		} else if (selIndex == "Verkaufsanfrage") {
			showFormContactAttributes('attribImmobilieVerkaufen');
		} else if (selIndex == "Vermietungsanfrage") {
			showFormContactAttributes('attribImmobilieVermieten');
		} else if (selIndex == "Verwaltungsanfrage") {
			showFormContactAttributes('attribImmobilieVerwalten');
		} else if (selIndex == "Bewertungsanfrage") {
			showFormContactAttributes('attribImmobilieBewerten');
		}			
}

function hideFormContactAttributes(not) {
	$(".formAttrib:not(#"+not+") input").each(function() {
		$(this).attr("disabled", true); 
	});

	$(".formAttrib:not(#"+not+")").hide();
}

function showFormContactAttributes(id) {
	
	hideFormContactAttributes(id);
	
	$("#"+id+" input").each(function() {
		$(this).removeAttr("disabled"); 
	});
	
	$("#"+id).show();
}


/* ######################################################################################################
** ### GOOGLE MAPS, GROSSE DARSTELLUNG  ################################################################
** ######################################################################################################
*/

function open_largemap(latitude,longitude,title){
	Shadowbox.open({
		player:     'html',
		content:    '',
		height:     500,
		width:      700,
		title:			'Umgebungskarte: '+title,
		options:    {
			onFinish: function(item){
				if(GBrowserIsCompatible()){
					var body = document.getElementById(Shadowbox.contentId());
					var map = new GMap2(body);
					map.setUIToDefault();
					map.setCenter(new GLatLng(latitude, longitude), 13);
					var Icon = new GIcon(G_DEFAULT_ICON);
					markerOptions = { icon:Icon };
					var latlng = new GLatLng(latitude, longitude);
					map.addOverlay(new GMarker(latlng, markerOptions));	
				}
			}
		}
	});
	return false;
}




$("#immoquicksearch").ready(function() {
	
	// Attrib disabled enfernen, sofern vorhanden
	$("#immoquicksearch #selected_immotype").removeAttr("disabled");
	$("#immoquicksearch #selected_town").removeAttr("disabled");
	
	
	/* OBJEKTART */
	
	// Optionen der Selectbox "Objektart" leeren
	$("#immoquicksearch #selected_immotype option").each(function() {
		if ($(this).val() != "void" && $(this).val() != "all" && $(this).val() != "-1")
		$(this).remove();
	});

	// Selectbox "Objektart mit Options fuellen
	for (var x = 0; x < obj_availimmotypes.length; x++) {
	
		if (obj_availimmotypes[x].uuid == selected_immotype) {
			$('#immoquicksearch #selected_immotype').append(
				$('<option></option>').val(obj_availimmotypes[x].uuid).html(obj_availimmotypes[x].name).attr("selected","selected")
			);
		} else {
			$('#immoquicksearch #selected_immotype').append(
				$('<option></option>').val(obj_availimmotypes[x].uuid).html(obj_availimmotypes[x].name)
			);		
		}
	}
	
	/* STAEDTE */
	
	// Optionen der Selectbox "Stadt/Stadtteil" leeren
	$("#immoquicksearch #selected_town option").each(function() {
		if ($(this).val() != "void" && $(this).val() != "all" && $(this).val() != "-1")
		$(this).remove();
	});
	
	// on startup
	change_quicksearchFormAction();
	clear_quicksearchCities();
	fill_quicksearchCities();
	
	// on change
	$("#immoquicksearch #selected_immotype").change(change_quicksearchFormAction);
	$("#immoquicksearch #selected_immotype").change(clear_quicksearchCities);
	$("#immoquicksearch #selected_immotype").change(fill_quicksearchCities);
	
	// on submit
	$("#immoquicksearch").submit(function() {
		
		// Felder disablen vor Absenden um GET Parameter nicht zu uebergeben
		$("#immoquicksearch #selected_immotype").attr("disabled","disabled");
		
		if($('#immoquicksearch #selected_town option:selected').val() == "all") {
			$("#immoquicksearch #selected_town").attr("disabled","disabled");
		}
		this.submit();
		return false;
	});																			

});


// Form-Action aendern, je nach ausgewaehltem Immotype
function change_quicksearchFormAction() {
	
	for (var x = 0; x < obj_availimmotypes.length; x++) {
		if (obj_availimmotypes[x].uuid == $('#immoquicksearch #selected_immotype option:selected').val()) {
			$("#immoquicksearch").attr("action", obj_availimmotypes[x].form_action);
			//alert(obj_availimmotypes[x].form_action);
			break;
		}
	}
}


// Optionen der Selectbox "Stadt/Stadtteile" leeren
function clear_quicksearchCities() {
	
	$("#immoquicksearch #selected_town option").each(function() {
		if ($(this).val() != "void" && $(this).val() != "all" && $(this).val() != "-1")
		$(this).remove();
	});
}


// Optionen der Selectbox "Stadt/Stadtteile" fuellen, in Abhaenigkeit von Immotypes
function fill_quicksearchCities() {
	
	for (var x = 0; x < obj_availcities.length; x++) {	
		if (obj_availcities[x].immotype == $('#immoquicksearch #selected_immotype option:selected').val()) {
			
			if (obj_availcities[x].uuid == selected_town) {
				$('#immoquicksearch #selected_town').append(
					$('<option></option>').val(obj_availcities[x].uuid).html(obj_availcities[x].name).attr("selected","selected")
				);
			} else {
				$('#immoquicksearch #selected_town').append(
					$('<option></option>').val(obj_availcities[x].uuid).html(obj_availcities[x].name)
				);
			}
			
		}
	}
}


$("#immoresultsearch").ready(function() {
		
	$("#immoresultsearch #selected_town option").each(function() {
		if ($(this).val() != "void" && $(this).val() != "all" && $(this).val() != "-1")
		$(this).remove();
	});
	
	// Optionen der Selectbox "Objektart" fuellen, in Abhaenigkeit von Immotypes
	
	for (var x = 0; x < obj_availcities.length; x++) {	
		if (obj_availcities[x].immotype == selected_immotype) {
			
			if (obj_availcities[x].uuid == selected_town) {
				$('#immoresultsearch #rs_selected_town').append(
					$('<option></option>').val(obj_availcities[x].uuid).html(obj_availcities[x].name).attr("selected","selected")
				);
			} else {
				$('#immoresultsearch #rs_selected_town').append(
					$('<option></option>').val(obj_availcities[x].uuid).html(obj_availcities[x].name)
				);
			}
		}
	}	

});
