// JavaScript Document
var tabs = new Array(3);
tabs[0] =0;
tabs[1] = 0;
tabs[2] = 0;

function validYear(passForm) {
	start = parseInt(passForm.startyear.value);
	end = parseInt(passForm.endyear.value);
	if ((start == "") || (start < (-2000)) || (start > 2010) || (end < (-2000)) || (end > 2010))  {
		alert("Start and end dates must be between -2000 and 2010");
		passForm.startyear.focus();
		return false;
	}
	if (((start) > (end)) && (end != "")) {
		alert("End date must be greater than start date");
		passForm.startyear.focus();
		return false;
	}
	return true;
}

function changecss(theClass,element,value) {
	//original script by Shawn Olson (http://www.shawnolson.net)
	//documentation for this script at http://www.shawnolson.net/a/503/
	var cssRules;
	if (document.all) {
		cssRules = 'rules';
	} else if (document.getElementById) {
	  	cssRules = 'cssRules';
	}
	for (var S = 0; S < document.styleSheets.length; S++){
		for (var R = 0; R < document.styleSheets[S][cssRules].length; R++) {
	   		if (document.styleSheets[S][cssRules][R].selectorText == theClass) {
	    		document.styleSheets[S][cssRules][R].style[element] = value;
	   		}
	  	}
	}	
}

function showByDiv(oDiv) {
	if (oDiv == '.bigevent') {
		oBox = document.cboxEvent.big;
	}
	if (oDiv == '.smallevent') {
		oBox = document.cboxEvent.small;
	}
	if (oDiv == '.bigwiz') {
		oBox = document.cboxEvent.bigwiz;
	}
	if (oDiv == '.bigmug') {
		oBox = document.cboxEvent.bigmug;
	}
	if (oDiv == '.bigfan') {
		oBox = document.cboxEvent.bigfan;
	}
	if (oDiv == '.smallwiz') {
		oBox = document.cboxEvent.smallwiz;
	}
	if (oDiv == '.smallmug') {
		oBox = document.cboxEvent.smallmug;
	}
	if (oDiv == '.smallfan') {
		oBox = document.cboxEvent.smallfan;
	}
	if (oDiv == '.ages') {
		oBox = document.cboxEvent.ages;
	}
	if (oDiv == '.locations') {
		oBox = document.cboxEvent.locations;
	}
	if (oBox.checked == true) {
		switch (oDiv) {
			case '.bigevent':
				if (document.cboxEvent.bigwiz.checked == true) {
					changecss('.bigwiz', 'display', 'block');
				}
				if (document.cboxEvent.bigmug.checked == true) {
					changecss('.bigmug', 'display', 'block');
				}
				if (document.cboxEvent.bigfan.checked == true) {
					changecss('.bigfan', 'display', 'block');
				}
				document.cboxEvent.bigwiz.disabled=false;
				document.cboxEvent.bigmug.disabled=false;
				document.cboxEvent.bigfan.disabled=false;
			break;
			case '.smallevent':
				if (document.cboxEvent.smallwiz.checked == true) {
					changecss('.smallwiz', 'display', 'block');
				}
				if (document.cboxEvent.smallmug.checked == true) {
					changecss('.smallmug', 'display', 'block');
				}
				if (document.cboxEvent.smallfan.checked == true) {
					changecss('.smallfan', 'display', 'block');
				}
				document.cboxEvent.smallwiz.disabled=false;
				document.cboxEvent.smallmug.disabled=false;
				document.cboxEvent.smallfan.disabled=false;
			break;
			case '.bigwiz':
				changecss('.bigwiz', 'display', 'block');
			break;
			case '.smallwiz':
				changecss('.smallwiz', 'display', 'block');
			break;
			case '.bigmug':
				changecss('.bigmug', 'display', 'block');
			break;
			case '.smallmug':
				changecss('.smallmug', 'display', 'block');
			break;
			case '.bigfan':
				changecss('.bigfan', 'display', 'block');
			break;
			case '.smallfan':
				changecss('.smallfan', 'display', 'block');
			case '.ages':
				changecss('.ages', 'display', 'inline');
			break;
			case '.locations':
				changecss('.locations', 'display', 'block');
			break;
		} // end switch
	} else {
		switch (oDiv) {
			case '.bigevent':
				changecss('.bigwiz', 'display', 'none');
				changecss('.bigmug', 'display', 'none');
				changecss('.bigfan', 'display', 'none');
				document.cboxEvent.bigwiz.disabled=true;
				document.cboxEvent.bigmug.disabled=true;
				document.cboxEvent.bigfan.disabled=true;
			break;
			case '.smallevent':
				changecss('.smallwiz', 'display', 'none');
				changecss('.smallmug', 'display', 'none');
				changecss('.smallfan', 'display', 'none');
				document.cboxEvent.smallwiz.disabled=true;
				document.cboxEvent.smallmug.disabled=true;
				document.cboxEvent.smallfan.disabled=true;
			break;
			case '.bigwiz':
				changecss('.bigwiz', 'display', 'none');
			break;
			case '.smallwiz':
				changecss('.smallwiz', 'display', 'none');
			break;
			case '.bigmug':
				changecss('.bigmug', 'display', 'none');
			break;
			case '.smallmug':
				changecss('.smallmug', 'display', 'none');
			break;
			case '.bigfan':
				changecss('.bigfan', 'display', 'none');
			break;
			case '.smallfan':
				changecss('.smallfan', 'display', 'none');
			case '.ages':
				changecss('.ages', 'display', 'none');
			break;
			case '.locations':
				changecss('.locations', 'display', 'none');
			break;
		} // end switch
	}
}

/*function reset(firstID) {
	oFirstID = document.getElementById('ID'+firstID);
	oFirstID.style.display = 'block';
	oID = oFirstID.nextSibling;
	while (oID) {
		if (oID.localName != 'P') {
			oID.style.display = 'block'
		}
		oID = oID.nextSibling;
	}
}*/

function bakeCookie() {
	expireDate = new Date;
	expireDate.setMonth(expireDate.getMonth()+6);
	document.cookie = "toggleHourGlass="+toggleHourGlass+";expires="+expireDate.toGMTString();
	document.cookie = "tab1="+tabs[0]+";expires="+expireDate.toGMTString();
	document.cookie = "tab2="+tabs[1]+";expires="+expireDate.toGMTString();
	document.cookie = "tab3="+tabs[2]+";expires="+expireDate.toGMTString();
}

function showHideNoBake(oDiv, tab) {
	oTab = document.getElementById('tab'+tab);
	oID = document.getElementById(oDiv);
	if (oID.style.display == 'none') {
		oID.style.display = 'block';
		oTab.style.backgroundImage = 'url(downpoint.gif)';
		tabs[tab-1] = 1;
	} else {
		oID.style.display = 'none';
		oTab.style.backgroundImage = 'url(rightpoint.gif)';
		tabs[tab-1] = 0;
	}
}

function showHide(oDiv, tab) {
	oTab = document.getElementById('tab'+tab);
	oID = document.getElementById(oDiv);
	if (oID.style.display == 'none') {
		oID.style.display = 'block';
		oTab.style.backgroundImage = 'url(downpoint.gif)';
		tabs[tab-1] = 1;
	} else {
		oID.style.display = 'none';
		oTab.style.backgroundImage = 'url(rightpoint.gif)';
		tabs[tab-1] = 0;
	}
bakeCookie();
}

var toggleHourGlass = 1;

function toggleGlass() {
	oTT = document.getElementById('timeturner');
	if (toggleHourGlass == 0) {
	oTT.innerHTML = '<div id="timetitle"><img src="timeturner.jpg" /></div><div class="menutab" id="tab1"><span class="linklike" onClick="showHide(\'checkItems\', 1);">Show or Hide Items</span></div><div id="checkItems" class="menuBox"><form name="cboxEvent" action=""><input name="big" type="checkbox" onClick="showByDiv(\'.bigevent\');" checked />Major Events<br />&nbsp;&nbsp;&nbsp;&nbsp;<input name="bigwiz" type="checkbox" onClick="showByDiv(\'.bigwiz\');" checked />Wizarding World<br />&nbsp;&nbsp;&nbsp;&nbsp;<input name="bigmug" type="checkbox" onClick="showByDiv(\'.bigmug\');" checked />Muggle World<br />&nbsp;&nbsp;&nbsp;&nbsp;<input name="bigfan" type="checkbox" onClick="showByDiv(\'.bigfan\');"  />Fandom<br /><input name="small" type="checkbox" onClick="showByDiv(\'.smallevent\');" checked />Minor Events<br />&nbsp;&nbsp;&nbsp;&nbsp;<input name="smallwiz" type="checkbox" onClick="showByDiv(\'.smallwiz\');" checked />Wizarding World<br />&nbsp;&nbsp;&nbsp;&nbsp;<input name="smallmug" type="checkbox" onClick="showByDiv(\'.smallmug\');" checked />Muggle World<br />&nbsp;&nbsp;&nbsp;&nbsp;<input name="smallfan" type="checkbox" onClick="showByDiv(\'.smallfan\');"  />Fandom<br /><input name="ages" type="checkbox" onClick="showByDiv(\'.ages\');"  checked />Character Ages<br /><input name="locations" type="checkbox" onClick="showByDiv(\'.locations\');" />Locations<br /></form><a href="timeline.php">Reset and Show Everything</a></div><div class="menutab" id="tab2"><span class="linklike" onClick="showHide(&#39;selectYears&#39;, 2);">Define Year Range</span></div><div id="selectYears"><span class="menuBox"><form name="startendform" onSubmit="return validYear(this)" action="timeline.php" method="get">Use negative numbers for BC dates.<b>Start with year:</b><input type="text" name="startyear" size="4" /><br /><b>End with year:</b><input type="text" name="endyear" size="4" /><br /><input type="submit" value="Go!" /></form></span></div><div class="menutab" id="tab3"><span class="linklike" onClick="showHide(&#39;presets&#39;, 3);">Search</span></div><div id="presets" class="menuBox"></div></div><div id="reducio"><span class="linklike" onClick=\'toggleGlass();\'>Reducio Timetuner!</span></div>';
	oTT.style.width = '200px';
	oTT.style.padding = '0px 0px 5px 0px';
	toggleHourGlass = 1;
	oID = document.getElementById('checkItems');
	oID.style.display = 'none';
	oID = document.getElementById('selectYears');
	oID.style.display = 'none';
	oID = document.getElementById('presets');
	oID.style.display = 'none';
	if (tabs[0] == 1) { showHide('checkItems', 1); }
	if (tabs[1] == 1) { showHide('selectYears', 2); }
	if (tabs[2] == 1) { showHide('presets', 3); }
	mySearches (searchCodePHP, startYearCodePHP, endYearCodePHP);
	} else {
	oTT.innerHTML = '<span class="linklike" onClick="toggleGlass();" title="Click to enlarge"><img src="hourglass.gif" title="Click to enlarge" /></span>';
	oTT.style.width = '36px';
	oTT.style.padding = '0px';
		toggleHourGlass = 0;
}
bakeCookie();
}

function toggleGlassNoBake() {
	oTT = document.getElementById('timeturner');
	if (toggleHourGlass == 0) {
	oTT.innerHTML = '<div id="timetitle"><img src="timeturner.jpg" /></div><div class="menutab" id="tab1"><span class="linklike" onClick="showHide(\'checkItems\', 1);">Show or Hide Items</span></div><div id="checkItems" class="menuBox"><form name="cboxEvent" action=""><input name="big" type="checkbox" onClick="showByDiv(\'.bigevent\');" checked />Major Events<br />&nbsp;&nbsp;&nbsp;&nbsp;<input name="bigwiz" type="checkbox" onClick="showByDiv(\'.bigwiz\');" checked />Wizarding World<br />&nbsp;&nbsp;&nbsp;&nbsp;<input name="bigmug" type="checkbox" onClick="showByDiv(\'.bigmug\');" checked />Muggle World<br />&nbsp;&nbsp;&nbsp;&nbsp;<input name="bigfan" type="checkbox" onClick="showByDiv(\'.bigfan\');"  />Fandom<br /><input name="small" type="checkbox" onClick="showByDiv(\'.smallevent\');" checked />Minor Events<br />&nbsp;&nbsp;&nbsp;&nbsp;<input name="smallwiz" type="checkbox" onClick="showByDiv(\'.smallwiz\');" checked />Wizarding World<br />&nbsp;&nbsp;&nbsp;&nbsp;<input name="smallmug" type="checkbox" onClick="showByDiv(\'.smallmug\');" checked />Muggle World<br />&nbsp;&nbsp;&nbsp;&nbsp;<input name="smallfan" type="checkbox" onClick="showByDiv(\'.smallfan\');"  />Fandom<br /><input name="ages" type="checkbox" onClick="showByDiv(\'.ages\');"  checked />Character Ages<br /><input name="locations" type="checkbox" onClick="showByDiv(\'.locations\');" />Locations<br /></form><a href="timeline.php">Reset and Show Everything</a></div><div class="menutab" id="tab2"><span class="linklike" onClick="showHide(&#39;selectYears&#39;, 2);">Define Year Range</span></div><div id="selectYears"><span class="menuBox"><form name="startendform" onSubmit="return validYear(this)" action="timeline.php" method="get">Use negative numbers for BC dates.<b>Start with year:</b><input type="text" name="startyear" size="4" /><br /><b>End with year:</b><input type="text" name="endyear" size="4" /><br /><input type="submit" value="Go!" /></form></span></div><div class="menutab" id="tab3"><span class="linklike" onClick="showHide(&#39;presets&#39;, 3);">Search</span></div><div id="presets" class="menuBox"></div></div><div id="reducio"><span class="linklike" onClick=\'toggleGlass();\'>Reducio Timetuner!</span></div>';
	oTT.style.width = '200px';
	oTT.style.padding = '5px 0px 5px 0px';
	toggleHourGlass = 1;
	oID = document.getElementById('checkItems');
	oID.style.display = 'none';
	oID = document.getElementById('selectYears');
	oID.style.display = 'none';
	oID = document.getElementById('presets');
	oID.style.display = 'none';
	if (tabs[0] == 1) { showHide('checkItems', 1); }
	if (tabs[1] == 1) { showHide('selectYears', 2); }
	if (tabs[2] == 1) { showHide('presets', 3); }
	mySearches (searchCodePHP, startYearCodePHP, endYearCodePHP);
	} else {
	oTT.innerHTML = '<span class="linklike" onClick="toggleGlass();" title="Click to enlarge"><img src="hourglass.gif" title="Click to enlarge" /></span>';
	oTT.style.width = '36px';
	oTT.style.padding = '0px';
		toggleHourGlass = 0;
}
}


function grabCookie(name) {
	var sRE = "(?:; )?" + name + "=([^;]*);?";
	var oRE = new RegExp(sRE);
	
	if (oRE.test(document.cookie)) {
		return decodeURIComponent(RegExp["$1"]);
	} else {
		return null;
	}
}

function eatCookie() {
	if (document.cookie != "") {
		if (grabCookie('toggleHourGlass') == 0) { toggleGlassNoBake(); }
		if (grabCookie('tab1') == 1) {
			tabs[0]=1;
			if (grabCookie('toggleHourGlass') == 1) {
				showHideNoBake('checkItems', 1); 
			} 
		}
		if (grabCookie('tab2') == 1) {
			tabs[1]=1;
			if (grabCookie('toggleHourGlass') == 1) {
				showHideNoBake('selectYears', 2); 
			} 
		}
		if (grabCookie('tab3') == 1) {
			tabs[2] = 1;
			if (grabCookie('toggleHourGlass') == 1) {
			showHideNoBake('presets', 3); } }
	}
}
		
function styleImg (id, height) {
	xEl = 'img'+id;
	xImgDiv = document.getElementById(xEl);
	var raise = -(height / 2);
	xImgDiv.style.position = 'relative';
	xImgDiv.style.top = raise+'px';
	xImgDiv.style.cssFloat = 'right';
	xImgDiv.style.border = '1px solid #000000';
	xImgDiv.style.marginRight = '10px';
}

function mySearches(searchCode, startYear, endYear) {
	var newHTML = '<b>Your saved searches:</b><br />';
	for (x=1; x<=9; x++) {
		thisCookie = grabCookie("search"+x);
		if (thisCookie) {
			cookieArray = thisCookie.split('|');
			newHTML += '<a href="timeline.php?search='+cookieArray[1]+'|'+cookieArray[2]+'">'+cookieArray[0]+'</a><br />';
		}
	}
	newHTML = '<a href="createsearch.php">Make a new search</a><br /><a href="refinesearch.php?code='+searchCode+'&startyear='+startYear+'&endyear='+endYear+'">Search within this timeline</a><br />'+ newHTML;
	document.getElementById('presets').innerHTML = newHTML;
}
				