﻿function getWindowSize()
{
	var size=new Object;
	if (window.innerHeight)
	{
		size.x=window.innerWidth;
		size.y=window.innerHeight;
	}
	else
	{
		if (document.documentElement &&
			document.documentElement.clientHeight) // IE 6 strict
		{
			size.x=document.documentElement.clientWidth;
			size.y=document.documentElement.clientHeight;
		}
		else
		{
			if (document.body) // IE others
			{
				size.x=document.body.clientWidth;
				size.y=document.body.clientHeight;
			}
			else
			{
				size.x=-1;
				size.y=-1;
			}
		}
	}
	return size;
}

function getElement(ID)
{
	var e;
	if (document.getElementById)
		e=document.getElementById(ID);
	else
	{
		if (document.all)
			e=document.all.item(ID);
	}
	return e;
}

function getHeightById(ID)
{
	var e;
	if (e=getElement(ID))
		return e.offsetHeight;
	else
		return -1;
}

function resizeObject(ID,newWidth,newHeight)
{
	var e;
	if (e=getElement(ID))
	{
		if (newWidth>=0)
			e.style.width=newWidth+'px';
		if (newHeight>=0)
			e.style.height=newHeight+'px';
	}
}

function resizeContent()
{
	var size=getWindowSize();
	var newHeight=size.y-getHeightById('Header')-getHeightById('Footer');
	resizeObject('Scroller',-1,newHeight);
}

function addEventHandler(element,eventType,handler,useCapture)
{
	if (element)
	{
		if (document.addEventListener)
			element.addEventListener(eventType,handler,useCapture);
		else
		{
			if (document.attachEvent)
				element.attachEvent("on"+eventType,handler);
			else
			{
				var tmp="on"+eventType;
				if (element[tmp]==null)
					element[tmp]=handler;
				else
				{
					previousHandler=element[tmp];
					element[tmp]=function(event)
					{
						previousHandler(event);
						handler(event);
					}
				}
			}
		}
	}	
}

function removeEventHandler(element,eventType,handler,useCapture)
{
	if (element)
	{
		if (document.removeEventListener)
			element.removeEventListener(eventType,handler,useCapture);
		else
		{
			if (document.detachEvent)
				element.detachEvent("on"+eventType,handler);
		}
	}	
}

function initBanner()
{
	window.setTimeout(function() { animateBanner('Banner'); },1000);
}

function animateBanner(ID)
{
	var e;
	if (e=getElement(ID))
	{
		e.myStartX=120;
		e.myStartY=-275;
		e.myEndX=300;
		e.myEndY=200;
		e.myAngle=0;
		fadeIn(e,5,50);
	}
}

function fadeIn(e,step,interval)
{
	if (e.myAngle<90)
	{
		e.myAngle+=step;
		var offset=Math.sin(Math.PI*e.myAngle/180);
		e.style.top=offset*(e.myEndY-e.myStartY)+e.myStartY+'px';
		e.style.left=offset*(e.myEndX-e.myStartX)+e.myStartX+'px';
		window.setTimeout(function() { fadeIn(e,step,interval); },interval);
	}
	else
	{
		e.myStartX=e.myEndX;
		e.myStartY=e.myEndY;
		e.myEndX=1553;
		e.myEndY=-275;
		window.setTimeout(function() { fadeOut(e,step,interval); },5000);
	}
}

function fadeOut(e,step,interval)
{
	if (e.myAngle<180)
	{
		e.myAngle+=step;
		var offset=1-Math.sin(Math.PI*e.myAngle/180);
		e.style.top=offset*(e.myEndY-e.myStartY)+e.myStartY+'px';
		e.style.left=offset*(e.myEndX-e.myStartX)+e.myStartX+'px';
		window.setTimeout(function() { fadeOut(e,step,interval); },interval);
	}
}

