/**
 * Divisionware 用 JavaScript
 *
 * @package    Divisionware
 * @subpackage common
 *
 * @version    $Id: common.js,v 1.1.1.1 2007/09/12 01:03:42 ookubo Exp $
 *
 * @since      2007-07-03
 * @author     Masahiro Anada
 */

/**
 * nameが同じチェックボックスの状態を
 * 全てチェックのチェックボックスの状態と同期させる
 *
 * @param string  name
 */

function all_checked(name) {
  // 全てチェックのチェックボックスの状態を調べる
  all_checked_id = 'label_' + name + '_all_checked';
	checked = document.getElementById(all_checked_id).checked;

  // 全てのinputタグのオブジェクトを取得
  obj = document.getElementsByTagName('input');
  len = obj.length;

  // name属性が同じものを抽出するため正規表現オブジェクトを生成
  reg = new RegExp(name, 'g');

  // inputnのうちチェックボックスのみ抽出して、かつname属性が
  // 引数と合致するもののみ、全てチェックと同じ状態にする
  for(i = 0; i < len; i++) {
    input = obj[i];
    if ((input.type == 'checkbox') && (input.name.match(reg)) ) {
      input.checked = checked;
    }
  }
  
}


/**
 * nameに該当するselectの値をvalueにする
 *
 * @param string name
 * @param string value
 */

function setSelect(name, value) {
  obj = document.getElementsByName(name)[0];
  len = obj.length;

  for(i = 0; i < len; i++) {
    if (obj[i].value == value) {
      obj.selectedIndex = i;
      break;
    }
  }
}


/**
 * nameに該当する日付プルダウンを現在の日付に設定する
 *
 * @param string  name
 */

function nowDate(name) {
  date  = new Date();
  setSelect(name+'_year',  date.getFullYear());
  setSelect(name+'_month', date.getMonth() + 1);
  setSelect(name+'_day',   date.getDate());
}
