function submitEdit(formName, idName, idValue) {
  if (document.forms[formName]) {
    document.forms[formName].elements[idName].value = idValue;
    document.forms[formName].submit();
  }
}

function submitStatus(formName, idName, idValue, isDeactivate) {
  if (document.forms[formName]) {
    document.forms[formName].elements[idName].value = idValue;
    document.forms[formName].elements['deactivate'].value = isDeactivate;
    document.forms[formName].submit();
  }
}

function submitSort(formName, sortCategory) {
  if (document.forms[formName]) {
    document.forms[formName].elements['sortCat'].value = sortCategory;
    document.forms[formName].submit();
  }
}

function submitValue() {
  if (document.forms[arguments[0]]) {
    for (i = 1; i < arguments.length; i+= 2) {
      document.forms[arguments[0]].elements[arguments[i]].value = arguments[i+1];
    }
    document.forms[arguments[0]].submit();
  }
}

function fnChangeItem() {
// changes the text description for 
  if (document.forms['containerItemAdd'] != null) {
    // if the add form has been written into the page (not written if container is full)
    var option
    if ( document.forms['containerItemAdd'] ) {
      option = document.forms['containerItemAdd'].elements['itemID'].options(document.forms['containerItemAdd'].elements['itemID'].selectedIndex);
    }
    else {
      option = document.forms['containerItemSave'];
    }
    // display the load type description for this item
    document.all.loadType.innerText  = option.loadTypeDesc;
    // if we have no more space left, disable the add button
    if (option.spaceLeft <= 0) {document.all.AddButton.disabled = true; }
    else { document.all.AddButton.disabled = false; }
    //document.forms['containerItemAdd'].elements['numberOfItem'].value = '';
    // display the untirPrice for this item
    document.all.unitPrice.innerText = toPrice(option.price);
    document.all.subTotal.innerText = '';
    if (document.all.spaceLeft != null) { document.all.spaceLeft.innerHTML = '<p>' + option.spaceText + '</p>'; }
    document.forms['containerItemEdit'].elements['salePrice'].value = parseFloat(option.itemprice);
    document.forms['containerItemEdit'].elements['itemID'].value = option.value;
  }
}

function fnCheckNumber() {
// checks that the number of the item entered doesn't fill the container past full
// for the select box
  var option = containerItemAdd.itemID.options(containerItemAdd.itemID.selectedIndex);

  if (option.value=="0") { return; }
  if(isNaN(parseInt(event.srcElement.value))) { event.srcElement.value = ''; }
  else if (parseInt(event.srcElement.value) > parseInt(option.spaceLeft)) {
    alert('Maximum space available: ' + option.spaceLeft + ' ' + option.loadTypeDesc);
    event.srcElement.value = '';
    document.all.subTotal.innerText = '';
  }
  else {
    document.all.subTotal.innerText = toPrice(Math.floor(option.price * parseInt(event.srcElement.value)*100)/100);
    document.forms['containerItemAdd'].elements['numberOfItem'].value = parseInt(document.forms['containerItemAdd'].elements['numberOfItem'].value);
    document.forms['containerItemEdit'].elements['numberOfItem'].value = document.forms['containerItemAdd'].elements['numberOfItem'].value;
    }
}
  
function CheckNumberEdit(srcElem, origVal, spaceLeft) {
//  alert(srcElem);
  if (srcElem) {
    if (srcElem.value != '') {
      if(isNaN(parseInt(srcElem.value))) {
        srcElem.value = origVal;
      }
      if (parseInt(srcElem.value) > spaceLeft) {
        alert('Maximum space available: ' + spaceLeft + ' item(s)');
        srcElem.value = origVal;
      }
      srcElem.value = parseInt(srcElem.value);
    }
  }
}

function toPrice(val) {
// turns any floating point number into a $
  if (isNaN(parseFloat(val))) { return '-'; }
  else {
    bits = (parseFloat(val) + '').split('.');
    if (bits.length == 1) {
      // if we have only dollars, add the cents
      bits[bits.length] = '00';
    }
    else {
      if (bits[1].length > 2) {
        // if we have bits of cents, round the cents up
        bits[1] = Math.round(parseFloat('.' + bits[1]) * 100) + '';
        if (bits[1].length == 1) { bits[1] = '0' + bits[1]; }
      }
      if (bits[1].length == 1) {
        // if we have a multiple of 10c, pad the cents
        bits[1] = bits[1] + '0';
      }
    }
  }
  return '$' + bits.join('.')
}


function setLoadType(selectObj) {
// used by itemEdit.asp to change description of load type
  var formObj = selectObj.form;
  if (selectObj[selectObj.selectedIndex].value != '0') {
    if (selectObj.selectedIndex == 1) {
      document.getElementById('count20Type').innerHTML = ' cartons ' + selectObj.options[selectObj.selectedIndex].text + ' - 10 pallets in a 20\' FCL';
      document.getElementById('count40Type').innerHTML = ' cartons ' + selectObj.options[selectObj.selectedIndex].text + ' - 20 pallets in a 40\' FCL';
    }
    if (selectObj.selectedIndex == 2) {
      document.getElementById('count20Type').innerHTML = ' cartons ' + selectObj.options[selectObj.selectedIndex].text + ' - 20 pallets in a 20\' FCL';
      document.getElementById('count40Type').innerHTML = ' cartons ' + selectObj.options[selectObj.selectedIndex].text + ' - 40 pallets in a 40\' FCL';
    }
    if (selectObj.selectedIndex == 3) {
      document.getElementById('count20Type').innerHTML = ' ' + selectObj.options[selectObj.selectedIndex].text + ' cartons in a 20\' FCL';
      document.getElementById('count40Type').innerHTML = ' ' + selectObj.options[selectObj.selectedIndex].text + ' cartons in a 40\' FCL';
    }
  }
}

function checkNewItem(formObj) {
  var errStr = ''

  if (formObj.elements['ItemCategoryID'].options[formObj.elements['ItemCategoryID'].selectedIndex].value == 0)
    errStr += 'You must select the item\'s category.\n'

  if (formObj.elements['itemName'].value == '')
    errStr += 'You must enter the item\'s name.\n'

  if (formObj.elements['itemDesc'].value == '')
    errStr += 'You must enter a description of the item.\n'

  if (formObj.elements['itemCostPrice'].value == '' || formObj.elements['itemCostPrice'].value != parseFloat(formObj.elements['itemCostPrice'].value))
    errStr += 'You must enter a cost price for the item in positive decimal numbers.\n'

  if (formObj.elements['itemLocalPrice'].value == '' || formObj.elements['itemLocalPrice'].value != parseFloat(formObj.elements['itemLocalPrice'].value))
    errStr += 'You must enter a local selling price for the item in positive decimal numbers.\n'

  if (formObj.elements['itemIntlPrice'].value == '' || formObj.elements['itemIntlPrice'].value != parseFloat(formObj.elements['itemIntlPrice'].value))
    errStr += 'You must enter an international selling price for the item in positive decimal numbers.\n'

  if (formObj.elements['LoadTypeID'].options[formObj.elements['LoadTypeID'].selectedIndex].value == 0)
    errStr += 'You must select the item\'s load type.\n'

  if (formObj.elements['itemPerUnit'].value == '' || formObj.elements['itemPerUnit'].value != parseInt(formObj.elements['itemPerUnit'].value))
    errStr += 'You must specify how many items per unit in positive whole numbers.\n'

  if (formObj.elements['unitPerCarton'].value == '' || formObj.elements['unitPerCarton'].value != parseInt(formObj.elements['unitPerCarton'].value))
    errStr += 'You must specify how many units per carton in positive whole numbers.\n'

  if (formObj.elements['count20'].value == '' || formObj.elements['count20'].value != parseInt(formObj.elements['count20'].value))
    errStr += 'You must specify how many will fit into a 20\' FCL in positive whole numbers.\n'

  if (formObj.elements['count40'].value == '' || formObj.elements['count40'].value != parseInt(formObj.elements['count40'].value))
    errStr += 'You must specify how many will fit into a 40\' FCL in positive whole numbers.\n'

  if (formObj.elements['itemLongDesc'].value.length > 255)
    errStr += 'Please constrain the long description to 255 characters.\n'

  if (errStr != '') {
    alert(errStr);
    return false;
  }
  else {
    return true;
  }
}

function checkNewPort(formObj) {
  var errStr = ''

  if (formObj.elements['portDesc'].value == '')
    errStr += 'You must enter the port\'s name.\n'

  if (formObj.elements['containerCost20'].value == '' || formObj.elements['containerCost20'].value != parseInt(formObj.elements['containerCost20'].value))
    errStr += 'You must specify how much it will cost to ship a 20\' FCL to this port.\n'

  if (formObj.elements['containerCost40'].value == '' || formObj.elements['containerCost40'].value != parseInt(formObj.elements['containerCost40'].value))
    errStr += 'You must specify how much it will cost to ship a 40\' FCL to this port.\n'

  if (errStr != '') {
    alert(errStr);
    return false;
  }
  else {
    return true;
  }
}

function checkNewItemCat(formObj) {
  var errStr = ''

  if (formObj.elements['itemCategoryDesc'].value == '')
    errStr += 'You must enter an item category.\n'

  if (errStr != '') {
    alert(errStr);
    return false;
  }
  else
    return true;
}

function checkNewCountry(formObj) {
  var errStr = ''

  if (formObj.elements['countryDesc'].value == '')
    errStr += 'You must enter a country name.\n'

  if (errStr != '') {
    alert(errStr);
    return false;
  }
  else
    return true;
}
