/* js Document ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊
components.js
*/
var domain = "http://"+document.domain;
// linker init
ad = $.extend({
notOpenURL:'a[href^="'+domain+'"],a[href^="http://maps.google.com/"]',
openURL:'a.blank',
domain:domain,
extendLink:'.sample',
blankIcon:'<img src="/img/common/icon_blank.gif" alt="別ウィンドウで開きます" class="blank icon" />',
PDFIcon:'<img src="/img/common/icon_pdf.gif" alt="PDFファイルを開きます" class="pdf icon" />',
WordIcon:'<img src="/img/common/icon_word.gif" alt="Wordファイルを開きます" class="word icon" />',
ExcelIcon:'<img src="/img/common/icon_excel.gif" alt="Excelファイルを開きます" class="excel icon" />',
IconSideSpace:'3px',
ieVerticalSpace:'0.3em',//for ie6
IconHidden:'header a'
});


/* document ready
=======================*/
$(function(){



// linker
$('a[href^="http://"],a[href^="https://"],'+ad.extendLink).linker();
$('a[href^="http://"],a[href^="https://"],'+ad.openURL).not('a[href$=".pdf"],a[href$=".doc"],a[href$=".docx"],a[href$=".xls"],a[href$=".xlsx"],'+ad.IconHidden+','+ad.notOpenURL).not('a:has("img")').css('text-decoration','none').wrapInner('<span class="anchorIn"></span>').children('span').after(ad.blankIcon);
$('a[href$=".pdf"]').not(ad.IconHidden).css('text-decoration','none').wrapInner('<span class="anchorIn"></span>').children('span').after(ad.PDFIcon);
$('a[href$=".doc"],a[href$=".docx"]').not(ad.IconHidden).css('text-decoration','none').wrapInner('<span class="anchorIn"></span>').children('span').after(ad.WordIcon);
$('a[href$=".xls"],a[href$=".xlsx"]').not(ad.IconHidden).css('text-decoration','none').wrapInner('<span class="anchorIn"></span>').children('span').after(ad.ExcelIcon);
$('img.blank,img.pdf,img.word,img.excel').css({'border':'0','padding-right':ad.IconSideSpace,'padding-left':ad.IconSideSpace});
$("table.historyBox").each(function(){jQuery(this).find("th:even,td:even").addClass("even");});
if($.browser.msie && parseInt($.browser.version, 10) < 7 ){
$('img.blank,img.pdf,img.word,img.excel').css({'padding-top':ad.ieVerticalSpace,'padding-bottom':ad.ieVerticalSpace});
}
$('a[href$=".pdf"],a[href$=".mpg"],a[href$=".doc"],a[href$=".docx"],a[href$=".xls"],a[href$=".xlsx"],a[href$=".wmv"]').css('text-decoration','none').not('a[href^="http://"],a[href^="https://"]').click(function(){
window.open(this.href, '_blank');
return false;
});


var notNum = '#topicPath,#article ul.pagenation ol';
$("#main ol").not(notNum).addClass("numList").each(function(){
$(this).children("li").each(function(i){
i = i+1;
if(i > 9){
$(this).prepend('<span class="num">'+ i +'.' +'</span>');
}else{
$(this).prepend('<span class="num">'+'&nbsp;' + i +'.' +'</span>');
};
});
});
$('#archive ul').snavActive();
$('#localNav ul').snavActive();
$('#globalNav ul').gnavActive();
$('#main caption').wrapInner('<span />');

$('a[href^="#"]').slideScroll();
$('.opover,#banner ul li img,#siteBnrBox li a,ul.indexList li dl dt figure a img,.subNav h2 a,div.figureBox a img').opover();
$('ul.indexList li').bugFix({act:'stripe'});
flatColumns('ul.indexList','li','2','null');
flatColumns('ul.reportList02','li','2','li li');

// bugFix
$('#main table tr td').bugFix({act:'last'});
$('#main table tr th').bugFix({act:'last'});
$('#main table tr').bugFix({act:'last'});
$('#main ol li').bugFix({act:'last'});
$('#main ul li').bugFix({act:'last'});
$('dl.lineType01 dd').bugFix({act:'last'});
$('dl.lineType02 dd').bugFix({act:'last'});
$('dl.topLevel').bugFix({act:'last'});
$('#localNav ul li ul li').bugFix({act:'last'});
$('table.addressBox tr').bugFix({act:'last'});
$('ul.indexList').bugFix({act:'side',column:'2'});



});
/*[end] document ready
=======================*/
// opover
$.fn.opover = function(){
return this.hover(function(){
$(this).animate({'opacity':0.6},{duration:100,queue:false});
},function(){
$(this).animate({'opacity':1},{duration:100,queue:false});
});
};

// snavActive
$.fn.snavActive = function(){
var pagePath = location.href.replace(ad.domain,'');
return this.each(function(){
$(this).find('a').each(function(){
var newsLink = $(this).attr('href').replace(ad.domain,'');
if(pagePath.search($(this).attr('href')) >=0){
$(this).addClass('active');
}else if(pagePath == newsLink){
$(this).addClass('active');
}
});
});
};



// gnavActive
$.fn.gnavActive = function(){
var pagePath = location.href.replace(ad.domain,'');
return this.each(function(){
$(this).find('a').each(function(){
var linkURL = $(this).attr('href');
for (i = 2011; i < 2030; i = i +1){
if(linkURL == "/press/"+i+"/"){
linkURL = "/press/";
}
}
if(pagePath == linkURL){
var image_cache = new Object();
$(this).children('img').each(function(){
var imgsrc = this.src,
dot = this.src.lastIndexOf('.'),
imgsrc_ro = this.src.substr(0, dot) + '_ac' + this.src.substr(dot, 4);
image_cache[this.src] = new Image();
image_cache[this.src].src = imgsrc_ro;
this.src = imgsrc_ro;
$(this).addClass('active');
$(this).parent().parent().find("a").addClass('active');
});
}else if(pagePath.search(linkURL) >=0 && linkURL !='/'){
var image_cache = new Object();
$(this).children('img').each(function(){
var imgsrc = this.src,
dot = this.src.lastIndexOf('.'),
imgsrc_ro = this.src.substr(0, dot) + '_ac' + this.src.substr(dot, 4);
image_cache[this.src] = new Image();
image_cache[this.src].src = imgsrc_ro;
this.src = imgsrc_ro;
$(this).addClass('active');
$(this).parent().parent().find("a").addClass('active');

});
};
});
});
};
// slideScroll
$.fn.slideScroll = function(){
return this.click(function(){
var slidingTarget = $.support.boxModel ? navigator.appName.match(/Opera/) ? "html" : "html,body" : "body";
var targetPos = $(this.hash).offset().top;
$(slidingTarget).animate({scrollTop:targetPos},{duration:400,easing:'easeOutQuad',queue:false});
return false;
});
};

// Rollover
function initRollOverImages() {
var image_cache = new Object();
$(".imgover").each(function(i) {
var imgsrc = this.src;
var dot = this.src.lastIndexOf('.');
var imgsrc_ro = this.src.substr(0, dot) + '_on' + this.src.substr(dot, 4);
image_cache[this.src] = new Image();
image_cache[this.src].src = imgsrc_ro;
$(this).hover(
function() { if(!$(this).hasClass("active")){this.src = imgsrc_ro;} },
function() {if(!$(this).hasClass("active")){this.src = imgsrc; }})
});
};

(function($) {
// bugFix
$.fn.bugFix = function(options){
if(($.browser.msie && $.browser.version < 9) || ($.browser.mozilla && parseFloat($.browser.version.substr(2,3)) < 9.1 && parseFloat($.browser.version.substr(0,1))!= 2)){
if($(this).length>1){
var opt = [];
$(this).each(function(i){
opt[i] = new BugFix(this,options);
});
return opt;
}else{
return new BugFix(this,options);
}
};
};

var BugFix = function(_select, options){
this.temp = {
act : 'side',
name : null,
column : null
};

$.extend(this.temp, options || {});
this.target = $(_select);

this.events();
};

BugFix.prototype = {
events:function(){
var action = this.temp.act;
if(action == 'side'){
this.side();
}else if(action == 'number'){
this.number();
}else if(action == 'hover' && $.browser.msie && $.browser.version < 7){
this.hover();
}else if(action == 'active' && $.browser.msie && $.browser.version < 7){
this.active();
}else if(action == 'stripe'){
this.stripe();
}else if(action == 'first'){
this.first();
}else if(action == 'last'){
this.last();
}else if(action == 'input'){
this.input();
}
},
hover:function(){
this.target.hover(function(){
$(this).addClass('hover');
},function(){
$(this).removeClass('hover');
});
},
active:function(){
this.target.mousedown(function(){
$(this).addClass('active');

});
this.target.bind('mouseup,mouseout',function(){
$(this).removeClass('active');
});
},
side:function(){
var column = this.temp.column+"n";
this.target.filter(':nth-child('+column+')').addClass('side');
},
number:function(){
var num = this.temp.column;
var _class = this.temp.name;
this.target.filter(':nth-child('+num+')').addClass(_class);
},
stripe:function(){
if(this.target.length){
var parent = this.target.parent(),
tag = this.target[0].tagName;
$(parent).children(tag).each(function(i){
if((i+1)%2-1==0 || i==0){
$(this).addClass('odd');
}else{
$(this).addClass('even');
}
});
}
},
first:function(){
var parent = this.target.parent();
$(parent).children(this).filter(':first-child').addClass('first');
},
last:function(){
var parent = this.target.parent();
$(parent).children(this).filter(':last-child').addClass('last');
},
input:function(){
this.target.each(function(){
var inputType = $(this).attr('type');
$(this).addClass(inputType);
});
}
};

// linker
$.fn.linker = function(){
return this.not(ad.extendLink+' a').click(function(e){
e.preventDefault();

if($(this).find("a").length){
var targetAnc=$(this).find("a");
}else if($(this).next("dd").find("a").length){
var targetAnc=$(this).next("dd").find("a");
}else if($(this).prev("dt").find("a").length){
var targetAnc=$(this).prev("dt").find("a");
}else{
var targetAnc=$(this);
};



if($(targetAnc).attr("href")==undefined){
$(this).css('cursor','auto');
return false;
}else if($(targetAnc).is('[href$=".pdf"],[href$=".doc"],[href$=".docx"],[href$=".xls"],[href$=".xlsx"]')){
window.open($(targetAnc).attr("href"),"_blank");
}else if($(targetAnc).is('a[href^="http://"]')==false && $(targetAnc).is('a[href^="https://"]')==false){
window.location.href=$(targetAnc).attr("href");
}else if($(targetAnc).filter(ad.notOpenURL).length && !$(targetAnc).is(ad.openURL)){
window.location.href=$(targetAnc).attr("href");
}else if($(targetAnc).is(ad.openURL)){
window.open($(targetAnc).attr("href"),"_blank");
}else{
window.open($(targetAnc).attr("href"),"_blank");
};
});
};
})(jQuery);


// easing
$.extend($.easing,
{
def: 'easeOutQuad',
swing: function (x, t, b, c, d) {
return $.easing[$.easing.def](x, t, b, c, d);
},
easeInQuad: function (x, t, b, c, d) {
return c*(t/=d)*t + b;
},
easeOutQuad: function (x, t, b, c, d) {
return -c *(t/=d)*(t-2) + b;
},
easeInBack: function (x, t, b, c, d, s) {
if (s == undefined) s = 1.70158;
return c*(t/=d)*t*((s+1)*t - s) + b;
},
easeOutBack: function (x, t, b, c, d, s) {
if (s == undefined) s = 1.70158;
return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
},
easeOutExpo: function (x, t, b, c, d) {
return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
},
easeInBack: function (x, t, b, c, d, s) {
if (s == undefined) s = 1.70158;
return c*(t/=d)*t*((s+1)*t - s) + b;
},
easeOutBack: function (x, t, b, c, d, s) {
if (s == undefined) s = 1.70158;
return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
}
});


/*
flatheights.js---------------------------------------------------------------------------
Version: 2007-08-01
Copyright (c) 2007, KITAMURA Akatsuki
$.changeLetterSize.addHandler(func)
*/
$.changeLetterSize={handlers:[],interval:1000,currentSize:0};(function($){var self=$.changeLetterSize;var ins=$('<ins>M</ins>').css({display:'block',visibility:'hidden',position:'absolute',padding:'0',top:'0'});var isChanged=function(){ins.appendTo('#main');var size=ins[0].offsetHeight;ins.remove();if(self.currentSize==size)return false;self.currentSize=size;return true;};$(isChanged);var observer=function(){if(!isChanged())return;$.each(self.handlers,function(i,handler){handler();});};self.addHandler=function(func){self.handlers.push(func);if(self.handlers.length==1){setInterval(observer,self.interval);}};})(jQuery);(function($){var sets=[];var flatHeights=function(set){var maxHeight=0;set.each(function(){var height=this.offsetHeight;if(height>maxHeight)maxHeight=height;});set.css('height',maxHeight+'px');};$.fn.flatHeights=function(){if(this.length>1){flatHeights(this);sets.push(this);}else{ $(this).css('height',$(this).innerHeight()); }
return this;};$.changeLetterSize.addHandler(function(){$.each(sets,function(){this.height('auto');flatHeights(this);});});})(jQuery);function flatColumns(flatParent,flatTarget,columNum,notElem){$(flatParent).each(function(){var sets=[],temp=[];if(columNum==2){$(this).find(flatTarget).not(notElem).each(function(i){temp.push(this);if((i+1)%2==0&&i!=0){sets.push(temp);temp=[];}});if(temp.length)sets.push(temp);}else if(columNum==3){$(this).find(flatTarget).not(notElem).each(function(i){temp.push(this);if(i%3==2){sets.push(temp);temp=[];}});if(temp.length)sets.push(temp);}else if(columNum==4){$(this).children(flatTarget).not(notElem).each(function(i){temp.push(this);if((i+1)/4>=1&&(i+1)%4==0){sets.push(temp);temp=[];}});if(temp.length)sets.push(temp);}else if(columNum==5){$(this).children(flatTarget).not(notElem).each(function(i){temp.push(this);if((i+1)/5>=1&&(i+1)%5==0){sets.push(temp);temp=[];}});if(temp.length)sets.push(temp);}
$.each(sets,function(){$(this).flatHeights();});});}
