Utente:Samuele Papa/vector-backup

/*
html=$.ajax({url:"http://it.wikisource.org/w/index.php?action=raw&title=Indice:La_Sacra_Bibbia_(Diodati_1885).djvu",async:false}).responseText;
regexp= /(\{\{Centrato\|)\D*0\|([^\|]+?\|)([^\|]+?)(\})/g
result = regexp.exec(html);
*/
//funzione per le section con i tag
//tags: i tag da cercare separati da una virgola
//link: pagina in cui cercare
var splittedtags = new Array();
var elements_id= new Array();
var splittedid= new Array();
var l=0;
var matched_array=new Array();
function getsection(tags, link){
l=0;
matched_array=[];
    splittedtags=tags.split(',');
    console.log(splittedtags);
var html = $.ajax({
    url: link,
    async: false
}).responseText;
 
         $(html).find('.plus-section').each(function(i){
               elements_id[i]=$(this).attr('id').split('_');
           });
        console.log($(html).find('.plus-section:eq('+include(elements_id,splittedtags)[mode(include(elements_id,splittedtags))]+')'))
 
}
//find in a array code
//grazie a:http://stackoverflow.com/questions/143847/best-way-to-find-an-item-in-a-javascript-array
//ora modificata per il caso in questione
function include(arr,obj) {
    for(i=0;i<(arr.length);i++){
      for(f=0;f<arr[i].length;f++){
       for(e=0;e<obj.length;e++){
           if(arr[i][f].indexOf(obj[e]) != -1){
               matched_array[l]=i;
               l++
            }
        }
       }
     }
return matched_array;
}
//trova l'elemento che appare più volte
//grazie a:http://stackoverflow.com/questions/1053843/get-the-element-with-the-highest-occurrence-in-an-array
function mode(array)
{
    if(array.length == 0)
        return null;
    var modeMap = {};
    var maxEl = array[0], maxCount = 1;
    for(var i = 0; i < array.length; i++)
    {
        var el = array[i];
        if(modeMap[el] == null)
                modeMap[el] = 1;
        else
                modeMap[el]++;  
        if(modeMap[el] > maxCount)
        {
                maxEl = el;
                maxCount = modeMap[el];
        }
    }
    return maxEl;
}
if (wgCanonicalNamespace=="Pagina"){mw.loader.load('//it.wikisource.org/w/index.php?title=Utente:Samuele_Papa/editorline.js&action=raw&ctype=text/javascript');
}
mw.loader.load('//it.wikisource.org/w/index.php?title=User:Samuele_Papa/jquery-modal.js&action=raw&ctype=text/javascript');
mw.loader.load('//it.wikisource.org/w/index.php?title=Utente:Samuele_Papa/medagliette.js&action=raw&ctype=text/javascript');
mw.loader.load('//it.wikisource.org/w/index.php?title=Utente:Samuele_Papa/Um.js&action=raw&ctype=text/javascript');
/*Script per i tattoo*/
mw.loader.load('//it.wikisource.org/w/index.php?title=User:Samuele_Papa/personal-tattoo.js&action=raw&ctype=text/javascript');
//Defining some variables!!
var titletext;
 
 
if ( typeof $j != 'undefined' && typeof $j.fn.wikiEditor != 'undefined' ) {
  $j( function() {
 
                $j( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
                        'section': 'advanced',
                        'group': 'format',
                        'tools': {
                                'bibbiasect': {
                                        label: 'Bibbia Section',
                                        type: 'button',
                                        icon: 'http://upload.wikimedia.org/wikipedia/commons/c/c0/Spiral_section_icons_overview.png',
                                        action: {
                                                type: 'encapsulate',
                                                options: {
                                                        'pre': '{{Centrato|<small>\'\'','periMsg': 'Testo Section Bibbia','post': '\'\'</small>}}'
                                                }
                                        }
                                }
                        }
                } );
        } );
  }
 
 
function addfooterbibbia(){
$($('textarea')[2]).val('<hr><references/>{{PieDiPagina||}}');
}
 
$(document).ready(function(){
$('.wikiEditor-ui-top').append(tattooDiv);
});
//con tutti questi annidamenti sembra una cosa difficile
 
/* Cerca un risultato per il template Biblink */
 
var arraywiki={"Genesi": "[[Template:BibLink/Gen]]"
,"Esodo": "[[Template:BibLink/Eso]]"
,"Levitico": "[[Template:BibLink/Le]]"
,"Numeri": "[[Template:BibLink/Nu]]"
,"Deuteronomio": "[[Template:BibLink/De]]"
,"Giosuè": "[[Template:BibLink/Gios]]"
,"Giudici": "[[Template:BibLink/Giudic]]"
,"Rut": "[[Template:BibLink/Ru]]"
,"1Samuele": "[[Template:BibLink/1Sam]]"
,"2Samuele": "[[Template:BibLink/2Sam]]"
,"1Re": "[[Template:BibLink/1Re]]"
,"2Re": "[[Template:BibLink/2Re]]"
,"1Cronache": "[[Template:BibLink/1Cr]]"
,"2Cronache": "[[Template:BibLink/2Cr]]"
,"Esdra": "[[Template:BibLink/Giob]]"
,"Salmi": "procedura alternativa via macro word"
,"Proverbi": "[[Template:BibLink/Prov]]"
,"Ecclesiaste": "[[Template:BibLink/Eccl]]"
,"Cantico de' Cantici": "[[Template:BibLink/Cant]]"
,"Isaia": "[[Template:BibLink/Is]]"
,"Geremia": "[[Template:BibLink/Ger]]"
,"Lamentazioni": "[[Template:BibLink/Lam]]"
,"Ezechiele": "[[Template:BibLink/Ezecch]]"
,"Daniele": "[[Template:BibLink/Dan]]"
,"Osea": "[[Template:BibLink/Os]]"
,"Gioele": "[[Template:BibLink/Gioele]]"
,"Amos": "[[Template:BibLink/Am]]"
,"Abdia": "[[Template:BibLink/Abd]]"
,"Giona": "[[Template:BibLink/Giona]]"
,"Michea": "[[Template:BibLink/Mic]]"
,"Nahum": "[[Template:BibLink/Na]]"
,"Abacuc": "[[Template:BibLink/Ab]]"
,"Sofonia": "[[Template:BibLink/Sof]]"
,"Aggeo": "[[Template:BibLink/Ag]]"
,"Zaccaria": "[[Template:BibLink/Zac]]"
,"Malachia": "[[Template:BibLink/Mal]]"
,"S. Matteo": "[[Template:BibLink/Mat]]"
,"S. Marco": "[[Template:BibLink/Mar]]"
,"S. Luca": "[[Template:BibLink/Luc]]"
,"S. Giovanni": "[[Template:BibLink/Giov]]"
,"Fatti degli Apostoli": "[[Template:BibLink/Fat]]"
,"a' Romani": "[[Template:BibLink/Rom]]"
,"I. a' Corinzi": "[[Template:BibLink/1 Cor]]"
,"II. a' Corinzi": "[[Template:BibLink/2 Cor]]"
,"a' Galati": "[[Template:BibLink/Gal]]"
,"a' Efesini": "[[Template:BibLink/Ef]]"
,"a' Filippesi": "[[Template:BibLink/Fil]]"
,"a' Colossesi": "[[Template:BibLink/Col]]"
,"I. a' Tessalonicesi": "[[Template:BibLink/1 Tess]]"
,"II. a' Tessalonicesi": "[[Template:BibLink/2 Tess]]"
,"I. a' Timoteo": "[[Template:BibLink/1 Tim]]"
,"II. a' Timoteo": "[[Template:BibLink/2 Tim]]"
,"a' Tito": "[[Template:BibLink/Tit]]"
,"a' Filemone": "[[Template:BibLink/Fil]]"};
var arrayindice=["Genesi"
,"Esodo"
,"Levitico"
,"Numeri"
,"Deuteronomio"
,"Giosuè"
,"Giudici"
,"Rut"
,"1Samuele"
,"2Samuele"
,"1Re"
,"2Re"
,"1Cronache"
,"2Cronache"
,"Esdra"
,"Salmiprocedura alternativa via macro word"
,"Proverbi"
,"Ecclesiaste"
,"Cantico de' Cantici"
,"Isaia"
,"Geremia"
,"Lamentazioni"
,"Ezechiele"
,"Daniele"
,"Osea"
,"Gioele"
,"Amos"
,"Abdia"
,"Giona"
,"Michea"
,"Nahum"
,"Abacuc"
,"Sofonia"
,"Aggeo"
,"Zaccaria"
,"Malachia"
,"S. Matteo"
,"S. Marco"
,"S. Luca"
,"S. Giovanni"
,"Fatti degli Apostoli"
,"a' Romani"
,"I. a' Corinzi"
,"II. a' Corinzi"
,"a' Galati"
,"a' Efesini"
,"a' Filippesi"
,"a' Colossesi"
,"I. a' Tessalonicesi"
,"II. a' Tessalonicesi"
,"I. a' Timoteo"
,"II. a' Timoteo"
,"a' Tito"
,"a' Filemone"];
function bestMatch(s1,lista) {
   var best=0; 
   var bestEl=0; 
   for (var i=0;i<lista.length;i+=1) {
      similCor=simil(s1,lista[i]); if (similCor>best) {best=similCor; bestEl=i;}
   } 
return bestEl;}
function simil(s1,s2) {
	nc=4;
var cont1=0; 
for (var i=0;i<(s1.length);i+=1) 
    {if (s2.indexOf(s1.substring(i,i+nc))!=-1) cont1+=1;} 
return cont1/i;}
$('#search-cont').html('<input type="text" id="search" />');
$('#search').live('keyup',function(){
	$('#bestmatch').text(arrayindice[bestMatch(($('#search').val()),arrayindice)]+(arraywiki[arrayindice[bestMatch(($('#search').val()),arrayindice)]]));
});
 
/* Tastini personali */
 
/* BibLink */
if ( typeof $j != 'undefined' && typeof $j.fn.wikiEditor != 'undefined' ) {$j( function() {
    $j( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
      'section': 'advanced',
      'group': 'insert',
      'tools': {'BibLink': {
          label: 'BibLink',
          type: 'button',
          icon: 'http://upload.wikimedia.org/wikipedia/commons/0/09/Bible_scroll_template.svg',
          action: {type: 'encapsulate',
            options: { pre: "{{BibLink|",  post: "||}}"
}}}}});});}
 
/* Sezione */
if ( typeof $j != 'undefined' && typeof $j.fn.wikiEditor != 'undefined' ) {$j( function() {
    $j( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
      'section': 'advanced',
      'group': 'insert',
      'tools': {'Sezione': {
          label: 'Sezione',
          type: 'button',
          icon: 'http://upload.wikimedia.org/wikipedia/commons/c/c0/Spiral_section_icons_overview.png',
          action: {type: 'encapsulate',
            options: { pre: "{{Centrato|<small>''", post: "''</small>}}"
}}}}});});}
 
/* REF */
if ( typeof $j != 'undefined' && typeof $j.fn.wikiEditor != 'undefined' ) {$j( function() {
    $j( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
      'section': 'advanced',
      'group': 'insert',
      'tools': {'REF': {
          label: 'REF',
          type: 'button',
          icon: 'http://upload.wikimedia.org/wikipedia/commons/c/c4/Button_ref.png',
          action: {type: 'encapsulate',
            options: { pre: "<ref>",  post: "</ref>"
}}}}});});}
 
 
/* section */
if ( typeof $j != 'undefined' && typeof $j.fn.wikiEditor != 'undefined' ) {$j( function() {
    $j( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
      'section': 'advanced',
      'group': 'insert',
      'tools': {'section': {
          label: 'section',
          type: 'button',
          icon: 'http://upload.wikimedia.org/wikipedia/commons/4/44/Button_comillas_latinas.png',
          action: {type: 'encapsulate',
            options: { pre: "<section begin=s1 />",  post: "<section end=s1 />"
}}}}});});}
 
//Trasforma '' in <i> e ''' in <b>
function gethtmlfromwiki(){
$textarea=$('#wpTextbox1');
text=$textarea.val().replace(/(['][']['])([^\']+)(['][']['])/,'<b>$2</b>');
text=text.replace(/([']['])([^\']+)([']['])/,'<i>$2</i>');
$textarea.val(text);
}
var testo,testo1,testo2,testo3;
/* Tattoo Alex e Fixed position left panel  */
// Blocco del pannello sin
$("#p-logo").css("position","fixed");
$("#p-logo").css("top","0");
$("#mw-panel").css("position","fixed");
$("#mw-panel").css("height", "500px");
$("#mw-panel").css("overflow-y", "scroll");
 
//creazione di un tattoo che richiama funzioni varie
var tattooDiv='<div id="tattoo" style="float:right">';
 
tattooDiv+='<a href="javascript:addfooterbibbia()"><img src="http://upload.wikimedia.org/wikipedia/commons/3/3c/Aiga_rightanddownarrow_inv.svg" width="20" height="20" alt="Funzione addfooterbibbia()" /></a>';
 
tattooDiv+='<a href="javascript:bibbia3()"><img src="http://upload.wikimedia.org/wikisource/it/c/c2/Bibbia3.png" width="20" height="20" alt="Funzione bibbia3()" /></a>';
 
tattooDiv+='<a href="javascript:bibbia4()"><img src="http://upload.wikimedia.org/wikisource/it/f/f2/Bibbia4.png" width="20" height="20" alt="Funzione bibbia4()" /></a>';
 
tattooDiv+='<a href="javascript:bibbia5()"><img src="http://upload.wikimedia.org/wikisource/it/4/4c/B5.png" width="20" height="20" alt="Funzione bibbia5()" /></a>';
 
tattooDiv+='';
 
tattooDiv+='</div>';
 
/*Mette <ref> e inserisce il testo dentro al box */
function bibbia1(testo) {
testo=testo.replace(/[^>](\{\{BibLink)([^{]+?)(\}\})([,;-])/g,'<ref>{{BibLink$2}}$4');
testo=testo.replace(/([;,-])(\{\{BibLink)([^{]+?)(\}\})[^,;-]/g,'$1{{BibLink$3}}</ref>');
 
testo=testo.replace( /[^>](\{\{BibLink)([^{]+?)(\}\})[^<]/g,'<ref>{{BibLink$2}}</ref>');
$('#wpTextbox1').val(testo);
}
/* Trova i capitoli aggiuntivi dopo il BibLink e anche i numeri prima e sistema un po' le cose*/
function bibbia3(testo){
       var patt=/([123]\s)({{BibLink\|)/g;
       testo=testo.replace(patt,'$2$1');
       var patt=/(\{\{BibLink[^\{\{]+?)([0-9]+\|)([0-9]+\}\})[;][\W]+([0-9]+)[.][\W]+([0-9]+)/g;
       testo=testo.replace(patt,'$1$2$3;$1$4|$5|$4.$5}}');
       return testo;
}
function bibbia5(){
      var editbox = document.getElementsByName('wpTextbox1')[0];
       testo=editbox.value;
/*        patt=/(\{\{BibLink\|\d?\ ?\w*\|).*(\}\});\s*(\d+)\.\s*(\d+)\./ //  pattern di un elemento tipo 1
 
       while (patt.test(testo)){
          elemento=patt.exec(testo)[0];
          lista=patt.exec(elemento);
          patt1=/\{\{.+\}\}/;
          oldElemento=patt1.exec(elemento);
          newElemento=oldElemento+"; "+lista[1]+lista[3]+"|"+lista[4]+"|"+lista[3]+". "+lista[4]+lista[2]+"."; 
          testo=testo.replace(elemento,newElemento);
       }
 
      patt=/(\{\{BibLink\|\d?\ ?\w*\|\d+\|)(\d+)(\}\})([-,])\s*(\d+)/
        while (patt.test(testo))
          {
          elemento=patt.exec(testo)[0];
          lista=patt.exec(elemento);
          patt1=/\{\{.+\}\}/;
          oldElemento=patt1.exec(elemento);
          newElemento=oldElemento+lista[4]+lista[1]+lista[5]+"|"+lista[5]+lista[3]; 
         testo=testo.replace(elemento,newElemento);
          }
       //editbox.value=testo;
bibbia1(testo);*/
testo=testo.replace('cioe','cioè');
$('#wpTextbox1').val(testo);
}
/* mybibbia2() trasforma 2 Cor. 11, 7, ecc. o cose simili in {{BibLink|2 Cor|11|7}}ecc. 
Ho deciso di far funzionare lo script solo con quello selezionato */
function mybibbia2(){
       testo=Selection();
       var pattern=/([0-9][ ]|[]|[0-9][0-9][ ])([A-Za-z]+)(\W+)([0-9]+)([\W]+)([0-9]+)([\W]+)/;
       testo=testo.replace(pattern,"{{BibLink|$1$2|$4|$6}}")
       return testo;
}
/* Prova a sostituire note con più versetti una dietro l'altro, separati da una virgola*/
function bibbia4(){
      var editbox = document.getElementsByName('wpTextbox1')[0];
      testo=editbox.value;
      /* Pattern per sistemare le funzioni primordiali deve partire prima di tutti */
      testo=testo.replace(/[^{{\w\|\(]([a-zA-Z]+)\s*\W*([^\/][0-9]+).\s*\W*([0-9]+)/g,'{{BibLink|$1|$2|$3}}');
      /*Trova i versetti aggiuntivi*/
      var patt=/(\{\{BibLink[^\{\{]+?[0-9]+\|)([0-9]+\}\})[,][\W]+([0-9]+)[,][\W]+([0-9]+)[,][\W]+([0-9]+)/g;
      testo=testo.replace(patt,"$1$2,$1$3|$3}},$1$4|$4}},$1$5|$5}}");
      var patt=/(\{\{BibLink[^\{\{]+?[0-9]+\|)([0-9]+\}\})[,][\W]+([0-9]+)[,][\W]+([0-9]+)/g;
      testo=testo.replace(patt,"$1$2,$1$3|$3}},$1$4|$4}}");
      var patt=/(\{\{BibLink[^\{\{]+?[0-9]+\|)([0-9]+\}\})[,][\W]+([0-9]+)/g;
      testo=testo.replace(patt,"$1$2,$1$3|$3}}");
      var patt=/(\{\{BibLink[^\{\{]+?[0-9]+\|)([0-9]+\}\})[,-]+([0-9]+)/g;
      testo=testo.replace(patt,"$1$2-$1$3|$3}}");
      bibbia1(bibbia3(testo));
}
/*Sostituisce un valore nel testo, anche con regex (in teoria) */
function replacer(testofrom,testoto){
$('#wpTextbox1').text($('#wpTextbox1').text().replace(testofrom,testoto));
}
function selection(area) {
  if (area==undefined) {if (wgCanonicalNamespace=="Pagina") area=1; else area=0; }
  txtarea= $('textarea')[area];
  return [$(txtarea).val().substring(0,txtarea.selectionStart),
  $(txtarea).val().substring(txtarea.selectionStart,txtarea.selectionEnd),
  $(txtarea).val().substring(txtarea.selectionEnd)];  
}
// Ottieni la selezione nella textarea
	/*function Selection()
		{
		  var textComponent = document.getElementById('wpTextbox1');
		  var selectedText;
		  // IE version
		  if (document.selection != undefined)
		  {
			textComponent.focus();
			var sel = document.selection.createRange();
			selectedText = sel.text;
		  }
		  // Mozilla version
		  else if (textComponent.selectionStart != undefined)
		  {
			var startPos = textComponent.selectionStart;
			var endPos = textComponent.selectionEnd;
			selectedText = textComponent.value.substring(startPos, endPos)
		  }
		  return selectedText;
		}*/
/* Funzione che interagisce con il box di Alex brollo nella sua sandbox e anche nella mia Bibbia, temporaneamente */
$('#Scatolotto').mouseenter(function(){
console.log('enter');
$("#Scatolotto a").removeAttr("href").css('cursor','pointer');
$(this).children('#downRight').click(function(){
  $(this).parent().animate({'left':'','top':''});
});
$(this).children('#downLeft').click(function(){
  $(this).parent().animate({'left':'0','top':''});
});
$(this).children('#upLeft').click(function(){
  $(this).parent().animate({'left':'0','top':'0'});
});
$(this).children('#upRight').click(function(){
  $(this).parent().animate({'left':'','top':'0'});
});
/*Il link deve avere nell'attributo data-tdmodal-id l'id del div da cui pescare il contenuto. 
Il div in questo caso è quello che è subito in parte, infatti è chiamato mymodal e ha come class tdmodal, 
poichè ho messo del css particolare in modo che sia display:none, in modo che non si veda. 
Il resto di css è nel mio vector.css*/
$('#mw-panel').prepend('<a id="miomodal" data-tdmodal-id="mymodal" >Mio modal</a><div id="mymodal" class="tdmodal">Cotenuto<input type="text"><div class="close">Close</div></div>');
});