function MoveTo(DivID) {
    Base = document.getElementById(DivID).parentNode;
    Sub = Base.getElementsByTagName('div');
    for (x = 0; x < Sub.length; x++) {
        if (Sub[x].parentNode == Base) {
            if (Sub[x].id == DivID) {
                Sub[x].style.visibility = "visible";
            } else {
                Sub[x].style.visibility = "hidden";
            } 
        } 
    }
}

function MM_jumpMenu(targ, selObj, restore) { //v3.0
    eval(targ + ".location='" + selObj.options[selObj.selectedIndex].value + "'");
    if (restore) selObj.selectedIndex = 0;
}


function ShiftTo(DivID) {
    Base = document.getElementById(DivID).parentNode;
    Sub = Base.getElementsByTagName('div');
    for (x = 0; x < Sub.length; x++) {
        if (Sub[x].parentNode == Base) {
            if (Sub[x].id == DivID) {
                Sub[x].style.display = "block";
            } else {
                Sub[x].style.display = "none";
            } 
        } 
    }
}
var cDivCount = 5;        //Keep track of number of divs to rotate
var cDivWidth = 350;      //Keep track of div width
var cSeqEnd = 20;         //Keep track of number of steps in animation
var cTimeToSwitch = 5000; //Keep track of milliseconds before switching to next div
var cAnimateTime = 50;    //Keep track of milliseconds between steps in animation
var cSlideIncrement = cDivWidth / cSeqEnd;
var cFadeIncrement = 1 / cSeqEnd;

var vDoSwitch = false;
var vCurDiv = 1;
var vSeq = 0;

function TimeSwitch() {
   vDoSwitch = true;                      //Tell program to proceed with switch
   setTimeout(SwitchDiv, cTimeToSwitch);  //Activate switch after X seconds
}
function StopSwitch() {
   vDoSwitch = false;     //Tell program to cancel switch
}
function SwitchDiv() {
   if (vDoSwitch) {        //If switch is set to go, then choose switch type
      if (document.getElementById('optSlide').checked)
         SlideDivOut();    //#1 - Slide current div out, then slide new div in
      else if (document.getElementById('optFade').checked)
         FadeDivOut();     //#2 - Fade current div out, then fade new div in
      else {               //#3 - No animation, just hide the current and show the new
         document.getElementById('tab' + vCurDiv).style.display = 'none';
         AdvanceDiv();
         document.getElementById('tab' + vCurDiv).style.display = 'block';
         TimeSwitch();    //Start timer to switch again in X seconds
      }
   }
}
function SlideDivOut() {
   if (vSeq < cSeqEnd) {
      vSeq++;
      document.getElementById('tab' + vCurDiv).style.left = (vSeq * cSlideIncrement) + 'px';
      setTimeout(SlideDivOut, cAnimateTime);
   }
   else {
      vSeq = 0;
      document.getElementById('tab' + vCurDiv).style.display = 'none';
      document.getElementById('tab' + vCurDiv).style.left = '0px';
      document.getElementById('tab' + vCurDiv).style.top = '0px';
      AdvanceDiv();
      document.getElementById('tab' + vCurDiv).style.left = (cDivWidth * -1) + 'px';
      document.getElementById('tab' + vCurDiv).style.display = 'block';
      setTimeout(SlideDivIn, cAnimateTime);
   }
}
function SlideDivIn() {
   if (vSeq < cSeqEnd) {
      vSeq++;
      document.getElementById('tab' + vCurDiv).style.left = ((cDivWidth * -1) + (vSeq * cSlideIncrement)) + 'px';
      setTimeout(SlideDivIn, cAnimateTime);
   }
   else {
      vSeq = 0;
      document.getElementById('tab' + vCurDiv).style.left = '0px';  //Just in case animation was a tad off
      TimeSwitch();    //Start timer to switch again in X seconds
   }
}
function FadeDivOut() {
   if (vSeq < cSeqEnd) {
      vSeq++;
      var vOpacity = 1 - (vSeq * cFadeIncrement);
      document.getElementById('tab' + vCurDiv).style.opacity = vOpacity;
      document.getElementById('tab' + vCurDiv).style.filter = 'alpha(opacity=' + (vOpacity * 100) + ')';
      setTimeout(FadeDivOut, cAnimateTime);
   }
   else {
      vSeq = 0;
      document.getElementById('tab' + vCurDiv).style.display = 'none';
      document.getElementById('tab' + vCurDiv).style.opacity = 1;
      document.getElementById('tab' + vCurDiv).style.filter = 'alpha(opacity=100)';
      AdvanceDiv();
      document.getElementById('tab' + vCurDiv).style.opacity = 0;
      document.getElementById('tab' + vCurDiv).style.filter = 'alpha(opacity=0)';
      document.getElementById('tab' + vCurDiv).style.display = 'block';
      setTimeout(FadeDivIn, cAnimateTime);
   }
}
function FadeDivIn() {
   if (vSeq < cSeqEnd) {
      vSeq++;
      var vOpacity = vSeq * cFadeIncrement;
      document.getElementById('tab' + vCurDiv).style.opacity = vOpacity;
      document.getElementById('tab' + vCurDiv).style.filter = 'alpha(opacity=' + (vOpacity * 100) + ')';
      setTimeout(FadeDivIn, cAnimateTime);
   }
   else {
      vSeq = 0;
      document.getElementById('tab' + vCurDiv).style.opacity = 1;  //Just in case animation was a tad off
      document.getElementById('tab' + vCurDiv).style.filter = 'alpha(opacity=100)';
      TimeSwitch();    //Start timer to switch again in X seconds
   }
}
function AdvanceDiv() {
   if (vCurDiv == cDivCount)
      vCurDiv = 1;
   else
      vCurDiv++;
}
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}
function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);








	function showHideAnswer()
	{
		var numericID = this.id.replace(/[^\d]/g,'');
		var obj = document.getElementById('a' + numericID);
		if(obj.style.display=='block'){
			obj.style.display='none';
		}else{
			obj.style.display='block';
		}		
	}
	
	
	function initShowHideContent()
	{
		var divs = document.getElementsByTagName('span');
		for(var no=0;no<divs.length;no++){
			if(divs[no].className=='question'){
				divs[no].onclick = showHideAnswer;
			}	
			
		}	
	}
	
	window.onload = initShowHideContent;