function compruebaMailBoletin(){
  var email = document.boletinrincones.email.value;
  var alerta="ĦEl formato del email es incorrecto!";
 
  if (email == "" || email == "Escribe tu email") {
    alert(alerta);
    document.boletinrincones.email.focus();
    return false;
  }
  if (email.indexOf("@") == -1) {
    alert(alerta);
    document.boletinrincones.email.focus();
    return false;
  }
  window.open('http://www.rinconesdelmundo.com/boletin/boletin.php?email='+email,'','width=400,height=300,reizable=no');  
}

function abrirVentana(link, nombre, w, h, scroll) {
  var winl = (screen.width - w) / 2;
  var wint = (screen.height - h) / 5;
  winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no'
  win = window.open(link, nombre, winprops)
  if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function compruebaMail(texto){

    var mailres = true;
    var cadena = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890@._-";

    var arroba = texto.indexOf("@",0);
    if ((texto.lastIndexOf("@")) != arroba) arroba = -1;

    var punto = texto.lastIndexOf(".");

     for (var contador = 0 ; contador < texto.length ; contador++){
        if (cadena.indexOf(texto.substr(contador, 1),0) == -1){
            mailres = false;
            break;
     }
    }

    if ((arroba > 1) && (arroba + 1 < punto) && (punto + 2 < (texto.length)) && (mailres == true) && (texto.indexOf("..",0) == -1))
     mailres = true;
    else
     mailres = false;

    return mailres;
}

function enviarBForm(){
  if(compruebaMail(document.boletinrincones.email.value)==true){
    direccion="http://www.rinconesdelmundo.com/casasrurales/boletin/boletin.php?email="+document.boletinrincones.email.value;
    abrirVentana(direccion, "Boletín", 420, 272, "no");
  }
  else{
    alert("El formato del email introducido no es correcto.");
    document.boletinrincones.email.select();
  }
}


var aFinMes = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

function finMes(nMes, nAno){
  return aFinMes[nMes - 1] + (((nMes == 2) && (nAno % 4) == 0)? 1: 0);
}

function padNmb(nStr, nLen, sChr){
    var sRes = String(nStr);
    for (var i = 0; i < nLen - String(nStr).length; i++)
     sRes = sChr + sRes;
    return sRes;
}

function makeDateFormat(nDay, nMonth, nYear){
    var sRes;
    sRes = padNmb(nDay, 2, "0") + "/" + padNmb(nMonth, 2, "0") + "/" + padNmb(nYear, 4, "0");
    return sRes;
}

function incDate(sFec0){
   var partes_fecha=sFec0.split("/");

   var nDia = parseInt(partes_fecha[0], 10);
   var nMes = parseInt(partes_fecha[1], 10);
   var nAno = parseInt(partes_fecha[2], 10);
   /*
   var nDia = Number(sFec0.substr(0, 2));
   var nMes = Number(sFec0.substr(3, 2));
   var nAno = Number(sFec0.substr(6, 4));
   */
   nDia += 1;
   if (nDia > finMes(nMes, nAno)){
    nDia = 1;
    nMes += 1;
    if (nMes == 13){
     nMes = 1;
     nAno += 1;
    }
   }
   return makeDateFormat(nDia, nMes, nAno);
}

function decDate(sFec0){
   var partes_fecha=sFec0.split("/");

   var nDia = parseInt(partes_fecha[0], 10);
   var nMes = parseInt(partes_fecha[1], 10);
   var nAno = parseInt(partes_fecha[2], 10);
   /*
   var nDia = Number(sFec0.substr(0, 2));
   var nMes = Number(sFec0.substr(3, 2));
   var nAno = Number(sFec0.substr(6, 4));
   */
   nDia -= 1;
   if (nDia == 0){
    nMes -= 1;
    if (nMes == 0){
     nMes = 12;
     nAno -= 1;
    }
    nDia = finMes(nMes, nAno);
   }
   return makeDateFormat(nDia, nMes, nAno);
}

function addToDate(sFec0, sInc){
   var nInc = Math.abs(parseInt(sInc));
   var sRes = sFec0;
   if (parseInt(sInc) >= 0)
    for (var i = 0; i < nInc; i++) sRes = incDate(sRes);
   else
    for (var i = 0; i < nInc; i++) sRes = decDate(sRes);
   return sRes;
}

function rellenaFechas(){
    var diff=0;
    var entrada=0;
    var salida=0;

    var ahora=new Date();
    var mes=ahora.getMonth()+1;
    var hoy=ahora.getDate()+"/"+mes+"/"+ahora.getYear();
    var diadehoy=ahora.getDay();

    if(diadehoy<5){
      diff=5-diadehoy;
      entrada=addToDate(hoy,diff);
      salida=addToDate(hoy,diff+2);
    }
    else if(diadehoy==5){
      entrada=addToDate(hoy,1);
      salida=addToDate(hoy,2);
    }
    else{
      diff=12-diadehoy;
      entrada=addToDate(hoy,diff);
      salida=addToDate(hoy,diff+2);
    }

    with(formfechaslibres){
      fecha_entrada.value=entrada;
      fecha_salida.value=salida;
    }
}





function comparaFechas(inicio, fin){

	 var sinicio = inicio.split("/");
	 var sfin = fin.split("/");
	 var timestamp_inicio = Date.UTC(sinicio[2],sinicio[1],sinicio[0]);
	 var timestamp_fin = Date.UTC(sfin[2],sfin[1],sfin[0]);
	 if (timestamp_inicio>=timestamp_fin){
	   	return false;
	 }
	 else return true;
}

function comprueba_buscador_calendario(){

  var inicio = document.formfechaslibres.fecha_entrada.value;
  var fin = document.formfechaslibres.fecha_salida.value;

  if(inicio==""){
    alert("Introduzca fecha de entrada.");
    document.formfechaslibres.fecha_entrada.focus();
  }
  else if(fin==""){
    alert("Introduzca fecha de salida.");
    document.formfechaslibres.fecha_salida.focus();
  }
  else if(inicio!="" && fin!=""){
    if(comparaFechas(inicio, fin)==false){
      alert("ĦLa fecha de salida tiene que ser posterior que la de entrada!");
	   	document.formfechaslibres.fecha_entrada.select();
    }
    else{
      document.formfechaslibres.submit();
    }
  }
}


function mostrar_calendario(p_item, pos_x, pos_y, fg_color, bg_color,absPos){
  SEL1=document.getElementById('td_adults');
	SEL2=document.getElementById('td_childs');
	SEL3=document.getElementById('td_infants');

  var fecha_actual=document.formfechaslibres.fecha_entrada.value;
  var regexp = /^[0123][0123456789][/][01][0123456789][/][12][09][0123456789][0123456789]$/;
    if (bg_color==undefined) bg_color="#3A5879";

	if (fecha_actual=="" || regexp.test(fecha_actual) == false){
        show_calendar(p_item, null , null, null, pos_x, pos_y, fg_color, bg_color, SEL1, SEL2, SEL3, absPos);
	}
	else {
	//abrir el calendario con mes y año insertado

  	var partes=fecha_actual.split("/");
    var mes=partes[1];
    if(mes.indexOf("0")==0){
    	mes=mes.substr(1,1);
    }
    //function show_calendar cuanta los meses desde 0
    mes=mes-1;
    var anyo=partes[2];
    show_calendar(p_item, mes, anyo, null, pos_x, pos_y, fg_color, bg_color,  SEL1, SEL2, SEL3, absPos);
	}
}
