//

// JavaScripts for APEX site
// coded on May. 2010
// coded on	Jun. 2008
// coded on Oct. 2007

//



// get Path
// Apr. 2008 modify

var agent = navigator.userAgent;
var BasePath = "";
var cURL = document.URL;
var dlm = "/";

if(cURL.indexOf("\\")>=0) dlm="\\";

var l = 0;
for(i=cURL.indexOf("apex")+1 ; i<cURL.length ; i++){
	if(cURL.charAt(i)==dlm){ l=l+1; }
}

for(i=1;i<l;i++){ BasePath=BasePath+"../"; }

if(agent.indexOf("MSIE 7")>0){
	document.write('<link rel="stylesheet" href="apexie7.css" type="text/css" />');
}



var IE = false;
if(agent.indexOf("MSIE")>0){ IE=true; }



function isWinIE(){
	if(agent.indexOf("MSIE")>0 && agent.indexOf("Windows")>0){
//		document.gsearch.q.focus();
	}
}



function focusTB(){
	document.getElementById("kw").style.background = "#fff";
}



function chkTB(){
	if(document.gsearch.q.value==""){
		document.getElementById("kw").style.background = "url("+BasePath+"img/src_sitesearch.gif)";
	}else{
		document.getElementById("kw").style.background = "#fff";
	}
}



//

function copyright()
{
	var now = new Date();
	var thisYear = now.getYear();

	if(thisYear<2000) thisYear += 1900;
	var w = new Array(6,4,6,5,6,5,6,5,5,5);
	document.write('<img src="'+BasePath+'img/c.gif" width="8" height="24" alt="copyright" />');
	for(var i=0;i<4;i++){
		document.write();
		document.write('<img src="'+BasePath+'img/c'+thisYear.toString().charAt(i)+'.gif" width="'+w[thisYear.toString().charAt(i)]+'" height="24" alt="" />')
	}
	document.write('<img src="'+BasePath+'img/copyright.jpg" width="156" height="24" alt="&copy; The Japan Society of Applied Physics." />');
}



function goGoogle()
{
	if(document.gsearch.q.value!="" && document.gsearch.q.value!="Site Search"){ document.gsearch.submit(); }
}



function goQuickJump()
{
//	document.quickjump.action = "http://apex.ipap.jp/cgi-bin/getarticle";
	document.quickjump.action = "http://apex.jsap.jp/cgi-bin/getarticle";
	document.quickjump.submit();
}



function goIssue()
{
	location.href = document.issue.issueList[document.issue.issueList.selectedIndex].value;
}



// add on Jun. 2008

function setQuickJump(){
	var QJ = "";

	QJ = QJ + '<form name="quickjump" action="javascript:goQuickJump();" method="get" id="jump">';
	QJ = QJ + '	<h2>Quick Jump</h2>';
	QJ = QJ + '	<input type="hidden" name="magazine" value="APEX">';
	QJ = QJ + '	<span>Vol</span>';
	QJ = QJ + '	<input type="text" name="volume" maxlength="4" size="4" id="vol" value="">';
	QJ = QJ + '	<span>Article</span>';
	QJ = QJ + '	<input type="text" name="page" maxlength="6" size="6" id="page" value="" onfocus="if(this.value==this.defaultValue) this.value=\'\';">';
	QJ = QJ + '	<span id="jumpbtn"><input type="submit" title="Quick Jump" value="GO"></span>';
	QJ = QJ + '</form>';

	document.write(QJ);

	QJ = "";
}



// add on Jun. 2008

function scroll(d){
	window.scrollTo(0,window.clientHeight*d);
}



// for TAB layout : add on Jun. 2008

window.onload = function() {

	// for 3 columns
	var bodyTag = document.getElementsByTagName("body")[0];
	if(bodyTag.className=="column3"){ bodyTag.className = "column_3"; }

	// for TAB layout
	var aTag = document.getElementsByTagName("a");
	for (var i=0; i<aTag.length; i++) {
		if(aTag[i].parentNode.parentNode.parentNode.className=="tabNavi"){ aTag[i].onclick = displayBlock; }
	}
	displayInit();
	initTabWidth();

	setMainNav();

}



function initTabWidth()
{
	var a = document.getElementsByTagName("div");

	for (var i=0; i<a.length; i++) {
		if(a[i].className == "tabNavi")
		{
			var ul = a[i].getElementsByTagName("ul");
			var li = a[i].getElementsByTagName("li");
			var aTag = a[i].getElementsByTagName("a");
			var w = Math.floor(ul[0].offsetWidth / li.length);
			var wsum = w * li.length;
			var overplus = ul[0].offsetWidth - wsum;
			var x = 13;

			if(IE){ x=6; }

			for (var j=0; j<li.length; j++){
				li[j].style.width = w;
				aTag[j].style.width = w-x;
				adjustmentText({t:li.length, node:li[j], width:w-x});
			}
			li[li.length-1].style.width = w + overplus;
			aTag[li.length-1].style.width = w + overplus - x;
		}
	}
}



function adjustmentText(arg)
{
	var ie = true;
	var str = arg.node.innerText;

	if(str == undefined)
	{
		ie = false;
		str = arg.node.textContent;
	}

	str = str.replace("\n","");

	// 制限文字数
	var wPc = 9;
	if(arg.t<6){ wPc=6; }

	var limitlength = Math.floor(arg.width / wPc);
	var dellength = 0;
	var adjuststr = "";

	if(str.length > limitlength) dellength = str.length - limitlength;
	if(dellength > 0)
	{
		adjuststr = str.substring(0, limitlength);
		if(ie){	arg.node.firstChild.innerText = adjuststr + "..."; }
		else{	arg.node.firstChild.textContent = adjuststr + "..."; }
		arg.node.title = str;
	}
}



function displayInit() {

	// 初期画面設定
	var aTag = document.getElementsByTagName("a");
	for (var i=0; i<aTag.length; i++) {
		if(aTag[i].parentNode.id.indexOf("tn_tab")!=-1){
			var ultag = aTag[i].parentNode.parentNode;
			firstid = ultag.firstChild.id;
	
			// ブラウザ間対策
			if(agent.indexOf("MSIE")>0){
				firstid = firstid.replace("tn_", "");
			}else{
				firstid = ultag.childNodes[1].id;
				if(document.getElementById(firstid)) firstid = firstid.replace("tn_", "");
			}
			if(document.getElementById(firstid + "_box")){
				//display初期化
				init(document.getElementById("tn_" + firstid).parentNode);
				document.getElementById("tn_" + firstid).className = "act";
				document.getElementById(firstid + "_box").className = "act";
			}
		}
	}

	// 特定表示指定の場合
	var l = location.href;
	var n = l.indexOf("#");

	if (n>-1) {
		var divs=document.getElementsByTagName("div");
		var f=-1;
		for(i=0;i<divs;i++){
			if(divs[i].className=="tabBox"){
				f=1;
				break;
			}
		}

		if(f==1){
			var divID = l.substring(n+1, l.length); // #を削除

			//display初期化
			init(document.getElementById("tn_" + divID).parentNode);
			document.getElementById("tn_" + divID).className = "act";
			document.getElementById(divID+"_box").className ="act";
		}
	}
}



function displayBlock() {
	init(this.parentNode.parentNode);

	var l = this.href;
	var n = l.indexOf("#");

	if (n > -1) {
		var divID = l.substring(n+1, l.length);
		document.getElementById("tn_" + divID).className = "act";
		document.getElementById(divID+"_box").className ="act";
	}
}



init = function(targetnode) {

	var aTag = targetnode.getElementsByTagName("a");
	for (var i=0; i<aTag.length; i++) {
		var l = aTag[i].href;
		var n = l.indexOf("#");

		if (n > -1) {
			var divID = l.substring(n+1, l.length);
			document.getElementById("tn_" + divID).className = "ini";
			document.getElementById(divID + "_box").className = "ini";

			//tabCont最小高さ
			var minH = 350;
			if(agent.indexOf("MSIE")>0){
				if(document.getElementById(divID + "_box").offsetHeight < minH){
					document.getElementById(divID + "_box").style.height = minH + "px";
				}
			}
		}
	}
}


// for TAB layout : end


// add on May. 2010

//var kw="ipap.jp/";
var kw="jsap.jp/";
var l=location.href;
var p=l.lastIndexOf(kw)+kw.length;
d=l.substring(0,p);

document.write('<script type="text/javascript" src="'+d+'apex_nav.js"></script>');

function setMainNav(){

	var flag=0;
	var navBox;
	if(document.getElementById("mainmenuT")){		flag=1; navBox=document.getElementById("mainmenuT"); }
	else if(document.getElementById("mainmenu")){	flag=1; navBox=document.getElementById("mainmenu"); }

	if(flag=1){

		var ul,li,a;

		//
		ul=document.createElement("ul");

		for(var i=0;i<nav.length-1;i++){

			//
			a=document.createElement("a");
			a.setAttribute("href",d+nav[i].href);
			if(nav[i].target!=""){
				a.setAttribute("target",nav[i].target);
				a.setAttribute("href",nav[i].href);
			}
			a.innerHTML=nav[i].text;

			//
			li=document.createElement("li");

			//
			li.appendChild(a);
			ul.appendChild(li);
		}
		navBox.appendChild(ul);
		a="";
		li="";
		ul="";

		var lis,li_a,l;
		lis=navBox.getElementsByTagName("li");
		l=location.href;
		var s=l.indexOf("#");
		if(s!=-1){ l=l.substring(1,s-1); }
		for(i=0;i<lis.length;i++){
			li_a=lis[i].getElementsByTagName("a")[0];
			if(li_a.href==l){ lis[i].id="current"; }
		}
		lis="";
		li_a="";

	}

}


