﻿/////  공통 상수 /////
var _strWebRoot;	//웹루트 - 박진선
_strWebRoot = window.document.location.pathname;
_strWebRoot = _strWebRoot.substring(0,_strWebRoot.indexOf("/",2)).toUpperCase();
_strWebRoot = _strWebRoot.replace("/","");
_strWebRoot = _strWebRoot.replace("/","");

var WEBROOT = _strWebRoot;

var strHLPDESC_JS = "システム担当者へお問い合わせ下さい。\n이메일: c1info@symbio.co.jp";
var strERRDESC_JS = "システム内部でエラーが発生しました。 (0x80000001)\n" + strHLPDESC_JS;

var strFORMAT_IMG = "^.+\\.(bmp|gif|jpg|jpeg|png)$";		// 업로드 가능한 이미지 파일 - 김성준

var ActiveXPopupError;


//Web Root Path를 반환한다.
function fn_GetWebRoot()
{
	return "/" + WEBROOT + "/";
}

//브라우저 XP여부 체크 - 박진선
var isXp = navigator.userAgent.indexOf('Windows NT 5.1') > 0;



//ActiveX 미설치시  안내 - 주민우 06.06.01 
function ARXLauncherTest()
{

	try
	{
		var xObj = new ActiveXObject("NStarter.Launcher");

		if(xObj)
			Installed = true;
		else
			Installed = false;
	}
	catch(ex)
	{
		Installed = false;
	}

	return Installed;

}


//브라우저 팝업 차단시 안내 - 주민우 06.06.01 
function popup(url, name, feature, bReplace)
{
	if(feature==null) feature = "";
	var win = window.open(url, name, feature, bReplace);
	if(win==null && ActiveXPopupError!="Y")
	{
		ActiveXPopupError = "Y";
		if(confirm("현재 회원님의 컴퓨터에 ActiveX 설치가 안 되어 있거나 팝업이 차단 되어 있습니다.   \n아크로 엑스트림의 모든 서비스를 정상적으로 받기 위해서는 ActiveX 설치 및 팝업이 허용되어 있어야 합니다.   \n안내 페이지를 보시겠습니까?   ")==true)
		{
			location.href="/Xtreme/Common/helppopup.aspx";
		}
	}
	
	return win;
}

//자동실행 팝업 - 주민우 06.06.01 
function popup1(url, name, feature, bReplace)
{
	if(feature==null) feature = "";
	var win = window.open(url, name, feature, bReplace);
	return win;
}

//window.open에서 폭과 높이 숫자는 내부 컨텐츠의 크기, scrollbar가 없는 고정창에서 사용 - 박진선
function popupXP(url, popWidth, popHeight, popStatus)
{
	var xpHoffset = 0;
	if (!isXp) 
	{
		xpHoffset = 0;
		popStatus = 'yes';
	}
	popHeight += xpHoffset;
	window.open(url, '', 'width='+popWidth+',height='+popHeight+',status='+popStatus);
}

//resizeTo에서 폭과 높이 숫자는 외부창의 크기 기본적으로 status가 있다고 가정 - 박진선
function resizeToXP(reWidth, reHeight)
{
	reWidth += 10;
	if (isXp) 
	{
		reHeight += 58;
	} 
	else 
	{
		reHeight += 49;
	}
	self.resizeTo(reWidth, reHeight);
}

//2k에서 status 없을 경우, XP에서는 status 존재한다고 가정 - 박진선
function resizeToNoStatus(reWidth, reHeight)
{	
	reWidth += 10;
	if (isXp) 
	{
		reHeight += 58;	
	}
	else 
	{
		reHeight += 29;
	}
	self.resizeTo(reWidth, reHeight);
}

//전체화면크기 새창 띄우기  - 박진선

function fn_OpenDocWindow(sUrl)
{
	windowName = new String(Math.round(Math.random() * 100000));
	window.open(sUrl, windowName, "top=0,left=0,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=1,width=" + (window.screen.width-10) + ",height=" + (window.screen.height-57));
}

//파라메터로 지정한 위치에 카렌더를 띠운다.			- 박진선
//Parameter :	oCtrl - 선택된 날짜가 리턴될 컨트롤 이름
//			posTop, posLeft = 위치
//Return	  :	날짜 ( YYYY-MM-DD )
function fn_OpenCalendar(posTop, posLeft,selDate)
{
	var arrValue;
	
	var strOpenUrl = fn_GetWebRoot() + "Common/Calendar.aspx?FunNm=CallCalendar";
	/*if(selDate != null)
	{
		arrValue = new Array(selDate);
	}		
	var strReturn = window.showModalDialog(strOpenUrl,arrValue , "dialogTop:" + posTop + "px;dialogLeft:" + posLeft + "px;dialogWidth:190px;dialogHeight:200px;status:no;help:no;scroll:no");
	
	if (strReturn == null)
		return "";
	else
		return strReturn;
	*/
		
	window.open(strOpenUrl,"Calendar","top=" + posTop + ",left=" + posLeft + ",width=182,height=173,help=no,scroll=no");		

}

//프로세스바
var bwating_window = false;
var wating_window;
function OpenProgressbar(visible, posTop, posLeft)
{

	var strUrl;
	var strFeature;
	var nTop = 0;
	var nLeft = 0;
	try
	{
		try
		{
			event.srcElement.disabled = visible;
		}
		catch(exception){}
		if(visible)
		{			
			strUrl = fn_GetWebRoot() + "Common/ProcessBar.htm";
			strFeature = "dialogWidth:300px;dialogHeight:150px;center:yes;help:no;resizable:no;status:no;scroll:no;toolbar:no;location:no;directories:no;menubar:no;";
			if(bwating_window == false) 
				wating_window = window.showModelessDialog(strUrl,"OrderMgmtModal",strFeature);													
			bwating_window = true;
		}
		else
		{
			bwating_window = false;
			wating_window.close();
		}
	}
	catch(exception)
	{
		try
		{
			event.srcElement.disabled = false;
		}
		catch(exception){}
	}

}

//리스트 체크박스 체크시 css 설정 변경  - 박진선

function chk_selected(f) {
	if (f.checked) {
		f.parentElement.parentElement.className='chk01';
	}
	else {
		f.parentElement.parentElement.className='chk02';
	}
}

//+++++++리스트 체크박스 모두 체크하기+++++++

//체크된 줄 색깔 바꾸기 포함  - 박진선

function ChangeStat()
{
	with(document.all) {			
		if(allbox.checked == true) {
			allbox.checked=true;
			fn_CheckAll('CHECKID',true);
		}
		else {
			allbox.checked=false;
			fn_CheckAll('CHECKID',false);
		}
	}
}

function fn_CheckAll(checkname,thestate)
{
	var el_collection=eval("document.all."+checkname);
	var c, tr;

	if(el_collection != null)
	{
		if(el_collection.length)
		{
			for (c=1 ;c<=el_collection.length; c++) {
				el_collection[c-1].checked=thestate;
				if (thestate == true) {
					el_collection[c-1].parentElement.parentElement.className='chk01';
				}
				else{
					el_collection[c-1].parentElement.parentElement.className='chk02';
				}
			}
		}
		else{
			el_collection.checked=thestate;
			if (thestate == true) {
				el_collection.parentElement.parentElement.className='chk01';
			}
			else{
				el_collection.parentElement.parentElement.className='chk02';
			}
		}
	}
}

//체크된 줄 색깔 바꾸기 미포함  - 박진선

function ChangeStat2()
{
	with(document.all) {			
		if(allbox.checked == true) {
			allbox.checked=true;
			fn_CheckAll2('CHECKID',true);
		}
		else {
			allbox.checked=false;
			fn_CheckAll2('CHECKID',false);
		}
	}
}

function fn_CheckAll2(checkname,thestate)
{
	var el_collection=eval("document.all."+checkname);
	var c, tr;

	if(el_collection != null)
	{
		if(el_collection.length)
		{
			for (c=1 ;c<=el_collection.length; c++) {
				el_collection[c-1].checked=thestate;				
			}
		}
		else{
			el_collection.checked=thestate;			
		}
	}
}
//++++++++++++++++++++++++++++++++++++++++++++++

//숫자에 콤마를 찍어주는 함수   - 박진선

function fn_CommaSplit(strNumber) 
{
	var txtNumber=strNumber
	var rxSplit = new RegExp('([0-9])([0-9][0-9][0-9][,.])');
	var arrNumber = txtNumber.split('.');
	arrNumber[0] += '.';
	do
	{
		arrNumber[0] = arrNumber[0].replace(rxSplit, '$1,$2');
	}
	while (rxSplit.test(arrNumber[0]));
	if(arrNumber.length > 1) 
	{
		return arrNumber.join('');
	}
	else
	{
		return arrNumber[0].split('.')[0];
				
	}
}
//숫자에 있는 콤마를 없애주는 함수  - 박진선

function fn_CommaClear(strValue)
{
	var strReplace, re;  
	re =/,/g;            
	strReplace = strValue.replace(re, "");
	return strReplace;
	
}	

//String 의 공백을 모두 제거한다.  - 박진선

function fn_Trim(sourceString)
{
	var strResult ;
	strResult = sourceString.replace(/\s/g,"");
	return strResult;
}

//String 의 양쪽공백을 모두 제거한다.  - 박진선

function fn_RLTrim(strSource)
{
	return strSource.replace(/(^\s*)|(\s*$)/g, "");
}

//text box에 입력값이 숫자일 경우에만 입력 받는다.           - 박진선

//		  text box의 onkeypress 이벤트 헨들러로 추가한다.
//		  ex) document.all.txtPrice.onkeypress = fn_CheckNumberBox
function fn_CheckNumberTextBox()
{
	try
	{
		// 허용키 : 8, 13, 27, 48 ~ 57
		if ( window.event.keyCode >= 48 && window.event.keyCode <= 57 )
		{
			window.event.returnValue = true;
			return;
		}
		if ( window.event.keyCode == 8 && window.event.keyCode == 13 && window.event.keyCode == 27 )
		{
			window.event.returnValue = true;
			return;
		}
		window.event.returnValue = false;
	}
	catch ( exception ){}	
}

//텍스트 박스에 실수만 들어가게 하는 Function - 박진선

function fn_Chk_Number()
{
	var target = event.srcElement;

	if(target.tagName == "INPUT"){
		keyValue = event.keyCode;

		if(((keyValue >= 48) && (keyValue <= 57 )) || ((keyValue >= 96) && (keyValue <= 105 )) ){  //0-9 
			return true;
		}else if( keyValue == 8 || keyValue == 46){	// delete , back space
			return true;
		}else if( keyValue == 37 || keyValue == 38 || keyValue == 39 || keyValue == 40){	//방향키

			return true;
		}else if(keyValue == 9){				//tab키 처리
			return true;
		}else if( keyValue == 190 || keyValue == 110){	// .
			return true;
		}
		return false;
	}			
}

/* -----------------------------------------------------
숫자를 넘겨받아 3자리마다 , 를 넣어서 반환하는 함수  - 박진선
금액을 나타내는 경우에 사용한다
----------------------------------------------------- */				
function Number_Format(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 UnNumber_Format(Money)
{
	var str;
	str = "";
	for(i=0;i<Money.length;i++)
	{
		if(Money.charAt(i) != ",")
			str = str + Money.charAt(i);
	}
	return str;
}

/* -----------------------------------------------------
숫자를 넘겨받아 - 를 넣어서 날짜 포맷으로 반환하는 함수  - 박진선
날짜를 나타내는 경우에 사용한다
----------------------------------------------------- */				
function Date_Format(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((num_str.length == 4 && i==3) || (num_str.length == 7 && i==5))
		{
			result = result + '-' 
		}
		result = num_str.charAt(tmp) + result
	}

	return result
}

//숫자를 2자리 문자열로 변환한다.            - 박진선

//		Parameter :	iNum - 2자리 이하 숫자
//		Return	  :	2자리 숫자 문자열
function fn_LeadingZero(iNum) 
{
	var strReturn;
	try
	{
		if ( iNum < 10 )
			strReturn = "0" + iNum;
		else
			strReturn = "" + iNum;
	}
	catch (exception){}
	return strReturn;
}

// 주소찾기 팝업창 - 유성호

function AddrSearch(ZipCodeField, Addr1Field, Addr2Field)
{
	var strurl = "/Xtreme/Common/AddrSearch.aspx?zipc=" + ZipCodeField + "&addr1=" + Addr1Field + "&addr2=" + Addr2Field;
	window.open(strurl, "Address", "scrollbars=yes,width=50,height=50,resizable=no");
}

/* 텍스트박스에 주소넣기 - 유성호

Parameter :	ZipCode      - 우편번호 
Parameter :	Addr1        - 주소값   
Parameter :	ZipCodeField - 우편번호들어갈 텍스트박스 명 
Parameter :	Addr1Field   - 주소들어갈 텍스트박스 명     
*/
function AddrSelect(ZipCode, Addr1, ZipCodeField, Addr1Field, Addr2Field)
{
	var fldZipCode, fldAddr1, fldAddr2;

	fldZipCode = eval(ZipCodeField);
	fldAddr1 = eval(Addr1Field);
	fldAddr2 = eval(Addr2Field);
	
	fldZipCode.value = ZipCode;
	fldAddr1.value = Addr1;
	fldAddr2.focus();
}

//주민번호 유효성 검사 - 박진선

function fn_ChkResiRegNo(oReg1,oReg2) {
	var Number = oReg1.value + "-" + oReg2.value;
	var Sum=0;
	var Mod=0;
	var YearIn=0;
	var MonthIn=0;
	var DateIn=0;
	var now = new Date();
	var yearnow=now.getYear();
	var monthnow=now.getMonth();
	var datenow=now.getDate();
	
	for(var i=0; i<13; i++) {
		if(i == 0)
		YearIn+=parseInt(Number.charAt(i))*10;
		if(i == 1)
		YearIn+=parseInt(Number.charAt(i));
		if(i == 2)
		MonthIn+=parseInt(Number.charAt(i))*10;
		if(i == 3)
		MonthIn+=parseInt(Number.charAt(i));
		if(i == 4)
		DateIn+=parseInt(Number.charAt(i))*10;
		if(i == 5)
		DateIn+=parseInt(Number.charAt(i));
		if(i < 6)
		Sum+=parseInt(Number.charAt(i))*(i+2);
		if(i > 6 && i < 9)
		Sum+=parseInt(Number.charAt(i))*(i+1);
		if(i > 8)
		Sum+=parseInt(Number.charAt(i))*(i-7);
	}

	Mod=11-(Sum%11);
	if((11-(Sum%11)) >= 10) Mod -= 10;
	if(Mod!=parseInt(Number.charAt(13))) {
		alert("주민등록번호가 틀렸습니다!!   ");
		oReg1.value = "";
		oReg2.value = "";
		oReg1.focus();
		return false;
	}
	if(MonthIn < 1 || MonthIn > 12 || DateIn < 1 || DateIn > 31) {
		alert("주민등록번호가 틀렸습니다!!   ");
		oReg1.value = "";
		oReg2.value = "";
		oReg1.focus();
		return false
	}
	if((MonthIn == 4 || MonthIn == 6 || MonthIn == 9 || MonthIn == 11 ) && DateIn > 30) {
		alert("주민등록번호가 틀렸습니다!!   ");
		oReg1.value = "";
		oReg2.value = "";
		oReg1.focus();
		return false
	}
	if(MonthIn == 2 && DateIn > 29) {
		alert("주민등록번호가 틀렸습니다!!   ");
		oReg1.value = "";
		oReg2.value = "";
		oReg1.focus();
		return false;
	}
	
	return true;
}


// 닉네임 유효성 검사 - 김성준 2006.3.24.
// 수정 &,'," 제외한 기본 특수문자, 영문, 한글, 숫자로 구성된 문자열의 길이(한글2자 영문1자로 계산) 리턴 - 주민우 2006.05.18
function Validator_ValidateNickname(nickname,strFilters)
{

	if(typeof(strFilters)=="undefined")
	{
		alert(strERRDESC_JS);
		return; 
	}

	var cnt=0;

	for (var i=0; i<nickname.length; i++){
   
     var str = nickname.substring(i,i+1);
     
     ret = isHankaku(str);
		 if (ret){
		     return -1;
			}
			
         if( str.match( /[^あ-ん | ァ-ン | a-z | A-Z| 1-9  \s]+/ ) ) {
				return -1;
            }
          else
          {
			cnt++;
          }
          
         
	}

	return cnt;

}

function isHankaku(str)
{
	var esc_str = escape(str);
	var ms = navigator.appVersion.indexOf("MSIE");
	var nesc = navigator.appName.lastIndexOf("Netscape"); //一致した位置(0)を返す
	
	if(nesc >= 0){
		if ( (esc_str.indexOf('%A') == 0) ||
			(esc_str.indexOf('%B') == 0) ||
			(esc_str.indexOf('%C') == 0) ||
			(esc_str.indexOf('%D') == 0) ){
			return(true);
		}
	}else if(ms > 0){
		if((esc_str.indexOf('%uFF6') == 0) ||
			(esc_str.indexOf('%uFF7') == 0) ||
			(esc_str.indexOf('%uFF8') == 0) ||
			(esc_str.indexOf('%uFF9') == 0) ) {
			return(true);
		}
	}

	return(false);
}
// 닉네임 욕 필터링 - 주민우 2006.6.9.
// Validator_ValidateNickname() 에서 호출
function FilterNIckName(NickName1,strFilters)
{
	
	var NickName=NickName1.replace(/[!-@[-`{-~]/g,"");
		
	for(var i=0; i<strFilters.length; i++)	
		if(NickName.toUpperCase().indexOf(strFilters[i].toUpperCase())>=0) return false;
	
	return true;
}

/* 함수명   : fn_NumberOnly
 * 설명     : 숫자(0~9)만 입력 가능 - 강현석
 * 파라미터 :
 */
function fn_NumberOnly()  
{
	if ( ((event.keyCode < 48) || (57 < event.keyCode)) && (45 != event.keyCode) ) event.returnValue=false;
}

/// <form>, <input> 객체 처리 ///
// form 객체 구하기 - 김성준
function fn_GetForm(strForm)
{
	if(strForm==null)
	{
		if(document.forms.length!=0) return document.forms(0);
	}
	else
		if(document.forms(strForm)!=null) return document.forms(strForm);
	return null;
}


// <input type="radio">가 체크됐는지 확인 - 김성준
function fn_CheckRadioChecked(strName, strItem, strForm)
{
	var objForm, objElements;

	if((objForm=fn_GetForm(strForm))!=null)
	if(objForm.elements(strName)!=null)
	{
		objElements = objForm.elements;
		for(var lngLoop=0;lngLoop<objElements.length;lngLoop++)
			if(	objElements(lngLoop).name==strName &&
				objElements(lngLoop).tagName=="INPUT" &&
				objElements(lngLoop).type=="radio" &&
				objElements(lngLoop).checked) return true;
		for(lngLoop=0;lngLoop<objElements.length;lngLoop++)
			if(	objElements(lngLoop).name==strName &&
				objElements(lngLoop).tagName=="INPUT" &&
				objElements(lngLoop).type=="radio")
			{
				fn_alertCheck(strItem, "を", " 選択下さい。");
				objElements(lngLoop).focus();
				return false;
			}
	}
	alert(strERRDESC_JS);
	return false;
}


// <input type="radio">에 특정 값이 체크되게 함 - 김성준
function fn_SetRadioChecked(strName, strValue, strForm)
{
	var objForm, objElements;

	if((objForm=fn_GetForm(strForm))!=null)
	if(objForm.elements(strName)!=null)
	{
		objElements = objForm.elements;
		for(var lngLoop=0;lngLoop<objElements.length;lngLoop++)
			if(	objElements(lngLoop).name==strName &&
				objElements(lngLoop).tagName=="INPUT" &&
				objElements(lngLoop).type=="radio" &&
				objElements(lngLoop).value==strValue)
				return (objElements(lngLoop).checked = true);
	}
	alert(strERRDESC_JS);
	return false;
}


// <input type="radio">에서 체크된 값 구하기 - 김성준
function fn_GetRadioValue(strName, strForm)
{
	var objForm, objElements;

	if((objForm=fn_GetForm(strForm))!=null)
	if(objForm.elements(strName)!=null)
	{
		objElements = objForm.elements;
		for(var lngLoop=0;lngLoop<objElements.length;lngLoop++)
			if(	objElements(lngLoop).name==strName &&
				objElements(lngLoop).tagName=="INPUT" &&
				objElements(lngLoop).type=="radio" &&
				objElements(lngLoop).checked==true)
				return objElements(lngLoop).value;
	}
	alert(strERRDESC_JS);
	return false;
}


// <input> 객체 유효성 검사 후 메세지 출력 - 김성준
function fn_alertCheck(strItem, strPostPos, strText)
{
	if(strItem==null)
	{
		alert(strERRDESC_JS);
		return;
	}


	var lngLength = strItem.length;

	switch(strItem.substr(lngLength-1,1))
	{
		case ".":
			strPostPos = "";
			strText = "";
			break;
		case "-":
			switch(strPostPos)
			{
				case "を":
					strPostPos = "を";
					break;
				case "が":
					strPostPos = "が";
					break;
				case "は":
					strPostPos = "は";
			}
			strItem = strItem.substr(0, lngLength-1);
	}
	if(strText==null) strText = "";
	alert(strItem + strPostPos + strText);
}


/////  문자열 처리 함수  /////
// HTML 인코딩 함수 - 김성준
function fn_HTMLEncode(strHTML)
{
    return strHTML.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}


// cross site scripting 방지용 함수 - 김성준
function fn_HTMLPreventXSS(strHTML)
{
	strHTML = fn_ReplaceRegExp(strHTML, "<(/?script)(>|\\s)", "&lt;$1$2");
	strHTML = fn_ReplaceRegExp(strHTML, "/?\\b(\\\\?j\\\\?a\\\\?v\\\\?a\\\\?s\\\\?c\\\\?r\\\\?i\\\\?p\\\\?t\\\\?:)", "/$1");
	strHTML = fn_ReplaceRegExp(strHTML, "/?\\b(\\\\?v\\\\?b\\\\?s\\\\?c\\\\?r\\\\?i\\\\?p\\\\?t\\\\?:)", "/$1");

	return strHTML;
}


// javacript 문자열 내의 escape 문자 처리 함수 - 김성준
function fn_EscJSQuot(strString)
{
	return strString.replace(/\\/g, "\\\\").replace(/"/g, "\\\"").replace(/\r/g, "\\r").replace(/\n/g, "\\n");
}


// 정규식 확인 함수 - 김성준
function fn_CheckRegExp(strText, strPattern, blnIgnoreCase)
{
	var strFlags = "i";
	if(blnIgnoreCase==false) strFlags = "";

	return (new RegExp(strPattern, strFlags)).test(strText);
}


// 정규식을 이용한 문자열 변경 함수 - 김성준
function fn_ReplaceRegExp(strValue, strPattern, strReplace, blnIgnoreCase)
{
	var strFlags = "ig";
	if(blnIgnoreCase==false) strFlags = "g";

	return strValue.replace(new RegExp(strPattern, strFlags), strReplace);
}


// 정규식을 이용한 class 이름 확인 함수 - 김성준
function fn_CheckClassName(strText, strName)
{
	return fn_CheckRegExp(strText, "^(.*\\s)?"+strName+"(\\s.*)?$");
}


// 커서 모양을 변경(하위 Frame, IFrame을 찾아서 전부 변경) - 김성준
function fn_SetCursor(strCursor)
{
	fn_setCursorAll(strCursor);
	if(top.frames.length==0) return;

	var objElements = top.document.all;
	for(var i=0;i<objElements.length;i++)
		if((objElements(i).tagName=="FRAME" || objElements(i).tagName=="IFRAME")
			&& objElements(i).src!="")
			switch(top.frames(objElements(i).uniqueID).document.readyState)
			{
				case "complete":
				case "interactive":
					if(typeof(top.frames(objElements(i).uniqueID).public_SetCursor)=="function")
						top.frames(objElements(i).uniqueID).public_SetCursor(strCursor);
					else
						fn_setCursorAll(strCursor, top.frames(objElements(i).uniqueID).document);
					break;
			}
}


// fn_SetCursor()에서 사용하는 함수: 실제로 각 객체의 커서 모양을 변경 - 김성준
function fn_setCursorAll(strCursor, objDoc)
{
	if(objDoc==null) objDoc = top.document;

	var objElements = objDoc.all, tempCursor;
	for(var i=0;i<objElements.length;i++)
	{
		if(objElements(i).style.cursor!="" || objElements(i).tagName=="INPUT")
		{
			if(strCursor=="auto")
			{
				tempCursor = objElements(i).tempCursor;
				if(tempCursor==null) tempCursor = "";
				objElements(i).style.cursor = tempCursor;
			}
			else
			{
				if(objElements(i).tempCursor==null) objElements(i).tempCursor = objElements(i).style.cursor;
				objElements(i).style.cursor = strCursor;
			}
		}
		if(objElements(i).tagName=="OBJECT" && typeof(objElements(i).SetCursor)=="function") objElements(i).SetCursor(strCursor);
	}

	if(objDoc.body!=null) objDoc.body.style.cursor = strCursor;
}



//게시물  타이틀  길이  체크  후  말줄임  처리 
function  Board_attachEvent()  { 
	var  objNOBRs = document.all.tags("NOBR");
	for(var i=0;i<objNOBRs.length;i++) 
		if(fn_CheckClassName(objNOBRs(i).className,  "ellipsis") || fn_CheckClassName(objNOBRs(i).className,  "ellipsis1")) 
			Behavior_nobr_ellipsis_resizeWidth(objNOBRs(i)); 

	var objTextComments = document.all("TextComment");
	var length = 0;
	if(objTextComments!=null)
		if(objTextComments.length==null)
			length = 1;
		else
			length = objTextComments.length;
	var objTextComment;
	for(var i=0;i<length;i++)
	{
		objTextComment = document.all("TextComment", i);
		objTextComment.maxLength = 200;
		objTextComment.onkeypress = Behavior_TextComment_onkeypress;
	}
} 

function  Behavior_nobr_ellipsis_resizeWidth(element)  { 
	var  NewElement; 
	NewElement  =  element.parentElement; 

	while  (NewElement.tagName  !=  "TD")  { 
		NewElement  =  NewElement.parentElement; 
	}
	if(NewElement.parentElement.className.substring(0,6)=="notice") element.style.fontWeight = "bold";
	
	var objCommentCount = NewElement.children(NewElement.children.length-1);
	var intWidth = 0;
	if(objCommentCount.tagName=="FONT" && fn_CheckClassName(objCommentCount.className, "commentCount"))
	{
		objCommentCount.style.display = "inline";
		intWidth = parseInt(objCommentCount.offsetWidth);
	}

	var intNewWidth = parseInt(NewElement.offsetWidth)  -  parseInt(NewElement.currentStyle.paddingLeft.replace(/px/g,  ""))  -  parseInt(NewElement.currentStyle.paddingRight.replace(/px/g,  "")) - intWidth;
	if(intNewWidth > element.scrollWidth) intNewWidth = element.scrollWidth;
	element.style.width  = intNewWidth;
	element.title  =  element.innerText;
} 

function Behavior_TextComment_onkeypress()
{
	if(event.keyCode==13)
	{
		if(__doPostBack!=null) __doPostBack('imgbtnComment','');
		return false;
	}
}

/***********   서브메뉴 플래쉬(왼쪽)  ************/
function SubMenu(pageNum, subNum)
{	
	var strheight;
	if (pageNum==1) strheight=116;
	else if (pageNum==2) strheight=196;
	else if (pageNum==3) strheight=156;
	else if (pageNum==4) strheight=136;
	else if (pageNum==5) strheight=96;
	else if (pageNum==6) strheight=116;
	else if (pageNum==7) strheight=116;
	else if (pageNum==8) strheight=177;
	else	strheight=0;
	
	if (strheight!=0)
	{
		document.write('<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="196" height="'+strheight+'">');
		document.write('<param name="movie" value="/xtreme/common/fla/left_menu0'+pageNum+'.swf?pageNum='+subNum+'">');
		document.write('<param name="quality" value="high">');
		document.write('<param name="wmode" value="transparent">');
		document.write('<embed src="/xtreme/common/fla/left_menu0'+pageNum+'.swf?pageNum='+subNum+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="196"  height="'+strheight+'" wmode="transparent"></embed>');
		document.write('</object>');
	}
}

/***********   서브메뉴 플래쉬(중간)  ************/
function SubMenu_mid(pageNum, subNum)
{	
	
	if (pageNum!="" && pageNum!=null)
	{
		document.write('<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="646" height="74">');
		document.write('<param name="movie" value="/xtreme/common/fla/middle_menu0'+pageNum+'.swf?pageNum='+subNum+'">');
		document.write('<param name="quality" value="high">');
		document.write('<param name="wmode" value="transparent">');
		document.write('<embed src="/xtreme/common/fla/middle_menu0'+pageNum+'.swf?pageNum='+subNum+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="646"  height="74" wmode="transparent"></embed>');
		document.write('</object>');
	}
}

function SetUID()
{
	var cookie = getCookie("USERID");
	var cookie_check = getCookie("USERID_CHECK");

	eval("document.all."+_ControlID_ucLogin+"UserID").value = cookie;
	//if(cookie_check == "Y")	 document.all.checkbox.checked =true;
	//else	document.all.checkbox.checked =false;


}


function fn_CashCharge()
{
	location.href="/Xtreme/Store/Coin/index.aspx";
}


/*=======================================================================
Function명	: fn_goLogin
내용		: 로그인 안되있는 상태에서 로그인 정보가 있어야하는 로직을 실행시킬때 로그인 페이지로 이동시킴. 
parameter   : url : 로그인 페이지로 넘길 url 
최초작성자  : 엔체널 유성호.
최초작성일  : 2006년 11월 17일.
최초작성일  : 2006년 11월 17일.
========================================================================*/
function fn_goLogin(url)
{
	var strUrl="/Xtreme/index.aspx";
	var strReturnUrl=url;
	
	if(strReturnUrl!=null && strReturnUrl!="")
		strUrl+= "?ReturnUrl=" + strReturnUrl;
		
	if(opener==null || opener.closed)
		location.href=strUrl;
	else
	{
		window.close();
		window.opener.location.href=strUrl;
	}
}

/*=======================================================================
Function명	: fn_LoginProcess
내용		: 팝업창인지 아닌지를 판단하여 파라미터에 넘겨온 URL로 페이지변경 
최초작성자  : 엔체널 유성호.
최초작성일  : 2006년 11월 16일.
최초작성일  : 2006년 11월 16일.
========================================================================*/
function fn_LoginProcess(url)
{
	var strUrl;
	strUrl = url; // url = 예) /Xtreme/Common/Login.aspx 
	
	if(strUrl==null || strUrl=="")
		strUrl="/Xtreme/";

	if(opener==null || opener.closed)
		location.href=strUrl;
	else
	{	
		location.href=strUrl;
		opener.location.reload();
	}
}

/*=======================================================================
Function명	: fn_Popup_PWAuthentication
내용		: 인증 모달창을 띄움.
최초작성자  : 엔체널 유성호.
최초작성일  : 2006년 11월 17일.
최초작성일  : 2006년 11월 17일.
========================================================================*/
function fn_Popup_PWAuthentication(features)
{
	var sUrl;
	var sFeatures;
	
	sUrl = "/Xtreme/Common/MemberAuthentication.aspx";
	sFeatures = features;
	
	retval = window.showModalDialog(sUrl,window,sFeatures);
	
	if(typeof(retval)=="undefined")
		return;
	else
		return retval;
}

//window.attachEvent("onload",  Board_attachEvent);


