var smf_formSubmitted = false;
var smf_images_url = "/images/blog/";
var smf_scripturl = "";
var allowed_attachments = 5 - 1;
var myTextArea = "";
//var myTextArea = document.postmodify.BottomContainer__ctl0_Edit_TextEditor_BlogMessage;


// Define document.getElementById for Internet Explorer 4.
if (typeof(document.getElementById) == "undefined")
	document.getElementById = function (id)
	{
		// Just return the corresponding index of all.
		return document.all[id];
	}
// Define XMLHttpRequest for IE 5 and above. (don't bother for IE 4 :/.... works in Opera 7.6 and Safari 1.2!)
else if (!window.XMLHttpRequest && window.ActiveXObject)
	window.XMLHttpRequest = function ()
	{
		return new ActiveXObject(navigator.userAgent.indexOf("MSIE 5") != -1 ? "Microsoft.XMLHTTP" : "MSXML2.XMLHTTP");
	};

// Some older versions of Mozilla don't have this, for some reason.
if (typeof(document.forms) == "undefined")
	document.forms = document.getElementsByTagName("form");


// Remember the current position.
function storeCaret(text)
{
	// Only bother if it will be useful.
	if (typeof(text.createTextRange) != "undefined")
		text.caretPos = document.selection.createRange().duplicate();
}

// Replaces the currently selected text with the passed text.
function replaceText(text, id)
{    
	textarea = document.getElementById(id);
	
	// Attempt to create a text range (IE).
	if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
	{
		var caretPos = textarea.caretPos;

		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
		caretPos.select();
	}
	// Mozilla text range replace.
	else if (typeof(textarea.selectionStart) != "undefined")
	{
		var begin = textarea.value.substr(0, textarea.selectionStart);
		var end = textarea.value.substr(textarea.selectionEnd);
		var scrollPos = textarea.scrollTop;

		textarea.value = begin + text + end;

		if (textarea.setSelectionRange)
		{
			textarea.focus();
			textarea.setSelectionRange(begin.length + text.length, begin.length + text.length);
		}
		textarea.scrollTop = scrollPos;
	}
	// Just put it on the end.
	else
	{
		textarea.value += text;
		textarea.focus(textarea.value.length - 1);
	}
}

// Surrounds the selected text with text1 and text2.
function surroundText(text1, text2, id)
{
	textarea = document.getElementById(id);
	
	// Can a text range be created?
	if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
	{
		var caretPos = textarea.caretPos, temp_length = caretPos.text.length;

		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text1 + caretPos.text + text2 + ' ' : text1 + caretPos.text + text2;

		if (temp_length == 0)
		{
			caretPos.moveStart("character", -text2.length);
			caretPos.moveEnd("character", -text2.length);
			caretPos.select();
		}
		else
			textarea.focus(caretPos);
	}
	// Mozilla text range wrap.
	else if (typeof(textarea.selectionStart) != "undefined")
	{
		var begin = textarea.value.substr(0, textarea.selectionStart);
		var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
		var end = textarea.value.substr(textarea.selectionEnd);
		var newCursorPos = textarea.selectionStart;
		var scrollPos = textarea.scrollTop;

		textarea.value = begin + text1 + selection + text2 + end;

		if (textarea.setSelectionRange)
		{
			if (selection.length == 0)
				textarea.setSelectionRange(newCursorPos + text1.length, newCursorPos + text1.length);
			else
				textarea.setSelectionRange(newCursorPos, newCursorPos + text1.length + selection.length + text2.length);
			textarea.focus();
		}
		textarea.scrollTop = scrollPos;
	}
	// Just put them on the end, then.
	else
	{
		textarea.value += text1 + text2;
		textarea.focus(textarea.value.length - 1);
	}
}

function focusEditor(id)
{
	textarea = document.getElementById(id);
	
	textarea.focus(textarea.caretPos);
	
}
// Checks if the passed input's value is nothing.


// Only allow form submission ONCE.
function submitThisOnce(form)
{
	// Hateful, hateful fix for Safari 1.3 beta.
	if (navigator.userAgent.indexOf('AppleWebKit') != -1)
		return !smf_formSubmitted;

	if (typeof(form.form) != "undefined")
		form = form.form;

	for (var i = 0; i < form.length; i++)
		if (typeof(form[i]) != "undefined" && form[i].tagName.toLowerCase() == "textarea")
			form[i].readOnly = true;

	return !smf_formSubmitted;
}

// Set the "inside" HTML of an element.
function setInnerHTML(element, toValue)
{
	// IE has this built in...
	if (typeof(element.innerHTML) != 'undefined')
		element.innerHTML = toValue;
	// Otherwise, try createContextualFragment().
	else
	{
		var range = document.createRange();
		range.selectNodeContents(element);
		range.deleteContents();
		element.appendChild(range.createContextualFragment(toValue));
	}
}

// Set the "outer" HTML of an element.
function setOuterHTML(element, toValue)
{
	if (typeof(element.outerHTML) != 'undefined')
		element.outerHTML = toValue;
	else
	{
		var range = document.createRange();
		range.setStartBefore(element);
		element.parentNode.replaceChild(range.createContextualFragment(toValue), element);
	}
}



function bbc_highlight(something, mode)
{
	something.style.backgroundImage = "url(" + smf_images_url + (mode ? "bbc_hoverbg.gif)" : "bbc_bg.gif)");
}


function addAttachment()
{
	var layer;
	var layerName;
	if (allowed_attachments == 4)
	{
		layerName = 'DisplayAttachment2';		
	}
	else if (allowed_attachments == 3)
	{
		layerName = 'DisplayAttachment3';
	}
	else if (allowed_attachments == 2)
	{
		layerName = 'DisplayAttachment4';
	}
	else if (allowed_attachments == 1)
	{
		layerName = 'DisplayAttachment5';
	}
	else if (allowed_attachments <= 0)
	{
		return alert("Sorry, you aren't allowed to post any more attachments.");
	}
	
		layer = FindLayerStyle(layerName)
		layer.display = 'block';

	
	//setOuterHTML(document.getElementById("moreAttachments"), '<br /><input type="file" size="48" name="attachment[]" class=\"fileUpload92\" /><span id="moreAttachments"></span>');
	allowed_attachments = allowed_attachments - 1;

	return true;
}

function FindLayer(l,base)
{
	if(document.all) return document.all[l];
	else if(document.getElementById) return document.getElementById(l);
	else if(document.layers)
	{
		if(!base)base=document.layers;
		if( base[l] ) return base[l];
		for(var i in base) if(base[i]&&base[i].document&&base[i].document.layers)
		{
			var t = FindLayer(l,base[i].document.layers);
			if(t) return t;
		}
	}
	return null;
}

function FindLayerStyle(l)
{
	var t=FindLayer(l);
	if( t )
	{
		if( t.style ) return t.style;
		return t;
	}
	return null;
}