<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE ELEMENT SYSTEM "/u/web/ucpusa/mpc/data/dtd/element.dtd">
<ELEMENT>
	<VERSION>1</VERSION>
	<TYPE>Merc_CatalogList</TYPE>
	<GLOBAL TYPE="never"></GLOBAL>
	<UIGRAPHIC></UIGRAPHIC>
	<UITEXT></UITEXT>
	<!-- No delete -->
	<PERMISSIONS>666</PERMISSIONS>
	<PROPERTIES>
		<PROPERTY NAME="width">
			<VALUE>300</VALUE>
		</PROPERTY>
		<PROPERTY NAME="height">
			<VALUE>200</VALUE>
		</PROPERTY>
		<PROPERTY NAME="style">
			<VALUE>text-body</VALUE>
		</PROPERTY>
		<PROPERTY NAME="subcathead">
			<VALUE>Subcategories in this group</VALUE>
		</PROPERTY>
		<PROPERTY NAME="itemhead">
			<VALUE>Items in this group</VALUE>
		</PROPERTY>
		<PROPERTY NAME="servhead">
			<VALUE>Services in this group</VALUE>
		</PROPERTY>
		<PROPERTY NAME="btnstyle">
			<VALUE>btn-shopperbackground</VALUE>
		</PROPERTY>
		<PROPERTY NAME="securebtnstyle">
			<VALUE>secure-btn-shopperbackground</VALUE>
		</PROPERTY>
		<PROPERTY NAME="btntextstyle">
			<VALUE>btn-shoppertext</VALUE>
		</PROPERTY>
		<PROPERTY NAME="maxitemsperpage">
			<VALUE>25</VALUE>
		</PROPERTY>
	</PROPERTIES>
	<SCRIPT NAME="common" TYPE="common" VERSION="1.0"><![CDATA[
	]]></SCRIPT>
	<SCRIPT NAME="output" TYPE="output" VERSION="1.0"><![CDATA[
	function output(type)
	{
		var scriptFile = doActionEx('DATA_READFILE', 'common.js', 'FileName', 
					'common.js','ObjectName', 'JS_SRC', 'FileType', 'txt');
		eval (scriptFile);
		if (type == "text/html")
		{
			write('<div id="newLayer'+merc_elementid+'" name="newLayer'+merc_elementid+'" ');
			if (style && style != '')
			{
				write(' class="'+style+'" ');
			}
			write('style="position:absolute; width:'+width+'px; ');
			write('height:'+height+'px; left:'+merc_xpos+'px; top:'+merc_ypos+'px;');
			write('z-index:'+merc_zindex+';">');

			write('<scr');
				writeln('ipt runat="merc_server">');
			var pageName = doAction("ST_GET_STATEDATA", "CurrentPageName", "CurrentPageName");
			var ext = doAction('DATA_GETCONFIGDATA', 'ObjectName', 'SiteEditorCfg', 'RowName', '*CurrentWorkingPage*', 'ColName', 'FileExt');
			pageName += ext;
			var mode = doAction("ST_GET_STATEDATA", "PE_OutputMode", "PE_OutputMode");

			writeln('var currentNode = doActionEx("ST_GET_STATEDATA","Result","currentNode","currentNode");');
			writeln('if (!currentNode || currentNode == "")');
			writeln('	currentNode = 9000;');
			writeln('else');
			writeln('	currentNode = parseInt(currentNode);');
			writeln('nodeData = doActionBDO("CAT_GETDATA","NodeID",currentNode,"Locale","en");');
			writeln('writeln("<p class=\\"text-header\\">" + nodeData.Desc + "</p><p>");');

			writeln('var urlpath = doActionEx("DATA_GETLITERAL", "Result", "ObjectName", "storecfg", "LiteralID", "SiteUrl");');
			writeln('var picpath = doActionEx("DATA_GETLITERAL", "Result", "ObjectName", "storecfg", "LiteralID", "imagepath");');
			writeln('var sessionid = doActionEx("ST_GET_STATEDATA", "Result", "SessionID", "SessionID");');
			writeln('var siteid = doActionEx("REQ_GET_FORMVALUE", "Result", "SiteID", "SiteID");');
			writeln('var appid = doActionEx("REQ_GET_FORMVALUE", "Result", "AppID", "AppID");');

			writeln('writeln("<table border=0>");');
			writeln('children = doActionBDO("CAT_GETCHILDREN", "NodeID", currentNode);');
			writeln('if (children.GetSize() > 0)');
			writeln('	writeln("<tr><td><b>'+subcathead+'</b></td></tr>");');
			pageName = escape(pageName);

			writeln('for (var k in children)');
			writeln('{');
			writeln('// do not display the unassigned category');
			writeln('if(children[k] == 3) continue;');
			writeln('	var childNodeData = doActionBDO("CAT_GETDATA", "NodeID", children[k], "Locale", "en");');
			writeln('	write("<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=\\"" + urlpath + "?sh_action=viewcatalog&SessionID=" + sessionid + "&SiteID=" + siteid + "&AppID=" + appid + "&currentNode=" + children[k] + "&PageName=' + pageName +'");');
					if (mode == "PE_PreviewMode")
			writeln('		write("&Preview=1");');
			writeln('	writeln("\\"><span class=\\"text-body\\">"+childNodeData.Desc+"</span></a></td></tr>");');
			writeln('}');

			writeln('items = doActionBDO("CAT_GETNODEITEMS","NodeID",currentNode);');

			writeln('var products = new Object();');
			writeln('var services = new Object();');

			writeln('for (var k in items)');
			writeln('{');
			writeln('	var key = doActionEx("ITEM_GETFIELD", "Key", "ItemID", items[k], "FieldName", "Key");');
			writeln('	var name = doActionEx("ITEM_GETFIELD", "Name", "ItemID", items[k], "FieldName", "NameID", "Locale", "en");');
			writeln('	var type = doActionEx("ITEM_GETFIELD", "Type", "ItemID", items[k], "FieldName", "Type");');
			writeln('	if (type == 0)');
			writeln('		products[key] = name;');
			writeln('	else if (type == 1)');
			writeln('		services[key] = name;');
			writeln('}');

			writeln('var displayedHeader = false;');
			var pageName = PageNameByType('', "ItemPage");
			pageName += ext;
			pageName = escape(pageName);

			writeln('var itemstart = doActionEx("REQ_GET_FORMVALUE", "Result", "ItemStart", "ItemStart");');
			writeln('if (!itemstart)');
			writeln('	itemstart = 0;');
			writeln('else');
			writeln('	itemstart = parseInt(itemstart);');
			writeln('var i=0;');
			writeln('var more=false;');
			writeln('for (var k in products)');
			writeln('{');
			writeln('	if (++i <= itemstart)');
			writeln('		continue;');
			writeln('	if (i-itemstart > '+maxitemsperpage+')');
			writeln('	{');
			writeln('		more=true');
			writeln('		break;');
			writeln('	}');
			writeln('	if (!displayedHeader)');
			writeln('	{');
			writeln('		writeln("<tr><td><b>'+itemhead+'</b></td></tr>");');
			writeln('		displayedHeader = true;');
			writeln('	}');
			writeln('	write("<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=\\"" + urlpath + "?sh_action=viewitem&ItemType=product&SessionID=" + sessionid + "&SiteID=" + siteid + "&AppID=" + appid + "&ItemKey=" + escape(k));');
					if (pageName != "")
					{
			writeln('		write("&PageName='+pageName+'");');
					}
					if (mode == "PE_PreviewMode")
			writeln('		write("&Preview=1");');
			writeln('	writeln("\\"><span class=\\"text-body\\">" + products[k] + "</span></a></td></tr>");');
			writeln('}');
			writeln('writeln("<tr><td><table border=0><tr><td width=122>");');
			var SpageName = PageNameByType('', "ShopHome");
			SpageName += ext;
			SpageName = escape(SpageName);
			writeln('if (itemstart > 0)')
			writeln('{');
			writeln('	write("<form name=catlist action=\\"" + urlpath + "\\">");');
			writeln('	writeln("<input type=hidden name=sh_action value=viewcatalog>");');
			writeln('	writeln("<input type=hidden name=SessionID value=" + sessionid + ">");');
			writeln('	writeln("<input type=hidden name=SiteID value=" + siteid + ">");');
			writeln('	writeln("<input type=hidden name=AppID value=" + appid + ">");');
			writeln('	writeln("<input type=hidden name=currentNode value=" + currentNode + ">");');
			writeln('	writeln("<input type=hidden name=PageName value=\\"'+SpageName+'\\">");');
					if (mode == "PE_PreviewMode")
			writeln('		write("<input type=hidden name=Preview value=1>");');
			writeln('	write("<input type=hidden name=ItemStart value="+parseInt(itemstart-'+maxitemsperpage+')+">");');

			writeln('	writeln("<table border=0 cellspacing=0 cellpadding=0><tr>");');

			var currentPage = doAction('ST_GET_STATEDATA', 'CurrentPageName', 'CurrentPageName');
			var seObj = generateSEObjects (currentPage);
			var pageObj = seObj.pageObjArray[currentPage];
			if (mode != "PE_EditMode" && pageObj.SecureBaseHref.toLowerCase() == "yes")
				writeln('	writeln("<td align=right valign=middle width=120 height=22 class=\''+securebtnstyle+'\'>");');
			else
				writeln('	writeln("<td align=right valign=middle width=120 height=22 class=\''+btnstyle+'\'>");');
			writeln('	writeln(\'<a href="#" onClick="document.catlist.submit();return false;">\');');
			writeln('	writeln(\'<center><span class="'+btntextstyle+'">Previous</span></center></a>\');');
			writeln("	writeln('</td></tr></table></form>');");
			writeln('}');
			writeln('writeln("</td><td width=122>");');
			writeln('if (more)');
			writeln('{');
			writeln('	write("<form name=catlist2 action=\\"" + urlpath + "\\">");');
			writeln('	writeln("<input type=hidden name=sh_action value=viewcatalog>");');
			writeln('	writeln("<input type=hidden name=SessionID value=" + sessionid + ">");');
			writeln('	writeln("<input type=hidden name=SiteID value=" + siteid + ">");');
			writeln('	writeln("<input type=hidden name=AppID value=" + appid + ">");');
			writeln('	writeln("<input type=hidden name=currentNode value=" + currentNode + ">");');
			writeln('	writeln("<input type=hidden name=PageName value=\\"'+SpageName+'\\">");');
					if (mode == "PE_PreviewMode")
			writeln('		write("<input type=hidden name=Preview value=1>");');
			writeln('	write("<input type=hidden name=ItemStart value="+parseInt(itemstart+'+maxitemsperpage+')+">");');

			writeln('	writeln("<table border=0 cellspacing=0 cellpadding=0><tr>");');
			if (mode != "PE_EditMode" && pageObj.SecureBaseHref.toLowerCase() == "yes")
				writeln('	writeln("<td align=right valign=middle width=120 height=22 class=\''+securebtnstyle+'\'>");');
			else
				writeln('	writeln("<td align=right valign=middle width=120 height=22 class=\''+btnstyle+'\'>");');
			writeln('	writeln(\'<a href="#" onClick="document.catlist2.submit();return false;">\');');
			writeln('	writeln(\'<center><span class="'+btntextstyle+'">Next</span></center></a>\');');
			writeln("	writeln('</td></tr></table></form>');");
			writeln('}');
			writeln('writeln("</td></tr></table></td></tr>");');

			writeln('displayedHeader = false;');
			writeln('for (var k in services)');
			writeln('{');
			writeln('	if (!displayedHeader)');
			writeln('	{');
			writeln('		writeln("<tr><td><b>'+servhead+'</b></td></tr>");');
			writeln('		displayedHeader = true;');
			writeln('	}');
			writeln('	write("<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=\\"" + urlpath + "?sh_action=viewitem&ItemType=service&SessionID=" + sessionid + "&SiteID=" + siteid + "&AppID=" + appid + "&ItemKey=" + k);');
					if (pageName != "")
					{
			writeln('		write("&PageName='+pageName+'");');
					}
					if (mode == "PE_PreviewMode")
			writeln('		write("&Preview=1");');
			writeln('	writeln("\\"><span class=\\"text-body\\">" + services[k] + "</span></a></td></tr>");');
			writeln('}');

			writeln('writeln("</table>");');

			write('</scr');
				writeln('ipt>');
			write('</div>');
			return true;
		}
		else if (type == "text/wml")
		{
			// output WML
		}
	}
	]]></SCRIPT>
	<SCRIPT NAME="output_edit_mode" TYPE="output_edit_mode" VERSION="1.0"><![CDATA[
	function output_edit_mode(type)
	{
		if (type == "text/html")
		{
			write('<div id="newLayer'+merc_elementid+'" name="newLayer'+merc_elementid+'" ');
			if (style && style != '')
			{
				write(' class="'+style+'" ');
			}
			write('style="position:absolute; width:'+width+'px; ');
			write('height:'+height+'px; left:'+merc_xpos+'px; top:'+merc_ypos+'px;');
			write('z-index:'+merc_zindex+';">');

			writeln("Catalog List");

			write('</div>');
			return true;
		}
		else if (type == "text/wml")
		{
			// output WML
		}
	}
	]]></SCRIPT>
	<SCRIPT NAME="edit_properties" TYPE="edit_properties" VERSION="1.0"><![CDATA[
	function edit_properties()
	{
		//write out html for EditProperties dialog box
		// use table tags to position stuff better?
		// The input "names" have to match the <name> tags above.
		write('<form name="saveprop">');
		var addEditMode = doAction('REQ_GET_FORMVALUE', "ElementAddEdit", "ElementAddEdit");
		writeln('<input type=hidden name="ElementAddEdit" value="'+addEditMode+'">');
		writeln('<input type=hidden name="ElementID" value="'+merc_elementid+'">');

		writeln('<p align="center"><span class="dialog-title">Catalog List</span></p>');
		writeln('<table width="407" border="0" cellspacing="0" cellpadding="0" align="center" class="table-bkgrd-main">');
		writeln('<tr valign="top"><td colspan="2" class="field-label"><center>');

		writeln('<table border=0 width="344">');
		writeln('<tr valign="top"><td colspan="2">&nbsp;');
		writeln('</td></tr>');
		writeln('</table>');

		writeln('<table width="344" border="1" cellspacing="0" cellpadding="0">');
		writeln('<tr class="table-bkgrd-main">');
		writeln('<td width="106" class="table-header2">');
		writeln('<span class="field-label">Maximum Items Per Page: </span>');
		writeln('</td><td width="212" class="table-bkgrd-main">');
		writeln('&nbsp;<input type=text size=5 name=maxitemsperpage value="'+maxitemsperpage+'">');
		writeln('</td></tr></table>');

		writeln('<table width="407" border="0" cellspacing="0" cellpadding="0" align="center" class="table-bkgrd-main">');
		writeln('<tr><td><center>');
<!--BEGIN HELP WINDOW LINK-->
var helpdomain = doAction('DATA_GETCONFIGDATA', 'ObjectName', 'HelpCfg', 'RowName', 'helpdomain', 'ColName', 'Domain');
var helpversion = doAction('DATA_GETCONFIGDATA', 'ObjectName', 'HelpCfg', 'RowName', 'helpversion', 'ColName', 'Domain');

writeln('<a href="javascript:void(opener.parent.openHelpWindow(\'http://'+helpdomain+'/cgi-bin/helpsrvr.exe?R+helpsrvr+OH_RTL_ELMT_CATLIST+SoftCart+'+helpversion+'+en-us\', \'Alane\'));"> <img src="/cgi-docs/Mercantec/PC_F_6.6.1/images/help2.gif" width="97" height="30" border="0" name="help" alt="Help"></a><!--END HELP WINDOW LINK--><a>');
		writeln('<a href="javascript:opener.CloseWinSubmitForm(\'PE_Cancel\', \'Layout1.htm\', \'mainFrame\', document.saveprop);"><img src="/cgi-docs/Mercantec/PC_F_6.6.1/images/Cancel_Nbtn_base.gif" width="86" height="30" alt="Cancel" border="0"></a>');
		writeln('<a href="javascript:opener.CloseWinSubmitForm(\'PE_SaveProperties\', \'Layout1.htm\', \'mainFrame\', document.saveprop);">');
		writeln('<img src="/cgi-docs/Mercantec/PC_F_6.6.1/images/Save_Nbtn_base.gif" width="86" height="30" alt="Ok" border="0"></a>');
		writeln('</td></tr></table>');
		writeln('</td></tr></table>');
		write('</form>');
		writeln ("<SCRIPT language=javascript>");+
		writeln('self.resizeTo(500, 250);');
		writeln('</script>');

		return true;
	}
	]]></SCRIPT>
	<SCRIPT NAME="save_properties" TYPE="save_properties" VERSION="1.0"><![CDATA[
	// May not need to do anything in all cases
	// Save things to Prod DB on price/desc? - automatic based on dbentry
	// if there is a reason not to dismiss the properties dialog, return false
	function save_properties()
	{
		return true;
	}
	]]></SCRIPT>
	<SCRIPT NAME="create_element" TYPE="create_element" VERSION="1.0"><![CDATA[
	function create_element()
	{
		return true;
	}
	]]></SCRIPT>
	<SCRIPT NAME="destroy_element" TYPE="destroy_element" VERSION="1.0"><![CDATA[
	function destroy_element()
	{
		return true;
	}
	]]></SCRIPT>
</ELEMENT>

