﻿// 모달	윈도우 함수	(IE	전용)
function modalWindow(vWidth, vHeight,	vUrl)	{
	var	mdWindow=null;
	//var	kiho = (vUrl.indexOf("?")<0)?"?":"&";
	var	x=(screen.width-vWidth)/2;
	var	y=(screen.height - vHeight)/2;
	opt="status:no;	help:no; edge:raised;";
	opt=opt+"dialogWidth:"+vWidth+"px; dialogHeight:"+vHeight+"px; dialogLeft:"+x+";scroll:no; dialogTop:"+y+";";
	var	mdWindow=showModalDialog(vUrl,'',opt);
}

// 팝업윈도우	함수(원하는	크기로 툴바없이	화면 가운데	띄우기)
function openWindow(vWidth,	vHeight, vUrl, vOpt) {
	var	mdWindow = null;
	var	x	=	(screen.width	-	vWidth)/2;
	var	y	=	(screen.height - vHeight)/2;
	var	opt;
	if (vOpt ==	"" ||	vOpt ==	null)	vOpt = 0;
	opt	=			"width=" + vWidth	+	",height=" + vHeight;
	opt	=	opt	+	",scrollbars=" + vOpt	+	",toolbar=0,menubars=0,locationbar=0,historybar=0,statusbar=0";
	opt	=	opt	+	",outerWidth=" + vWidth	+	",outerHeight="	+	vHeight	+	",resizable=0";
	opt	=	opt	+	",left=" + x + ",top=" + y;
	opt	=	opt	+	",channelmode=no,	titlebar=no";
	var	mdWindow = window.open(vUrl, "", opt,	false);
}

//인스턴스이름 있는	창 열기.
function openNameWindow(vWidth,	vHeight, vUrl, vName,	vOpt)	{
	var	mdWindow = null;
	var	x	=	(screen.width	-	vWidth)/2;
	var	y	=	(screen.height - vHeight)/2;
	var	opt;
	if (vOpt ==	"" ||	vOpt ==	null)	vOpt = 0;
	opt	=			"width=" + vWidth	+	",height=" + vHeight;
	opt	=	opt	+	",scrollbars=" + vOpt	+	",toolbar=0,menubars=0,locationbar=0,historybar=0,statusbar=0";
	opt	=	opt	+	",outerWidth=" + vWidth	+	",outerHeight="	+	vHeight	+	",resizable=0";
	opt	=	opt	+	",left=" + x + ",top=" + y;
	opt	=	opt	+	",channelmode=no,	titlebar=no";
	var	mdWindow = window.open(vUrl, vName,	opt, false);
	if(!mdWindow){
		alert("팝업차단을	해제해주세요.");
		return false;
	}
	mdWindow.focus();
}

function checkPattern(sType, str)	//형식 체크
{
	var	pattern	=	new	String() ;
	switch (sType){
		case "NUM" :	// 숫자만
			pattern	=/^[0-9]+$/;
			break;
		case "PHONE" :
			pattern	=/^[0-9]{2,4}-[0-9]{3,4}-[0-9]{4}$/;										 //전화번호	형식 : 033-1234-5678
			break;
		case "EMAIL" :
			pattern	=/^[_a-zA-Z\d\-\.]+@([_a-zA-Z\d\-]+(\.[_a-zA-Z\d\-]+)+)/;						//메일
			break;
		case "DOMAIN"	:
			pattern	=/^[.a-zA-Z0-9-]+.[a-zA-Z]+$/; ///영자 숫자와	.	다음도 영자
			break;
		case "ENG" : //영자만
			pattern	=/^[a-zA-Z]+$/;
			break;
		case "ENGNUM"	:	//영자와 숫자
			pattern	=/^[a-zA-Z0-9]+$/;
			break;
		case "HAN" : //	한글만
			pattern	=/^[가-힣]*$/;
			break;
		case "USERID"	:	//첫글자는 영자	그뒤엔 영어숫자	4이상	15자리 이하
			pattern	=/^[a-zA-Z]{1}[a-zA-Z0-9_-]{4,15}$/;
			break;
		case "DATE"	:	// 날짜	:	2002-08-15
			pattern	=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;
			break;
		case "PASS"	:	// 날짜	:	2002-08-15
			pattern	=/^[;:`~!@#$%\^&*\(\)_a-zA-Z0-9-]{4,15}$/;
			break;
		default :
		  return false;
		  break;
	}

	//alert(str	+	"|"	+	pattern);

	if(!pattern.test(str)){
			return false;
	}
	return true;
}

//해당패턴으로 검사후	메세지 출력
function isValidType(field,	type,	msg)
{
	if(!checkPattern(type, field.value))
	{
		if(msg !=	"")	alert(msg);
		field.focus();
		return false;
	}
	return true;

}

//정규표현식으로 문자열	치환
function strReplace(str){	// \변환
	str	=	str.replace("'", "\'");
//	str	=	str.replace(chr(13), "\n");
	str	=	str.replace("\\",	"/");
	return str
}

//상태창에 주소	안뜨게
function no_msg(){
	window.status="";
	return true;
}

//if(document.layers)
//	document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT)
//	document.onmouseover = no_msg;
//	document.onmouseout	=	no_msg;


//var	CheckBoxAll
//CheckBoxAll	=	false

function CheckAll(CheckBoxAll, InputName)//모두 선택하기
{
//	if (CheckBoxAll	== true) CheckBoxAll = false;
//	else	CheckBoxAll	=	true;

	var	i;
	for	(i=0;i<document.forms[0].elements.length;i++){
		var	e	=	document.forms[0].elements[i];

			if(e.name	== InputName)
				e.checked	=	CheckBoxAll;
	}
}



//숫자만 눌리게	하기 , 방향키	+	Delele + BackSpace 포함
function onlynum() {
	var	iCode	=	event.keyCode;
	if(!(	((iCode	>= 48) &&	(iCode <=	57)) ||	((iCode	>= 37) &&	(iCode <=	40)) ||	(iCode ==	8	)	|| (iCode	== 46	)||	(iCode ==	9	)	)) event.returnValue = false;
}

// TRIM!
function trim(val){
	if (val	!= null)
		val	=	val.replace(/	/g,'');
	return val;
}

//엔터체크..
function F_CheckEnter(frm)
{
	if(event.keyCode==13)
		frm.submit();
}

function goPage(formNm,	PageNo)	{
	f=eval("document."+formNm);
	f.page.value=PageNo;
	f.submit();
}

function goPageMove(url){
	document.location.href = url;
}

function onlyNumericValue(frmField,	msg)
{
	if(frmField.value	=="")	return;
	if (isNaN(frmField.value)){
		if(typeof(msg)!="undefined"){
		  alert(msg);
		}
		frmField.value="";
		frmField.focus();
	}
}

// 날짜	유효성체크
function isValidDate(yyyy, mm, dd, limitYearS, limitYearE) {
	var	arrLastDay = [31,	28,	31,	30,	31,	30,	31,	31,	30,	31,	30,	31];
	if (!/^[0-9]{4}$/.test(yyyy))	return false;
	if (!/^[0-9]{1,2}$/.test(mm))	return false;
	if (!/^[0-9]{1,2}$/.test(dd))	return false;

	if(limitYearS	!= null	&& limitYearE	!= null){
		if(yyyy	<	limitYearS &&	yyyy > limitYearE) return	false;
	}
	if(limitYearS	!= null){
		if(yyyy	<	limitYearS)	return false;
	}
	if(limitYearE	!= null){
		if(yyyy	>	limitYearE)	return false;
	}

	if (yyyy%1000	!= 0 &&	yyyy%4 ==	0) arrLastDay[1] = 29; //	윤년
	if (dd > arrLastDay[mm-1]	|| dd	<	1) return	false; //	날짜 체크
	if (mm < 1 ||	mm > 12) return	false; //	월 체크
	if (mm%1 !=	0	|| yyyy%1	!= 0 ||	dd%1 !=	0) return	false; //	정수 체크

	return true;
}

// 주민번호	체크
function checkJumin(formname1,formname2){
	var	chk=0
	var	yy=formname1.value.substring(0,2)
	var	mm=formname1.value.substring(2,4)
	var	dd=formname1.value.substring(4,6)
	var	sex=formname2.value.substring(0,1)
	if((formname1.value.length!=6)||(yy<25||mm<1||mm>12||dd<1)){
		formname1.select();
		return false;
	}
	if((sex!=1&&sex!=2)||(formname2.value.length!=7)){
		formname2.select();
		return false;
	}
	for(var	i=0;i<=5;i++){
		chk=chk+((i%8+2)*parseInt(formname1.value.substring(i,i+1)))
	}
	for(var	i=6;i<=11;i++){
		chk=chk+((i%8+2)*parseInt(formname2.value.substring(i-6,i-5)))
	}
	chk=11-(chk	%11)
	chk=chk%10
	if(chk!=formname2.value.substring(6,7)){
		formname2.select();
		return false;
	}
	return true;
}

function CheckValid(String,	space)
{
	 var retvalue	=	false;
	 for (var	i=0; i<String.length;	i++)
	 {		//String이 0(""	이나 null)이면 무조건	false
			if (space	== true)
			{
				 if	(String.charAt(i)	== ' ')
				 {			//String이 0이 아닐때	space가	있어야만 true(valid)
						retvalue = true;
						break;
				 }
			}	else {
				 if	(String.charAt(i)	!= ' ')
				 {			//string이 0이 아닐때	space가	아닌 글자가	있어야만 true(valid)
						retvalue = true;
						break;
				 }
			}
	 }
	 return	retvalue;
}

function checkJuminFrgn(frmname1, frmname2) {
    var sum = 0;
    var odd = 0;
    var reg_no = frmname1.value +""+ frmname2.value;
    buf = new Array(13);
    for (i = 0; i < 13; i++) 
      buf[i] = parseInt(reg_no.charAt(i));

    odd = buf[7]*10 + buf[8];
    
    if (odd%2 != 0) {
      return false;
    }

    if ((buf[11] != 6)&&(buf[11] != 7)&&(buf[11] != 8)&&(buf[11] != 9)) {
      return false;
    }
    	
    multipliers = [2,3,4,5,6,7,8,9,2,3,4,5];
    for (i = 0, sum = 0; i < 12; i++) 
      sum += (buf[i] *= multipliers[i]);


    sum=11-(sum%11);
    
    if (sum>=10) 
      sum-=10;

    sum += 2;

    if (sum>=10) 
      sum-=10;

    if ( sum != buf[12]) {
        return false;
    } else {
        return true;
    }
}

//항목이 비어있는지	체크
function isEmpty(field,	error_msg)
{
	// error_msg가 ""이면	alert와	focusing을 하지	않는다
	if(error_msg ==	"")	{
		if(!CheckValid(field.value,	false))		{
			return true;
		}	else {
			return false;
		}
	}	else {
		if(!CheckValid(field.value,	false))	{
			alert(error_msg);
			field.focus()	;
			return true;
		}	else {
			return false;
		}
	}
}

//문자열 길이	제한
function isOutOfRange(field, min,	max, error_msg)
{
	if(strLength(field)	<	min	|| strLength(field)	>	max)
	{
		alert(error_msg);
		field.focus();
		field.select();
		return true;
	}
	return false;
}

//문자열길이 반환
function strLength(field)
{
	 var Length	=	0;
	 var Nav = navigator.appName;
	 var Ver = navigator.appVersion;
	 var IsExplorer	=	false;
	 var ch;
	 if	(	(Nav ==	'Microsoft Internet	Explorer') &&	(Ver.charAt(0) >=	4) )
	 {
			IsExplorer = true;
	 }
	 if(IsExplorer)
	 {
			for(var	i	=	0	;	i	<	field.value.length;	i++)
			{
				 ch	=	field.value.charAt(i);
				 if	((ch ==	"\n")	|| ((ch	>= "ㅏ") &&	(ch	<= "히"))	||
						 ((ch	>="ㄱ")	&& (ch <="ㅎ")))
		{
				Length +=	2;
		}	else
		{
				Length +=	1;
				}
		}
	 }else {
			Length = field.value.length	;
	 }
	 return	Length;
}

//문자열 길이	제한
function isOutOfByteRange(field, min,	max, error_msg)
{
	if(byteLength(field)	<	min	|| byteLength(field)	>	max)
	{
		alert(error_msg);
		field.focus();
		field.select();
		return true;
	}
	return false;
}

//문자열 바이트 길이 반환
function byteLength(field) {
  var tmpStr;
  var temp=0;
  var onechar;
  var tcount;
  tcount = 0;

  tmpStr = new String(field.value);
  temp = tmpStr.length;

  for (k=0;k<temp;k++)
  {
    onechar = tmpStr.charAt(k);
    if (escape(onechar) =='%0D') { } else if (escape(onechar).length > 4) { tcount += 2; } else { tcount++; }
  }

  return tcount;
}


//체크박스(배열포함)에 체크되어있는지	확인
function isCheckedBox(frm,msg)
{
	var	check_length = frm.length;
	var	check_ = false;

	if(typeof(check_length)=="undefined"){
		if(frm.checked ==	false){
			alert(msg);
			return false;
		}
	}	else {
		for(i=0;i<check_length;i++){
			if(frm[i].checked){
				check_ = true;
			}
		}
		if(check_	== false)
		{
			alert(msg);
			return false;
		}
	}
	return true;
}

//라디오버튼 체크
function isNotCheckedRadio(field,	error_msg) {
	if ( field ==	null ) {
		alert(error_msg);
		return true;
	}

	if ( field.length	== null	)	{
		if ( field.checked ==	true ) {
			return false;
		}	else {
			alert(error_msg);
			return true;
		}
	}

	for(i	=	0; i < field.length; i++)	{
		if(field[i].checked	== true) {
			return false;
		}
	}
	alert(error_msg);
	return true;
}

// 선택되어있는	라디오버튼 값
function getRadioVal(field)	{
	for(i	=	0; i < field.length; i++)	{
		if(field[i].checked	== true)
			return field[i].value;
	}
	return "";
}

//숫자를 금액단위로	변환(콤마찍기)
function formatNumber(num) {
//	num	=	num.replace(/,/g,	"");
	var	num_str	=	num.toString();
	var	result = ''

	for(var	i=0; i<num_str.length; i++)	{
		var	tmp	=	num_str.length-(i+1);
		if(i%3==0	&& i!=0) result	=	','	+	result;
		result = num_str.charAt(tmp) + result;
	}
	return result;
}

// 일정길이가	넘어가면 다음으로	포커스 넘기기..
function skip_length(this_obj, next_obj, length){
	if(this_obj.value.length==length){
		next_obj.focus();
	}
}

/******************************************************************************/

function changeStoreIDFromXML(objFld, pCategory)
{
  var XMLURL = "";

	while (objFld.options.length > 1)
	{
		objFld.options[1] = null;
	}

  XMLURL = "/common/inc/store_name.xml.asp?category="+pCategory;

	if (XMLURL != "")
	{
		var xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
		xmlHTTP.open("GET", XMLURL, false);
		xmlHTTP.send("");

		if (xmlHTTP.statusText == "OK")
		{
			var xmlDOM = xmlHTTP.responseXML;
			rows = xmlDOM.getElementsByTagName("SID");
			count = rows.length;

			for (var i=0; i<count; i++)
				objFld.options[i+1] = new Option(rows[i].text.split("||")[1], rows[i].text.split("||")[0]);

			rows = null;
			xmlDOM = null;
			xmlHTTP = null;
		}
	}
}

// 레이어 보이고 감추기
var curLayerName = new String();
function showLayer(val)
{
  if(typeof(eval(val))=="undefined")
  {
    alert("'"+val+"' Layer not found");
    return;
  }

  if(curLayerName == val){
    eval(curLayerName).style.display = "none";
    curLayerName = "";
    return;
  }

  if(curLayerName!="") {
    eval(curLayerName).style.display = "none";
  }

  eval(val).style.display = "";
  curLayerName = val;
}

// 로그인이 필요한 서비스일경우 로그인 안내.
function reqLogin(returnURL)
{
  if(confirm("로그인이 필요한 서비스입니다.\n\n로그인페이지로 이동하시겠습니까?")){
    location.href="/member/login.asp?returnURL="+ returnURL;
  }
}

/******************************************************************************/
// 파일첨부시 선택한 이미지 미리보기 - 더미이미지 준비
function iniPreviewImage(){
  document.write("<img name='imgPreviewLayer' src='/image/common/blank.gif' style='display:none' style='position:absolute;'>");
}

// 파일첨부시 선택한 이미지 미리보기 - 더미이미지에 이미지경로 넣고 보여주기
function viewPreviewShow(pSrc, pW, pH) {
  var pattern = new String();
  pattern = /^.*(jpg|gif)$/;

  if(pSrc != "" && pattern.test(pSrc.toLowerCase())){
    var imgLayer = document.all["imgPreviewLayer"];
    imgLayer.style.posLeft = event.x - event.offsetX + document.body.scrollLeft;
  	imgLayer.style.posTop = event.y - event.offsetY + document.body.scrollTop + 20;
  	imgLayer.style.display = "";
  	imgLayer.style.border = "2px solid black";
  	imgLayer.style.width = pW;
  	//imgLayer.style.height = pH;
  	if (imgLayer.src != pSrc)
  	  imgLayer.src = pSrc;
  }
}

// 파일첨부시 선택한 이미지 미리보기 - 더미이미지 숨기기
function viewPreviewHide()
{
  var imgLayer = document.all["imgPreviewLayer"];
  imgLayer.style.display = "none";
}
/******************************************************************************/

// 스크랩 등록
function userScrap(pCategory, pHref, pMemo)
{
  //alert("스크랩 분류 : "+pCategory +"\n주소 : "+pHref +"\n제목 : "+ pMemo);
  scrap_js.src="/common/js/scrap.js.asp?category="+ pCategory +"&href="+ pHref +"&memo="+ pMemo;
}

// 코엑스몰 맵 (맵위치, 매장번호)
function openCoexMallMap(sect, poscode)
{
  openNameWindow(1000, 700, "/intro/coexmall_map.asp?sect="+sect+"&poscode="+poscode, "coexmall_map", "0");
}

// 투명 PNG 사용하기
function setPng24(obj) {
	obj.width=obj.height=1;
	obj.className=obj.className.replace(/\bpng24\b/i,'');
	obj.style.filter =
	"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ obj.src +"',sizingMethod='image');"
	obj.src='';
	return '';
}


/*************************************************************************/
/* 웹진 기사 카테고리..2007-10-23
/*************************************************************************/
function changeStCategoryFromXML(objFld1, objFld2, objFld3, val1, val2, val3)
{
  var XMLURL = "";
	while (objFld1.options.length > 1)
	{

		objFld1.options[1] = null;
	}

  if (typeof(objFld2)!= "undefinded" && objFld2 != '')
  {
  	while (objFld2.options.length > 1)
  	{
  		objFld2.options[1] = null;
  	}
  }

  if (typeof(objFld3)!= "undefinded" && objFld3 != '')
  {
  	while (objFld3.options.length > 1)
  	{
  		objFld3.options[1] = null;
  	}
  }

  XMLURL = "/_webmanage_/webzine/category_xml.asp?depth1="+ escape(val1);

	if (XMLURL != "")
	{
		var xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
		xmlHTTP.open("GET", XMLURL, false);
		xmlHTTP.send("");

		if (xmlHTTP.statusText == "OK")
		{
			var xmlDOM = xmlHTTP.responseXML;
			rows = xmlDOM.getElementsByTagName("DATA");
			count = rows.length;

			for (var i=0; i<count; i++)
				objFld1.options[i+1] = new Option(rows[i].text.split("||")[1], rows[i].text.split("||")[0]);

			rows = null;
			xmlDOM = null;
			xmlHTTP = null;
		}
	}
}

//11월 12일 서미정 추가 링크 점선 없애기
function bluring(){
if(event.srcElement.tagName=="A"||event.srcElement.tagName=="IMG") document.body.focus();
}
document.onfocusin=bluring;

