var sel1;
var sel2;
var sel3;
var sel4;
var parentId;
var aktId;
var parentIds = new Array();
var selDefaultText = "";
function initForm() {
 sel1 = document.getElementById('sel1');
 sel2 = document.getElementById('sel2');
 sel3 = document.forms[0].topicThree;
 setOptions(sel1, data);
/*
 if (arguments[0]) {
  //parentIds[parentIds.length] = id;
  var id = arguments[0];
  var tempid;
  var search = true;
  while (search) {
   tempid = getParentId(id);
   if (tempid > -1) {
    id = tempid;
    parentIds[parentIds.length] = id;
   }
   if (id == 0) search = false;
  }
  
  //setSelector(sel3, parentIds[parentIds.length-3]);
  setSelector(sel2, parentIds[parentIds.length-2]);
  setSelector(sel1, parentIds[parentIds.length-1]);
  var i = 0;
  //for (i=0;i<sel3.options.length;i++) {
  // if (parentIds.isIn(sel3.options[i].value) && (sel3.options[i].value != -1)) sel3.options[i].selected = true;
  // if (sel3.options[i].value == arguments[0]) sel3.options[i].selected = true;
  //}
  i = 0;
  for (i=0;i<sel2.options.length;i++) {
   if (parentIds.isIn(sel2.options[i].value) && (sel2.options[i].value != -1)) sel2.options[i].selected = true;
   if (sel2.options[i].value == arguments[0]) sel2.options[i].selected = true;
  }
  i = 0;
  for (i=0;i<sel1.options.length;i++) {
   if (parentIds.isIn(sel1.options[i].value) && (sel1.options[i].value != -1)) sel1.options[i].selected = true;
   if (sel1.options[i].value == arguments[0]) sel1.options[i].selected = true;
  }
 }
*/
}
function addOption(sel, desc, value) {
 newEntry  = new Option(desc, value, false, false);
 sel.options[sel.options.length] = newEntry;
}
function clearSelector(sel) {
 var i=0;
 for (i=sel.options.length;i>=0;i--) sel.options[i] = null;
}
function setSelector(sel, index) {
 var arr = (arguments[2])?(arguments[2]):(data);
 if (arr.length > 3) {
  var i = 3;
  while (i < arr.length-1) {
   if (arr[i][0] == index) setOptions(sel, arr[i]);
   else setSelector(sel, index, arr[i]);
   i++;
  }
  return;
 }
}
function getParentId(index) {
 var arr = (arguments[1])?(arguments[1]):(data);
 var returnValue = -1;
 aktId = arr[0];
 if (arr[0] == index) {
  returnValue = parentId;
  return returnValue;
 }
 if (arr.length > 3) {
  var i = 3;
  while (i < arr.length-1) {
   parentId = arr[0];
   returnValue = getParentId(index, arr[i]);
   if (returnValue > -1) return returnValue;
   i++;
  }
 }
 return returnValue;
}
function setOptions(sel, arr) {
 addOption(sel, selDefaultText, -1);
 var i=0;
 for (i=3;i<arr.length-1;i++) addOption(sel, arr[i][1], arr[i][0]);
}
Array.prototype.isIn = isIn;
function isIn(which) {
 var i=0;
 for (i=0;i<this.length;i++) {
  if (this[i]==which) {
   return true;
  }
 }
 return false;
}
var findedURL
function findURL(index) {
 var arr = (arguments[1])?(arguments[1]):(data);
 var returnValue = '';
 aktId = arr[0];
 if (arr[0] == index) {
  returnValue = arr[2];
  return returnValue;
 }
 if (arr.length > 3) {
  var i = 3;
  while (i < arr.length-1) {
   findedURL = arr[2];
   returnValue = findURL(index, arr[i]);
   if (returnValue != '') return returnValue;
   i++;
  }
 }
 return returnValue;
}
function doSubmit() {
 if (sel2.selectedIndex > 0) self.location.href = findURL(sel2[sel2.selectedIndex].value);
}
