var xmlDoc;
var notWhitespace = /\S/;
var photoListArray = new Array ();
var illListArray = new Array ();
var retListArray = new Array ();
var retRawListArray = new Array ();
var photoArray = new Array ();
var nodeArray = new Array ();
var xmlStatus = "";
var xmlState = "";
var testNumb = 15;
var file = "";

// This function is called from an html page where the Flash Image Viewer is loaded; 
// It clear all arrays, checks for browser type; loads xml file; and sets the 
// xmlState for loadImageXML() on html page;
function loadXML(xmlFile) {
	file = xmlFile;
	clearArray();	
	//check browser type;
	if (window.ActiveXObject){
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async = false;//ensures that xml loads first  - then the rest of doc follows - IE;
		//check xml init status;
		xmlDoc.onreadystatechange = verifyXml;
		xmlDoc.load(xmlFile);
		xmlState = "Microsoft";	
	}
	//if Firefox, Netscape, or safari;
	else if (document.implementation && document.implementation.createDocument){
		//if Safari;
		if ((navigator.userAgent.indexOf('Safari') == 104) || (navigator.userAgent.indexOf('Safari') == 99)) {
			//alert("Web_Lib: Inside loadXML() indexOf('Safari')");
			xmlhttp = null;
			// code for Mozilla, etc.
			if (window.XMLHttpRequest){
				xmlhttp = new XMLHttpRequest();
			}
			if (xmlhttp!=null){
	 			xmlhttp.onreadystatechange = state_Change;
	 			xmlhttp.open("GET",xmlFile,false);
	  			xmlhttp.send(null);
	  			xmlState = "Safari";
			}
			else {
	 			alert("Your browser does not support XMLHTTP.")
			}						
 		} 		
 		else {
 			xmlDoc = document.implementation.createDocument("","", null);
			xmlDoc.load(xmlFile);
			xmlState = "Firefox"; 				
 		}		
	}			///////  End "if Safari" ////;
}		
//clears all arrays
function clearArray() {
	// Empty the node Array;
	for (i = 0; i < nodeArray.length; i++) {
		nodeArray.splice(i, nodeArray.length);
	}
	//Empty the photoArray;
	for (i = 0; i < photoArray.length; i++) {
		photoArray.splice(i, photoArray.length);
	}
	for (i = 0; i < photoListArray.length; i++) {
		photoListArray.splice(i, photoListArray.length);
	}
	for (i = 0; i < illListArray.length; i++) {
		illListArray.splice(i, illListArray.length);
	}
	for (i = 0; i < retListArray.length; i++) {
		retListArray.splice(i, retListArray.length);
	}
	for (i = 0; i < retRawListArray.length; i++) {
		retRawListArray.splice(i, retRawListArray.length);
	}
}
//verify xml available and loaded;
function verifyXml(){
	if (xmlDoc.readyState != 4) {
		return false;
	}
	else if (xmlDoc.readyState == 4) {
		return true;
	}
}
function state_Change(){
	// if xmlhttp shows "loaded"
	if (xmlhttp.readyState==4) {
		text = xmlhttp.responseXML;
  		// if "OK"
  		if (xmlhttp.status==200){
    		var elements = text.getElementsByTagName("name");
    		for (i = 0; i< elements.length; i++) {
    			photoArray.push(elements[i].firstChild.data);  						
    		}    	
    		xmlStatus = "complete";
 		} 					
  		else{
   			 alert("Problem retrieving XML data")
    	}
 	}
 }

// This function is called from an html page where the Flash Image Viewer is loaded;
// It parses XML file and loads all nodes into a nodeArray;
function parseXml() {
	var msgObj = xmlDoc.getElementsByTagName("imageNameList")[0];
	for (i=0;i<msgObj.childNodes.length;i++) {
		nodeArray.push(msgObj.childNodes[i]);
	}
	//separates out WhiteSpace - puts images into photoArray;
	for (i=0;i<nodeArray.length;i++) {
		if (nodeArray[i].nodeType == 1) {
			photoArray.push(nodeArray[i].firstChild.nodeValue);
		}
	}
	xmlStatus = "complete";
}
// Called from loadXML(xmlFileName);
// Loads photoarray into one of three arrays - photoListArray, illListArray, retListArray;
function alertPhotoXML(xmlFileName) {
	if (xmlFileName == "photo.xml") {
		for (i=0;i<photoArray.length;i++) {
			photoListArray.push("http://www.innercitylight.org/web_jpgs/" + photoArray[i]);
		}
	}
	else if (xmlFileName == "photo02.xml") {
		for (i=0;i<photoArray.length;i++) {
			photoListArray.push("http://www.innercitylight.org/web02_jpg/" + photoArray[i]);
		}
	}
	else if (xmlFileName == "retouch.xml") {
		for (i=0;i<photoArray.length;i++) {
			photoListArray.push("http://www.remedialart.com/retouch_jpgs/" + photoArray[i]);
			retRawListArray.push("http://www.remedialart.com/retouch_raw_jpgs/" + photoArray[i]);
		}
	}
}












