// Api de funciones para Film Music
// Programador: John D. Torres Barreto
// inicio: 24/07/2003


num = 10;
function numactual(){
  if (num < 10) {
    donde = 'numeros/num0' + num + '/default.html';
  } else {
    donde = 'numeros/num' + num + '/default.html';
  }
  window.location = donde;
}

function abri(url,chiches){
  window.open(url,'nada',chiches);
}

function resol(profundidad){
  if (profundidad == 3){
    dibu1 = '<img src="../../images/fondohoja.gif">';
  }
  if (profundidad == 2){
    dibu1 = '<img src="../images/fondohoja.gif">';
  }
  if (profundidad == 1){
    dibu1 = '<img src="images/fondohoja.gif">';
  }
  numeo = '# ' + num;
  if (document.getElementById) {
    if (window.HTMLElement) {   //ESTE ES EL QUE FUNCIONA PARA NETSCAPE 6.X
      if (isNS6 && (screen.width >= 1024)){
        ancho = screen.width;
        spanNode = document.getElementById('colu01');
        while (spanNode.hasChildNodes()) spanNode.removeChild(spanNode.lastChild);
        var range = document.createRange();
        range.selectNodeContents(spanNode);
        spanNode.appendChild(range.createContextualFragment(dibu1));
        //
        spanNode = document.getElementById('colu02');
        while (spanNode.hasChildNodes()) spanNode.removeChild(spanNode.lastChild);
        var range = document.createRange();
        range.selectNodeContents(spanNode);
        spanNode.appendChild(range.createContextualFragment(dibu1));
      }
    }
    else {
      if (isIE && (screen.width >= 1024 || screen.height >= 768)){
        colu01.innerHTML = dibu1;
        colu02.innerHTML = dibu1;
      }
    }
  }
  else if (document.layers) {  //ESTE ES PARA NETSCAPE VIEJO
    if ((screen.width >= 1024 || screen.height >= 768)){
      document.layers['colu01'].document.open();
      document.layers['colu01'].document.writeln(dibu1);
      document.layers['colu01'].document.close();
      //
      document.layers['colu02'].document.open();
      document.layers['colu02'].document.writeln(dibu1);
      document.layers['colu02'].document.close();
    }
  }
}


function fecha(){
  //estampa el mensaje en la barra de estado
  var estado = "";
  estado = "Bienvenido a la Revista Film Music en Internet";
  numeo = '# ' + num;
  
  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());
  
  
  if (document.getElementById) {
    if (window.HTMLElement) {   //ESTE ES EL QUE FUNCIONA PARA NETSCAPE 6.X
      spanNode = document.getElementById('estampafecha');
      while (spanNode.hasChildNodes()) spanNode.removeChild(spanNode.lastChild);
      var range = document.createRange();
      range.selectNodeContents(spanNode);
      spanNode.appendChild(range.createContextualFragment(hoy));
      //
      spanNode = document.getElementById('numero');
      while (spanNode.hasChildNodes()) spanNode.removeChild(spanNode.lastChild);
      var range = document.createRange();
      range.selectNodeContents(spanNode);
      spanNode.appendChild(range.createContextualFragment(numeo));
    }
    else {
      estampafecha.innerText = hoy;
      numero.innerText       = numeo;
      window.defaultStatus = estado;
    }
  }
  else if (document.layers) {  //ESTE ES PARA NETSCAPE VIEJO
    document.layers['estampafecha'].document.open();
    document.layers['estampafecha'].document.writeln(hoy);
    document.layers['estampafecha'].document.close();
    //
    document.layers['numero'].document.open();
    document.layers['numero'].document.writeln(numeo);
    document.layers['numero'].document.close();
  }
}

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 comunes

function inhab1(){
  document.suscrispain.numatrasado.disabled= true;
}

function OpcionSele(num){
  if (num == 1){
    document.suscrispain.aque[1].checked     = false;
    document.suscrispain.numatrasado.value   = "";
    document.suscrispain.numatrasado.disabled= true;
  }
  if (num == 2){
    document.suscrispain.aque[0].checked     = false;
    suscrispain.numatrasado.disabled         = false;
    window.alert("Introduce el/los números que deseas solicitar.");
    document.suscrispain.numatrasado.focus();
  }
}

function validar_datos(){
  if (document.suscrispain.aque[0].checked == false && document.suscrispain.aque[1].checked == false){
    window.alert("Debes Indicar un tipo de Pedido:\n- Suscripción; ó\n-Números Atrasados.");
    document.suscrispain.aque[0].focus();
    return false;
  }
  if (document.suscrispain.aque[1].checked == true){
    if (document.suscrispain.numatrasado.value == ""){
      window.alert("Ingresa el/los números atrasados que deseas pedir.");
      document.suscrispain.numatrasado.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.correo.value == ""){
    alert ("Olvidaste completar el campo Correo Electrónico");
    document.suscrispain.correo.focus();
    return false; 
  } else {
    if (!emailcheck(document.suscrispain.correo.value)) {
      document.suscrispain.correo.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.fpago[0].focus();
    return no;
  }
}

function validar_libro(){
  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.correo.value == ""){
    alert ("Olvidaste completar el campo Correo Electrónico");
    document.suscrispain.correo.focus();
    return false; 
  } else {
    if (!emailcheck(document.suscrispain.correo.value)) {
      document.suscrispain.correo.focus();
      return false;
    }
  }
}

//////
// Funciones de validación finales
// ======================= 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 ======================== 
