var g_lanmenu = null; function rspLanguageMenu( id, name, itemJson ) { this.id = id; this.name = name; this.items = itemJson; g_lanmenu = this; } rspLanguageMenu.prototype.getHtml = function() { var style = ""; style += "\n"; var html = ""; html += ""; return style + html; } rspLanguageMenu.prototype.adjustPos = function(obj) { var menuobj = document.getElementById("language_menu_border"); if (!menuobj || !obj) { return; } var pos = this.getpos(obj); menuobj.style.left = pos.left + "px"; menuobj.style.top = pos.bottom + "px"; menuobj.style.display = ''; document.getElementById("language_menu_topright_border").style.width = (menuobj.offsetWidth-(pos.right - pos.left)) + "px"; } //Get the current position rspLanguageMenu.prototype.getpos = function(element) { if (arguments.length != 1 || element == null) { return null; } var elmt = element; var offsetTop = elmt.offsetTop; var offsetLeft = elmt.offsetLeft; var offsetWidth = elmt.offsetWidth; var offsetHeight = elmt.offsetHeight; while (elmt = elmt.offsetParent) { // add this judge if (elmt.style.position == 'absolute' || (elmt.style.overflow != 'visible' && elmt.style.overflow != '')) { break; } offsetTop += elmt.offsetTop; offsetLeft += elmt.offsetLeft; } return { top: offsetTop, left: offsetLeft, right: offsetWidth + offsetLeft, bottom: offsetHeight + offsetTop }; } var m_isOnLabel = false; var m_isOnDrop = false; function mouseOnLabel() { m_isOnLabel = true; var obj = document.getElementById("log_language_border"); obj.className = 'log-language-over'; g_lanmenu.adjustPos(obj); setTimeout("timeoutCheck()", 1000); } function pageOnSizeMoveMenu() { if( m_isOnLabel ) { var obj = document.getElementById("log_language_border"); obj.className = 'log-language-over'; g_lanmenu.adjustPos(obj); } } function mouseLeaveLabel(obj) { m_isOnLabel = false; setTimeout("timeoutCheck()", 1000); } function mouseOnDrop() { m_isOnDrop = true; setTimeout("timeoutCheck()", 1000); } function mouseLeaveDrop() { m_isOnDrop = false; setTimeout("timeoutCheck()", 1000); } function timeoutCheck() { if (m_isOnDrop || m_isOnLabel) { return; } document.getElementById("log_language_border").className = 'log-language-out'; document.getElementById("language_menu_border").style.display = 'none'; }