// La funzione per cambiare i fogli di stile
function templateChange(){
	//controllo browser
	if(!document.styleSheets){
		var ss = getAllSheets() //Opera
	}else{
		var ss = document.styleSheets; //Dom
	}
	// disabilita tutti i fogli di stile con un titolo 
	// tranne quello passato per argomento alla funzione
	for( var x = 0; x < ss.length; x++ ) {
		if( ss[x].title ) {
			ss[x].disabled=true;
		}
		for( var y = 0; y < arguments.length; y++ ) {
			//controlla ogni titolo ...
			if(ss[x].title == arguments[y]){
				//e riabilita il foglio di stile se ha il titolo scelto
				ss[x].disabled=false;
			}
		}
	}
	if( !ss.length ) { 
		alert( 'Il tuo browser non è abilitato a cambiare i fogli di stile CSS' );
	}
}

// ---------------------------------------------------------------------------------

// Funzione per Opera
function getAllSheets(){
	if( document.getElementsByTagName ) {
		var Lt = document.getElementsByTagName('LINK');
		var St = document.getElementsByTagName('STYLE');
	} else {
		// browser minori - restituisce array vuoto
		return []; 
	}
	//per tutti i tag link ...
	for( var x = 0, os = []; Lt[x]; x++ ) {
		//controlla l'attributo rel per vedere se contiene 'style'
		if( Lt[x].rel ) {
			var rel = Lt[x].rel;
		} else if( Lt[x].getAttribute ) {
			var rel = Lt[x].getAttribute('rel');
		} else {
			var rel = '';
		}
		if(typeof(rel)=='string'&&rel.toLowerCase().indexOf('style')+1){
			//riempe la variabile os con i stylesheets linkati
			os[os.length] = Lt[x];
		}
	}
	//include anche tutti i tags style e restituisce l'array
	for( var x = 0; St[x]; x++ ) {
		os[os.length] = St[x];
	}
	return os;
}

// ---------------------------------------------------------------------------------




// Infine la funzione per gestire le select del documento
function temaChange(selObj){
	if(selObj.selectedIndex == 0){
		templateChange();
	}else{
		eval("templateChange('"+selObj.options[selObj.selectedIndex].value+"')");
	}
}

/* Theme Switcher, Cookies Handler and Event Handler combo (IE 5+Mac, IE5.5+Win, Moz)
 * by: Liorean <http://members.evolt.org/liorean/> <mailto:liorean@user.bip.net>
 * url: <http://members.evolt.org/liorean/themeswitch-ce.js>
 * rel:
 *   standalone themeswitcher - <http://members.evolt.org/liorean/themeswitch.js>
 *   syntax file for themeswitcher.js - <http://members.evolt.org/liorean/themeswitch.txt>
 *   standalone cookies handler - <http://members.evolt.org/liorean/cookies.js>
 *   syntax file for cookies.js - <http://members.evolt.org/liorean/cookies.txt>
 *   standalone event handler - <http://members.evolt.org/liorean/event.js> 
 *   syntax file for event.js - <http://members.evolt.org/liorean/event.txt>
 *   description - <http://members.evolt.org/liorean/themeswitch.html>
 *   tutorial - <http://members.evolt.org/liorean/themeswitch-t.html>
 *   stylesheet for tutorial - <http://members.evolt.org/liorean/explain.css>
 *
 *  Event Handler is based on an original by Tim Morgan <http://www.timmorgan.info/>
 */

// Event Handler
var event={
  Add:function(f){event.col[event.col.length]=f;if(typeof window.addEventListener!='undefined')window.addEventListener('load',f,false);else if(!event.ieSet)if(typeof document.onreadystatechange!='undefined')document.onreadystatechange=event.onload;event.ieSet=true;return(typeof window.addEventListener!='undefined')},
  onload:function(){var m=/mac/i.test(navigator.platform);if(typeof document.readyState!='undefined')if(m?document.readyState!='interactive':document.readyState!='complete')return;for(var i=0,f;(f=(i<event.col.length)?event.col[i]:null);i++)f();return},
  ieSet:false,
  col:[]
};

// Cookies Handler
var cookie={
  Get:function(n){var re=new RegExp(n+'=([^;]*);?','gi');var r=re.exec(document.cookie)||[];return unescape(r.length>1?r[1]:null)},
  Set:function(n,v,e,p,d,s){var t=new Date;if(e)t.setTime(t.getTime()+(e*8.64e7));document.cookie=n+'='+escape(v)+'; '+(!e?'':'; expires='+t.toUTCString())+(!p?'':'; path='+p)+(!d?'':'; domain='+d)+(!s?'':'; secure')},
  Del:function(n,p,d){var t=cookie.Get(n);document.cookie=n+'='+(!p?'':'; path='+p)+(!d?'':'; domain='+d)+'; expires=Thu, 01-Jan-70 00:00:01 GMT';return t},
  Sup:function(){cookie.Set('c',true);return cookie.Del('c')}
};

// Themeswitch Handler
var style={
  Set:function(t){for(var i in this.col)for(var j=0,f;(f=(j<this.col[i].length)?this.col[i][j]:null);j++)f.disabled=i!=t?true:false;},
  Get:function(){for(var i in this.col)if(!this.col[i][0].disabled)return i;return this.Pref()},
  Pref:function(){for(var i in this.col)if(!this.col[i][0].disabled)return i;return null},
  sum:function(){var s=document.styleSheets,i=0;for(var f;(f=(i<s.length)?s[i]:null);i++)switch(f.title){case '':break;default:switch(typeof this.col[f.title]){case 'object':this.col[f.title][this.col[f.title].length]=f;break;default:this.col[f.title]=[f]}}},
  onload:function(){style.sum();if(cookie.Sup()){var c=cookie.Get('style');style.Set(c||style.Pref())}},
  onunload:function(){if(cookie.Sup()){var s=style.Get();cookie.Set('style',s,356,'/')}},
  col:{}
};

event.Add(style.onload);
window.onunload=style.onunload;