ItsNatDocumentTemplate docTemplate;
docTemplate = registerDocument("test_core","text/html",pathPrefix,pages); // "application/xhtml+xml" "text/html"
docTemplate.addItsNatServletRequestListener(new TestCoreDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate.addEventListener(new TestGlobalEventListener(docTemplate));
//docTemplate.setReferrerEnabled(true);
docTemplate = registerDocument("test_core_attached_server_launcher","text/html",pathPrefix,pages); // "application/xhtml+xml" "text/html"
// El motivo de este template es para poder generar una p�gina con un template complejo
// evitando hacer una copia como HTML est�tico, pero el template tiene <comment> e <include>
// que no se resuelven en modo "attached server" porque el template "es la p�gina cliente"
// y en general renderizaci�n inicial que no ser� posible al hacer el attachment.
docTemplate.addItsNatServletRequestListener(new TestCoreAttachServerLauncherDocLoadListener());
docTemplate.setScriptingEnabled(false);
docTemplate.setFastLoadMode(true); // FUNDAMENTAL para a�adir los <script> de attachment a la p�gina inicial
docTemplate = itsNatServlet.registerItsNatDocumentTemplateAttachedServer("test_core_attached_server","text/html"); // "application/xhtml+xml" "text/html"
docTemplate.addItsNatServletRequestListener(new TestCoreDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate.addEventListener(new TestGlobalEventListener(docTemplate));
docTemplate.setCommMode(CommMode.SCRIPT_HOLD); // SCRIPT_HOLD ser� lo normal en attached server
docTemplate = registerDocument("test_core_iframe","text/html",pathPrefix,pages); // "application/xhtml+xml" "text/html"
docTemplate.addItsNatServletRequestListener(new TestCoreIFrameDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
//docTemplate.setReferrerEnabled(true);
docTemplate = registerDocument("test_components","text/html",pathPrefix,pages); // "application/xhtml+xml" "text/html"
docTemplate.addItsNatServletRequestListener(new TestComponentsDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate.addCreateItsNatComponentListener(new TestCreateItsNatComponentListener());
// docTemplate.setAutoBuildComponents(true);
docTemplate.registerArtifact("tableComplexStructure",new TestComplexHTMLTableStructure());
docTemplate.setJoystickMode(joystickMode);
//docTemplate.setScriptingEnabled(false);
//docTemplate.setEventsEnabled(false);
docTemplate = registerDocument("test_client_mutation","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestClientMutationDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_client_mutation_svg","image/svg+xml",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestClientMutationDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_remote_ctrl","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestRemoteCtrlLauncherDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_cache","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestCacheLoadDocListener());
docTemplate = registerDocument("test_autosync_forms","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestAutoSyncFormsDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_xml","text/xml",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestXMLDocLoadListener());
docTemplate.setOnLoadCacheStaticNodes(false);
docTemplate = registerDocument("test_xml_comp","text/xml",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestXMLComponentsDocLoadListener());
docTemplate.setOnLoadCacheStaticNodes(false);
docTemplate.setAutoBuildComponents(true);
docTemplate = registerDocument("test_svg","image/svg+xml",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestSVGDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate.setReferrerEnabled(true);
docTemplate = registerDocument("test_svg_attached_server_launcher","image/svg+xml",pathPrefix,pages);
// Ver notas en test_core_attached_server_launcher
docTemplate.addItsNatServletRequestListener(new TestSVGAttachServerLauncherDocLoadListener());
docTemplate.setScriptingEnabled(false);
docTemplate.setFastLoadMode(true);
docTemplate = itsNatServlet.registerItsNatDocumentTemplateAttachedServer("test_svg_attached_server","image/svg+xml");
docTemplate.addItsNatServletRequestListener(new TestSVGDocLoadListener());
docTemplate.setCommMode(CommMode.SCRIPT_HOLD); // SCRIPT_HOLD ser� lo normal en attached server
docTemplate = registerDocument("test_svg_batik","text/html",pathPrefix,pages);
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
//docTemplate.setScriptingEnabled(false);
docTemplate = registerDocument("test_svg_in_xhtml","application/xhtml+xml",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestSVGInXHTMLDocLoadListener());
docTemplate.setAutoBuildComponents(true); // No sirve para nada, simplemente para que se pase por los elementos svg y detectar que no de error por no ser HTML
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_svg_in_html","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestSVGInXHTMLDocLoadListener());
docTemplate.setAutoBuildComponents(true); // No sirve para nada, simplemente para que se pase por los elementos svg y detectar que no de error por no ser HTML
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_svg_in_html_asv","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestSVGInXHTMLAdobeSVGDocLoadListener());
docTemplate.setAutoBuildComponents(true); // No sirve para nada, simplemente para que se pase por los elementos svg y detectar que no de error por no ser HTML
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_svgweb","text/html",pathPrefix,pages); // "text/html" "application/xhtml+xml"
docTemplate.addItsNatServletRequestListener(new TestSVGWebDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_svg_asv_iframe_parent","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestIFrameObjEmbAppletSVGParentDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_svg_asv_object_parent","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestIFrameObjEmbAppletSVGParentDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_svg_asv_embed_parent","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestIFrameObjEmbAppletSVGParentDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_svg_ssrc_object_parent","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestSVGSavareseParentDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_svg_ssrc_embed_parent","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestSVGSavareseParentDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_svg_batik_applet_autob_parent","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestIFrameObjEmbAppletSVGParentDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_svg_batik_object_autob_parent","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestIFrameObjEmbAppletSVGParentDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_svg_batik_embed_autob_parent","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestIFrameObjEmbAppletSVGParentDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_no_ajax","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestNoAJAXDocLoadListener());
docTemplate.setEventsEnabled(false);
docTemplate = registerDocument("test_no_script","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestNoScriptDocLoadListener());
docTemplate.setScriptingEnabled(false);
docTemplate = registerDocument("test_referrer_pull","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestReferrerPullDocLoadListener());
docTemplate.setReferrerEnabled(true);
docTemplate = registerDocument("test_referrer_pull_next","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestReferrerPullNextDocLoadListener());
docTemplate.setReferrerEnabled(true);
docTemplate = registerDocument("test_referrer_push","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestReferrerPushDocLoadListener());
docTemplate.setReferrerEnabled(true);
docTemplate.setReferrerPushEnabled(true);
docTemplate = registerDocument("test_referrer_push_next","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestReferrerPushNextDocLoadListener());
docTemplate.setReferrerEnabled(true);
docTemplate.setReferrerPushEnabled(true);
docTemplate = registerDocument("test_pretty_url","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestPrettyURLDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
//docTemplate.setFrameworkScriptFilesBasePath("/itsnat_dev/js");
docTemplate = registerDocument("test_mobile","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestMobileDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
//docTemplate.setReferrerEnabled(true);
// docTemplate = registerDocument("test_anything","text/html",pathPrefix,pages);
// docTemplate.addItsNatServletRequestListener(new TestAnythingDocLoadListener());
docTemplate = registerDocument("test_xul","application/vnd.mozilla.xul+xml",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestXULDocLoadListener());
docTemplate.setReferrerEnabled(true);
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_xul_attached_server_launcher","application/vnd.mozilla.xul+xml",pathPrefix,pages);
// Ver notas en test_core_attached_server_launcher
docTemplate.addItsNatServletRequestListener(new TestXULAttachServerLauncherDocLoadListener());
docTemplate.setScriptingEnabled(false);
docTemplate.setFastLoadMode(true);
docTemplate = itsNatServlet.registerItsNatDocumentTemplateAttachedServer("test_xul_attached_server","application/vnd.mozilla.xul+xml");
docTemplate.addItsNatServletRequestListener(new TestXULDocLoadListener());
docTemplate.setCommMode(CommMode.SCRIPT_HOLD); // SCRIPT_HOLD ser� lo normal en attached server
docTemplate = registerDocument("test_iframe","text/html",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestIFrameHTMLDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = registerDocument("test_svg_bound","image/svg+xml",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestSVGBoundDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
//docTemplate.setScriptingEnabled(false);
docTemplate = registerDocument("test_svg_bound_savarese","image/svg+xml",pathPrefix,pages);
docTemplate.addItsNatServletRequestListener(new TestSVGBoundSavareseDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate = itsNatServlet.registerItsNatDocumentTemplate("test_remote_url","text/html","http://www.google.com");
docTemplate.addItsNatServletRequestListener(new TestRemoteTemplateDocLoadListener());
docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));
docTemplate.setOnLoadCacheStaticNodes(false);
docTemplate = itsNatServlet.registerItsNatDocumentTemplate("test_remote_url_result","text/html",new GoogleSearchResultSource());
docTemplate.addItsNatServletRequestListener(new TestRemoteTemplateResultDocLoadListener());
//docTemplate.addItsNatAttachedClientEventListener(new TestRemoteControlListener(false));