// Api de funciones para el sitio de la Revista WetComix de Megamultimedia S.L.
// Programador, diseñador: John D. Torres Barreto
// Enero 2003. Iniciada el 17/01/03 16:31 | 28/05/2003: Reinicio con el #58

//
//// Funciones generales
//

// En vez de ubicar la función dentro del html, como en los sitios anteriores, como el
// default principal no se estima necesario modificarlo con asiduidad, se cambia la variable
// que direcciona a la home actual aquí mismo.

nume = 63;     					//disponible para todos los procesos...
function actual(){
  window.location = ('numeros/num' + nume + '/default.html')
}

function abre(vincu){
  cade0 = 'numeros/';
  cade1 = 'numeros/num';
  cade2 = '/';
  if (vincu == 1){
    window.location = (cade1 + nume + cade2 + 'default.html');
  }
  if (vincu == 2){
    window.location = ('numeros/archivo.html');
  }
  if (vincu == 3){
    nodisp();
  }
  if (vincu == 4){
    yaestas();
  }
}


function abreme(vincu){
  cade1 = 'num';
  cade2 = '/';
  if (vincu == 1){
    window.location = (cade1 + nume + cade2 + 'default.html');
  }
  if (vincu == 2){
    yaestas();
  }
  if (vincu == 3){
    nodisp();
  }
  if (vincu == 4){
    window.location = ('../suscribe.html');
  }
}


// Función fecha: se encarga de imprimir la fecha del ordenador del cliente y exhibe una
// marquesina con el slogan de la revista

function fecha(){
  //primero marquesina, despues la fecha
  //estampa el mensaje en la barra de estado
  var estado = "";
  estado = "Bienvenido al Sitio de la Revista WetComix";
  //luego el marquee del slogan
  var frase = "";
  frase += '<marquee behavior="slide" scrollamount="10" direction="left" onfinish="cierraslogan()">';
  frase += 'comic er&oacute;tico exclusivo para adultos';
  frase += '</marquee>';
  
  var DiaSemana = new Array('Domingo','Lunes','Martes','Miércoles','Jueves','Viernes','Sábado');
  var QueMes = new Array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre',
                          'Octubre','Noviembre','Diciembre');
  var laFecha = new Date();
  var ano = (laFecha.getYear() < 200 ? laFecha.getYear() + 1900 : laFecha.getYear());
  var dia = laFecha.getDate();
  hoy = DiaSemana[laFecha.getDay()] + ', ' + laFecha.getDate() + ' de ' + QueMes[laFecha.getMonth()] +
  ' de ' + (laFecha.getYear() < 200 ? laFecha.getYear() + 1900 : laFecha.getYear());
  publi.innerHTML = frase;
  estampafecha.innerText = hoy;
  window.defaultStatus = estado;
}

function cierraslogan(){
  //cuenta tiempo al pedo
  for (i=0;i<50000;i++){}
  vari = 'comic er&oacute;tico exclusivo para adultos';
  publi.innerHTML = vari;
}

//
//// Evitamos navegación innecesaria
//
function yaestas(){
  mensaje = 'Ya estás en la página';
  window.alert(mensaje);
}

//
//// Links todavia no desarrollados
//
function nodisp(){
  mensaje = 'Vínculo no disponible';
  window.alert(mensaje);
}


// Funciones para el manejo de suscripciones

function validar_datos(){
  if (document.suscrispain.aque[0].checked == false && document.suscrispain.aque[1].checked == false){
    alert('Olvidaste completar a cuantos números te suscribes.');
    document.suscrispain.aque[0].focus();
    return false;
  }
  if (document.suscrispain.nombre.value == ""){
    alert ("Olvidaste completar el campo Nombre");
    document.suscrispain.nombre.focus();
    return false; 
  } 
  if (document.suscrispain.apellido.value == ""){
    alert ("Olvidaste completar el campo Apellidos");
    document.suscrispain.apellido.focus();
    return false; 
  } 
  if (document.suscrispain.direccion.value == ""){
    alert ("Olvidaste completar el campo Dirección");
    document.suscrispain.direccion.focus();
    return false; 
  } 
  if (document.suscrispain.cpostal.value == ""){
    alert ("Olvidaste completar el campo Código Postal");
    document.suscrispain.cpostal.focus();
    return false; 
  } 
  if (document.suscrispain.ciudad.value == ""){
    alert ("Olvidaste completar el campo Ciudad");
    document.suscrispain.ciudad.focus();
    return false; 
  } 
  if (document.suscrispain.provincia.value == ""){
    alert ("Olvidaste completar el campo Provincia");
    document.suscrispain.provincia.focus();
    return false; 
  } 
  if (document.suscrispain.email.value == ""){
    alert ("Olvidaste completar el campo Correo Electrónico");
    document.suscrispain.email.focus();
    return false; 
  } else {
    //emailcheck(document.suscrispain.email.value);
    if (emailcheck(document.suscrispain.email.value)) {
      //document.suscrispain.submit();
    } else {
      document.suscrispain.email.focus();
	  return false;
    }
  }
  no = false;
  for (i=0; i<=3; i++){
    no = no || document.suscrispain.fpago[i].checked;
  }
  if(no){
    document.suscrispain.submit();
    return no;
  }
  else{
    alert("Debes indicar una forma de pago");
	document.suscrispain.email.focus();
    return no;
  }
}

// ======================= EMAIL CHECK ==============================

function emailcheck (emailStr) {
/* Verificar si el email tiene el formato user@dominio. */
var emailPat=/^(.+)@(.+)$/ 

/* Verificar la existencia de caracteres. ( ) < > @ , ; : \ " . [ ] */
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]" 
	
/* Verifica los caracteres que son válidos en una dirección de email */
var validChars="\[^\\s" + specialChars + "\]" 

var quotedUser="(\"[^\"]*\")" 

/* Verifica si la dirección de email está representada con una dirección IP Válida */ 

var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/

/* Verificar caracteres inválidos */ 

var atom=validChars + '+'
var word="(" + atom + "|" + quotedUser + ")"
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
/* dominio, como opuesto a ipDomainPat, se muestra abajo. */
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
  window.alert("La dirección de email parece incorrecta (compruebe @ y .'dom')");
  return false;

}
var user=matchArray[1]
var domain=matchArray[2]

// Si el user "user" es valido 
if (user.match(userPat)==null) {
// Si no
  window.alert("El nombre de usuario de email no es válido.");
  return false;
}

/* Si la dirección IP es válida */
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
  for (var i=1;i<=4;i++) {
    if (IPArray[i]>255) {
      window.alert("IP de destino de email inválida");
      return false;
    }
  }
  return true;
}

var domainArray=domain.match(domainPat)
if (domainArray==null) {
  window.alert("El dominio del email parece no ser válido.");
  return false;
}

var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length

if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) { 
  window.alert("La dirección de email debe tener 3 letras si es .com o 2 si es de algún país.");
  return false;
}

if (len<2) {
  var errStr="El email es erróneo";
  window.alert(errStr);
  return false;
}

// La dirección de email ingresada es Válida
  return true;
}

// ============= FIN EMAIL CHECK ======================== 
