function Modulo11(szValue)
{
	var iPeso, iSoma, iResto, Aux;
	
	iPeso = 2;
	iSoma = 0;
	
	var szValueAux	= new String(szValue);
	var tam			= szValueAux.length;
	
	tam = parseInt(tam,10)-1;
	
	for(i=parseInt(tam,10); i>=0; i--)
	{
		Aux = szValue.substr(i, 1);
		iSoma = parseInt(iSoma,10) + ( parseInt(Aux,10) * iPeso);

		if( iPeso == 9 )
			iPeso = 2;
		else
			iPeso+= 1;
	}

	iResto = iSoma % 11
	if( iResto == 0 || iResto == 1 )
		iResto = 0;
	else
		iResto = 11 - parseInt(iResto,10);
			
	return iResto
}


function ValidaMoney(ValorIn)
{
	var bValOk = false;
	var szAux;
	var iVirgula = 0;
	
	if(ValorIn == "")
		return bValOk;
	
	if (ValorIn.indexOf(".") == -1)
	{
		// validar formato Money (tem que ser XXXX,XX)
		for(i=0; i < parseInt(ValorIn.length)  ; i++)
		{
			if (ValorIn.substr(i, 1) == ",")
				iVirgula++;
		}	

    		if(iVirgula > 1 || iVirgula == 0)
			return bValOk;
		else
		{
			// valida centavos Money (deve ter 2 casas apenas)
			if( (parseInt(ValorIn.length) - 1 - parseInt(ValorIn.indexOf(",")) ) != 2 )
				return bValOk;
			else	
			{
				// valida numeros de cada lado
				var Left = ValorIn.substr(0, parseInt(ValorIn.indexOf(",")))
				var Right = ValorIn.substr(parseInt(ValorIn.indexOf(","))+1, parseInt(ValorIn.length)-2)

				if(isNaN(Left) || isNaN(Right))
					return bValOk;
				else
					return !bValOk;
			}	
		}	
	}

	return bValOk;
}

function ValidaEmail(szEmail)
{
	if (szEmail.indexOf("@") == -1 || szEmail.length < 7)
		return false;
	else
	{
		var iPos = 0;
		iPos = szEmail.indexOf("@");
		if (parseInt(iPos,10)>0)
		{
			var szAux = szEmail.substr(iPos+1, szEmail.length-iPos);
			var iAux = 0;
			var szString;
			var bValido = false;
				
			 do
			 {
			 	iAux = szAux.indexOf(".");
 				if (iAux > 0)
 				{	
					szString = szAux.substr(iAux+1, szAux.length-iAux+1);
					if (szString.length >=2 && szString.length <=3)
					{
						iAux = -1;
						bValido = true;
					}	
					else
					{	
						if (szString.length <2)
							iAux = -1;
						else
							szAux = szString;
					}
 				}
 				else
 					iAux = -1;
			}
			while (iAux > 0);

			return bValido;
		}		
		else
			return false;
	}	
}


function ValidaCgc(num,dig)
{
	var aux = num.toString();
	var dv = dig.toString(); 
	var cgc = num.toString() + dig.toString();
	var digito, soma;
	soma = 0;
	
	if (num == "000000000000" || num == "111111111111" || num == "222222222222" || num == "333333333333" || num == "444444444444" 
  		|| num == "555555555555" || num == "666666666666" || num == "777777777777" || num == "888888888888"
		|| num == "999999999999")	
	 return false;

	
	if(aux.length != 12 || dv.length != 2)
	{
		return false;
	}
	else
	{  
		/* calcula primeiro digito */
		var mult;
		mult = 2;
		for (a=aux.length -1  ; a >= 0  ; a--)
		{
			digito = aux.substr(a,1);
			soma = soma + (digito * mult)
			mult++
			if( mult == 10 )
			{
				mult = 2;
			}
		}

		var dig1 = (11 - (soma % 11));
			if (parseInt(dig1,10) == 10 || parseInt(dig1,10) == 0)
			{
				dig1 = 0;
			}	

		var cgcdig1 = aux + dig1.toString()

		/* Calcula o segundo digito verificador */
		soma = 0;
		mult = 2;
		for (a=cgcdig1.length -1  ; a >= 0  ; a--)
		{
			digito = cgcdig1.substr(a,1);
			soma = soma + (digito * mult)
			mult++
			if( mult == 10 )
			{
				mult = 2;
			}
		}
	
		var dig2 = (11 - (soma % 11));

		if (parseInt(dig2,10) == 10 || parseInt(dig2,10) == 0)
		{
			dig2 = 0;
		}	
		
		var cgcnovo = cgcdig1 + dig2.toString()

		/* verifica se o CGC informado e Valido */

		if(cgc != cgcnovo)
		{
			return false;
		}
		else
		{
			return true;
		}
	}
}

function ValidaCpfCgc(numero)
{
	if (numero.length == 11)
	{
		return ValidaCpf(numero);
	}
	else if (numero.length == 14)
	{
		return ValidaCgc2(numero);
	}
	else
	{
		return false;
	}
}

function ValidaCgc2(numero)
{
	var numero2 = numero.toString();
	var num = numero2.substr(0,12);
	var dig = numero2.substr(12, 2);

	var aux = num.toString();
	var dv = dig.toString(); 
	var cgc = num.toString() + dig.toString();
	var digito, soma;
	soma = 0;

	if (num == "000000000000" || num == "111111111111" || num == "222222222222" || num == "333333333333" || num == "444444444444" 
  		|| num == "555555555555" || num == "666666666666" || num == "777777777777" || num == "888888888888"
		|| num == "999999999999")	
	 return false;

	
	if(aux.length != 12 || dv.length != 2)
	{
		return false;
	}
	else
	{  
		/* calcula primeiro digito */
		var mult;
		mult = 2;
		for (a=aux.length -1  ; a >= 0  ; a--)
		{
			digito = aux.substr(a,1);
			soma = soma + (digito * mult)
			mult++
			if( mult == 10 )
			{
				mult = 2;
			}
		}

		var dig1 = (11 - (soma % 11));
			if (parseInt(dig1,10) == 10 || parseInt(dig1,10) == 0 || parseInt(dig1,10) == 11)
			{
				dig1 = 0;
			}	

		var cgcdig1 = aux + dig1.toString()

		/* Calcula o segundo digito verificador */
		soma = 0;
		mult = 2;
		for (a=cgcdig1.length -1  ; a >= 0  ; a--)
		{
			digito = cgcdig1.substr(a,1);
			soma = soma + (digito * mult)
			mult++
			if( mult == 10 )
			{
				mult = 2;
			}
		}
	
		var dig2 = (11 - (soma % 11));

		if (parseInt(dig2,10) == 10 || parseInt(dig2,10) == 0 || parseInt(dig2,10) == 11)
		{
			dig2 = 0;
		}	
		
		var cgcnovo = cgcdig1 + dig2.toString()

		/* verifica se o CGC informado e Valido */

		if(cgc != cgcnovo)
		{
			return false;
		}
		else
		{
			return true;
		}
	}
}


function VerifyCards(iNumCard){
var bRet;

	bRet = false;
	
	if (parseInt(iNumCard.length, 10) == 13)
	{
		bRet = VerifyCard13(iNumCard);
		return bRet;
	}
	else if (parseInt(iNumCard.length, 10) == 16)	
	{
		bRet = VerifyCard16(iNumCard);
		return bRet;
	}
	else
		return bRet;	
}

function ValidaCpf(num){
var i
var j
var soma
var aux
var digito

  if (num.length != 11)
    return false;

  if (num == "00000000000" || num == "11111111111" || num == "22222222222" || num == "33333333333" || num == "44444444444" 
  		|| num == "55555555555" || num == "66666666666" || num == "77777777777" || num == "88888888888"
		|| num == "99999999999")	
	 return false;

  aux = num.substr(0, num.length-2);
  for (j=1; j<=2; j++)
  {
	soma = 0;	  
	for (i=0; i<=aux.length-1; i++)
	{
		soma = soma + (aux.substr(aux.length - 1 - i, 1) * (i + 2) * 10);	
	}
	aux = aux + "01234567890".substr((soma % 11), 1);
  }

  if (aux != num)
    return false;
  else
  	return true;
}

function ChangeFocus(){
	document.formFicha.Nome.focus();
}

function FormatNumero(num,dec)
{
var aux
var inteiro
var fracao
var ps
var i
var car
var qtd
var aux2 = ",.";

aux = num + "|";
qtd=0;

  for (i=0; i <= aux.length-1; i++)
  {
	 if (aux2.indexOf(aux.substr(i, 1)) > 0)
	 {
		  qtd = qtd + 1;
		  aux = aux.substr(0, i) + "|" + aux.substr(i+1, aux.length-i);
	 }  
  }

  ps = aux.indexOf("|");
  inteiro = aux.substr(0, ps);
  fracao = aux.substr(ps+1, aux.length-ps);
  if (fracao.length > 0)
  {
  	fracao = fracao.substr(0, (fracao.length)-1);
  }
		
  if (dec == 0)
  {
  	aux = inteiro;
	if (aux.length > 3)
	{
		aux = aux.substr(1, aux.length-3) + "." + aux.substr((aux.length-3)+1, 3);
	}
	if (aux.length > 7)
	{
		aux = aux.substr(1, aux.length-7) + "." + aux.substr((aux.length-7)+1, 7);
	}
  }
  else
  {
	fracao = fracao + "00000000";  
	fracao = fracao.substr(0, dec);
	aux = inteiro + "," + fracao;
	if (aux.length > 4 + dec)
	{
		aux = aux.substr(0, aux.length-4-dec) + "." + aux.substr(aux.length-4-dec, 4+dec);
	}
	if (aux.length > 8 + dec)
	{
		aux = aux.substr(0, aux.length-8-dec) + "." + aux.substr(aux.length-8-dec, 8+dec);
	}
  }

  if (aux.indexOf("-.") > 0)
  {
  	aux = aux.substr(0, 1) + aux.substr(2, aux.length-2);
  }  

  return aux;  
}

function SeparaValor(aux, posicao){
var pos
var cursor
var conta
var valor

cursor = 0
conta = 0

 do{
 	pos	= aux.indexOf("|", cursor);
 	if (pos > 0)
 	{
 		conta = conta + 1				
 		if (conta == posicao){
 			valor = aux.substr(cursor, pos-cursor);
 			pos = -1
 		}
 		else
 		{
 			cursor = pos+1;
 		}
 	}
 }
 while (pos > 0);
	
	return valor
}

function TrocaCaracter(str, de, para){
var ps;

	ps = str.indexOf(de);
	if(ps > 0)
	{
		var strLeft = str.substr(0, ps);
		var strRight = str.substr(ps+1, str.length - ps);
 		var strLeft = strLeft + para + strRight;

		return strLeft;
	}
	else
		return str;
}


function LancaJanela(Url)
{
	var opcoes = "location=no,directories=no,status=no,menubar=no,toolbar=no,scrollbars=no,width=370,height=285,top=100,left=200";
	window.open(Url,"Preenchimento",opcoes);
}

function TiraFormatacao(intValor)
{
	var i;
	var iAux;
	var szLeft;
	var szRight;
	
	if (intValor.length >=1)
	{
		 do
		 {
		 	iAux = intValor.indexOf(".");
 			if (iAux >= 0)
 			{	
 				szLeft = intValor.substr(0, iAux);
 				szRight = intValor.substr(iAux+1, intValor.length - (iAux+1));

			 	szLeft = szLeft + szRight;
			 	intValor = szLeft;
			}	
		}
		while (iAux > 0);
		
		 do
		 {
		 	iAux = intValor.indexOf(",");
 			if (iAux >= 0)
 			{	
 				szLeft = intValor.substr(0, iAux);
 				szRight = intValor.substr(iAux+1, intValor.length - (iAux+1));

			 	szLeft = szLeft + szRight;
			 	intValor = szLeft;
			}	
		}
		while (iAux > 0);

		return parseFloat(intValor);
	}
	else
		return 	intValor;
}

function ValidaNumeros(szTexto)
{
var texto	= new String(szTexto);
var Numero	= new Array(10);
var tam		= texto.length;
var odigito;
var bOk		= false;

Numero[0]=0;
Numero[1]=1;
Numero[2]=2;
Numero[3]=3;
Numero[4]=4;
Numero[5]=5;
Numero[6]=6;
Numero[7]=7;
Numero[8]=8;
Numero[9]=9;

	for (a=0; a < tam ; a++)
	{
		odigito = texto.substring(a,a+1);
		
		for(j=0; j<10; j++)
		{
			if(Numero[j] == odigito)
			{
				bOk = true;
				break;
			}
			else
				bOk = false;
		}

		if(!bOk)
			return bOk;
	}

	return bOk;
}


function isEmpty(s){

    return ((s == null) || (s.length == 0))
}



// isIntegerInRange (STRING s, INTEGER a, INTEGER b [, BOOLEAN emptyOK])
// 
// isIntegerInRange = true se s &eacute; inteiro dentro dos limites,inclusive
// 
// emptyOK se for opcional deve ser true


function isIntegerInRange (s, a, b)
{    
   if (isEmpty(s)) return false;

    if (!isInteger(s)) return false;

    var num = (s);
    
    return ((num >= a) && (num <= b));
}

function abreJnl(url,largura,altura,scrol) {
	novaJanela = window.open(url,'pop4any1','width='+largura+',height='+altura+'directories=0,location=0,menubar=0,resizable=0,scrollbars='+scrol+',status=1,toolbar=0,marginleft=0,margintop=0,left=25,top=25');
	novaJanela.focus();
	return false;
}

function mosDIV(divId) {
	d = document;
	ie = d.all;
	ns = d.layer;
	by = d.getElementById;
	if (ns) {
		if(ns[divId].display=='block') {
			ns[divId].display = 'none';
		} else {
			ns[divId].display = 'block';
		}
	}
	else if (by) {
		if(d.getElementById(divId).style.display=='block') {
			d.getElementById(divId).style.display = 'none';
		} else {
			d.getElementById(divId).style.display = 'block';
		}
	}
	else if (ie) {
		if(ie[divId].style.display=='block') {
			ie[divId].style.display = 'none';
		} else {
			ie[divId].style.display = 'block';
		}
	}
}
function escDIV(divId) {
	d = document;
	ie = d.all;
	ns = d.layer;
	by = d.getElementById;
	if (ns) {
		ns[divId].display = 'none';
	}
	else if (by) {
		d.getElementById(divId).style.display = 'none';
	}
	else if (ie) {
		ie[divId].style.display = 'none';
	}
}