';
for (var i = 0; i < suion_list.length; i++) {
var c_id = 'past' + i;
var zl_id = 'zoom_lv' + i;
var z_id = 'zoom' + i;
var func = 'graph_scroll_reset(' + i + ')';
if (i % 2 == 0) {
html_code += '
';
}
html_code += '
';
html_code += '';
html_code += '
';
html_code += '';
html_code += '
';
html_code += '
';
html_code += '';
html_code += '
';
html_code += '';
if (flag == 1 || test == 1) {
html_code += '';
}
html_code += '
';
html_code += '
';
if (i % 2 == 1) {
html_code += '
';
}
}
html_code += '
';
html_code += '
';
html_code += '
';
html_code += '
●気温の時間変化
';
html_code += '
';
html_code += '
';
html_code += '
';
html_code += '';
html_code += '
';
html_code += '';
html_code += '
';
html_code += '
';
html_code += '';
html_code += '
';
html_code += '';
if (flag == 1 || test == 1) {
html_code += '';
}
html_code += '
';
html_code += '';
html_code += '
';
html_code += '';
document.getElementById('body_content').innerHTML = html_code;
}
/*
function set_html_tarea() {
var html_code = '現況情報公開開始・休止・再開情報履歴 '
+ '';
return html_code;
}
*/
/**
* Google Map表示部分のHTMLコードを取得
* 両モード(現在の状況・過去の状況)で挿入するのでプラグイン化
* @return {string} HTMLコード
*/
function set_html_map() {
var html_code = '
';
for (var i = 0; i < setting_name[mode].length; i++) {
switch (i) {
case 0:
var type = 'A';
break;
case 1:
var type = 'B';
break;
case 2:
var type = 'C';
break;
}
var div_id = 'fragment-' + (i + 1);
var name_id = 'n_name_' + i;
var n_check_id = 'now_check_' + i;
var n_check_btn_id = 'now_check_' + i + '_btn';
var n_temp_id = 'now_temp_' + i;
var n_temp_range_id = 'now_temp_range_' + i;
var n_preview_id = 'now_preview' + i;
var btn_id = 'setting_btn' + i;
html_code += '
';
for (var i = 0; i < setting_name[mode].length; i++) {
switch (i) {
case 0:
var type = 'A';
break;
case 1:
var type = 'B';
break;
case 2:
var type = 'C';
break;
}
var div_id = 'fragment-' + (i + 1);
var name_id = 'p_name_' + i;
var p_check_id = 'past_check_' + i;
var p_check_btn_id = 'past_check_' + i + '_btn';
var p_temp_id = 'past_temp_' + i;
var p_temp_range_id = 'past_temp_range_' + i;
var k_check_id = 'kion_check_' + i;
var k_check_btn_id = 'kion_check_' + i + '_btn';
var k_temp_id = 'kion_temp_' + i;
var k_temp_range_id = 'kion_temp_range_' + i;
var p_preview_id = 'past_preview' + i;
var k_preview_id = 'kion_preview' + i;
var btn_id = 'setting_btn' + i;
html_code += '
';
for (var i = 0; i < suion_list.length; i++) {
var name = suion_list[i];
var kome = '';
/*
if(suion_list[i] == "小池") {
kome = " 期間限定";
}
*/
/*
if(suion_list[i] == "三浦") {
kome = " 休止中";
}
*/
if (suion_list[i] == '塩子島') {
kome = '※';
}
html_code += '
' + name + kome + '
';
}
html_code += '
';
html_code += '
水深
';
html_code += '
■' + deep_list['全体'][0] + '
';
for (var i = 0; i < suion_list.length; i++) {
/*
if(suion_list[i] == "小池") {
//var update_date = new Date("2018/12/01 10:00:00");
if(data[i].length <= 0) {
if(flag == 0) {
html_code += '
2018/12/01 情報公開 開始予定
';
} else {
html_code += '
2018/12/01 情報公開 開始予定
';
}
continue;
}
}
*/
if (suion_list[i] == '八幡浜' || suion_list[i] == '伊方') {
//var update_date = new Date("2018/12/01 10:00:00");
if (data[i].length <= 0) {
if (flag == 0) {
html_code +=
'
2020/09/14 情報公開 開始予定
';
} else {
html_code +=
'
2020/09/14 情報公開 開始予定
';
}
continue;
}
}
if (suion_list[i] == '吉田') {
var update_date = new Date('2020/11/17 00:00:00');
var previous_date = new Date('2020/10/02 14:30:00');
if (date.getTime() < update_date.getTime() && previous_date.getTime() < date.getTime()) {
if (flag == 0) {
html_code +=
'
欠測
';
} else {
html_code +=
'
欠測
';
}
continue;
}
}
if (rest.indexOf(suion_list[i]) >= 0) {
if (flag == 0) {
html_code +=
'
休止中
';
} else {
html_code +=
'
休止中
';
}
continue;
}
if (suion_list[i] in tuning) {
var start_date = new Date(tuning[suion_list[i]][0] + ' 00:00:00');
var end_date = new Date(tuning[suion_list[i]][1] + ' 23:00:00');
var measure_date = new Date(measure_time);
if (start_date.getTime() <= measure_date.getTime() && measure_date.getTime() <= end_date.getTime()) {
if (flag == 0) {
html_code +=
'
機器調整中
';
} else {
html_code +=
'
機器調整中
';
}
continue;
}
}
if (p[i] == -1) {
if (flag == 0) {
html_code += '
';
} else {
if (flag == 0) {
var value = round_suion(get_now_data(i, 2));
} else {
var value = round_data(get_now_data(i, 2), 2);
}
/*
if(value == "Err") {
html_code += '
Err
';
} else {
html_code += '
' + value + '℃
';
}
*/
var uri = val2Image(value);
html_code += '
';
}
}
html_code += '
';
for (var i = 1; i < deep_list['全体'].length; i++) {
if (i % 2 == 0) {
html_code += '
■' + deep_list['全体'][i] + '
';
} else {
html_code +=
'
■' + deep_list['全体'][i] + '
';
}
for (var j = 0; j < suion_list.length; j++) {
if (suion_list[j] == '吉田') {
var update_date = new Date('2020/11/17 00:00:00');
var previous_date = new Date('2020/10/02 14:30:00');
if (date.getTime() < update_date.getTime() && previous_date.getTime() < date.getTime()) {
continue;
}
}
if (rest.indexOf(suion_list[j]) >= 0) {
continue;
}
if (suion_list[j] in tuning) {
var start_date = new Date(tuning[suion_list[j]][0] + ' 00:00:00');
var end_date = new Date(tuning[suion_list[j]][1] + ' 23:00:00');
var measure_date = new Date(measure_time);
if (start_date.getTime() <= measure_date.getTime() && measure_date.getTime() <= end_date.getTime()) continue;
}
if (p[j] == -1) continue;
var value;
if (deep_list[suion_list[j]][i] == '') {
html_code += '
NA
';
} else {
if (flag == 0) {
/*
if(Format_type[j] >= 3) {
value = round_suion(get_now_data(j, i + 2));
} else {
value = round_suion(get_now_data(j, i + 1));
}
*/
value = round_suion(get_now_data(j, i + 2));
} else {
/*
if(Format_type[j] >= 3) {
value = round_data(get_now_data(j, i + 2), 2);
} else {
value = round_data(get_now_data(j, i + 1), 2);
}
*/
value = round_data(get_now_data(j, i + 2), 2);
}
if (suion_list[j] == '三浦' && deep_list['三浦'][i] == '5m') value = '*' + value;
if (suion_list[j] == '三崎' && deep_list['三崎'][i] == '4m') value = '*' + value;
/*
if(value == "Err") {
html_code += '
Err
';
} else {
html_code += '
' + value + '℃
';
}
*/
var uri = val2Image(value);
html_code += '
';
}
}
html_code += '
';
}
if (flag == 1) {
html_code += '
内機温度
';
for (i = 0; i < suion_list.length; i++) {
if (rest.indexOf(suion_list[i]) >= 0) {
continue;
}
if (suion_list[i] in tuning) {
var start_date = new Date(tuning[suion_list[i]][0] + ' 00:00:00');
var end_date = new Date(tuning[suion_list[i]][1] + ' 23:00:00');
var measure_date = new Date(measure_time);
if (start_date.getTime() <= measure_date.getTime() && measure_date.getTime() <= end_date.getTime()) continue;
}
if (p[i] == -1) continue;
if (get_now_data(i, 10) == 'NA') {
html_code += '
NA
';
} else {
html_code +=
'
' + round_data(get_now_data(i, 10), 2) + '℃
';
}
}
html_code += '
';
html_code += '
Solar
';
for (i = 0; i < suion_list.length; i++) {
if (rest.indexOf(suion_list[i]) >= 0) {
continue;
}
if (suion_list[i] in tuning) {
var start_date = new Date(tuning[suion_list[i]][0] + ' 00:00:00');
var end_date = new Date(tuning[suion_list[i]][1] + ' 23:00:00');
var measure_date = new Date(measure_time);
if (start_date.getTime() <= measure_date.getTime() && measure_date.getTime() <= end_date.getTime()) continue;
}
if (p[i] == -1) continue;
if (get_now_data(i, 11) == 'NA') {
html_code += '
NA
';
} else {
html_code += '
' + round_data(get_now_data(i, 11), 2) + 'V
';
}
}
html_code += '
';
html_code += '
内部電圧
';
for (i = 0; i < suion_list.length; i++) {
if (rest.indexOf(suion_list[i]) >= 0) {
continue;
}
if (suion_list[i] in tuning) {
var start_date = new Date(tuning[suion_list[i]][0] + ' 00:00:00');
var end_date = new Date(tuning[suion_list[i]][1] + ' 23:00:00');
var measure_date = new Date(measure_time);
if (start_date.getTime() <= measure_date.getTime() && measure_date.getTime() <= end_date.getTime()) continue;
}
if (p[i] == -1) continue;
if (get_now_data(i, 12) == 'NA') {
html_code += '
NA
';
} else {
html_code += '
' + round_data(get_now_data(i, 12), 2) + 'V
';
}
}
html_code += '
';
}
html_code += '
';
for (i = 0; i < suion_list.length; i++) {
html_code += '
';
switch (suion_list[i]) {
case '三浦':
html_code += '*3mの水温';
break;
case '三崎':
html_code += '*4mの水温';
break;
}
html_code += '
';
document.getElementById('pastsuion').innerHTML = html_code;
}
/**
* 最新気温の表を作成
*/
function setText() {
for (var i = 0; i < temp_list.length; i++) {
min_max_temp_search(temp_list[i], -1);
}
var text = '
●最新の気温/本日の最低気温・最高気温
'; //現在の状況
document.getElementById('nt_table_title').innerHTML = text;
text = '
';
text +=
'
場所
最新の気温
本日の最低気温・最高気温
最低気温[時刻]
最高気温[時刻]
';
for (var i = 0; i < n_temp.length; i++) {
text +=
'
■' +
temp_list[i] +
'
';
text += '
' + n_temp[i][1][1] + '℃
';
text +=
'
' +
temp_minTemp[i] +
'℃[' +
temp_minTime[i] +
']
';
text +=
'
' +
temp_maxTemp[i] +
'℃[' +
temp_maxTime[i] +
']
';
}
text += '
';
text += '最新測定日時 ';
text += n_temp[0][0];
text += ' ';
text += n_temp[0][1][0];
text += ' ';
document.getElementById('nowtemp').innerHTML = text;
}
/**
* 表のタイトルを表示
* @param {number} flag 0: 一般公開ページ 1: 関係者専用ページ
* @param {number} value 値(スライダーの値を入れる)
*/
function setTableTitle(flag, value) {
if (value == -1) {
var text = '
●最新の海水温
';
} else {
var date = new Date();
date.setHours(load_date.getHours() - (720 - parseInt(value)));
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hour = date.getHours();
var text =
'
';
document.getElementById('p_table_title').innerHTML = text;
}
/**
* 最新の海水温 表作成
* @param {number} flag 0: 一般公開ページ 1: 関係者専用ページ
*/
function setTable(flag) {
// flag 0: 一般者用 1: 関係者用
setTableTitle(flag, -1);
/*
for(var i = 0; i < suion_list.length; i++) {
p[i] = now_suion_set(data[i]);
}
*/
/*
var addTable = " ・各表記について ";
addTable += '
';
addTable += '
NA
';
addTable += '
:測定を行っていない
';
addTable += '
Err
';
addTable += '
:故障による測定失敗
';
addTable += '
';
*/
var addTable = '
';
addTable += '
場所
';
for (i = 0; i < suion_list.length; i++) {
var name = suion_list[i];
var kome = '';
/*
if(suion_list[i] == "小池") {
kome = " 期間限定";
}
*/
/*
if(rest.indexOf(suion_list[i]) >= 0) {
kome = " 休止中";
}
*/
if (suion_list[i] == '塩子島') {
name = '油袋沖';
}
addTable += '
' + name + kome + '
';
}
addTable += '
最新測定日時 ※
';
for (i = 0; i < suion_list.length; i++) {
/*
if(suion_list[i] == "小池") {
//var update_date = new Date("2018/12/01 10:00:00");
if(data[i].length <= 0) {
if(flag == 0) {
addTable += '
2018/12/01 情報公開 開始予定
';
} else {
addTable += '
2018/12/01 情報公開 開始予定
';
}
continue;
}
}
*/
if (suion_list[i] == '八幡浜' || suion_list[i] == '伊方') {
//var update_date = new Date("2018/12/01 10:00:00");
if (data[i].length <= 0) {
if (flag == 0) {
addTable +=
'
2020/09/14 情報公開 開始予定
';
} else {
addTable +=
'
2020/09/14 情報公開 開始予定
';
}
continue;
}
}
if (rest.indexOf(suion_list[i]) >= 0) {
if (flag == 0) {
addTable +=
'
休止中
';
} else {
addTable +=
'
休止中
';
}
continue;
}
if (suion_list[i] in tuning) {
var end_date = new Date(tuning[suion_list[i]][1] + ' 23:00:00');
if (load_date.getTime() <= end_date.getTime()) {
if (flag == 0) {
addTable +=
'
機器調整中
';
} else {
addTable +=
'
機器調整中
';
}
continue;
}
}
var measure_date = '';
switch (Format_type[i]) {
case 0:
case 4:
case 5:
case 6:
measure_date = p[i][0] + ' ' + p[i][1];
break;
case 1:
case 2:
measure_date =
p[i][0].slice(0, 4) +
'/' +
p[i][0].slice(4, 6) +
'/' +
p[i][0].slice(6, 8) +
' ' +
p[i][0].slice(8, 10) +
':' +
p[i][0].slice(10, 12) +
':00';
break;
case 3:
measure_date = '20' + p[i][0] + ' ' + p[i][1];
break;
case -1:
measure_date =
p[i][0].slice(0, 4) +
'/' +
p[i][0].slice(4, 6) +
'/' +
p[i][0].slice(6, 8) +
' ' +
p[i][0].slice(8, 10) +
':' +
p[i][0].slice(10, 12) +
':' +
p[i][0].slice(12, 14);
default:
measure_date = p[i][0] + ' ' + p[i][1];
break;
}
var year = load_date.getFullYear();
var month = load_date.getMonth() + 1;
var day = load_date.getDate();
var hour = load_date.getHours();
var lated_date = '' + year + '/' + ('0' + month).slice(-2) + '/' + ('0' + day).slice(-2) + ' ' + hour + ':00:00';
var l_dt = new Date(lated_date);
var m_dt = new Date(measure_date);
if ((l_dt.getTime() - m_dt.getTime()) / (3600 * 1000) > 1) {
addTable +=
// '
' + get_suion_time(i, Format_type[i]) + '
';
'
' + p[i][0] + ' ' + p[i][1] + '
';
} else {
// addTable += '
' + get_suion_time(i, Format_type[i]) + '
';
addTable += '
' + p[i][0] + ' ' + p[i][1] + '
';
}
}
addTable +=
'
水深
■' +
deep_list['全体'][0] +
'
';
for (i = 0; i < suion_list.length; i++) {
if (rest.indexOf(suion_list[i]) >= 0) continue;
if (suion_list[i] in tuning) {
var end_date = new Date(tuning[suion_list[i]][1] + ' 23:00:00');
if (load_date.getTime() <= end_date.getTime()) continue;
}
if (suion_list[i] == '小池') {
var update_date = new Date('2018/12/01 10:00:00');
if (load_date.getTime() < update_date.getTime() && data[i].length <= 0) {
continue;
}
}
if (suion_list[i] == '八幡浜' || suion_list[i] == '伊方') {
//var update_date = new Date("2018/12/01 10:00:00");
if (data[i].length <= 0) {
continue;
}
}
if (deep_list[suion_list[i]][0] == '') {
addTable += '
NA
';
} else {
if (flag == 0) {
var value = round_suion(get_now_data(i, 2));
} else {
var value = round_data(get_now_data(i, 2), 2);
}
/*
if(value == "Err") {
addTable += '
Err
';
} else {
addTable += '
' + value + '℃
';
}
*/
var uri = val2Image(value);
addTable += '
';
}
}
addTable += '
';
for (i = 1; i < deep_list['全体'].length; i++) {
if (i % 2 == 0) {
addTable += '
■' + deep_list['全体'][i] + '
';
} else {
addTable +=
'
■' + deep_list['全体'][i] + '
';
}
for (j = 0; j < suion_list.length; j++) {
if (rest.indexOf(suion_list[j]) >= 0) continue;
if (suion_list[j] in tuning) {
var end_date = new Date(tuning[suion_list[j]][1] + ' 23:00:00');
if (load_date.getTime() <= end_date.getTime()) continue;
}
if (suion_list[j] == '小池') {
var update_date = new Date('2018/12/01 10:00:00');
if (load_date.getTime() < update_date.getTime() && data[j].length <= 0) {
continue;
}
}
if (suion_list[j] == '八幡浜' || suion_list[j] == '伊方') {
//var update_date = new Date("2018/12/01 10:00:00");
if (data[j].length <= 0) {
continue;
}
}
var value;
if (deep_list[suion_list[j]][i] == '') {
addTable += '
NA
';
} else {
if (flag == 0) {
/*
if(Format_type[j] >= 3) {
value = round_suion(get_now_data(j, i+2));
} else {
value = round_suion(get_now_data(j, i+1));
}
*/
value = round_suion(get_now_data(j, i + 2));
} else {
/*
if(Format_type[j] >= 3) {
value = round_data(get_now_data(j, i+2), 2);
} else {
value = round_data(get_now_data(j, i+1), 2);
}
*/
value = round_data(get_now_data(j, i + 2), 2);
}
if (suion_list[j] == '三浦' && deep_list['三浦'][i] == '5m') value = '*' + value;
if (suion_list[j] == '三崎' && deep_list['三崎'][i] == '4m') value = '*' + value;
/*
if(value == "Err") {
addTable += '
Err
';
} else {
addTable += '
' + value + '℃
';
}
*/
var uri = val2Image(value);
addTable += '
';
}
}
addTable += '
';
}
if (flag == 1) {
addTable += '
内機温度
';
for (i = 0; i < suion_list.length; i++) {
if (rest.indexOf(suion_list[i]) >= 0) continue;
if (suion_list[i] in tuning) {
var end_date = new Date(tuning[suion_list[i]][1] + ' 23:00:00');
if (load_date.getTime() <= end_date.getTime()) continue;
}
if (suion_list[i] == '小池') {
var update_date = new Date('2018/12/01 10:00:00');
if (load_date.getTime() < update_date.getTime() && data[i].length <= 0) {
continue;
}
}
if (suion_list[i] == '八幡浜' || suion_list[i] == '伊方') {
//var update_date = new Date("2018/12/01 10:00:00");
if (data[i].length <= 0) {
continue;
}
}
if (get_now_data(i, 10) == 'NA') {
addTable += '
NA
';
} else {
addTable +=
'
' + round_data(get_now_data(i, 10), 2) + '℃
';
}
}
addTable += '
';
addTable += '
Solar
';
for (i = 0; i < suion_list.length; i++) {
if (rest.indexOf(suion_list[i]) >= 0) continue;
if (suion_list[i] in tuning) {
var end_date = new Date(tuning[suion_list[i]][1] + ' 23:00:00');
if (load_date.getTime() <= end_date.getTime()) continue;
}
if (suion_list[i] == '小池') {
var update_date = new Date('2018/12/01 10:00:00');
if (load_date.getTime() < update_date.getTime() && data[i].length <= 0) {
continue;
}
}
if (suion_list[i] == '八幡浜' || suion_list[i] == '伊方') {
//var update_date = new Date("2018/12/01 10:00:00");
if (data[i].length <= 0) {
continue;
}
}
if (get_now_data(i, 11) == 'NA') {
addTable += '
NA
';
} else {
addTable += '
' + round_data(get_now_data(i, 11), 2) + 'V
';
}
}
addTable += '
';
addTable += '
内部電圧
';
for (i = 0; i < suion_list.length; i++) {
if (rest.indexOf(suion_list[i]) >= 0) continue;
if (suion_list[i] in tuning) {
var end_date = new Date(tuning[suion_list[i]][1] + ' 23:00:00');
if (load_date.getTime() <= end_date.getTime()) continue;
}
if (suion_list[i] == '小池') {
var update_date = new Date('2018/12/01 10:00:00');
if (load_date.getTime() < update_date.getTime() && data[i].length <= 0) {
continue;
}
}
if (suion_list[i] == '八幡浜' || suion_list[i] == '伊方') {
//var update_date = new Date("2018/12/01 10:00:00");
if (data[i].length <= 0) {
continue;
}
}
if (get_now_data(i, 12) == 'NA') {
addTable += '
NA
';
} else {
addTable += '
' + round_data(get_now_data(i, 12), 2) + 'V
';
}
}
addTable += '
';
}
addTable += '
';
for (i = 0; i < suion_list.length; i++) {
addTable += '
';
switch (suion_list[i]) {
case '三浦':
addTable += '*3mの水温';
break;
case '三崎':
addTable += '*4mの水温';
break;
}
addTable += '
';
}
addTable += '
';
addTable += '
';
/*
var value_15;
if(flag == 1) {
value_15 = round_data(get_now_data(suion_list.indexOf('中浦尻貝'), -1), 2);
} else {
value_15 = round_data(get_now_data(suion_list.indexOf('中浦尻貝'), -1), 1);
}
var miura_value_3;
if(flag == 1) {
miura_value_3 = round_data(get_now_data(suion_list.indexOf('三浦'), -1), 2);
} else {
miura_value_3 = round_data(get_now_data(suion_list.indexOf('三浦'), -1), 1);
}
*/
/*
addTable += '中浦尻貝の水深15mの海水温は'
+ '';
+ 'です ';
*/
//addTable += '*水深3mのデータです。 ';
addTable += '2020年7月22日14時から、明浜の海水温観測地点が、東方向に4km移動しました。 ';
addTable +=
'※ 欠測等の理由から、現在時刻が最新測定日時から2時間以上経過している場合、《最新測定日時》欄の背景色が赤色となります';
document.getElementById('p_table').innerHTML = addTable;
}
/**
* 設定画面を開く(最新データ)
*/
function open_setting_now() {
load_cookie_now();
for (var i = 0; i < SETTING; i++) {
update_setting_now(i);
}
jQuery('#modal-content').fadeIn('fast');
centeringModalSyncer();
}
/**
* 設定画面を開く(過去のデータ)
*/
function open_setting_past() {
load_cookie_past();
for (var i = 0; i < SETTING; i++) {
update_setting_past(i);
}
jQuery('#modal-content').fadeIn('fast');
centeringModalSyncer();
}
/**
* 設定画面のセンタリング
*/
function centeringModalSyncer() {
var w = window.innerWidth;
var h = window.innerHeight;
var cw = jQuery('#modal-content').outerWidth();
var ch = jQuery('#modal-content').outerHeight();
jQuery('#modal-content').css({ left: (w - cw) / 2 + 'px', top: (h - ch) / 2 + 'px' });
}
/**
* 指定した番号の設定を反映(最新のデータ)
* @param {number} num 設定ID
*/
function set_setting_value_now(num) {
now_minTemp = now_minTemp_setting[num];
now_maxTemp = now_maxTemp_setting[num];
for (var i = 0; i < checkList2.length; i++) {
checkList2[i] = now_check_list[num][i];
}
for (var i = 0; i < checkList2.length; i++) {
id = 'now_depth' + i;
document.getElementById(id).checked = checkList2[i];
set_cookie('now_check' + i, checkList2[i], 365);
}
jQuery('#now_temp_range').slider('values', [now_minTemp, now_maxTemp]);
}
/**
* 指定した番号の設定を反映(過去のデータ)
* @param {number} num 設定ID
*/
function set_setting_value_past(num) {
// 指定した設定を現在の表示設定にする(過去のデータ)
for (var i = 0; i < minTemp.length; i++) {
minTemp[i] = past_minTemp_setting[num];
maxTemp[i] = past_maxTemp_setting[num];
}
kion_minTemp = kion_minTemp_setting[num];
kion_maxTemp = kion_maxTemp_setting[num];
for (var i = 0; i < checkList.length; i++) {
checkList[i] = past_check_list[num][i];
}
for (var i = 0; i < checkList3.length; i++) {
checkList3[i] = kion_check_list[num][i];
}
for (var j = 0; j < suion_list.length; j++) {
for (var i = 0; i < checkList.length; i++) {
if (deep_list[suion_list[j]][i] == '') {
continue;
}
var id = 'depth' + j + i;
document.getElementById(id).checked = checkList[i];
if (j == 0) {
set_cookie('past_check' + i, checkList[i], 365);
}
}
}
for (var i = 0; i < checkList3.length; i++) {
id = 'temp_pt' + i;
document.getElementById(id).checked = checkList3[i];
set_cookie('temp_check' + i, checkList3[i], 365);
}
for (var i = 0; i < suion_list.length; i++) {
var temp_id = '#past_temp_range' + i;
jQuery(temp_id).slider('values', [minTemp[0], maxTemp[0]]);
}
change_graph();
jQuery('#temp_range2').slider('values', [kion_minTemp, kion_maxTemp]);
}
/**
* 設定画面の生成(最新のデータ)
* @param {number} num 設定ID
*/
function display_setting_now(num) {
var name_id = 'n_name_' + num;
var n_check_id = 'now_check_' + num;
var n_temp_id = 'now_temp_' + num;
var n_temp_range_id = 'now_temp_range_' + num;
var btn_id = 'setting' + num;
set_setting_name(name_id, num);
set_check_button(n_check_id, num);
set_check_list(n_check_id, num);
set_temp_range(n_temp_range_id, n_temp_id, num);
// draw_preview_now_graph_mod(num);
switch (num) {
case 0:
document.getElementById(btn_id).value = 'A:' + setting_name[mode][num];
break;
case 1:
document.getElementById(btn_id).value = 'B:' + setting_name[mode][num];
break;
case 2:
document.getElementById(btn_id).value = 'C:' + setting_name[mode][num];
break;
}
}
/**
* 設定画面の更新(最新のデータ)
* @param {number} num 設定ID
*/
function update_setting_now(num) {
var name_id = 'n_name_' + num;
var n_check_id = 'now_check_' + num;
var n_temp_id = 'now_temp_' + num;
var n_temp_range_id = '#now_temp_range_' + num;
set_setting_name(name_id, num);
for (var i = 0; i < checkList2.length; i++) {
var n_depth_id = n_check_id + i;
document.getElementById(n_depth_id).checked = now_check_list[num][i];
}
jQuery(n_temp_range_id).slider('values', [now_minTemp_setting[num], now_maxTemp_setting[num]]);
draw_preview_now_graph_mod(num);
}
/**
* 設定画面の生成(過去のデータ)
* @param {number} num 設定ID
*/
function display_setting_past(num) {
var name_id = 'p_name_' + num;
var p_check_id = 'past_check_' + num;
var p_temp_id = 'past_temp_' + num;
var p_temp_range_id = 'past_temp_range_' + num;
var k_check_id = 'kion_check_' + num;
var k_temp_id = 'kion_temp_' + num;
var k_temp_range_id = 'kion_temp_range_' + num;
var btn_id = 'setting' + num;
set_setting_name(name_id, num);
set_check_button(p_check_id, num);
set_check_list(p_check_id, num);
set_temp_range(p_temp_range_id, p_temp_id, num);
set_check_button(k_check_id, num);
set_check_list(k_check_id, num);
set_temp_range(k_temp_range_id, k_temp_id, num);
// draw_past_graph_preview(num);
// draw_temp_graph_preview(num);
switch (num) {
case 0:
document.getElementById(btn_id).value = 'A:' + setting_name[mode][num];
break;
case 1:
document.getElementById(btn_id).value = 'B:' + setting_name[mode][num];
break;
case 2:
document.getElementById(btn_id).value = 'C:' + setting_name[mode][num];
break;
}
}
/**
* 設定画面の更新(過去のデータ)
* @param {number} num 設定ID
*/
function update_setting_past(num) {
// 設定画面の更新(過去のデータ)
var name_id = 'p_name_' + num;
var p_check_id = 'past_check_' + num;
var p_temp_id = 'past_temp_' + num;
var p_temp_range_id = 'past_temp_range_' + num;
var k_check_id = 'kion_check_' + num;
var k_temp_id = 'kion_temp_' + num;
var k_temp_range_id = 'kion_temp_range_' + num;
set_setting_name(name_id, num);
for (var i = 0; i < checkList.length; i++) {
var p_depth_id = p_check_id + i;
var k_pt_id = k_check_id + i;
document.getElementById(p_depth_id).checked = past_check_list[num][i];
if (i < checkList3.length) {
document.getElementById(k_pt_id).checked = kion_check_list[num][i];
}
}
jQuery(p_temp_range_id).slider('values', [past_minTemp_setting[num], past_maxTemp_setting[num]]);
jQuery(k_temp_range_id).slider('values', [kion_minTemp_setting[num], kion_maxTemp_setting[num]]);
draw_past_graph_preview(num);
draw_temp_graph_preview(num);
}
/**
* 設定名の反映
* @param id DOM要素のid名
* @param num 設定ID
*/
function set_setting_name(id, num) {
document.getElementById(id).value = setting_name[mode][num];
}
/**
* 温度範囲を設定画面上のスライダーに反映
* @param {string} range_id スライダーのid名
* @param {string} temp_id 温度表示部分のid名
* @param {number} num 設定ID
*/
function set_temp_range(range_id, temp_id, num) {
var minTemp = 10;
var maxTemp = 30;
if (range_id.indexOf('now') != -1) {
minTemp = now_minTemp_setting[num];
maxTemp = now_maxTemp_setting[num];
var id = '#' + range_id;
$(function () {
$(id).slider({
orientation: 'vertical',
min: -10,
max: 40,
step: 5,
range: true,
values: [minTemp, maxTemp],
slide: function (e, ui) {
if (ui.values[0] == ui.values[1]) {
return false;
}
//display_temp(temp_id, ui.values[0], ui.values[1]);
},
change: function (e, ui) {
//display_temp(temp_id, ui.values[0], ui.values[1]);
set_limit_temp_setting(range_id, num, ui.values[0], ui.values[1]);
},
create: function (e, ui) {
var values = $(this).slider('option', 'values');
//display_temp(temp_id, values[0], values[1]);
},
});
});
return;
} else if (range_id.indexOf('past') != -1) {
minTemp = past_minTemp_setting[num];
maxTemp = past_maxTemp_setting[num];
} else if (range_id.indexOf('kion') != -1) {
minTemp = kion_minTemp_setting[num];
maxTemp = kion_maxTemp_setting[num];
}
var id = '#' + range_id;
$(function () {
$(id).slider({
min: -10,
max: 40,
step: 5,
range: true,
values: [minTemp, maxTemp],
slide: function (e, ui) {
if (ui.values[0] == ui.values[1]) {
return false;
}
//display_temp(temp_id, ui.values[0], ui.values[1]);
},
change: function (e, ui) {
// display_temp(temp_id, ui.values[0], ui.values[1]);
set_limit_temp_setting(range_id, num, ui.values[0], ui.values[1]);
},
create: function (e, ui) {
var values = $(this).slider('option', 'values');
// display_temp(temp_id, values[0], values[1]);
},
});
});
}
/**
* 温度範囲をグラフに反映
* @param {string} range_id スライダーのid名
* @param {number} num 設定ID
* @param {number} min y軸下限
* @param {number} max y軸上限
*/
function set_limit_temp_setting(range_id, num, min, max) {
if (range_id.indexOf('now') != -1) {
now_minTemp_setting[num] = min;
now_maxTemp_setting[num] = max;
draw_preview_now_graph_mod(num);
} else if (range_id.indexOf('past') != -1) {
past_minTemp_setting[num] = min;
past_maxTemp_setting[num] = max;
draw_past_graph_preview(num);
} else if (range_id.indexOf('kion') != -1) {
kion_minTemp_setting[num] = min;
kion_maxTemp_setting[num] = max;
draw_temp_graph_preview(num);
}
}
/**
* 設定画面上に全項目・全解除ボタンの作成
* @param {string} id 設定画面のdiv要素id名
* @param {number} num 設定ID
*/
function set_check_button(id, num) {
var button_id = id + '_btn';
var el = document.createElement('div');
if (button_id.indexOf('now') != -1) {
el.innerHTML +=
' ';
el.innerHTML +=
'';
} else {
el.innerHTML +=
'';
el.innerHTML +=
' ';
}
document.getElementById(button_id).appendChild(el);
}
/**
* 設定画面上のチェックボックスの一斉切り替え
* @param {string} id 設定画面のdiv要素id名
* @param {number} num 設定ID
* @param {boolean} value 変更する値(TrueかFalse)
*/
function all_check_change(id, num, value) {
if (id.indexOf('now') != -1) {
for (var i = 0; i < checkList2.length; i++) {
document.getElementById(id + i).checked = value;
now_check_list[num][i] = value;
}
draw_preview_now_graph_mod(num);
} else if (id.indexOf('past') != -1) {
for (var i = 0; i < checkList.length; i++) {
document.getElementById(id + i).checked = value;
past_check_list[num][i] = value;
}
draw_past_graph_preview(num);
} else if (id.indexOf('kion') != -1) {
for (var i = 0; i < checkList3.length; i++) {
document.getElementById(id + i).checked = value;
kion_check_list[num][i] = value;
}
draw_temp_graph_preview(num);
}
}
/**
* 設定画面上にチェックボックスを作成
* @param {string} id 設定画面のdiv要素idm名
* @param {number} num 設定ID
*/
function set_check_list(id, num) {
// チェックリストの作成
if (id.indexOf('past') != -1) {
el = document.createElement('div');
for (i = 0; i < checkList.length; i++) {
el.innerHTML +=
'' +
deep_list['全体'][i];
}
document.getElementById(id).appendChild(el);
} else if (id.indexOf('now') != -1) {
el = document.createElement('div');
for (i = 0; i < checkList2.length; i++) {
el.innerHTML +=
'■' +
deep_list['全体'][i] +
' ';
}
document.getElementById(id).appendChild(el);
} else if (id.indexOf('kion') != -1) {
el = document.createElement('div');
for (i = 0; i < checkList3.length; i++) {
el.innerHTML +=
'' +
temp_list[i];
}
document.getElementById(id).appendChild(el);
}
}
/**
* グラフプレビューにおける表示項目の切り替え
* 関数名と実際の処理が合っていないので関数名を変更する必要あり
* @param {string} id 設定画面のdiv要素id名
* @param {number} num1 設定ID
* @param {number} num2 チェックボックスのカラムID
*/
function clear_depth(id, num1, num2) {
var depth_id = id + num2;
if (document.getElementById(depth_id).checked) {
if (id.indexOf('now') != -1) {
now_check_list[num1][num2] = true;
draw_preview_now_graph_mod(num1);
} else if (id.indexOf('past') != -1) {
past_check_list[num1][num2] = true;
draw_past_graph_preview(num1);
} else if (id.indexOf('kion') != -1) {
kion_check_list[num1][num2] = true;
draw_temp_graph_preview(num1);
}
} else {
if (id.indexOf('now') != -1) {
now_check_list[num1][num2] = false;
draw_preview_now_graph_mod(num1);
} else if (id.indexOf('past') != -1) {
past_check_list[num1][num2] = false;
draw_past_graph_preview(num1);
} else if (id.indexOf('kion') != -1) {
kion_check_list[num1][num2] = false;
draw_temp_graph_preview(num1);
}
}
}
/**
* 設定画面上にボタンを設置
*/
function set_setting_button() {
for (var i = 0; i < setting_name[mode].length; i++) {
var btn_id = 'setting_btn' + i;
var el = document.createElement('div');
el.innerHTML += ' ';
el.innerHTML += ' ';
el.innerHTML += ' ';
// el.innerHTML += '';
document.getElementById(btn_id).appendChild(el);
}
}
/**
* 『デフォルトに戻す』押下時の処理
* @param {number} num 設定ID
*/
function default_set(num) {
// デフォルトに戻す
setting_name[mode][num] = '設定';
switch (num) {
case 0:
setting_name[mode][0] += 'A';
break;
case 1:
setting_name[mode][1] += 'B';
break;
case 2:
setting_name[mode][2] += 'C';
break;
}
switch (mode) {
case 0:
now_check_list[num] = [true, true, true, true, true, true, true, true, true];
now_minTemp_setting[num] = 10;
now_maxTemp_setting[num] = 30;
update_setting_now(num);
break;
case 1:
past_check_list[num] = [true, true, true, true, true, true, true, true, true];
kion_check_list[num] = [true, true, true, true, true];
past_minTemp_setting[num] = 10;
past_maxTemp_setting[num] = 30;
kion_minTemp_setting[num] = -5;
kion_maxTemp_setting[num] = 35;
update_setting_past(num);
break;
}
}
/**
* 設定の保存
* @param {number} flag 0: 保存しないで閉じる 1: 保存するだけ 2: 保存して閉じる(未使用)
* @param {number} d_mode 設定ID
*/
function save_setting(flag, d_mode) {
if (flag == 0) {
jQuery('#modal-content').fadeOut('fast');
return;
}
for (var i = 0; i < SETTING; i++) {
switch (mode) {
case 0:
var name_id = 'n_name_' + i;
break;
case 1:
var name_id = 'p_name_' + i;
break;
}
var btn_id = 'setting' + i;
setting_name[mode][i] = document.getElementById(name_id).value;
switch (i) {
case 0:
document.getElementById(btn_id).value = 'A:' + setting_name[mode][i];
break;
case 1:
document.getElementById(btn_id).value = 'B:' + setting_name[mode][i];
break;
case 2:
document.getElementById(btn_id).value = 'C:' + setting_name[mode][i];
break;
}
}
var name = '';
for (var i = 0; i < setting_name.length; i++) {
if (i == setting_name.length - 1) {
name += setting_name[i][0] + ',' + setting_name[i][1] + ',' + setting_name[i][2];
} else {
name += setting_name[i][0] + ',' + setting_name[i][1] + ',' + setting_name[i][2] + ',';
}
}
set_cookie('setting_name2', name, 365);
if (d_mode == 0) {
var n_min = now_minTemp_setting[0] + ',' + now_minTemp_setting[1] + ',' + now_minTemp_setting[2];
var n_max = now_maxTemp_setting[0] + ',' + now_maxTemp_setting[1] + ',' + now_maxTemp_setting[2];
set_cookie('now_minTemp_setting', n_min, 365);
set_cookie('now_maxTemp_setting', n_max, 365);
var now_check = '';
for (var i = 0; i < setting_name[d_mode].length; i++) {
for (var j = 0; j < checkList2.length; j++) {
now_check += now_check_list[i][j] + ',';
}
}
set_cookie('now_check_list', now_check, 365);
} else if (d_mode == 1) {
var p_min = past_minTemp_setting[0] + ',' + past_minTemp_setting[1] + ',' + past_minTemp_setting[2];
var p_max = past_maxTemp_setting[0] + ',' + past_maxTemp_setting[1] + ',' + past_maxTemp_setting[2];
var k_min = kion_minTemp_setting[0] + ',' + kion_minTemp_setting[1] + ',' + kion_minTemp_setting[2];
var k_max = kion_maxTemp_setting[0] + ',' + kion_maxTemp_setting[1] + ',' + kion_maxTemp_setting[2];
set_cookie('past_minTemp_setting', p_min, 365);
set_cookie('past_maxTemp_setting', p_max, 365);
set_cookie('kion_minTemp_setting', k_min, 365);
set_cookie('kion_maxTemp_setting', k_max, 365);
var past_check = '';
var kion_check = '';
for (var i = 0; i < setting_name[d_mode].length; i++) {
for (var j = 0; j < checkList.length; j++) {
if (j < checkList3.length) {
kion_check += kion_check_list[i][j] + ',';
}
past_check += past_check_list[i][j] + ',';
}
}
set_cookie('past_check_list', past_check, 365);
set_cookie('kion_check_list', kion_check, 365);
}
if (flag == 2) {
jQuery('#modal-content').fadeOut('fast');
}
}
/**
* 表示水深選択表作成(過去のデータ)
*/
function setselTable() {
// var el = document.createElement("div");
// el.innerHTML += ' ';
// el.innerHTML += '';
for (var i = 0; i < suion_list.length; i++) {
var el = document.createElement('div');
el.innerHTML += ' ';
el.innerHTML += '';
var btn_id = 'past_check_btn' + i;
document.getElementById(btn_id).appendChild(el);
}
// el = document.createElement("div");
// for(i = 0; i < checkList.length; i++) {
// el.innerHTML += '■' + depthList[i + 1] + ' ';
// }
for (var i = 0; i < suion_list.length; i++) {
el = document.createElement('div');
for (var j = 0; j < checkList.length; j++) {
if (deep_list[suion_list[i]][j] != '') {
if (suion_list[i] == '三浦' && deep_list['三浦'][j] == '5m') {
el.innerHTML += '■3m';
el.innerHTML +=
'';
} else {
el.innerHTML += '■' + deep_list[suion_list[i]][j];
el.innerHTML +=
'';
}
} else {
el.innerHTML += '' + deep_list['全体'][j] + ', NA';
}
el.innerHTML += ' ';
}
var id = 'pastcheck' + i;
document.getElementById(id).appendChild(el);
}
}
/**
* 表示水深選択表作成(最新データ)
*/
function setselTable_now() {
var el = document.createElement('div');
el.innerHTML += ' ';
el.innerHTML += '';
document.getElementById('btn2').appendChild(el);
el = document.createElement('div');
for (i = 0; i < checkList2.length; i++) {
el.innerHTML +=
'■' +
deep_list['全体'][i] +
' ';
}
document.getElementById('check2').appendChild(el);
}
/**
* 表示場所選択表作成
*/
function setselTable_temp() {
var el = document.createElement('div');
el.innerHTML += ' ';
el.innerHTML += '';
document.getElementById('btn4').appendChild(el);
el = document.createElement('div');
for (i = 0; i < checkList3.length; i++) {
el.innerHTML +=
'■' +
temp_list[i] +
' ';
}
document.getElementById('check4').appendChild(el);
}
/**
* チェックボックス一斉切り替え(過去のデータ)
* @param {boolean} value 変更する値(TrueかFalse)
*/
function depthChange(value) {
for (var j = 0; j < suion_list.length; j++) {
for (var i = 0; i < checkList.length; i++) {
if (deep_list[suion_list[j]][i] != '') {
document.getElementById('depth' + j + i).checked = value;
}
}
}
for (var i = 0; i < checkList.length; i++) {
checkList[i] = value;
set_cookie('past_check' + i, value, 365);
}
change_graph();
}
/**
* チェックボックス一斉切り替え(最新のデータ)
* @param {boolean} value 変更する値(TrueかFalse)
*/
function now_depthChange(value) {
for (i = 0; i < checkList2.length; i++) {
document.getElementById('now_depth' + i).checked = value;
checkList2[i] = value;
set_cookie('now_check' + i, value, 365);
}
draw_now_graph();
}
/**
* チェックボックス一斉切り替え(気温)
* @param {boolean} value 変更する値(TrueかFalse)
*/
function temp_checkChange(value) {
for (i = 0; i < checkList3.length; i++) {
document.getElementById('temp_pt' + i).checked = value;
checkList3[i] = value;
set_cookie('temp_check' + i, value, 365);
}
draw_temp_graph(graph_hour[suion_list.length][hh[suion_list.length]]);
}
/**
* 過去の水温変化グラフにおける表示項目の切り替え
* 関数名と実際の処理が合っていないので関数名を変更する必要あり
* さらにいうとプレビューにおけるチェックボックス切り替えと混同しやすい
* @param {number} num1 測点ID
* @param {number} num2 チェックボックスのカラムID
*/
function clearDepth(num1, num2) {
// チェックボックス切り替え(過去のデータ)
var check_id1 = 'depth' + num1 + num2;
var check_bool = document.getElementById(check_id1).checked;
for (var i = 0; i < suion_list.length; i++) {
if (i == num1) continue;
if (deep_list[suion_list[i]][num2] != '') {
var check_id2 = 'depth' + i + num2;
document.getElementById(check_id2).checked = check_bool;
}
}
if (check_bool) {
checkList[num2] = true;
set_cookie('past_check' + num2, true, 365);
} else {
checkList[num2] = false;
set_cookie('past_check' + num2, false, 365);
}
change_graph();
}
/**
* 最新グラフにおける表示項目の切り替え
* 関数名と実際の処理が合っていないので関数名を変更する必要あり
* @param {number} num チェックボックスのカラムID
*/
function now_clearDepth(num) {
if (document.getElementById('now_depth' + num).checked) {
checkList2[num] = true;
set_cookie('now_check' + num, true, 365);
} else {
checkList2[num] = false;
set_cookie('now_check' + num, false, 365);
}
draw_now_graph();
}
/**
* 気温グラフにおける表示項目の切り替え
* 関数名と実際の処理が合っていないので関数名を変更する必要あり
* @param {number} num チェックボックスのカラムID
*/
function temp_clearCheck(num) {
// チェックボックス切り替え(気温)
if (document.getElementById('temp_pt' + num).checked) {
checkList3[num] = true;
set_cookie('temp_check' + num, true, 365);
} else {
checkList3[num] = false;
set_cookie('temp_check' + num, false, 365);
}
draw_temp_graph(graph_hour[suion_list.length][hh[suion_list.length]]);
}