/* IE用 背景画像読込キャッシュ
#
#　スプライト画像、背景画像などのチラつき防止
#
--------------------------------------------------------------------*/
try{ document.execCommand('BackgroundImageCache', false, true); }catch(e){}


/* Firefox用 印刷不具合対応
#
#　Firefox印刷用のCSSを読み込む
#
--------------------------------------------------------------------*/
var firefox = (navigator.userAgent.indexOf("Firefox") != -1)? true : false;
if(firefox) document.write('<link rel="stylesheet" type="text/css" media="print" href="/css/fx_print.css" />');


/* addEventFunc 関数
#
#　イベントの追加用
#
--------------------------------------------------------------------*/
var addEventFunc = function(func){
	try {
		window.addEventListener('load', func, false);
	} catch (e) {
		window.attachEvent('onload', func);
	}
}


/* objCheck 関数
#
#　オブジェクトチェック用関数
#
#　戻り値
#　　true: 有効なオブジェクト
#　　false: 無効なオブジェクト（undefined,null,''）
#
--------------------------------------------------------------------*/
function objCheck(obj) {
	return (typeof obj == 'undefined' || obj == null || obj == '') ? false : true;
}


/* smartRollover 関数
#
#　画像のロールオーバーを画像名で判断して設定する
#
--------------------------------------------------------------------*/
var smartRollover = {
	init: function(){
		smartRollover.setup('img');
		smartRollover.setup('input');
	},
	setup: function(tag) {
		var ovr = '_ovr.';
		var out = '_out.';

		var obj = document.getElementsByTagName(tag);
		if(objCheck(obj) == false) return false;

		var preload = [];
		for(var i=0; i<obj.length; i++) {
			if(obj[i].src.indexOf(out) != -1){
				var src = obj[i].src;
				obj[i].ext = src.slice(src.lastIndexOf('.')+1, src.length);
				obj[i].nimg = src;
				obj[i].oimg = src.replace(out + obj[i].ext, ovr + obj[i].ext);

				preload[i] = new Image();
				preload[i].src = obj[i].oimg;

				obj[i].onmouseover = function() {
					this.setAttribute('src', this.oimg);
				};
				obj[i].onmouseout = function() {
					this.setAttribute('src', this.nimg);
				};
			}
		}
		return false;
	}
}
addEventFunc(smartRollover.init);


/* input value
#
#　デフォルト値のクリア
#
--------------------------------------------------------------------*/
var inputValue = {
	init: function(){
		var kw = document.getElementsByTagName('input');
		for(var i=0; i<kw.length; i++){
			if(kw[i].className.indexOf('defValClear') != -1){
				kw[i].onfocus = function(){
					inputValue.clearVal(this);
				};
				kw[i].onblur = function(){
					inputValue.setVal(this);
				};
			}
		}
		return false;
	},
	clearVal: function(obj){
		if(obj.value == obj.defaultValue){
			obj.value = '';
		}
	},
	setVal: function(obj){
		if (obj.value == ''){
			obj.value = obj.defaultValue;
		}
	}
}
addEventFunc(inputValue.init);


/* myCookie 関数
#
#　クッキーの読み込み書き込み
#
--------------------------------------------------------------------*/
var sDays = 3000;
var myCookie = {
	set: function(myCookie,myValue,myDay) {
		var myExp = new Date();
		myExp.setTime(myExp.getTime()+(myDay*24*60*60*1000));
		var myItem = '@' + myCookie + '=' + escape(myValue) + ';';
		var myExpires = 'expires='+myExp.toGMTString();
		document.cookie = myItem + myExpires + '; path=/';
	},
	get: function(myCookie) {
		myCookie = '@' + myCookie + '=';
		var myValue = null;
		var myStr = document.cookie + ';' ;
		var myOfst = myStr.indexOf(myCookie);
		if (myOfst != -1){
			var myStart = myOfst + myCookie.length;
			var myEnd   = myStr.indexOf(';' , myStart);
			myValue = unescape(myStr.substring(myStart,myEnd));
		}
		return myValue;
	}
};


/* Table Line Add 関数
#
#　Tableのtrのクラスにodd（奇数）even（偶数）を追加します
#
--------------------------------------------------------------------*/
function tblLineAdd(){
	var tbl = document.getElementsByTagName('tbody');
	if(objCheck(tbl[0]) == false) return false;

	for(var i=0,len=tbl.length; i<len; i++){
		var line = tbl[i].getElementsByTagName('tr');
		for(var j=0; j<line.length; j++){
			if((j+1)%2 == 0){
				line[j].className = line[j].className + ' even';
			} else {
				line[j].className = line[j].className + ' odd';
			}
		}
	}

	return false;
}
addEventFunc(tblLineAdd);
