//롤오브 함수
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_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_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_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments, z;
  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; 
			//z=(v=='show')?'':(v='hide')?'none':''; 
		}
		obj.visibility=v;

		if(v=='visible'){
		obj.display="";
		}else{
		obj.display="none";
		}
	}
}


//▣########## 쿠키 찾기 ##########▣
function getCookie(name)
{
	var Found = false
	var start, end
	var i = 0
	while(i <= document.cookie.length) {
	start = i
		end = start + name.length
		if(document.cookie.substring(start, end) == name) {
			Found = true
				break
			}
			i++
		}
		if(Found == true) {
			start = end + 1
			end = document.cookie.indexOf(";", start)
			if(end < start)
				end = document.cookie.length
			return document.cookie.substring(start, end)
		}
		return ""
 }

//▣########## 한글일 경우 길이 체크 ##########▣
function checkLegth(str) 
{
	var temp;
	var len;
	var length = 0;
	len = str.length;
	for(k=0;k<len;k++){
		temp = str.charAt(k);
		if (escape(temp).length > 4){ // 한글일 경우
			length = length + 2;
		}else{ // 영문 혹은 특문일떄
			length = length + 1;
		}
	}
	return length;
}

//▣########## 날짜를 문자열로 변환 ##########▣
function date2str( datee, len ) {
	var str = lpad(datee.getFullYear(),4,"0") + lpad(datee.getMonth()+1,2,"0") + lpad(datee.getDate(),2,"0") + lpad(datee.getHours(),2,"0") + lpad(datee.getMinutes(),2,"0") + lpad(datee.getSeconds(),2,"0") ;
	
	return str.substring(0,len);
}

//▣########## 양쪽 공백 제거 함수 ##########▣
function trim(str) {
	var retstr = "";
	var ch;
	var lenstr = str.length;
	
	//문자열 앞부분의 공백 수를 센다.
	var precnt = 0;
	for ( var i=0; i<lenstr; i++ ) {
		ch = str.charAt(i);
		if ( ch == ' ' || ch == '\n' || ch == '\r' ) {
			precnt++;
		}
		else {
			break;
		}
	}
	//문자열 뒷부분의 공백 수를 센다.
	var postcnt = 0;
	for ( var i=lenstr-1; i>0; i-- ) {
		ch = str.charAt(i);
		if ( ch == ' ' || ch == '\n' || ch == '\r' ) {
			postcnt++;
		}
		else {
			break;
		}
	}
	return str.substring(precnt,lenstr-postcnt);
}

//▣########## 문자열이 원하는 길이가 안 될때 왼쪽에 문자를 해당길이만큼 끼워넣는 함수. ##########▣
function lpad(str,n,ch) {
	str = String(str);
	var result = "";
	var len = str.length;
	if ( len < n ) {
		for ( var i=0; i<(n-len); i++ ) {
			result += ch;
		}
		result += str;
	}
	else {
		result = str;
	}
	return result;
}
//▣########## 폼에서 숫자만 입력하도록 한다. ##########▣
function isnumber(value) {
	if ( isNaN(value) || value == "" ) {
		return false;
	}
	return true;
}

//▣########## 체크박스에서 체크된 수를 계산한다.  ##########▣
//form: form object
//elementname: form element name
function countChecked(form,elementname) {
	var count = 0;
	for ( var i=0; i<form.elements.length; i++ ) {
		if ( form.elements[i].name == elementname && form.elements[i].checked ) {
			count++;
		}
	}
	return count;
}

//▣########## 정규화를 이용한 폼 체크  ##########▣
function regform(f)
{
    var j = f.elements.length
    var i;
    var re;
    var args;
    var result;
    for (i=0; i<j; i++)
    {
        if (typeof(f.elements[i].tag) == "undefined") continue;

        args = f.elements[i].tag.split("||", 3);
        if (args[0]=='C') 
        {
            result = eval(args[1]+"(f.elements[i], f.elements[i].value);");
        }
        else if ((args[0]=='M') || 
            ((args[0]=='O')&& (f.elements[i].value.length>0)))
        {
            re = new RegExp(args[1], "i");
            result = re.test(f.elements[i].value);
        }

        if (result == false)
        {
            f.elements[i].focus();
            alert(args[2]);
            return false;
        }
    }
    return true;
}

//▣########## period는 일 단위 ##########▣
function applyPeriod(stdt,endt,stdt_display,endt_display,period)
{
	var curdate = new Date();
	var curtime = curdate.getTime();	/*밀리초 단위*/
	
	var stime = ( curtime - period*24*3600*1000 );
	var sdate = new Date();
	sdate.setTime(stime);
	var edate = curdate;
	
	stdt.value = sdate.getFullYear() + lpad((sdate.getMonth()+1),2,'0') + lpad(sdate.getDate(),2,'0');
	stdt_display.value = sdate.getFullYear() + "-" + lpad((sdate.getMonth()+1),2,'0') + "-" + lpad(sdate.getDate(),2,'0');
	endt.value = edate.getFullYear() + lpad((edate.getMonth()+1),2,'0') + lpad(edate.getDate(),2,'0');
	endt_display.value = edate.getFullYear() + "-" + lpad((edate.getMonth()+1),2,'0') + "-" + lpad(edate.getDate(),2,'0');
}

//▣##########  문자열안의 특정 문자를 지정한 문자로 전부 바꾼다. ##########▣
function replaceText(str, char1, char2)	{
	var ii, newstr;

	newstr = "";
	if (fit_size(str) < 1) { return ""; }

	for(ii=0; ii<str.length; ii++)
	{
		if(str.charAt(ii) == char1){
			newstr = newstr + char2;
		} else {
			newstr = newstr + str.charAt(ii);
		}	
	}
	return newstr;
}

//▣##########  금액을 ,(콤마)로 천원단위로 구분 표시 ##########▣
function setCurrency(obj)
{
	var str = obj.value;

	str = str.toString().replace(/\$|\,/g,'');
	if(isNaN(str)) Str = "0";

	cents = Math.floor((str*100+0.5)%100);
	str = Math.floor((str*100+0.5)/100).toString();

	if(cents < 10) cents = "0" + cents;

	for (var i = 0; i < Math.floor((str.length-(1+i))/3); i++)
		str = str.substring(0,str.length-(4*i+3))+','+str.substring(str.length-(4*i+3));

	obj.value = str;
	//return (str);
}

//▣##########  숫자구분자 ,(콤마)를 제거하는 함수 ##########▣
function setUnCurrency(obj)
{
	var str = obj.value;
		str=str.split(",");
 	    str=str.join("");
	    obj.value = eval(str);

}

//▣##########  월별 일계산 ##########▣
function checkday(type)
{
	var tday, year, nday;
	var selectindex;
	if (type == "s"){
		selectindex = document.search.smonth.selectedIndex;
		nday = document.search.sday.seelctedIndex;
	}else{
		selectindex = document.search.emonth.selectedIndex;
		nday = document.search.eday.seelctedIndex;	
	}

	tday = new Date();
	year = tday.getFullYear();
	nday = tday.getDate();

	switch (selectindex) {
		case 0: case 2: case 4: case 6: case 7: case 9: case 11:
			tday = 31;
			break;
		case 1:
			if (((year%4 == 0) && (year%100 != 0)) || (year%400 == 0))
				tday=29
			else
				tday=28
			break;
		default : tday = 30;
	}

	if (type == "s"){
		for(i = 0; i < search.sday.length; i++);
			search.sday.options[i] = null;

		search.sday.length = 0;

		for (i=0;i<tday;i++){
			if (nday == (i+1)){
				search.sday.options[i] = new Option(i+1, i+1, true, true);
			}
			else
				search.sday.options[i] = new Option(i+1, i+1, false, false);
		}
	}else{
		for(i = 0; i < search.eday.length; i++);
			search.eday.options[i] = null;

		search.eday.length = 0;

		for (i=0;i<tday;i++){
			if (nday == (i+1)){
				search.eday.options[i] = new Option(i+1, i+1, true, true);
			}
			else
				search.eday.options[i] = new Option(i+1, i+1, false, false);
		}
	}
}


function checkday1(type, form)
{
	var tday, year, nday;
	var selectindex;
	if (type == "s"){
		selectindex = form.smonth.selectedIndex;
		nday = form.sday.seelctedIndex;
	}else{
		selectindex = form.emonth.selectedIndex;
		nday = form.eday.seelctedIndex;	
	}

	tday = new Date();
	year = tday.getFullYear();
	nday = tday.getDate();

	switch (selectindex) {
		case 0: case 2: case 4: case 6: case 7: case 9: case 11:
			tday = 31;
			break;
		case 1:
			if (((year%4 == 0) && (year%100 != 0)) || (year%400 == 0))
				tday=29
			else
				tday=28
			break;
		default : tday = 30;
	}

	if (type == "s"){
		for(i = 0; i < form.sday.length; i++);
			form.sday.options[i] = null;

		form.sday.length = 0;

		for (i=0;i<tday;i++){
			if (nday == (i+1)){
				form.sday.options[i] = new Option(i+1, i+1, true, true);
			}
			else
				form.sday.options[i] = new Option(i+1, i+1, false, false);
		}
	}else{
		for(i = 0; i < form.eday.length; i++);
			form.eday.options[i] = null;

		form.eday.length = 0;

		for (i=0;i<tday;i++){
			if (nday == (i+1)){
				form.eday.options[i] = new Option(i+1, i+1, true, true);
			}
			else
				form.eday.options[i] = new Option(i+1, i+1, false, false);
		}
	}
}
function test(day)
{
	var date;
	var y, m, d;
	y = search.eyear[search.eyear.selectedIndex].value;
	m = search.emonth[search.emonth.selectedIndex].value;
	d = search.eday[search.eday.selectedIndex].value;
	
	date = new Date();
	date.setDate(date.getDate() - day)
	m = date.getMonth();
	d = date.getDate();

	search.smonth.options[m+1] = Option(m+1, m+1, true, true);
	search.sday.options[d-1] = Option(d, d, true, true);
}

