<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

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
  window.open(theURL,winName,features);
}
//-->

function lostPassword() {
	var endPrompt = "Sorry, that was not a valid email.";
	var promptStr = "Please enter your email:";
	var getEmail = prompt(promptStr, "");
	if( getEmail == null || getEmail.length == 0 ) {
		alert(endPrompt);
	}
	else {
		if( getEmail.indexOf("@") < 0 ) {
			alert(endPrompt);
		}
		else {
			window.open('core/lostpassword.php?getEmail=' + getEmail, '_blank', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=1, height=1');
//			window.open('core/lostpassword.php?getEmail=' + getEmail + '_blank', 'width=400, height=400');
		}
	}
}

function keyPressCheck(e) {
var keynum
	if(window.event) { keynum = e.keyCode; } //IE
	else if(e.which)	{ keynum = e.which; } // Netscape/Firefox/Opera
	if( keynum == 13 ) { loginSubmit(1); }
}


///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////Login/Register using innerHTML by Charles Sheinin, Winter 2006
var fname = lname = uname = org = pos = e_mail = '';
/*

if(	eval(document.forms["fname"]) ) {
	fname = document.forms[0].fname.value;
}
if( eval(document.forms["lname"]) ) {
	lname = document.forms[0].lname.value;
}
if( eval(document.forms["uname"]) ) {
	uname = document.forms[0].uname.value;
}
if( eval(document.forms["org"]) ) {
	org = document.forms[0].org.value;
}
if( eval(document.forms["pos"]) ) {
	pos = document.forms[0].pos.value;
}
if( eval(document.forms["e_mail"]) ) {
	e_mail = document.forms[0].e_mail.value;		
}
*/
//<strong>&nbsp;&nbsp;Please enter your login information, or click \"Register\" above:</strong>
//<strong>&nbsp;&nbsp;Please enter the requested information:</strong>
var loginTitle = '';
var loginAdd = '';
	loginAdd += '<br /><input type=\"text\" style=\"left:3px; top:26px; position:absolute; width:125px;\" name=\"name\" id=\"name\" /><label for=\"name\" style=\"left:136px; top:28px; position:absolute;\">Username</label>';
	loginAdd += '<br /><input type=\"password\" style=\"left:3px; top:50px; position:absolute; width:125px;\" name=\"password\" id=\"password\" onkeydown=\"keyPressCheck(event)\"/><label for=\"password\" style=\"left:136px; top:52px; position:absolute;\">Password</label>';
	loginAdd += '<br /><a style=\"left:80px; top:85px; position:absolute; color:#ecdd5e;\" class=\"five\" onclick=\"loginSubmit(1)\">LOGIN</a>'
	loginAdd += '<br /><a style=\"left:3px; top: 130px; position:absolute; color:#ffffff;\" class=\"five\" onclick=\"lostPassword()\">Click here if you forgot your login info</a>';
var registerAdd = '';
	registerAdd += '<br /><input type=\"text\" style=\"left:3px; top:26px; position:absolute; width:125px;\" name=\"firstname\" id=\"firstname\" value=\"' + fname + '\" /><label for=\"firstname\" style=\"left:136px; top:28px; position:absolute;\">First name</label>';
	registerAdd += '<br /><input type=\"text\" style=\"left:3px; top:50px; position:absolute; width:125px;\" name=\"lastname\" id=\"lastname\" value=\"' + lname + '\" /><label for=\"lastname\" style=\"left:136px; top:52px; position:absolute;\">Last name</label>';
	
	registerAdd += '<br /><input type=\"text\" style=\"left:3px; top:75px; position:absolute; width:125px;\" name=\"name\" id=\"name\" onblur=\"triggered(\'name\')\" value=\"' + uname + '\" /><label for=\"name\" style=\"left:136px; top:76px; position:absolute;\">Username</label>';
	
	registerAdd += '<br /><input type=\"password\" style=\"left:3px; top:100px; position:absolute; width:125px;\" name=\"password\" id=\"password\" /><label for=\"password\" style=\"left:136px; top:101px; position:absolute;\">Password</label>';
	registerAdd += '<br /><input type=\"password\" style=\"left:3px; top:125px; position:absolute; width:125px;\" name=\"password2\" id=\"password2\" /><label for=\"password2\" style=\"left:136px; top:126px; position:absolute;\">Password (again)</label>';
	
	registerAdd += '<br /><input type=\"text\" style=\"left:3px; top:150px; position:absolute; width:125px;\" name=\"organization\" id=\"organization\" value=\"' + org + '\" /><label for=\"organization\" style=\"left:136px; top:151px; position:absolute;\">Organization</label>';
	registerAdd += '<br /><input type=\"text\" style=\"left:3px; top:175px; position:absolute; width:125px;\" name=\"position\" id=\"position\" value=\"' + pos + '\" /><label for=\"position\" style=\"left:136px; top:177px; position:absolute;\">Position</label>';
	
	registerAdd += '<br /><input style=\"left:3px; top:200px; position:absolute; width:125px;\" type=\"text\" name=\"email\" id=\"email\" value=\"' + e_mail + '\" /><label for=\"email\" style=\"left:136px; top:202px; position:absolute;\">Email Address</label>';
	
	registerAdd += '<br /><a class=\"five\" style=\"left:160px; top:235px; position:absolute; color:#ecdd5e;\" onclick=\"loginSubmit(3)\">REGISTER</a>'
var badLogin1 = '<font style=\"color:#ecdd5e; font-weight:bold;\">Invalid username or password.&nbsp;&nbsp;Please try again.</font>';
var badRegister1 = '<font style=\"color:#ecdd5e; font-weight:bold;\">That username already exists.&nbsp;&nbsp;Please try again.</font>';
var badRegister2 = '<font style=\"color:#ecdd5e; font-weight:bold;\">Passwords do not match.&nbsp;&nbsp;Please try again.</font>';
var badRegister3 = '<font style=\"color:#ecdd5e; font-weight:bold;\">Please complete each field.</font>';
var goodRegister = '<font style=\"color:#ecdd5e;\">Thank you for registering!  You can now login.</font>';
var logOut = '<font style=\"color:#ecdd5e;\">Thank you for using EMC<sup>2</sup>.&nbsp;&nbsp;You are now logged out.</font>';
var invalidChars = '<font style=\"color:#ecdd5e; font-weight:bold;\">One or more fields contains invalid character(s).&nbsp;&nbsp;Please try again.</font>';

function changeTextLogin(x) {

	switch(x) {
		case 1:
			loginTitle += loginAdd;
		break
		case 2:
			loginTitle += badLogin1 + loginAdd;
		break
		case 3:
			loginTitle += invalidChars + loginAdd;
		break
		case 4:
			loginTitle += goodRegister + loginAdd;
		break
		case 5:
			loginTitle += logOut + loginAdd;			
		break
		case 10:
			loginTitle += registerAdd;
		break
		case 11:
			loginTitle += badRegister1 + registerAdd;
			getCurEntry;
		break
		case 12:
			loginTitle += badRegister2 +  registerAdd;
			getCurEntry;
		break
		case 13:
			loginTitle += badRegister3 +  registerAdd;
			getCurEntry;
		break
		case 14:
			loginTitle += invalidChars + registerAdd;
		break
	}
document.getElementById("slideshow").innerHTML = loginTitle;

}

function getCurEntry() {
	var genform = document.forms[0];
	alert('getCurEntry called!');
	document.forms[0].firstname.value = document.forms[0].fname.value;
	alert(document.forms[0].firstname.value, document.forms[0].fname.value);
	document.forms[0].lastname.value = document.forms[0].lname.value;
	document.forms[0].name.value = document.forms[0].uname.value;
	document.forms[0].organization.value = document.forms[0].org.value;
	document.forms[0].position.value = document.forms[0].pos.value;
	document.forms[0].email.value = document.forms[0].e_mail.value;		
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////Chapter Selector for  BRT by Charles Sheinin, Fall 2005
function curChapVal(x) {
	document.forms[0].curChap.value = x;
	//submit(document.forms[0]);
	//alert(document.forms[0].curChap.value);
	document.slideform.submit();
}
//////////////////*********************************************************************************************************************************************************************


function loginSubmit(x) {
	switch(x) {
		case 1:
			document.forms[0].loadStatus.value = 2; //login verify
		break
		case 2:
			document.forms[0].loadStatus.value = 3; //basic register page
			document.forms[0].loginStatus.value = 10;
		break
		case 3:
			document.forms[0].loadStatus.value = 4;  //register verify
		break
		case 4:
			document.forms[0].loadStatus.value = 1; //basic login page
		break
	}
	document.slideform.submit();
}

function menuSubmit(x,y) {
	document.slideform.curBook.value = x;
	document.slideform.curLesson.value = y;
	document.slideform.submit();
}

function menuSubmitNotes(x,y) {
	document.slideform.curBook.value = x;
	document.slideform.curLesson.value = y;
	document.slideform.submit();
}

function glossSubmit(x) {
	document.slideform.curGIndex.value = x;
	document.slideform.submit();
}

function triggerSubmit() {
	document.slideform.submit();
}

function feedbackSubmit() {
	document.slideform.fStat.value = 1;
	document.slideform.submit();
}

function notesSubmit() {
	document.slideform.dummy.value = 1;
	document.slideform.submit();
}

/////////generates testStatus and testDo variables
function testSubmit(x,y) {
	document.forms[0].testStatus.value = x;
	//alert(document.forms[0].testDo.value);
	document.forms[0].testDo.value = y;
	//alert(document.forms[0].testDo.value);
	document.forms[0].submit();	
}

function contactPage(x) {
	var contstr = '';
	if( x == 1 ) {
		contstr += '<strong>Contact</strong><br /><br />';
		contstr += 'Behavioral Research and Teaching<br />5262 University of Oregon, Eugene, OR 97403<br />Phone: (541) 346-3535&nbsp;&nbsp;&nbsp;&nbsp;Fax: (541) 346-5689';
		contstr += '<br /><br />Research supported in part by a grant from The United States Department of Education, Fund for the Improvement of Postsecondary Education (FIPSE).&nbsp;&nbsp;';
		contstr += 'Project PREPARE, Comprehensive Programs Proactive Research-Based and Evaluative Procedures for Administrators Reaching for Excellence. Award Number: P116B041014';
	}
	if( x == 2 ) {
		contstr += '<strong>Credits</strong><ul>';
		contstr += '<li>Please direct project inquiries to <a class=\"four\" href=\"mailto:stindal@uoregon.edu\">Sevrina Tindal</a></li>';
		contstr += '<li>Content: Julie Alonzo, Leanne Bettesworth, Luke Duesbery, Leanne Ketterlin-Geller, Regina Vayaliparampil, Martha Martinez, Magaly Gonzalez, Dena Luwaro, Shawn Johnson, &amp; Jacob Werblow</li>';
		contstr += '<li>Management: Luke Duesbery, Phil McCullum, Gerald Tindal, Sevrina Tindal, &amp; Verna Wise</li>';
		contstr += '<li>Technical: Greg Cole, Shannon Knight, Jered Parkin, &amp; Charles Sheinin</li>';
		contstr += '<li>Video: Josh Geller, Andy Kirkpatrick, Saralynn Ruff</li></ul>';
	}
	document.getElementById("slideshow").innerHTML = contstr;
}


///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////Fix page size onload for BRT by Charles Sheinin, Summer 2005
function setSize( x, y ) {
	window.resizeTo( x, y );
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////Multi-page Slideshow for BRT by Charles Sheinin, Summer 2005
<!--
//declare global variables
var j = 0;        //used to access flag images and captions
var totalslides = 1; 
var range = totalslides - 1;
var zero = 0;
var slidesArray = new Array(totalslides);

function setSlides(x, y) {
//	alert( x + " " + y );
	totalslides = x;
	zero = y;
	range = x + y - 1;
	j = zero;
//	alert("setSlides(): x = " + x + ", y = " + y + ", j = " + j + ", zero = " + zero + ".");
	preLoadImages();
}

//preload images into browser cache
function preLoadImages() {
 for( i = zero; i <= range; i++ ) {
   slidesArray[i] = new Image();
   slidesArray[i].src = ( "images/slides/slide" + i + ".png" );
 //                   alert(i);
 }
// document.slideform.imagecount.value = zero;
}

//display caption & image referenced by current value in global variable i
function displayImage() {
  document.slideshow.src = slidesArray[j].src;
//  document.slideform.imagecount.value = j;
}

//adjusts global variable j to reference next caption & image;  wraps around to
//first caption & image if j exceeds totalslides
function nextSlide() {
 if( j == range ) {
  j = zero;
 }
 else {
  j = j + 1;
 }
 displayImage();
}

//adjusts global variable j to reference previous caption & image;  wraps around to
//last caption & image if j is already pointing at the beginning of the arrays
function previousSlide() {
 if( j == zero ) {
  j = range;
 }
 else {
  j = j - 1;
 }
 displayImage();
}

function jumptoSlide(f) {
//   i = document.slideform.imagecount.value;
  var i = f;
////  if( ( i > range ) || ( i < zero ) ) {
////    alert( "There is no image for that index.\nPlease contact an Administrator.\n range = "
////		  	+ range + ", zero = " + zero + ", j = " + j + ", totalslides = " + totalslides + ".");
//    document.slideform.imagecount.value = "";
////  }
////  else {
//    j = i - 1;
	j = i;
    displayImage();
////  }
}

function activate_submit() {
	document.getElementById("testSubmit").disabled = false;
}

//pre-cache images and text descriptions into arrays
//preLoadImages();

/*******************BEGIN aqtree3clickable.js cp'd************
aqtree3clickable.js

Converts an unordered list to an explorer-style tree, with clickable
icons

To make this work, simply add one line to your HTML:
<script type="text/javascript" src="aqtree3clickable.js"></script>

and then make the top UL of your nested unordered list of class
"aqtree3clickable".

That's it. No registration function, nothing.

http://www.kryogenix.org/code/browser/aqlists/

Stuart Langridge, November 2002
sil@kryogenix.org

Inspired by Aaron's labels.js (http://youngpup.net/demos/labels/) and Dave Lindquist's menuDropDown.js (http://www.gazingus.org/dhtml/?id=109)

*/

addEvent(window, "load", makeTreesC);

function makeTreesC() {
    // We don't actually need createElement, but we do
    // need good DOM support, so this is a good check.
    if (!document.createElement) return;
    
    uls = document.getElementsByTagName("ul");
    for (uli=0;uli<uls.length;uli++) {
        ul = uls[uli];
        if (ul.nodeName == "UL" && ul.className == "aqtree3clickable") {
            processULELC(ul);
        }
    }
}

function processULELC(ul) {
    if (!ul.childNodes || ul.childNodes.length == 0) return;
    // Iterate LIs
    for (var itemi=0;itemi<ul.childNodes.length;itemi++) {
        var item = ul.childNodes[itemi];
        if (item.nodeName == "LI") {
            // Iterate things in this LI
            var a;
            var subul;
	    subul = "";
            for (var sitemi=0;sitemi<item.childNodes.length;sitemi++) {
                var sitem = item.childNodes[sitemi];
                switch (sitem.nodeName) {
                    case "A": a = sitem; break;
                    case "UL": subul = sitem; 
                               processULELC(subul);
                               break;
                }
            }
            if (subul) {
                associateELC(a,subul);
            } else {
                a.parentNode.className = "aq3bullet";
            }
        }
    }
}

function associateELC(a,ul) {
    if (a.parentNode.className.indexOf('aq3open') == -1)
      a.parentNode.className = 'aq3closed';
    a.onclick = function () {
        this.parentNode.className = (this.parentNode.className=='aq3open') ? "aq3closed" : "aq3open";
        return false;
    }
}

/*              Utility functions                    */

function addEvent(obj, evType, fn){
  /* adds an eventListener for browsers which support it
     Written by Scott Andrew: nice one, Scott */
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, true);
    return true;
  } else if (obj.attachEvent){
	var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
	return false;
  }
}
/******END aqtree3clickable.js cp'd************/
//-->

