// JavaScript Document
// this js must be called after prototype.js
//

function ajaxReqText2Options(reqText,selId) {
	//---- you must set optValue & optText as identifier of array
	$(selId).options.length=0;
  var json = eval("(" + reqText + ")");
  var num = json.length;
	for (var i=0; i<=num; i++) {
  	var option=document.createElement("option");
		option.value=json[i].optValue;
		option.text=json[i].optText;
		try {
			$(selId).add(option, null);
		} 
		catch(e) {
    	  $(selId).add(option, -1);
    }
	}
}

/*-----------------------------------------------
対応フォームないのチェックボックスのチェックを
つけたり外したりする関数
引数
   formId : ターゲットの フォーム ID
   cbName : チェックボックスを施したいチェックボックスの名前
            配列の場合は、配列で名で cbBox[] <--- これが配列名前でこれを代入
   status : 1が、チェックをつける 2がチェックを外す。(1以外)
*/
function checkBoxOnOff(formId,cbName,status) {
	var newStatus = (status==1) ? true : false;
	var elements=$(formId).getInputs("checkbox",cbName);
	elements.each(function(obj) {obj.checked=newStatus;});	
}

/*------------------------------------------
3桁の数字のコンマを打つ関数
------------------------------------------*/
function addComma(value){
	var isString = typeof(value);
	if (isString!="string") value=String(value);
  var i;
  for(i = 0; i < value.length/3; i++){
    value = value.replace(/^([+-]?\d+)(\d\d\d)/,"$1,$2");
  }
  return value;
}

function removeComma(value) {
	var isString = typeof(value);
	if (isString!="string") value=String(value);
  return value.split(",").join("")
}

/*-----------------------------------------
javaScriptで引数を取得する。日本語の引数は出来ない

使用方法：
    var get = getRequest();
http://xxxxxxx/xxx.html?id=3&code=test」というURLでアクセスした場合、
    get['id']; // 「3」
    get['code']; // 「test」
で、各GETを扱えます。先に述べたように日本語は使えません。
----------------------------------------------*/
function getRequest(){
  if(location.search.length > 1) {
    var get = new Object();
    var ret = location.search.substr(1).split("&");
    for(var i = 0; i < ret.length; i++) {
      var r = ret[i].split("=");
      get[r[0]] = r[1];
    }
    return get;
  } else {
    return false;
  }
}

/*----------------------------------------------------------------
javaScriptで、IDで指定された部分の表示非常時の切替を行う関数
---------------------------------------------------------------*/
function displayToggle(itemId) {
	var divItem = $(itemId);
	Element.toggle(divItem);
}

/*----------------------------------------------------------
  AjaxUpdaterを使用して、Formに登録されたデータSubmitする
	引数:
	  dispArea : 非同期通信が終わったあとに、戻りテキストを表示する場所(文字列)
		formId   : データを取得するためのFormID名を入力
		server   : Server file
-----------------------------------------------------------*/
function ajaxPostData(dispArea,formId,server) {
	data = Form.serialize(formId);
	var opt = {
		method : "post",
		parameters : data
	}
	new Ajax.Updater(dispArea,server,opt);
}

function bookMark(url,name) {
  if (window.sidebar) {
    window.sidebar.addPanel(name, url,"");
  } 
	else if( document.all ) {
    window.external.AddFavorite( url, name);
  } else if( window.opera && window.print ) {
    return true;
  }  
}



