var map = null;
var markers = new Array();
var kmls = new Array();
var cur_sm = null;
var new_sm = null;
function mp_change1(){
	var center = map.getCenter();
	var zoom = map.getZoom();
	zoom = Number(zoom);
	
	//Escondemos todos los que esten fuera de la zona
	for (var j = 0; j < markers.length; j++) {
		if (!map.getBounds().containsLatLng(markers[j].getPoint())) {
			map.removeOverlay(markers[j]);
			markers.splice(j,1);
			j--;			
		} 
	}

	//Escondemos todos los no se deberian mostrar (por lode las capas)
	for (var j = 0; j < markers.length; j++) {
		  if (!markers[j].borrala) {
			switch(markers[j].tipo){
				case 'sm'://Supermanzanas
					if (!$('#versm')[0].checked||zoom<14){
						map.removeOverlay(markers[j]);
						markers.splice(j,1);
						j--;
					}
					break;
				case 'm'://Manzanas
					if (!$('#verm')[0].checked||zoom<16){ 
						map.removeOverlay(markers[j]);
						markers.splice(j,1);
						j--;						
					}
					break;
				case 'n'://Negocios
					if (!$('#vern')[0].checked||zoom<15){
						map.removeOverlay(markers[j]);
						markers.splice(j,1);
						j--;						
					}
					break;
				case 'r'://Referencias
					if (!$('#verr')[0].checked||zoom<15){
						map.removeOverlay(markers[j]);
						markers.splice(j,1);
						j--;						
					}
			}
		}
	}	
	//traemos el layer de stuff
	$.post("cmts/maplayer.asp", {english:english,coord:center.toString(), zoom:zoom.toString(), layer_sm:$('#versm')[0].checked, layer_m:$('#verm')[0].checked, layer_n:$('#vern')[0].checked, layer_r:$('#verr')[0].checked, layer_c:$('#mapa_giro').val()}, function(que){
		
		var giros = $("#mapa_giro").val()=="0"?false:true;
		//giros setup para borrar
		for (j = 0; j < markers.length; j++) {
			if(markers[j].tipo=="g"){
				if(giros==false){
					map.removeOverlay(markers[j]);
					markers.splice(j,1);
					j--;
				}else{
					markers[j].borrala=true;
				}
			}
		}
		if (que!=""){
			co = que.split("|");		
				for (x in co){
					data = co[x].split(",");
					if (data.length > 6) {
						//si son giros, vemos si ya existen y si es asi; omitimos agrearlos
						s_found = false;
						if(data[2]=="g"&&giros==true){
							for (j=0; j < markers.length; j++) {
								if(markers[j].title==data[3]&&markers[j].tipo=="g"){
									markers[j].borrala=false;
									s_found=true;
								}
							}
						}
						if (s_found==false){
							pintamapa(data[0],data[1],data[2],data[3],data[4],data[5],data[6]);
						}
					}
				}
				pintamanzanas();
		}
		//depuramos giros
		for (var j = 0; j < markers.length; j++) {
			if(markers[j].borrala==true){
				map.removeOverlay(markers[j]);
				markers.splice(j,1);
				j--;
			}
		}		
		dbg(markers.length);
	},"html");
}
function initialize() {//Vista del Mapa para mapa.asp
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map_canvas"));
		map.setCenter(new GLatLng(21.1618, -86.8342), 13);
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		//eventos del mapa
		//recentrado del mapa
		GEvent.addListener(map, "moveend", function(){
			mp_change1();
		});
		if ($("#debuger").length > 0){//debug de click en mapa para sacar coordenadas
			GEvent.addListener(map,"click", function(overlay,latlng) {     
				if (latlng) {
					var myHtml = "Coordenadas: <br><strong>" + latlng.toString().replace(/[\(\)]/g,"") + "</strong>";
					dbg(myHtml);
				}
			});
		}
  }
}
function viewregmap(zoom,centro,vista){ //Vista del Mapa para view_reg.as´p
	centro = centro.split(",");
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map_canvas"));
		var tmp = map.getMapTypes();
		for (x in tmp){
			if (tmp[x].Fc==vista){
				vista=x;
			}
		}
		map.setMapType(tmp[vista]);
		map.setCenter(new GLatLng(centro[0], centro[1]), zoom);
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		GEvent.addListener(map, "moveend", function() {
			var center = map.getCenter();
			var zoom = map.getZoom();
			//Escondemos todos los que esten fuera de la zona
			for (var j = 0; j < markers.length; j++) {
				  if (!map.getBounds().containsLatLng(markers[j].getPoint())) {
					map.removeOverlay(markers[j]);
					markers.splice(j,1);
					j--;
				  } 
			}
			for (var j = 0; j < markers.length; j++) {
				  if (!markers[j].borrala) {
					switch(markers[j].tipo){
						case 'sm'://Supermanzanas
							if (zoom<14){
								map.removeOverlay(markers[j]);
								markers.splice(j,1);
								j--;
							}
							break;
						case 'r'://Referencias
							if (zoom<15){
								map.removeOverlay(markers[j]);
								markers.splice(j,1);
								j--;
							}
							break;
					}
				  }
			}			
			$.post("cmts/maplayer.asp", {english:english,coord:center.toString(), zoom:zoom.toString(), layer_sm:"true", layer_m:"false", layer_n:"false", layer_r:"true",item:elitem}, function(que){//traemos el layer de stuff
				if (que!="")
				{
					co = que.split("|");
					for (x in co){
						data = co[x].split(",");
						pintamapa(data[0],data[1],data[2],data[3],data[4],data[5],data[6]);
					}
					pintamanzanas();
				}
				dbg(markers.length);
			},"html");
		});
		GEvent.trigger(map,"moveend"); 
      }
}
function dbg(que){
	if ($("#debuger").length > 0);
	{
		$("#debuger").html(que);
	}
}
function pintamanzanas(){
	if(cur_sm!=new_sm){
		for (var j = 0; j < markers.length; j++) {
			if(markers[j].parent==cur_sm){
				if(markers[j].div_){
				markers[j].div_.className = "mapam";
				markers[j].redraw(true); 
				}
			}
			if(markers[j].parent==new_sm){
				if(markers[j].div_){
				markers[j].div_.className = "mapam-resaltado";
				markers[j].redraw(true); 
				}
			}
		}
		cur_sm = new_sm;
	}
}
$().ready(function() {
	$('#map_controles_acc').accordion();
	$("#sm").change(function () {
		var lasm =this.value;
		//traemos las supermanzanas cercanas
		$.post("cmts/mapa_traecoordenada.asp",{english:english,sm:lasm}, function(que){
			//Recentramos y Rezomeamos el Mapa
			co = que.split(",")
			map.setCenter(new GLatLng(co[0],co[1]),16);
			new_sm = lasm;
		},"html");
		//traemos las manzanas para poblar el menu
		$.post("cmts/getmz.asp",{english:english,sm:lasm}, function(que){
			$("#tabs_m").html(que);
		},"html");
	});
	$("#smcombo").change(function(){
		$("#sm").val($("#smcombo").val());
		$("#sm").change();
	});
	//clicks en capas
/*	if ($(".capa").length>0){
		$(".capa").click();
	}*/
	//clicks en transporte urbano
	/*var lascajas = $(".tp");
	if (lascajas.length>0){
		lascajas.attr("checked", "");
		lascajas.click();
	}*/	
	//enter en busqueda por calle
	if($("#porcalle").length>0){
		$("#porcalle").keypress(function (e) {
			if (e.which == 13){
				mapa_gocallenumero();
			}
		});
	}
	//cargador de categorias en seccion de capas
	load_div("incs/menu_items2.asp?mapa=1","elmenu");
});
function click_capa(cual){
	pageTracker._trackEvent("Clicks en Mapa", "Capa", cual.id);
	map.setCenter(map.getCenter());
	switch(cual.id){
		case "verm":
			if (map.getZoom()<16)
			{
				map.setZoom(16);
			}
			break;
		case "vern":
			if (map.getZoom()<15)
			{
				map.setZoom(15);
			}
			$("#mapa_giro").val("0");
			break;
	}
}
function click_ruta(cual){
	pageTracker._trackEvent("Clicks en Transporte Urbcabo", "Capa", cual.id);
	switch(cual.id){
		case "tpruta1":
			if ($("#"+cual.id)[0].checked){
				var txt = "<table colspan=\"0\" border=\"0\" padding=\"3\"><tr><td valign=\"top\"><img src=\"imgs/mapa/autocar1.gif\" alt=\"Autocar\" style=\"padding-right:5px;\"/></td><td valign=\"top\"><span class=\"mapaInfoTitulo\">Ruta 1</span><br/><span class=\"mapaInfoDireccion\">Tulum - Hoteles<br />Frecuencia: Cada 5 minutos<br />Tiempo de Recorrido: 1 hora 40 minutos aprox.</span></td></tr></table>";
				show_ruta('ruta_1.kml',txt,'tpruta1',new GLatLng('21.175914','-86.823319'));	
			}else{	
			mata_kmls("tpruta1");
			}
			break;
		case "tpruta11":
			if ($("#"+cual.id)[0].checked){
				var txt = "<table colspan=\"0\" border=\"0\" padding=\"3\"><tr><td valign=\"top\"><img src=\"imgs/mapa/autocar1.gif\" alt=\"Autocar\" style=\"padding-right:5px;\"/></td><td valign=\"top\"><span class=\"mapaInfoTitulo\">Ruta 11</span><br/><span class=\"mapaInfoDireccion\">Rancho Viejo - Hoteles<br />Frecuencia: Cada 7 minutos<br />Tiempo de Recorrido: 2 horas aprox.</span></td></tr></table>";
				show_ruta('ruta_11.kml',txt,'tpruta11',new GLatLng('21.198553','-86.839612'));	
			}else{	
			mata_kmls("tpruta11");
			}
			break;
		case "tpruta2":
			if ($("#"+cual.id)[0].checked){
				var txt = "<table colspan=\"0\" border=\"0\" padding=\"3\"><tr><td valign=\"top\"><img src=\"imgs/mapa/autocar1.gif\" alt=\"Autocar\" style=\"padding-right:5px;\"/></td><td valign=\"top\"><span class=\"mapaInfoTitulo\">Ruta 2</span><br/><span class=\"mapaInfoDireccion\">Kabah - Hoteles<br />Frecuencia: Cada 6 minutos<br />Tiempo de Recorrido: 2 horas aprox.</span></td></tr></table>";
				show_ruta('ruta_2.kml',txt,'tpruta2',new GLatLng('21.169092','-86.871891'));	
			}else{	
			mata_kmls("tpruta2");
			}
			break;
		case "tpruta01":
			if ($("#"+cual.id)[0].checked){
				var txt = "<table colspan=\"0\" border=\"0\" padding=\"3\"><tr><td valign=\"top\"><img src=\"imgs/mapa/autocar1.gif\" alt=\"Autocar\" style=\"padding-right:5px;\"/></td><td valign=\"top\"><span class=\"mapaInfoTitulo\">Ruta 01</span><br/><span class=\"mapaInfoDireccion\">Puerto Juarez - Hoteles<br />Frecuencia: Cada 8 minutos<br />Tiempo de Recorrido: 1 hora 40 minutos aprox.</span></td></tr></table>";
				show_ruta('ruta_01.kml',txt,'tpruta01',new GLatLng('21.188336','-86.807378'));	
			}else{	
			mata_kmls("tpruta01");
			}
			break;
		case "tpruta13":
			if ($("#"+cual.id)[0].checked){
				var txt = "<table colspan=\"0\" border=\"0\" padding=\"3\"><tr><td valign=\"top\"><img src=\"imgs/mapa/autocar1.gif\" alt=\"Autocar\" style=\"padding-right:5px;\"/></td><td valign=\"top\"><span class=\"mapaInfoTitulo\">Ruta 13</span><br/><span class=\"mapaInfoDireccion\">Region 103 - Hoteles<br />Frecuencia: Cada 10 minutos<br />Tiempo de Recorrido: 2 horas 15 minutos aprox.</span></td></tr></table>";
				show_ruta('ruta_13.kml',txt,'tpruta13',new GLatLng('21.146225','-86.897326'));
			}else{	
			mata_kmls("tpruta13");
			}
			break;
		case "tpruta16":
			if ($("#"+cual.id)[0].checked){
				var txt = "<table colspan=\"0\" border=\"0\" padding=\"3\"><tr><td valign=\"top\"><img src=\"imgs/mapa/autocar1.gif\" alt=\"Autocar\" style=\"padding-right:5px;\"/></td><td valign=\"top\"><span class=\"mapaInfoTitulo\">Ruta 16</span><br/><span class=\"mapaInfoDireccion\">Plaza las Americas - Fraccionamiento Los Heroes<br />Frecuencia: Cada 7 minutos</span></td></tr></table>";
				show_ruta('ruta_16.kml',txt,'tpruta16',new GLatLng('21.145786','-86.824180'));
			}else{	
				mata_kmls("tpruta16");
			}
			break;
		case "tpruta6":
			if ($("#"+cual.id)[0].checked){
				var txt = "<table colspan=\"0\" border=\"0\" padding=\"3\"><tr><td valign=\"top\"><img src=\"imgs/mapa/autocar1.gif\" alt=\"Autocar\" style=\"padding-right:5px;\"/></td><td valign=\"top\"><span class=\"mapaInfoTitulo\">Ruta 6</span><br/><span class=\"mapaInfoDireccion\">Lombardo - Residenciales<br />Frecuencia: Cada 7 minutos</span></td></tr></table>";
				show_ruta('ruta_6.kml',txt,'tpruta6',new GLatLng('21.184284','-86.816926'));
			}else{	
				mata_kmls("tpruta6");
			}
			break;
		case "tpruta001":
			if ($("#"+cual.id)[0].checked){
				var txt = "<table colspan=\"0\" border=\"0\" padding=\"3\"><tr><td valign=\"top\"><img src=\"imgs/mapa/autocar1.gif\" alt=\"Autocar\" style=\"padding-right:5px;\"/></td><td valign=\"top\"><span class=\"mapaInfoTitulo\">Ruta 1</span><br/><span class=\"mapaInfoDireccion\">Wal Mart - Base 103<br />Frecuencia: Cada 4 minutos</span></td></tr></table>";
				show_ruta('ruta_001.kml',txt,'tpruta001',new GLatLng('21.155256','-86.834054'));
			}else{	
				mata_kmls("tpruta001");
			}
			break;					
		case "tpruta4":
			if ($("#"+cual.id)[0].checked){
				var txt = "<table colspan=\"0\" border=\"0\" padding=\"3\"><tr><td valign=\"top\"><img src=\"imgs/mapa/autocar1.gif\" alt=\"Autocar\" style=\"padding-right:5px;\"/></td><td valign=\"top\"><span class=\"mapaInfoTitulo\">Ruta 4</span><br/><span class=\"mapaInfoDireccion\">Base 103 - WalMart<br />Frecuencia: Cada 4 minutos</span></td></tr></table>";
				show_ruta('ruta_4.kml',txt,'tpruta4',new GLatLng('21.145734','-86.897288'));
			}else{	
				mata_kmls("tpruta4");
			}
			break;
		case "tpruta5":
			if ($("#"+cual.id)[0].checked){
				var txt = "<table colspan=\"0\" border=\"0\" padding=\"3\"><tr><td valign=\"top\"><img src=\"imgs/mapa/autocar1.gif\" alt=\"Autocar\" style=\"padding-right:5px;\"/></td><td valign=\"top\"><span class=\"mapaInfoTitulo\">Ruta 5</span><br/><span class=\"mapaInfoDireccion\">Base Pelicanos - Corales<br />Frecuencia: Cada 8 minutos</span></td></tr></table>";
				show_ruta('ruta_5.kml',txt,'tpruta5',new GLatLng('21.148358','-86.837290'));
			}else{	
				mata_kmls("tpruta5");
			}
			break;
		case "tpruta7":
			if ($("#"+cual.id)[0].checked){
				var txt = "<table colspan=\"0\" border=\"0\" padding=\"3\"><tr><td valign=\"top\"><img src=\"imgs/mapa/autocar1.gif\" alt=\"Autocar\" style=\"padding-right:5px;\"/></td><td valign=\"top\"><span class=\"mapaInfoTitulo\">Ruta 7</span><br/><span class=\"mapaInfoDireccion\">Base Pelicanos - Reg.99</span></td></tr></table>";
				show_ruta('ruta_7.kml',txt,'tpruta7',new GLatLng('21.148245','-86.837402'));
			}else{	
				mata_kmls("tpruta7");
			}
			break;
		case "tpruta14":
			if ($("#"+cual.id)[0].checked){
				var txt = "<table colspan=\"0\" border=\"0\" padding=\"3\"><tr><td valign=\"top\"><img src=\"imgs/mapa/autocar1.gif\" alt=\"Autocar\" style=\"padding-right:5px;\"/></td><td valign=\"top\"><span class=\"mapaInfoTitulo\">Ruta 14</span><br/><span class=\"mapaInfoDireccion\">Las Americas - Haciendas del Caribe</span></td></tr></table>";
				show_ruta('ruta_14.kml',txt,'tpruta14',new GLatLng('21.145649','-86.824288'));
			}else{	
				mata_kmls("tpruta14");
			}
			break;
		case "tpruta15":
			if ($("#"+cual.id)[0].checked){
				var txt = "<table colspan=\"0\" border=\"0\" padding=\"3\"><tr><td valign=\"top\"><img src=\"imgs/mapa/autocar1.gif\" alt=\"Autocar\" style=\"padding-right:5px;\"/></td><td valign=\"top\"><span class=\"mapaInfoTitulo\">Ruta 15</span><br/><span class=\"mapaInfoDireccion\">Las Americas - Villas del Caribe</span></td></tr></table>";
				show_ruta('ruta_15.kml',txt,'tpruta15',new GLatLng('21.145660','-86.824129'));
			}else{	
				mata_kmls("tpruta15");
			}
			break;
		case "tpruta17":
			if ($("#"+cual.id)[0].checked){
				var txt = "<table colspan=\"0\" border=\"0\" padding=\"3\"><tr><td valign=\"top\"><img src=\"imgs/mapa/autocar1.gif\" alt=\"Autocar\" style=\"padding-right:5px;\"/></td><td valign=\"top\"><span class=\"mapaInfoTitulo\">Ruta 17</span><br/><span class=\"mapaInfoDireccion\">Las Americas - Guadalupana</span></td></tr></table>";
				show_ruta('ruta_17.kml',txt,'tpruta17',new GLatLng('21.145548','-86.824242'));
			}else{	
				mata_kmls("tpruta17");
			}
			break;
		case "tpruta19":
			if ($("#"+cual.id)[0].checked){
				var txt = "<table colspan=\"0\" border=\"0\" padding=\"3\"><tr><td valign=\"top\"><img src=\"imgs/mapa/autocar1.gif\" alt=\"Autocar\" style=\"padding-right:5px;\"/></td><td valign=\"top\"><span class=\"mapaInfoTitulo\">Ruta 19</span><br/><span class=\"mapaInfoDireccion\">Las Americas - Villas Otoch</span></td></tr></table>";
				show_ruta('ruta_19.kml',txt,'tpruta19',new GLatLng('21.145526','-86.824142'));
			}else{	
				mata_kmls("tpruta19");
			}
			break;
	}
}
function show_ruta(cual,txt,elid,placemark){
	kml = new GGeoXml("http://www.directoriolocal.com/dl/imgs/mapa/kmls/"+cual+'?bustcache='+new Date().getTime(),function(){
		bounds = kml.getDefaultBounds();
		map.setCenter(bounds.getCenter(),map.getBoundsZoomLevel(bounds));
		map.openInfoWindowHtml(placemark,"<span class=\"mapaglobito\">"+txt+"</span>");	
		kml.nombre=elid;
		kmls.push(kml);
		map.addOverlay(kml);
	});	
}
function mata_kmls(cual){
	for (var j = 0; j < kmls.length; j++) {
		if(kmls[j].nombre==cual){
			map.removeOverlay(kmls[j]);
			kmls.splice(j,1);
			j--;
		}
	}	
}
function mapa_shsm(grupo){
	//traemos las supermanzanas para poblar el menu
	$.post("cmts/getsmz.asp?grupo="+grupo,function(que){
		$("#mapa_smzs").html(que);
	},"html");
	$("#mapa_grupos li").removeClass("mapa_grupos_selected");
	$("#mapa_gruposm_"+grupo).addClass("mapa_grupos_selected");
}
function mapa_shca(cat,url){
	if ($("#mapa_giro").val()!=cat){
		if(url!=""){
			load_div(url,'elmenu');
		}
		$("#mapa_giro").val(cat);
		$("#vern").removeAttr("checked");
		pageTracker._trackEvent("Clicks en Mapa", "Giros", cat);
		map.setCenter(map.getCenter());		
	}
}
function mapa_gosm(cual){
	$("#sm").val(cual);
	$("#sm").change();
}
function mapa_gocallenumero(){
	$("#callenummsj").html("");
	var geocoder = new GClientGeocoder();
	geocoder.setBaseCountryCode("mx");
	var bounds = new GLatLngBounds(new GLatLng(21.12341600256591, -86.88915252685547), new GLatLng(21.200256939157683, -86.77928924560547));
	
	

	geocoder.setViewport(bounds)
	var add = $("#porcalle").val()+",Benito Juarez, Q Roo";
	geocoder.getLatLng(add,function(point){
		if (!point) {
			$("#callenummsj").html("No fue posible encontrar :"+$("#porcalle").val() + ".");
	  	}else{
			if (bounds.contains(point)){
				var html = "<div style=\"width:280px;height:76px;\">";
				html = html + "<img src=\"imgs/google_logo.jpg\"><br><hr style=\"color:#CCCCCC;height:1px;\" noshade>";
				html = html + $("#porcalle").val() + "</div>";
				poi(point.lat()+","+point.lng(),html);
				$("#porcalle").val("");
			}else{
				$("#callenummsj").html("No fue posible encontrar :"+$("#porcalle").val() + ".");
			}
			}
		}
	  );
}
function muestra_m(coo,sm,m){
	if (coo!=""&&sm!=""&&m!=""){
		pageTracker._trackEvent("Clicks en Mapa", "Manzana", "SM."+sm+" M."+m);
		var txterr = (sm=="ZH")?"El "+m+" de la Zona Hotalera esta mal ubicado":"La Supermanzana "+sm+" Manzana "+m+" esta mal ubicada";
		var linka = "<a href=\"javascript:;\" onClick=\"feedback('mapa','','3','"+txterr+".');\">";
		var txtsm = (sm=="ZH")?"Zona Hotelera":("Supermanzana " + sm);
		var txtm = (sm=="ZH")?m:("Manzana " + m);
		var html = "<div style=\"width:280px;height:76px;\">";
		html = html + "<img src=\"imgs/mapa/logo_dl_exsm.gif\"><br><hr style=\"color:#CCCCCC;height:1px;\" noshade>";
		html = html + "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"280\">";
		html = html + "<tr><td><img src=\"imgs/mapa/info_triagulo.gif\"></td><td>"+txtsm+ "</td><td colspan=\"2\"></td></tr>";
		html = html + "<tr><td><img src=\"imgs/mapa/info_triagulo.gif\"></td><td>"+txtm+"</td>";
			html = html + "<td>"+linka+"<img src=\"imgs/menu_fichas/btn_reportar.gif\" border=\"0\" align=\"absmiddle\"></a></td><td class=\"error_mapa\">"+linka+((english)?"Report an Error":"Reportar Error")+"</a></td>";
		html = html + "</tr></table></div>";
		poi(coo,html);
	}
}
function poi(coor,txt){
	//borramos el punto viejo si es que existe
	for (var j = 0; j < markers.length; j++) {
		if(markers[j].tipo=='poi'){
			map.removeOverlay(markers[j]);
			markers.splice(j,1);
			j--;
		}
	}
	//Localizamos y resaltamos un punto.
	co = coor.split(",");
	map.setCenter(new GLatLng(co[0],co[1]), 16);
	map.openInfoWindowHtml(new GLatLng(co[0],co[1]),"<span class=\"mapaglobito\">"+txt+"</span>");
	//pintamapa(co[0],co[1],'poi',txt,'','','');

}
var infomarker;
function orderOfCreation(marker,b) {
	return 1;
}
function orderOfCreation2(marker,b) {
	return 2;
}
function orderOfCreation3(marker,b) {
	return 3;
}

function pintamapa(lati,longi,tipo,txt,parent,icono,altext){
	if (!MarkerLookup(lati,longi,tipo,txt)&&map.getBounds().containsLatLng(new GLatLng(lati,longi))){
		var icon = new GIcon();
		//icon.infoWindowAnchor = new GPoint(25, 7);
		switch(tipo){
			case "sm"://Supermanzana
				icon.iconSize = new GSize(32, 32);
				icon.iconAnchor = new GPoint(17, 17);
				opts = { 
				  "icon": icon,
				  "clickable":false,
				  "labelText": txt,
				  "labelOffset": new GSize(-17, -5),
				  "labelClass":"mapasm",
				  "zIndexProcess":orderOfCreation
				};
				icon.image = 'imgs/mapa/sm.png';
				break;
			case "n"://Negocio
				icon.iconSize = new GSize(32, 32);
				icon.iconAnchor = new GPoint(8, 32);
				icon.infoWindowAnchor = new GPoint(30, 7);
				opts = { 
				  "icon": icon,
				  "clickable":true,
				  "labelOffset": new GSize(-41, 5),
				  "labelClass":"mapan",
				  "labelText": "",
				  "zIndexProcess":orderOfCreation3
				};
				icon.image = icono;
				//icon.shadow = 'imgs/mapa/shadow.png';
				break;
			case "g"://Negocios (via giros)
				icon.iconSize = new GSize(32, 32);
				icon.iconAnchor = new GPoint(8, 32);
				icon.infoWindowAnchor = new GPoint(30, 7);
				opts = { 
				  "icon": icon,
				  "clickable":true,
				  "labelOffset": new GSize(-41, 5),
				  "labelClass":"mapan",
				  "labelText": "",
				  "zIndexProcess":orderOfCreation3
				};
				icon.image = icono;
				//icon.shadow = 'imgs/mapa/shadow.png';
				break;
			case "i"://Negocio
				icon.iconSize = new GSize(30, 30);
				icon.iconAnchor = new GPoint(8, 30);
				icon.infoWindowAnchor = new GPoint(20, 7);
				opts = { 
				  "icon": icon,
				  "clickable":true,
				  "labelOffset": new GSize(-9, -5),
				  "labelClass":"mapan",
				  "zIndexProcess":orderOfCreation3
				};
				icon.image = 'imgs/mapa/poi.png';
				icon.shadow = 'imgs/mapa/shadow.png';
				break;
			case "poi"://Punto a Resaltar
				icon.iconSize = new GSize(1, 1);
				icon.iconAnchor = new GPoint(1, 1);
				icon.infoWindowAnchor = new GPoint(1, 1);
				opts = { 
				  "icon": icon,
				  "clickable":false,
				  //"labelText": txt,
				  "labelOffset": new GSize(-5,0),
				  "labelClass":"mapapoi"
				};
				icon.image = 'imgs/spacer.gif';
				//icon.shadow = 'imgs/mapa/shadow.png';
				break;
			case "r"://Referencia
				icon.iconSize = new GSize(35, 35);
				icon.iconAnchor = new GPoint(8, 35);
				icon.infoWindowAnchor = new GPoint(20, 7);
				opts = { 
				  "icon": icon,
				  "clickable":($("#debuger").length>0)?true:false,
				  //"labelText": txt,
				  "labelOffset": new GSize(-5,0),
				  "labelClass":"maparef",
				  "zIndexProcess":orderOfCreation2
				};
				icon.image = 'imgs/mapa/'+parent+'.png';
				//icon.shadow = 'imgs/mapa/shadow.png';
				break;
			case "m"://Manzana
				icon.iconSize = new GSize(0, 0);
				icon.iconAnchor = new GPoint(0, 0);
				if(parent==cur_sm){
					opts = { 
					  "icon": icon,
					  "clickable":($("#debuger").length>0)?true:false,
					  "labelText": txt,
					  "labelOffset": new GSize(0, 0),
					  "labelClass":"mapam-resaltado",
					  "zIndexProcess":orderOfCreation
					};
				}else{
					opts = { 
					  "icon": icon,
					  "clickable":false,
					  "labelText": txt,
					  "labelOffset": new GSize(0, 0),
					  "labelClass":"mapam"
					};
			}
				break;

		}
		var marker = new LabeledMarker(new GLatLng(lati,longi), opts);
		marker.title=txt;
		marker.sm=txt;
		marker.tipo=tipo;
		marker.parent=parent;
		marker.borrala = false;
		marker.overtext = altext;
		if (tipo=="sm")
		{
			GEvent.addListener(marker, "click", function() { 
				$("#sm").val(marker.sm);
				$("#sm").change();
				pageTracker._trackEvent("Clicks en Mapa", "Supermanzana", marker.sm);
				/*
				new_sm = this.sm;
				pintamanzanas();
				map.setCenter(this.getPoint());*/
			});

 
		}
		if (tipo=="n"||tipo=="i"||tipo=="g")
		{
			GEvent.addListener(marker, "click", function() {
			 	pageTracker._trackEvent("Clicks en Mapa", "Negocio",txt);
				$.post("cmts/mapa_infowindows.asp",{elpadre:parent,elid:txt,tipo:tipo,english:english}, function(que){
					if (que!=""){
						marker.openInfoWindowHtml(que);
					}
				});
			});

		}
		//efectos de over en negocios solamente
		if (altext!="")
		{
			GEvent.addListener(marker,"mouseover", function() {
				marker.div_.innerHTML = "<div id=\"ActualLabelText\" style=\"background-color:#FFFFCC;padding:5px;border:1px solid #000000\;text-align:center;\">" + marker.overtext + "</div>";
				$("#ActualLabelText").parent().css( { zIndex : 101 } );
				$("#ActualLabelText").parent().prev().css( { zIndex : 101 } );
			});        

			GEvent.addListener(marker,"mouseout", function() {
				$("#ActualLabelText").parent().prev().css( { zIndex : 3 } );
				marker.div_.innerHTML = "";
			});         
		}
		if (tipo=="m"&&$("#debuger").length>0){
			GEvent.addListener(marker, "click", function() { 
				dbg('Supermanzana:'+marker.parent+'<br>Manzana:'+marker.title);
			});
		}
		if (tipo=="r"&&$("#debuger").length>0){
			GEvent.addListener(marker, "click", function() { 
				dbg('Item:'+marker.parent+'<br>Sucursal:'+marker.sm);
			}); 
		}
		if (tipo=="poi"){
			marker.openInfoWindowHtml("<span class=\"mapaglobito\">"+txt+"</span>");
		}
		markers.push(marker);
		map.addOverlay(marker);
	}
}
function MarkerLookup(lati,longi,tipo,txt) {
	var encontre=false;
	for (var i = 0; i < markers.length; i++) {
		var mk = markers[i];
		if (mk.title==txt && mk.tipo==tipo && mk.getLatLng().lat()==lati && mk.getLatLng().lng()==longi) {
			encontre=true;
			break;
		}
	}
    return encontre;
}
/*funciones iphone*/
function ip_controles(){
	$("#map_controles").toggle();
	$("#map_canvas").toggle();
	if ($("#map_canvas").is(':visible')){
		$("#iphone_map_switch").text("Controles");
	}else{
		$("#iphone_map_switch").text("Mapa");
	}
}
