// 모달	윈도우 함수	(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";
	mdWindow = window.open(vUrl, "", opt,	false);
	return mdWindow;
}

//인스턴스이름 있는	창 열기.
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 goPage(formNm,	PageNo)	{
	f=eval("document."+formNm);
	f.page.value=PageNo;
	f.submit();
}

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"	:	// 날짜	:	2010-07-13
			pattern	=/^[_a-z0-9-]{6,16}$/;
			break;
		case "ID"	:
			pattern	=/^[_a-z0-9-]{5,10}$/;
			break;
		case "JUMIN1"	:
			pattern	=/^[0-9]{6}$/;
			break;
		case "JUMIN2"	:
			pattern	=/^[0-9]{7}$/;
			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;
}

//숫자만 눌리게	하기 , 방향키	+	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;
}

// 날짜	유효성체크
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();
		formname1.focus();
		return false;
	}
	if((sex!=1&&sex!=2)||(formname2.value.length!=7)){
		formname2.select();
		formname2.focus();
		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();
		formname2.focus();
		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 isEmpty(field,	error_msg)
{
	if(error_msg ==	"")	{
		if(!CheckValid(field.value,	false))	{
			if (field.type == "text")
			field.focus();
			return true;
		}	else {
			return false;
		}
	}	else {
		if(!CheckValid(field.value,	false))	{
			alert(error_msg);
			if (field.type == "text")
			field.focus()	;
			return true;
		}	else {
			return false;
		}
	}
}

// 투명 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 '';
}

/*
	.trim()
*/
String.prototype.trim = function() {
    return this.replace(/(^ *)|( *$)/g, "");
}

/*
	.ltrim()
*/
String.prototype.ltrim = function() {
    return this.replace(/(^ *)/g, "");
}

/*
	.rtrim()
*/
String.prototype.rtrim = function() {
    return this.replace(/( *$)/g, "");
}

//Radio Box, Check Box 체크되어있는지 여부
function isCheck(pName, pMsg) {
	if ($("input[name='"+pName+"']:checked").length < 1) {
		if(pMsg != "") {
			alert(pMsg);
		}

		return false;
	}
	else {
		return true;
	}
}

//Check Box 모두 선택/해제
function checkAll(pId, pName) {
	if ($("#"+pId+":checked").length > 0) {
		$("input[name='"+pName+"']:not(checked)").attr("checked", "checked");
	} else {
		$("input[name='"+pName+"']:checked").attr("checked", "");
	}
}

//입력 Byte 체크
function input_cal_byte(frm, fname, max_byte){
	var fname_str, byte_count=0, fname_length=0, one_str, ext_byte;

	fname_str = new String(fname.value);
	fname_length = fname_str.length;

	for (i=0;i<fname_length;i++){
	  one_str=fname_str.charAt(i);

	  if (escape(one_str).length > 4){
			byte_count+=2;
	  } else if (one_str != '\r'){
			byte_count++;
	  }
	}
	//frm.iTxtByte.value = byte_count;
	$("#iTxtByte").text(byte_count/2);

	if (byte_count > max_byte){
		ext_byte = byte_count - max_byte;
	  alert((max_byte/2)+'자 이상 입력하실수 없습니다.\n\n입력하신 내용 중 초과 '+(ext_byte/2)+'자는 자동 삭제 됩니다.\n');
	  input_cut_text(fname,max_byte);
	}
}

//입력창 byte대로 자르기
function input_cut_text(fname, max_byte){
    var fname_str, byte_count=0, fname_length=0, one_str;

    fname_str = new String(fname.value);
    fname_length = fname_str.length;

    for (i=0;i<fname_length;i++){

        if (byte_count < max_byte){
            one_str=fname_str.charAt(i);

            if (escape(one_str).length > 4){
                byte_count+=2;
            }
            else if (one_str != '\r'){
                byte_count++;
            }
        }
        else{
            fname_str = fname_str.substring(0,i);
            break;
        }
    }

    if ((max_byte%2) ==1){
        fname_length = (fname_str.length-1);
        if (escape(fname_str.charAt(fname_length)).length > 4){
            fname_str = fname_str.substring(0,fname_length);
        }
    }

    fname.value = fname_str;
    return fname_str;
}

//글자수 체크
function checkWordSize(obj, title, max){
	if (obj.value.length>max) {
		obj.blur();
		obj.value = obj.value.substring(0,max-1);
		alert(title+'(은/는) '+max+'자를 초과할 수 없습니다.');
		obj.focus();
	}
}

//팝업 자동 리사이즈
function popupResize(pID){
	var width = 0, height = 0;

	if($.browser.msie){ // IE
		if($.browser.version == "6.0") {
			width = 21;
			height = 85;
			if(location.pathname.indexOf("myroom_profile_write.asp") >= 0) { width = 37; }
		}
		else if($.browser.version == "7.0") {
			width = 21;
			height = 108;
		}
		else{
			width = 21;
			height = 108;
		}
  }
	else if($.browser.mozilla){ // FF
		width = 18;
		height = 113;
  }
	else if($.browser.safari){	// safari, crome
		width = 20;
		height = 85;
	}

	window.resizeTo($("#" + pID).width() + width, $("#" + pID).height() + height);
}

//비밀번호 정규화
function checkPass(pPass, pVal1, pVal2, pVal3) {
	if (checkPattern("PASS", pPass) == false) {
		alert("비밀번호는 6~16자로 영문 소문자와 숫자의 조합, 특수문자 (_)만 사용하여 공백없이 입력해주세요.");
		return false;
	}

	var chk_num = pPass.search(/[0-9]/g);
	var chk_eng = pPass.search(/[a-z]/ig);
	if(chk_num < 0 || chk_eng < 0) {
		alert("비밀번호는 영문소문자와 숫자를 조합하여 6~16자로 입력해주세요.");
		return false;
	}

	if(/(\w)\1\1\1\1\1/.test(pPass)) {
		alert("비밀번호에 동일한 문자(숫자 포함)를 6자리 이상 사용할 수 없습니다.");
		return false;
	}

	if(pPass.search(pVal1) > -1) {
		alert("아이디가 포함된 비밀번호는 사용하실 수 없습니다.");
		return false;
	}

	if((pVal2.length > 0 && pPass.search(pVal2) > -1) || (pVal3.length > 0 && pPass.search(pVal3) > -1)) {
		alert("주민등록번호가 포함된 비밀번호는 사용하실 수 없습니다.");
		return false;
	}
}

