function addUBB(start, end, textField)
{    
    //Mozilla/Firefox
    if(window.getSelection) 
	{	
		var startSelection = document.getElementById(textField).selectionStart;
		var endSelection = document.getElementById(textField).selectionEnd;
		
		var text = document.getElementById(textField).value;
	  	var UBBtext = text.substring(0, startSelection) + start + text.substring(startSelection, endSelection) + end + " " + text.substring(endSelection, text.length);

	  	document.getElementById(textField).value = UBBtext;
		document.getElementById(textField).focus();	
	} 
	
	//Internet Explorer
	else if(document.selection && document.selection.createRange) 
	{			
		var text = document.selection.createRange().text;
		
		if(text != "")
		{		
			document.selection.createRange().text = " " + start + text + end + " ";
			document.getElementById(textField).focus();
		}
		else
		{
			document.getElementById(textField).value += " " + start + text + end + " ";
		}
	}
	
	//Other browsers
	else
	{
		document.getElementById(textField).value += " " + start + end + " ";
		document.getElementById(textField).focus();
	}
}


function process_form(the_form)
{
	var element_names = new Object()
	element_names["req_username"] = "Username"
	element_names["req_password"] = "Password"

	if (document.all || document.getElementById)
	{
		for (i = 0; i < the_form.length; ++i)
		{
			var elem = the_form.elements[i]
			if (elem.name && elem.name.substring(0, 4) == "req_")
			{
				if (elem.type && (elem.type=="text" || elem.type=="textarea" || elem.type=="password" || elem.type=="file") && elem.value=='')
				{
					alert("\"" + element_names[elem.name] + "\" is a required field in this form.")
					elem.focus()
					return false
				}
			}
		}
	}

	return true
}

function validateContestForm(errorMessageField)
{
	var num_questions = document.getElementById('num_questions').value;
	var validate_answers = document.getElementById('validate_answers').value;
	var ok_answers = false;
	
	if(validate_answers > 0)
	{		
		for(var count = 1; count <= num_questions; count++)
		{
			if(validateTextField(document.getElementById('answer_' + count).value))
			{
				ok_answers = true;
			}
		}
	}
	else
	{
		ok_answers = true;
	}
	
	if(ok_answers)
	{
		if(validateTextField(document.getElementById('address').value))
		{
			return true;
		}
		else
		{
			document.getElementById(errorMessageField).firstChild.nodeValue = "Please fill in your mailing address.";
			return false;
		}
	}
	else
	{
		document.getElementById(errorMessageField).firstChild.nodeValue = "Please make sure all questions are answered.";
		return false;
	}	
}


function validateCommentForm(errorMessageField)
{
	var title = document.getElementById('title').value;
	var comment = document.getElementById('txt_ubb_field').value;
	
	if(!validateTextField(title))
	{
		document.getElementById(errorMessageField).firstChild.nodeValue = "Make sure the 'title' field is not empty.";
		return false;
	}
	else if(comment == "")
	{
		document.getElementById(errorMessageField).firstChild.nodeValue = "Fill in a comment/opinion please.";
		return false;
	}
	else
	{
		//seperating text for [quote]
		countOpeningTags = comment.split("[quote]").length;	
		countClosingTags = comment.split("[/quote]").length;
		
		if(countOpeningTags == countClosingTags)
		{
			return true;
		}
		else
		{
			document.getElementById(errorMessageField).firstChild.nodeValue = "Please make sure all open [quote]-tags are closed.";
			return false;
		}
	}
}

function validateTextField(value)
{
	var valueRegEx = /[a-z\s]+/i;
	return valueRegEx.exec(value);
}