// JavaScript Document
// Libreria Ajax desarrollada por: Badwin Arevalo Vera y Alexander Perez Rojas
// UNIVERSIDAD FRANCISCO DE PAULA SANTANDER OCAÑA
// Función que se encarga de crear una instancia del objeto XMLHTTPRequest dependiendo del navegador que tenga el usuario
function objetoAJAX(){
    var req;
    try {
        req = new XMLHttpRequest();
    } 
    catch (err1) {
        try {
            req = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (err2) {
            try {
                req = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (err3) {
                req = false;
            }
        }
    }
    return req;
}

var errores = {
    404: "La página solicitada no ha sido encontrada.",
	414: "Los valores pasados por GET superan los 512 bytes.",
    500: "Se ha producido algún error en el servidor que impide procesar la petición.",
    503: "El servidor está sobrecargado de peticiones y no puede procesar la petición realizada."
}


var hilo = new Array();
//funcion para realizar peticiones al servidor
function peticion(num_peticion, url, datos, capa, funcion, metodo, getxml, image, mensaje){
    hilo[num_peticion] = objetoAJAX();
	var capaContenedora = document.getElementById(capa);
    
	hilo[num_peticion].onreadystatechange = function(){
        //asignarContenido(hilo[i], capaContenedora, getxml, funcion, image, mensaje);
		if (hilo[num_peticion].readyState == 4) {
			if (hilo[num_peticion].status == 200) {
				var resultado = hilo[num_peticion].responseText;
					 if(getxml==true) {
						 resultado = hilo[num_peticion].responseXML;
					 }
					  if (funcion){
						  eval(funcion + '(resultado,capaContenedora)');
					  }else {
						   capaContenedora.innerHTML = resultado;
					  }
			}else {
					capaContenedora.innerHTML = "Ha ocurrido un problema accediendo al servidor: " + errores[hilo.status];
			}
		}
		else {
				capaContenedora.innerHTML = '<img src=images/preloader_ajax/' + image + '.gif>' + mensaje;
		}
    }
	
	//Verificamos el tipo de método
	if (metodo.toUpperCase() == 'GET') {
        var aleatorio = parseInt(Math.random() * 99999999);
			if (datos) {
				url += '?' + datos + '&rand=' + aleatorio;
			}
			else {
				url += '?rand=' + aleatorio;
			}
        hilo[num_peticion].open("GET", url, true);
		hilo[num_peticion].send(null);
    }
    else if (metodo.toUpperCase() == 'POST') {
			hilo[num_peticion].open("POST", url, true);
            hilo[num_peticion].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			hilo[num_peticion].setRequestHeader("Accept-Charset", "iso-8859-1,utf-8;q=0.7,*;q=0.7");
            hilo[num_peticion].send(datos);
    }
}

//funcion para recorrer los elementos de un formulario
function recorrer_form(nameform){
	var elemento = window.document.forms[nameform].elements;
	
	var retorno="";
	//bucle for para recorrer todos los elementos del formulario
	for (i=0; i<elemento.length; i++){
		if (elemento[i].type == "radio"){
			if (elemento[i].checked==true){
				retorno += elemento[i].name + '=' + encodeURIComponent (elemento[i].value) + "&";
			}
		}else if (elemento[i].type == "checkbox"){
			if (elemento[i].checked==true){
				retorno += elemento[i].name + '=' + encodeURIComponent (elemento[i].value) + "&";
				
			}
		}else if (elemento[i].value.length > 0 ){
			//alert(elemento[i].name);
				retorno +=elemento[i].name + '=' + encodeURIComponent (elemento[i].value) + "&" ;
		}
	}
	retorno = retorno.substring(0, retorno.lastIndexOf('&'));
	return retorno;
	//alert (retorno);
}

//limpiar bloques
function limpiardiv (capa){
	window.document.getElementById(capa).style.display='none';
}

//llenar bloque con vacio
function vaciardiv(capa){
	window.document.getElementById(capa).innerHTML=' ';
}

//ir a marcador
function ir_a_marcador (marcador){
	window.location=marcador;
}

//cambiar valor
function cambia_value (input, valor){
	window.document.getElementById(input).value=valor;
}

//llenar bloque
function llenardiv(capa, valor){
	window.document.getElementById(capa).innerHTML=valor;
}

//llevar foco y cambiar color de fondo a un elemento de un formulario cualquiera
function foco_log_inicio(element_fondo, element_foco, color){
	window.document.getElementById(element_fondo).style.backgroundColor=color;
	window.document.getElementById(element_foco).focus();
}

//llevar foco 
function foco(element_foco){
	window.document.getElementById(element_foco).focus();
}

/*ingles 2010*/
//validar formulario ingresar usuario
function validarfrm(form) {
if (!validasolonumeros('facepruo','retro_facepruo')) {
return false;
}
if (!validasolonumeros('cc','retro_cc')) {
return false;
}
if (!validasolotexto('nombre','retro_nombre')) {
return false;
}
if (!validasolotexto('apellido','retro_apellido')) {
return false;
}
if (!validanovacio('facepruo','retro_facepruo')) {
return false;
}
if (!validanovacio('cc','retro_cc')) {
return false;
}
return true;
form.submit();
}

function validacorreo(campo, destinomens) {
	var reg = /^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/;
	if (document.getElementById(campo).value==null) 
	{
		document.getElementById(campo).value = "";
	}
	var valor = "" + document.getElementById(campo).value;
	var midestino = document.getElementById(destinomens);
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)) 
	{
		midestino.innerHTML = ' &nbsp;<span> <img src="images/formularios/chulitoverde.png" alt="Bien. "> Formato v&aacute;lido</span>';
		midestino.className = "texto_advertencia1";		
	return true;
	} 
	else 
	{ 
	midestino.innerHTML = ' &nbsp;<span> <img src="images/formularios/chulitorojo.png" alt="No v&aacute;lido. "> La direcci&oacute;n no v&aacute;lida</span>';
	midestino.className = "texto_advertencia2";		
	return false;
	}
}


function validasolonumeros(campo, destinomens) {
var checkOK = "1234567890_" + "()-";
var valor = "" + document.getElementById(campo).value;
var midestino = document.getElementById(destinomens);
var allValid = true;
for (i = 0; i < valor.length; i++) {
ch = valor.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
}
if ((!allValid) || (valor == "")) {
midestino.innerHTML = ' &nbsp;<span> <img src="images/formularios/chulitorojo.png" alt="No v&aacute;lido. "> Vac&iacute;o o no v&aacute;lidos</span>';
midestino.className = "texto_advertencia2";
return false;
} 
else {
midestino.innerHTML = ' &nbsp;<span> <img src="images/formularios/chulitoverde.png" alt="Bien. "> Formato v&aacute;lido</span>';
midestino.className = "texto_advertencia1";
return true;
 }
}

function validasolotexto(campo, destinomens) {
var checkOK = " " + "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ_" + "abcdefghijklmnñopqrstuvwxyzáéíóú";
var valor = "" + document.getElementById(campo).value;
var midestino = document.getElementById(destinomens);
var allValid = true;
for (i = 0; i < valor.length; i++) {
ch = valor.charAt(i);
for (j = 0; j < checkOK.length; j++)
if (ch == checkOK.charAt(j))
break;
if (j == checkOK.length) {
allValid = false;
break;
}
}
if ((!allValid) || (valor == "")) {
midestino.innerHTML = ' &nbsp;<span> <img src="images/formularios/chulitorojo.png" alt="No v&aacute;lido. "> Vac&iacute;o o no v&aacute;lidos</span>';
midestino.className = "texto_advertencia2";
return false;
} 
else {
midestino.innerHTML = ' &nbsp;<span> <img src="images/formularios/chulitoverde.png" alt="Bien. "> Formato v&aacute;lido</span>';
midestino.className = "texto_advertencia1";
return true;
 }
}

function validanovacio(campo, destinomens) {
var valor = "" + document.getElementById(campo).value;
var midestino = document.getElementById(destinomens);
if (valor != "" && valor != " " && valor != "<br>") {
midestino.innerHTML = ' &nbsp;<span> <img src="images/formularios/chulitoverde.png" alt="Bien. "> Formato v&aacute;lido</span>';
midestino.className = "texto_advertencia1";
return true;
} 
else {
midestino.innerHTML = ' &nbsp;<span> <img src="images/formularios/chulitorojo.png" alt="No v&aacute;lido. "> Por favor, no dejar el campo vac&iacute;o</span>';
midestino.className = "texto_advertencia2";
return false;
	}
}

var newwindow;
function popup(url)
{
newwindow=window.open(url,'name','width=800,height =600,left=200,top=200,scrollbars=yes,hotkeys=no,location=no,menubar=no,status=no,toolbar=no');
if (window.focus)
{
    newwindow.focus()
    }
}
