//로그인 ID 입력창이 ID 입력 모드인지 주민등록번호 입력 모드인지 구분한다.
var idMode = true;
var largeLoginWidth  = "162px";
var smallLoginWidth =  "74px";
// 로그인 ID 입력창 모양을 상황에 맞춰서 바꾼다.
function switchIdInput(form)  {
	if(idMode) {
		switchIdInputToJuminNum();
	} else {
		switchIdInputToId();
	}
}

// 상태를 판단해 로그인 ID 입력창을 주민번호 입력 모드로 변경한다.
function switchIdInputToJuminNum() {
	var idObj = $('loginId');
	var id = idObj.value;
	if(!isJuminNumFirstPart(id))
		return;

	 idObj.value = id.substring(0, 6);
	 idObj.maxLength = 6;
	 idObj.style.width = smallLoginWidth;
	 
	var id2Obj = $('loginId2');
	 id2Obj.value = id.substring(6);
	 id2Obj.style.display = "inline";
	 id2Obj.focus();
	 idMode = false;
}

// 상태를 판단해 로그인 ID 입력창을 ID 입력 모드로 변경한다.
function switchIdInputToId() {
	var idObj = $('loginId');
	var id2Obj = $('loginId2');
	var jumin1 = idObj.value;
	var jumin2 = id2Obj.value;
	
	if(!(jumin2.length == 0 && !isJuminNumFirstPart(jumin1)) &&
			!(jumin1.length > 0 && jumin1 != removeNonNumeric(jumin1))) {
		return;
	}

	 id2Obj.style.display = "none";
	 idObj.style.width = largeLoginWidth;
	 idObj.value = jumin1+jumin2;
	 idObj.maxLength = 999;
	 idObj.focus();
	 idMode = true;
}

//문자열에서 화이트스페이스를 제거한다.
function removeWhiteSpace(str) {
	var re=/\s/g;
	return str.replace(re, "");	
}

// 문자열에서 숫자외의 문자를 제거한다.
function removeNonNumeric(str) {
	var re=/[^0-9]/g;
	return str.replace(re, "");
}

// 문자열의 시작부분이 주민등록번호로 보이는가?
function isJuminNumFirstPart(id) {
    var onlyNum = removeNonNumeric(id);

    var stId = id.substring(0,1);
    
    if (id.substring(6,7) == onlyNum) return false;
    
     if(stId > 1 && id == onlyNum && id.length >= 6) { 
        var month =  id.substring(2,4);
        if(month < 1 || month > 12)
            return false;
        var day = id.substring(4, 6);
        if(day < 1 || day > 31)
            return false;
        return true;
    }
     return false;
}

function handleKeyDownOfLoginId2(me, event) {
	var k = getKeyCode(event); 
	if(k == 8 && me.value.length == 0) {
		var obj = $('loginId'); 
		obj.focus();  
		obj.value = obj.value;
	} 
	return true;
}
// 로그인 ID 입력칸의 키 입력 필터링
function isValidKeyForLoginId(me, event) {
	var keyCode = getKeyCode(event);
	keychar = String.fromCharCode(keyCode);
	return (keychar != ' ');
}

//주민등록 두번째 숫자 입력칸의 키 입력 필터링
function isValidKeyForLoginId2(me, event) {
	var keyCode = getKeyCode(event);

	// 숫자 키만 허용
	return (keyCode >= 48 &&  keyCode <= 57);
}

function getKeyCode(e) {
	if(window.event) { // IE 
		return e.keyCode;
	} 
	return  e.which; // Netscape/Firefox/Opera! 
}
