// iNum, dcinside 070507


function BasketManager(_cName, _AJC){

	var cName;
	var AJC;


	var divMain = GEID('basketDiv');
	var divCont = GEID('basketContentList');
	var divPage = GEID('basket_pagingDiv');

	var writeEditor = GEID("edit_buts");

	var dObj;
	var stat = {
		mainOpen : false
	};

	var subjectObj;
	var writeEditorObj;
	var editorObj;

	if(chkN(_cName) || chkN(_AJC)) return errorStr("클래스 변수명 또는 AJAX 클래스가 입력되지 않았습니다.");
	else{
		AJC = _AJC;
		cName = _cName;
	}

	var pageAtt = {
		maxList : BASKET_MAXPAGE,
		maxPage : BASKET_MAXLIST,
		currPage : 1,
		total : BASKET_TOTAL
	};
	
	this.getBasketList = function (page){
		if(stat.mainOpen && page == null) {
			disOff(divMain);
			stat.mainOpen = false;
			return;
		}else{
			disOn(divMain);
			stat.mainOpen = true;
			pageAtt.currPage = page;
		}
		
		if(page==null) page = 1;

		var query = [];
		query[query.length] = {name:"gid", value:G_ID};
		query[query.length] = {name:"mode", value:"BAS_LIST"};
		query[query.length] = {name:"page", value:page};
		AJC.getAHAHData("/ajdb.php", function(){eval(cName + ".receive_getBasketList();");  }, query);		
	}

	this.receive_getBasketList = function(){
		dObj = convertFunc(AJC.getAHAH());
		if(dObj == null) return ajaxError(1);
		var strB = [];
		strB[strB.length] = "<table cellpadding=0 cellspacing=0 width=100%>";
		for(var i = 0 ; i < dObj.data.length ; i++ ){
			dObj.data[i].subject = URLdecode(dObj.data[i].subject, "URI");
			dObj.data[i].memo = URLdecode(dObj.data[i].memo, "URI");
			strB[strB.length] = "<tr><td width=20 valign=middle align=right>"+dObj.data[i].no+"</td><td valign=middle align=LEFT>&nbsp;&nbsp;" 
									+ "<span style='cursor:pointer;' onClick='"+cName+".selBasket("+i+");' >"+subStrKor(del_html_js(dObj.data[i].subject),25, "...") + "</span></td><td width=80 valign=middle align=center>" + subStrKor(dObj.data[i].write_time,10) + "</td><tr>" 
									+  "<td height='1' colspan='3' background='"+C_URL.image+"/bg_01.gif'></td></tr></tr>";
		}
		strB[strB.length] = "</table>";

		divCont.innerHTML = strB.join("");
		//pageNavi(cPage, aCount, maxLen, viewPageNum, methodName){
		divPage.innerHTML = pageNavi(pageAtt.currPage, pageAtt.total, pageAtt.maxList, pageAtt.maxPage, cName+".getBasketList" );

		
	}

	this.selBasket = function(idx){
		//GEID('subject').value = dObj.data[idx].subject;
		if(subjectObj == null || editorObj == null || writeEditorObj == null) return errorStr("글바구니 관련 오브젝트가 선언되지 않았습니다");

		subjectObj.value = dObj.data[idx].subject;
		if(writeEditorObj.style.display=="none") {
			disOn(writeEditorObj);
			//changeMode();
				//->	//toggle(document.getElementById("edit_buts"));
					//editor.toggle();
			
			editorObj.toggle();
		}
		editorObj.contentDocument.body.innerHTML = dObj.data[idx].memo;
	}

	this.setObject = function(subObj, edtObj, wrtEdtObj){
		//alert("!");
		if(subObj == null || edtObj == null || wrtEdtObj == null) return;

		subjectObj = subObj;
		editorObj = edtObj;
		writeEditorObj = wrtEdtObj;
	}


}
