﻿/****************************************		
    F5対策
*****************************************/
document.onkeydown = keys;

function keys(e)
{
    if (e != null) 
    {
        // Mozilla(Firefox, NN) and Operaの場合
        switch (e.which)
        {
            case 116: // F5
            e.preventDefault();
            e.stopPropagation();
            return false;
            break;
        }
    } 
    else
    {
        // Internet Explorer の場合  
        switch (event.keyCode)
        {
            case 116: // F5
            event.keyCode = 0;
            return false;
            break;
        }  
    }   
}

/****************************************		
    二重クリック回避
*****************************************/
function disableAfterTimeout(object)
{
  object.disabled = true;
}

function DClick_check(obj)
{
	if (window.document.readyState != null && window.document.readyState != 'complete')
	{
	    if(obj!=null)
	    {
		    window.setTimeout("disableAfterTimeout('obj')",0);
	    }
		return false;
	}
	else
	{
		return true;
	}
}

/****************************************		
    入力チェック簡易版
*****************************************/
function CheckInput()
{
    if(document.form1.ReserveData.value == ""){
    
        // 予約カレンダー
        document.getElementById('SelectReserve').style.display = "none"; 
        document.getElementById('SelectReserveError').style.display = "block"; 
        
        return false;
    }
    else{
        return true;
    }
}

/****************************************		
    mouseOver
*****************************************/
function mouseOver(table, e)
{
    if (!e) var e = window.event;
        startCell = e.srcElement? e.srcElement: e.target;    
    if(startCell.tagName != "TD")
    {
        startCell = null;
        return;
    }

    // セルの位置を取得
    var CellPos = getCellPos(table, startCell);
    row = table.rows.item(CellPos.row);
    cell = row.cells.item(CellPos.col);

    // ********** 2011/09/28 変更 By skegasa Start **********
    if (cell.firstChild.data == "○" || cell.firstChild.data == "△")
//    if(cell.firstChild.data == "○")
    // ********** 2011/09/28 変更 By skegasa End   **********
    {
//        // 選択バックグラウンドを未選択に変更
//        var x, y, cells;
//        for(y=0; y<table.rows.length; y++)
//        {
//            row = table.rows.item(y);
//            for(x=0; x<row.cells.length; x++)
//            {    
////                if(row.cells.item(x).style.backgroundColor == "#fc7e03")
////                {
//                
//                if(row.cells.item(x).style.backgroundColor != "")
//                {
//                    // 未選択
//                    row.cells.item(x).style.backgroundColor = "#ffffff";  
//                    row.cells.item(x).style.color = "#4294D0";
//                }
//            }
//        }
    
        // 選択バックグラウンドを選択に変更
        var x, y, cells;
        for(y=0; y<table.rows.length; y++)
        {
            row = table.rows.item(y);
            
            for(x=0; x<row.cells.length; x++)
            {   
//                if(x == document.form1.CellPosCol.value && y == document.form1.CellPosRow.value)
//                {
//                    // 選択
//                    row.cells.item(x).style.backgroundColor = "#FC7E03";  
//                    row.cells.item(x).style.color = "#ffffff";
//                }
               
                if(x == CellPos.col && y == CellPos.row)
                {
                    // 選択
                    row.cells.item(x).style.backgroundColor = "#FC7E03";  
                    row.cells.item(x).style.color = "#ffffff";
                }
            } 
        }    
    }    
}

/****************************************		
    mouseOut
*****************************************/
function mouseOut(table, e)
{
    if (!e) var e = window.event;
        startCell = e.srcElement? e.srcElement: e.target;    
    if(startCell.tagName != "TD")
    {
        startCell = null;
        return;
    }

    // セルの位置を取得
    var CellPos = getCellPos(table, startCell);
    row = table.rows.item(CellPos.row);
    cell = row.cells.item(CellPos.col);

    // ********** 2011/09/28 変更 By skegasa Start **********
    if (cell.firstChild.data == "○" || cell.firstChild.data == "△")
//    if(cell.firstChild.data == "○")
    // ********** 2011/09/28 変更 By skegasa End   **********
    {
        // 選択バックグラウンドを未選択に変更
        var x, y, cells;
        for(y=0; y<table.rows.length; y++)
        {
            row = table.rows.item(y);
            for(x=0; x<row.cells.length; x++)
            {    
                if(row.cells.item(x).style.backgroundColor != "")
                {
                    // 未選択
                    row.cells.item(x).style.backgroundColor = "#ffffff";  
                    row.cells.item(x).style.color = "#4294D0";
                    
                    row.cells.item(x).style.border = "1px #ABACB2 solid";
                }
            }
        }
        
        // 選択バックグラウンドを選択に変更
        var x, y, cells;
        for(y=0; y<table.rows.length; y++)
        {
            row = table.rows.item(y);
            
            for(x=0; x < row.cells.length; x++)
            {    
                if(document.form1.CellPosCol.value != "")
                {
                    if(x == document.form1.CellPosCol.value && y == document.form1.CellPosRow.value)
                    {
                        // 選択
                        row.cells.item(x).style.backgroundColor = "#FC7E03";  
                        row.cells.item(x).style.color = "#ffffff";
                        
                        row.cells.item(x).style.border = "3px #0000FF solid";
                    }
                }
            } 
        }    
    }    
}

/****************************************		
    mouseDown
*****************************************/
function mouseDown(table, e){

    if (!e) var e = window.event;
        startCell = e.srcElement? e.srcElement: e.target;    
    if(startCell.tagName != "TD"){
        startCell = null;
        return;
    }

    // セルの位置を取得
    var CellPos = getCellPos(table, startCell);
    row = table.rows.item(CellPos.row);
    cell = row.cells.item(CellPos.col);

    // ********** 2011/09/28 変更 By skegasa Start **********
    if (cell.firstChild.data == "○" || cell.firstChild.data == "△")
//    if (cell.firstChild.data == "○")
    // ********** 2011/09/28 変更 By skegasa End   **********
    {        
         var arrColumnData = GetList(document.form1.ReserveColumnData.value);
         var arrColumnDispData = GetList(document.form1.ReserveColumnDispData.value);
        
        if(CellPos.row == 1)
        {
            var arrRowData =     GetList(document.form1.ReserveRowData.value);
            var arrRowDispData = GetList(document.form1.ReserveRowDispData.value);
                        
            document.form1.ReserveData.value                = arrRowData[CellPos.col]     + " " + arrColumnData[CellPos.row];
            document.form1.ReserveDispData.value            = arrRowDispData[CellPos.col] + " " + arrColumnDispData[CellPos.row];
            document.getElementById("lblReserve").innerHTML = arrRowDispData[CellPos.col] + " " + arrColumnDispData[CellPos.row] + " ";
            
        }else{
            
            var arrRowData2 =     GetList(document.form1.ReserveRowData2.value);
            var arrRowDispData2 = GetList(document.form1.ReserveRowDispData2.value);
            
            document.form1.ReserveData.value                = arrRowData2[CellPos.col]     + " " + arrColumnData[CellPos.row];
            document.form1.ReserveDispData.value            = arrRowDispData2[CellPos.col] + " " + arrColumnDispData[CellPos.row];
            document.getElementById("lblReserve").innerHTML = arrRowDispData2[CellPos.col] + " " + arrColumnDispData[CellPos.row] + " ";
        }
        
        document.getElementById('SelectReserve').style.display = "block"; 
        document.getElementById('SelectReserveError').style.display = "none"; 
                
        // 選択バックグラウンドを未選択に変更
        var x, y, cells;
        for(y=0; y<table.rows.length; y++){
            row = table.rows.item(y);
            for(x=0; x<row.cells.length; x++)
            {    
                row.cells.item(x).style.border = "1px #ABACB2 solid";
                
//                if(row.cells.item(x).style.backgroundColor == "#fc7e03")
//                {
//                    // 未選択
//                    row.cells.item(x).style.backgroundColor = "#ffffff";  
//                    row.cells.item(x).style.color = "#4294D0";
//                }

                celll = row.cells.item(x);
                if (celll.firstChild != null)
                {
                    // ********** 2011/09/28 変更 By skegasa Start **********
                    if (celll.firstChild.data == "○" || celll.firstChild.data == "△")
//                    if(celll.firstChild.data == "○")
                    // ********** 2011/09/28 変更 By skegasa End   **********
                    { 
                        // 未選択
                        row.cells.item(x).style.backgroundColor = "#ffffff";  
                        row.cells.item(x).style.color = "#4294D0";
                    }
                }
             }
        }

        // 選択バックグラウンドを選択に変更
        var x, y, cells;
        for(y=0; y<table.rows.length; y++){
            row = table.rows.item(y);
            for(x=0; x<row.cells.length; x++)
            {    
                if(x == CellPos.col && y == CellPos.row)
                {
                    // 選択
                    row.cells.item(x).style.backgroundColor = "#FC7E03";  
                    row.cells.item(x).style.color = "#ffffff";
                    row.cells.item(x).style.border = "3px #0000FF solid";
                }
            }
        }
        
        document.form1.CellPosCol.value = CellPos.col;
        document.form1.CellPosRow.value = CellPos.row;
    }
    else
    {
        document.form1.ReserveData.value = "";
        document.form1.ReserveDispData.value = "";
        document.getElementById("lblReserve").innerHTML = "";
        document.getElementById('SelectReserve').style.display = "none"; 
        document.getElementById('SelectReserveError').style.display = "block"; 

        // 選択バックグラウンドを未選択に変更
        var x, y, cells;
        for(y=0; y<table.rows.length; y++){
            row = table.rows.item(y);
            for(x=0; x<row.cells.length; x++)
            {    
//                row.cells.item(x).style.border = "1px #ABACB2 solid";
//                if(row.cells.item(x).style.backgroundColor == "#fc7e03")
//                {
//                    // 未選択
//                    row.cells.item(x).style.backgroundColor = "#ffffff";  
//                    row.cells.item(x).style.color = "#4294D0";
//                }
                
                row.cells.item(x).style.border = "1px #ABACB2 solid";
                
                celll = row.cells.item(x);
                if(celll.firstChild != null)
                {
                    // ********** 2011/09/28 変更 By skegasa Start **********
                    if (celll.firstChild.data == "○" || celll.firstChild.data == "△")
//                    if (celll.firstChild.data == "○")
                    // ********** 2011/09/28 変更 By skegasa End   **********
                    { 
                        // 未選択
                        row.cells.item(x).style.backgroundColor = "#ffffff";  
                        row.cells.item(x).style.color = "#4294D0";
                    }
                }
            }
        }
          
        document.form1.CellPosCol.value = "";
        document.form1.CellPosRow.value = "";
    }
}

/****************************************		
    リスト取得関数
*****************************************/
function GetList(str) { 
    var arrRow = new Array();
    var ret = "";
    var count = 0;
    
    for( var i=0 ; i < str.length ; i++ ) {
        if(str.charAt(i) == ",")
        {
            arrRow[count] = ret;
            ret= "";
            count++;
        }
        else
        {
            ret += str.charAt(i);
        }
    }
    arrRow[count] = ret;
    
    return arrRow;
}

/****************************************		
    tableの中のcellの位置を取得する
*****************************************/
function getCellPos(table, cell){
    var pos = new Object();
    if(cell.nodeName == "TD"){
        var x, y, cells;
        for(y=0; y<table.rows.length; y++){
            row = table.rows.item(y);
            for(x=0; x<row.cells.length; x++){
                if(row.cells.item(x) == cell){
	                pos.row = y;
	                pos.col = x;
	                return pos;
                }
            }
        }
    }
    return null;
}



//// ----------------------------------------
//// 予約一覧関連
//// ----------------------------------------
//var gray = "gray";        // ヘッダー色
//var white = "white";      // 未選択態の色
//var yellow = "yellow";    // 選択状態の色
//var silver = "silver";    // 選択不可

//var startCell = null;

//// ----------------------------------------
//// マウスダウンのイベント処理
//// ----------------------------------------
//function mouseDown(table, e){
//    if (!e) var e = window.event;
//    startCell = e.srcElement? e.srcElement: e.target;
//    if(startCell.tagName != "TD"){
//        startCell = null;
//        return;
//    }
//    mouseMove(table, e);
//}

//// ----------------------------------------
//// マウスアップのイベント処理
//// ----------------------------------------
//function mouseUp(table, e){

//    var str = document.form1.ReserveRowData.value; 
//    var arrRow = new Array();
//    var ret = "";
//    var count = 0;
//    
//    for( var i=0 ; i < str.length ; i++ ) {
//        if(str.charAt(i) == ",")
//        {
//            arrRow[count] = ret;
//            ret= "";
//            count++;
//        }
//        else
//        {
//            ret += str.charAt(i);
//        }
//    }
//    arrRow[count] = ret;

//    var str = document.form1.ReserveRowData2.value; 
//    var arrRow2 = new Array();
//    var ret2 = "";
//    var count = 0;
//    
//    for( var i=0 ; i < str.length ; i++ ) {
//        if(str.charAt(i) == ",")
//        {
//            arrRow2[count] = ret2;
//            ret2= "";
//            count++;
//        }
//        else
//        {
//            ret2 += str.charAt(i);
//        }
//    }
//    arrRow2[count] = ret;

//    var str = document.form1.ReserveColumnData.value; 
//    var arrColumn = new Array();
//    var ret = "";
//    var count = 0;
//    
//    for( var i=0 ; i < str.length ; i++ ) {
//        if(str.charAt(i) == ",")
//        {
//            arrColumn[count] = ret;
//            ret= "";
//            count++;
//        }
//        else
//        {
//            ret += str.charAt(i);
//        }
//    }
//    arrColumn[count] = ret;
//    
//    if (!e) var e = window.event;
//        
//    var endCell = e.srcElement?e.srcElement:e.target;
//    if(!(endCell.tagName=="TD" && startCell)){
//        return false;
//    }
//   
//    // セルの位置を取得
//    var from = getCellPos(table, startCell);
//    var to = getCellPos(table, endCell);
//        
//    if(!from || !to){
//        return false;
//    }
//    
//    // mouseMoveで選択状態表示の更新をさせないようにする
//    startCell = null;
//    
//    // ここに選択後の処理を書く
//    if(from.col != 0 && from.row != 0){
//        var row = table.rows.item(from.row);
//        
//        if(row.cells.item(from.col).style.backgroundColor == yellow)
//        {
//            // 選択状態の場合 
//            if(from.row == 1)
//            {
//                document.form1.ReserveData.value = arrRow[from.col] + " " + arrColumn[from.row];
//            }
//            else
//            {   
//                // 休業日の計算
//                document.form1.ReserveData.value = arrRow2[from.col] + " " + arrColumn[from.row];
//            }
//        }
//        else
//        {
//            document.form1.ReserveData.value = "";
//        }
//    }    
//}

//// ----------------------------------------
//// マウス移動のイベント処理
//// ----------------------------------------
//function mouseMove(table, e){

//    if (!e) var e = window.event;

//    var endCell = e.srcElement?e.srcElement:e.target;
//    
//    if(!(endCell.tagName=="TD" && startCell))
//        return false;

//    // セルの位置を取得
//    var from = getCellPos(table, startCell);
//    var to = getCellPos(table, endCell);
//    
//    if(!from || !to)
//        return false;
//    else if(from.col == 0){
//        return false;
//    }
//    else if(from.row == 0){
//        return false;
//    }

//    // 色を変更
//    var x, y, cells;
//    for(y=0; y<table.rows.length; y++){
//        row = table.rows.item(y);
//        for(x=0; x<row.cells.length; x++)
//        {    
//            if(row.cells.item(x).style.backgroundColor != gray && row.cells.item(x).style.backgroundColor != silver)
//            {
//                if((from.row-y)*(y-to.row)>=0 && (from.col-x)*(x-to.col)>=0)
//                {
//                    if(row.cells.item(x).style.backgroundColor == yellow)
//                    {
//                        // 未選択状態の色
//                        row.cells.item(x).style.backgroundColor = white; 
//                    }
//                    else
//                    {
//                        // 選択状態の色	
//                        row.cells.item(x).style.backgroundColor = yellow;  
//                    }			
//                }
//                else
//                {
//                    // 未選択状態の色
//                    row.cells.item(x).style.backgroundColor = white; 
//                }
//            }
//        }
//    }
//}

//// ----------------------------------------
//// tableの中のcellの位置を取得する
//// ----------------------------------------
//function getCellPos(table, cell){
//    var pos = new Object();
//    if(cell.nodeName == "TD"){
//        var x, y, cells;
//        for(y=0; y<table.rows.length; y++){
//            row = table.rows.item(y);
//            for(x=0; x<row.cells.length; x++){
//                if(row.cells.item(x) == cell){
//	                pos.row = y;
//	                pos.col = x;
//	                return pos;
//                }
//            }
//        }
//    }
//    return null;
//}

//// ----------------------------------------
//// F5対策
//// ----------------------------------------
//document.onkeydown = keys;

//function keys(e)
//{
//    if (e != null) 
//    {
//        // Mozilla(Firefox, NN) and Operaの場合
//        switch (e.which)
//        {
//            case 116: // F5
//            e.preventDefault();
//            e.stopPropagation();
//            return false;
//            break;
//        }
//    } 
//    else
//    {
//        // Internet Explorer の場合  
//        switch (event.keyCode)
//        {
//            case 116: // F5
//            event.keyCode = 0;
//            return false;
//            break;
//        }  
//    }   
//}

//// ----------------------------------------
//// 二重クリック回避
//// ----------------------------------------
//function disableAfterTimeout(object)
//{
//  object.disabled = true;
//}

//function DClick_check(obj)
//{
//	if (window.document.readyState != null && window.document.readyState != 'complete')
//	{
//	    if(obj!=null)
//	    {
//		    window.setTimeout("disableAfterTimeout('obj')",0);
//	    }
//		return false;
//	}
//	else
//	{
//		return true;
//	}
//}

