function commentPreview(){
	var oCommentField = document.getElementById("textcomment");
	var oCommentPreview = document.getElementById("commentPreview");

	if(!(oCommentField && oCommentPreview)){
		return;
	}
	oCommentPreview.innerHTML = "<p>" + oCommentField.value.replace(/\[href][^\]]*\[\/href\]|\[a|\[\/a\]|https?:\/\/([-\w\.\#\?\&\%\;\=\-]+)+(:\d+)?(\/([\w\/_\.\#\?\&\%\;\=\-]*(\?\S+)?)?)?|\<|\>|\n|\[b\]|\[\/b\]|\[i\]|\[\/i\]|(\& )/gi, function (strMatch, p1){
		var strReturn = "";
		if(strMatch == "\n")
			strReturn = "<\/p><p>";
		else if(strMatch == "<")
			strReturn = "&lt;";
		else if(strMatch == ">")
			strReturn = "&gt;";
		else if(strMatch == "& ")
			strReturn = "&amp; ";
		else if(strMatch == "[b]")
			strReturn = "<b>";
		else if(strMatch == "[b]")
			strReturn = "<b>";
		else if(strMatch == "[\/b]")
			strReturn = "<\/b>";
		else if(strMatch == "[i]")
			strReturn = "<i>";
		else if(strMatch == "[\/i]")
			strReturn = "<\/i>";
		else if(strMatch == "[a")
			strReturn = "<a";
		else if(strMatch == "[\/a]")
			strReturn = "<\/a>";
		else if(/^\[href\]/.test(strMatch))
			strReturn = strMatch.replace("[href]", "href=\"").replace("[/href]", "\">");
		else if(/^http/.test(strMatch))
			strReturn = "{ <a href=\"" + strMatch + "\" title=\"Link: " + strMatch + "\">Link</a> }";

		return strReturn;
	}) + "<\/p>";
}

function commentFormat(v) { 
	var aTag = "";
	var eTag = "";
	if(/https?:\/\//.test(v)) {
		aTag = "[a [href]" + v + "[\/href]";
		eTag = "[\/a]";
	} else {
		aTag = "[" + v + "]";
		eTag = "[\/" + v + "]";
	}
	var oCommentField = document.getElementById("textcomment");

	if(!oCommentField)
		return;
		
	oCommentField.focus(); 

	if (typeof document.selection != "undefined") { 
		var range = document.selection.createRange(); 
		var insText = range.text; 
		range.text = aTag + insText + eTag; 
		range = document.selection.createRange(); 
		if (insText.length == 0) { 
			range.move("character", -eTag.length); 
		} else { 
			range.moveStart("character", aTag.length + insText.length + eTag.length); 
		} 
		
		range.select(); 
	} else if (typeof oCommentField.selectionStart != "undefined") { 
		var start = oCommentField.selectionStart; 
		var end = oCommentField.selectionEnd; 
		var insText = oCommentField.value.substring(start, end); 
		
		oCommentField.value = oCommentField.value.substr(0, start) + aTag + insText + eTag + oCommentField.value.substr(end); 

		var pos; 
		if (insText.length == 0) { 
			pos = start + aTag.length; 
		} else { 
			pos = start + aTag.length + insText.length + eTag.length; 
		} 

		oCommentField.selectionStart = pos;
		oCommentField.selectionEnd = pos; 
	}

	commentPreview();
}

function commentAddURL(v) {
	if(v == "")
		return;
	if(!(/https?:\/\//.test(v)))
		v = "http:\/\/" + v;
	commentFormat(v);
}
if(typeof(addEvent) == "function") {
	addEvent(window, "DOMContentLoaded", function() {
try {
		document.getElementById("anc1").className="hide";
} catch(e) {
}
		// fixBlankCommentNameLinks);
		var els = document.getElementsByTagName("dt");
		if(els.length)
			document.getElementById("anc1").className="";
		for(var i=0; i<els.length;i++){
			var as = els[i].getElementsByTagName("a");
			if(as.length > 0){
				var el=as[1];
				if(el.href.indexOf("none") > -1 || el.href == "http://tanny.ica.com/ica/tko/tkoblog.nsf/dx/#"){
					el.href="javascript:void(0)";
					el.title="Web site not provided.";
				}
			}
		}
	});

	addEvent(window, "DOMContentLoaded", function() {
		var oCommentField = document.getElementById("textcomment");
		var oCommentPreview = document.getElementById("commentPreview");
		if(!(oCommentField && oCommentPreview)){
			return;
		}

		// Unhide the comment form heading.
		document.getElementById("anc1").className="";
		document.getElementById("addcomment").className="";

		var oCommentNav = document.getElementById("commentNav")
		if(oCommentNav)
			oCommentNav.className = oCommentNav.className.replace(new RegExp("hide\\b"), "").replace("  ", " ");

		oCommentField.onkeyup = commentPreview;

		var oCommentHdr = document.getElementById("commentPreviewHdr");
		var oCommentName = document.getElementById("c-author");
		var oCommentUrl = document.getElementById("c-website");
		if(!(oCommentHdr && oCommentName && oCommentUrl))
			return;

		oCommentField.onfocus = oCommentName.onkeyup = oCommentUrl.onkeyup = function(){
			var sURL = oCommentUrl.value;
			var sTitle = "Web site not provided.";
			if(sURL == "")
				sURL = "javascript:void(0)";
			else
				sTitle = sURL;

			var d = new Date();
			var sAmPm = "PM";
			var iHours = d.getHours();
			if(iHours > 12)
				iHours -= 12;
			else if(iHours < 12){
				if(iHours == 0)
					iHours = 12;
				sAmPm = "AM";
			}
			oCommentHdr.innerHTML = '<span class="postno">' + document.getElementsByTagName("dt").length + '.</span> Posted at ' +
				padZero((d.getMonth()+1)) + '/' + padZero(d.getDate()) + '/' + d.getFullYear() + ' ' + 
				iHours + ':' + padZero(d.getMinutes()) + ':' + padZero(d.getSeconds()) + ' ' + sAmPm +
				' by <a href="' + sURL + '" title="' + sTitle + '">' + oCommentName.value + '</a>';
		};

	});
}


