/* 
 *
 * library.js v0.2
 * ※jQueryとEasing Pluginが必要です
 * 
 * Copyright(c) INVOGUE.CO,. Ltd. ALL Rights Reserved.
 * http://www.invogue.co.jp/
 * 
 */
(function($) {
	$.index = {
		news: function(Target,File,options){
			var c = $.extend({
				addclass   : 'active',
				duration   : 300,
				easing     : 'linear',
				type       : 'list', //auto or list or detail or side
				interval   : 5000,
				count      : 10,
				scroll     : false
			}, options);
			
			//XML読み込み
			$.ajax({
				url:File,
				dataType:'xml',
				success:function(data){GetData(data)},
				error:function(xml){return;},
				complete:function(){setTimeout(function(){PreLoader();},200);}
			});
			
			//XMLからデータを取得
			function GetData(data){
				$(Target).empty();
				c.count = $(data).find('channel').size();
				OutPut = '';
				$(data).find('channel').each(function(i){
					if(c.count > i){
						if(c.type == 'auto'){
							OutPut += '<li style="display:none;" class="'+$(this).find('info').attr('cat')+'">';
							OutPut += '<a href="'+$(this).find('link').text()+'" target="'+$(this).find('link').attr('target')+'"">';
							if($(this).find('title').text().length < 60){
								OutPut += $(this).find('title').text();
							}else{
								OutPut += $(this).find('title').text().substr(0,60)+'...';
							}
							OutPut += '</a>';
							if($(this).find('link').attr('target') == '_blank'){
								OutPut += '<span class="ico"><img src="/images/index/news_ico_blank.gif" width="9" height="7" alt="外部リンク" /></span>';
							}else if($(this).find('link').attr('target') == '_pdf'){
								OutPut += '<span class="ico"><img src="/images/index/news_ico_pdf.gif" width="16" height="16" alt="PDF" /></span>'
							}
							OutPut += '</li>';
						}else if(c.type == 'list'){
							OutPut += '<li class="'+$(this).find('info').attr('cat')+'">';
							OutPut += '<span class="data">'+$(this).find('info').attr('date-y')+'.'+$(this).find('info').attr('date-m')+'.'+$(this).find('info').attr('date-d')+'</span>';
							OutPut += '<a href="'+$(this).find('link').text()+'" ';
							if($(this).find('link').attr('target') == '_pdf'){
								OutPut += 'target="_blank">'+$(this).find('title').text()+'<span class="ico"><img src="/images/index/news_ico_pdf.gif" width="16" height="16" alt="PDF" /></span>';
							}else{
								OutPut += 'target="'+$(this).find('link').attr('target')+'">'+$(this).find('title').text();
								if($(this).find('link').attr('target') == '_blank'){
									OutPut += '<span class="ico"><img src="/images/index/news_ico_blank.gif" width="9" height="7" alt="外部リンク" /></span>';
								}
							}
							OutPut += '</a></li>';
						}else if(c.type == 'detail'){
							OutPut += '<div class="inside"><div class="inside-inline">';
							OutPut += '<p class="img"><img src="'+$(this).find('img_m').text()+'" width="200" /></p>';
							OutPut += '<p class="title"><strong>';
							if($(this).find('title').text().length < 25){
								OutPut += '<a href="'+$(this).find('link').text()+'" target="'+$(this).find('link').attr('target')+'">'+$(this).find('title').text()+'</a>';
							}else{
								OutPut += '<a href="'+$(this).find('link').text()+'" target="'+$(this).find('link').attr('target')+'">'+$(this).find('title').text().substr(0,25)+'...'+'</a>';
							}
							if($(this).find('link').attr('target') == '_blank'){
								OutPut += '<span class="ico"><img src="/images/index/news_ico_blank.gif" width="9" height="7" alt="外部リンク" /></span>';
							}else if($(this).find('link').attr('target') == '_pdf'){
								OutPut += '<span class="ico"><img src="/images/index/news_ico_pdf.gif" width="16" height="16" alt="PDF" /></span>'
							}
							OutPut += '</strong></p>';
							OutPut += '<p class="date '+$(this).find('info').attr('cat')+'">'+$(this).find('info').attr('date-y')+'.'+$(this).find('info').attr('date-m')+'.'+$(this).find('info').attr('date-d')+'</p>';
							if($(this).find('detail').text().length > 0){
								OutPut += '<p class="detail">';
								if($(this).find('detail').text().length < 23){
									OutPut += $(this).find('detail').text();
								}else{
									OutPut += $(this).find('detail').text().substr(0,23)+'...'
								}
							}
							OutPut += '</p></div></div>';
						}else if(c.type == 'side'){
							OutPut += '<li class="img"><img src="'+$(this).find('img_s').text()+'" '+$(this).find('img_s').attr('resized')+'="59" /></li>';
							OutPut += '<li class="info '+$(this).find('info').attr('cat')+'">'+$(this).find('info').attr('date-y')+'.'+$(this).find('info').attr('date-m')+'.'+$(this).find('info').attr('date-d')+'</li>';
							OutPut += '<li class="txt"><a href="'+$(this).find('link').text()+'" target="'+$(this).find('link').attr('target')+'">'+$(this).find('title').text()+'</a>';
								if($(this).find('link').attr('target') == '_blank'){
									OutPut += '<span class="ico"><img src="/images/index/news_ico_blank.gif" width="9" height="7" alt="外部リンク" /></span>';
								}else if($(this).find('link').attr('target') == '_pdf'){
									OutPut += '<span class="ico"><img src="/images/index/news_ico_pdf.gif" width="16" height="16" alt="PDF" /></span>'
								}
							OutPut += '</li>';
						}
					}
				});
				$(Target).html(OutPut);
			}
			
			function PreLoader(){
				if(c.type == 'auto'){
					var Num = 0;
					AutoChange(Num);
				}else if(c.type == 'list'){
					if(c.scroll){
						$(Target).parent().jScrollPane();
					}
				}else if(c.type == 'detail'){
					//$.library.heights('#Main div.know div#Event.tab-content div.inside div.inside-inline',{row:3});
					$.index.tab({navigation:'#Main div.know ul.tab-nav li',target:'#Main div.know div.tab-content'});
				}
			}
			
			function AutoChange(Num){
				$(Target).find('li').each(function(i){
					if(Num != i){
						$(this).animate({'opacity':'0.0'},{duration:c.duration,easing:c.easing,complete:function(){
							$(this).hide();
						}});
					}else{
						$(this).css({'opacity':'0.0','display':'block'});
						$(this).stop().animate({'opacity':'1.0'},{duration:c.duration,easing:c.easing,complete:function(){
							if(Num == c.count-1){
								Num = 0;
							}else{
								Num = Num + 1;
							}
							setTimeout(function(){
								AutoChange(Num);
							},c.interval);
						}});
					}
				});
			}
			
		},
		tab: function(options){
			var c = $.extend({
				navigation    : '',
				target        : '',
				active        : '',
				addclass      : 'active',
				TabDuration   : 400,
				TabEasing     : 'linear',
				type          : 'img',
				HoverDuration : 300,
				HoverEasing   : 'easeInSine',
				history       : $.cookie('IndexTab')
			}, options);
			
			if(c.navigation != '' && c.target != ''){
				var TargetHeight = [];
				var FirstClick = '';
				
				if(c.history){
					FirstClick = c.history;
				}else{
					$.cookie('IndexTab','Business',{expires:1});
					FirstClick = 'Business';
				}
				
				$(c.target).wrapAll('<div class="tab-wrap-'+ $(c.target).attr('class') +'"></div>');
				$(c.target).parent().css('position','relative');
				var Position = $(c.target).position();
				
				$(c.target).each(function(){
					TargetHeight[$(this).attr('id')] = $(this).outerHeight('margin:true');
					$(this).css({'overflow':'hidden','position':'absolute','top':Position.top,'left':Position.left});
					
					$(".empty-banner").click(function(){
						return false;
					})
					
					$(this).find('a img').hover(function(){
						if($(this).attr("class")=="empty-banner"){
							return;
						}
						$(this).addClass('hover');
						$(c.target).find('a img:not(.hover)').not("").stop(true).animate({'opacity':'0.4'},{duration:c.HoverDuration,easing:c.HoverEasing});
					},function(){
						$(c.target).find('a img').removeClass('hover')
						$(c.target).find('a img').stop(true).animate({'opacity':'1'},{duration:c.HoverDuration,easing:c.HoverEasing});
					});
				});
				
				if(c.type == 'img'){
					$(c.navigation).find('img').each(function(){
						$(this).parent().css({'width':$(this).width(),'height':$(this).height(),'display':'block','overflow':'hidden','position':'relative'});
						$(this).css({'position':'absolute','top':'0','left':'0','z-inde':'1'});
						var $clone = $(this).clone().addClass('clone').css({'z-index':'2','opacity':'0'});
						$clone.attr('src',$(this).attr('src').replace('.gif','_on.gif'));
						$(this).after($clone);
					});
					$(c.navigation).find('a').hover(function(){
						if(!$(this).hasClass(c.addclass)){
							$(this).find('img.clone').stop(true).animate({'opacity':'1'},{duration:c.HoverDuration,easing:c.HoverEasing});
						}
					},function(){
						if(!$(this).hasClass(c.addclass)){
							$(this).find('img.clone').animate({'opacity':'0'},{duration:c.HoverDuration,easing:c.HoverEasing});
						}
					});
				}
				
				
				$(c.navigation).click(function(){
					var TargeBlock = $(this).attr('class');
					$.cookie('IndexTab',$(this).attr('class'),{expires:1});
					$(c.target).stop().animate({opacity: 0.0},{duration:c.TabDuration, easing:c.TabEasing, complete:function(){
						$(this).hide();
					}});
					if(c.type == 'img'){
						$(c.navigation).find('a').removeClass(c.addclass);
						$(this).find('a').addClass(c.addclass);
						
						$(c.navigation).find('a').each(function(){
							if(!$(this).hasClass(c.addclass)){
								$(this).find('img.clone').animate({'opacity':'0'},{duration:c.HoverDuration,easing:c.HoverEasing});
							}else{
								$(this).find('img.clone').stop(true).animate({'opacity':'1'},{duration:c.HoverDuration,easing:c.HoverEasing});
							}
						});
					}else if(c.type == 'text'){
						$(c.navigation).find('a').removeClass(c.addclass);
						$(c.navigation+'.'+TargeBlock).find('a').addClass(c.addclass);
					}
					
					$('#'+TargeBlock).show().stop().animate({opacity: '1.0'},{duration:c.TabDuration, easing:c.TabEasing});
					$(c.target).parent().stop().animate({'height':TargetHeight[TargeBlock]},{duration:c.TabDuration, easing:c.TabEasing});
					
					return false;
				});
				
				$(c.navigation+'.'+FirstClick).click();
				/*
				if(c.active != ''){
					$(c.navigation+'.'+FirstClick).click();
				}else{
					$(c.navigation+':first').click();
				}
				*/
			}
		}
	};
	
	$(function(){
		$.index.news('#Main div.know div#Event.tab-content div.event-inline','_xml/news.php',{type:'detail',count:6});
		$.index.news('#Topics ul','_xml/news.php',{type:'auto',count:5});
		$.index.news('#Main div.news.event div.inside ul.list','_xml/news.php',{type:'list',scroll:true});
		$.index.news('#Main div.news.pressrelease div.inside ul.list','_xml/pressrelease.php',{type:'list',scroll:true});
		$.index.news('#Side div.event ul','_xml/side.php',{type:'side',count:'1'});
	});
})(jQuery);
