/******************************************** * *UI related and can be shared by different HTML * ********************************************/ //Event funcs to highlight buttons function evtSrc(e) { if (!e) var e=window.event var s = e.srcElement ? e.srcElement : e.target return s.nodeType==3 ? s.parentNode : s } function MM(e) { var s = evtSrc(e) if (s) s.className='ComBtnOver' } function MO(e) { var s = evtSrc(e) if (s) s.className='ComBtn' } function MM1(e) { var s = evtSrc(e) if (s) s.className='ComBtn1Over' } function MO1(e) { var s = evtSrc(e) if (s) s.className='ComBtn1' } function HL(e) { var r = null if (e.parentNode && e.parentNode.parentNode) r = e.parentNode.parentNode else if (e.parentElement && e.parentElement.parentElement) r = e.parentElement.parentElement if (r) { if (e.checked) r.bgColor= "#F5F8FF" else r.bgColor = "white" } } var _dobj = new Object() _dobj.zIndex = 0 var IE = parent.IE var NN = parent.NN function _getX(e) { var x = 0 if (IE) x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft if (NN) x = e.clientX + window.scrollX return x } function _getY(e) { var y = 0 if (IE) y = e.clientY + document.documentElement.scrollTop + document.body.scrollTop if (NN) y = e.clientY + window.scrollY return y } function _getPN(n, m) { m = m ? m : 0; if (n > 400) return 405 else return n > m ? n : m } function DS(e, id) { var el, x, y if (IE) e = window.event _dobj.node = evtSrc(e) _dobj.node.style.zIndex = ++_dobj.zIndex if (IE) { document.attachEvent("onmousemove", DG) document.attachEvent("onmouseup", DP) e.cancelBubble = true e.returnValue = false } if (NN) { document.addEventListener("mousemove", DG, true) document.addEventListener("mouseup", DP, true) e.preventDefault() } } function DG(event) { var x = _getX(event) var y = _getY(event) _dobj.node.style.left = _getPN(x, 5) + "px" //divider document.getElementById("left").style.width = _getPN(x-25, 5) //folder tree document.getElementById("right").style.left = _getPN(x, 10)+5 //right //_dobj.node.style.top = (_dobj.EST + y - _dobj.CSY) + "%" if (IE) { window.event.cancelBubble = true window.event.returnValue = false } if (NN) event.preventDefault() } function DP(event) { if (IE) { document.detachEvent("onmousemove", DG) document.detachEvent("onmouseup", DP) } if (NN) { document.removeEventListener("mousemove", DG, true) document.removeEventListener("mouseup", DP, true) } } function nWMtoolbar(label, href, imgname, imgsrc, id, p, style) { p = p ? 'parent.' : '' linkname = id ? 'name="' + id + 'link" ' : '' linkid = id ? 'id="'+ id + 'link" ' : '' id = id ? 'id="'+ id+ '" ' : '' if (href.indexOf('.msc')>0) href = '' else href = '' return '' + href + '' + label +
         ''+ label + '' } //Translates string to i18n['string'] function translate() { var k, v, list = document.getElementsByTagName("option") for (var i=0; i< list.length; i++) { v = list.item(i) v = v.firstChild ? v.firstChild : v.nextSibling if (v.nodeValue.indexOf('i18n_') == 0) { k = v.nodeValue.substr(5) if (main.i18n[k]) v.nodeValue = main.i18n[k] } } list = document.getElementsByTagName("select") for (var i=0; i< list.length; i++) { v = list.item(i) k = v.selectedIndex v.selectedIndex = v.length -1 v.selectedIndex = k } list = document.getElementsByTagName("i18n") for (var i=0; i< list.length; i++) { v = list.item(i) v = v.firstChild ? v.firstChild : v.nextSibling if (main.i18n[v.nodeValue]) v.nodeValue = main.i18n[v.nodeValue] } list = document.getElementsByTagName("input") for (var i=0; i< list.length; i++) { v = list.item(i) va = v.getAttribute("value") if (!va) continue if (va.indexOf('i18n_') == 0) { k = va.substr(5) if (main.i18n[k]) v.setAttribute("value", main.i18n[k]) } } } //508 compliance FOEdebug = false function FOEimg(f) { var list = document.getElementsByTagName("img") if (f) list = eval(f).document.getElementsByTagName("img") var title, alt, src, name, s for (var i=0; i< list.length; i++) { var v = list.item(i) src = v.getAttribute('src') if (src.indexOf('spacer') !=-1 ||src.indexOf('divider') !=-1 ) { v.setAttribute('alt', '') continue } title = v.getAttribute('title') alt = v.getAttribute('alt') name= v.getAttribute('name') if (!name && !alt & !title && FOEdebug) alert('Fix '+src) //manually fix it if (main.i18n[name]) s = main.i18n[name] if (title) s = title else if (alt) s = alt v.setAttribute('title', s) v.setAttribute('alt', s) } } function nTab(label, func, lnk, sel){ var s ='' var f = 'onMouseOver="return hint()" onMouseOut="return hint()" href="' + func + '" target="historyFrame">' if (main.state != 'msg'){ if (sel) s += '
' + label + '
' else s += '
' } else { if (!lnk && sel) s += '
' + label + '
' else s += '
' } return s } function MboxURL(rname, ind, srch) { var s = main.msgHREF + 'history.html?mbox.msc?mbox=' + encode(rname) + '&start=' + (ind ? ind : 0) + '&count=' + main.cfg['meViewSize'] + '&date=true&sortorder=' + main.sortOrder + '&sortby=' + main.sortBy + '&headerv=Content-type&sid=' + main.sid + '&lang=' + main.lang if (rname == main.cfg['meSentFolder'] || rname == main.cfg['meDraftFolder']) s += '&hdr=to' s += '&srch=' if (srch && (srch.indexOf('deleted')>-1 || srch.indexOf('ALL')> -1)) s += encode(srch) else if (srch) s += encode(srch + ' NOT deleted') else s += encode('ALL NOT deleted') return s } function msgURL(idx) { var msg = mboxFrame.msg[idx] var binhex, maxtext, newstr binhex = main.mac ? '' : ',binhex' var isDraft = msg.flags & main.mboxFrame.flag['\\draft']; if(!isDraft) maxtext = '&maxtext=55000' var uid = msg.uid if (msg.flags & mboxFrame.flag['\\seen']) newstr = '&newmsg=0' else newstr = '&newmsg=1' var s = 'mbox=' + encode(mboxFrame.mbox) + '&uid=' + uid + '&msgid=' + idx + '&start=' + mboxFrame.start + '&count=' + mboxFrame.count + + binhex + maxtext + '&sid=' + main.sid + '&lang=' + main.lang + newstr if (!isDraft) { s += '&process=js,link,target,html'; } if (isDraft) return 'javascript: main.compose(\'draft\', \'' + main.msgHREF + 'msg.msc?' + s + '\')' else return main.msgHREF + 'history.html?msg.msc?' + s } function SpecialMboxURL(sname) { var key = 'me' + sname + 'Folder' if (sname == 'Drafts') key = 'meDraftFolder' var mboxname = main.cfg[key] ? main.cfg[key] : sname var start = 0 var srch = '' if (main.state=='msg' && mboxname == msgFrame.mbox) { start = mboxFrame.start srch = mboxFrame.srch } return MboxURL(mboxname, start, srch) } function folderTab() { return '' } function flagimg(msg) { var msgstate = 0 var s = '' if(msg.flags & main.mboxFrame.flag['\\deleted']) msgstate = msgstate | 1 if(msg.flags & main.mboxFrame.flag['\\answered']) msgstate = msgstate | 2 if(msg.flags & main.mboxFrame.flag['\\seen']) msgstate = msgstate | 4 if(msg.flags & main.mboxFrame.flag['\\flagged']) msgstate = 8 s += '' + i18n['msg UnRead'] + '0 ; t--) { if (mbox[t].name==p) return t+1 } return 0 } function getLocalizedName(fldr) { if(fldr == 'INBOX') return main.fldr['INBOX']; else if(fldr == 'Trash') return main.fldr['Trash']; else if(fldr == 'Sent') return main.fldr['Sent']; else if(fldr == 'Drafts') return main.fldr['Drafts']; else if(fldr == 'Shared Folders' && main.fldr['shared folders']) return main.fldr['shared folders']; else if(fldr == 'User' && main.fldr['user folder']) return main.fldr['user folder']; else return fldr; } var mbox = new Array() function findIdx(n) { for (t=0; t' t += ', ' + M.unread + ' ' + i18n['msg UnRead'] } else { s = mbox } lnk.innerHTML = s img.title = img.alt = lnk.title = t } function folderTree() { var folderlink = ' ' var icon, unread='' var mb = main.cfgFrame.mbox var sb = main.cfgFrame.sub DTREE = new dTree('DTREE') // Don't add var here!! if(main.cfg['mail'] != null) for (i=0; i' tooltip += ', ' + mbox[i].unread + ' ' + i18n['msg UnRead'] } DTREE.add(i+1, findParent(i, mbox), ff, folderlink, tooltip, '', icon) } DTREE.add(mbox.length + 1, 0, i18n['manage folders'], "history.html?fldr_fs.html", i18n['manage folders'], 'mailFrame', '/uwcresources/themes/shaw-default/images/mail/folder.gif') return DTREE } function quotaBar() { var qsize = parseInt(main.cfg['mailQuota']) if (qsize < 0) return ' ' var pc = Math.round((mboxFrame.mailQuotaUsed/qsize*100)) if(pc == null || main.cfg['mailQuota'] == null) return ' ' var color = '3FDD36' if (pc > 60 ) color = 'orange' if (pc > 90) color = 'red' var s = '
' + '  ' + '  
' + '

 ' + i18n['quota'] + ' : ' + pc + '% ' + i18n['of'] + ' ' + size(main.cfg['mailQuota']) + '

' return s } function mailui_adjustHeight(objl, objm, objr) { objm = document.getElementById(objm) objl = document.getElementById(objl) objr = document.getElementById(objr) var max = Math.max(objl.scrollHeight, objr.scrollHeight) max = Math.max(max, document.body.clientHeight - 145) objm.style.height = max }