﻿/// <reference path="jquery-vsdoc.js"/>

function removeWord(val, num, addSuffix, isForceAddSuffix)
{
	/// <summary>
	/// ダブルバイト文字を基準に、指定された長さ以降の文字列を削除し、
	/// 削除した場合は置換文字を加えます。
	/// ASCII文字等は0.5と数え、取得する文字数は変わります。
	/// この関数は、ダブルバイト文字とASCII文字が混在した文字列の表示長を合わせたい場合に利用できます。
	/// </summary>
	/// <param name="val" type="String"> 変換する文字列。</param>
	/// <param name="num" type="String">取得するダブルバイト文字数。</param>
	/// <param name="addSuffix" type="String">カットした場合、末尾に追加する文字列。</param>
	/// <param name="isForceAddReplace" type="Boolean">
	/// true の場合、カットされなかった場合でも強制的に末尾文字列を追加します。
	/// (デフォルト false)。
	/// </param>
	/// <returns type="String">指定された長さで削除し、末尾に置換文字を追加した文字列。</returns>
	var ret = "", cnt = 0;
	addSuffix = (addSuffix) ? addSuffix : "";
	isForceAddSuffix = (isForceAddSuffix) ? isForceAddSuffix : false;
	for (var i = 0; i < val.length; i++)
	{
		var s = val.charAt(i);
		cnt += (escape(s).length < 4) ? .5 : 1;
		ret += s;
		if (num <= cnt + .5)
			return ret + addSuffix;
	}
	return (isForceAddSuffix) ? ret + addSuffix : ret;
}

function RemoveHtmlTag(str)
{
	if(!str) return "";
	return str.replace(/<[^>]*>|&lt;[^&]*&gt;/ig,"");
	
	
}


function FeedTopics()
{
	var itemNum	= 10;
	var labelNum= 33;
	var tipNum	= 200;
	var root	= "feed_topics";
	var cls		= "feed_topics";
	var clsd	= "feed_topics_date";
	var clst	= "feed_topics_text";
	var response = function(data, type)
	{
		$(data).find('item').each(function(index)
		{
			if(itemNum <= index) return false;
			var dt = $(this).find('pubDate').text();
			var ds = ConvertDate(dt);	//dt.replace(/T|Z/g, " ");
			
			var href	= $(this).find('link').text();
			var label	= removeWord(RemoveHtmlTag($(this).find('title').text()), labelNum, "...");
			var tip		= removeWord(RemoveHtmlTag($(this).find('description').text()), tipNum, "...");
			var html	=
			'<div class="' + cls + '"><p class="' + clsd + '">' + ds + '</p>' +
			'<a class="' + clst + '" href="' + href + '" title="' + tip + '" target="">' + label + '</a></div>';
			$(html).appendTo("#" + root);
		});
	};
	$.ajax(
	{
		url:'feed/topics.xml',
		dataType:"xml",
		success:response
	});
}

function SaveBlogXml()
{
	var response = function(data, type)
	{
		if(data == "true")
		{
			Feedblog();
		}
		else
		{
			
		}
	};
	$.post(	"php/blog.php" , {SaveBlogXml:""} , response );

}


function Feedblog()
{
	var itemNum	= 4;
	var labelNum= 16;
	var tipNum	= 200;
	var root	= "feed_blog";
	var cls		= "feed_blog";
	var clsd	= "feed_blog_date";
	var clst	= "feed_blog_text";
	var response = function(data, type)
	{
		$(data).find('item').each(function(index)
		{
			if(itemNum <= index) return false;
			var dt = $(this).find('pubDate').text();
			var ds = ConvertDate(dt);	//dt.replace(/T|Z/g, " ");
			
			var href	= $(this).find('link').text();
			var label	= removeWord(RemoveHtmlTag($(this).find('title').text()), labelNum, "...");
			var tip		= removeWord(RemoveHtmlTag($(this).find('description').text()), tipNum, "...");
			var html	=
			'<div class="' + cls + '"><p class="' + clsd + '">' + ds + '</p>' +
			'<a class="' + clst + '" href="' + href + '" title="' + tip + '" target="_blank">' + label + '</a></div>';
			$(html).appendTo("#" + root);
		});
	};
	$.ajax(
	{
		url:'feed/blog.xml',
		dataType:"xml",
		success:response
	});
}


//トピックス＆ブログ　日付変換
function ConvertDate(gdate)
{
	var dd		= new Date(gdate);
	//dd.setHours(dd.getHours()+9);
	var ldate	= dd.getFullYear() + "年" + (dd.getMonth()+1) + "月" + dd.getDate() + "日　" + dd.getHours() + "時" + dd.getMinutes() + "分";
	return ldate;
}

function ConvertFeedURL()
{
	var elms = $('.entry_cover a');
	for(var i = 0; i < elms.length; i++)
	{
		var elm = elms[i];
		var url = elm.href;
		elm.href = url.replace("topics/im_read.php","topics.html");
	}
}





