var janela;
var pagina_ant = "";
function abrirJanela(pagina, largura, altura, nomeJanela){
	if (nomeJanela == null || nomeJanela == "")
		nomeJanela = "Destino"
		
	if (janela == null || (janela != null && janela.closed)){
		pagina_ant = pagina;
		janela = window.open(pagina, nomeJanela,"resizable, scrollbars, top="+((screen.height/2)-(altura/2))+", left="+((screen.width/2)-(largura/2))+", width="+largura+", height="+altura);
	}else{
		if (pagina_ant != pagina){
			janela.location.href=pagina
			pagina_ant = pagina;
		}
		janela.focus()
	}
}

function perdeFoco(campo){
	campo.blur();
}

function fAjuda(contexto, pagina){
	pagina = pagina.substring(1, pagina.length)
	i = 0
	while(pagina.indexOf("/") != -1 || i < 100){
		pagina = pagina.replace("/", "_")
		i++
	}
	abrirJanela(contexto +"/ajuda/"+pagina, 640, 400, "ajuda")
}

var ajuda = false;
var valor_ant = ""
function help(obj){
	if (ajuda){
		alert(obj.ajuda);
		tiraHelp(obj)
		ajuda = false;
		corpo.style.cursor = "auto";
	}
}

function mostraHelp(obj){
	if (ajuda){
		if (obj.type == "text" || obj.type == "textarea"){
			valor_ant = obj.value
			obj.value = "Clique para obter ajuda!";
		}else if(obj.type == "select-one"){
			valor_ant = obj.options[0].text
			obj.options[0].text = "Clique para obter ajuda!";
		}
	}
}

function tiraHelp(obj){
	if (ajuda){
		if (obj.type == "text" || obj.type == "textarea")
			obj.value = valor_ant 
		else if(obj.type == "select-one")
			obj.options[0].text = valor_ant
	}
}

function habilitaHelp(){
	if (ajuda){
		ajuda = false;
		corpo.style.cursor = "auto";
	}else{
		ajuda = true;
		corpo.style.cursor = "help";
	}
}

function selecionarTudo(campo){
	if (campo != null)
		if (campo.value == null)
			for (i = 0; i < campo.length; i++)
				campo[i].checked = !campo[i].checked;
		else
			campo.checked = !campo.checked;
}

///////////////////////Iniicio da Função Mascáras Gerais //////////////////////////////
// utilizacao
// onKeypress="return txtBoxFormat([form.name, '[field.name]', '[mask with 9]', event);"
//e.g: onKeypress="return txtBoxFormat(document.form, 'data', '99/99/9999', event);"
function txtBoxFormat(objForm, sMask, evtKeyPress) {
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
	
	if(document.all) { // Internet Explorer
		nTecla = evtKeyPress.keyCode; }
	else if(document.layers) { // Nestcape
		nTecla = evtKeyPress.which;
	}
	
	sValue = objForm.value;
	
	// Limpa todos os caracteres de formatação que
	// já estiverem no campo.
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( " ", "" );
	sValue = sValue.toString().replace( " ", "" );
	fldLen = sValue.length;
	mskLen = sMask.length;
	
	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;
	
	while (i <= mskLen) {
		bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
		bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))
	
		if (bolMask) {
			sCod += sMask.charAt(i);
			mskLen++; }
		else {
			sCod += sValue.charAt(nCount);
			nCount++;
		}
	
		i++;
	}
	
	objForm.value = sCod;
	
	if (nTecla != 8) { // backspace
		if (sMask.charAt(i-1) == "9") { // apenas números...
			return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
		else { // qualquer caracter...
			return true;
		} 
	}else {
		return true;
	}
}
///////////////////////// Fim da Função Máscaras Gerais ///////////////////////////////////
	
// limpa todos os caracteres especiais do campo solicitado
function filtraCampo(campo){
	var s = "";
	var cp = "";
	vr = campo.value;
	tam = vr.length;
	for (i = 0; i < tam ; i++) {  
		if (vr.substring(i,i + 1) != "/" && vr.substring(i,i + 1) != "-" && vr.substring(i,i + 1) != "."  && vr.substring(i,i + 1) != "," ){
		 	s = s + vr.substring(i,i + 1);}
	}
	campo.value = s;
	return cp = campo.value
}

// Formata o campo valor
function formataValor(campo) {
	campo.value = filtraCampo(campo);
	vr = campo.value;
	tam = vr.length;

	if ( tam <= 2 ){ 
 		campo.value = vr ; 
	}else if ( (tam > 2) && (tam <= 5) ){
 		campo.value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; 
	}else if ( (tam >= 6) && (tam <= 8) ){
 		campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; 
	}else if ( (tam >= 9) && (tam <= 11) ){
 		campo.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; 
	}else if ( (tam >= 12) && (tam <= 14) ){
 		campo.value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; 
	}else if ( (tam >= 15) && (tam <= 18) ){
 		campo.value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ;
	}
 		
}
