| 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) { |
| } |
| } |