/*
-----------------------------------------------
BOstudio js
for NSAS
----------------------------------------------- */

/* 正規表現に関する汎用関数 */
function checkValue(val, str){
	var txt = '' + val;
	var re = new RegExp(str);
	return (txt.match(re) ? true : false);
}

/* 配列に関する汎用関数 */
function arrayPush(arr,val){
	var num = arr.length;
	arr[num] = val;
	return arr;
}

/* ページ先頭にスクロール */
function goPageTop(){
	window.scrollTo(0,0);
}

/* クエリに関する汎用関数 */
function parseQuery(qstr){
	qstr = qstr.replace(/^\?/,'');
	var query = new Array();
	var arr = qstr.split("&");
	for(var i = 0; i < arr.length; i++){
		var str = arr[i].split('=');
		var key = str[0];
		var val = str[1];
		if(key != ''){
			query[key] = val;
		}
	}
	return query;
}

/* onload処理 */
function class_onloadlib(){
	this.onloadFunc = new Array();
	this.addFunc = addFunc;
	this.exec = exec;
	this.completed = false;

	function addFunc(fn){
		this.onloadFunc = array_push(this.onloadFunc, fn);
	}

	function exec(){
		for(var i = 0; i < this.onloadFunc.length; i++){
			eval(this.onloadFunc[i]);
		}
		this.completed = true;
	}
}

var onload_obj = new class_onloadlib();
function onload_add(fn){
	onload_obj.addFunc(fn);
}

function onload_exec(fn){
	onload_obj.exec();
}

window.onload = onload_exec;

/* Class指定 */
function set_classname(obj, cname){
	if(document.getElementById){
		obj.className = cname;
	}
}

/* ウィンドウ&ロケーション */
function win_open(){
	if(arguments[0]){
		var url = arguments[0];
		var tgt = (arguments[1] ? arguments[1] : '_self');
		var prp = '';
		if(arguments.length > 3){
			var scroll = (arguments[2] ? 1 : 0);
			var resize = (arguments[3] ? 1 : 0);
			var width = (arguments[4] > 100 ? arguments[4] : 100);
			var height = (arguments[5] > 100 ? arguments[5] : 100);

			prp = 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=' + scroll + ',resizable=' + resize + ',width=' + width + ',height=' + height;
		}
		else if(arguments[2] != null){
			prp = arguments[2];
		}
		(arguments[2] ? arguments[2] : '');
		var newWin = new Object();
		if(prp) newWin = window.open(url,tgt,prp);
		else newWin = window.open(url,tgt);
		newWin.focus();
	}
}

/* イメージオブジェクト */
function class_imglib(){
	this.preloadImg = new Array();
	this.setObj = setObj;
	this.changeSrc = changeSrc;
	this.getTargetObj = getTargetObj;

	function setObj(pid,srcPath){
		this.preloadImg[pid] = new Image();
		this.preloadImg[pid].src = srcPath;
	}

	function getTargetObj(id){
		return document.images[id];
	}

	function changeSrc(obj,pid){
		var id = (typeof(obj.id) != 'undefined' ? obj.id : obj);
		if(typeof(this.getTargetObj(id)) != 'undefined' && typeof(this.preloadImg[pid]) != 'undefined'){
			(this.getTargetObj(id)).src = this.preloadImg[pid].src;
		}
	}
}

var img_obj = new class_imglib();
function img_set(){
	img_obj.setObj(arguments[0],arguments[1]);
}

function img_change(){
	img_obj.changeSrc(arguments[0],arguments[1]);
}

function img_onmouseoverhandler(){
	img_obj.changeSrc(this.id,(this.id + ':mouseover'));
}

function img_onmouseouthandler(){
	img_obj.changeSrc(this.id,(this.id + ':mouseout'));
}

function img_sethandler(id,movr,mout){
	if(document.getElementById){
		if(document.getElementById(id) != null){
			img_set(id + ':mouseover', movr);
			img_set(id + ':mouseout' , mout);
			document.getElementById(id).onmouseover = img_onmouseoverhandler;
			document.getElementById(id).onmouseout  = img_onmouseouthandler;
		}
	}
}

/* subwin open */
function winOpen(url,winname){
openwin = open(url,winname,"width=540,height=500,left=0,top=0,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,favorites=no,resizable=yes");
	openwin.focus();
}

/* subwin open */
function addwinOpen(url,winname){
openwin = open(url,winname,"width=320,height=320,left=0,top=0,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,favorites=no,resizable=yes");
	openwin.focus();
}

/* helpwindow open */
function GetLayer(layername){
  var layer;
  if(document.getElementById){
    layer = document.getElementById(layername);
  }
  else if(document.all && ! document.getElementById){
    layer = document.all[layername];
  }
  else if(document.layers){
    layer = document.layers[layername];
  }
  return layer;
}

function helpView(viewid) {
  var help_view = GetLayer(viewid)
  help_view.style.display = 'inline';
}
function helpView02(viewid) {
  var help_view = GetLayer(viewid)
  help_view.style.display = 'block';
}

function helpClose(closeid) {
  var help_view = GetLayer(closeid);
  help_view.style.display = 'none';
}


function switchAllSelect(visibility) {
  for(i=0;i<document.forms.length;i++){
    var form = document.forms[i];
    for(e=0;e<form.elements.length;e++){
      var ele = form.elements[e];
      if(ele.type.indexOf('select') != -1){
	ele.style.visibility = visibility;
      }
    }
  }
}

function GetLayer(layername){
  var layer;
  if(document.getElementById){
    layer = document.getElementById(layername);
  }
  else if(document.all && ! document.getElementById){
    layer = document.all[layername];
  }
  else if(document.layers){
    layer = document.layers[layername];
  }
  return layer;
}

function helpView(viewid) {
  var help_view = GetLayer(viewid)
  help_view.style.display = 'inline';
}

function helpView02(viewid) {
  var help_view = GetLayer(viewid)
  help_view.style.display = 'block';
}

function helpClose(closeid) {
  var help_view = GetLayer(closeid);
  help_view.style.display = 'none';
}

function switchAllSelect(visibility) {
  for(i=0;i<document.forms.length;i++){
    var form = document.forms[i];
    for(e=0;e<form.elements.length;e++){
      var ele = form.elements[e];
      if(ele.type.indexOf('select') != -1){
	ele.style.visibility = visibility;
      }
    }
  }
}

/* fontsizechange */
function setFontsize(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;
	  setCookie("style", title, 365);

      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
  fontsizeimg(title);
}

function getFontsize() {
  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 getPreFontsize() {
  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 setCookie(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 getCookie(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 = getCookie("style");
  var title = cookie ? cookie : getPreFontsize();
  setFontsize(title);
}

window.onunload = function(e) {
  var title = getFontsize();
  setCookie("style", title, 365);
}

var cookie = getCookie("style");
var title = cookie ? cookie : getPreFontsize();
setFontsize(title);

function fontsizeimg(title){
  var currentstyle = title;
  var area = document.getElementById("fsizechange");
  if (area){
  var imgtag = area.getElementsByTagName("img");
  var l = imgtag[1];
  var m = imgtag[2];
  var s = imgtag[3];
  var fname = "/imgs/b_style_";
  switch(currentstyle)
  {
  case "default":
      l.src=fname+"l.gif";
      m.src=fname+"m_on.gif";
      s.src=fname+"s.gif";
      break;
  case "small":
      l.src=fname+"l.gif";
      m.src=fname+"m.gif";
      s.src=fname+"s_on.gif";
      break;
  case "large":
      l.src=fname+"l_on.gif";
      m.src=fname+"m.gif";
      s.src=fname+"s.gif";
      break;
  default:
      l.src=fname+"l.gif";
      m.src=fname+"m_on.gif";
      s.src=fname+"s.gif";
      break;
  }
}
}

/* rollover */
function imgChg(imgS,imgN){
document.images[imgS].src = imgN;
}
