/** @file font_resizer.js
 * Meni velikost pisma (nastavuje procentuelne velikost v elementu body).
 * Nastavenou velikost uklada do cookies, cili si pamatuje od stranky ke strance.
 * Potrebuje knihovnu pro praci s cookies (trida Cookies, metody get a set).
 * Potrebuje prototype.
 * Predpoklada relativni nastaveni fontu (jinak nefunguje).
 * Tlacitkum pro zvetseni nastavte class="font_increaser",
 * tlacitkum pro zmenseni nastavte class="font_decreaser".
 */


document.observe('dom:loaded', initFontResizer);

function initFontResizer(){
	// nastavit spravnou velikost fontu
	fontResize(0);
	// nastavit tlacitka
	$$('.font_increaser').each(function(el){
		el.observe('click', fontIncrease);
	});
	$$('.font_decreaser').each(function(el){
		el.observe('click', fontDecrease);
	});
}

function getFontSize(){
	var myCookie = new Cookies();
	var fontSize = parseInt(myCookie.get('fontSize'), 10);
	if(!fontSize || fontSize==NaN){
		return 100;
	} else if(fontSize < 30){
		return 30;
	} else if(fontSize > 250){
		return 250;
	} else {
		return fontSize;
	}
}
function setFontSize(fontSize){
	var myCookie = new Cookies();
	myCookie.set('fontSize', fontSize);
}


function fontResize(sizeDiff){
	// spocitat velikost
	var fontSize = getFontSize()+sizeDiff;
	// nastavit ji
	$$('body').each(function(el){
		el.style.fontSize = fontSize+'%';
	});
	// ulozit pokud se zmenila
	if(sizeDiff){
		setFontSize(fontSize);
	}
}

function fontIncrease(event){
	event.stop();
	this.blur();
	fontResize(10);
}

function fontDecrease(event){
	event.stop();
	this.blur();
	fontResize(-10);
}
