/* Text changer - light version.
Let your text's font size customizable.
by Marco Rosella - http://www.centralscrutinizer.it/en/design/js-php/text-changer
 v0.2 - May 18, 2006
*/

window.onload = function(){
 textChanger.init();
}

var textChanger = {
 cpanel : 'textchanger', //set here the id of the element (div, p) within you want to insert the control panel
 element : 'pagewidth', //set here the id of the element (div, p) within you want to change the text
 defaultFS : 1, //set here the default font size in 'em'
 init: function() {
 var cpel = document.getElementById(textChanger.cpanel);
 var el = document.getElementById(textChanger.element);
 if (cpel == null || el == null) {
 //alert('TTThe elements with the \"'+textChanger.cpanel+'\" and/or \"'+textChanger.element+'\" ID do not exist in HTML source.');
 } else {
 var u = document.createElement('ul');
 cpel.appendChild(u);
 u.innerHTML =
 '<li id="decrease"><a href="#" title="Decrease font size"><img src="/media/images/cercaetrova/ico-minus.gif" /></a></li>'+
 '<li id="reset"><a href="#" title="Default font size">A</a></li>'+
 '<li id="increase"><a href="#" title="Increase font size"><img src="/media/images/cercaetrova/ico-plus.gif" /></a></li>'
 var sz = textChanger.getCookie();
 el.style.fontSize = sz ? sz + 'em' : textChanger.defaultFS + 'em';
 var incr = document.getElementById('increase');
 incr.onclick = function(){textChanger.changeSize(1); return false;};
 var decr = document.getElementById('decrease');
 decr.onclick = function(){textChanger.changeSize(-1); return false;};
 var reset= document.getElementById('reset');
 reset.onclick = function(){textChanger.changeSize(0); return false;};
 }
 } ,

 changeSize: function(val) {
 var el = document.getElementById(textChanger.element);
 var size = el.style.fontSize.substring(0,3);
 var fSize = parseFloat(size,10);
 if (val == 1) {
 fSize += 0.11;
 if (fSize > 2.0) fSize = 2.0;
 }
 if (val == -1) {
 fSize -= 0.11;
 if (fSize < 0.5) fSize = 0.5;
 }
 if (val == 0) {
 fSize = textChanger.defaultFS;
 }
 el.style.fontSize = fSize + 'em';
 textChanger.updateCookie(fSize);
 } ,

 updateCookie: function(vl) {
 var today = new Date();
 var exp = new Date(today.getTime() + (365*24*60*60*1000)); //the cookie will expire in one year
 document.cookie = 'textChangerL=size=' + vl + ';' +'expires=' + exp.toGMTString() + ';' +'path=/';
 } ,

 getCookie: function() {
 var cname = 'textChangerL=size=';
 var start = document.cookie.indexOf(cname);
 var len = start + cname.length;
 if ((!start) && (cname != document.cookie.substring(0,cname.length))) {return null;}
 if (start == -1) return null;
 var end = document.cookie.indexOf(";",len);
 if (end == -1) end = document.cookie.length;
 return unescape(document.cookie.substring(len, end));
 }
}
