var xmlHttp;// global instance of XMLHttpRequest
var xmlHttpMail;

var valido;
var usuarioValidado;
var mailValidado;

function createXmlHttpRequest()
{
    if(window.ActiveXObject){
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }else if(window.XMLHttpRequest){
        xmlHttp=new XMLHttpRequest();
    }
}

function createXmlHttpRequestMail()
{
     if(window.ActiveXObject){
        xmlHttpMail=new ActiveXObject("Microsoft.XMLHTTP");
     }else if(window.XMLHttpRequest){
        xmlHttpMail=new XMLHttpRequest();
     }
}

function validaUsuario()
{
    var usuario=document.forma.usuario.value;
    createXmlHttpRequest();
    xmlHttp.open("GET","php_xml/validaUsuario.php?usuario=" + usuario,true);
    xmlHttp.onreadystatechange=handleStateUsuario;
    xmlHttp.send(null)
}

function handleStateUsuario()
{
    var usuarioU = document.getElementById('usuarioU');
    if(xmlHttp.readyState==4){
        if(xmlHttp.status==200){
    		var res =  xmlHttp.responseText;
            if (res=="USO"){
                 valido = false;
                 usuarioU.style.display = 'block';
            }else{
                 valido = true;
                 usuarioU.style.display = 'none';
            }
        }else{
            valido = false;
            usuarioU.style.display = 'block';
        }
    }
	usuarioValido = true;
}

function validaMail()
{
    var mail=document.forma.mail.value;
    createXmlHttpRequestMail();
    xmlHttpMail.open("GET","php_xml/validaMail.php?mail=" + mail,true);
    xmlHttpMail.onreadystatechange=handleStateMail;
    xmlHttpMail.send(null)
}

function handleStateMail(){
    var mailU = document.getElementById('mailU');

    if(xmlHttpMail.readyState==4){
        if(xmlHttpMail.status==200){
    		var res =  xmlHttpMail.responseText;
            if (res=="USO"){
                valido = false;
                mailU.style.display = 'block';
				
				var mailF = document.forma.mail;
	   		 	mailF.focus();
            }else{
                mailU.style.display = 'none';
                valido = true;
            }
        }else{
           mailU.style.display = 'block';
           valido = false;
		   
		   var mailF = document.forma.mail;
	   	   mailF.focus();
        }
    }
		mailValido = true;
}

function validaRegistro()
{
	usuarioValidado = false;
    mailValidado = false;
	
	valido = true;
	
	/* Campos para usuario */
	
    var usuarioM = document.getElementById('usuarioM');//vacio
    var usuarioI = document.getElementById('usuarioI');//invalido
    var usuarioU = document.getElementById('usuarioU');//en uso
	var passwordM = document.getElementById('passwordM');//vacio
	var passwordI = document.getElementById('passwordI');//invalido
	//var tratamientoM = document.getElementById('tratamientoM');
	var nombreM = document.getElementById('nombreM');
	var aPaternoM = document.getElementById('aPaternoM');
	var aMaternoM = document.getElementById('aMaternoM');
	var mailM = document.getElementById('mailM');//vacio
	var mailM2 = document.getElementById('mailM2');//invalido
    var mailU = document.getElementById('mailU');//en uso
	var empresaIdM = document.getElementById('empresaIdM');
	var puestoM = document.getElementById('puestoM');
	var calleM = document.getElementById('calleM');
	var numExtM = document.getElementById('numExtM');
	var numIntM = document.getElementById('numIntM');
	var coloniaM = document.getElementById('coloniaM');
	var cpM = document.getElementById('cpM');
	var delegacionM = document.getElementById('delegacionM');
	var ciudadM = document.getElementById('ciudadM');
	var estadoM = document.getElementById('estadoM');
	var paisIdM = document.getElementById('paisIdM');
	var telefonoM = document.getElementById('telefonoM');
	var telCelularM = document.getElementById('telCelularM');
	var faxM = document.getElementById('faxM');
	var nextelM = document.getElementById('nextelM');
	//var newsM = document.getElementById('newsM');
	//var infoClientesM = document.getElementById('infoClientesM');
	var fechaNacM = document.getElementById('fechaNacM');
    //var nivelIdM = document.getElementById('nivelIdM');
	//var validacionM = document.getElementById('validacionM');
	//var nivelAdminM = document.getElementById('nivelAdminM');	
	var tipoM = document.getElementById('tipoM');
	var subtipoM = document.getElementById('subtipoM');

	usuarioM.style.display = 'none';
    usuarioI.style.display = 'none';
    usuarioU.style.display = 'none';
	passwordM.style.display = 'none';
	passwordI.style.display = 'none';
	//tratamientoM.style.display = 'none';
	nombreM.style.display = 'none';
	aPaternoM.style.display = 'none';
	aMaternoM.style.display = 'none';
	mailM.style.display = 'none';
	mailM2.style.display = 'none';
    mailU.style.display = 'none';
	empresaIdM.style.display = 'none';
	puestoM.style.display = 'none';
	calleM.style.display = 'none';
	numExtM.style.display = 'none';
	numIntM.style.display = 'none';
	coloniaM.style.display = 'none';
	cpM.style.display = 'none';
	delegacionM.style.display = 'none';
	ciudadM.style.display = 'none';
	estadoM.style.display = 'none';
	paisIdM.style.display = 'none';
	telefonoM.style.display = 'none';
	telCelularM.style.display = 'none';
	faxM.style.display = 'none';
	nextelM.style.display = 'none';
	//newsM.style.display = 'none';
	//infoClientesM.style.display = 'none';
	fechaNacM.style.display = 'none';
    //nivelIdM.style.display = 'none';
	//validacionM.style.display = 'none';
	//nivelAdminM.style.display = 'none';
	tipoM.style.display = 'none';
	subtipoM.style.display = 'none';
	
	var usuario = document.forma.usuario.value;
	var password = document.forma.password.value;
	var tratamientoId = document.forma.tratamientoId.value;
	var nombre = document.forma.nombre.value;
	var aPaterno = document.forma.aPaterno.value;
	var aMaterno = document.forma.aMaterno.value;
	var mail = document.forma.mail.value;
	var empresaId = document.forma.empresaId.value;
	var puesto = document.forma.puesto.value;
	var calle = document.forma.calle.value;
	var numExt = document.forma.numExt.value;
	var numInt = document.forma.numInt.value;
	var colonia = document.forma.colonia.value;
	var cp = document.forma.cp.value;
	var delegacion = document.forma.delegacion.value;
	var ciudad = document.forma.ciudad.value;
	var estado = document.forma.estado.value;
	var paisId = document.forma.paisId.value;
	var telefono = document.forma.telefono.value;
	var telCelular = document.forma.telCelular.value;
	var fax = document.forma.fax.value;
	var nextel = document.forma.nextel.value;
	var news = document.forma.news.value;
	var infoClientes = document.forma.infoClientes.value;
	var dia = document.forma.dia.value;
	var mes = document.forma.mes.value;
	var anio = document.forma.anio.value;
    var nivelId = document.forma.nivelId.value;
	var validacion = document.forma.validacion.value;
	var nivelAdmin = document.forma.nivelAdmin.value;
	var tipo = document.forma.tipo.value;
	var subtipo = document.forma.subtipo.value;
	
	/* Campos para empresa */

	/*var enNombreM = document.getElementById('enNombreM');
	var enSucursalM = document.getElementById('enSucursalM');
	var enRazonM = document.getElementById('enRazonM');
	var enRFCM = document.getElementById('enRFCM');
	var enCalleM = document.getElementById('enCalleM');
	var enNoExtM = document.getElementById('enNoExtM');
	var enNoIntM = document.getElementById('enNoIntM');
	var enColoniaM = document.getElementById('enColoniaM');
	var enCPM = document.getElementById('enCPM');
	var enDelegacionM = document.getElementById('enDelegacionM');
	var enCiudadM = document.getElementById('enCiudadM');
	var enEstadoM = document.getElementById('enEstadoM');
	var enPaisIdM = document.getElementById('enPaisIdM');
	var enAPM = document.getElementById('enAPM');
	var enWebM = document.getElementById('enWebM');
	var enTelefonoM = document.getElementById('enTelefonoM');
	var enExtensionM = document.getElementById('enExtensionM');
	var enFaxM = document.getElementById('enFaxM');
	
	enNombreM.style.display = 'none';
	enSucursalM.style.display = 'none';
	enRazonM.style.display = 'none';
	enRFCM.style.display = 'none';
	enCalleM.style.display = 'none';
	enNoExtM.style.display = 'none';
	enNoIntM.style.display = 'none';
	enColoniaM.style.display = 'none';
	enCPM.style.display = 'none';
	enDelegacionM.style.display = 'none';
	enCiudadM.style.display = 'none';
	enEstadoM.style.display = 'none';
	enPaisIdM.style.display = 'none';
	enAPM.style.display = 'none';
	enWebM.style.display = 'none';
	enTelefonoM.style.display = 'none';
	enExtensionM.style.display = 'none';
	enFaxM.style.display = 'none';
	
	var enNombre = document.forma.enNombre.value;
	var enSucursal = document.forma.enSucursal.value;
	var enRazon = document.forma.enRazon.value;
	var enRFC = document.forma.enRFC.value;
	var enCalle = document.forma.enCalle.value;
	var enNoExt = document.forma.enNoExt.value;
	var enNoInt = document.forma.enNoInt.value;
	var enColonia = document.forma.enColonia.value;
	var enCP = document.forma.enCP.value;
	var enDelegacion = document.forma.enDelegacion.value;
	var enCiudad = document.forma.enCiudad.value;
	var enEstado = document.forma.enEstado.value;
	var enPaisId = document.forma.enPaisId.value;
	var enAP = document.forma.enAP.value;
	var enWeb = document.forma.enWeb.value;
	var enTelefono = document.forma.enTelefono.value;
	var enExtension = document.forma.enExtension.value;
	var enFax = document.forma.enFax.value;
	
	var seleccEmpresa = document.getElementById('seleccEmpresa');*/
	
	
	/*var nombreF = document.forma.nombre;
	nombreF.focus();*/
	
	/*if (usuario==""){
	    valido = false;
   	    usuarioM.style.display = 'block';
	}else{
	  if (!esTexto(usuario)){
		  valido = false;
		  usuarioI.style.display = 'block';
	  }else{
          validaUsuario();
		  while(!usuarioValido){
				// Time para validar cedula
		  }
      }
	}		
	
	if (password==""){
	   	valido = false;
   	   	passwordM.style.display = 'block';
	}else{
	  	if (!esTexto(password)){
		    valido = false;
			passwordI.style.display = 'block';
		}
	}	*/
	

	//Campos numericos
	/*if (telefono==""){
	   	valido = false;
   	 	telefonoM.style.display = 'block';
	}else{
	  	if(!esNumero(telefono)){
		    valido = false;
			telefonoM.style.display = 'block';
		}
	}*/
	
	/* (cp==""){
	   	valido = false;
   	 	cpM.style.display = 'block';
	}else{
	  	if (!esNumero(cp)){
		    valido = false;
			cpM.style.display = 'block';
		}
	}*/
	
	//Los demas campos
	
	
	//mail
	if (mail==""){
	   valido = false;
   	   mailM.style.display = 'block';
	   
	   var mailF = document.forma.mail;
	   mailF.focus();
	}else{
  		var filter=/^[A-Za-z][A-Za-z0-9_.-]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;	
		if (!filter.test(mail)){
	   		 valido = false;
   	 		 mailM2.style.display = 'block';
			 var mailF = document.forma.mail;
	   		 mailF.focus();
		}else{
             validaMail();
				while(!mailValido){
	  				// Time para validar cedula
				}						 
        }
	}
	
	if (subtipo=="0"){
	   	valido = false;
   		subtipoM.style.display = 'block';
		
		var subtipoF = document.forma.subtipo;
	    subtipoF.focus();
	}
	
	if (tipo=="0"){
	   	valido = false;
   		tipoM.style.display = 'block';
		
		var tipoF = document.forma.tipo;
	    tipoF.focus();
	}
	
	if (delegacion==""){
	   	valido = false;
   		delegacionM.style.display = 'block';
		
		var delegacionF = document.forma.delegacion;
	   	delegacionF.focus();
	}
	
	if (estado==""){
	   	valido = false;
   		estadoM.style.display = 'block';
		
		var estadoF = document.forma.estado;
	   	estadoF.focus();
	}
	
	if (paisId=="0"){
	   	valido = false;
   		paisIdM.style.display = 'block';
		
		var paisIdF = document.forma.paisId;
	   paisIdF.focus();
	}
	
	if ((dia=="")||(mes=="")||(anio=="")||(dia=="dd")||(mes=="mm")||(anio=="aaaa")||(!esNumero(dia))||(!esNumero(mes))||(!esNumero(anio))){
	   	valido = false;
		fechaNacM.style.display = 'block';
		
		var diaF = document.forma.dia;
		diaF.focus();
	}
	
	if (aPaterno==""){
	   	valido = false;
   		aPaternoM.style.display = 'block';
		
		var aPaternoF = document.forma.aPaterno;
	   	aPaternoF.focus();
	}
	
	if (nombre==""){
	   	valido = false;
   		nombreM.style.display = 'block';
		
		var nombreF = document.forma.nombre;
	   	nombreF.focus();
	}
	
	if (password==""){

	   	valido = false;
   		passwordM.style.display = 'block';
		var passwordF = document.forma.password;
	   	passwordF.focus();
	}
	
	if (usuario==""){

	   	valido = false;
   		usuarioM.style.display = 'block';
		var usuarioF = document.forma.usuario;
	   	usuarioF.focus();
	}
	//validamos campos de empresa
	

	/*var mychkbox = document.getElementById('registra_empresa');
	if(mychkbox.checked){
		//validar campos de empresa
		seleccEmpresa.value='Y';
		
		if(enFax==""){
			valido = false;
			enFaxM.style.display = 'block';
			var enFaxF = document.forma.enFax;
	   		enFaxF.focus();
		}else{
			if (!esNumero(enFax)){
				valido = false;
				enFaxM.style.display = 'block';
				var enFaxF = document.forma.enFax;
	   			enFaxF.focus();
			}
		}
		
		if(enExtension==""){
			valido = false;
			enExtensionM.style.display = 'block';
			var enExtensionF = document.forma.enExtension;
	   		enExtensionF.focus();
		}else{
			if (!esNumero(enExtension)){
				valido = false;
				enExtensionM.style.display = 'block';
				var enExtensionF = document.forma.enExtension;
	   			enExtensionF.focus();
			}
		}
		
		if(enTelefono==""){
			valido = false;
			enTelefonoM.style.display = 'block';
			var enTelefonoF = document.forma.enTelefono;
	   		enTelefonoF.focus();
		}else{
			if (!esNumero(enTelefono)){
				valido = false;
				enTelefonoM.style.display = 'block';
				var enTelefonoF = document.forma.enTelefono;
	   			enTelefonoF.focus();
			}
		}
		
		if (enWeb==""){
	   		valido = false;
   			enWebM.style.display = 'block';
			var enWebF = document.forma.enWeb;
	   		enWebF.focus();
		}
		
		
		
		if(enAP==""){
			valido = false;
			enAPM.style.display = 'block';
			var enAPF = document.forma.enAP;
	   		enAPF.focus();
		}else{
			if (!esNumero(enAP)){
				valido = false;
				enAPM.style.display = 'block';
				var enAPF = document.forma.enAP;
	   			enAPF.focus();
			}
		}

		
		if(enCP==""){
			valido = false;
			enCPM.style.display = 'block';
			var enCPF = document.forma.enCP;
	   		enCPF.focus();
		}else{
			if (!esNumero(enCP)){
				valido = false;
				enCPM.style.display = 'block';
				var enCPF = document.forma.enCP;
	   			enCPF.focus();
			}
		}
		
		
		if(enNoInt==""){
			valido = false;
			enNoIntM.style.display = 'block';
			var enNoIntF = document.forma.enNoInt;
	   		enNoIntF.focus();
		}else{
			if (!esNumero(enNoInt)){
				valido = false;
				enNoIntM.style.display = 'block';
				var enNoIntF = document.forma.enNoInt;
	   			enNoIntF.focus();
			}
		}
		
		if(enNoExt==""){
			valido = false;
			enNoExtM.style.display = 'block';
			var enNoExtF = document.forma.enNoExt;
	   		enNoExtF.focus();
		}else{
			if (!esNumero(enNoExt)){
				valido = false;
				enNoExtM.style.display = 'block';
				var enNoExtF = document.forma.enNoInt;
	   			enNoExtF.focus();
			}
		}
		
		if (enCalle==""){
	   		valido = false;
   			enCalleM.style.display = 'block';
			var enCalleF = document.forma.enCalle;
	   		enCalleF.focus();
		}
		
		if (enColonia==""){
	   		valido = false;
   			enColoniaM.style.display = 'block';
			var enColoniaF = document.forma.enColonia;
	   		enColoniaF.focus();
		}
		
		if (enDelegacion==""){
	   		valido = false;
   			enDelegacionM.style.display = 'block';
			var enDelegacionF = document.forma.enDelegacion;
	   		enDelegacionF.focus();
		}
		
		if (enCiudad==""){
	   		valido = false;
   			enCiudadM.style.display = 'block';
			var enCiudadF = document.forma.enCiudad;
	   		enCiudadF.focus();
		}
		
		if (enEstado==""){
	   		valido = false;
   			enEstadoM.style.display = 'block';
			var enEstadoF = document.forma.enEstado;
	   		enEstadoF.focus();
		}
		
		if (enPaisId=="0"){
	   		valido = false;
   			enPaisIdM.style.display = 'block';
			var enPaisIdF = document.forma.enPaisId;
	   		enPaisIdF.focus();
		}
		
		if (enSucursal==""){
	   		valido = false;
   			enSucursalM.style.display = 'block';
			var enSucursalF = document.forma.enSucursal;
	   		enSucursalF.focus();
		}
		
		if (enNombre==""){
	   		valido = false;
   			enNombreM.style.display = 'block';
			var enNombreF = document.forma.enNombre;
	   		enNombreF.focus();
		}
		
		
	}else{	
		seleccEmpresa.value='N';	
	}
	*/

	//Enviar formulario
	if (valido){
	   document.forma.submit()	
	}

}

function esNumero(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++){ 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1){
         IsNumber = false;
      }
   }
   return IsNumber;
   
} 

function esTexto(sText)
{
   var ValidChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++){ 
      	Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1){
			IsNumber = false;
		}
   }
   return IsNumber;
   
}	 