function setClass(obj, cl){
  if (!cl) cl = '';  
  obj.className = cl;
}

function setClassById(objid, cl){
  if (!cl) cl = '';  
  document.getElementById(objid).className = cl;
}

function changeDisplayById(objId){
  for (c = 0; c < changeDisplayById.arguments.length; c++){
    obj = document.getElementById(changeDisplayById.arguments[c]);
    if (obj.style.display == 'none') obj.style.display = 'block';
    else obj.style.display = 'none';
  }  
}

function gotoURL(url){
  if (!url) url = "/";
  if (window.event){
    var src = window.event.srcElement; 
    if((src.tagName != 'A') && ((src.tagName != 'IMG') || (src.parentElement.tagName != 'A'))){
      if (window.event.shiftKey) window.open(url);
      else document.location = url;
    }
  } else document.location = url;
}

function popupURL(url){
 window.open(url);
}

function getLeftPos(obj){
  var res = 0;
  while (obj){
    res += obj.offsetLeft;
    obj = obj.offsetParent;
  }
  return res;
}

function trim(str){
  var re = /^ */;
  var res = str.replace(re, '');
  re = / *$/;
  return(res.replace(re, ''));
}

function isValidEmail(mailstr){
  var re = /^ *([a-z0-9_-]+\.)*[a-z0-9_-]+@(([a-z0-9-]+\.)+(com|net|org|mil|edu|gov|arpa|info|biz|inc|name|[a-z]{2})|[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}) *$/;
  return (re.test(mailstr.toLowerCase()));
}

function getTopPos(obj){
  var res = 0;
  while (obj){
    res += obj.offsetTop;    
    obj = obj.offsetParent;
  }
  return res;
}

function chbCheckAll(formId, checkName, checkVal){
  var checkCount = 0;
  var el = document.forms[formId].elements;
  for (count = 0; count < el.length; count++){
   if (el[count].name == checkName + checkCount){
    if (!el[count].disabled){
      el[count].checked = checkVal;
    }
    checkCount++;
   }
  }
}

function chbExamAll(formId, checkName, resName){
  var checkCount = 0;
  var boxCount = 0;
  var el = document.forms[formId].elements;  
  for (count = 0; count < el.length; count++){
   if (el[count].name == checkName + boxCount){
    boxCount++;
    if (el[count].checked || el[count].disabled) checkCount++;
   }
  }
  document.forms[formId].elements[resName].checked = (checkCount == boxCount);
}

function chbIsAllEmpty(formId, checkName){
  var checkCount = 0;
  var boxCount = 0;
  var el = document.forms[formId].elements;
  for (count = 0; count < el.length; count++){
   if (el[count].name == checkName + boxCount){
    boxCount++;
    if (el[count].checked) checkCount++;
   }
  }
  return(checkCount == 0);
}

function chbIsOnlyOne(formId, checkName){
  var checkCount = 0;
  var boxCount = 0;
  var el = document.forms[formId].elements;
  for (count = 0; count < el.length; count++){
   if (el[count].name == checkName + boxCount){
    boxCount++;
    if (el[count].checked) checkCount++;
   }
  }
  return(checkCount == 1);
}

function disableAll(){
  for (c1 = 0; c1 < document.forms.length;  c1++){
    var formElements = document.forms[c1].elements; 
    for (c2 = 0; c2 < formElements.length;  c2++) formElements[c2].disabled = true;
  }
}
