﻿BillboardIcon.prototype.xamlObject = null;
BillboardIcon.prototype.throb = null;
BillboardIcon.prototype.rootName = null;

function BillboardIcon(s, rootName)
{
    this.xamlObject = s.findname(rootName);
    this.rootName = rootName;
    
    this.throb = new RadarThrob();
    this.throb.Build();

    
    MainCanvas.children.add(this.throb.xamlObject);
    this.throb.xamlObject["Opacity"] = 0;
    
    var del2 = Silverlight.createDelegate(this, this.OnBBMouseEnter);
    var tok = this.xamlObject.addEventListener("MouseEnter", del2);
    
    var del3 = Silverlight.createDelegate(this, this.OnBBMouseLeave);
    var tok2 = this.xamlObject.addEventListener("MouseLeave", del3);
}

BillboardIcon.prototype.OnBBMouseEnter = function(sender, e)
{
    mainWindow.StopDragRotation();
    mainWindow.LockOutDragNavigation = true;
    
    if (this.throb.IsSparking() 
    //|| (this.lastSparked != null && sender.name == this.lastSparked.name) 
     )
    {
        return;
    }
    //dd("sparking " + this.rootName + " position = " + this.throb.xamlObject["Canvas.Left"]);
    
    this.lastSparked = sender;
    
    var throbAnim = this.throb.Spark(sender, 1);
    
    //throbAnim.baseAnimation.OnPostFractionScript = 
    //    function (frac) { dd("ll " + this.name); }
        
    throbAnim.Play();
}


BillboardIcon.prototype.OnBBMouseLeave = function(sender, e)
{
    mainWindow.StopDragRotation();
    mainWindow.LockOutDragNavigation = false;
}
