﻿
	/* 1. 문자열의 양쪽(왼쪽, 오른쪽) 공백 제거 */ 
	function trim(pstr) {
		var search = 0
		while (pstr.charAt(search) == " ") {
			search = search + 1
		}
		pstr = pstr.substring(search, (pstr.length))
		search = pstr.length - 1
		while (pstr.charAt(search) ==" ")
		{
			search = search - 1
		}
		return pstr.substring(0, search + 1)         
	}

	/* 2. 문자열의 BYTE 길이 구하기 */ 
	function bytelength(pstr) {
		var i, ch;
		len = pstr.length;
		for (i = 0; i < pstr.length; i++) {
			ch = pstr.substr(i,1).charCodeAt(0);
			if (ch > 127) { len++; }
		}
		return len;
	}

	/* 3. 한글 스트링 체크 */
	function hanstr(pstr) {
		var i, ch;
		for (i = 0; i < pstr.length; i++) {
			ch = escape(pstr.charAt(i));        //ISO-Latin-1 문자셋으로 변경
			//가 ==> %uAC00
			//힝 ==> %uD79D
			//힣 ==> %uD7A3
			if (strCharByte(ch) != 2) {
				return false;
			}
		}
		return true;
	}

	/* 3-1. 한글 byte 체크 */
	function strCharByte(chStr) {

		if (chStr.substring(0, 2) == '%u') {
			
			/* alert(chStr.substring(2,6)); */
			if (chStr.substring(2,6) >= "AC00" && chStr.substring(2,6) <= "D7A3") {
				return 2;			/* 한글 */
			} else {
				return 1;
			}

			/* 구버전 */
			/*
			if (chStr.substring(2,4) == '00')
				return 1;
			else
				return 2;
			*/

		} else if (chStr.substring(0,1) == '%') {
			if (parseInt(chStr.substring(1,3), 16) > 127)
				return 2;			/* 한글 */
			else
				return 1;
		} else {
			return 1;
		}

	}

	/* 4. 숫자 스트링 체크 */
	function digitstr(pstr) {
		var valid = "0123456789";
		return checkstr(pstr, valid, 0);
	}

	/* 5. 영문자,숫자 스트링 체크 */
	function alphadigitstr(pstr) {
		var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
		return checkstr(pstr, valid, 0);
	}

	/* 6. 영문자,숫자,특수문자 스트링 체크 */
	function charstr(pstr) {
		var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~!@#$%^*()_+`-={}|[]\\:\";'<>?,./&";
		return checkstr(pstr, valid, 0);
	}
	
	/* 7. 로그인 */
	function emailidstr(pstr) {
		var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-@.";
		return checkstr(pstr, valid, 0);
	}

	/* 8. 닉네임(별명) 스트링 체크 */
	function nickstr(pstr) {
		var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-.^/* ";
		return checkstr(pstr, valid, 1);
	}

	/* 9. 상호 스트링 체크 */
	function corpstr(pstr) {
		var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~!@#$%^*()_+`-={}|[]\\:\";'<>?,./& ";
		return checkstr(pstr, valid, 1);
	}	
	
	/* 10. 해외거주 가입자 이름 체크 */
	function fuserstr(pstr) {
		var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz., ";
		return checkstr(pstr, valid, 1);
	}

	function checkstr(pstr, pvalid, han) {
		var valid = pvalid;
		var tmp;
		var flag = true;

		for (var i = 0; i < pstr.length; i++) {
			flag = true;
			tmp = "" + pstr.substring(i, i+1);
			
			if (han != 1) {
				if (valid.indexOf(tmp) == -1) {
					return false;
				}
			} else {
				ch = escape(pstr.charAt(i));  // ISO-Latin-1 문자셋으로 변경
				if (valid.indexOf(tmp) == -1 && strCharByte(ch) != 2)
				{
					return false;
				}
			}
		}
		return true;;
	}

	/* 4. Select Form 값 가져오기 */
	function get_select_value(sset) { 
		for (var i = 0; i < sset.length; i++ ) {
			if ( sset.options[i].selected ) {
				return (sset[i].value);
			}
		}
		return "";
	}

	/* 5. Radio Form 값 가져오기 */
	function get_radio_value(rset) {
		if (rset.length) {
			for (var i = 0; i < rset.length; i++ ) {
				if ( rset[i].checked ) {
					return (rset[i].value);
				}
			}
			return ""; 
		} else {
			if (rset.checked) {
				return rset.value;
			} else {
				return "";
			} 
		}
	}

	/* 6. Checkbox Form 값 가져오기 */
	function get_checkbox_value(cset) {
		if (cset.length) {
			for (var i = 0; i < cset.length; i++ ) {
				if ( cset[i].checked ) {
					return (cset[i].value);
				}
			}
			return "";
		} else {
			if (cset.checked) {
				return cset.value;
			} else {
				return "";
			}
		}
	}



	function emailstr(emailStr) {

		/* The following variable tells the rest of the function whether or not
		   to verify that the address ends in a two-letter country or well-known
		   TLD.  1 means check it, 0 means don't. */

		var checkTLD = 1;

		/* The following is the list of known TLDs that an e-mail address must end with. */

		var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;

		/* The following pattern is used to check if the entered e-mail address
		   fits the user@domain format.  It also is used to separate the username
		   from the domain. */

		var emailPat = /^(.+)@(.+)$/;

		/* The following string represents the pattern for matching all special
		   characters.  We don't want to allow special characters in the address. 
		   These characters include ( ) < > @ , ; : \ " . [ ] */

		var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";

		/* The following string represents the range of characters allowed in a 
		   username or domainname.  It really states which chars aren't allowed.*/

		var validChars="\[^\\s" + specialChars + "\]";

		/* The following pattern applies if the "user" is a quoted string (in
		   which case, there are no rules about which characters are allowed
		   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
		   is a legal e-mail address. */

		var quotedUser="(\"[^\"]*\")";

		/* The following pattern applies for domains that are IP addresses,
		   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
		   e-mail address. NOTE: The square brackets are required. */

		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;

		/* The following string represents an atom (basically a series of non-special characters.) */

		var atom = validChars + '+';

		/* The following string represents one word in the typical username.
		   For example, in john.doe@somewhere.com, john and doe are words.
		   Basically, a word is either an atom or quoted string. */

		var word="(" + atom + "|" + quotedUser + ")";

		// The following pattern describes the structure of the user

		var userPat=new RegExp("^" + word + "(\\." + word + ")*$");

		/* The following pattern describes the structure of a normal symbolic domain,
		   as opposed to ipDomainPat, shown above. */

		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

		/* Finally, let's start trying to figure out if the supplied address is valid. */

		/* Begin with the coarse pattern to simply break up user@domain into
		   different pieces that are easy to analyze. */

		var matchArray=emailStr.match(emailPat);

		if (matchArray == null) {

		/* Too many/few @'s or something; basically, this address doesn't
		   even fit the general mould of a valid e-mail address. */

			// alert("Email address seems incorrect (check @ and .'s)");
			return false;
		}

		var user=matchArray[1];
		var domain=matchArray[2];

		// Start by checking that only basic ASCII characters are in the strings (0-127).

		for (i=0; i<user.length; i++) {
			if (user.charCodeAt(i)>127) {
				// alert("Ths username contains invalid characters.");
				return false;
			}
		}

		for (i=0; i<domain.length; i++) {
			if (domain.charCodeAt(i)>127) {
				// alert("Ths domain name contains invalid characters.");
				return false;
			}
		}

		// See if "user" is valid 
		if (user.match(userPat) == null) {

			// user is not valid

			// alert("The username doesn't seem to be valid.");
			return false;
		}

		/* if the e-mail address is at an IP address (as opposed to a symbolic
		   host name) make sure the IP address is valid. */

		var IPArray = domain.match(ipDomainPat);
		if (IPArray != null) {

			// this is an IP address
			for (var i = 1; i <= 4; i++) {
				if (IPArray[i] > 255) {
					// alert("Destination IP address is invalid!");
					return false;
				}
			}
			return true;
		}

		// Domain is symbolic name.  Check if it's valid.

		var atomPat = new RegExp("^" + atom + "$");
		var domArr = domain.split(".");
		var len = domArr.length;
		for (i = 0; i < len; i++) {
			if (domArr[i].search(atomPat)==-1) {
				// alert("The domain name does not seem to be valid.");
				return false;
			}
		}

		/* domain name seems valid, but now make sure that it ends in a
		   known top-level domain (like com, edu, gov) or a two-letter word,
		   representing country (uk, nl), and that there's a hostname preceding 
		   the domain or country. */

		if (checkTLD && domArr[domArr.length-1].length!=2 && 
			domArr[domArr.length-1].search(knownDomsPat)==-1) {
			// alert("The address must end in a well-known domain or two letter " + "country.");
			return false;
		}

		// Make sure there's a host name preceding the domain.
		if (len<2) {
			// alert("This address is missing a hostname!");
			return false;
		}

		// If we've gotten this far, everything's valid!
		return true;
	}

	/* 7. 자동 Tab */
	var isNN = (navigator.appName.indexOf("Netscape")!=-1);
	function autoTab(input,len, e) {
		var keyCode = (isNN) ? e.which : e.keyCode;
        var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
        if(input.value.length >= len && !containsElement(filter,keyCode)) {
            input.value = input.value.slice(0, len);
			input.form[(getIndex(input)+1) % input.form.length].focus();
		}
		
		function containsElement(arr, ele) {
			var found = false, index = 0;
            while(!found && index < arr.length) {
                if(arr[index] == ele)
                    found = true; 
                else 
                    index++;
			}
            return found;
        }   

		function getIndex(input) {
			var index = -1, i = 0, found = false;
			while (i < input.form.length && index == -1) {
                if (input.form[i] == input)
					index = i;
				else
					i++;
			}
			return index;
		}
		return true;
	}
	/* 함수 끝 */

/* 넣는 방법
	<input onKeyUp="return autoTab(this, 6, event);" size="7" maxlength="6"> -
	<input onKeyUp="return autoTab(this, 7, event);" size="8" maxlength="7">
*/

	/* 8. 자동 Focus */
	function autoFocus(frm) {
		for (i = 0; i < frm.length; i++) {
			if (frm[i].type == "text" || frm[i].type == "password") {
				frm[i].focus();
				break;
			}
		}
	}

	function getCookie( name ) {
		var nameOfCookie = name + "=";
		var x = 0;
		while ( x <= document.cookie.length ) {

			var y = (x+nameOfCookie.length);
			if ( document.cookie.substring( x, y ) == nameOfCookie ) {
				if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 ) 
					endOfCookie = document.cookie.length;

				return unescape( document.cookie.substring( y, endOfCookie ) );
			}
			x = document.cookie.indexOf( " ", x ) + 1;
			if ( x == 0 )
				break;  
		}
		return "";
	}

	function setCookie (name, value) {
		var argv = setCookie.arguments;
		var argc = setCookie.arguments.length;
		var expires = (2 < argc)? argv[2] : null;
		var path = (3 < argc)	? argv[3] : null;
		var domain = (4 < argc)	? argv[4] : null;
		var secure = (5 < argc)	? argv[5] : false;
		document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + ((path == null) ? "" : ("; path=" + path)) + ((domain == null) ? "" : ("; domain=" + domain)) + ((secure == true) ? "; secure" : "");
	}

	/* 101. 아이디 체크 */
	function validUserid(fuserid) {
		var str = fuserid.value;
		var len = bytelength(str);

		if (str == "" || len == 0) { 
			alert("아이디는 반드시 입력해야 합니다. 아이디를 입력하시기 바랍니다.");
			return false;
		}

        if (len < 4 || len > 12) {
            alert("아이디는 4글자 이상 12글자 이하이어야 합니다. 아이디를 다시 입력하시기 바랍니다.");
            return false;
        }

		if (str.indexOf(" ") != -1) {
			alert("아이디에는 공백을 넣을 수 없습니다. 아이디를 다시 입력하시기 바랍니다.");
            return false;		
		}

        if (!alphadigitstr(str)) {
            alert("아이디는 영문자와 숫자로만 이루어져야 합니다. 아이디를 다시 입력하시기 바랍니다.");
            return false;
        }

        return true;
	}
	
	/* 102. 기존 아이디 체크 */
	function validOUserid(fuserid, fname) {
		var str = fuserid.value;
		var len = bytelength(str);
		if (!fname)		fname = "아이디";

		if (str == "" || len == 0) { 
			alert(fname+"는 반드시 입력해야 합니다. "+fname+"를 입력하시기 바랍니다.");
			return false;
		}
	
		if (str.indexOf(" ") != -1) {
			alert(fname+"에는 공백을 넣을 수 없습니다. "+fname+"를 다시 입력하시기 바랍니다.");
			return false;		
		}
		
		if (hanstr(str)) {
			alert("파란에서는 영문 아이디만 가능합니다. 영문 아이디를 입력하시기 바랍니다.");
			return false;
		}

        if (!emailidstr(str)) {
            alert(fname+"는 영문자와 숫자, 그리고 일부기호(_,-) 로만 이루어져야 합니다. "+fname+"를 다시 입력하시기 바랍니다.");
            return false;
        }

        return true;
	}
	
	/* 103. 비밀번호 체크 */
	function validPasswd(fpasswd, fname, fcelltel, fhometel, fjobtel, fpersono) {
		var str = fpasswd.value;
		var len = bytelength(str);
		var args = arguments.length;

		var celltel = "";
		var hometel = "";
		var jobtel = "";
		var persono = "";

		var celltel1	= "";
		var celltel2	= "";
		var celltel3	= "";
		var hometel1	= "";
		var hometel2	= "";
		var hometel3	= "";
		var jobtel1		= "";
		var jobtel2		= "";
		var jobtel3		= "";
		var persono1	= "";
		var persono2	= "";
		
		if (args > 2)
		{
			celltel = trim(fcelltel.value);
			hometel = trim(fhometel.value);
			jobtel = trim(fjobtel.value);
			persono = trim(fpersono.value);
			
			if (celltel != null && celltel !="")
			{
				var celltelarr = celltel.split("-");
				if (celltelarr.length == 3)
				{
					celltel1 = trim(celltelarr[0]);
					celltel2 = trim(celltelarr[1]);
					celltel3 = trim(celltelarr[2]);
				}
			}

			if (hometel != null && hometel !="")
			{
				var hometelarr = hometel.split("-");
				if (hometelarr.length == 3)
				{
					hometel1 = trim(hometelarr[0]);
					hometel2 = trim(hometelarr[1]);
					hometel3 = trim(hometelarr[2]);
				}
			}

			if (jobtel != null && jobtel !="")
			{
				var jobtelarr = jobtel.split("-");
				if (jobtelarr.length == 3)
				{
					jobtel1 = trim(jobtelarr[0]);
					jobtel2 = trim(jobtelarr[1]);
					jobtel3 = trim(jobtelarr[2]);
				}
			}
		}
		
		if (!fname)		fname = "비밀번호";

		if (str == "" || len == 0)
		{ 
			alert(fname+"는 반드시 입력해야 합니다. "+fname+"를 입력하시기 바랍니다.");
			return false;
		}
		 
		if (len < 6 || len > 12)
		{
			alert(fname+"는 6글자 이상 12글자 이하이어야 합니다. "+fname+"를 다시 입력하시기 바랍니다.");
			return false;
		}
		
		if (str.indexOf(" ") != -1)
		{
			alert(fname+"에는 공백을 넣을 수 없습니다. "+fname+"를 다시 입력하시기 바랍니다.");
			return false;		
		}		

        if (!charstr(str))
        {
            alert(fname+"는 영문, 숫자, 특수문자로만 이루어져야 합니다. "+fname+"를 다시 입력하시기 바랍니다.");
            return false;
        }

		if (celltel1.length > 0 && celltel2.length > 0 && celltel3.length > 0)
		{
			if (str.indexOf(celltel2+celltel3) >= 0 || str.indexOf(celltel3) >= 0 || str.indexOf(celltel1+celltel2+celltel3) >= 0)
			{
        	    alert(fname+"에 핸드폰번호 조합이 있으면 안됩니다. "+fname+"를 다시 입력하시기 바랍니다.");
				return false;
			}
		}

		if (hometel1.length > 0 && hometel2.length > 0 && hometel3.length > 0)
		{
			if (str.indexOf(hometel2+hometel3) >= 0||str.indexOf(hometel3) >= 0||str.indexOf(hometel1+hometel2+hometel3) >= 0)
			{
				alert(fname+"에 집전화번호 조합이 있으면 안됩니다. "+fname+"를 다시 입력하시기 바랍니다.");
				return false;
			}
		}

		if (jobtel1.length > 0 && jobtel2.length > 0 && jobtel3.length > 0)
		{
			if (str.indexOf(jobtel2+jobtel3) >= 0||str.indexOf(jobtel3) >= 0||str.indexOf(jobtel1+jobtel2+jobtel3) >= 0)
			{
				alert(fname+"에 직장전화번호 조합이 있으면 안됩니다. "+fname+"를 다시 입력하시기 바랍니다.");
				return false;
			}
		}

		if (persono.length == 13)
		{
			if (str.indexOf(persono.substr(0,6)) >= 0||str.indexOf(persono.substr(0,4)) >= 0||str.indexOf(persono.substr(6,13)) >= 0||str.indexOf(persono.substr(9,13)) >= 0)
			{
				alert(fname+"에 주민번호 조합이 있으면 안됩니다. "+fname+"를 다시 입력하시기 바랍니다.");
				return false;
			}
		}

		for (i = 0;i < len; i++ )
		{
			if (i + 1 >= len || i + 2 >= len) continue;

			if (str.charAt(i) == str.charAt(i+1) && str.charAt(i+1) == str.charAt(i+2))
			{
				alert(fname+"에는 동일글자 3회 이상 연속적으로 반복할 수 없습니다.. "+fname+"를 다시 입력하시기 바랍니다.");	
				return false;
			}
		}
		
        return true;
    }
    
	/* 104. 기존 비밀번호 체크 */
	function validOPasswd(fpasswd, fname) {
		var str = trim(fpasswd.value);
		var len = bytelength(str);
		if (!fname)		fname = "비밀번호";

		if (str == "" || len == 0) { 
			alert(fname+"는 반드시 입력해야 합니다. "+fname+"를 입력하시기 바랍니다.");
			return false;
		}
		
		if (len < 4 || len > 12) {
			alert(fname+"는 4글자 이상 12글자 이하이어야 합니다. "+fname+"를 다시 입력하시기 바랍니다.");
			return false;
		}

		if (str.indexOf(" ") != -1) {
			alert(fname+"에는 공백을 넣을 수 없습니다. "+fname+"를 다시 입력하시기 바랍니다.");
			return false;		
		}

        if (!charstr(str)) {
            alert(fname+"는 영문, 숫자, 특수문자로만 이루어져야 합니다. "+fname+"를 다시 입력하시기 바랍니다.");
            return false;
        }

        return true;
	}
	
	/* 105. 비밀번호확인 체크 */
    function validCPasswd(fpasswdchk, fpasswd, fnamechk, fname) {
		var str1 = trim(fpasswdchk.value);
		var str2 = trim(fpasswd.value);
		var len1 = bytelength(str1);
		var len2 = bytelength(str2);
		if (!fnamechk)	fnamechk = "비밀번호확인";
		if (!fname)		fname = "비밀번호";

		if (str1 == "" || len1 == 0) { 
			alert(fnamechk+"은 반드시 입력해야 합니다. "+fnamechk+"을 입력하시기 바랍니다.");
			return false;
		}

		if (len1 < 6 || len1 > 12) {
			alert(fnamechk+"은 6글자 이상 12글자 이하이어야 합니다. "+fnamechk+"을 다시 입력하시기 바랍니다.");
			return false;
		}		

		if (str1.indexOf(" ") != -1) {
			alert(fnamechk+"에는 공백을 넣을 수 없습니다. "+fnamechk+"을 다시 입력하시기 바랍니다.");
			return false;		
		}

		if (!charstr(str1)) {
            alert(fnamechk+"은 영문, 숫자, 특수문자로만 이루어져야 합니다. "+fnamechk+"을 다시 입력하시기 바랍니다.");
            return false;
        }

        if (str1 != str2) {
            alert(fname+"와 "+fnamechk+"이 일치하지 않습니다. "+fname+"를 다시 입력하시기 바랍니다.");
            return false;
        }

        return true;
    }

	/* 151. 로그인 아이디 체크 */
	function validLoginid(fuserid, fdomain) {

		if (fdomain.type == "select-one" && get_select_value(fdomain) == "") {
			if (!emailstr(fuserid.value)) {
				alert("올바른 아이디 형식이 아닙니다. 아이디를 다시 입력하시기 바랍니다.");
				return false;
			} else {
				return true;
			}
		} else {
			return validOUserid(fuserid);
		}
	}

	/* 152. 로그인 비밀번호 체크 */
	function validLoginpasswd(fpasswd) {
		return validOPasswd(fpasswd);
	}

	/* 201. 로그인 폼 체크 */
	function checkLoginfm(fuserid, fdomain, fpasswd, fsaveid, fsecure)
	{
		if (!validLoginid(fuserid, fdomain))
		{
			fuserid.focus();
			fuserid.select();
			return false;
		}

		if (!validLoginpasswd(fpasswd))
		{
			fpasswd.focus();
			fpasswd.select();
			return false;
		}
		
		var domainval;
		
		if (trim(fdomain.value) == "")
		{
			iddomainarr = fuserid.value.split('@');
			if (iddomainarr.length == 2 && trim(iddomainarr[1]) != "")
			{
				domainval = iddomainarr[1];
			}
		}
		else
		{
			domainval = fdomain.value;
		}
		
		if (domainval == "wibro.paran.com")
		{
			if (fsecure.checked == true)
			{
				fuserid.form.action = "https://user.paran.com/wibroAction.do?method=wibroLogin";
			}
			else
			{
				fuserid.form.action = "http://user.paran.com/wibroAction.do?method=wibroLogin";
			}
		}
		else
		{
			if (fsecure.checked == true)
			{
				fuserid.form.action = "https://main.paran.com/mainAction.do?method=paranMainLogin";
			}
			else
			{
				fuserid.form.action = "http://main.paran.com/mainAction.do?method=paranMainLogin";
			}
		}

		return true;
	}

	/* 201. 도메인 Select Item 생성 */
	var domainNameArr = new Array("paran.com", "hitel.net", "hanmir.com", "tiniwini.com", "kttown.com", "직접입력");
	var domainValueArr = new Array("paran.com", "hitel.net", "hanmir.com", "tiniwini.com", "kttown.com", "");

	function displayLoginfm(fuserid, fdomain, fpasswd, fsaveid, fsecure, fdlt)
	{
		printUserid(fuserid);
		printDomain(fdomain, fdlt);
		if (fsaveid)
			printSaveID(fsaveid);
		if (fsecure)
			printSecure(fsecure);

		if (getFMCookie("LID") && getFMCookie("LDM")) {
			if (fpasswd)
				fpasswd.focus();
		} else {
			fuserid.focus();
		}
	}

	function printUserid(fuserid)
	{
		if (getFMCookie("LID"))
		{
			fuserid.value = getFMCookie("LID");
		}
	}

	function printDomain(fdomain, fdlt)
	{
		var j = 0;
		var eflag = false;
		var logindomain = getFMCookie("LDM");
		
		/* 등록되어 있지 않은 도메인이 쿠키에 세팅되어 있는 경우 */
		if (logindomain) {
			for (i = 0; i < domainValueArr.length; i++) {
				if (domainValueArr[i] == logindomain) {
					eflag = true;
				}
			}
			if (eflag == false) {
				fdomain.options[j] = new Option(logindomain);
				fdomain.options[j].value = logindomain; 
				fdomain.options[j].selected = true
				j++;
			}
		}

		for (i = 0; i < domainValueArr.length; i++) {
			fdomain.options[j] = new Option(domainNameArr[i]);
			fdomain.options[j].value = domainValueArr[i]; 
			if (domainValueArr[i] == logindomain && domainValueArr[i] != "") {
				fdomain.options[j].selected = true
			}
			j++;
		}
		
		if (fdlt) {
			if (fdomain.options[0].value != "")
			{
				fdlt.value = "@";
			}
			else
			{
				fdlt.value = "";
			}
		}
	}

	function printSaveID(fsaveid)
	{
		if (getFMCookie("LID") && getFMCookie("LDM"))
		{
			fsaveid.checked = true;
		}
	}

	function printSecure(fsecure)
	{
		if (getFMCookie("LSL") != "0")
		{
			fsecure.checked = true;
		}
	}
	
	function changeDomain(fuserid, fdomain, fdlt, fpasswd) {
		if (get_select_value(fdomain) == "") {
			if (fdlt) {
				fdlt.value = "";
			}
		} else {
			if (fdlt) {
				fdlt.value = "@";
			}
		}
//		fuserid.focus();
//		fuserid.select();
		if (fpasswd) {
			fpasswd.focus();
			fpasswd.select();
		}
	}
	
	function getFMCookie(field)
	{
		var fmcookies = getCookie("FM")
		if (!fmcookies)
		{
			return "";
		}
		
		var ckArr = fmcookies.split(":");
		var len = ckArr.length;
		if (len != 3 && len != 4)
		{
			return "";
		}
		
		if (field == 'LID')
			return ckArr[0];
		else if (field == 'LDM')
			return ckArr[1];
		else if (field == 'LSL')
			return ckArr[2];
		else if (field == 'LIS' && len == 4)
			return ckArr[3];			
		else
			return "";			
	}
	
	function setFMCookie(field, value)
	{
		var fmcookies = getCookie("FM")
		if (!fmcookies)
		{
			return "";
		}
		
		var ckArr = fmcookies.split(":");
		var len = ckArr.length;
		if (len != 3 && len != 4)
		{
			return "";
		}
		
		if (field == 'LID')
			return ckArr[0];
		else if (field == 'LDM')
			return ckArr[1];
		else if (field == 'LSL')
			return ckArr[2];
		else if (field == 'LIS' && len == 4)
			return ckArr[3];			
		else
			return "";			
	}	
	
	function FMCookie(field, value)
	{
		var exdate=new Date();
		exdate.setTime(exdate.getTime()+315360000);
		
		var LID = "";
		var LDM = "";
		var LSL = "0";
		var LIS = "0";
		var FM = "";
		
		if (field == "LIS" && value != "1" && value != "0" && value != "8")
			value = "0";

		var fmcookies = getCookie("FM")
		if (!fmcookies)
		{
			if (field == "LID")	LID = value;
			if (field == "LDM")	LDM = value;
			if (field == "LSL")	LSL = value;
			if (field == "LIS")	LIS = value;
									
			FM = LID + ":" + LDM + ":" + LSL + ":" + LIS;

			setCookie("FM", FM, exdate, "/", ".paran.com");			
		}
		
		var ckArr = fmcookies.split(":");
		var len = ckArr.length;
		if (len != 3 && len != 4)
		{
			if (field == "LID")	LID = value;
			if (field == "LDM")	LDM = value;
			if (field == "LSL")	LSL = value;
			if (field == "LIS")	LIS = value;
									
			FM = LID + ":" + LDM + ":" + LSL + ":" + LIS;

			setCookie("FM", FM, exdate, "/", ".paran.com");	
		}
		
		LID = ckArr[0];
		LDM = ckArr[1];
		LSL = ckArr[2];

		if (len == 4)	LIS = ckArr[3];
		if (LIS != "0" && LIS != "1" && LIS != "8") LIS = "0";
		
		if (field == "LID")	LID = value;
		if (field == "LDM")	LDM = value;
		if (field == "LSL")	LSL = value;
		if (field == "LIS")	LIS = value;

		FM = LID + ":" + LDM + ":" + LSL + ":" + LIS;

		setCookie("FM", FM, exdate, "/", ".paran.com");	
	}	

	/* 아이디 저장 - 사용하지 않음 */
	function setSaveID(fsaveid, fuserid, fdomain) {

		/* 1년 동안 저장 */
		var todayDate = new Date();
		todayDate.setYear( todayDate.getYear() + 1);

		if (fsaveid.checked) {
			setCookie("LID", fuserid.value, todayDate, "/", ".paran.com");
			setCookie("LDM", fdomain.value, todayDate, "/", ".paran.com");
		} else {
			setCookie("LID", fuserid.value, "", "/", ".paran.com");
			setCookie("LDM", fdomain.value, "", "/", ".paran.com");
		}
	}

	/* 보안접속 체크 - 사용하지 않음 */
	function setSecure(fsecure) {
		/* 30일 동안 저장 */
		var todayDate = new Date();
		todayDate.setYear( todayDate.getYear() + 1);

		if (fsaveid.checked) {
			setCookie("LSL", "on", todayDate, "/", ".paran.com");
		} else {
			setCookie("LSL", "off", "", "/", ".paran.com");
		}
	}
	
	function getCenterWinStr(width, height)
	{
		var str = "";
		str = "height=" + height + ",innerHeight=" + height;
		str += ",width=" + width + ",innerWidth=" + width;

		if (window.screen) {
			var ah = screen.availHeight - 30;
			var aw = screen.availWidth - 10;

			var xc = (aw - width) / 2;
			var yc = (ah - height) / 2;

			str += ",left=" + xc + ",screenX=" + xc;
			str += ",top=" + yc + ",screenY=" + yc;
		}

		return str;
	}
	
	

	/* 201. 중복아이디 체크 팝업 */
	function popupCheckDupID(fuserid, domain, url)
	{
		if (!validUserid(fuserid)) {
			fuserid.focus();
            fuserid.select();
            return;
        }

		var argv = popupCheckDupID.arguments;  
		var argc = popupCheckDupID.arguments.length;
		
		var secure = (argc > 3) ? argv[3] : false;  

        if (!domain) domain = 'paran.com';

//		var popupurl = "http://user.paran.com/commonAction.do?method=checkDupid&wbUserid="+fuserid.value+"&wbDomain="+domain+"&wbUrl="+url; 

		var qstr = "&wbUserid="+fuserid.value+"&wbDomain="+domain+"&wbUrl="+url;
		
		var popupurl = "";

		if (secure == true)
			popupurl = "https://user.paran.com/commonAction.do?method=checkDuplicateID"+qstr;
		else
			popupurl = "http://user.paran.com/commonAction.do?method=checkDuplicateID"+qstr;

		var param = getCenterWinStr(400, 200);

		var checkDupIDWin = window.open(popupurl, "checkDupID", param+",menubar=no,scrollbars=no");
		checkDupIDWin.focus();
    }
    
	function popupSearchAddr(url, layout, zipcd1, zipcd2, addr1, addr2, regioncd)
	{
		var argv = popupSearchAddr.arguments;  
		var argc = popupSearchAddr.arguments.length;  
		
		var secure = (argc > 7) ? argv[7] : false;  
	
		var qstr = "&wbUrl="+url+"&wbLayout="+layout+"&wbZipcd1="+zipcd1+"&wbZipcd2="+zipcd2+"&wbAddr1="+addr1+"&wbAddr2="+addr2+"&wbRegioncd="+regioncd;
		
		var popupurl = "";

		if (secure == true)
			popupurl = "https://user.paran.com/commonAction.do?method=searchAddrFind"+qstr; 
		else
			popupurl = "http://user.paran.com/commonAction.do?method=searchAddrFind"+qstr; 
		
		var param = getCenterWinStr(500, 350);

		var searchAddrWin = window.open(popupurl, "searchAddr", param+",menubar=no,scrollbars=no");
		searchAddrWin.focus();
    }

    function popupSetMailaccept(mailaccept, url, cmd) {
    
		var argv = popupSetMailaccept.arguments;  
		var argc = popupSetMailaccept.arguments.length;  
		
		var secure = (argc > 3) ? argv[3] : false;      
		
		var popupurl = "";

//      var popupurl = "http://user.paran.com/common/jsp/set_mailaccept_form.jsp?wbMailaccept="+mailaccept+"&wbUrl="+url;

		if (secure == true)
			popupurl = "https://user.paran.com/commonAction.do?method=mailacceptForm&wbMailaccept="+mailaccept+"&wbUrl="+url+"&wbCmd="+cmd;
        else
			popupurl = "http://user.paran.com/commonAction.do?method=mailacceptForm&wbMailaccept="+mailaccept+"&wbUrl="+url+"&wbCmd="+cmd;

        var param = getCenterWinStr(400, 430);

		var setMailacceptWin = window.open(popupurl, "setMailaccept",param+",menubar=no,scrollbars=yes");
		setMailacceptWin.focus();
    }

    function popupInputPayinfo(surl, furl) {

		var popupurl = "http://user.paran.com/commonAction.do?method=inputPayinfoForm&wbSurl="+surl+"&wbFurl="+furl;
		var param = getCenterWinStr(480, 520);

		var inputPayinfoWin = window.open(popupurl, "inputPayinfo", param+",menubar=no,scrollbars=no");
		inputPayinfoWin.focus();
    }
    
    function popupAgreeChildbill(url) {

        var popupurl = "http://user.paran.com/common/jsp/input_payinfo_form.jsp?wbUrl="+url;
        var param = getCenterWinStr(480, 540);

		var inputPayinfoWin = window.open(popupurl, "inputPayinfo", param+",menubar=no,scrollbars=no");
		inputPayinfoWin.focus();
    }
    
    function redirectAgreeChildbill(url) {

        var popupurl = "http://user.paran.com/common/jsp/input_payinfo_form.jsp?wbUrl="+url;
        var param = getCenterWinStr(480, 540);

		var inputPayinfoWin = window.open(popupurl, "inputPayinfo", param+",menubar=no,scrollbars=no");
		inputPayinfoWin.focus();
    }
    
     function popupInputUserinfo(surl, furl, type) {

		var popupurl = "http://user.paran.com/commonAction.do?method=inputUserinfoForm&wbSurl="+surl+"&wbFurl="+furl+"&wbType="+type;
        var param = getCenterWinStr(650,455);

		var inputUserinfoWin = window.open(popupurl, "inputUserinfo", param+",menubar=no,scrollbars=no");
		inputUserinfoWin.focus();
    }
    
	function popupCheckRealname(surl, furl, cls)
	{
		var popupurl = "http://user.paran.com/commonAction.do?method=checkRealnameFrm&wbSurl="+escape(surl)+"&wbFurl="+escape(furl)+"&wbSvcid="+cls;
        var param = getCenterWinStr(480,550);

		var checkRealnameWin = window.open(popupurl, "checkRealname", param+",menubar=no,scrollbars=no");
		checkRealnameWin.focus();
    }
    
	function popupPimsUserinfo() {

		var popupurl = "http://user.paran.com/userAction.do?method=paranChangeBasicInfoForm&reqType=popup";
        var param = getCenterWinStr(780, 700);

		var registerCPTestWin = window.open(popupurl, "registerCPTest", param+",menubar=no,scrollbars=yes,statusbar=yes");
		registerCPTestWin.focus();
    }    
    
	function redirectInputUserinfo(surl, furl) {

		var popupurl = "http://user.paran.com/common/jsp/input_payinfo_form.jsp?wbUrl="+url;
		var param = getCenterWinStr(643,425);

		var inputPayinfoWin = window.open(popupurl, "inputPayinfo", param+",menubar=no,scrollbars=no");
		inputPayinfoWin.focus();
	}
	
	function popupRegisterCPTest(url, param) {

		var popupurl = "http://user.paran.com/common/jsp/register_cptest_form.jsp?wbUrl="+url+"&wbParam="+param;
        var param = getCenterWinStr(480, 583);

		var registerCPTestWin = window.open(popupurl, "registerCPTest", param+",menubar=no,scrollbars=no");
		registerCPTestWin.focus();
    }
    
	function popupCheckAdult(surl, furl, type) {

		if (!type)
		{
			type = '';
		}
		var popupurl = "http://user.paran.com/common/jsp/input_adult.jsp?wbSurl="+surl+"&wbFurl="+furl;
		var param = getCenterWinStr(480, 345);

		var checkAdultWin = window.open(popupurl, "checkAdult", param+",menubar=no,scrollbars=no");
		checkAdultWin.focus();
    }
    
	function popupAuthRedirect(url) {

		var popupurl = "http://user.paran.com/commonAction.do?method=checkLogin&wbUrl="+escape(url);

		var param = getCenterWinStr(480, 345);

		var authRedirectWin = window.open(popupurl, "authRedirect", param+",menubar=no,scrollbars=no");
		authRedirectWin.focus();
    }
    
    function popupInputKeyword() {
		var popupurl = "http://hompy.paran.com/hompySec/keyword/keyword_reg.asp";

		var param = getCenterWinStr(466, 525);

		var inputKeywordWin = window.open(popupurl, "inputKeyword", param+",menubar=no,scrollbars=no");
		inputKeywordWin.focus();
    }
    
	function popupNWZQuitMapping(url) {

		var popupurl = "http://user.paran.com/nwz/mapping/req_quitmapping_form.jsp";

		var param = getCenterWinStr(480, 345);

		var authRedirectWin = window.open(popupurl, "authRedirect", param+",menubar=no,scrollbars=no");
		authRedirectWin.focus();
    }  
    
    function popupInfosvcCoop(infosvccoop, url, cmd) {
    
		var argv = popupInfosvcCoop.arguments;  
		var argc = popupInfosvcCoop.arguments.length;  
		
		var secure = (argc > 3) ? argv[3] : false;      
		
		var popupurl = "";

		popupurl = "https://user.paran.com/coopAction.do?method=popupInfosvcCoopForm&wbInfosvcCoop="+infosvccoop+"&wbUrl="+url+"&wbCmd="+cmd;

        var param = getCenterWinStr(780, 390);

		var popupInfosvcCoopWin = window.open(popupurl, "popupInfosvcCoop",param+",menubar=no,scrollbars=yes");
		popupInfosvcCoopWin.focus();
    }      
    
    function MsSafe(obj)
    {
    	return document.write(obj);
    }

	/* 외부 서비스 연결 */
	function goService(service, target) {
	
		var url = "", alertmsg = "", stopflag = false;
		var tgt
	
		switch (service)
		{
			/* 파란 메인 */
			case "home"			:
				url = "http://www.paran.com";
				break;

			/* 파란캐시(빌링센터) */
			case "billmain"		:
				url = "http://bill.paran.com";
				break;

			/* 고객센터 */
			case "help"			:
			case "usermain"		:
				url = "http://help.paran.com";
				break;
			
			/* 메가패스 하이텔 프리미엄 초기화면 */
			case "megamain"		:
				url = "http://megaplus.paran.com";
				break;

			/* PIMS */
			case "pimsmain"		:
				url = "http://pims.paran.com";
				break;

			/* 회원가입 */
			case "regmain"		:
			case "register"		:
				url = "https://user.paran.com/paran/userinfo/register";
				break;

			/* 해외거주자용 회원가입 신청 */
			case "regforeign"	:
				url = "https://user.paran.com/paran/userinfo/register/agreement.jsp?wbMode=FOREIGN";
				break;

			/* 아이디/비밀번호 찾기 */
			case "findidpw"		:
				url = "https://user.paran.com/paran/userinfo/myinfo/find_main.jsp";
				break;

			/* 회원개인정보 변경 */
			case "myinfo"		:
				url = "https://user.paran.com/userAction.do?method=infoUserFormNew";
				break;

			/* 비밀번호 변경 */
			case "passwd"		:
				url = "https://user.paran.com/userAction.do?method=PasswdFormNew";
				break;

			/* 파란아이디 만들기 */
			case "convert"		:
				url = "http://user.paran.com/convert/index.jsp";
				break;

			/* 회원탈퇴 신청 */
			case "quit"			:
				url = "https://user.paran.com/paran/userinfo/myinfo/quit_intro.jsp";
				break;

			/* 결제정보수정 */
			case "payinfo"		:
				url = "http://user.paran.com/paran/mybill/account.jsp";
				break;
			
			/* 로그인 (메인이동) */
			case "login"		:
				url = "http://main.paran.com/paran/index.jsp";
				break;
			
			/* 로그아웃(메인이동) */
			case "logoff"		:
			case "logout"		:
				url = "http://main.paran.com/paran/logout.jsp";
				break;

			/* 비밀번호 분실신고 */
			case "lostpasswd"	:
				url = "http://help.paran.com/mail/exMailQuestion.jsp?TBID1=TBOX20040618000001";
				break;
				
			/* 로그인 관련해서 다른 궁금한 점 */
			case "helplogin"	:
				url = "http://help.paran.com/faq/exSelfFAQS.jsp?category_id1=CATE20040620000015&category_id2=CATE20040710000000";
				break;

			/* Email 문의 */
			case "inqemail"	:					
				url = "http://help.paran.com/mail/exMailQuestion.jsp";
				break;

			/* 개인정보 보호정책 */
			case "private"	:
				url = "http://info.paran.com/privacy/";
				break;
			
			/* 권리침해 신고센터 */
			case "claim"	:
			case "scenter"	:
				url = "http://help.paran.com/scenter";
				break;
				
			/* 이벤트 정보 */				
			case "event"	:
				url = "http://event.paran.com";
				break;
				
			/* 미납금 조회/납부 */				
			case "misu" :
				url = "http://bill.paran.com/gw.jsp?svcgb=afterpayUnpay";
				break;
				
			/* 잔액환불신청 */
			case "refund" :
				url = "http://bill.paran.com/gw.jsp?svcgb=refund";
				break;
				
			/* 100% 활용하기 */
			case "tips" :
				url = "http://info.paran.com/tips/index.htm";
				break;

			/* 원격 고객 상담 */
			case "remote" :
				url = "http://help1.paran.com/nc20/main.jsp";
				break;

			/* 원격 제어 서비스*/
			case "remoteservice" :
				url = "http://pccontrol.megapass.net/payment/megapasszone_coupon.jsp";
				break;
				
			/* 회원아이디 찾기*/
			case "findid" :
				url = "https://user.paran.com/paran/userinfo/findinfo/findid_main.jsp";
				break;	
			/* 회원아이디 찾기*/
			case "findpw" :
				url = "https://user.paran.com/paran/userinfo/findinfo/findpw_main.jsp";
				break;					

			default :
				alertmsg = "링크 주소가 올바르지 않습니다";
				stopflag = true;
				break;
		}
		
		if (alertmsg) {
			alert(alertmsg);
		}
		if (stopflag) {
			return;
		}

		if (target) {
			if (target == "top") {
				top.window.location = url;
			} else if (target == "opener") {
				opener.window.location = url;
			} else if (target == "parent") {
				parent.window.location = url;
			} else {
				window.open(url, target);
			}
		} else {
			window.location = url;
		}
		


	}
	
	/* 공통 객체 접근 함수 */
	/*
	function getObject(objectId)
	{
		if (document.getElementById && document.getElementById(objectId))
		{
			return document.getElementById(objectId); // check W3C DOM
		}
		else if (document.all && document.all(objectId))
		{
			return document.all(objectId); // IE4
		}
		else if (document.layers && document.layers[objectId])
		{
			return document.layers[objectId]; // NN4
		}
		else
		{
			return false;
		}
	}
	*/
	/* 공통 이벤트 핸들 함수 */
	/*
	function attachEvent(obj, evt, fuc, useCapture)
	{
		if (!useCapture) useCapture = false;

		if (obj.addEventListener)
		{
			return obj.addEventListener(evt, fuc, useCapture); // W3C DOM 지원 브라우저
		}
		else if (obj.attachEvent)
		{
			return obj.attachEvent("on"+evt, func); // MSDOM 지원 브라우저
		}
		else
		{
			customAttachEvent(obj, evt, fuc);
			obj['on'+evt]=function() { customFireEvent(obj, evt) };
		}
	}
	
	function customAttachEvent(obj, evt, fuc)
	{
		if (!obj.myEvents) obj.myEvents = {};
		if (!obj.myEvents[evt]) obj.myEvents[evt] = [];
		var evts = obj.myEvents[evt];
		evts[evts.length] = fuc;
	}
	
	function customFireEvent(obj, evt)
	{
		if (!obj || !obj.myEvents || !obj.myEvents[evt]) return;
		var evts = obj.myEvents[evt];
		len=evts.length
		for (var i = 0;i < len; i++) evts[i]();
	}
*/