// global functions
function isFilled(input) {
	return (input.value.length != 0);
}
function determineObject(targetOBJ) {
	var element = null;
	if(document.all) {
		element = document.all[targetOBJ];
	}
	if (document.getElementById) {
		element = document.getElementById(targetOBJ);
	}
	return element;
}
function enactStyle(targetOBJ, styleCSS) {
	targetOBJ.setAttribute("class", styleCSS);
	targetOBJ.setAttribute("className", styleCSS);
}
function swapPanels(hideOBJ, showOBJ) {
	var to_hide = determineObject(hideOBJ);
	var to_show = determineObject(showOBJ);
	enactStyle(to_show, "visible");
	enactStyle(to_hide, "invisible");
}

//search functions
function validateInput(formOBJ) {
	if(formOBJ.searchv.value == 'basic') {
		if(!isFilled(formOBJ.searchTerms) && (formOBJ.searchTerms.value != ' ')) {
			alert('You need to supply a search term.');
			return false;
		} else {
			return true;
		}
	} else {
		var testDate1 = new Date();
		var testDate2 = new Date();
		if(!isFilled(formOBJ.fromMonth)) { var testMonthFrom = 0; } else { testMonthFrom = formOBJ.fromMonth.value-1; }
		if(!isFilled(formOBJ.fromYear)) { var testYearFrom = testDate1.getYear(); } else { testYearFrom = formOBJ.fromYear.value; }
		if(!isFilled(formOBJ.toMonth)) { var testMonthTo = 11; } else { testMonthTo = formOBJ.toMonth.value-1; }
		if(!isFilled(formOBJ.toYear)) { var testYearTo = testDate1.getYear(); } else { testYearTo = formOBJ.toYear.value; }
		testDate1.setFullYear(testYearFrom,testMonthFrom,1);
		testDate2.setFullYear(testYearTo,testMonthTo,31);
		if(!isFilled(formOBJ.searchTerms) && (formOBJ.searchTerms.value != ' ') && !isFilled(formOBJ.advancedFaculty) && !isFilled(formOBJ.advancedCategory) && !isFilled(formOBJ.advancedCampus) && !isFilled(formOBJ.advancedCEU) && !isFilled(formOBJ.fromMonth) && !isFilled(formOBJ.toMonth)) {
			alert('You need to supply a search term or select at least one other criteria.');
			return false;
		} else if(testDate1 > testDate2) {
			alert('The date range you entered is invalid.');
			return false;
		} else {
			return true;
		}
	}
}
function getPage(pageNumber, itemsPerPage) {
	document.searchform.startCount.value = ((pageNumber - 1 ) * itemsPerPage);
	document.searchform.submit();
	return true;
}
function getMore(pageNumber) {
	document.paginate.page.value = pageNumber;
	document.paginate.submit();
	return true;
}
function resetSearchForm() {
	document.searchform.searchTerms.value = '';
	document.searchform.advancedFaculty.selectedIndex = 0;
	document.searchform.advancedCategory.selectedIndex = 0;
	document.searchform.advancedCampus.selectedIndex = 0;
	document.searchform.advancedCEU.selectedIndex = 0;
	document.searchform.fromMonth.selectedIndex = 0;
	document.searchform.toMonth.selectedIndex = 0;
	document.searchform.fromYear.selectedIndex = 0;
	document.searchform.toYear.selectedIndex = 0;
	document.searchform.resultsPage.selectedIndex = 0;
	return false;
}