/* *******************************************************************************************************************************
*
*   THE PERFECT POP-UP SCRIPT
*
*   Website: http://www.accessify.com/features/tutorials/the-perfect-popup/
*   Updated: 20 March 2007
*
*   USAGE: 
*   A normal link - <a href="http://lloydi.com/blog/">
*   A popup link (just requires class of popup in link) - <a href="http://lloydi.com/blog/" rel="popup">
*   A popup in standard mode (toolbars included) - <a href="http://lloydi.com/blog/" rel="popup standard 800 600">
*   A popup in console mode (no toolbars etc) - <a href="http://lloydi.com/blog/" rel="popup console 800 600">
*   A popup like console mode, but with scrollbar (no toolbars etc) - <a href="http://lloydi.com/blog/" rel="popup scrollbar 800 600">
*   A popup link for fullscreen - <a href="http://lloydi.com/blog/" rel="popup fullScreen">
*   A popup in standard mode (icon suppressed) - <a href="http://lloydi.com/blog/" rel="popup standard 800 600 noicon">
*   
*   An autoadjusting image popup - <a href="URL" onclick="popImage(this.href, 'TITLE'); return false;" target="TITLE">IMAGE</a>
*
******************************************************************************************************************************* */


var newWindow = null;

function closeWin(){
    if (newWindow != null){
        if(!newWindow.closed)
            newWindow.close();
    }
}

function popUpWin(url, type, strWidth, strHeight){

    closeWin();
        
    type = type.toLowerCase();
    
    if (type == "fullscreen"){
        strWidth = screen.availWidth;
        strHeight = screen.availHeight;
    }
    var tools="";
    if (type == "standard") tools = "resizable,toolbar=yes,location=yes,scrollbars=yes,menubar=yes,width="+strWidth+",height="+strHeight+",top=0,left=0";
    if (type == "console" || type == "fullscreen") tools = "resizable,toolbar=no,location=no,scrollbars=no,width="+strWidth+",height="+strHeight+",left=0,top=0";
		if (type == "scrollbar") tools = "resizable,toolbar=no,location=no,scrollbars=yes,width="+strWidth+",height="+strHeight+",left=0,top=0";
    newWindow = window.open(url, 'newWin', tools);
    newWindow.focus();
}

function doPopUp(e)
{
//set defaults - if nothing in rel attrib, these will be used
var t = "standard";
var w = "780";
var h = "580";
//look for parameters
attribs = this.rel.split(" ");
if (attribs[1]!=null) {t = attribs[1];}
if (attribs[2]!=null) {w = attribs[2];}
if (attribs[3]!=null) {h = attribs[3];}
//call the popup script
popUpWin(this.href,t,w,h);
//cancel the default link action if pop-up activated
if (window.event) 
    {
    window.event.returnValue = false;
    window.event.cancelBubble = true;
    } 
else if (e) 
    {
    e.stopPropagation();
    e.preventDefault();
    }
}

function findPopUps()
{
var popups = document.getElementsByTagName("a");
for (i=0;i<popups.length;i++)
    {
    if (popups[i].rel.indexOf("popup")!=-1)
        {
        // attach popup behaviour
        popups[i].onclick = doPopUp;
        // add popup indicator
        if (popups[i].rel.indexOf("noicon")==-1)
            {
							popups[i].className = "popup";
            }
        // add info to title attribute to alert fact that it's a pop-up window
        popups[i].title = popups[i].title + " [Opens in pop-up window]";
        }
    }
}

addEvent(window, 'load', findPopUps, false);


/* *******************************************************************************************************************************
*
*   AN AUTOADJUSTING IMAGE POPUP
*
*   USAGE:
*   An autoadjusting image popup
*   <a href="URL" onclick="popImage(this.href, 'TITLE'); return false;" target="TITLE">IMAGE</a>
*
******************************************************************************************************************************* */

PositionX = 100;
PositionY = 100;
defaultWidth = 500;
defaultHeight = 500;
var AutoClose = true;

if (parseInt(navigator.appVersion.charAt(0)) >= 4) {
    var isNN = (navigator.appName == "Netscape") ? 1 : 0;
    var isIE = (navigator.appName.indexOf("Microsoft") != -1) ? 1 : 0;
}
var optNN = 'scrollbars=no,width=' + defaultWidth + ',height=' + defaultHeight + ',left=' + PositionX + ',top=' + PositionY;
var optIE = 'scrollbars=no,width=150,height=100,left=' + PositionX + ',top=' + PositionY;

function popImage(imageURL, imageTitle) {
    if (isNN) {
        imgWin = window.open('about:blank', '', optNN);
    }
    if (isIE) {
        imgWin = window.open('about:blank', '', optIE);
    }
    with (imgWin.document) {
        writeln('<html><head><title>Loading...</title><style>body{margin:0px;}</style>');
        writeln('<sc' + 'ript>');
        writeln('var isNN,isIE;');
        writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
        writeln('isNN=(navigator.appName=="Netscape")?1:0;');
        writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}');
        writeln('function reSizeToImage(){');
        writeln('if (isIE){');
        writeln('window.resizeTo(300,300);');
        writeln('width=300-(document.body.clientWidth-document.images[0].width);');
        writeln('height=300-(document.body.clientHeight-document.images[0].height);');
        writeln('window.resizeTo(width,height);}');
        writeln('if (isNN){');
        writeln('window.innerWidth=document.images["George"].width;');
        writeln('window.innerHeight=document.images["George"].height;}}');
        writeln('function doTitle(){document.title="' + imageTitle + '";}');
        writeln('</sc' + 'ript>');
        if (!AutoClose) {
            writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()">');
        } else {
            writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()" onblur="self.close()">');
        }
        writeln('<img name="George" src=' + imageURL + ' style="display:block"></body></html>');
        close();
    }
}