  ﻿/**
  * Autor: Christian Boehnke / Paul Meyer Klickadeeler Mediendesign GbR
  * Kontakt: <info [AT] klickadeeler [DOT] de>
  * Datum: 10 Sept. 2009
  * Datei: helper.js.tpl
  * Version: 1.0
  */

var basePath = "http://www.hamburger-krankenhausspiegel.de/";

// Google Maps API einbinden
if (typeof(google) != "undefined")
	google.load("maps", "2.x");


/**
  * ============================================================================
  * jquery::ready - Wird aufgerufen, sobald das DOM bereit zur Manipulation ist
  * ============================================================================
  * @param fn::function
  * Ein Funktionskörper, der ausgeführt wird, sobald das DOM zur Manipulation
  * zur Verfügung steht
  * ============================================================================
  * @return::void
  * ============================================================================
  */
$("document").ready(function() {
	// Modal Windows
	makeModalFeature();
	
	// LightBoxes erstellen
	makeLighBoxFeature();
	
	// Aufklapper erstellen
	makeExpanderFeature();
	
	// Make Tooltips
	makeToolTipFeature();
	
	// Quick-Navigations
	makeQuickNavFeature();
	
	// Google-Maps erstellen
	if (typeof(google) != "undefined")
		makeGoogleMapsFeature();
	
	// Smooth Scrolling
	makeSmoothScrolling();

	// Alle leeren HREF's ersetzen
	$('a[href=]').each(function() {
		var element = $(this);
		if (!element.attr("href"))
			element.attr("href", "javascript:void(0);");
	});
});

/**
  * ============================================================================
  * makeSmoothScrolling - Animiertes Scrolling zu einem Anchor
  * ============================================================================
  * @return::void
  * ============================================================================
  */
function makeSmoothScrolling() {
	$('a[href*=#]').bind('click', function() {
		if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
			var target = $(this.hash);
			target = target.length && $target || $('[name=' + this.hash.slice(1) +']');
		
			if (target.length) {
				var targetOffset = target.offset().top;
				$('html,body').animate({
					scrollTop: targetOffset
				}, 500, 'swing');
				return false;
			}
		}
	});
}

/**
  * ============================================================================
  * makeLighBoxFeature - Ligtboxen erstellen
  * ============================================================================
  * @return::void
  * ============================================================================
  */
function makeModalFeature() {
	$("*[rel*='modal::']").bind("click", function() {
		var element = $(this);
		
		openModalWindow({
			url: element.attr("href")
		});
		
		return false;
	});
}

/**
  * ============================================================================
  * makeLighBoxFeature - Ligtboxen erstellen
  * ============================================================================
  * @return::void
  * ============================================================================
  */
function makeLighBoxFeature() {
	$('*[rel*=lightbox::]').lightBox({
		imageLoading:			basePath + '0_generic/images/plugins/lightbox/lightbox-ico-loading.gif',		
		imageBtnPrev:			basePath + 'hamburg_qd/images/plugins/lightbox/lightbox-btn-prev.gif',	
		imageBtnNext:			basePath + 'hamburg_qd/images/plugins/lightbox/lightbox-btn-next.gif',		
		imageBtnClose:			basePath + 'hamburg_qd/images/plugins/lightbox/lightbox-btn-close.gif',
		imageBlank:				basePath + 'hamburg_qd/images/plugins/lightbox/lightbox-blank.gif',
		txtImage:				'Bild',
		txtOf:					'von'
	});
}

/**
  * ============================================================================
  * makeExpanderFeature - Expander erstellen
  * ============================================================================
  * @return::void
  * ============================================================================
  */
function makeExpanderFeature() {
	$("*[rel*='expander::']").each(function() {
		var element = $(this);
		var rel = element.attr("rel");
		var posTagStart = rel.indexOf('expander::');
		
		if (posTagStart != -1) {
			var posTagEnd = rel.indexOf(';', posTagStart);
			
			if (posTagEnd == -1)
				posTagEnd = rel.length;
			
			var commandSet = rel.substring(posTagStart, posTagEnd).split('::');
			var commandSetLen = commandSet.length;
			var targetElementStr = commandSetLen > 1 ? commandSet[1] : '';
			var targetElement = targetElementStr ? $('[' + targetElementStr + ']') : null;
			var styleArr = commandSetLen > 2 ? commandSet[2].split('=') : null;
			var textArr = commandSetLen > 3 ? commandSet[3].split('=') : null;
			
			if (targetElement.length) {
				element.data("targetElement", targetElement);
				element.data("initialHeight", targetElement.height());
				element.data("styleArr", styleArr);
				element.data("textArr", textArr);
				
				targetElement.css('display', 'none');
				targetElement.css('opacity', '0');
				targetElement.css('height', '0');
				
				element.bind("click", function() {
					var element = $(this);
					var targetElement = element.data("targetElement");
					var initialHeight = element.data("initialHeight");
					var styleArr = element.data("styleArr");
					var textArr = element.data("textArr");
					
					if (styleArr && styleArr.length == 2) {
						var styleCurrentAttributeValue = element.attr(styleArr[0]);
						
						if (styleCurrentAttributeValue) {
							var styleCurrentArr = [styleArr[0], styleCurrentAttributeValue];
							element.attr(styleArr[0], styleArr[1]);
							element.data("styleArr", styleCurrentArr);
						}
						else {
							element.attr(styleArr[0], styleArr[1]);
						}
					}
					
					if (textArr && textArr.length == 2) {
						switch (textArr[0].toLowerCase()) {
							case "html":
								element.data("textArr", [textArr[0], element.html()]);
								element.html(textArr[1]);
								break;
							default:
								element.data("textArr", [textArr[0], element.text()]);
								element.text(textArr[1]);
						}
					}
					
					// Animation abspielen
					var elementCurrentDisplay = targetElement.css('display');
					if (elementCurrentDisplay != 'none') {
						targetElement.animate({
							opacity: 0
						},
						250,
						"swing", function() {
							targetElement.animate({
								height: 0
							}, 250, "swing", function() {
								targetElement.css('display', 'none');
							});
						});
					}
					else {
						targetElement.css('display', 'block');
						targetElement.animate({
							height: initialHeight
						},
						250,
						"swing", function() {
							targetElement.animate({
								opacity: 1
							}, 250, "swing");
						});
					}
					
					return false;
				});
			}
		}
	});
}

/**
  * ============================================================================
  * makeToolTipFeature - Tooltips erstellen
  * ============================================================================
  * @return::void
  * ============================================================================
  */
var currentTip = null;

function moveToolTip(e) {
	if (currentTip) {
		currentTip.css({
			left: String(e.pageX + 12) + "px",
			top: String(e.pageY + 8) + "px"
		});
		
		// Quick-Navi beibehalten
		quickNavKeep();
	}
}

function makeToolTip(activator, text, xmouse, ymouse) {
	// Entferne bestehende Instanz
	if (currentTip && currentTip.length) 
		currentTip.remove();
	
	// Tip neu anlegen
	currentTip = $('<div class="tipWrap"><span>' + text + '</span></div>');
	
	if (currentTip.length) {
		// Styles
		currentTip.css({
			position: "absolute",
			left: String(xmouse + 12) + "px",
			top: String(ymouse + 8) + "px",
			zIndex: 2000
		});
	
		// Event binden
		activator.bind("mousemove", moveToolTip);
		
		// Zum Body hinzufügen
		$("body").prepend(currentTip);
		
		// Größe anlegen
		var contentWidth = currentTip.children("span").width();
		currentTip.width(contentWidth);
		
		// Quick-Navi beibehalten
		quickNavKeep();
	}
}

function removeToolTip() {
	if (currentTip && currentTip.length) {
		// Event entfernen
		$(this).unbind("mousemove", moveToolTip);
		
		// entfernen
		currentTip.remove();
		currentTip = null;
	}
}

function makeToolTipFeature() {
	$("*[rel*='tip::']").each(function() {
		var element = $(this);
		
		// Title leeren
		element.data("tipTitle", element.attr("title"));
		element.attr("title", "");
		
		// Events binden
		element.bind("mouseover", function(e) {
			makeToolTip($(this), element.data("tipTitle"), e.pageX, e.pageY);
		});
		
		element.bind("mouseout", function(e) {
			removeToolTip();
		});
		
	});
}

/**
 *
 *
 */
var curQuickNavView = null;
var quickNavOpenTimer = 0;
var quickNavCollapseTimer = 0;

function makeQuickNavFeature() {
	$("*[rel*='quicknav::']").each(function() {
		var element = $(this);
		var rel = element.attr("rel");
		var posTagStart = rel.indexOf('quicknav::');
		
		if (posTagStart != -1) {
			var posTagEnd = rel.indexOf(';', posTagStart);
			
			if (posTagEnd == -1)
				posTagEnd = rel.length;
			
			var commandSet = rel.substring(posTagStart, posTagEnd).split('::');
			var commandSetLen = commandSet.length;
			var quickNavNumber = commandSetLen > 1 ? commandSet[1] : 0;
			
			if (quickNavNumber) {
				var quickNaviView = $("#quickNavView" + String(quickNavNumber));
				
				if (quickNaviView.length) {
					try {
						var parentListItem = element.parent("li");
						var cls = parentListItem.attr("class");
							
						quickNaviView.data("parentListItem", parentListItem);
						quickNaviView.data("parentListItemClass", cls);
						quickNaviView.data("parentListItemActClass", (cls + "-act"));
					
						element.bind("mouseover", function() {
							quickNavSet(quickNaviView);
						});
						
						element.bind("mouseout", function() {
							quickNavKeep();
							quickNavCollapseTimer = setTimeout("quickNavCollapse()", 250);
						});
						
						quickNaviView.bind("mouseover", function() {
							quickNavKeep();
						});
						
						quickNaviView.bind("mouseout", function(e) {
							if (!e.relatedTarget)
								return false;
							
							quickNavKeep();
							quickNavCollapseTimer = setTimeout("quickNavCollapse()", 250);
						});
					}
					catch(e) {
					}
				}
			}
		}
	});
}

function quickNavSet(quickNaviView) {
	try {
		if (curQuickNavView)
			quickNavCollapse();
		
		if (quickNavOpenTimer) {
			clearTimeout(quickNavOpenTimer);
			quickNavOpenTimer = 0;
		}
		
		curQuickNavView = quickNaviView;
		quickNavOpenTimer = setTimeout("quickNavOpen()", 100);
		
		var parentListItem = curQuickNavView.data("parentListItem", parentListItem);
		var cls = curQuickNavView.data("parentListItemActClass", cls);
		parentListItem.attr("class", cls);
	}
	catch(e) {
	}
}

function quickNavOpen() {
	if (quickNavOpenTimer) {
		clearTimeout(quickNavOpenTimer);
		quickNavOpenTimer = 0;
		
		if (!quickNavCollapseTimer)
			curQuickNavView.css("display", "block");		
	}
}

function quickNavKeep() {
	if (quickNavOpenTimer) {
		clearTimeout(quickNavOpenTimer);
		quickNavOpenTimer = 0;
	}
	
	if (quickNavCollapseTimer) {
		clearTimeout(quickNavCollapseTimer);
		quickNavCollapseTimer = 0;
	}
}

function quickNavCollapse() {
	try {
		clearTimeout(quickNavOpenTimer);
		quickNavOpenTimer = 0;
	
		clearTimeout(quickNavCollapseTimer);
		quickNavCollapseTimer = 0;
		
		var parentListItem = curQuickNavView.data("parentListItem", parentListItem);
		var cls = curQuickNavView.data("parentListItemClass", cls);
		parentListItem.attr("class", cls);
		
		curQuickNavView.css("display", "none");
		curQuickNavView = null;
	}
	catch(e) {
	}
}

/**
  * ============================================================================
  * makeGoogleMapsFeature - Google Maps erstellen
  * ============================================================================
  * @return::void
  * ============================================================================
  */
function makeGoogleMapsFeature() {
	if (GBrowserIsCompatible()) {
		$("*[rel*='gmaps::']").each(function() {
			var element = $(this);
			var rel = element.attr("rel");
			var posTagStart = rel.indexOf('gmaps::');
			
			if (posTagStart != -1) {
				var posTagEnd = rel.indexOf(';', posTagStart);
				
				if (posTagEnd == -1)
					posTagEnd = rel.length;
				
				var commandSet = rel.substring(posTagStart, posTagEnd).split('::');
				var commandSetLen = commandSet.length;
				var lat = commandSetLen > 1 ? Number(commandSet[1]) : 0;
				var lng = commandSetLen > 2 ? Number(commandSet[2]) : 0;;
				var zoom = commandSetLen > 3 ? Number(commandSet[3]) : 0;
				var text = commandSetLen > 4 ? commandSet[4] : '';
				var link = commandSetLen > 5 ? commandSet[5] : '';

				// GoogleMaps-Karte erstellen
				var gMap = new GMap2(this, { 
					mapTypes: [G_NORMAL_MAP,G_HYBRID_MAP,G_SATELLITE_MAP]
				});
				var gLatLngInitial = new GLatLng(lat, lng);
				
				// GoogleMaps-Karte zentrieren
				if (zoom !== null)
					gMap.setCenter(gLatLngInitial, zoom);
				else 
					gMap.setCenter(gLatLngInitial);
				
				// GoogleMaps-Karte Interface erstellen
				gMap.disableInfoWindow();
				gMap.enableScrollWheelZoom();
				
				gMap.addControl(new GMapTypeControl(), new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(8, 8)));
				gMap.addControl(new GLargeMapControl(), new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(8, 8)));
				
				// Marker-Icon definieren
				var gHospitalIcon = new GIcon(G_DEFAULT_ICON);
				gHospitalIcon.image = basePath + "hamburg_qd/images/icons/gmaps/gmaps_hospital.gif";
				gHospitalIcon.iconSize  = new GSize(24, 22);
				gHospitalIcon.shadow = null;
				gHospitalIcon.shadowSize = null;
				gHospitalIcon.iconAnchor = new GPoint(12, 11);
				gHospitalIcon.infoWindowAnchor = new GPoint(2, 2);
				
				// Marker-setzen
				var gHospitalMarker = new GMarker(gLatLngInitial, gHospitalIcon);
				gMap.addOverlay(gHospitalMarker);

				// Event binden
				GEvent.addListener(gHospitalMarker, "mouseover", function() {
					gDirections = element.data('gDirections');
					
					if (text) 
						makeToolTip(element, text + (gDirections ? ("<br />Mit dem PKW: " + gDirections.getSummaryHtml()) : ''), 0, 0);
				});
				GEvent.addListener(gHospitalMarker, "mouseout", function() {
					if (text)
						removeToolTip();
				});
				GEvent.addListener(gHospitalMarker, "click", function() {
					window.open(link, '_blank');
				});

				// Google Maps Objekt speichern
				gMap.savePosition();
				element.data('gMap', gMap);
				element.data('gLatLngInitial', gLatLngInitial);
				element.data('gHospitalMarker', gHospitalMarker);
				element.data('gMapText', text);
			}
		});
	}
	else {
		// incompatible
	}
}

/**
  * ============================================================================
  * googleMapsFindRoute - Sucht eine Route zur aktuellen Position
  * ============================================================================
  * @param mapsSelector::mixed
  * JQuery-Selector für den Karten-Container. 
  * Dieser muss von makeGoogleMapsFeature erstellt worden sein.
  * @param dirFormSelector::mixed
  * JQuery-Form-Selektor mit den Feldern für die Suchanfrange
  * @param paramsObj::object
  * Objekt für weitere Einstellungen
  * ============================================================================
  * @return::void
  * ============================================================================
  */
function googleMapsFindRoute(mapsSelector, dirFormSelector, paramsObj) {
	var gMapElement = $(mapsSelector);
	var gMap = gMapElement.data('gMap');
	var dirForm = $(dirFormSelector);
	
	if (gMap && dirForm.length) {
		var dirInput = dirForm.find('input,textarea');
		var street = '';
		var number = '';
		var zipCode = '';
		var town = '';
		var country = 'Germany';
		
		dirInput.each(function() {
			var element = $(this);
			
			if (element.attr('type') != "submit" && element.attr('type') != "button") {
				if (element.attr('name') == 'zipCode')
					zipCode = element.attr('value');
				else if (element.attr('name') == 'street')
					street = element.attr('value');
				else if (element.attr('name') == 'number')
					number = element.attr('value');
				else if (element.attr('name') == 'town')
					town = element.attr('value');
				else if (element.attr('name') == 'country')
					town = element.attr('value');
			}
		});
		
		// pflichtangaben
		if (!zipCode || !street || !number) {
			alert("Bitte füllen Sie alle Felder aus.");
			return;
		}
		
		// suchanfrage
		var gGeocoder = new GClientGeocoder();
		var search = $.grep([zipCode, street, number, town, country], function(a) {
			return (a);
		}).join(',');
		
		gGeocoder.getLatLng(search, function(point) {
			if (!point) {
				alert('Die angegebene Adresse konnte nicht gefunden werden, bitte überprüfen Sie Ihre Eingabe.');
			}
			else {
				// Bestehende Werte löschen
				if (gMapElement.data('gDestMarker')) {
					gMap.removeOverlay(gMapElement.data('gDestMarker'));
					gMapElement.removeData('gDestMarker', gDestMarker);
				}
				if (gMapElement.data('gDirections')) {
					gMapElement.data('gDirections').clear();
				}
					
				// Marker Icon definieren
				var gDestIcon = new GIcon(G_DEFAULT_ICON);
				gDestIcon.image = basePath + "hamburg_qd/images/icons/gmaps/gmaps_route_home.gif";
				gDestIcon.iconSize  = new GSize(24, 22);
				gDestIcon.shadow = null;
				gDestIcon.shadowSize = null;
				gDestIcon.iconAnchor = new GPoint(12, 11);
				gDestIcon.infoWindowAnchor = new GPoint(2, 2);
				
				// Marker-setzen
				var gDestMarker = new GMarker(point, gDestIcon);
				gMap.addOverlay(gDestMarker);
				
				// Route berechnen
				var gDirections = new GDirections(gMap);
			    var gStartPoint = gMapElement.data('gLatLngInitial');
				
				GEvent.addListener(gDirections, 'error', function() {
					alert('Es konnte leider keine Route zu Ihrer Adresse berechnet werden.');
				});
				
				GEvent.addListener(gDirections, 'load', function() {
					// Events
					GEvent.addListener(gDestMarker, "mouseover", function() {
						var streetNumberStr = [street, number].join(" ");
						var zipTownStr = [zipCode, town].join(" ");
						var addressStr = (streetNumberStr.length > 1 ? (streetNumberStr + "; ") : "") + zipTownStr;
						var toolTipText = (addressStr ? (addressStr + "<br />") : "") + 
										  "Mit dem PKW: " + gDirections.getSummaryHtml();
									  
						makeToolTip($(mapsSelector), toolTipText);
					});
					GEvent.addListener(gDestMarker, "mouseout", function() {
						removeToolTip();
					});
					GEvent.addListener(gDestMarker, "click", function() {
						gMap.setCenter(gDestMarker.getLatLng());
					});
					
					// Wert speichern
					gMapElement.data('gDestMarker', gDestMarker);
				});
				
				GEvent.addListener(gDirections, "addoverlay", function()  {  
					var nMarkers = gDirections.getNumGeocodes();
					for(var i=0; i< nMarkers;i++)  {  
						var marker = gDirections.getMarker(i);  
						if (marker != null)  
							marker.hide();
					}  
				});  
				
				gDirections.load(('from: ' + point.lat() + ',' + point.lng()) + (' to: ' + gStartPoint.lat() + ',' + gStartPoint.lng()), { 
									travelMode: G_TRAVEL_MODE_DRIVING 
								});
								
				// Wert speichern
				gMapElement.data('gDirections', gDirections);
			}
		});
	}
	
	// paramsObj -> errorText, errorClass
}

/**
  * ============================================================================
  * googleMapsPrintJob - Druckt den aktuellen Kartenanschnitt
  * ============================================================================
  * @param mapsSelector::mixed
  * JQuery-Selector für den Karten-Container. 
  * ============================================================================
  * @return::void
  * ============================================================================
  */
function googleMapsPrintJob(mapsSelector) {
	var gMapElement = $(mapsSelector);
	var gMap = gMapElement.data('gMap');
	
	if (gMapElement.length && gMap) {
		gHospitalMarker = gMapElement.data('gHospitalMarker');
		gDestMarker = gMapElement.data('gDestMarker');
		
		gLatLngCenter = gMap.getCenter();
		gLatLngSourceMarker = gHospitalMarker.getLatLng();
		gLatLngDestMarker = gDestMarker ? gDestMarker.getLatLng() : null;
		
		// Google Link erstellen
		var gLinkParts = new Array();
		
		gLinkParts.push("name=" + escape(gMapElement.data('gMapText')));
		gLinkParts.push("center=" + ( gLatLngCenter.lat() + ',' + gLatLngCenter.lng() ));
		gLinkParts.push("zoom=" + ( gMap.getZoom()) );
		gLinkParts.push("maptype=" + ( gMap.getCurrentMapType().getName(true).toLowerCase() ));
		
		if (gLatLngDestMarker) {
			gLinkParts.push("src=" + (gLatLngSourceMarker.lat() + ',' + gLatLngSourceMarker.lng()));
			gLinkParts.push("dest=" + (gLatLngDestMarker.lat() + ',' + gLatLngDestMarker.lng()));
		}
		else {
			gLinkParts.push("src=" + (gLatLngSourceMarker.lat() + ',' + gLatLngSourceMarker.lng()));
		}
		
		if (jQuery.browser.msie && jQuery.browser.version < 8) {
			var width = 764;
			var height = 695;
			var left = (screen.width - width) / 2;
			var top = (screen.height - height) / 2;
			
			if (left < 0) {
				left = 0;
				width = screen.width;
			}
			
			if (top < 0) {
				top = 0;
				height = screen.height;
			}
			
			window.open(basePath + "index.php?C=hamburg_qd&R=mainNavigation1.999-189&" + gLinkParts.join('&'), '_blank', ('width=' + String(width) + ',height=' + String(height) + ',left=' + String(left) + ',top=' + String(top)));
		}
		else {
			openModalWindow({ 
				url: basePath + "index.php?C=hamburg_qd&R=mainNavigation1.999-189&" + gLinkParts.join('&')
			});
		}
	}
}

/**
  * ============================================================================
  * graphChangeMovieSize - Wird von Flash, welches durch das JQuery-Plugin 
  * "jquery.swfobject" eingebunden wurde, aufgerufen, um die Größe des 
  * eingebetteten Films zu verändern
  * ============================================================================
  * @param selector::mixed
  * JQuery-Selector
  * @param width::number
  * Neue Breite
  * @param height::number
  * Neue Höhe
  * ============================================================================
  * @return::void
  * ============================================================================
  */
function graphChangeMovieSize() {
	var len = arguments.length;
	var id = len > 0 ? arguments[0] : '';
	var width = len > 1 ? parseInt(arguments[1]) : '';
	var height = len > 2 ? parseInt(arguments[2]) : '';

	try {
		var barGraphSWF = swfobject.getObjectById(id);
		barGraphSWF.width = String(width) + 'px';
		barGraphSWF.height = String(height) + 'px';
	}
	catch(e) {
		alert(e.description);
	}
}  
 
/**
  * ============================================================================
  * setBookmark - Bookmark für die aktuelle Seite setzen
  * ============================================================================
  * @return::void
  * ============================================================================
  */
function setBookmark() {
	if (confirm("Möchten Sie ein persönliches Lesezeichen zu dieser Seite Ihren Favoriten hinzufügen?")) {
		if ($.browser.msie) {
			window.external.AddFavorite(document.location.href, "Hamburger-Krankenhausspiegel - Die Behandlungsqualität der Hamburger Krankenhäuser");
		}
		else if ($(window).attr("sidebar")) {
			window.sidebar.addPanel("Hamburger-Krankenhausspiegel - Die Behandlungsqualität der Hamburger Krankenhäuser", document.location.href, "");
		}
	}
} 

/**
  * ============================================================================
  * openModalWindow - Öffnet ein modales Fenster
  * ============================================================================
  * @param options::object
  * Einstellungen für das modale Fenster
  * ============================================================================
  * @return::void
  * ============================================================================
  */
function openModalWindow(options) {
	// content erstellen
	$('#dialog').empty();
	
	// iframe
	var iframe = $('<iframe border="0" frameborder="0" width="764" height="528" scrolling="auto"></iframe>');
	iframe.attr("src", options.url);
	$('#dialog').append(iframe);
	
	// Dialog erstellen
	$('#dialog').dialog({
		width: 800,
		maxHeight: 600,
		resizable: false,
		modal: true,
		closeOnEscape: true,
		close: function() {
			$('#dialog').empty();
			$('#dialog').dialog('destroy');
		}
	});
}

/**
  * ============================================================================
  * howToReadDialog - Öffnet das "So lesen Sie die Schaubilder"
  * ============================================================================
  * @return::void
  * ============================================================================
  */
function howToReadDialog() {
	openModalWindow({
		url: basePath + "index.php?C=hamburg_qd&R=mainNavigation1.999-186"
	});
}