
Cruise = Class.create({
	queries : 2,
	area : {},
	company : {},
	icon : { values : [], texts : [], files : [] },
	ship : {},
	port : {},
	c2a2p : [],
	v : {},
	Init: function(){
		var ref = this;

		$('search').observe('mouseover',function(){
			$('search').src = 'on_off/cruise_search_button_on.png';
		});
		$('search').observe('mouseout',function(){
			$('search').src = 'on_off/cruise_search_button_off.png';
		});

		$('search').observe('click',function(){
			var arr = $('form').serialize().toQueryParams();
			var ym = arr['ym'].split('/');
			location.href = ('/cruise/list.php?v=' + Number(arr['company']).U64() + (Number(ym[0]) ? Number(ym[0]).U64() : '00') + Number(ym[1]).U64()
					 + Number(arr['port']).U64() + Number(arr['area']).U64() + Number(arr['ship']).U64() + '0' + (ref.edit ? '&edit=true' : ''));
		});
		var SelectPort = function(){
			$('port').update(new Element('option',{
				value : 0
			}).insert('出港地選択'));
			var a = ref.c2a2p.collect(function(item){
				return ((item['社名id'] == $('船会社').value) && (!parseInt($('area').value) || ($('area').value == item['エリアid']))) ? item['出港地id'] : null;
			}).compact().unique().each(function(item){
				$('port').insert(new Element('option',SelectObject({
					value : item
				},(ref.v['port'] == item))).insert(ref.port[item]));
			});
		}
		var SelectArea = function(){
			$('area').update(new Element('option',{
				value : 0
			}).insert('エリア選択'));
			var a = ref.c2a2p.collect(function(item){
				return (item['社名id'] == $('船会社').value) ? item['エリアid'] : null;
			}).compact().unique().each(function(item){
				$('area').insert(new Element('option',SelectObject({
					value : item
				},(ref.v['area'] == item))).insert(ref.area[item]));
			});
		}
		var SelectShip = function(){
			$('ship').update(new Element('option',{
				value : 0,
				selected : 'selected'
			}).insert('船名選択'));
			$H(ref.ship[$('船会社').value]).each(function(item){
				$('ship').insert(new Element('option',SelectObject({
					value : item[0]
				},(ref.v['ship'] == item[0]))).insert(item[1]));
			});
		}
		var SelectDate = function(){
			$('出発月').update('<option value="0/0">出発月選択</option>');
			ref.date[$('船会社').value].each(function(item){
				v = item.split('/')[0] + '/' + (item.split('/')[1] - 0);
				$('出発月').insert(new Element('option',SelectObject({
					value : v
				},(v == (ref.v['y'] + '/' + ref.v['m'])))
				).insert(v));
			});
/*
			var d = new Date();
			var y = d.getFullYear();
			var m = d.getMonth();
			for (var i=0;i<24;++i){
				var v = Math.floor(y + (m + i)/12) + '/' + Math.floor((m + i)%12 + 1);
				$('出発月').insert(new Element('option',SelectObject({
					value : v
				},(v == (ref.v['y'] + '/' + ref.v['m'])))
				).insert(v));
			}
*/
		}
		var SelectObject = function(obj,cond){
			return Object.extend(obj,cond ? {selected : 'selected'} : {});
		}

		$H(ref.company).each(function(item){
			$('船会社').insert(new Element('option',SelectObject({
				value : item[0]
			},(item[0] == ref.v['company']))
			).insert(item[1]));
		});
		$('船会社').observe('change',function(){
			SelectPort();
			SelectArea();
			SelectShip();
			SelectDate();
		});
		$('area').observe('change',function(){
			SelectPort();
		});


		SelectPort();
		SelectArea();
		SelectShip();
		SelectDate();


	}
});

var cruise = new Cruise();


