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