/**
 * 全フォームの初期化
 */
function resetAllForms(){
	for (var i=0; i<document.forms.length; i++) document.forms[i].reset();
	// ブラウザにフォーム入力情報が残っていると、CSSによる見た目と実際の状態がずれてしまうことがあります。
	// ページが読込まれた段階で、この関数を呼び出すようにしましょう。
}

/**
 * チェックボックス
 * 引数としてlabel要素を渡すこと。
 */
function checkboxClick(elm){
	var id = elm.htmlFor;
	var target = document.getElementById(id);
	elm.className = !target.checked ? 'checkOn' : 'checkOff';
	//　clickイベントは、チェックボックスの値が実際に変更される前に呼ばれます。
	// そのため、直観的には真偽値が逆のように思えますが、これでOKです。
}

/**
 * ラジオボタン
 * 引数としてlabel要素を渡すこと。
 */
function radioClick(elm){
	var id = elm.htmlFor;
	var target = document.getElementById(id);
	var inputs = target.form.getElementsByTagName('input');
	var labels = target.form.getElementsByTagName('label');
	for (var i=0; i<inputs.length; i++){
		if (inputs[i].name == target.name){
			for (var j=0; j<labels.length; j++){
				if (labels[j].htmlFor == inputs[i].id){
					labels[j].className = (inputs[i].id==id) ? 'radioOn' : 'radioOff';
					break;
				}
			}
		}
	}
}

/**
 * スイッチ
 * 引数としてlabel要素を渡すこと。
 */
var sw_c=0;
function switchClick(elm){
	var id = elm.htmlFor;
	var target = document.getElementById(id);
	var mode = !target.checked ? 'on' : 'off';
	elm.style.backgroundImage = "url(../images/form_img/switch-"+mode+".gif#"+(++sw_c)+")";
	// GIFアニメーションは、一度ブラウザにキャッシュされると省略されてしまうことがあります。
	// キャッシュを回避するため、ファイル名に本来不要な「#」以下を加えています。
}

/**
 * 画像の先読み
 */
(new Image()).src = '../images/form_img/button.png';
(new Image()).src = '../images/form_img/button-hover.png';
(new Image()).src = '../images/form_img/large-button.png';
(new Image()).src = '../images/form_img/large-button-hover.png';
(new Image()).src = '../images/form_img/select.png';
(new Image()).src = '../images/form_img/select-hover.png';
(new Image()).src = '../images/form_img/check-off.gif';
(new Image()).src = '../images/form_img/check-off-hover.gif';
(new Image()).src = '../images/form_img/check-on.gif';
(new Image()).src = '../images/form_img/check-on-hover.gif';
(new Image()).src = '../images/form_img/radio-off.gif';
(new Image()).src = '../images/form_img/radio-off-hover.gif';
(new Image()).src = '../images/form_img/radio-on.gif';
(new Image()).src = '../images/form_img/radio-on-hover.gif';
(new Image()).src = '../images/form_img/switch-off.gif';
(new Image()).src = '../images/form_img/switch-on.gif';
