1function creation_message_prive(inscrit = 2) { 2 3 //alert(document.location.host); 4 raison = ''; 5 message = ''; 6 erreur = 0; 7 Titre = encodeURIComponent($('Titre_0').value.replace(reg, ":;:;:")); 8 Message = encodeURIComponent($('Message_0').value.replace(reg, ":;:;:")); 9 10 Params = new Hash(); 11 12// console.log("test "); 13 var url = '//www.free-scores.com/ajax/message_prive_ajax_en.php'; 14 15 var reg = new RegExp("(\n)", "g"); 16 17 Params.set('type', 1); 18 19 Params.set('pseudocible', $('pseudocible').value); 20 Params.set('titre', Titre); 21 Params.set('message', Message); 22 23 var myAjax = new Ajax.Request( 24 url, 25 { 26 method: 'POST', 27 evalScripts: false, 28 parameters: Params, 29 onLoading: function (xhr) { // Après appel méthode open 30 31 $('newmessagesubmit').disabled = true; 32 $('chargement_comment_0').innerHTML = '<img src="https://img.free-scores.com/IMAGES/ajax-loader.gif" width=15 />'; 33 34 }, 35 onFailure: function (xhr) { // Réponse HTTP != 2xx 36 if (xhr.status === 500) { 37 $('MP').innerHTML = '<div class="orange">Server error (500) : please come back later.</div>'; 38 } else { 39 $('MP').innerHTML = '<div class="orange">Error ' + xhr.status + ' : message not sent.</div>'; 40 } 41 42 }, 43 onSuccess: function (xhr) { 44 45 try { 46 var Reponse = JSON.parse(xhr.responseText); 47 48 if (Reponse.ERR == 0) { 49 $('MP').innerHTML = Reponse.OUTPUT; 50// $('MP').innerHTML = '<div class=vert>Message envoyé</div>'; 51 } 52 else 53 { 54 $('MP').innerHTML = '<div class=orange>Erreur : message not sent</div>'; 55 } 56 } catch (e) { 57 $('MP').innerHTML = '<div class="orange">Invalid server response.</div>'; 58 } 59 60 }, 61 onComplete: function (xhr, json) { 62 $('chargement_comment_0').innerHTML = ''; 63 $('newmessagesubmit').disabled = false; 64 } 65 } 66 ); 67 68} 69var comment_ajax = 1; 70/* 71function ajout_commentaire_partition(Pere_ID, inscrit = 2) { 72 raison = ''; 73 message = ''; 74 erreur = 0; 75 Contenu = encodeURIComponent($('reponse_' + Pere_ID).value.replace(reg, ":;:;:")); 76 77 Params = new Hash(); 78 79 if (inscrit == 0) { 80 if ($('pseudo2').value) { 81 Params.set('pseudo', $('pseudo2').value); 82 } 83 else { 84 raison += "- The pseudo isn't correct\n"; 85 erreur++; 86 } 87 88 if ($('mail').value) { 89 Params.set('mail', $('mail').value); 90 } 91 else { 92 raison += "- The email isn't correct\n"; 93 erreur++; 94 } 95 96 if (!$('condition1').checked) { 97 raison += "- Please accept conditions and terms\n"; 98 erreur++; 99 } 100 101 if ($('code').value) { 102 Params.set('code', $('code').value); 103 } 104 else {
105 raison += "- Please retype code confirmation correctly\n"; 106 erreur++; 107 } 108 109 } 110 else if (inscrit == 1) { 111 112 if ($('pseudo1').value) { 113 Params.set('pseudo', $('pseudo1').value); 114 } 115 else { 116 raison += "- The pseudo isn't correct\n"; 117 erreur++; 118 } 119 120 if ($('passe1').value) { 121 Params.set('passe', $('passe1').value); 122 } 123 else { 124 raison += "- The email isn't correct\n"; 125 erreur++; 126 } 127 } 128 129 if (Contenu == '') { 130 raison += '- The comment is empty\n'; 131 erreur++; 132 } 133 134 if (raison != '') { 135 136 message = 'Please check this error before going forward :\n'; 137 138 message = message + raison; 139 alert(message); 140 141 } 142 143 if (erreur == 0) { 144 if (document.location.host == 'm.free-scores.com') { 145 var url = '//m.free-scores.com/ajax/commentaire_partitions_ajax_uk.php'; 146 } 147 else { 148 var url = '//www.free-scores.com/ajax/commentaire_partitions_ajax_uk.php'; 149 } 150 151 var reg = new RegExp("(\n)", "g"); 152 153 Params.set('comment_ajax', comment_ajax); 154 Params.set('inscrit', inscrit); 155 Params.set('type', 1); 156 157 if (Pere_ID == 0) { 158 if ($('suivi_' + Pere_ID).checked) Params.set('suivi', 1); 159 else 160 Params.set('suivi', 0); 161 } 162 163 Params.set('Pere_ID', Pere_ID); 164 Params.set('pdf', $('clef_part_' + Pere_ID).value); 165 Params.set('comment', Contenu); 166 167 168 var myAjax = new Ajax.Request( 169 url, 170 { 171 method: 'POST', 172 evalScripts: false, 173 parameters: Params, 174 onLoading: function (xhr) { // Après appel méthode open 175 if (inscrit == 0) { 176 $('Inscr_simp2').disabled = true; 177 $('affierr2').innerHTML = '<img src="https://img.free-scores.com/IMAGES/ajax-loader.gif" width=15 />'; 178 $('panneau2').setOpacity(0.5); 179 } 180 else if (inscrit == 1) { 181 $('Inscr_simp1').disabled = true; 182 $('affierr1').innerHTML = '<img src="https://img.free-scores.com/IMAGES/ajax-loader.gif" width=15 />'; 183 $('panneau1').setOpacity(0.5); 184 } 185 else if (inscrit == 2) { 186 if (Pere_ID) { 187 $('input_' + Pere_ID).disabled = true; 188 $('chargement_comment_' + Pere_ID).innerHTML = '<img src="https://img.free-scores.com/IMAGES/ajax-loader.gif" width=15 />'; 189 } 190 else { 191 $('input_0').disabled = true; 192 $('chargement_comment_0').innerHTML = '<img src="https://img.free-scores.com/IMAGES/ajax-loader.gif" width=15 />'; 193 } 194 } 195 196 }, 197 onFailure: function (xhr) { // Réponse HTTP != 2xx 198 199 }, 200 onSuccess: function (xhr) { 201 202 if (Pere_ID) { 203 Add = xhr.responseText; 204 $('chargement_comment_' + Pere_ID).innerHTML = ''; 205 $('Append_' + Pere_ID).insert({ bottom: Add }); 206 $('div_reponse_' + Pere_ID).hide(); 207 $('comment_' + comment_ajax).appear({ 'duration': 2 }); 208 $('reponse_' + Pere_ID).value = ''; 209 comment_ajax++; 210 } 211 else { 212 if (inscrit == 2) $('chargement_comment_0').innerHTML = ''; 213 Add = xhr.responseText; 214 215 var Reponse = eval("(" + Add + ")"); 216 217 218 if (Reponse.ERR == 0) { 219 $('reponse_0').value = ''; 220 gestionClic_comment(0, 'new'); 221 $('message_0').hide(); 222 $('message_0').appear({ 'duration': 2 }); 223 224 if (inscrit == 2 && $('ajout_comment_apres')) { 225 $('ajout_comment_apres').show(); 226 $('ajout_comment_apres').highlight({ startcolor: '#99CC99', endcolor: '#F
226FFBEA', restorecolor: '#FFFBEA', duration: 1 }); 227 228 //$('ajout_comment').hide(); 229 } 230 231 if (Reponse.CONNEXION == 1 || Reponse.CONNEXION == 2) { 232 $('Inscr_simp1').disabled = true; 233 $('Inscr_simp2').disabled = true; 234 235 if (Reponse.CONNEXION == 2) { 236 message = '<div class=vert>new member connected<br />comment sent</div>'; 237 //$('panneau_inscription').innerHTML=message; 238 $('panneau_inscription').fade({ duration: 1, from: 0, to: 1 }); 239 $('panneau_inscription').innerHTML = message + "<div align=center><input type='button' value='Send' id='input_0' onClick='ajout_commentaire_partition(0, 2);' align=absmiddle /><span id='chargement_comment_0' style='display: none;'></span></div>"; 240 $('panneau_inscription').show(); 241 } 242 else if (Reponse.CONNEXION == 1) { 243 message = '<div class=vert>successful connection<br />comment sent</div>'; 244 //$('panneau_inscription').innerHTML=message; 245 $('panneau_inscription').fade({ duration: 1, from: 0, to: 1 }); 246 $('panneau_inscription').innerHTML = message + "<div align=center><input type='button' value='Send' id='input_0' onClick='ajout_commentaire_partition(0, 2);' align=absmiddle /><span id='chargement_comment_0' style='display: none;'></span></div>"; 247 $('panneau_inscription').show(); 248 } 249 } 250 comment_ajax++; 251 } 252 else { 253 if (inscrit == 1) { 254 if (Reponse.ERR == 1 || Reponse.ERR == 3 || Reponse.ERR == 4) { 255 message = '<div class=rouge>Incorrect pseudo or password<br><a href=//www.free-scores.com/espace-membres-uk/pdf_recuppass.php class=noir target=_blank><font size=1>Forgotten your password, click here</font></a></div>'; 256 } 257 else if (Reponse.ERR == 11) { 258 message = '<div class=rouge>pseudo not filled</div>'; 259 } 260 else if (Reponse.ERR == 12) { 261 message = '<div class=rouge>password not filled</div>'; 262 } 263 else if (Reponse.ERR == 17) { 264 message = '<div class=rouge>Comment not filled</div>'; 265 } 266 $('affierr1').innerHTML = ''; 267 } 268 else if (inscrit == 0) { 269 if (Reponse.ERR == 13) { 270 message = '<div class=rouge>Mail not filled</div>'; 271 } 272 else if (Reponse.ERR == 14) { 273 message = '<div class=rouge>Incorrect mail</div>'; 274 } 275 else if (Reponse.ERR == 15) { 276 message = '<div class=rouge>Incorrect pseudo</div>'; 277 } 278 else if (Reponse.ERR == 17) { 279 message = '<div class=rouge>message not filled</div>'; 280 } 281 else if (Reponse.ERR == 18) { 282 message = '<div class=rouge>The code isn\'t correctly typed </div>'; 283 } 284 $('affierr2').innerHTML = ''; 285 } 286 } 287 288 } 289 290 }, 291 onComplete: function (xhr, json) { 292 if (inscrit == 0) { 293 if ($('panneau2')) { 294 $('panneau2').setOpacity(1); 295 $('affierr2').innerHTML = message; 296 } 297 if ($('Inscr_simp2')) { 298 $('Inscr_simp2').disabled = false; 299 } 300 } 301 else if (inscrit == 1) { 302 if ($('panneau1')) { 303 $('panneau1').setOpacity(1); 304 $('affierr1').innerHTML = message; 305 } 306 if ($('Inscr_simp1')) { 307 $('Inscr_simp1').disabled = false; 308 } 309 } 310 else if (inscrit == 2) { 311 if (('input_' + Pere_ID)) { 312 $('input_' + Pere_ID).disabled = false; 313 } 314 // Requête totalement terminée 315 } 316 317 } 318 } 319 ); 320 321 } 322 323} 324*/ 325 326 327function update_commentaire_partition(ID) { 328 raison = ''; 329 erreur = 0; 330 331 if (raison != '') { 332 333 message = 'Please correct the following point to continue :\n'; 334 335 message = message + raison; 336 alert(message); 337 338 } 339 340 if (erreur == 0) { 341 var url = '//www.free-scores.com/ajax/commentaire_partitions_ajax_uk.php'; 342 343 Params = new Hash(); 344 345 // var reg = new RegExp("(\n)", "g"); 346 347 Params.set('comment_ajax', comment_ajax); 348 Params.set('type', 5); 349 Params.set('ID', ID); 350 Params.set('pdf', $('pdf').value); 351 Params.set('comment', encodeURIComponent($('textarea_' + ID).value)); 352 353 var myAjax = new Ajax.Request( 354 url, 355 { 356 method: 'POST', 357 evalScripts: false, 358 parameters: Params, 359 onLoading: function (xhr) { // Après appel méthode open 360 361 }, 362 onFailure: function (xhr) { // Réponse HTTP != 2xx 363 }, 364 onSuccess: function (xhr) { 365 Update = xhr.responseText; 366 if (ID) { 367 $('message_contenu_' + ID).innerHTML = Update; 368 } 369 370 } 371 372 } 373 ); 374 375 } 376 377} 378 379function suivi_discussion(Message_ID, etat) { 380 var url = '//www.free-scores.com/ajax/commentaire_partitions_ajax_uk.php'; 381 382 Params = new Hash(); 383 384 if (etat) { 385 etat = 1; 386 inv = 0; 387 Params.set('type', 7);
388 } 389 else { 390 etat = 0; 391 inv = 1; 392 Params.set('type', 6); 393 } 394 Params.set('ID', Message_ID); 395 396 cache = $('suivi_disc_' + Message_ID + '_' + inv).innerHTML; 397 398 var myAjax = new Ajax.Request( 399 url, 400 { 401 method: 'POST', 402 evalScripts: false, 403 parameters: Params, 404 onLoading: function (xhr) { 405 $('suivi_disc_' + Message_ID + '_' + inv).innerHTML = "<img src='https://img.free-scores.com/IMAGES/ajax-loader.gif' width='15' />"; 406 }, 407 onFailure: function (xhr) { // Réponse HTTP != 2xx 408 }, 409 onSuccess: function (xhr) { 410 res = xhr.responseText; 411 if (res == 'ok') { 412 if (etat) { 413 $('suivi_disc_' + Message_ID + '_' + inv).innerHTML = cache; 414 $('suivi_disc_' + Message_ID + '_1').show(); 415 $('suivi_disc_' + Message_ID + '_0').hide(); 416 //$('suivi_disc_' + Message_ID + '_' + etat).fade({ 'duration' : 1 }); 417 } 418 else { 419 $('suivi_disc_' + Message_ID + '_' + inv).innerHTML = cache; 420 $('suivi_disc_' + Message_ID + '_1').hide(); 421 $('suivi_disc_' + Message_ID + '_0').show(); 422 //$('neplussuivre_' + Message_ID).fade({ 'duration' : 1 }); 423 } 424 425 UnTip(); 426 } 427 428 } 429 430 } 431 ); 432} 433 434function suivi_membrediscussion(Membre_ID, etat) { 435 var url = '//www.free-scores.com/ajax/commentaire_partitions_ajax_uk.php'; 436 437 Params = new Hash(); 438 439 if (etat) { 440 etat = 1; 441 inv = 0; 442 Params.set('type', 11); 443 } 444 else { 445 etat = 0; 446 inv = 1; 447 Params.set('type', 10); 448 } 449 Params.set('Membre_ID_PC', Membre_ID); 450 451 cache = $('suivi_memdisc_' + Membre_ID + '_' + inv).innerHTML; 452 453 var myAjax = new Ajax.Request( 454 url, 455 { 456 method: 'POST', 457 evalScripts: false, 458 parameters: Params, 459 onLoading: function (xhr) { 460 $('suivi_memdisc_' + Membre_ID + '_' + inv).innerHTML = "<img src='https://img.free-scores.com/IMAGES/ajax-loader.gif' width='15' />"; 461 }, 462 onFailure: function (xhr) { // Réponse HTTP != 2xx 463 }, 464 onSuccess: function (xhr) { 465 res = xhr.responseText; 466 if (res == 'ok') { 467 if (etat) { 468 $('suivi_memdisc_' + Membre_ID + '_' + inv).innerHTML = cache; 469 $('suivi_memdisc_' + Membre_ID + '_1').show(); 470 $('suivi_memdisc_' + Membre_ID + '_0').hide(); 471 } 472 else { 473 $('suivi_memdisc_' + Membre_ID + '_' + inv).innerHTML = cache; 474 $('suivi_memdisc_' + Membre_ID + '_1').hide(); 475 $('suivi_memdisc_' + Membre_ID + '_0').show(); 476 } 477 478 UnTip(); 479 } 480 481 } 482 483 } 484 ); 485} 486 487function suivi_partition_discussion(Partition_ID, etat) { 488 var url = '//www.free-scores.com/ajax/commentaire_partitions_ajax_uk.php'; 489 490 Params = new Hash(); 491 492 if (etat) { 493 etat = 1; 494 inv = 0; 495 Params.set('type', 9); 496 } 497 else { 498 etat = 0; 499 inv = 1; 500 Params.set('type', 8); 501 } 502 Params.set('ID', Partition_ID); 503 504 cache = $('suivi_partdisc_' + Partition_ID + '_' + inv).innerHTML; 505 506 var myAjax = new Ajax.Request( 507 url, 508 { 509 method: 'POST', 510 evalScripts: false, 511 parameters: Params, 512 onLoading: function (xhr) { 513 $('suivi_partdisc_' + Partition_ID + '_' + inv).innerHTML = "<img src='https://img.free-scores.com/IMAGES/ajax-loader.gif' width='15' />"; 514 }, 515 onFailure: function (xhr) { // Réponse HTTP != 2xx 516 }, 517 onSuccess: function (xhr) { 518 res = xhr.responseText; 519 if (res == 'ok') { 520 if (etat) { 521 $('suivi_partdisc_' + Partition_ID + '_' + inv).innerHTML = cac
521he; 522 $('suivi_partdisc_' + Partition_ID + '_1').show(); 523 $('suivi_partdisc_' + Partition_ID + '_0').hide(); 524 } 525 else { 526 $('suivi_partdisc_' + Partition_ID + '_' + inv).innerHTML = cache; 527 $('suivi_partdisc_' + Partition_ID + '_1').hide(); 528 $('suivi_partdisc_' + Partition_ID + '_0').show(); 529 } 530 531 UnTip(); 532 } 533 534 } 535 536 } 537 ); 538} 539 540function gestionClic_comment(start, ordrepar) { 541 var compteurRequetesEnCours = 0; 542 var url = '//www.free-scores.com/ajax/commentaire_partitions_ajax_uk.php'; 543 544 Params = new Hash(); 545 546 if ($('pdf')) { 547 Params.set('pdf', $('pdf').value); 548 } 549 550 if ($('langue_site')) { 551 Params.set('langue_site', $('langue_site').value); 552 } 553 554 if ($('verbose')) { 555 Params.set('verbose', $('verbose').value); 556 } 557 558 if ($('nombre_avis')) { 559 Params.set('nombre_avis', $('nombre_avis').value); 560 } 561 562 Params.set('start', start); 563 Params.set('ordrepar', ordrepar); 564 565 var myAjax = new Ajax.Request( 566 url, 567 { 568 parameters: Params, 569 evalScripts: false, 570 method: 'post', 571 onLoading: function (xhr) { 572 Element.show('chargement_comment'); 573 compteurRequetesEnCours++; 574 }, 575 onSuccess: function (xhr) { 576 Add = xhr.responseText; 577 if (start) { 578 $('resultat_comment').insert({ bottom: Add }); 579 } 580 else { 581 $('resultat_comment').innerHTML = Add; 582 } 583 584 if (Add) { 585 586 } 587 else { 588 $('more_comment').innerHTML = ""; 589 } 590 591 }, 592 593 onComplete: function () { 594 if (!--compteurRequetesEnCours) { 595 Element.hide('chargement_comment'); 596 } 597 598 } 599 }); 600} 601 602/* 603var modifier_commentaire = function (ID) { 604 605 if (!$('textarea_' + ID)) { 606 Params = new Hash(); 607 608 Params.set('ID', ID); 609 Params.set('type', 2); 610 611 cache = $('message_contenu_' + ID).innerHTML; 612 613 //Params.set('comment', encodeURIComponent($('textarea_' + ID).value.replace(reg,":;:;:"))); 614 var reg = new RegExp("(<br>)", "g"); 615 var reg2 = /<span itemprop="description">(.*)<\/span>/g; 616 617 $('message_contenu_' + ID).innerHTML = "<textarea cols=40 rows=4 id='textarea_" + ID + "'>" + cache.replace(reg2, "$1").replace(reg, "\n") + "</textarea><br /><input type=button name='change' value='change' onClick=\"update_commentaire_partition(" + ID + " );return false;\" /> or <a href='#' onClick=\"$('message_contenu_' + " + ID + ").innerHTML=decodeURIComponent('" + encodeURIComponent(cache).replace(/'/g, "%27") + "');return false;\">Cancel</a> "; 618 619 } 620 621} 622*/ 623 624var supprimer_commentaire_partition = function (ID) { 625 626 if (confirm('Are you sure to delete this comment ?')) { 627 var url = '//www.free-scores.com/ajax/commentaire_partitions_ajax_uk.php'; 628 629 Params = new Hash(); 630 631 Params.set('type', 3); 632 Params.set('ID', ID); 633 Params.set('pdf', $('pdf').value); 634 635 var myAjax = new Ajax.Request( 636 url, 637 { 638 method: 'POST', 639 evalScripts: false, 640 parameters: Params, 641 onLoading: function (xhr) { // Après appel méthode open 642 643 }, 644 onFailure: function (xhr) { // Réponse HTTP != 2xx 645 646 }, 647 onSuccess: function (xhr) { 648 Resultat = xhr.responseText; 649 if (Resultat == 'ok') { 650 if ($('entete_' + ID)) { 651 $('entete_' + ID).fade({ 'duration': 2 }); 652 } 653 $('message_' + ID).fade({ 'duration': 2 }); 654 } 655 else { 656 657 } 658 659 }, 660 onComplete: function (xhr, json) { 661 662 } 663 } 664 ); 665 666 } 667 668} 669 670var valider_commentaire_partition = function (ID) { 671 672 var url = '//www.free-scores.com/ajax/commentaire_partitions_ajax_uk.php'; 673 674 Params = new Hash(); 675 676 Params.set('type', 4); 677 Params.set('ID', ID); 678 Params.set('pdf', $('pdf').value); 679 680 var myAjax = new Ajax.Request( 681 url, 682 { 683 method: 'POST', 684 evalScripts: false, 685 parameters: Params, 686 onLoading: function (xhr) { // Après appel méthode open 687 // $('chargement_comment_' + Pere_ID).show(); 688 689 }, 690 onFailure: function (xhr) { // Réponse HTTP != 2xx 691 // $('Etat_MJ').innerHTML = '<img src=\"//img.dailyfriends.com/point_rouge.png\" />'; 692 693 }, 694 onSuccess: function (xhr) { 695 Resultat = xhr.responseText; 696 if (Resultat == 'ok') { 697 $('nouveau_' + ID).innerHTML = ' <span style="color:#339933;">validated</span> '; 698 $('nouveau_' + ID).fade({ 'duration': 2 }); 699 $('message_contenu_' + ID).style.backgroundColor = '#FFF'; 700 UnTip(); 701 } 702 703 } 704 705 } 706 ); 707 708} 709 710function popup_signin(event) { 711 712 a = event.memo.identity.split('_'); 713 714 if (document.location.host == 'm.free-scores.com') { 715 var url = '//m.free-scores.com/espace-membres-uk/index.php?modal=1'; 716 } 717 else { 718 var url = '//www.free-scores.com/espace-membres-uk/index.php?modal=1'; 719 } 720 721 if (a[0] == 'difficulty' || a[0] == 'starrating') { 722 if (a[3]) { 723 url = url + '&url=' + encodeURIComponent('https://www.free-scores.com/sheetmusic?p=' + a[3]); 724 } 725 else { 726 url = url + '&url=' + encodeURIComponent('https://www.free-scores.com/download-sheet-music.php?pdf=' + a[2]); 727 } 728 } 729 730 // alert(url); 731 return hs.htmlExpand(this, { src: url, objectType: 'iframe', width: 900, height: 490, anchor: 'left', align: 'center', headingText: 'Please login or sign up' });
732 733} 734 735function starboxRatedText(event) { 736 var indicator = this.down('.indicator'); 737 var url = '//www.free-scores.com/ajax/starrating_ajax_uk.php'; 738 739 var myAjax = new Ajax.Request(url, { 740 parameters: event.memo, 741 onComplete: function () { $('bcs').show(); }, 742 onFailure: function () { }, 743 onLoading: function () { } 744 }); 745 746 747 this.starboxResetText = 'Thank for rating!'; 748} 749 750function starboxRatedText2(event) { // sur include_haut_fr_jaune.php 751 var indicator = this.down('.indicator'); 752 var url = '//www.free-scores.com/ajax/starrating_ajax_uk.php'; 753 754 var myAjax = new Ajax.Request(url, { 755 parameters: event.memo, 756 onSuccess: function (xhr) { 757 var res = event.memo.identity.split("_"); 758 Add = xhr.responseText; 759 760 if (!Add) { 761 $(event.memo.identity).starboxResetText = 'Thank you for your contribution!'; 762 $(event.memo.identity).down('.indicator').update('Thank you for your contribution!'); 763 } 764 else if (Add == 1) { 765 var request_uri = location.pathname + location.search; 766 $(event.memo.identity).starboxResetText = '<a href="https://www.free-scores.com/espace-membres-uk/?starrating=' + res[2] + '&rated=' + event.memo.rated + '&url=https://www.free-scores.com' + request_uri + '" class="dp">Login to contribute!</a>'; 767 $(event.memo.identity).down('.indicator').update('<a href="https://www.free-scores.com/espace-membres-uk/?starrating=' + res[2] + '&rated=' + event.memo.rated + '&url=https://www.free-scores.com' + request_uri + '" class="dp">Login to contribute!</a>'); 768 769 770 } 771 else if (Add == 2) { 772 $(event.memo.identity).starboxResetText = 'Unable to rate your own scores!'; 773 $(event.memo.identity).down('.indicator').update('Unable to rate your own scores!'); 774 } 775 }, 776 onComplete: function () { $('bcs').show(); }, 777 onFailure: function () { }, 778 onLoading: function () { } 779 }); 780 781 //this.starboxResetText = 'Merci pour votre contribution!'; 782 783} 784 785function starboxLeftText() { 786 this.down('.indicator').update(this.starboxResetText || ''); 787} 788 789function diffboxRatedText(event) { 790 var indicator = this.down('.indicator'); 791 // this.starboxResetText = indicator.innerHTML; 792 var url = '//www.free-scores.com/ajax/difficulty_ajax_uk.php'; 793 794 var myAjax = new Ajax.Request(url, { 795 parameters: event.memo, 796 onComplete: function () { $('bcd').show(); }, 797 onFailure: function () { }, 798 onLoading: function () { } 799 }); 800 801 802 this.starboxResetText = 'Thank for rating!'; 803} 804// here we restore the indicator on mouseout, if needed 805function starboxLeftText() { 806 this.down('.indicator').update(this.starboxResetText || ''); 807} 808 809function starboxChangedText(event) { 810 var indicator = this.down('.indicator'), 811 pick = (event.memo.rating || 0).round() - 1, 812 indicator = this.down('.indicator'); 813 814 // for restoring, store the indicator text on the star if it was not set before. 815 this.starboxResetText = this.starboxResetText || indicator.innerHTML; 816 817 this.down('.indicator').update([ 818 'Poor', 819 'Nothing special', 820 'Worth watching', 821 'Pretty cool', 822 'Awesome!' 823 ][pick]); 824} 825 826function diffboxChangedText(event) { 827 var indicator = this.down('.indicator'), 828 pick = (event.memo.rating || 0).round() - 1, 829 indicator = this.down('.indicator'); 830 831 // for restoring, store the indicator text on the star if it was not set before. 832 this.starboxResetText = this.starboxResetText || indicator.innerHTML; 833 834 this.down('.indicator').update([ 835 'Very easy', 836 'easy', 837 'medium', 838 'Hard', 839 'Very hard' 840 ][pick]); 841} 842 843function commentaire_rapide(Partition_ID, Message_ID, Contenu) { 844 845 if ($('CR_IHM').innerHTML == '') { 846 Temp = '<div style="text-align:left;padding:8px;">'; 847 848 Temp += '<b>'; 849 Temp += 'Write a comment on this sheet music'; 850 Temp += '</b>'; 851 852 Temp += '</div>'; 853 854 Temp += '<div style="text-align:center;">'; 855 856 Temp += '<textarea id="RR_Message" style="resize:vertical; max-height:400px; min-height:150px;min-width:350px;"></textarea>'; 857 Temp += '</div>'; 858 Temp += '<input id="suivi" type="checkbox" value=1 checked />\n'; 859 860 Temp += '<label for="suivi"><font class=dp>follow this topic</font></label>\n'; 861 Temp += '<br />'; 862 Temp += '<div id="choix" style="text-align:center;">'; 863 Temp += '<input type="button" id="newmessagesubmit" '; 864 Temp += 'value="Send"'; 865 Temp += ' onClick="validation_RRJ();" /> '; 866 Temp += 'or'; 867 Temp += ' <a href="#" onClick="RR_fermer_fenetre();return false;">'; 868 Temp += 'cancel'; 869 Temp += '</a>'; 870 Temp += '<span id="wait">'; 871 Temp += '</span>'; 872 Temp += ''; 873 Temp += '</div>'; 874 875 876 $('CR_IHM').innerHTML = Temp; 877 } 878 879 if ($('CR_IHM').visible()) { 880 RR_fermer_fenetre(); 881 } 882 else { 883 $('CR_IHM').show(); 884 } 885 886} 887 888function RR_fermer_fenetre() { 889 $('CR_IHM').innerHTML = ''; 890 $('CR_IHM').hide(); 891} 892 893function validation_RRJ() { 894 raison = ''; 895 erreur = 0; 896
897 check_message($('RR_Message')); 898 899 if (raison != '') { 900 901 message = 'Please correct the following point to continue :\n'; 902 903 message = message + raison; 904 alert(message); 905 906 } 907 908 if (erreur == 0) { 909 var url = '//www.free-scores.com/ajax/commentaire_partitions_ajax_uk.php'; 910 911 Params = new Hash(); 912 913// var reg = new RegExp("(\n)", "g"); 914 Contenu = encodeURIComponent($('RR_Message').value); 915 916 Params.set('comment_ajax', comment_ajax); 917 Params.set('inscrit', 2); 918 Params.set('type', 1); 919 if ($('suivi').checked) Params.set('suivi', 1); 920 else 921 Params.set('suivi', 0); 922 Params.set('Pere_ID', 0); 923 Params.set('pdf', $('clef_part').value); 924 Params.set('comment', Contenu); 925 926 var myAjax = new Ajax.Request(url, 927 { 928 method: 'POST', 929 evalScripts: false, 930 parameters: Params, 931 onLoading: function (xhr) { // Après appel méthode open 932 $('newmessagesubmit').disabled = true; 933 $('wait').innerHTML = '<img src="https://img.free-scores.com/IMAGES/ajax-loader.gif" width=15 />'; 934 $('choix').setOpacity(0.5); 935 }, 936 onFailure: function (xhr) { // Réponse HTTP != 2xx 937 // $('Etat_MJ').innerHTML = '<img src=\"<? echo $CONFIG['base_url_IMG'];?>/point_rouge.png\" />'; 938 $('CR_IHM').innerHTML = '<div class="rouge">Bug : your comment hasn\'t be added</div>'; 939 $('CR_IHM').fade({ duration: 2, from: 1, to: 0 }); 940 941 }, 942 onSuccess: function (xhr) { 943 $('CR_IHM').innerHTML = '<div class="vert">Your comment has been added</div>'; 944 $('CR_IHM').fade({ duration: 2, from: 1, to: 0 }); 945 }, 946 onComplete: function (xhr, json) { // Requête totalement terminée 947 $('newmessagesubmit').disabled = false; 948 $('wait').innerHTML = ''; 949 $('choix').setOpacity(1); 950 951 } 952 } 953 ); 954 955 } 956 957} 958 959function check_message(box_Message) { 960 961 if (box_Message.value == '') { 962 raison = raison + " - Your message is empty !\n"; 963 box_Message.className = 'form_en_rouge'; 964 erreur++; 965 } 966 else { 967 box_Message.className = ''; 968 } 969} 970 971function check_titre(box_Message) { 972 973 if (box_Message.value == '') { 974 raison = raison + " - Your title is empty !\n"; 975 box_Message.className += ' form_en_rouge'; 976 erreur++; 977 } 978 else { 979 box_Message.className = ''; 980 } 981} 982 983var ResizingTextArea = Class.create(); 984 985ResizingTextArea.prototype = { 986 defaultRows: 1, 987 988 initialize: function (field) { 989 this.defaultRows = Math.max(field.rows, 1); 990 this.resizeNeeded = this.resizeNeeded.bindAsEventListener(this); 991 Event.observe(field, "click", this.resizeNeeded); 992 Event.observe(field, "keyup", this.resizeNeeded); 993 }, 994 995 resizeNeeded: function (event) { 996 var t = Event.element(event); 997 var lines = t.value.split('\n'); 998 var newRows = lines.length + 1; 999 var oldRows = t.rows; 1000 for (var i = 0; i < lines.length; i++) { 1001 var line = lines[i]; 1002 if (line.length >= t.cols) newRows += Math.floor(line.length / t.cols); 1003 } 1004 if (newRows > t.rows) t.rows = newRows; 1005 if (newRows < t.rows) t.rows = Math.max(this.defaultRows, newRows); 1006 } 1007} 1008 1009function validation_MP(Avectitre) { 1010 raison = ''; 1011 erreur = 0; 1012 // alert(document.forms.formulaire_newmessage.Message.value); 1013 if (Avectitre) check_titre(document.forms.formulaire_newmessage.Titre); 1014 check_message(document.forms.formulaire_newmessage.Message); 1015 1016 if (raison != '' && erreur > 0) { 1017 message = 'Please check these verifications in order to continue :\n'; 1018 1019 message = message + raison; 1020 alert(message); 1021 1022 } 1023 1024 if (erreur == 0) { 1025 $('newmessagesubmit').disabled = true; 1026 $('newmessagesubmit').value = 'Sending in progress...'; 1027 $('newmessagesubmit').pulsate(); 1028 document.forms.formulaire_newmessage.submit(); 1029 } 1030 1031} 1032 1033function CheckAllINBOX() { 1034 1035 IN = document.FormMsgsINBOX.check_all.checked; 1036 1037 for (var i = 0; i < document.FormMsgsINBOX.elements.length; i++) { 1038 if (document.FormMsgsINBOX.elements[i].value == 1) { 1039 document.FormMsgsINBOX.elements[i].checked = IN; 1040 new Effect.Highlight(document.FormMsgsINBOX.elements[i].parentNode, { startcolor: '#ffff99', endcolor: '#F5F5F5' }); 1041 } 1042 } 1043 1044} 1045 1046function ouvrirModalCommentaire() { 1047 var modal = document.getElementById('modal-commentaire'); 1048 if (!modal) return; 1049// document.getElementById('modal-reponse-0').value = ''; 1050 document.getElementById('modal-char-count').textContent = '0 character'; 1051 document.getElementById('modal-erreur').style.display = 'none'; 1052 modal.style.display = 'flex'; 1053 setTimeout(function() { 1054 document.getElementById('modal-reponse-0').focus(); 1055 }, 80); 1056 document.addEventListener('keydown', modalKeyHandler); 1057} 1058 1059function fermerModalCommentaire() { 1060 var modal = document.getElementById('modal-commentaire'); 1061 if (modal) modal.style.display = 'none'; 1062 document.removeEventListener('keydown', modalKeyHandler); 1063} 1064 1065function modalKeyHandler(e) { 1066 if (e.key === 'Escape') fermerModalCommentaire(); 1067} 1068 1069function modalUpdateCount(ta) { 1070 var n = ta.value.length; 1071 var el = document.getElementById('modal-char-count'); 1072 if (el) el.textContent = n + (n > 1 ? ' characters' : ' character'); 1073} 1074 1075 1076function modalSoumettreCommentaire() { 1077 var ta = document.getElementById('modal-reponse-0'); 1078 var errEl = document.getElementById('modal-erreur'); 1079 var btn = document.getElementById('modal-submit-btn'); 1080 var loader = document.getElementById('modal-loader'); 1081 var label = document.getElementById('modal-submit-label'); 1082 1083 errEl.style.display = 'none'; 1084 1085 if (!ta.value.trim()) {
1086 errEl.textContent = 'Votre commentaire est vide.'; 1087 errEl.style.display = 'block'; 1088 ta.focus(); 1089 return; 1090 } 1091 1092 var clefPart = document.getElementById('modal-clef-part') 1093 || document.getElementById('clef_part_0'); 1094 if (!clefPart || !clefPart.value) { 1095 errEl.textContent = 'Error : Sheet music not found.'; 1096 errEl.style.display = 'block'; 1097 return; 1098 } 1099 1100 var suivi = document.getElementById('modal-suivi-0'); 1101 1102 btn.disabled = true; 1103 label.textContent = 'In progressâ¦'; 1104 loader.style.display = 'inline'; 1105 1106// var reg = new RegExp("(\n)", "g"); 1107 var contenu = encodeURIComponent(ta.value); 1108 1109 var Params = new Hash(); 1110 Params.set('comment_ajax', comment_ajax); 1111 Params.set('type', 1); 1112 Params.set('suivi', (suivi && suivi.checked) ? 1 : 0); 1113 Params.set('Pere_ID', 0); 1114 Params.set('pdf', clefPart.value); 1115 Params.set('comment', contenu); 1116 1117 new Ajax.Request('//www.free-scores.com/ajax/commentaire_partitions_ajax_uk.php', { 1118 method: 'POST', 1119 evalScripts: false, 1120 parameters: Params, 1121 1122 onSuccess: function(xhr) { 1123 try { 1124 var Reponse = JSON.parse(xhr.responseText); 1125 if (Reponse.ERR == 0) { 1126 // Vider le textarea et fermer 1127 ta.value = ''; 1128 document.getElementById('modal-char-count').textContent = '0 character'; 1129 fermerModalCommentaire(); 1130 1131 // Rafraîchir la liste des commentaires 1132 gestionClic_comment(0, 'new'); 1133 1134 // Afficher le bandeau de confirmation si présent 1135 var apres = $('ajout_comment_apres'); 1136 if (apres) { 1137 apres.show(); 1138 if (apres.highlight) { 1139 apres.highlight({ 1140 startcolor: '#99CC99', 1141 endcolor: '#FFFBEA',
1142 restorecolor: '#FFFBEA', 1143 duration: 1 1144 }); 1145 } 1146 } 1147 1148 comment_ajax++; 1149 } else { 1150 errEl.textContent = 'Error : comment not sent.'; 1151 errEl.style.display = 'block'; 1152 } 1153 1154} catch(e) { 1155 errEl.textContent = 'Invalid server response.'; 1156 errEl.style.display = 'block'; 1157 } 1158 }, 1159 1160 onFailure: function(xhr) { 1161 errEl.textContent = 'Network error (' + xhr.status + '). Please try again.'; 1162 errEl.style.display = 'block'; 1163 }, 1164 1165 onComplete: function() { 1166 btn.disabled = false; 1167 label.textContent = 'Poster'; 1168 loader.style.display = 'none'; 1169 } 1170 }); 1171} 1172 1173// Fermer le modal en cliquant sur l'overlay 1174document.addEventListener('DOMContentLoaded', function() { 1175 var modal = document.getElementById('modal-commentaire'); 1176 if (modal) { 1177 modal.addEventListener('click', function(e) { 1178 if (e.target === modal) fermerModalCommentaire(); 1179 }); 1180 } 1181}); 1182 1183 1184function ouvrirModalReponse(pereId, pseudoCible) { 1185 var modal = document.getElementById('modal-reponse'); 1186 if (!modal) return; 1187 1188 // Mémoriser le Pere_ID 1189 document.getElementById('modal-reponse-pere-id').value = pereId; 1190 1191 // Afficher le destinataire dans le titre 1192 var dest = document.getElementById('modal-reponse-destinataire'); 1193 if (dest) dest.textContent = pseudoCible || ''; 1194 1195 // Chercher le texte du commentaire parent pour la citation 1196 var citation = document.getElementById('modal-reponse-citation'); 1197 var contenuParent = document.getElementById('message_contenu_' + pereId); 1198 if (citation && contenuParent) { 1199 var html = contenuParent.innerHTML 1200 .replace(/<br\s*\/?>/gi, '\n') // <br> â saut de ligne réel 1201 .replace(/<[^>]+>/g, '') // strip toutes les autres balises 1202 .trim(); 1203 1204 if (html) { 1205 // Réinjecter avec de vrais <br> pour l'affichage 1206 var htmlAvecBr = html 1207 .substring(0, 200) 1208 .replace(/\n/g, '<br>') 1209 + (html.length > 200 ? 'â¦' : ''); 1210 1211 citation.innerHTML = htmlAvecBr; 1212 citation.style.display = 'block'; 1213 } else { 1214 citation.style.display = 'none'; 1215 } 1216 1217 } 1218 // Reset 1219 document.getElementById('modal-reponse-textarea').value = ''; 1220 document.getElementById('modal-reponse-char-count').textContent = '0 character'; 1221 document.getElementById('modal-reponse-erreur').style.display = 'none'; 1222 1223 modal.style.display = 'flex'; 1224 setTimeout(function() { 1225 document.getElementById('modal-reponse-textarea').focus(); 1226 }, 80); 1227 document.addEventListener('keydown', modalReponseKeyHandler); 1228} 1229 1230function fermerModalReponse() { 1231 var modal = document.getElementById('modal-reponse'); 1232 if (modal) modal.style.display = 'none'; 1233 document.removeEventListener('keydown', modalReponseKeyHandler); 1234} 1235 1236function modalReponseKeyHandler(e) { 1237 if (e.key === 'Escape') fermerModalReponse(); 1238} 1239 1240function modalReponseUpdateCount(ta) { 1241 var n = ta.value.length; 1242 var el = document.getElementById('modal-reponse-char-count'); 1243 if (el) el.textContent = n + (n > 1 ? ' characters' : ' character'); 1244} 1245 1246function modalSoumettreReponse() { 1247 var ta = document.getElementById('modal-reponse-textarea'); 1248 var errEl = document.getElementById('modal-reponse-erreur'); 1249 var btn = document.getElementById('modal-reponse-submit-btn'); 1250 var loader = document.getElementById('modal-reponse-loader'); 1251 var label = document.getElementById('modal-reponse-submit-label'); 1252 var pereId = document.getElementById('modal-reponse-pere-id').value; 1253 var clefPart= document.getElementById('modal-reponse-clef-part').value 1254 || (document.getElementById('clef_part_0') && document.getElementById('clef_part_0').value) 1255 || (document.getElementById('pdf') && document.getElementById('pdf').value); 1256 1257 errEl.style.display = 'none'; 1258 1259 if (!ta.value.trim()) { 1260 errEl.textContent = 'Your answer is empty.'; 1261 errEl.style.display = 'block'; 1262 ta.focus(); 1263 return; 1264 } 1265 if (!pereId || !clefPart) { 1266 errEl.textContent = 'Error: missing data.'; 1267 errEl.style.display = 'block'; 1268 return; 1269 } 1270 1271 btn.disabled = true; 1272 label.textContent = 'In progressâ¦'; 1273 loader.style.display = 'inline'; 1274 1275// var reg = new RegExp("(\n)", "g"); 1276 var contenu = encodeURIComponent(ta.value); 1277 1278 var Params = new Hash(); 1279 Params.set('comment_ajax', comment_ajax); 1280 Params.set('type', 1); 1281 Params.set('Pere_ID', pereId); 1282 Params.set('pdf', clefPart); 1283 Params.set('comment', contenu); 1284 1285 new Ajax.Request('//www.free-scores.com/ajax/commentaire_partitions_ajax_uk.php', { 1286 method: 'POST', 1287 evalScripts: false, 1288 parameters: Params, 1289 1290 onSuccess: function(xhr) { 1291 // La réponse est du HTML brut (pas JSON) quand Pere_ID > 0 1292 var html = xhr.responseText; 1293 if (html) { 1294 // Rafraîchir la liste des commentaires 1295 gestionClic_comment(0, 'new'); 1296 ta.value = ''; 1297 fermerModalReponse(); 1298 } else { 1299 errEl.textContent = 'Error: Response not sent.'; 1300 errEl.style.display = 'block'; 1301 } 1302 }, 1303 1304onFailure: function(xhr) { 1305 errEl.textContent = 'Network error(' + xhr.status + '). Please try again.'; 1306 errEl.style.display = 'block'; 1307 }, 1308 1309 onComplete: function() { 1310 btn.disabled = false; 1311 label.textContent = 'Resply'; 1312 loader.style.display = 'none'; 1313 } 1314 });
1315} 1316 1317// Ouvrir le modal de modification 1318function ouvrirModalModification(ID) { 1319 var modal = document.getElementById('modal-modification'); 1320 1321 // Récupérer le contenu actuel du commentaire 1322 var contenuEl = document.getElementById('message_contenu_' + ID); 1323 if (!contenuEl) return; 1324 1325 // Convertir les <br> en sauts de ligne pour le textarea 1326 var html = contenuEl.innerHTML; 1327 var texte = html 1328 .replace(/<[^>]+>/g, '') // strip les autres balises éventuelles 1329 .trim(); 1330// .replace(/<br\s*\/?>/gi, '\n') 1331 1332 document.getElementById('modal-modification-textarea').value = texte; 1333 document.getElementById('modal-modification-id').value = ID; 1334 document.getElementById('modal-modification-char-count').textContent = texte.length + (texte.length > 1 ? ' characters' : ' character'); 1335 document.getElementById('modal-modification-erreur').style.display = 'none'; 1336 1337 modal.style.display = 'flex'; 1338 setTimeout(function() { 1339 var ta = document.getElementById('modal-modification-textarea'); 1340 ta.focus(); 1341 ta.setSelectionRange(ta.value.length, ta.value.length); 1342 }, 80); 1343 document.addEventListener('keydown', modalModificationKeyHandler); 1344} 1345 1346function fermerModalModification() { 1347 var modal = document.getElementById('modal-modification'); 1348 if (modal) modal.style.display = 'none'; 1349 document.removeEventListener('keydown', modalModificationKeyHandler); 1350} 1351 1352function modalModificationKeyHandler(e) { 1353 if (e.key === 'Escape') fermerModalModification(); 1354} 1355 1356function modalModificationUpdateCount(ta) { 1357 var n = ta.value.length; 1358 var el = document.getElementById('modal-modification-char-count'); 1359 if (el) el.textContent = n + (n > 1 ? ' characters' : ' character'); 1360} 1361 1362function modalSoumettreModification() { 1363 var ta = document.getElementById('modal-modification-textarea'); 1364 var errEl = document.getElementById('modal-modification-erreur'); 1365 var btn = document.getElementById('modal-modification-submit-btn'); 1366 var loader = document.getElementById('modal-modification-loader'); 1367 var label = document.getElementById('modal-modification-submit-label'); 1368 var ID = document.getElementById('modal-modification-id').value; 1369 var clefPart = (document.getElementById('pdf') && document.getElementById('pdf').value) 1370 || (document.getElementById('clef_part_0') && document.getElementById('clef_part_0').value); 1371 1372 errEl.style.display = 'none'; 1373 1374 if (!ta.value.trim()) { 1375 errEl.textContent = 'The comment cannot be empty.'; 1376 errEl.style.display = 'block'; 1377 ta.focus(); 1378 return; 1379 } 1380 if (!ID || !clefPart) { 1381 errEl.textContent = 'Error: missing data.'; 1382 errEl.style.display = 'block'; 1383 return; 1384 } 1385 1386 btn.disabled = true; 1387 label.textContent = 'In progressâ¦'; 1388 loader.style.display = 'inline'; 1389 1390// var reg = new RegExp("(\n)", "g"); 1391// var contenu = encodeURIComponent(ta.value.replace(reg, ":;:;:")); 1392 var contenu = encodeURIComponent(ta.value); 1393 1394 var Params = new Hash(); 1395 Params.set('type', 5); 1396 Params.set('ID', ID); 1397 Params.set('pdf', clefPart); 1398 Params.set('comment', contenu); 1399 1400 new Ajax.Request('//www.free-scores.com/ajax/commentaire_partitions_ajax_uk.php', { 1401 method: 'POST', 1402 evalScripts: false, 1403 parameters: Params, 1404 1405 onSuccess: function(xhr) { 1406 var html = xhr.responseText; 1407 if (html !== null && html !== undefined) { 1408 // Mettre à jour le contenu affiché sans rechargement 1409 var contenuEl = document.getElementById('message_contenu_' + ID); 1410 if (contenuEl) { 1411 contenuEl.innerHTML = '<span class="d">' + html + '</span>'; 1412 1413 // Flash visuel pour signaler la modification 1414 if (typeof Effect !== 'undefined') { 1415 new Effect.Highlight('message_contenu_' + ID, { 1416 startcolor: '#fffbcc', 1417 endcolor: '#ffffff', 1418 duration: 1.2 1419 }); 1420 } 1421 } 1422 fermerModalModification(); 1423 } else { 1424 errEl.textContent = 'Error: change not saved.'; 1425 errEl.style.display = 'block'; 1426 } 1427 }, 1428 1429 onFailure: function(xhr) { 1430 errEl.textContent = 'Network error (' + xhr.status + '). Please try again.'; 1431 errEl.style.display = 'block'; 1432 }, 1433 1434onComplete: function() { 1435 btn.disabled = false; 1436 label.textContent = 'Save'; 1437 loader.style.display = 'none'; 1438 } 1439 });
1440} 1441 1442// Fermer en cliquant sur l'overlay 1443document.addEventListener('DOMContentLoaded', function() { 1444 var modal = document.getElementById('modal-modification'); 1445 if (modal) { 1446 modal.addEventListener('click', function(e) { 1447 if (e.target === modal) fermerModalModification(); 1448 }); 1449 } 1450}); 1451 1452// Fermer en cliquant sur l'overlay 1453document.addEventListener('DOMContentLoaded', function() { 1454 var modal = document.getElementById('modal-reponse'); 1455 if (modal) { 1456 modal.addEventListener('click', function(e) { 1457 if (e.target === modal) fermerModalReponse(); 1458 }); 1459 } 1460}); 1461
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.