/* popup window */
function popup (obj, iW, iH) {
	var winW = iW;
	var winH = iH;
	var winName = '_blank';
	var winL = (screen.width - winW) / 2;
	var winT = (screen.height - winH) / 2;
	window.open(obj.href, winName, 'location=no, toolbar=no, status=no, directories=no, scrollbars=yes, menubar=no, resizable=no, left=' + winL + ', top=' + winT +', width=' + winW + ', height=' + winH);
}

/* validate incident input */
function validateIncident(oForm) {
	var bValid = true;

	//check date occurred
	if (isDate(oForm.dateOccurredDD.value, oForm.dateOccurredMM.value, oForm.dateOccurredYYYY.value) == false) {
		alert('Please enter a valid date of occurrence');
		return false;
	}

	//check time occurred
	if (isNaN(oForm.timeOccurredHH.value) ||
		isNaN(oForm.timeOccurredMM.value) ||
		oForm.timeOccurredMM.value < 0 ||
		oForm.timeOccurredMM.value > 59 ||
		oForm.timeOccurredHH.value < 0 ||
		oForm.timeOccurredHH.value > 23) {
		alert('Please enter a valid time of occurrence');
		return false;
	}

	return true;
}

/* validate search input */
function validateSearch(oForm) {
	var bValid = true;

	//check date occurred
	if (oForm.dateOccurredDDA.value != '' || oForm.dateOccurredMMA.value != '' || oForm.dateOccurredYYYYA.value != '') {
		if (isDate(oForm.dateOccurredDDA.value, oForm.dateOccurredMMA.value, oForm.dateOccurredYYYYA.value) == false || isDate(oForm.dateOccurredDDB.value, oForm.dateOccurredMMB.value, oForm.dateOccurredYYYYB.value) == false) {
			alert('Please enter full, valid dates for the range searching.');
			return false;
		}
	}

	return true;
}

/* validate clock search input */
function validateClockSearch(oForm) {
	var bValid = true;

	//check date 
	if (oForm.dateDDA.value != '' || oForm.dateMMA.value != '' || oForm.dateYYYYA.value != '') {
		if (isDate(oForm.dateDDA.value, oForm.dateMMA.value, oForm.dateYYYYA.value) == false || isDate(oForm.dateDDB.value, oForm.dateMMB.value, oForm.dateYYYYB.value) == false) {
			alert('Please enter full, valid dates for the range searching.');
			return false;
		}
	}

	return true;
}

/* validate report filter input */
function validateReportFilter(oForm) {
	var bValid = true;

	//check date 
	if (oForm.dateDDA.value != '' || oForm.dateMMA.value != '' || oForm.dateYYYYA.value != '') {
		if (isDate(oForm.dateDDA.value, oForm.dateMMA.value, oForm.dateYYYYA.value) == false || isDate(oForm.dateDDB.value, oForm.dateMMB.value, oForm.dateYYYYB.value) == false) {
			alert('Please enter full, valid dates for the range filtering.');
			return false;
		}
	}

	return true;
}

/* date validation */
function isDate(dd,mm,yyyy) {
   var d = new Date(mm + "/" + dd + "/" + yyyy);
   return d.getMonth() + 1 == mm && d.getDate() == dd && d.getFullYear() == yyyy;
}
