﻿//Thanks, http://www.din.or.jp/~hagi3/JavaScript/JSTips/Mozilla/
// version of library
LCB_version = 2.8;
// _mac : true = macintosh, false = other os
_mac=navigator.userAgent.indexOf('Mac')!=-1;
// _ie512 : true = MSIE 5.12(mac), false = others
_ie512=navigator.userAgent.indexOf('MSIE 5.12')!=-1;
// _dom : kind of DOM.
//        IE4 = 1, IE5+ = 2, NN4 = 3, NN6+ = 4, others = 0
_dom = document.all?(document.getElementById?2:1)
                   :(document.getElementById?4
                   :(document.layers?3:0));
_createLayerNo = 0;                    // layer no.
//

// select css for Mozilla
N6 = navigator.product == "Gecko";
cssdir = 'http://www.pallanoia.org/css/';
if(N6){
	document.write('<link rel="stylesheet" href="'+cssdir+'formozilla.css" type="text/css" title="forMozilla" />');
}

	
	

function getDivFromName(nm){
  if(_dom==4 || _dom==2) return document.getElementById(nm);
  if(_dom==1)            return document.all(nm);
  if(_dom==3){
    var s='';
    for(var i=1; i<arguments.length; i++)
      s+='document.layers.'+arguments[i]+'.';
    return eval(s+'document.layers.'+nm);
  }
  return null;
}
function moveDivTo(div,left,top){
  if(_dom==4){
    div.style.left=left+'px';
    div.style.top =top +'px';
    return;
  }
  if(_dom==2 || _dom==1){
    div.style.pixelLeft=left;
    div.style.pixelTop =top;
    return;
  }
  if(_dom==3){
    div.moveTo(left,top);
    return;
  }
}
function getWindowWidth (){
  if(_dom==4 || _dom==3) return window.innerWidth;
  if(_dom==2 || _dom==1) return document.body.clientWidth;
  return 0;
}
function getWindowHeight(){
  if(_dom==4 || _dom==3) return window.innerHeight;
  if(_dom==2 || _dom==1) return document.body.clientHeight;
  return 0;
}


function getWinXOffset(){
  if(_dom==1)            return window.scrollX;
  if(_dom==2 || _dom==4) return document.body.scrollLeft;
  if(_dom==3)            return window.pageXOffset;
  return 0;
}
function getWinYOffset(){
  if(_dom==1)            return window.scrollY;
  if(_dom==2 || _dom==4) return document.body.scrollTop;
  if(_dom==3)            return window.pageYOffset;
  return 0;
}
function writeDivHTML(div,op,cl){
  var s='';
  for(var i=3; i<arguments.length; i++) s+=arguments[i];
  if(_dom==4){
    if(op){
      while(div.hasChildNodes())
        div.removeChild(div.lastChild);
    }
    var range=document.createRange();
    range.selectNodeContents(div);
    range.collapse(true);
    var cf=range.createContextualFragment(s);
    div.appendChild(cf);
    return;
  }
  if(_dom==2 || _dom==1){
    if(op)   div.innerHTML='';
    if(_mac&&!_ie512) div.innerHTML+=s;
    else              div.insertAdjacentHTML('BeforeEnd',s);
    return;
  }
  if(_dom==3){
    if(op) div.document.open('text/html','replace');
    div.document.write(s);
    if(cl) div.document.close();
    return;
  }
}
////////////////////////////////////////////////////////////
function layerVisible(idName){ //layer Show or Hide
	if (_dom==4 || _dom==2 || _dom==1) {
		if (div.style.visibility == "hidden" )
			div.style.visibility = "visible";
		else div.style.visibility = "hidden";
	}

	if (_dom==3) {
		if ( div.visibility == "hide" )
			div.visibility = "visible";
		else div.visibility= "hide";
	}
}
function layerDisplay(idName){ //layer Show or Hide
	if (_dom==4 || _dom==2 || _dom==1) {
		if (div.style.display == "none" ){
			div.style.display = "block";
			div.style.visibility = "visible";
		}
		else {
			div.style.display = "none";
			div.style.visibility = "hidden";
		}
	}

	if (_dom==3) {
		if ( div.display == "none" ){
			div.display = "block";
			div.visibility = "visible";
			}
		else {
			div.display= "none";
			div.visibility= "hide";
		}
	}
}

//////////////////////////////////////////////////////////////
function pdmenu(idName) { //pulldown menu
	div=getDivFromName(idName);
	layerVisible(idName);
}
function msgHide(idName){ //message "Now Loading"
	div=getDivFromName(idName);
	wx=getWinXOffset();
	wy=getWinYOffset();
	moveDivTo(div,wx,wy);
	layerVisible(idName);
}
function expIndex(idName){ //expantion of hidden index
	div=getDivFromName(idName);
	layerDisplay(idName);
	bName="b"+idName;
	div=getDivFromName(bName);
	if(div.innerHTML=="+"){
		writeDivHTML(div,1,1,"-");
	}
	else{
		writeDivHTML(div,1,1,"+");
	}
}
