window.onload = function (){ 
    var list = document.getElementsByTagName("label"); 
    for(var i=0; i<list.length; i++){ 
        list[i].onclick = function (){ 
            return clickInput(this); 
        }; 
    } 
}

function clickInput(label){
	//forの指すidのinputタグがあるか探す
	var e = null;
	try{
		e = document.getElementById(label.htmlFor);
	}
	catch(exception){}
	if(e == null){
		//labelタグ以下のinputタグを探す
		var node;
		for(var i=0; i<label.childNodes.length; i++){
			node = label.childNodes.item(i);
			if(node.nodeName == 'INPUT'){
		e = node;
		break;
			}
		}
	}
	if(e != null){
		//inputタグにクリックされたときと同じ動作をさせる
		switch(e.type){
			case 'checkbox':
		e.checked =! e.checked;
		return false;
			case 'radio':
		e.checked = true;
		return false;
			case 'text': case 'password': case 'textarea':
		e.focus();
		return false;
		}
	}
}