//Copyright 2000-2009, Tracey Holinka (www.traceyholinka.com)

// Check to see if field is empty
function emptyField(textObj) {	
	if (textObj.value.length == 0) return true;
	if (textObj.value == ' ') return true;
	else return false;
}

function emptyiFrame(textObj) {	
	if (textObj.value == '<P>&nbsp;</P>') return true;
	else return false;
}

// Check field length
function maxField (textObj, iMax) {
	if (textObj.value.length > iMax) return true;
		else return false;
}
function minField (textObj, iMin) {
	if (textObj.value.length < iMin) return true;
		else return false;
}

//Check to see if radio field is empty
function emptyRadio(textObj) {
		if ( textObj[0].checked ) return false;
		else if ( textObj[1].checked ) return false;
		else return true;
}

//Integer validation
function checkNumber(textObj) {
  var newValue = textObj.value;
  var L = newValue.length;
  
  for (var i= 0; i != L; ++i) {
    var aChar = newValue.charAt(i);
    if (aChar < "0" || aChar > "9") return true;
	}
}	
	
//Date validation
function checkDate(textObj) {
	var newValue =  new String (textObj.value);
	var l = newValue.length;
	var i = newValue.indexOf("/");
	var ii = newValue.lastIndexOf("/");
	var month = newValue.substring(0,i)-1;
	var day = newValue.substring(i+1,ii);
	var year = newValue.substring(ii+1,l);
	
	if (l > 10) return true;
	else if (newValue.search("/") == -1) return true;
	else if (month < 1 || month > 12) return true;
	else if (day < 1 || day > 31) return true;
	else if (year.length != 4) return true;
	return false;
}

//Date validation Future
function futureDate(textObj) {
	var newValue =  new String (textObj.value);
	var l = newValue.length;
	var i = newValue.indexOf("/");
	var ii = newValue.lastIndexOf("/");
	var month = new Number (newValue.substring(0,i)-1);
	var day = new Number (newValue.substring(i+1,ii));
	var year = new Number (newValue.substring(ii+1,l));
	var newDate = new Date (year,month,day);

	var currentDate = new Date ();
	var curMonth= currentDate.getMonth ();
	var curDay = currentDate.getDate ();
	var curYear = currentDate.getFullYear ();
	
	var todayDate = new Date (curYear,curMonth,curDay);
	
	if (newValue.length == 0) return true;
	else if (newValue.search("/") == -1) return true;
	else if (newDate < todayDate) return true;
	else return false;
}

//Date sequence
function sequenceDate(DateA, DateB) {
	var newValue = DateA.value;
	var monthStart = new Number (newValue.substring(0,2) - 1);
	var dayStart = new Number (newValue.substring(3,5));
	var yearStart = new Number (newValue.substring(6,10));
	var startDate = new Date (yearStart,monthStart,dayStart);

	var newValue = DateB.value;
	var monthEnd = new Number (newValue.substring(0,2) - 1);
	var dayEnd = new Number (newValue.substring(3,5));
	var yearEnd = new Number (newValue.substring(6,10));
	var endDate = new Date (yearEnd,monthEnd,dayEnd);

	if (startDate > endDate) return true;
	else return false;
}

//Time sequence
function sequenceTime(TimeA, TimeB) {
	var currentDate = new Date ();
	var curMonth= currentDate.getMonth ();
	var curDay = currentDate.getDate ();
	var curYear = currentDate.getFullYear ();
	
	var newValue = new String (TimeA.value);
	var l = newValue.length;
	var dayStart = newValue.substring(l-2,l);
	var i = newValue.indexOf(":");
	var startHour = new Number (newValue.substring(0,i));
		if (dayStart == "PM") {startHour = startHour + 12};
	startHour = startHour * 100;
	var startMin = new Number (newValue.substring(i+1,l-3));
	var startTime = startHour + startMin;
	
	var newValue = new String (TimeB.value);
	var l = newValue.length;
	var dayEnd = newValue.substring(l-2,l);
	var i = newValue.indexOf(":");
	var endHour =  new Number (newValue.substring(0,i));
		if (dayEnd == "PM") {endHour = endHour + 12};
	endHour = endHour * 100;
	var endMin = new Number (newValue.substring(i+1,l-3));
	var endTime = endHour + endMin;
	
	if (startTime > endTime) return true;
	else return false;
}

//URL validation
function checkURL(textObj) {
	if (emptyField(textObj)) return false;
	else if (textObj.value.substring(0,7) != "http://") return true;
	else return false;
}