/**
* @author inapina
*/
if ($.browser.msie) {
	document.createElement("header");
	document.createElement("section");
	document.createElement("nav");
	document.createElement("footer");
}

$(document).ready(function(){
    $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=1&id=50981091@N03&lang=en-us&format=json&jsoncallback=?", 
	function(data){
		var width = 0;
		var imgArray = new Array();
		$.each(data.items, function(i, item){
			var image = item.media.m;
			image = image.substr(0, image.lastIndexOf("_m")) + ".jpg";
			if (image.indexOf("4531638833_537cac09d8") > -1) {
				//spesiell for 0-100-bildet.
				image = image.substr(0, image.indexOf(".jpg")) + "_b.jpg";
			}
			var num = item.description;
			num = num.substr(num.indexOf("</a></p>"));
			num = num.substring(num.indexOf("<p>")+3, num.indexOf("<br"));
			num = parseInt(num);
			imgArray[num] = image + "|" + item.link;
        });
		
		for (var i = 1, len = imgArray.length; i <= len; i++) {
			try {
				var image = imgArray[i].split("|");
				$("<img/>").attr("src", image[0]).appendTo("#images").wrap("<li><a href='" + image[1] + "'></a></li>");
			} catch (e) {
				//we ain't doin' shit!
			}
		}
		
		$("#images img").load(function() {
			//bildene er lastet, vi regner ut bredden på nytt
			width = 10;
			$("#images li").each(function() {
				width += $(this).width();
			});
			$("#images").css("width", width);
		});
		
		width += 400 //legger til paddinga
		var mousedown = false;
		var left = 0;
		var scroller = $("#scroller");
		var images = $("#images");
		var multiplier = 0;
		scroller.mousedown(function(e) {
			mousedown = true;
			multiplier = width / ($("#scrollbar").width());
			left = e.clientX;
			var startingPoint = scroller.offset().left - $("#scrollbar").offset().left;
			$(document).mousemove(function(e) {
				if (mousedown) {
					var moveLeft = e.clientX - left + startingPoint;
					scroller.css("margin-left", moveLeft);
					images.css("margin-left", "-" + moveLeft*multiplier + "px");
				}
				
				if (parseFloat(scroller.css("margin-left")) < 0) {
					scroller.css("margin-left", 0);
					images.css("margin-left", 0);
				}
				if (parseFloat(scroller.css("margin-left")) > $("#scrollbar").width() - 101) {
					scroller.css("margin-left", $("#scrollbar").width() - 101);
					images.css("margin-left", "-" + (width - $("body").width() + 400) + "px");
				}
				return false;
			});
			return false;
		});
			
		$(document).mouseup(function() {
			mousedown = false;
		});
		
		$(document).keydown(function(e) {
			var scrollerLeft = parseFloat(scroller.css("margin-left"));
			var scrollWidth = $("#scrollbar").width() - 100;
			var scrollBy = 20;
			
			//venstre == 37, hoyre == 39
			if (e.keyCode == 37 && scrollerLeft != 0) {
				scroller.animate({ "margin-left" : "-=" + scrollBy + "px" });
				images.animate({ "margin-left" : "+=" + (scrollBy*multiplier) + "px" });
			} else if (e.keyCode == 39 && scrollerLeft != scrollWidth) {
				scroller.animate({ "margin-left" : "+=" + scrollBy + "px" });
				images.animate({ "margin-left" : "-=" + (scrollBy*multiplier) + "px" });
			}
			
			if (scrollerLeft < 0) {
				scroller.stop();
				scroller.css("margin-left", 0);
				images.stop();
				images.css("margin-left", 0);
			}
			
			if (scrollerLeft > scrollWidth) {
				scroller.stop();
				scroller.css("margin-left", scrollWidth);
				images.stop();
				images.css("margin-left", "-" + (width - $("body").width() + 400) + "px");
			}
			
			$(document).keyup(function() {
				scroller.stop();
				images.stop();
			});
		});
    });
	
	$("#aboutme").click(function() {
		if ($("#aboutme-info").css("display") == "block") {
			$("#aboutme-info").fadeOut();
		} else {
			$("#aboutme-info").fadeIn();
		}
	});			
});
