/*   文字サイズ変更　from http://www.alistapart.com/articles/alternate/   */

function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}

window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);




/*   ページ先頭へのスクローラー   */

	bAgent = navigator.userAgent;

	bName = navigator.appName;

	bVer = parseInt(navigator.appVersion);

	bPlugins = navigator.plugins;

	Vmajor = parseInt(navigator.appVersion);	// ex. 3

	Vminor = parseFloat(navigator.appVersion);	// ex. 3.01



	Win = (bAgent.indexOf("Win",0) != -1);

	Mac = (bAgent.indexOf("Mac",0) != -1);

	MacOSX = ((bAgent.indexOf("Mozilla") != -1) && (bAgent.indexOf("Mac OS X") != -1));

	if(bPlugins){for(i=0;i<bPlugins.length;i++){if(Mac && (bPlugins[i].filename.indexOf("QuickTime Plugin.plugin")!=-1)){MacOSX=true;}}}

	IE = (bName == "Microsoft Internet Explorer");

	NS = (bName == "Netscape")

	Moz = (bAgent.indexOf("Gecko") != -1);

	ICAB = (bAgent.indexOf("iCab",0) != -1);

	OPERA = (bAgent.indexOf("Opera",0) != -1);

	NS6 = (bAgent.indexOf("Netscape6") != -1);

	MacIE5 = ((Mac && bAgent.indexOf('MSIE 5',0) != -1) || (Mac && IE && bVer > 4));

	MacIE4 = ((Mac && bAgent.indexOf('MSIE 4.',0) != -1));

	MacIE3 = ((Mac && bAgent.indexOf('MSIE 3.',0) != -1));



	/*user-defined object check*/

	/*NS4 = 1, IE4 = 2, IE5+ = 3, NS6 = 4, others = 0*/

	checkObj = document.all?(document.getElementById?3:2):(document.getElementById?4:(document.layers?1:0));

	function initObj(){

		checkObj = document.all?(document.getElementById?3:2):(document.getElementById?4:(document.layers?1:0));

	}



	/*Set Up Stylesheet*/

	cssRelative = "";

	cssType = (Win && IE)?"wie":((Win && NS)?"wns":((Mac && IE)?"mie":((Mac && NS)?"mns":"wie")));

	function cssSet(){

		document.open();

		if((cssType != "") && (parseInt(navigator.appVersion) >= 4)){

			document.write('<link rel=\"stylesheet\" href=\"/jp/shared/stylesheets/sayan_' +cssType+ '.css\" type=\"text/css\">');

		}else{

			document.write('<link rel=\"stylesheet\" href=\"/jp/shared/stylesheets/sayan_wie.css\" type=\"text/css\">');

		}

		document.close();

	}cssSet();



	/*document reload for user resized*/

	if(! window.definedWidth){

		window.onresize = check_size;

		window.definedWidth = window.innerWidth;

		window.definedHeight = window.innerHeight;

	}

	function check_size(){

		if(definedWidth < window.innerWidth || definedWidth > window.innerWidth || definedHeight > window.innerHeight || definedHeight < window.innerHeight){

		location.reload();

		}

	}



	/*PageReset*/

	/*between 4.51 and 4.61 of NS be no good for meta*/

	var file_url = location.href;

	anchorCheck = file_url.indexOf("#",0);

	function pageReset(){

		if(NS){

			if(anchorCheck == -1){

				window.scroll(0,0);

			}else return true;

		}else return true;

	}



	function visibilityLayer(idName,action){

		if(checkObj == 2 || checkObj == 3){

			document.all(idName).style.visibility = action;

		}else if(checkObj == 4){

			document.getElementById(idName).style.visibility = action;

		}else if(checkObj == 1){

			document.layers[idName].visibility = (action == "visible")?"show":"hide";

		}

	}



	function moveToLayer(idName,x,y){

		if(checkObj == 2 || checkObj == 3){

			document.all(idName).style.pixelLeft = x;

			document.all(idName).style.pixelTop = y;

		}else if(checkObj == 4){

			document.getElementById(idName).style.left = x + "px";

			document.getElementById(idName).style.top = y + "px";

		}else if(checkObj == 1){

			document.layers[idName].moveTo(x,y);

		}

	}



	function getWindowWidth(){

		if(OPERA || checkObj == 1 || checkObj == 4){

			return window.innerWidth;

		}else if(checkObj == 2 || checkObj == 3){

			return document.body.clientWidth;

		}else{

			return 600;

		}

	}



	function getWindowHeight(){

		if(OPERA || checkObj == 1 || checkObj == 4){

			return window.innerHeight;

		}else if(checkObj == 2 || checkObj == 3){

			return document.body.clientHeight;

		}else{

			return 400;

		}

	}



	function getWindowXOffset(){

		if(checkObj == 2 || checkObj == 3){

			return document.body.scrollLeft;

		}else if(checkObj == 1 || checkObj == 4){

			return window.pageXOffset;

		}else{

			return 0;

		}

	}



	function getWindowYOffset(){

		if(checkObj == 2 || checkObj == 3){

			return document.body.scrollTop;

		}else if(checkObj == 1 || checkObj == 4){

			return window.pageYOffset;

		}else{

			return 0;

		}

	}



	function getTagLeft(idName){

		if(OPERA){

			return document.getElementById(idName).parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.offsetLeft

		} else if(checkObj == 1){

			return document.anchors[idName].x;

		}

	}



	function getTagTop(idName){

		if(OPERA){

			return document.getElementById(idName).parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.offsetTop;

		} else if(checkObj == 1){

			return document.anchors[idName].y;

		}

	}



	function docWidth(){

		if(checkObj == 1){

			return getTagLeft('end');

		}else if(checkObj == 2 || checkObj == 3 || checkObj == 4){

			return getWidth('alldocument');

		}

	}

	function docHeight(){

		if(checkObj == 1){

			return getTagTop('end');

		}else if(checkObj == 2 || checkObj == 3 || checkObj == 4){

			return getHeight('alldocument');

		}

	}



	function endPositionX(){

		if(checkObj == 1 || checkObj == 2 || checkObj == 3 || checkObj == 4 ){

			return (docWidth() - getWindowWidth());

		}

	}

	function endPositionY(){

		if(checkObj == 1 || checkObj == 2 || checkObj == 3 || checkObj == 4 ){

			return (docHeight() - getWindowHeight());

		}

	}



	/*PageScroller*/

	var pageScrollTimer;

	function pageScroll(toX,toY,frms,cuX,cuY) {

		if(pageScrollTimer) clearTimeout(pageScrollTimer);

		if(!toX || toX < 0) toX = 0;

		if(!toY || toY < 0) toY = 0;

		if(!cuX) cuX = 0 + getWindowXOffset();

		if(!cuY) cuY = 0 + getWindowYOffset();

		if(!frms) frms = 6;



		cuX += (toX - getWindowXOffset()) / frms;

		if (cuX < 0) cuX = 0;

		cuY += (toY - getWindowYOffset()) / frms;

		if (cuY < 0) cuY = 0;

		posX = Math.floor(cuX);

		posY = Math.floor(cuY);

		window.scrollTo(posX, posY);

		if(posY < 1){

			window.scroll(0,0);

		}else if(posX != toX || posY != toY){

			pageScrollTimer = setTimeout("pageScroll("+toX+","+toY+","+frms+","+cuX+","+cuY+")",16);

		}else{

			clearTimeout(pageScrollTimer);

		}

	}



	function toAnchor(idName) {

		if(checkObj == 1 || checkObj == 2 || checkObj == 3 || checkObj == 4){

			if(!!idName){

				anchorX = 0;

				anchorY = getTagTop(idName);

				mouseX = getWindowXOffset();

				mouseY = getWindowYOffset();

				endY = endPositionY();

				if(anchorY < 1){

					location.hash = idName;

				}else if(anchorY > endY){

					pageScroll(anchorX,endY,6,mouseX,mouseY);

				}else{

					pageScroll(anchorX,anchorY,6,mouseX,mouseY);

				}

			}else{

				pageScroll(0,0,6);

			}

		}else{

			if(!!idName){

				location.hash = idName;

			}else{

				location.hash = "top";

			}

		}

	}

