
/* Debug utilities included in every page by the template.

   For debugging set dojo's isDebug parameter to true in 
   /templates/demo_template.xhtml and comment out the 
   <div class="page"> and its end tag.
*/


    // Onevent handler for jsf.ajax.request(...) and <f:ajax.../>

    function printData(data) {

      if (typeof(console) == 'object') {
        console.log('printData, type=' + data.type 
          + ', status=' + data.status);
        if (data.status == 'complete') {
	  console.log('responseText=' + data.responseText);
        }
      }
      return data;
    }


    // Onerror handler for jsf.ajax.request(...) and <f:ajax.../>

    function printErr(data) {

      if (typeof(console) == 'object') {
       console.log('printErr, status=' + data.status);
       console.log('desc=' + data.description);
       console.log('responseCode=' + data.responseCode);
       console.log('errorName=' + data.errorName);
       console.log('errorMessage=' + data.errorMessage);
      }

      if (data.status == 'serverError' && 
          data.errorName 
	      == 'class javax.faces.application.ViewExpiredException') {
	  dojo.byId('ff:messages').innerHTML =
	    'Session timeout. Please reload the page.';
      } else {
        dojo.byId('ff:messages').innerHTML = 
	    "We're sorry, an unexpected error has occured. " +
	    "Please reload the page.";
      }
      return data;
    }


    function setupHandlers() {
        if (typeof(jsf) == 'object') {
          jsf.ajax.addOnEvent(printData);
	  jsf.ajax.addOnError(printErr);
        }
    }


    dojo.addOnLoad(setupHandlers);
