
	function checkHash() {

		hashRaw = window.location.hash;

		if (!hashRaw) {

			return('00newworks');

			} else {

			hashVal = hashRaw.substring(1);
			return(hashVal);

			}
		}

	function resetCheck() {

		clearInterval(checkTime);
		checkTime = setInterval('navigateHash()',100);

		}

	function navigateHash() {

		hashToCheck = checkHash();

		if (hashToCheck == currentHash) {

			return(true);

			} else {

			currentHash = hashToCheck;
			var newCategory = currentHash.substring(2);

			if (newCategory != categoryName) {

				categoryName = newCategory;
				window.location.reload();

				} else {

				var newNo = parseInt(currentHash.substring(0,2),10);			
				fillDetails(newNo);

				}

			}

		}

	var collection = '';

	function setPage() {

		setBottomLine();
		insertCategories();
		addEventHandlers();

		if (document.getElementById('collectionGrid')) {

/* ............................................................................................................ adjust sizes of 'pictureBox' elements for the New Works page ...... */

			if (categoryName == 'newworks') {

				document.getElementById('collectionGrid').style.width = '120px';
				document.getElementById('coverImage').style.width = '272px';
				document.getElementById('coverImage').style.left = '120px';

				}

/* ............................................................................................................ put selectable thumbnails into the 'collectionGrid' ...... */

			if (categoryName != 'allworks' && categoryName != 'events' && categoryName != 'activities') {

				collection = '';

				for (i=0; i<noofTitles; i++) {

					if (i < 10) { var bkNum = '0' + i } else { bkNum = i }

					collection += "<a class='gridElement' href='#" + bkNum + categoryName + "'><img src='" + thumb[i].src;
					collection += "' alt='" + title[i] + "' width='80' height='80' /><br />" + shortTitle[i] + "</a>";

					}

				} else { collection += '</ul>' }

			document.getElementById('collectionGrid').innerHTML = collection;

			} else { return(false); }

		}

	function fillDetails(n) {

		document.getElementById('subHead').src = 'images/subHead_' + categoryName + '.png';

		if (typeof(cover) != 'undefined') {
	
			document.getElementById('coverImage').src = cover[n].src;

			}

		document.getElementById('bookTitle').innerHTML = title[n];
		document.getElementById('bookDesc').innerHTML = snibbit[n];

		if (categoryName == 'events' || categoryName == 'activities') {

			document.getElementById('bookISBN').innerHTML = "<span style='font-size: 9pt;'>" + detail1[n] + '<br />' + detail2[n] + "</span>";

			} else { document.getElementById('bookISBN').innerHTML = isbn[n]; }
		}

	var thisDate = new Date();
	var thisMonth = thisDate.getMonth();
	var thisYear = thisDate.getFullYear();
	var bottomLineFill;

	function setBottomLine() {

		bottomLineFill = '';
		bottomLineFill += "<a href='mailto:jemills1@gmail.com'>jemills1@gmail.com</a>";
		bottomLineFill += "design &amp; code by: <a href='http://young727.us'>young</a>";
		bottomLineFill += "&copy;<!-- span id='year'>" + thisYear + "</span -->&nbsp;2010 J. Elizabeth Mills";

		document.getElementById('bottomLine').innerHTML = bottomLineFill;

		}

	var categoriesFill;

	function insertCategories() {

		catagoriesFill = '';
		categoriesFill += "<img class='whiteScreen' src='images/catBack.gif' alt='' width='88' height='400' />";
		categoriesFill += "<div>";
		categoriesFill += "<a id='newWorks' href='books.htm#00newworks'>latest works</a>";
		categoriesFill += "<a id='licensed' href='licensed.htm'>licensed books</a>";
		categoriesFill += "<a id='novelty' href='books.htm#00novelties'>novelty books</a>";
		categoriesFill += "<a id='easyReaders' href='books.htm#00easyreaders'>easy readers</a>";
		categoriesFill += "<a id='nonfiction' href='books.htm#00nonfiction'>nonfiction</a>";
		categoriesFill += "<a id='allWorks' href='books.htm#00allworks'>all works</a>";
		categoriesFill += "</div>";

		document.getElementById('categories').innerHTML = categoriesFill;

		}

	function addEventHandlers() {

		var booksButton = document.getElementById('btnBooks');
		var catDiv = document.getElementById('categories');
		var anch = [];

		anch = document.getElementsByTagName('a');

		var bookCats = 6;		//number of books categories.
		var bookCatZero = 5;	//index of first books category link.

/* ............................................................................................................ attach events for MS IE ...... */

		if (catDiv.attachEvent) {

			var activitiesButton = document.getElementById('btnActivities');
			var eventsButton = document.getElementById('btnEvents');

			var activitiesState = activitiesButton.className;	// get current state of btnActivities
			var eventsState = eventsButton.className;		// get current state of btnEvents
			var booksState = booksButton.className;			// get current state of btnBooks

			booksButton.attachEvent('onmouseover',function() {setClass('btnBooks','naviBtn on'); setClass('catBack','whiteScreen displayOnly'); setClass('categories','displayOnly')});
			booksButton.attachEvent('onmouseout',function() {setClass('btnBooks',booksState); setClass('catBack','whiteScreen noShow'); setClass('categories','noShow')});
			catDiv.attachEvent('onmouseover',function() {setClass('btnBooks','naviBtn on'); setClass('catBack','whiteScreen displayOnly'); setClass('categories','displayOnly')});
			catDiv.attachEvent('onmouseout',function() {setClass('btnBooks',booksState); setClass('catBack','whiteScreen noShow'); setClass('categories','noShow')});
			activitiesButton.attachEvent('onmouseover',function() {setClass('btnActivities','naviBtn on')});
			activitiesButton.attachEvent('onmouseout',function() {setClass('btnActivities',activitiesState)});
			eventsButton.attachEvent('onmouseover',function() {setClass('btnEvents','naviBtn on')});
			eventsButton.attachEvent('onmouseout',function() {setClass('btnEvents',eventsState)});

			for (i=bookCatZero; i<(bookCats + bookCatZero); i++) {

				anch[i].attachEvent('onclick',function() {setClass('catBack','whiteScreen noShow'); setClass('categories','noShow'); setClass('btnBooks','naviBtn')});
				}

			} else {

/* ............................................................................................................ add event listeners for W3C compliant browsers ...... */

			var booksState = booksButton.className;			// get current state of btnBooks

			booksButton.addEventListener('mouseover',function() {setClass('catBack','whiteScreen displayOnly'); setClass('categories','displayOnly')},false);
			booksButton.addEventListener('mouseout',function() {setClass('catBack','whiteScreen noShow'); setClass('categories','noShow')},false);
			catDiv.addEventListener('mouseover',function() {setClass('btnBooks','naviBtn on'); setClass('catBack','whiteScreen displayOnly'); setClass('categories','displayOnly')},false);
			catDiv.addEventListener('mouseout',function() {setClass('btnBooks',booksState); setClass('catBack','whiteScreen noShow'); setClass('categories','noShow')},false);

			for (i=bookCatZero; i<(bookCats + bookCatZero); i++) {

				anch[i].addEventListener('click',function() {setClass('catBack','whiteScreen noShow'); setClass('categories','noShow'); setClass('btnBooks','naviBtn')},false);
				}
			}
		}

	function setClass(item,status) {

//alert(item);

		document.getElementById(item).setAttribute('class',status);
		document.getElementById(item).setAttribute('className',status);

		}

