$(document).ready(function() {
	$('#content').css('padding-left', $('#header .navigation').width()+'px');
	
    if ($('#wrapper').hasClass('project-view')) {
        var $project = $('#project-content');

        var initialized = false;
        $.history.init(function(hash) {
            var image = 0;
            var matches = hash.match(/image-(\d+)/);
            if (matches)
                image = parseInt(matches[1])-1;
            $('.project-image', $project).hide();
            $('.project-image:eq('+image+')', $project).show();
        });
    }
    
    $('#collage').mousedown(function(e) {
        var x = e.clientX, y = e.clientY;
        if (e.which == 1) {
            $(this).disableSelection();
            $(document).disableSelection().mousemove(function(e) {
                var scrollX = $(document).scrollLeft();
                var scrollY = $(document).scrollTop();
                scrollX -= e.clientX-x;
                scrollY -= e.clientY-y;
                $(document).scrollLeft(scrollX);
                $(document).scrollTop(scrollY);
                x = e.clientX;
                y = e.clientY;
            }).mouseup(function(e) {
                $(document).unbind('mouseup').unbind('mousemove').enableSelection();
                $('#collage').enableSelection();
            });
        }
    });
    
    $('.collage-image').hover(function() {
        $(this).find('.text-link').hide();
    }, function() {
        $(this).find('.text-link').show();        
    });
    
    $('h1, h2, h3, p, img, span, a').mousedown(function(e) {
        e.stopPropagation();
    });

    $('span.email').text(rot13($('span.email').text()));
    
    var position = readCookie('collage_position');
    if (position) {
        position = position.split(',');
        $(document).scrollLeft(position[0]);
        $(document).scrollTop(position[1]);
        var paddingLeft = parseInt($('#wrapper').css('padding-left').replace(/\D/g, ''));
        var top = parseInt($('#wrapper').css('top').replace(/\D/g, ''));
        $('#wrapper').css('padding-left', (parseInt(position[0])+paddingLeft)+'px');
        $('#wrapper').css('top', (parseInt(position[1])+top)+'px');
    }
    
    window.onbeforeunload = function() {
        var position = [$(document).scrollLeft(), $(document).scrollTop()];
        createCookie('collage_position', position.join(','), 10);
    };
});

function rot13(str) {
	return str.replace(/[a-zA-Z]/g, function(c){
		return String.fromCharCode((c <= "Z" ? 90 : 122) >= (c = c.charCodeAt(0) + 13) ? c : c - 26);
	});
}

function createCookie(name,value,secs) {
	if (secs) {
		var date = new Date();
		date.setTime(date.getTime()+(secs*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
