1<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="iso-8859-1"%>
2<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
3<html><head>
4    <%@ include file="head.jsp" %>
5    <title><fmt:message key="lyrics.title"/></title>
6    <c:if test="${model.lyrics eq null}">
7    <script type="text/javascript" src="<c:url value="/dwr/engine.js"/>"></script>
8    <script type="text/javascript" src="<c:url value="/dwr/util.js"/>"></script>
9    <script type="text/javascript" src="<c:url value="/dwr/interface/lyricsService.js"/>"></script>
10    <script type="text/javascript" language="javascript">
11        dwr.engine.setErrorHandler(null);
12
13        function init() {
14            getLyrics('${model.artist}', '${model.song}');
15        }
16
17        function getLyrics(artist, song) {
18            $("wait").style.display = "inline";
19            $("lyrics").style.display = "none";
20            $("noLyricsFound").style.display = "none";
21            $("tryLater").style.display = "none";
22            lyricsService.getLyrics(artist, song, getLyricsCallback);
23        }
24
25        function getLyricsCallback(lyricsInfo) {
26            dwr.util.setValue("lyricsHeader", lyricsInfo.artist + " - " + lyricsInfo.title);
27            var lyrics;
28            if (lyricsInfo.lyrics != null) {
29                lyrics = lyricsInfo.lyrics.replace(/\n/g, "<br>");
30            }
31            dwr.util.setValue("lyricsText", lyrics, { escapeHtml:false });
32            $("wait").style.display = "none";
33            if (lyricsInfo.tryLater) {
34                $("tryLater").style.display = "inline";
35            } else if (lyrics != null) {
36                $("lyrics").style.display = "inline";
37            } else {
38                $("noLyricsFound").style.display = "inline";
39            }
40        }
41        function search() {
42            getLyrics(dwr.util.getValue('artist'), dwr.util.getValue('song'));
43        }
44    </script>
45
46</head>
47<body class="mainframe bgcolor1" onload="init();">
48
49<form action="#" onsubmit="search();return false;">
50<table>
51    <tr>
52        <td><fmt:message key="lyrics.artist"/></td>
53        <td style="padding-left:0.50em"><input id="artist" type="text" size="40" value="${model.artist}" tabindex="1"/></td>
54        <td style="padding-left:0.75em"><input type="submit" value="<fmt:message key="lyrics.search"/>" style="width:6em" tabindex="3"/></td>
55    </tr>
56    <tr>
57        <td><fmt:message key="lyrics.song"/></td>
58        <td style="padding-left:0.50em"><input id="song" type="text" size="40" value="${model.song}" tabindex="2"/></td>
59		<!-- <td style="padding-left:0.75em"><input type="button" value="<fmt:message key="common.close"/>" style="width:6em" onclick="self.close()" tabindex="4"/></td> -->
60    </tr>
61</table>
62</form>
63<hr/>
64<h2 id="wait"><fmt:message key="lyrics.wait"/></h2>
65<h2 id="noLyricsFound" style="display:none"><fmt:message key="lyrics.nolyricsfound"/></h2>
66<p id="tryLater" style="display:none"><b><fmt:message key="lyrics.trylater"/></b></p>
67
68<div id="lyrics" style="display:none;">
69    <h2 id="lyricsHeader" style="text-align:center;margin-bottom:1em"></h2>
70
71    <div id="lyricsText"></div>
72
73    <p class="detail" style="text-align:right">
74        <fmt:message key="lyrics.courtesy"/>
75    </p>
76</div>
77
78<hr/>
79<!--
80<p style="text-align:center">
81    <a href="javascript:self.close()">[<fmt:message key="common.close"/>]</a>
82</p>
83-->
84</body>
85</c:if>
86
87<c:if test="${model.lyrics ne null}">
88<body class="mainframe bgcolor1">
89<div style="padding-left:0.75em; white-space: pre-line;">
90${model.lyrics}
91</div>
92<hr/>
93<!--
94<p style="text-align:center">
95    <a href="javascript:self.close()">[<fmt:message key="common.close"/>]</a>
96</p>
97-->
98</body>
99</c:if>
100</html>
101