﻿
//------------------------ Library START -------------------
//---------------------
//  一覧取得
//---------------------
function showLibrary(inArea) {
	requestLibraryAjax(inArea);
}

//---------------------
//  一覧取得処理
//---------------------
function requestLibraryAjax(inArea) {

	var request = new Request();
	if (!request.ajax) return;

	$("#libraryList").html("<tr><td colspan=\"4\">データ取得中...</td></tr>");
	libList = (inArea == '0') ? $.cookie('libraryList') : "";
	var params = "area=" + inArea
				+ "&list=" + libList;

	var callback = function (response, option) {
		drawLibraryList(response, option.area);
    	return;
	}
	request.option.area = inArea;
	request.post("ajaxLibrary.php", params, callback);

}

function editIsbn(inIsbn) {
	var newVal = inIsbn;
	var len = inIsbn.length;
	if (len == 10) {
		var flg = inIsbn.substring(1,3);
		if (flg < 25) {
			newVal = inIsbn.substring(0,1) + "-" + inIsbn.substring(1,3) + "-" + inIsbn.substring(3,9) + "-" + inIsbn.substring(9,10);
		} else if (flg < 75) {
			newVal = inIsbn.substring(0,1) + "-" + inIsbn.substring(1,4) + "-" + inIsbn.substring(4,9) + "-" + inIsbn.substring(9,10);
		} else if (flg < 87) {
			newVal = inIsbn.substring(0,1) + "-" + inIsbn.substring(1,5) + "-" + inIsbn.substring(5,9) + "-" + inIsbn.substring(9,10);
		} else if (flg < 90) {
			newVal = inIsbn.substring(0,1) + "-" + inIsbn.substring(1,6) + "-" + inIsbn.substring(6,9) + "-" + inIsbn.substring(9,10);
		} else {
			newVal = inIsbn.substring(0,1) + "-" + inIsbn.substring(1,7) + "-" + inIsbn.substring(7,9) + "-" + inIsbn.substring(9,10);
		}
		//alert(newVal);
	}
	return newVal;
}

//---------------------
//  一覧表示
//---------------------
function drawLibraryList(inData, inArea) {

	try{
		var data = json_parse(inData);
	}catch(e){
		alert("エラー：" + e.message);
		return;
	}

	var html = new Array();
	if (data.msg == "") {
		var isbn13 = $("#isbn").val();
		var isbn10 = $("#isbn10").val();
		var isbn10a = editIsbn(isbn10);

		var ii = data.item.length;
		// 選択、都道府県、図書館名、検索
		for (var i = 0; i < ii; i++) {
			var v = data.item[i];
			var _id = v.id;

			html.push('<tr>');
			html.push('<td class="ac"><input type="checkbox" name="chk" id="chk_' + _id + '" value="' + _id + '" /></td>');
			html.push('<td>' + AreaNameArr[v.area] + '</td>');
			html.push('<td><a href="' + v.url + '" target="_blank">' + v.name + '</td>');
			html.push('<td class="ac">');
			if (v.search) {
				switch(v.type) {
					case '0': html.push(v.search.replace(data.key, isbn13)); break;
					case '1': html.push(v.search.replace(data.key, isbn10)); break;
					case '2': alert(isbn10a); html.push(v.search.replace(data.key, isbn10a)); break;
					case '3': html.push(v.search.replace(data.key, isbn13.substring(3,13))); break;
				}
			}
			html.push('</td>');
			html.push('</tr>');
		}
	} else {
		var ii = 0;
		html.push('<tr><td colspan="4"><p class="msgBox">' + data.msg + '</p></td></tr>');
	}
	$("#libraryList").html(html.join(""));

	if (ii == 0) {
		$("#saveLibrary").html("");
	} else {
		if (inArea == '0') {
			var mode = "del"; var dsp = "除外";
		} else {
			var mode = "add"; var dsp = "保存";
		}
		$("#saveLibrary").html('<input type="button" onclick="saveLibraryList(\'' + mode + '\')" value="選択した図書館を' + dsp + '">');
	}
	return;
}

function saveLibraryList(inMode) {

	var checked = $("#libraryList input:checkbox");
	var arr = new Array();
	$(checked).each(function() {
		if ($(this).attr("checked")) arr.push($(this).val());
	});
	if (arr.length == 0) return;

	// 保存済みの値
	var savedValues = $.cookie('libraryList');
	if (!savedValues) savedValues = "";

	if (inMode == "add") {
		if (savedValues.length == 0) {
			var newArr = arr;
		}else {
			var savedArr = new Array(savedValues);
			var newArr = savedArr.concat(arr);
		}
		var newValue = newArr.join();
	} else if (inMode == "del") {
		if (savedValues.length == 0) return;

		var tmp = "," + savedValues + ",";
		for (var i = 0; i < arr.length; i++) {
			var reg = new RegExp("," + arr[i] + ",", "g");
			tmp = tmp.replace(reg, ",");
		}
		var newValue = (tmp.length == 1) ? "0" : tmp.substring(1, tmp.length - 1);
	} else {
		return;
	}

	$.cookie('libraryList', newValue, {path: '/', expires: 90});
	if (inMode == "del") {
		showLibrary(0);
		alert("選択した図書館を除外しました。");
	} else {
		alert("選択した図書館を保存しました。");
	}
}

function showData(inName) {
	var windowName = "w" + inName;
	var form = document.getElementById(inName);
	if (!form) {
		alert('form not found!! ' + inName);
		return;
	}
	window.open("about:blank", windowName);
	form.target = windowName;
	form.submit();
}

//------------------------ Library END -------------------

