function checkAll(field) 
{
	if (field['checkall'].checked==true)
	{
	for (i = 0; i < field.length; i++)
		field[i].checked = true;
	}
	else
	{
	for (i = 0; i < field.length; i++)	
		field[i].checked = false;
	}
}

function addStuff(myValue)
{
var textbox = document.getElementById("tBody")
var myValue1 = "["+myValue+"]";
var myValue2 = "[\/"+myValue+"]";

if (document.selection)
 {
 var str = document.selection.createRange().text;
 textbox.focus();
 sel = document.selection.createRange();
 sel.text = myValue1+str+myValue2;
 }

else if (textbox.selectionStart || textbox.selectionStart== '0')
 {
 var startPos = textbox.selectionStart;
 var endPos = textbox.selectionEnd;
 textbox.value = textbox.value.substring(0,startPos) 
 + myValue1
 + textbox.value.substring(startPos,endPos)
 + myValue2
 + textbox.value.substring(endPos, textbox.value.length);
 }
else
 {
 textbox.value += myValue1+myValue2;
 }

}

function addtext(what){
	var postField=document.getElementById("tBody")
	postField.value=postField.value+what
}


function colourise(fieldid)
{
	if (document.getElementById(fieldid).checked==true)
	{
		document.getElementById('div_'+fieldid).style.background = "#AAF";
	}
	else
	{
		document.getElementById('div_'+fieldid).style.background = "#FFF";
	}
}

function iesucksover(fieldid)
{
	document.getElementById(fieldid).style.display = "block";
}

function iesucksout(fieldid)
{
	document.getElementById(fieldid).style.display = "none";
}

function iesuckstog(fieldid)
{
	if(document.getElementById(fieldid).style.display == "block")
	{
		document.getElementById(fieldid).style.display = "none";
		document.getElementById('bodytext').style.minHeight = "520px";
	} 
	else
	{
		document.getElementById(fieldid).style.display = "block";
		document.getElementById('bodytext').style.minHeight = "620px";
	}
}

function greyemail(field)
{
	if (field['em_never'].checked==true)
	{
		//field['em_keywords'].disabled = true;
		field['em_edited'].disabled = true;
		//field['em_cited'].disabled = true;
		field['em_watched'].disabled=true;
		field['em_author'].disabled=true;
		//field['em_cc'].disabled=true;
		//field['em_keywords'].checked = false;
		field['em_edited'].checked = false;
		//field['em_cited'].checked = false;
		field['em_watched'].checked = false;
		field['em_author'].checked = false;
		//field['em_cc'].checked = false;
	}
	else
	{
	for (i = 0; i < field.length; i++)
		field[i].disabled = false;
	}
}

function create_toggle(field)
{
	if (field['article'].checked==true)
	{
		if (document.getElementById)
		{
			// this is the way the standards work
			var style2 = document.getElementById('article_hide').style;
			style2.display = style2.display? "":"block";
		}
		else if (document.all)
		{
			// this is the way old msie versions work
				var style2 = document.all['article_hide'].style;
			style2.display = style2.display? "":"block";
		}
		else if (document.layers)
		{
			// this is the way nn4 works
			var style2 = document.layers['article_hide'].style;
			style2.display = style2.display? "":"block";
		}
	}
}

// in [-]HH:MM format...
// won't yet work with non-even tzs
function fetchTimezone() {
	// FIXME: work around Safari bug
	var localclock = new Date();
	// returns negative offset from GMT in minutes
	var tzRaw = localclock.getTimezoneOffset();
	var tzHour = Math.floor( Math.abs(tzRaw) / 60);
	var tzMin = Math.abs(tzRaw) % 60;
	var tzString = ((tzRaw >= 0) ? "-" : "+") + ((tzHour < 10) ? "0" : "") + tzHour +
		":" + ((tzMin < 10) ? "0" : "") + tzMin;
	return tzString;
}

function guessTimezone(box) {
	document.getElementsByName(box)[0].value = fetchTimezone();
}