//************************************************** Classe Combobox ********************************************************/ 	
//Variáveis globais
var url, div, primeiro, xml, strId, funcaoCombo, msg, divErro, caminho, funcaoXml;
//Metodo para Limpar
function limpa(parametros){
     var tag = new Array( "input", "select", "textarea" );
     var operador = "";
     var par = parametros.split('|'); 
  for (var a=0; a< par.length; a++) {
    for(var i=0; i< tag.length; i++){
      var Elementos = document.getElementsByTagName(tag[i]);
       for( j=0; j<Elementos.length; j++){ 
    	 var valor = Elementos.item(j).name.split('|');
           if( valor[0] == par[a] ){
				Elementos.item(j).value='';  
		   }
        }
     }
  }
}  
 
/* que pega todos os valores para ser usado nas funcoes. 
Url - pagina onde sera requisitada pelo ajax
Div - onde retornara o resultado do ajax
Primeiro - primeiro elemento get enviado
Xml - se retorna ou nao xml - (0 nao) - (1 para retorno de texto) e o (nome qualquer para retorno da xml)
StrId - campos separados por '|', para retorno das caixas de texto
FuncaoCombo - caso retorne algo depois de clicar na combo, epecificar qual o nome da funcao
Msg - msg feita quando for requisitado o ajax
DivErro - div onde exibira os erros e avisos de cadastro concluidos e alteracoes concluidas
Caminho - onde recebe os gets q seram levados para outra pagina
FuncaoXml - caso retorne algo depois de emitir a xml, epecificar qual o nome da funcao
observacao: quando nao for necessario algum destes campos, insira vazio no local

Exemplo:

pegar('Classes/class_formula.php','acao','alt','alt_form','','', 'Alterando Dados!','inform','caminho',''); caminho = montaUrl('99|2|6|7|8'); ajaxInicia();

*/

function pegar(Url,Div,Primeiro,Xml,StrId,FuncaoCombo,Msg,DivErro,Caminho,FuncaoXml){
  url=Url;
  div = Div;
  primeiro=Primeiro;
  xml=Xml;
  strId=StrId;
  funcaoCombo=FuncaoCombo;
  msg=Msg;
  divErro=DivErro;
  caminho=Caminho;
  funcaoXml=FuncaoXml;
  
}
		
//------------------------------------------------------------------------------------------------------------------------		
//para montar uma url, ela e montada e retorna uma string com a url montada
//------------------------------------------------------------------------------------------------------------------------
function montaUrl(parametros){
	var a, i = 0;
     document.getElementById(div).style.display = 'block';
     var tag = new Array( "input", "select", "textarea" );     
     var valores = primeiro + '&';
     var operador = "";
     var par = parametros.split('|');

  for (a = 0; a < par.length; a++) {
	for(i = 0; i < tag.length; i++){
		var Elementos = document.getElementsByTagName(tag[i]);
       for( j=0; j<Elementos.length; j++){ 
    	 var valor = Elementos.item(j).name.split('|');
           if( valor[0] == par[a] ){
			     ( a<par.length-1 )?( operador = "&" ):( operador = "" );	
				 valores+= valor[1] + "=" + Elementos.item(j).value + operador;  
		   }
        }
     }
  }

  return valores;
}
				
//**************************************************************************************************************************				
//para enviar os valores para as caixas de texto
//**************************************************************************************************************************
function enviaValor(strValor){
    arrayValor = separaValor(strValor );
    arrayId    = separaValor( strId );
	lancarValor( arrayId, arrayValor );
    verDisplay( div );
	  if(funcaoCombo != '') {
		 return funcaoCombo();
	  }
}	   

//--------------------------------------------------------------------------------------------------------------------------
//Metodo para iniciar o ajax
//--------------------------------------------------------------------------------------------------------------------------
function ajaxInicia(parametros){  		   

    buscaAjax(url,div,caminho,xml,msg,primeiro);
}
//---------------------------------------------------------------------------------------------------------------------------

// Separa uma string com simbolo em um array de valores.
function separaValor(strValor ) {
   return strValor.split('|');
}
			 
// Coloca o array de valores nas caixas de texto (array de id). 
function lancarValor( arrayId, arrayValor ) {
   for( var i=0; i<arrayId.length; i++ ){
	  document.getElementById( arrayId[i] ).value = arrayValor[i]; 
   }
				
}
              
// Verifica o Display da div e alterna o tipo do display	  .
function verDisplay( div ) {  
   var div = document.getElementById( div );
   (div.style.display=='none') ? (div.style.display='block') : (div.style.display='none');
}
			 
//substitui document.getElementById por $ - by Vinicios  //
function $(id){
	return document.getElementById(id);	
}
//determina um tempo de visualizaçao da div - by Vinicios  //
function temporizador( id, tempoSeg ){ 
	document.getElementById( id ).style.display = 'block'; 
	var acao = "document.getElementById('"+ id + "').style.display = 'none'"; 
	window.setTimeout( acao , tempoSeg*1000); return true; 
}
//Determina um numero maximo na impressao da String - by Vinicios  //
function maxString(str, tam){
	
	(str.length > tam)?( descricao = str.substring(0,(tam-3))+"..."):(descricao = str);
 
 return descricao;
}

