var context = "";
var tmpContext = new Array("/sysgood_2", "/sysgood");
var href = window.location.href;
for ( var int = 0; int < tmpContext.length; int++) {
	if(href.indexOf(tmpContext[int]) != -1){
		context = tmpContext[int];
		break;
	}
}

/**
 * onload시 작동하는 이벤트 등록<br/>
 * 
 * @param (실행함수명 [,
 *            실행함수의 파라미터들]) return ::
 * @return void
 */
function addLoadEvent(func) {
	var oldOnload = window.onload;
	var arr = "";
	for ( var i = 1; i < arguments.length; i++) {
		if (i != 1) {
			arr += ",";
		}
		arr += "\"" + arguments[i] + "\"";
	}
	if (typeof window.onload != 'function') {
		window.onload = function() {
			eval("func(" + arr + ");");
		}
	} else {
		window.onload = function() {
			oldOnload();
			eval("func(" + arr + ");");
		}
	}
}

function isIE(){
	var result = false;
	var ua = navigator.userAgent.toUpperCase();
	if(ua.indexOf('IE') != -1){
		result = true;
	}
	return result;
}

function isIE8(){
	var result = false;
	var ua = navigator.userAgent.toUpperCase();
	if(ua.indexOf('IE 8') != -1){
		result = true;
	}
	return result;
}

function isIE7(){
	var result = false;
	var ua = navigator.userAgent.toUpperCase();
	if(ua.indexOf('IE 7') != -1){
		result = true;
	}
	return result;
}

function isIE6(){
	var result = false;
	var ua = navigator.userAgent.toUpperCase();
	if(ua.indexOf('IE 6') != -1){
		result = true;
	}
	return result;
}

function isIE5(){
	var result = false;
	var ua = navigator.userAgent.toUpperCase();
	if(ua.indexOf('IE 5') != -1){
		result = true;
	}
	return result;
}

function isFirefox(){
	var result = false;
	var ua = navigator.userAgent.toUpperCase();
	if(ua.indexOf('FIREFOX') != -1){
		result = true;
	}
	return result;
}

function isOpera(){
	var result = false;
	var ua = navigator.userAgent.toUpperCase();
	if(ua.indexOf('OPERA') != -1){
		result = true;
	}
	return result;
}

function isSafari(){
	var result = false;
	var ua = navigator.userAgent.toUpperCase();
	if(ua.indexOf('SAFARI') != -1){
		result = true;
	}
	return result;
}

function isChrome(){
	var result = false;
	var ua = navigator.userAgent.toUpperCase();
	if(ua.indexOf('CHROME') != -1){
		result = true;
	}
	return result;
}

function setTextFeildValue(id){
	var textFeild = document.getElementById(id);
	if(!textFeild) return false;
	
	textFeild.onfocus = function(){
		if(this.defaultValue == this.value){
			this.value = "";
		}
	}
	
	textFeild.onblur = function(){
		if(this.value == ""){
			this.value = this.defaultValue;
		}
	}
}

function setPng(obj) {
    obj.width=obj.height=1;
    obj.className=obj.className.replace(/\bpng\b/i,'');
    obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ obj.src +"',sizingMethod='image');";
    obj.src='';
    return '';
}

function setPngByImg(){
	if(isIE7() || isIE8() || isFirefox() || isOpera() || isSafari() || isChrome()) return false;
	var imgs = document.getElementsByTagName("IMG");
	for(var i = 0; i < imgs.length; i++){
		if(imgs.item(i).className.indexOf('png') != -1){
			imgs.item(i).style.tmp = setPng(imgs.item(i));
		}
	}
	
	var inputs = document.getElementsByTagName("INPUT");
	for(var i = 0; i < inputs.length; i++){
		if(inputs.item(i).type == "image"){
			if(inputs.item(i).className.indexOf('png') != -1){
				inputs.item(i).style.tmp = setPng(inputs.item(i));
			}
		}
	}
}

function setMainMenuNavigation(){
	var main_menu = document.getElementById("main_menu");
	if(!main_menu) return false;
	
	var mains = main_menu.childNodes;
	for(var i = 0; i < mains.length; i++){
		if(mains.item(i).nodeName == "LI"){
			mains.item(i).onmouseover = function(){
				allChangeMainMenuImage();
				//allChangeSubMenuImage();
				
				var obj = findImgNode(this);
				if(obj.style.filter){
					if(obj.style.filter.indexOf("_slt.png") == -1){
						obj.style.filter = obj.style.filter.replace(".png", "_slt.png");
					}
				}else{
					if(obj.src.indexOf("_slt.png") == -1){
						obj.src = obj.src.substring(0, obj.src.length - 4) + "_slt.png";
					}
				}
				changeUlNode(this);
			}
			mains.item(i).onmouseout = function(){
				var obj = findImgNode(this);
				if(obj.style.filter){
					if(obj.style.filter.indexOf("_slt.png") != -1){
						obj.style.filter = obj.style.filter.replace("_slt.png", ".png");
					}
				}else{
					if(obj.src.indexOf("_slt.png") != -1){
						obj.src = obj.src.substring(0, obj.src.length - 8) + ".png";
					}
				}
			}
			var ul = mains.item(i).getElementsByTagName("UL").item(0);
			var subs = ul.getElementsByTagName("LI");
			for(var z = 0; z < subs.length; z++){
				changeSubMenuImage(subs.item(z));
			}
		}
	}
}

function changeSubMenuImage(li){
	var a = li.getElementsByTagName("A").item(0);
	var img = a.getElementsByTagName("IMG").item(0);
	img.onmouseover = function(){
		allChangeSubMenuImage();
		
		if(img.style.filter){
			img.style.filter = img.style.filter.replace("_0.png", "_1.png");
		}else{
			img.src = img.src.replace("_0.png", "_1.png");
		}
		return false;
	};
	img.onfocus = function(){
		allChangeSubMenuImage();
		
		if(img.style.filter){
			img.style.filter = img.style.filter.replace("_0.png", "_1.png");
		}else{
			img.src = img.src.replace("_0.png", "_1.png");
		}
		return false;
	};
	img.onmouseout = function(){
		if(img.style.filter){
			img.style.filter = img.style.filter.replace("_1.png", "_0.png");
		}else{
			img.src = img.src.replace("_1.png", "_0.png");
		}
		return false;
	};
	img.onblur = function(){
		if(img.style.filter){
			img.style.filter = img.style.filter.replace("_1.png", "_0.png");
		}else{
			img.src = img.src.replace("_1.png", "_0.png");
		}
		return false;
	};
}

function allChangeMainMenuImage(){
	var imgs = document.getElementsByName("main_menu_images");
	for(var j = 0; j < imgs.length; j++){
		if(imgs.item(j).style.filter){
			if(imgs.item(j).style.filter.indexOf("_slt.png") != -1){
				imgs.item(j).style.filter = imgs.item(j).style.filter.replace("_slt.png", ".png");
			}
		}else{
			if(imgs.item(j).src.indexOf("_slt.png") != -1){
				imgs.item(j).src = imgs.item(j).src.replace("_slt.png", ".png");
			}
		}
	}
}

function allChangeSubMenuImage(){
	var imgs = document.getElementsByName("sub_menu_images");
	for(var i = 0; i < imgs.length; i++){
		if(imgs.item(i).style.filter){
			if(imgs.item(i).style.filter.indexOf("_1.png") != -1){
				imgs.item(i).style.filter = imgs.item(i).style.filter.replace("_1.png", "_0.png");
			}
		}else{
			if(imgs.item(i).src.indexOf("_1.png") != -1){
				imgs.item(i).src = imgs.item(i).src.replace("_1.png", "_0.png");
			}
		}
	}
}

function findImgNode(obj){
	var childs = obj.childNodes;
	for(var j = 0; j < childs.length; j++){
		if(childs.item(j).nodeName == "A"){
			var imgs = childs.item(j).childNodes;
			for(var z = 0; z < imgs.length; z++){
				if(imgs.item(z).nodeName == "IMG"){
					return imgs.item(z);
				}
			}
		}
	}
}

function changeUlNode(obj){
	var lis = obj.parentNode.childNodes;
	for(var j = 0; j < lis.length; j++){
		if(lis.item(j).nodeName == "LI"){
			var uls = lis.item(j).childNodes;
			for(var i = 0; i < uls.length; i++){
				if(uls.item(i).nodeName == "UL"){
					uls.item(i).style.visibility = "hidden";
					uls.item(i).style.overflow = "hidden";
					uls.item(i).style.textIndent = "-9999px";
				}
			}
		}
	}
	var childs = obj.childNodes;
	for(var j = 0; j < childs.length; j++){
		if(childs.item(j).nodeName == "UL"){
			childs.item(j).style.visibility = "visible";
			childs.item(j).style.overflow = "visible";
			childs.item(j).style.textIndent = "";
		}
	}
}

function setVisibleMenu(id, seq){
	var li = document.getElementById(id);
	if(!li) return false;
	var obj = findImgNode(li);
	if(obj.style.filter){
		obj.style.filter = obj.style.filter.replace(".png", "_slt.png");
	}else{
		obj.src = obj.src.substring(0, obj.src.length - 4) + "_slt.png";
	}
	changeUlNode(li);
	var uls = li.childNodes;
	for(var i = 0; i < uls.length; i++){
		if(uls.item(i).nodeName == "UL"){
			var lis = uls.item(i).getElementsByTagName("LI");
			for(var j = 0; j < lis.length; j++){
				if(--seq == 0){
					var aNodes = lis.item(j).getElementsByTagName("A");
					var img = aNodes.item(0).getElementsByTagName("IMG").item(0);
					if(img.style.filter){
						img.style.filter = img.style.filter.replace("_0.png", "_1.png");
					}else{
						img.src = img.src.replace("_0.png", "_1.png");
					}
				}
			}
		}
	}
}

var password = "";

function checkTextField(frm, isUpdate){
	if(!frm) return false;
	
	var inputs = frm.getElementsByTagName("INPUT");
	for(var i = 0; i < inputs.length; i++){
		var input = inputs.item(i);
		if(!valueCheck(input, isUpdate)) return false;
	}
	
	var textareas = frm.getElementsByTagName("TEXTAREA");
	for(var i = 0; i < textareas.length; i++){
		var textarea = textareas.item(i);
		if(!valueCheck(textarea, isUpdate)) return false;
	}
	
	// 패스워드 분실시 질문 필수 선택을 위해 추가 - 2010. 3. 10 realchoky
	var passSelect = document.getElementById("select_mem_question");
	if (passSelect) {
		if (passSelect && passSelect.value=="") {
			alert("패스워드 분실시 질문을 반드시 선택해 주세요!");
			return false;
		}
	}
	
	return true;
}

function valueCheck(obj, isUpdate){
	var className = obj.className.toUpperCase();
	
	if(obj.nodeName == "TEXTAREA" || obj.getAttribute("type") == "text" || obj.getAttribute("type") == "password"){
		if(className.indexOf("_COMPULSORY") != -1){
			if(obj.value == "" 
				|| ( !isUpdate && obj.value == obj.defaultValue )){
				alert(obj.getAttribute("title") + "은(는) 필수 입력입니다.");
				obj.focus();
				return false;
			}
			
		}
		
		if(className.indexOf("_MIN_") != -1){
			var minNumStr = className.substring(className.indexOf("_MIN_") + 5, className.indexOf("_MIN_") + 8);
			var minNum = parseInt(minNumStr);
			if(getByteLength(obj.value) < minNum){
				alert(obj.getAttribute("title") + "은(는) 최소 " + minNum + " Byte(한글 " + (minNum * 0.5) + " 자) 이상 입력해야 됩니다.");
				obj.focus();
				return false;
			}
			
		}
		
		if(className.indexOf("_MAX_") != -1){
			var maxNumStr = className.substring(className.indexOf("_MAX_") + 5, className.indexOf("_MAX_") + 8);
			var maxNum = parseInt(maxNumStr);
			if(getByteLength(obj.value) > maxNum){
				alert(obj.getAttribute("title") + "은(는) 최대 " + maxNum + " Byte(한글 " + (maxNum * 0.5) + " 자) 이하로 입력해야 됩니다.");
				obj.focus();
				return false;
			}
			
		}
		
		if(className.indexOf("_JUMIN") != -1){
			if(!isRegNum(obj.value)){
				alert("주민등록번호 형식이 아닙니다.");
				obj.focus();
				return false;
			}
			
		}
		
		if(className.indexOf("_EMAIL") != -1){
			if(!isEmail(obj.value)){
				alert("이메일 형식이 아닙니다.");
				obj.focus();
				return false;
			}
			
		}
		
		if(className.indexOf("_NUMBER") != -1){
			if(!isNumger(obj.value)){
				alert(obj.title + "은(는) 숫자만 들어갈 수 있습니다.");
				obj.focus();
				return false;
			}
			
		}
		
		if(className.indexOf("_ENGLISH") != -1){
			if(!isEnglish(obj.value)){
				alert(obj.title + "은(는) 영문 알파벳과 숫자만 들어갈 수 있습니다.");
				obj.focus();
				return false;
			}
			
		}
		
		if(className.indexOf("_PASS_CHECK") != -1){
			if(password != obj.value){
				alert("비밀번호 확인이 다릅니다.");
				obj.focus();
				return false;
			}
			
		}else if(className.indexOf("_PASSWORD") != -1){
			password = obj.value;
			
		}
	}
	
	return true;
}



/**
 * 영문 숫자 형식 체크
 * 
 * @param str
 *            영문 숫자
 * @return true or false
 */
function isEnglish(str){
	var eng = /[0-9a-zA-Z]/g;
	var tmp = str.replace(eng, "");
	
	if (tmp != "") {
		return false;
	}
	return true;
}

/**
 * 숫자 형식 체크
 * 
 * @param str
 *            숫자
 * @return true or false
 */
function isNumger(str){
	var number = /[0-9]/g;
	var tmp = str.replace(number, "");
	
	if (tmp != "") {
		return false;
	}
	return true;
}

/**
 * Email 형식 체크
 * 
 * @param str
 *            Email
 * @return true or false
 */
function isEmail(str){
	var text = /^[_\-\.0-9a-zA-Z]{1,}@[-.0-9a-zA-Z]{1,}\.[a-zA-Z]{2,4}$/;
	var tmp = str.replace(text, "");

	if (tmp != "") {
		return false;
	}
	return true;
}

/**
 * 주민번호 검사
 * 
 * @param regnum
 *            주민번호
 * @return true or false
 */
function isRegNum(regnum) {
	try {
		// Original Check
		var num = regnum.replace(/[^0-9]/g, "");
		if (num.length == 13) {
			num = num.substring(0, 6) + "-" + num.substring(6, 13);
		} else {
			return false;
		}
		num = num.match(/^([0-9]{6})-?([0-9]{7})$/);
		if (!num)
			return false;
		var num1 = RegExp.$1;
		var num2 = RegExp.$2;
		if (!num2.substring(0, 1).match(/^[1-4]{1}$/))
			return false;
		num = num1 + num2;
		var sum = 0;
		var last = num.charCodeAt(12) - 0x30;
		var bases = "234567892345";
		for (i = 0; i < 12; i++) {
			sum += (num.charCodeAt(i) - 0x30)
					* (bases.charCodeAt(i) - 0x30);
		}
		var mod = sum % 11;
		return ((11 - mod) % 10 == last) ? true : false;

		// Simple Check(사업장에서는 외국인등 주민번호를 별도 채번하여 사용하는 경우가 있다. 따라서 검증 레벨을 낮춘다.)
		/*
		 * var val = this.__trim().replace(/[^0-9]/g, ""); if (val.length == 13 &&
		 * this.__isNumber() && parseInt(this.substring(6, 7)) > 0 &&
		 * parseInt(this.substring(6, 7)) < 5) { return true; } return false;
		 */
	} catch (e) {
		return false;
	}
}

/**
 * Byte 수 체크
 * 
 * @param s
 *            체크할 문자열
 * @return Byte 수
 */
function getByteLength(s) {
	var len = 0;

	if (s == null)
		return 0;

	for ( var i = 0; i < s.length; i++) {
		var c = escape(s.charAt(i));
		if (c.indexOf("%u") == -1) {
			len++;
		} else if (c.indexOf("%u") != -1) {
			len += 2;
		} else if (c.indexOf("%") != -1) {
			len += 1;
		}
	}

	return len;
}

function formcheck(id){
	var frm = document.getElementById(id);
	if (!frm) return false; 
	
	frm.onsubmit = function(){
		return checkTextField(frm);
	};
}

function updateFormcheck(id){
	var frm = document.getElementById(id);
	if (!frm) return false;
	
	frm.onsubmit = function(){
		return checkTextField(frm, true);
	};
}

function setVisible(objId, targetId){
	var obj = document.getElementById(objId);
	var target = document.getElementById(targetId);
	if(!obj || !target) return false;
	
	obj.onmouseover = function(){
		target.style.top = "";
		return false;
	};
	obj.onfocus = function(){
		target.style.top = "";
		return false;
	};
	
	obj.onmouseout = function(){
		target.style.top = "-9999px";
		return false;
	};
	obj.onblur = function(){
		target.style.top = "-9999px";
		return false;
	};
	
	target.style.top = "-9999px";
}

function useNotHref(id){
	var obj = document.getElementById(id);
	if(!obj) return false;
	
	obj.onclick = function(){
		return false;
	};
}

/**
 * 앵커태그에서 페이지를 window.open으로 보여주고 싶을때 사용 연결 할 페이지 주소는 herf 속성에 적어준다.
 * 
 * @param id
 *            태그 아이디
 * @param name
 *            오픈네임
 * @param option
 *            오픈옵션
 * @return false
 */
function setAnchorsOpen(id, name, option){
	if(!document.getElementById) return false;
	if(!document.getElementById(id)) return false;
	
	document.getElementById(id).onclick = function(){
		window.open(this.href, name, option);
		return false;
	};
}

/**
 * 앵커태그에서 페이지를 닫을 때 상용
 * 
 * @param id
 *            태그 아이디
 * @param focusId
 *            꺼진 후 포커싱 될 엘리먼트의 아이디
 * @return false
 */
function setAnchorsClose(id, focusId){
	document.getElementById(id).onclick = function(){
		self.close();
		if(!opener.document.getElementById("selectId")) return false;
		opener.document.getElementById("focusId").focus();
		return false;
	};
}

function returnPage(id){
	if(!document.getElementById(id)) return false;
	
	document.getElementById(id).onclick = function(){
		history.back();
		return false;
	}
}


/**
 * 10-02-17 변수, 메소드 수정!! - 박성후
 */
var fileSeq = 0;

function addOrRemoveFile(name){
	var fileButtons = document.getElementsByName(name);
	if(!fileButtons) return false;
	
	for(var i = 0; i < fileButtons.length; i++){
		var fileButton = fileButtons.item(i);
		fileButton.onclick = function(){
			if( fileButton.title.indexOf("추가") != -1 ){
				var li = fileButton.parentNode;
				var copyLi = li.cloneNode(true);
				var childs = copyLi.childNodes;
				
				for(var j = 0; j < childs.length; j++){
					var aNode = childs.item(j);
					if(aNode.nodeName == "P"){
						copyLi.removeChild(aNode);
						continue;
					} 
					if(aNode.nodeName == "INPUT"){
						aNode.name = aNode.name + "_" + (fileSeq++);
					} 
					if(aNode.nodeName == "A"){
						aNode.title = "파일삭제";
						var imgNode = aNode.getElementsByTagName("IMG").item(0);
						if(imgNode.style.filter){
							imgNode.style.filter = imgNode.style.filter.replace("board/img176", "img02_x");
						}else{
							imgNode.src = context + "/images/img02_x.png";
						}
						imgNode.alt = "삭제";
						if(aNode.nodeName != "P"){
							aNode.onclick = function(){
								deleteFileInput(aNode);
								return false;
							}
						}
					}
				}
				
				li.parentNode.appendChild(copyLi);
			}else if( fileButton.title.indexOf("삭제") != -1 ){
				alert(fileButton);
				deleteFileInput(fileButton);
			}
			return false;
		}
	}
}

function deleteFileInput(deleteBotton){
	deleteBotton.parentNode.parentNode.removeChild(deleteBotton.parentNode);
	return false;
}

/*
 * realchoky 추가 시작
*/
function checkLogout(path) {
	if (confirm("로그아웃 하시겠습니까?")==1) {
		document.location.href = path;
	}
}

/*
 * realchoky 추가 끝
*/

function switchElement(parentId, ddId, a_id){
	if(!document.getElementById) return false;
	if(!document.getElementById(parentId)) return false;
	if(!document.getElementById(ddId)) return false;
	if(!document.getElementById(a_id)) return false;
	var div = document.getElementById(parentId);
	var nodes = div.childNodes;
	for(var i = 0; i < nodes.length; i++){
		if(nodes.item(i).nodeName == "DL"){
			var dl = nodes.item(i).childNodes;
			for(var j = 0; j < dl.length; j++){
				if(dl.item(j).nodeName == "DT"){
					var li = dl.item(j).childNodes;
					dl.item(j).className = dl.item(j).className.replace(" selected", " non_selected");
					var aaa = dl.item(j).childNodes;
					for ( var x = 0; x < aaa.length; x++) {
						if (aaa.item(x).nodeName == "A") {
							var __imgs = aaa.item(x).childNodes;
							for ( var n = 0; n < __imgs.length; n++) {
								if (__imgs.item(n).nodeName == "IMG") {
									__imgs.item(n).src = __imgs.item(n).src.replace("1.png", "0.png");
									break;
								}
							}
							break;
						}
					}
				}
				if(dl.item(j).nodeName == "DD"){
					dl.item(j).style.visibility = "hidden";	
				}
			}
		}
	}
	document.getElementById(ddId).style.visibility = "visible";
	document.getElementById(a_id).parentNode.className = document.getElementById(a_id).parentNode.className.replace(" non_selected", " selected");
	var ____imgs = document.getElementById(a_id).childNodes;
	for ( var n2 = 0; n2 < ____imgs.length; n2++) {
		if (____imgs.item(n).nodeName == "IMG") {
			____imgs.item(n).src = ____imgs.item(n).src.replace("0.png", "1.png");
			break;
		}
	}
}

function setVisibility(id, value){
	if (!document.getElementById(id)) return false;
	document.getElementById(id).style.visibility = value;
}

function setPosition(id, value){
	if (!document.getElementById(id)) return false;
	document.getElementById(id).style.position = value;
}

function addFiles(id, ul_id) {
	var imgs = document.getElementById(id).getElementsByTagName("IMG");
	var file_ul = document.getElementById(ul_id);
	for (var i = 0; i < imgs.length; i++) {
	 	var li_tag = document.createElement("LI");
	 	var a_tag = document.createElement("A");
	 	var _title = imgs.item(i).getAttribute("src").split("/");
	 	var title = _title[_title.length - 1];
	 	a_tag.setAttribute("href", context + "/down.do?file=" + imgs.item(i).getAttribute("src"));
	 	a_tag.setAttribute("title", title);
	 	a_tag.innerHTML = title;
	 	li_tag.appendChild(a_tag);
	 	file_ul.appendChild(li_tag);
	}
}

addLoadEvent(setPngByImg);
addLoadEvent(setMainMenuNavigation);
//addLoadEvent(setVisible, "myPageLi", "visibleId");
//addLoadEvent(useNotHref, "myPageA");
addLoadEvent(addOrRemoveFile, "file_botton");

