String.prototype.trim = function() {
	var pattern = !arguments[0] ? /^\s+|\s+$/g : new RegExp('^['+arguments[0]+']+|['+arguments[0]+']+$', 'g')

	return this.replace(pattern, '')
}

// url encoding
function urlencode(s) {
	var re = /\+/i;

	s = escape(s);
	s = s.replace( re, "%2B");  // '+'문자는 escape되지 않으므로, replace 사용.
	
	return s;
}

function isEnterKey(e)
{
	var keynum = 0
	var keychar
	var numcheck

	if(window.event) // IE
	{
		keynum = window.event.keyCode
	}
	else if(e.which) // Netscape/Firefox/Opera
	{
		keynum = e.which
	}
	
	if( keynum == 13 ) {
		return true;
	} else {
		return false;
	}
}


function replaceText( el, text)
{
	if (el != null) {
		clearText(el);
		var newNode = document.createTextNode(text);
	
		el.appendChild(newNode);
	}
}

function clearText(el) {
	if( el != null) {
		for (var i=0; i < el.childNodes.length; i++) {
			var childNode = el.childNodes[i];
			
			el.removeChild(childNode);
		}
	}
}

function getText(el) {
	var text = "";
	
	if( el != null ) {
		if (el.childNodes) {
			for ( var i=0; i < el.childNodes.length; i++) {
				var childNode = el.childNodes[i];
				
				if(childNode.nodeValue != null) {
					text = text + childNode.nodeValue;
				}
			}
		}
	}
	
	return text;
}


function getflash(URL,wid,hei,mode)
{
	document.write("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width='"+wid+"' height='"+hei+"'>");
	document.write("<param name='movie' value='"+URL+"'>");
	document.write("<param name='quality' value='high'>");
	document.write("<param name='WMODE' value='"+mode+"'>");
	document.write("<embed wmode='transparent' src='"+URL+"' param name='WMODE' value='"+mode+"' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='"+wid+"' height='"+hei+"'></embed>");
	document.write("</object>");
} 



// 김효중 추가 (kimhj38 add)

// Null or "" Check
function isNull(objChk)
{
	if(objChk && objChk.value.trim() == "")
		return true;
	else
		return false;
}

// E-Mail Check
function CheckEmail(email)
{
	if(email.trim() == "")
		return false;
		
	if(email.match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+([\.][a-z0-9]+)+$") == null)
		return false;
	else
		return true;
}

// Numberic Check
function CheckNumeric(number)
{
	if (number.match(/\D/) != null)
		return false;
	else
		return true;

     
	for( var i=0; i < englishChar.length;i++){          
		var c=englishChar.charCodeAt(i);       
		if( !( (  0x61 <= c && c <= 0x7A ) || ( 0x41 <= c && c <= 0x5A ) ) ) {         
			return false ;       
		}
	}      
	return true ;
     
} 

//글자수 체크 //한글 2Byte, 그외 1Byte
 function str_count(str){
	var i;
	var msglen=0;
 
	for(i=0;i<str.length;i++){
		var ch=str.charAt(i);
 
		if(escape(ch).length >4){
			msglen += 2;
		}else{
			msglen++;
		}
	}
	return msglen;
} 


// 한글이외의 캐릭터가 있을경우 false 
// 한자나 숫자 영문의 경우 false 
function checkKoreanOnly( koreanChar ) {
	if ( koreanChar == null ) return false ;
   
	for(var i=0; i < koreanChar.length; i++){ 

	var c=koreanChar.charCodeAt(i); 

	//( 0xAC00 <= c && c <= 0xD7A3 ) 초중종성이 모인 한글자 
	//( 0x3131 <= c && c <= 0x318E ) 자음 모음 

		if( !( ( 0xAC00 <= c && c <= 0xD7A3 ) || ( 0x3131 <= c && c <= 0x318E ) ) ) {      
			return false ; 
		}
	}  
	return true ;
}

// 영문 이외의 캐릭터가 있을경우 false 
function checkEnglishOnly( englishChar ) {  
	if ( englishChar == null ) return false ;
       
	for( var i=0; i < englishChar.length;i++){          
		var c=englishChar.charCodeAt(i);       
		if( !( (  0x61 <= c && c <= 0x7A ) || ( 0x41 <= c && c <= 0x5A ) ) ) {         
			return false ;       
		}
	}      
	return true ;
     
} 

// 숫자 이외의 캐릭터가 있을경우 false 
function checkDigitOnly( digitChar ) {  
	if ( digitChar == null ) return false ;
       
	for(var i=0;i<digitChar.length;i++){          
		var c=digitChar.charCodeAt(i);       
		if( !(  0x30 <= c && c <= 0x39 ) ) {         
			return false ;       
		}
	}      
	return true ;
}

// 날짜 형식 체크 yyyy-mm-dd
function checkDate(date) {
	if ( date == null ) return false ;
	date = date.trim();
	var day_array = [0,31,28,31,30,31,30,31,31,30,31,30,31];
	if(date.length != 10) {
		return false;
	} else {
		var year = Number(date.substring(0,4));
		var month = Number(date.substring(5,7));
		var day = Number(date.substring(8));
		
		if(year < 1900 || year > 2020) {
			return false;
		} else if(month < 0 || month > 12) {
			return false;
		} else if(day < 0 || day > day_array[month]) {
			return false;
		}
	}
	return true;
}

// 라디오 박스 선택 체크
function checkRadio(objChk) {
	var checked_items = 0;
	for(i=0; i<objChk.length; i++) {
		if(objChk[i].checked) {
			checked_items++;
		}
	}
	if(checked_items == 0) {
		return false;
	} else {
		return true;
	}
}



// 체크박스를 선택하면 라디오박스를 disabled 처리 함
function chk_radio_disabled(checked_value, radio_el) {
	var disabled_boolean;
	if(checked_value) {
		disabled_boolean = true;
	} else {
		disabled_boolean = false;
	}
	var radio = document.getElementsByName(radio_el);
	for(var i=0; i<radio.length; i++) {
		if(disabled_boolean == true) {
			radio[i].checked = false;
		}
		radio[i].disabled = disabled_boolean;
	}
}
// 체크박스를 선택하면 text박스를 disabled 처리 함
function chk_text_disabled(checked_value, text_el) {
	if(checked_value) {
		$(text_el).value = "";
		$(text_el).disabled = true;
	} else {
		$(text_el).disabled = false;
	}
}
// 체크박스를 선택하면 체크박스를 disabled 처리 함
function chk_check_disabled(checked_value, check_el) {
	if(checked_value) {
		$(check_el).checked = false;
		$(check_el).disabled = true;
	} else {
		$(check_el).disabled = false;
	}
}
// 체크박스를 선택하면 select박스를 disabled 처리 함
function chk_select_disabled(checked_value, select_el) {
	if(checked_value) {
		$(select_el).value = "";
		$(select_el).disabled = true;
	} else {
		$(select_el).disabled = false;
	}
}

function chkNum2(num_value) {
	if(num_value == null || num_value.length == 0) return false;
	// 숫자하고 콤마(.) 체크
	for(var i=0;i<num_value.length; i++) {
		var c = num_value.charCodeAt(i);
		if( !((48 <= c && c <= 57) || c == 46) ) {
			return false;
		}
	}
	return true;
}
function chkNum(num_value)
{
	if(num_value == null || num_value.length == 0) return false;
	// 숫자하고 콤마(.) 체크
	for(var i=0;i<num_value.length; i++) {
		var c = num_value.charCodeAt(i);
		if( !(48 <= c && c <= 57) ) {
			return false;
		}
	}
	return true ;
     
} 

function chkNumPoint(cipher, text_value) {		
	//자리수 체크
	if(text_value.indexOf(".") > -1 && text_value.substring(text_value.indexOf(".")+1).length > cipher) {
		return false;
	}
	return true;
}

//소수점 1자리 체크, 숫자 체크, ~,- 입력시 평균값으로 입력하라고 메세지 보냄
function chk_num_point_avg(el_name) {
		var value = $(el_name).value;
		if(value.trim().length == 0) {
			return false;
		}
		//숫자 체크
		if(!chkNum2(value)) {
			// ~ - 체크
			if(value.indexOf("~") > -1 || value.indexOf("-") > -1) {
				var temp_value = value.replace("~","");
				temp_value = temp_value.replace("-","");
				if(!chkNum2(temp_value)) {
					alert("숫자만 입력하세요.");
					$(el_name).value = "";
					$(el_name).focus();
				} else {
					alert(value + "의 평균값으로 입력하세요.");
					$(el_name).value = "";
					$(el_name).focus();
				}
			} else {
				alert("숫자만 입력하세요.");
				$(el_name).value = "";
				$(el_name).focus();
			}
		} else {
			//소수점 1자리 체크
			if(!chkNumPoint(1, value)) {
				alert("소수점 1자리까지 입력 가능합니다.");
				$(el_name).value = value.substring(0,(value.indexOf(".")+2));
			}
		}

}

// 앞 뒤 값을 비교해서 앞>=뒤 가 유효하도록 체크
function chk_compare_num(el_1, el_2) {
	var val_1 = $(el_1).value.trim();
	var val_2 = $(el_2).value.trim();

	if(val_1.length == 0 || val_2.length == 0) {
		return false;
	} else {
		if( Number(val_1) < Number(val_2) ) {
			alert("투약기간이 인지기간보다 큽니다.");
			$(el_2).value = "";
			$(el_2).focus();
		}
	}
}

//라디오박스의 선택된 값 가져오기
function get_radio_value(el) {
	var return_str = "";
	var radio = document.getElementsByName(el);
	for(var i=0; i<radio.length; i++) {
		if(radio[i].checked) {
			return_str = radio[i].value;
		}
	}
	return return_str;
}

//라디오박스의 선택된 값 가져오기 - 초기값 부여
function get_radio_value_init(el, init_value) {
	var return_str = init_value;
	var radio = document.getElementsByName(el);
	for(var i=0; i<radio.length; i++) {
		if(radio[i].checked) {
			return_str = radio[i].value;
		}
	}
	return return_str;
}

//라디오박스의 선택된 값 가져오기 - 기타 값은 "" 값으로 리턴
function get_radio_value_etc(el) {
	var return_str = "";
	var radio = document.getElementsByName(el);
	for(var i=0; i<radio.length; i++) {
		if(radio[i].checked) {
			return_str = radio[i].value;
		}
	}
	if(return_str == "기타") {
		return_str = "";
	}
	return return_str;
}

//체크박스가 선택되면 값을 불러오고 선택이 안되면 빈값을 불러옴
function get_check_value(el) {
	var return_str = "";
	if($(el).checked) {
		return_str = $(el).value;
	}
	return return_str;
}

//체크박스가 선택되면 값을 불러오고 선택이 안되면 빈값을 불러옴 - 초기값 부여
function get_check_value_init(el, init_value) {
	var return_str = init_value;
	if($(el).checked) {
		return_str = $(el).value;
	}
	return return_str;
}


//모니터링 수정 메세지 출력
function get_modify_str(comp1, comp2, add_str) {
	
	//NA, ND, NK 값이 들어있으면 "" 값으로 처리
	if(comp1 == "9991" || comp1 == "9992" || comp1 == "9993" || comp1 == ".") {
		comp1 = "";
	}

	if(comp1 != comp2) {
		return add_str + " : " + comp1 + " => " + comp2 + "\n";
	}
	return "";
}

//모니터링 수정 메세지 출력 - na, nd, nk
function get_modify_str_nx(nx, comp1, comp2, add_str) {
	//comp1이 na,nd,nk값이 아니면 "" 값으로 처리
	if(comp1 != nx) {
		comp1 = "";
	}

	if(comp1 != comp2) {
		return add_str + " : " + comp1 + " => " + comp2 + "\n";
	}
	return "";
}


//날짜 형식으로 변경 yyyy-mm-dd 이게 아니면 경고 창 및 다시 입력 할 수 있도록
function chk_date(el_id) {
	var date = $(el_id).value;
	var date_flag = true;
	if ( date == null ) return false ;
	if ( date.length == 0 ) return false ;

	date = date.trim();
	while(1) {
		if(date.indexOf("-") != -1) {
			date = date.replace("-","");
		} else {
			break;
		}
	}
	var day_array = [0,31,28,31,30,31,30,31,31,30,31,30,31];
	if(date.length != 8) {
		date_flag = false;
	} else {
		var year = Number(date.substring(0,4));
		var month = Number(date.substring(4,6));
		var day = Number(date.substring(6));
		
		if(year < 1900 || year > 2020) {
			date_flag = false;
		} else if(month < 0 || month > 12) {
			date_flag = false;
		} else if(day < 0 || day > day_array[month]) {
			date_flag = false;
		}
	}
	if(!date_flag) {				
		alert("날짜 형태로 입력하세요 예) 2010-03-25");
		$(el_id).value = "";
	} else {
		$(el_id).value = date.substring(0,4)+"-"+date.substring(4,6)+"-"+date.substring(6);
	}
	
	chk_modify();

}
// 날짜 비교
function compare_date(start_date, end_date) {
	var date1 = toDateString(start_date);
	var date2 = toDateString(end_date);
	var day = 1000*3600*24; //24시간
	//alert(parseInt((date1-date2)/day,10));
	return parseInt((date1-date2)/day,10);
}
// Date 형으로 바꿔줌
function toDateString(date) {
	var year  = date.substr(0,4);
	var month = date.substr(5,2) - 1; // 1월=0,12월=11
	var day   = date.substr(8,2);
	var hour  = "0";
	var min   = "0";
	//alert(year + " " + month + " " + day + " " + hour + " " + min);
	return new Date(year,month,day,hour,min);
}


//오늘 날짜와 비교해서 미래 날짜 에러처리
function chk_date_today(el_id) {
	var el_value = $(el_id).value;
	if(el_value.trim().length == 0) return false;
	var date = new Date();
	var year = date.getFullYear();
	var month = (date.getMonth()+1);
	if(month<10) {
		month = "0"+month;
	}
	var day = date.getDate();
	if(day<10) {
		day = "0"+day;
	}

	var today = year + "-" + month + "-" + day;

	if(compare_date(today, el_value) < 0) {
		alert("현재 날짜보다 이후 날짜를 선택하셨습니다. 다시 선택하세요.");	
		$(el_id).value = "";
	}
}

//년도 변환
function changeYear(el_id) {
	if($(el_id).value.trim().length == 2) {
		if(CheckNumeric($(el_id).value.trim())) {
			var year_value = Number($(el_id).value.trim());
			// 98->1998 , 03 -> 2003
			if(year_value < 20 || year_value > 99) {
				$(el_id).value = "20"+$(el_id).value;
			} else {
				$(el_id).value = "19"+$(el_id).value;
			}
		} else {
			alert("숫자만 입력 가능합니다.");
			$(el_id).value = "";
		}
	} else if($(el_id).value.trim().length == 3 || $(el_id).value.trim().length == 1) {
		alert("년도 형식에 맞게 입력하세요. 예) 2010, 98");
		$(el_id).value = "";
		$(el_id).focus();
	}
}

//값을 비교해서 넘겨준다  
function comp_value(val1, val2, cha1, cha2) {
	// F, M, '남자', '여자', ""->""
	var return_value = "";
	if(val1.length != 0) {
		if(val1 == val2) {
			return_value = cha1;
		} else {
			return_value = cha2;
		}
	}
	if(val1 == "9991" || val1 == "9992" || val1 == "9993" || val1 == ".") {
		return_value = "";
	}
	return return_value;
}

//값을 비교해서 넘겨준다  
function comp_value5(val1, cha1, cha2, cha3, cha4, cha5) {
	var return_value = "";
	if(val1.length != 0) {
		if(val1 == "5") {
			return_value = cha1;
		} else if(val1 == "4") {
			return_value = cha2;
		} else if(val1 == "3") {
			return_value = cha3;
		} else if(val1 == "2") {
			return_value = cha4;
		} else if(val1 == "1") {
			return_value = cha5;
		}
	}
	if(val1 == "9991" || val1 == "9992" || val1 == "9993" || val1 == ".") {
		return_value = "";
	}
	return return_value;
}

//값을 비교해서 넘겨준다  
function comp_value3(val1) {
	var return_value = "";
	if(val1.length != 0) {
		if(val1 == "3") {
			return_value = "①";
		} else if(val1 == "2") {
			return_value = "②";
		} else if(val1 == "1") {
			return_value = "③";
		}
	}
	if(val1 == "9991" || val1 == "9992" || val1 == "9993" || val1 == ".") {
		return_value = "";
	}
	return return_value;
}
//값을 비교해서 넘겨준다  
function comp_value3_2(val1) {
	var return_value = "";
	if(val1.length != 0) {
		if(val1 == "3") {
			return_value = "①";
		} else if(val1 == "2") {
			return_value = "②";
		} else if(val1 == "1") {
			return_value = "";
		}
	}
	if(val1 == "9991" || val1 == "9992" || val1 == "9993" || val1 == ".") {
		return_value = "";
	}
	return return_value;
}


//radio_event_disable	//라디오버튼 클릭이 안되도록 처리
function radio_event_disable(el, c_value) {
	if(el.value != c_value) {
		var el_name = document.getElementsByName(el.name);
		for(var i=0; i<el_name.length; i++) {
			if(el_name[i].value == c_value) {
				el_name[i].checked = true;
			} else {
				el_name[i].checked = false;
			}
		}
	}		

}

