﻿/* ===========================================================================
FUNÇÕES GERAIS - REQUISITOS PARA Kernel.UI.JavaScript
============================================================================ */

// Formata a mascara de um Textbox ------------------------------------------------------------------
function ApplyMask(objeto, sMask, evtKeyPress) {
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

	if ( document.all ) { // Internet Explorer
		nTecla = evtKeyPress.keyCode;
	} //if
	else { // Nestcape
		nTecla = evtKeyPress.which;
	}

	sValue = objeto.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( ")", "" );
	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) == ".") || (sMask.charAt(i) == "/"))
		bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

		if ( bolMask ) {
			sCod += sMask.charAt(i);
			mskLen++;
		} //if
		else {
			sCod += sValue.charAt(nCount);
			nCount++;
		} //Fim do else
		i++;
	} //Fim do while

	objeto.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;
		} //Fim do else
	} //if
	else {
		return true;
	} //Fim do else
}

// Cria popup ---------------------------------------------------------------------------------------------------------------------------------------
function Popup(CaminhoArquivo, NomeJanela, Largura, Altura, DistanciaEsquerda, DistanciaTopo, BarraStatus, ScrollBars, Resizable, Modal)
{
	var wscr = screen.availWidth; // largura da tela
	var hscr = screen.availHeight;  // altura da tela
	var m_DistanciaEsquerda = DistanciaEsquerda;
	var m_DistanciaTopo = DistanciaTopo;
	var m_Centralizado = "no";
	if((DistanciaEsquerda==-1)&&(DistanciaTopo==-1))
	{
		m_DistanciaEsquerda = parseInt(wscr / 2) - parseInt(Largura / 2);
		m_DistanciaTopo = parseInt(hscr / 2) - parseInt(Altura / 2);
		m_Centralizado = "yes";
	}
	if(Modal=="yes")
	{
		if(browser.isIE)
		{
			var sFeatures="dialogHeight: " + (Altura+35) + "px;";
			sFeatures +="dialogWidth: " + (Largura+5) + "px;";
			sFeatures +="dialogLeft: " + m_DistanciaEsquerda + "px;";
			sFeatures +="dialogTop: " + m_DistanciaTopo + "px;";
			sFeatures +="center: " + m_Centralizado + ";";
			sFeatures +="scroll: " + ScrollBars + ";";
			sFeatures +="status: " + BarraStatus + ";";
			window.showModalDialog(CaminhoArquivo, "", sFeatures);
		}
		else
		{
			window.open(CaminhoArquivo, NomeJanela, "width=" + Largura + ", height=" + Altura + ", top=" + m_DistanciaTopo + ", left=" + m_DistanciaEsquerda + ", statusbar=" + BarraStatus + ", status=" + BarraStatus + ", scrollbars=" + ScrollBars + ", resizable=" + Resizable + ", toolbar=no, menubar=no, directories=no, modal=yes");
		}
	}
	else
		window.open(CaminhoArquivo, NomeJanela, "width=" + Largura + ", height=" + Altura + ", top=" + m_DistanciaTopo + ", left=" + m_DistanciaEsquerda + ", statusbar=" + BarraStatus + ", status=" + BarraStatus + ", scrollbars=" + ScrollBars + ", resizable=" + Resizable + ", toolbar=no, menubar=no, directories=no");
	
}