// JavaScript Document
var submitFlg = 0;			// 二度押し禁止用フラグ
function funcBack (frm, fname) {
	if (submitFlg == 0) {
		submitFlg = 1;
		var frms = document.forms[0];
		frms.action = fname;
		frms.submit();
	}
}

function funcSubmit (frm, fname, val1) {
	with (frm) {
		action = fname;
		id.value = val1;
		submit();
	}
	
}

function submitForm (fNum) {
	if (submitFlg == 0) {
		submitFlg = 1;
		if (fNum == undefined) fNum = 0;
		var frms = document.forms[fNum];
		frms.submit();
	}
}

function submitDownload (fNum) {
	if (fNum == undefined) fNum = 0;
	var frms = document.forms[fNum];
	frms.submit();
	return false;
}

function submitDraft (fNum) {
	if (submitFlg == 0) {
		if (fNum == undefined) fNum = 0;
		submitFlg = 1;
		var frms = document.forms[fNum];
		frms.regist.value = 2;
		frms.submit();
	}
}

function radioValue(element){
	var len;
	len = element.length;
	for (i=0;i<len;i++) {
		if (element[i].checked) return element[i].value;
	}
	return "";
}

function setAllCheckBox (frm, name, check){
	var i;
	var object = frm[name + '[]'];
	
	// 複数行の場合
	if (object.length) {
		for (i = 0; i < object.length; i++) {
			object[i].checked = check;
		}
	// 1行の場合
	} else {
		object.checked = check;
	}
}

function calcUnitReq(frm, ghg){
	if (frm.production.value.match(/^[0-9]+$/) && frm.production.value != 0){
		var unit_req = ghg / frm.production.value;
		var unit_req_str = unit_req.toString();
		var dot_idx = unit_req_str.indexOf(".");
		var calc = 1;
		if(dot_idx != -1){
			var cut = 4 - dot_idx;
			// 不足桁数分0を付加する
			for (i = 0; i < cut; i++) {
				calc += "0";
			}
		}
		unit_req = Math.round( (unit_req * calc) ) / calc;
		frm.unit_req.value = unit_req;
	}else{
		frm.unit_req.value = '';
	}
	
	calcAvgReq(frm);
}

function calcAvgReq(frm){
	var cnt = 0;
	var avg_sum = 0;
	if(frm.unit_req.value > 0 && frm.unit_req_1_year_ago.value > 0){
		var avg = frm.unit_req.value / frm.unit_req_1_year_ago.value * 100;
		avg = Math.round( (avg * 10) ) / 10;
		avg_sum += avg;
		cnt++;
	}
	if(frm.unit_req_1_year_ago.value > 0 && frm.unit_req_2_year_ago.value > 0){
		var avg = frm.unit_req_1_year_ago.value / frm.unit_req_2_year_ago.value * 100;
		avg = Math.round( (avg * 10) ) / 10;
		avg_sum += avg;
		cnt++;
	}
	if(frm.unit_req_2_year_ago.value > 0 && frm.unit_req_3_year_ago.value > 0){
		var avg = frm.unit_req_2_year_ago.value / frm.unit_req_3_year_ago.value * 100;
		avg = Math.round( (avg * 10) ) / 10;
		avg_sum += avg;
		cnt++;
	}
	if(frm.unit_req_3_year_ago.value > 0 && frm.unit_req_4_year_ago.value > 0){
		var avg = frm.unit_req_3_year_ago.value / frm.unit_req_4_year_ago.value * 100;
		avg = Math.round( (avg * 10) ) / 10;
		avg_sum += avg;
		cnt++;
	}
	
	if(cnt > 0){
		avg_sum = Math.round( (avg_sum / cnt * 10) ) / 10;
		frm.avg_5_year.value = avg_sum;
	}else if(cnt == 0 && frm.unit_req.value > 0 ){
		frm.avg_5_year.value = 100;
	}else{
		frm.avg_5_year.value = '';
	}
}

function funcMenuMouseOver (num) {
	var classUlName = document.getElementById("menu_list");
	var tagLiName = classUlName.getElementsByTagName("li");
	var tagAName = classUlName.getElementsByTagName("a");

	window.status = tagAName[num].href;
	tagLiName[num].className="menu_li_on";
}

function funcMenuMouseOut (num) {
	var classUlName = document.getElementById("menu_list");
	var tagLiName = classUlName.getElementsByTagName("li");

	window.status = "";
	tagLiName[num].className="menu_li";
}

function funcMenuClick (num) {
	var classUlName = document.getElementById("menu_list");
	var tagAName = classUlName.getElementsByTagName("a");

	location.href = tagAName[num].href;
}

function funcViewDetailPage (id) {
	window.open("./detail.php?id=" + id, "detailpage", "width=800, height=600, menubar=no, toolbar=no, location=no, status=no, resizable=yes, scrollbars=no");
	return false;
}

function funcCSVDownload (formName) {
	with (formName) {
		action = "./csv_download.php";
		submit();
		return false;
	}
}

function funcSearch (formName) {
	with (formName) {
		action = "./";
		submit();
	}
}

function funcViewListPage (formName, code, page) {
	with (formName) {
		elements["id"].value = code;
		elements["p"].value = page;
		action = "./list.php";
		submit();
	}
}

function funcViewResistPage (formName, page) {
	with (formName) {
		elements["p"].value = page;
		action = "./resist.php";
		submit();
	}
}

function funcViewEditPage (formName, code, page) {
	with (formName) {
		elements["id"].value = code;
		elements["p"].value = page;
		action = "./edit.php";
		submit();
	}
}

function funcViewDeletePage (formName, code, page) {
	with (formName) {
		elements["id"].value = code;
		elements["p"].value = page;
		action = "./delete.php";
		submit();
	}
}

function funcViewPointEditPage (formName, code, page) {
	with (formName) {
		elements["id"].value = code;
		elements["p"].value = page;
		action = "./point_edit.php";
		submit();
	}
}

function funcAddFlag (formName, code) {
	with (formName) {
		elements["id"].value = code;
		method = "get";
		action = "./add_flag.php";
		submit();
	}
}

function funcContactStatusView (formName, code) {
	with (formName) {
		elements["id"].value = code;
		document.getElementById("contact1_view_" + code).style.display = "block";
		document.getElementById("contact1_edit_" + code).style.display = "none";
		document.getElementById("contact2_view_" + code).style.display = "block";
		document.getElementById("contact2_edit_" + code).style.display = "none";
		document.getElementById("contact3_view_" + code).style.display = "block";
		document.getElementById("contact3_edit_" + code).style.display = "none";
		document.getElementById("contact4_view_" + code).style.display = "block";
		document.getElementById("contact4_edit_" + code).style.display = "none";
	}
}

function funcContactStatusEdit (formName, code) {
	with (formName) {
		elements["id"].value = code;
		document.getElementById("contact1_view_" + code).style.display = "none";
		document.getElementById("contact1_edit_" + code).style.display = "block";
		document.getElementById("contact2_view_" + code).style.display = "none";
		document.getElementById("contact2_edit_" + code).style.display = "block";
		document.getElementById("contact3_view_" + code).style.display = "none";
		document.getElementById("contact3_edit_" + code).style.display = "block";
		document.getElementById("contact4_view_" + code).style.display = "none";
		document.getElementById("contact4_edit_" + code).style.display = "block";
	}
}

function funcContactStatusUpdate (formName, code) {
	with (formName) {
		elements["id"].value = code;
		method = "post";
		action = "./status_update.php";
		submit();
	}
}

function funcPreviewArticle (formName, element_id, articleId) {
	url = "./preview.php?"+element_id+"="+articleId;
	title = "記事プレビュー画面";
	window.open(
			 url
			,title
			,'width= 640, height=480, menubar=no, toolbar=no, scrollbars=yes'
			);
}

function funcEditArticle (formName, element_id, articleId) {
	with(formName) {
		elements[element_id].value = articleId;
		method = "get";
		action = "./edit.php";
		submit();
	}
}

function funcDeleteArticle (formName, element_id, articleId) {
	with(formName) {
		elements[element_id].value = articleId;
		method = "get";
		action = "./delete.php";
		submit();
	}
}

function funcToggleDisplay(formName, element_id, articleId) {
	with(formName) {
		elements[element_id].value = articleId;
		method = "get";
		action = "./toggle_disp.php";
		submit();
	}
}

function funcOpenPopup(url, title, width, height)
{
	window.open(
			 url
			,title
			,'width=' + width
				+ ', height=' + height
				+ ', menubar=no, toolbar=no, scrollbars=yes'
			);

	return false;
}

var g_cbOnFileSelected;

function funcSelectFile(cbOnFileSelected, articleType, articleId)
{
	g_cbOnFileSelected = cbOnFileSelected;
	funcOpenPopup('../relay/?article_type='+articleType+'&article_id='+articleId
			, 'ファイル選択'
			, 960, 640);
}

function funcOnFileSelected(fileUrl, linkType)
{
	g_cbOnFileSelected(fileUrl, linkType);
}


function funcInsertFile(textareaId, fileUrl, linkType)
{
	if (linkType == 'image') {
		var link_tag = '<img src=\"' + fileUrl + '\" />';
	}
	else if (linkType == 'file' ){
		var link_tag = '<a href="' + fileUrl + '\">[リンクの文字列]</a>'
	}
	var textarea = document.getElementById(textareaId);

	// TODO 仮の処理 最後に挿入--
	textarea.value += link_tag; return;

	textarea.focus();
	if (document.selection) { // IE, Opera
		var range = document.selection.createRange();
        range.text = link_tag;
    } else if (textarea.selectionStart != undefined) { // mozilla
        var start = textarea.selectionStart;
        var end = textarea.selectionEnd;
        textarea.value = textarea.value.substring(0, start) + link_tag + textarea.value.substring(end);
        textarea.setSelectionRange(start + link_tag.length, start + link_tag.length);
    } else {
        textarea.value += link_tag;
    }
}
