function _xGetElementsByClass(searchClass,targetTag) {
    var classElements = new Array();
    var allElements = document.getElementsByTagName(targetTag);

    for (i = 0, j = 0; i < allElements.length; i++) {
        if (allElements[i].className == searchClass) {
            classElements[j] = allElements[i];
            j++;
        }
    }
    return classElements;
}

function _xGetElementsByAllClass(searchClass) {
   if (document.all) {
        var classElements = new Array();
        var allElements = document.all;
            for (i = 0, j = 0; i < allElements.length; i++) {
                if (allElements[i].className == searchClass) {
                    classElements[j] = allElements[i];
                    j++;
                }
            }   
   } else if (document.getElementsByTagName) {
        var classElements = new Array();
        var allElements = document.getElementsByTagName("*");
            for (i = 0, j = 0; i < allElements.length; i++) {
                if (allElements[i].className == searchClass) {
                    classElements[j] = allElements[i];
                    j++;
                }
            }       
   } else {
      return;
   }
    return classElements;
}

function _xDisplay(id,type) {
	$(id).style.display = type;
}

function _xRemoveAttribute(type,attr) {
	_xGetElementById(type).removeAttribute(attr);
}

function _xSetAttribute(type,attr,value) {
		_xGetElementById(type).setAttribute(attr,value);
}

function _xSetClass(id,classname){
	_xGetElementById(id).className = classname;
}

function _xGetElementById(e)
{
  if(typeof(e)=='string') {
    if(document.getElementById) e=document.getElementById(e);
    else if(document.all) e=document.all[e];
    else e=null;
  }
  return e;
}

function _xz2h_digit(src) {
  return src.replace(/([０-９，])/g,
    function ($0) {
      return String.fromCharCode($0.charCodeAt(0) - 65248);
    });
}

function _xh2z_alpha(src) {
  return src.replace(/([A-Za-z])/g,
    function ($0) {
      return String.fromCharCode($0.charCodeAt(0) + 65248);
    });
}


function _xToKanji(arb, issen) {
  var suuji = "〇一二三四五六七八九";
  var keta = "〇一十百千万十百千億十百千兆十百千";
  var knj = "";
  var flag = false;
  var i, kt1, kt2, num;

  arb = _xz2h_digit(arb);
  arb = arb.replace(/,/g, "");

  if (arb.length < keta.length) {
    for (i = 0; i < arb.length; i++) {
      num = parseInt(arb.charAt(i));
      kt1 = arb.length - i;
      kt2 = kt1 % 4;
      if (num > 0 && (num > 1 || kt2 == 1 ||
                      (issen && kt2 == 0))) {
        knj += suuji.charAt(num);
        flag = true;
      }
      if (kt1 > 1 && (num > 0 || kt2 == 1)) {
        if (flag || num == 1) {
          knj += keta.charAt(kt1);
          flag = true;
        }
      }
      if (kt2 == 1) flag = false;
    }
  } else {
    window.alert("表現出来ない桁数です。:" + arb);
    knj = arb;
  }

  if (knj.length == 0) knj = "零";

  return knj;
}

function _xconv(wareki) {
  var wareki_ = wareki;
  var issen = document.tform.C1.checked;
  var reg = new RegExp(document.tform.T1.value, "g");
  var dest = wareki_.replace(reg,
    function ($0) { return _xToKanji($0, issen); });

        if (document.tform.C2.checked){
                return _xh2z_alpha(dest);
        } else {
                return dest;
        }
}

function _xRepAll(str,rep_str,tgt_str){
        reg1 = new RegExp(rep_str , "g");
        return str.replace(reg1 , tgt_str);
}

function _x_z2hconv(src, exc) {
  var str = new String;
  var len = src.length;
  for (var i = 0; i < len; i++) {
    var c = src.charCodeAt(i);
    if (exc.indexOf(src.charAt(i)) > -1) {
      str += src.charAt(i); /* 除外 */
    } else if (c >= 65281 && c <= 65374 && c != 65340) {
      str += String.fromCharCode(c - 65248);
    } else if (c == 8217) {
      str += String.fromCharCode(39);
    } else if (c == 8221) {
      str += String.fromCharCode(34);
    } else if (c == 12288) {
      str += String.fromCharCode(32);
    } else if (c == 65507) {
      str += String.fromCharCode(126);
    } else if (c == 65509) {
      str += String.fromCharCode(92);
    } else {
      str += src.charAt(i);
    } 
  }
  return str;
}

//全角・半角置換
function _xconvertZtoH(src, exc) {
	//除外したい文字列 : exc
	//置換したい文字列 : src
  	return _x_z2hconv(src, exc);
}

function _xdelspace(str,flg,match) {

	var tmp_str = str;
	var str_len = tmp_str.length;

	if (flg == 'top') {
		while(tmp_str.search(match) == 0){
			tmp_str = tmp_str.substr(1);
		}
	} else if (flg == 'last') {
                while(tmp_str.charAt(str_len - 1) == match){
                        tmp_str = tmp_str.substr(0,str_len - 1);
			str_len = tmp_str.length;
                }
	}
	return tmp_str;
}

function _xRegConvSpace(str,match){
	var tmp_str = str;
        if (tmp_str.search(" {2,}")){
                tmp_str = _xRepAll(tmp_str,' {2,}',match);
        }
        tmp_str = _xdelspace(tmp_str,'top',match);
        tmp_str = _xdelspace(tmp_str,'last',match);
	return tmp_str;
}

function _xgetCookie(name) {
	var cname = name + "=";
	var i = 0;

	while ( i < document.cookie.length )
	{
		var j = i + cname.length;
		if ( document.cookie.substring( i, j ) == cname )
		{
			var leng = document.cookie.indexOf ( ";", j );

			if ( leng == -1 )
			leng = document.cookie.length;
			return unescape( document.cookie.substring( j, leng ));
		}

		i = document.cookie.indexOf( " ", i ) + 1;
		if ( i == 0 ) break;
	}
	return null;
}


function _xMatchArray(str) {

	var tmp = str;
	alert("");
	var xtmp = tmp.match(/\"[^\"]*\"/g);

	return xtmp;

}

function _xInsertMess(id,mess) {
	$(id).innerHTML = mess;
}

