Public Class Voted
    Inherits System.Web.UI.Page

    Private _一覧表示パターン As Integer = 1
    Private _単票表示パターン As Integer = 1

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim name_kouho As String = ""
        Dim imgFlg As Boolean = False

        If IsPostBack Then
            'ポストバック時
        Else
            '初期表示時
            Page.Header.Title = MyProperty.システムＭ.選挙コード名称

            ' セッションタイムアウトチェック
            If IsNothing(Session(MyConstant.SessionKey.投票者ID)) Then
                Throw New Exception(MyMessage.ログ.セッションタイムアウト)
            End If

            ' 選挙Mを取得する
            Dim ds As DataSet1 = New DataSet1
            Using myDataBase As MyDataBase = New MyDataBase
                myDataBase.Fill選挙MBy選挙ID(ds, Session(MyConstant.SessionKey.選挙ID))
                If ds.選挙M.Rows.Count > 0 Then
                    LtlSenkyoMei.Text = ds.選挙M(0).選挙名称
                    _一覧表示パターン = ds.選挙M(0).一覧表示パターン
                    _単票表示パターン = ds.選挙M(0).単票表示パターン
                End If
            End Using

            ' cssの動的指定
            If _単票表示パターン = MyEnum.単票表示パターン.写真型 Then
                If _一覧表示パターン = MyEnum.一覧表示パターン.ポスケ型 Then
                    If Session(MyConstant.SessionKey.候補者ID) = MyConstant.白票ID Then
                        person.Attributes("class") = "person-large"
                    Else
                        person.Attributes("class") = "person-poster"
                    End If
                Else
                    person.Attributes("class") = "person-large"
                End If
            Else
                person.Attributes("class") = "touhyouyoushi large"
                LtlSenkyoMeiTate.Text = LtlSenkyoMei.Text
            End If

            ' 候補者Mを取得する。
            Using myDataBase As MyDataBase = New MyDataBase
                myDataBase.Fill候補者MBy選挙ID候補者ID(ds, Session(MyConstant.SessionKey.選挙ID), Session(MyConstant.SessionKey.候補者ID))
            End Using

            ' 投票数を表示
            lblNumOfVotes.Text = CType(Session(MyConstant.SessionKey.投票数), String) & "票の投票"

            ' 候補者のHTMLタグ動的出力
            If Session(MyConstant.SessionKey.候補者ID) = MyConstant.白票ID Then
                LtlKohoMei.Text = "<span>" + MyConstant.白票単票文字 + "</span>"
                LtlKohoImg.Text = "<img src=""" + MyConstant.白票画像パス + """ alt=""" + MyConstant.白票名称 + """>"
            Else
                If ds.候補者M.Rows.Count > 0 Then
                    Dim row As DataSet1.候補者MRow = ds.候補者M.Rows(0)
                    If _単票表示パターン = MyEnum.単票表示パターン.写真型 Then
                        If Not String.IsNullOrEmpty(row.画像ファイル名.TrimEnd) Then
                            LtlKohoImg.Text = "<img src=""" + MyConstant.候補者画像フォルダ + row.画像ファイル名.TrimEnd + """ alt=""" + row.候補者名称 + """>"
                            imgFlg = True
                        End If
                    End If
                    If Not _一覧表示パターン = MyEnum.一覧表示パターン.ポスケ型 Or
                        _単票表示パターン = MyEnum.単票表示パターン.投票用紙型 Then
                        Dim tag As StringBuilder = New StringBuilder()
                        'tag.Append(Me.GetSpanTag(row.候補者名称.TrimEnd, row.政党ID.TrimEnd))
                        If imgFlg Then
                            tag.Append(Me.GetSpanTag(row.候補者名称.TrimEnd, row.政党ID.TrimEnd))
                        Else
                            'tag.Append(Me.GetSpanTag2(row.候補者名称.TrimEnd, row.政党ID.TrimEnd, imgFlg, row.表示順.ToString))
                            tag.Append(Me.GetSpanTag2(row.候補者名称.TrimEnd, row.政党ID.TrimEnd, imgFlg, row.候補者ID.ToString))
                        End If
                        'tag.Append(row.候補者名称.Replace("　", " ") + "</span>")
                        name_kouho = row.候補者名称.Replace("　", " ")
                        If name_kouho.IndexOf("↓") >= 0 Then
                            name_kouho = name_kouho.Replace("↓", "<br/>")
                        ElseIf name_kouho.Length > 12 Then
                            name_kouho = name_kouho.Substring(0, 12) & "<br/>" & name_kouho.Substring(12)
                        End If
                        tag.Append(name_kouho + "</span>")
                        LtlKohoMei.Text = tag.ToString
                        Using myDataBase As MyDataBase = New MyDataBase
                            LtlSeitoMei.Text = myDataBase.Get政党名称By政党ID(row.政党ID.TrimEnd)
                        End Using
                    End If
                End If
            End If

            ' 3秒後に自動で画面遷移。
            'body1.Attributes("onload") = "setTimeout('location.replace(""Complete.aspx"");', " + MyConstant.自動画面遷移時間ミリ秒 + ");"
            body1.Attributes("onload") = "setTimeout('location.replace(""Default.aspx"");', " + MyConstant.自動画面遷移時間ミリ秒 + ");"
        End If
    End Sub

    'Private Function GetSpanTag(ByVal name As String, ByVal seito As String) As String
    '    If name.Length > 16 Then
    '        Return "<span class=""xx-small"">"
    '    ElseIf name.Length > 12 Then
    '        Return "<span class=""x-small"">"
    '    ElseIf name.Length > 8 Then
    '        Return "<span class=""small"">"
    '    Else
    '        If seito.TrimEnd.Length = 0 Then
    '            Return "<span class=""seitou-nasi"">"
    '        Else
    '            Return "<span>"
    '        End If
    '    End If
    'End Function

    Private Function GetSpanTag(ByVal name As String, ByVal seito As String) As String

        Return "<span style=""font-size:26px;"">"

        'If name.Length > 8 Then
        '    Return "<span style=""font-size:28px;"">"
        'ElseIf name.Length > 6 Then
        '    Return "<span style=""font-size:33px;"">"
        'Else
        '    If seito.TrimEnd.Length = 0 Then
        '        Return "<span class=""seitou-nasi"">"
        '    Else
        '        Return "<span>"
        '    End If
        'End If
    End Function

    Private Function GetSpanTag2(ByVal name As String, ByVal seito As String, imgFlg As Boolean, ByRef No As String) As String
        Dim setNo As String = "<span class=""entryNo"">" & No & ".</span>"

        Select Case _単票表示パターン
            Case MyEnum.単票表示パターン.写真型
                If imgFlg Then  ' 画像あり
                    Return ("<span class=""x-small"" style=""left: 25px;"">")
                Else            ' 画像なし
                    Return (setNo & "<span class=""x-small"">")
                End If

            Case Else   ' 投票用紙型
                If seito.TrimEnd.Length = 0 Then
                    If name.Length > 12 Then
                        Return ("<span class=""seitou-nasi"" style=""left: 45px;"">")
                    Else
                        Return ("<span class=""seitou-nasi"">")
                    End If
                Else
                    If name.Length > 12 Then
                        Return ("<span class=""x-small"" style=""left: 25px;"">")
                    Else
                        Return ("<span class=""x-small"">")
                    End If
                End If

        End Select

        'If name.Length > 10 Then
        '    If _単票表示パターン = MyEnum.単票表示パターン.写真型 AndAlso imgFlg = False Then
        '        'Return "<span class=""small"" style=""margin-top: 25px;"">"
        '        Return (setNo & "<span class=""x-small"" style=""margin-top: 0;"">")
        '    Else
        '        Return "<span class=""x-small"" style=""left: 25px;"">"
        '    End If
        'ElseIf name.Length > 8 Then
        '    If _単票表示パターン = MyEnum.単票表示パターン.写真型 AndAlso imgFlg = False Then
        '        'Return "<span class=""small"" style=""margin-top: 25px;"">"
        '        Return (setNo & "<span class=""x-small"" style=""margin-top: 0;"">")
        '    Else
        '        Return "<span class=""x-small"">"
        '    End If
        'Else
        '    If seito.TrimEnd.Length = 0 Then
        '        If _単票表示パターン = MyEnum.単票表示パターン.写真型 AndAlso imgFlg = False Then
        '            'Return "<span class=""seitou-nasi"" style=""margin-top: 25px;"">"
        '            Return (setNo & "<span class=""x-small"" style=""margin-top: 0;"">")
        '        Else
        '            Return "<span class=""seitou-nasi"">"
        '        End If
        '    Else
        '        If _単票表示パターン = MyEnum.単票表示パターン.写真型 AndAlso imgFlg = False Then
        '            'Return "<span style=""margin-top: 25px;"">"
        '            Return (setNo & "<span class=""x-small"" style=""margin-top: 0;"">")
        '        Else
        '            Return "<span>"
        '        End If
        '    End If
        'End If
    End Function
End Class