﻿// 현재창을 닫고 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 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";
		}
	}
}

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;
		}
	}
}

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;
}
