// 表示非表示切替
var showChitenId = "";
function chitenShowHide(id) {
if ($('#' + id).is(':visible')) {
$('#chitenImage').html('');
$('#' + id).hide();
} else {
if (showChitenId != "") {
$('#' + showChitenId).hide();
}
if (chitenName[id] == undefined) {
$('#chitenImage').html('
整備中
');
} else if ( chitenImagesPath[id] != "" && chitenImagesPath[id] != '/js/files/image/undefined' ) {
$('#chitenImage').html('' + chitenName[id] + '
');
} else {
$('#chitenImage').html('' + chitenName[id] + '
');
}
// クリック時、読み込まれてなければ、非同期で読み込む。
if ($('#' + id + ' > li').length == 0) {
getAllNendo(id.replace(/^nendo_/, ""));
}
showChitenId = id;
$('#' + id).show();
}
}
var showNendoId = "";
function nendoShowHide(id) {
if ($('#' + id).is(':visible')) {
$('#' + id).hide();
} else {
if (showNendoId != "") {
$('#' + showNendoId).hide();
}
showNendoId = id;
$('#' + id).show();
}
}
// 地点あたりすべての年度データの読み込み
function getAllNendo(code) {
var thisY = new Date().getFullYear();
var bError = false;
// 一旦削除
$('#nendo_' + code + ' > li').remove();
// 2003 年から、現在まで読み込む
for (var i = thisY; i >= (thisY - 5); i--) {
// $.get("/js/files/data/nenpo_" + i + "_" + code + ".txt", function(data){
$.ajax({
type: "GET",
url: "/js/files/data/nenpo_" + i + "_" + code + ".txt",
async: false,
success: function(data){
// エンコードし元データの復元
/***
var str = decodeURI(data).replace(/%2f/g,'/').replace(/%3d/g,'=').replace(/\+/g,' ').replace(/%3a/g,':');
// JSON でパース可能な形に整形
str = str.replace(/\\/g, '');
str = str.replace(//g, '');
str = str.replace(/'/g, '"');
var dataArray = JSON.parse(str);
***/
eval('dataArray='+ decodeURI(data).replace(/%2f/g,'/').replace(/%3d/g,'=').replace(/\+/g,' ').replace(/%3a/g,':'));
var bOutYear = false;
for (var j = 0; j < dataArray.length; j++) {
var nendo = dataArray[j][1]; // 年度
var path = dataArray[j][5]; // Path
var name = dataArray[j][6]; // 説明
if (!bOutYear && nendo != "") {
$('#nendo_' + code).append('' + nendo + ' 年\n\n\n');
// 初期非表示
$('#nendo_' + code + '_' + nendo ).hide();
bOutYear = true;
}
if (bOutYear && name != "") {
if (path) {
$('#nendo_' + code + '_' + nendo ).append('' + name + '\n');
} else {
$('#nendo_' + code + '_' + nendo ).append('' + name + '\n');
}
}
}
}
});
//});
} // for
}
var chitenName = new Array();
var chitenImagesPath = new Array();
// すべての地点データの読込
function getAllChiten() {
var bError = false;
// 地点が増えることも考慮し、すべてを読み込む。
for (var i = 1; !bError && i <= 29; i++) {
/* 地点ID 20、地点ID 21 は、ファイルが存在しない(コードとファイル名が不整合を起こしているのでスキップ)2020.05.21 */
/* 地点ID 9、地点ID 15 は、非表示にする指示があったので対応@2022.11.30 */
if ( i != 9 && i != 15 && i != 20 && i != 21 )
{
// 非同期
// $.get("/js/files/data/chiten_" + i + ".txt", function(data){
$.ajax({
type: "GET",
url: "/js/files/data/chiten_" + i + ".txt",
async: false,
success: function(data){
//console.log(data);
// エンコードし元データの復元
var str = decodeURI(data).replace(/%2f/g,'/').replace(/%3d/g,'=').replace(/\+/g,' ').replace(/%3a/g,':');
//console.log(str);
/***
// JSON でパース可能な形に整形
str = str.replace(/\\/g, '');
str = str.replace(/^\[/, '').replace(/\]$/, '');
// str = str.replace(//g, '');
str = str.replace(/"/g, 'comma');
str = str.replace(/'/g, '"');
var dataArray = JSON.parse(str);
***/
eval('dataArray='+ decodeURI(data).replace(/%2f/g,'/').replace(/%3d/g,'=').replace(/\+/g,' ').replace(/%3a/g,':'));
var code = dataArray[0][1];
var name = dataArray[0][2];
chitenName['nendo_' + code] = dataArray[0][2];
// console.log('image ------> ' + dataArray[0][4]);
if ( dataArray[0][4] != '' && dataArray[0][4] !== 'undefined' ) {
chitenImagesPath['nendo_' + code] = "/js/files/image/" + dataArray[0][4];
} else {
chitenImagesPath['nendo_' + code] = "/image/site/no-image.jpg";
// chitenImagesPath['nendo_' + code] = "";
}
// 地点リストを生成
if (name.indexOf("工業用水") != -1) {
$('#chiten').append('' + name + '\n\n\n');
} else if (name.indexOf("供給点") != -1) {
$('#chiten').append('' + name + '\n\n\n');
} else if (name.indexOf("伊是名浄水場出口") != -1) {
$('#chiten').append('' + name + '\n\n\n');
} else if (name.indexOf("渡嘉敷浄水場出口") != -1) {
$('#chiten').append('' + name + '\n\n\n');
} else if (name.indexOf("座間味海水淡水化施設出口") != -1) {
$('#chiten').append('' + name + '\n\n\n');
} else {
$('#chiten').append('' + name + '\n\n\n');
}
// 初期非表示
$('#nendo_' + code).hide();
// 地点ごとの年度データの読込
// 非同期だとリストが並ばない。同期だと遅すぎるので、クリック時に読み込む。
// getAllNendo(code);
},
error: function(XMLHttpRequest, textStatus, errorThrown){
// 通常はここでtextStatusやerrorThrownの値を見て処理を切り分けるか、
// 単純に通信に失敗した際の処理を記述します。
this; // thisは他のコールバック関数同様にAJAX通信時のオプションを示します。
// bError = true;
}
});
/***
// 非同期
}).fail(function() {
bError = true;
});
***/
} // endo of if
} // for
}
$(function(){
getAllChiten();
});