// ==============================================================
// ÆÄÀÏ¸í   : LW_MemberJoin.js
// È¸»ç¸í   : ¸µÅ©¿ÍÀÌµå
// ¸¸µç»ç¶÷ : ÃÖÁ¤È£(kkalsam7@hanmail.net)
// ÃÖÁ¾¼öÁ¤ : 2006-08-02 ¸ñ¿äÀÏ
//
// È¸¿ø°¡ÀÔÆäÀÌÁö¿¡¿Í ¼öÁ¤ ÆäÀÌÁö¿¡¼­ °øÅëÀ¸·Î »ç¿ëµÇ´Â ÇÔ¼ö
// ==============================================================

// -------------------------------------------------------------------
// È¸¿ø°¡ÀÔ½Ã ÆûÃ¼Å© ÇÔ¼ö
// -------------------------------------------------------------------
function checkJoinForm()
{
	// id,pwd,name µîÀÇ Á¤º¸´Â °¡ÀÔ½Ã¸¸ Ã¼Å©ÇÑ´Ù
	if(this.mode == "join")
	{
		if(!this.form.id.value)
		{
			alert('Please input ID');
			this.form.id.focus();
			return false;
		}

		if(this.form.idChkOk.value == 0 || !this.form.idChkOk.value)
		{
			alert('Please check ID duplication');
			this.form.id.focus();
			return false;
		}
	
		if(!this.form.pwd.value)
		{
			alert('Please input password');
			this.form.pwd.focus();
			return false;
		}

		if(this.form.pwd.value.length < 4)
		{
			alert("Password must be at least four(4) letters");
			this.form.pwd.focus();
			return false;
		}

		if(!this.form.pwd_ok.value)
		{
			alert('Please input the password again to confirm');
			this.form.pwd_ok.focus();
			return false;
		}
		else
		{
			if(this.form.pwd.value != this.form.pwd_ok.value)
			{
				alert('The inputted password is wrong. Try again');
				this.form.pwd.value = "";
				this.form.pwd_ok.value = "";
				this.form.pwd.focus();
				return false;
			}
		}

		if(!this.form.name.value)
		{
			alert('Please input name');
			this.form.name.focus();
			return false;
		}
	}

	// ¼öÁ¤¸ðµåÀÏ¶§ ºñ¹Ð¹øÈ£´Â »óÈ²¿¡ µû¶ó¼­ Ã¼Å©ÇÑ´Ù
	/*if(this.mode == "edit" && this.form.pwd.value.length >= 4 && this.form.pwd_ok.value.length >= 4)
	{
		if(this.form.pwd.value != this.form.pwd_ok.value)
		{
			alert('ÀÔ·ÂÇÏ½Å ºñ¹Ð¹øÈ£°¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù\n\nºñ¹Ð¹øÈ£ ¼öÁ¤À» ¿øÄ¡ ¾ÊÀ¸½Ã¸é ºñ¹Ð¹øÈ£ ¹× È®ÀÎ¶õÀ» ºñ¿öÁÖ½Ê½Ã¿À.\n\nºñ¹Ð¹øÈ£¸¦ ¼öÁ¤ÇÏ½Ã·Á¸é ´Ù½Ã ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿ä');
			this.form.pwd.value = "";
			this.form.pwd_ok.value = "";
			this.form.pwd.focus();
			return false;
		}
	}*/

	if(this.from == "a")
	{
		if(this.form.level[0].selected == true)
		{
			alert("Please select member grade");
			return false;
		}
	}

	// ¾Æ·¡ ºÎºÐµéÀº »ç¿ëÀÚ ÆäÀÌÁö¿¡¼­¸¸ ½ÇÇà
	if(this.from == "m")
	{
		for(var i = 0 ; i < this.item.length ; i++)
		{
			if(this.item[i][0] != "birth" || this.item[i][0] != "addr" || this.item[i][0] != "telnum" || this.item[i][0] != "celnum")
			{
				field	= eval("this.form."+this.item[i][0]);
			}

			switch(this.item[i][0])
			{
				//-- ÁÖ¹Îµî·Ï¹øÈ£ ½ÃÀÛ -------------------------------------
				case	"jumin":
						// ÁÖ¹Îµî·Ï¹øÈ£´Â °¡ÀÔ½Ã¸¸ Ã¼Å©ÇÑ´Ù
						if(this.item[i][2] == "y" && this.mode == "join")
						{
							if(!field.value)
							{
								alert("Please input resident registeration number");
								field.focus();
								return false;
							}
							
							/*if(this.juminCheck(field.value) == false)
							{
								alert("The resident registeration number is wrong. Try again");
								field.value	= "";
								field.focus();
								return false;
							}*/
						}
				break;
				//-- ÁÖ¹Îµî·Ï¹øÈ£ ³¡ ------------------------------------------
				//-- ´Ð³×ÀÓ½ÃÀÛ ----------------------------------------------
				case	"nickname":
						if(this.item[i][2] == "y")
						{
							if(!field.value)
							{
								alert("Please input nick name");
								field.focus();
								return false;
							}
							else
							{
								// Áßº¹Ã¼Å©
								if(this.item[i][3] == "y" && !this.form.nickChkOk.value)
								{
									alert("Please check nick name duplication");
									field.focus();
									return false;
								}
							}
						}
				break;
				//-- ´Ð³×ÀÓ ³¡ ---------------------------------------------------
				//-- E-mail½ÃÀÛ ----------------------------------------------
				case	"email":
						if(!field.value && this.item[i][2] == "y")
						{
							alert("Please input E-mail address");
							field.focus();
							return false;
						}
				break;
				//-- E-mail ³¡ ---------------------------------------------------
				//-- »ýÀÏ½ÃÀÛ ----------------------------------------------
				case	"birth":
						// »ý³â¿ùÀÏÀº ÁÖ¹Îµî·Ï¹øÈ£¸¦ »ç¿ëÇÒ °æ¿ì ÀÚµ¿À¸·Î ÀÔ·ÂµÇÁö¸¸
						// ½ÇÁ¦»ýÀÏÀ» ÀÔ·ÂÇÒ ¼ö ÀÖµµ·Ï ÆíÁý °¡´ÉÇÏµµ·Ï ÇÑ´Ù.
						if(this.item[i][2] == "y")
						{
							if(!this.form.bYY.value)
							{
								alert("Please input birtyday (year)");
								this.form.bYY.focus();
								return false;
							}
							if(!this.form.bMM.value)
							{
								alert("Please input birtyday (month)");
								this.form.bMM.focus();
								return false;
							}
							if(!this.form.bDD.value)
							{
								alert("Please input birtyday (day)");
								this.form.bDD.focus();
								return false;
							}
						}
				break;
				//-- »ýÀÏ³¡ ---------------------------------------------------
				
				//-- ¼ºº°½ÃÀÛ ----------------------------------------------
				case	"sex":
						// È¸¿ø°¡ÀÔÀÏ¶§´Â ÁÖ¹Îµî·Ï¹øÈ£¸¦ »ç¿ëÇÏÁö ¾Ê°Å³ª »ç¿ëÇØµµ ÇÊ¼ö°¡ ¾Æ´Ò¶§ Ã¼Å©ÇÑ´Ù
						// ÁÖ¹Îµî·Ï¹øÈ£¸¦ »ç¿ëÇÏ°í ÇÊ¼öÀÏ¶§´Â ÀÚµ¿À¸·Î Ã³¸®µÈ´Ù.
						if(this.mode == "join")
						{
							//juminIdx	= this.getItemIdx("jumin");
							//if(juminIdx != -1 || this.item[juminIdx][2] == "n")
							//{
								if(field[0].checked == false && field[1].checked == false)
								{
									alert("Please select sex distinction");
									return false;
								}
							//}
						}
				break;
				//-- ¼ºº°³¡ ---------------------------------------------------
				//-- ÁÖ¼Ò/¿ìÆí¹øÈ£½ÃÀÛ ----------------------------------------------
				case	"addr":
						if(this.item[i][2] == "y")
						{
							if(!this.form.zip1.value)
							{
								alert('Please input postal code');
								this.form.zip1.focus();
								return false;
							}
							if(!this.form.zip2.value)
							{
								alert('Please input postal code');
								this.form.zip2.focus();
								return false;
							}
							if(!this.form.addr1.value)
							{
								alert('Please input address');
								this.form.addr1.focus();
								return false;
							}
						}
				break;
				//-- ÁÖ¼Ò/¿ìÆí¹øÈ£³¡ ---------------------------------------------------
				//-- ÀüÈ­¹øÈ£½ÃÀÛ ----------------------------------------------
				case	"telnum":
						if(this.item[i][2] == "y")
						{
							if(!this.form.tel_1.value)
							{
								alert("Please input Tel No.");
								this.form.tel_1.focus();
								return false;
							}
							if(!this.form.tel_2.value)
							{
								alert("Please input Tel No.");
								this.form.tel_2.focus();
								return false;
							}
							if(!this.form.tel_3.value)
							{
								alert("Please input Tel No.");
								this.form.tel_3.focus();
								return false;
							}
						}
				break;
				//-- ÀüÈ­¹øÈ£³¡ ---------------------------------------------------
				//-- ÇÚµåÆù¹øÈ£½ÃÀÛ ----------------------------------------------
				case	"celnum":
						if(this.item[i][2] == "y")
						{
							if(!this.form.cel_1.value)
							{
								alert("Please input mobile phone No.");
								this.form.cel_1.focus();
								return false;
							}
							if(!this.form.cel_2.value)
							{
								alert("Please input mobile phone No.");
								this.form.cel_2.focus();
								return false;
							}
							if(!this.form.cel_3.value)
							{
								alert("Please input mobile phone No.");
								this.form.cel_3.focus();
								return false;
							}
						}
				break;
				//-- ÇÚµåÆù¹øÈ£³¡ ---------------------------------------------------
				//-- Á÷¾÷½ÃÀÛ ----------------------------------------------
				case	"job":
						if(this.item[i][2] == "y")
						{
							if(field.value == 0)
							{
								alert("Please select job");
								field.focus();
								return false;
							}
						}
				break;
				//-- Á÷¾÷³¡ ---------------------------------------------------
				//-- ÃßÃµÀÎ½ÃÀÛ ----------------------------------------------
				case	"recommend":
						// ÃßÃµÀÎÀº ¼öÁ¤¸ðµå¿¡¼­´Â »ç¿ëÇÏÁö ¾Ê´Â´Ù
						if(this.mode == "join")
						{
							if(!field.value && this.item[i][2] == "y")
							{
								alert("Please input recommender id.");
								field.focus();
								return false;
							}
						}
				break;
				//-- ÃßÃµÀÎ ³¡ ---------------------------------------------------
			}		
		}
	}

	this.form.submit();
}

//------------------------------------------------------------------------
// ÁÖ¹Îµî·Ï¹øÈ£ °Ë»ç
//------------------------------------------------------------------------
function juminCheck(juminVal)
{
	var juminArr = new Array(12);				
	var flag = true;

	j = 2;										
	juminHab = 0;								

	for(var i = 0 ; i < juminVal.length - 1; i++)	
	{
		juminArr[i]	= juminVal.charAt(i) * j;	
		juminHab	= juminHab + juminArr[i];	

		if(j == 9)	j = 2;						
		else		j++;						
	}

	juminMod = juminHab % 11;
	last_bit = 11 - juminMod;
	
	if((last_bit % 10) == juminVal.charAt(12))	flag = true;
	else										flag = false;

	return flag;
}

//---------------------------------------------
//	ÀÔ·ÂµÈ ÁÖ¹Î¹øÈ£·Î »ýÀÏ¹×¼ºº°À» ±¸ÇÑ´Ù
//---------------------------------------------
function setBirth(field)
{
	if(field.value.length == 13)
	{
		var isOk	= this.juminCheck(field.value);

		if(isOk)
		{
			yy	= field.value.substring(0,2);
			mm	= field.value.substring(2,4);
			dd	= field.value.substring(4,6);
			cal	= field.value.charAt(6);

			if(cal < 3)	yy	= 1900 + (yy * 1);
			else		yy	= 2000 + (yy * 1);
			
			birthIdx	= this.getItemIdx("birth");
			sexIdx		= this.getItemIdx("sex");
			
			if(this.item[birthIdx][2] == 'y')
			{
				this.form.bYY.value	= yy;
				this.form.bMM.value	= mm;
				this.form.bDD.value = dd
			}

			if(sexIdx != -1 && this.item[sexIdx][2] == 'y')
			{
				if(cal % 2 == 1)	this.form.sex[0].checked	= true;
				else				this.form.sex[1].checked	= true;
			}

			nextEle	= this.nextElement('jumin',this.form);
			this.form.elements[nextEle].focus();
		}
		else
		{
			alert("The resident registeration number is wrong.");
			field.value	= "";
			field.focus();
			return false;
		}
	}
}

// ----------------------------------------------------------
// °´Ã¼»ý¼ºµÇ´Â ÇÔ¼ö
// ----------------------------------------------------------
function initMemberJoinForm(form,homeUrl,mode,from)
{
	this.item		= new Array();

	this.strItems	= document.all.strItems.innerHTML;

	this.homeUrl			= homeUrl;
	this.form				= eval("document."+form);
	this.formName			= form;				// ÆûÀÌ¸§
	this.mode				= mode;
	this.from				= from;

	this.setJoinItem		= setJoinItem;
	this.getItemIdx			= getItemIdx;
	this.overlapCheck		= overlapCheck;
	this.nextElement		= nextElement;
	this.cannotUseUniqVal	= cannotUseUniqVal;
	this.canUseUniqVal		= canUseUniqVal;
	this.juminCheck			= juminCheck;
	this.setBirth			= setBirth;
	this.zipSearch			= zipSearch;
	this.checkIt			= checkJoinForm;

	this.setJoinItem();

	if(from == "m" && mode == "join" && this.getItemIdx("birth") != -1)
	{
		this.setBirth(this.form.jumin);
	}
}
