//#######################################################
//############# FUNÇÕES PARA VALIDAÇÃO DE CAMPOS ########
//#######################################################
//BRANCO
function testaBRANCO(CAMPO)
{
	if (CAMPO.value.length == 0)
	{
	   	alert('Necessário preencher o campo.');
	   	CAMPO.focus();
		return true;
	}
}
//EMAIL
function testaEMAIL(CAMPO)
{
	if (CAMPO.value != "")
	{
		if (CAMPO.value.indexOf("@") == -1 || CAMPO.value.indexOf(".") == -1)
		{
			alert('Email inválido.');
			CAMPO.focus();
			return true;
		}
	}
}
function testaVALOR(CAMPO)
{
	if (CAMPO.value.length == 0)
	{
	   	alert('Valor inválido.');
	   	CAMPO.focus();
		return true;
	}
}
//#######################################################
//############ FUNÇÕES PARA FROMATAÇÃO DE CAMPOS ########
//#######################################################
function soMOEDA(fld, milSep, decSep, e) 
{
	var sep = 0;
	var key = '';
	var i = j = 0;
	var len = len2 = 0;
	var strCheck = '0123456789';
	var aux = aux2 = '';
	var whichCode = (window.Event) ? e.which : e.keyCode;
	
	if (whichCode == 13) return true;  // Enter
	if (whichCode == 8) return true;  // Delete
	key = String.fromCharCode(whichCode);  // Get key value from key code
	if (strCheck.indexOf(key) == -1) return false;  // Not a valid key
	len = fld.value.length;
	for(i = 0; i < len; i++)
	if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
	aux = '';
	for(; i < len; i++)
	if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
	aux += key;
	len = aux.length;
	if (len == 0) fld.value = '';
	if (len == 1) fld.value = '0'+ decSep + '0' + aux;
	if (len == 2) fld.value = '0'+ decSep + aux;
	if (len > 2) {
	aux2 = '';
	for (j = 0, i = len - 3; i >= 0; i--) {
	  if (j == 3) {
		aux2 += milSep;
		j = 0;
	  }
	  aux2 += aux.charAt(i);
	  j++;
	}
	fld.value = '';
	len2 = aux2.length;
	for (i = len2 - 1; i >= 0; i--)
	fld.value += aux2.charAt(i);
	fld.value += decSep + aux.substr(len - 2, len);
	}
	return false;
}
//#######################################################
//############# FUNÇÕES DE FORMULÁRIO ###################
//#######################################################
function FRMfocu(CAMPO)
{
	CAMPO.focus();
	FRMSelecionar(CAMPO)
}
function FRMSelecionar(CAMPO)
{
	CAMPO.select();
}
//#######################################################
//############# FUNÇÕES PEGAR DATA E HORA ###############
//#######################################################

	var dias=new Array("Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado")
	var meses=new Array("Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro")
	
	//IMPORTANTE necessario criar uma funcao na pagina que define o tempo de execuçao desta funcao como esta
	function mostraDataHora(INTERVALO){
		//funcao que retorna a data e a hora de acordo com o intervalo em milessegundos
		setInterval("retornaDataHora()",INTERVALO)
	}	
	function retornaDataHora(){
		var minhaData=new Date()
		var ano=minhaData.getYear()
		if (ano < 1000)
			ano+=1900
		var dia=minhaData.getDay()
		var diaM=minhaData.getDate()
		var mes=minhaData.getMonth()
		if (diaM<10)
			diaM="0"+diaM
		var horas=minhaData.getHours()
		var minutos=minhaData.getMinutes()
		var segundos=minhaData.getSeconds()
		//usado apenas para mostrar o PM e AM
		var dn="AM"
		if (horas>=12)
			dn="PM"
		if (horas>12){
			horas=horas-12
		}
		if (horas==0)
			horas=12
		if (minutos<=9)
			minutos="0"+minutos
		if (segundos<=9)
			segundos="0"+segundos
		//muda a fonte e use a data e hora
		var cdate="<small><font color='000000' face='Arial'><b>"+dias[dia]+", "+diaM+" de "+meses[mes]+" de "+ano+" - "+horas+":"+minutos+":"+segundos+" "
		+"</b></font></small>"
		if (document.all)
			document.all.clock.innerHTML=cdate
		else if (document.getElementById)
			document.getElementById("clock").innerHTML=cdate
		else
		document.write(cdate)
	}

//funcao testa data
function VALIDADATA(date,CAMPO) {

   var err = 0
   string = date
   var valid = "0123456789/"
   var ok = "yes";
   var temp;
   if (string=="") {
    	return true;
   }else{
   for (var i=0; i< string.length; i++) {
     temp = "" + string.substring(i, i+1);
     if (valid.indexOf(temp) == "-1") err = 1;
   }
   if (string.length != 10) err=1
   b = string.substring(3, 5)		// month
   c = string.substring(2, 3)		// '/'
   d = string.substring(0, 2)		// day 
   e = string.substring(5, 6)		// '/'
   f = string.substring(6, 10)	// year
   if (b<1 || b>12) err = 1
   if (c != '/') err = 1
   if (d<1 || d>31) err = 1
   if (e != '/') err = 1
   if (f<1850 || f>2050) err = 1
   if (b==4 || b==6 || b==9 || b==11){
     if (d==31) err=1
   }
   if (b==2){
     var g=parseInt(f/4)
     if (isNaN(g)) {
         err=1 
     }
     if (d>29) err=1
     if (d==29 && ((f/4)!=parseInt(f/4))) err=1
   }
   if (err==1) {
   	alert("Data inválida");
	CAMPO.value = "";
	CAMPO.focus();
    return false;
   }
   else {
    return true;
   }
   }
}
function VERIFICAMAIORincorreta(datei,datef) {

   string1 = datei
   string2 = datef
   if (string1 == "" ) {
    	return false;
   }else{
   		if (string2 == "" ) {
    		return false;
  		}else{
   			if (string1 <= string2 ) {
    			return false;
   			}else{
   				alert("Data inicial maior do que data final");
   				return true;
			}
   		}
	}
}

//funcao testa data
function VERIFICAMAIOR(datei,datef) {

   var err = 0
   string1 = datei
   string2 = datef
   var valid = "0123456789/"
   var ok = "yes";
   var temp;
   
   if (string1=="") {
    	return false;
   }else{
		if (string2=="") {
    		return false;
   		}else{
		   for (var i=0; i< string1.length; i++) {
			 	temp = "" + string1.substring(i, i+1);
			 	if (valid.indexOf(temp) == "-1") err = 1;
		   }
		   //if (string1.length != 10) err=1
		   b1 = string1.substring(3, 5)		// month 1
		   c1 = string1.substring(2, 3)		// '/'
		   d1 = string1.substring(0, 2)		// day  1
		   e1 = string1.substring(5, 6)		// '/'
		   f1 = string1.substring(6, 10)	// year 1
		   
		   for (var i=0; i< string2.length; i++) {
			 	temp = "" + string2.substring(i, i+1);
			 	if (valid.indexOf(temp) == "-1") err = 1;
		   }
		   //if (string2.length != 10) err=1
		   b2 = string2.substring(3, 5)		// month 2
		   c2 = string2.substring(2, 3)		// '/'
		   d2 = string2.substring(0, 2)		// day 2
		   e2 = string2.substring(5, 6)		// '/'
		   f2 = string2.substring(6, 10)	// year 2
		   
		   
		   if (f1>f2) err = 1
		   if (f1 == f2 && b1 > b2) err = 1
		   if (f1 == f2 && b1 == b2 && d1 > d2 ) err = 1
		   
		   if (err==1) {
			alert("Data inicial maior do que a data final.");
			return true;
		   }
		   else {
			return false;
		   }
   		}
   }
}
/********************************************************************
  Scroll
*********************************************************************/
function scroller(i,y){
		scroller_up(i,y); // tempo para começar a subir
}
	
function scroller_up(i,y){
	//alert(window.scroll[]);
	y = y + (i - y)*.1;
	window.scroll(0,y);
	if (((i - y) <= .6)&&((i - y) >= -.6))
	{					
		y = i;
	}else{
		setTimeout("scroller_up("+i+","+y+")",1);
	}
}

function scroller_e(i){
	y = 1;
	kyoukai = i*.6;
	while(y <= kyoukai)
	{
		window.scroll(0,y);
		y = y + (y*.08);
    }
	while(y != i)
	{
		window.scroll(0,y);
		y = y + (i-y)*.08;
		if (((i - y) <= .6)&&((i - y) >= -.6))
		{					
			y = i;
		}		
	}
}
//funcao que verifica se contem apenas numeros
function soNUMERO(input)
{
	if ((event.keyCode<48)||(event.keyCode>57))
		event.returnValue = false;
}
