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";
	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 = popups[i].onkeypress = doPopUp;
		// add popup indicator
		if (popups[i].rel.indexOf("noicon")==-1)
			{
			popups[i].style.backgroundImage = "url(pop-up.gif)";
			popups[i].style.backgroundPosition = "0 center";
			popups[i].style.backgroundRepeat = "no-repeat";
			popups[i].style.paddingLeft = "15px";
			}
		// 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]";
		}
	}
}

/**
 * Fonction d'ouverture d'un popup centré sur la fenêtre du navigateur (et non par rapport à l'écran !)
 * @author : Julien Fredon @ imaginance
 */
function popupThis(link, iWidth, iHeight, sOptions)
{
	// Récupération de l'url spécifié dans le href du lien.
	sUrl	=	link;
	if (typeof link == "object")
	{
		sUrl	=	link.href;
	}


    // Calcul de la position du popup (centré)
    var screenX;
    var screenY;
    var popupWidth      =   iWidth;
    var popupHeight     =   iHeight;
    if (sOptions == undefined || sOptions == "")
    {
    	sOptions	=	"resizable=yes,scrollbars=yes"
    }
    var options         =   sOptions;

	// Calcul de la position de la fenêtre du navigateur.
    if (window.screenX)	// Pour Mozilla & Co.
    {
        screenX =   window.screenX;
        screenY =   window.screenY;
        screenY =   screenY + 80;
    }
    else // Pour IE & Co.
    {
        screenX =   window.screenLeft;
        screenY =   window.screenTop;
    }

	// Calcul de la position du popup.
    popupTop    =   parseInt((document.documentElement.clientHeight / 2) - (popupHeight / 2) + screenY);
    popupLeft   =   parseInt((document.documentElement.clientWidth / 2) - (popupWidth / 2) + screenX);

	// Spécial Opéra qui considère clientHeight comme la hauteur total du document et non de la fenêtre.
	if (navigator.userAgent.indexOf("Opera") > -1)
	{
		popupTop    =   50 + screenY;
	    popupLeft   =   parseInt((document.documentElement.offsetWidth / 2) - (popupWidth / 2) + screenX);
	}

	// Ajout du parametre renderMode=plopup à l'url
	sUrl		=	sUrl + ((sUrl.indexOf("?") > -1) ? '&' : '?') + "layout=popup";


    // Ouverture du popup.
    oPopup      =   window.open(sUrl, "", "top=" + popupTop + ",left=" + popupLeft + ",width=" + popupWidth + ",height=" + popupHeight + "," + options);
    return false;
}

addEvent(window, 'load', findPopUps, false);

