///////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////
String.prototype.ltrim = function() { 
	var re = /\s*((\S+\s*)*)/; return this.replace(re,"$1"); 
} 

String.prototype.rtrim = function() { 
	var re = /((\s*\S+)*)\s*/; return this.replace(re,"$1"); 
} 

String.prototype.trim = function() { 
	return this.replace(/(^\s*)|(\s*$)/gi, ""); 
} 

String.prototype.URLEncode = function URLEncode() {
	var SAFECHARS = "0123456789" +     // Numeric
		"ABCDEFGHIJKLMNOPQRSTUVWXYZ" + // Alphabetic
	    "abcdefghijklmnopqrstuvwxyz" +
		"-_.!~*'()";     // RFC2396 Mark characters
	var HEX = "0123456789ABCDEF";
	var plaintext = this;
	var encoded = "";
	
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
		if (ch == " ") {
			encoded += "+";    // x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
			encoded += ch;
		} else {
			var charCode = ch.charCodeAt(0);
			
			if (charCode > 255) {
				alert( "Unicode Character '" + ch + "' cannot be encoded using standard URL encoding.\n" + "(URL encoding only supports 8-bit characters.)\n" + "A space (+) will be substituted." );
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	}
	return encoded;
}

String.prototype.URLDecode = function URLDecode() {
	var HEXCHARS = "0123456789ABCDEFabcdef";
	var encoded = this;
	var plaintext = "";
	var i = 0;
	
	while (i < encoded.length) {
		var ch = encoded.charAt(i);
		if (ch == "+") {
			plaintext += " ";
			i++;
		} else if (ch == "%") {
			if (i < (encoded.length-2) && HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 && HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				alert( 'Bad escape combination near ...' + encoded.substr(i) );
				plaintext += "%[ERROR]";
				i++;
			}
		} else {
			plaintext += ch;
			i++;
		}
	}
	return plaintext;
}

///////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////
function JGF_object(str) { 
	return eval("document.all." + str);
}

function JGF_isFieldChk(obj, text) {
	if (obj.value.trim()=="") { alert(text + "À»(¸¦) ÀÔ·ÂÇÏ¼¼¿ä!"); obj.focus(); return false; }
}

function JGF_EnterKeyDownCheck(onFunction) {
	if (event.keyCode == 13) {
		eval(onFunction());
	}
}
function JGF_isDigit(filter) {
	if (filter) {
		var sKey = String.fromCharCode(event.keyCode);
		var reg = new RegExp(filter);
		
		if (!reg.test(sKey)) {
			event.returnValue = false;
		}
	}
}

function JGF_AutoField(Field, NextNumber, NextField) { 
	if (JGF_object(Field).value.length == parseInt(Nextnumber)) {		
		JGF_object(NextField).focus();
	}
}

function JGF_JuminNumber(str1, str2) {
	var aObjMultiliers1 = new Array(2, 3, 4, 5, 6, 7);
	var aObjMultiliers2 = new Array(8, 9, 2, 3, 4, 5);
	var sum = 0, sum1 = 0, sum2 = 0;
	var sLength1, sLength2;

	sLength1 = str1.length;
	sLength2 = str2.length;

	if (sLength1 < 6 || sLength2 < 7) return 0;
	
	for (var i=0; i < 6; i++) {
		sum1+=parseInt(str1.charAt(i),10) * aObjMultiliers1[i];
		sum2+=parseInt(str2.charAt(i),10) * aObjMultiliers2[i];
	}

	sum = sum1+sum2;
	var checker = (11-(sum%11))%10;
	if (checker == parseInt(str2.charAt(6), 10)) return 1;
	else return 0;
}

function getPageSize() {

	 var xScroll, yScroll;

	if (window.innerHeight && window.scrollMaxY) {
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}

	var windowWidth, windowHeight;

	if (self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth;
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}

	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else {
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){
		pageWidth = xScroll;
	} else {
		pageWidth = windowWidth;
	}

	return [pageWidth,pageHeight];
}

function getnavigatorType(){
	if (navigator.appName == "Netscape") {
		return "Netscape " + navigator.appVersion.charAt(0);
	} else if (navigator.appName == "Microsoft Internet Explorer") {
		if (navigator.appVersion.charAt(0) == "4" ) {
			if (navigator.appVersion.indexOf("MSIE 5") != -1) {
				return "ie 5";
			} else if (navigator.appVersion.indexOf("MSIE 6") != -1) {
				return "ie 6";
			} else if (navigator.appVersion.indexOf("MSIE 7") != -1) {
				return "ie 7";
			} else {
				return "ie 4";
			}
		} else if (navigator.appVersion.charAt(0) == "5") {
			return "ie 5";
		}
	} else {
		return "";
	}
}

function WinReSize() {
	var width, height;
	width = document.body.scrollWidth + 10;
	height = document.body.scrollHeight + 47;

	if( getnavigatorType() == "ie 7" ) height = height + 33;
	window.resizeTo( width, height );

	this.focus();
}

function JGF_IsEmail(strEmail) {
    var regx = RegExp(/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/);
    return regx.test(strEmail); 
}

function JGF_isDigit(filter) {
	if (filter) {
		var sKey = String.fromCharCode(event.keyCode);
		var reg = new RegExp(filter);

		if (!reg.test(sKey)) {
			event.returnValue = false;
		}
	}
}

function LF_DivSH(DivName, SHType) {
	if (SHType == "auto") {
		if (DivName.style.display == "none") {
			DivName.style.display = "";
		} else {
			DivName.style.display = "none";
		}
	} else if (SHType == "true") {
		DivName.style.display = "";
	} else if (SHType == "false") {
		DivName.style.display = "none";
	}
}

function WinCenter(){ 
  
    var x,y; 
    if (self.innerHeight) { // IE ¿Ü ¸ðµç ºê¶ó¿ìÀú 
        x = (screen.availWidth - self.innerWidth) / 2; 
        y = (screen.availHeight - self.innerHeight) / 2; 
    }else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict ¸ðµå 
        x = (screen.availWidth - document.documentElement.clientWidth) / 2; 
        y = (screen.availHeight - document.documentElement.clientHeight) / 2; 
    }else if (document.body) { // ´Ù¸¥ IE ºê¶ó¿ìÀú( IE < 6) 
        x = (screen.availWidth - document.body.clientWidth) / 2; 
        y = (screen.availHeight - document.body.clientHeight) / 2; 
    } 
    window.moveTo(x,y); 
} 
///////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////
function MM_showHideLayers() { //v9.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3)
  with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function sel(input){
  window.open(input,'','');
}

