// 팝업에서 이미지 꽉차게 보여줄때 띄운다.
function showOrigSize(fileName) {
	//window.open('http://www.jaseng.co.kr/Include/ShowImg.asp?File=' + fileName, '_blank', 'width=50,height=50,status=0,location=0,top=0,left=0,scrollbars=no');
	window.open('/include/ShowImg.asp?File=' + fileName, '_blank', 'width=50,height=50,status=0,location=0,top=0,left=0,scrollbars=no');
}


/* validate ?? ?? */

/*
------------------------------------------------------------------------------------
  FORM FIELD CHECK 1. NULL CHECK
------------------------------------------------------------------------------------
*/

function checkNull(oField, strMsg, blnFocus)
{
	var isNotNull = false;
	var fieldType = null;
	var mainField;
	
	if (typeof(oField.type) == 'undefined' && typeof(oField.length) != 'undefined')
		mainField = oField[0];
	else
		mainField = oField;
	fieldType = mainField.type;


	switch (fieldType)
	{
		case "hidden" :
		case "text" :
		case "password" :
		case "file" :
			isNotNull = hasValue(oField);
			break;
		case "textarea" :
			isNotNull = hasEditerValue(oField);
			break;
		case "checkbox" :
		case "radio" :		
			isNotNull = isChecked(oField);
			break;		
		case "select-one" :
		case "select-multiple" :
			isNotNull = isNotSelected(oField);
			break;
	}
	
	if (!isNotNull)
	{
		if (strMsg.length > 0) {
			alert(strMsg + " 記入してください.");
		}
		if (blnFocus == true)
		{
			mainField.focus();
		}
	}
	
	return isNotNull;
}

function hasValue(oField)
{
	// ??? ????? ????? ???. 
	// ???? ???? ???? ?? ?? ????? ???? ??????? ????.
	if (oField.value.replace(/(^\s*)|(\s*$)/g, "") == "")
		return false;
	else
		return true;
}

function hasEditerValue(oField)
{
	if (oField.value.replace(/&nbsp;/g, " ").replace(/(^\s*)|(\s*$)/g, "") == "")
		return false;
	else
		return true;
}

function isChecked(oField)
{	
	var checked = false;

	if (typeof(oField.length) != 'undefined')
	{
		for (var i=0; i<oField.length; i++)
			if (oField[i].checked)
				checked = true;
	}
	else
	{
		checked = oField.checked;
	}
	
	return checked;
}

function isNotSelected(oField)
{
	if (oField.selectedIndex == -1)
	{
		return false;
	}
	else
	{
		if ((oField.value == -1) || (oField.value == ""))
			return false;
		else
			return true;
	}
}



/*
------------------------------------------------------------------------------------
  FORM FIELD CHECK 2. LENGTH CHECK
------------------------------------------------------------------------------------
*/

// ??? ???? ???? ???? ??.
function checkLength(oField, min, max, strMsg, blnFocus)
{
	var isValid = false;
	var len_value = oField.value.length;
	
	if (min < 0)
	{
		if (len_value < max)
			isValid = true;
	}
	if (max < 0)
	{
		if (len_value > min)
			isValid = true;
	}
	if (min >= 0 && max >= 0)
	{
		if (len_value >= min && len_value <= max)
			isValid = true;
	}
		
	if (!isValid)
	{
		if (min == max) {
			alert(strMsg + " " + max + "字以上入力してください.");
		} else {
			alert(strMsg + " " + min + "字で " + max + "まで入力しなければならないです.");
		}
		
		if (blnFocus == true)
			oField.focus();
	}
	
	return isValid;
}



/*
------------------------------------------------------------------------------------
  FORM FIELD CHECK 3. LENGTH CHECK (INCLUDE KOREAN)
------------------------------------------------------------------------------------
*/

// ????? ???? 2???? ??.
function checkLengthKor(oField, min, max, strMsg, blnFocus)
{
	var isValid = false;
	var len_value = oField.value.bytes();
	
	if (min < 0)
	{
		if (len_value < max)
			isValid = true;
	}
	if (max < 0)
	{
		if (len_value > min)
			isValid = true;
	}
	if (min >= 0 && max >= 0)
	{
		if (len_value >= min && len_value <= max)
			isValid = true;
	}
		
	if (!isValid)
	{
		if (min == max) {
			alert(strMsg + " ??" + max/2 + "?(?? " + max + "?)? ?????.");
		} else {
			alert(strMsg + "  ?? ??" + min/2 + "?(?? " + min + "?) ?? ??" + max/2 + "?(?? " + max + "?)?? ?????.");
		}
		if (blnFocus == true)
			oField.focus();
	}
	
	return isValid;
}



/*
------------------------------------------------------------------------------------
  GET FORM FIELD's INDEX, VALUE
  SET FORM FIELD's VALUE
------------------------------------------------------------------------------------
*/

// ??? ???? ??? ?? ??? ??? ???.
function getCheckedIndex(oField) // for radio button
{
	var index = -1;

	for(i=0; i < oField.length; i++) {
		if(oField[i].checked) {
			index = i;
			break;
		}
	}

	return index;
}

// ??? ???? ??? ?? ?? ???.
function getCheckedValue(oField) // for radio button
{
	var value = null;

	for(i=0; i < oField.length; i++) {
		if(oField[i].checked) {
			value = oField[i].value;
			break;
		}
	}

	return value;
}

// ??? ?? ???? paramValue? ??? ???? ???.
function radioCheck(oField, paramValue) // for radio button
{
	for (var i=0; i<oField.length; i++) {
		if (oField[i].value == paramValue) {
			oField[i].checked = true;
			break;
		}
	}
}

// ????? ??? ?? ?? ???.
function getSelectedValue(oField) // for select button
{
	var value = null;

	selectedIndex = oField.selectedIndex;

	value = oField[selectedIndex].value;

	return value;
}

// ???? ??? ???. ??????? 0 ~ 255? +1, ? ??? ??? ???? +2
function strLenCk(str)
{
  var len = 0;
  for (var i=0;i<str.length; i++) {
    var n = str.charCodeAt(i);
    if ((n>= 0)&&(n<256)) {
      len ++;
    } else {
      len += 2;
	}
  }
  return len;
}

// ???? ?? ??? ????. 0 ~ 255? +1, ? ??? ??? ???? +2? ???? ???? ???.
function strLenCnt(str,lengths)
{
  var len = 0;
  var newStr = '';
  
  for (var i=0;i<str.length; i++) {
    var n = str.charCodeAt(i);
    var nv = str.charAt(i);
    if ((n>= 0)&&(n<256)) {
      len ++;
    } else {
      len += 2;
	}

	if (len>lengths)
		break;
	else
		newStr = newStr + nv;
  }

  return newStr;
}

//??? ?? ?? ..? ????.
function strCutPrint(str,byteLength) {
	var strOld = str;
	str = strLenCnt(str,byteLength);
	if (str!=strOld) {
		str = str+'..';
	}
	return str;
}

// ??? ?? ?? ..? ????. textarea??? ????
function strCutPrintT(obj,byteLength) {
	var str = '';
	str = obj.value;
	var strOld = str;
	str = strLenCnt(str,byteLength);
	if (str!=strOld) {
		str = str+'..';
	}
	return str;
}

// wrongStr? ??? str? ???? ??? true, ??? false
function hasWrongWord(str, wrongStr)
{
	if(str.indexOf(wrongStr) >= 0) return true;
	else return false;
}





/*
------------------------------------------------------------------------------------
  FORM FIELD CHECK 4. WRONG CHAR CHECK (????? ???? ??? false)
------------------------------------------------------------------------------------
*/

function checkWrongWord(oField, wrongStr, strMsg) // for text and textbox
{
	var isWrong = false;
	var fieldType = null;
	var mainField;
	
	if (typeof(oField.type) == 'undefined' && typeof(oField.length) != 'undefined')
		mainField = oField[0];
	else
		mainField = oField;
	fieldType = mainField.type;

	switch (fieldType)
	{
		case "text" :
		case "textarea" :
			isWrong = hasWrongWord(oField.value, wrongStr);
			break;
	}
	
	if (isWrong)
	{
		alert(strMsg);
		array = mainField.value.split(wrongStr);
		result = '';
		for(i=0; i<array.length; i++) {
			result += array[i];
		}
		mainField.value = result;
		mainField.focus();
	}
	
	return !isWrong;
}



/*
------------------------------------------------------------------------------------
  FORM FIELD CHECK 5. ALPHA NUMERIC CHARACTER CHECK (?? ???? ???? ?? ??? true)
------------------------------------------------------------------------------------
*/

function checkAlphaNum(oField, strMsg, blnFocus) // for text and textbox
{
	var isAlphaNum = false;
	var fieldType = null;
	var mainField;
	
	if (typeof(oField.type) == 'undefined' && typeof(oField.length) != 'undefined')
		mainField = oField[0];
	else
		mainField = oField;
	fieldType = mainField.type;

	switch (fieldType)
	{
		case "text" :
		case "password" :
		case "textarea" :
			isAlphaNum = isLowAlphaNumCheck(oField.value);
			break;
	}
	
	if (!isAlphaNum)
	{
		alert(strMsg + " ?????? ??? ???? ???.");
		if (blnFocus == true)
			mainField.focus();
	}
	
	return isAlphaNum;
}

function isLowAlphaNumCheck(arg_v)
{
	if (arg_v.match(/^[a-z0-9]*$/g)) return true;
	else return false;
}

// ?????,???,???? ???? ??? true
function isAlphaNumCheck(arg_v)
{
	var alpha_num_Str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

	for (i=0; i < arg_v.length; i++)
	{
		var substr = arg_v.substring(i, i+1);		
		if (alpha_num_Str.indexOf(substr) < 0) 
			return false;	
		
	}
	
	return true;
}



/*
------------------------------------------------------------------------------------
  FORM FIELD CHECK . (???? ???? true)
------------------------------------------------------------------------------------
*/

function checkNum(oField, Sign, strMsg, blnFocus)
{
	var ov = oField.value;

	if (isNaN(ov)) {
		alert(strMsg + " ??? ?? ?????.");
		if (blnFocus == true)
		{
			oField.focus();
		}
		return false;
	}
	
	if (Sign == "u") {
		if (ov < 0) {
			alert(strMsg + " ??? ?? ?????.");
			if (blnFocus == true)
			{
				oField.focus();
			}
			return false;
		}
	}

	return true;
}


// ??? true
function isNumber(arg) {
	for (i =0 ; i < arg.length; i++) {
  	
	  	if (arg.charCodeAt(i) < 48 || arg.charCodeAt(i) > 57) {
	  		return false;
	  	}
	}
	return true;
}




/*
------------------------------------------------------------------------------------
  FORM FIELD CHECK 6. SPECIAL CHARACTER CHECK (???? ??? ??? true)
------------------------------------------------------------------------------------
*/

function checkNotSpecialChar(oField, strMsg, blnFocus) // for text and textbox
{
	var notSpecialChar = false;
	var fieldType = null;
	var mainField;
	
	if (typeof(oField.type) == 'undefined' && typeof(oField.length) != 'undefined')
		mainField = oField[0];
	else
		mainField = oField;
	fieldType = mainField.type;

	switch (fieldType)
	{
		case "text" :
		case "textarea" :
			notSpecialChar = hasNotSpecialChar(oField.value);
			break;
	}
	
	if (!notSpecialChar)
	{
		alert(strMsg);
		if (blnFocus == true)
			mainField.focus();
	}
	
	return notSpecialChar;
}

// ???? ?? (???? ??? ???? ?? ??? true)
function hasNotSpecialChar(id_text)
{
		//var specialchar = '~`!@#$%^&*()-_=+\|<>?,./;:"';
		var specialchar = '`@#$%&\|<>;"';

		var i ; 
		for ( i=0; i < id_text.length; i++ )  {
			if( specialchar.indexOf(id_text.substring(i,i+1)) > 0) {
				break ; 
			}
		}
		if ( i != id_text.length ) {
			return false ; 
		}
		else{
			return true ;
		} 

		return false;
}

// ???? ????? ?? (???? ?? ??? ??? true, ???? ?? ??? false)
function isNotOnlyKorean(id_text){
	for ( var i=0; i < id_text.length; i++ ) {
		if ( id_text.charCodeAt(i) < 0xAC00 || id_text.charCodeAt(i) > 0xD7A3){
			if (( id_text.charCodeAt(i) < 12593 || id_text.charCodeAt(i) > 12643 ) && ( id_text.charCodeAt(i) != 32)) {
				return true;
			}
		}
	}	
	return false;
}


function keydownEngNum() {
	if (!(event.keyCode>=48&&event.keyCode<=57)&&!(event.keyCode>=65&&event.keyCode<=90)&&event.keyCode!=9&&event.keyCode!=8&&event.keyCode!=46&&event.keyCode!=37&&event.keyCode!=39&&event.keyCode!=45) {
		event.keyCode = 0;
		event.cancelBubble = true;
		event.returnValue = false;
	}
}

//keydown?? ??? ??? ?? ?.
// onkeydown="javascript:notInMSIE5('keydownEngNum()')"
function notInMSIE5(functionnm) {		//????? 5.0?? ??? ???? ???.
	if (navigator.userAgent.indexOf("MSIE 5")==-1)
	{
		eval(functionnm);
	}
}





/*
------------------------------------------------------------------------------------
  FORM FIELD CHECK 7. (???? ?????? ??)
------------------------------------------------------------------------------------
*/

function checkEmail(oField, strMsg, blnFocus) {
	
	var ov = oField.value;
	
	if (isEmail(ov)) {
		return true;
	} else {
		alert (strMsg + " ??? ????.");
		if (blnFocus == true)
			oField.focus();
		return false;
	}
}

// ??? ??
function isEmail(strCk) {
	// regular expression ?? ?? ??
	var intSupported = 0;
	if(window.RegExp) {
		var strTemp = "a";
		var objTempReg = new RegExp(strTemp);
		if (objTempReg.test(strTemp)) intSupported = 1;
	}

	if (!intSupported) {
		return (strCke.indexOf(".") > 2) && (strCk.indexOf("@") > 0);
	}
	
	var objR1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var objR2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	
	return (!objR1.test(strCk) && objR2.test(strCk));
}








/*
------------------------------------------------------------------------------------
  FORM ?? ??? ??
------------------------------------------------------------------------------------
*/
// ????? ?????? ?? ??? ??
function getRadioVal (FormNm, InputNm) {

	var cnt=0; 
	var sRlt;
	var o = eval("document."+FormNm+"."+InputNm);
	
	sRlt = "";
	
	for(var i=0; i<o.length;i++){
	   if(o[i].checked) sRlt = o[i].value;
	}
	
	return sRlt;
} 


function draw_flash (sUrl, iWidth, iHeight) {
	var _object_ = "";
	
	_object_ += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="' + iWidth + '" height="' + iHeight + '">';
	_object_ += '<param name="movie" value="' + sUrl + '">';
	_object_ += '<param name="quality" value="high">';
	_object_ += '<param name="wmode" value="transparent">';
	_object_ += '<embed src="' + sUrl + '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + iWidth + '" height="' + iHeight + '"></embed>';
	_object_ += '</object>';
	
	document.write(_object_);			
}

function BZB4_goPrintView (idx) {
	var sURL	= "/include/Pop_Contents.asp?idx="+idx+"&Depth1=10&Depth2=1&Depth3=4";
	var sName	= "BZCMPopContents";
	var pWidth	= 590+20;
	var pHeight	= 650;

	
	var sOpt	= "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes";
	BZB_PopupOpen(sURL, sName, pWidth, pHeight, sOpt);
}

//.........................................................................
// 화면중앙에 팝업띄우기
function BZB_PopupOpen(sURL, sName, pWidth, pHeight, sOpt) {
	var iHeight	= screen.height; 
	var iWidth	= screen.width; 
	var iLeft	= (iWidth / 2) - (pWidth / 2); 
	var iTop	= (iHeight / 2) - (pHeight / 2); 
	
	if (sOpt == "") {
		sOpt = "left="+iLeft+",top="+iTop+",width="+pWidth+",height="+pHeight+",toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no";
	} else {
		sOpt = "left="+iLeft+",top="+iTop+",width="+pWidth+",height="+pHeight+"," + sOpt;
	}
	
	//open (sURL, sName, sOpt);
	return window.open (sURL, sName, sOpt);
}

function GetCookie (name) {  
	var arg = name + "=";  
	var alen = arg.length;  
	var clen = document.cookie.length;  
	var i = 0;  

	while (i < clen) {    
		var j = i + alen;    
		if (document.cookie.substring(i, j) == arg)      
			return getCookieVal (j);    
		i = document.cookie.indexOf(" ", i) + 1;    
		if (i == 0) break;   
	}  
	
	return null;
}

function SetCookie (name, value) {  
	var argv = SetCookie.arguments;  
	var argc = SetCookie.arguments.length;  
	var expires = (argc > 2) ? argv[2] : null;  
	var path = (argc > 3) ? argv[3] : null;  
	var domain = (argc > 4) ? argv[4] : null;  
	var secure = (argc > 5) ? argv[5] : false;  

	document.cookie = name + "=" + escape (value) + 
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
	((path == null) ? "" : ("; path=" + path)) +  
	((domain == null) ? "" : ("; domain=" + domain)) +    
	((secure == true) ? "; secure" : "");
}
