/*****
 * moeb DHTML BackEnd
 * Written By: Angel 'angvp' Velasquez <angvp [at] archlinux.com.ve>
 *****/
function urlFormVars(form) {
	var nro   = form.elements.length;
	var parms = '';
	for (y = 0; y < nro; y++) {
		parms = parms + form.elements[y].name + '=' + form.elements[y].value + '&'
	}
	return parms;
}

function fMakeRequest(url,capa,func,method,form) {
	var bFinal       = false;
	var http_request = false;
	var method       = (method == '') ? 1 : 2;
	var sVars        = (form != '') ? urlFormVars(form) : '';
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
        	http_request.overrideMimeType('text/xml');
		}
	}
	else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
			}
		}
	}
	if (!http_request) {
		alert('error');
		return false;
	}
	http_request.onreadystatechange =
		function (){
			if (http_request.readyState == 4 && !bFinal && http_request.status == 200) {
				bFinal = true;
				defineAction(http_request,capa,func);
        	}
		};
    if (method == 1) {
       http_request.open('GET', url, true);
       http_request.send(null);

    }
    else {
    	//alert('entro aqui' + sVars);
        http_request.open('POST', url, true);
        http_request.setRequestHeader("Method", "POST "+url+" HTTP/1.1");
        http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //OJO
		http_request.send(sVars);
    }
}

function defineAction(objXML,capa,var1) {
/*
		Funcion defineAccion:
		=====================
		Uso: defineAccion(objXML,capa,var1)
		objXML: Se Refiere a el objeto xml referido (es decir, la respuesta XML) desde XHttpRequest
		capa: Se refiere al ID del DIV que se va a manipular
		var1: Se refiere al numero de accion a tomar es decir, si deseamos crear un SELECT con la respuesta XML pasamos como parámetro 1
		ver referencia de la leyenda...

		Casos posibles:
		===============
			caso 1: Crea un select
			caso 2: Crea una tabla
			caso 3: Crea un select o un input hidden
			caso 4: Inserta HTML
*/
		switch (var1) {
	    	case 1:creaSelect(objXML.responseXML,capa,opcional1);break;
			case 2:creaTabla(objXML.responseXML,nom,capa,ancho,largo,opcional1,opcional2,opcional3,opcional4);break;
			case 3:creaSelectH(objXML.responseXML,capa,opcional1);break;
			case 4:fLoadHTML(objXML.responseText,capa);break;
		}
}

function fLoadHTML(data,capa) {
	// Esta funcion inserta HTML en una capa (un poco skilless)
	document.getElementById(capa).innerHTML = data;
}

function fAjaxPostComment(form) {
    fMakeRequest('modules/comments/newcomment.php','commentForm',4,2,form);

}
function fDetectaIp(field) {
    alert('entro aqui');
    var ip = java.net.inetaddress.getlocalhost().gethostaddress();
    field.value = ip;
}
function fLoadCaptcha(field) {
    //field.src = 'http://www.zonalibre.org/blog/imperioruso/archives/test.jpg';
    field.src = 'modules/comments/captcha.php';
}
