var cform = null; var activo = null; var esPetiz = 0; var addPetiz = 0; var noHints = false; var noPetizHint = 0; function setpos(ref, tgt, offX, offY) { obj = ref; var curleft = 0; var curtop = 0; if (obj.offsetParent) { curleft = obj.offsetLeft; curtop = obj.offsetTop; while (obj = obj.offsetParent) { curleft += obj.offsetLeft; curtop += obj.offsetTop; } } tgt.style.left = (curleft + offX)+'px'; tgt.style.top = (curtop + offY)+'px'; } function getCaretPos(ctrl) { var CaretPos = 0; // IE Support if (document.selection) { ctrl.focus(); var Sel = document.selection.createRange(); Sel.moveStart ('character', -ctrl.value.length); CaretPos = Sel.text.length; } // Firefox support else if (ctrl.selectionStart || ctrl.selectionStart == '0') CaretPos = ctrl.selectionStart; return (CaretPos); } function setCaretPos(ctrl, pos){ if(ctrl.setSelectionRange) { ctrl.focus(); ctrl.setSelectionRange(pos,pos); } else if (ctrl.createTextRange) { var range = ctrl.createTextRange(); range.collapse(true); range.moveEnd('character', pos); range.moveStart('character', pos); range.select(); } } function selIndex(ops,val) { for (i = 0; i < ops.length; i++) if (ops.options[i].value == val) { ops.selectedIndex = i; return; } } function loaded() { cform = document.forms.cform; cform.reset(); w.onkeydown = function(evt){ evt = (evt) ? evt : ((w.event) ? event : null); if (evt.keyCode == 9) return false; } if (cform.band.value!='Artista') cform.band.style.color="#060"; if (cform.rola.value!='Canción') cform.rola.style.color="#080"; if (cform.info_pet.value!="") formActivate(); } function txtComp(t) { var out = t.toLowerCase(); var out = out.replace(/á/g, 'a'); var out = out.replace(/é/g, 'e'); var out = out.replace(/í/g, 'i'); var out = out.replace(/ó/g, 'o'); var out = out.replace(/ú/g, 'u'); var out = out.replace(/ü/g, 'u'); return out; } var EXT_SCRIPT_URL = "/Evolucion/envio/hints.php"; var scriptURL = ""; var scriptCallBack = null; var scriptReady = false; var scriptTO = null; var scriptElm = null; var scriptLim = 15; function scriptLoad(url,callback) { if (!url) url = scriptURL; else scriptURL = url; if (!callback) callback = scriptCallBack; else scriptCallBack = callback; // GS('mask').lineHeight = GS('mask').height; // HTML('mask', ""); show("loader"); scriptReady = false; ga = document.createElement('script'); ga.type = 'text/javascript'; ga.charset='UTF-8'; ga.async = true; ga.src = url; // ga.onload = function() { scriptReady=true; clearTimeout(scriptTO); scriptLim=5; callback(res); }; var headID = document.getElementsByTagName("head")[0]; headID.appendChild(ga); scriptElm = ga; // scriptTO = setTimeout("scriptFail()", scriptLim*1000); } function scriptOnload() { scriptReady=true; hide("loader"); clearTimeout(scriptTO); scriptLim=5; scriptCallBack(res); } function scriptDestroy() { if (scriptElm == null) return; clearTimeout(scriptTO); var headID = document.getElementsByTagName("head")[0]; headID.removeChild(scriptElm); scriptElm = null; } var hint_type='B'; var last_url=''; var lastexp=''; var HTO = null; var OTO = null; var hinting=0; function doHint(evt,exp) { evt = (evt) ? evt : ((w.event) ? event : null); val = exp.value; if (evt.keyCode == 32 && val==" ") {exp.value=""; return false;} if (evt.keyCode == 32 && val.length > 0 && val.charAt(val.length-2)==" ") { exp.value=val.substr(0,val.length-1); return false;} if (evt.keyCode == 9) evt.keyCode=39; if (evt.keyCode == 38) { return false; } if (evt.keyCode == 40) { if (!GE('hintlist')) return false; GE('hintlist').selectedIndex=0; GE('hintlist').focus(); clearTimeout(OTO); GE('hintlist').selectedIndex=0; return; } if (evt.keyCode == 13) { brSend(); return false; } if (HTO) { clearTimeout(HTO); HTO = null; } val = exp.value; if (val.indexOf(' ') != -1) { cancelHint(); exp.value=''; if (activo==cform.rola) launchHint(); return; } if (val.length < 3 && activo==cform.band) { cancelHint(); lastexp = val; return; } lastexp = val; if (activo == cform.rola) launchHint(); else HTO = setTimeout("launchHint()", 500); return; } function launchHint() { HTO = null; if (activo == cform.rola) { var out = {'items':[]}; var match = out.items; var needle = txtComp(cform.rola.value); var c = 0; for (i = 0; iBuscando...'}]}); scriptDestroy(); scriptLoad(url, fillMainList); last_url = url; } } function cancelHint() { scriptDestroy(); if (HTO) { clearTimeout(HTO); HTO = null; } last_url=''; fillMainList(null); } function hintCtl(evt) { evt = (evt) ? evt : ((w.event) ? event : null); k = evt.keyCode; if (k == 38 && GE('hintlist').selectedIndex == 0) { GE('hintlist').selectedIndex = -1; if (activo != null) activo.focus(); return false; } if (k == 13) return hintDone(GE('hintlist').value); } function hintDone(val) { clearTimeout(OTO); scriptDestroy(); activo.value = val; var pet = 0; if (activo.value.charAt(0) == "/") {pet=1; activo.value=activo.value.substr(1); } if (activo.value.charAt(0) == ":") {pet=2; activo.value=activo.value.substr(1); } hintHide(); if (activo == cform.band) { switch (pet) { case 0: HTML('bandinfo','El artista aparece ya en nuestro repertorio.'); cform.info_pet.value='E'; break; case 1: HTML('bandinfo','Existen peticiones para este artista.'); cform.info_pet.value='P'; break; case 2: HTML('bandinfo','Nuevo Artista [Mostrar Información].'); cform.info_pet.value='N'; break; } if (pet==1 && addPetiz!=1) { brSend(); return false; } if (esPetiz != 1) cform.rola.value='Cargando Canciones...'; var url = EXT_SCRIPT_URL + "?b="+encodeURIComponent(cform.band.value); if (noPetizHint==1) url += "&nopetz=1"; scriptLoad(url, fillSongList); } if (activo == cform.rola) { rcode = songCodes[activo.value]; if (pet==0) { var imsg = 'Ya tenemos esa canción. [ver canción]'; if (addPetiz!=1) imsg += ' [versiones]'; HTML('rolainfo', imsg); cform.info_pet.value = cform.info_pet.value.charAt(0)+'E'; if (noPetizHint == 1) { formActivate(); return false } } else { HTML('rolainfo','Existen '+rcode.substr(4)+' peticiones para esta canción.'); cform.info_pet.value = cform.info_pet.value.charAt(0)+'P'; } if (rcode.substr(0,4)=='PET:') { formActivate(); if (addPetiz!=1) cform.tipo.focus(); return false; } if (addPetiz!=1) showYaEsta(rcode); } return false; } function hintHide() { HTML('hintdiv', ''); hide('hintdiv'); } //*** FILLMAINLIST function fillMainList(fill) { if (fill == null) { hintHide(); return; } var res = fill; if (res.items.length>0 && res.items[0].txt.charAt(0)==':') { out = "
"+res.items[0].txt.substr(1)+"
"; noHints = true; scriptDestroy(); HTML('hintdiv', out); show('hintdiv'); return; } var tabindex = (activo == cform.band) ? 3 : 4; var out = "\n"; noHints = false; scriptDestroy(); HTML('hintdiv', out); show('hintdiv'); } var songList = null; var songComp = []; var songCodes = {}; function fillSongList(fill) { songList = fill; songCodes = {}; if (fill != null) { c = 0; songs = fill.items; for (i = 0; i < songs.length; i++) { songComp[c++] = txtComp(songs[i]['txt']); index=(songs[i]['txt'].charAt(0)=='/') ? songs[i]['txt'].substr(1) : songs[i]['txt']; songCodes[index] = songs[i]['cod']; } } clearTimeout(OTO); cform.rola.readOnly=false; if (esPetiz != 1 || cform.rola.value=='Canción' || cform.rola.value=='') { cform.rola.value=''; cform.rola.focus(); if (songList != null) fillMainList(songList); } else { activo = cform.rola; brSend(); } } function brFocus(elm) { if (OTO!=null) { clearTimeout(OTO); OTO=null; } if (elm.readOnly == true) return false; if (elm.style.color=='') { elm.value=''; elm.style.color=(elm==cform.band)?"#060":"#080"; } activo = elm; if (addPetiz!=1) { hide('newband'); hideYaEsta(); formDeactivate(); cform.body.style.display=''; hide('envioBut'); } GE('prelimSend').disabled=true; show('prelimBut'); setpos(elm,GE('hintdiv'),0,24); setpos(elm,GE('okbut'),310,0); show('okbut'); HTML('rolainfo',''); if (elm == cform.band) { cform.rola.value=''; cform.rola.readOnly=true; HTML('hintdiv',''); HTML('bandinfo','Escribe a la izquierda el nombre del artista.'); if (typeof(resetVform)!='undefined') resetVform(); } if (elm == cform.rola && cform.info_pet.value!='N') show('hintdiv'); if (elm.value!='') { lastexp=elm.value; last_url=''; launchHint(); } } function brCtl() { name = res.name; if (name != '' && name.charAt(0)!='/') { activo.value=name; hintDone(name); return null; } hintHide(); if (activo==cform.band) { showNewBand(); return; } if (activo==cform.rola) { if (noPetizHint==1) { HTML('rolainfo','La canción NO aparece en nuestros listados.'); cform.rola.focus(); return null; } HTML('rolainfo','La canción aun no aparece en nuestros listados.'); cform.info_pet.value = cform.info_pet.value.charAt(0)+'N'; formActivate(); if (addPetiz!=1) cform.tipo.focus(); } return null; } function brSend() { cancelHint(); if (activo.value=='') return false; lastexp = activo.value; url = EXT_SCRIPT_URL + "?bc="+encodeURIComponent(cform.band.value); if (activo==cform.rola) url += "&rc="+encodeURIComponent(cform.rola.value); scriptDestroy(); scriptLoad(url, brCtl); last_url = url; } function doShowNewBand() { hintHide(); setpos(cform.band,GE('newband'),397,0); show('newband'); cform.info_pais.focus(); } function showNewBand() { if (OTO!=null) { clearTimeout(OTO); OTO=null; } if (cform.info_pet.value != 'P') { HTML('bandinfo','El artista aun no aparece en nuestros listados.'); cform.info_pet.value='N'; } if (addPetiz !=1) { selIndex(cform.info_pais, res.info_pais); selIndex(cform.info_est, res.info_est); cform.info_desc.value=res.info_desc; GE('info_button').disabled=false; GS('info_button').opacity="1"; if (cform.info_pais.selectedIndex!=0 && cform.info_est.selectedIndex!=0) { hintDone(':'+activo.value); } else { GS('info_button').opacity="0.6"; GE('info_button').disabled=true; doShowNewBand(); } } else { if (noPetizHint==1) { HTML('bandinfo','El artista NO aparece en nuestros listados.'); cform.band.focus(); } else { cform.rola.readOnly=false; cform.rola.focus(); } } } function goNext(nf) { if (OTO!=null) { clearTimeout(OTO); OTO=null; } if (typeof(nf) != 'undefined') { nf.focus(); return false; } if (activo == cform.band) brSend(); if (activo == cform.rola) brSend(); return false; } function secCtl(elm,evt,nf) { evt = (evt) ? evt : ((w.event) ? event : null); if (evt.keyCode == 32 && elm.value==" ") {elm.value=""; return false;} if (evt.keyCode == 13) { goNext(nf); return false; } } function hideYaEsta() { yaesta.location.replace('about:blank'); hide('yaesta'); } function showYaEsta(rc) { setpos(GE('t_h2'),GE('yaesta'),15,0); if (esPetiz!=1) formDeactivate(); show('loader'); yaesta.location.replace('yaesta.php?rcode='+rc); show('yaesta'); } function getTrans(cod) { hideYaEsta(); hide('okbut'); var url = EXT_SCRIPT_URL + '?t=' + cod + '&modif=1'; scriptLoad(url, fillTrans); } function formActivate() { GE('prelimSend').disabled=false; if (addPetiz!=1) { cform.tipo.disabled=false; cform.compo.readOnly=false; cform.album.readOnly=false; cform.anio.readOnly=false; cform.body.disabled=false; } else { hide('okbut'); GE('prelimSend').focus(); } } function formDeactivate() { hide('t_diag'); hide('infodiv'); hide('errordiv'); hide('t_body'); cform.tipo.disabled=true; cform.compo.readOnly=true; cform.album.readOnly=true; cform.anio.readOnly=true; cform.body.disabled=true; cform.body.style.display=''; } function fillTrans() { cform.compo.value = res.autor; cform.album.value = res.album; cform.anio.value = res.anio; selIndex(cform.tipo,res.tipo); cform.body.value = res.body; // cform.body.innerHTML = (MSIE==true) ? res.body.replace(/\n/g,'[*]\n') : res.body; // yaesta.history.back(); formActivate(); w.scroll(0,400); cform.body.focus(); cform.body.setSelectionRange(0,0); cform.body.scrollTop = 0; setCaretPos(cform.body,0); w.scrollTo(0,350); } function createPrelim() { if (addPetiz==1) { GE('prelimSend').disabled=true; cform.submit(); return; } hide('errordiv'); document.forms.pform.body.value = cform.body.value; document.forms.pform.tipo.value = cform.tipo.value; document.forms.pform.submit(); } var odes = '', tBars = {}, tHelps = {}, diagLaunchTgt = null, diagOnLoad = null; function buttonShow() { return false } function fillBody(data, chords) { if (chords == "ERROR") { HTML('errorText',data); setpos(cform.body,GE('errordiv'),400,10); show('errordiv'); } else { var fchords = chords.replace('#', '@'); cform.acordes.value=fchords; HTML('t_body','
'+data+'
'); cform.body.style.display='none'; show('t_body'); odes = fchords; lsSet('dgpref', '0'); var url = LC_ACO+'reload.php?fn=TRAN/toolDiag.js'; diagOnLoad = showPrelim; scriptLoad(url); } } function showPrelim() { hide('loader'); setpos(GE('t_body'),GE('infodiv'),400,10); show('infodiv'); hide('prelimBut'); show('envioBut'); w.scrollTo(0,350); } function hidePrelim() { HTML('t_diag',''); hide('t_diag'); HTML('t_body',''); hide('t_body'); hide('infodiv'); cform.body.style.display=''; hide('envioBut'); show('prelimBut'); cform.body.focus(); setCaretPos(cform.body,0); w.scrollTo(0,250); } function checkNewBand() { if (cform.info_pais.selectedIndex==0 || cform.info_est.selectedIndex==0) { GE('info_button').disabled=true; } else { GE('info_button').disabled=false; GS('info_button').opacity="1"; } } function doneNewBand() { hide('newband'); if (cform.info_pet.value=='P') { if (esPetiz != 1) cform.rola.value='Cargando Canciones?'; var url = EXT_SCRIPT_URL + "?b="+encodeURIComponent(cform.band.value); scriptLoad(url, fillSongList); } else { cform.rola.readOnly=false; cform.rola.focus(); } } var transbuf = null; var transaco = null; function chordCtl() { if (HTML('okaco').substr(0,2) == "No") { transbuf = HTML('t_body'); transaco = cform.acordes.value; HTML('t_body', '
'+cform.body.value+'
'); cform.acordes.value=''; hide('t_diag'); hide('infodiv'); HTML('okaco', "Resaltar
Acordes"); } else { HTML('t_body', transbuf); cform.acordes.value = transaco; show('t_diag'); HTML('okaco', "No Resaltar
Acordes"); } } function formSend() { GE('sendbut').disabled=true; // cform.body.value = HTML('t_body'); cform.info_desc.value = cform.info_desc.value.replace("http://", "uri:"); cform.submit(); } function doCheck() { esPetiz = 1; activo=cform.band; brSend(); }