/**
 * 指定したモジュール/アクションへ移動
 *
 * @param object formObj フォームエレメント
 * @param string moduleName モジュール名
 * @param string actionName アクション名
 * @param string requestMethod リクエストメソッド (POST|GET)
 *
 * @return void
 */
function agavi_action(formObj,moduleName,actionName,requestMethod,target)
{
    var input   = document.createElement('input');
    input.type  = 'hidden';
    input.name  = 'module';
    input.value = moduleName;
    formObj.appendChild(input);

    var input2   = document.createElement('input');
    input2.type  = 'hidden';
    input2.name  = 'action';
    input2.value = actionName;

    formObj.appendChild(input2);
    formObj.method = requestMethod;

    if(target != null && target.length>0){
      target_orig    = formObj.target;
      formObj.target = target;
      formObj.submit();
      formObj.target = target_orig;
    }else{
      formObj.submit();
    }

}

/**
 * チェックボックスがチェックされているか
 *
 * @param object frm フォームエレメント
 * @param string ele_name チェックボックスの名前
 *
 * @return bool  
 */
function checkbox_is_checked(frm,ele_name)
{
  if(frm.elements[ele_name] == undefined){
    return false;
  }
  for(i=0;i<frm.elements.length;i++){
    if(frm.elements[i].name == ele_name && 
       frm.elements[i].type == 'checkbox' &&
       frm.elements[i].checked == true){
      return true;
    }
  }
  return false;
}

/**
 * セレクトボックスの選択された値を返す
 * 
 * @param object frm       フォームエレメント
 * @param string ele_name  要素名
 * 
 * @return string val      選択された値
 */
function selectbox_selected_value(frm,ele_name)
{
  if(frm.elements[ele_name] == undefined){
    return false;
  }
  idx = frm.elements[ele_name].selectedIndex;
  val = frm.elements[ele_name].options[idx].value;
  return val;
}

/**
 * cookie操作クラス
 */
function Cookie()
{

  /**
   * 値を取得
   *
   * @param string name
   */
  this.get = function(name)
  {
    cookies = document.cookie.split(';');
    for (i in cookies) {
      ary = cookies[i].split('=');
      ary[0] = ary[0].replace(/^\s+|\s+$/g, "");
      if (ary[0] == name) {
        return unescape(ary[1]);
      }
    }
    return '';
  }
  
  /**
   * 値をセット
   *
   * @todo expire 
   */
  this.set = function(name,value)
  {
    cookiestr = name + "=" + escape(value) + ";";
    document.cookie = cookiestr;
  }
}
