

var keys = new Array();

var cpg;

Spry.Data.Region.addObserver("newsregion", function(nType, notifier, data) {
	if (nType == "onPostUpdate")
	{
		cpg = new Spry.Widget.CollapsiblePanelGroup("CollapsiblePanelGroup1", { contentIsOpen: false });

		var data = decodeURIComponent(location.href);
		data = location.href.split("?")[1];
		if (data == null || data == "undefined") {
			return;
		}
		data = data.split("#")[0];
		if (data == null || data == "undefined") {
			return;
		}
		if (data.split("=")[0] == "newsdate") {
			data = decodeURIComponent(data.split("=")[1]);
			var arr = data.split("/");
			if (arr.length == 3) {
				setDateFilter(arr[0] + "/" + arr[1] + "/" + arr[2]);
				obj = document.getElementById("newsregion");
				y = obj.offsetTop;
				scrollTo(0,y); 
			}
		}

	}
});



var dsElem = new Spry.Data.XMLDataSet("data/userprop.xml", "UserData/Category", { subPaths: ["DetailData", "DetailData/Elem"] });
dsElem.setColumnType("DetailData/Elem", "html");

var myFilterKey = function(dataSet, row, rowNumber)
{
	if (row["DetailData/@Visible"] == "true" && row["DetailData/Elem/@KeyName"] == "物件名")
		return row;
	return null;
}
dsElem.filter(myFilterKey);

dsElem.addObserver({ onPostLoad: function() {
	var rows = dsElem.getData();

	for (var i = 0; i < rows.length; i++) {
		var row = rows[i];
		var keyCode = row["DetailData/@KeyCode"];
		var target = row["DetailData/Elem"];
		if (keys[target] == null) {
			keys[target] = keyCode;

		}
	}
}} );





var dsNews = new Spry.Data.XMLDataSet("./data/k01-001/news.xml", "UserData/Category/DetailData", { sortOnLoad: "@id", sortOrderOnLoad: "descending" });
dsNews.setColumnType("@id", "number");
dsNews.setColumnType("コメント", "html");

var myFilterNews = function(dataSet, row, rowNumber)
{
	if (row["@Visible"] == "true") {
		for (obj in keys) {
			var re = new RegExp(obj, "g");
			var rep = "<a href='./object_detail.html?keyCode=" + keys[obj] + "'>" + obj + "</a>";
			var str = row["コメント"].replace(re, rep);
			row["コメント"] = str;
		}
		return row;
	}
	return null;
}
dsNews.filter(myFilterNews);





var dsSwitch = new Spry.Data.XMLDataSet("./data/k01-001/news.xml", "UserData/Category/DetailData", { sortOnLoad: "日付", sortOrderOnLoad: "ascending" });

var myFilterSwitch = function(dataSet, row, rowNumber)
{
	if (row["@Visible"] == "true")
		return row;
	return null;
}
dsSwitch.filter(myFilterSwitch);

dsSwitch.addObserver({ onPostLoad: function() {
	var rows = dsSwitch.getData();
	var dates = new Array();

	for (var i = 0; i < rows.length; i++) {
		var row = rows[i];
		var datestr = "";
		var datearr = row["日付"].split("/");
		if (datearr.length == 3) {
			datestr = datearr[0] + "/" + datearr[1];
			if (dates[datestr] == null) dates[datestr] = datestr;
		}
	}
	var obj;
	var str = "<ul>";
	str += "<li><a href=JavaScript:resetDateFilter();>すべて</a></li>";
	for (obj in dates) {
		str += "<li><a href=JavaScript:setDateFilter('" + dates[obj] + "');>" + dates[obj] + "</a></li>";
	}
	str += "</ul>";

	document.getElementById("dynswitchnews").innerHTML = str;
}} );





function resetDateFilter() {
//	dsNews.filter(myFilterNews);
	cpg.openAllPanels();
}

function setDateFilter(dts) {
	var obj;
	var reg = new RegExp("^" + dts);
	var rows = dsNews.getData();

	cpg.closeAllPanels();

	for (var i = 0; i < rows.length; i++) {
		var row = rows[i];
		if (row["日付"].search(reg) != -1 && row["@Visible"] == "true") {
			cpg.openPanel(i);
		}
	}

}

