function TrimString(sInString) {
  if ( sInString ) {
    sInString = sInString.replace( /^\s+/g, "" );// strip leading
    return sInString.replace( /\s+$/g, "" );// strip trailing
  }
}

function populateCat1(defaultCat1) {
  if ( postCat1 != '' ) {
    defaultCat1 = postCat1;
  }
  var cat1LineArray = cat1.split('|');  // Split into lines
  var selObj = document.getElementById('cat1Select');
  for (var loop = 0; loop < cat1LineArray.length-1; loop++) {
    lineArray = cat1LineArray[loop].split(':');
    cat1Code  = TrimString(lineArray[0]);
    cat1Name  = TrimString(lineArray[1]);
    if ( cat1Code != '' ) {
      selObj.options[loop+1] = new Option(cat1Name, cat1Code);
    }
    if ( defaultCat1 == cat1Code ) {
      selObj.selectedIndex = loop+1;
    }
  }
}

function populateCat2() {
  var selObj = document.getElementById('cat2Select');

  for (var i = 1; i < selObj.options.length; i++) {
      selObj.options[i] = null;
  }
  selObj.options.length=1;

  var cat2LineArray = cat2.split("|");  // Split into lines
  var optionCntr = 1;
  for (var loop = 0; loop < cat2LineArray.length; loop++) {
    lineArray = cat2LineArray[loop].split(":");
    cat1Code  = TrimString(lineArray[0]);
    cat2Code    = TrimString(lineArray[1]);
    cat2Name    = TrimString(lineArray[2]);
  if (document.getElementById('cat1Select').value == cat1Code && cat1Code != '' ) {
     if ( cat2Code != '' ) {
        selObj.options[optionCntr] = new Option(cat2Name, cat2Code);
      }
      if ( cat2Code == postCat2 && cat1Code == postCat1 ) {
        selObj.selectedIndex = optionCntr;
      }
      optionCntr++
    }
  }
}

function initCat1(cat1) {
  populateCat1(cat1);
  populateCat2();
}
