function onlyNumber(myfield, e)
{
if (myfield.length ==0)
	    myfield.value=0;  
	  var key;
	  var keychar;
    if (window.event)
     key = window.event.keyCode;
    else if (e)
     key = e.which;
    else
     return true;
	  keychar = String.fromCharCode(key);
    if ((key==null) || (key==0) || (key==8) || 
		      (key==9)|| (key==13)|| (key==27) )
     return true;
    else if ((("0123456789").indexOf(keychar) > -1))
	     return true;
	else
   return false;
}



function onlyValue(myfield, e)
{
if (myfield.length ==0)
	    myfield.value=0;  
	  var key;
	  var keychar;
    if (window.event)
     key = window.event.keyCode;
    else if (e)
     key = e.which;
    else
     return true;
	  keychar = String.fromCharCode(key);
    if ((key==null) || (key==0) || (key==8) || 
		      (key==9)|| (key==13)|| (key==27) )
     return true;
    else if ((("0123456789").indexOf(keychar) > -1))
	     return true;
	else
   return false;
}


function onlyValueVirgula(myfield, e)
{

  if (onlyValue(myfield,e)) {

	var key = e.keyCode;
	vr = myfield.value;
	vr = vr.replace( ",", "" );
	size = vr.length + 1;

	if ( key != 9 && key != 8 ){
		if ( size > 2 )
  		myfield.value = vr.substr( 0, size - 2 ) + ',' + vr.substr( size - 2, size );
	 }
					   
					   }
else return false;
}

function onlyValuePonto(myfield, e)
{

  if (onlyValue(myfield,e)) {

	var key = e.keyCode;
	vr = myfield.value;
	vr = vr.replace( ".", "" );
	size = vr.length + 1;

	if ( key != 9 && key != 8 ){
		if ( size > 2 )
  		myfield.value = vr.substr( 0, size - 2 ) + '.' + vr.substr( size - 2, size );
	 }
					   
					   }
else return false;
}



function onlyDate(field,keypressed)
{

  if (onlyNumber(field,keypressed)) {

	var key = keypressed.keyCode;
	vr = field.value;
	vr = vr.replace( ".", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	size = vr.length + 1;

	if ( key != 9 && key != 8 ){
		if ( size > 2 && size < 5 )
			field.value = vr.substr( 0, size - 2  ) + '/' + vr.substr( size - 2, size );
		if ( size >= 5 && size <= 10 )
			field.value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, 2 ) + '/' + vr.substr( 4, 4 ); }
					   
					   }
else return false;
}


function onlyNota(myfield, e)
{

  if (onlyNumber(myfield,e)) 
	{

	var key = e.keyCode;
	vr = myfield.value;
	vr = vr.replace( ".", "" );
	size = vr.length + 1;

	if ( key != 9 && key != 8 && size <= 3)	
		{
			if ( size > 1 )
	  		myfield.value = vr.substr( 0, size - 1 ) + '.' + vr.substr( size - 1, size );
 		}
	}

else return false;
}


function validaNota(nota)
{
	valor = nota.value;
	if (valor.substr(0,nota.value.indexOf(".")) > 10 || Math.ceil(valor) > 10)
	{
		alert("Digite uma nota valida!");
		nota.value = "";
                nota.focus();
		return false;
	}
	else
		return true;
}



function validaData(data) { 

	    dataA = data.value;
	    if (dataA == "")
		return true;

            situacao = ""; 

            dia = (dataA.substring(0,2)); 
            mes = (dataA.substring(3,5)); 
            ano = (dataA.substring(6,10)); 

            // verifica o dia valido para cada mes 
            if ((dia < 01)||(dia < 01 || dia > 30) && (  mes == 04 || mes == 06 
|| mes == 09 || mes == 11 ) || dia > 31) { 
                situacao = "falsa"; 
            } 

            // verifica se o mes e valido 
            if (mes < 01 || mes > 12 ) { 
                situacao = "falsa"; 
            } 

            // verifica se e ano bissexto 
            if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && 
(parseInt(ano / 4) != ano / 4)))) { 
                situacao = "falsa"; 
            } 
    
            if ((dataA == "") || (dataA.length < 10)) { 
                situacao = "falsa"; 
            } 
    
            if (situacao == "falsa") { 
                alert("Digite a data corretamente!\n(dd/mm/aaaa)");
		//data.value = "";
                data.focus(); 
                return false;
            } 
            else return true;
          } 



function onlyTime(field,keypressed)
{

  if (onlyNumber(field,keypressed)) {

	var key = keypressed.keyCode;
	vr = field.value;
	vr = vr.replace( ":", "" );
	size = vr.length + 1;

	if ( key != 9 && key != 8 ){
		if ( size > 2 && size < 5 )
			field.value = vr.substr( 0, size - 2  ) + ':' + vr.substr( size - 2, size );
		if ( size >= 5)
			field.value = vr.substr( 0, 2 ) + ':' + vr.substr( 2, 2 ); }
					   
					   }
else return false;
}


function dateAdd(p_Interval, p_Number, p_DateField){
   if (validaData(p_DateField))
   { 
	p_Date = p_DateField.value;
	p_Number = new Number(p_Number);
	var dt = new Date(p_Date.substr(3,2) + "/" + p_Date.substr(0,2) + "/" + p_Date.substr(6,4));
	switch(p_Interval.toLowerCase()){
		case "yyyy": {// year
			dt.setFullYear(dt.getFullYear() + p_Number);
			break;
		}
		case "q": {		// quarter
			dt.setMonth(dt.getMonth() + (p_Number*3));
			break;
		}
		case "m": {		// month
			dt.setMonth(dt.getMonth() + p_Number);
			break;
		}
		case "y":		// day of year
		case "d":		// day
		case "w": {		// weekday
			dt.setDate(dt.getDate() + p_Number);
			break;
		}
		case "ww": {	// week of year
			dt.setDate(dt.getDate() + (p_Number*7));
			break;
		}
		case "h": {		// hour
			dt.setHours(dt.getHours() + p_Number);
			break;
		}
		case "n": {		// minute
			dt.setMinutes(dt.getMinutes() + p_Number);
			break;
		}
		case "s": {		// second
			dt.setSeconds(dt.getSeconds() + p_Number);
			break;
		}
		case "ms": {		// second
			dt.setMilliseconds(dt.getMilliseconds() + p_Number);
			break;
		}
		default: {
			return "invalid interval: '" + p_Interval + "'";
		}
	}
	dia = new String("0" + dt.getDate());
	mes = new String("0" + (dt.getMonth() + 1));
	return dia.substr(dia.length - 2,2) + "/" + mes.substr(mes.length - 2,2) + "/" + dt.getFullYear();
     }
	return "";
}


function onlySpecial(myfield,e)
{
if (myfield.length ==0)
	    myfield.value=0;  
	  var key;
	  var keychar;
    if (window.event)
     key = window.event.keyCode;
    else if (e)
     key = e.which;
    else
     return true;
	  keychar = String.fromCharCode(key);
    if ((key==null) || (key==0) || (key==8) || 
		      (key==9)|| (key==13)|| (key==27) )
     return true;
    else if ((('qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890').indexOf(keychar) != -1))
	     return true;
	else
   return false;
}


function PopUp(altura,largura,cima,esquerda,pagina){
	window.open(pagina.toString(),'PopUp','top=' + cima + ',left=' + esquerda + ',width=' + largura + ',height=' + altura + ',scrollbars=yes')
}


function validaCPF(pcpf)
 {
 if (pcpf.length != 11)
 {sim=false}
 else {sim=true}

 //verifica se os numeros digitados são iguais
 if (sim)
 {
 i = 1;
 while(pcpf.charAt(i) == pcpf.charAt(i -1) && i < 10)
 {
 i++;
 }
 if(i == 10) sim=false
 else sim=true
 }
 if (sim)
 {
 for (i=0; i<=(pcpf.length-1) && sim; i++)
 {
 val = pcpf.charAt(i)


if((val!="9")&&(val!="0")&&(val!="1")&&(val!="2")&&(val!="3")&&(val!="4")&&(val!="5")&&(val!="6")&&(val!="7")&&(val!="8")) {sim=false}
 }
 if (sim)
 {
 soma = 0
 for (i=0;i<=8;i++)
 {
 val = eval(pcpf.charAt(i))
 soma = soma + (val*(i+1))
 }
 resto = soma % 11
 if (resto>9) dig = resto -10
 else dig = resto
 if (dig != eval(pcpf.charAt(9))) { sim=false }
 else
 {
 soma = 0
 for (i=0;i<=7;i++)
 {
 val = eval(pcpf.charAt(i+1))
 soma = soma + (val*(i+1))
 }
 soma = soma + (dig * 9)
 resto = soma % 11
 if (resto>9) dig = resto -10
 else dig = resto
 if (dig != eval(pcpf.charAt(10))) { sim = false }
 else sim = true
 }
 }
 }
 if (sim) return true
 else { alert('Informe um CPF valido.'); return false; }
 }


function PopUp2(altura,largura,cima,esquerda,pagina){
	window.open(pagina.toString(),'PopUp2','top=' + cima + ',left=' + esquerda + ',width=' + largura + ',height=' + altura + ',scrollbars=no')
}


function ValidaFormulario()
{
	var required = document.forms[0].required.value.split(",");
	var required_label = document.forms[0].required_label.value.split(",");
	
	if (required != null)
	{
		for (i = 0; i < required.length; i++)
		{	
			if (document.getElementById(required[i]).value.replace(" ","") == "")
			{
				alert('O campo ' + required_label[i] + ' é obrigatório!');
				document.getElementById(required[i]).focus();
				return false;
			}
		}
	}		
}
