function playBanner(appKey)
{
	for(var i = 0; i < g_bannerParameters.length; i++)
	{
		if(g_bannerParameters[i][0] == appKey)
		{
			setTimeout('startBannerMove(' + i + ')',1000);
//			startBannerMove(i);
			break;
		}
	}
}
function startBannerMove(i)
{
//	alert("startingMove");
	var appKey 	= g_bannerParameters[i][0];
	var appId 	= 'app_' + appKey;
	var appDiv 	= document.getElementById(appId);
	var bannerDiv = appDiv.getElementsByTagName('div')[0];
	var bannerWidth 	= bannerDiv.offsetWidth;
	var bannerHeight 	= bannerDiv.offsetHeight;	
	
	var id = g_bannerParameters[i][1];
	var messageDiv 		= document.getElementById(id);
	messageDiv.style.visibility = 'visible';
	var messageWidth 	= messageDiv.offsetWidth;
	var messageHeight	= messageDiv.offsetHeight;
	
//	window.status = messageDiv.id + ' ' + messageWidth + ' ' + messageHeight + ' ' + bannerWidth + ' ' + bannerHeight;
	
	var left 	= makeFactorOf4((bannerWidth 	- messageWidth) 	/ 2);	
	var top 	= makeFactorOf4((bannerHeight - messageHeight) 	/ 2);	
	
	messageDiv.style.width = messageWidth + 'px';
	messageDiv.style.height = messageHeight + 'px';
	messageDiv.style.left = left + 'px';
	messageDiv.style.top 	= top 	+ 'px';			
	messageDiv.style.visibility = 'visible';
	g_bannerParameters[i][7] = left;
	g_bannerParameters[i][8] = top;				
	g_bannerParameters[i][9] = 'in';									
	
	if(g_bannerParameters[i][2] == 'left')
	{
		messageDiv.style.left = '-' + (makeFactorOf4(messageWidth)-4) + 'px';
	}
	else
	if(g_bannerParameters[i][2] == 'right')
	{
		messageDiv.style.left = (makeFactorOf4(bannerWidth)+4) + 'px';
	}
	else
	if(g_bannerParameters[i][2] == 'top')
	{
		messageDiv.style.top =  '-' + (makeFactorOf4(messageHeight)-4) + 'px';
	}		
	else
	if(g_bannerParameters[i][2] == 'bottom')
	{
		messageDiv.style.top = (makeFactorOf4(bannerHeight)+4) + 'px';
	}		

	
	moveBanner(i);	
}
function moveBanner(i)
{
	var appKey 	= g_bannerParameters[i][0];
	var appId 	= 'app_' + appKey;
	var appDiv 	= document.getElementById(appId);
	var bannerDiv = appDiv.getElementsByTagName('div')[0];
	var bannerWidth 	= bannerDiv.offsetWidth;
	var bannerHeight 	= bannerDiv.offsetHeight;	
	
	var id = g_bannerParameters[i][1];
	var messageDiv 		= document.getElementById(id);
	var matches = messageDiv.style.left.match(/[\-0-9]+/);
	var currentLeft = parseInt(matches[0]);
	var matches = messageDiv.style.top.match(/[\-0-9]+/);
	var currentTop = parseInt(matches[0]);
	
//	alert(currentLeft + ' ' +  g_bannerParameters[i][7] + ' ' + currentTop + ' ' + g_bannerParameters[i][8]);
	
	if(currentLeft == g_bannerParameters[i][7] && currentTop == g_bannerParameters[i][8])
	{
//		alert('done');

		var messageDiv 		= document.getElementById(id);
		var messageWidth 	= messageDiv.offsetWidth;
		var messageHeight	= messageDiv.offsetHeight;		
		
		if(g_bannerParameters[i][9] == 'in')
		{
			if(g_bannerParameters[i][5] == 'left')
			{
				g_bannerParameters[i][7] = -makeFactorOf4(messageWidth) - 16;
			}
			else
			if(g_bannerParameters[i][5] == 'right')
			{
				g_bannerParameters[i][7] = makeFactorOf4(bannerWidth) + 16;				
			}	
			else
			if(g_bannerParameters[i][5] == 'top')
			{
				g_bannerParameters[i][8] = -makeFactorOf4(messageHeight) - 16;				
			}	
			else
			if(g_bannerParameters[i][5] == 'bottom')
			{
				g_bannerParameters[i][8] = makeFactorOf4(bannerHeight) + 16;				
			}	
			
				
				
				
			
			g_bannerParameters[i][9] = 'out';	
			var delay = g_bannerParameters[i][4] * 1000;
			setTimeout('moveBanner(' + i + ')',delay);
		}else
		if(g_bannerParameters[i][9] == 'out')
		{
//			window.status = 'out';
			if(g_bannerParameters[i+1] && g_bannerParameters[i+1][0] == g_bannerParameters[i][0])
			{
				startBannerMove(i+1);
			}
			else
			{
				var repeat 	= getBannerRepeat(appKey);
				var count 	= getBannerCycleCount(appKey) + 1;
				setBannerCycleCount(appKey,count);				
//				window.status = repeat + ' ' + count;				
				if(repeat == 0 || count < repeat)
				{
					playBanner(g_bannerParameters[i][0]);
				}
				
			}
		}
	}
	else
	{
		if(currentLeft < g_bannerParameters[i][7])
		{
			currentLeft += getMoveFactor(i);
		}
		if(currentLeft > g_bannerParameters[i][7])
		{
			currentLeft -= getMoveFactor(i);
		}
		if(currentTop < g_bannerParameters[i][8])
		{
			currentTop += getMoveFactor(i);
		}
		if(currentTop > g_bannerParameters[i][8])
		{
			currentTop -= getMoveFactor(i) ;
		}
		messageDiv.style.left = currentLeft + 'px';
		messageDiv.style.top 	= currentTop + 'px';
		var moveDelay = getMoveDelay(i);
		
		setTimeout('moveBanner(' + i + ')',moveDelay);
	}
}
function makeFactorOf4(value)
{
	return parseInt(parseInt(value)/parseInt(4)) * 4;
}
function getMoveFactor(i)
{
	
	if(g_bannerParameters[i][9] == 'in')
	{
		var moveSpeed = g_bannerParameters[i][3];
	}
	else
	{
		var moveSpeed = g_bannerParameters[i][6];
	}			
	var moveFactor = 1;
	
	if(moveSpeed == 'slow')
	{
		moveFactor = 1;
	}
	if(moveSpeed == 'medium')
	{
		moveFactor = 2;
	}
	if(moveSpeed == 'fast')
	{
		moveFactor = 4;
	}
	
//	window.status = 'moveFactor=' + moveFactor;
	
	return moveFactor;			
}
function getMoveDelay(i)
{
	
	if(g_bannerParameters[i][9] == 'in')
	{
		var moveSpeed = g_bannerParameters[i][3];
	}
	else
	{
		var moveSpeed = g_bannerParameters[i][6];
	}			
	
	var moveDelay = 20;
	
	if(moveSpeed == 'slow')
	{
		moveDelay = 20;
	}
	if(moveSpeed == 'medium')
	{
		moveDelay = 10;
	}
	if(moveSpeed == 'fast')
	{
		moveDelay = 0;
	}
	
//	window.status = 'moveDelay=' + moveDelay;
	return moveDelay;			
}
function getBannerRepeat(appKey)
{
	var repeat = 0;
	for(var i = 0; i < g_bannerRepeat.length; i++)
	{
		if(g_bannerRepeat[i][0] == appKey)
		{
			repeat = g_bannerRepeat[i][1];
		}
	}
	return repeat;
}
function setBannerCycleCount(appKey,count)
{
	for(var i = 0; i < g_bannerRepeat.length; i++)
	{
		if(g_bannerRepeat[i][0] == appKey)
		{
			g_bannerRepeat[i][2] = count;
		}
	}
	return count;
}
function getBannerCycleCount(appKey)
{
	var count = 0;
	for(var i = 0; i < g_bannerRepeat.length; i++)
	{
		if(g_bannerRepeat[i][0] == appKey)
		{
			count = g_bannerRepeat[i][2];
		}
	}
	return count;
}

