function getSiteLink (obj) {
	var text = prompt("Enter the URL here:", "http://");
	insertAtCaret(obj, "<A href=\"" + text + "\">", "</A>");
}

function getImageLink (obj) {
	var text = prompt("Enter image URL here:", "http://");
	insertAtCaret(obj, "<img src=\"" + text + "\" />");
}

function insertAtCaret(obj, starttag, endtag) {
	var text = starttag + (endtag ? endtag : "");
	
	if(document.selection) {
		obj.focus();
		var orig = obj.value.replace(/\r\n/g, "\n");
		var range = document.selection.createRange();

		if(range.parentElement() != obj) {
			return false;
		}

		range.text = text;
		var actual = tmp = obj.value.replace(/\r\n/g, "\n");

		for(var diff = 0; diff < orig.length; diff++) {
			if(orig.charAt(diff) != actual.charAt(diff)) break;
		}

		for(var index = 0, start = 0; tmp.match(text) && (tmp = tmp.replace(text, "")) && index <= diff; index = start + text.length) {
			start = actual.indexOf(text, index);
		}
			
	} else if(obj.selectionStart) {
		var start = obj.selectionStart;
		var end   = obj.selectionEnd;

		obj.value = obj.value.substr(0, start) + text + obj.value.substr(end, obj.value.length);
	}
		
	if(start != null) {
		setCaretTo(obj, start + starttag.length);
	} else {
		obj.value += text;
	}
}
	
function setCaretTo(obj, pos) {
	if(obj.createTextRange) {
		var range = obj.createTextRange();
		range.move('character', pos);
		range.select();
	} else if(obj.selectionStart) {
		obj.focus();
		obj.setSelectionRange(pos, pos);
	}
}

function isblank(s) {
	for (var i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if ((c != ' ') && (c != '\n') && (c != '\t'))
			return(false);
	}
	return(true);
}

function postverify(post) {
	var p;
	var badtext = /href.*http/i;
	for (var i = 0; i < post.length; i++) {
		p = post.elements[i];
		if (p.name == 'subject') {
			if ((p.value == null) || (p.value == '') || isblank(p.value)) {
				alert("You forgot to type in a subject.");
				return(false);
			} else if (p.value.match(badtext) != null) {
				alert("href and http are not allowed in the subject.");
				return(false);
			}
		}
	}
	return(true);
}


