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 ActiveCallButtonPart=0; function SetCallButtonPart(obj) { if (obj.getAttribute('id') == '__skype_highlight_id_left') { ActiveCallButtonPart=0; } else if (obj.getAttribute('id') == '__skype_highlight_id_right') { ActiveCallButtonPart=1; } } function SetCallButton(obj, hl, isInternational) { 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 (ActiveCallButtonPart==0) //left { cb_part_r.style.backgroundImage="url('chrome://skype_ff_toolbar_win/content/cb_mouseonflag_r.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.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.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.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 cb_l=''; var cb_m=''; var cb_r=''; function SetCallButtonPressed(obj, pr, isInternational) { 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) { cb_l=cb_part_l.style.backgroundImage;//getAttribute('src'); cb_m=cb_part_mr.style.backgroundImage; cb_r=cb_part_r.style.backgroundImage;//getAttribute('src'); if (isInternational=="0") { if (ActiveCallButtonPart==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.gif'); cb_part_r.style.backgroundImage="url('chrome://skype_ff_toolbar_win/content/cb_down_r.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.gif'); cb_part_r.style.backgroundImage="url('chrome://skype_ff_toolbar_win/content/cb_down_r.gif')"; } } else { //obj.firstChild.firstChild.setAttribute('src', cb_l); cb_part_l.style.backgroundImage=cb_l; if (cb_part_l.isSameNode(cb_part_ml) != true) cb_part_ml.style.backgroundImage=cb_m; cb_part_mr.style.backgroundImage=cb_m; //obj.lastChild.lastChild.setAttribute('src', cb_r); cb_part_r.style.backgroundImage=cb_r; } } //COMMANDS function SkypeToolBarInit(tb) { skype_tool=tb; } function doRunCMD(event, link, id, name) { if (skype_tool) { if (link == 'chdial') { var obj=event.originalTarget; if (!obj) obj=event; /*var brd=getBounds(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; */ flagColor='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 runCMD(link) { HideSkypeFull(); doRunCMD(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 flagColor='rgb(184, 203, 255)'; function doSkypeFlag(obj,brd) { flagColor=brd; } //MENU var skype_curid=0,skype_active=false,skype_showseed=0,skype_ctm=0,skype_cur_name=''; var curbutton=null; function CheckCallButton(obj) { var res=false; if (curbutton && curbutton.isSameNode(obj)==true) res=true; 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=getBounds(obj); //var pcx=brd.left, pcy=brd.top+16;/*brd.height;* / //alert(pcx+'--'+pcy); scrolls=getDivScroll(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 SetBgColor(obj, color) { try{ obj.lastChild.style.backgroundColor = color; }catch(e){ } } //UTIL function getBounds(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 getDivScroll(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){ } }