//var HOST = "http://localhost/travel/";
var HOST = "http://www.tokyoshimbun-ts.co.jp/";
var HOTEL_KIND_S = 1;// 基本ホテル
var HOTEL_KIND_A = 2;// Aホテル
var HOTEL_KIND_B = 3;// Bホテル
var HOTEL_KIND_C = 4;// Cホテル
var HOTEL_KIND_D = 5;// Dホテル
var HOTEL_KIND_E = 6;// Eホテル

var MAX_ROOM_MEMBER = 5;

$(document).ready(
function(){
	$('#m_zipcode').keyup(
			function() {
				AjaxZip2.JSONDATA = '/travel/zipcode/';
				flg = AjaxZip2.zip2addr(this, "data[Customer][addr1]",
						"data[Customer][addr1]", null,
						"data[Customer][addr1]");
			});
	$('#tb_navi td').mouseover(
			function() {
				var overImg = '/travel/img/' + $(this).attr('id')
						+ "_on.png";
				$(this).css('background',
						"url(" + overImg + ") no-repeat left");
			});
	$('#tb_navi td').mouseout(
			function() {
				var overImg = '/travel/img/' + $(this).attr('id')
						+ ".png";
				$(this).css('background',
						"url(" + overImg + ") no-repeat left");
			});
	$("#ulkashi").jcarousel( {
		auto : 2,
		wrap : 'last',
		scroll : 1,
		buttonNextHTML : null,
		buttonPrevHTML : null,
		initCallback : mycarousel_initCallback
	});
	$("#ulkashi2").jcarousel( {
		auto : 2,
		wrap : 'last',
		scroll : 1,
		buttonNextHTML : null,
		buttonPrevHTML : null,
		initCallback : mycarousel_initCallback
	});
	$("#ul_index_flash").jcarousel( {
		auto : 6,
		wrap : 'last',
		scroll : 1,
		vertical : true,
		buttonNextHTML : null,
		buttonPrevHTML : null,
		initCallback : mycarousel_initCallback
	});
	$("#ul_index_slider").jcarousel( {
		auto : 0,
		wrap : 'circular',
		scroll : 1,
		mouseWheel : true,
		initCallback : mycarousel_initCallback
	});
	$('#m_zipcode2').keyup(
			function() {
				AjaxZip2.JSONDATA = '/travel/zipcode/';
				AjaxZip2.zip2addr(this, "data[addr1]", "data[addr1]",
						null, "data[addr1]");
			});

	// 個人カレンダー期間別

	$('#frm_kojin_order').submit(function() {
		var no_error = true;
		if($("#hotel_sel").val()==0)
		{
			alert("ホテル選択してください");
			return false;
		}
		if ($("#basic_sel_adult_1").val() == 0||$("#basic_sel_adult_1").val()==null) {
			no_error = false;
			set_hotel();
			alert("※室タイプをもう一度お選びください");
			return no_error;
		}
		if ($("#flight_flight_1").val() == 0) {
			no_error = false;
			alert("往路便を選択してください");
			return no_error;
		}
		if ($("#flight_flight_2").val() == 0) {
			no_error = false;
			alert("復路便を選択してください");
			return no_error;
		}
		basic_price_calc();
		hotel_price_calc();
		flight_price_calc();
		//return no_error;
	});
});

function get_kojin_table(kind)
{
	$("#div_basic_tbl").css({'display':'none'});
	$("#title_price_tbl a[href=#basic]").css({'background-color':'#e6e6fa'});
	$("#div_flight_tbl").css({'display':'none'});
	$("#title_price_tbl a[href=#flight]").css({'background-color':'#e6e6fa'});
	$("#div_hotel_tbl").css({'display':'none'});
	$("#title_price_tbl a[href=#hotel]").css({'background-color':'#e6e6fa'});

	$("#div_"+kind+"_tbl").css({'display':'block'});
	$("#title_price_tbl a[href=#"+kind+"]").css({'background-color':'#a9a9a9'});
}

function get_kojin_data(kojin_id,course_kind,year_month,tab_flg,name){
	var id=kojin_id;
	if(id=="")
		id=$("#btn_kojin_id").val();

	var course=course_kind;
	if(course=="")
		course=$("#btn_course_kind").val();

	var month=year_month;
	if(month=="")
		month=$("#btn_month").val();

	if(tab_flg=="month")
	{

		for(i=1; i<=6;i++)
		{
			$("#title_month a[href=#month"+i+"]").css({
				'border-bottom':'1px solid #000',
				'border-top':'1px solid #000',
				'background-color':'#e6e6fa',
				'border-right':'1px solid #dcdcdc'
			});
		}

		$("#title_month a[href=#month"+name+"]").css({
			'border-bottom':'1px solid #000',
			'border-top':'1px solid #000',
			'background-color':'#a9a9a9'
		});

		$("#title_month a[href=#month"+(Number(course)-1)+"]").css({
			'border-top':'1px solid #dcdcdc'
		});
		$("#title_month a[href=#month6]").css({
			'border-right':'1px solid #000'
		});
	}
	else
	{
		for(i=1; i<=3;i++)
		{
			$("#title_period a[href=#tab"+i+"]").css({
				'border-left':'1px solid #dcdcdc',
				'border-top':'1px solid #dcdcdc',
				'background-color':'#e6e6fa',
				'border-right':'1px solid #dcdcdc'
			});
		}

		$("#title_period a[href=#tab"+name+"]").css({
			'border-left':'1px solid #000',
			'border-right':'1px solid #000',
			'border-top':'1px solid #000',
			'background-color':'#a9a9a9'
		});

		for(i=1; i<=6;i++)
		{
			$("#title_month a[href=#month"+i+"]").css({
				'border-bottom':'1px solid #000',
				'border-top':'1px solid #000',
				'border-right':'1px solid #dcdcdc'
			});
		}

		$("#title_month a[href=#month"+Number(name)+"]").css({
			'border-top':'1px solid #dcdcdc'
		});
		$("#title_month a[href=#month6]").css({
			'border-right':'1px solid #000'
		});
	}
	getCalendarData(id, course,month);
}

function getCalendarData(kojin_id, course_kind, year_month) {
$.ajax( {
	type : "GET",
	url : HOST + "kojins/get_calendar/" + kojin_id + "/" + course_kind
			+ "/" + year_month,
	data : {},
	success : function(data) {
		var arr = year_month.split('-');
		var calendar = cal(Number(arr[0]), Number(arr[1]), 1, data,
				kojin_id, course_kind);
		$("#kojin_calendar").html(calendar);
		$("#btn_course_kind").val(course_kind);
		$("#btn_month").val(year_month);
		return true;
	},
	error : function(XMLHttpRequest, textStatus, errorThrown) {
		return false;
	},
	dataType : 'json'
});
}

function mycarousel_initCallback(carousel) {
	// Pause autoscrolling if the user moves with the cursor over the clip.
	carousel.clip.hover(function() {
		carousel.stopAuto();
	}, function() {
		carousel.startAuto();
	});
};

// form 内容を
function formClear() {
	$("input[type='text']").each(function() {
		$(this).val("");
	});

	$("textarea").each(function() {
		$(this).val("");
	});

	$("select").each(function() {
		$(this).get(0).selectedIndex = 0;
	});
}

// 地図を開く
function openWin(pic, action) {
	window.open(
		action,
		"newwindow",
		"height=615,width=615,top=100,left=100,toolbar=no,menubar=no,scrollbars=no, resizable=yes,location=no, status=no")
}

function cal(year, month, day, data, kojin_id, course_kind) {
	today = new Date();
	if (!year)
		var year = today.getFullYear();
	if (!month)
		var month = today.getMonth();
	else
		month--;
	if (!day)
		var day = today.getDate();
	var leap_year = false;
	if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
		leap_year = true;
	lom = new Array(31, 28 + leap_year, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	dow = new Array("日", "月", "火", "水", "木", "金", "土");
	var days = 0;
	for ( var i = 0; i < month; i++)
		days += lom[i];
	var week = Math.floor((year * 365.2425 + days) % 7);
	var j = 0;
	var when = year + "年 " + (month + 1) + "月";
	var calendar = "<table class=\"calendar\">\n";
	calendar += "<caption>" + course_kind + "日間　" + when + "<\/caption>\n<tr>";

	for (i = 0; i < 7; i++)
		calendar += "<th>" + dow[i] + "<\/th>";
	calendar += "<\/tr>\n<tr>";
	for (i = 0; i < week; i++, j++)
		calendar += "<td><\/td>";
	for (i = 1; i <= lom[month]; i++) {
		calendar += "<td";
		if (day == i)
			calendar += " class=\"today\"";
		calendar += ">" + i + "<br>";

		$.each(data, function(index, content) {
			var period_kind = content.BasicCalendar.basic_period_kind;
			var date_from = content.BasicCalendar.date_from;
			var $arrDate = date_from.split("-");
			var y = Number($arrDate[0]);
			var m = Number($arrDate[1]);
			var d = Number($arrDate[2]);
			if (y == year && (m - 1) == month && d == i) {
				calendar += "<a href=\"" + HOST + "kojins/order/";
				calendar += kojin_id + "/" + course_kind + "/" + period_kind;
				calendar += "/" + date_from + "\">" + period_kind + "</a>";
				// break;
			}
		});

		calendar += "<\/td>";
		j++;
		if (j > 6) {
			calendar += "<\/tr>\n<tr>";
			j = 0;
		}
	}
	if (j > 0)
		for (i = j; i <= 6; i++)
			calendar += "<td><\/td>";
	calendar += "<\/tr>\n<\/table>\n";
	return calendar;
}

function set_basic_adult(index) {
	if($("#hotel_sel").val()==0)
	{
		alert("ホテル選択してください");
		return false;
	}
	var nums = Number($('#basic_sel_adult_' + index).children(':selected').val());
	if (nums <= 0) {
		$('#basic_sel_child_' + index).children().remove();
		$('#basic_sel_child_' + index).append($('<option>').attr( {
			value : 0
		}).text(0));
		$('#basic_sel_child_' + index).attr('disabled', 'disabled');
	} else {
		if (nums > 2) {
			$('#basic_sel_child_' + index).children().remove();
			for (i = 0; i <= (nums - 2); i++)
				$('#basic_sel_child_' + index).append($('<option>').attr( {
					value : i
				}).text(i));
			$('#basic_sel_child_' + index).val(0);
			$('#basic_sel_child_' + index).attr('disabled', '');
		} else {
			$('#basic_sel_child_' + index).children().remove();
			$('#basic_sel_child_' + index).append($('<option>').attr( {
				value : 0
			}).text(0));
			$('#basic_sel_child_' + index).attr('disabled', 'disabled');
		}
	}

	price_calc();
}

function price_calc()
{
	var total=0;
	total+=basic_price_calc();
	total+=hotel_price_calc();
	total+=flight_price_calc();
	var html="合&nbsp;&nbsp;&nbsp;&nbsp;計：&nbsp;&nbsp;&nbsp;&nbsp;" + total + "円";
	$("#td_total_price").html(html);
	$("#btn_total_price_text").val(html);
}

function basic_price_calc() {
	var html = "基本代金：";
	var total = 0;
	var index = 1;
	var adult_nums = 0;
	var child_nums = 0;
	for (i = 1; i <= MAX_ROOM_MEMBER; i++) {
		var num_adult = Number($('#basic_sel_adult_' + i).children(':selected')
				.val());
		var num_child = Number($('#basic_sel_child_' + i).children(':selected')
				.val());
		var price_adult = 0;
		var price_child = 0;
		for (ind in basic_prices) {
			row = basic_prices[ind];
			if (Number(row['room_kind']) == num_adult
					&& Number(row['people_kind']) == 1) {
				price_adult = Number(row['price']);
			}
			if (Number(row['room_kind']) == num_adult
					&& Number(row['people_kind']) == 2) {
				price_child = Number(row['price']);
			}
		}
		if (num_adult > 0) {
			adult_nums += num_adult;
			html += "<br>" + num_adult + "名1室：<br>&nbsp;&nbsp;&nbsp;&nbsp;";
			html += "大人：&nbsp;" + (num_adult - num_child) + '&nbsp;*&nbsp;'
					+ price_adult + '円&nbsp;=&nbsp;' + (num_adult - num_child)
					* price_adult + '円';
			total += (num_adult - num_child) * price_adult;
			if (num_child > 0) {
				child_nums += num_child;
				html += "<br>&nbsp;&nbsp;&nbsp;&nbsp;";
				html += "子供：&nbsp;" + num_child + '&nbsp;*&nbsp;' + price_child
						+ '円&nbsp;=&nbsp;' + num_child * price_child + '円';
				total += num_child * price_child;
			}
			index++;
		}
	}
	html += "<br>小&nbsp;&nbsp;&nbsp;&nbsp;計：&nbsp;&nbsp;&nbsp;&nbsp;" + total + "円";
	$("#td_basic_price").html(html);
	$("#btn_basic_text").val(html);

	// 参加人数
	var people_str = adult_nums + "名様で参加"
	if (child_nums > 0)
		people_str += "(内子供" + child_nums + "名様)";
	$("#td_total_people").html(people_str);
	$("#btn_total_people_text").val(people_str);

	return total;
}

function set_basic_child(index) {
	price_calc();
}

function set_hotel() {
	init_component();
	if($("#hotel_sel").val()==0)
	{
		$("#flight_flight_1").val('0');
		$("#flight_flight_2").val('0');
		return false;
	}
	var val = $("#hotel_sel").val().split("-");
	var hotel_id = val[0];
	var hotel_group = val[1];
	var max_member = Number(val[2]);
	for (i = 1; i <= max_member; i++) {
		//大人室タイプ設定
		if(i==1)
			$('#basic_sel_adult_' + i).children().remove();
		for (j = 1; j <= max_member; j++)
			$('#basic_sel_adult_' + i).append($('<option>').attr({value : j}).text(j + "名1室"));

		//divを表示させる
		$("#div_basic_room_" + i).css( {'display' : 'block'});
		$('#basic_sel_adult_' + i).attr('disabled','');
	}

	//フライト
	$("#flight_flight_1").attr('disabled','');
	$("#flight_flight_2").attr('disabled','');

	price_calc();

	// 参加人数
	$("#td_total_people").html("1名様で参加");
	$("#btn_total_people_text").val("1名様で参加");
	$("#btn_hotel_name").val($("#hotel_sel").children(':selected').text());
}

function init_component(){
	for (i = 1; i <= MAX_ROOM_MEMBER; i++)
	{
		//部屋タイプ大人
		$("#basic_sel_adult_" + i).children().remove();
		$('#basic_sel_adult_' + i).append($('<option>').attr( {value : 0}).text(0));
		$('#basic_sel_adult_' + i).attr('disabled', 'disabled');
		//部屋タイプ大人のDIV
		$("#div_basic_room_"+i).css({"display":"none"});

		//部屋タイプ子供
		$('#basic_sel_child_' + i).children().remove();
		$('#basic_sel_child_' + i).append($('<option>').attr({value : 0}).text(0));
		$('#basic_sel_child_' + i).attr('disabled', 'disabled');
		if(i==1)
			$("#div_basic_room_" + i).css( {'display' : 'block'});
		else
			$("#div_basic_room_" + i).css( {'display' : 'none'});
	}
	$("#btn_hotel_text").val('');
	$("#btn_basic_text").val('');
	$("#btn_flight_text").val('');

	$("#td_hotel_price").html('');
	$("#td_basic_price").html('');
	$("#td_flight_price").html('');
	$("#td_total_people").html('');

	//$("#sel_hotel").val('0');
	//$("#flight_flight_1").val('0');
	//$("#flight_flight_2").val('0');
}

function hotel_price_calc() {
	var val = $("#hotel_sel").val().split("-");
	var hotel_id = Number(val[0]);
	var hotel_group = Number(val[1]);
	var max_member = Number(val[2]);
	var lights = Number($('#lights').val());

	var html = "ホテル差額代金：";

	hotel_price = 0;
	total = 0;
	for (i = 1; i <= MAX_ROOM_MEMBER; i++) {
		var num_adult = Number($('#basic_sel_adult_' + i).children(':selected').val());
		if (num_adult <= 0) {
			hotel_price = 0;
			continue;
		}
		for (ind in hotel_prices){
			row = hotel_prices[ind];
			if (Number(row['room_kind']) == num_adult&& Number(row['group_kind']) == hotel_group) {
				hotel_price = Number(row['price']);
				break;
			}
		}
		html += '<br>' + num_adult + "名1室：&nbsp;";
		html += num_adult + '名&nbsp;*&nbsp;' + lights + '泊&nbsp;*&nbsp;'
				+ hotel_price + '円&nbsp;=&nbsp;' + num_adult * lights
				* hotel_price + '円';
		total += num_adult * lights * hotel_price;
	}
	html += "<br>小&nbsp;&nbsp;&nbsp;&nbsp;計：&nbsp;&nbsp;&nbsp;&nbsp;" + total+ "円";
	$("#btn_hotel_text").val(html);
	$("#td_hotel_price").html(html);
	return total;
}

function set_flight(go_back) {
	if($("#hotel_sel").val()==0)
	{
		alert("ホテル選択してください");
		return false;
	}
	if(go_back==1)
		$("#btn_flight_code_go").val($("#flight_flight_1").children(':selected').text());
	else
		$("#btn_flight_code_back").val($("#flight_flight_2").children(':selected').text());
	price_calc();
}

function flight_price_calc() {
	if($("#flight_flight_1").val()==0&&$("#flight_flight_2").val()==0){
		$("#td_flight_price").html('');
		$("#btn_flight_text").val('');
		return false;
	}
	var total = 0;
	var html = "フライト差額代金：";
	var members = 0;
	for (i = 1; i <= MAX_ROOM_MEMBER; i++)
		members += Number($('#basic_sel_adult_' + i).children(':selected').val());

	// 往路差額
	if($("#flight_flight_1").val()!=0){
		var go_val = $("#flight_flight_1").val().split("-");
		var go_flight_id = Number(go_val[0]);
		var go_flight_price = Number(go_val[1]);
		html += "<br>往路：&nbsp;";
		html += members + '名&nbsp;*&nbsp;' + go_flight_price + '円&nbsp;=&nbsp;'
				+ members * go_flight_price + '円';
		total += members * go_flight_price;
	}
	$("#btn_flight_code_go").val($("#flight_flight_1").children(':selected').text());

	// 復路差額
	if($("#flight_flight_2").val()!=0){
		var back_val = $("#flight_flight_2").val().split("-");
		var back_flight_id = Number(back_val[0]);
		var back_flight_price = Number(back_val[1]);
		html += "<br>復路：&nbsp;";
		html += members + '名&nbsp;*&nbsp;' + back_flight_price + '円&nbsp;=&nbsp;'
				+ members * back_flight_price + '円';
		total += members * back_flight_price;
	}
	$("#btn_flight_code_back").val($("#flight_flight_2").children(':selected').text());

	html += "<br>小&nbsp;&nbsp;&nbsp;&nbsp;計：&nbsp;&nbsp;&nbsp;&nbsp;" + total+ "円";

	$("#td_flight_price").html(html);
	$("#btn_flight_text").val(html);
	return total;
}

function get_flight(kojin_id, date_from, go_back) {
	// alert(kojin_id+"--"+date_from+"--"+go_back);
	var airport_kind;
	if (go_back == 1)
		airport_kind = $("#flight_sel_go").val();
	else
		airport_kind = $("#flight_sel_back").val();
	var url = HOST + "kojins/get_flight/" + kojin_id + "/" + date_from + "/"
			+ airport_kind + "/" + go_back;
	$.ajax( {
		type : "GET",
		url : url,
		data : {},
		success : function(data) {
			set_flight_flight(data, go_back);
			return true;
		},
		error : function(XMLHttpRequest, textStatus, errorThrown) {
			alert(textStatus);
			return false;
		},
		dataType : 'json'
	});
}

//往路便、復路便セレクトにアイテム設定する
function set_flight_flight(data, go_back) {
	var flight_calendar = data[0];
	var flights = data[1];

	var flight_period_kind;

	$.each(flight_calendar, function(index, content) {
		flight_period_kind = content['flight_period_kind'];
	});
	$("#flight_flight_" + go_back).children().remove();
	$.each(flights, function(index, content) {
		var price;
		$.each(content['FlightPrice'], function(index, flight_price) {
			//alert(flight_price);
				if (flight_price['flight_period_kind'] == flight_period_kind)
					price = flight_price['price'];
			});
		//alert(content['Flight']+"----"+content['FlightPrice']);
			$("#flight_flight_" + go_back).append(
					$('<option>').attr( {
						value : content['Flight']['id'] + "-" + price
					}).text(
							content['Flight']['flight_code'] + "("
									+ content['Flight']['start_time_period']
									+ ")" + "(" + price + "円)"));
		});
	$("#flight_flight_" + go_back).attr('disabled', '');
}

//海外
function show_daikin_map(id){
    var windowWidth = document.documentElement.clientWidth;
    var windowHeight = document.documentElement.clientHeight;
    var popupHeight = $("#daikin_map").height();
    var popupWidth = $("#daikin_map").width();
	 $("#daikin_map").css({
         "position": "absolute",
         "top": $("#daikin_map_parent").offset().top,
         "left": $("#daikin_map_parent").offset().left
     });
    $("#daikin_map").show();
}
function hide_daikin_map()
{
	$("#daikin_map").hide();
}

function showKaigai3(privacy_id,bar){
	if($(privacy_id).css("display") == "block")
		$(bar).html('表示する');
	else
		$(bar).html('表示しない');
	$(privacy_id).animate({height:"toggle", opacity: "toggle"},"slow");
}
