﻿// JScript File


/*
***********************************************
TRATAMENTO DE DATAS
***********************************************
*/
var week = new Array("Sábado","Domingo","Segunda-Feira","Terça-Feira","Quarta-Feira","Quinta-Feira","Sexta-Feira");

//Verifica se uma data é válida (no netscape não rola então não checa por js, só php)
function checkdate(obj)
{
	date = obj.value;
	if ( date.length != 10 )	return false;

	var dia = date.substring(0,2), mes = date.substring(3,5), ano = date.substring(6,10);

	//Ve se digitou um mes valido
	if(mes > 12 || mes < 01){		
		return false;
	}
	
	//Ve se o ano e bisexto, se e verifica com a data de fevereiro = 29 dias
	if(ano%4 == 0){
		if( ( dia > 31 && (mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12) ) || ( dia > 30 && ( mes == 4 || mes == 6 || mes == 9 || mes == 11 ) ) || ( dia > 29 && mes == 2 ) ){
			return false;
		}else 	
			return true;
	}else{
		if( ( dia > 31 && (mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12) ) || ( dia > 30 && ( mes == 4 || mes == 6 || mes == 9 || mes == 11 ) ) || ( dia > 28 && mes == 2 ) ){
			return false;
		} else 
			return true;
	}
}

//Verifica se um horário é válido
function checktime(obj)
{
	time = obj.value;
	if ( time.length != 5 )	return false;
	
	var hora = time.substring(0, 2), minuto = time.substring(3, 5);
	
	if ( hora > 23 || minuto > 59 )	return false;
	return true;
}

function getWeek(dia, mes, ano) {	
	var val1 = parseInt(dia, 10);
	var val2 = parseInt(mes, 10);
	var val2x = parseInt(ano, 10);
	var val3 = parseInt(ano, 10);
  
	if (val2 == 1) {
		val2x = 13;
		val3 = val3-1;
	}
	if (val2 == 2) {
		val2x = 14;
		val3 = val3-1;
	}
	var val4 = parseInt(((val2x+1)*3)/5, 10);
	var val5 = parseInt(val3/4, 10);
	var val6 = parseInt(val3/100, 10);
	var val7 = parseInt(val3/400, 10);
	var val8 = val1+(val2x*2)+val4+val3+val5-val6+val7+2;
	var val9 = parseInt(val8/7, 10);
	var val0 = val8-(val9*7);
	return val0;
}

//--> Função que retorna quantos dias tem o mes atual
function diasMes(mes, ano) {	
	mes = parseInt(mes);
	ano = parseInt(ano);

	//Se o ano é bisexto, calcula com fevereiro = 29 dias
	switch ( mes ) {
		case 1:		dias = 31;	break;
		case 3:		dias = 31;	break;
		case 4:		dias = 30;	break;
		case 5:		dias = 31;	break;
		case 6:		dias = 30;	break;
		case 7:		dias = 31;	break;
		case 8:		dias = 31;	break;
		case 9:		dias = 30;	break;
		case 10:	dias = 31;	break;
		case 11:	dias = 30;	break;
		case 12:	dias = 31;	break;
	}
	
	if ( ano%4 == 0 ) {
		if ( mes == 2 )	dias = 29;
	} else {
		if ( mes == 2 )	dias = 28;
	}
	return dias;	
}

//--> Função que recebe um mês e retorna o nome do mesmo
function nomeMes(mes) {
	mes = parseInt(mes);
	switch ( mes ) {
		case 1:		return 'Janeiro';	break;
		case 2:		return 'Fevereiro';	break;
		case 3:		return 'Março';		break;
		case 4:		return 'Abril';		break;
		case 5:		return 'Maio';		break;
		case 6:		return 'Junho';		break;
		case 7:		return 'Julho';		break;
		case 8:		return 'Agosto';	break;
		case 9:		return 'Setembro';	break;
		case 10:	return 'Outubro';	break;
		case 11:	return 'Novembro';	break;
		case 12:	return 'Dezembro';	break;
	}
}

function formatDate(obj)
{
	try {
		switch ( obj.value.length )
		{
				case 2:		obj.value += '/';	break;
				case 5:		obj.value += '/';	break;
		}
		//Evita que o usuário segure a tecla e estrague o padrão
		if ( 
			(obj.value.length > 2 && obj.value.substring(2,3) != '/')
			||
			(obj.value.length > 5 && obj.value.substring(5,6) != '/')
			)
			obj.value = '';
	} catch (e) {
		if ( showError )	alert(e.message);
		return false;
	}
}

function formatTime(obj)
{
	try {
		switch ( obj.value.length )
		{
			case 2:	obj.value += ':';	break;
		}
		//Evita que o usuário estrague o padrão segurando a tecla
		if ( obj.value.length > 2 && obj.value.substring(2, 3) != ':' ) {
			obj.value = '';
		}
	} catch (e) {
		if ( showError )	alert(e.message);
		return false;
	}
}
/*
FIM TRATAMENTO DE DATAS
***********************************************
*/







/*
***********************************************
TRATAMENTO DE NUMERO E TEXTO
***********************************************
*/
//Somente numeros
function somenteNumeros(e)
{
	var evento = (window.event)?e.keyCode:e.which;
//	evento = event.keyCode;
	if ( !( evento <= 57 && evento >= 48 ) ){
		evento = 0;
	
		if(window.event){
			event.keyCode = evento;
		}else{
			return false;
		}
	}
}

/*
FIM TRATAMENTO DE NUMERO E TEXTO
***********************************************
*/



/*
***********************************************
TRATAMENTO DO FCKEDITOR
***********************************************
*/

function getEditorValue( instanceName ) 
{  
  // Get the editor instance that we want to interact with.
  var oEditor = FCKeditorAPI.GetInstance( instanceName ) ;
  
  // Get the editor contents as XHTML.
  
  return oEditor.GetXHTML( true ) ;  // "true" means you want it formatted.
} 


function getEditorValueV2( instanceName ) 
{  
  // Get the editor instance that we want to interact with.
  var oEditor = FCKeditorAPI.GetInstance( instanceName ) ;
  
  // Get the editor contents as XHTML.
  var content = '';
  content = oEditor.GetXHTML( true ) ;  // "true" means you want it formatted.
  if(content == '<p>&nbsp;</p>'){content = ''}
  return content
  
} 


function setEditorValue( instanceName, text )
{  
  // Get the editor instance that we want to interact with.
  var oEditor = FCKeditorAPI.GetInstance( instanceName ) ;
  
  // Set the editor contents.
  oEditor.SetHTML( text ) ;
}  

/*
FIM TRATAMENTO DO FCKEDITOR
***********************************************
*/


/*
***********************************************
TRATAMENTO DO Flash
***********************************************
*/

// When the page loads: 
/*
window.onload = function(){ 

	if (document.getElementsByTagName) { 
		// Get all the tags of type object in the page. 
		var objs = document.getElementsByTagName("object"); 
		for (i=0; i<objs.length; i++) { 
			// Get the HTML content of each object tag 
			// and replace it with itself. 
			objs[i].outerHTML = objs[i].outerHTML; 
		} 
	} 
} 
*/

// When the page unloads: 
window.onunload = function() { 
	if (document.getElementsByTagName) { 
		//Get all the tags of type object in the page. 
		var objs = document.getElementsByTagName("object"); 
		for (i=0; i<objs.length; i++) { 
			// Clear out the HTML content of each object tag 
			// to prevent an IE memory leak issue. 
			objs[i].outerHTML = ""; 
		} 
	} 
}


//Na mao
function AtivaFlash()
{
    if (document.getElementsByTagName) { 
		// Get all the tags of type object in the page. 
		var objs = document.getElementsByTagName("object"); 
		for (i=0; i<objs.length; i++) { 
			// Get the HTML content of each object tag 
			// and replace it with itself. 
			objs[i].outerHTML = objs[i].outerHTML; 
		} 
	} 
}


/*
TRATAMENTO DO Flash
***********************************************
*/



/*
***************************************************
TRATAMENTO GENERICO
****************************************************
*/
function mascara(objField, sMask, evtKeyPress) {

var KEY = evtKeyPress.which
if(KEY == undefined){KEY = evtKeyPress.keyCode;}
if(KEY != 8)
{
 var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
 
 if(evtKeyPress.charCode) { // Internet Explorer
   nTecla = evtKeyPress.charCode;
 } else if(evtKeyPress.keyCode) { // Nestcape
   nTecla = evtKeyPress.keyCode;
 } else {
   nTecla = evtKeyPress.which;
   if (nTecla == 8) {
     return true;
   }
 }
 
 sValue = objField.value;
 // Limpa todos os caracteres de formatação que já estiverem no campo.
 while (sValue.indexOf("-")>=0){
  sValue = sValue.toString().replace( "-", "" );
 }
 while (sValue.indexOf(".")>=0){
  sValue = sValue.toString().replace( ".", "" );
 }
 while (sValue.indexOf(",")>=0){
  sValue = sValue.toString().replace( ",", "" );
 }
 while (sValue.indexOf("/")>=0){
  sValue = sValue.toString().replace( "/", "" );
 }
 while (sValue.indexOf("(")>=0){
  sValue = sValue.toString().replace( "(", "" );
 }
 while (sValue.indexOf(")")>=0){
  sValue = sValue.toString().replace( ")", "" );
 }
 while (sValue.indexOf(":")>=0){
  sValue = sValue.toString().replace( ":", "" );
 }
 while (sValue.indexOf(" ")>=0){
  sValue = sValue.toString().replace( " ", "" );
 } 
 
 fldLen = sValue.length;
 mskLen = sMask.length;
 
 i = 0;
 nCount = 0;
 sCod = "";
 mskLen = fldLen;
 
 while (i <= mskLen) {
  bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ":") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == ","));
  bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == " "));
  
  if (bolMask) {
    sCod += sMask.charAt(i);
    mskLen++;
  } else {
    sCod += sValue.charAt(nCount);
    nCount++;
  }
  i++;
 }
 objField.value = sCod;
 if(sMask.charAt(0) == "C"){
  return ((nTecla == 8) || (nTecla == 32) || (nTecla > 64) && (nTecla < 91) || (nTecla > 96) && (nTecla < 123) || (nTecla > 191) && (nTecla < 256));// apenas backspace, espaço, letras de a-z e A-Z com e sem acento
 } else {
  mask = sMask.charAt(i-1);
  switch(mask){
   case "9":
    return ((nTecla > 47) && (nTecla < 58));// números de 0 a 9
   break;
   default:
    return true;
   break;
  }
 }
} 
}
/*
FIM TRATAMENTO GENERICO
****************************************************
*/


/*
***************************************************
TRATAMENTO MOEDA
****************************************************
*/
function MascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){

var KEY = e.which
if(KEY == undefined){KEY = e.keyCode;}
if(KEY != 8)
{
    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;
    key = String.fromCharCode(whichCode); // Valor para o código da Chave
    if (strCheck.indexOf(key) == -1) return false; // Chave inválida
    len = objTextBox.value.length;
    for(i = 0; i < len; i++)
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;
    aux = '';
    for(; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) objTextBox.value = '';
    if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
    if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
        objTextBox.value += aux2.charAt(i);
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    return false;
}    
}
/*
FIM TRATAMENTO MOEDA
****************************************************
*/


