﻿/*==============================================================================
 Author : GPotato Rules
==============================================================================*/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.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_openBrWindow(theURL,winName,features) { //v2.0  window.open(theURL,winName,features);}

function GW_putFlash( swf , width , height )
{
  var source = ""
  source+="<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000'"
  source+="        codebase='http://download.macromedia.com/pub/shockwave/"
                    source+="cabs/flash/swflash.cab'"
  source+="        width   = " + width
  source+="        height  = " + height + ">"
  source+="<param  name    = movie value=" + swf + ">"
  source+="<param  name    = quality value=high>"
  source+="<embed  src     = " + swf + " "
  source+="        quality = high  "
  source+="        width   = "+ width
  source+="        height  = " + height
  source+="        type    = 'application/x-shockwave-flash' "
  source+="        pluginspage='http://www.macromedia.com/go/getflashplayer'>"
  source+="</embed>"
  source+="</object>"
  
  document.write(source)
}

/*==============================================================================
 Author : Kim dong-wan(2005-12-23)
 Use : Input Range Check
 Return : true - permissible range, false - permissible limit over
==============================================================================*/
function chkRange(obj, minLen, maxLen)
{
	var nCnt = 0;
	var sTmp;
	
	for (i = 0; i < obj.value.length; i++)
	{
	    sTmp = escape(obj.value.substring(i, i+1));
	    if(sTmp.substring(1,2) == "u" )
	        nCnt += 2;
	    else
	        nCnt += 1;
	}
	
	if(nCnt < minLen || nCnt > maxLen)
		return false;
	else
		return true;
}

/*==============================================================================
 Use : Input value Eng/Num Check
 Return : true - Not Eng/Num, false - Eng/Num
==============================================================================*/
function chkSpecWord(sTxt)
{
	var objRegExp1 =/^[0-9]/;				//nubmer
	var objRegExp2 = /^[a-z]/;			    // english
	var sTmp
	
	for(i=0;i<sTxt.length;i++){
		sTmp = sTxt.substring(i, i+1)
		if (!objRegExp1.test(sTmp)) {		//number
			if (!objRegExp2.test(sTmp)) {	//english
				return true;
			}
		}
	}
	return false;
}

/*==============================================================================
 Use : TextBox null check
==============================================================================*/
function chkIsNull(obj)
{
	var sTvalue = obj.value;

	if(trim(sTvalue) == "")
	{
		return false;
	}

	return true;
}

/*==============================================================================
 Use : TextBox null check and alert box
==============================================================================*/
function chkTxtBox(obj,sMsg)
{
	var sTvalue = obj.value;

	if(trim(sTvalue) == "")
	{
		alert(sMsg);
		obj.focus();
		return false;
	}

	return true;
}


/*==============================================================================
 Use : Trim
==============================================================================*/
function trim(str) {
	return str.replace(/(^[\s　]+)|([\s　]+$)/g, "");
}

/*==============================================================================
 Use : Byte Length Check
==============================================================================*/
function byteChk(chkInput, nowLen, maxLen) {
	var length = calculate_msglen(chkInput.value);
	
	if (nowLen != null) {
		nowLen.innerText = length;
	}

	if (length > maxLen) {			
		chkInput.value = chkInput.value.replace(/\r\n$/, "");
		chkInput.value = assert_msglen(chkInput.value, nowLen, maxLen);
		chkInput.focus();
		return false;
	}
	else {
		return true;
	}
}

/*==============================================================================
 Use : Calculate Message Length
==============================================================================*/
function calculate_msglen(message) {
	var nbytes = 0;
	for (i=0; i < message.length; i++) {
		var ch = message.charAt(i);
		if(escape(ch).length > 4) {
			nbytes += 2;
		} else {
			nbytes += 1;
		}
	}

	return nbytes;
}
/*==============================================================================
 Use : Assert Message Length
==============================================================================*/
function assert_msglen(message, nowLen, maxLen) {
	var inc = 0;
	var nbytes = 0;
	var msg = "";
	var msglen = message.length;

	for (i=0; i<msglen; i++) {
		var ch = message.charAt(i);
		if (escape(ch).length > 4) {
			inc = 2;
		} else {
			inc = 1;
		}
		if ((nbytes + inc) > maxLen) {
			break;
		}
		nbytes += inc;
		msg += ch;
	}

	if (nowLen != null) {
		nowLen.innerText = nbytes;
	}

	return msg;
}

function chkGenkaku(msg)
{
    for(var i = 0; i < msg.length; i++)
    {
        var ch = escape(msg.charAt(i));
        if (escape(ch).length > 4)
        {
            return true;
        }
    }
    
    return false;
}

/*==============================================================================
 Use : Email Validation Check
==============================================================================*/
function chkEmail(s) 
{
	var sChk = "";
	var nCnt = 0;
	var nLen = s.length;
	var regMust = /^[_0-9a-zA-Z-]+([._0-9a-zA-Z-]*)*@[0-9a-zA-Z-]+(.)+([0-9a-zA-Z-]+)([.0-9a-zA-Z-])*$/;

	if (s.indexOf(" ") != -1 || s.indexOf("<") != -1 || s.indexOf(">") != -1) {
		return false;
	}

	if (s.indexOf("@") == -1) {
		return false;
	}

	if (s.indexOf(".") == -1) {
		return false;
	}

	if (s.indexOf(".") - s.indexOf("@") == 1) {
		return false;
	}

	if (s.charAt(s.length-1) == ".") {
		return false;
	}

	if (s.charAt(s.length-1) == "@") {
		return false;
	}

	if (s.length < 7) {
		return false;
	}
	else {
		
		var nCk = s.indexOf("@");
		
		for (i = 0 ; i < nLen ; i++) {
			temp = s.substring(i,i+1);
			if (temp == "@" && i < 2) {
				return false;
			}
			else {
				if (temp == "@" || temp == ".") sChk = sChk + temp;
			}
		}
		
		var nAt = sChk.indexOf("@");
		
		if (sChk.substring(nAt,nAt + 2) == "@.") 
		{
			if (regMust.test(s))
			{	
				return true;
			}
			else
			{
				return false;
			}
		}
		else
		{
		    return false;
		}
	}
}

/*==============================================================================
 Use : Select Box Input value Check
 return : true - no value, false - exist value
==============================================================================*/
function chkSel(obj, msg)
{
	if(obj[obj.selectedIndex].value == '')
	{
		alert(msg + '을(를) 선택해주세요.');
		obj.focus();
		return true;
	}
	else
		return false;	
}

/*==============================================================================
 Use : no Alertbox Select Box Input value Check
 Return : true - no value, false - exist value
==============================================================================*/
function chkSelNull(obj)
{
	if(obj[obj.selectedIndex].value == '')
	{
		return true;
	}
	else
		return false;	
}