	// Cria uma nova matriz
	var albuns = new Array();
	var total = alb.length;
     // albuns = alb
	//alert (alb[0]);
	
	// Percorre a matriz original de álbuns...
	for (var k = 0; k < total; k++) {
		// ... fazendo a reordenação dos valores
		albuns[k] = alb[k].split("#")[1] + "#" + alb[k].split("#")[0];
	}
	
	//alert (albuns[0]);
	
	// Organiza os dados
	albuns.sort();
	
	// Cria expressões regulares para letras acentuadas - INÍCIO //
  var acentos = /[ÂÁÀÃÊÉÈÎÍÌÔÓÒÕÛÚÙÜÇÑ]/;
  var letrasA = /[ÂÁÀÃ]/;
  var letrasE = /[ÊÉÈ]/;
  var letrasI = /[ÎÍÌ]/;
  var letrasO = /[ÔÓÒÕ]/;
  var letrasU = /[ÛÚÙÜ]/;
  var letrasC = /[Ç]/;
  var letrasN = /[Ñ]/;
	var numeros = /^[0-9]/;
	// Cria expressões regulares para letras acentuadas - TÉRMINO //
		
	/*====================================================
	Resumo da função: montaRegua
	Esta função é responsável por criar a régua com as inicias das letras disponíveis nos álbuns
	O parâmetro "inicial" corresponde a letra que será destacada na régua e que terá a listagem de álbuns exibida
	Se "inicial" for definido em "auto", o álbum define a primeira letra encontrada como inicial
	====================================================*/
	function montaRegua (inicial) {
		
		// Armazena o início do conteúdo da régua em uma variável
		var regua = '<table cellspacing="0" cellpadding="0" class="regua" width="447" style="margin:0 0 0 0"><tr>';
		
		// Armazenará as letras já exibidas na régua
		var usadas = "";
		
		// Com o sort() os números da matriz ficam no início dela, porém o "#" deverá ficar no fim da régua, por isso
		// armazenaremos seu HTML nesta variável para adicionar ao fim da régua
		var completa = "";
		
		// Laço que percorre todos os itens do álbum...
		for (var k = 0; k < total; k++) {
			// ... obtendo a primeira letra
			var pl = albuns[k].slice(0,1);
			// ... verifica se a primeira letra é acentuada
			if (pl.match (acentos)) {
				// ... para definir qual é a real letra - INÍCIO //
				pl = ( (pl.match (letrasA)) ? "A" : pl);
				pl = ( (pl.match (letrasE)) ? "E" : pl);
				pl = ( (pl.match (letrasI)) ? "I" : pl);
				pl = ( (pl.match (letrasO)) ? "O" : pl);
				pl = ( (pl.match (letrasU)) ? "U" : pl);
				pl = ( (pl.match (letrasC)) ? "C" : pl);
				pl = ( (pl.match (letrasN)) ? "N" : pl);
				// ... para definir qual é a real letra - TÉRMINO //
			}
			// ... verifica se o nome do filme inicia-se com um número para transformar no "#"
			pl = ( (pl.match (numeros)) ? "#" : pl);
			// ... verifica se a primeira letra é "#" (números)
			if (pl == "#") {
				// ... para armazenar o HTML para imprimir no final da régua
				completa = '<td class="' + ( (inicial == "#") ? "destaque" : "normal") + '"><a href="javascript:void(null)" onclick="montaRegua(\'' + pl + '\');">' + pl + '</a></td>';
				// ... passando para a próxima iteração
				continue;
			}
			// Transforma a primeira letra em maiúscula
			pl = pl.toUpperCase();
			// Verifica se a letra atual já foi usada...
			if (usadas.indexOf(pl) != -1) {
				// ... para cancelar a repetição da mesma na régua
				continue;
			}
			// ... caso contrário...
			else {
				// ... adiciona a letra atual a listagem de letras usadas
				usadas += pl;
				// ... verifica se a letra inicial é definida automática e se estamos no início da régua
				if ( (inicial == "auto") && (regua.indexOf("td") == -1) ) {
					// ... omitindo o link e destacando a letra
					regua += '<td class="destaque"><a>' + pl + '</a></td>';
				}
				// caso contrário...
				else {
					// ... verifica se a letra atual é a destacada
					if (inicial == pl) {
						// ... omitindo o link e destacando a letra
						regua += '<td class="destaque"><a>' + pl + '</a></td>';
					}
					// caso contrário...
					else {
						// ... exibe o link para mudança de letra
						regua += '<td class="normal"><a href="javascript:void(null)" onclick="montaRegua(\'' + pl + '\');">' + pl + '</a></td>';
					}
				}
			}
		}
		
		// Adiciona ao fim da régua o conteúdo de "#" (números), caso exista
		regua += completa;
		
		// Encerra o conteúdo da régua e adiciona ao <div>
		document.getElementById("regua").innerHTML = regua + '</tr></table>';
		
		document.getElementById("listagem").innerHTML = "";
		
		// Verifica se a letra a ser mostrada foi definida...
		if (inicial.length == 1) {
			// ... para exibí-la como inicial
			mostraLetra (inicial);
		}
		// ... caso contrário...
		else {
			// ... exibe a primeira das letras usadas
			mostraLetra (usadas.charAt(0));
		}
		
	}
		
	/*====================================================
	Resumo da função: mostraLetra
	Esta função é simples, ela apenas recebe a letra que deverá ser exibida e faz sua exibição
	====================================================*/
	function mostraLetra (qual) {
		// Laço que percorre todos os álbuns...
		for (var k = 0; k < total; k++) {

			// ... verifica se a primeira letra do álbum corresponde a letra que será exibida...
			if ( (albuns[k].charAt(0) == qual) ) {
				// Métodos DOM para se criar a listagem - INÍCIO //
				// Clonamos o div#modelo
				var modelo = document.getElementById("modelo").cloneNode(true);
				// Trocamos o ID do clone para não gerar duplicidade de IDs
				modelo.setAttribute("id", "");
				// Alteramos o href do clone
				modelo.getElementsByTagName("a").item(0).setAttribute ("href", "http://diversao.uol.com.br/gastronomia/" + albuns[k].split("#")[1]);
				// Adicionamos texto a tag <strong>
				modelo.getElementsByTagName("strong").item(0).appendChild (document.createTextNode (albuns[k].split("#")[0]));
				// Adicionamos texto a tag <span>
				//modelo.getElementsByTagName("span").item(0).appendChild (document.createTextNode (" : " + albuns[k].split("#")[1]));
				// Definimos nosso clone como filho da <div> do conteúdo
				document.getElementById("listagem").appendChild (modelo);
				// Métodos DOM para se criar a listagem - TÉRMINO //
				
			}
			
			if ( (albuns[k].match (numeros)) && (qual == "#") ) {
				
				// Métodos DOM para se criar a listagem - INÍCIO //
				// Clonamos o div#modelo
				var modelo = document.getElementById("modelo").cloneNode(true);
				// Trocamos o ID do clone para não gerar duplicidade de IDs
				modelo.setAttribute("id", "");
				// Alteramos o href do clone
				modelo.getElementsByTagName("a").item(0).setAttribute ("href", "http://diversao.uol.com.br/gastronomia/" + albuns[k].split("#")[1]);
				// Adicionamos texto a tag <strong>
				modelo.getElementsByTagName("strong").item(0).appendChild (document.createTextNode (albuns[k].split("#")[0]));
				// Adicionamos texto a tag <span>
				//modelo.getElementsByTagName("span").item(0).appendChild (document.createTextNode (" : " + albuns[k].split("#")[1]));
				// Definimos nosso clone como filho da <div> do conteúdo
				document.getElementById("listagem").appendChild (modelo);
				// Métodos DOM para se criar a listagem - TÉRMINO //
				
			}
			
			// Função do laço SWITCH abaixo:
			// Simplesmente verificar se a primeira letra do álbum está acentuada, para exibí-la corretamente
			switch (qual) {
				
				case "A" :
					if (albuns[k].charAt(0).match (letrasA)) {
						document.getElementById("listagem").innerHTML += '<div class="espaco"></div><p class="albuns" id="a13nb"><a href="http://diversao.uol.com.br/gastronomia/' + albuns[k].split("#")[1] + '"><strong>' + albuns[k].split("#")[0] + '</strong></a></p>';
					}
					break;
				
				case "E" :
					if (albuns[k].charAt(0).match (letrasE)) {
						document.getElementById("listagem").innerHTML += '<div class="espaco"></div><p class="albuns" id="a13nb"><a href="http://diversao.uol.com.br/gastronomia/' + albuns[k].split("#")[1] + '"><strong>' + albuns[k].split("#")[0] + '</strong></a></p>';
					}
					break;
				
				case "I" :
					if (albuns[k].charAt(0).match (letrasI)) {
						document.getElementById("listagem").innerHTML += '<div class="espaco"></div><p class="albuns" id="a13nb"><a href="http://diversao.uol.com.br/gastronomia/' + albuns[k].split("#")[1] + '"><strong>' + albuns[k].split("#")[0] + '</strong></a></p>';
					}
					break;
				
				case "O" :
					if (albuns[k].charAt(0).match (letrasO)) {
						document.getElementById("listagem").innerHTML += '<div class="espaco"></div><p class="albuns" id="a13nb"><a href="http://diversao.uol.com.br/gastronomia/' + albuns[k].split("#")[1] + '"><strong>' + albuns[k].split("#")[0] + '</strong></a></p>';
					}
					break;
				
				case "U" :
					if (albuns[k].charAt(0).match (letrasU)) {
						document.getElementById("listagem").innerHTML += '<div class="espaco"></div><p class="albuns" id="a13nb"><a href="http://diversao.uol.com.br/gastronomia/' + albuns[k].split("#")[1] + '"><strong>' + albuns[k].split("#")[0] + '</strong></a></p>';
					}
					break;
					
				case "C" :
					if (albuns[k].charAt(0).match (letrasC)) {
						document.getElementById("listagem").innerHTML += '<div class="espaco"></div><p class="albuns" id="a13nb"><a href="http://diversao.uol.com.br/gastronomia/' + albuns[k].split("#")[1] + '"><strong>' + albuns[k].split("#")[0] + '</strong></a></p>';
					}
					break;
					
				case "N" :
					if (albuns[k].charAt(0).match (letrasN)) {
						document.getElementById("listagem").innerHTML += '<div class="espaco"></div><p class="albuns" id="a13nb"><a href="http://diversao.uol.com.br/gastronomia/' + albuns[k].split("#")[1] + '"><strong>' + albuns[k].split("#")[0] + '</strong></a></p>';
					}
					break;
					
			}
		}
	}
	
	/*===== Changelog
	01/06/2005 : Adaptações finais (kpaiva)
	25/05/2005 : Adaptação do código para DOM 1 (kpaiva)
	25/05/2005 : Criação deste conjunto de funções (kpaiva)
	=====*/