
function flipSubmit(obj,subId) {
    var objSub = document.getElementById(subId);
    if (obj.checked) {
        objSub.className = "botao";
    } else {
        objSub.className = "botaodesabilitado";
    }
    objSub.disabled = !obj.checked;
}

/*
 * Tau Validate Form 4.7
 * 
 * Utilização:
 *  Inclua o arquivo 'tau_validacao.js', encontrável em
 *  /home/tia/jsclasses/validacao/.
 *  Chame a função tau_inicializaValidacao(), que aceita dois
 * parâmetros: um código para o idioma das mensagens de erro,
 * atualmente 'pt' ou 'en', e o id do formulário a validar. Ex:
 *      tau_inicializaValidacao('pt','contato');
 *
 *  Para marcar campos para validação inclua-os em uma ou mais
 * das classes abaixo:
 *     tau__ChecksetN:M : fieldset contendo checkboxes (ver abaixo);
 *     tau__Email :       campo e-mail;
 *     tau__CNPJ :        campo CNPJ;
 *     tau__CPF :         campo CPF (inclui autoformatação);
 *     tau__Num :         campo numérico genérico (inclui autolimpeza);
 *     tau__Radioset :    fieldset contendo radioboxes (ver abaixo);
 *     tau__RangeN:M :    campo com tamanho entre N e M caracteres;
 *     tau__Req :         campo obrigatório;
 *     tau__Multi :       fieldset contendo campos texto.
 *
 *  Campos pertencentes à classe tau__Req terão suas labels, caso
 * existam, marcadas com a mesma classe.
 *  Na execução do evento "blur" de um campo ele receberá a classe
 *  'correto', caso passe na verificação, ou 'errado', caso contrário.
 * 
 *  Para apresentar o conteúdo da label como nome do campo nas
 * mensagens de erro, ao invés do atributo name do campo, ponha
 * o texto a ser apresentado dentro de um elemento span, como no
 * exemplo abaixo:
 *      <label for="nome"><span>Nome</span>*</label>
 * Dessa forma a mensagem apresentará apenas "Nome" como nome do
 * campo, e não "nome" ou "Nome*".
 *
 *  Fieldsets de classe 'tau__Checkset' ou 'tau__Radioset' deverão ter
 * "id" igual ao "name" dos elementos Input que contém. Os parâmetros
 * numéricos passados para 'tau__Checkset' são análogos aos passados
 * para 'tau__Range'. Marcar um Fieldset como 'tau__Radioset' indica
 * que a marcação de um dos Radioboxes é obrigatória.
 *
 */

var FORMS = new Object();

var FOCUS = true;
var IDIOMA = "en";


var TABELA_MENSAGENS = new Object();
TABELA_MENSAGENS["pt"] = new Object();
    /*TABELA_MENSAGENS["pt"]["tau__Checkset"] = new Array(
        "deve ter no mínimo %s opções marcadas.",
        "deve ter no máximo %s opções marcadas."
    );*/
    TABELA_MENSAGENS["pt"]["tau__Checkset"] = new Array(
        "deve ser marcado.",
        "deve ter no máximo %s opções marcadas."
    );
    TABELA_MENSAGENS["pt"]["tau__CNPJ"] = "não é um CNPJ válido.";
    TABELA_MENSAGENS["pt"]["tau__CPF"] = "não é um CPF válido.";
    TABELA_MENSAGENS["pt"]["tau__Radioset"] = "deve ser marcado.";
    TABELA_MENSAGENS["pt"]["tau__Req"] = "deve ser preenchido.";
    TABELA_MENSAGENS["pt"]["tau__Range"] = new Array(
        "deve ter no mínimo %s caracteres",
        "deve ter no máximo %s caracteres"
    );
TABELA_MENSAGENS["en"] = new Object();
    TABELA_MENSAGENS["en"]["tau__Checkset"] = new Array(
        "must have at least %s options checked.",
        "must have at most %s options checked."
    );
    TABELA_MENSAGENS["en"]["tau__CNPJ"] = "is not a valid CNPJ.";
    TABELA_MENSAGENS["en"]["tau__CPF"] = "is not a valid CPF.";
    TABELA_MENSAGENS["en"]["tau__Radioset"] = "must be checked.";
    TABELA_MENSAGENS["en"]["tau__Req"] = "must be filled.";
    TABELA_MENSAGENS["en"]["tau__Range"] = new Array(
        "must have at least %s characters.",
        "must have at most %s characters."
    );

function tau_inicializaValidacao(idioma,frmId) {
    var frm = document.getElementById(frmId);
    FORMS[frm.id] = new Object();
    FORMS[frm.id].MSG = new Array();
    FORMS[frm.id].LABELS = new Array();
    FORMS[frm.id].ELEMENTOS = new Object();
    FORMS[frm.id].MENSAGENS = new Array();

    tau_inicializaIdioma(frm,idioma); 
    tau_registraElementos(frm);
    tau_montaListaLabels(frm);
    frm.onsubmit = function() {
        return tau_validaEnvio(this);
    };
    //alert(FORMS[frm.id].FOCUS);
    if (FOCUS !== false)
        document.getElementById(FORMS[frm.id].FOCUS).focus();
}

function tau_registraElementos(frm) {
    var fieldset,testes,elemento;
    var elementos = frm.elements;
    if (FOCUS) {
        FORMS[frm.id].FOCUS = elementos[0].id;
        FOCUS = false;
    }
    for (var i=0;i<elementos.length;i++) {
        //alert(elementos[i].type);
        if (elementos[i].type)
          if (elementos[i].type.match(/(checkbox|radio)/)) {
            if (!FORMS[frm.id].ELEMENTOS[elementos[i].name]) {
                fieldset = elementos[i].parentNode;
                while(fieldset.nodeName != "FIELDSET") {
                    fieldset = fieldset.parentNode;
                }
                //alert(fieldset);
                testes = tau_extraiReq(fieldset.className);
                fieldset.onblur = function() {
                    tau_exibeDica(null,this);
                    //return false;
                };
                fieldset.focus = function() {
                    //tau_exibeDica(null,this);
                    //alert(this.id);
                    return false;
                };
                FORMS[frm.id].ELEMENTOS[elementos[i].name] = new Object();
                FORMS[frm.id].ELEMENTOS[elementos[i].name]["id"] = elementos[i].name;
                FORMS[frm.id].ELEMENTOS[elementos[i].name]["ops"] = new Array();
                FORMS[frm.id].ELEMENTOS[elementos[i].name]["testes"] = testes;
                //alert(FORMS[frm.id].ELEMENTOS[elementos[i].name]["testes"].length);
            }
            FORMS[frm.id].ELEMENTOS[elementos[i].name]["ops"].push(elementos[i]);
            //alert(FORMS[frm.id].ELEMENTOS[elementos[i].name]["ops"]);
          } else {
            testes = tau_extraiReq(elementos[i].className);
            //alert(testes.length);
            if (testes && testes.length > 0) {
                //alert(elementos[i].id);
                FORMS[frm.id].ELEMENTOS[elementos[i].id] = elementos[i];
                FORMS[frm.id].ELEMENTOS[elementos[i].id]["testes"] = testes;
                //alert(FORMS[frm.id].ELEMENTOS[elementos[i].id]["testes"].length);
                //FORMS[frm.id].ELEMENTOS[elementos[i].id]["label"] = tau_nomeElemento(frm,elementos[i]);
                elementos[i].onblur = function() {
                    tau_limpaEntrada(frm,this);
                    tau_exibeDica(frm,this);
                    tau_formataEntrada(frm,this);
                    if (this.id.match(/telefone/)) {
                        //tau_exibeMulti(frm,document.getElementById('legendatelefone'),['dddtelefone','numerotelefone']);
			temp = this.parentNode.getElementsByTagName("input");
			tau_exibeMulti(frm,document.getElementById('legendatelefone'),[temp[0].id,this.id]);
                    }
                    if (this.id.match(/fax/)) {
                        tau_exibeMulti(frm,document.getElementById('legendafax'),['dddfax','numerofax']);
                    }
                    /*
                    if (this.id.match(/celular/)) {
                        tau_exibeMulti(frm,document.getElementById('legendacelular'),['dddcelular','numerocelular']);
                    }
                    */
                }
            } else {
            }
          }
    }
}

function tau_inicializaIdioma(frm,idioma) {
    IDIOMA = idioma;
    FORMS[frm.id].MENSAGENS = TABELA_MENSAGENS[idioma];
} 

function tau_montaListaLabels(frm) {
    var fieldset,elId,lista = document.getElementsByTagName('LABEL');
    for (var i=0;i<lista.length;i++) {
        //alert(lista[i].htmlFor+":"+lista[i].firstChild.innerHTML);
        elId = lista[i].htmlFor;
        FORMS[frm.id].LABELS[elId] = lista[i];//.firstChild.innerHTML;
            //alert(FORMS[frm.id].ELEMENTOS[elId]["testes"][0][0].match(/tau__Req/));
            //alert(FORMS[frm.id].ELEMENTOS[elId]);
        if (FORMS[frm.id].ELEMENTOS[elId] != undefined)
            //alert(FORMS[frm.id].ELEMENTOS[elId].id);
            if (FORMS[frm.id].ELEMENTOS[elId].className.match(/tau__Req/)) {
                //alert(FORMS[frm.id].ELEMENTOS[elId].className.match(/tau__Req/));
                lista[i].className += ' tau__Req';
            }
    }
    lista = document.getElementsByTagName('LEGEND');
    for (i=0;i<lista.length;i++) {
        fieldset = lista[i].parentNode;
        while (fieldset.nodeName != "FIELDSET") {
            fieldset = fieldset.parentNode;
        }
        FORMS[frm.id].LABELS[fieldset.id] = lista[i];
        if
(fieldset.className.match(/(tau__Checkset1|tau__Radioset)/)) {
            FORMS[frm.id].LABELS[fieldset.id].className += " tau__Req";
        }
    }
}

function tau_classificaElemento(frm,el, classificacao) {
    //alert(el.tagName);
    if (el.className) {
        el.className = el.className.replace(/(correto|errado)/,'');
        el.className += ' '+classificacao;
    }
    if (FORMS[frm.id].LABELS[el.id]) {
        FORMS[frm.id].LABELS[el.id].className = FORMS[frm.id].LABELS[el.id].className.replace(/(correto|errado)/,'');
        FORMS[frm.id].LABELS[el.id].className += ' '+classificacao;
    }
}

function tau_formataEntrada(frm,obj) {
    var reqs = FORMS[frm.id].ELEMENTOS[obj.id]["testes"];
    for (var i=0; i<reqs.length; i++) {
        switch(reqs[i][0]) {
            case "tau__CPF":
                obj.value = obj.value.replace(/(...)(...)(...)(..)/g,"$1.$2.$3-$4");
                break;
        }
    }
}

function tau_limpaEntrada(frm,obj) {
    //alert(FORMS[frm.id].ELEMENTOS[obj.id]);
    var reqs = FORMS[frm.id].ELEMENTOS[obj.id]["testes"];
    for (var i=0; i<reqs.length; i++) {
        switch(reqs[i][0]) {
            case "tau__Num":
                obj.value = obj.value.replace(/\D+/g,'');
                break;
        }
    }
}

function tau_exibeDica(frm,obj) {
    if (frm == null) {
        frm = obj.parentNode;
        while (frm.nodeName != 'FORM') {
            frm = frm.parentNode;
        }
    }
    //alert(frm.id);
    //dump('obj:'+obj+'\n');
    var err = tau_testaReq(frm,obj);
    //dump('err:'+err+'\n');
    if (!err) {
        //alert('Correto');
        tau_classificaElemento(frm,obj,'correto');
        return true;
    } else {
        //alert('Errado');
        tau_classificaElemento(frm,obj,'errado');
        return false;
    }
    //alert(obj.className);
}

function tau_exibeMulti(frm,legenda,lstObjIds) {
    //dump('multi:'+legenda.id+'\n');
    var bCorreto,bOk = true;
    for (var k=0; k<lstObjIds.length; k++) {
        bCorreto = document.getElementById(lstObjIds[k]).className.match(/correto/);
        //dump(lstObjIds[k]+':'+bCorreto+'\n');
        if (bOk) bOk = bCorreto;
    }
    //alert(bOk);
    if (bOk) {
        tau_classificaElemento(frm,legenda,'correto');
    } else {
        tau_classificaElemento(frm,legenda,'errado');
    }
}

function tau_validaElemento(frm,el,err) {
    //alert(el);
    var m = tau_testaReq(frm,el);
    //alert(m);
    if (m) {
        if (err.length == 0) FOCUS = el.id;
        err.push(m);
    }
}

function tau_testaReq(frm,obj) {
  var reqs,count,k,msg = false;
  var v;
  if (obj.value != undefined)
      v = obj.value;
  var msgs = new Array();
  if (FORMS[frm.id].ELEMENTOS[obj.id] != undefined) {
    reqs = FORMS[frm.id].ELEMENTOS[obj.id]["testes"];
  } else {
    reqs = new Array(['foo']);
  }
  for (var i=0; i<reqs.length; i++) {
    switch(reqs[i][0]) {
        case 'tau__CNPJ':
            if (v == '') break;
            var val = v.replace(/\D+/g,'');
            var CNPJMsg = cnpjCheck(val);
            if (!CNPJMsg) msgs.push(FORMS[frm.id].MENSAGENS["tau__CNPJ"]);
        break;
        case 'tau__CPF':
            if (v == '') break;
            var val = v.replace(/\D+/g,'');
            var CPFMsg = cpfCheck(val);
            if (!CPFMsg) msgs.push(FORMS[frm.id].MENSAGENS["tau__CPF"]);
        break;
        case 'tau__Email':
            var emailMsg = emailCheck(v);
            if (emailMsg !== true) {
                msgs.push("["+emailMsg[IDIOMA]+"]");
            }
        break;
        case 'tau__Req':
            //alert('Obrigatório');
            if (v == "") msgs.push(FORMS[frm.id].MENSAGENS["tau__Req"]);
        break;
        case 'tau__Range':
            //alert('De '+reqs[i][1]+' a '+reqs[i][2]);
            if (v.length < reqs[i][1])
                msgs.push(FORMS[frm.id].MENSAGENS["tau__Range"][0].replace(/%s/,reqs[i][1]));
            else if (v.length > reqs[i][2])
                msgs.push(FORMS[frm.id].MENSAGENS["tau__Range"][1].replace(/%s/,reqs[i][2]));
        break;
        case 'tau__Checkset':
            //alert(obj.id);
            if (reqs[i][2] == 0)
                reqs[i][2] = FORMS[frm.id].ELEMENTOS[obj.id]["ops"].length;
            count = 0;
            //alert('De '+reqs[i][1]+' a '+reqs[i][2]);
            for (k=0; k<FORMS[frm.id].ELEMENTOS[obj.id]["ops"].length;k++) {
                if (FORMS[frm.id].ELEMENTOS[obj.id]["ops"][k].checked) count++;
            }
            if (count < reqs[i][1])
                msgs.push(FORMS[frm.id].MENSAGENS["tau__Checkset"][0].replace(/%s/,reqs[i][1]));
            else if (count > reqs[i][2])
                msgs.push(FORMS[frm.id].MENSAGENS["tau__Checkset"][1].replace(/%s/,reqs[i][2]));
        break;
        case 'tau__Radioset':
            count = 0;
            for (k=0; k<FORMS[frm.id].ELEMENTOS[obj.id]["ops"].length;k++) {
                if (FORMS[frm.id].ELEMENTOS[obj.id]["ops"][k].checked) count++;
            }
            if (count == 0)
                msgs.push(FORMS[frm.id].MENSAGENS["tau__Radioset"]);
        break;
        case 'tau__Multi':
            alert('Multi');
            for(k=0; k<FORMS[frm.id].ELEMENTOS.length; k++) {
                if (FORMS[frm.id].ELEMENTOS[k].parentNode ==
                     obj) {
                    alert(FORMS[frm.id].ELEMENTOS[k].id);
                }
            }
        break;
        default:
    }
  }
  if (msgs.length > 0) {
    msg = "";
    for (var j=0;j<msgs.length;j++) {
        //msg += FORMS[frm.id].ELEMENTOS[obj.id]["label"]
        msg += tau_nomeElemento(frm,FORMS[frm.id].ELEMENTOS[obj.id])+" "+msgs[j]+"\n";
    }
  }
  //alert(msg);
  return msg;
}

function tau_extraiReq(strReqs) {
    var newReq = new Array();
    var reqVal = new Array();
    var reqs = strReqs.match(/tau__\S*/g);
    //alert(reqs);
    if (reqs && reqs.length)
     for (var i=0;i<reqs.length;i++) {
        //alert(reqs[i]);
        reqVal = reqs[i].match(/(\D*)(\d*):(\d*)/);
        //alert(reqVal);
        if (reqVal && reqVal.length > 0) {
            //alert(reqVal[2]+":"+reqVal[3]);
            newReq[i] = new Array(reqVal[1],reqVal[2],reqVal[3]);
        } else {
            newReq[i] = new Array(reqs[i]);
        }
    }
    return newReq;
}

function tau_nomeElemento(frm,el) {
    if(FORMS[frm.id].LABELS[el.id]) {
        return FORMS[frm.id].LABELS[el.id].firstChild.innerHTML;
    }
    return el.name;
}

function tau_mostraErros(frm) {
    var str = "";
    for (var i=0;i<FORMS[frm.id].MSG.length;i++) {
      //alert(FORMS[frm.id].MSG[i].length);
      str += FORMS[frm.id].MSG[i]+"\n";
    }
    alert(str);
}

function tau_validaEnvio(frm) {
    //alert(frm.id);
    FORMS[frm.id].MSG = new Array();
    FORMS[frm.id].FOCUS = false;
    for (var i in FORMS[frm.id].ELEMENTOS) {
        //alert(FORMS[frm.id].ELEMENTOS[i],FORMS[frm.id].MSG);
        tau_validaElemento(frm,FORMS[frm.id].ELEMENTOS[i],FORMS[frm.id].MSG);
    }
    //alert(FORMS[frm.id].MSG.length);
    if (FORMS[frm.id].MSG.length > 0) {
        tau_mostraErros(frm);
        if (document.getElementById(FORMS[frm.id].FOCUS)) {
            //alert(FORMS[frm.id].FOCUS);
            document.getElementById(FORMS[frm.id].FOCUS).focus();
        }
        return false;
    }
    return true;
}


/*----------------------------------
 *
 *TauFormFunctions.js
 *
 *----------------------------------
 */

/*************** TAU Functions ****************/
function emailCheck (emailStr) {
/* The following pattern is used to check if the entered e-mail address
   fits the user@domain format.  It also is used to separate the username
   from the domain. */
var emailPat=/^(.+)@(.+)$/
/* The following string represents the pattern for matching all special
   characters.  We don't want to allow special characters in the address. 
   These characters include ( ) < > @ , ; : \ " . [ ]    */
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
/* The following string represents the range of characters allowed in a 
   username or domainname.  It really states which chars aren't allowed. */
var validChars="\[^\\s" + specialChars + "\]"
/* The following pattern applies if the "user" is a quoted string (in
   which case, there are no rules about which characters are allowed
   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
   is a legal e-mail address. */
var quotedUser="(\"[^\"]*\")"
/* The following pattern applies for domains that are IP addresses,
   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
   e-mail address. NOTE: The square brackets are required. */
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
/* The following string represents an atom (basically a series of
   non-special characters.) */
var atom=validChars + '+'
/* The following string represents one word in the typical username.
   For example, in john.doe@somewhere.com, john and doe are words.
   Basically, a word is either an atom or quoted string. */
var word="(" + atom + "|" + quotedUser + ")"
// The following pattern describes the structure of the user
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
/* The following pattern describes the structure of a normal symbolic
   domain, as opposed to ipDomainPat, shown above. */
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

var returnMsg = new Object();


/* Finally, let's start trying to figure out if the supplied address is
   valid. */

/* Begin with the coarse pattern to simply break up user@domain into
   different pieces that are easy to analyze. */
var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
  /* Too many/few @'s or something; basically, this address doesn't
     even fit the general mould of a valid e-mail address. */
    returnMsg['pt'] = "Endereço de email incorreto (verifique @ e '.').";
    returnMsg.en = "Incorrect email address (verify @ and '.').";
	return returnMsg;
}
var user=matchArray[1]
var domain=matchArray[2]

// See if "user" is valid 
if (user.match(userPat)==null) {
    // user is not valid
    returnMsg['pt'] = "Nome de usuário de email inválido.";
    returnMsg.en = "Invalid email username.";
	return returnMsg;
}

/* if the e-mail address is at an IP address (as opposed to a symbolic
   host name) make sure the IP address is valid. */
var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
    // this is an IP address
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
    returnMsg['pt'] = "IP de destino inválido.";
    returnMsg.en = "Invalid IP.";
	return returnMsg;
	    }
    }
    return true
}

// Domain is symbolic name
var domainArray=domain.match(domainPat)
if (domainArray==null) {
    returnMsg['pt'] = "Nome de domínio inválido.";
    returnMsg.en = "Invalid domain name.";
	return returnMsg;
}

/* domain name seems valid, but now make sure that it ends in a
   three-letter word (like com, edu, gov) or a two-letter word,
   representing country (uk, nl), and that there's a hostname preceding 
   the domain or country. */

/* Now we need to break up the domain to get a count of how many atoms
   it consists of. */
var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || 
    domArr[domArr.length-1].length>3) {
   // the address must end in a two letter or three letter word.
    returnMsg['pt'] = "O endereço de email deve terminar em um domínio de três letras ou um código de país de duas letras.";
    returnMsg.en = "The email address must end in a three-letter domain or a two-letter country code.";
	return returnMsg;
}

// Make sure there's a host name preceding the domain.
if (len<2) {
    returnMsg['pt'] = "Endereço sem um 'hostname'!";
    returnMsg.en = "Address without a hostname.";
	return returnMsg;
}

// If we've gotten this far, everything's valid!
return true;
}
//  End -->

function cpfCheck(s){ 
  var i; 
  var c = s.substr(0,9); 
  var dv = s.substr(9,2); 
  var d1 = 0; 
    if (s.match(/(00000000000|11111111111|22222222222|33333333333|44444444444|55555555555|66666666666|77777777777|88888888888|99999999999)/) != null) {
        return false;
    }
    for (i = 0; i < 9; i++){ 
      d1 += c.charAt(i)*(10-i); 
    } 
    if (d1 == 0){ 
      return false
    } 
    d1 = 11 - (d1 % 11); 
    if (d1 > 9) d1 = 0; 
    if (dv.charAt(0) != d1){ 
      return false
    } 
  d1 *= 2; 
    for (i = 0; i < 9; i++){ 
      d1 += c.charAt(i)*(11-i); 
    } 
  d1 = 11 - (d1 % 11); 
    if (d1 > 9) d1 = 0; 
    if (dv.charAt(1) != d1){ 
      return false
    } 
  return true; 
} 

function isNUMB(c)
	{
	if((cx=c.indexOf(","))!=-1)
		{		
		c = c.substring(0,cx)+"."+c.substring(cx+1);
		}
	if((parseFloat(c) / c != 1))
		{
		if(parseFloat(c) * c == 0)
			{
			return(1);
			}
		else
			{
			return(0);
			}
		}
	else
		{
		return(1);
		}
	}

function LIMP(c)
	{
	while((cx=c.indexOf("-"))!=-1)
		{		
		c = c.substring(0,cx)+c.substring(cx+1);
		}
	while((cx=c.indexOf("/"))!=-1)
		{		
		c = c.substring(0,cx)+c.substring(cx+1);
		}
	while((cx=c.indexOf(","))!=-1)
		{		
		c = c.substring(0,cx)+c.substring(cx+1);
		}
	while((cx=c.indexOf("."))!=-1)
		{		
		c = c.substring(0,cx)+c.substring(cx+1);
		}
	while((cx=c.indexOf("("))!=-1)
		{		
		c = c.substring(0,cx)+c.substring(cx+1);
		}
	while((cx=c.indexOf(")"))!=-1)
		{		
		c = c.substring(0,cx)+c.substring(cx+1);
		}
	while((cx=c.indexOf(" "))!=-1)
		{		
		c = c.substring(0,cx)+c.substring(cx+1);
		}
	return(c);
	}

function cnpjCheck(CNPJ)
	{
	CNPJ = LIMP(CNPJ);
	if(isNUMB(CNPJ) != 1)
		{
		return(0);
		}
	else
		{
		if(CNPJ == 0)
			{
			return(0);
			}
		else
			{
			g=CNPJ.length-2;
			if(RealTestaCNPJ(CNPJ,g) == 1)
				{
				g=CNPJ.length-1;
				if(RealTestaCNPJ(CNPJ,g) == 1)
					{	
					return(1);
					}
				else
					{
					return(0);
					}
				}
			else
				{
				return(0);
				}
			}
		}
	}
function RealTestaCNPJ(CNPJ,g)
	{
	var VerCNPJ=0;
	var ind=2;
	var tam;
	for(f=g;f>0;f--)
		{
		VerCNPJ+=parseInt(CNPJ.charAt(f-1))*ind;
		if(ind>8)
			{
			ind=2;
			}
		else
			{
			ind++;
			}
		}
		VerCNPJ%=11;
		if(VerCNPJ==0 || VerCNPJ==1)
			{
			VerCNPJ=0;
			}
		else
			{
			VerCNPJ=11-VerCNPJ;
			}
	if(VerCNPJ!=parseInt(CNPJ.charAt(g)))
		{
		return(0);
		}
	else
		{
		return(1);
		}
	}
