<!--
// by K.T.
 
  //コンボボックスのvalue取得
  function GetComboBoxValue(theComboBox) {
  
    return theComboBox.options[theComboBox.selectedIndex].value;
    
  }
  
  // コンボボックスのvalueのURLに飛ぶ
  function MoveSelected(theComboBox) {
  
    var wComboBox = GetComboBoxValue(theComboBox);
    
    if (wComboBox != '') {
      window.location = wComboBox;
    }
    
  }
  
  // 年月日のコンボボックスのチェック
  function CheckComboYMD(yearComboBox, monthComboBox, dayComboBox) {
  
    var wYear;
    var wMonth;
    var wDay;
    
    // 月で判断
    wMonth = GetComboBoxValue(monthComboBox);
    
    // 1月,3月,5月,7月,8月,10月,12月は無条件でOK
    if (wMonth == '1'
     || wMonth == '3'
     || wMonth == '5'
     || wMonth == '7'
     || wMonth == '8'
     || wMonth == '10'
     || wMonth == '12') {
      return true;
    }
    
    // 日でも判断
    wDay = GetComboBoxValue(dayComboBox);
    
    // 2月は特殊
    if (wMonth == '2') {
    
      // 30日と31日はNG
      if (wDay == '30' || wDay == '31') {
        alert('正しい年月を選択してください。(-1)');
        return false;
      }
      
      // 29日のときは年も必要
      if (wDay == '29') {
      
        wYear = GetComboBoxValue(yearComboBox);
        
        // 閏年以外はNG
        if (wYear % 4 != 0 || (wYear % 100 == 0 && wYear % 400 != 0)) {
          alert('正しい年月を選択してください。(-2)');
          return false;
        }
        
      }
      
      // 他の日はOK
      return true;
      
    }
    
    // 他の月は31日がNGで他はOK
    if (wDay == '31') {
      alert('正しい年月を選択してください。(-3)');
      return false;
    } else {
      return true;
    }
    
  }
  
  // 数値入力欄のチェック
  function CheckNum(theTextBox) {
  
    var wText;
    
    // 数字のチェック
    wText = theTextBox.value;
    
    if (wText.match(/[^0-9]/) != null) {
      alert('半角数字で入力してください。(-1)');
      theTextBox.focus();
      theTextBox.select();
      return false;
    }
    
    return true;
    
  }
  
  // 年月入力欄のチェック
  function CheckYM(theTextBox) {
  
    var wArray = new Array();
    
    // 「/」で分ける
    wArray = theTextBox.value.split('/');
    
    if (wArray.length != 2) {
      alert('正しい年月を入力してください。(-1)');
      theTextBox.focus();
      theTextBox.select();
      return false;
    }
    
    // 年のチェック
    if (wArray[0].match(/^19[0-9][0-9]$/) == null
     && wArray[0].match(/^20[0-9][0-9]$/) == null) {
      alert('正しい年月を入力してください。(-2)');
      theTextBox.focus();
      theTextBox.select();
      return false;
    }
    
    // 月のチェック
    if (wArray[1].match(/^0?[1-9]$/) == null
     && wArray[1].match(/^1[0-2]$/)  == null) {
      alert('正しい年月を入力してください。(-3)');
      theTextBox.focus();
      theTextBox.select();
      return false;
    }
    
    return true;
    
  }
  
  // 年月日入力欄のチェック
  function CheckYMD(theTextBox) {
  
    var wArray = new Array();
    var wDays  = new Array();
    var wYear;
    var wMonth;
    
    // 「/」で分ける
    wArray = theTextBox.value.split('/');
    
    if (wArray.length != 3) {
      alert('正しい年月日を入力してください。(-1)');
      theTextBox.focus();
      theTextBox.select();
      return false;
    }
    
    // 年のチェック
    if (wArray[0].match(/^19[0-9][0-9]$/) == null
     && wArray[0].match(/^20[0-9][0-9]$/) == null) {
      alert('正しい年月日を入力してください。(-2)');
      theTextBox.focus();
      theTextBox.select();
      return false;
    }
    
    // 月のチェック
    if (wArray[1].match(/^0?[1-9]$/) == null
     && wArray[1].match(/^1[0-2]$/)  == null) {
      alert('正しい年月日を入力してください。(-3)');
      theTextBox.focus();
      theTextBox.select();
      return false;
    }
    
    // 月ごとの日数
    wDays.length = 12;
    wDays[0]  = 29; //  2月(閏年)
    wDays[1]  = 31; //  1月
    wDays[2]  = 28; //  2月
    wDays[3]  = 31; //  3月
    wDays[4]  = 30; //  4月
    wDays[5]  = 31; //  5月
    wDays[6]  = 30; //  6月
    wDays[7]  = 31; //  7月
    wDays[8]  = 31; //  8月
    wDays[9]  = 30; //  9月
    wDays[10] = 31; // 10月
    wDays[11] = 30; // 11月
    wDays[12] = 31; // 12月
    
    // 年月によって日数が違う
    wYear  = Number(wArray[0]);
    wMonth = Number(wArray[1]);
    
    // 閏年の2月チェック
    if (wMonth == 2 && ((wYear % 4 == 0 && wYear % 100 != 0) || wYear % 400 == 0)) {
      wMonth = 0;
    }
    
    // 日のチェック
    switch (wDays[wMonth]) {
    case 31: // 31日
      if (wArray[2].match(/^0?[1-9]$/)   == null
       && wArray[2].match(/^[12][0-9]$/) == null
       && wArray[2].match(/^3[01]$/)     == null) {
        alert('正しい年月日を入力してください。(-4)');
        theTextBox.focus();
        theTextBox.select();
        return false;
      }
      break;
    case 30: // 30日
      if (wArray[2].match(/^0?[1-9]$/)   == null
       && wArray[2].match(/^[12][0-9]$/) == null
       && wArray[2].match(/^30$/)        == null) {
        alert('正しい年月日を入力してください。(-5)');
        theTextBox.focus();
        theTextBox.select();
        return false;
      }
      break;
    case 29: // 29日
      if (wArray[2].match(/^0?[1-9]$/)   == null
       && wArray[2].match(/^[12][0-9]$/) == null) {
        alert('正しい年月日を入力してください。(-6)');
        theTextBox.focus();
        theTextBox.select();
        return false;
      }
      break;
    case 28: // 28日
      if (wArray[2].match(/^0?[1-9]$/) == null
       && wArray[2].match(/^1[0-9]$/)  == null
       && wArray[2].match(/^2[0-8]$/)  == null) {
        alert('正しい年月日を入力してください。(-7)');
        theTextBox.focus();
        theTextBox.select();
        return false;
      }
      break;
    }
    
    return true;
    
  }
  
  // MaxLengthを超えていないかチェック
  function CheckByte(theTextBox) {
  
    if (LenBAscii(theTextBox.value) > theTextBox.maxLength) {
      alert('入力された文字列が長すぎます。(-1)');
      theTextBox.focus();
      theTextBox.select();
      return false;
    }
    
    return true;
    
  }
  
  // 1バイト文字のチェック
  function CheckOneByteChar(theString) {
  
    var cnt;
    
    for (cnt = 0; cnt < theString.length; cnt++) {
      if (LenBAscii(theString.substr(cnt, 1)) != 1) {
        alert('半角文字で入力してください。(-1)');
        return false;
      }
    }
    
    return true;
    
  }
  
  // Asciiコードのバイト数を返す
  function LenBAscii(theString) {
  
    var cnt;
    var wlen;
    var wcode;
    
    wlen = 0;
    
    for (cnt = 0; cnt < theString.length; cnt++) {
    
      wcode = theString.charCodeAt(cnt);
      wlen++;
      
      // 文字コードの範囲で1バイト文字か2バイト文字化判定
      if (((0 <= wcode && wcode <= 255) || (65383 <= wcode && wcode <= 65439)) == false) {
        wlen++;
      }
      
    }
    
    return wlen;
    
  }
  
  // メールアドレスチェック
  function CheckMailAddress(theTextBox) {
  
    var len;
    var ret;
    var i;
    var cnt;
    var addr = new Array(2);
    var UsrNam;
    var DmnNam;
    var word = new Array;
    var RE1;
    var RE2;
    var RE3;
    var RE4;
    var RE5;
    var j;
    var chr;
    var ChrCod;
    
    // 未入力チェック
    if (theTextBox.value == '') {
      theTextBox.focus();
      theTextBox.select();
      return false;
    }
    
    // @チェック
    len = theTextBox.value.length;
    i = 0;
    cnt = 0;
    
    while (i < len) {
    
      ret = theTextBox.value.indexOf('@',i);
      
      if (ret != -1) {
        cnt += 1;
        i = ret + 1;
      } else if (cnt == 1) {
        break;
      }
      
      if (cnt == 0 || cnt > 1 ){
        theTextBox.focus();
        theTextBox.select();
        return false;
      }
      
    }
    
    addr = theTextBox.value.split('@')
    UsrNam = addr[0];
    DmnNam = addr[1];
    
    // ドメイン名チェック
    if (DmnNam == '' || DmnNam.length >= 255) {
      theTextBox.focus();
      theTextBox.select();
      return false;
      
    } else if (DmnNam.indexOf('.') == -1) {
      theTextBox.focus();
      theTextBox.select();
      return false;
      
    } else {
      word = DmnNam.split('.');
      
      // ワードチェック
      for (i = 0; i < word.length; i++) {
      
        if (word[i] == '' || word[i].length >= 64) {
          theTextBox.focus();
          theTextBox.select();
          return false;
          
        } else {
          RE1 = new RegExp('[^A-Z]')
          RE2 = new RegExp('[^a-z]')
          RE3 = new RegExp('[^-]')
          RE4 = new RegExp('[^0-9]')
          RE5 = new RegExp('[-]')
          
          len = word[i].length
          j = 0
          
          while (j < len) {
          
            chr = word[i].substring(j,j + 1);
            
            // 'A～Z','a～z','-','0～9'以外の文字が使用されていないかチェック
            if (RE1.test(chr)) {
              if (RE2.test(chr)) {
                if (RE3.test(chr)) {
                  if (RE4.test(chr)) {
                    theTextBox.focus();
                    theTextBox.select();
                    return false;
                  }
                }
              }
            }
            
            // '-'が先頭または末尾に使用されていないかチェック
            if ((j == 0 || j == len - 1) && RE5.test(chr)) {
              theTextBox.focus();
              theTextBox.select();
              return false;
            }
            
            j += 1;
            
          }
          
        }
        
      }
      
    }
    
    // ユーザー名チェック
    if (UsrNam == ''){
      theTextBox.focus();
      theTextBox.select();
      return false;

    } else if (UsrNam.indexOf(' ') != -1) {
      theTextBox.focus();
      theTextBox.select();
      return false;
      
    } else {
      len = UsrNam.length;
      
      for (i = 0; i < len; i++) {
      
        ChrCod = UsrNam.charCodeAt(i)
      
        if (ChrCod < 0 || 127 < ChrCod) {
          theTextBox.focus();
          theTextBox.select();
          return false;
        }
        
      }
      
    }
    
    return true;
    
  }
  
	//--------------------------------------------------------------------------------------------

	//未入力チェック
	function CheckEmpty(Obj, MsgStr){

		/* by yas 060927 半角空白をはじく文字 */ 
		var moji
		var mojisu
		var mojilen

		moji=''
		moji = Obj.value
		mojilen=0
		mojilen=moji.length
		mojisu=0

		//moji=new RegExp(moji);
		moji=String(moji);

		while (mojisu < mojilen) {
		moji=moji.replace(' ','');
		moji=moji.replace('　','');
		mojisu+=1
		}

		if(moji==''){
			alert(MsgStr + 'が未入力です。');
			Obj.value=''
			Obj.focus();
			return false;
		}
		
	
		if(Obj.value == ''){
		
			alert(MsgStr + 'が未入力です。');
			Obj.focus();
			return false;
		}

		return true;
	
	}
	
	//--------------------------------------------------------------------------------------------  
  
//051005 ダイナミック表示の設定

function writeDirectDiv(divnm,html){

	//ダイレクトにDIVエリアに書き込む
	div = getDivFromName(divnm)
	writeDivHTML(div,html)

}

function getDivFromName(nm){
  // IE5+, Mozilla, Opera
  if(document.getElementById) return document.getElementById(nm); 
  if(document.all) return document.all(nm); // IE4
  if(document.layers){ // NN4
    var s='';
    for(var i=1; i<arguments.length; i++)
      s+='document.layers.'+arguments[i]+'.';
    return eval(s+'document.layers.'+nm);
  }
  return null;
}

function writeDivHTML(div,html){ 
   if(document.layers){ // NN4
    div.document.open();
    div.document.write(html);
    div.document.close();
   }
   else if(typeof div.innerHTML!="undefined"){ // IE, Mozilla, Opera
    div.innerHTML=html;
   }
}

//by yas 051025 Ajax関連

// XMLHttpsオブジェクト作成
function createXMLHttp() {

if (window.XMLHttpRequest){
    return new XMLHttpRequest();
}else{
    if (window.ActiveXObject){
        return new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        return null;
    }

}
}

/*
try {
return new ActiveXObject ("Microsoft.XMLHTTP");
}catch(e){
try {
return new XMLHttpRequest();
}catch(e) {
return null;
}
}
*/


function getAjaxHtml(filename,destination) {

	//データの表示先を保存
	document.frmMain.ajaxtarget.value = destination;

	xmlhttp = createXMLHttp();

	if (xmlhttp){
		xmlhttp.onreadystatechange = checkevents;
		xmlhttp.open('GET', filename, true);
		xmlhttp.send(null);
	}else{
		alert('XMLHttpRequest失敗');
	}
}

	function checkevents(){

		switch(xmlhttp.readyState){
		case 4:

			if (xmlhttp.status == 200){

				writeDirectDiv(document.frmMain.ajaxtarget.value,xmlhttp.responseText);
			}
			break;

		default:
//				writeDirectDiv(document.frmMain.ajaxtarget.value,'<BR><BR>&nbsp;<b>データの取得中...</b>');
		}

	}


function getMemberAjaxText(filename) {

	xmlhttp = createXMLHttp();
	if (xmlhttp){

		var ua = navigator.userAgent
		var safari    = ua.indexOf("Safari")!=-1
		var konqueror = ua.indexOf("Konqueror")!=-1
		var mozes     = ((a=navigator.userAgent.split("Gecko/")[1] )?a.split(" ")[0]:0) >= 20011128 

		if(window.opera || safari || mozes)
		{

			xmlhttp.onload = checkeventsMembertext;

		}
		else
		{
			xmlhttp.onreadystatechange = checkeventsMembertext;

		}

		xmlhttp.open('GET', filename, false);
		xmlhttp.send(null);
	}else{
		alert('XMLHttpRequest失敗');
	}
}

function checkeventsMembertext(){

	switch(xmlhttp.readyState){
	case 4:

		if (xmlhttp.status == 200){

			document.frmMember.ajaxtarget.value = xmlhttp.responseText;

		}
		break;

	default:

	}

}

function getDetailAjaxText(filename) {

	xmlhttp = createXMLHttp();
	if (xmlhttp){

		var ua = navigator.userAgent
		var safari    = ua.indexOf("Safari")!=-1
		var konqueror = ua.indexOf("Konqueror")!=-1
		var mozes     = ((a=navigator.userAgent.split("Gecko/")[1] )?a.split(" ")[0]:0) >= 20011128 

		if(window.opera || safari || mozes)
		{

			xmlhttp.onload = checkeventsDetailtext;

		}
		else
		{
			xmlhttp.onreadystatechange = checkeventsDetailtext;

		}

		xmlhttp.open('GET', filename, false);
		xmlhttp.send(null);
	}else{
		alert('XMLHttpRequest失敗');
	}
}

function checkeventsDetailtext(){

	switch(xmlhttp.readyState){
	case 4:

		if (xmlhttp.status == 200){

			document.frmDetail.ajaxtarget.value = xmlhttp.responseText;

		}
		break;

	default:

	}

}


	function get_response_text(req){

		var text = req.responseText;

		if ( navigator.appVersion.indexOf("KHTML2") > -1 ) {

			var esc = escape( text );
			if ( esc.indexOf("%u") < 0 && esc.indexOf("%") > -1 ) {
				text = decodeURIComponent(esc);
			}

		}
		return text;
	}


function DateAdd(flg,n,nDate,fmt){
//  機能　　　　：指定日の過去または未来の日を求める関数
//  関数名　　　：DateAdd()
//  引数　　　　：flg     "y","m","d"      加算単位（文字属性）
//  　　　　　　：n      ｎ日後またはｎ日前（数値属性）前の時は－値とする
//  　　　　　　：nDate  指定日（文字属性：yyyy/m/d or yyyy/mm/dd）
//	　　　　：fmt    戻り値の形式 "yyyy/m/d" "yyyy/mm/dd" "yyyymmdd"
//  戻り値　　　：日付形式（yyyy/m/d）
//
//  呼出例　　　：DatedAdd("d",100,"","yyyy/m/d")  当日の10日後の日付を求める
//  　　　　　　：DatedAdd("d",-25,"2003/1/20","yyyymmdd") 2003/1/20の25日前の日付を求める
//
//  2005/07/20 12月の月末を求める処理修正
//

	if (nDate == ""){
		var wDate = new Date();
	}else{
		var wymd = nDate.split("/");
		if (wymd[1].length == 1){wymd[1] = "0" + wymd[1]};
		if (wymd[2].length == 1){wymd[2] = "0" + wymd[2]};
		if (ValidDate(wymd[0] + "/" + wymd[1] + "/" + wymd[2])){
			var wDate = new Date(nDate);
		}else{
			return "<FONT COLOR='red'>日付形式エラー(" + nDate + ")</FONT>";
		}
	}
	if (isNaN(n)){
		return "<FONT COLOR='red'>加算数値エラー(" + n + ")</FONT>";
	}
	if (fmt == "yyyy/m/d" || fmt == "yyyy/mm/dd" || fmt == "yyyymmdd"){
		wfmt = fmt;
	}else{
		wfmt = "yyyy/m/d";
	}
	switch (flg.toLowerCase()){
		case "d":
			var wY = wDate.getFullYear();
			var wM = wDate.getMonth() + 1;
			var wD = wDate.getDate();
			return DateDAdd(n,wY + "/" + wM + "/" + wD,wfmt);
			break;
		
		case "m":
			var tYear = wDate.getFullYear();
			var tMonth = wDate.getMonth() + 1 + n;
			var tDate = wDate.getDate();
			if (tMonth == 2){
				if (tDate > 28){
					return DateDAdd(-1,tYear + "/3/1",wfmt)  
				}else{
					if (wfmt == "yyyy/m/d"){
						return tYear + "/" + tMonth + "/" + tDate;
					}else{
						if (tMonth < 10){yMonth = "0" + tMonth};
						if (tDate < 10){tDate = "0" + tDate};
						if(wfmt == "yyyy/mm/dd"){
							return tYear + "/" + tMonth + "/" + tDate;
						}else{
							return tYear + "" + tMonth + "" + tDate;
						}
					}
				}
			}else{
				if (tMonth == 4 || tMonth == 6 || tMonth == 9 || tMonth == 11){
					if (tDate == 31){
						tDate = 30;
					}
				}else{
					if (tMonth >= 13){
						tYear += 1;
						tMonth -= 12;
					}
				}
				if (wfmt == "yyyy/m/d"){
					return (tYear + "/" + tMonth + "/" + tDate);
				}else{
					if (tMonth < 10){tMonth = "0" + tMonth};
					if (tDate < 10){tDate = "0" + tDate};
					if (wfmt == "yyyy/mm/dd"){
						return (tYear + "/" + tMonth + "/" + tDate);
					}else{
						return (tYear + "" + tMonth * "" + tDate);
					}
				}
			}
			break;
		
		case "y":
			var tYear = wDate.getFullYear()+n;
			var tMonth = wDate.getMonth()+1;
			var tDate = wDate.getDate();
			if (tMonth == 2){
				if (tDate > 28){
					return DateDAdd(-1,tYear + "/3/1",wfmt)  
				}else{
					if (wfmt == "yyyy/m/d"){
						return (tYear + "/" + tMonth + "/" + tDate);
					}else{
						if (tMonth < 10){tMonth = "0" + tMonth};
							if (tDate < 10){tDate = "0" + tDate};
							if (wfmt == "yyyy/mm/dd"){
								return (tYear + "/" + tMonth + "/" + tDate);
							}else{
								return (tYear + "" + tMonth + "" + tDate);
							}
						}
				}
			}else{
				if (wfmt == "yyyy/m/d"){
					return (tYear + "/" + tMonth + "/" + tDate);
				}else{
					if (tMonth < 10){tMonth = "0" + tMonth};
					if (tDate < 10){tDate = "0" + tDate};
					if (wfmt == "yyyy/mm/dd"){
						return (tYear + "/" + tMonth + "/" + tDate);
					}else{
					   	return (tYear + "" + tMonth + "" + tDate);
					}
				}
			}
			break;
		
		default:
			return "<FONT COLOR='red'>加算単位エラー（" + flg + ")</FONT>";
			break;
	}
}

function EDate(nDate,fmt){
//  機能　　　　：指定日の月末日を求める
//  関数　　　　：EDate()
//  引数　　　　：指定日(文字形式：yyyy/m/d or yyyy/mm/dd）
//	　　　　：fmt 戻り値の形式 "yyyy/m/d" "yyyy/mm/dd" "yyyymmdd"
//  戻り値　　　：月末日(文字形式：yyyy/m/d）
//
//  2005/07/20 12月の月末を求める処理修正
//
	if (nDate == ""){
		var wDate = new Date();
	}else{
		var wymd = nDate.split("/");
		if (wymd[1].length == 1){wymd[1] = "0" + wymd[1]};
		if (wymd[2].length == 1){wymd[2] = "0" + wymd[2]};
		if (ValidDate(wymd[0] + "/" + wymd[1] + "/" + wymd[2])){
			var wDate = new Date(nDate);
		}else{
			return "<FONT COLOR='red'>日付形式エラー(" + nDate + ")</FONT>";
		}
	}
	if (fmt == "yyyy/m/d" || fmt == "yyyy/mm/dd" || fmt == "yyyymmdd"){
	    wfmt = fmt;
	}else{
		wfmt = "yyyy/m/d";
	}

	var tYear = wDate.getFullYear();
	var tMonth = wDate.getMonth() + 2;
	if (tMonth >= 13){
		tYear += 1;
		tMonth -= 12;
	}	

	return DateDAdd(-1,tYear + "/" + tMonth + "/1",wfmt);

}

function DateDAdd(n,nDate,fmt){
//  機能　　　　：指定日にｎ日を加算する
//  関数　　　　：DateDAdd()
//  引数　　　　：加算日数（過去日はマイナス数値)
//  　　　　　　：指定日(文字形式：yyyy/m/d or yyyy/mm/dd）
//	　　　　：fmt 戻り値の形式 "yyyy/m/d" "yyyy/mm/dd" "yyyymmdd"
//  戻り値　　　：加算日数した年月日(文字形式：yyyy/m/d）
//

	if (nDate == ""){
		var wDate = new Date();
	}else{
		var wymd = nDate.split("/");
		if (wymd[1].length == 1){wymd[1] = "0" + wymd[1]};
		if (wymd[2].length == 1){wymd[2] = "0" + wymd[2]};
		if (ValidDate(wymd[0] + "/" + wymd[1] + "/" + wymd[2])){
			var wDate = new Date(nDate);
		}else{
			return "<FONT COLOR='red'>日付形式エラー(" + nDate + ")</FONT>";
		}
	}
	if (fmt == "yyyy/m/d" || fmt == "yyyy/mm/dd" || fmt == "yyyymmdd"){
		wfmt = fmt;
	}else{
		wfmt = "yyyy/m/d";
	}

	var wdaysMS = n * 1000 * 60 * 60 * 24;
	var DateMS = wDate.getTime();
	DateMS += wdaysMS;
	wDate.setTime(DateMS);
	var tYear = wDate.getFullYear();
	var tMonth = wDate.getMonth() + 1;
	var tDate = wDate.getDate();

	if (wfmt == "yyyy/m/d"){
		return (tYear + "/" + tMonth + "/" + tDate);
	}else{
		if (tMonth < 10){tMonth = "0" + tMonth};
		if (tDate < 10){tDate = "0" + tDate};
		if (wfmt == "yyyy/mm/dd"){
			return (tYear + "/" + tMonth + "/" + tDate);
		}else{
			return (tYear + "" + tMonth + "" + tDate);
		}
	}
}

function DateDif(flg,nDateFM,nDateTO){
//  機能　　　　：指定日の間の万年数、万月数、日数を求める関数
//  関数名　　　：DateDif()
//  引数　　　　：flg      単位（文字属性） "y","m","d","ym"
//	                        "y":万年数　"m":万月数　"d":日数:
//	                        "ym":万年月数 ==> 例 1.01 : 1年1ヶ月　1.11 : 1年11ヶ月 
//  　　　　　　：nDateFM  指定日From（文字属性）
//  　　　　　　：nDateTO  指定日To   (文字形式）
//  戻り値　　　：日数
//
//  呼出例　　　：DateDif("d","","2003/10/1")  当日と2003/10/1の間の日数を求める
//  　　　　　　：DateDif("d","2003/1/20","") 2003/1/20との間の日数を求める
//  　　　　　　：DateDif("m","2003/1/20","") 2003/1/20との間の万月数を求める
//
	if (nDateFM == ""){
		var today = new Date();
		var wY = today.getFullYear();
		var wM = today.getMonth();
		var wD = today.getDate();
		var wDateFM = new Date(wY,wM,wD);
	}else{
		var wymd = nDateFM.split("/");
		if (wymd[1].length == 1){wymd[1] = "0" + wymd[1]};
		if (wymd[2].length == 1){wymd[2] = "0" + wymd[2]};
		if (ValidDate(wymd[0] + "/" + wymd[1] + "/" + wymd[2])){
			var wDateFM = new Date(nDateFM);
		}else{
			return "<FONT COLOR='red'>日付形式(FROM)エラー(" + nDateFM + ")</FONT>";
		}
	}
	if (nDateTO == ""){
		var today = new Date();
		var wY = today.getFullYear();
		var wM = today.getMonth();
		var wD = today.getDate();
		var wDateTO = new Date(wY,wM,wD);
	}else{
		var wymd = nDateTO.split("/");
		if (wymd[1].length == 1){wymd[1] = "0" + wymd[1]};
		if (wymd[2].length == 1){wymd[2] = "0" + wymd[2]};
		if (ValidDate(wymd[0] + "/" + wymd[1] + "/" + wymd[2])){
			var wDateTO = new Date(nDateTO);
		}else{
			return "<FONT COLOR='red'>日付形式(TO)エラー(" + nDateTO + ")</FONT>";
		}
	}
	if (wDateFM > wDateTO){
		return "<FONT COLOR='red'>日付のFrom～Toの関連エラー</FONT>";
	}

	switch (flg.toLowerCase()){
		case "d":
			var wdaysFM = wDateFM.getTime();
			var wdaysTO = wDateTO.getTime();
			return (wdaysTO - wdaysFM) / (1000 * 60 * 60 * 24) 
			break;
       
		case "y":
			var wY1 = wDateFM.getFullYear();
			var wM1 = wDateFM.getMonth()+1;
			var wD1 = wDateFM.getDate();
			var wY2 = wDateTO.getFullYear();
			var wM2 = wDateTO.getMonth()+1;
			var wD2 = wDateTO.getDate();
			if (wY1 == wY2){
				tY = 0;
			}else{
				tY = wY2 - wY1;
			}
			if (wM1 > wM2){
				tY--;
				tM = wM2 + 12 - wM1;
			}
			return tY;
			break;
		
		case "m":
			var wY1 = wDateFM.getFullYear();
			var wM1 = wDateFM.getMonth()+1;
			var wD1 = wDateFM.getDate();
			var wY2 = wDateTO.getFullYear();
			var wM2 = wDateTO.getMonth()+1;
			var wD2 = wDateTO.getDate();
			tM = (wY2 * 12 + wM2) - (wY1 * 12 + wM1);
			if (wD1 > wD2){
				tM--;
			}
			return tM;
			break;
		
		case "ym":
			var wY1 = wDateFM.getFullYear();
			var wM1 = wDateFM.getMonth()+1;
			var wD1 = wDateFM.getDate();
			var wY2 = wDateTO.getFullYear();
			var wM2 = wDateTO.getMonth()+1;
			var wD2 = wDateTO.getDate();
			if (wY1 == wY2){
				tY = 0;
			}else{
				tY = wY2 - wY1;
			}
			if (wM1 > wM2){
				tY--;
				tM = wM2 + 12 - wM1;
			}else{
				tM = wM2 - wM1;
			}
			if (wD1 > wD2){
				if (tM == 0){
					tM = 11;
				}else{
					tM--;
    			}
			}
			if (tM < 10){tM = "0" + tM};
			return tY + "." + tM;
			break;
	}

}

function ValidDate(dateStr) {
// Checks for the following valid date formats:
// YYYY/MM/DD

var datePat = /^(\d{4})(\/)(\d{2})\2(\d{2})$/;
var DateArray = dateStr.match(datePat);

	if (DateArray == null) {
		return false;
	}

	wyear = dateStr.substr(0,4);
	wmonth = eval(dateStr.substr(5,2));
	wday = eval(dateStr.substr(8,2));

	if (mon_chk(wmonth)){
	}else{
		return false;
	}

	dd = daymonth(wyear,wmonth);
	if (wday > dd){
		return false;
	}
    
	return true;
}

/* 日付の範囲チェック */
function daymonth(year,month){
	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];
}
/* うるう年のチェック */
function leapyear(year){
	return year%4==0 && (year%100!=0 || year%400==0);
}

/* 月の範囲チェック */
function mon_chk(month){	
	if((month >= 1) && (month <= 12)) return true;
	return false;
}


function WorkdayAdd(n,date,yobi,saijitsu){
//  機能　　　　：指定日の過去または未来の日を稼働日で求める関数
//  関数名　　　：WorkdayAdd()
//  引数　　　　：n      ｎ日後またはｎ日前（数値属性）前の時は－値とする
//  　　　　　　：date   指定日（文字属性：yyyy/m/d or yyyy/mm/dd）省略時は当日
//  　　　　　　：yobi   休日を曜日で指定する
//	　　　　　　　　　　 0:日 1:月 2:火 3:水 4:木 5:金 6:土
//	　　　　　　：saijitsu 祭日を指定する　形式："yyyy/mm/dd" or "yyyy/m/d"
//  戻り値　　　：日付形式（yyyy/mm/dd）
//
//  呼出例　　　：WorkdayAdd(10,"","0,6","2003/07/20,2003/09/15,2003/11/3") 
//              当日の10日後の稼働日を求める。土日は休日、祭日あり
//
	if (n < 0){
		wn = -n;
	}else{
		wn = n;
	}
	wyb = yobi.split(",");
	wsa = saijitsu.split(",");
    
	for ( i=0;i<wsa.length;i++){
		wsa[i] = new Date(wsa[i]);
		wsa[i] = wsa[i].getTime();
	}
	var count=0;
	var flag=false;
	if (date == ""){
		var wkaisi = new Date();
		wky = wkaisi.getFullYear();
		wkm = wkaisi.getMonth();
		wkd = wkaisi.getDate();
		wkaisi = new Date(wky,wkm,wkd);
	}else{
		var wkaisi = new Date(date);
	}
	var EndDate = wkaisi.getTime();
	var kasan = 1000 * 60 * 60 * 24;
	if (n < 0) { kasan = kasan * -1};
	if (n == 0){
		var wyymmdd = new Date(EndDate);
		var wyear = wyymmdd.getFullYear();
		var wmonth = wyymmdd.getMonth()+1;
		if (wmonth < 10) { wmonth = "0" + wmonth};
		var wdate = wyymmdd.getDate();
		if (wdate < 10) { wdate = "0" + wdate};
		return wyear + "/" + wmonth + "/" + wdate;
	}else{
		for (i=1;flag=true;i++){
			EndDate = EndDate + kasan;
			if (saijitsu_check(EndDate)){
			}else{
				if (yasumi_check(EndDate)){
				}else{
					count++
					if (count == wn){
						flag = true;
						var wyymmdd = new Date(EndDate);
						var wyear = wyymmdd.getFullYear();
						var wmonth = wyymmdd.getMonth()+1;
						if (wmonth < 10) { wmonth = "0" + wmonth};
						var wdate = wyymmdd.getDate();
						if (wdate < 10) { wdate = "0" + wdate};
						return wyear + "/" + wmonth + "/" + wdate;
					}
				}
			}
		}
		return false;
	}
}

function saijitsu_check(date){
//
//	祭日チェック
//
//  　指定祭日の場合、true
//

	for (j=0; j<wsa.length; j++){
		if (date == wsa[j]){
			return true;
		}
	}
	return false;
}

function yasumi_check(date){
//
//	曜日指定の休日チェック
//
//  　指定曜日場合、true
//
	wymd = new Date(date);
	var yb = wymd.getDay();
	for (k=0; k<wyb.length; k++){
		if (yb == wyb[k]){
			return true;
		}
	}
	return false;
}

function NthYDate(date,N,W){
//
//   該当月の第ｎ何曜日の日付を求めるための準備
//
//		CallingSeq  NthYDate(date,n,y)
//
//				date:対象日 (文字列形式："yyyy/m/d" or "yyyy/mm/dd") 
//				n   :第ｎ週目
//				y   :曜日(0,1,2,3,4,5,6・・数値は日月火水木金土の意味)
//
//	使い方：(例)
//
//		当月の第２火曜日の日を求める場合
//			var today = new Date();
//			var yyyy = today.getFullYear();
//			var mm = today.getMonth()+1;
//			var dd = today.getDate();
//			var n = 2;
//			var y = 2;
//          var yobi = new Array("日","月","火","水","木","金","土");
//
//			document.write("当月度(" + yyyy + "年" + mm + "月)の第 " + n + " " + yobi[y] + "曜日は、" + NthYDate(yyyy + "/" + mm + "/" + dd,n,y) + "日です"); 
//

	var firstDayOfMonth = new Date(date);
	firstDayOfMonth.setDate(1);

	return 7*N - (firstDayOfMonth.getDay() + 6 - W) % 7;
}
//




	// クライアントのブラウザ（横幅）を取得
	function getBrowserWidth ( ) {
	    if ( window.innerWidth ) { return window.innerWidth; }
	    else if ( document.documentElement && document.documentElement.clientWidth != 0 ) { return document.documentElement.clientWidth; }
	    else if ( document.body ) { return document.body.clientWidth; }
	    return 0;
	}

	// クライアントのブラウザ（高さ）を取得
	function getBrowserHeight ( ) {
	    if ( window.innerHeight ) { return window.innerHeight; }
	    else if ( document.documentElement && document.documentElement.clientHeight != 0 ) { return document.documentElement.clientHeight; }
	    else if ( document.body ) { return document.body.clientHeight; }
	    return 0;
	}


	function creditcarddialogon(){
		//クレジットカードのダイアログを表示

		var objwaiticon

		objwaiticon = document.getElementById("waiticon");

//			objmainform.style.filter ="alpha(opacity='50');";



		objwaiticon.style.top = getBrowserHeight()/2 + GetScrollPosition('top')-30 + "px";;
		objwaiticon.style.left = getBrowserWidth()/2 + GetScrollPosition('left')-210 + "px";;

		objwaiticon.style.position = "absolute";
		objwaiticon.style.display = "block";

		iIntervalBgId = setInterval("setcreditcarddialogposition('waiticon')", 100);


	}

	function setcreditcarddialogposition(sId){
		//クレジットカードのダイアログポジションを設定する

		var oTarget = document.getElementById(sId);

		oTarget.style.top = getBrowserHeight()/2 + GetScrollPosition('top')-30 + "px";;
		oTarget.style.left = getBrowserWidth()/2 + GetScrollPosition('left')-210 + "px";;

	}

	function GetScrollPosition(smode){
	//smode:top / left

		var iScrollPosition;

		if(smode == "left"){
			if(self.pageXOffset){
				iScrollPosition = self.pageXOffset;
			// Explorer 6 Strict
			}else if(document.documentElement && document.documentElement.scrollLeft){
				iScrollPosition = document.documentElement.scrollLeft;
			// all other Explorers
			}else if(document.body){
				iScrollPosition = document.body.scrollLeft;
			}
		} else {

			if(self.pageYOffset){
				iScrollPosition = self.pageYOffset;
			// Explorer 6 Strict
			}else if(document.documentElement && document.documentElement.scrollTop){
				iScrollPosition = document.documentElement.scrollTop;
			// all other Explorers
			}else if(document.body){
				iScrollPosition = document.body.scrollTop;
			}
		}
		
		return iScrollPosition;
	}



	function cardinformation_on(){
		document.getElementById("cardinformation").style.display = "inline";
	}

	function cardinformation_off(){
		document.getElementById("cardinformation").style.display = "none";
	}

  
  // ひらがな、かたかな、アルファベットのみ入力可のチェック
  function CheckKana(theTextBox) {
  
    var wText;
    
    // 数字のチェック
    wText = theTextBox.value;
    
    if (wText.match(/[^A-Za-zあ-んア-ンｱ-ﾝ]/) != null) {
      alert('ひらがな、かたかな、アルファベットで入力してください。(-1)');
      theTextBox.focus();
      theTextBox.select();
      return false;
    }
    
    return true;
    
  }

	//エレメントの場所を調べる
	getYposition = function(e) {
		var y = 0;
		while(e) {
			y += e.offsetTop;
			e = e.offsetParent;
		}
		return y;
	};


//-->
