﻿var geocoder = undefined;
var map = undefined;
var addresses = new Array();
var locations = new Array();

function initMap() {
    var mapid = arguments[0];
    geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(51.51451,7.4683);
    var myOptions = {
        zoom: 12,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById(mapid), myOptions);
    map.setZoom(12);
}

function geo() {
    if (arguments.length > 0) {
        addresses = arguments[0];
    }
    for (var i = 0; i < addresses.length; i++) {
        var strasse = addresses[i][0]; // strasse
        var address = addresses[i][1]; // stadt
        var obid = addresses[i][2]; // objectid
        var miete = addresses[i][3]; // objectid
        var qm = addresses[i][4]; // qm
        var zimmer = addresses[i][5]; // zimmer
        var x = new String(addresses[i][6]).replace(/,/gi, ".");// 6
        var y = new String(addresses[i][7]).replace(/,/gi, "."); // 7
        if (!x || !y) {
            geocoder.geocode({ 'address': address + ', ' + strasse + ', Germany' }, function (results, status) {
                if (status == google.maps.GeocoderStatus.OK) {

                    locations.push(results[0].geometry.location);
                    //locations[i] = results[0].geometry.location;
                    var marker2 = new google.maps.Marker({
                        map: map,
                        position: results[0].geometry.location,
                        icon: SkinPath + '/images/dogewo_pin.png'
                    });

                } else {
                    alert("Geocode was not successful for the following reason: " + status);
                }
            });
        }
        else {
        // geocords vorhanden, jippie!
            var latlng = new google.maps.LatLng(x, y);
            var info = createInfoWindow(obid, address, miete, qm, zimmer,strasse);
            var marker2 = new google.maps.Marker({
                map: map,
                position: latlng,
                icon: SkinPath + '/images/dogewo_pin.png'
            });
            addMarker(marker2, info);
        }
    }
}

function addMarker(marker, info) {
    google.maps.event.addListener(marker, 'click', function () {
        info.open(map, marker);
    });
}

function createInfoWindow(id) {
    // 0 => objectid
    // 1 => Adresse
    // 2 => miete
    // 3 => qm
    // 4 => zimmer
    // 5 => strasse+
    var text = "<div class=\"g-map-bubble\"/><ul><li>" + arguments[5];
    text += "<br/>" + arguments[1] + "</li><li class=\"rent\"><span>Kaltmiete:</span> " + arguments[2] + "<li><span>Wohnfläche:</span> " + arguments[3] + "<li><span>Zimmer:</span> " + arguments[4] + "<li><a class=\"detail\" href=\"/Default.aspx?id=" + id + "&amp;l=" + LangID + "&amp;g=" +GroupID + "\">Details anzeigen</a></li></ul></div>";
    var infowindow = new google.maps.InfoWindow({
        content: text
    });
    return infowindow;
}
