<script type="text/javascript" src="${appRoot}/res/ui/config.js"></script>
<script type="text/javascript">
// <![CDATA[
// data
var configData = ${__data__};
var selectedPid = '${selectedPid}';
var configurationReferer = '${configurationReferer}';
var factoryCreate = ${factoryCreate};
var i18n = { // i18n
	stat_ok      : '${config.status.ok}', // "Configuration Admin Service is running.";
	stat_missing : '${config.status.missing}', //"Configuration Admin Service is not installed/running."
	save         : '${save}',
	reset        : '${reset}',
	del          : '${delete}',
	abort        : '${abort}',
	props_title  : '${config.properties}',
	props_enter  : '${config.properties.enter}', // "Enter Name-Value pairs of configuration properties"
	cfg_title    : '${config.info.title}', // "Configuration Information"
	pid          : '${config.info.pid}', // "Persistent Identity (PID)";
	fpid         : '${config.info.fpid}', // "Factory Peristent Identifier (Factory PID)";
	binding      : '${config.info.binding}', // "Configuration Binding";
	unbound      : '${config.info.unbound}', // "Unbound or new configuration"; 
	unbind_btn   : '${config.unbind.btn}', // "Unbind;
	unbind_tip   : '${config.unbind.tip}', // "Unbind Configuration from Bundle"
	del_ask      : '${config.del.ask}', // "Are you sure to delete this configuration ?";
	del_config   : '${config.del.config}', // "Configuration: ";
	del_bundle   : '${config.del.bundle}', // "Bundle: ";
	unbind_ask   : '${config.unbind.ask}', // "Are you sure to unbind this configuration ?"
	dflt_value   : '${config.property.default.value}', // "Note, that this property is not set. The above field contains is the *default value* specified in the Meta Type service"
	opt_value    : '${config.property.optional.value}', // "This attribute is optional. To save it in the current configuration you must check it. To remove it from the configuration uncheck the checkbox."
	err_bind     : '${config.bind.error}' // Error: the PID'{0}' is bound to '{1}' but the actual managed service is registered from '{2}' bundle
};
var param = { // param
    apply        : '${param.apply}',
    create       : '${param.create}',
    unbind       : '${param.unbind}',
    dele         : '${param.delete}',
    propertylist : '${param.propertylist}',
    pidFilter    : '${param.pidFilter}'
};
// ]]>
</script>

<!-- status line -->
<p class="statline">&nbsp;</p>


<div id="configContent" >
	<div id="fPidsSelect" class="ui-widget-header ui-corner-top buttonGroup">
		${config.configurations.title}
	</div>
	<table id="configTable" class="tablesorter nicetable noauto">
		<thead>
			<tr>
				<th class="col_Exists">${config.title.exists}</th>
				<th class="col_Name">${config.title.name}</th>
				<th class="col_Binding">${config.title.bundle}</th>
				<th class="col_Actions">${config.title.actions}</th>
			</tr>
		</thead>
		<tbody>
			<tr>
				<td class="col_Exists_body" title="${config.title.exists.tip}"><div class="ui-icon ui-icon-check">&nbsp;</div></td>
				<td class="pointer"><div class="ui-icon ui-icon-triangle-1-e subpid">&nbsp;</div></td>
				<td>&nbsp;</td>
				<td>
					<ul class="icons">
						<li class="dynhover" title="${config.edit.tip}"><span class="ui-icon ui-icon-pencil">&nbsp;</span></li>
						<li class="ui-state-disabled dynhover" title="${config.unbind.tip}"><span class="ui-icon ui-icon-transferthick-e-w">&nbsp;</span></li>
						<li class="dynhover" title="${delete}"><span class="ui-icon ui-icon-trash">&nbsp;</span></li>
					</ul>
				</td>
			</tr>
			<tr class="fpid">
				<td>&nbsp;</td>
				<td class="pointer">&nbsp;</td>
				<td>-</td>
				<td>
					<ul class="icons">
						<li class="dynhover" title="${config.create.tip}"><span class="ui-icon ui-icon-plusthick">&nbsp;</span></li>
					</ul>
				</td>
			</tr>
		</tbody>
	</table>
	
</div>

<!-- placeholder for property editor -->
<div id="editor" class="ui-helper-hidden">
	<p class="ui-state-error ui-helper-hidden">&nbsp;</p>
	<table id="editorTable" class="nicetable">
		<tr><td>&nbsp;</td></tr>
	</table>
</div>
