function nuevoAjax()
{ 
	/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
	lo que se puede copiar tal como esta aqui */
	var xmlhttp=false; 
	try 
	{ 
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); 
	}
	catch(e)
	{ 
		try
		{ 
			// Creacion del objet AJAX para IE 
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
		} 
		catch(E) { xmlhttp=false; }
	}
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); } 

	return xmlhttp; 
}

function cargaBarrios()
{
	var valor=document.getElementById("localidades").options[document.getElementById("localidades").selectedIndex].value;
	if (valor==0)
	{
		// Si el usuario eligio la opcion "Elige", no voy al servidor y pongo todo por defecto
		combo=document.getElementById("barrios");
		combo.length=0;
		var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Seleccione localidad...";
		combo.appendChild(nuevaOpcion);	combo.disabled=true;
	}
	else
	{
		ajax=nuevoAjax();
		ajax.open("GET", "cargo_barrios.php?seleccionado="+valor, true);
		ajax.onreadystatechange=function() 
		{ 
			if (ajax.readyState==1)
			{
				// Mientras carga elimino la opcion "Elige localidad" y pongo una que dice "Cargando"
				combo=document.getElementById("barrios");
				combo.length=0;
				var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
				combo.appendChild(nuevaOpcion); combo.disabled=true;	
				document.getElementById("comentario").value = "Buscando barrios...";
			}
			if (ajax.readyState==4)
			{ 
				document.getElementById("fila_barrio").innerHTML=ajax.responseText;
				document.getElementById("comentario").value = " ";
			} 
		}
		ajax.send(null);
	}
}

function buscoDomicilio()
{
	var fcalle = document.getElementById("calle").value;
	var fpuerta = document.getElementById("puerta").value;
	var fsubpuerta = document.getElementById("subpuerta").value;
	var ftipocasa = document.getElementById("tipocasa").value;
	if (fcalle == ""){
		alert("Por favor ingrese la calle del domicilio");
		solicitud.calle.focus();
		return false;
	}
	
		ajax = nuevoAjax();
		ajax.open("GET", "busco_domicilio.php?calle="+fcalle+"&puerta="+fpuerta+"&subpuerta="+fsubpuerta+"&tipocasa="+ftipocasa, true);
		ajax.onreadystatechange = function() 
		{ 
			if (ajax.readyState == 1)
				document.getElementById("comentario").value = "Buscando domicilio...";
			if (ajax.readyState == 4)
			{ 
				resp = ajax.responseText.charAt(0);
				if (resp == "<"){
					document.getElementById("fila_domicilio").innerHTML = ajax.responseText;
					document.getElementById("comentario").value = "Domicilio OK";
				}
				else{
					document.getElementById("domicilio").value = 0;
					document.getElementById("comentario").value = "Domicilio no registrado. Igualmente puede enviar esta solicitud sin el domicilio.";
				}
				document.getElementById("enviar").disabled = false;
			} 
		}
		ajax.send(null);
	
}

function check_digit(wcedula)
{
	var tcte = new Array(7);
	
	tcte[0] = 2;
	tcte[1] = 9;
	tcte[2] = 8;
	tcte[3] = 7;
	tcte[4] = 6;
	tcte[5] = 3;
	tcte[6] = 4;

	if (wcedula.length < 7){
		for (i = wcedula.length + 1; i <= 7; i++)
			wcedula = '0' + wcedula;
	}

	var checksum = 0;
	for (i = 1; i <= 7; i++)
		checksum = checksum + Number(wcedula.substr(i-1,1)) * tcte[i-1];
	
	var rchecksum = checksum % 10;
	if (rchecksum == 0) 
		return(String(0));
	else
		return(String(10 - rchecksum));
}

//agrego la función trim que no existe en javascript.
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

function guardo()
{
	var fci = document.getElementById("ci").value;
	var fdigito = document.getElementById("digito").value;
	var fapellido1 = document.getElementById("apellido1").value;
	var fapellido2 = document.getElementById("apellido2").value;
	var fnombre1 = document.getElementById("nombre1").value;
	var fnombre2 = document.getElementById("nombre2").value;
	var ffecha_nacimiento = document.getElementById("fecha_nacimiento").value;
	var fsexo = document.getElementById("sexo").value;
	var fdomicilio = document.getElementById("domicilio").value;
	
	if (fci != ""){
		if (fdigito == ""){
			alert("Por favor ingrese digito verificador de la cédula de identidad");
			solicitud.digito.focus();
			return false;
		}
		var fced = fci.substr(0,1) + fci.substr(2,3) + fci.substr(6,3);
		fced = fced.trim();
		if (fdigito != check_digit(fced)){
			alert("Digito verificador de la cédula de identidad incorrecto");
			solicitud.digito.focus();
			return false;
		}
	}
	
	if (fapellido1 == ""){
		alert("Por favor ingrese el primer apellido");
		solicitud.apellido1.focus();
		return false;
	}
	if (fnombre1 == ""){
		alert("Por favor ingrese el primer nombre");
		solicitud.nombre1.focus();
		return false;
	}
	if (fsexo == ""){
		alert("Por favor indique el sexo");
		solicitud.sexo.focus();
		return false;
	}
	
	ajax = nuevoAjax();
	ajax.open("GET", "guardo.php?ci="+fci+"&apellido1="+fapellido1+"&apellido2="+fapellido2+"&nombre1="+fnombre1+"&nombre2="+fnombre2+"&fecha_nacimiento="+ffecha_nacimiento+"&sexo="+fsexo+"&domicilio="+fdomicilio, true);
	ajax.onreadystatechange = function() { 
		if (ajax.readyState == 4)
			document.getElementById("comentario").value = ajax.responseText; 
	}
	ajax.send(null);

}

function mask(str,textbox,loc,delim){
	var locs = loc.split(',');
	
	for (var i = 0; i <= locs.length; i++){
		for (var k = 0; k <= str.length; k++){
			if (k == locs[i]){
				if (str.substring(k, k+1) != delim){
					str = str.substring(0,k) + delim + str.substring(k,str.length)
				}
			}
		}
	}
	textbox.value = str
}


