/* Repositório de Scripts que são usados em várias partes do site */

//alert('Inicio do Arquivo: site.js');

Event.observe(window, 'load', inicial);

function inicial(){

    //alert('Função: inicial');
	
    //Aplica efeito "zebra" nas linhas de uma tabela
    zebraTable();
	

    //adiciona classe 'active' para a tag <a> da pagina acessada
    activateMenu('active');
	
//alert('/Função: inicial');

	
}//inicial



//Aplica efeito "zebra" nas linhas do corpo de uma tabela
function zebraTable(tableId){

    var tabelas = new Array();

    if(tableId){
        tabelas[0] = tableId;
    }else{
        var i = 0;
        $$('table').each(function(tabela){
            if(tabela.id && tabela.hasClassName('nozebra')==false){
                tabelas[i++] = tabela.id;
            }
        });
    }

    //Loop
    for(j=0; tabelas.length>j; j++){
        var i = 0;
        if($(tabelas[j])){
            $$('#'+tabelas[j]+' tbody tr').each(function(linha){
                linha.removeClassName('zebra_0').removeClassName('zebra_1').addClassName('zebra_'+ i++%2);
            }//function
            );//each
        }
    }

}//zebraTable
	
	
function debug(str){
    try{
        console.log(str);
    }catch(erro){
			
    }
}
	
	
function soNum(campo){
    //Pega o valor atual do campo, substitui e retorna o valor
    campo.value = campo.value.replace(/\D/g,"");
}
	

function setInnerHTML(obj, html){
    try{
        obj.innerHTML = html;
    }catch(erro){
        //Solucionando o BUG do IE ao setar o innerHTML
        var t = document.createElement('div');
        t.innerHTML = html;
        obj.appendChild(t);
    }
}
	
//Abrir popup
function openBrWindow(theURL,winName,features) { 
    window.open(theURL,winName,features);
}
	
	
//menu
	
function navHover() {
    var lis = document.getElementById("menu").getElementsByTagName("LI");
    for (var i=0; i<lis.length; i++) {
        lis[i].onmouseover=function() {
            this.className+=" iehover";
        }
        lis[i].onmouseout=function() {
            this.className=this.className.replace(new RegExp(" iehover\\b"), "");
        }
    }
}
if (window.attachEvent) window.attachEvent("onload", navHover);

//Menu inteligente
function activateMenu(classActive)
{
    var url = location.href;
    var last_bar = url.lastIndexOf('/');
    var aux = url.substr(last_bar);

    if(aux.search(/\./) == -1)
    {
        if(last_bar < (url.length-1))
        {
            url = url+'/';
        }

        url = url+'index.php';
    }
    
    aux = url.split("?");
    if(aux.length>1){
        url = aux[0];
    }
    
    
    $$('#menu a').each(
        function(e){
            if(e == url){
                e.addClassName(classActive);
            }
        }
        );
}



/*
 * Função Auto Tabindex
 * 
 * Define automaticamente o tabindex de todos elementos do seletor (1º parametro)
 * Opicionalmente o tabindex inicial pode ser definido no 2º parametro
 * 
 * Retorna o numero do ultimo tabindex
 * 
 */function autoTabindex(seletor, index){
	 
    var index = (index>0)?index:0;
	 
    if(seletor!=null){
		 
        if(seletor.nodeName=='FORM'){
            var seletor = $(seletor).getElements();
        }else{
            var seletor = $$(seletor);
        }
		 
        $A(seletor).each(function(campo){
            index++;
            campo.writeAttribute('tabindex', index);
            debug('TABINDEX: '+campo.id +' ('+campo.readAttribute('tabindex')+')');
        });
	     
    }else{
        try{
            alert('autoTabindex()\n\nseletor "'+seletor.id+'" é NULL');
        }catch(e){
            alert('autoTabindex()\n\nseletor "elemento sem ID" é NULL');
        }
    }
    
    return index;	 
}
 
 
 
 
/**
 * Função AutoTextareaHeight
 * 
 * Altera a altura da Textarea automaticamente conforme o usuário vai incluindo conteudo nela
 * 
 */function autoTextareaHeight(campo){
	
    // qde minima de linhas
    var min = 3;
    // qde maxima de linhas
    var max = 30;
	
    // fator de divisão da largura do campo
    var wDiv = 8.3;
    var w = campo.getWidth()/wDiv;
	
    // qde de caracteres
    var qde = campo.value.length;
    // cada newline e como se fosse uma linha "cheia" de caracteres
    qde += campo.value.split("\n").length * w;
	
    // seta qde de linhas
    var row = Math.ceil(qde/w);
    row = (row<min)? min : ((row>max)?max:row);
    campo.writeAttribute('rows', row);
	 
} // autoTextareaHeight()

/**
 * Função resetTextareaHeight
 * 
 * Seta o valor padrão(minimo) das textareas que contenham a class "autoTextareaHeight" geralmente utilizadas na função autoTextareaHeight()
 * 
 */
function resetTextareaHeight(){
    $$('.autoTextareaHeight').invoke('writeAttribute','rows',3);
}


function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');

    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        hash[1] = unescape(hash[1]);
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }

    return vars;
}

