js.createdFloatDivs = []; js.createDialogDiv = function(content){var objFloatDiv = js.Dom.createDiv(); objFloatDiv.style.position="absolute"; objFloatDiv.style.textAlign="left"; objFloatDiv.style.backgroundColor = "#FFFFFF"; js.Dom.setZ(objFloatDiv, js.zIndex_buttonMenu); var objShadowDiv = js.Dom.createDiv(); objShadowDiv.style.position="absolute"; objShadowDiv.style.background= "#000000"; objShadowDiv.style.opacity= "0.2"; objShadowDiv.style.filter = "alpha(opacity=20)"; js.Dom.setZ(objShadowDiv, js.zIndex_buttonMenu-1); objFloatDiv.shadowDiv = objShadowDiv; if(content){if(typeof(content) == 'string') js.Dom.writeHTML(objFloatDiv, content); else if(typeof(content) == 'function'){content(objFloatDiv);}else if(typeof(content) == 'object')objFloatDiv.appendChild(content); js.Dom.setW(objFloatDiv.shadowDiv, js.Dom.getW(objFloatDiv)+ "px"); js.Dom.setH(objFloatDiv.shadowDiv, js.Dom.getH(objFloatDiv)+ "px");}
js.Dom.hideObj(objFloatDiv); js.Dom.hideObj(objShadowDiv); return objFloatDiv;}
js.createFloatDiv = function(content){var objFloatDiv = js.createDialogDiv(content); ech_attachMouseDrag(objFloatDiv, null, function(ctrl){js.Dom.setXY(ctrl.div, ctrl.curX-ctrl.pageW, ctrl.curY-ctrl.pageH); if(typeof(objFloatDiv.shadowDiv) == 'object')js.Dom.setXY(objFloatDiv.shadowDiv, ctrl.curX-ctrl.pageW+5, ctrl.curY-ctrl.pageH+5);}); return objFloatDiv;}
js.closeFloatDiv = function(div){js.Dom.hideObj(div); if(div.shadowDiv)js.Dom.hideObj(div.shadowDiv);}
js.displayDivByElement = function(divObj, elementObj, mPlace){var _scroll = js.Dom.getScroll(); js.Dom.showObj(divObj); if(elementObj == "center"){var x = Math.floor((_scroll.width - js.Dom.getW(divObj))/2)+_scroll.left; var y = Math.floor((_scroll.height - js.Dom.getH(divObj))/2)+_scroll.top;}else {var cw = mPlace == 0 ? 0 : js.Dom.getW(elementObj); var ch = mPlace == 1 ? 0 : js.Dom.getH(elementObj); var x = js.Dom.getPageX(elementObj)+cw; var y = js.Dom.getPageY(elementObj)+ch; var w = js.Dom.getW(divObj); var h = js.Dom.getH(divObj); if(js.Browse.ie&& js.Browse.mac){y -= 4;x -= 6;}
if(x+w > _scroll.width+_scroll.left&& x - w - cw > 0){x -= w+cw; if(mPlace == 0) x+= js.Dom.getW(elementObj);}
if(y+h > _scroll.height+_scroll.top&& y - h - ch > 0){y -= h+ch;}}
if(x-_scroll.left<10)x=_scroll.left+10; if(y-_scroll.top<10)y=_scroll.top+10; js.Dom.setXY(divObj, x, y); if(divObj.shadowDiv){js.Dom.showObj(divObj.shadowDiv); js.Dom.setW(divObj.shadowDiv, js.Dom.getW(divObj)+ "px"); js.Dom.setH(divObj.shadowDiv, js.Dom.getH(divObj)+ "px"); js.Dom.setXY(divObj.shadowDiv, x+5, y+5);}}
js.createFloatPanel = function(width,content,title,closeFunc){var close_ctrl_id = js.generateId(); var body_id = js.generateId(); var str = ''; str+= '<div class="dialog_window" style="width:'+width+'px">'; str+= '<div class="dialog_title_box">'; str+= '  <table width="100%" border="0" cellspacing="2" cellpadding="0">'; str+= '    <tr>'; str+= '      <td style="position:relative; overflow:hidden">'+(title ? title : "&nbsp;")+'</td>'; str+= '      <td width="17"><a href="#" id="'+close_ctrl_id+'"><img src="'+__JS_ROOT__+ 'floatDiv/dialogClose0.gif" alt="Close" width="17" height="17" border="0" title="Close" onmouseover="this.src=\''+__JS_ROOT__+ 'floatDiv/dialogCloseF.gif\'" onmouseout="this.src=\''+__JS_ROOT__+ 'floatDiv/dialogClose0.gif\'" /></a></td>'; str+= '    </tr>'; str+= '  </table>'; str+= '</div>'; str+= '<div id="'+body_id+'" class="dialog_body" style="padding:8px"></div>'; str+= '</div>'; var objDiv = js.createFloatDiv(str); var objBody = js.Dom.findObj(body_id); if(typeof(content) == "object")objBody.appendChild(content); else if(typeof(content) == "string")js.Dom.writeHTML(objBody,content); js.Event.addEvent(objBody, 'mousedown', function(ev){js.Event.stopEvent(ev)}); js.Event.addEvent(js.Dom.findObj(close_ctrl_id), 'click', function(){if(closeFunc)closeFunc(); js.closeFloatDiv(objDiv);return false;}); return objDiv;}
var buttonMenu_curObjMenu = null; var buttonMenu_objMenuHidden = true; var buttonTimeout = null; function buttonMenu(btnId, mixData, mType, mPlace, onShow_func, menuClick_func){if(mType != 1)mType = 0; if(mPlace != 1) mPlace = 0; var _length = js.createdFloatDivs.length; js.createdFloatDivs[_length] = null; js.Event.addEvent(window, "load", function(){var oBtn = typeof(btnId) == 'string' ? js.Dom.findObj(btnId) : btnId; var evMenu = function(p_oEvent){var oEvent = p_oEvent ? p_oEvent : window.event
if(oEvent.type == 'mouseover'&& mType == 0&& buttonMenu_objMenuHidden)return false; if(mType == 0)js.Event.stopEvent(oEvent); if(js.createdFloatDivs[_length])var oMenu = js.createdFloatDivs[_length]
else {var oMenu = js.createFloatDiv(mixData); if(mType == 1){js.Event.addEvent(oMenu, 'mouseover', function(){if(buttonTimeout)clearTimeout(buttonTimeout);}); js.Event.addEvent(oMenu, 'mouseout', function(){buttonTimeout = setTimeout(hiddenMenu, 300);});}
oMenu.onclick = function(p_oEvent){if(menuClick_func)menuClick_func();}
js.createdFloatDivs[_length] = oMenu;}
if(buttonTimeout)clearTimeout(buttonTimeout); hiddenMenu(); buttonMenu_curObjMenu = oMenu; js.displayDivByElement(oMenu, oBtn, mPlace); if(onShow_func)onShow_func(); if(mType == 0) buttonMenu_objMenuHidden = false;}
if(mType == 1) js.Event.addEvent(oBtn, 'mouseout', function(){buttonTimeout = setTimeout(hiddenMenu, 300);}); js.Event.addEvent(oBtn, 'click', evMenu); js.Event.addEvent(oBtn, 'mouseover', evMenu);});}; function hiddenMenu(){if(buttonMenu_curObjMenu){js.Dom.hideObj(buttonMenu_curObjMenu); if(buttonMenu_curObjMenu.shadowDiv)js.Dom.hideObj(buttonMenu_curObjMenu.shadowDiv); buttonMenu_objMenuHidden = true;}}
document.onclick = hiddenMenu; _dialog_timeout = null; _dialog_obj_div = null; var fase_mages = new Array(); fase_mages['wait'] = __JS_ROOT__+ 'floatDiv/wait.gif'; fase_mages['no'] = __JS_ROOT__+ 'floatDiv/no.gif'; fase_mages['smile'] = __JS_ROOT__+ 'floatDiv/smile.gif'; js.Event.addEvent(window, 'load', function(){for(var i in fase_mages)js.Img.preloadImages(fase_mages[i]);}); function dialog(width, msg, face, showTime, title, showBtn, btnText){if(!_dialog_obj_div){var str = ''; str+= '<div id="dialog_window" class="dialog_window">'; str+= '  <div id="dialog_title_box" class="dialog_title_box">'; str+= '    <table width="100%" border="0" cellspacing="2" cellpadding="0">'; str+= '      <tr>'; str+= '        <td style="position:relative; overflow:hidden" id="dialog_title">&nbsp;</td>'; str+= '        <td width="17"><a href="#" id="dialog_close_ctrl"><img src="'+__JS_ROOT__+ 'floatDiv/dialogClose0.gif" id="dialog_close_ctrl_img" alt="Close" width="17" height="17" border="0" title="Close" onmouseover="this.src=\''+__JS_ROOT__+ 'floatDiv/dialogCloseF.gif\'" onmouseout="this.src=\''+__JS_ROOT__+ 'floatDiv/dialogClose0.gif\'" /></a></td>'; str+= '      </tr>'; str+= '    </table>'; str+= '  </div>'; str+= '  <div id="dialog_body" class="dialog_body">'; str+= '    <table width="100%" border="0" cellspacing="0" cellpadding="0">'; str+= '      <tr>'; str+= '        <td width="60" valign="top" id="dialog_face_box"><img id="dialog_face" style="margin:10px" /></td>'; str+= '        <td id="dialog_msg" style="padding:10px">&nbsp;</td>'; str+= '      </tr>'; str+= '    </table>'; str+= '  </div>'; str+= '  <div id="dialog_button_box"><div><a id="dialog_button_text" href="#">¹Ø±Õ</a></div></div>'; str+= '</div>'; _dialog_obj_div = function(){}; _dialog_obj_div.div = js.createFloatDiv(str); _dialog_obj_div.objWindow = js.Dom.findObj("dialog_window"); _dialog_obj_div.objTitleBox = js.Dom.findObj("dialog_title_box"); _dialog_obj_div.objTitle = js.Dom.findObj("dialog_title"); _dialog_obj_div.objBody = js.Dom.findObj("dialog_body"); _dialog_obj_div.objCloseCtrl = js.Dom.findObj("dialog_close_ctrl"); _dialog_obj_div.objCloseCtrlImg = js.Dom.findObj("dialog_close_ctrl_img"); _dialog_obj_div.objMsg = js.Dom.findObj("dialog_msg"); _dialog_obj_div.objFaceBox = js.Dom.findObj("dialog_face_box"); _dialog_obj_div.objFace = js.Dom.findObj("dialog_face"); _dialog_obj_div.objButtonBox = js.Dom.findObj("dialog_button_box"); _dialog_obj_div.objButtonText = js.Dom.findObj("dialog_button_text"); js.Event.addEvent(_dialog_obj_div.objBody, 'mousedown', function(ev){js.Event.stopEvent(ev);return false;}); js.Event.addEvent(_dialog_obj_div.objCloseCtrl, 'click', function(){js.closeFloatDiv(_dialog_obj_div.div);return false;}); js.Event.addEvent(_dialog_obj_div.objButtonText, 'click', function(){js.closeFloatDiv(_dialog_obj_div.div);return false;});}
if(_dialog_timeout){clearTimeout(_dialog_timeout); _dialog_timeout = null;}
if(title == null|| title == 'undefined')title = "System Info"; if(title == "")js.Dom.hideObj(_dialog_obj_div.objTitleBox); else {js.Dom.writeHTML(_dialog_obj_div.objTitle, title); _dialog_obj_div.objCloseCtrlImg.src = __JS_ROOT__+ 'floatDiv/dialogClose0.gif'; js.Dom.showObj(_dialog_obj_div.objTitleBox);}
js.Dom.writeHTML(_dialog_obj_div.objMsg, msg); if(face == null|| face == 'undefined')face = "smile"; if(face == "")js.Dom.hideObj(_dialog_obj_div.objFaceBox); else {_dialog_obj_div.objFace.src = __JS_ROOT__+ 'floatDiv/'+face+'.gif'; js.Dom.showObj(_dialog_obj_div.objFaceBox);}
if(showBtn)js.Dom.showObj(_dialog_obj_div.objButtonBox); else js.Dom.hideObj(_dialog_obj_div.objButtonBox); if(!btnText)btnText = "¹Ø±Õ"; js.Dom.writeHTML(_dialog_obj_div.objButtonText, btnText); if(!width) width = 250; js.Dom.setW(_dialog_obj_div.objWindow, width); js.displayDivByElement(_dialog_obj_div.div, 'center'); if(showTime > 0)_dialog_timeout = setTimeout(function(){js.closeFloatDiv(_dialog_obj_div.div);}, showTime*1000);}
var DropMenu_showMenus = []; function DropMenu(){this.idData = []; this.pidData = []; this.menuData = []; this.btnData = []; this.rootId = null; this.containerObj = null; this.ctrlObj = null; this.id = js.generateId(); this.className = "dropMenu";}
DropMenu.data = function(id, pid, text, url){this.id = id; this.pid = pid
this.text = text; this.url = url;}
DropMenu.prototype.add = function(id,pid,text,url){if(!this.pidData[pid])this.pidData[pid] = []; this.pidData[pid][this.pidData[pid].length] = id; this.idData[id] = new DropMenu.data(id, pid, text, url); if(!this.idData[pid])this.rootId = id;}
DropMenu.prototype.display = function(containerObj, mType, mPlace){if(mType != 1)mType = 0; this.mType = mType; if(mPlace != 1)mPlace = 0; this.mPlace = mPlace; if(containerObj)this.containerObj = containerObj; if(!this.containerObj){document.write('<div id="'+this.id+'"></div>'); this.containerObj = js.Dom.findObj(this.id);}else this.containerObj = js.Dom.findObj(this.containerObj); this.containerObj.className = this.className; this.createMenu(this.rootId); for(var id in this.menuData){if(id != this.rootId){this.buttonMenu(id,(this.idData[id].pid == this.rootId&& this.mType == 0) ? 0 : 1,(this.idData[id].pid == this.rootId&& this.mPlace == 0) ? 0 : 1);}}
var _menu = this; js.Event.addEvent(document,"click",function(){_menu.hiddenMenu();});}
DropMenu.prototype.displayBy = function(ctrlObj, mType, mPlace){if(mType != 1)mType = 0; this.mType = mType; if(mPlace != 1)mPlace = 0; this.mPlace = mPlace; if(ctrlObj)this.ctrlObj = ctrlObj; if(!this.ctrlObj) return false; this.btnData[this.rootId] = js.Dom.findObj(this.ctrlObj); this.createMenu(this.rootId); for(var id in this.menuData){this.buttonMenu(id,(id == this.rootId&& this.mType == 0) ? 0 : 1,(id == this.rootId&& this.mPlace == 0) ? 0 : 1);}
var _menu = this; js.Event.addEvent(document,"click",function(){_menu.hiddenMenu();});}
DropMenu.prototype.createMenu = function(id){if(id == this.rootId){var divObj = js.Dom.createElement("div", this.containerObj); divObj.className =(this.mPlace == 0&& !this.ctrlObj) ? "dropMenuRow" : "dropMenuCol"; var tableObj = js.Dom.createElement("table", divObj); var tbodyObj = js.Dom.createElement("tbody", tableObj); var parentObj =(this.mPlace == 0&& !this.ctrlObj) ? js.Dom.createElement("tr", tbodyObj) : tbodyObj;}else {var divObj = js.Dom.createElement("div"); divObj.className = "dropMenuCol"; var tableObj = js.Dom.createElement("table", divObj); var tbodyObj = js.Dom.createElement("tbody", tableObj); var parentObj = tbodyObj;}
var curr_id; for(var i = 0;i < this.pidData[id].length; i++){curr_id = this.pidData[id][i]; this.createTd(curr_id, parentObj); if(this.pidData[curr_id])this.createMenu(curr_id);}
this.menuData[id] = divObj;}
DropMenu.prototype.createTd = function(id, parentObj){var tdObj = null; if(this.idData[id].pid == this.rootId&& this.mPlace == 0&& !this.ctrlObj) tdObj = js.Dom.createElement("td", parentObj); else {var trObj = js.Dom.createElement("tr", parentObj); tdObj = js.Dom.createElement("td", trObj);}
var aObj = js.Dom.createElement("a", tdObj, this.idData[id].text); aObj.href = this.idData[id].url; this.btnData[id] = tdObj; var _menu = this; js.Event.addEvent(tdObj, "mouseover", function(){tdObj.className = "dropMenuHover"; _menu.hiddenMenu(id);}); js.Event.addEvent(tdObj, "mouseout", function(){tdObj.className = "dropMenuOut";});}
DropMenu.prototype.buttonMenu = function(id, mType, mPlace){var oBtn = this.btnData[id]; var mixData = this.menuData[id]; var _menu = this; if(mType != 1)mType = 0; if(mPlace != 1) mPlace = 0; var _length = js.createdFloatDivs.length; js.createdFloatDivs[_length] = null; var evMenu = function(p_oEvent){var oEvent = p_oEvent ? p_oEvent : window.event
if(oEvent.type == 'mouseover'&& mType == 0&& buttonMenu_objMenuHidden)return false; if(mType == 0)js.Event.stopEvent(oEvent); if(js.createdFloatDivs[_length])var oMenu = js.createdFloatDivs[_length]
else {var oMenu = js.createDialogDiv(mixData); if(mType == 1){js.Event.addEvent(oMenu, 'mouseover', function(){if(buttonTimeout)clearTimeout(buttonTimeout);});}
oMenu.className = _menu.className; js.createdFloatDivs[_length] = oMenu;}
if(buttonTimeout)clearTimeout(buttonTimeout); _menu.hiddenMenu(id); DropMenu_showMenus[_menu.id+"_"+id] = oMenu; js.displayDivByElement(oMenu, oBtn, mPlace); if(mType == 0) buttonMenu_objMenuHidden = false;}
js.Event.addEvent(oBtn, 'click', evMenu); js.Event.addEvent(oBtn, 'mouseover', evMenu);}; DropMenu.prototype.hiddenMenu = function(lastId){var notHideIds = []; if(lastId){notHideIds[this.id+"_"+lastId] = 1; while(this.idData[lastId]&& this.idData[lastId].pid){notHideIds[this.id+"_"+this.idData[lastId].pid] = 1; lastId = this.idData[lastId].pid;}}else buttonMenu_objMenuHidden = true; for(var id in DropMenu_showMenus){if(DropMenu_showMenus[id]&& !notHideIds[id]){js.Dom.hideObj(DropMenu_showMenus[id]); if(DropMenu_showMenus[id].shadowDiv)js.Dom.hideObj(DropMenu_showMenus[id].shadowDiv); DropMenu_showMenus[id] = null;}}}
