var viaNSLayers = (document.layers) ? true : false;
var viaIE = (document.all) ? true : false;
var viaDOM = (document.getElementById) ? true : false;

errorTimeouts = new Array();

function MarkError(fField) {;
	Errorize(fField);
	if (viaIE)
		errorTimeouts[(errorTimeouts.length + 1)] = window.setTimeout("UnErrorize(document." + fField.form.name + ".elements['" + fField.name + "'])", 2000);
	else if (viaDOM)
		errorTimeouts[(errorTimeouts.length + 1)] = window.setTimeout("UnErrorize(document." + fField.form.name + "." + fField.name + ")", 2000);

	fField.focus();
}

function Errorize(fField) {
	if (navigator.appName.indexOf("Microsoft") > -1 || parseInt(navigator.appVersion) >= 5) {
		fField.style.background = "#ffff66";
	}
}

function UnErrorize(fField) {
	if (navigator.appName.indexOf("Microsoft") > -1 || parseInt(navigator.appVersion) >= 5) {
		fField.style.background = "#f5f5f5";
	}
}

function submitenter(myfield,e,submitstr)
{
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 13)
   {
if (submitstr == '')
   myfield.form.submit();
else
eval(submitstr);
   return false;
   }
else
   return true;
}

function isValidDate (year, month, day) {
// checks if date passed is in valid dd/mm/yyyy format

  var test = new Date(year,month-1,day);
  var yr = test.getYear();
  yr = (yr < 1000) ? yr + 1900 : yr;
  if (year == yr && (month-1 == test.getMonth()) && (day == test.getDate())) {
     return true;
  }
  else {
    return false;
  }
}

function replace(string,text,by) {
// Replaces text with by in string
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}

function notNumeric(text)
{
for (var i=0;i< text.length; i++)
  {
  var ch = text.charAt(i);
  if ((ch < '0' || ch > '9') && ch != '.')
  return true;
  }
  return false;
  }

  function AllDigit(text)
  {
  for (var i=0;i<text.length; i++)
    {
    var ch = text.charAt(i);
    if (ch < '0' || ch > '9')
    return false;
    }
    return true;
    }

    function checkAmount(amt)
    {
    if (amt.length < 4)
    {
    return false;
    }
    if (notNumeric(amt))
    {
    return false;
    }
    if (amt.charAt(amt.length-3) != '.')
    {
    return false;
    }
    return true;
}

function doSubmit(formObj, componentAction, operationAction)
{
  if (formObj == null) formObj = document.generalSubmit;
  formObj.submit();
}

    function doProxyScreenSubmit(formObj, screenName, componentAction, operationAction)
    {
    if (formObj == null) formObj = document.generalSubmit;
    doSubmit(formObj, componentAction, operationAction);
    }

    function doConfirmSubmitAction(formObj, action, message)
    {
      //if (formObj == null) formObj = document.generalSubmit;
      if (action != null && action != "")
        formObj.action = action;
      if (confirm(message))
        formObj.submit();
    }

    function doConfirmSubmit(formObj, message)
    {
      doConfirmSubmitAction(formObj, "", message);
    }

    function moveFocusTextBox(srcTextBox, destTextBox, expectedLen)
    {
    if (srcTextBox.value.length < expectedLen)
      srcTextBox.focus();
      else
      destTextBox.focus();
      }

      function checkLength(textbox, neededLen, msg)
      {
      if (textbox.value.length != neededLen)
      {
      alert(msg);
      textbox.focus();
      }
      }

function setSelectList(selectObj, selectedValue)
{
  var i;
  var ops = selectObj.options;
  for (i = 0; i < ops.length; i++)
  {
		if (ops[i].value == selectedValue)
		  selectObj.selectedIndex = ops[i].index;
	}
}

      function setRadioGroup(radioObjs, radioValue)
      {
      var i;
      for (i = 0; i < radioObjs.length; i++)
      {
      if (radioObjs[i].value == radioValue)
      radioObjs[i].checked = true;
      }
      }

      function setMultiSelectList(selectObj, selectedValues)
      {
      var i, j;
      var ops = selectObj.options;
      for (i = 0; i < ops.length; i++)
      {
      for (j = 0; j < selectedValues.length; j++)
      {
      if (ops[i].value == selectedValues[j])
      ops[i].selected = true;
      }
      }
      }


     function MM_swapImgRestore()
      {
      var i,x,a=document.MM_sr;
      for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++)
      {
      x.src=x.oSrc;
      }
      }

      function MM_preloadImages()
      {
      var d=document;
      if(d.images)
      {
      if(!d.MM_p)
      {
      d.MM_p=new Array();
      }
      var i,j=d.MM_p.length,a=MM_preloadImages.arguments;

      for(i=0; i<a.length; i++)
      {
      if (a[i].indexOf("#")!=0)
      {
      d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];
      }
      }
      }
      }

      function MM_findObj(n, d)
      { //v4.0
      var p,i,x;
      if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length)
      {
      d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
        for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
        if(!x && document.getElementById) x=document.getElementById(n);
        return x;
        }

        function MM_swapImage()
        { //v3.0
        var i,j=0,x,a=MM_swapImage.arguments;
        document.MM_sr=new Array;
        for(i=0;i<(a.length-2);i+=3)
        {
        if ((x=MM_findObj(a[i]))!=null)
        {
        document.MM_sr[j++]=x;
        if(!x.oSrc)
        x.oSrc=x.src;
        x.src=a[i+2];
        }
        }
        }

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}

      function cancelRefresh() {
        // keycode for F5 function
        if (window.event && (window.event.keyCode >= 112) &&
          (window.event.keyCode <= 123) ) {
          window.event.keyCode = 0;
          window.event.cancelBubble = true;
          window.event.returnValue = false;
          return false;
        }
        // keycode for backspace
        //if (window.event && window.event.keyCode == 8) {
          // try to cancel the backspace
        //  window.event.cancelBubble = true;
        //  window.event.returnValue = false;
        //  return false;
        //}
      }
      document.onkeydown = cancelRefresh;
      if (window.Event)
        document.captureEvents(Event.MOUSEUP);

      function nocontextmenu() {
        event.cancelBubble = true, event.returnValue = false;

        return false;
      }

      function norightclick(e) {
        if (window.Event) {
          if (e.which == 2 || e.which == 3) return false;
        }
        else if (event.button == 2 || event.button == 3) {
          event.cancelBubble = true, event.returnValue = false;
          return false;
        }
      }

      if (document.layers)
        document.captureEvents(Event.MOUSEDOWN);

      document.oncontextmenu = nocontextmenu;
      document.onmousedown = norightclick;
      document.onmouseup = norightclick;

var preloadFlag = true;
