var node_opacity = {};
var node_st = {};

window.onerror = function(msg, url, linenumber) {
	// alert(msg + "--" + url + "--" + linenumber);
};

function show_node(node_id) {
	try {
		var block = $(node_id);
		block.style.display = 'block';

		var x = window.pageXOffset;
		var y = window.pageYOffset;

		if (navigator.appVersion.indexOf('MSIE') != -1) {
			op = getPageEventCoords(block);
			x = op.left;
			y = op.top;
		}

		block.style.top = y + "px";
		block.style.left = "100px";

		if (node_id == 'send_message__new') {
			window.scrollTo(x, y + 120);
			if (window.document.URL.indexOf("message_contacts") != -1)
				block.style.left = "500px";
		} else
			window.scrollTo(x, y + 80);

		node_opacity[node_id] = 0;

		if (navigator.appVersion.indexOf('MSIE') != -1)
			ie_show_div(node_id);
		else
			moz_show_div(node_id);

	} catch (e) {
		// alert(e.message);
	}
}

function ie_show_div(node_id) {
	var block = $(node_id);

	clearTimeout(node_st[node_id]);

	if (node_opacity[node_id] < 100) {
		node_st[node_id] = setTimeout('ie_show_div(\'' + node_id + '\')', 10);

		node_opacity[node_id] += 30;

		block.style.filter = 'alpha(opacity=' + node_opacity[node_id] + ')';
	} else
		block.style.filter = 'alpha(opacity=100)';
}

function moz_show_div(node_id) {
	var block = $(node_id);

	clearTimeout(node_st[node_id]);

	if (node_opacity[node_id] < 1) {
		node_st[node_id] = setTimeout('moz_show_div(\'' + node_id + '\')', 30);

		node_opacity[node_id] += 0.1;

		block.style.opacity = node_opacity[node_id];
	} else
		block.style.opacity = '1';
}

function hide_node(node_id) {
	if (navigator.appVersion.indexOf('MSIE') != -1)
		ie_hide_node(node_id);
	else
		moz_hide_node(node_id);
}

function moz_hide_node(node_id) {
	var block = $(node_id);

	clearTimeout(node_st[node_id]);

	if (node_opacity[node_id] > 0) {
		node_st[node_id] = setTimeout('moz_hide_node(\'' + node_id + '\')', 30);

		node_opacity[node_id] -= 0.1;

		block.style.opacity = node_opacity[node_id];
	} else {
		block.style.opacity = '0';
		block.style.display = 'none';
	}
}

function ie_hide_node(node_id) {
	var block = $(node_id);

	clearTimeout(node_st[node_id]);

	if (node_opacity[node_id] > 0) {
		node_st[node_id] = setTimeout('ie_hide_node(\'' + node_id + '\')', 10);

		node_opacity[node_id] -= 30;

		block.style.filter = 'alpha(opacity=' + node_opacity[node_id] + ')';
	} else {
		block.style.filter = 'alpha(opacity=0)';
		block.style.display = 'none';
	}
}

function getPageEventCoords(evt) {
	var coords = {
		left : 0,
		top : 0
	};
	if (evt.pageX) {
		coords.left = evt.pageX;
		coords.top = evt.pageY;
	} else if (evt.clientX) {
		coords.left = evt.clientX + document.body.scrollLeft
				- document.body.clientLeft;
		coords.top = evt.clientY + document.body.scrollTop
				- document.body.clientTop;
		// include html element space, if applicable
		if (document.body.parentElement
				&& document.body.parentElement.clientLeft) {
			var bodParent = document.body.parentElement;
			coords.left += bodParent.scrollLeft - bodParent.clientLeft;
			coords.top += bodParent.scrollTop - bodParent.clientTop;
		}
	}
	return coords;
}