﻿// 현재창을 닫고 false를 리턴한다.
function W_Close()
{
	this.close();
	return false;
}

// 옵션에 따라서 새창을 Open
function NB_ClientWinOpen(sUrl, sName, sOpt)
{
	window.open (sUrl, sName, sOpt);
	return;
}

// 투표를 실행하는 새창
function NB_DoVote(bno, bidx, revote)
{
	var sVoteItem = document.forms[0].NBVoteItemSelect;
	var sSelValue = "";
	
	for (i=0; i < sVoteItem.length; i++)
	{
		if (sVoteItem[i].checked)
		{
			sSelValue = sVoteItem[i].value;
		}
	}
	
	if (trim(sSelValue) == "")
	{
		alert ("투표할 항목을 선택해 주세요.");
		return;
	}
	
	var sUrl = "Common/NBVoteChk.aspx?bno=" + bno + "&bidx=" + bidx + "&voteidx=" + sSelValue + "&revote=" + revote;	
	
	NB_ClientWinOpen (sUrl, "NBVoteWin", "width=300, height=250");
	return;
}


// 이메일 형식 유효성 검사
function valid_email(email)
{
	if(trim(email) == "")
		return false;
		
	if(email.match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+([\.][a-z0-9]+)+$") == null)
		return false;

	return true;
}

// 주민등록번호 유효성 검사  
function valid_citizenno(citizen_no)
{
	if(trim(citizen_no) == "")
		return false;

	if(citizen_no.indexOf("-") == -1)
		return false;

	numbers = citizen_no.split("-");
	id_number1 = numbers[0];
	id_number2 = numbers[1];

	if(id_number1.match(/\D/) != null || id_number2.match(/\D/) != null)
		return false;

	if(id_number1.length != 6 || id_number2.length != 7)
		return false;

	var SUMM,OSub,ModValue,LastVal;
		
	var A     = parseInt(id_number1.charAt(0),10);
	var B     = parseInt(id_number1.charAt(1),10);
	var C     = parseInt(id_number1.charAt(2),10);
	var D     = parseInt(id_number1.charAt(3),10);
	var E     = parseInt(id_number1.charAt(4),10);
	var F     = parseInt(id_number1.charAt(5),10);

	var G     = parseInt(id_number2.charAt(0),10);
	var H     = parseInt(id_number2.charAt(1),10);
	var I     = parseInt(id_number2.charAt(2),10);
	var J     = parseInt(id_number2.charAt(3),10);
	var K     = parseInt(id_number2.charAt(4),10);
	var L     = parseInt(id_number2.charAt(5),10);
	var OSub  = parseInt(id_number2.charAt(6),10);

	SUMM = (A*2) + (B*3) + (C*4) + (D*5) + (E*6) + (F*7) + (G*8) + (H*9) + (I*2) + (J*3) + (K*4) + (L*5);
	ModValue = 11 - (SUMM % 11);
	LastVal =  ModValue % 10 ;

	if(OSub != LastVal)
		return false; 

	return true;
}

// 값의 숫자형 유효성 검사
function valid_numeric(number)
{
	if (number.match(/\D/) != null)
		return false;
	else
		return true;
}

// 문자열의 공백 제거
function trim(strIn)
{
	var strOut = "";

	if (strIn)
		strOut = strIn.replace(/^\s*/,'').replace(/\s*$/, ''); 
	
	return strOut;
}

// 페이지의 체크박스 전체 선택/취소
function DoChkAll(sIDPreFix)
{
	var chkIdIs = "";
	
	for (i=0; i < document.forms[0].length; i++)
	{
		var objCtrl = document.forms[0][i];
		
		if (objCtrl.type == "checkbox" && objCtrl.name.indexOf(sIDPreFix) > -1)
		{
			if (objCtrl.checked)
				objCtrl.checked = false;				
			else
				objCtrl.checked = true;			
		}
	}
}

// 페이지의 체크박스 전체 선택만
function DoChkAll_Only(sIDPreFix)
{
	var chkIdIs = "";
	
	for (i=0; i < document.forms[0].length; i++)
	{
		var objCtrl = document.forms[0][i];
		
		if (objCtrl.type == "checkbox" && objCtrl.name.indexOf(sIDPreFix) > -1)
		{
			objCtrl.checked = true;
		}
	}
}

// 페이지의 체크박스 전체 취소만
function DoUnChkAll_Only(sIDPreFix)
{
	var chkIdIs = "";
	
	for (i=0; i < document.forms[0].length; i++)
	{
		var objCtrl = document.forms[0][i];
		
		if (objCtrl.type == "checkbox" && objCtrl.name.indexOf(sIDPreFix) > -1)
		{
			objCtrl.checked = false;				
		}
	}
}


// 내용을 클립 보드에 복사 (컨트롤의 아이디로)
function ClipBoardCopy(sTarId)
{
	var srcItem = GetControl (sTarId);
	ClipBoardCopyAtObj (srcItem);
}

// 내용을 클립 보드에 복사 (컨트롤의 아이디로)
function DocumentPrint(sTarId)
{
	var objWin = window.open ("DocPrint.aspx?ids=" + sTarId, "DocPrint" , "width=500, height=500, scrollbars=yes");
}

// 내용을 클립 보드에 복사 (컨트롤 개체로)
function ClipBoardCopyAtObj(objTar)
{
	window.clipboardData.setData ("Text", objTar.innerText);
	alert ("복사 되었습니다.\n\nctrl + v를 이용해서 붙여넣기 해주세요.");	
}

// 게시판 선택 콤보 박스의 페이지 이동
function NB_SelectBoxPageTrans(sSrcID)
{
	var objLst = GetControl(sSrcID);
	location.href = objLst.value;
}

// 전달된 ID에 해당하는 컨트롤을 반환
function GetControl(sCID)
{
	var objItem = document.getElementById(sCID);
	
	if(objItem)
		return objItem;
	else
		return null;
}

// 입력 에러가 발생할 경우
// 해당 컨트롤로 포커스를 이동하고, false를 리턴
function ErrInputProc(objCont)
{
	objCont.focus();
	return false;	
}

function GetControlByOtherForm(objDoc, sTarId)
{
	for (i=0; i < objDoc.forms[0].length; i++)
	{
		if (objDoc.forms[0][i] && objDoc.forms[0][i].name.indexOf(sTarId) > -1)
		{
			return objDoc.forms[0][i];
		}
	}
	
	return null;
}

function NBMusicPlayer(skinPath, boardNo, bRnd)
{
	var selectIDs = NB_GetChkMusicPlay();
	
	if (trim(selectIDs) != "")
	{
		var sPlayUrl = "SkinTemplates/MPlayerSkin/" + skinPath + "/NeBoardPlayer.aspx?bno=" + escape(boardNo) + "&mfile=" + escape(selectIDs);
		var wPlayer = window.open (sPlayUrl, "NBMusicPlayer", "width=300, heigh=100");
		wPlayer.resizeTo (410, 175);
	}
}

function NBMusicPlaySingle(skinPath, boardNo, playIdx)
{
	var sPlayUrl = "SkinTemplates/MPlayerSkin/" + skinPath + "/NeBoardPlayer.aspx?bno=" + escape(boardNo) + "&mfile=" + escape(playIdx);
	var wPlayer = window.open (sPlayUrl, "NBMusicPlayer", "width=300, heigh=100");
	
	wPlayer.resizeTo (410, 175);		
}


// 글보기 에서 간단한 플레이를 위한 부분
function WMPSmiple_Play()
{
	var wmpPlayer = document.getElementById ("WMPSimple");
	
	if (wmpPlayer)
	{
		wmpPlayer.controls.Play();
	}
}

function WMPSmiple_Pause()
{
	var wmpPlayer = document.getElementById ("WMPSimple");
	
	if (wmpPlayer)
	{
		wmpPlayer.controls.Pause();
	}
}

function WMPSmiple_Stop()
{
	var	wmpPlayer = document.getElementById ("WMPSimple");
	
	if (wmpPlayer)
	{
		wmpPlayer.controls.Stop();
		wmpPlayer.controls.currentPosition = 1;
	}
}

function NBSumContent_Display(objChk)
{
	var sumControls = document.getElementById("plcSumControl");
	
	if (sumControls)
	{
		if (objChk.checked)
		{
			sumControls.style.display = "";
		}
		else
		{
			sumControls.style.display = "none";
		}
	}

	NBIFrameReSize();
}

function NBIFrameReSize ()
{
	if (parent.document.frames.length > 0)
	{
		var Frame_Body  = parent.document.frames(this.name).document.body;
		var Frame_name  = parent.document.all(this.name);

		Frame_name.style.width 
			= Frame_Body.scrollWidth + (Frame_Body.offsetWidth-Frame_Body.clientWidth);
		Frame_name.style.height 
			= Frame_Body.scrollHeight + (Frame_Body.offsetHeight-Frame_Body.clientHeight);
	}
}

function NBAsyncWin(objChk, sInId, sDelId)
{
	if (objChk.checked)
	{
		window.open ("Common/ASyncTimer.aspx?chkid=" + objChk.id + "&inid=" + sInId + "&delid=" + sDelId, "", "width=370, height=200");		
	}
	else
	{
		window.open ("Common/ASyncTimer.aspx?chkid=" + objChk.id + "&inid=" + sInId + "&delid=" + sDelId, "", "width=370, height=200");		
	}
	
	event.returnValue = false;
}

function NBEmoticonWin (sInID)
{
	window.open ("Common/Emoticon.aspx?cid=" + sInID, "NBEmoticon", "width=235, height=230");
}

function NBVote_Display(objChk, objContent)
{
	var voteControls = document.getElementById("plcVoteControl");
	
	if (voteControls)
	{
		if (objChk.checked)
		{
			voteControls.style.display = "";
		}
		else
		{
			voteControls.style.display = "none";
		}
	}
	
	var ctrlContent = document.getElementById(objContent);
	 
	if (ctrlContent)
	{
		if (trim(ctrlContent.value) == "")
		{
			var votePreFix = "투표 관련 설명을 입력하는 부분 입니다. \n";
			votePreFix += "이 부분에 투표 설명을 입력해 주세요. \n";
			votePreFix += "아래의 투표 항목에는 투표에 사용할 항목을 \n";
			votePreFix += "입력하시면 됩니다. \n";
			votePreFix += "갯수는 무제한 이며, 항목의 구분을 위해서 항목의 마지막에 ;을 추가해 주세요. \n";
			votePreFix += "\n";
			votePreFix += "--투표항목--\n";
			votePreFix += "투표 항목1;\n";
			votePreFix += "투표 항목2;\n";
			votePreFix += "투표 항목3;\n";
			votePreFix += "투표 항목4;\n";
						
			ctrlContent.value = votePreFix;
		}
	}
	
	NBIFrameReSize();
}

function NBVote_PlaceView()
{
	var voteControls = document.getElementById("plcVoteControl");
	
	voteControls.style.display = "";	
}

function NBSum_PlaceView()
{
	var sumControls = document.getElementById("plcSumControl");
	
	sumControls.style.display = "";	
}


//-- Shift + Enter 키를 <BR> 태그로 변
var NBKeyPressState = false;

function NBRemoveShiftBR(objInArea)
{
	if (event.keyCode == 16)
	{
		NBKeyPressState = false;
	}
	
	NBSaveCurrentPos (objInArea);
}

function NBInputInsertBR(objInArea)
{
	if (NBKeyPressState)
	{
		if (event.keyCode == 13)
		{
			NBInsertText (objInArea, "<br>");

			NBKeyPressState = false;
		}
	}
	{
		if (event.keyCode == 16)
		{
			NBKeyPressState = true;
		}
	}
}

function NBSaveCurrentPos (objTextArea)
{
	if (objTextArea.createTextRange) 
		objTextArea.currentPos = document.selection.createRange().duplicate();
}
	
function NBInsertText (objTextArea, text)
{
	if (objTextArea.createTextRange && objTextArea.currentPos)
	{
		var currentPos = objTextArea.currentPos;
		
		currentPos.text += currentPos.text.charAt(currentPos.text.length - 1) == ' ' ? text + ' ' : text;
	}
	else
		objTextArea.value += text;
}

function viewNamePopUp(sBoardNo, sName, sID, sEmail)
{
	// 사용 구분 선택
	var objNameSrch_Row = document.getElementById ("namePopUp_NameSrch_Row");
	var objMemoSend_Row = document.getElementById ("namePopUp_MemoSend_Row"); 
	var objEmailSend_Row = document.getElementById ("namePopUp_EmailSend_Row"); 
	
	
	if (trim(sName) == '')
	{
		objNameSrch_Row.style.display = "none";
	}
	else
	{
		var objNameSrch_Link = document.getElementById ("namePopUp_NameSrch_Link"); 		
		objNameSrch_Link.href = "/neboard/Board.aspx?bno=" + sBoardNo + "&mode=LIST&goto=1&srch_yn=1&srch_txt=" + escape(sName) + "&srch_opt=1";
	}
	
	if (trim(sID) == '')
	{
		
		objMemoSend_Row.style.display = "none";
	}
	else
	{
		var objMemoSend_Link = document.getElementById ("namePopUp_MemoSend_Link"); 	
		objMemoSend_Link.href = "javascript:NB_ClientWinOpen (\"/neboard/Common/MemoSend.aspx?gno=" + sID + "\", \"MemoWin\", \"width=460, height=500, scrollbars=yes\");";
	}
	
	if (trim(sEmail) == '')
	{
		objEmailSend_Row.style.display = "none";
	}
	else
	{
		var objEmailSend_Link = document.getElementById ("namePopUp_EmailSend_Link"); 
		objEmailSend_Link.href = "mailto:" + sEmail;
	}
	
	

	var x, y;
	
	// 마우스 위치 확인
	x = (document.layers) ? loc.pageX : event.clientX;
	y = (document.layers) ? loc.pageY : event.clientY;
	
	// 스크롤 영역 보정
	x = document.body.scrollLeft + x;
	y = document.body.scrollTop + y;
	
	var objNamePopUp = document.getElementById("namePopUp");
	
	if (objNamePopUp)
	{
		objNamePopUp.style.pixelTop	= y-10;
		objNamePopUp.style.pixelLeft = x+15;
		objNamePopUp.style.display = (objNamePopUp.style.display == "block") ? "none" : "block";
	}
}

// 페이지의 체크박스 전체 선택만
function DoFileUpDisplayAdd(nTotCnt)
{
	var chk = 0;
	
	for (i=0; i < nTotCnt; i++)
	{
		var objFileUpPlace = document.getElementById ("FileUpPlace_" + i);
		
		if (objFileUpPlace)
		{
			if (objFileUpPlace.style.display == "none")
			{
				chk = 1;
				
				objFileUpPlace.style.display = "";
				break;
			}
		}
	}
	
	if (chk == 0)
	{
		alert ("최대 " + nTotCnt + "개 까지만 추가할 수 있습니다.");
	}
	
	NBIFrameReSize();
}
