You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

295 lines
12 KiB

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DoLuckyDraw.aspx.cs" Inherits="Swift.web.OtherServices.LuckyDraw.DoLuckyDraw" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head id="Head1" runat="server">
  5. <title></title>
  6. <script src="../../../js/functions.js" type="text/javascript"></script>
  7. <script src="../../../js/jQuery/jquery-1.4.1.min.js" type="text/javascript"></script>
  8. <link href="../../../js/jQuery/jquery-ui.css" rel="stylesheet" type="text/css" />
  9. <script src="../../../js/jQuery/jquery-ui.min.js" type="text/javascript"></script>
  10. <script src="../../../js/jQuery/jquery.validate.min.js" type="text/javascript"></script>
  11. <script type="text/javascript" src="../../../Images/luckydraw/spin.min.js"></script>
  12. <script src="../../../Images/luckydraw/jquery.animateNumber.min.js" type="text/javascript"></script>
  13. <%--<script src="../../../js/jquery.min.js" type="text/javascript"></script>--%>
  14. <script src="../../../Images/luckydraw/jquery.color.min.js"></script>
  15. <script src="../../../Images/luckydraw/jquery.animateNumber.min.js"></script>
  16. <style>
  17. * {
  18. margin: 0;
  19. padding: 0;
  20. }
  21. table {
  22. border-spacing: 0;
  23. padding: 0;
  24. width: 100%;
  25. }
  26. .bg-panel-img {
  27. background: rgba(0, 0, 0, 0) url("../../../Images/luckydraw/daily-start.jpg") no-repeat scroll 0 0;
  28. height: auto;
  29. position: fixed;
  30. top: 20px;
  31. width: 100%;
  32. z-index: -1;
  33. }
  34. .btn-start {
  35. background-image: url("../../../Images/luckydraw/btn_red.jpg");
  36. border: medium none;
  37. top: 50%;
  38. cursor: pointer;
  39. height: 150px;
  40. position: absolute;
  41. width: 150px;
  42. right: 50px;
  43. }
  44. .panel-details {
  45. color: Black;
  46. display: none;
  47. font-family: Calibri;
  48. font-size: 20px;
  49. font-weight: bold;
  50. position: absolute;
  51. right: 0;
  52. top: 48%;
  53. width: 550px;
  54. }
  55. .panel-congratulations {
  56. background: url(../../../Images/luckydraw/congrats.jpg) no-repeat;
  57. width: 250px;
  58. height: 69px;
  59. position: absolute;
  60. right: 15%;
  61. top: 70%;
  62. display: none;
  63. position: absolute;
  64. z-index: 999;
  65. }
  66. .loading {
  67. position: absolute;
  68. width: 150px;
  69. height: 150px;
  70. margin: -77px;
  71. position: absolute;
  72. bottom: 0;
  73. right: 40%;
  74. border: none;
  75. top: 55%;
  76. }
  77. .textColor {
  78. color: Red;
  79. font-family: Calibri;
  80. font-size: 24px;
  81. font-weight: 900;
  82. }
  83. </style>
  84. <script type="text/javascript">
  85. var numcount = 0;
  86. $(document).ajaxStart(function () {
  87. $("#trProcessing").show();
  88. document.getElementById("btnStart").style.display = "none";
  89. });
  90. $(document).ajaxComplete(function (event, request, settings) {
  91. $("#trProcessing").hide();
  92. });
  93. function StartLuckydraw() {
  94. numcount++;
  95. $("#btnStart").hide();
  96. document.getElementById("onClickShowDetails").style.display = "none";
  97. GetElement("lblName").innerHTML = "";
  98. GetElement("lblDate").innerHTML = "";
  99. GetElement("lblPrize").innerHTML = "";
  100. GetElement("lblCountry").innerHTML = "";
  101. GetElement("lblIcn").innerHTML = "";
  102. GetElement("lines").innerHTML = "";
  103. var flag = "";
  104. var dataToSend = { MethodName: "StartLuckydraw", flag: flag };
  105. var options =
  106. {
  107. url: '<%=ResolveUrl("DoLuckyDraw.aspx") %>?x=' + new Date().getTime(),
  108. data: dataToSend,
  109. dataType: 'JSON',
  110. type: 'POST',
  111. success: function (response) {
  112. //alert(response);
  113. var data = response;
  114. ShowResponseData(data);
  115. }
  116. };
  117. $.ajax(options);
  118. }
  119. function ShowResponseData(data) {
  120. data = JSON.parse(data);
  121. for (var i = 0; i < data.length; i++) {
  122. if (data[i].ErrorCode == "0") {
  123. if (i==0) {
  124. $("#span1").show();
  125. $("#span1").html("<u>First Winner </u><br /> " + data[i].Name + " , JME No : " + data[i].Pin);
  126. $("#divDetails").attr("style","height:600px !important;");
  127. }
  128. else if (i == 1) {
  129. $("#span2").show();
  130. $("#span2").html("<br /><u>Second Winner </u><br /> " + data[i].Name + " , JME No : " + data[i].Pin);
  131. $("#divDetails").attr("style", "height:530px !important;");
  132. }
  133. else if (i == 2) {
  134. $("#span3").show();
  135. $("#span3").html("<br /><u>Third Winner </u><br /> " + data[i].Name + " , JME No : " + data[i].Pin);
  136. document.getElementById("onClickShowCongrats").style.display = "inline-block";
  137. document.getElementById("btnStart").style.display = "none";
  138. }
  139. }
  140. else if (data[i].ErrorCode == "1") {
  141. $("#tddetail").show();
  142. var iccn = data[i].Pin;
  143. ShowDetail(iccn);
  144. GetElement("lblIcn").innerHTML = iccn;
  145. Animation(iccn, data[i]);
  146. }
  147. }
  148. //if (data["ErrorCode"] == "1") {
  149. // $("#tddetail").show();
  150. // ShowDetail(data.Pin);
  151. // GetElement("lblIcn").innerHTML = data.Pin;
  152. // var iccn = data.Pin;
  153. // //$('#lines').animateNumber({ number: iccn }, 5000);
  154. //}
  155. if (data.length == 0) {
  156. alert("No record found.");
  157. }
  158. }
  159. function Animation(icn,data) {
  160. var decimal_places = 2;
  161. var decimal_factor = 9831232;
  162. $('#lines').animateNumber(
  163. {
  164. number: 100 * decimal_factor,
  165. numberStep: function (now, tween) {
  166. var floored_number = Math.floor(now) / decimal_factor,
  167. target = $(tween.elem);
  168. floored_number = floored_number.toFixed(11);
  169. var split = floored_number.split('.');
  170. target.text(split[1]);
  171. if (split[0] == 100) {
  172. target.text(icn);
  173. GetElement("lblName").innerHTML = data.Name;
  174. GetElement("lblDate").innerHTML = data.Date;
  175. GetElement("lblPrize").innerHTML = data.Prize;
  176. GetElement("lblCountry").innerHTML = data.Country;
  177. document.getElementById("onClickShowCongrats").style.display = "inline-block";
  178. document.getElementById("btnStart").style.display = "block";
  179. }
  180. }
  181. },
  182. 15000
  183. );
  184. if (numcount==3) {
  185. document.getElementById("btnStart").style.display = "none";
  186. }
  187. }
  188. </script>
  189. </head>
  190. <body>
  191. <form id="form1" runat="server">
  192. <div style="position: relative; overflow: hidden; width: 40%; left: 765px; top: 160px" id="divWinner">
  193. <table>
  194. <tr>
  195. <th id="span1" width="67" align="center" style="font-size: 25px; color: #d81e27; display: none"></th>
  196. </tr>
  197. <tr>
  198. <th id="span2" width="67" align="center" style="font-size: 25px; color: #199d9e; display: none"></th>
  199. </tr>
  200. <tr>
  201. <th id="span3" width="67" align="center" style="font-size: 25px; color: #ffb419; display: none"></th>
  202. </tr>
  203. </table>
  204. </div>
  205. <div style="position: relative; overflow: hidden; height: 640px; width: 100%;" id="divDetails" runat="server">
  206. <asp:Image ID="mainImage" class="bg-panel-img" runat="server" ImageUrl="../../../Images/luckydraw/daily-start.jpg" />
  207. <input type="button" onclick="StartLuckydraw();" class="btn-start" id="btnStart" />
  208. <img id="trProcessing" src="../../../Images/luckydraw/Processing.png" class="loading" style="display: none" alt="" />
  209. <br />
  210. <div class="panel-details" id="onClickShowDetails">
  211. <table>
  212. <tr>
  213. <th width="67" align="left" class="textColor">JME No :</th>
  214. <td width="249">&nbsp;&nbsp;<span id="lines" class="textColor"></span><asp:Label ID="lblIcn" runat="server" Text="" Style="display: none;" /></td>
  215. </tr>
  216. <tr>
  217. <th align="left" class="textColor">Name :</th>
  218. <td id="hiddenName">&nbsp;&nbsp;<asp:Label ID="lblName" runat="server" Text="" class="textColor"></asp:Label></td>
  219. </tr>
  220. <tr>
  221. <th align="left" class="textColor">Date :</th>
  222. <td nowrap>&nbsp;&nbsp;<asp:Label ID="lblDate" runat="server" Text="" class="textColor"></asp:Label></td>
  223. </tr>
  224. <tr>
  225. <th align="left" class="textColor">Prize :</th>
  226. <td>&nbsp;&nbsp;<asp:Label ID="lblPrize" runat="server" Text="" class="textColor"></asp:Label></td>
  227. </tr>
  228. <tr style="display: none;">
  229. <th align="left" class="textColor">Country :</th>
  230. <td id="hiddenCountry">&nbsp;&nbsp;<asp:Label ID="lblCountry" runat="server" Text="" class="textColor"></asp:Label></td>
  231. </tr>
  232. </table>
  233. </div>
  234. <div class="panel-congratulations" id="onClickShowCongrats"></div>
  235. </div>
  236. <div id="main" runat="server" visible="false"></div>
  237. <asp:HiddenField ID="hdnType" runat="server"></asp:HiddenField>
  238. </form>
  239. </body>
  240. </html>
  241. <script type="text/javascript">
  242. function ShowDetail(pin){
  243. document.getElementById("onClickShowDetails").style.display="inline-block";
  244. }
  245. </script>
  246. <script type="text/javascript">
  247. var opts = {
  248. lines: 13, // The number of lines to draw
  249. length: 20, // The length of each line
  250. width: 9, // The line thickness
  251. radius: 37, // The radius of the inner circle
  252. corners: 1, // Corner roundness (0..1)
  253. rotate: 90, // The rotation offset
  254. direction: 1, // 1: clockwise, -1: counterclockwise
  255. color: '#F00', // #rgb or #rrggbb or array of colors
  256. speed: 0.9, // Rounds per second
  257. trail: 20, // Afterglow percentage
  258. shadow: true, // Whether to render a shadow
  259. hwaccel: false, // Whether to use hardware acceleration
  260. className: 'spinner', // The CSS class to assign to the spinner
  261. zIndex: 2e9, // The z-index (defaults to 2000000000)
  262. top: '0', // Top position relative to parent in px
  263. left: '320' // Left position relative to parent in px
  264. };
  265. var target = document.getElementById('divSpinner');
  266. var spinner = new Spinner(opts).spin(target);
  267. </script>