var startDate = null;
var endDate   = null;

function selectSet( paramKey, paramName ){
	if ( paramKey == '' || paramKey == null || paramKey == 'undefined' ) return false;
	
	var nameFirst = '';
	var nameEnd = '';
	
	// 比較する為の日付初期設定
	setSelectParam( nameFirst, nameEnd );
	
	var nameDepartureFirst = nameFirst;
	var nameReturnFirst    = nameFirst;
	var nameDepartureEnd   = nameEnd;
	var nameReturnEnd      = nameEnd;
	
	nameDepartureFirst = nameDepartureFirst + 'de_';
	nameReturnFirst    = nameReturnFirst + 're_';
	
	if ( paramKey == 'de_pref' ){
		document.getElementsByName('data[search][re]').item(0).selectedIndex
					= document.getElementsByName('data[search][de]').item(0).selectedIndex;
		return false;
	}
	
	if ( paramKey != '' && paramKey != null && paramKey != 'undefined' ){
		if ( parseInt( startDate.getFullYear(),10 ) > parseInt( endDate.getFullYear(),10 ) ){
			if ( paramKey == 'de' ){
				document.getElementsByName( nameReturnFirst + 'year' + nameReturnEnd ).item(0).selectedIndex
						= document.getElementsByName( nameDepartureFirst + 'year' + nameDepartureEnd ).item(0).selectedIndex;
			} else if ( paramKey == 're' ){
				document.getElementsByName( nameDepartureFirst + 'year' + nameDepartureEnd ).item(0).selectedIndex
						= document.getElementsByName( nameReturnFirst + 'year' + nameReturnEnd ).item(0).selectedIndex;
			}
			setSelectParam( nameFirst, nameEnd );
		}
		if ( parseInt( startDate.getFullYear(),10 ) == parseInt( endDate.getFullYear(),10 )
				&& parseInt( startDate.getMonth(),10 ) > parseInt( endDate.getMonth(),10 ) ){
			if ( paramKey == 'de' ){
				document.getElementsByName( nameReturnFirst + 'month' + nameReturnEnd ).item(0).selectedIndex
						= document.getElementsByName( nameDepartureFirst + 'month' + nameDepartureEnd ).item(0).selectedIndex;
			} else if ( paramKey == 're' ){
				document.getElementsByName( nameDepartureFirst + 'month' + nameDepartureEnd ).item(0).selectedIndex
						= document.getElementsByName( nameReturnFirst + 'month' + nameReturnEnd ).item(0).selectedIndex;
			}
			setSelectParam( nameFirst, nameEnd );
		}
		if ( parseInt( startDate.getFullYear(),10 ) == parseInt( endDate.getFullYear(),10 )
				&& parseInt( startDate.getMonth(),10 ) == parseInt( endDate.getMonth(),10 )
				&& parseInt( startDate.getDate(),10 ) > parseInt( endDate.getDate(),10 ) ){
			if ( paramKey == 'de' ){
				document.getElementsByName( nameReturnFirst + 'day' + nameReturnEnd ).item(0).selectedIndex
						= document.getElementsByName( nameDepartureFirst + 'day' + nameDepartureEnd ).item(0).selectedIndex;
			} else if ( paramKey == 're' ){
				document.getElementsByName( nameDepartureFirst + 'day' + nameDepartureEnd ).item(0).selectedIndex
						= document.getElementsByName( nameReturnFirst + 'day' + nameReturnEnd ).item(0).selectedIndex;
			}
			setSelectParam( nameFirst, nameEnd );
		}
		if ( parseInt( startDate.getFullYear(),10 ) == parseInt( endDate.getFullYear(),10 )
				&& parseInt( startDate.getMonth(),10 ) == parseInt( endDate.getMonth(),10 )
				&& parseInt( startDate.getDate(),10 )  == parseInt( endDate.getDate(),10 )
				&& parseInt( startDate.getHours(),10 ) > parseInt( endDate.getHours(),10 ) ){
			if ( paramKey == 'de' ){
				document.getElementsByName( nameReturnFirst + 'hour' + nameReturnEnd ).item(0).selectedIndex
						= document.getElementsByName( nameDepartureFirst + 'hour' + nameDepartureEnd ).item(0).selectedIndex;
			} else if ( paramKey == 're' ){
				document.getElementsByName( nameDepartureFirst + 'hour' + nameDepartureEnd ).item(0).selectedIndex
						= document.getElementsByName( nameReturnFirst + 'hour' + nameReturnEnd ).item(0).selectedIndex;
			}
			setSelectParam( nameFirst, nameEnd );
		}
		if (parseInt( startDate.getFullYear(),10 ) == parseInt( endDate.getFullYear(),10 )
				&& parseInt( startDate.getMonth(),10 ) == parseInt( endDate.getMonth(),10 )
				&& parseInt( startDate.getDate(),10 )  == parseInt( endDate.getDate(),10 )
				&& parseInt( startDate.getHours(),10 ) == parseInt( endDate.getHours(),10 )
				&& parseInt( startDate.getMinutes(),10 ) > parseInt( endDate.getMinutes(),10 )){
			if ( paramKey == 'de' ){
				document.getElementsByName( nameReturnFirst + 'minutes' + nameReturnEnd ).item(0).selectedIndex
						= document.getElementsByName( nameDepartureFirst + 'minutes' + nameDepartureEnd ).item(0).selectedIndex;
			} else if ( paramKey == 're' ){
				document.getElementsByName( nameDepartureFirst + 'minutes' + nameDepartureEnd ).item(0).selectedIndex
						= document.getElementsByName( nameReturnFirst + 'minutes' + nameReturnEnd ).item(0).selectedIndex;
			}
			setSelectParam( nameFirst, nameEnd );
		}
	}
	return false;
}

function setSelectParam( nameFirst, nameEnd ){
	var nameDepartureFirst = nameFirst;
	var nameReturnFirst    = nameFirst;
	var nameDepartureEnd   = nameEnd;
	var nameReturnEnd      = nameEnd;
	
	nameDepartureFirst = nameDepartureFirst + 'de_';
	nameReturnFirst    = nameReturnFirst + 're_';
	
	
	var startYear    = document.getElementsByName( nameDepartureFirst + 'year'   + nameDepartureEnd ).item(0).value;
	var startMonth   = document.getElementsByName( nameDepartureFirst + 'month'  + nameDepartureEnd ).item(0).value;
	var startDay     = document.getElementsByName( nameDepartureFirst + 'day'    + nameDepartureEnd ).item(0).value;
	var startHour    = document.getElementsByName( nameDepartureFirst + 'hour'   + nameDepartureEnd ).item(0).value;
	var startMinutes = document.getElementsByName( nameDepartureFirst + 'minutes'+ nameDepartureEnd ).item(0).value;
	var endYear      = document.getElementsByName( nameReturnFirst    + 'year'   + nameReturnEnd ).item(0).value;
	var endMonth     = document.getElementsByName( nameReturnFirst    + 'month'  + nameReturnEnd ).item(0).value;
	var endDay       = document.getElementsByName( nameReturnFirst    + 'day'    + nameReturnEnd ).item(0).value;
	var endHour      = document.getElementsByName( nameReturnFirst    + 'hour'   + nameReturnEnd ).item(0).value;
	var endMinutes   = document.getElementsByName( nameReturnFirst    + 'minutes'+ nameReturnEnd ).item(0).value;
	
	startDate = new Date( startYear, parseInt(startMonth,10) - 1, startDay, startHour, startMinutes );
	endDate   = new Date( endYear, parseInt(endMonth,10) - 1, endDay, endHour, endMinutes );
}

