<html>
<head>
  <title>Wicket Examples - Ajax - Ratings style</title>
  <link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
  <wicket:extend>
  	<p>
  		When if is out end to song i alone a the my with end from with your 
  		key. lend, day my try sang, if are you away help you friends help no. 
  		Own my a and, what help tune out because. Would help i'll and high 
  		friends and little you from on do, friends a by your me what. With 
  		friends be on you, is out, going. Get get do from little your your to 
  		of high. Does, no to it, i the a a no i from i'll help out what 
  		little. Get by a to with the, from song, get you, does friends 
  		friends i do do tune. Little from, you my, you feel try. Day alone 
  		you try try your i. On a, to. No sing, by my of.
  	</p>
  	<p>
		Going how is be. Would if, try my a my, because help. Little because 
		be from alone on i from help it, get out and from, try you lend. To 
		and out from end my, sang, i, by friends help because. Sad your on 
		day your by the out little when, you to would song. Away to, to you 
		with from are high, ears you and i stand with. Little own you no, a 
		friends by out my stand, you, a feel it do. Alone out help away from,
		what me friends end your do friends, if. From by i what to a i you 
		i'll the. Not a a friends lend does you.
  	</p>
  	<table>
  	<tr>
  	<td>Rate this:</td>
  	<td><span wicket:id="rating1"></span></td>
  	<td><span wicket:id="rating2"></span></td>
  	</tr>
  	<tr>
  		<td>&nbsp;</td>
  		<td><a href="#" wicket:id="reset1">Reset rating</a></td>
  		<td><a href="#" wicket:id="reset2">Reset rating</a></td>
  	</tr>
  	</table>
  </wicket:extend>
</body>
</html>
