Thu, 18 Mar 2010 15:52:05 +0000
Update Strophe.js to 1.0.1 (fixes some issues)
/* Config */ var support_config = { login_domain: "anon.localhost", bosh_url: "/http-bind", team_rooms: { "Sales": "sales@support.localhost", "Technical": "technical@support.localhost" } }; /*** XMPP handling */ var conn = null; /* Called by Strophe when status of connection changes (from disconnected to connected, vice-versa, etc.) */ function handle_connection_status(status, err) { if(status != Strophe.Status.CONNECTING && status != Strophe.Status.AUTHENTICATING) set_busy_status(false); else if(status != Strophe.Status.CONNECTED) set_busy_status(true); if(err) alert(err); //FIXME: Handle gracefully } /* Initiate the connection to the XMPP server */ function start_connection() { conn = new Strophe.Connection(support_config.bosh_url); var ret = true; try { conn.connect(support_config.login_domain, null, handle_connection_status, 50); } catch(e) { ret = false; } return ret; } /*** UI handling */ /* Handle the user submitting the question form */ function on_question_submit() { var question_type = $("#support-question-type").val(); var question_name = $("#support-question-name").val(); var question_text = $("#support-question-text").val(); alert(question_name + " submitted a " + question_type + " question:\n " + question_text); } /* Update the UI according to whether we are waiting on a network operation */ function set_busy_status(status) { //FIXME } function display_ui() { // Display pop-up, showing question form if(start_connection()) { $("#support-chat").show(); $("#support-question-submit").click(on_question_submit); } } $(display_ui); //FIXME (debugging)