/*

fenstergroesse.js - Weiterleitung in Abhängigkeit der Browserfenstergröße
Autor: Christian Seiler, christian.seiler@selfhtml.org

Lizenz:

  Dieses Script darf beliebig verwendet werden, eine Erläuterung ist unter
  http://selfaktuell.teamone.de/tippstricks/javascript/aufloesungsweiche/index.htm 
  zu finden.

Version: 0.1

Bereitgestellte Funktionen:
  
  weiterleitung_fensterbreite (default, breite1, seite1, ..., breiteN, seiteN)
    
    Weiterleitung in Abhängigkeit der Fensterbreite.
    default
      Die Seite, die geladen werden soll, wenn die Breite nicht feststellbar
      war.
    breiteN
      Alle zu erkennenden Fensterbreiten in beliebiger Reihenfolge. Die
      größtmögliche Fensterbreite wird genommen.
    seiteN
      Die zu der n-ten Breite gehörende Seite, auf die weitergeleitet werden
      soll.
  
  weiterleitung_fensterhoehe (default, hoehe1, seite1, ..., hoeheN, seiteN)
    
    Weiterleitung in Abhängigkeit der Fensterhöhe.
    default
      Die Seite, die geladen werden soll, wenn die Höhe nicht feststellbar
      war.
    hoeheN
      Alle zu erkennenden Fensterhöhen in beliebiger Reihenfolge. Die
      größtmögliche Fensterhöhe wird genommen.
    seiteN
      Die zu der n-ten Höhe gehörende Seite, auf die weitergeleitet werden
      soll.
  
*/

function weiterleitung_fensterbreite ()
{
    var fensterbreite;
    
    // wenn die Anzahl der Parameter nicht 1,3,5,... ist
    if ((arguments.length + 1) % 2) {
        // Abbruch
        return false;
    }
    
    // Netscape-Methode
    if (window && window.innerWidth) {
        fensterbreite = screen.width;
    // Internet-Explorer-Methode
    } else if (document && document.body && document.body.offsetWidth) {
        fensterbreite = screen.width;
    // Browser unterstützt das nicht
    } else {
        // auf Standardseite weiterleiten
        location.replace (arguments[0]); return;
    }
    
    // Anzahl an Fensterbreiten
    var anzahl = (arguments.length - 1) / 2;
    
    // gefundene Breite, Zähler
    var gef_breite = -1; var i;
    
    // alle Breiten durchgehen
    for (i = 0; i < anzahl; i++) {
        // wenn aktuelle Fensterbreite größer als angegebene: passt rein
        if (fensterbreite > arguments[i*2+1]) {
            // neue gefundene Breite setzen
            gef_breite = i;
        }
    }
    
    // diese Breite nehmen
    // falls keine Breite gefunden wurde (gef_breite == -1)
    // wird automatisch die Defaultbreite genommen
    // (wg. -1 * 2 + 2 = 0)
    //alert (fensterbreite);

    location.replace (arguments[gef_breite*2+2]); return;
}

function weiterleitung_fensterhoehe ()
{
    var fensterhoehe;
    
    // wenn die Anzahl der Parameter nicht 1,3,5,... ist
    if ((arguments.length + 1) % 2) {
        // Abbruch
        return false;
    }
    
    // Netscape-Methode
    if (window && window.innerHeight) {
        fensterhoehe = window.innerHeight;
    // Internet-Explorer-Methode
    } else if (document && document.body && document.body.offsetHeight) {
        fensterhoehe = document.body.offsetHeight;
    // Browser unterstützt das nicht
    } else {
        // auf Standardseite weiterleiten
        location.replace (arguments[0]); return;
    }
    
    // Anzahl an Fensterhöhen
    var anzahl = (arguments.length - 1) / 2;
    
    // gefundene Hähe, Zähler
    var gef_hoehe = -1; var i;
    
    // alle Höhen durchgehen
    for (i = 0; i < anzahl; i++) {
        // wenn aktuelle Fensterhöhe größer als angegebene: passt rein
        if (fensterhoehe > arguments[i*2+1]) {
            // neue gefundene Höhe setzen
            gef_hoehe = i;
        }
    }
    
    // diese Höhe nehmen
    // falls keine Höhe gefunden wurde (gef_hoehe == -1)
    // wird automatisch die Defaulthöhe genommen
    // (wg. -1 * 2 + 2 = 0)
    location.replace (arguments[gef_hoehe*2+2]); return;
}


