//
// JavaScripts for JJAP site
// coded on May. 2010
// coded on	Jun. 2008
// coded on	Apr. 2008
// coded on	Oct. 2007

//

// get Path
// 2008/4 modify
var agent = navigator.userAgent;
var BasePath = "";
var cURL = document.URL;
if(cURL.indexOf("\\")>=0){
	var dlm	= "\\";
	var l	= 0;
	for(i=cURL.indexOf("jjap")+1 ; i<cURL.length ; i++){
		if(cURL.charAt(i)==dlm){ l=l+1; }
	}
	for(i=1;i<l;i++){ BasePath = BasePath + "../"; }
} else {
//	BasePath = "http://jjap.ipap.jp/";
	BasePath = "http://jjap.jsap.jp/";
}
if(agent.indexOf("MSIE 7")>0){
	document.write('<link rel="stylesheet" href="jjapie7.css" type="text/css" />');
}

var IE = false;
if(agent.indexOf("MSIE")>0){
	IE = true;
}

function isWinIE(){
	if(navigator.userAgent.indexOf("MSIE")>0 && navigator.userAgent.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;
	if(thisYear<2007) thisYear = 2007;
	var w = new Array(6,4,5,5,6,5,5,5,5,5);
	document.write('<img src="'+BasePath+'img/c.gif" width="8" height="24" alt="copyright" />');
	for(var i=0;i<4;i++){
		n = thisYear.toString().charAt(i);
		document.write('<img src="'+BasePath+'img/c'+ n +'.gif" width="'+w[n]+'" height="24" alt="'+ n +'" />');
	}
	document.write('<img src="'+BasePath+'img/copyright.gif" width="157" height="24" alt="&copy; The Japan Society of Applied Physics." />');
}

function goGoogle(){
	if(document.gsearch.q.value!="") document.gsearch.submit();
}

function goQuickJump(){
	if(document.quickjump.volume.value!="" && document.quickjump.page.value!=""){
//		document.quickjump.action = "http://jjap.ipap.jp/cgi-bin/getarticle";
		document.quickjump.action = "http://jjap.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="JJAP">';
	QJ = QJ + '	<span>Vol</span>';
	QJ = QJ + '	<input type="text" name="volume" maxlength="4" size="4" id="vol" value="">';
	QJ = QJ + '	<span>Page</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;
			//alert(ul[0].offsetWidth + " / " + wsum + ":" + 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 + "...";
		if(!ie) 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 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+'jjap_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;
		lis=navBox.getElementsByTagName("li");
		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="";

	}
}


