// JavaScript Document
  function textCounter(fieldname, countfield, maxlimit) {
      from = document.msgsmsform.assunto.value;
      body = document.msgsmsform.msgsms.value;
      
	  if (from == "_hide") {
		  if (body.length > maxlimit) {
			 if (fieldname == "msgsms")
				document.msgsmsform.msgsms.value = body.substring(0, maxlimit);
		  } else {
			 countfield.value = maxlimit - (body.length);
		  }
	  } else if (from.length + body.length > maxlimit) {
			 if (fieldname == "msgsms")
				document.msgsmsform.msgsms.value = body.substring(0, maxlimit - from.length);
			 if (fieldname == "assunto")
				document.msgsmsform.assunto.value = from.substring(0, maxlimit - body.length);
	  } else {
			 countfield.value = maxlimit - (from.length + body.length);
	  }
  }

  function setSelectionRange(input, selectionStart, selectionEnd) {
    if (input.setSelectionRange) {
      input.focus();
      input.setSelectionRange(selectionStart, selectionEnd);
    } else if (input.createTextRange) {
      var range = input.createTextRange();
      range.collapse(true);
      range.moveEnd('character', selectionEnd);
      range.moveStart('character', selectionStart);
      range.select();
    }
  }
  function setCaretToPos (input, pos) {
    setSelectionRange(input, pos, pos);
  }

  function removeInvalidChar() {
	  var field = document.msgsmsform.msgsms;
	  position = 0;
	  if (field.value != null && field.value != undefined && field.value.length > 1) {
	    for (i = 0; i < field.value.length; i++) {
          if ((field.value.charCodeAt(i) == 13) && (field.value.charCodeAt(i + 1) == 10)) {
            field.value = field.value.substring(0, i) + field.value.substring(i + 2, field.value.length);
		    position = i;
            i -= 2;
          }
          if ((field.value.charCodeAt(i) == 34) ||
              (field.value.charCodeAt(i) == 39) ||
              (field.value.charCodeAt(i) == 124) ||
              (field.value.charCodeAt(i) == 96)
              ) {
            field.value = field.value.substring(0, i) + field.value.substring(i + 1, field.value.length);
            position = i;
            i -= 1;
          }
        }
      }
	  if (position > 0) setCaretToPos(field, position);
  }

  function SymError() { return true; }
  window.onerror = SymError;
  // Script para esconder layers
  var browserType;
  if (document.layers) {browserType = "nn4"}
  if (document.all) {browserType = "ie"}
  if (window.navigator.userAgent.toLowerCase().match("gecko")) {browserType= "gecko"}
  function hide() {
    if (browserType == "gecko" )
       document.poppedLayer = eval('document.getElementById(\'chooseHour\')');
    else if (browserType == "ie")
       document.poppedLayer = eval('document.all[\'chooseHour\']');
    else
       document.poppedLayer = eval('document.layers[\'`chooseHour\']');
    document.poppedLayer.style.visibility = "hidden";
  }
  function show() {
    if (browserType == "gecko" )
       document.poppedLayer = eval('document.getElementById(\'chooseHour\')');
    else if (browserType == "ie")
       document.poppedLayer = eval('document.all[\'chooseHour\']');
    else
       document.poppedLayer = eval('document.layers[\'`chooseHour\']');
    document.poppedLayer.style.visibility = "visible";
  }

  isSelected = false;

  function markSelection ( txtObj ) {
    if ( txtObj.createTextRange ) {
      txtObj.caretPos = document.selection.createRange().duplicate();
      isSelected = true;
    }
  }

  function insertTag ( txtName, tag, enclose ) {
    if (tag != "") {
      var closeTag = tag;
      if ( enclose ) {
        var attribSplit = tag.indexOf ( ' ' );
        if ( tag.indexOf ( ' ' ) > -1 )
          closeTag = tag.substring ( 0, attribSplit );
      }
      if ( isSelected ) {
        var txtObj = eval ( "document.forms[0]." + txtName );
        if (txtObj.createTextRange && txtObj.caretPos) {
          var caretPos = txtObj.caretPos;
          caretPos.text = ( ( enclose ) ? "<"+tag+">"+caretPos.text+"</"+closeTag+">" :   "<"+tag+"/>"+caretPos.text );
          markSelection ( txtObj );
          if ( txtObj.caretPos.text=='' ) {
            isSelected=false;
         txtObj.focus();
          }
        }
      } else {
        // placeholder for loss of focus handler
      }
    }
  }

function formatadata(Campo, teclapres){
var vr = new String(Campo.value);
vr = vr.replace("/", "");
vr = vr.replace("/", "");
vr = vr.replace("/", "");
tam = vr.length + 1;
if(tam > 2 && tam < 15)
Campo.value = vr.substr(0, 2) + '/' + vr.substr(10, tam);
if(tam >= 3 && tam <15)
Campo.value = vr.substr(0,2) + '/' + vr.substr(2,2) + '/' + vr.substr(4,7)
}

/* Validação 2 */
      function Checa() {
        var EMAIL = document.assinatura.email.value;
        if (EMAIL.indexOf('@') == -1 || EMAIL.indexOf('.') == -1) {
          alert('Este e-mail é inválido.');
          document.assinatura.email.value = '';
          document.assinatura.email.focus();
        }
      }
      
function ChecaURL() {
        var URL = document.assinatura.dominio.value;
        if (URL.indexOf('http://www.') == -1 || URL.indexOf('/') == -1) {
          alert('Endereço endereço é inválido!');
          document.assinatura.dominio.value = '';
          document.assinatura.dominio.focus();
        }
      }
   
<!-- Script de CPF / CNPJ -->

function make(obj){
if(document.assinatura.item[0].checked){
cam1.style.visibility="visible";
cam2.style.visibility="hidden";
document.assinatura.cpf.value="";
document.assinatura.cnpj.value="";
}
else{
if(document.assinatura.item[1].checked){
cam1.style.visibility="hidden";
cam2.style.visibility="visible";
document.assinatura.cnpj.value="";
document.assinatura.cpf.value="";
}
}
}

function FormataCPF(Campo, teclapres){
var tecla = teclapres.keyCode;
var vr = new String(Campo.value);
vr = vr.replace(".", "");
vr = vr.replace(".", "");
vr = vr.replace("-", "");
tam = vr.length + 1;
if(tecla != 9 && tecla !=8){
if(tam > 3 && tam < 7)
Campo.value = vr.substr(0, 3) + '.' + vr.substr(3, tam);
if(tam >= 7 && tam <10)
Campo.value = vr.substr(0,3) + '.' + vr.substr(3,3) + '.' + vr.substr(6,tam-6);
if(tam >= 10 && tam < 12)
Campo.value = vr.substr(0,3) + '.' + vr.substr(3,3) + '.' + vr.substr(6,3) + '-' + vr.substr(9,tam-9);
}
}

function FormataCNPJ(Campo, teclapres){
var tecla = teclapres.keyCode;
var vr = new String(Campo.value);
vr = vr.replace(".", "");
vr = vr.replace(".", "");
vr = vr.replace("/", "");
vr = vr.replace("-", "");
tam = vr.length + 1 ;
if(tecla != 9 && tecla !=8){
if(tam > 2 && tam < 6)
Campo.value = vr.substr(0, 2) + '.' + vr.substr(2, tam);
if(tam >= 6 && tam < 9)
Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,tam-5);
if(tam >= 9 && tam < 13)
Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,tam-8);
if(tam >= 13 && tam < 15)
Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,4)+ '-' + vr.substr(12,tam-12);
}
}

<!-- Begin
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
var keyCode = (isNN) ? e.which : e.keyCode;
var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if(input.value.length >= len && !containsElement(filter,keyCode)) {
input.value = input.value.slice(0, len);
input.form[(getIndex(input)+1) % input.form.length].focus();
}
function containsElement(arr, ele) {
var found = false, index = 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}
function getIndex(input) {
var index = -1, i = 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;
return index;
}
return true;
}
//  End -->

function mascaraCep(objeto){
	if (objeto.value.indexOf("-") == -1 && objeto.value.length > 5){ objeto.value = ""; }
	if (objeto.value.length == 5){
		objeto.value += "-";
	}
}

   function validar(){
     var tecla = window.event.keyCode;
     if((tecla != 8)&&(tecla != 46)){
       if((tecla < 48)||(tecla > 57)){
         if((tecla < 96)||(tecla > 105)){
           event.returnValue = false;
         }
       }
     }
   }


//by Spot!
function mascaraTelefone(objeto){
	if (objeto.value.indexOf("-") == -1 && objeto.value.length > 5){ objeto.value = ""; }
	if (objeto.value.length == 2){
		objeto.value +="-";
	}
}
function campo_numerico (){

			if (event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;

	}


	/*function cnpj_cpf verifica qual das funcoes tem que chamar cpf ou cnpj*/

	function cnpj_cpf(campo,documento,f,formi){

		form = formi;

		for (Count = 0; Count < 2; Count++){

			if (form.rad[Count].checked)
				break;
		}


		if (Count == 0){
			mascara_cpf (campo,documento,f);
		}

		else{
			mascara_cnpj (campo,documento,f);
		}
	}

	function mascara_cnpj (campo,documento,f){
		var mydata = '';
		mydata = mydata + documento;

		if (mydata.length == 2){
			mydata   = mydata + '.';

			ct_campo = eval("document."+f+"."+campo+".value = mydata");
			ct_campo;
		}

		if (mydata.length == 6){
					mydata   = mydata + '.';

					ct_campo = eval("document."+f+"."+campo+".value = mydata");
					ct_campo;
		}

		if (mydata.length == 10){
			mydata 	  = mydata + '/';

			ct_campo1 = eval("document."+f+"."+campo+".value = mydata");
			ct_campo1;
		}

		if (mydata.length == 15){
					mydata 	  = mydata + '-';

					ct_campo1 = eval("document."+f+"."+campo+".value = mydata");
					ct_campo1;
		}

		if (mydata.length == 18){

			valida_cnpj(f,campo);
		}
	}


	function mascara_cpf (campo,documento,f){
			var mydata = '';
			mydata = mydata + documento;

			if (mydata.length == 3){
				mydata   = mydata + '.';

				ct_campo = eval("document."+f+"."+campo+".value = mydata");
				ct_campo;
			}

			if (mydata.length == 7){
						mydata   = mydata + '.';

						ct_campo = eval("document."+f+"."+campo+".value = mydata");
						ct_campo;
			}

			if (mydata.length == 11){
				mydata 	  = mydata + '-';

				ct_campo1 = eval("document."+f+"."+campo+".value = mydata");
				ct_campo1;
			}

			if (mydata.length == 14){

				valida_cpf(f,campo);
			}

	}


	function valida_cnpj(f,campo){

			pri = eval("document."+f+"."+campo+".value.substring(0,2)");
			seg = eval("document."+f+"."+campo+".value.substring(3,6)");
			ter = eval("document."+f+"."+campo+".value.substring(7,10)");
			qua = eval("document."+f+"."+campo+".value.substring(11,15)");
			qui = eval("document."+f+"."+campo+".value.substring(16,18)");

			var i;
			var numero;
			var situacao = '';

			numero = (pri+seg+ter+qua+qui);

			s = numero;


			c = s.substr(0,12);
			var dv = s.substr(12,2);
			var d1 = 0;

			for (i = 0; i < 12; i++){
				d1 += c.charAt(11-i)*(2+(i % 8));
			}

			if (d1 == 0){
				var result = "falso";
			}
				d1 = 11 - (d1 % 11);

			if (d1 > 9) d1 = 0;

				if (dv.charAt(0) != d1){
					var result = "falso";
				}

			d1 *= 2;
			for (i = 0; i < 12; i++){
				d1 += c.charAt(11-i)*(2+((i+1) % 8));
			}

			d1 = 11 - (d1 % 11);
			if (d1 > 9) d1 = 0;

				if (dv.charAt(1) != d1){
					var result = "falso";
				}


			if (result == "falso") {
				alert("CNPJ inválido!");
				aux1 = eval("document."+f+"."+campo+".focus");
				aux2 = eval("document."+f+"."+campo+".value = ''");

			}
	}


	function valida_cpf(f,campo){

			pri = eval("document."+f+"."+campo+".value.substring(0,3)");
			seg = eval("document."+f+"."+campo+".value.substring(4,7)");
			ter = eval("document."+f+"."+campo+".value.substring(8,11)");
			qua = eval("document."+f+"."+campo+".value.substring(12,14)");

			var i;
			var numero;

			numero = (pri+seg+ter+qua);

			s = numero;
			c = s.substr(0,9);
			var dv = s.substr(9,2);
			var d1 = 0;

			for (i = 0; i < 9; i++){
				d1 += c.charAt(i)*(10-i);
			}

			if (d1 == 0){
				var result = "falso";
			}

			d1 = 11 - (d1 % 11);
			if (d1 > 9) d1 = 0;

			if (dv.charAt(0) != d1){
				var result = "falso";
			}

			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){
				var result = "falso";
			}


			if (result == "falso") {
				alert("CPF inválido!");
				aux1 = eval("document."+f+"."+campo+".focus");
				aux2 = eval("document."+f+"."+campo+".value = ''");

			}
	}

