
function zoomFontSize() {
    this.size = "13";				//DEFAULT [int] Muss in this.sizestep vorhanden sein. Eingestellte Schriftgröße
    this.sizestep = ['11','13','16','18','22'];	//DEFAULT [array] Schriftgrößen, welche angezeigt werden sollen (inkl. min und max size!!)
    //this.lineheight = "1.45em";			//DEFAULT [string] Zeilenhöhe
    this.lineheight = "1.2em";			//DEFAULT [string] Zeilenhöhe
    this.targets = ['zoomContent','zoomContent1','zoomContent2','zoomContent3','zoomContent4'];		//DEFAULT [array] Contentbereiche welche vergrößert/verkleinert werden sollen
  }

zoomFontSize.prototype = {
  config : function(_size, _sizestep, _lineheight, _targets) {
    this.size = _size || this.size;
    this.sizestep = _sizestep || this.sizestep;
    this.lineheight = _lineheight || this.lineheight;
    this.targets = _targets || this.targets;
  },

  gross : function() {
    for(var g=1; g < this.sizestep.length; g++) {

      if(this.size == this.sizestep[g-1]){
        this.size = this.sizestep[g];
        break;
      }
    }
    if (this.checkBrowser()) this.doScale();
  },

  klein : function() {
    for(var k=this.sizestep.length; k >= 1; k--) {

      if(this.size == this.sizestep[k]){
        this.size = this.sizestep[k-1];
        break;
      }
    }
    if (this.checkBrowser()) this.doScale();
  },

  doScale : function() {
    var nTarget = 0;
    var nTagName = 0;

    for(var n=0; n < this.targets.length; n++) {
      nTarget = document.getElementById(this.targets[n]);

      if(nTarget && nTarget.style) {
        nTarget.style.fontSize = this.size + 'px';
        nTarget.style.lineHeight = this.lineheight;

        for(var i=0; i < nTarget.getElementsByTagName("*").length; i++) {
        nTagName = nTarget.getElementsByTagName("*")[i];

          if(nTagName.nodeName != "BR" && nTagName.nodeName != "IMG") {
            nTagName.style.fontSize = this.size + 'px';
            nTagName.style.lineHeight = this.lineheight;
          }
        }
      }
    }
  },

  checkBrowser : function() {
    if(document.all && document.getElementById) return true;
    if(navigator.userAgent.indexOf('Netscape6/') >= 0 || navigator.userAgent.indexOf('Gecko') >= 0) return true;
    return false;
  }
}
zoomText = new zoomFontSize();

