// last change: 2002.05.17


function atoi(valstr)
{
   var val;

   val = parseInt(valstr);
   return (isNaN(val)) ? 0 : val;
}


function strchr(str,length,c)
{
   for (i = 0;i < length;i++)
      if (str.charAt(i) == c) return i;
   return -1;
}


function strrchr(str,c)
{
   for (i = str.value.length;i >= 0;i--)
      if (str.value.charAt(i) == c) return i;
   return -1;
}


function chk_txt_field(field)
{
   var i;

   if (field.value != null && field.value != "")  {
      for (i = field.value.length - 1;i >= 0;i--) {
         if (field.value.charAt(i) != ' ') return true;
      }
   }
   return false;
}


function ltrim(s)
{
   return s.replace(/^\s*/,'');
}


function rtrim(s)
{
   return s.replace(/\s*$/,'');
}


function trim(s)
{
   return rtrim(ltrim(s));
}


function get_date_time(showdat,showtime)
{
   var dt,min,day,mon,year,today = new Date;

   dt = "";
   if (showdat == true) {
      if ((day = today.getDate()) < 10)
         day = '0' + day;
      if ((mon = today.getMonth() + 1) < 10)
         mon = '0' + mon;
      year = today.getYear();
      if (year < 1000)
         year += 1900;
      dt = day + '-' + mon + '-' + year;
   }
   if (showtime == true) {
      dt += ' ' + today.getHours() + ':';
      if ((min = today.getMinutes()) < 10)
         dt += '0';
      dt += min;
   }
   return dt;
}


var md = new Array(31,28,31,30,31,30,31,31,30,31,30,31);


function chk_date_format_v(value)
{
   var i = 0,j = 0,d = new Array(0,0,0);

   for (;i < value.length;i++) {
      if (value.charAt(i) == '-')
         j++;
      else
         d[j] = d[j] * 10 + (value.charAt(i) - '0');
   }
   if (j != 2) {
      d[0] = value.substring(0,2);
      d[1] = value.substring(2,4);
      d[2] = value.substring(4,8);
   }
   if (d[1] == 2 && (!(d[2] % 4) && d[2] % 100) || !(d[2] % 400))
      md[1] = 29;
   else
      md[1] = 28;
   if (d[1] < 0 || d[1] > 12 || d[0] < 0 || d[0] > md[d[1] - 1])
      return false;
   return true;
}


function check_date(elem,mess)
{
   if (chk_date_format_v(elem.value) == true)
      return true;
   if (mess != '') {
      alert(mess);
      elem.focus();
   }
   return false;
}


function nohist(url)
{
   if (document.images)
      location.replace(url);
   else
      location.href = url;
}


var sp = " \t\n";

function obj_length(obj)
{
   var i,len = 0;

   switch (obj.type) {
      case 'password':
      case 'hidden':
      case 'text':
      case 'textarea':        for (len = obj.value.length;len > 0;len--)
                                 if (sp.indexOf(obj.value.charAt(len - 1))) return len;
                              break;
      case 'select-one':      len = obj.options[obj.selectedIndex].value.length;break;
      case 'select-multiple': for (i = 0;i < obj.options.length;i++)
                                 len += (obj.options[i].selected == true);
                              break;
      case 'checkbox':        return obj.checked;
   }
   return len;
}


function select_obj_value(obj)
{
   return obj.options[obj.selectedIndex].value;
}


var md = new Array(31,28,31,30,31,30,31,31,30,31,30,31);


function chk_date_format(datestr)
{
   var i,j = 0,c,d,hyphen,cd = new Array(0,0,0);

   hyphen = (datestr.value.search("-") >= 0);
   for (i = 0;i < datestr.value.length;i++) {
      c = datestr.value.charAt(i);
      if (c == '-' || (!hyphen && i && i <= 4 && !(i % 2)))
         j++;
      if (c >= 0 && c <= 9)
         cd[j] = cd[j] * 10 + (c - '0');
   }
   if (j >= 2 && cd[2] < 32)
      cd[2] += 2000;
   md[1] = (cd[1] == 2 && (!(cd[2] % 4) && cd[2] % 100) || !(cd[2] % 400)) ? 29 : 28;

   if (cd[1] < 1 || cd[1] > 12 || cd[0] < 1 || cd[0] > md[cd[1] - 1] || cd[2] < 1900)
      return null;

   d = new Date(cd[2],cd[1] - 1,cd[0]);
   datestr.value = print_date(d);

   return d;
}


function print_date(d)
{
   var day,mon;

   if ((day = d.getDate()) < 10)
      day = '0' + day;
   if ((mon = d.getMonth() + 1) < 10)
      mon = '0' + mon;

   return (day + '-' + mon + '-' + d.getFullYear());
}


function sleep(t)
{
   var now,start = new Date();

   while ((now = new Date()) - start < t)
      ;
}


function get_cookie(name)
{
   var bikky = document.cookie;
   var index = bikky.indexOf(name + "=");

   if (index == -1)
      return null;
   index = bikky.indexOf("=", index) + 1;
   var endstr = bikky.indexOf(";", index);
   if (endstr == -1)
      endstr = bikky.length;

   return unescape(bikky.substring(index,endstr));
}
