function validate()
{

	var error = 0;
	var message = 'Se encontraron los siguientes errores\n\n';
	var count = 0;

	var name = document.customer_form.customer_firstname.value;
	var longitud = name.length;
	if (longitud<2)
	{
		count ++;
		message = message +count+'. El nombre debe tener al menos dos caracteres\n';

		if (error == 0)
		{
			document.customer_form.customer_firstname.select();
			document.customer_form.customer_firstname.focus();
		}

		error = 1;
	}



	var name = document.customer_form.customer_lastname.value;
	var longitud = name.length;
	if (longitud<2)
	{
		count ++;
		message = message +count+'. El Apellido debe tener al menos dos caracteres\n';

		if (error == 0)
		{
			document.customer_form.customer_lastname.select();
			//document.customer_form.customer_lastname.focus();
		}
		error = 1;
	}

    var dia_nac=document.customer_form.customer_dob_day;
	if (checkNumeric(dia_nac))
	{
		if(dia_nac.value <1 || dia_nac.value>31)
		{
			count ++;
			message = message + count+ ". El día de nacimiento proporcionado no es válido\n";
			error = 1;
			//document.customer_form.customer_dob_day.focus();
		}
	}
	else
	{
		count ++;
		message = message + count+ ". El día de nacimiento proporcionado no es válido\n";
		error = 1;
		//document.customer_form.customer_dob_day.focus();
	}

	var mes_nac=document.customer_form.customer_dob_month;
	if (checkNumeric(mes_nac))
	{
		if(mes_nac.value <1 || mes_nac.value >12)
		{
			count ++;
			message = message + count+ ". El mes de nacimiento proporcionado no es válido\n";
			error = 1;
			//document.customer_form.customer_dob_month.focus();
		}
	}else
	{
		count ++;
		message = message + count+ ". El mes de nacimiento proporcionado no es válido\n";
		error = 1;
		//document.customer_form.customer_dob_month.focus();
	}

	var ano_nac=document.customer_form.customer_dob_year;
	if (checkNumeric(ano_nac))
	{
		if(ano_nac.value <1900 )
		{
			count ++;
			message = message + count+ ". El año de nacimiento proporcionado no es válido\n";
			error = 1;
			//document.customer_form.customer_dob_year.focus();
		}
	}
	else
	{
		count ++;
		message = message + count+ ". El año de nacimiento proporcionado no es válido\n";
		error = 1;
		//document.customer_form.customer_dob_year.focus();
	}

	if ( !document.customer_form.customer_gender[0].checked && !document.customer_form.customer_gender[1].checked )
	{
	  count ++;
	  message = message + count+ ". Debe indicar el género\n";
	  error = 1;
	}


	var obj = document.customer_form.customer_identification;
	var ci_val = checkNumeric(obj);
	if (ci_val == false)
	{
		count ++;
		message = message +count+'. Ingrese un número de Carnet de Identidad Válido\n';

		if (error == 0)
		{
			obj.select();
			obj.focus();
		}
		error=1;
	}


	if ( document.customer_form.identification_department.value == "--" )
	{
	  count ++;
	  message = message +count+'. Seleccione el departamento de su Carnet\n';

	  error=1;
	}

	var ci = document.customer_form.customer_home_address.value;
	var longitud = ci.length;
	if (longitud<10)
	{
		count ++;
		message = message +count+'. La ubicación del domicilio suministrado debe ser lo mas completo posible\n';


		if (error == 0)
		{
			document.customer_form.customer_home_address.select();
			document.customer_form.customer_home_address.focus();
		}
		error=1;
	}

	if ( document.customer_form.customer_department.value == "----------" )
	{
	  count ++;
	  message = message +count+'. Seleccione su departamento\n';

	  error=1;
	}

	var ci = document.customer_form.customer_phone.value;
	var longitud = ci.length;
	if (longitud<7 || longitud>10){
		count ++;
		message = message +count+'. Teléfono Número de dígitos fuera de rango\n';

		if (error == 0){
			document.customer_form.customer_phone.select();
			document.customer_form.customer_phone.focus();
		}
		error=1;
	}


    if ( document.customer_form.customer_email_confirmation != null )
    {

	var ci1 = document.customer_form.customer_email.value;
	var ci2 = document.customer_form.customer_email_confirmation.value;

	if ( ci1!=ci2 )
	{
		count ++;
		message = message + count +'. Las direcciones de Email deben ser idénticas\n';

		if (error == 0)
		{
			document.customer_form.customer_email.select();
			document.customer_form.customer_email.focus();
		}
		error = 1;
	}

    }

	var index = document.customer_form.customer_province.value;
	if (index==-1){
		count ++;
		message = message +count+'. Debe elegir primeramente un departamento y luego una provincia\n';
		error=1;
	}


	var email = document.customer_form.customer_email.value;
	var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
	if (!email_reg_exp.test(email)){
		count ++;
		message = message + count+'. Dirección de email no válida\n';

		if (error == 0){
			document.customer_form.customer_email.select();
			document.customer_form.customer_email.focus();
		}
		error = 1;
	}


	var alias_val = document.customer_form.customer_alias.value;

	if ( alias_val == "" || alias_val == null )
	{
	  count ++;
	  message = message + count+ '. Debe indicar el alias.\n';
	}
    else
    {

	  var alias_reg_exp = /^([a-zA-Z0-9])+$/;
	  if (!alias_reg_exp.test(alias_val))
	  {
		count ++;
		message = message + count+ '. El ALIAS proporcionado contiene caracteres no permitidos.\n';

		if (error == 0)
		{
		  document.customer_form.customer_alias.select();
		  document.customer_form.customer_alias.focus();
		}
		error = 1;
	  }
    }


    if ( document.customer_form.customer_email_confirmation != null )
    {


	var email_conf = document.customer_form.customer_email_confirmation.value;
	var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
	if (!email_reg_exp.test(email_conf)){
		count ++;
		message = message + count+ '. Dirección de confirmación de email no válida\n';

		if (error == 0){
			document.customer_form.customer_email_confirmation.select();
			document.customer_form.customer_email_confirmation.focus();
		}
		error = 1;
	}


    }

	var ci = document.customer_form.customer_alias.value;
	var longitud = ci.length;
	if (longitud<4){
		count ++;
		message = message +count+ '. El alias debe tener al menos 4caracteres\n';

		if (error == 0){
			document.customer_form.customer_alias.select();
			document.customer_form.customer_alias.focus();
		}
		error=1;
	}

	var ci = document.customer_form.customer_password.value;
	var longitud = ci.length;
	if (longitud<5){
		count ++;
		message = message +count+'. La contraseña debe tener 5 caracteres como mínimo\n';
		if (error == 0){
			document.customer_form.customer_password.select();
			document.customer_form.customer_password.focus();
		}
		error=1;
	}

	var pwdconf = document.customer_form.customer_password_confirmation.value;
	if (ci!=pwdconf){
		count ++;
		message = message +count+'. Las contraseñas tienen que ser idénticas\n';

		if (error == 0){
			document.customer_form.customer_password_confirmation.select();
			document.customer_form.customer_password_confirmation.focus();
		}
		error=1;
	}

	if (document.customer_form.elements['customer_comefrom'].type != "hidden") {
		if (document.customer_form.customer_comefrom[0].checked || document.customer_form.customer_comefrom[1].checked || document.customer_form.customer_comefrom[2].checked || document.customer_form.customer_comefrom[3].checked || document.customer_form.customer_comefrom[4].checked || document.customer_form.customer_comefrom[5].checked || document.customer_form.customer_comefrom[6].checked || document.customer_form.customer_comefrom[7].checked) {
			if (document.customer_form.customer_comefrom[7].checked){
				var otro = document.customer_form.customer_other_comefrom.value;
				var longitud = otro.length;
				if (longitud<2){
					count ++;
					message = message +count+'. Si su opción es OTRO debe incluir en el campo de texto la forma en que llegó al sitio\n';
					error=1;
				}
			}
		} else {
			count ++;
			message = message + count+ ". Debe elegir una forma de cómo llegó al sitio\n";
			error = 1;
		}
	}
	if (!document.customer_form.customer_user_conditions[0].checked)
	{
		count ++;
		message = message + count+ ". Debe estar de acuerdo con las condiciones de uso\n";
		error = 1;
	}






  if (error==1)
  {
    alert(message);
    return false;
  }
  else
  {
    return true;
  }
}


function checkNumeric(objName)
{
	var numberfield = objName;
	if (chkNumeric(objName) == false){
		return false;
	}else{
		return true;
	}
}

function chkNumeric(objName){
	var checkOK = "0123456789";
	var checkStr = objName;
	var allValid = true;
	var decPoints = 0;
	var allNum = "";

	for (i = 0;  i < checkStr.value.length;  i++){
		ch = checkStr.value.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
		if (ch == checkOK.charAt(j))
		break;
		if (j == checkOK.length){
			allValid = false;
			break;
		}
		if (ch != ",")
		allNum += ch;
	}
	var str = objName.value;
	var strlen = str.length;
	if (!allValid || strlen==0){
		return false;
	}else{
		return true;
	}
}


