﻿// ------------------------------------------------------------------------------------------
// 드림위버용 롤오버 이미지 관련 함수
// ------------------------------------------------------------------------------------------
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.0
  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 && document.getElementById) x=document.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_showHideLayers() { //v3.0
  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; }
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
// ------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------

//이미지 처리시 테이블 깨지지 않게 Max 사이즈를 제한한다.
//사용예 : Resizing(this,500,"w")
function Resizing(img,isize,r_type)		//this, 제한할 사이즈, 제한할 대상(가로 : w, 세로 : h)
{  
	if (r_type == "w"){
		if(img.width > isize) 
		{
			img.width = isize;
		}	
	}
	else{
		if(img.height > isize) 
		{
			img.height = isize;
		}
	}
}

//이미지 롤오버 변환 함수
/* overmode 값
     없으면 일반적인 롤오버
     gray_color : 흑백상태에서 오버하면 칼라로. 원본이미지가 칼라일 것.
     color_gray : 칼라상태에서 오버하면 흑백으로. 원본이미지가 칼라일 것.
     overlay : 서로 겹쳐지며 변환
	 oversrc : 변환될 이미지의 URL

Ex)
<img src="btn_board_modify.gif" overmode="overlay" oversrc="btn_board_reply.gif">		: 롤오버시 이미지가 오버레이 됨
<img src="btn_board_modify.gif" oversrc="btn_board_reply.gif">		: 일반적인 롤오버 효과
<img src="btn_board_modify.gif" overmode="color_gray">		: 롤오버시 이미지가 컬러에서 흑백으로 변환
<img src="btn_board_modify.gif" overmode="gray_color">		: 롤오버시 이미지가 흑백에서 컬러로 변환
*/
var K_rollover_preImage = new Array;

function K_rollover(){
        var i, len = document.images.length;
        var objts, overmode, oversrc;
        
        for(i = 0; i < len; i++){
                objts = document.images[i];
                overmode = objts.getAttribute('overmode');
                oversrc = objts.getAttribute('oversrc');

                switch(overmode){
                        case 'gray_color':
                                objts.style.filter = 'gray';
                                objts.onmouseover = new Function("this.style.filter=''");
                                objts.onmouseout = new Function("this.style.filter='gray'");
                                break;
                        case 'alpha':
                                objts.onmouseover = new Function("this.style.filter='alpha(opacity=80,style=0,finishopacity=0)'");
                                objts.onmouseout = new Function("this.style.filter=''");
                                break;
                        case 'color_gray':
                                objts.onmouseover = new Function("this.style.filter='gray'");
                                objts.onmouseout = new Function("this.style.filter=''");
                                break;
                        case 'overlay':
                                if(oversrc){
                                        objts.style.filter = "blendTrans(duration=1)";
                                        objts.onmouseover = new Function("this.filters.blendTrans.Apply(); this.src='"+oversrc+"'; this.filters.blendTrans.Play()");
                                        objts.onmouseout = new Function("this.filters.blendTrans.Apply(); this.src='"+objts.src+"'; this.filters.blendTrans.Play()");
                                        K_rollover_preImage[K_rollover_preImage.length] = oversrc;
                                }
                                break;
                        default:
                                if(oversrc){
                                        objts.onmouseover = new Function("this.src='"+oversrc+"'");
                                        objts.onmouseout = new Function("this.src='"+objts.src+"'");
                                        K_rollover_preImage[K_rollover_preImage.length] = oversrc;
                                }
                }
        }
        K_preload();
}
function K_preload(){
        var i, len = K_rollover_preImage.length;
        var image_object = new Image;

        for(i = 0; i < len; i++) image_object.src = K_rollover_preImage[i];
}

window.onload = K_rollover;


// 게시물 테이블 마우스오버
function mouseOnTD(seq, bool)
{
	var oTD = eval("document.all.listK" + seq);
	var len = oTD.length;
	var borderStyle = "1 solid slategray";
	
	if (bool){
		for(var i =0; i < len ; i++){
			oTD[i].style.borderTop = borderStyle;
			oTD[i].style.borderBottom = borderStyle;
		}
		oTD[0].style.borderLeft = borderStyle;
		oTD[0].style.backgroundColor = "#b6c9d9";
		oTD[len-1].style.borderRight = borderStyle;
	}else{
		for(var i =0; i < len; i++){
			oTD[i].style.border = "";
		}
		oTD[0].style.backgroundColor = "";
	}
}

// 해당 폼 글자 제한
function enforcechar(what,limit){
if (what.value.length>=limit)
	return false
}


// 팝업창 띄우기 함수
function open_window(w_title,w_width,w_height,scroll_yes,link_file,wint,winl){
	var openPop = null;	
	
    var winl = (screen.width - w_width) / 2;
    var wint = (screen.height - w_height) / 2 - 20;
    wp = 'height='+w_height+',width='+w_width+',top='+wint+',left='+winl+',scrollbars='+scroll_yes+',resizable=no'
    openPop = window.open(link_file, w_title, wp);
	if(parseInt(navigator.appVersion) >= 4) openPop.window.focus();
}

// 폼 입력시 validate 체크
var Alpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var Digit = '1234567890';
var TelDigit = '-1234567890';
var Mail = "@.-_";
function Tcheck(target, cmt, astr, lmin, lmax){
	var i
	reverse_word(target);
	var t = target.value
		
	if (t.length < lmin || t.length > lmax) {
		if (lmin == lmax) alert(cmt + '은(는) ' + lmin + ' 자 이어야 합니다')
		else alert(cmt + '은(는) ' + lmin + ' ~ ' + lmax + ' 자 이내로 입력하셔야 합니다')
		target.focus()
		return true
	}
	if (astr.length > 1) {
			for (i=0; i < t.length; i++){
				if(astr.indexOf(t.substring(i,i+1))<0) {
					alert(cmt + '에 허용할 수 없는 문자가 입력되었습니다')
					target.focus()
					return true
				}
			}
	}
	return false
}


//폼 입력 글자수 체크
function h_stringlength(string) { 
	var char_cnt = 0; 
	for (var i = 0; i < string.length; i++) { 
	   		var chr = string.substr(i,1); 
	   		chr = escape(chr); 
	   		key_eg = chr.charAt(1); 
	   		// key_eg 가 u 이면 한글 , 공백이면 영문 , 숫자면 특수문자 
	   		switch (key_eg) { 
	   				 case "u": 
	   							key_num = chr.substr(2,(chr.length - 1)); 
	   							if ((key_num < "AC00") || (key_num > "D7A3")) { 
	   									 char_cnt = char_cnt + 2; 
	   									 }
	   							else { 
	   									 char_cnt = char_cnt + 2; 
	   									 }
	   							break;
	   				 case "B":
	   							char_cnt = char_cnt + 2; 
	   							break;
	   				 case "A":
	   							alert("잘못된 입력입니다"); 
	   							return false;
	   							break; 
	   				 default: 
	   							char_cnt = char_cnt + 1; 
	   				 } 
	   		} 
	   		return char_cnt;
	} 
function Check(keyword) 
{
	var st_num, key_len;
	st_num = keyword.indexOf(" ");	
	while (st_num != -1)
	{
		keyword = keyword.replace(" ", "");
		st_num	= keyword.indexOf(" ");
	}
	key_len=keyword.length;
	return key_len;
}

function bluring(){ 
if(event.srcElement.tagName=="A"||event.srcElement.tagName=="IMG") document.body.focus(); 
} 
document.onfocusin=bluring; 

//날짜 입력시 제대로 입력 됐는지 확인
function chkDate(obj) {
  var input = obj.value.replace(/-/g,"");
  var inputYear = input.substr(0,4);
  var inputMonth = input.substr(4,2) - 1;
  var inputDate = input.substr(6,2);
  var resultDate = new Date(inputYear, inputMonth, inputDate);
  if ( resultDate.getFullYear() != inputYear ||
       resultDate.getMonth() != inputMonth ||
       resultDate.getDate() != inputDate) {
    obj.focus();
    obj.value = "";
    alert("올바른 날짜를 입력해 주세요.\n예) 2005-01-01 또는 20050101");
    return false
  } else {
    obj.value = inputYear + "-" + input.substr(4,2) + "-" + inputDate;
  }
}

/**
 * 좌우 공백 제거
 */
String.prototype.trim = function()
{
 return this.replace(/(^\s*)|(\s*$)/g, "");
}
function reverse_word(theForm){
	theForm.value = theForm.value.trim();
}

//이미지 파일 첨부시 확장자 체크
var img_upload_ok = "ok";
function CkImageVal() {
 var oInput = event.srcElement;
 var fname = oInput.value;
 if((/(.jpg|.jpeg|.gif)$/i).test(fname)){
  oInput.parentElement.children[0].src = fname;
  img_upload_ok = "ok";
  }
 else{
  alert('이미지 파일 첨부는 그림파일(gif, jpg)만 가능합니다.');
  oInput.outerHTML = oInput.outerHTML;
  img_upload_ok = "ok";
  
  }
}

//문서 파일 첨부시 확장자 체크
var doc_upload_ok = "ok";
function CkDocVal() {
 var oInput = event.srcElement;
 var fname = oInput.value;
 if((/(.xls|.doc|.ppt|.hwp|.txt|.csv)$/i).test(fname)){
  oInput.parentElement.children[0].src = fname;
  doc_upload_ok = "ok";
  }
 else{
  alert('이미지 파일 첨부는 그림파일(gif, jpg)만 가능합니다.');
  oInput.outerHTML = oInput.outerHTML;
  doc_upload_ok = "ok";
  
  }
}

//html, jsp 등 서버 실행파일 확장자 체크
var jsp_upload_ok = "ok";
function CkJSPVal() {
 var oInput = event.srcElement;
 var fname = oInput.value;
 if((/(.jsp|.jspl|.jsp)$/i).test(fname)){
  alert('서버 실행파일(JSP, HTML)은 업로드 할 수 없습니다.');
  oInput.outerHTML = oInput.outerHTML;
  jsp_upload_ok = "ok";
  }
 else{
  oInput.parentElement.children[0].src = fname;
  jsp_upload_ok = "ok";
  }
}

//숫자만 입력받기
function NumObj(obj){

if (event.keyCode >= 48 && event.keyCode <= 57) { //숫자키만 입력

return true;

} else {

event.returnValue = false;

}

}


function FlashView(url, width, height) {
	document.writeln ("<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='" + width + "' height='" + height + "'>");
	document.writeln ("<param name='movie' value='" + url + "'>");
	document.writeln ("<param name=quality value=high>");
	document.writeln ("<param name=menu value=false>");
	document.writeln ("<param name=wmode value=transparent>");
	document.writeln ("<embed src=''" + url + "' quality=high pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width='" + width + "' height='" + height + "' menu='false'></embed>");
	document.writeln ("</object>");
}


function chk_textarea(name,min_l,max_l,the_form,ess){
	reverse_word(the_form);
	str = h_stringlength(the_form.value);
	
	// 필수 입력 항목 체크
	if (the_form.value == ""){
		if (ess){
			alert(name+' 은(는) 필수 입력 항목입니다');
			the_form.focus();
			return true
		}
	}

	if (min_l > 0){
		if (str < min_l || str > max_l){
			alert(name+'은(는) '+min_l+'Byte 이상 '+max_l+'Byte 이내입니다\n현재 '+str+'Byte를 입력하셨습니다.\n- (1글자당 영문 1 Byte, 한글 2Byte)');
			the_form.focus();
			return true
		}else{
			return false
		}
	}else{
		if (str > max_l){
			alert(name+'은(는) '+max_l+'Byte 이내입니다\n현재 '+str+'Byte를 입력하셨습니다.\n- (1글자당 영문 1 Byte, 한글 2Byte)');
			the_form.focus();
			return true
		}else{
			return false
		}
	}
}

//내용 프린트
	function contentPrint() {
		var windowLeft = (screen.width-640)/2;
        var windowTop = (screen.height-480)/2;

		var printURL = "../_include/file_print.jsp";
				
        window.open(printURL,'','width=730,height=650,menubar=no,scrollbars=1,status=no,resizable=yes,top=' + windowTop + ',left=' + windowLeft + '');
	}
