/*
* Función que plega las opciones de búsqueda avanzada de la página results
* @param bool stats Si hay que añadir evento de GA
*/
function closeAdvSearchRes() {

  $('contentExtSearch').style.display = 'none';
}

/*
 * Función que desplega las opciones de búsqueda avanzada de la página results
 *
 * @param bool stats Si hay que añadir evento de GA
 * @param string category Categoria del evento de GA
 * @param string action Acción del evento de GA
 */
function openAdvSearchRes(stats, category, action) {

  var valor = '';
  if ($('contentExtSearch').style.display != 'block'){
    $('contentExtSearch').style.display = 'block';
    valor = 'Desplegar';
  } else {
    $('contentExtSearch').style.display = 'none';
    valor = 'Plegar - Más filtros';
  }
  if (stats && typeof(pageTracker) == 'object'){
    pageTracker._trackEvent(category, action, valor);
  }
}


/**
* Función que cambia las opciones de búsqueda avanzada en función del tipo de inmueble escogido
*
* @param string tipo
* @param string identificador de vivienda
*
*/
function changeTipo(tipo_id, ident_vivienda) {

  if (tipo_id == ident_vivienda) {

    if ($('advsearch_vivienda')) {
      $('advsearch_vivienda').style.display = 'block';
      $('num_hab').disabled = false;
      if ($('num_ban')){
        $('num_ban').disabled = false;
      }
    }
  } else {
    if ($('advsearch_vivienda')) {
      $('advsearch_vivienda').style.display = 'none';
      $('num_hab').disabled = true;
      if ($('num_ban')){
        $('num_ban').disabled = true;
      }
    }
  }
  if (tipo_id == "promo") {
    if ($('advobranueva')) {
      $('advobranueva').className = "hidden";
    }
    if ($('tab_map')) {
      $('tab_map').style.display = 'none';
    }
  } else {
    if ($('advobranueva')) {
      $('advobranueva').className = "advobranueva";
    }
    if ($('tab_map')) {
      $('tab_map').style.display = 'block';
    }
  }

}

/**
 * getOptionText.
 * Retorna el text del option seleccionat en el formulari i select box indicats.
 * No s'usa actualment, però pot ser útil.
 */
function getOptionText(form, select) {
  var f = $(form); //referencia al formulari
  for (var i=0; i<f.elements[select].length; i++) {
    //var tVal = f.elements[select][i].value;
    if (f.elements[select][i].selected) {
      var tTxt = f.elements[select].options[i].text;
      return tTxt;
    }
  }
}

/**
 * Activa la pestanya promoció en un resultat de tipologia del llistat de
 * resultats.
 * @param id
 * @return void
 */
function activatePromocion(id) {
  var div_ref = new String("ref_" + id);
  var div_promo = new String('promo_' + id);
  var li_first = new String('li_first_' + id);
  var li_second = new String('li_second_' + id);
  var class_det_ref = new String('det_ref_' + id);
  var class_det_pro = new String('det_pro_' + id);
  document.getElementById(div_ref).style.display = "none";
  document.getElementById(div_promo).className = "promocion";
  document.getElementById(li_first).className = 'off';
  document.getElementById(li_second).className = 'on';
  if(document.getElementById(class_det_ref)) {
    document.getElementById(class_det_ref).className = 'hidden';
  }
  if(document.getElementById(class_det_pro)) {
    document.getElementById(class_det_pro).className = '';
  }
}

/**
 * Activa la pestanya de la referencia (detalles) en un resultat de tipologia
 * del llistat de resultats.
 * @param id
 * @return void
 */
function activateReferencia(id) {
  var div_ref = new String("ref_" + id);
  var div_promo = new String('promo_' + id);
  var li_first = new String('li_first_' + id);
  var li_second = new String('li_second_' + id);
  var class_det_ref = new String('det_ref_' + id);
  var class_det_pro = new String('det_pro_' + id);
  document.getElementById(div_promo).className = "hidden";
  document.getElementById(div_ref).style.display = "block";
  document.getElementById(li_first).className = 'on';
  document.getElementById(li_second).className = 'off';
  if(document.getElementById(class_det_ref)) {
    document.getElementById(class_det_ref).className = '';
  }
  if(document.getElementById(class_det_pro)) {
    document.getElementById(class_det_pro).className = 'hidden';
  }
}

/**
 * Per canviar de la vista de llistat a la vista mapa.
 * Canvia el camp view a 'map', neteja el radio, els barris i las zonas
 * (entorno) i fa la cerca.
 * @return void
 */
function changeToMap() {

  /* En caso de estar en la vista mapa recargamos la vista lista */
  if ($('view').value != 'map')  {
    $('view').value = 'map';
    if ($('r')) $('r').value = ''; // netejem radio

    // netejem barrios
    if ($('all_zonas')) $('all_zonas').checked = true;
    checkTodos('zonas');

    // netejem entorno
    if ($('all_e')) $('all_e').checked = true;
    checkAll('e');

    search();
  }
  $('results').style.display = 'block';
}

/**
 * Per canviar de la vista mapa a la vista llistat.
 * Canvia el camp view a '', borra coordenades i fa la cerca.
 * @return void
 */
function changeToList() {

  /* En caso de estar en la vista mapa recargamos la vista lista */
  if ($('view').value == 'map')  {
    $('view').value = '';
    $('latso').value = ''; // borrem coordenades
    $('lonso').value = '';
    $('latne').value = '';
    $('lonne').value = '';
    search();
  } else {
    if ($('results')) {
      $('results').style.display = 'block';
    }
    if ($('containersearch')) {
      $('containersearch').style.display = 'block';
    }
  }
}

/**
 * reload.
 * Quitaremos las opciones de filtros y recargamos el formulario.
 * TODO: revisar i eliminar si no es necessaria
 */
function reload() {
  var f = $('buscar');
  var lista = f.getInputs('checkbox');
  s = lista.size();

  for (var i=0; i<s; i++) {
    var elem = lista[i];
    elem.checked = false;
  }

  //Quitar el filtro del select de filtro por tiempo
  if ($('tiempo')){
    $('tiempo').value = 0;
    f.submit();
  }
}

/**
* Realitza la cerca des de la home, comprova si es realitza la cerca per
* referencia o una cerca normal.
* Si és una cerca normal es deshabilita el camp ref, per no passar-lo en la URL.
* Si es cerca per referencia realitza una crida ajax per comprovar que existeix
* la referencia i redirecciona a detalls.
*
* @param string Text per defecte que hi pot haver en el camp ref
*
* @return boolean Cert si és cerca normal, fals altrament.
*/
function searchIndex(defaultText) {

  $('messageSearchRef').innerHTML = '';
  if ($('ref') && $F('ref') != '' && $F('ref') != defaultText) {
    var pre_url = new String();
    if (script_name == '/index.php') {
      pre_url = "";
    } else {
      pre_url = script_name;
    }
    var a = new Ajax.Updater('messageSearchRef', pre_url + '/directo/searchRef', {
              parameters: { ref: $F('ref') },
              asynchronous:true,
              evalsScript:false,
              onComplete:function() {
                redirectToDetails();
               }
            });
    return false;
  } else {
	if ($('ref')) $('ref').disabled = 'disabled'; // Deshabilitem per no passar el parametre en la URL
    return true;
  }
}

/**
 * Redirecciona cap a detalles si el 'messageSearchRef' és un número (Id de l'immoble).
 * @return void
 */
function redirectToDetails() {
  
  var message = $('messageSearchRef').innerHTML;
  /* Significa que tenemos una referencia y redirigimos a detalles */
  if (message!='' && !isNaN(message)) {
	$('messageSearchRef').style.display = 'none';
    window.location = "http://" + server_name + script_name + "/details/view/id/" + message;
  /* Significa que tenemos un id de Anunciante y redirigimos a detalles */
  } else if (message.match(/^\d+\//)) {     
    $('messageSearchRef').style.display = 'none';
    window.location = "http://" + server_name + script_name + "/inmobiliarias/" + message;
  }	
}


/**
 * reloadMap.
 * Recarga el mapa general de provincies amb els paràmetres de familia i operació.
 * TODO: revisar i eliminar
 */
function reloadMap(script) {
  if (script == '') {
    script = 'index.php';
  }
  document.location = 'http://' + server_name + script + '/buscador/mapa' +
                      '?t='+$F('t')+'&o='+$F('o')+'&view=map';
}

/** TODO: revisar i eliminar */
function reloadPoblacionesMap() {
  document.location = 'http://'+server_name+'/buscador/mapaPoblaciones' +
                      '?t=' + $F('t') + '&o=' + $F('o') + '&z=' + $F('zini') +
                      '&latso=' + $F('latso') + '&lonso=' + $F('lonso') +
                      '&latne=' + $F('latne') + '&lonne=' + $F('lonne');
}

/**
 * Llança la cerca del buscador: mostra la capa de loading, fa el presubmit i
 * fa el submit del formulari.
 */
function search() {
  showLoadingPage();
  presubmit();
  $('buscar').submit();
}


/**
 * presubmit.
 * Se hacen las comprobaciones para ver si el "dónde" cambia i es deshabiliten
 * els camps si estan buits o tenen valors per defecte per reduir la URL.
 */
function presubmit(disableFields) {

  // per defecte: disableFields = true
  disableFields = typeof(disableFields) != 'undefined' ? disableFields : true;

  // Comprovar si el donde cambia.
  if ($('dold')) {
    if ($F('dold') != $F('d')) {
      // Reset filters
      var f = $('buscar');
      var lista = f.getInputs('checkbox');
      var s = lista.size();

      for (var i=0; i<s; i++) {
        var elem = lista[i];
        var id = new String(elem.id);
        // posem a false los checkboxes de extras que no siguin "sin especificar"
        if ((id.substr(0,6) == 'extra_') ||
            (id.substr(0,5) == 'tipo_') ||
            (id.substr(0,6) == 'zonas_') ||
            (id.substr(0,2) == 'e_') ||
            (id.substr(0,2) == 's_')) {
          elem.checked = false;
        }
      }
      // Es recoloca la vista a la població. Només si existeixen els camps
      if ($('latso')) $('latso').value = '';
      if ($('lonso')) $('lonso').value = '';
      if ($('latne')) $('latne').value = '';
      if ($('lonne')) $('lonne').value = '';

      // Reset del zoom
      if ($('zini')) $('zini').value = '';
    }
  }

  if (disableFields) {
    disableFieldsWithDefaultValue();
  }
}

/**
 * Deshabilita els camps si estan buits o tenen valors per defecte per reduir la URL.
 */
function disableFieldsWithDefaultValue() {

  // Deshabilitar camps buits o amb valor per defecte (camps per ids):
  if ($('f') && $F('f')=='') $('f').disabled = 'disabled'; // faceta
  if ($('r') && $F('r')=='') $('r').disabled = 'disabled'; // radio
  if ($('enctop')) $('enctop').disabled = 'disabled'; // botó encuentra (commit.x/y)
  if ($('topbuttonresults')) $('topbuttonresults').disabled = 'disabled'; // botó encuentra intl (commit.x/y)
  if ($('view') && $F('view')!='map') $('view').disabled = 'disabled'; // view
  if ($('inmo') && $F('inmo')==0) $('inmo').disabled = 'disabled'; // id_inmo_n inmobiliaria
  if ($('dold') && $F('dold')=='') $('dold').disabled = 'disabled'; // donde anterior

  if ($('p') && $F('p')=='') $('p').disabled = 'disabled'; // precio
  if ($('m') && $F('m')=='') $('m').disabled = 'disabled'; // m2 min
  if ($('num_hab') && $F('num_hab')=='') $('num_hab').disabled = 'disabled'; // habitaciones (name='h')
  if ($('num_ban') && $F('num_ban')=='') $('num_ban').disabled = 'disabled'; // baños (name='b')

  if ($('all_zonas') && $F('all_zonas')=='') $('all_zonas').disabled = 'disabled'; // barrios
  if ($('all_e') && $F('all_e')=='') $('all_e').disabled = 'disabled'; // zonas (entorno)
  if ($('all_s') && $F('all_s')=='') $('all_s').disabled = 'disabled'; // servicios (cerca de...)

  if ($('all_tipo') && $F('all_tipo')=='') $('all_tipo').disabled = 'disabled'; // tipos
  if ($('all_extra') && $F('all_extra')=='') $('all_extra').disabled = 'disabled'; // ascensor,...

  if ($('tiempo') && $F('tiempo')=='') $('tiempo').disabled = 'disabled'; // días publicado
  if ($('a') && $F('a')=='') $('a').disabled = 'disabled'; // tipo anunciante

  // Checkboxs: si estan desmarcats no s'envien a la url, no cal comprovar-ho
  //if ($('bajado') && $F('bajado')=='') $('bajado').disabled = 'disabled'; // ha bajado
  //if ($('uv') && $F('uv')=='') $('uv').disabled = 'disabled'; // urge vender/alquilar/...
  //if ($('foto') && $F('foto')=='') $('foto').disabled = 'disabled'; // ha bajado

  // obranueva i segundamano
  // si estan desmarcats no s'envien a la url
  if ($('on') && $F('on')==1 && $('sm') && $F('sm')==1) {
    // tots dos estan marcat, per defecte es busca en els dos, els deshabilitem
    $('on').disabled = 'disabled'; // on
    $('sm').disabled = 'disabled'; // sm
  }

  // order by
  if ($('orden') && ($F('orden')=='' ||
                     ($('view') && $F('view')!='map' && $F('orden')=='estrellas') ||
                     ($('view') && $F('view')=='map' && $F('orden')=='precio')))
    $('orden').disabled = 'disabled'; // orden (defecte: estrelles en list i precio en map)
  if ($('orderby') && ($F('orderby')=='' || $F('orderby')=='desc'))
    $('orderby').disabled = 'disabled'; // orderby (defecte: desc)

  // compartir
  if ($('cmp_g') && $F('cmp_g')=='') $('cmp_g').disabled = 'disabled';
  if ($('cmp_o') && $F('cmp_o')=='') $('cmp_o').disabled = 'disabled';
  if ($('cmp_f') && $F('cmp_f')=='') $('cmp_f').disabled = 'disabled';
  if ($('cmp_m') && $F('cmp_m')=='') $('cmp_m').disabled = 'disabled';

  // coordenades
  if ($('latso') && $F('latso')=='') $('latso').disabled = 'disabled';
  if ($('lonso') && $F('lonso')=='') $('lonso').disabled = 'disabled';
  if ($('latne') && $F('latne')=='') $('latne').disabled = 'disabled';
  if ($('lonne') && $F('lonne')=='') $('lonne').disabled = 'disabled';
  if ($('latini') && $F('latini')=='') $('latini').disabled = 'disabled';
  if ($('lonini') && $F('lonini')=='') $('lonini').disabled = 'disabled';
  // zoom (defecte: 13)
  if ($('zini') && ($F('zini')=='' || $F('zini')==13)) $('zini').disabled = 'disabled';
}


/**
 * ordenar.
 * Es modifiquen els valors dels camp d'ordenació i es fa submit automàticament.
 */
function ordenar(campo, dir) {
  $('orden').value = campo;
  $('orderby').value = dir;
  search();
}

/**
 * Si el camp està buit l'omple amb el txt passat.
 */
function fillField(f, txt) {

  if (f.value == '') {
    f.value = txt;
  }
}

/**
 * Si el camp conté el txt passat el borra.
 */
function clearField(f, txt) {

  if (f.value == txt) {
    f.value = '';
  }
}

/**
 * Si el camp 'ref' conté el txt passat el borra.
 */
function clearInputRef(defaultValue) {

  if ($('ref') && $F('ref') == defaultValue) {
    $('ref').value = '';
  }
}

/**
 * Si el camp 'ref' està buit l'omple amb el txt passat.
 */
function fillInputRef(defaultValue) {

  if ($('ref') && $F('ref') == '') {
    $('ref').value = defaultValue;
  }
}


/**
 * Inicializa en blanco los campos que no han sido rellenos
 */
function clearFormInmo(empresa, contacto, telefono, email) {

  if ($F('empresa') == empresa) {
    $('empresa').value = '';
  }
  if ($F('contacto') == contacto) {
    $('contacto').value = '';
  }

  if ($F('telefono') == telefono) {
    $('telefono').value = '';
  }
  if ($F('email') == email) {
    $('email').value = '';
  }
}

function initFormInmo(empresa, contacto, telefono, email) {

  if ($F('empresa') == '') {
    $('empresa').value = empresa;
  }
  if ($F('contacto') == '') {
    $('contacto').value = contacto;
  }
  if ($F('telefono') == '') {
    $('telefono').value = telefono ;
  }
  if ($F('email') == '') {
    $('email').value = email;
  }
}


/**
 * Inicializa en blanco los campos que no han sido rellenos
 */
function clearForm(idForm, nombre, apellidos, telefono, email) {

  if ($(idForm).nombre.value == nombre) {
    $(idForm).nombre.value = '';
  }
  if ($(idForm).apellidos.value == apellidos) {
    $(idForm).apellidos.value = '';
  }
  if ($(idForm).telefono.value == telefono) {
    $(idForm).telefono.value = '';
  }
  if ($(idForm).email.value == email) {
    $(idForm).email.value = '';
  }
}

/**
 * Inicializa los campos vacios o en blanco, con las traducciones
 * pasadas por parámetro
 */
function initForm(idForm, nombre, apellidos, telefono, email) {

  if ($(idForm).nombre.value == '') {
    $(idForm).nombre.value = nombre;
  }
  if ($(idForm).apellidos.value == '') {
    $(idForm).apellidos.value = apellidos;
  }
  if ($(idForm).telefono.value == '') {
    $(idForm).telefono.value = telefono ;
  }
  if ($(idForm).email.value == '') {
    $(idForm).email.value = email;
  }
}

function openClose(id) {

  if ($(id).className == "hidden") {
    $(id).className = '';
  } else {
    $(id).className = 'hidden';
  }
}

function openForm(id) {
  $(id).className = '';
}

function copyValue(source, dest) {

  if (($(dest)) && ($(source))) {
    $(dest).value = $(source).value;
  }
}

function disableCaptaciones(state) {
  $("nombre").disabled=state;
  $("apellidos").disabled=state;
  $("telefono").disabled=state;
  $("email").disabled=state;
  $("operacion").disabled=state;
  $("direccion").disabled=state;
  $("precio").disabled=state;
  $("m2utiles").disabled=state;
  $("captcha").disabled=state;
  if($("zona")) {
    $("zona").disabled=state;
  }
  $("btcontinuar").disabled=state;
}

/*
 * Función para solucionar bug de borders en calcular plan,
 * cuando se selecciona plan azul, pinta un border.
 */
function trickPlanAzul(plan) {

  if (plan == 'azul') {
    $("trickplanazul").className = "";
  } else {
    $("trickplanazul").className = "hidden";
  }
}

/**
* Actualiza el contenido de element mediante JSON y
* cambia el padre para que sea visible.
* No s'utilitza actualment.
*/
function updateHipotecas(request, element) {
  var jsonContent = eval("("+request.responseText+")");
  for (var i = 0; i < jsonContent.results.length; i++)
  {
    if(jsonContent.results[i].data != '') {
      $(jsonContent.results[i].id).style.display = "block";
      $(jsonContent.results[i].id).getElementsByTagName(element)[0].innerHTML = jsonContent.results[i].data;
    }
  }
}

/**
* Enlaza con los detalles de una hipoteca de Bankimia
* mediante el formulario correspondiente
*/
function bankimiaDetalles(url)
{
  $("detallesHipotecas").action = url;
  $("det_url2").value = document.location;
  $("detallesHipotecas").submit();
}

/**
* Prepara los parámetros para enviarlos a
* la url de bankimia para construir el breadcrumb
*/
function bankimiaComparar(url)
{
  var params = new String('');
  var valor = new String('');
  var cod_comander = new String('');

  var f = $('compararHipotecas');
  var lista = f.getInputs('checkbox');
  s = lista.size();
  for (var i=0; i<s; i++) {
    if (lista[i].checked == true){
      valor = new String (lista[i].value);
      params += '/' + valor;
    }
  }
  $("comp_url1").value = $("det_url1").value;
  $("comp_url2").value = document.location;
  $("comp_text1").value = $("det_text1").value;
  $("comp_text2").value = $("det_text2").value;
  cod_cobrander = "?rf=" + $("rf").value;
  $("compararHipotecas").action = url + params + cod_cobrander;
  $("compararHipotecas").submit();
}

/**
 * Obre la capa del login.
 * En esta función no se utiliza prototype debido a que se ejecuta en todas las páginas
 * y puede ser que no tenga cargada la libreria
 */
function openLogin() {
  if (navigatorIsIE6()) {
    // Amagar els selects que es solapen (veuen per sobre) amb la capa de login
    if (document.getElementById('r')) {
    	document.getElementById('r').style.visibility = "hidden";
    }
  }
  document.getElementById('panel_login').style.display = "block";
  closeRegister();
}

/**
 * Amaga la capa del login.
 * En esta función no se utiliza prototype debido a que se ejecuta en todas las páginas
 * y puede ser que no tenga cargada la libreria
 */
function closeLogin() {
  document.getElementById('panel_login').style.display = "none";
  if (navigatorIsIE6()) {
    // Mostrar els selects que es solapaven amb la capa de login
    if (document.getElementById('r')) {
    	document.getElementById('r').style.visibility = "visible";
    }
  }
}

function openRegister() {
  document.getElementById('panel_register').style.display = "block";
  closeLogin();
}

function closeRegister() {
  document.getElementById('panel_register').style.display = "none";
}

function displayActionsResults() {

  if($('results_actions_block')) {
    $('results_actions_block').className = "hidden";
  }
}


/**
 * Obre el panell on hi han els links d'ordenació.
 * @return void
 */
function openPanelOrder() {
  $('panelorder').style.display = "block";
}

/**
 * Tanca el panell on hi han els links d'ordenació.
 * @return void
 */
function closePanelOrder() {
  $('panelorder').style.display = "none";
}



function openPanelConsultas() {
  $('panelconsultas').style.display = "block";
}

/**
 * Tanca el panell de consultas.
 * @return void
 */
function closePanelConsultas() {
  $('panelconsultas').style.display = "none";
}

/**
 * Mostra la capa de "Actualizando".
 * @return void
 */
function showLoadingPage() {

  var el = document.getElementById("loadingpage");
  var cont = document.getElementById("cloadingpage");
  var container = document.getElementById("container");
  if (el) {
    //Obtenermos las medidas actuales de la barra buscador
    el.style.width = '99.9%';
    el.style.height = container.offsetHeight + 'px';
    cont.style.width = '99.9%';
    cont.style.height = getBodyWidth() + 'px';
    el.style.display = "block";
  }

  if (navigatorIsIE6()) {
	// Amagar els selects que es solapen (veuen per sobre) amb la capa de loading
    if(document.getElementById('country')) {
      document.getElementById('country').style.visibility = "hidden";
    }
    if(document.getElementById('lang')) {
      document.getElementById('lang').style.visibility = "hidden";
    }
    if(document.getElementById('o')) {
      document.getElementById('o').style.visibility = "hidden";
    }
    if(document.getElementById('t')) {
      document.getElementById('t').style.visibility = "hidden";
    }
    if(document.getElementById('r')) {
      document.getElementById('r').style.visibility = "hidden";
    }
    if(document.getElementById('tipos_perfil')) {
      document.getElementById('tipos_perfil').style.visibility = "hidden";
    }
    if(document.getElementById('num_hab')) {
      document.getElementById('num_hab').style.visibility = "hidden";
    }
    if(document.getElementById('num_ban')) {
      document.getElementById('num_ban').style.visibility = "hidden";
    }
    if(document.getElementById('p')) {
        document.getElementById('p').style.visibility = "hidden";
    }
    if(document.getElementById('tiempo')) {
        document.getElementById('tiempo').style.visibility = "hidden";
    }
    if(document.getElementById('a')) {

        document.getElementById('a').style.visibility = "hidden";
    }
  }
}

/**
 * Obté l'amplada de la finestra.
 * @return integer Width
 */
function getBodyWidth() {
  var myWidth = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
  }
  return myWidth;
}

function goToInmueblesGuardados(url) {
  document.location.href= 'http://' + url;
}

function goToBusquedasGuardadas(url) {
  document.location.href= 'http://' + url;
}

function include_highslide() {
  hs.transitions = ['expand', 'crossfade'];
  hs.outlineType = 'rounded-white';
  hs.fadeInOut = true;
  hs.dimmingOpacity = 0.60;
  hs.align = 'center';
  hs.contentId = 'frame_results';
  //hs.height =  260;
  hs.minHeight = 260;
  hs.width = 440;

  // Add the controlbar
  if (hs.addSlideshow) hs.addSlideshow({
    slideshowGroup: [1, 'fotos', 'zoom', 'fotos2', 'zoom2'],
    interval: 5000,
    repeat: false,
    useControls: true,
    fixedControls: 'fit',
    overlayOptions: {
      opacity: .6,
      position: 'bottom center',
      hideOnMouseOut: false
    }
  });
}

/**
 * Al cerrar una ventana highslide recargar la página padre.
 */
function highslide_refresh_onclose() {
  hs.close = function(el){
    parent.window.location.reload();
    var exp = hs.getExpander(el);
    if (exp) exp.close();
    return false;
  };
}

/**
* Se deshabilita los botones de contacto individuales cuando se han contactado todos
* los anunciantes a la vez (botón "contactar todos"), para que no pueda volver a contactar.
*/
function hideRowInteresados() {
  $('rowInteresados').style.display = 'none';
}

/**
 * Afegeix un punt cada 3 digits per la dreta en una cadena numérica.
 */
function addCommas(nStr) {
  nStr += '';
  x = nStr.split(',');
  x1 = x[0];
  x2 = x.length > 1 ? ',' + x[1] : '';
  var rgx = /(\d+)(\d{3})/;
  while (rgx.test(x1)) {
    x1 = x1.replace(rgx, '$1' + '.' + '$2');
  }
  return x1 + x2;
}

/**
 * Formateja un camp d'àrea afegint els punts dels milers.
 */
function formatArea(field) {
  var str = new String($F(field));
  var frt = addCommas(str.gsub(/\./, ''));
  $(field).value = frt;
}

/**
 * Formatea el precio en el formulario de bolsa encontramos por tí.
 */
function formatContactPrice(field, txt) {
  if (field.value == '') {
    field.value = txt;
  } else {
    var str = new String($F(field));
    var frt = addCommas(str.gsub(/\./, '')); //buidem els punts
    var enter = frt.split(',');
    $(field).value = enter[0]; //retornem la part entera
  }
}

/**
 * Abrir el filtro multiselector
 */
function desplegarMS(msContainer) {

  // Amagar els selects que es solapen (trick IE6)
  if (navigatorIsIE6()) {
    if ($('tiempo') && tapaElemento($(msContainer.id), $('tiempo'))) {
      $('tiempo').style.visibility = "hidden";
    }
    if ($('a') && tapaElemento($(msContainer.id), $('a'))) {
      $('a').style.visibility = "hidden";
    }
  }
  msContainer.className = "desplegado";
  $('container').observe('click', plegarMS);
}

/**
 * Cerrar el filtro multiselector
 */
function plegarMS(event) {

  var msContainers = $('containersearch').getElementsByClassName('desplegado');
  if (msContainers.length > 0) {
	var el = Event.element(event);
	for (i=0; i < msContainers.length; i++) {
      var msContainer_id = msContainers[i].id;
      if(!(el.id == msContainer_id || el.descendantOf(msContainer_id))){
        if (haCambiadoChecks()) {
          search();
        } else {
          $(msContainer_id).className = '';

    	  // Mostrar de nou els selects que es solapaven (trick IE6)
    	  if (navigatorIsIE6()) {
    		if ($('tiempo') && !tapaElemento(el, $('tiempo'))) {
    	      $('tiempo').style.visibility = "visible";
    	    }
    	    if ($('a') && !tapaElemento(el, $('a'))) {
    	      $('a').style.visibility = "visible";
    	    }
    	  }
        }
      }
    }
  } else {
    $('container').stopObserving('click', plegarMS);
  }
}

/**
 * Mira si el estado de los checkbox de
 * la página es diferente al guardado
 */
function haCambiadoChecks() {

  var lista = estadoActualCheckbox();
  return (lista != checkboxIniciales);
}

/**
 * Guarda serializado el estado de los checkbox
 * del formulario de búsqueda
 */
function guardarEstadoCheckbox() {

  checkboxIniciales = estadoActualCheckbox();
}

/**
 * Devuelve el estado actual de los checkbox
 * del formulario de búsqueda
 * (sin obra_nueva y segunda_mano)
 */
function estadoActualCheckbox() {

  var todosChecks = $('buscar').getInputs('checkbox');
  var s = todosChecks.size();
  var marcados = [];

  for (var i=0; i<s; i++) {
    elem = todosChecks[i];
    id = new String(elem.id);
    if ( elem.checked == true &&
    	(id.substr(0,6) == 'zonas_' ||
    	 id.substr(0,6) == 'extra_' ||
    	 id.substr(0,5) == 'tipo_' ||
    	 id.substr(0,2) == 'e_' ||
    	 id.substr(0,2) == 's_')) {
      marcados[i] = id;
    }
  }
  return marcados.join(",");
}

/**
 * Marca el tipo 'Todos' y desmarca los demás.
 * Usado en cambiar el Tipo Inmueble de filtros principales.
 */
function limpiarTipos() {
	if ($('all_tipo')) {
	  $('all_tipo').checked = true;
	  checkTodos('tipo');
	}
}

/**
 * Marca el barrio 'Todos' y desmarca los demás.
 * Usado en cambiar a la Vista Mapa.
 */
function limpiarBarrios() {
  if ($('all_zonas')) {
    $('all_zonas').checked = true;
    checkTodos('zonas');
  }
}

/**
 * Comprova si el navegador és Internet Explorer 6
 *
 * @return boolean Cert si és IE6, fals altrament.
 */
function navigatorIsIE6() {
  return (navigator.appName == "Microsoft Internet Explorer" &&
          (typeof document.body.style.maxHeight == "undefined"));
}

/**
 * Si se está tapando o no un input con un desplegable,
 * da problemas en IE6 y por eso hay que ocultar el input.
 *
 * @param object desplegado
 * @param object tapado
 * @return boolean
 */
function tapaElemento(desplegado, tapado) {

  // Si no existe el elemento que puede ser tapado no hay problema
  if (!tapado) {
    return false;
  }
  var tapaA = new Array();
  if (tapado.id == 'a') {
	  tapaA = new Array('msContainer_s', 'msContainer_e');
  }else if (tapado.id == 'tiempo') {
	  tapaA = new Array('msContainer_e', 'msContainer_zonas');
  }

  if (tapaA.length > 0) {
    for (i = 0; i < tapaA.length; i++) {
      if (desplegado.id == tapaA[i] || desplegado.descendantOf(tapaA[i])){
        return true;
      }
    }
  }
  return false;
}

function submitToHighslide(form) {

   hs.graphicsDir = 'http://images.yaencontre.com/highslide/';

   // identify the submit button to start the animation from
   var anchor;
   for (var i = 0; i < form.elements.length; i++) {
     if (form.elements[i].type == 'submit') {
       anchor = form.elements[i];
       break;
     }
   }
  // open an expander and submit our form when the iframe is ready
  hs.overrides.push('onAfterExpand');
  hs.htmlExpand(anchor, {
    objectType: 'iframe',
    src: 'about:blank',
    height: 260,
    objectHeight: 565,
    onAfterExpand: function(expander) {
      form.target = expander.iframe.name;
      form.submit();
    }
  });

  // return false to delay the sumbit until the iframe is ready
  return false;
}

