var postType = '';
var postCategory = '';

var type = '\
P:Country:Country|\
P:State:State|\
P:County:County|\
P:City:City|\
R:Pizza:Pizza|\
R:Italian:Italian|\
R:Asian:Asian|\
R:Hamburger:Hamburger|\
R:Fast:Fast food|\
R:French:French|\
R:Mexican:Mexican|\
R:Seafood:Seafood|\
R:Bar:Bar|\
R:Other:Other|\
L:Historic:Historic landmark|\
L:Famous:Famous place|\
L:Tourist:Tourist Attraction|\
L:Park:National/State park|\
L:POI>Point of Interest|\
';

var category = '\
P:Place|\
R:Restaurant|\
L:Landmark|\
';

// Populates the category selected with the categories from the category list
function populateCategory(defaultCategory) {
  if ( postCategory != '' ) {
    defaultCategory = postCategory;
  }
  var categoryLineArray = category.split('|');  // Split into lines
  var selObj = document.getElementById('categorySelect');
  selObj.options[0] = new Option('Select Category','');
  selObj.selectedIndex = 0;
  for (var loop = 0; loop < categoryLineArray.length; loop++) {
    lineArray = categoryLineArray[loop].split(':');
    categoryCode  = TrimString(lineArray[0]);
    categoryName  = TrimString(lineArray[1]);
    if ( categoryCode != '' ) {
      selObj.options[loop + 1] = new Option(categoryName, categoryCode);
    }
    if ( defaultCategory == categoryCode ) {
      selObj.selectedIndex = loop + 1;
    }
  }
}

function populateType() {
  var selObj = document.getElementById('typeSelect');
  var foundType = false;
  // Empty options just in case new drop down is shorter
  if ( selObj.type == 'select-one' ) {
    for (var i = 0; i < selObj.options.length; i++) {
      selObj.options[i] = null;
    }
    selObj.options.length=null;
    selObj.options[0] = new Option('Select Type','');
    selObj.selectedIndex = 0;
  }
  // Populate the drop down with types from the selected category
  var typeLineArray = type.split("|");  // Split into lines
  var optionCntr = 1;
  for (var loop = 0; loop < typeLineArray.length; loop++) {
    lineArray = typeLineArray[loop].split(":");
    categoryCode  = TrimString(lineArray[0]);
    typeCode    = TrimString(lineArray[1]);
    typeName    = TrimString(lineArray[2]);
  if (document.getElementById('categorySelect').value == categoryCode && categoryCode != '' ) {
    // If it's a input element, change it to a select
      if ( selObj.type == 'text' ) {
        parentObj = document.getElementById('typeSelect').parentNode;
        parentObj.removeChild(selObj);
        var inputSel = document.createElement("SELECT");
        inputSel.setAttribute("name","type");
        inputSel.setAttribute("id","typeSelect");
        parentObj.appendChild(inputSel) ;
        selObj = document.getElementById('typeSelect');
        selObj.options[0] = new Option('Select Type','');
        selObj.selectedIndex = 0;
      }
      if ( typeCode != '' ) {
        selObj.options[optionCntr] = new Option(typeName, typeCode);
      }
      // See if it's selected from a previous post
      if ( typeCode == postType && categoryCode == postCategory ) {
        selObj.selectedIndex = optionCntr;
      }
      foundType = true;
      optionCntr++
    }
  }
  // If the category has no types, change the select to a text box
  if ( ! foundType ) {
    parentObj = document.getElementById('typeSelect').parentNode;
    parentObj.removeChild(selObj);
  // Create the Input Field
    var inputEl = document.createElement("INPUT");
    inputEl.setAttribute("id", "typeSelect");
    inputEl.setAttribute("type", "text");
    inputEl.setAttribute("name", "type");
    inputEl.setAttribute("size", 20);
    inputEl.setAttribute("value", "n/a");
    parentObj.appendChild(inputEl) ;
  }
}

function initCategory(category) {
  populateCategory(category);
  populateType();
}

