<!--

//===========================================================
// 도메인 검색에 멀티프로세싱 도입 관련 javascript 함수
//===========================================================

function trimString (str) {
       str = this != window? this : str;
       return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}
String.prototype.trim = trimString;

function removeField(obj)
{
	if(obj.value == "") return;
	var tmp = obj.value.split("\n");
	if( tmp[0].indexOf("소유권 ") == 0 ) {
		obj.value = "";
	}
}

// 영문도메인 유효성 체크
function transferDomainSearch_Eng(form)
{
	var eng_host = form.dom_name.value.toLowerCase();
	var strlength = eng_host.length;

	var str="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-";
	var j=0,a=0;

	//[1.1] 도메인명 유무
	eng_host = eng_host.trim();
	if( eng_host == null || eng_host.trim() == "" ) {
		alert("도메인명을 입력해 주세요.");
		form.hostname.focus();
		return;
	}

	//[1.2] 도메인길이 체크
	if(eng_host.length < 2 || eng_host.length > 63)
	{
		alert("[ "+form.domain_select.value+"] \n\n도메인 이름은 최소 2자, 최대 63자까지 가능합니다.");
		form.hostname.focus();
		return;
	}

	//[1.3] 도메인명 유효 체크
	for(i=0;i<eng_host.length;i++)
	{
		temp = eng_host.charAt(i);

		if(temp == " ") {
			alert("[ "+form.domain_select.value+"] \n\n유효하지 않은 도메인 이름입니다. \n도메인 이름은 공백을 포함할 수 없습니다. \n\n다시 입력해 주십시오!!");
			form.hostname.focus();
			return;
		}
		/*else if(temp == ".") {
			alert("[ "+form.domain_select.value+"] \n\n유효하지 않은 도메인 이름입니다. \n도메인 이름은 . 를 포함할 수 없습니다. \n\n다시 입력해 주십시오!!");
			form.hostname.focus();
			return false;
		}
		*/

		if(eng_host.value != "" && str.indexOf(temp) < 0)
		{
			alert("[ "+form.domain_select.value+"] \n\n도메인 이름은 특수문자를 포함할 수 없습니다. \n\n다시 입력해 주십시오!!");
			form.hostname.focus();
			return;
		}
	}

	//[1.4] "-"  으로 시작하는 것 금지
	if( eng_host.indexOf("-") == 0 ) {
		alert("[ "+form.domain_select.value+"] \n\n하이픈(-)으로 시작하는 도메인명은 등록하실 수 없습니다. \n다시 입력해주십시오.");
		form.hostname.focus();
		return;
	}

	//[1.5] "-"  으로 끝나는 것 금지
	if( eng_host.lastIndexOf("-") == (strlength-1) ) {
		alert("[ "+form.domain_select.value+"] \n\n하이픈(-)으로 끝나는 도메인명은 등록하실 수 없습니다. \n다시 입력해 주세요.");
		form.hostname.focus();
		return;
	}

	//[1.6] "bq--"  으로 시작하는 것 금지
	if( eng_host.indexOf("bq--") == 0 ) {
		alert("[ "+form.domain_select.value+"] \n\nbq--으로 시작하는 도메인명은 예약어이므로 등록하실 수 없습니다. \n다시 입력해 주세요");
		form.hostname.focus();
		return;
	}

	//[1.7] "xn--"  으로 시작하는 것 금지
	if( eng_host.indexOf("xn--") == 0 ) {
		alert("[ "+form.domain_select.value+"] \n\nxn--으로 시작하는 도메인명은 예약어이므로 등록하실 수 없습니다. \n다시 입력해 주세요");
		form.hostname.focus();
		return;
	}
	return true;
}

// 한글도메인 유효성 체크
function transferDomainSearch_Kor(form)
{
	var kor_host = form.dom_name.value;

	//[1.1] 도메인명 유무
	if( kor_host == null || kor_host.trim() == "" ) {
		alert("도메인명을 입력해 주세요.");
		form.hostname.focus();
		return false;
	}

	//[1.2] 도메인명 형식 체크
	var valid_dom = /^[가-힣a-zA-Z0-9\-]+$/;
	if(!valid_dom.test(kor_host)){
		alert("["+form.domain_select.value+"]\n\n도메인 형식이 맞지 않습니다. \n다시 입력해 주세요.");
		form.hostname.focus();
		return;
	}
	//[1.3] 길이 검사 : 최소 2자 - 17자 까지
	// 길이검사시 한글영문의 경우 영문을 1글자로 계산하게되면 안됨.
	// 한글한글자에 대해 영문은 0.5자로 계산하여 17자를 계산하도록함.

	var strlength = kor_host.length;
	junkyAlphabet = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-";
	var strlength2 = 0; //한글포함한 경우의 길이계산을 위한 별도의 변수할당.
	for ( var i = 0; i < strlength; i++ ) {
		if ( junkyAlphabet.indexOf( kor_host.charAt(i) ) >= 0 ) {
			strlength2 = strlength2 + 0.5;
		} else {
			strlength2 = strlength2 + 1;
		}
	}

	if( strlength2 < 1 || strlength2 > 17 ) {
		alert("[ "+form.domain_select.value+"] \n\n도메인명은 최소 2자에서 최대 17까지만 등록가능합니다. \n다시 입력해 주세요.");
		form.hostname.focus();
		return;
	}

	//[1.4] "-"  으로 시작하는 것 금지
	if( kor_host.indexOf("-") == 0 ) {
		alert("[ "+form.domain_select.value+"] \n\n하이픈(-)으로 시작하는 도메인명은 등록하실 수 없습니다. \n다시 입력해 주세요.");
		form.hostname.focus();
		return;
	}

	//[1.5] "-"  으로 끝나는 것 금지
	if( kor_host.lastIndexOf("-") == (strlength-1) ) {
		alert("[ "+form.domain_select.value+"] \n\n하이픈(-)으로 끝나는 도메인명은 등록하실 수 없습니다. \n다시 입력해 주세요.");
		form.hostname.focus();
		return;
	}

	//[1.6]"bq--"  으로 시작하는 것 금지
	if( kor_host.indexOf("bq--") == 0 ) {
		alert("[ "+form.domain_select.value+"] \n\nbq--으로 시작하는 도메인명은 예약어이므로 등록하실 수 없습니다. \n다시 입력해 주세요");
		form.hostname.focus();
		return;
	}

	//[1.7] "xn--"  으로 시작하는 것 금지
	if( kor_host.indexOf("xn--") == 0 ) {
		alert("[ "+form.domain_select.value+"] \n\nxn--으로 시작하는 도메인명은 예약어이므로 등록하실 수 없습니다. \n다시 입력해 주세요");
		form.hostname.focus();
		return;
	}
	return true;

}

// CN 도메인 유효성 체크 및 검색페이지 연결
function transferDomainSearch_Cn(form)
{
	var cn_host = form.dom_name.value;
	var strlength = cn_host.length;

	var str="`!@~#$%^&*()_+=|\.,;'";
	var j=0,a=0;

	//[1.1] 도메인명 유무
	cn_host = cn_host.trim();
	if( cn_host == null || cn_host.trim() == "" ) {
		alert("도메인명을 입력해 주세요.");
		form.hostname.focus();
		return;
	}

	//[1.2] 도메인길이 체크
	if(cn_host.length < 2 || cn_host.length > 63)
	{
		alert("[ "+form.domain_select.value+"] \n\n도메인 이름은 최소 2자, 최대 63자까지 가능합니다.");
		form.hostname.focus();
		return;
	}

	//[1.3] 도메인명 유효성 체크
	for(i=0;i<cn_host.length;i++)
	{
		temp = cn_host.charAt(i);

		if(temp == " ") {
			alert("[ "+form.domain_select.value+"] \n\n도메인 이름은 공백을 포함할 수 없습니다. \n다시 입력해 주세요");
			form.hostname.focus();
			return;
		} else if(temp == ".") {
			alert("[ "+form.domain_select.value+"] \n\n도메인 이름은 . 를 포함할 수 없습니다. \n다시 입력해 주세요");
			form.hostname.focus();
			return;
		}

		if( str.indexOf(temp) > 0)
		{
			alert("[ "+form.domain_select.value+"] \n\n도메인 이름은 [ "+temp+"] 특수문자를 포함할 수 없습니다. \n다시 입력해 주세요");
			form.hostname.focus();
			return;
		}
	}

	//[1.4] "-"  으로 시작하는 것 금지
	if( cn_host.indexOf("-") == 0 ) {
		alert("[ "+form.domain_select.value+"] \n\n하이픈(-)으로 시작하는 도메인명은 등록하실 수 없습니다. \n다시 입력해 주세요.");
		form.hostname.focus();
		return;
	}

	//[1.5] "-"  으로 끝나는 것 금지
	if( cn_host.lastIndexOf("-") == (strlength-1) ) {
		alert("[ "+form.domain_select.value+"] \n\n하이픈(-)으로 끝나는 도메인명은 등록하실 수 없습니다. \n다시 입력해 주세요.");
		form.hostname.focus();
		return;
	}

	//[1.6] "bq--"  으로 시작하는 것 금지
	if( cn_host.indexOf("bq--") == 0 ) {
		alert("[ "+form.domain_select.value+"] \n\nbq--으로 시작하는 도메인명은 예약어이므로 등록하실 수 없습니다. \n다시 입력해 주세요");
		form.hostname.focus();
		return;
	}

	//[1.7] "xn--"  으로 시작하는 것 금지
	if( cn_host.indexOf("xn--") == 0 ) {
		alert("[ "+form.domain_select.value+"] \n\nxn--으로 시작하는 도메인명은 예약어이므로 등록하실 수 없습니다. \n다시 입력해 주세요");
		form.hostname.focus();
		return;
	}
	return true;
}

// 도메인 유효성 체크 및 검색페이지 연결
function transferCheck()
{
	var form = document.quest;
	var host = form.hostname.value.toLowerCase();

	//[1.1] 도메인명 유무
	host = host.trim();
	if( host == null || host.trim() == "" ) {
		alert("도메인명을 입력해 주세요.");
		form.hostname.focus();
		return;
	}

	var domain_list = host.split("\n");

	if(domain_list[0].replace("\n","").replace("\r", "") == "소유권 이전을 원하시는 한글/영문 도메인을 입력하세요."){
		alert("도메인명을 입력하여 주십시오.");
		form.hostname.focus();
		return;
	}

	//[1.1] 도메인 검색갯수 제한.
	if(form.max_count.value <domain_list.length)
	{
		alert(form.max_count.value+"개까지 검색이 가능합니다. \n다시 입력해 주세요.");
		form.hostname.focus();
		return;
	}

	for (var i = 0; i < domain_list.length; i++)
	{
		form.dom_name.value="";
		form.domain_select.value = domain_list[i].trim();

		var domain_name = domain_list[i].split(".");
		var domain_type = "";

		//[1.2] 도메인 유효성 채크
		if(domain_name.length<2 || !domain_name[1])
		{
			alert("[ "+form.domain_select.value+"] \n\n도메인이 올바르지 않습니다. \n다시 입력해 주세요.");
			form.hostname.focus();
			showWrongDomain(form, i);
			return;
		}

		// 도메인 타입가져오기
		for (var j = 0; j < domain_name.length; j++)
		{
			if(j>0 && domain_name[j])
			{
				domain_type += "."+domain_name[j];
			}
		}

		form.dom_name.value = domain_name[0].trim();

		//[1.5] 한글, 중문, 영문 도메인 채크
		var krstr = /[가-힣]/;
		if(!krstr.test(domain_name[0])){
			types = ".com|.net|.kr|.mobi|.eu|.in|.biz|.info|.org|.name|.ac|.tw|.tv|.cc|.cn";
			types_enable = ".jp|.to";

			var types_buf = types.split("|");
			var types_enable_buf = types_enable.split("|");
			var types_check = 0;

			//[1.3] 소유권이전 불가능한 도메인 타입 검사
			for (var j = 0; j < types_enable_buf.length; j++)
			{
				if("."+domain_name[domain_name.length-1].trim()==types_enable_buf[j].trim()){
					alert (types_enable_buf[j]+" 도메인 소유권 이전은 1:1 친절상담으로 문의해 주십시오.");
					showWrongDomain(form, i);
					return;
				}
			}

			//[1.3] 등록가능한 도메인 타입 검사
			for (var j = 0; j < types_buf.length; j++)
			{
				if("."+domain_name[domain_name.length-1].trim()==types_buf[j].trim()){
					types_check = 1;
				}
			}

			if(!types_check){
				alert("[ "+form.domain_select.value+"] \n\n도메인 타입이 맞지 않습니다. \n다시 입력해 주세요.");
				form.hostname.focus();
				showWrongDomain(form, i);
				return;
			}
			if ( domain_name[domain_name.length-1].trim() == "cn" ){
				//cn 도메인 (중문.cn)
				dom_check=transferDomainSearch_Cn(form);
			} else {
				//영문 도메인
				dom_check=transferDomainSearch_Eng(form);
			}

		} else {
			//한글 도메인
			kor_types = ".com|.net|.org|.kr|.info|.biz";

			var kor_types_buf = kor_types.split("|");
			kor_types_check=0;
			for (var j = 0; j < kor_types_buf.length; j++)
			{
				if(domain_type.trim()==kor_types_buf[j].trim()){
					kor_types_check = 1;
				}
			}
			if(kor_types_check!=1){
				//alert("[ "+form.domain_select.value+"] \n\n한글도메인을 지원하지 않는 타입입니다. \n다시 입력해 주세요.");
				alert("[ "+form.domain_select.value+"]");
				showWrongDomain(form, i);
				form.hostname.focus();
				return;
			}

			dom_check=transferDomainSearch_Kor(form);
		}

		if(!dom_check){
			return;
		}
	}

	span_hiddenFrame.innerHTML = "<iframe style='display:none;' id='hiddenFrame' name='hiddenFrame' src='about:blank'></iframe>";
	document.all["hiddenFrame"].src = "session_control.php?method=search2form";

	//form.action = "/renew/check_result.php";
	//form.submit();
}

function submitForm()
{
	var form = document.quest;
	var host = form.hostname.value.toLowerCase();

	var host_buf = host.split("\n");

	data1 = "";
	inter = "'";

	for ( i=0; i<host_buf.length; i++) {

		var temp_buf = host_buf[i].replace("\n","").replace("\r","");
		var tmp_domain = temp_buf.split(".");

		temp_domain_name = "";
		temp_domain_name = tmp_domain[0];

		temp_domain_type = "";
		for (var j = 01; j < tmp_domain.length; j++)
		{
			temp_domain_type += "."+tmp_domain[j];
		}

		data1 += "<input type=hidden name='domains[]' value="+inter+temp_domain_name+temp_domain_type+inter+">";
		data1 += "<input type=hidden name='domain_types[]' value="+inter+temp_domain_type+inter+">";
		data1 += "<input type=hidden name='domain_names[]' value="+inter+temp_domain_name+inter+">";
	}

	if (document.layers) {
		document.layers.Iurl.document.write(data1);
		document.layers.Iurl.document.close();
	} else {
		if (document.all) {
			Iurl.innerHTML = data1;
		}
	}

	document.all.span_hiddenFrame.innerHTML = "";
	form.action = "check_result_owner.php";
	form.submit();
}

function showWrongDomain(f, index)
{

	var oTxt = f.hostname;

	var pt = fGetXY (oTxt);

	var height = oTxt.offsetHeight;
	var left = pt.x;
	var top = pt.y + 10;
	var width = oTxt.offsetWidth - 15;

	var fontSize = 22;

	var currentTop = top + (fontSize * index);

	if(currentTop > (height + top - fontSize))
	{
		var diff = currentTop - (height + top - (fontSize * 2));

		oTxt.scrollTop = diff;

		idYellow.style.top = top + height - fontSize - 22;
		idYellow.style.display = "";
	}
	else
	{
		oTxt.scrollTop = 0;
		idYellow.style.top = currentTop;
		idYellow.style.display = "";
	}

	idYellow.style.height = fontSize;
	idYellow.style.left = left;
	idYellow.style.width = width;

}

function fGetXY (aTag){
  var oTmp = aTag;

  this.pt = new Object();
  this.pt.x = 0; this.pt.y = 0; this.pt.h = 0; this.pt.w = 0;

  do {
  	this.pt.x += oTmp.offsetLeft;
  	this.pt.y += oTmp.offsetTop;
	this.pt.h += oTmp.offsetHeight;
  	this.pt.w = oTmp.offsetWidth;
  	oTmp = oTmp.offsetParent;
  } while(oTmp.tagName!="BODY");

  return this.pt;
}
