addLoadListener(csPanel);
addLoadListener(ieHover);
addLoadListener(imageEnlarge);
addLoadListener(scrollCS);

function imageEnlarge() {
	try {
		var imageOverlay = document.getElementById('imgoverlay');
		var csSlider = document.getElementById('cs_slider');
		var enlargeLinks = csSlider.getElementsByTagName('a');
		var imageClose = document.getElementById('image_div_close');
		for (i=0; i < enlargeLinks.length; i++) {
			enlargeLinks[i].onclick = function() {
				var thisCS = this.getAttribute('rel');
				var imgPath = '/images/casestudies/' + thisCS + '/' + this.id + '.jpg';
				enlargeImage(imgPath);
				return false;
			};
			
			imageClose.onclick = function() {
				closeImage();
				return false;
			};
		}
		
		imageOverlay.onclick = function() {
			closeImage();
		};
	} catch(e) {}
}

function enlargeImage(image) {
	var imageOverlay = document.getElementById('imgoverlay');
	var imageDiv = document.getElementById('image_div');
	var largeIMG = document.getElementById('csimage_large');
	imageOverlay.style.display = 'block';
	largeIMG.src = image;
	showImage();	
}

function closeImage() {
	var imageOverlay = document.getElementById('imgoverlay');
	var imageDiv = document.getElementById('image_div');
	var largeIMG = document.getElementById('csimage_large');
	
	imageOverlay.style.display = 'none';
	largeIMG.src = '/images/backgrounds/fpo.gif';
	hideImage();
}


function showImage() {
	var showImage = new YAHOO.util.Anim('image_div', { height: {to: 600}}, .1, YAHOO.util.Easing.easeIn);
	showImage.animate();
}

function hideImage() {
	var hideImage = new YAHOO.util.Anim('image_div', { height: {to: 0}}, .1, YAHOO.util.Easing.easeIn);
	hideImage.animate();
}

var panelToggle = 0;
var overPanel;
function csPanel() {
	if (document.getElementById('cs_panel')) {
		var downloadLink = document.getElementById('downloadpdf');
		var openLink = document.getElementById('opentoread');
		var closeLink = document.getElementById('closepanel');
		
		var csPanel = document.getElementById('cs_panel');
		setTimeout('animatePanel(285)', 1000);
		/*
		csPanel.onmouseover = function() {
			if (panelToggle == 0) {
				overPanel = setTimeout('animatePanel(0)', 500);
				panelToggle = 1;
			}
		};
		
		csPanel.onmouseout = function() {
			clearTimeout(overPanel);
		};
		*/
		openLink.onclick = function() {
			animatePanel(0);
			panelToggle = 1;
			//downloadLink.style.display = 'block';
			openLink.style.display = 'none';
			closeLink.style.display = 'block';
			return false;
		};
		
		closeLink.onclick = function() {
			animatePanel(285);
			panelToggle = 0;
			//downloadLink.style.display = 'none';
			openLink.style.display = 'block';
			closeLink.style.display = 'none';
			return false;
		};
		/*
		csPanel.onclick = function() {
			if (panelToggle == 0) {
				animatePanel(0);
				panelToggle = 1;
				downloadLink.style.display = 'block';
				openLink.style.display = 'none';
				closeLink.style.display = 'block';
			} else {
				animatePanel(285);
				panelToggle = 0;
				downloadLink.style.display = 'none';
				openLink.style.display = 'block';
				closeLink.style.display = 'none';
			}
		};
		*/
	}
}

function animatePanel(position) {
	var csPanel = new YAHOO.util.Anim('cs_panel', { top: {to: position}}, .4, YAHOO.util.Easing.easeIn);
	csPanel.animate();
}

function ieHover() {
	var csList = document.getElementById('cs_list');
	var csListItems = csList.getElementsByTagName('li');
	for (i=0; i < csListItems.length; i++) {
		csListItems[i].onmouseover = function() {
			this.className = 'hover';
		};
		
		csListItems[i].onmouseout = function() {
			this.className = '';
		};
	}
}

//addLoadListener(activateScrollContainer);

function activateScrollContainer() {
	var scrollContainer =  document.getElementById('cs_nav');
	var scrollList = document.getElementById('cs_list');
	scrollContainer.onmouseover = function() {
	moveMenu();
	}
	
	scrollContainer.onmouseout = function() {
		
	}
}

function doSomethingTest(e) {
	if (!e) var e = window.event;
	alert(e.type);
}

function moveMenu(e) {
	var posx = 0;
	var posy = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) 	{
		posx = e.pageX;
		posy = e.pageY;
	}
	else if (e.clientX || e.clientY) 	{
		posx = e.clientX + document.body.scrollLeft
			+ document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop
			+ document.documentElement.scrollTop;
	}
	animateList(posy-25);
	// posx and posy contain the mouse position relative to the document
	// Do something with this information
	
	if ((posy - 30) < 0) {
		scrollBarTop = 0;
	} else if ((posy-30) > 140) {
		scrollBarTop = 140;
	} else {
		scrollBarTop = posy - 30;
	}
	document.getElementById('scroll_bar').style.backgroundPosition = '0 ' + scrollBarTop + 'px';
}

function animateList(position) {
	var scrollContainer =  document.getElementById('cs_nav');
	var scrollList = document.getElementById('cs_list');
	var scrollContainerHeight = scrollContainer.offsetHeight;
	var scrollListHeight = scrollList.offsetHeight;
	//var scrollMultiplier = scrollListHeight / scrollContainerHeight;
	//var scrollPosition = (position*scrollMultiplier) - scrollContainerHeight;
	var scrollDif = scrollListHeight - scrollContainerHeight;
	var scrollMultiplier = scrollDif / scrollContainerHeight;
	var scrollPosition = position * scrollMultiplier;
	
	//scrollList.style.top = -(scrollPosition) + 'px';
	var animateList = new YAHOO.util.Anim('cs_list', { top: {to: -scrollPosition}}, .1, YAHOO.util.Easing.easeNone);
	animateList.animate();
}

function scrollCS() {
	try {
		var scrollDuration = 1;
		var scrollDownTime = scrollDuration;
		var scrollUpTime = scrollDuration;
		var scrollContent = document.getElementById('panel_content');
		
		var scrollUpCntrl = document.getElementById('cs_control_up');
		var scrollDownCntrl = document.getElementById('cs_control_down');
		
		scrollHeight = scrollContent.offsetHeight;
		scrollTop = -(scrollHeight - scrollContent.parentNode.offsetHeight);
		
		//checkCSHeight();
		
		var scrollDown = new YAHOO.util.Anim('panel_content', { top: {to: scrollTop}}, scrollDownTime, YAHOO.util.Easing.easeNone);
		
		var scrollUp = new YAHOO.util.Anim('panel_content', { top: {to: 0}}, scrollUpTime, YAHOO.util.Easing.easeNone);
		
		scrollUpCntrl.onmousedown = function() {
			scrollUp.animate();
			
		}
		
		scrollUpCntrl.onmouseup = function() {
			scrollUp.stop();
			
			scrollUpTime = scrollUpTime - ((Number(new Date()) - Number(scrollUp.getStartTime()))/1000);
			
			if (scrollUpTime <= 0) {
				scrollUpTime = 0;
			} 
			
			scrollDownTime = scrollDuration - scrollUpTime;
			scrollUp.duration = scrollUpTime;
			scrollDown.duration = scrollDownTime;
		}
		
		scrollDownCntrl.onmousedown = function() {
			scrollDown.animate();
			
		}
		
		scrollDownCntrl.onmouseup = function() {
			scrollDown.stop();
			
			scrollDownTime = scrollDownTime - ((Number(new Date()) - Number(scrollDown.getStartTime()))/1000);
			
			if (scrollDownTime <= 0) {
				scrollDownTime = 0;
			} 
			
			scrollUpTime = scrollDuration - scrollDownTime;
			scrollDown.duration = scrollDownTime;
			scrollUp.duration = scrollUpTime;
		}
		
		scrollUpCntrl.onclick = function() {
			return false;
		}
		
		scrollDownCntrl.onclick = function() {
			return false;
		}
	} catch(e) {}
}

function checkCSHeight() {
	var scrollContent = document.getElementById('panel_content');
	var scrollUpCntrl = document.getElementById('cs_control_up');
	var scrollDownCntrl = document.getElementById('cs_control_down');
	if (scrollContent.parentNode.offsetHeight == 0) {
		scrollUpCntrl.style.display = "none";
		scrollDownCntrl.style.display = "none";
	} else if (scrollContent.parentNode.offsetHeight < scrollContent.offsetHeight) {
		scrollUpCntrl.style.display = "block";
		scrollDownCntrl.style.display = "block";
	} else {
		scrollUpCntrl.style.display = "none";
		scrollDownCntrl.style.display = "none";
	}
}