images_to_preload = new Array();
image_names_to_preload = new Array();
function_to_call_if_preload_complete = "";
images_loaded = new Array();

function preload_image(path) {
    image_names_to_preload.push(path);
}

function preloader_start(f) {

  function_to_call_if_preload_complete = f;
  
  for (i = 0; i < image_names_to_preload.length; i++) {
  
    images_to_preload[i] = new Image();
    images_to_preload[i].src = image_names_to_preload[i];
    images_loaded[i] = false; 
  }

  document.getElementById ("preloader_progressbar").style.visibility = "visible";

  preloader_checkload();
}

function preloader_checkload() {
  numOfCompleteImages = 0;
	for (i = 0; i < images_to_preload.length; i++) {
    if (images_to_preload[i].complete) 
        images_loaded[i] = true;
		if (images_loaded[i]) 
      numOfCompleteImages++;	
  }
      
  if (numOfCompleteImages >= images_to_preload.length) {
    //document.getElementById ("preloader_counter").style.visibility = "hidden";
    document.getElementById ("preloader_progressbar").style.visibility = "hidden";
    setTimeout(function_to_call_if_preload_complete,10); 
  }
  else {
    percent = Math.floor(numOfCompleteImages* 100 / images_to_preload.length );
    //document.getElementById ("preloader_counter").innerHTML = percent +"%";
    document.getElementById ("preloader_percent").style.width = percent +"%";
    setTimeout("preloader_checkload()",100);
  }
}
