| /* | |
| * Licensed to the Apache Software Foundation (ASF) under one or more | |
| * contributor license agreements. See the NOTICE file distributed with | |
| * this work for additional information regarding copyright ownership. | |
| * The ASF licenses this file to You under the Apache License, Version 2.0 | |
| * (the "License"); you may not use this file except in compliance with | |
| * the License. You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software | |
| * distributed under the License is distributed on an "AS IS" BASIS, | |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| * See the License for the specific language governing permissions and | |
| * limitations under the License. | |
| */ | |
| var reqNr = 0; | |
| var myXHR = new XMLHttpRequest(); | |
| function showQuotes(quoteType) { | |
| jsonrpc_url = 'https://hogwarts.info.fundp.ac.be/google/quotes'; | |
| if (window.oauth && typeof window.oauth.proxify == 'function'){ | |
| jsonrpc_url = window.oauth.proxify(jsonrpc_url); | |
| } | |
| var request = {jsonrpc: '2.0', | |
| method: 'getQuote', | |
| id: 'req-'+(++reqNr), | |
| params: { | |
| quotes: quoteType | |
| } | |
| }; | |
| myXHR.open('POST', jsonrpc_url, true); | |
| myXHR.setRequestHeader('Content-Type', 'application/json'); | |
| myXHR.onreadystatechange = handler; | |
| myXHR.send(JSON.stringify(request)); | |
| } | |
| function handler(evtXHR) { | |
| if (myXHR.readyState == 4){ | |
| if (myXHR.status == 200) { | |
| data = JSON.parse(myXHR.responseText); | |
| if(data.quote == null){ | |
| notify('Widget instance is not authenticated, Please login'); | |
| } else { | |
| notify(''); | |
| document.getElementById('quoteBubble').innerHTML = '<a>' + data.quote + '</a>'; | |
| document.getElementById('quotePortrait').innerHTML = '<img src="' + data.portrait + '">' + data.authorName + '</img>'; | |
| } | |
| } else { | |
| notify("Invocation Errors Occured. Status: " + myXHR.status); | |
| } | |
| } | |
| } | |
| function notify(message){ | |
| if (window.widget && widget.showNotification){ | |
| widget.showNotification(message, function(){widget.show()}); | |
| } else { | |
| document.getElementById('notices').innerHTML = "<p>"+message+"</p>"; | |
| } | |
| } |