// JavaScript Document
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

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];}
}

// TABLE STRIPER
function hasClass(obj) {
	var result = false;
	if (obj.getAttributeNode("class") != null) {
		result = obj.getAttributeNode("class").value;
	}
	return result;
}

function stripe(id) {
	var even = false;
	var firstColumnColor = "#eef7f7"
	var evenColor = arguments[1] ? arguments[1] : "eee";
	var oddColor = arguments[2] ? arguments[2] : "#fff";
	var table = document.getElementById(id);
	
	// if there is no table abort
	if (! table) { return; }
	
	// get all of the tbody elements in the table	
	var tbodies = table.getElementsByTagName("tbody");
	
	// iterate through them
	for (var h = 0; h < tbodies.length; h++) {
	
		// get all of the tr elements in the current tbody element
		var trs = tbodies[h].getElementsByTagName("tr");
		
		// iterate through them
		for (var i = 1; i < trs.length; i++) {
		
			// only continue if the current tr element doesn't have a class or backgroundColor style
			if (!hasClass(trs[i]) && ! trs[i].style.backgroundColor) {
			
				// get all of the td elements of the current tr
				var tds = trs[i].getElementsByTagName("td");
					
					// set even to false for this column
					even = false;
					tds[0].style.backgroundColor = firstColumnColor;
				// iterate through them	
				for (var j = 1; j < tds.length; j++) {
					var mytd = tds[j];
					if (! hasClass(mytd) && ! mytd.style.backgroundColor) {
							mytd.style.backgroundColor = even ? evenColor : oddColor;
					}
					
					// change even to odd and vice-versa
					even = !even;
				}
			}
		}
	}
}

// PRINT DATE FUNCTION
// function returns a date string in chosen format for printing at the bottom of pages
// PARAMETERS
// dateString - a string representing the last modified date of the document
// language - the chosen language (default is english)
function PrintDate(dateString, language) {

	var dateCheck = true; // assume success
	var browser = new String(navigator.appName);
	var ua = new String(navigator.userAgent);
	if (ua.indexOf("Safari") != -1) {
		dateCheck = false;
	}
	if (browser.indexOf("Netscape") != -1) {
		if (Date.parse(dateString) == "0") {
			dateCheck = false;
		}
	}
	if (dateCheck) {
		var modDate = new Date(dateString);
		var modDay = new Number(modDate.getDate());
		var modMonth = new Number(modDate.getMonth());
		var modTextMonth = new String(getTextMonth(modMonth, language));
		var modYear = new Number(modDate.getYear());
		if (modYear < 1900) {
			modYear += 1900;
		}
		var modText = new String();
		var modDateFormatted = new String();
		switch (language) {
			case "french": {
				if (modDay == 1) {
					modDay += "<sup>er</sup>";
				}
				modText = "Derni&egrave;re mise &agrave; jour le ";
				modDateFormatted = modDay + " " + modTextMonth + " " + modYear;
				break;
			}
			default: {
				modText = "This page last updated ";
				modDateFormatted = modTextMonth + " " + modDay + ", " + modYear;
			}
		}
		document.write(modText + modDateFormatted);
	}
}

// GET TEXT MONTH FUNCTION
// returns the month in text format
// PARAMETERS
// month - numeric month
// language - the chosen language (default is english)
getTextMonth = function(month, language) {
	var monthArray = new Array();
	switch (language) {
		case "french": 
		case "francais":{
			monthArray = new Array("janvier", "f&ecaute;vrier", "mars", "avril", "mai", "juin", "juillet", "ao&ucirc;t", "septembre", "octobre", "novembre", "decembre");
		break;
		}
		default: {
			monthArray = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
		}
	}
	for (var i = 0; i < monthArray.length; i++) {
		if (month == i) {
			return monthArray[i];
		}
	}
}

// PBS Function
function submitFrm(grade, app,dbName, lang)
{
	document.pbsForm.Grade.value=grade;
	document.pbsForm._App.value=app;
	document.pbsForm._DBName.value=dbName;
	document.pbsForm.Lang.value=lang;
	document.pbsForm.submit();
}

// POPUP function
function popup(url, width, height) {
	window.open(url, "", "width=" + width + "px, height=" + height + "px, scrollbars=false, no-resize");	
}