﻿// JScript File
/* Text changer - full version.
Let your text 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 : 'content',   //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'
	defaultFF : 'Tahoma,arial,sans-serif',  //set here the default font family
	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 = 		'<table border="0" cellspacing="0" cellpadding="0"><tr><td><a id="decrease" href="#" title="diminuisci dimensione testo" alt="diminuisci dimensione testo"><img src="gfx/ico_down.gif" border="0" /></a></td>'+
		'<td><img src="gfx/spacer.gif" width="15" alt="" /></td>'+
		'<td><a id="increase" href="#" title="aumenta dimensione testo" alt="aumenta dimensione testo"><img src="gfx/ico_up.gif" border="0" /></a></td>'+
	    '<td><img src="gfx/spacer.gif" width="15" alt="" /></td>'+	    '<td style="width:15px;"><a href="javascript:print();"><img src="gfx/ico_print.gif" title="stampa pagina" alt="stampa pagina" style="border:0px;"/></a></td>'+
        '<td style="width:15px;"><img src="gfx/spacer.gif" width="15" alt="" /></td>'+
        '<td style="width:15px;"><a href="http://vascomaniait.blogspot.com/feeds/posts/default"><img src="gfx/ico_rss.gif" title="rss" alt="rss" style="border:0px;"/></a></td></tr></table>'		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(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;
		} else {
			fSize -= 0.11;
			if (fSize < 1) fSize = 1;
		}		
		el.style.fontSize = fSize + 'em';
		textChanger.updateCookie('size',fSize);
		} ,
		
	updateCookie: function(type,vl) {
		var today = new Date();
		var exp = new Date(today.getTime() + (365*24*60*60*1000)); //the cookie will expire in one year  
		var vlck = textChanger.getCookie('all');
		var vltype = textChanger.getCookie(type);
		if(vlck && vlck.indexOf(type) != -1) {   	 
			vlck = vlck.replace(vltype,vl); } else {  
			if (!vlck) {vlck = '';}
			vlck += type + '=' + vl + '&';
		}		
		document.cookie = 'textChanger=' + vlck + ';' +'expires=' + exp.toGMTString() + ';' +'path=/';
	} ,

	getCookie: function(type) { 
		var cname = 'textChanger=';	
		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;
		var vlck = document.cookie.substring(len, end);
		if(type=='all') {
			return vlck; } else { 
		var tname = type + '=';
		var startTC = vlck.indexOf(tname);
		var lenTC = startTC + tname.length;
		if ((!startTC) && (tname != vlck.substring(0, tname.length))) {return null;}
		if (startTC == -1) return null;
		var endTC = vlck.indexOf("&", lenTC);
		if (endTC == -1) endTC = vlck.length;
		return unescape(vlck.substring(lenTC, endTC));
		}	
	}
}