// JavaScript Document




//document.write(navigator.userAgent);
//OPEN WINDOW---------------------------------------------------------------------------------
function openWin(url){
	window.open(url,'win','width=680,height=600,scrollbars=yes');
}

//ONLOAD LINKS---------------------------------------------------------------------------------


var myLoArray = location.href.split("/");
var lol = myLoArray.length;
var myAccess = myLoArray[lol-1].split("_");
var ac = myAccess.length;


		window.onunload = function(){
			// *_access.html の場合、GUnloadをcall
			if(location.href.match(/_access.html/)=="_access.html" && location.href.match(/\/home\//)=="/home/") {
			//if(location.href.match(/_access.html/)=="_access.html") {
				GUnload();
			}
		}

		window.onload = function(){
			myOnLoad();
		}


function myOnLoad(){
	fontsize_write();
	sideNaviGation();
	globalNaviGation();
	
	if(location.href.match(/_access.html/)=="_access.html" && location.href.match(/\/home\//)=="/home/") {
		// *_access.html の場合、myLoadをcall
		myLoad();
	}
}



//IE5.0だったらCSSを読ませない-------------------------------------------------------------------
function macIe(){
	if(navigator.userAgent.indexOf("Mac")!=-1){
		if(navigator.userAgent.indexOf("MSIE")!=-1){
	//if(navigator.userAgent == "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; .NET CLR 1.1.4322)"){		
				
			var linkNum = document.getElementsByTagName("link").length;
			for(var i=0; i<=linkNum; i++){
				document.getElementsByTagName("link")[i].removeAttribute("href");
			}
		}
	}
}

//GOOGLE MAPS API------------------------------------------------------------------------------------------

function myLoad() {
	
	if (!GBrowserIsCompatible()) {
		document.getElementById("map").innerHTML="Google Mapsに対応していません";
	}
	if (GBrowserIsCompatible()) {
				
		var map = new GMap2(document.getElementById("map"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		
		//map.setCenter(new GLatLng(35.580825739474285, 139.6893811225891), 16); //画面中央座標
	
		if(navigator.userAgent.indexOf("MSIE 6.0") == -1){ //IE6で表示させない
			map.addControl(new GOverviewMapControl(new GSize(150,120))); //右下の枠
		
			var ctrlObj = new GScaleControl(); 
			var pos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(80, 10)); //縮尺基準
			map.addControl(ctrlObj);	
			map.addControl(ctrlObj, pos);
		}

		//座標の設定
		var kuga = new GLatLng(35.581597961471964, 139.69257563352585); //久が原
		var seta = new GLatLng(35.630865154272534, 139.68052983283997); //世田谷下馬
		var meji = new GLatLng(35.71867129061797, 139.70320522785187); //目白
		var ogi = new GLatLng(35.709202229395615, 139.60919111967087); //荻窪
		var hama = new GLatLng(35.68689714390225, 139.62402373552322); //浜田山
		var sugi = new GLatLng(35.69789799022496, 139.59472060203552); //杉並松庵
		var kana = new GLatLng(35.500779714379384, 139.4080200791359); //かながわ
		
				//マーカと情報ウィンドウの設定
        function create_Marker(point,home) {
           var marker = new GMarker(point);
					 //var info = "〒146-0085 東京都大田区久が原4-8-18";
					 var info = document.getElementById("info").getElementsByTagName("dd")[0].innerHTML;
					 var txt = "<h5>アライブ"+home+"</h5><strong>住所：</strong>"+info;
					 map.openInfoWindow(point, txt);
           return marker;
        }
				
		
		var point_name = myAccess[ac-2].slice(0,4).toString();
		switch(point_name){
	   // case "kuga": map.addOverlay(create_Marker(kuga,"久が原")); break;
			case "kuga": point=kuga; home="久が原"; break;
			case "seta": point=seta; home="世田谷下馬"; break;
			case "meji": point=meji; home="目白"; break;
			case "ogi": point=ogi; home="荻窪"; break;
			case "hama": point=hama; home="浜田山"; break;
			case "sugi": point=sugi; home="杉並松庵"; break;
			case "kana": point=kana; home="かながわ"; break;
			default:alert("座標などの設定がされていません");
		}
					
		
		//map.addOverlay(create_Marker(kuga,"久が原"));
		
		map.setCenter(point,16); //画面中央座標
		map.addOverlay(create_Marker(point,home)); //マーカ表示の関数
		
		
	}
	
}


//FONT SIZE SET---------------------------------------------------------------------------------

// クッキーの読み込み
// →ブラウザへクッキーを食べさせる
function setCookie(key,val){

		var str= key + "="+escape(val);
		var nowtime = new Date().getTime();
		expires = new Date(nowtime + (60 * 60 * 24 * 1000 * -1));
		expires = expires.toGMTString();
		str += "; path=/; expires=" + expires;
		document.coockie=str;
		document.coockie=str;
		
    var tmp = key+"="+escape(val)+"; path=/; ";
    tmp += "expires=Fri, 31-Dec-2030 23:59:59;";
    document.cookie = tmp;

}

// クッキーの書き出し
// →ブラウザからクッキーをもらう。
function getCookie(key){
	var name=key;

	if (!name || !document.cookie) return;

	var cookies = document.cookie.split("; ");
	for (var i = 0; i < cookies.length; i++) {
		var str = cookies[i].split("=");
		if (str[0] != name) continue;
		return unescape(str[1]);
	}
	return;
}


// ページ読み込み時にクッキーがあれば「font_size」というキーに対応する値をpに代入
//
// ↓グローバルになっているが、使っていないので消しても良い
var get_cookie = getCookie("font_size");
if(get_cookie == '') {
}
else {
	p = get_cookie;
}

function setFontSize(fsize){
	
	setCookie("font_size",fsize);
	
	if(document.body.getAttribute("class") == null){
		document.body.setAttribute("className", fsize);
		document.body.setAttribute("class", fsize); 
	}else{
//		document.body.className = fsize;
		document.body.setAttribute("className", fsize);
		document.body.setAttribute("class", fsize); 
	}
}

function larger() {
	ClearFontSize();
	document.getElementById("larger").id += "_on";
	setFontSize("larger");
}
function normal() { 
	ClearFontSize();
	document.getElementById("normal").id += "_on";
	setFontSize("normal");
}
function smaller() { 
	ClearFontSize();
	document.getElementById("smaller").id += "_on";
	setFontSize("smaller");
}

function ClearFontSize() {
	var b=document.getElementById("larger");
	if(b==null) document.getElementById("larger_on").id="larger";
	var n=document.getElementById("normal");
	if(n==null) document.getElementById("normal_on").id="normal";
	var s=document.getElementById("smaller");
	if(s==null) document.getElementById("smaller_on").id="smaller";
}


function fontsize_write(){
	document.getElementById("size").innerHTML = "<dl><dt>文字のサイズ</dt><dd id='smaller'><a href='javascript:smaller();' ><span>小</span></a></dd><dd id='normal'><a href='javascript:normal();' ><span>中</span></a></dd><dd id='larger'><a href='javascript:larger();' ><span>大</span></a></dd></dl>";
	
	//クッキーの値を取得し、ページ遷移時・前回訪問時のフォントサイズにする
	//初回訪問時やクッキーが無効の場合は、普通サイズにする
	//
	var k=getCookie("font_size");
	
	switch(k) {
		case 'smaller':
			smaller();
			break;
		case 'nomal':
			normal();
			break;
		case 'larger':
			larger();
			break;
		default:
			normal();
	}
}


//NAVIGATION---------------------------------------------------------------------------
function globalNaviGation(){	
	//グローバルナビにおいて、URLとリンク先もしくは所属カテゴリが同じだったらCSS指定を:hoverと同じ状態にする
	if (document.getElementById("gnav")) {
		for(var a=0; a<document.getElementById("gnav").getElementsByTagName("a").length; a++){
			//var gnav_a = document.getElementById("gnav").getElementsByTagName("a");
			//var gnav_li = document.getElementById("gnav").getElementsByTagName("li");
			var gnav_a = $('#gnav > li > a');
			if (gnav_a[a] == undefined) continue;
			var gnav_li = $('#gnav > li');
			var myLinkArray = gnav_a[a].href.split("/");
			var li = myLinkArray.length;
			var myLocationArray = location.href.split("/");
			var lo = myLocationArray.length;
			
			var ma1 = myLinkArray[li-2].toString();
			var ma2 = myLocationArray[lo-2].toString();
			
			if(ma1 == ma2) {
				if( (myLocationArray[lo-2].toString()!="www" && myLocationArray[lo-2].toString()!="htdocs" && lo!=4 ) || 
					(myLocationArray[lo-1].toString()=="index.html")) {
					//条件は、リンク先ディレクトリ名が同一で、かつ、ドキュメントルートで無い場合、またはindex.htmlというファイル名の場合
					//ドキュメントルートはテスト時にはwww又はhtdocsである必要がある loの値を調整する必要があるかも。
					//by 070703 Matsuda
					gnav_a[a].setAttribute("className", "on");
					gnav_a[a].setAttribute("class", "on");
					$(gnav_a[a]).next('ul').remove(); // 100104 Endo
					return;			// 何個も変更する場合は、トル
				}
			}
		}
	}
}

function sideNaviGation(){
	
	//サイドナビにおいて、URLとリンク先が同じだったらCSS指定を:hoverと同じ状態にする
	if (document.getElementById("snav")) {		
		for(var b=0; b<document.getElementById("snav").getElementsByTagName("a").length; b++){
			
			var snav_sa = document.getElementById("snav").getElementsByTagName("a");
			
			var snavArray = document.getElementById("snav").childNodes;
			//document.write(snavArray.length);
			
			for(var myArray=0; myArray>snavArray.length; myArray++){
				var snavArray_dt = snavArray[myArray].search(dt);
				var snavArray_dd = snavArray[myArray].search(dd);
				//if(snavArray_dt > ){ //dd[myArray]のひとつ手前にあるdtを参照する。
			}
			
			var filepath=snav_sa[b].href.split("/");
			var filepath_len=filepath.length;
			var locationpath=location.href.split("/");
			var location_len=locationpath.length;
			
			var snav_path=filepath[filepath_len-1].split("_");		//snav_sa[b].href.split("_");
			var snav_path_length=snav_path.length;
			var location_path=locationpath[location_len-1].split("_");		//location.href.split("_");
			var location_path_length=location_path.length;
			
			
			var snav_chk="A";
			if(snav_path_length!=1) {
				snav_chk=snav_path[snav_path_length-2];
			}
			var loc_chk="B";
			if(location_path_length!=1) {
				loc_chk=location_path[location_path_length-2];
			}
			
			
			if(snav_chk == loc_chk || (snav_chk=="A" && loc_chk=="B")){
				if(snav_sa[b].href == location.href) {
					if(snav_sa[b].parentNode.nodeName == "LI"){//liのリンクの場合
						
						var snav3_dd = GetParentNode(GetParentNode(GetParentNode(snav_sa[b],"tag"),"tag"),"tag");
						
						var snav3_mdd=snav3_dd.getAttribute("Class");
						if(snav3_mdd== null ) snav3_mdd=snav3_dd.getAttribute("ClassName");
						
						if(snav3_mdd == "snav3"){
							snav3_dd.style.display = "block";
							
							//liのリンクテキストをオレンジにして下線を消してリンクも消す。
							var snav_sam=GetParentNode(snav_sa[b],"");
							snav_sam.setAttribute("className", "visiting");
							snav_sam.setAttribute("class", "visiting");
							
							
							//このliの上にいるddをdisplay:block; 画像をsnav_active.jpgにする。
							var snav33_dd=GetPreviousObject(snav3_dd,"tag");	//
							snav33_dd.setAttribute("className", "visiting");
							snav33_dd.setAttribute("class", "visiting");
							snav33_dd.firstChild.setAttribute("className", "on");
							snav33_dd.firstChild.setAttribute("class", "on");
							
							//このliの上にいるdtの画像をsnav_active.jpgにする。
							var snav_dt=GetParentNode(snav3_dd,"DT").childNodes;	//
							var snav333_dd=GetPreviousObject(snav3_dd,"id");
							
							SideNaviSub(snav_dt,snav333_dd.id);		// by 070611 Matsuda
						}
					
					}else{//ddかdtのリンクの場合
						if(snav_sa[b].parentNode.className == ""){//.visitingにしてa.onにする。		
							snav_sa[b].parentNode.setAttribute("className", "visiting");
							snav_sa[b].parentNode.setAttribute("class", "visiting");
							snav_sa[b].setAttribute("className", "on");
							snav_sa[b].setAttribute("class", "on");
							
							var snav_saa=GetNextObject(GetParentNode(snav_sa[b],"tag"),"tag");						//
							if(snav_saa==null) continue;															//070707 By Matsuda
							
							snav_saa.style.display = "block";														//
							
							var snav_sam=GetParentNode(snav_sa[b].parentNode,"").childNodes;						//
							
							var mm=GetParentNode(snav_sa[b],"id");													//070611 By Matsuda
							
							SideNaviSub(snav_sam,mm.id);															//070605 Matsuda
							
						}else{//.snav3のとき
							snav_sa[b].parentNode.style.display = "block";
							$(snav_sa[b].parentNode).removeClass('hover-sub').children('div.hover-nav').removeClass('hover-nav').show();// 091224 takashi endo
						}
					}
				}
			
			
			} else {
				
				var snav3_dd = GetParentNode(GetParentNode(GetParentNode(snav_sa[b],"tag"),"tag"),"tag");
				
				var snav3_mdd=snav3_dd.getAttribute("Class");
				if(snav3_mdd== null ) snav3_mdd=snav3_dd.getAttribute("ClassName");
				
				if(location.href.match(/\/consult\/win_/)!="/consult/win_") {
					
					if(snav3_mdd == "snav3"){
//						snav3_dd.style.display = "none";
					}
				}
			}
			
		}
	}
}

/****************************************************************************************
* dt タグと対象IDの位置を調べ、その直前にある dt のクラスを変更する。
* dt は何個あっても良いが、直前の dt が対象となる。
*
*  引数：	mobj		オブジェクト(array)
*			targetid	対象の id。この id がある場所の直前にある dt のクラスを変更する
*
*  戻り値：	なし
*
* 070605 By Matsuda
 ****************************************************************************************/
function SideNaviSub(mobj,targetid) {
	var mdtlocation=0;
	var mdtflag=0;
	var mtext="";
	
	for (var mi in mobj){
		if(mobj[mi].tagName=="DT" && mdtflag==0) {
			mdtlocation = mi ;
		}
		if(mobj[mi].id==targetid) {
			mdtflag = 1 ;
		}
	}
	if(mdtflag==1) {
		mobj[mdtlocation].setAttribute("className", "visiting");
		mobj[mdtlocation].setAttribute("class", "visiting");
	}
}

//070611 By Matsuda
function GetParentNode( mobj , targetTag) {
	while(true==true) {
		mobj=mobj.parentNode;
		if( mobj.tagName!=null || mobj.id!=null ) {
			return mobj;
		}
	}
}

/*******************************************
* 一つ前のエレメントを返す。
* 070611 By Matsuda
********************************************/
function GetPreviousObject( mobj, mtarget ) {
	var loopcounter=0;
	var result;
	
	while(true==true) {
		mobj=mobj.previousSibling;
		switch(mtarget) {
			case 'id':
				result=mobj.id;
				break;
			case 'tag':
				result=mobj.tagName;
				break;
		}
		if(result!=null) {
			return mobj;
			exit;
		}
		if(loopcounter==10) {
			return null;
		}
		loopcounter++;
	}
}

/*******************************************
* 一つ先のエレメントを返す。
* 070611 By Matsuda
********************************************/
function GetNextObject( mobj, mtarget ) {
	var loopcounter=0;
	var result;
	
	while(true==true) {
		if(mobj.nextSibling==null) return null;			// 無い場合の対処 070703 Matsuda
		mobj=mobj.nextSibling;
		switch(mtarget) {
			case 'id':
				result=mobj.id;
				break;
			case 'tag':
				result=mobj.tagName;
				break;
		}
		if(result!=null) {
			return mobj;
			exit;
		}
		if(loopcounter==10) {
			return null;
		}
		loopcounter++;
	}
}

/*****************
* Display Array
* Debug
******************/
function print_r(obj) {
	var mtext="";
	
	if(isArray(obj)==false) {
		mtext=mtext+"tagName:'"+obj.tagName+"' id:'"+obj.id+"' text:'"+obj.innerText+"' class:'"+obj.className+"'\n";
	} else {
		for(var mi in obj) {
			mtext=mtext+"tagName:"+obj[mi].tagName+"   id:"+obj[mi].id+"   text:"+obj[mi].innerText+"' class:'"+obj[mi].className+"' toString:'"+obj[mi].toString()+"'\n";
		}
	}
	alert(mtext);
}
/****************
**
** Arrayですか？
**
 ****************/
function isArray(x) { 
    return ((typeof x == "object") && (x.constructor == Array));
}


