function adicionarLixo(){
	var lista1 = document.getElementById("lista1");
	var lista2 = document.getElementById("lista2");
	if(lista2!=null && lista1!=null){
		var i = 0;
		var j = lista2.length;
		for(i=0;i<lista1.length;i++){
			if(lista1[i].selected){
				lista2[j] = new Option(lista1[i].text,lista1[i].value, false, false);
				lista1[i] = null;
				j++;
			}
		}
		ordenartSelect(lista2);
		ordenartSelect(lista1);		
		syncLixo();
	}
}

function syncLixo(){
	var lixos   = document.getElementById("lixos");	
	lixos.value = "";
	var lista   = document.getElementById("lista2");
	if(lista!=null){
		var i = 0;
		for(i=0;i<lista.length;i++){
			if(i==0){
				lixos.value = lista[i].value;				
			}else{
				lixos.value = lixos.value+";"+lista[i].value;				
			}
		}
	}
}

function removerLixo(){
	var lista1   = document.getElementById("lista2");
	var lista2   = document.getElementById("lista1");
	if(lista2!=null && lista1!=null){
		var i = 0;
		var j = lista2.length;
		for(i=0;i<lista1.length;i++){
			if(lista1[i].selected){
				lista2[j] = new Option(lista1[i].text,lista1[i].value, false, false);
				lista1[i] = null;
				j++;
			}
		}
		ordenartSelect(lista2);
		ordenartSelect(lista1);		
		syncLixo();
	}
}

function adicionarTodos(){
	var lista1 = document.getElementById("lista1");
	var lista2 = document.getElementById("lista2");
	if(lista2!=null && lista1!=null){
		var i = 0;
		var j = lista2.length;
		while(i<lista1.length){
			if(lista1[i]!=null){
				lista2[j] = new Option(lista1[i].text,lista1[i].value, false, false);
				lista1[i] = null;
				j++;				
			}
			i++;
		}
		ordenartSelect(lista2);
		ordenartSelect(lista1);		
		syncLixo();
		if(lista1.length>0){
			adicionarTodos();
		}
	}	
}

function removerTodos(){
	var lista1 = document.getElementById("lista2");
	var lista2 = document.getElementById("lista1");
	if(lista2!=null && lista1!=null){
		var i = 0;
		var j = lista2.length;
		while(i<lista1.length){
			if(lista1[i]!=null){
				lista2[j] = new Option(lista1[i].text,lista1[i].value, false, false);
				lista1[i] = null;
				j++;				
			}
			i++;
		}
		ordenartSelect(lista2);
		ordenartSelect(lista1);		
		syncLixo();
		if(lista1.length>0){
			removerTodos();
		}
	}	
}

function ordenartSelect(obj) {
	if (obj!=null && obj.options!=null){
		var o = new Array();
		for (var i=0; i<obj.options.length; i++) {
			o[o.length] = new Option( obj.options[i].text, obj.options[i].value, obj.options[i].defaultSelected, obj.options[i].selected) ;
		}
		if (o.length==0) { return; }
		o = o.sort( function(a,b) { 
				if ((a.text+"") < (b.text+"")) { return -1; }
				if ((a.text+"") > (b.text+"")) { return 1; }
				return 0;
			} 
		);

		for (var i=0; i<o.length; i++) {
			obj.options[i] = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
		}		
	}
} 