function SetFocus(TargetFormName) {
  var target = 0;
  if (TargetFormName != "")
    for (i=0; i<document.forms.length; i++) {
      if (document.forms[i].name == TargetFormName) {
        target=i;
        break;
      }
    }

  var TargetForm = document.forms[target];
    
  for (i=0; i<TargetForm.length; i++) {
    if ( (TargetForm.elements[i].type != "image") && 
         (TargetForm.elements[i].type != "hidden") && 
         (TargetForm.elements[i].type != "reset") && 
         (TargetForm.elements[i].type != "submit") ) {

      TargetForm.elements[i].focus();

      if ( (TargetForm.elements[i].type == "text") || 
           (TargetForm.elements[i].type == "password") )
        TargetForm.elements[i].select();
      
      break;
    }
  }
}

function NewWindow(mypage, myname, w, h, top, left, scroll, resize, status, menubar, toolbar, resizable, address) {
var winl = (screen.width - w) / 2;
var wint = (screen.height - h) / 2;
winops = 'height='+h+',width='+w+',top='+top+',left='+left+',scrollbars='+scroll+',resize='+resize+',status='+status+',toolbar='+toolbar+',resizable='+resizable+',location='+address+''
win = window.open(mypage, myname, winops)
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

///////submit once
var submitcount = 0;
///One submit
function oneSubmit()
{
    if (submitcount == 0) 
    {
	    submitcount ++;	
	    return true;	
    }else{	
		alert("Data submission is in progress.");
		return false;
	}
}

function verifyProcess(){
msg = "Are you sure you wish to submit the chosen records?";
return confirm(msg);
}

function verifyDelete(){
msg = "Are you sure you wish to Delete the chosen records?";
return confirm(msg);
}

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;
}

/**
 * Checks/unchecks all tables
 *
 * @param   string   the form name
 * @param   boolean  whether to check or to uncheck the element
 *
 * @return  boolean  always true
 */
function setCheckboxes(the_form, do_check)
{
    var elts      = (typeof(document.forms[the_form].elements['orderID[]']) != 'undefined')
                  ? document.forms[the_form].elements['orderID[]']
                  : (typeof(document.forms[the_form].elements['selected_tbl[]']) != 'undefined')
          ? document.forms[the_form].elements['selected_tbl[]']
          : document.forms[the_form].elements['selected_fld[]'];
    var elts_cnt  = (typeof(elts.length) != 'undefined')
                  ? elts.length
                  : 0;

    if (elts_cnt) {
        for (var i = 0; i < elts_cnt; i++) {
            elts[i].checked = do_check;
        } // end for
    } else {
        elts.checked        = do_check;
    } // end if... else

    return true;
} // end of the 'setCheckboxes()' function


function getkey(e)
{
  if (window.event) return window.event.keyCode;
  else if (e) return e.which; else return null;
}

function goodchars(e, goods)
{
  var key, keychar;
  key = getkey(e);
  if (key == null) return true;

  // get character
  keychar = String.fromCharCode(key);
  keychar = keychar.toLowerCase();
  goods = goods.toLowerCase();

  // check goodkeys
  if (goods.indexOf(keychar) != -1)
  {
    return true;
  }

  // control keys
  if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
  {
    return true;
  }

    // else return false
  return false;
}
