市长热线演示版

pageredit.aspx 26KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="pageredit.aspx.cs" Inherits="HySoft.BaseCallCenter.Web.askmanage.pageredit" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head id="Head1" runat="server">
  5. <title>编辑试题</title>
  6. <link href="/scripts/ui/skins/Aqua/css/ligerui-all.css" rel="stylesheet" type="text/css" />
  7. <script src="/scripts/jquery/jquery-1.8.3.min.js" type="text/javascript"></script>
  8. <script src="/scripts/ui/json2.js" type="text/javascript"></script>
  9. <script src="/scripts/ui/js/core/base.js" type="text/javascript"></script>
  10. <script src="/scripts/ui/js/ligerui.min.js" type="text/javascript"></script>
  11. <script src="/scripts/ui/js/plugins/ligerTextBox.js" type="text/javascript"></script>
  12. <script src="/scripts/ui/js/plugins/ligerSpinner.js" type="text/javascript"></script>
  13. <script src="/scripts/function.js" type="text/javascript"></script>
  14. <script src="/scripts/utils.js" type="text/javascript"></script>
  15. <script src="/scripts/ui/js/plugins/ligerDateEditor.js" type="text/javascript"></script>
  16. <link href="/scripts/ui/skins/Tab/css/grid.css" rel="stylesheet" type="text/css" />
  17. <link href="/images/style.css" rel="stylesheet" type="text/css" />
  18. <link href="/scripts/ui/skins/Tab/css/grid.css" rel="stylesheet" type="text/css" />
  19. <link href="/scripts/ui/skins/ligerui-icons.css" rel="stylesheet" type="text/css" />
  20. <style type="text/css">
  21. .l-toolbar
  22. {
  23. background: none;
  24. height: 23px;
  25. border: 0px solid #9CBAE7;
  26. border-top: 0px solid #EFF7F7;
  27. }
  28. .tools_box
  29. {
  30. border: 1px solid #D6D6D6;
  31. border-bottom: 0px;
  32. }
  33. </style>
  34. <script type="text/javascript">
  35. var sort = 0;
  36. var itemcount = 0;
  37. var questionlist;
  38. var selectlist;
  39. function CloseThis() {
  40. parent.SaveRes();
  41. }
  42. function ResetWidth() {
  43. try {
  44. var fwidth = $("#form1").width() * 0.5;
  45. document.getElementById("divQuestionList").style.width = fwidth;
  46. document.getElementById("divSelectList").style.width = fwidth-20;
  47. questionlist.reload();
  48. selectlist.reload();
  49. //LoadQuestionList();
  50. //LoadSelectList();
  51. //questionlist.setWidth(fwidth);
  52. //selectlist.setWidth(fwidth);
  53. //questionlist.setColumnWidth('_f_title', 80);
  54. }
  55. catch (e)
  56. { }
  57. }
  58. $(function () {
  59. var a = $("#navtab1").ligerTab({
  60. showSwitch: false,
  61. contextmenu: false,
  62. onAfterSelectTabItem: function (targettabid) {
  63. }
  64. });
  65. LoadQuestionList();
  66. LoadSelectList();
  67. $("#pageloading_bg,#pageloading").hide();
  68. });
  69. function LoadQuestionList() {
  70. var fwidth = $("#form1").width() * 0.5;
  71. var selectcategoryid = document.getElementById("dropQuestionCategory").value;
  72. var selecttype = document.getElementById("dropQuestionType").value;
  73. var key = escape(document.getElementById("txtKeywords").value);
  74. var id = document.getElementById("txtId").value;
  75. var userid = document.getElementById("txtUserId").value;
  76. questionlist = $("#divQuestionList").ligerGrid({
  77. height: 236,
  78. width: fwidth,
  79. checkbox: true,
  80. columns: [
  81. { display: '操作', width: '35', frozen: true, name: '_f_questionid', render: function (rowdata, rowindex, value) {
  82. return "<img src='../scripts/ui/skins/icons/right.png' onclick='SelectInItem(\"" + rowdata._f_questionid + "\");' style='width:20px;cursor:hand;' title='选入' />";
  83. }
  84. },
  85. { display: '试题标题', align: 'left', width: '150', frozen: true, name: '_f_title' },
  86. { display: '试题类型', width: '80', name: '_f_type', render: function (rowdata, rowindex, value) {
  87. if (value == "1")
  88. return "<img src='../images/help_question_mark_24.png' style='width:18px' />&nbsp;&nbsp;<font color='red'>问答题</font>";
  89. else if (value == "2")
  90. return "<img src='../images/radio_button_off_16.png' style='width:16px' />&nbsp;&nbsp;<font color='green'>单选题</font>";
  91. else if (value == "3")
  92. return "<img src='../images/check_box_24.png' style='width:18px' />&nbsp;&nbsp;<font color='blue'>多选题</font>";
  93. else
  94. return "";
  95. }
  96. },
  97. { display: '试题分类', width: '120', name: '_f_categoryname' },
  98. { display: '试题内容', align: 'left', width: '550', name: '_f_content' }
  99. ],
  100. toolbar: {
  101. items: [
  102. { text: '增加', click: itemclick2, icon: 'add' },
  103. { line: true },
  104. { text: '修改', click: itemclick2, icon: 'modify' },
  105. { line: true },
  106. { text: '删除', click: itemclick2, icon: 'delete' },
  107. { line: true },
  108. { text: '选入', click: itemclick2, icon: 'rightall' }
  109. ]
  110. },
  111. url: 'ajax/question.ashx?action=getlistbypager&pagerid=' + id + '&userid=' + userid + '&categoryid=' + selectcategoryid + '&selecttype=' + selecttype + '&key=' + key, pageSize: 50, pageSizeOptions: [10, 20, 50], rownumbers: true,
  112. onSelectRow: function (data, rowindex, rowobj) {
  113. },
  114. onDblClickRow: function (data, rowindex, rowobj) {
  115. var vheight = $("#form1").height() - 30;
  116. var vwidth = $("#form1").width() * 0.9;
  117. if (vwidth > 700) {
  118. vwidth = 700;
  119. }
  120. var id = "";
  121. var vtitle = "修改试题";
  122. try {
  123. id = data._f_questionid;
  124. vtitle = "【<font color='red'>" + data._f_title + "</font>】修改试题";
  125. }
  126. catch (e) {
  127. }
  128. if (id != "") {
  129. var selecttype = document.getElementById("dropQuestionType").value;
  130. $.ligerDialog.open({ url: 'questionedit.aspx?otype=modify&id=' + id, title: vtitle, height: vheight, width: vwidth, isResize: true
  131. });
  132. }
  133. else {
  134. $.ligerDialog.error('没有选择要修改的试题,请选择');
  135. }
  136. }
  137. });
  138. $("#pageloading").hide();
  139. }
  140. function itemclick2(item) {
  141. switch (item.icon) {
  142. case "add":
  143. var vheight = $("#form1").height() - 30;
  144. var vwidth = $("#form1").width() * 0.9;
  145. if (vwidth > 700) {
  146. vwidth = 700;
  147. }
  148. var id = "";
  149. var vtitle = "添加试题";
  150. var selecttype = document.getElementById("dropQuestionType").value;
  151. $.ligerDialog.open({ url: 'questionedit.aspx?otype=new&categoryid=' + id + '&selecttype=' + selecttype, title: vtitle, height: vheight, width: vwidth, isResize: true
  152. });
  153. break;
  154. case "modify":
  155. var vheight = $("#form1").height() - 30;
  156. var vwidth = $("#form1").width() * 0.9;
  157. if (vwidth > 700) {
  158. vwidth = 700;
  159. }
  160. var id = "";
  161. var vtitle = "修改试题";
  162. var rowobj;
  163. try {
  164. rowobj = questionlist.getSelectedRow();
  165. id = rowobj._f_questionid;
  166. vtitle = "【<font color='red'>" + rowobj._f_title + "</font>】修改试题";
  167. }
  168. catch (e) {
  169. }
  170. if (id != "") {
  171. var selecttype = document.getElementById("dropQuestionType").value;
  172. $.ligerDialog.open({ url: 'questionedit.aspx?otype=modify&id=' + id, title: vtitle, height: vheight, width: vwidth, isResize: true
  173. });
  174. }
  175. else {
  176. $.ligerDialog.error('没有选择要修改的试题,请选择');
  177. }
  178. break;
  179. case "delete":
  180. var id = "";
  181. var rowobj;
  182. try {
  183. rowobj = questionlist.getSelectedRow();
  184. id = rowobj._f_questionid;
  185. }
  186. catch (e) {
  187. }
  188. if (id != "") {
  189. $.ligerDialog.confirm('确定要删除【<font color="red">' + rowobj._f_title + '</font>】试题吗?', function (yes) {
  190. if (yes) {
  191. $.post("ajax/question.ashx?action=delete&id=" + id, function (data) {
  192. if (data == "success") {
  193. $.ligerDialog.success('删除成功');
  194. LoadQuestionList();
  195. }
  196. else {
  197. $.ligerDialog.error('删除失败');
  198. }
  199. });
  200. }
  201. });
  202. }
  203. else {
  204. $.ligerDialog.error('没有选择要删除的试题,请选择');
  205. }
  206. break;
  207. case "help":
  208. break;
  209. case "rightall":
  210. SelectAllInItem();
  211. break;
  212. case "leftall":
  213. SelectAllOutItem();
  214. break;
  215. }
  216. }
  217. function LoadSelectList() {
  218. // var selectcategoryid = document.getElementById("dropQuestionCategory").value;
  219. // var selecttype = document.getElementById("dropQuestionType").value;
  220. // var key = escape(document.getElementById("txtKeywords").value);
  221. // var arrid = document.getElementById("txtArrid").value;
  222. var id = document.getElementById("txtId").value;
  223. var userid = document.getElementById("txtUserId").value;
  224. var fwidth = $("#form1").width() * 0.5-20;
  225. selectlist = $("#divSelectList").ligerGrid({
  226. height: 236,
  227. width: fwidth,
  228. checkbox: true,
  229. columns: [
  230. { display: '操作', width: '35', frozen: true, name: '_f_questionid', render: function (rowdata, rowindex, value) {
  231. return "<img src='../scripts/ui/skins/icons/left.png' onclick='SelectOutItem(\"" + rowdata._f_itemid + "\");' style='width:20px;cursor:hand;' title='移除' />";
  232. }
  233. },
  234. { display: '排序', width: '50', align: 'left', frozen: true, name: '_f_sort', render: function (rowdata, rowindex, value) {
  235. if (value > sort) {
  236. sort = value;
  237. }
  238. if (rowindex == 0)
  239. return "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img id='xy_" + rowindex + "' onclick='MoveItem(\"" + rowdata._f_itemid + "\",\"" + value + "\",\"1\");' src='../images/icon_desc.gif' title='下移' style='width:12px; cursor:hand;' />";
  240. else
  241. return "&nbsp;<img id='sy_" + rowindex + "' onclick='MoveItem(\"" + rowdata._f_itemid + "\",\"" + value + "\",\"-1\");' src='../images/icon_asc.gif' title='上移' style='width:12px; cursor:hand;' />&nbsp;&nbsp;<img id='xy_" + rowindex + "' onclick='MoveItem(\"" + rowdata._f_itemid + "\",\"" + value + "\",\"1\");' src='../images/icon_desc.gif' title='下移' style='width:12px; cursor:hand;' />";
  242. }
  243. },
  244. { display: '试题标题', align: 'left', frozen: true, width: '150', name: '_f_title' },
  245. { display: '试题类型', width: '80', name: '_f_type', render: function (rowdata, rowindex, value) {
  246. if (value == "1")
  247. return "<img src='../images/help_question_mark_24.png' style='width:18px' />&nbsp;&nbsp;<font color='red'>问答题</font>";
  248. else if (value == "2")
  249. return "<img src='../images/radio_button_off_16.png' style='width:16px' />&nbsp;&nbsp;<font color='green'>单选题</font>";
  250. else if (value == "3")
  251. return "<img src='../images/check_box_24.png' style='width:18px' />&nbsp;&nbsp;<font color='blue'>多选题</font>";
  252. else
  253. return "";
  254. }
  255. },
  256. { display: '试题分类', width: '120', name: '_f_categoryname' },
  257. { display: '试题内容', align: 'left', width: '550', name: '_f_content' }
  258. ],
  259. toolbar: {
  260. items: [
  261. { text: '选出', click: itemclick2, icon: 'leftall' },
  262. { line: true },
  263. { text: '<span id="spanAllSelect" style="color:red">共有0个问题</span>', click: itemclick2, icon: 'help' }
  264. ]
  265. },
  266. url: 'ajax/question.ashx?action=getselectlist&pagerid=' + id + '&userid=' + userid, pageSize: 100, pageSizeOptions: [10, 20, 50, 100], rownumbers: true,
  267. onSelectRow: function (data, rowindex, rowobj) {
  268. },
  269. onAfterShowData: function (data) {
  270. itemcount = data.Total;
  271. try {
  272. document.getElementById("spanAllSelect").innerHTML = "共有" + itemcount + "个问题";
  273. document.getElementById("txtQuestionCount").value = itemcount;
  274. }
  275. catch (e) {
  276. }
  277. var imgindex = itemcount - 1;
  278. try {
  279. var imgid = "xy_" + imgindex;
  280. document.getElementById("xy_" + imgindex).style.display = "none";
  281. }
  282. catch (e) {
  283. }
  284. }
  285. });
  286. $("#pageloading").hide();
  287. }
  288. function SelectInItem(questionid) {
  289. var id = document.getElementById("txtId").value;
  290. var userid = document.getElementById("txtUserId").value;
  291. var timeno = new Date().getTime();
  292. var optaction = "addtemp";
  293. if (id != "") {
  294. optaction = "add";
  295. }
  296. try {
  297. $.ajax({
  298. type: "get",
  299. url: "ajax/pageritems.ashx?action=" + optaction + "&id=" + id + "&questionid=" + questionid + "&userid=" + userid + "&sort=" + sort + "&timeno=" + timeno,
  300. dataType: "html",
  301. success: function (res) {
  302. if (res == "success") {
  303. LoadQuestionList();
  304. LoadSelectList();
  305. } else {
  306. $.ligerDialog.error("选入失败");
  307. }
  308. }
  309. });
  310. }
  311. catch (e) {
  312. }
  313. }
  314. function SelectOutItem(itemid) {
  315. var id = document.getElementById("txtId").value;
  316. var userid = document.getElementById("txtUserId").value;
  317. var timeno = new Date().getTime();
  318. var optaction = "deletetemp";
  319. if (id != "") {
  320. optaction = "delete";
  321. }
  322. try {
  323. $.ajax({
  324. type: "get",
  325. url: "ajax/pageritems.ashx?action=" + optaction + "&id=" + id + "&itemid=" + itemid + "&userid=" + userid + "&sort=" + sort + "&timeno=" + timeno,
  326. dataType: "html",
  327. success: function (res) {
  328. if (res == "success") {
  329. LoadQuestionList();
  330. LoadSelectList();
  331. } else {
  332. $.ligerDialog.error("选出失败");
  333. }
  334. }
  335. });
  336. }
  337. catch (e) {
  338. }
  339. }
  340. function SelectAllInItem() {
  341. var id = document.getElementById("txtId").value;
  342. var userid = document.getElementById("txtUserId").value;
  343. var timeno = new Date().getTime();
  344. var optaction = "addalltemp";
  345. if (id != "") {
  346. optaction = "addall";
  347. }
  348. try {
  349. var rows = questionlist.getSelectedRows();
  350. if (rows.length > 0) {
  351. var arr = new Array();
  352. var i = 0;
  353. for (var i = 0; i < rows.length; i++) {
  354. arr[i] = rows[i]._f_questionid;
  355. }
  356. $.ajax({
  357. type: "get",
  358. url: "ajax/pageritems.ashx?action=" + optaction + "&id=" + id + "&arrid=" + arr.toString() + "&userid=" + userid + "&sort=" + sort + "&timeno=" + timeno,
  359. dataType: "html",
  360. success: function (res) {
  361. if (res == "success") {
  362. LoadQuestionList();
  363. LoadSelectList();
  364. } else {
  365. $.ligerDialog.error("选入失败");
  366. }
  367. }
  368. });
  369. }
  370. else {
  371. $.ligerDialog.error('没有选择要选入的试题');
  372. }
  373. }
  374. catch (e) {
  375. }
  376. }
  377. function SelectAllOutItem() {
  378. var id = document.getElementById("txtId").value;
  379. var userid = document.getElementById("txtUserId").value;
  380. var timeno = new Date().getTime();
  381. var optaction = "deletealltemp";
  382. if (id != "") {
  383. optaction = "deleteall";
  384. }
  385. try {
  386. var rows = selectlist.getSelectedRows();
  387. if (rows.length > 0) {
  388. var arr = new Array();
  389. var i = 0;
  390. for (var i = 0; i < rows.length; i++) {
  391. arr[i] = rows[i]._f_itemid;
  392. }
  393. $.ajax({
  394. type: "get",
  395. url: "ajax/pageritems.ashx?action=" + optaction + "&id=" + id + "&arrid=" + arr.toString() + "&userid=" + userid + "&sort=" + sort + "&timeno=" + timeno,
  396. dataType: "html",
  397. success: function (res) {
  398. if (res == "success") {
  399. LoadQuestionList();
  400. LoadSelectList();
  401. } else {
  402. $.ligerDialog.error("选出失败");
  403. }
  404. }
  405. });
  406. }
  407. else {
  408. $.ligerDialog.error('没有选择要选出的试题');
  409. }
  410. }
  411. catch (e) {
  412. }
  413. }
  414. function MoveItem(itemid, ssort, type) {
  415. var id = document.getElementById("txtId").value;
  416. var timeno = new Date().getTime();
  417. var optaction = "movetemp";
  418. if (id != "") {
  419. optaction = "move";
  420. }
  421. try {
  422. $.ajax({
  423. type: "get",
  424. url: "ajax/pageritems.ashx?action=" + optaction + "&pagerid=" + id + "&itemid=" + itemid + "&sort=" + ssort + "&movetype=" + type + "&timeno=" + timeno,
  425. dataType: "html",
  426. success: function (res) {
  427. if (res == "success") {
  428. LoadSelectList();
  429. } else {
  430. $.ligerDialog.error("移动排序失败");
  431. }
  432. }
  433. });
  434. }
  435. catch (e) {
  436. }
  437. }
  438. function ShowPagerView() {
  439. var id = document.getElementById("txtId").value;
  440. parent.ShowPager(id);
  441. }
  442. function validate() {
  443. var i = 0;
  444. if (!validate2()) {
  445. i++;
  446. }
  447. if (i > 0) {
  448. return false;
  449. }
  450. return true;
  451. }
  452. function validate2() {
  453. if ($("#txtF_Title").val() == "" || $("#txtF_Title").val() == undefined) {
  454. document.getElementById("lbF_Title").innerHTML = "* 名称不能为空!";
  455. document.getElementById("lbF_Title").style.color = "red";
  456. return false;
  457. }
  458. else {
  459. document.getElementById("lbF_Title").innerHTML = "*";
  460. document.getElementById("lbF_Title").style.color = "#414141";
  461. return true;
  462. }
  463. }
  464. </script>
  465. </head>
  466. <body>
  467. <form id="form1" runat="server">
  468. <asp:HiddenField ID="hidF_CategoryId" runat="server" Value="" />
  469. <asp:HiddenField ID="txtUserId" runat="server" Value="0" />
  470. <asp:HiddenField ID="txtId" runat="server" Value="" />
  471. <asp:HiddenField ID="txtArrid" runat="server" Value="" />
  472. <asp:HiddenField ID="txtQuestionCount" runat="server" Value="0" />
  473. <div id="pageloading">
  474. 数据加载中,请稍等...
  475. </div>
  476. <table class="form_table" style="width: 100%; height: 100%;">
  477. <colgroup>
  478. <col width="100" />
  479. <col />
  480. </colgroup>
  481. <tr style="height: 25px;">
  482. <th style="height: 25px; padding: 0px 8px 0px 0px;">
  483. 问卷名称:
  484. </th>
  485. <td style="height: 25px; padding: 2px 0px 0px 8px;">
  486. <textarea id="txtF_Title" cols="20" rows="4" runat="server" class="txtInput normal"
  487. style="width: 380px; height: 30px;"></textarea><label id="lbF_Title" for="txtF_Title"></label>
  488. </td>
  489. </tr>
  490. <tr style="height: 25px;">
  491. <th style="height: 25px; padding: 0px 8px 0px 0px;">
  492. 问卷说明:
  493. </th>
  494. <td style="height: 25px; padding: 5px 0px 5px 8px;">
  495. <textarea id="txtF_Remark" cols="20" rows="4" runat="server" class="txtInput normal"
  496. style="width: 380px; height: 50px;"></textarea>
  497. </td>
  498. </tr>
  499. </table>
  500. <div id="trSelect" style="width: 99%; text-align: center;">
  501. <div id="navtab1" style="width: 100%; height: 300px; border: 1px solid #D3D3d3;">
  502. <div title="选择试题" tabid="tab1">
  503. <table id="tableMessage" cellpadding="3" cellspacing="3" border="0" style="width: 100%;">
  504. <tr>
  505. <td style="height: 30px; padding-left: 10px;" colspan="2" align="left">
  506. 分类:<asp:DropDownList ID="dropQuestionCategory" runat="server" onchange="LoadQuestionList();" CssClass="selectBox"
  507. Width="100px">
  508. </asp:DropDownList>
  509. &nbsp;&nbsp;题型:<asp:DropDownList ID="dropQuestionType" runat="server" onchange="LoadQuestionList();"
  510. CssClass="selectBox" Width="60px">
  511. <asp:ListItem Value="" Text="所有题型"></asp:ListItem>
  512. <asp:ListItem Value="1" Text="问答题"></asp:ListItem>
  513. <asp:ListItem Value="2" Text="单选题"></asp:ListItem>
  514. <asp:ListItem Value="3" Text="多选题"></asp:ListItem>
  515. </asp:DropDownList>
  516. &nbsp;&nbsp;关键字:<asp:TextBox ID="txtKeywords" runat="server" Style="width: 100px;"
  517. CssClass="txtInput"></asp:TextBox>&nbsp;
  518. <input id="btnSearch" type="button" value="搜 索" class="btnSearch" onclick="LoadQuestionList();" />
  519. </td>
  520. </tr>
  521. <tr>
  522. <td id="tdLeft" valign="top" style="width:50%; padding: 0px 2px 5px 2px;">
  523. <div id="divQuestionList">
  524. </div>
  525. </td>
  526. <td valign="top" style="width:50%;padding: 0px 2px 5px 2px;">
  527. <div id="divSelectList">
  528. </div>
  529. </td>
  530. </tr>
  531. </table>
  532. </div>
  533. </div>
  534. </div>
  535. <br />
  536. <div style="width: 100%; text-align: center;">
  537. <input id="Button1" type="button" value="预览试卷" class="btnSubmit" style="color:green;" onclick="ShowPagerView();" />&nbsp;&nbsp;&nbsp;<asp:Button ID="btnSubmit" runat="server" Text="生成试卷" CssClass="btnSubmit"
  538. OnClientClick="return validate();" OnClick="btnSubmit_Click" /></div>
  539. <br />
  540. </form>
  541. </body>
  542. </html>