﻿/**
 * @author hyunts
 */
 
var win;
var maxImgWidth=550;
function resizeImage(img) {
	if(img.width > maxImgWidth) {
		img.width = maxImgWidth;
	}
}



function popView(imgUrl) {
	window.open("/common/viewImage?imageUrl="+imgUrl, "popView", "width=400, height=300, scrollbars=yes")
}

var gSubmitcount = 0;
var attachFileList = null;
var isImageAttach = false;

function checkImageAttach() {
	if(!isImageAttach) {
		alert('이미지를 첨부해주세요.');
		return false;
	}
	return true;
}
 
function checkCategorySubmit() {	
	var frm = document.articleForm;
	var tmp=0;

	for(var i=0;i<frm.category.length;i++){	
		if(i > 0 && frm.category[i].selected == true){
			tmp++;
		}
	}
	
	frm.category.disabled = false;
	
	if(tmp > 0) {
		return true;
	}else {
		
		alert('게시물 분류를 선택해주세요.');
		return false;
	}	
}


function CheckConfirmSubmit() {
	
	try {	 	
		/*if (gSubmitcount > 0)
			return false;*/
		gSubmitcount++;
	 
		document.getElementById('content').value = EditContent();
		if(attachFileList != null) {
			var thumbnailSet = false;
			for ( idx=0; idx < attachFileList.length; ++idx ) {
				var fileinfo = attachFileList[idx];
				if(!thumbnailSet 
					&& htmlEditor.document.body.innerHTML.indexOf(fileinfo.id) > -1) {
					document.getElementById('thumbnailFileID').value = fileinfo.id;
					thumbnailSet = true;
				}
			}
		}
		
		if(document.getElementById('title').value == null ||
			document.getElementById('title').value.trim() == '') {
			alert('제목을 입력해 주세요.');
			document.getElementById('title').focus();
			return false;
		}
		if(document.getElementById('content').value == null ||
			document.getElementById('content').value.trim() == '') {
			alert('내용을 입력해 주세요.');
			htmlEditor.focus();
			return false;
		}
		return true;
	}
	catch (e) {
		alert('예기치 않은 오류가 발생했습니다.\n 메시지:'+e.message);
		return false;
	}
}

function OnImageUploaded() {
	setImageInfo();
}
function setImageInfo() {
	new Ajax.Request("TokenFileInfo", {method:'post',parameters:'token='+parent.document.all.token.value, onComplete: ajax_fileinfo});
}

function ajax_fileinfo(request) {		
	try {
		attachFileList = eval(request.responseText);
		var thumbnailSet = false;

		for ( idx=0; idx < attachFileList.length; ++idx ) {
			var fileinfo = attachFileList[idx];
			if(fileinfo.name.indexOf('_t') == -1 &&
				document.getElementById('attachmentList').innerHTML.indexOf(fileinfo.name) == -1 ) {
				var html = "<div class='attachment'>"+fileinfo.name+" ("+fileinfo.size+" bytes)</div>";
				document.getElementById('attachmentList').innerHTML += html;
				insertImage(fileinfo.fileURL);
			}
			if(!thumbnailSet 
				&& htmlEditor.document.body.innerHTML.indexOf(fileinfo.id) > -1) {
				document.getElementById('thumbnailFileID').value = fileinfo.id;
				thumbnailSet = true;
			}
			
			isImageAttach = true;
		}
	} catch(e) {
		alert(e.description);
	}
}

function addPoll() {
	window.open("makepoll", "poll", "width=400,height=400,toolbar=no,location=no,status=yes,menubar=no,top=10,left=50,scrollbars=yes,resizable=no");
}

function delPoll() {
	document.articleForm.poll_titles.value = null;
	document.articleForm.poll_answers.value = null;
	document.articleForm.poll_answerCount.value = "";
	document.all.btnDelPoll.style.display = "none";
	document.all.btnPoll.style.display = "inline";
	
}


function checkCommentLogin() {

	try {
		if(req.responseText != 'true') {
			alert('덧글을 남기시려면 로그인을 해주세요.');
			goUrl(ncweb_login + "?return_url=" + escape(window.location) + "&site_id=0");
			return;
		}
	} catch(e) {
		if(req.readyState == 4 && req.status == 200) 
			alert('예기치 않은 오류가 발생했습니다.\n 메시지:'+e.message);
	}
}


var gCommentSubmitcount = 0;
function checkComment() {
	try {
		if (gCommentSubmitcount > 0)
			return false;
		if(req.responseText != 'true') {
			alert('덧글을 남기시려면 로그인을 해주세요.');
			//location.reload();
			goUrl(ncweb_login + "?return_url=" + escape(window.location) + "&site_id=0");
			return;
		}
		var content = document.getElementById('content');
		if(content == null || content.value.trim() == '') {
			alert('덧글을 입력해 주세요.');
			content.focus();
			return;
		}
		if(content.value.length > 300) {
			alert('덧글은 300자까지만 가능합니다.');
			content.value = content.value.substring(0,1000);
			content.focus();
			return;
		}
		if(content.value.length < 2) {
			alert('덧글은 2자 이상 입력해야합니다.');
			content.focus();
			return;
		}
		gCommentSubmitcount++;

		document.getElementById('WriteComment').action = "writeComment";
		document.getElementById('WriteComment').submit();
		

	}
	catch(e) {
		if(req.readyState == 4 && req.status == 200) 
			alert('예기치 않은 오류가 발생했습니다.\n 메시지:'+e.message);
	}
}

function deleteComment(articleID, idx, subIdx) {
	if(confirm('덧글을 삭제하시겠습니까?')) {
		location.href = 'deleteComment?articleID='+articleID+'&idx='+idx+'&subidx='+subIdx+'&queryString=articleID%3D'+articleID;
	}
}

function deleteArticle(articleID) {
	if(confirm('글을 삭제하시겠습니까?')) {
		location.href = 'deleteArticle?articleID='+articleID;
	}
}

function getXMLHttpRequest() {
	return Try.these(
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},
      function() {return new ActiveXObject('Microsoft.XMLHTTP')},
      function() {return new XMLHttpRequest()}
    ) || false;
}
var req = null;
function checkLogin(funcName) {
/*	req = null;
	req = getXMLHttpRequest();
	req.open("GET","/common/inc/loginCheck",true);
	req.onreadystatechange = eval(funcName);
	req.send(null);
*/
	new Ajax.Request(	"/common/inc/loginCheck", {	
					method:'get',
					encoding: 'UTF-8',
					onComplete: function(result) {
						req = result;
						eval(funcName+'()');
					},
					onFailure: function() {	alert("로그인여부 호출에 실패했습니다.");	}
											}
			);	// end of Ajax.Request()
}
var req2 = null;
function checkPoll() {
	if(req.readyState == 4 && req.status == 200) {
		try {
			if(req.responseText != 'true') {
				alert('시간이 경과되어 로그아웃되었습니다.\n로그인을 다시 해주세요.');
				location.reload();
				return;
			}
			var answers = document.getElementsByName('answerID');
			var isSelected = false;
			var answerID = null;
			var pollID = document.getElementById('pollID').value;
			for(i=0; i<answers.length; i++) {
				if(answers[i].checked) {
					isSelected = true;
					answerID = answers[i].value;
				}
			}
			if(!isSelected) {
				alert('투표의 답변을 선택해 주세요.');
				return;
			}
			req2 = null;
			req2 = getXMLHttpRequest();
			req2.open("GET","/community/discussion/Poll?pollID="+pollID+"&answerID="+answerID,true);
			req2.onreadystatechange = completePollVote;
			req2.send(null);
		}
		catch(e) {
			alert('예기치 않은 오류가 발생했습니다.\n 메시지:'+e.message);
		}
	}
}

function completePollVote() {
	if(req2.readyState == 4 && req2.status == 200) {
		var result = eval(req2.responseText);
		if(result == 0) {
			alert('이미 투표에 참여하셨습니다.');
		}
		else if(result == -1) {
			alert('진행중이지 않은 토론입니다.');
		}
		else if(result == 1) {
			alert('투표 참여가 완료되었습니다.');
		}
	}
	else if(req.readyState == 4 && req.status == 200 && req.responseText == '') {
		alert('예기치 않은 오류가 발생했습니다.');
		location.reload();
	}
	
}







function checkCommentForOneLine() {
	try {
		if (gCommentSubmitcount > 0)
			return false;
		if(req.responseText != 'true') {
			alert('로그인 후 이용하실 수 있습니다.2');
			location.reload();
			return;
		}
		var content = document.getElementById('content');
		if(content == null || content.value.trim() == '') {
			alert('펀치한마디를 입력해 주세요.');
			content.focus();
			return;
		}
		if(content.value.length > 1000) {
			alert('덧글은 1000자까지만 가능합니다.');
			content.value = content.value.substring(0,1000);
			content.focus();
			return;
		}
		if(content.value.length < 2) {
			alert('펀치한마디는 2자 이상 입력해야합니다.');
			content.focus();
			return;
		}
		gCommentSubmitcount++;

		document.getElementById('WriteComment').action = "writeComment";
		document.getElementById('WriteComment').submit();

	}
	catch(e) {
		if(req.readyState == 4 && req.status == 200) 
			alert('예기치 않은 오류가 발생했습니다.\n 메시지:'+e.message);
	}
}


function deleteCommentForOneLine(articleID, idx, subIdx) {
	if(confirm('펀치한마디를 삭제하시겠습니까?')) {
		location.href = 'deleteComment?articleID='+articleID+'&idx='+idx+'&subidx='+subIdx+'&queryString=articleID%3D'+articleID;
	}
}

function checkSpecialChar(searchKeyword){ 
	var reg = new RegExp("^[^\x00-\x1f\x21-\x26\x28-\x2d\x2f-\x40\x5b-\x60\x7b-\xff]+$", "ig");
	if (!reg.test(searchKeyword)) {
		alert("특수문자를 검색어로 사용할 수 없습니다.");
		return false;
	}
}
				
/*function checkSpecialChar(word){ var reg = new RegExp("^[^\x00-\x1f\x21-\x26\x28-\x2d\x2f-\x40\x5b-\x60\x7b-\xff]+$", "ig");	if (!reg.test(word)) {return false;} }*/


