/* 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 : 'wrapper', //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('The 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 = '
  • Text Size
  • '+ '
  • A-
  • '+ '
  • +A
  • '+ '
  • A
  • '; 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)); } }