// $Source: /opt/cvs/cvsroot/devel/cco/www/js/utils.js,v $
// $Revision: 1.1.1.1 $
// $Date: 2000/07/21 17:33:19 $

// check to see if given field is blank
function isblank(s) {

        var blank = true;

        for (var i = 0; i < s.length; i++) {
                var c = s.charAt(i);
                if ((c != ' ') && (c != '\n') && (c != '\t')) {
                        blank =  false;
                        break;
                }
        }
        return blank;
}

// determine the days available in the given month
function displayDays(mon, dayList)
{

	var optionz = new Option("Day", "0")
	dayList.options[0]=optionz;
	dayList.options[0].selected=true;

	for (var i=1; i < 29; i++) {
		var option0 = new Option(String(i), String(i))
		dayList.options[i]=option0;
	}

	if ((mon == 4) || (mon == 6) || (mon == 9)  || (mon == 11)) {
		for (var i=29; i < 31; i++) {
			var option0 = new Option(String(i), String(i))
			dayList.options[i]=option0;
		}
		dayList.options[31]=null;
	}
	else if (mon != 2) {
		for (var i=29; i < 32; i++) {
			var option0 = new Option(String(i), String(i))
			dayList.options[i]=option0;
		}
	}
	else {
		dayList.options[31]=null;
		dayList.options[30]=null;
	}
}

// check to ensure a radio button is selected
function check_radio_buttons(aButtons)
{
    var checked = -1;
	
	if (aButtons.length + "" == "undefined")
	{
		if (aButtons.checked)
		{
			checked = 0;
		}
	}
	else
	{	
	    for (var i = 0; i < aButtons.length; i++)
		{
			if (aButtons[i].checked)
			{
			    checked = i;
			}
		}
	}
	
	if (checked == -1)
	{
	   return false;	
	}

	return true;
}


function emailaddresscheck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}

////////////////////////////////////////////////////////////////////////////////


// function to load the calendar window.
function ShowCalendar(FormName, FieldName)
{
	window.open("/DateSelectPopup.cfm?FormName=" + FormName + "&FieldName=" + FieldName, "CalendarWindow", "width=200,height=240");
}


// function to load the calendar window.
function ShowEuroCalendar(FormName, FieldName)
{
	window.open("/DateEuroSelectPopup.cfm?FormName=" + FormName + "&FieldName=" + FieldName, "CalendarWindow", "width=200,height=240");
}


function isValidDate(dateStr, dateLabel, warnBeforeToday)
{
	var firstSlash = dateStr.indexOf("/");
	var secondSlash = dateStr.indexOf("/", firstSlash + 1);
	var validDate = true;
	

	if ((firstSlash == -1) || (secondSlash == -1)) {
		alert("Please enter " + dateLabel + " in the format: MM/DD/YYYY");
		validDate = false;
	}
	else {
		var monthStr = dateStr.substring(0,firstSlash);
		var dayStr = dateStr.substring(firstSlash + 1, secondSlash);
		var yearStr = dateStr.substring(secondSlash + 1);

		if (yearStr.length < 4) {
			alert("Please enter " + dateLabel + " in the format: MM/DD/YYYY");
			validDate = false;
		}
		
		else if ((monthStr < 1) || (monthStr > 12)) {
			alert(dateLabel + ": Please enter a valid month");
			validDate = false;
		}
		else if ((yearStr < 1900) || (yearStr > 2999)) {
			alert(dateLabel + ": Please enter a valid year");
			validDate = false;
		}
		else if ((dayStr < 1) || (dayStr > 31)) {
			alert(dateLabel + ": Please enter a valid day of month");
			validDate = false;
		}
		else if (((monthStr == 4) || (monthStr == 6) || (monthStr == 9) || (monthStr == 11))
				&& (dayStr > 30)) {
			alert(dateLabel + ": Please enter a valid day of month");
			validDate = false;
		}
		else if ((monthStr == 2) && (dayStr > 29)) {
			alert(dateLabel + ": Please enter a valid day of month");
			validDate = false;
		}
		else if (!IsNumeric(monthStr)) {
			alert(dateLabel + ": Please enter a valid month");
			validDate = false;		
		}
		else if (!IsNumeric(dayStr)) {
			alert(dateLabel + ": Please enter a valid day of month");
			validDate = false;		
		}
		else if (!IsNumeric(yearStr)) {
			alert(dateLabel + ": Please enter a valid year");
			validDate = false;		
		}			
		else if (warnBeforeToday) {

			var travelDate = new Date(dateStr + " 23:59:00");
			var todayDate = new Date();
			
			if (travelDate < todayDate) {
				if (confirm(dateLabel + " is earlier than today, are you sure you want to continue?"))
					return true;
				else
					return false;
			}
		}
	}

	return validDate;
}

function isValidEuroDate(dateStr, dateLabel, warnBeforeToday)
{
	var firstSlash = dateStr.indexOf("/");
	var secondSlash = dateStr.indexOf("/", firstSlash + 1);
	var validDate = true;
	

	if ((firstSlash == -1) || (secondSlash == -1)) {
		alert("Please enter " + dateLabel + " in the format: DD/MM/YYYY");
		validDate = false;
	}
	else {
		var dayStr = dateStr.substring(0,firstSlash);
		var monthStr = dateStr.substring(firstSlash + 1, secondSlash);
		var yearStr = dateStr.substring(secondSlash + 1);

		if (yearStr.length < 4) {
			alert("Please enter " + dateLabel + " in the format: DD/MM/YYYY");
			validDate = false;
		}
		
		else if ((monthStr < 1) || (monthStr > 12)) {
			alert(dateLabel + ": Please enter a valid month");
			validDate = false;
		}
		else if ((yearStr < 1900) || (yearStr > 2999)) {
			alert(dateLabel + ": Please enter a valid year");
			validDate = false;
		}
		else if ((dayStr < 1) || (dayStr > 31)) {
			alert(dateLabel + ": Please enter a valid day of month");
			validDate = false;
		}
		else if (((monthStr == 4) || (monthStr == 6) || (monthStr == 9) || (monthStr == 11))
				&& (dayStr > 30)) {
			alert(dateLabel + ": Please enter a valid day of month");
			validDate = false;
		}
		else if ((monthStr == 2) && (dayStr > 29)) {
			alert(dateLabel + ": Please enter a valid day of month");
			validDate = false;
		}
		else if (!IsNumeric(dayStr)) {
			alert(dateLabel + ": Please enter a valid day of month");
			validDate = false;		
		}
		else if (!IsNumeric(monthStr)) {
			alert(dateLabel + ": Please enter a valid month");
			validDate = false;		
		}
		else if (!IsNumeric(yearStr)) {
			alert(dateLabel + ": Please enter a valid year");
			validDate = false;		
		}				
	//	else if (warnBeforeToday) {
	//		
	//		var dateStr = formatDate(dateStr,"DD/MM/YYYY");
	//		alert("date is" + dateStr);
	//		
	//		var travelDate = new Date(dateStr + " 23:59:00");
	//		var todayDate = new Date();
	//		
	//		if (travelDate < todayDate) {
	//			if (confirm(dateLabel + dateStr + " is earlier than today, are you sure you want to continue?"))
	//				return true;
	//			else
	//				return false;
	//		}
	//	}
	}

	return validDate;
}

function IsNumeric(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789.-";
   var strChar;
   var blnResult = true;
	
   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }

  // -->


