CmdUtils.CreateCommand({ name: "tmb", takes: {"codi_parada num_bus": noun_arb_text}, homepage: "http://www.mutsuda.com", author: { name: "Masumi Mutsuda"}, license: "MPL", description: "T'informa de quan arribaran els propers busos a les parades", preview: function( pblock, parada) { var msg = 'Parada Bus"${paradaText}" el Bus ${busText}.'; var subs = {paradaText: parada.text}; var codiparada = parada.text.substring(0, 4); var codibus = parada.text.substring(5); var URL = "http://www.tmb.cat/ca_ES/tmbmulticanal/ibus/ibusweb/cercapercodi.jsp?parada="+codiparada+"&linia="+ codibus; if (parada.text.length == 4) { var msg = obtenirContent(URL); if (msg.indexOf("No existeix el codi de parada") > 0) pblock.innerHTML = "No existeix el codi parada"; else { var start = msg.indexOf(""); var end = msg.indexOf("", start); var show = msg.substring(start, end); pblock.innerHTML = show+""; } } }, execute: function( parada) { var codiparada = parada.text.substring(0, 4); var codibus = parada.text.substring(5); var URL = "http://www.tmb.cat/ca_ES/tmbmulticanal/ibus/ibusweb/cercapercodi.jsp?parada="+codiparada+"&linia="+ codibus; var msg = obtenirContent(URL); if (msg.indexOf("Línia i parada no coincidents") > 0) displayMessage("Línia i parada no coincidents"); else if (msg.indexOf("Temporalment sense previsions") > 0) displayMessage("Temporalment sense previsions"); else if (msg.indexOf("Consulteu les línies disponibles") > 0) displayMessage("Línia sense servei TMBiBus"); else if (codiparada.length < 4) displayMessage("El codi de parada té un format invàlid"); else if (codibus.length == 0) displayMessage("Has d'especificar una línia de bus"); else { var start = msg.indexOf(""); var end = msg.indexOf("", start); start = msg.indexOf("Temps*"); var firststart= msg.indexOf("", start) + 19; var firstend = msg.indexOf("", firststart); var proper1 = msg.substring(firststart, firstend); var secondstart = msg.indexOf("", firstend) + 19; var secondend = msg.indexOf("", secondstart); var proper2 = msg.substring(secondstart, secondend); if (proper2.indexOf(" Temps")>=0) proper2=""; displayMessage(proper1 + "\n" + proper2); } } }); function obtenirContent(URL) { var error=0; var req = new XMLHttpRequest(); req.open("GET", URL, false); req.onreadystatechange=function() { if (req.readyState==4) { if (req.status!=200) { error=1; } } } req.send(null); var txt=req.responseText; return txt; }