var currentNote="notes1";
var currentSet=1;
var currentSlide=1;
var previousSlide=1;
var toggleFrame = 0;
var toggleArray = new Array();
toggleArray[0] = new Image(153,21);
toggleArray[1] = new Image(153,21);
toggleArray[2] = new Image(153,21);
toggleArray[3] = new Image(153,21);
toggleArray[0].src = "../images/slides_and_notes.gif";
toggleArray[1].src = "../images/slides_and_notes_hover.gif";
toggleArray[2].src = "../images/lesson_material.gif";
toggleArray[3].src = "../images/lesson_material_hover.gif";

/* topSlide is set in jslocal.js */

function writeSlideLinks() {
	var b=0; //This variable needs to be used outside of the for loop after it is changed by the for loop.
	for (var a=1; a<slideArray.length; a++) {
		for (b=a; b<(slideArray.length-1);b++) {
			if(slideArray[b+1]){break;}
		}
		if(a==b) {
			document.writeln('<a class="nobr" href="javascript:;" onClick="changeSlide('+a+');return false;">'+a+'</a>');
		} else {
			document.writeln('<a class="nobr" href="javascript:;" onClick="changeSlide('+a+');return false;">'+a+'-'+b+'</a>');
			a=b;
		}
	}
}

function changeSlide(slideNumber) {
	if ((slideNumber<=topSlide)&&(slideNumber>0)) {
		currentSlide=slideNumber;
		slideNumStr = currentSlide +"";
		slideToLoadStr='slides/slide'+slideNumStr+'.gif';
		slideNumberToLoadStr='../images/slidetabs/slide'+slideNumStr+'.gif';
		MM_swapImage('currentslide','',slideToLoadStr,0);
		MM_swapImage('slidenumber','',slideNumberToLoadStr,0);
		if ((currentSlide==1)&&(previousSlide > 1)) changeObjectDisplay("prevSlideButton","none");
		if ((previousSlide==1)&&(currentSlide > 1)) changeObjectDisplay("prevSlideButton","block");
		if ((currentSlide==topSlide)&&(previousSlide<topSlide)) changeObjectDisplay("nextSlideButton","none");
		if ((previousSlide==topSlide)&&(currentSlide<topSlide)) changeObjectDisplay("nextSlideButton","block");
		previousSlide=currentSlide;
		//Turn the narrative on or off
		if (narrativeArray[currentSlide]) {changeObjectVisibility("launchNarrativeAnchor","visible")}
		else {changeObjectVisibility("launchNarrativeAnchor","hidden")};
		//Create the Notes ID number by combining "notes" with the slide's number
		showNotes(slideNumber);
	}
}

function showNotes(slideNumber) {
	var x=slideNumber;
	for(x=slideNumber; x>0;x--) {
		if (notes.document.getElementById("notes"+x)) {break;}
	}
	var newID="notes"+x;
	if (notes.document.getElementById(newID)) {
		notes.scrollTo(0,0); //Scroll the "notes" window to the top and all the way to the left (if necessary)
		notes.document.getElementById(newID).style.display="block";
		if (newID != currentNote) {
			notes.document.getElementById(currentNote).style.display="none";
		}
		currentNote = newID;
		currentSet = x;
	}
}

function prevSlide() {
	changeSlide(currentSlide-1);
}

function nextSlide() {
	changeSlide(currentSlide+1);
}

function launchNarrative() {
	var narrativeuri="narrative.htm#slide"+currentSet;
	MM_openBrWindow(narrativeuri,'narrative','menubar=yes,scrollbars=yes,resizable=yes,width=550,height=300');
	return false;
}

function toggle() {
	changeSlide(currentSlide); // This is only here to make sure the Launch Narrative is displayed correctly the first time Slide 1 is visited. See bug 2.
	toggleFrame = (toggleFrame + 2)%4;
	MM_findObj("toggleimg").src = toggleArray[toggleFrame+1].src; //Because the mouse must already be hovering here...
	if (toggleFrame == 2) {changeObjectDisplay("lessonmaterial", "none");changeObjectDisplay("content", "block")}
	else {changeObjectDisplay("lessonmaterial", "block");changeObjectDisplay("content", "none")}
}

function toggleHoverOver() {
	if (toggleFrame==0) {MM_findObj("toggleimg").src = toggleArray[1].src;}
	if (toggleFrame==2) {MM_findObj("toggleimg").src = toggleArray[3].src;}
}
function toggleHoverOut() {
	MM_findObj("toggleimg").src = toggleArray[toggleFrame].src;
}

/* 

Macromedia

*/
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  var mypopup=window.open(theURL,winName,features);
  if (mypopup){mypopup.focus();}
}
/*

The following functions are from http://developer.apple.com/internet/webcontent/dynamicforms.html

*/
function getStyleObject(objectId) {
  // checkW3C DOM, then MSIE 4, then NN 4.
  //
  if(document.getElementById && document.getElementById(objectId)) {
	return document.getElementById(objectId).style;
   }
   else if (document.all && document.all(objectId)) {  
	return document.all(objectId).style;
   } 
   else if (document.layers && document.layers[objectId]) { 
	return document.layers[objectId];
   } else {
	return false;
   }
}

function changeObjectVisibility(objectId, newVisibility) {
    // first get the object's stylesheet
    var styleObject = getStyleObject(objectId);

    // then if we find a stylesheet, set its visibility
    // as requested
    if (styleObject) {
	styleObject.visibility = newVisibility;
	return true;
    } else {
	return false;
    }
}
function changeObjectDisplay(objectId, newDisplay) {
    // first get the object's stylesheet
    var styleObject = getStyleObject(objectId);

    if (styleObject) {
	styleObject.display = newDisplay;
	return true;
    } else {
	return false;
    }
}