function validaInteiro(x){
	s = new String(x);
	ok = true;
	for (i = 0; i < s.length; i++){
		r = (s.charAt(i) == "0"
		|| s.charAt(i) == "1" 
		|| s.charAt(i) == "2" 
		|| s.charAt(i) == "3" 
		|| s.charAt(i) == "4" 
		|| s.charAt(i) == "5" 
		|| s.charAt(i) == "6"  
		|| s.charAt(i) == "7" 
		|| s.charAt(i) == "8" 
		|| s.charAt(i) == "9");
		if(!r){
			ok = false;
			break;
		}
	}
	return ok;
}

function validaCampoVazio(s){
    return ((s== null) || (s.length == 0));
}


function validaEmail(email){
    var ExpReg = /^\w+([\.-]?\w)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
    var result = ExpReg.test(email);
    if (!result){
       return false;
    } else {
       return true;
    }     
}


// *** limita o numero de caracteres no campo ***
// Pmax = número máximo de caracteres desejados
// Pcampo = nome do campo a ser limitado
function countChars(Pmax,Pcampo) {
	campo = eval("document.form1." + Pcampo);
  if(campo.value.length > Pmax){
  	campo.value = campo.value.substring(0, Pmax);
  	alert("O texto não pode ultrapassar " + Pmax + " caracteres.");
		campo.focus();
  }
}

function validaHora(intHora,intMin,intSeg){
	bolOk = true;
	if(validaCampoVazio(intHora) || validaCampoVazio(intMin) || validaCampoVazio(intSeg)){
		bolOk = false;
	}
	else{
		if(!validaInteiro(intHora) || !validaInteiro(intMin) || !validaInteiro(intSeg)){
			bolOk = false;
		}
		else{
			if(intHora > 23 || intMin > 59 || intSeg > 59){
				bolOk = false;
			}
		}
	}
	return bolOk;
}

function validaData(Data){
	var dma = -1;
	var data = Array(3);
	var ch = Data.charAt(0); 
	for(i=0; i < Data.length && (( ch >= '0' && ch <= '9' ) || ( ch == '/' && i != 0 ) ); ){
   		data[++dma] = '';
		if(ch!='/' && i != 0) return false;
		if(i != 0 ) ch = Data.charAt(++i);
		if(ch=='0') ch = Data.charAt(++i);
   		while( ch >= '0' && ch <= '9' ){
    		data[dma] += ch;
    		ch = Data.charAt(++i);
   		} 
  	}
	  if(ch!='') return false;
	  if(data[0] == '' || isNaN(data[0]) || parseInt(data[0]) < 1) return false;
	  if(data[1] == '' || isNaN(data[1]) || parseInt(data[1]) < 1 || parseInt(data[1]) > 12) return false;
	  if(data[2] == '' || isNaN(data[2]) || ((parseInt(data[2]) < 1900 || parseInt(data[2]) > 9999))) return false;
  	  switch(parseInt(data[1])){
   		case 2: { if(((parseInt(data[2])%4!=0 || (parseInt(data[2])%100==0 && parseInt(data[2])%400!=0)) && parseInt(data[0]) > 28) || parseInt(data[0]) > 29 ) return false; break; }
   	    case 4: case 6: case 9: case 11: { if(parseInt(data[0]) > 30) return false; break;}
   		default: { if(parseInt(data[0]) > 31) return false;}
  	  }
  return true; 
}

function autoTab(strCampo,intMax,strProxCampo){
	if(strCampo.value.length == intMax) eval(strProxCampo + ".focus();");
}


//==================================================================================================
//==================================================================================================
//Funcão swap                                                                                 
//==================================================================================================
//==================================================================================================
// onresize for ns4
/*var origWidth, origHeight;
if (document.layers) {
	origWidth = window.innerWidth; origHeight = window.innerHeight;
	window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0); }
}

var cur_lyr;	// holds id of currently visible layer
function swapLayers(id) {
  if (cur_lyr) hideLayer(cur_lyr);
  showLayer(id);
  cur_lyr = id;
}

function showLayer(id) {
  var lyr = getElemRefs(id);
  if (lyr && lyr.css) lyr.css.visibility = "visible";
  //setTimeout("hideLayer("+id+")",5000);
}

function hideLayer(lyr) {
  if (lyr && lyr.css) lyr.css.visibility = "hidden";
}

function getElemRefs(id) {
	var el = (document.getElementById)? document.getElementById(id): (document.all)? document.all[id]: (document.layers)? document.layers[id]: null;
	if (el) el.css = (el.style)? el.style: el;
	return el;
}

function hidePop(id) {
	var lyr = getElemRefs(id);
	if (lyr && lyr.css) lyr.css.visibility = "hidden";
}
*/

var origWidth, origHeight;
if (document.layers) {
origWidth = window.innerWidth; origHeight = window.innerHeight;
window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0); }
}

var cur_lyr; // holds id of currently visible layer
function swapLayers(id) {
if (cur_lyr) hideLayer(cur_lyr);
showLayer(id);
cur_lyr = id;
}

function showLayer(id) {
var lyr = getElemRefs(id);
if (lyr && lyr.css) lyr.css.visibility = "visible";
}

function hideLayer(id) {
var lyr = getElemRefs(id);
if (lyr && lyr.css) lyr.css.visibility = "hidden";
}

function getElemRefs(id) {
var el = (document.getElementById)? document.getElementById(id): (document.all)? document.all[id]: (document.layers)? document.layers[id]: null;
if (el) el.css = (el.style)? el.style: el;
return el;
}

/* TITULO MAPA */
function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
	swapLayers(n);
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n); return x;
	
}

function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}	
}



//abre pop
function abrePop(pag,w,h,s) {pop = window.open(pag,'pop','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars='+s+',resizable=0,noresize,width='+w+',height='+h)}

/* Mascaras */
function formatar(objeto, evento, tipo)
{
    switch (tipo)
    {
        case "data": formataData(objeto,evento);
            break;
        case "cep": formataCEP(objeto,evento);
            break;
        case "tel": formataTelefone(objeto,evento);
            break;
        case "tel2": formataTelefone2(objeto,evento);
            break;
    }
}

function formataData(objeto, evento) 
{ 
	var tecla = evento.keyCode; 
	var tamanho = objeto.value.length; 

	if(tecla >= 48 && tecla <= 57) 
	{ 
	switch (tamanho) { 
		case 2: 
		objeto.value = objeto.value + "/"; 
		break; 
		case 5: 
		objeto.value = objeto.value + "/"; 
		break; 
		} 
	} 
	else 
	{ 
		evento.keyCode = ""; 
	} 
} 

/**************************************/

function formataCEP(objeto, evento) 
{ 
	var tecla = evento.keyCode; 
	var tamanho = objeto.value.length; 

	if(tecla >= 48 && tecla <= 57) 
	{ 
	switch (tamanho) { 
		case 5: 
		objeto.value = objeto.value + "-"; 
		break; 

		} 

	} 
	else 
		{ 
		evento.keyCode = ""; 
		} 
} 

/**************************************/

function formataTelefone(objeto, evento) 
{ 
    var tecla = evento.keyCode; 
    var tamanho = objeto.value.length; 

    if(tecla >= 48 && tecla <= 57) 
    { 
        switch (tamanho) { 
        case 2: 
        objeto.value = objeto.value + "-"; 
        break; 
        case 7: 
        objeto.value = objeto.value + "-"; 
        break; 
        } 

    } 
    else 
    { 
        evento.keyCode = ""; 
    } 
} 

function formataTelefone2(objeto, evento) 
{ 
    var tecla = evento.keyCode; 
    var tamanho = objeto.value.length; 

    if(tecla >= 48 && tecla <= 57) 
    { 
        switch (tamanho) { 
        case 1: 
        objeto.value = "(" + objeto.value; 
        break; 
        case 3: 
        objeto.value = objeto.value + ")"; 
        break; 
        case 8: 
        objeto.value = objeto.value + "-"; 
        break; 
        } 

    } 
    else 
    { 
        evento.keyCode = ""; 
    } 
} 
/**************************************/
