/*
copyright (c) 2006 Kjell-Inge Gustafsson kigkonsult
www.kigkonsult.se/iCalcreator/index.php
ical@kigkonsult.se
*/

function getFormIndex(fieldobj) {
  var form = document.form;
  var found = false;
  for (var i = 0; i < form.elements.length; i++)
    if ((found = form.elements[i].name == fieldobj.name))
      break;
  return found ? i : -1;
}

function setTodayDate(fieldobj,cnt) {
  if (!cnt)
    cnt = 3;
  if (7 < cnt)
    cnt = 7;
  var thisix  = getFormIndex(fieldobj);
  var date    = new Date();
  var year    = date.getFullYear();
  var yearix  = thisix + 1;
  var form    = document.form;
  var srcList = eval( 'document.form.' + 'elements[' + yearix + ']' );
  setSelectValue( srcList, year );
  var month = date.getMonth() + 1;
  var monthix = thisix + 2;
  var srcList = eval( 'document.form.' + 'elements[' + monthix + ']' );
  setSelectValue( srcList, month );
  var day     = date.getDate();
  var dayix   = thisix + 3;
  var srcList = eval( 'form.' + 'elements[' + dayix + ']' );
  var srcList = eval( 'document.form.' + 'elements[' + dayix + ']' );
  setSelectValue( srcList, day );
  if (3 < cnt) {
    var hour     = date.getHours();
    var hourix   = thisix + 4;
    var srcList  = eval( 'document.form.' + 'elements[' + hourix + ']' );
    setSelectValue( srcList, hour );
    var minute   = date.getMinutes();
    var minuteix = thisix + 5;
    var srcList  = eval( 'document.form.' + 'elements[' + minuteix + ']' );
    setSelectValue( srcList, minute );
    var second   = date.getSeconds();
    var secondix = thisix + 6;
    var srcList  = eval( 'document.form.' + 'elements[' + secondix + ']' );
    setSelectValue( srcList, second );
  }
 //  alert('setTodayDate cnt=' + cnt + ' ix=' + tzix + ' sign=' + sign + ' offsetmin=' + offsetmin);
  if (6 < cnt) {
    var tzix = thisix + 7;
    var offsetmin = date.getTimezoneOffset();
    var sign = '-';
    if (0 > offsetmin) {
      sign = '+';
      offsetmin = -1 * offsetmin;
    }
    offsetHour = offsetmin/60;
    if (offsetHour < 1)
      offsetHour = '00';
    else { 
      if (offsetHour < 10)
       offsetHour = '0' + offsetHour;
    }
    offsetmin = offsetmin - (offsetHour * 60);
    if (offsetmin < 1)
      offsetmin = '00';
    else { 
      if (offsetmin < 10)
       offsetmin = '0' + offsetmin;
    }
    document.form.elements[tzix].value = sign + offsetHour + offsetmin + '00';
  }
}
function setSelectValue( srcList, value ) {
  var srcLen = srcList.length;
  for (var i=0; i < srcLen; i++) {
    srcList.options[i].selected = false;
    if (srcList.options[i].value == value) {
      srcList.options[i].selected = true;
    }
  }
}
function blancPrev( fieldobj, fieldcnt, textfieldscnt ) {
  if (!fieldcnt)
    fieldcnt = 1;
  if (7 < fieldcnt)
    fieldcnt = 7;
  if (!textfieldscnt)
    textfieldscnt = 0;
  var form = document.form;
  var thisix = getFormIndex(fieldobj);
  for (i=1; i <= fieldcnt; i++) {
    var ix = thisix - i;
    if (0 < textfieldscnt) {
      textfieldscnt--;
      form.elements[ix].value = '';
    }
    else {
      var srcList = eval( 'form.' + 'elements[' + ix + ']' );
      var srcLen = srcList.length;
      for (var i2=0; i2 < srcLen; i2++) {
        srcList.options[i2].selected = false;
      }
    }
  }
}
