 <!-- Hide from old browsers  

	function SwapOut(name){
		document[name].src = "images/nav/" + name + "_sel.gif";
		return true;
	}
	
	function SwapBack(name){
		document[name].src = "images/nav/" + name + ".gif"; 
		return true;
	}
	
	function SwapOutJ(name){
		document[name].src = "images/links/" + name + "_o.jpg";
		return true;
	}
	
	function SwapBackJ(name){
		document[name].src = "images/links/" + name + ".jpg"; 
		return true;
	}
	
	function SwapOutH(name){
		document[name].src = "images/" + name + "_sel.gif";
		return true;
	}
	
	function SwapBackH(name){
		document[name].src = "images/" + name + ".gif"; 
		return true;
	}
	function SwapOutH1(name){
		document[name].src = "images/header/" + name + "_sel.gif";
		return true;
	}
	
	function SwapBackH1(name){
		document[name].src = "images/header/" + name + ".gif"; 
		return true;
	}
	
	function SwapOutP(name){
		document[name].src = "images/" + name + "_sel.png";
		return true;
	}
	
	function SwapBackP(name){
		document[name].src = "images/" + name + ".png"; 
		return true;
	}
	
	function SwapOutAdmin(name){
		document[name].src = "images/" + name + "_sel.jpg";
		return true;
	}
	
	function SwapBackAdmin(name){
		document[name].src = "images/" + name + ".jpg"; 
		return true;
	}


var last_vis = "";
var last = "";
function toggle_vis(val) {
	
	var itm = document.getElementById(val);
	var txt = document.getElementById(val+"text");
	var last_itm = document.getElementById(last_vis);
	var last_txt = document.getElementById(last_vis+"text");
	
	if (val != last_vis) {
		if(last_vis != ""){
			last_txt.style.display = "none";
		}
		last_vis = val;
		txt.style.display = "block";
		
	} else {
		last_vis = "";
		txt.style.display = "none";
	}	
}

function createXMLHttpRequest() {
  var ua;
  if(window.XMLHttpRequest) {
    try {
      ua = new XMLHttpRequest();
    } catch(e) {
      ua = false;
    }
  } else if(window.ActiveXObject) {
    try {
      ua = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
      ua = false;
    }
  }
  return ua;
}

var req = createXMLHttpRequest();

function sendRequest(id) {
  req.open('get', 'getcourses.php?id=' + id);
  req.onreadystatechange = handleResponse;
  req.send(null);
}

var lastused = "";
var lastextra = "";

function handleResponse() {
  if(req.readyState == 4){
    var response = req.responseText;
    var update = new Array();
	var duties = new Array();

	if (response == "//") {
		window.location.reload(true);
	} else {
		if(response.indexOf('||') != -1) {
		  update = response.split('||');
		  if (lastused != "") {
			if (update[0] != "compose") {
				document.getElementById(lastused).innerHTML = "";
				document.getElementById(lastused).style.display = "none";
			}
		  }
		  if ((lastused != update[0]) || (update[0] == "compose") || (lastused == "courselist") || ((update[0].indexOf('topic') != -1) && (update[1] != lastextra))) {
			document.getElementById(update[0]).style.display = "block";
			document.getElementById(update[0]).innerHTML = decodeURIComponent(update[1]);
			lastused = update[0];
			lastextra = update[1];
		  } else {
			lastused = "";
			lastextra = "";
		  }
		}
	}
  }
}

//AJAX stuff:
function createRequestObject() {
	
	var request_;	
	var browser = navigator.appName;	
	if(browser == "Microsoft Internet Explorer"){	
		request_ = new ActiveXObject("Microsoft.XMLHTTP");
	
	} else {	
		request_ = new XMLHttpRequest();
	}	
	return request_;
}

var httpC = new Array();
var httpC2 = new Array();
var httpU = new Array();
var httpR = new Array();
var http = new Array();

function sendCourseRequest(course){
	
	var curDateTime = new Date();
	
	httpC[curDateTime] = createRequestObject();
	
	httpC[curDateTime].open('get', 'getcourses.php?mode=courseRequest&course=' + course + "&dummy=" + new Date().getTime()); //send request
	
	httpC[curDateTime].onreadystatechange = function(){ //Response from php:

		if (httpC[curDateTime].readyState == 4){ //response has arrived
		//alert('receiveCourseRequest');
			if (httpC[curDateTime].status == 200 || httpC[curDateTime].status == 304){
				var response = httpC[curDateTime].responseText;				
				//response handling:
				if (response == "//") {
					window.location.reload(true);
				} else {
					document.getElementById('requirements').innerHTML = response;
				}
			}		
		}	
	}
	
	httpC[curDateTime].send(null);
}

function sendCourseRequest2(course){
	
	var curDateTime = new Date();
	
	httpC2[curDateTime] = createRequestObject();
	
	httpC2[curDateTime].open('get', '../getcourses.php?mode=courseRequest2&course=' + course + "&dummy=" + new Date().getTime()); //send request
	
	httpC2[curDateTime].onreadystatechange = function(){ //Response from php:

		if (httpC2[curDateTime].readyState == 4){ //response has arrived
		//alert('receiveCourseRequest');
			if (httpC2[curDateTime].status == 200 || httpC2[curDateTime].status == 304){
				var response = httpC2[curDateTime].responseText;				
				//response handling:
				if (response == "//") {
					window.location.reload(true);
				} else {
					document.getElementById('coursename').innerHTML = response;
				}
			}		
		}	
	}
	
	httpC2[curDateTime].send(null);
}
var alreadySet;
function sendUpdateRequest(id,name,value){

	//alert(id+name+value);
	var curDateTime = new Date();
	
	httpU[curDateTime] = createRequestObject();
	
	httpU[curDateTime].open('get', '../getcourses.php?mode=updateRequest&name='+name+'&value='+value+'&id='+id + "&dummy=" + new Date().getTime()); //send request
	
	if(name == "a_grade" && !alreadySet && checknumber(value)){
		alreadySet = true;
		var confirmation = confirm("You are about to change the status of this student to COMPLETE.\nOnce this status is changed, you can no longer edit this student's data!\n\nAre you sure you want to do this?");
		if(confirmation){
			//alert("yep");
			alreadySet = false;
			httpU[curDateTime].send(null);
		} else {
			//reset field
			document.getElementById('a_grade'+id).value = '';
			alreadySet = false;
		}
	} else if(name != "a_grade") {
		httpU[curDateTime].send(null);
	} else {
		//reset field
		document.getElementById('a_grade'+id).value = '';
		alreadySet = false;
	}

	
	httpU[curDateTime].onreadystatechange = function(){ //Response from php:

		if (httpU[curDateTime].readyState == 4){ //response has arrived
		//alert('receiveCourseRequest');
			if (httpU[curDateTime].status == 200 || httpU[curDateTime].status == 304){
				var response = httpU[curDateTime].responseText;				
				//response handling:
				if (response == "//") {
					window.location.reload(true);
				} else {
					//alert("status updated: "+response+", "+id);
					document.getElementById('statusOutput'+id).innerHTML = response;
					//window.location.reload(true);
				}
			}	
		}	
	}
	
	
}

function sendReportsRequest(id,name,value){

	//alert(id+name+value);
	var curDateTime = new Date();
	
	httpR[curDateTime] = createRequestObject();
	
	httpR[curDateTime].open('get', '../getcourses.php?mode=reportsRequest&name='+name+'&value='+value+'&id='+id + "&dummy=" + new Date().getTime()); //send request

	
	httpR[curDateTime].onreadystatechange = function(){ //Response from php:

		if (httpR[curDateTime].readyState == 4){ //response has arrived
		//alert('receiveCourseRequest');
			if (httpR[curDateTime].status == 200 || httpR[curDateTime].status == 304){
				var response = httpR[curDateTime].responseText;				
				//response handling:
				if (response == "//") {
					window.location.reload(true);
				} else {
					var output = response.split("||");
					document.getElementById(output[0]).value = output[1];
				}
			}	
		}	
	}
	
	httpR[curDateTime].send(null);
	
}

function sendSearchRequest(mode,district,school,course,status,sortby,direction){
	//alert('send');

	var curDateTime = new Date();
	
	http[curDateTime] = createRequestObject();
	
	http[curDateTime].open('get', '../getcourses.php?mode='+mode+'&district='+district+'&school='+school+'&course='+course+'&status='+status+'&sortby='+sortby+'&d='+direction + "&dummy=" + new Date().getTime()); //send request
	
	document.getElementById('searchResult').innerHTML = '<p style="margin-left:15px; margin-bottom:5px; margin-top:5px;"><strong><em>loading student data</em></strong> <img src="http://www.bclearningnetwork.com/images/ajax-loader.gif" align="texttop" /></p>'; //show loading bar
	
	http[curDateTime].onreadystatechange = function(){ //Response from php:

		if (http[curDateTime].readyState == 4){ //response has arrived
		//alert('receiveSearchRequest');
			if (http[curDateTime].status == 200 || http[curDateTime].status == 304){
				var response = http[curDateTime].responseText;				
				//response handling:
				if (response == "//") {
					window.location.reload(true);
				} else {
					//document.getElementById('loading').innerHTML = ""; //hide loading bar
					document.getElementById('searchResult').innerHTML = response; //output response
				}
			}		
		}	
	}
	
	http[curDateTime].send(null);
}

var dyn = new Object();
dyn['district'] = '';
dyn['school'] = '';				
dyn['course'] = '';
dyn['status'] = '';
dyn['sortby'] = '';

dyn['mode'] = '';

var lastDirection;

function setVar(name, value , direction){
	dyn[name] = value;
	//alert(name + ": " + dyn[name]);
	//alert(dyn['category']);
	if(!direction) direction = lastDirection;
	else lastDirection = direction;
	sendSearchRequest(dyn['mode'],dyn['district'],dyn['school'],dyn['course'],dyn['status'],dyn['sortby'],direction);
}

var prev_number = '';

function setBatchFields(number,exception){

	if(exception || confirm('Warning: Fields will be emptied when you change the number of rows! Change number of rows, then enter data.\nChange number of rows?')){
		var altrow = 1;
		var output = '\
		<table width="700" border="0" cellpadding="5" cellspacing="0" id="batch_table" style="margin-top:5px; margin-left:10px; border:1px solid black;">\n\
			<tr style="background-color:#01489E; color:#FFFFFF;">\n\
				<th width="1%"></th>\n\
				<th width="33%">First Name</th>\n\
				<th width="33%">Last Name</th>\n\
				<th width="33%">PEN</th>\n\
			</tr>\n\
			';

		for(var i = 0;i<number;i++){
			altrow++;
			if (altrow>2) altrow=1;
			
			output += '\
			<tr class="row_color'+altrow+'" style="text-align:center;">\n\
						<td style="border-right:1px solid #666; color:#666;">'+(i+1)+'</td>\n\
						<td style="border-right:1px solid #666;"><input type="text" name="name_first[]" size="25" /></td>\n\
						<td style="border-right:1px solid #666;"><input type="text" name="name_last[]" size="25" /></td>\n\
						<td><input type="text" name="pen[]" size="25" /></td>\n\
			</tr>\n\
			';
		}
		
		output += '</table>';
		
		document.getElementById('batchOutput').innerHTML = output;
		prev_number = number;
	} else {
		document.getElementById('row_count').value = prev_number;
	}

}

function checkDistrict(sd){
	if(sd == "023 Central Okanagan" || sd == ""){
		document.getElementById("s_home_school").disabled = false;
	} else {
		document.getElementById("s_home_school").disabled = true;
	}
}

function checkStatus(status){
	if(status == "wr"){
		document.getElementById("a_withdraw_r").disabled = false;
		document.getElementById("withdraw_reason").style.display = 'block';
	} else {
		document.getElementById("a_withdraw_r").disabled = true;
		document.getElementById("a_withdraw_r").value = '';
		document.getElementById("withdraw_reason").style.display = 'none';
	}
}

function enableField(id){
	document.getElementById(id).disabled = !document.getElementById(id).disabled;
}

function toggleChecks( f, toggle ){

	for ( var i = 2; i < arguments.length; i++ ){
		cbGroup = f.elements[arguments[i]];
		if ( typeof cbGroup == 'undefined' ) continue;
		if ( cbGroup.length > 1 ){
			for ( var j = 0; ( cb = cbGroup[j] ); j++ ){
				cb.checked = toggle;
			}
		} else {
			cbGroup.checked = toggle;
		}
	}
}
function checknumber(num){
	var x = num;
	var anum=/(^\d+$)|(^\d+\.\d+$)/;
	if (anum.test(x)){
		testresult=true;
	} else {
		testresult=false;
	}
	return (testresult);
}
function withdrawWarning(box){
	var confirmation = confirm("You are about to change the status of this student to WITHDRAWN.\nOnce this status is changed, you can no longer edit this student's data!\n\nAre you sure you want to do this?");
	if(confirmation){
		//alert("yep");
		//do nothing, let user set checkbox
	} else {
		//unset box
		document.getElementById(box).checked = false;
	}

}
function completeWarning(field, value){
	var confirmation = confirm("You are about to change the status of this student to COMPLETE.\nOnce this status is changed, you can no longer edit this student's data!\n\nAre you sure you want to do this?");
	if(confirmation){
		//alert("yep");
		//do nothing, let user set grade
	} else {
		//reset field
		document.getElementById(field).blur();
	}
}

function changeDropDown(id,value){
	if(document.getElementById(id)){	
		for(var i = 1; i<=document.getElementById(id).options.length;i++){
			if(document.getElementById(id).options[i]['value'] == value) document.getElementById(id).selectedIndex = i;
		}
	}
}