function selecionar_todos(elemento){
	obj = document.getElementById(elemento);
	for(var x=0; x < obj.options.length; x++) {
		obj.options[x].selected = true;
	}
}   

function mv(elemento_origem, elemento_destino) {
	var sel_pai = document.getElementById(elemento_destino);
	var sel = document.getElementById(elemento_origem);
  var selecionados = new Array();
  
  if (!sel_pai) {
	  return;
  }
  
  len = sel_pai.options.length;
  for (i = 0; i < len; i++) {
    if (sel_pai.options[i].selected) {
    	var total = sel.options.length;
    	var jahTem = false;

    	for(j = 0; j < total; j++){
    		if(sel.options[j].value == sel_pai.options[i].value){
    			jahTem = true;
    			break;
    		}
    	}
    	
    	if(!jahTem){
    		sel.options[sel.options.length] = new Option(sel_pai.options[i].text, sel_pai.options[i].value);
    	}
      selecionados.push(i);
    }
  }
  
  len = selecionados.length;
  for (i = len-1; i >= 0; i--) {
    sel_pai.options[selecionados[i]] = null;
  }
}

function cp(elemento_origem, elemento_destino) {
	cls(elemento_destino);
	var sel_pai = document.getElementById(elemento_origem);
	var sel = document.getElementById(elemento_destino);
    var selecionados = new Array();
    if (!sel_pai) {
        return;
    }
   
    len = sel_pai.options.length;
    for (i = 0; i < len; i++) {
        sel.options[sel.options.length] = new Option(sel_pai.options[i].text, sel_pai.options[i].value);
        selecionados.push(i);
    }
}

function cls(elemento) {
	try{
		var selecionados = document.getElementById(elemento);
		for (var i = selecionados.options.length - 1; i >= 0; i--){
			selecionados.options[i] = null;
		}
		selecionados.selectedIndex = -1;
	}catch(e){
		//nada
	}
}

function movimento(elemento, direcao) {
    var sel = document.getElementById(elemento);
    var len, i;
    if (!sel) {
        return;
    }
    if (direcao == 'passar' && arguments[2] == undefined) {
        return;
    } else if (direcao == 'passar') {
        mv(elemento, arguments[2]);
        /*cp('selecionados','vfRel_classificacao_1');
        cp('selecionados','vfRel_classificacao_2');
        cp('selecionados','vfRel_classificacao_3');*/
        
    } else if (direcao == 'cima' || direcao == 'baixo') {
        var selecionado = sel.selectedIndex;
        var comparacao = direcao == 'cima' ? selecionado - 1 : selecionado;
        var opts_values = new Array();
        var opts_texts = new Array();
        var tam = sel.options.length;
        var i;
        if (selecionado == -1) {
            return;
        }
        if (direcao == 'cima' && selecionado == 0) {
            return;
        }
        if (direcao == 'baixo' && selecionado == tam - 1) {
            return;
        }
        selecionado = direcao == 'cima' ? selecionado - 1 : selecionado + 1;
        for (i = 0; i < sel.options.length; i++) {
            if (i == comparacao) {
                opts_values.push(sel.options[i+1].value);
                opts_texts.push(sel.options[i+1].text);
                sel.options[i + 1] = null;
            }
            opts_values.push(sel.options[i].value);
            opts_texts.push(sel.options[i].text);
        }
        for (i = 0; i < tam; i++) {
            sel.options[i] = new Option(opts_texts[i], opts_values[i]);
        }
        sel.selectedIndex = selecionado;
    }
}
