function hide(element)
{
	if (element && element.style)
		element.style.display = 'none';
}
function show(element)
{
	if (element && element.style)
		element.style.display = '';
}
function hideById(eid)
{
	var element;
	if (document.all)
		element = document.all[eid];
	else if (document.getElementById)
		element = document.getElementById(eid);

	if (element && element.style)
		element.style.display = 'none';
}
function showById(eid)
{
	var element;
	if (document.all)
		element = document.all[eid];
	else if (document.getElementById)
		element = document.getElementById(eid);

	if (element && element.style)
		element.style.display = '';
}

function findPos(obj)
{
	var curleft = curtop = 0;
	if (obj.offsetParent)
	{
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent)
		{
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function moveById(eid, left, top)
{
	var element;
	if (document.all)
		element = document.all[eid];
	else if (document.getElementById)
		element = document.getElementById(eid);

	if (element && element.style)
	{
		element.style.top = top;
		element.style.left = left;
	}
}

function getSize(obj)
{
	return [obj.offsetWidth,obj.offsetHeight];
}

function getCaretPos(el)
{
	if (typeof el.selectionStart != "undefined")
	{
		// For Firefox
		return [el.selectionStart,el.selectionEnd];
	}
	else if (document.selection)
	{
		// For IE
		var startPos = Math.abs(document.selection.createRange().moveStart("character", -1000000));
		var selectionLength = document.selection.createRange().text.length;
		//return [startPos, startPos+selectionLength]

		// For IE
		var startPos = Math.abs(document.selection.createRange().moveStart("character", -1000000));
		var selectionLength = document.selection.createRange().text.length;
		//return [startPos, startPos+selectionLength]

		var element = el;
		var range = document.selection.createRange();
		var stored_range = range.duplicate();
		stored_range.moveToElementText( element );
		stored_range.setEndPoint( 'EndToEnd', range );

		var startPos = stored_range.text.length - range.text.length;
		var endPos = startPos + range.text.length;
		return [startPos, endPos];
	}

}

function strInsertAt(mainString, insertString, pos)
{
	var buildString = mainString.substr(0, pos);
	buildString += insertString;
	buildString += mainString.substr(pos);
	return buildString;
}
