Your IP : 216.73.217.79


Current Path : /var/www/cesa.co.za/echasl23/
Upload File :
Current File : /var/www/cesa.co.za/echasl23/CPDServiceProviderlist.php

<?php
session_start(); // Initialize Session data
ob_start(); // Turn on output buffering
?>
<?php include "ewcfg7.php" ?>
<?php include "ewmysql7.php" ?>
<?php include "phpfn7.php" ?>
<?php include "CPDServiceProviderinfo.php" ?>
<?php include "adminusersinfo.php" ?>
<?php include "userfn7.php" ?>
<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Always modified
header("Cache-Control: private, no-store, no-cache, must-revalidate"); // HTTP/1.1 
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"); // HTTP/1.0
?>
<?php

// Create page object
$CPDServiceProvider_list = new cCPDServiceProvider_list();
$Page =& $CPDServiceProvider_list;

// Page init
$CPDServiceProvider_list->Page_Init();

// Page main
$CPDServiceProvider_list->Page_Main();
?>
<?php include "header.php" ?>
<?php if ($CPDServiceProvider->Export == "") { ?>
<script type="text/javascript">
<!--

// Create page object
var CPDServiceProvider_list = new ew_Page("CPDServiceProvider_list");

// page properties
CPDServiceProvider_list.PageID = "list"; // page ID
CPDServiceProvider_list.FormID = "fCPDServiceProviderlist"; // form ID
var EW_PAGE_ID = CPDServiceProvider_list.PageID; // for backward compatibility

// extend page with validate function for search
CPDServiceProvider_list.ValidateSearch = function(fobj) {
	ew_PostAutoSuggest(fobj);
	if (this.ValidateRequired) {
		var infix = "";
		elm = fobj.elements["x" + infix + "_DateAssessed"];
		if (elm && !ew_CheckDate(elm.value))
			return ew_OnError(this, elm, "<?php echo ew_JsEncode2($CPDServiceProvider->DateAssessed->FldErrMsg()) ?>");

		// Call Form Custom Validate event
		if (!this.Form_CustomValidate(fobj))
			return false;
	}
	for (var i=0; i<fobj.elements.length; i++) {
		var elem = fobj.elements[i];
		if (elem.name.substring(0,2) == "s_" || elem.name.substring(0,3) == "sv_")
			elem.value = "";
	}
	return true;
}

// extend page with Form_CustomValidate function
CPDServiceProvider_list.Form_CustomValidate =  
 function(fobj) { // DO NOT CHANGE THIS LINE!

 	// Your custom validation code here, return false if invalid. 
 	return true;
 }
<?php if (EW_CLIENT_VALIDATE) { ?>
CPDServiceProvider_list.ValidateRequired = true; // uses JavaScript validation
<?php } else { ?>
CPDServiceProvider_list.ValidateRequired = false; // no JavaScript validation
<?php } ?>

//-->
</script>
<link rel="stylesheet" type="text/css" media="all" href="calendar/calendar-win2k-cold-1.css" title="win2k-1">
<script type="text/javascript" src="calendar/calendar.js"></script>
<script type="text/javascript" src="calendar/lang/calendar-en.js"></script>
<script type="text/javascript" src="calendar/calendar-setup.js"></script>
<script type="text/javascript">
<!--
var ew_DHTMLEditors = [];

//-->
</script>
<script language="JavaScript" type="text/javascript">
<!--

// Write your client script here, no need to add script tags.
// To include another .js script, use:
// ew_ClientScriptInclude("my_javascript.js"); 
//-->

</script>
<?php } ?>
<?php if ($CPDServiceProvider->Export == "") { ?>
<?php } ?>
<?php
	$bSelectLimit = EW_SELECT_LIMIT;
	if ($bSelectLimit) {
		$CPDServiceProvider_list->lTotalRecs = $CPDServiceProvider->SelectRecordCount();
	} else {
		if ($rs = $CPDServiceProvider_list->LoadRecordset())
			$CPDServiceProvider_list->lTotalRecs = $rs->RecordCount();
	}
	$CPDServiceProvider_list->lStartRec = 1;
	if ($CPDServiceProvider_list->lDisplayRecs <= 0 || ($CPDServiceProvider->Export <> "" && $CPDServiceProvider->ExportAll)) // Display all records
		$CPDServiceProvider_list->lDisplayRecs = $CPDServiceProvider_list->lTotalRecs;
	if (!($CPDServiceProvider->Export <> "" && $CPDServiceProvider->ExportAll))
		$CPDServiceProvider_list->SetUpStartRec(); // Set up start record position
	if ($bSelectLimit)
		$rs = $CPDServiceProvider_list->LoadRecordset($CPDServiceProvider_list->lStartRec-1, $CPDServiceProvider_list->lDisplayRecs);
?>
<p><span class="phpmaker" style="white-space: nowrap;"><?php echo $Language->Phrase("TblTypeTABLE") ?><?php echo $CPDServiceProvider->TableCaption() ?>
<?php if ($CPDServiceProvider->Export == "" && $CPDServiceProvider->CurrentAction == "") { ?>
&nbsp;&nbsp;<a href="<?php echo $CPDServiceProvider_list->ExportPrintUrl ?>"><img src="images/print.gif" alt="<?php echo ew_HtmlEncode($Language->Phrase("PrinterFriendly")) ?>" title="<?php echo ew_HtmlEncode($Language->Phrase("PrinterFriendly")) ?>" width="16" height="16" border="0"></a>
&nbsp;&nbsp;<a href="<?php echo $CPDServiceProvider_list->ExportExcelUrl ?>"><img src='images/exportxls.gif' alt='<?php echo ew_HtmlEncode($Language->Phrase("ExportToExcel")) ?>' title='<?php echo ew_HtmlEncode($Language->Phrase("ExportToExcel")) ?>' width='16' height='16' border='0'></a>
&nbsp;&nbsp;<a href="<?php echo $CPDServiceProvider_list->ExportWordUrl ?>"><img src='images/exportdoc.gif' alt='<?php echo ew_HtmlEncode($Language->Phrase("ExportToWord")) ?>' title='<?php echo ew_HtmlEncode($Language->Phrase("ExportToWord")) ?>' width='16' height='16' border='0'></a>
&nbsp;&nbsp;<a name="emf_CPDServiceProvider" id="emf_CPDServiceProvider" href="javascript:void(0);" onclick="ew_EmailDialogShow({lnk:'emf_CPDServiceProvider',hdr:ewLanguage.Phrase('ExportToEmail'),f:document.fCPDServiceProviderlist,sel:false});"><img src='images/exportemail.gif' alt='<?php echo ew_HtmlEncode($Language->Phrase("ExportToEmail")) ?>' title='<?php echo ew_HtmlEncode($Language->Phrase("ExportToEmail")) ?>' width='16' height='16' border='0'></a>
<?php } ?>
</span></p>
<?php if ($Security->CanSearch()) { ?>
<?php if ($CPDServiceProvider->Export == "" && $CPDServiceProvider->CurrentAction == "") { ?>
<a href="javascript:ew_ToggleSearchPanel(CPDServiceProvider_list);" style="text-decoration: none;"><img id="CPDServiceProvider_list_SearchImage" src="images/collapse.gif" alt="" width="9" height="9" border="0"></a><span class="phpmaker">&nbsp;<?php echo $Language->Phrase("Search") ?></span><br>
<div id="CPDServiceProvider_list_SearchPanel">
<form name="fCPDServiceProviderlistsrch" id="fCPDServiceProviderlistsrch" class="ewForm" action="<?php echo ew_CurrentPage() ?>" onsubmit="return CPDServiceProvider_list.ValidateSearch(this);">
<input type="hidden" id="t" name="t" value="CPDServiceProvider">
<?php
if ($gsSearchError == "")
	$CPDServiceProvider_list->LoadAdvancedSearch(); // Load advanced search

// Render for search
$CPDServiceProvider->RowType = EW_ROWTYPE_SEARCH;

// Render row
$CPDServiceProvider_list->RenderRow();
?>
<table class="ewBasicSearch">
	<tr>
		<td><span class="phpmaker"><?php echo $CPDServiceProvider->CompanyName->FldCaption() ?></span></td>
		<td><span class="ewSearchOpr"><?php echo $Language->Phrase("LIKE") ?><input type="hidden" name="z_CompanyName" id="z_CompanyName" value="LIKE"></span></td>
		<td>			
			<div style="white-space: nowrap;">
				<span class="phpmaker" style="float: left;">
<input type="text" name="x_CompanyName" id="x_CompanyName" title="<?php echo $CPDServiceProvider->CompanyName->FldTitle() ?>" size="30" maxlength="255" value="<?php echo $CPDServiceProvider->CompanyName->EditValue ?>"<?php echo $CPDServiceProvider->CompanyName->EditAttributes() ?>>
</span>
			</div>
		</td>
	</tr>
	<tr>
		<td><span class="phpmaker"><?php echo $CPDServiceProvider->TradingAs->FldCaption() ?></span></td>
		<td><span class="ewSearchOpr"><?php echo $Language->Phrase("LIKE") ?><input type="hidden" name="z_TradingAs" id="z_TradingAs" value="LIKE"></span></td>
		<td>			
			<div style="white-space: nowrap;">
				<span class="phpmaker" style="float: left;">
<input type="text" name="x_TradingAs" id="x_TradingAs" title="<?php echo $CPDServiceProvider->TradingAs->FldTitle() ?>" size="30" maxlength="255" value="<?php echo $CPDServiceProvider->TradingAs->EditValue ?>"<?php echo $CPDServiceProvider->TradingAs->EditAttributes() ?>>
</span>
			</div>
		</td>
	</tr>
	<tr>
		<td><span class="phpmaker"><?php echo $CPDServiceProvider->ContactSurname->FldCaption() ?></span></td>
		<td><span class="ewSearchOpr"><?php echo $Language->Phrase("LIKE") ?><input type="hidden" name="z_ContactSurname" id="z_ContactSurname" value="LIKE"></span></td>
		<td>			
			<div style="white-space: nowrap;">
				<span class="phpmaker" style="float: left;">
<input type="text" name="x_ContactSurname" id="x_ContactSurname" title="<?php echo $CPDServiceProvider->ContactSurname->FldTitle() ?>" size="30" maxlength="255" value="<?php echo $CPDServiceProvider->ContactSurname->EditValue ?>"<?php echo $CPDServiceProvider->ContactSurname->EditAttributes() ?>>
</span>
			</div>
		</td>
	</tr>
	<tr>
		<td><span class="phpmaker"><?php echo $CPDServiceProvider->Approved->FldCaption() ?></span></td>
		<td><span class="ewSearchOpr"><?php echo $Language->Phrase("LIKE") ?><input type="hidden" name="z_Approved" id="z_Approved" value="LIKE"></span></td>
		<td>			
			<div style="white-space: nowrap;">
				<span class="phpmaker" style="float: left;">
<div id="tp_x_Approved" class="<?php echo EW_ITEM_TEMPLATE_CLASSNAME ?>"><label><input type="radio" name="x_Approved" id="x_Approved" title="<?php echo $CPDServiceProvider->Approved->FldTitle() ?>" value="{value}"<?php echo $CPDServiceProvider->Approved->EditAttributes() ?>></label></div>
<div id="dsl_x_Approved" repeatcolumn="5">
<?php
$arwrk = $CPDServiceProvider->Approved->EditValue;
if (is_array($arwrk)) {
	$rowswrk = count($arwrk);
	$emptywrk = TRUE;
	for ($rowcntwrk = 0; $rowcntwrk < $rowswrk; $rowcntwrk++) {
		$selwrk = (strval($CPDServiceProvider->Approved->AdvancedSearch->SearchValue) == strval($arwrk[$rowcntwrk][0])) ? " checked=\"checked\"" : "";
		if ($selwrk <> "") $emptywrk = FALSE;

		// Note: No spacing within the LABEL tag
?>
<?php echo ew_RepeatColumnTable($rowswrk, $rowcntwrk, 5, 1) ?>
<label><input type="radio" name="x_Approved" id="x_Approved" title="<?php echo $CPDServiceProvider->Approved->FldTitle() ?>" value="<?php echo ew_HtmlEncode($arwrk[$rowcntwrk][0]) ?>"<?php echo $selwrk ?><?php echo $CPDServiceProvider->Approved->EditAttributes() ?>><?php echo $arwrk[$rowcntwrk][1] ?></label>
<?php echo ew_RepeatColumnTable($rowswrk, $rowcntwrk, 5, 2) ?>
<?php
	}
}
?>
</div>
</span>
			</div>
		</td>
	</tr>
	<tr>
		<td><span class="phpmaker"><?php echo $CPDServiceProvider->SPNumber->FldCaption() ?></span></td>
		<td><span class="ewSearchOpr"><?php echo $Language->Phrase("LIKE") ?><input type="hidden" name="z_SPNumber" id="z_SPNumber" value="LIKE"></span></td>
		<td>			
			<div style="white-space: nowrap;">
				<span class="phpmaker" style="float: left;">
<input type="text" name="x_SPNumber" id="x_SPNumber" title="<?php echo $CPDServiceProvider->SPNumber->FldTitle() ?>" size="30" maxlength="50" value="<?php echo $CPDServiceProvider->SPNumber->EditValue ?>"<?php echo $CPDServiceProvider->SPNumber->EditAttributes() ?>>
</span>
			</div>
		</td>
	</tr>
	<tr>
		<td><span class="phpmaker"><?php echo $CPDServiceProvider->DateAssessed->FldCaption() ?></span></td>
		<td><span class="ewSearchOpr"><?php echo $Language->Phrase("BETWEEN") ?><input type="hidden" name="z_DateAssessed" id="z_DateAssessed" value="BETWEEN"></span></td>
		<td>			
			<div style="white-space: nowrap;">
				<span class="phpmaker" style="float: left;">
<input type="text" name="x_DateAssessed" id="x_DateAssessed" title="<?php echo $CPDServiceProvider->DateAssessed->FldTitle() ?>" value="<?php echo $CPDServiceProvider->DateAssessed->EditValue ?>"<?php echo $CPDServiceProvider->DateAssessed->EditAttributes() ?>>
&nbsp;<img src="images/calendar.png" id="cal_x_DateAssessed" name="cal_x_DateAssessed" alt="<?php echo $Language->Phrase("PickDate") ?>" title="<?php echo $Language->Phrase("PickDate") ?>" style="cursor:pointer;cursor:hand;">
<script type="text/javascript">
Calendar.setup({
	inputField: "x_DateAssessed", // input field id
	ifFormat: "%Y/%m/%d", // date format
	button: "cal_x_DateAssessed" // button id
});
</script>
</span>
				<span class="ewSearchOpr" id="btw1_DateAssessed" name="btw1_DateAssessed">&nbsp;<?php echo $Language->Phrase("AND") ?>&nbsp;</span>
				<span class="phpmaker" style="float: left;" id="btw1_DateAssessed" name="btw1_DateAssessed">
<input type="text" name="y_DateAssessed" id="y_DateAssessed" title="<?php echo $CPDServiceProvider->DateAssessed->FldTitle() ?>" value="<?php echo $CPDServiceProvider->DateAssessed->EditValue2 ?>"<?php echo $CPDServiceProvider->DateAssessed->EditAttributes() ?>>
&nbsp;<img src="images/calendar.png" id="cal_y_DateAssessed" name="cal_y_DateAssessed" alt="<?php echo $Language->Phrase("PickDate") ?>" title="<?php echo $Language->Phrase("PickDate") ?>" style="cursor:pointer;cursor:hand;">
<script type="text/javascript">
Calendar.setup({
	inputField: "y_DateAssessed", // input field id
	ifFormat: "%Y/%m/%d", // date format
	button: "cal_y_DateAssessed" // button id
});
</script>
</span>
			</div>
		</td>
	</tr>
</table>
<table class="ewBasicSearch">
	<tr>
		<td><span class="phpmaker">
			<input type="text" name="<?php echo EW_TABLE_BASIC_SEARCH ?>" id="<?php echo EW_TABLE_BASIC_SEARCH ?>" size="20" value="<?php echo ew_HtmlEncode($CPDServiceProvider->getSessionBasicSearchKeyword()) ?>">
			<input type="Submit" name="Submit" id="Submit" value="<?php echo ew_BtnCaption($Language->Phrase("QuickSearchBtn")) ?>">&nbsp;
			<a href="<?php echo $CPDServiceProvider_list->PageUrl() ?>cmd=reset"><?php echo $Language->Phrase("ShowAll") ?></a>&nbsp;
		</span></td>
	</tr>
	<tr>
	<td><span class="phpmaker"><label><input type="radio" name="<?php echo EW_TABLE_BASIC_SEARCH_TYPE ?>" id="<?php echo EW_TABLE_BASIC_SEARCH_TYPE ?>" value=""<?php if ($CPDServiceProvider->getSessionBasicSearchType() == "") { ?> checked="checked"<?php } ?>><?php echo $Language->Phrase("ExactPhrase") ?></label>&nbsp;&nbsp;<label><input type="radio" name="<?php echo EW_TABLE_BASIC_SEARCH_TYPE ?>" id="<?php echo EW_TABLE_BASIC_SEARCH_TYPE ?>" value="AND"<?php if ($CPDServiceProvider->getSessionBasicSearchType() == "AND") { ?> checked="checked"<?php } ?>><?php echo $Language->Phrase("AllWord") ?></label>&nbsp;&nbsp;<label><input type="radio" name="<?php echo EW_TABLE_BASIC_SEARCH_TYPE ?>" id="<?php echo EW_TABLE_BASIC_SEARCH_TYPE ?>" value="OR"<?php if ($CPDServiceProvider->getSessionBasicSearchType() == "OR") { ?> checked="checked"<?php } ?>><?php echo $Language->Phrase("AnyWord") ?></label></span></td>
	</tr>
</table>
</form>
</div>
<?php } ?>
<?php } ?>
<?php
if (EW_DEBUG_ENABLED)
	echo ew_DebugMsg();
$CPDServiceProvider_list->ShowMessage();
?>
<br>
<table cellspacing="0" class="ewGrid"><tr><td class="ewGridContent">
<?php if ($CPDServiceProvider->Export == "") { ?>
<div class="ewGridUpperPanel">
<?php if ($CPDServiceProvider->CurrentAction <> "gridadd" && $CPDServiceProvider->CurrentAction <> "gridedit") { ?>
<form name="ewpagerform" id="ewpagerform" class="ewForm" action="<?php echo ew_CurrentPage() ?>">
<table border="0" cellspacing="0" cellpadding="0" class="ewPager">
	<tr>
		<td nowrap>
<?php if (!isset($CPDServiceProvider_list->Pager)) $CPDServiceProvider_list->Pager = new cPrevNextPager($CPDServiceProvider_list->lStartRec, $CPDServiceProvider_list->lDisplayRecs, $CPDServiceProvider_list->lTotalRecs) ?>
<?php if ($CPDServiceProvider_list->Pager->RecordCount > 0) { ?>
	<table border="0" cellspacing="0" cellpadding="0"><tr><td><span class="phpmaker"><?php echo $Language->Phrase("Page") ?>&nbsp;</span></td>
<!--first page button-->
	<?php if ($CPDServiceProvider_list->Pager->FirstButton->Enabled) { ?>
	<td><a href="<?php echo $CPDServiceProvider_list->PageUrl() ?>start=<?php echo $CPDServiceProvider_list->Pager->FirstButton->Start ?>"><img src="images/first.gif" alt="<?php echo $Language->Phrase("PagerFirst") ?>" width="16" height="16" border="0"></a></td>
	<?php } else { ?>
	<td><img src="images/firstdisab.gif" alt="<?php echo $Language->Phrase("PagerFirst") ?>" width="16" height="16" border="0"></td>
	<?php } ?>
<!--previous page button-->
	<?php if ($CPDServiceProvider_list->Pager->PrevButton->Enabled) { ?>
	<td><a href="<?php echo $CPDServiceProvider_list->PageUrl() ?>start=<?php echo $CPDServiceProvider_list->Pager->PrevButton->Start ?>"><img src="images/prev.gif" alt="<?php echo $Language->Phrase("PagerPrevious") ?>" width="16" height="16" border="0"></a></td>
	<?php } else { ?>
	<td><img src="images/prevdisab.gif" alt="<?php echo $Language->Phrase("PagerPrevious") ?>" width="16" height="16" border="0"></td>
	<?php } ?>
<!--current page number-->
	<td><input type="text" name="<?php echo EW_TABLE_PAGE_NO ?>" id="<?php echo EW_TABLE_PAGE_NO ?>" value="<?php echo $CPDServiceProvider_list->Pager->CurrentPage ?>" size="4"></td>
<!--next page button-->
	<?php if ($CPDServiceProvider_list->Pager->NextButton->Enabled) { ?>
	<td><a href="<?php echo $CPDServiceProvider_list->PageUrl() ?>start=<?php echo $CPDServiceProvider_list->Pager->NextButton->Start ?>"><img src="images/next.gif" alt="<?php echo $Language->Phrase("PagerNext") ?>" width="16" height="16" border="0"></a></td>	
	<?php } else { ?>
	<td><img src="images/nextdisab.gif" alt="<?php echo $Language->Phrase("PagerNext") ?>" width="16" height="16" border="0"></td>
	<?php } ?>
<!--last page button-->
	<?php if ($CPDServiceProvider_list->Pager->LastButton->Enabled) { ?>
	<td><a href="<?php echo $CPDServiceProvider_list->PageUrl() ?>start=<?php echo $CPDServiceProvider_list->Pager->LastButton->Start ?>"><img src="images/last.gif" alt="<?php echo $Language->Phrase("PagerLast") ?>" width="16" height="16" border="0"></a></td>	
	<?php } else { ?>
	<td><img src="images/lastdisab.gif" alt="<?php echo $Language->Phrase("PagerLast") ?>" width="16" height="16" border="0"></td>
	<?php } ?>
	<td><span class="phpmaker">&nbsp;<?php echo $Language->Phrase("of") ?>&nbsp;<?php echo $CPDServiceProvider_list->Pager->PageCount ?></span></td>
	</tr></table>
	</td>	
	<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
	<td>
	<span class="phpmaker"><?php echo $Language->Phrase("Record") ?>&nbsp;<?php echo $CPDServiceProvider_list->Pager->FromIndex ?>&nbsp;<?php echo $Language->Phrase("To") ?>&nbsp;<?php echo $CPDServiceProvider_list->Pager->ToIndex ?>&nbsp;<?php echo $Language->Phrase("Of") ?>&nbsp;<?php echo $CPDServiceProvider_list->Pager->RecordCount ?></span>
<?php } else { ?>
	<?php if ($Security->CanList()) { ?>
	<?php if ($CPDServiceProvider_list->sSrchWhere == "0=101") { ?>
	<span class="phpmaker"><?php echo $Language->Phrase("EnterSearchCriteria") ?></span>
	<?php } else { ?>
	<span class="phpmaker"><?php echo $Language->Phrase("NoRecord") ?></span>
	<?php } ?>
	<?php } else { ?>
	<span class="phpmaker"><?php echo $Language->Phrase("NoPermission") ?></span>
	<?php } ?>
<?php } ?>
		</td>
	</tr>
</table>
</form>
<?php } ?>
<span class="phpmaker">
<?php if ($Security->CanAdd()) { ?>
<a href="<?php echo $CPDServiceProvider_list->AddUrl ?>"><?php echo $Language->Phrase("AddLink") ?></a>&nbsp;&nbsp;
<?php } ?>
</span>
</div>
<?php } ?>
<form name="fCPDServiceProviderlist" id="fCPDServiceProviderlist" class="ewForm" action="" method="post">
<div id="gmp_CPDServiceProvider" class="ewGridMiddlePanel">
<?php if ($CPDServiceProvider_list->lTotalRecs > 0) { ?>
<table cellspacing="0" rowhighlightclass="ewTableHighlightRow" rowselectclass="ewTableSelectRow" roweditclass="ewTableEditRow" class="ewTable ewTableSeparate">
<?php echo $CPDServiceProvider->TableCustomInnerHtml ?>
<thead><!-- Table header -->
	<tr class="ewTableHeader">
<?php

// Render list options
$CPDServiceProvider_list->RenderListOptions();

// Render list options (header, left)
$CPDServiceProvider_list->ListOptions->Render("header", "left");
?>
<?php if ($CPDServiceProvider->CompanyName->Visible) { // CompanyName ?>
	<?php if ($CPDServiceProvider->SortUrl($CPDServiceProvider->CompanyName) == "") { ?>
		<td><?php echo $CPDServiceProvider->CompanyName->FldCaption() ?></td>
	<?php } else { ?>
		<td><div class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $CPDServiceProvider->SortUrl($CPDServiceProvider->CompanyName) ?>',2);">
			<table cellspacing="0" class="ewTableHeaderBtn"><thead><tr><td><?php echo $CPDServiceProvider->CompanyName->FldCaption() ?></td><td style="width: 10px;"><?php if ($CPDServiceProvider->CompanyName->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($CPDServiceProvider->CompanyName->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></thead></table>
		</div></td>		
	<?php } ?>
<?php } ?>		
<?php if ($CPDServiceProvider->TradingAs->Visible) { // TradingAs ?>
	<?php if ($CPDServiceProvider->SortUrl($CPDServiceProvider->TradingAs) == "") { ?>
		<td><?php echo $CPDServiceProvider->TradingAs->FldCaption() ?></td>
	<?php } else { ?>
		<td><div class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $CPDServiceProvider->SortUrl($CPDServiceProvider->TradingAs) ?>',2);">
			<table cellspacing="0" class="ewTableHeaderBtn"><thead><tr><td><?php echo $CPDServiceProvider->TradingAs->FldCaption() ?><?php echo $Language->Phrase("SrchLegend") ?></td><td style="width: 10px;"><?php if ($CPDServiceProvider->TradingAs->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($CPDServiceProvider->TradingAs->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></thead></table>
		</div></td>		
	<?php } ?>
<?php } ?>		
<?php if ($CPDServiceProvider->EmailAddress->Visible) { // EmailAddress ?>
	<?php if ($CPDServiceProvider->SortUrl($CPDServiceProvider->EmailAddress) == "") { ?>
		<td><?php echo $CPDServiceProvider->EmailAddress->FldCaption() ?></td>
	<?php } else { ?>
		<td><div class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $CPDServiceProvider->SortUrl($CPDServiceProvider->EmailAddress) ?>',2);">
			<table cellspacing="0" class="ewTableHeaderBtn"><thead><tr><td><?php echo $CPDServiceProvider->EmailAddress->FldCaption() ?></td><td style="width: 10px;"><?php if ($CPDServiceProvider->EmailAddress->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($CPDServiceProvider->EmailAddress->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></thead></table>
		</div></td>		
	<?php } ?>
<?php } ?>		
<?php if ($CPDServiceProvider->ContactFirstName->Visible) { // ContactFirstName ?>
	<?php if ($CPDServiceProvider->SortUrl($CPDServiceProvider->ContactFirstName) == "") { ?>
		<td><?php echo $CPDServiceProvider->ContactFirstName->FldCaption() ?></td>
	<?php } else { ?>
		<td><div class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $CPDServiceProvider->SortUrl($CPDServiceProvider->ContactFirstName) ?>',2);">
			<table cellspacing="0" class="ewTableHeaderBtn"><thead><tr><td><?php echo $CPDServiceProvider->ContactFirstName->FldCaption() ?></td><td style="width: 10px;"><?php if ($CPDServiceProvider->ContactFirstName->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($CPDServiceProvider->ContactFirstName->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></thead></table>
		</div></td>		
	<?php } ?>
<?php } ?>		
<?php if ($CPDServiceProvider->ContactSurname->Visible) { // ContactSurname ?>
	<?php if ($CPDServiceProvider->SortUrl($CPDServiceProvider->ContactSurname) == "") { ?>
		<td><?php echo $CPDServiceProvider->ContactSurname->FldCaption() ?></td>
	<?php } else { ?>
		<td><div class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $CPDServiceProvider->SortUrl($CPDServiceProvider->ContactSurname) ?>',2);">
			<table cellspacing="0" class="ewTableHeaderBtn"><thead><tr><td><?php echo $CPDServiceProvider->ContactSurname->FldCaption() ?></td><td style="width: 10px;"><?php if ($CPDServiceProvider->ContactSurname->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($CPDServiceProvider->ContactSurname->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></thead></table>
		</div></td>		
	<?php } ?>
<?php } ?>		
<?php if ($CPDServiceProvider->Approved->Visible) { // Approved ?>
	<?php if ($CPDServiceProvider->SortUrl($CPDServiceProvider->Approved) == "") { ?>
		<td><?php echo $CPDServiceProvider->Approved->FldCaption() ?></td>
	<?php } else { ?>
		<td><div class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $CPDServiceProvider->SortUrl($CPDServiceProvider->Approved) ?>',2);">
			<table cellspacing="0" class="ewTableHeaderBtn"><thead><tr><td><?php echo $CPDServiceProvider->Approved->FldCaption() ?></td><td style="width: 10px;"><?php if ($CPDServiceProvider->Approved->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($CPDServiceProvider->Approved->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></thead></table>
		</div></td>		
	<?php } ?>
<?php } ?>		
<?php if ($CPDServiceProvider->SPNumber->Visible) { // SPNumber ?>
	<?php if ($CPDServiceProvider->SortUrl($CPDServiceProvider->SPNumber) == "") { ?>
		<td><?php echo $CPDServiceProvider->SPNumber->FldCaption() ?></td>
	<?php } else { ?>
		<td><div class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $CPDServiceProvider->SortUrl($CPDServiceProvider->SPNumber) ?>',2);">
			<table cellspacing="0" class="ewTableHeaderBtn"><thead><tr><td><?php echo $CPDServiceProvider->SPNumber->FldCaption() ?><?php echo $Language->Phrase("SrchLegend") ?></td><td style="width: 10px;"><?php if ($CPDServiceProvider->SPNumber->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($CPDServiceProvider->SPNumber->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></thead></table>
		</div></td>		
	<?php } ?>
<?php } ?>		
<?php if ($CPDServiceProvider->DateAssessed->Visible) { // DateAssessed ?>
	<?php if ($CPDServiceProvider->SortUrl($CPDServiceProvider->DateAssessed) == "") { ?>
		<td><?php echo $CPDServiceProvider->DateAssessed->FldCaption() ?></td>
	<?php } else { ?>
		<td><div class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $CPDServiceProvider->SortUrl($CPDServiceProvider->DateAssessed) ?>',2);">
			<table cellspacing="0" class="ewTableHeaderBtn"><thead><tr><td><?php echo $CPDServiceProvider->DateAssessed->FldCaption() ?></td><td style="width: 10px;"><?php if ($CPDServiceProvider->DateAssessed->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($CPDServiceProvider->DateAssessed->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></thead></table>
		</div></td>		
	<?php } ?>
<?php } ?>		
<?php if ($CPDServiceProvider->DateExpires->Visible) { // DateExpires ?>
	<?php if ($CPDServiceProvider->SortUrl($CPDServiceProvider->DateExpires) == "") { ?>
		<td><?php echo $CPDServiceProvider->DateExpires->FldCaption() ?></td>
	<?php } else { ?>
		<td><div class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $CPDServiceProvider->SortUrl($CPDServiceProvider->DateExpires) ?>',2);">
			<table cellspacing="0" class="ewTableHeaderBtn"><thead><tr><td><?php echo $CPDServiceProvider->DateExpires->FldCaption() ?></td><td style="width: 10px;"><?php if ($CPDServiceProvider->DateExpires->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($CPDServiceProvider->DateExpires->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></thead></table>
		</div></td>		
	<?php } ?>
<?php } ?>		
<?php

// Render list options (header, right)
$CPDServiceProvider_list->ListOptions->Render("header", "right");
?>
	</tr>
</thead>
<?php
if ($CPDServiceProvider->ExportAll && $CPDServiceProvider->Export <> "") {
	$CPDServiceProvider_list->lStopRec = $CPDServiceProvider_list->lTotalRecs;
} else {
	$CPDServiceProvider_list->lStopRec = $CPDServiceProvider_list->lStartRec + $CPDServiceProvider_list->lDisplayRecs - 1; // Set the last record to display
}
$CPDServiceProvider_list->lRecCount = $CPDServiceProvider_list->lStartRec - 1;
if ($rs && !$rs->EOF) {
	$rs->MoveFirst();
	if (!$bSelectLimit && $CPDServiceProvider_list->lStartRec > 1)
		$rs->Move($CPDServiceProvider_list->lStartRec - 1);
}

// Initialize aggregate
$CPDServiceProvider->RowType = EW_ROWTYPE_AGGREGATEINIT;
$CPDServiceProvider_list->RenderRow();
$CPDServiceProvider_list->lRowCnt = 0;
while (($CPDServiceProvider->CurrentAction == "gridadd" || !$rs->EOF) &&
	$CPDServiceProvider_list->lRecCount < $CPDServiceProvider_list->lStopRec) {
	$CPDServiceProvider_list->lRecCount++;
	if (intval($CPDServiceProvider_list->lRecCount) >= intval($CPDServiceProvider_list->lStartRec)) {
		$CPDServiceProvider_list->lRowCnt++;

	// Init row class and style
	$CPDServiceProvider->CssClass = "";
	$CPDServiceProvider->CssStyle = "";
	$CPDServiceProvider->RowAttrs = array('onmouseover'=>'ew_MouseOver(event, this);', 'onmouseout'=>'ew_MouseOut(event, this);', 'onclick'=>'ew_Click(event, this);');
	if ($CPDServiceProvider->CurrentAction == "gridadd") {
		$CPDServiceProvider_list->LoadDefaultValues(); // Load default values
	} else {
		$CPDServiceProvider_list->LoadRowValues($rs); // Load row values
	}
	$CPDServiceProvider->RowType = EW_ROWTYPE_VIEW; // Render view

	// Render row
	$CPDServiceProvider_list->RenderRow();

	// Render list options
	$CPDServiceProvider_list->RenderListOptions();
?>
	<tr<?php echo $CPDServiceProvider->RowAttributes() ?>>
<?php

// Render list options (body, left)
$CPDServiceProvider_list->ListOptions->Render("body", "left");
?>
	<?php if ($CPDServiceProvider->CompanyName->Visible) { // CompanyName ?>
		<td<?php echo $CPDServiceProvider->CompanyName->CellAttributes() ?>>
<div<?php echo $CPDServiceProvider->CompanyName->ViewAttributes() ?>><?php echo $CPDServiceProvider->CompanyName->ListViewValue() ?></div>
</td>
	<?php } ?>
	<?php if ($CPDServiceProvider->TradingAs->Visible) { // TradingAs ?>
		<td<?php echo $CPDServiceProvider->TradingAs->CellAttributes() ?>>
<div<?php echo $CPDServiceProvider->TradingAs->ViewAttributes() ?>><?php echo $CPDServiceProvider->TradingAs->ListViewValue() ?></div>
</td>
	<?php } ?>
	<?php if ($CPDServiceProvider->EmailAddress->Visible) { // EmailAddress ?>
		<td<?php echo $CPDServiceProvider->EmailAddress->CellAttributes() ?>>
<div<?php echo $CPDServiceProvider->EmailAddress->ViewAttributes() ?>><?php echo $CPDServiceProvider->EmailAddress->ListViewValue() ?></div>
</td>
	<?php } ?>
	<?php if ($CPDServiceProvider->ContactFirstName->Visible) { // ContactFirstName ?>
		<td<?php echo $CPDServiceProvider->ContactFirstName->CellAttributes() ?>>
<div<?php echo $CPDServiceProvider->ContactFirstName->ViewAttributes() ?>><?php echo $CPDServiceProvider->ContactFirstName->ListViewValue() ?></div>
</td>
	<?php } ?>
	<?php if ($CPDServiceProvider->ContactSurname->Visible) { // ContactSurname ?>
		<td<?php echo $CPDServiceProvider->ContactSurname->CellAttributes() ?>>
<div<?php echo $CPDServiceProvider->ContactSurname->ViewAttributes() ?>><?php echo $CPDServiceProvider->ContactSurname->ListViewValue() ?></div>
</td>
	<?php } ?>
	<?php if ($CPDServiceProvider->Approved->Visible) { // Approved ?>
		<td<?php echo $CPDServiceProvider->Approved->CellAttributes() ?>>
<div<?php echo $CPDServiceProvider->Approved->ViewAttributes() ?>><?php echo $CPDServiceProvider->Approved->ListViewValue() ?></div>
</td>
	<?php } ?>
	<?php if ($CPDServiceProvider->SPNumber->Visible) { // SPNumber ?>
		<td<?php echo $CPDServiceProvider->SPNumber->CellAttributes() ?>>
<div<?php echo $CPDServiceProvider->SPNumber->ViewAttributes() ?>><?php echo $CPDServiceProvider->SPNumber->ListViewValue() ?></div>
</td>
	<?php } ?>
	<?php if ($CPDServiceProvider->DateAssessed->Visible) { // DateAssessed ?>
		<td<?php echo $CPDServiceProvider->DateAssessed->CellAttributes() ?>>
<div<?php echo $CPDServiceProvider->DateAssessed->ViewAttributes() ?>><?php echo $CPDServiceProvider->DateAssessed->ListViewValue() ?></div>
</td>
	<?php } ?>
	<?php if ($CPDServiceProvider->DateExpires->Visible) { // DateExpires ?>
		<td<?php echo $CPDServiceProvider->DateExpires->CellAttributes() ?>>
<div<?php echo $CPDServiceProvider->DateExpires->ViewAttributes() ?>><?php echo $CPDServiceProvider->DateExpires->ListViewValue() ?></div>
</td>
	<?php } ?>
<?php

// Render list options (body, right)
$CPDServiceProvider_list->ListOptions->Render("body", "right");
?>
	</tr>
<?php
	}
	if ($CPDServiceProvider->CurrentAction <> "gridadd")
		$rs->MoveNext();
}
?>
</tbody>
</table>
<?php } ?>
</div>
</form>
<?php

// Close recordset
if ($rs)
	$rs->Close();
?>
<?php if ($CPDServiceProvider_list->lTotalRecs > 0) { ?>
<?php if ($CPDServiceProvider->Export == "") { ?>
<div class="ewGridLowerPanel">
<?php if ($CPDServiceProvider->CurrentAction <> "gridadd" && $CPDServiceProvider->CurrentAction <> "gridedit") { ?>
<form name="ewpagerform" id="ewpagerform" class="ewForm" action="<?php echo ew_CurrentPage() ?>">
<table border="0" cellspacing="0" cellpadding="0" class="ewPager">
	<tr>
		<td nowrap>
<?php if (!isset($CPDServiceProvider_list->Pager)) $CPDServiceProvider_list->Pager = new cPrevNextPager($CPDServiceProvider_list->lStartRec, $CPDServiceProvider_list->lDisplayRecs, $CPDServiceProvider_list->lTotalRecs) ?>
<?php if ($CPDServiceProvider_list->Pager->RecordCount > 0) { ?>
	<table border="0" cellspacing="0" cellpadding="0"><tr><td><span class="phpmaker"><?php echo $Language->Phrase("Page") ?>&nbsp;</span></td>
<!--first page button-->
	<?php if ($CPDServiceProvider_list->Pager->FirstButton->Enabled) { ?>
	<td><a href="<?php echo $CPDServiceProvider_list->PageUrl() ?>start=<?php echo $CPDServiceProvider_list->Pager->FirstButton->Start ?>"><img src="images/first.gif" alt="<?php echo $Language->Phrase("PagerFirst") ?>" width="16" height="16" border="0"></a></td>
	<?php } else { ?>
	<td><img src="images/firstdisab.gif" alt="<?php echo $Language->Phrase("PagerFirst") ?>" width="16" height="16" border="0"></td>
	<?php } ?>
<!--previous page button-->
	<?php if ($CPDServiceProvider_list->Pager->PrevButton->Enabled) { ?>
	<td><a href="<?php echo $CPDServiceProvider_list->PageUrl() ?>start=<?php echo $CPDServiceProvider_list->Pager->PrevButton->Start ?>"><img src="images/prev.gif" alt="<?php echo $Language->Phrase("PagerPrevious") ?>" width="16" height="16" border="0"></a></td>
	<?php } else { ?>
	<td><img src="images/prevdisab.gif" alt="<?php echo $Language->Phrase("PagerPrevious") ?>" width="16" height="16" border="0"></td>
	<?php } ?>
<!--current page number-->
	<td><input type="text" name="<?php echo EW_TABLE_PAGE_NO ?>" id="<?php echo EW_TABLE_PAGE_NO ?>" value="<?php echo $CPDServiceProvider_list->Pager->CurrentPage ?>" size="4"></td>
<!--next page button-->
	<?php if ($CPDServiceProvider_list->Pager->NextButton->Enabled) { ?>
	<td><a href="<?php echo $CPDServiceProvider_list->PageUrl() ?>start=<?php echo $CPDServiceProvider_list->Pager->NextButton->Start ?>"><img src="images/next.gif" alt="<?php echo $Language->Phrase("PagerNext") ?>" width="16" height="16" border="0"></a></td>	
	<?php } else { ?>
	<td><img src="images/nextdisab.gif" alt="<?php echo $Language->Phrase("PagerNext") ?>" width="16" height="16" border="0"></td>
	<?php } ?>
<!--last page button-->
	<?php if ($CPDServiceProvider_list->Pager->LastButton->Enabled) { ?>
	<td><a href="<?php echo $CPDServiceProvider_list->PageUrl() ?>start=<?php echo $CPDServiceProvider_list->Pager->LastButton->Start ?>"><img src="images/last.gif" alt="<?php echo $Language->Phrase("PagerLast") ?>" width="16" height="16" border="0"></a></td>	
	<?php } else { ?>
	<td><img src="images/lastdisab.gif" alt="<?php echo $Language->Phrase("PagerLast") ?>" width="16" height="16" border="0"></td>
	<?php } ?>
	<td><span class="phpmaker">&nbsp;<?php echo $Language->Phrase("of") ?>&nbsp;<?php echo $CPDServiceProvider_list->Pager->PageCount ?></span></td>
	</tr></table>
	</td>	
	<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
	<td>
	<span class="phpmaker"><?php echo $Language->Phrase("Record") ?>&nbsp;<?php echo $CPDServiceProvider_list->Pager->FromIndex ?>&nbsp;<?php echo $Language->Phrase("To") ?>&nbsp;<?php echo $CPDServiceProvider_list->Pager->ToIndex ?>&nbsp;<?php echo $Language->Phrase("Of") ?>&nbsp;<?php echo $CPDServiceProvider_list->Pager->RecordCount ?></span>
<?php } else { ?>
	<?php if ($Security->CanList()) { ?>
	<?php if ($CPDServiceProvider_list->sSrchWhere == "0=101") { ?>
	<span class="phpmaker"><?php echo $Language->Phrase("EnterSearchCriteria") ?></span>
	<?php } else { ?>
	<span class="phpmaker"><?php echo $Language->Phrase("NoRecord") ?></span>
	<?php } ?>
	<?php } else { ?>
	<span class="phpmaker"><?php echo $Language->Phrase("NoPermission") ?></span>
	<?php } ?>
<?php } ?>
		</td>
	</tr>
</table>
</form>
<?php } ?>
<?php //if ($CPDServiceProvider_list->lTotalRecs > 0) { ?>
<span class="phpmaker">
<?php if ($Security->CanAdd()) { ?>
<a href="<?php echo $CPDServiceProvider_list->AddUrl ?>"><?php echo $Language->Phrase("AddLink") ?></a>&nbsp;&nbsp;
<?php } ?>
</span>
<?php //} ?>
</div>
<?php } ?>
<?php } ?>
</td></tr></table>
<?php if ($CPDServiceProvider->Export == "" && $CPDServiceProvider->CurrentAction == "") { ?>
<?php } ?>
<?php if ($CPDServiceProvider->Export == "") { ?>
<script language="JavaScript" type="text/javascript">
<!--

// Write your table-specific startup script here
// document.write("page loaded");
//-->

</script>
<?php } ?>
<?php include "footer.php" ?>
<?php
$CPDServiceProvider_list->Page_Terminate();
?>
<?php

//
// Page class
//
class cCPDServiceProvider_list {

	// Page ID
	var $PageID = 'list';

	// Table name
	var $TableName = 'CPDServiceProvider';

	// Page object name
	var $PageObjName = 'CPDServiceProvider_list';

	// Page name
	function PageName() {
		return ew_CurrentPage();
	}

	// Page URL
	function PageUrl() {
		$PageUrl = ew_CurrentPage() . "?";
		global $CPDServiceProvider;
		if ($CPDServiceProvider->UseTokenInUrl) $PageUrl .= "t=" . $CPDServiceProvider->TableVar . "&"; // Add page token
		return $PageUrl;
	}

	// Page URLs
	var $AddUrl;
	var $EditUrl;
	var $CopyUrl;
	var $DeleteUrl;
	var $ViewUrl;
	var $ListUrl;

	// Export URLs
	var $ExportPrintUrl;
	var $ExportHtmlUrl;
	var $ExportExcelUrl;
	var $ExportWordUrl;
	var $ExportXmlUrl;
	var $ExportCsvUrl;

	// Update URLs
	var $InlineAddUrl;
	var $InlineCopyUrl;
	var $InlineEditUrl;
	var $GridAddUrl;
	var $GridEditUrl;
	var $MultiDeleteUrl;
	var $MultiUpdateUrl;

	// Message
	function getMessage() {
		return @$_SESSION[EW_SESSION_MESSAGE];
	}

	function setMessage($v) {
		if (@$_SESSION[EW_SESSION_MESSAGE] <> "") { // Append
			$_SESSION[EW_SESSION_MESSAGE] .= "<br>" . $v;
		} else {
			$_SESSION[EW_SESSION_MESSAGE] = $v;
		}
	}

	// Show message
	function ShowMessage() {
		$sMessage = $this->getMessage();
		$this->Message_Showing($sMessage);
		if ($sMessage <> "") { // Message in Session, display
			echo "<p><span class=\"ewMessage\">" . $sMessage . "</span></p>";
			$_SESSION[EW_SESSION_MESSAGE] = ""; // Clear message in Session
		}
	}

	// Validate page request
	function IsPageRequest() {
		global $objForm, $CPDServiceProvider;
		if ($CPDServiceProvider->UseTokenInUrl) {
			if ($objForm)
				return ($CPDServiceProvider->TableVar == $objForm->GetValue("t"));
			if (@$_GET["t"] <> "")
				return ($CPDServiceProvider->TableVar == $_GET["t"]);
		} else {
			return TRUE;
		}
	}

	//
	// Page class constructor
	//
	function __construct() {
		global $conn, $Language;

		// Language object
		$Language = new cLanguage();

		// Table object (CPDServiceProvider)
		$GLOBALS["CPDServiceProvider"] = new cCPDServiceProvider();

		// Initialize URLs
		$this->ExportPrintUrl = $this->PageUrl() . "export=print";
		$this->ExportExcelUrl = $this->PageUrl() . "export=excel";
		$this->ExportWordUrl = $this->PageUrl() . "export=word";
		$this->ExportHtmlUrl = $this->PageUrl() . "export=html";
		$this->ExportXmlUrl = $this->PageUrl() . "export=xml";
		$this->ExportCsvUrl = $this->PageUrl() . "export=csv";
		$this->AddUrl = $GLOBALS["CPDServiceProvider"]->AddUrl();
		$this->InlineAddUrl = $this->PageUrl() . "a=add";
		$this->GridAddUrl = $this->PageUrl() . "a=gridadd";
		$this->GridEditUrl = $this->PageUrl() . "a=gridedit";
		$this->MultiDeleteUrl = "CPDServiceProviderdelete.php";
		$this->MultiUpdateUrl = "CPDServiceProviderupdate.php";

		// Table object (adminusers)
		$GLOBALS['adminusers'] = new cadminusers();

		// Page ID
		if (!defined("EW_PAGE_ID"))
			define("EW_PAGE_ID", 'list', TRUE);

		// Table name (for backward compatibility)
		if (!defined("EW_TABLE_NAME"))
			define("EW_TABLE_NAME", 'CPDServiceProvider', TRUE);

		// Start timer
		$GLOBALS["gsTimer"] = new cTimer();

		// Open connection
		$conn = ew_Connect();

		// List options
		$this->ListOptions = new cListOptions();
	}

	// 
	//  Page_Init
	//
	function Page_Init() {
		global $gsExport, $gsExportFile, $UserProfile, $Language, $Security, $objForm;
		global $CPDServiceProvider;

		// Security
		$Security = new cAdvancedSecurity();
		if (!$Security->IsLoggedIn()) $Security->AutoLogin();
		if (!$Security->IsLoggedIn()) {
			$Security->SaveLastUrl();
			$this->Page_Terminate("login.php");
		}
		$Security->TablePermission_Loading();
		$Security->LoadCurrentUserLevel($this->TableName);
		$Security->TablePermission_Loaded();
		if (!$Security->IsLoggedIn()) {
			$Security->SaveLastUrl();
			$this->Page_Terminate("login.php");
		}
		if (!$Security->CanList()) {
			$Security->SaveLastUrl();
			$this->Page_Terminate("login.php");
		}
		$Security->UserID_Loading();
		if ($Security->IsLoggedIn()) $Security->LoadUserID();
		$Security->UserID_Loaded();

		// Get export parameters
		if (@$_GET["export"] <> "") {
			$CPDServiceProvider->Export = $_GET["export"];
		} elseif (ew_IsHttpPost()) {
			if (@$_POST["exporttype"] <> "")
				$CPDServiceProvider->Export = $_POST["exporttype"];
		} else {
			$CPDServiceProvider->setExportReturnUrl(ew_CurrentUrl());
		}
		$gsExport = $CPDServiceProvider->Export; // Get export parameter, used in header
		$gsExportFile = $CPDServiceProvider->TableVar; // Get export file, used in header
		if ($CPDServiceProvider->Export == "excel") {
			header('Content-Type: application/vnd.ms-excel');
			header('Content-Disposition: attachment; filename=' . $gsExportFile .'.xls');
		}
		if ($CPDServiceProvider->Export == "word") {
			header('Content-Type: application/vnd.ms-word');
			header('Content-Disposition: attachment; filename=' . $gsExportFile .'.doc');
		}

		// Global Page Loading event (in userfn*.php)
		Page_Loading();

		// Page Load event
		$this->Page_Load();
	}

	//
	// Page_Terminate
	//
	function Page_Terminate($url = "") {
		global $conn;

		// Page Unload event
		$this->Page_Unload();

		// Global Page Unloaded event (in userfn*.php)
		Page_Unloaded();

		 // Close connection
		$conn->Close();

		// Go to URL if specified
		$this->Page_Redirecting($url);
		if ($url <> "") {
			if (!EW_DEBUG_ENABLED && ob_get_length())
				ob_end_clean();
			header("Location: " . $url);
		}
		exit();
	}

	// Class variables
	var $ListOptions; // List options
	var $lDisplayRecs = 20;
	var $lStartRec;
	var $lStopRec;
	var $lTotalRecs = 0;
	var $lRecRange = 10;
	var $sSrchWhere = ""; // Search WHERE clause
	var $lRecCnt = 0; // Record count
	var $lEditRowCnt;
	var $lRowCnt;
	var $lRowIndex; // Row index
	var $lRecPerRow = 0;
	var $lColCnt = 0;
	var $sDbMasterFilter = ""; // Master filter
	var $sDbDetailFilter = ""; // Detail filter
	var $bMasterRecordExists;	
	var $sMultiSelectKey;
	var $RestoreSearch;

	//
	// Page main
	//
	function Page_Main() {
		global $objForm, $Language, $gsSearchError, $Security, $CPDServiceProvider;

		// Search filters
		$sSrchAdvanced = ""; // Advanced search filter
		$sSrchBasic = ""; // Basic search filter
		$sFilter = "";
		if ($this->IsPageRequest()) { // Validate request

			// Handle reset command
			$this->ResetCmd();

			// Set up list options
			$this->SetupListOptions();

			// Get basic search values
			$this->LoadBasicSearchValues();

			// Get and validate search values for advanced search
			$this->LoadSearchValues(); // Get search values
			if (!$this->ValidateSearch())
				$this->setMessage($gsSearchError);

			// Restore search parms from Session
			$this->RestoreSearchParms();

			// Call Recordset SearchValidated event
			$CPDServiceProvider->Recordset_SearchValidated();

			// Set up sorting order
			$this->SetUpSortOrder();

			// Get basic search criteria
			if ($gsSearchError == "")
				$sSrchBasic = $this->BasicSearchWhere();

			// Get search criteria for advanced search
			if ($gsSearchError == "")
				$sSrchAdvanced = $this->AdvancedSearchWhere();
		}

		// Restore display records
		if ($CPDServiceProvider->getRecordsPerPage() <> "") {
			$this->lDisplayRecs = $CPDServiceProvider->getRecordsPerPage(); // Restore from Session
		} else {
			$this->lDisplayRecs = 20; // Load default
		}

		// Load Sorting Order
		$this->LoadSortOrder();

		// Build search criteria
		if ($sSrchAdvanced <> "")
			$this->sSrchWhere = ($this->sSrchWhere <> "") ? "(" . $this->sSrchWhere . ") AND (" . $sSrchAdvanced . ")" : $sSrchAdvanced;
		if ($sSrchBasic <> "")
			$this->sSrchWhere = ($this->sSrchWhere <> "") ? "(" . $this->sSrchWhere . ") AND (" . $sSrchBasic. ")" : $sSrchBasic;

		// Call Recordset_Searching event
		$CPDServiceProvider->Recordset_Searching($this->sSrchWhere);

		// Save search criteria
		if ($this->sSrchWhere <> "") {
			if ($sSrchBasic == "")
				$this->ResetBasicSearchParms();
			if ($sSrchAdvanced == "")
				$this->ResetAdvancedSearchParms();
			$CPDServiceProvider->setSearchWhere($this->sSrchWhere); // Save to Session
			if (!$this->RestoreSearch) {
				$this->lStartRec = 1; // Reset start record counter
				$CPDServiceProvider->setStartRecordNumber($this->lStartRec);
			}
		} else {
			$this->sSrchWhere = $CPDServiceProvider->getSearchWhere();
		}

		// Build filter
		$sFilter = "";
		if (!$Security->CanList())
			$sFilter = "(0=1)"; // Filter all records
		if ($this->sDbDetailFilter <> "")
			$sFilter = ($sFilter <> "") ? "(" . $sFilter . ") AND (" . $this->sDbDetailFilter . ")" : $this->sDbDetailFilter;
		if ($this->sSrchWhere <> "")
			$sFilter = ($sFilter <> "") ? "(" . $sFilter . ") AND (". $this->sSrchWhere . ")" : $this->sSrchWhere;

		// Set up filter in session
		$CPDServiceProvider->setSessionWhere($sFilter);
		$CPDServiceProvider->CurrentFilter = "";

		// Export data only
		if (in_array($CPDServiceProvider->Export, array("html","word","excel","xml","csv","email"))) {
			$this->ExportData();
			if ($CPDServiceProvider->Export <> "email")
				$this->Page_Terminate(); // Terminate response
			exit();
		}
	}

	// Advanced search WHERE clause based on QueryString
	function AdvancedSearchWhere() {
		global $Security, $CPDServiceProvider;
		$sWhere = "";
		if (!$Security->CanSearch()) return "";
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->CPDProviderID, FALSE); // CPDProviderID
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->CompanyName, FALSE); // CompanyName
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->TradingAs, FALSE); // TradingAs
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->PhoneNumber, FALSE); // PhoneNumber
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->CellNumber, FALSE); // CellNumber
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->EmailAddress, FALSE); // EmailAddress
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->Website, FALSE); // Website
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->VATNumber, FALSE); // VATNumber
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->PhysicalAddress1, FALSE); // PhysicalAddress1
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->PhysicalAddress2, FALSE); // PhysicalAddress2
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->PhysicalCity, FALSE); // PhysicalCity
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->PhysicalCode, FALSE); // PhysicalCode
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->PhysicalProvince, FALSE); // PhysicalProvince
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->PhysicalCountry, FALSE); // PhysicalCountry
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->PostalAddress1, FALSE); // PostalAddress1
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->PostalAddress2, FALSE); // PostalAddress2
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->PostalCity, FALSE); // PostalCity
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->PostalCode, FALSE); // PostalCode
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->PostalProvince, FALSE); // PostalProvince
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->PostalCountry, FALSE); // PostalCountry
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->Password, FALSE); // Password
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->UpdatedBy, FALSE); // UpdatedBy
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->Archived, FALSE); // Archived
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->ContactTitle, FALSE); // ContactTitle
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->ContactInitials, FALSE); // ContactInitials
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->ContactFirstName, FALSE); // ContactFirstName
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->ContactSurname, FALSE); // ContactSurname
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->ContactPosition, FALSE); // ContactPosition
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->ContactPhone, FALSE); // ContactPhone
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->ContactCell, FALSE); // ContactCell
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->ContactEmail, FALSE); // ContactEmail
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->ContactIDNum, FALSE); // ContactIDNum
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->AdminTitle, FALSE); // AdminTitle
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->AdminInitials, FALSE); // AdminInitials
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->AdminFirstName, FALSE); // AdminFirstName
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->AdminSurname, FALSE); // AdminSurname
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->AdminPosition, FALSE); // AdminPosition
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->AdminPhone, FALSE); // AdminPhone
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->AdminCell, FALSE); // AdminCell
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->AdminEmail, FALSE); // AdminEmail
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->AdminIDNum, FALSE); // AdminIDNum
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->EvaluatorID, FALSE); // EvaluatorID
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->EvaluatorID2, FALSE); // EvaluatorID2
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->EvaluatorID3, FALSE); // EvaluatorID3
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->Approved, FALSE); // Approved
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->SPNumber, FALSE); // SPNumber
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->DateUpdated, FALSE); // DateUpdated
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->DateAssessed, FALSE); // DateAssessed
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->DateExpires, FALSE); // DateExpires
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->InvoiceCode, FALSE); // InvoiceCode
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->InvoiceNumber, FALSE); // InvoiceNumber
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->Cost, FALSE); // Cost
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->DepositAmt, FALSE); // DepositAmt
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->EvaluatorFee, FALSE); // EvaluatorFee
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->EvaluatorFeeAmount, FALSE); // EvaluatorFeeAmount
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->EvaluatorFeeDate, FALSE); // EvaluatorFeeDate
		$this->BuildSearchSql($sWhere, $CPDServiceProvider->Comments, FALSE); // Comments

		// Set up search parm
		if ($sWhere <> "") {
			$this->SetSearchParm($CPDServiceProvider->CPDProviderID); // CPDProviderID
			$this->SetSearchParm($CPDServiceProvider->CompanyName); // CompanyName
			$this->SetSearchParm($CPDServiceProvider->TradingAs); // TradingAs
			$this->SetSearchParm($CPDServiceProvider->PhoneNumber); // PhoneNumber
			$this->SetSearchParm($CPDServiceProvider->CellNumber); // CellNumber
			$this->SetSearchParm($CPDServiceProvider->EmailAddress); // EmailAddress
			$this->SetSearchParm($CPDServiceProvider->Website); // Website
			$this->SetSearchParm($CPDServiceProvider->VATNumber); // VATNumber
			$this->SetSearchParm($CPDServiceProvider->PhysicalAddress1); // PhysicalAddress1
			$this->SetSearchParm($CPDServiceProvider->PhysicalAddress2); // PhysicalAddress2
			$this->SetSearchParm($CPDServiceProvider->PhysicalCity); // PhysicalCity
			$this->SetSearchParm($CPDServiceProvider->PhysicalCode); // PhysicalCode
			$this->SetSearchParm($CPDServiceProvider->PhysicalProvince); // PhysicalProvince
			$this->SetSearchParm($CPDServiceProvider->PhysicalCountry); // PhysicalCountry
			$this->SetSearchParm($CPDServiceProvider->PostalAddress1); // PostalAddress1
			$this->SetSearchParm($CPDServiceProvider->PostalAddress2); // PostalAddress2
			$this->SetSearchParm($CPDServiceProvider->PostalCity); // PostalCity
			$this->SetSearchParm($CPDServiceProvider->PostalCode); // PostalCode
			$this->SetSearchParm($CPDServiceProvider->PostalProvince); // PostalProvince
			$this->SetSearchParm($CPDServiceProvider->PostalCountry); // PostalCountry
			$this->SetSearchParm($CPDServiceProvider->Password); // Password
			$this->SetSearchParm($CPDServiceProvider->UpdatedBy); // UpdatedBy
			$this->SetSearchParm($CPDServiceProvider->Archived); // Archived
			$this->SetSearchParm($CPDServiceProvider->ContactTitle); // ContactTitle
			$this->SetSearchParm($CPDServiceProvider->ContactInitials); // ContactInitials
			$this->SetSearchParm($CPDServiceProvider->ContactFirstName); // ContactFirstName
			$this->SetSearchParm($CPDServiceProvider->ContactSurname); // ContactSurname
			$this->SetSearchParm($CPDServiceProvider->ContactPosition); // ContactPosition
			$this->SetSearchParm($CPDServiceProvider->ContactPhone); // ContactPhone
			$this->SetSearchParm($CPDServiceProvider->ContactCell); // ContactCell
			$this->SetSearchParm($CPDServiceProvider->ContactEmail); // ContactEmail
			$this->SetSearchParm($CPDServiceProvider->ContactIDNum); // ContactIDNum
			$this->SetSearchParm($CPDServiceProvider->AdminTitle); // AdminTitle
			$this->SetSearchParm($CPDServiceProvider->AdminInitials); // AdminInitials
			$this->SetSearchParm($CPDServiceProvider->AdminFirstName); // AdminFirstName
			$this->SetSearchParm($CPDServiceProvider->AdminSurname); // AdminSurname
			$this->SetSearchParm($CPDServiceProvider->AdminPosition); // AdminPosition
			$this->SetSearchParm($CPDServiceProvider->AdminPhone); // AdminPhone
			$this->SetSearchParm($CPDServiceProvider->AdminCell); // AdminCell
			$this->SetSearchParm($CPDServiceProvider->AdminEmail); // AdminEmail
			$this->SetSearchParm($CPDServiceProvider->AdminIDNum); // AdminIDNum
			$this->SetSearchParm($CPDServiceProvider->EvaluatorID); // EvaluatorID
			$this->SetSearchParm($CPDServiceProvider->EvaluatorID2); // EvaluatorID2
			$this->SetSearchParm($CPDServiceProvider->EvaluatorID3); // EvaluatorID3
			$this->SetSearchParm($CPDServiceProvider->Approved); // Approved
			$this->SetSearchParm($CPDServiceProvider->SPNumber); // SPNumber
			$this->SetSearchParm($CPDServiceProvider->DateUpdated); // DateUpdated
			$this->SetSearchParm($CPDServiceProvider->DateAssessed); // DateAssessed
			$this->SetSearchParm($CPDServiceProvider->DateExpires); // DateExpires
			$this->SetSearchParm($CPDServiceProvider->InvoiceCode); // InvoiceCode
			$this->SetSearchParm($CPDServiceProvider->InvoiceNumber); // InvoiceNumber
			$this->SetSearchParm($CPDServiceProvider->Cost); // Cost
			$this->SetSearchParm($CPDServiceProvider->DepositAmt); // DepositAmt
			$this->SetSearchParm($CPDServiceProvider->EvaluatorFee); // EvaluatorFee
			$this->SetSearchParm($CPDServiceProvider->EvaluatorFeeAmount); // EvaluatorFeeAmount
			$this->SetSearchParm($CPDServiceProvider->EvaluatorFeeDate); // EvaluatorFeeDate
			$this->SetSearchParm($CPDServiceProvider->Comments); // Comments
		}
		return $sWhere;
	}

	// Build search SQL
	function BuildSearchSql(&$Where, &$Fld, $MultiValue) {
		$FldParm = substr($Fld->FldVar, 2);		
		$FldVal = $Fld->AdvancedSearch->SearchValue; // @$_GET["x_$FldParm"]
		$FldOpr = $Fld->AdvancedSearch->SearchOperator; // @$_GET["z_$FldParm"]
		$FldCond = $Fld->AdvancedSearch->SearchCondition; // @$_GET["v_$FldParm"]
		$FldVal2 = $Fld->AdvancedSearch->SearchValue2; // @$_GET["y_$FldParm"]
		$FldOpr2 = $Fld->AdvancedSearch->SearchOperator2; // @$_GET["w_$FldParm"]
		$sWrk = "";

		//$FldVal = ew_StripSlashes($FldVal);
		if (is_array($FldVal)) $FldVal = implode(",", $FldVal);

		//$FldVal2 = ew_StripSlashes($FldVal2);
		if (is_array($FldVal2)) $FldVal2 = implode(",", $FldVal2);
		$FldOpr = strtoupper(trim($FldOpr));
		if ($FldOpr == "") $FldOpr = "=";
		$FldOpr2 = strtoupper(trim($FldOpr2));
		if ($FldOpr2 == "") $FldOpr2 = "=";
		if (EW_SEARCH_MULTI_VALUE_OPTION == 1 || $FldOpr <> "LIKE" ||
			($FldOpr2 <> "LIKE" && $FldVal2 <> ""))
			$MultiValue = FALSE;
		if ($MultiValue) {
			$sWrk1 = ($FldVal <> "") ? ew_GetMultiSearchSql($Fld, $FldVal) : ""; // Field value 1
			$sWrk2 = ($FldVal2 <> "") ? ew_GetMultiSearchSql($Fld, $FldVal2) : ""; // Field value 2
			$sWrk = $sWrk1; // Build final SQL
			if ($sWrk2 <> "")
				$sWrk = ($sWrk <> "") ? "($sWrk) $FldCond ($sWrk2)" : $sWrk2;
		} else {
			$FldVal = $this->ConvertSearchValue($Fld, $FldVal);
			$FldVal2 = $this->ConvertSearchValue($Fld, $FldVal2);
			$sWrk = ew_GetSearchSql($Fld, $FldVal, $FldOpr, $FldCond, $FldVal2, $FldOpr2);
		}
		if ($sWrk <> "") {
			if ($Where <> "") $Where .= " AND ";
			$Where .= "(" . $sWrk . ")";
		}
	}

	// Set search parameters
	function SetSearchParm(&$Fld) {
		global $CPDServiceProvider;
		$FldParm = substr($Fld->FldVar, 2);
		$FldVal = $Fld->AdvancedSearch->SearchValue; // @$_GET["x_$FldParm"]
		$FldVal = ew_StripSlashes($FldVal);
		if (is_array($FldVal)) $FldVal = implode(",", $FldVal);
		$FldVal2 = $Fld->AdvancedSearch->SearchValue2; // @$_GET["y_$FldParm"]
		$FldVal2 = ew_StripSlashes($FldVal2);
		if (is_array($FldVal2)) $FldVal2 = implode(",", $FldVal2);
		$CPDServiceProvider->setAdvancedSearch("x_$FldParm", $FldVal);
		$CPDServiceProvider->setAdvancedSearch("z_$FldParm", $Fld->AdvancedSearch->SearchOperator); // @$_GET["z_$FldParm"]
		$CPDServiceProvider->setAdvancedSearch("v_$FldParm", $Fld->AdvancedSearch->SearchCondition); // @$_GET["v_$FldParm"]
		$CPDServiceProvider->setAdvancedSearch("y_$FldParm", $FldVal2);
		$CPDServiceProvider->setAdvancedSearch("w_$FldParm", $Fld->AdvancedSearch->SearchOperator2); // @$_GET["w_$FldParm"]
	}

	// Get search parameters
	function GetSearchParm(&$Fld) {
		global $CPDServiceProvider;
		$FldParm = substr($Fld->FldVar, 2);
		$Fld->AdvancedSearch->SearchValue = $CPDServiceProvider->GetAdvancedSearch("x_$FldParm");
		$Fld->AdvancedSearch->SearchOperator = $CPDServiceProvider->GetAdvancedSearch("z_$FldParm");
		$Fld->AdvancedSearch->SearchCondition = $CPDServiceProvider->GetAdvancedSearch("v_$FldParm");
		$Fld->AdvancedSearch->SearchValue2 = $CPDServiceProvider->GetAdvancedSearch("y_$FldParm");
		$Fld->AdvancedSearch->SearchOperator2 = $CPDServiceProvider->GetAdvancedSearch("w_$FldParm");
	}

	// Convert search value
	function ConvertSearchValue(&$Fld, $FldVal) {
		$Value = $FldVal;
		if ($Fld->FldDataType == EW_DATATYPE_BOOLEAN) {
			if ($FldVal <> "") $Value = ($FldVal == "1") ? $Fld->TrueValue : $Fld->FalseValue;
		} elseif ($Fld->FldDataType == EW_DATATYPE_DATE) {
			if ($FldVal <> "") $Value = ew_UnFormatDateTime($FldVal, $Fld->FldDateTimeFormat);
		}
		return $Value;
	}

	// Return basic search SQL
	function BasicSearchSQL($Keyword) {
		global $CPDServiceProvider;
		$sKeyword = ew_AdjustSql($Keyword);
		$sWhere = "";
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->TradingAs, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->CellNumber, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->ContactPosition, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->ContactPhone, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->ContactCell, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->ContactEmail, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->ContactIDNum, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->AdminTitle, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->AdminInitials, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->AdminFirstName, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->AdminSurname, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->AdminPosition, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->AdminPhone, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->AdminCell, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->AdminEmail, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->AdminIDNum, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->Approved, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->SPNumber, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->InvoiceCode, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->InvoiceNumber, $Keyword);
		$this->BuildBasicSearchSQL($sWhere, $CPDServiceProvider->Comments, $Keyword);
		return $sWhere;
	}

	// Build basic search SQL
	function BuildBasicSearchSql(&$Where, &$Fld, $Keyword) {
		$sFldExpression = ($Fld->FldVirtualExpression <> "") ? $Fld->FldVirtualExpression : $Fld->FldExpression;
		$lFldDataType = ($Fld->FldIsVirtual) ? EW_DATATYPE_STRING : $Fld->FldDataType;
		if ($lFldDataType == EW_DATATYPE_NUMBER) {
			$sWrk = $sFldExpression . " = " . ew_QuotedValue($Keyword, $lFldDataType);
		} else {
			$sWrk = $sFldExpression . " LIKE " . ew_QuotedValue("%" . $Keyword . "%", $lFldDataType);
		}
		if ($Where <> "") $Where .= " OR ";
		$Where .= $sWrk;
	}

	// Return basic search WHERE clause based on search keyword and type
	function BasicSearchWhere() {
		global $Security, $CPDServiceProvider;
		$sSearchStr = "";
		if (!$Security->CanSearch()) return "";
		$sSearchKeyword = $CPDServiceProvider->BasicSearchKeyword;
		$sSearchType = $CPDServiceProvider->BasicSearchType;
		if ($sSearchKeyword <> "") {
			$sSearch = trim($sSearchKeyword);
			if ($sSearchType <> "") {
				while (strpos($sSearch, "  ") !== FALSE)
					$sSearch = str_replace("  ", " ", $sSearch);
				$arKeyword = explode(" ", trim($sSearch));
				foreach ($arKeyword as $sKeyword) {
					if ($sSearchStr <> "") $sSearchStr .= " " . $sSearchType . " ";
					$sSearchStr .= "(" . $this->BasicSearchSQL($sKeyword) . ")";
				}
			} else {
				$sSearchStr = $this->BasicSearchSQL($sSearch);
			}
		}
		if ($sSearchKeyword <> "") {
			$CPDServiceProvider->setSessionBasicSearchKeyword($sSearchKeyword);
			$CPDServiceProvider->setSessionBasicSearchType($sSearchType);
		}
		return $sSearchStr;
	}

	// Clear all search parameters
	function ResetSearchParms() {
		global $CPDServiceProvider;

		// Clear search WHERE clause
		$this->sSrchWhere = "";
		$CPDServiceProvider->setSearchWhere($this->sSrchWhere);

		// Clear basic search parameters
		$this->ResetBasicSearchParms();

		// Clear advanced search parameters
		$this->ResetAdvancedSearchParms();
	}

	// Clear all basic search parameters
	function ResetBasicSearchParms() {
		global $CPDServiceProvider;
		$CPDServiceProvider->setSessionBasicSearchKeyword("");
		$CPDServiceProvider->setSessionBasicSearchType("");
	}

	// Clear all advanced search parameters
	function ResetAdvancedSearchParms() {
		global $CPDServiceProvider;
		$CPDServiceProvider->setAdvancedSearch("x_CPDProviderID", "");
		$CPDServiceProvider->setAdvancedSearch("x_CompanyName", "");
		$CPDServiceProvider->setAdvancedSearch("x_TradingAs", "");
		$CPDServiceProvider->setAdvancedSearch("x_PhoneNumber", "");
		$CPDServiceProvider->setAdvancedSearch("x_CellNumber", "");
		$CPDServiceProvider->setAdvancedSearch("x_EmailAddress", "");
		$CPDServiceProvider->setAdvancedSearch("x_Website", "");
		$CPDServiceProvider->setAdvancedSearch("x_VATNumber", "");
		$CPDServiceProvider->setAdvancedSearch("x_PhysicalAddress1", "");
		$CPDServiceProvider->setAdvancedSearch("x_PhysicalAddress2", "");
		$CPDServiceProvider->setAdvancedSearch("x_PhysicalCity", "");
		$CPDServiceProvider->setAdvancedSearch("x_PhysicalCode", "");
		$CPDServiceProvider->setAdvancedSearch("x_PhysicalProvince", "");
		$CPDServiceProvider->setAdvancedSearch("x_PhysicalCountry", "");
		$CPDServiceProvider->setAdvancedSearch("x_PostalAddress1", "");
		$CPDServiceProvider->setAdvancedSearch("x_PostalAddress2", "");
		$CPDServiceProvider->setAdvancedSearch("x_PostalCity", "");
		$CPDServiceProvider->setAdvancedSearch("x_PostalCode", "");
		$CPDServiceProvider->setAdvancedSearch("x_PostalProvince", "");
		$CPDServiceProvider->setAdvancedSearch("x_PostalCountry", "");
		$CPDServiceProvider->setAdvancedSearch("x_Password", "");
		$CPDServiceProvider->setAdvancedSearch("x_UpdatedBy", "");
		$CPDServiceProvider->setAdvancedSearch("x_Archived", "");
		$CPDServiceProvider->setAdvancedSearch("x_ContactTitle", "");
		$CPDServiceProvider->setAdvancedSearch("x_ContactInitials", "");
		$CPDServiceProvider->setAdvancedSearch("x_ContactFirstName", "");
		$CPDServiceProvider->setAdvancedSearch("x_ContactSurname", "");
		$CPDServiceProvider->setAdvancedSearch("x_ContactPosition", "");
		$CPDServiceProvider->setAdvancedSearch("x_ContactPhone", "");
		$CPDServiceProvider->setAdvancedSearch("x_ContactCell", "");
		$CPDServiceProvider->setAdvancedSearch("x_ContactEmail", "");
		$CPDServiceProvider->setAdvancedSearch("x_ContactIDNum", "");
		$CPDServiceProvider->setAdvancedSearch("x_AdminTitle", "");
		$CPDServiceProvider->setAdvancedSearch("x_AdminInitials", "");
		$CPDServiceProvider->setAdvancedSearch("x_AdminFirstName", "");
		$CPDServiceProvider->setAdvancedSearch("x_AdminSurname", "");
		$CPDServiceProvider->setAdvancedSearch("x_AdminPosition", "");
		$CPDServiceProvider->setAdvancedSearch("x_AdminPhone", "");
		$CPDServiceProvider->setAdvancedSearch("x_AdminCell", "");
		$CPDServiceProvider->setAdvancedSearch("x_AdminEmail", "");
		$CPDServiceProvider->setAdvancedSearch("x_AdminIDNum", "");
		$CPDServiceProvider->setAdvancedSearch("x_EvaluatorID", "");
		$CPDServiceProvider->setAdvancedSearch("x_EvaluatorID2", "");
		$CPDServiceProvider->setAdvancedSearch("x_EvaluatorID3", "");
		$CPDServiceProvider->setAdvancedSearch("x_Approved", "");
		$CPDServiceProvider->setAdvancedSearch("x_SPNumber", "");
		$CPDServiceProvider->setAdvancedSearch("x_DateUpdated", "");
		$CPDServiceProvider->setAdvancedSearch("x_DateAssessed", "");
		$CPDServiceProvider->setAdvancedSearch("y_DateAssessed", "");
		$CPDServiceProvider->setAdvancedSearch("x_DateExpires", "");
		$CPDServiceProvider->setAdvancedSearch("x_InvoiceCode", "");
		$CPDServiceProvider->setAdvancedSearch("x_InvoiceNumber", "");
		$CPDServiceProvider->setAdvancedSearch("x_Cost", "");
		$CPDServiceProvider->setAdvancedSearch("x_DepositAmt", "");
		$CPDServiceProvider->setAdvancedSearch("x_EvaluatorFee", "");
		$CPDServiceProvider->setAdvancedSearch("x_EvaluatorFeeAmount", "");
		$CPDServiceProvider->setAdvancedSearch("x_EvaluatorFeeDate", "");
		$CPDServiceProvider->setAdvancedSearch("x_Comments", "");
	}

	// Restore all search parameters
	function RestoreSearchParms() {
		global $CPDServiceProvider;
		$bRestore = TRUE;
		if (@$_GET[EW_TABLE_BASIC_SEARCH] <> "") $bRestore = FALSE;
		if (@$_GET["x_CPDProviderID"] <> "") $bRestore = FALSE;
		if (@$_GET["x_CompanyName"] <> "") $bRestore = FALSE;
		if (@$_GET["x_TradingAs"] <> "") $bRestore = FALSE;
		if (@$_GET["x_PhoneNumber"] <> "") $bRestore = FALSE;
		if (@$_GET["x_CellNumber"] <> "") $bRestore = FALSE;
		if (@$_GET["x_EmailAddress"] <> "") $bRestore = FALSE;
		if (@$_GET["x_Website"] <> "") $bRestore = FALSE;
		if (@$_GET["x_VATNumber"] <> "") $bRestore = FALSE;
		if (@$_GET["x_PhysicalAddress1"] <> "") $bRestore = FALSE;
		if (@$_GET["x_PhysicalAddress2"] <> "") $bRestore = FALSE;
		if (@$_GET["x_PhysicalCity"] <> "") $bRestore = FALSE;
		if (@$_GET["x_PhysicalCode"] <> "") $bRestore = FALSE;
		if (@$_GET["x_PhysicalProvince"] <> "") $bRestore = FALSE;
		if (@$_GET["x_PhysicalCountry"] <> "") $bRestore = FALSE;
		if (@$_GET["x_PostalAddress1"] <> "") $bRestore = FALSE;
		if (@$_GET["x_PostalAddress2"] <> "") $bRestore = FALSE;
		if (@$_GET["x_PostalCity"] <> "") $bRestore = FALSE;
		if (@$_GET["x_PostalCode"] <> "") $bRestore = FALSE;
		if (@$_GET["x_PostalProvince"] <> "") $bRestore = FALSE;
		if (@$_GET["x_PostalCountry"] <> "") $bRestore = FALSE;
		if (@$_GET["x_Password"] <> "") $bRestore = FALSE;
		if (@$_GET["x_UpdatedBy"] <> "") $bRestore = FALSE;
		if (@$_GET["x_Archived"] <> "") $bRestore = FALSE;
		if (@$_GET["x_ContactTitle"] <> "") $bRestore = FALSE;
		if (@$_GET["x_ContactInitials"] <> "") $bRestore = FALSE;
		if (@$_GET["x_ContactFirstName"] <> "") $bRestore = FALSE;
		if (@$_GET["x_ContactSurname"] <> "") $bRestore = FALSE;
		if (@$_GET["x_ContactPosition"] <> "") $bRestore = FALSE;
		if (@$_GET["x_ContactPhone"] <> "") $bRestore = FALSE;
		if (@$_GET["x_ContactCell"] <> "") $bRestore = FALSE;
		if (@$_GET["x_ContactEmail"] <> "") $bRestore = FALSE;
		if (@$_GET["x_ContactIDNum"] <> "") $bRestore = FALSE;
		if (@$_GET["x_AdminTitle"] <> "") $bRestore = FALSE;
		if (@$_GET["x_AdminInitials"] <> "") $bRestore = FALSE;
		if (@$_GET["x_AdminFirstName"] <> "") $bRestore = FALSE;
		if (@$_GET["x_AdminSurname"] <> "") $bRestore = FALSE;
		if (@$_GET["x_AdminPosition"] <> "") $bRestore = FALSE;
		if (@$_GET["x_AdminPhone"] <> "") $bRestore = FALSE;
		if (@$_GET["x_AdminCell"] <> "") $bRestore = FALSE;
		if (@$_GET["x_AdminEmail"] <> "") $bRestore = FALSE;
		if (@$_GET["x_AdminIDNum"] <> "") $bRestore = FALSE;
		if (@$_GET["x_EvaluatorID"] <> "") $bRestore = FALSE;
		if (@$_GET["x_EvaluatorID2"] <> "") $bRestore = FALSE;
		if (@$_GET["x_EvaluatorID3"] <> "") $bRestore = FALSE;
		if (@$_GET["x_Approved"] <> "") $bRestore = FALSE;
		if (@$_GET["x_SPNumber"] <> "") $bRestore = FALSE;
		if (@$_GET["x_DateUpdated"] <> "") $bRestore = FALSE;
		if (@$_GET["x_DateAssessed"] <> "") $bRestore = FALSE;
		if (@$_GET["y_DateAssessed"] <> "") $bRestore = FALSE;
		if (@$_GET["x_DateExpires"] <> "") $bRestore = FALSE;
		if (@$_GET["x_InvoiceCode"] <> "") $bRestore = FALSE;
		if (@$_GET["x_InvoiceNumber"] <> "") $bRestore = FALSE;
		if (@$_GET["x_Cost"] <> "") $bRestore = FALSE;
		if (@$_GET["x_DepositAmt"] <> "") $bRestore = FALSE;
		if (@$_GET["x_EvaluatorFee"] <> "") $bRestore = FALSE;
		if (@$_GET["x_EvaluatorFeeAmount"] <> "") $bRestore = FALSE;
		if (@$_GET["x_EvaluatorFeeDate"] <> "") $bRestore = FALSE;
		if (@$_GET["x_Comments"] <> "") $bRestore = FALSE;
		$this->RestoreSearch = $bRestore;
		if ($bRestore) {

			// Restore basic search values
			$CPDServiceProvider->BasicSearchKeyword = $CPDServiceProvider->getSessionBasicSearchKeyword();
			$CPDServiceProvider->BasicSearchType = $CPDServiceProvider->getSessionBasicSearchType();

			// Restore advanced search values
			$this->GetSearchParm($CPDServiceProvider->CPDProviderID);
			$this->GetSearchParm($CPDServiceProvider->CompanyName);
			$this->GetSearchParm($CPDServiceProvider->TradingAs);
			$this->GetSearchParm($CPDServiceProvider->PhoneNumber);
			$this->GetSearchParm($CPDServiceProvider->CellNumber);
			$this->GetSearchParm($CPDServiceProvider->EmailAddress);
			$this->GetSearchParm($CPDServiceProvider->Website);
			$this->GetSearchParm($CPDServiceProvider->VATNumber);
			$this->GetSearchParm($CPDServiceProvider->PhysicalAddress1);
			$this->GetSearchParm($CPDServiceProvider->PhysicalAddress2);
			$this->GetSearchParm($CPDServiceProvider->PhysicalCity);
			$this->GetSearchParm($CPDServiceProvider->PhysicalCode);
			$this->GetSearchParm($CPDServiceProvider->PhysicalProvince);
			$this->GetSearchParm($CPDServiceProvider->PhysicalCountry);
			$this->GetSearchParm($CPDServiceProvider->PostalAddress1);
			$this->GetSearchParm($CPDServiceProvider->PostalAddress2);
			$this->GetSearchParm($CPDServiceProvider->PostalCity);
			$this->GetSearchParm($CPDServiceProvider->PostalCode);
			$this->GetSearchParm($CPDServiceProvider->PostalProvince);
			$this->GetSearchParm($CPDServiceProvider->PostalCountry);
			$this->GetSearchParm($CPDServiceProvider->Password);
			$this->GetSearchParm($CPDServiceProvider->UpdatedBy);
			$this->GetSearchParm($CPDServiceProvider->Archived);
			$this->GetSearchParm($CPDServiceProvider->ContactTitle);
			$this->GetSearchParm($CPDServiceProvider->ContactInitials);
			$this->GetSearchParm($CPDServiceProvider->ContactFirstName);
			$this->GetSearchParm($CPDServiceProvider->ContactSurname);
			$this->GetSearchParm($CPDServiceProvider->ContactPosition);
			$this->GetSearchParm($CPDServiceProvider->ContactPhone);
			$this->GetSearchParm($CPDServiceProvider->ContactCell);
			$this->GetSearchParm($CPDServiceProvider->ContactEmail);
			$this->GetSearchParm($CPDServiceProvider->ContactIDNum);
			$this->GetSearchParm($CPDServiceProvider->AdminTitle);
			$this->GetSearchParm($CPDServiceProvider->AdminInitials);
			$this->GetSearchParm($CPDServiceProvider->AdminFirstName);
			$this->GetSearchParm($CPDServiceProvider->AdminSurname);
			$this->GetSearchParm($CPDServiceProvider->AdminPosition);
			$this->GetSearchParm($CPDServiceProvider->AdminPhone);
			$this->GetSearchParm($CPDServiceProvider->AdminCell);
			$this->GetSearchParm($CPDServiceProvider->AdminEmail);
			$this->GetSearchParm($CPDServiceProvider->AdminIDNum);
			$this->GetSearchParm($CPDServiceProvider->EvaluatorID);
			$this->GetSearchParm($CPDServiceProvider->EvaluatorID2);
			$this->GetSearchParm($CPDServiceProvider->EvaluatorID3);
			$this->GetSearchParm($CPDServiceProvider->Approved);
			$this->GetSearchParm($CPDServiceProvider->SPNumber);
			$this->GetSearchParm($CPDServiceProvider->DateUpdated);
			$this->GetSearchParm($CPDServiceProvider->DateAssessed);
			$this->GetSearchParm($CPDServiceProvider->DateExpires);
			$this->GetSearchParm($CPDServiceProvider->InvoiceCode);
			$this->GetSearchParm($CPDServiceProvider->InvoiceNumber);
			$this->GetSearchParm($CPDServiceProvider->Cost);
			$this->GetSearchParm($CPDServiceProvider->DepositAmt);
			$this->GetSearchParm($CPDServiceProvider->EvaluatorFee);
			$this->GetSearchParm($CPDServiceProvider->EvaluatorFeeAmount);
			$this->GetSearchParm($CPDServiceProvider->EvaluatorFeeDate);
			$this->GetSearchParm($CPDServiceProvider->Comments);
		}
	}

	// Set up sort parameters
	function SetUpSortOrder() {
		global $CPDServiceProvider;

		// Check for Ctrl pressed
		$bCtrl = (@$_GET["ctrl"] <> "");

		// Check for "order" parameter
		if (@$_GET["order"] <> "") {
			$CPDServiceProvider->CurrentOrder = ew_StripSlashes(@$_GET["order"]);
			$CPDServiceProvider->CurrentOrderType = @$_GET["ordertype"];
			$CPDServiceProvider->UpdateSort($CPDServiceProvider->CompanyName, $bCtrl); // CompanyName
			$CPDServiceProvider->UpdateSort($CPDServiceProvider->TradingAs, $bCtrl); // TradingAs
			$CPDServiceProvider->UpdateSort($CPDServiceProvider->EmailAddress, $bCtrl); // EmailAddress
			$CPDServiceProvider->UpdateSort($CPDServiceProvider->ContactFirstName, $bCtrl); // ContactFirstName
			$CPDServiceProvider->UpdateSort($CPDServiceProvider->ContactSurname, $bCtrl); // ContactSurname
			$CPDServiceProvider->UpdateSort($CPDServiceProvider->Approved, $bCtrl); // Approved
			$CPDServiceProvider->UpdateSort($CPDServiceProvider->SPNumber, $bCtrl); // SPNumber
			$CPDServiceProvider->UpdateSort($CPDServiceProvider->DateAssessed, $bCtrl); // DateAssessed
			$CPDServiceProvider->UpdateSort($CPDServiceProvider->DateExpires, $bCtrl); // DateExpires
			$CPDServiceProvider->setStartRecordNumber(1); // Reset start position
		}
	}

	// Load sort order parameters
	function LoadSortOrder() {
		global $CPDServiceProvider;
		$sOrderBy = $CPDServiceProvider->getSessionOrderBy(); // Get ORDER BY from Session
		if ($sOrderBy == "") {
			if ($CPDServiceProvider->SqlOrderBy() <> "") {
				$sOrderBy = $CPDServiceProvider->SqlOrderBy();
				$CPDServiceProvider->setSessionOrderBy($sOrderBy);
				$CPDServiceProvider->CompanyName->setSort("ASC");
			}
		}
	}

	// Reset command
	// cmd=reset (Reset search parameters)
	// cmd=resetall (Reset search and master/detail parameters)
	// cmd=resetsort (Reset sort parameters)
	function ResetCmd() {
		global $CPDServiceProvider;

		// Get reset command
		if (@$_GET["cmd"] <> "") {
			$sCmd = $_GET["cmd"];

			// Reset search criteria
			if (strtolower($sCmd) == "reset" || strtolower($sCmd) == "resetall")
				$this->ResetSearchParms();

			// Reset sorting order
			if (strtolower($sCmd) == "resetsort") {
				$sOrderBy = "";
				$CPDServiceProvider->setSessionOrderBy($sOrderBy);
				$CPDServiceProvider->CompanyName->setSort("");
				$CPDServiceProvider->TradingAs->setSort("");
				$CPDServiceProvider->EmailAddress->setSort("");
				$CPDServiceProvider->ContactFirstName->setSort("");
				$CPDServiceProvider->ContactSurname->setSort("");
				$CPDServiceProvider->Approved->setSort("");
				$CPDServiceProvider->SPNumber->setSort("");
				$CPDServiceProvider->DateAssessed->setSort("");
				$CPDServiceProvider->DateExpires->setSort("");
			}

			// Reset start position
			$this->lStartRec = 1;
			$CPDServiceProvider->setStartRecordNumber($this->lStartRec);
		}
	}

	// Set up list options
	function SetupListOptions() {
		global $Security, $CPDServiceProvider;

		// "view"
		$this->ListOptions->Add("view");
		$item =& $this->ListOptions->Items["view"];
		$item->CssStyle = "white-space: nowrap;";
		$item->Visible = $Security->CanView();
		$item->OnLeft = FALSE;

		// "edit"
		$this->ListOptions->Add("edit");
		$item =& $this->ListOptions->Items["edit"];
		$item->CssStyle = "white-space: nowrap;";
		$item->Visible = $Security->CanEdit();
		$item->OnLeft = FALSE;

		// "delete"
		$this->ListOptions->Add("delete");
		$item =& $this->ListOptions->Items["delete"];
		$item->CssStyle = "white-space: nowrap;";
		$item->Visible = $Security->CanDelete();
		$item->OnLeft = FALSE;

		// "detail_CPDProviderDocs"
		$this->ListOptions->Add("detail_CPDProviderDocs");
		$item =& $this->ListOptions->Items["detail_CPDProviderDocs"];
		$item->CssStyle = "white-space: nowrap;";
		$item->Visible = $Security->AllowList('CPDProviderDocs');
		$item->OnLeft = FALSE;

		// "detail_CPDTrainingMaterial"
		$this->ListOptions->Add("detail_CPDTrainingMaterial");
		$item =& $this->ListOptions->Items["detail_CPDTrainingMaterial"];
		$item->CssStyle = "white-space: nowrap;";
		$item->Visible = $Security->AllowList('CPDTrainingMaterial');
		$item->OnLeft = FALSE;

		// Call ListOptions_Load event
		$this->ListOptions_Load();
		if ($CPDServiceProvider->Export <> "" ||
			$CPDServiceProvider->CurrentAction == "gridadd" ||
			$CPDServiceProvider->CurrentAction == "gridedit")
			$this->ListOptions->HideAllOptions();
	}

	// Render list options
	function RenderListOptions() {
		global $Security, $Language, $CPDServiceProvider;
		$this->ListOptions->LoadDefault();

		// "view"
		$oListOpt =& $this->ListOptions->Items["view"];
		if ($Security->CanView() && $oListOpt->Visible)
			$oListOpt->Body = "<a href=\"" . $this->ViewUrl . "\">" . "<img src=\"images/view.gif\" alt=\"" . ew_HtmlEncode($Language->Phrase("ViewLink")) . "\" title=\"" . ew_HtmlEncode($Language->Phrase("ViewLink")) . "\" width=\"16\" height=\"16\" border=\"0\">" . "</a>";

		// "edit"
		$oListOpt =& $this->ListOptions->Items["edit"];
		if ($Security->CanEdit() && $oListOpt->Visible) {
			$oListOpt->Body = "<a href=\"" . $this->EditUrl . "\">" . "<img src=\"images/edit.gif\" alt=\"" . ew_HtmlEncode($Language->Phrase("EditLink")) . "\" title=\"" . ew_HtmlEncode($Language->Phrase("EditLink")) . "\" width=\"16\" height=\"16\" border=\"0\">" . "</a>";
		}

		// "delete"
		$oListOpt =& $this->ListOptions->Items["delete"];
		if ($Security->CanDelete() && $oListOpt->Visible)
			$oListOpt->Body = "<a" . "" . " href=\"" . $this->DeleteUrl . "\">" . "<img src=\"images/delete.gif\" alt=\"" . ew_HtmlEncode($Language->Phrase("DeleteLink")) . "\" title=\"" . ew_HtmlEncode($Language->Phrase("DeleteLink")) . "\" width=\"16\" height=\"16\" border=\"0\">" . "</a>";

		// "detail_CPDProviderDocs"
		$oListOpt =& $this->ListOptions->Items["detail_CPDProviderDocs"];
		if ($Security->AllowList('CPDProviderDocs')) {
			$oListOpt->Body = "<img src=\"images/detail.gif\" alt=\"" . ew_HtmlEncode($Language->Phrase("DetailLink")) . "\" title=\"" . ew_HtmlEncode($Language->Phrase("DetailLink")) . "\" width=\"16\" height=\"16\" border=\"0\">" . $Language->TablePhrase("CPDProviderDocs", "TblCaption");
			$oListOpt->Body = "<a href=\"CPDProviderDocslist.php?" . EW_TABLE_SHOW_MASTER . "=CPDServiceProvider&CPDProviderID=" . urlencode(strval($CPDServiceProvider->CPDProviderID->CurrentValue)) . "\">" . $oListOpt->Body . "</a>";
		}

		// "detail_CPDTrainingMaterial"
		$oListOpt =& $this->ListOptions->Items["detail_CPDTrainingMaterial"];
		if ($Security->AllowList('CPDTrainingMaterial')) {
			$oListOpt->Body = "<img src=\"images/detail.gif\" alt=\"" . ew_HtmlEncode($Language->Phrase("DetailLink")) . "\" title=\"" . ew_HtmlEncode($Language->Phrase("DetailLink")) . "\" width=\"16\" height=\"16\" border=\"0\">" . $Language->TablePhrase("CPDTrainingMaterial", "TblCaption");
			$oListOpt->Body = "<a href=\"CPDTrainingMateriallist.php?" . EW_TABLE_SHOW_MASTER . "=CPDServiceProvider&CPDProviderID=" . urlencode(strval($CPDServiceProvider->CPDProviderID->CurrentValue)) . "\">" . $oListOpt->Body . "</a>";
		}
		$this->RenderListOptionsExt();

		// Call ListOptions_Rendered event
		$this->ListOptions_Rendered();
	}

	function RenderListOptionsExt() {
		global $Security, $Language, $CPDServiceProvider;
	}

	// Set up starting record parameters
	function SetUpStartRec() {
		global $CPDServiceProvider;
		if ($this->lDisplayRecs == 0)
			return;
		if ($this->IsPageRequest()) { // Validate request
			if (@$_GET[EW_TABLE_START_REC] <> "") { // Check for "start" parameter
				$this->lStartRec = $_GET[EW_TABLE_START_REC];
				$CPDServiceProvider->setStartRecordNumber($this->lStartRec);
			} elseif (@$_GET[EW_TABLE_PAGE_NO] <> "") {
				$this->nPageNo = $_GET[EW_TABLE_PAGE_NO];
				if (is_numeric($this->nPageNo)) {
					$this->lStartRec = ($this->nPageNo-1)*$this->lDisplayRecs+1;
					if ($this->lStartRec <= 0) {
						$this->lStartRec = 1;
					} elseif ($this->lStartRec >= intval(($this->lTotalRecs-1)/$this->lDisplayRecs)*$this->lDisplayRecs+1) {
						$this->lStartRec = intval(($this->lTotalRecs-1)/$this->lDisplayRecs)*$this->lDisplayRecs+1;
					}
					$CPDServiceProvider->setStartRecordNumber($this->lStartRec);
				}
			}
		}
		$this->lStartRec = $CPDServiceProvider->getStartRecordNumber();

		// Check if correct start record counter
		if (!is_numeric($this->lStartRec) || $this->lStartRec == "") { // Avoid invalid start record counter
			$this->lStartRec = 1; // Reset start record counter
			$CPDServiceProvider->setStartRecordNumber($this->lStartRec);
		} elseif (intval($this->lStartRec) > intval($this->lTotalRecs)) { // Avoid starting record > total records
			$this->lStartRec = intval(($this->lTotalRecs-1)/$this->lDisplayRecs)*$this->lDisplayRecs+1; // Point to last page first record
			$CPDServiceProvider->setStartRecordNumber($this->lStartRec);
		} elseif (($this->lStartRec-1) % $this->lDisplayRecs <> 0) {
			$this->lStartRec = intval(($this->lStartRec-1)/$this->lDisplayRecs)*$this->lDisplayRecs+1; // Point to page boundary
			$CPDServiceProvider->setStartRecordNumber($this->lStartRec);
		}
	}

	// Load basic search values
	function LoadBasicSearchValues() {
		global $CPDServiceProvider;
		$CPDServiceProvider->BasicSearchKeyword = @$_GET[EW_TABLE_BASIC_SEARCH];
		$CPDServiceProvider->BasicSearchType = @$_GET[EW_TABLE_BASIC_SEARCH_TYPE];
	}

	//  Load search values for validation
	function LoadSearchValues() {
		global $objForm, $CPDServiceProvider;

		// Load search values
		// CPDProviderID

		$CPDServiceProvider->CPDProviderID->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_CPDProviderID"]);
		$CPDServiceProvider->CPDProviderID->AdvancedSearch->SearchOperator = @$_GET["z_CPDProviderID"];

		// CompanyName
		$CPDServiceProvider->CompanyName->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_CompanyName"]);
		$CPDServiceProvider->CompanyName->AdvancedSearch->SearchOperator = @$_GET["z_CompanyName"];

		// TradingAs
		$CPDServiceProvider->TradingAs->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_TradingAs"]);
		$CPDServiceProvider->TradingAs->AdvancedSearch->SearchOperator = @$_GET["z_TradingAs"];

		// PhoneNumber
		$CPDServiceProvider->PhoneNumber->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_PhoneNumber"]);
		$CPDServiceProvider->PhoneNumber->AdvancedSearch->SearchOperator = @$_GET["z_PhoneNumber"];

		// CellNumber
		$CPDServiceProvider->CellNumber->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_CellNumber"]);
		$CPDServiceProvider->CellNumber->AdvancedSearch->SearchOperator = @$_GET["z_CellNumber"];

		// EmailAddress
		$CPDServiceProvider->EmailAddress->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_EmailAddress"]);
		$CPDServiceProvider->EmailAddress->AdvancedSearch->SearchOperator = @$_GET["z_EmailAddress"];

		// Website
		$CPDServiceProvider->Website->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_Website"]);
		$CPDServiceProvider->Website->AdvancedSearch->SearchOperator = @$_GET["z_Website"];

		// VATNumber
		$CPDServiceProvider->VATNumber->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_VATNumber"]);
		$CPDServiceProvider->VATNumber->AdvancedSearch->SearchOperator = @$_GET["z_VATNumber"];

		// PhysicalAddress1
		$CPDServiceProvider->PhysicalAddress1->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_PhysicalAddress1"]);
		$CPDServiceProvider->PhysicalAddress1->AdvancedSearch->SearchOperator = @$_GET["z_PhysicalAddress1"];

		// PhysicalAddress2
		$CPDServiceProvider->PhysicalAddress2->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_PhysicalAddress2"]);
		$CPDServiceProvider->PhysicalAddress2->AdvancedSearch->SearchOperator = @$_GET["z_PhysicalAddress2"];

		// PhysicalCity
		$CPDServiceProvider->PhysicalCity->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_PhysicalCity"]);
		$CPDServiceProvider->PhysicalCity->AdvancedSearch->SearchOperator = @$_GET["z_PhysicalCity"];

		// PhysicalCode
		$CPDServiceProvider->PhysicalCode->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_PhysicalCode"]);
		$CPDServiceProvider->PhysicalCode->AdvancedSearch->SearchOperator = @$_GET["z_PhysicalCode"];

		// PhysicalProvince
		$CPDServiceProvider->PhysicalProvince->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_PhysicalProvince"]);
		$CPDServiceProvider->PhysicalProvince->AdvancedSearch->SearchOperator = @$_GET["z_PhysicalProvince"];

		// PhysicalCountry
		$CPDServiceProvider->PhysicalCountry->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_PhysicalCountry"]);
		$CPDServiceProvider->PhysicalCountry->AdvancedSearch->SearchOperator = @$_GET["z_PhysicalCountry"];

		// PostalAddress1
		$CPDServiceProvider->PostalAddress1->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_PostalAddress1"]);
		$CPDServiceProvider->PostalAddress1->AdvancedSearch->SearchOperator = @$_GET["z_PostalAddress1"];

		// PostalAddress2
		$CPDServiceProvider->PostalAddress2->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_PostalAddress2"]);
		$CPDServiceProvider->PostalAddress2->AdvancedSearch->SearchOperator = @$_GET["z_PostalAddress2"];

		// PostalCity
		$CPDServiceProvider->PostalCity->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_PostalCity"]);
		$CPDServiceProvider->PostalCity->AdvancedSearch->SearchOperator = @$_GET["z_PostalCity"];

		// PostalCode
		$CPDServiceProvider->PostalCode->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_PostalCode"]);
		$CPDServiceProvider->PostalCode->AdvancedSearch->SearchOperator = @$_GET["z_PostalCode"];

		// PostalProvince
		$CPDServiceProvider->PostalProvince->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_PostalProvince"]);
		$CPDServiceProvider->PostalProvince->AdvancedSearch->SearchOperator = @$_GET["z_PostalProvince"];

		// PostalCountry
		$CPDServiceProvider->PostalCountry->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_PostalCountry"]);
		$CPDServiceProvider->PostalCountry->AdvancedSearch->SearchOperator = @$_GET["z_PostalCountry"];

		// Password
		$CPDServiceProvider->Password->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_Password"]);
		$CPDServiceProvider->Password->AdvancedSearch->SearchOperator = @$_GET["z_Password"];

		// UpdatedBy
		$CPDServiceProvider->UpdatedBy->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_UpdatedBy"]);
		$CPDServiceProvider->UpdatedBy->AdvancedSearch->SearchOperator = @$_GET["z_UpdatedBy"];

		// Archived
		$CPDServiceProvider->Archived->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_Archived"]);
		$CPDServiceProvider->Archived->AdvancedSearch->SearchOperator = @$_GET["z_Archived"];

		// ContactTitle
		$CPDServiceProvider->ContactTitle->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_ContactTitle"]);
		$CPDServiceProvider->ContactTitle->AdvancedSearch->SearchOperator = @$_GET["z_ContactTitle"];

		// ContactInitials
		$CPDServiceProvider->ContactInitials->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_ContactInitials"]);
		$CPDServiceProvider->ContactInitials->AdvancedSearch->SearchOperator = @$_GET["z_ContactInitials"];

		// ContactFirstName
		$CPDServiceProvider->ContactFirstName->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_ContactFirstName"]);
		$CPDServiceProvider->ContactFirstName->AdvancedSearch->SearchOperator = @$_GET["z_ContactFirstName"];

		// ContactSurname
		$CPDServiceProvider->ContactSurname->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_ContactSurname"]);
		$CPDServiceProvider->ContactSurname->AdvancedSearch->SearchOperator = @$_GET["z_ContactSurname"];

		// ContactPosition
		$CPDServiceProvider->ContactPosition->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_ContactPosition"]);
		$CPDServiceProvider->ContactPosition->AdvancedSearch->SearchOperator = @$_GET["z_ContactPosition"];

		// ContactPhone
		$CPDServiceProvider->ContactPhone->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_ContactPhone"]);
		$CPDServiceProvider->ContactPhone->AdvancedSearch->SearchOperator = @$_GET["z_ContactPhone"];

		// ContactCell
		$CPDServiceProvider->ContactCell->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_ContactCell"]);
		$CPDServiceProvider->ContactCell->AdvancedSearch->SearchOperator = @$_GET["z_ContactCell"];

		// ContactEmail
		$CPDServiceProvider->ContactEmail->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_ContactEmail"]);
		$CPDServiceProvider->ContactEmail->AdvancedSearch->SearchOperator = @$_GET["z_ContactEmail"];

		// ContactIDNum
		$CPDServiceProvider->ContactIDNum->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_ContactIDNum"]);
		$CPDServiceProvider->ContactIDNum->AdvancedSearch->SearchOperator = @$_GET["z_ContactIDNum"];

		// AdminTitle
		$CPDServiceProvider->AdminTitle->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_AdminTitle"]);
		$CPDServiceProvider->AdminTitle->AdvancedSearch->SearchOperator = @$_GET["z_AdminTitle"];

		// AdminInitials
		$CPDServiceProvider->AdminInitials->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_AdminInitials"]);
		$CPDServiceProvider->AdminInitials->AdvancedSearch->SearchOperator = @$_GET["z_AdminInitials"];

		// AdminFirstName
		$CPDServiceProvider->AdminFirstName->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_AdminFirstName"]);
		$CPDServiceProvider->AdminFirstName->AdvancedSearch->SearchOperator = @$_GET["z_AdminFirstName"];

		// AdminSurname
		$CPDServiceProvider->AdminSurname->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_AdminSurname"]);
		$CPDServiceProvider->AdminSurname->AdvancedSearch->SearchOperator = @$_GET["z_AdminSurname"];

		// AdminPosition
		$CPDServiceProvider->AdminPosition->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_AdminPosition"]);
		$CPDServiceProvider->AdminPosition->AdvancedSearch->SearchOperator = @$_GET["z_AdminPosition"];

		// AdminPhone
		$CPDServiceProvider->AdminPhone->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_AdminPhone"]);
		$CPDServiceProvider->AdminPhone->AdvancedSearch->SearchOperator = @$_GET["z_AdminPhone"];

		// AdminCell
		$CPDServiceProvider->AdminCell->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_AdminCell"]);
		$CPDServiceProvider->AdminCell->AdvancedSearch->SearchOperator = @$_GET["z_AdminCell"];

		// AdminEmail
		$CPDServiceProvider->AdminEmail->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_AdminEmail"]);
		$CPDServiceProvider->AdminEmail->AdvancedSearch->SearchOperator = @$_GET["z_AdminEmail"];

		// AdminIDNum
		$CPDServiceProvider->AdminIDNum->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_AdminIDNum"]);
		$CPDServiceProvider->AdminIDNum->AdvancedSearch->SearchOperator = @$_GET["z_AdminIDNum"];

		// EvaluatorID
		$CPDServiceProvider->EvaluatorID->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_EvaluatorID"]);
		$CPDServiceProvider->EvaluatorID->AdvancedSearch->SearchOperator = @$_GET["z_EvaluatorID"];

		// EvaluatorID2
		$CPDServiceProvider->EvaluatorID2->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_EvaluatorID2"]);
		$CPDServiceProvider->EvaluatorID2->AdvancedSearch->SearchOperator = @$_GET["z_EvaluatorID2"];

		// EvaluatorID3
		$CPDServiceProvider->EvaluatorID3->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_EvaluatorID3"]);
		$CPDServiceProvider->EvaluatorID3->AdvancedSearch->SearchOperator = @$_GET["z_EvaluatorID3"];

		// Approved
		$CPDServiceProvider->Approved->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_Approved"]);
		$CPDServiceProvider->Approved->AdvancedSearch->SearchOperator = @$_GET["z_Approved"];

		// SPNumber
		$CPDServiceProvider->SPNumber->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_SPNumber"]);
		$CPDServiceProvider->SPNumber->AdvancedSearch->SearchOperator = @$_GET["z_SPNumber"];

		// DateUpdated
		$CPDServiceProvider->DateUpdated->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_DateUpdated"]);
		$CPDServiceProvider->DateUpdated->AdvancedSearch->SearchOperator = @$_GET["z_DateUpdated"];

		// DateAssessed
		$CPDServiceProvider->DateAssessed->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_DateAssessed"]);
		$CPDServiceProvider->DateAssessed->AdvancedSearch->SearchOperator = @$_GET["z_DateAssessed"];
		$CPDServiceProvider->DateAssessed->AdvancedSearch->SearchCondition = @$_GET["v_DateAssessed"];
		$CPDServiceProvider->DateAssessed->AdvancedSearch->SearchValue2 = ew_StripSlashes(@$_GET["y_DateAssessed"]);
		$CPDServiceProvider->DateAssessed->AdvancedSearch->SearchOperator2 = @$_GET["w_DateAssessed"];

		// DateExpires
		$CPDServiceProvider->DateExpires->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_DateExpires"]);
		$CPDServiceProvider->DateExpires->AdvancedSearch->SearchOperator = @$_GET["z_DateExpires"];

		// InvoiceCode
		$CPDServiceProvider->InvoiceCode->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_InvoiceCode"]);
		$CPDServiceProvider->InvoiceCode->AdvancedSearch->SearchOperator = @$_GET["z_InvoiceCode"];

		// InvoiceNumber
		$CPDServiceProvider->InvoiceNumber->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_InvoiceNumber"]);
		$CPDServiceProvider->InvoiceNumber->AdvancedSearch->SearchOperator = @$_GET["z_InvoiceNumber"];

		// Cost
		$CPDServiceProvider->Cost->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_Cost"]);
		$CPDServiceProvider->Cost->AdvancedSearch->SearchOperator = @$_GET["z_Cost"];

		// DepositAmt
		$CPDServiceProvider->DepositAmt->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_DepositAmt"]);
		$CPDServiceProvider->DepositAmt->AdvancedSearch->SearchOperator = @$_GET["z_DepositAmt"];

		// EvaluatorFee
		$CPDServiceProvider->EvaluatorFee->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_EvaluatorFee"]);
		$CPDServiceProvider->EvaluatorFee->AdvancedSearch->SearchOperator = @$_GET["z_EvaluatorFee"];

		// EvaluatorFeeAmount
		$CPDServiceProvider->EvaluatorFeeAmount->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_EvaluatorFeeAmount"]);
		$CPDServiceProvider->EvaluatorFeeAmount->AdvancedSearch->SearchOperator = @$_GET["z_EvaluatorFeeAmount"];

		// EvaluatorFeeDate
		$CPDServiceProvider->EvaluatorFeeDate->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_EvaluatorFeeDate"]);
		$CPDServiceProvider->EvaluatorFeeDate->AdvancedSearch->SearchOperator = @$_GET["z_EvaluatorFeeDate"];

		// Comments
		$CPDServiceProvider->Comments->AdvancedSearch->SearchValue = ew_StripSlashes(@$_GET["x_Comments"]);
		$CPDServiceProvider->Comments->AdvancedSearch->SearchOperator = @$_GET["z_Comments"];
	}

	// Load recordset
	function LoadRecordset($offset = -1, $rowcnt = -1) {
		global $conn, $CPDServiceProvider;

		// Call Recordset Selecting event
		$CPDServiceProvider->Recordset_Selecting($CPDServiceProvider->CurrentFilter);

		// Load List page SQL
		$sSql = $CPDServiceProvider->SelectSQL();
		if ($offset > -1 && $rowcnt > -1)
			$sSql .= " LIMIT $offset, $rowcnt";

		// Load recordset
		$rs = ew_LoadRecordset($sSql);

		// Call Recordset Selected event
		$CPDServiceProvider->Recordset_Selected($rs);
		return $rs;
	}

	// Load row based on key values
	function LoadRow() {
		global $conn, $Security, $CPDServiceProvider;
		$sFilter = $CPDServiceProvider->KeyFilter();

		// Call Row Selecting event
		$CPDServiceProvider->Row_Selecting($sFilter);

		// Load SQL based on filter
		$CPDServiceProvider->CurrentFilter = $sFilter;
		$sSql = $CPDServiceProvider->SQL();
		$res = FALSE;
		$rs = ew_LoadRecordset($sSql);
		if ($rs && !$rs->EOF) {
			$res = TRUE;
			$this->LoadRowValues($rs); // Load row values

			// Call Row Selected event
			$CPDServiceProvider->Row_Selected($rs);
			$rs->Close();
		}
		return $res;
	}

	// Load row values from recordset
	function LoadRowValues(&$rs) {
		global $conn, $CPDServiceProvider;
		$CPDServiceProvider->CPDProviderID->setDbValue($rs->fields('CPDProviderID'));
		$CPDServiceProvider->CompanyName->setDbValue($rs->fields('CompanyName'));
		$CPDServiceProvider->TradingAs->setDbValue($rs->fields('TradingAs'));
		$CPDServiceProvider->PhoneNumber->setDbValue($rs->fields('PhoneNumber'));
		$CPDServiceProvider->CellNumber->setDbValue($rs->fields('CellNumber'));
		$CPDServiceProvider->EmailAddress->setDbValue($rs->fields('EmailAddress'));
		$CPDServiceProvider->Website->setDbValue($rs->fields('Website'));
		$CPDServiceProvider->VATNumber->setDbValue($rs->fields('VATNumber'));
		$CPDServiceProvider->PhysicalAddress1->setDbValue($rs->fields('PhysicalAddress1'));
		$CPDServiceProvider->PhysicalAddress2->setDbValue($rs->fields('PhysicalAddress2'));
		$CPDServiceProvider->PhysicalCity->setDbValue($rs->fields('PhysicalCity'));
		$CPDServiceProvider->PhysicalCode->setDbValue($rs->fields('PhysicalCode'));
		$CPDServiceProvider->PhysicalProvince->setDbValue($rs->fields('PhysicalProvince'));
		$CPDServiceProvider->PhysicalCountry->setDbValue($rs->fields('PhysicalCountry'));
		$CPDServiceProvider->PostalAddress1->setDbValue($rs->fields('PostalAddress1'));
		$CPDServiceProvider->PostalAddress2->setDbValue($rs->fields('PostalAddress2'));
		$CPDServiceProvider->PostalCity->setDbValue($rs->fields('PostalCity'));
		$CPDServiceProvider->PostalCode->setDbValue($rs->fields('PostalCode'));
		$CPDServiceProvider->PostalProvince->setDbValue($rs->fields('PostalProvince'));
		$CPDServiceProvider->PostalCountry->setDbValue($rs->fields('PostalCountry'));
		$CPDServiceProvider->Password->setDbValue($rs->fields('Password'));
		$CPDServiceProvider->UpdatedBy->setDbValue($rs->fields('UpdatedBy'));
		$CPDServiceProvider->Archived->setDbValue($rs->fields('Archived'));
		$CPDServiceProvider->ContactTitle->setDbValue($rs->fields('ContactTitle'));
		$CPDServiceProvider->ContactInitials->setDbValue($rs->fields('ContactInitials'));
		$CPDServiceProvider->ContactFirstName->setDbValue($rs->fields('ContactFirstName'));
		$CPDServiceProvider->ContactSurname->setDbValue($rs->fields('ContactSurname'));
		$CPDServiceProvider->ContactPosition->setDbValue($rs->fields('ContactPosition'));
		$CPDServiceProvider->ContactPhone->setDbValue($rs->fields('ContactPhone'));
		$CPDServiceProvider->ContactCell->setDbValue($rs->fields('ContactCell'));
		$CPDServiceProvider->ContactEmail->setDbValue($rs->fields('ContactEmail'));
		$CPDServiceProvider->ContactIDNum->setDbValue($rs->fields('ContactIDNum'));
		$CPDServiceProvider->AdminTitle->setDbValue($rs->fields('AdminTitle'));
		$CPDServiceProvider->AdminInitials->setDbValue($rs->fields('AdminInitials'));
		$CPDServiceProvider->AdminFirstName->setDbValue($rs->fields('AdminFirstName'));
		$CPDServiceProvider->AdminSurname->setDbValue($rs->fields('AdminSurname'));
		$CPDServiceProvider->AdminPosition->setDbValue($rs->fields('AdminPosition'));
		$CPDServiceProvider->AdminPhone->setDbValue($rs->fields('AdminPhone'));
		$CPDServiceProvider->AdminCell->setDbValue($rs->fields('AdminCell'));
		$CPDServiceProvider->AdminEmail->setDbValue($rs->fields('AdminEmail'));
		$CPDServiceProvider->AdminIDNum->setDbValue($rs->fields('AdminIDNum'));
		$CPDServiceProvider->EvaluatorID->setDbValue($rs->fields('EvaluatorID'));
		$CPDServiceProvider->EvaluatorID2->setDbValue($rs->fields('EvaluatorID2'));
		$CPDServiceProvider->EvaluatorID3->setDbValue($rs->fields('EvaluatorID3'));
		$CPDServiceProvider->Approved->setDbValue($rs->fields('Approved'));
		$CPDServiceProvider->SPNumber->setDbValue($rs->fields('SPNumber'));
		$CPDServiceProvider->DateUpdated->setDbValue($rs->fields('DateUpdated'));
		$CPDServiceProvider->DateAssessed->setDbValue($rs->fields('DateAssessed'));
		$CPDServiceProvider->DateExpires->setDbValue($rs->fields('DateExpires'));
		$CPDServiceProvider->InvoiceCode->setDbValue($rs->fields('InvoiceCode'));
		$CPDServiceProvider->InvoiceNumber->setDbValue($rs->fields('InvoiceNumber'));
		$CPDServiceProvider->Cost->setDbValue($rs->fields('Cost'));
		$CPDServiceProvider->DepositAmt->setDbValue($rs->fields('DepositAmt'));
		$CPDServiceProvider->EvaluatorFee->setDbValue($rs->fields('EvaluatorFee'));
		$CPDServiceProvider->EvaluatorFeeAmount->setDbValue($rs->fields('EvaluatorFeeAmount'));
		$CPDServiceProvider->EvaluatorFeeDate->setDbValue($rs->fields('EvaluatorFeeDate'));
		$CPDServiceProvider->Comments->setDbValue($rs->fields('Comments'));
	}

	// Render row values based on field settings
	function RenderRow() {
		global $conn, $Security, $Language, $CPDServiceProvider;

		// Initialize URLs
		$this->ViewUrl = $CPDServiceProvider->ViewUrl();
		$this->EditUrl = $CPDServiceProvider->EditUrl();
		$this->InlineEditUrl = $CPDServiceProvider->InlineEditUrl();
		$this->CopyUrl = $CPDServiceProvider->CopyUrl();
		$this->InlineCopyUrl = $CPDServiceProvider->InlineCopyUrl();
		$this->DeleteUrl = $CPDServiceProvider->DeleteUrl();

		// Call Row_Rendering event
		$CPDServiceProvider->Row_Rendering();

		// Common render codes for all row types
		// CompanyName

		$CPDServiceProvider->CompanyName->CellCssStyle = ""; $CPDServiceProvider->CompanyName->CellCssClass = "";
		$CPDServiceProvider->CompanyName->CellAttrs = array(); $CPDServiceProvider->CompanyName->ViewAttrs = array(); $CPDServiceProvider->CompanyName->EditAttrs = array();

		// TradingAs
		$CPDServiceProvider->TradingAs->CellCssStyle = ""; $CPDServiceProvider->TradingAs->CellCssClass = "";
		$CPDServiceProvider->TradingAs->CellAttrs = array(); $CPDServiceProvider->TradingAs->ViewAttrs = array(); $CPDServiceProvider->TradingAs->EditAttrs = array();

		// EmailAddress
		$CPDServiceProvider->EmailAddress->CellCssStyle = ""; $CPDServiceProvider->EmailAddress->CellCssClass = "";
		$CPDServiceProvider->EmailAddress->CellAttrs = array(); $CPDServiceProvider->EmailAddress->ViewAttrs = array(); $CPDServiceProvider->EmailAddress->EditAttrs = array();

		// ContactFirstName
		$CPDServiceProvider->ContactFirstName->CellCssStyle = ""; $CPDServiceProvider->ContactFirstName->CellCssClass = "";
		$CPDServiceProvider->ContactFirstName->CellAttrs = array(); $CPDServiceProvider->ContactFirstName->ViewAttrs = array(); $CPDServiceProvider->ContactFirstName->EditAttrs = array();

		// ContactSurname
		$CPDServiceProvider->ContactSurname->CellCssStyle = ""; $CPDServiceProvider->ContactSurname->CellCssClass = "";
		$CPDServiceProvider->ContactSurname->CellAttrs = array(); $CPDServiceProvider->ContactSurname->ViewAttrs = array(); $CPDServiceProvider->ContactSurname->EditAttrs = array();

		// Approved
		$CPDServiceProvider->Approved->CellCssStyle = ""; $CPDServiceProvider->Approved->CellCssClass = "";
		$CPDServiceProvider->Approved->CellAttrs = array(); $CPDServiceProvider->Approved->ViewAttrs = array(); $CPDServiceProvider->Approved->EditAttrs = array();

		// SPNumber
		$CPDServiceProvider->SPNumber->CellCssStyle = ""; $CPDServiceProvider->SPNumber->CellCssClass = "";
		$CPDServiceProvider->SPNumber->CellAttrs = array(); $CPDServiceProvider->SPNumber->ViewAttrs = array(); $CPDServiceProvider->SPNumber->EditAttrs = array();

		// DateAssessed
		$CPDServiceProvider->DateAssessed->CellCssStyle = ""; $CPDServiceProvider->DateAssessed->CellCssClass = "";
		$CPDServiceProvider->DateAssessed->CellAttrs = array(); $CPDServiceProvider->DateAssessed->ViewAttrs = array(); $CPDServiceProvider->DateAssessed->EditAttrs = array();

		// DateExpires
		$CPDServiceProvider->DateExpires->CellCssStyle = ""; $CPDServiceProvider->DateExpires->CellCssClass = "";
		$CPDServiceProvider->DateExpires->CellAttrs = array(); $CPDServiceProvider->DateExpires->ViewAttrs = array(); $CPDServiceProvider->DateExpires->EditAttrs = array();
		if ($CPDServiceProvider->RowType == EW_ROWTYPE_VIEW) { // View row

			// CPDProviderID
			$CPDServiceProvider->CPDProviderID->ViewValue = $CPDServiceProvider->CPDProviderID->CurrentValue;
			$CPDServiceProvider->CPDProviderID->CssStyle = "";
			$CPDServiceProvider->CPDProviderID->CssClass = "";
			$CPDServiceProvider->CPDProviderID->ViewCustomAttributes = "";

			// CompanyName
			$CPDServiceProvider->CompanyName->ViewValue = $CPDServiceProvider->CompanyName->CurrentValue;
			$CPDServiceProvider->CompanyName->CssStyle = "";
			$CPDServiceProvider->CompanyName->CssClass = "";
			$CPDServiceProvider->CompanyName->ViewCustomAttributes = "";

			// TradingAs
			$CPDServiceProvider->TradingAs->ViewValue = $CPDServiceProvider->TradingAs->CurrentValue;
			$CPDServiceProvider->TradingAs->CssStyle = "";
			$CPDServiceProvider->TradingAs->CssClass = "";
			$CPDServiceProvider->TradingAs->ViewCustomAttributes = "";

			// PhoneNumber
			$CPDServiceProvider->PhoneNumber->ViewValue = $CPDServiceProvider->PhoneNumber->CurrentValue;
			$CPDServiceProvider->PhoneNumber->CssStyle = "";
			$CPDServiceProvider->PhoneNumber->CssClass = "";
			$CPDServiceProvider->PhoneNumber->ViewCustomAttributes = "";

			// CellNumber
			$CPDServiceProvider->CellNumber->ViewValue = $CPDServiceProvider->CellNumber->CurrentValue;
			$CPDServiceProvider->CellNumber->CssStyle = "";
			$CPDServiceProvider->CellNumber->CssClass = "";
			$CPDServiceProvider->CellNumber->ViewCustomAttributes = "";

			// EmailAddress
			$CPDServiceProvider->EmailAddress->ViewValue = $CPDServiceProvider->EmailAddress->CurrentValue;
			$CPDServiceProvider->EmailAddress->CssStyle = "";
			$CPDServiceProvider->EmailAddress->CssClass = "";
			$CPDServiceProvider->EmailAddress->ViewCustomAttributes = "";

			// Website
			$CPDServiceProvider->Website->ViewValue = $CPDServiceProvider->Website->CurrentValue;
			$CPDServiceProvider->Website->CssStyle = "";
			$CPDServiceProvider->Website->CssClass = "";
			$CPDServiceProvider->Website->ViewCustomAttributes = "";

			// VATNumber
			$CPDServiceProvider->VATNumber->ViewValue = $CPDServiceProvider->VATNumber->CurrentValue;
			$CPDServiceProvider->VATNumber->CssStyle = "";
			$CPDServiceProvider->VATNumber->CssClass = "";
			$CPDServiceProvider->VATNumber->ViewCustomAttributes = "";

			// PhysicalAddress1
			$CPDServiceProvider->PhysicalAddress1->ViewValue = $CPDServiceProvider->PhysicalAddress1->CurrentValue;
			$CPDServiceProvider->PhysicalAddress1->CssStyle = "";
			$CPDServiceProvider->PhysicalAddress1->CssClass = "";
			$CPDServiceProvider->PhysicalAddress1->ViewCustomAttributes = "";

			// PhysicalAddress2
			$CPDServiceProvider->PhysicalAddress2->ViewValue = $CPDServiceProvider->PhysicalAddress2->CurrentValue;
			$CPDServiceProvider->PhysicalAddress2->CssStyle = "";
			$CPDServiceProvider->PhysicalAddress2->CssClass = "";
			$CPDServiceProvider->PhysicalAddress2->ViewCustomAttributes = "";

			// PhysicalCity
			$CPDServiceProvider->PhysicalCity->ViewValue = $CPDServiceProvider->PhysicalCity->CurrentValue;
			$CPDServiceProvider->PhysicalCity->CssStyle = "";
			$CPDServiceProvider->PhysicalCity->CssClass = "";
			$CPDServiceProvider->PhysicalCity->ViewCustomAttributes = "";

			// PhysicalCode
			$CPDServiceProvider->PhysicalCode->ViewValue = $CPDServiceProvider->PhysicalCode->CurrentValue;
			$CPDServiceProvider->PhysicalCode->CssStyle = "";
			$CPDServiceProvider->PhysicalCode->CssClass = "";
			$CPDServiceProvider->PhysicalCode->ViewCustomAttributes = "";

			// PhysicalProvince
			if (strval($CPDServiceProvider->PhysicalProvince->CurrentValue) <> "") {
				$sFilterWrk = "`PicklistValue` = '" . ew_AdjustSql($CPDServiceProvider->PhysicalProvince->CurrentValue) . "'";
			$sSqlWrk = "SELECT `PicklistValue` FROM `Picklists`";
			$sWhereWrk = "";
			if ($sWhereWrk <> "") $sWhereWrk .= " AND ";
			$sWhereWrk .= "(" . "PicklistType='Province'" . ")";
			if ($sFilterWrk <> "") {
				if ($sWhereWrk <> "") $sWhereWrk .= " AND ";
				$sWhereWrk .= "(" . $sFilterWrk . ")";
			}
			if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk;
			$sSqlWrk .= " ORDER BY `DisplayOrder`";
				$rswrk = $conn->Execute($sSqlWrk);
				if ($rswrk && !$rswrk->EOF) { // Lookup values found
					$CPDServiceProvider->PhysicalProvince->ViewValue = $rswrk->fields('PicklistValue');
					$rswrk->Close();
				} else {
					$CPDServiceProvider->PhysicalProvince->ViewValue = $CPDServiceProvider->PhysicalProvince->CurrentValue;
				}
			} else {
				$CPDServiceProvider->PhysicalProvince->ViewValue = NULL;
			}
			$CPDServiceProvider->PhysicalProvince->CssStyle = "";
			$CPDServiceProvider->PhysicalProvince->CssClass = "";
			$CPDServiceProvider->PhysicalProvince->ViewCustomAttributes = "";

			// PhysicalCountry
			$CPDServiceProvider->PhysicalCountry->ViewValue = $CPDServiceProvider->PhysicalCountry->CurrentValue;
			$CPDServiceProvider->PhysicalCountry->CssStyle = "";
			$CPDServiceProvider->PhysicalCountry->CssClass = "";
			$CPDServiceProvider->PhysicalCountry->ViewCustomAttributes = "";

			// PostalAddress1
			$CPDServiceProvider->PostalAddress1->ViewValue = $CPDServiceProvider->PostalAddress1->CurrentValue;
			$CPDServiceProvider->PostalAddress1->CssStyle = "";
			$CPDServiceProvider->PostalAddress1->CssClass = "";
			$CPDServiceProvider->PostalAddress1->ViewCustomAttributes = "";

			// PostalAddress2
			$CPDServiceProvider->PostalAddress2->ViewValue = $CPDServiceProvider->PostalAddress2->CurrentValue;
			$CPDServiceProvider->PostalAddress2->CssStyle = "";
			$CPDServiceProvider->PostalAddress2->CssClass = "";
			$CPDServiceProvider->PostalAddress2->ViewCustomAttributes = "";

			// PostalCity
			$CPDServiceProvider->PostalCity->ViewValue = $CPDServiceProvider->PostalCity->CurrentValue;
			$CPDServiceProvider->PostalCity->CssStyle = "";
			$CPDServiceProvider->PostalCity->CssClass = "";
			$CPDServiceProvider->PostalCity->ViewCustomAttributes = "";

			// PostalCode
			$CPDServiceProvider->PostalCode->ViewValue = $CPDServiceProvider->PostalCode->CurrentValue;
			$CPDServiceProvider->PostalCode->CssStyle = "";
			$CPDServiceProvider->PostalCode->CssClass = "";
			$CPDServiceProvider->PostalCode->ViewCustomAttributes = "";

			// PostalProvince
			if (strval($CPDServiceProvider->PostalProvince->CurrentValue) <> "") {
				$sFilterWrk = "`PicklistValue` = '" . ew_AdjustSql($CPDServiceProvider->PostalProvince->CurrentValue) . "'";
			$sSqlWrk = "SELECT `PicklistValue` FROM `Picklists`";
			$sWhereWrk = "";
			if ($sWhereWrk <> "") $sWhereWrk .= " AND ";
			$sWhereWrk .= "(" . "PicklistType='Province'" . ")";
			if ($sFilterWrk <> "") {
				if ($sWhereWrk <> "") $sWhereWrk .= " AND ";
				$sWhereWrk .= "(" . $sFilterWrk . ")";
			}
			if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk;
			$sSqlWrk .= " ORDER BY `PicklistValue`";
				$rswrk = $conn->Execute($sSqlWrk);
				if ($rswrk && !$rswrk->EOF) { // Lookup values found
					$CPDServiceProvider->PostalProvince->ViewValue = $rswrk->fields('PicklistValue');
					$rswrk->Close();
				} else {
					$CPDServiceProvider->PostalProvince->ViewValue = $CPDServiceProvider->PostalProvince->CurrentValue;
				}
			} else {
				$CPDServiceProvider->PostalProvince->ViewValue = NULL;
			}
			$CPDServiceProvider->PostalProvince->CssStyle = "";
			$CPDServiceProvider->PostalProvince->CssClass = "";
			$CPDServiceProvider->PostalProvince->ViewCustomAttributes = "";

			// PostalCountry
			$CPDServiceProvider->PostalCountry->ViewValue = $CPDServiceProvider->PostalCountry->CurrentValue;
			$CPDServiceProvider->PostalCountry->CssStyle = "";
			$CPDServiceProvider->PostalCountry->CssClass = "";
			$CPDServiceProvider->PostalCountry->ViewCustomAttributes = "";

			// Password
			$CPDServiceProvider->Password->ViewValue = $CPDServiceProvider->Password->CurrentValue;
			$CPDServiceProvider->Password->CssStyle = "";
			$CPDServiceProvider->Password->CssClass = "";
			$CPDServiceProvider->Password->ViewCustomAttributes = "";

			// UpdatedBy
			$CPDServiceProvider->UpdatedBy->ViewValue = $CPDServiceProvider->UpdatedBy->CurrentValue;
			$CPDServiceProvider->UpdatedBy->CssStyle = "";
			$CPDServiceProvider->UpdatedBy->CssClass = "";
			$CPDServiceProvider->UpdatedBy->ViewCustomAttributes = "";

			// Archived
			if (strval($CPDServiceProvider->Archived->CurrentValue) <> "") {
				switch ($CPDServiceProvider->Archived->CurrentValue) {
					case "1":
						$CPDServiceProvider->Archived->ViewValue = "Yes";
						break;
					case "0":
						$CPDServiceProvider->Archived->ViewValue = "No";
						break;
					default:
						$CPDServiceProvider->Archived->ViewValue = $CPDServiceProvider->Archived->CurrentValue;
				}
			} else {
				$CPDServiceProvider->Archived->ViewValue = NULL;
			}
			$CPDServiceProvider->Archived->CssStyle = "";
			$CPDServiceProvider->Archived->CssClass = "";
			$CPDServiceProvider->Archived->ViewCustomAttributes = "";

			// ContactTitle
			if (strval($CPDServiceProvider->ContactTitle->CurrentValue) <> "") {
				$sFilterWrk = "`PicklistValue` = '" . ew_AdjustSql($CPDServiceProvider->ContactTitle->CurrentValue) . "'";
			$sSqlWrk = "SELECT `PicklistValue` FROM `Picklists`";
			$sWhereWrk = "";
			if ($sWhereWrk <> "") $sWhereWrk .= " AND ";
			$sWhereWrk .= "(" . "PicklistType='Title'" . ")";
			if ($sFilterWrk <> "") {
				if ($sWhereWrk <> "") $sWhereWrk .= " AND ";
				$sWhereWrk .= "(" . $sFilterWrk . ")";
			}
			if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk;
			$sSqlWrk .= " ORDER BY `DisplayOrder`";
				$rswrk = $conn->Execute($sSqlWrk);
				if ($rswrk && !$rswrk->EOF) { // Lookup values found
					$CPDServiceProvider->ContactTitle->ViewValue = $rswrk->fields('PicklistValue');
					$rswrk->Close();
				} else {
					$CPDServiceProvider->ContactTitle->ViewValue = $CPDServiceProvider->ContactTitle->CurrentValue;
				}
			} else {
				$CPDServiceProvider->ContactTitle->ViewValue = NULL;
			}
			$CPDServiceProvider->ContactTitle->CssStyle = "";
			$CPDServiceProvider->ContactTitle->CssClass = "";
			$CPDServiceProvider->ContactTitle->ViewCustomAttributes = "";

			// ContactInitials
			$CPDServiceProvider->ContactInitials->ViewValue = $CPDServiceProvider->ContactInitials->CurrentValue;
			$CPDServiceProvider->ContactInitials->CssStyle = "";
			$CPDServiceProvider->ContactInitials->CssClass = "";
			$CPDServiceProvider->ContactInitials->ViewCustomAttributes = "";

			// ContactFirstName
			$CPDServiceProvider->ContactFirstName->ViewValue = $CPDServiceProvider->ContactFirstName->CurrentValue;
			$CPDServiceProvider->ContactFirstName->CssStyle = "";
			$CPDServiceProvider->ContactFirstName->CssClass = "";
			$CPDServiceProvider->ContactFirstName->ViewCustomAttributes = "";

			// ContactSurname
			$CPDServiceProvider->ContactSurname->ViewValue = $CPDServiceProvider->ContactSurname->CurrentValue;
			$CPDServiceProvider->ContactSurname->CssStyle = "";
			$CPDServiceProvider->ContactSurname->CssClass = "";
			$CPDServiceProvider->ContactSurname->ViewCustomAttributes = "";

			// ContactPosition
			$CPDServiceProvider->ContactPosition->ViewValue = $CPDServiceProvider->ContactPosition->CurrentValue;
			$CPDServiceProvider->ContactPosition->CssStyle = "";
			$CPDServiceProvider->ContactPosition->CssClass = "";
			$CPDServiceProvider->ContactPosition->ViewCustomAttributes = "";

			// ContactPhone
			$CPDServiceProvider->ContactPhone->ViewValue = $CPDServiceProvider->ContactPhone->CurrentValue;
			$CPDServiceProvider->ContactPhone->CssStyle = "";
			$CPDServiceProvider->ContactPhone->CssClass = "";
			$CPDServiceProvider->ContactPhone->ViewCustomAttributes = "";

			// ContactCell
			$CPDServiceProvider->ContactCell->ViewValue = $CPDServiceProvider->ContactCell->CurrentValue;
			$CPDServiceProvider->ContactCell->CssStyle = "";
			$CPDServiceProvider->ContactCell->CssClass = "";
			$CPDServiceProvider->ContactCell->ViewCustomAttributes = "";

			// ContactEmail
			$CPDServiceProvider->ContactEmail->ViewValue = $CPDServiceProvider->ContactEmail->CurrentValue;
			$CPDServiceProvider->ContactEmail->CssStyle = "";
			$CPDServiceProvider->ContactEmail->CssClass = "";
			$CPDServiceProvider->ContactEmail->ViewCustomAttributes = "";

			// ContactIDNum
			$CPDServiceProvider->ContactIDNum->ViewValue = $CPDServiceProvider->ContactIDNum->CurrentValue;
			$CPDServiceProvider->ContactIDNum->CssStyle = "";
			$CPDServiceProvider->ContactIDNum->CssClass = "";
			$CPDServiceProvider->ContactIDNum->ViewCustomAttributes = "";

			// AdminTitle
			$CPDServiceProvider->AdminTitle->ViewValue = $CPDServiceProvider->AdminTitle->CurrentValue;
			$CPDServiceProvider->AdminTitle->CssStyle = "";
			$CPDServiceProvider->AdminTitle->CssClass = "";
			$CPDServiceProvider->AdminTitle->ViewCustomAttributes = "";

			// AdminInitials
			$CPDServiceProvider->AdminInitials->ViewValue = $CPDServiceProvider->AdminInitials->CurrentValue;
			$CPDServiceProvider->AdminInitials->CssStyle = "";
			$CPDServiceProvider->AdminInitials->CssClass = "";
			$CPDServiceProvider->AdminInitials->ViewCustomAttributes = "";

			// AdminFirstName
			$CPDServiceProvider->AdminFirstName->ViewValue = $CPDServiceProvider->AdminFirstName->CurrentValue;
			$CPDServiceProvider->AdminFirstName->CssStyle = "";
			$CPDServiceProvider->AdminFirstName->CssClass = "";
			$CPDServiceProvider->AdminFirstName->ViewCustomAttributes = "";

			// AdminSurname
			$CPDServiceProvider->AdminSurname->ViewValue = $CPDServiceProvider->AdminSurname->CurrentValue;
			$CPDServiceProvider->AdminSurname->CssStyle = "";
			$CPDServiceProvider->AdminSurname->CssClass = "";
			$CPDServiceProvider->AdminSurname->ViewCustomAttributes = "";

			// AdminPosition
			$CPDServiceProvider->AdminPosition->ViewValue = $CPDServiceProvider->AdminPosition->CurrentValue;
			$CPDServiceProvider->AdminPosition->CssStyle = "";
			$CPDServiceProvider->AdminPosition->CssClass = "";
			$CPDServiceProvider->AdminPosition->ViewCustomAttributes = "";

			// AdminPhone
			$CPDServiceProvider->AdminPhone->ViewValue = $CPDServiceProvider->AdminPhone->CurrentValue;
			$CPDServiceProvider->AdminPhone->CssStyle = "";
			$CPDServiceProvider->AdminPhone->CssClass = "";
			$CPDServiceProvider->AdminPhone->ViewCustomAttributes = "";

			// AdminCell
			$CPDServiceProvider->AdminCell->ViewValue = $CPDServiceProvider->AdminCell->CurrentValue;
			$CPDServiceProvider->AdminCell->CssStyle = "";
			$CPDServiceProvider->AdminCell->CssClass = "";
			$CPDServiceProvider->AdminCell->ViewCustomAttributes = "";

			// AdminEmail
			$CPDServiceProvider->AdminEmail->ViewValue = $CPDServiceProvider->AdminEmail->CurrentValue;
			$CPDServiceProvider->AdminEmail->CssStyle = "";
			$CPDServiceProvider->AdminEmail->CssClass = "";
			$CPDServiceProvider->AdminEmail->ViewCustomAttributes = "";

			// AdminIDNum
			$CPDServiceProvider->AdminIDNum->ViewValue = $CPDServiceProvider->AdminIDNum->CurrentValue;
			$CPDServiceProvider->AdminIDNum->CssStyle = "";
			$CPDServiceProvider->AdminIDNum->CssClass = "";
			$CPDServiceProvider->AdminIDNum->ViewCustomAttributes = "";

			// EvaluatorID
			if (strval($CPDServiceProvider->EvaluatorID->CurrentValue) <> "") {
				$sFilterWrk = "`EvaluatorID` = " . ew_AdjustSql($CPDServiceProvider->EvaluatorID->CurrentValue) . "";
			$sSqlWrk = "SELECT `EvaluatorName` FROM `TrainingEvaluators`";
			$sWhereWrk = "";
			if ($sFilterWrk <> "") {
				if ($sWhereWrk <> "") $sWhereWrk .= " AND ";
				$sWhereWrk .= "(" . $sFilterWrk . ")";
			}
			if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk;
			$sSqlWrk .= " ORDER BY `EvaluatorName`";
				$rswrk = $conn->Execute($sSqlWrk);
				if ($rswrk && !$rswrk->EOF) { // Lookup values found
					$CPDServiceProvider->EvaluatorID->ViewValue = $rswrk->fields('EvaluatorName');
					$rswrk->Close();
				} else {
					$CPDServiceProvider->EvaluatorID->ViewValue = $CPDServiceProvider->EvaluatorID->CurrentValue;
				}
			} else {
				$CPDServiceProvider->EvaluatorID->ViewValue = NULL;
			}
			$CPDServiceProvider->EvaluatorID->CssStyle = "";
			$CPDServiceProvider->EvaluatorID->CssClass = "";
			$CPDServiceProvider->EvaluatorID->ViewCustomAttributes = "";

			// EvaluatorID2
			if (strval($CPDServiceProvider->EvaluatorID2->CurrentValue) <> "") {
				$sFilterWrk = "`EvaluatorID` = " . ew_AdjustSql($CPDServiceProvider->EvaluatorID2->CurrentValue) . "";
			$sSqlWrk = "SELECT `EvaluatorName` FROM `TrainingEvaluators`";
			$sWhereWrk = "";
			if ($sFilterWrk <> "") {
				if ($sWhereWrk <> "") $sWhereWrk .= " AND ";
				$sWhereWrk .= "(" . $sFilterWrk . ")";
			}
			if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk;
			$sSqlWrk .= " ORDER BY `EvaluatorName`";
				$rswrk = $conn->Execute($sSqlWrk);
				if ($rswrk && !$rswrk->EOF) { // Lookup values found
					$CPDServiceProvider->EvaluatorID2->ViewValue = $rswrk->fields('EvaluatorName');
					$rswrk->Close();
				} else {
					$CPDServiceProvider->EvaluatorID2->ViewValue = $CPDServiceProvider->EvaluatorID2->CurrentValue;
				}
			} else {
				$CPDServiceProvider->EvaluatorID2->ViewValue = NULL;
			}
			$CPDServiceProvider->EvaluatorID2->CssStyle = "";
			$CPDServiceProvider->EvaluatorID2->CssClass = "";
			$CPDServiceProvider->EvaluatorID2->ViewCustomAttributes = "";

			// EvaluatorID3
			if (strval($CPDServiceProvider->EvaluatorID3->CurrentValue) <> "") {
				$sFilterWrk = "`EvaluatorID` = " . ew_AdjustSql($CPDServiceProvider->EvaluatorID3->CurrentValue) . "";
			$sSqlWrk = "SELECT `EvaluatorName` FROM `TrainingEvaluators`";
			$sWhereWrk = "";
			if ($sFilterWrk <> "") {
				if ($sWhereWrk <> "") $sWhereWrk .= " AND ";
				$sWhereWrk .= "(" . $sFilterWrk . ")";
			}
			if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk;
			$sSqlWrk .= " ORDER BY `EvaluatorName`";
				$rswrk = $conn->Execute($sSqlWrk);
				if ($rswrk && !$rswrk->EOF) { // Lookup values found
					$CPDServiceProvider->EvaluatorID3->ViewValue = $rswrk->fields('EvaluatorName');
					$rswrk->Close();
				} else {
					$CPDServiceProvider->EvaluatorID3->ViewValue = $CPDServiceProvider->EvaluatorID3->CurrentValue;
				}
			} else {
				$CPDServiceProvider->EvaluatorID3->ViewValue = NULL;
			}
			$CPDServiceProvider->EvaluatorID3->CssStyle = "";
			$CPDServiceProvider->EvaluatorID3->CssClass = "";
			$CPDServiceProvider->EvaluatorID3->ViewCustomAttributes = "";

			// Approved
			if (strval($CPDServiceProvider->Approved->CurrentValue) <> "") {
				switch ($CPDServiceProvider->Approved->CurrentValue) {
					case "P":
						$CPDServiceProvider->Approved->ViewValue = "Pending Evaluation";
						break;
					case "A":
						$CPDServiceProvider->Approved->ViewValue = "Approved";
						break;
					case "R":
						$CPDServiceProvider->Approved->ViewValue = "Rejected";
						break;
					case "E":
						$CPDServiceProvider->Approved->ViewValue = "Expired";
						break;
					default:
						$CPDServiceProvider->Approved->ViewValue = $CPDServiceProvider->Approved->CurrentValue;
				}
			} else {
				$CPDServiceProvider->Approved->ViewValue = NULL;
			}
			$CPDServiceProvider->Approved->CssStyle = "";
			$CPDServiceProvider->Approved->CssClass = "";
			$CPDServiceProvider->Approved->ViewCustomAttributes = "";

			// SPNumber
			$CPDServiceProvider->SPNumber->ViewValue = $CPDServiceProvider->SPNumber->CurrentValue;
			$CPDServiceProvider->SPNumber->CssStyle = "";
			$CPDServiceProvider->SPNumber->CssClass = "";
			$CPDServiceProvider->SPNumber->ViewCustomAttributes = "";

			// DateUpdated
			$CPDServiceProvider->DateUpdated->ViewValue = $CPDServiceProvider->DateUpdated->CurrentValue;
			$CPDServiceProvider->DateUpdated->ViewValue = ew_FormatDateTime($CPDServiceProvider->DateUpdated->ViewValue, 5);
			$CPDServiceProvider->DateUpdated->CssStyle = "";
			$CPDServiceProvider->DateUpdated->CssClass = "";
			$CPDServiceProvider->DateUpdated->ViewCustomAttributes = "";

			// DateAssessed
			$CPDServiceProvider->DateAssessed->ViewValue = $CPDServiceProvider->DateAssessed->CurrentValue;
			$CPDServiceProvider->DateAssessed->ViewValue = ew_FormatDateTime($CPDServiceProvider->DateAssessed->ViewValue, 5);
			$CPDServiceProvider->DateAssessed->CssStyle = "";
			$CPDServiceProvider->DateAssessed->CssClass = "";
			$CPDServiceProvider->DateAssessed->ViewCustomAttributes = "";

			// DateExpires
			$CPDServiceProvider->DateExpires->ViewValue = $CPDServiceProvider->DateExpires->CurrentValue;
			$CPDServiceProvider->DateExpires->ViewValue = ew_FormatDateTime($CPDServiceProvider->DateExpires->ViewValue, 5);
			$CPDServiceProvider->DateExpires->CssStyle = "";
			$CPDServiceProvider->DateExpires->CssClass = "";
			$CPDServiceProvider->DateExpires->ViewCustomAttributes = "";

			// InvoiceCode
			$CPDServiceProvider->InvoiceCode->ViewValue = $CPDServiceProvider->InvoiceCode->CurrentValue;
			$CPDServiceProvider->InvoiceCode->CssStyle = "";
			$CPDServiceProvider->InvoiceCode->CssClass = "";
			$CPDServiceProvider->InvoiceCode->ViewCustomAttributes = "";

			// InvoiceNumber
			$CPDServiceProvider->InvoiceNumber->ViewValue = $CPDServiceProvider->InvoiceNumber->CurrentValue;
			$CPDServiceProvider->InvoiceNumber->CssStyle = "";
			$CPDServiceProvider->InvoiceNumber->CssClass = "";
			$CPDServiceProvider->InvoiceNumber->ViewCustomAttributes = "";

			// Cost
			$CPDServiceProvider->Cost->ViewValue = $CPDServiceProvider->Cost->CurrentValue;
			$CPDServiceProvider->Cost->CssStyle = "";
			$CPDServiceProvider->Cost->CssClass = "";
			$CPDServiceProvider->Cost->ViewCustomAttributes = "";

			// DepositAmt
			$CPDServiceProvider->DepositAmt->ViewValue = $CPDServiceProvider->DepositAmt->CurrentValue;
			$CPDServiceProvider->DepositAmt->CssStyle = "";
			$CPDServiceProvider->DepositAmt->CssClass = "";
			$CPDServiceProvider->DepositAmt->ViewCustomAttributes = "";

			// EvaluatorFee
			if (strval($CPDServiceProvider->EvaluatorFee->CurrentValue) <> "") {
				switch ($CPDServiceProvider->EvaluatorFee->CurrentValue) {
					case "1":
						$CPDServiceProvider->EvaluatorFee->ViewValue = "Yes";
						break;
					case "0":
						$CPDServiceProvider->EvaluatorFee->ViewValue = "No";
						break;
					default:
						$CPDServiceProvider->EvaluatorFee->ViewValue = $CPDServiceProvider->EvaluatorFee->CurrentValue;
				}
			} else {
				$CPDServiceProvider->EvaluatorFee->ViewValue = NULL;
			}
			$CPDServiceProvider->EvaluatorFee->CssStyle = "";
			$CPDServiceProvider->EvaluatorFee->CssClass = "";
			$CPDServiceProvider->EvaluatorFee->ViewCustomAttributes = "";

			// EvaluatorFeeAmount
			$CPDServiceProvider->EvaluatorFeeAmount->ViewValue = $CPDServiceProvider->EvaluatorFeeAmount->CurrentValue;
			$CPDServiceProvider->EvaluatorFeeAmount->CssStyle = "";
			$CPDServiceProvider->EvaluatorFeeAmount->CssClass = "";
			$CPDServiceProvider->EvaluatorFeeAmount->ViewCustomAttributes = "";

			// EvaluatorFeeDate
			$CPDServiceProvider->EvaluatorFeeDate->ViewValue = $CPDServiceProvider->EvaluatorFeeDate->CurrentValue;
			$CPDServiceProvider->EvaluatorFeeDate->ViewValue = ew_FormatDateTime($CPDServiceProvider->EvaluatorFeeDate->ViewValue, 5);
			$CPDServiceProvider->EvaluatorFeeDate->CssStyle = "";
			$CPDServiceProvider->EvaluatorFeeDate->CssClass = "";
			$CPDServiceProvider->EvaluatorFeeDate->ViewCustomAttributes = "";

			// CompanyName
			$CPDServiceProvider->CompanyName->HrefValue = "";
			$CPDServiceProvider->CompanyName->TooltipValue = "";

			// TradingAs
			$CPDServiceProvider->TradingAs->HrefValue = "";
			$CPDServiceProvider->TradingAs->TooltipValue = "";

			// EmailAddress
			$CPDServiceProvider->EmailAddress->HrefValue = "";
			$CPDServiceProvider->EmailAddress->TooltipValue = "";

			// ContactFirstName
			$CPDServiceProvider->ContactFirstName->HrefValue = "";
			$CPDServiceProvider->ContactFirstName->TooltipValue = "";

			// ContactSurname
			$CPDServiceProvider->ContactSurname->HrefValue = "";
			$CPDServiceProvider->ContactSurname->TooltipValue = "";

			// Approved
			$CPDServiceProvider->Approved->HrefValue = "";
			$CPDServiceProvider->Approved->TooltipValue = "";

			// SPNumber
			$CPDServiceProvider->SPNumber->HrefValue = "";
			$CPDServiceProvider->SPNumber->TooltipValue = "";

			// DateAssessed
			$CPDServiceProvider->DateAssessed->HrefValue = "";
			$CPDServiceProvider->DateAssessed->TooltipValue = "";

			// DateExpires
			$CPDServiceProvider->DateExpires->HrefValue = "";
			$CPDServiceProvider->DateExpires->TooltipValue = "";
		} elseif ($CPDServiceProvider->RowType == EW_ROWTYPE_SEARCH) { // Search row

			// CompanyName
			$CPDServiceProvider->CompanyName->EditCustomAttributes = "";
			$CPDServiceProvider->CompanyName->EditValue = ew_HtmlEncode($CPDServiceProvider->CompanyName->AdvancedSearch->SearchValue);

			// TradingAs
			$CPDServiceProvider->TradingAs->EditCustomAttributes = "";
			$CPDServiceProvider->TradingAs->EditValue = ew_HtmlEncode($CPDServiceProvider->TradingAs->AdvancedSearch->SearchValue);

			// EmailAddress
			$CPDServiceProvider->EmailAddress->EditCustomAttributes = "";
			$CPDServiceProvider->EmailAddress->EditValue = ew_HtmlEncode($CPDServiceProvider->EmailAddress->AdvancedSearch->SearchValue);

			// ContactFirstName
			$CPDServiceProvider->ContactFirstName->EditCustomAttributes = "";
			$CPDServiceProvider->ContactFirstName->EditValue = ew_HtmlEncode($CPDServiceProvider->ContactFirstName->AdvancedSearch->SearchValue);

			// ContactSurname
			$CPDServiceProvider->ContactSurname->EditCustomAttributes = "";
			$CPDServiceProvider->ContactSurname->EditValue = ew_HtmlEncode($CPDServiceProvider->ContactSurname->AdvancedSearch->SearchValue);

			// Approved
			$CPDServiceProvider->Approved->EditCustomAttributes = "";
			$arwrk = array();
			$arwrk[] = array("P", "Pending Evaluation");
			$arwrk[] = array("A", "Approved");
			$arwrk[] = array("R", "Rejected");
			$arwrk[] = array("E", "Expired");
			$CPDServiceProvider->Approved->EditValue = $arwrk;

			// SPNumber
			$CPDServiceProvider->SPNumber->EditCustomAttributes = "";
			$CPDServiceProvider->SPNumber->EditValue = ew_HtmlEncode($CPDServiceProvider->SPNumber->AdvancedSearch->SearchValue);

			// DateAssessed
			$CPDServiceProvider->DateAssessed->EditCustomAttributes = "";
			$CPDServiceProvider->DateAssessed->EditValue = ew_HtmlEncode(ew_FormatDateTime(ew_UnFormatDateTime($CPDServiceProvider->DateAssessed->AdvancedSearch->SearchValue, 5), 5));
			$CPDServiceProvider->DateAssessed->EditCustomAttributes = "";
			$CPDServiceProvider->DateAssessed->EditValue2 = ew_HtmlEncode(ew_FormatDateTime(ew_UnFormatDateTime($CPDServiceProvider->DateAssessed->AdvancedSearch->SearchValue2, 5), 5));

			// DateExpires
			$CPDServiceProvider->DateExpires->EditCustomAttributes = "";
			$CPDServiceProvider->DateExpires->EditValue = ew_HtmlEncode(ew_FormatDateTime(ew_UnFormatDateTime($CPDServiceProvider->DateExpires->AdvancedSearch->SearchValue, 5), 5));
		}

		// Call Row Rendered event
		if ($CPDServiceProvider->RowType <> EW_ROWTYPE_AGGREGATEINIT)
			$CPDServiceProvider->Row_Rendered();
	}

	// Validate search
	function ValidateSearch() {
		global $gsSearchError, $CPDServiceProvider;

		// Initialize
		$gsSearchError = "";

		// Check if validation required
		if (!EW_SERVER_VALIDATE)
			return TRUE;
		if (!ew_CheckDate($CPDServiceProvider->DateAssessed->AdvancedSearch->SearchValue)) {
			if ($gsSearchError <> "") $gsSearchError .= "<br>";
			$gsSearchError .= $CPDServiceProvider->DateAssessed->FldErrMsg();
		}
		if (!ew_CheckDate($CPDServiceProvider->DateAssessed->AdvancedSearch->SearchValue2)) {
			if ($gsSearchError <> "") $gsSearchError .= "<br>";
			$gsSearchError .= $CPDServiceProvider->DateAssessed->FldErrMsg();
		}

		// Return validate result
		$ValidateSearch = ($gsSearchError == "");

		// Call Form_CustomValidate event
		$sFormCustomError = "";
		$ValidateSearch = $ValidateSearch && $this->Form_CustomValidate($sFormCustomError);
		if ($sFormCustomError <> "") {
			if ($gsSearchError <> "") $gsSearchError .= "<br>";
			$gsSearchError .= $sFormCustomError;
		}
		return $ValidateSearch;
	}

	// Load advanced search
	function LoadAdvancedSearch() {
		global $CPDServiceProvider;
		$CPDServiceProvider->CPDProviderID->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_CPDProviderID");
		$CPDServiceProvider->CompanyName->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_CompanyName");
		$CPDServiceProvider->TradingAs->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_TradingAs");
		$CPDServiceProvider->PhoneNumber->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_PhoneNumber");
		$CPDServiceProvider->CellNumber->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_CellNumber");
		$CPDServiceProvider->EmailAddress->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_EmailAddress");
		$CPDServiceProvider->Website->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_Website");
		$CPDServiceProvider->VATNumber->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_VATNumber");
		$CPDServiceProvider->PhysicalAddress1->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_PhysicalAddress1");
		$CPDServiceProvider->PhysicalAddress2->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_PhysicalAddress2");
		$CPDServiceProvider->PhysicalCity->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_PhysicalCity");
		$CPDServiceProvider->PhysicalCode->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_PhysicalCode");
		$CPDServiceProvider->PhysicalProvince->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_PhysicalProvince");
		$CPDServiceProvider->PhysicalCountry->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_PhysicalCountry");
		$CPDServiceProvider->PostalAddress1->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_PostalAddress1");
		$CPDServiceProvider->PostalAddress2->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_PostalAddress2");
		$CPDServiceProvider->PostalCity->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_PostalCity");
		$CPDServiceProvider->PostalCode->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_PostalCode");
		$CPDServiceProvider->PostalProvince->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_PostalProvince");
		$CPDServiceProvider->PostalCountry->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_PostalCountry");
		$CPDServiceProvider->Password->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_Password");
		$CPDServiceProvider->UpdatedBy->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_UpdatedBy");
		$CPDServiceProvider->Archived->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_Archived");
		$CPDServiceProvider->ContactTitle->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_ContactTitle");
		$CPDServiceProvider->ContactInitials->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_ContactInitials");
		$CPDServiceProvider->ContactFirstName->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_ContactFirstName");
		$CPDServiceProvider->ContactSurname->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_ContactSurname");
		$CPDServiceProvider->ContactPosition->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_ContactPosition");
		$CPDServiceProvider->ContactPhone->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_ContactPhone");
		$CPDServiceProvider->ContactCell->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_ContactCell");
		$CPDServiceProvider->ContactEmail->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_ContactEmail");
		$CPDServiceProvider->ContactIDNum->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_ContactIDNum");
		$CPDServiceProvider->AdminTitle->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_AdminTitle");
		$CPDServiceProvider->AdminInitials->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_AdminInitials");
		$CPDServiceProvider->AdminFirstName->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_AdminFirstName");
		$CPDServiceProvider->AdminSurname->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_AdminSurname");
		$CPDServiceProvider->AdminPosition->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_AdminPosition");
		$CPDServiceProvider->AdminPhone->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_AdminPhone");
		$CPDServiceProvider->AdminCell->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_AdminCell");
		$CPDServiceProvider->AdminEmail->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_AdminEmail");
		$CPDServiceProvider->AdminIDNum->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_AdminIDNum");
		$CPDServiceProvider->EvaluatorID->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_EvaluatorID");
		$CPDServiceProvider->EvaluatorID2->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_EvaluatorID2");
		$CPDServiceProvider->EvaluatorID3->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_EvaluatorID3");
		$CPDServiceProvider->Approved->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_Approved");
		$CPDServiceProvider->SPNumber->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_SPNumber");
		$CPDServiceProvider->DateUpdated->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_DateUpdated");
		$CPDServiceProvider->DateAssessed->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_DateAssessed");
		$CPDServiceProvider->DateAssessed->AdvancedSearch->SearchValue2 = $CPDServiceProvider->getAdvancedSearch("y_DateAssessed");
		$CPDServiceProvider->DateExpires->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_DateExpires");
		$CPDServiceProvider->InvoiceCode->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_InvoiceCode");
		$CPDServiceProvider->InvoiceNumber->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_InvoiceNumber");
		$CPDServiceProvider->Cost->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_Cost");
		$CPDServiceProvider->DepositAmt->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_DepositAmt");
		$CPDServiceProvider->EvaluatorFee->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_EvaluatorFee");
		$CPDServiceProvider->EvaluatorFeeAmount->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_EvaluatorFeeAmount");
		$CPDServiceProvider->EvaluatorFeeDate->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_EvaluatorFeeDate");
		$CPDServiceProvider->Comments->AdvancedSearch->SearchValue = $CPDServiceProvider->getAdvancedSearch("x_Comments");
	}

	// Export data in HTML/CSV/Word/Excel/XML/Email format
	function ExportData() {
		global $CPDServiceProvider;
		$utf8 = FALSE;
		$bSelectLimit = EW_SELECT_LIMIT;

		// Load recordset
		if ($bSelectLimit) {
			$this->lTotalRecs = $CPDServiceProvider->SelectRecordCount();
		} else {
			if ($rs = $this->LoadRecordset())
				$this->lTotalRecs = $rs->RecordCount();
		}
		$this->lStartRec = 1;

		// Export all
		if ($CPDServiceProvider->ExportAll) {
			$this->lDisplayRecs = $this->lTotalRecs;
			$this->lStopRec = $this->lTotalRecs;
		} else { // Export one page only
			$this->SetUpStartRec(); // Set up start record position

			// Set the last record to display
			if ($this->lDisplayRecs < 0) {
				$this->lStopRec = $this->lTotalRecs;
			} else {
				$this->lStopRec = $this->lStartRec + $this->lDisplayRecs - 1;
			}
		}
		if ($bSelectLimit)
			$rs = $this->LoadRecordset($this->lStartRec-1, $this->lDisplayRecs);
		if (!$rs) {
			header("Content-Type:"); // Remove header
			header("Content-Disposition:");
			$this->ShowMessage();
			return;
		}
		if ($CPDServiceProvider->Export == "xml") {
			$XmlDoc = new cXMLDocument(EW_XML_ENCODING);
			$XmlDoc->AddRoot();
		} else {
			$ExportDoc = new cExportDocument($CPDServiceProvider, "h");
			$ExportDoc->ExportHeader();
			if ($ExportDoc->Horizontal) { // Horizontal format, write header
				$ExportDoc->BeginExportRow();
				$ExportDoc->ExportCaption($CPDServiceProvider->CPDProviderID);
				$ExportDoc->ExportCaption($CPDServiceProvider->CompanyName);
				$ExportDoc->ExportCaption($CPDServiceProvider->TradingAs);
				$ExportDoc->ExportCaption($CPDServiceProvider->PhoneNumber);
				$ExportDoc->ExportCaption($CPDServiceProvider->CellNumber);
				$ExportDoc->ExportCaption($CPDServiceProvider->EmailAddress);
				$ExportDoc->ExportCaption($CPDServiceProvider->Website);
				$ExportDoc->ExportCaption($CPDServiceProvider->VATNumber);
				$ExportDoc->ExportCaption($CPDServiceProvider->PhysicalAddress1);
				$ExportDoc->ExportCaption($CPDServiceProvider->PhysicalAddress2);
				$ExportDoc->ExportCaption($CPDServiceProvider->PhysicalCity);
				$ExportDoc->ExportCaption($CPDServiceProvider->PhysicalCode);
				$ExportDoc->ExportCaption($CPDServiceProvider->PhysicalProvince);
				$ExportDoc->ExportCaption($CPDServiceProvider->PhysicalCountry);
				$ExportDoc->ExportCaption($CPDServiceProvider->PostalAddress1);
				$ExportDoc->ExportCaption($CPDServiceProvider->PostalAddress2);
				$ExportDoc->ExportCaption($CPDServiceProvider->PostalCity);
				$ExportDoc->ExportCaption($CPDServiceProvider->PostalCode);
				$ExportDoc->ExportCaption($CPDServiceProvider->PostalProvince);
				$ExportDoc->ExportCaption($CPDServiceProvider->PostalCountry);
				$ExportDoc->ExportCaption($CPDServiceProvider->Password);
				$ExportDoc->ExportCaption($CPDServiceProvider->UpdatedBy);
				$ExportDoc->ExportCaption($CPDServiceProvider->Archived);
				$ExportDoc->ExportCaption($CPDServiceProvider->ContactTitle);
				$ExportDoc->ExportCaption($CPDServiceProvider->ContactInitials);
				$ExportDoc->ExportCaption($CPDServiceProvider->ContactFirstName);
				$ExportDoc->ExportCaption($CPDServiceProvider->ContactSurname);
				$ExportDoc->ExportCaption($CPDServiceProvider->ContactPosition);
				$ExportDoc->ExportCaption($CPDServiceProvider->ContactPhone);
				$ExportDoc->ExportCaption($CPDServiceProvider->ContactCell);
				$ExportDoc->ExportCaption($CPDServiceProvider->ContactEmail);
				$ExportDoc->ExportCaption($CPDServiceProvider->ContactIDNum);
				$ExportDoc->ExportCaption($CPDServiceProvider->AdminTitle);
				$ExportDoc->ExportCaption($CPDServiceProvider->AdminInitials);
				$ExportDoc->ExportCaption($CPDServiceProvider->AdminFirstName);
				$ExportDoc->ExportCaption($CPDServiceProvider->AdminSurname);
				$ExportDoc->ExportCaption($CPDServiceProvider->AdminPosition);
				$ExportDoc->ExportCaption($CPDServiceProvider->AdminPhone);
				$ExportDoc->ExportCaption($CPDServiceProvider->AdminCell);
				$ExportDoc->ExportCaption($CPDServiceProvider->AdminEmail);
				$ExportDoc->ExportCaption($CPDServiceProvider->AdminIDNum);
				$ExportDoc->ExportCaption($CPDServiceProvider->EvaluatorID);
				$ExportDoc->ExportCaption($CPDServiceProvider->EvaluatorID2);
				$ExportDoc->ExportCaption($CPDServiceProvider->EvaluatorID3);
				$ExportDoc->ExportCaption($CPDServiceProvider->Approved);
				$ExportDoc->ExportCaption($CPDServiceProvider->SPNumber);
				$ExportDoc->ExportCaption($CPDServiceProvider->DateUpdated);
				$ExportDoc->ExportCaption($CPDServiceProvider->DateAssessed);
				$ExportDoc->ExportCaption($CPDServiceProvider->DateExpires);
				$ExportDoc->ExportCaption($CPDServiceProvider->InvoiceCode);
				$ExportDoc->ExportCaption($CPDServiceProvider->InvoiceNumber);
				$ExportDoc->ExportCaption($CPDServiceProvider->Cost);
				$ExportDoc->ExportCaption($CPDServiceProvider->DepositAmt);
				$ExportDoc->ExportCaption($CPDServiceProvider->EvaluatorFee);
				$ExportDoc->ExportCaption($CPDServiceProvider->EvaluatorFeeAmount);
				$ExportDoc->ExportCaption($CPDServiceProvider->EvaluatorFeeDate);
				$ExportDoc->EndExportRow();
			}
		}

		// Move to first record
		$this->lRecCnt = $this->lStartRec - 1;
		if (!$rs->EOF) {
			$rs->MoveFirst();
			if (!$bSelectLimit && $this->lStartRec > 1)
				$rs->Move($this->lStartRec - 1);
		}
		while (!$rs->EOF && $this->lRecCnt < $this->lStopRec) {
			$this->lRecCnt++;
			if (intval($this->lRecCnt) >= intval($this->lStartRec)) {
				$this->LoadRowValues($rs);

				// Render row
				$CPDServiceProvider->CssClass = "";
				$CPDServiceProvider->CssStyle = "";
				$CPDServiceProvider->RowType = EW_ROWTYPE_VIEW; // Render view
				$this->RenderRow();
				if ($CPDServiceProvider->Export == "xml") {
					$XmlDoc->AddRow();
					$XmlDoc->AddField('CPDProviderID', $CPDServiceProvider->CPDProviderID->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('CompanyName', $CPDServiceProvider->CompanyName->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('TradingAs', $CPDServiceProvider->TradingAs->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('PhoneNumber', $CPDServiceProvider->PhoneNumber->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('CellNumber', $CPDServiceProvider->CellNumber->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('EmailAddress', $CPDServiceProvider->EmailAddress->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('Website', $CPDServiceProvider->Website->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('VATNumber', $CPDServiceProvider->VATNumber->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('PhysicalAddress1', $CPDServiceProvider->PhysicalAddress1->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('PhysicalAddress2', $CPDServiceProvider->PhysicalAddress2->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('PhysicalCity', $CPDServiceProvider->PhysicalCity->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('PhysicalCode', $CPDServiceProvider->PhysicalCode->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('PhysicalProvince', $CPDServiceProvider->PhysicalProvince->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('PhysicalCountry', $CPDServiceProvider->PhysicalCountry->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('PostalAddress1', $CPDServiceProvider->PostalAddress1->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('PostalAddress2', $CPDServiceProvider->PostalAddress2->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('PostalCity', $CPDServiceProvider->PostalCity->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('PostalCode', $CPDServiceProvider->PostalCode->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('PostalProvince', $CPDServiceProvider->PostalProvince->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('PostalCountry', $CPDServiceProvider->PostalCountry->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('Password', $CPDServiceProvider->Password->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('UpdatedBy', $CPDServiceProvider->UpdatedBy->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('Archived', $CPDServiceProvider->Archived->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('ContactTitle', $CPDServiceProvider->ContactTitle->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('ContactInitials', $CPDServiceProvider->ContactInitials->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('ContactFirstName', $CPDServiceProvider->ContactFirstName->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('ContactSurname', $CPDServiceProvider->ContactSurname->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('ContactPosition', $CPDServiceProvider->ContactPosition->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('ContactPhone', $CPDServiceProvider->ContactPhone->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('ContactCell', $CPDServiceProvider->ContactCell->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('ContactEmail', $CPDServiceProvider->ContactEmail->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('ContactIDNum', $CPDServiceProvider->ContactIDNum->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('AdminTitle', $CPDServiceProvider->AdminTitle->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('AdminInitials', $CPDServiceProvider->AdminInitials->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('AdminFirstName', $CPDServiceProvider->AdminFirstName->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('AdminSurname', $CPDServiceProvider->AdminSurname->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('AdminPosition', $CPDServiceProvider->AdminPosition->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('AdminPhone', $CPDServiceProvider->AdminPhone->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('AdminCell', $CPDServiceProvider->AdminCell->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('AdminEmail', $CPDServiceProvider->AdminEmail->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('AdminIDNum', $CPDServiceProvider->AdminIDNum->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('EvaluatorID', $CPDServiceProvider->EvaluatorID->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('EvaluatorID2', $CPDServiceProvider->EvaluatorID2->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('EvaluatorID3', $CPDServiceProvider->EvaluatorID3->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('Approved', $CPDServiceProvider->Approved->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('SPNumber', $CPDServiceProvider->SPNumber->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('DateUpdated', $CPDServiceProvider->DateUpdated->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('DateAssessed', $CPDServiceProvider->DateAssessed->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('DateExpires', $CPDServiceProvider->DateExpires->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('InvoiceCode', $CPDServiceProvider->InvoiceCode->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('InvoiceNumber', $CPDServiceProvider->InvoiceNumber->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('Cost', $CPDServiceProvider->Cost->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('DepositAmt', $CPDServiceProvider->DepositAmt->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('EvaluatorFee', $CPDServiceProvider->EvaluatorFee->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('EvaluatorFeeAmount', $CPDServiceProvider->EvaluatorFeeAmount->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
					$XmlDoc->AddField('EvaluatorFeeDate', $CPDServiceProvider->EvaluatorFeeDate->ExportValue($CPDServiceProvider->Export, $CPDServiceProvider->ExportOriginalValue));
				} else {
					$ExportDoc->BeginExportRow(TRUE); // Allow CSS styles if enabled
					$ExportDoc->ExportField($CPDServiceProvider->CPDProviderID);
					$ExportDoc->ExportField($CPDServiceProvider->CompanyName);
					$ExportDoc->ExportField($CPDServiceProvider->TradingAs);
					$ExportDoc->ExportField($CPDServiceProvider->PhoneNumber);
					$ExportDoc->ExportField($CPDServiceProvider->CellNumber);
					$ExportDoc->ExportField($CPDServiceProvider->EmailAddress);
					$ExportDoc->ExportField($CPDServiceProvider->Website);
					$ExportDoc->ExportField($CPDServiceProvider->VATNumber);
					$ExportDoc->ExportField($CPDServiceProvider->PhysicalAddress1);
					$ExportDoc->ExportField($CPDServiceProvider->PhysicalAddress2);
					$ExportDoc->ExportField($CPDServiceProvider->PhysicalCity);
					$ExportDoc->ExportField($CPDServiceProvider->PhysicalCode);
					$ExportDoc->ExportField($CPDServiceProvider->PhysicalProvince);
					$ExportDoc->ExportField($CPDServiceProvider->PhysicalCountry);
					$ExportDoc->ExportField($CPDServiceProvider->PostalAddress1);
					$ExportDoc->ExportField($CPDServiceProvider->PostalAddress2);
					$ExportDoc->ExportField($CPDServiceProvider->PostalCity);
					$ExportDoc->ExportField($CPDServiceProvider->PostalCode);
					$ExportDoc->ExportField($CPDServiceProvider->PostalProvince);
					$ExportDoc->ExportField($CPDServiceProvider->PostalCountry);
					$ExportDoc->ExportField($CPDServiceProvider->Password);
					$ExportDoc->ExportField($CPDServiceProvider->UpdatedBy);
					$ExportDoc->ExportField($CPDServiceProvider->Archived);
					$ExportDoc->ExportField($CPDServiceProvider->ContactTitle);
					$ExportDoc->ExportField($CPDServiceProvider->ContactInitials);
					$ExportDoc->ExportField($CPDServiceProvider->ContactFirstName);
					$ExportDoc->ExportField($CPDServiceProvider->ContactSurname);
					$ExportDoc->ExportField($CPDServiceProvider->ContactPosition);
					$ExportDoc->ExportField($CPDServiceProvider->ContactPhone);
					$ExportDoc->ExportField($CPDServiceProvider->ContactCell);
					$ExportDoc->ExportField($CPDServiceProvider->ContactEmail);
					$ExportDoc->ExportField($CPDServiceProvider->ContactIDNum);
					$ExportDoc->ExportField($CPDServiceProvider->AdminTitle);
					$ExportDoc->ExportField($CPDServiceProvider->AdminInitials);
					$ExportDoc->ExportField($CPDServiceProvider->AdminFirstName);
					$ExportDoc->ExportField($CPDServiceProvider->AdminSurname);
					$ExportDoc->ExportField($CPDServiceProvider->AdminPosition);
					$ExportDoc->ExportField($CPDServiceProvider->AdminPhone);
					$ExportDoc->ExportField($CPDServiceProvider->AdminCell);
					$ExportDoc->ExportField($CPDServiceProvider->AdminEmail);
					$ExportDoc->ExportField($CPDServiceProvider->AdminIDNum);
					$ExportDoc->ExportField($CPDServiceProvider->EvaluatorID);
					$ExportDoc->ExportField($CPDServiceProvider->EvaluatorID2);
					$ExportDoc->ExportField($CPDServiceProvider->EvaluatorID3);
					$ExportDoc->ExportField($CPDServiceProvider->Approved);
					$ExportDoc->ExportField($CPDServiceProvider->SPNumber);
					$ExportDoc->ExportField($CPDServiceProvider->DateUpdated);
					$ExportDoc->ExportField($CPDServiceProvider->DateAssessed);
					$ExportDoc->ExportField($CPDServiceProvider->DateExpires);
					$ExportDoc->ExportField($CPDServiceProvider->InvoiceCode);
					$ExportDoc->ExportField($CPDServiceProvider->InvoiceNumber);
					$ExportDoc->ExportField($CPDServiceProvider->Cost);
					$ExportDoc->ExportField($CPDServiceProvider->DepositAmt);
					$ExportDoc->ExportField($CPDServiceProvider->EvaluatorFee);
					$ExportDoc->ExportField($CPDServiceProvider->EvaluatorFeeAmount);
					$ExportDoc->ExportField($CPDServiceProvider->EvaluatorFeeDate);
					$ExportDoc->EndExportRow();
				}
			}
			$rs->MoveNext();
		}
		if ($CPDServiceProvider->Export <> "xml")
			$ExportDoc->ExportFooter();

		// Close recordset
		$rs->Close();

		// Clean output buffer
		if (!EW_DEBUG_ENABLED && ob_get_length())
			ob_end_clean();

		// Write BOM if utf-8
		if ($utf8 && !in_array($CPDServiceProvider->Export, array("email", "xml")))
			echo "\xEF\xBB\xBF";

		// Write debug message if enabled
		if (EW_DEBUG_ENABLED)
			echo ew_DebugMsg();

		// Output data
		if ($CPDServiceProvider->Export == "xml") {
			header("Content-Type: text/xml");
			echo $XmlDoc->XML();
		} elseif ($CPDServiceProvider->Export == "email") {
			$this->ExportEmail($ExportDoc->Text);
			$this->Page_Terminate($CPDServiceProvider->ExportReturnUrl());
		} else {
			echo $ExportDoc->Text;
		}
	}

	// Export email
	function ExportEmail($EmailContent) {
		global $Language, $CPDServiceProvider;
		$sSender = @$_GET["sender"];
		$sRecipient = @$_GET["recipient"];
		$sCc = @$_GET["cc"];
		$sBcc = @$_GET["bcc"];
		$sContentType = @$_GET["contenttype"];

		// Subject
		$sSubject = ew_StripSlashes(@$_GET["subject"]);
		$sEmailSubject = $sSubject;

		// Message
		$sContent = ew_StripSlashes(@$_GET["message"]);
		$sEmailMessage = $sContent;

		// Check sender
		if ($sSender == "") {
			$this->setMessage($Language->Phrase("EnterSenderEmail"));
			return;
		}
		if (!ew_CheckEmail($sSender)) {
			$this->setMessage($Language->Phrase("EnterProperSenderEmail"));
			return;
		}

		// Check recipient
		if (!ew_CheckEmailList($sRecipient, EW_MAX_EMAIL_RECIPIENT)) {
			$this->setMessage($Language->Phrase("EnterProperRecipientEmail"));
			return;
		}

		// Check cc
		if (!ew_CheckEmailList($sCc, EW_MAX_EMAIL_RECIPIENT)) {
			$this->setMessage($Language->Phrase("EnterProperCcEmail"));
			return;
		}

		// Check bcc
		if (!ew_CheckEmailList($sBcc, EW_MAX_EMAIL_RECIPIENT)) {
			$this->setMessage($Language->Phrase("EnterProperBccEmail"));
			return;
		}

		// Check email sent count
		if (!isset($_SESSION[EW_EXPORT_EMAIL_COUNTER]))
			$_SESSION[EW_EXPORT_EMAIL_COUNTER] = 0;
		if (intval($_SESSION[EW_EXPORT_EMAIL_COUNTER]) > EW_MAX_EMAIL_SENT_COUNT) {
			$this->setMessage($Language->Phrase("ExceedMaxEmailExport"));
			return;
		}
		if ($sEmailMessage <> "") {
			$sEmailMessage = ew_RemoveXSS($sEmailMessage);
			$sEmailMessage .= ($sContentType == "url") ? "\r\n\r\n" : "<br><br>";
		}
		if ($sContentType == "url") {
			$sUrl = ew_ConvertFullUrl(ew_CurrentPage() . "?" . $this->ExportQueryString());
			$sEmailMessage .= $sUrl; // send URL only
		} else {
			$sEmailMessage .= $EmailContent; // send HTML
		}

		// Send email
		$Email = new cEmail();
		$Email->Sender = $sSender; // Sender
		$Email->Recipient = $sRecipient; // Recipient
		$Email->Cc = $sCc; // Cc
		$Email->Bcc = $sBcc; // Bcc
		$Email->Subject = $sEmailSubject; // Subject
		$Email->Content = $sEmailMessage; // Content
		$Email->Format = ($sContentType == "url") ? "text" : "html";
		$Email->Charset = EW_EMAIL_CHARSET;
		$EventArgs = array();
		$bEmailSent = FALSE;
		if ($CPDServiceProvider->Email_Sending($Email, $EventArgs))
			$bEmailSent = $Email->Send();

		// Check email sent status
		if ($bEmailSent) {

			// Update email sent count
			$_SESSION[EW_EXPORT_EMAIL_COUNTER]++;

			// Sent email success
			$this->setMessage($Language->Phrase("SendEmailSuccess"));
		} else {

			// Sent email failure
			$this->setMessage($Email->SendErrDescription);
		}
	}

	// Export QueryString
	function ExportQueryString() {
		global $CPDServiceProvider;

		// Initialize
		$sQry = "export=html";

		// Build QueryString for search
		if ($CPDServiceProvider->getSessionBasicSearchKeyword() <> "") {
			$sQry .= "&" . EW_TABLE_BASIC_SEARCH . "=" . $CPDServiceProvider->getSessionBasicSearchKeyword() . "&" . EW_TABLE_BASIC_SEARCH_TYPE . "=" . $CPDServiceProvider->getSessionBasicSearchType();
		}
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->CPDProviderID); // CPDProviderID
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->CompanyName); // CompanyName
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->TradingAs); // TradingAs
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->PhoneNumber); // PhoneNumber
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->CellNumber); // CellNumber
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->EmailAddress); // EmailAddress
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->Website); // Website
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->VATNumber); // VATNumber
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->PhysicalAddress1); // PhysicalAddress1
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->PhysicalAddress2); // PhysicalAddress2
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->PhysicalCity); // PhysicalCity
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->PhysicalCode); // PhysicalCode
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->PhysicalProvince); // PhysicalProvince
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->PhysicalCountry); // PhysicalCountry
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->PostalAddress1); // PostalAddress1
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->PostalAddress2); // PostalAddress2
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->PostalCity); // PostalCity
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->PostalCode); // PostalCode
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->PostalProvince); // PostalProvince
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->PostalCountry); // PostalCountry
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->Password); // Password
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->UpdatedBy); // UpdatedBy
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->Archived); // Archived
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->ContactTitle); // ContactTitle
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->ContactInitials); // ContactInitials
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->ContactFirstName); // ContactFirstName
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->ContactSurname); // ContactSurname
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->ContactPosition); // ContactPosition
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->ContactPhone); // ContactPhone
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->ContactCell); // ContactCell
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->ContactEmail); // ContactEmail
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->ContactIDNum); // ContactIDNum
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->AdminTitle); // AdminTitle
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->AdminInitials); // AdminInitials
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->AdminFirstName); // AdminFirstName
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->AdminSurname); // AdminSurname
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->AdminPosition); // AdminPosition
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->AdminPhone); // AdminPhone
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->AdminCell); // AdminCell
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->AdminEmail); // AdminEmail
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->AdminIDNum); // AdminIDNum
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->EvaluatorID); // EvaluatorID
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->EvaluatorID2); // EvaluatorID2
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->EvaluatorID3); // EvaluatorID3
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->Approved); // Approved
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->SPNumber); // SPNumber
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->DateUpdated); // DateUpdated
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->DateAssessed); // DateAssessed
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->DateExpires); // DateExpires
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->InvoiceCode); // InvoiceCode
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->InvoiceNumber); // InvoiceNumber
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->Cost); // Cost
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->DepositAmt); // DepositAmt
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->EvaluatorFee); // EvaluatorFee
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->EvaluatorFeeAmount); // EvaluatorFeeAmount
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->EvaluatorFeeDate); // EvaluatorFeeDate
		$this->AddSearchQueryString($sQry, $CPDServiceProvider->Comments); // Comments

		// Build QueryString for pager
		$sQry .= "&" . EW_TABLE_REC_PER_PAGE . "=" . $CPDServiceProvider->getRecordsPerPage() . "&" . EW_TABLE_START_REC . "=" . $CPDServiceProvider->getStartRecordNumber();
		return $sQry;
	}

	// Add search QueryString
	function AddSearchQueryString(&$Qry, &$Fld) {
		global $CPDServiceProvider;
		$FldParm = substr($Fld->FldVar, 2);
		$FldSearchValue = $CPDServiceProvider->GetAdvancedSearch("x_" . $FldParm);
		if (strval($FldSearchValue) <> "") {
			$Qry .= "&x_" . $FldParm . "=" . FldSearchValue .
				"&z_" . $FldParm . "=" . $CPDServiceProvider->GetAdvancedSearch("z_" . $FldParm);
		}
		$FldSearchValue2 = $CPDServiceProvider->GetAdvancedSearch("y_" . $FldParm);
		if (strval($FldSearchValue2) <> "") {
			$Qry .= "&v_" . $FldParm . "=" . $CPDServiceProvider->GetAdvancedSearch("v_" . $FldParm) .
				"&y_" . $FldParm . "=" . $FldSearchValue2 .
				"&w_" . $FldParm . "=" . $CPDServiceProvider->GetAdvancedSearch("w_" . $FldParm);
		}
	}

	// Page Load event
	function Page_Load() {

		//echo "Page Load";
	}

	// Page Unload event
	function Page_Unload() {

		//echo "Page Unload";
	}

	// Page Redirecting event
	function Page_Redirecting(&$url) {

		// Example:
		//$url = "your URL";

	}

	// Message Showing event
	function Message_Showing(&$msg) {

		// Example:
		//$msg = "your new message";

	}

	// Form Custom Validate event
	function Form_CustomValidate(&$CustomError) {

		// Return error message in CustomError
		return TRUE;
	}

	// ListOptions Load event
	function ListOptions_Load() {

		// Example: 
		//$this->ListOptions->Add("new");
		//$this->ListOptions->Items["new"]->OnLeft = TRUE; // Link on left
		//$this->ListOptions->MoveItem("new", 0); // Move to first column

	}

	// ListOptions Rendered event
	function ListOptions_Rendered() {

		// Example: 
		//$this->ListOptions->Items["new"]->Body = "xxx";

	}
}
?>