﻿
//check if str includes a alphabet character
function IsAlphabetIncluded(str) {
	var flag = false;
	
	for(var i=0; i < str.length; i++) {
		if(('A' <= str.charAt(i) && str.charAt(i) <= 'Z') || ('a' <= str.charAt(i) && str.charAt(i) <= 'z')) {
			flag = true;
		}
	}
	
	return flag;
}

//check if str includes a numeric character
function IsNumberIncluded(str) {
	var flag = false;
	
	for(var i=0; i < str.length; i++) {
		if('0' <= str.charAt(i) && str.charAt(i) <= '9') {
			flag = true;
		}
	}
	
	return flag;
}

// check if str includes a numeric character or special character
function IsNumOrSpecialIncluded(str) {
	var flag = false;
	for(var i=0; i < str.length; i++) {
	if (!(('A' <= str.charAt(i) && str.charAt(i) <= 'Z') || ('a' <= str.charAt(i) && str.charAt(i) <= 'z'))) 
		flag = true;
	}
	return flag;
}
function checkNumeric()
{
	ek=window.event.keyCode;
	if (ek==32 || ek==45) event.keyCode=0;
	if (ek<48 || ek>57) event.keyCode=0;
}

// check the whitespace in the password
function IsBlankInPassword(str) {
	var flag = false;
	for(var i=0; i < str.length; i++) {
	if (str.charAt(i) == ' ') 
		flag = true;
	}
	return flag;
}
//check the length of the password
function IsPassword(str) {
	if(str.length < 6)
		return false;
	if(str.length > 16)
		return false;
	if(!IsAlphabetIncluded(str))
		return false;
	if(!IsNumOrSpecialIncluded(str))
		return false;
		
	return true;
}

function CheckPassword(data1, data2)
{
	if((data1 == null) || (data1 == ""))
	{
		window.alert(FILL_PASSWORD);
		
		return false;
	}
	
	if((data2 == null) || (data2 == ""))
	{
		window.alert(FILL_PASSWORD_CONFIRM);
		
		return false;
	}
	
	if(data1 != data2)
	{
		window.alert(CHECK_PASSWORD);
		return false;
	}
					
	if(!IsPassword(data1))
	{
		window.alert(WRONG_PASSWORD);
		return false;
	}
	
	return true;
}	

//check the length of the password
function IsQuizAnswer(str,minLength) {
	//2009.04.02 length check logic 에서 byte check logic 으로 변경 - dylee
	if(minLength==undefined)
	{
		minLength = 4;
	}	
	
	if(!CheckMinLengthByte(str,minLength))
		return false;
		
	if(!CheckMaxLengthByte(str,20))
		return false;

	if(str.indexOf(" ") > -1)		
		return false;
		
	return true;
}

function CheckQuizAnswer(data, serviceCode)
{
	if(IsNull(data))
	{
		window.alert(FILL_QUIZANSWER);
		
		return false;
	}	
	if(serviceCode!=undefined)
	{	
		if(!IsQuizAnswer(data,2))
		{
			window.alert(WRONG_QUIZANSWER2);
					
			return false;
		}
	}
	else
	{
		if(!IsQuizAnswer(data,4))
		{
			window.alert(WRONG_QUIZANSWER);
					
			return false;
		}
	}
	return true;
}

//check if the string is a valid phone number
function IsPhoneNumber(str) {
	if(str.length < 9)
		return false;

	for(var i=0; i < str.length; i++) {
		if(!('0' <= str.charAt(i) && str.charAt(i) <= '9') && !(str.charAt(i) == " " ) && !(str.charAt(i) == "-" ) )
			return false;
	}
	return true;
}

//check if the string contains numbers from 0-9
function IsNumber(str) {
	if(str.length == 0)
		return false;

	for(var i=0; i < str.length; i++) {
		if(!('0' <= str.charAt(i) && str.charAt(i) <= '9'))
			return false;
	}
	return true;
}

//check if str includes only alphabet
function IsAlphabet(str) {
	if(str.length == 0)
		return false;

	str = str.toUpperCase();
	for(var i=0; i < str.length; i++) {
		if(!('A' <= str.charAt(i) && str.charAt(i) <= 'Z'))
			return false;
	}
	return true;
}

//check email address format
function IsEmail(str) {
	if(str.length == 0)
		return false;
		
	if(str.length >= 50)
		return false;

	var emailExpression = /[a-z0-9]{2,}@[a-z0-9-]{2,}\.[a-z0-9]{2,}/i;
	if(!emailExpression.test(str))
		return false;

	return true;
}
/*
function IsValidEmailDomain(str) {
	if(str.length == 0)
		return false;	
	var i = str.indexOf("@");
	if(i > 0)
		return false;
	i = str.indexOf(".");
	if(i < 0)
		return false;
	
	return true;
}
function IsValidDomailWithoutAt(str) {
	if(str.length == 0)
		return false;	
	var i = str.indexOf(".");
	if(i < 0)
		return false;
	
	return true;
}
*/
function IsValidEmailId(str) {
	if(str.length == 0)
		return false;

	var emailExpression = /[a-z0-9]{2,}/i;
	if(!emailExpression.test(str))
		return false;
	
	return true;
}

//phone1 = form.phone1
// return true : success
function IsValidPhoneNumber(phone1, phone2, phone3)
{
	if(!IsNumber(phone1.value) || phone1.value == "")
	{
		alert(FILL_PHONE);
		phone1.value = "";			
		phone1.focus();
		return false;	
	}				
	if(!IsNumber(phone2.value) || phone2.value == "" || IsShort(phone2.value, 3))
	{
		alert(FILL_PHONE);
		phone2.value = "";			
		phone2.focus();
		return false;		
	}
	if(!IsNumber(phone3.value) || phone3.value == "" || IsShort(phone3.value, 4))
	{			
		alert(FILL_PHONE);
		phone3.value = "";			
		phone3.focus();
		return false;			
	}		
	return true;	
}	

function IsValidPhoneNumber2(phone1, phone2, phone3)
{
	if(!IsNumber(phone1) || phone1 == "")
	{
		return false;	
	}
	
	if(!IsNumber(phone2) || phone2 == "" || IsShort(phone2, 3))
	{
		return false;
	}
	
	if(!IsNumber(phone3) || phone3 == "" || IsShort(phone3, 4))
	{
		return false;			
	}
	
	return true;	
}	

function IsValidMobilePhoneNumber2(phone1, phone2, phone3)
{
	if(!IsNumber(phone1) || phone1 == "")
	{
		return false;	
	}
	
	if(!IsNumber(phone2) || phone2 == "" || IsShort(phone2, 3))
	{
		return false;
	}
	
	if(!IsNumber(phone3) || phone3 == "" || IsShort(phone3, 4))
	{
		return false;			
	}
	
	return true;	
}

function IsValidAddressInfo(zipcode, addrMain, addrDetail)
{
	// return true;
	if (IsNull(zipcode.value) || IsShort(zipcode.value, 6))
	{
		alert(FILL_ADDRESS);			
		return false;
	}
	if (IsNull(addrMain.value) || IsShort(addrMain.value, 5))
	{
		alert(FILL_ADDRESS);			
		return false;
	}
	if (IsNull(addrDetail.value) || IsShort(addrDetail.value, 3))
	{
		alert(FILL_ADDRESSDETAIL);		
		addrDetail.value = "";
		addrDetail.focus();	
		return false;
	}	
	return true;
}

function IsCaptchaString(str)	{
	if(str.length < 3)
		return false;
//	if (!IsNumber(str))
//		return false;
	return true;
}

//check ID format
function IsUserId(str) {
	if(str.length < 6)
		return false;
	if(str.length > 16)
		return false;		
	return true;
}

//사업자 등록 번호 체크
function IsBiz(a)
{
		return true;
        var strNumb = a;

        if (strNumb.length != 10)
        {
            return false;
        }
        
        sumMod  =   0;
        sumMod  +=  parseInt(strNumb.substring(0,1));
        sumMod  +=  parseInt(strNumb.substring(1,2)) * 3 % 10;
        sumMod  +=  parseInt(strNumb.substring(2,3)) * 7 % 10;
        sumMod  +=  parseInt(strNumb.substring(3,4)) * 1 % 10;
        sumMod  +=  parseInt(strNumb.substring(4,5)) * 3 % 10;
        sumMod  +=  parseInt(strNumb.substring(5,6)) * 7 % 10;
        sumMod  +=  parseInt(strNumb.substring(6,7)) * 1 % 10;
        sumMod  +=  parseInt(strNumb.substring(7,8)) * 3 % 10;
        sumMod  +=  Math.floor(parseInt(strNumb.substring(8,9)) * 5 / 10);
        sumMod  +=  parseInt(strNumb.substring(8,9)) * 5 % 10;
        sumMod  +=  parseInt(strNumb.substring(9,10));
        
        if (sumMod % 10  !=  0)
        {
              return false;
        }
        
		return true;
}

//check input string is correct name
function IsCorrectName(inputStr) 
{	
	for (var i = 0; i < inputStr.length; i++) { 		
		var nCode = inputStr.charCodeAt(i);
		
		if (!(nCode >= 44032 && nCode <= 55203) && !('A' <= inputStr.charAt(i) && inputStr.charAt(i) <= 'Z') && !('a' <= inputStr.charAt(i) && inputStr.charAt(i) <= 'z') && !(inputStr.charAt(i) <= ' '))
			return false;
	} 
	if (trim(inputStr).length == 0)
		return false;
	return true;
}

function MoveFocus(num,fromform,toform) {
    var str = fromform.value.length;
    
    if(str == num) {
       toform.focus();    
	}
}

//check keyboard input for skip SPACE
function NoSpace()
{
	if(event.keyCode == 32)
		event.returnValue=false;
}

//check keyboard input ('Number' is valid)
function OnlyNumber()
{
	if ((event.keyCode < 48)||(event.keyCode > 57))
	event.returnValue=false;
}

//check keyboard input ('Number', '.' is valid)
function OnlyNumberWithDot()  
{
	if (((event.keyCode < 48) &&(event.keyCode != 46)) || (event.keyCode > 57)) 
	event.returnValue=false;
}	

//check keyboard input ('Number', '-' is valid)
function OnlyNumberWithDash() 
{
	if (((event.keyCode < 48) && (event.keyCode != 45))||(event.keyCode > 57))
	event.returnValue=false;
}

//check if input is empty
function IsEmpty(aTextField){
    var re = /\s/g; //Match any white space including space, tab, formfeed,etc.
    var str = aTextField.replace(re, "");
    if (str.length == 0) {
        return true;
    } else {
        return false;
    }
}

function DeleteSpecificString (strValue)
{
	var reg1 = /\W|\_*/g;
	var strStringAndInt;

	strStringAndInt = strValue.replace(reg1, "");
	return strStringAndInt;
}

function GetByte(strValue) {	
	var strString = "";
	var intLen=0;
	
	for(var i=0; i<strValue.length; i++) {
		strString = strValue.toUpperCase( ).charCodeAt(i);	
							
		if((strString < 256)) {		
			intLen = intLen + 1;
		}else{		
			intLen = intLen + 2;
		}
	}
	return intLen;	
}

//convert input text into HTML string
function ConvertTextToHTML(strContent)
{
	var newstr;
	var strLine;
	var retString = "";
	var sizeString = strContent.length;
	
	for (var i=0; i < sizeString; i++) {
		strLine = strContent.charAt(i);

		strLine = strLine.replace("&", "&amp;");
		strLine = strLine.replace("'", "&#39;");
		strLine = strLine.replace("\"", "&quot;");
		strLine = strLine.replace(">", "&gt;");
		strLine = strLine.replace("<", "&lt;");
		strLine = strLine.replace("[", "&#91;");
		strLine = strLine.replace("]", "&#93;");
		strLine = strLine.replace(/\t/, "&#9;");
		strLine = strLine.replace(/\n/, "&#10;");
		strLine = strLine.replace(/\r/, "<br/>");
		strLine = strLine.replace(" ", "&#160;");
		retString = retString + strLine
	}

	return retString;
}

/*------------------------------------------------------------------------------------*/
// Null 체크( 예] obj ---> document.forms[0].cus_name )
/*------------------------------------------------------------------------------------*/
function IsNull(obj) {
	if(obj == "" || obj == null) {
		return true;
	}
	return false;
}

/*------------------------------------------------------------------------------------*/
// Number 타입여부 체크 
/*------------------------------------------------------------------------------------*/
function IsNumber(obj) {
	var str = obj;
	if(str.length == 0) {
		return false;
	}

	for(var i=0; i < str.length; i++) {
		if(!('0' <= str.charAt(i) && str.charAt(i) <= '9')) {
			return false;
		}
	}
	return true;
}

/*------------------------------------------------------------------------------------*/
// 2개값 동일여부 체크 (같으면 true 반환)
/*------------------------------------------------------------------------------------*/
function IsSame(obj1, obj2) {
	var str1 = obj1;
	var str2 = obj2;
	if(str1.length == 0 || str2.length == 0)
		return false;

	if(str1 == str2)
		return true;
	return false;
}

/*------------------------------------------------------------------------------------*/
// 길이 체크(len보다 짧으면 true 반환)
/*------------------------------------------------------------------------------------*/
function IsShort(obj, len) {
	var str = obj;
	if(str.length < len) {
		return true;
	}
	return false;
}

/*------------------------------------------------------------------------------------*/
// 영문자 체크
/*------------------------------------------------------------------------------------*/
function IsAlphabet(obj) {
	var str = obj;
	if(str.length == 0) {
		return false;
	}

	str = str.toUpperCase();
	for(var i=0; i < str.length; i++) {
		if(!('A' <= str.charAt(i) && str.charAt(i) <= 'Z')) {
			return false;
		}
	}
	return true;
}

/*------------------------------------------------------------------------------------*/
// 영문자,숫자 허용
/*------------------------------------------------------------------------------------*/
function IsAlphaNumeric(obj) {
	var str = obj;
	if(str.length == 0) {
		return false;
	}

	str = str.toUpperCase();
	for(var i=0; i < str.length; i++) {
		if(!(('A' <= str.charAt(i) && str.charAt(i) <= 'Z') ||
			('0' <= str.charAt(i) && str.charAt(i) <= '9'))) {
			return false;
		}
	}
	return true;
}

/*------------------------------------------------------------------------------------*/
// ID 가능 체크
/*------------------------------------------------------------------------------------*/
function IsAccount(data) {
	var str = data;
		
	str = str.toUpperCase();
	if(!('A' <= str.charAt(0) && str.charAt(0) <= 'Z')) {
		return false;
	}		

	for(var i=1; i < str.length; i++) {
		if(!('A' <= str.charAt(i) && str.charAt(i) <= 'Z') && !('0' <= str.charAt(i) && str.charAt(i) <= '9')) {
			return false;
		}		
	}
	return true;
}

function CheckAccountLength(data)
{
	var str = data;
	if(str.length == 0) {		
		return false;
	}		

	if(str.length < 4)
		return false;
	if(str.length > 16)
		return false;

	return true;
}

function CheckAccount(data)
{
	if(IsNull(data))
	{
		window.alert(FILL_ACCOUNT);
		
		return false;
	}
	
	if(!CheckAccountLength(data))
	{
		window.alert(WRONG_ACCOUNT_LENGTH);
		
		return false;
	}
	
	if(!IsAccount(data))
	{		
		window.alert(WRONG_ACCOUNT);
		
		return false;
	}
	
	return true;
}	

/*------------------------------------------------------------------------------------*/
// 특문 체크
/*------------------------------------------------------------------------------------*/
function isEtcString(value) {
 var _etcValue   = '~`!@#$%%^&*()-_=+\|[{]};:\'\",<.>/?';
 var i,j;
 for(i=0;i<value.length;i++) {
  for(j=0;j<_etcValue.length;j++)
   if(value.charAt(i) == _etcValue.charAt(j)) {
    return true;
   }
 }
 return false;
}

/*------------------------------------------------------------------------------------*/
// 특문 걸러내기
/*------------------------------------------------------------------------------------*/

function cleanQuery(word) {
    var specialChars='~`!@#$%%^&*-=\|[{]};:\',<.>/?()';    
    var i, j;
    if (word == '') {      
	  return '';
    }
    for (i = 0; i < word.length; i++) {
      for (j = 0; j < specialChars.length; j++) {
        if (word.charAt(i) == specialChars.charAt(j))
	      word = word.replace(word.charAt(i), " ");
      }
    }
    return word;
  }



/*------------------------------------------------------------------------------------*/
// 닉네임 가능 체크
/*------------------------------------------------------------------------------------*/
function IsNickName(data) {

	if(IsNull(data))
	{
		window.alert(FILL_NICKNAME);
		
		nResultValue = false;
	}

	var str = data;
	if(str.length == 0) {		
		return false;
	}		

	if(str.length < 2)
		return false;
	if(str.length > 15)
		return false;
		
	str = str.toUpperCase();
	
	/* 한글/영문/숫자 체크 */
	for (var i = 0; i < str.length; i++) { 		
		var nCode = str.charCodeAt(i);
		
		if (!(nCode >= 44032 && nCode <= 55203) && !('A' <= str.charAt(i) && str.charAt(i) <= 'Z') && !('0' <= str.charAt(i) && str.charAt(i) <= '9'))
		{	
			return false;
		}
	} 
	return true;
	
}

function CheckNickname(nick)
{
	if(IsNull(nick))
	{
		alert(FILL_NICKNAME);
		return false;
	}
	
	if(!IsNickName(nick))
	{		
		alert(WRONG_NICKNAME);			
		return false;
	}
	return true;		
}


/*------------------------------------------------------------------------------------*/
// 이메일 주소 체크
/*------------------------------------------------------------------------------------*/
function IsEmail(data)
{
	var str = data;
	if(str.length < 4)
		return false;
	if(str.length > 50)
		return false;
		
	var reg = /^[A-Za-z0-9_\-]+([.][A-Za-z0-9_\-]+)*[@][A-Za-z0-9_\-]+([.][A-Za-z0-9_\-]+)+$/;
	
	if ( reg.test(data) == false )
	{
		return false;
	}	
	return true;
}

/*------------------------------------------------------------------------------------*/
// 주민등록번호 체크
/*------------------------------------------------------------------------------------*/
function IsSSN(ssn1, ssn2) {
	var chk = 0 ;
	
	if (ssn1.length == 6) {
		if (ssn2.length == 7) {
			if (ssn2.substring(0,1) == 5 || ssn2.substring(0,1) == 6) {
				return true;
			}
			for (var i = 0 ; i <= 5 ; i++) { chk = chk + ((i % 8 + 2) * parseInt(ssn1.substring(i, i+1))) }
			for (var i = 6 ; i <= 11 ; i++) { chk = chk + ((i % 8 + 2) * parseInt(ssn2.substring(i-6, i-5))) }
			chk = 11 - (chk % 11) ;
			chk = chk % 10 ;
			if (chk != ssn2.substring(6, 7)) {
				return false ;
			} else return true ;
		} else return false ;
	} else return false ;
}
/*------------------------------------------------------------------------------------*/
// 숫자를 금액형으로 변환( 예]12,345원 )
/*------------------------------------------------------------------------------------*/
function fNumToStr(num) {
	var v = String(num);
	var l = v.length;
	var str = '';
	var c = 1;
	var tmp = new Array();
	var coma = ',';
	
	for (i=l;i>-1;i--) {
		c++;
		if ((c%3==0)&&(i!=l-1))
			tmp[i]=v.charAt(i) + coma;
		else
			tmp[i]=v.charAt(i);
	}
	str=tmp.join('');
	
	return str;
}

/*------------------------------------------------------------------------------------*/
// 크기 체크(앞에 수가 뒤에 수보다 작으면 true 반환)
/*------------------------------------------------------------------------------------*/
function IsLarge(obj1, obj2) {
	var str1 = parseInt(obj1);
	var str2 = parseInt(obj2);
	if(str1 < str2 || str1 == str2) {
		return true;
	}
	return false;
}

/*------------------------------------------------------------------------------------*/
// 문자열내에 숫자체크(문자열 내에 0-9 사이의 숫자가 있다면 true 반환)
/*------------------------------------------------------------------------------------*/
function IsNum_valid(data) {
	var strKey = "0123456789"
	for(var idx = 0; idx < data.length; idx++) {
		if(strKey.indexOf(data.charAt(idx),0) >= 0 ) {
			return true;
		}
	}
	return false;
}

/*------------------------------------------------------------------------------------*/
// 문자열내에 공백제거(공백을 제외하고 문자열을 다시 반환)
/*------------------------------------------------------------------------------------*/
function del_space(obj) {
	var strvalue = '';
	
	for (var i = 0 ;  obj.length > i ; i++) {
		if (obj.charAt(i) != ' ') 
			strvalue = strvalue + obj.charAt(i);
	}
	return strvalue;
}
/*------------------------------------------------------------------------------------*/
// 외국인 주민등록번호 체크
/*------------------------------------------------------------------------------------*/
function checkFgnNo(reg_no) {
    var sum = 0;
    var odd = 0;
    
    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 IsSSNInter(ssn1, ssn2) {
	var chk = 0 ;
	
	if (ssn1.length == 6) {
		if (ssn2.length == 7) {
			if ( !(IsNumber(ssn1) && IsNumber(ssn2)) )
				return false;
			if (ssn2.substring(0,1) == 5 || ssn2.substring(0,1) == 6) {
				var sum = 0;
				var odd = 0;
				var reg_no;
				
				reg_no = ssn1+ssn2;
    
				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;
				}
			}
			
			for (var i = 0 ; i <= 5 ; i++) { chk = chk + ((i % 8 + 2) * parseInt(ssn1.substring(i, i+1))) }
			for (var i = 6 ; i <= 11 ; i++) { chk = chk + ((i % 8 + 2) * parseInt(ssn2.substring(i-6, i-5))) }
			chk = 11 - (chk % 11) ;
			chk = chk % 10 ;
			
			if (chk != ssn2.substring(6, 7)) {
				return false ;
			} else return true ;
		} else return false ;
	} else return false ;
}

function DoPrint()
{
	window.print();
}

function IsMobile(phone1Value)
{
	var bResult = false;
	
	switch(phone1Value)
	{
		case "010":
		case "011":
		case "016":
		case "017":
		case "018":
		case "019":
			bResult = true;
			break;
		default:
			bResult = false;
			break;
	}

	return bResult;	
}

/**********************************/
/* window.open() Interface        */
/* by tonakkai                    */
/**********************************/
function WinOpen(url, windowName, width, height, adjust, resizable)
{
	var winOpt = "";
	var left, top;
	switch(adjust)
	{
		// top, left 
		case 1:	
			top = 0;
			left = 0;
			break;
		//  top, right
		case 2:	
			top = 0;
			left = window.screen.availWidth - width;
			break;
		// center
		case 3:
			top = (window.screen.availHeight - height) / 2;
			left = (window.screen.availWidth - width) / 2;
			break;
		// bottom, left
		case 4:
			top = window.screen.availHeight - height;
			left = 0;
			break;
		// bottom, right
		case 5:
			top = window.screen.availHeight - height;
			left = window.screen.availWidth - width;
			break;
	}
	
	if (adjust > 0)
		winOpt = "top=" + top + ", left=" + left;
	winOpt = winOpt + "width=" + width + ",height=" + height;
	if (resizable > 0)
		winOpt = winOpt + ",resizable=yes";
	else
		winOpt = winOpt + ",resizable=no";
	
	window.open(url, windowName, winOpt + ",menubar=no, scrollbars=no");
}


/**********************************/
/* popup window resizing          */
/* by tonakkai                    */
/**********************************/
function ResizeWindow(baseWindow, adjustTagName, resizable, scrollable) 
{
	baseWindow.focus();

	if (!eval("document.images." + adjustTagName))
		return;

    width = GetWinWidth(self);
    height = GetWinHeight(self);
    adjustTagOffset = eval("document.images." + adjustTagName + ".offsetTop");

    if( height == adjustTagOffset ) 
		return;

	resizeWidth = width + 9;
	resizeHeight = adjustTagOffset + 75;

	if (resizable == true) 
	{
		resizeWidth += 18;
		resizeHeight += 2;		
	}
	if (scrollable == true) 
	{
		resizeWidth += 16;
	}

	self.window.resizeTo(resizeWidth, resizeHeight);

}

function GetWinWidth(obj)
{
	var width;
	
	width = obj.document.body.clientWidth;
	if (obj != self)
		width += 12;
	
	return width;
}

function GetWinHeight(obj) 
{
	var height;

  	height = obj.document.body.clientHeight;

    if(obj != self)
    	height += (23 + 8);
	
	return height;
}

/// <summary>
///		왼쪽공백 제거
/// </summary>
/// <param name="sEmail">검사할 Email string</param>
///	<returns>왼쪽공백 제거된 string<returns>
function ltrim(sTmp)
{
	var sRet = new String(sTmp); 
	if (sRet.substr(0, 1) == " ")
	{
		return ltrim(sRet.substr(1)); 
	}
	else
	{
		return sRet;
	}
}
/// <summary>
///		오른쪽공백 제거
/// </summary>
/// <param name="sEmail">검사할 Email string</param>
///	<returns>오른쪽공백 제거된 string<returns>
function rtrim(sTmp)
{ 
	var sRet = new String(sTmp); 
	if (sRet.substr(sRet.length - 1, 1) == " ")
	{
		return rtrim(sRet.substring(0, sRet.length - 1)) 
	}
	else
	{
		return sRet;
	}
}
/// <summary>
///		좌우공백 제거
/// </summary>
/// <param name="sEmail">검사할 Email string</param>
///	<returns>좌우공백 제거된 string<returns>
function trim(sTmp)
{ 
	return ltrim(rtrim(sTmp)); 
}
/// <summary>
///		[좌우공백 + \t\r\n]제거
/// </summary>
/// <param name="sEmail">검사할 Email string</param>
///	<returns>좌우공백 제거된 string<returns>
function trimA(sTmp)
{
	return trim(sTmp.replace(/[\t|\n|\n\r]/g, ""));
}

/// <summary>
///		팝업창을 가운데 정렬해서 띄워줌
/// </summary>
/// <param name="sURL">페이지 이동할 URL</param>
/// <param name="wName">팝업창의 window명</param>
/// <param name="nW">팝업창 높이값</param>
/// <param name="nH">팝업창 높이값</param>
/// <param name="bScroll">스크롤 있는여부 (true:있음, false:없음)</param>
///	<returns>팝업창</returns>
function FnOpenWinN(sURL, wName, nW, nH, bScroll)
{
	return PopWin = FnOpenWinW(sURL, wName, nW, nH, '', '', bScroll);
}

// <summary>
///		해당조건에 따라서 팝업창을 띄워줌
/// </summary>
/// <param name="sURL">페이지 이동할 URL</param>
/// <param name="sWName">팝업창 Window명</param>
/// <param name="nW">팝업창 높이값</param>
/// <param name="nH">팝업창 높이값</param>
/// <param name="nT">팝업창 세로 위치값</param>
/// <param name="nL">팝업창 가로 위치값</param>
/// <param name="bScroll">스크롤 있는여부 (true:있음, false:없음)</param>
/// <param name="bResize">팝업창사이즈 변경여부 (true:변경가능, false:변경불가능)</param>
///	<returns>팝업창</returns>
function FnOpenWinW(sURL, sWName, nW, nH, nT, nL, bScroll, bResize)
{
	var sOption = "";
	var sScroll;
	var nSW = screen.width;
	var nSH = screen.height;
	var nPointW = 0, nPointH = 0;
	var	sResize = (bResize == null || bResize == true) ? "resizable=yes" : "resizable=no";
	if (nT == '' || nL == '')
	{
		if(nW < nSW)
		{
			nPointW = (nSW - nW) / 2;
		}
		if(nH < nSH)
		{
			nPointH = (nSH - nH) / 2 - 40;
		}
	}
	else
	{
		nPointW = nL;
		nPointH = nT;
	}
	if (bScroll == 0)
	{
		sScroll = " scrollbars=no";
	}
	else
	{
		sScroll = " scrollbars=yes";
	}
	sOption = sOption + "toolbar=no, channelmode=no, location=no, directories=no, menubar=no, status=no, " + sScroll+","+ sResize;
	sOption = sOption + ", width=" + nW + ", height=" + nH + ", top=" + nPointH + ", left=" + nPointW;
	var PopWin = window.open(sURL, sWName, sOption);
	PopWin.focus();
	return PopWin;
}

function CheckMinLengthByte(thisObj, minLengthByte)
{
	var tempByteLength = 0;
	for(var i=0 ; i<thisObj.length ; i++)
	{
		if(escape(thisObj.charAt(i)).length > 4)		
			tempByteLength+=2;		
		else
			tempByteLength++;		
	}	
	
	if(tempByteLength < minLengthByte)
	{	
		return false;		
	}	
	else
	{	
		return true;
	}
}

function CheckMaxLengthByte(thisObj, maxLengthByte)
{
	var tempByteLength = 0;
	for(var i=0 ; i<thisObj.length ; i++)
	{
		if(escape(thisObj.charAt(i)).length > 4)		
			tempByteLength+=2;		
		else
			tempByteLength++;		
	}
		
	if(tempByteLength > maxLengthByte)
	{	
		return false;		
	}
	else
	{
		return true;
	}
}

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 '';
} 


 function sleep(ms)
 {
      var dt = new Date();
      dt.setTime(dt.getTime() + ms);
      while (new Date().getTime() < dt.getTime());
 }


