<!--

var i, sw_error;
var error = new Array();
for (i=0;i<13;i++)
	error[i] = 'n';

function Enviar()
{
   sw_error= 'n';
   telefono_w = datos.Telefono.value;
   fax_w = datos.Fax.value;
   Validar_campos();
   if (sw_error == 'n')
      datos.submit();
}

function esnum(cCadena)
{
   for (var i=0;i<cCadena.length;i++)
   {
	var ch=cCadena.substring(i,i+1)
	if (((ch < "0" || "9" < ch )& ch !=","))
	   return false;
   }
	return true;
}


function busca_caracter(cCadena)
{
   for (var i=0;i<cCadena.length;i++)
   {
	var ch=cCadena.substring(i,i+1)
	if (ch == '@')
	   return true;
   }
	return false;
}

//Valida si una fecha es valida

function fecha_valida(dFecha)
{
//  alert ("entra en valida fecha");

  var sFecha;
  var bResultado;
  var sSeparador;
  var nPosicionSeparador1;
  var nPosicionSeparador2;
  var sDia;
  var sMes;
  var sAno;

//  sFecha = Valor(dFecha);
  sFecha = dFecha;

//Por defecto no hay error
  bResultado = true;

  if (sFecha.length == 10)
	{
	if ((sFecha.indexOf("/") != -1) && (sFecha.indexOf("-") == -1))
		//La fecha es en formato 99/99/9999
		{sSeparador="/";} 
	else 
	if ((sFecha.indexOf("/") == -1) && (sFecha.indexOf("-") != -1))
		//La fecha es en formato 99-99-9999
		{sSeparador="-";} 
	else 
		//La fecha es erronea	
		{bResultado = false;}

	//Si no ha habido error separa dia, mes y año
	if (bResultado == true)
		{
		nPosicionSeparador1 = sFecha.indexOf(sSeparador);
		nPosicionSeparador2 = sFecha.indexOf(sSeparador, nPosicionSeparador1 + 1);
		if (sFecha.indexOf(sSeparador, nPosicionSeparador2 + 1 ) != -1)
			// Ha encontrado otro separador. La fecha es erronea
			{bResultado = false;} 
		else
			{
			sDia = sFecha.substring(0, nPosicionSeparador1);
			sMes = sFecha.substring(nPosicionSeparador1 + 1, nPosicionSeparador2);
			sAno = sFecha.substring(nPosicionSeparador2 + 1, sFecha.length);
			if (sAno > 0000 && sAno < 9999)
			    {bResultado = true;}
			else
			    {bResultado = false;}
			}
		}

	//Si no ha habido error comprueba que dia, mes y año sean correctos
	if (bResultado == true)
	{
		if ((parseInt(sDia,10) > 0) && (parseInt(sDia,10) <= 31) &&
  		    (parseInt(sMes,10) > 0) && (parseInt(sMes,10) <= 12) &&
		    (parseInt(sAno,10) >= 0))
			{
			// Ahora compruebo los dias de de los diferentes meses
			if((parseInt(sDia,10) == 31)  && 
 			  ((parseInt(sMes,10) == 2) || (parseInt(sMes,10) == 4) || 
			   (parseInt(sMes,10) == 6) || (parseInt(sMes,10) == 9) ||
			   (parseInt(sMes,10) == 11)))
				{bResultado = false;}
			else
				{
				if ((parseInt(sDia,10) > 29) && (parseInt(sMes,10) == 2))
					{bResultado = false;}
				else
					{

					if ((parseInt(sDia,10) == 29) && (parseInt(sMes,10)== 2))
						{
						if ((Math.round(parseInt(sAno,10)/4 )) == (parseInt(sAno,10)/4))
							{
							if ((Math.round(parseInt(sAno,10)/100)) == (parseInt(sAno,10)/100))
								{
								if ((Math.round(parseInt(sAno,10)/400)) == (parseInt(sAno,10)/400))
									{bResultado = true;}
								else	{bResultado = false;}
								}
							else {bResultado = true;}
							}
						else 
						 	{bResultado = false;}
						}
					else

						//La fecha es correcta
						{bResultado = true;}
					}
				}
						
			}
		else
		//La fecha es erronea
		{bResultado = false};
	}
	else
		//La fecha es erronea
		{bResultado = false};

	}
  else 
	{bResultado=false;}

  return bResultado;
}

function Fecha_anterior(dFecha)
{
  var fecha = new Date();
  var mes = fecha.getMonth();
  mes++;
  var dia = fecha.getDate();
  var anio = fecha.getYear();

  var sFecha;
  var sDia;
  var sMes;
  var sAno;

  var fecha_dia;
  var fecha_aportada;

  var bResultado;

  sFecha = dFecha;

  bResultado = true;

//Recupera dia, mes y año que han aportado

  sDia = sFecha.substring(0, 2);
  sMes = sFecha.substring(3, 5);
  sAno = sFecha.substring(6, 10);

  fecha_aportada = sAno + sMes + sDia;
//  alert ("fecha aportada = " + fecha_aportada);

  if (dia < 10) {dia = "0" + dia;}
  if (mes < 10) {mes = "0" + mes;}

  fecha_dia = "0" + anio + mes + dia;
//  alert ("fecha del dia = " + fecha_dia);

  if ((parseInt(fecha_aportada,10)) < (parseInt(fecha_dia,10)))
	{bResultado = false;}

  return bResultado;
}



//Devuelve la fecha en formato DD/MM/AAAA
function dec_fecha(cCadena)
{
  var  dia, mes, fecha, anno;
  dia=cCadena.slice(6,8);
  mes=cCadena.slice(4,6);
  anno=cCadena.slice(0,4);
  if(dia.length+mes.length+anno.length!=0)
	fecha=dia+'/'+mes+'/'+anno;
  else 
	fecha="";
  return(fecha);

}

function Validar_campos()
{
// alert ("entra a validar" );

   if (datos.Empresa.value == "")
	{
	alert ("Introduzca nombre de la empresa");
	error[0] = 'o';
	Posicionar_cursor();
	error[0] = 'n';
        sw_error = 's';
	return;
	}
   else
   if (datos.nombre.value == "")
	{
	alert ("Introduzca Contacto");
	error[1] = 'o';
	Posicionar_cursor();
	error[1] = 'n';
        sw_error = 's';
	return;
	}
   else
   if (datos.Telefono.value == "")
	{
	alert ("Introduzca telefono");
	error[2] = 'o';
	Posicionar_cursor();
	error[2] = 'n';
        sw_error = 's';
	return;
	}
   else
   if ((datos.Telefono.value != "") && (esnum(datos.Telefono.value) == false))
	{
	alert ("Telefono erróneo, debe ser numérico");
	error[2] = 'o';
	Posicionar_cursor();
	error[2] = 'n';
        sw_error = 's';
	return;
	}
   else
   if ((datos.Telefono.value != "") && (telefono_w.length != 9))
	{
	alert ("Telefono erróneo, debe ser de 9 dígitos ");
	error[2] = 'o';
	Posicionar_cursor();
	error[2] = 'n';
	sw_error = 's';
	return;
	}



   else
   if ((datos.Fax.value != "") && (fax_w.length != 9))
	{
	alert ("Número de Fax erróneo, debe ser de 9 dígitos");
	error[3] = 'o';
	Posicionar_cursor();
	error[3] = 'n';
        sw_error = 's';
	return;
	}
   else
   if ((datos.Email.value != "") && (busca_caracter(datos.Email.value) == false))
	{
	alert ("Dirección de email debe de contener una @");
	error[4] = 'o';
	Posicionar_cursor();
	error[4] = 'n';
        sw_error = 's';
	return;
	}
   else
   if (datos.Zona.value == "")
	{
	
	return;
	}
   else
   if ((datos.TipoVivienda1.checked == false) && (datos.TipoVivienda2.checked == false))
	{
	
	return;
	}
   else
   if (datos.Tamanio.value == "") 
	{
	
	}
   else
  
   if (datos.Cantidad.value == "") 
	{
	
	}
   else
   if ((datos.Cantidad.value != "") && (esnum(datos.Cantidad.value) == false))
	{
	alert ("Unidades a repartir errónea. Debe ser numérico");
	error[9] = 'o';
	Posicionar_cursor();
	error[9] = 'n';
        sw_error = 's';
	return;
	}
   else
   if (datos.Fecha.value == "") 
	{
	return;
	}
  //  else
 //   if ((datos.Fecha.value != "") && (fecha_valida(datos.Fecha.value) == false))
// 	{
// 	alert ("     Fecha de reparto erronea." + "\n" + "\n" + "Formato DD/MM/AAAA o DD-MM-AAAA");
	// error[10] = 'o';
	// Posicionar_cursor();
	// error[10] = 'n';
  //       sw_error = 's';
	// return;
	// }
   else
   if ((datos.Fecha.value != "") && (fecha_valida(datos.Fecha.value) == true) &&
       (Fecha_anterior(datos.Fecha.value) == false))
	{
	alert ("Fecha de reparto no puede ser anterior a la del dia");
	error[10] = 'o';
	Posicionar_cursor();
	error[10] = 'n';
        sw_error = 's';
	return;
	}
   else
   if ((datos.ViaEmail.checked == false) && (datos.ViaFax.checked == false) &&
       ((datos.Email.value != "") || (datos.Fax.value != ""))) 
	{
	if ((datos.Email.value != "") && (datos.Fax.value == ""))
	   {alert ("Debe marcar la opción para recibir el presupuesto por email");}
        else
	if ((datos.Email.value == "") && (datos.Fax.value != ""))
	   {alert ("Debe marcar la opción para recibir el presupuesto por Fax");}
        else
	   {alert ("Marque como desea recibir el presupuesto");}
	error[12] = 'o';
	Posicionar_cursor();
	error[12] = 'n';
        sw_error = 's';
	return;
	}
   else
   if ((datos.ViaEmail.checked == true) && (datos.Email.value == ""))
	{
	alert ("Si no especifica direccion de email, no se le puede enviar el presupuesto");
	error[12] = 'o';
	Posicionar_cursor();
	error[12] = 'n';
        sw_error = 's';
	return;
	}
    else
    if ((datos.ViaFax.checked == true) && (datos.Fax.value == ""))
	{
	alert ("Si no especifica Fax, no se le puede enviar el presupuesto");
	error[12] = 'o';
	Posicionar_cursor();
	error[12] = 'n';
        sw_error = 's';
	return;
	}


}

//  ** Cuando coge el foco **

function Posicionar_cursor()
{
   var campo_error;
   campo_error = Primer_campo_erroneo();
   if (campo_error != "")
	Posicionar(campo_error);
}

function Primer_campo_erroneo()
{
   var campo_error="";

//	--> Nombre de empresa
   if ((error[0] == 's') || (error[0] == 'o'))
	campo_error="c1";
   else
//	--> Persona de contacto
   if ((error[1] == 's') || (error[1] == 'o'))
	campo_error="c2";
   else
//	--> Telefono
   if ((error[2] == 's') || (error[2] == 'o'))
	campo_error="c3";
   else
//	--> Fax
   if ((error[3] == 's') || (error[3] == 'o'))
	campo_error="c4";
   else
//	--> Email
   if ((error[4] == 's') || (error[4] == 'o'))
	campo_error="c5";
   else
//	--> Zona
   if ((error[5] == 's') || (error[5] == 'o'))
	campo_error="c6";
   else
//	--> Pisos
   if ((error[6] == 's') || (error[6] == 'o'))
	campo_error="c7";
   else
//	--> Chalet
   if ((error[7] == 's') || (error[7] == 'o'))
	campo_error="c8";
   else
//	--> Tamaño
   if ((error[8] == 's') || (error[8] == 'o'))
	campo_error="c9";
   else
//	--> Cantidad
   if ((error[9] == 's') || (error[9] == 'o'))
	campo_error="c10";
   else
//	--> Fecha de reparto
   if ((error[10] == 's') || (error[10] == 'o'))
	campo_error="c11";
   else
//	--> Comentarios
   if ((error[11] == 's') || (error[11] == 'o'))
	campo_error="c12";
   else
//	--> Envio presupuesto via email
   if ((error[12] == 's') || (error[12] == 'o'))
	campo_error="c12";
   else
//	--> Envio presupuesto via fax
   if ((error[13] == 's') || (error[13] == 'o'))
	campo_error="c13";

   return (campo_error);
}

function Posicionar(campo_error)
{
   if (campo_error == 'c1')
	datos.Empresa.focus();
   else
   if (campo_error == 'c2')
	datos.nombre.focus();
   else
   if (campo_error == 'c3')
	datos.Telefono.focus();
   else
   if (campo_error == 'c4')
	datos.Fax.focus();
   else
   if (campo_error == 'c5')
	datos.Email.focus();
   else
   if (campo_error == 'c6')
	datos.Zona.focus();
   else
   if (campo_error == 'c7')
	datos.TipoVivienda1.focus();
   else
   if (campo_error == 'c8')
	datos.TipoVivienda2.focus();
   else
   if (campo_error == 'c9')
	datos.Tamanio.focus();
   else
   if (campo_error == 'c10')
	datos.Cantidad.focus();
   else
   if (campo_error == 'c11')
	datos.Fecha.focus();
   else
   if (campo_error == 'c13')
	datos.ViaEmail.focus();
   else
   if (campo_error == 'c14')
	datos.ViaFax.focus();
}



-->


