
	
var dp_opts =  { 
	dateFormat: 'dd/mm/yy', 
	showAnim: 'slideDown',
	minDate: '2d',
	maxDate: '+2y',
	showOtherMonths : false,
	showOn: 'button', 
	buttonImage: PATHFIX+'img/cal-grey.gif', 
	buttonImageOnly: true,
	beforeShow : function(inp){
		if(inp.value==''){
			var id =  $(inp).attr('id');
			var ids = [ (id+'').replace(/departure/,'arrival'), (id+'').replace(/arrival/,'departure') ];
			for(var i=0,l=ids.length;i<l;i++){
				var d = $('#'+ids[i]).val();
				if(d){ $(inp).datepicker('option', 'defaultDate', Datepicker.dateConvert(d)); }
			}
		} 
	},
	onSelect : function(txt){
		var $sel = $(this).closest('div').find('select');
		var sp = txt.split('/');
		$sel.eq(0).val(sp[0]);
		$sel.eq(1).val(sp[1]+'/'+sp[2]);
	} 
};

$(function(){ 
	$('.search-filter form').submit( jumpto );
	
	var $inp = $('#inp_arrival,#inp_departure');
	$inp.not('.no-datepicker').datepicker( dp_opts );
	$inp.each(function(){
		$(this).closest('div').find('select').change( function(e){ Datepicker.updateHidden(e,this); } ); 
	});
});



function jumpto(e,go){
	if(go) return true;
	var $sel = $('#div_city select');
	if($sel.length && $sel.val()=='0'){
		alert('Please select a city');
		return false;
	}
	var $self = $(this);
	// if we want to open a window, we have to do it now to avoid popup blockers.
	var target = $self.attr('target');
	if(target=='_blank' || target.substr(0,12)=='searchresult'){
		var name = 'searchresult'+Math.floor(Math.random()*100000);
		var win = window.open(null,name);
		$self.attr('target',name);
	}
	var d = $self.serializeArray();
	d.push({ name : '_get', value : 1 });
	if(!$self.data('JUMPTO_BASE')) $self.data('JUMPTO_BASE', $self.attr('action'));
	$.get( $self.data('JUMPTO_BASE'), d, function(http){ $self.attr('action',http).trigger('submit',[true]); });
	return false;
}


function doReset(obj){
	$(obj).closest('form')
		.find('input[type=hidden]:not([name*=city]):not([name=tc])').val('').end()
		.find('select').val(0);
	$.get( PATHFIX+'resetSearch' );
}

var Datepicker = {
	convertDate : function(s){
			var b = s.split('-'); 
			if(b.length==3) return new Date(1*b[0],1*b[1]-1,1*b[2]);
			return null;
		},
	dateConvert : function(s){
			var b = s.split(/\D/); 
			if(b.length==3) return new Date(1*b[2],1*b[1]-1,1*b[0]);
			return null;
		},
	updateHidden : function(e,sel){
		var $cont = $(e.target).closest('div');
		var $c = $cont.find('select');
		var val = $c.eq(0).val()+'/'+$c.eq(1).val();
		$cont.find('input').val( val.length==10 ? val : '' );
	}
};

function addFilter(obj){
	var $temp = $(obj).closest('.search-filters').find('.template');
	$temp.clone().removeClass('template').insertBefore($temp).show('fast');
}

function removeFilter(obj){
	$(obj).closest('div').hide('fast',function(){ $(this).remove(); });
}

function hideShowSearch(obj){
	var $div = $(obj).parent().next(), 
		$i = $(obj).find('span'),
		vis = $i.hasClass('bmg-icon-arrow-down');
	if(vis){
		$div.slideUp('fast');
		$i.removeClass('bmg-icon-arrow-down').addClass('bmg-icon-arrow-right');
	}
	else{
		$div.slideDown('fast');
		$i.removeClass('bmg-icon-arrow-right').addClass('bmg-icon-arrow-down');		
	}}
