﻿function generateMap(points) {

        var map = $('#map');

        // Hello Icon
        var hello_icon = new GIcon();
        hello_icon.image = "/images/hello-pin.png";
        hello_icon.size = new GSize(152, 147);
        hello_icon.iconAnchor = new GPoint(76, 147);
        hello_icon.infoWindowAnchor = new GPoint(7, 7);

        // Favourite Location Icon
        var point_icon = new GIcon();
        point_icon.image = "/images/heart.png";
        point_icon.size = new GSize(33, 36);
        point_icon.iconAnchor = new GPoint(17, 36);
        point_icon.infoWindowAnchor = new GPoint(7, 7);

        // Icon Options
        var hello_opt
        hello_opt = {}
        hello_opt.icon = hello_icon
        hello_opt.draggable = false
        hello_opt.clickable = false
        hello_opt.dragCrossMove = true

        var point_opt
        point_opt = {}
        point_opt.icon = point_icon
        point_opt.draggable = false
        point_opt.clickable = true
        point_opt.dragCrossMove = true


        if (map.length == 0) {
            return;
        }

        var point = points.OfficeLoc.split(',');

        var lat = parseFloat(point[0]);
        var lon = parseFloat(point[1]);
        var zoom = parseFloat(point[2]);

        var map = new GMap2(document.getElementById('map'));

        var p = new GLatLng(lat, lon);
        map.setCenter(p, zoom);

        var marker = new GMarker(p, hello_opt);
        map.addOverlay(marker);

        $.each(points.locations, function (index, obj) {

            if (obj != null) {

                var pointCoordinates = obj.coordinates.split(',');

                var pp = new GLatLng(parseFloat(pointCoordinates[0]), parseFloat(pointCoordinates[1]));
                var point = new GMarker(pp, point_opt);
                map.addOverlay(point);
                point.bindInfoWindowHtml(obj.title);
            }

        });

        var mapControl = new GMapTypeControl();
        map.addControl(mapControl);
        map.addControl(new GLargeMapControl());

    }
