/* 
------------------------------------------
	Flipbox written by CrappoMan
	simonpatterson@dsl.pipex.com
------------------------------------------
*/

function ShowField(field, v) {
    if (v) {
        document.getElementById(field).style.display = 'block'
    } else {
        document.getElementById(field).style.display = 'none'
    }
}
function ShowHide(field) {
  if (document.getElementById(field).style.display == 'block') document.getElementById(field).style.display = 'none'
  else if (document.getElementById(field).style.display == 'none') document.getElementById(field).style.display = 'block'
}

function flipBox(who) {
	var tmp; 
	if (document.images['b_' + who].src.indexOf('_on') == -1) { 
		tmp = document.images['b_' + who].src.replace('_off', '_on');
		document.getElementById('box_' + who).style.display = 'none';
		document.images['b_' + who].src = tmp;
	} else { 
		tmp = document.images['b_' + who].src.replace('_on', '_off');
		document.getElementById('box_' + who).style.display = 'block';
		document.images['b_' + who].src = tmp;
	} 
}

function addText(elname, wrap1, wrap2) {
	if (document.selection) { // for IE 
		var str = document.selection.createRange().text;
		document.forms['inputform'].elements[elname].focus();
		var sel = document.selection.createRange();
		sel.text = wrap1 + str + wrap2;
		return;
	} else if ((typeof document.forms['inputform'].elements[elname].selectionStart) != 'undefined') { // for Mozilla
		var txtarea = document.forms['inputform'].elements[elname];
		var selLength = txtarea.textLength;
		var selStart = txtarea.selectionStart;
		var selEnd = txtarea.selectionEnd;
		var oldScrollTop = txtarea.scrollTop;
		//if (selEnd == 1 || selEnd == 2)
		//selEnd = selLength;
		var s1 = (txtarea.value).substring(0,selStart);
		var s2 = (txtarea.value).substring(selStart, selEnd)
		var s3 = (txtarea.value).substring(selEnd, selLength);
		txtarea.value = s1 + wrap1 + s2 + wrap2 + s3;
		txtarea.selectionStart = s1.length;
		txtarea.selectionEnd = s1.length + s2.length + wrap1.length + wrap2.length;
		txtarea.scrollTop = oldScrollTop;
		txtarea.focus();
		return;
	} else {
		insertText(elname, wrap1 + wrap2);
	}
}

function insertText(elname, what) {
	if (document.forms['inputform'].elements[elname].createTextRange) {
		document.forms['inputform'].elements[elname].focus();
		document.selection.createRange().duplicate().text = what;
	} else if ((typeof document.forms['inputform'].elements[elname].selectionStart) != 'undefined') { // for Mozilla
		var tarea = document.forms['inputform'].elements[elname];
		var selEnd = tarea.selectionEnd;
		var txtLen = tarea.value.length;
		var txtbefore = tarea.value.substring(0,selEnd);
		var txtafter =  tarea.value.substring(selEnd, txtLen);
		var oldScrollTop = tarea.scrollTop;
		tarea.value = txtbefore + what + txtafter;
		tarea.selectionStart = txtbefore.length + what.length;
		tarea.selectionEnd = txtbefore.length + what.length;
		tarea.scrollTop = oldScrollTop;
		tarea.focus();
	} else {
		document.forms['inputform'].elements[elname].value += what;
		document.forms['inputform'].elements[elname].focus();
	}
}

function show_hide(msg_id) {
	msg_id.style.display = msg_id.style.display == 'none' ? 'block' : 'none';
}

function getObj(id) {
	return document.getElementById(id);
}

// Displays a Warning and some instructions.
function setTimeoutWarning(mins) {
	
	setTimeout("showTimeoutWarning()",(mins*60*1000));
	
}
function showTimeoutWarning() {
	/* method 1 - this caused FF to show a security bar, the new page was not opened. */
	alert('WARNING\n\nSession may have Timed Out.\n\nClick OK then `Open Login in New Window`.');	
	ob = getObj('timeoutWarningDiv');
	ob.style.display = 'block';
	window.open('#timeoutWarningTag','_self');
}
// Chris De David - Mindflow.com.au	
function doPopup(url, width, height) {
	win = window.open(url, '_blank', 'width=' + width + ', height=' + height + ', scrollbars=yes, resizable=yes');
	return win;
}

/*
Used to check the amount of characters in a User Input Box (Text, or TextArea)
// Chris De David - Mindflow.com.au	
*/
function characterCheck(ob, num) {
	c = ob.value.length;
	if(c>num) {
		alert('Too many characters entered.\n\nMaximum: '+num+'\n\nContents will be trimmed.');
		// Force the amount - trim the end off
		ob.value = ob.value.substring(0,num-1);
	}
	
	return 1;
}

// From FCKEditor code
function HTMLEncode(text)
{
	text = text.replace(/&/g, "&amp;") ;
	text = text.replace(/"/g, "&quot;") ;
	text = text.replace(/</g, "&lt;") ;
	text = text.replace(/>/g, "&gt;") ;
	text = text.replace(/'/g, "&#146;") ;
	
	return text ;
}

