var caminhoImagens = '/sistema_acordes/img'; /** * * @param string linkAlteracao: comunica com servidor buscando sequencia de acordes * */ var linkAlteracao = 'http://www.pegacifras.com.br/sistema_acordes/include/acordes.php?acordes='; var mensagemErroInstrumento = 'Por favor, escolha um instrumento'; var mensagemErroNota = 'Por favor, especifique a nota'; /** * * @param array string acordes: lista de coordenadas de uma determinada nota * */ var acordes = new Array(); /** * * @param array int posCasas: define as casas * */ var posCasas = new Array(); /** * * @param array string dedosNotas: define o baixo e acordes * */ var dedosNotas = new Array(); /** * * @param string mensagemNaoEncontrada: informa acorde não encontrada ou incorreta * * */ var mensagemNaoEncontrada = '

Acorde(s) inexistente(s) ou nota incorreta.

'; var acordes = { instrumento : '' , nota : '' , /** * * Retorna elemento por ID * */ doc : function(id) { return document.getElementById ( id ); } , /** * * Buscar acorde * Aqui onde se inicia * */ buscarAcorde : function () { /** * * Limpando array * */ this.limparArray(); /** * * buscando o instrumento * */ this.instrumento = this.buscarInstrumento(); if ( this.instrumento == '' ) { alert( mensagemErroInstrumento ); return false; } /** * * buscando a nota * */ this.nota = this.buscarNota(); if ( this.nota == '' ) { alert(mensagemErroNota); return false; } /** * * buscando coordenadas... * */ this.buscarCoordenadas(); } , /** * * Limpar array * */ limparArray : function () { if ( (this.nota != '') && ( acordes[this.nota] ) ) { while ( acordes[ this.nota ].length != 0) { acordes[ this.nota ].shift(); } this.nota = ''; } } , /** * * Buscar instrumento * */ buscarInstrumento : function () { instr = ''; divDicionario = this.doc( 'dicionario'); radio = divDicionario.getElementsByTagName("input"); for (i = 0; i < radio.length; i++) { if (radio[i].getAttribute('type') == 'radio' && radio[i].checked == true) // se for input do tipo radio e estiver marcado { instr = radio[i].value; } } return (instr != '') ? instr : ''; } , /** * * Buscar Nota * */ buscarNota : function () { idNota = ''; idNota = this.doc('nota').value; return ( idNota != '') ? idNota : ''; } , buscarCoordenadas : function() { acorde = ''; novoAcorde = ''; verificaC = this.nota; instrumentoMusical = this.instrumento; if ( (verificaC != null) && (verificaC.indexOf('null') < 0 ) ) { for (j = 0; j <= verificaC.length; j++) { if (verificaC.charAt(j) == '#') { novoAcorde += 'w'; } else { if (verificaC.charAt(j) == 'º') { novoAcorde += 'Y'; } else { if (verificaC.charAt(j) == '°') { novoAcorde += 'Y'; } else { if (verificaC.charAt(j) == '+') { novoAcorde += 'T'; } else { if (verificaC.charAt(j) == '-') { novoAcorde += 'R'; } else novoAcorde += verificaC.charAt(j); } } } } } acorde += ( (acorde == '') ? '' : '_') + novoAcorde; } localScript = this.doc('script_array'); novoTagScript = document.createElement('script'); instrumento_musical = '&inst=' + instrumentoMusical; novoTagScript.setAttribute('src' , linkAlteracao + acorde + instrumento_musical); localScript.appendChild( novoTagScript ); } , montarAcordes : function () { posAc = 0; localTabelaAcordes = this.doc('tabela_acordes'); localTabelaAcordes.innerHTML = 'Carregando'; tabelaAcordes = '

Decorrência(s) do acorde ' + this.nota + '

'; pegandoAcorde = ''; linhas = 1; posJ = 0; existaArray = ''; if ( this.instrumento == 'teclado' ) { posJ = 2; } else { if (this.instrumento == 'violao') { posJ = 6; } else { posJ = 7; } } pegandoAcorde = this.nota; if ( acordes[pegandoAcorde] ) { tabelaAcordes += ''; for ( tamanhoTotal = 0; tamanhoTotal < acordes[pegandoAcorde].length; tamanhoTotal++) { if ( linhas == posJ) { tabelaAcordes += ''; linhas = 1; } else { if (linhas == 1) { tabelaAcordes += ''; } } acordeSelecionado = acordes[pegandoAcorde][ tamanhoTotal ]; if ( acordeSelecionado ) { tabelaAcordes += ''; } linhas++; } tabelaAcordes += '
'; switch ( this.instrumento ) { case 'violao' : { tabelaAcordes += this.instrumentoCordas ( 6 , acordeSelecionado , pegandoAcorde ); break; } case 'cavaco' : { tabelaAcordes += this.instrumentoCordas ( 4 , acordeSelecionado , pegandoAcorde ); break; } case 'teclado' : { tabelaAcordes += this.teclado ( acordeSelecionado , pegandoAcorde ); break; } } tabelaAcordes += '
'; tabelaAcordes += '
'; } else { tabelaAcordes += mensagemNaoEncontrada; } localTabelaAcordes.innerHTML = tabelaAcordes; } , instrumentoCordas : function ( nCordas , ac , nota ) { /** * * limpando arrays * */ if (dedosNotas.length > 0) { while ( dedosNotas.length != 0) { dedosNotas.shift(); } } if (posCasas.length > 0) { while ( posCasas.length != 0) { posCasas.shift(); } } /** * * @param array string separarNotas * separa as casas de acordo com a sua posição * */ separarNotas = new Array(); posNota = ''; dedoCasa = 0; separarNotas = ac.split('_'); tabelaNotas = ''; tamanhoN = this.posicaoCasa(ac); menor = tamanhoN.menorValor; maior = tamanhoN.maiorValor; n1 = 1; n2 = 5; dedoCasa = ''; d = ''; p = false; intervalo = maior - menor; nDedo = 1; tamanhoY = '14'; setar = 0; concatenar = 0; dFinal = ''; polegar = false; qtdadeDireita = 0; /* nula = caminhoImagens + '/' + instrumentoMusical + '/nula.gif'; imagensAcorde.push ( nula ); */ if ( ( ( menor >= 0 ) && ( intervalo >= 4 ) ) || (menor > 5 ) || ( ( menor >= 4 ) && ( intervalo > 1 ) ) || ( (menor >= 5 ) && (intervalo > 0 ) ) || ( (menor >= 3 ) && (intervalo >= 3 ) ) ) { if ( menor == 0 ) { if ( maior > 5) { n1 = maior; n2 = maior + 4; } } else { n1 = menor; n2 = menor + 4; } setar = n1; } for (var i = n1; i <= n2; i++) { tabelaNotas += ''; d = ''; for (var j = -1; j < nCordas; j++) { if ( j == -1 ) { tabelaNotas += ''; } else { d = ''; m = posCasas[j]; d = dedosNotas[j]; if ( qtdadeDireita < nCordas ) switch ( d ) { case 'P': { if (polegar == false) { imagem = caminhoImagens + '/' + instrumentoMusical + '/cheia.gif'; dFinal += ''; polegar = true; //imagensAcorde.push ( imagem ); } else { imagem = caminhoImagens + '/' + instrumentoMusical + '/null.gif'; dFinal += ''; //imagensAcorde.push ( imagem ); } qtdadeDireita++; break; } case 'N': { if (polegar == false) { imagem = caminhoImagens + '/' + instrumentoMusical + '/cheia.gif'; dFinal += ''; //imagensAcorde.push ( imagem ); polegar = true; } else { imagem = ''; dFinal += ''; //imagensAcorde.push ( imagem ); } qtdadeDireita++; break; } case 'X': { imagem = ''; dFinal += ''; qtdadeDireita++; //imagensAcorde.push ( imagem ); break; } } if (d == 'P') { if ( ( i == m ) && ( p == false ) ) { dedoCasa = caminhoImagens + '/' + instrumentoMusical +'/pestana.gif'; concatenar = Math.abs( j - ( nCordas ) ); imagem = ''; tabelaNotas += ''; //imagensAcorde.push ( imagem ); p = true; j = 8; nDedo++; } else { if ( ( p == true ) && (i != m ) ) { //tabelaNotas += ''; tabelaNotas += ''; //tabelaNotas += ''; } } } else { dedoCasa = ''; tabelaNotas += ''; } } }/* Fim do loop FOR j */ tabelaNotas += ''; }/* Fim do loop FOR i */ dFinal = '' + dFinal + '' tabelaNotas += ( dFinal + '
'; if ( ( setar > 0 ) && ( setar == i ) ) { tabelaNotas += '' + setar + 'ª'; } else { tabelaNotas += ''; } tabelaNotas += '' + imagem + '' + imagem + '' + imagem + ''; if ( i == m ) { if ( dedosNotas[j] == 'N') { dedoCasa = caminhoImagens + '/' + instrumentoMusical +'/' + nDedo + '.gif'; nDedo++; } tabelaNotas += ''; //imagensAcorde.push ( dedoCasa ); } else { //tabelaNotas += '   '; tabelaNotas += ''; } tabelaNotas += '
' ); fundo = caminhoImagens + '/' + instrumentoMusical + '/bg_braco.gif" class="img_' + instrumentoMusical; //imagensAcorde.push ( dedoCasa ); fundo = ''; return ( fundo + tabelaNotas ); } , posicaoCasa : function (ac) { menor = 1000; maior = 0; posI = 0; separa = ac.split('_'); if ( separa.length > 0 ) { n = ''; var N = ''; var n1 = ''; for (posI = 0; posI < separa.length; posI++ ) { n = separa[ posI ].indexOf('X'); N = ''; n1 = ''; if ( n == -1 ) { n = separa[ posI ].indexOf('P'); if ( n == -1 ) { n1 = separa[ posI ].split('N'); N = n1[1]; dedosNotas.push('N'); } else { n1 = separa[ posI ].split('P'); dedosNotas.push('P'); N = n1[1]; } } else { posCasas.push(0); dedosNotas.push('X'); } if ( N ) { N = parseInt(N); posCasas.push(N); if ( N > maior ) { maior = N; } if ( ( N < menor ) && ( N != 0 ) ) { menor = N; } } } } return { menorValor : menor , maiorValor : maior } } , teclado : function ( ac , nota ) { montaTabela = ''; tamanhoX = 4; for ( i = 1; i <= 32; i++) { separaPosicao = ac.split('_'); separaNota = ''; m = ''; for ( j = 0; j < separaPosicao.length; j++) { pegaPosicao = separaPosicao[j]; n = ''; pos = ''; separaNota = pegaPosicao.indexOf('P'); if ( separaNota == -1) { separaNota = separaPosicao[j].indexOf('B'); if ( separaNota > -1 ) { n = pegaPosicao.split ( 'B' ); pos = n[1]; if (pos == i ) { imagem = '/sistema_acordes/img/teclado/ponto_branco.gif" class="ponto_branco'; montaTabela += ''; //imagensAcorde.push ( imagem ); m = i; } } } else { n = pegaPosicao.split ( 'P' ); pos = n[1]; if (pos == i ) { imagem = '/sistema_acordes/img/teclado/ponto_preto.gif" class="ponto_preto"'; montaTabela += ''; m = i; //imagensAcorde.push ( imagem ); } } } if ( m == '' ) { //imagem = 'img/teclado/nulo.gif" class="ponto_nulo'; //montaTabela += ''; montaTabela += ''; //imagensAcorde.push ( imagem ); } } montaTabela += '
 
'; img_bg = '/sistema_acordes/img/teclado/bg_teclado.gif" class="img_teclado'; //imagensAcorde.push ( img_bg ); img_bg = ''; return img_bg + montaTabela; } } function upperNota(){ var inputNota = document.getElementById('nota'); if(inputNota.value.length==1) inputNota.value = inputNota.value.toUpperCase(); }