<script type="text/javascript" src="${appRoot}/res/ui/config.js"></script>
<script type="text/javascript">
// <![CDATA[
// data
var configData = ${__data__};
var selectedPid = '${selectedPid}';
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>
