wf.functionName_formValidation = "Comments.myCustomValidation";	
var rowClass;
var rowColor;

var Comments = {
	 addEvent: function(elm, evType, fn, useCapture) {
		 if (elm.addEventListener) {
			 elm.addEventListener(evType, fn, useCapture);
			 return true;
		 } else if (elm.attachEvent) {
			 var r = elm.attachEvent('on' + evType, fn);
			 return r;
		 } else {
			 elm['on' + evType] = fn;
		 }
	 },
	
	myCustomValidation: function(evt) {
	   var formElement = wf.utilities.getSrcElement(evt); 
	   if (formElement.name == "comments_form") {
		if (!commenter_name) Comments.setReqFlds();
		if (wf.formValidation(evt)) new Ajax.Updater('readcomments', '/mt/mt-com.fcgi',{onLoading:function(request){Comments.item_loading()},onComplete:function(request){Comments.item_added(request)},parameters:Form.serialize(document.comments_form), insertion:Insertion.Bottom, asynchronous:true});
	        return wf.utilities.XBrowserPreventEventDefault(evt);
           }
	},
	
	item_added: function(request) {

                /*
                alert(request.responseText);
                alert(request.status);
                */

		new Effect.Fade('progress_comments');
		document.comments_form.post.disabled = false;
		document.comments_form.text.disabled = false;
		document.comments_form.email.disabled = false;
		document.comments_form.url.disabled = false;
		document.comments_form.author.disabled = false;
		
                // if successful
                if (request.status >= 200 && request.status < 300) {
                   
                   document.comments_form.text.value = '';

		   if (!document.comments_form.bakecookie.checked) {
			document.comments_form.email.value = '';
			document.comments_form.author.value = '';
			document.comments_form.url.value = '';
		
		   }
		   document.getElementById('previewText').innerHTML = '<em>Your preview will show up here. Start typing!</em>';
                   var tempAuthor = "Posted by ";
		(commenter_name) ? tempAuthor += commenter_name : tempAuthor += document.comments_form.author.value;
		document.getElementById('previewAuthor').innerHTML = tempAuthor;
               
                 }
	
		(numcmts % 2) ? rowClass = "evencom" : rowClass = "oddcom";
		numcmts++;
		
		var last_comment = Comments.getLastComment();
		var new_comment = document.getElementById(last_comment);
		new_comment.className = rowClass;

		//if (rowClass == "evencom") new_comment.style.backgroundColor = rowColor;
		//new Effect.Highlight(last_comment);

		var endColor = "";
		(rowClass == "evencom") ? endColor = rowColor : endColor = "#ffffff";
		new Effect.Highlight(last_comment, {startcolor:'#ffff99', endcolor:endColor});	
		var ordername = last_comment.replace(/comment-/,"order-");
		document.getElementById(ordername).innerHTML = numcmts;
	},
	
	item_loading: function() {
		// kill the form buttons, show a loading indicator...
		document.comments_form.post.disabled = true;
		document.comments_form.text.disabled = true;
		document.comments_form.email.disabled = true;
		document.comments_form.url.disabled = true;
		document.comments_form.author.disabled = true;
		new Effect.Appear('progress_comments');
		if (document.comments_form.bakecookie.checked) rememberMe(document.comments_form);
	},

	getLastComment: function() {
		var comments_section = document.getElementById("readcomments");
		var oDiv = comments_section.getElementsByTagName("div");
		
		var oDiv = document.getElementById('readcomments');
		if(oDiv.lastChild) { // check for children
   			var oChild = oDiv.lastChild;
   			while(oChild) { // run over them
     			if(oChild.nodeType==1) { // element
     				var temp_id = oChild.id;
     			    if (temp_id.match("comment-")) return oChild.id;
     			}
     			oChild = oChild.previousSibling;
   			}
		}
	
	},
	
	livePreview: function() {
		var tempText = document.comments_form.text.value.replace(/(\r\n|\n)/g,'<br />');
		document.getElementById('previewText').innerHTML = "<p>" + tempText + "</p>";
		var tempAuthor = "Posted by ";
		(commenter_name) ? tempAuthor += commenter_name : tempAuthor += document.comments_form.author.value;
		document.getElementById('previewAuthor').innerHTML = tempAuthor;
		
	},	

	setReqFlds: function() {
		
				var c_email = document.getElementById("comment-email");
		
				var c_author = document.getElementById("comment-author");

			
				var c_email_error = document.getElementById("comment-email-E");
			
				var c_author_error = document.getElementById("comment-author-E");

				
		if (!c_email_error) c_email.className="validate-email required";
				
		if (!c_author_error) c_author.className="required";
	},
	
	init: function(clr) {		
		rowColor = clr;
	}
};
	