function IsNumeric(sText) {
  var ValidChars = "0123456789";
  var IsNumber=true;
  var Char;
 
  for (i = 0; i < sText.length && IsNumber == true; i++) 
  { 
    Char = sText.charAt(i); 
    if (ValidChars.indexOf(Char) == -1) 
    {
      IsNumber = false;
    }
  }
  return IsNumber; 
}

function isEmail(sText) {
   var strField = sText;
   var i;

   i = strField.indexOf("@");
   j = strField.lastIndexOf(".");
   if(i < 1) return(false);
   if(j < i + 2 || j == strField.length - 1)
      return(false);
   return(true);
}

function NotNumericOrBlank(obj, oname ) {
  if( ! IsNumeric( obj.value ) && obj.value != '' ) 
  {
	alert( oname + ' must be numeric or blank.' );
	obj.focus();
    return true;
  }
  return false;
}


function NotNumeric(obj, oname) {
  if(  obj.value == '' || ! IsNumeric( obj.value ) ) 
  {
	alert( oname + ' must be a number.' );
	obj.focus();
    return true;
  }
  return false;
}

function Blank(obj, oname) {
  if(  obj.value == '' ) 
  {
	alert( oname + ' must be filled.' );
	obj.focus();
    return true;
  }
  return false;
}


function getXY(a)
{
  var p=[0,0], bl, bt;
  while(a&&a.tagName.toUpperCase()!="BODY") {
	bl=parseInt(a.style.borderLeftWidth,10);
	bt=parseInt(a.style.borderTopWidth,10);
  	p[0]+=a.offsetLeft-(a.scrollLeft?a.scrollLeft:0)+(isNaN(bl)?0:bl);
  	p[1]+=a.offsetTop-(a.scrollTop?a.scrollTop:0)+(isNaN(bt)?0:bt);
  	a=a.offsetParent;
  }
  if (a) {
	p[0]+=a.offsetLeft;
	p[1]+=a.offsetTop;
  }
  return p;
}

