﻿function SourceMouseIn(e, id)
{
	if (!e) var e = window.event;
	var cell = document.getElementById("sourceImage_" + id);
	var pos = CalcPos(cell);
	var mousePos = CalMousePos(e);
	var zoomPercent = GetZoomPercent();

	if (mousePos.x < pos.x ||
		mousePos.x > (pos.x + (cell.clientWidth*zoomPercent) + 1) ||
		mousePos.y < pos.y ||
		mousePos.y > (pos.y + (cell.clientHeight*zoomPercent) + 1)) return;

	ToggleSourceImage(id, true);
}
function SourceMouseOut(e, id)
{
	if (!e) var e = window.event;
	var cell = document.getElementById("sourceImage_" + id);
	var pos = CalcPos(cell);
	var mousePos = CalMousePos(e);
	var zoomPercent = GetZoomPercent();
	
	if (mousePos.x > (pos.x + 1) &&
		mousePos.x < (pos.x + (cell.clientWidth*zoomPercent)) &&
		mousePos.y > (pos.y + 1) &&
		mousePos.y < (pos.y + (cell.clientHeight*zoomPercent))) return;

	ToggleSourceImage(id, false);
}
function SourceFocus(e, id)
{
	ToggleSourceImage(id, true);
}
function SourceBlur(e, id)
{
	if (!e) var e = window.event;
	var cell = document.getElementById("sourceImage_" + id);
	var target = e.explicitOriginalTarget || document.activeElement;
	if (containsTag(cell, target)) return;

	ToggleSourceImage(id, false);
}
function ToggleSourceImage(id, value)
{
	var actionsBar = document.getElementById("sourceActions_" + id);
	if (actionsBar) actionsBar.style.display = (value ? 'block' : 'none');

	var sourceTypeBar = document.getElementById("attribIcon_" + id);
	if (sourceTypeBar && actionsBar) sourceTypeBar.style.display = (value ? 'none' : 'block');

	var cell = document.getElementById("sourceImage_" + id);
	cell.className = (value ? "SourceImageActive" : "SourceImage");
}