
    var initParams = {};
    var mouseX = 0;
    var mouseY = 0;

    function dpInit()
    {																		

		jQuery().mousemove(function(e){
			mouseX = e.pageX;
			mouseY = e.pageY;
		});

		init_DPPod(locationList, initParams);
		setDoW('departureDoW', 'dp_departureMonth', 'dp_departureDay', initParams['dayNames']);
		setDoW('returnDoW', 'dp_returnMonth', 'dp_returnDay', initParams['dayNames']);

		var maxDate = new Date();
		maxDate.setFullYear(maxDate.getFullYear() + 1);
		
		jQuery("#departurepicker").datepicker( 
		{		
			showOn: 'button', 
			buttonImage: 'http://promos.opodo.co.uk/promos/static/images/calendar.gif', 
			buttonImageOnly: true,
			dateFormat: 'yy-mm-dd',
			displayAt: [mouseX+10, mouseY+10],
			minDate: new Date(),
			beforeShow: function(input)
			{
				var departDate = new Date();
				departDate.setFullYear(parseInt(jQuery('#dp_departureMonth').val().substring(0, 4), 10));
				departDate.setMonth(parseInt(jQuery('#dp_departureMonth').val().substring(4, 6), 10) - 1);
				departDate.setDate(parseInt(jQuery('#dp_departureDay').val(), 10));
				
				jQuery(this).datepicker('setDate', departDate);
			},
			maxDate: maxDate,
			onSelect: function(dateText, inst) 
			{
				jQuery('#dp_departureMonth').selectedByValue(dateText.substring(0, 4)+dateText.substring(5, 7));
				jQuery('#dp_departureDay').selectedByValue(dateText.substring(8, 10));
				setDate('dp_departureMonth', 'dp_departureDay', 'dp_returnMonth', 'dp_returnDay', 1, 7*24);
				setDoW('departureDoW', 'dp_departureMonth', 'dp_departureDay', initParams['dayNames']);
			}    
				

		});

		jQuery("#returnpicker").datepicker(
		{
			showOn: 'button', 
			buttonImage: 'http://promos.opodo.co.uk/promos/static/images/calendar.gif', 
			buttonImageOnly: true,
			dateFormat: 'yy-mm-dd',
			displayAt: [mouseX+10, mouseY+10],
			beforeShow: function(input)
			{
				var departDate = new Date();
				departDate.setFullYear(parseInt(jQuery('#dp_departureMonth').val().substring(0, 4), 10));
				departDate.setMonth(parseInt(jQuery('#dp_departureMonth').val().substring(4, 6), 10) - 1);
				departDate.setDate(parseInt(jQuery('#dp_departureDay').val(), 10));
				jQuery(this).datepicker('option', 'minDate', departDate);
			
				var returnDate = new Date();
				returnDate.setFullYear(parseInt(jQuery('#dp_returnMonth').val().substring(0, 4), 10));
				returnDate.setMonth(parseInt(jQuery('#dp_returnMonth').val().substring(4, 6), 10) - 1);
				returnDate.setDate(parseInt(jQuery('#dp_returnDay').val(), 10));
					
				jQuery(this).datepicker('setDate', returnDate);
			
			},
			minDate: new Date(),
			maxDate: maxDate,
			onSelect: function(dateText, inst) 
			{
				jQuery('#dp_returnMonth').selectedByValue(dateText.substring(0, 4)+dateText.substring(5, 7));
				jQuery('#dp_returnDay').selectedByValue(dateText.substring(8, 10));
				setDate('dp_departureMonth', 'dp_departureDay', 'dp_returnMonth', 'dp_returnDay', 0, 7*24);
				setDoW('returnDoW', 'dp_returnMonth', 'dp_returnDay', initParams['dayNames']);
			}    
		});
	}	

    function setDoW(id, month, day, names)
    {
		if (names == null) names = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
		var d = new Date();
		
		d.setFullYear(jQuery('#'+month).val().substring(0, 4));
		d.setMonth(parseInt(jQuery('#'+month).val().substring(4), 10) - 1);
		d.setDate(parseInt(jQuery('#'+day).val(), 10));
		
		jQuery('#'+id).html(names[d.getDay()]);
    }
	
    function showPodError(text, field)
    {
        alert(text);
        jQuery('#'+field).focus();
        jQuery('#'+field+'Label').css('color', 'red');
    }
				        
    