/*---------------------------------------------------------------

rssLoader.js - ver 1.2.0

jQuery required (tested on version v1.4.4)
encoding UTF-8

Copyright (c) 2011 Digitalize Inc. All Rights Reserved.

----------------------------------------------------------------*/

$(function() {	
	
	//基本的に外部ブログサービスなのでクロスドメイン対策。
	//取得するRSSは「url_proxy.php」に設置
	$.get("/common/js/url_proxy.php",function(d){
		$(d).find("item").each(function(i){
			
			//表示制限（件数に達したらfalseを返し処理を停止）
			if(i == 1){
				return false;
			}
			
			//RSS情報の値に沿って情報を取得 ※必要な項目は追加
			var $entry=$(this);
			var $title=$(this).find("title").text();
			var $link=$(this).find("link").text();
			var $description=$(this).find("description").text();
			var $date=$(this).find("dc\\:date").text();
			if($date == ''){
				$date = $(this).find('date').text();
				if($date == ''){
				var $date=$(this).find("pubDate").text();
				}
			}			
			var $creator = $(this).find("dc\\:creator").text();
			if($creator == ''){$creator = $(this).find('creator').text();}
			
			//HMTL側に表示(以下は例）
			var s='';
			s+='<dl>';
			s+='<dt><strong><a href=\"' + $link + '\" target="_blank">'+limitText($title,30)+'</a></strong><br />';
			s+='<span>'+convertDate($date)+'</span></dt>';
			s+='<dd>'+convertText($description,60)+'</dd>';
			s+='</dl>';
			
			//HTML側に表示する位置を指定(設置する名称は任意で可能)
			$("#blogBoxList").append(s);
			
		});
	});
});

//IEの分岐判定
function getIEversionNumber(){
	var ua = navigator.userAgent;
	var MSIEOffset = ua.indexOf("MSIE ");
	if(MSIEOffset == -1){
		return 0;
	} else {
		return parseFloat(ua.substring(MSIEOffset + 5, ua.indexOf(";",MSIEOffset)));
	}
}


//「Firefox3.6以前」「Safari」対策
function getFirefoxversionNumber(){
	var ua = navigator.userAgent;
	
	//Firefox 3.6以前の選定
	var FirefoxOffset = ua.indexOf("Firefox");
	foxBrowser = ua.slice(FirefoxOffset,FirefoxOffset+7);
	foxVersionA = ua.slice(FirefoxOffset+8,FirefoxOffset+8+1);
	foxVersionB = ua.slice(FirefoxOffset+10,FirefoxOffset+10+1);
	
	//Safari-Only[Chrome除外]
	var SafariOffset = ua.indexOf("Safari");
	var ChromeOffset = ua.indexOf("Chrome");
	SafariBrowser = ua.slice(SafariOffset,SafariOffset+6);
	ChromeBrowser = ua.slice(ChromeOffset,ChromeOffset+6);
	
	if((foxBrowser == "Firefox") && (foxVersionA <= 3) && (foxVersionB <= 6)){
		return 1;
	} else if((SafariBrowser == "Safari")&&(ChromeBrowser != "Chrome")){
		return 2;
	} else {
		return 0;
	}
}


//日付情報の変換
function convertDate(nowDate){
	
	//W3C Date and Time Formats(W3CDTF)の選別
	var W3CDTF = nowDate.indexOf("-");
	
	//W3CDTFとGMTを分岐（IE対策）
	if(((getFirefoxversionNumber() != 0) || (getIEversionNumber() != 0)) && (W3CDTF == 4))
	{
		
		var nowStr = nowDate.split("-").join("/");
		var nowTimeStr = nowStr.split("T").join(" ");
		var nowEditDate = nowTimeStr.split("+09:00").join(" ");
		var objDate = Date.parse(nowEditDate);
		
	}else{
		
		var objDate = Date.parse(new String(nowDate));
		
	}
	var date = new Date();
	date.setTime(objDate);
	var updateYear = date.getFullYear(); //年
	var updateMonth = toDoubleDigits(date.getMonth() + 1); //月 ※1
	var updateDate = toDoubleDigits(date.getDate()); //日 ※1
	var weekdays = ["日", "月", "火", "水", "木", "金", "土"]; //曜日の表示名指定
	var updateDay = weekdays[date.getDay()]; //曜日
	var updateHours = toDoubleDigits(date.getHours()); //時間 ※1
	var updateMin = toDoubleDigits(date.getMinutes()); //分 ※1
	var updateSec = toDoubleDigits(date.getSeconds()); //秒 ※1
	
	//※1 1ケタの場合は、0が自動的に頭に付きます。0が必要ないときは、「toDoubleDigits」を解除してください。
	
	//必要な情報を配置
	var $date = updateYear + "/" + updateMonth + "/" + updateDate + " " + updateHours + ":" + updateMin;
	return $date;
	
}

//日付が1ケタのときに「0」を設置
function toDoubleDigits(num) {
	num += "";
	if (num.length === 1) {
		num = "0" + num;
	}
	return num;     
};

//テキスト情報の文字数制限。※limitText(対象の文字列,制限数);
function limitText(nowTitle,limitCount){
	
	var limitStr = limitCount+1;
	var titleLen = nowTitle.length;
	
	if(titleLen >= limitStr){
		var reTxt = nowTitle.substring(0, limitCount);
		$title = reTxt+"…";
	}else{
		var reTxt = nowTitle;
		$title = reTxt;
	}
	return $title;
}

function convertText(setText,limitCount){
	
	var conStr = setText;
	var $conText = conStr.replace(/{%(.*)%}/g, "");
	
	var limitStr = limitCount+1;
	var titleLen = $conText.length;
	
	if(titleLen >= limitStr){
		var reTxt = $conText.substring(0, limitCount);
		$setStr = reTxt+"…";
	}else{
		var reTxt = $conText;
		$setStr = reTxt;
	}
	
	return $setStr;
}

