//
var requiredfields = new Array();
var requirednames = new Array();
var iAddFld = 0;
var _w = null;
var isNav = (navigator.appName.indexOf("Netscape") != -1);

function open_window(sUrl, iW, iH) {
	var iWidth = 630;
	var iHeight = 400;
	if (iW) { iWidth = iW; }
	if (iH) { iHeight = iH; }
	if (_w) {
		_w.close();
	}
	_w = window.open(sUrl, "win1", "fullscreen=no,resizable=yes,locationbar=no,status=no,personalbar=no,toolbar=no,directories=no,menubar=no,scrollbars=yes,width=" + iWidth + ",height=" + iHeight);
	if(isNav) { 
		_w.focus();
	}
	return false;
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function ckEmail(sFld, sName) {
	// an email should have an @ sign and a period
	if (sFld.value.indexOf('@') == -1) {
		msg = 'Your entry in ' + sName + ' appears to be incorrect.\n';
		msg += '\n          Email addresses should always contain the @ sign\n\n';
		msg += 'Please correct this information before proceeding.\n';
		alert(msg);
		return false;			
	}
	if (sFld.value.indexOf('.') == -1) {
		msg = 'Your entry in ' + sName + ' appears to be incorrect.\n';
		msg += '\n          Email address should always contain a period (.).\n\n';				
		msg += 'Please correct this information before proceeding.\n';
		alert(msg);
		return false;			
	}			
}
function ckLgth(iMax, myfield) {
	var myVal = myfield.value;
    if(myVal.length > iMax) {
        alert('You have entered ' + myfield.value.length + ' characters in the ' + myfield.name + ' field.\nThis field is limited to ' + iMax + ' characters.\nMessage is being truncated.');
        myVal = myVal.substr(0, iMax);
        myfield.value = myVal; 
		return false
    }
	return true;    
}
function bnumeric(sVal, iMin, iMax) {
	if(isNaN(sVal)) {
		alert("This field is numeric.\nPlease enter a number.");
		return false;
	} else {
		if(iMin != null) {
			if(sVal < iMin) {
				alert("This field must be at least " + iMin + ".\nPlease re-enter.");
				return false;
			}
		}
		if(iMax != null) {
			if(sVal > iMax) {
				alert("This field cannot be more than " + iMax + ".\nPlease re-enter.");
				return false;
			}
		}
		return true;
	}
}
function isblank(s) {
	for (var i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if ((c != ' ') && (c != '\n') && (c != '\t')) {
			return false;
		}			
	}
	return true;
}
function isrequired(iField) {
	for (var i = 0; i < requiredfields.length; i++) {
		if (iField == requiredfields[i]) {
			return true;
		}
	}
	return false;
}
function setRequired(f) {
	//
	requiredfields = new Array();
	requirednames = new Array();
	if (f.name == 'membershipform') {
		requiredfields[0] = 0;
		requirednames[0] = "First name";
		requiredfields[1] = 2;
		requirednames[2] = "Last name";
		requiredfields[2] = 4;
		requirednames[4] = "Class";
		requiredfields[3] = 10;
		requirednames[10] = "Address";
		requiredfields[4] = 11;
		requirednames[11] = "City";
		requiredfields[5] = 12;
		requirednames[12] = "State";
		requiredfields[6] = 13;
		requirednames[13] = "Zip";
	} else if (f.name == 'survey') {
		requiredfields[0] = 0;
		requirednames[0] = 'Where our 2004 national conference should be held';
	} else {
		for (var i=0; i < f.elements.length - 2; i++) {
			requiredfields[i] = i;
			requirednames[i] = f.elements[i].name;
		}
	}
}
function verify(f) { 
	var msg = "debuggin";
	var empty_fields = "";
	var errors = "";
	setRequired(f);
	for (var i = 0; i < f.length; i++) {
		var e = f.elements[i];
		if(isrequired(i)) {
			var e_val = null;
			var label_name = requirednames[i];
			if(e.type == "text") {
				e_val = e.value;
			} else if (e.type == "password") {
				e_val = e.value;
			} else if (e.type == "textarea") {		
				e_val = e.value;
			} else if (e.type == "checkbox") {
				var strObj = 'f.'+e.name;
				if(eval(strObj).length) {
					for (var k = 0; k < eval(strObj).length; k++) {
						if(eval(strObj)[k].checked) {
							if(e_val) {
								e_val = e_val + ', ' + eval(strObj)[k].value;
							} else {
								e_val = eval(strObj)[k].value;
							}							
						}						
					}
				} else {
					if(eval(strObj).checked) {
						if(e_val) {
							e_val = e_val + ', ' + eval(strObj).value;
						} else {
							e_val = eval(strObj).value;
						}							
					}						
				}			
			} else if (e.type == "radio") {
				var strObj = 'f.'+e.name;
				if(eval(strObj).length) {
					for (var k = 0; k < eval(strObj).length; k++) {
						if(eval(strObj)[k].checked) {
							if(e_val) {
								e_val = e_val + ', ' + eval(strObj)[k].value;
							} else {
								e_val = eval(strObj)[k].value;
							}							
						}						
					}
				} else {
					if(eval(strObj).checked) {
						if(e_val) {
							e_val = e_val + ', ' + eval(strObj).value;
						} else {
							e_val = eval(strObj).value;
						}							
					}						
				}
			} else if (e.type == "select-one") {
				if(e.selectedIndex > -1) {
					e_val = e.options[e.selectedIndex].value;	
				}
			} else if (e.type == "select-multiple") {
				if(e.selectedIndex > -1) {
					var myoptions = "";
					for(var j = 0; j < e.options.length; j++) {
						if (e.options[j].selected) {
							if(myoptions == "") {
								myoptions = e.options[j].value;
							} else {
								myoptions += ", "+e.options[j].value;
							}
						}
					}
					e_val = myoptions;	
				}
			}						
			if((e_val == null) || (e_val == '') || (isblank(e_val))) {
				empty_fields += '\n          ' + label_name;
			}
		}
	}
	if (!empty_fields && !errors) { return true; }
	
	msg = "Important: You have not completed all the required fields on this form.\n\n";
	msg += "The following required field(s) are not complete:\n";
	if (empty_fields) {
		msg += '     '+empty_fields + "\n";
	}
	msg += "\nPlease complete these field(s) and then resubmit the form.\n";
	alert(msg);
	return false;
}
//
function setMaxPerPg(intNum) {
	c1.iMaxPerPage.value = intNum;
	a1.iMaxPerPage.value = intNum;
	qs1.iMaxPerPage.value = intNum;
}
function setSortBy(strSortBy) {
	c1.SortBy.value = strSortBy;
	a1.SortBy.value = strSortBy;
	qs1.SortBy.value = strSortBy;
}
function verifySurvey(f) {
	if (!verify(f) ) {
		return false;
	}
	var msg = "debuggin";
	var empty_fields = "";
	var errors = "";
	var ar1 = new Array('Percent ahead of 2001','Percent behind 2001');
	for (var i=1; i<4; i++) {
		for (var j=0; j<2; j++) {
			var strObj = 'f.Q' + i;
			if(eval(strObj)[j].checked) {
				e_val = null;
				strObj += j+1;
				e = eval(strObj);
				e_val = e.value;
				if((e_val == null) || (e_val == '') || (isblank(e_val))) {
					empty_fields += '\n          ' +  'Question ' + i + ': ' + ar1[j];
				} else {
					if(isNaN(e_val)) {	
						errors +=   '\n          ' +  'Question ' + i + ': ' + ar1[j] + ' must be numeric';
					}
				}
			} else {
				strObj += j+1;
				e = eval(strObj);
				e.value = '';
			}
		}
	}
	if (empty_fields || errors) {
		msg = "Important: You have not completed all the required fields on this form.\n\n";
		msg += "The following required field(s) are not complete:\n";
		if (empty_fields) {
			msg += '     '+empty_fields + "\n";
		}
		if (errors) {
			msg += '     '+errors + "\n";
		}
		msg += "\nPlease complete these field(s) and then resubmit the form.\n";
		alert(msg);
		return false;
	}
	return true;
}
function ckSearch(f) {
	var msg = "debuggin";
	var empty_fields = "";
	var errors = "";
	var e = f.Search;
	var e_val = null;
	e_val = e.value;
	if((e_val == null) || (e_val == '') || (isblank(e_val))) {
		empty_fields += '\n          Search text';
	}
	if (empty_fields || errors) {
		msg = "Important: You have not completed all the required fields on this form.\n\n";
		msg += "The following required field(s) are not complete:\n";
		if (empty_fields) {
			msg += '     '+empty_fields + "\n";
		}
		if (errors) {
			msg += '     '+errors + "\n";
		}
		msg += "\nPlease complete these field(s) and then resubmit the form.\n";
		alert(msg);
		return false;
	}
	return true;
}
//
