///////////////////////////////////////////////////
//pre: form is in the process of loading
//post: if given form exists then focus 
//      on a specific element
///////////////////////////////////////////////////
function loadParams(){
  if(document.LoginForm){
    document.LoginForm.log_username.focus();
  }
  else if(document.ItemDetail){
    document.ItemDetail.ItemQty.focus();
  }
}

//////////////////////////////////////////////////
//pre: url of desired windo user invokes 
//document that requires a new window
//post: new window displaying url
//////////////////////////////////////////////////
function openWindowSpecSize(url,height,width) {
  newWindow = window.open(url, 'newWin',  'toolbar=no,location=no,scrollbars=yes,width=' + width + ', height=' + height + ', resizable=yes, left=30, top =30')
  newWindow.focus();
}
///////////////////////////////////////////////////
//pre: invoke link to close window
//post: window is closed
///////////////////////////////////////////////////
function closeWindow(){
  window.close();
}

///////////////////////////////////////////////////
//pre: form, element, exception message
//post: if is number,
///////////////////////////////////////////////////
function checkNum(frm,elemName,errMsg)
{
  var bSucc
  if (frm.elements[elemName])
  {
    if (isNaN(frm.elements[elemName].value))
    {
      alert(errMsg);
      frm.elements[elemName].focus();
      bSucc=false;
    }
    else{
      bSucc=true;
    }
    return bSucc;
  }
}

// rollover function
function swapImage(img, src) {
  if (document.images) {
    if (document.images[img]) document.images[img].src = src;
    else window.status = ('missing image! [' + img + ']');
  }
}
    
    
//generic function to validate form elements    
function validateElem(elemName,frm) {
  var err = 0;
    switch (frm.elements[elemName].length > 1 ? (frm.elements[elemName].options ? frm.elements[elemName].type : frm.elements[elemName][0].type) : frm.elements[elemName].type) {
      case "text":
      case "hidden":
      case "textarea":
        if (frm.elements[elemName].value == "") {
          fieldError(elemName);        
          err++;
        }
        else clearError(elemName);
        break;
      case "select-one":
        if (frm.elements[elemName].selectedIndex > -1 ? frm.elements[elemName].options[frm.elements[elemName].selectedIndex].value == "" : true) {
          fieldError(elemName);
          err++;}
        else clearError(elemName);
        break;
      case "radio":
        k = 0;
        for (j=0;j<frm.elements[elemName].length;j++) {
          if (frm.elements[elemName][j].checked == false) k++;
        }
        if (k == frm.elements[elemName].length) {
          fieldError(elemName);
          err++;}
        break;
      case "select-multiple":
        k = 0;
        for (j=0;j<frm.elements[elemName].options.length;j++) {
          if (frm.elements[elemName].options[j].selected) k++;
        }
        if (k == 0) {
          fieldError(elemName);
          err++;} 
        else clearError(elemName);
        break;
    }
  return err;
}

//function to display a field error
function fieldError(elemName) {
  var errorImage = "images/arrow.gif";
  var imgSuffix = "_img";
  swapImage(elemName + imgSuffix,errorImage);
  //err++;
}

//clear a user corrected error
function clearError(elemName) {
  var transImage = "images/transparent.gif";
  var imgSuffix = "_img";
  swapImage(elemName + imgSuffix,transImage);
}
