// JavaScript Document

//valida formulario
function validaForm(frm){	
	e = fld.split(",");
	for (i=0;i<e.length;i++){
		campo = $(e[i]);
		if(campo.type=="text" || campo.type=="password" || campo.type=="hidden" || campo.type=="textarea"){
			if (campo.value==""){
				alert('Preencha o campo em destaque');
				campo.focus();
				campo.style.background='#FFCCCC';
				return false;
			}
		}
	}
	return true;
}

function setValue(destino,nivel){
	switch (nivel)
	{
		case 0 : nivel = document;break;
		case 1 : nivel = window.opener.document;break;
		case 2 : nivel = window.parent.document;break;
	}	
	dest = destino;
	for(i=0;i<dest.length;i++)
	{
		part = dest[i].split(":");
		(nivel.getElementById(part[0]).type != "INPUT") ? nivel.getElementById(part[0]).value = part[1] : nivel.getElementById(part[0]).innerHTML = part[1] ;
	}
}

//Retorna elemento pelo ID (getElementById)
function $(element){
	return (document.getElementById(element))?document.getElementById(element):null;	
}

//Retorna elementos através da TAGNAME (getElementsByTagName)
function $T(tagName){
	return (document.getElementsByTagName(tagName))?document.getElementsByTagName(tagName):null;	
}

//Retorna elementos através do atributo className;
function $C(node, className){	
	var $n = node.childNodes, $element = new Array();
	for(i=0;i<$n.length;i++)
	{
		if($n[i].nodeType==1)		
		{				
			if($n[i].getAttribute('class')==className)
			{
				//$element = (typeof $n[i].getAttribute('NAME') != 'undefined') ? $element.concat($n[i].getAttribute('NAME')) : $element.concat($n[i].getAttribute('ID')) ;
				$element = $element.concat($n[i]);
			}
		}
	}
	return ($element);
}

//Ler arquivo XML
function readXML(file_config){
	//Internet Explorer
	try{xmlDoc=new ActiveXObject("Microsoft.XMLDOM");}
	catch(e){
		//Firefox, Mozilla, Opera, etc.
		try{xmlDoc=document.implementation.createDocument("","",null);}
		catch(e){	alert(e.message);	return;	}
	}
	xmlDoc.async=false;
	xmlDoc.load(file_config);
	return(xmlDoc);
}

//Centraliza elemento na tela
function centerElement(element, w, h){
	x = parseInt((screen.width - w)/2);
	y = parseInt((screen.height - h)/2);
	element.style.top = x;
	element.style.left = y;
}


//Manipula exibição do controle tab
function tab_click(tab, eShow){
	tabs = $C(tab,"tab_table");
	for (i=0;i<tabs.length;i++)
	{
		tabs[i].style.display = (tabs[i].id!=eShow)? "none" : "block" ;
	}
}


// Descrição...
//  Impede entrada de valores Nulos em determinados campos
// Paramentros...
//  xCmp : array de campos {encapsulados por aspas ('') }
//  xRef : objeto conteiner dos campos
//  xCss : classe de estilo
// Recomendações...
//  Não utilizar espaço após a vígura quando estiver montando o vetor de campos / Ex.: ('Campo1,Campo2,Campo3...CampoN')
function validar(xCmp, xRef, xCss)
{
	var oRef 	 = $( xRef ) ;	
	var css = (typeof  xCss != 'undefined') ?  xCss : '' ;
	var arrcmp = xCmp.split(",") ;
	var oTypes = new Array('INPUT','TEXTAREA','SELECT') ;
	
	//VARRER ATRAZ DE CONTROLES DE FORMULARIO 
	for(i=0;i<oTypes.length;i++)
	{		
		
		obj = oRef.getElementsByTagName( oTypes[i] );
		for(j=0;j<obj.length;j++)
		{			
			for(k=0;k<arrcmp.length;k++)
			{
				if ( arrcmp[k] == obj[j].id )
				{
					switch (oTypes[i])
					{
						case "INPUT" :
							if (obj[j].type == 'text' || obj[j].type == 'password' || obj[j].type == 'hidden' || obj[j].type == 'file')
							{								
								if ( obj[j].value == '' )
								{
									(obj[j].type != 'file') ? alert('Favor preencher o campo em destaque.') : alert('Por favor informe o nome do arquivo.') ;
									obj[j].className = "formError";
									obj[j].focus();									
									return false ;
								}
								else
								{
									obj[j].className = css;
								}
							};break ;				
						
						case "TEXTAREA" :
							if ( obj[j].value == '' )
							{
								alert('Favor preencher o campo em destaque') ;
								obj[j].className = "formError";
								obj[j].focus();
								return false ;
							}
							else
							{
								obj[j].className = "";
							};break ;	
						
						case "SELECT" :
							if ( obj[j].selectedIndex == 0 )
							{
								alert('Favor selecionar um item na lista em destaque') ;
								obj[j].className = "formError";								
								obj[j].focus();
								return false ;
							}
							else
							{
								obj[j].className = "";
							};break ;				
					}
				}
			}
		}
	}
	return true ;
}

// Descrição...
//  Limpa campos
// Parametros...
//  ref : objeto conteiner dos campos (form, div);
function limparCampos( ref ){
	oRef = $( ref );
	var oTypes = new Array("INPUT","TEXTAREA","SELECT");	
	
	//VARRE ATRAZ DE CONTROLES DE FORMULARIO 
	for(i=0;i<oTypes.length;i++)
	{
		xObj = oRef.getElementsByTagName( oTypes[i] )
		for(j=0;j<xObj.length;j++)
		{

			
			if (xObj[j].type != "button" && xObj[j].type != "submit" && xObj[j].type != "reset" && xObj[j].type != "hidden" )
			{
				switch ( oTypes[i] )
				{
					case "INPUT" :  xObj[j].value = '' ; break;
					case "TEXTAREA" : xObj[j].value = '' ; break;
					case "SELECT" : xObj[j].selectedIndex = 0 ; break;
				}
			}
		}
	}
}

//efeito mouseOverOut na grid
function glowRowGrid(grid){	
	var $tr = grid.getElementsByTagName("TR");
	for(i=0;i<$tr.length;i++){
		$tr[i].onmouseover = function(){this.style.background="#FFFFCC";}
		$tr[i].onmouseout = function(){this.style.background = "#FFFFFF";}	
	}
}

//selecionar checkbox
function checkAll(grp,chk){
	cbx = grp.getElementsByTagName('input');
	for (i=0;i<cbx.length;i++){
		if(cbx[i].type=='checkbox'){
			cbx[i].checked = (typeof chk!= 'undefined')?chk.checked:true;
		}
	}
}

//desabilita controle qndo radio selecionado
function disableCtrl(radios, ctrls){
	rd = radios.split(',');
	ct = ctrls.split(',');
	for (i=0;i<rd.length;i++){
		
		//alert($(ct[i]).name + "=" + $(rd[i]).checked);
		$(ct[i]).disabled = ($(rd[i]).checked) ? false : true ;
		
		$(rd[i]).onclick = function(){
			for(j=0;j<ct.length;j++){
				if ($(rd[j]).checked){
					$(ct[j]).disabled = false;
				}else{
					$(ct[j]).disabled = true;
					$(ct[j]).value = '';
				}
			}
		}
	}
}

//vefirica se o navegador é IE
function CheckIsIE(){
	if (navigator.appName.toUpperCase() == 'MICROSOFT INTERNET EXPLORER') { 
		return true;
	} else { 
		return false; 
	}
}

//Imprime conteudo de um frame
function printFrame(){
	var aviso = "Não esqueça de configurar a ORIENTAÇÃO da folha\n\n" +
							"Relatórios com LARGURA extendida use orientação PAISAGEM\n" + 
							"Relatórios com ALTURA extendida sue orientação RETRATO."
	alert(aviso);
	
	if (CheckIsIE() == true)
	{
		document.frame1.focus();
		document.frame1.print();
	}	else {
		window.frames['frame1'].focus();
		window.frames['frame1'].print();
	}
} 