function meiojanela(URL,tamanhoH,tamanhoV, janela) {

	var tamH = tamanhoH;
	var posH = (screen.width-tamH)/2;
	var tamV = tamanhoV;
	var posV = (screen.height-tamV)/2;
	var atrib = "left="+posH+",top="+posV+",scrollbars=yes, width="+tamH+",height="+tamV;
	window.open(URL,janela,atrib);

}

function meio(URL,tamanhoH,tamanhoV) {

	var tamH = tamanhoH;
	var posH = (screen.width-tamH)/2;
	var tamV = tamanhoV;
	var posV = (screen.height-tamV)/2;
	var atrib = "left="+posH+",top="+posV+",scrollbars=yes, width="+tamH+",height="+tamV;
	window.open(URL,"janela",atrib);

}

function meioreserva(URL,tamanhoH,tamanhoV, janela, localh, localv) {

	var tamH = tamanhoH;
//	var posH = (screen.width-tamH)/2;
	var tamV = tamanhoV;
//	var posV = (screen.height-tamV)/2;

	var atrib = "left="+localh+",top="+localv+",scrollbars=yes, width="+tamH+",height="+tamV;
	window.open(URL,janela,atrib);

}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function MM_findObj(n, d) { //v4.01
  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_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function valida_cpf_cnpj(campo)
{
	var cpf = campo.value;
	var compr = campo.value.length;
	switch(compr)
	{ 
		case  11: 
			//AQUI SE DÁ A VALIDAÇÃO DO CPF - INICIO					
			var mult_1dig = 10;//para multiplicar pelos 9 primeiros dígitos (dig * 10, dig * 9, dig * 8, ...etc)
			var mult_2dig = 11;//para multiplicar pelos 10 primeiros dígitos (dig * 11, dig * 10 dig * 9, ...etc)
			var dig_1a9 = cpf.substr(0,9); //armazena os 9 1°s dígitos do CPF
			var dig_1a9mais1 = 0;
			var dig_9a10 = cpf.substr(9,1); //1° dígito verificador que foi digitado
			var dig_10a11 = cpf.substr(10,1); //2° dígito verificador que foi digitado
			var x, totalmult9, totalmult_soma9, resto_1a9, dig_verif1, dig_verif2;
			var totalmult10, totalmult_soma10, resto_1a10,cpfcompleto;
			//alert("comprimento do cpf digitado:"+campo.value.length+"  caracteres.");
			var msg = "";
			if(campo.value.length != 11)
			{erro1 = 1;}
			else {erro1 = 0;}
			if(  (cpf != "") && (isNaN(cpf))  )
			{erro2 = 1}
			else{erro2 = 0;}
			if(  (cpf == "11111111111")	|| (cpf == "22222222222")	|| (cpf == "33333333333")	|| (cpf == "44444444444")	||
					(cpf == "55555555555")	 || (cpf == "66666666666")	|| (cpf == "77777777777") || (cpf == "88888888888") ||
      			(cpf == "99999999999")	 || (cpf == "00000000000")	)
			{erro3 = 1;}
			else {erro3 = 0;}
				 									
			totalerros = eval(erro1 + erro2 + erro3);
			if(totalerros != 0)
			{
				//alert(msg);
				campo.value = "";
				campo.focus();
				return false;
			}	
			else
			{ //se ñ ouver nenhum erro de digitação INICIA A VALIDAÇÃO DO CPF!!!!!!!			
				totalmult_soma9 = 0;
				for(x = 0; x < 9; x++)
				{ //neste loop ele soma os 9 algarismos inteiros multiplicados por 10, 9, 8, 7...etc
					totalmult9 = mult_1dig * parseInt(dig_1a9.substr(x,1));				
					totalmult_soma9 = totalmult_soma9 + totalmult9; //armazena na variavel o valor da soma de cada  1 dos 9 algarismos multiplicado
					//alert("TOTAL da MULTIPLICAÇÃO de 9 dígs.:"+totalmult9+ "  multiplicador:"+mult_1dig+"   SOMA DOS ALGARISMOS multiplicados:"+totalmult_soma9 );
					mult_1dig = mult_1dig - 1;
				}
				resto_1a9	 = parseInt(totalmult_soma9) % 11;
				//alert("o resto de "+totalmult_soma9+"  é: "+resto_1a9 )	;
				if(resto_1a9 < 2) // valida o resto pra definir o 1° dígito verificador
				{dig_verif1 = 0;} //armazena o 1° dígito verif se a cond for true
				else				
				{dig_verif1 = 11 - 	resto_1a9;} //armazena o 1° dígito verif se a cond for false
				//alert(" O 1° dígito verificador é: "+dig_verif1)	;	
				dig_1a9mais1 = dig_1a9+dig_verif1;
				//alert(" O novo n° de 10 algarismos: "+dig_1a9mais1);
				totalmult_soma10 = 0;				
				for(x = 0; x < 10; x++)
				{ //neste loop ele soma os 9 algarismos inteiros  multiplicados por 11,10, 9, 8, 7...etc
					totalmult10 = mult_2dig * parseInt(dig_1a9mais1.substr(x,1));				
					totalmult_soma10 = totalmult_soma10 + totalmult10; //armazena na variavel o valor da soma de cada  1 dos 9 algarismos multiplicado
					//alert("TOTAL da MULTIPLICAÇÃO de 10 dígs.:"+totalmult10+ "  multiplicador:"+mult_2dig+"   SOMA DOS ALGARISMOS multiplicados:"+totalmult_soma10 );
					mult_2dig = mult_2dig - 1;
				}
				resto_1a10	 = parseInt(totalmult_soma10) % 11;
				//alert("o resto de "+totalmult_soma10+"  é: "+resto_1a10 )	;
				if(resto_1a10 < 2) // valida o resto pra definir o 1° dígito verificador
				{dig_verif2 = 0;} //armazena o 1° dígito verif se a cond for true
				else
				{dig_verif2 = 11 - 	resto_1a10;} //armazena o 1° dígito verif se a cond for false
				cpfcompleto = dig_1a9+dig_verif1+dig_verif2;
				//alert(" O 2° dígito verificador é: "+dig_verif2+"\nAté aqui já temos o seu CPF completo e correto, que é: "+cpfcompleto)	;	
				if((dig_9a10 != dig_verif1) || (dig_10a11 != dig_verif2))
				{
					//alert("O seu CPF está Incorreto, seu babaca!!!!!!!!!!!!!!!!!!!!!!!\nVeja o porquê:\n\tVc digitou como 1° díg. verificador:"+dig_9a10+"  Mas o real é:"+dig_verif1+"\n\tVc digitou como 2° díg. verificador:"+dig_10a11+"  Mas o real é:"+dig_verif2+"\nPor favor digite novamente!");
					//alert("CPF inválido!");
					campo.value = "";
					campo.focus();
					return false;
				}
			}//FIM - se ñ ouver nenhum erro de digitação
			//AQUI SE DÁ A VALIDAÇÃO DO CPF - FIM																	
		break;
	   
		case 14:
			//AQUI OCORRERÁ A VALIDAÇÃO DO CNPJ - INICIO
			var vetcnpj = new Array();
			var soma = 0;
			var resto = 0;
			var soma1 = 0;
			var resto1 = 0;
			var dig_cnpj1 = 0;
			var dig_cnpj2 = 0;
			var dig_CNPJ1 = cpf.substr(12,1);
			var dig_CNPJ2 = cpf.substr(13,1);
			//alert("Dígitos: "+dig_CNPJ1+"  | "+dig_CNPJ2);
			var msg = "";
			if(campo.value.length != 14)
			{erro1 = 1;}
			else {erro1 = 0;}
			if(  (cpf != "") && (isNaN(cpf))  )
			{erro2 = 1}
			else {erro2 = 0;}
			if(  (cpf == "11111111111111")	|| (cpf == "22222222222222")	|| (cpf == "33333333333333")	|| (cpf == "44444444444444")	||
			(cpf == "55555555555555")	 || (cpf == "66666666666666")	|| (cpf == "77777777777777") || (cpf == "88888888888888") ||
			(cpf == "99999999999999")	 || (cpf == "00000000000000") )
			{erro3 = 1;}
			else {erro3 = 0;}

			totalerros = eval(erro1 + erro2 + erro3);
			if(totalerros != 0)
			{
				//alert(msg);
				campo.value = "";
				campo.focus();
				return false;
			}	
			else
			{ //se ñ ouver nenhum erro de digitação INICIA A VALIDAÇÃO DO CNPJ!!!!!!!			
				vetcnpj[1] = cpf.substr(0,1);
				vetcnpj[2] = cpf.substr(1,1);
				vetcnpj[3] = cpf.substr(2,1);
				vetcnpj[4] = cpf.substr(3,1);
				vetcnpj[5] = cpf.substr(4,1);
				vetcnpj[6] = cpf.substr(5,1);
				vetcnpj[7] = cpf.substr(6,1);
				vetcnpj[8] = cpf.substr(7,1);
				vetcnpj[9] = cpf.substr(8,1);
				vetcnpj[10] = cpf.substr(9,1);
				vetcnpj[11] = cpf.substr(10,1);
				vetcnpj[12] = cpf.substr(11,1);
				vetcnpj[13] = cpf.substr(12,1);
				vetcnpj[14] = cpf.substr(13,1);
				soma = (vetcnpj[1]*5) + (vetcnpj[2]*4) + (vetcnpj[3]*3) + (vetcnpj[4]*2) + (vetcnpj[5]*9) + 
				(vetcnpj[6]*8) + (vetcnpj[7]*7) + (vetcnpj[8]*6) + (vetcnpj[9]*5) + (vetcnpj[10]*4) +
				(vetcnpj[11]*3) + (vetcnpj[12]*2);
				//alert('soma dos 11 1°s dígitos: '+soma);
				resto = soma % 11;
				//alert('resto da divisão da 1° soma por 11: '+resto);
				if(resto < 2)
				{ dig_cnpj1 = 0;}
				else
				{dig_cnpj1 = parseInt(11 - resto);}
				//alert("1° dígito já calculado: "+dig_cnpj1);				
				soma1 = (vetcnpj[1] * 6) + (vetcnpj[2] * 5) + (vetcnpj[3] * 4) + (vetcnpj[4] * 3) + (vetcnpj[5] * 2) + 
				(vetcnpj[6] * 9) + (vetcnpj[7] * 8) + (vetcnpj[8] * 7) + (vetcnpj[9] * 6) + (vetcnpj[10] * 5) + 
				(vetcnpj[11] * 4) + (vetcnpj[12] * 3) + (dig_cnpj1 * 2);
				resto1 = soma1 % 11;
				//alert('resto da 2° soma por 11: '+resto1);
				if(resto1 < 2)
				{ dig_cnpj2 = 0;}
				else
				{dig_cnpj2 = parseInt(11 - resto1);}
				//alert("2° dígito:"+dig_cnpj2);
				if((dig_CNPJ1 != dig_cnpj1) || (dig_CNPJ2 != dig_cnpj2))
				{
					//alert("CNPJ inválido!");
					campo.value = "";
					campo.focus();
					return false;
				}
			} // fim da validação de cálculos de dígitos do CNPJ
			//AQUI OCORRERÁ A VALIDAÇÃO DO CNPJ - FIM									
		break; 

		default:
		//VERIFICA AS VALIDAÇÕES PADRÃO ANTES DE VALIDAR CPF OU CNPJ - INÍCIO
		
		if(  (cpf != "") && (isNaN(cpf))  )
		{
			//alert("O CPF/CNPJ deve conter somente n°s .");
			campo.value = "";
			campo.focus();
			return false;
		}

		if(campo.value.length < 14)
		{
			//alert("O CPF/CNPJ deve conter 11 ou 14 dígitos.");
			campo.value = "";
			campo.focus();
			return false;
		}

		if(campo.value.length > 14)
		{
			//alert("O CPF/CNPJ deve conter 11 ou 14 dígitos.");
			campo.value = "";
			campo.focus();
			return false;
		}

		//VERIFICA AS VALIDAÇÕES PADRÃO ANTES DE VALIDAR CPF OU CNPJ - FIM									
	break;
	}
	return true;

}

function validarCPF (cpf) {
	var CPF = cpf.value; // Recebe o valor digitado no campo

	// Verifica se o campo é nulo
	if (CPF == '') {
		return false;
	}

	// Aqui começa a checagem do CPF
	var POSICAO, I, SOMA, DV, DV_INFORMADO;
	var DIGITO = new Array(10);
	DV_INFORMADO = CPF.substr(9, 2); // Retira os dois últimos dígitos do número informado

	// Desemembra o número do CPF na array DIGITO
	for (I=0; I<=8; I++) {
	  DIGITO[I] = CPF.substr( I, 1);
	}

	// Calcula o valor do 10º dígito da verificação
	POSICAO = 10;
	SOMA = 0;
	   for (I=0; I<=8; I++) {
		  SOMA = SOMA + DIGITO[I] * POSICAO;
		  POSICAO = POSICAO - 1;
	   }
	DIGITO[9] = SOMA % 11;
	   if (DIGITO[9] < 2) {
			DIGITO[9] = 0;
	}
	   else{
		   DIGITO[9] = 11 - DIGITO[9];
	}

	// Calcula o valor do 11º dígito da verificação
	POSICAO = 11;
	SOMA = 0;
	   for (I=0; I<=9; I++) {
		  SOMA = SOMA + DIGITO[I] * POSICAO;
		  POSICAO = POSICAO - 1;
	   }
	DIGITO[10] = SOMA % 11;
	   if (DIGITO[10] < 2) {
			DIGITO[10] = 0;
	   }
	   else {
			DIGITO[10] = 11 - DIGITO[10];
	   }

	// Verifica se os valores dos dígitos verificadores conferem
	DV = DIGITO[9] * 10 + DIGITO[10];
	   if (DV != DV_INFORMADO) {
		  return false;
	   }
	   
	   return true;
}


function checkDATE(s) {

	if (s.length == 0) {
		return false;
	}

	var objRegExp = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
	if(!objRegExp.test(s)) {
		return false; //doesn't match pattern, bad date
	}

	d = parseInt(s.substr(0, 2), 10);
	m = parseInt(s.substr(3, 2), 10);
	y = parseInt(s.substr(6, 4), 10);

	bin_m = (1 << (m-1));

	// 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
	m31 = 0xAD5;

	if (( y < 1000) || (m < 1) || (m > 12) || (d < 1) || (d > 31) || ((d == 31 && ((bin_m & m31) == 0))) || ((d == 30 && m == 2)) || ((d == 29 && m == 2 && !isLeap(y))) ) {
		return false;
	}
	return true;

}



function retiraAcentos(texto) {
	var chrEspeciais = new Array("á", "à", "â", "ã", "ä", "é", "è", "ê", "ë",
				     "í", "ì", "î", "ï", "ó", "ò", "ô", "õ", "ö",
				     "ú", "ù", "û", "ü", "ç",
				     "Á", "À", "Â", "Ã", "Ä", "É", "È", "Ê", "Ë",
				     "Í", "Ì", "Î", "Ï", "Ó", "Ò", "Ô", "Õ", "Ö",
				     "Ú", "Ù", "Û", "Ü", "Ç");

	var chrNormais = new Array("a", "a", "a", "a", "a", "e", "e", "e", "e",
				   "i", "i", "i", "i", "o", "o", "o", "o", "o",
				   "u", "u", "u", "u", "c",
				   "A", "A", "A", "A", "A", "E", "E", "E", "E",
				   "I", "I", "I", "I", "O", "O", "O", "O", "O",
				   "U", "U", "U", "U", "C");

	for (index in chrEspeciais) {
		texto = texto.replace(chrEspeciais[index], chrNormais[index]);
	}

	return texto;
}

function replaceAll(string, token, newtoken) {
	while (string.indexOf(token) != -1) {
 		string = string.replace(token, newtoken);
	}
	return string;
}


//Specify affected tags. Add or remove from list:
var tgs = new Array( 'div' );

//Specify spectrum of different font sizes:
//var szs = new Array( 'xx-small','x-small','small','medium','large','x-large','xx-large' );
var szs = new Array( '9px','10px','11px','12px','13px','15px','16px' );
var startSz = 2;

function fonte(trgt, inc) {
	if (!document.getElementById) return;
	var d = document,cEl = null,sz = startSz,i,j,cTags;
	sz += inc;
	if ( sz < 0 ) sz = 0;
	if ( sz > 4 ) sz = 4;
	startSz = sz;
	if ( !( cEl = d.getElementById( trgt ) ) ) cEl = d.getElementsByTagName( trgt )[ 0 ];
	cEl.style.fontSize = szs[ sz ];

	for( i = 0; i < tgs.length; i++ ) {
		cTags = cEl.getElementsByTagName( tgs[ i ] );
		for ( j = 0; j < cTags.length; j++ ) cTags[ j ].style.fontSize = szs[ sz ];
	}
}

function mascara(Mascara, elemento) {

	// Seta o elemento
	var elemento = (elemento) ? elemento : document.getElementById(elemento);
	if(!elemento) return false;

	// Método que busca um determinado caractere ou string dentro de uma Array
	function in_array( oque, onde ){
			for(var i = 0 ; i < onde.length; i++){
			if(oque == onde[i]){
				return true;
			}
		}
		return false;
	}
	// Informa o array com todos os caracteres que podem ser considerados caracteres de mascara
	var SpecialChars = [':', '-', '.', '(',')', '/', ',', '_'];
	var oValue = elemento.value;
	var novo_valor = '';
	for( i = 0 ; i < oValue.length; i++){
		//Recebe o caractere de mascara atual
		var nowMask = Mascara.charAt(i);
		//Recebe o caractere do campo atual
		var nowLetter = oValue.charAt(i);
		//Aplica a masca
		if(in_array(nowMask, SpecialChars) == true && nowLetter != nowMask){
			novo_valor +=  nowMask + '' + nowLetter;
		} else {
			novo_valor += nowLetter;
		}
		// Remove regras duplicadas
		var DuplicatedMasks = nowMask+''+nowMask;
		while (novo_valor.indexOf(DuplicatedMasks) >= 0) {
       		novo_valor = novo_valor.replace(DuplicatedMasks, nowMask);
    	}
	}
	// Retorna o valor do elemento com seu novo valor
	elemento.value = novo_valor;

}

function isDate(day, month, year) {
	//IsDate(29, 2, 2005)
	//IsDate(29, 2, 2004)
	var date = new Date();
	var blnRet = false;
	var blnDay;
	var blnMonth;
	var blnYear;

	date.setFullYear(year, month -1, day);

	blnDay   = (date.getDate()      == day);
	blnMonth = (date.getMonth()     == month -1);
	blnYear  = (date.getFullYear()  == year);

	if (blnDay && blnMonth && blnYear)
	blnRet = true;

	return blnRet;
}



/************* Ajuda *************/

/***********************************************
* Show Hint script- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/
		
var horizontal_offset="9px" //horizontal offset of hint box from anchor link

/////No further editting needed

var vertical_offset="0" //horizontal offset of hint box from anchor link. No need to change.
var ie=document.all
var ns6=document.getElementById&&!document.all

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=(whichedge=="rightedge")? parseInt(horizontal_offset)*-1 : parseInt(vertical_offset)*-1
if (whichedge=="rightedge"){
var windowedge=ie && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-30 : window.pageXOffset+window.innerWidth-40
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure+obj.offsetWidth+parseInt(horizontal_offset)
}
else{
var windowedge=ie && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetHeight
}
return edgeoffset
}

function showhint(menucontents, obj, e, tipwidth){
if ((ie||ns6) && document.getElementById("hintbox")){
dropmenuobj=document.getElementById("hintbox")
dropmenuobj.innerHTML=menucontents
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (tipwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=tipwidth
}
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+obj.offsetWidth+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+"px"
dropmenuobj.style.visibility="visible"
obj.onblur=hidetip
}
}

function showhintDash(menucontents, obj, e, tipwidth){
if ((ie||ns6) && document.getElementById("hintbox")){
dropmenuobj=document.getElementById("hintbox")
dropmenuobj.innerHTML=menucontents
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (tipwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=tipwidth
}
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+80
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")-30
dropmenuobj.style.visibility="visible"
obj.onblur=hidetip
}
}

function showhintDash2(menucontents, obj, e, tipwidth){
if ((ie||ns6) && document.getElementById("hintbox")){
dropmenuobj=document.getElementById("hintbox")
dropmenuobj.innerHTML=menucontents
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (tipwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=tipwidth
}
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")-20
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")-30
dropmenuobj.style.visibility="visible"
obj.onblur=hidetip
}
}

function hidetip(e){
dropmenuobj.style.visibility="hidden"
dropmenuobj.style.left="-500px"
}

function createhintbox(){
var divblock=document.createElement("div")
divblock.setAttribute("id", "hintbox")
document.body.appendChild(divblock)
}

if (window.addEventListener)
window.addEventListener("load", createhintbox, false)
else if (window.attachEvent)
window.attachEvent("onload", createhintbox)
else if (document.getElementById)
window.onload=createhintbox

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function valida_data(cData){
    var data = cData; 
    var dia = data.value.substr(0,2);
    var mes = data.value.substr(3,2);
    var ano = data.value.substr(6,4);
    var maxdias = 31;
    var bissexto = 1;

	
	if( (isNaN(dia)) || (isNaN(mes)) || (isNaN(ano)) )
	{erro1 = 1;}
	else {erro1 = 0;}

	hoje = new Date();
	diaatual = hoje.getDate();
	mesatual = hoje.getMonth() + 1;
	anoatual = hoje.getYear(); 
		
		
				if( (dia != '') && ( dia > 31) ) {erro3 = 1;}	
				else {erro3 = 0;}  
				if( (dia != '') && ( dia < 1) ) {erro4 = 1;}
				else {erro4 = 0;}  
		
				if( (mes != '') && ( mes > 12) ) {erro5 = 1;}
				else {erro5 = 0;}  
				if( (mes != '') && ( mes < 1) ) {erro6 = 1;}
				else {erro6 = 0;}
				

	if( (data.value.length > 0) && (data.value.length < 10) )  {erro8 = 1;}
	else {erro8 = 0;}  

    if ((mes == '04') || (mes == '06') || (mes == '09') || (mes == '11') )
       {maxdias = 30;}
    if (mes == '02') 
       {
        if(   (parseInt(ano / 4) * 4) == ano   )
          {bissexto=0;}
           maxdias = 29 - bissexto;
       }
    if (dia > maxdias)
	   {erro9 = 1;}
	else {erro9 = 0;}  
	
	erros = eval(erro1 + erro3 + erro4 + erro5 + erro6 + erro8 + erro9);
	//alert('mes atual:'+mesatual+' mes digitado:'+mes+' dia atual:'+diaatual+' dia digitado:'+dia )
	if(erros != 0) 
	  {
		   data.value = '';
		   data.focus();
			return false;
	  }   	
	return true;	  
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function valida_datacombo(dia,mes,ano){
    var dia = dia.value;
    var mes = mes.value;
    var ano = ano.value;
    var maxdias = 31;
    var bissexto = 1;

	
	if( (isNaN(dia)) || (isNaN(mes)) || (isNaN(ano)) )
	{erro1 = 1;}
	else {erro1 = 0;}

	hoje = new Date();
	diaatual = hoje.getDate();
	mesatual = hoje.getMonth() + 1;
	anoatual = hoje.getYear(); 
		
    if ((mes == '04') || (mes == '06') || (mes == '09') || (mes == '11') )
       {maxdias = 30;}
    if (mes == '02') 
       {
        if(   (parseInt(ano / 4) * 4) == ano   )
          {bissexto=0;}
           maxdias = 29 - bissexto;
       }
    if (dia > maxdias)
	   {erro2 = 1;}
	else {erro2 = 0;}  
	
	erros = eval(erro1 + erro2);
	//alert('mes atual:'+mesatual+' mes digitado:'+mes+' dia atual:'+diaatual+' dia digitado:'+dia )
	if(erros != 0) 
	  {
			return false;
	  }   	
	return true;	  
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function foco_data(campo, proximo)
{
    len = campo.value.length;
	conteudo = campo.value;
	if(len == 2) 	{campo.value =  conteudo + '/';}
	if(len == 5)  {campo.value =  conteudo + '/';}
	if(len == 10)  {proximo.focus();}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


function foco_hora(campo, proximo)
{
    len = campo.value.length;
	conteudo = campo.value;
	if(len == 2) 	{campo.value =  conteudo + ':';}
	if(len == 6)  {proximo.focus();}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function valida_Email(email)
 {
  if(email.value != "")
     {
	  digitou = email.value;
	  if(  (email.value.indexOf("@") == -1) // se não existir, será igual a -1 (posição inesistente na strng)
	       || 											// ENTÃO O AVISO DE ERRO É MOSTRADO
		   (email.value.indexOf(".") == -1) 
		   ||
		   (email.value.indexOf("/") != -1) // se existir, diferenciamos de -1, pois não deve existir na string
		   || 										  // ENTÃO O AVISO DE ERRO É MOSTRADO
		   (email.value.indexOf(" ") != -1)
           ||
		   (email.value.indexOf(",") != -1)
           ||
		   (email.value.indexOf(";") != -1)
           ||
		   (email.value.length <= 7)  )
	     {
			  //alert("Você digitou:"+" "+digitou+"\nDigite corretamente o e-mail.");
			  email.focus();
			 // email.value = "";
			  return false;
		 }
	 }
	 return true;
 }
 
function float2moeda(num) {

   x = 0;

   if(num<0) {
	  num = Math.abs(num);
	  x = 1;
   }
   
	if(isNaN(num)) num = "0";
	  cents = Math.floor((num*100+0.5)%100);

   num = Math.floor((num*100+0.5)/100).toString();

   if(cents < 10) cents = "0" + cents;
	  for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		 num = num.substring(0,num.length-(4*i+3))+'.'
			   +num.substring(num.length-(4*i+3));
			   
	ret = num + ',' + cents;
	if (x == 1) ret = ' - ' + ret;return ret;
}

function verificaSenha(input , div) {
	var nova = document.getElementById(input).value;
	var mostra = document.getElementById(div);
	forca = 0;
	
	if((nova.length >= 4) && (nova.length <= 7)){
		forca += 10;
	}else if(nova.length>7){
		forca += 25;
	}
	if(nova.match(/[a-z]+/)){
		forca += 10;
	}
	if(nova.match(/[A-Z]+/)){
		forca += 20;
	}
	if(nova.match(/\d+/)){
		forca += 20;
	}
	if(nova.match(/\W+/)){
		forca += 25;
	}
	
	//alert(forca);
	if(forca < 30){
		mostra.innerHTML = '<span  STYLE="border: solid; background-color: red; border-width:0px; ">&nbsp;</span>&nbsp;Fraca';
	}else if((forca >= 30) && (forca < 60)){
		mostra.innerHTML = '<span  STYLE="border: solid; background-color: yellow; border-width:0px; ">&nbsp;&nbsp;&nbsp;</span>&nbsp;Justa';
	}else if((forca >= 60) && (forca < 85)){
		mostra.innerHTML = '<span  STYLE="border: solid; background-color: blue; border-width:0px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;Boa';
	}else{
		mostra.innerHTML = '<span  STYLE="border: solid; background-color: green; border-width:0px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>&nbsp;Excelente';
	}
	
}
