// the functions in this file require the supplementary library lib.js

// These defaults should be changed the way it best fits your site
var _POPUP_FEATURES = 'location=0,statusbar=0,menubar=0,width=200,height=200';
var mv = 'location=0,statusbar=0,menubar=0,width=860,height=550';
var mv630 = 'location=0,statusbar=0,menubar=0,width=860,height=680';
var collage = 'location=0,statusbar=0,menubar=0,width=480,height=480';
var cover = 'location=0,statusbar=0,menubar=0,width=320,height=480';
var coverbpm = 'location=0,statusbar=0,menubar=0,width=382,height=480';
var cover450 = 'location=0,statusbar=0,menubar=0,width=320,height=450';
var cover466 = 'location=0,statusbar=0,menubar=0,width=320,height=466';
var coverchugworth = 'location=0,statusbar=0,menubar=0,width=370,height=480';
var coverdivavpoe = 'location=0,statusbar=0,menubar=0,width=370,height=387';
var coverearthsong = 'location=0,statusbar=0,menubar=0,width=345,height=480';
var flash_aoi = 'location=0,statusbar=0,menubar=0,width=468,height=312';
var flash_nml = 'location=0,statusbar=0,menubar=0,width=700,height=400';
var flash_diva = 'location=0,statusbar=0,menubar=0,width=800,height=400';
var teaser = 'location=0,statusbar=0,menubar=0,width=720,height=540';
var collage_destiny = 'location=0,statusbar=0,menubar=0,width=160,height=120';
var newsite = 'location=1,statusbar=1,menubar=1,width=740,height=560';
var boogiepop_cm_small = 'location=0,statusbar=0,menubar=0,width=448,height=381';
var boogiepop_cm_large = 'location=0,statusbar=0,menubar=0,width=640,height=525';

function raw_popup(url, target, features) {
    // pops up a window containing url optionally named target, optionally having features
    if (isUndefined(features)) features = _POPUP_FEATURES;
    if (isUndefined(target  )) target   = '_blank';
    var theWindow = window.open(url, target, features);
    theWindow.focus();
    return theWindow;
}

function link_popup(src, features) {
    // to be used in an html event handler as in: <a href="..." onclick="link_popup(this,...)" ...
    // pops up a window grabbing the url from the event source's href
    return raw_popup(src.getAttribute('href'), src.getAttribute('target') || '_blank', features);
}

function event_popup(e) {
    // to be passed as an event listener
    // pops up a window grabbing the url from the event source's href
    link_popup(e.currentTarget);
    e.preventDefault();
}

function event_popup_features(features) {
    // generates an event listener similar to event_popup, but allowing window features
    return function(e) { link_popup(e.currentTarget, features); e.preventDefault() }
}

