/*
-----------------------------------------------------------------------------------------
	Code : ysskki (2002-10-10)
	
	# History
 	1)  ysskki (2003/02/03) 
 		
-----------------------------------------------------------------------------------------	
*/

function isStringLen(obj, msg, limit)
{
	if (obj.value != "")
	{
		if (LenB(obj.value) > limit)
		{
			var exceedNum;
			exceedNum = eval(LenB(obj.value) - limit);
			alert("\"" + msg + "\" 의 문자열 길이가 " + exceedNum + "(byte) 초과 했습니다.");
			obj.value = sliceStr(obj.value, limit);
			obj.focus();
			return false;
		}
		//var nonValidString = "%@#$!^&*'<>|";
		var nonValidString = "";
		var checkchar;
	
		for(var i=0;i< obj.value.length;i++)
		{
			checkchar = obj.value.substr(i,1)
			if (nonValidString.indexOf(checkchar) >= 0)
			{
				alert("\"" + msg + "\"" + " 필드에 입력하신 문자 \"" + checkchar + "\"은 허용되지 않은 문자입니다.\n");   
				obj.select();
				
				return false;
				break;
			}
		}
	}
	else
	{
		alert(msg + "(이)가 입력되지 않았습니다.");
		obj.focus();
		return false;
	}	
return true;	
}

function sliceStr(str, limit)
{
	var temp;
	var mycount = 0;
	var returnStr = "";
	for(var i = 0; i < str.length; i++){
		if(eval(mycount) < eval(limit))
		{
			temp = str.charAt(i);
			if (escape(temp).length > 4)
			{
				mycount += 2;
			}
			else
			{
				mycount++;
			}
			if(eval(mycount) <= eval(limit))
			{
				returnStr += temp
			}
		}
		
	}
	return returnStr;
}

function isString(obj, msg)
{
	if (obj.value != "")
	{
		//var nonValidString = "%@#$!^&*'<>|";
		var nonValidString = "";
		var checkchar;
	
		for(var i=0;i< obj.value.length;i++)
		{
			checkchar = obj.value.substr(i,1)
			if (nonValidString.indexOf(checkchar) >= 0)
			{
				alert("\"" + msg + "\"" + " 필드에 입력하신 문자 \"" + checkchar + "\"은 허용되지 않은 문자입니다.\n");   
				obj.select();
				
				return false;
				break;
			}
		}
	}
	else
	{
		alert(msg + "(이)가 입력되지 않았습니다.");
		obj.focus();
		return false;
	}	
return true;	
}

function isNumeric(obj, msg)
{
	if (obj.value != "")
	{
		if(isNaN(obj.value)==true)
		{
			alert(msg + "(은)는 숫자만 입력하셔야 합니다.");
			obj.select();
		return false;
		}
	}
	else
	{
		alert(msg + "(이)가 입력되지 않았습니다.");
		obj.focus();
		return false;
	}
return true;	
}
	
function isAlphabet(obj, msg)
{
	if (obj.value != "")
	{
		var validString = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-";
		var checkchar;
	
		for(var i=0;i< obj.value.length;i++)
		{
			checkchar = obj.value.substr(i,1)
			if (validString.indexOf(checkchar) == -1)
			{
				alert("\"" + msg + "\"" + " 필드에 입력하신 문자 \"" + checkchar + "\"은 허용되지 않은 문자입니다.\n(허용되는 문자: 영문자, -, 숫자)");   
				obj.select();
				return false;
				break;
			}
		}
	}
	else
	{
		alert(msg + "(이)가 입력되지 않았습니다.");
		return false;
	}	
return true;	
}

function isEmailCheck(obj, msg)	
{
	if (obj.value != "")
	{
		var tmp = obj.value ;
		var checkbit1 = false;
		var checkbit2 = false;
		
		for (i = 0; i < tmp.length; i++) 
		{
				if (tmp.charAt(i) ==  '@')
					checkbit1 = true;				
					
				if (tmp.charAt(i) ==  '.')
					checkbit2 = true;					
		}		
			
		if ( checkbit1 == false || checkbit2 == false ) 
		{
			alert("이메일 주소가 잘못되었습니다.");
			
			if (obj.readOnly)
			{
				obj.readOnly = false;
			}
			obj.select();
			return false;
		}
		else
		{
			var ExceptionEmail = new Array("daum.net","hanmail.net")
			var strEmail = obj.value.toLowerCase( );
			for (var i=0;i < ExceptionEmail.length; i++)
			{
				var s = strEmail.indexOf(ExceptionEmail[i]);
				if (s > -1)
				{
					alert(ExceptionEmail[i] + "은 사용하실수 없는 메일 주소입니다.")
					if (obj.readOnly)
					{
						obj.readOnly = false;
					}					
					obj.select();
					return false;
					break;
				}
			}	
		}
	}
	else
	{
		alert(msg + "(이)가 입력되지 않았습니다.");
		if (obj.readOnly)
		{
			obj.readOnly = false;
		}			
		obj.focus();
		return false;
	}	
return true;		
}	

function CheckJumin(obj1, obj2, msg)
{

	if(parseInt(obj1.value.length) == 6 && parseInt(obj2.value.length) == 7) 
	{

                     a=parseInt(obj1.value.charAt(0))*2
                     b=parseInt(obj1.value.charAt(1))*3
                     c=parseInt(obj1.value.charAt(2))*4
                     d=parseInt(obj1.value.charAt(3))*5
                     e=parseInt(obj1.value.charAt(4))*6
                     f=parseInt(obj1.value.charAt(5))*7

                     g=parseInt(obj2.value.charAt(0))*8
                     h=parseInt(obj2.value.charAt(1))*9
                     i=parseInt(obj2.value.charAt(2))*2
                     j=parseInt(obj2.value.charAt(3))*3
                     k=parseInt(obj2.value.charAt(4))*4
                     l=parseInt(obj2.value.charAt(5))*5

                     non1=parseInt(obj2.value.charAt(6))

                     sum=a+b+c+d+e+f+g+h+i+j+k+l
                     modulus=sum%11

                     non2=11-modulus
                   
                     if(non2 == 11) { non2 = 1 }
                       else if(non2 == 10) { non2 = 0 }
                         else { non2 = non2 }
      
                     if(non1 != non2) 
                     { 
			window.alert("주민번호가 정확하지 않습니다."); 
			obj1.focus();
			return false;
	        }
	}      
	else 
	{
		window.alert("주민번호가 정확하지 않습니다.");
		obj1.focus();
		return false;
	}
	return true;                  
}

function NewWindow(mypage, myname, w, h, scroll) 
{
	var winl = (screen.width - w) / 2;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',noresize';
	win = window.open(mypage, myname, winprops);
	if (parseInt(navigator.appVersion) >= 4) 
	{ 
		win.window.focus(); 
	}
}

function LenB(str)
{
	var temp;
	var mycount = 0;
	for(var i = 0; i < str.length; i++){
		temp = str.charAt(i);
		if (escape(temp).length > 4)
			mycount += 2;
		else
			mycount++;
	}
	return mycount;
}

//yyyy-mm-dd hh:mm:ss

function isDateN(obj1, obj2, msg)
{
	if(obj1.value == "" || obj1.value.length != 8 || isNaN(obj1.value))
	{
		alert(msg + " 항목의 시작날짜가 정상적이지 않습니다.\n\n시작날짜를 다시 선택해 주십시오.(※공백불허, 숫자만허용))");
		obj1.select();
		return false;
	}
	else
	{
		if(obj2.value == "" || obj1.value.length != 8 || isNaN(obj1.value))
		{
			alert(msg + " 항목의  종료날짜가 정상적이지 않습니다.\n\n종료날짜를 다시 선택해 주십시오.(※공백불허, 숫자만허용)");
			obj2.select();
			return false;
		}
		else
		{
			var J_s_date = obj1.value;
			var J_e_date = obj2.value;

			if(eval(J_s_date) > eval(J_e_date)) 
			{
				alert(msg + " 항목의 종료날짜가 시작날짜보다 큽니다. (종료날짜는 시작날짜보다 이후 여야함)");
				obj2.select();
				return false;
			}
		}
	}
	return true;
}			

function isDate(obj1, obj2)
{
/*
	alert(obj1.value.length);
	if (obj1.value.length == 19 && obj2.value.length == 19)
	{
		var startDate = new Date(obj1.substr(0,4),obj1.substr(5,2),obj1.substr(8,2),obj1.substring(11,2),obj1.substring(14,2),obj1.substring(17,2));
		var endDate = new Date(obj2.substr(0,4),obj2.substr(5,2),obj2.substr(8,2),obj2.substring(11,2),obj2.substring(14,2),obj2.substring(17,2));
		alert(startDate.valueOf());
		if(startDate.valueOf() > endDate.valueOf()) 
		{
			alert("종료날짜가 시작날짜보다 큽니다. (종료날짜는 시작날짜보다 이후 여야함)");
			obj2.select();
			return false;
		}	
	}
	else if(obj1.value.length == 10 && obj2.value.length == 10)
	{
		var startDate = new Date(obj1.substr(0,4),obj1.substr(5,2),obj1.substr(8,2));
		var endDate = new Date(obj2.substr(0,4),obj2.substr(5,2),obj2.substr(8,2));

		if(startDateo.valueOf() > endDate.valueOf()) 
		{
			alert("종료날짜가 시작날짜보다 큽니다. (종료날짜는 시작날짜보다 이후 여야함)");
			obj2.select();
			return false;
		}
	}
	else
	{
		alert("날짜형식이 잘못되었습니다.");
		obj1.select();
		return false;
	}
*/
	return true;

}


function isAllowExt(obj, msg)
{
	if (obj.value != "")
	{
		var arrExceptionExt, checkFlag, i, FilePath
		FilePath = obj.value.toLowerCase();
		arrExceptionExt = new Array("asp","aspx","html","htm")
		checkFlag = true
		for(i=0;i<arrExceptionExt.length;i++)
		{
		    if (arrExceptionExt[i] == FilePath.substr(FilePath.lastIndexOf(".")+1))
		    {
		            alert(msg + "의 확장명 \"" + arrExceptionExt[i] + "\"은(는) 업로드 하실수 없는 파일입니다.\n다른파일을 선택해 주십시오.");
					obj.select();
		            checkFlag = false;
		            break;
		    }
		   
		}
		return checkFlag;
    }
    else
    {
		alert(msg + "이(가) 선택되지 않았습니다. 파일을 선택해 주십시오.");
		obj.select();
		return false;
    }
}

function img_check(obj, msg)
{
	if (obj.value != "")
	{
		var imgType = new Array(".gif", ".jpg", ".jpeg");
		var strImgExt = obj.value.toLowerCase( );
		for (var i=0;i < imgType.length; i++)
		{
			var s = strImgExt.indexOf(imgType[i]);
			if (s > -1)
			{
				break;
			}
		}	
		if (s > -1) 
		{
			return true;
		}
		else 
		{
			alert(msg + '은(는) 이미지 파일만 선택해 주십시오.')
			obj.select();
			return false;
		}
	}	
	return true;
}

function pdf_check(obj, msg)
{
	if (obj.value != "")
	{
		var imgType = new Array(".pdf");
		var strImgExt = obj.value.toLowerCase( );
		for (var i=0;i < imgType.length; i++)
		{
			var s = strImgExt.indexOf(imgType[i]);
			if (s > -1)
			{
				break;
			}
		}	
		if (s > -1) 
		{
			return true;
		}
		else 
		{
			alert(msg + '은(는) PDF 파일만 선택해 주십시오.')
			obj.select();
			return false;
		}
	}
	else	
	{
		alert(msg + "이(가) 선택 되지 않았습니다.");
		return false;
	}
	return true;
}

// 풍선 도움말 ysskki : 2004-07-23 추가

function js_showTip(object_id, div_tag_id, msg)
{
	var divObject, occObject;
	
	if(document.getElementById) // Netscape 6.0+ , Internet Explorer 5.0+
	{   
		divObject = eval("document.all." + div_tag_id);
		occObject = object_id;
		divObject.innerHTML = msg;
		//divObject.style.height = 400;
		divObject.style.top = parseInt(occObject.offsetTop + occObject.offsetHeight)
		divObject.style.left = parseInt(occObject.offsetLeft + occObject.offsetWidth + 10)
		divObject.style.visibility = "visible";
	}

}

function js_hideTip(div_tag_id)
{
	if(document.getElementById) // Netscape 6.0+ , Internet Explorer 5.0+
	{
		currDiv_ID = eval("document.all." + div_tag_id);
		currDiv_ID.style.visibility = "hidden";
	}

}

/*
	<input type="text" name="a" onMouseOver="js_showTip(document.all.a,'tooltip','first comment')" onMouseOut="js_hideTip('tooltip')">
	<input type="text" name="b" onMouseOver="js_showTip(this,'tooltip','second comment')" onMouseOut="js_hideTip('tooltip')">  
	<div id="tooltip" style="position:absolute;visibility:hidden;border:1px solid black;font-size:12px;layer-background-color:lightyellow;background-color:lightyellow;padding:1px;width:50;height:100"></div>
*/	
