window.onload = initializeNoDoubleClick;

function initializeNoDoubleClick() {
	inputElements = document.getElementsByTagName('input');
	arrayLength = inputElements.length;
	for (i=0;i<arrayLength;i++) { //go through each input element
		if (inputElements[i].type == 'submit') { //if it's a submit button and doesn't have onclick specified...
			if (!inputElements[i].onclick) {
				inputElements[i].onclick = function() {noDoubleClick(this);}; //set onclick to 'noDoubleClick', passing submit button
			}
		}
	}
}

function noDoubleClick(inputElement, alternateText) {
	inputElement.disabled = 'true';
	if (alternateText) {
		inputElement.value = alternateText;
	}
	inputElement.form.submit();
}

function insertTag(myField, openTag, closeTag) {
	if (!myField.value) {
		myField = document.getElementById(myField);
	}
	
	if (document.selection) { //IE support
		myField.focus();
		sel = document.selection.createRange();
		sel.text = openTag+sel.text+closeTag;
		myField.blur();
	}else if (myField.selectionStart || myField.selectionStart == 0) { 	//MOZILLA/NETSCAPE support
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		myField.value = myField.value.substring(0, startPos)
			+ openTag + myField.value.substring(myField.selectionStart, myField.selectionEnd)
			+ closeTag +myField.value.substring(endPos, myField.value.length);
		myField.selectionStart = startPos + openTag.length;
		myField.selectionEnd = endPos + openTag.length;
		myField.focus();
	} else {
		myField.value += openTag+closeTag;
	}
}

function insertLinkTag(field) {
	insertTag(field, '[link=""]', '[/link]')
}

function insertEmailTag(field) {
	insertTag(field, '[email=""]', '[/email]')
}

function insertTabTag(field) {
	insertTag(field, '[tab="2"]', '[/tab]')
}