/* ---------------------------------------------------- */
/* ▼グローバル変数の定義
/* ---------------------------------------------------- */
var optlist = new Array();

/* ---------------------------------------------------- */
/* ▼load時の処理
/* ---------------------------------------------------- */
dom.event.addEventListener(window, 'load', initDocument);
function initDocument() {
  /* A要素のhref属性とキャプションを取得 */
  var selectlink = document.getElementById('selectlink');
  var anchorNodes = selectlink.getElementsByTagName('A');
  for(var i=0; i<anchorNodes.length; i++) {
    var elm = anchorNodes.item(i);
    var data = new Object();
    if(elm.firstChild && elm.href) {
      data.href = elm.href;
      data.caption = elm.firstChild.nodeValue;
      optlist.push(data);
    }
  }
  /* DIV要素の中身を削除 */
  while( selectlink.hasChildNodes() ) {
    selectlink.removeChild(selectlink.lastChild);
  }
  /* SELECT要素を生成してDIV要素に追加 */
  var select = document.createElement('SELECT');
  var optf = document.createElement('OPTION');
  optf.value = '';
  optf.appendChild( document.createTextNode('▼select') );
  select.appendChild(optf);
  for( var i=0; i<optlist.length; i++) {
    var opt = document.createElement('OPTION');
    opt.value = optlist[i].href;
    opt.appendChild( document.createTextNode(optlist[i].caption) );
    select.appendChild(opt);
  }
  selectlink.appendChild(select);
  /* ボタンを生成してDIV要素に追加 */
  var btn = document.createElement('INPUT');
  btn.type = 'button';
  btn.value = 'Go';
  selectlink.appendChild(btn);
  /* ボタンにclickイベント・ハンドラーをセット */
  dom.event.addEventListener(btn, 'click', gotoPage);
}

/* ---------------------------------------------------- */
/* ▼clickイベント時のリスナー関数
/* ---------------------------------------------------- */
function gotoPage(evt) {
  /* SELECT要素のノード・オブジェクト */
  var select = document.getElementById('selectlink').getElementsByTagName('SELECT').item(0);
  /* 選択されたOPTION要素のvalue属性値からリンク先URLを取得 */
  var url = select.value;
  /* URLが存在してれば、そのページへ移動 */
  if(url) {
    document.location.href = url;
  }
}

