// JavaScript Document
String.prototype.tokenize = tokenize;

function tokenize()
  {
     var input             = "";
     var separator         = " ";
     var trim              = "";
     var ignoreEmptyTokens = true;

     try {
       String(this.toLowerCase());
     }
     catch(e) {
       //window.alert("Tokenizer Usage: string myTokens[] = myString.tokenize(string separator, string trim, boolean ignoreEmptyTokens);");
       return;
     }

     if(typeof(this) != "undefined")
       {
          input = String(this);
       }

     if(typeof(tokenize.arguments[0]) != "undefined")
       {
          separator = String(tokenize.arguments[0]);
       }

     if(typeof(tokenize.arguments[1]) != "undefined")
       {
          trim = String(tokenize.arguments[1]);
       }

     if(typeof(tokenize.arguments[2]) != "undefined")
       {
          if(!tokenize.arguments[2])
            ignoreEmptyTokens = false;
       }

     var array = input.split(separator);

     if(trim)
       for(var i=0; i<array.length; i++)
         {
           while(array[i].slice(0, trim.length) == trim)
             array[i] = array[i].slice(trim.length);
           while(array[i].slice(array[i].length-trim.length) == trim)
             array[i] = array[i].slice(0, array[i].length-trim.length);
         }

     var token = new Array();
     if(ignoreEmptyTokens)
       {
          for(var i=0; i<array.length; i++)
            if(array[i] != "")
              token.push(array[i]);
       }
     else
       {
          token = array;
       }

     return token;
  }


function getCookieVal (offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
	endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
		return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) 
		break; 
	}
	return null;
}

function SetCookie (name, value) {
	var argv = SetCookie.arguments;
	var argc = SetCookie.arguments.length;
	var expires = (2 < argc) ? argv[2] : null;
	var path = (3 < argc) ? argv[3] : '/';
	var domain = (4 < argc) ? argv[4] : null;
	var secure = (5 < argc) ? argv[5] : false;
	document.cookie = name + "=" + escape (value) +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
}

function SettaCarattere() {
	var i=0;
 	var arrElementi = self.document.body.getElementsByTagName("div");
	while ( i<arrElementi.length ) {
		if (arrElementi[i].className == 'paragrafo') {
			if (GetCookie(arrElementi[i].id) != null) {
				var classe = arrElementi[i].className;
				arrElementi[i].className = GetCookie(arrElementi[i].id);
			}
		}
	i++;
	}
}

function cambiaCarattere(nomeClasse){
 	var i=0;
	var myTokens= new Array();
	// con questo modifichiamo il testo
 	var arrElementi = self.document.body.getElementsByTagName("div");
	while ( i<arrElementi.length ) {
		if (arrElementi[i].className == "paragrafo" || arrElementi[i].className == "testogrande" || arrElementi[i].className == "testograndec") 		{
			arrElementi[i].className = nomeClasse;
			clearCookie();
			SetCookie( "paragrafo" , nomeClasse);
		}
	i++;
	}
	i=0;
	while ( i<arrElementi.length ) {
		myTokens = arrElementi[i].className.tokenize("_", "", true);
		if (myTokens[0]=="titolo" && myTokens[2]!="grande")
		{
			if (nomeClasse=="testograndec") 
			{
				arrElementi[i].className = arrElementi[i].className + "_grande";
			}




			else 
			{
				myTokens = arrElementi[i].className.tokenize("_", "", true);
				if (myTokens[2]!="grande") 
				{
					arrElementi[i].className = myTokens[0] + "_" + myTokens[1];
				}
			}
		}
		else
		{
			if (myTokens[0]=="titolo")
			{
				if (nomeClasse!="testograndec")
				{
					myTokens = arrElementi[i].className.tokenize("_", "", true);
					arrElementi[i].className = myTokens[0] + "_" + myTokens[1];
				}
			}
		}
	i++;
	}
}

function clearCookie() {

	var expirationDate = new Date();
	var currYear = expirationDate.getYear();

	expirationDate.setYear(currYear - 1);
	expirationDate = expirationDate.toGMTString();

	var dc = document.cookie;
	var tempString = "";
	var tempChar;
	var i = 0;
	var cookieLength = dc.length;

	while (i < cookieLength) {
		tempChar = dc.charAt(i);
		if (tempChar == "_") {
			tempString = dc.charAt(i-1) + tempChar + dc.charAt(i+1)
			document.cookie = tempString + "=null; expires= " + expirationDate;
		}
	i++;	
	}
}	

window.onload = function(e) {
  SettaCarattere();
}