var cyzFontsizeCookieName = 'cyzFontsizeStep'; // cookie name

var cyzFontsizeBasis     = 75; // font size at startup 
var cyzFontsizeStepWidth = 15; // increase/decrease font every step
var cyzFontsizeMaxSteps  = 2;  // maximum steps allowed 
var cyzFontsizeStep      = 0;  // counter for current step (leave as 0)


function cyzFontsizeOnLoad(preferredSize) {
	if (preferredSize >= 0) {
		cyzFontsize(preferredSize, false);
	}
}


/**
* increase/decrease font size
*
* use: spFontSizer(1, false), spFontSizer(-1, false) or spFontSizer(0, true)
* @param spInc set to 1 or -1
* @param spReset set to true to get initial font size
*/
function cyzFontsize(inc, reset) {
	// reset font size
	if (reset) {
		cyzFontsizeStep = 0;
	}

	// inside allowed steps?
	if (Math.abs(cyzFontsizeStep + inc) <= cyzFontsizeMaxSteps && cyzFontsizeStep + inc >= 0) {
		// increase/decrease spEmStep
		cyzFontsizeStep = (((cyzFontsizeStep*1) + (inc*1))*1);
		cyzFontsizeCreateCookie(cyzFontsizeCookieName, cyzFontsizeStep);

		// set new font size for every tag inside "spEmStep"
		fontsize = cyzFontsizeStep * cyzFontsizeStepWidth + cyzFontsizeBasis;

		// get element ids
		topElem = document.getElementById('top');
		if (topElem != null) {
			topElem.style.fontSize = fontsize + "%";
		}
	}

	if (cyzFontsizeStep == 0) {
		document.getElementById('cyzFontsizeImgBigger').src  = 'fileadmin/templates/media/images/shared/font-bigger.gif';
		document.getElementById('cyzFontsizeImgSmaller').src = 'fileadmin/templates/media/images/shared/font-smaller-inactive.gif';
	} else if (cyzFontsizeStep == cyzFontsizeMaxSteps) {
		document.getElementById('cyzFontsizeImgBigger').src  = 'fileadmin/templates/media/images/shared/font-bigger-inactive.gif';
		document.getElementById('cyzFontsizeImgSmaller').src = 'fileadmin/templates/media/images/shared/font-smaller.gif';
	} else {
		document.getElementById('cyzFontsizeImgBigger').src  = 'fileadmin/templates/media/images/shared/font-bigger.gif';
		document.getElementById('cyzFontsizeImgSmaller').src = 'fileadmin/templates/media/images/shared/font-smaller.gif';
	}
}


function cyzFontsizeCreateCookie(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 + "=" + escape(value) +'; '+expires+'; path=/';
}


function cyzFontsizeReadCookie(name) {
	var	initSize = 0;
	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 initSize;
}

window.onload = function(e) {
	cyzFontsizeOnLoad(cyzFontsizeReadCookie(cyzFontsizeCookieName));
} 
