﻿var geocoder;
var map;
var infowindow;
var marker;
var markersArray = [];
var input;


function clearOverlays() {
    if (markersArray) {
        //for (i in markersArray) {
           // markersArray[i].setMap(null);
        //}
        for (i = 0; i <= markersArray.length - 1; i++) {
            markersArray[i].setMap(null);
        }
    }
}

function initialize() {
    geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(51.808615, -1.362305);
    var myOptions = {
        zoom: 8,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}

function initialize2() {
    var myOptions = {
        zoom: 6,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    // Try W3C Geolocation method (Preferred)
    if (navigator.geolocation) {
        browserSupportFlag = true;
        navigator.geolocation.getCurrentPosition(function (position) {
            initialLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
            contentString = "Location found using W3C standard";
            map.setCenter(initialLocation);
            infowindow.setContent(contentString);
            infowindow.setPosition(initialLocation);
            infowindow.open(map);
        }, function () {
            handleNoGeolocation(browserSupportFlag);
        });
    } else if (google.gears) {
        // Try Google Gears Geolocation
        browserSupportFlag = true;
        var geo = google.gears.factory.create('beta.geolocation');
        geo.getCurrentPosition(function (position) {
            initialLocation = new google.maps.LatLng(position.latitude, position.longitude);
            contentString = "Location found using Google Gears";
            map.setCenter(initialLocation);
            infowindow.setContent(contentString);
            infowindow.setPosition(initialLocation);
            infowindow.open(map);
        }, function () {
            handleNoGeolocation(browserSupportFlag);
        });
    } else {
        // Browser doesn't support Geolocation
        browserSupportFlag = false;
        handleNoGeolocation(browserSupportFlag);
    }
}

function codeLatLng(MeetingPlace,Coords) {
    input = Coords;

    if (infowindow != null) { infowindow.close(); }

    infowindow = new google.maps.InfoWindow({
        content: 'An InfoWindow'
    });

    var latlngStr = input.split(",", 2);
    var lat = parseFloat(latlngStr[0]);
    var lng = parseFloat(latlngStr[1]);
    var latlng = new google.maps.LatLng(lat, lng);

    if (geocoder) {
        geocoder.geocode({ 'latLng': latlng }, function (results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                if (results[1]) {
                    if (markersArray.length >= 1) {
                        clearOverlays();
                    }
                    map.setZoom(13);
                    map.setCenter(latlng)
                    marker = new google.maps.Marker({
                        position: latlng,
                        map: map,
                        title: MeetingPlace
                    });

                    /*google.maps.event.addListener(marker, 'click', function () {
                    infowindow.open(map, marker);
                    //setTimeout(function () { infowindow.close(); }, 5000);
                    map.setCenter(latlng)
                    });*/

                    markersArray.push(marker);
                } else {
                    alert("No results found");
                }
            } else {
                alert("Geocoder failed due to: " + status);
            }
        });
    }
}

function viewLargerMap(Latitude, Longitude) {
    var googlemaps = window.open('http://maps.google.co.uk/maps?f=q&source=s_q&hl=en&geocode=&q=' + Latitude + "," + Longitude + '&ie=UTF8&z=16', '');
    //51.09053,1.01535&sll=53.800651,-4.064941&sspn=14.30596,39.023438
}
