var MM_sr,MM_p;
var actGuard = false;
var MM_selectedIndex = "";
 
function isIE() {
	return (document.all != null);
}
// URL Redirect시에 호출해야할 메서드
function goUrl(url, newWin) {
	if (url == "" || url == "#")
		return;
	var _url = url;
	var _newWin = newWin == null ? false : newWin;
	if (_newWin)
		window.open("Redirect?url=" + encodeURIComponent(_url), '', '');
	else
		window.location = "Redirect?url=" + encodeURIComponent(_url);
}

function goNew(url) {
	goUrl(url, true);
}

function getNotice(id) {
	var url = "services/common/board/Notice.jsp?id=" + id;
	generalRequest(url, "NOTICE", true);
}
// 특정 영역 출력
function printArea(n) {
	var win;
	var printArea = document.getElementById(n);
	if (printArea == null) {
		alert("HTML문서에 출력될 범위가 설정되지 않았습니다.");
		return;
	}
	try {
		win = window.open("NA.htm", "_Print_View", "width=640,height=800,scrollbars=yes,location=0,toolbar=no,statusbar=no,resizable=yes");
		var f = win.frames;
		var sb = "";
		sb = sb + "<HTML><HEAD><TITLE>";
		sb = sb + document.title;
		sb = sb + "</TITLE>";
		sb = sb + "<link href=\""+ CSS_ROOT +"/common.css\" rel=\"stylesheet\" type=\"text/css\">";
		sb = sb + "<link href=\"" + BASIC_CSS + "\" rel=\"stylesheet\" type=\"text/css\">";
		sb = sb + "<script language=javascript>\n";
		sb = sb + "function printPage(){\nwindow.print();\n}";
		sb = sb + "</script>";
		sb = sb + "</HEAD><BODY>";
		sb = sb + printArea.innerHTML;
		sb = sb + "</BODY></HTML>";
		win.document.writeln(sb);
		win.document.close();
		win.print();
	} catch (e) {
		alert(e.message);
	}
}

function printStudyPage() {
	var win;
	var printArea = document.getElementById("PrintArea");
	if (printArea == null) {
		alert("HTML문서에 출력될 범위가 설정되지 않았습니다.");
		return;
	}
	try {
		win = window.open("NA.htm", "_Print_View", "width=640,height=800,scrollbars=yes,location=0,toolbar=no,statusbar=no,resizable=yes");
		var f = win.frames;
		var sb = "";
		sb = sb + "<HTML><HEAD><TITLE>";
		sb = sb + document.title;
		sb = sb + "</TITLE>";
		sb = sb + "<link href=\"../"+ CSS_ROOT +"/common.css\" rel=\"stylesheet\" type=\"text/css\">";
		sb = sb + "<link href=\"../" + BASIC_CSS + "\" rel=\"stylesheet\" type=\"text/css\">";
		sb = sb + "<script language=javascript>\n";
		sb = sb + "function printPage(){\nwindow.print();\n}";
		sb = sb + "</script>";
		sb = sb + "</HEAD><BODY>";
		sb = sb + printArea.innerHTML;
		sb = sb + "</BODY></HTML>";
		win.document.writeln(sb);
		win.document.close();
		win.print();
	} catch (e) {
		alert(e.message);
	}
}
// 기본영역 출력
function printPage() {
	printArea("PrintArea");
}

function getCookie(name)
{
	var arg = name + "=";
	var argLength = arg.length;
	var cookLength = document.cookie.length;
	var i=0;

	while (i<cookLength){

		var j=i+argLength;
		if(document.cookie.substring(i,j) == arg)
			return getCookieVal(j);
		i = document.cookie.indexOf(" ",i) + 1;
		if(i == 0) break;
	}
	return "";
}


function setCookie(name, value)
{
	var argv = setCookie.arguments;
	var argc = setCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path    = (argc > 3) ? argv[3] : null;
	path = "/";
	var domain  = (argc > 4) ? argv[4] : null;
	var secure  = (argc > 5) ? argv[5] : false;
	var jCookStr, jStr;
	
	jCookStr = getCookie(name);
	jStr = value;

	if(jCookStr != "")	{	
		if(jCookStr.indexOf(jStr, 0) == -1){
			jCookStr = jCookStr + "|" + jStr;
		}else{
			return;
		}

	}else{
		jCookStr = jStr;
	}

	document.cookie = name + "=" + escape(jCookStr) +
	                  ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	                  ((path    == null) ? "" : ("; path="    + path)) +
	                  ((domain  == null) ? "" : ("; domain="  + domain)) +
	                  ((secure  == true) ? "; secure" : "");
}

function getCookieVal(offset)
{
	var endstr = document.cookie.indexOf(";", offset);
	if (endstr == -1)
		endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}
function deleteCookie(name)
{
	var exp = new Date();
	exp.setTime(exp.getTime()-1);
	var cval = getCookie(name)
	document.cookie = name + "=" +  cval  + "; expires=" + exp.toGMTString() + "; path=/";
	
}
function over(st, color)  { 
	st.style.backgroundColor = color; 
}
function out (st, color){ 
	st.style.backgroundColor = color; 
}
function getFontCookie() 
{ 
	var cookie = getCookie("font_size"); 
	if ( cookie == null ) return 13; 
	if ( cookie.length ) return cookie; 
	else return 13; 
}
function scaleFont(val) 
{
	var content, lineHeight; 
	content = document.getElementById('PrintArea'); 
	if (val > 0) { 
		if (fontSize <= 18) { 
			fontSize = fontSize + val; 
			content.style.fontSize = fontSize + "px"; 
		} 
	} 
	else { 
		if (fontSize > 12) { 
			fontSize = fontSize + val; 
			content.style.fontSize = fontSize + "px"; 
		} 
	} 

	var mydate = new Date; 
	mydate.setDate(mydate.getDate()+1000); 
	setCookieSimple("font_size", fontSize, mydate); 
}

function setCookieSimple(name,value,expires,domain) 
{
	document.cookie=name + "=" + escape(value) + 
			((expires == null)? "" : (" ; expires=" + expires.toGMTString())) + "; domain=" + domain + ";" ;
}

function myFunc(idName, color)
  {
      idName.style.backgroundColor = color
  }
  
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr;
  var el = document.getElementById(MM_selectedIndex);
  for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) {
  	if (el != null && x.src == el.src)
  		continue; 
  	x.src=x.oSrc ;
  }
}

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_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 MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_showHideLayers() { //v3.0
  if (actGuard)
  	return;
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
  divGuardNew(args);
  actGuard = false;
}
/*
function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  var findVisible = false;
  var findSubVisible = false;
  var layers = "";
  if (actGuard)
  	return;
  actGuard = true;
  for (i=0; i<(args.length-2); i+=3) {
  	if ((obj=MM_findObj(args[i]))!=null) { 
  		v=args[i+2];
    	if (obj.style) { 
    		obj=obj.style; 
    		v=(v=='show')?'visible':(v=='hide')?'hidden':v;
    		// ???????????? ??????
    		obj.visibility = v;
    	}
    }
  }
  divGuardNew(args);
  actGuard = false;
}
*/
function divGuardNew(arr) {
	var g1 = document.getElementById("divGuard");
	if (g1 == null)
		return;
	g1.style.display = "none";
	for (i=0; i<(arr.length-2); i+=3) {
  	if ((obj=MM_findObj(arr[i]))!=null) { 
  		v=arr[i+2];
    	if (obj.style) { 
    		obj=obj.style; 
    		v=(v=='show')?'visible':(v=='hide')?'hidden':v;
    		if (v == 'visible') {
	    		if (arr[i].indexOf("_") < 0) { 
	    			divGuard(true, arr[i]);
	    		}
	    	}
    	}
    }
  }
}

function loadImages() {
	MM_preloadImages('images/snu/main/searchTab_02.gif','images/snu/main/searchTab_03.gif','images/snu/main/searchTab_04.gif','images/snu/common/mainMenu_01_c.gif','images/snu/common/mainMenu_02_c.gif','images/snu/common/mainMenu_03_c.gif','images/snu/common/mainMenu_04_c.gif','images/snu/common/mainMenu_05_c.gif');
}
function divGuard(state, element, guardName)
{
	var gn;
	try {
		var ie = (document.all);
		if (!ie)
			return;
		if (divGuard.arguments.length == 2) {
			gn = "divGuard";
		} else 
			gn = guardName;
		var divRef = document.getElementById(element);
		var ifrRef = document.getElementById(gn);
	   	if (state)
		{
			ifrRef.style.width = divRef.offsetWidth;
			ifrRef.style.height = divRef.offsetHeight - 2;	
			ifrRef.style.top = divRef.style.top;
			ifrRef.style.left = divRef.style.left;
			ifrRef.style.zIndex = divRef.style.zIndex - 1;
			ifrRef.style.display = "block";
	   } else {
		    ifrRef.style.display = "none";
	   }
  } catch (e) {}
}

function needLogin() {
	if (!confirm("로그인이 필요합니다. 로그인 하시겠습니까?"))
		return;
	var target = encoding(document.location);
	var url = "Login.jsp?url=" + target;
	window.location = url;
}

function lpad(src, len, padStr){
	var retStr = "";
	var padCnt = Number(len) - String(src).length;
	for(var i=0;i<padCnt;i++) retStr += String(padStr);
	return retStr+src;
}

function rpad(src, len, padStr){
	var retStr = "";
	var padCnt = Number(len) - String(src).length;
	for(var i=0;i<padCnt;i++) retStr += String(padStr);
	return src+retStr;
}
function isValidDate(s, afterCurrent) { 
	try {
		var ie = isIE();
		var checkDate = (isValidDate.arguments.length == 2 && afterCurrent);
		var isValid = false;
	    var y = parseInt(s.substring(0,4),10); 
	    var m = parseInt(s.substring(4,6),10) - 1; 
	    var d = parseInt(s.substring(6,8),10); 
	    var dt = new Date(y, m, d);
	    if (dt.getYear() == y - (ie ? 0 : 1900) && dt.getMonth() == m && dt.getDate() == d) { 
	        isValid = true; 
	    } 
	    else { 
	        isValid = false; 
	    } 
	    
	    if (checkDate) {
	    	var curr = new Date();
	    	if (curr > dt) {
				alert("현재일자보다 이전일자입니다.");
	    		return false;
	    	}
	    }
	    return isValid;
	} catch (e) {
		alert(e);
	}
}

function getDiffDate(day) {
	var d = new Date();
	var diff = day * 1000 * 60 * 60 * 24;
	return new Date(d.getTime() + diff);
	
}

function getFormattedDate(day) {
	// 주의 : IE는 date.getYear() 하면 2006이 나오지만, FF는 date.getYear()하면 2006 - 1900의 값(106)이 나오게 된다.
	var year = (document.all == null ? day.getYear() + 1900 : day.getYear());
	var d = year + "" + lpad((day.getMonth() + 1) + "", 2, "0") + lpad((day.getDate() + 1) + "", 2, "0")
	return d;
}

function loginCheck() {
	document.frmLogin.UserID.value = document.frmUserID.UserID.value;
	document.frmLogin.Password.value = document.frmPassword.Password.value;
	if (document.frmLogin.UserID.value == "") {
		alert("ID를 입력하시기 바랍니다.");
		if (document.getElementById("RealField").style.display == "none")
			document.getElementById("FakeUserID").focus();
		else
			document.frmUserID.UserID.focus();
		return;
	}
	if (document.frmLogin.UserID.value == "" && document.frmLogin.Password.value == "") {
		alert("로그인 정보를 입력하시기 바랍니다.");
		if (document.getElementById("RealField").style.display == "none")
			document.getElementById("FakeUserID").focus();
		else
			document.frmUserID.UserID.focus();
		return;
	}
	
	document.frmLogin.submit();
}

function autotab(current,to){
	if (current.getAttribute && 
	  	current.value.length==current.getAttribute("maxlength")) {
		to.focus() 
	}
}

function showLogin() {
	var win = window.open("LoginWindow", 'login', 'height=580,width=600,scrollbars=no,location=no,toolbar=no,statusbar=no');
}

function resizeIframe(frameid){
	try { 
		var f = document.getElementById(frameid);
		var c = f.document.body;
		if (f != null) {
			// ????????????
			f.style.height = 800;
		}
	} catch (e) {
		alert(e);
	}
} 
function openWindow(name, src, h, w, sc, tb, lo, st, rs) {
	if (openWindow.arguments.length == 4) {
		sc = tb = lo = st = 'no';
	} else if (openWindow.arguments.length < 8) {
		alert("모든 항목의 값을 입력해야합니다.");
		return;
	}
	var win = window.open(src, name, 'height=' + h + ',width=' + w + ',scrollbars=' + sc + ',location=' + lo + ',toolbar=' + tb + ',statusbar=' + st + ',resizable=' + (rs == null ? 'no' : rs));
	if (!isIE()) {
		var sinist = screen.width / 2 - outerWidth / 2;
		var toppo = screen.height / 2 - outerHeight / 2;
	} else {
		var sinist = screen.width / 2 - document.offsetWidth / 2;
		var toppo = -75 + screen.height / 2 - document.body.offsetHeight / 2;
	}
	try {
		win.moveTo(sinist, toppo);
	} catch (e) {}
}

function getElement(id) {
	var el = document.getElementById(id);
	return el;
}

function getElements(name) {
	var el = document.getElementsByName(name);
	return el;
}

function goMyLibrary(menu, file, options) {
	var url = "Mylibrary.jsp?id=" + menu;
	if (menu == '')
		return;
	if (goMyLibrary.arguments.length >= 2) {
		url = url + "&file=" + file;
		if (goMyLibrary.arguments.length == 3) {
			url = url + "&" + options;
		}
	} else {
		url = url + "&file=List"; 
	}
	window.location.href = url;
}

function goMyLibraryA(menu, file, options) {
	var url = "../Mylibrary.jsp?id=" + menu;
	if (menu == '')
		return;
	if (goMyLibraryA.arguments.length >= 2) {
		url = url + "&file=" + file;
		if (goMyLibraryA.arguments.length == 3) {
			url = url + "&" + options;
		}
	} else {
		url = url + "&file=List"; 
	}
	window.location.href = url;
}

function goSearchMenu(id, sub) {
	var url = "Search.jsp?uid=" + id;
	if (goSearchMenu.arguments.length >= 2) {
		url = url + "&type=" + sub;
	}
	if (goSearchMenu.arguments.length >= 3) {
		url = url + "&by=" + by;
	}
	window.location.href = url;	
}

function goSearchMenuA(id, sub) {
	var url = "../Search.jsp?uid=" + id;
	if (goSearchMenuA.arguments.length >= 2) {
		url = url + "&type=" + sub;
	}
	window.location.href = url;	
}

function goMediaMenu(id, sub) {
	var url = "Search.jsp?uid=" + id;
	if (goMediaMenu.arguments.length >= 2) {
		url = url + "&sub=" + sub;
	}
	window.location.href = url;	
}

function download(id) {
	window.location.href = "/Download.jsp?id=" + id;
}

function clearDIV(dn) {
	var v = document.getElementById(dn);
	if (v == null)
		return;
	v.innerHTML = "";
}

function copyClip(t) {
    if (window.clipboardData) { // IE??? ??????
        window.clipboardData.setData("Text", t);
    } else if (window.netscape) { // NS??? ??????
     // you have to sign the code to enable this, or see notes below 
        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');

     // maak een interface naar het clipboard
        var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
        if (!clip) return;

     // maak een transferable
        var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
        if (!trans) return;

     // specificeer wat voor soort data we op willen halen; text in dit geval
        trans.addDataFlavor('text/unicode');

     // om de data uit de transferable te halen hebben we 2 nieuwe objecten nodig om het in op te slaan
        var str = new Object();
        var len = new Object();

        var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);

        var copytext = t; // ??????????????? ??????
        str.data = copytext;

        trans.setTransferData("text/unicode",str,copytext.length*2);
        var clipid = Components.interfaces.nsIClipboard;
        if (!clipid) return false;

        clip.setData(trans,null,clipid.kGlobalClipboard);
    }
    	alert("클립보드에 복사되었습니다.");
    return false;
}

function _void(v) {
}

function trim(src){
 var tempStr = "";
 for (i = 0 ; i < src.length; i++){
  if(src.charAt(i) == " "){
   continue;
  }else{
   tempStr = tempStr + src.charAt(i);
  }
 }
 return tempStr;
}

function checkCookie() {
	try {
		setCookie("COOKIE_CHECKER", "Y");
		var value = getCookie("COOKIE_CHECKER");
		if (value == null || value.length == 0) {
			alert("현재 \"보안수준이 높음\" 또는 \"쿠키허용 안함\"으로 설정되었습니다.\n\n로그인 및 일부 서비스 이용이 불가능하므로 개인정보 설정에서 쿠키를 허용하거나\n\n도메인 " + document.location.host +"에 대해서 쿠키를 허용해 주시기 바랍니다.");
		}
		deleteCookie("COOKIE_CHECKER");
	} catch (e) {
	}
}
