var xmlReq;
var prImg = new Array();
var ctImg = new Array();
var TimerID;
var Opacity = 0;
var GetWidth;
var GetHeight;
var popID;
var popX;
var popY;

function ajaxConnection() {
	try {
		xmlReq = new ActiveXObject('Microsoft.XMLHTTP');
	} catch(e) {
		xmlReq = new XMLHttpRequest();
	}
}

function getNodeValue(current ,name) {
	var nodes = current.getElementsByTagName(name);
	var node = nodes.item(0);
	var txtNode = node.firstChild;
	var anser ='';

	if (txtNode) {
		anser = eDecode(txtNode.nodeValue);
	}
	return anser;
}

function preLoadImage() {
	var gPara = preLoadImage.arguments;
	var i;

	for (i=0; i<gPara.length; i++) {
		prImg[i] = new Image();
		prImg[i].src = gPara[i];
	}
}

function changeImage(gName,gImg) {
	var l1 = gImg.length;
	var i, l2;

	for (i=0; i<prImg.length; i++) {
		var aImg = prImg[i].src;
		l2 = aImg.length;
		if(gImg == aImg.substring(l2-l1,l2)) {
			document.getElementById(gName).src = aImg;
		}
	}
}

function actPreLoadImage(gID,gImg) {
	ctImg[gID] = new Image();
	ctImg[gID].src = gImg;
}

function actOpenHTML() {
	var ifm = document.getElementById('htmlview');

	popID = 'htmlview';
	popX = 800;
	popY = 1200;
	setCenterPosition();
	ifm.style.display = 'block';
}

function actPopUpImage(gEL,gID,gX,gY) {
	var View = document.getElementById(gID);

	popID = gID;
	popX = gX;
	popY = gY;
	document.getElementById('photo').src = ctImg[gEL].src;
	setCenterPosition();
	View.style.filter = 'alpha(opacity=0)';
	View.style.display = 'block';
	TimerID = setInterval('showDisplay(' + gID + ');',10);
}

function setCenterPosition() {
	var Img = document.getElementById(popID);
	var ViewWidth = (GetWidth / 2) - (popX / 2);
	var ViewHeight = (GetHeight / 2 ) - (popY / 2);

	if (ViewHeight <= 0) {
		ViewHeight = 20;
	}
	if (Img) {
		Img.style.top = ViewHeight + getScrollPosition().y;
		Img.style.left = ViewWidth + getScrollPosition().x;
	}
}

function GetDisplaySize() {

	if (document.all) { // IE用
		GetWidth = document.body.clientWidth
		GetHeight = document.body.clientHeight
	} else {
		GetWidth = innerWidth;
		GetHeight = innerHeight;
	}
}

function actCloseImage() {
	document.getElementById('photo').src = './image/spacer.gif';
}

function showDisplay(gID) {

	Opacity = Opacity + 10;
	document.getElementById(gID.id).style.filter = 'alpha(opacity=' + Opacity + ')';
	if (Opacity >= 100) {
		clearInterval(TimerID);
	}
}

function actPrintOut() {
	var v;
	if (navigator.userAgent.match(/msie (\d)/i)) {
		v = (eval(RegExp.$1) >= 5) ? 1 : 0;
	} else if (self.innerWidth) {
		v = (eval(navigator.appVersion.charAt(0)) >= 4) ? 1 : 0;
	} else {
		v = 0;
	}
	if (v) {
		self.print();
	} else {
		alert('お使いのブラウザではこの機能は利用できません');
	}
}

function getScrollPosition() {
	var so = new Object();

	so.x = document.documentElement.scrollLeft || document.body.scrollLeft;
	so.y = document.documentElement.scrollTop  || document.body.scrollTop;
	return so;
}

function NextControl() {
	if(window.event.keyCode == 13) {
		window.event.keyCode = 9; 
	}
}

function NextControlMulti(gEL,gName) {
	if(window.event.keyCode == 13) {
		if (document.getElementById(gName + (gEL+1))) {
			document.getElementById(gName + (gEL+1)).focus();
		} else {
			document.getElementById(gName + '0').focus();
		}
	}
}

function focusControl(gName) {
	if(window.event.keyCode == 13) {
		gName.focus();
	}
}

function closeWindow(gID) {
	var openView = document.getElementById(gID);
	openView.style.display = 'none';
	Opacity = 0;
}

function jsLeft(gStr,gLen) {
	return gStr.substr(0,gLen);
}

function jsMid(gStr,gLen1,gLen2) {
	return gStr.substr(gLen1-1,gLen2);
}

function jsRight(gStr,gLen) {
	return gStr.substr(gStr.length - gLen,gStr.length);
}

function eEncode(gString) {
	var Answer = gString;

	Answer = Answer.replace(/\""/g, ']@22]');
	Answer = Answer.replace(/\\/g, ']@5C]');
	Answer = Answer.replace(/\&/g, ']@26]');
	Answer = Answer.replace(/\''/g, ']@27]');
	Answer = Answer.replace(/\*/g, ']@2A]');
	Answer = Answer.replace(/\:/g, ']@3A]');
	Answer = Answer.replace(/\;/g, ']@3B]');
	Answer = Answer.replace(/\</g, ']@3C]');
	Answer = Answer.replace(/\>/g, ']@3E]');
	Answer = Answer.replace(/\?/g, ']@3F]');
	Answer = Answer.replace(/\･/g, ']@A5]');
	Answer = Answer.replace(/\|/g, ']@7C]');
	return Answer;
}

function eDecode(gString) {
	var Answer = gString;

	Answer = Answer.replace(/\]@22]/g, '\"');
	Answer = Answer.replace(/\]@5C]/g, '\\');
	Answer = Answer.replace(/\]@26]/g, '\&');
	Answer = Answer.replace(/\]@27]/g, '\'');
	Answer = Answer.replace(/\]@2A]/g, '\*');
	Answer = Answer.replace(/\]@3A]/g, '\:');
	Answer = Answer.replace(/\]@3B]/g, '\;');
	Answer = Answer.replace(/\]@3C]/g, '\<');
	Answer = Answer.replace(/\]@3E]/g, '\>');
	Answer = Answer.replace(/\]@3F]/g, '\?');
	Answer = Answer.replace(/\]@A5]/g, '\･');
	Answer = Answer.replace(/\]@7C]/g, '\|');
	return Answer;
}
