var isIE 		= false;
var req 		= false;
var section		= false;
var imageNumber	= false;
var url			= false;
function getElementTextNS(prefix, local, parentElem, index) {
	var result = "";
	if (prefix && isIE) {
		// IE/Windows way of handling namespaces
		result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
	} else {
		// the namespace versions of this method 
		// (getElementsByTagNameNS()) operate
		// differently in Safari and Mozilla, but both
		// return value with just local name, provided 
		// there aren't conflicts with non-namespace element
		// names
		result = parentElem.getElementsByTagName(local)[index];
	}
	if (result) {
		// get text, accounting for possible
		// whitespace (carriage return) text nodes 
		if (result.childNodes.length > 1) {
			return result.childNodes[1].nodeValue;
		} else {
			return result.firstChild.nodeValue;
		}
	} else {
		return "n/a";
	}
}
function processReqChange() {
	// only if req shows "loaded"
	if (req.readyState == 4) {
		// only if "OK"
		if (req.status == 200) {
			// ...processing statements go here...
			var elements = req.responseXML.getElementsByTagName("album");
			var myNode;
			for (var i = 0; i < elements.length; i++) {
				if (getElementTextNS("", "name", elements[i], 0) == section) {
					myNode = i;
				}
			}
			var myFilenames = getElementTextNS("", "filenames", elements[myNode], 0).split(', ');
			if (imageNumber > myFilenames.length - 2) {
				nextImage = 0;
			} else {
				nextImage = imageNumber + 1;
			}
			document.getElementById("display").innerHTML = '<a href="javascript:displayPortfolio(' + "'" + url + "','" + section + "'," + nextImage + ');">' + '<img id="image" src="' + getElementTextNS("", "url", elements[myNode], 0) + myFilenames[imageNumber] + '"/></a>';
			var imagePreview = '';
			for (var n = imageNumber - 1; n > imageNumber - 4; n--) {
				if (myFilenames[n]) {
					imagePreview = '<a href="javascript:displayPortfolio(' + "'" + url + "','" + section + "'," + n + ');"><img src="' + getElementTextNS("", "url", elements[myNode], 0) + myFilenames[n] + '"/></a>' + imagePreview;
				}
			}
			imagePreview = imagePreview + '<img class="active" src="' + getElementTextNS("", "url", elements[myNode], 0) + myFilenames[imageNumber] + '"/>';
			for (var j = imageNumber + 1; j < imageNumber + 4; j++) {
				if (myFilenames[j]) {
					imagePreview = imagePreview + '<a href="javascript:displayPortfolio(' + "'" + url + "','" + section + "'," + j + ');"><img src="' + getElementTextNS("", "url", elements[myNode], 0) + myFilenames[j] + '"/>';
				}
			}
			document.getElementById("images").innerHTML = imagePreview;

		} else {
			alert("There was a problem retrieving the XML data:\n" + req.statusText);
		}
	}
}
function getDisplay() {
	var x,y;
	if (self.innerHeight) // all except Explorer
	{
		x = self.innerWidth;
		y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
			// Explorer 6 Strict Mode
	{
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}
	return x;
}
function displayPortfolio(myUrl, mySection, myImageNumber) {
    // branch for native XMLHttpRequest object
	section = mySection;
	url = myUrl;
	imageNumber = myImageNumber;
    if(window.XMLHttpRequest) {
        try {
			req = new XMLHttpRequest();
        } catch(e) {
			req = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
        try {
			isIE = true;
			req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				req = false;
			}
		}
    }
        if(req) {
			req.onreadystatechange = processReqChange;
			req.open("GET", url, true);
			req.send("");
	}
	// retrieve text of an XML document element, including
	// elements using namespaces
}
function newVideo(url) {
	window.open(url, "video", "width=650, height=420");
}