jQuery("head").append(""); /** * @namespace Diese Klasse bietet ein Fenster um Informationen anzuzeigen. * @author Jan Kossick, jankossick@online.de * @version 2.0 */ var Infowindow = { /** * Ersetzt den Inhalt des Infofensters. * @param {String|Object} html DOM-Element, HTML-Zeichenfolge oder * jQuery-Objekt, das eingefügt wird. */ setContent : function(html) { jQuery('#infowindow #content').empty(); Infowindow.addContent(html); }, /** * Ergänzt den Inhalt des Infofensters. * @param {String|Object} html DOM-Element, HTML-Zeichenfolge oder * jQuery-Objekt, das eingefügt wird. */ addContent : function(html) { jQuery('#infowindow #content').append(html); }, /** * Lädt CSS für den Content. Überschreibt die vorherigen Angaben. * @param {String} css CSS-Zeichenfolge. */ setContentCSS : function(css) { try { //der IE<9 spinnt sonst rum jQuery('#infowindow_css').empty().append(css); } catch(ex) {} }, /** * Setzt die CSS-Eigenschaften width, height, top, left, bottom, right * des Infofensters. * @param {Object|String} opt Ein Objekt oder JSON-formatierter String mit * den entsprechenden Angaben. Als Werte sind numerische CSS-Angaben * erlaubt. * @example * var props = { * "width":"200px","height":"400px","bottom":"1%","right":"1%" * }; * Infowindow.setOptions(props); */ setOptions : function(opt) { if(typeof opt == "string") opt = jQuery.parseJSON(opt); jQuery.each(opt, function(key, value) { Infowindow.setCSS('', key, value); }); }, /** * Öffnet das Infofenster. */ show : function() { jQuery("#infowindow").show(); }, /** * Schließt das Infofenster. */ hide : function() { jQuery("#infowindow").hide(); }, /** * Gibt Eigenschaften des Infofensters zurück. * Mögliche Selektoren: * #toolbar * #toolbar img * #content * #content input * #content textarea * #content select * und eigene (mit @see{setContent}/@see{addContent} hinzugefügte) * @param {String} selektor CSS-Selektor. Ist der Selektor leer, wird die * Eigenschaft direkt vom Infowindow gelesen. * @param {String} Name der Eigenschaft * @returns {String} Wert der Eigenschaft */ getCSS : function(selektor, name) { return jQuery("#infowindow " + selektor).css(name); }, /** * Kann die Eigenschaften des Infofensters anpassen. * Mögliche Selektoren: * #content * #content input * #content textarea * #content select * und eigene (mit @see{setContent}/@see{addContent} hinzugefügte) * @param {String} selektor CSS-Selektor. Ist der Selektor leer, wird die * Eigenschaft direkt auf das Infowindow angewendet. * @param {String} Name der Eigenschaft * @param {String} Wert der Eigenschaft */ setCSS : function(selektor, name, value) { jQuery("#infowindow " + selektor).css(name, value); } };