using System;
using System.Collections.Generic;
using System.Globalization;
using System.Threading;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Error : System.Web.UI.Page
{
    protected override void InitializeCulture()
    {
        try
        {
            string defLang = WebUser.CurrentUser.UiLanguage;
            Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(defLang);
            Thread.CurrentThread.CurrentUICulture = new CultureInfo(defLang);
        }
        catch
        {
        }
        base.InitializeCulture();
    }

    protected void Page_Init(object sender, EventArgs e)
    {
        WebUtil.SetMcCommonCss3(Page.Header);
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string[] errMsg = new string[] {
                GetLocalResourceObject("Err0").ToString(), // 해당 리소스를 액세스할 수 있는 권한이 없습니다.
                GetLocalResourceObject("Err1").ToString(), // 지정된 메일함에 접근할 수 있는 권한이 없습니다.
                GetLocalResourceObject("Err2").ToString(), // 지정된 메일을 읽을 수 있는 권한이 없습니다.
                GetLocalResourceObject("Err3").ToString(), // 지정된 주소록에 접근할 수 있는 권한이 없습니다.
                GetLocalResourceObject("Err4").ToString(), // 지정된 조직도에 접근할 수 있는 권한이 없습니다.
                GetLocalResourceObject("Err5").ToString(), // 연락처를 생성/수정할 수 있는 권한이 없습니다.
                GetLocalResourceObject("Err6").ToString(), // 연락처를 내보낼 수 있는 권한이 없습니다.
                GetLocalResourceObject("Err7").ToString(), // 연락처를 가져와서 추가할 수 있는 권한이 없습니다.
                GetLocalResourceObject("Err8").ToString(), // 약속 정보를 읽을 수 있는 권한이 없습니다.
                GetLocalResourceObject("Err9").ToString(), // 일정표를 읽을 수 있는 권한이 없습니다.
                GetLocalResourceObject("Err10").ToString(), // 파일함을 읽을 수 있는 권한이 없습니다.
                GetLocalResourceObject("Err11").ToString(), // 파일을 다운로드 할 수 있는 권한이 없습니다.
                GetLocalResourceObject("Err12").ToString(), // 파일함 게시자가 공유를 해제하여 액세스할 수 있는 권한이 없습니다.
                GetLocalResourceObject("Err13").ToString(), // 파일함 게시자가 접속 암호를 변경하여 액세스할 수 있는 권한이 없습니다.
                GetLocalResourceObject("Err14").ToString(), // 지정된 게시판에 접근할 수 있는 권한이 없습니다.
                GetLocalResourceObject("Err15").ToString(), // 게시판에 글을 게시할 권한이 없습니다.
                GetLocalResourceObject("Err16").ToString(), // 지정된 게시판의 용량이 초과하여 더이상 글을 쓸 수 없습니다.
                GetLocalResourceObject("Err17").ToString(), // 새 약속을 생성할 권한이 없습니다.
                GetLocalResourceObject("Err18").ToString(), // 게시판의 글을 수정할 권한이 없습니다.
                GetLocalResourceObject("Err19").ToString(), // 다운로드 링크가 만료되었습니다.
                GetLocalResourceObject("Err20").ToString(), // 응용 프로그램 오류입니다. 다시 시도해 보십시오.
                GetLocalResourceObject("Err21").ToString(),  // 허가된 모바일 장치에서만 로그인 가능합니다.
                GetLocalResourceObject("Err22").ToString()  // 허용되지 않은 IP 주소에서 접근했습니다.
            };

            int code = WebParam.GetIntParamValue("code", 0);
            if (code >= 0 && code < errMsg.Length)
            {
                if (code == 21)
                {
                    ErrorLabel.Text = errMsg[code];
                    UserAgentLabel.Text = string.Format("User-Agent: {0} ", Request.UserAgent);
                    UserAgentPanel.Visible = true;
                }
                else if (code == 22)
                {
                    ErrorLabel.Text = string.Format(errMsg[code], Request.UserHostAddress);
                }
                else
                {
                    ErrorLabel.Text = errMsg[code];
                }
            }
            else
            {
                ErrorLabel.Text = errMsg[0];
            }
        }
    }
}