/* 내 단어장 */
function doWordSearch()
{
	var txtEntry = g('txtEntry').value.toString().trim();

	if (txtEntry == "")
	{
		alert("검색할 단어를 입력 후, 버튼을 누르세요.");
		g('txtEntry').focus();
		return ;
	}

	var oForm = new AnonymForm({
		action:gSelf,
		method:"GET"
	});

	oForm.setValue('action', 'DoSearch');
	oForm.setValue('entry', txtEntry);
	oForm.setValue('returnURL', gSelf + '?' + gQueryString);

	oForm.submit();
}

function playWordSound(langCode, word, sound_url)
{
	if (sound_url != "")
	{
		playSound(sound_url);
	}
	else
	{
		switch (langCode.toLowerCase())
		{
			case "en":
				gTTS.playEn(word);
				break;
			case "cn":
				gTTS.playCn(word);
				break;
		}
	}
}

function checkMakeMyWordbook(oForm)
{
	var title = oForm.title.value.trim();

	if (title == "")
	{
		alert("단어장 이름을 입력하세요.");
		oForm.title.focus();
		return false;
	}

	if (title.length > 15)
	{
		alert("단어장 이름은 최대 15글자까지 입력할 수 있습니다.\n\n15글자를 초과 입력하셨습니다.");
		oForm.title.focus();
		return false;
	}

	return true;
}

function saveToMyWordbook(voca_id)
{
	if (!isLogined)
	{
		alert('회원 로그인 후, 선택 단어 내 단어장으로 보내기를 하실 수 있습니다.');
		return false;
	}

	var arrWords = getCheckboxValues('chkSelection');

	if (arrWords.length < 1)
	{
		alert("단어장으로 보낼 단어를 선택 후, 버튼을 누르세요.");
		return ;
	}

	var voca_mywordbook_id = selectedValue(g('voca_mywordbook_id'));

	if (voca_mywordbook_id == "")
	{
		alert("저장할 내 단어장을 선택 후, 버튼을 누르세요.");
		return ;
	}

	var oForm = {
					action:'SaveToMyWordbook',
					voca_mywordbook_id:voca_mywordbook_id,
					voca_id:voca_id
				};

	for (var i = 0;  i < arrWords.length ; i++)
	{
		oForm['voca_word_id[' + i + ']'] = arrWords[i];
	}

	sendXmlHttpRequest(gSelf, oForm, function(oHttp)
		{
			alert(oHttp.responseText);
			reloadList();
		});

}


function moveToMyWordbook(org_voca_mywordbook_id)
{
	var arrWords = getCheckboxValues('chkSelection');

	if (arrWords.length < 1)
	{
		alert("이동될 단어를 선택 후, 버튼을 누르세요.");
		return ;
	}

	var tar_voca_mywordbook_id = selectedValue(g('voca_mywordbook_id'));

	if (tar_voca_mywordbook_id == "")
	{
		alert("이동되는 단어가 저장될 내 단어장을 선택 후, 버튼을 누르세요.");
		return ;
	}

	var oForm = {
					action:'MoveToMyWordbook',
					org_voca_mywordbook_id:org_voca_mywordbook_id,
					tar_voca_mywordbook_id:tar_voca_mywordbook_id
				};

	for (var i = 0;  i < arrWords.length ; i++)
	{
		oForm['voca_mywordbook_entry_id[' + i + ']'] = arrWords[i];
	}

	sendXmlHttpRequest(gSelf, oForm, function(oHttp)
		{
			alert(oHttp.responseText);
			location.href = gSelf + '?' + gQueryString ;
		});

}

function copyToMyWordbook(org_voca_mywordbook_id)
{
	var arrWords = getCheckboxValues('chkSelection');

	if (arrWords.length < 1)
	{
		alert("복사될 단어를 선택 후, 버튼을 누르세요.");
		return ;
	}

	var tar_voca_mywordbook_id = selectedValue(g('voca_mywordbook_id'));

	if (tar_voca_mywordbook_id == "")
	{
		alert("복사될 단어가 저장될 내 단어장을 선택 후, 버튼을 누르세요.");
		return ;
	}

	var oForm = {
					action:'CopyToMyWordbook',
					org_voca_mywordbook_id:org_voca_mywordbook_id,
					tar_voca_mywordbook_id:tar_voca_mywordbook_id
				};

	for (var i = 0;  i < arrWords.length ; i++)
	{
		oForm['voca_mywordbook_entry_id[' + i + ']'] = arrWords[i];
	}

	sendXmlHttpRequest(gSelf, oForm, function(oHttp)
		{
			alert(oHttp.responseText);
			location.href = gSelf + '?' + gQueryString ;
		});
}

function deleteFromMyWordbook(voca_mywordbook_id)
{
	var arrWords = getCheckboxValues('chkSelection');

	if (arrWords.length < 1)
	{
		alert("삭제될 단어를 선택 후, 버튼을 누르세요.");
		return ;
	}

	var oForm = {
					action:'DeleteFromMyWordbook',
					voca_mywordbook_id:voca_mywordbook_id
				};

	for (var i = 0;  i < arrWords.length ; i++)
	{
		oForm['voca_mywordbook_entry_id[' + i + ']'] = arrWords[i];
	}

	sendXmlHttpRequest(gSelf, oForm, function(oHttp)
		{
			alert(oHttp.responseText);
			location.href = gSelf + '?' + gQueryString ;
		});
}

function removeFromMyWordbook(voca_mywordbook_id, voca_mywordbook_entry_id)
{
	if (confirm("선택 단어를 단어장에서 삭제하시겠습니까?") == false)
		return false;

	var page = document.forms['pageForm'].page.value;
	
	gPageNo = page;

	ajax.action(gSelf);
	ajax.clearValue();
	ajax.setValueFromObject({
			action:'RemoveFromMyWordbook',
			voca_mywordbook_id:voca_mywordbook_id,
			voca_mywordbook_entry_id:voca_mywordbook_entry_id,
			page:page,
			pageView:document.forms['pageForm'].pageView.value
		}); // form 값

	ajax.call("wordList",false,resetWordcast,{page:page}); // 결과 처리 후, 화면 갱신이 이뤄질 AJAX ID
}

function removeFromMyWordbookByList(voca_id, voca_word_id)
{
	if (confirm("선택 단어를 단어장에서 삭제하시겠습니까?") == false)
		return false;

	var page = document.forms['pageForm'].page.value;

	gPageNo = page;

	ajax.action(gSelf);
	ajax.clearValue();
	ajax.setValueFromObject({
			action:'RemoveFromMyWordbookByList',
			voca_id:voca_id,
			voca_word_id:voca_word_id,
			page:page,
			pageView:document.forms['pageForm'].pageView.value
		}); // form 값

	ajax.call("wordList",false,resetWordcast,{page:page}); // 결과 처리 후, 화면 갱신이 이뤄질 AJAX ID
}


function reloadList(page)
{
	var oForm = parse_str(gQueryString);

	ajax.action(gSelf);
	ajax.clearValue();

	oForm['isAjaxCall'] = 1;

	if (page != undefined)
		oForm['page'] = page;
	else
		var page = document.forms['pageForm'].page.value;

	gPageNo = page;

	gQueryString = oForm.toQueryString();

	ajax.setValueFromObject(oForm);

	ajax.call("wordList",false,resetWordcast,{page:page}); // 결과 처리 후, 화면 갱신이 이뤄질 AJAX ID
}

function resetWordcast(oXml,oArg)
{
	var page = oArg.page;

	if (document.forms['pageForm'].voca_mywordbook_id)
	{
		var voca_mywordbook_id = document.forms['pageForm'].voca_mywordbook_id.value;
		var url = gURL_root + '/api/GET/voca.mywordbook.entry?voca_mywordbook_id=' + voca_mywordbook_id + '&page=' + page + '&pageView=20';
	}
	else if (document.forms['pageForm'].tab_id && document.forms['pageForm'].tab_id == "chronic")
	{
		var url = gURL_root + '/api/GET/voca.mywordbook.chronic?page=' + page + '&pageView=20';
	}
	else
	{
		var voca_id = document.forms['pageForm'].voca_id.value;
		var url = gURL_root + '/api/GET/voca.word.list?voca_id=' + voca_id + '&page=' + page + '&pageView=20';
	}

	if (g('_wordcast'))
		g('_wordcast').resetXmlPath(url);

	setTimeout(function()
	{
		setBlur();
	}, 100);
}

function PageMoveViaAjax(pageFormName, pageNo)
{
	cancelDivConfirm();
	reloadList(pageNo);
}

/* 별표를 눌러 단어 저장하기 */
function saveToMyWordbookByList(voca_id, voca_word_id, oSelf)
{
	if (!isLogined)
	{
		alert('로그인 후, 내 단어장에 단어를 저장할 수 있습니다.');
		return ;
	}

	var _this = this;

	if (_this.arrRecord != undefined)
	{
		showMyWordbookSelectionLayer(voca_id, voca_word_id, oSelf, _this.arrRecord);
	}
	else
	{
		// 사용자의 단어집 정보를 획득합니다.
		sendXmlHttpRequest(gURL_root + "/api/GET/voca.mywordbook", {}, function(oHttp)
			{
				_this.arrRecord = oHttp.responseXML.selectNodes("/response/data/record");
				showMyWordbookSelectionLayer(voca_id, voca_word_id, oSelf, _this.arrRecord);
			});
	}
}

function showMyWordbookSelectionLayer(voca_id, voca_word_id, oSelf, arrRecord)
{
	// 단어집 선택 confirm 레이어 띄움
	var html = [];

	html.push('<img src="' + gImg_root + '/icon/ico_pocket.gif" alt="" /> 단어를 추가할 내 단어장을 선택하세요.<br /><br />');
	html.push('<select id="confirm_voca_mywordbook_id">');
	html.push('<option value="">(선택하세요)</option>');
	for (var i = 0; i < arrRecord.length ; i++ )
	{
		html.push('<option value="' + arrRecord[i].getAttribute('voca_mywordbook_id') + '">' + arrRecord[i].getAttribute('title') + '</option>');
	}
	html.push('</select>&#160;');
	html.push('<button type="button" class="btn" onclick="javascript:doSaveToMyWordbookByList(' + voca_id + ',' + voca_word_id + ');">');
	html.push('<span><b>확인</b></span></button>');
	html.push('<button type="button" class="btn" onclick="javascript:cancelDivConfirm();"><span><b>취소</b></span></button>');

	createDivConfirm(oSelf, html.join(''));
}

function doSaveToMyWordbookByList(voca_id, voca_word_id)
{
	var voca_mywordbook_id = selectedValue(g('confirm_voca_mywordbook_id'));

	if (voca_mywordbook_id == "" || voca_mywordbook_id == null)
	{
		alert("단어를 저장할 내 단어장을 선택하세요.");
		g('confirm_voca_mywordbook_id').focus();
		return ;
	}

	sendXmlHttpRequest(gSelf, {
			action:'saveToMyWordbookByList',
			voca_id:voca_id,
			voca_word_id:voca_word_id,
			voca_mywordbook_id:voca_mywordbook_id
		}, function(oHttp)
		{
			var msg = oHttp.responseText;

			/*if (msg.indexOf("SUCCESS::") > -1)
				alert(msg.substr("SUCCESS::".length));
			else
				alert(msg.substr("ERROR::".length));
			*/
			if (msg.indexOf("SUCCESS::") == -1)
				alert(msg.substr("ERROR::".length));

			cancelDivConfirm();
			reloadList();
		});

}

function doRunActionVoca(voca_id)
{
	var url = gSelf + "?action=ShowActionVoca&voca_id=" + voca_id + "&page=" + gPageNo;
	showPopup(url, "actVocaWnd", 900, 660, false, false);
}

function doRunActionVocaByMyWordbook(voca_mywordbook_id)
{
	var url = gSelf + "?action=ShowActionVoca&voca_mywordbook_id=" + voca_mywordbook_id;
	showPopup(url, "actVocaWnd", 900, 660, false, false);
}

