//
// common.js
//

// ÀÔ·Â¹ÞÀº ¹®ÀÚÀÇ ½ÇÁ¦ ±æÀÌ(ÇÑ±ÛÆ÷ÇÔ)¸¦ ±¸ÇÑ´Ù.
function strLength(str)
{
	nLen = 0;
	for (var i = 0; i < str.length; i++) {
		if (str.charCodeAt(i) > 127)
			nLen += 2;
		else
             nLen ++;
	}
    return nLen;
}

// ÀÔ·Â¹ÞÀº ¹®ÀÚÀÇ °¹¼ö¸¦ ¼ÂÆÃÇÑ´Ù.
function checkKeyLength(checkElement, countElement, maxLen){
	var count = strLength(checkElement.value);
	countElement.value = count;
	if(count > maxLen) {
		alert("\n " + maxLen + "ÀÚ ÀÌ³»·Î ÀÛ¼ºÇØ ÁÖ½Ê½Ã¿ä.");
		checkElement.focus();
		return false;
	}
}

// ÇÊµåÀÇ ÀÔ·Â¿©ºÎ (elem, mandatory, maxlength, type, msg)
// ¸® ÅÏ °ª : (false / º¯°æµÈ °ª)
function chkFormValue(elem, mandatory, maxlength, type, msg)
{
    var str = elem.value;

    if (mandatory) {
        if (type == "select") {
            var szValue = getSelectedOptionValue(elem);
            if (szValue == null || szValue == "") {
	            alert (msg + ":¹Ýµå½Ã ¼±ÅÃ ÇÏ¼Å¾ß ÇÕ´Ï´Ù.");
                //edOption(elem, true);
                return false;
            }
            else {
                return true;
            }
        } else if (type == "radio") {
            if (getCheckedRadioValue(elem) == null) {
	            alert (msg + ":¹Ýµå½Ã ¼±ÅÃ ÇÏ¼Å¾ß ÇÕ´Ï´Ù.");
                //checkedRadio(elem, true);
                return false;
            }
            else {
                return true;
            }
        } else if (type == "check") {
        	if (! isCheckedChkBox(elem)) {
	            alert (msg + ":¹Ýµå½Ã ¼±ÅÃ ÇÏ¼Å¾ß ÇÕ´Ï´Ù.");
                //checkedRadio(elem, true);
                return false;
            }
            else {
                return true;
            }
        }
        omitstr = str;
        omitstr = omitChar(omitstr, "\n");
        omitstr = omitChar(omitstr, "\r");
        omitstr = omitChar(omitstr, " ");
        if(omitstr.length == 0) {
            alert (msg + ":¹Ýµå½Ã ÀÔ·Â ÇÏ¼Å¾ß ÇÕ´Ï´Ù.");
            elem.focus();
            return false;
        }
    }

    if (maxlength) {
        if (strLength(str) > maxlength) {
        	if (type != "num") {
        		HanLength = maxlength / 2;
        		alert (msg + " : ÇÑ±Û" + HanLength + "ÀÚ, ¿µ¹®" + maxlength + "ÀÚ ±îÁö ÀÔ·ÂÇØ ÁÖ¼¼¿ä.");
        	} else {
        		alert (msg + " : ÃÖ´ë " + maxlength + "ÀÚ ±îÁö ÀÔ·ÂÇØ ÁÖ¼¼¿ä.");
        	}
            elem.focus();
            return false;
        }
    }

    if (type == "num") {
        if (isNumber(str) == false) {
            alert (msg + ":¼ýÀÚ¸¸ ÀÔ·ÂÇØÁÖ½Ê½Ã¿ä");
            elem.focus();
            return false;
        }
        return true;
    }

    else if (type == "isEmail") {
        if (mandatory == 0 && str.length == 0)
            return true;
        if (isEmail(str) == false) {
            alert ("Á¤È®ÇÑ Email ÁÖ¼Ò¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿ä");
            elem.focus();
            return false;
        }
    }
    return true;
}

// Æ¯Á¤ char¸¦ Á¦°ÅÇÑ´Ù.
function omitChar(str, ch)
{
    var NewStr = "";

    for (var i = 0; i < str.length; i++) {
	   	if (str.charAt(i) != ch) {
	      	NewStr += str.charAt(i);
	    }
    }
    return NewStr;
}

function LTrim(str)
/*
   PURPOSE: Remove leading blanks from our string.
   IN: str - the string we want to LTrim
*/
{
   var whitespace = new String(" \t\n\r");

   var s = new String(str);

   if (whitespace.indexOf(s.charAt(0)) != -1) {
      // We have a string with leading blank(s)...

      var j=0, i = s.length;

      // Iterate from the far left of string until we
      // don't have any more whitespace...
      while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
         j++;

      // Get the substring from the first non-whitespace
      // character to the end of the string...
      s = s.substring(j, i);
   }
   return s;
}

/*
==================================================================
RTrim(string) : Returns a copy of a string without trailing spaces.
==================================================================
*/
function RTrim(str)
/*
   PURPOSE: Remove trailing blanks from our string.
   IN: str - the string we want to RTrim

*/
{
   // We don't want to trip JUST spaces, but also tabs,
   // line feeds, etc.  Add anything else you want to
   // "trim" here in Whitespace
   var whitespace = new String(" \t\n\r");

   var s = new String(str);

   if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
      // We have a string with trailing blank(s)...

      var i = s.length - 1;       // Get length of string

      // Iterate from the far right of string until we
      // don't have any more whitespace...
      while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
         i--;


      // Get the substring from the front of the string to
      // where the last non-whitespace character is...
      s = s.substring(0, i+1);
   }

   return s;
}

/*
=============================================================
Trim(string) : Returns a copy of a string without leading or trailing spaces
=============================================================
*/
function Trim(str)
/*
   PURPOSE: Remove trailing and leading blanks from our string.
   IN: str - the string we want to Trim

   RETVAL: A Trimmed string!
*/
{
   return RTrim(LTrim(str));
}

// ¼ýÀÚ¸¸ Ã¼Å©ÇÑ´Ù. (Âü:true °ÅÁþ:false)
function isNumber(str)
{
    for (var i = 0; i < str.length; i++) {
        if (str.charAt(i) > '9' || str.charAt(i) < '0')
            return false;
    }
    return true;
}

// Æ¯Á¤¹üÀ§ÀÇ validÇÑ ¼ýÀÚÀÎÁö¸¦ Ã¼Å©ÇÑ´Ù (Âü:true °ÅÁþ:false)
function isValidNumber(str, min, max, msg)
{
    for (var i = 0; i < str.length; i++) {
        if (str.charAt(i) > '9' || str.charAt(i) < '0')
            return 0;
        }
    if (str < min || str > max)
        return false;
    return true;
}

// ¹Ýµå½Ã Æ¯Á¤ ÀÚ¸®¼ö¿©¾ß ÇÑ´Ù. (Âü:true °ÅÁþ:false)
function isMatchLength(str, digit, msg)
{
    for (var i = 0; i < str.length; i++) {
        if (str.charAt(i) > '9' || str.charAt(i) < '0')
            return 0;
    }
    if (str.value.length != digit) {
    	alert(msg);
    	str.focus();
        return false;
    }
    return true;
}




// ÇÔ ¼ö ¸í : getCheckedRadioValue
// Ã³¸®³»¿ë : selectµÈ radio¿¡ ÇØ´çÇÏ´Â value¸¦ return
function getCheckedRadioValue(name)
{
    nRadio = name.length;
    if( nRadio > 1 ) {
	    for (var i = 0; i < nRadio ; i++) {
	        if (name[i].checked)
	             return name[i].value;
	    }
	    return null;
	}
    else {
    	if( name.checked ) return name.value;
    	return null;
    }
}

// ÇÔ ¼ö ¸í : getCheckedRadioValue
// Ã³¸®³»¿ë : selectµÈ radio¿¡ ÇØ´çÇÏ´Â value¸¦ return
function isCheckedChkBox(name)
{
    if(name.length == null) {
	    return name.checked;
	} else {
	    for (var i = 0; i < name.length ; i++) {
	        if (name[i].checked)
	             return true;
	    }
	}
    return false;
}

// ÇÔ ¼ö ¸í : getSelectedOptionValue
// Ã³¸®³»¿ë : selectµÈ optionÀÇ °ªÀ» return
function getSelectedOptionValue(name)
{
    var nOption = name.length;
    for (var i = 0; i < nOption ; i++) {
        if (name[i].selected)
            return name[i].value;
    }
    return null;
}

// ÇÔ ¼ö ¸í : getSelectedOptionText
// Ã³¸®³»¿ë : selectµÈ optionÀÇ textÀ» return
function getSelectedOptionText(name)
{
    var nOption = name.length;
    for (var i = 0; i < nOption ; i++) {
        if (name[i].selected)
            return name[i].text;
    }
    return null;
}

// ÇÔ ¼ö ¸í : checkedRadio
// Ã³¸®³»¿ë : radioÀÇ value¿Í ÀÏÄ¡ÇÏ´Â name¿¡ set (Á¶°Ç¿¡ µû¶ó¼­ ¼ÂÆÃÇÒ ¶§ ÇÊ¿ä)
// ¿¹ : checkedRadio(document.writeform.sex, "¿©")
function checkedRadio(name, value)
{
    nRadio = name.length;
    for (var i = 0; i < nRadio ; i++) {
        if (name[i].value == value)
             name[i].checked = 1;
    }
}


// ÇÔ ¼ö ¸í : selectedOption
// Ã³¸®³»¿ë : select objectÀÇ value¿Í ÀÏÄ¡ÇÏ´Â name¿¡ set
function selectedOption(selectObj, value)
{
    nOption = selectObj.length;      // ÇØ´ç option°¹¼ö


    if (!nOption)
        return ;

    for (var i = 0; i < nOption ; i++) {
        if (selectObj.options[i].value == value)
             selectObj.options[i].selected = true;

    }

}

// ÇÔ ¼ö ¸í : isEmail
// Ã³¸®³»¿ë : email ÁÖ¼Ò¿¡ ¸Â´ÂÁö È®ÀÎ (Âü: true, °ÅÁþ:false)
function isEmail(str)
{
    var pos1, pos2;

    pos1 = str.indexOf('@', 1);
    pos2 = str.lastIndexOf('.', str.length - 2);
    if (pos1 == -1 || pos2 == -1)
        return false;
    if ((pos2 - pos1) < 2)
        return false;
    return true;
}

// ÇÔ ¼ö ¸í : setChkboxAll
// Ã³¸®³»¿ë : Æ¯Á¤ formÀÇ Æ¯Á¤name¿¡ ´ëÇÑ chkbox¸¦ ¸ðµÎ value·Î setting
function setChkboxAll(formname, name, value) {
    for (var i = 0; i < formname.length ; i++) {
        if (name == formname.elements[i].name)
             formname.elements[i].checked = value;
    }
}


// ÇÔ ¼ö ¸í : setChkbox
// Ã³¸®³»¿ë : formnameÀÇ name¿¡ ´ëÇÑ Æ¯Á¤ À§Ä¡¸¦ value·Î setting
function setChkboxByPos(formname, name, pos, value)
{
    var nPos = 0;
    for (var i = 0; i < formname.length ; i++) {
        if (name == formname.elements[i].name) {
            if (nPos == pos) {
                 formname.elements[i].checked = value;
                 return ;
             }
            nPos ++;
        }
    }
}

// ÇÔ ¼ö ¸í : setChkboxValue
// Ã³¸®³»¿ë : formnameÀÇ name¿¡ value¸¦ setting
function setChkboxByValue(formname, name, value)
{
    var nPos = 0;
    for (var i = 0; i < formname.length ; i++) {
        if (name == formname.elements[i].name) {
            if (formname.elements[i].value == value) {
                formname.elements[i].checked = 1;
                return ;
            }
        }
    }
}


// ÇÔ ¼ö ¸í : getChkBoxValue
// Ã³¸®³»¿ë : Æ¯Á¤°ª(char)¸¦ appendÇÑ °á°ú¸¦ return(Ã¼Å©¾ÈµÇ¾úÀ¸¸é default°ªÀ» append)
//            checkµÈ checkboxÀÇ value¸¦ attachÇÑ´Ù (check¾ÈµÇ¸é value°ªÀ»)
// ÁÖ·Î ¸ÖÆ¼ ¼±ÅÃ½Ã »ç¿ë
function getChkBoxByValue(formname, name, defvalue)
{
    var Buf = "";
    var chkCnt = 0;
    for (var i = 0; i < formname.length ; i++) {
        if (name == formname.elements[i].name) {
            if (formname.elements[i].checked) {
                chkCnt ++;
                Buf = Buf + formname.elements[i].value + defvalue;
            }
        }
    }
    return Buf;
}


// Ã³¸® ³»¿ë : 1234567890 -> 12¾ï 3456¸¸ 7890 À¸·Î, ¼ýÀÚ -> ÇÑ±Û ÀÚ¸®¼ö Ç¥Çö.
function formatInKorean(money) {
	if( money > 99999999) {
		var val, val1, val2;
		var buf="";
		val1 = Math.floor(money / 100000000);
		buf += val1;
		buf += " ¾ï ";
		val2 = val1*100000000;
		val = Math.floor(( money - val2 ) / 10000);
		if( val != 0 ) {
			buf+=val;
			buf+=" ¸¸ ";
		}
		val = Math.floor(money - val2 - val * 10000);
		if( val != 0 ) buf+=val;
		return buf;
	}
	if( money > 9999 ) {
		var val;
		var buf="";
		val = Math.floor(money / 10000);
		buf+=val;
		buf+=" ¸¸ ";
		val = money - val*10000;
		if( val != 0 ) buf+=( val );
		return buf;
	}
	return money;
}

// Ã³¸® ³»¿ë : ¹®ÀÚ¿­À» µÚÁý¾îÁØ´Ù. (formatInDecimal ¿¡¼­ »ç¿ëÁß)
function reverse(aStr) {
	var buffer="";
	for (i=aStr.length-1;i>=0;i--) {
		buffer+=aStr.charAt(i);
	}
	return buffer;
}

// Ã³¸® ³»¿ë : 3ÀÚ¸® ¸¶´Ù ½°Ç¥ Âï¾îÁÖ±â.
function formatInDecimal(money) {
	var buffer= "";
	moneyStr = ""+money;
	if (moneyStr.length <= 3) return money;

	for (i=moneyStr.length-1;i>=0;i--) {
		if ((i % 3) == 0 && i != moneyStr.length-1) {
			buffer += ",";
		}
		buffer += moneyStr.charAt(i);
	}
	return reverse(buffer);
}
function insert_comma(szamount){
	var Temp = ""+szamount+"";
	var ns = Temp.replace(/\,/g,"");
	var dp = ns;

	dp = ns.length;       //¼ýÀÚÀÇ ÃÑ ±æÀÌ¸¦ ±¸ÇÑ´Ù.
	dp-=3;
	while(dp>0) {
		ns = ns.substr(0,dp)+","+ns.substr(dp);
		dp-=3;
	}
	return ns;
}

//Ã³¸® ³»¿ë : Æ¯Á¤ Æ¯¼ö¹®ÀÚ¸¦ »èÁ¦
function dodacheck( element ) {
	//var mikExp = /[$\\@\\\#%\^\&\*\(\)\[\]\+\_\{\}\`\~\=\|<>?!\"\;\:\'\/]/;
	var mikExp = /[$\@\#%\^\&\*\{\}\`\~\|<>?!\"\;\:\']/;
	var strPass = element.value;
	var strLength = strPass.length;
	var lchar = element.value.charAt((strLength) - 1);
	if(lchar.search(mikExp) != -1) {
		var tst = element.value.substring(0, (strLength) - 1);
		element.value = tst;
	}
}

function openEventWin() {
	var str = "http://ibay.hanmail.net/event/event_050202.html";
	window.open(str, "eventPopUp", "width=350,height=327,scrollbars=no");
}

//ÇØ´ç ¹®ÀÚ¸¦ ¼Ò¹®ÀÚ·Î ¸®ÅÏ
function strToLowerCase(chkVal){
	var returnStr = "";

	if(chkVal == null || chkVal.length <= 0){
		return returnStr;
	}else{
		for(i = 0; i<chkVal.length; i++){
			returnStr += chkVal.charAt(i).toLowerCase();
		}

		return returnStr;
	}
}



/*************************************************************************
  »õ·Î¿î À©µµ¿ì¸¦ ¸¸µé¾î ÁØ´Ù.

  ÆÄ¶ó¸ÞÅÍ : ¸µÅ©Á¤º¸, À©µµ¿ì† ÀÌ, À©µµ¿ì ³ôÀÌ
*************************************************************************/
function centerNewWin(url, winName, width, height) {
  var wi = screen.width - width;
  var hi = screen.height - height;

  if( wi < 0 ) wi = 0;
  if( hi < 0 ) hi = 0;

  var info = 'left=' + (wi/2) + ',top=' + (hi/2) + ',width='  + width + ',height=' + height + ',resizable=yes,scrollbars=no,menubars=no,status=yes';
  var newwin = window.open(url, winName, info);
  newwin.focus();
  return newwin;
}

function centerNewWin2(url, winName, width, height) {
  var wi = screen.width - width;
  var hi = screen.height - height;

  if( wi < 0 ) wi = 0;
  if( hi < 0 ) hi = 0;

  var info = 'left=' + (wi/2) + ',top=' + (hi/2) + ',width='  + width + ',height=' + height + ',resizable=no,scrollbars=yes,menubars=no,status=no';
  var newwin = window.open(url, winName, info);
  newwin.focus();
  return newwin;
}


/*************************************************************************
  »õ·Î¿î À©µµ¿ì¸¦ ¸¸µé¾î ÁØ´Ù.

  ÆÄ¶ó¸ÞÅÍ : ¸µÅ©Á¤º¸, À©µµ¿ìÀÌ¸§, À©µµ¿ì† ÀÌ, À©µµ¿ì ³ôÀÌ
*************************************************************************/
function rightNewWin(url,winName, width,height) {
  var wi = screen.width - width;
  var hi = 0;

  if( wi < 0 ) wi = 0;
  if( hi < 0 ) hi = 0;

  var info = 'left=' + wi + ',top=' + hi + ',width='  + width + ',height=' + height + ',resizable=yes,scrollbars=auto,menubars=no,status=no';
  var newwin = window.open(url, winName,info);
  newwin.focus();
  return newwin;
}

/*************************************************************************
  »õ·Î¿î À©µµ¿ì¸¦ ¸¸µé¾î ÁØ´Ù.

  ÆÄ¶ó¸ÞÅÍ : ¸µÅ©Á¤º¸, À©µµ¿ì† ÀÌ, À©µµ¿ì ³ôÀÌ
*************************************************************************/
function leftNewWin(url, winName, width, height) {
  var wi = 0;
  var hi = 0;

  var info = 'left=' + wi + ',top=' + hi + ',width='  + width + ',height=' + height + ',resizable=yes,scrollbars=auto,menubars=no,status=yes';
  var newwin = window.open(url,winName,info);
  newwin.focus();
  return newwin;
}

function leftNewWin1(url, winName, width, height) {
  var wi = 0;
  var hi = 0;

  var info = 'left=' + wi + ',top=' + hi + ',width='  + width + ',height=' + height + ',resizable=yes,scrollbars=yes,menubars=yes,status=no';
  var newwin = window.open(url,winName,info);
  newwin.focus();
  return newwin;
}

/**************************************************************************
   ¹®ÀÚÀÇ ¾Õ°ú µÚ¿¡ ÀÖ´Â ¸ðµç °ø¹éÀ» ¾ø¾Ø´Ù.
**************************************************************************/
function trim(s) {
  var len = s.length;
	var st = 0;

	while ((st < len) && (s.charAt(st) <= ' ')) {
	    st++;
	}
	while ((st < len) && (s.charAt(len - 1) <= ' ')) {
	    len--;
	}
	return ((st > 0) || (len < s.length)) ? s.substring(st, len) : s;
}


//¸ÞÀÏÀÔ·ÂÃ¼Å©
function checkEmail(invalue){
	var retval = true;

	// ¿ä·± ¹®ÀÚ°¡ µé¾îÀÖÀ¸¸é ¾ÈµÇÁÒ~

	if (invalue.indexOf("/") >= 0)   retval = false;
	if (invalue.indexOf(".@") >= 0)  retval = false;
	if (invalue.indexOf("@.") >= 0)  retval = false;
	if (invalue.indexOf("@@") >= 0)  retval = false;
	if (invalue.indexOf(",") >= 0)   retval = false;
	if (invalue.indexOf(" ") >= 0)   retval = false;
	if (invalue.indexOf("http:") >= 0)   retval = false;

	// ¿ä·± ¹®ÀÚ°¡ ¾È µé¾îÀÖÀ¸¸é ¾ÈµÇÁÒ~
	if (invalue.indexOf("@") == -1)   retval = false;
	if (invalue.indexOf(".") == -1)   retval = false;

	// ¿ä·± ¹®ÀÚ°¡ Ã³À½ ³ª¿À¸é ¾ÈµÇÁÒ~

	if (invalue.indexOf("@") == 0)    retval = false;
	if (invalue.indexOf(".") == 0)    retval = false;

	// ¿ä·± ¹®ÀÚ°¡ ¸¶Áö¸·¿¡ ³ª¿À¸é ¾ÈµÇÁÒ~
	if (invalue.charAt(invalue.length-1) == ".")   retval = false;

	return retval;
 }

