Fixed: sanitation loop on ampersands in encodeAttribute() (this was MediaWiki's fault)
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$lang_table_title}</title>
<script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/mctabs.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/form_utils.js"></script>
<script language="javascript" type="text/javascript" src="../../utils/validate.js"></script>
<script language="javascript" type="text/javascript" src="jscripts/table.js"></script>
<link href="css/table.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>
<body id="table" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
<form onsubmit="insertTable();return false;" action="#">
<div class="tabs">
<ul>
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
<li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
</ul>
</div>
<div class="panel_wrapper">
<div id="general_panel" class="panel current">
<fieldset>
<legend>{$lang_table_general_props}</legend>
<table border="0" cellpadding="4" cellspacing="0" width="100%">
<tr>
<td><label id="colslabel" for="cols">{$lang_table_cols}</label></td>
<td><input id="cols" name="cols" type="text" value="" size="3" maxlength="3" class="required number min1" /></td>
<td><label id="rowslabel" for="rows">{$lang_table_rows}</label></td>
<td><input id="rows" name="rows" type="text" value="" size="3" maxlength="3" class="required number min1" /></td>
</tr>
<tr>
<td><label id="cellpaddinglabel" for="cellpadding">{$lang_table_cellpadding}</label></td>
<td><input id="cellpadding" name="cellpadding" type="text" value="" size="3" maxlength="3" class="number" /></td>
<td><label id="cellspacinglabel" for="cellspacing">{$lang_table_cellspacing}</label></td>
<td><input id="cellspacing" name="cellspacing" type="text" value="" size="3" maxlength="3" class="number" /></td>
</tr>
<tr>
<td><label id="alignlabel" for="align">{$lang_table_align}</label></td>
<td><select id="align" name="align">
<option value="">{$lang_not_set}</option>
<option value="center">{$lang_table_align_middle}</option>
<option value="left">{$lang_table_align_left}</option>
<option value="right">{$lang_table_align_right}</option>
</select></td>
<td><label id="borderlabel" for="border">{$lang_table_border}</label></td>
<td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="changedBorder();" class="number" /></td>
</tr>
<tr id="width_row">
<td><label id="widthlabel" for="width">{$lang_table_width}</label></td>
<td><input name="width" type="text" id="width" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
<td><label id="heightlabel" for="height">{$lang_table_height}</label></td>
<td><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
</tr>
<tr id="styleSelectRow">
<td><label id="classlabel" for="class">{$lang_class_name}</label></td>
<td colspan="3">
<select id="class" name="class">
<option value="" selected>{$lang_not_set}</option>
</select></td>
</tr>
<tr>
<td class="column1"><label for="caption">{$lang_table_caption}</label></td>
<td><input id="caption" name="caption" type="checkbox" value="true" /></td>
</tr>
</table>
</fieldset>
</div>
<div id="advanced_panel" class="panel">
<fieldset>
<legend>{$lang_table_advanced_props}</legend>
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td class="column1"><label for="id">{$lang_table_id}</label></td>
<td><input id="id" name="id" type="text" value="" class="advfield" /></td>
</tr>
<tr>
<td class="column1"><label for="summary">{$lang_table_summary}</label></td>
<td><input id="summary" name="summary" type="text" value="" class="advfield" /></td>
</tr>
<tr>
<td><label for="style">{$lang_table_style}</label></td>
<td><input type="text" id="style" name="style" value="" class="advfield" onchange="changedStyle();" /></td>
</tr>
<tr>
<td class="column1"><label for="dir">{$lang_table_langdir}</label></td>
<td>
<select id="dir" name="dir" class="advfield">
<option value="">{$lang_not_set}</option>
<option value="ltr">{$lang_table_ltr}</option>
<option value="rtl">{$lang_table_rtl}</option>
</select>
</td>
</tr>
<tr>
<td class="column1"><label id="langlabel" for="lang">{$lang_table_langcode}</label></td>
<td>
<input id="lang" name="lang" type="text" value="" class="advfield" />
</td>
</tr>
<tr>
<td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="backgroundimage" name="backgroundimage" type="text" value="" class="advfield" onchange="changedBackgroundImage();" /></td>
<td id="backgroundimagebrowsercontainer"> </td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="column1"><label for="bordercolor">{$lang_table_bordercolor}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');changedColor();" /></td>
<td id="bordercolor_pickcontainer"> </td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td>
<td>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td>
<td id="bgcolor_pickcontainer"> </td>
</tr>
</table>
</td>
</tr>
</table>
</fieldset>
</div>
</div>
<div class="mceActionPanel">
<div style="float: left">
<input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertTable();" />
</div>
<div style="float: right">
<input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
</div>
</div>
</form>
</body>
</html>