//<![CDATA[
function getMenu() {
	// ローカルファイルをブラウザ表示する時には、フォルダ区切りが"\"になるので、判断して切り換える
	if(document.URL.indexOf("\\", 0) != -1) {
		conv=document.URL.split("\\");
	}
	else {
		conv=document.URL.split("/");
	}
	// htmlwkにresponseTextを格納
	htmlwk = this.request.responseText;
	if(conv[conv.length-1].match(/#.*/)) {
		// #付きの場合はそれ以降省く
//		alert("#付き。conv[conv.length-1].match(/#.*/)=" + conv[conv.length-1].match(/#.*/));
//		alert(conv[conv.length-1]);
		conv[conv.length-1] = conv[conv.length-1].replace(/#.*/, "");
//		alert(conv[conv.length-1]);
	}
	if(conv[conv.length-1]==null) {
		// ファイル名がフォルダ名で終わっている場合、"index.html"を補完
		myRE = new RegExp("<A href=\"" + "index.html" + ".*<\\/A>");
	}
	else {
		// 
		myRE = new RegExp("<A href=\"" + conv[conv.length-1] + ".*<\\/A>");
	}
//	alert(myRE);
	myRE2 = new RegExp("\">.*<\\/A>");
//	alert(myRE2);
//	alert(htmlwk);
	hreftext = htmlwk.match(myRE);
//	alert("hreftext=" + hreftext);
	// hreftextから<A>タグを削除する処理
//	alert("myRE2=" + myRE2);
	hreftext = hreftext.toString();		// toStringで文字列にキャスト(?)しないとmatchできないので。
	hreftext = hreftext.match(myRE2);
//	alert("hreftext=" + hreftext);
	hreftext = hreftext.toString();
//	alert("length=" + hreftext.length);
	hreftext = hreftext.substring(2, hreftext.length-4);
//	alert("hreftext=" + hreftext);
//	hreftext.replace(myRE2, hreftext);
//	replace(hreftext, "")
	document.getElementById(this.divId).innerHTML = htmlwk.replace(myRE, hreftext);
}

function getHpbSiteMenu(menuURL, divId) {
	var loader=new hpb.ContentLoader(menuURL, divId, getMenu);
}

var hpb=new Object();
	hpb.ContentLoader=function(url, divId, onload) {
	this.url = url;
	this.divId=divId;
	this.request=null;
	this.onload=onload;
	this.onerror=this.defaultError;
	this.loadSiteMenu(url);
}
hpb.ContentLoader.prototype={
	loadSiteMenu:function(url){
		if(window.ActiveXObject) {
			// IE
			try {
				this.request = new ActiveXObject ("Msxml2.XMLHTTP");
			} catch(e) {
				this.request = new ActiveXObject ("Microsoft.XMLHTTP");
			}
		} else 
		if(window.XMLHttpRequest) {
			// non-IE
			this.request = new XMLHttpRequest();
		}		if(this.request) {
			try{
				var loader=this;
				this.request.onreadystatechange=function(){
					loader.onReadyState.call(loader);
				}
				this.request.open('GET',url+"?cache="+(new Date()).getTime(), true);
				this.request.send(null);
			}catch( err) {
				this.onerror.call(this);
			}
		}
	},
	onReadyState:function(){
		var request = this.request;
		var readyState = request.readyState;
		if(readyState==4){
			var httpStatus=request.status;
			if(httpStatus==200 || httpStatus == 0) {
				this.onload.call(this);
			}else{
				this.onerror.call(this);
			}
		}
	},
	
	defaultError:function() {
		alert("エラー発生。divID="+this.divId);
	}
}

//]]>
