/* 個人台帳を開く際のスタイル */
var personal_table_style = 'width=900,height=700,menubar=yes,toolbar=yes,status=yes,scrollbars=yes,resizable=yes';

/* 画像ファイルアップロードを開く際のスタイル */
var file_upload_peace = 'width=580,height=650,scrollbars=no,resizable=yes,status=no';
var file_upload_corpsite = 'width=608,height=505,scrollbars=no,resizable=yes,status=no';



function setInnerFrameSrc(target, selectBox, uri) {
	
	var selectValue = (selectBox != null && selectBox.selectedIndex >= 0) ? selectBox.options[selectBox.selectedIndex].value : null;
	
	if (selectValue == null || selectValue == '') {
		$(target).src = '';
	} else {
		
		var params = selectValue.split('=');
		
		var formElement = document.createElement('form');
		formElement.action = (uri + selectValue);
		formElement.method = 'POST';
		formElement.target = target;
		
		var rlElement = document.createElement('input');
		rlElement.type = 'hidden';
		rlElement.name = params[0];
		rlElement.value = params[1];
		formElement.appendChild(rlElement);
		
		document.getElementsByTagName('body')[0].appendChild(formElement);
		formElement.submit();
		
	}
	
}

/* 
 * @deprecated use <code>SelectElement.options[SelectElement.selectedIndex].value</code>
 */
function getSelectValueFromSelectBox(selectBox) {
	var options = selectBox.getElementsByTagName('option');
	for (var i = 0; i < options.length; i++) {
		if (options[i].selected) {
		  return  options[i].value;
		}
	}
}




/*
 * ルートのチェックボックスにチェックを入れたときに
 * 一括で指定された名前のチェックボックスのon,offが切り替わります。
 * 
 */
function checkbox_on_off(root, num, targetName) {
	var itemId = root.id;
	for (var i = 0; i < num; i++) {
		itemId = itemId.substring(0, itemId.lastIndexOf(":"));
	}

	if (targetName == undefined) {
		targetName = '';
	}
	var pattern = itemId + ".*" + targetName;
	var items = document.getElementsByTagName('input');

	for (var i = 0; i < items.length; i++) {
		if (items[i].type == 'checkbox') {
			var checkboxItemName = items[i].name;
			if(checkboxItemName.match(pattern) && checkboxItemName != root.id) {
				items[i].checked = root.checked;
			}
		}
	}
}

/*
 * ボタンをクリックしたときに
 * 一括で指定された名前のチェックボックスの状態を反転します。
 * 
 */
function checkbox_on_off_by_button(targetName, checked) {
	var pattern = ".*" + targetName;
	var items = document.getElementsByTagName('input');

	for (var i = 0; i < items.length; i++) {
		if (items[i].type == 'checkbox') {
			var checkboxItemName = items[i].name;
			
			if(checkboxItemName.match(pattern)) {
			    if (checked == undefined) {

				    if (items[i].checked) {
				        items[i].checked = false;
 				    } else {
				        items[i].checked = true;
				    }

			    } else {
				    items[i].checked = checked;
			    }
			    
			}
		}
	}
}

var IE = 0,NN = 0,N6 = 0;
var xxx=0 , yyy=0 ; 
if(document.all) IE = true;
else if(document.layers) NN = true;
else if(document.getElementById) N6 = true;

var lastName = '2';
var firstName = '3';

//var newOptionText = '取り込まない';
var newOptionValue = '99';


function move_right(frm) {
	var personalInfoItemBeforeSelectOptions = findElement(frm, 'personalInfoItemBeforeSelect').getElementsByTagName('option');
	var personalInfoItemAfterSelectOptions = findElement(frm, 'personalInfoItemAfterSelect').getElementsByTagName('option');
	
	
	var personalInfoItemAfterSelectOptions;
		
	for (var i = 0; i < personalInfoItemBeforeSelectOptions.length; i++) {
		if (personalInfoItemBeforeSelectOptions[i].selected) {
			var newOption = createNewOption(personalInfoItemBeforeSelectOptions[i].text, personalInfoItemBeforeSelectOptions[i].value, true);
			findElement(frm, 'personalInfoItemBeforeSelect').remove(i);
			insert(findElement(frm, 'personalInfoItemAfterSelect'), newOption, personalInfoItemAfterSelectOptions.length);
			i = -1;
		}
	}
	var t = new Array();

	for(var j = 0; j < personalInfoItemBeforeSelectOptions.length; j++) {
		t[j] = findElement(frm, 'personalInfoItemBeforeSelect')[j];
	}

	for(var i = 0; i < personalInfoItemBeforeSelectOptions.length; i++) {
		findElement(frm, 'personalInfoItemBeforeSelect').remove(i);
	}

	for(var i = 0; i < t.length; i++) {
		findElement(frm, 'personalInfoItemBeforeSelect')[i] = t[i];
	}

}

/*
 * 姓（漢字）、名（漢字）以外は選択された場合に左に移動させます。
 */
function move_left_template(frm, sortNumbers) {
	var personalInfoItemBeforeSelectOptions = findElement(frm, 'personalInfoItemBeforeSelect').getElementsByTagName('option');
	var personalInfoItemAfterSelectOptions = findElement(frm, 'personalInfoItemAfterSelect').getElementsByTagName('option');
	
	for (var i = 0; i < personalInfoItemAfterSelectOptions.length; i++) {
		if (personalInfoItemAfterSelectOptions[i].selected && personalInfoItemAfterSelectOptions[i].value != newOptionValue) {
			if(!(personalInfoItemAfterSelectOptions[i].value == lastName || personalInfoItemAfterSelectOptions[i].value == firstName)){
				var newOption = createNewOption(personalInfoItemAfterSelectOptions[i].text, personalInfoItemAfterSelectOptions[i].value);
				newOption.selected = true;
				insert(findElement(frm, 'personalInfoItemBeforeSelect'), newOption, personalInfoItemBeforeSelectOptions.length);
				findElement(frm, 'personalInfoItemAfterSelect').remove(i);
				i = -1;
			}
		}
	}
	
	var t = new Array();

	for(var j = 0; j < personalInfoItemAfterSelectOptions.length; j++) {
		t[j] = findElement(frm, 'personalInfoItemAfterSelect')[j];
	}

	for(var i = 0; i < personalInfoItemAfterSelectOptions.length; i++) {
		findElement(frm, 'personalInfoItemAfterSelect').remove(i);
	}

	for(var i = 0; i < t.length; i++) {
		findElement(frm, 'personalInfoItemAfterSelect')[i] = t[i];
	}
	
	/* ---- Sort ---- */
	var rightArray = new Array();
	for (var i = 0; i < personalInfoItemBeforeSelectOptions.length; i++){
		rightArray[i] = new Option(personalInfoItemBeforeSelectOptions[i].text, personalInfoItemBeforeSelectOptions[i].value);
		rightArray[i].selected = personalInfoItemBeforeSelectOptions[i].selected;
	}
	
	var sortLogic = function(left, right) {
		var a = left.value - 0;
		var b = right.value - 0;
		if (sortNumbers) {
			if (sortNumbers[a]) a = sortNumbers[a];
			if (sortNumbers[b]) b = sortNumbers[b];
		}
		return (a < b) ? -1 : (a > b) ? 1 : 0;
	}
	
	rightArray = rightArray.sort(sortLogic);
	
	var selectElement = findElement(frm, 'personalInfoItemBeforeSelect');
	for (var i = 0; i < rightArray.length; i++){
		selectElement[i] = rightArray[i];
	}
	
}

function move_left(frm, sortNumbers) {
	var personalInfoItemBeforeSelectOptions = findElement(frm, 'personalInfoItemBeforeSelect').getElementsByTagName('option');
	var personalInfoItemAfterSelectOptions = findElement(frm, 'personalInfoItemAfterSelect').getElementsByTagName('option');
	
	for (var i = 0; i < personalInfoItemAfterSelectOptions.length; i++) {
		if (personalInfoItemAfterSelectOptions[i].selected && personalInfoItemAfterSelectOptions[i].value != newOptionValue) {			
			var newOption = createNewOption(personalInfoItemAfterSelectOptions[i].text, personalInfoItemAfterSelectOptions[i].value);
			newOption.selected = true;
			insert(findElement(frm, 'personalInfoItemBeforeSelect'), newOption, personalInfoItemBeforeSelectOptions.length);
			findElement(frm, 'personalInfoItemAfterSelect').remove(i);
			i = -1;			
		}
	}
	
	/* ---- Sort ---- */
	var rightArray = new Array();
	for (var i = 0; i < personalInfoItemBeforeSelectOptions.length; i++){
		rightArray[i] = new Option(personalInfoItemBeforeSelectOptions[i].text, personalInfoItemBeforeSelectOptions[i].value);
		rightArray[i].selected = personalInfoItemBeforeSelectOptions[i].selected;
	}
	
	var sortLogic = function(left, right) {
		var a = left.value - 0;
		var b = right.value - 0;
		if (sortNumbers) {
			if (sortNumbers[a]) a = sortNumbers[a];
			if (sortNumbers[b]) b = sortNumbers[b];
		}
		return (a < b) ? -1 : (a > b) ? 1 : 0;
	}
	
	rightArray = rightArray.sort(sortLogic);
	
	var selectElement = findElement(frm, 'personalInfoItemBeforeSelect');
	for (var i = 0; i < rightArray.length; i++){
		selectElement[i] = rightArray[i];
	}
	
}

function add(frm, newOptionText) {
	var select = findElement(frm, 'personalInfoItemAfterSelect');
	var personalInfoItemAfterSelectOptions = select.getElementsByTagName('option');
	var insertIndex = personalInfoItemAfterSelectOptions.length + 1;
	for (var i = 0; i < personalInfoItemAfterSelectOptions.length; i++) {
		if (personalInfoItemAfterSelectOptions[i].selected) {
			insertIndex = i;
		}
	}

	var newOption = createNewOption(newOptionText, newOptionValue, false);
	insert(select, newOption, ++insertIndex);	
}

function insert(target, newOption, insertIndex) {
	if (IE) {
		target.add(newOption, insertIndex);
	} else if (N6){
		target.insertBefore(newOption, target.options[insertIndex]);
	} else if (NN) {
		target.add(newOption, insertIndex);
	}
}

function up(frm) {
	var select = findElement(frm, 'personalInfoItemAfterSelect');
	var personalInfoItemAfterSelectOptions = select.getElementsByTagName('option');

	if (personalInfoItemAfterSelectOptions.length == 0 || personalInfoItemAfterSelectOptions[0].selected) {
		return;
	}
	
	for (var i = 0; i < personalInfoItemAfterSelectOptions.length; i++) {
		if (personalInfoItemAfterSelectOptions[i].selected) {
			var newOption = createNewOption(personalInfoItemAfterSelectOptions[i].text, personalInfoItemAfterSelectOptions[i].value, true);
			if (i > 0) {
				findElement(frm, 'personalInfoItemAfterSelect').remove(i);
				insert(select, newOption, --i);
				i++;
			}
		}
	}	
}

function down(frm) {
	var select = findElement(frm, 'personalInfoItemAfterSelect');
	var personalInfoItemAfterSelectOptions = select.getElementsByTagName('option');

	if (personalInfoItemAfterSelectOptions.length > 0 && personalInfoItemAfterSelectOptions[personalInfoItemAfterSelectOptions.length-1].selected ) {
		return;
	}
	
	// 選択されたオプションの値を取得
	var selectedOption = new Array();
	for (var i = 0; i < personalInfoItemAfterSelectOptions.length; i++) {
		if (personalInfoItemAfterSelectOptions[i].selected) {
			selectedOption.push(i);
		}
	}

	// 選択されたオプションを、下からスワップ処理をする
	for (i = selectedOption.length-1; i >= 0; i--) {
		for (var j = 0; j < personalInfoItemAfterSelectOptions.length; j++) {
			if (selectedOption[i] == j) {
			    // スワップ処理
				var newOption = createNewOption(personalInfoItemAfterSelectOptions[selectedOption[i]].text, personalInfoItemAfterSelectOptions[selectedOption[i]].value, true);
				findElement(frm, 'personalInfoItemAfterSelect').remove(selectedOption[i]);
				insert(select, newOption, selectedOption[i]+1);
			}
		}
	}
}

function createNewOption(text, value, selected) {
	var newOption = document.createElement('option');
	newOption.text = text;
	newOption.value = value; 
	newOption.selected = selected;
	
	return newOption;
}

function remove(frm) {
	var personalInfoItemAfterSelectOptions = findElement(frm, 'personalInfoItemAfterSelect').getElementsByTagName('option');
	
	for (var i = 0; i < personalInfoItemAfterSelectOptions.length; i++) {
		if (personalInfoItemAfterSelectOptions[i].selected && personalInfoItemAfterSelectOptions[i].value == newOptionValue) {
			findElement(frm, 'personalInfoItemAfterSelect').remove(i);
			i = -1;
		}
	}
}

/*
 * リストボックスの値をすべて選択状態にします。
 */
function selectAll(frm) {
	var personalInfoItemAfterSelectOptions = findElement(frm, 'personalInfoItemAfterSelect').getElementsByTagName('option');
	var personalInfoItemBeforeSelectOptions = findElement(frm, 'personalInfoItemBeforeSelect').getElementsByTagName('option');;
	
	for (var i = 0; i < personalInfoItemAfterSelectOptions.length; i++) {
		personalInfoItemAfterSelectOptions[i].selected = true;
	}
	
	for (var i = 0; i < personalInfoItemBeforeSelectOptions.length; i++) {
		personalInfoItemBeforeSelectOptions[i].selected = true;
	}
}


function findForm(formId) {
	var pattern = ".*" + formId + ".*";
	for (var i = 0; i < document.forms.length; i++) {
		var id = document.forms[i].id;
		if (id.match(pattern)) {
			return document.forms[i];
		}
	}

	return null;
}

function findElement(frm, targetId) {
	var pattern = frm.id + ".*" + targetId;
	for (var i = 0; i < frm.elements.length; i++) {
		var elementId = frm.elements[i].id;
		if (elementId.match(pattern) || elementId == targetId) {
			return frm.elements[i];
		}
	}

	return null;
}

function findElementByName(frm, targetId) {
	var result = new Array();
	var pattern = frm.name + ".*" + targetId;
	for (var i = 0; i < frm.elements.length; i++) {
		var elementName = frm.elements[i].name;
		if (elementName.match(pattern) || elementName == targetId) {
			result.push(frm.elements[i]);
		}
	}

	return result;
}

/**
 * 子画面を立ち上げている場合は親のFormを取得するfunctionです。
 * @param formId 
 */
function findParentForm(formId) {
	var pattern = ".*" + formId + ".*";
	for (var i = 0; i < window.opener.document.forms.length; i++) {
		var id = window.opener.document.forms[i].id;
		if (id.match(pattern)) {
			return window.opener.document.forms[i];
		}
	}

	return null;	
}

/**
 * 削除確認用のfunctionです。リンクを onclick したときに、confirm ダイアログに表示し、確認を求めます。
 * 引数 msg が null の場合、confirm ダイアログに「name + "を削除します。よろしいですか？"」を表示されます。
 * 引数 msg が null でない場合、confirm ダイアログに msg がそのまま表示されます。
 * 
 * @param name 項目名
 * @param msg  独自メッセージ
 * @return ture (as Cancel); false (as Ok)
 */
function conf(name, msg) {
	return !confirm( (msg != null) ? msg : (name + "を削除します。よろしいですか？") );
}

/**
 * 完了画面の自動遷移用のfunctionです。
 * 指定した href のアドレスに指定した msec ミリ秒（未設定またはnullで5秒）後遷移します。
 * 
 * [v1.1]
 * 画面名が指定されている場合で、href に "." が含まれる場合は、
 * 上の階層のディレクトリを指定します。
 * 拡張子を extension （未設定またはnullで".html"）指定することができます。
 * 
 * [v1.2]
 * 遷移先画面に渡すパラメータをparamsに連想配列で指定します。
 *
 * @param href
 * @param msec
 * @param extension
 * @param params
 * @version 1.2
 */
function comp(href, msec, extension, params) {
	
	var extension = (extension || ".html");
	var dir = "";
	
	if (href.substring(href.length - extension.length) != extension) {
		
		while (href.indexOf(".") >= 0) {
			href = href.replace(".", '/');
			dir += "../";
		}
		
		href = dir + href;
		href += extension;
	}
	
	var parameter = "";
	if (location.search && href.indexOf("?") > 0) {
	    parameter = location.search.replace("?", "&");
	} else {
	    parameter = location.search;
	}
	
	document.write("<form name=\"FORM\" id=\"FORM\" action=\"" + href + "\">");
    document.write("<input type=\"hidden\" name=\"_ec\" value=\"" + unescape(parameter.substring(5)) + "\">");
    for(key in params){
    	document.write("<input type=\"hidden\" name=\"" + key + "\" value=\"" + params[key] + "\">");
    }
    document.write("<\/form>");
	setTimeout("document.forms['FORM'].submit();", (msec || 5000));
}

function compDirect(href, msec) {
	var parameter = "";
	if (location.search && href.indexOf("?") > 0) {
	    parameter = location.search.replace("?", "&");
	} else {
	    parameter = location.search;
	}

	setTimeout("location.href = '" + href + parameter + "';", (msec || 5000));
}


function corpComp(href, msec, extension, params) {
	
	var extension = (extension || ".html");
	var dir = "";
	
	if (href.substring(href.length - extension.length) != extension) {
		
		while (href.indexOf(".") >= 0) {
			href = href.replace(".", '/');
			dir += "../";
		}
		
		href = dir + href;
		href += extension;
	}
	
	var parameter = "";
	if (location.search && href.indexOf("?") > 0) {
	    parameter = location.search.replace("?", "&");
	} else {
	    parameter = location.search;
	}
	
	document.write("<form name=\"FORM\" id=\"FORM\" action=\"" + href + "\">");
    document.write("<input type=\"hidden\" name=\"reqId\" value=\"" + unescape(parameter.substring(5)) + "\">");
    for(key in params){
    	document.write("<input type=\"hidden\" name=\"" + key + "\" value=\"" + params[key] + "\">");
    }
    document.write("<\/form>");
	setTimeout("document.forms['FORM'].submit();", (msec || 5000));
}

/* ================================================================
 * ファイル（画像ファイル）アップロード画面を立ち上げる際に使用する関数郡です。
 * formIdにはformタグに指定したm:idの値を指定します。
 * itemIdにはファイルパスを指定するテキストボックスのm:idの値を指定します。
 * ================================================================ */

/* 画像アップロード (peace) */
function openWindow(formId, itemId) {
	w = window.open(
		"/peace/other/image/image_file_reg.html?formId=" + formId + "&itemId=" + itemId,
		"insert_img_window",
		file_upload_peace
	); 
	w.focus();
}

/* [プライベート] ファイルアップロード (peace) */
function openPrivateFileWindow(formId, itemId) {
	w = window.open(
		"/peace/other/file/file_reg.html?formId=" + formId + "&itemId=" + itemId + "&privateFlg=1",
		"insert_img_window",
		file_upload_peace
	); 
	w.focus();
}


/* ファイルアップロード (peace) */
function openFileWindow(formId, itemId) {
	w = window.open(
		"/peace/other/file/file_reg.html?formId=" + formId + "&itemId=" + itemId,
		"insert_img_window",
		file_upload_peace
	); 
	w.focus();
}

/* [プライベート] 画像アップロード (corpsite) */
function openPrivateImageWindow(formId, itemId) {
	w = window.open(
		"/corpsite/upload/image_file_reg.html?formId=" + formId + "&itemId=" + itemId + "&privateFlg=true",
		"insert_img_window",
		file_upload_corpsite
	); 
	w.focus();
}

/**
 * @deprecated use #openPrivateImageWindow(formId, itemId)
 * 画像アップロード (corpsite)
 */
function openWindowCorpsite(formId, itemId) {
	w = window.open(
		"/corpsite/upload/image_file_reg.html?formId=" + formId + "&itemId=" + itemId,
		"insert_img_window",
		file_upload_corpsite
	); 
	w.focus();
}


/**
 * 新しいウィンドウを別ウィンドウで開き、フォーカスさせます。
 * 引数に url（遷移先のアドレス）と、name（ウィンドウの名前）を指定します。
 * styles には、直接スタイルを文字列で指定するか、JSON形式のオブジェクトで指定して下さい。
 * オブジェクトで指定した場合は、指定が無い属性をプライベート変数defaultStylesで指定された値で補完します。
 * ただし、defaultStylesで指定された属性以外は反映されません。
 * 
 * [defaultStyles]
 * width=512		ウィンドウの横幅。
 * height=320		ウィンドウの縦幅。
 * directories=yes	ユーザ設定ツールバーの表示。
 * location=yes		場所ツールバーの表示。
 * menubar=yes		メニューバーの表示。
 * resizable=yes	リサイズを可能にする。
 * scrollbars=yes	スクロールバーの表示。
 * status=yes		ステータスバーの表示。
 * toolbar=yes		ツールバーの表示。
 *
 *
 * @param url
 * @param name
 * @param styles
 * @return ウィンドウオブジェクト
 */
function openAnotherWindow(url, name, styles) {
	
	var defaultStyles = {
		"width": "300",
		"height": "300",
		"directories": "yes",
		"location": "yes",
		"menubar": "yes",
		"resizable": "yes",
		"scrollbars": "yes",
		"status": "yes",
		"toolbar": "yes"
	}
	
	
	var styleStr = "";
	
	if (styles != null && typeof(styles) != 'string') {
	
		for (var str in defaultStyles) {
			
			if (styles[str] != null) {
				styleStr += str + "=" + styles[str] + ",";
			} else if (defaultStyles[str] != null) {
				styleStr += str + "=" + defaultStyles[str] + ",";
			}
			
		}
		
		styleStr = styleStr.substring(0, styleStr.length - 1);
		
	} else {
		styleStr = styles;
	}
	
	var win = window.open(url, name, styleStr);
	win.focus();
	
	return win;
}

/*
 * 画像、ファイルアップロードで子画面の指定された
 * テキストボックスまたはテキストエリアに
 * 値を貼り付ける関数です。　
 */
function URLPaste(formName, itemName) {
	var param = document.FORM.elements["FORM:URL"].value;

	frm = findParentForm(formName);
	obj = findElement(frm, itemName);
	start_tag = '[絵:';
	end_tag = ']';
	
	if ("textarea" == obj.type) {
		frm = findForm(formName);
	
		if (window.opener.document.selection) {		
			sel = window.opener.document.selection.createRange();
			
			if (sel.text == '') {
				obj.focus(); //IE対応
				window.opener.document.selection.createRange().text = start_tag + param + end_tag;
				document.FORM.elements["FORM:URL"].focus(); //IE対応
				
			} else {
				sel.text = start_tag + param + end_tag;
			}						
//			sel.text = start_tag + sel.text + end_tag;

		} else if (obj.selectionStart || obj.selectionStart == '0') {
			var startPos = obj.selectionStart ;
			var endPos   = obj.selectionEnd ;
			obj.value = obj.value.substring(0, startPos)
			+ start_tag
			+ param
			+ obj.value.substring(startPos , endPos)
			+ end_tag
			+ obj.value.substring(endPos, obj.value.length);
			
		} else {
			window.opener.document.forms[formName].elements[formName+':'+itemName].value = start_tag + param + end_tag;
		}

	} else {
		window.opener.document.forms[formName].elements[formName+':'+itemName].value = param;
	}    

}

// popup window

function pWin(){
	if(arguments[0]){
		var url = arguments[0];
		var tgt = (arguments[1] ? arguments[1] : '_self');
		var prp = (arguments[2] ? arguments[2] : '');
		var newWin = new Object();
		if(prp) newWin = window.open(url,tgt,prp);
		else newWin = window.open(url,tgt);
		newWin.focus();
	}
}

var defaultOffset = 0;

var offset = defaultOffset;

/*
 * １カラム分右に移動します
 * @param limit 画面に表示させる個数
 * @param itemCount 全項目数
 */
function forward(limit, itemCount) {
	if (offset + limit >= itemCount) {
		return ;
	}
	
	offset++;
	display(offset + limit - 1, offset - 1);
}

/*
 * １カラム分左に移動します
 * @param limit 画面に表示させる個数
 * @param itemCount 全項目数
 */
function back(limit, itemCount) {
	if (offset <= defaultOffset) {
		return ;
	}
	
	offset--;
	display(offset, offset + limit);
}

/*
 * オフセットから、表示数分だけ表示します。
 */
function display(displayColumn, hiddenColumn) {
	if (document.FORM.all) {
		td = document.getElementsByTagName('td');
		for (i = 0; i < td.length; i++) {
			if (td[i].name == displayColumn) {
				td[i].style.display = '';
			} else if (td[i].name == hiddenColumn) {
				td[i].style.display = 'none';
			}
		}
	} else {
		td = document.getElementsByName(displayColumn.toString());
		for (i = 0; i < td.length; i++) {
			td[i].style.display = '';
		}
		td = document.getElementsByName(hiddenColumn.toString());
		for (i = 0; i < td.length; i++) {
			td[i].style.display = 'none';
		}
	}
}

/*
 * すべてのセルを非表示にします。
 */
/*
function hide(itemCount) {
	for (i = 0; i < itemCount; i++) {
		td = getTdElementsByName(i.toString());
		for (j = 0; j < td.length; j++) {
			td[j].style.display = 'none';
		}
	}
}
*/

/*
 * 名前から、複数の<TD>要素を取得します。
 */
function getTdElementsByName(elementName) {
	result = new Array();
	if (document.FORM.all) {
	    all = document.getElementsByTagName('td');
	    for (elemIndex = 0; elemIndex < all.length; elemIndex++) {
		    if (all[elemIndex].name == elementName) {
	            result.push(all[elemIndex]);
	        }
  	    }
	} else {
	    all = document.getElementsByName(elementName);
	    for (elemIndex = 0; elemIndex < all.length; elemIndex++) {
	       result.push(all[elemIndex]);
  	    }
	}

	return result;
}

function close_win(){
	var nvua = navigator.userAgent;
	if(nvua.indexOf('MSIE') >= 0){
		if(nvua.indexOf('MSIE 5.0') == -1) {
		top.opener = '';
		}
	}
	else if(nvua.indexOf('Gecko') >= 0){
		top.name = 'CLOSE_WINDOW';
		wid = window.open('','CLOSE_WINDOW');
	}
	top.close();
}

function isPopup() {
	return (window.history.length < 2);
}

function existOpener() {
	if (window.parent) {
	    if (window.parent.opener) {
			return true;
	    } else {
			return false;
	    }
	} else {
	    if (window.opener) {
			return true;
	    } else {
			return false;
		}
	}
}

var host_url = document.location.protocol + "//" + document.location.host;

function changeActionProtocol(changeForm, protocol) {
	if (changeForm != null && 
	    (changeForm.action.indexOf('http://') >= 0 ||
	     changeForm.action.indexOf('https://') >= 0)) {
		
		changeForm.action = replaceProtocol(changeForm.action, protocol);
	} else {
		changeForm.action = replaceProtocol(host_url, protocol) + changeForm.action;
	}
}

function replaceProtocol(url, protocol) {
	if (url.indexOf('http://') >= 0) {
		return url.replace('http://', protocol + '://');
	} else if (url.indexOf('https://') >= 0) {
		return url.replace('https://', protocol + '://');
	}
	
	return url;
}

function getDateDecimalAsJoinedString() {
	var date = new Date();
	return (
		(
			date.getYear()
		) + "" + (
			(date.getMonth() < 10) ? "0" + date.getMonth() : date.getMonth()
		) + "" + (
			(date.getDate() < 10) ? "0" + date.getDate() : date.getDate()
		) + "" + (
			(date.getDay() < 10) ? "0" + date.getDay() : date.getDay()
		) + "" + (
			(date.getHours() < 10) ? "0" + date.getHours() : date.getHours()
		) + "" + (
			(date.getMinutes() < 10) ? "0" + date.getMinutes() : date.getMinutes()
		) + "" + (
			(date.getSeconds() < 10) ? "0" + date.getSeconds() : date.getSeconds()
		)
	);
}

function getSelectedElementSize(form,targetId,num,message) {

   var selectItems = findElement(form,targetId);
   
   var sum = 0;
   
   for(i=0; i < selectItems.options.length; i++ ){
      if(selectItems.options[i].selected) sum++
   }
   
   var isOver = sum > num;
   
   if(isOver) alert(message);
   
   return !isOver;
   
}

KL_CRYPT_KEY="Mypage no cache project 200706";
KL_COOKIE_CHARS="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
function kl_crypt(s,enc){
        var chars=KL_COOKIE_CHARS;
        var key=escape(KL_CRYPT_KEY);
        var t=""; var c,n,m;
        for(var i=0;i<s.length;i++){
                c=s.charAt(i);
                n=chars.indexOf(c);
                if(n>=0){
                        m=chars.indexOf(key.charAt(i%key.length));
                        if(enc) n=n+m; else n=n-m;
                        if(n<0) n=n+chars.length;
                        if(n>=chars.length) n=n-chars.length;
                        c=chars.charAt(n);
                }
                t+=c;
        }
        return t;
}
function kl_encrypt(s){ return kl_crypt(s,1); }
function kl_decrypt(s){ return kl_crypt(s,0); }

//入力文字列が日本語の場合は以下を利用//
function kl_encryptj(s){ return kl_crypt(escape(s),1); }
function kl_decryptj(s){ return unescape(kl_crypt(s,0)); }

