// JavaScript Document
// Get base url
var url = document.location.href;
xend = url.lastIndexOf("/") + 1;
var base_url = url.substring(0, xend);

function ajax_do (url,linkID) {
        // Does URL begin with http?
        if (url.substring(0, 4) != 'http') {
                url = base_url + url;
        }

        // Create new JS element
        var jsel = document.createElement('SCRIPT');
        jsel.type = 'text/javascript';
        jsel.src = url;

        // Append JS element (therefore executing the 'AJAX' call)
        document.body.appendChild (jsel);
		setMenus(linkID);
}

function setMenus(linkID){
	for(i=1;i<=4;i++) $('menu'+i).style.color="#000000";
		$(linkID).style.color="#79a7d0";
	if(linkID == 'menu2') showMenu('submenu_gates');
}

var playing;
var imgswp;

function imageSwap( imgElement, destPath, millisecondsToSwap, nextImageSrc )
{
	//this.imageSwapElement = new Object();
	this.imageSwapElement = imgElement;
	
	this.imageDestImg = new Image();
	this.imageDestImg.src = destPath;
	
	if ( nextImageSrc )
	{
		this.loadNextImage = new Image();
		this.loadNextImage.src = nextImageSrc;
		
		//this.loadNextImage.onload = function() { alert("loaded") }
	}

	this.millisecondsToSwap = millisecondsToSwap;
	
	this.run = runImageSwap;
	this.intervalTime = 60;
	this.interval = null;
	
	this.fadeLevel = 100;
	this.fade = fadeImage;
	this.direction = -1;
}

function runImageSwap()
{
	this.adjustmentPerPeriod = 100 / ( ( this.millisecondsToSwap/this.intervalTime ) / 2 );
	
	clearInterval( this.interval );
	this.interval = setInterval( "imgswp.fade()", this.intervalTime );
}

function fadeImage()
{
	this.fadeLevel = this.fadeLevel + this.direction * this.adjustmentPerPeriod;
	
	if 		( typeof this.imageSwapElement.style.MozOpacity != "undefined" ) 	
		this.imageSwapElement.style.MozOpacity = this.fadeLevel / 100;
	else if ( typeof this.imageSwapElement.style.opacity != "undefined" ) 		
		this.imageSwapElement.style.opacity = this.fadeLevel / 100;
	else if ( typeof this.imageSwapElement.filters == "object" ) 
		this.imageSwapElement.filters.alpha.opacity = this.fadeLevel;
	else
	{
		this.imageSwapElement.src = this.imageDestImg.src;
		clearInterval( this.interval );
		return;
	}
	
	
	if ( this.fadeLevel <= 0 )
	{
		if ( this.imageDestImg.complete )
		{
			this.imageSwapElement.src = this.imageDestImg.src;
			this.direction = 1;
			this.fadeLevel = 0;
		}
	}
	else if ( this.fadeLevel >= 100 )
	{
		clearInterval( this.interval );	
	}
}


function getFlashMovieObject(movieName)
{
  if (window.document[movieName]) 
  {
      return window.document[movieName];
  }
  if (navigator.appName.indexOf("Microsoft Internet")==-1)
  {
    if (document.embeds && document.embeds[movieName])
      return document.embeds[movieName]; 
  }
  else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
  {
    return document.getElementById(movieName);
  }
}

function insertFlash( src, width, height, version, FlashVars )
{
	var output = '';
	
	output += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="https://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + version + ',0,0,0" width="' + width + '" height="' + height + '" align="middle">';
	output += '<param name="allowScriptAccess" value="sameDomain" />';
	output += '<param name="movie" value="' + src + '" />';
	output += '<param name="quality" value="high" />';
	output += '<param name="bgcolor" value="#ffffff" />';
	output += '<param name="wmode" value="transparent" />';
	output += '<param name="FlashVars" value="' + FlashVars + '" />';
	
	output += '<embed src="' + src + '" quality="high" FlashVars="' + FlashVars + '" wmode="transparent" bgcolor="#ffffff" width="' + width + '" height="' + height + '" name="special" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="https://www.macromedia.com/go/getflashplayer" />';
	output += '</object>';

	return output;
}

function writeFlash( src, width, height, version, FlashVars )
{
	document.write( insertFlash( src, width, height, version, FlashVars ) );
}

function $() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}

function changeInner(cid,content) {
	$(cid).innerHTML = $(content).innerHTML;
}

function addEvent(elm, evType, fn, useCapture) {
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}
	else if (elm.attachEvent) {
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else {
		elm['on' + evType] = fn;
	}
}

function fixpng() {
	var arVersion = navigator.appVersion.split("MSIE")
	var version = parseFloat(arVersion[1])
	
	if ((version >= 5.5) && (document.body.filters)) 
	{
	   for(var i=0; i<document.images.length; i++)
	   {
		  var img = document.images[i]
		  var imgName = img.src.toUpperCase()
		  if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
		  {
			 var imgID = (img.id) ? "id='" + img.id + "' " : ""
			 var imgClass = (img.className) ? "class='" + img.className + "' " : ""
			 var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
			 var imgStyle = "display:inline-block;" + img.style.cssText 
			 if (img.align == "left") imgStyle = "float:left;" + imgStyle
			 if (img.align == "right") imgStyle = "float:right;" + imgStyle
			 if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
			 var strNewHTML = "<span " + imgID + imgClass + imgTitle
			 + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
			 + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
			 + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
			 img.outerHTML = strNewHTML
			 i = i-1
		  }
	   }
	}
}
// Menu functions

var menuTimeout;
function hideMenu() 
{
	menuTimeout = setTimeout("clearSubmenu()", 1500);	
}
function clearSubmenu() 
{
	$('submenu').innerHTML = '';	
}
function showMenu(submenu)
{
	clearTimeout(menuTimeout);
	$('submenu').innerHTML = $(submenu).innerHTML;	
}

// Scroller functions
var scrollInterval;
var scrollDirection;

	function scrollBox( )
	{
		var box = $('slides');
		
		var increment = 8;
		
		var desiredScroll = box.scrollTop + scrollDirection * increment;
		
		box.scrollTop = desiredScroll;
		
		if ( desiredScroll > 0 && box.scrollTop == 0 )
		{
			box.style.overflow = "auto";
			box.scrollTop = desiredScroll;
		}
	}
	
	function scrollSlides( direction )
	{
		scrollDirection = direction;
		
		scrollInterval = setInterval( "scrollBox()", 40 );		
	}
	
	function stopScroll()
	{
		clearInterval( scrollInterval );
	}