/** 
* 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;
}


String.prototype.trim = function()
{
	return this.replace(/(^\s*)|(\s*$)/g, "");
}

function isHangul(value)
{     
    var pattern = new RegExp('[^-R]', 'i'); 
    if(pattern.exec(value) != null) 
	{       
        return false; 
    }
	else 
	{ 
        return true; 
    } 
} 

function getFileIcon(file)
{
	var file;	
	var ext = file.substr(file.lastIndexOf(".") + 1);	
	var icon = "";
	var icon_dis = "";
	switch(ext.toLowerCase())
	{
		case "gif" :
			icon = "gif.gif"; icon_dis = "GIF ̹"; break;
		case "zip" :
		case "rar" :
		case "arj" :
			icon = "zip.gif"; icon_dis = ""; break;
		case "xls" :
			icon = "xls.gif"; icon_dis = ""; break;
		case "jpg" :
		case "jpeg" :
			icon = "jpg.gif"; icon_dis = "JPG ̹"; break;
		case "hwp" :
			icon = "hwp.gif"; icon_dis = "ѱ۹"; break;
		case "bmp" :
			icon = "bmp.gif"; icon_dis = "BMP ̹"; break;
		case "ppt" :
			icon = "ppt.gif"; icon_dis = "ĿƮ"; break;
		case "pdf" :
			icon = "pdf.gif"; icon_dis = "ũιPDF"; break;
		case "css" :
			icon = "css.gif"; icon_dis = "CSS "; break;
		case "doc" :
			icon = "doc.gif"; icon_dis = "幮"; break;
		case "exe" :
			icon = "exe.gif"; icon_dis = ""; break;
		case "htm" :
		case "html" :
			icon = "htm.gif"; icon_dis = "HTML"; break;
		case "js" :
			icon = "js.gif"; icon_dis = "JS "; break;
		case "dll" :
			icon = "dll.gif"; icon_dis = "DLL "; break;
		case "ini" :
			icon = "ini.gif"; icon_dis = "ȯ漳 "; break;
		case "asf" :
		case "wma" :
		case "wmv" :
			icon = "asf.gif"; icon_dis = "̵"; break;
		case "wav" :
			icon = "wav.gif"; icon_dis = "̺"; break;
		case "mp3" :
			icon = "mp3.gif"; icon_dis = "MP3"; break;
		case "avi" : 
			icon = "avi.gif"; icon_dis = "AVI"; break;
		case "mpg" : 
		case "mpeg" : 
			icon = "mpg.gif"; icon_dis = "MPEG"; break;
		case "ra" :
		case "ram" :
			icon = "ra.gif"; icon_dis = ""; break;
		case "txt" :
			icon = "txt.gif"; icon_dis = "ؽƮ"; break;
		case "" :
			icon = "blank.gif"; icon_dis = "Ͼ"; break;
		default :
			icon = "unknown.gif"; icon_dis = "";
	}
	arr_info = new Array();
	arr_info[0] = "/module/webhard/img/icon_type/" + icon;	
	arr_info[1] = icon_dis;
	
	return arr_info;
}


function getFormatFileSize(size)
{
	var size;
	var size_string = "";

	if(size > 512)
	{
		if(size/1024 > 512)
		{
			size_string = getFloatNumber((size / 1024) / 1024) + " MB";
		}
		else
		{
			size_string = getFloatNumber(size / 1024) + " kB";			
		}
	}
	else
	{
		size_string = size + " B";
	}

	return size_string;
}

function getFloatNumber(num)
{
	var str_num = num + "";
	if(str_num.indexOf(".") > 0)
	{
		return str_num.substr(0, str_num.indexOf(".") + 3);
	}
	else
	{
		return str_num;
	}
}

function isHangul(value)
{     
    var pattern = new RegExp('[^-R]', 'i'); 
    if(pattern.exec(value) != null) 
	{       
        return false; 
    }
	else 
	{ 
        return true; 
    } 
}

function __make_object__(obj_id)
{
	document.write(obj_id.text);
	obj_id.id = '';
}

/* 
* ȭ  ó (-00,000,000.00000) (, Ҽ) 
*/ 
function number_format(numstr, ret) 
{ 
    numstr = SetComma(DelComma(numstr)); 
    if(ret)
	{
        ret.value = numstr; 
	}
    return numstr; 
} 

// ڿ ޸ ´. 
function SetComma(numstr) 
{ 
    numstr = String(numstr); 
    var re0 = /^(-?\d+)(\d{3})($|\..*$)/; 
    if (re0.test(numstr)) 
        return numstr.replace(re0, 
            function(str,p1,p2,p3) { 
                return SetComma(p1) + ',' + p2 + p3; 
            } 
        ); 
    else 
        return numstr; 
}

String.prototype.SetComma = function () 
{ 
    return SetComma(this); 
} 

// ڸ ڷ Ѵ. 
function DelComma(numstr) 
{ 
    numstr = String(numstr); 
    if (numstr == '') return '0'; 
    else if (numstr == '-') return '0'; 
    else if (numstr == '0-') return '-0'; 
    numstr = numstr.replace(/[^\d\.-]/g,''); 
    numstr = String(numstr.match(/^-?\d*\.?\d*/)); 
    numstr = numstr.replace(/^(-?)(\d*)(.*)/, 
        function(str,p1,p2,p3) { 
            p2 = (p2>0) ? String(p2.match(/[1-9]\d*$/)) : '0'; 
        //    p2 = (p2>0) ? String(parseInt(p2,10)) : '0'; 
            return p1 + p2 + p3; 
        } 
    ); 
    return numstr; 
} 
String.prototype.DelComma = function () 
{ 
    return DelComma(this); 
} 

// Ҽ ڸ Ѵ.() 
function cutFloat(numstr, length) 
{ 
    numstr = String(numstr); 
    eval('var re0 = /.*\\.\\d{'+ length +'}/;'); 
    if (re0.test(numstr)) 
        numstr = String(numstr.match(re0)); 
    return numstr; 
} 
String.prototype.cutFloat = function (length) 
{ 
    return cutFloat(this,length); 
} 

function addDate(i)
{
	 var currentDate; 
	currentDate = this.getDate() + (i*1);
	this.setDate(currentDate);
} 

function addMonth(i)
{
	var currentDate;
	currentDate = this.getMonth() + (i*1);
	this.setMonth(currentDate);
}
Date.prototype.addDate = addDate; // Date ü ޼ 
Date.prototype.addMonth = addMonth;

function stripFormMoneyComma(form)
{
	var form;
	var length = form.elements.length;
	for(i=0; i<length; i++)
	{		
		if(form.elements[i].className == "number_format")
		{
			form.elements[i].value = form.elements[i].value.DelComma();
		}
	}
}

function checkFormDate(obj)
{
	var obj;
	obj.value = obj.value.trim();
	var v = obj.value;
	if(v != "")
	{
		var delim = "-";
		if(v.indexOf(".") >= 0)
		{
			delim = ".";
		}
		else if(v.indexOf("-") >= 0)
		{
			delim = "-";
		}
		else if(v.indexOf("/") >= 0)
		{
			delim = "/";
		}
		else
		{
			obj.value = "";
			return;
		}

		var arr_v = v.split(delim);
		var arr_v_len = arr_v.length;
		if(arr_v_len == 2)
		{
			arr_v[0] = arr_v[0].trim();
			arr_v[1] = arr_v[1].trim();
			var d = new Date();
			var year = d.getYear();
			if(arr_v[0].length == 0 || arr_v[0].length > 2 || arr_v[1] == 0 || arr_v[1].length > 2 || isNaN(arr_v[0]) || isNaN(arr_v[1]))
			{
				obj.value = "";
			}
			else
			{				
				var month = arr_v[0];
				var day = arr_v[1];				

				if(month.length == 1)
				{
					month = "0" + month;
				}

				if(day.length == 1)
				{
					day = "0" + day;
				}
				
				obj.value = year + "-" + month + "-" + day;
			}

		}
		else if(arr_v_len == 3)
		{
			arr_v[0] = arr_v[0].trim();
			arr_v[1] = arr_v[1].trim();
			arr_v[2] = arr_v[2].trim();
			if(arr_v[0].length == 0 || arr_v[0].length > 4 || arr_v[1] == 0 || arr_v[1].length > 2 || arr_v[2] == 0 || arr_v[2].length > 2 || isNaN(arr_v[0]) || isNaN(arr_v[1]) || isNaN(arr_v[2]))
			{
				obj.value = "";
			}
			else
			{
				var year = arr_v[0];
				var month = arr_v[1];
				var day = arr_v[2];
				if(year.length == 1)
				{
					year = "200" + year;
				}
				else if(year.length == 2)
				{
					year = "20" + year;
				}
				else if(year.length == 3)
				{
					year = "2" + year;
				}

				if(month.length == 1)
				{
					month = "0" + month;
				}

				if(day.length == 1)
				{
					day = "0" + day;
				}

				obj.value = year + "-" + month + "-" + day;
			}
		}
		else
		{
			obj.value = "";
		}

	}
}

function getKorReCode(evn)
{ 
    var evn=String.fromCharCode(evn).toUpperCase().charCodeAt(0);
	var re = /[-]/;
    switch(evn)
	{ 
        case 82:re=/[-]/;break; // 
        case 83:re=/[-]/;break; // 
        case 69:re=/[-]/;break; // 
        case 70:re=/[-]/;break; // 
        case 65:re=/[-J]/;break; // 
        case 81:re=/[-]/;break; // 
        case 84:re=/[-]/;break; // 
        case 68:re=/[-]/;break; // 
        case 87:re=/[-]/;break; // 
        case 67:re=/[-]/;break; // 
        case 90:re=/[ī-i]/;break; // 
        case 88:re=/[Ÿ-M]/;break; // 
        case 86:re=/[-]/;break; // 
        case 71:re=/[-R]/;break; // 
    } 
    return re; 
} 

function selectOptionText(obj, evn)
{ 
    var tmpdata=new Array(); 
    var cnt=-1; 
    var cnt2=-1; 

    for(i=0;i<=obj.length-1;i++){ 
        if(getKorReCode(evn).test(obj.options[i].text.substr(0,1))) {cnt++;tmpdata[cnt]=i;} 
    } 
    for(i=0;i<=tmpdata.length-1;i++){ 
        if(obj.selectedIndex==tmpdata[i]){cnt2=i} 
    } 
    tmpdata.length-1<=cnt2 ? cnt2=0:cnt2++; 
    obj.selectedIndex=    tmpdata[cnt2]; 
} 

