
function insertAtCursor(myField, myValue) {
	//IE support
	if (document.selection) {
		myField.focus();
		sel = document.selection.createRange();
		sel.text = myValue;
	}
	//MOZILLA/NETSCAPE support
	else if (myField.selectionStart || myField.selectionStart == '0') {
		var scrollHeight = myField.scrollTop;
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		myField.value = myField.value.substring(0, startPos)
		+ myValue
		+ myField.value.substring(endPos, myField.value.length);
		setCaretPosition(myField, endPos + myValue.length);
		myField.scrollTop = scrollHeight;
	} else {
		myField.value += myValue;
	}
	
	
}

/**
 * Wrap the selected text in elem with opening and closing string provided.
 * If no text is selected the opening and closing strings will be inserted
 * with blank contents
 */
function wrapSelection(elem, strOpen, strClose) {
	// IE
	if (document.selection) {
		elem.focus();
		sel = document.selection.createRange();
		//var startPos = getCaretPosition(elem);
		//alert(startPos);
		if (sel.text != '') {
			var selectedText = sel.text;
			if (selectedText.substr(selectedText.length - 1, 1) == ' ') {
				selectedText = selectedText.substr(0, selectedText.length - 1);
				strClose += ' ';
			}
			sel.text = strOpen + selectedText + strClose;
			//setCaretPosition(elem, startPos + strOpen.length);
		} else {
			sel.text = strOpen + strClose;
		}
	}
	// Firefox
	else if (elem.selectionStart || elem.selectionStart == '0') {
		var startPos = elem.selectionStart;
		var endPos = elem.selectionEnd;
		var selectedText = elem.value.substring(startPos, endPos);
		if (selectedText.substring(selectedText.length - 1, selectedText.length) == ' ') {
			selectedText = selectedText.substring(0, selectedText.length - 1);
			strClose += ' ';
		}
		elem.value = elem.value.substring(0, startPos) + strOpen + selectedText + strClose + elem.value.substring(endPos, elem.value.length);

		//setCaretPosition(elem, startPos + strOpen.length);
	}
}


/*function getCaretPosition(ctrl) {

	var CaretPos = 0;
	// IE Support
	if (document.selection) {

		ctrl.focus ();
		var Sel = document.selection.createRange ();

		Sel.moveStart ('character', -ctrl.value.length);

		CaretPos = Sel.text.length;
	}
	// Firefox support
	else if (ctrl.selectionStart || ctrl.selectionStart == '0')
		CaretPos = ctrl.selectionStart;

	return (CaretPos);
}
*/

function setCaretPosition(ctrl, pos)
{
	if(ctrl.setSelectionRange)
	{
		ctrl.focus();
		ctrl.setSelectionRange(pos,pos);
	}
	else if (ctrl.createTextRange) {
		var range = ctrl.createTextRange();
		range.collapse(true);
		range.moveEnd('character', pos);
		range.moveStart('character', pos);
		range.select();
	}
}

/**
 * Function to keep the values of the two drop-down menus the same on the Latest Activity page.
 * Added by Philip Rose <philip.rose@readingroom.com> 27/08/2008.
 */

function standardiseMenuValues(e)
{
	e = e || window.event;
	var element = e.target || e.srcElement;
	var index = element.selectedIndex;
	document.getElementById('activityTime').selectedIndex = index;
	document.getElementById('activityTime2').selectedIndex = index;

}


