String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

function checkFilled(oField, sAlert) {
  return ('' == oField.value.trim()) ? showAlert(oField, sAlert) : true;  
}

function checkEqual(oField1, oField2, sAlert) {
  return (oField1.value.trim() != oField2.value.trim()) ? showAlert(oField1, sAlert) : true;  
}

function checkId(oField, sAlert) {
  return (!(parseInt(oField.value) > 0)) ? showAlert(oField, sAlert) : true;
}

function checkEmail(oField, sAlert) {
  //return (!oField.value.match(/^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}$/i)) 
  return (!(!oField.value.match(/(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/) 
    && oField.value.match(/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/)))
    ? showAlert(oField, sAlert) : true;
}

function showAlert(oField, sAlert) {
  window.scrollTo(findPosX(oField), findPosY(oField)-25);
  oField.focus();
  window.alert(sAlert);
  return false;
}

function findPosX(obj) {
  var curleft = 0;
  if (obj.offsetParent) {
    while (obj.offsetParent) {
      curleft += obj.offsetLeft
      obj = obj.offsetParent;
    }
  }
  else if (obj.x) {
    curleft += obj.x;
  }																	       
  return curleft;
}

function findPosY(obj) {
  var curtop = 0;
  if (obj.offsetParent) {
    while (obj.offsetParent) {
      curtop += obj.offsetTop
      obj = obj.offsetParent;
    }
  }
  else if (obj.y) {
    curtop += obj.y;
  }																																					        
  return curtop;
}

