﻿function arsLoad(){
    State.init($('state'));
    TripType.init();
    InputHint.date(['dt1', 'dt2', 'dt3', 'dt4', 'rdt']);
}


var TripType={
run:function(fade){
	$$('#searchType a').invoke('removeClassName', 'sel'); 
	//$('A'+State.value.tt).addClassName('sel');
	switch(State.value.tt){
	case "O":  this.selOW(fade); break;
	case "R":  this.selRT(fade); break;
	case "M":  this.selMD(fade); break;
	}
},
selOW:function(fade){
	if(fade){
		fx.FadeOut(['returnDate']);
	}else $('returnDate').hide();
	//$('addRmvFlt').hide();
	$('flight2').hide();
	$('flight3').hide();
	$('flight4').hide();
	$$('h2.first').invoke('hide');
},
selRT:function(fade){
	$('returnDate').show();	
	if(fade)
		fx.FadeIn('returnDate');
	
	//$('addRmvFlt').hide();
	$('flight2').hide();
	$('flight3').hide();
	$('flight4').hide();
	$$('h2.first').invoke('hide');
	//tm1Obj.nextFld='rdt';
},
selMD:function(fade){
	//$('addRmvFlt').show(); 
	$('returnDate').hide();
	$$('h2.first').invoke('show');
	//this.rmvFltBtn();
	switch(this.getMdLegs()){
	case 2: $('flight2').show(); $('flight3').hide(); $('flight4').hide(); break;
	case 3: $('flight2').show(); $('flight3').show(); $('flight4').hide(); break;
	case 4: $('flight2').show(); $('flight3').show(); $('flight4').show(); break;
	}
	//tm1Obj.nextFld='from2';
},
addFlt:function(){
	if(this.getMdLegs()==4)
		Dialog.warn({msg:"We're sorry but there is a maximum of four trip legs per itinerary.  If your trip involves more than four legs, please break it down into two or more parts and book each part separately."});
	if(this.getMdLegs()<4){
		this.setMdLegs(this.getMdLegs()+1);
		$('flight'+this.getMdLegs()).show();
	}
	this.rmvFltBtn();
},
rmvFlt:function(){
	if(this.getMdLegs()>2){
		$('flight'+this.getMdLegs()).hide();
		this.setMdLegs(this.getMdLegs()-1);
	}
	this.rmvFltBtn();
},
rmvFltBtn:function(){
	var btn = $('btn-rmvFlt')
	switch(this.getMdLegs()){
	case 2: btn.hide(); $('addRmvFlt').addClassName('one'); break;
	case 3: btn.show(); $('addRmvFlt').removeClassName('one'); break;
	case 4: btn.show(); $('addRmvFlt').removeClassName('one'); break;
	}
},
setType:function(nv,fade){State.setValue('tt',nv); this.run(fade);  $$('form')[0].focusFirstElement();},
getType:function(){State.value.tt},
setMdLegs:function(num){State.setValue('md_legs',num);},
getMdLegs:function(){return State.value.md_legs},
getLegs:function(){switch(State.value.tt){case 'ow':return 1;case 'rt':return 2;default: return this.getMdLegs(); }},
getType:function(){return State.value.tt},
init:function(){this.run();}
}

var DateFields={
dt1:function(){
	switch(TripType.getType()){
	case 'O':return [$('dt1')]
	case 'R':return [$('dt1'),$('rdt')]
	case 'M':
	var aF=[];
	for(var i=1;i<=TripType.getMdLegs();i++)
		aF.push($('dt'+i));
	return aF;
	}
},
dt2:function(){
	var aF=[];
	for(var i=1;i<=TripType.getMdLegs();i++)
		aF.push($('dt'+i));
	return aF;
},
dt3:function(){
	var aF=[];
	for(var i=1;i<=TripType.getMdLegs();i++)
		aF.push($('dt'+i));
	return aF;
},
dt4:function(){
	var aF=[];
	for(var i=1;i<=TripType.getMdLegs();i++)
		aF.push($('dt'+i));
	return aF;
}
}