if(window.location.pathname != '/')
	window.location = '/#' + window.location.pathname.substring(1);
	
$(document).ready(function() {
	// Restrict top/left to the document area
	function clamp(o) {
		var w = $(window);
		return {
			left: Math.max(w.width() - 7400, Math.min(0, o.left)),
			top: Math.max(w.height() - 4300, Math.min(0, o.top))
		};
	}

	/*$(window).resize(function(e) {
		$('body').toggleClass('lte1024', $(window).width() <= 1175);
	}).resize();*/

	// Load a page
	function load(url) {
		var p = pages[url];
		p.loaded = true;
		return $('<div class="page" id="'+p.id+'">Loading page...</div>')
			.appendTo('#container')
			.css({position: 'absolute', left: p.left+'px', top: p.top+'px'})
			.load(url + ' .page > *', function() {
				if(url == "nyheter/") {
					$("div#canvas-news-slider", this).newsSlideView();
					var base = this;
					setTimeout(function() {
						$(base).css({display: 'none'});
						$(base).css({display: 'block'});
					}, 100);
				}
				else if(url == "case/")
					$("div#canvas-projects-slider", this).projectSlideView();
				else if(url == "vi/")
					$("div#employees-slider", this).employeeSlideView();
				else if(url == "kontakt/"){
					$("span#f-thanks", this).hide();
					$("form#kontact-form", this).submit(function(e) {
						$.ajax({
							type: "POST",
							url: "ajax/kontakta-mail/",
							data: {
								namn:$('#f-namn').attr('value'),
								email:$('#f-email').attr('value'),
								telephone:$('#f-telephone').attr('value'),
								message:$('#f-message').attr('value')
							},
							success: function(){
								//$("span#f-thanks").show(500).delay(10000).hide(500);
								$("span#f-thanks").fadeIn(500).delay(10000).fadeOut(500);
								$('#f-namn').val('');
								$('#f-email').val('');
								$('#f-telephone').val('');
								$('#f-message').val('');
							}
						});
					e.preventDefault();
					//return false;
					});
				}
			});
	}
	
	// Navigate to a page
	function navigate(url) {
		if(url == "")
			url = "/";
		if(pages[url]) {
			var p = pages[url];
			
			// Load page if it's not loaded
			var $el;
			if(p.loaded) {
				$el = $('#'+p.id);
			} else {
				$el = load(url);
			}
			
			// Animate to the page
			var offset = $el.position();
			$('#container').animate(clamp({
				left: -offset.left + Math.max(210, ($(window).width() - $el.width()) / 2),
				//top: -offset.top + ($(window).height() - $el.height()) / 2
				top: 50-offset.top
			}), {easing: 'easeInOutCubic', duration: 1500});
		}
	}
	
	// Drag container area
	var $el, origin, mstart;
	function md(e) {
		if($(e.target).filter('input,textarea').length == 0) {
			$el = $(this);
			origin = $el.offset();
			mstart = {left: e.pageX, top: e.pageY};
			
			mm(e);
			$(document).mousemove(mm);
			$(document).mouseup(mu);
			
			return false;
		}
	}
	function mm(e) {
		var o = clamp({
			left: origin.left + (e.pageX - mstart.left),
			top: origin.top + (e.pageY - mstart.top)
		});
		$el.offset(o);
		var ww = $(window).width(), wh = $(window).height();
		for(var pp in pages) {
			var p = pages[pp];
			if (!p.loaded && (o.left + p.left - 100) <= ww && (o.left + p.left + 1000) >= 0
				&& (o.top + p.top - 100) <= wh && (o.top + p.top + 800) >= 0) {
				load(pp);
			}
		}
		return false;
	}
	function mu() {
		$(document)
			.unbind('mousemove', mm)
			.unbind('mouseup', mu);
	}
	$('#container').mousedown(md);
	
	var $startPage = $('#page');
	var offset = $startPage.position();
	$('#container').css(clamp({
		left: -offset.left + ($(window).width() - $startPage.width()) / 2,
		//top: -offset.top + ($(window).height() - $el.height()) / 2
		top: 50-offset.top
	}));
	
	// Capture link clicks
	$(document).delegate('a,area', 'click', function() {
		var href = $(this).attr('href');
		if(href.length > 1)
			href = href.replace(/^\/+/, '');
		if(pages[href]) {
			$.history.load(href);
			$(this).blur();
			return false;
		}
	});
	
	$.history.init(navigate);
});
