// Template.js

// Page is rendered, some things to take care of
var DocumentLoaded = function ( ) {
	if ( ! document.getElementsByTagName ) return; 
	var Anchors = document.getElementsByTagName ( "a" ); 
	for ( var i = 0; i < Anchors.length; i++ ) { 
		var Anchor = Anchors [ i ]; 
		if ( Anchor.getAttribute ( "href" ) && Anchor.getAttribute ( "rel" ) == "ExternalLink" ) Anchor.target = "_blank"; 
	}
};

// Cross browser event set
var SetEvent = function ( Element , Kind , Func ) {
	if ( window.attachEvent ) {
		Element.attachEvent ( "on" + Kind , Func );
	} else if ( window.addEventListener ) {
		Element.addEventListener ( Kind , Func , true );
	}
};

// Reordering of zIndexing
var FlipImageOnTop = function ( ImageNo ) {
	var Start = 100;
	var HitState = 100;
	var Inbetween = 200;
	var Top = Start + ((ThumbImages.length-2) * Inbetween); // -2 because it starts at 1, and the length is always +1 anyway						
	for ( var zIndex = ThumbImages [ ImageNo ] [ "zIndex" ]; zIndex <= Top; zIndex = zIndex + Inbetween ) {
		for ( var x = 1; x < ThumbImages.length; x ++ ) {
			if ( ThumbImages [ x ] [ "zIndex" ] == zIndex ) {
				ThumbImages [ x ] [ "zIndex" ] = ThumbImages [ x ] [ "zIndex" ] - Inbetween;
				document.getElementById ( ThumbImages [ x ] [ "Image" ] ).style.zIndex = ThumbImages [ x ] [ "zIndex" ];
				if ( ThumbImages [ x ] [ "HitState" ] ) document.getElementById ( ThumbImages [ x ] [ "HitState" ] ).style.zIndex = ThumbImages [ x ] [ "zIndex" ] + HitState;
			}
		}
	}
	
	// Make it Top
	ThumbImages [ ImageNo ] [ "zIndex" ] = Top;
	document.getElementById ( ThumbImages [ ImageNo ] [ "Image" ] ).style.zIndex = ThumbImages [ ImageNo ] [ "zIndex" ];
	if ( ThumbImages [ ImageNo ] [ "HitState" ] ) document.getElementById ( ThumbImages [ ImageNo ] [ "HitState" ] ).style.zIndex = ThumbImages [ ImageNo ] [ "zIndex" ] + HitState;
};

// XHTML Compliant innerHTML;
var InsertHTML = function ( HTML , DivID ) {
	// Detect browser.
	var isMSIE = false;
	if ( navigator.userAgent.indexOf ( 'MSIE' ) > -1 ) isMSIE = true;
	
	var Div = document.getElementById ( DivID );
	if ( ! isMSIE && typeof DOMParser != "undefined" ) {
		// Create a minimal doc and then use it to collect nodes.
		var Parser = new DOMParser ( );
		var Doc = Parser.parseFromString ( '<div xmlns="http://www.w3.org/1999/xhtml">' + HTML + '<\/div>' , 'application/xhtml+xml' );
		var Root = Doc.documentElement;
		for ( var i = 0 ; i < Root.childNodes.length ; i++ ) {
			if ( Div.firstChild ) Div.replaceChild ( document.importNode ( Root.childNodes [ i ] , true ) , Div.firstChild );
			else Div.appendChild ( document.importNode ( Root.childNodes [ i ] , true ) );
		}
	} else {
		// HTML (IE) way
		Div.innerHTML = HTML;
	}
};


// Gallery hover
var GalleryHoverOverThumb = function ( Image ) {
	document.getElementById ( Image ).style.opacity = 0.8;
	document.getElementById ( Image ).style.filter = "Alpha(Opacity=80)";
};
var GalleryHoverOutThumb = function ( Image ) {
	document.getElementById ( Image ).style.opacity = 1;
	document.getElementById ( Image ).style.filter = "Alpha(Opacity=100)";
};

// Handle doc load and 15 second timeout just in case.
SetEvent ( window , "load" , DocumentLoaded );
setTimeout ( "DocumentLoaded()" , 15000 );

