//==================================
function afFinishAction(data,ok,bad,type,vt){
	//try{
		var dados = eval(data);
		if(dados){
			if(dados[0].id == 0){
				setTimeout('afGridReload()',500);
				if(vt != undefined){
					eval(vt).innerHTML = bad;
				}else{
					if(window.opener)
						(type == 'winstd')?window.opener.afDialog(bad,'Aviso!','btOkOnly'):alert(bad);
					else
						(type == 'winstd')?parent.afDialog(bad,'Aviso!','btOkOnly'):alert(bad);
				}
			}else{
				setTimeout('afGridReload()',500);
				if(window.opener)
					(type == 'winstd')?window.opener.afDialog(ok,'Aviso!','btOkOnly'):alert(ok);
				else
					(type == 'winstd')?parent.afDialog(ok,'Aviso!','btOkOnly'):alert(ok);
			}
		}else{
			alert('ERRO \n- Formato de invalido');
		}
	//}catch(e){
	//	alert('ERRO - FA \n- ' + e.description);
	//}
}

/*
function afGridCallBack(af,state,key,tipo,acao,w,h,result){
	var params = '';
	params += af+'_acao='+state;
	params += '&afNome='+af;
	params += '&afGrid=true';
	params += '&keyValue='+key;
	if(acao.indexOf('?') != -1)
		htcPopUp(acao+'&'+params, 0, 0, w, h);
	else
		htcPopUp(acao+'?'+params, 0, 0, w, h);
	//htcGet(acao,null,true,params,'afGridCallBack(null,null,0,0,0,null,'+ w +','+ h +',result)','default');
}*/
//afDialog("Deseja excluir este item?","Aviso!","btYesNo","afGridCallBack('frminiciativa',0,4,1,'winstd','/gc/gestao/lista_marketing.asp',200,10)");
function afGridCallBack(af,fkey,state,key,tipo,acao,w,h,dados){
	var params = '';
	params += af+'_acao='+state;
	params += '&afNome='+af;
	params += '&afGrid=true';
	params += '&keyValue='+key;
	params += '&forKeyValue='+fkey;
	switch(tipo){
		case 'popup':
			if(acao.indexOf('?') != -1)
				htcPopUp('pop_'+af,acao+'&'+params, 0, 0, w, h);
			else
				htcPopUp('pop_'+af,acao+'?'+params, 0, 0, w, h);
		break;
		case 'htcwin':
			var b = new htcBrowserInfo();
			document.getElementById('htcWin').style.left = parseInt((b.screenWidth / 2) - (w / 2)) + 'px';
			document.getElementById('htcWin').style.top = (b.screenHeight / 2) - parseInt(h / 2) - 100 + 'px';
			document.getElementById('htcWin').style.height = (h+40) + 'px';
			document.getElementById('htcWin').style.width = (w+20) + 'px';
			document.getElementById('htcWin').style.display = 'block';
			(acao.indexOf('?') != -1)?acao = acao+'&'+params:acao = acao+'?'+params;
			document.getElementById('htcAllDisabled').style.display = 'block';
			document.getElementById('htcWin_conteudo').innerHTML = '<iframe width="'+w+'" height="'+h+'" src="'+acao+'" scrolling="no" frameborder="0" marginheight="0" marginwidth="0"></iframe>'
			document.getElementById('htcWin_titulo').innerHTML = '';
		break;
		case 'winstd':
			var b = new htcBrowserInfo();
			document.getElementById('htcWin').style.left = parseInt((b.screenWidth / 2) - (w / 2)) + 'px';
			document.getElementById('htcWin').style.top = (b.screenHeight / 2) - parseInt(h / 2) - 100 + 'px';
			document.getElementById('htcWin').style.height = (h+40) + 'px';
			document.getElementById('htcWin').style.width = (w+20) + 'px';
			document.getElementById('htcWin').style.display = 'block';
			(acao.indexOf('?') != -1)?acao = acao+'&'+params:acao = acao+'?'+params;
			document.getElementById('htcAllDisabled').style.display = 'block';
			document.getElementById('htcWin_conteudo').innerHTML = '<iframe width="'+w+'" height="'+h+'" src="'+acao+'" scrolling="no" frameborder="0" marginheight="0" marginwidth="0"></iframe>';
			document.getElementById('htcWin_titulo').innerHTML = '';
			break;
	}
}

function afDialog(mensagem,titulo,acao,pos,neg){
	var valid = false;
	var botoes = '';
	(neg && neg != 'undefined')?neg+=',htcWinCloseandEnable();':neg='htcWinCloseandEnable();';
	(pos && pos != 'undefined')?pos+=',htcWinCloseandEnable();':pos='htcWinCloseandEnable();';
	switch(acao){
		case 'btOkOnly':
			valid = true;
			botoes = '<input type="button" value=" OK " onClick="'+ pos +'" id="htcDialogButton">';
			break;
		case 'btOkCancel':
			valid = true;
			botoes = '<input type="button" value=" OK " onClick="'+ pos +'" id="htcDialogButton">';
			botoes += ' &nbsp; &nbsp; &nbsp; <input type="button" value=" Cancel " onClick="'+ neg +'" id="htcDialogButton">';
			break;
		case 'btYesNo':
			valid = true;
			botoes = '<input type="button" value=" Sim " onClick="'+ pos +'" id="htcDialogButton">';
			botoes += ' &nbsp; &nbsp; &nbsp; <input type="button" value=" Não " onClick="'+ neg +'" id="htcDialogButton">';
			break;
	}
	if(valid){
		var b = new htcBrowserInfo();
		w = 250;
		h = 50;
		document.getElementById('htcWin').style.left = (b.screenWidth / 2) - parseInt(w / 2) + 'px';
		document.getElementById('htcWin').style.top = (b.screenHeight / 2) - parseInt(h / 2) - 100 + 'px';
		document.getElementById('htcWin').style.height = (h + 40) + 'px';
		document.getElementById('htcWin').style.width = (w + 20) + 'px';
		var corpo = '<table width="100%" border="0" cellspacing="1" cellpadding="2">' + 
					'<tr><td id="htcDialogText">'+ mensagem +'&nbsp;</td></tr>' + 
					'<tr><td id="htcDialogText">&nbsp;</td></tr>' + 
					'<tr><td id="htcDialogText">'+ botoes +'</td></tr>' + 
					'</table>'
		document.getElementById('htcWin_conteudo').innerHTML = corpo;
		document.getElementById('htcWin_titulo').innerHTML = titulo;
		document.getElementById('htcWin').style.display = 'block';
		document.getElementById('htcAllDisabled').style.display = 'block';
	}
}

function htcWinCloseandEnable(){
	document.getElementById('htcWin').style.display = 'none';
	document.getElementById('htcAllDisabled').style.display = 'none';
}

function afGridReload(){
	if(window.opener){
		window.opener.renewAllGrids();
		if(document.all){
			self.close();
		}
	}else if(parent.dgaID){
		parent.renewAllGrids();
		parent.htcWinCloseandEnable();
	}else{
		history.go(-1);
	}

}

//====================================================================================

function limitChars(fld,cont,lim){
	if(fld){
		if(fld.value.length > lim)
			fld.value = fld.value.substring(0,lim);
		cont.innerHTML = lim - fld.value.length; 
	}
}

function afComboCallBack(acao,depcmb,valsel,params){
	if(valsel == '0'){
		limpaCombo(eval('document.'+depcmb));
		menCombo(eval('document.'+depcmb),'sem itens encontrados',0)
	}else{
		htcGet(acao,null,true,params,'fillCombo(result,document.'+depcmb+')','data');
	}
}

//====================================================================================
// define the addEvent(oElement, sEvent, sCmd, bAppend) function
//function $addEvent(o, _e, c, _b)
function addSkip(to,from,size){
	var c = "(this.value.length >= "+ size +")?"+ to +".focus():true;";
	var x = (from["onkeyup"]) ? from["onkeyup"].toString() : "";
	x = x.substring(x.indexOf("{")+1, x.lastIndexOf("}"));
	x = (x + c) + "\n";
	return from["onkeyup"] = (!!window.Event) ? new Function("event", x) : new Function(x);
	
}



//====================================================================================

function fillCombo(dados,target,onFinish){
	//var dados = eval(valores);
	limpaCombo(target);

	if(dados)
		for(var i = 0;i < dados.length;i++)
			menCombo(target,dados[i].label,dados[i].value);
	
	try{
		afSubValues();
		target.fireEvent('onchange');
	}catch(e){
		try{
		target.fireEvent('onchange');
		}catch(e1){
			status = e1.description;	
		}
	}
	
	if(onFinish)
		eval(onFinish);

}

function limpaCombo(sender){
	if(sender.tagName == 'SELECT'){
		for(var i = sender.options.length;i >= 0;i--)
			sender.remove(i);
	}else{
		status = 'SENDER NAO ENCONTRADO - limpaCombo';
	}
}

function pesquisaCombo(sender,valor,seleciona){
	if(sender.tagName == 'SELECT'){
		if(sender.options.length > 0){
			for(var i = 0;i < sender.options.length;i++)
				if(sender.options[i].value == valor){
					if(seleciona)
						sender.options[i].selected = true;
					else
						return true;
				}
			return false;
		}else{
			return false;	
		}
	}else{
		status = 'SENDER NAO ENCONTRADO - pesquisaCombo';
	}
}

function menCombo(sender,men,valor){
	if(sender.tagName == 'SELECT'){
		var elem = document.createElement('OPTION');
		elem.text = men;
		elem.value = valor;
		try{
			sender.add(elem);
		}catch(e){
			try{
				sender.add(elem,null);
			}catch(e1){
				status = 'Erro';
			}
		}
	}else{
		status = 'SENDER NAO ENCONTRADO - menCombo';
	}
}

function addOptionWR(origem,destino){ //add with remove
	for(var a = origem.options.length - 1;a >= 0;a--){
		if(origem.options[a].selected){
			menCombo(destino,origem.options[a].text,origem.options[a].value);
			origem.remove(a);
		}
	}
}

function cmbSelectAll(cmb){
	for(var a = 0;a < cmb.options.length;a++){
		cmb.options[a].selected = true;
	}
}


function cmbToUp(obj){

	var ponteiro,tempv,tempt;
	ponteiro = obj.selectedIndex;
	if(ponteiro > 0){
		//item acima
		tempt = obj.options[ponteiro - 1].text;
		tempv = obj.options[ponteiro - 1].value;
		
		obj.options[ponteiro - 1].text  = obj.options[ponteiro].text;
		obj.options[ponteiro - 1].value = obj.options[ponteiro].value;
		
		obj.options[ponteiro].text  = tempt;
		obj.options[ponteiro].value = tempv;
	
		//corrige(obj,false);	
		
		obj.options[ponteiro - 1].selected = true;
	}

}

function cmbToDown(obj){

var ponteiro,tempv,tempt;
ponteiro = obj.selectedIndex;
if((ponteiro + 1) < obj.length){
	
	//item acima
	tempt = obj.options[ponteiro + 1].text;
	tempv = obj.options[ponteiro + 1].value;
	
	obj.options[ponteiro + 1].text  = obj.options[ponteiro].text;
	obj.options[ponteiro + 1].value = obj.options[ponteiro].value;
	
	obj.options[ponteiro].text  = tempt;
	obj.options[ponteiro].value = tempv;
	
	cmbCorrige(obj,false);
	
	obj.options[ponteiro + 1].selected = true;
}

}

//correção para as duas ultimas funcoes
function cmbCorrige(obj,al){
	if(obj.options.length){
		for(a = 0;a < obj.options.length;a++){
//			alert('a : ' + a);
			obj.options[a].selected = al;		
		}
	}
}
