
function Request(rparam){
	sLoc = document.location.toString()
	sMat = sLoc.split("=")
	sValor = ''
	for(ri=0;ri<sMat.length;ri++){
	nPos = sMat[ri].indexOf(rparam)
		if(nPos>0){
			sEnd = sMat[ri+1].indexOf('&')
			if (sMat[ri+1].indexOf('%26')!= -1) sEnd = sMat[ri+1].indexOf('%26')
			if (sEnd < 0 ) sEnd = sMat[ri+1].length
			sValor = sMat[ri+1].substr(0,sEnd)
			break
		}
	}
	return sValor
}

	var src_page = location.href;
	var pos, valorBem;
	var sParam;

	pos = src_page.indexOf("?VALORBEM=",0);
	valorBem = src_page.indexOf("=",pos);
  	sParam = src_page.substring(valorBem+1,src_page.length);

function Param_Validator(nParam){
		var checkOK = "0123456789";
		var checkStr = nParam;
		var allValid = true;
		var decPoints = 0;
		var allNum = "";
		for (i = 0;  i < checkStr.length;  i++)
		{
		  ch = checkStr.charAt(i);
		  for (j = 0;  j < checkOK.length;  j++)
		      if (ch == checkOK.charAt(j))
		        break;
		    	if (j == checkOK.length)
		  {
		    allValid = false;
		    break;
		  }
		  allNum += ch;
		}
		//Valida se a ENTRADA contem caracteres diferente de numeros
		if (!allValid)
		{
		    alert("Valor inválido! Por favor, informe o valor sem ponto e sem vírgula.");
		    document.location = "https://www128.abnamro.com.br/scripts/engine_scr.dll?OPERA=cdcdados&TIPOPESSOA=F&CDSIST=SCR&NMSITE=Portal&INIT=TRUE";

		}
		//Validar se a ENTRADA for vazio
		else if (nParam == ""){
			alert("Valor inválido! Por favor, informe o valor sem ponto e sem vírgula.");
			document.location = "https://www128.abnamro.com.br/scripts/engine_scr.dll?OPERA=cdcdados&TIPOPESSOA=F&CDSIST=SCR&NMSITE=Portal&INIT=TRUE";
		}
		//Executa a simulacao
		else{
			Formatacao(sParam);
			sValorFinal = document.frmCDC.VALORBEM.value;
			valorEntrada(sValorFinal);
			var sPorce = new String(sVinte);
			sValorReplace = sPorce.replace(".",",");
			Formatacao(sValorReplace);
			dtVenc = dataVenc();
			document.frmCDC.DIA_VENC.value = dtVenc.substring(0,2);
			document.frmCDC.MES_VENC.value = dtVenc.substring(5,3);
			document.frmCDC.ANO_VENC.value = dtVenc.substring(10,6);
			document.frmCDC.submit();
		}
	}


	function Formatacao(valor){
	FormataMoeda(valor,2);
}


function FormataNumero( sValor, iCasasDecimais ) {
   var indPontoDec;                            // localizacao do ponto decimal
   var valorLimpo = "";                        // valor filtrado (apenas numeros e virgula)
   var cont = 0;                               // contador
   var indPonto = 0;                           // localizacao do último ponto
   var indVirgula = 0;                         // localizacao da última virgula
   var qtPonto = 0;                            // qtde de pontos de milhar
   var qtResto = 0;                            // resto de indPontoDec / 3
   var limite = 0;                             // limite da colocação do ponto de milhar


        // descobre qual o último separador que está sendo utilizado
        indVirgula = sValor.lastIndexOf(',');
        indPonto = sValor.lastIndexOf('.');
        sSeparador = ",";
        if (indVirgula == indPonto) {
                indPontoDec = -1;
        }
        else {
            if (indVirgula > indPonto) {
                indPontoDec = indVirgula;
            }
            else {
                indPontoDec = indPonto;
            }
        }

        // Arredonda pelo número de casas decimais
        valorLimpo = Arredonda( RetiraCaracteresNaoNumericos(sValor,'.',indPontoDec), iCasasDecimais );
//        alert("FN 1- RetiraCaracteresNaoNumericos = "+RetiraCaracteresNaoNumericos(sValor,'.',indPontoDec));
//        alert("FN 2- Arredonda = "+Arredonda( RetiraCaracteresNaoNumericos(sValor,'.',indPontoDec), iCasasDecimais ));
//        alert("FN 3- valorLimpo = "+valorLimpo);

        // descobre qual o último separador que está sendo utilizado
        indVirgula = valorLimpo.lastIndexOf(',');
        indPonto = valorLimpo.lastIndexOf('.');
        if (indVirgula == indPonto) {
                indPontoDec = -1;
        }
        else {
            if (indVirgula > indPonto) {
                indPontoDec = indVirgula;
            }
            else {
                indPontoDec = indPonto;
            }
        }

        // limpa dígitos não numéricos do valor e transforma número com vírgula decimal
        valorLimpo = RetiraCaracteresNaoNumericos(valorLimpo,sSeparador,indPontoDec);
//        alert("FN 4- RetiraCaracteresNaoNumericos = "+RetiraCaracteresNaoNumericos(valorLimpo,sSeparador,indPontoDec));

        // Preenche com zeros na casa decimal caso seja necessário
        valorLimpo = PreencheComZerosNaCasaDecimal(valorLimpo,sSeparador,iCasasDecimais);
//        alert("FN 5- PreencheComZerosNaCasaDecimal = "+PreencheComZerosNaCasaDecimal(valorLimpo,sSeparador,iCasasDecimais));

        // coloca separação de milhar
        indPontoDec = valorLimpo.lastIndexOf(',');
        qtPonto = Math.floor(indPontoDec/3);
        qtResto = indPontoDec%3;
        if (qtResto==0)
                limite=1;
        else
                limite=0;
        for (cont=qtPonto-1; cont >= limite; cont--)
                valorLimpo = valorLimpo.substring(0, qtResto + cont*3) + '.' +
                             valorLimpo.substring(qtResto + cont*3, valorLimpo.length);

		if (document.frmCDC.VALORBEM.value == ""){
			document.frmCDC.VALORBEM.value = valorLimpo;
		}
		else{
			document.frmCDC.VALORENTRADA.value = valorLimpo;
		}
		return valorLimpo;
}

function FormataMoeda(valor, blnUnidade)
{
    return FormataNumero( valor, 2 );
}

function PreencheComZerosNaCasaDecimal( sValor, sSeparador, iCasasDecimais) {

    if( iCasasDecimais <= 0 )
        return sValor;

    sValorFormatado = sValor;

    if( (i = sValor.indexOf(sSeparador)) != -1 ) {
        i = sValor.length - i - 1;
    }
//    alert("PreencheComZerosNaCasaDecimal - i = "+i);
    while(i < iCasasDecimais ) {
        if( i == -1 ) {
            sValorFormatado += sSeparador;
        }
        else {
            sValorFormatado += "0";
        }
        i++;
    }
    return sValorFormatado;
}

function Arredonda( sValor, iCasasDecimais ) {

    iPotenciaDeDez=1
    dblValor=parseFloat(sValor);
//    alert('no Início --- sValor = '+sValor+' dblValor = '+dblValor);

    // passo para inteiro a parte inteira e mais as casas decimais do valor
    // para poder fazer o arredondamento
    for( i=0; i<iCasasDecimais; i++)
        iPotenciaDeDez*=10;
//    alert('iPotenciaDeDez = '+iPotenciaDeDez);

    dblValor *= iPotenciaDeDez;
    dblValor = Math.round(dblValor)/iPotenciaDeDez;

//    alert('no Fim --- sValor = '+sValor+' dblValor = '+dblValor);

    return dblValor.toString();

}
function RetiraCaracteresNaoNumericos( sValor, sSeparador, iIndPontoDec ) {
var numero = "0123456789";          // domínio de dígitos válidos
var sValorLimpo = "";
var i=0;

//    alert("RetiraCaracteresNaoNumericos - sValor = "+sValor);
//    alert("RetiraCaracteresNaoNumericos - sSeparador = "+sSeparador);
//    alert("RetiraCaracteresNaoNumericos - iIndPontoDec = "+iIndPontoDec);
    for (i=0; i < sValor.length; i++)
    {
        if (numero.indexOf(sValor.charAt(i)) != -1)
            sValorLimpo += sValor.charAt(i);
            // substitui ponto decimal por vírgula
        if (i+1 == iIndPontoDec)
        {
            i++;
            sValorLimpo += sSeparador;
        }
        else
            if ((i==0) && (iIndPontoDec==0))
                sValorLimpo += sSeparador;
    }
//    alert("RetiraCaracteresNaoNumericos - sValorLimpo = "+sValorLimpo);
    return sValorLimpo;
}

function valorEntrada(sValor){
	sReplace = sValor.replace(".","");
	sReplace = sReplace.replace(",",".");
	sValor = parseFloat(sReplace)
	sVinte = (sValor * 0.2);
	return sVinte;
}

function dataVenc(){
	oDate = new Date()
	DIA_INI = oDate.getDate();
	MES_INI = oDate.getMonth();
	MES_INI = parseInt(MES_INI) + 1;
	if(MES_INI  < 10){
		MES_INI = "0" + MES_INI;
	}
    ANO_INI = oDate.getFullYear();

	var MiliSeg=oDate.getTime()+(30*24*60*60*1000);
	oDate.setTime(MiliSeg);
	DIA_VENC=(oDate.getDate() < 10)? "0"+oDate.getDate():oDate.getDate();
	MES_VENC=((oDate.getMonth()+1) <10)? "0"+(oDate.getMonth()+1):(oDate.getMonth()+1);
	ANO_VENC=oDate.getFullYear();
	var dtVenc=DIA_VENC.toString()+"/"+MES_VENC.toString()+"/"+ANO_VENC.toString();
	return dtVenc;
}