/* Velkomstscript ver. 1.2.2 - Tilpasset nyt design, som åbenbart er dukket op med MW1.19. Lidt fiksere kontrol af om det er en brugdisk. KW*/
/* Velkomstscript ver. 1.2 - Se [[Brugerdiskussion:Morten LJ/velkomst.js]] for mere info */


 // Load settings, hvis de forskellige optioner ikke er sat, sæt dem til standard-værdien
 if ((typeof welcome_msg) == "undefined") {
         welcome_msg = 'Hjertelig velkommen til Wikipedia!';
 }
 if ((typeof welcomeIP_msg) == "undefined") {
         welcomeIP_msg = 'Hjertelig velkommen til Wikipedia, IP-bruger!';
 }
 if ((typeof welcometest_msg) == "undefined") {
         welcometest_msg = 'Velkommen til Wikipedia!';
 }
 if ((typeof welcometest2_msg) == "undefined") {
         welcometest2_msg = 'Jeg har opdaget, at dine redigeringer er i strid med vores politikker og normer';
 }
 if ((typeof welcometest3_msg) == "undefined") {
         welcometest3_msg = 'Stop med at vandalisere!';
 }
 if ((typeof welcomeminorchange) == "undefined") {
         welcomeminorchange = true;
 }
//Ved oprettelse af en ny side, findes "Mindre ændring" ikke, så vi checker lige for om den er der eller ej. Ikke pænt...
 if (document.editform &&(typeof document.editform.wpMinoredit) =="undefined")
 { 
	newusertalkpage=true;
 }
 else
 {
 	newusertalkpage=false;
 }
 
 // Support funktion, redigerer vi en IP?
 function EditingIP(sText)
 {
    var validnumbers = "0123456789";
    var validdots = '.';
    var IsIP = true;
    var Char;
    var dots = 0;
    var numbers = 0;
 
    // Gennemgå titlen char for char, start med at hoppe forbi "Redigerer Brugerdiskussion:"
    for (i = 27; i < sText.length; i++) 
    { 
       Char = sText.charAt(i); 
       if (validdots.indexOf(Char) != -1)
       {
          if (numbers == 0)
          {
              IsIP = false;
              break;
          }
          dots++;
          numbers = 0;
       } 
       else if (validnumbers.indexOf(Char) != -1) 
       {
          numbers++
       } 
       else
       {
          if (dots != 3)
          {
              IsIP = false;
          }
          break;
       }
    }
	return IsIP;
 } 
 
 // Wrapper-funktioner til hver knap (det er vigtigt at dele strings op med skabeloner for at "snyde" wiki-softwaren)
 function welcome() { insertsubmit('{{'+'velkommen|~~'+'~~}}', welcome_msg + ' (skabelon:velkommen)') }
 function welcomeIP() { insertsubmit('{{'+'velkommenIP|~~'+'~~}}', welcomeIP_msg + ' (skabelon:velkommenIP)') }
 function welcometest() { insertsubmit('{{'+'test|~~'+'~~}}', welcometest_msg + ' (skabelon:test)') }
 function welcometest2() { insertsubmit('{{'+'test2|~~'+'~~}}', welcometest2_msg + ' (skabelon:test2)') }
 function welcometest3() { insertsubmit('{{'+'test3|~~'+'~~}}', welcometest3_msg + ' (skabelon:test3)') }
 
 //
 function insertsubmit(text, description)
 {
     var txt = document.editform.wpTextbox1;
     txt.value = txt.value + text;
     document.editform.wpSummary.value = description;
	//Er det ikke en nyoprettelse? Så finde Mindre ændring og vi kan derfor prøve at sætte den, hvis  welcomeminorchange er true. Det er den nu aldrig.
	if (newusertalkpage!=true)
	{
	     document.editform.wpMinoredit.checked = welcomeminorchange;
	}
	     document.editform.submit();     
 }
  
 //Lav den tab der kalder welcome() når der bliver trykket på den
 addOnloadHook(function () 
 {

//Er det en brugerdiskussion ? Vi bruger det officielle svar fra mw.config.

if ( mw.config.get( 'wgCanonicalNamespace' ) === 'User_talk') {

       // mw.util.addPortletLink(where, url, name, id, title, key, after);
         if (EditingIP(document.title))
         {
             mw.util.addPortletLink('p-cactions', 'javascript:welcomeIP()', 'velkommenip', 'ca-welcome-IP', 'Tilføjer en velkomst-skabelon og gemmer', 'a',  '');
         }
         else
         {
         mw.util.addPortletLink('p-cactions', 'javascript:welcome()', 'velkommen', 'ca-welcome', 'Tilføjer en velkomst-skabelon og gemmer', 'a',  '');
         }
         mw.util.addPortletLink('p-cactions', 'javascript:welcometest()', 'test', 'ca-welcome-test', 'Tilføjer en velkomst-skabelon og gemmer', '',  '');
         mw.util.addPortletLink('p-cactions', 'javascript:welcometest2()', 'test2', 'ca-welcome-test2', 'Tilføjer en velkomst-skabelon og gemmer', '',  '');
         mw.util.addPortletLink('p-cactions', 'javascript:welcometest3()', 'test3', 'ca-welcome-test3', 'Tilføjer en velkomst-skabelon og gemmer', '',  '');
     }
 });