function getData(dataSource, divID) {
	var XMLHttpRequestObject = false;
	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (XMLHttpRequestObject) {
		var obj=document.getElementById(divID);
		XMLHttpRequestObject.open("GET", dataSource, true);
		XMLHttpRequestObject.onreadystatechange = function() {
			if (XMLHttpRequestObject.readyState == 1) {
				// NADA
			}
			if (XMLHttpRequestObject.readyState == 4) {
				if (XMLHttpRequestObject.status == 200) {
					obj.innerHTML = XMLHttpRequestObject.responseText;
					var re = new RegExp("<script>([^<]*)", "g");
					var s = XMLHttpRequestObject.responseText;
					for (var results = re.exec(s); results != null; results = re.exec(s)) {
						eval(results[1]);
					}
					delete XMLHttpRequestObject;
					XMLHttpRequestObject=null;
				} else {
					//alert("Error en el módulo Ajax (dataSource="+dataSource+" - divID="+divID+")");
				}
			}
		}
		XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		XMLHttpRequestObject.send(null);
	}
	return(1);
}

function postData(dataSource, valores, divID, execute) {
	var XMLHttpRequestObject = false;
	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (XMLHttpRequestObject) {
		if (divID!="") {
			var obj=document.getElementById(divID);
		}
		XMLHttpRequestObject.open("POST", dataSource, true);
		XMLHttpRequestObject.onreadystatechange = function() {
			if (XMLHttpRequestObject.readyState == 1) {
				// NADA
			}
			else if (XMLHttpRequestObject.readyState == 4) {
				if (XMLHttpRequestObject.status == 200) {
					if (divID!="") {
						obj.innerHTML = XMLHttpRequestObject.responseText;
					}
					var re = new RegExp("<script>([^<]*)", "g");

					var s = XMLHttpRequestObject.responseText;
					for (var results = re.exec(s); results != null; results = re.exec(s)) {
						eval(results[1]);
					}

					delete XMLHttpRequestObject;
					XMLHttpRequestObject=null;
					
					if (execute!="") eval(execute);
				} else {
					//alert("Error en el módulo Ajax (dataSource="+dataSource+" - divID="+divID+")");
				}
			}
		}
		XMLHttpRequestObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		XMLHttpRequestObject.send(valores);
	}
	return(1);
}




/* FILE UPLOAD */
var url = "comunicados/post.php";
var binary;
var filename;
var mytext;

function uploadfile(id) {
	filename = document.getElementById(id).value;
	//mytext = document.getElementById('mytext').value;
	//document.getElementById('ajaxbutton').disabled = true;

	// request local file read permission
	try {
		netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
	} catch (e) {
		alert("Permission to read file was denied.");
	}
	
	// open the local file
	var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
	file.initWithPath( filename );		
	stream = Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance(Components.interfaces.nsIFileInputStream);
	stream.init(file, 0x01, 00004, null);
	var bstream = Components.classes["@mozilla.org/network/buffered-input-stream;1"].getService();
	bstream.QueryInterface(Components.interfaces.nsIBufferedInputStream);
	bstream.init(stream, 1000);
	bstream.QueryInterface(Components.interfaces.nsIInputStream);
	binary = Components.classes["@mozilla.org/binaryinputstream;1"].createInstance(Components.interfaces.nsIBinaryInputStream);
	binary.setInputStream (stream);

	// start AJAX file upload in 1 second
	window.setTimeout("ajax_upload()", 1000);
}

function ajax_upload() {
	// request more permissions
	try {
		netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
	} catch (e) {
		alert("Permission to read file was denied.");
	}

	http_request = false;
	http_request = new XMLHttpRequest();
	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}

	// prepare the MIME POST data
	var boundaryString = 'capitano';
	var boundary = '--' + boundaryString;
	var requestbody = boundary + '\n' 
	+ 'Content-Disposition: form-data; name="mytext"' + '\n' 
	+ '\n' 
	+ mytext + '\n' 
	+ '\n' 
	+ boundary + '\n' 
	+ 'Content-Disposition: form-data; name="myfile"; filename="' 
		+ filename + '"' + '\n' 
	+ 'Content-Type: application/octet-stream' + '\n' 
	+ '\n'
	+ escape(binary.readBytes(binary.available()))
	+ '\n'
	+ boundary;

	//document.getElementById('sizespan').innerHTML = "requestbody.length=" + requestbody.length;
	
	// do the AJAX request
	http_request.onreadystatechange = requestdone;
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "multipart/form-data; \
		boundary=\"" + boundaryString + "\"");
	http_request.setRequestHeader("Connection", "close");
	http_request.setRequestHeader("Content-length", requestbody.length);
	http_request.send(requestbody);
}

function requestdone() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			result = http_request.responseText;
			document.getElementById('myspan').innerHTML = result;            
		} else {
			alert('There was a problem with the request.');
		}
		document.getElementById('ajaxbutton').disabled = false;
	}
}