/* Currently-active calculators */ const default_set = [ "g25+e2", "g35+e2", "g90+e", "cp400+e" ]; /* Hide or show a calculator, by controlling checkbox */ function toggle_calc(checkbox) { const selector = "#calcdb .calc-" + checkbox.dataset.calc; document.querySelectorAll(selector).forEach(td => { if(checkbox.checked) td.style.display = "table-cell"; else td.style.display = "none"; }); update_permalink(); } /* Select a fixed set set */ function select_set(set) { document.querySelectorAll("#calcdb-checkboxes input").forEach(box => { box.checked = set.includes(box.dataset.name) || set.includes(box.dataset.calc); box.dispatchEvent(new Event("change")); }); update_permalink(); } /* Select all calculators */ function select_all() { document.querySelectorAll("#calcdb-checkboxes input").forEach(box => { box.checked = true; box.dispatchEvent(new Event("change")); }); update_permalink(); } /* Udpate permalink and page URL*/ function update_permalink() { var search = []; document.querySelectorAll("#calcdb-checkboxes input").forEach(box => { if(box.checked) search.push(box.dataset.name); }); var loc = window.location.href.split("?")[0] + "?" + search.join(","); history.pushState({}, "Comparateur Planète Casio", loc); document.getElementById("calcdb-permalink").href = loc; } /* The browser might load the page with some boxes pre-checked because of forms being cached, so upate to make sure the display is consistent */ document.addEventListener('DOMContentLoaded', function() { const query = window.location.search; document.querySelectorAll("#calcdb-checkboxes input").forEach(toggle_calc); /* Also read the query string for a potential fixed set */ if(!query) return; var set = []; query.substr(1).split(",").forEach(name => { if(name == "current") set = set.concat(default_set); else set.push(name); }); select_set(set); }, false); var x = 0; var y = 0; selectbl = new Array; selectbl[0] = "sel"; selectbl[1] = "sel1"; selectbl[2] = "sel2"; selectbl[3] = "sel3"; selectbl[4] = "sel4"; selectbl[5] = "sel5"; selectbl[6] = "sel6"; selectbl[7] = "selform1"; selectbl[8] = "selform2"; selectbl[9] = "selform3"; document.onmousemove = position; function hideselects(){ for(i=0;i'; document.getElementById('infobulle').innerHTML = txt; info.top = (y+10)+"px"; info.left = (x+10)+"px"; if(screen.availWidth <= 1024 && x > 850) info.left = x-80; info.visibility = 'visible'; } function hideinfos() { document.getElementById('infobulle').style.visibility = 'hidden'; showselects(); } function openimg(name,url) { linkimg = window.open(url,name,'resizable=yes,toolbar=no,scrollbar=no,width=50,height=50,top=0,left=0'); } function toggleSpoiler(spoiler, action) { var elements = spoiler.getElementsByTagName('div'); switch(action) { case 'open': elements[0].className = 'title off'; elements[1].className = 'title on'; elements[2].className = 'on'; break; case 'close': elements[0].className = 'title on'; elements[1].className = 'title off'; elements[2].className = 'off'; break; } } $(function() { //Ajout d'un lien sur les images qui sont reduites par min-width var virtualImg = new Image(); $(".news img, .topic img").one('load', function() { virtualImg.src = $(this).attr('src') if($(this).attr('resized')!="true" && $(this).parent().get(0).tagName !="A" && virtualImg.width > $(this).css('max-width').slice(0,-2)) $(this).wrap(''); }).each(function() { if(this.complete) $(this).load(); }); //formulaire de notation des programmes //vars var noteSelectionnee = -1 var LiensNote = $('.PrgmNote').find('div.boutonsNote').children('a') //events LiensNote.click(function() { noteSelectionneUpdate($(this).parent().parent(), $(this).attr('note'), true) return false; }) LiensNote.mouseover(function() { noteSelectionneUpdate($(this).parent().parent(), $(this).attr('note')) }) LiensNote.mouseout(function() { noteSelectionneUpdate($(this).parent().parent()) }) $('.PrgmNote').children("a.retourNote").click(function() { if($('.PrgmNote').children("div").css('display') == 'block') $('.PrgmNote').children("div").css('display','none'); else $('.PrgmNote').children("div").css('display','block'); return false; }) //fonctions noteSelectionneUpdate = function(PrgmNoteDiv, note, clique) { if(note >= 0) { PrgmNoteDiv.find(".note").html(note + '/10') if(clique){ PrgmNoteDiv.find(".note").css('font-weight','bold') PrgmNoteDiv.find(".note").css('font-style','normal') noteSelectionnee = note PrgmNoteDiv.find("select").children('option[selected=selected]').removeAttr('selected') PrgmNoteDiv.find("select").children('option[value=' + note + ']').attr('selected','selected') } else { PrgmNoteDiv.find(".note").css('font-style','italic') PrgmNoteDiv.find(".note").css('font-weight','normal') } } else { if(noteSelectionnee < 0) { PrgmNoteDiv.find(".note").html('') } else { PrgmNoteDiv.find(".note").css('font-weight','bold') PrgmNoteDiv.find(".note").css('font-style','normal') PrgmNoteDiv.find(".note").html(noteSelectionnee + '/10') } } } //init $('.PrgmNote').find("select").css('display','none') $('.PrgmNote').find(".boutonsNote").css('display','block') $('.PrgmNote').children("div").css('display','none') noteSelectionneUpdate($('.PrgmNote'), $('.PrgmNote').find("option[selected]").attr('value'), true) //addthis retardateur var isTimeFinish = false var isOut = true; function timeFinish(that) { isTimeFinish = true that.mouseover() } $('.addthis_button').children('img').mouseenter(function() { if(isTimeFinish) { clearTimeout(timeoutID); return true; } else { timeoutID = setTimeout(function(that){timeFinish(that);}, 200, $(this)); return false; } }) $('.addthis_button').children('img').mouseleave(function() { isTimeFinish = false; clearTimeout(timeoutID); return true; }) //antibot JS pour invité $(document).ready(function(){ $('.messageForm').css('display','block'); $('.messageForm').children('form').append(''); }) //Editeur - namespace:ed //vars var ed_boutons = $('.editeur').find('.boutons').find('img,td,span'); var ed_textarea = $('.editeur').find('textarea'); var ed_pins = $('.editeur').find('.pinhidden,.pinshow'); var ed_cross = $('.editeur').find('.cross'); var ed_inputs = $('.editeur').find('.AskBoxInputText'); var ed_smileys = $('.editeur').find('.ABsmiley').find('td'); //speciale IE $(".editeur").data('isfocused',false); $(".editeur").data('selecStart',0); $(".editeur").data('selecEnd',0); $(".editeur").data('isPinned',false); $(".editeur").data('tag',''); //events $('.editeur').find('.AskBoxBottom').children('img').click(function(){ ed_addtag($(this).closest(".editeur")); }); $('.editeur').find('.ABprofil').click(function(){ var formname = $(this).closest('.editeur').data('formname'); fenetre=window.open('/Fr/compte/liste_des_membres.php?id=ed_'+formname+'_lienMembre','fenetre','resizable=yes,toolbar=no,scrollbars=yes,width=280,height=450,top=0,left=0') }); ed_cross.click(function()//fermeture de toutes les askbox si on clique ailleur { close_AskBox($(this).closest(".editeur"),false); }); $('.editeur').find('.edSelect').change(function(){ var tag = $(this).children('option:checked').val(); if(tag.length > 0) add_text($(this).closest('.editeur').find('textarea'),'['+tag+']', '[/'+tag+']', '') $(this).children('option').removeAttr('selected'); $(this).children('option[value=]').attr('selected','selected'); }); ed_pins.click(function(){ var editeur = $(this).closest(".editeur"); if(editeur.data('isPinned')==false) { editeur.data('isPinned',true); $(this).css('display','none'); $(this).parent().children('.pinshow').css('display','block'); } else { editeur.data('isPinned',false); $(this).css('display','none'); $(this).parent().children('.pinhidden').css('display','block'); } }); ed_boutons.click(function(){ if($(this).data('type')=='text') { add_text($(this).closest(".editeur").find('textarea'), $(this).data('avant'),$(this).data('apres'),$(this).data('valeur')); } else if($(this).data('type')=='askbox') { show_AskBox($(this).closest(".editeur"), $(this).data('name')) } }); ed_smileys.click(function(){ if($(this).data('type')=='text') { add_text($(this).closest(".editeur").find('textarea'), $(this).data('avant'),$(this).data('apres'),$(this).data('valeur')); } else if($(this).data('type')=='askbox') { show_AskBox($(this).closest(".editeur"), $(this).data('name')) } close_AskBox($(this).closest(".editeur")); }); ed_inputs.keypress(function(e) { if(e.which == 13) { ed_addtag($(this).closest(".editeur")); return false; } }); ed_textarea.focus(function(){ $(this).closest(".editeur").data('isfocused',true); }); ed_textarea.blur(function(){ $(this).closest(".editeur").data('isfocused',false); }); //Askbox fonctions //affiche une askbox function show_AskBox(editeur, AskBoxName) { close_AskBox(editeur, false,false); var AskBox = editeur.children('.AskBox'); var actualAskBox = AskBox.children('.AskBoxText.AB'+AskBoxName); var textarea = editeur.find('textarea')[0]; var title = ""; editeur.data('tag',AskBoxName); //Get selected text var selectedText = ''; if(typeof document.selection != 'undefined')//IE support { var range = document.selection.createRange(); selectedText=range.text; } else if(typeof textarea.selectionStart != 'undefined')//Firefox, GC support { selectedText=textarea.value.substring(textarea.selectionStart, textarea.selectionEnd); } //Open the askbox switch(AskBoxName) { case 'url' : var title = "Ajouter un lien"; var focusOn = null; if(selectedText.substring(0,7)=="http://" || selectedText.substring(0,8)=="https://" || selectedText.substring(0,6)=="ftp://") { actualAskBox.find('.AskBoxInputText[name=ed-urlLien]').val(selectedText); focusOn = actualAskBox.find('.AskBoxInputText[name=ed-urlNom]'); } else { actualAskBox.find('.AskBoxInputText[name=ed-urlNom]').val(selectedText); focusOn = actualAskBox.find('.AskBoxInputText[name=ed-urlLien]').val("http://"); } break; case 'img' : title = "Ajouter une image"; actualAskBox.find('.AskBoxInputRadio[name=ed-imgType][value=img]').prop('checked', true); actualAskBox.find('.AskBoxInputRadio[name=ed-imgAlign][value=center]').prop('checked', true); if(selectedText.substring(0,7)=="http://" || selectedText.substring(0,8)=="https://" || selectedText.substring(0,6)=="ftp://") { focusOn = actualAskBox.find('.AskBoxInputText[name=ed-imgAdresse]').val(selectedText); } else { focusOn = actualAskBox.find('.AskBoxInputText[name=ed-imgAdresse]').val("http://"); } break; case 'video' : title = "Ajouter une vidéo"; actualAskBox.find('.AskBoxInputRadio[name=ed-videoType][value=video]').prop('checked', true); if(selectedText.substring(0,7)=="http://" || selectedText.substring(0,8)=="https://") focusOn = actualAskBox.find('.AskBoxInputText[name=ed-videoAdresse]').val(selectedText); else focusOn = actualAskBox.find('.AskBoxInputText[name=ed-videoAdresse]').val("http://"); break; case 'profil' : title = "Ajouter un lien vers un profil"; focusOn = actualAskBox.find('.AskBoxInputText[name=ed-profilPseudo]').val(selectedText); break; case 'quote' : title = "Citer"; focusOn = actualAskBox.find('.AskBoxInputText[name=ed-quoteAuteur]'); break; case 'spoiler' : title = "Ajouter un spoiler"; focusOn = actualAskBox.find('.AskBoxInputText[name=ed-spoilerOpen]'); break; case 'progress' : title = "Ajouter une barre de progression"; focusOn = actualAskBox.find('.AskBoxInputText[name=ed-progressTitle]').val(selectedText); break; case 'smiley' : title = "Plus de smileys !"; AskBox.children('.AskBoxBottom').css('display','none'); break; } AskBox.children('.AskBoxTop').children('span').html(title); // AskBox.css('display','block'); editeur.children('.AskBox').show('fast'); actualAskBox.css('display','block'); if(focusOn!=null)focusOn.focus(); } // masque tous les askbox(en verifiant s'ils sont pinned si verif=true) function close_AskBox(editeur, verif, anim) { if(anim != false)anim = true; if(editeur.data('isPinned')==false || verif==false) { editeur.children('.AskBox').children('.AskBoxBottom').css('display','block'); if(anim) editeur.children('.AskBox').hide('fast'); else editeur.children('.AskBox').css('display','non'); editeur.children('.AskBox').children('.AskBoxText').css('display','none'); editeur.data('tag',''); editeur.data('isPinned',false); editeur.find('.pinshow').css('display','none'); editeur.find('.pinhidden').css('display','block'); } } //Validation des askbox function ed_addtag(editeur) { var tag = editeur.data('tag'); var valeur=''; var valeurSup=''; // var selectionVide=true; var cursorAtEnd=false; switch(tag) { case 'url': valeur=editeur.find('.AskBoxInputText[name=ed-urlNom]').val(); valeurSup=editeur.find('.AskBoxInputText[name=ed-urlLien]').val(); if(valeur==""){valeur=valeurSup;cursorAtEnd=false;}else cursorAtEnd=true; valeurSup="="+valeurSup; break; case 'img' : //adimg if(editeur.find('.AskBoxInputRadio[name=ed-imgType]:checked').val() == "adimg") tag = "adimg"; //get value valeur=editeur.find('.AskBoxInputText[name=ed-imgAdresse]').val(); //prepare valeurSup valeurSup = "="; var premierArg= true; var largeur = parseInt(editeur.find('.AskBoxInputText[name=ed-imgWidth]').val()); if(largeur > 0)//if int { valeurSup += largeur; premierArg = false; } var hauteur = parseInt(editeur.find('.AskBoxInputText[name=ed-imgHeight]').val()); if(hauteur > 0)//if int { valeurSup += "x" + hauteur; premierArg = false; } var align = editeur.find('.AskBoxInputRadio[name=ed-imgAlign]:checked').val() if(align.length >0) { if(premierArg==false){valeurSup += "|"} valeurSup += align; premierArg = false; } if(premierArg){valeurSup = ""} cursorAtEnd=true; break; case 'video' : valeur=editeur.find('.AskBoxInputText[name=ed-videoAdresse]').val(); if(editeur.find('.AskBoxInputRadio[name=ed-videoType]:checked').val() == "video tiny") tag = "video mini"; cursorAtEnd=true; break; case 'profil' : valeur = editeur.find('.AskBoxInputText[name=ed-profilPseudo]').val(); if(valeur.length > 0) cursorAtEnd=true; break; case 'quote' : valeurSup = editeur.find('.AskBoxInputText[name=ed-quoteAuteur]').val(); if(valeurSup!="")valeurSup="="+valeurSup; break; case 'spoiler': valeurSup = "=" + editeur.find('.AskBoxInputText[name=ed-spoilerOpen]').val() + "|" + editeur.find('.AskBoxInputText[name=ed-spoilerClose]').val(); if(valeurSup == '=Cliquer pour dérouler|Cliquer pour enrouler') valeurSup = ""; break; case 'progress': valeur= editeur.find('.AskBoxInputText[name=ed-progressTitle]').val(); if(valeur.length <=0) { alert('Le titre de la barre de progression est obligatoire.'); editeur.find('.AskBoxInputText[name=ed-progressTitle]').focus(); return; } valeurSup= parseInt(editeur.find('.AskBoxInputText[name=ed-progressPourcent]').val()); if(!valeurSup>=1 && !valeurSup<=100) { alert('Le pourcentage de la barre de progression est obligatoire et doit être compris entre 1 et 100'); editeur.find('.AskBoxInputText[name=ed-progressPourcent]').focus(); return; } valeurSup="="+valeurSup; cursorAtEnd=true; break; } //fermeture des askbox close_AskBox(editeur); //Envoi sur le textarea if(cursorAtEnd){add_text(editeur.find('textarea'), '[' + tag + valeurSup + ']'+ valeur +'[/' + tag + ']')} else{add_text(editeur.find('textarea'), '[' + tag + valeurSup + ']','[/' + tag + ']',valeur)} } //IE compatibility document.onmouseup = updateIECursorPosition; document.onkeydown = updateIECursorPosition; function updateIECursorPosition()//IE - detection de la position du curseur pour IE qu'il l'oublie quand on clique autrepart que sur le textarea.. { $('.editeur').each(function(){ var thisTxtarea = $(this).find('textarea'); if($(this).data('isfocused') && typeof(thisTxtarea[0].createTextRange) == 'function') { var range = thisTxtarea[0].createTextRange(); range.moveToBookmark(document.selection.createRange().getBookmark()); range.moveEnd('character', thisTxtarea[0].value.length); $(".editeur").data('selecStart',(thisTxtarea[0].value.length - range.text.length)) var range = thisTxtarea[0].createTextRange(); range.moveToBookmark(document.selection.createRange().getBookmark()); range.moveStart('character', - thisTxtarea[0].value.length); $(".editeur").data('selecEnd',range.text.length); } }); } //general textarea functions function add_text(textarea, before, after, valeur) { selecStart = textarea.data('selecStart'); selecEnd = textarea.data('selecEnd'); if(before==null){before='';} if(after==null){after='';} if(valeur==null){valeur='';} if(typeof document.selection != 'undefined')//IE support { var insText; textarea.focus(); if(selecStart!=null && selecEnd!=null) { var range = document.selection.createRange(); if (textarea[0].setSelectionRange) textarea[0].setSelectionRange(selecStart, selecEnd); else if (document.selection) { var range = textarea[0].createTextRange(); range.moveStart('character', selecStart); range.moveEnd('character', - textarea[0].value.length + selecEnd); range.select(); } } textarea.focus(); range = document.selection.createRange(); if(valeur!=''){insText=valeur;}else{insText = range.text;} if(after=='' && valeur=='') { range.text = before; range.select(); } else { range.text = before + insText + after ; range.moveStart('character', -after.length -insText.length); range.moveEnd('character', -after.length); range.select(); } } else if(typeof textarea[0].selectionStart != 'undefined')//Firefox, GC support { var start = textarea[0].selectionStart; var end = textarea[0].selectionEnd; var insText; if(valeur!='') insText=valeur; else insText = textarea.val().substring(start, end); if(after=='' && valeur=='') { textarea.val(textarea.val().substr(0, start) + before + textarea.val().substr(end)); textarea[0].selectionStart = start + before.length; textarea[0].selectionEnd = start + before.length; } else { textarea.val(textarea.val().substr(0, start) + before + insText + after + textarea.val().substr(end)); textarea[0].selectionStart = start + before.length; textarea[0].selectionEnd = start + before.length + insText.length; } textarea.focus(); } else { textarea.val(before + valeur + after); textarea.focus(); } } // Preview button on textarea $('.pctextarea_preview').on('shown.bs.modal', function () { const message = $(this).parent().find('.editeurTextareaDiv > textarea').val(); const body = $(this).find('.modal-body'); $.post('/Fr/forums/preview.php', {message}, function(data, status) { body.html(data.preview); }) .fail(function() { body.html('

Erreur pendant la récupération de la prévisualisation.

'); }); }) //fonction citer dans le forum $('.lien_citation').click(function(){ var auteur = $(this).data('membre'); var id_message = $(this).data('id'); var textarea = $('textarea[name=message]'); $.ajax({type: "POST", url: '/Fr/forums/quote.php', data: {id : id_message} }).done(function( msg ) { add_text(textarea,'[quote=' + auteur + ']' + msg + '[/quote]','',''); }); }); //bouton d'affichage des stats $('#stats').click(function(){ window.open($(this).attr('href'),'connectes','resizable=yes,toolbar=no,scrollbars=yes,width=550,height=300,top=0,left=0') return false; }); //Lien de control de la fenetre principale depuis un popoup $('.popuplink').click(function(){ window.opener.location.href=$(this).data('link');return false; return false; }); /** * Confirmation modal * * Add the 'need-confirm' class to a link to show a prompt asking for confirmation. * 'data-confirm-text' attribute can be used to customize the confirm message */ $('a.need-confirm').click(function(){ const modal = $('#confirm-modal'); // Get text from 'data-confirm-text' arg let text = 'Êtes-vous sûr de vouloir continuer ?'; console.log($(this).data()) if ($(this).data('confirm-text')) { text = $(this).data('confirm-text'); } modal.find('.confirm-modal-text').first().html(text) // Set "Yes" link to original href of $(this) modal.find('.confirm-modal-yes').first().attr('href', $(this).attr('href')) // Configure and open modal $('#confirm-modal').modal('show'); return false; }); });