var preloaderStep = 5;
var preloaded = false;
var loadingpics = new Array;

function loadStatus() {
		var picspreloaded = 0;
		for (var i = 0; i < fetchedImages.length; i++) {
			if (fetchedImages[i].complete) {
				picspreloaded ++;
			}
		}
		if (picspreloaded < fetchedImages.length) {
			var percent = Math.round(picspreloaded * (100 / fetchedImages.length));

			pic = preloaderStep * Math.round(percent / preloaderStep);
			pic = pic == 100 ? 100 - preloaderStep : pic
			document.getElementById('loadingpic').src = preloaderPath + pic + ".gif";

			window.setTimeout("loadStatus()", 10);
		}
		else {
			document.getElementById('loadingpic').src = preloaderPath + 100 + ".gif";
			preloaded = true;
		}

}
function loadImage(url) {
	if (document.images) {
		result = new Image();
		result.src = url;
		return result;
	}
}


var preloaderpreloaded = false;
function preloaderImages() {
	if (document.images) {
		fetchedImages = new Array;
		for (var i = 0; i < preload.length; i++) {
			fetchedImages[i] = loadImage("." + preload[i]);
		}
		preloaderpreloaded = true;
	}
	window.setTimeout("loadStatus()", 10);
}

function startPreloader() {
	var url = "php/imagelist.php?f=" + preloaderPathId; 
	var loadingflag = false;
	
	// load "loading..." pics
	if (loadingpics.length > 0) {
		countloadingpics = 0;
		for (var i = 0; i < loadingpics.length; i++) {
			if (loadingpics[i].complete) {
				countloadingpics ++;
			}
		}
		if (countloadingpics == (100 / preloaderStep) + 1) {
			loadingflag = true;
		}
	}
	else
	{
		j = 0;
		for (var i = 0; i <= 100; i+= preloaderStep) {
			loadingpics[j] = loadImage(preloaderPath + i + ".gif");
			j++;
		}
	}

	if (loadingflag == true)
	{
		if (!isWorking && http) {

			http.open("GET", url, true);
			http.onreadystatechange = handleHttpResponse;
			isWorking = true;
			http.send(null);
		}
	}
	else {
		window.setTimeout("startPreloader()", 10);
	}
}

function handleHttpResponse() {
	if (http.readyState == 4) {
		if (http.responseText.indexOf('invalid') == -1) {
			preload = http.responseText.split(",");
			isWorking = false;
			preloaderImages();
		}
	}
}

