/*
	(c) 2002 functionNewMedia, Inc.

	The script may distributed and used freely, provided the above
	copyright notice remains intact and the both the script and this
	readme file are distributed together and unaltered.

	Send bug reports, comments, questions or requests to:

	c.kaminski@function.de and technik@plan-aet.com
*/

var fun_baseSize = 12;
var fun_baseSize2 = 120;
var fun_increment = 1;

var fun_bigger = ['<font face="Verdana" color="#999999" size="2">Stellen Sie die gew&uuml;nschte Textgr&ouml;&szlig;e ein: &nbsp;',
				  '&nbsp;+&nbsp;',
				  'Schrift gr&ouml;sser',
				  '',
				  '',
				  '',
				  '',
				  '',
				  '',
				  '',
				  '&nbsp;|&nbsp;'
				  ]

var fun_reset = ['',
				 'zur&uuml;ckstellen',
				 'Schriftgr&ouml;&szlig;e zur&uuml;ckstellen',
				  '',
				  '',
				  '',
				  '',
				  '',
				  '',
				  '',
				  '&nbsp;|&nbsp;'
				  ]

var fun_smaller = ['',
				   '&nbsp;-&nbsp;',
				   'Schrift kleiner',
				   '',
				   '',
				   '',
				   '',
				   '',
				   '',
				   '',
				   '</font>'
				   ]
				   
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_displayStatusMsg(msgStr) { //v1.0
  status=msgStr;
  document.MM_returnValue = true;
}				   

function Fun_fontsize(baseSize,baseSize2,increment,bigger,reset,smaller) {
	this.userAgent = navigator.userAgent.toLowerCase();
	this.w3c = (document.getElementById);
	this.ms = (document.all);
	this.isOp = (this.userAgent.indexOf('opera') != -1);
	this.isMacIe5 = ((this.userAgent.indexOf('msie') != -1) && !this.isOp && this.w3c && (this.userAgent.indexOf('mac') != -1));
	this.isOw = (this.userAgent.indexOf('omniweb') != -1);
	if ((this.w3c || this.ms) && !this.isOp && !this.isOw && !this.isMacIe5) {
		this.increment = increment;
		this.baseSize = baseSize;
		this.baseSize2 = baseSize2;
		this.name = "fun_fontSize";
		this.cookieName = "funfontpref=";
		this.expires = this.getExpiresDate();
		this.domain = this.getDomain();
		this.currentSize = this.getFontPref();
		this.biggerLink = this.getLinkHtml(1,bigger);
		this.resetLink = this.getLinkHtml(0,reset);
		this.smallerLink = this.getLinkHtml(-1,smaller);
		window.onload = new Function(this.name + '.init();');
		window.onunload = new Function(this.name + '.storeFontPref();');
	} else {
		this.biggerLink = '';
		this.resetLink = '';
		this.smallerLink = '';
	}
	this.allLinks = this.biggerLink + this.resetLink + this.smallerLink;
	this.style = this.getStyleHtml(baseSize);
	this.style2 = this.getStyleHtml(baseSize2);
}
Fun_fontsize.prototype.init = function() {
	this.body = (this.w3c)?document.getElementsByTagName('body')[0].style:document.all.tags('body')[0].style;
}
Fun_fontsize.prototype.getStyleHtml = function(size) {
	var html = '<style type="text/css" media="screen"> body { font-size: ';
	html += (this.currentSize)?this.currentSize:size;
	return html += 'px; } table { font-size: 1em; } --><' + '/style>';
}
Fun_fontsize.prototype.getLinkHtml = function(increment,properties) {
	if (properties[1]) {
		var html = properties[0] + '<a href="#" onclick="fun_fontSize.change(' + increment + '); return false;"';
		html += (properties[2])?'title="' + properties[2] + '"':'';
		html += (properties[3])?'class="' + properties[3] + '"':'';
		html += (properties[4])?'id="' + properties[4] + '"':'';
		html += (properties[5])?'name="' + properties[5] + '"':'';
		html += (properties[6])?'accesskey="' + properties[6] + '"':'';
		html += (properties[7])?'onmouseover="' + properties[7] + '"':'';
		html += (properties[8])?'onmouseout="' + properties[8] + '"':'';
		html += (properties[9])?'onfocus="' + properties[9] + '"':'';
		return html += '>'+ properties[1] + '<' + '/a>' + properties[10];
	} else return '';
}
Fun_fontsize.prototype.getDomain = function() {
	var href = document.location.href;
	return href.substring(href.indexOf('.'),href.indexOf('/',href.indexOf('.')));
}
Fun_fontsize.prototype.getExpiresDate = function() {
	var expires = new Date();
	expires.setFullYear(expires.getFullYear() + 1);
	return expires
}
Fun_fontsize.prototype.getFontPref = function() {
	var allCookies = document.cookie;
	var start = allCookies.indexOf(this.cookieName);
	if (start != -1) {
		start += this.cookieName.length;
		var end = allCookies.indexOf(';',start);
		end = (end != -1)?end:allCookies.length;
		return parseInt(allCookies.substring(start,end));
	} else return this.baseSize;
}
Fun_fontsize.prototype.storeFontPref = function() {
	document.cookie = this.cookieName + this.currentSize + '; expires=' + this.expires.toGMTString() + ';' + '; path=/; domain=' + this.domain;
}
Fun_fontsize.prototype.change = function(increment) {
	this.currentSize = (!increment)?this.baseSize:this.currentSize + increment;
	this.setFontSize();
}
Fun_fontsize.prototype.setFontSize = function() {
	this.body.fontSize = this.currentSize + 'px';
}

var  fun_fontSize = new Fun_fontsize(fun_baseSize,fun_baseSize2,fun_increment,fun_bigger,fun_reset,fun_smaller);
