/**
 * isNetFront?
 */
function isNetFront() {
  var ua = navigator.userAgent;
  if (ua.indexOf("NetFront") != -1 || ua.indexOf("AVEFront/") != -1 || ua.indexOf("AVE-Front/") != -1) {
    return true;
  } else {
    return false;
  }
}

/**
 * submitボタンの連打防止のため、disable処理を行う。body onLoad に適用して利用する
 */
function initDisableSubmit() {
	// 2006/02/15 NetFrontとは相性が悪く固まるらしいので抜ける
	if (isNetFront()) {
		return;
	}
	
	var i = 0;

    var inputs = document.getElementsByTagName("input");
	if (!inputs) {
		return;
	}
	
    for (i = 0; i < inputs.length; i++) {
        switch (inputs[i].type.toLowerCase()) {
        case "submit":
            if (!inputs[i].onclick) {
                inputs[i].onclick = function() { setHiddenValue(this) };
            }
            break;
        }
    }

    for (i = 0; i < document.forms.length; i++) {
        if (!document.forms[i].onsubmit) {
            document.forms[i].onsubmit = function() { disableSubmit(this) };
        }
    }
}

/**
 * disableSubmit
 */
function disableSubmit(form) {
  // 2006/02/15 NetFrontとは相性が悪く固まるらしいので抜ける
  if (isNetFront()) {
    return;
  }
	
  var elements = form.elements;
  for (var i = 0; i < elements.length; i++) {
    if (elements[i].type == 'submit') {
      elements[i].disabled = true;
    }
  }
}

/**
 * setHiddenValue
 */
function setHiddenValue(button) {
  // 2006/02/15 NetFrontとは相性が悪く固まるらしいので抜ける
  if (isNetFront()) {
    return;
  }
	
  if (button.name) {
    var q = document.createElement('input');
    q.type = 'hidden';
    q.name = button.name;
    q.value = button.value;
    button.form.appendChild(q);
  }
}

// name に特定文字 nameStrRegex を含む checkbox がチェックされていたら確認する（削除用）
function confirmCheckBoxByNameRegex(form, nameStrRegex, msg) {
	var elements = form.elements;
	var reg = new RegExp(nameStrRegex, "i");

	for (var i = 0; i < elements.length; i++) {
		if (elements[i].type.toLowerCase() == 'checkbox' && elements[i].name.toLowerCase().match(reg) && elements[i].checked) {
			if (!window.confirm(msg)) {
				return false;
			} else {
				return true;
			}
		}
	}
	return true;
}

// 文字列をバイト数で数える
function jstrlen(str) {
	var len = 0;
	str = escape(str);
	for (var i = 0; i < str.length; i++, len++) {
		if (str.charAt(i) == "%") {
			if (str.charAt(++i) == "u") {
				i += 3;
				len++;
			}
			i++;
		}
	}
	return len;
}
function showCountStr(check_id, show_id, max) {
	var len = jstrlen(document.getElementById(check_id).value);
	//alert(len);
	if (len > max) {
		var now = '<span class="error">' + len + '</span>';
	} else {
		var now = len;
	}
	var html = '&nbsp;' + now + '/' + max;
	document.getElementById(show_id).innerHTML = html;
}