function DynamicOptionList(){if(arguments.length < 2){alert("Not enough arguments in DynamicOptionList()");}this.target = arguments[0];this.dependencies = new Array();for(var i=1;i<arguments.length;i++){this.dependencies[this.dependencies.length] = arguments[i];}this.form = null;this.dependentValues = new Object();this.defaultValues = new Object();this.options = new Object();this.delimiter = "|";this.longestString = "";this.numberOfOptions = 0;this.addOptions = DynamicOptionList_addOptions;this.populate = DynamicOptionList_populate;this.setDelimiter = DynamicOptionList_setDelimiter;this.setDefaultOption = DynamicOptionList_setDefaultOption;this.printOptions = DynamicOptionList_printOptions;this.init = DynamicOptionList_init;}
function DynamicOptionList_setDelimiter(val){this.delimiter = val;}
function DynamicOptionList_setDefaultOption(condition, val){if(typeof this.defaultValues[condition] == "undefined" || this.defaultValues[condition]==null){this.defaultValues[condition] = new Object();}for(var i=1;i<arguments.length;i++){this.defaultValues[condition][arguments[i]]=1;}}
function DynamicOptionList_init(theform){this.form = theform;this.populate();}
function DynamicOptionList_addOptions(dependentValue){if(typeof this.options[dependentValue] != "object"){this.options[dependentValue] = new Array();}for(var i=1;i<arguments.length;i+=2){if(arguments[i].length > this.longestString.length){this.longestString = arguments[i];}this.numberOfOptions++;this.options[dependentValue][this.options[dependentValue].length] = arguments[i];this.options[dependentValue][this.options[dependentValue].length] = arguments[i+1];}}
function DynamicOptionList_printOptions(){if((navigator.appName == "Netscape") &&(parseInt(navigator.appVersion) <= 4)){var ret = "";for(var i=0;i<this.numberOfOptions;i++){ret += "<OPTION>";}ret += "<OPTION>"
for(var i=0;i<this.longestString.length;i++){ret += "_";}document.writeln(ret);}}
function DynamicOptionList_populate(){var theform = this.form;var i,j,obj,obj2;this.dependentValues = new Object;var dependentValuesInitialized = false;for(i=0;i<this.dependencies.length;i++){var sel = theform[this.dependencies[i]];var selName = sel.name;if(!dependentValuesInitialized){dependentValuesInitialized = true;for(j=0;j<sel.options.length;j++){if(sel.options[j].selected){this.dependentValues[sel.options[j].value] = true;}}}else{var tmpList = new Object();var newList = new Object();for(j=0;j<sel.options.length;j++){if(sel.options[j].selected){tmpList[sel.options[j].value] = true;}}for(obj in this.dependentValues){for(obj2 in tmpList){newList[obj + this.delimiter + obj2] = true;}}this.dependentValues = newList;}}var targetSel = theform[this.target];var targetSelected = new Object();for(i=0;i<targetSel.options.length;i++){if(targetSel.options[i].selected){targetSelected[targetSel.options[i].value] = true;}}targetSel.options.length = 0;for(i in this.dependentValues){if(typeof this.options[i] == "object"){var o = this.options[i];for(j=0;j<o.length;j+=2){var text = o[j];var val = o[j+1];targetSel.options[targetSel.options.length] = new Option(text, val, false, false);if(typeof this.defaultValues[i] != "undefined" && this.defaultValues[i]!=null){for(def in this.defaultValues[i]){if(def == val){targetSelected[val] = true;}}}}}}targetSel.selectedIndex=-1;for(i=0;i<targetSel.options.length;i++){if(targetSelected[targetSel.options[i].value] != null && targetSelected[targetSel.options[i].value]==true){targetSel.options[i].selected = true;}}}

// List by AREA
var listAREA = new DynamicOptionList("area","city");
listAREA.addOptions("Addo Elephant Park","All Areas","All Areas","Game Lodge","Game Lodge");
listAREA.setDefaultOption("Addo Elephant Park","All Areas");
listAREA.addOptions("Alicedale - Port Elizabeth","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Alicedale - Port Elizabeth","All Areas");
listAREA.addOptions("Camps Bay","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Camps Bay","All Areas");
listAREA.addOptions("Cape Town","All Areas","All Areas","Hotel","Hotel","Self Catering","Self Catering");
listAREA.setDefaultOption("Cape Town","All Areas");
listAREA.addOptions("Clanwilliam","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Clanwilliam","All Areas");
listAREA.addOptions("Claremont","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Claremont","All Areas");
listAREA.addOptions("Constantia","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Constantia","All Areas");
listAREA.addOptions("Drakensberg","All Areas","All Areas","Hotel","Hotel","Resort","Resort");
listAREA.setDefaultOption("Drakensberg","All Areas");
listAREA.addOptions("Durban","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Durban","All Areas");
listAREA.addOptions("Elements Private Game Reserve","All Areas","All Areas","Resort","Resort");
listAREA.setDefaultOption("Elements Private Game Reserve","All Areas");
listAREA.addOptions("Franschhoek","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Franschhoek","All Areas");
listAREA.addOptions("George","All Areas","All Areas","hotel","hotel");
listAREA.setDefaultOption("George","All Areas");
listAREA.addOptions("Gordons Bay","All Areas","All Areas","Guest House","Guest House","Hotel","Hotel");
listAREA.setDefaultOption("Gordons Bay","All Areas");
listAREA.addOptions("Grahamstown","All Areas","All Areas","Game Lodge","Game Lodge");
listAREA.setDefaultOption("Grahamstown","All Areas");
listAREA.addOptions("Greyton","All Areas","All Areas","Self Catering","Self Catering");
listAREA.setDefaultOption("Greyton","All Areas");
listAREA.addOptions("Hazyview","All Areas","All Areas","Game Lodge","Game Lodge","hotel","hotel","Resort","Resort");
listAREA.setDefaultOption("Hazyview","All Areas");
listAREA.addOptions("Hermanus","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Hermanus","All Areas");
listAREA.addOptions("Hluhluwe","All Areas","All Areas","Game Lodge","Game Lodge");
listAREA.setDefaultOption("Hluhluwe","All Areas");
listAREA.addOptions("Hoedspruit","All Areas","All Areas","Game Lodge","Game Lodge");
listAREA.setDefaultOption("Hoedspruit","All Areas");
listAREA.addOptions("Hout Bay","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Hout Bay","All Areas");
listAREA.addOptions("Johannesburg","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Johannesburg","All Areas");
listAREA.addOptions("Kimberley","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Kimberley","All Areas");
listAREA.addOptions("Knysna","All Areas","All Areas","hotel","hotel","Self Catering","Self Catering");
listAREA.setDefaultOption("Knysna","All Areas");
listAREA.addOptions("Kruger National Park","All Areas","All Areas","Game Lodge","Game Lodge");
listAREA.setDefaultOption("Kruger National Park","All Areas");
listAREA.addOptions("Little Karoo","All Areas","All Areas","Game Lodge","Game Lodge");
listAREA.setDefaultOption("Little Karoo","All Areas");
listAREA.addOptions("Mabula Private Game Reserve","All Areas","All Areas","Game Lodge","Game Lodge");
listAREA.setDefaultOption("Mabula Private Game Reserve","All Areas");
listAREA.addOptions("Makalali Private Game Reserve","All Areas","All Areas","Game lodge","Game lodge");
listAREA.setDefaultOption("Makalali Private Game Reserve","All Areas");
listAREA.addOptions("Milnerton","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Milnerton","All Areas");
listAREA.addOptions("Montagu","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Montagu","All Areas");
listAREA.addOptions("Mossel Bay","All Areas","All Areas","Game Lodge","Game Lodge","Hotel","Hotel");
listAREA.setDefaultOption("Mossel Bay","All Areas");
listAREA.addOptions("Oudtshoorn","All Areas","All Areas","Game Lodge","Game Lodge","Guest House","Guest House");
listAREA.setDefaultOption("Oudtshoorn","All Areas");
listAREA.addOptions("Paarl","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Paarl","All Areas");
listAREA.addOptions("Pietermaritzburg","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Pietermaritzburg","All Areas");
listAREA.addOptions("Pilanesberg National Park","All Areas","All Areas","Game Lodge","Game Lodge");
listAREA.setDefaultOption("Pilanesberg National Park","All Areas");
listAREA.addOptions("Plettenberg Bay","All Areas","All Areas","Game Lodge","Game Lodge","Hotel","Hotel");
listAREA.setDefaultOption("Plettenberg Bay","All Areas");
listAREA.addOptions("Port Elizabeth","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Port Elizabeth","All Areas");
listAREA.addOptions("Pretoria","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Pretoria","All Areas");
listAREA.addOptions("Sandton","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Sandton","All Areas");
listAREA.addOptions("Shamwari Game Reserve","All Areas","All Areas","Game Lodge","Game Lodge");
listAREA.setDefaultOption("Shamwari Game Reserve","All Areas");
listAREA.addOptions("Simons Town","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Simons Town","All Areas");
listAREA.addOptions("Somerset West","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Somerset West","All Areas");
listAREA.addOptions("St Francis","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("St Francis","All Areas");
listAREA.addOptions("Stellenbosch","All Areas","All Areas","Guest House","Guest House","Hotel","Hotel");
listAREA.setDefaultOption("Stellenbosch","All Areas");
listAREA.addOptions("Swakopmund","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Swakopmund","All Areas");
listAREA.addOptions("Welgevonden Game Reserve","All Areas","All Areas","Game Lodge","Game Lodge");
listAREA.setDefaultOption("Welgevonden Game Reserve","All Areas");
listAREA.addOptions("Wellington","All Areas","All Areas","hotel","hotel");
listAREA.setDefaultOption("Wellington","All Areas");
listAREA.addOptions("White River","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("White River","All Areas");
listAREA.addOptions("Windhoek","All Areas","All Areas","Hotel","Hotel");
listAREA.setDefaultOption("Windhoek","All Areas");

function init_search() { 
  var theform = document.DateSelect;
  listAREA.init(theform);
}