﻿
// Create a namespace for our utilities
var UTIL = UTIL || {};
UTIL.popup = UTIL.popup || {};

/**
* Open popup window
* 
* Opens a popup window using as little as a URL. An optional params object can 
* be passed.
* 
* @param {Object} href
* @param {Object} params
* @return {WindowObjectReference}
*/
UTIL.popup.open = function(href, params) {
    // Defaults (don't leave it to the browser)
    var defaultParams = {
        "width": "975",   // Window width
        "height": "700",   // Window height 
        "top": "50",     // Y offset (in pixels) from top of screen
        "left": "50",     // X offset (in pixels) from left side of screen
        "directories": "no",    // Show directories/Links bar?
        "location": "no",    // Show location/address bar?
        "resizeable": "yes",   // Make the window resizable?
        "menubar": "no",    // Show the menu bar?
        "toolbar": "no",    // Show the tool (Back button etc.) bar?
        "scrollbars": "yes",   // Show scrollbars?
        "status": "no"     // Show the status bar?
    };

    var windowName = params["windowName"] || "new_window";

    var i, useParams = "";

    // Override defaults with custom values while we construct the params string
    for (i in defaultParams) {
        useParams += (useParams === "") ? "" : ",";
        useParams += i + "=";
        useParams += params[i] || defaultParams[i];
    }

    return window.open(href, windowName, useParams);
};



$(function() { // Run this code when the document's done loading

    // Apply this code to each link with class="popup"
    $("a.popup").each(function(i) {

        // Add an onClick behavior to this link 
        $(this).click(function(event) {

            // Prevent the browser's default onClick handler
            event.preventDefault();

            // Grab parameters using jQuery's data() method
            var params = $(this).data("popup") || {};

            // Use the target attribute as the window name
            if ($(this).attr("target")) {
                params.windowName = $(this).attr("target");
            }

            // Pop up the window
            var windowObject = UTIL.popup.open(this.href, params);

            // Save the window object for other code to use
            $(this).data("windowObject", windowObject);
        });
    });
});