function Mc_FullScreen()
{
	self.moveTo(0,0);
	self.resizeTo(screen.availWidth,screen.availHeight); 
}

function NewWindow(mypage, myname, w, h, scroll, resize) {
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable='+resize+',toolbar=no,location=no,status=no,menubar=no,dependent=no';
	win = window.open(mypage, myname, winprops);
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function gotoURL(myurl) {
	window.location = (myurl);
}

function switchDisplay(id, cookiename){
	if(document.getElementById){
			a=document.getElementById(id);
			a.style.display=(a.style.display!="none")?"none":"block";
			if (cookiename) {
				document.cookie = cookiename + "=" + a.style.display;
			}
	}
}

/**
 * Checks/unchecks all checkboxes
 *
 * @param   string   the form name
 * @param   boolean  whether to check or to uncheck the element
 *
 * @return  boolean  always true
 */
<!-- Begin
function setCheckboxes(the_form, do_check)
{
	var elts = document.forms[the_form].elements['itemstocheck[]'];
	var elts_cnt = elts.length;

	if (elts_cnt) {
		for (var i = 0; i < elts_cnt; i++) {
			elts[i].checked = do_check;
		} // end for
	}
	
	return true;
} // end of the 'setCheckboxes()' function

function adjustField(formName, field, adjustment) {
	// + likes to cast integers as strings
	if ((document.forms[formName][field].value - (-adjustment)) < 0) {
		document.forms[formName][field].value = 0;
	} else {
		document.forms[formName][field].value -= (-adjustment);
	}
}

function setFieldValue(formName, field, value) {
	document.forms[formName][field].value = value;
}

function textCounter(field, countfield, maxlimit, asc) {
	if (field.value.length > maxlimit) { // if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
		// otherwise, update 'characters left' counter
	} else {
		if (asc) {
			countfield.value = field.value.length;
		} else {
			countfield.value = maxlimit - field.value.length;
		}
	}
}

function setAutoFillValues(formName, fieldName, autoFillValues) {

	var field = document.forms[formName].elements[fieldName];
	var val = field.options[field.selectedIndex].value;
	for (var i in autoFillValues[val]) {
		setFieldValue(formName, i, autoFillValues[val][i]);
	}
}

/**
 *
 * Moves selected <option>s from <select> m1 to <select> m2
 *
 */
function selectMove(m1, m2) {
	m1len = m1.length;
	for (i=0; i<m1len ; i++) {
		if (m1.options[i].selected == true ) {
			m2len = m2.length;
			m2.options[m2len]= new Option(m1.options[i].text);
			m2.options[m2len].value = m1.options[i].value;
		}
	}

	for ( i = (m1len -1); i>=0; i--){
		if (m1.options[i].selected == true ) {
			m1.options[i] = null;
		}
	}
}

/**
 *
 * selects all <option>s in <select> s1
 *
 */
function selectChosen(s1) {
	for (i=0; i< s1.length; i++) {
		s1.options[i].selected = true;
	} 
}

function stopInterval(tid) {
	if (tid !== null) {
		clearInterval(tid);
	}
}

function isNumber(formName, fieldName, badColor, goodColor) {
	var field = document.forms[formName].elements[fieldName];
	var val = field.value;
	if (! badColor) {
		badColor = "#FF99FF";
	}
	if (! goodColor) {
		goodColor = "#FFFFFF";
	}
	var valid = true;
	if (! /^\d+$/.test(val)) {
		valid = false;
		field.style.backgroundColor = badColor;
	} else {
		field.style.backgroundColor = goodColor;
	}
	for (var i=0; i <= document[formName].elements.length-1;i++) {
		e = document[formName].elements[i];
		switch (e.type) {
			case 'submit':
				if (valid) {
					e.disabled = false;
				} else {
					e.disabled = true;
				}
		}
	}
	return valid;
}

function setMatchingFields(form, fieldNameRegex, value) {
	var numFields = form.elements.length;
	var regex = new RegExp(fieldNameRegex);
	for (var i = 0; i < numFields; i++) {
		var e = form.elements[i];
		if (regex.test(e.name)) {
			e.value = value;
		}
	}
}

function setMatchingCheckboxes(form, fieldNameRegex, do_check) {
	var numFields = form.elements.length;
	var regex = new RegExp(fieldNameRegex);
	for (var i = 0; i < numFields; i++) {
		var e = form.elements[i];
		if (regex.test(e.name) && e.type == 'checkbox') {
			e.checked = do_check;
		}
	}
}

/**
 *
 * Changes sizes of Text Areas
 *
 */

function increaseNotesHeight(thisTextarea, add) {
	if (thisTextarea) {
		newHeight = parseInt(thisTextarea.style.height) + add;
		thisTextarea.style.height = newHeight + "px";
	}
	if (document.getElementById('notes_height')) {
		document.getElementById('notes_height').value = newHeight;
	}
}

function decreaseNotesHeight(thisTextarea, subtract) {
	if (thisTextarea) {
		if ((parseInt(thisTextarea.style.height) - subtract) > 30) {
			newHeight = parseInt(thisTextarea.style.height) - subtract;
			thisTextarea.style.height = newHeight + "px";
		}
		else {
			newHeight = 30;
			thisTextarea.style.height = "30px";
		}			
	}
	if (document.getElementById('notes_height')) {
		document.getElementById('notes_height').value = newHeight;
	}
}
