/**
 * 한글 도메인 검사
 */
function isHangulDomain(tmp)
{
	var counter=0;
	for(i=0;i<tmp.length;i++)
	{
		temp = tmp.charAt(i);
		if(temp.charCodeAt() >= 44032 && temp.charCodeAt() <= 55203)
		{
			++counter;
		}
	}
	return counter;
}

/**
 * 도메인의 이름만 가지고 오기
 */
function getDomainName(domain)
{
	var domains = domain.split(".");
	domain = domains[0];

	return domain;
}

/**
 * 도메인의 확장자만 가져오기
 */
function getDomainTld(domain)
{
	var domains = domain.split(".");
	var tld;

	if (domains[2])
	{
		tld = domains[1]+"."+domains[2];
	}
	else
	{
		tld = domains[1];
	}

	return tld;
}

/**
 * 호스트 네임 체크
 */
function f_host_name(tmp) {
	var octectCounter = 0;
	var calc = checkByte(tmp);

	if(calc < 1 || calc > 120) { return "호스트명을 입력하세요!"; }
	else 
	{
		// 한글도메인이 아닐 경우 체크
		if (!hasHangul(tmp))
		{
			for (var i=0;i<tmp.length;i++) 
			{
				if (tmp.charAt(i) >= '0' && tmp.charAt(i) <= '9')  { continue; } 
				else if (tmp.charAt(i) >= 'a' && tmp.charAt(i) <= 'z') { continue; }
				else if (tmp.charAt(i) >= 'A' && tmp.charAt(i) <= 'Z') { continue; } 
				else if (tmp.charAt(i) == '-' || tmp.charAt(i) == '.') { continue; }
				else { return "호스트명은 공백문자, 특수문자를 제외한 영문, 숫자로 입력하시기 바랍니다!"; }
			}
			return;
		}
	}
}

/**
 * 호스트 IP 체크
 */
function f_host_ip(tmp) {
	alert("1");
	var calc = checkByte(tmp);

	if(calc < 1 || calc > 40) { return "IP를 입력하세요(40자이내)"; } 
	else 
	{
		// ipv6
		if (tmp.match(/:/)) 
		{
			for (var i=0;i<tmp.length;i++) 
			{
				if (tmp.charAt(i) >= '0' && tmp.charAt(i) <= '9')		{ continue; }
				else if (tmp.charAt(i) >= 'a' && tmp.charAt(i) <= 'f') { continue; }
				else if (tmp.charAt(i) >= 'A' && tmp.charAt(i) <= 'F') { continue; }
				else if (tmp.charAt(i) == ':' || tmp.charAt(i) == '%') { continue; }
				else { return "형식이 올바르지 않습니다!"; }
			}
			return ;
		}
		// ipv4
		else {
			var octectCounter = checkOctect(tmp);
			if(octectCounter != 3) { return "IP형식이 올바르지 않습니다!"; }
			for (var i=0;i<tmp.length;i++) 
			{
				if(tmp.charAt(i) == '.' && tmp.charAt(i+1) == '.') { return "IP가 잘못입력되었습니다! ";    }
				if (tmp.charAt(i) >= '0' && tmp.charAt(i) <= '9') { continue; } 
				else if (tmp.charAt(i) == '.') { continue; } 
				else { return "IP는 숫자로 입력하시기 바랍니다!"; }
			}
			var dn  = tmp.split('.');
			if(!dn[0] || !(dn[0] > 0 && dn[0] < 256)) { return "유효하지 않은 IP입니다!"; }
			if(!dn[1] || !(dn[1] >= 0 && dn[1] < 256)) { return "유효하지 않은 IP입니다!"; }
			if(!dn[2] || !(dn[2] >= 0 && dn[2] < 256)) { return "유효하지 않은 IP입니다!"; }
			if(!dn[3] || !(dn[3] > 0 && dn[3] < 256)) { return "유효하지 않은 IP입니다!"; }
			return ;
		}
	}
}