// jednotka, v ktorej sa meni velkost pisma
var unit    = 'px';

// aktualna velkost pisma
var size    = 11;

// defaultna velkost pisma
var defsize = 11;

// maximum
var maxsize = 16;

// minimum
var minsize = 8;

// aktualne pouzite pismo
var font = 'trebuchet MS';

// implicitne pouzite pismo
var deffont = 'trebuchet MS';

var par1 = 'p';
var par2 = 'ul';
var par3 = 'li';
var par4 = 'b';
var par5 = 'i';
var par6 = 'div';

var element1 = document.getElementsByTagName(par1);
var element2 = document.getElementsByTagName(par2);
var element3 = document.getElementsByTagName(par3);
var element4 = document.getElementsByTagName(par4);
var element5 = document.getElementsByTagName(par5);
var element6 = document.getElementsByTagName(par6);

// prefix pre cookies; prva cookie sa vola -family, druha -size
var cookiename = 'font';

// doba platnosti cookies v dnoch
var cookiedays = 0;

// udalost onload; po nacitani stranky sa vykona JS kod
addLoadEvent(setFontFromCookies);

function addLoadEvent(func)
{
	var oldonload = window.onload;
	if(typeof window.onload != 'function')
	{
	  window.onload = func;
	} else {
	  window.onload = function()
		{
	    oldonload();
	    func();
	  }
	}
}

// odosle cookie
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 var expires = '';
	document.cookie = name+'='+value+expires+'; path=/';
}

// precita cookie
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;
}

// nastavy pismo a jeho velkost + odosle cookies
function setFont()
{
	if(!(document.getElementById || document.all || document.layers)) return;

	createCookie(cookiename + '-family',font,cookiedays);
	createCookie(cookiename + '-size',size,cookiedays);

	for(var i = 0; i < element1.length; i++)
	{
		element1[i].style.fontFamily = font;
		element1[i].style.fontSize   = size + unit;
	}
	
	for(var i = 0; i < element2.length; i++)
	{
		element2[i].style.fontFamily = font;
		element2[i].style.fontSize   = size + unit;
	}

	for(var i = 0; i < element3.length; i++)
	{
		element3[i].style.fontFamily = font;
		element3[i].style.fontSize   = size + unit;
	}

	for(var i = 0; i < element4.length; i++)
	{
		element4[i].style.fontFamily = font;
		element4[i].style.fontSize   = size + unit;
	}

	for(var i = 0; i < element5.length; i++)
	{
		element5[i].style.fontFamily = font;
		element5[i].style.fontSize   = size + unit;
	}
	
	for(var i = 0; i < element6.length; i++)
	{
		element6[i].style.fontFamily = font;
		element6[i].style.fontSize   = size + unit;
	}
}

// obnovy povodne pismo a jeho velkost + zrusi cookies
function setFontDefault()
{
	createCookie(cookiename + '-family','',-1);
	createCookie(cookiename + '-size','',-1);

	font = deffont;
	size = defsize;

	setFont();
}

// nastavi velkost pisma
function setFontSize(param)
{
	if(param == 0) size = defsize;
	else size = parseInt(size)+parseInt(param);

	if(size > maxsize){
		size = parseInt(maxsize);
		setFont();
		return;
	}
	
	if(size < minsize){
		size = parseInt(minsize);
		setFont();
		return;
	}
	
	setFont();
}

// nastavi typ pisma a jeho velkost za pomoci cookies
function setFontFromCookies()
{
	var tmp_font = readCookie(cookiename + '-family');
	var tmp_size = readCookie(cookiename + '-size');

	if(tmp_font != null) font = tmp_font;
	if(tmp_size != null) size = tmp_size;

	setFont();
}