/*
###########################################################################
# 프로그램ID : 
# 프로그램명 : 삼성카메라 사이트(국문/GLOBAL/관리자/파트너) 공통스크립트
# 개발자 : 인피리츠 최주현 팀장
# 설명 : 전체사이트 공통사용 스크립트 함수
# 2005/05/31 최주현 최초작성
# 변경이력 : 날짜/개발자/변경내용
###########################################################################
*/

var	_upperValue = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var	_lowerValue = 'abcdefghijklmnopqrstuvwxyz';
var	_etcValue   = ' ~`!@#$%%^&*()-_=+\|[{]};:\'\",<.>/?';
var	_phoneValue = '0123456789-';
var	_enterValue = '\r\n';

// 한 글자가 영문 대문자인가?
function IsUpper(value) {
  var   i;
  for(i=0;i<_upperValue.length;i++) {
    if(value == _upperValue.charAt(i)) {
      return true;
    }
  }
  return false;
}
// 한 글자가 영문 소문자인가?
function IsLower(value) {
  var   i;
  for(i=0;i<_lowerValue.length;i++) {
    if(value == _lowerValue.charAt(i)) {
      return true;
    }
  }
  return false;
}

function textAutoTab(currElm,nextElm,n){
//	OnKeyUp=textAutoTab("현재elm명", "옮겨갈 elm명", "글자수")
  thisValue = document.all(currElm).value;
  nextControl = document.all(nextElm);
  if(thisValue.length==parseInt(n)){
    nextControl.focus();
  }
}

// 메일체크
function fcheck_usr_email(v) {
	invalidchars = " /:,;"
	if(!v) {
		return "E-Mail이 입력되지 않았습니다.";
	}
	for(i = 0 ; i < invalidchars.length ; i++) {
		badchar = invalidchars.charAt(i)
		if(v.indexOf(badchar,0) > -1) {
			return "E-Mail에 사용할 수 없는 문자가 입력되었습니다.[" + badchar +"]"; 
		}
	}
	atpos = v.indexOf("@",1)
	if(atpos == -1) {
		return "E-Mail에 '@'가 존재하지 않습니다."; 
	}
	if(v.indexOf("@",atpos+1) > -1) {
		return "E-Mail에 2개 이상의 '@'가 존재합니다."; 
	}
	periodpos = v.indexOf(".",atpos)
	if(periodpos == -1) {
		return "E-Mail에 메일서버명이 존재하지 않습니다."; 
	}
	if(periodpos + 3 > v.length) {
		return "E-Mail의 메일서버명은 최소 2자리 이상입니다."; 
	}
	// email를 소문자로 전환하여 비교한다.
	//usr_email = v.toLowerCase()
	//atpos = usr_email.indexOf("hanmail.net",1) + usr_email.indexOf("daum.net",1)
	//if(atpos != -2) {
	//	alert()
	//	return "E-mail 주소에 한메일(hanmail.net/daum.net) 계정은 입력이 불가합니다.";
	//}
	return "";
}

// 주민반호 체크
function fcheck_usr_jumin(s1,s2) {
	if(s1.length != 6) {
		return "주민번호 앞자리가 6자리가 아닙니다.";
	}
	if(s2.length != 7) {
		return "주민번호 뒷자리가 7자리가 아닙니다.";
	}
	usr_jumin = s1 + s2
	/*
	for( i=0 ; i < 6 ; i++) usr_jumin[i] = s1.charAt(i)
	for( i=0 ; i < 7 ; i++) usr_jumin[6+i] = s2.charAt(i)
	*/
	temp = new Array(13)
	for( i=0 ; i < usr_jumin.length ; i++ ){
		//alert(usr_jumin)
		if(usr_jumin.charAt(i) < "0" || usr_jumin.charAt(i) > "9") {
			return "주민번호는 숫자만 입력가능합니다.[" + usr_jumin.charAt(i) + "]";
		}
	}
	total = 0
	for(i=0 ; i <=11 ; i++) {
		k = i + 2
		if(k >= 10) k = k%10 + 2
		total = total + usr_jumin.charAt(i)*k
	}
	mm = usr_jumin.charAt(2) + usr_jumin.charAt(3)
	dd = usr_jumin.charAt(4) + usr_jumin.charAt(5)
	if(mm > 13) {
		return "주민번호에 월이 잘못되었습다.";
	}
	if(dd > 32) {
		return "주민번호에 일자가 잘못되었습다.";
	}

	if(usr_jumin.charAt(6) < "0" && usr_jumin.charAt(6) > "9") {
		return "주민번호에 성별구분이 잘못되었습다.";
	}

	totalmod = total%11
	chd = (11 - totalmod) % 10
	if(usr_jumin.charAt(6) > "0" && usr_jumin.charAt(6) < "5") {
		if(chd != usr_jumin.charAt(12)) {
			return "주민번호생성 규칙 check에 실패하였습니다.";
		}
	}
	return "";
}

// 아이디 유효성 검사
function fcheck_usr_uid(v) {
	if(!v) {
		return "아이디를 입력하십시오.";
	}
// 허용불가 아이디 삽입
	if(v.length < 4 || v.lenght > 10 ) {
		return "아이디는 4자이상 10자 이하로 입력하십시오.";
	}
	for(i=0 ; i < v.length ; i++) {
		pass1_ok = false;
		pass2_ok = false;
		pass3_ok = false;
		if(v.charAt(i) >= "0" && v.charAt(i) <= "9") {
			pass1_ok = true
		}
		if(v.charAt(i) >= "A" && v.charAt(i) <= "Z") {
			pass2_ok = true
		}
		if(v.charAt(i) >= "a" && v.charAt(i) <= "z") {
			pass3_ok = true
		}
		if(pass1_ok == false && pass2_ok == false && pass3_ok == false) {
			return "아이디는 영문자, 숫자만 가능합니다.";
		}
	}
	return "";
}

// 비번유효성검사
function fcheck_usr_pwd(v) {
	var oldPwd;
	var alphaCnt;
	var intCnt;
	var dupCnt;
	var i;

	oldPwd = "";
	alphaCnt = 0;
	intCnt = 0;
	dupCnt = 1;

	var form_value = CheckStr(v, " ", "");
	var form_value1 = CheckStr(v, "　", "");
	if (form_value == 0 || form_value1 == 0) {
		return "비밀번호가 입력되지 않았습니다"; // 비번입력
	}
	for(i=0 ; i < v.length ; i++) {
		if(v.charAt(i) < "!" && v.charAt(i) > "~") {
			return "비밀번호에 허용하지 않는 문자가 입력되었습니다.[" + v.charAt(i) + "]"; // 허용하지 않는 문자
		}
	}
//	for(i = 0; i < v.length; i++) {
//		if(IsUpper(v.charAt(i)) || IsLower(v.charAt(i)))
//			alphaCnt++;
//		if(IsInt(v.charAt(i)))
//			intCnt++;
//	}
////	if(intCnt == 0 || alphaCnt == 0) {
////		return "비밀번호는 영문,숫자 혼용입니다.";
////	} 
//	for(i = 0; i < v.length; i++) {
//		if(v.charAt(i) == oldPwd) {
//			dupCnt++;
//			if(dupCnt >= 4) {
//				return "비밀번호는 같은 영문 또는 숫자를 4회이상 사용할 수 없습니다.";
//			}
//		} else {
//			dupCnt=1;
//		}
//		oldPwd = v.charAt(i);
//	}
	return "";
}

// 날짜리셋
function fj_dtreset(f) {
	f.f_date.value="";
	f.t_date.value="";
}

// 파일다운로드
function filedownload(theURL) { //v2.0
	window.open(theURL,'down','top=0,left=0,width=445,height=445,scrollbars=0,resizable=0');
}

function f_pagingmove(page) {
	var f = document.paging;
	f.page.value = page;
	f.submit();
}

/* 날자선택 함수 */  
function f_select_date(f, field) {			//달력 호출 함수
	window.open("/library/select_date.asp?object="+field,"select_data","width=200,height=200,resizable=no");
}

/* 이미지 미리보기 VIEW */  
function f_img_view(f_field_name,f_img_name) {
		f_img_name.src = f_field_name.value;
		f_img_name.style.visibility = "visible";
}

function CheckStr(strOriginal, strFind, strChange){
   var position, strOri_Length;
   position = strOriginal.indexOf(strFind);
   while (position != -1) {
      strOriginal = strOriginal.replace(strFind, strChange);
      position = strOriginal.indexOf(strFind);
   }
   strOri_Length = strOriginal.length;
   return strOri_Length;
}


/* window.open */
function MM_openBrWindow(theURL,winName,features) { //v2.0
	window.open(theURL,winName,features);
}

/* 롤오버 관련 함수 */
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_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_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;
}


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_showHideLayers() { //v6.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 doallcheck(field_name) {
	if (field_name == undefined) {
		field_name = 'diselect';
	}
	var frm = document.db_job;
	if(frm.allcheck.checked == true) {
		frm.allcheck.checked == true;
		checkall('db_job',field_name,true);
	} else {
		frm.allcheck.checked == false;
		checkall('db_job',field_name,false);
	}
}

/* 데이터 일괄 처리 관련 전체 체크 함수 실행 */
function checkall(formname,checkname,thestate){
	var el_collection=eval("document.forms."+formname+"."+checkname)
	if(el_collection != null) {
		if(el_collection.length) {
			for (c=0;c<el_collection.length;c++)
				el_collection[c].checked=thestate
		} else {
			el_collection.checked=thestate;
		}
	}
}

/* 데이터 일괄 처리 관련 체크 데이타 삭제 */
function check_data_delete(f) {
	var checknum = f.checkid.length;
	if(checknum) {
		for(var i=0; i<checknum; i++) {
			var checkobj = eval("f.checkid["+i+"]");
			if(checkobj.checked == true) {
				break;
			}
		}
		if(i == checknum) {
			alert('삭제할 데이터를 선택하십시오.');
			return false;
		}
	} else {
		if(f.checkid.checked == false) {
			alert('삭제할 데이터를 선택하십시오.');
			return false;
		}
	}
	if(confirm("선택된 데이터 삭제합니까?\n\n삭제 후 데이터 복구 불가능합니다.")==true) {
		f.submit();
		return true;
	}
}

/* 데이터 일괄 처리 관련 체크 데이타 수정 */
function check_data_up(f,db_job) {
	var checknum = f.elements.length;
	for(var i=0; i<checknum; i++) {
		var checkobj = eval("f.elements["+i+"]");
		if(checkobj.checked == true) {
			break;
		}
	}
	var str = "";
	if(db_job == "Y") {
		str = "OPEN";
	} else if(db_job == "N") {
		str = "CLOSE";
	} else {
		str = "순서조정";
	}
	if(i == checknum) {
		alert(str+' 할 데이터를 선택하십시오.');
		return false;
	} else {
	   if(confirm("선택된 데이터를 "+str+" 합니까?")==true) {
			f.db_job.value = db_job;
			f.submit();
			return true;
		}
	}
}

/* 페이지 이동 */
function go_page_move(httpd) {
	location.href = httpd;
}

/* 영문,숫자조합여부 체크 */
function char_check(fstr,str) {
	var k = 0;
	for(k = 0; k < str.length; k++) {
	   if (('0'<=str.charAt(k) && '9'>=str.charAt(k)) || ('A'<=str.charAt(k) && 'Z'>= str.charAt(k)) || ('a'<=str.charAt(k) && 'z'>=str.charAt(k))) { 
	      ;
	   } else  {
	      alert(fstr+ " 는(은) 영문,숫자만 입력 가능합니다..");
	      return "1";
	   }  
	}
}

/* 숫자체크 */
function number_check(fstr,str) {
	var k = 0;
	for(k = 0; k < str.length; k++) {
	   if (('0'<=str.charAt(k) && '9'>=str.charAt(k))) { 
	      ;
	   } else  {
	      alert(fstr+ "은(는) 숫자 이어야합니다.");
	      return "1";
	   }  
	}
}

// select 상자
function selectBox(startNum, endNum, nowNum) {
	var boxSet = new Array();
	for(var k=startNum; k<=endNum; k++) {
		Sel = (nowNum && nowNum == k) ? ' selected' : '';
		boxSet[k] = '<option value="' + k + '"' + Sel + '>' + k + '</option>';
	}
	document.write(boxSet.join());
	return;
}

// 일자 셋팅
function setDay(obj) {
	// find form
	Fm = obj;
	while(Fm.tagName != "FORM") {
		Fm = Fm.parentElement;
		/////////////// 테스트해보길 getElementsByTagName
		// IE 이외는 tagName 을 인식못함
		if(Fm == null) {
			FsLen = document.forms.length;
			for(var i=0; i<FsLen; i++)
			{
				Fm = document.forms[i];
				FLen = Fm.length;
				for(k=0; k<FLen; k++)
				{
					El = Fm.elements[k];
					if(obj.name == El.name) {
						FsLen = 0;
						break;
					}
				}
			}
			break;
		}
	}

	if(typeof(Fm) != "object") return;
	var nameHead = obj.name.substr(0, obj.name.lastIndexOf("_"));
	yearObj = Fm[nameHead + "_year"];
	monthObj = Fm[nameHead + "_month"];
	dayObj = Fm[nameHead + "_day"];

	// 날짜 select 없으면 끝
	if(typeof(dayObj) != "object") return;

	var preValue = "";
	if(dayObj.length) preValue = dayObj.options[dayObj.selectedIndex].value;

	TM = new Date(yearObj.options[yearObj.selectedIndex].value, monthObj.options[monthObj.selectedIndex].value, 1);
	RTM = TM - 86400000;
	TM = new Date(RTM);
	var dateCnt = TM.getDate();
	for(var i=0; i<dayObj.length; i++) {
		dayObj.options[0] = null;
	}

	var opSel = false;
	for(var i=0; i<=dateCnt; i++) {
		//if(preValue) opSel = (preValue == i+1) ? true : false;
		//dayObj.options[i] = new Option(i+1, i+1, false, opSel);

		dayTxt = i ? i : "--";
		dayVal = i ? i : -1;
		if(preValue) opSel = (preValue == i) ? true : false;
		dayObj.options[i] = new Option(dayTxt, dayVal, false, opSel);
	}
	return;
}


/* * * * * * * * * * * * *
 input 이미지타입 border 없애기
 * * * * * * * * * * * * */

function inputType_noBorder()
{
	// border 없앨 type
	var notBorderType = ['checkbox', 'radio', 'image'];

	inputObj = document.body.all.tags("INPUT");
	inputLen = inputObj.length;
	for(i=0; i<inputLen; i++)
	{
		notBorderTypeCnt = notBorderType.length;
		for(j=0; j<notBorderTypeCnt; j++)
		{
			if(inputObj[i].type != notBorderType[j]) continue;
			inputObj[i].style.border = 0;
		}
	}
}

// 실행
//window.onload = inputType_noBorder;
// /inc/bottom.asp 사용
/* ##### Active X Control 패치대비 플래시, 미디어플레이어 함수 ######## */
// 플래시 함수
function flash(w,h,u,t) {
	document.write("<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='"+w+"' height='"+h+"'><param name='movie' value='"+u+"'><param name='quality' value='high'>");
	if(t=="y"){
		document.write("<param name='wmode' value='transparent'>");
	}
	document.write("<embed src='"+u+"' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='"+w+"' height='"+h+"'></embed></object>");	
}
function flash_add(w,h,u,t,nm,vr) {
	document.write("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' id='"+nm+"' name='"+nm+"' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0' width='"+w+"' height='"+h+"'><param name='movie' value='"+u+"'><param name='quality' value='high'>");
	if(t=="y"){
		document.write("<param name='wmode' value='transparent'>");
	}
	if(vr) {
		document.write("<param name='FlashVars' value='"+vr+"'>");
	}
	document.write("<embed src='"+u+"' id='"+nm+"' name='"+nm+"' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='"+w+"' height='"+h+"'></embed></object>");	
}

function selectlink(v) {
	var tmp = v.split("|");
	if(tmp[1]) {
		publish.location.href = tmp[1];
	}
	if(tmp[0]) {
		//document.publishdiv.write = tmp[0];
	}
}


//팝업
function popup(){ 
url = "/common/popup.htm" ; 
window.open(url,'','toolbar=no,menubar=no,location=no,directions=no, scrollbars=yes,status=yes,width=700,height=570'); 
} 

function popup02(){ 
url = "/common/popup02.htm" ; 
window.open(url,'','toolbar=no,menubar=no,location=no,directions=no, scrollbars=yes,status=yes,width=658,height=500'); 
} 



//다음리스트보기
function f_page(page) {
	var f = document.pageing;
	f.page.value = page;
	f.submit();
}

