/* Comment form author information hider */

function show_utils() {
	new Effect.BlindDown($("authorinfo"));
	$("showinfo").style.display = "none";
	$("hideinfo").style.display = "";
}
	
function hide_utils() {
	new Effect.BlindUp($("authorinfo"));
	$("showinfo").style.display = "";
	$("hideinfo").style.display = "none";
}

/* AJAX based commenting */

function comment_added(request, preview)
{
	new Effect.BlindDown($('commentlist').lastChild);
	if(preview != 1)
	{
		$('comment').value = '';
		$('comment').focus();
	}
}

function comment_failure(request)
{
	$('errors').innerHTML = request.responseText;
	if($('errors').style.display == "none")
	{
		new Effect.BlindDown($("errors"));
	}
	new Effect.Highlight('errors');
}

function comment_loading()
{
	$('submit').disabled = true;
	Element.show('comment_loading');
}

function comment_complete(request, preview)
{
	Element.hide('comment_loading');
	Element.show('commentform');
	$('submit').disabled = false;  

	if (request.status == 200)
	{
		comment_added('',preview);
	}
}


function delete_preview()
{
	if ($("comment_preview")) {
		previewWindow =$("comment_preview");
		new Effect.BlindUp(previewWindow);
		Element.remove(previewWindow);
	}
}

function post_comment()
{
	delete_preview();
	errorMsg = $("errors");
	if(errorMsg.style.display != "none")
	{
		$("errors").style.display = "none";
	}
	new Ajax.Updater({success:'commentlist'}, theme_base+'/ajax_comments.php', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(request){comment_complete(request)}, onFailure:function(request){comment_failure(request)}, onLoading:function(request){comment_loading()}, parameters:Form.serialize(document.getElementById("commentform"))});
	return false;
}

function preview_comment()
{
	delete_preview();
	errorMsg = $("errors");
	if(errorMsg.style.display != "none")
	{
		new Effect.BlindUp(errorMsg);
	}
	new Ajax.Updater({success:'commentlist'}, theme_base+'/ajax_comments.php?preview=1', {asynchronous:true, evalScripts:true, insertion:Insertion.Bottom, onComplete:function(request){comment_complete(request, 1)}, onFailure:function(request){comment_failure(request)}, onLoading:function(request){comment_loading()}, parameters:Form.serialize(document.getElementById("commentform"))});
	return false;
}

/* Quick quote comments */
function quote_comment(comment_id)
{
	post = $("qq"+comment_id);
	if(!post)
	{
		return false;
	}
	commentBox = $("comment");
	commentBox.value += "<blockquote>\n"+unHTMLchars(post.innerHTML)+"</blockquote>\n\n";
	commentBox.focus();
}

function unHTMLchars(text)
{
	text = text.replace(/&lt;/, "<");
	text = text.replace(/&gt;/, ">");
	text = text.replace(/&amp;/, "&");
	return text;
}

function attachListener(element, type, listener)
{
	if(element.addEventListener)
	{
		element.addEventListener(type, listener, false);
	}
	else
	{
		element.attachEvent("on"+type, listener, false);
	}
}

/* Search box value replacement */

function surfi_search_init()
{
	var s = $("s");
	s.autocomplete = "off";
	if(search_text != "")
	{
		s.value = search_text;
	}
	else
	{
		s.value = "Search Blog Archives";
		s.style.fontWeight = "bold";
		s.style.textAlign = "center";
		$("searchsubmit").disabled = "disabled";
	}
	var searchform = $("searchform");
	searchform.onsubmit = function() { surfi_search_perform(); return false; };
	attachListener(s, "focus", surfi_search_focus);
	var spinner = document.createElement("img");
	spinner.src = "/wp-content/themes/surfionline/images/spinner.gif";
	spinner.style.display = "none";
	spinner.id = "results_loading";
	spinner.className = "alignright rss";
	spinner.style.paddingLeft = "10px";
	spinner.style.paddingTop = "3px";
	searchset = searchform.getElementsByTagName("fieldset");
	searchset[0].id = "searchset";
	input = searchset[0].getElementsByTagName("div");
	searchset[0].insertBefore(spinner, input[0]);
}

function surfi_search_focus()
{
	var s = $("s");
	s.value = "";
	s.style.fontWeight = "normal";
	s.style.textAlign = "";
	s.style.color = "";
	$("searchsubmit").disabled = "";
}

function surfi_search_perform()
{
	var s = $("s");
	var search_query = "q="+escape(s.value);
	var request = new Ajax.Request("/wp-content/plugins/surfisearch/dosearch.php", {method: "post", parameters: search_query, onComplete:surfi_search_display, onFailure:surfi_search_failure});
	new Effect.Appear("results_loading", {duration: 0.5});
}

function surfi_search_failure(request)
{
	var s = $("s");
	new Effect.Highlight("s", {restorecolor: true});
	s.value = request.responseText;
	s.style.fontWeight = "bold";
	s.style.textAlign = "center";
	s.style.color = "#951E21";
	$("searchsubmit").disabled = "disabled";
}

function surfi_search_close()
{
	new Effect.BlindUp("search_results", {duration: 1});
}

function surfi_search_display(request)
{
	new Effect.Fade("results_loading", {duration: 0.5});
	if (request.status == 200)
	{
		$("search_results").innerHTML = request.responseText;
		new Effect.BlindDown("search_results", {duration: 1});
	}
}
attachListener(window, "load", surfi_search_init);
