﻿var g_IsPreloaded = false;
var g_PercetDelta = 0;
var g_ImagesSrc = null;
var g_Images = null;

// Reading: http://www.thefutureoftheweb.com/blog/image-onload-isnt-being-called
function InitImgArray()
{
	g_ImagesSrc = new Array();
	var i = 0;
	g_ImagesSrc[i++] = "images/loading-picture.png";
	g_ImagesSrc[i++] = "images/email.png";
	g_ImagesSrc[i++] = "images/empty.gif";
	for(var j=0; j<MenuContents.MainCount; j++){
		var item = MenuContents.Contents[j];
		g_ImagesSrc[i++] = "images/menu/"+item.Main+".png";
		g_ImagesSrc[i++] = "images/menu/"+item.Main+"-a.png";
		g_ImagesSrc[i++] = "images/menu/"+item.Main+"-h.png";
		for(var k=0; k<item.SubParts.length; k++){
			g_ImagesSrc[i++] = "images/menu/"+item.SubParts[k]+".png";
			g_ImagesSrc[i++] = "images/menu/"+item.SubParts[k]+"-a.png";
			g_ImagesSrc[i++] = "images/menu/"+item.SubParts[k]+"-h.png";
		}
		if(!item.Download){
			g_ImagesSrc[i++] = "images/" + item.Open + ".jpg";
		}
	}
}

function PreloadAll_A()
{
	InitImgArray();

	g_Images = new Array();
	g_PercetDelta = 100/g_ImagesSrc.length;
	for(var i=0; i<g_ImagesSrc.length; i++){
		g_Images[i] = new Image();
		g_Images[i].onload =
			g_Images[i].onLoad = SetPercent;
		g_Images[i].src = g_ImagesSrc[i];
	}
	
	g_IsPreloaded = true;
}

function PreloadAll()
{
	var img;
	var img = new Image();
	img.src = "images/loading-picture.png";
	
	img = new Image();
	img.src = "images/empty.gif";
	
	g_PercetDelta = 100/MenuContents.MainCount;
	//var p_curr = 0;
	for(var i=0; i<MenuContents.MainCount; i++){
		var item = MenuContents.Contents[i];
		
		// Main menu - root elements
		img = new Image();
		img.src = "images/menu/"+item.Main+".png"; 
		img = new Image();
		img.src = "images/menu/"+item.Main+"-a.png"; 
		img = new Image();
		img.src = "images/menu/"+item.Main+"-h.png"; 
		
		for(var j=0; j<item.SubParts.length; j++){
			// Main menu - sub items
			img = new Image();
			img.src = "images/menu/"+item.SubParts[j]+".png";
			img = new Image();
			img.src = "images/menu/"+item.SubParts[j]+"-h.png";
			img = new Image();
			img.src = "images/menu/"+item.SubParts[j]+"-a.png";
		}
		
		// Main content - big project images
		if(!item.Download){
			img = new Image();
			img.onload =
				img.onLoad = SetPercent;
			img.src = "images/" + item.Open + ".png";
		}
		//p_curr += p_delta;
		//document.getElementById("percentage").innerHTML = parseInt(p_curr,10).toString();
	}
	
	// Other
	img = new Image();
	img.onload =
		img.onLoad = SetPercent;
	img.src = "images/large-shadow.png";
	
	//g_IsPreloaded = true;	// preloading doesn't work in IE7!!!
}
function SetPercent()
{
	var p_curr = parseInt(document.getElementById("percentage").innerHTML, 10);
	p_curr += g_PercetDelta;
	p_curr = Math.min(p_curr, 100);
	document.getElementById("percentage").innerHTML = parseInt(p_curr,10).toString();
}

// ONE OR THE OTHER!!!
PreloadAll_A(); // detailed
//PreloadAll();	// chunked