Util = new function()
{
var cgiRoot = "/cgi-bin/ushiku/";

var cgiDataRoot = cgiRoot + "data/";
var cgiDataReadNm = "xmlread.cgi";

var cgiVoiceRoot = cgiRoot + "voice/";
var cgiVoiceReadNm = "show.cgi";
var cgiVoiceWriteNm = "write.cgi";

var cgiLinkRoot = cgiRoot + "link/";
var cgiLinkMailNm = "mail.cgi";

var cgiAdminRoot = cgiRoot + "admin/";

var cgiAdminVoiceRoot = cgiAdminRoot + "voice/";
var cgiAdminVoiceHonCtrlNm = "adminHon.cgi";
var cgiAdminVoiceKariCtrlNm = "adminKari.cgi";

var docDataRoot = "/ushiku/kodomonoie/data/";

var infoXmlNm = "info.xml";
var topicXmlNm = "topic.xml";
var voiceXmlNm = "voice.xml";
var monthXmlNm = "month.xml";
var voiceShowXmlNm = "voicePost.xml";

var num2byte = new Array("０", "１", "２", "３", "４", "５", "６", "７", "８", "９");

//---------------------------------------------------------------

this.cgiPathDataRead = cgiDataRoot + cgiDataReadNm;

this.cgiPathVoiceRead = cgiVoiceRoot + cgiVoiceReadNm;
this.cgiPathVoiceWrite = cgiVoiceRoot + cgiVoiceWriteNm;

this.cgiPathLinkMail = cgiLinkRoot + cgiLinkMailNm;

this.cgiPathAdminVoiceHon = cgiAdminVoiceRoot + cgiAdminVoiceHonCtrlNm;
this.cgiPathAdminVoiceKari = cgiAdminVoiceRoot + cgiAdminVoiceKariCtrlNm;

this.xmlPathInfo = docDataRoot + infoXmlNm;
this.xmlPathInfoVoiceShow = docDataRoot + voiceShowXmlNm;

this.xmlNmInfo = infoXmlNm;
this.xmlNmTopic = topicXmlNm;
this.xmlNmVoice = voiceXmlNm;
this.xmlNmMonth = monthXmlNm;

this.openWindow = function(href, name, prmWidth) {
	var width = (prmWidth == null) ? screen.width : prmWidth;
	var winobj = window.open(href, name, "'left=0, top=0, " + "width=" + width + ", height=" + screen.height + ", scrollbars=yes, resizable=yes'");
	return winobj;
}

this.get2byteNum = function(no) {

	var ret = "";

	var strNo = no.toString();
	for(var i = 0; i < strNo.length; i++) {

		ret += num2byte[parseInt(strNo.substr(i, 1))];
	}
	return ret;
}

this.textareaJustify = function() {

	var obj = document.getElementsByTagName("textarea");
	for(var i = 0; i < obj.length; i++){

		var textArea = obj[i];

		if (!document.all) textArea.style.height = "1em";
		textArea.style.height = (textArea.scrollHeight + 10) + "px";
	}
}

this.textareaAdjustSafari = function() {

	var ua = navigator.userAgent;
	if ((ua.indexOf("Chrome") < 0) && (ua.indexOf("KHTML") >= 0)) {

		var sheet = document.styleSheets[0];
		var ruleindex = sheet.cssRules.length;
		return sheet.insertRule( ".textArea { width: 776px; }", ruleindex );
	}
}

this.replaceAll = function(val, repTbl, prefix) {

	var repVal = val.split(prefix);
	for (var i = 1; i < repVal.length; i++) {

		var orgRepVal = prefix + repVal[i];
		for (var srcStr in repTbl) {

			var repRepVal = orgRepVal.replace(prefix + srcStr, repTbl[srcStr]);
			if (orgRepVal != repRepVal) {

				repVal[i] = repRepVal;
				break;
			}
		}
	}

	return repVal.join("");
}

this.linkCullent = function() {

	if (window.self == window.top) return;
	if (window.self.name != "mainFrame") return;

	var widthDef = 131;
	var widthCul = 150;

	var linkPolling = function() {
		var a = null;
		try {
			a = parent.leftFrame.document.getElementsByTagName("a");
		} catch(e) {
		}
		if (a == null || a.length == 0) {
			setTimeout(linkPolling, 1);
			return;
		}
		for(var i = 0; i < a.length; i++) {
			if (a[i].style.display.toLowerCase() == 'none') continue;

			var a2 = a[i].nextSibling;
			var img = a[i].getElementsByTagName("img")[0];
			if ((location.href.indexOf(a[i].href) == 0) || (a2 && location.href.indexOf(a2.href) == 0)) {
				img.width = widthCul;
			} else {
				img.width = widthDef;
			}
		}
	}

	linkPolling();
}

if (window.addEventListener) {

	window.addEventListener("load", this.linkCullent, false);
} else if (window.attachEvent) {

	window.attachEvent("onload", this.linkCullent);
}

}
