

function initializeMapaMarker(capa,tipo,latitud,longitud,zoom,id)
{

    var latlng = new google.maps.LatLng(latitud, longitud);
    var myOptions = {
        scrollwheel: false,
        navigationControl: true,
        mapTypeControl: false,
        scaleControl: false,
        draggable: true,
        zoom: zoom,
        center: latlng,
        mapTypeControlOptions: {
            mapTypeIds: [google.maps.MapTypeId.ROADMAP]
        },
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    var mapa = new google.maps.Map(document.getElementById(capa),myOptions);

    var nuevoMarcador = new google.maps.Marker({
         position: latlng,
         map: mapa,
         draggable: false,
         icon:'/img/icon-'+tipo+'.png'
    });
}

function initializeMapa(capa,tipo,action,latitud,longitud,zoom,id)
{

    var latlng = new google.maps.LatLng(latitud, longitud);
    var myOptions = {
        scrollwheel: false,
        navigationControl: true,
        mapTypeControl: false,
        scaleControl: false,
        draggable: true,
        zoom: zoom,
        center: latlng,
        mapTypeControlOptions: {
            mapTypeIds: [google.maps.MapTypeId.ROADMAP]
        },
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    var mapa = new google.maps.Map(document.getElementById(capa),myOptions);


    getMarkers(capa,mapa,tipo,action,id,zoom);
    

    if (action=="hoteles" || action=="zonas")
    {
        getMarkers(capa,mapa,"estacion","estaciones",id,zoom);
    }


}


function getMarkers(capa,mapa,tipo,action,id,zoom)
{
    var url='/async/marker'+action;
    
    if (id!=undefined) url=url+'/'+id;
    
    downloadUrl(url, function(data)
    {
        var infowindow;
        var markersZonas = [];
        var markers = data.documentElement.getElementsByTagName('marker');
        for (var i = 0; i < markers.length; i++)
        {
            var title = markers[i].getAttribute('name');
            var latlng = new google.maps.LatLng(parseFloat(markers[i].getAttribute('lat')),
                                                parseFloat(markers[i].getAttribute('lng')));
            var  marker= new google.maps.Marker({
                position: latlng,
                map: mapa,
                title:title,
                icon:'/img/icon-'+tipo+'.png'
            });

            markersZonas[i]=marker;
            google.maps.event.addListener(markersZonas[i], 'click', function()
            {
                var indice=3;
                for (var j=0; j< markers.length; j++)
                {
                    if (markers[j].getAttribute('name') == this.getTitle())
                    {
                        indice=j;
                    }
                }

                if (action=="areas"){
                    initializeMapa(capa,"zona","zonas",markers[indice].getAttribute('lat'), markers[indice].getAttribute('lng'),8,markers[indice].getAttribute('id'));
                }else if (action=="zonas"){
                    initializeMapa(capa,"hotel","hoteles",markers[indice].getAttribute('lat'), markers[indice].getAttribute('lng'),10,markers[indice].getAttribute('id'));
                }else if (action=="hoteles"){
                    location.href=markers[indice].getAttribute('enlace');
                }


            });

            google.maps.event.addListener(markersZonas[i], 'mouseover', function()
            {
                var indice=3;
                for (var j=0; j< markers.length; j++)
                {
                    if (markers[j].getAttribute('name') == this.getTitle())
                    {
                        indice=j;
                    }
                }

                infowindow = new google.maps.InfoWindow({
                  content: markers[indice].getAttribute('info'),
                  size: new google.maps.Size(50,50)
                });


                infowindow.open(mapa,this);
            });

            google.maps.event.addListener(markersZonas[i], 'mouseout', function()
            {
                if (infowindow!=undefined)
                {
                    infowindow.close();
                }
            });

        }
    });

}

