// Last modified: 01-23-04

function checkForm(f) {
	var msg = "Please fix these errors:\n";
	var errors = false;
	
	if (f.fname.value == "") {
		msg+="-First name is required\n";
		errors = true;
	}
	if (f.lname.value == "") {
		msg+="-Last name is required\n";
		errors = true;
	}
	if (f.phone.value == "") {
		msg+="-Phone number is required\n";
		errors = true;
	}
	if (f.institution.value == "") {
		msg+="-Institution is required\n";
		errors = true;
	}
	if ( (f.email.value == "") || ( f.email.value.indexOf('@') == -1) ) {
		msg+="-Valid email is required\n";
		errors = true;
	}
	if (errors) {
		window.alert(msg);
		return false;
	}
		
	return true;
}

function verifyEdit() {
	var msg = "Please fix these errors:\n";
	var errors = false;
	
	if ( (document.register.email.value != "") && ( document.register.email.value.indexOf('@') == -1) ) {
		msg+="-Valid email is required\n";
		errors = true;
	}
	if ( (document.register.password.value != "") && (document.register.password.value.length < 6) ) {
		msg+="-Min 6 character password is required\n";
		errors = true;
	}
	if ( (document.register.password.value != "") && (document.register.password.value != document.register.password2.value) ) {
		msg+=("-Passwords to not match\n");
		errors = true;
	}
	if (errors) {
		window.alert(msg);
		return false;
	}
		
	return true;
}

function checkBrowser() {
	if ( (navigator.appName.indexOf("Netscape") != -1) && ( parseFloat(navigator.appVersion) <= 4.79 ) ) {
		newWin = window.open("","message","height=200,width=300");
		newWin.document.writeln("<center><b>This system is optimized for Netscape version 6.0 or higher.<br>" +
					"Please visit <a href='http://channels.netscape.com/ns/browsers/download.jsp' target='_blank'>Netscape.com</a> to obtain an update.");
		newWin.document.close();
	}
}

function help(file) {    
		window.open("help.php#" + file ,"","width=500,height=500,scrollbars");    
		void(0);    
}      

function reserve(type, machid, ts, resid) {  
		w = (type == 'r') ? 600 : 425;
		h = (type == 'm') ? 490 : 420;

		nurl = "reserve.php?type=" + type + "&machid=" + machid + "&ts=" + ts + "&resid=" + resid;    
		window.open(nurl,"reserve","width=" + w + ",height=" + h + ",scrollbars,resizable=no,status=no");     
		void(0);    
}
function checkDate() {
	var formStr = document.jumpWeek;
	var dayNum = new Array();
	dayNum = [31,28,31,30,31,30,31,31,30,31,30,31];
	
	if ( (formStr.jumpMonth.value > 12) || (formStr.jumpDay.value > dayNum[formStr.jumpMonth.value-1]) ) {
		alert("Please enter valid date value");
		return false;
	}
	
	for (var i=0; i< formStr.elements.length-1; i++) {
		if (formStr.elements[i].type == "text" || formStr.elements[i].type == "textbox" ) {			
			if ( (formStr.elements[i].value <= 0) || (formStr.elements[i].value.match(/\D+/) != null) ) {
					alert("Please enter valid date value");
					formStr.elements[i].focus();
					return false;
			}
		}
	}
}

function verifyTimes(f) {
	if (f.del && f.del.checked) {
		return confirm("Delete this reservation?");
	}
	if (parseFloat(f.startTime.value) < parseFloat(f.endTime.value)) {
		return true;
	}
	else {
		window.alert("End time must be later than start time\nCurrent start time: " + f.startTime.value + " Current end time: " + f.endTime.value);
		return false;
	}
}

function checkAdminForm() {
	var f = document.forms[0];
	for (var i=0; i< f.elements.length; i++) {
		if ( (f.elements[i].type == "checkbox") && (f.elements[i].checked == true) )
			return confirm('This will delete all reservations and permission information for the checked items!\nContinue?');
	}
	alert("No boxes have been checked!");	
	return false;
}

function checkBoxes() {
	var f = document.train;
	for (var i=0; i< f.elements.length; i++) {
		if (f.elements[i].type == "checkbox")
			f.elements[i].checked = true;
	}
	void(0);
}

function viewUser(user) {
	window.open("userInfo.php?user="+user,"UserInfo","width=400,height=400,scrollbars,resizable=no,status=no");     
		void(0);    
}

function checkAddResource() {
	var f = document.addResource;
	var msg = "";
	
	if (f.name.value=="")
		msg+="-Resource name is required.\n";
	if (parseInt(f.minRes.value) > parseInt(f.maxRes.value))
		msg+="-Min res span must be less than or equal that max res span";
	
	if (msg!="") {
		alert("You have the following errors:\n\n"+msg);
		return false;
	}
	
	return true;
}

function checkAllBoxes(box) {
    var f = document.forms[0];

    if (box.checked == true) {
	   for (var i=0; i< f.elements.length; i++) {
	       if (f.elements[i].type == "checkbox")
                f.elements[i].checked = true;
	   }
	}
	else {
	   for (var i=0; i< f.elements.length; i++) {
	       if (f.elements[i].type == "checkbox")
                f.elements[i].checked = false;
	   }
	}
	void(0);
}

function check_for_delete(f) {
	if (f.del && f.del.checked == true)
		return confirm('Delete this reservation?');
}

function toggle_fields(box) {
	document.forms[0].elements["table," + box.value + "[]"].disabled = !(box.checked == true);
}

function search_user_lname(letter) {
	var frm = isIE() ? 'document.name_search' : "document.forms['name_search']";
	eval(frm + ".firstName.value=\"\"");
	eval(frm + ".lastName.value=letter");
	eval (frm + ".submit()");
}

function isIE() {
	return document.all;
}

function expand_collapse(row, thelink) {
	var d = new Date();
	var expires = d.getTime() + 2592000; // One month
	d.setTime(expires);
	
	
	if (document.getElementById(row).style.visibility == 'hidden') {
		//document.getElementById(row).style.height = 0;
		document.getElementById(row).style.visibility='visible';
		document.getElementById(thelink).innerHTML = 'Hide';
		document.cookie = row + "=visible;expires=" + d.toGMTString();
	}
	else {
		//document.getElementById(row).style.height = 0;
		document.getElementById(row).style.visibility='hidden'
		document.getElementById(thelink).innerHTML = 'Show';
		document.cookie = row + "=hidden;expires=" + d.toGMTString();
	}
	void(0);
}