	var ATHENA = {};
	
	ATHENA.easterEgg = '';
	
	ATHENA.palette = {
		'cerulean':{'r':0,'g':172,'b':237},
		'blue':{'r':0,'g':65,'b':255},
		'cyan':{'r':0,'g':255,'b':255},
		'violet':{'r':93,'g':65,'b':255},
		//'navy':{'r':25,'g':3,'b':105},
		'lilac':{'r':204,'g':204,'b':255}
	};
	
	ATHENA.colors = (function () {
		var p = ATHENA.palette,
			a = [],
			c;
		for (c in p) {
			a.push(c);
		}
		return a;
	})();
	ATHENA.color1 = ATHENA.palette[ATHENA.colors[Math.floor(Math.random()*ATHENA.colors.length)]];
	ATHENA.color2 = ATHENA.palette[ATHENA.colors[Math.floor(Math.random()*ATHENA.colors.length)]];
	ATHENA.opacity = .5;
	
	ATHENA.memo = {
		x: $(window).width() / 2,
		y: $(window).height() / 2,
		freshX: null,
		freshY: null
	};
	
	ATHENA.containerId = 'brandgraph';
	ATHENA.init = function (id) {
		var canvas = document.getElementById(id || ATHENA.containerId);
		if (canvas.getContext) {
			canvas.width = 1150,//$(window).width();
			canvas.height = 1150,//$(window).height();
			ATHENA.ctx = canvas.getContext('2d');
		}
	};
	ATHENA.curve = function (coords, stroke) {
		return {
			fill: '',
			stroke: stroke || 'rgba(192, 186, 194, 1)',
			coords: coords || [],
			draw: function () {
				if (!ATHENA.ctx) {
					ATHENA.init();
				}
				var ctx = ATHENA.ctx,
					i,
					c = this.coords,
					l = c.length,
					p = c;
				ctx.strokeStyle = this.stroke;
				ctx.lineCap = 'round';
				/*
				var lingrad =  ctx.createLinearGradient(0,0,1150,0);
				lingrad.addColorStop(.125, '#0D0633');  
  				lingrad.addColorStop(0.5, this.stroke);
  				lingrad.addColorStop(.875, '#0D0633');
  				ctx.strokeStyle = lingrad;
  				*/
				var h = (p[0].y/2)+(p[2].y/2)-p[1].y,
					w = p[2].x-p[0].x,
					r = h/w;
				for (var j = 0; j < 3; j++) {
					if (j < 2) {
						ctx.globalAlpha = .125 * ATHENA.opacity;
						ctx.lineWidth = 5;
					} else {
						ctx.globalAlpha = 1 * ATHENA.opacity;
						ctx.lineWidth = .5;
					}
					ctx.beginPath();
					ctx.moveTo(p[0].x, /*$(window).height() - */p[0].y);
					ctx.bezierCurveTo(
						(p[0].x+p[1].x)/2, /*$(window).height() - */p[0].y,
						p[1].x-(p[2].x*(1-(r/1.5))-p[0].x*(1+(r/1.5)))/4, /*$(window).height() - */p[1].y,
						p[1].x, /*$(window).height() - */p[1].y
					);
					ctx.bezierCurveTo(
						p[1].x+(p[2].x*(1-(r/1.5))-p[0].x*(1+(r/1.5)))/4, /*$(window).height() - */p[1].y,
						(p[2].x+p[1].x)/2, /*$(window).height() - */p[2].y,
						p[2].x, /*$(window).height() - */p[2].y
					);
					ctx.stroke();
				}
			}	
		};
	};
	ATHENA.step = function (v1, v2, pos, tot) {
		return v1 + Math.floor((v2 - v1) * (pos / (tot - 1)));
	};
	ATHENA.blend = function (p1, p2) {
		if (ATHENA.easterEgg != 'owl') ATHENA.ctx.clearRect(0, 0, 1150, 1150);
		var X0, Y0, X1, Y1, X2, Y2,
			R, G, B,
			i, l = 15;
		for (i = 0; i < l; i++) {
			X0 = ATHENA.step(p1[0].x, p2[0].x, i, l);
			Y0 = ATHENA.step(p1[0].y, p2[0].y, i, l);
			X1 = ATHENA.step(p1[1].x, p2[1].x, i, l);
			Y1 = ATHENA.step(p1[1].y, p2[1].y, i, l);
			X2 = ATHENA.step(p1[2].x, p2[2].x, i, l);
			Y2 = ATHENA.step(p1[2].y, p2[2].y, i, l);
			R = ATHENA.step(ATHENA.color1.r, ATHENA.color2.r, i, l);
			G = ATHENA.step(ATHENA.color1.g, ATHENA.color2.g, i, l);
			B = ATHENA.step(ATHENA.color1.b, ATHENA.color2.b, i, l);
			ATHENA.curve([{x:X0,y:Y0},{x:X1,y:Y1},{x:X2,y:Y2}], 'rgba('+R+','+G+','+B+',1)').draw();
		}
	};
		
	(function () {
	
		var trend = function (x, y) {
			var X = ATHENA.memo.x,
				Y = ATHENA.memo.y;
			ATHENA.memo.freshX = x;
			ATHENA.memo.freshY = y;
			ATHENA.memo.x = (14*X + x) / 15;
			ATHENA.memo.y = (14*Y + y) / 15;
		};
	
		 var fire = window.setInterval(function () {
			if (document.getElementById('snav')) {
				ATHENA.memo.x = $(window).width() * .67;
				ATHENA.memo.y = $(window).height() * .67;
			}
			trend(ATHENA.memo.freshX, ATHENA.memo.freshY);
			ATHENA.blend([{x:0,y:580},{x:ATHENA.memo.x - 150 - ($(document).width() - 950) / 2,y:ATHENA.memo.y + 15},{x:1150,y:580}],[{x:0,y:810},{x:ATHENA.memo.x + 150  - ($(document).width() - 950) / 2,y:ATHENA.memo.y - 435},{x:1150,y:795}]);
		}, 35);
		
		var incrementer = 0,
			interact = function (e) {
			incrementer++;
			var xVal, yVal;
			if (incrementer%1 == 0) {
				xVal = ($(window).width() / 2 + e.clientX) / 2,
				yVal = ($(window).height() / 2 + e.clientY) / 2;
				trend(xVal, yVal);
			}
		};
		
		var letsgo = function () {
		
			if (!$(document.body).hasClass('mac') || !$(document.body).hasClass('safari')) {
				window.clearInterval(fire);
			}
		
			$(document).keypress(function(e){
				if (e.which >= 97 && e.which <= 122) {
					ATHENA.easterEgg += String.fromCharCode(e.which);
				}
			});
		
			for (var c in ATHENA.palette) {
				if (ATHENA.palette[c] == ATHENA.color1) {
					$(document.body).addClass(c);
				}
			}
		
			ATHENA.memo.freshX = $(document).width()/2;
			ATHENA.memo.freshY = $(document).height()/2;
			
			$('.current_page_item').closest('ul').closest('li').addClass('current_page_parent');
			
			if (!$(document.body).hasClass('ie7') && !$(document.body).hasClass('ie8')) {
				$('#container').prepend('<img id="lt-grad" src="http://www.athenacr.com/wordpress/wp-content/themes/os_athena/style/images/leftgrad.png" /><img id="rt-grad" src="http://www.athenacr.com/wordpress/wp-content/themes/os_athena/style/images/rightgrad.png" /><img id="tp-grad" src="http://www.athenacr.com/wordpress/wp-content/themes/os_athena/style/images/topgrad.png" /><img id="bm-grad" src="http://www.athenacr.com/wordpress/wp-content/themes/os_athena/style/images/bottomgrad.png" />');
				$('#container').prepend('<canvas id="brandgraph"></canvas>');
				$(document.body).css({'backgroundImage': 'none'});
				$(document.body).bind('mousemove', interact);		
				ATHENA.init();
				if (!$(document.body).hasClass('slug-home') && !document.getElementById('snav')) {	
					ATHENA.ctx.translate(0,1150);
					ATHENA.ctx.rotate(-Math.PI/2);
					ATHENA.opacity = .375;
				}
				ATHENA.blend([{x:0,y:580},{x:363,y:505},{x:1150,y:580}],[{x:0,y:810},{x:675,y:55},{x:1150,y:795}]);
			}
		};
		
		$(document).bind('ready', letsgo);
		
	})();
