//
// dakvalidate package
//

function dakvalidate_date (orig) {
   var result;
   var istr;
   var ostr;
   var mm;
   var dd;
   var yyyy;
   var i;
   var c;

   result = "";
   istr = orig.toString();
   ostr = "";

   // blanks okay
   if (istr == "") return "";

   // len
   if (istr.length != 10) result = null;
   // year
   for (i = 0;  i <= 3;  i++) {
      c = istr.charAt (i);
      if ((c < "0") || (c > "9")) result = null;
   }
   yyyy = parseInt (istr.substring (0, 4), 10);
   // delim
   c = istr.charAt (4);
   if (c != "-") result = null;
   // month
   for (i = 5;  i <= 6;  i++) {
      c = istr.charAt (i);
      if ((c < "0") || (c > "9")) result = null;
   }
   mm = parseInt (istr.substring (5, 7), 10);
   if ((mm < 1) || (mm > 12)) result = null;
   // delim
   c = istr.charAt (7);
   if (c != "-") result = null;
   // day
   for (i = 8;  i <= 9;  i++) {
      c = istr.charAt (i);
      if ((c < "0") || (c > "9")) result = null;
   }
   dd = parseInt (istr.substring (8, 10), 10);
   if ((dd < 1) || (dd > 31)) result = null;
   // check month/day/year combo
   if ((mm == 4) || (mm == 6) || (mm == 9) || (mm == 11)) {
      if (dd > 30) result = null;
   } else {
      if (dd > 31) result = null;
   }
   if (mm == 2) {
      if (((yyyy % 4) > 0) && (dd > 28)) {
         result = null;
      } else if (dd > 29) {
         result = null;
      }
   }
   // 
   ostr += yyyy;
   ostr += "-";
   if (mm < 10) ostr += "0";
   ostr += mm;
   ostr += "-";
   if (dd < 10) ostr += "0";
   ostr += dd;

   if (result == null) {
      alert ("Error entering date; please use format YYYY-MM-DD.");
      return null;
   } else {
      return ostr;
   }
}

//
//
//

function dakvalidate_time (orig) {
   var result;
   var istr;
   var ostr;
   var i;
   var hh;
   var mm;

   result = "";
   istr = orig.toString();
   ostr = "";

   // blanks okay
   if (istr == "") return "";

   // len
   if (istr.length != 4) result = null;
   // hour
   for (i = 0;  i <= 1;  i++) {
      c = istr.charAt (i);
      if ((c < "0") || (c > "9")) result = null;
   }
   hh = parseInt (istr.substring (0, 2), 10);

   // min
   for (i = 2;  i < istr.length;  i++) {
      c = istr.charAt (i);
      if ((c < "0") || (c > "9")) result = null;
   }
   mm = parseInt (istr.substring (2, istr.length), 10);
   //
   if (hh < 10) ostr += "0";
   ostr += hh;
   if (mm < 10) ostr += "0";
   ostr += mm;

   if ((hh == 24) && (mm != 0)) result = null;
   if (hh > 24) result = null;
   if (mm > 59) result = null;

   if (result == null) {
      alert ("Error entering time; please use format HHMM.");
      return null;
   } else {
      return ostr;
   }
}

//
//
//

function dakvalidate_int (orig) {
   var result;
   var istr;
   var ostr;
   var i;

   result = "";
   istr = orig.toString();
   ostr = "";

   // blanks okay
   if (istr == "") return "0";

   for (i = 0;  i < istr.length;  i++) {
      c = istr.charAt (i);
      if ((c < "0") || (c > "9")) result = null;
   }
   i = parseInt (istr, 10);
   ostr += i;

   if (result == null) {
      alert ("Error entering integer number.");
      return null;
   } else {
      return ostr;
   }
}

//
//
//

function dakvalidate_float (orig) {
   var result;
   var istr;
   var ostr;
   var i;
   var f;
   var numdecpt;

   result = "";
   istr = orig.toString();
   ostr = "";
   numdecpt = 0;

   // blanks okay
   if (istr == "") return "0.0";

   for (i = 0;  i < istr.length;  i++) {
      c = istr.charAt (i);
      if (c == ".") {
         if (numdecpt != 0) result = null;
         numdecpt++;
      } else if ((c < "0") || (c > "9")) {
         result = null;
      }
   }
   f = parseFloat (istr);
   ostr += f;

   if (result == null) {
      alert ("Error entering floating point number.");
      return null;
   } else {
      return ostr;
   }
}

//
//
//

function dakvalidate_knum (knum) {
   var i;
   var c;
   var result;

   result = knum;

   if ((knum.length != 0) && (knum.length != 7)) {
      result = null;
   }

   for (i = 0;  i < knum.length;  i++) {
      c = knum.charAt (i);
      if ((c < "0") || (c > "9")) result = null;
   }

   if (result == null) {
      alert ("Please enter exactly seven digits.");
   }

   return result;
}

//
//
//

function dakvalidate_email (email) {
   var i;
   var c;
   var result;
   var atsignseen;

   atsignseen = false;
   for (i = 0;  i < email.length;  i++) {
      c = email.charAt (i);
      if (c == "@") atsignseen = true;
   }

   result = email;
   if (!atsignseen) result = null;
   if (result == null) {
      alert ("Please enter a valid email address.");
   }

   return result;
}

function findInPage(str) {
	var NS4 = (document.layers);
	var IE4 = (document.all);

	var win = this;
	var n   = 0;

	var txt, i, found;
	if (str == "")
		return false;

	if (NS4) {
		if (!win.find(str))
			while(win.find(str, false, true))
				n++;
		else
			n++;
		if (n == 0) alert(str + " was not found on this page.");
	}
	if (IE4) {
		txt = win.document.body.createTextRange();
		for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
			txt.moveStart("character", 1);
			txt.moveEnd("textedit");
		}

		if (found) {
			txt.moveStart("character", -1);
			txt.findText(str);
			txt.scrollIntoView();
			n++;
		} else {
			if (n > 0) {
				n = 0;
				findInPage(str);
			}
			else
				return false;
				//alert(str + " was not found on this page.");
		}
	}
	return false;
}
//  End -->

function findit() {
    if (document.searchform.searchtext.value == '') {
        alert('Nothing to search for');
        return;
    }
    if (document.all) {
        var found = false;
        var text = document.body.createTextRange();
        for (var i=0; i<=pos && (found=text.findText(document.searchform.searchtext.value)) != false; i++) {
            text.moveStart("character", 1);
            text.moveEnd("textedit");
        }
        if (found) {
            text.moveStart("character", -1);
            text.findText(document.searchform.searchtext.value);
            text.select();
            text.scrollIntoView();
            pos++;
        }
        else {
            if (pos == '0')
                alert('"' + document.searchform.searchtext.value +'" was not found on this page.');
            else
                alert('No further occurences of "' + document.searchform.searchtext.value +'" were found.');
            pos=0;
        }
    }
    else if (document.layers) {
        find(document.searchform.searchtext.value,false);
    }
}


