
// ABRIR VENTANAS (cuidado que hemos puesto window.document.open y funciona bien. NO CAMBIAR POR open ni window.open que choca con el outllok.js
function MM_openBrWindow(theURL,winName,features) { 
  window.document.open(theURL,winName,features);
}


function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerwidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerwidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);


// MOSTRAR OCULTAR CAPAS
function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}



// IR A DIRECCION URL
function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

// MOSTRAR MENSAJE "ESPERE, POR FAVOR"
function MostrarEspere(){
	divEspere.style.display = ""
}



function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}





// MENSAJES DE ALERTA
function MM_popupMsg(msg) { //v1.0
  alert(msg);
}




function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}



function aReload() {
   location.reload(true);
   }

 function startReload() {
   aTimer = setTimeout("aReload()", 5000);
   }

 function stopReload() {
   clearTimeout(aTimer);
   }
   
   
   
// FUNCION PARA IMAGENES DE SUSTITUCION  
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


// FUNCION PARA MOSTRAR PAGINAS EN IFRAME
function OK_loadit(url,layerObjNS, width) { 
 if (document.layers){
         document.layers[layerObjNS].load(url, width);
    } else{
         if (window.frames.length > -1){
             window.frames[layerObjNS].location.href = url;
}
}
document.MM_returnValue = false;
}

// FUNCIONES PARA CHEQUEAR Y DES-CHEQUEAR EL CHECBOX "field"
function checkAll(field) {
	if (field.length == null){
		field.checked = true
	}
	else {
		for (i = 0; i < field.length; i++)
		  field[i].checked = true;
	}
}

function uncheckAll(field) {
	if (field.length == null){
		field.checked = false
	}
	else {
		for (i = 0; i < field.length; i++)
		  field[i].checked = false;
	}
}

// EXPANDIR Y COMPRIMIR NODOS EN LAS LISTAS JERARQUICAS
function expandirNivel(parametros){
	var cad= new String(location.href);
	location.href = cad.split("?")[0] + "?accion=expandir&" + parametros;
}
function comprimirNivel(parametros){
	var cad= new String(location.href);
	location.href = cad.split("?")[0] + "?accion=comprimir&" + parametros;
}

// ELIMINAR UNA COLUMNA DE UNA TABLA
function quitarColumnaTabla(tablaId, numColumna){
	var tabla = document.getElementById(tablaId);
	var i;
	for (i=0; i< tabla.rows.length; i++) {
		tabla.rows[i].deleteCell(numColumna);
	}
}

// Cambiar fecha a formato dd/mm/aaaa
function fecha_dd_mm_aaaa(fecha) {
	var mydate=fecha;
	var year=mydate.getYear();
	if (year < 1000)
		year+=1900;
	var day=mydate.getDay();
	var month=mydate.getMonth()+1;
	if (month<10)
		month="0"+month;
	var daym=mydate.getDate();
	if (daym<10)
		daym="0"+daym;
	return daym+"/"+month+"/"+year;
}

// Cambiar fecha a formato dd/mm/aaaa mas un dia
function fecha_dd_mm_aaaaplus(fecha) {
	var mydate=fecha;
	///////////////////////
	mydate.setTime(mydate.getTime() + 86400000);
	///////////////////
	var year=mydate.getYear();
	if (year < 1000)
		year+=1900;
	var day=mydate.getDay();
	var month=mydate.getMonth()+1;
	if (month<10)
		month="0"+month;
	var daym=mydate.getDate();
	if (daym<10)
		daym="0"+daym;
	return daym+"/"+month+"/"+year;
}
 
// DEVOLVER EL VALOR DE UN PARAMETRO DE LA URL
function getParametroURL(parametro) {
	var cad = new String(location.href);
 	var cad1 = new String(cad.split(parametro)[1]);
	var cad2 = new String(cad1.split("&")[0]);
	if (cad2 != "undefined") 
		return cad2.substring(1); // quitar "="
	else
		return "";
}

function aceptarEuros(control, evt){	
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57, ','=44
var nav4 = window.Event ? true : false;
var key = nav4 ? evt.which : evt.keyCode;	
var ret = true;
var cad= new String(control.value);
var decimales = 0;
if (cad.split(',').length >1)
  decimales = cad.split(',')[1].length;
ret= ((key <= 13 || (key >= 48 && key <= 57)) || (key==44 && cad.indexOf(',')==-1)) && (decimales <=1);
return ret;
}
// MOSTRAR U OCULTAR PANEL DE CRITERIOS DE FILTRADO Y ORDENACION
function AlternarPanelCriterios(){
	if(divQueryWindow.style.display == "")
	{
		divQueryWindow.style.display = "none"
		lblShowHide.innerText = "Mostrar Filtros"
	}
	else
	{
		divQueryWindow.style.display = ""
		lblShowHide.innerText = "Ocultar Filtros"
	}
}
// Chequeo de formularios
function YY_checkform() { //v4.66
//copyright (c)1998,2002 Yaromat.com
  var args = YY_checkform.arguments; var myDot=true; var myV=''; var myErr='';var addErr=false;var myReq;
  for (var i=1; i<args.length;i=i+4){
    if (args[i+1].charAt(0)=='#'){myReq=true; args[i+1]=args[i+1].substring(1);}else{myReq=false}
    var myObj = MM_findObj(args[i].replace(/\[\d+\]/ig,""));
    myV=myObj.value;
    if (myObj.type=='text'||myObj.type=='password'||myObj.type=='hidden'){
      if (myReq&&myObj.value.length==0){addErr=true}
      if ((myV.length>0)&&(args[i+2]==1)){ //fromto
        var myMa=args[i+1].split('_');if(isNaN(myV)||myV<myMa[0]/1||myV > myMa[1]/1){addErr=true}
      } else if ((myV.length>0)&&(args[i+2]==2)){
          var rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-z]{2,4}$");if(!rx.test(myV))addErr=true;
      } else if ((myV.length>0)&&(args[i+2]==3)){ // date
        var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);
        if(myAt){
          var myD=(myAt[myMa[1]])?myAt[myMa[1]]:1; var myM=myAt[myMa[2]]-1; var myY=myAt[myMa[3]];
          var myDate=new Date(myY,myM,myD);
          if(myDate.getFullYear()!=myY||myDate.gethate()!=myD||myDate.getMonth()!=myM){addErr=true};
        }else{addErr=true}
      } else if ((myV.length>0)&&(args[i+2]==4)){ // time
        var myMa=args[i+1].split("#"); var myAt=myV.match(myMa[0]);if(!myAt){addErr=true}
      } else if (myV.length>0&&args[i+2]==5){ // check this 2
            var myObj1 = MM_findObj(args[i+1].replace(/\[\d+\]/ig,""));
            if(myObj1.length)myObj1=myObj1[args[i+1].replace(/(.*\[)|(\].*)/ig,"")];
            if(!myObj1.checked){addErr=true}
      } else if (myV.length>0&&args[i+2]==6){ // the same
            var myObj1 = MM_findObj(args[i+1]);
            if(myV!=myObj1.value){addErr=true}
      }
    } else
    if (!myObj.type&&myObj.length>0&&myObj[0].type=='radio'){
          var myTest = args[i].match(/(.*)\[(\d+)\].*/i);
          var myObj1=(myObj.length>1)?myObj[myTest[2]]:myObj;
      if (args[i+2]==1&&myObj1&&myObj1.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
      if (args[i+2]==2){
        var myDot=false;
        for(var j=0;j<myObj.length;j++){myDot=myDot||myObj[j].checked}
        if(!myDot){myErr+='* ' +args[i+3]+'\n'}
      }
    } else if (myObj.type=='checkbox'){
      if(args[i+2]==1&&myObj.checked==false){addErr=true}
      if(args[i+2]==2&&myObj.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
    } else if (myObj.type=='select-one'||myObj.type=='select-multiple'){
      if(args[i+2]==1&&myObj.selectedIndex/1==0){addErr=true}
    }else if (myObj.type=='textarea'){
      if(myV.length<args[i+1]){addErr=true}
    }
    if (addErr){myErr+='* '+args[i+3]+'\n'; addErr=false}
  }
  if (myErr!=''){alert('Error:\t\t\t\t\t\n\n'+myErr)}
  document.MM_returnValue = (myErr=='');
}
// ******************* VALIDAR SOLO NUMEROS ********************
var nav4 = window.Event ? true : false;
function SoloNumeros(evt){	
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57	
var key = nav4 ? evt.which : evt.keyCode;	
return (key <= 13 || (key >= 48 && key <= 57));
}

// *********************** VALIDAR Email ************************
function ValidarEmail()
{
  if (reserva.txDPEmail.value.indexOf('@', 0) == -1 ||
      reserva.txDPEmail.value.indexOf('.', 0) == -1)
  { alert("Dirección de e-mail inválida"); reserva.txDPEmail.focus(); return; }
  

}
// *********************** Comparar Fechas ************************
function comparafechas(i,f) {
var now = new Date();
var hoy = now;
var inicio = new Date(i);
var fin = new Date(f);

if (inicio=="" ){
	alert ("Fechas Inicio incompleta \nseleccione del calendario");
	open('Calendario.htm?field=txFechaInicio?format=0','date','width=190,height=210,left=0,top=0');
}
if (inicio=="" ){
	alert ("Fechas Final incompleta \nseleccione del calendario");
	open('Calendario.htm?field=txFechaFin?format=0','date','width=190,height=210,left=0,top=0');
}
if (fin<hoy){
	 alert ("La Fecha Fin no puede ser Anterior a la fecha actual");
	 reserva.txFechaFin.value="";
	open('Calendario.htm?field=txFechaFin?format=0','date','width=190,height=210,left=0,top=0');
	 }
if (inicio<hoy){
	alert ("La Fecha de Inicio no puede ser Anterior a la fecha actual");
	reserva.txFechaInicio.value="";
	open('Calendario.htm?field=txFechaInicio?format=0','date','width=190,height=210,left=0,top=0');
	 }
if (inicio>fin){
	alert ("La Fecha Fin no puede ser anterior a la Fecha de Inicio de Estancia");
	reserva.txFechaFin.value="";
	open('Calendario.htm?field=txFechaFin?format=0','date','width=190,height=210,left=0,top=0');
	}

}
