//
// Функция добавляет обработчик события независимо от платформы
//
function AddListener(strEvent/* String */, target/* Object */, listener/* Function */)
{
	if (target.attachEvent)
		target.attachEvent("on" + strEvent, listener);
	else if (target.addEventListener)
		target.addEventListener(strEvent, listener, false);
	else
		target["on" + strEvent] = listener;
}


//
// Функция возвращает отступ объекта слева от документа
//
function GetOffsetLeft(targetelement)
{
	var offset = 0;
	while (targetelement)
	{
		offset += targetelement.offsetLeft;
		targetelement = targetelement.offsetParent;
	}
	return offset;
}


//
// Функция возвращает отступ объекта сверху от документа
//
function GetOffsetTop(targetelement)
{
	var offset = 0;
	while (targetelement)
	{
		offset += targetelement.offsetTop;
		targetelement = targetelement.offsetParent;
	}
	return offset;
}


//
// Остановка распространения события
//
function StopPropagation(e)
{
	if (e.stopPropagation)
		e.stopPropagation();
	else 
		e.cancelBubble = true;
}
