/* ===========================================
 * TSR
 * -------------------------------------------
 * JS Library
 * -------------------------------------------
 * 
=========================================== */


/* Flash
=========================================== */

function drawSwf(id, url, w, h){
	var version = "8";
	var express = "";
	var flashvars = {};
	var attributes = {};
	var params = {
		quality: "high",
		menu: "false"
	};

	swfobject.embedSWF(url, id, w, h, version, express, flashvars, params, attributes);
}

function drawSwfTrs(id, url, w, h){
	var version = "8";
	var express = "";
	var flashvars = {};
	var attributes = {};
	var params = {
		quality: "high",
		menu: "false",
		wmode: "transparent"
	};

	swfobject.embedSWF(url, id, w, h, version, express, flashvars, params, attributes);
}

function drawBook(n){
	if(n){
		var url = "/common/swf/book.swf?no=" + n;
		document.write('<object width="208" height="193" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8">');
		document.write('<param name="movie" value="'+url+'" />');
		document.write('<param name="quality" value="high" />');
		document.write('<param name="menu" value="false" />');
		document.write('<embed src="'+url+'" width="208" height="193" quality="high" menu="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash">');
		document.write('</embed></object>');
	}
}


/* FontSize
=========================================== */

var fsize = {
	getCookie : function(){
		fsize.c = $.cookie("tsr_fsize");
		if(!fsize.c) fsize.c = "fs_m";
		fsize.setCookie();
	},
	setCookie : function(){
		var s = "/common/css/font/" + fsize.c + ".css";
		$("#fsize").attr("href", s);
		$.cookie("tsr_fsize", fsize.c, { expires:365, path:'/' });
	},
	setInit : function(){
		$("#fontNavi>li>img:gt(0)").each(function(){
			$(this).click(function(){
				fsize.set($(this).parent().attr("id"));
				return false;
			});
			$(this).mouseover(function(){
				$(this).css("cursor", "pointer");
			});
		});
		fsize.setImg();
	},
	setImg : function(){
		$("#fontNavi>li>img:gt(0)").each(function(){
			if($(this).parent().attr("id") == fsize.c){
				$(this).addClass("ro_stay");
				this.src = this.src.replace("_n.", "_o.");
			} else {
				$(this).removeClass("ro_stay");
				this.src = this.src.replace("_o.", "_n.");
			}
		});
	},
	set : function(id){
		if(id != fsize.c){
			fsize.c = id;
			fsize.setCookie();
			fsize.setImg();
		}
	}
}
fsize.getCookie();


// -------------------- DropDown -------------------- //

var dropdown = {
	setInit : function(){
		$("#globalNavi>li>a>img").addClass("ro_exc");

		var p = location.pathname;
		var id = "";
		if(p.indexOf("/news/") == 0) id = "gn02";
		else if(p.indexOf("/service/") == 0) id = "gn03";
		else if(p.indexOf("/risk_management/") == 0) id = "gn04";
		else if(p.indexOf("/company/") == 0) id = "gn05";
		else if(p.indexOf("/index.") == 0 || p == "/") id = "gn01";
		if(id){
			$("#"+id+">a>img").each(function(){
				$(this).addClass("ro_stay");
				this.src = this.src.replace("_n.", "_o.");
			});
		}

		$("#globalNavi>li").each(function(){
			$(this).hover(function(){
				$(">.sub:not(:animated)",this).slideDown("fast");
				$(">a>img",this).each(function(){
					if(!$(this).hasClass("ro_stay")) this.src = this.src.replace("_n.", "_o.");
				});
			}, function(){
				$(">.sub",this).slideUp(100);
				$(">a>img",this).each(function(){
					if(!$(this).hasClass("ro_stay")) this.src = this.src.replace("_o.", "_n.");
				});
			});
			$("ul",this).each(function(){
				$("li:first",this).addClass("jq");
			});
		});
	}
}


/* RollOver
=========================================== */

var rollover = {
	setInit : function(){
		rollover.p = new Object();
		$("img[src*='_n.'],input[src*='_n.']").each(function(){
			var n = this.src;
			var o = n.replace("_n.", "_o.");
			if(!rollover.p[n]){
				rollover.p[n] = new Image();
				rollover.p[n].src = n;
				rollover.p[o] = new Image();
				rollover.p[o].src = o;
			}
			if(!$(this).hasClass("ro_exc")){
				$(this).hover(function(){
					if(!$(this).hasClass("ro_stay") && this.src.lastIndexOf("_n.") > -1) this.src = rollover.p[o].src;
				}, function(){
					if(!$(this).hasClass("ro_stay") && this.src.lastIndexOf("_o.") > -1) this.src = rollover.p[n].src;
				});
			}
		});
	}
}


/* AnimeScroll
=========================================== */

jQuery.easing.quart = function(x, t, b, c, d){
	return -c * ((t=t/d-1)*t*t*t - 1) + b;
};

var aniscroll = {
	setInit : function(){
		$('a[href*=#],area[href*=#]').click(function(){
			if(location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname){
				var $target = $(this.hash);
				$target = $target.length && $target || $('[name='+this.hash.slice(1)+']');
				if($target.length){
					var targetOffset = $target.offset().top;
					var targetTag = navigator.appName.match(/Opera/)? "html" : "html,body";
					$(targetTag).animate({scrollTop: targetOffset}, 'quart');
					return false;
				}
			}
		});
	}
}


/* ===========================================
 * START
=========================================== */

$(document).ready(function(){
	// DropDown
	dropdown.setInit();

	// RollOver
	rollover.setInit();

	// FontSize
	fsize.setInit();

	// AnimeScroll
	aniscroll.setInit();


/* Flash
------------------------------------------- */

	// newsFlash
	drawSwf("swf_news", "/common/swf/news.swf", 416, 71);


/* Add Class
------------------------------------------- */

	// table
	$("table").each(function(){
		// th:first
		if($(this).hasClass("grid")){
			$(">tbody>tr",this).each(function(){
				if($(this).hasClass("hd")) $(">th:first",this).addClass("hd");
			});
		}

		if($(this).hasClass("last")){
			// .last
			$(">tbody>tr:last",this).addClass("jq");
		} else if($(this).hasClass("even1")){
			// .even1
			$(">tbody>tr:even",this).each(function(){
				if(!$(this).attr("class")) $(this).addClass("jq");
			});
		} else if($(this).hasClass("even1t")){
			// .even1t
			$(">tbody>tr:odd",this).each(function(){
				if(!$(this).attr("class")) $(this).addClass("jq");
			});
		} else if($(this).hasClass("even2")){
			// .even2
			$(">tbody>tr",this).each(function(i){
				if((i%4 == 0 || i%4 == 1) && !$(this).attr("class")){
					$(this).addClass("jq");
				}
			});
		} else if($(this).hasClass("even2t")){
			// .even2t
			$(">tbody>tr",this).each(function(i){
				if((i%4 == 1 || i%4 == 2) && !$(this).attr("class")){
					$(this).addClass("jq");
				}
			});
		} else if($(this).hasClass("even_r4")){
			// .even_r4
			var c = 0;
			$(">tbody>tr",this).each(function(){
				var n = $(">td",this).length;
				if(n >= 1){
					if(n == 4) c = (c == 0)? 1 : 0;
					if(c == 1) $(this).addClass("jq");
				}
			});
		} else if($(this).hasClass("even_r3")){
			// .even_r3
			var c = 0;
			$(">tbody>tr",this).each(function(){
				var n = $(">td",this).length;
				if(n >= 1){
					var n2 = $(">td[colspan='2']",this).length;
					if((n == 3 && n2 == 1) || n == 4) c = (c == 0)? 1 : 0;
					if(c == 1) $(this).addClass("jq");
				}
			});
		}
	});

/* ---------------------------------------- */

	// ul
	$("ul").each(function(){
		if($(this).hasClass("first")){
			// .first
			$(">li:first",this).addClass("jq");
		} else if($(this).hasClass("last")){
			// .last
			$(">li:last",this).addClass("jq");
		}
	});

});

