// JavaScript Document

	function showOverlay(page){
		 var viewportwidth;
		 var viewportheight;
		 var scrollheight;
		 
		 // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
		 if (typeof window.innerWidth != 'undefined')
		 {
			  //alert(getScrollerWidth());

			  viewportwidth = window.innerWidth - getScrollerWidth();
			  viewportheight = window.innerHeight;
			  if (navigator.userAgent.search(/Apple/) != -1){
			    scrollheight = viewportheight;
			  }else{
			    scrollheight = document.getElementsByTagName('html')[0].offsetHeight;
			  }
		 }
		 // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)
		 else if (typeof document.documentElement != 'undefined'
			 && typeof document.documentElement.clientWidth !=
			 'undefined' && document.documentElement.clientWidth != 0)
		 {
			   viewportwidth = document.documentElement.clientWidth;
			   viewportheight = document.documentElement.clientHeight;
			   if (navigator.userAgent.search(/MSIE 8.0/) != -1){
				scrollheight = document.getElementsByTagName('html')[0].offsetHeight;  
			   }else{
			   	scrollheight = document.getElementsByTagName('body')[0].offsetHeight;
			   }
		 }
		 // older versions of IE
		 else
		 {
			   viewportwidth = document.getElementsByTagName('body')[0].clientWidth;
			   viewportheight = document.getElementsByTagName('body')[0].clientHeight;
			   scrollheight = document.getElementsByTagName('body')[0].offsetHeight;
		 }
		 
		 document.getElementById('overlay_shadow').style.height = scrollheight + 'px';
		 document.getElementById('overlay_shadow').style.width = '100%';
		 
		 positionWindow(viewportwidth,viewportheight);
		 
		 document.getElementById('overlay_shadow').style.display = 'block';
		 document.getElementById('overlay_window').style.display = 'block';
		 
		 document.getElementById('overlayWin').src = 'overlays/' + page + '.cfm';
		 
		 hideDropdowns(true);
	}
	
	function hideOverlay(){
		document.getElementById('overlay_shadow').style.display = 'none';
		document.getElementById('overlay_window').style.display = 'none';
		hideDropdowns(false);
	}
	
	function hideDropdowns(action){
		if (action == true){
			for ( x=0; x < document.getElementsByTagName('select').length; x++ ) {
				var thisElement = document.getElementsByTagName('select')[x];
				thisElement.style.display = 'none';
			}
		}else{
			for ( x=0; x < document.getElementsByTagName('select').length; x++ ) {
				var thisElement = document.getElementsByTagName('select')[x];
				thisElement.style.display = 'block';
			}
		}
	}
	
	function positionWindow(viewportwidth,viewportheight){
		
		setTop = ((viewportheight - 575)/2);
		setLeft = ((viewportwidth - 850)/2);
		
		document.getElementById('overlay_window').style.top = setTop + 'px';
		document.getElementById('overlay_window').style.left = setLeft + 'px';
		
	}
	
	function getScrollerWidth() {
		var scr = null;
		var inn = null;
		var wNoScroll = 0;
		var wScroll = 0;
	
		// Outer scrolling div
		scr = document.createElement('div');
		scr.style.position = 'absolute';
		scr.style.top = '-1000px';
		scr.style.left = '-1000px';
		scr.style.width = '100px';
		scr.style.height = '50px';
		// Start with no scrollbar
		scr.style.overflow = 'hidden';
	
		// Inner content div
		inn = document.createElement('div');
		inn.style.width = '100%';
		inn.style.height = '200px';
	
		// Put the inner div in the scrolling div
		scr.appendChild(inn);
		// Append the scrolling div to the doc
		document.body.appendChild(scr);
	
		// Width of the inner div sans scrollbar
		wNoScroll = inn.offsetWidth;
		// Add the scrollbar
		scr.style.overflow = 'auto';
		// Width of the inner div width scrollbar
		wScroll = inn.offsetWidth;
	
		// Remove the scrolling div from the doc
		document.body.removeChild(
			document.body.lastChild);
	
		// Pixel width of the scroller
		return (wNoScroll - wScroll);
	}
	
	function navigate_projects(pageindex){
	  var count = 0;
	  for ( x=0; x < document.getElementsByTagName('div').length; x++ ) {
			var thisPage = document.getElementsByTagName('div')[x].id;
		  
			if (thisPage.search(/pageindex/) != -1){
			   var count = count + 1;
			   
			   if (thisPage == 'pageindex' + pageindex){
				document.getElementById('pageindex' + count).style.display = 'block';
			 }
			 else
			 {
				document.getElementById('pageindex' + count).style.display = 'none';
			 } 
			
			}
	  }
	}

	function adjustHeight(){
		if (document.getElementById('middlecontent')){
			document.getElementById('leftcontent').style.height = document.getElementById('middlecontent').offsetHeight + 'px';
		} 
		if (document.getElementById('rightcontent')){
			if (document.getElementById('leftcontent')){
				if (document.getElementById('leftcontent').offsetHeight > 455){
					document.getElementById('rightcontent').style.height = document.getElementById('leftcontent').offsetHeight + 'px';
				}
			}else{
				if (document.getElementById('leftcontent_wide').offsetHeight > 455){
					document.getElementById('rightcontent').style.height = document.getElementById('leftcontent_wide').offsetHeight + 'px';
				}
			}
		} 
	}
	
	function loadPageData(page){
		//set current page 
		document.getElementById('page').value = page;
		
		//set total number of pages and turn on/off divs
		var totalpages = 0;
		var toc = '';
		for ( x=0; x < document.getElementsByTagName('div').length; x++ ) {
			var thisDiv = document.getElementsByTagName('div')[x];
			
			if (thisDiv.id.search(/page_/) != -1){
				var idSplit = thisDiv.id.split('_');
				if (idSplit[1] == document.getElementById('page').value){
					document.getElementById(thisDiv.id).style.display = 'block';
				}else{
					document.getElementById(thisDiv.id).style.display = 'none';
				}
				
				var totalpages = totalpages + 1;
				if (page == 1){
					var toc = toc + '<p>' + totalpages + '. <a href="#" onclick="loadPageData(' + idSplit[1] + ');" ';
						if (page == idSplit[1]){
							var toc = toc + 'class="active"';
						}
					var toc = toc + '>' + thisDiv.title;
					var toc = toc + '</a></p>';
				}else{
					if (page == totalpages){
						var toc = toc + '<p><a href="#" onclick="loadPageData(' + idSplit[1] + ');" class="active">' + thisDiv.title;
						var toc = toc + '</a></p><p><a href="#" class="backtoToc" onclick="loadPageData(\'1\');">Back to Table of Contents</a></p>';
					}
				}
			}
		}
		document.getElementById('totalpages').value = totalpages;
		document.getElementById('toc').innerHTML = toc;
		
		//configure previous and next links
		if (document.getElementById('page').value == 1){
			document.getElementById('pagePrevious').style.display = 'none';
		}else{
			document.getElementById('pagePrevious').style.display = 'block';
		}
		if (document.getElementById('page').value == totalpages){
			document.getElementById('pageNext').style.display = 'none';
		}else{
			document.getElementById('pageNext').style.display = 'block';
		}
		
		adjustHeight();
		window.scrollTo(0,0);
	}
	
	function writeCode(filepath,divid){
			document.write('<div id="id' + divid + '"></div>');
			
			var js=document.createElement('script');
			js.setAttribute('language','javascript');
			js.setAttribute('src','codeView/index.cfm?filepath=' + filepath + '&divid=' + divid);
			document.getElementsByTagName('head')[0].appendChild(js);
	}