//-------------------------------------------------
// ナビゲーションを生成
// createNavi(上位エレメント)
//-------------------------------------------------
function createNavi(e){

  //dlエレメント取得
  var elements_dl = e.getElementsByTagName("dl");

  //dlエレメントの個数ループ
  for (var i=0; i<elements_dl.length; i++){

    //dtエレメントにイベントリスナーセット
    elements_dl[i].getElementsByTagName("dt")[0].onclick = function(){
      //ddエレメント取得
      var elements_dd = this.parentNode.getElementsByTagName('dd');
      //ddエレメントの個数ループ
      for (var j=0; j<elements_dd.length; j++){
        
        //dd表示切替
        if(elements_dd[j].style.display == "none"){
           elements_dd[j].style.display = "block";
        }else{
          elements_dd[j].style.display = "none";
        }

      }
    }

    // 初期設定
    elements_dl[i].style.cursor = "pointer";
    var elements_dd = elements_dl[i].getElementsByTagName("dd");
    for (var j=0; j<elements_dd.length; j++){
      elements_dd[j].style.display = "none";
    }
  }

}

//-------------------------------------------------
// ナビゲーションのオープン
// openNavi(上位エレメント)
//-------------------------------------------------
function openNavi(e,f){

    var url       = location.href;
    var arr_url   = url.split("/");
    var file_name = arr_url[(arr_url.length-1)];
    var navi_path = url.replace(file_name,"");

  //dlエレメント取得
  var elements_dl = e.getElementsByTagName("dl");

  //dlエレメントの個数ループ
  for (var i=0; i<elements_dl.length; i++){

      //ddエレメント取得
      var elements_dd = elements_dl[i].getElementsByTagName("dd");

      //ddエレメントの個数ループ
      for (var j=0; j<elements_dd.length; j++){

          //aエレメント取得
          var element_a = elements_dd[j].getElementsByTagName("a")[0];
          
          //herfを比較
          if(element_a.href == navi_path){
              
              // ddエレメントにclassを追加
              elements_dd[j].setAttribute("class",f);
              
              // IE用非汎用
              elements_dd[j].getElementsByTagName("a")[0].style.borderLeftColor = "#999900";
              
              // 同一グループのddエレメント取得
              var loop_dd = elements_dd[j].parentNode.getElementsByTagName('dd');
              
              //ddエレメントの個数ループ
              for (var k=0; k<loop_dd.length; k++){
                  loop_dd[k].style.display = "block";
              }
              
              //抜け出し
              return true;
              
          }
          
      }
  }

}

//-------------------------------------------------
// チェックボックスの当たり判定を上位エレメントを基準に広範囲に設定
// wideChecked(上位エレメント,name(パターンマッチ対応),タイトルタグ,カーソル(default:pointer))
// 要：prototype-js
//-------------------------------------------------
function wideChecked(e,f,g,h){
    if(!e) return false;
    var elment = e.getElementsByTagName("input");
    var match_obj  = new RegExp(f,"ig");
    var title  = g?g:'';
    var cursor = h?h:'pointer';
    $A(elment).each(function(e){
        var input_tag_name = e.getAttribute("name");

        if(input_tag_name && input_tag_name.match(match_obj)){
            e.style.cursor = cursor;
            e.parentNode.title = title;
            e.parentNode.style.cursor = cursor;
            e.parentNode.onclick = function(){
                if(this.getElementsByTagName("input")[0].checked){
                    this.getElementsByTagName("input")[0].checked = false;
                }else{
                    this.getElementsByTagName("input")[0].checked = true;
                }
            }
            e.onclick = function(){
                if(this.checked){
                    this.checked = false;
                }else{
                    this.checked = true;
                }
            }
        }
    });
}

//-------------------------------------------------
// チェックボックスを全てチェック
// changeCheckboxes(name(パターンマッチ対応),this)
//-------------------------------------------------
function changeCheckboxes(e,f){
  for (var i=0; i<document.getElementsByTagName("input").length; i++){
    var input_tag = document.getElementsByTagName("input")[i];
    var input_tag_name = input_tag.getAttribute("name");
    var match_obj  = new RegExp(e,"ig");  
    if(input_tag_name && input_tag_name.match(match_obj)) input_tag.checked = f.checked;
  }
}


//-------------------------------------------------
// Aタグにアラートをセット
// setAlert(name,メッセージ)
//-------------------------------------------------
function setAleat(e,f){
  for (var i=0; i<document.anchors.length; i++){
    if(document.anchors[i].name == e){
      document.anchors[i].onclick = function () {
        if(confirm(f)){
          return true;
        }else{
          return false;
        }
      }
    }
  }
}


//==============================================================================
// 選択範囲の文字列を取得
// subSel(テキストフィールド);
//==============================================================================
function subSel(e) {
    if (document.selection) {
        // IE5.5 - 6.0
        e.focus();
        var a = document.selection.createRange();
        return a.text;
    } else {
        // W3C DOM
        var a = e.selectionStart;
        var b = e.selectionEnd;
        return e.value.substring(a, b);
    }
    e.focus();
}


//==============================================================================
// 選択範囲の文字列を置換
// replaceSel(テキストフィールド,置き換える文字列);
//==============================================================================
function replaceSel(e,f) {
    if (document.selection) {
        // IE5.5 - 6.0
        e.focus();
        var a = document.selection.createRange();
        a.text = f;
    } else {
        // W3C DOM
        var a = e.selectionStart;
        var b = e.selectionEnd;
        e.value = e.value.substring(0, a) + f + e.value.substr(b, e.textLength);
    }
    e.focus();
}


//==============================================================================
// 指定範囲の文字列を置換
// replaceText(テキストフィールド,開始位置,終了位置,置き換える文字列);
//==============================================================================
function replaceText(e,f,g,h) {
    e.value = e.value.substring(0, f-1) + h + e.value.substr(g-1, e.textLength);
    e.focus();
}


//==============================================================================
// フォントサイズを変更してクッキーに保存（同一ドメイン共通）
// 
//==============================================================================
function changeFontSize(e){
    
    if(e){
        document.cookie = 'FONT-SIZE='+e+'%; path=/';
    }
    
    var cookies = document.cookie.split(";");
    
    // プロトタイプの感染を防ぎながらループ
    for(i in cookies){
        if (cookies.hasOwnProperty(i)) {
            if(cookies[i].match(/FONT-SIZE/g)){
                cookie_value = cookies[i].split("=");
                var FONT_SIZE = cookie_value[1];
                break;
            }
        }
    }
    
    // ちぇすとー
    if(FONT_SIZE){
        document.body.style.fontSize = FONT_SIZE;
    }

}

function check(id) {

	var is_empty = true;  // 全部空かどうか
	var is_num   = false; // 数字でないものがあるか
	
	var inputNum = document.getElementById(id).elements.length - 1;
	
	for ( i = 0 ; i < inputNum ; i++) {
		// form内の要素を取得
		element = document.getElementById(id).elements[i];
		// テキストボックスの場合のみ調べる
		if(element.type == "text") {	
			// 空かどうか
			if (element.value != "") {
			
				is_empty = false;
				
				// 数字かどうか
				if (isNaN( parseInt(element.value) ) ) {
					is_num = true;
				}				
			}
		}
	}
  
	if( is_empty ) { // 全て空の場合
		alert("個数を入力してください");
		return false;
	} else if( is_num ) { // 数値以外が含まれる場合
		alert("個数には数値を入力してください");
		return false;
	}

	return true;
}

function do_submit( is_check, id ) {
	if( is_check ) { 
		document.getElementById(id).submit();
		return true;
	} else { 
		return false; 
	}
}

