MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus SchnuppTrupp
Wechseln zu: Navigation, Suche
(Änderung 12421 von Novelette (Diskussion) wurde rückgängig gemacht.)
 
(48 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
/* Das folgende JavaScript wird für alle Benutzer geladen. */
 
/* Das folgende JavaScript wird für alle Benutzer geladen. */
  
function setup() {
+
function rskpopup (url,t_name,x,y) {
  if (document.getElementById('countdown')) {
+
    var lat = url.match(/c1=[0-9]+[NS]+[0-9]+/);
     if (end = new Date(document.getElementById('countdown').innerHTML)) {
+
     var lng = url.match(/c2=[0-9]+[OW]+[0-9]+/);
      setTimeout("countdown()", 500);
+
    var map = url.match(/map=[RU]+[0-9]?/);
 +
    var gomap=0;
 +
    switch (map[0]) {
 +
        case "map=R":
 +
          gomap=0;
 +
          break;
 +
        case "map=U":
 +
          gomap=1;
 +
          break;
 +
        case "map=U2":
 +
          gomap=2;
 +
          break;
 +
        default:
 +
          gomap=0;
 
     }
 
     }
  }
+
    var map_url = 'http://www.schnupptrupp.org/Weltkarte/google/Weltkarte.html?'+lat[0]+'&'+lng[0]+'&'+map[0];
}
+
    var map_is_open = open ('','Weltkarte');
function toSt2(n) {
+
    if (map_is_open.location.href == 'about:blank'){
  s = "";
+
        map_is_open.location = map_url;
  if (n < 10) s += "0";
+
    } else {
  return (s + n).toString();
+
        lat=lat[0].match(/[0-9]+[NS]+[0-9]+/);
}
+
        lng=lng[0].match(/[0-9]+[OW]+[0-9]+/);
function toSt3(n) {
+
        var rspoint = map_is_open.RunescapeLatLngtoEuclidianLatLng(lat[0],lng[0]);
  s = "";
+
        map_is_open.wikimarker.setPosition(rspoint);
  if (n < 10) s += "00";
+
        map_is_open.switchLayer(gomap)
  else if (n < 100) s += "0";
+
        map_is_open.EuclideanMap.setZoom(6);
  return (s + n).toString();
+
        map_is_open.EuclideanMap.panTo(rspoint);
}
+
        map_is_open.focus();
function countdown() {
+
  var tname = ' Tage ';
+
  var hname = ' Stunden ';
+
  var mname = ' Minuten ';
+
  var sname = ' Sekunden ';
+
  var d = new Date();
+
  var count = Math.floor(end.getTime() - d.getTime());
+
  if(count > 0) {
+
    var miliseconds = toSt3(count%1000); count = Math.floor(count/1000);
+
    var seconds = toSt2(count%60); count = Math.floor(count/60);
+
    if (seconds==1) {
+
      sname = ' Sekunde ';
+
 
     }
 
     }
    var minutes = toSt2(count%60); count = Math.floor(count/60);
 
    if (minutes==1) {
 
      mname = ' Minute ';
 
    }
 
    var hours = toSt2(count%24); count = Math.floor(count/24);
 
    if (hours==1) {
 
      hname = ' Stunde ';
 
    }
 
    var days = count;
 
    if (days==1) {
 
      tname = ' Tag ';
 
    }
 
    document.getElementById('countdown').innerHTML = days + tname + hours + hname + minutes + mname + seconds + sname +'';
 
    setTimeout("countdown()", 1000);
 
  }
 
}
 
 
//================================================================================
 
//*** Dynamic Navigation Bars
 
 
// set up the words in your language
 
var NavigationBarHide = 'Einklappen';
 
var NavigationBarShow = 'Ausklappen';
 
 
// 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
 
if (typeof NavigationBarShowDefault == 'undefined' ) {
 
    var NavigationBarShowDefault = 1;
 
}
 
 
// adds show/hide-button to navigation bars
 
addOnloadHook(function() {
 
// shows and hides content and picture (if available) of navigation bars
 
// Parameters:
 
//    indexNavigationBar: the index of navigation bar to be toggled
 
function toggleNavigationBar(NavToggle, NavFrame)
 
{
 
  if (!NavFrame || !NavToggle) {
 
  return false;
 
  }
 
 
  // if shown now
 
  if (NavToggle.firstChild.data == NavigationBarHide) {
 
  for (
 
  var NavChild = NavFrame.firstChild;
 
  NavChild != null;
 
  NavChild = NavChild.nextSibling
 
  ) {
 
  if (NavChild.className == 'NavPic') {
 
  NavChild.style.display = 'none';
 
  }
 
  if (NavChild.className == 'NavContent') {
 
  NavChild.style.display = 'none';
 
  }
 
  if (NavChild.className == 'NavToggle') {
 
  NavChild.firstChild.data = NavigationBarShow;
 
  }
 
  }
 
 
  // if hidden now
 
  } else if (NavToggle.firstChild.data == NavigationBarShow) {
 
  for (
 
  var NavChild = NavFrame.firstChild;
 
  NavChild != null;
 
  NavChild = NavChild.nextSibling
 
  ) {
 
  if (NavChild.className == 'NavPic') {
 
  NavChild.style.display = 'block';
 
  }
 
  if (NavChild.className == 'NavContent') {
 
  NavChild.style.display = 'block';
 
  }
 
  if (NavChild.className == 'NavToggle') {
 
  NavChild.firstChild.data = NavigationBarHide;
 
  }
 
  }
 
  }
 
}
 
 
function toggleNavigationBarFunction(NavToggle, NavFrame) {
 
return function() {
 
toggleNavigationBar(NavToggle, NavFrame);
 
return false;
 
};
 
}
 
// iterate over all NavFrames
 
var content = document.getElementById("content") || document.getElementById("mw_content");
 
var NavFrames = getElementsByClassName(content, "div", "NavFrame");
 
// if more Navigation Bars found and not template namespace than Default: hide all
 
var initiallyToggle = NavigationBarShowDefault < NavFrames.length && wgNamespaceNumber != 10;
 
for (var i=0;  i<NavFrames.length; i++) {
 
var NavFrame = NavFrames[i];
 
var NavToggle = document.createElement("a");
 
NavToggle.className = 'NavToggle';
 
NavToggle.setAttribute('href', '#');
 
 
var NavToggleText = document.createTextNode(NavigationBarHide);
 
NavToggle.appendChild(NavToggleText);
 
 
// add NavToggle-Button as first div-element
 
// in < div class="NavFrame" >
 
NavFrame.insertBefore(NavToggle, NavFrame.firstChild);
 
 
NavToggle.onclick = toggleNavigationBarFunction(NavToggle, NavFrame);
 
if (initiallyToggle) {
 
toggleNavigationBar(NavToggle, NavFrame);
 
}
 
}
 
        setup();
 
        document.getElementById('scroll').onmousedown = function () {
 
                  dragStart(event, 'scroll');
 
        }
 
});
 
 
//====================================================================================
 
//drag scroll
 
 
// Determine browser and version.
 
 
function Browser() {
 
 
  var ua, s, i;
 
 
  this.isIE    = false;
 
  this.isNS    = false;
 
  this.version = null;
 
 
  ua = navigator.userAgent;
 
 
  s = "MSIE";
 
  if ((i = ua.indexOf(s)) >= 0) {
 
    this.isIE = true;
 
    this.version = parseFloat(ua.substr(i + s.length));
 
    return;
 
  }
 
 
  s = "Netscape6/";
 
  if ((i = ua.indexOf(s)) >= 0) {
 
    this.isNS = true;
 
    this.version = parseFloat(ua.substr(i + s.length));
 
    return;
 
  }
 
 
  // Treat any other "Gecko" browser as NS 6.1.
 
 
  s = "Gecko";
 
  if ((i = ua.indexOf(s)) >= 0) {
 
    this.isNS = true;
 
    this.version = 6.1;
 
    return;
 
  }
 
}
 
 
var browser = new Browser();
 
 
// Global object to hold drag information.
 
 
var dragObj = new Object();
 
dragObj.zIndex = 0;
 
 
function dragStart(event, id) {
 
 
  var el;
 
  var x, y;
 
 
  // If an element id was given, find it. Otherwise use the element being
 
  // clicked on.
 
 
  if (id)
 
    dragObj.elNode = document.getElementById(id);
 
  else {
 
    if (browser.isIE)
 
      dragObj.elNode = window.event.srcElement;
 
    if (browser.isNS)
 
      dragObj.elNode = event.target;
 
 
    // If this is a text node, use its parent element.
 
 
    if (dragObj.elNode.nodeType == 3)
 
      dragObj.elNode = dragObj.elNode.parentNode;
 
  }
 
 
  // Get cursor position with respect to the page.
 
 
  if (browser.isIE) {
 
    x = window.event.clientX + document.documentElement.scrollLeft
 
      + document.body.scrollLeft;
 
    y = window.event.clientY + document.documentElement.scrollTop
 
      + document.body.scrollTop;
 
  }
 
  if (browser.isNS) {
 
    x = event.clientX + window.scrollX;
 
    y = event.clientY + window.scrollY;
 
  }
 
 
  // Save starting positions of cursor and element.
 
 
  dragObj.cursorStartX = x;
 
  dragObj.cursorStartY = y;
 
  dragObj.elStartLeft  = parseInt(dragObj.elNode.style.left, 10);
 
  dragObj.elStartTop  = parseInt(dragObj.elNode.style.top,  10);
 
 
  if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = 0;
 
  if (isNaN(dragObj.elStartTop))  dragObj.elStartTop  = 0;
 
 
  // Update element's z-index.
 
 
  dragObj.elNode.style.zIndex = ++dragObj.zIndex;
 
 
  // Capture mousemove and mouseup events on the page.
 
 
  if (browser.isIE) {
 
    document.attachEvent("onmousemove", dragGo);
 
    document.attachEvent("onmouseup",  dragStop);
 
    window.event.cancelBubble = true;
 
    window.event.returnValue = false;
 
  }
 
  if (browser.isNS) {
 
    document.addEventListener("mousemove", dragGo,  true);
 
    document.addEventListener("mouseup",  dragStop, true);
 
    event.preventDefault();
 
  }
 
}
 
 
function dragGo(event) {
 
 
  var x, y;
 
 
  // Get cursor position with respect to the page.
 
 
  if (browser.isIE) {
 
    x = window.event.clientX + document.documentElement.scrollLeft
 
      + document.body.scrollLeft;
 
    y = window.event.clientY + document.documentElement.scrollTop
 
      + document.body.scrollTop;
 
  }
 
  if (browser.isNS) {
 
    x = event.clientX + window.scrollX;
 
    y = event.clientY + window.scrollY;
 
  }
 
 
  // Move drag element by the same amount the cursor has moved.
 
 
  dragObj.elNode.style.left = (dragObj.elStartLeft + x - dragObj.cursorStartX) + "px";
 
  dragObj.elNode.style.top  = (dragObj.elStartTop  + y - dragObj.cursorStartY) + "px";
 
 
  if (browser.isIE) {
 
    window.event.cancelBubble = true;
 
    window.event.returnValue = false;
 
  }
 
  if (browser.isNS)
 
    event.preventDefault();
 
}
 
 
function dragStop(event) {
 
 
  // Stop capturing mousemove and mouseup events.
 
 
  if (browser.isIE) {
 
    document.detachEvent("onmousemove", dragGo);
 
    document.detachEvent("onmouseup",  dragStop);
 
  }
 
  if (browser.isNS) {
 
    document.removeEventListener("mousemove", dragGo,  true);
 
    document.removeEventListener("mouseup",  dragStop, true);
 
  }
 
 
}
 
}

Aktuelle Version vom 17. April 2018, 17:34 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */

function rskpopup (url,t_name,x,y) {
    var lat = url.match(/c1=[0-9]+[NS]+[0-9]+/);
    var lng = url.match(/c2=[0-9]+[OW]+[0-9]+/);
    var map = url.match(/map=[RU]+[0-9]?/);
    var gomap=0;
    switch (map[0]) {
        case "map=R":
           gomap=0;
           break;
        case "map=U":
           gomap=1;
           break;
        case "map=U2":
           gomap=2;
           break;
        default:
           gomap=0;
    }
    var map_url = 'http://www.schnupptrupp.org/Weltkarte/google/Weltkarte.html?'+lat[0]+'&'+lng[0]+'&'+map[0];
    var map_is_open = open ('','Weltkarte');
    if (map_is_open.location.href == 'about:blank'){
        map_is_open.location = map_url;
    } else {
        lat=lat[0].match(/[0-9]+[NS]+[0-9]+/);
        lng=lng[0].match(/[0-9]+[OW]+[0-9]+/);
        var rspoint = map_is_open.RunescapeLatLngtoEuclidianLatLng(lat[0],lng[0]);
        map_is_open.wikimarker.setPosition(rspoint);
        map_is_open.switchLayer(gomap)
        map_is_open.EuclideanMap.setZoom(6);
        map_is_open.EuclideanMap.panTo(rspoint);
        map_is_open.focus();
    }
}