// JavaScript Document

function popup_window(url, width, height) {
	open_window(url, width, height);
}

function open_window(url, width, height) {
	var winl = (screen.width-width)/2;
	var wint = (screen.height-height)/2;
	settings = 'height=' + height + ',width=' + width + ',top=' + wint + ',left=' + winl + ',scrollbars=yes,toolbar=no,menubar=no,directories=no,resizable=yes,titlebar=yes,location=no,addressbar=no,locationbar=no';
	winname = 'popup_window_' + Math.random * 100;
	win = window.open(url, winname, settings);
	if(parseInt(navigator.appVersion) >= 4){
		win.window.focus();
	}
}// end function open_window


//---------------------------------


function disableEnterKey(e) {
	var key;
	
	if(window.event)
		key = window.event.keyCode;     //IE
	else
		key = e.which;     //firefox
	
	if(key == 13)
		return false;
	else
		return true;
}// end function disableEnterKey

function trim(str) {
	return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

	
//-----------------------------------


//Finds value[s] of checked inputs (could be radio buttons or checkboxes).
function findChecked(input_name) {
	
	//Determine if object is an array.
	if (input_name[1]) { 
		var array_size = input_name.length;
		var checked_values = Array();
		
		//Loop through each array element checking to see if 
		//value is checked and if it is, add it to checked_values array.
		var j = 0;//For populating the checked_values array.
		for (var i = 0; i < array_size; i++) {
			if (input_name[i].checked) {
				checked_values[j++] = input_name[i].value;
			}
		}//end for

		//Return array of checked values.
		return checked_values;
		
	} else {//Object is a single checkbox, so see if it is checked.
		if (input_name.checked) return 1;
		else return 0;
	}
	
}//end function findChecked


//-----------------------------------


function select_all(frm_name, checkbox_name, deselect) {
	
	var frm = document.forms[frm_name];
	var checkboxes = frm.elements[checkbox_name];
	
	// force into array
	if (!isArray(checkboxes)) {
		checkboxes = Array(checkboxes);
	}
	
	if (arguments.length > 1 && deselect == true) {// deselect all
		for (i = 0; i < checkboxes.length; i++){
			checkboxes[i].checked = false;
		}
	} else {// select all
		for (i = 0; i < checkboxes.length; i++){
			checkboxes[i].checked = true;
		}
	}
	
}// end function select_all()

function select_none(frm_name, checkbox_name) {
	select_all(frm_name, checkbox_name, true);
}


//-----------------------------------


function none_checked(frm_name, checkbox_name) {
	var frm = document.forms[frm_name];
	var checkboxes = frm.elements[checkbox_name];
	
	// force into array
	if (!isArray(checkboxes)) {
		checkboxes = Array(checkboxes);
	}
	
	var none_checked = true;
	
	for (i = 0; i < checkboxes.length; i++){
		if (checkboxes[i].checked) {
			none_checked = false;
			break;
		}
	}
	
	return none_checked;	
}// end function none_checked()


//-----------------------------------


function all_checked(frm_name, checkbox_name) {
	var frm = document.forms[frm_name];
	var checkboxes = frm.elements[checkbox_name];
	
	// force into array
	if (!isArray()) {
		checkboxes = Array(checkboxes);
	}
	
	var all_checked = true;
	
	for (i = 0; i < checkboxes.length; i++){
		if (checkboxes[i].checked == false) {
			all_checked = false;
			break;
		}
	}
	
	return all_checked;	
}// end function all_checked()


//-----------------------------------


function show(id, display_type) {
	if (arguments.length < 2) {
		display_type = 'block';
	}
	document.getElementById(id).style.display = display_type;
}

function hide(id) {
	document.getElementById(id).style.display = 'none';
}


//-----------------------------------


function isArray(object) {
	return (object instanceof Array) || (object[0] != undefined);
};
