/* author: Jean Francois */
/* creation date: 11/30/2000 */

var submitVar = 1;
var msg = "";

function isBlank(s)
{
var c;
for (var i = 0; i < s.length; i++)
 { 
  c = s.charAt(i);
  if ((c != ' ') && (c != '\n') && (c != '\t'))
  	 return false;
 }
 return true;
}

function mess(e,errMsg)
{
if (e.value == null || e.value == "" || isBlank(e.value))
		{
			msg = errMsg + msg;
			e.focus();
		}
return;		
}

function ErrMsgRange(e,errMsg,low,high)
{
 var tempValue;
 
 if (!isNaN(parseFloat(e.value))) 
 {
   tempValue = parseFloat(e.value);
 
   if (tempValue < low || tempValue > high)
   {
	 msg = "-- The field " + errMsg + " is out of range: (" + low + " to " + high + ").\n" + msg;
 	 e.focus();
   }
 }
 else
 {
  	 msg = "-- The field " + errMsg + " is not valid!\n" + msg;
 	 e.focus();
 }
}



function isEmail(str) 
{

  // are regular expressions supported?

  var supported = 0;

  if (window.RegExp) {

    var tempStr = "a";

    var tempReg = new RegExp(tempStr);

    if (tempReg.test(tempStr)) supported = 1;

  }

  if (!supported) 

  return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);

  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");

  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");

  return (!r1.test(str) && r2.test(str));

}



function ValidDate(datein)
{
  var indate = datein;
  var sdate = indate.split("/");

  if (isNaN(sdate[0]))
  if (sdate[0] == "january") {sdate[0]="1"; indate=sdate[0]+"/"+sdate[1]+"/"+sdate[2];} else
  if (sdate[0] == "february") {sdate[0]="2"; indate=sdate[0]+"/"+sdate[1]+"/"+sdate[2];} else 
  if (sdate[0] == "march") {sdate[0]="3"; indate=sdate[0]+"/"+sdate[1]+"/"+sdate[2];} else
  if (sdate[0] == "april") {sdate[0]="4"; indate=sdate[0]+"/"+sdate[1]+"/"+sdate[2];} else
  if (sdate[0] == "may") {sdate[0]="5"; indate=sdate[0]+"/"+sdate[1]+"/"+sdate[2];} else
  if (sdate[0] == "june") {sdate[0]="6"; indate=sdate[0]+"/"+sdate[1]+"/"+sdate[2];} else
  if (sdate[0] == "july") {sdate[0]="7"; indate=sdate[0]+"/"+sdate[1]+"/"+sdate[2];} else
  if (sdate[0] == "august") {sdate[0]="8"; indate=sdate[0]+"/"+sdate[1]+"/"+sdate[2];} else
  if (sdate[0] == "september") {sdate[0]="9"; indate=sdate[0]+"/"+sdate[1]+"/"+sdate[2];} else
  if (sdate[0] == "october") {sdate[0]="10"; indate=sdate[0]+"/"+sdate[1]+"/"+sdate[2];} else
  if (sdate[0] == "november") {sdate[0]="11"; indate=sdate[0]+"/"+sdate[1]+"/"+sdate[2];} else
  if (sdate[0] == "december") {sdate[0]="12"; indate=sdate[0]+"/"+sdate[1]+"/"+sdate[2];}
	 
  var chkDate = new Date(Date.parse(indate));

  var cmpDate = (chkDate.getMonth()+1)+"/"+(chkDate.getDate())+"/"+(chkDate.getFullYear());
  var indate2 = (Math.abs(sdate[0]))+"/"+(Math.abs(sdate[1]))+"/"+(Math.abs(sdate[2]));

  if ((indate2 != cmpDate) || (cmpDate == "NaN/NaN/NaN"))
    return false;
  else 
    return true;
}



function daysBetween(from,to) 
{
	var fromDate = from, endDate = to;
	var start = fromDate.split("/");
	var end = endDate.split("/");
	
	// from and to come in the format january/1/1970,
	// so change the month to the corresponding month number so that
	// javascript function can parse them.
	
	start[0] = (start[0] == "january") ? "1" : start[0];
	start[0] = (start[0] == "february") ? "2" : start[0];
	start[0] = (start[0] == "march") ? "3" : start[0];
	start[0] = (start[0] == "april") ? "4" : start[0];
	start[0] = (start[0] == "may") ? "5" : start[0];
	start[0] = (start[0] == "june") ? "6" : start[0];
	start[0] = (start[0] == "july") ? "7" : start[0];
	start[0] = (start[0] == "august") ? "8" : start[0];
	start[0] = (start[0] == "september") ? "9" : start[0];
	start[0] = (start[0] == "october") ? "10" : start[0];
	start[0] = (start[0] == "november") ? "11" : start[0];
	start[0] = (start[0] == "december") ? "12" : start[0];

	end[0] = (end[0] == "january") ? "1" : end[0];
	end[0] = (end[0] == "february") ? "2" : end[0];
	end[0] = (end[0] == "march") ? "3" : end[0];
	end[0] = (end[0] == "april") ? "4" : end[0];
	end[0] = (end[0] == "may") ? "5" : end[0];
	end[0] = (end[0] == "june") ? "6" : end[0];
	end[0] = (end[0] == "july") ? "7" : end[0];
	end[0] = (end[0] == "august") ? "8" : end[0];
	end[0] = (end[0] == "september") ? "9" : end[0];
	end[0] = (end[0] == "october") ? "10" : end[0];
	end[0] = (end[0] == "november") ? "11" : end[0];
	end[0] = (end[0] == "december") ? "12" : end[0];
	
	var SECOND = 1000; // the number of milliseconds in a second
	var MINUTE = SECOND * 60; // the number of milliseconds in a minute
	var HOUR = MINUTE * 60; // the number of milliseconds in an hour
	var DAY = HOUR * 24; // the number of milliseconds in a day
	var WEEK = DAY * 7; // the number of milliseconds in a week
	
	var periodFrom = new Date(Date.parse(start[0]+"/" + start[1] + "/" + start[2])), 
		periodTo = new Date(Date.parse(end[0] + "/"+end[1] + "/" + end[2]));

	var nTime = periodFrom.getTime(),
	    dTime = periodTo.getTime();
	var bTime = (dTime - nTime);  // time difference
	
	return (Math.round(bTime / DAY)+1);
}
