// JavaScript Document
/*----------------------------------------Funciones mapa------------------------------------------------*/


var map; //hacemos global la variable para poder interactuar con otras funciones
function carga_mapa(idprovincia,idlocalidad,idtipo) {
	var urlstr="dinamic/xml_centro_mapa.php?idlocalidad="+idlocalidad+"&idprovincia="+idprovincia;
	var request = GXmlHttp.create();
	request.open("GET", urlstr, true);
	request.onreadystatechange = function() {
		if (request.readyState == 4) {
		var xmlDoc = request.responseXML;
		var markers = xmlDoc.documentElement.getElementsByTagName("marker");
			for (var i = 0; i < markers.length; i++) {
			longitud_centro = parseFloat(markers[i].getAttribute("lng"));
			latitud_centro = parseFloat(markers[i].getAttribute("lat"));
				//filtro para evitar que se cargue el google maps sin coordenadas
				if (latitud_centro != 0 && longitud_centro != 0){
				inicia_mapa(longitud_centro,latitud_centro,idprovincia,idlocalidad,idtipo);
				}
			}
    	 }
	}
	request.send(null);

function inicia_mapa(longitud_centro,latitud_centro,idprovincia,idlocalidad,idtipo){
	document.getElementById('google_maps').style.width = '544px';
	document.getElementById('google_maps').style.height = '190px';

//	var icon = new GIcon(); //declaramos el objeto icon que será nuestra marca en google maps
//	icon.image = "http://www.novainet.com/obras-nuevas/www/img/marca_mapa.png"; //ruta de la marca
//	icon.shadow = "http://www.novainet.com/obras-nuevas/www/img/sombra_mapa.png";
//	icon.iconSize = new GSize(20, 34); //tamaño de la marca
//	icon.shadowSize = new GSize(40, 40);
//	icon.iconAnchor = new GPoint(8, 34); //desplazamiento de la marca
	//icon.infoWindowAnchor = new GPoint(5, 1);
	map = new GMap2(document.getElementById("google_maps"));
	map.addControl(new GSmallMapControl());
	map.setCenter(new GLatLng(latitud_centro, longitud_centro), 8);
	map.setMapType(G_NORMAL_MAP);

	function createInfoMarker(point,idlocalidad,localidad,idprovincia,obras_nuevas_pisos,obras_nuevas_casas,obras_nuevas_locales,obras_nuevas_parkings,obras_nuevas_naves) {
//	var marker = new GMarker(point, icon);	
	var marker = new GMarker(point);	
	//definimos como variables aquellos campos que contengan alguna obra nueva
	//seteamos las variables a vacio
	var obras_nuevas_pisos_text = "";
	var obras_nuevas_casas_text = "";
	var obras_nuevas_locales_text = "";
	var obras_nuevas_parkings_text = "";
	var obras_nuevas_naves_text	= "";
	//mas de un elemento PLURALES
	if (obras_nuevas_pisos > 0){
	obras_nuevas_pisos_text = obras_nuevas_pisos+" promociones de pisos<br />";
	}
	if (obras_nuevas_casas > 0 ){	
	obras_nuevas_casas_text = obras_nuevas_casas+" promociones de casas<br />";
	}
	if (obras_nuevas_locales > 0){	
	obras_nuevas_locales_text = obras_nuevas_locales+" promociones de locales<br />";
	}
	if (obras_nuevas_parkings > 0){	
	obras_nuevas_parkings_text = obras_nuevas_parkings+" promociones de parkings<br />";
	}
	if (obras_nuevas_naves > 0 ){	
	obras_nuevas_naves_text = obras_nuevas_naves+" promociones de naves industriales<br />";
	}
/*
	//un elemento SINGULARES
	if (obras_nuevas_pisos == 1){
	obras_nuevas_pisos_text = obras_nuevas_pisos+" promoci&oacute;n de piso<br />";
	}
	if (obras_nuevas_casas == 1 ){	
	obras_nuevas_casas_text = obras_nuevas_casas+" promoci&oacute;n de casa<br />";
	}
	if (obras_nuevas_locales == 1){	
	obras_nuevas_locales_text = obras_nuevas_locales+" promoci&oacute;n de local<br />";
	}
	if (obras_nuevas_parkings == 1){	
	obras_nuevas_parkings_text = obras_nuevas_parkings+" promoci&oacute;n de parking<br />";
	}
	if (obras_nuevas_naves == 1 ){	
	obras_nuevas_naves_text = obras_nuevas_naves+" promoci&oacute;n de nave industrial<br />";
	}
*/
	
	var detalle_marca = '<table width="200" border="0" cellpadding="5" cellspacing="0" bgcolor="#FFFFFF"" style="border: 1px solid #000000;">';
	detalle_marca += '<tr><td bgcolor="#999999" align="center" class="verdana2" height="20"><strong>'+localidad+'</strong></td></tr>';
	detalle_marca += '<tr><td height="5"></td></tr>';
	detalle_marca += '<tr><td height="12" align="center" class="verdana">'+obras_nuevas_pisos_text+obras_nuevas_casas_text+obras_nuevas_locales_text+obras_nuevas_parkings_text+obras_nuevas_naves_text+'</td></tr>';
	detalle_marca += '<tr><td height="5"></td></tr></table>';
	
	// cargamos el contenido del detalle
	GEvent.addListener(marker, "mouseover", function() { ddrivetip(detalle_marca);} );
	GEvent.addListener(marker, "mouseout", function() {  hideddrivetip();} );
	GEvent.addListener(marker, "click", function() { 
		hideddrivetip(); 
		document.location.href='#';
		var myConn_construir_url = new XHConn();
		var fin_construir_url = function (oXML) { document.location.href=oXML.responseText; };
		myConn_construir_url.connect("dinamic/construir_url.php", "GET", "idprovincia="+idprovincia+"&idlocalidad="+idlocalidad, fin_construir_url);		
		} 
	);
	return marker;
	}
	
	var urlstr="dinamic/xml_marcas_mapa.php?idlocalidad="+idlocalidad+"&idprovincia="+idprovincia+"&idtipo="+idtipo;
	var request = GXmlHttp.create();
	request.open("GET", urlstr, true);
	request.onreadystatechange = function() {
		if (request.readyState == 4) {
		var xmlDoc = request.responseXML;
		var markers = xmlDoc.documentElement.getElementsByTagName("marker");
			for (var i = 0; i < markers.length; i++) {
			var point = new GPoint(parseFloat(markers[i].getAttribute("lng")), parseFloat(markers[i].getAttribute("lat")));
			var marker = createInfoMarker(point,parseFloat(markers[i].getAttribute("idlocalidad")),markers[i].getAttribute("localidad"),parseFloat(markers[i].getAttribute("idprovincia")),parseFloat(markers[i].getAttribute("obras_nuevas_pisos")),parseFloat(markers[i].getAttribute("obras_nuevas_casas")),parseFloat(markers[i].getAttribute("obras_nuevas_locales")),parseFloat(markers[i].getAttribute("obras_nuevas_parkings")),parseFloat(markers[i].getAttribute("obras_nuevas_naves")) );
//			alert("pisos"+parseFloat(markers[i].getAttribute("obras_nuevas_pisos"))+" casas"+parseFloat(markers[i].getAttribute("obras_nuevas_casas"))+" locales"+parseFloat(markers[i].getAttribute("obras_nuevas_locales"))+" "+parseFloat(markers[i].getAttribute("obras_nuevas_parkings"))+" "+parseFloat(markers[i].getAttribute("obras_nuevas_naves")));
			map.addOverlay(marker);
       		}
    	 }
	}
 	 request.send(null);
} // fin funcion inicia mapa

} // fin carga_mapa



// Gerenador de etiquetas ALT--------------------------------------------

var offsetfromcursorX=12 //Customize x offset of tooltip
var offsetfromcursorY=10 //Customize y offset of tooltip

var offsetdivfrompointerX=10 //Customize x offset of tooltip DIV relative to pointer image
var offsetdivfrompointerY=14 //Customize y offset of tooltip DIV relative to pointer image. Tip: Set it to (height_of_pointer_image-1).

document.write('<div id="dhtmltooltip"></div>') //write out tooltip DIV
document.write('<img id="dhtmlpointer" src="http://www.obranuevadigital.es/img/arrow2.gif" style="visibility: hidden;">') //write out pointer image

var ie=document.all
var ns6=document.getElementById && !document.all
var enabletip=false
if (ie||ns6)
var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : ""

var pointerobj=document.all? document.all["dhtmlpointer"] : document.getElementById? document.getElementById("dhtmlpointer") : ""

function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function ddrivetip(thetext, thewidth, thecolor){
if (ns6||ie){
if (typeof thewidth!="undefined") tipobj.style.width=thewidth+"px"
if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor
tipobj.innerHTML=thetext
enabletip=true
return false
}
}

function positiontip(e){
if (enabletip){
var nondefaultpos=false
var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
//Find out how close the mouse is to the corner of the window
var winwidth=ie&&!window.opera? ietruebody().clientWidth : window.innerWidth-20
var winheight=ie&&!window.opera? ietruebody().clientHeight : window.innerHeight-20

var rightedge=ie&&!window.opera? winwidth-event.clientX-offsetfromcursorX : winwidth-e.clientX-offsetfromcursorX
var bottomedge=ie&&!window.opera? winheight-event.clientY-offsetfromcursorY : winheight-e.clientY-offsetfromcursorY

var leftedge=(offsetfromcursorX<0)? offsetfromcursorX*(-1) : -1000

//if the horizontal distance isn't enough to accomodate the width of the context menu
if (rightedge<tipobj.offsetWidth){
//move the horizontal position of the menu to the left by it's width
tipobj.style.left=curX-tipobj.offsetWidth+"px"
nondefaultpos=true
}
else if (curX<leftedge)
tipobj.style.left="5px"
else{
//position the horizontal position of the menu where the mouse is positioned
tipobj.style.left=curX+offsetfromcursorX-offsetdivfrompointerX+"px"
pointerobj.style.left=curX+offsetfromcursorX+"px"
}

//same concept with the vertical position
if (bottomedge<tipobj.offsetHeight){
tipobj.style.top=curY-tipobj.offsetHeight-offsetfromcursorY+"px"
nondefaultpos=true
}
else{
tipobj.style.top=curY+offsetfromcursorY+offsetdivfrompointerY+"px"
pointerobj.style.top=curY+offsetfromcursorY+"px"
}
tipobj.style.visibility="visible"
if (!nondefaultpos)
pointerobj.style.visibility="visible"
else
pointerobj.style.visibility="hidden"
}
}

function hideddrivetip(){
if (ns6||ie){
enabletip=false
tipobj.style.visibility="hidden"
pointerobj.style.visibility="hidden"
tipobj.style.left="-1000px"
tipobj.style.backgroundColor=''
tipobj.style.width=''
}
}

document.onmousemove=positiontip