Blame | Last modification | View Log | RSS feed
// Barre de raccourcis// derive du:// bbCode control by subBlue design : www.subBlue.com// Startup variablesvar theSelection = false;// Check for Browser & Platform for PC & IE specific bits// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.htmlvar clientPC = navigator.userAgent.toLowerCase(); // Get client infovar clientVer = parseInt(navigator.appVersion); // Get browser versionvar is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)&& (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)&& (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));var is_moz = 0;var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));var is_mac = (clientPC.indexOf("mac")!=-1);function barre_raccourci(debut,fin,champ) {var txtarea = champ;txtarea.focus();donotinsert = false;theSelection = false;bblast = 0;if ((clientVer >= 4) && is_ie && is_win){theSelection = document.selection.createRange().text; // Get text selectionif (theSelection) {while (theSelection.substring(theSelection.length-1, theSelection.length) == ' '){theSelection = theSelection.substring(0, theSelection.length-1);fin = fin + " ";}if (theSelection.substring(0,1) == '{' && debut.substring(0,1) == '{'){debut = debut + " ";}if (theSelection.substring(theSelection.length-1, theSelection.length) == '}' && fin.substring(0,1) == '}'){fin = " " + fin;}// Add tags around selectiondocument.selection.createRange().text = debut + theSelection + fin;txtarea.focus();theSelection = '';return;}}else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0)){mozWrap(txtarea, debut, fin);return;}}function barre_demande(debut,milieu,fin,affich,champ) {var inserer = prompt(affich);if (inserer != null) {if (inserer == "") {inserer = "xxx"; }barre_raccourci(debut, milieu+inserer+fin, champ);}}function barre_inserer(text,champ) {var txtarea = champ;if (txtarea.createTextRange && txtarea.caretPos) {var caretPos = txtarea.caretPos;caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;txtarea.focus();} else {//txtarea.value += text;//txtarea.focus();mozWrap(txtarea, '', text);return;}}// D'apres Nicolas Hoizeyfunction barre_tableau(toolbarfield){var txtarea = toolbarfield;txtarea.focus();var cols = prompt("Nombre de colonnes du tableau :", "");var rows = prompt("Nombre de lignes du tableau :", "");if (cols != null && rows != null) {var tbl = '';var ligne = '|';var entete = '|';for(i = 0; i < cols; i++) {ligne = ligne + ' valeur |';entete = entete + ' {{entete}} |';}for (i = 0; i < rows; i++) {tbl = tbl + ligne + '\n';}if (confirm('Voulez vous ajouter une ligne d\'en-tĂȘte ?')) {tbl = entete + '\n' + tbl;}if ((clientVer >= 4) && is_ie && is_win) {var str = document.selection.createRange().text;var sel = document.selection.createRange();sel.text = str + '\n\n' + tbl + '\n\n';} else {mozWrap(txtarea, '', "\n\n" + tbl + "\n\n");}}return;}// Shows the help messages in the helpline windowfunction helpline(help, champ) {champ.value = help;}function setCaretToEnd (input) {setSelectionRange(input, input.value.length, input.value.length);}function setSelectionRange(input, selectionStart, selectionEnd) {if (input.setSelectionRange) {input.focus();input.setSelectionRange(selectionStart, selectionEnd);}else if (input.createTextRange) {var range = input.createTextRange();range.collapse(true);range.moveEnd('character', selectionEnd);range.moveStart('character', selectionStart);range.select();}}// From http://www.massless.org/mozedit/function mozWrap(txtarea, open, close){var selLength = txtarea.textLength;var selStart = txtarea.selectionStart;var selEnd = txtarea.selectionEnd;if (selEnd == 1 || selEnd == 2)selEnd = selLength;var selTop = txtarea.scrollTop;// Raccourcir la selection par double-clic si dernier caractere est espaceif (selEnd - selStart > 0 && (txtarea.value).substring(selEnd-1,selEnd) == ' ') selEnd = selEnd-1;var s1 = (txtarea.value).substring(0,selStart);var s2 = (txtarea.value).substring(selStart, selEnd)var s3 = (txtarea.value).substring(selEnd, selLength);// Eviter melange bold-italic-intertitreif ((txtarea.value).substring(selEnd,selEnd+1) == '}' && close.substring(0,1) == "}") close = close + " ";if ((txtarea.value).substring(selEnd-1,selEnd) == '}' && close.substring(0,1) == "}") close = " " + close;if ((txtarea.value).substring(selStart-1,selStart) == '{' && open.substring(0,1) == "{") open = " " + open;if ((txtarea.value).substring(selStart,selStart+1) == '{' && open.substring(0,1) == "{") open = open + " ";txtarea.value = s1 + open + s2 + close + s3;selDeb = selStart + open.length;selFin = selEnd + close.length;window.setSelectionRange(txtarea, selDeb, selFin);txtarea.scrollTop = selTop;txtarea.focus();return;}// Insert at Claret position. Code from// http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130function storeCaret (textEl) {if (textEl.createTextRange)textEl.caretPos = document.selection.createRange().duplicate();}