function createXMLHttpRequest()
{
	try {return new XMLHttpRequest();} catch(e) {}
	try {return new ActiveXObject("Microsoft.XMLHTTP");} catch(e) {}
	try {return new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {}
	return null;
}
function callRemoteScript( scripturl )
{
	var script = document.createElement( "script" );
	script.src = scripturl;
	document.body.appendChild(script);
}



function setOpacity(obj,opacity)
{
	opacity=opacity>1?1:opacity<0?0:opacity;
	obj.style.opacity = opacity;
	obj.style.MozOpacity = opacity;
	obj.style.filter = "alpha(opacity=" + (opacity*100) + ")";
	if(opacity==0)
		obj.style.display="none";
	else
		obj.style.display="block";
}

function copyPosition(objfrom,objto)
{
	objto.style.left=objfrom.style.left;
	objto.style.top=objfrom.style.top;
}

function setnamesrc(objname,src)
{
	document.getElementById(objname).src=src;
}

function fadeIn(objname,currentopacity,rate)
{
	newopacity=currentopacity+rate;
	setOpacity(document.getElementById(objname),newopacity);
	if(newopacity<1) setTimeout("fadeIn('" + objname +"'," + newopacity + "," + rate + ");",10);
}

function fadeOut(objname,currentopacity,rate)
{
	newopacity=currentopacity-rate;
	setOpacity(document.getElementById(objname),newopacity);
	if(newopacity>0) setTimeout("fadeOut('" + objname +"'," + newopacity + "," + rate + ");",10);
}

function fadeTo(objname,currentopacity,rate,targetopacity)
{
	// helps when fading out / in at same time
	clearTimeout(document.getElementById(objname).FTOID);
	if(targetopacity>currentopacity)
	{
		newopacity=currentopacity+rate;
		setOpacity(document.getElementById(objname),newopacity);
		if(newopacity<targetopacity) document.getElementById(objname).FTOID=setTimeout("fadeTo('" + objname +"'," + newopacity + "," + rate + "," + targetopacity + ");",10);
	}
	else
	{
		newopacity=currentopacity-rate;
		setOpacity(document.getElementById(objname),newopacity);
		if(newopacity>targetopacity) document.getElementById(objname).FTOID=setTimeout("fadeTo('" + objname +"'," + newopacity + "," + rate + "," + targetopacity + ");",10);
	}
}

function copyPosSizeName(namefrom,nameto)
{
	objfrom=document.getElementById(namefrom);
	objto=document.getElementById(nameto);
	objto.style.left=objfrom.style.left;
	objto.style.top=objfrom.style.top;
	objto.style.width=objfrom.style.width;
	objto.style.height=objfrom.style.height;
}

function getobj(objname){return document.getElementById(objname);}
function getobjval(objname){return parseInt(document.getElementById(objname).value);}


function innerscroll(objname,rate,targetx,targety)
{
	clearTimeout(document.getElementById(objname).ISTOID);
	var obj,s,c=0;
	obj=getobj(objname);
	s=obj.style;

	if(targetx<parseInt(s.marginLeft)) {s.marginLeft=parseInt(s.marginLeft)-rate;c=1;}
	if(targetx>parseInt(s.marginLeft)) {s.marginLeft=parseInt(s.marginLeft)+rate;c=1;}
	if(targety<parseInt(s.marginTop)) {s.marginTop=parseInt(s.marginTop)-rate;c=1;}
	if(targety>parseInt(s.marginTop)) {s.marginTop=parseInt(s.marginTop)+rate;c=1;}

	if(c) obj.ISTOID=setTimeout("innerscroll('" + objname +"'," + rate + "," + targetx + "," + targety + ");",10);
}


function resize(objname,rate,targetwidth,targetheight)
{
	if(objname=='') return;
	clearTimeout(document.getElementById(objname).RSTOID);
	var obj,s,c=0,r=parseInt(rate),w,tw=parseInt(targetwidth),h,th=parseInt(targetheight);
	obj=getobj(objname);
	s=obj.style;

	if(r<1){s.width=tw;s.height=th;return;}

	w=parseInt(s.width);
	h=parseInt(s.height);

	if(tw<w) {s.width=tw>w-r?tw:w-r;c=1;}
	if(tw>w) {s.width=tw<w+r?tw:w+r;c=1;}
	if(th<h) {s.height=th>h-r?th:h-r;c=1;}
	if(th>h) {s.height=th<h+r?th:h+r;c=1;}

	if(c) obj.RSTOID=setTimeout("resize('" + objname +"'," + rate + "," + targetwidth + "," + targetheight + ");",10);
}



