	function init_DPPod(locations, searchParams)
    {
		jQuery("#dp_departure").autocomplete(locations, {'matchContains': true, 'width': 300, 'minChars': 4, 'allowLevenshteinDistance': 2, 'levenshteinPattern': /^[^(]+/, 'searchPattern': /^[^(]+/});
		jQuery("#dp_destination").autocomplete(locations, {'matchContains': true, 'width': 300, 'minChars': 4, 'allowLevenshteinDistance': 2, 'levenshteinPattern': /^[^(]+/, 'searchPattern': /^[^(]+/});

		setMonth("dp_departureMonth", searchParams['dp']['departure_month'], searchParams['maxMonth'], searchParams['monthNames']);
    		setMonth("dp_returnMonth", searchParams['dp']['return_month'], searchParams['maxMonth'], searchParams['monthNames']);
		setDays("dp_departureDay", searchParams['dp']['departure_month'], searchParams['dp']['departure_day']);
		setDays("dp_returnDay", searchParams['dp']['return_month'], searchParams['dp']['return_day']);

		jQuery('#dp_departure').attr('value', searchParams['departure']);
		jQuery('#dp_destination').attr('value', searchParams['destination']);

		jQuery('#dp_adults').empty("option");
		for(i=1;i<=9;i++) jQuery('#dp_adults').append('<option value="'+i+'" '+((i == searchParams['dp']['adults']) ? 'selected="selected"' : '')+'>'+i+'</option>');

		jQuery('#dp_children').empty("option");
		for(i=0;i<=9;i++) jQuery('#dp_children').append('<option value="'+i+'" '+((i == searchParams['dp']['children']) ? 'selected="selected"' : '')+'>'+i+'</option>');

		jQuery('#dp_departureTime').empty("option");
		jQuery('#dp_returnTime').empty("option");

		for(i=0;i<searchParams['dp']['times'].length;i++)
		{
			jQuery('#dp_departureTime').append('<option value="'+searchParams['dp']['times'][i]['value']+'">'+searchParams['dp']['times'][i]['text']+'</option>');
			jQuery('#dp_returnTime').append('<option value="'+searchParams['dp']['times'][i]['value']+'">'+searchParams['dp']['times'][i]['text']+'</option>');
		}
		if (searchParams['CMP'] != '') jQuery('#dp_CMP').attr('value', searchParams['CMP']);
	}

    function submitDPSearch(color)
    {


		var d = new Date();		
		if (color == null) color = 'black';
				
		var loc;
		var code;
		
		jQuery('#OpodoQuickSearch label').css('color',color);
		jQuery('#OpodoDPSearch label').css('color',color);
		
		loc = jQuery('#dp_departure').val();
		code = (loc.length == 3) ? loc : ((loc.match(/([A-Z]{3})/) != null) ? loc.match(/([A-Z]{3})/).shift() : null);
		if (code == null) 
		{
			showPodError("Please specify a valid departure location", 'dp_departure');
			return false;
		}
		else jQuery('#dp_departureCode').attr('value', code);

		loc = jQuery('#dp_destination').val();
		code = (loc.length == 3) ? loc : ((loc.match(/([A-Z]{3})/) != null) ? loc.match(/([A-Z]{3})/).shift() : null);
		if (code == null) 
		{
			showPodError("Please specify a valid arrival location", 'dp_destination');
			return false;
		}
		else jQuery('#dp_destinationCode').attr('value', code);
		
		var depDate = new Date(jQuery('#dp_departureMonth').val().substring(0,4), parseInt(jQuery('#dp_departureMonth').val().substring(4,6), 10) - 1, jQuery('#dp_departureDay').val());

		if (depDate == "Invalid Date" || parseInt(depDate.getTime() / 86400) < parseInt(d.getTime() / 86400))
		{
			showPodError("Departure date is invalid", 'dp_departureDay');
			return false;
		}

		var retDate = new Date(jQuery('#dp_returnMonth').val().substring(0,4), parseInt(jQuery('#dp_returnMonth').val().substring(4,6), 10) - 1, jQuery('#dp_returnDay').val());

		if (retDate == "Invalid Date" || parseInt(retDate.getTime() / 86400) < parseInt(d.getTime() / 86400) || depDate.getTime() > retDate.getTime())
		{
			showPodError("Return date is invalid", 'dp_returnDay');
			return false;
		}	
		jQuery('#dpSearch').submit();

	}
