<!--
// browser detection:
var ua = navigator.userAgent;
var ns = (navigator.appName.toLowerCase().indexOf("netscape")!=-1)?1:0;
var ns4 = (document.layers)?1:0;
var ns6 = (document.getElementById && ns)?1:0;
var mac = (navigator.userAgent.toLowerCase().indexOf("mac")!=-1)?1:0;
var msie = (navigator.userAgent.toLowerCase().indexOf("msie")!=-1)?1:0;
var macie4 = (mac && !ns && parseInt(ua.substr(ua.indexOf("MSIE")+4,2)) <= 4)?1:0;
var macie = (mac && !ns)?1:0;

var disbspace = 0;
var dchanged = 0;
function dchgd(){dchanged=1;if(disbspace==0){disbspace=1;disableBackspaceNav()}}
function uchgd(){dchanged=0;disbspace=0;}
function confirmNav(igoto){
if(dchanged==0||confirm('Warning: Your changes will be lost if you leave this page before saving your data.')){if(igoto!=''){document.location.replace(igoto)}else{return true}}
}
function confirmNavAlert(){
if(dchanged==1){alert('Warning: Your changes will be lost if you leave this page before saving your data.')}
}


if (ns4) document.write('<LINK rel="stylesheet" type="text/css" href="gb_ns.css">')
else document.write('<LINK rel="stylesheet" type="text/css" href="gb.css">')

var dayNames = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
var monthNames = new Array("January","February","March","April","May","June","July","August","September","October","November","December");

function DisplayDate(){
	var str=""
	var currDate=new Date()
	str=dayNames[currDate.getDay()]+", "+monthNames[currDate.getMonth()]+" "+currDate.getDate()+", "+currDate.getFullYear()
	//str=currDate.toLocaleDateString()
	document.write(str)
}
function DisplayDateTime(){
	var str=""
	var currDate=new Date()
	str+="<I>Printed on " + dayNames[currDate.getDay()]+", "+monthNames[currDate.getMonth()]+" "+currDate.getDate()+", "+currDate.getFullYear()
	str+=" " + currDate.getHours() + ":" + currDate.getMinutes() + ":" + currDate.getSeconds() + "</I>"
	document.write(str)
}
function DisplayNavMenu(){
	if (typeof(arrNavMenu)!="undefined"){
		var s=""
		for (i=0; i<arrNavMenu.length; i+=2){
			j=parseInt(i/2)
			if (arrNavMenu[i+1]=="") s+='<FONT class=locAct>'+arrNavMenu[i]+'</FONT>'
			else s+='<A href="'+arrNavMenu[i+1]+'" class=loc>'+arrNavMenu[i]+'</A>'
			if (j!=parseInt(arrNavMenu.length/2)-1) s+=' | '
		}
		document.write(s)
	}
}

// START: Rollover functions >>>
function Preload(arrFrom,arrToGen,act) {
	var l = eval(arrFrom + '_on.length');
	for (var i=0; i<l; i++) {
		eval(arrToGen + '_on[i] = new Image()');
		eval(arrToGen + '_on[i].src = ' + arrFrom + '_on[i]');
		
		eval(arrToGen + '_off[i] = new Image()');
		eval(arrToGen + '_off[i].src = ' + arrFrom + '_off[i]');
		
		if (act==1) {
			eval(arrToGen + '_act[i] = new Image()');
			eval(arrToGen + '_act[i].src = ' + arrFrom + '_act[i]');
		}
	}
}

function Swap() {
	var imgName = Swap.arguments[2] + Swap.arguments[0];
	var index = (Swap.arguments.length >= 4) ? parseInt(Swap.arguments[3]) : parseInt(Swap.arguments[0]);
	document.images[imgName].src = eval(Swap.arguments[2] + '_' + Swap.arguments[1] + '[' + index + '].src');
}
// <<< END: Rollover functions

var newWin;
function WinOpen(url,title,w,h){
	w=parseInt(w)
	h=parseInt(h)
	if (!mac) if (new String(newWin)!="undefined" && newWin!=null) if (!newWin.closed) newWin.close();
	newWin=window.open(url,title,"width="+w+",height="+h+",top=0,left=0,location=no,directories=no,hotkeys=no,copyhistory=no,resizable=yes,menubar=no,status=no,toolbar=no,scrollbars=yes,z-lock=yes");
	if (mac) win.resizeTo(w+25,h+50)
	newWin.focus()
}


// Trims the leading and trailing blanks from a given string:
function Trim(strToTrim) {
	while(strToTrim.charAt(0)==' '){strToTrim = strToTrim.substring(1,strToTrim.length);}
	while(strToTrim.charAt(strToTrim.length-1)==' '){strToTrim = strToTrim.substring(0,strToTrim.length-1);}
	return strToTrim;
}
function ReplBlank(str){
	re=/ /g
	str=str.replace(re,"")
	return str
}

// Validate an e-mail address:
function ValidateEmail(str){
	if (str.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) return true;
	else return false; 
}

// Validate an e-mail address - multiple:
function ValidateEmailMulti(str){
var ccc;
var str2;
var str1 = str;
var stra = new Array();
var hhva = 1;
if (str1.indexOf(';') != -1){
 stra = str1.split(';');
 stral = stra.length;
 for(ccc=0;ccc<stral;ccc++){
  str2 = stra[ccc];
  if (str2.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1) {hhva=0}}
}
else
{
if (str.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1) {hhva=0}
}
return hhva;
}


function SelectAll(objSel,type){
	var obj=objSel
	for (i=0; i<obj.options.length; i++){
		if (type==1) obj.options[i].selected=true
		else obj.options[i].selected=false
	}
}

function KeyDwn(e) {
	if(ns) {
		var keycode = e.which
		var realkey = String.fromCharCode(e.which)
	} else {
		var keycode = event.keyCode
		var realkey = String.fromCharCode(keycode)
	}
	//alert("keycode: " + keycode + "\nrealkey: " + realkey)
	return keycode
}
function SubmitOnEnter(frm){
	if (KeyDwn()==13) frm.submit();
}



//Submit for ordering by columns:
function OrderBy(column,frm){
	frm.hidOrderBy.value=column
	if (typeof(frm.hidAct)!="undefined") frm.hidAct.value="chOrder"
	frm.submit()
}

// Allows only letters and digits:
function ChkIllegalChars(str){
	var expr = /[\W_]/
	if (expr.test(str)) return false;
	else return true
}

//submit to Student Grade Detail page:
function SubmitToStudentGradeDetail(stID,grper,grval){
	document.frmMain.hidAct.value="chStudent"
	document.frmMain.hidStudID.value=stID
	document.frmMain.hidGrPer.value=grper
	document.frmMain.hidGrVal.value=grval
	
	document.frmMain.action="t_stud_statusdetail.asp"
	document.frmMain.submit()
}

//submit to Student Grades page:
function GoToStudentGrades(stID,filename){
	document.frmMain.hidStID.value=stID
	document.frmMain.action=filename
	document.frmMain.submit()
}

//submit to the same page, when show/hide student ID:
function ShowStudentID(){
	document.frmMain.hidAct.value="chShowID"
	document.frmMain.submit()
}
//submit to the same page, when clicking another student:
function SubmitStudent(stID){
	document.frmMain.hidAct.value="chStudent"
	document.frmMain.hidStID.value=stID
	document.frmMain.submit()
}

function ChangeGrPer(){
	document.frmMain.submit()
}
function ChangeClass(){
	document.frmMain.selStud.selectedIndex=-1;
	document.frmMain.hidAct.value="chClass";
	document.frmMain.submit()
}
function ChangeStudent(){
	document.frmMain.hidAct.value="chStudent";
	document.frmMain.submit()
}
function EditComments(){
	var subj=new String(document.frmMain.selClass.options[document.frmMain.selClass.selectedIndex].text)
	subj=subj.substr(subj.indexOf("| ")+1)
	document.frmMain.hidSubjName.value=subj
	document.frmMain.action="t_studentgrades_comments.asp"
	document.frmMain.submit()
}


function SubmitImportUpload(frm){
	if (frm.txtFile.value=="") {alert("Please choose a file to upload.");frm.txtFile.focus();return false;}
	else {
		if (confirm("Now the selected file will be uploaded and its data will be imported to GradeBook database.\nDepending on data size, this could be take longer time, so please be patient.")) return true
		else return false;
	}
}

function ChangeClassRep(actFile){
	document.frmMain.selClassName.value=document.frmMain.selClass.options[document.frmMain.selClass.selectedIndex].text
	document.frmMain.hidAct.value="chClass"
	document.frmMain.target="_top"
	document.frmMain.action=actFile
	document.frmMain.submit()
}
function PrintReportClass(actFile){
	document.frmMain.selClassName.value=document.frmMain.selClass.options[document.frmMain.selClass.selectedIndex].text
	document.frmMain.target="_blank"
	document.frmMain.action=actFile
	document.frmMain.submit()
}
function PrintReportStudent(actFile){
	document.frmMain.selStudName.value=document.frmMain.selStud.options[document.frmMain.selStud.selectedIndex].text
	document.frmMain.target="_blank"
	document.frmMain.action=actFile
	document.frmMain.submit()
}


function GoToNextPage(){
	setTimeout("document.frmMain.submit()",1000)
}


//
// Routines to warn user before session timeout and to allow the user to request more time
// invoke by: <img src="/images/spacer.gif" name="kaPic" 
//   ...onload=keepAlive(19,1,'/keepAlive.asp','login.asp')>
// where 19 is timeout minutes, 1 is minutes before timeout when warning displays,
// keepAlive.asp: asp that redirects to a tiny gif to keep session alive, href: where to go on timeout
// kaPop is id of your warning popup div
// kaClick: 0 = no more time, 1 = allow more time
// see keepAlive asp subroutine in inc_func_more.asp
// attention: if warning minutes = 0, session will stay alive indefinitively and no prompting will occur
//  

function ae$(a) { return document.getElementById(a); } 
var kaLoutSw = 0;
var kaSet = 0;
var kaTOut = 0;
var kaTOutWarn = 0;
var kaTOutHref = '';
var kaTOutKeep = '';
function kaPrompt(){
kaRepos();
ae$('kaPop').style.visibility = 'visible'; 
window.focus();}
function kaRepos(){
ae$('kaPop').style.top=document.body.scrollTop+100;
ae$('kaPop').style.left=document.body.scrollLeft+150;
}
function keepAlive(i,j,l,m){
if(kaSet==0){
 kaTOutHref = m;
 kaTOutKeep = l;
 kaSet = 1;
 kaTOut = i * 60 * 1000;
 kaTOutWarn = (i - j) * 60 * 1000;
 if(j==0){kaUnlimited()}
  else{
   setTimeout('kaPrompt()',kaTOutWarn);
   setTimeout('kaOut()',kaTOut);
  }
}}
function kaClick(m) {
ae$('kaPop').style.visibility = 'hidden'; 
if(m==0){kaLoutSw=0}else{kaLoutSw=1};
}
function kaOut(i){
if(kaLoutSw==0){
document.location.href=kaTOutHref}
else
{setTimeout('kaPrompt()',kaTOutWarn);
setTimeout('kaOut()',kaTOut);
document.images['kaPic'].src = kaTOutKeep + '?keep='+escape(new Date());
kaLoutSw=0;}}

function kaUnlimited(){
setTimeout('kaUnlimited()',kaTOut);
document.images['kaPic'].src = kaTOutKeep + '?keep='+escape(new Date());
}

function disableBackspaceNav(){
if (typeof window.event != 'undefined')
      document.onkeydown = function()
      {
            if ((event.srcElement.tagName.toUpperCase() != 'INPUT' && event.srcElement.tagName.toUpperCase() != 'TEXTAREA') || (event.srcElement.tagName.toUpperCase() == 'INPUT' && event.srcElement.type.toUpperCase() != 'TEXT'))
                  return (event.keyCode != 8);
      }
else
      document.onkeypress = function(e)
      {
            if ((e.target.nodeName.toUpperCase() != 'INPUT' && e.target.nodeName.toUpperCase() != 'TEXTAREA') || (e.target.nodeName.toUpperCase() == 'INPUT' && e.target.type.toUpperCase() != 'TEXT'))
                  return (e.which != 8);
      }
}

function jsrdm(ilen) {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var rndm = '';
	for (var i=0; i<ilen; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		rndm += chars.substring(rnum,rnum+1);
	}
	return rndm
}

function openOneWindow(url, name, props) { 
  if(/*@cc_on!@*/false){ //do this only in IE 
    var windowRef = window.open("", name, props); 
    windowRef.close(); 
  } 
  var windowRef = window.open(url, name, props); 
  if (!windowRef.opener) { 
    windowRef.opener = self; 
  } 
  windowRef.focus(); 
  return windowRef; 
} 


function openpdf(qs) {
  return openOneWindow("https://www.rvs101.com/pdfrpt/pdfrpt.aspx?encrypt=y&rrrandom="+jsrdm(5)+"&"+qs, "rvs101", "menubar=0,resizable=1,scrollbars=1");
}


//-->
