/*********************************************
#-> °ø¹éÁ¦°Å
*********************************************/
String.prototype.trim = function()
{
	return this.replace(/^\s+|\s+$/g,"");
}

String.prototype.ltrim = function()
{
	return this.replace(/^\s+/,"");
}

String.prototype.rtrim = function()
{
	return this.replace(/\s+$/,"");
}

/**
* string String::cut(int len)
* ±ÛÀÚ¸¦ ¾Õ¿¡¼­ºÎÅÍ ¿øÇÏ´Â ¹ÙÀÌÆ®¸¸Å­ Àß¶ó ¸®ÅÏÇÕ´Ï´Ù.
* ÇÑ±ÛÀÇ °æ¿ì 2¹ÙÀÌÆ®·Î °è»êÇÏ¸ç, ±ÛÀÚ Áß°£¿¡¼­ Àß¸®Áö ¾Ê½À´Ï´Ù.
*/
String.prototype.cut = function(len)
{
	var str = this;
	var l = 0;
	for (var i=0; i<str.length; i++)
	{
		l += (str.charCodeAt(i) > 128) ? 2 : 1;
		if (l > len) return str.substring(0,i) + "...";
	}

	return str;
}

/**
* bool String::bytes(void)
* ÇØ´ç½ºÆ®¸µÀÇ ¹ÙÀÌÆ®´ÜÀ§ ±æÀÌ¸¦ ¸®ÅÏÇÕ´Ï´Ù. (±âÁ¸ÀÇ length ¼Ó¼ºÀº 2¹ÙÀÌÆ® ¹®ÀÚ¸¦ ÇÑ±ÛÀÚ·Î °£ÁÖÇÕ´Ï´Ù)
*/
String.prototype.bytes = function()
{
	var str = this;
	var l = 0;
	for (var i=0; i<str.length; i++) l += (str.charCodeAt(i) > 128) ? 2 : 1;

	return l;
}

/*
	³¯Â¥ Ã¼Å© ÇÔ¼ö
	pattern : yyyy-mm-dd
*/
var checkDate = function(val, msg)
{
	var date_pattern = new RegExp(/^19|20[0-9]{2}-0|1[0-9]-[0-3][0-9]$/);

	if(val.match(date_pattern))
	{
		var date_array = val.split('-');
		var year = date_array[0];
		// Attention! Javascript consider months in the range 0 - 11
		var month = date_array[1] - 1;
		var day = date_array[2];

		// Date °´Ã¼ »ý¼º
		source_date = new Date(year, month, day);

		if(year != source_date.getFullYear() || month != source_date.getMonth() || day != source_date.getDate())
		{
			alert('³¯Â¥¸¦ Àß¸ø ÀÔ·Â ÇÏ¼Ì½À´Ï´Ù. Çü½Ä¿¡ ¸Â°Ô ÀÔ·ÂÇØ ÁÖ¼¼¿ä~!');
			return false;
		}

		return true;
	}
	else
	{
		alert(msg);
		return false;
	}
}

// ÄÞ¸¶¼³Á¤
var setComma = function(str)
{
	str = ""+str+"";
	var retValue = "";
	for(k=0; k<str.length; k++)
	{
		if(k > 0 && (k%3)==0)
			retValue = str.charAt(str.length - k -1) + "," + retValue;
		else
			retValue = str.charAt(str.length - k -1) + retValue;
	}
	return retValue;
}

// ÄÞ¸¶Á¦°Å
var removeComma = function(str)
{
    return str.replace(/,/gi,"");
}

function MultiCheckValue(target, chk_char, max_len)
{
	if(target.length >= 1)
	{
		for(var i = 0; i < chk_char.length; i++)
		{
			if(target.indexOf(chk_char.charAt(i)) >= 0)
				return false;
		}
	}
	return true;
}

function MultinoncheckValue(target, chk_char, max_len)
{
	if(chk_char.length >= 1)
	{
		for(var i = 0; i < target.length; i++)
		{
			if(chk_char.indexOf(target.substring(i, i+1)) < 0)
				return true;
		}
	}
	return false;
}

function multiCheckDomain(domain_val)
{
	var temp=0;
	var char_length = domain_val.length;
	var domain_name	= new Array();
	var special_4 = ' ~!@#$%^&*()_=+|\\{}[];"\'<>?\/';	// : ,
	var alpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
	var numeric = '1234567890';

	var han_dom_tld = new Array(".com", ".net" , ".org", ".kr", ".biz", ".info");
	var eng_dom_tld = new Array(".com", ".net" , ".org", ".kr", ".co.kr", ".info", ".biz", ".cn", ".com.cn", ".net.cn", ".cc", ".tv", ".name", ".asia", ".me", ".pe.kr", ".re.kr", ".ne.kr", ".seoul.kr", ".busan.kr", ".daegu.kr", ".incheon.kr", ".gwangju.kr", ".daejeon.kr", ".ulsan.kr", ".gyeonggi.kr", ".gangwon.kr", ".chungbuk.kr", ".chungnam.kr", ".jeonbuk.kr", ".jeonnam.kr", ".gyeongbuk.kr", ".gyeongnam.kr", ".jeju.kr", ".go.kr", ".or.kr", ".ac.kr", ".hs.kr", ".ms.kr", ".es.kr", ".sc.kr", ".kg.kr", ".eu", ".cn", ".com.cn", ".net.cn", ".org.cn", ".in", ".jp", ".us", ".de", ".ag", ".com.ag", ".net.ag", ".org.ag", ".at", ".co.uk", ".me.uk", ".org.uk", ".la", ".sh", ".am", ".be", ".pl", ".biz.pl", ".bz", ".co.in", ".net.in", ".org.in", ".firm.in", ".gen.in", ".ind.in", ".fm", ".gs", ".io", ".md", ".ms", ".nu", ".sc", ".com.sc", ".net.sc", ".org.sc", ".se", ".sg", ".com.sg", ".tc", ".tk", ".tw", ".com.tw", ".org.tw", ".club.tw", ".ebiz.tw", ".game.tw", ".idv.tw", ".vg", ".ws", ".ac", ".mobi", ".travel", ".jobs", ".com.mx", ".co.nz", ".net.nz", ".org.nz", ".hk", ".fr");

	if(char_length == 0)
	{
		window.alert('µµ¸ÞÀÎ¸íÀ» ÀÔ·ÂÇÏ¿© ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù.');
		return false;
	}
	else
	{
		var total_enter = 0;
		var start_at = 0;

		for(var i = 0, j = 0; i <= char_length; i++)
		{
			var one_char = domain_val.charAt(i);

			if(one_char == '\n')
			{
				domain_name[j++] = domain_val.substring(start_at, i-1);
				start_at = i+1;
			}
			else if(i == char_length)
				domain_name[j++] = domain_val.substring(start_at, i);
		}

		for(i = 0, valid_domain = 0; i < domain_name.length; i++)
		{
			valid_check = false;
			domain_name[i] = domain_name[i].replace(/(^\s*)|(\s*$)/g, "");
			// °ø¹éÀ» Á¦°ÅÇØÁØ´Ù.
			domain_name[i] = domain_name[i].trim();

			if(domain_name[i] != null && domain_name[i].length > 0)
			{
				if (domain_name[i].charAt(0) == '.') {
					window.alert("µµ¸ÞÀÎ ¸íÀº '.'·Î ½ÃÀÛÇÒ ¼ö ¾ø½À´Ï´Ù.");
					return false;
				}

				if (domain_name[i].charAt(0) == '-') {
					window.alert("µµ¸ÞÀÎ ¸íÀº '-'·Î ½ÃÀÛÇÒ ¼ö ¾ø½À´Ï´Ù.");
					return false;
				}

				if(domain_name[i].charAt(domain_name[i].length-1) == '-') {
					window.alert("µµ¸ÞÀÎ ¸íÀº '-'·Î ³¡³¯ ¼ö ¾ø½À´Ï´Ù.");
					return false;
				}

				if(MultiCheckValue(domain_name[i], special_4, 67) == false) {
					window.alert(domain_name[i] + " µµ¸ÞÀÎ¸í¿¡ Àß¸øµÈ °ªÀÌ ÀÔ·ÂµÇ¾ú½À´Ï´Ù.");
					return false;
				}

				var domain_kind = domain_name[i].substr(domain_name[i].indexOf('.')).toLowerCase();
				var origin_domainname = domain_name[i].substr(0, domain_name[i].length - domain_kind.length);

				if(origin_domainname.length < 1) {
					window.alert(domain_name[i] + 'Àº µµ¸ÞÀÎ Çü½Ä¿¡ ¸ÂÁö ¾Ê½À´Ï´Ù.\nÈ®ÀÎ ÈÄ ´Ù½Ã ÀÔ·ÂÇØ ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù.');
					return false;
				}
				else {
					if(origin_domainname.charAt(origin_domainname.length-1) == '-') {
						window.alert("µµ¸ÞÀÎ ¸íÀº '-'·Î ³¡³¯ ¼ö ¾ø½À´Ï´Ù.");
						return false;
					}
				}

				if (MultinoncheckValue(domain_name[i], numeric+alpha+'.-', 67) == true)
				{				
					// ÇÑ±Û µµ¸ÞÀÎ
					if(origin_domainname.length < 2 || origin_domainname.length > 17) {
						alert ("ÇÑ±Û µµ¸ÞÀÎÀº 2ÀÚ ÀÌ»ó 17ÀÚ ÀÌÇÏ·Î ±¸¼ºµË´Ï´Ù.");
						return false;
					}

					for(j = 0; j < han_dom_tld.length; j++)
					{
						if(domain_kind == han_dom_tld[j])
							valid_check = true;
					}

					if(valid_check == false)
					{
						window.alert(domain_name[i] + 'Àº µî·Ï °¡´ÉÇÑ µµ¸ÞÀÎ Á¾·ù°¡ ¾Æ´Õ´Ï´Ù.\nÇÑ±Ûµµ¸ÞÀÎÀº .com, .net, .kr, .org, .biz, .info ¸¸ µî·Ï °¡´ÉÇÕ´Ï´Ù.\nÈ®ÀÎ ÈÄ ´Ù½Ã ÀÔ·ÂÇØ ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù.');
						return false;
					}
				}
				else
				{
					// ¿µ¹® µµ¸ÞÀÎ
					if(origin_domainname.length < 2 || origin_domainname.length > 63) {
						alert ("µµ¸ÞÀÎÀº 2ÀÚ ÀÌ»ó 63ÀÚ ÀÌÇÏ·Î ±¸¼ºµË´Ï´Ù.");
						return false;
					}

					for(j = 0; j < eng_dom_tld.length; j++)
					{

						if(domain_kind == eng_dom_tld[j])
							valid_check = true;
					}

					if(valid_check == false){
						 alert(domain_name[i] + "Àº µî·Ï °¡´ÉÇÑ µµ¸ÞÀÎ Á¾·ù°¡ ¾Æ´Õ´Ï´Ù.\nÈ®ÀÎ ÈÄ ´Ù½Ã ÀÔ·ÂÇØ ÁÖ½Ã±â ¹Ù¶ø´Ï´Ù.");
						return false;
					}
				}

				valid_domain++;
			}
		}

		if(valid_domain > 20){
			window.alert('ÇöÀç ' + valid_domain + '°³ÀÇ µµ¸ÞÀÎÀ» ÀÔ·ÂÇÏ¼Ì½À´Ï´Ù.\nÇÑ¹ø¿¡ 20°³±îÁö¸¸ °Ë»öÀÌ °¡´ÉÇÕ´Ï´Ù.');
			return false;
		}
	}

	return true;
}

// .asia ÄíÆù ÀÌº¥Æ®
var onAsiaEventCoupon = function()
{
	//
	$.ajax({
		type: "GET",
		url: "/inc/ajax_lib/asia_event_coupon.php",
		dataType: "json",
		success: function(info) {
			if (info.code == "Y")
			{
				alert(".asia 2¸¸¿ø ÇÒÀÎ ÄíÆùÀÌ ¹ß±ÞµÇ¾ú½À´Ï´Ù.");
			}
			else
			{
				if (info.code == "NN")
					alert("1ÀÏ ÄíÆù ¹ß±Þ ¼ö·®Àº 3¸Å·Î Á¦ÇÑµË´Ï´Ù.\n³»ÀÏ ´Ù½Ã ¹ß±Þ¹ÞÀ¸¼¼¿ä.");
				else if (info.code == "NL")
				{
					alert( info.msg );
					document.location.href="https://www.gabia.com/login/login_form.php";
				}
				else
					alert( info.msg );
			}
		}
	});
}
