/* header javascript */

//// 브라우져에 따른 레이어 받기
function getlayer(name)
{
	if(document.layers){ // NN
	    pop=document.layers[name];
		pop_br=1;
	}
	else if(document.all){ // IE
	    pop=document.all[name];
		pop_br=2;
	} else { // Standard
	    pop=document.getElementById(name);
		pop_br=3;
	}
} // END function

/* 이미지 미리보기 함수. img 태그의 id 는 기본이름넘버 형식으로 하고( 기본이름이 a고 1번이면 a1)
   preview(기본이름,넘버,URL) 형식으로 onchange 이벤트에 넣어주면 된다 */
function preview(tablename,no,im)
{
	if(im.match(RegExp("(jpg|gif|bmp|png|jpeg)$","i"))){
		getlayer("preview"+no);
		pop.src=im;
		if(im){
			if(pop.height>50 || pop.height==0) pop.height=50;
			toggle_layer("preview"+no,"show");
		} else {
			toggle_layer("preview"+no,"hidden");
		}
	}
	else {
		getlayer("preview"+no);
		pop.src='';
		toggle_layer("preview"+no,"hidden");
	}
} // END function

/*
memo : 쪽지메인
wmemo : 쪽지쓰기 (target_no,0,0,0)
rmemo : 쪽지읽기 (memo_no,0,0,0)
member : 회원정보보기(member_no,0,0,0)
mail : 메일보내기 (board_id,article_no,mailcheck1,mailcheck2)
mail_member : 메일보내기 (member_no,mailcheck1,mailcheck2,0)
mailer : 폼메일보내기 (board_id,article_no,mailcheck1,mailcheck2)
now_log : 현재접속자
avatar : 아바타창 (site,0,0,0)
find : 아이디/패스찾기
cmt : 코멘트따로보기 (article_no,board_id,0,0)
cmt_modify : 코멘트수정창 (board_id,article_no,0,0)
point : 포인트랭킹
present : 포인트선물 (member_no,0,0,0)
status : 로그인 상태 바꿈
filebox : 파일박스 (member_no,url,0,0)
scrap : 갈무리하기 (id,no,0,0)
scrap_win : 갈무리보기 (id,0,0,0)
print : 프린트화면 (id,no,reg_date,0);
*/
function open_win(mode,v1,v2,v3,v4)
{
	var win_open = '';
	try { config_dir2 }catch(e){ config_dir2=''; }
	if(!config_dir2){ config_dir2=''; }
	switch(mode)
	{
		case "memo" : win_open=window.open(config_dir2+'addon/memo/index.php','memo','location=no,directories=no,resizable=no,status=no,toolbar=no,menubar=no,width=450,height=430,scrollbars=auto'); break;
		case "wmemo" : win_open=window.open(config_dir2+'addon/memo/index.php?start_page=write&url=closewin&target='+v1,'wmemo','location=no,directories=no,resizable=no,status=no,toolbar=no,menubar=no,width=450,height=430,scrollbars=auto'); break;
		case "rmemo" : win_open=window.open(config_dir2+'addon/memo/index.php?start_page=view&&url=closewin&no='+v1,'memo'+v1,'location=no,directories=no,resizable=no,status=no,toolbar=no,menubar=no,width=450,height=430,scrollbars=auto'); break;
		case "member" : win_open=window.open(config_dir2+'member.php?mode=view&no='+v1,'memberwin','width=453,height=450,scrollbars=2,resizable=no,status=no,toolbar=no,menubar=no,location=no,directories=no'); break;
		case "mail" : win_open=window.open(config_dir2+'email.php?id='+v1+'&no='+v2+'&check1='+v3+'&check2='+v4,'email','width=1,height=1,top=1,left=1'); break;
		case "mail_member" : win_open=window.open(config_dir2+'email.php?mode=member&no='+v1+'&check1='+v2+'&check2='+v3,'email','width=300,height=70,top=100,left=100'); break;
		case "mail2" : win_open=window.open(config_dir2+'email.php?no='+v1+'&check1='+v2+'&check2='+v3,'email','width=1,height=1,top=1,left=1'); break;
		case "mailer" : win_open=window.open(config_dir2+'addon/mail/mail.php?id='+v1+'&no='+v2+'&check1='+v3+'&check2='+v4,'mail','width=379,height=450'); break;
		case "now_log" : win_open=window.open(config_dir2+'etc.php?mode=online','nowlogin','width=300,height=350,scrollbars=2,top=100,left=100'); break;
		case "avatar" : win_open=window.open(config_dir2+'addon/avatar/user_box.php?c=1&site='+v1,'avatarwindow','width=650,height=520,top=100,left=100,scrollbars=1'); break;
		case "find" : win_open=window.open(config_dir2+'etc.php?mode=find','find','width=270,height=170,top=100,left=100,scrollbars=0'); break;
		case "point" : win_open=window.open(config_dir2+'etc.php?mode=point','point','width=500,height=550,scrollbars=1,status=no,toolbar=no,menubar=no,location=no,directories=no'); break;
		case "present" : win_open=window.open(config_dir2+'etc.php?mode=present&no='+v1,'point_present','width=300,height=110,status=no,toolbar=no,menubar=no,location=no,directories=no'); break;
		case "status" : win_open=window.open(config_dir2+'etc.php?mode=status','status','width=300,height=110,status=no,toolbar=no,menubar=no,location=no,directories=no'); break;
		case "cmt" : win_open=window.open(config_dir2+'comment_view.php?id='+v2+'&no='+v1,'cmtview','width=630,height=550,resizable=1,scrollbars=2'); break;
		case "cmt_modify" : win_open=window.open(config_dir2+'comment_modify.php?id='+v1+'&no='+v2,'cmtmodify','width=600,height=400,resizable=1,location=no,directories=no'); break;
		case "filebox" : if(v2) win_open=window.open(v2,'filebox','width=630,height=550,scrollbars=auto'); else win_open=window.open(config_dir2+'filebox.php?no='+v1,'filebox','width=630,height=550,scrollbars=auto'); break;
		case "scrap" : if(v1 && v2){ if(!confirm("갈무리하시겠습니까?")) return false; }win_open=window.open(config_dir2+'etc.php?mode=scrap&id='+v1+'&no='+v2+'&link='+escape(document.location.href),'scrap','width=350,height=110,status=no,toolbar=no,menubar=no,location=no,directories=no'); break;
		case "scrap_win" : win_open=window.open(config_dir2+'scrap.php?mode=win&id='+v1,'scrap','width=500,height=400,scrollbars=2,status=no,toolbar=no,menubar=no,location=no,directories=no'); break;
		case "print" : win_open=window.open('view_print.php?id='+v1+'&no='+v2+'&date='+v3,'view_print','width=700,height=550,resizable=1,scrollbars=2'); break;
	}
} // END function

//// 레이어 토글
function toggle_layer(layer_name,mode)
{
	getlayer(layer_name);
	switch(pop_br){
		case 1 : 
			if(mode=='show' || (pop.display=='none' && !mode))
				pop.display='';
			else if(mode=='hidden' || (pop.display=='' && !mode))
				pop.display='none';			
			break;
		case 2 : 
		case 3 : 
			if(mode=='show' || (pop.style.display=='none' && !mode))
				pop.style.display='';
			else if(mode=='hidden' || (pop.style.display=='' && !mode))
				pop.style.display='none';			
			break;
	}
} // END function

//// 레이어 감추기
function hidden_layer(layers)
{
	getlayer(layers);
	switch(pop_br){
		case 1 : pop.value=''; pop.visibility='hidden'; break;
		case 2 : 
		case 3 : pop.innerHTML=''; pop.style.visibility='hidden'; break;
	}
} // END function

//// 멤버 클릭하면 나타나는 레이어를 감추거나 사라지게 한다
function view_layer(layers,event,member,email1,email2,homepage,memo,msn1,msn2,id,no,site,name)
{
	var insert='';
	tablestyle="<tr><td bgcolor=white align=center width=100 height=23 nowrap style='border-top:0;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#efefef;'>";
    if(member) insert=tablestyle+"<a href='#' onclick=\"open_win('member','"+member+"',0,0,0);hidden_layer('div_member');return false;\" class=no style='color:black;'>회원정보보기</a></td></tr>";
	if(email1 && email2) insert+=tablestyle+"<a href='#' onclick=\"open_win('mailer','"+id+"','"+no+"','"+email1+"','"+email2+"');hidden_layer('div_member');\" class=no style='color:black;'>메일보내기</a></td></tr>";
	if(homepage) insert+=tablestyle+"<a href="+homepage+" onclick=\"hidden_layer('div_member');\" target=_blank class=no style='color:black;'>홈페이지보기</a></td></tr>";
	if(member && memo) insert+=tablestyle+"<a href='#' onclick=\"open_win('wmemo','"+member+"',0,0,0);hidden_layer('div_member');return false;\" class=no style='color:black;'>쪽지보내기</a></td></tr>";
	if(member && memo) insert+=tablestyle+"<a href='#' onclick=\"open_win('present','"+member+"',0,0,0);hidden_layer('div_member');return false;\" class=no style='color:black;'>포인트선물</a></td></tr>";
	if(name) insert+=tablestyle+"<a href='#' onclick=\"location.href='mini.php?id="+id+"&s_m=1121&s_v="+name+"';hidden_layer('div_member');return false;\" class=no style='color:black;'>이름으로검색</a></td></tr>";

	if(insert) insert="<table bgcolor=white cellpadding=0 border=0 cellspacing=0 style='border-width:1px;border-style:solid;border-color:#48D1CC;'>"+insert+"<tr><td onclick='hidden_layer(\"div_member\");' bgcolor=gray align=right width=100 height=8 style='color:white;cursor:hand;'><b style='font-family:verdana;tahoma;font-size:7pt;'>X&nbsp;&nbsp;</b></td></tr></table>";
	
	getlayer(layers);
	switch(pop_br){
		case 1 : 
			if(pop.visibility=='hidden')
			{
				if(insert)
				{
					pop.document.write(insert);
					pop.style.left=event.pageX+10;
					pop.style.top=event.pageY+10;
					pop.visibility='visible';
				}
			}
			else
			{
				pop.value=''; pop.visibility='hidden';
			}
			break;
		case 2 : 
			if(pop.style.visibility=='hidden')
			{
				if(insert)
				{
					pop.innerHTML=insert;
					pop.style.left=document.body.scrollLeft+event.clientX+10;
					pop.style.top=document.body.scrollTop+event.clientY+10;
					pop.style.visibility='visible';
				}
			}
			else
			{
				pop.innerHTML=''; pop.style.visibility='hidden';
			}
			break;
		case 3 :
			if(pop.style.visibility=='hidden')
			{
				if(insert)
				{
					pop.innerHTML=insert;
					pop.style.left=event.pageX+10;
					pop.style.top=event.pageY+10;
					pop.style.visibility='visible';
				}
			}
			else
			{
				pop.innerHTML=''; pop.style.visibility='hidden';
			}
			break;
	}
	insert='';
} // END function

//// 체크박스 check
var checkb;
function checking()
{
	if(document.list) asd=document.list;
	else asd=document.forms[0];
	 if(asd)
	{
		 if(checkb)
		 {
			 for(i=0;i<asd.length;i++)
			 {
				 if(asd[i].type=='checkbox' && asd[i].checked==true)
				 {
					 asd[i].checked=false;
				 }
			 }
			 checkb='';
		 }
		 else
		 {
			 for(i=0;i<asd.length;i++)
			 {
				 if(asd[i].type=='checkbox' && asd[i].checked==false)
				 {
					 asd[i].checked=true;
				 }
			 }
			 checkb=1;
		 }
	}
}

////이메일체크
function check_email(input) {
	   email=input.value;
       var pattern = /^(.+)@(.+)$/;
       var atom = "\[^\\s\\(\\)<>#@,;:!\\\\\\\"\\.\\[\\]\]+";
       var word="(" + atom + "|(\"[^\"]*\"))";
       var user_pattern = new RegExp("^" + word + "(\\." + word + ")*$");
       var ip_pattern = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
       var domain_pattern = new RegExp("^" + atom + "(\\." + atom +")*$");

       var arr = email.match(pattern);
       if (!arr) return "올바른 이메일 형식이 아닙니다";
       if (!arr[1].match(user_pattern)) return "The username doesn't seem to be valid.";

       var ip = arr[2].match(ip_pattern);
       if (ip) {
              for (var i=1; i<5; i++) if (ip[i] > 255) return "올바른 이메일 IP 형식이 아닙니다";
       }
       else {
              if (!arr[2].match(domain_pattern)) return "올바른 이메일 형식이 아닙니다";
              var domain = arr[2].match(new RegExp(atom,"g"));
              if (domain.length<2) return "올바른 이메일 형식이 아닙니다";
              if (domain[domain.length-1].length<2 || domain[domain.length-1].length>3)
                     return "올바른 이메일 형식이 아닙니다 ";
       }
       return false; 
} 

////공백제거 
function Trim(string) { 
    for(;string.indexOf(" ")!= -1;){ 
        string=string.replace(" ","") 
    } 
    return string; 
} 

////입력검사 
function exists(input,types) { 
    if(types) if(!Trim(input.value)) return false; 
    return true; 
} 

////입력검사2
function exists2(input,msg) { 
	if(!Trim(input.value))
	{
		alert(msg);
		input.focus();
		return false;
	}
	else return true;
} 

////바이트검사 
function BYTE(input) { 
    var i, j=0; 
    for(i=0;i<input.length;i++) { 
        val=escape(input.charAt(i)).length; 
        if(val==  6) j++; 
        j++; 
    } 
    return j; 
} 

function selectcheck(as,values,de,mode) // select tag select
{
	if(mode=='modify'){ check=values; }else{ check=de; }
	for ( i = as.length-1 ; i > -1 ; i--) 
	{
		if(as.options[i].value.replace(/\'/g,'&#39;').replace(/\</g,'&lt;') == check)
		{
			as.options[i].selected = true;
		}
	}
}
function checkcheck(as,values,de,mode) // checkbox tag check
{
	if(mode=='modify'){ check=values; }else{ check=de; }
	if(as.value.replace(/\'/g,'&#39;').replace(/\</g,'&lt;') == check)
	{
		as.checked = true;
	}
}
function radiocheck(as,values,de,mode) // select tag select
{
	if(mode=='modify'){ check=values; }else{ check=de; }
	for ( i = as.length-1 ; i > -1 ; i--) 
	{
		if(as[i].value.replace(/\'/g,'&#39;').replace(/\</g,'&lt;') == check)
		{
			as[i].checked = true;
		}
	}
}