﻿//Limite máximo que será digitado no campo textArea
var mensagensRateio = new Array(5);
var DIRETORIO_VIRTUAL_CBS = "prepagar";

//Verificar se a quantidade de caracteres digitados no campo texto não excedeu o limite
function verificaTextArea(textArea, inputQtde, limiteTexto) {
    var campoTextaArea = eval(textArea);
    var campoInputQtde = eval(inputQtde);
    var quantidadeCaracteres = (campoTextaArea.value.length);
    
    if(quantidadeCaracteres <= limiteTexto){ //Quando a quantidade de caracteres nao exceder o limite nao atualiza o valor do campo
        document.forms[0].elements[campoInputQtde.name].value = limiteTexto - quantidadeCaracteres;
    }else{
        document.forms[0].elements[campoTextaArea.name].value = campoTextaArea.value.substring(0,limiteTexto);
        //Existem telas que utilizam esta validação sem exibir a quantidade de caracteres restantes
        if(document.forms[0].elements[campoInputQtde.name]!=null){
            document.forms[0].elements[campoInputQtde.name].value = 0;
        }
    }
}

function formatarValorComDuasCasasDecimais(antigoValor)
{
    antigoValor = Number(antigoValor);
    var novoValor = antigoValor.toFixed(2);
    /*
    var novoValorString = String(antigoValor);
    var novoValor;
    //alert(novoValorString.indexOf('.'));
    if (novoValorString.indexOf('.') > -1)
    {
        //alert(novoValorString+' - '+antigoValor.toFixed(2));
        novoValor = novoValorString.substr(0,novoValorString.indexOf('.')+5);
    }
    else
    {
        novoValor = novoValorString;
    }
    
	var auxValor = parseFloat(novoValor);
	var auxValorInteiro = parseInt(auxValor);
	
	var auxRestoInteiro = parseFloat(novoValor) - auxValorInteiro;
	var auxRestoInteiroString = String(auxRestoInteiro); 
	//alert(antigoValor);
	//alert(novoValor);
	
	auxRestoInteiroString = auxRestoInteiroString.substr(auxRestoInteiroString.indexOf('.')+1,3);
	var tamanhoRestoInteiroString = auxRestoInteiroString.length;
	if (tamanhoRestoInteiroString > 2)
	{
		auxRestoInteiroString = Number(auxRestoInteiroString.substr(0,2)+'.'+auxRestoInteiroString.substr(2,tamanhoRestoInteiroString));
	}
    var tamanhoRestoInteiroString2 = String(Math.round(auxRestoInteiroString));    
    if ((tamanhoRestoInteiroString >= 2) && (tamanhoRestoInteiroString2.length == 0))
    {
        auxValorInteiroString = parseInt(auxValorInteiro)+'.00'+Math.round(auxRestoInteiroString);
    }
    else
    {       
        if ((tamanhoRestoInteiroString >= 2) && (tamanhoRestoInteiroString2.length == 1))
        {
            auxValorInteiroString = parseInt(auxValorInteiro)+'.0'+Math.round(auxRestoInteiroString);
        }
        else
        {
	        auxValorInteiroString = parseInt(auxValorInteiro)+'.'+Math.round(auxRestoInteiroString);
	    }
	}
	
	novoValor = auxValorInteiroString;
	*/
    return novoValor;
}

function envia(pagina,foco)
{
    document.forms[0].action = pagina + '?focus=' + foco;
    document.forms[0].submit();
}

function exibeMensagemExplicativaRateio(mensagemTextoExplicativo){
    alert(mensagemTextoExplicativo);
}
function inicializaArrayMensagens(){
    //Quando for tipo de solicitação do tipo Pagamento a mensagem para rateio por valor será alterada
    if(document.getElementById("hdnTipoSolicitacaoParaRateio")!=null 
       &&
       document.getElementById("hdnTipoSolicitacaoParaRateio").value =='P'
      ) {
            mensagensRateio[0] = ' Rateio manual por valor: \nO sistema rateará o orçamento entre os centros de custo selecionados \nde acordo com os valores informados para cada centro de custo.';
    }else{
            mensagensRateio[0] = ' Rateio manual por valor: \nO sistema rateará o orçamento entre os centros de custo selecionados.\nOs valores dos rateios serão informados na efetivação da compra.';
    }

    mensagensRateio[1] = ' Rateio manual por faturamento: \n O sistema rateará o orçamento entre as filiais selecionadas considerando a \nrepresentatividade de venda de cada filial sobre o valor total de vendas na rede.';
    mensagensRateio[2] = ' Rateio filiais:\n O sistema rateará o orçamento automaticamente entre todas as filiais da rede, considerando a \nrepresentatividade de venda de cada filial sobre o total de venda da rede.';
    mensagensRateio[3] = ' Rateio central administrativa:\n O sistema rateará o orçamento automaticamente entre todos os centros de custo da central\n administrativa, considerando a quantidade de colaboradores de cada centro de custo.';
    mensagensRateio[4] = ' Rateio geral:\nO sistema rateará o orçamento automaticamente entre todas as filiais da rede e todos os centros de \ncusto da central administrativa, considerando a quantidade de colaboradores de cada filial e de cada centro de custo.';
}

//Função para executar comandos do browser como por exemplo: Visualizar Impressão
function browserComandos(COMANDO) 
{ 
	/* 
	Parametros do browserComandos: 
	1 - Abrir
	2 - Da erro
	3 - Não faz nada
	4 - Salvar Como...
	5 - Da erro
	6 - Imprimir
	7 - Visualizar Impressão
	8 - Configurar Pagina
	9 - Da erro
	10 - Propriedades da Pagina 
	*/ 
	try 
	{
	    var prompt = 1; // 1 PROMPT & 2 DONT PROMPT USER 
	    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH="0" HEIGHT="0" CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>'; 
		    document.body.insertAdjacentHTML('beforeEnd', WebBrowser); 
		    WebBrowser1.ExecWB(COMANDO,prompt); 
		    WebBrowser1.outerHTML = ""; 
	} 
	catch(e) 
	{
		alert("Para visualizar a impressão você precisa habilitar o uso de controles ActiveX na página.\nPara maiores informações entre em contato com o suporte!");
		return;
	}
}

//Função que recebe um valor e uma propriedade de caracteres válidos e retorna um valor somente com os caracteres válido.
function filtraCampo(valor, validos){ 
	var result = ""; 
	var aux;
	for (var i=0; i < valor.length; i++) { 
		aux = validos.indexOf(valor.substring(i, i+1)); 
		if (aux>=0) { 
			result += aux; 
		} 
	} 
	return result; 
}

//Completa o valor com duas casas decimais
function validaDecimal(numero, decimais){
	var temp = '';
	var aux = '';
	var flag, i , j;
	var zeros = '';
	aux = "";
	aux_flag = "N";
	for (var i=0; i < numero.length; i++) {
		temp = numero.substring(i, i+1);
		if (temp == ',')
		{
			aux_flag = "S";
			temp = '';
			flag = numero.substring(i+1,i+100);
			if (flag.length < decimais)
			{
				for (j = flag.length; j < decimais; j++)
					temp = temp + '0';
				temp = ',' + flag + temp;
				aux = String(aux) + String(temp);
				break;
			}
			else
			{
				temp = ',' + flag.substring(0,decimais);
				aux = String(aux) + String(temp);
				break;
			}
		}
		else
		  aux = String(aux) + String(temp);
	} 
	if (aux_flag == "N"){
		temp = '';
		for (j = 0; j < decimais; j++)
			temp = temp + '0';
		temp = "," + temp
		aux = String(aux) + String(temp)
	}
	numero = aux;
	return(numero);
}

//Formata o text do formulário com mascara currency Ex. 1.000.000,00
function formataDecimais(obj, decimais) { 
	var campo = eval(obj);
	var tam = campo.value.length; 
	var vr = validaDecimal(campo.value, decimais);
	var i = 0;
	var zeros = '';
	vr = vr.replace(',','.');
	var neg = 'N';
	if (Number(vr) < 0){
		neg = 'S';
	}
	vr = filtraCampo(vr,"0123456789"); 
	if (tam > 0){
		tam = vr.length;
		if (tam < decimais){
			for (i = tam; tam < decimais; i++)
				zeros = zeros + '0';
			vr = zeros + vr;
		}
		tam = vr.length;
		if ( tam <= decimais ) { 
			campo.value = vr ; } 
		if ( (tam > decimais) && (tam <= decimais + 3) ){ 
			campo.value = vr.substr( 0, tam - decimais ) + "," + vr.substr( tam - decimais, tam ) ; } 
		if ( (tam >= decimais + 4) && (tam <= decimais + 6) ){ 
			campo.value = vr.substr( 0, tam - (decimais + 3) ) + "." + vr.substr( tam - (decimais + 3), 3 ) + "," + vr.substr( tam - decimais, tam ) ; } 
		if ( (tam >= decimais + 7) && (tam <= decimais + 9) ){ 
			campo.value = vr.substr( 0, tam - (decimais + 6) ) + "." + vr.substr( tam - (decimais + 6), 3 ) + "." + vr.substr( tam - (decimais + 3), 3 ) + "," + vr.substr( tam - decimais, tam ) ; } 
		if ( (tam >= decimais + 10) && (tam <= decimais + 12) ){ 
			campo.value = vr.substr( 0, tam - (decimais + 9) ) + "." + vr.substr( tam - (decimais + 9), 3 ) + "." + vr.substr( tam - (decimais + 6), 3 ) + "." + vr.substr( tam - (decimais + 3), 3 ) + "," + vr.substr( tam - decimais, tam ) ; } 
		if ( (tam >= decimais + 13) && (tam <= decimais + 15) ){ 
			campo.value = vr.substr( 0, tam - (decimais + 12) ) + "." + vr.substr( tam - (decimais + 12), 3 ) + "." + vr.substr( tam - (decimais + 9), 3 ) + "." + vr.substr( tam - (decimais + 6), 3 ) + "." + vr.substr( tam - (decimais + 3), 3 ) + "," + vr.substr( tam - decimais, tam ) ;} 
		if (neg == 'S'){
			campo.value = '-'+campo.value;
		}
	}
	else{ campo.value = '';}
} 

//Limita o tamanho do campo sem formatação (tipo um maxlength só que sem mascara).
function limitaTamanhoDoCampo(objeto, tam)
{ 
    var campo = eval(objeto);
    var novoValor = filtraCampo(campo.value,"0123456789"); 
    if (novoValor.length >= parseInt(tam))
    {
        window.event.keyCode = 0;
    }
}

//Só permite a entrada de números
function somenteNumeros(objeto)
{ 
	if ((window.event.keyCode >= 48 && window.event.keyCode <= 57)){//
	}
	else{window.event.keyCode = 0;}
}
//Só permite a entrada de números e virgula
function somenteNumerosEVirgula(objeto)
{ 
	var campo = eval(objeto);
	//alert(window.event.keyCode);
	if ((window.event.keyCode >= 48 && window.event.keyCode <= 57) || (window.event.keyCode == 44 && campo.value.indexOf(",", 0) == -1) || (window.event.keyCode == 46) || (window.event.keyCode == 13) || (window.event.keyCode == 8) || (window.event.keyCode >= 37 && window.event.keyCode <= 40)){//
	}
	else{window.event.keyCode = 0;}
}
//Só permite a entrada de números, 1 virgula e valor menor que 1.000.000
function somenteNumerosEVirgulaMilhar(objeto)
{ 
    var campo = eval(objeto);
    var novoValor = filtraCampo(campo.value,"0123456789"); 
    if ((novoValor.length < 8 && campo.value.indexOf(",", 0) != -1) || (novoValor.length < 7 && campo.value.indexOf(",", 0) == -1) || (novoValor.length >= 7 && novoValor.length < 9 && (campo.value.indexOf(",", 0) == 7 || window.event.keyCode == 44)))
    {
        if ((window.event.keyCode >= 48 && window.event.keyCode <= 57) || (window.event.keyCode == 44 && campo.value.indexOf(",", 0) == -1))// não achou
        {
        }
        else
        {
            window.event.keyCode = 0;
        }
    }
    else
    {
        window.event.keyCode = 0;
    }
}
//Só permite a entrada de números e negativo
function somenteNumerosENegativo(objeto)
{ 
	if ((window.event.keyCode >= 48 && window.event.keyCode <= 57) || (window.event.keyCode == 45)){//
	}
	else{window.event.keyCode = 0;}
}
//Só permite a entrada de números, virgula e negativo
function somenteNumerosEVirgulaENegativo(objeto)
{ 
	if ((window.event.keyCode >= 48 && window.event.keyCode <= 57) || (window.event.keyCode == 44 || window.event.keyCode == 45)){//
	}
	else{window.event.keyCode = 0;}
}
//Só permite a entrada de números e ponto
function somenteNumerosEPonto(objeto)
{ 
	if ((window.event.keyCode >= 48 && window.event.keyCode <= 57) || (window.event.keyCode == 46)){//
	}
	else{window.event.keyCode = 0;}
}

//Valida se o valor informado contem somente numeros
function validaNumero(objTextControl, strFieldName) 
{
	var strValidNumber = "1234567890";
	for (nCount=0; nCount < objTextControl.length; nCount++) 
	{
		strTempChar=objTextControl.substring(nCount,nCount+1);
		if (strValidNumber.indexOf(strTempChar,0)==-1) 
		{
			alert("O campo " + strFieldName + " deve conter somente números!");
			return false; 
		}
	} 
	return true;
}

//Valida se o text informado é uma data
function isDate(campo)
{
	var diaStr, mesStr, anoStr
	var diaInt, mesInt, anoInt
	var tam, sep1, sep2, verAno
	tam = campo.length;
	sep1 = parseInt(campo.indexOf("/", 0));
	if (sep1<0)
	{
		return false;
	}
	sep2 = parseInt(campo.indexOf("/", sep1+1))
	if (sep2<5)
	{
		return false;
	}
	verAno = tam-sep2;
	if(verAno < 5 )
	{
		return false;
	}
	diaStr = campo.substring(0, sep1);
	if(diaStr.substring(0, 1) == "0")
		diaStr = diaStr.substring(1, 2);
	if (validaNumero(diaStr, 'data'))
	{
		mesStr = campo.substring(sep1+1, sep2); 
		if(mesStr.substring(0, 1) == "0")
			mesStr = mesStr.substring(1, 2);
		if (validaNumero(mesStr, 'data'))
		{
			anoStr = campo.substring(sep2+1, tam);
			if (validaNumero(anoStr, 'data'))
			{
				diaInt = parseInt(diaStr);
				mesInt = parseInt(mesStr);
				anoInt = parseInt(anoStr);
				if (anoInt < 1900)
				{
				    return false;
				}
				else
				{
				    if ((diaInt <= 0) || (diaInt > 31))
				    {
					    return false;
				    }
				    if ((mesInt <= 0) || (mesInt > 12))
				    {
					    return false;
				    }
				    if ((mesInt == 4) || (mesInt == 6) || (mesInt == 9) || (mesInt == 11))
				    {
					    if( diaInt > 30)
					    {
						    return false;
					    }
				    }
				    if (mesInt == 2)
				    {
					    if ((anoInt % 4 == 0) && ( (anoInt % 100 != 0) || (anoInt % 400 == 0)))
					    {
						    if (diaInt > 29)
						    {
							    return false;
						    }
					    }
					    else
					    {
						    if(diaInt > 28)
						    {
							    return false;
						    }
					    }
					    return true;
				    } 
				    return true;
		        }
			}
			else
				return false;
		}
		else
			return false;
	}
	else
		return false;
}

//Valida se o text informado é uma data
function validaData(objeto,msg)
{
	var diaStr, mesStr, anoStr
	var diaInt, mesInt, anoInt
	var tam, sep1, sep2, verAno
	var campo = eval(objeto);
	tam = campo.value.length;
	sep1 = parseInt(campo.value.indexOf("/", 0));
	if (sep1<0)
	{
		if (msg != ''){
		    alert(msg);
		}
		else {
		    alert("A Data digitada deve ter o seguinte formato: DD/MM/AAAA !");
		}
		return false;
	}
	sep2 = parseInt(campo.value.indexOf("/", sep1+1))
	if (sep2<5)
	{
		if (msg != ''){
		    alert(msg);
		}
		else {
		    alert("A Data digitada deve ter o seguinte formato: DD/MM/AAAA !");
		}
		return false;
	}
	verAno = tam-sep2;
	if(verAno < 5 )
	{
		if (msg != ''){
		    alert(msg);
		}
		else {
		    alert("As datas devem ser preenchidas utilizando 4 dígitos para informar o Ano (ex.: DD/MM/AAAA)!");
		}
		return false;
	}
	diaStr = campo.value.substring(0, sep1);
	if(diaStr.substring(0, 1) == "0")
		diaStr = diaStr.substring(1, 2);
	if (validaNumero(diaStr, campo.name))
	{
		mesStr = campo.value.substring(sep1+1, sep2); 
		if(mesStr.substring(0, 1) == "0")
			mesStr = mesStr.substring(1, 2);
		if (validaNumero(mesStr, campo.name))
		{
			anoStr = campo.value.substring(sep2+1, tam);
			if (validaNumero(anoStr, campo.name))
			{
				diaInt = parseInt(diaStr);
				mesInt = parseInt(mesStr);
				anoInt = parseInt(anoStr);
				if ((diaInt <= 0) || (diaInt > 31))
				{
		            if (msg != ''){
		                alert(msg);
		            }
		            else {
		                alert("O dia informado não é válido!");
		            }
					return false;
				}
				if ((mesInt <= 0) || (mesInt > 12))
				{
		            if (msg != ''){
		                alert(msg);
		            }
		            else {
		                alert("O mês informado não é válido!");
		            }				
					return false;
				}
				if ((mesInt == 4) || (mesInt == 6) || (mesInt == 9) || (mesInt == 11))
				{
					if( diaInt > 30)
					{
		                if (msg != ''){
		                    alert(msg);
		                }
		                else {
		                    alert("O mês informado não possui mais de 30 dias!");
		                }						
						return false;
					}
				}
				if (mesInt == 2)
				{
					if ((anoInt % 4 == 0) && ( (anoInt % 100 != 0) || (anoInt % 400 == 0)))
					{
						if (diaInt > 29)
						{
		                    if (msg != ''){
		                        alert(msg);
		                    }
		                    else {
		                        alert("O mês informado não possui mais de 29 dias!");
		                    }
							return false;
						}
					}
					else
					{
						if(diaInt > 28)
						{
		                    if (msg != ''){
		                        alert(msg);
		                    }
		                    else {
		                        alert("O mês informado não possui mais de 28 dias!");
		                    }
							return false;
						}
					}
					return true;
				} 
				return true;
			}
			else
				return false;
		}
		else
			return false;
	}
	else
		return false;
}

//Formata a mascara de um text
function mascara(formato, objeto)
{ 	
	campo = eval(objeto); 
//	campo.value = filtraCampo(campo.value,"0123456789"); 
	if (formato=='CEP')
	{ 	separador = '-'; 
		conjunto1 = 5; 
		if (window.event.keyCode >= 48 && window.event.keyCode <= 57)
		{ 	
			if (campo.value.length == conjunto1) {campo.value = campo.value + separador;} 
		}
		else {window.event.keyCode = 0;} 
	} 
	if (formato=='DDMMYYYY')
	{ 	separador = '/'; 
		conjunto1 = 2; 
		conjunto2 = 5; 
		if (window.event.keyCode >= 48 && window.event.keyCode <= 57)
		{ 	if (campo.value.length == conjunto1) {campo.value = campo.value + separador;} 
			if (campo.value.length == conjunto2) {campo.value = campo.value + separador;} 
		}
		else {window.event.keyCode = 0;} 
	} 
	if (formato=='FONE')
	{ 
		separador1 = '('; 
		separador2 = ')'; 
		separador3 = '-'; 
		conjunto1 = 1;
		conjunto2 = 3; 
		conjunto3 = 8; 
		if (window.event.keyCode >= 48 && window.event.keyCode <= 57)
		{ 	if (campo.value.length == conjunto1){campo.value = separador1 + campo.value;} 
			if (campo.value.length == conjunto2){campo.value = campo.value + separador2;} 
			if (campo.value.length == conjunto3){campo.value = campo.value + separador3;} 
		}
		else{window.event.keyCode = 0;} 
	} 
	if (formato=='CNPJ')
	{ 
		separador1 = '.'; 
		separador2 = '/'; 
		separador3 = '-'; 
		conjunto1 = 2;
		conjunto2 = 6; 
		conjunto3 = 10; 
		conjunto4 = 15; 
		if (window.event.keyCode >= 48 && window.event.keyCode <= 57)
		{ 	if (campo.value.length == conjunto1){campo.value = campo.value + separador1;} 
			if (campo.value.length == conjunto2){campo.value = campo.value + separador1;} 
			if (campo.value.length == conjunto3){campo.value = campo.value + separador2;} 
			if (campo.value.length == conjunto4){campo.value = campo.value + separador3;} 
		}
		else{window.event.keyCode = 0;} 
	} 

}

// Verifica se a data1 é maior que a data2
function dataMaiorIgual(pData1,pData2,msg)
{
    var dt1 = eval(pData1);
    var dt2 = eval(pData2);
   
	var hoje = new Date();
	var ano = hoje.getYear();
	if(ano >= 50 && ano <= 99)
		ano = 1900 + ano
	else
		ano = 2000 + ano;
	
	var pos1 = dt1.value.indexOf("/",0)
	var dd = dt1.value.substring(0,pos1)
	pos2 = dt1.value.indexOf("/", pos1 + 1)
	var mm = dt1.value.substring(pos1 + 1,pos2)
	var aa = dt1.value.substring(pos2 + 1,10)
	if(aa.length < 4)
		if(ano > 1999)
			aa = (2000 + parseInt(aa,10))
		else
			aa = (1900 + parseInt(aa,10));
	var data1 = new Date(parseInt(aa,10),parseInt(mm,10) - 1, parseInt(dd,10));
	var pos1 = dt2.value.indexOf("/",0)
	var dd = dt2.value.substring(0,pos1)
	pos2 = dt2.value.indexOf("/", pos1 + 1)
	var mm = dt2.value.substring(pos1 + 1,pos2)
	var aa = dt2.value.substring(pos2 + 1,10)
	if(aa.length < 4)
		if(ano >= 00 && ano <= 99)
			aa = (1900 + parseInt(aa,10))
		else
			aa = (2000 + parseInt(aa,10));
	var data2 = new Date(parseInt(aa,10),parseInt(mm,10) - 1,parseInt(dd,10));
	
    if(data1 > data2)
    {
        alert(msg);
        //document.form1.elements[dt1.name].focus();
        //document.form1.elements[dt1.name].select();
    }
} 

function selectAll(obj)
{
    campo = eval(obj);
    document.forms[0].elements[campo.name].focus();
    document.forms[0].elements[campo.name].select();
    return true;
}

function enivar(url)
{
    document.form1.action = url;
    document.form1.submit();
}

//retorna o dia da semana
function diaDaSemana(dia,mes,ano) {
	data = new Date(ano,mes-1,dia);
	dia_semana = new Array(7);
	dia_semana[0] = "Domingo";
	dia_semana[1] = "Segunda-Feira";
	dia_semana[2] = "Terça-Feira";
	dia_semana[3] = "Quarta-Feira";
	dia_semana[4] = "Quinta-Feira";
	dia_semana[5] = "Sexta-Feira";
	dia_semana[6] = "Sábado";
	return dia_semana[data.getDay()]; 
} 

//Deixa o text selecionado
function setFoco(obj)
{
    campo = eval(obj);
/*
    if (campo.select)
	{
	    campo.select();
	}
*/
}

function fncTeclaEnter()
{
	if ((window.event.keyCode == 13) && (event.srcElement.nodeName != 'BUTTON') && (event.srcElement.nodeName != 'A'))
	{
		window.event.keyCode = 9;
	}
}

//bloquea alguma teclas do teclado para evitar cópia
function teclado()
{
	if ((window.event.keyCode == 13) && (event.srcElement.nodeName != 'BUTTON'))
	{
		  window.event.keyCode = 9;
	}
	var ctrl;
	var tecla;
	var alt;
	var shift;
	ctrl = event.ctrlKey;
	tecla=event.keyCode; 
	alt=event.altKey;
	shift=event.shiftKey;
	if (tecla==27){
		alert ('Essa tecla esta desabilitada.');
		//event.keyCode=0; 
		event.returnValue=false;
	}
	if (tecla==93){
		alert ('Essa tecla esta desabilitada.');
		//event.keyCode=0; 
		event.returnValue=false;
	}
	if (ctrl){
		alert ('A tecla CRTL esta desabilitada.');
		//event.keyCode=0; 
		event.returnValue=false;
		//event.ctrlKey=false;
	}
	if (alt){
		alert ('A tecla ALT esta desabilitada.');
		//event.keyCode=0; 
		event.returnValue=false;
	}
	if (shift && tecla==121){
		alert ('A tecla Shift + F10 esta desabilitada.');
		document.onKeyDown=false;
	}
}
//Desabilita o uso do botão direito do mouse
function desabilitar(){
	alert('Farmácias Nissei\n© 2004-Todos os direitos Reservados.\nDesenvolvimento TUTORIAL');
	return false
}


 function FormataValorParaCalculo(valor){
    valor = ""+valor;  
    valor =   valor.replace('.','');
    valor =   valor.replace(',','.');
    
    return valor;
 }

 function FormataValorParaApresentar(valor){
    valor = ""+valor;  
    valor =   valor.replace('.',',');
    
    return valor;
 }
    


function FormataValorMonetario(campooriginal) 
{ 
  var decimais = 2;
  var posicaoPontoDecimal; 
  var campo = ''; 
  var resultado = ''; 
  var pos,sep,dec; 


//Retira possiveis separadores de milhar 
  for (pos=0; pos < campooriginal.value.length; pos ++) 
  { 
    if (campooriginal.value.charAt(pos)!='.') 
        campo = campo + campooriginal.value.charAt(pos); 
  } 


//Formata valor monetário com decimais 
  posicaoPontoDecimal = campo.indexOf(','); 
  if (posicaoPontoDecimal != -1) 
   { 
      sep = 0; 
      for (pos=posicaoPontoDecimal-1;pos >= 0;pos--) 
      { 
        sep ++; 
        if (sep > 3) 
        { 
           resultado = '.' + resultado; 
           sep = 1; 
        } 


        resultado = campo.charAt(pos) + resultado; 
      } 


      // Trata parte decimal 
      if (parseInt(decimais) > 0 ) 
      { 
         resultado = resultado + ','; 


         pos=posicaoPontoDecimal+1; 
         for (dec = 1;dec <= parseInt(decimais); dec++) 
         { 
           if (pos < campo.length) 
           { 
              resultado = resultado + campo.charAt(pos); 
              pos++; 
           } 
           else 
              resultado = resultado + '0'; 
         } 


      } // trata decimais 
   } 
   // Trata valor monetário sem decimais 
   else 
   { 
      sep = 0; 
      for (pos=campo.length-1;pos >= 0;pos--) 
      { 
        sep ++; 
        if (sep > 3) 
        { 
           resultado = '.' + resultado; 
           sep = 1; 
        } 
        resultado = campo.charAt(pos) + resultado; 
      } 
      // Trata parte decimal 
      if (parseInt(decimais) > 0 ) 
      { 
         resultado = resultado + ','; 
         for (dec = 1;dec <= parseInt(decimais); dec++) 
         { 
              resultado = resultado + '0'; 
         } 
      } // trata decimais 
   } 
   campooriginal.value = resultado;
} 

function AddDayToDate(pData,DiasAdd) 
{
        var rData = new Date();
            // Aqui eu "mudo" a configuração de datas.
            // Crio um obj Date e pego o campo pData e 
            // "recorto" ela com o split("/") e depois dou um
            // reverse() para deixar ela em padrão americanos YYYY/MM/DD
            // e logo em seguida eu coloco as barras "/" com o join("/")
            // depois, em milisegundos, eu multiplico um dia (86400000 milisegundos)
            // pelo número de dias que quero somar a pData.
            rData.setTime(Date.parse(pData.split("/").reverse().join("/"))+(86400000*(DiasAdd)))
    return rData;        
       
}
/*
function AddDayToDate(pData, dias)
{ 
	var rData = converteFormatoData(pData);
 	dia = rData.getDate(); 
 	mes = rData.getMonth();
	mes = mes + 1;
 	ano = rData.getYear();
	
	for(i=0; i<dias; i++)
	{ 
		dia++;
		alert(dia+'-'+mes+'-'+ano);
  		if ((mes == 1) || (mes == 3) || (mes == 5) || (mes == 7) || (mes == 8) || (mes == 10) || (mes == 12))
		{ 
			if (dia == 32)
			{
				dia = 1;
				mes++;
			}
		}
		else
		{
			if ((mes == 4) || (mes == 6) || (mes == 9) || (mes == 11))
			{
				if (dia == 31)
				{ 
					dia = 1; 
					mes++; 
				} 
			}
			else
			{
				if (ano % 4 == 0)
				{

					if	(dia == 30)
					{ 
						dia = 1; 
						mes++;
					} 
				} 
				else
				{ 
					if (dia == 29)
					{ 
						dia = 1; 
						mes++;
					} 
				} 
			}
		}
		if (mes == 13)
		{
			ano++; 
			mes = 1; 
		}
  	}
  	//alert(dia+'-'+mes+'-'+ano);
	data_volta = new Date(ano,(mes-1),dia); 
	return(data_volta); 
} 
*/

function RemoveDayToDate(v_data,dias)
{ 
	var pos1 = v_data.indexOf("/",0)
	var dd = v_data.substring(0,pos1)
	pos2 = v_data.indexOf("/", pos1 + 1)
	var mm = v_data.substring(pos1 + 1,pos2)
	var aa = v_data.substring(pos2 + 1,10)
	var data = new Date(parseInt(aa,10),parseInt(mm,10) - 1, parseInt(dd,10));
 	dia = data.getDate(); 
 	mes = data.getMonth();
	mes = mes + 1;
 	ano = data.getYear();
	for(i=0; i<dias; i++)
	{ 
		dia = dia - 1;
		if (dia == 0)
		{
			mes = mes - 1;
			if (mes == 0)
			{
				mes = 12;
				ano = ano - 1;
			}
			if (mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12)	
			{
				dia = 31;
			}
			if (mes == 4 || mes == 6 || mes == 9 || mes == 11)
			{
				dia = 30;
			}
			if (mes == 2)
			{
				if ((ano % 4 == 0) && ((ano % 100 != 0) || (ano % 400 == 0)))
				{
					dia = 29;
				}
				else
				{
					dia = 28;
				}
			}
		}
  	}
	data_volta = new Date(ano,(mes-1),dia); 
	return(data_volta); 
} 


//Converte em data
function converteFormatoData(pData)
{
	var pos1 = pData.indexOf("/",0)
	var dd = pData.substring(0,pos1)
	var pos2 = pData.indexOf("/", pos1 + 1)
	var mm = pData.substring(pos1 + 1,pos2)
	var aa = pData.substring(pos2 + 1,10)
	var data = new Date(parseInt(aa,10),parseInt(mm,10) - 1, parseInt(dd,10));
	return data;
}

function Converte_Data(pData)
{
	var rData;
	var dia;
	var mes;
	var ano
	dia = pData.getDate();
	if (dia < 10) {dia = '0'+dia;}
	mes = pData.getMonth();
	mes = mes + 1;
	if (mes < 10) {mes = '0'+mes;}
	ano = pData.getYear();
	rData = dia+'/'+mes+'/'+ano;
	return(rData);
}


/*
TABELA ASC:

15= ¤
20= ¶
21= §
33= !
34= "
35= #
36= $
37= %
38= &
39= ' 
40=(
41= )
42= *
43= +
44= ,
45= -
46= .
47= /
48= 0
49= 1 
50= 2
51= 3 
52= 4 
54= 6
55= 7
56= 8
57= 9
58= :
59= ;
60= < 
61= = 
62= >
63= ?
64= @
65= A
66= B
67= C
68= D
69= E
70= F 
71= G
72= H
73= I
74= J
75= K 
76= L 
77= M
78= N
79= O
80= P 
81= Q  
82= R
83= S
84= T 
85= U
86= V
87= W
88= X
89= Y
90= Z  
91= [ 
92= \
93= ]
94= ^
95= _
96= `
97= a
98= b
99= c 
100= d  
102= f
104= h
105= i
106= j
107= k
108= l
109= m
110= n
111= o
112= p  
113= q 
114= r
115= s
116= t 
117= u 
118= v
119= w 
120= x
121= y
122= z 
123= {
124= |
125= }
126= ~
127= 
128= Ç
129= ü  
130= é
131= â
132= ä
133= à
134= å 
135= ç
136= ê
137= ë
138= è
139= ï
140= î
141= ì 
142= Ä 
143= Å
144= É
145= æ
146= Æ  
147= ô
148= ö 
149= ò
150= û
151= ù
152= ÿ
153= Ö 
154= Ü
155= ø
156= £
157= Ø
158= × 
159= ƒ
160= á 
161= í
162= ó
163= ú  
164= ñ
165= Ñ
166= ª
167= º
168= ¿
169= ®
170= 171= ½
172= ¼
173= ¡
174= «
175= » 177= _
178= _
179= ¦
180= 181= Á  182= Â
183= À
184= ©
185= ¦ 187= + 189= ¢ 190= ¥
191= + 193= - 194= -
195= +
196= -
197= +
198= ã 199= Ã 200= + 208= ð  209= Ð
210= Ê
229= Õ
211= Ë
212= È
213= i 214= Í 215= Î 225= ß
226= Ô
227= Ô
228= õ 230= µ 231= þ 232=Þ 233=Ú 234=Û   235=Ù
215= Î
289= ! 295= ' 297= )    
*/

    function Dia(Data_DDMMYYYY)
    {
        string_data = Data_DDMMYYYY.toString();
        posicao_barra = string_data.indexOf("/");
        if (posicao_barra!= -1)
        {
            dia = string_data.substring(0,posicao_barra);
            return dia;
        }
        else
        {
            return false;
        }
    }

    function Mes(Data_DDMMYYYY)
    {
        string_data = Data_DDMMYYYY.toString();
        posicao_barra = string_data.indexOf("/");
        if (posicao_barra!= -1)
        {
            dia = string_data.substring(0,posicao_barra);
            string_mes = string_data.substring(posicao_barra+1,string_data.length);
            posicao_barra = string_mes.indexOf("/");
            if (posicao_barra!= -1)
            {
                mes = string_mes.substring(0,posicao_barra);
                mes = Math.floor(mes);
                return mes;
            }
            else
            {
                return false;
            }
        }
        else
        {
            return false;
        }
    }

    function Ano(Data_DDMMYYYY)
    {
        string_data = Data_DDMMYYYY.toString();
        posicao_barra = string_data.indexOf("/");
        if (posicao_barra!= -1)
        {
            dia = string_data.substring(0,posicao_barra);
            string_mes = string_data.substring(posicao_barra+1,string_data.length);
            posicao_barra = string_mes.indexOf("/");
            if (posicao_barra!= -1)
            {
                mes = string_mes.substring(0,posicao_barra);
                mes = Math.floor(mes);
                ano = string_mes.substring(posicao_barra+1,string_mes.length);
                return ano;
            }
            else
            {
                return false;
            }

        }
        else
        {
            return false;
        }
    }
    
    //data1_DDMMYYYY - data maior
    //data2_DDMMYYYY - data menor
    function ObterDiferencaDias(data1_DDMMYYYY,data2_DDMMYYYY){
        
        Var_Dia1 = Dia(data1_DDMMYYYY);
        Var_Mes1 = Mes(data1_DDMMYYYY);
        Var_Mes1 -= 1;
        Var_Ano1 = Ano(data1_DDMMYYYY);
        var data1 = new Date(Var_Ano1,Var_Mes1,Var_Dia1);

        Var_Dia2 = Dia(data2_DDMMYYYY);
        Var_Mes2 = Mes(data2_DDMMYYYY);
        Var_Mes2 -= 1;
        Var_Ano2 = Ano(data2_DDMMYYYY);
        var data2 = new Date(Var_Ano2,Var_Mes2,Var_Dia2);

        var diferenca = data1.getTime() - data2.getTime();
        //diferenca = Math.floor(diferenca / (1000 * 60 * 60 * 24));
        diferenca = Math.ceil(diferenca / (1000 * 60 * 60 * 24));
        //alert('Diferença em dias entre '+data1_DDMMYYYY+' e '+data2_DDMMYYYY+' = '+diferenca);
        
        return diferenca;
    }