// JavaScript Document
var indice = 0;

var Lista = function(parametros,maximo_registros,contenedor,vista,titulo,pagina,control,editar){

	var json = null;
	var num_total_registros = null;
	var total_paginas = null;
	var criterioBusqueda = null;
	
	this.indice = indice++;
	var btnSiguiente = "siguiente"+indice;
	var btnAnterior = "anterior"+indice;
	var selPagina = "pagina"+indice;
	
	this.pagina= new Number(pagina);
	this.maximo_registros = new Number(maximo_registros);
	this.contenedor = new String(contenedor);
	this.vista = new String(vista);
	this.titulo = new String(titulo);
	this.parametros = new String(parametros);
	this.control = new Boolean(control);
	this.editar = new Boolean(editar);

	if (isNaN(this.pagina)) {
        this.pagina = 1;
    }
	
	if (isNaN(this.parametros)) {
        this.parametros = "";
    }
	
	if (isNaN(this.maximo_registros)) {
        this.maximo_registros = 10;
    }
		
	if (isNaN(this.titulo)) {
        this.titulo = "Ultimas entradas";
    }
	
	if (isNaN(this.vista)) {
        this.vista = "detalle";
		
    }
	
	if (isNaN(this.contenedor)) {
        this.contenedor = "body";
    }
	
	if (isNaN(this.control)){
        this.control = true;
    }
	
	if (isNaN(this.editar)){
        this.editar = false;
    }
	
	this.json = function(){
			var json = null;
			$.ajax({
				async: false,
				global: false,
				cache: false,
				type: "GET",
				url: "php/lista-propiedades-json.php",
				data: "json&"+this.parametros,
				dataType: "json",
				success: function(datos) {
					json = datos;			
				}					
			});

			return json;
		
		};
		


this.mostrar = function(){
	
	json = this.json();
	num_total_registros = json.length;
	total_paginas = Math.ceil(num_total_registros/this.maximo_registros);
		
	var inicio = (this.pagina-1) * this.maximo_registros;
	var hasta = inicio + this.maximo_registros;
	if (hasta >= num_total_registros){  hasta = num_total_registros; }
	var datos = json.slice(inicio,hasta);
	var precio;

	var html = '';
	var that = this;

	if(num_total_registros>0){
				
				html += "<h1 id='lista_titulo'>"+that.titulo+"</h1>"; 
				html += "<p class='lista_resultados'>Mostrando "+inicio+" - "+hasta+" de "+num_total_registros+" inmuebles disponibles</p>";
				
				$.each(datos, function(index, value) {
				
					
					if(value.controles=='si'){
						//control = "<span class='edicion'><a href='publicar-anuncio.php?id="+value.id+"' class = 'edit' >Editar</a> <a href='#' rel='"+value.id+"' class = 'delete' >Borrar</a></span>";
					}else{
						control = "";
					}
				
					html += "<div class='anuncio "+that.vista+" "+value.claseEstado+"' id='anuncio_"+value.id+"' url='"+value.url+"' >";
					html += "<a target='_blank' href='"+value.url+"'>";
					html += "<img src='"+value.foto+"' border='0' title='"+value.titulo+"'>";
					html += "</a>";
					html += "<p>";
					html += "<a target='_blank' href='"+value.url+"' class='titulo'>"+value.titulo+"</a>";
					html += "<span class='ubicacion'><span class='ciudad'>"+value.ciudad+", </span><span class='sector'>"+value.sector+"</span>:</span> ";
					html += "<span class='caracteristicas'>"+value.data+"</span>";
					html += "<span class='precio "+value.claseprecio+"'>"+value.precio+"</span> ";
					html += "<span class='controles'>";					
					if(that.editar==true){
						html +=  "<a href='publicar-anuncio.php?id="+value.id+"'>Editar</a> | ";
						html +=  "<a href='javascript:borrarPropiedad("+value.id+")'>Borrar</a> | ";
					}
					/*
					if(value.esFavorito=="si"){
						html += "<span id='btnFav_"+value.id+"'>En mi Lista</span>";
					}else{
						html += "<span id='btnFav_"+value.id+"'><a href='javascript:agregarFav("+value.id+")'>Favorito</a></span>";
					}
					*/
					html += "</span>";
					
					html += "</p>";
					
					if(that.editar==true){
						html +=  "<ul>";
						html +=  "<li>Creado <span>"+value.fecha_creacion+"</span></li>";
						html +=  "<li>Actualizado <span>"+value.fecha+"</span></li>";
						html +=  "<li>Visitas <span>"+value.visitas+"</span></li>";
						html +=  "<li>Fotos <span>"+value.cant_fotos+"</span></li>";
						html +=  "</ul>";
					}	
					
					html +="</div>";
				
				});
				
				if(that.control){
					html += "<div id='pagination'>";
					html += "<ul>";
					html += "<li>Pagina ";
					html += "<select id='"+selPagina+"' name='"+selPagina+"' >";
					for (var p = 1; p <= total_paginas ; p++){
						if(p==that.pagina){
							html += "<option value='"+p+"' selected>"+p+"</option>";
						}else{
							html += "<option value='"+p+"'>"+p+"</option>";
						}
					}
					html += "</select>";
					html += " de "+total_paginas;
					html += "</li>";
					
					if((that.pagina-1) >= 1) {
						html += "<li><input type='button' id='"+btnAnterior+"' name='"+btnAnterior+"' value='&#171;' /></li>";
					}else{
						html += "<li><input type='button' id='"+btnAnterior+"' name='"+btnAnterior+"' value='&#171;' disabled='disabled' /></li>";
					}
					
					if((that.pagina+1) <= total_paginas) {
						html += "<li><input type='button' id='"+btnSiguiente+"' name='"+btnSiguiente+"' value='&#187;' /></li>";
					}else{
						html += "<li><input type='button' id='"+btnSiguiente+"' name='"+btnSiguiente+"' value='&#187;' disabled='disabled' /></li>";
					}
					
					html += "</ul>";
					html += "</div>";
				}
				$("#"+that.contenedor).html(html);
				
				if(that.control){
					document.getElementById(btnSiguiente).onclick = sig;
					document.getElementById(btnAnterior).onclick = ant;
					document.getElementById(selPagina).onchange = pag;
					
				}
				
				
				$(".anuncio").mouseover(function () {
					$(this).css("cursor","pointer");
				});
				
				/*
				$(".anuncio").click(function(){
					document.location.href=$(this).attr("url");
				});
				*/
					
	}else{
		$("#"+that.contenedor).html("<div class='error'>No hay resultados con este criterio</div>");
	}
}					
	

	



	var t = this;

	function sig(e){
		e.preventDefault();
		
		if((t.pagina+1) <= total_paginas) {
			t.pagina= t.pagina+ 1;
			t.mostrar();
		}
		
	}
	
	function ant(e){
		e.preventDefault();
		if((t.pagina-1) >= 1) {
			t.pagina= t.pagina- 1;			
			t.mostrar();
		}	
		
	}
	
	function pag(){ 
		
		var p = this.options[this.selectedIndex].value;
		t.pagina = p;
		t.mostrar();
						
	};
	


	
} // FIN DEL OBJETO LISTA

	function agregarFav(id){
		$.ajax({
			async: false,
			global: false,
			cache: false,
			type: "GET",
			url: "php/favoritos.php",
			data: "agregar="+id,
			success: function(html) {
				$("#favoritos").html(html);
				$("#btnFav_"+id).html("En mi lista");
			}					
		});
	}
	
	function borrarFav(id){
		$.ajax({
			async: false,
			global: false,
			cache: false,
			type: "GET",
			url: "php/favoritos.php",
			data: "borrar="+id,
			success: function(html) {
				$("#favoritos").html(html);
				$("#btnFav_"+id).html("<a href='javascript:agregarFav("+id+")'>Favorito</a>");
			}					
		});
	}

function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') +  num );
	// Retorna los centavos y el signo de peso
	//return (((sign)?'':'-') + '$' + num + '.' + cents); 
}

function borrarPropiedad(id){   
	   	if(confirm("Seguro que desea borrar este Anuncio?")){			
			$.post("php/borrar-anuncio-jsn.php", { id: id},function(data){
																	
				if(data=='si'){

					$("#anuncio_"+id).fadeOut('slow', function() {
					   $("#anuncio_"+id).remove();
			  		});

				} else {
					alert('No se pudo eliminar el anuncio');	
				} 
			}, "json"); 

			return false;
		}else{
		   return false;
		}
}


