﻿var popupStatus = 0;

$(document).ready(function() {
    PopupTK.init();
});

var PopupTK = {
    init: function() {
        $(".trigger").click(function(e) {
            e.preventDefault();
            PopupTK.showPopup(this);
        });

        $(".disable-popup").click(function(e) {
            e.preventDefault();
            PopupTK.disablePopup();
        });
    },
    loadPopup: function() {
        PopupTK.centerPopup();
        //loads popup only if it is disabled
        if (popupStatus == 0) {
            $("#popupFilter").css({
                "opacity": "0.7"
            });
            $("#popupFilter").fadeIn("slow");
            $("#popupContainer").fadeIn("slow");
            popupStatus = 1;
        }
    },
    disablePopup: function() {
        //disables popup only if it is enabled
        if (popupStatus == 1) {
            $("#popupFilter").fadeOut();
            $("#popupContainer").fadeOut();
            popupStatus = 0;
        }
    },
    centerPopup: function() {
        var windowWidth = $(".page-wrap").width();
        var windowHeight = document.documentElement.clientHeight;
        var popupWidth = $("#popupContainer").width() + 40;
        var popupHeight = $("#popupContainer").height() + 40;
        //centering
        $("#popupContainer").css({
            "position": "absolute",
            "top": 40,
            "left": windowWidth / 2 - popupWidth / 2,
            "height": windowHeight - 120
        });

        $("#popup-content").css({
            "height": $("#popupContainer").height() - 27
        });
        
        //only need force for IE6

        $("#popupFilter").css({
            "height": windowHeight
        });
    },
    showPopup: function(a) {
        var http_request = false;
        var url = $(a).attr("href");

        if (window.XMLHttpRequest) { // Mozilla, Safari, ...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) { }
            }
        }

        if (!http_request) {
            return false;
        }

        http_request.open('GET', url, false);
        http_request.send('');

        $("#popup-content").empty();
        $("#popup-content").append(http_request.responseText);
        $("#popupContainer h3.title").text($(a).text());
        window.scrollTo(0, 0);
        PopupTK.loadPopup();
    }
}
