// 
// File Name: form.js
// Description: formÀÇ À¯È¿¼ºÀ» Ã¼Å©ÇÒ ¶§ ÇÊ¿äÇÑ ÇÔ¼öµé
//

// text ÀÇ ÇÑ±Û Æ÷ÇÔÇÑ byte ¼ö ±¸ÇÏ±â
function Get_Str_Len(szInput)
{
	var nStrLen, nStrRealLen, nPos;

	nStrLen     = szInput.length;
	nStrRealLen = 0;

	for(nPos = 0; nPos < nStrLen; nPos++)
		{
		var nASCII = szInput.charCodeAt(nPos)

		if (nASCII > 0 && nASCII < 255)
			nStrRealLen += 1; 
		else
			nStrRealLen += 2; 
		}

	return nStrRealLen;
}
// ÆÄÀÏ¸í¿¡¼­ ¾Õ¿¡ °æ·Î¸í Á¦°Å
function Cut_File_Name(szPath)
{
    var aszToken = szPath.split("\\");
    var nMax = aszToken.length;

    var szFileName = aszToken[nMax-1];
    return szFileName;
}
// ¹®ÀÚ¿­ÀÌ ¼ýÀÚ·Î¸¸ ±¸¼º µÇ¾îÀÖ´ÂÁö Ã¼Å©
function Is_Digit(szInput)
{
	var nStrLen, nPos;

	nStrLen = szInput.length;

	for(nPos = 0; nPos < nStrLen; nPos++)
		{
		var nASCII = szInput.charCodeAt(nPos)

		if (nASCII > 57 || nASCII < 48) 
			return false;		
		}

	return true;
}

//
// Returns 
//	1  : OK
// 	-1 : Çü½ÄÀÌ Æ²¸²
// 	-2 : ¼ýÀÚ°¡ ¾Æ´Ô
// 	-3 : ±¹¹øÀÌ Æ²¸²
//  -4 : ÀÚ¸´ ¼ö Æ²¸²
//
function Check_Phone(szPhone, bIsMobile)
{
	// À¯È¿ÇÑ ±¹¹ø
	var aszValidFirstNum;
	if (bIsMobile)
		aszValidFirstNum = new Array("010", "011", "016", "017", "018", "019");
	else
		{
		aszValidFirstNum = new Array(
						"02",  "031", "051", "032", "042", "053",
						"052", "062", "033", "041", "043", "055", 
						"054", "061", "063", "064");
		}
	
	// '-'¸¦ ±âÁØÀ¸·Î ³ª´®
	var aszToken = szPhone.split("-");
	
	// check1 : ÅäÅ«ÀÌ ¼¼°³ ÀÎ°¡?
    if (aszToken.length != 3)
    	return -1;

	// check2 : ¸ðµÎ ¼ýÀÚ·Î ±¸¼ºµÇ¾î ÀÖ´Â°¡?
    for (var nIdx = 0; nIdx < aszToken.length; nIdx++)
        {
        if (!Is_Digit(aszToken[nIdx]))
        	return -2;
        }

	// check3 : ±¹¹øÀÌ À¯È¿ÇÑ°¡?
	var bIsValidFirstNum = false;
    for (var nIdx = 0; nIdx < aszValidFirstNum.length; nIdx++)
        {
        if (aszToken[0] == aszValidFirstNum[nIdx])
        	{
        	bIsValidFirstNum = true;
        	break;
        	}
        }
        
	if (!bIsValidFirstNum)
		return -3;
		
	// check4 : µÎ¹øÂ°,¼¼¹øÂ° ÅäÅ«ÀÌ 7~8ÀÚ¸®ÀÎ°¡?
	var szTmp = aszToken[1] + aszToken[2];
	if (szTmp.length != 7 && szTmp.length != 8)
		return -4;
		
	return 1;
}

function Check_Mobile(szPhone)
{
	// À¯È¿ÇÑ ±¹¹ø
	var	aszValidFirstNum = new Array("010", "011", "016", "017", "018", "019");
	var aszInValidLastNum = new Array("0000", "1111", "2222", "3333", "4444", "5555", "6666", "7777", "8888", "9999");
	
	// '-'¸¦ ±âÁØÀ¸·Î ³ª´®
	var aszToken = szPhone.split("-");
	
	// check1 : ÅäÅ«ÀÌ ¼¼°³ ÀÎ°¡?
    if (aszToken.length != 3)
	{
		alert("È¸¿ø´ÔÀÇ ÈÞ´ëÆù ¹øÈ£¸¦ Á¤È®È÷ ±âÀçÇØÁÖ½Ê½Ã¿À.");
    	return -1;
	}

	// check2 : ¸ðµÎ ¼ýÀÚ·Î ±¸¼ºµÇ¾î ÀÖ´Â°¡?
    for (var nIdx = 0; nIdx < aszToken.length; nIdx++)
	{
		if (!Is_Digit(aszToken[nIdx]))
		{
			alert("È¸¿ø´ÔÀÇ ÈÞ´ëÆù ¹øÈ£¸¦ Á¤È®È÷ ±âÀçÇØÁÖ½Ê½Ã¿À.");
			return -1;
		}
	}

	// check3 : null °ªÀÌ ÀÖ´Â°¡?
	if (aszToken[0] == "" || aszToken[1] == "" || aszToken[2] == "")
	{
		alert("È¸¿ø´ÔÀÇ ÈÞ´ëÆù ¹øÈ£¸¦ Á¤È®È÷ ±âÀçÇØÁÖ½Ê½Ã¿À.");
		return -1;
	}

	// check4 : ½ÃÀÛÀÚ¸®°¡(011, 017..) À¯È¿ÇÑ°¡?
	var bIsValidFirstNum = false;
    for (var nIdx = 0; nIdx < aszValidFirstNum.length; nIdx++)
        {
        if (aszToken[0] == aszValidFirstNum[nIdx])
        	{
        	bIsValidFirstNum = true;
        	break;
        	}
        }
	if (!bIsValidFirstNum)
	{
		alert("È¸¿ø´ÔÀÇ ÈÞ´ëÆù ¹øÈ£¸¦ Á¤È®È÷ ±âÀçÇØÁÖ½Ê½Ã¿À.");
		return -1;
	}

	// check5 : µÎ¹øÂ°,¼¼¹øÂ° ÅäÅ«ÀÌ 7~8ÀÚ¸®ÀÎ°¡? check4 º¸´Ù ²À ³ªÁß¿¡ ¿Í¾ß ÇÔ
	var szTmp = aszToken[1] + aszToken[2];
	if (szTmp.length != 7 && szTmp.length != 8)
    {
		alert("È¸¿ø´ÔÀÇ ÈÞ´ëÆù ¹øÈ£¸¦ Á¤È®È÷ ±âÀçÇØÁÖ½Ê½Ã¿À.");
		return -1;
	}

	// check6 : ±¹¹øÀÌ 0, 1·Î ½ÃÀÛ µÇ´Â°¡?
	/*if (aszToken[1].substring(0,1) == "0")
	{
		alert("È¸¿ø´ÔÀÇ ÈÞ´ëÆù ¹øÈ£¸¦ Á¤È®È÷ ±âÀçÇØÁÖ½Ê½Ã¿À-±¹¹ø 0Àº ¾ÈµÊ");
		return -1;
	}

	// check7 : ±¹¹øÀÌ 700 ÀÎÁö?
	if (aszToken[1] == "700")
	{
		alert("È¸¿ø´ÔÀÇ ÈÞ´ëÆù ¹øÈ£¸¦ Á¤È®È÷ ±âÀçÇØÁÖ½Ê½Ã¿À-±¹¹øÀº 700ÀÌ ¾ÈµÊ");
		return -1;
	}

	// check8 : ±¹¹øÀÌ ¼øÂ÷ÀûÀÎ ÁõºÐÀ» °®´ÂÁö
	if (Is_Sequential(aszToken[1]))
	{
		alert("È¸¿ø´ÔÀÇ ÈÞ´ëÆù ¹øÈ£¸¦ Á¤È®È÷ ±âÀçÇØÁÖ½Ê½Ã¿À-±¹¹øÀÌ ¼øÂ÷ÀûÀ¸·Î Áõ°¡ÇÔ");
		return -1;
	}
	// check9 : ³¡¹øÈ£°¡ ¼øÂ÷ÀûÀÎ ÁõºÐÀ» °®´ÂÁö
	 if (Is_Sequential(aszToken[2]))
	{
		alert("È¸¿ø´ÔÀÇ ÈÞ´ëÆù ¹øÈ£¸¦ Á¤È®È÷ ±âÀçÇØÁÖ½Ê½Ã¿À-³¡¹øÈ£°¡ ¼øÂ÷ÀûÀ¸·Î Áõ°¡ÇÔ");
		return -1;
	}*/
	
	return 0;
}

function Is_Sequential(szNumber)
{
	var anDiff = new Array();

	for (var nIdx = 0; nIdx < szNumber.length - 1; nIdx++)
	{
		var nDiff = szNumber.substring(nIdx, nIdx + 1) - szNumber.substring(nIdx + 1, nIdx + 2);
		if (Math.abs(nDiff) != 1)
			return false;
		
		anDiff[nIdx] = nDiff;
	}

	for (var nIdx = 0; nIdx < anDiff.length - 1; nIdx++)
	{
		if (anDiff[nIdx] != anDiff[nIdx + 1])
			return false;
	}
	
	return true;
}
