/*
문자열의 공백제거
사용법 : Trim(obj.userName.value);
*/
function Trim( str ) {
	var resultStr = "";

	resultStr = TrimLeft(str);
	resultStr = TrimRight(resultStr);

	return resultStr;
}

function TrimLeft( str ) {
	var resultStr = "";
	var i = len = 0;
	if (str+"" == "undefined" || str == null) return null;
	str += "";

	if (str.length == 0) resultStr = "";
	else {
		len = str.length;
  		while ((i <= len) && (str.charAt(i) == " "))i++;
  		resultStr = str.substring(i, len);
  	}

  	return resultStr;
}

function TrimRight( str ) {
	var resultStr = "";
	var i = 0;

	if (str+"" == "undefined" || str == null) return null;
	str += "";

	if (str.length == 0) resultStr = "";
	else {
  		i = str.length - 1;
  		while ((i >= 0) && (str.charAt(i) == " "))
 			i--;
	  		resultStr = str.substring(0, i + 1);
	  	}

	  	return resultStr;
}

/*
기능 : 필드에 숫자만 입력할수 있는 함수
사용법 : onkeyup="onlyNumber(this);"
*/
function onlyNumber(el) {
  el.value = el.value.replace(/\D/g,'');
}

/*
기능 : 공통 Input Box Blank Check함수
사용법1 : setInputAlert(form1.field, fieldName);
*/
function setInputAlert(field, fieldName) {
	if(Trim(field.value) == "") {
		alert(fieldName +" 입력해주세요.");
		field.focus();
		return false;
	}else{
		return true;
	}
}

/*
기능 : 공통 Select Box Blank Check함수
사용법1 : setSelectAlert(form1.field, fieldName);
*/
function setSelectAlert(field, fieldName) {
	if(Trim(field.value) == "") {
		alert(fieldName +" 선택해주세요.");
		field.focus();
		return false;
	}else{
		return true;
	}
}

/*
기능 : 공통 Check Box Blank Check함수
사용법1 : setCheckAlert(form1.field, fieldName);
*/
function setCheckAlert(field, fieldName) {
	if(field == null)
		return false;
	var temp = 0;
	if(field.checked){
		temp++;
	} else {
		for(i = 0; i < field.length; i++){
			if(field[i].checked == true){
				temp = temp + 1;
			}
		}
	}

	if(temp == 0){
		alert(fieldName+" 선택해주세요.");
		return false;
	}else{
		return true;
	}
}

/*
설명: 원하는 문자 들 설정하고 문자열을 검사한다.
chars = "ABC"
containsCharsOnly("string",chars)
*/
function containsCharsOnly(input,chars) {
	for(var inx = 0; inx < input.length; inx++) {
       	if (chars.indexOf(input.charAt(inx)) == -1){
           return false;
		}
    }
    return true;
}

/*
설명: 자동으로 탭키효과Auto Tab
사용법 : onKeyUp="return autotab(this, 6, event);"
*/
function autotab(input,len, e) {
	var isNN = (navigator.appName.indexOf("Netscape")!=-1);
	var keycd = (isNN) ? e.which : e.keyCode;
	var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
	if(input.value.length >= len && !iscontain(filter, keycd))
	{
	  input.value = input.value.slice(0, len);
	  input.form[(getindex(input)+1) % input.form.length].focus();
	}
}

//주민등록번호 검사 입력란 두개짜리
function checkSocialID(no1, no2){
    var pattern = /^([0-9]{6})-?([0-9]{7})$/;
	var num = no1.value +""+ no2.value;
    if (!pattern.test(num)){
		alert("주민등록번호를 확인해주세요.");
		no1.focus();
		return false;
	}

    num = RegExp.$1 + RegExp.$2;

	var sum = 0;
	var last = num.charCodeAt(12) - 0x30;
	var bases = "234567892345";

	for (var i=0; i<12; i++){
		if (isNaN(num.substring(i,i+1))){
			alert("주민등록번호를 확인해주세요.");
			no1.focus();
			return false;
		}

		sum += (num.charCodeAt(i) - 0x30) * (bases.charCodeAt(i) - 0x30);
	}

	var mod = sum % 11;
	if ((11 - mod) % 10 != last){
		alert("주민등록번호를 확인해주세요.");
		no1.focus();
		return false;
	}

	return true;
}

function stringLength(str){
	char_cnt = 0;

	for (var i = 0; i < str.length; i++)	{
		var chr = str.substr(i,1);
		chr = escape(chr);
		key_eg = chr.charAt(1);

		switch(key_eg){
		case "u":
			key_num = chr.substr(2,(chr.length - 1));
			char_cnt += 2;
			break;
		case "B":
			char_cnt += 2;
			break;
		default:
			char_cnt += 1;
		}
	}

	return char_cnt;
}

//이메일 검사
function checkEmail(obj)
{
	var exp = new RegExp ("^[A-Za-z0-9-_\\.]{2,}@[A-Za-z0-9-_\\.]{2,}\\.[A-Za-z0-9-_]{2,}$");

	// 한글이 포함돼 있거나 이메일 형식이 아닌 경우
	if (stringLength(obj) == obj.length && exp.test(obj)){
		return true;
	}else{
		alert("이메일 주소를 확인해주세요.");
		return false;
	}
}

//선택된 Value가져오기
function checkValue(checkbox) {
	var countChecked = 0;
	if(checkbox.checked) {
		countChecked = checkbox[i].value;
	} else {
		for( i=0 ; i<checkbox.length ; i++ ) {
			if( checkbox[i].checked ) {
				countChecked = checkbox[i].value;
			}
		}
	}
	return countChecked;
}

//선택된 value값을 구분자로 가져오기
function checkValues(checkbox, mark) {
	var arr = new Array();
	if(checkbox.checked) {
		arr.push(checkbox.value);
	} else {
		for( i=0 ; i<checkbox.length ; i++ ) {
			if( checkbox[i].checked ) {
				arr.push(checkbox[i].value);
			}
		}
	}
	return arr.join(mark);
}

//선택된 객체 수 가져오기
function checkCount(checkbox) {
	var countChecked = 0;
	if(checkbox.checked){
		countChecked++;
	} else {
		for( i=0 ; i<checkbox.length ; i++ ) {
			if( checkbox[i].checked ) {
				countChecked++;
			}
		}
	}
	return countChecked;
}

// Flash 전용 호출함수 id_name : ID또는Name 값, swf_name : 쇼크웨이브파일 경로(이름,GET값포함), wdith: 넓이값, height: 높이값
function swf_func(id_name,swf_name,width,height){
document.writeln("<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='/asset/flash/swflash.cab#version=8,0,0,0' width='"+width+"' height='"+height+"' id='"+id_name+"' align='middle'>");
document.writeln("<param name='allowScriptAccess' value='always'>");
document.writeln("<param name='movie' value='"+swf_name+"'>");
document.writeln("<param name='quality' value='high'>");
document.writeln("<param name='bgcolor' value='#ffffff'>");
document.writeln("<param name='wmode' Value='Transparent'>");
document.writeln("</object>");
}

//동영상 전용 호출함수
function mov_func(id,name,width,height,showcontrols){
document.writeln("<OBJECT classid='clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95' width='"+width+"' height='"+height+"' id='"+id+"'>");
if (name != "")
	{document.writeln("<PARAM NAME='Filename' VALUE='" +name+ "'>");
		}else{
			document.writeln("<PARAM NAME='TransparentAtStart' VALUE='1'>");
			document.writeln("<PARAM NAME='AnimationAtStart' VALUE='0'>");
}
document.writeln("<PARAM NAME='Showcontrols' VALUE='"+showcontrols+"'>");
document.writeln("<PARAM NAME='Autostart' VALUE='true'>");
document.writeln("</OBJECT>");
}

//기능 : 팝업창을 화면 중앙에 띄우는 함수
//사용법 : openPopup('auth_write.asp','auth',667,500,'scrollbars=yes,width=667,height=500')
function openPopup( url, name, width, height, features) {
    var left= ( screen.width   - width ) / 2;
    var top = ( screen.height   - height ) / 2;
    return window.open(url, name, features + ',left=' + left + ', top=' + top);
}


//한글인지 검사
function onlyKorean(str){
	for ( var i=0; i < str.length; i++ ) {
		if ( str.charCodeAt(i) < 0xAC00 || str.charCodeAt(i) > 0xD7A3){
			if (( str.charCodeAt(i) < 12593 || str.charCodeAt(i) > 12643 ) && ( str.charCodeAt(i) != 32)) {
				return true;
			}
		}
	}
	return false;
}

//기 능 : select박스의 option을 제거
function setNull(obj) {
	while (0 < obj.options.length){
		obj.options[0] = null;
	}
}

//기 능 : select박스의 option을 추가한다. JSON이용
function createOptions(sel,_options){
	if(_options == null || _options.length == 0){
		return;
	}

	for(var i = 0;i<_options.length;i++){
		opt = document.createElement("option");
		opt.value = _options[i].rtnVal;
		var op = document.createTextNode(_options[i].rtnName)
		if(_options[i].rtnStyle == '1'){
			opt.style.color = "#F9483A";
		}
		opt.appendChild(op);
		sel.appendChild(opt);
	}
}

//전화번호 형식 체크(숫자-숫자-숫자)
function isValidPhone(input) {
	var format = /^(\d+)-(\d+)-(\d+)$/;
	return isValidFormat(input,format);
}

//패턴과 입력한 형식이 같은지 검사
function isValidFormat(input,format) {
	if (input.value.search(format) != -1) {
		return true; //올바른 포맷 형식
	}
	return false;
}

// 3자리마다 콤마 찍기
function commify(n) {
  var reg = /(^[+-]?\d+)(\d{3})/;   // 정규식
  n += '';                          // 숫자를 문자열로 변환

  while (reg.test(n))
    n = n.replace(reg, '$1' + ',' + '$2');

  return n;
}

//담당자추가
function addInfo(mode){
	var str = '';
	var gubun;
	if(mode == "D")
		gubun = "개발 ";
	else
		gubun = "";
	str += '<input type="hidden" name="gubun" value="'+ mode +'" />';
	str += '<table width="100%" id="template" style="display:;" border="0" cellpadding="0" cellspacing="0" >';
	str += '<tr>';
	str += '	<td width="154" height="26" bgcolor="#f6f8fa" class="table_right"><span class="font_gray03">'+ gubun +'담당자</span></td>';
	str += '	<td width="305" class="table_right" >';
	str += '		<span class="padding_right10"></span>';
	str += '		<input name="corpName" type="text" id="corpName" maxlength="5" class="input01" style="width:200px;" />';
	str += '	</td>';
	str += '	<td width="154" bgcolor="#f6f8fa" class="table_right"><span class="font_gray03">'+ gubun +'담당자 직급</span></td>';
	str += '	<td width="*" >';
	str += '		<span class="padding_right10"></span>';
	str += '		<input name="corpDuty" type="text" id="corpDuty" maxlength="10" class="input01" style="width:200px;" />';
	str += '	</td>';
	str += '</tr>';
	str += '<tr><td colspan="4" class="table_line"></td></tr>';
	str += '<tr>';
	str += '	<td height="26" bgcolor="#f6f8fa" class="table_right"><span class="font_gray03">'+ gubun +'담당자 소속</span></td>';
	str += '	<td class="table_right" >';
	str += '		<span class="padding_right10"></span>';
	str += '		<input name="corpTeam" type="text" id="corpTeam" maxlength="10" class="input01" style="width:200px;" />';
	str += '	</td>';
	str += '	<td bgcolor="#f6f8fa" class="table_right"><span class="font_gray03">'+ gubun +'담당자 연락처</span></td>';
	str += '	<td>';
	str += '		<span class="padding_right10"></span>';
	str += '		<input name="corpPhone" type="text" id="corpPhone" maxlength="13" class="input01" style="width:200px;" />';
	str += '	</td>';
	str += '</tr>';
	str += '<tr><td colspan="4" class="table_line"></td></tr>';
	str += '<tr>';
	str += '	<td height="26" bgcolor="#f6f8fa" class="table_right"><span class="font_gray03">'+ gubun +'담당자 휴대폰</span></td>';
	str += '	<td class="table_right" >';
	str += '		<span class="padding_right10"></span>';
	str += '		<input name="corpMobile" type="text" id="corpMobile" maxlength="13" class="input01" style="width:200px;" />';
	str += '	</td>';
	str += '	<td bgcolor="#f6f8fa" class="table_right"><span class="font_gray03">'+ gubun +'담당자 이메일</span></td>';
	str += '	<td>';
	str += '		<span class="padding_right10"></span>';
	str += '		<input name="corpEmail" type="text" id="corpEmail" maxlength="80" class="input01" style="width:200px;" />';
	str += '	</td>';
	str += '</tr>';
	str += '<tr><td colspan="4" class="table_line"></td></tr>';
	str += '</table>';
	$("#infoArea").append(str);
}

$(document).ready(function(){
	//달력 기본셋팅
	$.datepicker.setDefaults({
		dateFormat: 'yy-mm-dd'
		, changeMonth: true
		, changeYear: true
		, showOn: 'button'
		, buttonImage: "/images/icon_10.jpg"
		, buttonImageOnly: true
        , monthNamesShort: ['1','2','3','4','5','6','7','8','9','10','11','12']
        //, dayNamesMin: ['일', '월', '화', '수', '목', '금', '토']
		, showAnim: ""
	});

	// DNA팀으로 팀원 가져오기
	$("#dnaTeam").change(function(){
		var selectbox = document.getElementById("dnaMid");
		if($(this).val() == "")
			return false;

		$.ajax({
			type : "GET",
			url : "/common/process/save.asp",
			data : "command=member&team="+ $(this).val(),
			success : function(msg){
				setNull(selectbox);	// select box초기화
				createOptions(selectbox, eval(msg)); //select box
			},
			error : function(){
				alert("처리도중 에러가 발생했습니다.");
				return false;
			}
		});
	});

	// DNA팀으로 팀원 가져오기
	$("#keyTeam").change(function(){
		var selectbox = document.getElementById("keyMid");
		if($(this).val() == "")
			return false;

		$.ajax({
			type : "GET",
			url : "/common/process/save.asp",
			data : "command=member&team="+ $(this).val(),
			success : function(msg){
				setNull(selectbox);	// select box초기화
				createOptions(selectbox, eval(msg)); //select box
			},
			error : function(){
				alert("처리도중 에러가 발생했습니다.");
				return false;
			}
		});
	});

	//로딩 시 즐겨찾기 셋팅
	if(document.getElementById("bookmark") != null){
		$.ajax({
			type : "GET",
			url : "/common/process/save.asp",
			data : "command=bookMark",
			success : function(msg){
				bookMarkList(eval(msg));
			},
			error : function(){
				alert("처리도중 에러가 발생했습니다.");
				return false;
			}
		});
	}

	//검색조건 보기
	$("#keyword").toggle(
		function(){
			document.getElementById("img_gubun").src = "/images/icon_07_.jpg";
			$("#search_keyword").toggle("fast");
		}
		, function(){
			document.getElementById("img_gubun").src = "/images/icon_07.jpg";
			$("#search_keyword").toggle("fast");
		}
	);
});

//검색팝업 가져오기
function detailSearch(cmd, mode){
	openPopup("/common/dialog/search_"+ cmd +".asp?command="+ cmd +"&mode="+ mode, "search", 476, 480, "scrollbars=no,width=476,height=480");
}

//로그아웃
function logout(){
	if(confirm("로그아웃 하시겠습니까?")){
		location.href = "/main/save.asp?command=logout";
	}
}

// 현재페이지 새창으로
// windowForm은 /common/include/layout_footer.asp에 있음
function newWindow(){
	var n = Math.floor(Math.random() * 9000) + 1000;
	window.open("about:blank", n);
	document.windowForm.target = n;
	document.windowForm.submit();
}

//즐겨찾기 추가
function bookMark(mnum){
	if(mnum == 0){
		alert("등록되지 않은 메뉴입니다.");
		return;
	}

	var selectbox = document.getElementById("bookmark");
	$.ajax({
		type : "GET",
		url : "/common/process/save.asp",
		data : "command=menu&mnum="+ mnum,
		success : function(msg){
			alert("즐겨찾기에 추가되었습니다.");
			bookMarkList(eval(msg));
		},
		error : function(){
			alert("처리도중 에러가 발생했습니다.");
			return false;
		}
	});
}

//즐겨찾기 목록 {'num':'', 'menu':'선택', 'url':''}
function bookMarkList(_options){
	if(_options == null || _options.length == 0){
		return;
	}
	var op = "";
	var str = ""
	str += "<table border=\"0\" width=\"190\" class=\"table_common margin_top10\" cellpadding=\"0\" cellspacing=\"0\">";
	str += "<tr>";
	str += "	<td style=\"text-align:left;\" height=\"26\"><span class=\"font_gray04\"><img src=\"/images/icon_02.jpg\" style=\"vertical-align:middle;\" />즐겨찾기</span></td>";
	str += "</tr>";
	for(var i = 0;i<_options.length;i++){
		str += "<tr><td class=\"table_line\"></td></tr>";
		str += "<tr>";
		str += "<td height=\"23\" style=\"font-size:11px;\"><a href=\""+ _options[i].url +"\" style=\"color:#666;\">"+ _options[i].num +". "+ _options[i].menu +"</a></td>";
		str += "</tr>";
	}
	str += "</table>";
	$("#bookmark").html(str);
}



//빠른실행
function moveForm(obj){
	if(!setInputAlert(obj.menuNumber, "메뉴번호를")) return false;
}

//전체선택
function selected(obj){
	var select = document.getElementById(obj);
	for(i=0; i<select.options.length;i++){
		select.options[i].selected = true;
	}
}
