function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		interface_02_interface_15_over = newImage("images/interface_02-interface_15_o.gif");
		interface_02_over = newImage("images/interface_02-over.gif");
		interface_05_over = newImage("images/interface_05-over.gif");
		interface_08_over = newImage("images/interface_08-over.gif");
		interface_11_over = newImage("images/interface_11-over.gif");
		interface_11_interface_24_over = newImage("images/interface_11-interface_24_o.gif");
		interface_15_over = newImage("images/interface_15-over.gif");
		interface_16_interface_17_over = newImage("images/interface_16-interface_17_o.gif");
		interface_17_over = newImage("images/interface_17-over.gif");
		interface_19_over = newImage("images/interface_19-over.gif");
		interface_24_over = newImage("images/interface_24-over.gif");
		interface_26_interface_15_over = newImage("images/interface_26-interface_15_o.gif");
		interface_26_over = newImage("images/interface_26-over.gif");
		interface_28_over = newImage("images/interface_28-over.gif");
		interface_28_interface_15_over = newImage("images/interface_28-interface_15_o.gif");
		preloadFlag = true;
	}
}

preloadImages();

mmCourseNumber = 'mmCourseNumber';

function insertWeekNav(weekNum)
{
	thisWeek = weekNum;
	if (thisWeek == 97) {
		return '<A HREF="week11.html">Week 11</A> | Week 12 | <A HREF="week12a.html">Week 12a</A>'}
	else if (thisWeek == 98) {
		return '<A HREF="week12.html">Week 12</A> | Week 12a | <A HREF="week13.html">Week 13</A>'}
	else if (thisWeek == 99) {
		return '<A HREF="week12a.html">Week 12a</A> | Week 13 | <A HREF="week14.html">Week 14</A>'}
	else {
		lastWeek = weekNum - 1;
		nextWeek = weekNum + 1;
			
		lastWeekURL = 'week' + lastWeek + '.html'
		thisWeekURL = 'week' + thisWeek + '.html'
		nextWeekURL = 'week' + nextWeek + '.html'
		
		if (weekNum == 1) {
			return 'Week ' + thisWeek + ' | <A HREF="' + nextWeekURL + '">Week ' + nextWeek + '</A>'
			}
		else if (weekNum ==24) {
			return '<A HREF="' + lastWeekURL + '">Week ' + lastWeek + '</A> | Week ' + thisWeek
			}
		else {
			return '<A HREF="' + lastWeekURL + '">Week ' + lastWeek + '</A> | Week ' + thisWeek + ' | <A HREF="' + nextWeekURL + '">Week ' + nextWeek + '</A>'
		}
	}
}

function insertWeekNav3930(weekNum,stopflag)
{
	thisWeek = weekNum;
	
	lastWeek = weekNum - 1;
	nextWeek = weekNum + 1;
		
	lastWeekURL = 'week' + lastWeek + '.html'
	thisWeekURL = 'week' + thisWeek + '.html'
	nextWeekURL = 'week' + nextWeek + '.html'
	
	if (weekNum == 1 && stopflag!=1) {
		return 'Week ' + thisWeek + ' | <A HREF="' + nextWeekURL + '">Week ' + nextWeek + '</A>'
		}
	else if (weekNum == 1 && stopflag==1) {
		return 'Week ' + thisWeek
		}
	else if (weekNum == 24 || stopflag==1) {
		return '<A HREF="' + lastWeekURL + '">Week ' + lastWeek + '</A> | Week ' + thisWeek
		}
	else {
		return '<A HREF="' + lastWeekURL + '">Week ' + lastWeek + '</A> | Week ' + thisWeek + ' | <A HREF="' + nextWeekURL + '">Week ' + nextWeek + '</A>'
		}
}

function randInt(low,high) { return Math.floor(Math.random()*(high-low+1)+low); }

// Sets cookie values. Expiration date is optional
//
function setCookie(name, value, expire) {
   document.cookie = name + "=" + escape(value)
   + ((expire == null) ? "" : ("; expires=" + expire.toGMTString()))
   + ";path=/"
}

// Notice the use of escape to encode special characters (semicolons, commas, spaces) in the value
// string. This function assumes that cookie names do not have any special characters.

// The following function returns a cookie value, given the name of the cookie:

function getCookie(Name) {
   var search = Name + "="
   if (document.cookie.length > 0) { // if there are any cookies
      offset = document.cookie.indexOf(search) 
      if (offset != -1) { // if cookie exists 
         offset += search.length 
         // set index of beginning of value
         end = document.cookie.indexOf(";", offset) 
         // set index of end of cookie value
         if (end == -1) 
            end = document.cookie.length
         return unescape(document.cookie.substring(offset, end))
      } 
   }
}

function setcourse(name) {
   var today = new Date()
   var expires = new Date()
   expires.setTime(today.getTime() + 1000*60*60*24*365)
   setCookie("mmCourseNumber", name, expires)
}

	//alert(document.layers.length);
	//alert(document.layers['nav'].document.images.length);

n = (document.layers) ? 1:0
ie = (document.all) ? 1:0

function cni(imgname,imgpath,layer) {
// alert(imgpath);
	
		if(n){
			if (layer == 'nav') {
				document.layers['nav'].document.images[imgname].src = eval(imgpath + ".src");}
			else {document[imgname].src = eval(imgpath + ".src");}
		}
		if(ie){document[imgname].src = eval(imgpath + ".src");
		}
}
userAgent = window.navigator.userAgent;
browserVers = parseInt(userAgent.charAt(userAgent.indexOf("/")+1),10);

function newImage(arg) {
  if (document.images) {
    rslt = new Image();
    rslt.src = arg;
    return rslt;
  }
}

function findElement(n,ly) {
	if (browserVers < 4)		return document[n];
	var curDoc = ly ? ly.document : document;
	var elem = curDoc[n];
	if (!elem) {
		for (var i=0;i<curDoc.layers.length;i++) {
			elem = findElement(n,curDoc.layers[i]);
			if (elem) return elem;
		}
	}
	return elem;
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		var img;
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			img = null;
			if (document.layers) {
				img = findElement(changeImages.arguments[i],0);
			}
			else {
				img = document.images[changeImages.arguments[i]];
			}
			if (img) {
				img.src = changeImages.arguments[i+1];
			}
		}
	}
}


function cniS(imgname,imgpath) {
	//alert(imgpath);
	if (layer == 'nav') {
	imgpath = imgpath + '1crr' + getCookie("mmCourseNumber") + '.gif'
	document.layers['nav'].document.images[imgname].src=imgpath;}
	else {imgpath = imgpath + '1crr' + getCookie("mmCourseNumber") + '.gif'
	document[imgname].src=imgpath;}
}

// get the necessary date stuff
	now = new Date(); //("September 8, 1999 23:15:00");
	month = now.getMonth() + 1;
	date = now.getDate();
	day = now.getDay();
	year = now.getFullYear();


function placedate() {

// convert the numbered date to string

	switch (day) {
   	case 0 : 
      daystring = "Sunday"; 
      break; 
	case 1 : 
       daystring = "Monday"; 
     break; 
	case 2 : 
       daystring = "Tuesday"; 
      break; 
	case 3 : 
       daystring = "Wednesday"; 
      break; 
	case 4 : 
       daystring = "Thursday"; 
      break; 
	case 5 : 
       daystring = "Friday"; 
      break; 
	case 6 : 
       daystring = "Saturday"; 
      break; 
   default : 
      daystring = ""; 
	} 

// convert the numbered month to string
	switch (month) {
   	case 1 : monthstring = "January"; break; 
   	case 2 : monthstring = "February"; break; 
   	case 3 : monthstring = "March"; break; 
   	case 4 : monthstring = "April"; break; 
   	case 5 : monthstring = "May"; break; 
	case 6 : monthstring = "June"; break; 
	case 7 : monthstring = "July"; break; 
	case 8 : monthstring = "August"; break; 
	case 9 : monthstring = "September"; break; 
	case 10 : monthstring = "October"; break; 
	case 11 : monthstring = "November"; break; 
	case 12 : monthstring = "December"; break; 
   default : monthstring = ""; 
	} 
	
	// there are three situations: 
	// -- it is a holiday
	// -- it is a school day
	
	if ((year == 2003) && ((date < 8 && month == 9) || (month <= 8) )) // before classes
		return "It's " + daystring + ", " + monthstring + " " + date + ", " + year + ". <P>Classes have not yet begun!</P>"
	else if ((year == 2004) && ((date > 2 && month == 4) || (month > 4) )) // after classes
		return "It's " + daystring + ", " + monthstring + " " + date + ", " + year + ". <P>Classes have finished!</P>"
	else if ((year == 2003 && month == 12 && date > 2) || (year == 2004 && month == 1 && date < 5)) // christmas break
		return "It's " + daystring + ", " + monthstring + " " + date + ", " + year + ". <P>First term is over!</P>"
	else if (year == 2004 && month == 2 && date > 13 && date < 23) // reading week
		return "It's " + daystring + ", " + monthstring + " " + date + ", " + year + ". <P><FONT SIZE=+3>Reading Week!</FONT></P>"
	else 
		whatweek = determineweek();
		if (whatweek=='11a') {
			return "<P>It's " + daystring + ", " + monthstring + " " + date + ", " + year + 
		".</P><P>Go right to <A Href=\"info-admin/weeks/week" + 
		whatweek + ".html\">this week's material (week " + whatweek + ")</A></P>"
		}
	else {
			return "<P>It's " + daystring + ", " + monthstring + " " + date + ", " + year + 
		".</P><P>Go right to <A Href=\"info-admin/weeks/week" + 
		whatweek + ".html\">this week's material (week " + whatweek + ")</A></P>"
		}
}

function hilightweek(w) {

	if (w == determineweek()) return "<tr bgcolor=\"#ffcc99\">";
	else return "<tr>";
}

function determineweek() {

	switch (month) {
		case 9 : 
			if (date < 8) return 0;
			else if (date < 15) return 1;
			else if (date < 22) return 2;
			else if (date < 29) return 3;
			else return 4;
			break; 
		case 10 : 
			if (date < 6) return 4;
			else if (date < 13) return 5;
			else if (date < 20) return 6;
			else if (date < 27) return 7;
			else return 8;
			break; 
		case 11 : 
			if (date < 3) return 8;
			else if (date < 10) return 9;
			else if (date < 17) return 10;
			else if (date < 24) return 11;
			else return 12;
			break; 
		case 12 : 
			if (date < 1) return 12;
			if (date < 3) return '12a';
			else return 99;
			break; 
   		case 1 :
			if (date < 5) return 99;
			else if (date < 12) return 13;
			else if (date < 19) return 14;
			else if (date < 26) return 15;
			else return 16;
			break; 
   		case 2 : 
 			if (date < 2) return 16;
			else if (date < 9) return 17;
			else if (date < 16) return 18;
			else if (date < 23) return 50;
			else return 19;
			break; 
   		case 3 :
			if (date < 1) return 19;
			else if (date < 8) return 20;
			else if (date < 15) return 21;
			else if (date < 22) return 22;
			else if (date < 29) return 23;
			else return 24;
			break; 
   		case 4 :
			if (date < 5) return 24;
			else return 0;
			break; 
   		default : return 0; 
	}
}

function hilightweek3931(w) {

	if (w == determineweek()) return "<TR BGCOLOR=\"#FFCC99\">";
	else return "<TR>";
}

function determineweek3931() {

	switch (month) {
		case 9 : 
			if (date < 6) return 0;
			else if (date < 10) return 1;
			else if (date < 17) return 2;
			else if (date < 24) return 3;
			else return 4;
			break; 
		case 10 : 
			if (date < 1) return 4;
			else if (date < 8) return 5;
			else if (date < 15) return 6;
			else if (date < 22) return 7;
			else if (date < 29) return 8;
			else return 9;
			break; 
		case 11 : 
			if (date < 5) return 9;
			else if (date < 12) return 10;
			else if (date < 19) return 11;
			else if (date < 26) return 12;
			else return 13;
			break; 
		case 12 : 
			if (date < 6) return 13;
			else return 99;
			break; 
   		case 1 :
			if (date < 3) return 99;
			else if (date < 7) return 14;
			else if (date < 14) return 15;
			else if (date < 21) return 16;
			else if (date < 28) return 17;
			else return 18;
			break; 
   		case 2 : 
 			if (date < 4) return 18;
			else if (date < 11) return 19;
			else if (date < 25) return 20;
			else return 21;
			break; 
   		case 3 :
			if (date < 4) return 21;
			else if (date < 11) return 22;
			else if (date < 18) return 23;
			else if (date < 25) return 24;
			else return 25;
			break; 
   		case 4 :
			if (date < 1) return 25;
			else if (date < 6) return 26;
			else return 0;
			break; 
   		default : return 0; 
	}
}

function mediainawindow(medname, windname, whpair)

//usage: <A HREF="JavaScript:mediainawindow('URL','Windtitle','w=x,h=y')">


{
	window.open(medname, windname, whpair)
	window.focus();
}


function openreadings(where, w)

{
	if (!w) { w = 400 }
	parameters = 'resizable=yes, toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, width='+ w + ', height=600, top=0, left=' + (screen.availWidth-w);
	window.open(where, 'readings', parameters);
}

