var skype_injection_path = 'chrome://skype_ff_toolbar_win/content/'; var skype_tool = null; /*window.addEventListener("click",skype_click_handler,true); function skype_click_handler(event) { if (skype_tool) skype_tool.closemenu(); //HideSkypeMenuFull(); } */ //CALL BUTTON var SkypeActiveCallButtonPart = 0; function SkypeSetCallButtonPart(obj) { if (obj.getAttribute('id') == '__skype_highlight_id_left') { SkypeActiveCallButtonPart = 0; } else if (obj.getAttribute('id') == '__skype_highlight_id_right') { SkypeActiveCallButtonPart = 1; } } function SkypeSetCallButton(obj, hl, isInternational, isFax) { var cb_part_l = null; var cb_part_ml = null; var cb_part_mr = null; var cb_part_r = null; if (obj.getAttribute('rtl') == 'false') { cb_part_l = obj.firstChild.firstChild; cb_part_ml = obj.firstChild.lastChild; cb_part_mr = obj.lastChild.firstChild; cb_part_r = obj.lastChild.lastChild; cb_flag = obj.firstChild.lastChild.firstChild; if (cb_flag && cb_flag.isSameNode(obj.firstChild.firstChild.firstChild) == true) cb_flag = null; } else { cb_part_l = obj.lastChild.lastChild; cb_part_ml = obj.lastChild.firstChild; cb_part_mr = obj.firstChild.lastChild; cb_part_r = obj.firstChild.firstChild; cb_flag = obj.lastChild.firstChild.lastChild; if (cb_flag && cb_flag.isSameNode(obj.lastChild.lastChild.lastChild) == true) cb_flag = null; } if (hl == 1) { cb_part_l.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_mouseover_l.gif')"; if (cb_part_l.isSameNode(cb_part_ml) != true) cb_part_ml.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_mouseover_m.gif')"; cb_part_mr.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_mouseover_m.gif')"; if (isInternational == "0") { if (SkypeActiveCallButtonPart == 0) //left { cb_part_r.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_mouseonflag_r"+(isFax?"_fax":"")+".gif')"; //shadow if (cb_flag) { cb_flag.style.top = '1px'; cb_flag.style.left = '1px'; /*top right bottom left*/ cb_flag.style.padding = '1px 0px 0px 1px';//'2px 0px 0px 0px'; } } else //right { cb_part_r.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_mouseover_r"+(isFax?"_fax":"")+".gif')"; //flag if (cb_flag) { cb_flag.style.top = '0px'; cb_flag.style.left = '0px'; cb_flag.style.padding = '0px 1px 1px 0px';//'0px 1px 1px 0px'; cb_flag.style.margin = '0px 0px 2px 0px;'; } } } else { cb_part_r.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_mouseover_r"+(isFax?"_fax":"")+".gif')"; //flag if (cb_flag) { cb_flag.style.top = '0px'; cb_flag.style.left = '0px'; cb_flag.style.padding = '0px 1px 1px 0px'; cb_flag.style.margin = '0px 0px 2px 0px;'; } } } else { cb_part_l.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_normal_l.gif')"; if (cb_part_l.isSameNode(cb_part_ml) != true) cb_part_ml.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_normal_m.gif')"; cb_part_mr.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_normal_m.gif')"; cb_part_r.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_normal_r"+(isFax?"_fax":"")+".gif')"; //flag if (cb_flag) { cb_flag.style.top = '0px'; cb_flag.left = '0px'; cb_flag.style.padding = '0px 1px 1px 0px'; cb_flag.style.margin = '0px 0px 2px 0px;'; } } } var skype_cb_l = ''; var skype_cb_m = ''; var skype_cb_r = ''; function SkypeSetCallButtonPressed(obj, pr, isInternational, isFax) { var cb_part_l = null; var cb_part_ml = null; var cb_part_mr = null; var cb_part_r = null; if (obj.getAttribute('rtl') == 'false') { cb_part_l = obj.firstChild.firstChild; cb_part_ml = obj.firstChild.lastChild; cb_part_mr = obj.lastChild.firstChild; cb_part_r = obj.lastChild.lastChild; cb_flag = obj.firstChild.lastChild.firstChild; if (cb_flag && cb_flag.isSameNode(obj.firstChild.firstChild.firstChild) == true) cb_flag = null; } else { cb_part_l = obj.lastChild.lastChild; cb_part_ml = obj.lastChild.firstChild; cb_part_mr = obj.firstChild.lastChild; cb_part_r = obj.firstChild.firstChild; cb_flag = obj.lastChild.firstChild.lastChild; if (cb_flag && cb_flag.isSameNode(obj.lastChild.lastChild.lastChild) == true) cb_flag = null; } if (pr == 1) { skype_cb_l = cb_part_l.style.backgroundImage;//getAttribute('src'); skype_cb_m = cb_part_mr.style.backgroundImage; skype_cb_r = cb_part_r.style.backgroundImage;//getAttribute('src'); if (isInternational == "0") { if (SkypeActiveCallButtonPart == 0) //left { //obj.firstChild.firstChild.setAttribute('src', 'chrome://skype_ff_toolbar_win/content/cb_down_l.gif'); cb_part_l.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_down_l.gif')"; if (cb_part_l.isSameNode(cb_part_ml) != true) cb_part_ml.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_down_m.gif')"; } else //right { //obj.firstChild.firstChild.setAttribute('src', 'chrome://skype_ff_toolbar_win/content/cb_down_l.gif'); cb_part_l.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_down_l.gif')"; if (cb_part_l.isSameNode(cb_part_ml) != true) cb_part_ml.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_down_m.gif')"; cb_part_mr.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_down_m.gif')"; //obj.lastChild.lastChild.setAttribute('src', 'chrome://skype_ff_toolbar_win/content/cb_down_r"+(isFax?"_fax":"")+".gif'); cb_part_r.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_down_r"+(isFax?"_fax":"")+".gif')"; } } else { //obj.firstChild.firstChild.setAttribute('src', 'chrome://skype_ff_toolbar_win/content/cb_down_l.gif'); cb_part_l.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_down_l.gif')"; if (cb_part_l.isSameNode(cb_part_ml) != true) cb_part_ml.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_down_m.gif')"; cb_part_mr.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_down_m.gif')"; //obj.lastChild.lastChild.setAttribute('src', 'chrome://skype_ff_toolbar_win/content/cb_down_r"+(isFax?"_fax":"")+".gif'); cb_part_r.style.backgroundImage = "url('chrome://skype_ff_toolbar_win/content/cb_down_r"+(isFax?"_fax":"")+".gif')"; } } else { //obj.firstChild.firstChild.setAttribute('src', skype_cb_l); cb_part_l.style.backgroundImage = skype_cb_l; if (cb_part_l.isSameNode(cb_part_ml) != true) cb_part_ml.style.backgroundImage = skype_cb_m; cb_part_mr.style.backgroundImage = skype_cb_m; //obj.lastChild.lastChild.setAttribute('src', skype_cb_r); cb_part_r.style.backgroundImage = skype_cb_r; } } //COMMANDS function SkypeToolBarInit(tb) { skype_tool = tb; } function doRunCMDSkype(event, link, id, name) { if (skype_tool) { if (link == 'chdial') { var obj=event.originalTarget; if (!obj) obj=event; /*var brd=SkypeGetBounds(obj); var docelem = document.documentElement; if ((docelem.scrollTop == 0 && document.body.scrollTop != 0) || (docelem.scrollLeft == 0 && document.body.scrollLeft != 0)) docelem=document.body; scrollY=docelem.scrollTop; scrollX=docelem.scrollLeft; var my=brd.top+16, mx=brd.left;/*brd.height*/ //var oDoc = obj.ownerDocument; /*var obj2 = document.getBoxObjectFor(element); var html_box = new XPCNativeWrapper(obj2).wrappedJSObject; if (!html_box) html_box = obj2; var screenX = html_box.screenX; var screenY = html_box.screenY; */ SkypeFlagColor='rgb(184, 203, 255)'; skype_tool.chprefix(id, document, obj, screenY); } else if (link == 'copy') skype_tool.copy_num(id, document); else if (link == 'sms') skype_tool.sms(id); else if (link == 'add') skype_tool.add(id, name); else skype_tool.call(id); } } function runCMDSkype(link) { HideSkypeFull(); doRunCMDSkype(null, link, skype_curid, skype_cur_name); } //FLAG TOOLTIP function HideSkypeFull() { // skype_active=false; document.getElementById('skype_dc').style.visibility = "hidden"; } function ShowSkype(event, title) { // skype_active=true; DoShowSkype(event.pageX, event.pageY + 20, title); } function DoShowSkype(cX, cY, title) { var menu = document.getElementById('skype_dc'); menu.firstChild.nodeValue = title; menu.style.visibility = "visible"; menu.style.left = cX + 'px'; menu.style.top = cY + 'px'; } var SkypeFlagColor = 'rgb(184, 203, 255)'; function doSkypeFlag(obj, brd) { SkypeFlagColor = brd; } //MENU var skype_curid = 0,skype_active = false,skype_showseed = 0,skype_ctm = 0,skype_cur_name = ''; var skype_curbutton = null; function SkypeCheckCallButton(obj) { var res = false; if (skype_curbutton && skype_curbutton.isSameNode(obj) == true) res = true; skype_curbutton = obj; return res; } function HideSkypeMenu() { //skype_tool.sd('HideSkypeMenu skype_active='+skype_active); if (!skype_active) HideSkypeMenuFull(); else setTimeout("HideSkypeMenu()", 1000); } function HideSkypeMenu2(event) { skype_showseed = 0; if (!skype_active) HideSkypeMenuFull(); else { skype_active = false; setTimeout("HideSkypeMenu()", 1000); } } function HideSkypeMenuFull() { //skype_tool.sd('HideSkypeMenuFull skype_active='+skype_active); /* skype_active=false; document.getElementById('skype_menu').style.visibility="hidden";*/ } function CheckSkype() { skype_active = true; } function ShowSkypeMenu(event, call_msg, id, callto, isMobile, name, x, y) { try { /* skype_active=true; //skype_tool.sd('ShowSkypeMenu skype_curid='+skype_curid+' callto='+callto+' id='+id); if(document.getElementById('skype_menu').style.visibility!="hidden" && skype_curid==callto)//id return; skype_showseed=Math.random(); clearTimeout(skype_ctm); var obj=event.originalTarget; if (!obj) obj=event; // var brd=SkypeGetBounds(obj); //var pcx=brd.left, pcy=brd.top+16;/*brd.height;* / //alert(pcx+'--'+pcy); scrolls=SkypeGetDivScroll(obj); var pcx = x+scrolls.left, pcy = y+scrolls.top; skype_ctm=setTimeout('DoShowSkypeMenu(\''+call_msg+'\','+skype_showseed+',"'+callto+'",'+pcx+','+pcy+','+isMobile+',"'+name+'")',0);*/ } catch(e) { } } function DoShowSkypeMenu(call_msg, seed, callto, pcx, pcy, isMobile, name) { try { //skype_tool.sd('DoShowSkypeMenu seed='+seed+' skype_showseed='+skype_showseed); /* if(seed!=skype_showseed) return; skype_showseed=0; skype_curid=callto; skype_cur_name=name; var menu=document.getElementById('skype_menu'); var my=pcy, mx=pcx; var menubox=document.getBoxObjectFor(menu); //var docelem = document.documentElement; //alert(menubox.height); //alert('doc h='+document.height + ' y='+my+' menu h='+menubox.height); var docH=document.height; if (docH < document.documentElement.clientHeight) docH=document.documentElement.clientHeight; if (docH < document.documentElement.scrollHeight) docH=document.documentElement.scrollHeight; if (docH < document.body.clientHeight) docH=document.body.clientHeight; if (docH < document.body.scrollHeight) docH=document.body.scrollHeight; if ((my + menubox.height) > docH) my=my - 16 - menubox.height; if (my < 0) my=0; // if (document.height != 0 && (my + menubox.height) > document.height && (my + menubox.height) > document.documentElement.scrollHeight)//docelem.clientHeight) //my=document.height - menubox.height; var docW=document.width; if (docW < document.documentElement.clientWidth) docW=document.documentElement.clientWidth; if (docW < document.documentElement.scrollWidth) docW=document.documentElement.scrollWidth; if (docW < document.body.clientWidth) docW=document.body.clientWidth; if (docW < document.body.scrollWidth) docW=document.body.scrollWidth; if ((mx + menubox.width) > docW) mx=document.width - menubox.width; if (mx < 0) mx=0; // if (document.width != 0 && (mx + menubox.width) > document.width && (mx + menubox.width) > document.documentElement.scrollWidth)//docelem.clientWidth) menu.style.left=mx+'px'; menu.style.top=my+'px'; skype_tool.doFixMenu(menu, isMobile, document); menu.style.visibility="visible"; */ } catch(e) { } } function SkypeSetBgColor(obj, color) { try { obj.lastChild.style.backgroundColor = color; } catch(e) { } } //UTIL function SkypeGetBounds(element) { try { var left = element.left; var top = element.top; while (!(element.tagName.toLowerCase() == 'span' && element.getAttribute('id') == '__skype_highlight_id')) { element = element.parentNode; } left = element.offsetLeft; top = element.offsetTop; for (var parent = element.offsetParent; parent; parent = parent.offsetParent) { left += parent.offsetLeft; top += parent.offsetTop; if (parent.tagName.toLowerCase() == 'div') { left -= parent.scrollLeft; top -= parent.scrollTop; } } return {left: left, top: top, width: element.offsetWidth, height: element.offsetHeight}; } catch(e) { } } function SkypeGetDivScroll(element) { try { var left = 0; var top = 0; while (!(element.tagName.toLowerCase() == 'span' && element.getAttribute('id') == '__skype_highlight_id')) { element = element.parentNode; } for (var parent = element.offsetParent; parent; parent = parent.offsetParent) { if (parent.tagName.toLowerCase() == 'div') { left -= parent.scrollLeft; top -= parent.scrollTop; } } return {left: left, top: top}; } catch(e) { } }