	function Get_Cookie( check_name ) {
		// first we'll split this cookie up into name/value pairs
		// note: document.cookie only returns name=value, not the other components
		var a_all_cookies = document.cookie.split( ';' );
		var a_temp_cookie = '';
		var cookie_name = '';
		var cookie_value = '';
		var b_cookie_found = false; // set boolean t/f default f

		for ( i = 0; i < a_all_cookies.length; i++ )
		{
			// now we'll split apart each name=value pair
			a_temp_cookie = a_all_cookies[i].split( '=' );

			// and trim left/right whitespace while we're at it
			cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

			// if the extracted name matches passed check_name
			if ( cookie_name == check_name ) {
				b_cookie_found = true;
				// we need to handle case where cookie has no value but exists (no = sign, that is):
				if ( a_temp_cookie.length > 1 ) {
					cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
				}
				// note that in cases where cookie is initialized but no value, null is returned
				return cookie_value;
				break;
			}
			a_temp_cookie = null;
			cookie_name = '';
		}
		if ( !b_cookie_found ) {
			return null;
		}
	}


    function initialize(latini, longini, zoomini, url, letra, Lat, Long) {
	    if (GBrowserIsCompatible()) {
            var map = new GMap2(document.getElementById("map_canvas"));
            map.setCenter(new GLatLng(latini,longini), zoomini);
            map.setUIToDefault();
			
            var baseIcon = new GIcon(G_DEFAULT_ICON);
            baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
            baseIcon.iconSize = new GSize(20, 34);
            baseIcon.shadowSize = new GSize(37, 34);
            baseIcon.iconAnchor = new GPoint(9, 34);
            baseIcon.infoWindowAnchor = new GPoint(9, 2);
						
			var directionsPanel = null;
			directionsPanel = document.getElementById("map_indicaciones");
			var directions = new GDirections(map, directionsPanel);
			var origin = Get_Cookie ("ic_origin_pos");
			
			GEvent.addListener(map,"click", function(overlay, latlng) {     
				if (latlng) { 
					var myHtml;

					// Si está definido valor para el origen
					if (origin) {
 						directions.load("from: " + origin + " to: "+latlng, { "locale": "es" });
					} else {
						myHtml = "Posición (Lat, Long): " + latlng + "<br>a un zoom de " + map.getZoom(); 
						map.openInfoWindow(latlng, myHtml);
   					};
				}
			});
			   
            // Creates a marker whose info window displays the letter corresponding to the given index.
            function createMarker(point, index) {
                // Create a lettered icon for this point using our icon class
                var letteredIcon = new GIcon(baseIcon);
                letteredIcon.image = "http://www.google.com/mapfiles/marker" + letra[index] + ".png";

                // Set up our GMarkerOptions object
                markerOptions = { icon:letteredIcon };
                var marker = new GMarker(point, markerOptions);
		
		        GEvent.addListener(marker, "click", function() {
		            var zoom = map.getZoom();
		            if (zoom<zoomini+4) {
		                // Centra en el punto y aumenta el zoom
		                map.setCenter(new GLatLng(Lat[index], Long[index]), zoom+4);
		            } else {
		                // Salta a la ruta
		                document.location=url[index];
		            }
                });
	   
                return marker;
            }
			
            // Crea los marcadores
            for (index=0; index<=url.length; index++) {
                map.addOverlay(createMarker(new GLatLng(Lat[index],Long[index]), index));
            }
        }
    }

