/**
 * @author Jan Jun Young (gmgjy@lycos.co.kr)
 * include file : prototype.js
 * charset : euc-kr
 */

//Ajax·Îµù È­¸é Ç¥½Ã (»ç¿ë¾ÈÇÒ½Ã ÁÖ¼®Ã³¸®)
/*
var myGlobalHandlers = {
	onCreate: function(){
		Element.show('systemWorking');
	},

	onComplete: function() {
		if (Ajax.activeRequestCount == 0){
			Element.hide('systemWorking');
		}
	}
};
Ajax.Responders.register(myGlobalHandlers);
MSG = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaNow loading...';
document.write("<div id='systemWorking' style='position:absolute;width:100%;top:50%;text-align:center;display:'>"+MSG+"</div>");
*/
//alert('a');
var SC	= new Object();
/****************************************************************************/
// url·Î paramÀ» Àü´ÞÇÏ¿© °á°ú ÆäÀÌÁö¸¦ ELementId¿¡ ³ªÅº³½´Ù.
/****************************************************************************/
//Input : URL, ÆÄ¶ó¸ÞÅÍ, º¯°æ½ÃÅ³ DIVÅÂ±×id, Àü¼ÛÅ¸ÀÔ, eval½ÇÇà ¿©ºÎ
SC.Ajax	= function(url, param, ElementId, $reqType, $evalScripts)
{
	if (!$reqType || $reqType == "")		{ $reqType	= 'GET';}
	if (!$evalScripts || $evalScripts == "")	{ $evalScripts	= false;}

	var myAjax	= new Ajax.Updater(
			{success: ElementId}, 				//¼º°ø½Ã È­¸é º¯°æ
			url, 						//URL
			{
				method : $reqType.toUpperCase(), 	//Àü¼Û¹æ½Ä  ±âº»°ª POST
				parameters : param, 			//ÆÄ¶ó¸ÞÅÍ
				onFailure : reportError,		//½ÇÆä½Ã ¿¡·¯ Ãâ·Â
				evalScripts: $evalScripts
			});
}
//¿¡·¯¹ß»ý½Ã
function reportError()
{
	alert('¿¡·¯¹ß»ý. Àá½ÃÈÄ ´Ù½Ã ½ÃµµÇÏ¿© ÁÖ¼¼¿ä.');
}


//url ÀÇ ³»¿ëÀ» $frequency °£°Ý¸¶´Ù ElementId¾÷µ¥ÀÌÆ® ÇØ¼­ º¸¿©ÁÖ±â
SC.PeriodicalUpdater = function(url, ElementId, $frequency, $decay, $reqType)
{
	if (!$frequency || $frequency == "")	{ $frequency	= 3.0; }
	if (!$decay || $decay =="")		{ $decay 	= 1; }				//reqType¹ÌÁöÁ¤½Ã ±âº»°ª POST
	if (!$reqType || $reqType == "")	{ $reqType 	= 'post';}

	var myAjax	= new Ajax.PeriodicalUpdater(
			ElementId,
			url,
			{
				method: 'post',
				frequency: $frequency,
				decay: $decay
			}
			);
}




/***************************************¼¼ºÎÀû Æû°ª Ã¼Å©***************************************************
*
* chk °ªÀÌ y ÀÏ°æ¿ì ¹«Á¶°Ç Ã¼Å©, n ÀÏ°æ¿ì °ªÀÌ ÀÖÀ¸¸é Ã¼Å©
------------------------------------------------------------------------
* @objform    : ÆûÀÌ¸§(this È¤Àº document.formname)
------------------------------------------------------------------------
* »ç¿ë¹ý ¿¹Á¦ (¿µ¾î,¼ýÀÚ¸¸ 4~12±ÛÀÚ·Î ¹Þ´Â´Ù)
<table border="1">
<form name="member_form" method="post" action="" onsubmit="return JY.checkForm(this)">
<tr>
    <td>ºñ¹Ð¹øÈ£</td>
    <td><input type="password" name="passwd" chk="y" msg="ºñ¹Ð¹øÈ£¸¦" kind="eng+num" len="4-12">
    	<input type='submit'>
    	</td>
</tr>
</form>
</table>
****************************************************************************************/
SC.checkForm = function(objform)
{
	var obj		= objform;
	var count	= obj.length;
	var chk		= '';
	var msg		= '';
	var kind	= '';
	var from	= '';
	var item	= '';
	var len		= '';
	var ex_len	= '';
	var len_chk	= '';
	var len_text	= '';
	var min		= '';
	var max		= '';
	var result	= '';
	var first	= '';
	var ret_chk	= false;

	for (var x = 0; x < count; x++)
	{
		item = obj.elements[x];
		if (item.name)
		{
		    if (item.getAttribute('chk'))
		    {
		    	chk	= item.getAttribute('chk');	//value ÀÖÀ»½Ã °Ë»çn   ÀÖ°Å³ª ¾ø°Å³ª °Ë»çy
		        msg	= item.getAttribute('msg');	//alert¸Þ¼¼Áö ¾ÕºÎºÐ ÇÑ±Û
		        kind	= item.getAttribute('kind');	//value¿¡ Çã¿ëÁ¶°Ç (num,eng,kor)
		        from	= item.getAttribute('from');	//value°ª ÀÏÄ¡½ÃÅ³ name°ª
		        len	= item.getAttribute('len');	//textbox value Çã¿ë ¹üÀ§

		        if (chk == 'y' || chk == 'Y')	{ first = "item.value == '' || ("; }
		        else				{ first = "item.value && ("; }

		        if (len)
		        {
		            ex_len	= len.split('-');
		            min		= ex_len[0];
		            max		= ex_len[1];

		            if (min == max)	//±æÀÌ°¡ Á¤ÇØÁ®ÀÖ´Ù¸é ÇØ´ç±ÛÀÚ Ç¥½Ã
		            {
		                len_chk 	= " || item.value.length != "+min;
		                len_text	= " ["+min+" ±ÛÀÚ]";
		            }
		            else
		            {			//¹üÀ§°¡ Á¤ÇØÁ®ÀÖ´Ù¸é ¹üÀ§Ç¥½Ã  (n ~ n)
		                len_chk		= " || item.value.length < "+min+" || item.value.length > "+max;
		                len_text 	= " ["+min+" ~ "+max+" ±ÛÀÚ]";
		            }
		        }

		        //°Ë»ç Ç×¸ñ
		        switch (kind)
		        {
		        	//¼ýÀÚ·Î¸¸
				case 'num':
					result  = "var num_pattern = /(^[0-9]+$)/gi;";
					result += "if ("+first+"!num_pattern.test(item.value)"+len_chk+")) {";
					result += "alert('"+msg+" ¼ýÀÚ·Î¸¸ ÀÔ·ÂÇÏ¼¼¿ä."+len_text+"');";
					result += "item.focus();";
					result += "ret_chk = true;";
					result += "}";
					eval(result);
					if (ret_chk == true) return false;
					break;
				//¿µ¾î·Î¸¸
				case 'eng':
					result  = "var eng_pattern = /(^[a-zA-Z]+$)/gi;";
					result += "if ("+first+"!eng_pattern.test(item.value)"+len_chk+")) {";
					result += "alert('"+msg+" ¿µ¾î·Î¸¸ ÀÔ·ÂÇÏ¼¼¿ä."+len_text+"');";
					result += "item.focus();";
					result += "ret_chk = true;";
					result += "}";
					eval(result);
					if (ret_chk == true) return false;
				break;
				//ÇÑ±Û·Î¸¸
				case 'kor':
					result  = "var kor_pattern = /(^[¤¡-ÆR]+$)/gi;";
					result += "if ("+first+"!kor_pattern.test(item.value)"+len_chk+")) {";
					result += "alert('"+msg+" ÇÑ±Û·Î¸¸ ÀÔ·ÂÇÏ¼¼¿ä."+len_text+"');";
					result += "item.focus();";
					result += "ret_chk = true;";
					result += "}";
					eval(result);
					if (ret_chk == true) return false;
					break;
				//from='ÇÊµå'  ¿Í ÀÏÄ¡°Ë»ç½Ã
				case 'like':
					result  = "var obj_from = document.getElementsByName('"+from+"')[0];";
					result += "if (obj_from.value && (obj_from.value !== item.value"+len_chk+")) {";
					result += "alert('"+msg+" ÀÏÄ¡ ÇÏÁö ¾Ê½À´Ï´Ù."+len_text+"');";
					result += "item.focus();";
					result += "ret_chk = true;";
					result += "}";
					eval(result);
					if (ret_chk == true) return false;
					break;
				//¿µ¾î ÇÑ±Û
				case 'kor+eng':
				case 'eng+kor':
					result  = "var eng_kor_num_pattern = /(^[a-zA-Z¤¡-ÆR]+$)/gi;";
					result += "if ("+first+"!eng_kor_num_pattern.test(item.value)"+len_chk+")) {";
					result += "alert('"+msg+" ¿µ¹® ¹× ÇÑ±Û·Î¸¸ ÀÔ·ÂÇÏ¼¼¿ä."+len_text+"');";
					result += "item.focus();";
					result += "ret_chk = true;";
					result += "}";
					eval(result);
					if (ret_chk == true) return false;
					break;
				//¿µ¾î ÇÑ±Û ¼ýÀÚ
				case 'num+eng+kor':
				case 'kor+num+eng':
				case 'eng+num+kor':
				case 'num+kor+eng':
				case 'kor+eng+num':
				case 'eng+kor+num':
					result  = "var eng_kor_num_pattern = /(^[a-zA-Z0-9¤¡-ÆR]+$)/gi;";
					result += "if ("+first+"!eng_kor_num_pattern.test(item.value)"+len_chk+")) {";
					result += "alert('"+msg+" ¿µ¹®,ÇÑ±Û ¹× ¼ýÀÚ·Î¸¸ ÀÔ·ÂÇÏ¼¼¿ä."+len_text+"');";
					result += "item.focus();";
					result += "ret_chk = true;";
					result += "}";
					eval(result);
					if (ret_chk == true) return false;
					break;
				//¿µ¾î ¼ýÀÚ
				case 'num+eng':
				case 'eng+num':
					result  = "var eng_num_pattern = /(^[a-zA-Z0-9]+$)/gi;";
					result += "if ("+first+"!eng_num_pattern.test(item.value)"+len_chk+")) {";
					result += "alert('"+msg+" ¼ýÀÚ ¹× ¿µ¾î·Î¸¸ ÀÔ·ÂÇÏ¼¼¿ä."+len_text+"');";
					result += "item.focus();";
					result += "ret_chk = true;";
					result += "}";
					eval(result);
					if (ret_chk == true) return false;
					break;
				//ÀÌ¸ÞÀÏ
				case 'email':
					result  = "var email_pattern = /(^[a-zA-Z0-9]+@[a-zA-Z0-9]+[a-zA-Z0-9-]+[a-zA-Z0-9]+\.[a-zA-Z]+[.a-zA-Z]+$)/gi;";
					result += "if ("+first+"!email_pattern.test(item.value)"+len_chk+")) {";
					result += "alert('"+msg+" Á¤È®È÷ ÀÔ·ÂÇÏ¼¼¿ä."+len_text+"');";
					result += "item.focus();";
					result += "ret_chk = true;";
					result += "}";
					eval(result);
					if (ret_chk == true) return false;
					break;
				//ÁÖ¹Îµî·Ï¹øÈ£(»ç¿ë¹ý : ÁÖ¹Î¹øÈ£ µÞºÎºÐ ÇÊµå¿¡ kind='jumin_number' from='¾ÕºÎºÐÇÊµå' chk='y' msg='¾Æ¹«°Å³ª')
				case 'jumin':
				case 'jumin_number':
					var jumin_number_chk	= false;
					var obj_from		= document.getElementsByName(from)[0];
					if (chk == 'y' || chk == 'Y')
					{
						jumin_number_chk = true;
					}
					else
					{
						if (obj_from.value || item.value) jumin_number_chk = true;
					}

					if (jumin_number_chk == true)
					{
						result  = "var jumin_number_check = juminNumberChk('"+obj_from.value+"-"+item.value+"');";
						result += "if (jumin_number_check == false) {";
						result += "alert('"+msg+" Á¤È®È÷ ÀÔ·ÂÇÏ¼¼¿ä."+len_text+"');";
						result += "item.focus();";
						result += "ret_chk = true;";
						result += "}";
						eval(result);
						if (ret_chk == true) return false;
					}
					break;

				default:
					result  = "if ("+first+"item.value.trim() == ''"+len_chk+")) {";
					result += "alert('"+msg+" ÀÔ·ÂÇÏ¼¼¿ä."+len_text+"');";
					result += "item.focus();";
					result += "ret_chk = true;";
					result += "}";
					eval(result);
					if (ret_chk == true) return false;
					break;

		        }//switch Á¾·á
		    }
		}
		chk		= '';
		msg		= '';
		kind		= '';
		from		= '';
		item		= '';
		len		= '';
		ex_len		= '';
		len_chk		= '';
		len_text	= '';
		min		= '';
		max		= '';
		result		= '';
		first		= '';
		ret_chk		= false;
	}//for Á¾·á

	function juminNumberChk(jumin_number)
	{
		jumin_number	= jumin_number.replace('-', '');
		if (jumin_number.length > 13) return false;
		var last	= jumin_number.substring(13, 12);
		var arr		= new Array(2,3,4,5,6,7,8,9,2,3,4,5);
		var val		= 0;

		for (var i = 0; i < 12; i++)
		{
	   	 	val += arr[i] * jumin_number.substring(i, i+1);
		}

		val	= val%11;
		if (11 - val == last)
		{
			return true;
		}
		else
		{
			return false;
		}
	}

       return true;
}



String.prototype.trim = function(){
	return this.replace(/^\s+|\s+$/g,'');
}
String.prototype.rtrim = function(){
	return this.replace(/\s+$/g,'');
}
String.prototype.ltrim = function(){
	return this.replace(/^\s+/g,'');
}



//textÇÊµå Æû°Ë»ç
function checkForm(form)
{
	var e = form.elements;

	for (k = 0; k < e.length; k++)
	{
		var checkAttr	= e[k].getAttribute('required');
		if (checkAttr == null)	{ continue; }
		if (e[k].value != '')	{ continue; }
		alert(checkAttr + 'À»(¸¦) ÀÔ·ÂÇÏ¼¼¿ä');
		if (e[k].type != 'hidden')	{ e[k].focus(); }
		else				{ e[(k - 1)].focus(); }
		return false;
	}
}

//¼ýÀÚ°ªÃ¼Å©
function numCheck(s)
{
	var acceptCode	= new Array(8, 13, 46, 9, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 37, 38, 39, 40);
	var ck		= true;

	for (i = 0; i < acceptCode.length; i++)
	{
		if (event.keyCode == acceptCode[i])	{ ck = false; break; }
	}

	if (ck)		{ event.returnValue = false; return false; }
}


//url º¹»çÇÏ±â
function ClipBoard(url)
{
	window.clipboardData.setData('Text',url);
	window.alert("¿«ÀÎ±Û ÁÖ¼Ò°¡ º¹»çµÇ¾ú½À´Ï´Ù.");
}






/**
  * ÄíÅ°°ª ÃßÃâ
  * @param cookieName ÄíÅ°¸í
  */
function getCookie( cookieName )
{
	var search = cookieName + "=";
	var cookie = document.cookie;

// ÇöÀç ÄíÅ°°¡ Á¸ÀçÇÒ °æ¿ì
	if ( cookie.length > 0 )
	{
		// ÇØ´ç ÄíÅ°¸íÀÌ Á¸ÀçÇÏ´ÂÁö °Ë»öÇÑ ÈÄ Á¸ÀçÇÏ¸é À§Ä¡¸¦ ¸®ÅÏ.
		startIndex = cookie.indexOf( cookieName );

		// ¸¸¾à Á¸ÀçÇÑ´Ù¸é
		if ( startIndex != -1 )
		{
			// °ªÀ» ¾ò¾î³»±â À§ÇØ ½ÃÀÛ ÀÎµ¦½º Á¶Àý
			startIndex += cookieName.length;
			// °ªÀ» ¾ò¾î³»±â À§ÇØ Á¾·á ÀÎµ¦½º ÃßÃâ
			endIndex = cookie.indexOf( ";", startIndex );
			// ¸¸¾à Á¾·á ÀÎµ¦½º¸¦ ¸øÃ£°Ô µÇ¸é ÄíÅ° ÀüÃ¼±æÀÌ·Î ¼³Á¤
			if ( endIndex == -1) endIndex = cookie.length;
			// ÄíÅ°°ªÀ» ÃßÃâÇÏ¿© ¸®ÅÏ
			return unescape( cookie.substring( startIndex + 1, endIndex ) );
		}
		else
		{
			// ÄíÅ° ³»¿¡ ÇØ´ç ÄíÅ°°¡ Á¸ÀçÇÏÁö ¾ÊÀ» °æ¿ì
			return false;
		}
	}
	else
	{
		// ÄíÅ° ÀÚÃ¼°¡ ¾øÀ» °æ¿ì
		return false;
	}
}



 /**
  * ÄíÅ° ¼³Á¤
  * @param cookieName ÄíÅ°¸í
  * @param cookieValue ÄíÅ°°ª
  * @param expireDay ÄíÅ° À¯È¿³¯Â¥
  */
function setCookie( name, value, expiredays )
{
	var todayDate = new Date();
	todayDate.setDate( todayDate.getDate() + expiredays );
	document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}



 /**
  * ÄíÅ° »èÁ¦
  * @param cookieName »èÁ¦ÇÒ ÄíÅ°¸í
  */
 function deleteCookie( cookieName )
 {
	var expireDate = new Date();
	//¾îÁ¦ ³¯Â¥¸¦ ÄíÅ° ¼Ò¸ê ³¯Â¥·Î ¼³Á¤ÇÑ´Ù.
	expireDate.setDate( expireDate.getDate() - 1 );
	document.cookie = cookieName + "= " + "; expires=" + expireDate.toGMTString() + "; path=/";
 }


 /**
  * ÀüÃ¼ ÄíÅ° Ãâ·Â
  */
function viewCookie()
{
	var ckval;
	if ( document.cookie.length > 0 )
		ckval	= document.cookie;
	else
		ckval	= "ÀúÀåµÈ ÄíÅ°°¡ ¾ø½À´Ï´Ù.";
	alert(ckval);
}

/****************************************************************************************
//objformÀÇ objary¼¿·ºÆ®¹Ú½ºÀÇ °ªÀ» txtboxÅØ½ºÆ® ¹Ú½º·Î ÀÔ·Â

<select onchange=selectEmail(Æû(this.form), ¼¿·ºÆ®¹Ú½º(this), ÅØ½ºÆ®¹Ú½ºid)>
****************************************************************************************/
function selectEmail(objform, objary, txtbox)
{  					//¼¿·ºÆ® ¹Ú½º ¼±ÅÃÈÄ ÀÌº¥Æ®
	var form	= objform;
	var opts	= objary.options;
	var sIndex	= objary.selectedIndex; 		//¼±ÅÃÇÑoption
	if (opts[sIndex].value!="s" && opts[sIndex].value!="w")
	{  							//¸ÞÀÏ¼±ÅÃ, Á÷Á¢ÀÔ·ÂÀ» Á¦¿ÜÇÑ ³ª¸ÓÁö selectedIndex°ª textbox·Î ÀÌµ¿
		$(txtbox).value		= opts[sIndex].text;
		$(txtbox).readOnly	= true;  		//ÁÖ¼Ò Á÷Á¢ÀÔ·ÂÇÒ¼ö ¾øÀ½
	}
	else if (opts[sIndex].value=="w")
	{   							//Á÷Á¢ÀÔ·ÂÀÎ °æ¿ì´Â readOnlyÇØÁ¦, focusÀÌµ¿ÈÄ Á÷Á¢ÀÔ·Â
		$(txtbox).value		= "";
		$(txtbox).readOnly	= false;   		//ÁÖ¼Ò Á÷Á¢ÀÔ·Â °¡´É
		$(txtbox).focus();
	}
}

