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

}
