﻿function SetSubmitProgram(TargetLayerID){
	TargetLayer = document.getElementById(TargetLayerID);
	TargetLayer.action = "./";
	return true;
}

function PopupSubmitConfirm(TargetLayerID,Message){
	TargetLayer = document.getElementById(TargetLayerID);
	if(TargetLayer.action != '/404.html'){
		if(window.confirm(Message)){
			return true;
		}else{
			return false;
		}
	}else{
		return false;
	}
}

function CheckThisTagAmount(TargetLayerID,DisplayLayerID){
	return false;
}

function createXMLHttpRequest(){
	if(window.XMLHttpRequest){
		httpObj = new XMLHttpRequest();
	}else if(window.ActiveXObject){
		try{
			httpObj = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			httpObj = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return httpObj;
}

function SetValue2InputForm_Text(TargetForm,Notice,Value){
	if(TargetForm.value == Notice){
		TargetForm.value = Value;
	}
	TargetForm.style.color = '#111122';
}

function CountCharAmount(TargetLayer,DisplayLayerID,Is_ReturnMB,MinLength,MaxLength){
	var CharAmount = 0;
	var Text = escape(TargetLayer.value);
	while(Text){
		if(Text.charAt(0) == '%'){
			if(Text.charAt(1).toLowerCase() == 'u'){
				CharAmount += 2;
				Text = Text.substring(6);
			}else{
				CharAmount += 1;
				Text = Text.substring(3);
			}
		}else{
			CharAmount += 1;
			Text = Text.substring(1);
		}
	}
	if(Is_ReturnMB){
		CharAmount = Math.round(CharAmount / 2);
	}
	DisplayLayer = document.getElementById(DisplayLayerID);

	DisplayBox = DisplayLayer.getElementsByTagName('dt');
	DisplayPoint = DisplayBox[0].getElementsByTagName('span');
	DisplayPoint = DisplayPoint[0];
	DisplayPoint.innerHTML = CharAmount;

	DisplayBox2 = DisplayLayer.getElementsByTagName('dd');
	DisplayPoint2 = DisplayBox2[0].getElementsByTagName('span');
	DisplayPoint2 = DisplayPoint2[0];
	DisplayPoint2.innerHTML = RestAmount = MaxLength - CharAmount;

	if(CharAmount < MinLength || RestAmount < 0){
		DisplayPoint.style.color = '#cc0000';
		DisplayPoint.style.fontWeight = 'bold';
		if(RestAmount < 0){
			DisplayBox2[0].innerHTML = '<span>' + -1 * RestAmount + '</span>文字オーバーしています!!';
		}
	}else{
		DisplayPoint.style.color = '#111122';
		DisplayPoint.style.fontWeight = 'normal';
		if(RestAmount == 0){
			DisplayBox2[0].innerHTML = '<span>ちょうど入力上限文字数です</span>';
		}else{
			DisplayBox2[0].innerHTML = 'あと<span>' + RestAmount + '</span>文字書けます';
		}
	}
}

var Is_AppendChild = new Array();
function CheckValidInput(TargetLayer,RegexPattern,DisplayLayerID){
	if(TargetLayer.value.search(RegexPattern) == -1){
		if(Is_AppendChild[DisplayLayerID] != 1){
			var element = document.createElement('dd');
			element.id = "JS_" + DisplayLayerID;	// この条件式のelse時に消すだけなので、統一性が取れれば何でも良い
			element.innerHTML = "規定外の文字/書式が含まれています!";
			var obj = document.getElementById(DisplayLayerID);
			obj.appendChild(element);
			Is_AppendChild[DisplayLayerID] = 1;
		}
	}else{
		if(Is_AppendChild[DisplayLayerID] == 1){
			var element = document.getElementById(DisplayLayerID);
			element.removeChild(document.getElementById("JS_" + DisplayLayerID));
			Is_AppendChild[DisplayLayerID] = 0;
		}
	}
}

function CountCheckedBox(TargetLayerID,DisplayLayerID,MinAmount,MaxAmount,BoxAmount){
	var CheckedAmount = 0;
	var j = BoxAmount - 1;
	TargetLayer = document.getElementById(TargetLayerID);
	Checkbox = TargetLayer.getElementsByTagName('input');
	for(i=0;i<=j;i++){
		if(Checkbox[i].type == 'checkbox' && Checkbox[i].checked){
			CheckedAmount++;
		}
	}
	DisplayLayer = document.getElementById(DisplayLayerID);

	DisplayBox = DisplayLayer.getElementsByTagName('dt');
	DisplayPoint = DisplayBox[0].getElementsByTagName('span');
	DisplayPoint = DisplayPoint[0];
	DisplayPoint.innerHTML = CheckedAmount;

	DisplayBox2 = DisplayLayer.getElementsByTagName('dd');
	DisplayPoint2 = DisplayBox2[0].getElementsByTagName('span');
	DisplayPoint2 = DisplayPoint2[0];
	DisplayPoint2.innerHTML = RestAmount = MaxAmount - CheckedAmount;

	if(CheckedAmount < MinAmount || RestAmount < 0){
		DisplayPoint.style.color = '#cc0000';
		DisplayPoint.style.fontWeight = 'bold';
		if(RestAmount < 0){
			DisplayBox2[0].innerHTML = '<span>' + -1 * RestAmount + '</span>つオーバーしています!!';
		}
	}else{
		DisplayPoint.style.color = '#111122';
		DisplayPoint.style.fontWeight = 'normal';
		if(RestAmount == 0){
			DisplayBox2[0].innerHTML = '<span>選択上限数になりました!</span>';
		}else{
			DisplayBox2[0].innerHTML = 'あと<span>' + RestAmount + '</span>つ選べます';
		}
	}
}

function EscapeHTML(string){
	return string.replace(/[&<>"']/g, function(match) {
		return {
			'&' : '&amp;',
			'<' : '&lt;',
			'>' : '&gt;',
			'"' : '&quot;',
			"'" : '&#39;'
		}[match];
	});
}

function DecodeEscapedHTML(string){
	return string.replace(/(&amp;|&lt;|&gt;|&quot;|&#39;)/g, function(match) {
		return {
			'&amp;' : '&',
			'&lt;' : '<',
			'&gt;' : '>',
			'&quot;' : '"',
			'&#39;' : "'"
		}[match];
	});
}

function MakePreview(TargetLayerID,PreviewLayerID,InputType,MaxAmount,BoxAmount){
	return false;
}

function Is_SameValue(TargetLayer,ComparisonLayerID,DisplayLayerID){
	return false;
}

function LabelOnMouseOver(TargetLayer){
	TargetLayer.style.backgroundColor = '#EEE1F5';
}
function LabelOnMouseOut(TargetLayer){
	TargetLayer.style.backgroundColor = 'transparent';
}

function CountCheckedBox(TargetLayerID,DisplayLayerID,MinAmount,MaxAmount,BoxAmount){
	var CheckedAmount = 0;
	var j = BoxAmount - 1;
	TargetLayer = document.getElementById(TargetLayerID);
	Checkbox = TargetLayer.getElementsByTagName('input');
	for(i=0;i<=j;i++){
		if(Checkbox[i].type == 'checkbox' && Checkbox[i].checked){
			CheckedAmount++;
		}
	}
	DisplayLayer = document.getElementById(DisplayLayerID);

	DisplayBox = DisplayLayer.getElementsByTagName('dt');
	DisplayPoint = DisplayBox[0].getElementsByTagName('span');
	DisplayPoint = DisplayPoint[0];
	DisplayPoint.innerHTML = CheckedAmount;

	DisplayBox2 = DisplayLayer.getElementsByTagName('dd');
	DisplayPoint2 = DisplayBox2[0].getElementsByTagName('span');
	DisplayPoint2 = DisplayPoint2[0];
	DisplayPoint2.innerHTML = RestAmount = MaxAmount - CheckedAmount;

	if(CheckedAmount < MinAmount || RestAmount < 0){
		DisplayPoint.style.color = '#cc0000';
		DisplayPoint.style.fontWeight = 'bold';
		if(RestAmount < 0){
			DisplayBox2[0].innerHTML = '<span>' + -1 * RestAmount + '</span>つオーバーしています!!';
		}
	}else{
		DisplayPoint.style.color = '#111122';
		DisplayPoint.style.fontWeight = 'normal';
		if(RestAmount == 0){
			DisplayBox2[0].innerHTML = '<span>選択上限数になりました!</span>';
		}else{
			DisplayBox2[0].innerHTML = 'あと<span>' + RestAmount + '</span>つ選べます';
		}
	}
}
