/* js */

/**
 * pilha contendo as fun??es agendadas
 *
 * @var    Array
 * @access private
 */
document._requests = [];

/**
 * Agenda requests
 *
 * @access public
 */
function fooRequest()
{
	var args = fooRequest.arguments;
	if (args.length < 3) {
		alert('ERRO - Parametros insuficientes');
		return false;
	}

	var id = args[0]; // label para pilha
	var action = args[1]; // fun??o a ser agendada
	var source = args[2]; // fonte dos dados
	var params = args; // paramentros a serem repassados ao action

	var xmlhttp=false;
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	// JScript gives us Conditional compilation, we can cope with old IE versions.
	// and security blocked creation of the objects.
	 try {
	  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
	  try {
	   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (E) {
	   xmlhttp = false;
	  }
	 }
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	if (!xmlhttp && window.createRequest) {
		try {
			xmlhttp = window.createRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}

	xmlhttp.onreadystatechange = function () {
		if(xmlhttp.readyState == 4 && xmlhttp.status < 300) {
			if (action !== null) {
			    unsetRequestStatus();
				action(xmlhttp, params);
			}
		}
	}
	setRequestStatus('carregando...');
	document._requests[id] = xmlhttp;
	document._requests[id].open("GET", source, true);
	document._requests[id].send(null);

  return false;
}

function setRequestStatus(s)
{
    var ocname = window.parent.document.getElementById('statusRequestContainer');
    var ocmsg = window.parent.document.getElementById('statusRequestMsg');
    var d = window.parent.document;

    if (ocname === null) {
        ocname = document.getElementById('statusRequestContainer');
        ocmsg = document.getElementById('statusRequestMsg');
        d = document;
    }

    if (ocname !== null) {
    	if (/msie/.test(navigator.userAgent.toLowerCase())) {
    		ocname.style.position = "absolute";
    		ocname.style.top = (d.documentElement.scrollTop+10)+'px';
    	} else {
    		ocname.style.position = "fixed";
    		ocname.style.top = "10px";
    	}
    	ocname.style.right = "10px";
    	ocname.style.display = "block";
    	ocmsg.innerHTML = s;
    }
}

function unsetRequestStatus()
{
    var o = window.parent.document.getElementById('statusRequestContainer');
    if (o === null) {
        o = document.getElementById('statusRequestContainer');
    }
    if (o !== null) {
        o.style.display = '';
    }
}

