// Esta es para llamado de data remote via xmlHttpRequest

function dataServer() {
};
dataServer.prototype.start = function() {
	try {
		// Mozilla / Safari
		this._xh = new XMLHttpRequest();
	} catch (e) {
		// Explorer
		var _ieModelos = new Array(
		'MSXML2.XMLHTTP.5.0',
		'MSXML2.XMLHTTP.4.0',
		'MSXML2.XMLHTTP.3.0',
		'MSXML2.XMLHTTP',
		'Microsoft.XMLHTTP'
		);
		var success = false;
		for (var i=0;i < _ieModelos.length && !success; i++) {
			try {
				this._xh = new ActiveXObject(_ieModelos[i]);
				success = true;
			} catch (e) {
				// Implementar manejo de excepciones
			}
		}
		if ( !success ) {
			// Implementar manejo de excepciones, mientras alerta.
			return false;
		}
		return true;
	}
}

dataServer.prototype.busy = function() {
	stateActual = this._xh.readyState;
	return (stateActual && (stateActual < 4));
}

dataServer.prototype.procesa = function() {
	if (this._xh.readyState == 4 && this._xh.status == 200) {
		this.process = true;
	}
}

dataServer.prototype.send = function(urlget,data) {
	if (!this._xh) {
		this.start();
	}
	if (!this.busy()) {
		this._xh.open("GET",urlget,false);
		this._xh.send(data);
		if (this._xh.readyState == 4 && this._xh.status == 200) {
			return this._xh.responseText;
		}
		
	}
	return false;
}


// Este es un acceso rapido, le paso la url y el div a changer
function _gr(reqsession,divcont) {
	remote = new dataServer;
	nt = remote.send(reqsession,"");
	document.getElementById(divcont).innerHTML = nt;
}

function change(nn,actual) {
	elem = document.getElementById(nn);
	elem.value='open';
	elem.innerHTML = "<input class='headline_input' maxlength=\"140\"class=\"text\" \"type=\"text\" value=\"" + actual.innerHTML + "\" size=\"140\" onkeypress=\"return guardaEnter(this,event,'" + nn + "')\" onblur=\"return guardaBlur(this," + nn + ")\" />";
	elem.firstChild.focus();
}

//Estas dos son para guardar

var urlBase = "../php/guarda.php?coded=";


function guardaEnter(campo,evt,idfld) {
	evt = (evt) ? evt : window.event;
	if (evt.keyCode == 13 && campo.value!="") {
		campo.value = campo.value.replace("/\|/","");
		elem = document.getElementById(idfld);
		remote = new dataServer;
		//nt = remote.send(urlBase + escape(b64.encode(elem.className + "|" + campo.value)),"");
		nt = remote.send(urlBase + escape(campo.value)+"&file="+idfld,"");
		
		elem.innerHTML = "<span onclick=\"change('" + idfld + "',this);\">" + nt + "</span>";
		elem.value='closed';
//elem.innerHTML = urlBase + escape(b64.encode(elem.className + "|" + campo.value));
return false;
	} else {
		return true;
	}
}

function guardaBlur(campo,idfld) {
	if (campo.value!="") {
		campo.value = campo.value.replace("/\|/","");
		elem = document.getElementById(idfld);
		remote = new dataServer;
		//nt = remote.send(urlBase + escape(b64.encode(elem.className + "|" + campo.value)),"");
		nt = remote.send(urlBase + escape(campo.value)+"&file="+idfld,"");
		elem.innerHTML = "<span onclick=\"change('" + idfld + "',this);\"></span>";
		elem.value='closed';

		elem.firstChild.innerHTML = nt;
		return false;
	}
}

