var activando=""; //para que no recargue dos veces el mismo...
var cat_o_campos_backup="";
var accion_backup="";

function carga(cargar, cat_o_campos, accion, pagina_actual){ //realiza el ajax

//relacion con los botones que mueven de seccion en la barra superior
if(activando == cargar && cat_o_campos == cat_o_campos_backup && accion != 'SIGUIENTE' && accion!= 'ATRAS'){return;}

activando=cargar;
cat_o_campos_backup=cat_o_campos;
accion_backup=accion;
efecto("opacity_off");
realiza_ajax(cargar, cat_o_campos, accion, pagina_actual);
}

function efecto(efecto){

if(cat_o_campos_backup == -1 && accion_backup != 'SIGUIENTE' && accion_backup != 'ATRAS'){

if(efecto=="opacity_off") {new Effect.Opacity('cuerpo',{duration:1.0, from:1, to:0});
						  };	

if(efecto=="opacity_on") {
						  new Effect.Opacity('cuerpo',{duration:1.0, from:0, to:1});
						  $('icono_seccion').hide();
						  Effect.Grow('icono_seccion',{delay:0.6, direction: 'top-left'});
						  };

}
}

var cargar2="";
var cat_o_campos2="";
var accion2="";
var pagina_actual2="";


// SEGUIR DESDE ACA... PUNTO DE QUIEBRE: TINO TINO TINO
function paginador_tino(cargar, cat_o_campos, pagina_actual, nueva_pagina){
	new Ajax.Request('carga.php',{
					 method:'get',
					 parameters:{cargar:cargar, cat_o_campos:cat_o_campos, pagina_actual_:pagina_actual, nueva_pagina:nueva_pagina},
					 
					 onSucces: function(transport){actualiza.delay(1.0,'cuerpo', trasport.responseText);},
					 
					 onFailure: function(){actualiza.delay(1.0,'cuerpo', "Error al cargar cuerpo...");}
					 
					 });
}

function realiza_ajax(cargar, cat_o_campos, accion, pagina_actual){
	new Ajax.Request('carga.php' , {
			 method: 'get',
			 parameters : {cargar:cargar,  cat_o_campos : cat_o_campos, accion: accion,  pagina_actual: pagina_actual, limit:12},
			 onSuccess : function(transport){
			 cargar2=cargar;
			 cat_o_campos2=cat_o_campos;
			 accion2=accion;
			 pagina_actual2=pagina_actual;	
			 actualiza.delay(1.0,'cuerpo', transport.responseText);
			 <!--console.log('cargar dentro de ajax:'+ cargar2);-->
			 },

			 onFailure : function(){
 			 actualiza.delay(1.0,'cuerpo', "Error al cargar cuerpo...");
			 }
				 });
}



function actualiza(fuente,responseText){

$(fuente).update(responseText+"<script>lightwindowInit();</script>");

efecto("opacity_on");


if(fuente=="tabla_resultados"){

$('ficha').setStyle({
background:'url("img/ficha.png") no-repeat scroll 0 0 transparent',
height:'683px',
marginLeft:'4px',
marginTop:'3px',
width:'651px'});
	}

}



// Lo que sigue esta todo relacionado con la seccion de busqueda

function ajusta_config(valor){

		if(valor == "Alquileres") {
		document.getElementById('select_ventas').style.display="none";
		document.getElementById('select_alquileres').style.display="";
		}

		if(valor == "Ventas"){
		document.getElementById('select_alquileres').style.display="none";
		document.getElementById('select_ventas').style.display="";		
		}

		if(valor == "rango"){
		document.getElementById('calle').style.display="none";
		document.getElementById('dormitorios').style.display="none";
		document.getElementById('rango').style.display="";
		}

		if(valor == "dormitorios"){
		document.getElementById('calle').style.display="none";
		document.getElementById('rango').style.display="none";
		document.getElementById('dormitorios').style.display="";		
		}

		if(valor == "calle"){
		document.getElementById('rango').style.display="none";
		document.getElementById('dormitorios').style.display="none";
		document.getElementById('calle').style.display="";		
/*		document.getElementById('calle').focus();
		document.getElementById('calle').click();			
*/		}			

}



var param_url; //variable global. tiene los filtros de la busqueda; esta se va completando en valida_busca() y será la condicion para hacer consultas en la base de datos mas tarde.

var condicion; // variable global... lleva "rango o calle o dormitorios"

function buscar(campo0,campo1,campo2,campo3,campo4,accion,pagina_actual){

$('rpta_buscador').update("");


				//Recordar:
				//campo0 = busca_en	
				//campo1 = categoria
				//campo2 = condicion
				//campo3 = opcion 1
				//campo4 = opcion 2 (opcional)


		if(campo0==""){ //porque se acaba de realizar una busqueda
		var ok=valida_busca();	
		
			if (ok==0) {return 0;} //si no retorna es porque va todo de 10

		var ventas_or_alquileres = document.getElementById("busca").value;

		param_url+="&busca_en="+ventas_or_alquileres;
	

				if(ventas_or_alquileres=="Alquileres"){
				param_url+="&cat_o_campos="+document.getElementById("select_alquileres").value+"&band=1";				
				}

				if(ventas_or_alquileres=="Ventas"){
				param_url+="&cat_o_campos="+document.getElementById("select_ventas").value+"&band=1";			
				}

		}else //porque viene del paginador y ya tiene definido todos los campos desde antes

			{

				if(campo2=="rango"){
					param_url ="?condicion="+campo2+"&desde="+campo3+"&hasta="+campo4+"&accion="+accion+"&pagina_actual="+pagina_actual+"&band=0";
				}

				if(campo2=="calle"){
					param_url="?condicion="+campo2+"&calle="+campo3+"&accion="+accion+"&pagina_actual="+pagina_actual+"&band=0";
				}

				if(campo2=="dormitorios"){
					param_url="?condicion="+campo2+"&cant_dormitorio="+campo3+"&accion="+accion+"&pagina_actual="+pagina_actual+"&band=0";
				}

			param_url+="&busca_en="+campo0+"&cat_o_campos="+campo1;
		}


//ahora determino si se trata de ventas o alguileres, y su cat_o_campos

var pagina='carga.php';
if (typeof desde != "undefined"){ if(desde=="buscador_admin"){ pagina="../../carga.php"; param_url+="&desde2=admin_busqueda_tradicional";} }

//realizo ajax con prototype
new Ajax.Request(pagina+param_url, {
			 method: 'get',
			 parameters : {carga : "busca", limit:12},
			 
			 onSuccess : function(transport){
			//actualiza.delay(1.0,'cuerpo', transport.responseText);
			if(typeof desde == "undefined"){
			$('cuerpo').update(transport.responseText+"<script>lightwindowInit();</script>");
			}else{
				if(desde=="buscador_admin"){ $('cuerpo').update(transport.responseText); }
				}

			 },

			 onFailure : function(){
 			 actualiza.delay(1.0,'cuerpo', "Error al cargar cuerpo...");
			 }
				 });
}//function

function valida_busca(){

//si escogio busqueda por rango

		if (document.getElementById('rango').style.display==""){
				condicion="rango";	
				param_url="";

				// desde y hasta estan vacios?

				if(document.getElementById('desde').value==""){
					$('rpta_buscador').show();
					$('rpta_buscador').update("<img src='img/error.png' width='18' height='18'/>&nbsp;&nbsp;&nbsp;Complete el campo DESDE...");
					new Effect.Opacity('rpta_buscador',{duration:1.0, from:0, to:1});
					document.getElementById('desde').focus();
					param_url="";
					return 0;
				}else {	param_url+=document.getElementById('desde').value;}

				if(document.getElementById('hasta').value==""){
				$('rpta_buscador').show();
				$('rpta_buscador').update("<img src='img/error.png' width='18' height='18'/>&nbsp;&nbsp;&nbsp;Complete el campo HASTA...");
				new Effect.Opacity('rpta_buscador',{duration:1.0, from:0, to:1});
				document.getElementById('hasta').focus();
				param_url="";
				return 0;
				}else {param_url+=document.getElementById('hasta').value;}

				// hasta es mayor que desde?

				var desde=parseFloat(document.getElementById('desde').value);
				var hasta=parseFloat(document.getElementById('hasta').value);

				if(desde > hasta){
				$('rpta_buscador').show();
				$('rpta_buscador').update("<img src='img/error.png' width='18' height='18'/>&nbsp;&nbsp;&nbsp;El campo DESDE, debe ser menor que HASTA...");
				new Effect.Opacity('rpta_buscador',{duration:1.0, from:0, to:1});
				param_url="";
				return 0;
				}

param_url ="?condicion="+condicion+"&desde="+document.getElementById('desde').value+"&hasta="+document.getElementById('hasta').value;

		return 1;
		}

//si escogio busqueda por calle



		if (document.getElementById('calle').style.display==""){
			condicion="calle";
			param_url="";
			
			if(document.getElementById('calle_text').value==""){
			$('rpta_buscador').show();
			$('rpta_buscador').update("<img src='img/error.png' width='18' height='18'/>&nbsp;&nbsp;&nbsp;Complete por favor el campo de b&uacute;squeda...");
			new Effect.Opacity('rpta_buscador',{duration:1.0, from:0, to:1});
			document.getElementById('calle_text').focus();
			param_url="";
			return 0;

			}else{
			param_url="?condicion="+condicion+"&calle="+document.getElementById('calle_text').value;			
			return 1;
			}
		}

//si escogio busqueda por cantidad de dormitorios

		if(document.getElementById('dormitorios').style.display==""){
		condicion="dormitorios";
		param_url="";
		param_url="?condicion="+condicion+"&cant_dormitorio="+getRadioButtonSelectedValue(document.form2.cant_dormitorio);
		return 1;		
	}
	}

//saber que radiobutton esta activo.

	function getRadioButtonSelectedValue(ctrl)
	{

	for(i=0;i<ctrl.length;i++)
		if(ctrl[i].checked) {
			return ctrl[i].value;
			}
	}


//funcion para el formulario de tasaciones. Valido el formulario y realizo ajax con prototype.
//Modelo a tener en cuenta para todos los formularios futuros!!!


function envia_tasacion(form){

var obj=$('nombre');
var val_obj=$F('nombre');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>Debe completar el campo NOMBRE");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

var obj=$('apellido');
var val_obj=$F('apellido');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>Debe completar el campo APELLIDO");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

var obj=$('direccion');
var val_obj=$F('direccion');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>Debe completar el campo DIRECCION");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

var obj=$('localidad');
var val_obj=$F('localidad');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>Debe completar el campo LOCALIDAD");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

var obj=$('ciudad');
var val_obj=$F('ciudad');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>Debe completar el campo CIUDAD");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

var obj=$('tel');
var val_obj=$F('tel');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>Debe completar el campo TELÉFONO");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

var obj=$('email');
var val_obj=$F('email');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>Debe completar el campo EMAIL");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

var obj=$('consulta');
var val_obj=$F('consulta');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>  Debe escribir su CONSULTA");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

		new Ajax.Request('envia_form.php', {
			 method: 'get',
			 parameters : $('form_tasaciones').serialize(true),
			 onSuccess : function(transport){
				 if(transport.responseText == "1"){ // todo ok, el envio fue correcto
			   $('respuesta').update("<img src='img/ok.png' width='18' height='18' style='margin-right:12px'/>  Se ha enviado correctamente su consulta");
				 Form.reset("form_contacto");
				 new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});

				 }else{
					 $('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>  Error al enviar, intente luego.");
					 new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
					 };
			 },

			 onFailure : function(){
 			 $('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>  Error al enviar el correo");
			  new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
			 },

			 onLoading : function(){
 			 $('respuesta').update("<img src='img/load.gif' width='18' height='18' style='margin-right:12px'/>  Enviando Formulario. Aguarde.");
				 }
				 });
}

function envia_contacto(form){

var obj=$('nombre');
var val_obj=$F('nombre');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>Debe completar el campo NOMBRE");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

var obj=$('apellido');
var val_obj=$F('apellido');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>Debe completar el campo APELLIDO");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

var obj=$('tel');
var val_obj=$F('tel');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>Debe completar el campo TELÉFONO");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

var obj=$('email');
var val_obj=$F('email');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>Debe completar el campo EMAIL");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

var obj=$('consulta');
var val_obj=$F('consulta');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>  Debe escribir su CONSULTA");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

		new Ajax.Request('envia_form.php', {
			 method: 'get',
			 parameters : $('form_contacto').serialize(true),
			 onSuccess : function(transport){
				 if(transport.responseText == "1"){ // todo ok, el envio fue correcto
			   $('respuesta').update("<img src='img/ok.png' width='18' height='18' style='margin-right:12px'/>  Se ha enviado correctamente su consulta");
				 Form.reset("form_contacto");
				 new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});

				 }else{
					 $('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>  Error al enviar, intente luego.");
					 new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
					 };
			 },

			 onFailure : function(){
 			 $('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>  Error al enviar el correo");
			  new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
			 },

			 onLoading : function(){
 			 $('respuesta').update("<img src='img/load.gif' width='18' height='18' style='margin-right:12px'/>  Enviando Formulario. Aguarde.");
				 }
				 });
}

function ventana (pagina) {
var opciones="toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, width=675, height=665, top=85, left=140";
window.open(pagina,"",opciones);
}


function interno (pagina){

$('show_ficha').setStyle({display:'block'});

new Ajax.Request(pagina, {
			method: 'get',
			onSuccess : function(transport){
			actualiza.delay(0,'show_ficha', transport.responseText);
			 },

			 onFailure : function(){
 			 actualiza.delay(1.0,'cuerpo', "Error al cargar cuerpo interno...");
			 }
				 });
}

function cerrar(){
window.close()
}

function cierra_ax(){	
$('show_ficha').setStyle(
  {
	display:'none'
  }
)

$('show_ficha').innerHTML="cargando...";
}


//Slideshow fotos de propiedades

// set the starting image.
var i;
var image_slide=new Array();
var NumOfImages;
var wait;

// The Fade Function
function SwapImage(x,y) {		
	$(image_slide[x]).appear({ duration: 1.5 });
	$(image_slide[y]).fade({duration: 1.5});
}

// the onload event handler that starts the fading.
function StartSlideShow() {
Effect.SlideDown.delay(2, 'contact');
/*new Ajax.Request("consulta.php",{
    method:'get',
	parameters: {codigo : $('codigo').innerHTML },
    onSuccess: function(transport){
		image_slide = new Array(transport.responseText);
    },
    onFailure: function(){ alert('problemas al realizar pedido') }
});
*/
i = 0;
for (var a=0; a<16; a++){
	var imagen= "image-"+a;
	if($(imagen)){
		image_slide[a]=imagen;
	}  
}

	NumOfImages = image_slide.length
	wait = 4000;
	
	play = setInterval('Play()',wait);
	$('PlayButton').hide();
	$('PauseButton').appear({ duration: 0});
}


function Play() {
	var imageShow, imageHide;
	imageShow = i+1;
	imageHide = i;

	if (imageShow == NumOfImages) {
		SwapImage(0,imageHide);	
		i = 0;					

	} else {
		SwapImage(imageShow,imageHide);			
		i++;
	}
}

function Stop () {
	clearInterval(play);				
	$('PlayButton').appear({ duration: 0});
	$('PauseButton').hide();
}

function GoNext() {
	clearInterval(play);
	$('PlayButton').appear({ duration: 0});
	$('PauseButton').hide();
	var imageShow, imageHide;
	imageShow = i+1;
	imageHide = i;
	
	if (imageShow == NumOfImages) {
		SwapImage(0,imageHide);	
		i = 0;					

	} else {
		SwapImage(imageShow,imageHide);			
		i++;
	}
}

function GoPrevious() {
	clearInterval(play);
	$('PlayButton').appear({ duration: 0});
	$('PauseButton').hide();
	var imageShow, imageHide;
	imageShow = i-1;
	imageHide = i;

	if (i == 0) {
		SwapImage(NumOfImages-1,imageHide);	
		i = NumOfImages-1;		
		//alert(NumOfImages-1 + ' and ' + imageHide + ' i=' + i)

		} else {
		SwapImage(imageShow,imageHide);			
		i--;
		//alert(imageShow + ' and ' + imageHide)
	}
}

//fin del Slideshow

function oculta_ficha(){
$('ficha').setStyle({display:'none'});
$('form_ficha').setStyle({display:'block'});
	}
	
function muestra_ficha(){
$('ficha').setStyle({display:'block'});
$('form_ficha').setStyle({display:'none'});
	}

function muestra_contact(){
Effect.SlideDown.delay(2, 'contact');
	}

function envia_contacto_ficha(form){

var obj=$('nombre');
var val_obj=$F('nombre');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>Debe completar el campo NOMBRE");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

var obj=$('apellido');
var val_obj=$F('apellido');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>Debe completar el campo APELLIDO");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

var obj=$('tel');
var val_obj=$F('tel');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>Debe completar el campo TELÉFONO");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

var obj=$('email');
var val_obj=$F('email');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>Debe completar el campo EMAIL");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

var obj=$('consulta');
var val_obj=$F('consulta');

if(val_obj==""){
	$('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>  Debe escribir su CONSULTA");
	new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
	obj.focus();
	return false;
}

		new Ajax.Request('envia_form.php', {
			 method: 'get',
			 parameters : $('form_contacto').serialize(true),
			 onSuccess : function(transport){
				 if(transport.responseText == "1"){ // todo ok, el envio fue correcto
			   $('respuesta').update("<img src='img/ok.png' width='18' height='18' style='margin-right:12px'/>  Se ha enviado correctamente su consulta");
			   $('form_ficha').setStyle({display:'none'});
				 Form.reset("form_contacto");
				 new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});

				 }else{
					 $('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>  Error al enviar, intente luego.");
					 new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
					 };
			 },

			 onFailure : function(){
 			 $('respuesta').update("<img src='img/error.png' width='18' height='18' style='margin-right:12px'/>  Error al enviar el correo");
			  new Effect.Opacity('respuesta',{duration:1.0, from:0, to:1});
			 },

			 onLoading : function(){
 			 $('respuesta').update("<img src='img/load.gif' width='18' height='18' style='margin-right:12px'/>  Enviando Formulario. Aguarde.");
				 }

				 });
}


//algunos campos solo aceptan numeros
var nav4 = window.Event ? true : false;
function acceptNum(evt){
var key = nav4 ? evt.which : evt.keyCode;
return (key <= 13 || (key >= 48 && key <= 57));
}

