Utilizator:Lou/vector.js

De la Wikționar, dicționarul liber

Notă: După salvare, trebuie să treceți peste cache-ul browser-ului pentru a vedea modificările. Mozilla/Safari/Konqueror: țineți apăsat Shift în timp ce apăsați Reload (sau apăsați Ctrl-Shift-R), IE: apăsați Ctrl-F5, Opera: apăsați F5.

/* Ouvre toutes les boîtes déroulantes par défaut */
var NavigationBarShowDefault = 20;

// addPurge
$(function () {
var hist; var url;
if (!(hist = document.getElementById('ca-history') )) return;
if (!(url = hist.getElementsByTagName('a')[0] )) return;
if (!(url = url.href )) return;
mw.util.addPortletLink('p-cactions', url.replace(/([?&]action=)history([&#]|$)/, '$1purge$2'), 'Εκκένωση', 'ca-purge', 'Purge server cache for this page', '0');
});

document.write('<script type="text/javascript" src="/w/index.php?title=Utilizator:Lou/shortcuts.js&action=raw&ctype=text/javascript"><\/script>');
document.write('<script type="text/javascript" src="/w/index.php?title=Utilizator:Lou/sidebar.js&action=raw&ctype=text/javascript"><\/script>');
document.write('<script type="text/javascript" src="/w/index.php?title=Utilizator:Lou/karteles.js&action=raw&ctype=text/javascript"><\/script>');

/**
 * Μια νέα συνάρτηση εγκαθίσταται κατά τον εξής τρόπο:
 * aOnloadFunctions[aOnloadFunctions.length] = όνομα_της_συνάρτησης; // (χωρίς τελικές παρενθέσεις)
 */
if (!window.aOnloadFunctions) { 
  var aOnloadFunctions = new Array(); 
}
 
window.onload = function() {
  if (window.aOnloadFunctions) {
    for (var _i=0; _i<aOnloadFunctions.length; _i++) {
      aOnloadFunctions[_i]();
    }
  }
}
 
 
/**
 * Προσθήκη μιας νέας συνάρτησης που θα εκτελεστεί κατά τη φόρτωση της σελίδας
 */ 
function addLoadEvent(func) {
  if (window.addEventListener) 
    window.addEventListener("load", func, false);
  else if (window.attachEvent) 
    window.attachEvent("onload", func);
}
 
/* </pre>
===addOnloadHook===
<pre> */
 
//use both names for it, for Wikipedia compatability (just in case)
function addOnloadHook(f) {
  addLoadEvent(f);
}
 
/* </pre>
=== Δυναμικές μπάρες πλοήγησης (για κείμενο που μπορεί να αποκρυφτεί) ===
 // BEGIN Dynamic Navigation Bars (experimental)
 // FIXME: currently only works for one nav bar on a page at a time
<pre> */
 
function addLoadEvent(func) {
  if (window.addEventListener)
    window.addEventListener("load", func, false);
  else if (window.attachEvent)
    window.attachEvent("onload", func);
}
 
// set up the words in your language
var NavigationBarHide = '[ απόκρυψη ]';
var NavigationBarShow = '[ εμφάνιση ]';
 
// set up the words in your language
var TranslationBarsHide = ' (απόκρυψη όλων)';
var TranslationBarsShow = ' (εμφάνιση όλων)';
 
// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// NavigationBarShowDefault = 0; // all bars will be hidden
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
var NavigationBarShowDefault = 0;
 
//Honor the User Preferences
if ( ( getCookie('WiktionaryUseJSPreferences') != 'true' ) || 
     ( getCookie('WiktionaryPreferencesShowNav') != 'true' ) ) {
  NavigationBarShowDefault = 0;
}
else {
  if ( wgNamespaceNumber == 0 ) NavigationBarShowDefault = 999 ;
}
 
/* </pre>
===toggleNavigationBar===
<pre> */
 
// shows and hides content and picture (if available) of navigation bars
// Parameters:
//     indexNavigationBar: the index of navigation bar to be toggled
// setToState: toggle, open, close
// childrenAlso: change state of all children as well (if set to 1)
function toggleNavigationBar(indexNavigationBar,setToState,childrenAlso) { 
  if (setToState === undefined) {
    setToState = 'toggle';
  }
  if (childrenAlso === undefined) {
    childrenAlso = 0;
  }
  var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
  var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
  if (!NavFrame || !NavToggle) {
    return false;
  }
  // if shown now
  if (NavToggle.firstChild.data == NavigationBarHide &&
     (setToState == 'toggle' || setToState == 'close' ) ) {
    for (var NavChild = NavFrame.firstChild; NavChild; NavChild = NavChild.nextSibling) {
      if (NavChild.className == 'NavPic') {
        NavChild.style.display = 'none';
      }
      if (NavChild.className == 'NavContent') {
        NavChild.style.display = 'none';
      }
    }
    NavToggle.firstChild.data = NavigationBarShow;
    // if hidden now
  } else if (NavToggle.firstChild.data == NavigationBarShow && 
            (setToState == 'toggle' || setToState == 'open' ) ) {
    for (var NavChild = NavFrame.firstChild; NavChild; NavChild = NavChild.nextSibling) {
      if (NavChild.className == 'NavPic') {
        NavChild.style.display = 'block';
      }
      if (NavChild.className == 'NavContent') {
        NavChild.style.display = 'block';
      }
    }
    NavToggle.firstChild.data = NavigationBarHide;
  }
  if (childrenAlso == 1) {
    var NavFrameDivs = NavFrame.getElementsByTagName('div');
    for (i = 0; i < NavFrameDivs.length; i++) {
      // nested NavFrame
      if (NavFrameDivs[i].className == 'NavFrame') {
        // get the index of the frame
        NavFrameDivs[i].id.match(/NavFrame([0-9]+)/);
        NavFrameDivIndex = RegExp.$1;
        toggleNavigationBar(NavFrameDivIndex,setToState);
      }
    }
  }
}
 
function toggleTranslationBars(indexTranslationHeader) {
  var TranslationToggle = document.getElementById("TranslationToggle" + 
                                                    indexTranslationHeader);
  if (!TranslationToggle) {
    return false;
  }
  var TranslationBarsState;
 
  // if hidden now
  if (TranslationToggle.firstChild.data == TranslationBarsShow) {
    TranslationToggle.firstChild.data = TranslationBarsHide;
    TranslationBarsState = 'open';
    // if shown now
  } 
  else if (TranslationToggle.firstChild.data == TranslationBarsHide) {
    TranslationToggle.firstChild.data = TranslationBarsShow;
    TranslationBarsState = 'close';
  }
  // find the NavBars that are in our translation table... ewww grody hack
  PossibleNavFrame = TranslationToggle; // walk back up the tree looking for a 
                                    // header.. if we hit bodyContent something's wrong
  while (PossibleNavFrame && (! PossibleNavFrame.nodeName.match(/^h[0-9]/i) ) && 
         PossibleNavFrame.nodeName != 'bodyContent') {
         PossibleNavFrame = PossibleNavFrame.parentNode;
  }
  if (!PossibleNavFrame || ! PossibleNavFrame.nodeName.match(/^h[0-9]/i) ) {
    return(-1);
  }
  while (PossibleNavFrame = PossibleNavFrame.nextSibling) {
    // we have "related" translation bars up til a header or end of page
    if (PossibleNavFrame.nodeName.match(/^h[0-9]/i)) {
      return;
    }
    if (PossibleNavFrame.className == 'NavFrame' && 
      PossibleNavFrame.innerHTML.indexOf('class="translations"' >= 0) ) {
      // get the index of the frame
      PossibleNavFrame.id.match(/NavFrame([0-9]+)/);
      NavFrameDivIndex = RegExp.$1;
      toggleNavigationBar(NavFrameDivIndex,TranslationBarsState,1);
    }
  }
}
 
/* </pre>
===createNavigationBarToggleButton===
<pre> */
 
// adds show/hide-button to navigation bars
 
function createNavigationBarToggleButton() {
  // only in the main namespace please
  // if (wgNamespaceNumber != 0) {
  //   return;
  // }
 
  var indexNavigationBar = 0;
  // iterate over all < div >-elements
  for (var i=0; NavFrame = document.getElementsByTagName("div")[i]; i++) {
    // if found a navigation bar
    // put toggle if it's not a translation bar, every time.
    // put toggle for translation bar, if there are really translations in there
    if (NavFrame.className == "NavFrame") {
      if (NavFrame.innerHTML.indexOf('class="translations"') == -1 ||
          NavFrame.innerHTML.indexOf('wiktionary.org') >= 0) {
        indexNavigationBar++;
        var NavToggle = document.createElement("a");
        NavToggle.className = 'NavToggle';
        NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
        if (NavFrame.innerHTML.indexOf('class="hideshow"') != -1) {
            NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + 
                                   indexNavigationBar + ',"toggle",0);');
        }
        else {
          NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + 
                                  indexNavigationBar + ',"toggle",1);');
        }
        var NavToggleText = document.createTextNode(NavigationBarHide);
        NavToggle.appendChild(NavToggleText);
        // Find the NavHead and attach the toggle link (Must be this complicated 
        // because Moz's firstChild handling is borked)
        for (var j=0;j < NavFrame.childNodes.length;j++) {
          if (NavFrame.childNodes[j].className == "NavHead") {
            NavFrame.childNodes[j].appendChild(NavToggle);
          }
        }
        NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
      }
    }
  }
  // if more Navigation Bars found than Default: hide all
  if (NavigationBarShowDefault < indexNavigationBar) {
    for (var i=1;i<=indexNavigationBar;i++) {
      toggleNavigationBar(i);
    }
  }
}
 
addLoadEvent(createNavigationBarToggleButton);
function createTranslationBarsToggleButton() {
  // only in the main namespace please
  if (wgNamespaceNumber != 0) {
    return;
  }
  var indexTranslationHeader = 0;
  // iterate over all < a >-elements
  for( var i=0; TranslationsLink = document.getElementsByTagName("a")[i]; i++ ) {
    // if found a translation header
    if (TranslationsLink.innerHTML.indexOf('Μεταφράσεις') > -1) {
      // count num of tables, if only one in this section don't bother
      TranslationSectionNavFrameCount = 0;
      PossibleNavFrame = TranslationsLink; // walk back the tree looking for a header..
                                           // if we hit bodyContent something's wrong
      while (PossibleNavFrame && (! PossibleNavFrame.nodeName.match(/^h[0-9]/i) ) && 
             PossibleNavFrame.nodeName != 'bodyContent') {
        PossibleNavFrame = PossibleNavFrame.parentNode;
      }
      // if it's not a header element we probably got some other link, e.g. in the TOC
      if (!PossibleNavFrame || ! PossibleNavFrame.nodeName.match(/^h[0-9]/i) ) {
        continue;
      }
      while (PossibleNavFrame = PossibleNavFrame.nextSibling) {
        // we have "related" translation bars up til a header or end of page
        if (PossibleNavFrame.nodeName.match(/^h[0-9]/i)) {
          break;
        }
        if (PossibleNavFrame.className == 'NavFrame' && 
            PossibleNavFrame.innerHTML.indexOf('class="translations"' >= 0) ) {
          if (++TranslationSectionNavFrameCount > 1 ) {
            break;
          }
        }
      }
      if (TranslationSectionNavFrameCount > 1) {
        indexTranslationHeader++;
        var TranslationToggle = document.createElement("a");
        TranslationToggle.className = 'TranslationToggle';
        TranslationToggle.setAttribute('id', 'TranslationToggle' + 
                                       indexTranslationHeader);
        TranslationToggle.setAttribute('href', 'javascript:toggleTranslationBars(' +
                                       indexTranslationHeader + ',1);');
        var TranslationToggleText = document.createTextNode(TranslationBarsHide);
        TranslationToggle.appendChild(TranslationToggleText);
        TranslationsLink.parentNode.appendChild(TranslationToggle);
        // initially set as though closed
        TranslationToggle.firstChild.data = TranslationBarsShow;
      }
    }
  } 
}
 
addLoadEvent(createTranslationBarsToggleButton);
// END Dynamic Navigation Bars
 
/* </pre>
===Cookies===
<pre> */
 
//Cookie helpers
function setCookie(cookieName, cookieValue) {
  var today = new Date();
  var expire = new Date();
  var nDays = 30;
  expire.setTime( today.getTime() + (3600000 * 24 * nDays) );
  document.cookie = cookieName + "=" + escape(cookieValue)
                  + ";path=/w"
                  + ";expires="+expire.toGMTString();
  document.cookie = cookieName + "=" + escape(cookieValue)
                  + ";path=/wiki"
                  + ";expires="+expire.toGMTString();
}
 
function getCookie(cookieName) {
  var start = document.cookie.indexOf( cookieName + "=" );
  if ( start == -1 ) return "";
  var len = start + cookieName.length + 1;
  if ( ( !start ) &&
    ( cookieName != document.cookie.substring( 0, cookieName.length ) ) ) {
        return "";
  }
  var end = document.cookie.indexOf( ";", len );
  if ( end == -1 ) end = document.cookie.length;
  return unescape( document.cookie.substring( len, end ) );
}
 
function deleteCookie(cookieName) {
  if ( getCookie(cookieName) ) {
    document.cookie = cookieName + "=" + ";path=/w" +
    ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
    document.cookie = cookieName + "=" + ";path=/wiki" +
    ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
  }
}
 
/* </pre>
=== Υποχρεωτική ανακατεύθυνση (doRedirect) ===
<pre> */
 
/* Redirect if a case-insensitive search on an external link is found */
function doRedirect() {
  dym = document.getElementById('did-you-mean')
  if ( dym ) {
    if ( getCookie('WiktionaryDisableAutoRedirect') != 'true' ) {
      var dymtarget = dym.firstChild.title ;
      var target = dymtarget ;
      pagetitle = document.getElementsByTagName('h1').item(0).firstChild.nodeValue;
      if (pagetitle == target) {
        alert('No looping allowed.');
        return;
      }
      if ( pagetitle.toLowerCase().replace(/[^a-z]/g, "") != target.toLowerCase().replace(/[^a-z]/g, "") ) {
        alert(target + " does not match " + pagetitle);
        return;
      }
      if ( pagetitle.search(/Editing /g) != -1 ) return;
      pagenamee = pagetitle.replace(/\ /g, "_");
      document.location.replace( 'http://en.wiktionary.org/wiki/Special:Search/' + 
                                  pagenamee ) ;
    }
  }
}
 
/* </pre>
===fixEditSectionWikifiedLinks===
<pre> */
 
// edit-section still doesn't return to correct spot if link contains a [[wikified]] term.
function fixEditSectionWikifiedLinks() {
  if (/\.5B/.test(window.location.href)) {
    var url=window.location.href.replace(/.5B.5B:/g,"").
                                 replace(/.5B/g, "").replace(/.5D/g, "");
    window.location = url;
  }
  //#capiche_and_.7B.7Btemp.7Calternative_spelling_of.7D.7D
  if (/\.7B\.7Btemp\.7C(.*?)\.7D\.7D/.test(window.location.href)) {
    var url=window.location.href.replace(/\.7B\.7Btemp.7C/, ".7B.7B");
    window.location = url;
  }
}
 
/* </pre>
===Hide "Main Page" heading and several other elements on the Main Page===
<pre> */
 
var mpTitle = "Wiktionary:Main Page";
var isMainPage = (document.title.substr(0, document.title.lastIndexOf(" - ")) == mpTitle);
var isDiff = (document.location.search && (document.location.search.indexOf("diff=") != -1 || document.location.search.indexOf("oldid=") != -1));
 
if (isMainPage && !isDiff) document.write('<style type="text/css">/*<![CDATA[*/ #lastmod, #siteSub, #contentSub, h1.firstHeading { display: none !important; } /*]]>*/</style>');
 
/* </pre>
=== Προτιμήσεις χρήστη (πειραματικό) ===
<pre> */
 
// [[User:Connel MacKenzie/custom.js]] - User preferences
document.write('<script type="text/javascript" src="/w/index.php?title=User:Connel_MacKenzie/custom.js&action=raw&ctype=text/javascript"><\/script>');
 
/* </pre>
=== Wiktionary-specific tooltips ===
<pre> */
 
function wiktHeadingToolTips() {
}
 

/* </pre>
=== Προσωποποίηση του Βικιλεξικού (customizeWiktionary) ===
<pre> */
 
function customizeWiktionary() {
  doRedirect();
  addCharSubsetMenu();
  fixEditSectionWikifiedLinks();
  wiktHeadingToolTips();
}
 
addLoadEvent(customizeWiktionary);
 
 
function addLocalEditToolbarItems() {
    if ( typeof $ != 'undefined' && typeof $.fn.wikiEditor != 'undefined' ) {
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'sections': {
			'local': { 'type': 'toolbar', 'label': 'GR' }
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local',
		'groups': { 'IPA': { 'label': 'ΔΦΑ' } }
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local',
		'groups': { 'misc': { 'label': 'Διάφορα' } }
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'misc',
		'tools': {
			'category': {
				label: 'Κατηγορία', type: 'button',
				icon: 'http://upload.wikimedia.org/wikipedia/commons/b/b4/Button_category03.png',
				action: {
					type: 'encapsulate',
					options: { pre: "[[Κατηγορία:όνομα της κατηγορίας]]" }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'misc',
		'tools': {
			'category': {
				label: 'Ανακατεύθυνση', type: 'button',
				icon: 'http://upload.wikimedia.org/wikipedia/commons/c/c8/Button_redirect.png',
				action: {
					type: 'encapsulate',
					options: { pre: "#ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[όνομα του στόχου]]" }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'misc',
		'tools': {
			'category': {
				label: 'Σχόλιο HTML', type: 'button',
				icon: 'http://upload.wikimedia.org/wikipedia/commons/3/37/Btn_toolbar_commentaire.png',
				action: {
					type: 'encapsulate',
					options: { pre: "<!-- Γράψτε το σχόλιό σας -->" }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'misc',
		'tools': {
			'category': {
				label: 'Αδιαχώριστο κενό', type: 'button',
				icon: 'http://upload.wikimedia.org/wikipedia/commons/4/4b/Button_nbsp.png',
				action: { type: 'encapsulate',
					options: { pre: '&',  post: 'nbsp;' }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'misc',
		'tools': {
			'category': {
				label: 'Προφορά (ΔΦΑ)', type: 'button',
				icon: 'http://upload.wikimedia.org/wikipedia/commons/f/f2/Button_prononciation.png',
				action: { type: 'encapsulate',
					options: { pre: '===\{{προφορά}}===\n\{{ΔΦΑ|',  post: '}\}' }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'misc',
		'tools': {
			'category': {
				label: 'Ετυμολογία (αρχαία)', type: 'button',
				icon: 'http://upload.wikimedia.org/wikipedia/commons/5/52/Button_grec.png',
				action: { type: 'encapsulate',
					options: { pre: ':\{{PAGENAME}\} < \{{αρχ}\} [[',  post: ']]' }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'misc',
		'tools': {
			'category': {
				label: 'Κλείδα ταξινόμησης', type: 'button',
				icon: 'http://upload.wikimedia.org/wikipedia/commons/3/32/Btn_toolbar_Evalution_Securite_informatique.png',
				action: { type: 'encapsulate',
					options: { pre: '\{{κλείδα ταξινόμησης|',  post: '\}}\n' }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'IPA',
		'tools': {
			'category': {
				label: 'Τόνος', type: 'button',
				icon: 'http://upload.wikimedia.org/wiktionary/el/e/ed/%CE%94%CF%86%CE%B1-%CB%88.png',
				action: { type: 'encapsulate',
					options: { pre: 'ˈ' }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'IPA',
		'tools': {
			'category': {
				label: 'ο/ω όπως στο «πάνω»', type: 'button',
				icon: 'http://upload.wikimedia.org/wiktionary/el/7/7c/%CE%94%CF%86%CE%B1-%C9%94.png',
				action: { type: 'encapsulate',
					options: { pre: 'ɔ' }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'IPA',
		'tools': {
			'category': {
				label: 'ε/αι όπως στο «μέλι»', type: 'button',
				icon: 'http://upload.wikimedia.org/wiktionary/el/0/07/%CE%94%CF%86%CE%B1-%C9%9B.png',
				action: { type: 'encapsulate',
					options: { pre: 'ɛ' }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'IPA',
		'tools': {
			'category': {
				label: 'γ όπως στο «γάτα»', type: 'button',
				icon: 'http://upload.wikimedia.org/wiktionary/el/e/e1/%CE%94%CF%86%CE%B1-%C9%A3.png',
				action: { type: 'encapsulate',
					options: { pre: 'ɣ' }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'IPA',
		'tools': {
			'category': {
				label: 'ουρανικό γ όπως στο «για»', type: 'button',
				icon: 'http://upload.wikimedia.org/wiktionary/el/2/2e/%CE%94%CF%86%CE%B1-%CA%9D.png',
				action: { type: 'encapsulate',
					options: { pre: 'ʝ' }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'IPA',
		'tools': {
			'category': {
				label: 'ουρανικό γκ όπως στο «γκιόνης»', type: 'button',
				icon: 'http://upload.wikimedia.org/wiktionary/el/b/bc/%CE%94%CF%86%CE%B1-%C9%9F-.png',
				action: { type: 'encapsulate',
					options: { pre: 'ɟ' }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'IPA',
		'tools': {
			'category': {
				label: 'δ όπως στο «δέμα»', type: 'button',
				icon: 'http://upload.wikimedia.org/wiktionary/el/d/da/%CE%94%CF%86%CE%B1-%C3%B0.png',
				action: { type: 'encapsulate',
					options: { pre: 'ð' }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'IPA',
		'tools': {
			'category': {
				label: 'θ όπως στο «θέμα»', type: 'button',
				icon: 'http://upload.wikimedia.org/wiktionary/el/4/4c/%CE%94%CF%86%CE%B1-%CE%B8.png',
				action: { type: 'encapsulate',
					options: { pre: 'θ' }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'IPA',
		'tools': {
			'category': {
				label: 'ουρανικό λ όπως στο «ήλιος»', type: 'button',
				icon: 'http://upload.wikimedia.org/wiktionary/el/1/1d/%CE%94%CF%86%CE%B1-%CA%8E.png',
				action: { type: 'encapsulate',
					options: { pre: 'ʎ' }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'IPA',
		'tools': {
			'category': {
				label: 'χειλοδοντικό μ όπως στο «έμφαση»', type: 'button',
				icon: 'http://upload.wikimedia.org/wiktionary/el/8/8a/%CE%94%CF%86%CE%B1-%C9%B1.png',
				action: { type: 'encapsulate',
					options: { pre: 'ɱ' }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'IPA',
		'tools': {
			'category': {
				label: 'ρ όπως στο «πάρα»', type: 'button',
				icon: 'http://upload.wikimedia.org/wiktionary/el/d/d9/%CE%94%CF%86%CE%B1-%C9%BE.png',
				action: { type: 'encapsulate',
					options: { pre: 'ɾ' }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'IPA',
		'tools': {
			'category': {
				label: 'ουρανικό ν όπως στο «πανιά»', type: 'button',
				icon: 'http://upload.wikimedia.org/wiktionary/el/5/53/%CE%94%CF%86%CE%B1-%C9%B2.png',
				action: { type: 'encapsulate',
					options: { pre: 'ɲ' }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'IPA',
		'tools': {
			'category': {
				label: 'υπερωικό γ όπως στο «άγχος» ή το «εγγονός»', type: 'button',
				icon: 'http://upload.wikimedia.org/wiktionary/el/0/09/%CE%94%CF%86%CE%B1-%C5%8B.png',
				action: { type: 'encapsulate',
					options: { pre: 'ŋ' }
				}
			}
		}
	} );
 
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': 'local', 'group': 'IPA',
		'tools': {
			'category': {
				label: 'ουρανικό χ όπως στο «χέρι»', type: 'button',
				icon: 'http://upload.wikimedia.org/wiktionary/el/e/e8/%CE%94%CF%86%CE%B1-%C3%A7.png',
				action: { type: 'encapsulate',
					options: { pre: 'ç' }
				}
			}
		}
	} );
    }
}
if ( typeof $ != 'undefined' ) $(document).ready(addLocalEditToolbarItems);
 
var sectionsInToolbar=new Array ();
var groupsInSection=new Array ();
 
function existsEditToolbarSection ( sectionName ) {
  // set up if empty
  if ( sectionsInToolbar.length == 0 ) {
      var count=0;
      possibleSections = document.getElementsByTagName('div');
      for (i = 0; i<possibleSections.length; i++) {
          if (possibleSections[i].className.indexOf('booklet section section-') == 0 ||
              possibleSections[i].className.indexOf('toolbar section section-' ) == 0 ) {
             sectionsInToolbar[count] = possibleSections[i].className.substring(24);
             possibleGroups = possibleSections[i].getElementsByTagName('div');
             var groupcount = 0;
             groupsInSection[count]=new Array ();
             for (j=0; j< possibleGroups.length; j++) {
                if (possibleGroups[j].className.indexOf('group group-') == 0) {
                   // μόνο το όνομα, όχι το 'group group-'
                   groupsInSection[count][groupcount++] = possibleGroups[j].className.substring(12);
                }
             }
             count++;
          }
      }
  }
  for (i=0; i<sectionsInToolbar.length; i++) {
       if (sectionsInToolbar[i] == sectionName) {
          return true;
       }
  }
  return false;
}
 
function existsEditToolbarGroup (sectionName, groupName) {
    for (i=0; i<sectionsInToolbar.length; i++) {
       if (sectionsInToolbar[i] == sectionName) {
          for (j=0; j<groupsInSection[i].length; j++) {
              if (groupsInSection[i][j] == groupName) {
                  return true;
              }
          }
       }
    }
    return false;
}
 
function addGroupNameToSectionNameList (sectionName, groupName) {
    for (i=0; i<sectionsInToolbar.length; i++) {
       if (sectionsInToolbar[i] == sectionName) {
          for (j=0; j<groupsInSection[i].length; j++) {
              if (groupsInSection[i][j] == groupName) {
                  return;
              }
          }
          groupsInSection[i][groupsInSection[i].length] = groupName;
          return;
       }
    }
    return;
}
 
/*
 παράμετροι:
 imageFile: URL προς το εικονίδιο (22x22 px)
 speedTip: το κείμενο που φαίνεται όταν βάλεις τον κέρσορα πάνω στο εικονίδιο
 textToEnter: το κείμενο που εισάγεται όταν πατήσεις το κουμπί
 toolbarSectionName: το όνομα που εμφανίζεται στη μπάρα δίπλα στα άλλα τμήματα (Προχωρημένα, Τοπικά κλπ.)
                     αν βάλεις όνομα ενός υπάρχοντος τμήματος κουμπιών, τα δικά σου κουμπιά θα προστεθούν
                     σε αυτό· αν βάλεις όνομα καινούριου τμήματος, θα δημιουργηθεί
*/
function addCustomButtonToLocalVectorToolbarButtons(imageFile, speedTip, textToEnter, toolbarSectionName) {
    if ( typeof $ != 'undefined' && typeof $.fn.wikiEditor != 'undefined' ) {
        if ( toolbarSectionName === undefined ) {
           toolbarSectionName = 'local';
           toolbarSectionLabel = 'Toπικά';
        }
        else {
           toolbarSectionLabel = toolbarSectionName;
        }
        // υπάρχει ήδη το τμήμα; 
        if ( ! existsEditToolbarSection( toolbarSectionName ) ) {
            // δημιουργούμε τμήμα με το ορισμένο όνομα και με ομάδα misc
            var sectionObject = {};
            sectionObject[toolbarSectionName] = { 'type': 'toolbar', 'label': toolbarSectionLabel };
            $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', { 'sections': sectionObject } );
            sectionsInToolbar[sectionsInToolbar.length] = toolbarSectionName;
            groupsInSection[sectionsInToolbar.length - 1] = new Array();
        }
        // υπάρχει η ομάδα μέσα σε αυτό το τμήμα; 
        if (! existsEditToolbarGroup( toolbarSectionName, 'misc' ) ) {
            $( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
	        'section': toolbarSectionName,
		'groups': { 'misc': { 'label': 'Διάφορα' } }
	    } );
            addGroupNameToSectionNameList(toolbarSectionName,'misc');
        }
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
		'section': toolbarSectionName, 'group': 'misc',
		'tools': {
			'category': {
				label: speedTip, type: 'button',
				icon: imageFile,
				action: { type: 'encapsulate',
					options: { pre: textToEnter }
				}
			}
		}
	} );
    }
}
 
/* Remember to keep [[MediaWiki:Standard.js]] in sync with this, for classic style! */
/*
</pre> 
*/

// prononciation du français
function addPersonalEditToolbarItems() {
    addCustomButtonToLocalVectorToolbarButtons('http://upload.wikimedia.org/wikipedia/commons/5/5e/Button_API_%C9%91.png','Prononciation',"ɑ", 'FR');
    addCustomButtonToLocalVectorToolbarButtons('http://upload.wikimedia.org/wikipedia/commons/a/a7/Button_API_%C9%94.png','Prononciation',"ɔ", 'FR');
    addCustomButtonToLocalVectorToolbarButtons('http://upload.wikimedia.org/wikipedia/commons/7/74/Button_API_%C9%9B.png','Prononciation',"ɛ", 'FR');
    addCustomButtonToLocalVectorToolbarButtons('http://upload.wikimedia.org/wikipedia/commons/1/1e/Button_API_%C5%93.png','Prononciation',"œ", 'FR');
    addCustomButtonToLocalVectorToolbarButtons('http://upload.wikimedia.org/wikipedia/commons/6/66/Button_API_tilde.png','Prononciation',"̃", 'FR');
    addCustomButtonToLocalVectorToolbarButtons('http://upload.wikimedia.org/wikipedia/commons/8/81/Button_API_%C9%99.png','Prononciation',"ə", 'FR');
    addCustomButtonToLocalVectorToolbarButtons('http://upload.wikimedia.org/wikipedia/commons/2/22/Button_API_%C3%B8.png','Prononciation',"ø", 'FR');
    addCustomButtonToLocalVectorToolbarButtons('http://upload.wikimedia.org/wikipedia/commons/c/c0/Button_API_%C9%A5.png','Prononciation',"ɥ", 'FR');
    addCustomButtonToLocalVectorToolbarButtons('http://upload.wikimedia.org/wikipedia/commons/8/83/Button_API_%CB%90.png','Prononciation',"ː", 'FR');
    addCustomButtonToLocalVectorToolbarButtons('http://upload.wikimedia.org/wikipedia/commons/5/55/Button_API_%E2%80%BF.png','Prononciation',"‿", 'FR');
    addCustomButtonToLocalVectorToolbarButtons('http://upload.wikimedia.org/wikipedia/commons/1/13/Button_API_%CA%83.png','Prononciation',"ʃ", 'FR');
    addCustomButtonToLocalVectorToolbarButtons('http://upload.wikimedia.org/wikipedia/commons/b/b2/Button_API_%CA%94.png','Prononciation',"ʔ", 'FR');
    addCustomButtonToLocalVectorToolbarButtons('http://upload.wikimedia.org/wikipedia/commons/2/27/Button_API_%CA%92.png','Prononciation',"ʒ", 'FR');
    addCustomButtonToLocalVectorToolbarButtons('http://upload.wikimedia.org/wikipedia/commons/c/c3/Button_API_%C9%B2.png','Prononciation',"ɲ", 'FR');
    addCustomButtonToLocalVectorToolbarButtons('http://upload.wikimedia.org/wikipedia/commons/c/ca/Button_API_%C5%8B.png','Prononciation',"ŋ", 'FR');
    addCustomButtonToLocalVectorToolbarButtons('http://upload.wikimedia.org/wikipedia/commons/f/ff/Button_API_%CA%81.png','Prononciation',"ʁ", 'FR');
}

$(addPersonalEditToolbarItems);