String.prototype.trim = function(){ return this.replace(/(^\s*)|(\s*$)/g, ""); }
String.prototype.str_replace = function(str1,str2){ return this.split(str1).join(str2); }
String.prototype.josa = function(nm) {
	var nm1 = nm.trim().substring(0, nm.trim().indexOf("/"));
	var nm2 = nm.trim().substring(nm.trim().indexOf("/") + 1, nm.trim().length);
	var a = this.substring(this.length - 1, this.length).charCodeAt();
	a = a - 44032;
	var jongsung = a % 28;
	return (jongsung) ? nm1 : nm2;
}

function array_sum(array) {
	var key, sum = 0;
	if (typeof array !== 'object') return null;
	for (key in array) sum += (array[key] * 1);
	return sum;
}

function debug(arr,level){
    var dumped_text = "";
    if(!level) level = 0;

    //The padding given at the beginning of the line.
    var level_padding = "";
    for(var j=0;j<level-1;j++) level_padding += "    ";

    if(typeof(arr) == 'object'){ // Array/Hashes/Objects
         for(var item in arr){
            var value = arr[item];
             if(typeof(value) == 'object') { // If it is an array,
                dumped_text += level_padding + "[" + item + "] =>\n";
                dumped_text += dump(value,level+1);
            } else{
                dumped_text += level_padding + "[" + item + "] => " + value + "\n";
            }
        }
    } else{ // Stings/Chars/Numbers etc.
        dumped_text = arr+" ("+typeof(arr)+")";
    }
    return dumped_text;
}

function getNodeIndex(obj){
	var k = 0;
	while(obj.previousSibling){ k++; obj = obj.previousSibling; }
	return k;
}
function removeNode(o){ return o.parentNode.removeChild(o); }
function moveNode(obj,idx){
	var p = obj.parentNode;
	var nodeIndex = getNodeIndex(obj)
	if (nodeIndex+idx<0 || nodeIndex+idx>p.childNodes.length-1) return false;

	if (idx<0){
		p.insertBefore(p.childNodes[nodeIndex],p.childNodes[nodeIndex-1]);
	} else {
		p.insertBefore(p.childNodes[nodeIndex+1],p.childNodes[nodeIndex]);
	}
	return false;
}

function popup(src,width,height,name) {
	var scrollbars = "1";
	var resizable = "no";
	if (typeof(arguments[4])!="undefined") scrollbars = arguments[4];
	if (arguments[5]) resizable = "yes";
	var p = window.open(src,'popup'+name,'width='+width+',height='+height+',scrollbars='+scrollbars+',toolbar=no,status=no,resizable='+resizable+',menubar=no');
	p.focus();
}

function vLayer(obj,mode) {
	if (typeof(obj)!="object") obj = $(obj);
	if (typeof(obj)=="undefined" || obj==null) return;
	//alert(obj.style.display);
	if (!mode) obj.style.display = (obj.style.display!="block") ? "block" : "none";
	else obj.style.display = mode;
}

function in_array(val,arr){
	for (var i=0;i<arr.length;i++){ if (arr[i]==val) return true; }
	return false;
}

/*** 팝업 윈도우 ***/
function popupLayer(src,mode){
	/*** 백그라운드 레이어 ***/
	var bg = document.createElement("div");

	with (bg.style){
		position = "absolute";
		zIndex = 99;
		left = 0;
		top = 0;
		width = document.body.clientWidth+"px";
		height = (document.body.clientHeight>document.body.scrollHeight) ? document.body.clientHeight+"px" : document.body.scrollHeight+"px";
		//height = "100%";
		backgroundColor = "#000000";
		filter = "Alpha(Opacity=30)";
		opacity = "0.3";
	}
	
	bg.setAttribute("id","popupLayerBg");
	document.body.appendChild(bg);
	$("popupLayerBg").onmousewheel = function(){return false;}

	var o = document.createElement("div");
	o.setAttribute("id","popupLayer");
	document.body.appendChild(o);

	var posX = (!mode) ? (document.body.clientWidth - 700) / 2 : 10;
	var posY = (!mode) ? document.documentElement.scrollTop + 150 : 10;

	var w = (!mode) ? "700" : document.body.clientWidth - 20;
	var h = (!mode) ? "500" : document.body.scrollHeight - 20;

	with (o.style){
		background = "#FFFFFF";
		width = w+"px";
		height = h+"px";
		position = "absolute";
		zIndex = 100;
		left = posX+"px";
		top = posY+"px";
		border = "1px solid #5dc032";
	}
	//o.innerHTML = "<div style='background:#333;height:18px;font:8pt verdana;padding:1px 5px 0 5px;'><div class='stxt left white' style='padding-top:3px'>■ &nbsp;miniShop v1.0</div><div class=right><a href='javascript:closeLayer()' class=white onfocus=blur()>+</a></div></div><iframe name=popupLayerFrame src='" + src + "' style='width:100%;height:" + (h-20) + "px;' frameborder=0></iframe>";
	o.innerHTML = "<div style='position:absolute;right:10px;top:10px;'><a href='javascript:closeLayer()' onfocus=blur()><img src='/js/img/sbtn_close_layer.gif'></a></div><iframe name=popupLayerFrame src='" + src + "' style='width:100%;height:" + (h-20) + "px;' frameborder=0></iframe>";
}

function closeLayer(obj,no){
	removeNode($('popupLayer'));
	removeNode($('popupLayerBg'));
}

function onlynumber() {
	var e = event.keyCode;
	window.status = e;
	if (e>=48 && e<=57) return;
	if (e>=96 && e<=105) return;
	if (e==8 || e==9 || e==13 || e==45 || e==46 || e==37 || e==39) return;
	event.returnValue = false;
}

function imageUploadPreview(obj,preview){ 
	if (!/(\.gif|\.jpg|\.jpeg|\.png)$/i.test(obj.value)) {
		alert("이미지 형식의 파일을 선택하십시오");
		return;
    }
	var img_path;
	if (obj.value.indexOf("\\fakepath\\") < 0) {
		img_path = obj.value;
	} else {
		obj.select();
		var selectionRange = document.selection.createRange();
		img_path = selectionRange.text.toString();
		obj.blur();
	}
	preview.innerHTML = "";
	preview.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='file://" + img_path + "',sizingMethod='scale')"; 
}

function putcell(obj,str,span){
	var td = obj.insertCell();	
	if (span) td.colSpan = span;
	td.innerHTML = str;
	return td;
}

function onlyRangeScroll(obj){
	if (event.wheelDelta >= 120) obj.scrollTop -= 40;
	else if (event.wheelDelta <= -120) obj.scrollTop += 40;
	return false;
}

/*** 본문 이미지 크기 리사이징 ***/
function innerImgResize(id)
{
	var objContents = $(id);
	if (!objContents) return;
	var innerWidth = objContents.clientWidth;
	var img = objContents.getElementsByTagName('img');
	for (var i=0;i<img.length;i++){
		if (img[i].width>innerWidth){
			img[i].height = img[i].height * innerWidth / img[i].width;
			img[i].width = innerWidth;

			img[i].title = "View Original Image!!";
			img[i].style.cursor = "pointer";

			img[i].onclick = function(){
				imgbox(this);
				//$j(this).lightBox({fixedNavigation:true}); 
			};
		}
	}
}

/*** 게시판 스팸 체크 ***/
function chkSpam(fm,time){
	fm.skey.value = time;
}

/*** 이메일 Select Box 선택 함수 ***/
function auto_set_email(obj,id){
	var ret = document.getElementsByName(id)[1];
	ret.value = obj.value;
}

/*** autoCamma(object) ***/
function autoComma(obj){
	if (event.keyCode!=9) obj.value=comma(obj.value);
}

/*** 날짜 자동 삽입 ***/
function autoDate(obj1,obj2,val1,val2)
{
	if (typeof(obj1)!=Object) obj1 = $(obj1);
	if (typeof(obj2)!=Object) obj2 = $(obj2);
	obj1.value = val1;
	obj2.value = val2;
}

/*** 즐겨찾기추가 ***/
function bookmark(urlShop,nameShop){
	window.external.AddFavorite(urlShop,nameShop)
}
