// JavaScript Document
//Text Sizer
//Array dei tag da aumentare o diminuire
var TAG_TAB = Array("td", "div", "p", "span", "font");

//Variabile di incremento
var _step = 0;

//Funzione che varia la dimensione del font: il primo argomento è l'incremento, il secondo un flag di controllo
function changeFontSize(_range, _first) {
	var p, curSize;
	
	//Ciclo che cerca i tag nella pagina, prende la dimensione attuale del font e la incrementa o decrementa di _range
	for(j=0;j<TAG_TAB.length;j++) {
		var p = document.getElementsByTagName(TAG_TAB[j]);
		for(i=0;i<p.length;i++) {
			if( window.getComputedStyle ) {
				curSize = window.getComputedStyle(p[i],null).fontSize;
			} else if( p[i].currentStyle ) {
				curSize = p[i].currentStyle.fontSize;	
			}
			
			//Espressione regolare per recuperare l'unità di misura
			pattern = new RegExp("(px)|(pt)|(em)|(in)|(%)");
			measureUnit = curSize.match(pattern);
			curSize = Math.round(curSize.replace(pattern,""));
			if(measureUnit == null) {
				if(curSize + _range > 0)
					p[i].setAttribute("size", curSize + _range);
			} else {
				if(measureUnit[0] == "%")
					curSize += _range * 10;
				else
					curSize += _range;
					if(curSize > 0)
						p[i].style.fontSize = curSize + "" + measureUnit[0];
			}
			//alert(curSize +"" + measureUnit[0]);
		}
	}
	
	//Se non è il primo caricamento indremento o decremento la variabile di step
	if(!_first) {
		if(_range > 0)
			_step += 1;
		else if(_range < 0)
			_step -= 1;
	}
	//alert("_step dentro la funzione: " + _step);
	createCookie("setSize",_step,30);
	return;
}

//Crea un cookie con validità days giorni
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 {
		expires = "";
	}
  document.cookie = name+"="+value+expires+"; path=/";
}

//Legge il contenuto del 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;
}
