//-- initGroup
function initGroup() {
	$.ajaxSetup({
		timeout: 200000,
		cache: false,
		dataType: "json"
		//,
		//error: asynError
	});
	loading();
	var nowTime = new Date();
	$.post("/rss/asyngetgrouplist", {}, function(res) {
		if (res.error_no == 1) {
			notLogin();
		}
		var groupList = eval(res);
		var html = "";
		html += "<div class='menu_item' onmouseover='changeColorItem(this)' onmouseout='returnColorItem(this)'><table width='100%' cellpadding='0' border='0'><tr><td width='33'><img src='/img/_ico/rss_icon.gif' width='33' height='30' border='0' /></td><td><a id='add_rss' href='/rss/entryurl/' rel='/rss/entryurl/'><span class='menu_color'>新規RSSフィードの登録</span></a></td></tr></table></div>\n";
		html += "<div class='menu_item' onmouseover='changeColorItem(this)' onmouseout='returnColorItem(this)'><table width='100%' cellpadding='0' border='0'><tr><td width='33'><img src='/img/_ico/folder_icon_02.gif' width='33' height='30' border='0' /></td><td><a id='add_group' href='/rss/entrygroup/' rel='/rss/entrygroup/'><span class='menu_color'>新規グループの追加</span></a></td></tr></table></div>\n";
		if (!P_GROUP_NO && !P_SITE_NO) {
			html += "<div class='menu_item visiting'><table width='100%' cellpadding='0' border='0'><tr><td width='33'><img src='/img/_ico/folder_icon_04.gif' width='33' height='30' border='0' /></td><td><a href='/rss/'><span class='menu_color'>全ての記事</span></a></td></tr></table></div>\n";
		} else {
			html += "<div class='menu_item' onmouseover='changeColorItem(this)' onmouseout='returnColorItem(this)'><table width='100%' cellpadding='0' border='0'><tr><td width='33'><img src='/img/_ico/folder_icon_04.gif' width='33' height='30' border='0' /></td><td><a href='/rss/'><span class='menu_color'>全ての記事</span></a></td></tr></table></div>\n";
		}

		//----------------------------------------------------
		//--GROUP
		//----------------------------------------------------
		for(var i=0; i<groupList.length; i++) {
			var groupName = groupList[i].name;
			var groupNo = groupList[i].no;
			var closeFlg = groupList[i].close_flg;
			var status = groupList[i].status;
			if (P_GROUP_NO == groupNo) {
				html += "<ul id='" + GROUP_SERIALIZE + groupNo + "' class='group'>\n";
				html += "<table class='group_item visiting' cellpadding='0' cellspacing='0' border='0' onmouseover='viewGroupMenu(" + groupNo + ");' onmouseout='hideGroupMenu(" + groupNo + ");'>\n";
			} else {
				html += "<ul id='" + GROUP_SERIALIZE + groupNo + "' class='group'>\n";
				html += "<table class='group_item' cellpadding='0' cellspacing='0' border='0' onmouseover='changeColorItem(this); viewGroupMenu(" + groupNo + ");' onmouseout='returnColorItem(this); hideGroupMenu(" + groupNo + ");'>\n";
			}
			html += "<tr>\n";
			html += "<td class='group_item_img'><input type='hidden' id='" + OPEN_CLOSE_FLG + groupNo + "' value='" + closeFlg + "' /><input type='image' src='' width='15' height='30' border='0' id='" + GROUP_ICO_IMG + groupNo + "' onclick='openCloseGroup(" + groupNo + ")' /><img src='' width='18' height='30' border='0' id='" + GROUP_ICO_IMG_P + groupNo + "' /></td>\n";
			html += "<td class='group_item_name'><div class='group_handle'><a href='/rss/index/group_no/" + groupNo + "'><span id='" + CHG_GROUP + groupNo + "' class='group_name_style'>" + groupName + "</span></a></div></td>\n";
			html += "<td class='group_item_menu'><div id='" + GROUP_ITEM_MENU_ICO + groupNo + "' class='menu'><a id='" + GROUP_ITEM_MENU_LINK + groupNo + "' href='/rss/menu/group_no/" + groupNo + "' rel='/rss/menu/group_no/" + groupNo + "'><img src='" + IMG_ITEM_MENU_ICO + "' width='9' height='9' /></a></div></td>\n";
			html += "</tr>\n";
			html += "</table>\n";
			html += "<ol id='" + GROUP_NO + groupNo + "' class='" + SITE_LIST_SORTABLE + "'>\n";
			html += "<div class='spacer'></div>"; //FF
			html += "</ol>\n";
			html += "</ul>\n";
		}
		$("#" + GROUP_LIST).html(html);
		//sortable
		$("#" + GROUP_LIST).sortable(
				{
					items: 'ul',
					handle: '.group_item_name',
					revert: true,
					placeholder: 'ul_placeholder',
					stop: function() {
					},
					update: function() {
						//groupList更新
						updateGroupList();
					}
				}
		);
		//$("#" + GROUP_LIST).sortable('disable');
		$('#add_rss').cluetip({
			width: '263',
			activation: 'click',
			positionBy: 'mouse',
			showTitle: false,
			dropShadow:true,
			dropShadowSteps: '10',
			sticky: true,
			closePosition: 'bottom',
			cursor: 'auto',
			closeText: '閉じる'
		});
		//sortable
		$("." + SITE_LIST_SORTABLE).sortable(
			{
				connectWith: "." + SITE_LIST_SORTABLE,
				items: 'li',
				handle: '.site_item_name',
				revert: true,
				placeholder: 'li_placeholder',
				start: function() {
				},
				stop: function() {
					updateSiteList(groupList);
				}
			}
		);
		$('#add_group').cluetip({
			width: '263',
			activation: 'click',
			positionBy: 'mouse',
			showTitle: false,
			dropShadow:true,
			dropShadowSteps: '10',
			sticky: true,
			closePosition: 'bottom',
			cursor: 'auto',
			closeText: '閉じる'
		});
		for(var i=0; i<groupList.length; i++) {
			var groupNo = groupList[i].no;
			$('#' + GROUP_ITEM_MENU_LINK + groupNo).cluetip({
				width: '330',
				activation: 'click',
				positionBy: 'mouse',
				showTitle: false,
				dropShadow:true,
				ajaxCache: false,
				dropShadowSteps: '10',
				sticky: true,
				closePosition: 'bottom',
				cursor: 'auto',
				closeText: '閉じる'
			});
			//グループの開閉
			if ($("#" + OPEN_CLOSE_FLG + groupNo).val() == 0) {
				$("#" + GROUP_NO + groupNo + ">li").show();
				document.getElementById(GROUP_ICO_IMG + groupNo).src = IMG_OPEN_ICO;
				document.getElementById(GROUP_ICO_IMG_P + groupNo).src = IMG_OPEN_ICO_P;
			} else {
				$("#" + GROUP_NO + groupNo + ">li").hide();
				document.getElementById(GROUP_ICO_IMG + groupNo).src = IMG_CLOSE_ICO;
				document.getElementById(GROUP_ICO_IMG_P + groupNo).src = IMG_CLOSE_ICO_P;
			}
		}
		for(var i=0; i<groupList.length; i++) {
			var groupNo = groupList[i].no;
			if ($("#" + OPEN_CLOSE_FLG + groupNo).val() == 0) {
				viewSiteList(groupNo);
			}
		}
		$(".menu").hide();
		endLoading();
	});
}

//--
//サイトリストを表示します
//@parm groupNo
//@return innerHtml
//--
function viewSiteList(groupNo) {
	$.ajaxSetup({
		timeout: 200000,
		cache: false,
		dataType: "json"
		//,
		//error: asynError
	});
	$.post("/rss/asyngetashiatositelist", {"group_no":groupNo}, function(res) {
		var siteList = eval(res);
		var html = "<div class='spacer'></div>";	//FF対応
		for(var j=0; j<siteList.length; j++) {
			var siteNo = siteList[j].no;
			var siteTitle = siteList[j].title;
			var siteName = siteList[j].site_name;
			var memberName = siteList[j].ashiato_member_name;
			var memberId = siteList[j].ashiato_member_id;
			var tmpSiteTitleOrName = "";
			if (siteName == "" || siteName == null) {
				tmpSiteTitleOrName = siteTitle;
				if (tmpSiteTitleOrName == "") {
					tmpSiteTitleOrName = "[タイトル未設定]";
				}
				siteTitle = tmpSiteTitleOrName;
			} else {
				siteTitle = siteName;
			}
			//site名
			if (P_SITE_NO == siteNo) {
				html += "<li id='" + SITE_NO + siteNo + "' class='site_item visiting'>";
				html += "<table class='group_item' cellpadding='0' cellspacing='0' border='0' onmouseover='viewSiteMenu(" + siteNo + ");' onmouseout='hideSiteMenu(" + siteNo + ");'>\n";
			} else {
				html += "<li id='" + SITE_NO + siteNo + "' class='site_item' onmouseover='changeColorItem(this)' onmouseout='returnColorItem(this)'>";
				html += "<table class='group_item' cellpadding='0' cellspacing='0' border='0' onmouseover='changeColorItem(this); viewSiteMenu(" + siteNo + ");' onmouseout='returnColorItem(this); hideSiteMenu(" + siteNo + ");'>\n";
			}
			html += "<tr>\n";
			if (memberName) {
				html += "<td class='site_item_name'><a href='/rss/index/site_no/" + siteNo + "'><span id='" + CHG_SITE + siteNo + "' class='site_color'>・ " + siteTitle + "</span></a> （<span class='member_name'>" + memberName + "</span>さん）</td>";
			} else {
				html += "<td class='site_item_name'><a href='/rss/index/site_no/" + siteNo + "'><span id='" + CHG_SITE + siteNo + "' class='site_color'>・ " + siteTitle + "</span></a></td>";
			}
			html += "<td class='site_item_menu'><div class='menu' id='" + SITE_ITEM_MENU_ICO + siteNo + "'><a id='" + SITE_ITEM_MENU_LINK + siteNo + "' href='/rss/menu/site_no/" + siteNo + "' rel='/rss/menu/site_no/" + siteNo + "'><img alt='a' src='" + IMG_ITEM_MENU_ICO + "' width='9' height='9' /></a></div></td>\n";
			html += "</tr>\n";
			html += "</table>\n";
			html += "</li>\n";
		}
		$("#" + GROUP_NO + groupNo).html(html);
		for(var j=0; j<siteList.length; j++) {
			var siteNo = siteList[j].no;
			$('#' + SITE_ITEM_MENU_LINK + siteNo).cluetip({
				width: '330',
				activation: 'click',
				positionBy: 'mouse',
				showTitle: false,
				dropShadow:true,
				ajaxCache: false,
				dropShadowSteps: '10',
				sticky: true,
				closePosition: 'bottom',
				cursor: 'auto',
				closeText: '閉じる'
			});
		}
		$(".menu").hide();
	});
}

//GroupListソート更新
function updateGroupList() {
	$.ajaxSetup({
		timeout: 10000,
		cache: false,
		dataType: "json",
		error: asynError
	});
	loading();
	var sortGroupList = $("#" + GROUP_LIST).sortable('serialize', {key:'group_list[]'});
	$.post("/rss/asynupdatesortbgrouplist", sortGroupList, function(res) {
		if (res.error_message) {
			alert(res.error_message);
			endLoading();
		} else {
			endLoading();
		}
	});
}

//SiteListソート更新
function updateSiteList(groupList) {
	$.ajaxSetup({
		timeout: 10000,
		cache: false,
		dataType: "json",
		error: asynError
	});
	loading();
	var sortItemList = new Array();
	for(var i=0; i<groupList.length; i++) {
		var groupNo = groupList[i].no;
		if ($("#" + OPEN_CLOSE_FLG + groupNo).val() == 1) {
			$("#" + GROUP_NO + groupNo + ">li").hide();
		}
		var sortItemListTmp = $("#" + GROUP_NO + groupNo).sortable('serialize', {key:'item_list_' + groupNo + '[]'});
		if (sortItemListTmp == "") {
			sortItemList += 'item_list_' + groupNo + '[]=0';
		}
		sortItemList += sortItemListTmp + "&";
	}
	$.post("/rss/asynupdatesortbsitelist", sortItemList, function(res) {
		if (res.error_message) {
			alert(res.error_message);
			endLoading();
		} else {
			endLoading();
		}
	});
}

function submitGroup(){
	$.ajaxSetup({
		timeout: 10000,
		cache: false,
		dataType: "json",
		error: asynError
	});
	loading();
	$("#ajax_loader").show();
	var groupName = $("#new_group").val();
	var groupNameUUrl = encodeURIComponent(groupName);
	$.post("/rss/asyninsertgroup", {"group_name":groupNameUUrl}, function(res) {
		if (res.error_message) {
			$("#ajax_loader").hide();
			alert(res.error_message);
			endLoading();
		} else {
			$('#cluetip-outer').parent().hide().removeClass();
			reflesh();
			$("#ajax_loader").hide();
			endLoading();
		}
	});
}

function submitUrl(){
	$.ajaxSetup({
		timeout: 10000,
		cache: false,
		dataType: "json",
		error: asynUrlInsertError
	});
	loading();
	$("#ajax_loader").show();
	var url = $("#new_url").val();
	var urlUUrl = encodeURIComponent(url);
	if (P_GROUP_NO) {
		var params = {
				url: urlUUrl,
				group_no: P_GROUP_NO
		};
	} else {
		var params = {
				url: urlUUrl
		};
	}
	$.post("/rss/asyninserturl", params, function(res) {
		if (res.error_message) {
			$("#ajax_loader").hide();
			alert(res.error_message);
			endLoading();
		} else {
			$('#cluetip-outer').parent().hide().removeClass();
			reflesh();
			$("#ajax_loader").hide();
			endLoading();
		}
	});
}

function editGroup() {
	$.ajaxSetup({
		timeout: 10000,
		cache: false,
		dataType: "json",
		error: asynError
	});
	loading();
	var groupNo = $("#group_no").val();
	var groupName = $("#group_name").val();
	var groupNameUUrl = encodeURIComponent(groupName);
	$.post("/rss/asyneditgroup/", {"group_no":groupNo, "group_name":groupNameUUrl}, function(res) {
		if (res.error_no != 0) {
			alert(res.error_message);
			endLoading();
		} else {
			$("#" + CHG_GROUP + groupNo).html(res.return_str);
			$("#group_name").val(res.return_str);
			$('#cluetip-outer').parent().hide().removeClass();
			endLoading();
		}
	});
}

function delGroup() {
	$.ajaxSetup({
		timeout: 10000,
		cache: false,
		dataType: "json",
		error: asynError
	});
	loading();
	var groupNo = $("#group_no").val();
	$.post("/rss/asyndelgroup/", {"group_no":groupNo}, function(res) {
		if (res.error_no != 0) {
			alert(res.error_message);
			endLoading();
		} else {
			$("#" + GROUP_SERIALIZE + groupNo).remove();
			$('#cluetip-outer').parent().hide().removeClass();
			endLoading();
		}
	});

}

function editSite() {
	$.ajaxSetup({
		timeout: 10000,
		cache: false,
		dataType: "json",
		error: asynError
	});
	loading();
	var siteNo = $("#site_no").val();
	var siteName = $("#site_name").val();
	var siteNameUUrl = encodeURIComponent(siteName);
	$.post("/rss/asyneditsite/", {"site_no":siteNo, "site_name":siteNameUUrl}, function(res) {
		if (res.error_no != 0) {
			alert(res.error_message);
			endLoading();
		} else {
			$("#" + CHG_SITE + siteNo).html("・ " + res.return_str);
			$("#site_name").val(res.return_str);
			$('#cluetip-outer').parent().hide().removeClass();
			endLoading();
		}
	});
}

function delSite() {
	$.ajaxSetup({
		timeout: 10000,
		cache: false,
		dataType: "json",
		error: asynError
	});
	loading();
	var siteNo = $("#site_no").val();
	$.post("/rss/asyndelsite/", {"site_no":siteNo}, function(res) {
		if (res.error_no != 0) {
			alert(res.error_message);
			endLoading();
		} else {
			$("#" + SITE_NO + siteNo).remove();
			$('#cluetip-outer').parent().hide().removeClass();
			endLoading();
		}
	});
}

//再描画
function reflesh() {
	initGroup();
}
