function onInit()
{
	if (window.g_message != undefined && g_message != "")
	{
		window.alert(g_message);
	}
	
	if (window.sponsors != undefined)
	{
		preloadImages(sponsors);
	}
	
	// init Pionline home flash header
	if (document.getElementById("pionlineFlash") != undefined)
	{
		createFlash(document.getElementById("pionlineFlash"),
					"flash/header_pionline.swf",
					440,
					422,
					{wmode:"transparent", basedir:g_baseDir, id:flashItemsRoot},
					alternativeHeader
		);
	} // init Pionmedia home flash header
	else if (document.getElementById("pionmediaFlash") != undefined)
	{
		createFlash(document.getElementById("pionmediaFlash"),
					"flash/header_pionmedia.swf",
					596,
					410,
					{wmode:"transparent", basedir:g_baseDir, ids:flashItemsRoot},
					alternativeHeader
		);
	} // init EBC flash header
	else if (window.flashItemsRoot != null)
	{
		createFlash(document.getElementById("ebcFlash"),
				"flash/header_ebc.swf",
				948,
				275,
				{wmode:"transparent", basedir:g_baseDir, ids:flashItemsRoot},
				alternativeHeader
		);
	}
	
	if (document.getElementById("userColumns") != undefined)
	{
		initUserSearch();
	}
	
	var highlight = _GET("highlight");
	if (highlight)
	{
		x = document.getElementById("content");
		highlightText(highlight, "highlighted", x);
	}
}

function alternativeHeader()
{
	xajax.call("xajax_getHeaderHTML", {parameters:[flashItemsRoot], context: {callback: function() {}}});
}

// Sponsors
loadedImages = new Array();

function swapImgRestore(img)
{
	var index = img.id.substring(8);
	img.src = loadedImages[index][0].src;
}

function swapImage(img)
{
	var index = img.id.substring(8);
	img.src = loadedImages[index][1].src;
}

function preloadImages(images)
{
	for(value in images)
	{
		var img = document.getElementById("sponsor_" + value);
		if (img != null)
		{
			var imgValue = value;
			
			loadedImages[value] = new Array(new Image, new Image);
			loadedImages[value][0].src = img.src
			loadedImages[value][1].src = images[value];
			
			
			img.attachEvent("onmouseover", function(img){
				return function()
				{
					swapImage(img);
				}
			}(img));
			img.attachEvent("onmouseout", function(img){
				return function()
				{
					swapImgRestore(img);
				}
			}(img));
		}
   	}
}

// Javascript Flash alternative

var listItems;
var currentItem = 0;
var nextItem = 1;

function initFlashItems()
{
	var list = document.getElementById("flashItems");
	listItems = list.getElementsByTagName("li");
	
	for (var i = 0; i< listItems.length; i++)
	{
		listItems[i].style.zIndex = listItems.length - i;
		listItems[i].style.position = "absolute";
		
		if (i > 0)
		{
			setOpacity(listItems[i], 0);
			listItems[i].style.display = "block";
		}
	}

	setInterval(flashItemsFader, 6000);
}

function flashItemsFader()
{	
	fader(listItems[currentItem], 0);
	fader(listItems[nextItem], 1);
	
	var zIndex = listItems[currentItem].style.zIndex;
	listItems[currentItem].style.zIndex = listItems[nextItem].style.zIndex;
	listItems[nextItem].style.zIndex = zIndex;
		
	if (currentItem < listItems.length-1)
		currentItem++;
	else
		currentItem = 0;
	
	if (currentItem == listItems.length-1)
		nextItem = 0;
	else
		nextItem++;
}

function fader(obj, dir)
{
	var opacity = 100;
	var handler = window.setInterval(function()
	{
		opacity = Math.floor(opacity/2);
		setOpacity(obj, dir > 0 ? (100 - opacity) : opacity);
		if (opacity == 0)
		{
			window.clearInterval(handler);
		}
	}, 40);
}

// Search user list
var g_search = false;
function initUserSearch()
{
	if (!g_search)
	{
		var searchBox = document.getElementById("searchBox");
		if (searchBox)
		{
			var input = searchBox.firstChild.firstChild;
			// initialize search object
			g_search = {
				searchBox: searchBox,
				cancelButtonEnabled: searchBox.firstChild.className == "cancel",
				
				enableCancelButton: function(_enable)
				{
					var enable = typeof _enable == "undefined" ? true : _enable;
					
					this.searchBox.firstChild.className = enable ? "cancel" : "";
					this.cancelButtonEnabled = true;
				},
				
				init: function()
				{
					// add event handler
					var self = this;
					this.searchBox.firstChild.attachEvent("onclick", function(_evt)
					{
						var evt = typeof _evt == "undefined" ? window.event : _evt;
						var x = getEventPosition(evt).x;
						var objectX = getObjectPosition(self.searchBox.firstChild).x;
						var fromRight = self.searchBox.firstChild.offsetWidth - x + objectX;
						
						if (fromRight <= 14 && self.cancelButtonEnabled)
						{
							input.value = "";
							onSearchChange(input);
						}
						else
						{
							input.focus();
						}
					});
				}
			};
			g_search.init();
		}
	}
}

function onSearchChange(input)
{
	var parentDiv = document.getElementById("userColumns");

	if (g_search)
	{
		g_search.enableCancelButton(input.value.length > 0);
		if (!g_search.users)
		{
			var divs = parentDiv.getElementsByTagName("div");
			g_search.users = [];
			for(var i = 0; i < divs.length; i++)
			{
				if (divs[i] && divs[i].id != undefined && divs[i].id.indexOf("user_") > -1 && divs[i].childNodes[1].firstChild && divs[i].childNodes[1].firstChild.innerHTML)
				{
					g_search.users.push({id: divs[i].id, html: divs[i].childNodes[1].firstChild.innerHTML});
				}
			}
		}
		
		try
		{
			for(var i = 0; i < g_search.users.length; i++)
			{
				var row = g_search.users[i];
				var parent = document.getElementById(row.id);
				
				parent.style.display = RegExp(input.value, "i").test(row.html) ? "" : "none";
			}
		}
		catch(e)
		{
			// regular expression failed	
		}
	}
}

// Calendar functions
function changeCalendar(day, month, year, action)
{
	xajax.call("xajax_getCalendar", {parameters:[day, month, year, action], context: {callback: function() {} }});
	
	return false;
}

function selectDay(day, month, year)
{
	xajax.call("xajax_selectDay", {parameters:[day, month, year], context: {callback: function(link) {location.href=link;} }});
	
	return false;
}

// Init
if (window.attachEvent) 
{
	window.attachEvent("onload", onInit);
}
else
{
	window.onload = onInit;
}
