// ¹®ÀÚ¿­ÀÇ Ã³À½°ú ³¡ÀÇ °ø¹é Á¦°Å
String.prototype.trim = function(str) {
	str = this != window ? this : str;
	return str.replace(/^\s+/g,'').replace(/\s+$/g,'');
}

// ¹®ÀÚ¿­ÀÇ ¹ÙÀÌÆ® : ¿µ¹® 1byte, ÇÑ±Û 2byte
String.prototype.bytes = function(str) {
	str = this != window ? this : str;
	var bytes = 0;
	var len = str.length;
	for(j=0; j<len; j++) {
		var chr = str.charAt(j);
		bytes += (chr.charCodeAt() > 128) ? 2 : 1
	}
	return bytes;
}

// ¹®ÀÚ¿­ÀÇ Á¾¼º¿¡ ´ëÇÑ ¹ÝÈ¯°ª
String.prototype.hasFinalConsonant = function(str) {
	str = this != window ? this : str;
	var strTemp = str.substr(str.length - 1);
	return (((strTemp.charCodeAt(0) - 16) % 28) != 0);
}

// ¹®ÀÚ¿­ °ø¹é Ã¼Å©
function empty(str) {
	str = this != window ? this : str;
	str = (typeof str == 'undefined' || str == null) ? '' : str;
	str = str.trim();
	return (str == null || str == '') ? true : false;
}

/**
 * ÁÖ¾îÁø °ªÀÌ ¼ýÀÚ·Î¸¸ ÀÌ·ç¾îÁ® ÀÖ´ÂÁö ÆÇ´ÜÇÑ´Ù.
 */
function isNumeric(str) {
	var min = isNumeric.arguments[1] ? isNumeric.arguments[1] : 0;
	var max = isNumeric.arguments[2] ? isNumeric.arguments[2] : 0;
	var pattern = /^[0-9]+$/;
	str = str.trim();
	if(pattern.test(str) == false) {
		return false;
	}
	if(str.length < min) {
		return false;
	}
	if(max != 0 && str.length > max) {
		return false;
	}
	return true;
}
/**
 * ÁÖ¾îÁø ¹®ÀÚ¿­¿¡ ´ëÇÑ ¿ÀºêÁ§Æ®°¡ Á¸ÀçÇÏ¸é ¿ÀºêÁ§Æ® °´Ã¼¸¦ ¹ÝÈ¯ÇÑ´Ù. ¾øÀ¸¸é false
 */
function getObj(id) {
	if(empty(id)) return;
	try {
		var obj = (document.all) ? document.all[id] : document.getElementById(id);
	} catch(e) {
		var obj = false;
	}
	return obj;
}

/**
 * »õ Ã¢
 * @param array params
 * @example
 * var winParams = {
 *		url: 'about:blank',
 *		name: 'win',
 *		width: 800,
 *		height: 600,
 *		option: 'status=no'
 * };
 * openWin(winParams);
 */
function openWin(params) {
	var url = params.url ? params.url : null;
	var name = params.name ? params.name : '';
	var width = params.width ? parseInt(params.width) : 0;
	var height = params.height ? parseInt(params.height) : 0;
	var option = params.option ? params.option : 'scrollbars=no,status=no,left=0,top=0';

	if(empty(url)) return;

	if(width > 0) {
		//width += (document.all) ? 0 : 14;
		option += ',width='+width;
	}
	if(height > 0) {
		height += (document.all) ? 0 : 40;
		option += ',height='+height;
	}

	var popup = window.open(url, name, option);
	popup.focus();
}

var pattern = /^[A-Za-z0-9-_\\.\\@\\;\\,]{2,}$/;

function resizeMe(widthValue,heightValue){

	if( isXPSP2() ) heightValue		+=20;

	window.resizeTo(widthValue,heightValue);
	return;
}

function getObject(obj) {
	return (document.all) ? document.all[obj] : document.getElementById(obj);
}

function isXPSP2(){

	var info = window.clientInformation;
	var reg1 = /[^A-Z0-9]MSIE[ ]+6.0[^A-Z0-9]/i;
	var reg2 = /[^A-Z0-9]WINDOWS[ ]+NT[ ]+5.1[^A-Z0-9]/i;

	if( (info.appMinorVersion.replace(/\s/g,"").toUpperCase().indexOf(";SP2;")>=0) && (reg1.test(info.userAgent)==true) && (reg2.test(info.userAgent)==true) ){
		return true;
	}

	return false;

}

function setDivLayer() {
	if(!document.createElement) return;
	var elemDiv = document.createElement('div');
	if(typeof(elemDiv.innerHTML) != 'string') return;

	sw = setDivLayer.arguments[0] ? setDivLayer.arguments[0] : 130;
	sh = setDivLayer.arguments[1] ? setDivLayer.arguments[1] : 120;

	elemDiv.id = '__divLayer__';
	elemDiv.style.position = 'absolute';
	elemDiv.style.zIndex = '100';
	elemDiv.style.display = 'none';
	elemDiv.style.border = '#808080 1px solid';
	elemDiv.style.background = '#FFFFFF';
	elemDiv.style.width = sw;
	elemDiv.style.height = sh;
	elemDiv.style.overflowY = 'auto';
	elemDiv.innerHTML = '';

	document.body.appendChild(elemDiv);
	divSet = true;
}

/**
 * ·¹ÀÌ¾î ºä
 */
var curId = '';
var divSet = false;
function displayDivLayer(id) {
	var sw		= (displayDivLayer.arguments[1]) ? displayDivLayer.arguments[1] : null;
	var sh		= (displayDivLayer.arguments[2]) ? displayDivLayer.arguments[2] : null;
	var divHtml = (displayDivLayer.arguments[3]) ? displayDivLayer.arguments[3] : null;
	if(!divSet) setDivLayer(sw, sh);
	var divLayers = getObj('__divLayer__');

	if(curId != id) {
		if(sw != null) divLayers.style.width = sw;
		if(sh != null) divLayers.style.height = sh;
		divLayers.innerHTML = ''
		+ '<table border="0" cellpadding="3" cellspacing="0" style="width:100%; height:100%; border-top:solid 1px #FFFFFF; border-right:solid 1px #000000; border-bottom:solid 1px #000000; border-left:solid 1px #FFFFFF;">'
		+ '<tr><td>'
		+ divHtml
		+ '</td></tr>'
		+ '</table>'
		+ '';
	}

	if(id == curId && divLayers.style.display == 'block') {
		divLayers.style.display = 'none';
		return;
	}
	curId = id;
	var thelink = getObj(id);
	divLayers.style.top = getAbsoluteOffsetTop(thelink) + 21;
	divLayers.style.left = getAbsoluteOffsetLeft(thelink);
	divLayers.style.display = 'block';
}

function getAbsoluteOffsetTop(objs) {
	var top = objs.offsetTop;
	var parent = objs.offsetParent;
	while(parent != document.body) {
		top += parent.offsetTop;
		parent = parent.offsetParent;
	}
	return top;
}
 
function getAbsoluteOffsetLeft(objs) {
	var left = objs.offsetLeft;
	var parent = objs.offsetParent;
	while(parent != document.body) {
		left += parent.offsetLeft;
		parent = parent.offsetParent;
	}
	return left;
}

function isPopup(){

	if( isObject(opener) ) return true;
	else return false;
}

function isValDomain(str){
	var theValue=false;

	for(i=0; i<str.length; i++) {
		cha = str.substring(i,i+1);

		if ( cha <= "9" && cha >= "0" ) theValue=true;
		else if ( (cha >= "A") && (cha <= "Z")) theValue=true;
		else if ( (cha >= "a") && (cha <= "z")) theValue=true;
		else if ( (cha == "-") && (i != "0")) theValue=true;
		else return false;
	}

	return theValue;
}

function setComma(str){

	var str = String(str);
	var str_len = str.length;
	var return_str = '';

	var val = '';
	var j = 0;

	for(i=str_len;i>0;i--){
		if(str.substring(i,i-1) != ',') val = str.substring(i,i-1) + val;
	}

	str_len = val.length;

	for(i=str_len; i>0; i--){
		if(j%3 == 0 && j != 0) return_str = val.substring(i,i-1) + ',' + return_str;	
		else return_str = val.substring(i,i-1) + return_str;
		j++;
	}
	return return_str;
}


function onlyNumber(){
	if( event.keyCode<48 || event.keyCode>57 )
		event.returnValue=false;
	else if( event.keyCode==null || event.keyCode=="" )
		event.returnValue=false;
		
	return;
}

function getCookie(name){
	var nameOfCookie = name + "="; 
	var x = 0; 
	

	while ( x <= document.cookie.length ){ 
		var y = (x+nameOfCookie.length); 
		if ( document.cookie.substring( x, y ) == nameOfCookie ) { 
			if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 ) endOfCookie = document.cookie.length; 
			return unescape( document.cookie.substring( y, endOfCookie ) ); 
		} 		
		x = document.cookie.indexOf( " ", x ) + 1; 
		if ( x == 0 ) break; 
	} 
	
	return ""; 
}

function setCookie(cookieName,value){
			
	var cookieVlaue=value;	
	if (cookieName!=""){
		temp =cookieName+"="+escape(cookieVlaue)+";path=/;domain="+document.domain+";";
		document.cookie = temp;
	}

	return;
}

function isObject(objectID){
	
	var returnValue=false;
	//var obj=document.getElementById(objectID);
	var obj=eval(objectID);

	if( "object"==(typeof(objectID)).toLowerCase( ) ) returnValue=true;
	if( obj!=null ) returnValue=true;

	return returnValue;
}

function getStepFolderName(step){
	//@ str : ÇØ´ç¹®¼­ÀÇ Ç® ÆÄ¶ó¸ÞÅ¸
	
	//Ex. 
	//document.URL="http://www.domain.com/home/home.html" 
	//                       0    1              2             3
	//getStepFolderName(3)
	//return=home
	
	var paramValue="";
	
	if (str == null || str ==""){
		return paramValue;
	}

	var str=document.URL;

	var strLength = str.length;//ÀÔ·ÂÇÑ °ªÀÇ ±æÀÌ
	
	var arrayFolder = str.split("/");
	
	for(k=0;k<arrayFolder.length;k++){
		if (k==step){
			paramValue=arrayFolder[k];
			break;
		}		
	}
	
	return paramValue;
}

function getFileName(){
	
	var str=document.URL;

	var paramValue="";
	
	if (str == null || str =="") return paramValue;

	var strLength = str.length;//ÀÔ·ÂÇÑ °ªÀÇ ±æÀÌ

	str=str.substring(0,strLength);

	existLocation = str.indexOf("?");
	if ( existLocation != -1 ){
		str=str.substring(0,existLocation);
		strLength=str.length;
	}

	existLocation = str.lastIndexOf("/");
	paramValue=str.substring(existLocation+1,strLength);

	return paramValue;
}

function getFileNameWindow(filePath){
	
	var paramValue="";
	
	if (filePath == null || filePath =="") return paramValue;

	var strLength = filePath.length;//ÀÔ·ÂÇÑ °ªÀÇ ±æÀÌ

	filePath=filePath.substring(0,strLength);

	existLocation = filePath.lastIndexOf("\\");
	paramValue=filePath.substring(existLocation+1,strLength);

	return paramValue;
}

function getPathExceptFileName(filePath){
	
	var paramValue="";
	
	if (filePath == null || filePath =="") return paramValue;

	var fileName = getFileNameWindow(filePath);

	existLocation = filePath.indexOf(fileName);
	//alert(filePath+"\n"+fileName+"\n"+existLocation);
	paramValue=filePath.substring(0,existLocation-1);

	return paramValue;
}

function getFileExtension(fileName){
	//@ str : ÇØ´çÆÄÀÏÀÌ¸§
	
	var paramValue="";
	
	if (fileName == null || fileName =="") 	return paramValue;

	var strLength = fileName.length;//ÀÔ·ÂÇÑ °ªÀÇ ±æÀÌ

	existLocation = fileName.lastIndexOf(".");
	paramValue=fileName.substring(existLocation+1,strLength);

	return paramValue.toLowerCase();
}

function getParameterValue(params){
	//@ str : ÇØ´ç¹®¼­ÀÇ Ç® ÆÄ¶ó¸ÞÅ¸
	
	var str=document.URL;

	var paramValue="";
	
	if (str == null || str ==""){
		return paramValue;
	}

	if (str.indexOf(params+"=") == -1){
		return paramValue;
	}	

	params = params+"=";//°ªÀ» Ã£°íÀÚÇÏ´Â ÆÄ¶ó¸ÞÅ¸ ÀÌ¸§
	var paramLength = params.length;//°ªÀ» Ã£°íÀÚÇÏ´Â ÆÄ¶ó¸ÞÅ¸ ÀÌ¸§±æÀÌ

	
	var endLength=str.length;//¹®ÀÚ¿­±æÀÌ
	str=str.substring(1,endLength);// Ç® ÆÄ¶ó¸ÞÅ¸ÀÇ Á¦ÀÏ ¾Õ¹®ÀÚ? 
	endLength=str.length;

	var existLocation=-1;

	existLocation = str.indexOf(params)
	if ( existLocation == -1 ){//class2 ÆÄ¶ó¸ÞÅ¸°¡ ¾øÀ»¶§
		return paramValue;
	}

	
	//class2 ÆÄ¶ó¸ÞÅ¸°¡ ÀÖÀ»¶§
	str=str.substring(paramLength+existLocation,endLength);
	endLength=str.length;//¹®ÀÚ¿­±æÀÌ
	
	existLocation = str.indexOf("&")//¶Ç µÚ¿¡ ´Ù¸¥ ÆÄ¶óÄÉÅ¸ °ªÀÇ Á¸Àç¿©ºÎ °Ë»ç
	if ( existLocation == -1 ){		

		existLocation = str.indexOf("=")
		paramValue=str.substring(existLocation+1,endLength);

	}else{

		str=str.substring(0,existLocation);
		endLength=str.length;//¹®ÀÚ¿­±æÀÌ
		existLocation = str.indexOf("=")
		paramValue=str.substring(existLocation+1,endLength);

	}

	return paramValue;
}

function checkRadioButton(obj){
	/**
		Ã¼Å©µÈ ¶óµð¿À¹öÆ°ÀÌ Á¸ÀçÇÏ¸é Ã¼Å©µÈ ¼ø¼­ÀÇ ¿ÀºêÁ§Æ®¸¦  ¸®ÅÏÇÏ°í
		¾øÀ¸¸é false¸¦ ¸®ÅÏÇÑ´Ù	
	*/
	var returnValues=false;
	if( !isObject(obj) ) return returnValues;//¿ÀºêÁ§Æ®°¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é ¸®ÅÏ

	if( obj.length ){
		
		for(k=0;k<obj.length;k++){
			if( obj[k].checked ){
				returnValues=obj[k];	
				break;
			}
		}

	}else{
		if( obj.checked ) returnValues=obj;
	}
	
	return returnValues;
}

function checkCheckBox(obj){
	/**
		Ã¼Å©µÈ Ã¼Å©¹öÆ°ÀÌ Á¸ÀçÇÏ¸é Ã¼Å©µÈ ¼ø¼­ÀÇ ¿ÀºêÁ§Æ®¸¦  ¸®ÅÏÇÏ°í
		¾øÀ¸¸é false¸¦ ¸®ÅÏÇÑ´Ù	
	*/
	var returnValues=false;
	if( !isObject(obj) ) return returnValues;//¿ÀºêÁ§Æ®°¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é ¸®ÅÏ

	if( obj.length ){
		
		for(k=0;k<obj.length;k++){
			if( obj[k].checked ){
				returnValues=obj[k];	
				break;
			}
		}

	}else{
		if( obj.checked ) returnValues=obj;
	}
	
	return returnValues;
}


function checkSelectBox(obj){
	/**
		Ã¼Å©µÈ ¸ñ»óÀÚÀÇ ¼±ÅÃµÈ ¿ÀºêÁ§Æ®¸¦  ¸®ÅÏÇÏ°í
		¾øÀ¸¸é false¸¦ ¸®ÅÏÇÑ´Ù	
	*/
	var returnValues=false;
	if( !isObject(obj) ) return returnValues;//¿ÀºêÁ§Æ®°¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é ¸®ÅÏ

	if( obj.length ){
		
		for(k=0;k<obj.length;k++){
			if( obj[k].selected ){
				returnValues=obj[k];	
				break;
			}
		}

	}else{
		if( obj.checked ) returnValues=obj;
	}
	
	return returnValues;
}


function checkTextBox(obj){
	/**
		ÅØ½ºÆ® ¹Ú½ºÀÇ Á¸Àç¿Í °ªÀÇ Á¸Àç¿©ºÎ¸¦ ¸®ÅÏÇÑ´Ù.
	*/
	var returnValues=false;
	if( !isObject(obj) ) return returnValues;//¿ÀºêÁ§Æ®°¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é ¸®ÅÏ

	if( obj.length ){
		
		for(k=0;k<obj.length;k++){
			if( obj[k].value!=""  && obj[k].value!=null ){
				returnValues=obj[k];	
				break;
			}
		}

	}else{
		if( obj.value!=""  && obj.value!=null ) returnValues=obj;
	}

	return returnValues;
}

function onlyIPaddress(){
	
	if( event.keyCode!=46 && (event.keyCode<48 || event.keyCode>57) ){
		event.returnValue=false;
	}
	return;
}

/**
*	[ ÀÌ¸ÞÀÏ Ã¼Å© ÇÔ¼ö : ·êÀ» Àß ¸ð¸£°ÚÀ½.]
*/
function checkEmail_id( email_id ){

	if( email_id==null || email_id=="" ) return false;
	
	email_id=email_id.toLowerCase();

	if( email_id.indexOf("!")>=0 )		return false;
	if( email_id.indexOf("@")>=0 )		return false;
	if( email_id.indexOf("#")>=0 )		return false;
	if( email_id.indexOf("$")>=0 )		return false;
	if( email_id.indexOf("%")>=0 )		return false;
	if( email_id.indexOf("^")>=0 )		return false;
	if( email_id.indexOf("&")>=0 )		return false;
	if( email_id.indexOf("*")>=0 )		return false;
	if( email_id.indexOf("(")>=0 )		return false;
	if( email_id.indexOf(")")>=0 )		return false;

	if( email_id.indexOf("[")>=0 )		return false;
	if( email_id.indexOf("]")>=0 )		return false;
	if( email_id.indexOf("{")>=0 )		return false;
	if( email_id.indexOf("}")>=0 )		return false;

	if( email_id.indexOf("'")>=0 )		return false;
	if( email_id.indexOf('"')>=0 )		return false;
	if( email_id.indexOf("?")>=0 )		return false;
	if( email_id.indexOf("<")>=0 )		return false;
	if( email_id.indexOf(">")>=0 )		return false;
	if( email_id.indexOf(":")>=0 )		return false;
	if( email_id.indexOf(";")>=0 )		return false;
	if( email_id.indexOf(",")>=0 )		return false;
	if( email_id.indexOf("`")>=0 )		return false;
	if( email_id.indexOf("~")>=0 )		return false;
	if( email_id.indexOf("+")>=0 )		return false;
	if( email_id.indexOf("=")>=0 )		return false;
	if( email_id.indexOf("|")>=0 )		return false;

	return true;
}

function checkEmailValue(email){
	
	if( email==null || email=="" ) return false;
	
	email=email.toLowerCase();

	if( email.indexOf("@")<0 || email.indexOf(".")<0 )  return false;

	if( email.indexOf("#")>=0 )	return false;
	if( email.indexOf("!")>=0 )	return false;
	if( email.indexOf("+")>=0 )	return false;
	if( email.indexOf("?")>=0 )	return false;
	if( email.indexOf("<")>=0 )	return false;
	if( email.indexOf(">")>=0 )	return false;
	if( email.indexOf(":")>=0 )	return false;
	if( email.indexOf(";")>=0 )	return false;
	if( email.indexOf("(")>=0 )	return false;
	if( email.indexOf(")")>=0 )	return false;
	return true;
}

function checkUrlValue(address){
	
	if( address==null || address=="" ) return false;
	
	address=address.toLowerCase();

	if( address.indexOf("http://")>=0 )  return false;

	return true;
}

function limitCharacter(limit){

	var eventName=window.event.srcElement.name;
	var obj=document.getElementById(eventName);	
	if( limit==null ) return;

	if( limit>0 && getStringByte(obj.value)>limit-1 ){
		event.returnValue=false;		
		alert("ÇÑ°è ±ÛÀÚ¼ö¸¦ ÃÊ°úÇÏ¿© ´õ ÀÌ»ó ÀÔ·Â ÇÒ¼ö ¾ø½À´Ï´Ù.");
	}
}

function getStringByte(str){

	var nbytes=0;
	var ch="";
	for(k=0;k<str.length;k++){

		ch=str.charAt(k);		
		if( escape(ch).length>4 ){
			nbytes+=2;
		}else if( ch=="n"){
			if( str.charAt(k-1)!="r" ) nbytes+=1;
		}else if( ch=="<" || ch==">" ){
			nbytes += 4;
		}else{
			nbytes+=1;
		}
	}
	return nbytes;
}

//===================================================================================================================