rhymix/modules/menu/tpl/sitemap.html

714 lines
24 KiB
HTML

<load target="./css/themes/classic/style.css" />
<load target="./js/_lib/jquery.cookie.js" />
<load target="./js/_lib/jquery.hotkeys.js" />
<load target="./js/jquery.jstree.js" />
<script src="http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.js"></script>
<div class="x_page-header">
<h1>{$lang->menu_gnb_sub['siteMap']}</h1>
</div>
<div cond="$XE_VALIDATOR_MESSAGE" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<div id="site">
<div class="col map">
<section class="mapi">
<div id="siteMapTree"></div>
<script id="tmpl_menuTree" type="text/x-jquery-tmpl">
<ul>
{{html Nodes}}
</ul>
</script>
<script id="tmpl_menuTreeNode" type="text/x-jquery-tmpl">
<li id="${MenuId}">
<i class="v"></i><i class="h"></i>
<a href="#" class="tx">${MenuTitle}</a>
<span class="side">
<button data-toggle="#add">메뉴추가</button>
<button data-toggle="#info">속성편집</button>
</span>
{{html SubTree}}
</li>
</script>
<ul>
<li class="root">
<div class="item">
<strong>기본 사이트맵</strong>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1 <i class="x_icon-home"></i></a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-1-1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
</ul>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-2-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
</ul>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1-1-2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1-2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴2-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴2-2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴2-3</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
</ul>
</li>
<li class="root">
<div class="item">
<strong>기본 사이트맵</strong>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-1-1-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
</ul>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#" class="tx"><i class="x_icon-file"></i> 메뉴1-1-1-2-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
</ul>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1-1-2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴1-2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
<ul>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴2-1</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴2-2</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
<li>
<i class="v"></i><i class="h"></i>
<div class="item">
<a href="#info" class="tx"><i class="x_icon-file"></i> 메뉴2-3</a>
<span class="side">
<a href="#add" data-toggle="#add">메뉴추가</a>
<a href="#info" data-toggle="#info">속성편집</a>
</span>
</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
<div class="x_btn-group" style="margin:15px 0;padding:10px 0;border-top:1px solid #ccc;text-align:right">
<button type="button" class="x_btn x_btn-small x_btn-inverse"><i class="x_icon-plus x_icon-white"></i> 사이트맵 추가</button>
</div>
</div>
<div class="col" id="add">
<section>
<h1>메뉴 추가</h1>
<ul>
<li><a href="#pageDoc">문서 페이지</a></li>
<li><a href="#pageWidget">위젯 페이지</a></li>
<li><a href="#board">게시판</a></li>
<li><a href="#url">URL 링크</a></li>
</ul>
<div class="x_btn-group" style="margin:0;padding:10px 0;border-top:1px solid #ccc;text-align:right">
<a type="button" class="x_btn x_btn-small x_btn-inverse"><i class="x_icon-plus x_icon-white"></i> 다른 메뉴유형 설치</a>
</div>
</section>
</div>
</div>
<style>
/* Site */
#site{position:relative;overflow-x:auto;overflow-y:hidden}
.col{position:relative;float:left;height:100%;min-width:200px;padding:0 10px;overflow-y:auto;overflow-x:hidden;border-left:1px solid #ddd}
.col:first-child{border:0;padding-left:0}
.col>section>h1{ line-height:30px;font-size:16px;border-bottom:2px solid #666;margin:0;color:#333}
.col>section>ul{ margin:0;padding:0;list-style:none}
/* .mapi * */
.mapi{margin:0 0 15px 0;min-width:200px}
.mapi ul{margin:0;padding:0;list-style:none}
.mapi li{padding:0 80px 0 0;white-space:nowrap;position:relative;line-height:30px;border-radius:3px;vertical-align:top}
.mapi li>ul{margin:0 -80px 0 0}
.mapi a{text-decoration:none}
.mapi>ul{padding:1px}
/* .root */
.mapi .root{margin-topp:15px;border:0 !important}
.mapi .root:first-child{ margin-top:0}
.mapi .root>ul{margin-top:10px}
.mapi .root>.item{position:relative;border-bottom:2px solid #666;margin:0 -80px 0 0;zoom:1}
.mapi .root>.item>strong{font-size:16px}
/* li>i.v || li>i.h */
.mapi .v,
.mapi .h{position:absolute;border:0;border-style:dotted;border-color:#ccc;overflow:hidden}
.mapi .v{width:0;top:30px;border-left-width:1px;display:none}
.mapi .h{width:14px;height:0;top:15px;border-top-width:1px}
.mapi .open>.v{display:block}
.mapi .hover .v,
.mapi .hover li>.h{border:1px solid #666}
.mapi .hover>.item,
.mapi .selected>.item{background:#666}
.mapi .root>ul>li>i.h{display:none}
/* li>.item */
.mapi .root li>.item{position:relative;z-index:2;border-radius:3px;margin:0 -80px 0 0;padding:0 80px 0 0;zoom:1}
.mapi .selected>.item{opacity:.75;filter:alpha(opacity=75)}
/* li>.item>.tx */
.mapi .tx{position:relative;z-index:2;display:block;line-height:30px;padding-right:30px;color:#000}
.mapi .hover>.item>.tx,
.mapi .selected>.item>.tx{color:#fff}
/* li>.item>a.tx */
.mapi .root>ul>li>.item>a{padding-left:24px}
.mapi .root>ul>li>ul>li>.item>a{padding-left:48px}
.mapi .root>ul>li>ul>li>ul>li>.item>a{padding-left:72px}
.mapi .root>ul>li>ul>li>ul>li>ul>li>.item>a{padding-left:96px}
.mapi .root>ul>li>ul>li>ul>li>ul>li>ul>li>.item>a{padding-left:120px}
.mapi .root>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>.item>a{padding-left:144px}
.mapi .root>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>.item>a{padding-left:168px}
.mapi .root>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>.item>a{padding-left:192px}
.mapi .root>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>ul>li>.item>a{padding-left:216px}
/* li>.item>.tx>i */
.mapi .tx>i[class^="x_icon-"]:first-child{position:relative;left:-20px;margin:0 -20px 0 0;opacity:.5;filter:alpha(opacity=50)}
.mapi .tx>i[class^="x_icon-home"]{opacity:.75;filter:alpha(opacity=75)}
.mapi .hover>.item>.tx>i[class*="-white"],
.mapi .selected>.item>.tx>i[class*="-white"]{opacity:1;filter:alpha(opacity=100)}
/* li>.item>.side */
.mapi .side{position:absolute;z-index:2;top:3px;right:3px;line-height:0}
.mapi .side>a{display:inline-block;border-radius:3px;width:24px;height:24px;overflow:hidden;line-height:0;text-indent:24px;background:#94A55C url({getUrl('')}common/img/glyphicons-halflings-white.png) no-repeat}
.mapi .side>a[href="#add"]{background-position:5px -91px}
.mapi .side>a[href="#info"]{background-position:-427px 5px}
.mapi .side>a:hover,
.mapi .side>a:focus,
.mapi .side>a.active{background-color:#333}
/* li>.item>ul */
.mapi .root>ul ul{display:none}
.mapi .root>ul li.open>ul{display:block}
/* Add */
#add.col>section>ul>li{ border-top:1px dotted #ccc;padding:7px 0}
#add.col>section>ul>li:first-child{ border-top:0}
</style>
<!--[if IE 7]>
<script>
jQuery(function($){
// IE .col width bug fix
$('.col').each(function(){
var $this = $(this);
setTimeout(function(){
var childW = $this.children().width();
$this.width(childW);
},0);
});
});
</script>
<![endif]-->
<script>
//<![CDATA[
function onSiteMapReceived(htData){
var $ = jQuery;
var aMenuList = htData.menuList;
//console.log(aMenuList, aMenuList.length);
//console.log(createTreeMarkup(aMenuList));
$("#siteMapTree").html(createTreeMarkup(aMenuList));
$("#siteMapTree")
// call `.jstree` with the options object
.jstree({
// the `plugins` array allows you to configure the active plugins on this instance
"plugins" : ["themes","html_data","ui","crrm","hotkeys","contextmenu", "dnd"],
//"themes","json_data","ui","crrm","cookies","dnd","search","types","hotkeys","contextmenu"
// each plugin you have included can have its own config object
"core" : { "initially_open" : [ "nhtml_1" ] }
// it makes sense to configure a plugin only if overriding the defaults
})
.bind("create_node.jstree", function (event, data) {
var v = $("<i>").addClass("v");
var h = $("<i>").addClass("h");
//'<i class="v"></i><i class="h"></i>'
var btns = $("<span>").addClass("side").html('<button data-toggle="#add">메뉴추가</button> <button data-toggle="#info">속성편집</button>');
//data.rslt.obj.prepend(h);
//data.rslt.obj.prepend(v);
h.insertBefore(data.rslt.obj.find("a"));
v.insertBefore(data.rslt.obj.find("a"));
data.rslt.obj.append(btns);
});
}
var htNodeInfo = {};
// return html
function createTreeMarkup(aNode){
var $ = jQuery;
if(aNode.length == 0){
return "";
}
var sActiveBtn, sNormalBtn, sHoverBtn, sExpand, sLink, aSubNodes, sNodeSrl, sOpenWindow, sParentSrl, nSelected, sText, sURL, sIsStartModule, aSubNode;
// 1: Sitemap node, 2: Menu node
var nNodeType;
var sResult = "";
for(var i=0, nLen=aNode.length; i<nLen; i++){
//console.log(aNode[i]);
// Only sitemap node has menuSrl
if(aNode[i].menuSrl){
nNodeType = 1;
}else{
nNodeType = 2;
}
switch(nNodeType){
/*
list: Array[1]
menuSrl: "59"
title: "welcome_menu"
*/
case 1:
sText = aNode[i].title;
sNodeSrl = aNode[i].menu_srl;
aSubNode = aNode[i].menuItems.list;
break;
/*
active_btn: ""
expand: "N"
hover_btn: ""
href: ""
link: "menu1"
list: Array[1]
node_srl: "60"
normal_btn: ""
open_window: "N"
parent_srl: "0"
selected: 0
text: "menu1"
url: ""
is_start_module: 1 or true
*/
case 2:
sText = aNode[i].text;
sLink = aNode[i].link;
sURL = aNode[i].url;
sNodeSrl = aNode[i].node_srl;
sParentSrl = aNode[i].parent_srl;
sExpand = aNode[i].expand;
sOpenWindow = aNode[i].open_window;
nSelected = aNode[i].selected;
sActiveBtn = aNode[i].active_btn;
sNormalBtn = aNode[i].normal_btn;
sHoverBtn = aNode[i].hover_btn;
sIsStartModule = aNode[i].is_start_module;
aSubNode = aNode[i].list;
break;
default:
}
htNodeInfo[sNodeSrl] = aNode[i];
htNodeInfo[sNodeSrl].nNodeType = nNodeType;
sSubTree = "";
if(aSubNode && aSubNode.length>0){
sSubTree = createTreeMarkup(aSubNode, aNode[i]);
}
/*
if(sMenuType === "shortcut"){
sText = sText + " ${s}";
}
*/
if(sIsStartModule){
sText = sText + " ${h}";
}
sResult += $.tmpl( "menuTreeNode", {MenuTitle:sText,MenuId:sNodeSrl,SubTree:sSubTree} ).get()[0].outerHTML.replace("${s}", "<i class='icon-share-alt'></i>").replace("${h}", "<i class='x_icon-home'></i>");
}
return $.tmpl( "menuTree", {Nodes:sResult} ).get()[0].outerHTML;
}
jQuery(function($){
var _oldhide = $.fn.hide;
$.fn.hide = function(speed, callback) {
$(this).trigger('hide');
return _oldhide.apply(this,arguments);
}
//$( "#tmpl_siteMap" ).template( "siteMap" );
$( "#tmpl_menuTree" ).template( "menuTree" );
$( "#tmpl_menuTreeNode" ).template( "menuTreeNode" );
var params = {};
var response_tags = new Array('menuList');
params['menu_srl'] = 0;
$.exec_json("menu.getMenuAdminSiteMap", params, onSiteMapReceived);
//$.jstree._themes = "PATH/TO/FOLDER/";
//$.jstree._themes = "/maserati/modules/menu/tpl/css/themes/";
$.jstree._themes = '{getUrl("")}/modules/menu/tpl/css/themes/';
// Set #site height fix
$(window).resize(function(){
var wHeigh = $(window).height();
var $site = $('#site');
$site.height(wHeigh - 270);
}).resize();
// Draw .h/.v line and display file/folder icon
var $mapi = $('.map .root li');
$mapi.addClass('open');
function drawMap(){
$mapi.each(function(){
var $this = $(this);
var verticalX = parseInt($this.find('>.item>.tx').css('paddingLeft'));
// Draw line
$this.find('>.h').css({ // Horizontal line position
left: verticalX -39
});
var submenu = $this.find('>ul').length;
var hasopen = $this.hasClass('open');
if(submenu){ // Vertical line position
var verticalH = parseInt($this.height())-15;
var removeH = parseInt($this.find('>ul>li:last-child').height());
$this.find('>.v').css({
left: verticalX -15,
height: verticalH - removeH
});
$this.find('>.item>.tx>i').removeClass('x_icon-file'); // Remove file icon
} else {
$this.find('>.v').remove();
}
// Display icon
var folderOpen = 'x_icon-folder-open';
var folderClose = 'x_icon-folder-close';
if(submenu && hasopen){
$this.find('>.item>.tx>i:first-child').removeClass(folderClose).addClass(folderOpen);
} else if(submenu && !hasopen) {
$this.find('>.item>.tx>i:first-child').removeClass(folderOpen).addClass(folderClose);
}
});
}
drawMap();
// li.hover class toggle
$mapi.bind({
mouseover: function(event){
$(this).addClass('hover');
$(this).not('.selected').find('>.item>.tx>i').addClass('x_icon-white');
event.stopPropagation();
},
mouseout: function(event){
$(this).removeClass('hover');
$(this).not('.selected').find('>.item>.tx>i').removeClass('x_icon-white');
event.stopPropagation();
}
});
// a.tx submenu toggle
$mapi.find('>.item>.tx').click(function(){
$(this).closest('li').toggleClass('open');
drawMap();
return false;
});
// li.selected and .side>a toggle
var $mapi = $('.map li');
$mapi.find('>.item>.side>a')
.click(function(){
var $this = $(this);
var iconWhite = 'x_icon-white';
$mapi.removeClass('selected').find('>.item>.side>a').not($this).removeClass('active');
$mapi.find('>.item').not($this.closest('.item')).find('>.tx>i').removeClass(iconWhite);
$this.toggleClass('active').siblings().removeClass('active');
if($this.parent('.side').children('a.active').length){
$this.closest('li:not(".root")').addClass('selected').find('>.item>.tx>i').addClass(iconWhite);
}
})
.hover(
function(){
var $this = $(this);
var title = $this.text();
$this.attr('title', title);
},
function(){
var $this = $(this);
$this.removeAttr('title');
}
);
});
//]]>
</script>