window.addEvent('domready', function(){

	var total_projects = project_info.length-1;
	var window_midpt = document.body.offsetWidth/2;
	var info_btn = $('info_btn');
	var info_close = $('info_close');
	var menu = $('menu');
	var nav_bar = $('nav_bar');

	if(last_x > 0) {
		$('cursor_x').set('value', last_x);
		$('cursor_y').set('value', last_y);
		setCursor();
		$('nav_cursor').setStyles({
			'left': last_x, 
			'top': last_y
		});
	}
	$('container').setStyle('cursor', 'pointer');
	
	var selected_project = $('selected_project').get('value');
	set_project(selected_project);
	
	$('bg_div').addEvents({
		mousemove: function() {
			$('nav_cursor').setStyle('background', '');
		}
	});
	
	$('container').addEvents({
		click: function(event){
			if (event.target == info_btn || event.target == info_close || info_btn.hasChild(event.target) || info_close.hasChild(event.target) || event.target == menu || menu.hasChild(event.target) || event.target == nav_bar || nav_bar.hasChild(event.target)) return;
			
			mainNav();
		},
		mousemove: function(event) {
			if (event.target == info_btn || event.target == info_close || info_btn.hasChild(event.target) || info_close.hasChild(event.target) || event.target == menu || menu.hasChild(event.target) || event.target == nav_bar || nav_bar.hasChild(event.target)) {
				$('container').setStyle('cursor', '');
				$('nav_cursor').setStyle('background', '');
			} else {
				setCursor();
			}
			ShowContent('nav_cursor');
		}
	});
	
	$('nav_cursor').addEvents({
		click: function(){
			mainNav();
		},
		mousemove: function(){
			ShowContent('nav_cursor');
		}
	});
	
	function setCursor() {
		$('container').setStyle('cursor', 'pointer');
		if($('cursor_x').get('value') <= window_midpt) { // Prev
			$('nav_cursor').setStyle('background', 'url(images/cursor_left.gif)');
		} 
		else { // Next	
			$('nav_cursor').setStyle('background', 'url(images/cursor_right.gif)');
		}
	}
	
	function mainNav() {
		if($('info').getStyle('height') == '0%' && $('info').getStyle('top') !== '0px') {
			selected_project = $('selected_project').get('value');
			
			if($('cursor_x').get('value') <= window_midpt) { // Prev
				if(selected_project == 1) {
					if(pg > 1) {
						pg--;
						var start_on = pg*per_page;
						
					} else {
						
						pg = total_pgs;
						var start_on = total_results - ((total_pgs-1)*per_page);
					} 
					window.location = page_name+"?pg="+pg+"&category="+category+"&selected_project="+start_on+"&last_x="+$('cursor_x').get('value')+"&last_y="+$('cursor_y').get('value');
				} else {
					selected_project--;
				}
			} 
			else { // Next
				if(selected_project == total_projects) {
					if(total_pgs <= pg) {
						pg = 1;
					} else {
						pg++;
					} 
					window.location = page_name+"?pg="+pg+"&category="+category+"&last_x="+$('cursor_x').get('value')+"&last_y="+$('cursor_y').get('value');
				} else {
					selected_project++;
				}
			}
			set_project(selected_project);
		}
	}
	
	var info_slide = new Fx.Morph($('info'), {unit: '%', duration: 700, transition: Fx.Transitions.Expo.easeIn});
	info_btn.addEvents({
		click: function(){
			
			if (Browser.Engine.trident) { // Browser is IE
				$('info').setStyles({
					'left': '0px',
					'top': '0px'
				});
			} else {
				info_slide.start({
					'height': 100
				});
			}
			
			//Show hide div's
			nav_bar.setStyle('display', 'none');
			menu.setStyle('display', 'none');
			$('nav_cursor').setStyle('visibility', 'hidden');
		}
	});
	info_close.addEvents({
		click: function(){
			
			if (Browser.Engine.trident) { // Browser is IE
				$('info').setStyles({
					'left': '',
					'top': ''
				});
			} else {
				info_slide.start({
					'height': 0
				});
			}
			
			//Show hide div's
			nav_bar.setStyle('display', '');
			menu.setStyle('display', '');
			$('nav_cursor').setStyle('visibility', 'visible');
		}
	});
	
	
	var pf = new PulseFade('info_btn',{
		min: .50,
		max: 1,
		duration: 900,
		times: 0,
		onComplete: function() {
			//console.log('complete!');
		},
		onStart: function() {
			//console.log('started!');
		},
		onStop: function() {
			//console.log('stopped!');
		},
		onTick: function() {
			//console.log('tick!');
		}
	});
	pf.start(); //pf.stop();
	
});

function set_project(project_num) {
	$('container').setStyle('background', project_bg[project_num]);

	$('selected_project').set('value', project_num); // Set hidden variable
	
	create_accordion(1);

	// Set all to normal
	for (i = 1; i <= 10; i++) {
		if($('nav_btn_'+i)) {
			$('nav_btn_'+i).setStyles({
				'background': '#000000',
				'border': '5px solid #000000'
			});
		}
	}

	$('nav_btn_'+project_num).setStyles({
		'background': '#'+nav_btn_color,
		'border': '5px solid #'+nav_btn_color
	});
}

// http://bontragerconnection.com/ and http://willmaster.com/
// Version: July 28, 2007

var x_offset = -15; var y_offset = 5;

var cX = 0; var cY = 0; var rX = 0; var rY = 0;
function UpdateCursorPosition(e){ cX = e.pageX; cY = e.pageY; }
function UpdateCursorPositionDocAll(e){ cX = event.clientX; cY = event.clientY; }
if(document.all) { document.onmousemove = UpdateCursorPositionDocAll; }
else { document.onmousemove = UpdateCursorPosition; }
function AssignPosition(d) {
if(self.pageYOffset) {
rX = self.pageXOffset;
rY = self.pageYOffset;
}
else if(document.documentElement && document.documentElement.scrollTop) {
rX = document.documentElement.scrollLeft;
rY = document.documentElement.scrollTop;
}
else if(document.body) {
rX = document.body.scrollLeft;
rY = document.body.scrollTop;
}
if(document.all) {
cX += rX;
cY += rY;
}

d.style.left = (cX+x_offset) + "px";
d.style.top = (cY+y_offset) + "px";

$('cursor_x').set('value', cX);
$('cursor_y').set('value', cY);

}
function HideContent(d) {
if(d.length < 1) { return; }
document.getElementById(d).style.display = "none";
}
function ShowContent(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
dd.style.display = "block";
}
function ReverseContentDisplay(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
if(dd.style.display == "none") { dd.style.display = "block"; }
else { dd.style.display = "none"; }
}
