﻿/* ------------------------------------------------------------------ */
// AUS- UND EINBLENDEN DER NAVIGATION BZW. NEWSBOX
/* ------------------------------------------------------------------ */
// This script based on Paul Snowden's work described on A List Apart
// <http://www.alistapart.com/stories/alternate/>
// Certain modifications (setFontSize and related) by Eric Meyer
// <http://www.meyerweb.com/eric/>
// Weitere Modifikationen von Wolfgang Wiese
// <http://www.xwolf.de>
// und Thomas-Michael Liebscher
// <http://www.thomas-liebscher.eu>
/* ------------------------------------------------------------------ */

function setActiveStyleSheet(title) {
  var i, a, main, current;
  if (title) {
    current = getActiveStyleSheet();
    if (title == current) {
       return;
    }
    if (title == 'activateleftbox') {
      if (current == 'BreitboxLinks') {
        title = 'Standardstil';
      } else {
        if (current == 'Superbreitbox') {
          title = 'BreitboxRechts';
        }
      }    
    } else {
      if (title == 'activaterightbox') {
        if (current == 'BreitboxRechts') {
          title = 'Standardstil';
        } else {
          if (current == 'Superbreitbox') {
            title = 'BreitboxLinks';
          }
        }    
      } else {
        if (title == 'BreitboxRechts') {
          if (current == 'BreitboxLinks') {
            title = 'Superbreitbox';
          } else {
            if (current == 'Standardstil') {
              title = 'BreitboxRechts';
            } else {
              title = 'Standardstil';
            }
          }
        } else {
          if (title == 'BreitboxLinks') {
            if (current == 'BreitboxRechts') {
              title = 'Superbreitbox';
            } else {
              if (current == 'Standardstil') {
                title = 'BreitboxLinks';
              } else {              
                title = 'Standardstil';
              }
            }            
          }
        }                  
      } 
    }

    
    for(i=0; (a = document.getElementsByTagName('link')[i]); i++) {
      if(a.getAttribute('rel').indexOf('style') != -1 && a.getAttribute('title')) {
        a.disabled = true;
        if(a.getAttribute('title') == title) {
          a.disabled = false;          
        }
      }
    }
  }
}

function getActiveStyleSheet() {
    var i, a;
    for(i=0; (a = document.getElementsByTagName('link')[i]); i++) {
      if(a.getAttribute('rel').indexOf('style') != -1 && a.getAttribute('title') && !a.disabled) return a.getAttribute('title');
    }
    return 'Standardstil';
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName('link')[i]); i++) {
    if(a.getAttribute('rel').indexOf('style') != -1
       && a.getAttribute('rel').indexOf('alt') == -1
       && a.getAttribute('title')
       )
       return a.getAttribute('title');
  }
  return 'Standardstil';
}

/* ------------------------------------------------------------- */
//             Cookie-Funktion von Peter-Paul Koch
// vgl. http://www.thestyleworks.de/tut-art/style_switcher_1.shtml
/* ------------------------------------------------------------- */

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = '; expires='+date.toGMTString();
  }
  else expires = '';
  document.cookie = name+'='+value+expires+'; path=/';
}

function readCookie(name) {
  var nameEQ = name + '=';
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function eraseCookie(name) {
	createCookie(name,'',-1);
}

/* ------------------------------------------------------------- */
//             Schriftgrößen-Funktion von Eric Meyer
//             vgl. <http://www.meyerweb.com/eric/>
/* ------------------------------------------------------------- */

function setFontSize(fontVal) {
	var fontSet = document.getElementById('fontSet');
	var docBase = new Array(); docBase = document.getElementsByTagName('body');
	if (!fontVal) {fontVal = document.getElementById('fontSet').value;}
	var docSize = fontVal+'px';
	createCookie('tml-size', fontVal, 365);
	docBase[0].style.fontSize = docSize;
	if (fontSet) {fontSet.value = fontVal;}
}

/* ------------------------------------------------------------------- */
// Event-Handler onLoad und onUnload zum Verwenden der Cookie-Funktion
/* ------------------------------------------------------------------- */

window.onload = function(e) {
  var cookie = readCookie('tml-style');
  var title = cookie ? cookie : getPreferredStyleSheet();
 // var title = 'Standardstil';
  setActiveStyleSheet(title);
 // alert(title);
  
//  var cookie2 = readCookie('tml-size');
//  if (cookie2) {setFontSize(cookie2);}
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie('tml-style', title, 14);
}
