// 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)
{
	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,opportunity,sequestered,dest_alq)
{
	fillRadio(section);
	fillCityData(section,lang,opportunity,sequestered,dest_alq);
	fillTypeData(section,lang,opportunity,sequestered,dest_alq);
	fillNRoomsData();	
	fillPriceTable(section);
}


function fillRadio(section){	
	
	if (section>0){
		frmb=document.forms['form_buscador'];
		
		var fs = frmb.fsection;	
		
		fs[section-1].checked=true;
	}
}


//construir el select de las provincias
function fillCityData(section,lang,opportunity,sequestered,dest_alq)
{
	frmp=document.forms['form_provincias'];
	frmb=document.forms['form_buscador'];
	
	esindex=(!frmp);
	
	prm = getParamArray();
	cty = getParamValue(prm, "fcity");

	var myConn = new XHConn();

	var fnCtr = function (oXML) {
		
		//var sel = document.getElementById("f_filt_city");
		
		if (!esindex) var sel = frmp.f_filt_city;
		
		
		//var sel2 = document.getElementById("fcity");
		
		var sel2 = frmb.fcity;
		

		obj = eval ("(" + oXML.responseText + ")");
		
		//sel.options.length = 0;
		//sel2.options.length = 0;

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

			if (mdl.key==cty){
				 if(!esindex) sel.selectedIndex = i;
				 sel2.selectedIndex = i;	
			}
		}	
		
		fillTownData(section,cty,lang,opportunity,sequestered,dest_alq);//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="+escape(section)+"&lang="+escape(lang)+"&opportunity="+escape(opportunity)+"&sequestered="+escape(sequestered)+"&dest_alq="+escape(dest_alq);

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


//construir el select de los tipos de inmuebles
function fillTypeData(section,lang,opportunity,sequestered,dest_alq)
{
	frmb=document.forms['form_buscador'];	
	
	prm = getParamArray();
	typ = getParamValue(prm, "ftype");

	var myConn = new XHConn();

	var fnCtr = function (oXML) {
		
		//var sel = document.getElementById("ftype");
		
		var sel = frmb.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="+escape(section)+"&lang="+escape(lang)+"&opportunity="+escape(opportunity)+"&sequestered="+escape(sequestered)+"&dest_alq="+escape(dest_alq);

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


//carga localidades
function fillTownData(section,city,lang,opportunity,sequestered,dest_alq)
{
	
	frmb=document.forms['form_buscador'];	
	
	prm = getParamArray();
	twn = getParamValue(prm, "ftown");

	var myConn = new XHConn();

	var fnCtr = function (oXML) {
		
		//var sel = document.getElementById("ftown");	
		
		var sel = frmb.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");
	
	var sel2 = frmb.fcity;
	
	city=sel2.value;
	
	
		param="section="+escape(section)+"&city="+escape(city)+"&lang="+escape(lang)+"&opportunity="+escape(opportunity)+"&sequestered="+escape(sequestered)+"&dest_alq="+escape(dest_alq);


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


function fillNRoomsData(){

	frmb=document.forms['form_buscador'];
	
	prm = getParamArray();
	nrm = getParamValue(prm, "fnrooms");

		
		//var sel = document.getElementById("fnrooms");
		
		var sel = frmb.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)
{
	
	frmb=document.forms['form_buscador'];
	
	prm = getParamArray();
	price = getParamValue(prm, "fprice");

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

	if (section==2)//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==1)//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 filterCityTown(section)
{
	
	frmp=document.forms['form_provincias'];
	
	//var ft = document.getElementById('f_filt_city');
	
	var ft = frmp.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')?'inmuebles_alquiler.php':'inmuebles_venta.php';
		//filetoload='inmuebles_segunda_mano_alquileres.php';
		
		window.location = filetoload+'?section='+ section +'&fcity=' + ft.options[ft.selectedIndex].value;
		
		
	}
}

