var fv_cdfield = new Array(); var fv_cdfieldname = new Array(); var fv_cdfieldtype = new Array();


function CreateBalloon()
{
  document.write('<div id="validBalloon" onclick="CloseAlert()" style="display:none;width:283px;height:92px;z-index:200;position:absolute;background:url(\''+basedir+'/images/balloon.gif\');">');
  document.write('<div id="validHeader" style="position:absolute;top:17px;left:50px; font-weight:bold;font:arial;font-size:9pt;">Required Field!</div>');
  document.write('<div id="validText" style="position:absolute;top:40px;left:20px; ;font:arial;font-size:9pt;">Hello World!<br>Hello World!</div>');
  
  document.write('</div>');
}

function CheckField(field, name, type)
{
  var numfields = fv_cdfield.length - 0;
  fv_cdfield[numfields] = field;
  fv_cdfieldname[numfields] = name;
  fv_cdfieldtype[numfields] = type;  
}


function ValidateForm(form)
{
  var field, name, type;
  var valid;
  var numfields = fv_cdfield.length - 0;
  var i = 0;

  valid = true;

  while(i < numfields && valid == true)
  {
    field = fv_cdfield[i];
    name = fv_cdfieldname[i];
    type = fv_cdfieldtype[i];

    if(form.elements[field])
    {
      if(type != 'numonly' && form.elements[field].value == '')
      {
        if(type == 'sel')
          DisplayAlert('This field is mandatory to complete',form.elements[field]);
        else
		  DisplayAlert('This field is mandatory to complete',form.elements[field]);

        form.elements[field].focus();
        valid = false;
      }

      if(valid && type == 'num' || type == 'numonly')
      {
        if(form.elements[field].value - 0 != form.elements[field].value)
        {
          DisplayAlert(name + ' needs to be a numeric value!',form.elements[field]);
          form.elements[field].focus();
          form.elements[field].select();
          valid = false;
        }
      }
    }

    i++;
  }
  return valid;
}

function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }

function DisplayAlert(txt, fld)
{
  document.getElementById('validText').innerHTML = txt;
  xpos = findPosX(fld);
  ypos = findPosY(fld);
  xpos = xpos - 285;
  vB = document.getElementById('validBalloon')
  vB.style.top = ypos + "px";
  vB.style.left = xpos + "px";
  vB.style.display = 'block';
}

function CloseAlert()
{
  vB = document.getElementById('validBalloon')
  vB.style.display = 'none';
}

CreateBalloon();
