var timeToClose = 60000;
ttime = null;

function details_window(in_value) {
	var filename = "details.asp";
	var windowName = "DisplayDetails";
	
//	var feature = "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0";
//	feature = feature + ",width=720,height=600,alwaysRaised=yes,tofront=yes";	
	var tail	= "?strID="+in_value;
//	window.open(filename+tail,windowName,feature);	
	window.open("details.asp?ID="+in_value);
	return false;
}

function details_window_s(in_value,ct) {
	var filename = "details.asp";
	var windowName = "DisplayDetails";
	
	var feature = "toolbar=0,location=1,directories=0,status=0,menubar=0,scrollbars=0,resizable=0";
	feature = feature + ",width=720,height=600,alwaysRaised=yes,tofront=yes";	
	var tail	= "?strID="+in_value+"&ct="+ct;
	window.open(filename+tail,windowName,feature);	
	return false;
}

function ck_contactPsn_ext(its) {
	var s_value = its.value;
	s_value = s_value.replace(/^[\s]+/g,"");
	if (s_value == "" ) {
		alert("Please fill in info for contact person and extension");
		return false;
	}
	return true;
}

function verify(theform) {
	if (!verifyAllDate(theform)) {return false;}
	if (!verifyAllTime(theform)) {return false;}
	if (!ck_contactPsn_ext(document.all.Comments)) {return false;}
	//if (!verifyRadioBtn(theform)) {return false;}		
	return true;
}

function verifyAllDate(form) {
	var s_date = trim(form.Date.value)
	var e_date = trim(form.EndDate.value)
	
	var s_s_date, e_e_date;
	var s_y, s_m, s_d, e_y, e_m, e_d;
	
	if (!verifyDate(s_date)) {
	//	alert("Wrong start date input, start date should be at least today and within 3 years");
		alert("Wrong start date input, start date should be within 3 years");
		form.Date.focus();
		return false; 
	}
	
	s_s_date = gettheDate(s_date + " 00:00am");
	var today, t_today,y_year, m_month, d_day;
	today = new Date();
	y_year = today.getYear();
	m_month = today.getMonth();
	d_day = today.getDate();
	t_today = new Date(y_year, m_month, d_day,0,0,0);
//	if (s_s_date < t_today) {
//		alert("Wrong input, start date should be at least today");
//		alert("Are you sure you want to update/add the records to one year ahead today or 2 years later?");
//		return false;
//	}
	
	if ((e_date.length > 0)||(parseInt(form.WeekDayName2.value) != 8)) {
		if (!verifyDate(e_date)) { 
			alert("Wrong end date input");
			form.EndDate.focus();
			return false; }
		
		e_e_date = gettheDate(e_date + " 00:00");
		
		if (e_e_date <= s_s_date) {
			alert("Wrong, your entry for start date should be earlier than end date");
			form.EndDate.focus();
			return false;
		}
	}
	//prompt("s_s_date: " +s_s_date+" e_e_date: " + e_e_date );
	return true;
}

function verifyDate(dateStr) {
	var i_1, i_2, s_1, s_2, s_3;

//new version
	if (dateStr.length < 6) { return false;}
	
	if ((dateStr.length==0)||(dateStr.indexOf("/")==-1)) {
	//	alert("Wrong date format or no input");
		return false;	
	}	
	
	i_1 = dateStr.indexOf("/");
	s_1 = dateStr.substring(0,i_1);		//substr	
	i_2 = dateStr.lastIndexOf("/");	
	
	if (i_1 == i_2) { return false;}	
	if ((dateStr.length - (i_2+1)) != 2) { return false;}
	
//below is the version which allows input like "10/2", and "10/2/01"	
	if (!isNumeric(s_1, 12)) {		//month
	//	alert("Non-numeric MONTH input, No month input, or month value > 12");
		return false;
	}else {
		if (i_1 != i_2) {		//month/day/year
			s_2 = dateStr.substring(i_1+1,i_2);	
			s_3 = trim(dateStr.substring(i_2+1,dateStr.length));	
			//alert(s_3)
			if (!isNumeric(s_2, 31)) {
		//		alert("Non-numeric day input, No day input, or day value > 31");
				return false;
			}
			if (!isNumericYear(s_3)) {	
			//	alert("Non-numeric year input, No year input, or year value < 1970");
					//document.write("YEAR" + s_3+"YEAR");
				return false; 
			}
		}else {		//month/day
			s_2 = dateStr.substr(i_1+1,dateStr.length-i_1-1);	
			if (!isNumeric(s_2, 31)) {	
		//		alert("No year input, ok; Non-numeric day input, No day input, or day value > 31");
				return false; 
			}		
		}	
	}
	return true;
}

function isNumericYear(in1) {
	var today, yeardiff;
	today = new Date();
	var yyYear, tTemp;
	yyYear = today.getYear();
	in1 = parseInt(in1) + 2000;
	yeardiff = in1 - yyYear;
	if ((isNaN(in1))||(in1.length==0)||(in1.length==3)||(in1<1)||(yeardiff<-1)||(yeardiff>2)){
		return false;
	}
	return true;
}
function verifyAllTime(form) {
	var s_time = trim(form.StartTime.value);
	var e_time = trim(form.EndTime.value);
	var s_time_actl = trim(form.StartTimeActl.value);
	var e_time_actl = trim(form.EndTimeActl.value);
	
	var s_s_time = gettheDate("1/1/2001 " + s_time);
	var e_e_time = gettheDate("1/1/2001 " + e_time);
	var s_s_time_actl = gettheDate("1/1/2001 " + s_time_actl);
	var e_e_time_actl = gettheDate("1/1/2001 " + e_time_actl);
		
	if (!verifyTime(s_time)) {
		alert("wrong with start time");
		form.StartTime.focus();
		return false; 
	}
	if ((!verifyTime(e_time))||(e_e_time<e_e_time_actl)) { 
		alert("wrong with cleanup time, or actual end time later than cleanup time");
		form.EndTime.focus();
		return false; 
	}
	if ((!verifyTime(s_time_actl))||(s_s_time_actl < s_s_time)) {
		alert(s_s_time_actl);
		alert(s_s_time);
		alert("wrong with actual start time, or actual start time earlier than setup time");
		form.StartTimeActl.focus();
		return false; 
	}
	if (!verifyTime(e_time_actl)||(e_e_time_actl<=s_s_time_actl)) { 
		alert("wrong with actual end time, or actual start time earlier than actual end time");
		form.EndTimeActl.focus();
		return false; 
	}			
	
	if(parseInt(form.WeekDayName2.value) != 8) {
		var s_2_time = trim(form.StartTime2nd.value);
		var e_2_time = trim(form.EndTime2nd.value);
		var s_2_time_actl = trim(form.StartTime2ndActl.value);
		var e_2_time_actl = trim(form.EndTime2ndActl.value);		
	
		var s_2_s_time = gettheDate("1/1/2001 " + s_2_time);
		var e_2_e_time = gettheDate("1/1/2001 " + e_2_time);
		var s_2_s_time_actl = gettheDate("1/1/2001 " + s_2_time_actl);
		var e_2_e_time_actl = gettheDate("1/1/2001 " + e_2_time_actl);		
	
		if (!verifyTime(s_2_time)) {
			alert("wrong with 2nd start time");
			form.StartTime2nd.focus();
			return false; 
		}
		if (!verifyTime(e_2_time)||(e_2_e_time<e_2_e_time_actl)) { 
			alert("wrong with 2nd end time, or cleanup time is earlier than actual end time");
			form.EndTime2nd.focus();
			return false; 
		}	
		if (!verifyTime(s_2_time_actl)||(s_2_s_time_actl<s_2_s_time)) {
			alert("wrong with 2nd actual start time, or setup time later than actual start time");
			form.StartTime2ndActl.focus();
			return false; 
		}
		if (!verifyTime(e_2_time_actl)||(e_2_e_time_actl<s_2_s_time)) { 
			alert("wrong with 2nd actual end time, or actual start time later than end time");
			form.EndTime2ndActl.focus();
			return false; 
		}	
	}
	return true;
}

function isNumeric(in1, i_int) {
	if ((isNaN(in1)) || (in1.length == 0) || (parseInt(in1) > i_int)){
		return false;
	}
	return true;
}

function verifyTime(timeStr) {
	var i_1, i_2, h_1, m_1, i_am, i_pm, i_index;
	
	i_1 = timeStr.indexOf(":");
	i_2 = timeStr.lastIndexOf(":");
	
	if ((timeStr.length==0)||(i_1==-1) || (i_1==0)) {
		//alert("Wrong format, or no time input");
		return false;	
	}

	h_1 = timeStr.substring(0,i_1);		//	
	
	i_am = timeStr.indexOf("am");
	if (i_am == -1) {i_am = timeStr.indexOf("AM"); }
	i_pm = timeStr.indexOf("pm");
	if (i_pm == -1) {i_pm = timeStr.indexOf("PM"); }
	if (i_1 == i_2) {	
		m_1 = timeStr.substring(i_1+1, timeStr.length);
		if (i_am != -1) {
			if (timeStr.length != (i_am+2)) {
				//alert("Wrong: should have no char after am");
				return false;
			}
			m_1 = trim(timeStr.substring(i_1+1, i_am));
		}
		if (i_pm != -1) {
			if (timeStr.length != (i_pm+2)) {
			//	alert("Wrong: should have no char after pm");
				return false;
			}
			m_1 = trim(timeStr.substring(i_1+1, i_pm));
		}
	}else {
		m_1 = timeStr.substring(i_1+1, i_2);
	}

	if ((i_am != -1) || (i_pm != -1)) {
		if (!isNumeric(h_1, 12)) { 
			alert("Wrong: the hour value should be <=12 with am or pm");
			return false;
		}
	} else {
		if (!isNumeric(h_1, 24)) { 
		//	alert("Wrong: the hour value should be <=24 without am or pm");
			return false;
		}
	}
	if (!isNumeric(m_1,60)) { 
		//prompt("MMMM"+m_1+"MMMM")
		//alert("Wrong: non-numeric minute format");
		return false;
	}
	 
	return true;
}

function closeMe(){
ttime = setTimeout("self.close()",timeToClose);
}

function verifyRadioBtn(form) {
	alert("I am here");
	var avBtn = form.AVRequired.value;
	if (avBtn=="True") {		
		if (trim(form.AVComments.value.length)<1) {
			alert("Please add content for AV equipment!");
			return false;
		}
	}
	return true;
}

function v_ck_input(str) {
	if (str.value.length <1) {
		alert("Please input the requirement first!");
		str.focus();
		return false;
	}	
	return true;
}

function gettheDate(dateStr) {
	var i_1, i_2, i_3, i_4, i_5, i_6, i_mon, i_d, i_y, i_h, i_min, i_s;
	var s_1, s_2, s_3;
	
	i_1 = dateStr.indexOf("/");
	i_mon = dateStr.substring(0, i_1)-1;
	i_2 = dateStr.lastIndexOf("/");
	i_3 = dateStr.indexOf(" ");
	i_4 = dateStr.indexOf(":");
	i_5 = dateStr.indexOf("pm");
	if (i_5 == -1) {i_5 = dateStr.indexOf("PM");}
	i_6 = dateStr.lastIndexOf(":");
	
	if (i_1==i_2){
		i_d = dateStr.substr(i_1+1, i_3-i_1-1);
		t_date = new Date();
		i_y = t_date.getYear();
	}else {
		i_d = dateStr.substring(i_1+1, i_2);
		i_y = dateStr.substr(i_2+1,i_3-i_2-1);
	}
	
	if (i_5 == -1) { i_h = dateStr.substring(i_3+1, i_4); }
	else {
		i_h = parseInt(dateStr.substring(i_3+1, i_4)) + 12;
		if (i_h == 24) {i_h =12;}
	}
	
	if(i_4 == i_6) {
		i_min = parseInt(dateStr.substring(i_4+1,dateStr.length));  //who cares the am/pm 
	} else {
		i_min = parseInt(dateStr.substring(i_4+1, i_6));
	}
	//prompt("i_h: " + i_h + " i_min: " + i_min);
	i_s = 0;
	
	var ddDate = new Date(i_y, i_mon, i_d, i_h, i_min, i_s);
	
	return ddDate;
}

function verifyDate_spare(dateStr) {
	var i_1, i_2, s_1, s_2, s_3;
	
	if ((dateStr.length==0)||(dateStr.indexOf("/")==-1)) {
	//	alert("Wrong date format or no input");
		return false;	
	}
	
	i_1 = dateStr.indexOf("/");
	s_1 = dateStr.substring(0,i_1);		//substr	
	i_2 = dateStr.lastIndexOf("/");
	
	if (!isNumeric(s_1, 12)) {		//month
	//	alert("Non-numeric MONTH input, No month input, or month value > 12");
		return false;
	}else {
		if (i_1 != i_2) {		//month/day/year
			s_2 = dateStr.substring(i_1+1,i_2);	
			s_3 = trim(dateStr.substring(i_2+1,dateStr.length));	
			
			if (!isNumeric(s_2, 31)) {
		//		alert("Non-numeric day input, No day input, or day value > 31");
				return false;
			}
			if (!isNumericYear(s_3)) {	
		//		alert("Non-numeric year input, No year input, or year value < 1970");
					//document.write("YEAR" + s_3+"YEAR");
				return false; 
			}
		}else {		//month/day
			s_2 = dateStr.substr(i_1+1,dateStr.length-i_1-1);	
			if (!isNumeric(s_2, 31)) {	
		//		alert("No year input, ok; Non-numeric day input, No day input, or day value > 31");
				return false; 
			}		
		}	
	}
	return true;
}

function trim(inStr) {
	var outStr,lastCh,ch;
	outStr = "";
	lastCh = " ";
	for (x=0; x < inStr.length; x++) {
	ch = inStr.charAt(x);
	if ((ch != " ") || (lastCh != " ")) { 
		outStr += ch; 
	}
	lastCh = ch;
	}
	if (outStr.charAt(outStr.length-1) == " ") {
		outStr = outStr.substring(0, outStr.length-1); 
	}
	return outStr;
}

function dw(x){document.write(x);}
function validateFormDate(form) {
	var y1 = parseInt(form.year1.value)
	var y2 = parseInt(form.year2.value)
	var m1 = parseInt(form.month1.value)
	var m2 = parseInt(form.month2.value)
	var d1 = parseInt(form.day11.value)
	var d2 = parseInt(form.day22.value)

	var date1 = new Date(y1,m1,d1)
	//document.write(date1) //check
	var date2 = new Date(y2,m2,d2)
	//document.write(date2) //check
	if (date1 > date2) {
		alert("Wrong search date input! The 1st search date should be earlier than the 2nd");
		return false;	
	}
	return true;
}
function checkbox_u() {
	alert("You can not setup values from here, please go through 'Update'");
	return false;
}

//var theURL = 's.html';
var width  = 600;
var height = 500;

function popWindow(url) {
	newWindow = window.open(url,'newWindow','toolbar=no,	menubar=no,resizable=no, scrollbars=no,status=no,location=no,width='+width+',height='+height);
}

// BEGIN Del's code

function validate_top() {
var varFormTop = window.document.searchByPeriod;

if (varFormTop.year1.value > varFormTop.year2.value)
{
	alert('Wrong search date input! The 1st search date should be earlier than the 2nd.');
	event.returnValue=false;
}

if (varFormTop.year1.value == varFormTop.year2.value)
{
	if ((varFormTop.month1.value-2) > (varFormTop.month2.value-2))
	{
		alert('Wrong search date input! The 1st search date should be earlier than the 2nd.');
		event.returnValue=false;
	}
}

if (varFormTop.year1.value == varFormTop.year2.value)
{
	if ((varFormTop.month1.value-2) == (varFormTop.month2.value-2))
	{
		if ((varFormTop.day11.value) > (varFormTop.day22.value))
		{		
			alert('Wrong search date input! The 1st search date should be earlier than the 2nd.');
			event.returnValue=false;
		}
	}
}

event.returnValue=true;

}

// END Del's code

