jQuery(function(){

	var $ = jQuery;

	var eecoder = {
	
		segment : function(url) {
			var hash = url.split('/');
			hash = hash[hash.length-2];
			return(hash.replace(/^.*#/, ''));
		},
	
		overlays : function() {
			$(".close").live("click",function(){
				eecoder.hide_overlays();
				return false;
			});
			
			$(document).keyup(function(event){
				if (event.keyCode == 27) {
					eecoder.hide_overlays();
				}
			});
			
			$(".prev").live("click", function(){
				var url = $(this).attr("href");

				$.historyLoad(eecoder.segment(url), false);
			
				$.ajax({
					type: "GET",
					url: url,
					success: function(content){
						eecoder.hide_overlays();
						$("#item").hide("slide", { direction: "right" } , "slow", function(){
							$(content).css("display","none");
							$(this).empty().append(content).show("slide", { direction: "left" } ,"slow", function(){Cufon.refresh('h3');});
							$(".next").attr("href", $("#nextEntry").attr("href"));
							$(".prev").attr("href", $("#prevEntry").attr("href"));
						});
					}
				});
				return false;
			});
			
			$(".next, #work-thumbs li a").live("click", function(){
				var url = $(this).attr("href");

				$.historyLoad(eecoder.segment(url), false);
				
				$.ajax({
					type: "GET",
					url: url,
					success: function(content){
						eecoder.hide_overlays();
						$("#item").hide("slide", { direction: "left" }, "slow", function(){
							$(content).css("display","none");
							$(this).empty().append(content).show("slide", { direction: "right" } ,"slow", function(){Cufon.refresh('h3');});
							$(".next").attr("href", $("#nextEntry").attr("href"));
							$(".prev").attr("href", $("#prevEntry").attr("href"));
						});
					}
				});
				return false;
			});
			
			$(".prev-thumbs, .next-thumbs").live("click", function(){
				$.ajax({
					type: "GET",
					url: $(this).attr("href"),
					success: function(content){
						$("#work-thumbs-wrapper").replaceWith(content);
						$.preload( '#work-thumbs img', {
							placeholder:'/assets/images/preload-thumb.gif'
						});
					}
				});
				return false;
			});
			
			$("a.thumbs").click(function(){
				$.ajax({
					type: "GET",
					url: "/popups/grid/",
					success: function(content){
						$(content).appendTo("body");
						//$("#overlayWrapper").fadeIn("slow");
						$("#overlay").fadeIn("slow");
						$("#work-thumbs").fadeIn("slow");
						$.preload( '#work-thumbs img', {
							placeholder:'/assets/images/preload-thumb.gif'
						});
						$.scrollTo(0, 400);		
					}
				});
				return false;
			});

		},
		
		hide_overlays : function() {
			try{
				$("#overlay").fadeOut("slow", function(){
					$(this).remove();
				});

				$("div.hover").fadeOut("slow", function(){
					$(this).remove();
				});
			}catch(e){}
		},
		
		forms : function(){
			$("form#frm").submit(function(){
				var data = $(this).serialize();
				var url  = $(this).attr("action");
				$.ajax({
					type: "POST",
					url: url,
					data: data,
					success: function(content){
						if (content == "success"){
							$.ajax({
								type: "GET",
								url: "/popups/thanks/",
								success: function(content){
									$(content).appendTo("body");
									$("#overlay").fadeIn("slow");
									$("#thanks").fadeIn("slow");
									$.scrollTo(0, 400);		
								}
							});
						}
					}
				});
				
				return false;
			});		
		},
		
		load : function(hash, run) {
			
			//var run = (run == false) ? run : true;
			
			if (hash && run !== false)
			{
				$.ajax({
					type: "GET",
					url: "/work/item/" + hash + "/",
					success: function(content){
						eecoder.hide_overlays();
						$("#item").hide("slide", { direction: "left" }, "slow", function(){
							$(content).css("display","none");
							$(this).empty().append(content).show("slide", { direction: "right" } ,"slow", function(){Cufon.refresh('h3');});
							$(".next").attr("href", $("#nextEntry").attr("href"));
							$(".prev").attr("href", $("#prevEntry").attr("href"));
						});
					}
				});
				return false;
			}else{}
			
			return false;
			
		},
		
		init : function() {
			Cufon
				.replace('h2', {fontFamily: "Avenir"})
				.replace('h3', {fontFamily: "Avenir"})
				.replace('#mainNavigation li a', {fontFamily: "Avenir"})
				.replace('#successStories span', {fontFamily: "Georgia"});
				
			eecoder.overlays();
			
			eecoder.forms();
						
			$.historyInit(eecoder.load);
			
			if ($('#imagePreloading a').length > 0)
			{
				$('#imagePreloading a').preload();
			}
			
			if ($('#overlayWrapper').length > 0)
			{
				$('#overlayWrapper').fadeIn("slow");
			}
			
			$("#backToTop").click(function(){
				$.scrollTo(0, 400);
				return false;
			});
			
			$("#service-list li a").click(function(){
				var rel = $(this).attr("rel");
				$.scrollTo("#"+rel, 400);
				return false;
			});
		}
	};
	
	eecoder.init();

});