<?php
session_start(); // Initialize session data
ob_start(); // Turn on output buffering
?>
<?php include "ewcfg6.php" ?>
<?php include "ewmysql6.php" ?>
<?php include "phpfn6.php" ?>
<?php include "productoinfo.php" ?>
<?php include "categoriainfo.php" ?>
<?php include "linea_productoinfo.php" ?>
<?php include "usuarioinfo.php" ?>
<?php include "userfn6.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

// Define page object
$producto_list = new cproducto_list();
$Page =& $producto_list;

// Page init processing
$producto_list->Page_Init();

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

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

// page properties
producto_list.PageID = "list"; // page ID
var EW_PAGE_ID = producto_list.PageID; // for backward compatibility

// extend page with Form_CustomValidate function
producto_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) { ?>
producto_list.ValidateRequired = true; // uses JavaScript validation
<?php } else { ?>
producto_list.ValidateRequired = false; // no JavaScript validation
<?php } ?>

//-->
</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 ($producto->Export == "") { ?>
<?php
$gsMasterReturnUrl = "categorialist.php";
if ($producto_list->sDbMasterFilter <> "" && $producto->getCurrentMasterTable() == "categoria") {
	if ($producto_list->bMasterRecordExists) {
		if ($producto->getCurrentMasterTable() == $producto->TableVar) $gsMasterReturnUrl .= "?" . EW_TABLE_SHOW_MASTER . "=";
?>
<?php include "categoriamaster.php" ?>
<?php
	}
}
?>
<?php
$gsMasterReturnUrl = "linea_productolist.php";
if ($producto_list->sDbMasterFilter <> "" && $producto->getCurrentMasterTable() == "linea_producto") {
	if ($producto_list->bMasterRecordExists) {
		if ($producto->getCurrentMasterTable() == $producto->TableVar) $gsMasterReturnUrl .= "?" . EW_TABLE_SHOW_MASTER . "=";
?>
<?php include "linea_productomaster.php" ?>
<?php
	}
}
?>
<?php } ?>
<?php
	$bSelectLimit = ($producto->Export == "" && $producto->SelectLimit);
	if (!$bSelectLimit)
		$rs = $producto_list->LoadRecordset();
	$producto_list->lTotalRecs = ($bSelectLimit) ? $producto->SelectRecordCount() : $rs->RecordCount();
	$producto_list->lStartRec = 1;
	if ($producto_list->lDisplayRecs <= 0) // Display all records
		$producto_list->lDisplayRecs = $producto_list->lTotalRecs;
	if (!($producto->ExportAll && $producto->Export <> ""))
		$producto_list->SetUpStartRec(); // Set up start record position
	if ($bSelectLimit)
		$rs = $producto_list->LoadRecordset($producto_list->lStartRec-1, $producto_list->lDisplayRecs);
?>
<p><span class="phpmaker" style="white-space: nowrap;">TABLA: productos
<?php if ($producto->Export == "" && $producto->CurrentAction == "") { ?>
&nbsp;&nbsp;<a href="<?php echo $producto_list->PageUrl() ?>export=excel"><img src='images/exportxls.gif' width='16' height='16' border='0' alt='Exportar a Excel'></a>
&nbsp;&nbsp;<a href="<?php echo $producto_list->PageUrl() ?>export=word"><img src='images/exportdoc.gif' width='16' height='16' border='0' alt='Exportar a Word'></a>
&nbsp;&nbsp;<a href="<?php echo $producto_list->PageUrl() ?>export=csv"><img src='images/exportcsv.gif' width='16' height='16' border='0' alt='Exportar a CSV'></a>
<?php } ?>
</span></p>
<?php if ($Security->IsLoggedIn()) { ?>
<?php if ($producto->Export == "" && $producto->CurrentAction == "") { ?>
<a href="javascript:ew_ToggleSearchPanel(producto_list);" style="text-decoration: none;"><img id="producto_list_SearchImage" src="images/collapse.gif" alt="" width="9" height="9" border="0"></a><span class="phpmaker">&nbsp;Buscar</span><br>
<div id="producto_list_SearchPanel">
<form name="fproductolistsrch" id="fproductolistsrch" class="ewForm" action="<?php echo ew_CurrentPage() ?>">
<input type="hidden" id="t" name="t" value="producto">
<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($producto->getBasicSearchKeyword()) ?>">
			<input type="Submit" name="Submit" id="Submit" value="Buscar (*)">&nbsp;
			<a href="<?php echo $producto_list->PageUrl() ?>cmd=reset">Ver Todo</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 ($producto->getBasicSearchType() == "") { ?> checked="checked"<?php } ?>>Frase exacta</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 ($producto->getBasicSearchType() == "AND") { ?> checked="checked"<?php } ?>>Todas las palabras</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 ($producto->getBasicSearchType() == "OR") { ?> checked="checked"<?php } ?>>Cualquier palabra</label></span></td>
	</tr>
</table>
</form>
</div>
<?php } ?>
<?php } ?>
<?php $producto_list->ShowMessage() ?>
<br>
<table cellspacing="0" class="ewGrid"><tr><td class="ewGridContent">
<div class="ewGridMiddlePanel">
<form name="fproductolist" id="fproductolist" class="ewForm" action="" method="post">
<?php if ($producto_list->lTotalRecs > 0) { ?>
<table cellspacing="0" rowhighlightclass="ewTableHighlightRow" rowselectclass="ewTableSelectRow" roweditclass="ewTableEditRow" class="ewTable ewTableSeparate">
<?php
	$producto_list->lOptionCnt = 0;
if ($Security->IsLoggedIn()) {
	$producto_list->lOptionCnt++; // view
}
if ($Security->IsLoggedIn()) {
	$producto_list->lOptionCnt++; // edit
}
if ($Security->IsLoggedIn()) {
	$producto_list->lOptionCnt++; // copy
}
if ($Security->IsLoggedIn()) {
	$producto_list->lOptionCnt++; // Delete
}
	$producto_list->lOptionCnt += count($producto_list->ListOptions->Items); // Custom list options
?>
<?php echo $producto->TableCustomInnerHtml ?>
<thead><!-- Table header -->
	<tr class="ewTableHeader">
<?php if ($producto->cod_producto->Visible) { // cod_producto ?>
	<?php if ($producto->SortUrl($producto->cod_producto) == "") { ?>
		<td>codigo</td>
	<?php } else { ?>
		<td class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $producto->SortUrl($producto->cod_producto) ?>',1);">
			<table cellspacing="0" class="ewTableHeaderBtn"><tr><td>codigo&nbsp;(*)</td><td style="width: 10px;"><?php if ($producto->cod_producto->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($producto->cod_producto->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></table>
		</td>
	<?php } ?>
<?php } ?>		
<?php if ($producto->cod_pvDT->Visible) { // cod_pvDT ?>
	<?php if ($producto->SortUrl($producto->cod_pvDT) == "") { ?>
		<td>cod DT</td>
	<?php } else { ?>
		<td class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $producto->SortUrl($producto->cod_pvDT) ?>',1);">
			<table cellspacing="0" class="ewTableHeaderBtn"><tr><td>cod DT&nbsp;(*)</td><td style="width: 10px;"><?php if ($producto->cod_pvDT->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($producto->cod_pvDT->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></table>
		</td>
	<?php } ?>
<?php } ?>		
<?php if ($producto->des_producto->Visible) { // des_producto ?>
	<?php if ($producto->SortUrl($producto->des_producto) == "") { ?>
		<td>descripción</td>
	<?php } else { ?>
		<td class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $producto->SortUrl($producto->des_producto) ?>',1);">
			<table cellspacing="0" class="ewTableHeaderBtn"><tr><td>descripción&nbsp;(*)</td><td style="width: 10px;"><?php if ($producto->des_producto->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($producto->des_producto->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></table>
		</td>
	<?php } ?>
<?php } ?>		
<?php if ($producto->stk_disponible->Visible) { // stk_disponible ?>
	<?php if ($producto->SortUrl($producto->stk_disponible) == "") { ?>
		<td>stk</td>
	<?php } else { ?>
		<td class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $producto->SortUrl($producto->stk_disponible) ?>',1);">
			<table cellspacing="0" class="ewTableHeaderBtn"><tr><td>stk</td><td style="width: 10px;"><?php if ($producto->stk_disponible->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($producto->stk_disponible->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></table>
		</td>
	<?php } ?>
<?php } ?>		
<?php if ($producto->pre_venta_publico->Visible) { // pre_venta_publico ?>
	<?php if ($producto->SortUrl($producto->pre_venta_publico) == "") { ?>
		<td>PVP</td>
	<?php } else { ?>
		<td class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $producto->SortUrl($producto->pre_venta_publico) ?>',1);">
			<table cellspacing="0" class="ewTableHeaderBtn"><tr><td>PVP</td><td style="width: 10px;"><?php if ($producto->pre_venta_publico->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($producto->pre_venta_publico->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></table>
		</td>
	<?php } ?>
<?php } ?>		
<?php if ($producto->displayCat->Visible) { // displayCat ?>
	<?php if ($producto->SortUrl($producto->displayCat) == "") { ?>
		<td>cat</td>
	<?php } else { ?>
		<td class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $producto->SortUrl($producto->displayCat) ?>',1);">
			<table cellspacing="0" class="ewTableHeaderBtn"><tr><td>cat</td><td style="width: 10px;"><?php if ($producto->displayCat->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($producto->displayCat->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></table>
		</td>
	<?php } ?>
<?php } ?>		
<?php if ($producto->ind_activo->Visible) { // ind_activo ?>
	<?php if ($producto->SortUrl($producto->ind_activo) == "") { ?>
		<td>activo</td>
	<?php } else { ?>
		<td class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $producto->SortUrl($producto->ind_activo) ?>',1);">
			<table cellspacing="0" class="ewTableHeaderBtn"><tr><td>activo</td><td style="width: 10px;"><?php if ($producto->ind_activo->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($producto->ind_activo->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></table>
		</td>
	<?php } ?>
<?php } ?>		
<?php if ($producto->Export == "") { ?>
<?php if ($Security->IsLoggedIn()) { ?>
<td style="white-space: nowrap;">&nbsp;</td>
<?php } ?>
<?php if ($Security->IsLoggedIn()) { ?>
<td style="white-space: nowrap;">&nbsp;</td>
<?php } ?>
<?php if ($Security->IsLoggedIn()) { ?>
<td style="white-space: nowrap;">&nbsp;</td>
<?php } ?>
<?php if ($Security->IsLoggedIn()) { ?>
<td style="white-space: nowrap;">&nbsp;</td>
<?php } ?>
<?php

// Custom list options
foreach ($producto_list->ListOptions->Items as $ListOption) {
	if ($ListOption->Visible)
		echo $ListOption->HeaderCellHtml;
}
?>
<?php } ?>
	</tr>
</thead>
<?php
if ($producto->ExportAll && $producto->Export <> "") {
	$producto_list->lStopRec = $producto_list->lTotalRecs;
} else {
	$producto_list->lStopRec = $producto_list->lStartRec + $producto_list->lDisplayRecs - 1; // Set the last record to display
}
$producto_list->lRecCount = $producto_list->lStartRec - 1;
if ($rs && !$rs->EOF) {
	$rs->MoveFirst();
	if (!$producto->SelectLimit && $producto_list->lStartRec > 1)
		$rs->Move($producto_list->lStartRec - 1);
}
$producto_list->lRowCnt = 0;
while (($producto->CurrentAction == "gridadd" || !$rs->EOF) &&
	$producto_list->lRecCount < $producto_list->lStopRec) {
	$producto_list->lRecCount++;
	if (intval($producto_list->lRecCount) >= intval($producto_list->lStartRec)) {
		$producto_list->lRowCnt++;

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

	// Render row
	$producto_list->RenderRow();
?>
	<tr<?php echo $producto->RowAttributes() ?>>
	<?php if ($producto->cod_producto->Visible) { // cod_producto ?>
		<td<?php echo $producto->cod_producto->CellAttributes() ?>>
<div<?php echo $producto->cod_producto->ViewAttributes() ?>><?php echo $producto->cod_producto->ListViewValue() ?></div>
</td>
	<?php } ?>
	<?php if ($producto->cod_pvDT->Visible) { // cod_pvDT ?>
		<td<?php echo $producto->cod_pvDT->CellAttributes() ?>>
<div<?php echo $producto->cod_pvDT->ViewAttributes() ?>><?php echo $producto->cod_pvDT->ListViewValue() ?></div>
</td>
	<?php } ?>
	<?php if ($producto->des_producto->Visible) { // des_producto ?>
		<td<?php echo $producto->des_producto->CellAttributes() ?>>
<div<?php echo $producto->des_producto->ViewAttributes() ?>><?php echo $producto->des_producto->ListViewValue() ?></div>
</td>
	<?php } ?>
	<?php if ($producto->stk_disponible->Visible) { // stk_disponible ?>
		<td<?php echo $producto->stk_disponible->CellAttributes() ?>>
<div<?php echo $producto->stk_disponible->ViewAttributes() ?>><?php echo $producto->stk_disponible->ListViewValue() ?></div>
</td>
	<?php } ?>
	<?php if ($producto->pre_venta_publico->Visible) { // pre_venta_publico ?>
		<td<?php echo $producto->pre_venta_publico->CellAttributes() ?>>
<div<?php echo $producto->pre_venta_publico->ViewAttributes() ?>><?php echo $producto->pre_venta_publico->ListViewValue() ?></div>
</td>
	<?php } ?>
	<?php if ($producto->displayCat->Visible) { // displayCat ?>
		<td<?php echo $producto->displayCat->CellAttributes() ?>>
<div<?php echo $producto->displayCat->ViewAttributes() ?>><?php echo $producto->displayCat->ListViewValue() ?></div>
</td>
	<?php } ?>
	<?php if ($producto->ind_activo->Visible) { // ind_activo ?>
		<td<?php echo $producto->ind_activo->CellAttributes() ?>>
<div<?php echo $producto->ind_activo->ViewAttributes() ?>><?php echo $producto->ind_activo->ListViewValue() ?></div>
</td>
	<?php } ?>
<?php if ($producto->Export == "") { ?>
<?php if ($Security->IsLoggedIn()) { ?>
<td style="white-space: nowrap;"><span class="phpmaker">
<a href="<?php echo $producto->ViewUrl() ?>"><img src='images/browse.gif' width='16' height='16' border='0' alt='Ver'></a>
</span></td>
<?php } ?>
<?php if ($Security->IsLoggedIn()) { ?>
<td style="white-space: nowrap;"><span class="phpmaker">
<a href="<?php echo $producto->EditUrl() ?>"><img src='images/edit.gif' width='16' height='16' border='0' alt='Editar'></a>
</span></td>
<?php } ?>
<?php if ($Security->IsLoggedIn()) { ?>
<td style="white-space: nowrap;"><span class="phpmaker">
<a href="<?php echo $producto->CopyUrl() ?>"><img src='images/copy.gif' width='16' height='16' border='0' alt='Copiar'></a>
</span></td>
<?php } ?>
<?php if ($Security->IsLoggedIn()) { ?>
<td style="white-space: nowrap;"><span class="phpmaker">
<a href="<?php echo $producto->DeleteUrl() ?>"><img src='images/delete.gif' width='16' height='16' border='0' alt='Borrar'></a>
</span></td>
<?php } ?>
<?php

// Custom list options
foreach ($producto_list->ListOptions->Items as $ListOption) {
	if ($ListOption->Visible)
		echo $ListOption->BodyCellHtml;
}
?>
<?php } ?>
	</tr>
<?php
	}
	if ($producto->CurrentAction <> "gridadd")
		$rs->MoveNext();
}
?>
</tbody>
</table>
<?php } ?>
</form>
<?php

// Close recordset
if ($rs)
	$rs->Close();
?>
</div>
<?php if ($producto->Export == "") { ?>
<div class="ewGridLowerPanel">
<?php if ($producto->CurrentAction <> "gridadd" && $producto->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($producto_list->Pager)) $producto_list->Pager = new cPrevNextPager($producto_list->lStartRec, $producto_list->lDisplayRecs, $producto_list->lTotalRecs) ?>
<?php if ($producto_list->Pager->RecordCount > 0) { ?>
	<table border="0" cellspacing="0" cellpadding="0"><tr><td><span class="phpmaker">Página&nbsp;</span></td>
<!--first page button-->
	<?php if ($producto_list->Pager->FirstButton->Enabled) { ?>
	<td><a href="<?php echo $producto_list->PageUrl() ?>start=<?php echo $producto_list->Pager->FirstButton->Start ?>"><img src="images/first.gif" alt="Primera" width="16" height="16" border="0"></a></td>
	<?php } else { ?>
	<td><img src="images/firstdisab.gif" alt="Primera" width="16" height="16" border="0"></td>
	<?php } ?>
<!--previous page button-->
	<?php if ($producto_list->Pager->PrevButton->Enabled) { ?>
	<td><a href="<?php echo $producto_list->PageUrl() ?>start=<?php echo $producto_list->Pager->PrevButton->Start ?>"><img src="images/prev.gif" alt="Previo" width="16" height="16" border="0"></a></td>
	<?php } else { ?>
	<td><img src="images/prevdisab.gif" alt="Previo" 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 $producto_list->Pager->CurrentPage ?>" size="4"></td>
<!--next page button-->
	<?php if ($producto_list->Pager->NextButton->Enabled) { ?>
	<td><a href="<?php echo $producto_list->PageUrl() ?>start=<?php echo $producto_list->Pager->NextButton->Start ?>"><img src="images/next.gif" alt="Siguiente" width="16" height="16" border="0"></a></td>	
	<?php } else { ?>
	<td><img src="images/nextdisab.gif" alt="Siguiente" width="16" height="16" border="0"></td>
	<?php } ?>
<!--last page button-->
	<?php if ($producto_list->Pager->LastButton->Enabled) { ?>
	<td><a href="<?php echo $producto_list->PageUrl() ?>start=<?php echo $producto_list->Pager->LastButton->Start ?>"><img src="images/last.gif" alt="Ultima" width="16" height="16" border="0"></a></td>	
	<?php } else { ?>
	<td><img src="images/lastdisab.gif" alt="Ultima" width="16" height="16" border="0"></td>
	<?php } ?>
	<td><span class="phpmaker">&nbsp;de <?php echo $producto_list->Pager->PageCount ?></span></td>
	</tr></table>
	</td>	
	<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
	<td>
	<span class="phpmaker">Registros <?php echo $producto_list->Pager->FromIndex ?> a <?php echo $producto_list->Pager->ToIndex ?> de <?php echo $producto_list->Pager->RecordCount ?></span>
<?php } else { ?>
	<?php if ($producto_list->sSrchWhere == "0=101") { ?>
	<span class="phpmaker">Ingresar criterio de búsqueda</span>
	<?php } else { ?>
	<span class="phpmaker">No se encontraron registros</span>
	<?php } ?>
<?php } ?>
		</td>
<?php if ($producto_list->lTotalRecs > 0) { ?>
		<td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
		<td><table border="0" cellspacing="0" cellpadding="0"><tr><td>Tamaño&nbsp;</td><td>
<input type="hidden" id="t" name="t" value="producto">
<select name="<?php echo EW_TABLE_REC_PER_PAGE ?>" id="<?php echo EW_TABLE_REC_PER_PAGE ?>" onchange="this.form.submit();" class="phpmaker">
<option value="20"<?php if ($producto_list->lDisplayRecs == 20) { ?> selected="selected"<?php } ?>>20</option>
<option value="50"<?php if ($producto_list->lDisplayRecs == 50) { ?> selected="selected"<?php } ?>>50</option>
<option value="ALL"<?php if ($producto->getRecordsPerPage() == -1) { ?> selected="selected"<?php } ?>>Todos</option>
</select></td></tr></table>
		</td>
<?php } ?>
	</tr>
</table>
</form>
<?php } ?>
<?php //if ($producto_list->lTotalRecs > 0) { ?>
<span class="phpmaker">
<?php if ($Security->IsLoggedIn()) { ?>
<a href="<?php echo $producto->AddUrl() ?>">Agregar</a>&nbsp;&nbsp;
<?php } ?>
</span>
<?php //} ?>
</div>
<?php } ?>
</td></tr></table>
<?php if ($producto->Export == "" && $producto->CurrentAction == "") { ?>
<script type="text/javascript">
<!--

//ew_ToggleSearchPanel(producto_list); // uncomment to init search panel as collapsed
//-->

</script>
<?php } ?>
<?php if ($producto->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

//
// Page Class
//
class cproducto_list {

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

	// Table Name
	var $TableName = 'producto';

	// Page Object Name
	var $PageObjName = 'producto_list';

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

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

	// 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() {
		if ($this->getMessage() <> "") { // Message in Session, display
			echo "<p><span class=\"ewMessage\">" . $this->getMessage() . "</span></p>";
			$_SESSION[EW_SESSION_MESSAGE] = ""; // Clear message in Session
		}
	}

	// Validate Page request
	function IsPageRequest() {
		global $objForm, $producto;
		if ($producto->UseTokenInUrl) {

			//IsPageRequest = False
			if ($objForm)
				return ($producto->TableVar == $objForm->GetValue("t"));
			if (@$_GET["t"] <> "")
				return ($producto->TableVar == $_GET["t"]);
		} else {
			return TRUE;
		}
	}

	//
	//  Class initialize
	//  - init objects
	//  - open connection
	//
	function cproducto_list() {
		global $conn;

		// Initialize table object
		$GLOBALS["producto"] = new cproducto();

		// Initialize other table object
		$GLOBALS['categoria'] = new ccategoria();

		// Initialize other table object
		$GLOBALS['linea_producto'] = new clinea_producto();

		// Initialize other table object
		$GLOBALS['usuario'] = new cusuario();

		// Intialize page id (for backward compatibility)
		if (!defined("EW_PAGE_ID"))
			define("EW_PAGE_ID", 'list', TRUE);

		// Initialize table name (for backward compatibility)
		if (!defined("EW_TABLE_NAME"))
			define("EW_TABLE_NAME", 'producto', TRUE);

		// Open connection to the database
		$conn = ew_Connect();

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

	// 
	//  Page_Init
	//
	function Page_Init() {
		global $gsExport, $gsExportFile, $producto;
		global $Security;
		$Security = new cAdvancedSecurity();
		if (!$Security->IsLoggedIn()) $Security->AutoLogin();
		if (!$Security->IsLoggedIn()) {
			$Security->SaveLastUrl();
			$this->Page_Terminate("login.php");
		}
	$producto->Export = @$_GET["export"]; // Get export parameter
	$gsExport = $producto->Export; // Get export parameter, used in header
	$gsExportFile = $producto->TableVar; // Get export file, used in header
	if ($producto->Export == "excel") {
		header('Content-Type: application/vnd.ms-excel');
		header('Content-Disposition: attachment; filename=' . $gsExportFile .'.xls');
	}
	if ($producto->Export == "word") {
		header('Content-Type: application/vnd.ms-word');
		header('Content-Disposition: attachment; filename=' . $gsExportFile .'.doc');
	}
	if ($producto->Export == "csv") {
		header('Content-Type: application/csv');
		header('Content-Disposition: attachment; filename=' . $gsExportFile .'.csv');
	}

		// Global page loading event (in userfn6.php)
		Page_Loading();

		// Page load event, used in current page
		$this->Page_Load();
	}

	//
	//  Page_Terminate
	//  - called when exit page
	//  - if URL specified, redirect to the URL
	//
	function Page_Terminate($url = "") {
		global $conn;

		// Page unload event, used in current page
		$this->Page_Unload();

		// Global page unloaded event (in userfn*.php)
		Page_Unloaded();

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

		// Go to URL if specified
		if ($url <> "") {
			ob_end_clean();
			header("Location: $url");
		}
		exit();
	}
	var $lDisplayRecs; // Number of display records
	var $lStartRec;
	var $lStopRec;
	var $lTotalRecs;
	var $lRecRange;
	var $sSrchWhere;
	var $lRecCnt;
	var $lEditRowCnt;
	var $lRowCnt;
	var $lRowIndex;
	var $lOptionCnt;
	var $lRecPerRow;
	var $lColCnt;
	var $sDeleteConfirmMsg; // Delete confirm message
	var $sDbMasterFilter;
	var $sDbDetailFilter;
	var $bMasterRecordExists;	
	var $ListOptions;
	var $sMultiSelectKey;

	//
	// Page main processing
	//
	function Page_Main() {
		global $objForm, $gsSearchError, $Security, $producto;
		$this->lDisplayRecs = 50;
		$this->lRecRange = 10;
		$this->lRecCnt = 0; // Record count

		// Search filters
		$sSrchAdvanced = ""; // Advanced search filter
		$sSrchBasic = ""; // Basic search filter
		$sFilter = "";
		$this->sSrchWhere = ""; // Search WHERE clause

		// Master/Detail
		$this->sDbMasterFilter = ""; // Master filter
		$this->sDbDetailFilter = ""; // Detail filter
		if ($this->IsPageRequest()) { // Validate request

			// Set up records per page dynamically
			$this->SetUpDisplayRecs();

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

			// Set up master detail parameters
			$this->SetUpMasterDetail();

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

			// Set Up Sorting Order
			$this->SetUpSortOrder();
		} // End Validate Request

		// Restore display records
		if ($producto->getRecordsPerPage() <> "") {
			$this->lDisplayRecs = $producto->getRecordsPerPage(); // Restore from Session
		} else {
			$this->lDisplayRecs = 50; // 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
		$producto->Recordset_Searching($this->sSrchWhere);

		// Save search criteria
		if ($this->sSrchWhere <> "") {
			if ($sSrchBasic == "")
				$this->ResetBasicSearchParms();
			$producto->setSearchWhere($this->sSrchWhere); // Save to Session
			$this->lStartRec = 1; // Reset start record counter
			$producto->setStartRecordNumber($this->lStartRec);
		} else {
			$this->RestoreSearchParms();
		}

		// Build filter
		$sFilter = "";

		// Restore master/detail filter
		$this->sDbMasterFilter = $producto->getMasterFilter(); // Restore master filter
		$this->sDbDetailFilter = $producto->getDetailFilter(); // Restore detail filter
		if ($this->sDbDetailFilter <> "")
			$sFilter = ($sFilter <> "") ? "($sFilter) AND (" . $this->sDbDetailFilter . ")" : $this->sDbDetailFilter;
		if ($this->sSrchWhere <> "")
			$sFilter = ($sFilter <> "") ? "($sFilter) AND (". $this->sSrchWhere . ")" : $this->sSrchWhere;

		// Load master record
		if ($producto->getMasterFilter() <> "" && $producto->getCurrentMasterTable() == "categoria") {
			global $categoria;
			$rsmaster = $categoria->LoadRs($this->sDbMasterFilter);
			$this->bMasterRecordExists = ($rsmaster && !$rsmaster->EOF);
			if (!$this->bMasterRecordExists) {
				$producto->setMasterFilter(""); // Clear master filter
				$producto->setDetailFilter(""); // Clear detail filter
				$this->setMessage("No se encontraron registros"); // Set no record found
				$this->Page_Terminate($producto->getReturnUrl()); // Return to caller
			} else {
				$categoria->LoadListRowValues($rsmaster);
				$categoria->RowType = EW_ROWTYPE_MASTER; // Master row
				$categoria->RenderListRow();
				$rsmaster->Close();
			}
		}

		// Load master record
		if ($producto->getMasterFilter() <> "" && $producto->getCurrentMasterTable() == "linea_producto") {
			global $linea_producto;
			$rsmaster = $linea_producto->LoadRs($this->sDbMasterFilter);
			$this->bMasterRecordExists = ($rsmaster && !$rsmaster->EOF);
			if (!$this->bMasterRecordExists) {
				$producto->setMasterFilter(""); // Clear master filter
				$producto->setDetailFilter(""); // Clear detail filter
				$this->setMessage("No se encontraron registros"); // Set no record found
				$this->Page_Terminate($producto->getReturnUrl()); // Return to caller
			} else {
				$linea_producto->LoadListRowValues($rsmaster);
				$linea_producto->RowType = EW_ROWTYPE_MASTER; // Master row
				$linea_producto->RenderListRow();
				$rsmaster->Close();
			}
		}

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

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

	// Set up number of records displayed per page
	function SetUpDisplayRecs() {
		global $producto;
		$sWrk = @$_GET[EW_TABLE_REC_PER_PAGE];
		if ($sWrk <> "") {
			if (is_numeric($sWrk)) {
				$this->lDisplayRecs = intval($sWrk);
			} else {
				if (strtolower($sWrk) == "all") { // Display all records
					$this->lDisplayRecs = -1;
				} else {
					$this->lDisplayRecs = 50; // Non-numeric, load default
				}
			}
			$producto->setRecordsPerPage($this->lDisplayRecs); // Save to Session

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

	// Return Basic Search sql
	function BasicSearchSQL($Keyword) {
		global $producto;
		$sKeyword = ew_AdjustSql($Keyword);
		$sql = "";
		$sql .= $producto->cod_producto->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->cod_pvDT->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->cod_proveedor->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->cod_tipo_solucion->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->cod_garantia->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->cod_linea_producto->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->cod_categoria->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->cod_marca->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->des_producto->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->des_adicional->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->des_tecnicas->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->des_palabra_busqueda->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->des_web_referencial->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->ind_activo_web->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->des_imagen_pequena->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->des_imagen_grande->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->num_mes->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->num_trimestre->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->num_ano->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->ind_mostrar_categoria->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->ind_mostrar_portal->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->ind_oferta->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		$sql .= $producto->ind_activo->FldExpression . " LIKE '%" . $sKeyword . "%' OR ";
		if (substr($sql, -4) == " OR ") $sql = substr($sql, 0, strlen($sql)-4);
		return $sql;
	}

	// Return Basic Search Where based on search keyword and type
	function BasicSearchWhere() {
		global $Security, $producto;
		$sSearchStr = "";
		$sSearchKeyword = ew_StripSlashes(@$_GET[EW_TABLE_BASIC_SEARCH]);
		$sSearchType = @$_GET[EW_TABLE_BASIC_SEARCH_TYPE];
		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 <> "") {
			$producto->setBasicSearchKeyword($sSearchKeyword);
			$producto->setBasicSearchType($sSearchType);
		}
		return $sSearchStr;
	}

	// Clear all search parameters
	function ResetSearchParms() {

		// Clear search where
		global $producto;
		$this->sSrchWhere = "";
		$producto->setSearchWhere($this->sSrchWhere);

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

	// Clear all basic search parameters
	function ResetBasicSearchParms() {

		// Clear basic search parameters
		global $producto;
		$producto->setBasicSearchKeyword("");
		$producto->setBasicSearchType("");
	}

	// Restore all search parameters
	function RestoreSearchParms() {
		global $gsSearchError, $producto;
		$this->sSrchWhere = $producto->getSearchWhere();
	}

	// Set up Sort parameters based on Sort Links clicked
	function SetUpSortOrder() {
		global $producto;

		// Check for an Order parameter
		if (@$_GET["order"] <> "") {
			$producto->CurrentOrder = ew_StripSlashes(@$_GET["order"]);
			$producto->CurrentOrderType = @$_GET["ordertype"];
			$producto->UpdateSort($producto->cod_producto); // Field 
			$producto->UpdateSort($producto->cod_pvDT); // Field 
			$producto->UpdateSort($producto->des_producto); // Field 
			$producto->UpdateSort($producto->stk_disponible); // Field 
			$producto->UpdateSort($producto->pre_venta_publico); // Field 
			$producto->UpdateSort($producto->displayCat); // Field 
			$producto->UpdateSort($producto->ind_activo); // Field 
			$producto->setStartRecordNumber(1); // Reset start position
		}
	}

	// Load Sort Order parameters
	function LoadSortOrder() {
		global $producto;
		$sOrderBy = $producto->getSessionOrderBy(); // Get order by from Session
		if ($sOrderBy == "") {
			if ($producto->SqlOrderBy() <> "") {
				$sOrderBy = $producto->SqlOrderBy();
				$producto->setSessionOrderBy($sOrderBy);
				$producto->cod_pvDT->setSort("DESC");
				$producto->des_producto->setSort("ASC");
			}
		}
	}

	// Reset command based on querystring parameter cmd=
	// - RESET: reset search parameters
	// - RESETALL: reset search & master/detail parameters
	// - RESETSORT: reset sort parameters
	function ResetCmd() {
		global $producto;

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

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

			// Reset master/detail keys
			if (strtolower($sCmd) == "resetall") {
				$producto->getCurrentMasterTable = ""; // Clear master table
				$producto->setMasterFilter(""); // Clear master filter
				$this->sDbMasterFilter = "";
				$producto->setDetailFilter(""); // Clear detail filter
				$this->sDbDetailFilter = "";
				$producto->cod_categoria->setSessionValue("");
				$producto->cod_linea_producto->setSessionValue("");
			}

			// Reset sort criteria
			if (strtolower($sCmd) == "resetsort") {
				$sOrderBy = "";
				$producto->setSessionOrderBy($sOrderBy);
				$producto->cod_producto->setSort("");
				$producto->cod_pvDT->setSort("");
				$producto->des_producto->setSort("");
				$producto->stk_disponible->setSort("");
				$producto->pre_venta_publico->setSort("");
				$producto->displayCat->setSort("");
				$producto->ind_activo->setSort("");
			}

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

	// Set up Starting Record parameters based on Pager Navigation
	function SetUpStartRec() {
		global $producto;
		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];
				$producto->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;
					}
					$producto->setStartRecordNumber($this->lStartRec);
				}
			}
		}
		$this->lStartRec = $producto->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
			$producto->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
			$producto->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
			$producto->setStartRecordNumber($this->lStartRec);
		}
	}

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

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

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

		// Load recordset
		$conn->raiseErrorFn = 'ew_ErrorFn';	
		$rs = $conn->Execute($sSql);
		$conn->raiseErrorFn = '';

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

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

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

		// Load sql based on filter
		$producto->CurrentFilter = $sFilter;
		$sSql = $producto->SQL();
		if ($rs = $conn->Execute($sSql)) {
			if ($rs->EOF) {
				$LoadRow = FALSE;
			} else {
				$LoadRow = TRUE;
				$rs->MoveFirst();
				$this->LoadRowValues($rs); // Load row values

				// Call Row Selected event
				$producto->Row_Selected($rs);
			}
			$rs->Close();
		} else {
			$LoadRow = FALSE;
		}
		return $LoadRow;
	}

	// Load row values from recordset
	function LoadRowValues(&$rs) {
		global $producto;
		$producto->id->setDbValue($rs->fields('id'));
		$producto->cod_producto->setDbValue($rs->fields('cod_producto'));
		$producto->cod_pvDT->setDbValue($rs->fields('cod_pvDT'));
		$producto->cod_proveedor->setDbValue($rs->fields('cod_proveedor'));
		$producto->cod_tipo_moneda->setDbValue($rs->fields('cod_tipo_moneda'));
		$producto->cod_tipo_solucion->setDbValue($rs->fields('cod_tipo_solucion'));
		$producto->cod_unidad_medida->setDbValue($rs->fields('cod_unidad_medida'));
		$producto->cod_tipo_producto->setDbValue($rs->fields('cod_tipo_producto'));
		$producto->cod_tipo_inventario->setDbValue($rs->fields('cod_tipo_inventario'));
		$producto->cod_garantia->setDbValue($rs->fields('cod_garantia'));
		$producto->cod_linea_producto->setDbValue($rs->fields('cod_linea_producto'));
		$producto->cod_categoria->setDbValue($rs->fields('cod_categoria'));
		$producto->cod_marca->setDbValue($rs->fields('cod_marca'));
		$producto->des_producto->setDbValue($rs->fields('des_producto'));
		$producto->des_adicional->setDbValue($rs->fields('des_adicional'));
		$producto->des_tecnicas->setDbValue($rs->fields('des_tecnicas'));
		$producto->des_palabra_busqueda->setDbValue($rs->fields('des_palabra_busqueda'));
		$producto->stk_disponible->setDbValue($rs->fields('stk_disponible'));
		$producto->stk_minimo->setDbValue($rs->fields('stk_minimo'));
		$producto->pre_costo_promedio_anterior->setDbValue($rs->fields('pre_costo_promedio_anterior'));
		$producto->pre_costo_promedio->setDbValue($rs->fields('pre_costo_promedio'));
		$producto->pre_venta_publico_anterior->setDbValue($rs->fields('pre_venta_publico_anterior'));
		$producto->pre_venta_publico->setDbValue($rs->fields('pre_venta_publico'));
		$producto->pre_venta_corporativo_anterior->setDbValue($rs->fields('pre_venta_corporativo_anterior'));
		$producto->pre_venta_corporativo->setDbValue($rs->fields('pre_venta_corporativo'));
		$producto->pre_venta_minimo->setDbValue($rs->fields('pre_venta_minimo'));
		$producto->pre_oferta->setDbValue($rs->fields('pre_oferta'));
		$producto->fec_inicio_oferta->setDbValue($rs->fields('fec_inicio_oferta'));
		$producto->fec_fin_oferta->setDbValue($rs->fields('fec_fin_oferta'));
		$producto->des_web_referencial->setDbValue($rs->fields('des_web_referencial'));
		$producto->ind_activo_web->setDbValue($rs->fields('ind_activo_web'));
		$producto->des_imagen_pequena->Upload->DbValue = $rs->fields('des_imagen_pequena');
		$producto->des_imagen_grande->Upload->DbValue = $rs->fields('des_imagen_grande');
		$producto->num_mes->setDbValue($rs->fields('num_mes'));
		$producto->num_trimestre->setDbValue($rs->fields('num_trimestre'));
		$producto->num_ano->setDbValue($rs->fields('num_ano'));
		$producto->displayConf->setDbValue($rs->fields('displayConf'));
		$producto->displayCat->setDbValue($rs->fields('displayCat'));
		$producto->ind_mostrar_categoria->setDbValue($rs->fields('ind_mostrar_categoria'));
		$producto->ind_mostrar_portal->setDbValue($rs->fields('ind_mostrar_portal'));
		$producto->ind_oferta->setDbValue($rs->fields('ind_oferta'));
		$producto->ind_activo->setDbValue($rs->fields('ind_activo'));
		$producto->cod_usuario_registro->setDbValue($rs->fields('cod_usuario_registro'));
		$producto->fec_registro->setDbValue($rs->fields('fec_registro'));
		$producto->cod_usuario_modificacion->setDbValue($rs->fields('cod_usuario_modificacion'));
		$producto->fec_ultima_modificacion->setDbValue($rs->fields('fec_ultima_modificacion'));
	}

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

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

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

		$producto->cod_producto->CellCssStyle = "";
		$producto->cod_producto->CellCssClass = "";

		// cod_pvDT
		$producto->cod_pvDT->CellCssStyle = "";
		$producto->cod_pvDT->CellCssClass = "";

		// des_producto
		$producto->des_producto->CellCssStyle = "";
		$producto->des_producto->CellCssClass = "";

		// stk_disponible
		$producto->stk_disponible->CellCssStyle = "";
		$producto->stk_disponible->CellCssClass = "";

		// pre_venta_publico
		$producto->pre_venta_publico->CellCssStyle = "";
		$producto->pre_venta_publico->CellCssClass = "";

		// displayCat
		$producto->displayCat->CellCssStyle = "";
		$producto->displayCat->CellCssClass = "";

		// ind_activo
		$producto->ind_activo->CellCssStyle = "";
		$producto->ind_activo->CellCssClass = "";
		if ($producto->RowType == EW_ROWTYPE_VIEW) { // View row

			// cod_producto
			$producto->cod_producto->ViewValue = $producto->cod_producto->CurrentValue;
			$producto->cod_producto->CssStyle = "";
			$producto->cod_producto->CssClass = "";
			$producto->cod_producto->ViewCustomAttributes = "";

			// cod_pvDT
			$producto->cod_pvDT->ViewValue = $producto->cod_pvDT->CurrentValue;
			$producto->cod_pvDT->CssStyle = "";
			$producto->cod_pvDT->CssClass = "";
			$producto->cod_pvDT->ViewCustomAttributes = "";

			// des_producto
			$producto->des_producto->ViewValue = $producto->des_producto->CurrentValue;
			$producto->des_producto->CssStyle = "";
			$producto->des_producto->CssClass = "";
			$producto->des_producto->ViewCustomAttributes = "";

			// stk_disponible
			$producto->stk_disponible->ViewValue = $producto->stk_disponible->CurrentValue;
			$producto->stk_disponible->CssStyle = "";
			$producto->stk_disponible->CssClass = "";
			$producto->stk_disponible->ViewCustomAttributes = "";

			// pre_venta_publico
			$producto->pre_venta_publico->ViewValue = $producto->pre_venta_publico->CurrentValue;
			$producto->pre_venta_publico->CssStyle = "";
			$producto->pre_venta_publico->CssClass = "";
			$producto->pre_venta_publico->ViewCustomAttributes = "";

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

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

			// cod_producto
			$producto->cod_producto->HrefValue = "";

			// cod_pvDT
			$producto->cod_pvDT->HrefValue = "";

			// des_producto
			$producto->des_producto->HrefValue = "";

			// stk_disponible
			$producto->stk_disponible->HrefValue = "";

			// pre_venta_publico
			$producto->pre_venta_publico->HrefValue = "";

			// displayCat
			$producto->displayCat->HrefValue = "";

			// ind_activo
			$producto->ind_activo->HrefValue = "";
		}

		// Call Row Rendered event
		$producto->Row_Rendered();
	}

	// Export data in XML or CSV format
	function ExportData() {
		global $producto;
		$sCsvStr = "";

		// Default export style
		$sExportStyle = "h";

		// Load recordset
		$rs = $this->LoadRecordset();
		$this->lTotalRecs = $rs->RecordCount();
		$this->lStartRec = 1;

		// Export all
		if ($producto->ExportAll) {
			$this->lStopRec = $this->lTotalRecs;
		} else { // Export 1 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 ($producto->Export == "xml") {
			$XmlDoc = new cXMLDocument();
		} else {
			echo ew_ExportHeader($producto->Export);

			// Horizontal format, write header
			if ($sExportStyle <> "v" || $producto->Export == "csv") {
				$sExportStr = "";
				ew_ExportAddValue($sExportStr, 'cod_producto', $producto->Export);
				ew_ExportAddValue($sExportStr, 'cod_pvDT', $producto->Export);
				ew_ExportAddValue($sExportStr, 'des_producto', $producto->Export);
				ew_ExportAddValue($sExportStr, 'stk_disponible', $producto->Export);
				ew_ExportAddValue($sExportStr, 'pre_venta_publico', $producto->Export);
				ew_ExportAddValue($sExportStr, 'displayCat', $producto->Export);
				ew_ExportAddValue($sExportStr, 'ind_activo', $producto->Export);
				echo ew_ExportLine($sExportStr, $producto->Export);
			}
		}

		// Move to first record
		$this->lRecCnt = $this->lStartRec - 1;
		if (!$rs->EOF) {
			$rs->MoveFirst();
			$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 for display
				$producto->RowType = EW_ROWTYPE_VIEW; // Render view
				$this->RenderRow();
				if ($producto->Export == "xml") {
					$XmlDoc->BeginRow();
					$XmlDoc->AddField('cod_producto', $producto->cod_producto->CurrentValue);
					$XmlDoc->AddField('cod_pvDT', $producto->cod_pvDT->CurrentValue);
					$XmlDoc->AddField('des_producto', $producto->des_producto->CurrentValue);
					$XmlDoc->AddField('stk_disponible', $producto->stk_disponible->CurrentValue);
					$XmlDoc->AddField('pre_venta_publico', $producto->pre_venta_publico->CurrentValue);
					$XmlDoc->AddField('displayCat', $producto->displayCat->CurrentValue);
					$XmlDoc->AddField('ind_activo', $producto->ind_activo->CurrentValue);
					$XmlDoc->EndRow();
				} else {
					if ($sExportStyle == "v" && $producto->Export <> "csv") { // Vertical format
						echo ew_ExportField('cod_producto', $producto->cod_producto->ExportValue($producto->Export, $producto->ExportOriginalValue), $producto->Export);
						echo ew_ExportField('cod_pvDT', $producto->cod_pvDT->ExportValue($producto->Export, $producto->ExportOriginalValue), $producto->Export);
						echo ew_ExportField('des_producto', $producto->des_producto->ExportValue($producto->Export, $producto->ExportOriginalValue), $producto->Export);
						echo ew_ExportField('stk_disponible', $producto->stk_disponible->ExportValue($producto->Export, $producto->ExportOriginalValue), $producto->Export);
						echo ew_ExportField('pre_venta_publico', $producto->pre_venta_publico->ExportValue($producto->Export, $producto->ExportOriginalValue), $producto->Export);
						echo ew_ExportField('displayCat', $producto->displayCat->ExportValue($producto->Export, $producto->ExportOriginalValue), $producto->Export);
						echo ew_ExportField('ind_activo', $producto->ind_activo->ExportValue($producto->Export, $producto->ExportOriginalValue), $producto->Export);
					}	else { // Horizontal format
						$sExportStr = "";
						ew_ExportAddValue($sExportStr, $producto->cod_producto->ExportValue($producto->Export, $producto->ExportOriginalValue), $producto->Export);
						ew_ExportAddValue($sExportStr, $producto->cod_pvDT->ExportValue($producto->Export, $producto->ExportOriginalValue), $producto->Export);
						ew_ExportAddValue($sExportStr, $producto->des_producto->ExportValue($producto->Export, $producto->ExportOriginalValue), $producto->Export);
						ew_ExportAddValue($sExportStr, $producto->stk_disponible->ExportValue($producto->Export, $producto->ExportOriginalValue), $producto->Export);
						ew_ExportAddValue($sExportStr, $producto->pre_venta_publico->ExportValue($producto->Export, $producto->ExportOriginalValue), $producto->Export);
						ew_ExportAddValue($sExportStr, $producto->displayCat->ExportValue($producto->Export, $producto->ExportOriginalValue), $producto->Export);
						ew_ExportAddValue($sExportStr, $producto->ind_activo->ExportValue($producto->Export, $producto->ExportOriginalValue), $producto->Export);
						echo ew_ExportLine($sExportStr, $producto->Export);
					}
				}
			}
			$rs->MoveNext();
		}

		// Close recordset
		$rs->Close();
		if ($producto->Export == "xml") {
			header("Content-Type: text/xml");
			echo $XmlDoc->XML();
		} else {
			echo ew_ExportFooter($producto->Export);
		}
	}

	// Set up Master Detail based on querystring parameter
	function SetUpMasterDetail() {
		global $producto;
		$bValidMaster = FALSE;

		// Get the keys for master table
		if (@$_GET[EW_TABLE_SHOW_MASTER] <> "") {
			$sMasterTblVar = $_GET[EW_TABLE_SHOW_MASTER];
			if ($sMasterTblVar == "") {
				$bValidMaster = TRUE;
				$this->sDbMasterFilter = "";
				$this->sDbDetailFilter = "";
			}
			if ($sMasterTblVar == "categoria") {
				$bValidMaster = TRUE;
				$this->sDbMasterFilter = $producto->SqlMasterFilter_categoria();
				$this->sDbDetailFilter = $producto->SqlDetailFilter_categoria();
				if (@$_GET["cod_categoria"] <> "") {
					$GLOBALS["categoria"]->cod_categoria->setQueryStringValue($_GET["cod_categoria"]);
					$producto->cod_categoria->setQueryStringValue($GLOBALS["categoria"]->cod_categoria->QueryStringValue);
					$producto->cod_categoria->setSessionValue($producto->cod_categoria->QueryStringValue);
					$this->sDbMasterFilter = str_replace("@cod_categoria@", ew_AdjustSql($GLOBALS["categoria"]->cod_categoria->QueryStringValue), $this->sDbMasterFilter);
					$this->sDbDetailFilter = str_replace("@cod_categoria@", ew_AdjustSql($GLOBALS["categoria"]->cod_categoria->QueryStringValue), $this->sDbDetailFilter);
				} else {
					$bValidMaster = FALSE;
				}
			}
			if ($sMasterTblVar == "linea_producto") {
				$bValidMaster = TRUE;
				$this->sDbMasterFilter = $producto->SqlMasterFilter_linea_producto();
				$this->sDbDetailFilter = $producto->SqlDetailFilter_linea_producto();
				if (@$_GET["cod_linea_producto"] <> "") {
					$GLOBALS["linea_producto"]->cod_linea_producto->setQueryStringValue($_GET["cod_linea_producto"]);
					$producto->cod_linea_producto->setQueryStringValue($GLOBALS["linea_producto"]->cod_linea_producto->QueryStringValue);
					$producto->cod_linea_producto->setSessionValue($producto->cod_linea_producto->QueryStringValue);
					$this->sDbMasterFilter = str_replace("@cod_linea_producto@", ew_AdjustSql($GLOBALS["linea_producto"]->cod_linea_producto->QueryStringValue), $this->sDbMasterFilter);
					$this->sDbDetailFilter = str_replace("@cod_linea_producto@", ew_AdjustSql($GLOBALS["linea_producto"]->cod_linea_producto->QueryStringValue), $this->sDbDetailFilter);
				} else {
					$bValidMaster = FALSE;
				}
			}
		}
		if ($bValidMaster) {

			// Save current master table
			$producto->setCurrentMasterTable($sMasterTblVar);

			// Reset start record counter (new master key)
			$this->lStartRec = 1;
			$producto->setStartRecordNumber($this->lStartRec);
			$producto->setMasterFilter($this->sDbMasterFilter); // Set up master filter
			$producto->setDetailFilter($this->sDbDetailFilter); // Set up detail filter

			// Clear previous master session values
			if ($sMasterTblVar <> "categoria") {
				if ($producto->cod_categoria->QueryStringValue == "") $producto->cod_categoria->setSessionValue("");
			}
			if ($sMasterTblVar <> "linea_producto") {
				if ($producto->cod_linea_producto->QueryStringValue == "") $producto->cod_linea_producto->setSessionValue("");
			}
		} else {
			$this->sDbMasterFilter = $producto->getMasterFilter(); //  Restore master filter
			$this->sDbDetailFilter = $producto->getDetailFilter(); // Restore detail filter
		}
	}

	// Page Load event
	function Page_Load() {

		//echo "Page Load";
	}

	// Page Unload event
	function Page_Unload() {

		//echo "Page Unload";
	}

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

		// Return error message in CustomError
		return TRUE;
	}
}
?>
