
/////////////////////////////// for reservationform //////////////////////////////////////↓
// カレンダ表示（出発）
function openWindowL(strURL, strWinName, intWidth, intHeight)
{
	var dd = new Date();
    nowMonth  = eval(dd.getMonth()) + 1;
    nowDay    = eval(dd.getDate());

	nextDay   = nowDay + 90;
    dd.setDate(nextDay);
    nextMonth  = eval(dd.getMonth()) + 1;

    if (nextMonth < nowMonth)
    {
        nextMonth += 12;
    }
    kosu = nextMonth - nowMonth + 1;
    yoko = kosu * 125 - 5;

    strOptions = "left=100,top=100,scrollbars=no,resizable=no,width="+yoko+",height="+intHeight;
	win=window.open(strURL, strWinName, strOptions);
	return false;
}
// カレンダ表示（到着）
function openWindowR(strURL, strWinName, intWidth, intHeight)
{
	var dd = new Date();
    nowMonth  = eval(dd.getMonth()) + 1;
    nowDay    = eval(dd.getDate());

	nextDay   = nowDay + 90;
    dd.setDate(nextDay);
    nextMonth  = eval(dd.getMonth()) + 1;

    if (nextMonth < nowMonth)
    {
        nextMonth += 12;
    }
    kosu = nextMonth - nowMonth + 1;
    yoko = kosu * 125 - 5;

	strOptions = "left=100,top=100,scrollbars=no,resizable=no,width="+yoko+",height="+intHeight;
	win=window.open(strURL, strWinName, strOptions);
	return false;
}

//2005.5.23 店舗オプションセレクタよりカウンターを外すように指示を受けた。
var tenpoArray;
function init0()
{

		tenpoArray     = new Array();
		tenpoArray[0]  = new Array();
		tenpoArray[1]  = new Array("新宿西口店","烏山店","明大前駅店");
		tenpoArray[2]  = new Array("烏山店","新宿西口店","明大前駅店");
		tenpoArray[3]  = new Array("明大前駅店","新宿西口店","烏山店");
		tenpoArray[4]  = new Array("烏山店","新宿西口店","明大前駅店");
}

function setTenpo(mode, item, target)
{
	target.options.length = 1;
	
	if(item.selectedIndex == 0)
		return;
	
	for(i = 0; i < tenpoArray[item.selectedIndex].length; i++)
		target.options[i + 1] = new Option(tenpoArray[item.selectedIndex][i]);

    setOpenTime(mode,item, reservationform.joushabitime, reservationform);

}


//出発・返却時間セレクションに、各店舗の営業時間をセットするため、
//出発・返却店舗セレクションで選ばれた店舗のＩＤを設定する。
//2005.5.13
function initshopid(mode,form)
{
	if( mode == 1)	//出発
	{
        //2005.5.23　店舗のオプション値が不連続になった事に伴いselectedIndexをvalueに変更
        /* 新宿西口店 */
        if (form.shutenpo.value == 1)
        {
            //("新宿西口店","烏山店","明大前駅店");
            form.shuppatsutenpo.value = 0;	//init.pl中の店舗営業時間配列の添え字
            if (form.hentenpo.selectedIndex == 1) { form.henkyakutenpo.value = 0; }
            if (form.hentenpo.selectedIndex == 2) { form.henkyakutenpo.value = 10; }
            if (form.hentenpo.selectedIndex == 3) { form.henkyakutenpo.value = 8; }
        }
        /* 明大前駅店 */
        if (form.shutenpo.value == 9)
        {
            //("明大前駅店","新宿西口店","烏山店");
            form.shuppatsutenpo.value = 8;
            if (form.hentenpo.selectedIndex == 1) { form.henkyakutenpo.value = 8; }
            if (form.hentenpo.selectedIndex == 2) { form.henkyakutenpo.value = 0; }
            if (form.hentenpo.selectedIndex == 3) { form.henkyakutenpo.value = 10; }
        }
        /* 烏山店 */
        if (form.shutenpo.value == 11)
        {
            //("烏山店","新宿西口店","明大前駅店");
            form.shuppatsutenpo.value = 10;
            if (form.hentenpo.selectedIndex == 1) { form.henkyakutenpo.value = 10; }
            if (form.hentenpo.selectedIndex == 2) { form.henkyakutenpo.value = 0; }
            if (form.hentenpo.selectedIndex == 3) { form.henkyakutenpo.value = 8; }
        }

	}else{
        //2005.5.23　店舗のオプション値が不連続になった事に伴いselectedIndexをvalueに変更
        /* 新宿西口店 */
        if (form.shutenpo.value == 1)
        {
            //("新宿西口店","烏山店","明大前駅店");
            form.shuppatsutenpo.value = 0;	//init.pl中の店舗営業時間配列の添え字
            if (form.hentenpo.selectedIndex == 1) { form.henkyakutenpo.value = 0; }
            if (form.hentenpo.selectedIndex == 2) { form.henkyakutenpo.value = 10; }
            if (form.hentenpo.selectedIndex == 3) { form.henkyakutenpo.value = 8; }
        }
        /* 明大前駅店 */
        if (form.shutenpo.value == 9)
        {
            //("明大前駅店","新宿西口店","烏山店");
            form.shuppatsutenpo.value = 8;
            if (form.hentenpo.selectedIndex == 1) { form.henkyakutenpo.value = 8; }
            if (form.hentenpo.selectedIndex == 2) { form.henkyakutenpo.value = 0; }
            if (form.hentenpo.selectedIndex == 3) { form.henkyakutenpo.value = 10; }
        }
        /* 烏山店 */
        if (form.shutenpo.value == 11)
        {
            //("烏山店","新宿西口店","明大前駅店");
            form.shuppatsutenpo.value = 10;
            if (form.hentenpo.selectedIndex == 1) { form.henkyakutenpo.value = 10; }
            if (form.hentenpo.selectedIndex == 2) { form.henkyakutenpo.value = 0; }
            if (form.hentenpo.selectedIndex == 3) { form.henkyakutenpo.value = 8; }
        }
	}
}

//出発・返却時間セレクションにセットする為、店舗の営業時間を３０分単位で分割する。
//2005.5.13
var opentimeArray;
function initopentime()
{
    opentimeArray    = new Array();
    opentimeArray[0] = new Array("8:00","8:30","9:00","9:30","10:00","10:30","11:00","11:30","12:00","12:30","13:00","13:30","14:00","14:30","15:00","15:30","16:00","16:30","17:00","17:30","18:00","18:30","19:00","19:30","20:00","20:30","21:00","21:30","22:00");	//新宿西口店
    opentimeArray[5] = new Array("8:00","8:30","9:00","9:30","10:00","10:30","11:00","11:30","12:00","12:30","13:00","13:30","14:00","14:30","15:00","15:30","16:00","16:30","17:00","17:30","18:00","18:30","19:00","19:30","20:00");	//麹町店
    opentimeArray[8] = new Array("8:00","8:30","9:00","9:30","10:00","10:30","11:00","11:30","12:00","12:30","13:00","13:30","14:00","14:30","15:00","15:30","16:00","16:30","17:00","17:30","18:00","18:30","19:00","19:30","20:00");	//明大前駅店
    opentimeArray[10] = new Array("0:00","1:00","2:00","3:00","4:00","5:00","6:00","7:00","8:00","9:00","10:00","11:00","12:00","13:00","14:00","15:00","16:00","17:00","18:00","19:00","20:00","21:00","22:00","23:00","24:00");	//烏山店

}

//出発・返却時間セレクションに、店舗に応じた営業時間をセットする。
//2005.5.13
function setOpenTime(mode,item, target,form)
{

	initshopid(mode,form);
    initopentime();

	target.options.length = 1;
	
	if(item.selectedIndex == 0)
		return;
	
	if( mode == 1)	//出発時刻
	{
		for(i = 0; i < opentimeArray[form.shuppatsutenpo.value].length; i++)
			target.options[i + 1] = new Option(opentimeArray[form.shuppatsutenpo.value][i]);
	}else{	//返却時刻
		for(i = 0; i < opentimeArray[form.henkyakutenpo.value].length; i++)
			target.options[i + 1] = new Option(opentimeArray[form.henkyakutenpo.value][i]);
	}
}

function chk0(form)
{
	if (form.shutenpo.selectedIndex == 0)
	{
		alert ("出発店を選択してください");
		form.shutenpo.focus();
		return false;
	}

	if ((form.hentenpo.selectedIndex == 0))
	{
		alert ("到着店を選択してください");
		form.hentenpo.focus();
		return false;
	}

	if (form.joushabimonth.value == "99")
	{
		alert ("出発月を選択してください");
		form.joushabimonth.focus();
		return false;
	}
	
	if (form.joushabiday.value == "99")
	{
		alert ("出発日を選択してください");
		form.joushabiday.focus();
		return false;
	}
	
	if (form.henkyakubimonth.value == "99")
	{
		alert ("返却月を選択してください");
		form.henkyakubimonth.focus();
		return false;
	}
	
	if (form.henkyakubiday.value == "99")
	{
		alert ("返却日を選択してください");
		form.henkyakubiday.focus();
		return false;
	}

	//出発・返却時刻チェック追加　2005.9.9
	if (form.joushabitime.value == 99)
	{
		alert ("出発時刻を選択してください");
		form.joushabitime.focus();
		return false;
	}

	if (form.henkyakubitime.value == 99)
	{
		alert ("返却時刻を選択してください");
		form.henkyakubitime.focus();
		return false;
	}

	if (form.car1class.selectedIndex == 0)
	{
		alert ("クラスを選択してください");
		form.car1class.focus();
		return false;
	}

	/* ２日後から３ヶ月までの予約受付 */
	var dd = new Date();
	var year = dd.getYear() < 2000 ? dd.getYear() + 1900 : dd.getYear();
	var month = dd.getMonth() + 1;
	var day = dd.getDate();

	if (eval(form.joushabimonth.value) < month)
	{
		var joushayear   = 1;
		var henkyakuyear = 1;
	}
	else
	{
		var joushayear   = 0;
		if (eval(form.henkyakubimonth.value) < month)
		{
			var henkyakuyear = 1;
		}
		else
		{
			var henkyakuyear = 0;
		}
	}

	monthName = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
	dayCount  = 24 * 60 * 60 * 1000;
	nowYear   = dd.getYear();
    nowMonth  = dd.getMonth();
    nowDay    = dd.getDate();
    nowDate   = new Date(monthName[nowMonth] + " " + nowDay + "," + nowYear);

	dyear     = nowYear + joushayear;
	dmonth    = form.joushabimonth.value;
	ddate     = form.joushabiday.value;
	dDate     = new Date(monthName[dmonth-1] + " " + ddate + "," + dyear);

	countDay  = (dDate.getTime() - nowDate.getTime()) / dayCount;

	if (countDay < 1)
	{
		alert("ご予約は前日までにお願い致します。どうしてもご予約が必要な方は電話(03-3345-0543)にてお問い合わせ下さい。");
		return false;
	}

////////////////////////////////////////////
// 烏山店のみのフィルター
////////////////////////////////////////////
	if (countDay == 1 && form.shuppatsutenpo.value == 10)
	{
		var vjoushabitime_karasu = opentimeArray[10][form.joushabitime.selectedIndex-1];
		var b_karasu = vjoushabitime_karasu.split(":");
		var jouzi_karasu  = eval(b_karasu[0]);
		if ( jouzi_karasu < 10 )
		{
			alert("烏山店の明日出発の場合は午前10時以降からになります。どうしてもご予約が必要な方は電話(03-3345-0543)にてお問い合わせ下さい。");
			return false;
		}
	}
////////////////////////////////////////////

	if (countDay > 90)
	{
		alert("３ヶ月より先のご予約はできません。どうしてもご予約が必要な方は電話(03-3345-0543)にてお問い合わせ下さい。");
		return false;
	}

	eyear     = nowYear + henkyakuyear;
	emonth    = form.henkyakubimonth.value;
	edate     = form.henkyakubiday.value;
	eDate     = new Date(monthName[emonth-1] + " " + edate + "," + eyear);

	countDay  = (eDate.getTime() - dDate.getTime()) / dayCount;
	if (countDay < 0)
	{
		alert("入力した日付に誤りがあります");
		return false;
	}


	if (countDay == 0)
	{
		var vjoushabitime = opentimeArray[0][form.joushabitime.selectedIndex-1];
		var b = vjoushabitime.split(":");
		var jouzi = eval(b[0]);
		var jouhun = eval(b[1]);
		var vjoushabihour = jouzi * 60 + jouhun;
		var vhenkyakubitime = opentimeArray[0][form.henkyakubitime.selectedIndex-1];
		var c = vhenkyakubitime.split(":");
		var henzi   = eval(c[0]);
		var henhun  = eval(c[1]);
		var vhenkyakubihour = henzi * 60 + henhun;
		var differ = vhenkyakubihour - vjoushabihour;

		if (differ <= 0)
		{
			alert("入力した時刻に誤りがあります");
			return false;
		}
	}


	if (form.car1class.selectedIndex == 0)
	{
		alert ("クラスを選択してください");
		form.car1class.focus();
		return false;
	}

	/* 受け渡しフォームデータ */
	form.henkyakubiyear.value = henkyakuyear;
	form.joushabiyear.value   = joushayear;

	//2005.5.23　店舗のオプション値が不連続になった事に伴いselectedIndexをvalueに変更
	/* 新宿西口店 */
	if (form.shutenpo.value == 1)
	{
    	//("新宿西口店","烏山店","明大前駅店");
        form.shuppatsutenpo.value = 0;	//init.pl中の店舗営業時間配列の添え字
		if (form.hentenpo.selectedIndex == 1) { form.henkyakutenpo.value = 0; }
		if (form.hentenpo.selectedIndex == 2) { form.henkyakutenpo.value = 10; }
		if (form.hentenpo.selectedIndex == 3) { form.henkyakutenpo.value = 8; }
	}
	/* 明大前駅店 */
	if (form.shutenpo.value == 9)
	{
		//("明大前駅店","新宿西口店","烏山店");
        form.shuppatsutenpo.value = 8;
		if (form.hentenpo.selectedIndex == 1) { form.henkyakutenpo.value = 8; }
		if (form.hentenpo.selectedIndex == 2) { form.henkyakutenpo.value = 0; }
		if (form.hentenpo.selectedIndex == 3) { form.henkyakutenpo.value = 10; }
	}
	/* 烏山店 */
	if (form.shutenpo.value == 11)
	{
		//("烏山店","新宿西口店","明大前駅店");
        form.shuppatsutenpo.value = 10;
		if (form.hentenpo.selectedIndex == 1) { form.henkyakutenpo.value = 10; }
		if (form.hentenpo.selectedIndex == 2) { form.henkyakutenpo.value = 0; }
		if (form.hentenpo.selectedIndex == 3) { form.henkyakutenpo.value = 8; }
	}

	C = CheckDay(document.reservationform.joushabimonth,document.reservationform.joushabiday);
	if (!C)
	{
		return false;
	}
	C = CheckDay(document.reservationform.henkyakubimonth,document.reservationform.henkyakubiday);
	if (!C)
	{
		return false;
	}

	form.submit();
	return true;

}

// 日付チェック
function CheckDay(Cmonth,Cday)
{
    now=new Date();
    y = now.getYear();
    m =now.getMonth() + 1;
    if (y > 2000)
    {
        wYear = y;
    }
    else
    {
        wYear = y + 1900;
    }

    yy = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 29);
    wMonth = wMChk = Cmonth.value - 0;
    wDay   = Cday.value - 0;

    if (wMonth < m)
    {
        wYear = wYear + 1;
    }
    // 年の範囲検証
    if (!(wYear >= 2000 && wYear <= 2100)) {
        alert("年の指定が正しくありません");
        return true;
    }

    // 月の範囲検証
    if (!(wMonth >= 1 && wMonth <= 12)) {
        alert("月の指定が正しくありません");
		Cmon.focus();
        return false;
    }

    // 閏年の判定
    if (!(wYear % 4) && wMonth == 2) {
        wMChk = 12;     // 閏年テーブル

        //if (!(!(wYear % 100) && (wYear % 400))) {
        if (!(wYear % 100)) {
            if (wYear % 400) {
                wMChk = 1;      // non閏年テーブル
            }
        }
    } else {
        wMChk--;
    }

    // 日の範囲検証
    if (!(1 <= wDay && yy[wMChk] >= wDay)) {
        alert(wMonth+"月"+wDay+"日は存在しませんので、正しい日付を選択してください。");
		Cday.focus();
        return false;
    }

    return true;
}

// onLoad のかわり 
init0(); 


/////////////////////////////// for reservationform  //////////////////////////////////////↑


