// variables
var extra = 0; // the extra to add to the progress bar 
var done = false;  // changes to 1 when the DOM has loaded

function progress_bar(){ 
	var image_count = document.getElementsByTagName("img").length; //get number of images
	var image_array = document.getElementsByTagName("img"); //put the images in an array
	//next line is to calculate size of one portion of bar relative to number of images
	var bar_chunk = Math.round(170/image_count); 
		
	var new_length = 0; // will be width of progress bar
	var c = 0;  // to count how many images are complete
	
	for (var t=0; t<image_count; t++)
	{
		if (image_array[t].complete) //every time an image loads
		{
			new_length = new_length + bar_chunk;
			c++;
		}
	}
	
	if (new_length <= parseFloat(document.getElementById('progress_bar_inner').style.width)
		&& new_length < (c*bar_chunk + bar_chunk)) //if new width not yet reached next stage...
	{
		extra = extra + 1;
		new_length = new_length + Math.round(extra);	 
	}
	else
		extra = 0;  // reset extra if loaded next image 
	
	// make the bar longer
	if (new_length < 170)
	{
		document.getElementById('progress_bar_inner').style.width = new_length + 'px';
	}
		
	if (c < image_count || c == 0 || done == false)// If all images not loaded then call this function again
		setTimeout('progress_bar();', 150); 
	else // otherwse close progress bar
		close_bar();
}

function close_bar()//to close	
{
	document.getElementById('progress_bar_inner').style.display = 'none';
	document.getElementById('progress_bar_outer').style.display = 'none';
} 

// If IE
if(document.readyState)	
{
	document.onreadystatechange=checkstate;
}
else if (document.addEventListener) // if Mozilla or Netscape
{
	document.addEventListener("DOMContentLoaded", saydone, false);
}

function checkstate()
{
	if (document.readyState=="complete")
		done = true;
}

function saydone()
{
	done = true;
}  

// for other browsers that don't have DOM complete variables
setTimeout('saydone();', 500);


