<!--
//----------------------------------------------------------------------------------------------------
//値設定
//----------------------------------------------------------------------------------------------------
function setInput(ctrl, value)
{
	for(i=0; i<ctrl.length; i++)
	{
		switch(ctrl[i].type)
		{
			case "checkbox":
				if(value.match(ctrl[i].value)==null) continue
				ctrl[i].checked=true
				break
			case "radio":
				if(ctrl[i].value!=value) continue
				ctrl[i].checked=true
				return
			default://select
				if(ctrl[i].value!=value) continue
				ctrl[i].selected=true
				return
		}
	}
}
//----------------------------------------------------------------------------------------------------
// 入力チェック
//----------------------------------------------------------------------------------------------------
//radioチェック
function isRadio(obj, msg)
// 
{
	for(var i=0; i<obj.length; i++)
	{
		if(obj[i].checked)
		{
			return true
		}
	}
	obj[0].focus()
	alert("\""+msg+"\"を選択してください。")
	return false
}
//----------------------------------------------------------------------------------------------------
//selectチェック
function isSelect(obj, msg)
// 
{
	if(obj.options[obj.selectedIndex].value.length!=0) { return true } else 
	{
		obj.focus()
		alert("\""+msg+"\"を選択してください。")
		return false
	}
}
//----------------------------------------------------------------------------------------------------
//文字チェック（XML対応）
function isString(obj, msg)
// 
{
	if(obj.value.length==0)
	{
		obj.focus()
		alert("\""+msg+"\"を入力してください。")
		return false
	}

	var data = obj.value.match(/[&"'<>]/)
	if(data!=null)
	{
		obj.focus()
		alert("\""+msg+"\"は、 & \" ' < > の半角は使用できません。")
		return false
	}
	return true
}
//----------------------------------------------------------------------------------------------------
//数値チェック
function isInteger(obj, msg)
// 
{
	if(obj.value.length==0)
	{
		obj.focus()
		alert("\""+msg+"\"を入力してください。")
		return false
	}

	var data = obj.value.match(/^[0-9]*$/)
	if(data==null)
	{
		obj.focus()
		alert("\""+msg+"\"には、数値を入力してください。")
		return false
	}
	return true
}
//----------------------------------------------------------------------------------------------------
//郵便番号チェック
function isZip(obj)
// 
{
	if(obj.value.length==0)
	{
		obj.focus()
		alert("\"郵便番号\"を入力してください。")
		return false
	}

	var data = obj.value.match(/^\d{3}-\d{4}$|^\d{3}-\d{2}$|^\d{3}$|^\d{7}$/)
	if(data==null)
	{
		obj.focus()
		alert("\"郵便番号\"のフォーマッチが誤っています。")
		return false
	}
	
	return true
}
//----------------------------------------------------------------------------------------------------
// 電話番号チェック
function isTel1(obj)
{
	if(obj.value.length==0)
	{
		obj.focus()
		alert("\"電話番号\"を入力してください。")
		return false
	}

	var data = obj.value.match(/^0\d{1,3}-\d{1,4}-\d{4}$|^0\d{9,10}$/)
	if(data==null)
	{
		obj.focus()
		alert("\"電話番号\"のフォーマッチが誤っています。")
		return false
	}
	
	return true
}
//----------------------------------------------------------------------------------------------------
// 携帯番号チェック
function isTel2(obj, msg)
{
	if(obj.value.length==0)
	{
		obj.focus()
		alert("\"携帯番号\"を入力してください。")
		return false
	}

	var data = obj.value.match(/^0\d0-\d{4}-\d{4}$|^0\d0\d{8}$/)
	if(data==null)
	{
		obj.focus()
		alert("\"携帯番号\"のフォーマッチが誤っています。")
		return false
	}
	
	return true
}
//----------------------------------------------------------------------------------------------------
// FAX番号チェック
function isFax(obj, msg)
{
	if(obj.value.length==0)
	{
		obj.focus()
		alert("\"FAX番号\"を入力してください。")
		return false
	}

	var data = obj.value.match(/^0\d{1,3}-\d{1,4}-\d{4}$|^0\d{9,10}$/)
	if(data==null)
	{
		obj.focus()
		alert("\"FAX番号\"のフォーマッチが誤っています。")
		return false
	}
	
	return true
}
//----------------------------------------------------------------------------------------------------
// メールアドレスチェック
function isMail(obj, msg)
{
	if(obj.value.length==0)
	{
		obj.focus()
		alert("\"メールアドレス\"を入力してください。")
		return false
	}

	data = obj.value.match(/^\S+@\S+\.\S+$|^\S+@\S+\.\S+.\S+$/)
	if(data==null)
	{
		obj.focus()
		alert("\"メールアドレス\"のフォーマッチが誤っています。")
		return false
	}
	
	return true
}
//----------------------------------------------------------------------------------------------------
// パスワードチェック
function isPassword(obj1, obj2)
{
	if(obj1.value.length==0)
	{
		obj1.focus()
		alert("パスワードを入力してください。")
		return false
	}
	if(obj2.value.length==0)
	{
		obj2.focus()
		alert("パスワードの確認が入力されていません。")
		return false
	}

	if(obj1.value!=obj2.value)
	{
		obj2.focus()
		alert("パスワードが一致していません。")
		return false
	}
	
	return true
}//----------------------------------------------------------------------------------------------------
function Cursor(obj, sw)
{
	obj.style.cursor="hand"
	obj.style.color=sw?"#000000":""
	obj.style.backgroundColor=sw?"#FFFF00":""
}
//----------------------------------------------------------------------------------------------------
function readonly(obj, sw)
{
	var attr=document.createAttribute("readonly")
	attr.nodeValue="readonly"
	obj.setAttributeNode(attr)
}
//----------------------------------------------------------------------------------------------------
function BtnEnableds(obj, sw)
{
	for(var i=0; i<obj.elements.length; i++)
	{
		switch(obj.elements[i].type)
		{
			case "submit":
			case "button":
			case "reset":
				obj.elements[i].disabled=!sw
				break
		}
	}
}
//----------------------------------------------------------------------------------------------------
function QueryString(str)
{
	var search=location.search.replace(/\?/, "").split("&")
	var value=new Array()
	for(var i=0; i<search.length; i++)
	{
		var s=search[i].split("=")
		value[s[0].toLowerCase()]=s[1]
	}
	return value[str.toLowerCase()]
}
//----------------------------------------------------------------------------------------------------
// DateTime
//----------------------------------------------------------------------------------------------------
function DateTime()
{
	return new TDateTime()
}
//----------------------------------------------------------------------------------------------------
function TDateTime()
{
}
//----------------------------------------------------------------------------------------------------
function TDateTime.prototype.WeekdayName(date)
{
	if(isNaN(date)) return ""

	var week=date.getDay()
	return Array("日","月","火","水","木","金","土")[week]
}
//----------------------------------------------------------------------------------------------------
function TDateTime.prototype.DateDiff(date1, date2)
{
	date1=new Date(date1)
	date2=new Date(date2)
	d1=new Date(this.DateValue(date1))
	d2=new Date(this.DateValue(date2))
	return (d1-d2)/(24*60*60*1000)
}
//----------------------------------------------------------------------------------------------------
function TDateTime.prototype.DateTimeValue(date)
{
	if(isNaN(date)) return ""
	
	date=new Date(date)
	var year=date.getYear()
	var mon =date.getMonth()+1
	var day =date.getDate()
	var hour=date.getHours()
	var min =date.getMinutes()
	var src =date.getSeconds()
	mon =("00"+mon ).substr((mon >9)?2:1, 2)
	day =("00"+day ).substr((day >9)?2:1, 2)
	hour=("00"+hour).substr((hour>9)?2:1, 2)
	min =("00"+min ).substr((min >9)?2:1, 2)
	src =("00"+src ).substr((src >9)?2:1, 2)
	return year +"/"+ mon +"/"+ day +" "+ hour +":"+ min	// +":"+ src 
}
//----------------------------------------------------------------------------------------------------
function TDateTime.prototype.DateValue(date)
{
	if(isNaN(date)) return ""
	
	date=new Date(date)
	var year=date.getYear()
	var mon =date.getMonth()+1
	var day =date.getDate()
	var hour=date.getHours()
	var min =date.getMinutes()
	var src =date.getSeconds()
	mon =("00"+mon ).substr((mon >9)?2:1, 2)
	day =("00"+day ).substr((day >9)?2:1, 2)
	hour=("00"+hour).substr((hour>9)?2:1, 2)
	min =("00"+min ).substr((min >9)?2:1, 2)
	src =("00"+src ).substr((src >9)?2:1, 2)
	return year +"/"+ mon +"/"+ day
}
//----------------------------------------------------------------------------------------------------
function TDateTime.prototype.TimeValue(date)
{
	if(isNaN(date)) return ""
	
	date=new Date(date)
	var year=date.getYear()
	var mon =date.getMonth()+1
	var day =date.getDate()
	var hour=date.getHours()
	var min =date.getMinutes()
	var src =date.getSeconds()
	mon =("00"+mon ).substr((mon >9)?2:1, 2)
	day =("00"+day ).substr((day >9)?2:1, 2)
	hour=("00"+hour).substr((hour>9)?2:1, 2)
	min =("00"+min ).substr((min >9)?2:1, 2)
	src =("00"+src ).substr((src >9)?2:1, 2)
//	if(hour=="00") hour="24"
	return hour +":"+ min	// +":"+ src 
}
//----------------------------------------------------------------------------------------------------
// Dialog
//----------------------------------------------------------------------------------------------------
function Dialog()
{
	return new TDialog()
}
//----------------------------------------------------------------------------------------------------
function TDialog()
{
	this.Features	="status:no; center:yes; edge:raised; help:no"
	this.Title		=""
}
//----------------------------------------------------------------------------------------------------
function TDialog.prototype.Show(src, argv, width, height)
{
	return showModelessDialog(src, argv, this.Features+"; dialogWidth:"+ width +"px; dialogHeight:"+ height +"px")
}
//----------------------------------------------------------------------------------------------------
function TDialog.prototype.ShowModal(src, argv, width, height)
{
	return showModalDialog(src, argv, this.Features+"; dialogWidth:"+ width +"px; dialogHeight:"+ height +"px")
}
//----------------------------------------------------------------------------------------------------
function TDialog.prototype.OnKeyDown()
{
	switch(event.keyCode)
	{
		case 27:window.close();break
	}
}
//----------------------------------------------------------------------------------------------------
// Microsoft XMLDOM and XMLHTTP
//----------------------------------------------------------------------------------------------------
function DOMObject()
{
//	return new ActiveXObject("Microsoft.XMLDOM")
	return new ActiveXObject("MSXML2.DOMDocument")
}
//----------------------------------------------------------------------------------------------------
function HTTPObject()
{
//	return new ActiveXObject("Microsoft.XMLHTTP")
	return new ActiveXObject("MSXML2.XMLHTTP")
}
//----------------------------------------------------------------------------------------------------
function XML()
{
	return new TXML()
}
//----------------------------------------------------------------------------------------------------
function TXML()
{
	this.DOM=DOMObject()
	this.HTTP=HTTPObject()
}
//----------------------------------------------------------------------------------------------------
function TXML.prototype.Load(filename)
{
	this.DOM.async=false
	if(this.DOM.load(filename))
		this.document=this.DOM.documentElement
	else
		this.document=null
	return this.DOM
}
//----------------------------------------------------------------------------------------------------
function TXML.prototype.LoadXML(body)
{
	if(this.DOM.loadXML(body))
		this.document=this.DOM.documentlement
	else
		this.document=null
	return this.DOM
}
//----------------------------------------------------------------------------------------------------
function TXML.prototype.Format(format, filename)
{
	var xsl=DOMObject()
	xsl.async=false
	if(!xsl.load(format))
		return null
	
	this.DOM.async=false
	if(this.DOM.load(filename))
		return this.DOM.transformNode(xsl.documentElement)
	else
		return null
}
//----------------------------------------------------------------------------------------------------
function TXML.prototype.FormatXML(filename, body)
{
	var xsl=DOMObject()
	xsl.async=false
	if(!xsl.load(filename))
		return null
	
	this.DOM.async=false
	if(this.DOM.loadXML(body))
		return this.DOM.transformNode(xsl.documentElement)
	else
		return null
}
//----------------------------------------------------------------------------------------------------
function TXML.prototype.Send(filename, value)
{
	this.HTTP.Open("POST", filename, false)
	this.HTTP.Send(value)
	this.document=this.HTTP.responseXML.documentElement
	return this.HTTP.responseXML
}
//----------------------------------------------------------------------------------------------------
// Microsoft.XMLDOM
//----------------------------------------------------------------------------------------------------
function XMLDOM()
{
	return new TXmldom()
}
//----------------------------------------------------------------------------------------------------
function TXmldom()
{
	this.Handle=DOMObject()
}
//----------------------------------------------------------------------------------------------------
function TXmldom.prototype.Load(filename)
{
	this.Handle.async=false
	if(this.Handle.load(filename))
		return this.Handle.documentElement
	else
		return null
}
//----------------------------------------------------------------------------------------------------
function TXmldom.prototype.LoadXML(body)
{
	if(this.Handle.loadXML(body))
		return this.Handle.documentElement
	else
		return null
}
//----------------------------------------------------------------------------------------------------
function TXmldom.prototype.Format(format, filename)
{
	var xsl=DOMObject()
	xsl.async=false
	if(!xsl.load(format))
		return null
	
	this.Handle.async=false
	if(this.Handle.load(filename))
		return this.Handle.transformNode(xsl.documentElement)
	else
		return null
}
//----------------------------------------------------------------------------------------------------
function TXmldom.prototype.FormatXML(filename, body)
{
	var xsl=DOMObject()
	xsl.async=false
	if(!xsl.load(filename))
		return null
	
	this.Handle.async=false
	if(this.Handle.loadXML(body))
		return this.Handle.transformNode(xsl.documentElement)
	else
		return null
}
//----------------------------------------------------------------------------------------------------
// Microsoft.XMLHTTP
//----------------------------------------------------------------------------------------------------
function XMLHTTP()
{
	return new TXmlhttp()
}
//----------------------------------------------------------------------------------------------------
function TXmlhttp(filename, xmldom)
{
	this.Handle=HTTPObject()
}
//----------------------------------------------------------------------------------------------------
function TXmlhttp.prototype.Send(filename, xmldom)
{
	this.Handle.Open("POST", filename, false)
	this.Handle.Send(xmldom)
	return this.Handle.responseXML.documentElement
}
//----------------------------------------------------------------------------------------------------
//
//----------------------------------------------------------------------------------------------------
function createElement(obj, parent, name, value)
{
    var node=obj.createElement(name)
	var txt=obj.createTextNode(value)
	node.appendChild(txt)
	parent.appendChild(node)

	return node
}
//----------------------------------------------------------------------------------------------------
function createAttribute(obj, parent, name, value)
{
	var attr=obj.createAttribute(name)
	var txt=obj.createTextNode(value)
	attr.appendChild(txt)
	parent.setAttributeNode(attr)
	
	return attr
}
//----------------------------------------------------------------------------------------------------
// TTextStream
//----------------------------------------------------------------------------------------------------
function TTextStream(filename)
{
	this.asp=filename
}
//----------------------------------------------------------------------------------------------------
function TTextStream.prototype.LoadFromFile(filename)
{
	var value="<xml cmd='LOAD' filename='$filename$'></xml>"
	value=value.replace("$filename$", filename)
	var node=XMLHTTP().Send(this.asp, value)
	if(node==null)
	{
		alert(filename+"\n読み込みに失敗しました")
		return
	}
	return node.text
}
//-----------------------------------------------------------------------------------------------------
function TTextStream.prototype.SaveToFile(filename, body)
{
	var value="<xml cmd='SAVE' filename='$filename$'>$BODY$</xml>"
	value=value.replace("$filename$", filename)
	value=value.replace("$BODY$", body)
	var node=XMLHTTP().Send(this.asp, value)
	if(node==null)
	{
		alert(filename+"\n設定に失敗しました")
		return
	}
}
//----------------------------------------------------------------------------------------------------
// TXmlStream
//----------------------------------------------------------------------------------------------------
function TXmlStream(filename)
{
	this.asp=filename
}
//----------------------------------------------------------------------------------------------------
function TXmlStream.prototype.LoadFromFile(filename)
{
/*
	var value="<xml cmd='LOAD' filename='$filename$'></xml>"
	value=value.replace("$filename$", filename)
	var node=xml.Send(this.asp, value)
*/
	var xml=XML()
	var node=xml.Load("../"+filename)
	if(xml.document==null)
	{
		alert(filename+"\n読み込みに失敗しました")
		return ""
	}

	return node.xml
}
//-----------------------------------------------------------------------------------------------------
function TXmlStream.prototype.SaveToFile(filename, body)
{
	var xml=XML()

	var dom=xml.LoadXML(body)
	if(dom.xml=="")
	{
		alert(filename+"\nフォーマットが誤っています。")
		return ""
	}
	var attr=dom.createAttribute("cmd")
	attr.nodeValue="SAVE"
	dom.documentElement.setAttributeNode(attr)
	var attr=dom.createAttribute("filename")
	attr.nodeValue=filename
	dom.documentElement.setAttributeNode(attr)
	var node=xml.Send(this.asp, dom.xml)
	if(xml.document==null)
	{
		alert(filename+"\n設定に失敗しました")
		return ""
	}
}
//-----------------------------------------------------------------------------------------------------
-->