/* # Trip Searcher # build-by: Maykin Media # dev: Merijn Bertels # build: */ jQuery(document).ready(function($){ var search_data = new Array(); var search_datum = new Array(); var search_first = true; // Toggel search options $('#search-by-travel-type').click(function(){ $("#travel-type select").val($("#travel-type select option:first").val()); $('#travel-destination').hide(); $('#travel-type').show(); }); $('#search-by-travel-destination').click(function(){ $("#travel-destination select").val($("#travel-destination select option:first").val()); $('#travel-type').hide(); $('#travel-destination').show(); }); // Toggle search date $('#search-by-date').click(function(){ if(this.checked){ $('#search-by-date-content').show(); // Datepicker $.datepicker.setDefaults($.datepicker.regional['nl']); $("#travel-date").datepicker({ dateFormat: 'dd-mm-yy', beforeShowDay: function(date) { el = new Array(); temp = $.datepicker.formatDate('yy-mm-dd',date)+"T00:00:00Z"; if(jQuery.inArray(temp, search_datum) > -1){ el[0] = true; } else { el[0] = false; } return el; } }); } else { $('#search-by-date-content').hide(); $("#travel-date").datepicker("destroy"); $("#travel-date").val(""); } }); // Form $('#reiszoeker').change(function(){ var url_data = {}; if($("#travel-type-select").is(":visible")){ searchtype = $("#travel-type-select option:selected").attr('id'); searchurl = '/' + $("#travel-type-select").val(); } else { searchtype = $("#travel-destination-select option:selected").attr('id'); searchurl = '/' + $("#travel-destination-select").val(); } if(searchtype == ''){ $.extend(url_data,{reistype:3}); searchurl = '/reizen'; } else { $.extend(url_data,{reistype:searchtype}); } if($("#travel-time-select").val() != ''){ $.extend(url_data,{duration:$("#travel-time-select").val()}); } if($("#travel-date").val() != ''){ var dep_date = $("#travel-date").datepicker("getDate"); dep_date = $.datepicker.formatDate('yy-mm-dd',dep_date)+"T00:00:00Z"; $.extend(url_data,{datum:dep_date}); if($("input[name='travel-date-range']:checked").val() == '1'){ $.extend(url_data,{'date-range':'date-range'}); } } $.extend(url_data,{'total-only':'1'}); $("#search-progress").show(); $.ajax({ async:false, url: 'http://dipsy.egypte.nl/reisfilter/?callback=?', dataType: 'json', data : url_data, success: function(data){ search_data = data; search_datum = new Array(); for(var h=0; h< search_data.facets.length; h++){ if(search_data.facets[h].facet_title == 'vertrekdatum'){ for(var i=0; i< search_data.facets[h].values.length; i++) { if(search_data.facets[h].values[i].value_count){ search_datum.push(search_data.facets[h].values[i].value_title); } } } } if(search_first){ var text = search_data.count + ' reizen'; search_first = false; } else { var text = search_data.count + ' reizen gevonden'; } searchurl = searchurl+'/?'; for(prop in url_data){ if(prop != 'reistype'){ if(prop == 'datum'){ searchurl = searchurl + encodeURI('datum='+$.datepicker.formatDate('yy-mm-dd',$("#travel-date").datepicker("getDate"))+'&'); } else if(prop == 'total-only') { // Do Nothing } else { searchurl = searchurl + encodeURI(prop+'='+url_data[prop]+'&'); } } } $("#search-link").attr('href',searchurl); $("#search-link").attr('rel','nofollow'); $("#search-link").html(text); $("#search-progress").hide(); } }); }).change(); });