Σημείωση: Μετά την αποθήκευση πρέπει να καθαρίσετε την προσωρινή μνήμη του browser σας για να δείτε τις αλλαγές: Mozilla: πατήστε ReloadCtrl-R), IE / Opera: Ctrl-F5, Safari: Cmd-R, Konqueror Ctrl-R.

var page_ns_prefixes= { 
	'el':'Σελίδα',
	'en':'Page',
	'fr':'Page',
	'de':'Seite',
	'it':'Pagina',
	'la':'Pagina',
	'no':'Side',
	'es':'Página',
	'pt':'Página',
	'sv':'Sida',
	'pl':'Strona',
	'hy':'Էջ',
	'ru':'Страница', 
	'hr':'Stranica',
	'hu':'Oldal',
	'ca':'Pàgina',
	'vi':'Trang',
	'sl':'Stran',
	'zh':'Page' 
}

var index_ns_prefixes= { 
	'el':'Βιβλίο',
	'en':'Index',
	'fr':'Livre',
	'de':'Index',
	'it':'Indice',
	'la':'Liber',
	'no':'Indeks',
	'es':'Índice',
	'pt':'Galeria',
	'sv':'Index',
	'hy':'Ինդեքս',
	'ru':'Индекс'
}

/* messages to be moved 
 'it':'Il testo proviene da', 
 'la':'Hic textus visibils est in', 
 'es':'Su texto procede de', 
 'ca':'El seu text procedeix de' 
*/

/* copy this to ru.ws */
if(mw.config.get('wgContentLanguage') == 'ru' && !self.ws_messages ) self.ws_messages = {
	'author':'Автор',
	'translator':'Переводчик',
	'editor':'Редактор',
	'publisher':'Издатель',
	'place':'Место',
	'volume':'Том',
	'school':'Школа',
	'book':'Книга',
	'collection':'Сборник',
	'journal':'Журнал',
	'phdthesis':'Диссертация, отчёт',
	'dictionary':'Словарь, энциклопедия',
	'progress':'Progress',
	'progress_T':'Закончено',
	'progress_V':'Нужно проверить',
	'progress_C':'Нужно вычитать',
	'progress_MS':'Готово для согласования и разделения',
	'progress_OCR':'Нужно распознать',
	'progress_X':'Исходный файл — часть большего текста или смесь нескольких источников',
	'progress_L':'Исходный файл содержит ошибки (отсутствуют страницы, перепутан порядок страниц и т.п.',
	'Image':'Изображение',
	'Source':'Источник'
}

if(!self.ws_messages) self.ws_messages = { }

function ws_msg(name) {
   var m = self.ws_messages[name];
   if(m) return m; else return name;
}

/* Note : there is a similar function in wikibits.js, but it does not work for me pn page numbers */
function get_elements_by_classname(classname, tagname) {
	if(document.getElementsByClassName) return document.getElementsByClassName(classname);
	var ml = new Array();
	var l = document.getElementsByTagName(tagname);
	for (var i=0; i< l.length; i++) {
		var a = l[i]; 
		if( a.className.indexOf(classname) !=-1 ) ml[ml.length] = l[i];
	}
	return ml;
}
        

function get_optlist() {
	var optlist = document.getElementById("optlist");
	if(!optlist) {
		var displayOptions = document.createElement("div");
                if (self.skin=='vector') displayOptions.className = "portal"; else displayOptions.className = "portlet";
		if (self.skin=='vector') cl="body"; else cl="pBody";
		displayOptions.innerHTML = '<h5>' + ws_msg('optlist') + '<\/h5><div class="'+cl+'"><ul id="optlist"> </ul><\/div>';
                var ptb = document.getElementById("p-tb");
                ptb.parentNode.insertBefore(displayOptions,ptb);
                displayOptions.setAttribute("id","p-displayOptions");
                displayOptions.id="p-displayOptions"; /* */
		optlist = document.getElementById("optlist");
	}
	return optlist;
}

/**** Display options ****/

function OptionText() {
   var indexNavigationBar = 0;
   // iterate over all < span >-elements until class "OptionText" is found
   for(
           var i=0; 
           SpanElem = document.getElementsByTagName("span")[i]; 
           i++
       ) {
       // if found an option span
       if (SpanElem.className == "OptionText") {
          //SpanElem.style.display = 'none';
          OptionTitle = SpanElem.title;
          OptionStyle = SpanElem.firstChild.getAttribute('style');

          //check if option was already encountered...
          if(!document.getElementById(OptionTitle)){

            //read cookie
            var DisplayOptionDefault = true;
            CookieDisplayOption = $.cookie("Display"+OptionTitle)
            if (CookieDisplayOption ) {
            if (CookieDisplayOption == "false") DisplayOptionDefault = false; }

            var PageDisplay = document.createElement("li");
            PageDisplay.setAttribute('id', OptionTitle);
            var PageDisplayLink = document.createElement("a");

            OptionText = document.createTextNode("Désactiver "+OptionTitle);
            PageDisplayLink.appendChild(OptionText);
            PageDisplayLink.setAttribute('href','javascript:displayOptionText("'+OptionTitle+'","' + OptionStyle +'", '+DisplayOptionDefault+');');
            PageDisplay.appendChild(PageDisplayLink);

            var optlist = get_optlist();
            optlist.appendChild(PageDisplay);

            displayOptionText(OptionTitle,OptionStyle,DisplayOptionDefault);
          }
       }
   }
 }

 function displayOptionText(optiontitle, optionstyle, bool) {
  
  $.cookie("Display"+optiontitle,bool);
  var PageDisplayLink =  document.getElementById(optiontitle).firstChild;;

   // iterate over all < span >-elements
   for(
           var i=0; 
           SpanElem = document.getElementsByTagName("span")[i]; 
           i++
       ) {
        // if found an option text
        if ((SpanElem.className == "OptionText") && (SpanElem.title == optiontitle)) {
          if(bool==true ) {
            SpanElem.setAttribute('style',optionstyle);
            PageDisplayLink.firstChild.data = (optiontitle);
            PageDisplayLink.setAttribute('href', 'javascript:displayOptionText("'+optiontitle+'","'+optionstyle+'", false);');
          }
          if(bool==false) {
            SpanElem.setAttribute('style','null');
            PageDisplayLink.firstChild.data = (optiontitle);
            PageDisplayLink.setAttribute('href', 'javascript:displayOptionText("'+optiontitle+'","'+optionstyle+'", true);');

         }        
      }
   }
 }

$(OptionText);

function restore_lst(){
        var editbox = document.getElementById('wpTextbox1');
        search = /##[\s]*(.*?)[\s]*##\n/;
        a = editbox.value.split(search);
        s = a[0]; 
        ok = true;
        m = parseInt(a.length/2);
        for( i = 0 ; i < m ; i++ ) {
            title = a[i*2+1];
            /*title = title.replace(' ','_');*/
            content = a[i*2+2]; 
            s = s + "<section begin="+title+"/>" + content + "<section end="+title+"/>\n";
            /* if( i < m-1 ) s = s + "----\n"; */
        }
        editbox.value = s; 
}
 
/*
 * easy lst : hide section markers
 */
function easy_lst() {
        if(!self.proofreadpage_easy_lst) return;
        var editbox = document.getElementById('wpTextbox1');
        if(editbox && self.proofreadPageIsEdit) {

	search = /<section begin=[\s]*(.*?)[\s]*\/>/;
        a = editbox.value.split(search);
        s = a[0]; 
        ok = true;
        for( i = 0 ; i < parseInt(a.length/2) ; i++ ) {
            title = a[i*2+1];
            content = a[i*2+2]; 
            r2 = /^([\s\S]*?)<section end=(.*?)\/>(\n|)[\s]*([\s\S]*?)$/;
            m2 = content.match(r2);
            if( m2 ) {
               if(s && s.charAt(s.length-1)!='\n' ) s = s+'\n';
               s = s + "## " + title + " ##\n"+ m2[1] ;
               if( m2[4] ) { 
                  if( m2[4]!='----\n' ) {
                    if(s && s.charAt(s.length-1)!='\n' ) s = s+'\n';
                    s = s + "## _ ##\n" + m2[4] ;
                  } 
               }
             } else { 
               ok = false; /* alert("error"+title);*/
             }
        }
	if(ok) { 
             editbox.value = s; 
	     var saveButton = document.getElementById("wpSave"); 
	     var previewButton = document.getElementById("wpPreview"); 
	     var diffButton = document.getElementById("wpDiff")
	     if(saveButton){
		saveButton.onclick = restore_lst;
		previewButton.onclick = restore_lst;
		diffButton.onclick = restore_lst;
             } 
             //document.editform.onsubmit = restore_lst; 
        }
   }
}

$(easy_lst);