(function($) {
    $(document).ready(function() {
        $('body').removeClass('nojs');
        // nav hovers
        var overlay = $('.overlay');
        $('.nav li.parent').hover(
            function() {
                $(this).find('.navUl').fadeIn(200);
                if($.browser.msie && $.browser.version <= 8) {
                    if ($.browser.version >= 7) {
                        overlay.show();
                    }
                } else {
                    overlay.stop(true).fadeIn(200);
                }
            },
            function() {
                $(this).find('.navUl').stop(true).removeAttr('style').show().fadeOut(200);
                if($.browser.msie && $.browser.version <= 8) {
                    overlay.hide();
                } else {
                    overlay.stop(true).attr('style', '').show().fadeOut(200);
                }
            }
        );
        // map
        function mapImageDraggable(mapImage) {
            mapImage.draggable('destroy');
            var parentContainer = mapImage.parent();
            var offset = parentContainer.offset();
            var heightSplit = mapImage.height()/2;
            var widthSplit = mapImage.width()/2;
            var widthDiff = mapImage.width() - parentContainer.width();
            var heightDiff = mapImage.height() - parentContainer.height();
            mapImage.draggable({ containment: [offset.left - widthDiff/2, offset.top - heightDiff/2, offset.left + widthDiff/2, offset.top + heightDiff/2] });
            mapImage.trigger('draggable');
        }
        var mapImage = $('.mapImage > img');
        mapImage.mousedown(function(e) {
            e.preventDefault();
        });
        $('.zoomOut').addClass('move');
        $('.zoomIn').parent().click(function() {
            $('.zoomOut').removeClass('move');
            $('.zoomIn').addClass('move');
            mapImage.addClass('big').css(
                {
                    marginTop:  (($(mapImage).parent().height()-$(mapImage).height())/2),
                    marginLeft: (($(mapImage).parent().width()-$(mapImage).width())/2)
                }
            );
            mapImageDraggable(mapImage);
        });
        $('.zoomOut').parent().click(function() {
            $('.zoomOut').addClass('move');
            $('.zoomIn').removeClass('move');
            mapImage.removeAttr('style').removeClass('big').draggable( "destroy" ) ;
        });
        function removeLightBoxImg(newImg) {
            newImg.fadeOut(200, function() {
                $(this).remove();
            })
            overlay.unbind('click').removeAttr('style');
            if($.browser.msie && $.browser.version <= 8) {
                overlay.hide();
            } else {
                overlay.stop(true).attr('style', '').show().fadeOut(200);
            }
        }

        $('a.imageLink').click(function(e) {
            e.preventDefault();
            var a = $(this);
            var wrapper = $('.wrapper');
            var newImg = wrapper.append('<img class="lightboxImage" src="'+a.attr('href')+'"/>').find('.lightboxImage');
            newImg.show().css({
                marginLeft: -1*newImg.width()/2,
                marginTop: -1*newImg.height()/2
            }).hide().fadeIn(200);
            if($.browser.msie && $.browser.version <= 8) {
                overlay.show();
            } else {
                overlay.stop(true).fadeIn(200);
            }
            overlay.css('cursor', 'pointer').click(function() {
                removeLightBoxImg(newImg);
            });
            newImg.css('cursor', 'pointer').click(function() {
                removeLightBoxImg(newImg);
            });
        });

        $('.homepageCarousel').carousel();
        if($.browser.msie && $.browser.version <= 6) {
            DD_belatedPNG.fix('.png-fix');
        }
    });
})(jQuery);
