/******** Rutinas generales ************/

// 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.writeln(mes[hoy.getMonth()+1]+" de "+(hoy.getYear()));
	} else
	{
   	   document.write(dia[hoy.getDay()+1]+", "+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(); 
   }    
}    


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.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);
  if(!x && document.getElementById) x=document.getElementById(n); 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; 
	 		}
	}

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];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}


	// función para mostrar un texto en la barra de estado
	function barraEstado(texto) { //v1.0
  		status=texto;
  		document.valor = true;
	}

	
	
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();
}




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_clave()
{
  if (formclientes.nombre.value=="" || formclientes.apellidos.value=="" || formclientes.email.value=="" || formclientes.login.value=="" || formclientes.clave1.value=="" || formclientes.clave2.value=="") 
  	 alert("Debe rellenar todos los campos marcados como obligatorios");
  else
  	  if (formclientes.clave1.value != formclientes.clave2.value)
  	  	 alert("Las claves de acceso tienen que coincidir");
  	  else
  	  formclientes.submit();
}

function validar_consulta()
{
  if (consulta.email.value=="") 
  	 alert("Debe indicarnos su correo electrónico para que podamos ponernos en contacto con usted.");
  else
  	 consulta.submit();
}


function validar_cantidadpedido()
{
  if (isNaN(formcantidad.cantidad.value))
  	 alert("Debe introducir un valor numérico");
  else if (formcantidad.cantidad.value=="")
	   alert("Debe rellear el campo cantidad");
  else if (parseInt(formcantidad.cantidad.value)<0)
  	   alert("Debe introducir una cantidad válida");
  else
  	  formcantidad.submit();	  		 
}


function mail_admin() {
   alert("admin");
   consultacliente.depto.value="admin"
   alert("admin2");
   consultacliente.submit();	
   alert("admin3"); 
}


function mail_comer() {
   alert("comer");
   consultacliente.depto.value="comer"
   alert("comer2");
   consultacliente.submit();	 
}


function mail_tecni() { 
   alert("tecni");
   consultacliente.depto.value="tecni"
   alert("tecni2");
   consultacliente.submit();	 
}



