var popup_window = 0;
var lvl= new Array("#9966ff","#ccccff","#e2e2fc","#ededfb","#fbfbfc","#fbfbfc");  //colorcodes according to hierarchylevel
// write the status text (delayed, NS6 bugfixed)
function writeStatusText(status_text) {
  setTimeout("status=\"" + status_text + "\"",15); return true;
}

function showDiv(div_id) {
  document.getElementById(div_id).style.display = "";
}

function hideDiv(div_id) {
  document.getElementById(div_id).style.display = "none";
}

function changeBGColor(tagID,BGCol) {
	document.getElementById(tagID).style.backgroundColor = BGCol;
}

function checkEmail(email) {
  if (window.RegExp) {
    var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)|(.* .*)";
    var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
    var reg1 = new RegExp(reg1str);
    var reg2 = new RegExp(reg2str);
    if ((!reg1.test(email) && reg2.test(email)))
      return true;
  } else { // for browsers that cannot evaluate regular expressions
    if (str.indexOf("@") > 1)
      return true;
  }
  return false;
}

function allowNumber(frmobj, e) { // return allowNumber(this, event)
  var key; var keychar;
  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    return true;
  keychar = String.fromCharCode(key);
  // control keys
  if ((key==null) || (key==0) || (key==8) || (key==9))
    return true;
  // numbers
  else if (("0123456789").indexOf(keychar) > -1)
    return true;
  else if (key == 8)
    return true;
  else if (key == 0)
    return true;
  else
   return false;
}

function allowFilename(frmobj, e) { // return allowFilename(this, event)
  var key; var keychar;
  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    return true;
  keychar = String.fromCharCode(key);
  // numbers
  if (("0123456789").indexOf(keychar) > -1)
    return true;
  // chars
  else if (("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_").indexOf(keychar) > -1)
    return true;
  // special
  else if ((" _-,.()[]{}#;@€!").indexOf(keychar) > -1)
    return true;
  else if (key == 8)
    return true;
  else if (key == 0)
    return true;
  else
   return false;
}

function allowAlphanum(frmobj, e) { // return allowAlphanum(this, event)
  var key; var keychar;
  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  else
    return true;
  keychar = String.fromCharCode(key);
  // numbers
  //alert(""+key);
  if (("0123456789").indexOf(keychar) > -1)
    return true;
  // chars
  else if (("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-").indexOf(keychar) > -1)
    return true;
  else if (key == 13)
    return true;
  else if (key == 8)
    return true;
  else if (key == 0)
    return true;
  else
   return false;
}


function noOp() {
  // no Operation
}

function alertKeyCode(e) { // for testing purposes only
  var key; var keychar;
  if (window.event)
    key = window.event.keyCode;
  else if (e)
    key = e.which;
  keychar = String.fromCharCode(key);
  alert("key: "+key+", keychar: "+keychar);
}


var htimer;

function clearNotifyText() {
  document.getElementById("notifytext").innerHTML = "<br>";
  if (htimer)
    clearTimeout(htimer);
}

function showNotifyText(text) {
  if (htimer)
    clearTimeout(htimer);
  document.getElementById("notifytext").innerHTML = text;
  htimer = setTimeout("clearNotifyText()",5000);
}

function openPopUp(_filename, _width, _height, _scroll, _resize, _status) {  
  _status = 0;
  window.opener = self;
  scrollbar = (_scroll)? ",scrollbars" : " ";
  resizing = (_resize)? ",resizable" : " ";
	status = (_status)? ",status=1" : " status=0";
  //if (popup_window != undefined)
  //  popup_window.close();
  //alert("_filename="+_filename);
  popup_window = window.open(_filename,"_blank","width="+_width+",height="+_height+scrollbar+resizing+status);
  //window.open(_filename);
  //if(popup_window)
  //  popup_window.focus();
}

function getSelectedRadio(buttonGroup) {
   // returns the array number of the selected radio button or -1 if no button is selected
   if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
      for (var i=0; i<buttonGroup.length; i++) {
         if (buttonGroup[i].checked) {
            return i
         }
      }
   } else {
      if (buttonGroup.checked) { return 0; } // if the one button is checked, return zero
   }
   // if we get to this point, no radio button is selected
   return -1;
} // Ends the "getSelectedRadio" function

function getSelectedRadioValue(buttonGroup) {
   // returns the value of the selected radio button or "" if no button is selected
   var i = getSelectedRadio(buttonGroup);
   if (i == -1) {
      return "";
   } else {
      if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
         return buttonGroup[i].value;
      } else { // The button group is just the one button, and it is checked
         return buttonGroup.value;
      }
   }
} // Ends the "getSelectedRadioValue" function
