/*
Preload Image With Update Bar Script (By Marcin Wojtowicz [one_spook@hotmail.com])
Submitted to and permission granted to Dynamicdrive.com to feature script in it's archive
For full source code to this script and 100's more, visit http://dynamicdrive.com
*/

var images = []
var preImages = []
var loaded = []
var currCount = 0
var percentDone = -1;

var bgArray = ["images/backgrounds/tribesbg1.png","images/backgrounds/tribesbg2.png","images/backgrounds/tribesbg3.png"]
var bgURL = bgArray[Math.floor(Math.random()*bgArray.length)]

images.push("images/borders/table/bottom.jpg")
images.push("images/borders/table/top.jpg")
images.push("images/borders/table/left.jpg")
images.push("images/borders/table/right.jpg")
images.push("images/buttons/cancel.jpg")
images.push(bgURL)
images.push("images/logo.png")
images.push("images/smlogo.png")
images.push("images/badges/css.png")
images.push("images/badges/xhtml.png")
images.push("images/badges/firefox.png")
images.push("images/borders/left.jpg")
images.push("images/borders/right.jpg")
images.push("images/borders/bottom.jpg")
images.push("images/borders/top.jpg")
images.push("images/borders/table/bleft.jpg")
images.push("images/borders/table/bright.jpg")
images.push("images/borders/table/tleft.jpg")
images.push("images/borders/table/tright.jpg")
images.push("images/buttons/apply.jpg")
images.push("images/buttons/defaults.jpg")
images.push("images/buttons/done.jpg")
images.push("images/buttons/download.jpg")
images.push("images/buttons/info.jpg")
images.push("images/buttons/motd.jpg")
images.push("images/buttons/refresh.jpg")
images.push("images/buttons/refresh_all.jpg")
images.push("images/buttons/refresh_all_disabled.jpg")
images.push("images/buttons/refresh_vis.jpg")
images.push("images/buttons/refresh_vis_disabled.jpg")
images.push("images/buttons/settings.jpg")
images.push("images/buttons/shazbot.gif")
images.push("images/buttons/source.gif")
images.push("images/icons/arrow.gif")
images.push("images/icons/error.jpg")
images.push("images/icons/loading.gif")
images.push("images/icons/status.jpg")
images.push("images/icons/warning.jpg")

function showPreload()
{
	document.getElementById("dialog_bg").style.display = "inline"
	document.getElementById("container").style.display = "inline"

	var spacing = document.createElement("div")
	spacing.style.height = "40px"

	var text = document.createElement("span")
	text.style.display = "block"
	text.style.textAlign = "center"
	text.appendChild(document.createTextNode("Preloading images. Please wait..."))

	bodyText = document.getElementById("centerText")
	bodyText.appendChild(spacing)
	bodyText.appendChild(text)

	var newDiv = document.createElement("div")
	newDiv.style.height = "25px"
	newDiv.style.width = "200px"
	newDiv.style.margin = "25px auto 0 auto"
	newDiv.style.border = "1px solid #00ff00"

	bodyText.appendChild(newDiv)

	var progress = document.createElement("span")
	progress.id = "percentNum"
	progress.style.textAlign = "center"
	progress.style.top = "50%"
	progress.style.width = "200px"
	progress.style.position = "absolute"
	progress.appendChild(document.createTextNode("0%"))

	newDiv.appendChild(progress)

	var innerDiv = document.createElement("div")
	innerDiv.style.backgroundColor = "rgb(49,158,21)"
	innerDiv.id = "percent"
	innerDiv.style.height = "25px"
	innerDiv.style.width = "0%" // works

	newDiv.appendChild(innerDiv)

	var img = document.createElement("img")
	img.src = "images/buttons/cancel.jpg"
	img.alt = "Cancel Preload"
	img.id = "cancel"
	document.getElementById("footer").appendChild(img)

	AttachEvent(document.getElementById("footer").firstChild,'click',endPreload,false)
	loadImages()
}

function loadImages()
{ 
	for (var i = 0; i < images.length; i++)
	{ 
		preImages[i] = new Image()
		preImages[i].src = images[i]
	}

	for (var i = 0; i < preImages.length; i++)
		loaded[i] = false

	checkLoad()
}

function checkLoad()
{
	if (currCount == preImages.length)
	{
		cb = document.getElementById("cancel")
		cb.parentNode.removeChild(cb)
		setTimeout("endPreload()", 1000)
		return
	}

	for (var i = 0; i <= preImages.length; i++)
	{
		var oldPercentDone = percentDone;
		percentDone = (currCount / preImages.length) * 100;

		if(oldPercentDone != percentDone)
		{
			val = Math.floor(percentDone) + "%"
			document.getElementById("percent").style.width = val
			document.getElementById("percentNum").childNodes[0].data = val
		}

		if (loaded[i] == false && preImages[i].complete)
		{
			loaded[i] = true
			currCount++
		}
	}
	if(preload)
		timerID = setTimeout("checkLoad()",10)
}

function endPreload()
{
	preload = 0
	document.getElementById("dialog_bg").style.display = "none"
	document.getElementById("container").style.display = "none"
	sendRequest("GET", "masterQuery.php", showServerList)

	// stupid ghetto
	document.getElementById("status").innerHTML = "requesting server list..."
}