function Ltrim(Str)
{var x = 0;	
	while (Str.charAt(x)==" " && (x++) < Str.length)
	{Str = Str.substr(x, Str.length);
	}
return Str;
}

function Rtrim(Str)
{var x = Str.length;	
	while (Str.charAt(x-1)==" " && (x--) > -1)
	{Str = Str.substr(0, x);
	} 
return Str;
}
function Trim(Str)
{	
	return Ltrim(Rtrim(Str));
}
function Cursor(quien) {
  	quien.style.cursor = "hand";	
}
function esFecha(dia, mes, ano) {
  var valida = false;
	if(ano > 1900 && mes > 0 && mes < 13) {
  	var objFecha = new Date();
		objFecha.setDate(1);
		objFecha.setFullYear(ano);
		objFecha.setMonth(mes - 1);
		objFecha.setDate(dia);
		if((objFecha.getMonth() + 1) == mes) {
  		valida = true;
		}
	} 
  return valida;
}
function numero() {
  var valido = false;
	if((event.keyCode > 47 && event.keyCode < 58) || event.keyCode == 46) {
		valido = true;
	}
	return valido;
}
function valida() {
  var valido = false;
	var errores = "";
	with(solAfi) {
		if(Trim(EmNombre.value) != "" && Trim(EmSiglas.value) != "" && Trim(EmSucursales.value) != "" && Trim(EmNombreComercial.value) != "" && Trim(EmActividad.value) != "" && Trim(EmVende.value) != "" && Trim(EmSucursal.value) != "" && Trim(EmDepartamento.value) != "") {
    	if(Trim(EmRnc1.value) != "" && Trim(EmRnc2.value) != "" && Trim(EmRnc3.value) != "" && Trim(EmRnc4.value) != "" && Trim(EmRnc5.value) != "" && Trim(EmRnc6.value) != "" && Trim(EmRnc7.value) != "" && Trim(EmRnc8.value) != "" && Trim(EmRnc9.value) != "") {
      	var EmRNC = EmRnc1.value + EmRnc2.value + EmRnc3.value + EmRnc4.value + EmRnc5.value + EmRnc6.value + EmRnc7.value + EmRnc8.value + EmRnc9.value;
    	} else {
    		errores += "\n- El RNC no está completo.";
  		}
  		if(Trim(EmFc1.value) != "" && Trim(EmFc2.value) != "" && Trim(EmFc3.value) != "" && Trim(EmFc4.value) != "" && Trim(EmFc5.value) != "" && Trim(EmFc6.value) != "" && Trim(EmFc7.value) != "" && Trim(EmFc8.value) != "") {
      	if(esFecha((EmFc1.value + EmFc2.value), (EmFc3.value + EmFc4.value), (EmFc5.value + EmFc6.value + EmFc7.value + EmFc8.value))) {
      	  var EmFecha = EmFc1.value + EmFc2.value + "-" +	EmFc3.value + EmFc4.value + "-" +	 EmFc5.value + EmFc6.value + EmFc7.value + EmFc8.value;
  			} else {
      		errores += "\n- La Fecha de Constitución no es válida.";
    		}
    	} else {
    		errores += "\n- La Fecha de Constitución no está completa.";
  		}
  		var Nac = ""; 
  		if(EmNacionalidad[1].checked) {
  			if(Trim(EmOtroNacionalidad.value) != "") {
      		Nac = EmOtroNacionalidad.value;
    		} else {
    			errores += "\n- Debe suministrar la Nacionalidad de la Empresa al seleccionar Otra Nacionalidad.";
  			}
  		} else {
    		Nac = EmNacionalidad[0].value;
  		}
  	} else {
  		errores += "\n- Los datos de la Empresa son requeridos.";
		}
		
		if(Trim(EmDirCalle.value) != "" && Trim(EmDirBarrio.value) != "" && Trim(EmDirCasa.value) != "" && Trim(EmDirCiudad.value) != "" && (EmDirMunicipio.value) != "" && Trim(EmDirProvincia.value) != "" && Trim(EmDirPiso.value) != "") {
			var Pais = ""; 
  		if(EmDirPais[1].checked) {
  			if(Trim(EmDirOtroPais.value) != "") {
      		Pais = EmDirOtroPais.value;
    		} else {
    			errores += "\n- Debe suministrar el País en la Dirección de la Empresa al seleccionar Otro País.";
  			}
  		} else {
    		Pais = EmDirPais[0].value;
  		}
  	} else {
  		errores += "\n- Los datos de la Dirección de la Empresa son requeridos.";
		}
		if(Trim(EmTel1.value) != "") {
			var tel = validaTelefono(EmTel1.value,".");
			if(tel != -1) {
  			EmTel1.value = tel;
				if(!rol(EmTel1Rol)) {
      		errores += "\n- El Rol del Teléfono 1 de la Empresa es requerido.";
    		}
			} else {
  			errores += "\n- El Teléfono 1 de la Empresa es invalido.";
			}  		
		}
		if(Trim(EmTel2.value) != "") {
			var tel = validaTelefono(EmTel2.value,".");
			if(tel != -1) {
  			EmTel2.value = tel;
				if(!rol(EmTel2Rol)) {
      		errores += "\n- El Rol del Teléfono 2 de la Empresa es requerido.";
    		}
			} else {
  			errores += "\n- El Teléfono 2 de la Empresa es invalido.";
			}  		
		}
		if(Trim(EmTel3.value) != "") {
			var tel = validaTelefono(EmTel3.value,".");
			if(tel != -1) {
  			EmTel3.value = tel;
				if(!rol(EmTel3Rol)) {
      		errores += "\n- El Rol del Teléfono 3 de la Empresa es requerido.";
    		}
			} else {
  			errores += "\n- El Teléfono 3 de la Empresa es invalido.";
			}  		
		}
		if(Trim(EmTel4.value) != "") {
			var tel = validaTelefono(EmTel4.value,".");
			if(tel != -1) {
  			EmTel4.value = tel;
				if(!rol(EmTel4Rol)) {
      		errores += "\n- El Rol del Teléfono 4 de la Empresa es requerido.";
    		}
			} else {
  			errores += "\n- El Teléfono 4 de la Empresa es invalido.";
			}  		
		}
		if(Trim(ConNombres.value) != "" && Trim(ConApellidos.value) != "" && Trim(ConCargo.value) != "" && Trim(ConDepartamento.value) != "" && rol(ConSexo)) {
  	} else {
  		errores += "\n- Los datos de la Persona de Contacto son requeridos.";
		}
		if(Trim(ConTel1.value) != "") {
			var tel = validaTelefono(ConTel1.value,".");
			if(tel != -1) {
  			ConTel1.value = tel;
				if(!rol(ConTel1Rol)) {
      		errores += "\n- El Rol del Teléfono 1 de la Persona de Contacto es requerido.";
    		}
			} else {
  			errores += "\n- El Teléfono 1 de la Persona de Contacto es invalido.";
			}  		
		}
		if(Trim(ConTel2.value) != "") {
			var tel = validaTelefono(ConTel2.value,".");
			if(tel != -1) {
  			ConTel2.value = tel;
				if(!rol(ConTel2Rol)) {
      		errores += "\n- El Rol del Teléfono 2 de la Persona de Contacto es requerido.";
    		}
			} else {
  			errores += "\n- El Teléfono 2 de la Persona de Contacto es invalido.";
			}  		
		}
		if(Trim(ConTel3.value) != "") {
			var tel = validaTelefono(ConTel3.value,".");
			if(tel != -1) {
  			ConTel3.value = tel;
				if(!rol(ConTel3Rol)) {
      		errores += "\n- El Rol del Teléfono 3 de la Persona de Contacto es requerido.";
    		}
			} else {
  			errores += "\n- El Teléfono 3 de la Persona de Contacto es invalido.";
			}  		
		}
		if(Trim(ConTel4.value) != "") {
			var tel = validaTelefono(ConTel4.value,".");
			if(tel != -1) {
  			ConTel4.value = tel;
				if(!rol(ConTel4Rol)) {
      		errores += "\n- El Rol del Teléfono 4 de la Persona de Contacto es requerido.";
    		}
			} else {
  			errores += "\n- El Teléfono 4 de la Persona de Contacto es invalido.";
			}  		
		}
		/*
		if(Trim(AsisNombres.value) != "" && Trim(AsisApellidos.value) != "" && rol(AsisSexo)) {
  	} else {
  		errores += "\n- Los datos de la Asistente o Secretaria de la Persona de Contacto son requeridos.";
		}
		if(Trim(AsisTel1.value) != "") {
			var tel = validaTelefono(AsisTel1.value,".");
			if(tel != -1) {
  			AsisTel1.value = tel;
				if(!rol(AsisTel1Rol)) {
      		errores += "\n- El Rol del Teléfono 1 de la Asistente o Secretaria de la Persona de Contacto es requerido.";
    		}
			} else {
  			errores += "\n- El Teléfono 1 de la Asistente o Secretaria de la Persona de Contacto es invalido.";
			}  		
		}
		if(Trim(AsisTel2.value) != "") {
			var tel = validaTelefono(AsisTel2.value,".");
			if(tel != -1) {
  			AsisTel2.value = tel;
				if(!rol(AsisTel2Rol)) {
      		errores += "\n- El Rol del Teléfono 2 de la Asistente o Secretaria de la Persona de Contacto es requerido.";
    		}
			} else {
  			errores += "\n- El Teléfono 2 de la Asistente o Secretaria de la Persona de Contacto es invalido.";
			}  		
		}*/
	}
	if(errores == "") {
  	return true;
	} else {
  	alert("Han ocurrido los errores siguientes:\n" + errores);
		return false;
	}
  
}
function validaTelefono(tel,separador) {
	var valido = false;
	var limpio = "";
  if(tel != "") {
    for(var x=0; x<tel.length; x++) {
			var pos = tel.substr(x,1);
			var cod = pos.charCodeAt();
    	if(cod > 47 && cod < 58) {
    		limpio += pos; 
  		}
  	}
		var area = limpio.substr(0,3);
		var tel1 = limpio.substr(3,3);
		var tel2 = limpio.substring(6,limpio.length);
		if(limpio.length == 10 && area >= 809) {
  		valido = true;
		}
  }
	if(valido) {
  	return area + separador + tel1 + separador + tel2;
	} else {
  	return -1;
	}
}
function rol(objRol) {
  var ck = false;
	for(var x=0; x<objRol.length; x++) {
  	if(objRol[x].checked) {
    	ck = true;
  	}
	}
	return ck;
}
function enviar() {
  if(valida()) {
    solAfi.submit();
  }
}
function limpiar() {
  solAfi.reset();
	solAfi.EmNombre.focus()
}
window.onload = function() {
  solAfi.EmNombre.focus()
}
document.onkeyup = function() {
  switch(event.keyCode) {
  	case 118:
  		limpiar();
    	break;
  	case 13:
		case 119:
  		enviar();
    	break;
	}
}