//el is the checkbox its self which has been clicked, passed as an object
//commonNamePrefix expects a string which is common beginning of names of group (not necessarily the whole name)
//if no value passed for commonNamePrefix, all checkboxes in form will be checked/unchecked
function checkBoxGroup(el,commonNamePrefix) 
{
	var i, elem, elems = el.form.getElementsByTagName('input'), state = el.checked;
	for (i = 0; i < elems.length; i++) 
	{
		elem = elems[i];
		if (elem.type && elem.type == 'checkbox') 
		{
			if (!commonNamePrefix || (commonNamePrefix && elem.name && elem.name.search(commonNamePrefix) == 0))
			{
				elem.checked = state;
			}
		}
	}
}

// bbcode inserting

// add simple text
function addText(Text)
{
	var obj = document.form.text;
	obj.focus();
 
	if (document.selection && document.selection.createRange)  // Internet Explorer
	{
		sel = document.selection.createRange();
		if (sel.parentElement() == obj)  
		{
			sel.text = Text;
		}
	}

	else if(typeof(obj) != 'undefined')  // Firefox
	{
		var longueur = parseInt(obj.value.length);
		var selStart = obj.selectionStart;
		var selEnd = obj.selectionEnd;

		obj.value = obj.value.substring(0,selStart) + Text + obj.value.substring(selEnd,longueur);
	}
 
	else 
	{
		obj.value += Text;
	}

	obj.focus();
}

// wrap code in tags or just simply add them by themselves
function addTags(Tag, fTag)
{
	var obj = document.form.text;
	obj.focus();

	// Internet Explorer
	if (document.selection && document.selection.createRange) 
	{
		sel = document.selection.createRange();
		if (sel.parentElement() == obj)
		{
			sel.text = Tag + sel.text + fTag;
		}
	}

	// Firefox
	else if(typeof(obj) != 'undefined')
	{
		var longueur = parseInt(obj.value.length);
		var selStart = obj.selectionStart;
		var selEnd = obj.selectionEnd;

		obj.value = obj.value.substring(0,selStart) + Tag + obj.value.substring(selStart,selEnd) + fTag + obj.value.substring(selEnd,longueur);
	}
 
	else
	{	
		obj.value += Tag + fTag;
	}

	obj.focus();
} 
