
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 CITY
var listCITY = new DynamicOptionList("city","countrycodeval");
listCITY.addOptions("FI","All Cities","All Cities","Helsinki","Helsinki");
listCITY.setDefaultOption("FI","All Cities");
listCITY.addOptions("FR","All Cities","All Cities","Paris","Paris","Paris - Marne-La-Vallèe","Paris - Marne-La-Vallèe");
listCITY.setDefaultOption("FR","All Cities");
listCITY.addOptions("IT","All Cities","All Cities","Amalfi","Amalfi","Arezzo - Bibbiena","Arezzo - Bibbiena","Arezzo - Cavriglia","Arezzo - Cavriglia","Arezzo - Cortona","Arezzo - Cortona","Bologna","Bologna","Capri","Capri","Florence","Florence","Florence  - Tavarnelle Val di","Florence  - Tavarnelle Val di","Florence -  Vicchio","Florence -  Vicchio","Florence - Antella","Florence - Antella","Florence - Certaldo","Florence - Certaldo","Florence - Fiesole","Florence - Fiesole","Florence - Marcialla/Certaldo","Florence - Marcialla/Certaldo","Florence - Montespertoli","Florence - Montespertoli","Florence - Tavarnuzze","Florence - Tavarnuzze","Florence - Viottolone","Florence - Viottolone","Frosinone - Fiuggi","Frosinone - Fiuggi","Grosseto - Massa Marittima","Grosseto - Massa Marittima","Grosseto - Orbetello","Grosseto - Orbetello","Ischia","Ischia","Latina - Sperlonga","Latina - Sperlonga","Lauro cittadina in Avellino","Lauro cittadina in Avellino","Milan","Milan","Naples","Naples","Novara - Orta San Giulio","Novara - Orta San Giulio","Perugia","Perugia","Perugia - Assisi","Perugia - Assisi","Perugia - Campello","Perugia - Campello","Pisa - Latignano di Cascina","Pisa - Latignano di Cascina","Pisa - Lido di Camaiore","Pisa - Lido di Camaiore","Pisa - Pontedera","Pisa - Pontedera","Pistoia - Lamporecchio","Pistoia - Lamporecchio","Pordenone - Caneva","Pordenone - Caneva","Rieti - Colli sul Velino","Rieti - Colli sul Velino","Rimini - Cattolica","Rimini - Cattolica","Rimini - Riccione","Rimini - Riccione","Rome","Rome","Salerno - Positano","Salerno - Positano","Salerno - Praiano","Salerno - Praiano","Salerno - Vietri Sul Mare","Salerno - Vietri Sul Mare","Sassari - Castelsardo","Sassari - Castelsardo","Siena","Siena","Siena - Chianciano Terme","Siena - Chianciano Terme","Siena - Chiusi","Siena - Chiusi","Siena - Colle Val d'Elsa","Siena - Colle Val d'Elsa","Siena - Gaiole in Chianti","Siena - Gaiole in Chianti","Siena - San Gimignano","Siena - San Gimignano","Siena - Torrita di Siena","Siena - Torrita di Siena","Siracusa - Noto","Siracusa - Noto","Sirmione - Garda Lake","Sirmione - Garda Lake","Sorrento","Sorrento","Treviso - Mogliano Veneto","Treviso - Mogliano Veneto","Venice","Venice","Venice - Marghera, Riviera del","Venice - Marghera, Riviera del","Venice - Mestre","Venice - Mestre","Venice - Mirano","Venice - Mirano","Venice - Venice Lido","Venice - Venice Lido","Verona","Verona");
listCITY.setDefaultOption("IT","All Cities");
listCITY.addOptions("MX","All Cities","All Cities","Cancun","Cancun");
listCITY.setDefaultOption("MX","All Cities");
listCITY.addOptions("ES","All Cities","All Cities","Alicante - Alfaz Del Pi","Alicante - Alfaz Del Pi","Alicante - Benidorm","Alicante - Benidorm","Alicante - Peñíscola","Alicante - Peñíscola","Alicante - Playas de Orihuela","Alicante - Playas de Orihuela","Almeria - Mojacar","Almeria - Mojacar","Barcelona","Barcelona","Barcelona - Berga","Barcelona - Berga","Barcelona - Castelldefels","Barcelona - Castelldefels","Barcelona - Granollers","Barcelona - Granollers","Barcelona - Mollet","Barcelona - Mollet","Barcelona - Pineda de Mar","Barcelona - Pineda de Mar","Barcelona - Sitges","Barcelona - Sitges","Barcelona - Vilanova i la Gelt","Barcelona - Vilanova i la Gelt","Bilbao","Bilbao","Cadiz -  Arcos de la Frontera","Cadiz -  Arcos de la Frontera","Cadiz -  Jerez de la Frontera","Cadiz -  Jerez de la Frontera","Cadiz - Arcos de la Frontera","Cadiz - Arcos de la Frontera","Fuerteventura - Costa Antigua","Fuerteventura - Costa Antigua","Girona -  Fornells de la Selva","Girona -  Fornells de la Selva","Girona - Empuriabrava","Girona - Empuriabrava","Girona - Lloret de Mar","Girona - Lloret de Mar","Girona - Torroella de Montgrì","Girona - Torroella de Montgrì","Granada","Granada","Huelva - Aracena","Huelva - Aracena","Huelva - Isla Cristina","Huelva - Isla Cristina","Huelva - Lepe","Huelva - Lepe","Ibiza","Ibiza","Madrid","Madrid","Madrid - Alcobendas","Madrid - Alcobendas","Madrid - Chinchón","Madrid - Chinchón","Malaga","Malaga","Malaga - Antequera","Malaga - Antequera","Malaga - Benalmadena","Malaga - Benalmadena","Malaga - Estepona","Malaga - Estepona","Malaga - Nerja","Malaga - Nerja","Malaga - Ojen","Malaga - Ojen","Malaga - Torre del Mar","Malaga - Torre del Mar","Mallorca","Mallorca","Mallorca - Camp de Mar","Mallorca - Camp de Mar","Mallorca - Can Pastilla Playa","Mallorca - Can Pastilla Playa","Mallorca - Lloret de Vistalegr","Mallorca - Lloret de Vistalegr","Mallorca - Lloseta","Mallorca - Lloseta","Mallorca - Palma de Mallorca","Mallorca - Palma de Mallorca","Mallorca - Pto. Alcudia","Mallorca - Pto. Alcudia","Marbella","Marbella","Marbella-Malaga","Marbella-Malaga","Salamanca","Salamanca","Seville","Seville","Seville - El Pedroso","Seville - El Pedroso","Tarragona","Tarragona","Tarragona - Vallfogona de Riuc","Tarragona - Vallfogona de Riuc","Tenerife - Los Cristianos Aron","Tenerife - Los Cristianos Aron","Tenerife - Puerto de la Cruz","Tenerife - Puerto de la Cruz","Tenerife - Valle Gran Rey. La","Tenerife - Valle Gran Rey. La","Valencia","Valencia","Valencia -  Paterna","Valencia -  Paterna","Valencia-Alaquas","Valencia-Alaquas","Valencia-Gandia","Valencia-Gandia");
listCITY.setDefaultOption("IT","All Cities");


function init_search() { 
  var theform = document.DateSelect;
  listCITY.init(theform);
}
