function nuevoAjax()
{ 
	/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
	lo que se puede copiar tal como esta aqui */
	var xmlhttp=false; 
	try 
	{ 
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e)
	{ 
		try
		{ 
			// Creacion del objet AJAX para IE 
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(E) { xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); } 

	return xmlhttp; 
}



////////////////////////////////////////////////////////////

var iddest = "lista";

function sendReq( params, app ) {

	var ajax=nuevoAjax();
	//prompt("",app+"?"+params);
	ajax.open("GET", app+"?"+params, true);
	ajax.onreadystatechange=function(){
		if (ajax.readyState==1)	{
				// Mientras carga elimino la opcion "Elige pais" y pongo una que dice "Cargando"
				contenedor = document.getElementById(iddest);
				contenedor.innerHTML = "<b>Cargando...</b>";
		}
		if (ajax.readyState==4)	{
			contenedor = document.getElementById(iddest);
			contenedor.innerHTML = ajax.responseText;
		}
	}
	ajax.send(null);
}

function VerDestacado( i, t ) {
	//alert("Ver el destacado " +idp + " "+idi);
	var tabla = ( t == 1 ? "promociones" : "inmuebles" );
	window.open('detalle.php?tabla=' + tabla + '&id='+i, 'null', 'status=yes,resizable=1,scrollbars=yes,toolbar=no,menubar=no,location=no,height=600,width=800,left=70,top=50');
}

function CursorSobre( elto ) {
	//document.body.style.cursor="hand"
	elto.className = "shadow";
}

function CursorFuera( elto, estilo ) {
	//document.body.style.cursor="auto"
	elto.className = estilo;
}

function CargaMunicipios() {
	iddest = 'municipios';
	sendReq( 'accion=municipios&operacion=' + document.frmBusqueda.operacion.value + '&tipoinmueble=' + document.frmBusqueda.tipo.value + '&provincia=' + document.frmBusqueda.provincia.value, 'listener.php' );
}

function CargaProvincias() {
	iddest = 'provincias';
	sendReq( 'accion=provincias&operacion=' + document.frmBusqueda.operacion.value + '&tipoinmueble=' + document.frmBusqueda.tipo.value, 'listener.php' );
}

function CargaTipos() {
	iddest = 'tiposinmueble';
	sendReq( 'accion=tiposinmueble&operacion=' + document.frmBusqueda.operacion.value, 'listener.php' );
}

function CargaZonas() {
	iddest = 'zonas';
	sendReq( 'accion=zonas&operacion=' + document.frmBusqueda.operacion.value + '&tipoinmueble=' + document.frmBusqueda.tipo.value + '&provincia=' + document.frmBusqueda.provincia.value + '&municipio=' + document.frmBusqueda.municipio.value, 'listener.php' );
}

function reordenar( nuevocampo ) {
	iddest = 'resulttable';
    if ( campo != '' && campo == nuevocampo ) {
    	orden = ( orden == 'd' ? 'a' : 'd' );
    }
    else {
    	orden = 'a';
    	campo = nuevocampo;	
    }
   terminarReordenacion();
}

function terminarReordenacion ( ) {
	  var params = 'campo='+ campo +'&orden='+ orden +'&tipo='+ tipo +'&provincia='+ prov +'&municipio='+ mun +'&zona='+ zona +'&operacion='+ oper + '&inicio=' + inicio + '&filtro=' + filtro + '&accion=reordenar';
    //prompt("",params);
    sendReq(params,'listener.php');
    actualizarBarra();
    
}

// Carga la siguiente/anterior pagina de resultados.
// SI op = + -> siguiente
// SI op = - -> anterior
function nuevaPagina ( op ) {
	iddest = 'resulttable';
	inicio += ( op == "+" ? max : -max );
	forzarReordenar();
	actualizarNavegador();
}

function forzarReordenar( ) {
	  iddest = 'resulttable';
		orden = ordenDir[0].checked ? ordenDir[0].value	: ordenDir[1].value;
    campo = campoOrden.value;
    terminarReordenacion();
}

function filtrar( val ) {
//alert(val);
	document.frmBusqueda.operacion.value = oper;
	document.frmBusqueda.tipo.value = tipo;
	document.frmBusqueda.provincia.value = prov;
	document.frmBusqueda.campo.value = campo;
	document.frmBusqueda.orden.value = orden;
	document.frmBusqueda.total.value = total;
	document.frmBusqueda.inicio.value = 0;
	document.frmBusqueda.filtro.value = val;
	
	//alert("llego");
	document.frmBusqueda.municipio.value = mun; 
	//alert('paso');
	document.frmBusqueda.zona.value = zona;
	
	
	document.frmBusqueda.submit();

}

function actualizarBarra( ) {
	( orden == "a" ? ordenDir[0].checked=true : ordenDir[1].checked=true );
	for ( var i=0; i<campoOrden.options.length; i++ ) {
		if ( campoOrden.options[i].value == campo ) {
	    campoOrden.selectedIndex = i;
	  }
	}
}

function actualizarNavegador() {
	
	var HTML = "";
	if ( !total ) return;
	
	var nodo = document.getElementById("navegacion");
	var izq = document.getElementById("ant");
	var der = document.getElementById("sig");
	var indice = 0;
	var totalPag = 1;
	
	if ( total > max ) {
		indice = ( Math.floor( inicio / max) ) + ( inicio % max );
		totalPag = ( Math.floor( total / max) );
		if ( total % max != 0) totalPag++;
	}	
	//alert(total % max);
	//alert(total +","+ max +","+totalPag);
	HTML += "P&aacute;gina " + eval(indice+1) + " de " + totalPag;
	
	nodo.innerHTML=HTML;
	izq.innerHTML = ( eval(indice+1) > 1 ? "<a href=\"javascript: nuevaPagina('-')\";><img src=\"imgs/izq.gif\" border=0></a>" : "");
	der.innerHTML = ( eval(indice+1) < totalPag ? "<a class='flecha' href=\"javascript: nuevaPagina('+')\";><img src='imgs/drcha.gif' valign='top' border=0></a>" : "");
}


// Limpia x número de select dependiendo del parametro pasado.

function SelectCleaner( n ) {

	switch ( n ) {
	
		case 3: 
		 	document.frmBusqueda.provincia.innerHTML="";
		case 2: 
			document.frmBusqueda.municipio.innerHTML="";
		case 1: 
			document.frmBusqueda.zona.innerHTML="";
		break;
	}

}


//////////////////////////////////////////////////////////////////////
//// BUSQUEDA POR REFERENCIA /////////////////////////////////////////
//////////////////////////////////////////////////////////////////////

function sendReference( params, app ) {

	var ajax=nuevoAjax();
	ajax.open("GET", app+"?"+params, true);
	ajax.onreadystatechange=function(){
		
		if (ajax.readyState==4)	{
			EvaluaReferencia(ajax.responseText);
		}
	
	}
	ajax.send(null);
}

function EvaluaReferencia(r) {

	var tablas = new Array();
	tablas['i'] = "inmuebles";
	tablas['d'] = "destacados";
	var noref = document.getElementById('noref');
	
	if ( r == "" || r == "-1" ) 
	{
		noref.innerHTML="¡No existen inmuebles con esta referencia!";
	}
	else 
	{
		if ( noref.innerHTML != "") { noref.innerHTML = "" };
		par = r.split(':');
		VerDestacado(par[1], tablas[par[0]]);
	}
	
	document.getElementById('buscador_referencia').style.cursor = "default";

}