//////////////////////////
//    VALIDA CAMPOS     //
//////////////////////////
function Vazio(campo, mensagem, tamanho) {
	jnome = campo.name;
	jcampo = campo.value;
	jtamanho = campo.value.length;
	
	if (jcampo == 0 || jcampo.indexOf(" ") == 0 || jtamanho == 0 || jtamanho < tamanho) {
		alert(mensagem);
		if (jnome.substr(0,3) == "sel") {
			campo.value = "0";
		} else {
			campo.value = "";
		}
		campo.focus();
		return false;
	}
	return true;
}

//////////////////////////
//    VALIDA NUMEROS    //
//////////////////////////
function VerNum(campo, mensagem) {
	jcampo = campo.value;
		
	if(isNaN(jcampo)) {
		alert(mensagem);
		campo.value = "";
		campo.focus();
		return false;
	}
	return true;
}

//////////////////////////
//    VALIDA E-MAIL     //
//////////////////////////
function VerEmail(email, mensagem, opcao) {
		var reg1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)")
		var reg2 = new RegExp("[a-zA-Z0-9\\-\\.]+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$")
		if (reg1.test(email.value) || !(reg2.test(email.value))) {
			alert(mensagem);
			switch (opcao){
				case 1 :
					email.focus();
					break;
				case 2 :
					email.select();
					email.focus();
					break;
				default :
					email.value = "";
					email.focus();
			}
			return false;
		}
	return true;
}

//////////////////////////
//      VALIDA CEP      //
//////////////////////////
function ValidaCep(cep, mensagem) {
	var cep01 = cep.value.substr(0,5);
	var digito = cep.value.substr(5,1);
	var cep02 = cep.value.substr(6,3);
	if (!isNaN(cep01)) {
		if (digito == "-") {
			if (!isNaN(cep02)) {
				return true;
			} else {
				alert(mensagem);
				cep.value = "";
				cep.focus();
				return false;
			}
		} else {
			alert(mensagem);
			cep.value = "";
			cep.focus();
			return false;
		}
	} else {
		alert(mensagem);
		cep.value = "";
		cep.focus();
		return false;
	}
	return true;
}

////////////////////////////////
// RETIRA EXCESSO DE ESPAÇOS  //
////////////////////////////////
function RetiraEspaco(item) {
	var temp = "";
	var tam_01 = item.value.length;
	var tam_02 = item.value.length - 1;
	for (index = 0; index < tam_01; index++) {
		if (item.value.charAt(index) != ' ') {
			temp += item.value.charAt(index);
		} else {
			if (temp.length > 0) {
				if (item.value.charAt(index+1) != ' ' && index != tam_02) {
					temp += item.value.charAt(index);
				}
			}
		}
	}
	item.value = temp;
}

//////////////////////////
//      VALIDA CPF      //
//////////////////////////
function isCPF(st,msg)  {
  if (st=="") {
    alert(msg);
    return (false);
  }
  l = st.length;
  st2 = "";
  for (i = 0; i < l; i++) {
    caracter = st.substring(i,i+1)
    if ((caracter >= '0') && (caracter <= '9'))
      st2 = st2 + caracter;
  }
  if ((st2.length > 11) || (st2.length < 10)){
    alert(msg);
    return (false);
  }
  if (st2.length==10)
    st2 = '0' + st2;
  digito1 = st2.substring(9,10)
  digito2 = st2.substring(10,11) 
  digito1 = parseInt(digito1,10)
  digito2 = parseInt(digito2,10) 
      
  sum = 0; mul = 10;
  for (i = 0; i < 9 ; i++) {
    digit = st2.substring(i,i+1);
    tproduct = parseInt(digit ,10)*mul;
    sum += tproduct;
    mul--;
  } 
  dig1 = ( sum % 11 ) 
  if ( dig1==0 || dig1==1 )
    dig1=0;
  else
    dig1 = 11 - dig1 
  if (dig1!=digito1){
    alert(msg);
    return (false); 
  }
  sum = 0; mul = 11;
  for (i = 0; i < 10 ; i++) {
    digit = st2.substring(i,i+1);
    tproduct = parseInt(digit ,10)*mul;
    sum += tproduct;
    mul--;
  }
  dig2 = (sum % 11) 
  if ( dig2==0 || dig2==1 )
    dig2=0;
  else
    dig2 = 11 - dig2; 
  if (dig2!=digito2){
    alert(msg);
    return (false);
  }
  return (true);
}

//////////////////////////
//     VALIDA DATA      //
//////////////////////////
function VerIgual(st1,st2,msg){
	if(st1 == st2){
		return true;
	}else{
		alert(msg)
		return false;
	}
}


//////////////////////////
//     VALIDA DATA      //
//////////////////////////
function ValidaData(data) {
	jtamanho = data.length;
	jbarra_01 = data.substr(2,1);
	jbarra_02 = data.substr(5,1);
	jdia = data.substr(0,2);
	jmes = data.substr(3,2);
	jano = data.substr(6,4);
	
	if (jtamanho != 10 || jbarra_01 != "/" || jbarra_02 != "/") {
		alert('A data precisa ser preenchida no formato dd/mm/aaaa');
		return false;
	}
	if (jano < 1900) {
		alert('O preenchimento do ano está inválido!');
		return false;
	}
	if (jmes > 12) {
		alert('O preenchimento do mês está inválido!');
		return false;
	}
	if (jmes == 01 || jmes == 03 || jmes == 05 || jmes == 07 || jmes == 08 || jmes == 10 || jmes == 12) {
		if (jdia < 01 || jdia > 31) {
			alert('O preenchimento do dia está inválido!');
			return false;
		}
	}
	if (jmes == 04 || jmes == 06 || jmes == 09 || jmes == 11) {
		if (jdia < 01 || jdia > 30) {
			alert('O preenchimento do dia está inválido!');
			return false;
		}
	}
	if (jmes == 02) {
		var jbisexto = new Date(jano+"/02/29");
		if ((jbisexto.getMonth()-1) == 0) {
			if (jdia < 01 || jdia > 29) {
				alert('O preenchimento do dia está inválido!');
				return false;
			}
		}else {
			if (jdia < 01 || jdia > 28)	{
				alert('O preenchimento do dia está inválido!');
				return false;
			}
		}
	}
	return true;
}

//////////////////////////
//     VALIDA HORA      //
//////////////////////////
function ValidaHora(hora) {
	jtamanho = hora.length;
	jhora = hora.substr(0,2);
	jminuto = hora.substr(3,2);
	switch (jtamanho){
		case 5 :
			jdivisor_01 = hora.substr(2,1);
			if (jdivisor_01 != ":") {
				alert('A hora precisa ser preenchida no formato hh:mm');
				return false;
			}
			break;
		case 8 :
			jdivisor_01 = hora.substr(2,1);
			jdivisor_02 = hora.substr(5,1);
			jsegundo = hora.substr(6,2);
			if (jdivisor_01 != ":" || jdivisor_02 != ":") {
				alert('A hora precisa ser preenchida no formato hh:mm:ss');
				return false;
			}
			if (jsegundo < 0 || jsegundo > 59) {
				alert('O preenchimento dos segundos está inválido!');
				return false;
			}
			break;
		default :
			if (hora.indexOf(" ") == 0 || jtamanho != 5 || jtamanho != 8) {
				alert('A hora precisa ser preenchida nos seguintes formatos\n - hh:mm\n - hh:mm:ss');
				return false;
				break;
			}
	}
	if (jminuto < 0 || jminuto > 59) {
		alert('O preenchimento dos minutos está inválido!');
		return false;
	}
	if (jhora < 0 || jhora > 23) {
		alert('O preenchimento das horas está inválido!');
		return false;
	}
	return true;
}

///////////////////////////////
//     COMPARA DATA/HORA     //
///////////////////////////////
/*
20/20/2001 20:12:15
20/20/2001 20:20
20/20/2001
20:12:15
20:12
*/
function ComparaDataHora(valor1, valor2) {
	jtamanho1 = valor1.length;
	jtamanho2 = valor2.length;
	
	if (jtamanho1 != jtamanho2) {
		alert('A comparação não pode ser efetuada com valores diferentes!');
		return false;
	}

	switch (jtamanho1 && jtamanho2) {
		case 5 :
			var jmessage1 = "As Horas devem ser diferentes!";
			var jmessage2 = "Hora inicial deve ser menor que hora término.";
			break;
		case 8 :
			var jmessage1 = "As Horas devem ser diferentes!";
			var jmessage2 = "Hora inicial deve ser menor que hora término.";
			break;	
		case 10 :
			var jmessage1 = "As Datas devem ser diferentes!";
			var jmessage2 = "Data inicial deve ser menor que data término.";
			break;
		case 16 :
			var jmessage1 = "As Datas devem ser diferentes!";
			var jmessage2 = "Data inicial deve ser menor que data término.";
			break;
		case 19 :
			var jmessage1 = "As Datas devem ser diferentes!";
			var jmessage2 = "Data inicial deve ser menor que data término.";
			break;
	}
	
//	alert(valor1+" - "+valor2);
	if (valor1 > valor2) {
		alert(jmessage2);
		return false;
	}
	return true;
}

///////////////////////////////////////
//  VERIFICA SE É CARACTER ESPECIAL  //
///////////////////////////////////////
function VerCaracter(digito) {
	var jchars = new String("/?.,;:~^´`[]{}!@#$%¨&*()-=+\|'<>¢¤¥¦§©ª«¬®¯°±²³µ¶¸¹º»¼½¾¿ÆÅÐÑÔ×ØÞßåæðñ÷øþ ");
	if (digito == '"') {
		return false;
	} else if (jchars.indexOf(digito) != -1) {
		return false;
	}
	return true;
}

////////////////////
//  VERIFICA DDD  //
////////////////////
function VerDDD(ddd) {
	jddd = ddd.value;
	jtamanho = ddd.length;
	if (jtamanho < 2 || jddd.substr(0,1) == "0") {
		alert('O DDD está incorreto!');
		ddd.value = "";
		ddd.focus();
	}	
}

////////////////////////////
//  VERIFICA SE É NÚMERO  //
////////////////////////////
function replaceMe(campo) { //campo => campo para validar , usar na chamada OnKeyUp
	if(campo.value.length != 0) {
		var RefString="1234567890";
		for (Count=0; Count < campo.value.length; Count++) {
			TempChar= campo.value.substring (Count, Count+1);
			if (RefString.indexOf (TempChar, 0) == -1) {				campo.value = campo.value.replace(TempChar,"");
			}
		}
	}
}

//////////////////////////////////////
//  RESTRINGE NUMERO DE CARACTERES  //
//////////////////////////////////////
function MaxCaracter(campo, maximo, msg) {
	jtamanho = campo.value.length;
	if (jtamanho > maximo) {
		if (msg != 0) {
			alert('0 tamanho máximo permitido para este campo são ' + maximo + ' caracteres!');
		}
		campo.value = campo.value.substring(0,maximo);
		campo.focus();
	}
}

////////////////////////////
//  COMPARA DOIS VALORES  //
////////////////////////////
function Compara(campo1, campo2, mensagem) {
	jcampo1 = campo1.value;
	jcampo2 = campo2.value;
	
	if(jcampo1 != jcampo2) {
		alert(mensagem);
		campo1.value = "";
		campo2.value = "";
		campo1.focus();
		return false;
	}
	return true;
}

/////////////////////////////////////
//  ABRE JANELA DO CENTRO DA TELA  //
/////////////////////////////////////
function AbreJanela(x,w,h) { 
    var l = ( (window.screen.width  - w) / 2 ); 
    var t = ( (window.screen.height - h) / 2 ); 
    window.open(x,'Popup','leftmargin=0,topmargin=0,marginheight=0,marginwidth=0,toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=no,resizable=no,top='+t+',left='+l+',screenX='+l+',screenY='+t+',copyhistory=no, height='+h+',width='+w+''); 
}

////////////////////////
//  FUNCOES DE LAYER  //
////////////////////////
ns4 = (document.layers)? true:false;
ie4 = (document.all)? true:false;

//  ESCONDE LAYER  //
function HideLayer(l){
	(ie4)? document.all[l].style.visibility = "hidden" : document.layers[l].visibility = "hide";
}

//  MOSTRA LAYER  //
function ShowLayer(l) {
	(ie4)? document.all[l].style.visibility = "visible" : document.layers[l].visibility = "show";
}

//  ESCONDE TODOS OS LAYERS  //
function HideAll(l) {
	for (x=1 ; x <= l; x++) {
		(ie4)? document.all["id_"+x].style.visibility = "hidden" : document.layers["id_"+x].visibility = "hide";
	}
}


////////////////////////////////
//  EXIBE O STATUS NA PAGINA  //
////////////////////////////////
function ExibeStatus(str) {
	status = str;
	return true;
}


/////////////////////
//  MOSTRA IMAGEM  //
/////////////////////
function rollon(img, src) {
	if (document.images){
		imagem = src + ".src";
		document[img].src=eval(imagem);
	}
}

//////////////////////
//  ESCONDE IMAGEM  //
//////////////////////
function rolloff(img, src) {
	if (document.images){
		imagem = src + ".src";
		document[img].src=eval(imagem);
	}
}