//Funcao para fazer mascaras
// Ex: 88095-250
//Uso: onKeyPress=" formatar(this, '#####-###')"

function formatar(src, mask) 
{
  var i = src.value.length;
  var saida = mask.substring(0,1);
  var texto = mask.substring(i)
if (texto.substring(0,1) != saida) 
  {
	src.value += texto.substring(0,1);
  }
}


	// Mudar
	var cliente=null;
	
	function mudar(id){
		if(cliente==id)
			document.getElementById(id).style.display=document.getElementById(id).style.display==''?'NONE':'';
		else if(cliente!=null)
		{			
			document.getElementById(id).style.display='';
			document.getElementById(cliente).style.display='NONE';
		}	
		else
			document.getElementById(id).style.display='';	
		cliente=id;
	}
	
	// Funcoes Mudar Layers
	function MM_findObj(n, d){
	  	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(object, action, local, evnt){
		var v;
		
		if (!window.event){
			x = evnt.pageX;
			y = evnt.pageY;
		}else{
			x = window.event.clientX;
			y = window.event.clientY;
		}
		
		//alert("X = " + x + "\nY = " + y);
		
		if ((object = MM_findObj(object)) != null){
	  		if(object.style){
	    		if(action == 'show'){
	    			v = 'visible';
	    			
	    			if(local = MM_findObj(local)){
	    				local.setAttribute("title", "");
	    				
	    				/*if (document.body && typeof document.body.scrollTop != "undefined"){
					        //x += document.body.scrollLeft;
					        y += document.body.scrollTop;
					        
					        if (document.body.parentNode && typeof document.body.parentNode.scrollTop != "undefined"){
					            //x += document.body.parentNode.scrollLeft;
					            y += document.body.parentNode.scrollTop;
					        }
					        
					    } else if (typeof window.pageXOffset != "undefined") {
					        //x += window.pageXOffset;
					        y += window.pageYOffset;
					    }*/
					    
					    if (typeof window.pageXOffset != "undefined") {
					        //x += window.pageXOffset;
					        //y += window.pageYOffset;
					    } else if (document.body && typeof document.body.scrollTop != "undefined"){
					        //x += document.body.scrollLeft;
					        y += document.body.scrollTop;
					        
					        if (document.body.parentNode && typeof document.body.parentNode.scrollTop != "undefined"){
					            //x += document.body.parentNode.scrollLeft;
					            y += document.body.parentNode.scrollTop;
					        }
					    }
	    				
	    				object.style.left = x + 20 + 'px';
		    			object.style.top =  y + 'px';
	    			}
	    		}else if(action == 'hide'){
	    			v = 'hidden';
	    			
	    			if(local = MM_findObj(local)){
	    				local.setAttribute("title", "");
	    			}
	    		}
	    	}
	    	object.style.visibility = v;
	    }
	}
	
	function adicionaItem(campoOrig,campoDest) 
	{
		x = campoOrig.value;
		var arrayTMP = "";
		
		if (x == "")
		{
			alert('Selecione um item!');
		}
			
		ListaDisponiveis = campoOrig; 
		ListaAcordo = campoDest;
			
		var len = ListaAcordo.length;
			
		for(var i = 0; i < ListaDisponiveis.length; i++) 
		{
			if ((ListaDisponiveis.options[i] != null) && (ListaDisponiveis.options[i].selected)) 
			{	
				ListaAcordo.options[len] = new Option(ListaDisponiveis.options[i].text, ListaDisponiveis.options[i].value); 
				len++;
				ListaDisponiveis.options[i] = null;  
				i--;
			}
		}
	}
	
	function seleciona()
	{
		var i;
		for (i = 0; i < document.form1.direcionados.length; i++)
		{
			document.form1.direcionados.item(i).selected = true;
		}
	}
	
	// Valida DATA
	//FUN??O OnKeyPress PARA VERIFICAR OS VALORES QUE EST?O SENDO INSERIDOS
	function validata_onkeypress(obj, evnt){
		var data = obj;
		var BACKSPACE = 8;
		var key;
		var tecla;
		var DELETE = 46;
		CheckTAB = true;
		
		//FAZ A VERIFICA??O DO NAVEGADOR UTILIZADO
		if(navigator.appName.indexOf("Netscape") != -1){
			tecla = evnt.which;
		}else{
			tecla = evnt.keyCode;
		}
		
		key = String.fromCharCode(tecla);
		
		if ((tecla == 13) || (tecla == DELETE)){
			return false;
		}
		
		if (tecla == BACKSPACE){
			return true;
		}
		
		if (tecla == 47){
			var comp;
			comp = data.value.substring(3,4);
			var strValidos = "123456789"
			
			if ((strValidos.indexOf(comp) != -1) && (data.value.length == 4)){
				data.value = data.value.substring(0,3) + "0" + comp;
				return (true);
			}
			
			comp = data.value.substring(0,2);
			
			if ((strValidos.indexOf(comp) != -1) && (data.value.length == 1)){
				data.value = "0" + comp;
				return (true);
			}
			return (false);
		}
		
		return (isNum(key));
	}
	
	function isNum(caractere){
		var strValidos = "0123456789"
		
		if (strValidos.indexOf(caractere) == -1){
			return (false);
		}
		
		return (true);
	}
	
	//FUN??O DE VALIDA??O DAS PARTES DA DATA NO MOMENTO EM QUE EST? SENDO DIGITADA  (DEVE SER USADA NAS FUN??ES OnKeyUp E OnKeyDown)
	function validata_onkeyupdown(obj, evnt){
		var data = obj;
		var tecla;
		var BACKSPACE = 8;
		var key;
		CheckTAB = true;
		
		//FAZ A VERIFICA??O DO NAVEGADOR UTILIZADO
		if(navigator.appName.indexOf("Netscape") != -1){
			tecla = evnt.which;
		}else{
			tecla = evnt.keyCode;
			key = String.fromCharCode(tecla);
		}
		
		if (tecla == 13){
			return false;
		}
		if (tecla == BACKSPACE){
			return true;
		}
		if (tecla == 46){
			return true;
		}
		
		if ((data.value.substring(0,2) > 31) || (data.value.substring(0,2) == '00')){
			alert('Dia Incorreto');
			data.value = '';
			return false;
		}else{
			if ((data.value.substring(3,5) > 12) || (data.value.substring(3,5) == '00')){
				alert('Mes Incorreto');
				data.value = data.value.substring(0,3);
				return false;
			}else{
				if (((data.value.substring(6,10).length > 3) && (data.value.substring(6,10) > 2033)) || ((data.value.substring(6,10).length > 3) && (data.value.substring(6,10) < 1920))){
					alert('Ano Incorreto');
					data.value = data.value.substring(0,6);
					data.focus(); 
					return false;
				}else{
					if (data.value.length == 2){
						data.value += "/";
					}
					if (data.value.length == 5){
						data.value += "/";
					}
				}
			}
		}
	}
	
	//FUN??O QUE AUTO COMPLETA A DATA  (DEVE SER USADA NO OnBlur DO TEXT)
	function validata_Onblur(obj){
		var comp;
		
		comp = obj.value.substring(6,8);
		
		if ((comp > 20) && (comp < 100) && (obj.value.length == 8)){
			obj.value = obj.value.substring(0,6) + "19" + comp;
		}
		
		if ((comp < 20) && (obj.value.length == 8)){
			obj.value = obj.value.substring(0,6) + "20" + comp;
		}
		
		if ((obj.value.length < 10) && (obj.value.length > 0)){
			obj.focus();
			return (false);
		}
		return (true);
	}
	
	//FUN??O PARA VALIDA??O DE DATA
	function TestaData(obj){
		strdata = obj.value;
		
		if ((strdata.length < 10) || (strdata.substring(2,3) != '/') || (strdata.substring(5,6) != '/')){
			if (!FG_ValData(strdata))
			{
				alert('Preencha a data no formato correto!\nFormato: dd/mm/aaaa.');
				return (false);
			}
		}
		return (true);
	}
	
	//FUN??O QUE VERIFICA SE A DATA DIGITADA ? V?LIDA
	function FG_ValData(SData){
		var Sano;
		var Smes;
		var Sdia;
		SData = FG_TiraBrancosData(SData);
		
		if (!(SData.length == 10)){
			return (false);
		};
		
		Sdia = SData.substring(0,2);
		
		if (isNaN(Sdia)){
			return(false);
		};
		
		Sdia = parseInt(Sdia,10);
		Smes = SData.substring(3,5);
		if (isNaN(Smes)){
			return(false);
		};
		
		Smes = parseInt(Smes,10);
		Sano = SData.substring(6,10);
		if (isNaN(Sano)){
			return(false);
		};
		
		Sano = parseInt(Sano,10);
		if ((Sano > 2079) || (Sano < 1900)){
			return (false);
		};
		if ((Sdia < 1) || (Sdia > 31)){
			return (false);
		};
		if ((Smes < 1) || (Smes > 12)){
			return (false);
		};
		if (((Smes == 4) || (Smes == 6) || (Smes == 9) || (Smes == 11)) && (Sdia > 30) ){
			return (false);
		};
		if ((Smes == 2) && (Sdia > 29)){
			return (false);
		};
		if ((Smes == 2) && (Sdia == 29) && !(FG_Bissexto(Sano))){
			return (false);
		};
		return (true);
	}
	
	//FUN??O PARA RETIRAR OS ESPA?OS EM BRANCO DA DATA
	function FG_TiraBrancosData(Texto){
		i = 0;
		auxiliar = "";
		
		while (i < Texto.length){
			if (Texto.charAt(i) == " "){
				auxiliar = auxiliar + "";
			}else{
				auxiliar = auxiliar + Texto.charAt(i);
			}
			i++;
		}
		return auxiliar;
	}
	
	//FUN??O PARA VERIFICAR SE O ANO DIGITADO ? BISSEXTO
	function FG_Bissexto(ano){
		var resto;
		if (ano == 0){
			return(true);
		}
		
		resto = (ano % 400);
		
		if (resto == 0){
			return (true);
		}
		
		resto = (ano % 100);
		
		if (resto == 0){
			return (false);
		}
		
		resto = (ano % 4);
		if (resto == 0){
			return (true);
		}
		
		return (false);
	}