/******** Rutinas generales ************/

function barra(){
	window.status = 'www.emuse.com';
}

// rutina para inicializar arreglos
function dimensiona(n) {
  this.length=n;
  for (var i=1;i<=n;i++) {
	this[i]=0 }
	return this
}

// dimensionar arreglo mes
  mes = new dimensiona(12);
  mes[1]="Enero"
  mes[2]="Febrero"
  mes[3]="Marzo"
  mes[4]="Abril"
  mes[5]="Mayo"
  mes[6]="Junio"
  mes[7]="Julio"
  mes[8]="Agosto"
  mes[9]="Septiembre"
  mes[10]="Octubre"
  mes[11]="Noviembre"
  mes[12]="Diciembre"

// dimensionar arreglo dia
dia = new dimensiona(7);
  dia[1]="Domingo"
  dia[2]="Lunes"
  dia[3]="Martes"
  dia[4]="Mi&eacute;rcoles"
  dia[5]="Jueves"
  dia[6]="Viernes"
  dia[7]="S&aacute;bado"

function ponFecha() {
	
	var ns4up = (document.layers) ? 1 : 0;  // browser sniffer
	var ie4up = (document.all) ? 1 : 0;
		 
	// determinar la fecha
	hoy=new Date();
	
	// muestra la fecha
 	if (ie4up) {
	   // document.write(dia[hoy.getDay()+1]+", "+hoy.getDate()+" de ");
	   document.write(hoy.getDate()+" de ");
	   document.writeln(mes[hoy.getMonth()+1]+" de "+(hoy.getYear()));
	} else
	{
   	   // document.write(dia[hoy.getDay()+1]+", "+hoy.getDate()+" de ");
	   document.write(hoy.getDate()+" de ");
	   document.writeln(mes[hoy.getMonth()+1]+" de "+(hoy.getYear()+1900));
	} 
}


// ********************************* GESTIÓN DE FECHAS ***************************

/**
    * definimos las variables globales que van a contener la fecha completa, cada una de sus partes
    * y los dias correspondientes al mes de febrero segun sea el año bisiesto o no
*/
var a, mes, dia, anyo, febrero;
    
function anyoBisiesto(anyo)  {

   // si el año introducido es de dos cifras lo pasamos al periodo de 1900. Ejemplo: 25 > 1925
   if (anyo < 100)
      var fin = anyo + 1900;
   else
      var fin = anyo ;
    
   // primera condicion: si el resto de dividir el año entre 4 no es cero > el año no es bisiesto
   if (fin % 4 != 0)
      return false;
   else {
      if (fin % 100 == 0) {
         // si el año es divisible por 4 y por 100 y divisible por 400 > es bisiesto
         if (fin % 400 == 0) {
            return true;
         }
         // si es divisible por 4 y por 100 pero no lo es por 400 > no es bisiesto
         else {
            return false;
         }
      }
      // si es divisible por 4 y no es divisible por 100 > el año es bisiesto
      else {
         return true;
      }
   }
}
    
/**
    * funcion principal de validacion de la fecha
    * argumento fecha > cadena de texto de la fecha introducida por el usuario
*/
function validar() {
// obtenemos la fecha introducida y la separamos en dia, mes y año
   a=document.forms[0].fecha.value;
   dia=a.split("/")[0];
   mes=a.split("/")[1];
   anyo=a.split("/")[2];
       
   if (a=="") {
   	  alert("La fecha prevista de la instalacion no puede dejarse en blanco");
	  return;
   }
   
   if (dia==null || mes==null || anyo==null) {
   	  alert("La fecha introducida no tiene el formato correcto. [dd/mm/aaaa]");
	  return;
   }
       
   if (anyoBisiesto(anyo))
      febrero=29;
   else
      febrero=28;
   
   // si el mes introducido es negativo, 0 o mayor que 12 > alertamos y detenemos ejecucion
   if ((mes<1) || (mes>12)) {
      alert("El mes introducido no es valido. Por favor, introduzca un mes correcto");
      document.forms[0].fecha.focus();
      document.forms[0].fecha.select();
      return;
   }

   /**
       * si el mes introducido es febrero y el dia es mayor que el correspondiente 
       * al año introducido > alertamos y detenemos ejecucion
   */
   if ((mes==2) && ((dia<1) || (dia>febrero))) {
      alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");
      document.forms[0].fecha.focus();
      document.forms[0].fecha.select();
      return;
   }
   
   // si el mes introducido es de 31 dias y el dia introducido es mayor de 31 > alertamos y detenemos ejecucion
   if (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31))) {
      alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");
      document.forms[0].fecha.focus();
      document.forms[0].fecha.select();
      return;
   }
   
   // si el mes introducido es de 30 dias y el dia introducido es mayor de 301 > alertamos y detenemos ejecucion
   if (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30))) {
      alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");
      document.forms[0].fecha.focus();
      document.forms[0].fecha.select();
      return;
   }

   // si el mes año introducido es menor que 1900 o mayor que 2010 > alertamos y detenemos ejecucion
   if ((anyo<1900) || (anyo>2010)) {
      alert("El año introducido no es valido. Por favor, introduzca un año entre 1900 y 2010");
      document.forms[0].fecha.focus();
      document.forms[0].fecha.select();
   } 
 
   /**
       * en caso de que todo sea correcto > enviamos los datos del formulario
       * para ello debeis descomentar la ultima sentencia
   */
   else {
	  document.forms[0].submit(); 
   }    
}    




// comienzo funciones para mostrar capas ocultas
function MM_findObj(n, d) 
{ //v3.0
  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); 
  return x;
}
		
function MM_showHideLayers() 
{ //v3.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; 
	 }
}
// fin funciones para mostrar capas ocultas


function validar_login()
{
if (login.usuario.value=="") 
   alert("El nombre de usuario es requerido");
else if (login.pass.value=="")
	 	alert("La clave de acceso es requerida");  
else
   login.submit();
}


function validar_consclientes()
{
  if (consclientes.consulta.value=="")
  	 alert("Introduzca la consulta que quiere realizar");
  else
  	 consclientes.submit();
}


function validar_registro() 
{
  if (registroclientes.empresa.value=="" || registroclientes.nif.value=="" || registroclientes.login.value=="" || registroclientes.clave1.value=="" || registroclientes.clave2.value=="")
   	 alert("No puede dejar ningún campo en blanco");
  else 
  	 if (registroclientes.clave1.value != registroclientes.clave2.value)
	 	alert("No coinciden las claves de acceso");
  	 else
	 	registroclientes.submit(); 
}


// comienzo funciones para mostrar capas ocultas
function MM_findObj(n, d) 
{ //v3.0
  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); 
  return x;
}
		
function MM_showHideLayers() 
{ //v3.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; 
	 }
}
// fin funciones para mostrar capas ocultas

