// JavaScript for Yodel Careers Mini-site.
// © 2009 | Created by Kashi Samaraweera for Yodel Australia

	var winW = 1000, winH = 600;
	var scrolling = false;
	var normalise = false;
	var menuBarCurrentPos = 0;
	var menuBarTargetPos = 0;
	
	var scrollTime = 5;
	
	function changeOpacity(newOpacity, elementToChangeId) { 
		var elementToChange = document.getElementById(elementToChangeId).style; 
		elementToChange.opacity = (newOpacity / 100); 
		elementToChange.MozOpacity = (newOpacity / 100); 
		elementToChange.KhtmlOpacity = (newOpacity / 100); 
		elementToChange.filter = "alpha(opacity=" + newOpacity + ")"; 
	}
	
	function initialise() {
		winW = document.documentElement.clientWidth;
		winH = document.documentElement.clientHeight;
		if (String(navigator.appName).indexOf('Opera') > -1) {
			winW = window.innerWidth;
			winH = window.innerHeight;
		}
		if (String(navigator.appName).indexOf('MSIE') > -1) {
			scrollTime = 10;
		}
	}
	
	window.onresize = function() {
		initialise();
	}
	
	window.onload = function() {
		initialise();
	}
	var currentScroll = 0;
	var targetScroll = 2880;
	
	function gotoPage(pageNo) {
		targetScroll = 960 * pageNo;
		if (scrolling==false) {checkScroll();}
	}
	
	function nearestPage() {
		menuLeft = document.getElementById('menuBarHighlight').style.left;
		menuLeft = menuLeft.substring(0, menuLeft.length - 2);
		targetScroll = Math.round(menuLeft / 144) * 960;
		normalise = true;
		(scrolling == false)? checkScroll() : null;		
	}
	
	function checkScroll() {
		scrolling = false;
		if (targetScroll != currentScroll) {
			newScroll = Math.round(( (currentScroll * 5) + targetScroll) / 6);
				
			document.getElementById('pagesFrame').contentWindow.scrollTo(newScroll, 0);
			currentScroll = newScroll;
			
			if (Math.abs(currentScroll - targetScroll) > 5) {
				setTimeout("checkScroll()", scrollTime);
				scrolling = true;

			} else {
				currentScroll = targetScroll;
				document.getElementById('pagesFrame').contentWindow.scrollTo(targetScroll, 0);		
			}
			
			pageMarkerPos = Math.round((newScroll / 960) * 144);
			(pageMarkerPos >= 0 && pageMarkerPos <= 576)? document.getElementById('pageMarker').style.left =  200 + pageMarkerPos + "px" : null;
			if (normalise == true) {
				menuLeft = document.getElementById('menuBarHighlight').style.left;
				menuLeft = menuLeft.substring(0, menuLeft.length - 2);
				
				menuBarPos = Math.round((currentScroll / 960) * 144);
				menuBarPos = Math.round(((menuBarPos*3) + pageMarkerPos) /4);
				
				document.getElementById('menuBarHighlight').style.left = menuBarPos + "px";
				document.getElementById('menuBarHighlight').style.backgroundPosition = 0 - menuBarPos + "px" + " 0px";
			}
		}
	}
	
	
	var x;
	var y;


	function mouser(event, senderElement){
		x = event.clientX;
		y = event.clientY;
		
		// Work out position of menuBar
		if (String(navigator.appVersion).indexOf('MSIE') == -1) {
			menuBarPos = x - (Math.floor((winW - 1000)/2) + 218);
		} else {
			menuBarPos = x - (Math.floor((winW - 1000)/2) + 211);
		}
		
		menuPos = menuBarPos - Math.floor(144/2);
		targetScroll = Math.round(((menuBarPos-72)/144) * 960);

		if (scrolling==false) {checkScroll();}
		
		if ((menuBarPos - Math.floor(144/2) + 72) >= 0 && (menuBarPos - Math.floor(144/2) - 72) <= (720)) {
				document.getElementById('menuBarHighlight').style.left = menuBarPos - Math.floor(144/2) + "px";
				document.getElementById('menuBarHighlight').style.backgroundPosition = 0 - (menuBarPos - Math.floor(144/2)) + "px" + " 0px";
		}
	}