/**
 * [関数名] isRegHalf
 * [機　能] 半角チェック
 * [説　明] 文字列中に半角文字以外が含まれているか正規表現を使用して調べる
 * [引　数] 
 * @param obj テキストボックスオブジェクト
 * [返り値]
 * @return true(半角文字のみの場合) | false(半角文字以外が含まれている場合)
*/ 
function isRegHalf(obj){
    str=obj.value;
    /* 半角英数字(0-9)、四則演算子(+-/*)、ピリオド(.)、カンマ(,)のみ */
    var tmp=str.match(/[0-9a-zA-Z\+\-\/\*\,\. ]+/g);
    /* matchメソッドの返り値が入力値と等しい場合は、全て半角 */
    if ((tmp!=str)&&(str!='')){
        alert('半角文字以外が含まれています\n'+obj.name+'は半角で入力してください。');
		obj.style.backgroundColor = "#FFCCCC";
		obj.focus();
        return false;
    }else{
        //alert('半角文字のみです');
		obj.style.backgroundColor = "transparent";
		return true;
    }
}

//読み込んだXMLのデータをもとにOPTIONを書き換えます
function chgXMLtoHTMLOptions(xdoc,oj){

return {

  //XMLのitems,value,textを連想配列で返します
  setItems : function (){
 
	//XML内の"items"という名前のタグ(要素)の配列を作る
	var items = xdoc.getElementsByTagName("items")

	//XML内の"value"という名前のタグ(要素)の配列を作る
	var key = xdoc.getElementsByTagName("key")
  
	//XML内の"text"という名前のタグ(要素)の配列を作る
	var value = xdoc.getElementsByTagName("value")
	
	return { 'items':items,'keys':key ,'values':value };
  
  },

  //XMLのデータからオプションを生成します
  addOptions : function (){
	//すべてのオプションを削除します
	this.delAllOptions(oj)
	//XMLデータのオブジェクトを受け取ります
	var data = this.setItems()
	//"item"タグが出てきた順に処理します
	
	for( i = 0 ; i < data.items.length ; i++ ){
	  var value  = data.values[i].firstChild.nodeValue 
	  var key = data.keys[i].firstChild.nodeValue 
	  oj.options[oj.length]=new Option(value,key)
	}
  },

  //indexで指定した以外のオプションをすべて削除します
  delOptionsWithoutIndex : function (oj,index){
	var optionIndex = oj.options.length  
	for ( i=optionIndex ; i >= 0  ; i-- ){
	  if(index!=i)oj.options[i]=null
	}
  },

  //すべてのオプションを削除します
  delAllOptions : function (oj){
	var optionIndex = oj.options.length  
	for ( i=0 ; i <= optionIndex ; i++ ){
	  oj.options[0]=null
	}
  }
  
}

}
