$(function() {	
	/* Text replacement */
	Cufon.replace('h1', {
		textShadow: '#fff 1px 1px',
		hover: true
	});
	Cufon.replace('#secondaryContent h2', {
		textShadow: '#fff 1px 1px'
	});
	
	
	/* URL details */
	var urlPath = window.location.pathname.split( '/' );
	

	/* Rocket Bits and Bobs */
	var rocket = $('#rocket');
	var rocketShadow = $('#rocketShadow');
	var rocketCanvas = $('#rocketCanvas');
	var rocketShadowCanvas = $('#rocketShadowCanvas');
	var rocketHandle = $('#rocketHandle');
	var rocketSrc = rocket.attr('src');
	var rocketShadowSrc = rocketShadow.attr('src');
	
	rocketCanvas.html('');
	rocketShadowCanvas.html('');
	
	var raphRocket = Raphael('rocketCanvas', 70, 70);
	var raphRocketShadow = Raphael('rocketShadowCanvas', 60, 16);
	var rocketImg = raphRocket.image(rocketSrc, 10, 5, 50, 59);
	var rocketShadowImg = raphRocketShadow.image(rocketShadowSrc, 0, 0, 60, 16);
	raphRocket.safari();
	raphRocketShadow.safari();


	/* Planet bits and bobs */
	var planet = $('#planet');
	var planetCanvas = $('#planetCanvas');
	var planetSrc = planet.attr('src');
	planetCanvas.html('');
	var raphPlanet = Raphael('planetCanvas', 1500, 1500);
	var planetImg = raphPlanet.image(planetSrc, -260, 150, 1500, 1500);
	raphPlanet.safari();	
	
	var planetFore = $('#planetFore');
	var	planetForeCanvas = $('#planetForeCanvas');
	var planetForeSrc = planetFore.attr('src');	
	planetForeCanvas.html('');
	var raphPlanetFore = Raphael('planetForeCanvas', 1500, 1500);
	var planetForeImg = raphPlanetFore.image(planetForeSrc, -260, 150, 1500, 1500);
	raphPlanetFore.safari();
	
	
	/* Planet rotation */
	var angleToFly = 0;

	if (urlPath[1] != '' && urlPath[1] == 'blog') {
		if (urlPath[1] == 'blog') {
			angleToFly = -180;
		} else if (urlPath[1] == 'lab') {
			//angleToFly == -90;
		} else if (urlPath[1] == 'about') {
			//angleToFly = -270;
		}
		
		rocketShadowImg.animate({scale: 0.1, opacity: 0}, 2000, '<>');
		rocketHandle.animate({top: 150}, 2000, 'easeInOutExpo', function() {
			rocketImg.animate({rotation: 90}, 500, '<>');	
			//angleToFly = angleToFly + Math.floor(Math.random()*360)-360;
			
			planetForeImg.animate({rotation: angleToFly}, 3500, '<>');
			planetImg.animate({rotation: angleToFly}, 3500, '<>', function() {
				rocketImg.animate({rotation: 0}, 500, '<>', function() {
					rocketHandle.animate({top: 220}, 2000, 'easeInOutExpo');
					rocketShadowImg.animate({scale: 1, opacity: 1}, 2000, '<>');
				});
			});
			raphPlanet.safari();
		});
	}
	
	/* Basic syntax highlighting */
	$('pre code').each(function() {
		var code = $(this);
		var codeWidthReal = code.css({display: 'inline-block'}).width();
		var codeWidthStyle = code.css({display: 'block'}).width();	
		var codeString = code.html();
		
		if (codeWidthReal > codeWidthStyle) {
			code.before('<span class="codeMask"></span>');
			code.mouseenter(function(e) {
				$(this).parent().find('.codeMask').fadeOut();
				$(this).addClass('active').stop().animate({
					width: codeWidthReal
				}, 'fast');
			});
			
			code.mouseleave(function(e) {
				$(this).parent().find('.codeMask').fadeIn();
				$(this).removeClass('active').stop().animate({
					width: codeWidthStyle
				}, 'fast');
			});
		}
		
		code.html(codeString.replace(/(\/\*(.)+\*\/)/g, '<span class="comment">$1</span>'));
	});
});