/* ===================================================================
Javascript information
 file name  :default.js
 author     :yuji ito
 script info :ページ下で読み込む各Jqueryプラグイン、ページのJSの基本設定
=================================================================== */
//CSS画像のプリロード
$.preloadCssImages = function(settings){
	//overrideable defaults
	settings = jQuery.extend({
		 imgDir: '/common/images'
	}, settings);

	//dump all the css rules into one string
	var sheets = document.styleSheets;
	var cssPile = '';
	for(var i = 0; i<sheets.length; i++){
		if(!$.browser.msie){
			var thisSheetRules = document.styleSheets[i].cssRules;
			for(var j = 0; j<thisSheetRules.length; j++){
				cssPile+= thisSheetRules[j].cssText;
			}
		}
		else {
			cssPile+= document.styleSheets[i].cssText;
		}
	}
	//parse string for image urls and load them into the DOM
	var allImgs = [];//new array for all the image urls  
	var imgUrls = cssPile.match(/[^\/]+\.(gif|jpg|jpeg|png)/g);//reg ex to get a string of between a "/" and a ".filename"
	if(imgUrls != null && imgUrls.length>0 && imgUrls != ''){//loop array
		var arr = jQuery.makeArray(imgUrls);//create array from regex obj	 
		$(arr).each(function(k){
			allImgs[k] = new Image(); //new img obj
			allImgs[k].src = settings.imgDir +'/'+ this;	
		});
	}
	return allImgs;
}

// Easingの追加
jQuery.easing.quart = function (x, t, b, c, d) {
	return -c * ((t=t/d-1)*t*t*t - 1) + b;
};

jQuery(document).ready(function(){
	//ナビゲーションの設定
	$('#menu').spritemenu({
		grid:"common/images/navi.jpg",
		buttonwidth: 162,
		buttonheight: 91
	});
	$('#menuGeneral').spritemenu({
		grid:"../common/images/navi.jpg",
		buttonwidth: 162,
		buttonheight: 91
	});
	$("li#topP a span").css("background","none");
	$("li#profP a span").css("background","none");
	$("li#portP a span").css("background","none");
	$("li#artP a span").css("background","none");
	$("li#conP a span").css("background","none");

	//IEのバージョン判定をして透過png用のJSを読み込む
	if($.browser.msie && $.browser.version<7){
		DD_belatedPNG.fix('#navi,div#contBgBtm,div#contBg,div#contBgBtm2,div#contBg2,div#linkClm ul li#twitter a,div#linkClm ul li#cb a,div#linkClm ul li#rss a,div#linkClm ul li address a,div#linkClm p,div#pagetop a,div#pankuzu li a');
		if($("#menu").length){
			/*$("#menu").before('<script type="text/javascript" src="common/js/DD_belatedPNG.js"></script>');*/
		}else{
		}
	}

	//jcaptionの呼び出し
	//$('#text img').jcaption();
	$('img.cap').jcaption({
		copyStyle: true,
		animate: true,
		show: {height: "show"},
		hide: {height: "hide"}
	});
	//var capWidth = $('img.cap').width();
	//$('div.caption p').css('width',capWidth);
	//}

	//Example of preserving a JavaScript event for inline calls.
	$("#click").click(function(){ 
		$('#click').css({"background-color":"#f00", "color":"#fff", "cursor":"inherit"}).text("Open this window again and this message will still be here.");
		return false;
	});
	
	//SSLの分岐設定
	/*if($("li#conP").length){
		if(location.protocol == "https:"){
		}else{
			var sslTxt = '<p id="sslTxt">すべての方からのお問い合わせを可能にするため、このページは暗号化していません。<br />暗号化フォームを利用する場合は、下記をクリックしてください。<p><a href="https://'+location.hostname+'/contact/index.html">暗号化（SSL）フォームを利用する</a></p>';
			$("p#contTxt").after(sslTxt);
		}
	}else{
	}*/
	//ページ内スクロールの設定。 <a href="#***">の場合、スクロール処理を追加
	jQuery('a[href*=#]').click(function() {
		if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
			var $target = jQuery(this.hash);
			$target = $target.length && $target || jQuery('[name=' + this.hash.slice(1) +']');
			if ($target.length) {
				var targetOffset = $target.offset().top;
				jQuery('html,body').animate({ scrollTop: targetOffset }, 600, 'quart');
				return false;
			}
		}
	});


});


//RSSのパース設定
$(function(){
	if($("#menu").length){
		var topicsR = "common/rdf/topics.rdf";
	}else{
		var topicsR = "../common/rdf/topics.rdf";
	}
	$.ajax({
		url: topicsR,//RSSファイル名
		async: true,
		cache: false,
		dataType:"xml",
		success: function(xml){
			$(xml).find('item').each(function(i){
				// 初期設定で3件出力。件数を変更は"i > 2"の部分を修正。数値は"出力したい件数 - 1"を入力。
                if ( i > 2 ) {
                    return false;
                }
				var title = $(this).find('title').text();
				var url = $(this).find('link').text();
				//日付を整形
				var date = dateParse($(this).find('pubDate').text());
				//HTMLに出力
				//$("ul#feedList").append('<li class="list"><a href="'+url+'">'+title+'</a><p>（'+date[0]+'）</p></li>');
				$("ul#feedList").append('<li class="list">'+title+'<p>（'+date[0]+'）</p></li>');
				$("ul#feedList li.noscript-msg").remove();
    		});
		}
	});
});

//dateParse: "2010/01/01" 形式
function dateParse(str){
	var objDate = new Date(str);
	var nowDate = new Date();
	//現在の日付との差を計算
	myDay = Math.floor((nowDate.getTime()-objDate.getTime()) / (1000*60*60*24)) + 1;
	/*if (myDay < 15 ){
		var newMsg = '';
	} else {
		var newMsg = '';
	}*/
	var year = objDate.getFullYear();
	var month = objDate.getMonth() + 1;
	var date = objDate.getDate();
	if ( month < 10 ) { month = "0" + month; }
	if ( date < 10 ) { date = "0" + date; }
		str = year + '/' + month + '/' + date;
		rtnValue = new Array(2);
		rtnValue[0] = str;
		//rtnValue[1] = newMsg;
	return rtnValue;
}

//jcaptionの初期設定
(function($){
	$.fn.jcaption = function(settings) {
		settings = $.extend({
			wrapperElement: 'div',
			wrapperClass: 'caption',
			captionElement: 'p',
			imageAttr: 'alt',
			copyStyle: true,
			removeStyle: true,
			removeAlign: true,
			copyAlignmentToClass: true,
			autoWidth: true,
			animate: false,
			show: {opacity: 'show'},
			showDuration: 150,
			hide: {opacity: 'hide'},
			hideDuration: 150	
		}, settings);

		$(this).each(function(){
			$(this).bind('load', function(){
				if($(this).data('loaded')) return false;
				$(this).data('loaded', true);
				var image = $(this);
				if(image.attr(settings.imageAttr).length > 0){
					image.wrap("<" + settings.wrapperElement + " class='" + settings.wrapperClass + "'></" + settings.wrapperElement + ">");
					var imageStyle = image.attr('style');
					if(settings.removeStyle) image.removeAttr('style');
					var imageAlign = image.attr('align');
					if(settings.removeAlign) image.removeAttr('align');
					var div = $(this).parent().append('<' + settings.captionElement + '>' + image.attr(settings.imageAttr) + '</' + settings.captionElement + '>');
					
					if(settings.animate){
						$(this).next().hide();
						$(this).parent().hover(
						function(){
							$(this).find('p').animate(settings.show, settings.showDuration);
						},
						function(){
							$(this).find('p').animate(settings.hide, settings.hideDuration);
						});
					}
					
					if(settings.copyStyle) div.attr('style',imageStyle);
					if(settings.copyAlignmentToClass) div.addClass(imageAlign);
					if(settings.autoWidth) div.width(image.width());
				}
			});
			
			if (this.complete || this.naturalWidth > 0){
				$(this).trigger('load');
			}
			
		});
	}
})(jQuery);

