	/** 
	* string String::cut(int len)
	* 글자를 앞에서부터 원하는 바이트만큼 잘라 리턴합니다.
	* 한글의 경우 2바이트로 계산하며, 글자 중간에서 잘리지 않습니다.
	* Example 1
    *			tmpText = "동a해b물c과 백두산이";
    *			alert(tmpText.cut(15));
	*/
	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바이트 문자를 한글자로 간주합니다)
	*
	* Example 2
    *			tmpText = "너무긴내용너무긴내용너무긴내용";
	*			alert("length: " + tmpText.length + "\nbytes(): " + tmpText.bytes());
	* Example 3
    *			if (bbb.bytes() > 20) 
    *				alert("내용이 너무 깁니다");
	*/
	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;
	}

	/**
	 *	모든 링크에 포커스 테두리 없애는 함수
	 */
	function blurAll() 
	{
		if (event.srcElement.tagName == "A" || event.srcElement.tagName == "IMG")
		{ 
			document.body.focus(); 
		}
	}

	/**
	 *	금액의 콤마를 표시해 주는 Number_format 함수
	 */
	function number_format( number , decimals ) 
	{ 
		var number	= number.toString(); 
		var arr		= number.split("."); 
		var str		= '', temp = '', z = 0, int_len = 0, interval = 0; 

		//	정수와 소수부분 분리 
		integer		= arr[0]; 
		float		= arr[1]; 

		int_len		= integer.length; 
		for (z = 0 ; z < int_len ; z++) 
		{ 
			if (((int_len - z) % 3) == 0 && (int_len - z != int_len)) 
			{
				str = str + ",";
			} 
			
			str	= str + integer.charAt(z);
		} 

		//	끊기를 원하는 자리수(decimals) 가 있고, 실제 소수부분이 있는 경우 
		if (decimals > 0 && float != "") 
		{ 
			//	끊기를 원하는 수가 소수부분보다 길면... 
			if (decimals > float.length) 
			{ 
				//	길이의 차이를 구한다 
				interval = decimals - float.length; 
				
				//	길이의 차이만큼 0 을 더해준다. 
				for (z = 0 ; z < interval ; z++) 
				{ 
					float = float + '0'; 
				} 
			} 
			else if ( decimals < float.length ) //	끊기를 원하는 수가 소수부분보다 짧으면... 
			{ 
				//	원하는 소수점개수보다 1자리 많게 끊어서 반올림하여 구한다. eval 은 문자를 숫자로 변환해주는 function 
				float = Math.round ( float.substr ( 0, eval(decimals) + 1 ) / 10 ); 
			}

			str = str + "." + float; 
		}
		return str; 
	}

	/**
	 *	새창 띄우는 함수
	 */
	function openWindow(url,name,width,height,scroll)
	{		
		var x = (window.screen.width - width) / 2;
		var y = (window.screen.height - height) / 2;

		if (!scroll)
		{
			scroll = "no";
		}

		window.open(url,name,'width=' + width + ',height=' + height + ',left=' + x + ',top=' + y + ',scrollbars=' + scroll);
	}

	/**
	 *	주민 등록 번호를 체크해 주는 함수
	 */
	function SSNChecker(s1, s2)
	{
		chk = 0;
		yy	= s1.substring(0,2);
		mm	= s1.substring(2,4);
		dd	= s1.substring(4,6);
		sex = s2.substring(0,1);

		if ((s1.length != 6) || (yy < 25 || mm < 1 || mm > 12 || dd < 1))
		{
			return false;
		}

		if ((sex != 1 && sex != 2 && sex != 3 && sex != 4)||(s2.length != 7 ))
		{
			return false;
		}

		if(!(sex == 1 || sex == 2 || sex == 3 || sex == 4))
		{
			return false;
		}

		for (var i = 0; i <= 5; i++)
		{
			chk = chk + ((i % 8 + 2) * parseInt(s1.substring(i, i + 1)))
		}

		for (var i = 6; i <= 11; i++)
		{
			chk = chk + ((i % 8 + 2) * parseInt(s2.substring(i - 6, i - 5)))
		}

		chk = 11 - (chk % 11)
		chk = chk % 10

		if (chk != s2.substring(6, 7))
		{
			return false;
		}

		return true;
	}

	/** 
	* void PreviewImage(obj)
	* 업로드 전 이미지 파일을 미리 볼 수 있도록 합니다.
	*
	* Example :
    *			<img id='pre1' style='display:none;' border=0>
    *					 ~~~~
    *			<input type='file' name='userFile' value='' onChange='PreviewImage(pre1)'>
    *																		       ~~~~
	*/
	function PreviewImage(obj)
	{
		img_pre = obj;

		if (event.srcElement.value.match(/(.gif|.GIF|.jpg|.JPG|.png|.PNG)/))
		{
			document.images[img_pre].src = event.srcElement.value;
			document.images[img_pre].style.display = 'block';
		}
		else
		{
			document.images[img_pre].style.display = 'none';
		}
	}
