var msg = new validateMessage("error");

var Home = {
	loginUrl : Common.getRoot() + "main",
	CheckResult : function (pValue)
	{
		Home.CheckLoginUrl();
		if (pValue.resultCode == RT_OK)
		{
			var g = Common.getGroupID();

			location.href= Home.loginUrl;
		}
		else
		{
			validCheck.setMessage(pValue);
			$("id").focus();
		}
	},

	Login : function (pId, pPassword, pSave)
	{
		var temp;
		if (pId.indexOf("@") > 0)
		{
			temp = pId.split("@");
			pId = temp[0];
		}

		if (pathHelper.getInfo("URLTYPE") == "D")
		{
			if (!validCheck.patternCheck("require|between_length", pId, DOMAIN_MINLEN, 50))
				return validCheck.setMessage("ERROR_ID_REQUIRE", "id", false);
		}
		else
		{
			if (!validCheck.patternCheck("require|between_length", pId, DOMAIN_MINLEN, 16))
				return validCheck.setMessage("ERROR_ID_INVALID", "id", false);
		}
		
		if (!validCheck.patternCheck("require", pPassword))
			return validCheck.setMessage("ERROR_PASSWORD_REQUIRE", "passwd", false);

		var param = $H({'userid' : pId, 'password' : pPassword, 'remember' : pSave});

		getAjaxData(Common.getRoot() + 'home/Login', param, Home.CheckResult);
	},

	Enter : function(pEvent)
	{
		if (pEvent.keyCode==13) Home.Login($('id').value, $('passwd').value, $('sv').checked);
	},

	ViewMakeAccount : function ()
	{
		Common._createBackGround();
		
		var oInfoFrame = document.createElement("iframe");
		oInfoFrame.setAttribute("id", "tempIframe");
		oInfoFrame.setAttribute("frameBorder", "0");

		document.getElementById("outline").appendChild(oInfoFrame);
		
		$("tempIframe").frameborder = "0";
		$("tempIframe").frameBorder = "0";
		$("tempIframe").setStyle({float:'left',width:'500px', height:'600px', display:'inline', zIndex:'30', border:'none'});
		$("tempIframe").setStyle({filter:'alpha(opacity=100)','-moz-opacity':'100%','opacity':'1.0'});
		$("tempIframe").src = Common.getRoot() + "accountrequest";
	},

	CloseTempDiv : function()
	{
		parent.document.getElementById("alphaDiv").style.display = "none";
		parent.document.getElementById("tempIframe").style.display = "none";
		//parent.document.getElementById("alphaDiv").parentNode.removeChild(parent.document.getElementById("alphaDiv"));
		//parent.document.getElementById("tempIframe").parentNode.removeChild(parent.document.getElementById("tempIframe"));
	},

	CheckLoginUrl: function() {
		if(location.href.indexOf("#loginUrl") > -1){
			var tmp = "?" + location.href.split("#")[1];
			Home.loginUrl = tmp.toQueryParams().loginUrl;
		} else {
			Home.loginUrl = Common.getRoot() + "main";
		}
	},

	customerBillDocument : function() {
		window.open(Common.getRoot() + 'bill/customer/customer_search', 'customerBill', 'width=850,height=700,resizable=1,scrollbars=1' );
	}
}

var Account = {
	HiworksPassword: null,
	isIdDup: false,
	checkedId: null,
	CheckResult : function (pValue)
	{
		validCheck.setMessage(pValue);
		if(pValue.resultCode == RT_OK) {
			Account.isIdDup = true;
		} else {
			Account.isIdDup = false;
		}
	},

	CheckIdDup: function()
	{
		if(Account.isIdDup == false) {
			return validCheck.setMessage("ERROR_ID_CHECK_REQUIRE", "userid", false);
		} else if(Account.checkedId != null && Account.checkedId != $('userid').value) {
			return validCheck.setMessage("ERROR_ID_CHECK_REQUIRE", "userid", false);
		}
		return true;
	},

	CheckID : function ()
	{
		if (this.CheckIdLen())
		{
			Account.checkedId = $("userid").value;
			var param = $H({'userid' : $("userid").value});
			getAjaxData(Common.getRoot() + 'accountrequest/CheckID', param, Account.CheckResult);
		}
	},

	CheckIdLen: function() {
		if ($("userid").value.charAt(0) == "_" || $("userid").value.charAt(0) == ".")
			return validCheck.setMessage("ERROR_ID_INVALID", "userid", false);

		if(pathHelper.getInfo('URLTYPE') == 'G') {
			if (!validCheck.patternCheck("require|between_length|emailid", $("userid").value, GROUP_MINLEN, 16)) {
				return validCheck.setMessage("ERROR_ID_INVALID", "userid", false);
			}
		} else {
			if (!validCheck.patternCheck("require|between_length|emailid", $("userid").value, DOMAIN_MINLEN, 16)) {
				return validCheck.setMessage("ERROR_ID_INVALID", "userid", false);
			}
		}

		return true;
	},

	CheckName : function()
	{
		if (!validCheck.patternCheck("require|between_length", $("username").value, 2, 30))
			return validCheck.setMessage("ERROR_NAME_REQUIRE", "username", false);
		else return true;
	},

	CheckEmail : function ()
	{
		if (!validCheck.patternCheck("valid_email", $("private_email").value))
			return validCheck.setMessage("ERROR_EMAIL_INVALID", "private_email", false);
		else return true;
	},

	CheckPassword : function()
	{
		if(pathHelper.getInfo('URLTYPE') == 'G') {
			if (!validCheck.patternCheck("require|between_length", $("password").value, 8, 16))
				return validCheck.setMessage("ERROR_PASSWORD_REQUIRE", "password", false);
			if (!validCheck.patternCheck("require|between_length", $("repassword").value, 8, 16))
				return validCheck.setMessage("ERROR_PASSWORD_REQUIRE", "repassword", false);

			if ($("password").value != $("repassword").value)
				return validCheck.setMessage("ERROR_PASSWORD_REQUIRE", "password", false);

			if(!validCheck.patternCheck('alpha_numeric', $('password').value))
				return validCheck.setMessage("ERROR_PASSWORD_REQUIRE", "repassword", false);
		} else {
			if (!validCheck.patternCheck("repeat_pattern", $("password").value, 4))
				return validCheck.setMessage("ERROR_PASSWORD_REPEAT_PATTERN", "password", false);
			if (validCheck.patternCheck("numeric", $("password").value))
				return validCheck.setMessage("ERROR_PASSWORD_NUMERIC_ONLY", "password", false);
			if ($("password").value == $("userid").value)
				return validCheck.setMessage("ERROR_PASSWORD_SAME_ID", "password", false);

			if (!validCheck.patternCheck("require|between_length", $("password").value, 6, 16))
				return validCheck.setMessage("ERROR_PASSWORD_INVALID_LENGTH", "password", false);

			if ($("password").value != $("repassword").value)
				return validCheck.setMessage("ERROR_PASSWORD_REQUIRE", "password", false);
		}

		return true;
	},

	CheckMailSize : function()
	{
		if(pathHelper.getInfo('URLTYPE') == 'G') return true;
		if ($("mailsizeY"))
		{
			if ($("mailsizeY").checked)
			{
				if (parseInt($("mailsize").value, 10) < parseInt($("std_mail_size").value, 10))
					return validCheck.setMessage("ERROR_MAILSIZE_INVALID", "mailsize", false);
			}
		}
		
		return true;
	},

	CheckUseMail : function()
	{
		if ($("mailsizeN").checked)
		{
			$("mailsize").disabled = "true";
			$("mailsize").value = "0";
		}
		else
		{
			$("mailsize").disabled = "";
			$("mailsize").value = $("std_mail_size").value;
		}
	},

	CheckUseWebhard : function()
	{
		if ($("webhardsizeN").checked)
		{
			$("webhardsize").disabled = "true";
			$("webhardsize").value = "0";
		}
		else
		{
			$("webhardsize").disabled = "";
			$("webhardsize").value = BASIC_WEBHARD_SIZE;
		}
	},

	CheckWebhardSize : function()
	{
		if ($("webhardsizeY").checked)
		{
			if (parseInt($("webhardsize").value, 10) < BASIC_WEBHARD_SIZE)
				return validCheck.setMessage("ERROR_WEBHARDSIZE_INVALID", "webhardsize", false);
		}

		return true;
	},

	CheckPhone : function (pValue)
	{
		if (!validCheck.patternCheck("allphone", $(pValue).value))
			return validCheck.setMessage("ERROR_PHONE_INVALID", pValue, false);
		else return true;
	},

	Submit : function()
	{
		if (!this.CheckIdDup()) return false;
		if (!this.CheckIdLen()) return false;
		if (!this.CheckName()) return false;
		if($('id_type').value == 1) {
			$("password").value = this.HiworksPassword;
			$("repassword").value = this.HiworksPassword;
		} else {
			if (!this.CheckPassword()) return false;
		}
		if (!this.CheckMailSize()) return false;
		//if (!this.CheckWebhardSize()) return false;

		if ($("private_email").value != "")
			if (!this.CheckEmail()) return false;

		if ($("tel").value != "")
			if (!this.CheckPhone("tel")) return false;

		if ($("cellphone").value != "")
			if (!this.CheckPhone("cellphone")) return false;

		if ($("jobdate").value != "")
			if (!validCheck.patternCheck("isdate", $("jobdate").value)) return validCheck.setMessage("ERROR_DATEFORMAT_INVALID", "jobdate", false);

		if ($("b_year").value != "" || $("b_month").value != "" || $("b_day").value != "")
		{
			var b_date = $("b_year").value + "-" + $("b_month").value + "-" + $("b_day").value;

			if (!validCheck.patternCheck("isdate", b_date)) return validCheck.setMessage("ERROR_DATEFORMAT_INVALID", "b_year", false);
			
			$("birthday").value = b_date;
		}

		if ($("sun").checked) $("birth_flag").value = "S";
		else $("birth_flag").value = "M";

		if ($("address2").value != "" && $("address1") == "")
			return validCheck.setMessage("ERROR_ADDRESS_INVALID", "address2", false);

		if ($("picture").value != "")
			if (!validCheck.patternCheck("extension", $("picture").value, "gif,jpg")) return validCheck.setMessage("ERROR_FILE_EXTENSION_INVALID", "picture", false);
		
		if ($("webhardsize"))
		{
			if ($("webhardsize").value < basic_webhard_size && $("webhardsizeY").checked)
			{
				alert(msg.getMessage("ERROR_WEBHARDSIZE_INVALID"));
				return;
			}
		}
		
		$("frmAccount").action = Common.getRoot() + "accountrequest/InsertData";
		$("frmAccount").submit();
	},

	AccountFromHiworks: function() {
		$('IdFromHiworks').openLayer().backLayerShow();
		$("hiworks_id").focus();
	},

	HiworksIdCkeck: function() {
		if (!validCheck.patternCheck("require", $("hiworks_id").value)) {
			return validCheck.setMessage("HIWORKS_ID_REQUIRED", "hiworks_id", false);
		}
		if (!validCheck.patternCheck("require", $("hiworks_passwd").value)) {
			return validCheck.setMessage("HIWORKS_PASSWD_REQUIRED", "hiworks_passwd", false);
		}

		this.HiworksPassword = $("hiworks_passwd").value;
		var param = $H({'hiworks_id' : $("hiworks_id").value, 'hiworks_passwd' : $("hiworks_passwd").value});
		getAjaxData(Common.getRoot() + 'accountrequest/hiworks_id_chk', param, Account.HiworksIdCkeckOk);
	},

	HiworksIdCkeckOk: function(hiworksData) {
		var data = hiworksData.result;

		if(typeof(data.Id) == 'undefined') {
			return false;
		}

		Account.isIdDup = true;

		$('passwdTR').hide();
		$('repasswdTR').hide();

		$('userid').value = data.Id;
		$('userid').readOnly = 'readOnly';

		$('usernameLayer').innerHTML = data.HanName;
		$('usernameLayer').show();
		$('username').value = data.HanName;
		$('username').hide();

		$('private_email').value = data.Email;
		$('tel').value = data.Phone;
		$('cellphone').value = data.HpNo;
		$('zip1').value = data.Zip1;
		$('zip2').value = data.Zip2;
		$('address1').value = data.HanAddr;
		$('address2').value = data.HandAddr2;

		$('authOkLayer').show();
		$('dupChkImg').hide();

		$('id_type').value = 1;

		Account.closeFromHiworks();

		/*
		"Id":"seojwfan",
		"HanName":"\uae40\ubbfc\uad6d",
		"EngName":"Kim Min-guk",
		"HanOrg":"",
		"EngOrg":null,
		"Juno":"821107-1451118",
		"Gubun":"0",
		"Zip1":"151",
		"Zip2":"821",
		"HanAddr":"\uc11c\uc6b8 \uad00\uc545\uad6c \ubd09\ucc9c1\ub3d9 694-13\ubc88\uc9c0 102\ud638",
		"HandAddr2":"",
		"EngAddr":"694-13 102 Bongcheon1-dong, Gwanak-gu, Seoul",
		"EngAddr2":null,
		"Phone":"042-320-2443",
		"Fax":null,
		"Email":"seojwfan@gmail.com",
		"LoginCount":"49",
		"LastLogoutDT":"2009.05.25 12:57",
		"Event":1,
		"HpNo":"016-9696-2443",
		"SmsYN":null,
		"FaxYN":"3",
		"TelYN":"3",
		"DomainMail":1
		*/
	},

	HiworksIdCkeckCancel: function() {
		$('userid').value = '';
		$('userid').readOnly = false;

		$('usernameLayer').innerHTML = '';
		$('usernameLayer').style.display = 'none';
		$('username').value = '';
		$('username').style.display = '';

		$('private_email').value = '';
		$('tel').value = '';
		$('cellphone').value = '';
		$('zip1').value = '';
		$('zip2').value = '';
		$('address1').value = '';
		$('address2').value = '';

		$('authOkLayer').style.display = 'none';
		$('dupChkImg').style.display = '';

		$('id_type').value = 2;

		Account.isIdDup = false;

		$('passwdTR').show();
		$('repasswdTR').show();
	},

	closeFromHiworks: function() {
		$("IdFromHiworks").closeLayer().backLayerHide();
		$("hiworks_id").value = '';
		$("hiworks_passwd").value = '';
	},
	
	HiworksEnter : function(event)
	{
		if(event.keyCode == 13) Account.HiworksIdCkeck();
	}
}

