TG.WXCRM.V4/WEB/Views/WeWork/WorkWx/Message.cshtml

568 lines
25 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@{
ViewBag.Title = "聊天记录";
Layout = "~/Views/Shared/_EasyUI_Layout.cshtml";
}
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
@using WX.CRM.Model.MAP
@using WX.CRM.Common
@using WX.CRM.Model.DTO.wework
<style>
#wochalei {
height: 30px;
width: 100%;
background-color: #536484;
}
#wochalei ul {
padding: 0px;
font-size: 12px;
color: #FFF;
line-height: 26px;
whitewhite-space: nowrap;
}
#wochalei li {
list-style-type: none;
}
#wochalei li span {
text-decoration: none;
font-family: Arial, Helvetica, sans-serif;
padding: 7px 5px;
width: 100%;
}
.rcontacthover {
color: #ff0;
background-color: #7E8BA3;
}
.rcontactClick {
color: #ff0;
background-color: #8988AE;
}
.isSelf {
color: #006EFE;
padding-left: 10px;
}
.isFriend {
color: #42B475;
padding-left: 10px;
}
.message {
padding-left: 20px;
}
.redColor {
color: red;
}
.displayLi {
display: none;
}
.contentTable td {
font-size: 12px;
line-height: 26px;
}
.imageClass {
max-width: 200px;
}
.miniimageClass {
max-width: 100px;
}
</style>
@*[微笑][撇嘴][色][发呆][得意][流泪][害羞][闭嘴][睡][大哭][尴尬][发怒][调皮][呲牙]
[惊讶][难过][囧][抓狂][吐][偷笑][愉快][白眼][傲慢][困][惊恐][流汗][憨笑][悠闲]
[奋斗][咒骂][疑问][嘘][晕][衰][骷髅][敲打][再见][擦汗][抠鼻][鼓掌][坏笑]
[左哼哼][右哼哼][哈欠][鄙视][委屈][快哭了][阴险][亲亲][可怜][菜刀][西瓜]
[啤酒][咖啡][猪头][玫瑰][凋谢][嘴唇][爱心][心碎][蛋糕][炸弹][便便][月亮]
[太阳][拥抱][强][弱][握手][胜利][抱拳][勾引][拳头][OK][跳跳][发抖][怄火][转圈]
[嘿哈][捂脸][奸笑][机智][皱眉][耶][茶][红包][蜡烛]*@
<script type="text/JavaScript" language="javascript">
var face = [{ name: "[微笑]", imgpath: "0.png" }, { name: "[撇嘴]", imgpath: "1.png" }, { name: "[色]", imgpath: "2.png" }, { name: "[发呆]", imgpath: "3.png" },
{ name: "[得意]", imgpath: "4.png" }, { name: "[流泪]", imgpath: "5.png" }, { name: "[害羞]", imgpath: "6.png" }, { name: "[闭嘴]", imgpath: "7.png" }, { name: "[睡]", imgpath: "8.png" },
{ name: "[大哭]", imgpath: "9.png" }, { name: "[尴尬]", imgpath: "10.png" }, { name: "[发怒]", imgpath: "11.png" }, { name: "[调皮]", imgpath: "12.png" },
{ name: "[呲牙]", imgpath: "13.png" }, { name: "[惊讶]", imgpath: "14.png" }, { name: "[难过]", imgpath: "15.png" }, { name: "[酷]", imgpath: "16.png" },
{ name: "[囧]", imgpath: "17.png" }, { name: "[抓狂]", imgpath: "18.png" }, { name: "[吐]", imgpath: "19.png" }, { name: "[偷笑]", imgpath: "20.png" },
{ name: "[愉快]", imgpath: "21.png" }, { name: "[白眼]", imgpath: "22.png" }, { name: "[傲慢]", imgpath: "23.png" },
{ name: "[饿]", imgpath: "24.png" }, { name: "[困]", imgpath: "25.png" }, { name: "[惊恐]", imgpath: "26.png" },
{ name: "[流汗]", imgpath: "27.png" }, { name: "[憨笑]", imgpath: "28.png" }, { name: "[悠闲]", imgpath: "29.png" }, { name: "[奋斗]", imgpath: "30.png" },
{ name: "[咒骂]", imgpath: "31.png" }, { name: "[疑问]", imgpath: "32.png" }, { name: "[嘘]", imgpath: "33.png" }, { name: "[晕]", imgpath: "34.png" },
{ name: "[疯]", imgpath: "35.png" }, { name: "[衰]", imgpath: "36.png" }, { name: "[骷髅]", imgpath: "37.png" },
{ name: "[敲打]", imgpath: "38.png" }, { name: "[再见]", imgpath: "39.png" }, { name: "[擦汗]", imgpath: "40.png" },
{ name: "[抠鼻]", imgpath: "41.png" }, { name: "[鼓掌]", imgpath: "42.png" }, { name: "[糟糕]", imgpath: "43.png" },
{ name: "[坏笑]", imgpath: "44.png" }, { name: "[左哼哼]", imgpath: "45.png" },
{ name: "[右哼哼]", imgpath: "46.png" }, { name: "[哈欠]", imgpath: "47.png" },
{ name: "[鄙视]", imgpath: "48.png" }, { name: "[委屈]", imgpath: "49.png" },
{ name: "[快哭了]", imgpath: "50.png" }, { name: "[阴险]", imgpath: "51.png" },
{ name: "[亲亲]", imgpath: "52.png" }, { name: "[吓]", imgpath: "53.png" },
{ name: "[可怜]", imgpath: "54.png" }, { name: "[菜刀]", imgpath: "55.png" },
{ name: "[西瓜]", imgpath: "56.png" }, { name: "[啤酒]", imgpath: "57.png" },
{ name: "[篮球]", imgpath: "58.png" }, { name: "[乒乓]", imgpath: "59.png" },
{ name: "[咖啡]", imgpath: "60.png" }, { name: "[美食]", imgpath: "61.png" },
{ name: "[猪头]", imgpath: "62.png" }, { name: "[玫瑰]", imgpath: "63.png" },
{ name: "[凋谢]", imgpath: "64.png" }, { name: "[嘴唇]", imgpath: "65.png" },
{ name: "[爱心]", imgpath: "66.png" }, { name: "[心碎]", imgpath: "67.png" },
{ name: "[蛋糕]", imgpath: "68.png" }, { name: "[电]", imgpath: "69.png" }, { name: "[炸弹]", imgpath: "70.gif" }, { name: "[便便]", imgpath: "71.gif" },
{ name: "[月亮]", imgpath: "72.gif" }, { name: "[太阳]", imgpath: "73.gif" }, { name: "[拥抱]", imgpath: "74.png" }, { name: "[强]", imgpath: "75.gif" }, { name: "[弱]", imgpath: "76.gif" },
{ name: "[握手]", imgpath: "77.gif" }, { name: "[胜利]", imgpath: "78.gif" }, { name: "[抱拳]", imgpath: "79.gif" }, { name: "[勾引]", imgpath: "80.gif" },
{ name: "[拳头]", imgpath: "81.gif" }, { name: "[OK]", imgpath: "82.gif" }, { name: "[跳跳]", imgpath: "83.gif" }, { name: "[发抖]", imgpath: "84.gif" },
{ name: "[怄火]", imgpath: "85.png" }, { name: "[转圈]", imgpath: "86.gif" }
];
</script>
<script type="text/javascript">
var sortBy = function (filed, rev, primer) {
rev = (rev) ? -1 : 1;
return function (a, b) {
a = a[filed];
b = b[filed];
if (typeof (primer) != 'undefined') {
a = primer(a);
b = primer(b);
}
if (a < b) { return rev * -1; }
if (a > b) { return rev * 1; }
return 1;
}
};
var clickValue;
$(function () {
$("#friendList li").live("mouseover", function () {
$(this).addClass("rcontacthover");
}).live("mouseout", function () {
$(this).removeClass("rcontacthover");
}).live("click", function () {
$(".rcontactClick").removeClass("rcontactClick");
$(this).addClass("rcontactClick");
$("#rcontent").prev().find(".panel-title").html($(this).html() + "--聊天记录");
//GetMessage();
clickValue = $(this);
ShowMessage()
});
$("img[maxmd5]").live("click", function () {
var height = $(window).height();
var width = $(window).width();
if (height > 200) {
height = height - 200;
}
if (width >300) {
width = width - 300;
}
var showPath = $(this).attr("showPath");
$('#ImageShow').window({ title: '查看图片', width: width, height: height, iconCls: 'icon-add', shadow: true, modal: true, closed: true, minimizable: false, maximizable: true, collapsible: false }).window('open');
$("#ImageShow").html("<img src='" + showPath + "'>");
})
});
function ShowMessage() {
$("#henniubai").html("");
var tab = $('#tt').tabs('getTab', 0); // 取得第一个tab
$('#tt').tabs('update', {
tab: tab,
options: {
title: '消息内容'
}
});
$("#txtDate").attr("style", "");
$("#txtGL").attr("style", "");
GetMessage();
}
var chatRoomNumber;
var chatName;
//排序
function bubbleSort(arr) {
var len = arr.length, j;
var temp;
var wn, xn;
while (len > 0) {
for (j = 0; j < len - 1; j++) {
wn = GetMonth(arr[j].replace(".json", "").replace(chatName + "_", ""));
xn = GetMonth(arr[j + 1].replace(".json", "").replace(chatName + "_", ""));
if (arr[j] < arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
len--;
}
return arr;
}
function GetMonth(xmn) {
if (xmn.length == 5) {
var mnmm = xmn.substring(0, 4) + "0" + xmn.substring(4, 5);
return mnmm;
}
else
return xmn;
}
//普通消息
function GetMessage() {
ajaxLoading();
//var txtDate = $("#txtDate").val();
var stime = $("#stime").val();
var etime = $("#etime").val();
var stime_int = parseInt(stime.replace('-', ''));//起始时间转换成Int
var etime_int = parseInt(etime.replace('-', ''));//结束时间转换成Int
var rawtime_int = stime_int;//中间时间
var arrayObj = new Array(); //创建一个数组
var o = 0;
var needrun = true;
if (stime_int > etime_int) {
return;
}
else if (stime_int == etime_int) {
arrayObj[0] = stime_int.toString();
} else {
arrayObj[o] = stime_int.toString();
while (needrun) {
o++;
var rawtime_str = rawtime_int.toString();
var year = rawtime_str.substring(0, 4);
var month = rawtime_str.substring(4, 6);
if (month == "12") {//如果是12月份
rawtime_int = parseInt("" + (parseInt(year) + 1) + "01");
} else {
rawtime_int++;
}
arrayObj[o] = rawtime_int.toString();
if (rawtime_int >= etime_int) {
needrun = false;
}
}
}
$("#contentBody").html("");
$("#QunFacontentBody").html("");
var vid = "@Html.Raw(Request.QueryString["vid"])";
var vname = "@Html.Raw(Request.QueryString["name"])";
var remoteid = $(clickValue).attr("nvalue");
var remotename = $(clickValue).attr("nname");
$(arrayObj).each(function (i, n) {
var url = "/WeWorkMessage/" + n + "/" + vid + "/" + remoteid + ".json?i=" + GetGuid();
GetMessageByUrl(url, "contentBody", vid, vname, remoteid, remotename);
});
@*var nurl = "/Message/@Html.Raw(Request.QueryString["workusername"])/" + $(clickValue).attr("nvalue") + "_qunfa.json?i=" + GetGuid();
GetMessageByUrl(nurl, "QunFacontentBody");*@
ajaxLoadEnd();
}
function GetMessageByUrl(url, tabName, vid, vname, remoteid, remotename) {
$.ajax({
type: "GET",
url: url,
dataType: "text",
async: false,
success: function (data) {
console.log(data);
var workAccountName = vname;
var json = JSON.parse("[" + data + "]");
json.sort(sortBy('createTime', false, parseInt));
$(json).each(function (i, da) {
//var newDate = new Date();
//newDate.setTime(da.createTime);
var dataStr = da.sendTime;//聊天时间
var html = "";
if (da.sender == vid) {
html += "<tr><td class=\"isSelf\">" + workAccountName + " " + dataStr + "</td></tr>";
} else {
html += "<tr><td class=\"isFriend\">" + ReplaceMobile(remotename) + " " + dataStr + "</td></tr>";
}
if (da.contentType == 101 || da.contentType == 14) {
html += "<tr><td class=\"message\">[图片]<img style='max-width:300px' id='file_" + da.id + "' src='' md5='" + da.fileMd5 + "' maxMd5='" + da.maxMd5 + "' smallMd5='" + da.smallMd5 +"'></td></tr>";
$("#" + tabName).append(html);
GetFilPath(da);
} else if (da.contentType == 16) {
html += "<tr><td class=\"message\"><a id='file_" + da.id + "' maxMd5='" + da.maxMd5 + "' smallMd5='" + da.smallMd5+"'>[语音]<a></td></tr>";
$("#" + tabName).append(html);
GetFilPath(da);
} else if (da.contentType == 103 || da.contentType == 23) {
html += "<tr><td class=\"message\"><a id='file_" + da.id + "' md5='" + da.fileMd5 + "' maxMd5='" + da.maxMd5 + "' smallMd5='" + da.smallMd5 +"'>[视频]<a></td></tr>";
$("#" + tabName).append(html);
GetFilPath(da);
} else if (da.contentType == 104 || da.contentType == 29) {
html += "<tr><td class=\"message\"><img style='max-width:100px' id='file_" + da.id + "' src='" + da.url + "'></td></tr>";
$("#" + tabName).append(html);
}
else {//普通文本
html += "<tr><td class=\"message\">" + replaceFace(da.content) + "</td></tr>";
//if (!IsContainMobile(html)) {
$("#" + tabName).append(ReplaceMobile(html));
//}
}
});
}
});
}
function GetFilPath(da) {
if (da.maxMd5 == null || da.maxMd5=="")
return;
var maxmd5 = da.maxMd5;
var smallmd5 = da.smallMd5;
if (da.smallMd5 == null || da.smallMd5 == "") {
smallmd5 = "-1";
}
$.ajax({
url: GetTrueUlr("@Html.Raw(System.Configuration.ConfigurationManager.AppSettings["WeWorkPathGet"])") + maxmd5 + "/" + smallmd5+"?i=" + GetGuid(),
type: "GET",
dataType: "json",
loading: true,
success: function (data) {
if (data.result == true) {
var maxmd5= data.maxMd5;
var smallMd5 = data.smallMd5;
var maxPath = GetTrueUlr(data.maxPath);
var smallPath = GetTrueUlr(data.smallPath);
if (da.contentType == 16) {//语音
if (maxmd5 != null && maxmd5 != "" && maxPath != null && maxPath != "") {
$("[maxMd5='" + maxmd5 + "']").attr("href", "javascript:void(0);").attr("onclick", "PalyRecord('" + maxPath + "');");
}
} else if (da.contentType == 101 || da.contentType == 14 || da.contentType == 7) {//图片
if (smallPath != null && smallPath != "") {
$("[maxMd5='" + maxmd5 + "']").attr("src", smallPath);
$("[maxMd5='" + maxmd5 + "']").attr("href", smallPath);
$("[maxMd5='" + maxmd5 + "']").attr("target", "_blank");
} else {
$("[maxMd5='" + maxmd5 + "']").attr("src", maxPath);
$("[maxMd5='" + maxmd5 + "']").attr("href", maxPath);
$("[maxMd5='" + maxmd5 + "']").attr("target", "_blank");
}
if (maxPath != null && maxPath != "") {//大图存在,详细显示大图,没办法就只能显示小图
$("[maxMd5='" + maxmd5 + "']").attr("showPath", maxPath);
} else {
$("[maxMd5='" + maxmd5 + "']").attr("showPath", smallPath);
}
} else if (da.contentType == 103 || da.contentType == 23) {//视频
$("[maxMd5='" + maxmd5 + "']").attr("src", maxPath);
$("[maxMd5='" + maxmd5 + "']").attr("href", maxPath);
$("[maxMd5='" + maxmd5 + "']").attr("target", "_blank");
if (smallPath != null && smallPath != "") {
$("[maxMd5='" + maxmd5 + "']").html("[视频]:<img style='max-width:100px' id='file_" + da.id + "' src='" + smallPath + "'>");
}
}
}
}
});
}
//替换表情
function replaceFace(cotent) {
var txt = cotent;
$(face).each(function (i, n) {
while (txt.indexOf(n.name) > -1) {
txt = txt.replace(n.name, "<img src=\"/Face/" + n.imgpath + "\">");
}
});
return txt;
}
function ReplaceMobile(content) {
var txt = content;
//var myreg = /(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(18[0-9]{1}|(17[0-9]{1}))|(19[0-9]{1}))+\d{8})/;
//var reg = new RegExp(myreg, "g");
//if (txt.match(reg)) {
// var res = txt.match(reg);
// $(res).each(function (i, m) {
// var mm = m.replace(/(\d{3})\d{5}(\d{3})/, '$1*****$2');
// txt = txt.replace(m, mm);
// })
//}
var reg = /[1][0-9]{10}/;
if (reg.test(txt)) {
var res = txt.match(reg);
$(res).each(function (i, m) {
var mm = m.replace(/(\d{3})\d{5}(\d{3})/, '$1*****$2');
txt = txt.replace(m, mm);
})
}
return txt;
}
function IsContainMobile(content)
{
var txt = content;
//匹配是否有红包信息,有红包信息直接返回
if (txt.match(/(weixin:\/\/weixinhongbao)/g)) {
return false;
}
//var myreg = /(((13[0-9]{1})|(14[0-9]{1})|(15[0-9]{1})|(16[0-9]{1})|(18[0-9]{1}|(17[0-9]{1}))|(19[0-9]{1}))+\d{8})/;
//var reg = new RegExp(myreg, "g");
//if (txt.match(reg)) {
// return true;
//}
//return false;
var reg = /[1][0-9]{10}/;
return reg.test(txt);
}
//linux时间格式化
function getNowFormatDate(date) {
//var date = new Date();
var seperator1 = "-";
var seperator2 = ":";
var month = date.getMonth() + 1;
var strDate = date.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
+ " " + date.getHours() + seperator2 + date.getMinutes()
+ seperator2 + date.getSeconds();
return currentdate;
}
function findTxt() {
$(".displayLi").each(function (i, n) {
$(this).removeClass("displayLi");
});
$(".redColor").each(function (i, n) {
$(this).after($(this).attr("ntitle"));
$(this).remove();
});
var txt = $("#findTxt").val();
if (txt == "")
return;
$("#friendList li").each(function () {
var html = $(this).html();
html = html.replace(txt, "<b ntitle=\"" + txt + "\" class=\"redColor\">" + txt + "</b>");
$(this).html(html);
if (html.indexOf("redColor") == -1) {
$(this).addClass("displayLi");
}
});
//var reg2 = new RegExp("\\" + escape(txt), "g");
}
function PalyRecord(url,msgSvrId) {
$.post("/Weixin/WorkAccount/WeWorkAudio", { url: url }, function (result) {
if (result.result === "ok") {
var data = result.data;
$('#recordPlayerWin').window({ title: '播放录音', width: 330, height: 180, iconCls: 'icon-add', shadow: true, modal: true, closed: true, minimizable: false, maximizable: false, collapsible: false }).window('open');
var isChrome = window.navigator.userAgent.indexOf("Chrome") !== -1;
if (isChrome) {
$('#recordPlayerWin').html("<video controls=\"\" src=\"" + data + "\" style=\"width:300px; height:50px;\" autoplay=\"autoplay\" />");
} else {
$('#recordPlayerWin').html('<object id="Player" width="300" height="50" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject"hspace="5"><param name="AutoRewind" value="1"><param name="FileName" value="' + data + '"><param name="ShowControls" value="1"><param name="ShowPositionControls" value="0"><param name="ShowAudioControls" value="1"><param name="ShowTracker" value="1"><param name="ShowDisplay" value="0"><param name="ShowStatusBar" value="0"><param name="ShowGotoBar" value="0"><param name="ShowCaptioning" value="0"><param name="AutoStart" value="1"><param name="Volume" value="5000"><param name="AnimationAtStart" value="0"><param name="TransparentAtStart" value="0"><param name="AllowChangeDisplaySize" value="0"><param name="AllowScan" value="0"><param name="EnableContextMenu" value="0"><param name="ClickToPlay" value="1"> </object>');
}
} else {
alert("转换失败,请稍后重试!");
}
});
}
</script>
<script>
function GetTrueUlr(purl) {
if (purl == null)
return purl;
var realhost = window.location.host;//当前域名
if (purl.indexOf(realhost) > -1) {//如果包含真的域名则直接返回
return purl;
} else {//不等于真实域名
purl = purl.replace("http://", "");
if (purl.indexOf(":") > -1)
purl = "http://" + realhost.substring(0, realhost.indexOf(":")) + purl.substring(purl.indexOf(":"));
else
purl = "http://" + realhost.substring(0, realhost.indexOf(":")) + purl.substring(purl.indexOf("/"));
return purl;
}
}
</script>
@{
List<shRcontact> rcontact = ViewBag.rcontact as List<shRcontact>;
List<shRcontact> rcontact1 = rcontact.Where(m => m.unionid == "").ToList();
List<shRcontact> rcontact2 = rcontact.Where(m => m.unionid != "").ToList();
}
<div id="wochalei" data-options="region:'west',title:'分组',split:true" style="width:200px;">
<div id="friendList" class="easyui-accordion" style="background-color: #536484;" data-options="animate:false,fit:true">
<div title="外部联系人" style="background-color: #536484;">
<ul id="rcontact1">
@foreach (shRcontact model in rcontact1)
{
string name = model.name;
string remark = model.realremark;
if (!string.IsNullOrEmpty(remark))
{
name = remark + "(" + name + ")";
}
<li isgroup="false" nvalue="@Html.Raw(model.remoteid)" nname="@Html.Raw(name)">
<span> @Html.Raw(name)</span>
</li>
}
</ul>
</div>
<div title="同事" style="background-color: #536484;">
<ul id="rcontact3">
@foreach (shRcontact model in rcontact2)
{
string name = model.name;
string remark = model.realremark;
if (!string.IsNullOrEmpty(remark))
{
name = remark + "(" + name + ")";
}
<li isgroup="false" nvalue="@Html.Raw(model.remoteid)" nname="@Html.Raw(name)">
<span> @Html.Raw(name)</span>
</li>
}
</ul>
</div>
</div>
</div>
<div id="rcontent" data-options="region:'center',title:'消息内容'" style="">
<div id="tt" class="easyui-tabs" data-options="fit:true" style="width:500px;height:250px;">
<div title="消息内容" style="padding: 5px;" data-options="fit:true">
<table class="contentTable">
<tbody id="contentBody"></tbody>
</table>
</div>
</div>
</div>
<div data-options="region:'south',border:false" style="height: 30px; background-color: #E4EBF9">
名称:<input type="text" id="findTxt" /><input type="button" value="查找" onclick="findTxt()" />
<input id='stime' name='stime' class='Wdate' type='text' value="@Html.Raw(DateTime.Now.AddYears(-1).ToString("yyyy-MM"))" onclick="WdatePicker({ dateFmt: 'yyyy-MM', isShowToday: false, isShowClear: false })" />
-
<input id='etime' name='etime' class='Wdate' type='text' value="@Html.Raw(DateTime.Now.ToString("yyyy-MM"))" onclick="WdatePicker({ dateFmt: 'yyyy-MM', isShowToday: false, isShowClear: false })" />
<input id="txtGL" type="button" value="过滤" onclick="ShowMessage()" />
</div>
<div id="recordPlayerWin"></div>
<div id="ImageShow"></div>
<script type="text/javascript">
function GetIframeHtml(src) {
return "<iframe width='100%' height='98%' scrolling='no' frameborder='0'' src='" + src + "'></iframe>";
}
</script>