$(window).load(function(event) {
    $('#contents').css('height', $('#contents').height());
    $('#sidemenu').css('height', '100%');
    $('#maincontent').css('height', '100%');
    $('.round').corner();
});
$(function(event) {
    $('.largeCall').click(function(event) {
    
        var call = arguments.callee;
        var that = this
        $(that).unbind('click', call);
        $(that).click(function(event){event.preventDefault();event.stopPropagation();});
        $(that).css({visibility: 'hidden'});
        event.preventDefault();
        event.stopPropagation();
        var largeImg = $('<img>').addClass('largeImg').attr({src: $(this).attr('href')}).css({
            position: 'absolute',
            top: 0,
            left: 0,
            visibility: 'hidden'
        }).appendTo($(document.body));

        var f = function() {
            var width = largeImg.outerWidth();
            var height = largeImg.outerHeight();
            largeImg.shadow(
                width,
                height,
                largeImg.position().top,
                largeImg.position().left,
                -8,
                'img/'
            );
            var lastLeft = ($(window).width() - width) / 2 + $(window).scrollLeft();
            var lastTop = ($(window).height() - height) / 2 + $(window).scrollTop();
            var top = -height + $(window).scrollTop();
            largeImg.css({visibility: 'visible'});
            largeImg.parent().css({
                top: top,
                left: lastLeft
            });
            
            var vy = 10;
            var gravitation = 5;
            var bounce = -0.55;
            var prevTop;
            var counter = 0;

            var timeId = setInterval(function() {
                prevTop = top;
                vy += gravitation;
                top += vy;
                if (top > lastTop) {
                    top = lastTop;
                    vy *= bounce;
                }
                largeImg.parent().css({top: top});
                if (prevTop == top) counter++;
                else counter = 0;
                if (counter > 10) {
                    clearInterval(timeId);
                    drag(largeImg, largeImg.parent());
                    largeImg.parent().append($('<img>').attr('src','img/closeButton.gif')
                        .css({
                            position: 'absolute',
                            cursor: 'pointer'
                        }).click(function(event) {
                            largeImg.parent().remove();
                            $(that).bind('click', call);
                            $(that).css({visibility: 'visible'});
                        }));
                }
            }, 15);
        };
        
        if (largeImg[0].complete) f();
        else largeImg.load(function(event) {f();});
    });
});
function drag(elem, tElem) {
    elem.mousedown(function(event) {
        event.preventDefault();
        event.stopPropagation();
        $(tElem).parent().append($(tElem));
        var dx = parseInt(tElem.css('left')) - event.pageX;
        var dy = parseInt(tElem.css('top')) - event.pageY;
        $(document).mousemove(function(event) {
            event.preventDefault();
            event.stopPropagation();
            tElem.css({
                left: (event.pageX + dx),
                top: (event.pageY + dy)
            });
        });
        $(document).mouseup(function(event) {
            $(document).unbind('mousemove');
        })
    });
}
