// Hows abouts a little browser detection?
var isDOM = (document.getElementById ? true : false); 
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers ? true : false);

// Get Object Reference by ID
function getRef(id) {
	if (isDOM) return document.getElementById(id);
	if (isIE4) return document.all[id];
	if (isNS4) return document.layers[id];
}

function setSearchAlbum(albumCode, albumName, frmObj) {
	frmObj.album_code.value = albumCode;
	frmObj.album_display.value = albumName;
}

function inactiveSearch() {
	alert("This album is currently inactive.");
}

function setAndSubmit(setSubmit, frmID) {
	if (setSubmit == 'today') {
		setToday(frmID);
	} else if (setSubmit == 'yest') {
		setYesterday(frmID);
	}
	submitSearch(frmID);
}
	
function submitSearch(frmID) {
	frmObj = getRef(frmID);
	var albumCodePattern = new RegExp("^([a-z]|[A-Z]|[0-9]){4}$");
	if (frmObj.album_code.options) {
		if (!frmObj.album_code.options[frmObj.album_code.options.selectedIndex].value.match(albumCodePattern)) {
			alert("Invalid Album Code! You must insert your album code into the form/link for this code to work!  To get your album code, please contact photos@rapidimage.net.  Thank you!");
			return false;
		}
	} else if (frmObj.album_code.value) {	
		if (!frmObj.album_code.value.match(albumCodePattern)) {
			alert("Invalid Album Code! You must insert your album code into the form/link for this code to work!  To get your album code, please contact photos@rapidimage.net.  Thank you!");
			return false;
		}
	} else {
		alert("Please select an album to search!");
		return false;
	}
	if (frmObj.ri_month && frmObj.ri_month.options.selectedIndex == 0) {
		alert('Please select a month.');
		return false;
	} else if (frmObj.ri_day && frmObj.ri_day.options.selectedIndex == 0) {			
		alert('Please select a day.');
		return false;
	} else if (frmObj.ri_year && frmObj.ri_year.options.selectedIndex == 0) {		
		alert('Please select a year.');
		return false;
	}
	frmObj.submit();
}

function setYesterday(frmID) {
	dateObjToday = new Date();
	yestDay = new Date(dateObjToday - (24*60*60*1000));
	setTheDate(frmID, yestDay);
}

function setToday(frmID) {
	dateObj = new Date();
	setTheDate(frmID, dateObj);
}
	
function resetToday(frmID) {
	frmObjDay = getRef(frmID  + "_day");
	frmObjMonth = getRef(frmID + "_month");
	frmObjYear = getRef(frmID + "_year");
	frmObjMonth.options[0].selected = 1;
	frmObjDay.options[0].selected = 1;
	frmObjYear.options[0].selected = 1;
}
	
function setTheDate(frmID, dateObj) {
	frmObjDay = getRef(frmID  + "_day");
	frmObjMonth = getRef(frmID + "_month");
	frmObjYear = getRef(frmID + "_year");
	toYear = dateObj.getYear();
	toMonth = dateObj.getMonth() + 1;
	toDay = dateObj.getDate();
	var numPattern = new RegExp("^0[0-9]$");
	if (frmObjMonth.options[frmObjMonth.selectedIndex].value.match(numPattern)) {
		if (parseInt(toMonth) < 10) {
			toMonth = "0" + toMonth;
		}
	}
	if (frmObjDay.options[frmObjDay.options.selectedIndex].value.match(numPattern)) {
		if (parseInt(toDay) < 10) {
			toDay = "0" + toDay;
		}
	}
	for (var i=0; i < frmObjMonth.options.length; i++) {
		if (frmObjMonth.options[i].value == toMonth) {
			frmObjMonth.options[i].selected = 1;
		}
	}
	for (var i=0; i < frmObjDay.options.length; i++) {
		if (frmObjDay.options[i].value == toDay) {
			frmObjDay.options[i].selected = 1;
		}
	}
	for (var i=0; i < frmObjYear.options.length; i++) {
		if (frmObjYear.options[i].value == toYear) {
			frmObjYear.options[i].selected = 1;
		}
	}
}

function setFormOnSelect(cal) {
	var p = cal.params;
	setTheDate(p.inputField.name, cal.date);
	var update = (cal.dateClicked || p.electric);
	if (update && p.inputField) {
		p.inputField.value = cal.date.print(p.ifFormat);
		if (typeof p.inputField.onchange == "function") p.inputField.onchange();
	}
	if (update && p.displayArea) p.displayArea.innerHTML = cal.date.print(p.daFormat);
	if (update && typeof p.onUpdate == "function") p.onUpdate(cal);
	if (update && p.flat) {
		if (typeof p.flatCallback == "function")
			p.flatCallback(cal);
	}
	if (update && p.singleClick && cal.dateClicked) cal.callCloseHandler();
}

function setDateTagOnChange(tagName) {
	frmObjYear = getRef(tagName + "_year");
	frmObjMonth = getRef(tagName + "_month");
	frmObjDay = getRef(tagName + "_day");
	theTag = getRef(tagName);
	theTag.value = frmObjYear.options[frmObjYear.options.selectedIndex].value + "-" + frmObjMonth.options[frmObjMonth.options.selectedIndex].value + "-" + frmObjDay.options[frmObjDay.options.selectedIndex].value;
}

function setTimeTagOnChange(tagName) {
	frmObjHour = getRef(tagName + "_hour");
	frmObjMinute = getRef(tagName + "_minute");
	theTag = getRef(tagName);
	theTag.value = frmObjHour.options[frmObjHour.options.selectedIndex].value + ":" + frmObjMinute.options[frmObjMinute.options.selectedIndex].value + ":00";
}

function doNothing() {
}
