Usuari:Coet/scripts/orto.js

De la Viquipèdia, l'enciclopèdia lliure

Nota: Després de desar, heu de netejar la memòria cau del navegador per veure els canvis. En la majoria de navegadors amb Windows o Linux, premeu Ctrl+F5 o bé premeu Shift i cliqueu el botó "Actualitza" (Ctrl i "Actualitza" amb Internet Explorer). Vegeu més informació i instruccions per a cada navegador a Viquipèdia:Neteja de la memòria cau.

/*
<pre>

Eina adaptada de l'Usuari:Razor_Ramon_HG/orto.js per afegir-la als Viquiestris.

*/

function afegirOrto(){
var btn_diff = document.getElementById('wpDiff');
if (btn_diff) {

   var par = btn_diff.parentNode;
   var avi = par.parentNode;
   var botonsEdit;

   var div_orto = document.createElement("div"); //per la "botonera" orto
   div_orto.id = "div_orto";

   var frm_orto = document.createElement("form");
   frm_orto.name = "frm_orto";
   frm_orto.id = "frm_orto";
   frm_orto.method = "post";
   frm_orto.action = "http://62.57.89.142/ortophp/ortophp.php";
   frm_orto.target = "ortobox";
   frm_orto.enctype = "multipart/form-data";
   div_orto.appendChild(frm_orto);

   var hid_text = document.createElement("input");
   hid_text.type = "hidden";
   hid_text.name = "hid_text";
   hid_text.id = "hid_text";
   hid_text.value = document.getElementById("wpTextbox1").value; //wpTextbox1.value;

   var txt = document.getElementById('wpTextbox1');
   var ortobox = document.createElement("iframe");
   ortobox.style.margin = "0 0 0 0";
   ortobox.style.padding = "0 0 0 0";
   ortobox.style.width = txt.offsetWidth + "px";
   ortobox.style.height = "250px";
   ortobox.style.display = "none";
   ortobox.id = "ortobox";
   ortobox.name = "ortobox";

   function amplia_ifr() {
      var resum = document.editform.wpSummary.value

      /*
      normalment el txt té 370px d'alçada, reduïm a 250px les
      dues caixes pq es puguin veure a la vegada,
      en resol·lucions de 1024x768, (potser 800x600 també) 
      l'usuari pot variar això amb +/- lin
      */

      btn_orto.value = "Torna a comprovar l'ortografia";
      txt.style.height="250px";
      ortobox.style.display = "block";
      NetejaOrto.style.display = "inline";
      mesLin.style.display = "inline";
      menysLin.style.display = "inline";

      /*
      botons de desar pàgina i copy-warn display->none
      nota: no mostrar botó d'enviar sense copy-warn!
      */

      var alltags = document.getElementsByTagName("*");

      if ( botonsEdit == undefined ) {
         for (i=0; i<alltags.length; i++){
            if (alltags[i].className=="editButtons") {

               /*
               aquest div no té "id", només hi ha un a la classe,
               ho desem a botonsEdit que és var global i per ocultar
               orto o en cas que s'obri orto un altre cop
               ja no caldrà passar per tot els elements
               */

               botonsEdit = alltags[i];
               botonsEdit.style.display = "none";
            }
         }
      } else {
         botonsEdit.style.display = "none";
      }

      var copyw = document.getElementById('editpage-copywarn');
      copyw.style.display = "none";

      if (document.editform.wpSummary.value) 
      {
         if (resum.substring(resum.length-3)=='*/ ')
         { document.editform.wpSummary.value = resum + ' Revisada ortografia mitjançant els '
         + '[[Usuari:Pasqual/viquiestris|Viquiestris]]';
         }
         else if (resum.indexOf('evisada orto') == -1) //no hi pose la 'r' per si és maj. o min.
              {
              document.editform.wpSummary.value = resum
              + ', revisada ortografia mitjançant els [[Usuari:Pasqual/viquiestris|Viquiestris]]';
              }
      }
      else
      { document.editform.wpSummary.value = 'Revisada ortografia mitjançant els ' +
        '[[Usuari:Pasqual/viquiestris|Viquiestris]]';
      } 
   }

   var btn_orto = document.createElement("input");
   btn_orto.type = "submit";
   btn_orto.name = "wpOrto";
   btn_orto.id = "wpOrto";
   btn_orto.value = "Ortografia";
   btn_orto.style.margin = "0 .5em 0 0";

   function estretix_ifr() {
      var ifr = document.getElementById("ortobox");
      ifr.src = "";
      ortobox.style.display = "none";
      NetejaOrto.style.display = "none";
      mesLin.style.display = "none";
      menysLin.style.display = "none";
      btn_orto.value = "Ortografia";

      //tornem el tamany original del camp d'edició principal

      txt.style.height = "370px";

      //tenim el div dels botons d'edició de quan hem obert orto amb amplia_ifr()

      botonsEdit.style.display = "block";
      var copyw = document.getElementById('editpage-copywarn');
      copyw.style.display = "block";
   }

   var NetejaOrto = document.createElement("input"); 
   NetejaOrto.type = "button";
   NetejaOrto.name = "wpNetejaOrto";
   NetejaOrto.id = "wpNetejaOrto";
   NetejaOrto.value = "Tanca orto (tanqueu per enviar els canvis)";
   NetejaOrto.style.margin = "0 .5em 0 0";
   NetejaOrto.style.display = "none";
   NetejaOrto.onclick = estretix_ifr;

   function mesAltBoxes(){
      altTxt = parseInt(txt.offsetHeight);  // 370 = parseInt("370px");
      altTxt += 50;
      txt.style.height = altTxt + "px";
      ortobox.style.height = altTxt + "px";
   }

   function menysAltBoxes(){
      altTxt = parseInt(txt.offsetHeight);  // 370 = parseInt("370px");
      altTxt -= 50;
      txt.style.height = altTxt + "px";
      ortobox.style.height = altTxt + "px";
   }

   var mesLin = document.createElement("input");
   mesLin.type = "button";
   mesLin.name = "wpMésLin";
   mesLin.id = "wpMésLin";
   mesLin.value = "+ lin";
   mesLin.style.margin = "0 .5em 0 0";
   mesLin.style.display = "none";
   mesLin.onclick = mesAltBoxes;

   var menysLin = document.createElement("input");
   menysLin.type = "button";
   menysLin.name = "wpMenysLin";
   menysLin.id = "wpMenysLin";
   menysLin.value = "- lin";
   menysLin.style.margin = "0 .5em 0 0";
   menysLin.style.display = "none";
   menysLin.onclick = menysAltBoxes;

   //els appendChilds s'han de fer després de crear-ho tot

   avi.appendChild(div_orto);
   frm_orto.appendChild(hid_text);
   par.parentNode.appendChild(ortobox);
   btn_orto.onclick = amplia_ifr;
   frm_orto.appendChild(btn_orto);
   frm_orto.appendChild(NetejaOrto);
   frm_orto.appendChild(mesLin);
   frm_orto.appendChild(menysLin);
 }
}

function canvi(){
   var hid_text = document.getElementById('hid_text');
   var txt = document.getElementById('wpTextbox1');
   hid_text.value = txt.value;
}

function afegirEvents(){
   var txt = document.getElementById('wpTextbox1');
   if (txt.addEventListener) {
      txt.addEventListener("change", canvi, false);
   } else if (txt.attachEvent) {
      txt.attachEvent("onchange", canvi);
   }
}

//</pre>