var curId = '';

// This example simple populates a list of integers between the range specified
// params: max (top limit), id (id of target textbox), increment (increments the
// option value), begin (first option value), align (horizontal)
// in this example we will increment by five; so the values in a "minutes"
// textbox for a timepicker will be: 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55

function EscreveNumeros(id,divopts,align,inicio,max,increment,retornovalor,esqimgid){
	swapImage(esqimgid, 'visao/imagens/esqcomboaberto.gif');
    var box = document.getElementById(id);
        var option_placeholder = document.getElementById(divopts);
        if (option_placeholder.style.display=='none' || curId != id){
            option_placeholder.style.display = 'none';
            openCombo(id,divopts);
            curId = id;
            	var makeIt;
            	makeIt = '<ul>';
                var i = inicio;
                while (i <= max) {
                    var val = '';
                    if (i < 10) {
                        val = '0';
                    }
                    val += i;
                    makeIt += "<li style=\"text-align:" + align + "; line-height:18px;\" onclick=\"swapImage('" + esqimgid + "', 'visao/imagens/esqform.gif');document.getElementById(\'" + id + "\').value=(\'" + val + "\');document.getElementById(\'" + retornovalor + "\').value=(\'" + val + "\');document.getElementById(\'"+ divopts +"\').style.display=\'none\';\" onmouseout=\"this.style.backgroundColor=\'#FFF\';this.style.color=\'#686868\'\" onmouseover=\"this.style.backgroundColor=\'#b2b4bf\';this.style.color=\'black\';\" class=\"comboOption\">&nbsp;";
                    makeIt += val;
                    if(max == 12) makeIt +='&nbsp;&nbsp;&nbsp;&nbsp;</li>'; else makeIt +='</li>';
                    i=i+increment
                }
                makeIt += '</ul>';
                option_placeholder.innerHTML = makeIt;
        } else {
            option_placeholder.style.display='none';
            swapImage(esqimgid, 'visao/imagens/esqform.gif');
        }
}

function EscreveOpcoes(id,divopts,align,elementos,valores,retornovalor,esqimgid){
	swapImage(esqimgid, 'visao/imagens/esqcomboaberto.gif');
    var box = document.getElementById(id);
        var option_placeholder = document.getElementById(divopts);
        if (option_placeholder.style.display=='none' || curId != id){
            option_placeholder.style.display = 'none';
            openCombo(id,divopts);
            curId = id;
            var makeIt = '<ul>';
            for(var i=0; i < elementos.length; i++) {      
                    makeIt += "<li style=\"text-align:" + align + "; line-height:18px;\" onclick=\"swapImage('" + esqimgid + "', 'visao/imagens/esqform.gif');document.getElementById(\'" + id + "\').value=(\'" + elementos[i] + "\');document.getElementById(\'" + retornovalor + "\').value=(\'" + valores[i] + "\');document.getElementById(\'"+ divopts +"\').style.display=\'none\';\" onmouseout=\"this.style.backgroundColor=\'#FFFFFF\';this.style.color=\'#686868\'\" onmouseover=\"this.style.backgroundColor=\'#b2b4bf\';this.style.color=\'black\';\" class=\"comboOption\">&nbsp;";
                    makeIt += elementos[i] + "</li>";
                }
                makeIt += '</ul>';
                option_placeholder.innerHTML = makeIt;
        } else {
            option_placeholder.style.display='none';
            swapImage(esqimgid, 'visao/imagens/esqform.gif');
        }
}

function EscreveUfCidades(base,id,divopts,retornovalor,esqimgid){
	
	if(document.getElementById('estado').value == '' && retornovalor != 'estado'){
		window.alert('Escolha primeiro o Estado');
	}else{
		swapImage(esqimgid, base+'/visao/imagens/esqcomboaberto.gif');
		if(retornovalor == "estado"){
			var ajax = new AjaxObject("POST", base + "/Funcoes/carregarUfs");
		}else if(retornovalor == "cidade"){
			if(document.getElementById("estado").value == "") return;
			var ajax = new AjaxObject("POST",base + "/Funcoes/carregarCidades");
			ajax.addRequestValue("IdEstado",document.getElementById("estado").value);
		}else 
			return;
		
		ajax.setCallBackFunction(function(resposta){
			if(!resposta) return;
			eval("var dados = "+resposta+";");
			var option_placeholder = document.getElementById(divopts);
		    if (option_placeholder.style.display=='none'){
		        option_placeholder.style.display = 'none';
		        openCombo(id,divopts);
		        var makeIt = '<ul>';
		        for(var i=0; i < dados.length; i++) {
		        		if(!dados[x][0] || !dados[x][1]) continue;
		                makeIt += "<li style=\"text-align:left; line-height:18px;\"";
		                makeIt += " onclick=\"swapImage('" + esqimgid + "', 'visao/imagens/esqform.gif');document.getElementById(\'" + id + "\').value=(\'" + dados[i][1] + "\');document.getElementById(\'" + retornovalor + "\').value=(\'" + dados[i][0] + "\');document.getElementById(\'"+ divopts +"\').style.display=\'none\';";
		                if(retornovalor == "estado"){
		                	makeIt += "document.getElementById('combotext6').value = 'ESCOLHA'; document.getElementById('cidade').value = '';\"";
		                }else{
		                	makeIt += "\"";
		                }
		                makeIt += " onmouseout=\"this.style.backgroundColor=\'#FFFFFF\';this.style.color=\'#686868\'\" onmouseover=\"this.style.backgroundColor=\'#b2b4bf\';this.style.color=\'black\';\" class=\"comboOption\">&nbsp;";
		                makeIt += dados[i][1] + "</li>";
		            }
		            makeIt += '</ul>';
		            option_placeholder.innerHTML = makeIt;
		    } else {
		        option_placeholder.style.display='none';
		        swapImage(esqimgid, 'visao/imagens/esqform.gif');
		    }
		});
		ajax.load();
	}
}

function $(id){
	return document.getElementById(id);
}

// hover effect on the dropdownlist arrow icon
function swapImage(img, src){
    var img = document.getElementById(img);
    img.src = src;
}

// check the click events are not occurring on the controls
// if the mouse click event occurs outside the control, options should close
document.onclick=check;
function check(e){
	var target = (e && e.target) || (event && event.srcElement);
	var obj1 = document.getElementById('divopts1');
	var obj2 = document.getElementById('divopts2');
	var obj3 = document.getElementById('divopts3');
	var obj4 = document.getElementById('divopts4');
	if(checkParent(target) == true){
		obj1.style.display='none';obj2.style.display='none';obj3.style.display='none';obj4.style.display='none';
		swapImage('esqcombo1', 'visao/imagens/esqform.gif');
		swapImage('esqcombo2', 'visao/imagens/esqform.gif');
		swapImage('esqcombo3', 'visao/imagens/esqform.gif');
		swapImage('esqcombo4', 'visao/imagens/esqform.gif');
		swapImage('esqcombo5', 'visao/imagens/esqform.gif');
		swapImage('esqcombo6', 'visao/imagens/esqform.gif');
    }
	//checkParent(target)?obj1.style.display='none':null;
}
function checkParent(t){
	while(t.parentNode){
		var divopts1 = document.getElementById('divopts1');
		var divopts2 = document.getElementById('divopts2');
		var divopts3 = document.getElementById('divopts3');
		var myTextbox1 = document.getElementById('combotext1');
		var myImage1 = document.getElementById('imgcombotext1');
		var myTextbox2 = document.getElementById('combotext2');
		var myImage2 = document.getElementById('imgcombotext2');
		var myTextbox3 = document.getElementById('combotext3');
		var myImage3 = document.getElementById('imgcombotext3');
		var myTextbox4 = document.getElementById('combotext4');
		var myImage4 = document.getElementById('imgcombotext4');
		var myTextbox5 = document.getElementById('combotext5');
		var myImage5 = document.getElementById('imgcombotext5');
		var myTextbox6 = document.getElementById('combotext6');
		var myImage6 = document.getElementById('imgcombotext6');
		if(t==divopts1 || t==divopts2 || t==divopts3 ||  t==myTextbox1 || t==myImage1 ||  t==myTextbox2 || t==myImage2 || t==myTextbox3 || t==myImage3 ||  t==myTextbox4 || t==myImage4 || t==myTextbox5 || t==myImage5 || t==myTextbox6 || t==myImage6){ 
			return false
		}
		t=t.parentNode
	}
	return true 
}

// show the options where the event tood place
 function openCombo(textbox, div){
	var div = document.getElementById(div);
	var box = document.getElementById(textbox);
	div.style.position = 'absolute'; 
	if(div.style.display=='none'){
		var X = (findPosX(box));
		var Y = findPosY(box) + 19;
		div.style.left =  (X - 1) + 'px'; 
		div.style.top = Y + 'px'; 
		div.style.display = '';
	}else{
		div.style.display = 'none';
	}
}

function findPosX(obj){
	var curleft = 0;
	if(obj.offsetParent){ 
		while(1){
			curleft += obj.offsetLeft;
			if(!obj.offsetParent) break;
			obj = obj.offsetParent;
		}
	}
	else if(obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj){
	var curtop = 0;
	if(obj.offsetParent){
		while(1){
			curtop += obj.offsetTop;
			if(!obj.offsetParent) break;
			obj = obj.offsetParent;
		}
	}
	else if(obj.y)
		curtop += obj.y;
	return curtop;
}