// JavaScript Document

//auxiliares
function getParamArray()
{
	regla = /[?&]\w+=[+A-Za-z0-9%]*/gi;
	var res = String(window.location).match(regla);


	if ((res==null) || (res==''))
		return new Array();

	for (i=0; i<res.length; i++)
		res[i] = res[i].substr(1);

	return res;
}

function getParamValue(ar, key)
{
	
	//aqui, revisar esto por lo de escape y utf8
	elto = '';


	for (i=0;i<ar.length;i++)
	{
		if (String(ar[i]).substr(0, key.length+1)==String(key+"="))
			elto = ar[i];
	}

	if (elto!='')
	{
		itm = elto.split("=");
		return unescape(itm[1].replace(/[+]/gi, "%20"));
	} else
		return elto;
}
//auxiliares


//inicial, carga de datos
function chargeFormData(section,lang)
{
	//section es V-venta o A-alquiler
	fillCityData(section,lang);
	fillTypeData(section,lang);
	fillNRoomsData();	
	fillPriceTable(section);
}


//construir el select de las provincias
function fillCityData(section,lang)
{
	prm = getParamArray();
	cty = getParamValue(prm, "fcity");

	var myConn = new XHConn();

	var fnCtr = function (oXML) {
		
		var sel = document.getElementById("f_filt_city");
		
		var sel2 = document.getElementById("fcity");
		

		obj = eval ("(" + oXML.responseText + ")");
		

		for (i=0; i<obj.values.length;i++)
		{	
			mdl = obj.values[i];
						
			if (sel) sel.options[i] = new Option(mdl.value, mdl.key);
			sel2.options[i] = new Option(mdl.value, mdl.key);			

			if (mdl.key==cty){
				if (sel) sel.selectedIndex = i;
				sel2.selectedIndex = i;	
			}
		}	
		
		fillTownData(section,cty,lang);//carga las localidades
		
	}
	
	if (!myConn) alert("Navegador sin soporte AJAX. Por favor utilice un navegador más actual.");

	//var fcity = document.getElementById("f_filt_city");
	//if (fcity.options.length<2)
		//return;
	
	//var ftown = document.getElementById("ftown");
	//ftown.options.length = 0;
	
	param="section="+section+"&lang="+lang;//"section="+escape(section)+"&lang="+escape(lang);

	myConn.connect("modules/ajax_getcitiesrealstates.php", "POST", param , fnCtr);
}


//construir el select de los tipos de inmuebles
function fillTypeData(section,lang)
{
	prm = getParamArray();
	typ = getParamValue(prm, "ftype");

	var myConn = new XHConn();

	var fnCtr = function (oXML) {
		
		var sel = document.getElementById("ftype");		

		obj = eval ("(" + oXML.responseText + ")");
		

		for (i=0; i<obj.values.length;i++)
		{	
			mdl = obj.values[i];
						
			sel.options[i] = new Option(mdl.value, mdl.key);		

			if (mdl.key==typ){
				sel.selectedIndex = i;
			}
		}		
	}
	
	if (!myConn) alert("Navegador sin soporte AJAX. Por favor utilice un navegador más actual.");

	//var fcity = document.getElementById("f_filt_city");
	//if (fcity.options.length<2)
		//return;
	
	//var ftown = document.getElementById("ftown");
	//ftown.options.length = 0;
	
	param="section="+section+"&lang="+lang;//"section="+escape(section)+"&lang="+escape(lang);

	myConn.connect("modules/ajax_gettypesrealstates.php", "POST", param , fnCtr);
}


//carga localidades
function fillTownData(section,city,lang)
{
	prm = getParamArray();
	twn = getParamValue(prm, "ftown");

	var myConn = new XHConn();

	var fnCtr = function (oXML) {
		
		var sel = document.getElementById("ftown");	
		
		sel.options.length = 0;

		obj = eval ("(" + oXML.responseText + ")");
		

		for (i=0; i<obj.values.length;i++)
		{	
			mdl = obj.values[i];
						
			sel.options[i] = new Option(mdl.value, mdl.key);	

			
			if (mdl.key==twn){
				sel.selectedIndex = i;
			}
		}		
	}
	
	if (!myConn) alert("Navegador sin soporte AJAX. Por favor utilice un navegador más actual.");

	//var fcity = document.getElementById("f_filt_city");
	//if (fcity.options.length<2)
		//return;
	
	//var ftown = document.getElementById("ftown");
	//ftown.options.length = 0;
	
	
	
	var sel2 = document.getElementById("fcity");	
	city=sel2.value;
	
	
		param="section="+section+"&city="+city+"&lang="+lang;//"section="+escape(section)+"&city="+escape(city)+"&lang="+escape(lang);


	myConn.connect("modules/ajax_gettownsrealstates.php", "POST", param , fnCtr);	
	
}


function fillNRoomsData(){

	prm = getParamArray();
	nrm = getParamValue(prm, "fnrooms");

		
		var sel = document.getElementById("fnrooms");	
		
		sel.options[0] = new Option('Todas','');

		for (i=1; i<=4;i++)
		{	
						
			sel.options[i] = new Option(i, i);		
			
			if (i==nrm){
				sel.selectedIndex = i;
			}
		}	
	
}


//carga precios
function fillPriceTable(section)
{
	prm = getParamArray();
	price = getParamValue(prm, "fprice");

	var prc = document.getElementById('fprice');		
	prc.options.length = 0;

	if (section=='A')//es alquiler
	{
		precios = new Array ('', '300', '600', '900', '1200', '1500', '1800', 'M1800');
		etiquetas =  new Array ('Todos', 'Hasta 300', 'Hasta 600', 'Hasta 900', 'Hasta 1.200', 'Hasta 1.500', 'Hasta 1.800', 'Más de 1.800');
	} 
	else if(section=='V')//es venta
	{
		precios = new Array ('', '30000', '60000', '90000', '120000', '150000', '180000', 'M180000');
		etiquetas =  new Array ('Todos', 'Hasta 30.000', 'Hasta 60.000', 'Hasta 90.000', 'Hasta 120.000', 'Hasta 150.000', 'Hasta 180.000', 'Más de 180.000');
	}
	else//es venta y alquiler
	{
		precios = new Array ('', '500', '1000', '1500', '60000', '120000', '180000', 'M180000');
		etiquetas =  new Array ('Todos', 'Hasta 500', 'Hasta 1.000', 'Hasta 1.500', 'Hasta 60.000', 'Hasta 120.000', 'Hasta 180.000', 'Más de 180.000');
	}	
	
	

	for (i=0; i<precios.length; i++)
	{
		prc.options[i] = new Option(etiquetas[i], precios[i]);

		if (precios[i]==price)
			prc.selectedIndex = i;
	}
}

//si cambia la provincia de seleccionar solo
function filterCity(section)
{
	ft = document.getElementById('f_filt_city');

	var url = ft.options[ft.selectedIndex].value;	
	url = url.replace(/ /g, '-');
	
	if (ft.selectedIndex>-1){
		//window.location = 'viviendas-' + url + '-oferta-inversores.html';//aqui cambiar al hacer las url friendlys		
		
		//filetoload=(section=='A')?'viviendas_alquiler.php':'viviendas_segunda_mano.php';
		filetoload='inmuebles_segunda_mano_alquileres.php';
		
		window.location = filetoload+'?section='+ section +'&fcity=' + ft.options[ft.selectedIndex].value;
		
		
	}
}

