/* create tbody function */
function  parse_xml_tbody(area,xml,num){
	$(area)[0].removeChild($(area)[0].getElementsByTagName("tbody")[0]);
	var tbody = createTbodyNodes(xml,num);
	tbody.lastChild.className = "last";
	$(area)[0].appendChild(tbody);
}
function createTbodyNodes(xml,num){
	//display number
	var cnt = num;

	//create base element
	var tbody = document.createElement("tbody");

	$(xml).find("item").each(function(){
		var ago = limit();
		var day = new Date($(this).find("pubDate").text());
		LIMITBREAK : {
			if (ago.getTime() > day.getTime()) {
				break LIMITBREAK;
			}

			var title    = $(this).find("title").text();
			var link     = $(this).find("link").text();
			var publish  = reformat($(this).find("pubDate").text());
			var target   = $(this).find("shiseido\\:target").text();

			//create elements
			var tr             = document.createElement("tr");
			var day            = document.createElement("td");
			var category       = document.createElement("td");
			var content        = document.createElement("td");
			var a_category     = document.createElement("a");
			var a_content      = document.createElement("a");

			//create text node
			var txt_publish  = document.createTextNode(publish);
			var txt_category = document.createTextNode(title.split(" | ")[0]);
			var txt_content  = document.createTextNode(title.split(" | ")[1]);

			//set attribute
			day.className         = "day";
			category.className    = "category";
			content.className     = "content";
			a_category.href = link.replace(/[?&]fk=.*/,"");
			a_content.href = link.replace(/[?&]fk=.*/,"");
			if(target!=""){ a_category.target = target; a_content.target = target;}

			//set textNode
			day.appendChild(txt_publish);
			a_category.appendChild(txt_category);
			a_content.appendChild(txt_content);

			//addChild
			category.appendChild(a_category);
			content.appendChild(a_content);
			tr.appendChild(day);
			tr.appendChild(category);
			tr.appendChild(content);

			//tbody
			tbody.appendChild(tr);

			//count for nubmer
			cnt--;
			if(cnt===0){ return false; }
		}
	});
	return tbody;
}
/* error function */
function parse_error_tbody(area,message){
	$(area)[0].removeChild($(area)[0].getElementsByTagName("tbody")[0]);
	var tbody          = document.createElement("tbody");
	var tr             = document.createElement("tr");
	var td             = document.createElement("td");
	var txt_message = document.createTextNode(message);
	tr.className = "last";
	td.appendChild(txt_message);
	td.setAttribute("colspan","3");
	tr.appendChild(td);
	tbody.appendChild(tr);
	$(area)[0].appendChild(tbody);
}


/* xml parser common function */
function reformat(str){
	var objDate = new Date(str);
	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;
	return str;
}

function limit() {
	var today  = new Date();
	var year   = today.getFullYear();
	var month  = today.getMonth();
	var date   = today.getDate();
	month = month-1;
	var endDay = new Date(year, month, 0);
	if (date > endDay) date = endDay.getDate();
	var str = new Date(year, month, date);
	return str;
}

$(document).ready(
	function(){
		jQuery.ajax({
			url: '/rss/group/index.xml',
			type: 'GET',
			dataType: 'xml',
			cache: false,
			timeout: 20000,
			success:function(data){parse_xml_tbody("#message",data,"25");} ,
			error : function(){parse_error_tbody("#message","「資生堂グループニュース」のRSS読み込みに失敗しました。");}
		});
	}
);

