//i: item name, s: step, t: time interval
function untyper(i,s,t)
{
obj = document.getElementById(i);
newl = obj.innerHTML.length - s;
if (newl >= 0) 
	{
	obj.innerHTML = obj.innerHTML.substr(0, newl);
	setTimeout("untyper('" + i + "'," + s + "," + t + ")", t);
	}
else
	{
	obj.innerHTML = '';
	obj.style.display = 'none';
	}
}

//i: item name, s: step, t: time interval, v: value
function typer(i,s,t,v)
{
obj = document.getElementById(i);
newl = obj.innerHTML.length + s;
if (newl < v.length) 
	{
	obj.innerHTML = v.substr(0, newl);
	setTimeout("typer('" + i + "'," + s + "," + t + ",'" + v + "')", t);
	}
else
	{
	obj.innerHTML = v;
	}
}


//i: itemName, s:speed, v: current value (start value for first call)
function fadein(i, s, v)
{
	objOp(i,v);
	if (v + 0.04 < 1) setTimeout("fadein('" + i + "'," + s + "," + (v+0.04) + ")", s);
	else objOp(i, 0.9999)
}

function objOp(i, v)
{
	if (window.ActiveXObject) document.getElementById(i).style.filter = "alpha(opacity=" + Math.round(v*100) + ")";
	document.getElementById(i).style.opacity = v;
}

//div scroller; id=divID, v=value per step; s = speed (interval betweet steps :))
var scrollTimerID = null;
function parsePx(v) {return parseInt(v.substring(0,v.indexOf('px')))};
function divHScroll(id,v,s)	{d=document.getElementById(id).style;d.left=(parsePx(d.left)+v)+'px';scrollTimerID=setTimeout("divHScroll('"+id+"',"+v+")",s);}