A. Save the joke ratings Whenever the user clicks on the rating a joke, AJAX should be used to send this information to the server where it is saved in the database. The response should be a JSON object that contains the updated rating for the joke, which is then used to dynamically update the page (without the need to reload it). You should also ensure that the rating buttons show the status of the current user's vote actions (refer back to Assignments 3 and 5). Pay careful attention to the process for tuming these rating buttons on and off, ensuring that a given user can only provide valid ratings for a given joke and verifying that this works properly for multiple users making independent ratings. B. Periodically check the ratings on the Joke List Page Using one of the timer functions in JavaScript, configure your system to dynamically check with the server to find out the average rating for each post and repost every 20 seconds. Use AJAX to retrieve this information from the server, JSON as the data format, and JavaScript to process the data and manipulate the DOM to update the web page as needed. C. Periodically check for new posts on the Joke List Page C. Periodically chock for new posts on the Joke List Page Using one of the timer functions in JaveScript, confoure the Joke Liat Page to dynamically check with the sorver every 000 seconds to find out if there are any new jowes to include on the Main Page. Use A A AX to recuest the new post infomation, JSON as the data format, and JavaScriat to process the data and manipulate the DCM to update the wob page as needed. REQUIRED: In order to avoid sending the fual list of joken back each time, keep track of the ID or dotevtime of the most recent jokes and use this to ensure that only new posts are provided back from the Alax call. If new jokes are found, these should be addod to the log of the let (with appropriate links as per the previous assignment). For each new joke that is added to the top of the page, an equivalant number should be removed from the botiom of the page. For thes to work properly with the raling feature you will need to ensure that new events have. been dynarnically registefed on the rating icons for the new posts. Since the pages you have buli for the previous assignments will ench be modified, you should ensure that they are stil HTM 5 compliant (following the syatax rules of XTHML.), use CSS, and that there is in proper seoaration of the specitication of the content from the specification of the