/* 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
*/
function initFontResize() {
	textChanger.init();
}
var textChanger = {
	defaultFS : 1.0,
	init: function() {
//		var el = getElementsByClassName( 'text', document.getElementsByTagName("body") );
		var el = document.getElementsByTagName("body")[0];
		var sz = textChanger.getCookie();
		el.style.fontSize = sz ? sz + 'em' : textChanger.defaultFS + 'em';
		var incr = document.getElementById('increase');
		if(incr)
			incr.onclick = function(){textChanger.changeSize(1); return false;};
		var decr = document.getElementById('decrease');
		if(decr)
			decr.onclick = function(){textChanger.changeSize(-1); return false;};
		var reset = document.getElementById('reset');
		if(reset)
			reset.onclick = function(){textChanger.changeSize(0); return false;};
	},
	changeSize: function(val) {
//		var el = getElementsByClassName( 'text', document.getElementsByTagName("body") );
		var el = document.getElementsByTagName("body")[0];
		var size = el.style.fontSize.substring(0, 4);
		var fSize = parseFloat(size, 10);
		if (val == 1)	{
			fSize += 0.1;
			if (fSize > textChanger.defaultFS*1.5) fSize = textChanger.defaultFS*1.5;
		} 
		if (val == -1) {
			fSize -= 0.1;
			if (fSize < textChanger.defaultFS/1.5) fSize = textChanger.defaultFS/1.5;
		}       
		if (val == 0) fSize = textChanger.defaultFS;
		el.style.fontSize = fSize.toFixed(2) + 'em';
		textChanger.updateCookie(fSize);
	},
	updateCookie: function(vl)	{
		var today = new Date();
		var exp = new Date(today.getTime() + (365*24*60*60*1000));
		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));
	}
}
if (window.addEventListener)
	window.addEventListener("load", initFontResize, false);
else if (window.attachEvent && !window.opera)
	window.attachEvent("onload", initFontResize);
	

function getElementsByClassName( strClassName, obj ) {
	var found=null;
	
	for( var i=0;i<obj.length; i++) {
		alert(obj[i]);
		if ( obj[i].className == strClassName ) {
			return obj[i];
		}
		for ( var j = 0; j < obj[i].childNodes.length; j++ )
			found = getElementsByClassName( strClassName, obj[i].childNodes[j] );
	}
	if(found)
		return found;
}

/* tabs */
function initTabs()
{
	tabs('ul','tabset');
	tabs('div','tab-content');
	
	function tabs(_ul,_tabset){
		var sets = document.getElementsByTagName(_ul);
		for (var i = 0; i < sets.length; i++)
		{
			if (sets[i].className.indexOf(_tabset) != -1 && sets[i].className.indexOf('tab-content2') == -1)
			{
				var tabs = [];
				var links = sets[i].getElementsByTagName("a"),
					_active = false;
				for (var j = 0; j < links.length; j++)
				{
					if (links[j].className.indexOf("tab") != -1)
					{
						tabs.push(links[j]);
						links[j].tabs = tabs;
						var c = document.getElementById(links[j].href.substr(links[j].href.indexOf("#") + 1));
	
						if (c) if (links[j].className.indexOf("active") != -1) {
							c.style.display = "block";
							_active = c;
						}
						else if (_active != c) c.style.display = "none";
						links[j].onclick = function ()
						{
							var c = document.getElementById(this.href.substr(this.href.indexOf("#") + 1));
							if (c)
							{
								for (var i = 0; i < this.tabs.length; i++)
								{
									var tab = document.getElementById(this.tabs[i].href.substr(this.tabs[i].href.indexOf("#") + 1));
									if (tab && c != tab)
									{
										tab.style.display = "none";
									}
									this.tabs[i].className = this.tabs[i].className.replace("active", "");
								}
								this.className += " active";
								c.style.display = "block";
								if(c.parentNode.className != "tabs-area") {
									//alert(c.parentNode.offsetHeight  + " - "+ c.offsetHeight );
									c.parentNode.style.height = c.offsetHeight+"px";
								}
								return false;
							}
						}
					}
				}
			}
		}
	}
}

function Set_Cookie( name, value, expires, path, domain, secure )
{
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );

	/*
	if the expires variable is set, make the correct
	expires time, the current script below will set
	it for x number of days, to make it for hours,
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires ) {
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );

	document.cookie = name + "=" +escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
		( ( path ) ? ";path=" + path : "" ) +
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}

if (window.addEventListener)
	window.addEventListener("load", initTabs, false);
else if (window.attachEvent && !window.opera)
	window.attachEvent("onload", initTabs);
