function lenb(strTemp)
{
	var intLength=0;
	var str=new String(strTemp);
	for(var i=0;i<str.length;i++){
		if(str.charCodeAt(i)>255)
			if(charIsKn(str.charAt(i)))
				intLength++;
			else
				intLength+=2;
		else
			intLength++;
	}
	return intLength;
}

function charIsKn(strTemp)
{
	var str=new String(strTemp);
	for(var i=0;i<str.length;i++)
		if(str.charCodeAt(i)>65439 || str.charCodeAt(i)<65382)
			return false
	return true
}

function formatNumber(strTemp,intLen)
{
	var i;
	var str=new String(strTemp);
	for(i=0;i<parseInt(intLen,10);i++)
		str="0"+str;
	return  str.substr(str.length-intLen,intLen);
}

function trim(strTemp)  // Delete Two Side Space
{
	var str=new String(strTemp);
	var substr=new String("");
	if(str.length==0) return "";
	try{
		while((str.charAt(0)==" ")||(str.charAt(0)=="　"))
		{
			str=str.substr(1);
		}
		while((str.charAt(str.length-1)==" ")||(str.charAt(str.length-1)=="　"))
		{
			str=str.substr(0,str.length-1);
		}
	}
	catch(err)
	{}
	return str;
}

function asc(strTemp)              //Retrun ascii of the Char
{
	var str=new String(strTemp);
	return str.charCodeAt(0);
}

function onlyInputNum()
{
	if(event.keyCode<asc("0") || event.keyCode>asc("9")) 
		event.returnValue=false;
}

function onlyInputCharNum()
{
	if(event.keyCode<asc("0") || event.keyCode>asc("9") && event.keyCode<asc("A") || event.keyCode>asc("Z") && event.keyCode<asc("a") || event.keyCode>asc("z"))
		event.returnValue=false;
}

function checkOnlyNum(objTemp,blnEmpty,maxLen)
{
	maxLen=parseInt(maxLen);
	objTemp.value=trim(objTemp.value);
	var str=new String(objTemp.value);
	if(lenb(str)==0)
		if(blnEmpty)
			return true;
		else
		{
			msgBox("001");
			return false;
		}
	for(var i=0;i<str.length;i++)
	{
		if(str.charAt(i)<"0" || str.charAt(i)>"9")
		{
		   msgBox("003");
		   return false;
		 }
	}
	return true;
}

function checkCharNum(objTemp,blnEmpty,maxLen)
{
	maxLen=parseInt(maxLen);
	objTemp.value=trim(objTemp.value);	
	var str=new String(objTemp.value);
	if(lenb(str)==0 && !blnEmpty)
	{
		msgBox("001");
		return false;
	}
	if(lenb(str)>maxLen)
	{
		msgBox("006");
		return false;
	}
	if(!isOnlyCharNum(str))
	{
		msgBox("003");
		return false;
	}
	return true;
}

function isOnlyCharNum(str)
{
	var i;
	for(i=0;i-str.length<0;i++){
		if(str.charCodeAt(i)<asc("0") || str.charCodeAt(i)>asc("9") && str.charCodeAt(i)<asc("A") || str.charCodeAt(i)>asc("Z") && str.charCodeAt(i)<asc("a") || str.charCodeAt(i)>asc("z")){
			return false;
		}
	}
	return true;
}

function checkHalfChar(objTemp,blnEmpty,maxLen)
{
	maxLen=parseInt(maxLen);
	objTemp.value=trim(objTemp.value);	
	var str=new String(objTemp.value);
	if(lenb(str)==0 && !blnEmpty)
	{
		msgBox("001");
		return false;
	}
	
	if(lenb(str)>maxLen)
	{
		msgBox("002");
		return false;
	}
	if(lenb(str)!=str.length)
	{
		msgBox("007");
		return false;
	}
	return true;
}

function msgBox(strNO)
{
   var str;
   switch(strNO)
   {
      case "001":
         str="この項目は省略出来ません。";
         break;
      case "002":
         str="該当データが存在しません。";
         break;
      case "003":
         str="数字以外は入力出来ません。";
         break;
      case "004":
         str="入力された情報は無効です。";
         break;
      case "005":
         str="サーバーよりの応答がありません。";
         break;
		case "006":
			str="入力された文字桁数は不正です。";	
			break;
		case "007":
			str="半角文字を入力してください。";
			break;			
   }
   alert(str);
}

function checkCharLength(objTemp,checkLen)
{
	var str=new String(trim(objTemp.value));
	
	checkLen=parseInt(checkLen);
	if(lenb(str) != checkLen)
	{
		msgBox("006");
		return false;
	}
	return true;
}

function showErrPage(strErr)
{
   window.showModalDialog("SystemErr.aspx",strErr,"help:no;dialogHeight: 125px; dialogWidth: 330px;status: no;");  
}

function getMContent(strFlag,strValue1,strValue2)
{
	var strSend;
	strSend="<Root>";
	strSend=strSend+"<Flag>"+strFlag;
	strSend=strSend+"</Flag>";
	strSend=strSend+"<Items>";
	strSend=strSend+"<Item>"+strValue1;
	strSend=strSend+"</Item>";
	strSend=strSend+"<Item>"+strValue2;
	strSend=strSend+"</Item>";
	strSend=strSend+"</Items>";
	strSend=strSend+"</Root>";
	var objRoot;
	try{
	var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	xmlhttp.Open("POST", "ShowXmlData.aspx", false);
	xmlhttp.Send(strSend);
	objRoot= xmlhttp.responseXML.firstChild;
	
	}
	catch(err)
	{
		msgBox("005");
		return null;
	}
	if(objRoot!=null)
	{
		return objRoot;	
	}
	else
		msgBox("005");
	return null;
}

function getItem(objRoot,strFlag)
{
	if(objRoot==null) return null;
	var Count;
	var nodeList;
	var iPos;
	try{
		nodeList=objRoot.selectNodes("//Root/Table");
		
		for(iPos=0;iPos<nodeList.length	;iPos++)
		{
			if(nodeList.item(iPos).attributes.getNamedItem("Flag").text==strFlag)
			{
				return nodeList.item(iPos);
			}
		}
	}
	catch(err)
	{}
	return null;	
}

function getItemCount(objRoot,strFlag)
{
	var objNode;
	objNode=getItem(objRoot,strFlag);

	if(objNode==null) 
		return 0;
	else
		return objNode.selectSingleNode("Count").text;	
}

function getItemValue(objRoot,strFlag,strItem)
{
	if(strItem=="") return "";
	var objNode;
	objNode=getItem(objRoot,strFlag);
	
	if(objNode==null) 
		return "";
	var nodeList;
	try{
		nodeList=objNode.selectNodes("Items/Item");
	}
	catch(err)
	{
		return "";
	}
	var iPos;

	for(iPos=0;iPos<nodeList.length;iPos++)
	{
		if(nodeList.item(iPos).attributes.getNamedItem("Name").text==strItem)
			return nodeList.item(iPos).text;
	}
	
	return "";
}

