var csPastaInicial = "";
var csDivAguarde = null;
var csRequest;
function csRequestDoc(url) {
	csRequest = false;
	// code for Mozilla, etc.
	if (window.XMLHttpRequest) {
		csRequest = new XMLHttpRequest();
		csRequest.onreadystatechange = csProcessRequestChange;
		csRequest.open("GET",url,true);
		csRequest.send(null);
	}
	// code for IE
	else if (window.ActiveXObject) {
		csRequest = new ActiveXObject("Microsoft.XMLHTTP");
		if(csRequest) {
			csRequest.onreadystatechange = csProcessRequestChange;
			csRequest.open("GET",url,true);
			csRequest.send();
		}
	}
}

function csProcessRequestChange() {
    // only if request shows "loaded"
    if (csRequest.readyState == 4) {
        // only if "OK"
        if (csRequest.status == 200) {
			csPassaTextoRetornado(csRequest.responseText);
        }
		//esconder aguarder e exibir elemento
		csEsconderAguarde();
    }
}

function csPassaTextoRetornado(resp) {
	var vals = resp.split("|");
	if(vals.length > 0 && vals[0] != "") {

		var sel = document.getElementById(vals[0]);
		if(!sel) return;
	
		//item selecionado
		var valorSel = 0;
		if(sel.options.length > 0)
			valorSel = sel.options[sel.options.selectedIndex].value;
	
		//primeiro, limpar opções existentes
		var len = sel.options.length;
		var ini = (sel.options[0].value=="" ? 1:0); //remover ou não o primeiro item
		for(var o = ini;o < len;o++)
			sel.options[sel.options.length-1] = null;

		//segundo, preencher combo com opções retornadas
		var re = /\+/g;
		for(var i = 1;i < vals.length;i++) {
			var vetop = vals[i].split("=");
			var opcaoValor = vetop[0];
			var opt = new Option(unescape(vetop[1]).replace(re, " "), opcaoValor);

			//adiciona nova opção a lista
			sel.options.add(opt);
			
			//selecionar item selecionado anteriormente
			if(opt.value == valorSel)
				opt.selected = true;
		}
	}
}

function csConsultarSaidasDt(elem, origem, destino, lcid) {
	csExibirAguarde(elem);
	var url = csPastaInicial + "pacote/dt/getDataSaida.asp?elem=" + elem.id + "&origem=" + origem + "&destino=" + destino + "&lcid=" + lcid;
	csRequestDoc(url);
}

function csExibirAguarde(elem) {
	if(!csDivAguarde) {
		csDivAguarde = document.createElement("DIV");
		csDivAguarde.style.position = "absolute";
		csDivAguarde.style.border = "solid 1px #C0C0C0";
		csDivAguarde.style.backgroundColor = "#FFFFFF";
		csDivAguarde.innerHTML = "<img src=\"util/aguarde18x18.gif\" align=\"absmiddle\" width=\"18\" height=\"18\" border=\"0\">" + 
			"<span style=\"font-family:tahoma;font-size:11px;color:#666666\">&nbsp;" + rot_aguarde + "</span>";
		document.body.appendChild(csDivAguarde);
	}	
	var rect = csClienteRect(elem);
	csDivAguarde.style.left = rect.left;
	csDivAguarde.style.top = rect.top;
	if(elem.clientWidth > 80)
		csDivAguarde.style.width = elem.clientWidth;
	else
		csDivAguarde.style.width = 80;
	if(elem.clientHeight > 19)
		csDivAguarde.style.height = elem.clientHeight;
	else
		csDivAguarde.style.height = 19;
	elem.style.visibility = "hidden";
	csDivAguarde.style.visibility = "visible";
	csDivAguarde.setAttribute("idelem", elem.id);
}

function csEsconderAguarde() {
	if(csDivAguarde) {
		csDivAguarde.style.visibility = "hidden";
		var elem = document.getElementById(csDivAguarde.getAttribute("idelem"));
		elem.style.visibility = "visible";
	}
}

function csClienteRect(elem) {
	var pai = elem.offsetParent;
	var px = elem.offsetLeft;
	var py = elem.offsetTop;
	while(pai) {
		px += pai.offsetLeft;
		py += pai.offsetTop;
		pai = pai.offsetParent;
	}
	return {left:px, top:py, right:px + elem.clientWidth, bottom:py + elem.offsetHeight};
}