
	var over = null;
	var d = document;
	var curentID;
	var reloadImg, scrollXY, windowSize, last_photo_id;
	var photoLnk;

	function photoOverlayInit()
	{
		last_photo_id = d.getElementById("last_photo_id").value;
		scrollXY = getScrollXY();
		windowSize = getWindowSize();
	}

	function photoOverlayOpen(photoID)
	{
		photoOverlayInit();

		if(photoID == "prew")
		{
			curentID--;
		}else if(photoID == "next")
		{
			curentID++;
		}else
		{
			curentID = photoID;
		}

		var photo, sphoto, photo_id;
		if(sphoto = d.getElementById("small_photo_" + curentID))
		{
			photo = sphoto.src.replace(/\/sq\//,"/l/");
		}else if(sphoto = d.getElementById("medium_photo_" + curentID))
		{
			photo = sphoto.src.replace(/\/m\//,"/l/");
		}else if(photo = d.getElementById("large_photo_" + curentID))
		{
			photo = photo.value;
		}
		if(!photo) return false;

		photoLnk = d.getElementById("photoLnk");
		photo_id = d.getElementById("photo_id_" + curentID);
		photo_band_name = d.getElementById("photo_band_name_" + curentID);
		photo_link = d.getElementById("photo_link_" + curentID);
		if(photo_id && photoLnk)
		{
			photo_id = photo_id.value;
			username = photo.split("/");
			username = username[username.length - 3];
			photoLnk.href = "/u/" + username + "/photo/" + photo_id + "/#photo";
			
			var photoTitle = d.getElementById("photoTitle");
			if(photoTitle && sphoto)
			{
				photoTitle.innerHTML = "";
				if(photo_band_name)
				{
					photoTitle.innerHTML += "<b>"+photo_band_name.value+"</b>: ";
				}
				photoTitle.innerHTML += sphoto.alt;
				if(photo_link)
				{
					photoTitle.innerHTML += " <a href='"+photo_link.value+"'>(View all albums)</a>";
				}
			}
		}

		over = createOver(over);
		show(over);

		var photoOverlayPhoto = d.getElementById("photoOverlayPhoto");
		photoOverlayPhoto.innerHTML = "<b>Loading...</b>";
		hide("nextLnk");
		hide("countTxt");
		hide("prewLnk");
		hide("photoLnk");

		var photoOverlay = d.getElementById("photoOverlay");
		photoOverlay.style.width = windowSize[0] + "px";
		if(photoOverlay.style.display != "block")
		{
			photoOverlay.style.top = (scrollXY[1] + (windowSize[1] - 160) / 2) + "px";
			photoOverlayPhoto.style.height = "100px";
		}

		show(photoOverlay);

		var img = new Image;

		img.onload = function()
		{
			clearTimeout(reloadImg);
			showImg(this);
		}

		img.src = photo;
		if(sphoto)
		{
			img.alt = sphoto.alt;
			img.title = sphoto.title;
		}else
		{
			img.alt = "";
			img.title = "";
		}
		reloadImg = setTimeout("photoOverlayOpen(curentID);",10000);

		return false;
	}

	function showImg(img)
	{
		var imgWidth = img.width;
		var imgHeight = img.height;

		imgHeight = imgHeight + 150 > windowSize[1] ? windowSize[1] - 150 : imgHeight;
		img.style.height = imgHeight + "px";
		imgWidth = imgHeight == img.Height ? imgWidth : (imgWidth * imgHeight / img.height)

		var photoOverlayPhoto = d.getElementById("photoOverlayPhoto");
		photoOverlayPhoto.innerHTML = '&nbsp;';
		photoOverlayPhoto.style.height = imgHeight + "px";
		photoOverlayPhoto.style.width = imgWidth + "px";

		var photoOverlay = d.getElementById("photoOverlay");
		photoOverlay.style.width = windowSize[0] + "px";
		photoOverlay.style.top = (scrollXY[1] + (windowSize[1] - (72 + imgHeight)) / 2) + "px";

		if(curentID == last_photo_id)
		{
			hide("nextLnk");
		}else
		{
			show("nextLnk");
		}

		if(curentID == 1)
		{
			hide("prewLnk");
		}else
		{
			show("prewLnk");
		}

		d.getElementById("countTxt").innerHTML = curentID + " of " + last_photo_id;
		show("countTxt");
		show("photoLnk");
		photoOverlayPhoto.appendChild(img);

		return false;
	}

	function photoOverlayClose()
	{
		if(reloadImg)
		{
			clearTimeout(reloadImg);
		}
		hide("photoOverlay");
		hide(over);
		return false;
	}





	//XGames albums overlay
	function albumOverlayInit(albumID)
	{
		last_photo_id = d.getElementById(albumID + "_last_photo_id").value;
		scrollXY = getScrollXY();
		windowSize = getWindowSize();
	}

	function albumOverlayOpen(photoID, albumID)
	{
		albumOverlayInit(albumID);

		if(photoID == "prew")
		{
			curentID--;
		}else if(photoID == "next")
		{
			curentID++;
		}else
		{
			curentID = 1;
		}

		var photo, sphoto, photo_id;
		if(sphoto = d.getElementById(albumID + "_small_photo_" + curentID))
		{
			photo = sphoto.src.replace(/\/sq\//,"/l/");
		}else if(photo = d.getElementById(albumID + "_large_photo_" + curentID))
		{
			photo = photo.value;
		}
		if(!photo) return false;

		photoLnk = d.getElementById("photoLnk");
		photo_id = d.getElementById(albumID + "_photo_id_" + curentID);
		if(photo_id && photoLnk)
		{
			photo_id = photo_id.value;
			username = photo.split("/");
			username = username[username.length - 3];
			photoLnk.href = "/u/" + username + "/photo/" + photo_id + "/#photo";
			
			var photoTitle = d.getElementById("photoTitle");
			if(photoTitle && sphoto)
			{
				photoTitle.innerHTML = sphoto.alt;
			}
		}

		over = createOver(over);
		show(over);

		var photoOverlayPhoto = d.getElementById("photoOverlayPhoto");
		photoOverlayPhoto.innerHTML = "<b>Loading...</b>";
		hide("nextLnk");
		hide("countTxt");
		hide("prewLnk");
		hide("photoLnk");

		var photoOverlay = d.getElementById("photoOverlay");
		photoOverlay.style.width = windowSize[0] + "px";
		if(photoOverlay.style.display != "block")
		{
			photoOverlay.style.top = (scrollXY[1] + (windowSize[1] - 160) / 2) + "px";
			photoOverlayPhoto.style.height = "100px";
		}
		d.getElementById("photo_overlay_album_id").value = albumID;

		show(photoOverlay);

		var img = new Image;

		img.onload = function()
		{
			clearTimeout(reloadImg);
			showImg(this);
		}

		img.src = photo;
		if(sphoto)
		{
			img.alt = sphoto.alt;
			img.title = sphoto.title;
		}else
		{
			img.alt = "";
			img.title = "";
		}
		reloadImg = setTimeout("albumOverlayOpen(curentID, albumID);",10000);

		return false;
	}