// JavaScript Document

/*-----------------------------
BUBBLE FUNCTIONS
-------------------------------*/
function showBub(divId, bubId) {
	var div = document.getElementById(divId);
	var bub = document.getElementById(bubId);
	var posX = 220;
	var posY = findPosY(div);
	bub.style.left = posX+"px";
	bub.style.top = posY+"px";
	bub.style.display = "block";
}

function hideBub(bubId) {
	document.getElementById(bubId).style.display = "none";
}

function findPosX(obj) {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
}

function findPosY(obj) {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
}

/*-------------------------------
AJAX FUNCTIONS
--------------------------------*/
function doAjaxRequest(actionUrl, elemId) {
	xmlHttp=GetXmlHttpObject() //function defined below
	if (xmlHttp==null) {
		alert ("Browser does not support HTTP Request")
		return
	}
	xmlHttp.onreadystatechange=function() {
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { 	document.getElementById(elemId).innerHTML=xmlHttp.responseText }
	}
	xmlHttp.open("GET",actionUrl,true)
	xmlHttp.send(null)
}


function GetXmlHttpObject() {
	var xmlHttp=null
	try {		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest()
	}
	catch (e) { // Internet Explorer
		try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP") }
		catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP") }
	}
	return xmlHttp;
}

/*---------------------------------
SLIDESHOW FUNCTIONS
-----------------------------------*/
function fisherYates ( myArray ) {
  var i = myArray.length;
  if ( i == 0 ) return false;
  while ( --i ) {
     var j = Math.floor( Math.random() * ( i + 1 ) );
     var tempi = myArray[i];
     var tempj = myArray[j];
     myArray[i] = tempj;
     myArray[j] = tempi;
   }
}

function waitThenFade() {
	setTimeout('doFade(100);', 5000);
}

function setNextImage() {
	var topImg = document.getElementById("topImg");
	var bottomImg = document.getElementById("bottomImg");

	setOpacity(topImg, 100);
	setOpacity(bottomImg, 0);

	bottomImg.src = getNextImage();
}	

var slideshowIndex = 0;

function getNextImage() {
	var topImg = document.getElementById("topImg");

	if(slideshowIndex == slideshowImages.length) slideshowIndex = 0;
	return slideshowImages[slideshowIndex++];
	
}

function doFade(currOp) {
	
	if(!continueSlideshow) {
		init = false;
		return;
	}

	var topImg = document.getElementById("topImg");
	var bottomImg = document.getElementById("bottomImg");
	if(currOp > 0) {
	
	// FADE OUT TOP IMAGE
		var newOpacity = currOp - 5;
		setOpacity(topImg, newOpacity);
	
	// FADE IN BOTTOM IMAGE
		setOpacity(bottomImg, 100 - newOpacity);
		
	// WAIT, THEN FADE SOME MORE
		setTimeout("doFade("+(currOp-5)+");" ,40);
	} else {
		var oldTopImgSrc = document.getElementById("topImg").src;
		topImg.src=bottomImg.src;
	}
}

function setOpacity(obj, level) {
	obj.style.opacity = (level / 100);
	obj.style.MozOpacity = (level / 100);
	obj.style.KhtmlOpacity = (level / 100);
	obj.style.filter = "alpha(opacity=" + level + ")";		
}