
g_el = function(el) { return document.getElementById(el); };
// get element position
function g_elP(elemID){
	var offsetTrail = document.getElementById(elemID);
	var offsetLeft = 0;
	var offsetTop = 0;
	while(offsetTrail){
		offsetLeft += offsetTrail.offsetLeft;
		offsetTop += offsetTrail.offsetTop;
		offsetTrail = offsetTrail.offsetParent;
	}
	if(navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined"){
		offsetLeft += document.body.leftMargin;
		offsetTop  += document.body.topMargin;
	}
	return {left: offsetLeft, top: offsetTop};
}

// ==================================================== //
var banners = [];
var oBanner = [];
var oBannerText = [];

var bannerMoveTOutRef = null;
var bannerStayTOutRef = null;
var bannerMoveTimer = 5;
var bannerStayTimer = 3000;

var bannerStep = 2;
var bannerLeftStart = 900;		// calculate after the page is loaded. Real width of the banner's holder
var bannerLeftEnd = 0;
var bannerRight = 50;
var bannerLeft1 = 0;
var bannerLeft2 = 0;
var bannerIndex = 0;
var bannerIndex1 = 0;
var bannerIndex2 = 0;
var rotation = true;
var startFontSize = 60;		// should be the same as .banner span
var bannerHeight = startFontSize;

function initBanner(elID){
	var el = g_el(elID);
	if(!el) return;
	var els = el.getElementsByTagName('A');
	if(els.length == 0) return;
	
	for(var i = 0; i < els.length; i++){
		var o = new Object();
		o.href = els[i].href;
		o.text = els[i].innerHTML;
		o.title = els[i].title;
		banners[banners.length] = o;
	}
	
	oBanner[0] = g_el('aBanner1');
	oBanner[1] = g_el('aBanner2');
	oBannerText[0] = g_el('hBanner1');
	oBannerText[1] = g_el('hBanner2');
	
	bannerLeftStart = parseInt(g_el('divBannerCnt').offsetWidth) + 100;		// real width of the banner's holder
	oBanner[0].style.width = bannerLeftStart;
	oBanner[1].style.width = bannerLeftStart;
	
	bannerLeft1 = 0;
	bannerLeft2 = bannerLeftStart;
	
	oBanner[0].style.left = 0;
	oBanner[0].href = banners[bannerIndex1].href;
	oBanner[0].title = banners[bannerIndex1].title;
	oBannerText[0].innerHTML = banners[bannerIndex1].text;
	setBannerFS(oBannerText[0]);
	oBanner[0].style.top = bannerHeight - parseInt(oBannerText[0].style.fontSize);
	
	oBanner[1].style.left = bannerLeftStart;
	oBanner[1].href = banners[bannerIndex2].href;
	oBanner[1].title = banners[bannerIndex2].title;
	oBannerText[1].innerHTML = banners[bannerIndex2].text;
	setBannerFS(oBannerText[1]);
	oBanner[1].style.top = bannerHeight - parseInt(oBannerText[1].style.fontSize);
	
	
	// special delay for FireFox browser
	bannerLeftStart = parseInt(g_el('divBannerCnt').offsetWidth) + 100;		// real width of the banner's holder
	oBanner[0].style.width = bannerLeftStart;
	oBanner[1].style.width = bannerLeftStart;
	
	bannerLeft2 = bannerLeftStart;
	
	setBannerFS(oBannerText[0]);
	oBanner[0].style.top = bannerHeight - parseInt(oBannerText[0].style.fontSize);
	
	oBanner[1].style.left = bannerLeftStart;
	setBannerFS(oBannerText[1]);
	oBanner[1].style.top = bannerHeight - parseInt(oBannerText[1].style.fontSize);
	// end
	
	bannerStayTOutRef = setTimeout('bannerMoveNext()', bannerStayTimer);
	//bannerMoveNext();
}

function setBannerFS(el){
	var rw = bannerLeftStart - (2 * bannerRight);
	el.style.fontSize = startFontSize;
	for(var i = startFontSize; i > 20; i--){
		if(el.offsetWidth > rw){
			el.style.fontSize = i;
		}
		else
			break;
	}
}

function startRotation(){
	
	if(rotation){
		rotation = false;
		bannerLeft1 = 0;
		bannerLeft2 = bannerLeftStart;
		
		bannerIndex ++;
		if(bannerIndex == banners.length)
			bannerIndex = 0;
		bannerIndex2 = bannerIndex;
	}
	else
	{
		rotation = true;
		bannerLeft1 = bannerLeftStart;
		bannerLeft2 = 0;
		
		bannerIndex ++;
		if(bannerIndex == banners.length)
			bannerIndex = 0;
		bannerIndex1 = bannerIndex;
	}
	
	oBanner[0].style.left = bannerLeft1;
	oBanner[0].href = banners[bannerIndex1].href;
	oBanner[0].title = banners[bannerIndex1].title;
	oBannerText[0].innerHTML = banners[bannerIndex1].text;
	setBannerFS(oBannerText[0]);
	oBanner[0].style.top = bannerHeight - parseInt(oBannerText[0].style.fontSize);

	
	oBanner[1].style.left = bannerLeft2;
	oBanner[1].href = banners[bannerIndex2].href;
	oBanner[1].title = banners[bannerIndex2].title;
	oBannerText[1].innerHTML = banners[bannerIndex2].text;
	setBannerFS(oBannerText[1]);
	oBanner[1].style.top = bannerHeight - parseInt(oBannerText[1].style.fontSize);
	
	bannerMoveTOutRef = setInterval('bannerMove()', bannerMoveTimer);
}

function bannerMove(){

	bannerLeft1 -= bannerStep;
	bannerLeft2 -= bannerStep;
	if((rotation && bannerLeft1 <= 0) || (!rotation && bannerLeft2 <= 0)){
		if(bannerMoveTOutRef){
			clearInterval(bannerMoveTOutRef);
			bannerMoveTOutRef = null;
		}
		if(!rotation)
			oBanner[0].style.left = bannerLeftStart;
		else
			oBanner[1].style.left = bannerLeftStart;
		
		bannerStayTOutRef = setTimeout('bannerMoveNext()', bannerStayTimer);
	}
	else{
		if(oBanner){
			oBanner[0].style.left = bannerLeft1;
			oBanner[1].style.left = bannerLeft2;
		}
	}
		
}

function bannerMoveNext(){
	if(bannerStayTOutRef){
		clearTimeout(bannerStayTOutRef);
		bannerStayTOutRef = null;
	}
	
	startRotation();
}









