﻿var map;
var geocoder;

$().ready(function() {
    initializeCompanies();
});

function initializeCompanies() {
    var latlng = new google.maps.LatLng(60, 15);
    var myOptions = {
        zoom: 5,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    $("#map_dataholder .company_data").plot();

}


if (jQuery) (function() {
    $.extend($.fn, {
        plot: function() {
            $(this).each(function(i, el) {
                var point = $(".position", el);
                if (IsValidPosition(point)) {
                    var marker = new google.maps.Marker({
                        map: map,
                        position: new google.maps.LatLng(point.extractData(".latitude"), point.extractData(".longitude"))
                    });
                    google.maps.event.addListener(marker, 'click', function() {
                        openInfoWindow(marker, $(el).html().replace(',', '<br/>'));
                    });
                }
            });
        },

        extractData: function(selector) {
            return $(selector, this).text();
        }
        
        
    });
})(jQuery);

function openInfoWindow(marker, html) {
    html = '<div class="company_data">' + html + "</div>";
    var infoWinOptions = { content: html };
    var infoWin = new google.maps.InfoWindow(infoWinOptions);
    infoWin.open(map, marker);
}

function IsValidPosition(position) {
            var lat = parseFloat($(position).extractData(".latitude"));
            var lng = parseFloat($(position).extractData(".longitude"));
        
            return (lat != 0 && lng != 0);
        }


