function dosearch(){
	var d = document.body.innerHTML;
	var h = d.substring(0, d.toLowerCase().indexOf("class=\"main\"") + 17);
	d = d.substring(h.length);
	d = clearhighlight(d);
	var t = document.forms[0].elements[0].value.replace("　", " ").split(" ");
	for(var i = 0; i < t.length; i++){
		if(t[i].length != 0){
			var k = new RegExp("(" + t[i] + ")", "gi");
			d = highlight(d, k);
		}
	}
	var c = 0;
	var p = 1;
	while(0 < p){
		p = d.indexOf("highlight", p + 9);
		if(-1 < p) c++;
	}
	if(c == 0){
		alert("指定されたキーワードはページ内に 1 つも見つかりませんでした。");
	}
	else{
		document.body.innerHTML = h + d;
		alert("指定されたキーワードはページ内に " + c + " 個見つかり、ハイライトされました。");
	}
}

function highlight(d, k){
	var c = 0;
	d = d.replace(k, "!highlight!$1!/highlight!");
	var r = new RegExp("<[^>]+>", "gim");
	q = d.match(r);
	if(q != null){
		for(var i = 0; i < q.length; i++){
			if(-1 != q[i].indexOf("!highlight!")){
				t = q[i].replace("!/highlight!", "").replace("!highlight!", "");
				d = d.replace(q[i], t);
			}
		}
	}
	var s = new RegExp("(!highlight!)", "gim");
	var e = new RegExp("(!/highlight!)", "gim");
	d = d.replace(s, "<span class=\"highlight\">").replace(e, "</span>");
	return d;
}

function clearhighlight(d){
	var s = new RegExp("(<span class=\"?highlight\"?>)", "gim");
	var e = new RegExp("(</span>)", "gim");
	return d.replace(s, "").replace(e, "");
}
