/*

 * WebControl.jsp

 * Description : WAS로 데이타를 요청하거나, 보낼때에 사용되어지는 서버페이지이다.

 * 네트워크를 하기 위해서는 서버단이 존재해야 하므로, WAS에서 그 역할을 해준다.

 * 일정한 이벤트 간격으로 데이타를 읽고 쓰기를 계속 반복한다.

 * 현재는 두 사용자가 대결하는 형식을 취하고 있다.

 */

 

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

<%@ page import="java.io.*" %>

<%@ page import="java.util.*" %>

<%

   String userid   = request.getParameter("userid");

   String score    = request.getParameter("score");

   String commx    = request.getParameter("commx");

   String commy    = request.getParameter("commy");

   String commdata = request.getParameter("commdata");

 

   if (userid.equals("A"))

   {

      writeFile("HEXAPARTNERA.dat", score + "[DIVIDE]" + commdata);   

      try

      {     

        Vector vLines = readFile("HEXAPARTNERB.dat");

        for (int i = 0; i<vLines.size(); ++i)

        {

           out.print(vLines.get(i).toString());

        }

      }

      catch(FileNotFoundException fnfe)

      {

         out.print("NO");

      }

   }

   else if (userid.equals("B"))

   {

      writeFile("HEXAPARTNERB.dat", score + "[DIVIDE]" + commdata);

      try

      {  

         Vector vLines = readFile("HEXAPARTNERA.dat");

         for (int i = 0; i<vLines.size(); ++i)

         {

            out.print(vLines.get(i).toString());

         }

      }

      catch(FileNotFoundException fnfe)

      {

          out.print("NO");

      }

  }

%>

 

<%!

   public void writeFile(String fileName, String msg)

   {

        if (msg == null)

        {

            msg = "";

        }

      Writer w = null;

      BufferedWriter bw = null;

      PrintWriter pw = null;

      try

      {

         w = new FileWriter(fileName);

         bw = new BufferedWriter(w);

         pw = new PrintWriter(bw);

         pw.println(msg);

         pw.flush();

     }

     catch(Exception e)

     {

        e.printStackTrace();   

     }

     finally

     {

        if (pw != null)

        {

            try

            {

                  pw.close();   

            }

            catch(Exception e1) { }

        }

        if (bw != null)

        {

            try

            {

                bw.close();

            }

            catch(Exception e2) { }

        }

        if (w != null)

        {

            try

            {

                w.close();

            }

            catch(Exception e3) { }

       }

    }  

 }

 

 public Vector readFile(String fileName) throws FileNotFoundException

 {

     Reader r = null;

     BufferedReader br = null;

     Vector vLines = new Vector();

     try

     {

        r = new FileReader(fileName);

        br = new BufferedReader(r);

        String line = "";

        while( (line=br.readLine()) != null )

        {

            vLines.add(line);

        }

    }

    catch(FileNotFoundException fnfo)

    {

        throw new FileNotFoundException();

    }

    catch(Exception e) 

    { 

        e.printStackTrace();

    }

    finally

    {

        if (br != null)

        {

            try

            {

                br.close();

            }

            catch(Exception e1) { }

        }

        if (r != null)

        {

            try

            {

                r.close();

            }

            catch(Exception e2) { }

        }

    }

    return vLines;

 }                                                                                                                        %>

 

 

 

 

 

 

1. WebHexa.jsp

 

<%@ page language="java" contentType="text/html; charset=EUC-KR"

    pageEncoding="EUC-KR"%>

<%@ page import="java.io.*" %>

<%@ page import="java.util.*" %>

 

<% String param_userid = request.getParameter("UserID"); %>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

   "http://www.w3.org/TR/html4/loose.dtd">

 

 

 

<!-- saved from url=(0022)http://internet.e-mail -->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<TITLE> New Document </TITLE>

 

<!-- CASCADING STYLE SHEET WITH HELP OF NAVER CSS BEGIN -->

 

<STYLE TYPE=TEXT/CSS>

td {font-size: 12px; font-family:tahoma;gulim;verdana ; 

color:#000000;line-height:1.3}

a{text-decoration:none;color:#4f4f30}

a:hover {color:#4da500;text-decoration:underline}

body,form {margin:0px; padding:0px;}

img{border:none}.p14{font-size:14px;font-family:tahoma}.p11{font-size:11px;

font-family:tahoma;letter-spacing:-1px}.p11_s{font-size:11px;font-family:tahoma;}.gy, 

a.gy:link, a.gy:visited, a.gy:hover, a.gy:active{color:#333333}.gy1, 

a.gy1:link, a.gy1:visited, a.gy1:hover, a.gy1:active{color:#4f4f30}.o, 

a.o:link, a.o:visited, a.o:hover, a.o:active{color:#ed6c1f}.nv, a.nv:link, 

a.nv:visited, a.nv:hover, a.nv:active{color:#01498d}.c, a.c:link, a.c:visited, 

a.c:hover, a.c:active{color:#000000}.gr, a.gr:link, a.gr:visited, 

a.gr:hover, a.gr:active{color:#2b5a00}b{letter-spacing:-1px}.b, a.b:link, 

a.b:visited, a.b:hover, a.b:active{font-weight:bold;letter-spacing:-1px}.ln15 {line-height:1.5}.ln16 

{line-height:1.6}.ln17 {line-height:1.7}.ba{color:#bdbdbd;font-size:11px;}.u, 

a.u:link, a.u:visited, a.u:hover, a.u:active{text-decoration:underline}.nu, 

a.nu:link, a.nu:visited, a.nu:hover, a.nu:active{text-decoration:none}/*none*/.ls1, 

a.ls1:link, a.ls1:visited, a.ls1:hover, a.ls1:active{letter-spacing:-1px}.tbox {font-size:12px; 

font-family: tahoma ; border:1px solid #b5b37c}.pd{padding:0 0 3 5}.txtbn

{font-size:14px;line-height:1.7;font-family:tahoma} 

a.txtbn:link{text-decoration:underline}a.ns:link

{color: #193b80;}a.ns:visited{color: #6b156b;}.tj{font-size:10px;color:ed6c1f}.le0{letter-spacing:0px}

</STYLE>

 

<!-- CASCADING STYLE SHEET WITH HELP OF NAVER CSS END -->

 

</HEAD>

<script type="text/javascript" src="httpRequest.js"></script>

<SCRIPT LANGUAGE = "javascript" >

 

      var m_size_of_x = 12, m_size_of_y = 22, m_max_of_shape_cnt = 12;

      var m_org_hexa_matrix = new Array( m_size_of_x * m_size_of_y );  // 1차원 배열을 이용해서 2차원 배열의 효과를 낸다.

      var m_trg_hexa_matrix = new Array( m_size_of_x * m_size_of_y );  // 1차원 배열을 이용해서 2차원 배열의 효과를 낸다.

      var Shape = new Array( 3 ); 

      var xpos, ypos, m_def_shape_number = 20, i, k;

      var m_def_down_key, m_def_right_key, m_def_left_key, m_def_space_key;

      var m_time_number;

      var m_confirm_jinro_on = 0, m_confirm_graphic_on = 0;

      var m_data_of_random = 24, m_data_of_seleted_rand = 1;

      var m_transfer_type;

      var m_ajax_send;

     var m_hexa_score;

      

      m_def_right_key = 100;

      m_def_left_key  = 101;

      m_def_down_key  = 102;

      m_def_space_key = 103;

      

      function f_radio_button_type()

      {

          var m_edit_identify = document.getElementById( "edit_identify" );

          

          if( m_edit_identify.value == "A" ) f_radio_button_type_1();

          else if( m_edit_identify.value == "B" ) f_radio_button_type_2();

      }

      

      function f_radio_button_type_1()

      {

          m_transfer_type = 1;

          

          if( m_confirm_jinro_on == 1 ) f_common_check_enter_key();

          else if( m_confirm_jinro_on == 0 ) f_hexa_matrix_setup();          

      }

    

      function f_radio_button_type_2()

      {

          m_transfer_type = 2;

          

          if( m_confirm_jinro_on == 1 ) f_common_check_enter_key();

          else if( m_confirm_jinro_on == 0 ) f_hexa_matrix_setup();            

      }    

      

    function f_load_list_from_ajax() {

    

            if( m_transfer_type == 1 ) {

        

            m_ajax_send = "./WebControl.jsp?userid=A&score=";

         m_ajax_send = m_ajax_send + m_hexa_score + "&commx=";

            m_ajax_send = m_ajax_send + m_size_of_x + "" + "&commy=";

            m_ajax_send = m_ajax_send + m_size_of_y + "" + "&commdata=";

                

            for( i = 0; i < m_size_of_y; i++ )

            {

                for( k = 0; k < m_size_of_x; k++ )

                {

                    m_ajax_send = m_ajax_send + m_org_hexa_matrix[ i * m_size_of_x + k ] + "C";

                }

                m_ajax_send = m_ajax_send + "R";

            } 

            

            sendRequest( m_ajax_send, null, f_load_list_call_back, "GET");

            

            }

            else if( m_transfer_type == 2 ) {

 

            m_ajax_send = "./WebControl.jsp?userid=B&score=";

         m_ajax_send = m_ajax_send + m_hexa_score + "&commx=";

            m_ajax_send = m_ajax_send + m_size_of_x + "" + "&commy=";

            m_ajax_send = m_ajax_send + m_size_of_y + "" + "&commdata=";

                

            for( i = 0; i < m_size_of_y; i++ )

            {

                for( k = 0; k < m_size_of_x; k++ )

                {

                    m_ajax_send = m_ajax_send + m_org_hexa_matrix[ i * m_size_of_x + k ] + "C";

                }

                m_ajax_send = m_ajax_send + "R";

            } 

            

            sendRequest( m_ajax_send, null, f_load_list_call_back, "GET");

            

            }

          

}

        

 function f_load_list_call_back() {

 

 if (httpRequest.readyState == 4) 

 {

   if (httpRequest.status == 200) 

   {

      var zipDataOrg = httpRequest.responseText;

      var zipDataTar = zipDataOrg.split( "[DIVIDE]" );

 

          var m_hexa_tar_score = zipDataTar[0];

      var zipData          = zipDataTar[1];

                                

      var dataDiv = document.getElementById( "displayDataB" );

          

          dataDiv.innerHTML = "SCORE : " + m_hexa_tar_score;

                                

          var rowSplit = zipData.split( "R" );

          for( i = 0; i < m_size_of_y; i++ )

          {

              var colSplit = rowSplit[i].split( "C" );

              for( k = 0; k < m_size_of_x; k++ )

              {

                  m_trg_hexa_matrix[ i * m_size_of_x + k ] = colSplit[k];

              }

          }

 

          for( i = 0; i < m_size_of_y - 1; i++ )

          {

              for( k = 1; k < m_size_of_x - 1; k++ )

              {

                  f_draw_right_each_hexa_matrix( i, k, m_trg_hexa_matrix[ i * m_size_of_x + k ] );

              }

          }

      } 

   else 

   {

      alert(httpRequest.status);

   }

 }

}      

 

    function f_hexa_matrix_setup()

    {

        var i, k;

        

        if( m_transfer_type == 1 ) i = 0;

        else if( m_transfer_type == 2 ) i = 1;

        else

        {

            alert( "Caution!  This program needs Microsoft-Explorer Browser \n" + 

               "래디오버튼에서 네트웍으로 판별되어질 사용자를 선택하세요!!" );

               

            return;

        }

 

        m_confirm_jinro_on = 1;

 

m_hexa_score = 0;

 

        alert( "Caution!  This program needs Microsoft-Explorer Browser \n" + 

               "자바스크립트로 구현한 헥사 게임을 시작하려합니다.  \n" +

               "방향키와 스페이스크 그리고 취소키를 이용해서 게임을 즐기십시요.!! " );

 

        for( i = 0; i < m_size_of_y; i++ )

        {

            for( k = 0; k < m_size_of_x; k++ )

            { 

                m_org_hexa_matrix[ i * m_size_of_x + k ] = 0;

            }

        }

 

        for( k = 0; k < m_size_of_x; k++ )

        {

          m_org_hexa_matrix[ ( m_size_of_y-1 ) * m_size_of_x + k ] = 10;

        }

 

        for( k = 0; k < m_size_of_y; k++ )

        {

          m_org_hexa_matrix[ k * m_size_of_x + 0 ] = 100;

          m_org_hexa_matrix[ k * m_size_of_x + m_size_of_x - 1 ] = 10;

        }

 

        m_time_number = setInterval( "f_time_loop_call_back()", 400 ); 

 

        f_start_hexa_matrix();

 

        f_draw_active_hexa_matrix();

      } 

 

      function f_quit_hexa_matrix()

      {

        m_confirm_jinro_on = 0;

 

        f_draw_clear_hexa_matrix();

        clearInterval( m_time_number );

 

        alert( "자바스크립트로 만들어진 헥사게임을 종료합니다. 한번더 하시죠.!" );

      }              

 

      function f_delete_column( Col, Row )

      {

        var k;

 

        for( k = Row; k >= 1; k-- )

        {

          m_org_hexa_matrix[ k * m_size_of_x + Col ] = m_org_hexa_matrix[ ( k - 1 ) * m_size_of_x + Col ];

        }

      } 

        

      function f_check_horizontal()

      {

        var i, k, j, No;

 

        for( i = 0; i < m_size_of_y - 1; i++ )

        {

          for( k = 1; k < m_size_of_x - 3; k++ )

          {

            No = 0;

            while( 1 )  

            {

              if( m_org_hexa_matrix[ i * m_size_of_x + k + No ] != 0 )

              {

                if( m_org_hexa_matrix[ i * m_size_of_x + k + No ] == m_org_hexa_matrix[ i * m_size_of_x + k + No + 1 ] )

                {

                  No = No + 1;

                }

                else break;

              }

              else break; 

            }

 

            if( No >= 2 )

            {

  m_hexa_score = m_hexa_score + 1;

              for( j = k; j <= k + No; j++ )

              {

                f_delete_column( j, i );

              }

              return 1;

            }

          }

        }

 

        return 0;

      }

 

      function f_check_vertical()

      {

        var i, k, j, No;

 

        for( k = 1; k < m_size_of_x - 1; k++ )

        {

          for( i = m_size_of_y - 2; i >= 0; i-- ) 

          {

            No = 0;

            while( 1 )

            {

              if( m_org_hexa_matrix[ ( i - No ) * m_size_of_x + k ] != 0 )

              {

                if( m_org_hexa_matrix[ ( i - No ) * m_size_of_x + k ] == m_org_hexa_matrix[ ( i - No - 1 ) * m_size_of_x + k ] )

                {

                  No = No + 1;

  

                }

                else break;

              }

              else break; 

            }

 

            if( No >= 2 )

            {

m_hexa_score = m_hexa_score + 1;

 

              for( j = i; j >= i - No; j-- )

              {

                f_delete_column( k, i );

              }

 

              return 1;

            }

          }

        }

 

        return 0;

      } 

 

      function f_check_left_to_right()

      {

        var i, k, j, No;

 

        for( k = 1; k < m_size_of_x - 1; k++ )

        {

          for( i = 0; i < m_size_of_y - 1; i++ )

          {

            No = 0;

            while( 1 )

            {

              if( m_org_hexa_matrix[ ( i + No ) * m_size_of_x + k + No ] != 0 )

              {

                if( m_org_hexa_matrix[ ( i + No ) * m_size_of_x + ( k + No ) ] == m_org_hexa_matrix[ ( i + No + 1 ) * m_size_of_x + ( k + No + 1 ) ] )

                {

                  No = No + 1;

  

                }

                else break;

              }

              else break;

            }

 

            if( No >= 2 )

            {

m_hexa_score = m_hexa_score + 1;

 

              for( j = 0; j <= No; j++ )

              {

                f_delete_column( k + j, i + j );

              }

 

              return 1;

            }

          }

        }

 

        return 0;

      }  

 

      function f_check_right_to_left()

      {

        var i, k, j, No;

 

        for( k = m_size_of_x - 2; k >= 1; k-- )

        {

          for( i = 0; i < m_size_of_y - 1; i++ )

          {

            No = 0;

            while( 1 )

            {

              if( m_org_hexa_matrix[ ( i + No ) * m_size_of_x + k - No ] != 0 )

              {

                if( m_org_hexa_matrix[ ( i + No ) * m_size_of_x + ( k - No ) ] == m_org_hexa_matrix[ ( i + No + 1 ) * m_size_of_x + ( k - No - 1 ) ] )

                {

                  No = No + 1;

  

                }

                else break;

              }

              else break;

            }

 

            if( No >= 2 )

            {

m_hexa_score = m_hexa_score + 1;

 

              for( j = 0; j <= No; j++ )

              { 

                 f_delete_column( k - j, i + j );

              }

 

              return 1;

            }

          }

        }

 

        return 0;

      }     

         

      function f_time_loop_call_back()

      {

        var i, k;

        

        f_load_list_from_ajax();

 

        if( f_common_midway_control( m_def_down_key ) == 1 ) 

        {

          f_delete_hexa_matrix();

          ypos = ypos + 1;

          f_get_shape_hexa_matrix();

 

          f_draw_current_hexa_matrix();

        }

        else

        {

          if( ypos == 0 ) f_quit_hexa_matrix();

          else

          {

            while( 1 )

            {

              if( f_check_horizontal() == 0 ) 

              {

                if( f_check_vertical() == 0 )

                {

                  if( f_check_left_to_right() == 0 )

                  {

                    if( f_check_right_to_left() == 0 )

                    {

                      break;

                    } 

                  }

                }

              }

            } 

 

            f_draw_active_hexa_matrix(); 

            f_start_hexa_matrix();

            f_draw_active_hexa_matrix();

          }

        }

      }

 

      function f_check_enter_key()

      {

        while( 1 )

        { 

          if( f_common_midway_control( m_def_down_key ) == 1 )

          {

            f_delete_hexa_matrix();

            ypos = ypos + 1;

            f_get_shape_hexa_matrix();

          }

          else 

          {

            while( 1 )

            {

              if( f_check_horizontal() == 0 ) 

              {

                if( f_check_vertical() == 0 )

                {

                  if( f_check_left_to_right() == 0 )

                  {

                    if( f_check_right_to_left() == 0 )

                    {

                      break; 

                    } 

                  }

                }

              }

              else f_draw_current_hexa_matrix();

            }

            

            f_draw_active_hexa_matrix();

            f_start_hexa_matrix();

            f_draw_active_hexa_matrix();

 

            break;

          }

        }

      }

 

      function f_script_rand_data()

      {

        var Number;

 

        if( m_data_of_seleted_rand == 1 )  

        {

          m_data_of_random = m_data_of_random + 23;

          m_data_of_seleted_rand = 2;

        }

        else if( m_data_of_seleted_rand == 2 )

        {

          m_data_of_random = m_data_of_random + 48;

          m_data_of_seleted_rand = 3;

        }

        else if( m_data_of_seleted_rand == 3 )

        {

          m_data_of_random = m_data_of_random + 37;

          m_data_of_seleted_rand = 4;

        }

        else if( m_data_of_seleted_rand == 4 )

        {

          m_data_of_random = m_data_of_random + 12;

          m_data_of_seleted_rand = 5;

        }

        else if( m_data_of_seleted_rand == 5 )

        {

          m_data_of_random = m_data_of_random + 63;     

          m_data_of_seleted_rand = 1;

        } 

 

        Number = ( m_data_of_random % m_max_of_shape_cnt );

        if( Number < 0 ) Number = 0;

 

        return Number;

      }        

 

      function f_start_hexa_matrix()

      {

        var k;        

 

        xpos = 6;

        ypos = 0;

 

        for( k = 0; k < 3; k++ )

        {

          Shape[k] = 1 + f_script_rand_data();

        }

 

        f_get_shape_hexa_matrix(); 

      }

 

      function f_delete_hexa_matrix()

      {

        var k;

 

        for( k = 0; k < 3; k++ )

        {

          m_org_hexa_matrix[ m_size_of_x * ( ypos + k ) + xpos ] = 0;

        }

      }

 

      function f_get_shape_hexa_matrix()

      {

        var k;

 

        for( k = 0; k < 3; k++ )

        {

          m_org_hexa_matrix[ m_size_of_x * ( ypos + k ) + xpos ] = Shape[k];

        }

      }  

 

      function f_common_midway_control( f_common_midway_controlKey )

      {

        var k;

 

        f_delete_hexa_matrix();

 

        for( k = 0; k < 3; k++ )

        {

          if( f_common_midway_controlKey == m_def_right_key )

          {

            if( m_org_hexa_matrix[ m_size_of_x * ( ypos + k ) + xpos + 1 ] != 0 )

            {

              f_get_shape_hexa_matrix();

              return 0;

            }

          }

          else if( f_common_midway_controlKey == m_def_left_key )

          {

            if( m_org_hexa_matrix[ m_size_of_x * ( ypos + k ) + xpos - 1 ] != 0 )

            {

              f_get_shape_hexa_matrix();

              return 0;

            }

          }

          else if( f_common_midway_controlKey == m_def_down_key )

          {

            if( m_org_hexa_matrix[ m_size_of_x * ( ypos + 3 ) + xpos ] != 0 )

            {

              f_get_shape_hexa_matrix();

              return 0;

            }

          }

          else if( f_common_midway_controlKey == m_def_space_key )

          {

            var Temp;

 

            Temp = Shape[0];

            Shape[0] = Shape[1];

            Shape[1] = Shape[2];

            Shape[2] = Temp;

    

            f_get_shape_hexa_matrix();

            return 0;

          }

        }

 

        f_get_shape_hexa_matrix();

        return 1;

      }

 

      function f_common_check_right_key()

      {

        if( m_confirm_jinro_on == 1 ) f_check_right_key();

        else

        {

          alert( "헥사게임을 시작하려면 엔터키가 필요합니다. 먼저 엔터키를 누르세요.!" );

        }

      }

 

      function f_check_right_key()

      {

        if( f_common_midway_control( m_def_right_key ) == 1 ) 

        {

          f_delete_hexa_matrix();

          xpos = xpos + 1;

          f_get_shape_hexa_matrix();

        }

 

        f_draw_current_hexa_matrix();

      }

 

      function f_common_check_left_key()

      {

        if( m_confirm_jinro_on == 1 ) f_check_left_key();

        else

        {

          alert( "헥사게임을 시작하려면 엔터키가 필요합니다. 먼저 엔터키를 누르세요.!" );

        }

      }

 

      function f_check_left_key()

      {

        if( f_common_midway_control( m_def_left_key ) == 1 )

        {

          f_delete_hexa_matrix();

          xpos = xpos - 1;

          f_get_shape_hexa_matrix();

        }

 

        f_draw_current_hexa_matrix();

      }

 

      function f_common_check_enter_key()

      {

        if( m_confirm_jinro_on == 1 ) f_check_enter_key();

        else

        {

          alert( "헥사게임을 시작하려면 엔터키가 필요합니다. 먼저 엔터키를 누르세요.!" );

        }

      }

  

      function f_common_check_space_key()

      {

        if( m_confirm_jinro_on == 1 ) f_check_space_key();

        else

        {

          alert( "Firstly Start GameSource With Enter Key" );

        }

      }

 

      function f_check_space_key()

      {

        var Garvage;

 

        if( f_common_midway_control( m_def_space_key ) == 1 )

        {

          Garvage = Garvage + 1; 

        }

 

        f_draw_current_hexa_matrix();

      } 

 

      function f_check_down_key()

      {

        if( f_common_midway_control( m_def_down_key ) == 1 )

        {

          f_delete_hexa_matrix();

          ypos = ypos + 1;

          f_get_shape_hexa_matrix();

        }

 

        f_draw_current_hexa_matrix();

      }   

 

      function f_draw_current_hexa_matrix()

      {

        var i, k, ImageNo;

 

var dataDiv = document.getElementById( "displayDataA" );

        dataDiv.innerHTML = "SCORE : " + m_hexa_score + "    [기능 - SPACE:색깔바꾸기 ENTER:빨리내려오기]";

 

        for( i = ypos - 2; i < ypos + 3; i++ )

        {

          for( k = xpos - 2; k < xpos + 2; k++ )

          {

            ImageNo = i * ( m_size_of_x - 2 ) + ( k - 1 );

         

            if( k > 0 && k < m_size_of_x - 1 )

            {

              if( i < m_size_of_y - 1 )

              {

                f_draw_left_each_hexa_matrix( i, k, m_org_hexa_matrix[ i * m_size_of_x + k ] );

              }

            }

          }

        }

      }          

 

      function f_draw_active_hexa_matrix()

      {

        var i, k, ImageNo;

 

var dataDiv = document.getElementById( "displayDataA" );

        dataDiv.innerHTML = "SCORE : " + m_hexa_score + "    [기능 - SPACE:색깔바꾸기 ENTER:빨리내려오기]";

 

        m_confirm_graphic_on = 1;

 

        for( i = 0; i < m_size_of_y - 1; i++ )

        {

          for( k = 1; k < m_size_of_x - 1; k++ )

          {

            f_draw_left_each_hexa_matrix( i, k, m_org_hexa_matrix[ i * m_size_of_x + k ] );

          }

        }

 

        m_confirm_graphic_on = 0; 

      }

 

      function f_draw_clear_hexa_matrix()

      {

        var i, k, ImageNo;

 

var dataDiv = document.getElementById( "displayDataA" );

        dataDiv.innerHTML = "SCORE : " + m_hexa_score + "    [기능 - SPACE:색깔바꾸기 ENTER:빨리내려오기]";

 

        for( i = 0; i < m_size_of_y - 1; i++ )

        {

          for( k = 1; k < m_size_of_x - 1; k++ )

          {

            ImageNo = i * ( m_size_of_x - 2 ) + ( k - 1 );

            

            f_draw_left_each_hexa_matrix( i, k, 0 );

          }

        }

      } 

 

      document.onkeydown = e_key_down_storage;

 

      function e_key_down_storage()

      {

          var today = new Date();

 

          if( m_confirm_graphic_on == 0 ) {

 

              var keycode = window.event.keyCode;   

              var realkey = String.fromCharCode( window.event.keyCode ); 

 

              if( keycode == "39" ) f_common_check_right_key();

              else if( keycode == "37" ) f_common_check_left_key();

              else if( keycode == "32" ) f_common_check_space_key();

              else if( keycode == "38" ) 

              {

                  alert( "현재의 시간의 현황은 : " + today.getTime() );           

              }

              else if( keycode == "13" ) 

              {

                  if( m_confirm_jinro_on == 1 ) f_common_check_enter_key();

                  else if( m_confirm_jinro_on == 0 ) f_hexa_matrix_setup();

              }

              else if( keycode == "27" )

              {

                  if( m_confirm_jinro_on == 1 ) f_quit_hexa_matrix();  

                  else if( m_confirm_jinro_on == 0 ) 

                  {

                      alert( "함부로 취소키를 누르시지 마십시요, 키보드 닳아집니다." );

                  }

              }

          }

      }

 

 

    function f_draw_left_each_hexa_matrix( D_Y, D_X, ID_COLOR )

    {

        // Height Value is 21, So Array is 22

        // Width  Value is 17, So Array is 19

        var CH_ID_COLOR;

 

        if( ID_COLOR == 0 )       CH_ID_COLOR = "#FFFFFF";

        else if( ID_COLOR == 1 )  CH_ID_COLOR = "#da009a";

        else if( ID_COLOR == 2 )  CH_ID_COLOR = "#6c00da";

        else if( ID_COLOR == 3 )  CH_ID_COLOR = "#0f00da";

        else if( ID_COLOR == 4 )  CH_ID_COLOR = "#0052da";

        else if( ID_COLOR == 5 )  CH_ID_COLOR = "#009ada";

        else if( ID_COLOR == 6 )  CH_ID_COLOR = "#00dabe";

        else if( ID_COLOR == 7 )  CH_ID_COLOR = "#00ba1f";

        else if( ID_COLOR == 8 )  CH_ID_COLOR = "#abba00";

        else if( ID_COLOR == 9 )  CH_ID_COLOR = "#f4da00";

        else if( ID_COLOR == 10 ) CH_ID_COLOR = "#f4a100";

        else if( ID_COLOR == 11 ) CH_ID_COLOR = "#f46700";

        else if( ID_COLOR == 12 ) CH_ID_COLOR = "#da0000";

        

 

        if( D_Y == 0 && D_X == 1 ) TD0001.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 2 ) TD0002.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 3 ) TD0003.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 4 ) TD0004.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 5 ) TD0005.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 6 ) TD0006.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 7 ) TD0007.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 8 ) TD0008.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 9 ) TD0009.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 10 ) TD0010.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 11 ) TD0011.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 12 ) TD0012.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 13 ) TD0013.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 14 ) TD0014.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 15 ) TD0015.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 16 ) TD0016.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 17 ) TD0017.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 1 ) TD0101.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 2 ) TD0102.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 3 ) TD0103.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 4 ) TD0104.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 5 ) TD0105.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 6 ) TD0106.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 7 ) TD0107.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 8 ) TD0108.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 9 ) TD0109.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 10 ) TD0110.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 11 ) TD0111.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 12 ) TD0112.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 13 ) TD0113.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 14 ) TD0114.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 15 ) TD0115.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 16 ) TD0116.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 17 ) TD0117.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 1 ) TD0201.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 2 ) TD0202.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 3 ) TD0203.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 4 ) TD0204.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 5 ) TD0205.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 6 ) TD0206.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 7 ) TD0207.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 8 ) TD0208.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 9 ) TD0209.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 10 ) TD0210.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 11 ) TD0211.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 12 ) TD0212.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 13 ) TD0213.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 14 ) TD0214.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 15 ) TD0215.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 16 ) TD0216.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 17 ) TD0217.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 1 ) TD0301.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 2 ) TD0302.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 3 ) TD0303.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 4 ) TD0304.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 5 ) TD0305.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 6 ) TD0306.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 7 ) TD0307.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 8 ) TD0308.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 9 ) TD0309.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 10 ) TD0310.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 11 ) TD0311.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 12 ) TD0312.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 13 ) TD0313.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 14 ) TD0314.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 15 ) TD0315.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 16 ) TD0316.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 17 ) TD0317.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 1 ) TD0401.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 2 ) TD0402.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 3 ) TD0403.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 4 ) TD0404.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 5 ) TD0405.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 6 ) TD0406.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 7 ) TD0407.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 8 ) TD0408.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 9 ) TD0409.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 10 ) TD0410.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 11 ) TD0411.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 12 ) TD0412.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 13 ) TD0413.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 14 ) TD0414.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 15 ) TD0415.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 16 ) TD0416.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 17 ) TD0417.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 1 ) TD0501.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 2 ) TD0502.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 3 ) TD0503.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 4 ) TD0504.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 5 ) TD0505.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 6 ) TD0506.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 7 ) TD0507.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 8 ) TD0508.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 9 ) TD0509.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 10 ) TD0510.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 11 ) TD0511.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 12 ) TD0512.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 13 ) TD0513.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 14 ) TD0514.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 15 ) TD0515.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 16 ) TD0516.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 17 ) TD0517.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 1 ) TD0601.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 2 ) TD0602.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 3 ) TD0603.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 4 ) TD0604.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 5 ) TD0605.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 6 ) TD0606.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 7 ) TD0607.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 8 ) TD0608.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 9 ) TD0609.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 10 ) TD0610.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 11 ) TD0611.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 12 ) TD0612.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 13 ) TD0613.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 14 ) TD0614.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 15 ) TD0615.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 16 ) TD0616.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 17 ) TD0617.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 1 ) TD0701.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 2 ) TD0702.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 3 ) TD0703.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 4 ) TD0704.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 5 ) TD0705.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 6 ) TD0706.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 7 ) TD0707.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 8 ) TD0708.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 9 ) TD0709.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 10 ) TD0710.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 11 ) TD0711.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 12 ) TD0712.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 13 ) TD0713.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 14 ) TD0714.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 15 ) TD0715.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 16 ) TD0716.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 17 ) TD0717.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 1 ) TD0801.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 2 ) TD0802.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 3 ) TD0803.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 4 ) TD0804.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 5 ) TD0805.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 6 ) TD0806.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 7 ) TD0807.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 8 ) TD0808.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 9 ) TD0809.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 10 ) TD0810.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 11 ) TD0811.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 12 ) TD0812.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 13 ) TD0813.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 14 ) TD0814.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 15 ) TD0815.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 16 ) TD0816.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 17 ) TD0817.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 1 ) TD0901.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 2 ) TD0902.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 3 ) TD0903.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 4 ) TD0904.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 5 ) TD0905.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 6 ) TD0906.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 7 ) TD0907.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 8 ) TD0908.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 9 ) TD0909.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 10 ) TD0910.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 11 ) TD0911.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 12 ) TD0912.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 13 ) TD0913.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 14 ) TD0914.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 15 ) TD0915.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 16 ) TD0916.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 17 ) TD0917.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 1 ) TD1001.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 2 ) TD1002.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 3 ) TD1003.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 4 ) TD1004.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 5 ) TD1005.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 6 ) TD1006.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 7 ) TD1007.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 8 ) TD1008.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 9 ) TD1009.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 10 ) TD1010.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 11 ) TD1011.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 12 ) TD1012.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 13 ) TD1013.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 14 ) TD1014.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 15 ) TD1015.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 16 ) TD1016.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 17 ) TD1017.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 1 ) TD1101.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 2 ) TD1102.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 3 ) TD1103.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 4 ) TD1104.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 5 ) TD1105.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 6 ) TD1106.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 7 ) TD1107.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 8 ) TD1108.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 9 ) TD1109.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 10 ) TD1110.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 11 ) TD1111.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 12 ) TD1112.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 13 ) TD1113.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 14 ) TD1114.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 15 ) TD1115.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 16 ) TD1116.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 17 ) TD1117.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 1 ) TD1201.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 2 ) TD1202.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 3 ) TD1203.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 4 ) TD1204.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 5 ) TD1205.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 6 ) TD1206.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 7 ) TD1207.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 8 ) TD1208.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 9 ) TD1209.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 10 ) TD1210.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 11 ) TD1211.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 12 ) TD1212.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 13 ) TD1213.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 14 ) TD1214.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 15 ) TD1215.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 16 ) TD1216.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 17 ) TD1217.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 1 ) TD1301.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 2 ) TD1302.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 3 ) TD1303.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 4 ) TD1304.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 5 ) TD1305.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 6 ) TD1306.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 7 ) TD1307.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 8 ) TD1308.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 9 ) TD1309.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 10 ) TD1310.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 11 ) TD1311.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 12 ) TD1312.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 13 ) TD1313.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 14 ) TD1314.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 15 ) TD1315.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 16 ) TD1316.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 17 ) TD1317.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 1 ) TD1401.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 2 ) TD1402.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 3 ) TD1403.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 4 ) TD1404.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 5 ) TD1405.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 6 ) TD1406.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 7 ) TD1407.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 8 ) TD1408.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 9 ) TD1409.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 10 ) TD1410.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 11 ) TD1411.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 12 ) TD1412.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 13 ) TD1413.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 14 ) TD1414.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 15 ) TD1415.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 16 ) TD1416.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 17 ) TD1417.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 1 ) TD1501.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 2 ) TD1502.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 3 ) TD1503.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 4 ) TD1504.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 5 ) TD1505.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 6 ) TD1506.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 7 ) TD1507.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 8 ) TD1508.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 9 ) TD1509.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 10 ) TD1510.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 11 ) TD1511.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 12 ) TD1512.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 13 ) TD1513.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 14 ) TD1514.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 15 ) TD1515.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 16 ) TD1516.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 17 ) TD1517.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 1 ) TD1601.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 2 ) TD1602.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 3 ) TD1603.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 4 ) TD1604.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 5 ) TD1605.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 6 ) TD1606.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 7 ) TD1607.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 8 ) TD1608.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 9 ) TD1609.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 10 ) TD1610.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 11 ) TD1611.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 12 ) TD1612.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 13 ) TD1613.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 14 ) TD1614.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 15 ) TD1615.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 16 ) TD1616.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 17 ) TD1617.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 1 ) TD1701.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 2 ) TD1702.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 3 ) TD1703.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 4 ) TD1704.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 5 ) TD1705.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 6 ) TD1706.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 7 ) TD1707.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 8 ) TD1708.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 9 ) TD1709.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 10 ) TD1710.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 11 ) TD1711.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 12 ) TD1712.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 13 ) TD1713.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 14 ) TD1714.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 15 ) TD1715.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 16 ) TD1716.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 17 ) TD1717.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 1 ) TD1801.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 2 ) TD1802.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 3 ) TD1803.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 4 ) TD1804.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 5 ) TD1805.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 6 ) TD1806.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 7 ) TD1807.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 8 ) TD1808.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 9 ) TD1809.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 10 ) TD1810.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 11 ) TD1811.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 12 ) TD1812.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 13 ) TD1813.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 14 ) TD1814.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 15 ) TD1815.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 16 ) TD1816.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 17 ) TD1817.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 1 ) TD1901.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 2 ) TD1902.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 3 ) TD1903.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 4 ) TD1904.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 5 ) TD1905.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 6 ) TD1906.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 7 ) TD1907.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 8 ) TD1908.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 9 ) TD1909.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 10 ) TD1910.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 11 ) TD1911.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 12 ) TD1912.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 13 ) TD1913.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 14 ) TD1914.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 15 ) TD1915.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 16 ) TD1916.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 17 ) TD1917.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 1 ) TD2001.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 2 ) TD2002.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 3 ) TD2003.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 4 ) TD2004.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 5 ) TD2005.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 6 ) TD2006.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 7 ) TD2007.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 8 ) TD2008.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 9 ) TD2009.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 10 ) TD2010.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 11 ) TD2011.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 12 ) TD2012.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 13 ) TD2013.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 14 ) TD2014.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 15 ) TD2015.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 16 ) TD2016.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 17 ) TD2017.style.backgroundColor = CH_ID_COLOR;

 }

 

 function f_draw_right_each_hexa_matrix( D_Y, D_X, ID_COLOR )

{

        // Height Value is 21, So Array is 22

        // Width  Value is 17, So Array is 19

        var CH_ID_COLOR;

 

        if( ID_COLOR == 0 )       CH_ID_COLOR = "#FFFFFF";

        else if( ID_COLOR == 1 )  CH_ID_COLOR = "#da009a";

        else if( ID_COLOR == 2 )  CH_ID_COLOR = "#6c00da";

        else if( ID_COLOR == 3 )  CH_ID_COLOR = "#0f00da";

        else if( ID_COLOR == 4 )  CH_ID_COLOR = "#0052da";

        else if( ID_COLOR == 5 )  CH_ID_COLOR = "#009ada";

        else if( ID_COLOR == 6 )  CH_ID_COLOR = "#00dabe";

        else if( ID_COLOR == 7 )  CH_ID_COLOR = "#00ba1f";

        else if( ID_COLOR == 8 )  CH_ID_COLOR = "#abba00";

        else if( ID_COLOR == 9 )  CH_ID_COLOR = "#f4da00";

        else if( ID_COLOR == 10 ) CH_ID_COLOR = "#f4a100";

        else if( ID_COLOR == 11 ) CH_ID_COLOR = "#f46700";

        else if( ID_COLOR == 12 ) CH_ID_COLOR = "#da0000";

 

        if( D_Y == 0 && D_X == 1 ) HD0001.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 2 ) HD0002.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 3 ) HD0003.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 4 ) HD0004.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 5 ) HD0005.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 6 ) HD0006.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 7 ) HD0007.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 8 ) HD0008.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 9 ) HD0009.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 10 ) HD0010.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 11 ) HD0011.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 12 ) HD0012.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 13 ) HD0013.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 14 ) HD0014.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 15 ) HD0015.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 16 ) HD0016.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 0 && D_X == 17 ) HD0017.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 1 ) HD0101.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 2 ) HD0102.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 3 ) HD0103.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 4 ) HD0104.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 5 ) HD0105.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 6 ) HD0106.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 7 ) HD0107.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 8 ) HD0108.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 9 ) HD0109.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 10 ) HD0110.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 11 ) HD0111.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 12 ) HD0112.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 13 ) HD0113.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 14 ) HD0114.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 15 ) HD0115.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 16 ) HD0116.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 1 && D_X == 17 ) HD0117.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 1 ) HD0201.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 2 ) HD0202.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 3 ) HD0203.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 4 ) HD0204.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 5 ) HD0205.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 6 ) HD0206.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 7 ) HD0207.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 8 ) HD0208.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 9 ) HD0209.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 10 ) HD0210.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 11 ) HD0211.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 12 ) HD0212.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 13 ) HD0213.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 14 ) HD0214.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 15 ) HD0215.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 16 ) HD0216.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 2 && D_X == 17 ) HD0217.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 1 ) HD0301.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 2 ) HD0302.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 3 ) HD0303.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 4 ) HD0304.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 5 ) HD0305.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 6 ) HD0306.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 7 ) HD0307.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 8 ) HD0308.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 9 ) HD0309.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 10 ) HD0310.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 11 ) HD0311.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 12 ) HD0312.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 13 ) HD0313.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 14 ) HD0314.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 15 ) HD0315.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 16 ) HD0316.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 3 && D_X == 17 ) HD0317.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 1 ) HD0401.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 2 ) HD0402.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 3 ) HD0403.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 4 ) HD0404.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 5 ) HD0405.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 6 ) HD0406.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 7 ) HD0407.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 8 ) HD0408.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 9 ) HD0409.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 10 ) HD0410.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 11 ) HD0411.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 12 ) HD0412.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 13 ) HD0413.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 14 ) HD0414.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 15 ) HD0415.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 16 ) HD0416.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 4 && D_X == 17 ) HD0417.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 1 ) HD0501.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 2 ) HD0502.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 3 ) HD0503.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 4 ) HD0504.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 5 ) HD0505.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 6 ) HD0506.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 7 ) HD0507.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 8 ) HD0508.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 9 ) HD0509.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 10 ) HD0510.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 11 ) HD0511.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 12 ) HD0512.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 13 ) HD0513.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 14 ) HD0514.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 15 ) HD0515.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 16 ) HD0516.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 5 && D_X == 17 ) HD0517.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 1 ) HD0601.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 2 ) HD0602.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 3 ) HD0603.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 4 ) HD0604.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 5 ) HD0605.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 6 ) HD0606.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 7 ) HD0607.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 8 ) HD0608.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 9 ) HD0609.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 10 ) HD0610.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 11 ) HD0611.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 12 ) HD0612.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 13 ) HD0613.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 14 ) HD0614.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 15 ) HD0615.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 16 ) HD0616.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 6 && D_X == 17 ) HD0617.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 1 ) HD0701.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 2 ) HD0702.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 3 ) HD0703.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 4 ) HD0704.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 5 ) HD0705.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 6 ) HD0706.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 7 ) HD0707.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 8 ) HD0708.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 9 ) HD0709.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 10 ) HD0710.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 11 ) HD0711.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 12 ) HD0712.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 13 ) HD0713.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 14 ) HD0714.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 15 ) HD0715.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 16 ) HD0716.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 7 && D_X == 17 ) HD0717.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 1 ) HD0801.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 2 ) HD0802.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 3 ) HD0803.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 4 ) HD0804.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 5 ) HD0805.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 6 ) HD0806.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 7 ) HD0807.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 8 ) HD0808.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 9 ) HD0809.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 10 ) HD0810.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 11 ) HD0811.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 12 ) HD0812.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 13 ) HD0813.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 14 ) HD0814.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 15 ) HD0815.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 16 ) HD0816.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 8 && D_X == 17 ) HD0817.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 1 ) HD0901.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 2 ) HD0902.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 3 ) HD0903.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 4 ) HD0904.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 5 ) HD0905.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 6 ) HD0906.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 7 ) HD0907.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 8 ) HD0908.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 9 ) HD0909.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 10 ) HD0910.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 11 ) HD0911.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 12 ) HD0912.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 13 ) HD0913.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 14 ) HD0914.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 15 ) HD0915.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 16 ) HD0916.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 9 && D_X == 17 ) HD0917.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 1 ) HD1001.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 2 ) HD1002.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 3 ) HD1003.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 4 ) HD1004.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 5 ) HD1005.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 6 ) HD1006.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 7 ) HD1007.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 8 ) HD1008.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 9 ) HD1009.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 10 ) HD1010.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 11 ) HD1011.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 12 ) HD1012.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 13 ) HD1013.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 14 ) HD1014.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 15 ) HD1015.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 16 ) HD1016.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 10 && D_X == 17 ) HD1017.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 1 ) HD1101.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 2 ) HD1102.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 3 ) HD1103.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 4 ) HD1104.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 5 ) HD1105.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 6 ) HD1106.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 7 ) HD1107.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 8 ) HD1108.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 9 ) HD1109.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 10 ) HD1110.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 11 ) HD1111.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 12 ) HD1112.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 13 ) HD1113.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 14 ) HD1114.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 15 ) HD1115.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 16 ) HD1116.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 11 && D_X == 17 ) HD1117.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 1 ) HD1201.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 2 ) HD1202.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 3 ) HD1203.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 4 ) HD1204.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 5 ) HD1205.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 6 ) HD1206.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 7 ) HD1207.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 8 ) HD1208.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 9 ) HD1209.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 10 ) HD1210.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 11 ) HD1211.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 12 ) HD1212.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 13 ) HD1213.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 14 ) HD1214.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 15 ) HD1215.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 16 ) HD1216.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 12 && D_X == 17 ) HD1217.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 1 ) HD1301.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 2 ) HD1302.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 3 ) HD1303.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 4 ) HD1304.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 5 ) HD1305.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 6 ) HD1306.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 7 ) HD1307.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 8 ) HD1308.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 9 ) HD1309.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 10 ) HD1310.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 11 ) HD1311.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 12 ) HD1312.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 13 ) HD1313.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 14 ) HD1314.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 15 ) HD1315.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 16 ) HD1316.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 13 && D_X == 17 ) HD1317.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 1 ) HD1401.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 2 ) HD1402.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 3 ) HD1403.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 4 ) HD1404.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 5 ) HD1405.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 6 ) HD1406.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 7 ) HD1407.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 8 ) HD1408.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 9 ) HD1409.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 10 ) HD1410.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 11 ) HD1411.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 12 ) HD1412.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 13 ) HD1413.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 14 ) HD1414.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 15 ) HD1415.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 16 ) HD1416.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 14 && D_X == 17 ) HD1417.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 1 ) HD1501.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 2 ) HD1502.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 3 ) HD1503.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 4 ) HD1504.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 5 ) HD1505.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 6 ) HD1506.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 7 ) HD1507.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 8 ) HD1508.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 9 ) HD1509.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 10 ) HD1510.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 11 ) HD1511.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 12 ) HD1512.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 13 ) HD1513.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 14 ) HD1514.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 15 ) HD1515.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 16 ) HD1516.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 15 && D_X == 17 ) HD1517.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 1 ) HD1601.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 2 ) HD1602.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 3 ) HD1603.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 4 ) HD1604.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 5 ) HD1605.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 6 ) HD1606.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 7 ) HD1607.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 8 ) HD1608.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 9 ) HD1609.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 10 ) HD1610.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 11 ) HD1611.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 12 ) HD1612.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 13 ) HD1613.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 14 ) HD1614.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 15 ) HD1615.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 16 ) HD1616.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 16 && D_X == 17 ) HD1617.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 1 ) HD1701.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 2 ) HD1702.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 3 ) HD1703.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 4 ) HD1704.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 5 ) HD1705.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 6 ) HD1706.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 7 ) HD1707.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 8 ) HD1708.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 9 ) HD1709.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 10 ) HD1710.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 11 ) HD1711.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 12 ) HD1712.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 13 ) HD1713.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 14 ) HD1714.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 15 ) HD1715.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 16 ) HD1716.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 17 && D_X == 17 ) HD1717.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 1 ) HD1801.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 2 ) HD1802.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 3 ) HD1803.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 4 ) HD1804.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 5 ) HD1805.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 6 ) HD1806.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 7 ) HD1807.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 8 ) HD1808.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 9 ) HD1809.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 10 ) HD1810.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 11 ) HD1811.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 12 ) HD1812.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 13 ) HD1813.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 14 ) HD1814.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 15 ) HD1815.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 16 ) HD1816.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 18 && D_X == 17 ) HD1817.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 1 ) HD1901.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 2 ) HD1902.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 3 ) HD1903.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 4 ) HD1904.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 5 ) HD1905.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 6 ) HD1906.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 7 ) HD1907.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 8 ) HD1908.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 9 ) HD1909.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 10 ) HD1910.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 11 ) HD1911.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 12 ) HD1912.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 13 ) HD1913.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 14 ) HD1914.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 15 ) HD1915.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 16 ) HD1916.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 19 && D_X == 17 ) HD1917.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 1 ) HD2001.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 2 ) HD2002.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 3 ) HD2003.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 4 ) HD2004.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 5 ) HD2005.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 6 ) HD2006.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 7 ) HD2007.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 8 ) HD2008.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 9 ) HD2009.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 10 ) HD2010.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 11 ) HD2011.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 12 ) HD2012.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 13 ) HD2013.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 14 ) HD2014.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 15 ) HD2015.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 16 ) HD2016.style.backgroundColor = CH_ID_COLOR;

        else if( D_Y == 20 && D_X == 17 ) HD2017.style.backgroundColor = CH_ID_COLOR;

}

</SCRIPT>

 

<BODY OnLoad="f_radio_button_type()">

<input type='hidden' id='edit_identify' value="<%= param_userid %>">

<BR><BR><BR>

<TABLE ALIGN=CENTER BORDER=0 CELLPADDING=1 CELLSPACING=0>

<TR><TD>&nbsp;&nbsp;</TD><TD>

<TABLE ALIGN=LEFT BORDER=1 CELLPADDING=1 CELLSPACING=0>

<TR HEIGHT=20>

<TD ID=TD0001 WIDTH=40>&nbsp;</TD>

<TD ID=TD0002 WIDTH=40>&nbsp;</TD>

<TD ID=TD0003 WIDTH=40>&nbsp;</TD>

<TD ID=TD0004 WIDTH=40>&nbsp;</TD>

<TD ID=TD0005 WIDTH=40>&nbsp;</TD>

<TD ID=TD0006 WIDTH=40>&nbsp;</TD>

<TD ID=TD0007 WIDTH=40>&nbsp;</TD>

<TD ID=TD0008 WIDTH=40>&nbsp;</TD>

<TD ID=TD0009 WIDTH=40>&nbsp;</TD>

<TD ID=TD0010 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD0101 WIDTH=40>&nbsp;</TD>

<TD ID=TD0102 WIDTH=40>&nbsp;</TD>

<TD ID=TD0103 WIDTH=40>&nbsp;</TD>

<TD ID=TD0104 WIDTH=40>&nbsp;</TD>

<TD ID=TD0105 WIDTH=40>&nbsp;</TD>

<TD ID=TD0106 WIDTH=40>&nbsp;</TD>

<TD ID=TD0107 WIDTH=40>&nbsp;</TD>

<TD ID=TD0108 WIDTH=40>&nbsp;</TD>

<TD ID=TD0109 WIDTH=40>&nbsp;</TD>

<TD ID=TD0110 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD0201 WIDTH=40>&nbsp;</TD>

<TD ID=TD0202 WIDTH=40>&nbsp;</TD>

<TD ID=TD0203 WIDTH=40>&nbsp;</TD>

<TD ID=TD0204 WIDTH=40>&nbsp;</TD>

<TD ID=TD0205 WIDTH=40>&nbsp;</TD>

<TD ID=TD0206 WIDTH=40>&nbsp;</TD>

<TD ID=TD0207 WIDTH=40>&nbsp;</TD>

<TD ID=TD0208 WIDTH=40>&nbsp;</TD>

<TD ID=TD0209 WIDTH=40>&nbsp;</TD>

<TD ID=TD0210 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD0301 WIDTH=40>&nbsp;</TD>

<TD ID=TD0302 WIDTH=40>&nbsp;</TD>

<TD ID=TD0303 WIDTH=40>&nbsp;</TD>

<TD ID=TD0304 WIDTH=40>&nbsp;</TD>

<TD ID=TD0305 WIDTH=40>&nbsp;</TD>

<TD ID=TD0306 WIDTH=40>&nbsp;</TD>

<TD ID=TD0307 WIDTH=40>&nbsp;</TD>

<TD ID=TD0308 WIDTH=40>&nbsp;</TD>

<TD ID=TD0309 WIDTH=40>&nbsp;</TD>

<TD ID=TD0310 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD0401 WIDTH=40>&nbsp;</TD>

<TD ID=TD0402 WIDTH=40>&nbsp;</TD>

<TD ID=TD0403 WIDTH=40>&nbsp;</TD>

<TD ID=TD0404 WIDTH=40>&nbsp;</TD>

<TD ID=TD0405 WIDTH=40>&nbsp;</TD>

<TD ID=TD0406 WIDTH=40>&nbsp;</TD>

<TD ID=TD0407 WIDTH=40>&nbsp;</TD>

<TD ID=TD0408 WIDTH=40>&nbsp;</TD>

<TD ID=TD0409 WIDTH=40>&nbsp;</TD>

<TD ID=TD0410 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD0501 WIDTH=40>&nbsp;</TD>

<TD ID=TD0502 WIDTH=40>&nbsp;</TD>

<TD ID=TD0503 WIDTH=40>&nbsp;</TD>

<TD ID=TD0504 WIDTH=40>&nbsp;</TD>

<TD ID=TD0505 WIDTH=40>&nbsp;</TD>

<TD ID=TD0506 WIDTH=40>&nbsp;</TD>

<TD ID=TD0507 WIDTH=40>&nbsp;</TD>

<TD ID=TD0508 WIDTH=40>&nbsp;</TD>

<TD ID=TD0509 WIDTH=40>&nbsp;</TD>

<TD ID=TD0510 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD0601 WIDTH=40>&nbsp;</TD>

<TD ID=TD0602 WIDTH=40>&nbsp;</TD>

<TD ID=TD0603 WIDTH=40>&nbsp;</TD>

<TD ID=TD0604 WIDTH=40>&nbsp;</TD>

<TD ID=TD0605 WIDTH=40>&nbsp;</TD>

<TD ID=TD0606 WIDTH=40>&nbsp;</TD>

<TD ID=TD0607 WIDTH=40>&nbsp;</TD>

<TD ID=TD0608 WIDTH=40>&nbsp;</TD>

<TD ID=TD0609 WIDTH=40>&nbsp;</TD>

<TD ID=TD0610 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD0701 WIDTH=40>&nbsp;</TD>

<TD ID=TD0702 WIDTH=40>&nbsp;</TD>

<TD ID=TD0703 WIDTH=40>&nbsp;</TD>

<TD ID=TD0704 WIDTH=40>&nbsp;</TD>

<TD ID=TD0705 WIDTH=40>&nbsp;</TD>

<TD ID=TD0706 WIDTH=40>&nbsp;</TD>

<TD ID=TD0707 WIDTH=40>&nbsp;</TD>

<TD ID=TD0708 WIDTH=40>&nbsp;</TD>

<TD ID=TD0709 WIDTH=40>&nbsp;</TD>

<TD ID=TD0710 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD0801 WIDTH=40>&nbsp;</TD>

<TD ID=TD0802 WIDTH=40>&nbsp;</TD>

<TD ID=TD0803 WIDTH=40>&nbsp;</TD>

<TD ID=TD0804 WIDTH=40>&nbsp;</TD>

<TD ID=TD0805 WIDTH=40>&nbsp;</TD>

<TD ID=TD0806 WIDTH=40>&nbsp;</TD>

<TD ID=TD0807 WIDTH=40>&nbsp;</TD>

<TD ID=TD0808 WIDTH=40>&nbsp;</TD>

<TD ID=TD0809 WIDTH=40>&nbsp;</TD>

<TD ID=TD0810 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD0901 WIDTH=40>&nbsp;</TD>

<TD ID=TD0902 WIDTH=40>&nbsp;</TD>

<TD ID=TD0903 WIDTH=40>&nbsp;</TD>

<TD ID=TD0904 WIDTH=40>&nbsp;</TD>

<TD ID=TD0905 WIDTH=40>&nbsp;</TD>

<TD ID=TD0906 WIDTH=40>&nbsp;</TD>

<TD ID=TD0907 WIDTH=40>&nbsp;</TD>

<TD ID=TD0908 WIDTH=40>&nbsp;</TD>

<TD ID=TD0909 WIDTH=40>&nbsp;</TD>

<TD ID=TD0910 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD1001 WIDTH=40>&nbsp;</TD>

<TD ID=TD1002 WIDTH=40>&nbsp;</TD>

<TD ID=TD1003 WIDTH=40>&nbsp;</TD>

<TD ID=TD1004 WIDTH=40>&nbsp;</TD>

<TD ID=TD1005 WIDTH=40>&nbsp;</TD>

<TD ID=TD1006 WIDTH=40>&nbsp;</TD>

<TD ID=TD1007 WIDTH=40>&nbsp;</TD>

<TD ID=TD1008 WIDTH=40>&nbsp;</TD>

<TD ID=TD1009 WIDTH=40>&nbsp;</TD>

<TD ID=TD1010 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD1101 WIDTH=40>&nbsp;</TD>

<TD ID=TD1102 WIDTH=40>&nbsp;</TD>

<TD ID=TD1103 WIDTH=40>&nbsp;</TD>

<TD ID=TD1104 WIDTH=40>&nbsp;</TD>

<TD ID=TD1105 WIDTH=40>&nbsp;</TD>

<TD ID=TD1106 WIDTH=40>&nbsp;</TD>

<TD ID=TD1107 WIDTH=40>&nbsp;</TD>

<TD ID=TD1108 WIDTH=40>&nbsp;</TD>

<TD ID=TD1109 WIDTH=40>&nbsp;</TD>

<TD ID=TD1110 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD1201 WIDTH=40>&nbsp;</TD>

<TD ID=TD1202 WIDTH=40>&nbsp;</TD>

<TD ID=TD1203 WIDTH=40>&nbsp;</TD>

<TD ID=TD1204 WIDTH=40>&nbsp;</TD>

<TD ID=TD1205 WIDTH=40>&nbsp;</TD>

<TD ID=TD1206 WIDTH=40>&nbsp;</TD>

<TD ID=TD1207 WIDTH=40>&nbsp;</TD>

<TD ID=TD1208 WIDTH=40>&nbsp;</TD>

<TD ID=TD1209 WIDTH=40>&nbsp;</TD>

<TD ID=TD1210 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD1301 WIDTH=40>&nbsp;</TD>

<TD ID=TD1302 WIDTH=40>&nbsp;</TD>

<TD ID=TD1303 WIDTH=40>&nbsp;</TD>

<TD ID=TD1304 WIDTH=40>&nbsp;</TD>

<TD ID=TD1305 WIDTH=40>&nbsp;</TD>

<TD ID=TD1306 WIDTH=40>&nbsp;</TD>

<TD ID=TD1307 WIDTH=40>&nbsp;</TD>

<TD ID=TD1308 WIDTH=40>&nbsp;</TD>

<TD ID=TD1309 WIDTH=40>&nbsp;</TD>

<TD ID=TD1310 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD1401 WIDTH=40>&nbsp;</TD>

<TD ID=TD1402 WIDTH=40>&nbsp;</TD>

<TD ID=TD1403 WIDTH=40>&nbsp;</TD>

<TD ID=TD1404 WIDTH=40>&nbsp;</TD>

<TD ID=TD1405 WIDTH=40>&nbsp;</TD>

<TD ID=TD1406 WIDTH=40>&nbsp;</TD>

<TD ID=TD1407 WIDTH=40>&nbsp;</TD>

<TD ID=TD1408 WIDTH=40>&nbsp;</TD>

<TD ID=TD1409 WIDTH=40>&nbsp;</TD>

<TD ID=TD1410 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD1501 WIDTH=40>&nbsp;</TD>

<TD ID=TD1502 WIDTH=40>&nbsp;</TD>

<TD ID=TD1503 WIDTH=40>&nbsp;</TD>

<TD ID=TD1504 WIDTH=40>&nbsp;</TD>

<TD ID=TD1505 WIDTH=40>&nbsp;</TD>

<TD ID=TD1506 WIDTH=40>&nbsp;</TD>

<TD ID=TD1507 WIDTH=40>&nbsp;</TD>

<TD ID=TD1508 WIDTH=40>&nbsp;</TD>

<TD ID=TD1509 WIDTH=40>&nbsp;</TD>

<TD ID=TD1510 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD1601 WIDTH=40>&nbsp;</TD>

<TD ID=TD1602 WIDTH=40>&nbsp;</TD>

<TD ID=TD1603 WIDTH=40>&nbsp;</TD>

<TD ID=TD1604 WIDTH=40>&nbsp;</TD>

<TD ID=TD1605 WIDTH=40>&nbsp;</TD>

<TD ID=TD1606 WIDTH=40>&nbsp;</TD>

<TD ID=TD1607 WIDTH=40>&nbsp;</TD>

<TD ID=TD1608 WIDTH=40>&nbsp;</TD>

<TD ID=TD1609 WIDTH=40>&nbsp;</TD>

<TD ID=TD1610 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD1701 WIDTH=40>&nbsp;</TD>

<TD ID=TD1702 WIDTH=40>&nbsp;</TD>

<TD ID=TD1703 WIDTH=40>&nbsp;</TD>

<TD ID=TD1704 WIDTH=40>&nbsp;</TD>

<TD ID=TD1705 WIDTH=40>&nbsp;</TD>

<TD ID=TD1706 WIDTH=40>&nbsp;</TD>

<TD ID=TD1707 WIDTH=40>&nbsp;</TD>

<TD ID=TD1708 WIDTH=40>&nbsp;</TD>

<TD ID=TD1709 WIDTH=40>&nbsp;</TD>

<TD ID=TD1710 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD1801 WIDTH=40>&nbsp;</TD>

<TD ID=TD1802 WIDTH=40>&nbsp;</TD>

<TD ID=TD1803 WIDTH=40>&nbsp;</TD>

<TD ID=TD1804 WIDTH=40>&nbsp;</TD>

<TD ID=TD1805 WIDTH=40>&nbsp;</TD>

<TD ID=TD1806 WIDTH=40>&nbsp;</TD>

<TD ID=TD1807 WIDTH=40>&nbsp;</TD>

<TD ID=TD1808 WIDTH=40>&nbsp;</TD>

<TD ID=TD1809 WIDTH=40>&nbsp;</TD>

<TD ID=TD1810 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD1901 WIDTH=40>&nbsp;</TD>

<TD ID=TD1902 WIDTH=40>&nbsp;</TD>

<TD ID=TD1903 WIDTH=40>&nbsp;</TD>

<TD ID=TD1904 WIDTH=40>&nbsp;</TD>

<TD ID=TD1905 WIDTH=40>&nbsp;</TD>

<TD ID=TD1906 WIDTH=40>&nbsp;</TD>

<TD ID=TD1907 WIDTH=40>&nbsp;</TD>

<TD ID=TD1908 WIDTH=40>&nbsp;</TD>

<TD ID=TD1909 WIDTH=40>&nbsp;</TD>

<TD ID=TD1910 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=TD2001 WIDTH=40>&nbsp;</TD>

<TD ID=TD2002 WIDTH=40>&nbsp;</TD>

<TD ID=TD2003 WIDTH=40>&nbsp;</TD>

<TD ID=TD2004 WIDTH=40>&nbsp;</TD>

<TD ID=TD2005 WIDTH=40>&nbsp;</TD>

<TD ID=TD2006 WIDTH=40>&nbsp;</TD>

<TD ID=TD2007 WIDTH=40>&nbsp;</TD>

<TD ID=TD2008 WIDTH=40>&nbsp;</TD>

<TD ID=TD2009 WIDTH=40>&nbsp;</TD>

<TD ID=TD2010 WIDTH=40>&nbsp;</TD>

</TR>

<TR><TD COLSPAN=10><SPAN ID="displayDataA"></SPAN></TD></TR>

</TABLE></TD><TD>&nbsp;&nbsp;</TD>

<TD><TABLE ALIGN=LEFT BORDER=1 CELLPADDING=1 CELLSPACING=0>

<TR HEIGHT=20>

<TD ID=HD0001 WIDTH=40>&nbsp;</TD>

<TD ID=HD0002 WIDTH=40>&nbsp;</TD>

<TD ID=HD0003 WIDTH=40>&nbsp;</TD>

<TD ID=HD0004 WIDTH=40>&nbsp;</TD>

<TD ID=HD0005 WIDTH=40>&nbsp;</TD>

<TD ID=HD0006 WIDTH=40>&nbsp;</TD>

<TD ID=HD0007 WIDTH=40>&nbsp;</TD>

<TD ID=HD0008 WIDTH=40>&nbsp;</TD>

<TD ID=HD0009 WIDTH=40>&nbsp;</TD>

<TD ID=HD0010 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD0101 WIDTH=40>&nbsp;</TD>

<TD ID=HD0102 WIDTH=40>&nbsp;</TD>

<TD ID=HD0103 WIDTH=40>&nbsp;</TD>

<TD ID=HD0104 WIDTH=40>&nbsp;</TD>

<TD ID=HD0105 WIDTH=40>&nbsp;</TD>

<TD ID=HD0106 WIDTH=40>&nbsp;</TD>

<TD ID=HD0107 WIDTH=40>&nbsp;</TD>

<TD ID=HD0108 WIDTH=40>&nbsp;</TD>

<TD ID=HD0109 WIDTH=40>&nbsp;</TD>

<TD ID=HD0110 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD0201 WIDTH=40>&nbsp;</TD>

<TD ID=HD0202 WIDTH=40>&nbsp;</TD>

<TD ID=HD0203 WIDTH=40>&nbsp;</TD>

<TD ID=HD0204 WIDTH=40>&nbsp;</TD>

<TD ID=HD0205 WIDTH=40>&nbsp;</TD>

<TD ID=HD0206 WIDTH=40>&nbsp;</TD>

<TD ID=HD0207 WIDTH=40>&nbsp;</TD>

<TD ID=HD0208 WIDTH=40>&nbsp;</TD>

<TD ID=HD0209 WIDTH=40>&nbsp;</TD>

<TD ID=HD0210 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD0301 WIDTH=40>&nbsp;</TD>

<TD ID=HD0302 WIDTH=40>&nbsp;</TD>

<TD ID=HD0303 WIDTH=40>&nbsp;</TD>

<TD ID=HD0304 WIDTH=40>&nbsp;</TD>

<TD ID=HD0305 WIDTH=40>&nbsp;</TD>

<TD ID=HD0306 WIDTH=40>&nbsp;</TD>

<TD ID=HD0307 WIDTH=40>&nbsp;</TD>

<TD ID=HD0308 WIDTH=40>&nbsp;</TD>

<TD ID=HD0309 WIDTH=40>&nbsp;</TD>

<TD ID=HD0310 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD0401 WIDTH=40>&nbsp;</TD>

<TD ID=HD0402 WIDTH=40>&nbsp;</TD>

<TD ID=HD0403 WIDTH=40>&nbsp;</TD>

<TD ID=HD0404 WIDTH=40>&nbsp;</TD>

<TD ID=HD0405 WIDTH=40>&nbsp;</TD>

<TD ID=HD0406 WIDTH=40>&nbsp;</TD>

<TD ID=HD0407 WIDTH=40>&nbsp;</TD>

<TD ID=HD0408 WIDTH=40>&nbsp;</TD>

<TD ID=HD0409 WIDTH=40>&nbsp;</TD>

<TD ID=HD0410 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD0501 WIDTH=40>&nbsp;</TD>

<TD ID=HD0502 WIDTH=40>&nbsp;</TD>

<TD ID=HD0503 WIDTH=40>&nbsp;</TD>

<TD ID=HD0504 WIDTH=40>&nbsp;</TD>

<TD ID=HD0505 WIDTH=40>&nbsp;</TD>

<TD ID=HD0506 WIDTH=40>&nbsp;</TD>

<TD ID=HD0507 WIDTH=40>&nbsp;</TD>

<TD ID=HD0508 WIDTH=40>&nbsp;</TD>

<TD ID=HD0509 WIDTH=40>&nbsp;</TD>

<TD ID=HD0510 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD0601 WIDTH=40>&nbsp;</TD>

<TD ID=HD0602 WIDTH=40>&nbsp;</TD>

<TD ID=HD0603 WIDTH=40>&nbsp;</TD>

<TD ID=HD0604 WIDTH=40>&nbsp;</TD>

<TD ID=HD0605 WIDTH=40>&nbsp;</TD>

<TD ID=HD0606 WIDTH=40>&nbsp;</TD>

<TD ID=HD0607 WIDTH=40>&nbsp;</TD>

<TD ID=HD0608 WIDTH=40>&nbsp;</TD>

<TD ID=HD0609 WIDTH=40>&nbsp;</TD>

<TD ID=HD0610 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD0701 WIDTH=40>&nbsp;</TD>

<TD ID=HD0702 WIDTH=40>&nbsp;</TD>

<TD ID=HD0703 WIDTH=40>&nbsp;</TD>

<TD ID=HD0704 WIDTH=40>&nbsp;</TD>

<TD ID=HD0705 WIDTH=40>&nbsp;</TD>

<TD ID=HD0706 WIDTH=40>&nbsp;</TD>

<TD ID=HD0707 WIDTH=40>&nbsp;</TD>

<TD ID=HD0708 WIDTH=40>&nbsp;</TD>

<TD ID=HD0709 WIDTH=40>&nbsp;</TD>

<TD ID=HD0710 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD0801 WIDTH=40>&nbsp;</TD>

<TD ID=HD0802 WIDTH=40>&nbsp;</TD>

<TD ID=HD0803 WIDTH=40>&nbsp;</TD>

<TD ID=HD0804 WIDTH=40>&nbsp;</TD>

<TD ID=HD0805 WIDTH=40>&nbsp;</TD>

<TD ID=HD0806 WIDTH=40>&nbsp;</TD>

<TD ID=HD0807 WIDTH=40>&nbsp;</TD>

<TD ID=HD0808 WIDTH=40>&nbsp;</TD>

<TD ID=HD0809 WIDTH=40>&nbsp;</TD>

<TD ID=HD0810 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD0901 WIDTH=40>&nbsp;</TD>

<TD ID=HD0902 WIDTH=40>&nbsp;</TD>

<TD ID=HD0903 WIDTH=40>&nbsp;</TD>

<TD ID=HD0904 WIDTH=40>&nbsp;</TD>

<TD ID=HD0905 WIDTH=40>&nbsp;</TD>

<TD ID=HD0906 WIDTH=40>&nbsp;</TD>

<TD ID=HD0907 WIDTH=40>&nbsp;</TD>

<TD ID=HD0908 WIDTH=40>&nbsp;</TD>

<TD ID=HD0909 WIDTH=40>&nbsp;</TD>

<TD ID=HD0910 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD1001 WIDTH=40>&nbsp;</TD>

<TD ID=HD1002 WIDTH=40>&nbsp;</TD>

<TD ID=HD1003 WIDTH=40>&nbsp;</TD>

<TD ID=HD1004 WIDTH=40>&nbsp;</TD>

<TD ID=HD1005 WIDTH=40>&nbsp;</TD>

<TD ID=HD1006 WIDTH=40>&nbsp;</TD>

<TD ID=HD1007 WIDTH=40>&nbsp;</TD>

<TD ID=HD1008 WIDTH=40>&nbsp;</TD>

<TD ID=HD1009 WIDTH=40>&nbsp;</TD>

<TD ID=HD1010 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD1101 WIDTH=40>&nbsp;</TD>

<TD ID=HD1102 WIDTH=40>&nbsp;</TD>

<TD ID=HD1103 WIDTH=40>&nbsp;</TD>

<TD ID=HD1104 WIDTH=40>&nbsp;</TD>

<TD ID=HD1105 WIDTH=40>&nbsp;</TD>

<TD ID=HD1106 WIDTH=40>&nbsp;</TD>

<TD ID=HD1107 WIDTH=40>&nbsp;</TD>

<TD ID=HD1108 WIDTH=40>&nbsp;</TD>

<TD ID=HD1109 WIDTH=40>&nbsp;</TD>

<TD ID=HD1110 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD1201 WIDTH=40>&nbsp;</TD>

<TD ID=HD1202 WIDTH=40>&nbsp;</TD>

<TD ID=HD1203 WIDTH=40>&nbsp;</TD>

<TD ID=HD1204 WIDTH=40>&nbsp;</TD>

<TD ID=HD1205 WIDTH=40>&nbsp;</TD>

<TD ID=HD1206 WIDTH=40>&nbsp;</TD>

<TD ID=HD1207 WIDTH=40>&nbsp;</TD>

<TD ID=HD1208 WIDTH=40>&nbsp;</TD>

<TD ID=HD1209 WIDTH=40>&nbsp;</TD>

<TD ID=HD1210 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD1301 WIDTH=40>&nbsp;</TD>

<TD ID=HD1302 WIDTH=40>&nbsp;</TD>

<TD ID=HD1303 WIDTH=40>&nbsp;</TD>

<TD ID=HD1304 WIDTH=40>&nbsp;</TD>

<TD ID=HD1305 WIDTH=40>&nbsp;</TD>

<TD ID=HD1306 WIDTH=40>&nbsp;</TD>

<TD ID=HD1307 WIDTH=40>&nbsp;</TD>

<TD ID=HD1308 WIDTH=40>&nbsp;</TD>

<TD ID=HD1309 WIDTH=40>&nbsp;</TD>

<TD ID=HD1310 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD1401 WIDTH=40>&nbsp;</TD>

<TD ID=HD1402 WIDTH=40>&nbsp;</TD>

<TD ID=HD1403 WIDTH=40>&nbsp;</TD>

<TD ID=HD1404 WIDTH=40>&nbsp;</TD>

<TD ID=HD1405 WIDTH=40>&nbsp;</TD>

<TD ID=HD1406 WIDTH=40>&nbsp;</TD>

<TD ID=HD1407 WIDTH=40>&nbsp;</TD>

<TD ID=HD1408 WIDTH=40>&nbsp;</TD>

<TD ID=HD1409 WIDTH=40>&nbsp;</TD>

<TD ID=HD1410 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD1501 WIDTH=40>&nbsp;</TD>

<TD ID=HD1502 WIDTH=40>&nbsp;</TD>

<TD ID=HD1503 WIDTH=40>&nbsp;</TD>

<TD ID=HD1504 WIDTH=40>&nbsp;</TD>

<TD ID=HD1505 WIDTH=40>&nbsp;</TD>

<TD ID=HD1506 WIDTH=40>&nbsp;</TD>

<TD ID=HD1507 WIDTH=40>&nbsp;</TD>

<TD ID=HD1508 WIDTH=40>&nbsp;</TD>

<TD ID=HD1509 WIDTH=40>&nbsp;</TD>

<TD ID=HD1510 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD1601 WIDTH=40>&nbsp;</TD>

<TD ID=HD1602 WIDTH=40>&nbsp;</TD>

<TD ID=HD1603 WIDTH=40>&nbsp;</TD>

<TD ID=HD1604 WIDTH=40>&nbsp;</TD>

<TD ID=HD1605 WIDTH=40>&nbsp;</TD>

<TD ID=HD1606 WIDTH=40>&nbsp;</TD>

<TD ID=HD1607 WIDTH=40>&nbsp;</TD>

<TD ID=HD1608 WIDTH=40>&nbsp;</TD>

<TD ID=HD1609 WIDTH=40>&nbsp;</TD>

<TD ID=HD1610 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD1701 WIDTH=40>&nbsp;</TD>

<TD ID=HD1702 WIDTH=40>&nbsp;</TD>

<TD ID=HD1703 WIDTH=40>&nbsp;</TD>

<TD ID=HD1704 WIDTH=40>&nbsp;</TD>

<TD ID=HD1705 WIDTH=40>&nbsp;</TD>

<TD ID=HD1706 WIDTH=40>&nbsp;</TD>

<TD ID=HD1707 WIDTH=40>&nbsp;</TD>

<TD ID=HD1708 WIDTH=40>&nbsp;</TD>

<TD ID=HD1709 WIDTH=40>&nbsp;</TD>

<TD ID=HD1710 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD1801 WIDTH=40>&nbsp;</TD>

<TD ID=HD1802 WIDTH=40>&nbsp;</TD>

<TD ID=HD1803 WIDTH=40>&nbsp;</TD>

<TD ID=HD1804 WIDTH=40>&nbsp;</TD>

<TD ID=HD1805 WIDTH=40>&nbsp;</TD>

<TD ID=HD1806 WIDTH=40>&nbsp;</TD>

<TD ID=HD1807 WIDTH=40>&nbsp;</TD>

<TD ID=HD1808 WIDTH=40>&nbsp;</TD>

<TD ID=HD1809 WIDTH=40>&nbsp;</TD>

<TD ID=HD1810 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD1901 WIDTH=40>&nbsp;</TD>

<TD ID=HD1902 WIDTH=40>&nbsp;</TD>

<TD ID=HD1903 WIDTH=40>&nbsp;</TD>

<TD ID=HD1904 WIDTH=40>&nbsp;</TD>

<TD ID=HD1905 WIDTH=40>&nbsp;</TD>

<TD ID=HD1906 WIDTH=40>&nbsp;</TD>

<TD ID=HD1907 WIDTH=40>&nbsp;</TD>

<TD ID=HD1908 WIDTH=40>&nbsp;</TD>

<TD ID=HD1909 WIDTH=40>&nbsp;</TD>

<TD ID=HD1910 WIDTH=40>&nbsp;</TD>

</TR>

<TR HEIGHT=20>

<TD ID=HD2001 WIDTH=40>&nbsp;</TD>

<TD ID=HD2002 WIDTH=40>&nbsp;</TD>

<TD ID=HD2003 WIDTH=40>&nbsp;</TD>

<TD ID=HD2004 WIDTH=40>&nbsp;</TD>

<TD ID=HD2005 WIDTH=40>&nbsp;</TD>

<TD ID=HD2006 WIDTH=40>&nbsp;</TD>

<TD ID=HD2007 WIDTH=40>&nbsp;</TD>

<TD ID=HD2008 WIDTH=40>&nbsp;</TD>

<TD ID=HD2009 WIDTH=40>&nbsp;</TD>

<TD ID=HD2010 WIDTH=40>&nbsp;</TD>

</TR>

<TR><TD COLSPAN=10><SPAN ID="displayDataB"></SPAN></TD></TR>

</TABLE></TD><TD>&nbsp;&nbsp;</TD>

</TR></TABLE>

</BODY>

</HTML>

 

 

1. 웹서버(아파치) + 와스(톰캣)을 이용한 네트워크 2인용 헥사

1. 웹서버(아파치) + 와스(톰캣)을 이용한 네트워크 2인용 헥사

1. 웹서버(아파치) + 와스(톰캣)을 이용한 네트워크 2인용 헥사

 

 

준비파일

2016-01-29  오전 07:52             3,376 build.xml

2016-01-29  오전 07:52               980 httpRequest.js

2016-01-29  오전 07:52             2,260 index.html

2016-12-02  오후 12:18    <DIR>          WEB-INF

2016-01-29  오전 08:03             2,735 WebControl.jsp

2016-01-29  오전 07:52           100,989 WebHexa.jsp

 

 

2. 실행모습



3. index.html

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 TRANSITIONAL//EN">

 

<HTML>

  <HEAD>

    <TITLE>NEW DOCUMENT( SELECT NETWORK USER )</TITLE>

  </HEAD>

<BODY>

<BR><BR><BR><BR>

<TABLE ALIGN=CENTER BORDER=0 CELLPADDING=1 CELLSPACING=0>

<TR><TD>....................??...........................??</TD></TR>

<TR><TD>.................?▒▒?.....................?▒▒?</TD></TR>

<TR><TD>..............?...??.?...................?.??▒?</TD></TR>

<TR><TD>...........?...???..?.................?..???▒?</TD></TR>

<TR><TD>.........?.....???...???????...???.▒?</TD></TR>

<TR><TD>.......?.....................................................▒▒?</TD></TR>

<TR><TD>.....?.........................................................▒▒?</TD></TR>

<TR><TD>...???????..............................???????</TD></TR>

<TR><TD>.?.............................................................▒▒▒?</TD></TR>

<TR><TD>?......??................................................??▒▒?<a href='./WebHexa.jsp?UserID=A'>*···─━*★ ºŁøνёº  NetWork User A</a></TD></TR>

<TR><TD>?......??................................................??▒▒?<a href='./WebHexa.jsp?UserID=B'>*···─━*★ ºŁøνёº  NetWork User B</a></TD></TR>

<TR><TD>?..................................................................▒▒?</TD></TR>

<TR><TD>?..........???....?.........?.........?....???...▒▒?</TD></TR>

<TR><TD>?.......?????....???...???....?????▒▒?</TD></TR>

<TR><TD>...?......???....................................???▒▒?</TD></TR>

<TR><TD>......???.......................................▒▒▒???</TD></TR>

<TR><TD>...............???????????????? </TD></TR>

<TR><TD>........................??????????</TD></TR>

<TR><TD>.....................??............▒▒????</TD></TR>

<TR><TD>..................?▒?...............▒▒????.................. </TD></TR>

<TR><TD>...............?▒??...............▒▒????? .......... </TD></TR>

<TR><TD>............?...?...?...............▒▒??...?▒? ......... </TD></TR>

<TR><TD>.........?...?......?...............▒▒▒?......?▒? ...... </TD></TR>

<TR><TD>......?...?.........?...............▒▒▒?.........?...?</TD></TR>

<TR><TD>.........?............?............▒▒▒▒?............? </TD></TR>

</TABLE>

</BODY>

</HTML>

 

/*
Firebase : Send notification with REST API(common.c)
*/


#include 
#include 
#include 
#include 

/*- ------------------------------------------------ -*
*- Current date Get function 
*- ------------------------------------------------ -*/
/*- ------------------------------------------------ -*
*- GetDate() : 현재 날짜를 YYYYMMDD형식으로하여 정수형으로 Return 
*- Return 값 : 변환된 날짜(YYYYMMDD) 
*- ------------------------------------------------ -*/
int GetDate()
{
    time_t tt;
    struct tm *ltime;
    char    ctime[8];

    time(&tt);
    ltime = localtime(&tt);
    sprintf(ctime, "%04d%02d%02d", ltime->tm_year+1900, ltime->tm_mon+1, ltime->tm_mday);
    return(atoi(ctime));
}
/*- ------------------------------------------------ -*
*- GetTime() : 현재 시간 값을 구하는 함수  
*- Return 값 : 현재 시간 (HHMMSS) 
*- ------------------------------------------------ -*/
int GetTime()
{
    time_t tt;
    struct tm *ltime;
    char    ctime[2];

    time(&tt);
    ltime = localtime(&tt);
    sprintf(ctime, "%02d%02d%02d", ltime->tm_hour, ltime->tm_min, ltime->tm_sec);
    return(atoi(ctime));
}

/*
Firebase : Send notification with REST API(sample.c)
*/
/**
BUILD & MAKE(WINDOW & LINUX COMMON)
-------------------------------------------------------------------
CC = gcc

CFLAGS += -I -g -Wall -Wno-unused-variable
LIBS += -L. -lcurl -ljson-c

.c.o:
$(CC) -c $< $(CFLAGS)

all: build

common.o : common.c
sample.o : sample.c

sample: sample.o common.o
$(CC) -o $@ $^ $(LIBS)
BUILD_FILES += sample

build: $(BUILD_FILES)

clean:
rm -f *.o
rm -f $(BUILD_FILES)
-------------------------------------------------------------------
*/
#include 
#include 

#include <curl/curl.h>
#include 
#include 
#include 
#include <sys/time.h>
#include "json.h"

#define MAX_MSG_CNT 14
#define authorization_str "AUTHORIZATION:"
#define token_str "TOKEN:"

/* holder for curl fetch */
struct curl_fetch_st {
    char *payload;
    size_t size;
};

static json_object *google_pushcall(char *authorization, char *title, char *body, char *token);
static size_t curl_callback (void *contents, size_t size, size_t nmemb, void *userp);
static CURLcode curl_fetch_url(CURL *ch, const char *url, struct curl_fetch_st *fetch);
static int jsonparsing_result(const char *buf);
static int get_config_values(char *authorization, char *token);

int GetDate();
int GetTime();

int get_config_values(char *authorization, char *token)
{
    FILE *fp=NULL;
    char rbuf[1024];

    if((fp=fopen("config.txt", "rt"))==NULL) return(-1);

    while(1)
    {
        memset(rbuf,0x00,sizeof(rbuf));
        if(fgets(rbuf, sizeof(rbuf), fp)==NULL) break;

        rbuf[strlen(rbuf)-1]=0x00;

        if(rbuf[0] == '#') continue;

        if(strstr(rbuf, authorization_str) != NULL)
        {
            strcpy(authorization, strstr(rbuf, authorization_str) + strlen(authorization_str));
        }
        if(strstr(rbuf, token_str) != NULL)
        {
            strcpy(token, strstr(rbuf, token_str) + strlen(token_str));
        }
    }
    if(fp != NULL) fclose(fp);
    return(0);
}

int main(int argc, char *argv[])
{
    json_object *json = NULL;
    int rc;

    char authorization[1024];
    char token[300];

    char *title = "FCM Message";
    char body[4096];
    char extendedmsg[MAX_MSG_CNT][300] = 
    {
    "Miracles happen to only those who believe in them.",
    "Think like a man of action and act like man of thought.",
    "Courage is very important. Like a muscle, it is strengthened by use.",
    "Life is the art of drawing sufficient conclusions from insufficient premises.",
    "By doubting we come at the truth.",
    "A man that has no virtue in himself, ever envies virtue in others.",
    "When money speaks, the truth keeps silent.",
    "Better the last smile than the first laughter.",
    "Painless poverty is better than embittered wealth.",
    "A poet is the painter of the soul.",
    "Error is the discipline through which we advance.",
    "Faith without deeds is useless.",
    "Weak things united become strong.",
    "We give advice, but we cannot give conduct.",
    };

    memset(authorization,0x00,sizeof(authorization));
    memset(token,0x00,sizeof(token));

    rc=get_config_values(authorization, token);
    if(rc)
    {
        //ERROR
    }
    else
    {
        fprintf(stderr, "authorization:(%s)\n", authorization);
        fprintf(stderr, "token:        (%s)\n", token);
    }

    memset(body,0x00,sizeof(body));
    sprintf(body, "Body>>(%d-%d)(%d)(%s)", GetDate(), GetTime(), GetTime() % MAX_MSG_CNT, extendedmsg[GetTime() % MAX_MSG_CNT]);

    json = google_pushcall(authorization, title, body, token);
    if(json == NULL) {
        return(-1);
    }

    /* debugging */
    fprintf(stderr, "RECV>>Parsed JSON: %s\n", json_object_to_json_string(json));

    rc = jsonparsing_result(json_object_to_json_string(json));
    if(rc)
    {
        //ERROR
    }
    else
    {
        //INSERT PUSH_SIT_EVENT_HIST
    }

    if(json != NULL) json_object_put(json);

    return(0);
}

/* callback for curl fetch */
size_t curl_callback (void *contents, size_t size, size_t nmemb, void *userp) 
{
    size_t realsize = size * nmemb;                             /* calculate buffer size */
    struct curl_fetch_st *p = (struct curl_fetch_st *) userp;   /* cast pointer to fetch struct */

    /* expand buffer */
    p->payload = (char *) realloc(p->payload, p->size + realsize + 1);

    /* check buffer */
    if (p->payload == NULL) {
        /* this isn't good */
        fprintf(stderr, "ERROR: Failed to expand buffer in curl_callback\n");
        /* free buffer */
        free(p->payload);
        /* return */
        return -1;
    }

    /* copy contents to buffer */
    memcpy(&(p->payload[p->size]), contents, realsize);

    /* set new buffer size */
    p->size += realsize;

    /* ensure null termination */
    p->payload[p->size] = 0;

    /* return size */
    return realsize;
}

/* fetch and return url body via curl */
CURLcode curl_fetch_url(CURL *ch, const char *url, struct curl_fetch_st *fetch) 
{
    CURLcode rcode;                   /* curl result code */

    /* init payload */
    fetch->payload = (char *) calloc(1, sizeof(fetch->payload));

    /* check payload */
    if (fetch->payload == NULL) {
        /* log error */
        fprintf(stderr, "ERROR: Failed to allocate payload in curl_fetch_url\n");
        /* return error */
        return CURLE_FAILED_INIT;
    }

    /* init size */
    fetch->size = 0;

    /* set url to fetch */
    curl_easy_setopt(ch, CURLOPT_URL, url);
    /* set calback function */
    curl_easy_setopt(ch, CURLOPT_WRITEFUNCTION, curl_callback);
    /* pass fetch struct pointer */
    curl_easy_setopt(ch, CURLOPT_WRITEDATA, (void *) fetch);
    /* set default user agent */
    curl_easy_setopt(ch, CURLOPT_USERAGENT, "curl/7.65.1");
    /* set timeout */
    curl_easy_setopt(ch, CURLOPT_TIMEOUT, 30);
    /* enable location redirects */
    curl_easy_setopt(ch, CURLOPT_FOLLOWLOCATION, 1);
    /* set maximum allowed redirects */
    curl_easy_setopt(ch, CURLOPT_MAXREDIRS, 1);
    /* fetch the url */
    rcode = curl_easy_perform(ch);

    /* return */
    return rcode;
}

json_object *google_pushcall(char *authorization, char *title, char *body, char *token)
{
    CURL *ch;                                               /* curl handle */
    CURLcode rcode;                                         /* curl result code */

    json_object *json=NULL;                                 /* json post body */
    json_object *jsonobj=NULL;                              /* json post body */

    enum json_tokener_error jerr = json_tokener_success;    /* json parse error */

    struct curl_fetch_st curl_fetch;                        /* curl fetch struct */
    struct curl_fetch_st *cf = &curl_fetch;                 /* pointer to fetch struct */
    struct curl_slist *headers = NULL;                      /* http headers to send with request */

    char post_data  [4096] = {0x00,};

    char header_definition[2048];

    char *url = "https://fcm.googleapis.com/fcm/send";

    /* init curl handle */
    if ((ch = curl_easy_init()) == NULL) {
        /* log error */
        fprintf(stderr, "ERROR: Failed to create curl handle in fetch_session\n");
        /* return error */
        return NULL;
    }

    /* set content type */
    memset(header_definition,0x00,sizeof(header_definition));
    sprintf(header_definition, "Authorization: key=%s", authorization);
    headers = curl_slist_append(headers, header_definition);
    headers = curl_slist_append(headers, "Content-Type: application/json");

    /* create json object for post */
    json      = json_object_new_object();
    jsonobj   = json_object_new_object();

    json_object_object_add(json  ,  "to"          , json_object_new_string(token));
    json_object_object_add(jsonobj, "title"       , json_object_new_string(title));
    json_object_object_add(jsonobj, "body"        , json_object_new_string(body));
    json_object_object_add(json  ,  "notification", jsonobj);

    memset(post_data, 0x00, sizeof(post_data));
    sprintf(post_data, "%s", json_object_to_json_string(json));

    /* set curl options */
    curl_easy_setopt(ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_easy_setopt(ch, CURLOPT_HTTPHEADER, headers);
    curl_easy_setopt(ch, CURLOPT_POSTFIELDS, post_data);
    curl_easy_setopt(ch, CURLOPT_VERBOSE, 1L);
    curl_easy_setopt(ch, CURLOPT_POST, 1L);
    /* disconnect if we can't validate server's cert */ 
    curl_easy_setopt(ch, CURLOPT_SSL_VERIFYPEER, 0L);
    curl_easy_setopt(ch, CURLOPT_SSL_VERIFYHOST, 0L);

    /* fetch page and capture return code */
    rcode = curl_fetch_url(ch, url, cf);

    //FREE
    curl_easy_cleanup(ch);
    curl_slist_free_all(headers);

    if(json != NULL) json_object_put(json);
    if(jsonobj != NULL) json_object_put(jsonobj);

    /* check return code */
    if (rcode != CURLE_OK || cf->size < 1) {
        /* log error */
        fprintf(stderr, "ERROR: Failed to fetch url (%s) - curl said: %s\n",
            url, curl_easy_strerror(rcode));
        /* return error */
        return NULL;
    }

    /* check payload */
    if (cf->payload != NULL) 
    {

        /* parse return */
        json = json_tokener_parse_verbose(cf->payload, &jerr);
        /* free payload */
        free(cf->payload);
    }
    else 
    {
        /* error */
        fprintf(stderr, "ERROR: Failed to populate payload\n");
        /* free payload */
        free(cf->payload);
        /* return */
        return NULL;
    }

        /* check error */
    if (jerr != json_tokener_success) 
    {
        /* error */
        fprintf(stderr, "ERROR: Failed to parse json string\n");
        /* free json object */
        if(json != NULL) json_object_put(json);
        /* return */
        return NULL;
    }
    return json;
}

int jsonparsing_result(const char *buf)
{
    int ii, rc;
    char keystr[100],successtmp[100];
    struct json_object *jsonjob   = NULL;
    struct json_object *jsonvalue = NULL;

    jsonjob = json_tokener_parse(buf);
    if(NULL == jsonjob) {
        return -1;
    }
    printf("\n\n\n\n");

    memset(keystr, 0x00, sizeof(keystr));
    strcpy(keystr, "success");
    json_object_object_get_ex(jsonjob, keystr, &jsonvalue);
    memset(successtmp, 0x00, sizeof(successtmp));
    strcpy(successtmp, json_object_get_string(jsonvalue));

    if(atoi(successtmp) == 1 || atoi(successtmp) == 0)
    {
        if(atoi(successtmp) == 0) printf("[FAIL]BASIC DATA-----------------------------------\n");
        if(atoi(successtmp) == 1) printf("[SUCC]BASIC DATA-----------------------------------\n");

        memset(keystr, 0x00, sizeof(keystr));
        strcpy(keystr, "multicast_id");
        json_object_object_get_ex(jsonjob, keystr, &jsonvalue);
        printf("[%s][%s]\n", keystr, json_object_get_string(jsonvalue));

        memset(keystr, 0x00, sizeof(keystr));
        strcpy(keystr, "success");
        json_object_object_get_ex(jsonjob, keystr, &jsonvalue);
        printf("[%s][%s]\n", keystr, json_object_get_string(jsonvalue));

        memset(keystr, 0x00, sizeof(keystr));
        strcpy(keystr, "failure");
        json_object_object_get_ex(jsonjob, keystr, &jsonvalue);
        printf("[%s][%s]\n", keystr, json_object_get_string(jsonvalue));

        memset(keystr, 0x00, sizeof(keystr));
        strcpy(keystr, "canonical_ids");
        json_object_object_get_ex(jsonjob, keystr, &jsonvalue);
        printf("[%s][%s]\n", keystr, json_object_get_string(jsonvalue));

        struct json_object *pdata = NULL;
        if(json_object_object_get_ex(jsonjob, "results", &pdata)) 
        {
            for (ii = 0; ii < json_object_array_length(pdata); ii++) 
            {
                if(ii==0)
                {
                    printf("ARRAY DATA[%.4d]-----------------------------------\n", json_object_array_length(pdata));
                }

                struct json_object *successtmp = json_object_array_get_idx(pdata, ii);

                memset(keystr, 0x00, sizeof(keystr));
                strcpy(keystr, "message_id");
                rc = json_object_object_get_ex(successtmp, keystr, &jsonvalue);
                if(rc)
                {
                    printf("rc:[%d]", rc);
                    printf(",index[%.3d],key[%s]:[%s]\n", ii + 1, keystr, json_object_get_string(jsonvalue));
                }

                memset(keystr, 0x00, sizeof(keystr));
                strcpy(keystr, "error");
                rc = json_object_object_get_ex(successtmp, keystr, &jsonvalue);
                if(rc)
                {
                    printf("rc:[%d]", rc);
                    printf(",index[%.3d],key[%s]:[%s]\n", ii + 1, keystr, json_object_get_string(jsonvalue));
                }
            }
        }
    }
    else
    {
        return(-2);
    }

    return(0);
}

/**
BUILD & MAKE(WINDOW & LINUX COMMON)
-------------------------------------------------------------------
CC = gcc

CFLAGS += -I -g -Wall -Wno-unused-variable
LIBS += -L. -lcurl -ljson-c

.c.o:
$(CC) -c $< $(CFLAGS)

all: build

common.o : common.c
pushcall.o : pushcall.c

pushcall: pushcall.o common.o
$(CC) -o $@ $^ $(LIBS)
BUILD_FILES += pushcall

build: $(BUILD_FILES)

clean:
rm -f *.o
rm -f $(BUILD_FILES)
-------------------------------------------------------------------
*/
#include 
#include 

#include <curl/curl.h>
#include 
#include 
#include 
#include <sys/time.h>
#include "json.h"

#define MAX_MSG_CNT 14
#define authorization_str "AUTHORIZATION:"
#define token_str "TOKEN:"

/* holder for curl fetch */
struct curl_fetch_st {
    char *payload;
    size_t size;
};

static json_object *google_pushcall(char *authorization, char *title, char *body, char *token);
static size_t curl_callback (void *contents, size_t size, size_t nmemb, void *userp);
static CURLcode curl_fetch_url(CURL *ch, const char *url, struct curl_fetch_st *fetch);
static int jsonparsing_result(const char *buf);
static int get_config_values(char *authorization, char *token);

int GetDate();
int GetTime();

int get_config_values(char *authorization, char *token)
{
FILE *fp=NULL;
char rbuf[1024];

if((fp=fopen("config.txt", "rt"))==NULL) return(-1);

while(1)
{
memset(rbuf,0x00,sizeof(rbuf));
if(fgets(rbuf, sizeof(rbuf), fp)==NULL) break;

rbuf[strlen(rbuf)-1]=0x00;

if(rbuf[0] == '#') continue;

if(strstr(rbuf, authorization_str) != NULL)
{
strcpy(authorization, strstr(rbuf, authorization_str) + strlen(authorization_str));
}
if(strstr(rbuf, token_str) != NULL)
{
strcpy(token, strstr(rbuf, token_str) + strlen(token_str));
}
}
if(fp != NULL) fclose(fp);
return(0);
}

int main(int argc, char *argv[])
{
json_object *json = NULL;
int rc;

char authorization[1024];
char token[300];

char *title = "FCM Message";
char body[4096];
char extendedmsg[MAX_MSG_CNT][300] = 
{
"Miracles happen to only those who believe in them.",
"Think like a man of action and act like man of thought.",
"Courage is very important. Like a muscle, it is strengthened by use.",
"Life is the art of drawing sufficient conclusions from insufficient premises.",
"By doubting we come at the truth.",
"A man that has no virtue in himself, ever envies virtue in others.",
"When money speaks, the truth keeps silent.",
"Better the last smile than the first laughter.",
"Painless poverty is better than embittered wealth.",
"A poet is the painter of the soul.",
"Error is the discipline through which we advance.",
"Faith without deeds is useless.",
"Weak things united become strong.",
"We give advice, but we cannot give conduct.",
};

    memset(authorization,0x00,sizeof(authorization));
memset(token,0x00,sizeof(token));

rc=get_config_values(authorization, token);
if(rc)
{
//ERROR
}
else
{
fprintf(stderr, "authorization:(%s)\n", authorization);
fprintf(stderr, "token:        (%s)\n", token);
}

    memset(body,0x00,sizeof(body));
sprintf(body, "Body>>(%d-%d)(%d)(%s)", GetDate(), GetTime(), GetTime() % MAX_MSG_CNT, extendedmsg[GetTime() % MAX_MSG_CNT]);

json = google_pushcall(authorization, title, body, token);
if(json == NULL) {
return(-1);
}

/* debugging */
    fprintf(stderr, "RECV>>Parsed JSON: %s\n", json_object_to_json_string(json));

rc = jsonparsing_result(json_object_to_json_string(json));
if(rc)
{
//error
}
else
{
//INSERT PUSH_SIT_EVENT_HIST
}

if(json != NULL) json_object_put(json);

return(0);
}

/* callback for curl fetch */
size_t curl_callback (void *contents, size_t size, size_t nmemb, void *userp) {
    size_t realsize = size * nmemb;                             /* calculate buffer size */
    struct curl_fetch_st *p = (struct curl_fetch_st *) userp;   /* cast pointer to fetch struct */

    /* expand buffer */
    p->payload = (char *) realloc(p->payload, p->size + realsize + 1);

    /* check buffer */
    if (p->payload == NULL) {
      /* this isn't good */
      fprintf(stderr, "ERROR: Failed to expand buffer in curl_callback\n");
      /* free buffer */
      free(p->payload);
      /* return */
      return -1;
    }

    /* copy contents to buffer */
    memcpy(&(p->payload[p->size]), contents, realsize);

    /* set new buffer size */
    p->size += realsize;

    /* ensure null termination */
    p->payload[p->size] = 0;

    /* return size */
    return realsize;
}

/* fetch and return url body via curl */
CURLcode curl_fetch_url(CURL *ch, const char *url, struct curl_fetch_st *fetch) {
    CURLcode rcode;                   /* curl result code */

    /* init payload */
    fetch->payload = (char *) calloc(1, sizeof(fetch->payload));

    /* check payload */
    if (fetch->payload == NULL) {
        /* log error */
        fprintf(stderr, "ERROR: Failed to allocate payload in curl_fetch_url\n");
        /* return error */
        return CURLE_FAILED_INIT;
    }

    /* init size */
    fetch->size = 0;

    /* set url to fetch */
    curl_easy_setopt(ch, CURLOPT_URL, url);
    /* set calback function */
    curl_easy_setopt(ch, CURLOPT_WRITEFUNCTION, curl_callback);
    /* pass fetch struct pointer */
    curl_easy_setopt(ch, CURLOPT_WRITEDATA, (void *) fetch);
    /* set default user agent */
    //curl_easy_setopt(ch, CURLOPT_USERAGENT, "libcurl-agent/1.0");
curl_easy_setopt(ch, CURLOPT_USERAGENT, "curl/7.65.1");
    /* set timeout */
    curl_easy_setopt(ch, CURLOPT_TIMEOUT, 30);
    /* enable location redirects */
    curl_easy_setopt(ch, CURLOPT_FOLLOWLOCATION, 1);
    /* set maximum allowed redirects */
    curl_easy_setopt(ch, CURLOPT_MAXREDIRS, 1);
    /* fetch the url */
    rcode = curl_easy_perform(ch);

    /* return */
    return rcode;
}

json_object *google_pushcall(char *authorization, char *title, char *body, char *token)
{
    CURL *ch;                                               /* curl handle */
    CURLcode rcode;                                         /* curl result code */

    json_object *json=NULL;                                 /* json post body */
json_object *jsonobj=NULL;                              /* json post body */

    enum json_tokener_error jerr = json_tokener_success;    /* json parse error */

    struct curl_fetch_st curl_fetch;                        /* curl fetch struct */
    struct curl_fetch_st *cf = &curl_fetch;                 /* pointer to fetch struct */
    struct curl_slist *headers = NULL;                      /* http headers to send with request */

char post_data  [4096] = {0x00,};

char header_definition[2048];

char *url = "https://fcm.googleapis.com/fcm/send";

    /* init curl handle */
    if ((ch = curl_easy_init()) == NULL) {
        /* log error */
        fprintf(stderr, "ERROR: Failed to create curl handle in fetch_session\n");
        /* return error */
        return NULL;
    }

    /* set content type */
memset(header_definition,0x00,sizeof(header_definition));
sprintf(header_definition, "Authorization: key=%s", authorization);
    headers = curl_slist_append(headers, header_definition);
    headers = curl_slist_append(headers, "Content-Type: application/json");

    /* create json object for post */
    json      = json_object_new_object();
jsonobj   = json_object_new_object();

    /* build post data */
    /*-----------------------------------------------------------------------------------
json_object_object_add(jsoninobj, "title"       , json_object_new_string(title));
    json_object_object_add(jsoninobj, "body"        , json_object_new_string(body));
    json_object_object_add(jsonobj  , "notification", jsoninobj);
json_object_object_add(jsonobj  , "token"       , json_object_new_string(token));
json_object_object_add(json     , "message"     , jsonobj);
-----------------------------------------------------------------------------------*/
json_object_object_add(json  ,  "to"          , json_object_new_string(token));
json_object_object_add(jsonobj, "title"       , json_object_new_string(title));
    json_object_object_add(jsonobj, "body"        , json_object_new_string(body));
    json_object_object_add(json  ,  "notification", jsonobj);

memset(post_data, 0x00, sizeof(post_data));
sprintf(post_data, "%s", json_object_to_json_string(json));

#if(1)
/* debugging */
    fprintf(stderr, "SEND>>Parsed JSON: [%s]\n", post_data);
#endif

    /* set curl options */
    curl_easy_setopt(ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_easy_setopt(ch, CURLOPT_HTTPHEADER, headers);
    curl_easy_setopt(ch, CURLOPT_POSTFIELDS, post_data);
curl_easy_setopt(ch, CURLOPT_VERBOSE, 1L);
curl_easy_setopt(ch, CURLOPT_POST, 1L);
/* disconnect if we can't validate server's cert */ 
    curl_easy_setopt(ch, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(ch, CURLOPT_SSL_VERIFYHOST, 0L);

    /* fetch page and capture return code */
    rcode = curl_fetch_url(ch, url, cf);

    //FREE
    curl_easy_cleanup(ch);
    curl_slist_free_all(headers);

    if(json != NULL) json_object_put(json);
if(jsonobj != NULL) json_object_put(jsonobj);

    /* check return code */
    if (rcode != CURLE_OK || cf->size < 1) {
        /* log error */
        fprintf(stderr, "ERROR: Failed to fetch url (%s) - curl said: %s\n",
            url, curl_easy_strerror(rcode));
        /* return error */
        return NULL;
    }

    /* check payload */
    if (cf->payload != NULL) {

#if(0)
        /* print result */
        fprintf(stderr, "CURL Returned: [%s]\n", cf->payload);
#endif

        /* parse return */
        json = json_tokener_parse_verbose(cf->payload, &jerr);
        /* free payload */
        free(cf->payload);
    } else {
        /* error */
        fprintf(stderr, "ERROR: Failed to populate payload\n");
        /* free payload */
        free(cf->payload);
        /* return */
        return NULL;
    }

    /* check error */
    if (jerr != json_tokener_success) {
        /* error */
        fprintf(stderr, "ERROR: Failed to parse json string\n");
        /* free json object */
        if(json != NULL) json_object_put(json);
        /* return */
        return NULL;
    }
return json;
}

int jsonparsing_result(const char *buf)
{
int ii, rc;
char keystr[100],successtmp[100];
struct json_object *jsonjob   = NULL;
struct json_object *jsonvalue = NULL;

jsonjob = json_tokener_parse(buf);
if(NULL == jsonjob) {
return -1;
}
printf("\n\n\n\n");

    memset(keystr, 0x00, sizeof(keystr));
strcpy(keystr, "success");
json_object_object_get_ex(jsonjob, keystr, &jsonvalue);
memset(successtmp, 0x00, sizeof(successtmp));
strcpy(successtmp, json_object_get_string(jsonvalue));

if(atoi(successtmp) == 1 || atoi(successtmp) == 0)
{
if(atoi(successtmp) == 0) printf("[FAIL]BASIC DATA-----------------------------------\n");
if(atoi(successtmp) == 1) printf("[SUCC]BASIC DATA-----------------------------------\n");

memset(keystr, 0x00, sizeof(keystr));
strcpy(keystr, "multicast_id");
json_object_object_get_ex(jsonjob, keystr, &jsonvalue);
printf("[%s][%s]\n", keystr, json_object_get_string(jsonvalue));

memset(keystr, 0x00, sizeof(keystr));
strcpy(keystr, "success");
json_object_object_get_ex(jsonjob, keystr, &jsonvalue);
printf("[%s][%s]\n", keystr, json_object_get_string(jsonvalue));

memset(keystr, 0x00, sizeof(keystr));
strcpy(keystr, "failure");
json_object_object_get_ex(jsonjob, keystr, &jsonvalue);
printf("[%s][%s]\n", keystr, json_object_get_string(jsonvalue));

memset(keystr, 0x00, sizeof(keystr));
strcpy(keystr, "canonical_ids");
json_object_object_get_ex(jsonjob, keystr, &jsonvalue);
printf("[%s][%s]\n", keystr, json_object_get_string(jsonvalue));

struct json_object *pdata = NULL;
if(json_object_object_get_ex(jsonjob, "results", &pdata)) 
{
for (ii = 0; ii < json_object_array_length(pdata); ii++) 
{
if(ii==0)
{
printf("ARRAY DATA[%.4d]-----------------------------------\n", json_object_array_length(pdata));
}

struct json_object *successtmp = json_object_array_get_idx(pdata, ii);

memset(keystr, 0x00, sizeof(keystr));
strcpy(keystr, "message_id");
rc = json_object_object_get_ex(successtmp, keystr, &jsonvalue);
if(rc)
{
printf("rc:[%d]", rc);
printf(",index[%.3d],key[%s]:[%s]\n", ii + 1, keystr, json_object_get_string(jsonvalue));
}

memset(keystr, 0x00, sizeof(keystr));
strcpy(keystr, "error");
rc = json_object_object_get_ex(successtmp, keystr, &jsonvalue);
if(rc)
{
printf("rc:[%d]", rc);
printf(",index[%.3d],key[%s]:[%s]\n", ii + 1, keystr, json_object_get_string(jsonvalue));
}
}
}
}
else
{
return(-2);
}

return(0);
}

/*NEEDED FILES------------------------------------------------------------------------
bash-3.1$ ls -lrt *.c
-rw-r--r-- 1 kiwoom Administrators  7660 Jul 12 10:31 common.c
-rw-r--r-- 1 kiwoom Administrators 12584 Jul 25 10:19 pushcall.c
bash-3.1$ ls -lrt *.h
-rw-r--r-- 1 kiwoom Administrators  1064 Jul  8 08:51 vasprintf_compat.h
-rw-r--r-- 1 kiwoom Administrators   276 Jul  8 08:51 strerror_override_private.h
-rw-r--r-- 1 kiwoom Administrators   510 Jul  8 08:51 strerror_override.h
-rw-r--r-- 1 kiwoom Administrators   367 Jul  8 08:51 strdup_compat.h
-rw-r--r-- 1 kiwoom Administrators   943 Jul  8 08:51 snprintf_compat.h
-rw-r--r-- 1 kiwoom Administrators   506 Jul  8 08:51 random_seed.h
-rw-r--r-- 1 kiwoom Administrators  3858 Jul  8 08:51 printbuf.h
-rw-r--r-- 1 kiwoom Administrators   644 Jul  8 08:51 math_compat.h
-rw-r--r-- 1 kiwoom Administrators 10219 Jul  8 08:51 linkhash.h
-rw-r--r-- 1 kiwoom Administrators  3181 Jul  8 08:51 json_visit.h
-rw-r--r-- 1 kiwoom Administrators  2985 Jul  8 08:51 json_util.h
-rw-r--r-- 1 kiwoom Administrators  7150 Jul  8 08:51 json_tokener.h
-rw-r--r-- 1 kiwoom Administrators  4832 Jul  8 08:51 json_pointer.h
-rw-r--r-- 1 kiwoom Administrators  1499 Jul  8 08:51 json_object_private.h
-rw-r--r-- 1 kiwoom Administrators  8274 Jul  8 08:51 json_object_iterator.h
-rw-r--r-- 1 kiwoom Administrators 38349 Jul  8 08:51 json_object.h
-rw-r--r-- 1 kiwoom Administrators   350 Jul  8 08:51 json_inttypes.h
-rw-r--r-- 1 kiwoom Administrators   143 Jul  8 08:51 json_config.h
-rw-r--r-- 1 kiwoom Administrators  1185 Jul  8 08:51 json_c_version.h
-rw-r--r-- 1 kiwoom Administrators   810 Jul  8 08:51 json.h
-rw-r--r-- 1 kiwoom Administrators  1724 Jul  8 08:51 debug.h
-rw-r--r-- 1 kiwoom Administrators  5761 Jul  8 08:51 config.h
-rw-r--r-- 1 kiwoom Administrators  1554 Jul  8 08:51 arraylist.h
bash-3.1$ ls -lrt *.a
-rw-r--r-- 1 kiwoom Administrators 81888 Jul  8 08:51 libjson-c.a
-rw-r--r-- 1 kiwoom Administrators 51808 Jul  8 08:51 libcurl.dll.a
bash-3.1$ ls -lrt *.dll
-rwxr-xr-x 1 kiwoom Administrators  528896 Jul  8 08:51 libssl-1_1.dll
-rwxr-xr-x 1 kiwoom Administrators  985720 Jul  8 08:51 libcurl.dll
-rwxr-xr-x 1 kiwoom Administrators 2499072 Jul  8 08:51 libcrypto-1_1.dll
-rwxr-xr-x 1 kiwoom Administrators  505344 Jul  8 08:51 brotlienc.dll
-rwxr-xr-x 1 kiwoom Administrators   44032 Jul  8 08:51 brotlidec.dll
-rwxr-xr-x 1 kiwoom Administrators  132096 Jul  8 08:51 brotlicommon.dll
bash-3.1$
-----------------------------------------------------------------------------------*/

/**
 * example C code using libcurl and json-c
 * to post and return a payload using
 * http://jsonplaceholder.typicode.com
 *
 * Requirements:
 *
 * json-c - https://github.com/json-c/json-c
 * libcurl - http://curl.haxx.se/libcurl/c
 *
 * Build:
 *
 * gcc test.c -lcrypto -lcurl -ljson-c -o test

 *

 * DESCRIPTION

   - 특정사이트에 접속해서 데이타를 불러오는역할은 curl lib가 담당한다.

   - 데이타 입력및 출력의 인터페이스에 필요한 데이타의 암호화는 ​lcrypto lib가 담당한다.

   - 출력데이타를 복호화 했을때에, JSON형식의 데이타를 파싱하는데에는 ​ljson-c lib가 필요하다.
 * 
 */

/* standard includes */
#include <stdio.h>
#include <string.h>
#include <netdb.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

#include <curl/curl.h>
#include <iconv.h>
#include <locale.h>
#include <langinfo.h>
#include <openssl/aes.h>
#include <time.h>
#include <sys/time.h>
#include <json-c/json.h>

#define MAX_AES_BUFF_SIZE 2048
#define MAX_FSS_STRING_SIZE 100

 

int __debug;


const unsigned char fw_aes_key[16+1] = {0X45, 0X72, 0X23, 0X33, 0X77, 0XAB, 0X6C, 0X6C, 0XFD, 0X59, 0X6C, 0X75, 0X74, 0X69, 0X6F, 0X6E, 0x00};

 

/* holder for curl fetch */
struct curl_fetch_st {
    char *payload;
    size_t size;
};

 

/*

 * Function prototype

 */
json_object *sbo634_wascall(char *MSGCODE, char *ACCNO, char *PAGE);
size_t curl_callback (void *contents, size_t size, size_t nmemb, void *userp);
CURLcode curl_fetch_url(CURL *ch, const char *url, struct curl_fetch_st *fetch);

static void e_hex_convert(const void* pv, size_t len, char *outBuff) {
    const unsigned char * p = (const unsigned char*)pv;
 
    if (NULL == pv) {
        return;
    }
    else

    {
        size_t i = 0;
        int hexLen = 0;
        char editb[8];


        memset (editb, 0x00, sizeof(editb));
        for (; i<len;++i) {
            sprintf(editb, "%02X", *p++);
            memcpy(outBuff+hexLen, editb, 2);
            hexLen += 2; 
        }
    }
    return;
}

static void d_hex_convert(unsigned char *pv, size_t len, char *outBuff) {
    const unsigned char * p = (const unsigned char*)pv;
 
    int ii, kk, jj;
 
    kk=0;
    ii=0;
    while(1)
    {
        if(ii >= len) break;
  
        jj=0;
        if(pv[ii] == 'F') pv[ii] = 15;
        else if(pv[ii] == 'E') pv[ii] = 14;
        else if(pv[ii] == 'D') pv[ii] = 13;
        else if(pv[ii] == 'C') pv[ii] = 12;
        else if(pv[ii] == 'B') pv[ii] = 11;
        else if(pv[ii] == 'A') pv[ii] = 10;
        else if(pv[ii] == '9') pv[ii] = 9;
        else if(pv[ii] == '8') pv[ii] = 8;
        else if(pv[ii] == '7') pv[ii] = 7;
        else if(pv[ii] == '6') pv[ii] = 6;
        else if(pv[ii] == '5') pv[ii] = 5;
        else if(pv[ii] == '4') pv[ii] = 4;
        else if(pv[ii] == '3') pv[ii] = 3;
        else if(pv[ii] == '2') pv[ii] = 2;
        else if(pv[ii] == '1') pv[ii] = 1;
        else if(pv[ii] == '0') pv[ii] = 0;
  
        if((pv[ii] & 0x08) > 0) jj = jj + 128;
        if((pv[ii] & 0x04) > 0) jj = jj + 64;
        if((pv[ii] & 0x02) > 0) jj = jj + 32;
        if((pv[ii] & 0x01) > 0) jj = jj + 16;
  
        if(pv[ii+1] == 'F') pv[ii+1] = 15;
        else if(pv[ii+1] == 'E') pv[ii+1] = 14;
        else if(pv[ii+1] == 'D') pv[ii+1] = 13;
        else if(pv[ii+1] == 'C') pv[ii+1] = 12;
        else if(pv[ii+1] == 'B') pv[ii+1] = 11;
        else if(pv[ii+1] == 'A') pv[ii+1] = 10;
        else if(pv[ii+1] == '9') pv[ii+1] = 9;
        else if(pv[ii+1] == '8') pv[ii+1] = 8;
        else if(pv[ii+1] == '7') pv[ii+1] = 7;
        else if(pv[ii+1] == '6') pv[ii+1] = 6;
        else if(pv[ii+1] == '5') pv[ii+1] = 5;
        else if(pv[ii+1] == '4') pv[ii+1] = 4;
        else if(pv[ii+1] == '3') pv[ii+1] = 3;
        else if(pv[ii+1] == '2') pv[ii+1] = 2;
        else if(pv[ii+1] == '1') pv[ii+1] = 1;
        else if(pv[ii+1] == '0') pv[ii+1] = 0;
  
        if((pv[ii+1] & 0x08) > 0) jj = jj + 8;
        if((pv[ii+1] & 0x04) > 0) jj = jj + 4;
        if((pv[ii+1] & 0x02) > 0) jj = jj + 2;
        if((pv[ii+1] & 0x01) > 0) jj = jj + 1;
  
        outBuff[kk] = jj;
  
        kk = kk + 1;
        ii = ii + 2;
    }
    return;
}

static int e_makeAesPacket(unsigned char *EncryptText, int EncryptTextLen, unsigned char *DecryptText) {
 
    AES_KEY enc_key;
    long idx=0;
    unsigned char padBuff[MAX_AES_BUFF_SIZE];
    unsigned char encBuff[MAX_AES_BUFF_SIZE];
    int ii;

    size_t encPadLen = ((EncryptTextLen + AES_BLOCK_SIZE) / AES_BLOCK_SIZE) * AES_BLOCK_SIZE;

    memset(padBuff, 0x00, MAX_AES_BUFF_SIZE);
    memset(encBuff, 0x00, MAX_AES_BUFF_SIZE);
 
    AES_set_encrypt_key(fw_aes_key, 128, &enc_key);

    memcpy(padBuff, EncryptText, EncryptTextLen);
    for (ii = EncryptTextLen; ii < encPadLen; ii++) {
        padBuff[ii] = (encPadLen - EncryptTextLen);
    }

    while(idx < encPadLen) {
        AES_ecb_encrypt(padBuff+idx, encBuff+idx, &enc_key, AES_ENCRYPT);
        idx += AES_BLOCK_SIZE;
    }
 
    printf("e_makeAesPacket[%d]", strlen(encBuff));

    e_hex_convert(encBuff, encPadLen, DecryptText);

    return(strlen(DecryptText));
}

static int d_makeAesPacket(unsigned char *DecryptText, int DecryptTextLen, unsigned char *PlainText) {
 
    AES_KEY dec_key;
    long idx=0;
    unsigned char outBuff[MAX_AES_BUFF_SIZE];
    int ii, kk, jj;

    memset(outBuff, 0x00, MAX_AES_BUFF_SIZE);
 
    AES_set_decrypt_key(fw_aes_key, 128, &dec_key);
 
    size_t encPadLen = strlen(DecryptText) / 2;
    d_hex_convert(DecryptText, DecryptTextLen, outBuff);
 
    printf("d_makeAesPacket[%d]", strlen(outBuff));

    while(idx < encPadLen) {
        AES_ecb_encrypt(outBuff+idx, PlainText+idx, &dec_key, AES_DECRYPT);
        idx += AES_BLOCK_SIZE;
    }
    if(__debug) printf(">>%s\n", PlainText);

    jj=PlainText[encPadLen-1];
    ii=0;
    for(kk=encPadLen-2; kk>0; kk--)
    {
        if(PlainText[kk] == jj)
        {
            PlainText[kk]=0x00;
        }
        else break;
    }
    return(strlen(PlainText));
}

/* callback for curl fetch */
size_t curl_callback (void *contents, size_t size, size_t nmemb, void *userp) {
    size_t realsize = size * nmemb;                             /* calculate buffer size */
    struct curl_fetch_st *p = (struct curl_fetch_st *) userp;   /* cast pointer to fetch struct */

    /* expand buffer */
    p->payload = (char *) realloc(p->payload, p->size + realsize + 1);

    /* check buffer */
    if (p->payload == NULL) {
      /* this isn't good */
      fprintf(stderr, "ERROR: Failed to expand buffer in curl_callback");
      /* free buffer */
      free(p->payload);
      /* return */
      return -1;
    }

    /* copy contents to buffer */
    memcpy(&(p->payload[p->size]), contents, realsize);

    /* set new buffer size */
    p->size += realsize;

    /* ensure null termination */
    p->payload[p->size] = 0;

    /* return size */
    return realsize;
}

/* fetch and return url body via curl */
CURLcode curl_fetch_url(CURL *ch, const char *url, struct curl_fetch_st *fetch) {
    CURLcode rcode;                   /* curl result code */

    /* init payload */
    fetch->payload = (char *) calloc(1, sizeof(fetch->payload));

    /* check payload */
    if (fetch->payload == NULL) {
        /* log error */
        fprintf(stderr, "ERROR: Failed to allocate payload in curl_fetch_url");
        /* return error */
        return CURLE_FAILED_INIT;
    }

    /* init size */
    fetch->size = 0;

    /* set url to fetch */
    curl_easy_setopt(ch, CURLOPT_URL, url);

    /* set calback function */
    curl_easy_setopt(ch, CURLOPT_WRITEFUNCTION, curl_callback);

    /* pass fetch struct pointer */
    curl_easy_setopt(ch, CURLOPT_WRITEDATA, (void *) fetch);

    /* set default user agent */
    curl_easy_setopt(ch, CURLOPT_USERAGENT, "libcurl-agent/1.0");

    /* set timeout */
    curl_easy_setopt(ch, CURLOPT_TIMEOUT, 30);

    /* enable location redirects */
    curl_easy_setopt(ch, CURLOPT_FOLLOWLOCATION, 1);

    /* set maximum allowed redirects */
    curl_easy_setopt(ch, CURLOPT_MAXREDIRS, 1);

    /* fetch the url */
    rcode = curl_easy_perform(ch);

    /* return */
    return rcode;
}

json_object *sbo634_wascall(char *MSGCODE, char *ACCNO, char *PAGE)
{
    CURL *ch;                                               /* curl handle */
    CURLcode rcode;                                         /* curl result code */

    json_object *json;                                      /* json post body */
    enum json_tokener_error jerr = json_tokener_success;    /* json parse error */

    struct curl_fetch_st curl_fetch;                        /* curl fetch struct */
    struct curl_fetch_st *cf = &curl_fetch;                 /* pointer to fetch struct */
    struct curl_slist *headers = NULL;                      /* http headers to send with request */
 
    char post_data  [1024*32] = {0x00,};
    unsigned char TextPlain  [1204L * 128L] = {0x00,};
 
    unsigned char inBuff[MAX_AES_BUFF_SIZE];
    unsigned char txParam[MAX_AES_BUFF_SIZE];
    unsigned char txRemark[MAX_AES_BUFF_SIZE];
 
    int rlen;

    /* url to test site */
    char *url = "http://cyper-01:44444/GW/rest/service.do";
    printf("[URL]%s\n", url);

    /* init curl handle */
    if ((ch = curl_easy_init()) == NULL) {
        /* log error */
        fprintf(stderr, "ERROR: Failed to create curl handle in fetch_session");
        /* return error */
        return NULL;
    }

    /* set content type */
    //headers = curl_slist_append(headers, "Accept: application/json");
    //headers = curl_slist_append(headers, "Content-Type: application/json");

    /* create json object for post */
    json = json_object_new_object();

    /* build post data */
    json_object_object_add(json, "MSGCODE", json_object_new_string(MSGCODE)); 
    json_object_object_add(json, "ACCNO", json_object_new_string(ACCNO)); 
    json_object_object_add(json, "PAGE", json_object_new_string(PAGE)); 
 
    memset(inBuff, 0x00, sizeof(inBuff));
    sprintf(inBuff, "%s", json_object_to_json_string(json));
    printf(">>BEFORE ENCRYPT:::msg=%s\n", json_object_to_json_string(json));
    rlen = e_makeAesPacket(inBuff, strlen(inBuff), txRemark);
    if (rlen < 0) {
        printf("AesPacket make failed(%s)", inBuff);
        return NULL;
    }
    sprintf(post_data, "msg=%s", txRemark);
    printf(">>AFTER ENCRYPT:::%s", post_data);
    printf("\n\n\n\n");
 

    /* set curl options */
    curl_easy_setopt(ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_easy_setopt(ch, CURLOPT_HTTPHEADER, headers);
    curl_easy_setopt(ch, CURLOPT_POSTFIELDS, post_data);
    curl_easy_setopt(ch, CURLOPT_VERBOSE, 1L);
    curl_easy_setopt(ch, CURLOPT_POST, 1L);

    /* fetch page and capture return code */
    rcode = curl_fetch_url(ch, url, cf);

    //FREE
    curl_easy_cleanup(ch);
    curl_slist_free_all(headers);
    json_object_put(json);

    /* check return code */
    if (rcode != CURLE_OK || cf->size < 1) {
        /* log error */
        fprintf(stderr, "ERROR: Failed to fetch url (%s) - curl said: %s",
            url, curl_easy_strerror(rcode));
        /* return error */
        return NULL;
    }

    /* check payload */
    if (cf->payload != NULL)

​    {
        /* print result */
        printf("CURL Returned: \n%s\n", cf->payload);
  
        rlen = d_makeAesPacket((unsigned char *)cf->payload, strlen(cf->payload), TextPlain);
        if (rlen < 0) {
            printf("d_makeAesPacket make failed(%s)", inBuff);
            return NULL;
        }
 
        /* parse return */
        json = json_tokener_parse_verbose(TextPlain, &jerr);
        /* free payload */
        free(cf->payload);
     }

     else

     {
        /* error */
        fprintf(stderr, "ERROR: Failed to populate payload");
        /* free payload */
        free(cf->payload);
        /* return */
        return NULL;
    }

    /* check error */
    if (jerr != json_tokener_success) {
        /* error */
        fprintf(stderr, "ERROR: Failed to parse json string");
        /* free json object */
        json_object_put(json);
        /* return */
        return NULL;
    }
    return json;
}

 

char CreditBalanceDefineName[44][100] = {"MSGCODE",
"RESULT","REASON","ACCNO","AO","LIMIT","CREDIT-AVAI","ASSETS","LIABILITIES",
"EQUITY","CASHBAL","LMV","COLLATERAL","DEBT","SMV","MR","BUYMR",
"SELLMR","EE","PP","CALLMARGIN","SHORTCALL","CALLFORCESELL","CALL_LMV","CALL_SMV",
"FORCE_LMV","FORCE_SMV","MARGINRATIO","WITHDRAWAL","ACTION","ACCEE","BUYCR50",
"BUYCR60","BUYCR70","MTMEE","MTMBUYCR50","MTMBUYCR60","MTMBUYCR70","MTMMRATIO",
"MTMCALLM35","TOTALBUY","TOTALSELL","PAGE","NEXTPAGE"};

 

 

char CreditPortDefineName[9][100] = {"MSGCODE",
"RESULT","REASON","ACCNO","TAMOUNT","TMKTVALUE","PAGE",
"NEXTPAGE","COUNT"};

 

int main(int argc, char *argv[])
{
    json_object *json = NULL;
    json_object *array = NULL;
    json_object *pdata = NULL;
    json_object *jvalue = NULL;
 
    char MSGCODE[MAX_FSS_STRING_SIZE];
    char ACCNO[MAX_FSS_STRING_SIZE];
    char PAGE[MAX_FSS_STRING_SIZE];
 
    int kk;
 
    if(argc < 2)
    {
        printf("[1]:MSGCODE>ACR, ACCNO>, PAGE>1 + DEBUG(D)\n");
        printf("[2]:MSGCODE>ACP, ACCNO>, PAGE>1 + DEBUG(D)\n");
        return(-1);
    }

    if(argc == 3)
    {
        if(argv[2][0] == 'D') __debug = 1;
        else __debug = 0;
    }
 
    memset(MSGCODE,0x00,sizeof(MSGCODE));
    memset(ACCNO,0x00,sizeof(ACCNO));
    memset(PAGE,0x00,sizeof(PAGE));
 
    if(argv[1][0] =='1')
    {
       strcpy(MSGCODE, "ACR");
       strcpy(ACCNO, "987654321");
       strcpy(PAGE, "1");  
    }
    else if(argv[1][0] =='2')
    {
       strcpy(MSGCODE, "ACP");
       strcpy(ACCNO, "987654321");
       strcpy(PAGE, "1");  
    }
    else
    {
       printf("Argument IS 1 or 2 !!!!!!!\n");
       return(-1);
    }
 
    json = sbo634_wascall(MSGCODE, ACCNO, PAGE);
    if(json == NULL) {
       return(-1);
    }
 
    /* debugging */
    printf("Parsed JSON: %s\n", json_object_to_json_string(json));
 
    char *creditvalue = NULL;
 
    printf("\n\n\n\n\n>>>>>>>>\n");

    if(argv[1][0]=='2')
    for(kk=0; kk<9; kk++)
    {
         if (json_object_object_get_ex(json, CreditPortDefineName[kk], &pdata)) {
         creditvalue = (char *)json_object_get_string(pdata);
         printf("[%.3d]%20s:[%s]\n", kk+1, CreditPortDefineName[kk], creditvalue);
         }
    }
  
    if(argv[1][0]=='1')
    for(kk=0; kk<44; kk++)
    {
         if (json_object_object_get_ex(json, CreditBalanceDefineName[kk], &pdata)) {
         creditvalue = (char *)json_object_get_string(pdata);
         printf("[%.3d]%20s:[%s]\n", kk+1, CreditBalanceDefineName[kk], creditvalue);
         }
    }
 
    json_object_put(json);
 
    return(0);

}

 

/*----복호화한 출력 JSON포맷 ----------------------------------------------------------------------------------------------

{ "PP": "3890427.94", "BUYMR": "0.00", "COLLATERAL": "0.00", "MTMEE": "1945213.97", "BUYCR70": "2778877.10", "CASHBAL": "1945213.97", "SHORTCALL": "1945213.97", "CREDIT-AVAI": "3890427.94", "TOTALB": "0.00", "LIMIT": "12000000.00", "LIABILITIES": "0.00", "DEBT": "0.00", "MARGINRATIO": "1.0000", "SHORTFORCE": "1945213.97", "MTMCALLM35": "0.35", "ACCNO": "0058866", "MTMBUYCR50": "3890427.94", "MTMBUYCR70": "2778877.10", "REASON": "complete", "BUYCR50": "3890427.94", "EQUITY": "1945213.97", "ASSETS": "1945213.97", "EE": "1945213.97", "BUYCR60": "3242023.28", "MSGCODE": "RCR", "MR": "0.00", "SELLMR": "0.00", "CALLMARGIN": "0.00", "CALLFORCESELL": "0.00", "AO": "9233", "ACCEE": "1945213.97", "LMV": "0.00", "CALL_SMV": "40.00", "ACTION": "", "FORCE_SMV": "30.00", "TOTALS": "0.00", "MTMBUYCR60": "3242023.28", "CALL_LMV": "35.00", "MTMMRATIO": "0.00", "SMV": "0.00", "WITHDRAWAL": "1945213.97", "RESULT": "0", "FORCE_LMV": "25.00" }

-----------------------------------------------------------------------------------------------------------------------*/

/*----복호화한 출력 JSON포맷 ----------------------------------------------------------------------------------------------

{ "STOCKLISTS": [ ], "ACCNO": "0058866", "MSGCODE": "RCP", "TAMOUNT": "0.00", "PAGE": "1", "COUNT": "0", "NEXTPAGE": "0", "TMKTVALUE": "0.00", "REASON": "complete", "RESULT": "0" }

-----------------------------------------------------------------------------------------------------------------------*/


 

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <time.h>

#include <fcntl.h>

#include <errno.h>

 

#define MAX_CNT 10

#define MAXTIX (24*60)

 

int l_xupdate(int xfds, char *a1, char *a2);

 

struct xxxidx 

{

int  recs; // record size

int recn[MAXTIX]; // Starting Record of HHMM

};

 

struct biglotTrade 

{

char    symbol[20];                

char    orderbookid[12];      

long biglotOrderQty; //VOLUME

int     biglotSequence;

long    biglotTotalVolumeTraded; //TOTAL VOLUME

double  biglotTurnover; //AMT

int     typeOfTrade;    //CASE 1 NEW, CASE 2 CANCEL(MUST)

double  doubleprice;

double  totalTurnoverTradeReport; //TOTAL AMT

char    tradeId[30];

char    dealId[30];

};

 

char DNS_PACKET[55][2][100] = {

{"TN-1-1508147706984-2","DN-1-1508147706984-1"},

{"TN-1-1508147696497-2","DN-1-1508147696497-1"},

{"TN-1-1508147685915-2","DN-1-1508147685915-1"},

{"TN-1-1508147668355-2","DN-1-1508147668355-1"},

{"TN-1-1508147651212-2","DN-1-1508147651212-1"},

{"TN-1-1508147637492-2","DN-1-1508147637492-1"},

{"TN-1-1508147635403-2","DN-1-1508147635403-1"},

{"TN-1-1508147624602-3","DN-1-1508147624602-2"},

{"TN-1-1508147579369-3","DN-1-1508147579369-2"},

{"TN-1-1508147553972-2","DN-1-1508147553972-1"}};

 

int main(int argc, char *argv[])

{

struct biglotTrade biglottrade[500];

int  xxfd;

char xfile[32];

int  ii, jj, cnt, rc;

 

sprintf(xfile, "%.20s", "BIGLOT");

xxfd = l_xopen(SAMFILE_PATH, xfile, O_RDWR);  //FOR UPDATE, RDWR NEEDED!!

if (xxfd < 0)

{

printf("Can't open BIGLOT file [%s][%s]. errno(%d)\n", DAT_JC_PATH, xfile, errno);

return(-1)

}

 

for (jj = 0; jj < MAX_CNT; jj++)

{

rc = l_xupdate(xxfd, DNS_PACKET[jj][0], DNS_PACKET[jj][1]);

if(rc)

{

printf("l_xupdate fail!!\n");

return(-1);

}

}

 

close(xxfd);

return 0;

}

 

int l_xupdate(int xfds, char *a1, char *a2)

{

struct  xxxidx  xxxidx;

struct  biglotTrade *tmpdjd;

int  rlen, wlen;

int  xsiz;

int maxr;

int  ii, cnt;

 

long xoff;

char buff[1024 * 100];

 

lseek(xfds, 0L, SEEK_SET);

rlen = read(xfds, &xxxidx, sizeof(struct xxxidx));

if (rlen != sizeof(struct xxxidx))

    {

printf("rlen failed\n");

return -1;

}

 

xsiz = xxxidx.recs;

 

xoff = lseek(xfds, 0L, SEEK_END);

maxr = (xoff - sizeof(struct xxxidx)) / xsiz;

if (maxr <= 0) {

printf("maxr failed\n");

return -1;

}

 

xoff = sizeof(struct xxxidx);

cnt = lseek(xfds, xoff, SEEK_SET);

 

for (ii = 0; ii < maxr ; ii++)

{

rlen = read(xfds, buff, xsiz);

 

tmpdjd = (struct biglotTrade *)buff;

 

if (strcmp(tmpdjd->tradeId,a1)==0 &&

          strcmp(tmpdjd->dealId,a2)==0)

{

xoff = sizeof(struct xxxidx) + (ii * xsiz);

cnt = lseek(xfds, xoff, SEEK_SET);

 

tmpdjd->typeOfTrade = 1; //UPDATE DATA 

wlen = write(xfds, tmpdjd, sizeof(struct biglotTrade));

printf("wlen = %d\n", wlen);

 

break;

}

}

return 0;

}

 

+ Recent posts