// JavaScript Document
addOnload(choosePic);
addOnload(rolloverInit);
addOnload(dateModifiedBy);
addOnload(sizePlacements);
addOnload(loadCalendar);
addOnload(setupCalLinks);
addOnload(setFocus);
addOnload(rolloverDoubleTeenInit);
addOnload(initSlideShow);

function addOnload(newFunction) {
	var oldOnload = window.onload;
	
	if (typeof oldOnload == "function") {
		window.onload = function() {
			if (oldOnload) {
				oldOnload();
			}
			newFunction();
		}
	}
	else {
		window.onload = newFunction;
	} 
}

window.onresize = sizePlacements;




// Begin of Rotating Images onload
// add choosePic() to onLoad
function choosePic() {
	if (document.getElementById("myBanner")) {
		if (document.getElementById("faqpage")||document.getElementById("litpage")||document.getElementById("policypage")||document.getElementById("exhibitpage"))
			var myPix = new Array("../images/banners/banner1.png","../images/banners/banner2.png","../images/banners/banner3.png","../images/banners/banner4.png","../images/banners/banner5.png","../images/banners/banner6.png","../images/banners/banner7.png");
		else
			var myPix = new Array("images/banners/banner1.png","images/banners/banner2.png","images/banners/banner3.png","images/banners/banner4.png","images/banners/banner5.png","images/banners/banner6.png","images/banners/banner7.png");
		var pickedNum = "";
		if (document.cookie != "") {
			pickedNum = document.cookie.split("=")[1];
		}
		
		var randomPickedNum;
		do {
			randomPickedNum = Math.floor((Math.random() * myPix.length));
		}
		while (randomPickedNum == pickedNum);
		pickedNum = randomPickedNum;
		document.getElementById("myBanner").src = myPix[randomPickedNum];
		
		// Set random image cookie
		document.cookie = "RandomPickedImage=" + randomPickedNum;
	}
}
// End of Rotating Images onload

// Find size of window and place images accordingly
// add sizePlacements() to onLoad
function sizePlacements(){
	// Find height and width of window
	var widthA, heightA;
	
	if(self.innerWidth!=undefined) {
		widthA = [self.innerWidth];
		heightA = [self.innerHeight];
	}
	else{
		var widthB= document.documentElement;
		var heightB= document.documentElement;
		if(widthB) {
			widthA = [widthB.clientWidth];
			heightA = [heightB.clientHeight];
		}
	}
	
	// center page
	var centerPage = document.getElementById("centeredPage");
	if (widthA <900) {
		centerPage.style.left = "0px";
		centerPage.style.marginLeft = "0px";
	}
	else {
		centerPage.style.left = "50%";
		centerPage.style.marginLeft = "-450px";
	}
	
	// center cafe picture
	if (document.getElementById("cafedBack")) {
		var xBackPos;
		if (widthA < 900) xBackPos = 329;
		else xBackPos= Math.floor((widthA-900)/2+329);
		
		var yBackPos;
		if (heightA < 568 ) yBackPos = 160;
		else yBackPos = Math.floor((heightA-578)/2+170);
		if (widthA < 900) yBackPos = yBackPos + 9;
		
		var cafeBack = document.getElementById("cafedBack");
		cafeBack.style.backgroundPosition = xBackPos + "px " + yBackPos + "px";
	}
	
	// position calendar
	if (document.getElementById("calContainer")) {
		var xBackPos;
		if (widthA < 900) xBackPos = 574;
		else xBackPos= Math.floor((widthA-900)/2+574);

		var calPosition = document.getElementById("calContainer");
		calPosition.style.marginLeft = xBackPos;
	}

	// kids page stretch middle background
	if (document.getElementById("kidpagemiddle")) {
		var kidPageHeight = document.body.scrollHeight;
//		alert(kidPageHeight);
		kidPageHeight = kidPageHeight-300;

		// find and set height of middle section
		var centeredPageMiddle = document.getElementById("centeredPageMiddle");
		centeredPageMiddle.style.height = kidPageHeight;

		// set height of middle section image
		var kidpagemiddle = document.getElementById("kidpagemiddle");
		kidpagemiddle.height = kidPageHeight;

		// place images appropriate to bottom edge
		if (document.getElementById("shortDragonPic")) {
			var shortDragonPic = document.getElementById("shortDragonPic");
			var dragonplacement = kidPageHeight-160;
			shortDragonPic.style.top = dragonplacement;
		}
//		kidPageHeight = document.body.scrollHeight;
//		alert(kidPageHeight);
		
	}

}


// Start of inserting the last modified date of page
	// add dateModifiedBy() to onLoad
	function dateModifiedBy(){
		var dateObj = new Date(document.lastModified);
		
		var days = new Array('Sun.','Mon.','Tues.','Wed.','Thurs.','Fri.','Sat.');
		var wday = days[dateObj.getDay()];
	
	
		var months = new Array('Jan.','Feb.','Mar.','Apr.','May','June','July','Aug.','Sept.','Oct.','Nov.','Dec.');
		var lmonth = months[dateObj.getMonth()];
		
		var date = dateObj.getDate();
	
		var fyear = dateObj.getYear();
		if (fyear < 2000) {
			fyear = fyear + 1900;
		}
		
		if (document.getElementById("dateModified")) {
			document.getElementById("dateModified").innerHTML = "Last Modified: &nbsp;" + wday + ", " + lmonth + " " + date + ", " + fyear;
		}
	}
// End of inserting the last modified date


// Start of tri changing images
	function rolloverInit() {
		for (var i=0; i<document.links.length; i++) {
			var linkObj = document.links[i];
			if (linkObj.id) {
				var imgObj = document.getElementById(linkObj.id + "Img");
				if (imgObj) {
					setupRollover(linkObj,imgObj);
				}
			}
		}
	}
	
	function setupRollover(thisLink,thisImage) {
		thisLink.imgToChange = thisImage;
		thisLink.onmouseout = rollOut;
		thisLink.onmouseover = rollOver;
		thisLink.onclick = rollClick;
		
		thisLink.outImage = new Image();
		thisLink.clickImage = new Image();
		thisLink.overImage = new Image();
	
		thisLink.outImage.src = thisImage.src;


		if (document.getElementById("faqpage")||document.getElementById("litpage")||document.getElementById("policypage")||document.getElementById("exhibitpage")) {
			thisLink.clickImage.src = "../images/" + thisLink.id + "Click.png";
			thisLink.overImage.src = "../images/" + thisLink.id + "Hover.png";
		}
		else if (document.getElementById("kidsbanner")||document.getElementById("teenpagelinks")) {
			thisLink.clickImage.src = "images/text/" + thisLink.id + "Click.png";
			thisLink.overImage.src = "images/text/" + thisLink.id + "Hover.png";
		}
//		else if (document.getElementById("gamelinks")) {
//			thisLink.clickImage.src = "images/" + thisLink.class + "/" + thisLink.id + "Click.png";
//			thisLink.overImage.src = "images/ads/" + thisLink.id + "Hover.png";
//		}
		else {
			thisLink.clickImage.src = "images/" + thisLink.id + "Click.png";
			thisLink.overImage.src = "images/" + thisLink.id + "Hover.png";
		}
	}
	
	function rollOver() {
		this.imgToChange.src = this.overImage.src;
	}
	
	function rollOut() {
		this.imgToChange.src = this.outImage.src;
	}
	
	function rollClick() {
		this.imgToChange.src = this.clickImage.src;
	}
// End of tri changing images

// Beginning of setting focus to search box
	function setFocus() {
		if (document.getElementById('catalogSearch')) {
			document.getElementById('searchdata1').focus()
		}
	}

// End of setting focus to search box

// Beginning of Teen's Page Double changing images
	var thisLinkObj = new Array();
	
	// add rolloverDoubleTeenInit() to onLoad
	function rolloverDoubleTeenInit() {
		for (var i=0; i<document.links.length; i++) {
			var linkObj = document.links[i];
			if (linkObj.id) {
				var textObj = document.getElementById(linkObj.id + "Text");
				if (textObj) {
					thisLinkObj = linkObj.id;
	//				alert(thisLinkObj + " " + i); 
					linkObj.onmouseover = rollOverDoubleTeen;
					linkObj.onmouseout = rollOutDoubleTeen;
	//			linkObj.overLink = thisLinkObj;   
				}
			}
		}
	}
	
	function rollOverDoubleTeen() {
		var teenLink = this.id
	//	alert(teenLink);
		document.getElementById("regText").className = "hidden";
		document.getElementById(teenLink + "Text").className = "nothidden";
		document.getElementById(teenLink + "LinkImg").className = "nothiddenImg";
	}
	function rollOutDoubleTeen() {
		var teenLink = this.id;
		document.getElementById(teenLink + "Text").className = "hidden";
		document.getElementById(teenLink + "LinkImg").className = "hiddenImg";
		document.getElementById("regText").className = "nothidden";
	}
// End of Teen's Page Double Changing Images

// Begining of Calendar Scripts
	var todaysDate = new Date();
	var currentDay = todaysDate.getDay();
	var currentCalDate = new Date();
		if (currentDay == 0)
			currentCalDate.setDate(todaysDate.getDate() - currentDay - 6);
		else 
			currentCalDate.setDate(todaysDate.getDate() - currentDay + 1);
	var prevCalDate = new Date(currentCalDate);
		prevCalDate.setDate(prevCalDate.getDate() - 7);
	var nextCalDate = new Date(currentCalDate);
		nextCalDate.setDate(nextCalDate.getDate() + 7);
	var endCurrentWeekDate = new Date(currentCalDate);
		endCurrentWeekDate.setDate(endCurrentWeekDate.getDate() + 6);
	
	var currentCalDateId, prevCalDateId, nextCalDateId;
	
	// add loadCalendar() to onLoad
	function loadCalendar() {
		if (document.getElementById("MonthlyEvents")) {
			// set CurrentCalWeekId to monday of week in form yyyymm(d)d
			setCalDateIds();
			if (document.getElementById(currentCalDateId)) 
				document.getElementById(currentCalDateId).className = "nothidden";
			insertThisWeeksSpan();
		}
	}
	
	function setCalDateIds() {
			currentCalDateId = currentCalDate.getFullYear() + "" + getTwoDigitMonth(currentCalDate) + "" + getTwoDigitDate(currentCalDate);
			prevCalDateId = prevCalDate.getFullYear() + "" + getTwoDigitMonth(prevCalDate) + "" + getTwoDigitDate(prevCalDate);
			nextCalDateId = nextCalDate.getFullYear() + "" + getTwoDigitMonth(nextCalDate) + "" + getTwoDigitDate(nextCalDate);
	}
	
	function getTwoDigitMonth(sentDate) {
		var newMonth = sentDate.getMonth()+1;
		if (newMonth < 10) 
			newMonth = "0" + newMonth;
		return newMonth;
	}
	
	function getTwoDigitDate(sentDate) {
		var newDate = sentDate.getDate();
		if (newDate < 10) 
			newDate = "0" + newDate;
		return newDate;
		
	}
	
	function insertThisWeeksSpan() {
		var months = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
		var beginDate = months[currentCalDate.getMonth()] + " " + currentCalDate.getDate() + ", " + currentCalDate.getFullYear();
		var endDate = months[endCurrentWeekDate.getMonth()] + " " + endCurrentWeekDate.getDate() + ", " + endCurrentWeekDate.getFullYear();
		var text = beginDate + "&nbsp; -  &nbsp;" + endDate;
		document.getElementById("thisWeeksSpan").innerHTML = text;
		document.getElementById("thisWeeksSpan2").innerHTML = text;
	}
	
	function switchToPrevWeek() {
		document.getElementById(currentCalDateId).className = "hidden";
		document.getElementById(prevCalDateId).className = "nothidden";
		document.getElementById("nextCalLink").className = "nothiddennext";
		document.getElementById("nextCalLink2").className = "nothiddennext";
		
		currentCalDate.setDate(currentCalDate.getDate() - 7);
		prevCalDate.setDate(prevCalDate.getDate() - 7);
		nextCalDate.setDate(nextCalDate.getDate() - 7);
		endCurrentWeekDate.setDate(endCurrentWeekDate.getDate() -7);
		setCalDateIds();
		insertThisWeeksSpan();
		if (!document.getElementById(prevCalDateId)) {
			hideArrow("prevCalLink");
			hideArrow("prevCalLink2");
			
		}
		return false;
	}
	
	function switchToNextWeek() {
		document.getElementById(currentCalDateId).className = "hidden";
		document.getElementById(nextCalDateId).className = "nothidden";
		document.getElementById("prevCalLink").className = "nothiddenprev";
		document.getElementById("prevCalLink2").className = "nothiddenprev";
		
		currentCalDate.setDate(currentCalDate.getDate() + 7);
		prevCalDate.setDate(prevCalDate.getDate() + 7);
		nextCalDate.setDate(nextCalDate.getDate() + 7);
		endCurrentWeekDate.setDate(endCurrentWeekDate.getDate() + 7);
		setCalDateIds();
		insertThisWeeksSpan()
		if (!document.getElementById(nextCalDateId)) {
			hideArrow("nextCalLink");
			hideArrow("nextCalLink2");
		}
		return false;
	}
	
	function hideArrow(arrow) {
			document.getElementById(arrow).className = "hidden";
	}
	
	// add setupCalLinks() to onLoad
	function setupCalLinks() {
		if (document.getElementById("MonthlyEvents")) {
			document.getElementById("prevCalLink").onclick = switchToPrevWeek;
			document.getElementById("prevCalLink2").onclick = switchToPrevWeek;
	
			document.getElementById("nextCalLink").onclick = switchToNextWeek;
			document.getElementById("nextCalLink2").onclick = switchToNextWeek;
			
		}
		if (document.getElementById("CalendarEvents")) {
			document.getElementById("LibraryEvents").onclick = showEvents;

		}
	}
	
	function showEvents() {
	}
//End of Calendar Scripts

//Beginning of Slideshow Scripts
	var slideShowPic = new Array("images/slideshow/5-30-2007-074.jpg","images/slideshow/dewey_rar003.jpg","images/slideshow/Dewey02.jpg","images/slideshow/Dewey.gif","images/slideshow/DeweyKids1.jpg");
	var thisPic= 0;
	
	function initSlideShow () {
		if (document.getElementById("slideShow")) {
			document.getElementById("prevSlideShowLink").onclick = slideShowPrevious;
			document.getElementById("nextSlideShowLink").onclick = slideShowNext;
		}
	}

	function slideShowPrevious() {
		if (thisPic == 0) {
			thisPic = slideShowPic.length;
		}
		thisPic--;
		document.getElementById("slideShow").src = slideShowPic[thisPic];
		return false;
	}
	
	function slideShowNext() {
		thisPic++;
		if (thisPic == slideShowPic.length) {
			thisPic = 0;
		}
		document.getElementById("slideShow").src = slideShowPic[thisPic];
		return false;
	}
