// ********************************
//  Browser Version (Inter Explorer : IE, Nescape : NS, Other : OB)
// ********************************
	function _get_BrowserVersion ()
	{
		var brw_ver = "";

		var app_name = navigator.userAgent.toUpperCase();

		if (app_name.indexOf("MSIE") > 0)
		{
			brw_ver = "IE";
		}
		else if (app_name.indexOf("GECKO") > 0)
		{
			brw_ver = "NS";
		}
		else
		{
			brw_ver = "OB";
		}

		return brw_ver;
	}

// ********************************
//  String °ü·Ã ÇÔ¼ö Àç Á¤ÀÇ 
// ********************************
	// Trim String
	String.prototype.trim = function()
	{
		return this.replace (/(^\s*)|(\s*$)/g, "");
	}
	
	// ½ºÆ®¸µÀÇ ³¡¿¡¼­ Æ¯Á¤ ¹®ÀÚÀÇ ±æÀÌ ¸¸Å­À» Á¦°Å
	String.prototype.rm_tail = function (cut_char)
	{
		var rslt_str = "";

		if (this.length > 0)
			rslt_str = this.substr (0, this.length - cut_char.length);

		return rslt_str;
	}


// ********************************
//  ·¹ÀÌ¾î °ü·Ã ÇÔ¼ö Àç Á¤ÀÇ
// ********************************
	// Show / Hidden by Element
	Object.prototype.visibleState = function(b_show)
	{
		if (this.style)
		{
			this.style["display"] = (b_show)?"":"none";
		}
	}

	// Show / Hidden by ID
	function displayLayer(obj_id, b_show)
	{
		var layer_obj = document.getElementById (obj_id);

		if (layer_obj)
		{
			layer_obj.style["display"] = (b_show)?"":"none";
		}
	}

// ********************************
// StringBuffer Object
//   String ¿¬°áÀ» ¹è¿­À» »ý¼º ÇÏ¿© ¸¸µå´Â °³Ã¼
//   StringÀ» ±×³É +¸¦ ÀÌ¿ëÇÏ¿© ¿¬°áÇÏ°Ô µÇ¸é ºñ È¿À²ÀûÀÎ ºÎºÐÀÌ ¸¹¾Æ¼­
//   ¹è¿­·Î »ý¼º ÈÄ joinÀ¸·Î ¿¬°áÇØ ÁØ´Ù.
// ********************************
	var StrBuf = function()
	{
		this.buffer = new Array();
	}
	
	StrBuf.prototype.add = function(str)
	{
		if (str)
		{
			this.buffer[this.buffer.length] = str;
		}
	}

	StrBuf.prototype.get = function()
	{
		return this.buffer.join ("");
	}

	StrBuf.prototype.get_arr = function()
	{
		return this.buffer;
	}

	StrBuf.prototype.len = function()
	{
		return this.buffer.length;
	}


// ********************************
// µ¥ÀÌÅ¸ Çü º¯È¯
// ********************************
	var UsrConv  = function()
	{
	}

	// ´ÜÀ§ (PX)Çü½ÄÀ» ¼ýÀÚ·Î º¯È¯
	UsrConv.prototype.unit_to_num = function(src_val)
	{
		var ret = 0;

		if (src_val.trim().length > 0)
		{
			var uc_str = src_val.trim().toUpperCase();
			ret = parseFloat (uc_str.replace ("PX", ""));
		}

		return ret;
	}




// ********************************
// HTML FormÀÇ Element Ã³¸®¿¡ °üÇÑ ÇÔ¼ö
// ********************************
	// ÇØ´ç ElementÀÇ Type¿¡ µû¸¥ Value°ª ÃßÃâ
	function get_el_value (obj_el)
	{
		var el_name = obj_el.name;
		var el_type = obj_el.type.toUpperCase();
		var el_tagname = obj_el.tagName.toUpperCase();
		
		//alert(el_name);
		//alert(el_type);
		//alert(el_tagname);

		var el_value = null;

		if (el_tagname == "TEXTAREA")
		{
			// ÄÁÆ®·ÑÀÌ TextAreaÀÎ °æ¿ì
			if (obj_el.value.trim() != "")
				el_value = obj_el.value;
		}
		else if (el_tagname == "SELECT")
		{
			// ÄÁÆ®·ÑÀÌ TextAreaÀÎ °æ¿ì
			if (obj_el.selectedIndex > -1)
			{
				el_value = obj_el.options[obj_el.selectedIndex].value;
			}
		}
		else
		{
			if (el_type == "TEXT" || el_type == "PASSWORD")
			{ 
				if (obj_el.value.trim() != "")
					el_value = obj_el.value;
			}
			else if (el_type == "CHECKBOX" || el_type == "RADIO")
			{
				if (obj_el.checked)
					el_value = obj_el.value;
			}
		}

		return el_value;
	}

	// Form¿¡¼­ Á¤»óÀûÀÎ Element¸¦ °Ë»ç
	// Element¿¡ name°ªÀÌ Á¤»ó ¼³Á¤µÈ Element¸¦ °Ë»ö
	function getValidElement (frm_obj)
	{
		var arr_el = new Array();

		if (frm_obj)
		{
			if (frm_obj.elements.length > 0)
			{
				for (i=0; i < frm_obj.elements.length; i++)
				{
					var el_obj = frm_obj.elements[i];

					if (el_obj && el_obj.name && el_obj.name.length > 0)
					{
						arr_el[arr_el.length] = el_obj;
					}
				}
			}
		}

		return arr_el;
	}

function num_comma(numstr)
{
  var numstr = String(numstr);
  var re0 = /(\d+)(\d{3})($|\..*)/;
  if (re0.test(numstr))
    return numstr.replace(re0, function(str,p1,p2,p3) { return num_comma(p1) + "," + p2 + p3; }
    );
  else
    return numstr;
}

String.prototype.comma = function()
{
    return num_comma(this);
}

