/*************************************************************************
*   
*   G L O B A L  J A V A S C R I P T
*
*   Copyright 2007, Trevor Saint
*   www.trevorsaint.com
* 
*************************************************************************/

/*--------------------------------------------------------------------------
General Functions
--------------------------------------------------------------------------*/

function Cancel() {
 window.close();
}

function Accept() {
 window.opener.TermsAccepted();
 window.close();
}

function TermsAccepted() {
 document.location = lastClickedLinkUrl;
}

/*--------------------------------------------------------------------------
Terms and Conditions Popup Window
--------------------------------------------------------------------------*/

termsWindowWidth = screen.availWidth;
termsWindowHeight = screen.availHeight;

var termsWindowUrl = "/legal/popup-external-links.asp";
var termsWindowWidth = 516;
var termsWindowHeight = 285;
var lastClickedLinkUrl = "";

//Calculate Centre of Screen		
centerX=(screen.availWidth-termsWindowWidth)/2;
centerY=(screen.availHeight-termsWindowHeight)/2;

var _popUpWindow = 0;
window.onload = WindowLoad;

function WindowLoad(event) {
	var arrLinks = document.getElementsByTagName("a");
	var strDomain = GetDomain(document.location+"").toLowerCase();
    
	for (var i=0; i<arrLinks.length; i++) {
	     var curLink = arrLinks[i];
	     var curHref = curLink.href;
	if (!curHref || curHref.length == 0)
		continue;
	    var curDomain = GetDomain(curHref);
	if (curDomain.length == 0)
		continue;
	    var blnExternal = (curDomain.toLowerCase() != strDomain);
	if (blnExternal)
		curLink.onclick = ExternalLinkClick;
    }
}

function GetDomain(strURL) {
	var arrTemp = strURL.split("//");
	if (arrTemp.length < 2)
		return "";
	var arrTemp2 = arrTemp[1].split("/");
	return arrTemp2[0];
}

function ExternalLinkClick(event) {
	if (typeof event == "undefined" || !event)
		event = window.event;
	
	var leftPos = event.screenX|event.x;
	var topPos = event.screenY|event.y;	
	
	var objLink = event.target;
	if (typeof objLink == "undefined")
     objLink = event.srcElement;
	 _popUpWindow = window.open(termsWindowUrl, "terms", "toolbar=no,location=no,scrollbars=yes,menubar=no,left=" + centerY + ",top=" + centerX + 
	 ",width=" + termsWindowWidth + ",height=" + termsWindowHeight);
	 _popUpWindow.focus();
	 lastClickedLinkUrl = objLink.href;
	return false;
}

/*--------------------------------------------------------------------------
General Standards Popup Window
--------------------------------------------------------------------------*/

//http://www.accessify.com/features/tutorials/the-perfect-popup/

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" || type == "news"){
		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" || type == "news") 
	    tools = "toolbar=no,location=no,scrollbars=no,width="+strWidth+",height="+strHeight+",left=0,top=0";
					
	if (type == "management" || type == "careers" || type == "opportunity" || type == "images" || type == "documents" || type == "event" || type == "investment") {
	
	//Calculate Centre of Screen		
    centerX=(screen.availWidth-strWidth)/2;
    centerY=(screen.availHeight-strHeight)/2;		
		
		tools = "toolbar=no,location=no,scrollbars=yes,menubar=no,width="+strWidth+",height="+strHeight+",top="+centerX+",left="+centerY+"";
	}	
	
	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].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]";
		}
	}
}

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