//=======================================================================
// JavaScript ESW Teacher List auto list                 KJH   09-03-2008
// History:
//  09-02-2008  kjh -copied design from TestList
//-----------------------------------------------------------------------
// Notes:
//=======================================================================
function DisplayList(SortOrder) {
	var EndIdx = 14;                // Last index number of tl() array objects
	var Sa = new Array(EndIdx);     // Arrays begin at Zero!
	var t="";
	var i;
	var subj="";
	var pub="";
	var tl = new Object();
	
	GetList(tl);                    // Get list objects
	
	/* //..........................................................................
	// Debug display: 
	document.write("<div align='left'>");
	for(i=0;i<(EndIdx+1);i++) {
		document.write(i+")   "+tl[i].firstname +" " + tl[i].lastname + " &nbsp; &nbsp; ");
		document.write(tl[i].school + " &nbsp; &nbsp; " + tl[i].town +"<br>");
	}
	document.write("</div>");
	*/ //..........................................................................
	
	
	// Sort Array sa[] elements are created dependent on which field it is sorted on.
	// This allows the use of the sort method to auto-sorting the array.
	// The sa[] array content format: "SortItem1^SortItem2^IndexPointer"
	switch(SortOrder) {         // Case statement
		case 'name':            // load Teacher's name
			for(var i=0;i<(EndIdx+1);i++) {          // check for 'holes' in data
				if (tl[i].lastname !="") Sa[i]=tl[i].lastname +"^" + tl[i].firstname + "^" + i;
			}
			break;
		case 'school':         // load School Name
			for(var i=0;i<(EndIdx+1);i++) {         // check for 'holes' in data
				if (tl[i].school !="") Sa[i]=tl[i].school + "^^" + i;
			}
			break;
		default:                // load Town
			SortOrder="town";
			for(var i=0;i<(EndIdx+1);i++) {       // check for 'holes' in data
				if (tl[i].town !="") Sa[i]=tl[i].town  + "^^" + i;
			}
			break;
	}

	/* //..........................................................................
	// Debug display: 
	document.write("<div align='left'>");
	for(i=0;i<(EndIdx+1);i++) document.write(i+")   "+Sa[i]+"<br>");
	document.write("</div>");
	*/ //..........................................................................

	Sa.sort();                    // Alphabetically sort the array
	var lastDept="";
	DisplayHeader();
	for(i=0;i<(EndIdx+1);i++) {   // Display in sort order
		var p=new Array(1);
		t=Sa[i];
		if (t!=undefined) {
			p=t.split("^",3);
			DisplayLine(tl[p[2]]);
		}
	}
}

//=================================================================
//  Display an tlournal by title
//=================================================================
function DisplayHeader() {
	txt="<table width='500px' border='0' cellspacing='0' cellpadding='0' align='center'>";
	txt=txt + "<tr><td width='150px' align='left' valign='top'>";
	txt=txt + "<p class='ColumnHeader'>Teacher</p></td>";
	txt=txt + "<td width='250px' align='center' valign='top'>";
	txt=txt + "<p class='ColumnHeader'>School</p></td>";
	txt=txt + "<td width='100px' align='center' valign='top'>";
	txt=txt + "<p class='ColumnHeader'>Town</p></td>";
	txt=txt+"</tr></table>";
	document.write(txt);
}

function DisplayLine(teacher) {
	var txt="";
	var at="@";
	var hasEmail;
	
	hasEmail=(teacher.email != "") && (teacher.site !="");
	
	// General Table
	txt="<table width='500px' border='0' cellspacing='0' cellpadding='0' align='center'><tr>";
	document.write(txt);
	
	
	// ... Name .......................................................
	txt="<td width='150px' align='left' valign='top'>";
	txt=txt + "<p class='Name'>";
	if (hasEmail) {
		txt= txt+ " <a href='mailto:" + teacher.email + at + teacher.site;
		txt= txt + "' class='NameLink'>";
		}
	txt=txt + teacher.firstname + " " + teacher.lastname;
	if (hasEmail) txt= txt+ "</a>";
	txt=txt + "</p></td>";
	document.write(txt);

	//... School ......................................................
	txt="<td width='250px' align='left' valign='top'>";
	txt=txt + "<p class='School'>" + teacher.school;
	txt=txt + "</p></td>";
	document.write(txt);

	//... Town ......................................................
	txt="<td width='100px' align='center' valign='top'>";
	txt=txt + "<p class='Town'>" + teacher.town;
	txt=txt + "</p></td>";
	document.write(txt);

	txt="</tr></table>";
	document.write(txt);
}

//=================================================================
//  Get List stored in a set of objects
//=================================================================
function GetList(tl) {
	//.................................................................
	tl[0] = new Object();
	tl[0].firstname = "Susan";
	tl[0].lastname = "Bowden";
	tl[0].email = "sbowden";
	tl[0].site = "msad48.org";
	tl[0].school = "Somerset Valley Middle School";
	tl[0].town = "Hartland";
	// 
	//.................................................................
	tl[1] = new Object();
	tl[1].firstname = "Virginia";
	tl[1].lastname = "Brackett";
	tl[1].email = "vbrackett";
	tl[1].site = "winslow.k12.me.us";
	tl[1].school = "Winslow Junior High School";
	tl[1].town = "Winslow";
	// 
	//.................................................................
	tl[2] = new Object();
	tl[2].firstname = "Libby ";
	tl[2].lastname = "Ladner";
	tl[2].email = "eladner";
	tl[2].site = "halldale.org";
	tl[2].school = "Hall-Dale Middle School";
	tl[2].town = "Farmingdale";
	// 
	//.................................................................
	tl[3] = new Object();
	tl[3].firstname = "Tabby";
	tl[3].lastname = "Dionne";
	tl[3].email = "tdionne";
	tl[3].site = "brunswick.k12.me.us";
	tl[3].school = "Brunswick Junior High";
	tl[3].town = "Brunswick";
	// 
	//.................................................................
	tl[4] = new Object();
	tl[4].firstname = "Bruce ";
	tl[4].lastname = "Gamage";
	tl[4].email = "brgamage";
	tl[4].site = "msad5.org";
	tl[4].school = "Rockland District Middle School";
	tl[4].town = "Rockland";
	// 
	//.................................................................
	tl[5] = new Object();
	tl[5].firstname = "Laura";
	tl[5].lastname = "Johns";
	tl[5].email = "laura";
	tl[5].site = "penobscotschool.org";
	tl[5].school = "Penobscot Elementary School";
	tl[5].town = "Penobscot";
	// 
	//.................................................................
	tl[6] = new Object();
	tl[6].firstname = "Sashi ";
	tl[6].lastname = "Kaufman";
	tl[6].email = "skaufman";
	tl[6].site = "scarborough.k12.me.us";
	tl[6].school = "Scarborough Middle School";
	tl[6].town = "Scarborough";
	// 
	//.................................................................
	tl[7] = new Object();
	tl[7].firstname = "Doug";
	tl[7].lastname = "Kranich";
	tl[7].email = "dkranich";
	tl[7].site = "emmm.org";
	tl[7].school = "Millinocket Middle School";
	tl[7].town = "Millinocket";
	// 
	//.................................................................
	tl[8] = new Object();
	tl[8].firstname = "Patricia";
	tl[8].lastname = "Mendelson";
	tl[8].email = "pmendelson";
	tl[8].site = "union30.org";
	tl[8].school = "Phillip W. Sugg Middle School";
	tl[8].town = "Lisbon Falls";
	// 
	//.................................................................
	tl[9] = new Object();
	tl[9].firstname = "Margaret ";
	tl[9].lastname = "Morton";
	tl[9].email = "morton";
	tl[9].site = "maine.edu";
	tl[9].school = "So. Bristol Elementary";
	tl[9].town = "So. Bristol";
	// 
	//.................................................................
	tl[10] = new Object();
	tl[10].firstname = "Jeanne";
	tl[10].lastname = "O'Brien";
	tl[10].email = "eugenia_obrien";
	tl[10].site = "coconetme.org";
	tl[10].school = "Freeport Middle School";
	tl[10].town = "Freeport";
	// 
	//.................................................................
	tl[11] = new Object();
	tl[11].firstname = "William L";
	tl[11].lastname = "Palmer";
	tl[11].email = "wpalmer";
	tl[11].site = "msad5.org";
	tl[11].school = "Rockland Alternative School";
	tl[11].town = "Rockland ";
	// 
	//.................................................................
	tl[12] = new Object();
	tl[12].firstname = "Sally";
	tl[12].lastname = "Rees-Speich";
	tl[12].email = "sspeich";
	tl[12].site = "sad36.org";
	tl[12].school = "Livermore Falls Middle School";
	tl[12].town = "Livermore Falls";
	// 
	//.................................................................
	tl[13] = new Object();
	tl[13].firstname = "Wayne C";
	tl[13].lastname = "Stevens";
	tl[13].email = "wayne_stevens";
	tl[13].site = "sad40.k12.me.us";
	tl[13].school = "A. D. Gray Middle School";
	tl[13].town = "Waldoboro";
	// 
	//.................................................................
	tl[14] = new Object();
	tl[14].firstname = "Nancy ";
	tl[14].lastname = "Stevick";
	tl[14].email = "nancy_stevick";
	tl[14].site = "fivetowns.net";
	tl[14].school = "Lincolnville Central School";
	tl[14].town = "Lincolnville";
	// 
}
