/*----------------------------------------------------------------------------
Formataçao para qualquer mascara
-----------------------------------------------------------------------------*/
function Mascara(src, mask){
var i = src.value.length;
var saida = mask.substring(0,1);
var texto = mask.substring(i)

	//
	if (texto.substring(0,1) != saida)
		src.value += texto.substring(0,1);

}

//////////////////////////////
function SomenteNumeros() {
	tecla = event.keyCode;
	if (tecla >= 48 && tecla <= 57)
		return true;
	else
		return false;
}

///////////// mascara
// onKeyDown="return txtBoxFormat(document.form1, 'data_evento', '00/00/0000', event)"

    function txtBoxFormat(objForm, strField, sMask, evtKeyPress) {
      var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

      if(document.all) { // Internet Explorer
        nTecla = evtKeyPress.keyCode; }
      else if(document.layers) { // Nestcape
        nTecla = evtKeyPress.which;
      }

      sValue = objForm[strField].value;

      // Limpa todos os caracteres de formatação que
      // já estiverem no campo.
      sValue = sValue.toString().replace( "-", "" );
      sValue = sValue.toString().replace( "-", "" );
      sValue = sValue.toString().replace( ".", "" );
      sValue = sValue.toString().replace( ".", "" );
      sValue = sValue.toString().replace( "/", "" );
      sValue = sValue.toString().replace( "/", "" );
      sValue = sValue.toString().replace( "(", "" );
      sValue = sValue.toString().replace( "(", "" );
      sValue = sValue.toString().replace( ")", "" );
      sValue = sValue.toString().replace( ")", "" );
      sValue = sValue.toString().replace( " ", "" );
      sValue = sValue.toString().replace( " ", "" );
      sValue = sValue.toString().replace( ":", "" );	  
      fldLen = sValue.length;
      mskLen = sMask.length;

      i = 0;
      nCount = 0;
      sCod = "";
      mskLen = fldLen;

      while (i <= mskLen) {
        bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
        bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

        if (bolMask) {
          sCod += sMask.charAt(i);
          mskLen++; }
        else {
          sCod += sValue.charAt(nCount);
          nCount++;
        }

        i++;
      }

      objForm[strField].value = sCod;

      if (nTecla != 8) { // backspace
        if (sMask.charAt(i-1) == "9") { // apenas números...
          return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
        else { // qualquer caracter...
          return true;
        } }
      else {
        return true;
      }
    }


////////// onkeyup="sohNumero(this,'11');
function soNumero(campo, tamMaximo) {
	var tam = parseInt(campo.value.length);
	if (isNaN(campo.value))
		campo.value = campo.value.substring((tam-1),0);
	if (tam == tamMaximo)
		autoTab(campo, tamMaximo);
}


////
function formContador(campo, limite) {
	var f = document.forms[0];
	var c = f.elements[campo];
	var campoConta = f.elements['conta_'+campo];
	var max = parseInt(limite);
	if (c.value.length>max)
	{
		alert('Este campo deve conter no máximo '+max+' caracteres');
		c.value = c.value.substring(0,max);
	}
	campoConta.value = max - c.value.length;
	return;
}


///////////////// ENTER COMO TAB
function EnterTab() {
	if (event.keyCode==13)
	event.keyCode=9;
}

///
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

/////
function confirmDelete(url) {
  if (confirm("Voce tem certeza que deseja deletar?")) {
    document.location = url;
  }
}


// vestibular
function ConfirmaVestibularInscricao() {
  if (!confirm("Os dados cadastrados estao corretos? \n Deseja mesmo emitir o Boleto para pagamento?  "))
    return false
}

/////////////////// visualiza imagem antes de enviar ////////////////////////////
  // width to resize large images to
var maxWidth=100;
  // height to resize large images to
var maxHeight=100;
  // valid file types
var fileTypes=["bmp","gif","png","jpg","jpeg"];
  // the id of the preview image tag
var outImage="previewField";
  // what to display when the image is not valid
var defaultPic="spacer.gif";

function preview(what){
  var source=what.value;
  var ext=source.substring(source.lastIndexOf(".")+1,source.length).toLowerCase();
  for (var i=0; i<fileTypes.length; i++) if (fileTypes[i]==ext) break;
  globalPic=new Image();
  if (i<fileTypes.length) globalPic.src=source;
  else {
   // globalPic.src=defaultPic;
   /* alert("Voc selecionou um arquivo.\nNo  uma imagem.\nPara visualizar, voc deve selecionar uma imagem no formato:\n\n"+fileTypes.join(", "));*/
  }
  setTimeout("applyChanges()",200);
}
var globalPic;
function applyChanges(){
  var field=document.getElementById(outImage);
  var x=parseInt(globalPic.width);
  var y=parseInt(globalPic.height);
  if (x>maxWidth) {
    y*=maxWidth/x;
    x=maxWidth;
  }
  if (y>maxHeight) {
    x*=maxHeight/y;
    y=maxHeight;
  }
  field.style.display=(x<1 || y<1)?"none":"";
  field.src=globalPic.src;
  field.width=x;
  field.height=y;
}

/////////////// aceita somente nmeros ///////////////////////
//<form action="so_numeros.asp" method="post" name="form1" onSubmit="return checa(this);">
//<input type="text" name="valores_numericos" size="40" onKeyPress="return Tecla(event);">
//</form>
function Tecla(e) {
	if (document.all) // Internet Explorer
		var tecla = event.keyCode;
	else if(document.layers) // Nestcape
		var tecla = e.which;
		if (tecla > 47 && tecla < 58) // numeros de 0 a 9
			return true;
		else
			{
				if (tecla != 8) // backspace
					event.keyCode = 0;
					//return false;
				else
					return true;
			}
}


///////////////// passa para proximo campo automaticamente //////////////////////////////////////////
// <input onKeyUp="return autoTab(this, 3, event);" size="4" maxlength="3">

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;
}






////////////// limita tamanho do campo
function limita() {
intCaracteres = 50 - document.form.msg.value.length;
if (intCaracteres > 0) {
  document.form.nu_caracteres.value = intCaracteres;
  return true;
} else {
  intMensagem = 50;
  document.form.nu_caracteres.value = 0;
  document.form.msg.value = document.form.msg.value.substr(0,intMensagem)
  return false;
}
}
