$('document').ready(function(){
	
	
	benMenuInteract();
	mainMenuMove();
	menuOrientation();
	menuObjects();

});

function menuOrientation(){
	//alert(Cookies.get('mainMenuPosition'));
	if (!Cookies.get('mainMenuPosition')) {
		//alert('derp');
		//Cookies.set('mainMenuPosition', [164, 0], 120);//seems to be the source of the problem
		x = $('#benMenuContainer').css('left');//Cookies.cookieToPosition('mainMenuPosition').x;
		x = parseFloat(x.replace(removePx, ''));
		y = $('#benMenuContainer').css('top');//Cookies.cookieToPosition('mainMenuPosition').y;
		y = parseFloat(y.replace(removePx, ''));
	}
	else {
		Cookies.set('mainMenuPosition', Cookies.get('mainMenuPosition'), 60*24*5);
		
		x = Cookies.cookieToPosition('mainMenuPosition').x;
		y = Cookies.cookieToPosition('mainMenuPosition').y;
		
		$('#benMenuContainer').css({
			'left': x,
			'top': y
		});
	}
	
	if (x == 164 && y == -133) {
		$('#mainMenuTabToggle').text('+');
		$('#mainMenuTabToggle').css('top', -7);
		$('#mainMenuTabToggle').attr('name', 'exp');
		
	}
}

function menuObjects(){
	benMenu = {
		
		mouseOver : function(id){
			
			switch (id){
				case 'about':
				containerText = "This is where I make futile attempts at explaining what I am doing";
				selectionPosition = 0;
				selections = "<a class=benMenuSelectionLink href=/about?what=ben><div class=benMenuSelection name=aboutBen>Ben</div></a>"+ 
				"<a class=benMenuSelectionLink href=/about?what=site><div class=benMenuSelection name=aboutSite>This Site</div></a>";
				break;
				
				case 'writing':
				containerText = "Personal Development and odd stories";
				selectionPosition = 66;
				selections = "";
				break;
				
				case 'art':
				containerText = 'Mostly fruit and stuff';
				selectionPosition = 126;
				selections = "";
				break;
				
				case 'discussion':
				containerText = 'Quite possibly the best place on the internet';
				selectionPosition = 165;
				selections = "";
				break;
				
				case 'action':
				containerText = 'Get stuff done';
				selectionPosition = 165;
				selections = "";
				break;
				
				case 'projects':
				containerText = 'Fate of the world stuff';
				selectionPosition = 246;
				selections = "";
				break;
				
				case 'crap':
				containerText = 'T-shirts, internet garbage, and other stuff you dont need';
				selectionPosition = 358;
				selections = "<a class=benMenuSelectionLink href=/crap/merchandise><div class=benMenuSelection name=merchandise>Merchandise</div></a>"+
				"<a class=benMenuSelectionLink href=/crap/youtube><div class=benMenuSelection name=youtube>YouTube</div></a>"+
				"<a class=benMenuSelectionLink href=/crap/facebook><div class=benMenuSelection name=facebook>Facebook</div></a>"+
				"<a class=benMenuSelectionLink href=/crap/twitter><div class=benMenuSelection name=twitter>Twitter</div></a>"+
				"<a class=benMenuSelectionLink href=/crap/myspace><div class=benMenuSelection name=myspace>Myspace</div></a>";
				break;
				
				case 'contact':
				containerText = 'Contact the "Real Ben"';
				selectionPosition = 355;
				selections = "";
				break;
				
				case 'settings':
				containerText = 'The obligatory settings section';
				selectionPosition = 355;
				selections = "";
				break;
			}
			
			return {
				'containerText' : containerText,
				'selectionPosition' : selectionPosition,
				'selections' : selections
			}
		},
		
		mouseOut : function(id){
			
		},
		
		mouseDown: function(id){
			
		}
		
		
	}
}

function benMenuInteract(){
	
	/*
	 * mouseover functions
	 */
	
	var menuSelectionTimeOut;
	
	var menuTimeOut;
	
	/*
	 * Home Icon
	 */
	
	$('#beneverywhereMouseOver').mouseover(function(){
		
		menuTimeOut = setTimeout(
		"$('#benMenuUpperTextContainer').text('Beneverywhere');"
		, 300);
		//Could turn this into a class like the others for fun
		
	});
	
	$('#beneverywhereMouseOver').mouseout(function(){
		clearTimeout(menuTimeOut);
	});
	
	/*
	 * About
	 */
	
	$('.benMenuSections').mouseover(function(){

		if (menuSelectionTimeOut != null) {
			clearTimeout(menuSelectionTimeOut);
		}
			var id = $(this).attr('name');
			
			text = benMenu.mouseOver(id).containerText;
			position = benMenu.mouseOver(id).selectionPosition;
			selections = benMenu.mouseOver(id).selections;
			
			menuTimeOut = setTimeout("$('#benMenuUpperTextContainer').text(text);"+
			"if ($('#benMenuSelectionContainer').length){$('#benMenuSelectionContainer').remove()}"+
			"$('#benMenuLowerContainer').append('<div id=benMenuSelectionContainer>');" +
			"$('#benMenuSelectionContainer').css('left', position);"+
			"$('#benMenuSelectionContainer').html(selections);"+
			"benMenuSelectionInteract();", 300);

	});
	
	$('.benMenuSections').mouseout(function(){
	
		clearTimeout(menuTimeOut);
		
		menuSelectionTimeOut = setTimeout("$('#benMenuSelectionContainer').remove();", 800);
		
		$('#benMenuSelectionContainer').mouseover(function(){
			if (menuSelectionTimeOut != null) {
				clearTimeout(menuSelectionTimeOut);
			}
		});
		
		$('#benMenuSelectionContainer').mouseout(function(){
			clearTimeout(menuTimeOut);
			
			menuSelectionTimeOut = setTimeout("$('#benMenuSelectionContainer').remove();", 800);
		});
	});
	
	/*
	 * mousedown functions
	 */
	
	$('#benMenuMin').mousedown(function(){
		$('#benMenuContainer').css({
			'top': -133,
			'left': 164
		});
		
		$('#mainMenuTabToggle').text('+');
		$('#mainMenuTabToggle').css('top', -7);
		$('#mainMenuTabToggle').attr('name', 'exp');
		Cookies.positionToCookie('mainMenuPosition', 164, -133);
		$('#benMenuImage').unbind('mousedown');
	});
}

function benMenuSelectionInteract(){
	
	//Integration with mozilla browser
	
	$('.benMenuSelection').mouseover(function(){		
		var name = $(this).attr('name');
		
		$('.benMenuSelection[name='+name+']').css({
			'color' : '#ffffff',
			'text-shadow' : '0 0 5px black',
			'background-color' : '#dddddd'
		});
	});
	$('.benMenuSelection').mouseout(function(){
		var name = $(this).attr('name');
		
		$('.benMenuSelection[name='+name+']').css({
			'color' : '#1f1f1f',
			'text-shadow' : '0 1px 0px #e0e0e0',
			'background-color' : '#c3c3c3'
		});
	});
	
	//Integration with mozilla browser
	
}

/*
 * menuMove
 */

function mainMenuMove(){
	
	var x;
	var y;
	
	
	$("#benMenuImage").mousedown(function(e){
		
		/*if (Cookies.get('mainMenuPosition')){
			var positionX = Cookies.cookieToPosition('mainMenuPosition').x;
			var positionY = Cookies.cookieToPosition('mainMenuPosition').y;
		}
		else{
			var positionX = 164;
			var positionY = 0;
		}*/
		
		var removePx = /px/g;
		var positionX = $('#benMenuContainer').css('left');
		positionX = parseFloat(positionX.replace(removePx, ''));
		var positionY = $('#benMenuContainer').css('top');
		positionY = parseFloat(positionY.replace(removePx, ''));
		
		
		
		//alert('x: '+positionX + ' y: ' + positionY);
		
		if (positionY != -133 || positionX != 164) {
			
			x = $('#benMenuContainer').css('left');//Cookies.cookieToPosition('mainMenuPosition').x;
			x = parseFloat(x.replace(removePx, ''));
			y = $('#benMenuContainer').css('top');//Cookies.cookieToPosition('mainMenuPosition').y;
			y = parseFloat(y.replace(removePx, ''));
			
			x1 = e.clientX;
			y1 = e.clientY;
			
			$(window).mousemove(function(e){
				
				if (x1 != 0 || y1 != 0) {
				
					dx = e.clientX - x1;
					dy = e.clientY - y1;
					
					x = x + dx;
					y = y + dy;
					
					$("#benMenuContainer").css({
						'left': x,
						'top': y
					});
				}
				
				x1 = e.clientX;
				y1 = e.clientY;
			});
		}
	});
	
	$("#benMenuImage").mouseup(function(){
		Cookies.positionToCookie('mainMenuPosition', x, y);
		$(window).unbind('mousemove');
	});
	
}