/* zoom-tool - function collection, 01.02.2006, dkd, cz */


/* cookie handling. up until now only one value is mapped. */

	/* store cookie data */

function setCookie(name, wert, domain, path, secure){
	var cook = name+'='+unescape(wert);
	var expires = new Date();
	expires.setTime(expires.getTime() + 86400000);
	cook += ';path=/';
	cook += '; expires=' + expires;
	document.cookie = cook;
}

	/* load cookie data */

function getCookie(name){
	var i=0
	var search = name+"="
	while (i<document.cookie.length){
	  if (document.cookie.substring(i, i+search.length)==search){
	     var ende = document.cookie.indexOf(";", i+search.length)
	     ende = (ende>-1) ? ende : document.cookie.length
	     var cook = document.cookie.substring(i+search.length, ende)
	     return unescape(cook)
	  }
	  i++
	}
	return null
}

/* zoom - handling. */
	/* set zoom */
function setZoom( mode ) {
	// get size
	if( getCookie('zoom') != null ) {
		x = Number(getCookie('zoom'));
	} else {
		// x = document.getElementsByTagName('body')[0].style.fontSize;
		x = 68.8;
	}

	switch (mode) {
		case 'in':
			if ( x < 140 ) {
				x = String(x + 10);
			}
			break;
		case 'out':
			if ( x > 40 ) {
				x = String(x-10);
			}
			break;
		case 'onload':
			x = String(x);
			break;
		case 'default':
			x = String(68.8);
			break;
	}
	document.body.style.fontSize = x + '%';
	setCookie('zoom', x, null);

}

function setZoomOnload (evt) {
	setZoom('onload');
	return false;
}

function setZoomOut (evt) {
	setZoom('out');
	return false;
}

function setZoomDefault (evt) {
	setZoom('default');
	return false;
}

function setZoomIn (evt) {
	setZoom('in');
	return false;
}

/**
 * activate CSS for high contrast view
 *
 * @param	string	mode: (opt.) switch contrast mode to "on"/"off"; empty on initialisation
 */
function setContrast(mode) {
	var tag, currentMode;
	var doChange = false;
	var highContrastStyles = 'fileadmin/rauch-frei/css/screen/contrast.css';
	var tagId = 'high-contrast-styles';

	if (getCookie('contrast')) {
		currentMode = getCookie('contrast');
	}

	if (!mode) {
		if (!currentMode) {
				// first request
			mode = 'off';
		} else if(currentMode=='on') {
			mode = 'on';
			doChange = true;
		}
	} else {
		doChange = true;
	}

	if (doChange) {
		if (mode == 'on') {
			//<link href="fileadmin/rauch-frei/css/layout_2col_right_31.css" rel="stylesheet" type="text/css" /
			tag = document.createElement('link');
			tag.setAttribute('rel', 'stylesheet');
			tag.setAttribute('type', 'text/css');
			tag.setAttribute('id', tagId);
			tag.setAttribute('href', highContrastStyles);
			document.getElementsByTagName('head')[0].appendChild(tag);
		} else {
			tag = document.getElementById(tagId);
			if(tag) {
				tag.parentNode.removeChild(tag);
			}
		}
			// update image paths
		var numReplaced = setImageContrast(mode);

			// refresh viewport
		var bodyTag = document.getElementsByTagName('body')[0];
		bodyTag.style.visibility = 'hidden';
		bodyTag.style.visibility = 'visible';

	}

	setCookie('contrast', mode, null);
}



function addEvent(obj, eventType, func) {

	if (obj.attachEvent) {
		var retVal = obj.attachEvent("on"+eventType, func);
		return retVal;
	} else {
		return false;
	}
}

function initTools() {
	setZoom('onload');
}

