<HTML>
<HEAD>
<TITLE>Telmax21 Directory Enquiry</TITLE>

<HTA:APPLICATION ID="Telmax21 Directory Enquiry" 
    APPLICATIONNAME="Telmax21 Directory Enquiry" 
    BORDERSTYLE="normal"
    BORDER="thick"
    CAPTION="yes"
    ICON="telmax218.ico"
    SHOWINTASKBAR="yes"
    SINGLEINSTANCE="yes"
    SYSMENU="yes"
    WINDOWSTATE="maximize"
    NAVIGABLE="yes"
    SCROLL="yes"
>

<SCRIPT LANGUAGE='Javascript'><!--

///*
//*************************************************************************
//**									*
//**	Copyright (C) 2001 Trans-Mit Pty. Ltd. Melbourne Australia	*
//**	This software may not be loaned, resold, changed or copied	*
//**	in any way without the express written permission of author	*
//**	and Trans-Mit Pty. Ltd., Australia.				*
//**									*
//*************************************************************************
//**
//**	$Header: /usr/local/lib/cake/RCS/rcshead,v 1.6 2000/01/24 01:16:29 root Exp $
//**	$Author: root $
//**	$Date: 2000/01/24 01:16:29 $
//**	$Locker:  $
//**
//*************************************************************************
//*/




// Globals
var DOFF = 2;
var NDROWS = 13
var recfilt;
var colfilt = new Array();
var lst_colfilt = new Array();
var firsttime = 1;
var mydonekey = 0;
var activerow = 0;
var curinput;
var curfldname;
var reccountspoken = 0;

var ttsidx = 1;
var max_ttsidx = 1;

var is_shift = 0;
var is_ctrl = 0;
var is_alt = 0;

// SPECIAL key codes
var BS_KEYCODE = 8;
var TAB_KEYCODE = 9;
var ENTER_KEYCODE = 13;

var SHIFT_KEYCODE = 16;
var CTRL_KEYCODE = 17;
var ALT_KEYCODE = 18;

var PAUSE_KEYCODE = 19;
var ESC_KEYCODE = 27;
var DOUBLEQUOTE_KEYCODE = 34;

var PAGEUP_KEYCODE = 33;
var PAGEDOWN_KEYCODE = 34;
var END_KEYCODE = 35;
var HOME_KEYCODE = 36;

var LEFTARROW_KEYCODE = 37;
var UPARROW_KEYCODE = 38;
var RIGHTARROW_KEYCODE = 39;
var DOWNARROW_KEYCODE = 40;

var INSERT_KEYCODE = 45;
var DELETE_KEYCODE = 45;

var KEYPADASTERIX_KEYCODE = 106;
var KEYPADDASH_KEYCODE = 109;
var KEYPADSLASH_KEYCODE = 111;
var F1_KEYCODE = 112;
var F2_KEYCODE = 113;
var F3_KEYCODE = 114;
var F4_KEYCODE = 115;
var F5_KEYCODE = 116; // F5 - Reserverd for REFRESH
var F6_KEYCODE = 117; // F6 - Reserved for ???
var F7_KEYCODE = 118;
var F8_KEYCODE = 119;
var F10_KEYCODE = 121;
var F11_KEYCODE = 122;
var F12_KEYCODE = 123;
var NUNLOCK_KEYCODE = 144;
var SCROLLLOCK_KEYCODE = 145;
var SLASH_KEYCODE = 191;

// Define feature code
var CLEARFIELD = 1;
var CLEARALL = 2;
var PAGEUP = 3;
var PAGEDOWN = 4;
var FIRSTPAGE = 5;
var LASTPAGE = 6;
var UPACTIVEROW = 7;
var DOWNACTIVEROW = 8;

// define key map
var keycodemap = new Array();
keycodemap[CLEARFIELD] = ENTER_KEYCODE;
keycodemap[CLEARALL] = ESC_KEYCODE;
keycodemap[PAGEUP] = PAGEUP_KEYCODE;
keycodemap[PAGEDOWN] = PAGEDOWN_KEYCODE;
keycodemap[FIRSTPAGE] = HOME_KEYCODE;
keycodemap[LASTPAGE] = END_KEYCODE;
keycodemap[UPACTIVEROW] = UPARROW_KEYCODE;
keycodemap[DOWNACTIVEROW] = DOWNARROW_KEYCODE;

// -------------------------------------
var mytitle = document.title
//"T21 Web Directory Enquiry";
document.title = window.status = mytitle + " - Loading Please Wait...";
window.status = "Loading Please Wait..."


function gett21data()
{
	//<LI><A HREF="http://mon2/catwork/getwebdirtdc.cgi">Get Latest Data From Telmax21 Server</A></LI>
	window.open('http://mon2/catwork/getwebdirtdc.cgi','','toolbar=no,menubar=no,location=no,height=300,width=650');
	//Reset the DSO, this will in turn refresh any bound elements
	enqdat.Reset();
}

function keys()
{
	alert("KEYS:\n\
Clear All\t\t\tESC\n\
Clear Field\t\tENTER\n\
Previous Page\t\tPAGEUP\n\
Next Page\t\tPAGEDOWN\n\
First Page\t\t\tHOME\n\
Last Page\t\tEND\n\
Previous ROW\t\tARROW\n\
Next Row\t\t\tDOWNARROW\n\
");
	curinput.focus();
}

function tstmsg()
{
 	msg1 = "0123456789012345678901234567890123456789012345678901234567890123456789\n"
	msg2 = msg1
	msg3 = msg1
	msg4 = msg1
	msg5 = msg1
	msg6 = msg1
	msg7 = msg1
	msg8 = msg1
	msg9 = msg1

	msg = msg1 + msg2 + msg3 + msg4 + msg5 + msg6 + msg7 + msg8 + msg9

	document.TTSObj.Speak(msg);
	alert(msg);
	document.TTSObj.StopSpeaking();
	curinput.focus();
}


function show_status(str)
{
	//window.status = str;
	mystatus.innerHTML = "<FONT COLOR=#FFFFFF>" + str + "</FONT>";
	document.title = window.status = mytitle + " - " + str;
}


function dumpobj(obj1)
{
	for (prop in obj1) {
		if ( ! window.confirm("The property '" + prop + "' is " +
							 obj1[prop]) )
			break;
	}
}


function initT21Enquiry()
{
	//alert("initT21Enquiry()");
	show_status("Loading Please Wait...");

	clearall(0);
	firsttime = 0;
	
	alert("Device = " + document.TTSObj.Device);

	alert("CurrentMode = " + document.TTSObj.CurrentMode);

	max_ttsidx = document.TTSObj.CountEngines;
	alert("max_ttsidx = " + max_ttsidx);

	//ttsidx = document.TTSObj.Find("MfgName=TruVoice");
	//ttsidx = document.TTSObj.Find("Speaker=Mary in Hall");
	//alert("ttsidx = " + ttsidx);

	// set default speaker
	//ttsidx = 18;
	ttsidx = 1;

	//document.TTSObj.Select(ttsidx);
	document.TTSObj.Select(ttsidx);

	//SPK
	document.TTSObj.Speak("Telmax 21 Web Directory Ready");
	show_status("Ready.");

}



function about_speech()
{
	ttsidx = ttsidx + 1;
	if ( ttsidx > max_ttsidx )
		ttsidx = 1;

	document.TTSObj.Select(ttsidx);

	document.TTSObj.Speak("Is this more to your liking?");

	var str = "";
	str = document.TTSObj.MfgName(ttsidx);
	str = str + "\n" + "ProductName: " + document.TTSObj.ProductName(ttsidx);
	str = str + "\n" + "   ModeName: " + document.TTSObj.ModeName(ttsidx);
	str = str + "\n" + "    Speaker: " + document.TTSObj.Speaker(ttsidx);
	alert("Speech: ttsidx = "+ ttsidx + "\n" + str);

	document.TTSObj.Speak(str);
}

function about_engine()
{
	document.TTSObj.AboutDlg(document.TTSObj.hWnd,"AboutDlg");
	//document.TTSObj.GeneralDlg(document.TTSObj.hWnd,"GeneralDlg");
}

function clearall(dosearch)
{
	//alert("clearall(" + dosearch + ")");

	//SPK
	document.TTSObj.StopSpeaking();

	clear_srch_vars();

	curinput=srchSurname;
	curfldname="Surname";

	document.all.but_firstPage.disabled = true;
	document.all.but_previousPage.disabled = true;
	document.all.but_lastPage.disabled = true;
	document.all.but_nextPage.disabled = true;

	if ( dosearch ) {
		curinput.value = "Invalid";
		keySrchCol(curfldname, curinput);
		clear_srch_vars();
	}

	srchSurname.focus();
}


function clear_srch_vars()
{
	srchSurname.value = ""
	srchFirstname.value = ""
	srchExtension.value = ""
	srchTelephone.value = ""
	srchDept.value = ""
	srchTitle.value = ""
	srchEmail.value = ""

	colfilt["Surname"] = ""
	colfilt["Firstname"] = ""
	colfilt["Extension"] = ""
	colfilt["Telephone"] = ""
	colfilt["Dept"] = ""
	colfilt["Title"] = ""
	colfilt["Email"] = ""

	recfilt = "";
}


function clearfield(dosearch)
{
	//alert("clearfield(" + dosearch + ")");
	curinput.value = "";
	colfilt[curfldname] = ""
	curinput.focus();
	if ( dosearch )
		keySrchCol(curfldname, curinput);
}



function keydownProc()
{
	//alert( "keydownProc() keyCode = " + event.keyCode );

	switch ( event.keyCode ) {
	case SHIFT_KEYCODE:		// Shift key
		is_shift = 1;
		mydonekey = 1;
		return;
	case CTRL_KEYCODE:		// Control key
		is_ctrl = 1;
		mydonekey = 1;
		return;
	case ALT_KEYCODE:		// Alt key
		is_alt = 1;
		mydonekey = 1;
		return;
	case F1_KEYCODE:		// F1 key
		document.TTSObj.StopSpeaking();
		//alert("F1 key  is_shift=" + is_shift + "  is_ctrl=" + is_ctrl + "  is_alt=" + is_alt);
		if ( !is_shift && !is_ctrl && !is_alt ) { // move to field 1
			curinput=srchSurname;
			curfldname="Surname";
			document.TTSObj.Speak(curfldname);
			curinput.focus();
		}
		if ( !is_shift && is_ctrl && !is_alt )	// speak field 1
			speakrow(0,DOFF+activerow,1,1);
		if ( is_shift && !is_ctrl && !is_alt )	// spell field 1
			speakrow(1,DOFF+activerow,1,1);
		if ( is_shift && is_ctrl && !is_alt )	// speak & spell field 1
			speakrow(2,DOFF+activerow,1,1);
		if ( !is_shift && !is_ctrl && is_alt )	// say combination 1
			speakrow(0,DOFF+activerow,-1,0);
		mydonekey = 1;
		return;
	case F2_KEYCODE:		// F2 key
		document.TTSObj.StopSpeaking();
		//alert("F2 key  is_shift=" + is_shift + "  is_ctrl=" + is_ctrl + "  is_alt=" + is_alt);
		if ( !is_shift && !is_ctrl && !is_alt ) { // move to field 2
			curinput=srchFirstname;
			curfldname="Firstname";
			document.TTSObj.Speak(curfldname);
			curinput.focus();
		}
		if ( !is_shift && is_ctrl && !is_alt )	// speak field 2
			speakrow(0,DOFF+activerow,2,1);
		if ( is_shift && !is_ctrl && !is_alt )	// spell field 2
			speakrow(1,DOFF+activerow,2,1);
		if ( is_shift && is_ctrl && !is_alt )	// speak & spell field 2
			speakrow(2,DOFF+activerow,2,1);
		mydonekey = 1;
		return;
	case F3_KEYCODE:		// F3 key
		document.TTSObj.StopSpeaking();
		//alert("F3 key  is_shift=" + is_shift + "  is_ctrl=" + is_ctrl + "  is_alt=" + is_alt);
		if ( !is_shift && !is_ctrl && !is_alt ) { // move to field 3
			curinput=srchExtension;
			curfldname="Extension";
			document.TTSObj.Speak(curfldname);
			curinput.focus();
		}
		if ( !is_shift && is_ctrl && !is_alt )	// speak field 3
			speakrow(0,DOFF+activerow,3,1);
		if ( is_shift && !is_ctrl && !is_alt )	// spell field 3
			speakrow(1,DOFF+activerow,3,1);
		if ( is_shift && is_ctrl && !is_alt )	// speak & spell field 3
			speakrow(2,DOFF+activerow,3,1);
		mydonekey = 1;
		return;
	case keycodemap[CLEARFIELD]:	// clear field key
		clearfield(1);
		mydonekey = 1;
		return;
	case keycodemap[CLEARALL]:	// clear all key
		clearall(1);
		mydonekey = 1;
		return;
	case keycodemap[PAGEUP]:	// Page UP key
		previousPage();
		mydonekey = 1;
		return;
	case keycodemap[PAGEDOWN]:	// Page DOWN key
		nextPage();
		mydonekey = 1;
		return;
	case keycodemap[FIRSTPAGE]:	// First Page key
		firstPage();
		mydonekey = 1;
		return;
	case keycodemap[LASTPAGE]:	// Last Page key
		lastPage();
		mydonekey = 1;
		return;
	case keycodemap[UPACTIVEROW]:	// UP Active row
		setactiverow(1,-1);
		mydonekey = 1;
		return;
	case keycodemap[DOWNACTIVEROW]:	// DOWN Active row
		setactiverow(1,1);
		mydonekey = 1;
		return;
	}

	return;
}


function keyupProc()
{
	//alert( "keyupProc() keyCode = " + event.keyCode );

	switch ( event.keyCode ) {
	case SHIFT_KEYCODE:		// Shift key
		//alert("keyupProc() SHIFT key UP  is_shift=" + is_shift + "  is_ctrl=" + is_ctrl + "  is_alt=" + is_alt);
		is_shift = 0;
		return;
	case CTRL_KEYCODE:		// Control key
		//alert("keyupProc() CTRL key UP  is_shift=" + is_shift + "  is_ctrl=" + is_ctrl + "  is_alt=" + is_alt);
		is_ctrl = 0;
		return;
	case ALT_KEYCODE:		// Alt key
		//alert("keyupProc() ALT key UP  is_shift=" + is_shift + "  is_ctrl=" + is_ctrl + "  is_alt=" + is_alt);
		is_alt = 0;
		return;
	}

	return;
}


function keypressProc(forceupper)
{
	//alert( "keypressProc() keyCode = " + event.keyCode + " forceupper = " + forceupper );

	if ( mydonekey ) {
		event.keyCode = "";
		event.returnValue = false;
		return;
	}

	// Force uppercase
	if (forceupper && event.keyCode >= 97 && event.keyCode <= 122 )
		event.keyCode -= 32;

	//show_status("event.keyCode = " + event.keyCode);
	
	// don't allow double quote
	//if ( event.keyCode == DOUBLEQUOTE_KEYCODE ) {
	//	event.returnValue = false;
	//	mydonekey = 1;
	//	return;
	//}

	return;
}


function keySrchCol(varColumn, varInput)
{
	//alert( "keySrchCol() varColumn = " + varColumn + "  varInput.value = " + varInput.value + " last keyCode = " + event.keyCode );

	// don't search if key is TAB
	if ( event.keyCode == TAB_KEYCODE ) {
		return;
	}

	// don't search if key already processed
	if ( mydonekey ) {
		mydonekey = 0;
		return;
	}

	/* key is not printable - so dont alter search */
	/* but do search if edit keys or clearall or clearfield */
	if ( (event.keyCode < 32 || event.keyCode > "~") &&
		event.keyCode != 8 &&
		event.keyCode != 10 &&
		event.keyCode != keycodemap[CLEARFIELD] &&
		event.keyCode != keycodemap[CLEARALL] &&
		event.keyCode != 127 ) {
		return;
	}

	// set global current field */
	curinput = varInput;
	curfldname = varColumn;

	// start again at top
	activerow = 0;

	colfilt[curfldname] = "";

	colfilt[curfldname] = curinput.value;

	if ( colfilt[curfldname] != "" )
		colfilt[curfldname] += "*";

	//alert("colfilt[" + curfldname + "] =" + colfilt[curfldname]);

	recfilt = "";

	recfilt += colfilt["Surname"] == "" ? "" :
			" & (Surname = " + colfilt["Surname"] + ")";
	recfilt += colfilt["Firstname"] == "" ? "" :
			" & (Firstname = " + colfilt["Firstname"] + ")";
	recfilt += colfilt["Extension"] == "" ? "" :
			" & (Extension = " + colfilt["Extension"] + ")";
	recfilt += colfilt["Telephone"] == "" ? "" :
			" & (Telephone = " + colfilt["Telephone"] + ")";
	recfilt += colfilt["Dept"] == "" ? "" :
			" & (Dept = " + colfilt["Dept"] + ")";
	recfilt += colfilt["Title"] == "" ? "" :
			" & (Title = " + colfilt["Title"] + ")";
	recfilt += colfilt["Email"] == "" ? "" :
			" & (Email = " + colfilt["Email"] + ")";

	if ( recfilt != "" )
		recfilt = recfilt.substr(3);	// strip off first " & "

	//window.status = "colfilt[" + curfldname + "] =" + colfilt[curfldname];
	//window.status = " recfilt = " + recfilt;
	//alert(" recfilt = " + recfilt);

	//enqdat.SortColumn = curfldname;
	//enqdat.SortAscending = true;
	//enqdat.FilterValue = colfilt[curfldname];
	//enqdat.FilterCriterion = '=';

	//enqdat.FilterColumn = curfldname;
	enqdat.SortAscending = true;
	enqdat.Filter = recfilt

	show_status("Searching...");

	reccountspoken = 0;

	//Reset the DSO, this will in turn refresh any bound elements
	enqdat.Reset();

}



function colSort(varColumn)
{
	//Check to see if we are sorting on the same column
	//If so assume user simply wishes to invert sort order
	if (varColumn == enqdat.SortColumn)
	{
		//Invert order
		enqdat.SortAscending = !enqdat.SortAscending;
	}
	else
	{
		//Use current sort order for new column sort
		enqdat.SortColumn = varColumn;
	}
	enqdat.Reset();
}


function firstPage()
{
	setactiverow(0,0);
	drows.firstPage();
}

function previousPage()
{
	setactiverow(0,0);
	drows.previousPage();
}

//function previousRow()
//{
//	//enqdat.recordset.MovePrevious();
//	//drows.Previous();
//}

//function nextRow()
//{
//	//enqdat.recordset.MoveNext();
//	//drows.Next();
//}

function nextPage()
{
	setactiverow(0,0);
	drows.nextPage();
}

function lastPage()
{
	setactiverow(0, NDROWS - 1);
	drows.lastPage();
}


function set_page_button_state()
{
	//alert("set_page_button_state()");

	if ( firsttime )
		return;

	//determine where the position of the first row is within the data set
	if (drows.readyState == "complete") {
		if (drows.rows.length > DOFF) {
			//window.status =
//"drows.rows.length=" + drows.rows.length + "  " +
//"drows.rows[DOFF].recordNumber = " + drows.rows[DOFF].recordNumber + "  " +
//"drows.rows[" + (drows.rows.length - 1) + "].recordNumber = " +
//	drows.rows[drows.rows.length - 1].recordNumber + "  " +
//"(" + enqdat.recordset.RecordCount + ")"

			show_status("Search Complete (" + enqdat.recordset.RecordCount + " Records Matched)");

			setactiverow(1,0);

			// determine if there is a previous page
			if (drows.rows[DOFF+activerow].recordNumber > 1) {
				document.all.but_firstPage.disabled = false;
				document.all.but_previousPage.disabled = false;
			}
			else {
				document.all.but_firstPage.disabled = true;
				document.all.but_previousPage.disabled = true;
			}

			//determine where the position of the last row is 
			if (drows.rows[drows.rows.length - 1].recordNumber <
						enqdat.recordset.RecordCount) {
				document.all.but_lastPage.disabled = false;
				document.all.but_nextPage.disabled = false;
			}
			else {
				document.all.but_lastPage.disabled = true;
				document.all.but_nextPage.disabled = true;
			}

		}
		else {	// now rows
			document.all.but_firstPage.disabled = true;
			document.all.but_lastPage.disabled = true;
			document.all.but_nextPage.disabled = true;
			document.all.but_previousPage.disabled = true;

			show_status("No Matches");
		}
	}
}


function speakrow(speak_spell,row,fld,sayfldnames)
{
	// no rows
	if (drows.rows.length <= DOFF) {
		return
	}

	//SPK
	document.TTSObj.StopSpeaking();

	if (fld == -1 && enqdat.recordset.RecordCount != 1 && !reccountspoken ){
		document.TTSObj.Speak(enqdat.recordset.RecordCount);
		reccountspoken = 1;
	}
	

	if ( fld == -1 || fld == 1 ) {
		var sn = drows.rows[row].cells[1].innerText;
		saystr(speak_spell,sn,"surname",sayfldnames);
	}
	if ( fld == -1 || fld == 2 ) {
		var fn = drows.rows[row].cells[2].innerText;	
		saystr(speak_spell,fn,"first name",sayfldnames);
	}
	if ( fld == -1 || fld == 3 ) {
		var extn = drows.rows[row].cells[3].innerText;
		saystr(1,extn,"extension",sayfldnames);
	}

	//SPK end comment
}


function saystr(speak_spell,str,strlabel,saylabel)
{
	if (str != "") {
		switch ( speak_spell ) {
		case 0:		// speak
			if ( saylabel )
				document.TTSObj.Speak(strlabel);
			document.TTSObj.Speak(str);
			break;
		case 1:		// spell
			if ( saylabel )
				document.TTSObj.Speak(strlabel);
			spellstr(str);
			break;
		case 2:		// speak and spell
			if ( saylabel )
				document.TTSObj.Speak(strlabel);
			document.TTSObj.Speak(str);
			spellstr(str);
			break;
		}
	}
	else {
		document.TTSObj.Speak("no " + strlabel);
	}
}


function spellstr(str)
{
	var i;
	var c;
	document.TTSObj.Speak(" ");
	for ( i = 0; i < str.length; ++i ) {
		c = str.substr(i,1);
		if ( c == "'" )
			c = "apostrifee";
		document.TTSObj.Speak(c);
	}
}


function setactiverow(rel, offset)
{
	var nrows = drows.rows.length - DOFF;
	if ( nrows <= 0 )
		return;

	//drows.rows[DOFF+activerow].cells[0].innerText = " "
	var i;
	for ( i=DOFF;  i < drows.rows.length; ++i) {
		drows.rows[i].cells[0].innerText = " "
	}

	offset = offset % nrows;
	if ( rel ) {
		activerow = activerow + offset;
		if ( activerow < 0 )
			activerow += nrows;
		if ( activerow >= nrows )
			activerow -= nrows;
	}
	else {
		activerow = offset;
	}
	drows.rows[DOFF+activerow].cells[0].innerText = ">"

	speakrow(0,DOFF+activerow,-1,0);
}


function isolaterec(thisrec)
{
	alert( "isolaterec() thisrec = " + thisrec + " enqdat.readystate = " + enqdat.readystate);

	//drows.rows[3].cells[0].outerHTML = "<TD BGCOLOR=#CCEEEE align=left><SPAN ID=id_isolaterec><A HREF='Javascript: isolaterec(this);'>X</SPAN></TD>"

	//alert(drows.rows[DOFF+activerow].recordNumber);
	//alert(drows.rows[DOFF+activerow].cells[1].innerText);

	//dumpobj( thisrec );
	//dumpobj( thisrec.parent );
	//dumpobj( drows );
	//dumpobj( drows.rows );
	//dumpobj( drows.rows[DOFF+activerow] );
	//dumpobj( drows.rows[DOFF+activerow].cells );
	//dumpobj( drows.rows[DOFF+activerow].cells[1] );
	//dumpobj( drows.rows[DOFF+activerow].cells[0] );
	//dumpobj( window );
	//dumpobj( document );

	//determine where the position of the first row is within the data set
	if (drows.readyState == "complete") {
		if (drows.rows.length > DOFF) {
			show_status("IR " +
	 "drows.rows.length=" + drows.rows.length + "  " +
	 "drows.rows[DOFF].recordNumber = " + drows.rows[DOFF].recordNumber + "  " +
	 "drows.rows[" + (drows.rows.length - 1) + "].recordNumber = " +
			drows.rows[drows.rows.length - 1].recordNumber + "  " +
	 "(" + enqdat.recordset.RecordCount + ")");
			alert(window.status);

		}
	}
}


//--></SCRIPT>

<SCRIPT LANGUAGE='Javascript' FOR=document EVENT=ondataavailable><!--
	//alert("document event on dataavailable");
//--></SCRIPT>

<SCRIPT LANGUAGE='Javascript' FOR=document EVENT=ondatasetcomplete><!--
	//alert("document event on datasetcomplete");
	//headreccount.innerHTML = "<FONT COLOR=#FFFFFF>" +
	//	"(" + enqdat.recordset.RecordCount + " Records)" + "</FONT>";
	//show_status("Search Complete: (" + enqdat.recordset.RecordCount + " Records Matched)");

//--></SCRIPT>


<STYLE>
BODY { font-size:8pt; font-family: verdana, tahoma, sans serif, helvetica; }
INPUT { font-size: 8pt; font-family: verdana, tahoma, sans serif, helvetica; }
TH { font-size: 8pt; font-family: verdana, tahoma, sans serif, helvetica; }
TH A { color: white }
TH A:Hover { color: yellow }
TD { font-size: 7pt; font-family: verdana, tahoma, sans serif, helvetica; }
</STYLE>

</HEAD>

<BODY background="t21webdirbkgrnd.jpg" OnLoad="initT21Enquiry();"
	onkeydown='keydownProc();'
	onkeyup='keyupProc();'
>

<IMG SRC="t21webdirbanner1.jpg">

<hr>

<COMMENT>MS SAPI 4.0 Voice Text Control</COMMENT>
<OBJECT ID="TTSObj" CLASSID="clsid:2398E32F-5C6E-11D1-8C65-0060081841DE" Width="0" Height="0"> 
<embed HIDDEN></embed>
</OBJECT>

<COMMENT>MS IE DHTML Databinding Tabular Data Control</COMMENT>
<OBJECT id=enqdat CLASSID="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">
	<PARAM NAME="DataURL" VALUE="webdir.csv"> 
	<PARAM NAME="UseHeader" VALUE="True">
	<PARAM NAME="TextQualifier" VALUE=",">
	<PARAM NAME="Filter" VALUE="Surname = Invalid">
	<PARAM NAME="SortColumn" VALUE="Surname">
	<PARAM NAME="SortAscending" VALUE="true">
</OBJECT>


<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=2>
<THEAD BGCOLOR=#444466>
	<TD>
		<COMMENT><FONT COLOR=#FFFFFF>Telmax21 Enquiry</FONT>&nbsp; &nbsp;</COMMENT>
		<INPUT TYPE="BUTTON" ID=but_firstPage ONCLICK="firstPage();" VALUE="First" ALT="First">
		<INPUT TYPE="BUTTON" ID=but_previousPage ONCLICK="previousPage();" VALUE="Previous Page" ALT="Previous Page" >
<COMMENT>
		<INPUT TYPE="BUTTON" ID=but_previousRow ONCLICK="previousRow();" VALUE="Previous Row" ALT="Previous Row" >
		<INPUT TYPE="BUTTON" ID=but_nextRow ONCLICK="nextRow();" VALUE="Next Row" ALT="Next Row" >
</COMMENT>
		<INPUT TYPE="BUTTON" ID=but_nextPage ONCLICK="nextPage();" VALUE="Next Page" ALT="Next Page" >
		<INPUT TYPE="BUTTON" ID=but_lastPage ONCLICK="lastPage();" VALUE="Last" ALT="Last">
		&nbsp; &nbsp;
		<INPUT TYPE="BUTTON" ID=but_clearall ONCLICK="clearall(1);" VALUE="Clear All" ALT="Clear All">
		<INPUT TYPE="BUTTON" ID=but_clearfield ONCLICK="clearfield(1);" VALUE="Clear Field" ALT="Clear Field">
		&nbsp; &nbsp;
		<INPUT TYPE="BUTTON" ID=but_keys ONCLICK="keys();" VALUE="Keys" ALT="Keys">
		<INPUT TYPE="BUTTON" ID=but_tstmsg ONCLICK="tstmsg();" VALUE="tstmsg" ALT="tstmsg">
<br>
		<INPUT TYPE="BUTTON" ID=but_about_speech ONCLICK="about_speech();" VALUE="About Speech" ALT="About Speech">
		<INPUT TYPE="BUTTON" ID=but_about_engine ONCLICK="about_engine();" VALUE="About Engine" ALT="About Engine">

		<INPUT TYPE="BUTTON" ID=but_Lex ONCLICK='document.TTSObj.LexiconDlg(document.TTSObj.hWnd,"LexiconDlg");' VALUE="Lexicon" ALT="Lexicon">

		<INPUT TYPE="BUTTON" ID=but_Translate ONCLICK='document.TTSObj.TranslateDlg(document.TTSObj.hWnd,"TranslateDlg");' VALUE="Translate" ALT="Translate">

		<COMMENT><BUTTON onclick="self.close()">Exit</BUTTON></COMMENT>
		<hr>
		&nbsp; &nbsp;
		<SPAN ID=mystatus>
			<FONT BGCOLOR=#000000 COLOR=#EEEEEE>---STATUS---</FONT>
		</SPAN>
<COMMENT>
		<SPAN ID=headreccount>
			<FONT BGCOLOR=#000000 COLOR=#EEEEEE>Record Count</FONT>
		</SPAN>
		&nbsp; &nbsp; &nbsp;
		<INPUT TYPE="BUTTON" ID=but_gett21data ONCLICK="gett21data();" VALUE="Get Latest Data From Telmax21 Server" ALT="Get T21 Data">
</COMMENT>
	</THEAD>
<TR>
<TD>
<TABLE ID="drows" DATASRC="#enqdat" DATAPAGESIZE=13
		CELLSPACEING=0
		onreadystatechange='set_page_button_state()'>
	<THEAD>
		<TR BGCOLOR=#0000EE>
			<TH align=left>#</TH>
			<TH align=left><A HREF='Javascript: colSort("Surname");'>Surname________</A></TH>
			<TH align=left><A HREF='Javascript: colSort("Firstname");'>First_Name</A></TH>
			<TH align=left><A HREF='Javascript: colSort("Extension");'>Extension</A></TH>
			<TH align=left><A HREF='Javascript: colSort("Telephone");'>Telephone_</A></TH>
			<TH align=left><A HREF='Javascript: colSort("Dept");'>Department____</A></TH>
			<TH align=left><A HREF='Javascript: colSort("Title");'>Title_________</A></TH>
			<TH align=left><A HREF='Javascript: colSort("Email");'>Email______________________________</A></TH>
		</TR>
		<TR BGCOLOR=#F0F0F0>
			<TD> </TD>
			<TD> <INPUT type="text" NAME='srchSurname'
				rows=1 size=15
				datasrc="#enqdat" datafld="Surname"
				onkeypress='keypressProc(1);'
				onkeyup='keySrchCol("Surname",srchSurname);'
				>
			</TD>
			<TD> <INPUT type="text" NAME='srchFirstname'
				rows=1 size=10
				datasrc="#enqdat" datafld="Firstname"
				onkeypress='keypressProc(1);'
				onkeyup='keySrchCol("Firstname",srchFirstname);'
				>
			</TD>
			<TD> <INPUT type="text" NAME='srchExtension'
				rows=1 size=6
				datasrc="#enqdat" datafld="Extension"
				onkeypress='keypressProc(1);'
				onkeyup='keySrchCol("Extension",srchExtension);'
				>
			</TD>
			<TD> <INPUT type="text" NAME='srchTelephone'
				rows=1 size=10
				datasrc="#enqdat" datafld="Telephone"
				onkeypress='keypressProc(1);'
				onkeyup='keySrchCol("Telephone",srchTelephone);'
				>
			</TD>
			<TD> <INPUT type="text" NAME='srchDept'
				rows=1 size=14
				datasrc="#enqdat" datafld="Dept"
				onkeypress='keypressProc(1);'
				onkeyup='keySrchCol("Dept",srchDept);'
				>
			</TD>
			<TD> <INPUT type="text" NAME='srchTitle'
				rows=1 size=14
				datasrc="#enqdat" datafld="Title"
				onkeypress='keypressProc(1);'
				onkeyup='keySrchCol("Title",srchTitle);'
				>
			</TD>
			<TD> <INPUT type="text" NAME='srchEmail'
				rows=1 size=35
				datasrc="#enqdat" datafld="Email"
				onkeypress='keypressProc(0);'
				onkeyup='keySrchCol("Email",srchEmail);'
				>
			</TD>
		</TR>
	</THEAD>
	<TBODY>
		<TR>
			<TD BGCOLOR=#EEEECC align=left><SPAN ID=id_isolaterec><A HREF='Javascript: isolaterec(this);'> </SPAN></TD>
			<TD BGCOLOR=#EEEECC align=left><DIV ID=id_Surname datasrc="#enqdat" datafld=Surname></DIV></TD>
			<TD BGCOLOR=#EEEECC align=left><DIV datasrc="#enqdat" datafld=Firstname></DIV></TD>
			<TD BGCOLOR=#EEEECC align=left><DIV datasrc="#enqdat" datafld=Extension></DIV></TD>
			<TD BGCOLOR=#EEEECC align=left><DIV datasrc="#enqdat" datafld=Telephone></DIV></TD>
			<TD BGCOLOR=#EEEECC align=left><DIV datasrc="#enqdat" datafld=Dept></DIV></TD>
			<TD BGCOLOR=#EEEECC align=left><DIV datasrc="#enqdat" datafld=Title></DIV></TD>
			<TD BGCOLOR=#EEEECC align=left><A datasrc="#enqdat" DATAFLD=Email STYLE='Text-Decoration:None' ONMOUSEOVER='if(this.href.indexOf("mailto:") == -1){ this.href = "mailto:" + this.href};'><DIV datasrc="#enqdat" datafld=Email></DIV></A></TD>
		</TR>
	</TBODY>
	<TFOOT>
	</TFOOT>			
</TABLE>

</TD>
</TR>
</TABLE>

</BODY>
</HTML>