function getViewportDimensions() {
	var viewportwidth;
	var viewportheight;
	if (typeof window.innerWidth != 'undefined') {
		viewportwidth = window.innerWidth,
		viewportheight = window.innerHeight
	} else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
		viewportwidth = document.documentElement.clientWidth,
		viewportheight = document.documentElement.clientHeight
	} else {
		viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
		viewportheight = document.getElementsByTagName('body')[0].clientHeight
	}
	return {"width":viewportwidth,"height":viewportheight};
}
function onWindowResize() {
	viewportDimensions = getViewportDimensions();
	if ($("#inlineSlideshow").length > 0)
		$("#inlineSlideshow").height(viewportDimensions.height-$("#inlineSlideshow").position().top-50);
}
function startScrolling() {
	if (animationInProgress) return;
	var currentScroll = $(window).scrollLeft();
	var targetScroll;
	function onStep(i) {
		var leftScroll = currentScroll+(targetScroll-currentScroll)*i;
		$(window).scrollLeft(leftScroll);
	}
	function resetIteration() {
		$("body").animate({"i":0},{"duration":1,"complete":function(){animationInProgress = false}});
		$(window).scrollLeft(targetScroll);
	}
	if ($(this).position().left+$(this).width()+50 >= viewportDimensions.width+$(window).scrollLeft()) {
		targetScroll = ($(this).position().left+$(this).width())-viewportDimensions.width+50;
	} else if ($(this).position().left-50 <= $(window).scrollLeft()) {
		targetScroll = $(this).position().left-50;
	} else {
		return;
	}
	animationInProgress = true;
	$("body").animate({"i":1},{"step":onStep,"complete":resetIteration,"duration":"fast"});
}
function onReady() {
	$("#typekit-badge-pvx3lis").remove();
	onWindowResize();
	$(window).resize(onWindowResize);
	//$("div.images a.imageLink").mousemove(startScrolling);
	$("div.images a.imageLink").click(openImage);
	$("#closeViewer").live("click",closeImage);
	$("body").mousemove(onMouseMove);
}
function onMouseMove(e) {
	if ($(e.target).parents().andSelf().filter("a.imageLink").length > 0) {
		startScrolling.call($(e.target).parents().andSelf().filter("a.imageLink").get(0));
	}
}
function closeImage() {
	$("#viewer").remove();
	$("#viewerBackground").remove();
	$(document).unbind("click",closeImage);
	$(window).unbind("resize",onViewerResize);
	if ($.support.opacity) {
		$("div.images").fadeTo("fast",1);
	}
	return false;
}
function onViewerResize() {
	viewportDimensions = getViewportDimensions();
	resizeViewer();
}
function resizeViewer() {	
	if (viewportDimensions.width > viewportDimensions.height) {
		$("#viewer").width(viewportDimensions.height-margin*2).height(viewportDimensions.height-margin*2);
		$("#viewer").css("left",(viewportDimensions.width/2-viewportDimensions.height/2)+"px").css("top","0px");
	} else {
		$("#viewer").width(viewportDimensions.width-margin*2).height(viewportDimensions.width-margin*2);
		$("#viewer").css("top",(viewportDimensions.height/2-viewportDimensions.width/2)+"px").css("left","0px");
	}
	$("#slideshow").width("").height("");
	$("#slideshow").width($("#viewer").width()).height($("#viewer").height()-30);
}
function openImage() {
	$(document).click(closeImage);
	$(window).resize(onViewerResize);
	var url = $(this).attr("href");
	$("#viewer").remove();
	$("#viewerBackground").remove();
	$("body").append('<div id="viewer"><a href="/" id="closeViewer" title="Close image"><img src="images/close_button.gif" alt="&times;" /></a><iframe scrolling="no" frameborder="0" id="slideshow" src="'+url+'"></iframe></div>');
	if ($.support.opacity) {
		$("div.images").fadeTo("fast",0.5);
	}
	resizeViewer();
	return false;
}
function onLoad() {
	$("#typekit-badge-pvx3lis").remove();
}
$(document).ready(onReady);
$(window).load(onLoad);
var viewportDimensions;
var startTouchX;
var margin = 20;
var animationInProgress = false;
