// Add event handler
//  Input:
//    elm         element id
//    evType      event type
//    fn          function to associate with event
//    useCapture  true to capture

function addEvent(elm, evType, fn, useCapture) {
  if (elm.addEventListener) {
    elm.addEventListener(evType, fn, useCapture);
    return true; 
  } else if (elm.attachEvent) {
    var r = elm.attachEvent('on' + evType, fn);
    return r;
  } else {
    elm['on' + evType] = fn;
  }
}




// push a value to a two-dimensional list
//    arrname   name of array
//    arridx    index in array
//    val       value to push
//
//  does not push duplicates
//  returns tryu if successful

function pushit(arrname, arridx, val) {
  var newpos = arrname[arridx].length;
  if (newpos > 0) {
    // search for already in list
    var found = false;           
    for (var t in arrname[arridx]) {
      if (arrname[arridx][t] == val) {
        // alert('already have ' + val + ' in ' + arridx);
        return false;
      }
    }
  }
  
  arrname[arridx][newpos] = val;
  return true;
}


// get list from array, display each element on a separate html line
//
//  Input:
//    list    name of list
//  Returns:
//    each element, separated by br tag

function getlist_str(list) {
  var str = '';
                         
  // alert(list.length+'  list:'+list);
  for (var idx in list) {
    if (str.length == 0) {
      str = list[idx];
    } else {
      str += '<br />' + list[idx];
    }
  }

  return str;
}

