// JavaScript Document


function testRegExp(value, re) {
return new RegExp(re).test(value);
}

function validateString(value, maxsize, minsize) {
var valueTemp = value;
valueTemp = removeSpace(valueTemp);

if (valueTemp.length == 0) return false;
else return validateSize(value, maxsize, minsize)
}

function validateSelection(form_name, element_name) {
return (document.forms[form_name].elements[element_name].selectedIndex > 0);
}

function validateCheckBox(form_name, element_name) {
return document.forms[form_name].elements[element_name].checked;
}

function validateCleanString(value) {
return testRegExp(value, '^[A-Za-z0-9_]+$');
}

function validateEmail(value) {
return testRegExp(value, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$');
}

function validateAbsUrl(value) {
return testRegExp(value, '^(news|telnet|nttp|file|http|ftp|https)://[-A-Za-z0-9\\.]+$');
}

function removeSpace(value) {
var c = '';
count = value.length;

if (count == 0 )return '';

value = value.toString();
a = value.split(" ")
count = a.length;

for (i = 0; i < count; i++ ) {
c += a[i];
}

return c
}
/*
* confirma se o valor de um elemento de formulário
* é um número
@parameter boolean allow_blank - sinaliza se aceita valor em branco como válido
*/
function isNumber(value,allow_blank) {

return (!allow_blank && value == '') ? false : testRegExp(value, '^-?[0-9]*\\.?[0-9]*$');
}

function validateNumber(value, maxvalue, minvalue) {

value = convertToNumber(value)
if (maxvalue > 0 && value > maxvalue) return false
if (minvalue > 0 && value < minvalue)return false
return true
}
/*
* Confirma se o valor de um elemento de formulário 
* está dentro dos limites de tamanho 
*/
function validateSize(value, maxsize, minsize) {

var length = value.length
var flag = false

if (!minsize) minsize = 0

if (length == 0 ) return false

if ( !maxsize == null && length > maxsize ) return false
else if (length < minsize) return false

return true
}

/*
* converte o argumento em um número inteiro
*/
function toInt(value){

return parseInt (value)
}

/*
* converte o argumento em um número decimal
*/
function toFloat(value){

return parseFloat (value)
}
/*
* CONVERTTONUMBER
* converte um valor para número
* se o parâmetro digits é fornecido
* arredonda o número para a quantidade de decimais repassada
* 
* se o valor não é um número, retorna zero
*/
function convertToNumber(value, allowround, digits){

var int =0
/*
* se não é numérico, substitui a vírgula por ponto
* se ainda não é numérico faz igual a zero
*/
if (isNaN(value)) value = value.replace(',',".")
if (isNaN(value)) value = 0

// transforma para decimal flutuante
number = parseFloat(value)

/*
* se deseja arredondar, multiplica o número
* por 10 elevado oa número de dígitos desejados e
* arredonda o número para o inteiro mais próximo
* e divide o número pela potência de dez
*/
if (allowround) {

if (isNaN(digits)) digits = 0
pot = Math.pow(10,digits)
number = number * pot
number = Math.round(number)
number = number / pot
}

return number

}

/*
* FORMATCURRENCY
* retorna um valor em formato de moeda
* @parameter value - o valor a ser formatado
* @parameter allowround - sinaliza que deve arredondar o valor
*/
function formatCurrency(value, allowround){

var PT = '.'
var VR = ','
var intPart
var decPart
var pos = 0

/*
* se allowround = true
* arredonda o valor 
* converte o valor para string
* substitui o ponto por vírgula
* separa as partes inteira e decimal
*
*/

if (allowround) value = convertToNumber(value,true,2)
else value = convertToNumber(value)

value = value.toString()
value = value.replace(PT,VR)

pos = value.search(/,/)
// não existe parte decimal
if (pos == -1 ){
intPart = value;
decPart = '00';
} 
// existe parte decimal
else {

intPart = value.slice(0, pos );
decPart = value.slice(pos + 1);
decimais = decPart.length;
switch (decimais) {
case 1 : decPart += '0';
default: decPart = decPart.slice(0,2);
}

}

value ="R$ " + intPart + VR + decPart;
return value;

}

function validateDate(value){

var checkstr = "0123456789";
var DateValue = value;
var DateTemp = "";
var seperator = "/";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
err = 0;

/* Delete all chars except 0..9 */
for (i = 0; i < DateValue.length; i++) {

if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
DateTemp = DateTemp + DateValue.substr(i,1);
}
}
DateValue = DateTemp;
/* Always change date to 8 digits - string*/
/* if year is entered as 2-digit / always assume 20xx */
if (DateValue.length == 6) {

DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); 
}

if (DateValue.length != 8) {

err = 19;}
/* year is wrong if year = 0000 */
year = DateValue.substr(4,4);
if (year == 0) {
err = 20;
}
/* Validation of month*/
month = DateValue.substr(2,2);

if ((month < 1) || (month > 12)) {

err = 21;
}

/* Validation of day*/
day = DateValue.substr(0,2);
if (day < 1) {

err = 22;
}

/* Validation leap-year / february / day */
if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {

leap = 1;
}

if ((month == 2) && (leap == 1) && (day > 29)) {

err = 23;
}

if ((month == 2) && (leap != 1) && (day > 28)) {

err = 24;
}
/* Validation of other months */
if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
err = 25;
}

if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {

err = 26;
}

/* if 00 ist entered, no error, deleting the entry */
if ((day == 0) && (month == 0) && (year == 00)) {

err = 0; day = ""; month = ""; year = ""; seperator = "";
}

/* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
if (err == 0) {

return day + seperator + month + seperator + year;
}

/* Error-message if err != 0 */
else {
return false;

}
}
function teste()
{
alert('teste');
}



function validacnpj(cnpj)
      {
      var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
      digitos_iguais = 1;
      if (cnpj.length < 14 && cnpj.length < 15)
            return false;
      for (i = 0; i < cnpj.length - 1; i++)
            if (cnpj.charAt(i) != cnpj.charAt(i + 1))
                  {
                  digitos_iguais = 0;
                  break;
                  }
      if (!digitos_iguais)
            {
            tamanho = cnpj.length - 2
            numeros = cnpj.substring(0,tamanho);
            digitos = cnpj.substring(tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--)
                  {
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
                  }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0))
                  return false;
            tamanho = tamanho + 1;
            numeros = cnpj.substring(0,tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--)
                  {
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
                  }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1))
                  return false;
            return true;
            }
      else
            return false;
      } 

 function validacpf(cpf)
      {
      var numeros, digitos, soma, i, resultado, digitos_iguais;
      digitos_iguais = 1;
      if (cpf.length < 11)
            return false;
      for (i = 0; i < cpf.length - 1; i++)
            if (cpf.charAt(i) != cpf.charAt(i + 1))
                  {
                  digitos_iguais = 0;
                  break;
                  }
      if (!digitos_iguais)
            {
            numeros = cpf.substring(0,9);
            digitos = cpf.substring(9);
            soma = 0;
            for (i = 10; i > 1; i--)
                  soma += numeros.charAt(10 - i) * i;
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0))
                  return false;
            numeros = cpf.substring(0,10);
            soma = 0;
            for (i = 11; i > 1; i--)
                  soma += numeros.charAt(11 - i) * i;
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1))
                  return false;
            return true;
            }
      else
            return false;
      }

        
function termoUso(){
	document.getElementById("IDPROPAGANDA").style.display = "none";
	document.getElementById("IDTERMOUSO").style.display = "block";
}



function showAjudaCab(event,id){
 	
  
  document.getElementById(id).style.visibility = "visible";
  document.getElementById(id).style.top = event.clientY + document.body.scrollTop + 2 +"px";
  document.getElementById(id).style.left = event.clientX + document.body.scrollLeft + 15 +"px";
}

function hideAjudaCab(id){
  document.getElementById(id).style.visibility = "hidden";
}
