/* TODO
 *
 * first screen to show 
 * 		school records  -- with option to create and a list if records exist
 * 		student record  -- with records if exist
 * 		parent record -- with record if exist
 * 		teacher record 
 *
 * 		goorkl.com 
 * 	where school, parents, teachers and students come together
 *
 *
 *   October 2011 -- TODO --- Add syllabus for each subject and teachers can update with
 *                     how much of it is covered. The daily calendar needs to be flexible
 *                     enough to show what was taught each day
 *
 * 
 */
var curstvtabtd = null;
var curstvtabdiv = null;

var curtcvtabtd = null;
var curtcvtabdiv = null;

var curl1tabtd = null;
var curl1tabn = null;
var curl1tabdiv = null;

var curgl2tabtd = null;
var curgl2tabdiv = null;

var curnl2tabtd = null;
var curnl2tabdiv = null;

var cursl2tabtd = null;
var cursl2tabdiv = null;

var curtl2tabtd = null;
var curtl2tabdiv = null;

var cursl3tabtd = null;
var cursl3tabdiv = null;

var cur_litm = null;

var curgt3tabtd = null;
var curgt3tabdiv = null;

var cur_grvitm = null;
var cur_grid = 0;
var cur_grname = "-";
var cur_grdlist = "";

var cur_scvitm = null;
var cur_scid = 0;
var cur_scname = "-";

var cur_scsb_name = "-";

var cur_tsvitm = null;
var cur_tstid = 0;
var cur_tstname = "-";

var cur_schid = 0;
var cur_schyrid = 0;

var currency_name = "dollars";

var cur_sbvitm = null;
var cur_subid = 0;

var cur_tcvitm = null;
var cur_tchid = 0;
var cur_tchnm = null;

var cur_tchtype = null;

var cur_tssel_id = null;
var cur_stv_stid = 0;
var cur_stv_stclid = 0;
var cal_evid;
var cal_evdt;
var calist = new Array();
var month_names = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");

var cur_stid = 0;

var cur_sbid = 0;

var cur_otsname = null;
var cur_otsid = 0;

var cur_tchyid = 0;
var cur_view = 0;

var lftmnu_cursel = null;
var grdmnu_cursel = null;

var embstatus = "False";

var prpfstatus = "False";

var admodt, admcdt;

function add_tch_class() {
	var grid = document.getElementById('tcgr').value;
	var secid = document.getElementById('tcsc').value;
	var subid = document.getElementById('tcsb').value;
	call("/addtchsub?syid="+cur_schyrid+"&&crs="+grid+"&&sec="+secid+"&&sub="+subid+"&&tid="+cur_tchid, null, update_tch_classes, "POST");
}

function show_tch_addsub_but(subid) {
	var tcasbut = document.getElementById('tcasbut');
	tcasbut.style.visibility = 'inherit';
}

function update_tch_grscsubs(gssubs) {
	var tcsb = document.getElementById('tcsb');
	tcsb.innerHTML = '<option value="0">----</option>'+ create_sel_opt_string(gssubs);
}

function pop_subs(secid) {
	var grid = document.getElementById('tcgr').value;
	call("/getcssubs?syid=" + cur_schyrid + "&&crs="+grid+"&&sec="+secid, null, update_tch_grscsubs);
}

function update_tch_grsecs(grsecs) {
	var tcsc = document.getElementById('tcsc');
	tcsc.innerHTML = '<option value="0">----</option>'+ create_sel_opt_string(grsecs);
}

function pop_secs(grid) {
	call("/getgrdsecs?crs="+grid, null, update_tch_grsecs);
}

function del_tch_class(ckys) {
	var ckya = ckys.split(':');
	// Use ckya[0] to delete the class
	alert('not implemented');
}

function rmobj(obj) {
	var p = obj.parentNode;
	var d = document.getElementById('lsiopt1');
	if (p.childNodes.length == 3) {
		if (obj.parentNode.removed == 1) {
			p.removeChild(obj);
			p.parentNode.removeChild(p);
			return;
		}
		obj.innerHTML = '<td class="snl1" style="width:400px;" ><a class="as" onClick="addobj(this.parentNode, 1)">&nbsp;+&nbsp;</a></td>';
		if (!obj.parentNode.removed)
			obj.parentNode.removed = 1;
		else
			obj.parentNode.removed++;

	}else if (p.childNodes.length == 2) {
		p.removeChild(obj);
		p.parentNode.removeChild(p);
	}
}

function splitobj(obj) {
	var sa = obj.childNodes[0].childNodes[0];
	obj.childNodes[0].removeChild(sa);
	var x = obj.childNodes[0].innerHTML;
	obj.innerHTML = "<td style='width:400px;'>"+x+"<td style='width:400px;'><input size=15 type=text placeholder='Enter field name here' onChange='addtdobj(this.parentNode, this.value, 1)'></td>";
}

function addtdobj(pobj, val, tdw) {
	var s = "";
	var szs = 15;
	var i=1;
	while (document.getElementById('lsiopt'+i))
		i++;

	if (tdw == 2) {
		s = '<a class="ass" onClick="splitobj(this.parentNode.parentNode)">&nbsp;&nbsp;|&nbsp;&nbsp;</a>';
		szs = 15;
	}
	pobj.innerHTML = s+'<a class="as" onClick="rmobj(this.parentNode)">&nbsp;&#215;&nbsp;</a><label id=lsiopt'+i+' for=siopt'+i+'>'+val+'</label>  <input name=siopt'+i+' id=siopt'+i+' class="inp" size='+szs+'>';
	return false;
}

function addobj(obj, sz) {
	obj.parentNode.removed--;
	if (sz == 1) {
		obj.innerHTML = "<td style='width:400px;'><input type=text placeholder='Enter field name here' onChange='addtdobj(this.parentNode, this.value, 1)'></td>";
	} else {
		obj.innerHTML = "<td style='width:800px;' colspan=2><input type=text placeholder='Enter field name here' onChange='addtdobj(this.parentNode, this.value, 2)'></td>";
		var i = 1;
		alert(obj.parentNode.nodeName);
		if (obj.parentNode.childNodes.length < 18)
			obj.parentNode.innerHTML += '<tr><td class="snl1" style="width:400px;" ><a class="asp" onClick="addobj(this.parentNode.parentNode, 2)">&nbsp;+&nbsp;</a></td></tr> ';
	}
}

function check_mm(msg) {
	var sndb = document.getElementById('stdvsmb');
	if (msg.length == 0)
		sndb.style.visibility = 'hidden';
	else
		sndb.style.visibility = 'inherit';
}


function check_for_error(res) {
	if (res.indexOf('Traceback (most recent call last):') != -1) {
		alert('Internal Error Occurred! Report the problem.<br>\n'+res);
		return true;
	}
								  	
	return false;
}

function update_tch_classes(res) {
	if (check_for_error(res))
		return;

	var str = '<br><table class="tclist" cellspacing=0><tr><th class="tcli" >Grade</th><th class="tcli" >Section</th><th class="tcli" >Subject</th></tr>';
	if (res != '-None-') {
		if (res == '-EEXIST-') {
			alert('This class is already assigned!');
			return;
		}
		var tclsa = res.split(',');
		for (var i = 0; i < tclsa.length; i++) {
			var tinf = tclsa[i].split(':');
			str += '<tr>';
			for (j = 4; j < tinf.length; j++) {
				str = str + '<td class="tcli">'+tinf[j]+'</td>';
			}
			str += '<td class="button red medium addb" onClick="del_tch_class('+"'"+tinf[0]+"'"+')">Delete</td>';
			str += '</tr>';
		}
	} else {
		str += '<tr><td>No classes are assigned to this teacher</td></tr>';
	}
	str += '</table>';
	var tcccls = document.getElementById('tcccls');
	tcccls.innerHTML = str;
}

function get_tch_info(tcobj, tcid, tcname) {
	hide_add_teachers_form();
	if (cur_tcvitm) {
		cur_tcvitm.style.background = 'inherit';
		cur_tcvitm.style.fontSize = '14px';
		cur_tcvitm.style.fontWeight = 'normal';
		cur_tcvitm.selected = false;
	}
	tcobj.style.background = '#B0B0B0';
	tcobj.style.fontSize = '16px';
	tcobj.style.fontWeight = 'bold';
	tcobj.selected = true; 
	cur_tcvitm = tcobj;
	cur_tchid = tcid;
	var tcl2div = document.getElementById('tcl2div');
	tcl2div.style.visibility = 'inherit';
	var tcmtd = document.getElementById('tcmtd');
	tl2chtab(tcmtd, 1);
	call("/get1tch?tcid="+tcid, null, update_tch_info);
	call("/get1tchcls?syid="+cur_schyrid+"&&tcid="+tcid, null, update_tch_classes);
}

function show_std_sched() {
	var svshpg = document.getElementById('svshpg');
	var cl ;
	if (!calist['svshpg']) {
		cl = new Calendar(svshpg, 'svshpg', 75, 'SS', get_month_ents, true, 'add_event');
		calist['svshpg'] = cl;
		cl.show(40, 40);
	}
}

var tvcl = null;

function show_tcls_sched() {
	var tclcal = document.getElementById('tclcal');
	var clid = cur_scid+'';
	if (!calist[clid]) {
	    tvcl = new Calendar(tclcal, clid, 75, 'SS', get_month_ents, false, 'add_event');
	    calist[clid] = tvcl;
	    tvcl.show(40, 40);
	}
}

function valid_schname(name) {
	return (name.search(/[^\-a-zA-Z0-9_\. ']/) == -1);
}

function valid_schaddr(addr, cntry) {
	return (addr.search(/[^\-a-zA-Z0-9_#\.'&\(\)\[\]\{\}\/:;, \n\r]/) == -1);
}

function validate_addsch_form(fobj) {
	var snm = fobj.elements.namedItem('snm').value;
	var sadr = fobj.elements.namedItem('shaline1').value;
	var stgr = fobj.elements.namedItem('stgr').value;
	var engr = fobj.elements.namedItem('engr').value;
	var ctry = fobj.elements.namedItem('shactry').value;
	var city = fobj.elements.namedItem('shacity').value;
	var state = fobj.elements.namedItem('shastt').value;
	var pscd = fobj.elements.namedItem('shapscd').value;
	var schy = fobj.elements.namedItem('schy').value;
	if (city=="" || state == "" || pscd == "" || sadr == "") {
		alert('Please fill in all the required address fields');
		return false;
	}
	if (ctry == '0') {
		alert('Please select country');
		return false;
	}
	if (schy == '0') {
		alert('Please select school year');
		return false;
	}
	if (parseInt(stgr) > parseInt(engr)) {
		alert('starting grade cannot be greater then ending grade');
		return false;
	}
	if (!valid_schname(snm)) {
		alert("Invalid schoolname - invalid characters. Allowed characters are - a to z, A to Z, 0 to 9, -, ' ");
		return false;
	}
	return true;
}


function sctest_show_stds(res) {
	if (check_for_error(res))
		return;
	//alert('sctestshowstds===='+res);
	var tststds;
	if (cur_view == 1)
		tststds = document.getElementById('tststds');
	else
		tststds = document.getElementById('tvtststds');
	if (res == '-None-') {
		tststds.innerHTML = "No Students in this section";
		return;
	}
	var rinfo = res.split(',');
	var tst = "<table>";
	for (var i = 0; i < rinfo.length; i++) {
		var sinfo = rinfo[i].split(':');
		tst += '<tr><td class="stnum">'+sinfo[0]+'</td><td class="stnm">'+sinfo[1]+
		    '</td><td><input id="tstd-'+i+'" class="inps" size=3 value = "" name="'+sinfo[2]+'"></td></tr>';
	}
	tst += '</table>';
	tststds.innerHTML = tst;
	tststds.nstd = rinfo.length;
}

function show_sec_students(sbid) {
	var tststds = document.getElementById('tststds');
	if (sbid == 0) {
		tststds.innerHTML = '';
		return;
	}
	call("/getsecstdt?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid, null, sctest_show_stds);
}

function show_students1(scid) {
	call("/getsecstdt?sid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+scid, null, grtest_show_stds);
}

function get_stdrepcard() {
	window.open("/getstdrepcard?stdid="+cur_stv_stclid, "Report Card", "menubar=1,location=0");
}

function getrepcard(obj) {
	window.open("/getrepcard?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid+"&&stid="+cur_stid, "Report Card", "menubar=1,location=0");
}

var gtrobj = null;
var std_upd_prevscrn = 1;

function back_to_prevscrn() {
	switch (std_upd_prevscrn) {
		case 1: 
			var grdtabtd = document.getElementById('grtd');
			l1chtab(grdtabtd, 2);
			break;
		default: break;
	}
}

var cur_stnum = "";

function show_upd_std_info(res) {
	if (check_for_error(res))
		return;
	var spinf = res.split('^');
	var str = '<form action="/updstdinfo" method="POST" enctpe="multipart/form-data" onSubmit="return validate_updstd_form(this);">' +
		'<table>'+
		'<tr><td>Name</td><td><input id="svnm" class="inpg" value="'+spinf[7]+'"></td></tr>' +
		'<tr><td>Address</td><td><textarea id="svta" class="gta" value="'+spinf[0]+'">'+spinf[0]+'</textarea></td></tr>'+
		'<tr><td>Email</td><td><input id="svem" class="inpg" value="'+spinf[5]+'"></td></tr>' +
		'<tr><td>Phone</td><td><input id="svph" class="inpg" value="'+spinf[6]+'"></td></tr>' +
		'<tr><td>Parent Name</td><td><input id="svpn" class="inpg" value="'+spinf[1]+'"></td></tr>' +
		'<tr><td>Parent Email</td><td><input id="svpe" class="inpg" value="'+spinf[2]+'"></td></tr>' +
		'<tr height=60></tr></table><table><tr><td width=100></td>'+
		'<tr><td width=250></td><td><input class="button medium green" style="font-weight:bold" type="submit" value="Update"></td><td width=200></td></tr></table>'+
		'</form>';
	/*
	var stutab = document.getElementById('stutab');
	stutab.innerHTML = str;
	*/
	pages[cur_page+""] = str;
	show_screen(cur_page, 'Edit&nbsp;&nbsp;&raquo;');
}

function edit_stdinfo(obj) {
	if (cur_level != 5)
		return;

	cur_level++;
	cur_page = cur_page << 4 | 3;

	call("/getstdprof?stid="+cur_stid, null, show_upd_std_info);
}

function handle_stdsel(trobj, stid, stnum, stname) {
	if (cur_level != 4)
		return;
	/*
	if (gtrobj) {
		gtrobj.style.background = gtrobj.bg;
	}
	gtrobj = trobj;
	gtrobj.bg = trobj.style.background;
	trobj.style.background = "#DDDDDD";
	*/

	cur_stid = stid;
	cur_level++;
	cur_page = cur_page << 4 | 1;
	cur_stnum = stnum;
	pages[cur_page+""] = "<center><h2>"+stnum+". "+stname+"</h2></center>"+std_name_str;
	show_screen(cur_page, stnum+'&nbsp;&nbsp;&raquo;');
}

function handle_stdsel_old(trobj, stid) {
	//var stdtbe = document.getElementById('stdtbe');
	if (gtrobj) {
		gtrobj.style.opacity = gtrobj.oc;
		gtrobj.childNodes[2].style.visibility='hidden';
	}
	gtrobj = trobj;
	gtrobj.oc = trobj.style.opacity;
	trobj.style.opacity = 0.75;
	trobj.childNodes[2].style.visibility='inherit';
	//ssttabb.innerHTML = '<table><tr><td width=75></td><td onClick="edit_stdinfo('+"'"+stid+"'"+');" class="button medium blue">Edit</td><td width=150></td><td onClick="getrepcard('+"'"+stid+"'"+');" class="button medium gray">Get Report Card</td></tr></table>';
	//stdtbe.style.visibility = 'inherit';
}

function show_sub_oper(sbobj, sbid, sbname) {
	hide_add_subs_form();
	if (cur_sbvitm) {
		cur_sbvitm.style.background = 'inherit';
		cur_sbvitm.style.fontSize = '14px';
		cur_sbvitm.style.fontWeight = 'normal';
		cur_sbvitm.selected = false;
	}
	sbobj.style.background = '#B0B0B0';
	sbobj.style.fontSize = '16px';
	sbobj.style.fontWeight = 'bold';
	sbobj.selected = true;
	cur_sbvitm = sbobj;
	var sbl4div = document.getElementById('sbl4div');
	sbl4div.style.visibility = 'inherit';
}

/* THERE is a BUG with adding a subject first to section and then to the grade. For example., add Math to section first and then add it to grade, then section subjects will show it twice...FIX THIS. */

function open_printwind() {
	//window.open("/prtstinf?xxx=1", "Scores", "menubar=1,location=0");
	window.open("/prtstinf?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid+"&&tsnm="+cur_tstname+"&&tssub="+cur_tssel_id, "Scores", "menubar=1,location=0");
}

function mod_test_scores() {
	alert('modify test scores -- not implemented');
}

function make_editable(obj) {
	var rov;
	var clr;
	var tssslist;
	var tstr = "tstd-";
	var cncl;
	var edsv;
	tssslist = document.getElementById('tssslist1');
	cncl = document.getElementById('svcncl');
	edsv = document.getElementById('svedsv');
	if (obj.innerHTML == 'Edit') {
		obj.innerHTML = 'Save';
		rov = false;
		clr = 'black';
		cncl.style.visibility = 'inherit';
	} else if (obj.innerHTML == 'Save') {
		mod_test_scores();
		obj.innerHTML = 'Edit';
		rov = 'readonly';
		clr = 'grey';
		cncl.style.visibility = 'hidden';
	} else {
		edsv.innerHTML = 'Edit';
		rov = 'readonly';
		clr = 'grey';
		cncl.style.visibility = 'hidden';
	}
	for (var i = 0; i < tssslist.nstds; i++) {
		var tstd = document.getElementById(tstr+i);
		tstd.readOnly = rov;
		tstd.style.color = clr;
	}
}


function tsssel_changed(val) {
	if (val == "0") {
		var tssslist = document.getElementById('tssslist');
		tssslist.innerHTML = '';
		return;
	}
	//alert('==='+val+'===');
	cur_tssel_id = val;
	call("/gettstinf?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid+"&&tsnm="+cur_tstname+"&&tssub="+val, null, show_tst_info);
}

function get_tv_tst_info(tsobj, tsid, tssubs, tsname) {
	hide_tv_add_tests_form();
	if (cur_tsvitm) {
		cur_tsvitm.style.background = 'inherit';
		cur_tsvitm.style.fontSize = '14px';
		cur_tsvitm.style.fontWeight = 'normal';
		cur_tsvitm.selected = false;
	}
	tsobj.style.background = '#B0B0B0';
	tsobj.style.fontSize = '16px';
	tsobj.style.fontWeight = 'bold';
	tsobj.selected = true; 

	cur_tsvitm = tsobj;
	cur_tsvitm.style.background = 'lightblue';
	var tvtset = document.getElementById('tvtset');
	tvtset.style.visibility = 'inherit';
	var tsssel = document.getElementById('tsssel');
	cur_tstid = tsid;
	cur_tstname = tsname;
	//alert(tssubs);
	tsssel.innerHTML = '<option value="0">----</option>'+ create_sel_opt_string(tssubs);
	document.getElementById('tssslist1').innerHTML = '<br><br><br><b>Loading test data...</b>';
	call("/gettstinf?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid+"&&tsnm="+cur_tstname+"&&tssub="+cur_subid, null, show_tst_info);
	//alert(tsssel.innerHTML);
}

function get_tst_info1(tsobj, tsid, tssubs, tsname) {
	hide_add_tests_form();
	if (cur_tsvitm) {
		cur_tsvitm.style.background = 'inherit';
		cur_tsvitm.style.fontSize = '14px';
		cur_tsvitm.style.fontWeight = 'normal';
		cur_tsvitm.selected = false;
	}
	tsobj.style.background = '#B0B0B0';
	tsobj.style.fontSize = '16px';
	tsobj.style.fontWeight = 'bold';
	tsobj.selected = true; 

	cur_tsvitm = tsobj;
	cur_tsvitm.style.background = 'lightblue';
	var tsl4div = document.getElementById('tsl4div');
	tsl4div.style.visibility = 'inherit';
	var tsssel = document.getElementById('tsssel');
	cur_tstid = tsid;
	cur_tstname = tsname;
	//alert(tssubs);
	tsssel.innerHTML = '<option value="0">----</option>'+ create_sel_opt_string(tssubs);
	//alert(tsssel.innerHTML);
}

function clear_addtst_form() {
	document.getElementById('tstid').value = '';
	document.getElementById('tstdt1').value = '';
	document.getElementById('tstsb').selectedIndex = 0;
}



function add_grdsub() {
	var gsubpx = document.getElementById('gsubpx').value;
	var gsubid = document.getElementById('subnm').value;
	hide_cur_screen();
	/*
	var gmsec4 = document.getElementById('gmsec3');
	gmsec4.style.visibility = 'hidden';
	document.getElementById('ms3').style.visibility='hidden';
	*/
	call("/addsubs?syid="+cur_schyrid+"&&crs="+cur_grid+"&&subs="+escape(gsubpx+":"+gsubid), null, update_grdsub_info, "POST");
}

function add_grd_secsub() {
	var scsubpx = document.getElementById('scsubpx').value;
	var scsubid = document.getElementById('scsubnm').value;
	hide_cur_screen();
	/*
	var gmsec4 = document.getElementById('gmsec3');
	gmsec4.style.visibility = 'hidden';
	document.getElementById('ms3').style.visibility='hidden';
	*/
	call("/addsecsub?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid+"&&sub="+escape(scsubpx+":"+scsubid), null, update_sec_sub_info, "POST");
}

function update_gsec_sub_inpval(iobj, v) {
	if (v == 1) {
		if (iobj.value == cur_grname) {
			iobj.value = '';
			iobj.style.color = 'black';
		}
	} else {
		if (iobj.value == '') {
			iobj.style.color = 'lightgrey';
			iobj.value = cur_grname;
		}
	}
}

function update_gsub_inpval(iobj, v) {
	if (v == 1) {
		if (iobj.value == cur_grname) {
			iobj.value = '';
			iobj.style.color = 'black';
		}
	} else {
		if (iobj.value == '') {
			iobj.style.color = 'lightgrey';
			iobj.value = cur_grname;
		}
	}
}


function hide_addsch_form() {
	var addsch = document.getElementById('addsch');
	addsch.style.visibility = 'hidden';
}

function hide_addgrd_form() {
	var addgrd = document.getElementById('addgrd');
	addgrd.style.visibility = 'hidden';
	var ngrd = document.getElementById('ngrd');
	ngrd.style.background = 'inherit';
	ngrd.style.fontSize = '14px';
	ngrd.style.fontWeight = 'normal';
	ngrd.selected = false;
}

function hide_addsec_form() {
	var addsec = document.getElementById('addsec');
	addsec.style.visibility = 'hidden';
	var nsec = document.getElementById('nsec');
	nsec.style.background = 'inherit';
	nsec.style.fontSize = '14px';
	nsec.style.fontWeight = 'normal';
	nsec.selected = false;
}

function show_add_school_form() {
	var addsch = document.getElementById('addsch');
	addsch.style.visibility = 'inherit';
}

function hide_add_teachers_form() {
	var ntch = document.getElementById('ntch');
	ntch.style.background = 'inherit';
	ntch.style.fontSize = '14px';
	ntch.style.fontWeight = 'normal';
	ntch.selected = false;
	var addtch = document.getElementById('addtch');
	addtch.style.visibility = 'hidden';
}

function hide_add_subs_form() {
	var nsub = document.getElementById('nsub');
	nsub.style.background = 'inherit';
	nsub.style.fontSize = '14px';
	nsub.style.fontWeight = 'normal';
	nsub.selected = false;
	var addsub = document.getElementById('addsub');
	addsub.style.visibility = 'hidden';
}

function hide_tv_add_tests_form() {
	var ntst = document.getElementById('tv_ntst');
	ntst.style.background = 'inherit';
	ntst.style.fontSize = '14px';
	ntst.style.fontWeight = 'normal';
	ntst.selected = false;
	var addtst = document.getElementById('tvtsne');
	addtst.style.visibility = 'hidden';
}

function hide_add_tests_form() {
	var ntst = document.getElementById('ntst');
	ntst.style.background = 'inherit';
	ntst.style.fontSize = '14px';
	ntst.style.fontWeight = 'normal';
	ntst.selected = false;
	var addtst = document.getElementById('addtst');
	addtst.style.visibility = 'hidden';
}

function show_add_teachers_form() {
	if (cur_tcvitm) {
		cur_tcvitm.style.background = 'inherit';
		cur_tcvitm.style.fontSize = '14px';
		cur_tcvitm.style.fontWeight = 'normal';
		cur_tcvitm.style.selected = false;
	}
	cur_tcvitm = null;
	var tcl2div = document.getElementById('tcl2div');
	tcl2div.style.visibility = 'hidden';
	var addtch = document.getElementById('addtch');
	addtch.style.visibility = 'inherit';
	var ntch = document.getElementById('ntch');
	ntch.style.background = '#B0B0B0';
	ntch.style.fontSize = '16px';
	ntch.style.fontWeight = 'bold';
	ntch.selected = true;
}

function show_add_subs_form1() {
	document.getElementById('ms3').innerHTML = 'New&nbsp;&nbsp;&raquo;';
	var gmsec4 = document.getElementById('gmsec3');

	lftmnu_cursel.mdiv4 = gmsec4;
	gmsec4.style.visibility = 'inherit';
	document.getElementById('addsub').style.visibility = 'inherit';
	document.getElementById('secinf').style.visibility = 'hidden';
	document.getElementById('addsec').style.visibility = 'hidden';

}

/*
function show_add_tests_form() {
	if (cur_tsvitm) {
		cur_tsvitm.style.background = 'inherit';
		cur_tsvitm.style.fontSize = '14px';
		cur_tsvitm.style.fontWeight = 'normal';
		cur_tsvitm.selected = false;
	}
	cur_tsvitm = null;
	var tsl4div = document.getElementById('tsl4div');
	tsl4div.style.visibility = 'hidden';
	var addtst = document.getElementById('addtst');
	addtst.style.visibility = 'inherit';
	var ntst = document.getElementById('ntst');
	ntst.style.background = '#B0B0B0';
	ntst.style.fontSize = '16px';
	ntst.style.fontWeight = 'bold';
	ntst.selected = true;
}
*/

function tv_add_test_scores() {
}

function show_tv_add_tests_form() {
	if (cur_tsvitm) {
		cur_tsvitm.style.background = 'inherit';
		cur_tsvitm.style.fontSize = '14px';
		cur_tsvitm.style.fontWeight = 'normal';
		cur_tsvitm.selected = false;
	}
	cur_tsvitm = null;
	var tsl4div = document.getElementById('tvtset');
	tsl4div.style.visibility = 'hidden';
	var addtst = document.getElementById('tvtsne');
	addtst.style.visibility = 'inherit';
	var ntst = document.getElementById('tv_ntst');
	ntst.style.background = '#B0B0B0';
	ntst.style.fontSize = '16px';
	ntst.style.fontWeight = 'bold';
	ntst.selected = true;
}

function chng_tabg(tabobj, val, tblevel) {
	if (tabobj.selected)
		return;
	var s = "";
	if (tblevel == 3)
		s = "small"
	if (val == 1) {
		tabobj.className = s+'menubutton whover ntab'+tblevel;
	} else {
		tabobj.className = s+'menubutton white ntab'+tblevel;
	}
}

function chng_bg(vmnuobj, val) {
	if (vmnuobj.selected) 
		return;
	if (val == 1) {
		vmnuobj.style.background = '#D0D0D0';
	} else {
		if (!vmnuobj.selected) {



			vmnuobj.style.background = '#FFFFFF';
		}
	}
}

function clear_tchform(res) {
	if (check_for_error(res))
		return;
	//alert(res);
}


function show_match_students(res) {
	if (check_for_error(res))
		return;
	//alert(res);
}

function srch_students() {
	call("/findstdts?strl="+document.getElementById('stsrst').value, null, show_match_students);
}

function clear_stform1(res) {
	//alert(res);
	if (check_for_error(res))
		return;
	// alert(res);
	document.getElementById('stnm').value = "";
	document.getElementById('stbd').value = "";
	document.getElementById('stpn1').value = "";
	document.getElementById('stad').value = "";
	document.getElementById('stem').value = "";
	document.getElementById('stph').value = "";
	document.getElementById('stpe1').value = "";
	document.getElementById('stdglist').selectedIndex = 0;
	document.getElementById('stscsel').selectedIndex = 0;
	if (cursl3tabdiv) {
	}
	cursl3tabdiv.style.visibility = 'inherit';
}


function update_std_form(gsecs) {
	//alert(gsecs);
	var stscsltd = document.getElementById('stscsltd');
	var gsec_opts = '';
	if (gsecs != '-None-') {
		gsec_opts = create_sel_opt_string(gsecs);
	}
	stscsltd.innerHTML = '<select id="stscsel" class="grsel"><option value="0">Assign Later</option>'+gsec_opts+'</select>';
}

function std_grade_selected(grid) {
	//alert('---'+grid);
	call("/getgrdsecs?crs="+grid, null, update_std_form);
}


function show_stnums(res) {
	if (check_for_error(res))
		return;
	//alert(res);
}

function assign_stnums() {
	var prfx = document.getElementById('stnpfix').value;
	call("/asgnstnums?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid+"&&prfx="+prfx, null, show_stnums, "POST");
}

function mygrsrt(a, b) {
	var ar = a.split(':');
	var br = b.split(':');
	return (ar[1] < br[1]);
}

function update_grd_list(grdlist) {
	var grvmnu = document.getElementById('grvmnu');
	var tbstr = '<table><tr><td id="ngrd" onMouseOver="chng_bg(this, 1)" onMouseOut="chng_bg(this, 2)" class="nmit" onClick="show_add_grades_form()">New</td></tr><tr height=50></tr>';
	var ost = '<option value="0">----</option>';
	if (grdlist != '-None-') {
		ost += create_sel_opt_string(grdlist);

		var sarr = grdlist.split(',');
		for (var i = 0; i < sarr.length; i++) {
			var inf = sarr[i].split(':');
			tbstr += '<tr><td class="mit" onMouseOver="chng_bg(this, 1)" onMouseOut="chng_bg(this, 2)" onClick="get_grd_info(this,'+"'"+inf[0]+"'"+",'"+inf[1]+"'"+')">'+inf[1]+'</td></tr>';
		}
		var tcgr = document.getElementById('tcgr');
		tcgr.innerHTML = ost;
	}
	stdgrds = ost;
	tbstr += '</table>';
	grvmnu.innerHTML = tbstr;
	var stdglist = document.getElementById('stdglist');
	stdglist.innerHTML = ost;
	show_add_grades_form();
}


function delcalent(k) {
	alert('Not implemented - '+k);
}

function get_attachment(cky) {
	window.open("/getattachment?centky="+cky, "Attachment", "menubar=1,location=0");
}

function show_dayent(res) {
	if (check_for_error(res))
		return 'internal error';
	// alert(res);
	var cinf = res.split(':');
	var inf = cinf[0].split('-');
	var str = '<table border=0 cellspacing=0><tr><td>';
	switch (parseInt(inf[1], 10)) {
		case 1: str += 'Test on this day';break;
		case 2: str += 'Assignment due on this day';break;
		case 3: str += 'Notes';break;
		case 100: str += 'Holiday';break;
	}
	var cstr;
	var dnlds="";
	var l = cinf[1].length-1;
	
	if (cinf[1].charAt(l) == '~') {
		cstr = cinf[1].substr(0, l);
		dnlds = '<tr height=30></tr><tr><td class="button green medium" onClick="get_attachment('+"'"+inf[0]+"'"+')" >Download Attachement</td></tr>';
	} else
		cstr = cinf[1];
	str += '</td></tr><tr><td>'+cstr+'</td></tr>'+dnlds+'<tr height=100></tr></table>';
	if (cur_view == 1) {
		str += '<table><tr><td width=100></td><td onClick="delcalent('+"'"+inf[0]+"'"+');" class="button red medium addb">Delete</td></tr></table>';
	}
	/*
	if (cal_evid == cur_schyrid) {
		document.getElementById('nclicc').innerHTML=str;
	} 
	*/
	return str;
}

function showoneclent(obj) {
	var ni = document.getElementById('nclicc');
	ni.style.visible = 'inherit';
	var nn = document.getElementById('nclncc');
	if (nn)
		nn.style.visible = 'hidden';
	var str = show_dayent(obj.inf);
	ni.innerHTML = str;
}

function show_calents(res) {
	if (check_for_error(res))
		return;
	//alert(res);
	var cents = res.split(',');
	var d1, d2, d3;

	if (cal_evid == cur_schyrid) {
		d1 = document.getElementById('nclvmn');
		d2 = document.getElementById('nclncc');
		d3 = document.getElementById('nclicc');
	} else if (cal_evid == cur_scid) {
		if (cur_view == 2) {
			d1 = document.getElementById('tcnclvmn');
			d2 = document.getElementById('tcnclncc');
			d3 = document.getElementById('tcnclicc');
		} else {
			d1 = document.getElementById('scnclvmn');
			d2 = document.getElementById('scnclncc');
			d3 = document.getElementById('scnclicc');
		}
	}
	var cmenu = new vMenu('X', 0, 387, d1, d2, d3);
	cmenu.show(res, showoneclent, true);
}

function show_month_ents(res) {
	if (check_for_error(res))
		return;
	//alert(res);
	var idx = res.indexOf('^');
	var clid = res.substring(0, idx);
	var arg = res.substr(idx+1);
	calist[clid].show1(arg);
	
}

function get_month_ents(idt, dt, func) {
	call("/getmnthents?idt="+idt+"&&dt="+dt, null, show_month_ents);
}

function get_sec_month_ents(idt, dt, func) {
	alert('not implemented');
}

function show_seccal() {
	var sclcal = document.getElementById('sclcal');
	calist[cur_scid] = new Calendar(sclcal, ''+cur_scid, 60, 'SS', get_month_ents, false, 'add_event');
	calist[cur_scid].show(30, 85);
}

function show_calendar(ctd) {
	//ctd.style.background = 'lightblue';
	document.getElementById('gnl2div').style.visibility = 'inherit';
	var ncltab = document.getElementById('ncltab');
	ncltab.style.visibility = 'inherit';
	calist[cur_schyrid] = new Calendar(ncltab, ''+cur_schyrid, 75, 'SS', get_month_ents, false, 'add_event');
	calist[cur_schyrid].show(30, 85);

}

function show_sch_emblem(res) {
	if (check_for_error(res))
		return;
	//alert(res);
	document.getElementById('semb').innerHTML = res;
}

function addtocal() {
	var desc;
	//alert(desc);
	var de;
	if (cal_evid == cur_schyrid) {
		de = document.getElementsByName('dtype');
		desc = document.getElementById('cdesc').value;
	} else {
		de = document.getElementsByName('sdtype');
		desc = document.getElementById('scdesc').value;
	}
	var dtype = 0;
	for (var d = 0; d < de.length;d++) {
		if (de[d].checked) {
			dtype = de[d].value;
			break;
		}
	}
	call("/addcalent?idt="+cal_evid+"&&dt="+cal_evdt+"&&desc="+desc+"&&hday="+dtype, null, show_calents, "POST");
}

function cleartcal() {
	document.getElementById('tclapp').style.visibility = 'hidden';
	document.getElementById('tclcal').style.visibility = 'inherit';
}

function clearscal() {
	document.getElementById('sclapp').style.visibility = 'hidden';
	document.getElementById('sclcal').style.visibility = 'inherit';
}

function clearcal() {
	document.getElementById('nclapp').style.visibility = 'hidden';
	document.getElementById('ncltab').style.visibility = 'inherit';
}

function clear_mstts(v) {
	for (var i = v; i < 5; i++) {
		document.getElementById('ms'+i).innerHTML = '';
	}
}



function hide_addschool_form() {
	document.getElementById('newsch').style.visibility = 'hidden';
}

function show_addschool_form() {
	document.getElementById('recdiv').style.visibility = 'hidden';
	document.getElementById('newsch').style.visibility = 'inherit';
}



function stdv_send_msg_res(res) {
	alert(res);
}

function stdv_send_msg() {
	var msg = document.getElementById('svmsg').value;
	call('/stdvsndm?stdclid='+cur_stv_stclid+'&&msg='+escape(msg), null, stdv_send_msg_res, "POST");
}

function show_msg_box() {
	document.getElementById('svmbox').style.visibility = 'inherit';
}

function send_msg2tch(opt, tid) {
	alert('Not Implemented');
}


function get_std_subtch() {
	call("/getstdsbtch?stdid="+cur_stv_stclid, null, show_std_subtch);
}

function make_svp_editable() {
	alert('Not Implemented');
}

function show_std_profile(res) {
	if (check_for_error(res))
		return;
	var pplft = document.getElementById('pplft');
	var spinf = res.split('^');
	var str = '<table><tr><td>Address</td><td><textarea id="svta" class="gta" readOnly value="'+spinf[0]+'">'+spinf[0]+'</textarea></td></tr>'+
			'<tr><td>Email</td><td><input id="svem" class="inpg" readOnly value="'+spinf[5]+'"></td></tr>' +
			'<tr><td>Phone</td><td><input id="svph" class="inpg" readOnly value="'+spinf[6]+'"></td></tr>' +
			'<tr><td>Parent Name</td><td><input id="svpn" class="inpg" readOnly value="'+spinf[1]+'"></td></tr>' +
			'<tr><td>Parent Email</td><td><input id="svpe" class="inpg" readOnly value="'+spinf[2]+'"></td></tr>' +
			'<tr><td><input type="checkbox" id="stcb1">Allow messages/SMSes from other parents</td></tr>'+
			'<tr><td><input type="checkbox" id="stcb1">Allow messages/SMSes from other students</td></tr>'+
			'<tr><td><input type="checkbox" id="stcb1">Send SMS when a test score is available</td></tr>'+
			'<tr height=60></tr></table><table><tr><td width=100></td>'+
			'<td class="button green medium addb" onClick="make_svp_editable()">Edit</td></tr>'+
			'</table>';
	update_lftmnu(pplft);
	cur_page = 4;
	pages[cur_page+""] = str;
	show_screen(4, '');
}

function get_std_profile() {
	call("/getstdprof?stid="+cur_stv_stid, null, show_std_profile);
}

function stdv_show_upcoming(res) {
	//alert(res);
	if (res == '-None-') {
		res = 'No Upcoming Events';
		return;
	}
	var str= '<table><tr><td colspan=3 style="background:lightgreen">Upcoming Events</td></tr>';
	var dyents = res.split('^');
	for (var d = 0; d < dyents.length; d++) {
		var ents = dyents[d].split(',');
		for (var e = 0, p=1; e < ents.length; e++, p=0) {
			var cinf = ents[e].split(':');
			var inf = cinf[p].split('-');
			if (e == 0)
				str += '<tr><td>'+cinf[p-1]+'</td>';
			else
				str += '<tr><td></td>';

			/* May be we can just color code based on the type 
			switch (parseInt(inf[1], 10)) {
				case 0: str += '<td>Info</td>';break;
				case 1: str += '<td>Test </td>';break;
				case 2: str += '<td>Assignment</td>';break;
				case 3: str += '<td>Notes</td>';break;
				case 100: str += '<td>Holiday</td>';break;
			}
			*/
			var l = cinf[p+1].length-1;
			
			if (cinf[p+1].charAt(l) == '~') {
				str += '<td width=200>'+cinf[p+1].substr(0, l)+'</td>' +
				'<td onClick="get_attachment('+"'"+inf[0]+"'"+')" ><IMG SRC="/images/paperclip2.jpg"  width=20 height=20 /></td></tr>';
			} else
				str += '<td width=200>'+cinf[p+1]+'</td><td></td></tr>';
		}
	}
	str += '</table>';
	document.getElementById('upc').innerHTML = str;
}

function stdv_show_one_month(res) {
	// alert(res);
	cal_evid = 0;
	cur_page = 1;
	pages[cur_page+""] = '<div style="position:absolute;top:0px;left:0px;width:480px;height:100%;">'+ Calendar.getOneMonth(res, cal_evid, cur_cald, 60, 'show_event', false, 'SS') + '</div><div id="upc" style="position:absolute;top:0px;left:480px;height:100%;overflow:auto;"></div>';
	show_screen(1, '');
}

function show_std_calendar() {
	var pclft = document.getElementById('pclft');
	update_lftmnu(pclft);
	cur_cald = new Date();
	var dt = (cur_cald.getMonth()+1)+"/1/"+cur_cald.getFullYear();
	call("/getrecmnthents?idt="+cur_scid+"&&dt="+dt, null, stdv_show_one_month);
	dt = (cur_cald.getMonth()+1)+"/"+cur_cald.getDate()+"/"+cur_cald.getFullYear();
	// alert(dt);
	call("/getupcoming?idt="+cur_scid+"&&dt="+dt, null, stdv_show_upcoming);
}

function show_std_onltests(res) {
	//alert(res);
	var tbstr = "";
	if (res != '-None-') {
	    var sarr = res.split(',');
	    for (var i = 0; i < sarr.length; i++) {
		var inf = sarr[i].split(':');
		/******** TESTNAME cannot have ':' *******/
		tbstr += '<div style="float:left;position:relative;width:250px;height:75px;padding:5px;">'+
			'<a href="javascript:get_oltst_info(this,'+"'" + inf[0] + "','" + inf[1] + "'" + ')" class="button medium white" style="width:60px;height:40px;font-size:12px;"><b>' + inf[1] + '</b></a> </div>';
	    }
	} else {
		tbstr = "<h3><center>None</center></h3>";
	}
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = tbstr;
	show_screen(cur_page, 'Online Tests&nbsp;&nbsp;&raquo;');
}

function get_std_onltests(sbid) {
	if (cur_level != 0)
		return;
	cur_level++;
	var dt = new Date();
	var cdt = dt.getTime();
	call("/getcdtontsts?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid+"&&sub="+sbid+"&&cdt="+cdt, null, show_std_onltests);
}

function show_std_subtch(res) {
	//alert(res);
	if (check_for_error(res))
		return;
	//alert(res);
	var stinf = res.split(',');
	var str = '<table>';
	for (var s = 0; s < stinf.length; s++) {
		var ts = stinf[s].split(':')
		str += '<tr><td class="svtxt14" >Subject</td><td>'+ts[1]+'</td><td width=50></td><td class="svtxt14">Teacher</td><td>'+ts[3];
		if (cur_view == 3)
			str += 	'</td><td class="button green medium addb" style="width:85px;" onClick="get_std_onltests('+"'"+ts[0]+"'"+');">Online Tests</td>' + '<td width=25>';
		str += '</td><td class="button blue medium addb" style="width:50px;" onClick="send_msg2tch(1,'+"'"+ts[2]+"'"+');">Mail</td>'+
		       '</td><td class="button blue medium addb" style="width:50px;" onClick="send_msg2tch(2,'+"'"+ts[2]+"'"+');">SMS</td>'+
		       '</tr>';
	}
	str += '</table>';
	cur_page = 3;
	pages[cur_page+""] = str;
	show_screen(cur_page, '');
}

function show_student_classinfo(obj) {
	var pilft = document.getElementById('pilft');
	update_lftmnu(pilft);
	call("/getstdsbtch?stdid="+cur_stv_stclid, null, show_std_subtch);
}

function show_student(res) {
	if (check_for_error(res))
		return;
	var sinf = res.split(':');
	document.getElementById('fpage').style.visibility = 'hidden';
	document.getElementById('spage').style.visibility = 'inherit';
	cur_schid = sinf[0];
	var secinf = sinf[6].split(';');
	var grdinf = sinf[5].split(';');
	document.getElementById('schtt').style.left = '0px';
	document.getElementById('schtt').style.width = '100%';
	//document.getElementById('schtt').style.background = 'lightblue';
	var embst = "";
	if (embstatus == 'True')
		embst = "<img src='getemimg?sid="+cur_schid+"' width=50 height=50 />";
	else
		embst = "<img src='/images/noemblem1.png' width=50 height=50 />";
	document.getElementById('schtt').innerHTML = ' <table cellspacing=0 border=0 style="position:absolute;left:10px;"><tr> <td id="psemb" >' + '<center>'+embst+'</center>' + '</td> <td class="svtxt14">Name</td><td class="txt14" id="svnm"> ' + sinf[3] + '</td><td width=150></td><td class="svtxt14" >Number</td><td class="txt14" id="svnum">' + sinf[4] + '</td></tr><tr> <td id="pschname" style="width:250px;font-size:14px;font-weight:bold;"">' + sinf[1] + '</td> <td class="svtxt14">Grade</td><td id="svgr" class="txt14">' + grdinf[1] + '</td><td width=150></td><td class="svtxt14" >Section</td><td class="txt14" id="svsc">'+secinf[1] + '</td> </tr></table>';
	cur_grid = grdinf[0];
	cur_scid = secinf[0];
	cur_stid = sinf[2];
	cur_schyrid = sinf[7];
	document.getElementById('lftmnu').innerHTML = stdv_lftmnu_str;
	//document.getElementById('stdview').style.visibility = 'inherit';
	cur_stv_stid = sinf[2];
	// get_std_profile();
	show_std_calendar();
}

function get_stdinfo(stdid) {
	cur_stv_stclid = stdid;
	call("/getstdinfo?stdid="+stdid, null, show_student);
}

function show_parent_records(open) {
	document.getElementById('newsch').style.visibility = 'hidden';
	var recdiv = document.getElementById('recdiv');
	var precs = document.getElementById('oprt').recs.split(',');

	cur_view = 4;
	var str = "<table><tr><th>Student Name</th><th>School name</th><th>School year</th><th>Grade</th></tr>";
	var bgarr = ['#EEEEEE', '#DDDDDD'];
	var pinf;
	for (var p = 0; p < precs.length; p++) {
		str += "<tr>";
		pinf = precs[p].split(':');
		str += '<td class="snl" style="width:300px;background:'+bgarr[p%2]+';">'+pinf[1]+'</td>';
		str += '<td class="snl" style="width:250px;background:'+bgarr[p%2]+';">'+pinf[2]+'</td>';
		str += '<td class="snl" style="width:100px;background:'+bgarr[p%2]+';">'+pinf[3]+'</td>';
		str += '<td class="snl" style="width:100px;background:'+bgarr[p%2]+';">'+pinf[4]+'</td>';
		str += '<td><a class="button green medium" href="javascript:get_stdinfo('+"'"+pinf[0]+"'"+')"><b>Open</b></a></td>';
		str += '</tr>';
	}
	str += '</table>';
	if (open) {
		get_stdinfo(pinf[0]);
	} else {
		recdiv.innerHTML = str;
		recdiv.style.visibility = 'inherit';
	}
}

function show_student_records(open) {
	document.getElementById('newsch').style.visibility = 'hidden';
	var recdiv = document.getElementById('recdiv');
	var srecs = document.getElementById('ostd').recs.split(',');

	cur_view = 3;
	var str = "<table><tr><th>School name</th><th>School year</th><th>Grade</th></tr>";
	var bgarr = ['#EEEEEE', '#DDDDDD'];
	var sinf;
	for (var s = 0; s < srecs.length; s++) {
		str += "<tr>";
		sinf = srecs[s].split(':');
		str += '<td class="snl" style="width:250px;background:'+bgarr[s%2]+';">'+sinf[1]+'</td>';
		str += '<td class="snl" style="width:100px;background:'+bgarr[s%2]+';">'+sinf[2]+'</td>';
		str += '<td class="snl" style="width:100px;background:'+bgarr[s%2]+';">'+sinf[3]+'</td>';
		str += '<td><a class="button green medium" href="javascript:get_stdinfo('+"'"+sinf[0]+"'"+')"><b>Open</b></a></td>';
		str += '</tr>';
	}
	str += '</table>';
	if (open) {
		get_stdinfo(sinf[0]);
	} else {
		recdiv.innerHTML = str;
		recdiv.style.visibility = 'inherit';
	}
}

function get_class_info(tchname, args) {
	var sinf = args.split(':');

	cur_schid = sinf[0];
	cur_schyrid = sinf[2];
	cur_grid = sinf[5];
	cur_scid = sinf[6];
	cur_sbid = sinf[7];
	document.getElementById('fpage').style.visibility = 'hidden';
	document.getElementById('spage').style.visibility = 'inherit';
	document.getElementById('lftmnu').innerHTML = tchv_lftmnu_str;
	document.getElementById('schtt').style.left = '0px';
	document.getElementById('schtt').style.width = '100%';
	//document.getElementById('schtt').style.background = 'lightblue';
	var embst = "";
	if (embstatus == 'True')
		embst = "<img src='getemimg?sid="+cur_schid+"' width=50 height=50 />";
	else
		embst = "<img src='/images/noemblem1.png' width=50 height=50 />";
	document.getElementById('schtt').innerHTML = ' <table cellspacing=0 border=0 style="position:absolute;left:10px;"><tr> <td id="psemb" >' + '<center>'+embst+'</center></td> <td class="svtxt14">Name</td><td class="txt14" id="svnm"> ' + tchname + '</td><td width=150></td><td class="svtxt14" >Grade</td><td class="txt14" id="svnum">' + sinf[8] + '</td></tr><tr> <td id="pschname" style="width:250px;font-size:14px;font-weight:bold;"">' + sinf[1] + '</td> <td class="svtxt14">Section</td><td id="svgr" class="txt14">' + sinf[9] + '</td><td width=150></td><td class="svtxt14" >Class</td><td class="txt14" id="svsc">'+sinf[10] + '</td> </tr></table>';
	cur_cald = new Date();
	cal_evid = cur_scid;
	var dt = (cur_cald.getMonth()+1)+"/1/"+cur_cald.getFullYear();
	cur_page = 1;
	call("/getmnthents?idt="+cur_scid+"&&dt="+dt, null, show_one_month);
	var tclft = document.getElementById('tclft');
	update_lftmnu(tclft);
}

function show_teacher_records(open) {
	document.getElementById('newsch').style.visibility = 'hidden';
	var recdiv = document.getElementById('recdiv');
	var trecs = document.getElementById('otch').recs.split(',');
	cur_view = 2;

	var str = "<table><tr><th>School name</th><th>School year</th><th>Grade</th><th>Section</th><th>Subject</th></tr>";
	var bgarr = ['#EEEEEE', '#DDDDDD'];
	for (var t = 1; t < trecs.length; t++) {
		str += "<tr>";
		sinf = trecs[t].split(':');
		str += '<td class="snl" style="width:250px;background:'+bgarr[t%2]+';">'+sinf[1]+'</td>';
		str += '<td class="snl" style="width:100px;background:'+bgarr[t%2]+';">'+sinf[3]+'</td>';
		str += '<td class="snl" style="width:100px;background:'+bgarr[t%2]+';">'+sinf[8]+'</td>';
		str += '<td class="snl" style="width:100px;background:'+bgarr[t%2]+';">'+sinf[9]+'</td>';
		str += '<td class="snl" style="width:100px;background:'+bgarr[t%2]+';">'+sinf[10]+'</td>';
		str += '<td><a class="button green medium" href="javascript:get_class_info('+"'" + trecs[0] + "','" + trecs[t] +"'" +');"><b>Open</b></a></td>';
		// str += '<td><a class="button green medium" href="javascript:get_class_info('+"'" + trecs[0] + "','" + sinf[1] + "'','" + sinf[0]+"','"+ sinf[2] + "','" + sinf[4]+"','" + sinf[5] + "','"+ sinf[6] + "','" + sinf[7] +"'" +');"><b>Open</b></a></td>';
		str += '</tr>';
	}
	str += '</table>';
	if (open) {
		get_class_info(trecs[0], trecs[1]);
	} else {
		recdiv.innerHTML = str;
		recdiv.style.visibility = 'inherit';
	}
}



function hide_home_scrn() {
//	document.getElementById('logo').style.visibility = 'hidden';
//	document.getElementById('main').style.visibility = 'hidden';
	document.getElementById('amain').style.visibility = 'inherit';
}

function show_mainpage(uname) {
	var maind = document.getElementById('main');
	var mainlod = document.getElementById('mainlo');
	if (uname == '-NoName-') {
		var agent = navigator.userAgent.toLowerCase();
		if (agent.indexOf('firefox') != -1) {
			var stb = document.getElementById('stb');
			stb.style.top = '75px';
			stb.style.left = '340px';
			stb.style.width = '193px';

		}
		mainlod.style.visibility = 'inherit';
		main.style.visibility = 'hidden';
	} else {
		/*
		mainlod.style.visibility = 'hidden';
		main.style.visibility = 'visible';
		call("/getusrrecs", null, show_user_records);
		*/
		hide_home_scrn();
	}
}

function showinfo(v) {
}
function hideinfo(v) {
}


/********************************************************************/
/*** YYYYYY *******/

var grhMenu = null;
var gr2hMenu = null;
var gr3hMenu = null;
var gr4hMenu = null;
var pages = new Array();
var cur_page = 0;
var cur_level = 0;
var genstr = '<div style="float:left;position:relative;width:150px;height:75px;padding:25px;">'+
		'<a href="javascript:show_school_info(this)" class="button bigrounded green"><b>Information</b></a></div>' +
		'<div style="float:left;position:relative;width:150px;height:75px;padding:25px;">'+
		'<a href="javascript:show_school_calendar(this)" class="button bigrounded green"><b>Calendar</b></a></div>'+
		'<div style="float:left;position:relative;width:150px;height:75px;padding:25px;">'+
		'<a href="javascript:show_school_news(this)" class="button bigrounded green"><b>News</b></a></div>'+
		'<div style="float:left;position:relative;width:150px;height:75px;padding:25px;">'+
		'<a href="javascript:show_school_forms(this)" class="button bigrounded green"><b>Forms</b></a></div>';

var grdstr = ""; 
var stdstr = '<div style="float:left;position:relative;width:150px;height:75px;padding:25px;">'+
			'<a href="javascript:show_add_student_form(this)" class="button bigrounded green"><b>New</b></a> </div>'+
			 '<div style="float:left;position:relative;width:150px;height:75px;padding:25px;"> <a href="javascript:show_srch_student_form(this)" class="button bigrounded blue"><b>Search</b></a></div> <div style="float:left;position:relative;width:250px;height:75px;padding:25px;"> <a href="javascript:show_srch_student_form(this)" class="button bigrounded blue"><b>Promote All</b></a></div> ';


var tchtyp_opts_str = '<option value="0">-----</option><option value="tch">Teaching</option><option value="adm">Administrative</option><option value="oth">Other</option>';

var newtch_str = ' <h3><center>Enter Information</center></h3> <table class="af" cellspacing=5> <tr> <td>Name<super>*</super></td> <td><input id="tfnm" size=30></td><td><input id="tmnm" size=10></td><td><input id="tlnm"></td> </tr> <tr> <td>Date of Birth<super>*</super></td> <td colspan=3 id="tbdt"></td> </tr> <tr> <td>Address<super>*</super></td> <td><input id="taline1" colspan=3 size=30></td></tr><tr><td></td><td><input colspan=3 id="taline2" size=30></td></tr><tr><td></td><td><input colspan=3 id="taline3" size=30></td></tr><tr><td>City<super>*</super></td><td><input id="tacity" size=20></td><td>State<super>*</super></td><td><input id="tastt" size=15></td></tr><tr><td>PostalCode<super>*</super></td><td><input id="tapscd" size=10></td><td>Country<super>*</super></td><td><input id="tactry" size=15></td></tr><tr> <td>Phone</td> <td><input id="tph" class="inp" size=13></td> </tr> <tr><td>Email<super>*</super></td><td><input id="tem" size=30 colspan=3></td></tr><tr> <td>Type</td> <td><select id="tty">'+tchtyp_opts_str+ '</select></td> </tr><tr> <td>Title</td> <td><input id="ttl" class="inp" size=13></td> </tr><tr><td><input type="checkbox" id="tsa"></td><td>Provide access to School Database</tr></table> <br><table> <tr> <td width=150> </td> <td onClick="add_staff()" class="button green medium addb">Add</td></tr> </table>';
var tchstr1 = '<div style="float:left;position:relative;width:250px;height:75px;padding:25px;">'+
			'<a href="javascript:show_add_teacher_form(this)" class="button bigrounded green"><b>New</b></a> </div>';
var tchstr2 = '<div style="float:left;position:relative;width:450px;height:75px;padding:25px;"> <a href="javascript:get_tch_list()" class="button bigrounded blue"><b>Show All </b></a> <select id="shotchsel" class="grsel">'+tchtyp_opts_str+'</select> &nbsp; Staff</div>';

var stdgrds = "";
var newstd_str11 = ' <h3><center>Enter student information</center></h3> <form action="/addstudent" method="post" target="nsifr"><table cellspacing=5> <tr> <td class="txt14">Name<super>*</super></td> <td>First &nbsp;<input name="stfnm" class="inp" size=20>&nbsp;Middle&nbsp;<input name="stmnm" class="inp" size=10>&nbsp;Last&nbsp;<input name="stlnm"></td> </tr> <tr> <td class="txt14">Date of Birth<super>*</super></td> <td id="stbdt"><select id="stbdyr"></select> <select id="stbdmn"></select> <select id="stbddy"></select></td> </tr> <tr> <td class="txt14">Parent/Guardian\'s Name<super>*</super></td> <td><input id="stpn1" class="inp" size=20></td> </tr> <tr> <td class="txt14">Address<super>*</super></td> <td><textarea id="stad" class="ta" rows=3></textarea></td> </tr> <tr> <td class="txt14">Email</td> <td><input id="stem" class="inp" size=20></td> </tr> <tr> <td class="txt14">Phone</td> <td><input id="stph" class="inp" size=13></td> </tr> <tr> <td class="txt14">Parent/Guardian\'s Email</td> <td><input id="stpe1" class="inp" size=20></td> </tr> <tr> <td class="txt14">Grade<super>*</super></td> <td><select onChange="std_grade_selected(this.options[this.selectedIndex].value)" class="grsel" id="stdglist">';
var newstd_str12 = '</select></td> </tr> <tr> <td class="txt14">Section<super>*</super></td> <td id="stscsltd"> </td> </tr><tr height=20></tr> </table> <table> <tr> <td width=100></td> <td class="button green medium addb" id="stadd" onClick="add_student()">Add</td> </tr> </table><iframe id="nsifr" name="nsifr" src="" style="width:0px;height:0px;border:0px solid #fff;"></iframe></form>';

var newstd_str1 = ' <h3><center>Enter student information</center></h3> <table cellspacing=5> <tr> <td class="txt14">Name<super>*</super></td> <td><input id="stnm" class="inp" size=20></td> </tr> <tr> <td class="txt14">Date of Birth<super>*</super></td> <td id="stbdt"><select id="stbdyr"></select> <select id="stbdmn"></select> <select id="stbddy"></select></td> </tr> <tr> <td class="txt14">Parent/Guardian\'s Name<super>*</super></td> <td><input id="stpn1" class="inp" size=20></td> </tr> <tr> <td class="txt14">Address<super>*</super></td> <td><textarea id="stad" class="ta" rows=3></textarea></td> </tr> <tr> <td class="txt14">Email</td> <td><input id="stem" class="inp" size=20></td> </tr> <tr> <td class="txt14">Phone</td> <td><input id="stph" class="inp" size=13></td> </tr> <tr> <td class="txt14">Parent/Guardian\'s Email</td> <td><input id="stpe1" class="inp" size=20></td> </tr> <tr> <td class="txt14">Grade<super>*</super></td> <td><select onChange="std_grade_selected(this.options[this.selectedIndex].value)" class="grsel" id="stdglist">';
var newstd_str2 = '</select></td> </tr> <tr> <td class="txt14">Section<super>*</super></td> <td id="stscsltd"> </td> </tr><tr height=20></tr> </table> <table> <tr> <td width=100></td> <td class="button green medium addb" id="stadd" onClick="add_student()">Add</td> </tr> </table>';

var tlsstr = '<div style="float:top;position:relative;width:350px;height:75px;padding:25px;">'+
		'<a href="javascript:send_all_reports(this)" class="button bigrounded green"><b>Send Reports</b></a></div>';

var groptst = ' <option selected value="100">----</option> <option value="0">Kindergarten</option> <option value="1">1st grade</option> <option value="2">2nd grade</option> <option value="3">3rd grade</option> <option value="4">4th grade</option> <option value="5">5th grade</option> <option value="6">6th grade</option> <option value="7">7th grade</option> <option value="8">8th grade</option> <option value="9">9th grade</option> <option value="10">10th grade</option> <option value="11">11th grade</option> <option value="12">12th grade</option>';
var newgrd_str = ' <h3><center>Enter New Grade(s) to be added</center></h3> <table cellspacing=20><tr><td class="gtxt"> Grades </td> <td><select class="grsel" id="stgr2">'+ groptst+' </select></td> <td class="gtxt">thru</td> <td> <select class="grsel" id="engr2">'+ groptst+'</select></td></tr> <tr height=55></tr> </table> <table> <tr><td width=200></td><td onClick="add_grades()" class="button green medium addb">Add</td> </table>';
var onegrd_str = ' <div style="float:left;position:relative;width:150px;height:75px;padding:10px;"> <a href="javascript:get_grd_students(this)" class="button bigrounded green"> <b>Students</b></a> </div><div style="float:left;position:relative;width:150px;height:75px;padding:10px;"> <a href="javascript:show_sections(this)" class="button bigrounded green"> <b>Sections</b></a> </div> <div style="float:left;position:relative;width:150px;height:75px;padding:10px;"> <a href="javascript:show_subjects(this)" class="button bigrounded green" > <b>Subjects</b></a> </div> <div style="float:left;position:relative;width:100px;height:75px;padding:10px;"> <a href="javascript:show_grd_fees(this)" class="button bigrounded green"> <b>Fees</b></a> </div> <div style="float:left;position:relative;width:250px;height:75px;padding:10px;"> <a href="javascript:send_grd_reports(this)" class="button bigrounded green"> <b>Reports</b></a> </div>';

var newsec_str = ' <h3><center>Add Section(s)</center></h3> <table><tr><td colspan=2 class="gtxt">Enter comma separated section name(s)</td></tr> <tr><td colspan=2 ><input class="inp" id="snames"></td></tr> <tr height=75></tr> </table> <table> <tr><td width=100></td><td onClick="add_sections()" class="button green medium addb">Add</td></tr> </table> ';


var onesec_str = ' <div style="float:left;position:relative;width:150px;height:75px;padding:5px;"> <a href="javascript:show_sec_stds(this)" class="button bigrounded green" > <b>Students</b></a> </div> <div style="float:left;position:relative;width:150px;height:75px;padding:5px;"> <a href="javascript:show_sec_subs(this)" class="button bigrounded green" > <b>Subjects</b></a> </div> <div style="float:left;position:relative;width:150px;height:75px;padding:5px;"> <a href="javascript:show_sec_fees(this)" class="button bigrounded green" > <b>Fees</b></a> </div> <div style="float:left;position:relative;width:150px;height:75px;padding:5px;"> <a href="javascript:show_sec_calendar(this)" class="button bigrounded green" > <b>Calendar</b></a> </div> <div style="float:left;position:relative;width:150px;height:75px;padding:5px;"> <a href="javascript:show_sec_schedule(this)" class="button bigrounded green" > <b>Schedule</b></a> </div>   <div style="float:left;position:relative;width:250px;height:75px;padding:5px;"> <a href="javascript:send_sec_reports(this)" class="button bigrounded green" > <b>Reports</b></a> </div>';

var sec_sub_str = '<div style="float:left;position:relative;width:150px;height:5px;padding:5px;"><a href="javascript:show_sec_sub_grwork(this)" class="button bigrounded green"><b>Score cards</b></a></div> <div style="float:left;position:relative;width:150px;height:75px;padding:5px;"><a href="javascript:show_sec_sub_oltest(this)" class="button bigrounded green"><b>Online tests</b></a></div>';

var std_name_str = '<div style="float:left;position:relative;width:150px;height:5px;padding:5px;"><a href="javascript:get_std_attendance(this)" class="button bigrounded green"><b>Attendance</b></a></div><div style="float:left;position:relative;width:150px;height:5px;padding:5px;"><a href="javascript:show_std_feefines(this)" class="button bigrounded green"><b>Payments</b></a></div><div style="float:left;position:relative;width:150px;height:5px;padding:5px;"><a href="javascript:edit_stdinfo(this)" class="button bigrounded green"><b>Edit Profile</b></a></div><div style="float:left;position:relative;width:150px;height:5px;padding:5px;"><a href="javascript:getrepcard(this)" class="button bigrounded green"><b>Report Card</b></a></div>';

var sbopts =' <option selected value="0">----</option> <option value="Mathematics">Mathematics</option> <option value="Science">Science</option> <option value="English">English</option> <option value="Arts">Arts</option> <option value="Geography">Geography</option> <option value="Social Studies">Social Studies</option> <option value="Logic">Logic</option> <option value="Computer">Computer</option> <option value="Physical Education">Physical Education</option>';

var newsecsub_str = ' <br><h3><center>Add A Subject</center></h3> <table><tr><td>Subject ID</td><td><input size=10 id="scsubpx" class="inp" onMouseDown="update_gsec_sub_inpval(this, 1)" onBlur="update_gsec_sub_inpval(this, 2)"></td> <td><select id="scsubnm" class="grsel">'+sbopts+'</select></td> </tr></table> <table><tr> <td width=100></td> <td class="button green medium addb" onClick="add_grd_secsub()">Add</td> </tr></table>';

var newsub_str = ' <br><h3><center>Add A Subject</center></h3> <table><tr><td>Subject ID</td><td><input size=10 id="gsubpx" class="inp" onMouseDown="update_gsub_inpval(this, 1)" onBlur="update_gsub_inpval(this, 2)"></td> <td><select id="subnm" class="grsel">'+sbopts+'</select></td> </tr></table> <table><tr> <td width=100></td> <td class="button green medium addb" onClick="add_grdsub()">Add</td> </tr></table>';

var new_sec_sub_tst_str = ' <h3><center>Enter new scores for a test/assignment/report</center></h3> <table><tr> <tr><td class="txt14">Test ID/Name</td><td><input class="inps" id="tstid"></td> <td class="txt14">Date</td><td><input size=10 class="inps" id="tstdt1"></td><td class="txt14">MaxScore</td><td><input size=4 class="inps" id="tstms"></td> </tr></table> <div id="tststds" class="tststds"> </div> <table><tr><td width=150></td><td onClick="add_test_scores()" class="button green medium addb">Add</td></tr></table>';

var newtst_str = ' <h3><center>Enter new graded work (test/assignment/report) information</center></h3> <table><tr> <tr><td class="txt14">Test ID/Name</td><td><input class="inps" id="tstid"></td> <td class="txt14">Date</td><td><input size=10 class="inps" id="tstdt1"></td></tr><tr> <td class="txt14">Subject</td><td><select id="tstsb" onChange="show_sec_students(this.value)" class="grsel" style="width:150px;"></select></td> <td class="txt14">MaxScore</td><td><input size=4 class="inps" id="tstms"></td> </tr></table> <div id="tststds" class="tststds"> </div> <table><tr><td width=150></td><td onClick="add_test_scores()" class="button green medium addb">Add</td></tr></table>';

var onetst_str = '<div id="tssslist1" class="tststds"></div> <br><br> <table> <tr><td width=60></td> <td id="svedsv" onClick="make_editable(this)" class="button green medium" style="width:60px;">Edit</td><td width=100></td><td id="svcncl" class="button red medium" onClick="make_editable(this)" style="width:60px;visibility:hidden;">Cancel</td><td width=100></td><td onClick="open_printwind()" class="button blue medium" style="width:60px;">Print</td></tr></table><br>';


var caltable =  ' method="POST" enctype="multipart/form-data" autocomplete="off" onSubmit="return validate_calent_form(this);">' + '<table><tr><td><input type="radio" name="dtype" value="0" checked></td><td colspan=2>Information</td></tr> <tr><td><input type="radio" name="dtype" value="1"></td><td colspan=2>Test on this day</td></tr> <tr><td><input type="radio" name="dtype" value="2"></td><td colspan=2>Assignment due on this day</td></tr> <tr><td><input type="radio" name="dtype" value="3"></td><td colspan=2>Notes</td></tr> <tr><td><input type="radio" name="dtype" value="100" ></td><td colspan=2>Holiday</td></tr> <tr><td>Description</td><td colspan=2><input id="cdesc" class="inp" name="desc" value="" size=20></td></tr> <tr height=50> </tr><tr><td class="asf">Attachment</td><td colspan=2><input class="asf" type="file" id="atf" name="atfile" value=""></td></tr><tr height=100></tr></table> <table> <tr><td width=100></td><td><input class="button green medium addb" type="submit" value="Add"></td></tr> </table> <iframe id="scalifr" name="scalifr" src="" style="width:0px;height:0px;border:0px solid #fff;"></iframe> </form>';

var newcalent_str1 = '<div id="nclvmn" class="nclvmn"></div> <div id="nclncc" class="nclvcc">';
var newcalent_str2 = ' </div> <div id="nclicc" class="nclvcc">';

var asgncl_str1 = '<div id="tcccls" class="tca1"> </div> <div class="tca2"> <br><table><tr><td class="txt18">Grade</td><td><select class="scsel" onChange="pop_secs(this.value)" id="tcgr">';

var asgncl_str2 = '</select></td> <td class="txt18">Section</td><td><select class="scsel" id="tcsc" onChange="pop_subs(this.value)"></select></td> <td class="txt18">Subject</td><td><select class="scsel" id="tcsb" onChange="show_tch_addsub_but(this.value)"></td></tr> <tr height=100></tr></table> <table> <tr><td width=150></td><td id="tcasbut" onClick="add_tch_class()" style="visibility:hidden" class="button green medium addb">Assign</td></tr></table></div>';

var stdv_lftmnu_str = ' <table> <tr> <td id="pclft" class="mit" onMouseOver="chng_bg(this, 1)" onMouseOut="chng_bg(this, 2)" onClick="show_std_calendar(this)">Calendar</td> </tr> <tr> <td id="pmlft" class="mit" onMouseOver="chng_bg(this, 1)" onMouseOut="chng_bg(this, 2)" onClick="show_parent_messages(this)">Messages</td> </tr> <tr> <td id="pilft" class="mit" onMouseOver="chng_bg(this, 1)" onMouseOut="chng_bg(this, 2)" onClick="show_student_classinfo(this)">Classes</td> </tr> <tr> <td id="pplft" class="mit" onMouseOver="chng_bg(this, 1)" onMouseOut="chng_bg(this, 2)" onClick="get_std_profile(this)">Profile</td> </tr><tr> <td id="palft" class="mit" onMouseOver="chng_bg(this, 1)" onMouseOut="chng_bg(this, 2)" onClick="show_student_attendance(this)">Attendance</td> </tr><tr> <td id="pflft" class="mit" onMouseOver="chng_bg(this, 1)" onMouseOut="chng_bg(this, 2)" onClick="show_student_payments(this)">Payments</td> </tr> <tr> <td id="pllft" class="mit" onMouseOver="chng_bg(this, 1)" onMouseOut="chng_bg(this, 2)" onClick="show_student_library(this)">Library</td> </tr> <tr> <td id="prlft" class="mit" onMouseOver="chng_bg(this, 1)" onMouseOut="chng_bg(this, 2)" onClick="show_student_reports(this)">Reports</td> </tr></table>';

var tchv_lftmnu_str = ' <table> <tr> <td id="tclft" class="mit" onMouseOver="chng_bg(this, 1)" onMouseOut="chng_bg(this, 2)" onClick="show_tch_calendar(this)">Calendar</td> </tr> <tr> <td id="tstft" class="mit" onMouseOver="chng_bg(this, 1)" onMouseOut="chng_bg(this, 2)" onClick="show_tchsec_students(this)">Students</td> </tr> <tr> <td id="ttlft" class="mit" onMouseOver="chng_bg(this, 1)" onMouseOut="chng_bg(this, 2)" onClick="show_tch_tstinfo(this)">Tests</td> </tr> </table>';

var stdv_msg_str = ' <br> Click <a class="button medium blue" href="javascript:show_msg_box()">here</a> to send SMS or message to <select id="mdest"> <option value="1">parents of all the students</option> <option value="2">students</option> <option value="3">students and their parents</option> </select> in this section <div id="svmbox" class="svmbox"> Enter the message <br> <textarea id="svmsg" onKeyUp="check_mm(this.value)" class="mta" rows=6 cols=83></textarea> <br><br> <table><tr><td width=100></td> <td id="stdvsmb" class="button green medium addb" style="visibility:hidden" onClick="stdv_send_msg()">Send</td></tr></table> </div>';

var num_stds = 0;
var num_tchs = 0;
var cur_cald;

function hide_cur_screen() {
	document.getElementById('ms'+cur_level).style.visibility = 'hidden';
	document.getElementById('ms'+cur_level).style.cursor = 'normal';
	document.getElementById('mpage'+cur_level).style.visibility = 'hidden';
	cur_page = cur_page >> 4;
	cur_level--;
}

function show_screen(page, msstr) {
	var d = document.getElementById('mpage'+cur_level);
	if (cur_level > 0) {
		document.getElementById('ms'+cur_level).style.visibility = 'inherit';
		document.getElementById('ms'+cur_level).style.cursor = 'pointer';
		document.getElementById('ms'+cur_level).innerHTML = msstr;
	}

	d.style.visibility = 'inherit';
	d.innerHTML = pages[page+""];
	cur_page = page;
}

function do_fblogin(uemail) {
	call("/dofblogin?em="+uemail, null, show_user_records);
}

function do_fblogout() {
	call("/dologout", null, null);
}

function show_school_calendar(cobj) {
	if (cur_level != 1)
		return;
	/*
	cur_level++;
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = newtst_str;
	call("/getcssubs?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid, null, fill_sec_sub_info);
	show_screen(cur_page, 'New&nbsp;&nbsp;&raquo;');
	*/

	cur_level++;
	cur_page = cur_page << 4 | 1;
	cur_cald = new Date();
	cal_evid = cur_schyrid;
	var dt = (cur_cald.getMonth()+1)+"/1/"+cur_cald.getFullYear();
	call("/getmnthents?idt="+cur_schyrid+"&&dt="+dt, null, show_one_month);
}

function show_calent_new1(res, flag) {
	var d1 = document.getElementById('nclvmn');
	var d2 = document.getElementById('nclncc');
	var d3 = document.getElementById('nclicc');
	var cmenu = new vMenu('X', 0, 387, d1, d2, d3);
	// alert('---------2--' + arg);
	cmenu.show(res, showoneclent, flag);
}

function show_calent_new(res) {
	var d1 = document.getElementById('nclvmn');
	var d2 = document.getElementById('nclncc');
	var d3 = document.getElementById('nclicc');
	var cmenu = new vMenu('X', 0, 387, d1, d2, d3);
	// alert('---------2--' + arg);
	cmenu.show(res, showoneclent, true);
}

function get_stdrepcard() {
	window.open("/getrepcard?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid+"&&stid="+cur_stid, "Report Card", "menubar=1,location=0");
}

function show_student_attendance(obj) {
	var prlft = document.getElementById('palft');
	update_lftmnu(prlft);
	cur_page = 5;
	//alert('---'+cur_schyrid+'---'+cur_grid+'---'+cur_scid+'---'+cur_stid);
	call("/getcssubs?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid, null, get_sec_subs_atdn);
	call("/getstdatdn?syid="+cur_schyrid+"&&stid="+cur_stid, null, show_std_attendance);
	/*
	pages[cur_page+""] = '<h2><center>Add new absence</center></h2><table><tr><td>Date</td><td><input id="statdndt"></td><td><select id="statdnsel"></select></td><td class="button medium green" onClick="add_std_absence()">Add</td></tr></table>'+'<h3><center>Previous Absences</center></h3>'+r1;
	show_screen(cur_page, '');
	*/
}

function show_student_payments(obj) {
	var prlft = document.getElementById('pflft');
	update_lftmnu(prlft);
	cur_page = 6;
	call("/getstddcinfo?stid="+cur_stid+"&&syid="+cur_schyrid, null, show_std_dcinfo);
	//pages[cur_page+""] = '<center>Not Implemented</center>';
	//show_screen(cur_page, '');
}

function show_student_reports(obj) {
	var prlft = document.getElementById('prlft');
	update_lftmnu(prlft);
	cur_page = 8;
	pages[cur_page+""] = ' <table cellspacing=15><tr><td class="txt18">Show</td> <td class="button blue medium" onClick="get_stdrepcard()">Report Card</td> </tr></table>';
	show_screen(cur_page, '');
}

function show_britems(res) {
	document.getElementById('slres').innerHTML = res;
}

function show_std_checkouts(obj) {
	call("/getlibitms?brid="+cur_stid, null, show_britems);
}

function show_student_library(obj) {
	var prlft = document.getElementById('pllft');
	update_lftmnu(prlft);
	cur_page = 7;
	pages[cur_page+""] = '<div id="addlibit" style="float:left;position:relative;width:200px;height:75px;padding:5px;">'+
		'<a href="javascript:show_std_checkouts(this)" class="button bigrounded green"><b>Show check-outs</b></a> </div>'+
		'<div id="catalog" style="float:left;position:relative;width:200px;height:75px;padding:5px;">'+
		'<a href="javascript:search_catalog(this)" class="button bigrounded green"><b>Search Catalog</b></a> </div><div style="position:absolute;top:200px;width:100%;overflow:auto;" id="slres"></div>';
	show_screen(cur_page, '');
}

function show_parent_messages(obj) {
	var pmlft = document.getElementById('pmlft');
	update_lftmnu(pmlft);
	cur_page = 2;
	pages[cur_page+""] = stdv_msg_str;
	show_screen(cur_page, '');
}

function tch_sctest_show_stds(res) {
	var tst;
	if (res == '-None-') {
		tst = "No Students in this section";
	} else {
		var rinfo = res.split(',');
		tst = "<table>";
		for (var i = 0; i < rinfo.length; i++) {
			var sinfo = rinfo[i].split(':');
			tst += '<tr><td class="stnum">'+sinfo[0]+'</td><td class="stnm">'+sinfo[1]+
			    '</td></tr>';
		}
		tst += '</table>';
	}
	var tstft = document.getElementById('tstft');
	update_lftmnu(tstft);
	cur_page = 2;
	pages[cur_page+""] = tst;
	show_screen(cur_page, '');
}

function show_tchsec_students() {
	call("/getsecstdt?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid, null, tch_sctest_show_stds);
}

function tch_show_scsbtests(res) {
	var tlist = res.split(',');
	var tbstr = '<div style="float:left;position:relative;width:150px;height:75px;padding:5px;">'+
			'<a href="javascript:show_add_tests_form(this)" class="button bigrounded green"><b>New</b></a> </div>';

	if (res != '-None-') {
	    for (var t = 0; t < tlist.length; t++) {
		var sinf = tlist[t].split(':');
		tbstr += '<div style="float:left;position:relative;width:250px;height:75px;padding:5px;">'+
			'<a href="javascript:get_new_tst_info(this,'+"'"+sinf[0]+"','"+sinf[1]+"'"+')" class="button medium gray" style="font-size:12px;"><b>' + sinf[1] + '</b></a> </div>';

	    }
	}
	//cur_page = 3;
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = tbstr;
	show_screen(cur_page, 'Score cards&nbsp;&nbsp;&raquo;');
}

var tch_tests_page_str = '<div style="float:left;position:relative;width:150px;height:75px;padding:5px;"> <a href="javascript:get_tch_tstinfo(this)" class="button bigrounded green"><b>Score Cards</b></a></div><div style="float:left;position:relative;width:150px;height:75px;padding:5px;"> <a href="javascript:show_sec_sub_oltest()" class="button bigrounded green"><b>Online tests</b></a></div>';

function show_tch_tstinfo(obj) {
	cur_page = 3;
	var ttlft = document.getElementById('ttlft');
	update_lftmnu(ttlft);
	pages[cur_page+""] = tch_tests_page_str;
	show_screen(cur_page, ' ');
}

function get_tch_tstinfo(obj) {
	if (cur_level != 0)
		return;
	cur_level++;
	call("/getsbtests?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid+"&&cls="+cur_sbid, null, tch_show_scsbtests);
}

function refresh_calents() {
//	document.getElementById('cf').desc.value=" ";
	document.getElementById('cf').reset();
	document.getElementById('cdesc').style.color = 'inherit';
	call("/getcalents?idt="+cal_evid+"&&dt="+cal_evdt, null, show_calent_new);
	// alert(document.getElementById('cf').desc.value);
}

function validate_calent_form(obj) {
	document.getElementById('cdesc').style.color = 'yellow';
//	alert(obj.atfile.value);
	obj.desc.value += "^"+obj.atfile.value;
	obj.target = 'scalifr';
//	call("/getcalents?idt="+cal_evid+"&&dt="+cal_evdt, null, show_calent_new);
	setTimeout(refresh_calents, 1000);
	return true;
}

function goback_view(new_level) {
	while (cur_level > new_level) {
		document.getElementById('ms'+cur_level).style.visibility = 'hidden';
		document.getElementById('mpage'+cur_level).style.visibility = 'hidden';
		cur_page = cur_page >> 4;
		cur_level--;
	}
}

function clear_stform(res) {
	if (check_for_error(res))
		return;
	if (res.indexOf('exists') != -1) {
		alert(res);
		return;
	}
	var sts = res.split('=');
	num_stds = sts[1];
	document.getElementById('numstds').innerHTML = '<br>There are ' + num_stds + ' students record(s)';
}


function add_student() {
	if (cur_level != 1)
		return;
	var stnm = document.getElementById('stnm').value;
	var stpn1 = document.getElementById('stpn1').value;
	var stad = document.getElementById('stad').value;
	var stem = document.getElementById('stem').value;
	var stph = document.getElementById('stph').value;
	var stpe1 = document.getElementById('stpe1').value;
	var crs = document.getElementById('stdglist').value;
	var sec = document.getElementById('stscsel').value;
	var stbdyr = document.getElementById('stbdyr').value;
	var stbdmn = document.getElementById('stbdmn').value;
	var stbddy = document.getElementById('stbddy').value;
	
	stbd = stbddy + " " + stbdmn + " " + stbdyr;
	var d = new Date(stbd);
	if (d.getFullYear() != stbdyr || d.getDate() != stbddy) {
		alert('Invalid date');
		return;
	}
	stbd = (d.getMonth()+1) + "/" + stbddy + "/" + stbdyr;

	// Add better input validation later (trim the input, etc.)
	if (stnm == "" || stpn1 == "" || stad == "" || crs == "0") {
		alert('Invalid Input. Please fill-in all the required fields');
		return;
	}
	hide_cur_screen();
	call("/addstdt?stnm="+escape(stnm)+"&&stbd="+escape(stbd)+"&&stpn1="+
	    escape(stpn1)+"&&stad="+escape(stad)+"&&stem="+escape(stem)+
	    "&&stph="+escape(stph)+"&&stpe1="+ escape(stpe1)+"&&syid="+cur_schyrid +
	    "&&crs="+escape(crs)+"&&sec="+escape(sec),
	    null, clear_stform, "POST");
}

function update_teachers(res) {
	//alert(res);
	if (check_for_error(res))
		return;
	var tts = res.split('=');
	if (tts.length > 1) {
		num_tchs = parseInt(tts[1]);
		var tchstr = tchstr1;
		if (num_tchs > 0)
			tchstr += tchstr2;
		document.getElementById('mpage'+cur_level).innerHTML = 
			'<div id="numtchs" style="float:left;position:relative;width:100%;height:75px;font-size:20px;text-align:center"><br>'+
			'There are '+ num_tchs + ' staff record(s). </div>' + tchstr;
	}
}

function add_staff() {
	if (cur_level != 1)
		return;
	var tfnm = document.getElementById('tfnm').value;
	var tmnm = document.getElementById('tmnm').value;
	var tlnm = document.getElementById('tlnm').value;
	var taline1 = document.getElementById('taline1').value;
	var taline2 = document.getElementById('taline2').value;
	var taline3 = document.getElementById('taline3').value;
	var tacity = document.getElementById('tacity').value;
	var tastt = document.getElementById('tastt').value;
	var tapscd = document.getElementById('tapscd').value;
	var tactry = document.getElementById('tactry').value;
	var tph = document.getElementById('tph').value;
	var tty = document.getElementById('tty').value;
	var ttl = document.getElementById('ttl').value;
	var tem = document.getElementById('tem').value;
	var tsa = document.getElementById('tsa').checked;
	var tbdyr = document.getElementById('tbdyr').value;
	var tbdmn = document.getElementById('tbdmn').value;
	var tbddy = document.getElementById('tbddy').value;
	
	tbd = tbddy + " " + tbdmn + " " + tbdyr;
	var d = new Date(tbd);
	if (d.getFullYear() != tbdyr || d.getDate() != tbddy) {
		alert('Invalid date');
		return;
	}
	tbd = (d.getMonth()+1) + "/" + tbddy + "/" + tbdyr;

	if (tty == "0") {
		alert("Invalid Staff Type");
		return;
	}
	// Add better input validation later (trim the input, etc.)
	if (tfnm == "" || tlnm == "" || taline1 == "" || tacity == "" || tastt == "" || tapscd == "" || tactry == "" || tbd == "" || ttl == "" || tem == "") {
		alert('Invalid Input. Please fill-in all the required fields');
		return;
	}
	hide_cur_screen();
	var ownf = "";
	if (tsa)
		ownf="&&ownf=1";

	call("/addtch?tfnm="+escape(tfnm)+"&&tmnm="+escape(tmnm)+"&&tlnm="+escape(tlnm)+"&&tbd="+escape(tbd)+"&&tph="+
	    escape(tph)+
	    "&&taline1="+escape(taline1)+ "&&taline2="+escape(taline2)+
	    "&&taline3="+escape(taline3)+ "&&tacity="+escape(tacity)+
	    "&&tastt="+escape(tastt)+ "&&tapscd="+escape(tapscd)+
	    "&&tactry="+escape(tactry)+ "&&tem="+escape(tem)+
	    "&&syid="+cur_schyrid+"&&tty="+tty+"&&ttl="+ttl+ownf, null, update_teachers, "POST");
}

function add_test_scores() {
	var tstid = document.getElementById('tstid').value;
	var tstdt = document.getElementById('tstdt1').value;
	var tststds = document.getElementById('tststds');
	var tstms = document.getElementById('tstms').value;
	var nstd = tststds.nstd;
	if (tstid == '' || tstdt == '' || tstms == '') {
		alert('Invalid Inputs. Please fill in all the fields');
		return;
	} 
	/* XXXXXXXXXXXX Makesure testname does not contain '^' ************/
	//alert(tstid+'---------'+tstsb+'------'+tstdt+'------'+nstd);
	var args = '&&nstd='+nstd;
	for (var i = 0; i < nstd; i++) {
		var st = document.getElementById('tstd-'+i);
		args += '&&std-'+i+'='+escape(st.name);
		args += '&&stdscr-'+i+'='+escape(st.value);
	}
	hide_cur_screen();
	/* Do a lot of input validation before calling call */
	call("/addtstscrs?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid+"&&tstid="+tstid+"&&tstsb="+cur_sbid+"&&tstms="+tstms+"&&tstdt="+tstdt+args, null, show_sec_sub_tst_info, "POST");

}

function fill_sec_sub_info(res) {
	if (res != '-None-') {
	    document.getElementById('tstsb').innerHTML = '<option value="0">----</option>'+ create_sel_opt_string(res);
	} else {
	    document.getElementById('tstsb').innerHTML = '<option value="0">----</option>';
	}
}

function show_add_tests_form(obj) {
	if ((cur_view == 2) && (cur_level != 1))
		return;
	if ((cur_view == 1) && (cur_level != 6))
		return;
	
	cur_level++;
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = new_sec_sub_tst_str;
	//call("/getcssubs?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid, null, fill_sec_sub_info);
	show_screen(cur_page, 'New&nbsp;&nbsp;&raquo;');
	call("/getsecstdt?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid, null, sctest_show_stds);
}

function show_tst_info(res) {
	//alert('--->'+res);
	if (check_for_error(res))
		return;
	//alert(res);
	var stdinf = res.split(',');
	var tssslist;
	var tstr = "tstd-";
	tssslist = document.getElementById('tssslist1');
	var str = '<table>';
	for (var i = 0; i < stdinf.length; i++) {
		var sinfo = stdinf[i].split(':');
		str += '<tr><td class="stnum">'+sinfo[0]+'</td><td class="stnm">'+sinfo[1]+
		    '</td><td><input id="'+tstr+i+'" class="inps" style="color:grey;" readonly="readonly" size=3 value="'+sinfo[3]+'" name="'+sinfo[2]+'"></td></tr>';
	}
	str += '</table>';
	tssslist.innerHTML = str;
	tssslist.nstds = stdinf.length;
}

function get_new_tst_info(tsobj, tsid, tsname) {
	var nstr = tsname.split(':');
	cur_tstname = nstr[0];
	cur_tstid = tsid;
	cur_tssel_id = cur_sbid;
	if ((cur_view == 2) && (cur_level != 0))
		return;
	if ((cur_view == 1) && (cur_level != 6))
		return;
	cur_level++;
	cur_page = cur_page << 4 | 2;
	pages[cur_page+""] = onetst_str;
	/*
	alert("/gettstinf?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid+"&&tsnm="+nstr[0]+"&&tssub="+cur_sbid);
	call("/gettstinf?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid+"&&tsnm="+nstr[0]+"&&tssub="+cur_sbid, null, show_tst_info);
	*/
	call("/gettstinfbyid?tsid="+tsid, null, show_tst_info);
	show_screen(cur_page, tsname+'&nbsp;&nbsp;&raquo;');
}

function show_cdrotst_result(res) {
	//alert(res);
	if (check_for_error(res))
		return;
	hide_cur_screen();
	//alert(res);
}

function conduct_test(otsid) {
	var dtyy = document.getElementById('dtyy').value;
	var dtmm = document.getElementById('dtmm').value;
	var dtdd = document.getElementById('dtdd').value;
	var tmmm = document.getElementById('tmmm').value;
	var tmap = parseInt(document.getElementById('tmap').value);
	var tmhh = parseInt(document.getElementById('tmhh').value);
	if (tmhh == 12) {
		if (tmap == 0)
			tmhh = 0;
	} else
		tmhh += tmap;
	var dtstr = dtdd+ " "+month_names[dtmm]+ " "+ dtyy + " "+tmhh+":"+tmmm+":00";
	var d = new Date(dtstr);
	if (d.getMonth() != dtmm) {
		alert('Invalid date');
		return false;
	}
	var td = new Date();
	var now = td.getTime();
	if (d.getTime() < td.getTime()) {
		alert('The date must be in future');
		return false;
	}

	call('/cdtotst?otsid='+otsid+"&&cdt="+d.getTime(), null, show_cdrotst_result, "POST");

	//if (!valid_date())
}

var cans_img = '<img src="/images/checkmark2.jpg"  width=30 height=20 style="opacity:0.7" />';
var wans_img = '<img src="/images/crossout.jpg"  width=20 height=20 style="opacity:0.7" />';

function show_submt_std_onltest_res(res) {
	//alert(res);
	var rs = res.split(String.fromCharCode(25));
	for (var i = 0; i < rs.length; i++) {
		v = document.getElementById('ya'+i).value;
		if (v == rs[i]) {
			document.getElementById('arw'+i).innerHTML = '<img src="/images/checkmark2.jpg"  width=30 height=20 style="opacity:0.7" />';
		} else {
			document.getElementById('arw'+i).innerHTML = '<img src="/images/crossout.jpg" width=20 height=20 style="opacity:0.7" />';
		}
	}
	document.getElementById('sotsub').style.visibility='hidden';
}

function sbmt_std_onltest(otsid, nq) {
	var ansstr = "";

	for (var i = 0; i < nq; i++) {
		var v;

		if (!(v = document.getElementById('ya'+i).value))
			v = " ";
		if (i != 0)
			v = String.fromCharCode(25) + v;
		ansstr += v;
	}

	call('/sbmtstdotst?otsid='+otsid+"&&stid="+cur_stid+"&&ans="+ansstr, null, show_submt_std_onltest_res, "POST");
}

var cur_qidx = 0;


function delq_from_test(qk) {
	call('/delqfromotst?otsid='+cur_otsid+"&&qid="+qk, null, show_one_oltest);
}

function editq_from_test(qk) {
	if (cur_level != 7)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = "test";
	show_screen(cur_page, "Question&nbsp;&nbsp;&raquo;");
}

function show_edel_options(qidx, qk) {
	var qedel_str = '<td class="button small red" onClick="delq_from_test('+"'"+qk+"'"+');">X</td><td width=40></td><td onClick="editq_from_test('+"'"+qk+"'"+');"><img src="/images/noteicon.jpg"   style="width:20px;height:20px;" /></td>';
	if (cur_qidx != 0) {
		var pd = document.getElementById('qnum'+cur_qidx);
		var pad = document.getElementById('anum'+cur_qidx);
		pd.style.background='inherit';
		pad.style.background='inherit';
		var l = qedel_str.length;
		var m = pd.innerHTML.length;
		pd.innerHTML = pd.innerHTML.substr(0, m-l+2);
	}
	var d = document.getElementById('qnum'+qidx);
	var ad = document.getElementById('anum'+qidx);
	d.style.background='#CCCCCC';
	ad.style.background='#CCCCCC';
	cur_qidx = qidx;
	d.innerHTML += qedel_str;
}

function change_otstcdt() {
	var d = document.getElementById('cotcdt');
	if (d.innerHTML == 'Edit') {
		var d1 = document.getElementById('ncotcdt');
		d.innerHTML = 'Change';
		d1.style.visibility = 'inherit';
	}
}

function show_one_oltest(res) {
	if (check_for_error(res))
		return;
	var ss = res.split('|');

	var qs = ss[0].split('^');
	var tmhrs = "";
	cur_qidx = 0;
	for (var i = 1; i <=12; i++)
		tmhrs += '<option value="'+i+'">'+i+'</option>';
	var tmmts = "<option>00</option>";
	for (var i = 15; i < 60; i += 15) 
		tmmts += '<option value="'+i+'">'+i+'</option>';
	var yrstr="";
	for (var i = 2011; i < 2020; i++)
		yrstr += '<option value="'+i+'">'+i+'</option>';
	var mtstr="";
	for (var i = 0; i < 12; i++)
		mtstr += '<option value="'+i+'">'+month_names[i]+'</option>';
	var dtstr="";
	for (var i = 1; i <= 31; i++)
		dtstr += '<option value="'+i+'">'+i+'</option>';
	var str;
        var cdstr = '<tr><td>Make test available on &nbsp;&nbsp;</td>'+
		'<td><select id="dtyy">'+yrstr+'</select></td>'+
		'<td><select id="dtmm">'+mtstr+'</select></td>'+
		'<td><select id="dtdd">'+dtstr+'</select></td>'+ '<td width=50 style="text-align:center">at</td>'+
		'<td><select id="tmhh">'+tmhrs+'</select></td>'+
		'<td><select id="tmmm">'+tmmts+'</select></td>'+
		'<td><select id="tmap"><option value="0">am</option><option value="12">pm</option></select></td>'+
		'<td class="button blue medium" onClick="conduct_test('+"'"+cur_otsid+"'"+')">Go</td></tr>';

	if (qs[0] == "0") {
		str = "<table>"+cdstr+"</table><br><br><hr><br><table>";
	} else {
		var nd = new Date();
		var d = new Date(parseInt(qs[0]));
		if (nd.getTime() < d.getTime()) {
			str = '<table><tr><td style="width::00px;" id="cdttm">The test will be available at '+ d+'</td>';
			str += '<td id="cotcdt" onClick="change_otstcdt()" class="button medium black">Edit</td>';
			str += '<table id="ncotcdt" style="visibility:hidden">'+cdstr;
		} else {
			str = '<table><tr><td style="width::00px;" id="cdttm">The test was available from '+ d+'</td>';
			str += '</tr>';
		}
		str += '</table><br><hr><br><table>';
	}
	if (cur_view > 2) {
		str = "<table><tr>";
	}
	var abcd = Array('A', 'B', 'C', 'D', 'E');
	for (var i = 1; i < qs.length; i++) {
		var q1 = qs[i].split(':');
		var al = q1[2].split(',');
		var stans = null, orans = null;
		if (ss.length > 1) {
			stans = ss[2].split(String.fromCharCode(25));
			orans = ss[3].split(String.fromCharCode(25));
		}
		str += '<tr id="qnum'+(i)+'" onClick="show_edel_options('+"'"+(i)+"','"+q1[0]+"'"+');"><td colspan=5>'+'<b>'+(i)+'</b>&nbsp;'+q1[1]+'</td>';
		/*
		if (cur_view < 3) {
			str += '<td class="button small red">X</td><td width=30></td><td class="button small green">e</td>';
		}
		*/
		str += '</tr><tr id="anum'+(i)+'" onClick="show_edel_options('+"'"+(i)+"','"+q1[0]+"'"+');">';

		if (al.length > 1) {
			for (var j = 0; j < al.length; j++) {
				str += '<td width=150><b>'+abcd[j]+'.</b>&nbsp;'+al[j]+'</td>';
			}
			if (cur_view == 3) {
			    if (ss.length < 2) {
				str += '</tr><tr><td>Your Answer</td><td><select id="ya'+(i-1)+'">'+get_ans_opts(al.length)+'</select></td>';
			    } else {
				if (stans[i-1] == orans[i-1]) {
				    str += '</tr><tr><td>Your Answer was </td><td><b>'+stans[i-1]+'</b></td><td>'+cans_img+'</td>';
				} else {
				    str += '</tr><tr><td>Your Answer was </td><td><b>'+stans[i-1]+'</b></td><td>'+wans_img+'</td>';
				}
			    }
			}
		} else if (cur_view == 3) {
		    if (ss.length < 2) {
			str += '</tr><tr><td>Your Answer</td><td><input id="ya'+(i-1)+'" size=10></td>';
		    } else {
			if (stans[i-1] == orans[i-1]) {
			    str += '</tr><tr><td>Your Answer was </td><td><b>'+stans[i-1]+'</b></td><td>'+cans_img+'</td>';
			} else {
			    str += '</tr><tr><td>Your Answer was </td><td><b>'+stans[i-1]+'</b></td><td>'+wans_img+'</td>';
			}
		    }
		}
		str += '<td id="arw'+(i-1)+'"></td></tr><tr height=15></tr>';
	}
	str += '</table>';
	if (cur_view == 3) {
	    if (ss.length < 2) {
		str += '<br><center><a id="sotsub" class="button medium green" href="javascript:sbmt_std_onltest('+"'"+cur_otsid+"','"+qs.length+"'"+')">Submit</a></center>';
	    } else {
		var d = new Date(1000*parseInt(ss[1], 10));
		str += '<br><center>You have submitted this test on '+d+'</center>';
	    }
	}
	pages[cur_page+""] = str;
	show_screen(cur_page, cur_otsname+'&nbsp;&nbsp;&raquo;');
}

function get_oltst_info(tsobj, otsid, otsname) {
	if (cur_level != 6)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 1;
	cur_otsname = otsname;
	cur_otsid = otsid;
	if (cur_view == 3) {
		call("/getoltst?otsid="+otsid+"&&stid="+cur_stid, null, show_one_oltest);
	} else {
		call("/getoltst?otsid="+otsid, null, show_one_oltest);
	}
}
function chng_sec_fee() {
	var freq = document.getElementById('freq').value;
	var fee = document.getElementById('scfee').value;
	call("/chngsecfees?sec="+cur_scid+"&&fee="+fee+"&&freq="+freq, null, show_sec_fee_info, "POST");
}

function show_sec_fee_info(res) {
	var s;
	var fs;
	var r = res.split(',');
	if (r[0] == '0') {
		s = "No section level fee for this section. Grade level fees apply";
	} else {
		s = r[0]+" "+currency_name+"s "+r[1]+". This section level fee overrides the grade level fee";
	}
	pages[cur_page+""] = "<br><table class='af'><tr><td>Current fee </td><td colspan=2>"+ s+"</td></tr>"+
		"<tr><td width=150>New Fee </td><td> <input id='scfee' class='inp' size=5>"+currency_name+"s</td><td><select id='freq'><option value='1'>Monthly</option><option value='2'>Every two months</option><option value='3'>Quarterly</option><option value='4'>Every 4 months</option><option value='6'>Half-yearly</option><option value='12'>Yearly</option></select></td></tr><tr><td></td><td><a class='white medium button' href='javascript:chng_sec_fee()'>Update</a></td></tr></table>";
	show_screen(cur_page, 'Fees&nbsp;&nbsp;&raquo;');
}

function show_sec_calendar(obj) {
	if (cur_level != 3)
		return;
}

function show_sec_fees(obj) {
	if (cur_level != 3)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 1;
	call("/getsecfees?sec="+cur_scid, null, show_sec_fee_info);
}

function show_sec_sub_oltst_info(res) {
	//alert(res);

	if (check_for_error(res))
		return;
	var tbstr = '<div style="float:left;position:relative;width:150px;height:75px;padding:5px;">'+
			'<a href="javascript:show_new_online_test(this)" class="button bigrounded green"><b>New</b></a> </div>';
	if (res != '-None-') {
	    var sarr = res.split(',');
	    for (var i = 0; i < sarr.length; i++) {
		var inf = sarr[i].split(':');
		/******** TESTNAME cannot have ':' *******/
		tbstr += '<div style="float:left;position:relative;width:250px;height:75px;padding:5px;">'+
			'<a href="javascript:get_oltst_info(this,'+"'" + inf[0] + "','" + inf[1] + "'" + ')" class="button medium white" style="width:60px;height:40px;font-size:12px;"><b>' + inf[1] + '</b></a> </div>';
	    }
	}
	pages[cur_page+""] = tbstr;
	show_screen(cur_page, 'Online Tests&nbsp;&nbsp;&raquo;');
}

function show_sec_sub_tst_info(res) {
	if (check_for_error(res))
		return;
	var tbstr = '<div style="float:left;position:relative;width:150px;height:75px;padding:5px;">'+
			'<a href="javascript:show_add_tests_form(this)" class="button bigrounded green"><b>New</b></a> </div>';
	if (res != '-None-') {
	    var sarr = res.split(',');
	    for (var i = 0; i < sarr.length; i++) {
		var inf = sarr[i].split(':');
		/******** TESTNAME cannot have ':' *******/
		tbstr += '<div style="float:left;position:relative;width:250px;height:75px;padding:5px;">'+
			'<a href="javascript:get_new_tst_info(this,'+"'"+inf[0]+"','"+inf[1]+"')"+'" class="button medium gray" style="font-size:12px;"><b>' + inf[1] + '</b></a> </div>';
	    }
	}
	pages[cur_page+""] = tbstr;
	show_screen(cur_page, 'Score Cards&nbsp;&nbsp;&raquo;');
}

function show_sec_tst_info(sctsts) {
	if (check_for_error(sctsts))
		return;
	var tbstr = '<div style="float:left;position:relative;width:150px;height:75px;padding:5px;">'+
			'<a href="javascript:show_add_tests_form(this)" class="button bigrounded green"><b>New</b></a> </div>';
	if (sctsts != '-None-') {
	    var sarr = sctsts.split(';');
	    for (var i = 0; i < sarr.length; i++) {
		var tinf = sarr[i].split('^');
		var inf = tinf[0].split(':');
		var sinf = tinf[1].split(':');
		/******** TESTNAME cannot have ':' *******/
		tbstr += '<div style="float:left;position:relative;width:250px;height:75px;padding:5px;">'+
			'<a href="javascript:get_new_tst_info(this,'+"'"+inf[0]+"','"+sinf[0]+"','"+inf[1]+':'+sinf[1]+"'"+')" class="button medium gray" style="font-size:12px;"><b>' + inf[1] +':'+sinf[1] + '</b></a> </div>';
	    }
	}
	pages[cur_page+""] = tbstr;
	show_screen(cur_page, 'Graded Work&nbsp;&nbsp;&raquo;');
}

var statdnsel_str = "";

function add_std_absence() {
	var dy = document.getElementById('statdnyr').value;
	var dm = document.getElementById('statdnmnt').value;
	var dd = document.getElementById('statdnday').value;
	
	var d = new Date(dd+" "+dm+" "+dy);
	var dtm = Math.floor(d.getTime()/1000);
	var aopt = document.getElementById('statdnsel').value;
	call("/addstdabs?syid="+cur_schyrid+"&&stid="+cur_stid+"&&dt="+dtm+"&&aopt="+aopt, null, show_std_attendance, "POST");
}

function show_std_attendance(res) {
	var r = res.split('^');
	var r1;
	if (r.length > 1) {
		//alert(r[0]);
		r1 = r[1];
	} else
		r1 = res;
	var today = new Date();
	var ds = get_date_options(-1, 1, today.getFullYear(), today.getMonth(), today.getDate()).split('^');
	pages[cur_page+""] = '<h2><center>Add new absence</center></h2><table><tr><td>Date</td><td><select id="statdnyr">'+ds[0]+'</select><select id="statdnmnt">'+ds[1]+'</select><select id="statdnday">'+ds[2]+'</select></td><td style="width:200px;text-align:right">Absent</td><td><select id="statdnsel">'+statdnsel_str+'</select></td><td class="button medium green" onClick="add_std_absence()">Add</td></tr></table><br>'+'<h3><center>Previous Absences</center></h3>'+r1;
	show_screen(cur_page, 'Attendance&nbsp;&nbsp;&raquo;');
}

function get_sec_subs_atdn(scsubs) {
	if (check_for_error(scsubs))
		return;
	var str = '<option value="0">All Day</option><option value="1">Partial Day</option>';
	if (scsubs != '-None-') {
	    var sarr = scsubs.split(',');
	    for (var i = 0; i < sarr.length; i++) {
		var inf = sarr[i].split(':');
		str += '<option value="'+inf[1]+'">'+inf[1]+'</option>';
	    }
	}
	statdnsel_str = str;

}

function submit_stdff() {
	var dsc = document.getElementById('ffdesc').value;
	var ffs = document.getElementById('ffsel').value;
	var amt = document.getElementById('ffamt').value;
	if (ffs == "0") {
		alert('Please select the type');
		return false;
	}
	if (dsc == "" || amt == "" || amt == "0") {
		alert('Please Enter Description');
		return false;
	}
	var dc = 0;
	if (ffs == "Discount" || ffs == "Credit" || ffs == "Payment")
		dc = 1;
	dsc = ffs + " - " + dsc;
	var dt = new Date();
	var cdt = Math.floor(dt.getTime()/1000);
	var optst = "";
	var ffsdtyr = document.getElementById('ffsdtyr');
	if (ffsdtyr) {
		var ffsdtmnt = document.getElementById('ffsdtmnt');
		var ffsdtday = document.getElementById('ffsdtday');
		var ddt = new Date(ffsdtday.value+" "+ffsdtmnt.value+" "+ffsdtyr.value);
		optst = "&&dued="+(ddt.getMonth()+1)+"/"+ddt.getDate()+"/"+ddt.getFullYear();
	}
	var ffsref = document.getElementById('ffsref');
	if (ffsref) {
		optst = "&&refst="+ffsref.value;
	}

	call("/addstddcinfo?stid="+cur_stid+"&&syid="+cur_schyrid+"&&amt="+amt+"&&desc="+dsc+"&&dt="+cdt+"&&dc="+dc+optst, null, show_std_dcinfo, "POST");
}

function ffs_changed(val) {
	var ffsotd = document.getElementById('ffsotd');
	if (val == 'Fee' || val == 'Fine') {
		var today = new Date();
		var ds = get_date_options(-1, 1, today.getFullYear(), today.getMonth(), today.getDate()).split('^');
		ffsotd.innerHTML='Due Date &nbsp;<select id="ffsdtyr">'+ds[0]+'</select><select id="ffsdtmnt">'+ds[1]+'</select><select id="ffsdtday">'+ds[2]+'</select>';
		ffsotd.style.visibility = 'inherit';
	} else if (val == 'Payment') {
		ffsotd.innerHTML='Reference &nbsp; <input id="ffsref" size=10 class="inp">';
		ffsotd.style.visibility = 'inherit';
	}

}

function del_pmtent(ent) {
	call("/delstddcinfo?ent="+ent, null, show_std_dcinfo, "POST");
}

function show_std_dcinfo(res) {
	//alert(res);
	if (cur_view == 1)
		pages[cur_page+""] = "<center><h2>Add new Payment</h2></center><br><table><tr><td>Type</td><td><select id='ffsel' onChange='ffs_changed(this.options[this.selectedIndex].value)'><option value='0'>-----<option><option value='Fee'>Fee</option><option value='Fine'>Fine</option><option value='Discount'>Discount</option><option value='Payment'>Payment</option><option value='Credit'>Credit back</option></select></td><td id='ffsotd' style='width:250px;visibility:hidden'></td></tr><tr><td>Description</td><td><input id='ffdesc' size=40 class='inp'></td></tr><tr><td>Amount</td><td><input id='ffamt' class='inp' size=6></td></tr><tr><td></td><td><a class='white medium button' href='javascript:submit_stdff()'>Add</a></td></tr></table><h3><center>History</h3>"+res+"</center>";
	else
		pages[cur_page+""] = "<center><h3>Payment History</h3><br>"+res+"</center>";
	show_screen(cur_page, 'Payments&nbsp;&nbsp;&raquo;');
}

function show_std_feefines(obj) {
	if (cur_level != 5)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 2;
	call("/getstddcinfo?stid="+cur_stid+"&&syid="+cur_schyrid, null, show_std_dcinfo);
}

function get_std_attendance(obj) {
	if (cur_level != 5)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 1;
	call("/getcssubs?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid, null, get_sec_subs_atdn);
	call("/getstdatdn?syid="+cur_schyrid+"&&stid="+cur_stid, null, show_std_attendance);
}

function pop_secst_info(res) {
	if (check_for_error(res))
		return;
	var st = "No Students in this section";
	if (res != '-None-') {
		var rinfo = res.split(',');
		var st = '<table border=1 cellspacing=0 style="width:100%;">';
		for (var i = 0; i < rinfo.length; i++) {
			var sinfo = rinfo[i].split(':');
			st += '<tr onClick="handle_stdsel(this,'+"'"+sinfo[2]+"','"+sinfo[0]+"','"+sinfo[1]+"'"+');"><td class="stnum" style="width:15%">'+sinfo[0]+'</td><td class="stnm" style="width:60%;">'+sinfo[1]+'</td></tr>';
			//st += '<tr onClick="handle_stdsel(this,'+"'"+sinfo[2]+"'"+');"><td class="stnum" style="width:15%">'+sinfo[0]+'</td><td class="stnm" style="width:60%;">'+sinfo[1]+'</td><td style="visibility:hidden;"><table style="border:0px;"><tr><td class="button small white" onClick="add_stdt_absent()">Absent</td><td class="button small white" onClick="edit_stdinfo('+"'"+sinfo[2]+"','"+sinfo[0]+"'"+');">Edit</td><td class="button small white" onClick="getrepcard('+"'"+sinfo[2]+"'"+');">Report</td></tr></table></td></tr>';
		}
		st += '</table>';
	}
	pages[cur_page+""] = st;
	show_screen(cur_page, 'Students&nbsp;&nbsp;&raquo;');
}

function show_sec_stds(obj) {
	if (cur_level != 3)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 1;
	call("/getsecstdt?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid, null, pop_secst_info);
}

function show_sec_subs() {
	if (cur_level != 3)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 2;
	call("/getcssubs?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid, null, update_sec_sub_info);
}

function show_sec_sub_grwork() {
	if (cur_level != 5)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 1;
	call("/getsecsubtst?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid+"&&sub="+cur_sbid, null, show_sec_sub_tst_info);
}

function show_sec_sub_oltest() {
	if (cur_level != 5)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 2;
	call("/getsecsuboltst?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid+"&&sub="+cur_sbid, null, show_sec_sub_oltst_info);
}

function show_event(id, d, arg) {
	//alert('======'+id+'====='+d+'===='+arg+"===="+cur_level);
	// cal_evid = id;
	cal_evdt = d;
	cur_level++;
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = '<div id="nclvmn" class="nclvmn"></div><div id="nclicc" class="nclvcc">';
	show_screen(cur_page, d+'&nbsp;&nbsp;&raquo;');
	show_calent_new1(arg, false);
}

function add_event(id, d, arg) {
	// alert('======'+id+'====='+d+'===='+arg+"===="+cur_level);
	// cal_evid = id;
	cal_evdt = d;
	cur_level++;
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = newcalent_str1 + '<form id="cf" action="/addcalent?rpage='+(cur_page >> 4) +'&&idt='+cal_evid+'&&dt='+escape(cal_evdt)+'" ' + caltable + newcalent_str2;
	show_screen(cur_page, d+'&nbsp;&nbsp;&raquo;');
	show_calent_new1(arg, true);
	/*
	document.getElementById('cdesc').value="";
	document.getElementById('atfile').value="";
	document.getElementById('cf').desc.value="";
	var d1 = document.getElementById('nclvmn');
	var d2 = document.getElementById('nclncc');
	var d3 = document.getElementById('nclicc');
	var cmenu = new vMenu('X', 0, 387, d1, d2, d3);
	// alert('---------2--' + arg);
	cmenu.show(arg, showoneclent, true);
	*/
}

function show_one_month(res) {
	pages[cur_page+""] = Calendar.getOneMonth(res, cal_evid, cur_cald, 60, 'add_event', false, 'SS');
	show_screen(cur_page, 'Calendar&nbsp;&nbsp;&raquo;');
	document.getElementById('cprev').onclick = function() {
		cur_cald.setMonth(cur_cald.getMonth()-1);
		var dt = (cur_cald.getMonth()+1)+"/1/"+cur_cald.getFullYear();
		call("/getmnthents?idt=XYZ&&dt="+dt, null, show_one_month);
	}
	document.getElementById('cnext').onclick = function() {
		cur_cald.setMonth(cur_cald.getMonth()+1);
		var dt = (cur_cald.getMonth()+1)+"/1/"+cur_cald.getFullYear();
		call("/getmnthents?idt=XYZ&&dt="+dt, null, show_one_month);
	}
}

var qtatxt = '<b>Enter Question</b><br><textarea id="qta" name="qta" cols=60 rows=3></textarea>';
var qintxt = '<b>Choose the image file (with question)</b><br><br><input type="file" name="qin" id="qin" size=20>';

function set_qtype1(obj) {
	var o3 = document.getElementById('qinp');
	if (obj.value == "image") {
		o3.innerHTML = qintxt;
	} else {
		o3.innerHTML = qtatxt;
	}
}

var diffsel_opts = '<select id="difflvl" name="difflvl"><option value="0">--</option>'+
			'<option value="1">1</option>'+
			'<option value="2">2</option>'+
			'<option value="3">3</option>'+
			'<option value="4">4</option>'+
			'<option value="5">5</option>'+
			'<option value="6">6</option>'+
			'<option value="7">7</option>'+
			'<option value="8">8</option>'+
			'<option value="9">9</option>'+
			'<option value="10">10</option></select>';
var addqs_str22 = '<form action="/addques" method="POST" target="scalifr2" enctype="multipart/form-data" onSubmit="return validate_qa_form(this);">';

var addqs_str = '<table>' +
				'<tr><td id="qinp" colspan=3>'+qtatxt+'</td>'+
				'</tr><tr><td><b>Difficulty level</b></td><td>'+diffsel_opts+'</td>'+
				'</tr><tr height=40></tr><tr><td><b>Answer Type</b></td>'+
				'<td width="175"><input type="checkbox" name="atype1" id="mch" value="mchoice" onChange="set_mc_nomc(this)" checked>Multiple Choice</td>'+
				'<td id="nmsel">Number of choices &nbsp;<select onChange="update_amul(this.options[this.selectedIndex].value)" id="numach" name="numach"><option value="2">2</option><option value="3">3</option><option value="4" selected>4</option><option value="5">5</option></select></td></tr></table>';

var addqs_str2 = '<br><table>' + '<tr><td><input id="shbx" type="checkbox" name="shbx" checked>Share with everyone</td></tr>'+
		'<tr><td class="button medium green" onClick="add_one_question()">Add Question</td></tr></table>';

var cur_n_mc = 4;
var new_tst_cntr = 1;
var sma = new Array('A', 'B', 'C', 'D', 'E');
function get_amul(n) {
var res="";
for (var i = 0; i < n; i++) {
	res += sma[i]+'.&nbsp;<input name="amulc'+i+'" id="amulc'+i+'" size=10><br>';
}
return res;
}

function get_ans_opts(n) {
var canss_str = '<option value="0">---</option>';
for (var i = 0; i < n; i++) {
	canss_str += '<option value="'+sma[i]+'">'+sma[i]+'</option>';
}
return canss_str;
}

function update_amul(v) {
	cur_n_mc = v;
	document.getElementById('anss').innerHTML = get_amul(cur_n_mc);
	document.getElementById('canss').innerHTML = get_ans_opts(cur_n_mc);
}

function set_mc_nomc(obj) {
	if (obj.checked) {
		document.getElementById('nmsel').style.visibility = 'inherit';
		document.getElementById('anss').innerHTML = get_amul(cur_n_mc);
		document.getElementById('cra').innerHTML = '<select name="canss" id="canss">'+get_ans_opts(cur_n_mc)+'</select>';
	} else {
		document.getElementById('nmsel').style.visibility = 'hidden';
		document.getElementById('anss').innerHTML = '';
		document.getElementById('cra').innerHTML = '<input id="cansta" size=40>';
	}
}

var question_kys = "";

function show_questions(res) {
	if (check_for_error(res))
		return;
	//alert(res);
	var rs = res.split(':');
	var qqstb = document.getElementById('qqstb');
	if (question_kys == "") {
		question_kys = rs[0];
	} else {
		question_kys = question_kys + "," + rs[0];
	}
	qqstb.innerHTML += '<table><tr><td width=30 style="text-align:left">'+new_tst_cntr+'.</td><td>'+decodeURIComponent(rs[1])+'</td></table><table></tr><tr>'+rs[3]+'</tr></table><br>';
	new_tst_cntr++;

}

function add_one_question(obj) {
	//alert('------4---');
	var ismc = document.getElementById('mch').checked;
	if (document.getElementById('difflvl').selectedIndex == 0) {
		alert('Please select Difficulty level');
		return false;
	}
	if (!ismc) {
		if (document.getElementById('cra').value == "") {
			alert('Please enter Correct Answer');
			return false;
		}
	} else {
		if (document.getElementById('canss').selectedIndex == 0) {
			alert('Please select Correct Answer');
			return false;
		}
	}
	var arr = document.getElementsByName('qtype1');
	var q;
	for (var i = 0; i < arr.length; i++) {
		var obj = document.getElementsByName('qtype1').item(i);
		if (obj.checked) {
			if (obj.value == "text") {
				if (document.getElementById('qta').length < 5) {
					alert('Please enter valid question');
					return false;
				}
				q = document.getElementById('qta').value;
			} else {
				if (document.getElementById('qin').length == 0) {
					alert('Please choose image file');
					return false;
				}
			}
		}
	}

	var ansstr="";
	if (ismc) {
	    for (var i = 0; i < cur_n_mc; i++) {
		var amulc = document.getElementById('amulc'+i).value;
		if (amulc.length < 1) {
			alert('Please enter valid answer for  '+sma[i]);
			return false;
		}
		/* ansstr += '<td width=100><b>'+sma[i]+'.</b>&nbsp;'+ amulc + '</td>'; */
		ansstr += '&&amulc'+i+'='+encodeURIComponent(amulc);
	    }
	}
	var qta = document.getElementById('qta').value;
	//alert('========='+encodeURIComponent(qta));
	//obj.target = 'scalifr2';
	hide_cur_screen();
	/*
	var qqs = document.getElementById('qqs');
	qqs.innerHTML += '<table><tr><td width=30 style="text-align:left">'+new_tst_cntr+'.</td><td>'+q+'</td></tr><table><table><tr>'+ansstr+'</tr></table><br>';
	new_tst_cntr++;
	*/
	var qtype1 = "text";
	var shbx = document.getElementById('shbx').value;
	var difflvl = document.getElementById('difflvl').value;
	var numach = document.getElementById('numach').value;
	var canss;
        if (ismc) 
	    canss = document.getElementById('canss').value;
	else {
	    canss = document.getElementById('cansta').value;
	    numach = 1;
	}
	call("/addques?grid="+cur_grid+"&&sbid="+cur_subid+"&&qtype1="+escape(qtype1)+"&&shbx="+escape(shbx)+"&&difflvl="+difflvl+"&&numach="+escape(numach)+"&&ismc="+ismc+"&&canss="+escape(canss)+"&&qta="+encodeURIComponent(qta)+ansstr, null, show_questions, "POST");
	return true;
}

function frm_changed(fobj) {
	/*
	alert(fobj);
	alert(fobj.id);
	alert(document.getElementById('qif1').innerHTML);
	*/
}

function add_question() {
	cur_level++;
	cur_page = cur_page << 4 | 1;
	/*
	var qqs = document.getElementById('qqs');
	qqs.innerHTML += '<table><tr><td><b>'+new_tst_cntr+'.</b><td><iframe id="qif'+new_tst_cntr+'" name="qif'+new_tst_cntr+'" src="" onLoad="frm_changed(this)" style="width:100%;border:0px;"></iframe></td></tr></table>';
	*/
	pages[cur_page+""] = addqs_str +
		'<table><tr><td id="anss" colspan=2>'+get_amul(cur_n_mc)+'</td></tr><tr><td width="150"><b>Correct Answer</td><td id="cra"><select name="canss" id="canss">'+get_ans_opts(cur_n_mc)+'</select></td></tr></table>' +
			addqs_str2;
	show_screen(cur_page, "Add&nbsp;&raquo;");
}

function show_add_test(res) {
}

function add_online_test() {
	var name = document.getElementById('otsnm').value;
	if (name == "") {
		alert('Please enter valid test name');
		return;
	}
	if (question_kys == "") {
		alert('No questions in the test');
		return;
	}
	hide_cur_screen();
	call("/addonltest?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+cur_scid+"&&sub="+cur_sbid+"&&tnm="+name+"&&qkys="+question_kys, null, show_sec_sub_oltst_info, "POST");
}

function show_new_online_test(obj) {
	if (cur_level != 6)
		return;
	new_tst_cntr = 1;
	question_kys = "";
	var newstr = '<form name="mf" method="POST" enctype="multipart/form-data" >' +
		'<table><tr><td id="otssbs"></td><td>Test Name</td><td><input class="inp" id="otsnm" size=30></td>'+
		'<td class="button medium green" onClick="add_question()">Add a Question</td><td class="button medium green" onClick="pick_question">Pick a question from question bank</td></tr></table><div id="qqs" style="position:absolute;top:10%;left:0px;width:100%;height:80%;overflow:auto;background:lightgreen"><table id="qqstb"></table></div><div id="qqssb" style="position:absolute;top:90%;left:45%;width:30%;height:10%"><table><tr><td class="button medium red" onClick="add_online_test()">Add</td></tr></table></div></form>';
	cur_level++;
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = newstr;
	show_screen(cur_page, "New&nbsp;&nbsp;&nbsp;&raquo;");
	document.getElementById('otssbs')

}

function start_online_test(obj) {
	cur_level++;
	cur_page = cur_page << 4 | 6;
	pages[cur_page+""] = '<div style="float:top;position:relative;width:150px;height:75px;padding:25px;">'+
			'<a href="javascript:show_new_online_test(this)" class="button bigrounded green"><b>New</b></a> </div>';
	show_screen(cur_page, "Online Tests&nbsp;&raquo;");
}

function show_sec_calendar(obj) {
	if (cur_level != 3)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 4;
	cur_cald = new Date();
	cal_evid = cur_scid;
	var dt = (cur_cald.getMonth()+1)+"/1/"+cur_cald.getFullYear();
	call("/getmnthents?idt="+cur_scid+"&&dt="+dt, null, show_one_month);

	/*
	var sclcal = document.getElementById('mpage'+cur_level);
	var cl = new Calendar(sclcal, ''+cur_scid, 60, 'SS', get_month_ents, false, 'add_event');
	cl.show(30, 85);
	pages[cur_page+""] = sclcal.innerHTML;
	show_screen(cur_page, 'Calendar&nbsp;&nbsp;&raquo;');
	*/
}

function get_date_options(min, max, ydf, mdf, ddf) {
	var res = "";
	var dt = new Date();
	var yr = dt.getFullYear();
	if (ydf == 0)
		ydf = yr-min;
	for (var i = yr-min; i > yr-max; i--) {
		var s = (i == ydf) ? 'selected' : '';
		res += '<option '+s + '>'+i+'</option>';
	}
	res += "^";
	for (var i = 0; i < 12; i++) {
		var s = (i == mdf) ? 'selected' : '';
		res += '<option '+ s +'>'+month_names[i]+'</option>';
	}
	res += "^";
	for (var i = 1; i <=31; i++) {
		var s = (i == ddf) ? 'selected' : '';
		res += '<option '+ s + '>'+i+'</option>';
	}
	return (res);
}

function add_date_options(idy, idm, idd, min, max) {
	var s = get_date_options(min, max, 0, 0, 1);
	var t = s.split('^');
	var dy = document.getElementById(idy);
	var dm = document.getElementById(idm);
	var dd = document.getElementById(idd);
	dy.innerHTML = t[0];
	dm.innerHTML = t[1];
	dd.innerHTML = t[2];
}

function show_add_student_form(obj) {
	window.open("/showadmform?schid="+cur_schid+"&&syid="+cur_schyrid, "Admission Application Form", "menubar=1, location=0,height=800,width=1000,scrollbars=1");
	return;
	/*
	cur_level++;
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = newstd_str1+ stdgrds + newstd_str2;
	show_screen(cur_page, 'New&nbsp;&nbsp;&raquo;');
	var s = get_date_options(2, 55, 0, 0, 1).split('^');
	var stbdt = document.getElementById('stbdt');
	stbdt.innerHTML='<select id="stbddy">'+s[2]+'</select><select id="stbdmn">'+s[1]+'</select><select id="stbdyr">'+s[0]+'</select>';
	*/
}

function show_add_teacher_form(obj) {
	/*
	window.open("/showempform?schid="+cur_schid, "Employment Application Form", "menubar=1, location=0,height=800,width=1000,scrollbars=1");
	return;
	*/
	cur_level++;
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = newtch_str;
	show_screen(cur_page, 'New&nbsp;&nbsp;&raquo;');
	var s = get_date_options(15, 90, 0, 0, 1).split('^');
	var stbdt = document.getElementById('tbdt');
	stbdt.innerHTML='<select id="tbddy">'+s[2]+'</select><select id="tbdmn">'+s[1]+'</select><select id="tbdyr">'+s[0]+'</select>';
}

function show_add_sec_subs_form(obj) {
	if (cur_level != 4)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = newsecsub_str;
	show_screen(cur_page, 'New&nbsp;&nbsp;&raquo;');
	var gsubpx = document.getElementById('scsubpx');
	gsubpx.style.color = '#C0C0C0';
	gsubpx.value = cur_grname;
}

function show_add_subs_form(obj) {
	if (cur_level != 2)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = newsub_str;
	show_screen(cur_page, 'New&nbsp;&nbsp;&raquo;');
	var gsubpx = document.getElementById('gsubpx');
	gsubpx.style.color = '#C0C0C0';
	gsubpx.value = cur_grname;

}

function update_sec_sub_info(scsubs) {
	if (check_for_error(scsubs))
		return;
	var cstr = '<div style="float:top;position:relative;width:150px;height:75px;padding:25px;">'+
			'<a href="javascript:show_add_sec_subs_form(this)" class="button bigrounded green"><b>New</b></a> </div>';
	cstr += '<table>';
	if (scsubs != '-None-') {
	    var sarr = scsubs.split(',');
	    for (var i = 0; i < sarr.length; i++) {
		var inf = sarr[i].split(':');
		//cstr += '<tr><td class="edt">'+inf[1]+'</td></tr>';
		cstr += '<div style="float:left;position:relative;width:150px;height:75px;padding:5px;">'+
			'<a href="javascript:get_sec_sub_info(this,'+"'" + inf[0] + "','" + inf[1] + "'" + ')" class="button medium white" style="width:60px;height:40px;font-size:12px;"><b>' + inf[1] + '</b></a> </div>';
	    }
	}
	pages[cur_page+""] = cstr;
	/* XXXXXXXXXXXXXXX In US subjects are called Classes **/
	show_screen(cur_page, 'Subjects&nbsp;&nbsp;&raquo;');
}

/*
 * ********** XXXXXX To Do ********
 * Make All Dates to show up as 1-31 <jan-dec> 4-digit year
 * Check All the input for valid input
 */

function chng_grd_fee() {
	var freq = document.getElementById('freq').value;
	var fee = document.getElementById('gfee').value;
	call("/chngrdfees?crs="+cur_grid+"&&fee="+fee+"&&freq="+freq, null, show_grd_fee_info, "POST");
}

function show_grd_fee_info(res) {
	var r = res.split(",");
	//alert(res);
	var fs;
	if (r[0] == '0')
		fs = "not set";
	else
		fs = r[0] + " "+ currency_name+"s "+r[1];
	pages[cur_page+""] = "<br><table class='af'><tr><td>Current fee </td><td>"+ fs+"</td></tr>"+
		"<tr><td width=150>New Fee </td><td> <input id='gfee' class='inp' size=5>"+currency_name+"s</td><td><select id='freq'><option value='1'>Monthly</option><option value='2'>Every two months</option><option value='3'>Quarterly</option><option value='4'>Every 4 months</option><option value='6'>Half-yearly</option><option value='12'>Yearly</option></select></td></tr><tr><td></td><td><a class='white medium button' href='javascript:chng_grd_fee()'>Update</a></td></tr></table>";
	show_screen(cur_page, 'Fees&nbsp;&nbsp;&raquo;');
}

function assign_std_sec() {
	var sec = document.getElementById('grsecids').value;
	alert(sec);
	if (sec == '0') {
		alert('Please select a section');
		return;
	}
	call('/asgnstdsec?crs='+cur_grid+'&&sec='+sec+'&stid='+cur_stid, null, show_grd_students, "POST");
}

function show_gsassdiv(stid) {
	alert(stid);
	cur_stid = stid;
	document.getElementById('gsassbut').style.visibility = 'inherit';
}

function show_grd_students(res) {
	//alert(res);
	pages[cur_page+""] = res;
	show_screen(cur_page, "Students&nbsp;&nbsp;&raquo;");
}

function show_grd_fees(obj) {
	cur_level++;
	cur_page = cur_page << 4 | 1;
	call("/getgrdfees?crs="+cur_grid, null, show_grd_fee_info);
}

function get_grd_students() {
	if (cur_level != 1) {
		return;
	}
	cur_level++;
	cur_page = cur_page << 4 | 1;
	call("/getgrdstds?crs="+cur_grid, null, show_grd_students);
}

function show_sections(mobj) {
	if (cur_level != 1)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 2;
	call("/getgrdsecs?crs="+cur_grid, null, update_grdsec_info);
}

function show_subjects(mobj) {
	cur_level++;
	cur_page = cur_page << 4 | 3;
	call("/getgrdsubs?crs="+cur_grid, null, update_grdsub_info);
}

function update_grdsub_info(gsubs) {
	var cstr = '<div style="float:top;position:relative;width:150px;height:75px;padding:25px;">'+
			'<a href="javascript:show_add_subs_form(this)" class="button bigrounded green"><b>New</b></a> </div>';
	cstr += '<table>';
	if (gsubs != '-None-') {
	    var sarr = gsubs.split(',');
	    for (var i = 0; i < sarr.length; i++) {
		var inf = sarr[i].split(':');
		cstr += '<tr><td class="edt">'+inf[1]+'</td></tr>';
	    }
	}
	pages[cur_page+""] = cstr;
	show_screen(cur_page, 'Subjects&nbsp;&nbsp;&raquo;');
}

function add_sections() {
	hide_cur_screen();
	var ss = document.getElementById('snames').value;
	if (ss == '')
		return;
	call("/addsecs?crs="+cur_grid+"&&secs="+escape(ss), null, update_grdsec_info, "POST");
}

function show_add_sections_form(obj) {
	if (cur_level != 2)
		return;	
	cur_level++;
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = newsec_str;
	show_screen(cur_page, 'New&nbsp;&nbsp;&raquo;');
}

function get_sec_info(scobj, scid, scname) {
	if (cur_level != 2)
		return;	
	cur_scid = scid;
	cur_scname = scname;
	cur_level++;
	cur_page = cur_page << 4 | 2;
	pages[cur_page+""] = onesec_str;
	show_screen(cur_page, scname+'&nbsp;&nbsp;&raquo;');
}

function get_sec_sub_info(scobj, sbid, sbname) {
	if (cur_level != 4)
		return;
	cur_sbid = sbid;
	cur_scsb_name = sbname;
	cur_level++;
	cur_page = cur_page << 4 | 2;
	pages[cur_page+""] = sec_sub_str;
	show_screen(cur_page, sbname+'&nbsp;&nbsp;&raquo;');
}
function update_grdsec_info(gsecs) {
	if (check_for_error(gsecs))
		return;
	var cstr = '<div style="float:left;position:relative;width:150px;height:75px;padding:5px;">'+
			'<a href="javascript:show_add_sections_form(this)" class="button bigrounded green"><b>New</b></a> </div>';
	if (gsecs != '-None-') {
	    var sarr = gsecs.split(',');
	    for (var i = 0; i < sarr.length; i++) {
		var inf = sarr[i].split(':');
		cstr += '<div style="float:left;position:relative;width:150px;height:75px;padding:5px;">'+
			'<a href="javascript:get_sec_info(this,'+"'" + inf[0] + "','" + inf[1] + "'" + ')" class="button medium white" style="width:60px;height:40px;font-size:12px;"><b>' + inf[1] + '</b></a> </div>';
	    }
	}
	pages[cur_page+""] = cstr;
	show_screen(cur_page, 'Sections&nbsp;&nbsp;&raquo;');
}

function get_grd_info(tdobj, grid, grname) {
	if (cur_level != 0)
		return;
	cur_grid = grid;
	cur_grname = grname;
	cur_level++;
	cur_page = cur_page << 4 | 2;
	pages[cur_page+""] = onegrd_str;
	show_screen(cur_page, grname+'&nbsp;&nbsp;&raquo;');
}

function add_grades() {
	if (cur_level != 1)
		return;
	var stgr = document.getElementById('stgr2');
	var engr = document.getElementById('engr2');
	var sv = parseInt(stgr.value);
	var ev = parseInt(engr.value);
	if (sv == 100 || ev == 100 || ev < sv) {
		alert('Invalid grade selections');
		return;
	}
	var grlist = "";
	for (var i = sv; i <= ev; i++) {
		if (i != sv)
			grlist += ',';
		if (i == 0)
			grlist += i+':Kindergarten';
		else
			grlist += i+(':Grade '+i);
	}
	hide_cur_screen();
	call("/addgrds?syid="+cur_schyrid+"&&clist="+escape(grlist), null, show_school_info, "POST");
}

function show_add_grades_form() {
	if (cur_level != 0)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = newgrd_str;
	show_screen(cur_page, 'New&nbsp;&nbsp;&raquo;');
}
function update_lftmnu(mnuobj) {
	if (lftmnu_cursel) {
		lftmnu_cursel.style.fontSize = '14px';
		lftmnu_cursel.style.background = '#FFFFFF';
		lftmnu_cursel.style.color = 'blue';
		lftmnu_cursel.selected = false;
	}
	while (cur_level) {
		document.getElementById('ms'+cur_level).style.visibility = 'hidden';
		document.getElementById('mpage'+cur_level).style.visibility = 'hidden';
		cur_level--;
	}
	mnuobj.style.fontSize = '16px';
	mnuobj.style.background = 'lightgreen';
	mnuobj.style.color = 'darkgreen';
	mnuobj.selected = true;
	lftmnu_cursel = mnuobj;
}
function show_general(mnuobj) {
	update_lftmnu(mnuobj);
	cur_page = 1;
	show_screen(1, '');
}

function show_grades(mnuobj) {
	update_lftmnu(mnuobj);
	cur_page = 2;
	show_screen(2, '');
}

function show_students(mnuobj) {
	pages["3"] = '<div id="numstds" style="float:left;position:relative;width:100%;height:75px;font-size:20px;text-align:center"><br>'+
			'There are '+ num_stds + ' student record(s). </div>' + stdstr ;
	update_lftmnu(mnuobj);
	cur_page = 3;
	show_screen(3, '');
}

function change_adm_dates() {
	var sd = document.getElementById('syoddd').value;
	var sm = document.getElementById('syodmt').value;
	var sy = document.getElementById('syodyr').value;
	var d = new Date(sd+" "+sm+" "+sy);
	if (d.getFullYear() != sy || d.getDate() != sd) {
		alert('Invalid date');
		return;
	}
	var stdt = (d.getMonth()+1) + "/" + sd + "/" + sy;
	var cd = document.getElementById('sycddd').value;
	var cm = document.getElementById('sycdmt').value;
	var cy = document.getElementById('sycdyr').value;
	var d1 = new Date(cd+" "+cm+" "+cy);
	if (d1.getFullYear() != cy || d1.getDate() != cd) {
		alert('Invalid date');
		return;
	}
	var cldt = (d1.getMonth()+1) + "/" + cd + "/" + cy;

	call("/chngadmdts?syid="+cur_schyrid+"&&sdt="+stdt+"&&cdt="+cldt, null, upd_admissions, "POST");
	hide_cur_screen();
}

function change_adms() {
	if (cur_level != 0)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 1;
	var s = get_date_options(-1, 1, 0, 0, 1).split('^');
	var stbdt = document.getElementById('stbdt');
	pages[cur_page+""] = '<table><tr><td><b>Admissions</b> open date</td><td> <select id="syoddd">'+s[2]+'</select><select id="syodmt">'+s[1]+'</select><select id="syodyr">'+s[0]+'</select></td><td>close date</td><td><select id="sycddd">'+s[2]+'</select><select id="sycdmt">'+s[1]+'</select><select id="sycdyr">'+s[0]+'</select></td></tr><tr><td></td><td onClick="change_adm_dates()" class="button medium black">Submit</td></tr></table>';
	show_screen(cur_page, "Change&nbsp;&nbsp;&raquo;");
}

function refreshed_admscreen() {
	if (admodt == "")
		admstr = "Admission dates are not set";
	else {
		admstr = "Admissions are open from <b>"+admodt+"</b> to <b>"+admcdt+"</b>";
	}
	var idx = stdgrds.indexOf('</option>')
	var nstdgrds = stdgrds.substring(0, idx)+"<option value='all'>All</option>"+stdgrds.substring(idx);
	var prpfst= "";

	if (prpfstatus == 'True') 
		prpfst = "Prospectus uploaded. <a href='/getprospectus?schid="+cur_schid+"' class='button small blue'>View</a> &nbsp;&nbsp;&nbsp;<a href='javascript:upload_prpf()' class='button small green'>Change</a> ";
	else
		prpfst = "Prospectus not uploaded. <a href='javascript:upload_prpf()' class='button small green'>Upload</a>";
	return ('<table><tr><td>'+admstr+'</td><td class="button medium grey" onClick="change_adms()">Change</td></tr></table><br>'+prpfst+'<br><br>Show admission applications for <select id="admstgr">'+nstdgrds+'</select><a class="button white medium" href="javascript:get_applications()">Go</a>')
}

function upd_admissions(res) {
	var r = res.split('^');
	admodt = r[0];
	admcdt = r[1];
	var d = document.getElementById('admdiv');
	d.innerHTML = refreshed_admscreen();
	return;
	var idx = stdgrds.indexOf('</option>')
	var nstdgrds = stdgrds.substring(0, idx)+"<option value='all'>All</option>"+stdgrds.substring(idx);
	var prpfst = "";
	if (prpfstatus == 'True')
		prpfst = "Prospectus uploaded. <a href='/getprospectus?schid="+cur_schid+"' class='button small blue'>View</a> ";
	else
		prpfst = "Prospectus not uploaded. <a href='javascript:upload_prpf()' class='button small green'>Upload</a>";
	d.innerHTML = '<table><tr><td>'+res+'</td><td class="button medium grey" onClick="change_adms()">Change</td></tr></table><br>'+prpfst+'<br>Show admission applications for <select id="admstgr">'+nstdgrds+'</select><a class="button white medium" href="javascript:get_applications()">Go</a></div>';

}

function show_applications(res) {
	//alert(res);
	document.getElementById('admlstdiv').innerHTML = res;
}

function get_one_application(admtid, editable) {
	window.open("/getapplone?admtid="+admtid+"&&editable="+editable, "Admission Apllication", "menubar=1,location=0,scrollbars=1");
}

function get_applications() {
	var grid = document.getElementById("admstgr").value;
	call("/getadmappls?syid="+cur_schyrid+"&&grid="+grid, null, show_applications);
}

function show_add_libitem(res) {
	hide_cur_screen();
}

function add_libitem() {
	var ttl;
	var cstr = "";
	if ((d = document.getElementById('itype'))) {
		cstr += "&&itype="+d.value;
	}
	if ((d = document.getElementById('ttl'))) {
		cstr += "&&title="+d.value;
	}
	if ((d = document.getElementById('aat'))) {
		cstr += "&&author="+d.value;
	}
	if ((d = document.getElementById('adaat'))) {
		cstr += "&&adauthors="+d.value;
	}
	if ((d = document.getElementById('desc'))) {
		cstr += "&&desc="+d.value;
	}
	if ((d = document.getElementById('publ'))) {
		cstr += "&&publisher="+d.value;
	}
	if ((d = document.getElementById('year'))) {
		cstr += "&&year="+d.value;
	}
	if ((d = document.getElementById('pdesc'))) {
		cstr += "&&pdesc="+d.value;
	}
	if ((d = document.getElementById('lang'))) {
		cstr += "&&lang="+d.value;
	}
	if ((d = document.getElementById('isbn'))) {
		if (d.value.length == 10)
			cstr += "&&isbn10="+d.value;
		else if (d.value.length == 13)
			cstr += "&&isbn13="+d.value;
		else {
			alert('Invalid ISBN value. Enter 10 or 13 characters');
			return false;
		}
	}
	if ((d = document.getElementById('callnum'))) {
		cstr += "&&cnum="+d.value;
	}
	call("addlitem?sch="+cur_schid+cstr, null, show_add_libitem, "POST");
	return true;
}

function addto_catalog(obj) {
	if (cur_level != 0)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = '<br><center><h2>Add a Library Item</h2></center><table class="af"><tr><td>Item Type</td><td><select id="itype"><option value="book">Book</option><option value="cd">CD</option><option value="dvd">DVD</option></select></td></tr><tr><td>Title</td><td><input class="inp" id="ttl" size=40></td></tr><tr><td>Author/Artist</td><td><input class="inp" id="aat" size=30></td></tr><tr><td>Additional Authors/Artists</td><td><input class="inp" id="adaat" size=30></td></tr><tr><td>Description</td><td><textarea class="inp" id="desc" cols=60 rows=2></textarea></td></tr><tr><td>Publisher</td><td><input class="inp" id="publ" size=25></td></tr><tr><td>ISBN</td><td><input class="inp" id="isbn" size=25></td></tr><tr><td>Language</td><td><input class="inp" id="lang" size=20></td></tr><tr><td>Year</td><td><input class="inp" id="year" size=4></td></tr><tr><td>Physical Description</td><td><input class="inp" id="pdesc" size=40></td></tr><tr><td>Call number</td><td><input class="inp" id="cln" size=40></td></tr><tr><tr><td></td><td class="button green medium" onClick="add_libitem()">Add</td></tr></table>';
	show_screen(cur_page, "Add&nbsp;&nbsp;&raquo;");
}

function show_libitems(res) {
	//alert(res);
	document.getElementById('sres').innerHTML = '<h3><center>Results</center></h3>'+res;
}

function srch_libitem() {
	var v = document.getElementById('srval').value;
	if (v == '') {
		alert('Please enter valid search string');
		return false;
	}
	var srid = document.getElementById('srid').value;
	if (srid == 'isbn') {
		if (v.length == 10)
			srid = 'isbn10';
		else if (v.length == 13)
			srid = 'isbn13';
		else {
			alert('Invalid ISBN number. Please enter 10 or 13 digits');
			return;
		}
	}
	call("srchlitem?sch="+cur_schid+"&&srid="+srid+"&&srval="+v, null, show_libitems);
}

function process_libitem_return(libid, litm) {
	cur_litm = litm;
	call("/updlibrec?libid="+libid+"&&returned=1", null, update_litem_checkout, "POST");
}

function pop_bwr_stds(res) {
	var rinfo = res.split(',');
	tst = "<select id='bwrstid'>"
	for (var i = 0; i < rinfo.length; i++) {
		var sinfo = rinfo[i].split(':');
		tst += '<option value="'+sinfo[2]+'">'+sinfo[0]+"-"+sinfo[1]+"</option>";
	}
	tst += '</select>';
	document.getElementById('bwro3').innerHTML = tst;
	document.getElementById('bwrbt').style.visibility = 'inherit';
}
function get_bwr_sec_stds(scid) {
	call("/getsecstdt?syid="+cur_schyrid+"&&crs="+cur_grid+"&&sec="+scid, null, pop_bwr_stds);
}

function pop_bwr_secs(res) {
	document.getElementById('bwro2').innerHTML = '<select id="bwrscid" onChange="get_bwr_sec_stds(this.options[this.selectedIndex].value)"><option value="0">----</option>'+ create_sel_opt_string(res)+"</select>";
}

function get_bwr_grsecs(grid) {
	cur_grid = grid;
	call("/getgrdsecs?crs="+grid, null, pop_bwr_secs);
}

function pop_bwr_staff(res) {
	if (res == '-None-')
		return;
	var rinfo = res.split(',');
	tst = "<select id='bwrstid'>"
	for (var i = 0; i < rinfo.length; i++) {
		var sinfo = rinfo[i].split(':');
		tst += '<option value="'+sinfo[0]+'">'+sinfo[1]+"("+sinfo[2]+")"+"</option>";
	}
	tst += '</select>';
	document.getElementById('bwro3').innerHTML = tst;
	document.getElementById('bwrbt').style.visibility = 'inherit';
}

function get_bwr_staff(styp) {
	if (styp == 0) {
		document.getElementById('bwro3').innerHTML = '';
		return;
	}
	call('/getchlst?syid='+cur_schyrid+"&&tty="+styp, null, pop_bwr_staff);
}

function loadnxtopt(val) {
	if (val == 'staff') {
		document.getElementById('bwro1').innerHTML='<select id="bwrgrid" onChange="get_bwr_staff(this.options[this.selectedIndex].value)"><option value="0">-----</option><option value="tch">Teaching Staff</option><option value="adm">Non-teaching Staff</option></select>';
	} else {
		document.getElementById('bwro1').innerHTML='<select id="bwrgrid" onChange="get_bwr_grsecs(this.options[this.selectedIndex].value)">'+stdgrds+'</select>';
	}
}

function update_litem_checkout(res) {
	//alert(res);
	if (res == 'Asuccess') {
		document.getElementById('st-'+cur_litm).innerHTML = 'Borrowed';
		document.getElementById('co-'+cur_litm).style.visibility = 'hidden';
		hide_cur_screen();
	} else if (res == 'Rtsuccess') {
		document.getElementById('st-'+cur_litm).innerHTML = 'Available';
		document.getElementById('co-'+cur_litm).style.visibility = 'hidden';
	}
}

function post_litem_checkout(litm) {
	var bwrtype = document.getElementById('bwrtyp').value;
	if (bwrtype == 'staff') {
		var bid = document.getElementById('bwrstid').value;
	} else {
		var bid = document.getElementById('bwrstid').value;
	}
	call("/addlibrec?brid="+bid+"&&liid="+litm+"&&duein=14", null, update_litem_checkout, "POST");
}

function do_litem_checkout(litm, inf) {
	if (cur_level != 1)
		return;
	cur_level++;
	cur_litm = litm;
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = '<center><h3>'+inf+'</h3></center><br><table><tr><td><select onChange="loadnxtopt(this.options[this.selectedIndex].value)" id="bwrtyp"><option value="student">Student</option><option value="staff">Staff</option></select></td><td id="bwro1"></td><td id="bwro2"></td><td id="bwro3"></td></tr><tr><td></td><td id="bwrbt" onClick="post_litem_checkout('+"'"+litm+"'"+')" class="button medium blue" style="visibility:hidden;">Check Out</td></tr></table>';
	show_screen(cur_page, "Check out&nbsp;&nbsp;&raquo;");
}

function search_catalog(obj) {
	if (cur_level != 0)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 2;
	pages[cur_page+""] = '<br><center><h2>Search catalog</h2></center><br><table><tr><td><select id="srid"><option value="title">Title</option><option value="author">Author</option><option value="isbn">ISBN</option></select></td><td><input id="srval" size=30></input></td></tr><tr><td></td><td class="button medium green" onClick="srch_libitem()">Search</td></tr></table><div style="overflow:auto" id="sres"></div>'
	show_screen(cur_page, "Search&nbsp;&nbsp;&raquo;");
}

function show_library(mnuobj) {
	update_lftmnu(mnuobj);
	pages["6"] = 
		'<div id="addlibit" style="float:left;position:relative;width:200px;height:75px;padding:5px;">'+
		'<a href="javascript:addto_catalog(this)" class="button bigrounded green"><b>Add a Library Item </b></a> </div>'+
		'<div id="catalog" style="float:left;position:relative;width:200px;height:75px;padding:5px;">'+
		'<a href="javascript:search_catalog(this)" class="button bigrounded green"><b>Search Catalog</b></a> </div>';
	cur_page = 6;
	show_screen(6, '');
}

function upf_check_size() {
	var file = document.getElementById('prpf').files[0];
	if (file) {
		if (file.size > 1024 * 1024) {
			alert('File size exceeds maximum size allowed!');
			return false;
		}
		return true;
	}
	return false;
}

function upload_prpf_failed() {
	alert('Upload failed. Please retry.');
}

function upload_prpf_complete() {
	alert('Upload successfully completed');
	prpfstatus = 'True';
	hide_cur_screen();
	var d = document.getElementById('admdiv');
	d.innerHTML = refreshed_admscreen();
}

function upload_prpf_file() {
	if (upf_check_size()) {
		var xhr = new XMLHttpRequest();
		var fd = new FormData();
		fd.append("schid", cur_schid);
		fd.append("prpf", document.getElementById('prpf').files[0]);
		xhr.open("POST", "upldprp");
		xhr.addEventListener("load", upload_prpf_complete, false);
		xhr.addEventListener("error", upload_prpf_failed, false);
		xhr.send(fd);
	}
}

function upload_prpf() {
	if (cur_level != 0)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = '<form id="upform" action="/upldprp?schid='+cur_schid+'" method="POST" enctype="multipart/form-data" autocomplete="off" target="prfifr"> Prospectus (PDF format is recommended)&nbsp;&nbsp;&nbsp;<input type="file" class="asf" id="prpf" name="prpf" onChange="upf_check_size();">&nbsp;&nbsp;<input class="button small green" type="button" value="Upload" onClick="upload_prpf_file()"></form>';
	show_screen(cur_page, "Prospectus&nbsp;&nbsp;&raquo;");
	//pages["5"] = '<div id="admdiv"><table><tr><td>'+admstr+'</td><td class="button medium grey" onClick="change_adms()">Change</td></tr></table><br><br><form action="/upldprp?schid='+cur_schid+'" method="POST" enctype="multipart/form-data" autocomplete="off" target="prfifr"> Prospectus (PDF format is recommended)&nbsp;&nbsp;&nbsp;<input type="file" class="asf" id="prpf" name="prpf">&nbsp;&nbsp;<input class="button small green" type="submit" value="Upload"><iframe id="prfifr" name="prfifr" src="" style="width:100px;height:10px;border:0px solid #fff;"></iframe></form><br>Show admission applications for <select id="admstgr">'+nstdgrds+'</select><a class="button white medium" href="javascript:get_applications()">Go</a></div><br><br><div id="admlstdiv" style="overflow:auto;"></div>';
}

function show_admissions(mnuobj) {
	update_lftmnu(mnuobj);
	/*
	if (admodt == "")
		admstr = "Admission dates are not set";
	else {
		admstr = "Admissions are open from <b>"+admodt+"</b> to <b>"+admcdt+"</b>";
	}
	var idx = stdgrds.indexOf('</option>')
	var nstdgrds = stdgrds.substring(0, idx)+"<option value='all'>All</option>"+stdgrds.substring(idx);
	var prpfst= "";

	if (prpfstatus == 'True') 
		prpfst = "Prospectus uploaded. <a href='/getprospectus?schid="+cur_schid+"' class='button small blue'>View</a> &nbsp;&nbsp;&nbsp;<a href='javascript:upload_prpf()' class='button small green'>Change</a> ";
	else
		prpfst = "Prospectus not uploaded. <a href='javascript:upload_prpf()' class='button small green'>Upload</a>";
	*/
	pages["5"] = '<div id="admdiv">'+refreshed_admscreen()+'<br><br><div id="admlstdiv" style="overflow:auto;"></div>';
	cur_page = 5;
	show_screen(5, '');
}

function show_teachers(mnuobj) {
	var tchstr = tchstr1;
	if (num_tchs > 0)
		tchstr += tchstr2;
	pages["4"] = '<div id="numtchs" style="float:left;position:relative;width:100%;height:75px;font-size:20px;text-align:center"><br>'+
			'There are '+ num_tchs + ' staff record(s). </div>' + tchstr;
	update_lftmnu(mnuobj);
	cur_page = 4;
	show_screen(4, '');
}

function show_reports(mnuobj) {
	update_lftmnu(mnuobj);
	cur_page = 7;
	show_screen(7, '');
}

function create_sel_opt_string(sopts) {
	var sarr = sopts.split(',');
	var rtv = "";
	for (var i = 0; i < sarr.length; i++) {
		if (sarr[i] == '-None-')
			continue;
		var inf = sarr[i].split(':');
		rtv += '<option value="'+inf[0]+'">'+inf[1]+'</option>';
	}
	return (rtv);
}

function show_student_list(res) {
	document.getElementById('srsres').innerHTML = "<h3><center>Results</center></h3>"+res;
}

function find_students() {
	var se = document.getElementById('ststname');
	if (!se || se.value == "")
		return;
	call("/findstdts?syid="+cur_schyrid+"&&sstr="+se.value, null, show_student_list);
}

function show_srch_student_form(obj) {
	if (cur_level != 0)
		return;
	cur_level++;
	cur_page = cur_page << 4 | 2;
	pages[cur_page+""] = "<h2>Search for students</h2><table><tr><td>Find students whose names start with <input id='ststname' size=10></td><td class='button medium green' onClick='find_students()'>Find</td></tr></table><div id='srsres'></div>";
	show_screen(cur_page, "Search&nbsp;&nbsp;&raquo;");
}

function update_teacher() {
	alert('Not implemented');
	return;
	var tnm = document.getElementById('tnmu').value;
	var tbd = document.getElementById('tbdu').value;
	var tad = document.getElementById('tadu').value;
	var tem = document.getElementById('temu').value;
	var tph = document.getElementById('tphu').value;

	// Add better input validation later (trim the input, etc.)
	if (tnm == "" || tbd == "" || tad == "") {
		alert('Invalid Input. Please fill-in all the required fields');
		return;
	}
	// Go two levels back
	hide_cur_screen();
	cur_page = cur_page >> 4;
	cur_level--;
	call("/edttch?tchid="+cur_tchid+"&&tnm="+escape(tnm)+"&&tbd="+escape(tbd)+"&&tph="+
	    escape(tph)+"&&tad="+escape(tad)+"&&tem="+escape(tem)+
	    "&&syid="+cur_schyrid, null, show_all_teachers, "POST");
}

function show_edit_tchinfo(res) {
	// alert(res);
	if (check_for_error(res))
		return;
	var tinf = res.split('^');
	var tbd = tinf[1].split('/');
	var tbds = get_date_options(15, 90, parseInt(tbd[2]), parseInt(tbd[1]), parseInt(tbd[0]));
	var ts = tbds.split('^');
	var sstr = '<select id="tbduyr">'+ts[0]+'</select><select id="tbdumn">'+ts[1]+'</select><select id="tbdudy">'+ts[2]+'</select>';
	var tcmstr = '<h3><center>Teacher Information</center></h3>'+
		"<table cellspacing=5>"+
		   '<tr> <td>Name</td> <td><input id="tnmu" class="inp" size=30  value="'+tinf[0]+'"></td> </tr>'+
		   '<tr> <td>Date of Birth</td> <td>'+sstr + '</td> </tr>' +
		   '<tr> <td>Address</td> <td><textarea id="tadu" class="ta" rows=3>'+unescape(tinf[2])+'</textarea></td> </tr>'+
		   '<tr> <td>Email</td> <td><input id="temu" class="inp" size=20 value="'+tinf[3]+'"></td> </tr>' +
		   '<tr> <td>Phone</td> <td><input id="tphu" class="inp" size=13 value="'+tinf[4]+'"></td> </tr>' +
		   '</table><table><tr> <td width=100></td> <td id="tcupdate" onClick="update_teacher()"'+
		    ' class="button green medium addb">Update</td></tr><table>'
	cur_page = cur_page << 4 | 1;
	pages[cur_page+""] = tcmstr;
	show_screen(cur_page, tinf[0]+'&nbsp;&nbsp;&raquo;');
}

function edit_tchinfo() {
	if (cur_level != 1)
		return;
	cur_level++;
	call("/get1tch?tcid="+cur_tchid, null, show_edit_tchinfo);
}

function handle_tchsel(obj, tchid, tchnm) {
	cur_tchid = tchid;
	cur_tchnm = tchnm;
	obj.style.background = 'yellow';
	document.getElementById('tctrledt').style.visibility = 'inherit';
	if (cur_tchtype == 'tch')
		document.getElementById('tctrlasc').style.visibility = 'inherit';
}

function assign_tch_class() {
	cur_level++;
	cur_page = cur_page << 4 | 2;
	pages[cur_page+""] = '<h3><center>'+cur_tchnm+'</center></h3>'+asgncl_str1+stdgrds+asgncl_str2;
	show_screen(cur_page, 'Assign Class&nbsp;&nbsp;&raquo;');
}

function get_assigned_classes() {
	cur_level++;
	cur_page = cur_page << 4 | 2;
	pages[cur_page+""] = '<h3><center>'+cur_tchnm+'</center></h3>'+asgncl_str1+stdgrds+asgncl_str2;
	show_screen(cur_page, 'Assigned Classes&nbsp;&nbsp;&raquo;');
	document.getElementById('tcccls').innetHTML='<br><br>Retrieving assigned classes...';
	call("/get1tchcls?syid="+cur_schyrid+"&&tcid="+cur_tchid, null, update_tch_classes);
}

function show_all_teachers(tlst) {
	if (check_for_error(tlst))
		return;
	cur_level++;
	cur_page = cur_page << 4 | 2;
	var tbstr = '<div style="height:70%;background:lightblue;overflow:auto"><table cellspacing=0 style="position:absolute;top:5px;left:5px;border:solid 1px #000;"><tr><th class="tle">Name</th><th class="tle">E-mail</th><th class="tle">Title</th><th class="tle">Admin Access</th></tr>';
	if (tlst != '-None-') {
	    var sarr = tlst.split(',');
	    for (var i = 0; i < sarr.length; i++) {
		var inf = sarr[i].split(':');
		var sdba = (inf[4] == 'False') ? 'No' : 'Yes';
		tbstr += '<tr onClick="handle_tchsel(this,'+"'"+inf[0]+"','"+inf[1]+"'"+')"><td class="tle">'+inf[1]+'</td><td class="tle">'+inf[2]+'</td><td class="tle">'+inf[3]+'</td><td class="tle">'+sdba+'</td></tr>';
	    }
	}
	/*
	tbstr += '</table></div><div id="tctrl" style="visibility:hidden">' +
		'<table><tr><td width=75></td><td onClick="edit_tchinfo();" class="button medium blue">Edit</td><td width=150></td><td onClick="assign_tch_class();" class="button medium gray">Assign Class</td></tr></table></div>';
	*/
	tbstr += '</table></div><div id="tctrl"><br>' +
		'<table><tr><td width=75></td><td id="tctrledt" style="visibility:hidden" onClick="edit_tchinfo();" class="button medium blue">Edit</td><td width=150></td><td id="tctrlasc" style="visibility:hidden" onClick="get_assigned_classes();" class="button medium gray">Show Classes</td></tr></table></div>';
	pages[cur_page+""] = tbstr;
	show_screen(cur_page, 'Staff list&nbsp;&nbsp;&raquo;');
}

function get_tch_list() {
	var typ = document.getElementById('shotchsel').value;
	if (typ == '0') {
		alert('Please make staff type selection');
		return;
	}
	cur_tchtype = typ;
	call('/getchlst?syid='+cur_schyrid+"&&tty="+typ, null, show_all_teachers);
}

function show_school_info(res) {
	//alert(res);
	if (check_for_error(res))
		return;
	
	document.getElementById('fpage').style.visibility = 'hidden';
	document.getElementById('spage').style.visibility = 'inherit';
	var sinfo = res.split('=');
	var snm = sinfo[0].split(':');
	num_stds = sinfo[2];
	num_tchs = sinfo[3];
	admodt = sinfo[4];
	admcdt = sinfo[5];
	currency_name = sinfo[6];
	embstatus = sinfo[7];
	prpfstatus = sinfo[8];

	cur_schid = snm[0];
	document.getElementById('schname').innerHTML = snm[1];
	if (embstatus == 'True')
		document.getElementById('semb').innerHTML = '<center><img src="getemimg?sid='+cur_schid+'"  alt="/images/noemblem1.png" width=70 height=70 ></img></center>';
	else 
		document.getElementById('semb').innerHTML = '<center><img src="/images/noemblem1.png" width=70 height=70 ></img></center>';
	var cstr = '<div style="float:left;position:relative;width:150px;height:75px;padding:5px;">'+
			'<a href="javascript:show_add_grades_form(this)" class="button bigrounded green"><b>New</b></a> </div>';

	stdgrds = '<option value="0">----</option>';
	if (sinfo[1] != '-None-') {
	    var sarr = sinfo[1].split(',');
	    stdgrds += create_sel_opt_string(sinfo[1]);
	    for (var i = 0; i < sarr.length; i++) {
		var inf = sarr[i].split(':');
		cstr += '<div style="float:left;position:relative;width:150px;height:75px;padding:5px;">'+
			'<a href="javascript:get_grd_info(this,'+"'" + inf[0] + "','" + inf[1] + "'" + ')" class="button medium white" style="width:60px;height:40px;font-size:12px;"><b>' + inf[1] + '</b></a> </div>';
	    }
	}
	grdstr = cstr;
	pages["1"] = genstr;
	pages["2"] = grdstr;
	pages["3"] = '<div id="numstds" style="float:left;position:relative;width:100%;height:75px;font-size:20px;text-align:center"><br>'+
			'There are '+ num_stds + ' student record(s). </div>' + stdstr ;

	var tchstr = tchstr1;
	if (num_tchs > 0)
		tchstr += tchstr2;
	pages["4"] = '<div id="numtchs" style="float:left;position:relative;width:100%;height:75px;font-size:20px;text-align:center"><br>'+
			'There are '+ num_tchs + ' teacher record(s). </div>' + tchstr ;

	pages["5"] = tlsstr;
	var glft = document.getElementById('glft');
	show_grades(glft);
}

function recprev_screen(v) {
	var recdiv = document.getElementById('recdiv');
	recdiv.innerHTML = recdiv.oldctt;
	recdiv.oldctt ="";
}

function validate_edtsch_form(fobj) {
	var snm = fobj.elements.namedItem('esnm').value;
	var sadr = fobj.elements.namedItem('esadr').value;
	if (snm == '' && sadr == '') { 
		alert('Error in the input fields');
		return false;
	}
	return true;
}

function edit_schinfo(srecs) {
	var sinf = srecs.split(':');
	var recdiv = document.getElementById('recdiv');
	var oldrec = recdiv.innerHTML;
	recdiv.oldctt = oldrec;
	var embst = "";
	if (embstatus == 'True')
		embst = "<img src='getemimg?sid="+sinf[0]+"' width=70 height=70 />";
	else
		embst = "<img src='/images/noemblem1.png' width=70 height=70 />";
	var newstr = '<form action="/edschool?sid='+ sinf[0] +'" method="POST" enctype="multipart/form-data" onSubmit="return validate_edtsch_form(this);">' +
	    '<table cellspacing=10>' +
	    '<tr><td class="asf">School Name</td><td colspan=3><input class="asfg" name="esnm" size=45 value="'+sinf[1] +'"></td></tr> ' +
	    '<tr><td class="asf">Address</td><td colspan=2><textarea class="asfg" name="esadr">'+ unescape(sinf[3])+'</textarea></td></tr>' +
	    '<tr><td class="asf"> Current Emblem </td><td>'+embst+'</td></tr>' + 
	    '<tr><td class="asf">New Emblem image</td><td colspan=2><input class="asf" type="file" name="eemimg"></td></tr>' +
	    '<tr height=30></tr>' +
	    '</table><table>'+
	    '<tr><td width=250></td><td><input class="button medium green" style="font-weight:bold" type="submit" value="Update"></td><td width=200></td><td class="button medium gray addb" onClick="recprev_screen()">Cancel</td></tr></table>'+
	    '</form>';
	recdiv.innerHTML = newstr;

}

function get_schinfo(schyid) {
	cur_schyrid = schyid;
	call("/getschrec?syid="+schyid, null, show_school_info);
}

function restore_homescrn() {
	document.getElementById('newsch').style.visibility = 'hidden';
	document.getElementById('recdiv').style.visibility = 'hidden';
}

function show_school_records(open) {
	document.getElementById('newsch').style.visibility = 'hidden';
	var recdiv = document.getElementById('recdiv');
	var srecs = document.getElementById('osch').recs.split(',');
	var str = '<table><tr><th>School Name</th><th>School year</th><th></th><th></th><th width=55></th><th class="button medium red" style="width:16px;" onClick="restore_homescrn()">X</th></tr>';
	var bgarr = ['#EEEEEE', '#DDDDDD'];
	cur_view = 1;
	var schy;
	var syrecs;
	for (var s = 0; s < srecs.length; s++) {
		str += "<tr>";
		var sinf = srecs[s].split(':');
		/* sinf[2] is list of school years separated by ';' 
		 * each of the schoolyears have key=name format
		 */
		syrecs = sinf[2].split(';')
		for (var y = 0; y < syrecs.length; y++) {
			schy = syrecs[y].split('=')

			str += '<td class="snl" style="background:'+bgarr[s%2]+';">'+sinf[1]+'</td>';
			str += '<td class="snl" style="width:150px;background:'+bgarr[s%2]+';">'+schy[1]+'</td>';
			str += '<td><a class="button green medium" href="javascript:get_schinfo('+"'"+schy[0]+"'"+')"><b>Open</b></a></td>';
			if (y == 0)
				str += '<td><a class="button orange medium" href="javascript:edit_schinfo('+"'"+escape(srecs[s])+"'"+')"><b>Edit School info </b></a></td>';
			str += '</tr>';
		}
	}
	str += '</table>';
	if (open && syrecs.length == 1)
		get_schinfo(schy[0]);
	else {
		recdiv.style.visibility = 'inherit';
		recdiv.innerHTML = str;
	}
}

function gotopage(idt, curpage) {
	// For now assume curpage always goes to school records
	get_schinfo(idt);
}

var shcl_dd = 0;

var sch_sel_obj = null;


function get_sch_appform2(schid) {
	var schyrid = document.getElementById('S'+schid).value;
	if (schyrid == '0') {
		return;
	}
	window.open("/showadmform?schid="+schid+"&&syid="+schyrid, "Admission Application Form", "menubar=1, location=0,height=800,width=1000,scrollbars=1");
}

function get_sch_appform(schid, schyrid) {
	window.open("/showadmform?schid="+schid+"&&syid="+schyrid, "Admission Application Form", "menubar=1, location=0,height=800,width=1000");
}

function show_aform_button(obj, syid) {
	if (syid == '0') {
		document.getElementById(obj).style.visibility = 'hidden';
		return;
	}
		
	cur_schyrid = syid;
	document.getElementById(obj).style.visibility = 'inherit';
}

function school_selected(sid, obj) {
	if (obj == sch_sel_obj)
		return;
	if (sch_sel_obj != null) {
		document.getElementById('t'+cur_schid).style.visibility='hidden';
		document.getElementById('b'+cur_schid).style.visibility='hidden';
		sch_sel_obj.style.background='hidden';
	}

	sch_sel_obj = obj;
	sch_sel_obj.style.background='lightyellow';
	cur_schid = sid;
	document.getElementById('t'+sid).style.visibility='inherit';
}

function show_school_list(res) {
	document.getElementById('srschres').innerHTML = res;
}

function find_schools() {
	var scn = document.getElementById('srcntry').value;
	var sct = document.getElementById('srcity').value;
	if (scn == '' || sct == '') {
		alert('Please provide the information');
		return;
	}
	call("/findschools?cntry="+scn+"&&city="+sct, null, show_school_list);
}

function show_schools_adm(res) {
	document.getElementById('newsch').style.visibility = 'hidden';
	document.getElementById('recdiv').innerHTML = res;
	document.getElementById('recdiv').style.visibility = 'inherit';
}

function show_schools() {
	call("/getschools", null, show_schools_adm);
}

function shcl_dropdown() {
	if (shcl_dd == 0) {
		document.getElementById('lgdd').style.visibility='inherit';
		shcl_dd = 1;
	} else {
		document.getElementById('lgdd').style.visibility='hidden';
		shcl_dd = 0;
	}
}

function show_user_records(res) {
	//alert(res);
	if (check_for_error(res))
		return;
	var urecs = res.split('^');
	var otblo = document.getElementById('otblo');

	//var dt =  new Date();
//	alert(dt+"======="+dt.getTimezoneOffset()+"========="+dt.getUTCDate());
	//alert(dt.getTime()+"======"+Date.UTC());
	var osch = document.getElementById('osch');
	var oprt = document.getElementById('oprt');
	var otch = document.getElementById('otch');
	var ostd = document.getElementById('ostd');
	var sch_count = 0, tch_count = 0, std_count = 0, prt_count = 0, crnew=0;
	var ss = "";

	if (document.getElementById('crnew')) {
		crnew = 1;
		ss = '<br><br>You may <a href="javascript:show_addschool_form()" class="button medium green"><b>Create new school record</a></center></div>';
	}
	if (urecs[0] == '-None-') {
		osch.innerHTML = 'No school records.';
	} else {
		schs = urecs[0].split(',');
		osch.recs = urecs[0];
		sch_count = schs.length;
		osch.innerHTML = 'You have <a href="javascript:show_school_records();" class="button rosy medium" style="font-weight:bold;">&nbsp;'+schs.length+'&nbsp;</a> school record(s).';
	}
	osch.innerHTML += ss;

	if (urecs[1] == '-None-') {
		otch.innerHTML = 'No teacher records. Please contact your school(s) to get your teacher records';
	} else {
		tchs = urecs[1].split(',');
		otch.innerHTML = 'You have <a href="javascript:show_teacher_records();" class="button gray medium" style="font-weight:bold;">&nbsp;'+(tchs.length-1)+'&nbsp;</a> teacher record(s)';
		otch.recs = urecs[1];
		tch_count = tchs.length-1;
	}
	if (urecs[2] == '-None-') {
		ostd.innerHTML = 'No student records. Please contact your school to get your student records';
	} else {
		/*
		pnsts = urecs[2].split(',');
		pnsts2 = urecs[3].split(',');
		std_count = pnsts.length + pnsts2.length;
		ostd.innerHTML = 'You have <a href="javascript:show_student_records();" class="button blue medium" style="font-weight:bold;">&nbsp;'+std_count+'&nbsp;</a> student record(s)';
		ostd.recs = urecs[2];
		*/
		std_count = 1;
		otblo.innerHTML = '<center><h1 class="wh">Welcome to Gurkool.com</h1></center>'+unescape(urecs[2]);
		otblo.style.visibility = 'inherit';
	}
	if (urecs[3] == '-None-') { 
		oprt.innerHTML = "No parent records. Please contact your kids' school(s) to get your parent records";
	} else {
		/*
		prts = urecs[4].split(',');
		prts2 = urecs[5].split(',');
		prt_count = prts.length+prts2.length;
		oprt.innerHTML = 'You have <a href="javascript:show_parent_records();" class="button green medium" style="font-weight:bold;">&nbsp;'+prt_count+'&nbsp;</a> parent record(s)';
		oprt.recs = urecs[4];
		oprt.recs2 = urecs[5];
		*/
		prt_count = 1;
		otblo.innerHTML = '<center><h1 class="wh">Welcome to Gurkool.com</h1></center>'+unescape(urecs[3]);
		otblo.style.visibility = 'inherit';
		//otblo.style.height = '180%';

	}
	if (crnew == 1) {
		if (tch_count+std_count+prt_count == 0) {
			if (sch_count == 0) {
				otblo.innerHTML='<center><h1 class="wh">Welcome to Gurkool.com</h1><p>You have permission to create school record(s).<br> <a href="javascript:show_addschool_form()" class="button medium green"><b>Create new school record</a></center></div>';
			} else {
				otblo.innerHTML = '<center><h1 class="wh">Welcome back to Gurkool.com</h1><p>You may access the existing school record or <a href="javascript:show_addschool_form()" class="button medium green"><b>Create new school record</a></center></div>';
				show_school_records(false);
			}
			otblo.style.visibility = 'inherit';
		} else {
			document.getElementById('otbl').style.visibility='inherit';
		}
	} else {
		var tcount = tch_count + std_count + prt_count + sch_count;

		if (tcount == 0) {
			otblo.innerHTML="<center><h1 class='wh'>Welcome to Gurkool.com</h1>You do not have any records. If you are a school administrator, please contact <a href='mailto:kkmnmaps@gmail.com'> Gurkool.com </a> to get access to create a school record. <br>If you are a parent/student/staff, please contact your school to see your records here.<br><br>If you would like to search for schools to fill in an admission application online click on 'Search School' button</center><br><center>Thank you for visiting Gurkool.com</center>"
			otblo.style.visibility = 'inherit';
			return;
		}
		if (sch_count == tcount) {
			if (sch_count > 1) {
				otblo.innerHTML="<center><h1 class='wh'>Welcome to Gurkool.com</h1>. <p>Please select a school record to open</center>";
				otblo.style.visibility = 'inherit';
			}
			show_school_records(sch_count == 1);
		} else if (tch_count == tcount) {
			if (tch_count > 1) {
				otblo.innerHTML="<center><h1 class='wh'>Welcome to Gurkool.com</h1>. <p>Please select a class record to open</center>";
				otblo.style.visibility = 'inherit';
			}
			show_teacher_records(tch_count == 1);
		} else if (std_count == tcount) {
			if (std_count > 1) {
				otblo.innerHTML="<center><h1 class='wh'>Welcome to Gurkool.com</h1>. <p>Please select a student record to open</center>";
				otblo.style.visibility = 'inherit';
			}
			show_student_records(std_count == 1);
		} else if (prt_count == tcount) {
			if (prt_count > 1) {
				otblo.innerHTML="<center><h1 class='wh'>Welcome to Gurkool.com</h1>. <p>Please select a student record to open</center>";
				otblo.style.visibility = 'inherit';
			}
			//show_parent_records(prt_count == 1);
		} else {
			document.getElementById('otbl').style.visibility='inherit';
		}
	}
}

function get_usr_records() {
	call("/getusrreqs", null, show_user_records);
}

