displaySmugPopular = false;

// On IE/FF set the title before the Document OnLoad takes place
document.title = "Just Another Overweight Starving Artist";
addEvent( window, "load", CustomizeTitle );

function CustomizeTitle()
{
	var baseTitle = "Just Another Overweight Starving Artist";
	var separator = " - ";
	var albumTitle = GetText( document.getElementById("albumTitle") );
	var galleryTitle = GetText( document.getElementById("galleryTitle") );
	var singleImage = document.body.className && document.body.className.indexOf("singleImage") > -1 ? true : false;
	var pageTypeDefined = typeof( pageType ) != "undefined";
	var pageTypeDetailsDefined = typeof( pageTypeDetails ) != "undefined";

	// Don't change the title from the above document.title on the homepage
	if( document.body.className && document.body.className.indexOf("homepage") > -1 )
	{
		document.title = baseTitle + separator + "Home";
		return;
	}

	// The guestbook album gets a special title
	if( window.AlbumID && window.AlbumID == "1128948" )
	{
		// Guest Book
		document.title = "Slosh's guestbook";
		return;
	}

	// An album page (holds a bunch of photos, could be "zoomed in" on a specific photo)
	if( albumTitle )
	{
		var photoTitle = GetPhotoTitle();
		if( photoTitle )
			document.title = baseTitle + separator + albumTitle + separator + photoTitle;
		else
			document.title = baseTitle + separator + albumTitle;
		return;
	}

	// A gallery page (holds a bunch of albums and/or a bunch of sub categories)
	if( galleryTitle )
	{
		// Strip " sub-categories" off the end of the category text
		var finalPositionCategory = galleryTitle.indexOf(" sub-categories");
		if( finalPositionCategory > -1 )
			galleryTitle = galleryTitle.substr( 0, finalPositionCategory );
		else
		{
			// Strip " galleries" off the end of the category/sub-category text
			var finalPositionSubCategory = galleryTitle.indexOf(" galleries");
			if( finalPositionSubCategory > -1 )
				galleryTitle = galleryTitle.substr( 0, finalPositionSubCategory );
		}
		document.title = baseTitle + separator + galleryTitle;
		return;
	}

	// A single image (like the kind you get when you click an image in a keyword page)
	if( singleImage )
	{
		var photoTitle = GetPhotoTitle();
		if( photoTitle )
			document.title = baseTitle + separator + photoTitle;
		else
			document.title = baseTitle + separator + "untitled photo";
		return;
	}

	// A single keyword page
	if( pageTypeDefined && pageType == 'Keyword' && pageTypeDetailsDefined )
	{
		// Keyword page
		document.title = baseTitle + separator + "Keyword: " + pageTypeDetails;
		return;
	}

	// A multiple keyword page
	if( pageTypeDefined && pageType == 'Keywords' && pageTypeDetailsDefined )
	{
		// Multiple keywords page
		// Put " + " between each keyword instead of -
		var keywordList = pageTypeDetails;
		keywordList = keywordList.replace(/\-/g, " + ");
		document.title = baseTitle + separator + "Keywords: " + keywordList;
		return;
	}

	// The main keywords page. Note: single image takes precedence over this type
	if( document.body.className && document.body.className.indexOf("keywordPage") > -1 )
	{
		// Main Keywords Page
		document.title = baseTitle + separator + "Keywords";
		return;
	}

	// None of the rules above set the title! Oh well, fall back on the base title.
	document.title = baseTitle;
} // CustomizeTitle

function Trim( text )
{
	text = text.replace(/(^\s+)|(\s+$)/g, ""); // trim leading and trailing white space
	return text;
} // Trim

function GetText( node )
{
	if( !node )
		return "";
	if( node.innerText )
		return Trim( node.innerText ); // For IE
	if( node.textContent )
		return Trim( node.textContent ); // For others
	return "";
} // GetText

function GetPhotoTitle()
{
	// If the photo title is set, it starts with the breadcrumb.
	var breadCrumbStart = "slosh > ";
	var mainPhoto = document.getElementById("mainPhoto");
	if( !mainPhoto || !mainPhoto.title || mainPhoto.title.indexOf( breadCrumbStart ) != 0 )
		return "";
	return Trim( mainPhoto.title.substr( breadCrumbStart.length ) );
} // GetPhotoTitle