


/**
 * Open specified links in a pop-up or new browser window
 */
window.addEvent( 'domready', function () {
	$$( 'a' ).each( function( a ) {
		var reference  = a.getProperty( 'href' );
		if ( reference )
		{
			var relAttr    = a.rel.toLowerCase();
			var relData    = relAttr.split( ';' );
			var isImage    = reference.test( /\.(jpe?g|gif|bmp|png)$/, 'i' );
			// automatically open external links in a new browser window
			var isExternal = ( reference.indexOf( 'http://' ) === 0 || reference.indexOf( 'https://' ) === 0 ) && false === reference.contains( 'templetonprize.org' );
			switch ( true )
			{
				// open in a pop-up window
				// rel="popUp"
				// rel="popUp;320x240"
				case relAttr.contains( 'popup' ):
					if ( relData.length > 1 && relData[1].length )
					{
						var relWidHei = relData[1].split( 'x' );
						var wid = relWidHei[0];
						var hei = relWidHei[1];
					}
					else
					{
						var wid = '640';
						var hei = '480';
					}
					a.addEvent( 'click', function( e ) {
						e.stop();
						switch ( true )
						{
							// load images into the window... no margins!
							case isImage:
								imgWin = window.open(
									reference,
									'imgWin',
									'width=' + wid + ',height=' + hei + ',location=false,status=false,scrollbars=false'
								);
								with ( imgWin.document ) {
									write( '<html><head><title>Image</title><style type="text/css">html,body{margin:0px;padding:0px;}</style></head>' );
									write( '<body><img src="' + reference + '" width="' + wid + '" height="' + hei + '" alt="' + escape( reference ) + '" /></body></html>' );
									close();
								}
								break;
							// load everything else as a window
							default:
								window.open(
									reference,
									'popUp',
									'width=' + wid + ',height=' + hei + ',location=false,status=false,scrollbars=false'
								);
						}
					} );
					break;
				// open in a new browser window
				// rel="newWin"
				// rel="newWin;newWindowName"
				case isExternal || relAttr.contains( 'newwin' ):
					a.addEvent( 'click', function( e ) {
						e.stop();
						window.open(
							reference,
							( relData.length > 1 && relData[1].length ) ? relData[1] : 'newWin'
						);
					} );
					break;
			}
		}
	} );
} );

/**
 * Swap between English & French and carry it across page clicks via Cookie
 */
var setLanguage = function( tpLanguage )
{
	// no language selected? default to french
	$defined( tpLanguage ) || ( tpLanguage = 'en' );
	// set the cookie
	Cookie.write( 'tpLanguage', tpLanguage );
	// change all nodes containing the classes 'english' & 'french'
	$$( '.english', '.french' ).each( function( item ) {
		item.hasClass( 'english' ) && item.setStyle( 'display', ( 'en' == tpLanguage ) ? 'block' : 'none' );
		item.hasClass( 'french' )  && item.setStyle( 'display', ( 'fr' == tpLanguage ) ? 'block' : 'none' );
	} );
	// 
	$$( 'a#lang-en', 'a#lang-fr' ).each( function( item ) {
		item.removeClass( 'active-lang' );
	} );
	$$( '#lang-' + tpLanguage ).addClass( 'active-lang' );
}
// make sure we have the correct language on each page load
window.addEvent( 'domready', function () {
	// set language if previously selected
	setLanguage( Cookie.read( 'tpLanguage' ) );
} );
