function set_select_value (field_name, field_value)
{
        for (i = 0; i < field_name.length; i ++)
	{
		if (field_name.options[i].value == field_value && field_name.options[i].value != "")
		{
			field_name.selectedIndex = i;
			return true;
		}
	}
	return false;
}

function space_escape (input)
{
	var space_reg = /\s/g;
	var space_replacement = "%20";
	var lf_cr_reg = /\r\n/g;
	var lf_cr_replacement = "%0A%0D";
	var output = input.replace (lf_cr_reg, lf_cr_replacement);
	var output = output.replace (space_reg, space_replacement);
        return output;
}

function confirm_action (message, URL)
{
	if (confirm (message))
	{
		window.location.href = URL;
		return true;
	}
	return false;
}

function insert (textarea)
{
	if (document.getSelection)
	{
		selection = document.getSelection ();
	}
	else
	{
		selection = document.selection.createRange ().text;
	}
	
	if (selection != "")
	{
		var text = "[quote]" + selection + "[/quote]\n";
		if (document.selection)
		{
			textarea.focus ();
			textarea.form.document.selection.createRange ().text = text;
		}
		else
			textarea.value += text;
	}
	
	return false;
}

function store_caret_pos (field)
{
	if (field.createTextRange) 
		field.caretPos = document.selection.createRange ().duplicate ();
}

function insert_at_caret (field, text)
{
	if (field.createTextRange && field.caretPos)
	{
		var caretPos = field.caretPos;
		caretPos.text = caretPos.text.charAt (caretPos.text.length - 1) == ' ' ? text + ' ' : text;
	}
	else
		field.value = text;
	field.focus ();
}

function get_app_name ()
{
	return navigator.appName;
}

function get_app_version ()
{
	var app_name = get_app_name ();
	var app_version = navigator.appVersion;
	if (app_name != "Microsoft Internet Explorer")
		return parseFloat (app_version);
	else
	{
		var full_version = app_version.substring (app_version.indexOf (";") + 2, app_version.lastIndexOf (";"));
		return parseFloat (full_version.substr (full_version.indexOf (" ") + 1));
	}
}
