/** 문자열의 왼쪽 공백을 제거한 문자열을 반환 **/
String.prototype.ltrim = function(){
	return this.replace(/(\s*)/g, "");
};

/** 문자열의 오른쪽 공백을 제거한 문자열을 반환 **/
String.prototype.rtrim = function(){
	return this.replace(/(\s*$)/g, "");
};

/** 문자열의 양쪽 공백을 제거한 문자열을 반환 **/
String.prototype.trim = function(){
	return this.ltrim().rtrim();
};

/**
 * 문자열의 왼쪽에서 count 만큼의 문자열을 반환
 * @param 	count
 * @returns string
 */
String.prototype.left = function(count){
	return this.substr(0, count);
};

/**
 * 문자열의 오른쪽에서 count 만큼의 문자열을 반환
 * @param 	count
 * @returns	string
 */
String.prototype.right = function(count){
	return this.substr(this.length-count, count);
};

/** 영어만인지 검사 **/
String.prototype.isEnglish = function()
{
	var ret = true;
	for (i=0; i<this.length; i++)
	{
		var chr = this.charAt(i).toUpperCase();
		if(chr<"A" || chr>"Z")
		{
			ret = false;
			break;
		}
	}

	return ret;
};

/**
 * E-MAIL 유효성 검사
 * @return
 */
String.prototype.isValidEmail = function()
{
	var check1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
	var check2 = /^[a-zA-Z0-9\-\.\_]+\@[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4})$/;

	if(!check1.test(this) && check2.test(this))
	{
		return true;
	}
	else
	{
		return false;
	}
};

/** 날짜 입력 체크 **/
function validateDateString(strDate)
{
	strDate = strDate.replace(/^\s+/, '').replace(/\s+$/, '');

	if (!strDate || strDate.length!=14)
		return false;

	var year = strDate.substring(0, 4);
	var mon = strDate.substring(4, 6);
	var date = strDate.substring(6, 8);
	var hour = strDate.substring(8, 10);
	var min = strDate.substring(10, 12);
	var sec = strDate.substring(12, 14);

	var objDate = new Date(year, mon-1, date, hour, min, sec);

	if (objDate.getFullYear() != year ||
		objDate.getMonth()+1 != mon ||
		objDate.getDate() != date ||
		objDate.getHours() != hour ||
		objDate.getMinutes() != min ||
		objDate.getSeconds() != sec) 
		return false;

	return true;
}
