window.onload = photoprep;
var currentname;
var imgArray;
var captionArray;
var swtch = 1;
var flag = 1;
function photoprep (){
	
	if (document.getElementById('picholder')){
		var url = document.URL;
		var items = url.split("/");
		var domain = items[2];
		//url looks like http://teamms.com/photos.php?cat=1&start=0
		var qstring = url.split("?");
		var variables = qstring[1].split("&");
		var cat;
		for (var x=0; x < 2; x++){
			if (variables[x].match('cat') == 'cat'){
				var cat_array = variables[x].split('=');
				cat = cat_array[1];
			}
		}
		makeRequest("http://"+items[2]+"/xml_images.php?cat="+cat);
	}
	
	if (document.getElementById('thumbnails')){
		var thumbnails = document.getElementById('thumbnails');
		var thumbs = thumbnails.getElementsByTagName('a');
		var img_num = thumbs.length;
		for (var x = 0; x<img_num; x++){
			thumbs[x].onclick = function(){
				return changeImg(this.href);
			}
		}
	}
	
	/*if (document.getElementById('prev')){
		var prev = document.getElementById('prev');
		prev.onclick = function(){
			return navigate(this.href);
		}
	}
	if (document.getElementById('next')){
		var next = document.getElementById('next');
		next.onclick = function(){
			return navigate(this.href);
		}
	}*/
}

function makeRequest(url) {
	var http_request = false;

	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
			// See note below about this line
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		unLink();
		return false;
	}
	http_request.onreadystatechange = function() { alertContents(http_request); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function alertContents(http_request) {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			var xmldoc = http_request.responseXML;
			imgArray = xmldoc.getElementsByTagName('image');
			captionArray = xmldoc.getElementsByTagName('caption');
			curindex = 0;
		} else {
			alert('There was a problem with the request.');
		}
	}
}

function navigate(dir)
{
	var count = imgArray.length;
	if (dir >= count){
		dir = 0;
	} else if (dir <= 0){
		dir = count-1;
	}
	alert(dir);
	return false;
}

function changeImg(url)
{
	try {
		var items = url.split('/');
		var index = items[6];
		var name = imgArray[index].firstChild.data;
		if (captionArray[index].firstChild){
			var caption = captionArray[index].firstChild.data;
		} else {
			var caption = '';
		}
		
		var picholder = document.getElementById('picholder');
		var fullImages = picholder.getElementsByTagName('img');
		var imgSrc = fullImages[0].getAttribute('src');
		var filedata = imgSrc.split('/');
		var curfilename = filedata[2];
		
		//var main = document.getElementById('main');
	} catch(err) {
		alert(err.description);
	}
	
	try {
		if (name != currentname && name != curfilename){
			if (flag == 1){
				flag = 0;
				if (swtch == 1){
					var newimg = new Image();
					newimg.onload = function(){	
						var pic = document.createElement("img");
						pic.setAttribute("id", "main2");
						pic.setAttribute("src", "images/photos/"+name+"");
						pic.setAttribute("alt", "");
						setOpacity(pic, 0);
						picholder.appendChild(pic);
						fadein(caption, "main2", 0);
						fadeout("main", 100);
					}
					newimg.src = "images/photos/"+name+"";
					currentname = name;
					swtch = 2;	
				} else {
					var newimg2 = new Image();
					newimg2.onload = function(){	
						var pic2 = document.createElement("img");
						pic2.setAttribute("id", "main");
						pic2.setAttribute("src", "images/photos/"+name+"");
						pic2.setAttribute("alt", "");
						setOpacity(pic2, 0);
						picholder.appendChild(pic2);
						fadein(caption, "main", 0);
						fadeout("main2", 100);
					}
					newimg2.src = "images/photos/"+name+"";
					currentname = name;
					swtch = 1;	
					
				}
			}
		}
	} catch (err){
		alert('error: '+err.description);
		return false;
	}
	return false;
}


function fadein(caption, objId, opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		
		if (opacity == 0){
			obj.style.visibility = "visible";
		}
		
		if (opacity <= 100) {
			setOpacity(obj, opacity);
			opacity += 10;
			window.setTimeout("fadein('"+caption+"', '"+objId+"',"+opacity+")", 50);
		} else if (opacity > 100){
			flag = 1;
			updateCaption(caption);
		}
	}
}

function fadeout(objId,opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		if (opacity == 0){
			obj.style.visibility = "hidden";
			var picholder = document.getElementById('picholder');	
			var trash = picholder.getElementsByTagName("img");
			for (var d=0; d<trash.length; d++){
				if (trash[d].getAttribute('id') == objId){
					picholder.removeChild(trash[d]);
				}
			}			
		}
		
		if (opacity >= 0) {
			setOpacity(obj, opacity);
			opacity = opacity - 10;
			window.setTimeout("fadeout('"+objId+"',"+opacity+")", 50);
		}
	}
}

function updateCaption(text){
	if (document.getElementById('caption')){

		var cap_holder = document.getElementById('caption');
		removeChildren(cap_holder);
		text_node = document.createTextNode(text);
		cap_holder.appendChild(text_node);
	}
}

function removeChildren(obj){
	while (obj.childNodes.length >= 1){
		obj.removeChild(obj.firstChild);
	}
}

function setOpacity(obj, opacity) {
	opacity = (opacity == 100)?99.999:opacity;
	// IE/Win
	obj.style.filter = "alpha(opacity:"+opacity+")";
	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = opacity/100;
	// Older Mozilla and Firefox
	obj.style.MozOpacity = opacity/100;
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = opacity/100;
}