﻿// JScript File
var CalltoInvertval;
var CalltoTime=1000;
var calltoPos=[0,0];
var lastCalltoNr="";
var lastCallName="";
var lastCalltoResult;
var lastX

var callRowHeigth=20;

function callto(pNummer,pObj,pName)
{
    if(CalltoInvertval)window.clearTimeout(CalltoInvertval);
    calltoHide(); 
    if(typeof(pNummer)=='Object')
        pNummer=pNummer.value; 
    if(pNummer)
    if(pNummer.length>3) 
   { 
        if(lastCalltoNr==pNummer&false)
            oncallto(lastCalltoResult);
        else
        {
            if(typeof(pName)!='undefined')lastCallName=pName;
            else lastCallName="";
            lastCalltoNr=pNummer;
            DataService.GetVorwahlen(pNummer,oncallto);  
        }
   } 
}

function getCallRow(pVorw,pCallby,pNum,pTop)
{
    var res="<tr class=\"CalltoR\" onmouseover=\"callROver(this,1);\" onmouseout=\"callROver(this,0);\"><td class='CalltoI'><img src='../Images/Icons/Rufnr.ICO'></td><td class=\"CalltoC\"  onclick=\"docall('"+pVorw+pCallby+pNum+"');\">";
    if(pTop==1)res+="<b>";
     res+=pCallby
     if(pTop==1)res+="</b>";
     res+=" "+pNum+"</td></tr>";
     return res;
}

function getSMSRow(pVorw,pCallby,pNum,pTop)
{
    var res="<tr class=\"CalltoR\" onmouseover=\"callROver(this,1);\" onmouseout=\"callROver(this,0);\"><td class='CalltoI'><img src='../Images/Icons/SMSVersand.ICO'></td><td class=\"CalltoC\"  onclick=\"javascript:OpenListForm('fmSMSVersandWizard', 'TELENR="+pNum+"');\">";
    if(pTop==1)res+="<b>";
     res+=pCallby
     if(pTop==1)res+="</b>";
     res+=" "+pNum+"</td></tr>";
     return res;
}

function oncallto(pResult)
{
    if(pResult)
   { 
        calltoPos[0]=MouseX;
        calltoPos[1]=MouseY;
        lastCalltoResult=pResult;
        var CalltoDiv=document.getElementById('CalltoDiv');
        if(pResult.rows.length==1|CalltoDiv==null)
            docall(pResult.rows[0]["0"]+pResult.rows[0]["2"]);
        else if(pResult.rows.length>1)
        {
            var down=true;
            var calltop=calltoPos[1]+callRowHeigth;
            var windowHeight = GetWindowHeight();
            if(calltop+(pResult.rows.length+1)*callRowHeigth>windowHeight)
            {
                calltop=calltop-(pResult.rows.length+2)*callRowHeigth;
               down=false; 
            } 
            else
                calltop-=callRowHeigth;
            var table="<table cellspacing=0 cellpadding=0 class='CalltoT'  style='background-image:url(../images/clear.gif);'>";
            var header2=getCallRow(pResult.rows[0]["0"],"",pResult.rows[0]["2"],0); 
            var header=getSMSRow(pResult.rows[0]["0"],"",pResult.rows[0]["2"],0); 
            if(down)
            {
                table+=header;
                table+=header2;
                for(var i=0;i<pResult.rows.length;i++)
                    table+=getCallRow(pResult.rows[i]["0"],pResult.rows[i]["1"],pResult.rows[i]["2"],pResult.rows[i]["3"]); 
            } 
            else
            {
                for(var i=pResult.rows.length-1;i>=0;i--)
                    table+=getCallRow(pResult.rows[i]["0"],pResult.rows[i]["1"],pResult.rows[i]["2"],pResult.rows[i]["3"]);
                table+=header2; 
                table+=header;
            }
            table+="</table>";
            CalltoDiv.innerHTML=table;
            var newleft=calltoPos[0];
            CalltoDiv.style.left=newleft+"px";
            CalltoDiv.style.top=calltop+"px";
            CalltoDiv.style.visibility="visible";
            CalltoInvertval = window.setTimeout("calltoHide();", CalltoTime);   
        }
   }
}


function calltoHide()
{
      document.getElementById("CalltoDiv").style.visibility="hidden";
}

function calltoDivOver(pTyp)
{
    if(pTyp==1)
        {if(CalltoInvertval)window.clearTimeout(CalltoInvertval);}
    else
        CalltoInvertval = window.setTimeout("calltoHide();", CalltoTime);   
}

function callROver(pObj,pTyp)
{
    if(pTyp==1)
     pObj.className='CalltoRO';
    else
     pObj.className='CalltoR';
}

function docall(pNummer)
{
    DataService.SaveNummer(lastCalltoNr,lastCallName);  
    if(pNummer>'') document.location.href="callto:"+pNummer;
    return; 
}

