$(document).ready(function(){
	
	$('div#toolbar a.close span').hide();
	$('div#server_response').hide();
	$('a.disabled').fadeTo(0,.2);
	
	// Check window hash for valid content and load
	// For bookmarks/direct links
	var hash = window.location.hash.substr(1);
	var href = $('div#dashboard a').each(function(){
		var href = $(this).attr('href');
		if( hash == href.substr(30,$(this).attr('href').lastIndexOf('.')-30) )
		{
			loadPage(hash);
		}
	});
	
	// Hook dashboard anchor hover
	$('div#dashboard a:not(.disabled)').hover(
		function(){
			$('span',this).fadeIn(200);
		},
		function(){
			$('span',this).fadeOut(200);
		}
	);
	
	// Hook dashboard anchor click
	$('div#dashboard a:not(.disabled)').click(function(){
		var page = $(this).attr('id');
		window.location.hash = $(this).attr('href').substr(30,$(this).attr('href').lastIndexOf('.')-30);
		loadPage(page);
		
		return false;
	});
	
	// Hook close button hover
	$('div#toolbar a.close').hover(
		function(){
			$('span',this).fadeIn();
		},
		function(){
			$('span',this).fadeOut();
		}
	);
	
	// Hook close button click
	$('a.close').click(function(){
		$('div#logo').slideUp();
		$('div#page').fadeOut(function()
			{
				$('div#toolbar a#close span').hide();
				$('div#dashboard').fadeIn();
			}
		);
		
		window.location.hash = '';
		return false;
	});
	
	// Hook contact button click'
	$('input#contact_submit').live('click',function(){
		sendMessage();
		return false;
	});
	
	// Hook project link click
	$('a.project').live('click',function(){
		var name = $(this).attr('rel');
		$('div#project_'+name).fadeToggle();
		return false;
	});
	
	// Hook page link click
	$('a.page').live('click',function(){
		var page = $(this).attr('rel');
		loadPage(page);
		return false;
	});
	
});

// Handles all animation
function loadPage(page)
{
	$('div#loading').slideDown();
	$('div#dashboard').fadeOut(function()
		{
			$('a span',this).hide();
			$('div#page_c').load('http://www.phreakyourgeek.com/'+page+'.html #content',function()
				{
					$('div#page').fadeIn();
					$('div#loading').slideUp(function()
						{
							$('div#logo').slideDown();
						}
					);
				}
			);
		}
	);
}

// Submits contact form
function sendMessage()
{
	var name = $('input#name').val();
	var email = $('input#email').val();
	var subject = $('input#subject').val();
	var message = $('textarea#message').val();
	
	var string = 't=contact&name='+name+'&email='+email+'&subject='+subject+'&message='+message;
	
	$.ajax({
		type: 'POST',
		url: 'http://www.phreakyourgeek.com/contact.php',
		data: string,
		dataType: 'xml',
		success: function(xml)
			{
				$(xml).find('message').each(function(){
					var type = $(this).attr('type');
					var text = $(this).text();
					$('div#server_response').html('<div class="'+type+'>'+text+'</div>').show(1000);
					if( type == 'success' )
					{
						document.forms['contact'].reset();
					}
					setTimeout("$('div#server_response').hide(1000)",5000);
				});
			},
		error: function(XMLHttpRequest, textStatus, errorThrown)
			{
				alert(textStatus+' '+errorThrown);
			}
	});
}

// Custom animation for projects
jQuery.fn.fadeToggle = function(speed, easing, callback)
{
	return this.animate({opacity: 'toggle'}, speed, easing, callback);
};