var tooltipText = new Array();
tooltipText[0] = "Programmeertalen";
tooltipText[1] = "Webdevelopment";
tooltipText[2] = "Database";
tooltipText[3] = "Office-development";
tooltipText[4] = "Server/client";
tooltipText[5] = "Mobile";

var fadeTip;
var _tooltipBackground;
var _tooltipText;

function doTooltip(sender, args) {
	sender.findName("closeTooltip").stop();	
	
	// set up references to the tooltip object
	_tooltipBackground = sender.findName("tooltipBackground");
	_tooltipText = sender.findName("tooltipText");
	_timer = sender.findName("timer");
	_host = sender.getHost();
	
	_tooltipBackground.Opacity = 1;
	_tooltipText.Opacity = 1;
	
	// grab the parent object
	_parent = sender.getParent();

	// locate the object preceeding the object that
	// was just moused over
    for (i = 0; i < _parent.children.count; i++)
    {
        var child = _parent.children.getItem(i);
		
		if (child.name == sender.name) {
			var tipObject = i-1;
			break;
		}
    }
	
	// split the name of the object that was acquired to
	// get the appropriate tooltip to display
	var tipArray = _parent.children.getItem(tipObject).name.split("Tooltip");
	
	// grab the tip to display
	var tipToDisplay = tipArray[1];
	var textToDisplay = tooltipText[tipToDisplay];
	
	// assign the tooltip text to the text box
	// and calculate the actual width of the text
	// (6 added to pad the right side)
	_tooltipText.text = textToDisplay;
	var textWidth = _tooltipText.ActualWidth + 6;
	var textHeight = _tooltipText.ActualHeight;

	// get the mouse's xy coordinates	
	xPosition = args.getPosition(null).x;
	yPosition = args.getPosition(null).y;
	
	// make sure the tip doesn't go off canvas to the right or top
	if (xPosition > (_host.content.actualWidth / 2)) {
		xPosition -= textWidth;
	}

	if (yPosition < textHeight) {
		yPosition += textHeight;
	}
	
	//display the tip
	_tooltipBackground["Canvas.Left"] = xPosition - 3;
	_tooltipBackground["Canvas.Top"] = yPosition - 12;
	_tooltipText["Canvas.Left"] = xPosition;
	_tooltipText["Canvas.Top"] = yPosition - 10;
	_tooltipBackground.width = textWidth;
	_tooltipBackground.Visibility = "Visible";
	_tooltipText.Visibility = "Visible";

	// start the timer that hides the tip if the mouse
	// stays over a given object
	_timer.begin();
	fadeTip = _timer.addEventListener("completed", fadeTooltip);

}

function fadeTooltip(sender, args) {
	sender.findName("closeTooltip").begin();
	_timer.removeEventListener("completed", fadeTip);
}

function closeTooltip(sender, args) {
	_tooltipBackground.Visibility = "Collapsed";
	_tooltipText.Visibility = "Collapsed";
}


function insertTips(sender) {
    
	_root = sender;
    var plugin = _root.getHost();

    var timerFragment = '<Rectangle Visibility="Collapsed" Name="timerRectangle" Width="1" Height="1" Fill="#FFFFFFff" Canvas.Left="0" Canvas.Top="0"/>';
    var addTimer = plugin.content.createFromXaml(timerFragment);
    _root.children.add(addTimer);
	
    var tooltipBackgroundFragment = '<Rectangle IsHitTestVisible="False" Name="tooltipBackground" Width="165" Height="18" Fill="#FFFFFFE1" Stroke="#FF000000" Canvas.Left="8" Canvas.Top="7" Visibility="Collapsed"/>';
    var addtooltipBackground = plugin.content.createFromXaml(tooltipBackgroundFragment);
    _root.children.add(addtooltipBackground);	
	
    var tooltipTextFragment = '<TextBlock IsHitTestVisible="False" Name="tooltipText" Width="100" Height="22" Canvas.Left="17" Canvas.Top="8" FontFamily="Verdana" FontSize="12" Text="TextBlock" TextWrapping="NoWrap" Visibility="Collapsed"/>';
    var addtooltipText = plugin.content.createFromXaml(tooltipTextFragment);
    _root.children.add(addtooltipText);

}