function karte() {
    karteAction(function (textdiv, e) {
        var text = e.type == "mouseover" || e.type == "focus" ? this.alt : "";
        textdiv.firstChild.nodeValue = text;
    });
}

function karteKlein (freieWohnungen) {

    var $karte = $("#karte");      
    var $karteimg = $("#karteklein");
    var $textdiv = $("#maptext");

    if ($karte.length > 0) {   
	    $karte.find("input").click(function(e) {
	    	$this = $(this);
	    	id = this.id;
	    	if ($this.attr("checked")) {
	    		if (id == "karteort1") {
					$karteimg.attr("src", window.BASEURL + "/img/karte.gif");
					$karteimg.attr("useMap", "#map1");
				}
				else {
					$karteimg.attr("src", window.BASEURL + "/img/karte_peine.gif");
					$karteimg.attr("useMap", "#map2");
				}
	    	}
	    });
    
	   	    
		$("area").hover(
			function(e) {
				text = $(this).attr("alt");
				text += " (";
				if (typeof freieWohnungen[this.alt] != "undefined") {
	                text += freieWohnungen[this.alt];
	            } else {
	                text += 0;
	            }
	            text += " Wohnungen)";
	            $textdiv.text(text);
			},
			function(e) {
				$textdiv.text('');
			}
		);
		
    
        
    }

}

function karteAnsprechpartner (wohnungen) {
    var ansprechpartner = {
        kundenzentrum : ('<div id="vermietungsteam" xmlns="http://www.w3.org/1999/xhtml">\
            <p>Für <span>1</span> ist Ihr Kundenzentrum Salzgitter-Bad zuständig</p>\
            <p><strong>Aktuell sind <span>2</span> Wohnungen in <span>3</span> frei</strong>.</p>\</div>').parseAsXML(),
        peine : ('<div id="vermietungsteam" xmlns="http://www.w3.org/1999/xhtml">\
            <p>Für <span>1</span> ist Ihr Stadtbüro Peine zuständig</p>\
            <p><strong>Aktuell sind <span>2</span> Wohnungen in <span>3</span> frei</strong>.</p>\</div>').parseAsXML(),
        stadtbuero    : ('<div id="vermietungsteam" xmlns="http://www.w3.org/1999/xhtml">\
            <p>Für <span>1</span> ist Ihr Stadtbüro Salzgitter-Lebenstedt zuständig</p>\
            <p><strong>Aktuell sind <span>2</span> Wohnungen in <span>3</span> frei</strong>.</p>\</div>').parseAsXML()
    };

    karteAction(function (textdiv, e) {
        if (e.type == "mouseover" || e.type == "focus") {
            var insert;
            switch (this.alt) {
                case "Salzgitter-Ringelheim":
                case "Salzgitter-Bad":
                    insert = ansprechpartner["kundenzentrum"];
                    break;
                case "Peine":
                case "Ilsede- Bülten":
                case "Peine-Südstadt":
                case "Ilsede- Groß Bülten":
                case "Ilsede- Ölsburg":
                case "Ilsede":
                    insert = ansprechpartner["peine"];
                    break;   
                default:
                    insert = ansprechpartner["stadtbuero"];
                    break;
            }

            var html = importNode(insert.firstChild, true);
            var spans = html.getElementsByTagName("span");

            spans[2].firstChild.nodeValue = spans[0].firstChild.nodeValue = this.alt;
            spans[1].firstChild.nodeValue = wohnungen[this.alt] || 0;

            textdiv.appendChild(html);
        } else {
            while(textdiv.hasChildNodes()) {
                textdiv.removeChild(textdiv.firstChild);
            }
        }
    });
}

function karteAction (func) {
    var karte   = document.getElementById("kartegross");
    var textdiv = document.getElementById("bigmaptext");
    var areas   = karte.getElementsByTagName("area");

    textdiv.appendChild(document.createTextNode(" "));

    for (var i = 0, area; area = areas[i]; i++) {
        var binded_function = func.bind(area, textdiv);
        addEvent(area, "mouseover", binded_function);
        addEvent(area, "mouseout", binded_function);
        addEvent(area, "focus", binded_function);
        addEvent(area, "blur", binded_function);
    }
}
