﻿/*
popups with jquery
*/

$(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);
    });
  });
});


/*
popups
*/

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 {String} href 
* @param {Object} params 
* @return {WindowObjectReference} 
*/
UTIL.popup.open = function (href, params) {
  // Defaults (don't leave it to the browser)  
  var defaultParams = {
    "width": "1024",   // Window width  
    "height": "768",   // Window height  
    "top": "10",     // Y offset (in pixels) from top of screen  
    "left": "10",     // X offset (in pixels) from left side of screen  
    "directories": "yes",    // Show directories/Links bar?  
    "location": "yes",    // Show location/address bar?  
    "resizeable": "yes",   // Make the window resizable?  
    "menubar": "yes",    // Show the menu bar?  
    "toolbar": "yes",    // Show the tool (Back button etc.) bar?  
    "scrollbars": "yes",   // Show scrollbars?  
    "status": "yes"     // 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);
};

