function check_links(){
    var links = document.getElementsByTagName('a');
    for( var i=0; i < links.length; i++ ){
    	var check_numeral = links[i].href.split("#");
    	if(check_numeral.length == 1){
		    links[i].onclick = function(){
		    	var url;
		    	var url_tmp = this.href.split("?put=");
		    	if(url_tmp.length > 1){
					var url_tmp2 = url_tmp[1].split("&");
					url = "utf8_convert.php?put=" + url_tmp2[0];
					for(i = 1;i<url_tmp2.length;i++){
						url = url + "&" + url_tmp2[i];
					}
					cargar_pagina(url);
		    		return false;
				}
		    }
		}
    }
}

function check_forms(){
    var forms = document.getElementsByTagName('form');
    for( var i=0; i < forms.length; i++ ){
    	if(forms[i].enctype=="application/x-www-form-urlencoded"){
	        forms[i].onsubmit = function(){
				enviar_form(this);
				return false;
	        }
	    }
    }
}

function actualizar_procesos(){
	check_links();
	check_forms();
	initLightbox();
	reemplazar_textos();


	var arVersion = navigator.appVersion.split("MSIE")
	var version = parseFloat(arVersion[1])
	if (version >= 5.5 && version < 7){
		fix_pngs();
	}
}

function Ajax(){
    var xmlhttp=false;
    try{
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
        try{
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }catch(E){
            xmlhttp = false;
        }
    }

    if(!xmlhttp && typeof XMLHttpRequest!='undefined'){
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}

function cargar_pagina (url){
	var contenedor = document.getElementById("contenido_gral");
    ajax=Ajax();
    ajax.open("GET", url ,true);
    ajax.onreadystatechange=function(){
        if(ajax.readyState==1){
            contenedor.innerHTML = "<div id=\"cargando\">cargando...</div>";
        }else if(ajax.readyState==4){
        	switch(ajax.status){
        		case 200:
        			contenedor.innerHTML = ajax.responseText;
					parse_javascript(ajax.responseText);
        			actualizar_procesos();
        		break;
        		case 404:
        			contenedor.innerHTML = "<div id=\"error_no_existe\">&iexcl;La página no existe!</div>";
        		break;
        		default:
        			contenedor.innerHTML = "<div id=\"error_varios\">Error: ".ajax.status + "</div>";
        	}
        }
    }
    ajax.send(null);
}

function enviar_form(f){
	var contenedor = document.getElementById("contenido_gral");
	var datos = "";

	for(var i=0;i < f.length;i++){
		if(i > 0){
			datos = datos + "&";
		}
		datos = datos + f.elements[i].name + "=" + f.elements[i].value;
	}

	var aux = f.className.split("_");
	if(aux[0] == "validarfn"){
		if(!eval("" + aux[1] + "(f)")){
			return false;
		}
	}
	else{
		if(f.className == "validador_form"){
			 if(!checkForm(f.id)){
			 	return false;
			 }
		}
	}

	var url_action;
	var url_action_tmp = f.action.split("?put=");
	if(url_action_tmp.length > 1){
		var url_action_tmp2 = url_action_tmp[1].split("&");
		url_action = "utf8_convert.php?put=" + url_action_tmp2[0];
		for(i = 1;i<url_action_tmp2.length;i++){
			url_action = url_action + "&" + url_action_tmp2[i];
		}
	}

	ajax=Ajax();
	ajax.open("POST", url_action , true);
	ajax.onreadystatechange=function() {
		if(ajax.readyState==1){
            contenedor.innerHTML = "<div id=\"cargando\">cargando...</div>";
        }else if(ajax.readyState==4){
        	switch(ajax.status){
        		case 200:
        			contenedor.innerHTML = ajax.responseText;
					parse_javascript(ajax.responseText);
        			actualizar_procesos();
        		break;
        		case 404:
        			contenedor.innerHTML = "<div id=\"error_no_existe\">&iexcl;La página no existe!</div>";
        		break;
        		default:
        			contenedor.innerHTML = "<div id=\"error_varios\">Error: ".ajax.status + "</div>";
        	}
        }
	}
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(datos);
}

function parse_javascript(fuente){
	var patron = /<script[^>]*>([^¬]*?)<\/script>/im;
	var resultado = fuente.split(patron);
	//alert(resultado[3]);
	for(var i=0;i<resultado.length;i++){
		if((i%2) != 0){
			eval(resultado[i]);
		}
	}
}

addLoadEvent(check_links);
addLoadEvent(check_forms);
addLoadEvent(initLightbox);

//Event.observe(window, 'load', check_links, false);
//Event.observe(window, 'load', check_forms, false);

