// URLへジャンプ
function Navigate(url){
	location=url;
}

// アイコン説明ウインドウ表示
function DescIcon(iconid){
	var url = "../fix/icondesc.html#" + iconid;
	w = window.open(url, "icondesc", "width=430,height=500,location=no,menubar=no,status=no,resizable=yes");

}

// 日付コンボの値をセットする。sDataは"YYYY/MM/DD"形式
function SetDateCombo(cmbYear,cmbMon,cmbDay,sDate){
	
	if(sDate!=""){
		stDelimit = sDate.split("/");
		SetDateComboValue(cmbYear,cmbMon,cmbDay,stDelimit[0],stDelimit[1],stDelimit[2]);
	}
}


// CheckBox,RadioのグループをcsvValueで指定された値でセットする。
function SetChkGroup(chkData,csvValue){
	
	for(i=0;i<chkData.length;i++){
		chkData[i].checked = false;
	}
	
	stDelimit = csvValue.split(",");
	for(d=0;d<stDelimit.length;d++){
		for(i=0;i<chkData.length;i++){
			if( chkData[i].value == stDelimit[d]){
				chkData[i].checked = true;
				break;
			}
		}
	}
}

// Radioのグループがチェックされているか確認する。
function ConfirmRadioGroup(rdData)
{
	for(i=0;i<rdData.length;i++){
		if(rdData[i].checked){
			break;
		}
	}
	if(rdData.length == i){
		return false;
	}
	else{
		return true;
	}
	
}

// Radioのグループの値を取得する。
function GetRadioGroupValue(rdData)
{
	var ret;
	for(i=0;i<rdData.length;i++){
		if(rdData[i].checked){
			if( ret.length > 0){
				ret+= ",";
			}
			ret+=rdData[i].value;
			
		}
	}
	return ret;
	
}





// 日付コンボの値をチェックする。 
function ConfirmDateCombo(cmbYear,cmbMon,cmbDay){
	
	if(cmbYear.selectedIndex > 0 && cmbMon.selectedIndex> 0 && cmbDay.selectedIndex> 0 ){
		return 1;	// すべて入力されている
	}
	else if(cmbYear.selectedIndex <=0 && cmbMon.selectedIndex<=0 && cmbDay.selectedIndex<=0){
		return 0;	// 未入力
	}
	else{
		return -1;	// 不完全
	}


}
// 日付コンボの内容を文字列で取得する。
function GetDateComboStr(cmbYear,cmbMon,cmbDay){
	var strRet="";
	if( cmbYear.selectedIndex > 0 && cmbMon.selectedIndex> 0 && cmbDay.selectedIndex> 0 ){
		strRet = cmbYear[cmbYear.selectedIndex].value + "/" +
                 cmbMon[cmbMon.selectedIndex].value + "/" +
                 cmbDay[cmbDay.selectedIndex].value ;
	}
	return strRet;
}

// 日付コンボを初期化する。
function InitDateCmb(cmbYear,cmbMon,cmbDay){
	var oDate   = new Date();
	var nYear   = oDate .getYear();
	var nMonth  = oDate.getMonth() + 1;
	var nDay    = oDate.getDate();
	if (nYear < 1900) nYear += 1900;


	ClearCombo(cmbYear);
	ClearCombo(cmbMon);
	ClearCombo(cmbDay);

	cmbYear.length=5;
	cmbYear.options[0].value = "";
	for(i  = 0 ; i < 4; i++ ){
		cmbYear.options[i+1].text  = String(nYear + i -1); 
		cmbYear.options[i+1].value = nYear + i -1; 
	}

	cmbMon.length=13;
	cmbMon.options[0].value = "";
	
	for ( i = 0 ; i < 12; i++ ){
		cmbMon.options[i+1].text  = String( i + 1); 
		cmbMon.options[i+1].value = i + 1; 
	}

}


// コンボ内容をクリアする。
function ClearCombo(cmb){
	for ( i = cmb.length - 1; i >= 0; i-- ){
		cmb[i] = null;
	}
	cmb.length=0;
}

// 日付コンボを現在の日付にセットする。
function SetDateCmbToday(cmbYear,cmbMon,cmbDay){
	var oDate   = new Date();
	var nYear   = oDate .getYear();
	var nMonth  = oDate.getMonth() + 1;
	var nDay    = oDate.getDate();
	if (nYear < 1900) nYear += 1900;

	SetDateComboValue(cmbYear,cmbMon,cmbDay,nYear,nMonth,nDay);

}

// 日付コンボを指定した値にセットする。
function SetDateComboValue(cmbYear,cmbMon,cmbDay,sYear,sMon,sDay){
	for ( i = 0 ; i < cmbYear.length; i++ ){
		if( cmbYear[i].value == sYear){
			cmbYear.selectedIndex = i;
		}
	}
	
	for ( i = 0 ; i < cmbMon.length; i++ ){
		if( cmbMon[i].value == sMon){
			cmbMon.selectedIndex = i;
		}
	}
	SetDateSelect(cmbYear,cmbMon,cmbDay);

	for ( i = 0 ; i < cmbDay.length; i++ ){
		if( cmbDay[i].value == sDay){
			cmbDay.selectedIndex = i;
		}
	}

}
// 日付コンボの年・月・日値を 年・月からセットする。
function SetDateSelect(cmbYear,cmbMon,cmbDay){
	var year,mon,day;
	if(cmbYear.selectedIndex>0){
		year=cmbYear[cmbYear.selectedIndex].text;
	}
	else{
		year="";
	}
	if(cmbMon.selectedIndex>0){
		mon=cmbMon[cmbMon.selectedIndex].text;
	}
	else{
		mon="";
	}
	if(cmbDay.selectedIndex>0){
		day=cmbDay[cmbDay.selectedIndex].text;
	}
	else{
		day="";
	}
	if(year=="" || mon==""){
		return;
	}	

	days=daymonth(year,mon);
	
	
	//cmbDay.length=days+1;
	ClearCombo(cmbDay);

	for(i=0;i<days+1;i++){
		if(i==0){
			cmbDay[i] = new Option("");
			cmbDay[i].value="";
		}
		else{
			cmbDay[i] = new Option(String(i));
			cmbDay[i].value = String(i);
		}
	}

	cmbDay.selectedIndex = 0;
	cmbDay.value = "";
	if(day!=""){
		for ( i = 0 ; i < cmbDay.length; i++ ){
			if( cmbDay[i].value == day){
				cmbDay.selectedIndex = i;
			}
		}
	}
	else{
		cmbDay.selectedIndex = 0;
	}
}


// 日付コンボの月・日値を 年・月からセットする。
function SetDateSelect2(txtYear,cmbMon,cmbDay){
	var year,mon,day;
	if( txtYear != "" ){
		year=txtYear;
	}
	else{
		year="2005";	// 閏年では無い年を指定
	}
	if(cmbMon.selectedIndex>0){
		mon=cmbMon[cmbMon.selectedIndex].text;
	}
	else{
		mon="";
	}
	if(cmbDay.selectedIndex>0){
		day=cmbDay[cmbDay.selectedIndex].text;
	}
	else{
		day="";
	}
	if(year=="" || mon==""){
		return;
	}	

	days=daymonth(year,mon);
	
	
	//cmbDay.length=days+1;
	ClearCombo(cmbDay);

	for(i=0;i<days+1;i++){
		if(i==0){
			cmbDay[i] = new Option("");
			cmbDay[i].value="";
		}
		else{
			cmbDay[i] = new Option(String(i));
			cmbDay[i].value = String(i);
		}
	}

	cmbDay.selectedIndex = 0;
	cmbDay.value = "";
	if(day!=""){
		for ( i = 0 ; i < cmbDay.length; i++ ){
			if( cmbDay[i].value == day){
				cmbDay.selectedIndex = i;
			}
		}
	}
	else{
		cmbDay.selectedIndex = 0;
	}
}


// 閏年を判別
function leapyear( year ) {
	return (year%4==0 && year%100!=0 || year%400==0);
}

// 月の日数を求める
function daymonth( year, month ) {
	var day = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	if( month==2 && leapyear(year)) return 29;
	return day[month-1];
}

// 指定URLにNavigateする
function NavigateURL(url) 
{
  if (url != '')
  {
    window.location = url;
  }
}

// コンボのText,Valueを配列からセットする。
function SetDBCmb(cmbData,aryValue){

	ClearCombo(cmbData);
	cmbData.length++;
	cmbData.options[0].value = "";

	for ( i = 0 ; i < aryValue.length ; i++ ){
		if(aryValue[i] != ""){
			stDelimit = aryValue[i].split(",");
			cmbData.length++;
			cmbData.options[i+1] = new Option("");
			cmbData.options[i+1].text  = stDelimit[1]; 
			cmbData.options[i+1].value = stDelimit[0]; 

		}
	}
}

// コンボの内容を valueがフィルタ値を含むもののみ挿入する。
function SetCmbFilter(cmbData,aryValue,strFilter){

	ClearCombo(cmbData);
	cmbData.options[0] = new Option("");	// 先頭は空
	cmbData.options[0].value = "";
	len=1;
	for ( i = 0 ; i < aryValue.length ; i++ ){
		stDelimit = aryValue[i].split(",");
		if(stDelimit[0].indexOf(strFilter)==0){
			cmbData.options[len] = new Option("");
			cmbData.options[len].text  = stDelimit[1]; 
			cmbData.options[len].value = stDelimit[0];
			len++;
		} 
		
	}
}

// コンボボックスの選択を指定したvalueのものにする。
function SetCmbSelValue(cmbData,strValue)
{
	for ( i = 0 ; i < cmbData.length ; i++ ){
		if( cmbData.options[i].value == strValue ){
			cmbData.selectedIndex = i;
			break;
		} 
		
	}
}

// コンボボックスの選択されたアイテムのvalueを取得する。
function GetCmbSelValue(cmbData)
{
	if(cmbData.selectedIndex >=0){
		return cmbData.options[cmbData.selectedIndex].value;
	}
	else{
		return "";
	}

}

// リストボックスに指定値のアイテムがあるかチェック
function FindListValue(lstData,strValue)
{
	var i;
	for ( i=0 ; i < lstData.length ; i++ ){
		if( lstData.options[i].value == strValue ){
			return i;
		}
	}
	return -1;
}

// リストボックス内容をクリアする。
function ClearList(lst){
	var i;
	for ( i = lst.length - 1; i >= 0; i-- ){
		lst[i] = null;
	}
	lst.length=0;
}

// リストボックス内容をクリアする。
function GetListSelCnt(lst){
	var i,sel;	
	sel=0;
	for ( i = 0 ; i <  lst.length ; i++ ){
		if( lst[i].selected ){
			sel++;
		}
	}
	return sel;
}

// リストボックス選択状態をクリアする。
function ClearListSelCnt(lst){
	var i,sel;	
	for ( i = 0 ; i <  lst.length ; i++ ){
		lst[i].selected = false;
	}
}

// リストボックス選択位置を取得する。
function GetListSelPos(lst){
	var i,sel;	
	for ( i = 0 ; i <  lst.length ; i++ ){
		if( lst[i].selected ){
			return i;
		}
	}
	return -1;
}

// リストボックスアイテムを交換する。
function SwabListItem(lst,i,j)
{
	var value,text,selected;	
	text     = lst.options[i].text  ; 
	value    = lst.options[i].value ;
	selected = lst.options[i].selected ;
	lst.options[i].text     = lst.options[j].text ; 
	lst.options[i].value    = lst.options[j].value;
	lst.options[i].selected = lst.options[j].selected;
	lst.options[j].text     = text ; 
	lst.options[j].value    = value;
	lst.options[j].selected = selected;
}


// 半角カナを全角カナに変換する。
function KanaConvH2Z(strSrc){
	txt = "ｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜｦﾝｧｨｩｪｫｬｭｮｯ､｡ｰ｢｣ﾞﾟ";
	zen = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッ、。ー「」";
	zen+= "　　ヴ　　ガギグゲゴザジズゼゾダヂヅデド　　　　　バビブベボ　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　";
	zen+= "　　　　　　　　　　　　　　　　　　　　　　　　　パピプペポ　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　";
	str = "";
	for (i=0; i<strSrc.length; i++){
		c = strSrc.charAt(i);
		cnext = strSrc.charAt(i+1);
		n = txt.indexOf(c,0);
		nnext = txt.indexOf(cnext,0);

		if (n >= 0){

			if (nnext == 60){
				c = zen.charAt(n+60);
				i++;
			}else if (nnext == 61){
				c = zen.charAt(n+120);
				i++;
			}else{
				c = zen.charAt(n);
			}
		}
		if ((n != 60) && (n != 61)){
			str += c;
		}
	}
	return str;
}
// 半角数値を全角数値に変換する。
function NumConvH2Z(strSrc){

	han = "0123456789.,-+";
	zen = "０１２３４５６７８９．，−＋";
	str = "";
	for (i=0; i<strSrc.length; i++)
	{
		c = strSrc.charAt(i);
		n = zen.indexOf(c,0);
		if (n >= 0) c = han.charAt(n);
		str += c;
	}
	return str;
}

function CheckNum(strNum)
{
	for (i=0; i<strNum.length; i++){
		c = strNum.charAt(i);
		if ("0123456789".indexOf(c,0) < 0){
			return false;
		}
	}
	return true;
}