/*

not needed anymore?

var Gallery = new function() {
	this._gallery = null;
	this._album = null;
	this._photo = null;
	this._list = null;
	this._index = null;
	this._tim1 = null;
	this._tim2 = null;
	this._tim3 = null;
	this._list_index = 0;
	this._startpic = 0;
	this._set = 0;
	this._imgcache = [];
	this._num_per_page = 30;
	this._num_pages = 1;
	
	this.getAlbum = function(album) {
		Gallery._album = album;
		
		var ajax = new Ajax();
		ajax.setMimetype="text/xml";
		ajax.responseFormat="xml";
		ajax.doGet("/shared/ajax.php?t=gallery&xaction=get+album&gallery_id="+Gallery._gallery+"&album_id="+album,
				Gallery.finishAlbum, "xml");
	};
	
	this.finishAlbum = function(ajax_xml) {
		var root = Gallery._root = ajax_xml.documentElement;
		Gallery._list = root.getElementsByTagName("item");
		Gallery._index = 0;
		Gallery.initAlbum();
	};

	this.initAlbum = function() {
		// Update Picture
		if(Gallery._root.getElementsByTagName("name")[0].firstChild !== null)
			document.getElementById("gallery_name").innerHTML = Gallery._root.getElementsByTagName("name")[0].firstChild.nodeValue;
		
		// Update Name
		if(Gallery._root.getElementsByTagName("desc")[0].firstChild !== null)
			document.getElementById("gallery_desc").innerHTML = Gallery._root.getElementsByTagName("desc")[0].firstChild.nodeValue;
		
		// Update Desc
		if(Gallery._root.getElementsByTagName("item_count")[0].firstChild !== null)
			document.getElementById("gallery_count").innerHTML = Gallery._root.getElementsByTagName("item_count")[0].firstChild.nodeValue+ " photos";
		
		
		var c = document.getElementById("gallery_thumbs");
		var imgs = [];
		c.style.width = 86*Gallery._list.length+"px";
		var html = "";
		for(var i = 0; i < Gallery._list.length; i++) {
			
			html += "<li><img id=\"photo_"+i+"\" src=\"/includes/gallery/"+Gallery._gallery+"/images/album_"+Gallery._album+"/sm."+Gallery._list[i].getElementsByTagName("file")[0].firstChild.nodeValue+"\" title=\""+((Gallery._list[i].getElementsByTagName("name")[0].firstChild===null)?'':Gallery._list[i].getElementsByTagName("name")[0].firstChild.nodeValue)+"\" onclick=\"Gallery.display(event)\" /></li>";
			var img = new Image();
			img.src = "/includes/gallery/"+Gallery._gallery+"/images/album_"+Gallery._album+"/lg."+Gallery._list[i].getElementsByTagName("file")[0].firstChild.nodeValue;
			imgs.push(img);
		}
		
		c.innerHTML = html;
		
		if(Gallery._startpic > 0) {
			var i = 0; 
			var found = false;
			while(i < Gallery._list.length && !found) {
				if(Gallery._list[i].getAttribute("id") == Gallery._startpic)
					found = true;
				else i++;
			}
			if(found) Gallery._index=i;
		}
		Gallery.initPhoto();
	};
	
	this.display = function(e) {
		var targ;
		e = e ? e : window.event;
		if (e.target) targ = e.target;
		else if (e.srcElement) targ = e.srcElement;
		if (targ.nodeType == 3) // defeat Safari bug
			targ = targ.parentNode;
		
		Gallery._index = targ.id.replace("photo_", "");
		if(Gallery._index - 3 == Gallery._list_index && Gallery._index < Gallery._list.length) {
			Gallery._list_index++;
			Gallery.slideThumbs();
		} else if( Gallery._index == Gallery._list_index && Gallery._list_index > 0) {
			Gallery._list_index--;
			Gallery.slideThumbs();
		}
		
		Gallery.initPhoto();
	};
	
	this.initPhoto = function() {
		clearTimeout(Gallery._tim3);
		
		Gallery._photo = Gallery._list[Gallery._index];
		
		// Update Picture
		document.getElementById("photo_image").src = "/includes/gallery/"+Gallery._gallery+"/images/album_"+Gallery._album+"/lg."+Gallery._photo.getElementsByTagName("file")[0].firstChild.nodeValue;
		
		// Update Name
		document.getElementById("photo_name").innerHTML = (Gallery._photo.getElementsByTagName("name")[0].firstChild === null) ? "" : Gallery._photo.getElementsByTagName("name")[0].firstChild.nodeValue;
		
		// Update Desc
		document.getElementById("photo_desc").innerHTML = (Gallery._photo.getElementsByTagName("desc")[0].firstChild === null) ? "" : Gallery._photo.getElementsByTagName("desc")[0].firstChild.nodeValue;
		
		var sharelink = document.getElementById("sharelink");
		sharelink.onmouseover = function() { return addthis_open(sharelink, '', 'http://tooltest.rdg.com/gallery/display.php?album_id='+Gallery._album+'&pic='+Gallery._photo.getAttribute("id"), Gallery._photo.getElementsByTagName("name")[0].firstChild.nodeValue); }
		// onmouseover="" onmouseout="addthis_close()" onclick="return addthis_sendto()"
		
		// Update Ratings & Comments Area
		if(Gallery._imgcache[Gallery._photo.getAttribute("id")] == undefined) {
			var ajax = new Ajax();
			ajax.setMimetype="text/xml";
			ajax.responseFormat="xml";
			ajax.doGet("/shared/ajax.php?t=gallery&xaction=get+item+data&item_id="+Gallery._photo.getAttribute("id"),
					Gallery.finishItemData, "xml");
		} else {
			Gallery.finishItemData(Gallery._imgcache[Gallery._photo.getAttribute("id")]);
		}
	};
	
	this.finishItemData = function(ajax_xml) {
		var root = ajax_xml.documentElement;
		
		if(root.getElementsByTagName("id")[0].firstChild.nodeValue == Gallery._photo.getAttribute("id")) { // Current
			document.getElementById("item_rating").innerHTML = root.getElementsByTagName("rating")[0].firstChild.nodeValue;
			document.getElementById("item_comments").innerHTML = root.getElementsByTagName("comments")[0].firstChild.nodeValue;
		}
		
		Gallery._imgcache[root.getElementsByTagName("id")[0].firstChild.nodeValue] = ajax_xml;
	};
	
	this.scrollThumbs = function(dir, b) {
		
		document.body.focus();
		if(b) {
			switch(dir) {
				case "left": Gallery._list_index-=4; break;
				case "right": Gallery._list_index+=4; break;
			}
			
			Gallery._tim1 = setTimeout( function() { Gallery.scrollThumbs(dir, true); }, 350);
			
			Gallery._list_index = (Gallery._list_index + 4) > Gallery._list.length ? Gallery._list.length-4 : Gallery._list_index;
			Gallery._list_index = Gallery._list_index < 0 ? 0 : Gallery._list_index;
			Gallery.slideThumbs();
		} else {
			clearTimeout(Gallery._tim1);
		}
	}
	
	this.slideThumbs = function() {
		var c = document.getElementById("gallery_thumbs");
		if(!parseInt(c.style.left)) c.style.left = "0px";
		
		var current = parseInt(c.style.left);
		var dest = Gallery._list_index * -86;
		var diff = dest - current;
		var tomove = Math.ceil(diff/2);
		
		if(tomove != 0)  {
			c.style.left = (current + tomove) + "px";
			Gallery._tim2 = setTimeout(Gallery.slideThumbs, 100);
		}
	}
	
	this.init = function(gallery, album, pic) {
		if(gallery > 0) {
			Gallery._gallery = gallery;
		}
		
		if(album > 0) {
			Gallery._album = album;
		}
		
		if(pic > 0) {
			Gallery._startpic = pic;
		}
		
		if(album > 0 && gallery > 0) {
			Gallery.getAlbum(album);
		}
		
	};
	
	this.next = function() {
		Gallery._index++;
		Gallery._list_index = Gallery._index-1; // (Gallery._index + 3 > Gallery._list.length)?Gallery._list.length-3:Gallery._index;
		if(Gallery._index == Gallery._list.length) {
			Gallery._index = 0;
			Gallery._list_index = 0;
		}
		
		Gallery._list_index = (Gallery._index + 3 > Gallery._list.length)
			? Gallery._list.length - 3
			: Gallery._list_index;
		
		Gallery.slideThumbs();
		Gallery.initPhoto();
	};
	
	this.previous = function() {
		Gallery._index--;
		Gallery._list_index = Gallery._index-1; // (Gallery._index - 3 > Gallery._list.length)?Gallery._list.length-3:Gallery._index;
		if(Gallery._index < 0) {
			Gallery._index = Gallery._list.length-1;
		}
		
		Gallery._list_index = (Gallery._index == 0) // + 3 > Gallery._list.length
			? 0
			: Gallery._list_index;
		Gallery._list_index = (Gallery._index + 3 > Gallery._list.length) 
			? Gallery._list.length - 3
			: Gallery._list_index;
		
		Gallery.slideThumbs();
		Gallery.initPhoto();
	};


	this.toggleSet = function(e) {
		var targ;
		e = e ? e : window.event;
		if (e.target) targ = e.target;
		else if (e.srcElement) targ = e.srcElement;
		if (targ.nodeType == 3) // defeat Safari bug
			targ = targ.parentNode;
		
		var clickSet = targ.parentNode.parentNode;
		var setList = clickSet.parentNode;
		
		node = setList.firstChild;
		
		while(node) {
			if(node.nodeType == 1) {
				node.getElementsByTagName("ul")[0].className = (node.id == clickSet.id)
					? "set_body_open"
					: "set_body_closed";
				
			}
			node = node.nextSibling;
		}
	};
	
	this.init_index = function(gallery_id, set_id) {
		Gallery._gallery = gallery_id;
		Gallery._set = set_id;
		if(set_id > 0) {
			var ajax = new Ajax();
			ajax.setMimetype="text/xml";
			ajax.responseFormat="xml";
			ajax.doGet("/shared/ajax.php?t=gallery&xaction=get+set&gallery_id="+Gallery._gallery+"&set_id="+set_id,
					Gallery.finishIndex, "xml");
		} else {
			var ajax = new Ajax();
			ajax.setMimetype="text/xml";
			ajax.responseFormat="xml";
			ajax.doGet("/shared/ajax.php?t=gallery&xaction=get+albums&gallery_id="+Gallery._gallery,
					Gallery.finishIndex, "xml");
		}
	}; 
	

	this.printClick = function() {
		var print_win = window.open("/includes/gallery/print.php?g="+Gallery._gallery+"&a="+Gallery._album+"&p="+Gallery._list[Gallery._index].getElementsByTagName("file")[0].firstChild.nodeValue, "print_win", "");
		print_win.focus();
	};
	
}


this.getSets = function() {
	var ajax = new Ajax();
	ajax.setMimetype="text/xml";
	ajax.responseFormat="xml";
	ajax.doGet("/shared/ajax.php?t=gallery&xaction=get+sets&gallery_id="+Gallery._gallery,
			Gallery.finishSets, "xml");
};

this.finishSets = function(ajax_xml) {
	var root = ajax_xml.documentElement;
	var sets = root.getElementsByTagName("set");
	var html = "";
	var rand = Math.floor(Math.random()*sets.length);
	
	for(var i = 0; i < sets.length; i++) { 
		html += "\n<li id=\"set_"+sets[i].getAttribute("id")+"\">";
		html += "\n\t<div class=\"set_head\"><h4 onclick=\"Gallery.toggleSet(event)\">"+sets[i].getElementsByTagName("name")[0].firstChild.nodeValue+"</h4><p><a href=\"?set="+sets[i].getAttribute("id")+"\">more</a></p></div>";
		html += "\n\t<ul class=\"set_body_"+(i==rand?"open":"closed")+"\">";
		var albums = sets[i].getElementsByTagName("album");
		for(var j = 0; j < 3 && j < albums.length; j++) {
			html += "\n\t\t<li><p><a href=\"?album_id="+albums[j].getAttribute("id")+"&amp;set_id="+sets[i].getAttribute("id")+"\"><img src=\"/includes/gallery/"+Gallery._gallery+"/images/album_"+albums[j].getAttribute("id")+"/sm."+albums[j].getElementsByTagName("thumb")[0].firstChild.nodeValue+"\" alt=\"\" /></a></p><p>"+albums[j].getElementsByTagName("name")[0].firstChild.nodeValue+"</p></li>";
		}
		html += "\n\t\t<li class=\"clear\"></li>";
		html += "\n\t</ul>\n</li>";

	}
	var c = document.getElementById("set_list");
	c.innerHTML = html;
};

this.getTopAlbums = function() {
var ajax = new Ajax();
ajax.setMimetype="text/xml";
ajax.responseFormat="xml";
ajax.doGet("/shared/ajax.php?t=gallery&xaction=get+alltime&gallery_id="+Gallery._gallery,
		Gallery.finishTopAlbums, "xml");
};

this.finishTopAlbums = function(ajax_xml) {
var root = ajax_xml.documentElement;
var albums = root.getElementsByTagName("album");

var html = "";
for(count = 0; count < albums.length; count++) {
	html += "<li><span><a href=\"?album_id="+albums[count].getAttribute("id")+"\">"+albums[count].getElementsByTagName("name")[0].firstChild.nodeValue+"</a></span></li>";
}

document.getElementById("top_albums").innerHTML = html;
Gallery.getSets();
};

this.finishIndex = function(ajax_xml) {
var root = Gallery._root = ajax_xml.documentElement;
Gallery._list = root.getElementsByTagName("album");
Gallery._page = 1;
Gallery._num_pages = Math.ceil(Gallery._list.length / Gallery._num_per_page);

Gallery.initAlbums();
Gallery.getSets();
};

this.initAlbums = function() {
var c = document.getElementById("album_list");
while(c.hasChildNodes()) c.removeChild(c.firstChild);

var i = (Gallery._page - 1) * Gallery._num_per_page;
var end = Gallery._page * Gallery._num_per_page;

var html = "";
//alert(Gallery._list.length);
while(i < end && i < Gallery._list.length) {
	html += "<li><p><a href=\"?album_id="+Gallery._list[i].getAttribute("id")+(Gallery._set > 0 ? "&set_id="+Gallery._set : "")+"\">";
	html += "<img src=\"/includes/gallery/"+Gallery._gallery+"/images/album_"+Gallery._list[i].getAttribute("id")+"/sm."+Gallery._list[i].getElementsByTagName("thumb")[0].firstChild.nodeValue+"\" title=\""+Gallery._list[i].getElementsByTagName("name")[0].firstChild.nodeValue+"\" /></a></p>";
	html += "<p>"+Gallery._list[i].getElementsByTagName("name")[0].firstChild.nodeValue+"</p>";
	html += "</li>";
	i++;
}

c.innerHTML = html;

Gallery.initPagination();
};

this.initPagination = function() {
if(Gallery._num_pages > 1) {
	var html = "Page ";
	for(var i = 1; i <= Gallery._num_pages; i++) {
		if(i == Gallery._page) 
			html += " "+i+" ";
		else
			html += " <a href=\"#\" onclick=\"Gallery.changePage("+i+"); return false;\">"+i+"</a> ";
		if(i < Gallery._num_pages) 
			html += "|";
	}
	document.getElementById("pagination_top").innerHTML = html;
	document.getElementById("pagination_bottom").innerHTML = html;
}
};

this.changePage = function(new_page) {
Gallery._page = new_page;
Gallery.initAlbums();
};
*/
