window.onload = function() {
	/* Check for initialization function, run if it exists */
	if(typeof init == 'function') {
		init();
	}
	
	/* Preload Navigation Roll Over Images */
	Image1 = new Image(); Image1.src = "http://mydailyphoto.com/files/images/navigation_community_over.png";
	Image2 = new Image(); Image2.src = "http://mydailyphoto.com/files/images/navigation_search_over.png";
	Image3 = new Image(); Image3.src = "http://mydailyphoto.com/files/images/navigation_about_over.png";
	Image4 = new Image(); Image4.src = "http://mydailyphoto.com/files/images/navigation_random_over.png";
	Image5 = new Image(); Image5.src = "http://mydailyphoto.com/files/images/navigation_help_over.png";
	Image6 = new Image(); Image6.src = "http://mydailyphoto.com/files/images/navigation_register_over.png";
	Image7 = new Image(); Image7.src = "http://mydailyphoto.com/files/images/navigation_login_over.png";
	Image8 = new Image(); Image8.src = "http://mydailyphoto.com/files/images/navigation_profile_over.png";
}

/* Navigation Roll Over States */
function navOver(pImage, pPage, pState) {
	if(pState == 1) {
		pImage.setAttribute('src', 'http://mydailyphoto.com/files/images/navigation_' + pPage + '_over.png');
	} else {
		pImage.setAttribute('src', 'http://mydailyphoto.com/files/images/navigation_' + pPage + '.png');
	}
}

/* Global Variables */
var currentModal;

/* Modal Function */
window.onscroll = function() {
	displayOverlay('update');
	updateModal();
}

/* Modal Function */
window.onresize = function() {
	displayOverlay('update');
	updateModal();	
}

/* Display or Hide Modal Overlay */
function displayOverlay(pState) {
	winSize = windowSize();
	
	if(pState == 'on') {		
		$('page_overlay').style.width = winSize[0] + 'px';
		$('page_overlay').style.height = winSize[1] + 'px';
		$('page_overlay').style.left = winSize[2] + 'px';
		$('page_overlay').style.top = winSize[3] + 'px';
		$('page_overlay').style.display = 'block';
	} else if(pState == 'off') {
		$('page_overlay').style.display = 'none';	
	} else {
		try {
			$('page_overlay').style.width = winSize[0] + 'px';
			$('page_overlay').style.height = winSize[1] + 'px';
			$('page_overlay').style.left = winSize[2] + 'px';
			$('page_overlay').style.top = winSize[3] + 'px';
		} catch(e) {
			// gulp
		}
	}
}

/* Display Modal */
function showModal() {
	winSize = windowSize();

	try {
		if(currentModal == 'excuse') {
			offsetLeft = (winSize[0] / 2) - 262;
			offsetTop = winSize[3] + 100;
			
			$('excuse').style.left = offsetLeft + 'px';
			$('excuse').style.top = offsetTop + 'px';
			$('excuse').style.display = 'block';
		} else if(currentModal == 'login') {
			offsetLeft = (winSize[0] / 2) - 262;
			offsetTop = winSize[3] + 100;
			
			$('login').style.left = offsetLeft + 'px';
			$('login').style.top = offsetTop + 'px';
			$('login').style.display = 'block';
		}
	} catch(e) {
	
	}
}

/* Re-position Modal */
function updateModal() {
	winSize = windowSize();
	
	try {
		if(currentModal == 'excuse') {
			offsetLeft = (winSize[0] / 2) - 262;
			offsetTop = winSize[3] + 100;
			
			$('excuse').style.left = offsetLeft + 'px';
			$('excuse').style.top = offsetTop + 'px';	
		} else if(currentModal == 'login') {
			offsetLeft = (winSize[0] / 2) - 262;
			offsetTop = winSize[3] + 100;
			
			$('login').style.left = offsetLeft + 'px';
			$('login').style.top = offsetTop + 'px';	
		}
	} catch(e) {
	
	}
}

/* Close Modal */
function closeModal() {
	displayOverlay('off');

	try {
		if(currentModal == 'excuse') {
			$('excuse').style.display = 'none';
		} else if(currentModal == 'login') {
			$('login').style.display = 'none';
		}
	} catch(e) {
	
	}
}

/* Determine Window Size and Scroll Offset */
function windowSize() {
	var winWidth = 0, winHeight = 0, x = 0, y = 0;

	if (typeof window.innerWidth == 'number') {
		winWidth = window.innerWidth;
		winHeight = window.innerHeight;
	} else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
		winWidth = document.documentElement.clientWidth;
		winHeight = document.documentElement.clientHeight;
	} else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
		winWidth = document.body.clientWidth;
		winHeight = document.body.clientHeight;
	}

	if (self.pageYOffset) {
		x = self.pageXOffset;
		y = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop) {
		x = document.documentElement.scrollLeft;
		y = document.documentElement.scrollTop;
	} else if (document.body) {
		x = document.body.scrollLeft;
		y = document.body.scrollTop;
	}

	return [winWidth, winHeight, x, y];
}