var geocoder;
var map;
var nComma;
var addressMarker = null;
/*
     * pasar una direccion por defecto
     */
function gmap_init(tag){
    if(tag==undefined)
    {
        tag=$('#map');
    }
    tag.show();
    geocoder = new google.maps.Geocoder();

    var latlng = new google.maps.LatLng(41.396528,2.168851);
    var myOptions = {
        zoom: 15,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    map = new google.maps.Map(document.getElementById(tag.attr('id')), myOptions);
}

/*Localizador google map
 **/
function codeAddress(address){
    if(address==undefined)
    {
        address = $('.g_address').val();
    }
    if (geocoder){
        geocoder.geocode( {
            'address': address
        }, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                map.setCenter(results[0].geometry.location);
                if (addressMarker != null) addressMarker.setMap(null);
                addressMarker = new google.maps.Marker({
                    map: map,
                    position: results[0].geometry.location
                });
                pos = addressMarker.getPosition();
                $('#location_latitude').val(pos.lat());
                $('#location_longitude').val(pos.lng());
                
            } else {
        }
        });
    }
}

function getDefaultMarkerImage(){
    return new google.maps.MarkerImage('/images/global/icons/user.png',
        new google.maps.Size(20, 32),
        new google.maps.Point(0,0),
        new google.maps.Point(0, 32));
}
function getDefaultIcon(){
    var icon = new Object();
    icon.image = getDefaultMarkerImage();
    icon.shadow = new google.maps.MarkerImage('/images/global/icons/user_shadow.png',
        new google.maps.Size(37, 32),
        new google.maps.Point(0,0),
        new google.maps.Point(0, 32));
    icon.shape = {
        coord: [1, 1, 1, 20, 18, 20, 18 , 1],
        type: 'poly'
    };
    return icon;
}

function addMarker(map,lat,lng,title, msg, icon){
    if (!icon) icon = getDefaultIcon();
    
    if (lat != "" && lng != ""){
        var myLatLng = new google.maps.LatLng(lat, lng);
        var marker = new google.maps.Marker({
            position: myLatLng,
            map: map,
            shadow: icon.shadow,
            icon: icon.image,
            shape: icon.shape,
            title: title
        });

        var infowindow = new google.maps.InfoWindow({
            content: msg,
            maxWidth: 200
        });

        google.maps.event.addListener(marker, 'click', function() {
            infowindow.open(map,marker);
        });
    }
}

/*
 *colocar n locations
 **/
function setMarkers(map, locations) {
    // Add markers to the map
    var icon = getDefaultIcon();

    for (var i = 0; i < locations.length; i++) {
        var beach = locations[i];
        var myLatLng = new google.maps.LatLng(beach[1], beach[2]);
        var marker = new google.maps.Marker({
            position: myLatLng,
            map: map,
            shadow: icon['shadow'],
            icon: icon['image'],
            shape: icon['shape'],
            title: beach[0],
            zIndex: beach[3]
        });
    }
}


