if(navigator.appVersion.indexOf ("Mac", 0) != -1) {
	document.write ('<link rel="stylesheet" type="text/css" href="./css/style_mac.css">');
};

var h_img_no = 0;
var h_img_arr = [
	 'header_1.png'
	,'header_2.png'
	,'header_3.png'
	,'header_5.png'
];
$(document).ready(function() {
	var parent = $('#today_wrap');
	var childs = parent.children();
	var easing = 2500;
	var interval = 5000;

	var h_timer = null;
	var h_interval = 10000;

	/* 即日体入って？のフェードアニメーション */
	childs.css({
		display: 'none',
		position: 'absolute'
	});
	$(childs[0]).css({
		display: '',
		position: 'relative'
	});
	/* ポインタが上にある時はタイマーを停止 */
	var timer = null;
	parent.mouseover(function() {
		clearInterval(timer);
		$(this).stop().animate({opacity: '0.8'}, 'fast');
	});
	/* ポインタが外に出た場合、タイマーを開始 */
	parent.mouseout(function() {
		timer = setInterval(function() {
			/* 子要素を取得 */
			childs = $('#today_wrap').children();

			var banner_now = $(childs[0]);
			var banner_next = $(childs[1]);

			/* 子要素を次の物に入れ替える */
			banner_now.css({position: 'absolute'});
			banner_now.animate({opacity: 'hide'}, easing, function() {
				$(this).clone(true).appendTo(parent);
				$(this).remove();
			});
			banner_next.animate({opacity: 'show'}, easing);
			banner_next.css({position: 'relative'});
		}, interval);
		$(this).stop().animate({opacity: '1'}, 'fast');
	}).mouseout();

	h_timer = setInterval(function() {
		var fadetime = 1000;
		$('#header_top_img').fadeOut(fadetime, function() {
			h_img_no++;
			if(h_img_no >= h_img_arr.length) {
				h_img_no = 0;
			}

			$('#header_top_img').css({'backgroundImage' : 'url(/img/pc/main/'+h_img_arr[h_img_no]+')'}).fadeIn(fadetime * 3);
		})
	}, h_interval);
	$('#header_top_img').css({'backgroundImage' : 'url(/img/pc/main/'+h_img_arr[h_img_no]+')'});
});

$(function() {
	/* トップ画像のフェードアニメーション */
	var cache = [];
	$.preLoadImages = function() {
		var args_len = h_img_arr.length;
		for(var i = args_len; i--;) {
			var cacheImage = document.createElement('img');
			cacheImage.src = '/img/pc/main/'+h_img_arr[i];
			cache.push(cacheImage);
		}
	}
	$.preLoadImages();

	$('#slidebunner_banner').carouFredSel({
		prev: "#prev_banner",
		next: "#next_banner",
		leftMargin: -202,
		amount: 210,
		padding:[6, 0],
		items: {
			width: 425,
			height: 66,
			visible: 1,
			start: "random"
		},
		scroll: {
			duration: 1000
		},
		auto: {
			pauseDuration	: 5000,
			pauseOnHover	: true
		}
	});
	$('#slidebunner_banner img').mouseover (function() {
		$(this).stop().animate({opacity: '0.7'}, 'fast');
	});
	$('#slidebunner_banner img').mouseout (function() {
		$(this).stop().animate({opacity: '1'}, 'fast');
	});
});

$(function() {
	$('#slidebunner_newshop').carouFredSel({
		prev: "#prev_newshop",
		next: "#next_newshop",
		amount: 200,
		padding:[0, 0],
		items: {
			width: 600,
			height: 165,
			visible: 1,
			start: "random"
		},
		scroll: {
			duration: 1000
		},
		auto: {
			pauseDuration	: 5000,
			pauseOnHover	: true
		}
	});
	$('#slidebunner_newshop img').mouseover (function() {
		$(this).parent().stop().animate({opacity: '0.8'}, 'fast');
	});
	$('#slidebunner_newshop img').mouseout (function() {
		$(this).parent().stop().animate({opacity: '1'}, 'fast');
	});
});


$(function(){
	var free_def = "フリーワード検索\t";
	$('#freeword').setDefaultValue(free_def, "freeword_default");

	$('#merit_btn').click(function() {
		var query = '';
		$('input[name=merit]:checked').each(function() {
			if(query != '') query += '_';
			query += $(this).val();
		});

		window.location = searchURI + '?merit=' + query;
	});
});

$(function() {
	$('.arealist_link').hover(
		function() {
			var id = $(this).attr('id');
			var img_name = id+'_on.png';
			$(this).css('background-image', 'url('+baseURI+'img/pc/main/'+img_name+')');
		},
		function() {
			var id = $(this).attr('id');
			var img_name = id+'.png';
			$(this).css('background-image', 'url('+baseURI+'img/pc/main/'+img_name+')');
		}
	);
});


/* いっぱつ検索 */
var openDialog = null;
$(function() {
	/* ダイアログ */
	$('#dialog:ui-dialog').dialog('destroy');

	/* 一発検索ダイアログの初期値設定 */
	function dialogInit() {
		/* 設定内容を初期化 */
		dialogReset();

		/* 値を設定 */
		$.each(area, function(key, val) {
			mk_list_item(area_list, area_selectedlist, key, val, false);
			$('#'+area_list+' option[value='+key+']').attr('disabled', 'disabled');
		});
		$.each(rosen, function(key, val) {
			mk_list_item(eki_list, eki_selectedlist, key, val, false);
			$('#'+eki_list+' option[value='+key+']').attr('disabled', 'disabled');
		});
		$('#'+saraly_select).val(saraly);
		$.each(type, function(key, val) {
			$('input[name='+type_list+'][value='+key+']').get(0).checked = true;
		});
		$.each(merit, function() {
			$('input[name='+merit_list+'][value='+this+']').get(0).checked = true;
		});

		$('#'+bigarea_list+' option:first').attr('selected', 'selected');
		$('#'+bigarea_list).change();
		$('#'+area_list).focus();
		$('#'+kaisya_list+' option:first').attr('selected', 'selected');
		$('#'+kaisya_list).change();

		searchCount();
	};

	/* 検索条件をリセット */
	function dialogReset() {
		$('#'+bigarea_list).attr('disabled', 'disabled');
		$('#'+bigarea_list+' option:selected').attr('selected', '');
		$('#'+bigarea_list).attr('disabled', '');
		$('#'+area_list+' option:disabled').attr('disabled', '');
		$('#'+area_list).html('');
		$('#'+area_selectedlist+' ul').html('');

		$('#'+kaisya_list).attr('disabled', 'disabled');
		$('#'+kaisya_list+' option:selected').attr('selected', '');
		$('#'+kaisya_list).attr('disabled', '');
		$('#'+rosen_list).html('');
		$('#'+eki_list+' option:disabled').attr('disabled', '');
		$('#'+eki_list).html('');
		$('#'+eki_selectedlist+' ul').html('');

		$('#'+saraly_select).val(0);
		$('input[name='+type_list+']').attr('checked', '');
		$('input[name='+merit_list+']').attr('checked', '');
	}

	/* いっぱつ検索ダイアログ */
	$(dialog).dialog({
		autoOpen: false,
		height: 520,
		width: 864,
		draggable: false,
		resizable: false,
		modal: true,
		buttons: {
			'検索': function() {
				/* 検索ページ */
				var query = getSearchQuery();

				window.location = searchURI + query;
			},
			'キャンセル': function() {
				$(this).dialog('close');
			},
			'リセット': function() {
				$(dialog_reset_confirm).dialog('open');
			}
		},
		close: function() {
			/* 閉じるときの処理 */
		}
	});

	/* リセット確認ダイアログ */
	$(dialog_reset_confirm).dialog({
		autoOpen: false,
		resizable: false,
		draggable: false,
		height:140,
		modal: true,
		buttons: {
			"リセット": function() {
				dialogReset();
				$('#'+bigarea_list+' option:first').attr('selected', 'selected');
				$('#'+bigarea_list).change();
				$('#'+area_list).focus();
				$('#'+kaisya_list+' option:first').attr('selected', 'selected');
				$('#'+kaisya_list).change();
				searchCount();

				$( this ).dialog( "close" );
			},
			"キャンセル": function() {
				$( this ).dialog( "close" );
			}
		}
	});

	/* 検索ダイアログを開き、指定されたアコーディオンのタブを開く
	 * 引数に負の値を設定した場合、アコーディオンは操作しない
	 */
	openDialog = function(tabId) {
		dialogInit();
		$(dialog).dialog('open');
		if(tabId > -1) {
			$(dialog_accordion).accordion('option', 'active', tabId);
		}
	};

	$('#sbTab').click(function() {
		/* ダイアログを開く */
		openDialog(0);
	});


	/* アコーディオン */
	$(function() {
		$(dialog_accordion).accordion({
			autoHeight: false,
			fillSpace: true
		});
	});

	$('.area_add').click(function() {
		/* エリアリストアイテムを作成 */
		mk_list_items(area_list, area_selectedlist);
	});
	$('#'+area_list).dblclick(function() {
		/* エリアリストアイテムを作成 */
		$('.area_add').click();
	});

	$('.eki_add').click(function() {
		/* 駅リストアイテムを作成 */
		mk_list_items(eki_list, eki_selectedlist);
	});
	$('#'+eki_list).dblclick(function() {
		$('.eki_add').click();
	});

	$('#'+saraly_select).change(function() {
		searchCount();
	});

	$('input[name='+type_list+']').change(function() {
		searchCount();
	});
	$('input[name='+merit_list+']').change(function() {
		searchCount();
	});

	/* リストアイテムを作成、selected項目の選択無効化 */
	function mk_list_items(select_id, list_div_id) {
		$('#' + select_id + ' option:selected').each(function() {
			/* リストアイテムを作成 */
			mk_list_item(select_id, list_div_id, $(this).val(), $(this).text(), true);

			/* 一覧リストの選択された要素を無効化 */
			$(this).attr('disabled', 'disabled');
			$(this).attr('selected', '');
		});

		/* 検索結果件数を取得・設定 */
		searchCount();
	}

	/* リストアイテムを作成 */
	function mk_list_item(hidden_class_name, list_div_id, id, val, animation) {
		var parent = $('#' + list_div_id + ' ul');

		/* リスト要素 */
		var elm_li = $('<li />');

		/* 「×」　ボタン要素 */
		$('<button />', {
			html: ''
		}).addClass('search_delete').appendTo(elm_li);

		/* 文字 */
		$('<span />', {
			html: val
		}).appendTo(elm_li);

		/* 隠し要素 */
		$('<input />', {
			type: 'hidden',
			value: id
		}).addClass(hidden_class_name).appendTo(elm_li);

		if(animation) {
			elm_li.css({display : 'none'});
			elm_li.appendTo(parent);
			elm_li.animate({width: 'show', opacity: 'show'}, 'slow');
		} else {
			elm_li.appendTo(parent);
		}

		return elm_li;
	};

	/* mk_list_itemで作成された要素の「×」ボタンをクリックされた時の
	 * リストアイテム削除処理
	 */
	$('.search_delete').live('click', function() {
		var data = $('input', $(this).parent());
		var cls = data.attr('class');
		var id = data.val();

		$(this).closest('li').animate({width: 'hide', opacity: 'hide'}, 'normal', function () {
			$(this).remove();

			/* 検索結果件数を取得・設定 */
			searchCount();
		});

		/* 当該リストの無効状態optionを取得 */
		var sel_elm = $('#' + cls + ' option:disabled');
		sel_elm.each(function() {
			if($(this).val() == id) {
				$(this).attr('disabled', '');
			}
		});
	});

	/* 大アエリアの選択項目が変更された場合
	 * 中エリア一覧を取得する
	 */
	var bigAreaAjax = null;
	$('#'+bigarea_list).change(function() {
		/* 空の場合は処理しない */
		if(!$(this).val()) return;

		/* IDを取得 */
		var id = $('#'+bigarea_list+' option:selected').val();

		/* 通信中のAjax処理をAbort */
		if(bigAreaAjax != null) bigAreaAjax.abort();
		/* 中エリアを取得 */
		bigAreaAjax = $.ajax({
			dataType: 'json',
			url:mdareaURI+id,
			success: function(data){
				$('#'+area_list+' option').remove();
				$.each(data.mdarea, function(idx,mdarea){
					$opt = $("<option/>")
						.attr("value", mdarea.id)
						.append(mdarea.name);
					$opt.appendTo('#'+area_list);
				});
				$('#'+area_selectedlist+' ul li input').each(function() {
					$('#'+area_list+' option[value='+$(this).val()+']').attr('disabled', 'disabled');
				});
				$('#'+area_list+' option:first').attr('selected', 'selected');
				$('#'+area_list).scrollTop(0);
			}
		}); 
	});

	/* 鉄道会社の選択項目が変更された場合
	 * 路線一覧を取得する
	 */
	var kaisyaAjax = null;
	$('#'+kaisya_list).change(function() {
		/* 空の場合は処理しない */
		if(!$(this).val()) return;

		/* IDを取得 */
		var id = $('#'+kaisya_list+' option:selected').val();

		/* 通信中のAjax処理をAbort */
		if(kaisyaAjax != null) kaisyaAjax.abort();
		/* 中エリアを取得 */
		kaisyaAjax = $.ajax({
			dataType: 'json',
			url:rosenURI+id,
			success: function(data){
				$('#'+rosen_list+' option').remove();
				$('#'+eki_list+' option').remove();
				$.each(data.rail, function(idx,kaisya){
					$opt = $("<option/>")
						.attr("value", kaisya.id)
						.append(kaisya.name);
					$opt.appendTo('#'+rosen_list);
				});
				$('#'+rosen_list+' option:first').attr('selected', 'selected');
				$('#'+rosen_list).change();
				$('#'+rosen_list).scrollTop(0);
			}
		}); 
	});

	/* 路線の選択項目が変更された場合
	 * 駅一覧を取得する
	 */
	$('#'+rosen_list).change(function() {
		/* 空の場合は処理しない */
		if(!$(this).val()) return;

		/* IDを取得 */
		var id = $('#'+rosen_list+' option:selected').val();

		/* 通信中のAjax処理をAbort */
		if(kaisyaAjax != null) kaisyaAjax.abort();
		/* 中エリアを取得 */
		kaisyaAjax = $.ajax({
			dataType: 'json',
			url:ekiURI+id,
			success: function(data){
				$('#'+eki_list+' option').remove();
				$.each(data.station, function(idx,station){
					$opt = $("<option/>")
						.attr("value", station.id)
						.append(station.name);
					$opt.appendTo('#'+eki_list);
				});
				$('#'+eki_selectedlist+' ul li input').each(function() {
					$('#'+eki_list+' option[value='+$(this).val()+']').attr('disabled', 'disabled');
				});
				$('#'+eki_list+' option:first').attr('selected', 'selected');
				$('#'+eki_list).scrollTop(0);
			}
		}); 
	});

	/* 表示用枠の作成 */
	var panel = $(dialog).next();
	$('<div>現在の検索結果数：<span class="match_count_num">0</span><span>件</span></div>').addClass('match_count').appendTo(panel);
	setCountNum('0');

	/* 件数を設定 */
	function setCountNum(num) {
		$('.match_count .match_count_num').text(num);
	}

	function getSearchQuery() {
		/* 条件格納用 */
		var area_query = '', eki_query = '', saraly_query = '', gyoushu_query = '', merit_query = '', query = '';

		/* 条件のGET用文字列を作成 */
		/* エリア */
		$('#'+area_selectedlist+' ul li').each(function() {
			if(area_query != '') area_query += '_';
			area_query += $('input', $(this)).val();
		});

		/* 駅 */
		$('#'+eki_selectedlist+' ul li').each(function() {
			if(eki_query != '') eki_query += '_';
			eki_query += $('input', $(this)).val();
		});

		/* 体入時給 */
		saraly_query = $('#'+saraly_select).val();

		/* 業種 */
		$('input[name='+type_list+']:checked').each(function() {
			if(gyoushu_query != '') gyoushu_query += '_';
			gyoushu_query += $(this).val();
		});

		/* メリット */
		$('input[name='+merit_list+']:checked').each(function() {
			if(merit_query != '') merit_query += '_';
			merit_query += $(this).val();
		});

		query += '?area=' + area_query;
		query += '&station=' + eki_query;
		query += '&saraly=' + saraly_query;
		query += '&type=' + gyoushu_query;
		query += '&merit=' + merit_query;
		/* 追加でパラメータが設定されている場合 */
		if(typeof append_query != "undefined" && append_query != "") query += append_query;

		return query;
	}

	/* 検索結果件数をカウント */
	var countAjax = null;
	function searchCount() {
		var query = getSearchQuery();
		/* 通信中のAjax処理をAbort */
		if(countAjax != null) countAjax.abort();
		countAjax = $.ajax({
			url: countURI + query,
			cache: false,
			success: function(html){
				setCountNum(html);
			}
		});
	}
});

$(function() {
	$('.query_plus.area').click(function() {
		openDialog(0);
	});
	$('.query_plus.rosen').click(function() {
		openDialog(1);
	});
	$('.query_plus.other').click(function() {
		openDialog(2);
	});
});

