var mwOverlayID = 'page_overlay';
var mwOverlayOpacity = '0.4'; 
var mwTopCorrection = 80;
var mwLeftCorrection = 0;

function mw_init_controls() {

    // All links with rel="modal" show window.
    $('a[rel=modal]').click(mw_show_window);

    // Links inside modal window with rel="close" close window.
    $('.modalWindow a[rel=close]').click(mw_hide_window);
}

function mw_show_window(e) {
    e.preventDefault();

    // Get id of window to show.
    var mwID = $(this).attr('name');

    // Get some dimensions we need
    var winWidth = $(window).width();
    var winHeight = $(window).height();
    var wScrollTop = $(window).scrollTop();
    var wScrollLeft = $(window).scrollLeft();
    var docHeight = $(document).height();

    // Set overlay size and opacity.
    var overlay = $('#' + mwOverlayID);
    overlay.css('width', winWidth);
    overlay.css('height', docHeight);
    overlay.css('opacity', mwOverlayOpacity);

    // Position modal window.
    var mw = $('#' + mwID);
    mwTop = wScrollTop + (winHeight / 2 - mw.height() / 2) - mwTopCorrection;
    mwTop = (mwTop > 0) ? mwTop : 0; // Prevent negative value.
    mwLeft = wScrollLeft + (winWidth / 2 - mw.width() / 2) - mwLeftCorrection;
    mwLeft = (mwLeft > 0) ? mwLeft : 0; // Prevent negative value.
    mw.css('top', mwTop);
    mw.css('left', mwLeft);

    // Show overlay and window.
    overlay.fadeIn(700);
    mw.show();
}

function mw_hide_window(e) {
    e.preventDefault();

    var mwID = $(this).attr('name');
    $('#' + mwID).hide();
    $('#page_overlay').hide();
}

// Add init function.
$(document).ready(mw_init_controls);

