buscador = {
	init: function() {
		$("a#search").bind('click', buscador.search);
		$("tr.headers a").bind('click', buscador.clickSort);
		$("ul.list-navigation li.c").bind('click', buscador.clickPage);
		$("ul.list-navigation li.c span").bind('mouseover', buscador.hover);
		$("ul.list-navigation li.c span").bind('mouseout', buscador.unhover );
		$("table.inmuebles tbody tr").bind('click', buscador.trclick );
		$("form.buscador").bind('submit', buscador.search);
		$("select#sortoption_field").bind('change', buscador.chsort);
		$("select#sortoption_desc").bind('change', buscador.chsort);
		buscador.numpages = numpages;
		buscador.searchpage = 0;
		buscador.sort = sort;
		buscador.desc = desc;
				
	},
	hover : function(){ 
		$(this).addClass("hover");
	},
	unhover : function(){ 
		$(this).removeClass("hover");
	},
	getOperacion: function() {
		selop = document.getElementById('operacion');
		return selop.options[selop.selectedIndex].value;
	},
	getZona: function() {
		selzona = document.getElementById('zona');
		return selzona.options[selzona.selectedIndex].value;
	},
	getTipo: function() {
		seltipo = document.getElementById('tipo');
		return seltipo.options[seltipo.selectedIndex].value;
	},
	search: function() {
		
		
		var operacion = buscador.getOperacion();
		var tipo = buscador.getTipo();
		
		var url = '/buscador?&operacion='+operacion+'&tipo='+tipo;
		
		var zona = buscador.getZona();
		
		if (zona!=0) {
			var s = zona.split("_");
			if (s[0]=="zona") url+='&zona='+s[1];
			else url+='&subzona='+s[1];
		}
		
		if (buscador.sort) url+='&sort='+buscador.sort+'&rev='+buscador.desc;
		else url+='&sort=fecha&rev=desc';
		if (buscador.searchpage) url+='&page='+buscador.searchpage;
		var ref = $("#ref").attr('value');
		if (!ref) ref = '';
		url+='&ref='+ref;
		
		document.location = url;
		return false;
	},
	clickSort: function() {
		
		var c = $(this).parent().attr('className');
		var s = c.split(" ");
		buscador.sort = s[0];
		if (s.length>1) {
			if (s[1]=="sortup") buscador.desc="";
			else buscador.desc="desc";		
		}
		else {
			buscador.desc = "";
		}
		
		buscador.search();
		return false;
	},
	clickPage: function() {
		var id = this.id;
		var s = id.split("_");
		var id = s[1];
		var currentpage = buscador.getCurrentPage();
		
		if (id=="primera") {
			if(currentpage==1) return;
			buscador.searchpage = 1;
			buscador.search();
			return false;
		}
		else if (id=="ultima") {
			if(currentpage==buscador.numpages) return;
			buscador.searchpage = buscador.numpages;
			buscador.search();
			return false;
		}
		else if (id == "siguiente") {
			if (currentpage==buscador.numpages) return;
			buscador.searchpage = currentpage+1;
			buscador.search();
			return false;
		}
		else if (id == "anterior") {
			if (currentpage<=1) return;
			buscador.searchpage = currentpage-1;
			buscador.search();
			return false;
		}
		else buscador.searchpage = id;
		buscador.search();
		return false;
		
			
	},
	getCurrentPage: function() {
		var id = $("ul.list-navigation li.selected").attr("id");
		var s = id.split("_");
		return parseInt(s[1]);
	},
	trclick: function() {
		document.location='/inmueble/'+this.id.slice(3);
	},
	chsort: function() {
		if (this.id=='sortoption_field') {
			buscador.sort = this.options[this.selectedIndex].value;
			
		}
		else {
			if (this.value=='asc')
				buscador.desc = '';
			else
				buscador.desc = 'desc';
		}
		buscador.search();		
	}
}

$(document).ready(function(){
	buscador.init();	
	$("table.inmuebles tbody tr").bind('mouseover', function(){
		$(this).addClass('hover');
	});
	$("table.inmuebles tbody tr").bind('mouseout', function(){
		$(this).removeClass('hover');
	});
});


