function activateSectionDetails(section) {

  activateTabsDetails(section);
  deactiveSection('general');
  deactiveSection('map');
  deactiveSection('media');
  deactiveSection('contact');
  deactiveSection('promociondetails');
  deactiveSection('similares');
  $(section).className = 'on';
}

/* Desactiva una seccion */
function deactiveSection(obje) {

   if ($(obje)) {
    $(obje).className = "off";
  }
}

function activateTabsDetails(tab){

  var acttab = new String('tab' + tab);
  var spantab = new String('span' + tab);
  deactiveTabDetails('general');
  deactiveTabDetails('map');
  deactiveTabDetails('media');
  deactiveTabDetails('contact');
  deactiveTabDetails('promociondetails');
  deactiveTabDetails('similares');
  document.getElementById(acttab).className = 'tab_on';
  document.getElementById(spantab).className = 'corner_left_on';
}

/**
* Desactiva una pesta�a principal de detalles
*/
function deactiveTabDetails(section) {

  var acttab = new String('tab' + section);
  var spantab = new String('span' + section);
  if(document.getElementById(acttab)) {
    document.getElementById(acttab).className = 'tab_off';
    document.getElementById(spantab).className = 'corner_left_off';
  }
}


 /* Funciones que manejan las pesta�as de media */

function activateTabsMedia (section){

  var acttab = new String('tab' + section);
  changeStatusTabMedia('tabphotos');
  changeStatusTabMedia('tabvirtualtour');
  changeStatusTabMedia('tabvideos');
  changeStatusTabMedia('tabothers');
   /* S�lo cambiamos la clase de la pesta�a si est� disponible o activa*/
  if (document.getElementById(acttab).className != 'disable') {
    document.getElementById(acttab).className = 'active';
  }
}

function changeStatusTabMedia(tab) {
  /* S�lo cambiamos la clase de la pesta�a si est� disponible o activa*/
  if ($(tab).className != 'disable') {
    $(tab).className = 'enable';
  }
}

function activateSectionMedia (section){

  /* Si una pesta�a tiene una clase desactivada no le dejamos cambiar */
  var acttab = new String('tab' + section);
  if (document.getElementById(acttab).className == 'disable') {
    return true;
  }
  activateTabsMedia (section);
  $('photos').className = 'hidden';
  $('virtualtour').className = 'hidden';
  $('videos').className = 'hidden';
  $('others').className = 'hidden';
  $(section).className = 'block';
}

 /* fin funciones pesta�as media */

 /* Funciones que manejan las pesta�as de promocion */
function activateSectionPromo (section){

  /* Si una pesta�a tiene una clase desactivada no le dejamos cambiar */
  var acttab = new String('tab' + section);
  if (document.getElementById(acttab).className == 'disable') {
    return true;
  }
  activateTabsPromo (section);
  $('datapromo').className = 'hidden';
  $('mediapromo').className = 'hidden';
  $('inmueblespromo').className = 'hidden';
  $('memoriapromo').className = 'hidden';
  $('hipotecapromo').className = 'hidden';
  $(section).className = 'block';

  if (section == 'datapromo') {
    $('fotopromo').className = 'fotopromo';
  } else {
    $('fotopromo').className = 'hidden';
  }
}

function activateTabsPromo (section){

  var acttab = new String('tab' + section);
  changeStatusTabPromo('tabdatapromo');
  changeStatusTabPromo('tabmediapromo');
  changeStatusTabPromo('tabinmueblespromo');
  changeStatusTabPromo('tabmemoriapromo');
  changeStatusTabPromo('tabhipotecapromo');
   /* S�lo cambiamos la clase de la pesta�a si est� disponible o activa*/
  if (document.getElementById(acttab).className != 'disable') {
    document.getElementById(acttab).className = 'active';
  }
}

function changeStatusTabPromo(tab) {
  /* S�lo cambiamos la clase de la pesta�a si est� disponible o activa*/
  if ($(tab).className != 'disable') {
    $(tab).className = 'enable';
  }
}

function printDetails() {

  activateGoogleMaps();
  window.print();
}

function disablePhotos() {

  if ($('disablephotos')) {
    var h1 = new Number($('photos').offsetHeight);
   // $('photos').style.height = h1;
  }
}

/**
* Funci�n que se ejecuta cuando se acaba de descargar la p�gina de detalles. B�sicamente, se encarga de
* habilitar los enlaces de las fotos (ocultar la capa que se sobrepone a las fotos)
*/
function enablePhotos() {

  if ($('disablephotos')) {
    $('disablephotos').className='hidden';
  }
}

/**
* Ordenaci�n por las columnas en el comparador de hipotecas
* de Bankimia
*/
function ordenHipotecas(field){

  if ($('sortby').value == field) {
    var currOrder = new Number($('order').value);
    $('order').value = ( currOrder + 1)%2;
  } else {
    $('sortby').value = field;
    $('order').value = 0;
  }
  $('calcularHipoteca').click();
}

/**
 * Paginación de la lista de las hipotecas
 */
function setListaPag(pag_a_cargar) {
  $('page').value =  pag_a_cargar;
  $('calcularHipoteca').click();
}

/**
  * Recalcula el prestamo y el efectivo segun los cambios
  */
 function syncPrize(modificado) {
   importe = $('importe').value;
   prestamo = $('prestamo').value;
   efectivo = $('efectivo').value;
   
   if (modificado.id == 'efectivo'){
     if (isNaN(modificado.value)){
       $('prestamo').value =  0;
     } else {
       $('prestamo').value =  importe - efectivo;	 
     }
   } else {
     if (isNaN(modificado.value)){
       $('efectivo').value =  0;
     } else {
       $('efectivo').value =  importe - prestamo;	 
     }
   }
 }
  

/**
 * Actualiza varios campos según el nuevo importe
 */
function syncAllPrize(importe, porcentaje) {
      
  if (isNaN(importe.value)){
    $('prestamo').value = 0;
    $('efectivo').value = 0;
    $('p').value = 0;
    $('priceToSearch').innerHTML = 0;
  } else {
    $('prestamo').value = importe.value * porcentaje;
    $('efectivo').value = importe.value * (1 - porcentaje);
    $('p').value = importe.value;
    $('priceToSearch').innerHTML = addCommas(importe.value) + ' &euro;';
  }
}

  
/**
* Habilita el bot�n de comparar si hay entre dos y cuatro productos
* seleccionados en el comparador de Hipotecas de Bankimia
*/
function activarCompararHipotecas(){
  var f = $('compararHipotecas');
  var lista = f.getInputs('checkbox');
  s = lista.size();
  sc = 0;
  for (var i=0; i<s; i++) {
    var elem = lista[i];
    if (elem.checked == true) {
      sc++;
    }
  }
  if( sc < 2){
    $('btnComparar').disabled = true;
    $('container_aviso_comparar').className = 'hidden';
  }else if(sc > 4){
    $('btnComparar').disabled = true;
    $('container_aviso_comparar').className = '';
  } else {
    $('btnComparar').disabled = false;
    $('container_aviso_comparar').className = 'hidden';
  }
}

function openConfirmInmueble() {

  if(document.getElementById('confirm_inmueble')) {
    document.getElementById('confirm_inmueble').style.display = "block";
  }
  if(document.getElementById('alertas_inmueble')) {
    document.getElementById('alertas_inmueble').style.display = "none";
  }
}

function openConfirmInmuebleSolicitud(){
  if(document.getElementById('confirm_inmueble_solicitud')) {
    document.getElementById('confirm_inmueble_solicitud').style.display = "block";
  }
  if(document.getElementById('alertas_inmueble_solicitud')) {
    document.getElementById('alertas_inmueble_solicitud').style.display = "none";
  }
}

function closeConfirmInmueble() {

  if(document.getElementById('confirm_inmueble')) {
    document.getElementById('confirm_inmueble').style.display = "none";
  }
}

function closeConfirmInmuebleSolicitud() {

  if(document.getElementById('confirm_inmueble_solicitud')) {
    document.getElementById('confirm_inmueble_solicitud').style.display = "none";
  }
}

function openAlertasInmueble() {

  if(document.getElementById('alertas_inmueble')) {
    document.getElementById('alertas_inmueble').style.display = "block";
  }
  if(document.getElementById('confirm_inmueble')) {
    document.getElementById('confirm_inmueble').style.display = "none";
  }
  if(document.getElementById('alertas_inmueble_solicitud')) {
    document.getElementById('alertas_inmueble_solicitud').style.display = "none";
  }
}

function openAlertasInmuebleSolicitud(){
  if(document.getElementById('alertas_inmueble_solicitud')) {
    document.getElementById('alertas_inmueble_solicitud').style.display = "block";
  }
  if(document.getElementById('confirm_inmueble_solicitud')) {
    document.getElementById('confirm_inmueble_solicitud').style.display = "none";
  }
  if(document.getElementById('alertas_inmueble')) {
    document.getElementById('alertas_inmueble').style.display = "none";
  }
}

function closeAlertasInmueble() {
  if(document.getElementById('alertas_inmueble')) {
    document.getElementById('alertas_inmueble').style.display = "none";
  }
}

function closeAlertasInmuebleSolicitud() {
  if(document.getElementById('alertas_inmueble_solicitud')) {
    document.getElementById('alertas_inmueble_solicitud').style.display = "none";
  }
}

/**
* formatPrice.
* Es buiden punts si n'hi ha i retornem la part entera.
*/
function formatPrice(field) {

  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
}

function calcularHipoteca() {
  var plazo = $F('plazo') * 12;
  var interes = $F('interes') / 12;

  if (interes == 0) {
    $('cuota').value = 0;
  } else {
    var num = $F('precio') * interes;
    var den = 100 * (1 - Math.pow(1+(interes/100), -plazo));
    var hip = new Number(num / den);
    $('cuota').value = addCommas(hip.toFixed(0));
  }
}
 /**
 * No mostramos formulario de contacto del footer una vez
 * enviada solicitud con el formulario de la derecha en ficha de detalles.
 */
function closeFormFooter() {
  if ($('requestinfoFooter')){
    $('requestinfoFooter').style.display = 'none';
  }
}

 /**
 * No mostramos formulario de contacto de la derecha una vez
 * enviada solicitud con el formulario del pie en ficha de detalles.
 */
function closeFormRight() {
  if ($('masInfoFormRight')){
    $('masInfoFormRight').style.display = 'none';
  }
}
 

