/////////////////////////////////
// BEFORE LOAD
// by Richard Quigley
// 2006-2009
// rdqrdq@gmail.com
/////////////////////////////////

var browser;
var agent=navigator.userAgent.toLowerCase();
if (agent.indexOf("firefox") != -1) {browser = 'FF'};
if (agent.indexOf("msie") != -1) {browser = 'IE'};
if (agent.indexOf("netscape") != -1) {browser = 'NS'};
if (agent.indexOf("safari") != -1) {browser = 'SF'};

var xmlDoc;
var imageNodes;

	
//loadXML() FROM W3SCHOOLS.COM
//EDITED BY RICH QUIGLEY
function loadXML(){
	//load xml file
	// code for IE
	if (window.ActiveXObject){
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		xmlDoc.load("image_catalog.xml");
		imageNodes = xmlDoc.getElementsByTagName("IMAGE").length - 1;
	}
	// code for Mozilla, etc.
	else if (document.implementation && document.implementation.createDocument && browser != 'SF'){
		xmlDoc = document.implementation.createDocument("","",null);
		xmlDoc.load("image_catalog.xml");
		xmlDoc.onload = function (){
			imageNodes = xmlDoc.getElementsByTagName("IMAGE").length - 1;
		}
	//Safari 4 and Chrome load xml
	}else if (browser == 'SF') {
		xmlDoc = document.implementation.createDocument("","",null);
		xmlDoc = new XMLHttpRequest();
		var url="image_catalog.xml";
		xmlDoc.onreadystatechange = function() {
			if (xmlDoc.readyState==4){
				if (xmlDoc.status == 200) {
					xmlDoc = xmlDoc.responseXML;
	    			imageNodes = xmlDoc.getElementsByTagName("IMAGE").length - 1;
			 	} else {
            	alert("There was a problem retrieving the XML data:\n" + xmlDoc.statusText);
        		}
			}
		}
	
		xmlDoc.open("GET",url,true);
		xmlDoc.send(null);
		
	}else if (browser != 'SF'){
		alert('Your browser cannot handle this script. Please upgrade to a modern browser.');
	}
}


var imagePaths = new Array();
function setXML(){
	var sources = xmlDoc.getElementsByTagName("SRC").length;
	
	for (i=0;i<sources;i++){
		imagePaths[i] = xmlDoc.getElementsByTagName("SRC")[i].firstChild.nodeValue;
	}
}
