
<!--

function createmap(mapid) {

    SIM = {};
    SIM.register = {};

    map = new GMap2(document.getElementById(mapid));

    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());

    return map;
}

function createmarker(map,latitude,longitude,zoom,markertype,draggable) {

    var point = new GLatLng(latitude,longitude);

    map.setCenter(point,zoom);

    var icon = null;

    if(markertype=='house') {
        var icon = new GIcon();
        icon.image = "/simcore/images/gmaps/icon_house.png";
        icon.iconSize = new GSize(24, 24);
        icon.shadowSize = new GSize(48, 24);
        icon.iconAnchor = new GPoint(12, 23);
        icon.infoWindowAnchor = new GPoint(5, 2);
        icon.infoShadowAnchor = new GPoint(12, 1);
        icon.shadow = "/simcore/images/gmaps/icon_house_shadow.png";
    }

    var marker = new GMarker(point,{icon:icon, draggable:draggable});
    return marker;
}

function balloontext(marker,text) {

    GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(text);
    });
}

function storecoordinates(marker,elementname) {

    document.getElementById(elementname).value = marker.getPoint().toUrlValue();

    GEvent.addListener(marker, 'dragend', function() {
        document.getElementById(elementname).value = marker.getPoint().toUrlValue();
    });
}

function placemarker(map,marker) {

    map.addOverlay(marker);
}

function placemarkerbyaddress(map,address,zoom,draggable,coordinates,text) {

    var geocoder = new GClientGeocoder();
    geocoder.getLatLng(address,function(point) {

        if(point) {

            var marker = new GMarker(point,{draggable:draggable});

            if(coordinates!='') {
                storecoordinates(marker,coordinates);
            }

            if(text!='') {
                balloontext(marker,text);
            }

            map.setCenter(point,zoom);
            map.addOverlay(marker);

        }
    });
}

function centeronaddress(map,address,zoom) {

    var geocoder = new GClientGeocoder();
    geocoder.getLatLng(address,function(point) {

        if(point) {
            map.setCenter(point,zoom);
        }
    });
}

function placemarkerbyclick(map,elementname) {

    GEvent.addListener(map, "click", function(marker,point) {

        var marker = new GMarker(point,{draggable:1});

        if(elementname!='') {
            storecoordinates(marker,elementname);
        }

        map.addOverlay(marker);
        map.setCenter(point,15);

        GEvent.clearListeners(map,'click');
    });
}


function zoomonclick(map) {
    GEvent.addListener(map, "click", function(marker,point) {
        map.setCenter(point,15);
    });
}

function zoomonaddressbyclick(map) {

    GEvent.addListener(map, "dblclick", function(marker,point) {

        var straat = document.getElementById("overzichtskaartstraat").value;
        var huisnummer = document.getElementById("overzichtskaarthuisnummer").value;
        var plaatsnaam = document.getElementById("overzichtskaartplaats").value;
        var address = straat + " " + huisnummer + " " + plaatsnaam + " Nederland";
        centeronaddress(map,address,15);
    });
}



function zoomtoaddressonchange(map) {

    GEvent.addListener(map,"addoverlay",function() {

        function changedaddress() {

            var straat = document.getElementById("overzichtskaartstraat").value;
            var huisnummer = document.getElementById("overzichtskaarthuisnummer").value;
            var plaatsnaam = document.getElementById("overzichtskaartplaats").value;
            var adres = straat + " " + huisnummer + " " + plaatsnaam + " Nederland";

            centeronaddress(map,adres,15);
        }
        if(document.getElementById("overzichtskaartstraat") != null){
            if(typeof(document.getElementById("overzichtskaartstraat").addEventListener)=='function') {

                document.getElementById("overzichtskaartstraat").addEventListener('change',function() {      changedaddress(); },true);
                document.getElementById("overzichtskaarthuisnummer").addEventListener('change',function() {  changedaddress(); },true);
                document.getElementById("overzichtskaartplaats").addEventListener('change',function() {      changedaddress(); },true);
            }

            if(typeof(document.getElementById("overzichtskaartstraat").attachEvent)=='object') {

                document.getElementById("overzichtskaartstraat").attachEvent("onchange",function() {     changedaddress(); });
                document.getElementById("overzichtskaarthuisnummer").attachEvent("onchange",function() { changedaddress(); });
                document.getElementById("overzichtskaartplaats").attachEvent("onchange",function() {     changedaddress(); });
            }
        }

    });
}



function showmap(map,mapid) {

    SIM.register.mapid = map;
}

function addloadevent(func) {

    var oldonload = window.onload;
    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function() {
            if (oldonload) {
                oldonload();
            }
            func();
        }
    }
}

var shadow_icon = null;
function createicon(location, sizex, sizey) {
        var icon = new GIcon();

        icon.image = location;

        if(sizex != undefined && sizey != undefined) {
            icon.iconSize = new GSize(sizex, sizey);
        } else {
            icon.iconSize = new GSize(24, 24);
        }

        icon.iconAnchor = new GPoint(0, 24);
        icon.infoWindowAnchor = new GPoint(5, 1);

        if(shadow_icon != null) {
            icon.shadow = shadow_icon;
        }

        return icon;
}

var gm_points = new Array();
var gm_icons = new Array();
var gm_locations = new Array();
var gm_messages = new Array();
var gm_bounds = null;
var geocoder = null;

function process_point(point) {
    gm_points[gm_points.length] = point;
    if (gm_points.length == gm_locations.length) {
        var icon;
        var marker;
        var init = false;
        for(var i = 0; i < gm_points.length; i++) {
            if (gm_points[i] != null) {
                if (!init) {
                    map.setCenter(gm_points[i], 12);
                    init = true;
                }
                if(gm_icons[i] != null) {
                    icon = createicon(gm_icons[i]);
                    marker = new GMarker(gm_points[i], icon);
                    balloontext(marker, gm_messages[i]);
                    map.addOverlay(marker);
                }
                gm_bounds.extend(gm_points[i]);
            }
        }
        map.setCenter(gm_bounds.getCenter(), map.getBoundsZoomLevel(gm_bounds));
    } else {
        geocoder.getLatLng(gm_locations[gm_points.length], process_point);
    }
}

-->

