/**
 * Aï¿½ade un valor por defecto si no se ha informado el campo
 */
function fillField(f, txt) {

  if (f.value == '') {
    f.value = txt;

  }
}


/**
 * Limpia el campo del valor por defecto
 */
function clearField(f, txt) {

  if (f.value == txt) {
    f.value = '';

  }
}

/**
 *   Inicializa en blanco los campos que no han sido rellenos y que tienen los valores
 *  por defecto.
 */
function clearFormInmo(objectsIds, defaultValues) {

  for (i=0; i<objectsIds.length; i++) {
    var obj = document.getElementById(objectsIds[i])
    if (obj.value == defaultValues[i]) {
      obj.value = '';
    }
  }
}

 /**
  * Muestra capa de cargando
  */
function showLoadingPage(container) {
  var el = document.getElementById("loadingpage");
  var cont = document.getElementById("cloadingpage");
  var retObj = getPageSize();

  el.style.width = retObj.width+"px";
  el.style.height = retObj.height+"px";
  el.style.display = "block";
  cont.style.height = retObj.pageHeight+"px";
  cont.style.width = retObj.pageWidth+"px";
  cont.style.display = "block";

  // trick para detectar IE6: Se utliza para nasconder los combos. que en IE6
  //  estarían delante el div (bug IE6)
  if(navigator.appName == "Microsoft Internet Explorer" &&
    (typeof document.body.style.maxHeight == "undefined")){

    if(document.getElementById('pmax')) {
      document.getElementById('pmax').style.visibility = "hidden";
    }
    if(document.getElementById('pmin')) {
      document.getElementById('pmin').style.visibility = "hidden";
    }
  }
}

/**
 * Se utiliza por detectar la dimensión de la página y dimensionar la capa de "loading"
 *  correctamente.
 */
function getPageSize() {
  var d = document, w = window, iebody = d.compatMode && d.compatMode != 'BackCompat'
    ? d.documentElement : d.body;

  var b = d.body;
  var xScroll = (w.innerWidth && w.scrollMaxX)
      ? w.innerWidth + w.scrollMaxX : Math.max(b.scrollWidth, b.offsetWidth),
    yScroll = (w.innerHeight && window.scrollMaxY)
      ? w.innerHeight + w.scrollMaxY : Math.max(b.scrollHeight, b.offsetHeight),
    pageWidth = hs.ie ? iebody.scrollWidth :
      (d.documentElement.clientWidth || self.innerWidth),
        pageHeight = hs.ie ? Math.max(iebody.scrollHeight, iebody.clientHeight) :
      (d.documentElement.clientHeight || self.innerHeight);

  var width = hs.ie ? iebody.clientWidth :
      (d.documentElement.clientWidth || self.innerWidth),
    height = hs.ie ? iebody.clientHeight : self.innerHeight;

  return {
    pageWidth: Math.max(pageWidth, xScroll),
    pageHeight: Math.max(pageHeight, yScroll),
    width: width,
    height: height,
    scrollLeft: hs.ie ? iebody.scrollLeft : pageXOffset,
    scrollTop: hs.ie ? iebody.scrollTop : pageYOffset
  }

}

/**
 * Esta función cierra el bocadillo de highslide y llama la función para mostrar
 * el gif de "carregando". Se utiliza en la pantalla de los resultados.
 */
function closeHighslidePopUp_results(expander) {

  hs.close(expander);
  showLoadingPage();
  return true;
}

/**
 * Función generica para cerrar un pop up modal de highslide.
 */
function closeHighslide(expander) {
  hs.close(expander);
  return true;
}

function closeParentAndGoTo(url){
  document.location.href= url;
}