/*******************************************************************************
 * 定数定義
 *******************************************************************************/
//暗号化に使用する文字コード(Unicode)の最小値
var MIN_VALUE = 0x0020;
//暗号化に使用する文字コード(Unicode)の最大値。ただしデータ自体の最大値は0x007Cとする
var MAX_VALUE = 0x007E;
var NUM_ADD_VALUE = 0x0030;
var STR_MAX_VALUE = 0x007E - 0x0020;
//Unicodeコード値接頭辞
var UNI_MARK = "%u";
/*******************************************************************************
 * 変数定義
 *******************************************************************************/
//暗号化された暗号化キー。
var encodedKey = null;
//復号した暗号化キー
var key = 0;
//変換元文字列
var orgTable = null;
//変換元文字列を、暗号化用にキーの値だけずらした変換用文字列
var shiftTable = null;
/*******************************************************************************
 * メッセージダイアログを表示する
 *******************************************************************************/
function showMessage(msg) {
	window.alert(msg);
}
/*******************************************************************************
 * 当暗号化／復号機能を利用できる環境か否かを返す。戻り値がfalseなら利用できない
 *******************************************************************************/
function canCipher() {
	return (escape("あ").substr(0,2) == UNI_MARK);
}
/*******************************************************************************
 * データが空かを判断する。null、undefined、長さゼロの文字列を空と見なす
 *******************************************************************************/
function isEmpty(val) {
	return ((val == null) || (val == undefined) || (val == ""));
}
/*******************************************************************************
 * 変換元文字列を作成する
 *******************************************************************************/
function makeOrgTableMain() {
	orgTable = makeOrgTable(MIN_VALUE, MAX_VALUE);
}
function makeOrgTable(min, max) {
	var result = "";
	for(var i=min; i<max ; i++) {
		result += String.fromCharCode(i);
	}
	return result;
}
/*******************************************************************************
 * 暗号化用にキーの値だけずらした変換用文字列を作成する
 *******************************************************************************/
function makeShiftTable() {
	shiftTable = orgTable.slice(key, orgTable.length+1) + orgTable.slice(0, key);
}

