(function($) {
  var cache = [];
  // Arguments are image paths relative to the current page.
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery)

$(document).ready(function() {
	
	jQuery.preLoadImages("images/bezels/photo.png", "images/bezels/blog.png", "images/bezels/portfolio.png", "images/bezels/projects.png", "images/bezels/about.png", "images/bezels/email.png", "images/bezels/tel.png", "images/bezels/location.png", "images/bezels/vcard.png", "images/bezels/tumblr.png", "images/bezels/twitter.png", "images/bezels/behance.png", "images/bezels/facebook.png", "images/bezels/linkedin.png", "images/bezels/konami.png");
	
	var kkeys = [], konami = "38,38,40,40,37,39,37,39,66,65";
	$(document).keydown(function(e) {
		kkeys.push( e.keyCode );
		if ( kkeys.toString().indexOf( konami ) >= 0 ) {
			$(document).unbind('keydown',arguments.callee);
			$("ul a").hover(function () {}, function () {});
			$("#content").animate({opacity: "0"}, 300, function () {
				$("#content").css("display","none");
			});
			$("#bezels").append("<div id=\"bezel-konami\" style=\"position: absolute; top: 50%; left: 50%; width: 144px; height: 132px; margin: -72px -66px; background: url(images/bezels/konami.png) 0 0 no-repeat; display: none;\"></div>");
			$("#bezel-konami").css({opacity: "0", display: "block"});
			if (fresh) { $("#alt").animate({opacity: "0"}, 300); fresh = false; }
			changing = false;
			$("body").stop().animate({backgroundColor: "#060606"}, 300);
			$("#bezel-konami").stop().animate({opacity: "1"}, 300);
		} 
	});
	
	var changing = true;
	var fresh = true;
	var color = new Array("#a35a28", "#7eb0f2", "#dd383e", "#c0e559", "#51473B", "#937960", "#471045", "#BD2056", "#FF7000", "#FFD300", "#648C02", "#CC5D37", "#696832", "#6DD19D", "#D40049", "#016132", "#5F9A29", "#B4D523");
	var randValue = 0;
	var erel = "";
	var col = "";
	var ocol = "";
	var bo = "";
	randValue = Math.floor(Math.random() * color.length);
	$("body").css({backgroundColor: color[randValue]});
	var bgCol = $("body").css("background-color");
	
	var menuColor = {
	photo: "#2c2c2c",
	blog: "#648C02",
	portfolio: "#67A485",
	about: "#8a2d28",
	projects: "#F28627",
	email: "#D92B2B",
	tel: "#627F59",
	location: "#315B6D",
	vcard: "#BABF30",
	tumblr: "#3C546C",
	twitter: "#6ECDFB",
	behance: "#4EA6E7",
	facebook: "#425F95",
	linkedin: "#3676A3"
	};
	
	$("#page").append("<div id=\"bezels\"></div>");
	for (var i in menuColor) {
		$("#bezels").append("<div id=\"bezel-"+i+"\" class=\"bezel\" style=\"display: none;\"></div>");
	}
	$(".bezel").css({opacity: "0", display: "block"});
	
	function changeColor (fast) {
		var atime = 2900;
		if (fast) atime = 300;
		randValue = Math.floor(Math.random() * color.length);
		if (changing) $("body").stop().animate({backgroundColor: color[randValue]}, atime);
		//if (changing) $("body").stop().animate({backgroundColor: bgCol}, atime);
	}
	
	$("#content").everyTime(3000, function () { changeColor(false); });
	changeColor(false);
	
	$("ul a").hover(
		function () {
			if (fresh) { $("#alt").animate({opacity: "0"}, 300); fresh = false; }
			changing = false;
			erel = $(this).attr("rel");
			col = menuColor[erel];
			ocol = $(this).css("color");
			$("body").stop().animate({backgroundColor: col}, 300);
			$(this).stop().animate({color: col, paddingLeft: "10px"}, 300);
			bo = "#bezel-"+erel;
			$(bo).stop().animate({opacity: "1"}, 300);
		},
		function () {
			changing = true;
			$(bo).stop().animate({opacity: "0"}, 300);
			$(this).stop().animate({color: ocol, paddingLeft: "0px"}, 300);
			changeColor(true);
		}
	);
	
/*
	$("h1, h2").hover(
		function () {
			if (fresh) { $("#alt").animate({opacity: "0"}, 300); fresh = false; }
			changing = false;
			col = menuColor["photo"];
			$("body").stop().animate({backgroundColor: col}, 300);
			bo = "#bezel-photo";
			$(bo).stop().animate({opacity: "1"}, 300);
		},
		function () {
			changing = true;
			$(bo).stop().animate({opacity: "0"}, 300);
			changeColor(true);
		}
	);
*/
	
	//alert("ok");

});
