function charCount(inputObjId) {
  return document.getElementById(inputObjId).value.length;  
}

function setText(outputObjId, strVal) {
  document.getElementById(outputObjId).innerHTML = strVal;
}

function recordOutboundLink(analyticsId, obj, category, action, label) {
  try {
    var pageTracker=_gat._getTracker(analyticsId);
    pageTracker._initData();
    pageTracker._trackEvent(category, action, label);
    setTimeout('document.location = "' + obj.href + '"', 100)
  }
  catch(err) { setTimeout('document.location = "' + obj.href + '"', 10); }
}

function showElement(elementId) {
  document.getElementById(elementId).style.display = '';
  document.getElementById(elementId).style.visibility = 'visible';
  document.getElementById(elementId).style.height = 'auto';
}

function hideElement(elementId) {
  document.getElementById(elementId).style.display = 'none';
  document.getElementById(elementId).style.visibility = 'hidden';
  document.getElementById(elementId).style.height = '0px';
}

function toggleElementVisibility(elementId) {
  if (isElementVisible(elementId) == false) { showElement(elementId); }
    else { hideElement(elementId); }
}

function isElementVisible(elementId) {
  var l_oRow = document.getElementById(elementId);
  if (l_oRow.style.visibility == 'hidden') { return false; }
    else { return true; }
}

function checkUncheckAll(elementName, masterElementName) {
	for (i = 0; i < elementName.length; i++) {
		elementName[i].checked = masterElementName.checked? true:false;
	}
}

function insertAtCursor(myField, myValue) {
  if (document.selection) {  // IE support
    myField.focus();
    sel = document.selection.createRange();
    sel.text = myValue;
  }else if (myField.selectionStart || myField.selectionStart == '0') {  // MOZILLA-NETSCAPE support 
    var startPos = myField.selectionStart;
    var endPos = myField.selectionEnd;
    myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
  }else{
    myField.value += myValue;
  }
}

/* Add to textarea... onKeyDown="limitText(this.form.thename,100);" onKeyUp="limitText(this.form.thename,100);" */
function limitText(limitField, limitNum) {
  if (limitField.value.length > limitNum) { limitField.value = limitField.value.substring(0, limitNum); }
}

function numbersOnly(myfield, e, dec) {
  var key;
  var keychar;

  if (window.event){
    key = window.event.keyCode;
  }else if (e){
    key = e.which;
  }else{
    return true;
  }

  keychar = String.fromCharCode(key);

  if ( (key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) {
    return true;
  }else if ((("0123456789").indexOf(keychar) > -1)){
    return true;
  }else if (dec && (keychar == ".")){
    myfield.form.elements[dec].focus();
    return false;
  }else{
    return false;
  }
}

var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
  var keyCode = (isNN) ? e.which : e.keyCode;
  var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
  if (input.value.length >= len && !containsElement(filter,keyCode)) {
    input.value = input.value.slice(0, len);
    input.form[(getIndex(input)+1) % input.form.length].focus();
  }

  function containsElement(arr, ele) {
    var found = false, index = 0;
    while(!found && index < arr.length) {
      if (arr[index] == ele) { found = true; }
        else { index++; }
    }
    return found;
  }
    
  function getIndex(input) {
    var index = -1, ii= 0, found = false;
    while (ii< input.form.length && index == -1) {
      if (input.form[ii] == input) { index = ii; }
        else { ii++; }
    }
    return index;
  }  
  return true;
}

function openWindow(loc) {popupWin = window.open(loc, 'Communication_Freedom', 'width=480,height=550,left=100,top=100');}
function openWindow(loc, width, height){popupWin = window.open(loc, 'Communication_Freedom', 'width=' + width + ',height=' + height + ',left=100,top=100');}
function openWindow(loc, width, height, left, top){popupWin = window.open(loc, 'Communication_Freedom', 'width='+width+',height='+height+',left='+left+',top='+top);}

