var opt_array = new Array(); 

function enablebutton(id) {
//alert(id);
/*	enbls=document.getElementsByClassName("enbl_button");
	for (var e = 0; e < enbls.length; e++) {
		enbls[e].disabled = "disabled";
		enbls[e].className = "dabl_button";
	}
*/
	element= document.getElementById(id)
	if(element.disabled != false) {
		element.disabled=false;
		element.className="enbl_button";
	}

}

function add_data2table(elm_nme,tblId) {
//alert(elm_nme+":"+tblId);
		var elm = document.getElementById(elm_nme);
		if(elm.elements){
			iNelements = elm.elements;
		} else {
			iNelements = getElementsByClassName('frDB','',elm);
		}
	var l_fld_data = new Array();

	for (i=0; i<iNelements.length; i++) {

		if(iNelements[i].nodeName == 'INPUT' ||  iNelements[i].nodeName == 'TEXTAREA' ){
//			alert('input '+iNelements[i].id+':'+iNelements[i].value);
			l_fld_data[iNelements[i].id]=iNelements[i].value;
		} else if(iNelements[i].nodeName == 'DIV') {
//			alert('div '+iNelements[i].id+':'+iNelements[i].innerHTML);
			l_fld_data[iNelements[i].id]=iNelements[i].innerHTML;
		}else if(iNelements[i].nodeName == 'TEXTAREA') {
//			alert('div '+iNelements[i].id+':'+iNelements[i].innerHTML);
			l_fld_data[iNelements[i].id]=iNelements[i].innerHTML;
		}else if(iNelements[i].nodeName == 'SELECT') {
			l_fld_data[iNelements[i].id]=iNelements[i].value;
			var sel_itm = iNelements[i].id;
			//for constructing the select
			if(sel_itm == "teacher_id") { 					
				for (var j=0; j<iNelements[i].options.length; j++) {
					opt_array[j] = new Array(2);
						opt_array[j][0] = iNelements[i].options[j].value;
						opt_array[j][1] = iNelements[i].options[j].text;
				}
			}
		}
	}

	TblRowClone(tblId,-1,l_fld_data,opt_array); 
}
function PopulateSelectList(deftime,stime,etime,intv) {
	if(stime ? st=stime:st=0); //both times should be an hour number alone, no minutes
	if(etime ? en=etime:en=23); // both times should be in 24 hour format
	if(intv ? int=intv:int=30); // both times should be in 24 hour format
	time_rep = false;
	displist = "";
	for( i=st; i<=en; i++ ) {
		// show 0 to 23 or 1 to 12 depending on time_representation ($time_rep)
		if ( (i >= 12) && !time_rep ) {
			if (i == 12)
				h=i;
			else
				h=i-12;
			am_pm="PM";
		} else {
			h=i;
			am_pm="AM";
		}
		for( sec=0 ; sec<60 ; sec=sec+int) {
			hh24=(i<10?"0"+i:i);
			hh12=(h<10?"0"+h:h);
			mm=(sec<10?"0"+sec:sec);

			time_value = i*60+sec;
			if (time_rep)
				time_disp = hh12+":"+mm;
			else
				time_disp = hh12+':'+mm+' '+am_pm;
			if (time_value == deftime)
				displist += '<OPTION VALUE="'+time_value+'" SELECTED>'+time_disp+'\n';
			else
				displist += '<OPTION VALUE="'+time_value+'">'+time_disp+'\n';
		}
	}
return displist;
}	
function TblRowClone(tblId,idx,l_fld_data,opt_array) { // idx is the TR rowIndex to be cloned.
//alert (tblId);
	if (!idx) {
		var idx=0;
	}
	
	if(tblId == 'policies') {

	//alert(l_fld_data['policy_detail']);
		var nbrLines = 0;
		var charPos = -1;
		var str = l_fld_data['policy_detail'];
		do {
 			 charPos = str.indexOf("\n",charPos+1);
			  nbrLines++;
		} while (charPos != -1);
	}
	if(tblId == 'class_events') {

	//alert(l_fld_data['detail_doc']);
		var nbrLines = 0;
		var charPos = -1;
		var str = l_fld_data['detail_doc'];
		do {
 			 charPos = str.indexOf("\n",charPos+1);
			  nbrLines++;
		} while (charPos != -1);
	}


	var tblBody = document.getElementById(tblId).tBodies[0];
	var k=tblBody.rows.length;     // index needed to insert new row
	var mytable = document.getElementById(tblId);
	var numRE = /(\d+$)/gi;
	var lastrowid = mytable.rows[mytable.rows.length-1].id;

	j=Number(lastrowid.match(numRE))+1; //index needed to figure out the last row id

// alert(l_fld_data['policy_detail']);
	if(tblId == 'policies') { //for policies page

		var newNode = tblBody.insertRow(k);
		newNode.id = 'clPolTr'+j;
		var newCell = newNode.insertCell(-1);
		newCell.setAttribute('style','padding-left:5px');
		nodeInner ="";
//		nodeInner += '<td style="padding-left:5px;" >\n';
		nodeInner += '<div id="clPolDiv'+j+'" style = "visibility:hidden;display:none;">\n';
		nodeInner += '<FORM id="policy'+j+'" NAME="policy" target=""><br>\n';
		nodeInner += '<table id="polTbl'+j+'" width=99% cellpadding=0 cellspacing=0><tbody>';
		nodeInner += '<INPUT id=policy_id NAME=DA_7 CLASS=DAid style="display: none;">\n';
		nodeInner += '<INPUT id=class_id NAME=DA_7_16 CLASS=DAid value="'+document.getElementById("class_id").value+'" style="display: none;">\n';
		nodeInner += '<INPUT id=pg_id NAME=DA_16 value="10002" style="display: none;">\n';
		nodeInner += '<INPUT id=last_updated NAME=DA_16 value="'+document.getElementById("last_updated").value+'" style="display: none;">\n';
		nodeInner += '<tr id="polTr'+j+'"><td><div style="position:relative;">\n';
		nodeInner += '<b style="border-bottom:1px solid blue;font-family:sans-serif;">'+l_fld_data['policy_name']+'</b><input id=policy_name NAME=DA_7  value="'+l_fld_data['policy_name']+'" style="display: none;">\n';
		nodeInner += '<span class="privacy hidden" >(Enter policies for '+l_fld_data['policy_name']+'.)\n';
		nodeInner += '</span><div class=actbuttons style="text-align:right;position:absolute;bottom:0;right:65px;font-size: 0.8em;">\n';
		nodeInner += '<input id=ed_btn'+j+' name="ed_btn" class="button" type="button" id="edit" onClick="make_editable(this.form.id);" value="Edit"></div>\n';
		nodeInner += '<div style="text-align:right;position:absolute;bottom:0;right:0;font-size: 0.8em;"><input id=del_btn'+j+' name="7" class=button type=button value="Delete" onclick="del_row(this,\'r\');"></div>\n';
		nodeInner += '</div></td></tr>\n';
		nodeInner += '<tr><td><INPUT id=oldpolicy_detail class=org_msg value="'+l_fld_data['policy_detail']+'" style="display: none;">\n';
		nodeInner += '<TEXTAREA id="policy_detail" NAME=DA_7 class="editable" contenteditable="false" rows='+nbrLines+' cols=103 style="margin-bottom:5px;overflow:hidden;" onkeyup="grow(this.id,this.form.id);" onChange="grow(this.id,this.form.id);">'+l_fld_data['policy_detail']+'</TEXTAREA></td>\n';
//		nodeInner += '</tr></tbody></table></FORM></td>\n';
		nodeInner += '</tr></tbody></table></FORM></div>\n';

		newCell.innerHTML = nodeInner;

//		newNode.innerHTML = '<td style="padding-left:5px;" ><FORM id="policy'+j+'" NAME="policy" target=""><br><table id="polTbl'+j+'" width=100% cellpadding=0 cellspacing=0><tbody><tr id="polTr'+j+'"><td><div style="position:relative;"><b style="border-bottom:1px solid blue;font-family:sans-serif;">'+l_fld_data['policy_name']+'</b><input id=policy_name NAME=DA_7  value=" " style="display: none;"><span class="privacy hidden" >(Enter policies for '+l_fld_data['policy_name']+'.)</span><div class=actbuttons style="text-align:right;position:absolute;bottom:0;right:65px;"><input id=ed_btn'+j+' name="ed_btn" class="button" type="button" id="edit" onClick="make_editable(this.form.id);" value="Edit"></div><div style="text-align:right;position:absolute;bottom:0;right:0;"><input id=del_btn'+j+' name="7" class=button type=button value="Delete" onclick="del_row(this,\'r\');"></div></div></td></tr><tr><td><INPUT id=policy_detail class=org_msg value=" " style="display: none;"><INPUT id=class_id NAME=DA_7 value="'+document.getElementById("class_id").value+'" style="display: none;"><INPUT id=policy_id NAME=DA_7 CLASS=DAid value=" " style="display: none;"><TEXTAREA id="policy_detail" NAME=DA_7 class="editable" contenteditable="false" rows='+nbrLines+' cols=100 style="margin-bottom:5px;overflow:hidden;">'+l_fld_data['policy_detail']+'</TEXTAREA></td></tr></tbody></table></FORM></td>';

	}
	if(tblId == 'class_supplies') {	//for supplies page
		var newNode = tblBody.insertRow(k);
//alert(l_fld_data['item_name']);
		newNode.id = 'clsuptr' + j;
		var newCell = newNode.insertCell(-1);
		newCell.setAttribute('style','padding:0px');
		newCell.id = 'clsuptd'+ j;
		newCell.setAttribute("colSpan", "4");

		nodeInner ="";
//		nodeInner += '<td id="clsuptd'+j+'" colspan=4 style="padding:0px;">\n';
		nodeInner += '<div id="clSupDiv'+j+'" style = "visibility:hidden;display:none;">\n';
		nodeInner += '<FORM id="supplies'+j+'" NAME="supplies" target="">\n';
		nodeInner += '<table id="supTbl'+j+'" width=100%><tbody>\n';
		nodeInner += '<tr id="supTr'+j+'" ><td style="width:160px;">\n';
		nodeInner += '<input id=supp_order NAME=DA_13 class=DAid value="" style="display: none;">\n';
		nodeInner += '<input id=item_id NAME=DA_13 CLASS=DAid value="'+l_fld_data['item_id']+' " style="display: none;">\n';
		nodeInner += '<input id=class_id NAME=DA_13_16 CLASS=DAid value="'+document.getElementById("class_id").value+'" style="display: none;">\n';
		nodeInner += '<input id=pg_id NAME=DA_16 value="10003" style="display: none;">\n';
		nodeInner += '<input id=last_updated NAME=DA_16 value="'+document.getElementById("last_updated").value+'" style="display: none;">\n';
		nodeInner += '<input style="border:1px solid white;" id=item_name value="'+l_fld_data['item_name']+'" readonly="" ></td>\n';
		nodeInner += '<td ><input style="width:200px;" id=comments NAME=DA_13  value=" " size="20" onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);"></td>\n';
		nodeInner += '<td style="width:30px;"><input style="width:30px;" id=item_count NAME=DA_13 value="'+l_fld_data['item_count']+'" size="3" onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);"></td>\n';
		nodeInner += '<td style="width:140px;"><input id=upd_btn'+j+' name="upd_btn" class=dabl_button  type=button disabled=true value="Update" onClick="pT(this.form.id);this.form.elements[\'upd_btn\'].disabled = \'disabled\';this.form.elements[\'upd_btn\'].className = \'dabl_button\';">\n';
		nodeInner += '<input id=del_btn'+j+' name="13" class=button type=button value="Delete" onclick="del_row(this,\'r\');" ></td>';
//		nodeInner += '</tr></tbody></table></FORM></td>\n';
		nodeInner += '</tr></tbody></table></FORM></div>\n';

		newCell.innerHTML = nodeInner;

//		newNode.innerHTML = '<td id="clsuptd'+j+'" colspan=4 style="padding:0px;"><FORM id="supplies'+j+'" NAME="supplies" target=""><table id="suptbl'+j+'" width=100%><tbody><tr id="suptr'+j+'" ><td style="width:160px;"><input id=item_id NAME=DA_13 class=DAid value="'+l_fld_data['item_id']+' " style="display: none;"><input id=class_id NAME=DA_13 class=DAid value="'+document.getElementById("class_id").value+'" style="display: none;"><input id=supp_order NAME=DA_13 class=DAid value="" style="display: none;"><input style="border:1px solid white;" id=item_name value="'+l_fld_data['item_name']+'" readonly="" ></td><td ><input style="width:200px;" id=comments NAME=DA_13  value=" " size="20" onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);"></td><td style="width:30px;"><input style="width:30px;" id=item_count NAME=DA_13 value=" " size="3" onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);"></td><td style="width:135px;"><input id=del_btn'+j+' name="13" class=button type=button value="Delete" onclick="del_row(this,\'r\');">&nbsp;<input id=upd_btn'+j+' name="upd_btn" class=dabl_button  type=button disabled=true value="Update" onClick="pT(this.form.id);this.form.elements[\'upd_btn\'].disabled = \'disabled\';this.form.elements[\'upd_btn\'].className = \'dabl_button\';"></td>';
	}
	if(tblId == 'class_events') {	//for events & field trip pages
		var newNode = tblBody.insertRow(k);

		newNode.id = 'cleventr' + j;

		sel_list = PopulateSelectList(l_fld_data['event_time'],8,16);
		var newCell = newNode.insertCell(-1);
		newCell.setAttribute('style','padding:0px');
		newCell.id = 'eventd'+ j;
		newCell.setAttribute("colSpan", "4");

		nodeInner ="";
//		nodeInner += '<td id="eventd'+ j +'" colspan=4 style="padding:0px;">\n';
		nodeInner += '<div id="clEveDiv'+j+'" style = "visibility:hidden;display:none;">\n';
		nodeInner += '<FORM id="events'+j+'" NAME="events" target="">\n';

		nodeInner += '<table id="evenTbl'+j+'" width=100%><tbody>\n';
		nodeInner += '<tr id="evenTr'+j+'" ><td style="width:80px;">\n';
		nodeInner += '<input id=event_id NAME=DA_10 class=DAid  style="display: none;">\n';
		nodeInner += '<input id=class_id NAME=DA_10_16 class=DAid value="'+document.getElementById("class_id").value+'" style="display: none;">\n';
		nodeInner += '<input id=pg_id NAME=DA_16 value="'+document.getElementById("pg_id").value+'" style="display: none;">\n';
		nodeInner += '<input id=last_updated NAME=DA_16 value="'+document.getElementById("last_updated").value+'" style="display: none;">\n';
		nodeInner += '<input id=event_type NAME=DA_10 value="'+document.getElementById("event_type").value+'" style="display: none;">\n';
		nodeInner += '<INPUT id=event_date NAME=DA_10 readonly="readonly" value="'+l_fld_data['event_date']+'" size=7 maxlength=7 onfocus="showCalendar(\'\',this,this,\'\',\'evenTbl'+j+'\',0,30,1);enablebutton(this.form.elements[\'upd_btn\'].id);"></td>\n';
		nodeInner += '<td style="width:82px;"><SELECT ID=event_time NAME=DA_10 onfocus="enablebutton(this.form.elements[\'upd_btn\'].id);">\n';
				
		nodeInner += sel_list+'\n';
		nodeInner += '</SELECT></td>\n';
		nodeInner += '<td nowrap style="width:324px;text-align:left;"><input id=description NAME=DA_10 value="'+l_fld_data['description']+'" size=35 maxlength=35 style="margin-right:5px;" onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);"><a title="Details" onclick="this.innerHTML = (this.innerHTML==\'Show Details\')?\'Hide Details\':\'Show Details\';showHideLayer(\'detail'+j+'\');">Show Details</a></td>\n';
		nodeInner += '<td style="width:140px;">\n';
		nodeInner += '<input id=upd_btn'+j+' name="upd_btn" class=dabl_button  type=button disabled=true value="Update" onClick="pT(this.form.id);this.form.elements[\'upd_btn\'].disabled = \'disabled\';this.form.elements[\'upd_btn\'].className = \'dabl_button\';">\n';
		nodeInner += '<input id=del_btn'+j+' name="10" class=button type=button value="Delete" onclick="del_row(this,\'r\');">\n';
		nodeInner += '</td>\n';
//		nodeInner += '</tr></tbody></table></FORM></td>\n';
		nodeInner += '</tr>\n';
		nodeInner += '<tr><td colspan=4><div id=detail'+j+' style="display:none;visibility:hidden;"><TEXTAREA id="detail_doc" NAME=DA_10 style="width:97%;border:1px solid gray;overflow:hidden;" rows='+nbrLines+' onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);grow(this.id,this.form.id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);grow(this.id,this.form.id);">'+l_fld_data['detail_doc']+'</TEXTAREA></div></td></tr>\n';
		nodeInner += '</tbody></table></FORM></div>\n';
		newCell.innerHTML = nodeInner;
	}
	if(tblId == 'regusers') {	//for add users
		var newNode = tblBody.insertRow(k);

		newNode.id = 'regtchtr' + j;
		var newCell = newNode.insertCell(-1);
		newCell.setAttribute('style','padding:0px');
		newCell.id = 'regtchtd'+ j;
		newCell.setAttribute("colSpan", "6");
		if(l_fld_data['teach_sts'] ==1)	{
		tch_sel = '<OPTION value="1" SELECTED >Yes<OPTION value="0" >No';
		} else if(l_fld_data['teach_sts'] ==0)	{
		tch_sel = '<OPTION value="1">Yes<OPTION value="0" SELECTED>No';
		} 

		nodeInner ="";
//		nodeInner += '<td id="eventd'+j+'" colspan=5 style="padding:0px;">\n';
		nodeInner += '<FORM id="users'+j+'" NAME="events" target="">\n';
		nodeInner += '<INPUT id=person_id NAME=DA_3_2_12 CLASS=DAid value="'+l_fld_data['person_id']+'" style="display: none;">\n';
		nodeInner += '<input id=teacher_id NAME=DA_2 CLASS=DAid value="'+l_fld_data['teacher_id']+'" style="display: none;">\n';
		nodeInner += '<INPUT id=user_id NAME=DA_12 CLASS=DAid value="'+l_fld_data['user_id']+'" style="display: none;">\n';
		nodeInner += '<INPUT id=teach_sts NAME=DA_2 value="1" style="display: none;">\n';
		nodeInner += '<table id="regtchTbl'+j+'" width=100%><tbody>\n';
		nodeInner += '<tr id="regtchTr'+j+'" >\n';
		nodeInner += '<td style="width:150px;"><input id=first_name type="text" value="'+l_fld_data['first_name']+'" name=DA_3 onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);"></td>\n';
		nodeInner += '<td style="width:150px;"><input id=last_name type="text" value="'+l_fld_data['last_name']+'" name=DA_3 onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);"></td>\n';
		nodeInner += '<td style="width:94px;"><input id=username type="text" size=10 value="'+l_fld_data['username']+'" DA_12 onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);"></td>\n';
		nodeInner += '<td style="width:94px;"><input id=password type="password" size=10 name=DA_12 onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);"></td>\n';
		nodeInner += '<td style="width:70px;"><SELECT ID=teach_sts NAME=DA_2 style="width:60px;" onfocus="enablebutton(this.form.elements[\'upd_btn\'].id);">\n';
		nodeInner += tch_sel+'\n';
		nodeInner += '</SELECT></td>\n';
		nodeInner += '<td >\n';
		nodeInner += '<input id=upd_btn'+j+' name="upd_btn" class=dabl_button  type=button disabled=true value="Update" onClick="pT(this.form.id);this.form.elements[\'upd_btn\'].disabled = \'disabled\';this.form.elements[\'upd_btn\'].className = \'dabl_button\';">\n';
//		nodeInner += '<input id=del_btn'+j+' name="10" class=button type=button value="Delete" onclick="del_row(this,\'r\');">\n';
		nodeInner += '</td>\n';
		nodeInner += '</tr>\n';
		nodeInner += '</tbody></table></FORM>\n';
		newCell.innerHTML = nodeInner;
	}

	if(tblId == 'setpgs') {	//for add pages
		var newNode = tblBody.insertRow(k);

		newNode.id = 'setpgtr' + j;
		var newCell = newNode.insertCell(-1);
		newCell.setAttribute('style','padding:0px');
		newCell.id = 'setpgtrtd'+ j;
		newCell.setAttribute("colSpan", "6");
		if(l_fld_data['edit'] ==1)	{
		ed_sel = '<OPTION value="1" SELECTED >Yes<OPTION value="0" >No';
		} else if(l_fld_data['edit'] ==0)	{
		ed_sel = '<OPTION value="1">Yes<OPTION value="0" SELECTED>No';
		} 
		if(l_fld_data['menu'] =='left')	{
		menu_sel = '<OPTION value="left" SELECTED >Left<OPTION value="top" >Top';
		} else if(l_fld_data['menu'] =='top')	{
		menu_sel = '<OPTION value="left">Left<OPTION value="top" SELECTED>Top';
		} 

		nodeInner ="";
//		nodeInner += '<td id="eventd'+j+'" colspan=5 style="padding:0px;">\n';
		nodeInner += '<FORM id="pages'+j+'" NAME="pages" target="">\n';
		nodeInner += '<INPUT id=pg_id NAME=DA_15 CLASS=DAid value="'+l_fld_data['pg_id']+'" style="display: none;">\n';
		nodeInner += '<INPUT id=sch_id NAME=DA_15 value="'+l_fld_data['sch_id']+'" style="display: none;">\n';
		nodeInner += '<table id="setpgtrTbl'+j+'" width=100%><tbody>\n';
		nodeInner += '<tr id="setpgtrTr'+j+'" >\n';
		nodeInner += '<td style="width:150px;"><input id=pg_title type="text" value="'+l_fld_data['pg_title']+'" name=DA_15 onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);"></td>\n';
		nodeInner += '<td style="width:150px;"><input id=link type="text" value="'+l_fld_data['link']+'" name=DA_15 onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);"></td>\n';
		nodeInner += '<td style="width:94px;"><input id=pg_name type="text" size=10 value="'+l_fld_data['pg_name']+'" DA_15 onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);"></td>\n';
		nodeInner += '<td style="width:94px;"><SELECT ID=menu NAME=DA_15 style="width:60px;" onfocus="enablebutton(this.form.elements[\'upd_btn\'].id);">\n';
		nodeInner += menu_sel+'\n';
		nodeInner += '</SELECT></td>\n';
		nodeInner += '<td style="width:70px;"><SELECT ID=edit NAME=DA_15 style="width:60px;" onfocus="enablebutton(this.form.elements[\'upd_btn\'].id);">\n';
		nodeInner += ed_sel+'\n';
		nodeInner += '</SELECT></td>\n';
		nodeInner += '<td >\n';
		nodeInner += '<input id=upd_btn'+j+' name="upd_btn" class=dabl_button  type=button disabled=true value="Update" onClick="pT(this.form.id);this.form.elements[\'upd_btn\'].disabled = \'disabled\';this.form.elements[\'upd_btn\'].className = \'dabl_button\';">\n';
//		nodeInner += '<input id=del_btn'+j+' name="10" class=button type=button value="Delete" onclick="del_row(this,\'r\');">\n';
		nodeInner += '</td>\n';
		nodeInner += '</tr>\n';
		nodeInner += '</tbody></table></FORM>\n';
		newCell.innerHTML = nodeInner;
	}


	if(tblId == 'regclasses') {	//for add users
		var newNode = tblBody.insertRow(k);

		newNode.id = 'regtclstr' + j;
		var newCell = newNode.insertCell(-1);
		newCell.setAttribute('style','padding:0px');
		newCell.id = 'regtclstd'+ j;
		newCell.setAttribute("colSpan", "8");
		if(l_fld_data['class_type'] == 1)	{
		cls_sel = '<OPTION value="1" SELECTED >Elementary<OPTION value="2" >Secondary</option>';
		} else if(l_fld_data['class_type'] == 2)	{
		cls_sel = '<OPTION value="1">Elementary<OPTION value="2" SELECTED>Secondary</option>';
		} 
		st_sel = PopulateSelectList(l_fld_data['start_time'],8,16);
		en_sel = PopulateSelectList(l_fld_data['end_time'],8,16);
		tch_sel ="";
		for (var l=0; l<opt_array.length; l++) {
			if(l_fld_data['teacher_id'] == opt_array[l][0]){
				tch_sel += '<OPTION value="'+opt_array[l][0]+'" SELECTED >'+opt_array[l][1]+'</OPTION>';
			} else {
				tch_sel += '<OPTION value="'+opt_array[l][0]+'" >'+opt_array[l][1]+'</OPTION>';
			}
//		alert (tch_sel);
		}
		nodeInner ="";
//		nodeInner += '<td id="eventd'+j+'" colspan=5 style="padding:0px;">\n';
		nodeInner += '<FORM id="classes'+j+'" NAME="classes" target="">\n';
		nodeInner += '<INPUT id=class_id NAME=DA_1_4 CLASS=DAid value="'+l_fld_data['class_id']+'" style="display: none;">\n';
		nodeInner += '<input id=period_id NAME=DA_4 CLASS=DAid value="'+l_fld_data['period_id']+'" style="display: none;">\n';
		nodeInner += '<INPUT id=sub_id NAME=DA_4 value="10020" style="display: none;">\n';
		nodeInner += '<INPUT id=sch_id NAME=DA_1 value="'+l_fld_data['sch_id']+'" style="display: none;">\n';
		nodeInner += '<INPUT id=sch_year NAME=DA_1 value="'+l_fld_data['sch_year']+'" style="display: none;">\n';
		nodeInner += '<table id="regclsTbl'+j+'" width=100%><tbody>\n';
		nodeInner += '<tr id="regclsTr'+j+'" >\n';
		nodeInner += '<td style="width:50px;"><input id=class_name size=10 type="text" name=DA_1 value="'+l_fld_data['class_name']+'" onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);"></td>\n';
		nodeInner += '<td style="width:50px;"><SELECT id=start_time NAME=DA_1 onfocus="enablebutton(this.form.elements[\'upd_btn\'].id);">\n';
		nodeInner += st_sel+'\n';
		nodeInner += '</SELECT></td>\n';
		nodeInner += '<td style="width:50px;"><SELECT id=end_time NAME=DA_1 onfocus="enablebutton(this.form.elements[\'upd_btn\'].id);">\n';
		nodeInner += en_sel+'\n';
		nodeInner += '</SELECT></td>\n';
		nodeInner += '<td style="width:50px;"><SELECT ID=class_type NAME=DA_1 onfocus="enablebutton(this.form.elements[\'upd_btn\'].id);">\n';
		nodeInner += cls_sel+'\n';
		nodeInner += '</SELECT></td>\n';
		nodeInner += '<td style="padding-left: 5px;width:150px;"><SELECT ID=teacher_id NAME=DA_4 onfocus="enablebutton(this.form.elements[\'upd_btn\'].id);">\n';
		nodeInner += tch_sel+'\n';
		nodeInner += '</SELECT></td>\n';
		nodeInner += '<td style="width:10px;"><input id=room_no size=5 type="text" name=DA_4 value="'+l_fld_data['room_no']+'" onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);"></td>\n';
		nodeInner += '<td style="width:10px;"><input id=cl_order size=5 type="text" name=DA_1 value="'+l_fld_data['cl_order']+'" onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);"></td>\n';
		nodeInner += '<td><input id=upd_btn'+j+' name="upd_btn" class=dabl_button  type=button disabled=true value="Update" onClick="pT(this.form.id);this.form.elements[\'upd_btn\'].disabled = \'disabled\';this.form.elements[\'upd_btn\'].className = \'dabl_button\';">\n';
//		nodeInner += '<input id=del_btn'+j+' name="1" class=button type=button value="Delete" onclick="del_row(this,\'r\');">\n';
		nodeInner += '</td>\n';
		nodeInner += '</tr>\n';
		nodeInner += '</tbody></table></FORM>\n';
		newCell.innerHTML = nodeInner;
	}

	if(tblId == 'regsubjs') {	//for add users
		var newNode = tblBody.insertRow(k);

		newNode.id = 'regsubjtr' + j;
		var newCell = newNode.insertCell(-1);
		newCell.setAttribute('style','padding:0px');
		newCell.id = 'regtsubjtd'+ j;
		newCell.setAttribute("colSpan", "3");
		nodeInner ="";
//		nodeInner += '<td id="regtsubjtd'+j+'" colspan=5 style="padding:0px;">\n';
		nodeInner += '<FORM id="subjects'+j+'" NAME="subjects" target="">\n';
		nodeInner += '<INPUT id=sub_id NAME=DA_5 CLASS=DAid value="'+l_fld_data['sub_id']+'" style="display: none;">\n';
		nodeInner += '<input id=sch_id NAME=DA_5 value="'+l_fld_data['sch_id']+'" style="display: none;">\n';
		nodeInner += '<INPUT id=sch_year NAME=DA_5 value="'+l_fld_data['sch_year']+'" style="display: none;">\n';
		nodeInner += '<table id="regsubjTbl'+j+'" width=100%><tbody>\n';
		nodeInner += '<tr id="regsubjTr'+j+'" >\n';
		nodeInner += '<td ><input id=title size=20 type="text" name=DA_5 value="'+l_fld_data['title']+'" onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);"></td>\n';
		nodeInner += '<td ><input id=type size=4 type="text" name=DA_5 value="'+l_fld_data['type']+'" onKeyUp="enablebutton(this.form.elements[\'upd_btn\'].id);" onChange="enablebutton(this.form.elements[\'upd_btn\'].id);"></td>\n';
		nodeInner += '<td><input id=upd_btn'+j+' name="upd_btn" class=dabl_button  type=button disabled=true value="Update" onClick="pT(this.form.id);this.form.elements[\'upd_btn\'].disabled = \'disabled\';this.form.elements[\'upd_btn\'].className = \'dabl_button\';">\n';
		nodeInner += '<input id=del_btn'+j+' name="5" class=button type=button value="Delete" onclick="del_row(this,\'r\');">\n';
		nodeInner += '</td>\n';
		nodeInner += '</tr>\n';
		nodeInner += '</tbody></table></FORM>\n';
		newCell.innerHTML = nodeInner;
	}

	tblBody.appendChild(newNode);

	addElements(newNode,'',l_fld_data);
}

function addElements(nodeObj,b_idx,l_fld_data) { // b_idx is the numeric part of the element's NAME as the base. The new NAME string contains (b_idx + # of table rows)
	if (!b_idx) {
		b_idx=0; // not implemented yet.
	}

	var fRM = nodeObj.getElementsByTagName("form");
	var dV = fRM[0].parentNode;

//	var rownumb = nodeObj.rowIndex;
//	alert(fRM[0].id);
//	var numRE = /(\d+$)/;
//	frmId = fRM[0].id.replace(numRE,'');

//	fRM[0].id=frmId+rownumb;

	//to get the list all inputs,select, etc must be inside a TD otherwise Mozilla will not return those inputs.
	
	//alert(fRM[0].id);

/*	var iN = nodeObj.getElementsByTagName("input");

	var len = iN.length;

	for (i=0; i<len; i++) {

		if (l_fld_data[iN[i].id]) { // if there is a value for this field in the array, assign to the field
			iN[i].value = l_fld_data[iN[i].id];
//			alert(iN[i].id+": "+iN[i].value);

		} else if(iN[i].type == 'button') {
			if(iN[i].id =="") iN[i].id = iN[i].name+rownumb;
			if(iN[i].name == 'upd_btn') {
				iN[i].disabled = "disabled";
				iN[i].className = "dabl_button";
			}

//			alert(iN[i].id+": "+iN[i].value);

		} else {
			if(iN[i].id != 'class_id') {
				if(iN[i].id != 'event_type')
					iN[i].value = '';
			}
//			alert(iN[i].id+": "+iN[i].value);

		}

	}
	var dV = nodeObj.getElementsByTagName("div");

	var len = dV.length;
	for (i=0; i<len; i++) {

		if (l_fld_data[dV[i].id]) { // if there is a value for this field in the array, assign to the field
			dV[i].innerHTML = l_fld_data[dV[i].id];

		}

	}
*/
	if( dV.nodeName == 'DIV'){
//		alert("#dV: "+dV.id+"#frm: "+fRM[0].id);

		pT(fRM[0].id,'','','showHideLayer(\''+dV.id+'\')');
	} else {

		pT(fRM[0].id);
	}
}
function add_item(myElmnt,tblId) {
	//pT(myElmnt.form.id,'');
	var tblBody = document.getElementById(tblId).tBodies[0];
	var j=tblBody.rows.length;
	add_data2table(myElmnt.form.id,tblId);
}

// l_mode is either a TR row or a form. l_pkey is array containing the Primary keys of the table.
function del_row(myElmnt, l_mode, l_pkey) {
	//alert(myElmnt);
	//alert(document.getElementById(myElmnt));
	var md='', fd='';
	var l_nodeObj, tableId, trInd, l_nodeObj_In, l_nodeObj_Ni, fld_id, fld_val;
	var strDel = '';
	if (l_mode == 'f') {
		if (typeof(myElmnt) == 'object') {
			l_nodeObj = myElmnt.form;
			fd = "arg1=3&arg2="+myElmnt.name; //myEmnt.name is the name of the table
		} else {
			l_nodeObj = document.getElementById(myElmnt);
		}
	} else if (l_mode == 'r') {
		fd = "arg1=3&arg2="+myElmnt.name;
		l_nodeObj = myElmnt.form; //Form object
		masTR = l_nodeObj.parentNode.parentNode;
		if(masTR.nodeName == 'TD') masTR = masTR.parentNode;
		trInd = masTR.rowIndex; // rowIndex of the TR element


	} else {
//		alert(myElmnt.parentNode.parentNode.rowIndex);
	}

	l_nodeObj_In = l_nodeObj.getElementsByTagName('input');
	l_nodeObj_Ni = l_nodeObj_In.length;
	for ( i=0; i < l_nodeObj_Ni; i++ ) {
		var c = l_nodeObj_In[i];
		if (c.id.substr(c.id.length-4,4) == '_COM') {  //for common id element
			fld_id  = c.id.substr(0,c.id.length-4);
			if (myElmnt.form.elements[fld_id])
				fld_val = myElmnt.form.elements[fld_id].value;
			else
				fld_val = document.forms['ceftep'].elements[fld_id].value;
		} else {
			fld_id  = c.id;
			fld_val = c.value;
		}
		if (c.className == 'DAid') {
			fd += "&"+fld_id+"='\\'"+fld_val+"\\''";
//			alert('fd'+fd);
		}
		//alert(fld_id+":"+fld_val);
	}
	//alert (fd);
	//masTblId=masTR.parentNode.parentNode.id;
	masTblId=masTR.offsetParent.id;
//alert("Table: "+masTblId);
//alert("RowIndex: "+trInd);
	if (masTblId && (trInd>=0)) {
		md = "delTblRow ('"+masTblId+"',"+trInd+")";
		md = 'md='+escape(md);
	}
//	alert(md+"&strDel='"+fd);
	updateDB('',md+"&strDel='"+escape(fd))
	//delTblRow (l_nodeObj);
	//alert (l_nodeObj.tagName);alert (trInd);
	//alert (l_nodeObj.parentNode.parentNode.tBodies[0]);
}
