<?php
extract($_POST);
//print_r($_POST);
//===============================================
//	CommonUtilities
//	備考		：	
//	更新		：	2012/11/29 KMK-Teraoka
//===============================================
$SCRIPT_TITLE = "運航管理システム　-船舶位置確認-";
$PENTA_OCEAN = "五洋・菅原特定建設工事共同企業体";
$TAIL_PENTA_OCEAN = "penta-ocean";
$imgFileName = "view_map.php";
$AreaFileName = "./area2.txt";
$CONST_ID = 12;
$APPLICATION_ID = 23;

$HOST = "192.168.100.153";
$DB = "ansys";
$USER = "postgres";
$PASS = "am#71ZJ*";
$LOG_FILE = "./log/view.log";

//================================================
//	データベース接続
//	備考		：	
//	更新		：	2012/11/29 KMK-Teraoka
//================================================
$conn = pg_connect("
	host	=	". $HOST. "
	dbname	=	". $DB. "
	user	=	". $USER. "
	password=	". $PASS. "
");
if (!$conn)
{
	throw new Exception("データベースへの接続に失敗しました");
}


//===============================================
//	HTML-HEAD-
//	備考		：	
//	更新		：	2012/10/18 KMK-Teraoka
//===============================================
print "<html>";
print "<head>";
//print "<meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\">";
//print "<meta http-equiv=\"Refresh\" content=\"6000\">";
print "<title>". $SCRIPT_TITLE. "</title>";

print "<style type=\"text/css\">";
print "html {font-size: 80%; font-family:\"ＭＳ ゴシック\"; overflow-y:scroll;}";
print "table {font-size: 100%; font-family:\"ＭＳ ゴシック\"; text-align:center;}";
print "input {font-size: 100%; font-family:\"ＭＳ ゴシック\";}";
print "select {font-size: 100%; font-family:\"ＭＳ ゴシック\";}";
print "pre {font-size: 100%; font-family:\"ＭＳ ゴシック\";}";
print "</style>";

?>
<script src="./lib/jquery-2.0.3.js"></script>
<script type="text/javascript">
function Fill(FillId_,AreaID_) {
// 「OK」時の処理開始 ＋ 確認ダイアログの表示

	var val = new Array(4);
	var Mess = "";
	
	
	if(!AreaID_)
	{
		if(FillId_ < 78)
		{
			Mess = FillId_ + '番のセルを施行済みに変更します。';
		}
		else
		{
			Mess = '選択したセルを施行済みに変更します。';
		}
	
		
		
		if(window.confirm(Mess))
		{
	//		location.href = "view.php?del=" + AreaId_ ; // example_confirm.html へジャンプ
	//		location.href = "view.php?col=" + document.form1.col1.value;
			
			//エリア名称設定
			if(document.form1.Radio1.checked) 
			{
				val[0] = document.form1.Radio1.value;
				val[1] = document.form1.Text1.value;
			}
			else if(document.form1.Radio2.checked)
			{
				val[0] = document.form1.Radio2.value;
				val[1] = document.form1.Text2.value;
				
			}
			else if(document.form1.Radio3.checked)
			{
				val[0] = document.form1.Radio3.value;
				val[1] = document.form1.Text3.value;
			}
			else if(document.form1.Radio4.checked)
			{
				val[0] = document.form1.Radio4.value;
				val[1] = document.form1.Text4.value;
			}
			else if(document.form1.Radio5.checked)
			{
				val[0] = document.form1.Radio5.value;
				val[1] = document.form1.Text5.value;
			}
			else
			{
				val[0] = document.form1.Radio6.value;
				val[1] = document.form1.Text6.value;
			}
			
			//色の設定
			if(document.form1.Col0.checked) val[2] = document.form1.Col0.value;
			if(document.form1.Col1.checked) val[2] = document.form1.Col1.value;
			if(document.form1.Col2.checked) val[2] = document.form1.Col2.value;
			if(document.form1.Col3.checked) val[2] = document.form1.Col3.value;
			if(document.form1.Col4.checked) val[2] = document.form1.Col4.value;
			if(document.form1.Col5.checked) val[2] = document.form1.Col5.value;
			if(document.form1.Col6.checked) val[2] = document.form1.Col6.value;
			if(document.form1.Col7.checked) val[2] = document.form1.Col7.value;
			if(document.form1.Col8.checked) val[2] = document.form1.Col8.value;
			if(document.form1.Col9.checked) val[2] = document.form1.Col9.value;
			if(document.form1.Col10.checked) val[2] = document.form1.Col10.value;
			if(document.form1.Col11.checked) val[2] = document.form1.Col11.value;
			if(document.form1.Col12.checked) val[2] = document.form1.Col12.value;
			
			val[3] = FillId_;
			postJump(val);

		}
		else
		{
			//location.href = "view.php";
	//		window.alert('"' + AreaName_ + '"を削除しました。'); // 警告ダイアログを表示

		}
	}
	else
	{
		if(FillId_ < 78)
		{
			Mess = FillId_ + '番のセルの施行済みを解除します。';
		}
		else
		{
			Mess = '選択したセルの施行済みを解除します。';
		}
	
		
		
		if(window.confirm(Mess))
		{
			
			val[3] = FillId_;
			postJump(val);

		}
		else
		{
			//location.href = "view.php";
	//		window.alert('"' + AreaName_ + '"を削除しました。'); // 警告ダイアログを表示

		}
	}
}

function postJump(_vals){
	
    var html = '<form method="post" action="view.php" id="postjump" style="display: none;">';
	if(_vals[0])
	{
        html += '<input type="hidden" name="ListId" value="'+_vals[0]+'" >';
        html += '<input type="hidden" name="AreaName" value="'+_vals[1]+'" >';
        html += '<input type="hidden" name="Col" value="'+_vals[2]+'" >';
        html += '<input type="hidden" name="FillId" value="'+_vals[3]+'" >';
    }
    else
    {
        html += '<input type="hidden" name="FillId" value="'+_vals[3]+'" >';
    }
    html += '</form>';
    $("body").append(html);
    $('#postjump').submit();
    $('#postjump').remove();
}


function RefreshImg()
{
	//alert(FileName);
	uniq = new Date();
	uniq = "?" + uniq.getTime();
	newImage = document.imgToLoad.src;
	index = newImage.indexOf("?", 0);
	if (index > 0)
	{
		newImage = newImage.substr(0, index);
	}
	document.imgToLoad.src = 'view_map.php'+uniq;
}
</script>

<?php
/*
print "<center>";
print "<font size=\"3\">";
print "<b>";
print "". $SCRIPT_TITLE. "<br>";
print "</b>";
print "</font>";
print "</center>";
*/

print "</head>";

//===============================================
//	HTML-BODY部開始-
//	備考		：	
//	更新		：	2012/10/18 KMK-Teraoka
//===============================================
print "<body>";

// ===============================================
// 上で保存した画像を表示
// 備考		：	
// 更新		：	2010/09/08 KMK T.Teraoka
// ===============================================


//POSTデータをチェック
if($_POST)
{
//	print_r($_POST);

	if($ListId)
	{
		if($Col != 9999)
		{
			$upArea = "UPDATE qgis.area_status_fill_t SET ";
			$upArea .= "area_name = '" .$AreaName ."',";
			$upArea .= "legend_color='" .$Col ."',";
			$upArea .= "upddatetime=" ."current_timestamp";
			$upArea .= " WHERE list_id =" .$ListId .";";
			
		//			print $upArea ."<BR>";
			if (!($resData = pg_query($conn, $upArea)))
			{
		//				print  pg_last_error(). "<br />";
		//				throw new Exception("データの登録に失敗しました<br />". $insArea. "<br />". pg_last_error(). "<br />");
			}
		}
		else
		{
			$upArea = "UPDATE qgis.area_status_fill_t SET ";
			$upArea .= "area_name = '" .$AreaName ."',";
			$upArea .= "upddatetime=" ."current_timestamp";
			$upArea .= " WHERE list_id =" .$ListId .";";
			
		//			print $upArea ."<BR>";
			if (!($resData = pg_query($conn, $upArea)))
			{
		//				print  pg_last_error(). "<br />";
		//				throw new Exception("データの登録に失敗しました<br />". $insArea. "<br />". pg_last_error(). "<br />");
			}
		}
		
		$upArea = "UPDATE qgis.hitachinaka_point_t SET ";
		$upArea .= "area_id = '" .$ListId ."',";
		$upArea .= "upddatetime=" ."current_timestamp";
		$upArea .= " WHERE pno =" .$FillId .";";
		
	//			print $upArea ."<BR>";
		if (!($resData = pg_query($conn, $upArea)))
		{
	//				print  pg_last_error(). "<br />";
	//				throw new Exception("データの登録に失敗しました<br />". $insArea. "<br />". pg_last_error(). "<br />");
		}
	}
	else
	{
		$upArea = "UPDATE qgis.hitachinaka_point_t SET ";
		$upArea .= "area_id = null,";
		$upArea .= "upddatetime=" ."current_timestamp";
		$upArea .= " WHERE pno =" .$FillId .";";
		
	//			print $upArea ."<BR>";
		if (!($resData = pg_query($conn, $upArea)))
		{
	//				print  pg_last_error(). "<br />";
	//			
		}
	}
	
	//セル描画データをテキストファイルで出力
////////////////////////////////////////////////////////////////////////	
	$selArea = "SELECT * FROM qgis.hitachinaka_point_t";
	$selArea .= " WHERE  NOT area_id is null";
	$selArea .= " ORDER BY pno";
	$selArea .= ";";
	
//	print $selArea ."<BR>";
	
	if (!($resArea = pg_query($conn, $selArea)))
	{
		$resArea. "<br />". pg_last_error(). "<br />";
		//throw new Exception("データ取得に失敗<br />". $resArea. "<br />". pg_last_error(). "<br />");
		//print pg_last_error() ;
	}

	$rowA = pg_num_rows($resArea);
	$fp = fopen($AreaFileName, "w");

	//エリアのステータス情報のみを取得(凡例用)
	$selSts0 = "SELECT * FROM qgis.area_status_fill_t";
	$selSts0 .= " WHERE const_id='". $CONST_ID. "'";
	$selSts0 .= " AND app_id='". $APPLICATION_ID. "'";
	$selSts0 .= " AND del_flg = FALSE order by list_id";
	$selSts0 .= ";";
	if (!($resSts0 = pg_query($conn, $selSts0)))
	{
		//print pg_last_error() ;
	}
	
	$rowStsCt = pg_num_rows($resSts0);
	
	for($s = 0; $s < $rowStsCt;$s++)
	{
		$rowSts0 = pg_fetch_array($resSts0, $s, PGSQL_ASSOC);
		$OutputData .= $rowSts0['area_name']."," .$rowSts0['legend_color'];
		if(($rowStsCt-1) != $s) $OutputData .= ",";
	}
	$OutputData .= "#";

	for($iCount = 0; $iCount < $rowA; $iCount++)
	{
		$rowArea = pg_fetch_array($resArea, $iCount, PGSQL_ASSOC);
		
		//エリアのステータスを取得
		$selSts = "SELECT * FROM qgis.area_status_fill_t";
		$selSts .= " WHERE const_id='". $CONST_ID. "'";
		$selSts .= " AND app_id='". $APPLICATION_ID. "'";
		$selSts .= " AND list_id='". $rowArea['area_id'] ."'";
		$selSts .= " AND del_flg = FALSE";
		$selSts .= ";";
		if (!($resSts = pg_query($conn, $selSts)))
		{
			//throw new Exception("データ取得に失敗<br />". $resArea. "<br />". pg_last_error(). "<br />");
			//print pg_last_error() ;
		}
		$rowSts = pg_fetch_array($resSts, 0, PGSQL_ASSOC);

		$OutputData .= $rowArea['pno'] ."," .$rowArea['x'] ."," .$rowArea['y'] ."," .$rowSts['legend_color'];
		if(($rowA-1) != $iCount) $OutputData .= "#";
	}
	fwrite($fp, $OutputData);
	fclose($fp);
////////////////////////////////////////////////////////////////////////////////////////////////////////////	
	
}
else
{
//	print "データなし";
}


print "<div style='position: relative;'>";
print "<IMG SRC='" .$imgFileName ."' ALT='QGIS' usemap=\"#map_1\" name=imgToLoad onload='setTimeout(\"RefreshImg()\", 1000)' onerror='setTimeout(\"RefreshImg()\", 5000)' onabort='setTimeout(\"RefreshImg()\", 10000)' id=imgToLoad naturalsizeflag=0  height=\"614\">";
print "<map name='map_1'>";
$HtSelect = "SELECT * FROM qgis.hitachinaka_point_t order by id;";


if (!($resHt = pg_query($conn, $HtSelect)))
{
//		print pg_last_error() ."<BR>";
//		throw new Exception("データ取得に失敗<br />". $DelArea. "<br />". pg_last_error(). "<br />");
}
	$ba = 0.6;
	$Csize =12;
	$row = pg_num_rows($resHt);
//	print $row ."<BR>";
	for($iCount = 0; $iCount < $row; $iCount++)
	{

		$rowHt = pg_fetch_array($resHt, $iCount, PGSQL_ASSOC);
		//print_r($rowHt);
		//print "<BR>";
		if($iCount < 77)
		{
			print "<area shape=\"circle\" coords=\"" .$rowHt['x'] * $ba  ."," .$rowHt['y'] * $ba ."," .$Csize * $ba ."\" href=\"#\" alt=\"円形\" onclick='Fill(\"" .$rowHt['pno'] ."\",\"" .$rowHt['area_id'] ."\");'>";
		}
		else if($iCount < 109)
		{
			if(($iCount%2) == 1)
			{
				print "<area shape=\"rect\" coords=\"" .($rowHt['x'] -19) * $ba  ."," .($rowHt['y']-5) * $ba ."," .($rowHt['x'] -9) * $ba  ."," .($rowHt['y']+5) * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno']  ."\",\"" .$rowHt['area_id'] ."\");'>";
			}
			else
			{
				print "<area shape=\"rect\" coords=\"" .($rowHt['x'] +9) * $ba  ."," .($rowHt['y']-5) * $ba ."," .($rowHt['x'] +19) * $ba  ."," .($rowHt['y']+5) * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno']  ."\",\"" .$rowHt['area_id'] ."\");'>";
			}
		}
		else if($iCount < 111)
		{
			if(($iCount%2) == 1)
			{
				print "<area shape=\"rect\" coords=\"" .($rowHt['x'] -18) * $ba  ."," .($rowHt['y']-10) * $ba ."," .($rowHt['x'] -8) * $ba  ."," .$rowHt['y'] * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno']  ."\",\"" .$rowHt['area_id'] ."\");'>";
			}
			else
			{
				print "<area shape=\"rect\" coords=\"" .($rowHt['x'] +8) * $ba  ."," .$rowHt['y'] * $ba ."," .($rowHt['x'] +13) * $ba  ."," .($rowHt['y']+10) * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno']  ."\",\"" .$rowHt['area_id'] ."\");'>";
			}
		}
		else if($iCount < 177)
		{
			if(($iCount%2) == 1)
			{
				print "<area shape=\"rect\" coords=\"" .($rowHt['x'] -5) * $ba  ."," .($rowHt['y']-19) * $ba ."," .($rowHt['x'] +5) * $ba  ."," .($rowHt['y']-9) * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno']  ."\",\"" .$rowHt['area_id'] ."\");'>";
			}
			else
			{
				print "<area shape=\"rect\" coords=\"" .($rowHt['x'] -5) * $ba  ."," .($rowHt['y']+9) * $ba ."," .($rowHt['x'] +5) * $ba  ."," .($rowHt['y']+19) * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno']  ."\",\"" .$rowHt['area_id'] ."\");'>";
			}
		}
		else if($iCount < 179)
		{
			if(($iCount%2) == 1)
			{
				print "<area shape=\"rect\" coords=\"" .($rowHt['x'] -8) * $ba  ."," .$rowHt['y'] * $ba ."," .($rowHt['x'] -13) * $ba  ."," .($rowHt['y']+10) * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno']  ."\",\"" .$rowHt['area_id'] ."\");'>";
			}
			else
			{
				print "<area shape=\"rect\" coords=\"" .($rowHt['x'] +7) * $ba  ."," .($rowHt['y']-10) * $ba ."," .($rowHt['x'] +17) * $ba  ."," .$rowHt['y'] * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno']  ."\",\"" .$rowHt['area_id'] ."\");'>";
			}
		}
		else
		{
			if(($iCount%2) == 1)
			{
				print "<area shape=\"rect\" coords=\"" .($rowHt['x'] -19) * $ba  ."," .($rowHt['y']-5) * $ba ."," .($rowHt['x'] -9) * $ba  ."," .($rowHt['y']+5) * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno']  ."\",\"" .$rowHt['area_id'] ."\");'>";
			}
			else
			{
				print "<area shape=\"rect\" coords=\"" .($rowHt['x'] +9) * $ba  ."," .($rowHt['y']-5) * $ba ."," .($rowHt['x'] +19) * $ba  ."," .($rowHt['y']+5) * $ba ."\" href=\"#\" alt=\"四角\" onclick='Fill(\"" .$rowHt['pno']  ."\",\"" .$rowHt['area_id'] ."\");'>";
			}
		}
	}

print "</map>";


$selArea = "SELECT * FROM qgis.area_status_fill_t";
$selArea .= " order by list_id;";
$selArea .= ";";
if (!($resArea = pg_query($conn, $selArea)))
{
	//throw new Exception("データ取得に失敗<br />". $resArea. "<br />". pg_last_error(). "<br />");
	//print pg_last_error() ;
}

$CountArea = pg_num_rows($resArea);

print "<form name='form1' action=''>";
print "<div style='position: absolute; top: 550px; left: 40px; width: 335px;'>";
print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
print "<B><FONT size ='2'>エリア名称</B>&nbsp;&nbsp;&nbsp;&nbsp;設定色</B></FONT><BR>";

for($ii = 0 ;$ii < $CountArea-3;$ii++)
{
	$rowArea = pg_fetch_array($resArea, $ii, PGSQL_ASSOC);
	if(!$ListId)
	{
		$chkd[0] = " checked";
	}
	else
	{
		if($ListId == $rowArea['list_id']) $chkd[$ii] = " checked";
	}
	
	print "<input id='Radio" .$rowArea['list_id'] ."' name='areaname' type='radio' value='" .$rowArea['list_id'] ."' " .$chkd[$ii] .">";
	print "&nbsp;&nbsp;";
	print "<FONT size='2'>";
	print "<input id=\"Text" .$rowArea['list_id'] ."\" type=\"text\" name=\"AreaName\" maxlength=\"20\" style=\"width:100px\" value='" .$rowArea['area_name'] ."'>";
	print "</FONT>";
	print "&nbsp;&nbsp;";
	print "<FONT COLOR='#" .$rowArea['legend_color'] ."' size ='3'>■</FONT>";
	print "<BR>";
}
print "</div>";

print "<div style='position: absolute; top: 550px; left: 210px; width: 335px;'>";
print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
print "<B><FONT size ='2'>エリア名称</B>&nbsp;&nbsp;&nbsp;&nbsp;設定色</B></FONT><BR>";
for($ii = 3 ;$ii < $CountArea;$ii++)
{
	$rowArea = pg_fetch_array($resArea, $ii, PGSQL_ASSOC);
	if(!$ListId)
	{
		$chkd[0] = " checked";
	}
	else
	{
		if($ListId == $rowArea['list_id']) $chkd[$ii] = " checked";
	}
	
	print "<input id='Radio" .$rowArea['list_id'] ."' name='areaname' type='radio' value='" .$rowArea['list_id'] ."' " .$chkd[$ii] .">";
	print "&nbsp;&nbsp;";
	print "<FONT size='2'>";
	print "<input id=\"Text" .$rowArea['list_id'] ."\" type=\"text\" name=\"AreaName\" maxlength=\"20\" style=\"width:100px\" value='" .$rowArea['area_name'] ."'>";
	print "</FONT>";
	print "&nbsp;&nbsp;";
	print "<FONT COLOR='#" .$rowArea['legend_color'] ."' size ='3'>■</FONT>";
	print "<BR>";
}

print "</div>";


print "<div style='position: absolute; top: 520px; left: 420px; width: 240px;'>";
	print "&nbsp;&nbsp;&nbsp;";
	print "<B><FONT size ='2'>色の選択</B></FONT><BR><BR>";
	print "<input id='Col0' name='colorset' type='radio' value='9999' checked ><FONT COLOR='#000000' size ='2'>設定中の色</FONT>";
	print "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
	print "&nbsp;&nbsp;&nbsp;";
	print "<BR>";
	print "<input id='Col1' name='colorset' type='radio' value='ff0000' " .$chk[0] ."><FONT COLOR='#ff0000' size ='4'>■</FONT>";
	print "&nbsp;&nbsp;&nbsp;&nbsp;";
	print "<input id='Col2' name='colorset' type='radio' value='0000ff' " .$chk[1] ."><FONT COLOR='#0000ff' size ='4'>■</FONT>";
	print "&nbsp;&nbsp;&nbsp;&nbsp;";
	print "<input id='Col3' name='colorset' type='radio' value='00ff7f' " .$chk[2] ."><FONT COLOR='#00ff7f' size ='4'>■</FONT>";
	print "&nbsp;&nbsp;&nbsp;&nbsp;";
	print "<input id='Col4' name='colorset' type='radio' value='ffa500' " .$chk[3] ."><FONT COLOR='#ffa500' size ='4'>■</FONT>";
	print "<BR>";
	print "<input id='Col5' name='colorset' type='radio' value='8a2be2' " .$chk[4] ."><FONT COLOR='#8a2be2' size ='4'>■</FONT>";
	print "&nbsp;&nbsp;&nbsp;&nbsp;";
	print "<input id='Col6' name='colorset' type='radio' value='f08080' " .$chk[5] ."><FONT COLOR='#f08080' size ='4'>■</FONT>";
	print "&nbsp;&nbsp;&nbsp;&nbsp;";
	print "<input id='Col7' name='colorset' type='radio' value='00bfff' " .$chk[6] ."><FONT COLOR='#00bfff' size ='4'>■</FONT>";
	print "&nbsp;&nbsp;&nbsp;&nbsp;";
	print "<input id='Col8' name='colorset' type='radio' value='800000' " .$chk[7] ."><FONT COLOR='#800000' size ='4'>■</FONT>";
	print "<BR>";
	print "<input id='Col9' name='colorset' type='radio' value='2f4f4f' " .$chk[8] ."><FONT COLOR='#2f4f4f' size ='4'>■</FONT>";
	print "&nbsp;&nbsp;&nbsp;&nbsp;";
	print "<input id='Col10' name='colorset' type='radio' value='ffff00' " .$chk[9] ."><FONT COLOR='#ffff00' size ='4'>■</FONT>";
	print "&nbsp;&nbsp;&nbsp;&nbsp;";
	print "<input id='Col11' name='colorset' type='radio' value='008000' " .$chk[10] ."><FONT COLOR='#008000' size ='4'>■</FONT>";
	print "&nbsp;&nbsp;&nbsp;&nbsp;";
	print "<input id='Col12' name='colorset' type='radio' value='ff1493' " .$chk[11] ."><FONT COLOR='#ff1493' size ='4'>■</FONT>";
	print "<BR>";
	print "</form>";
print "</div>";
print "</div>";




// 戻る
//print "<br />";
//print "<a href=\"./index.php\">戻る</a>";


//===============================================
//	HTML終了処理
//	備考		：	
//	更新		：	2012/10/18 KMK-Teraoka
//===============================================
print "</body>";
print "</html>";

?>
