From 9f05ba669c94cd014554d1ec735e3711e2eaf354 Mon Sep 17 00:00:00 2001 From: slerena Date: Fri, 5 Jan 2007 18:11:33 +0000 Subject: [PATCH] 2007-01-05 Sancho Lerena Importing data from Azabel brach. This commit is a little chaotic :-). Almost all code it's break apart, so no problems should not be generated. New graphical console will be called "Active console", as temporal name. * pandora_graphical_console.sql: New SQL for active console. * pandora_graphical_console_data.sql: New SQL data for A.C. * images/op9.gif: New icon for operation menu. * operation/active_console/index.php: Main index for A.C. this includes now a require function for config.php. * operation/active_console/imagenes/*: Lots of images for A.C. Need to be ordered or something. * operation/active_console/scripts/*: Most of the Javascript code for the A.C is here. * operation/active_console/lib/*: Main include PHP code for A.C * operation/active_console/styles/*: CSS Styles for A.C. * pandora_graphical_console.INSTALL: How to install A.C * include/styles/cb/: Unused, deleted. * include/styles/op.css: Changes need to activate new A.C option. * include/languages/language_en.php: New string for A.C * operation/menu.php: New menu option. * include/config.php: New version and set error reporting to 0. At this time A.C reports many warnings and notices and dont work properly, so keep this low at the moment. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@353 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f --- pandora_console/ChangeLog | 41 + pandora_console/images/op9.gif | Bin 0 -> 1012 bytes pandora_console/include/config.php | 6 +- .../include/languages/language_en.php | 4 + .../include/styles/cb/build_all.bat | 14 - .../include/styles/cb/docs/xc_reference.html | 337 --- .../include/styles/cb/lib/_template.xml | 53 - .../include/styles/cb/lib/globals.js | 19 - .../include/styles/cb/lib/x_files.txt | 97 - .../styles/cb/lib/xaddeventlistener.js | 29 - .../styles/cb/lib/xaddeventlistener.xml | 82 - .../include/styles/cb/lib/xappendchild.js | 8 - .../include/styles/cb/lib/xappendchild.xml | 47 - .../include/styles/cb/lib/xbackground.js | 18 - .../include/styles/cb/lib/xbackground.xml | 67 - pandora_console/include/styles/cb/lib/xbar.js | 94 - .../include/styles/cb/lib/xbar.xml | 57 - .../include/styles/cb/lib/xcapitalize.js | 30 - .../include/styles/cb/lib/xcapitalize.xml | 41 - .../styles/cb/lib/xcardinalposition.js | 36 - .../styles/cb/lib/xcardinalposition.xml | 80 - .../include/styles/cb/lib/xclientheight.js | 17 - .../include/styles/cb/lib/xclientheight.xml | 52 - .../include/styles/cb/lib/xclientwidth.js | 17 - .../include/styles/cb/lib/xclientwidth.xml | 52 - .../include/styles/cb/lib/xclip.js | 11 - .../include/styles/cb/lib/xclip.xml | 70 - .../include/styles/cb/lib/xcollapsible.js | 62 - .../include/styles/cb/lib/xcollapsible.xml | 90 - .../include/styles/cb/lib/xcolor.js | 13 - .../include/styles/cb/lib/xcolor.xml | 57 - .../include/styles/cb/lib/xcreateelement.js | 8 - .../include/styles/cb/lib/xcreateelement.xml | 41 - pandora_console/include/styles/cb/lib/xdef.js | 8 - .../include/styles/cb/lib/xdef.xml | 42 - pandora_console/include/styles/cb/lib/xdeg.js | 7 - .../include/styles/cb/lib/xdeg.xml | 41 - .../include/styles/cb/lib/xdeletecookie.js | 11 - .../include/styles/cb/lib/xdeletecookie.xml | 53 - .../include/styles/cb/lib/xdisabledrag.js | 17 - .../include/styles/cb/lib/xdisabledrag.xml | 59 - .../include/styles/cb/lib/xdisplay.js | 12 - .../include/styles/cb/lib/xdisplay.xml | 57 - .../include/styles/cb/lib/xellipse.js | 51 - .../include/styles/cb/lib/xellipse.xml | 70 - .../include/styles/cb/lib/xenabledrag.js | 68 - .../include/styles/cb/lib/xenabledrag.xml | 65 - .../include/styles/cb/lib/xevaltextarea.js | 20 - .../include/styles/cb/lib/xevaltextarea.xml | 32 - .../include/styles/cb/lib/xevent.js | 93 - .../include/styles/cb/lib/xevent.xml | 117 - .../include/styles/cb/lib/xfenster.js | 70 - .../include/styles/cb/lib/xfenster.xml | 94 - .../include/styles/cb/lib/xfirstchild.js | 10 - .../include/styles/cb/lib/xfirstchild.xml | 51 - .../styles/cb/lib/xgetcomputedstyle.js | 25 - .../styles/cb/lib/xgetcomputedstyle.xml | 72 - .../include/styles/cb/lib/xgetcookie.js | 17 - .../include/styles/cb/lib/xgetcookie.xml | 41 - .../include/styles/cb/lib/xgetelementbyid.js | 11 - .../include/styles/cb/lib/xgetelementbyid.xml | 42 - .../styles/cb/lib/xgetelementsbyattribute.js | 17 - .../styles/cb/lib/xgetelementsbyattribute.xml | 63 - .../styles/cb/lib/xgetelementsbyclassname.js | 16 - .../styles/cb/lib/xgetelementsbyclassname.xml | 76 - .../styles/cb/lib/xgetelementsbytagname.js | 15 - .../styles/cb/lib/xgetelementsbytagname.xml | 106 - .../styles/cb/lib/xgetelepropsarray.js | 86 - .../styles/cb/lib/xgetelepropsarray.xml | 54 - .../styles/cb/lib/xgetelepropsstring.js | 11 - .../styles/cb/lib/xgetelepropsstring.xml | 53 - .../include/styles/cb/lib/xgeturlarguments.js | 17 - .../styles/cb/lib/xgeturlarguments.xml | 41 - .../include/styles/cb/lib/xglobals.xml | 83 - .../include/styles/cb/lib/xhaspoint.js | 12 - .../include/styles/cb/lib/xhaspoint.xml | 81 - .../include/styles/cb/lib/xheight.js | 45 - .../include/styles/cb/lib/xheight.xml | 71 - pandora_console/include/styles/cb/lib/xhex.js | 13 - .../include/styles/cb/lib/xhex.xml | 49 - .../include/styles/cb/lib/xhide.js | 4 - .../include/styles/cb/lib/xhide.xml | 58 - .../include/styles/cb/lib/ximgasyncwait.js | 76 - .../include/styles/cb/lib/ximgasyncwait.xml | 67 - .../include/styles/cb/lib/ximgrollsetup.js | 29 - .../include/styles/cb/lib/ximgrollsetup.xml | 71 - .../include/styles/cb/lib/xinclude.js | 59 - .../include/styles/cb/lib/xinclude.xml | 20 - .../include/styles/cb/lib/xinnerhtml.js | 10 - .../include/styles/cb/lib/xinnerhtml.xml | 50 - .../include/styles/cb/lib/xintersection.js | 45 - .../include/styles/cb/lib/xintersection.xml | 63 - .../include/styles/cb/lib/xleft.js | 20 - .../include/styles/cb/lib/xleft.xml | 53 - .../include/styles/cb/lib/xlinearscale.js | 9 - .../include/styles/cb/lib/xlinearscale.xml | 65 - .../include/styles/cb/lib/xloadscript.js | 14 - .../include/styles/cb/lib/xloadscript.xml | 39 - .../include/styles/cb/lib/xmenu1.js | 32 - .../include/styles/cb/lib/xmenu1.xml | 63 - .../include/styles/cb/lib/xmenu1a.js | 35 - .../include/styles/cb/lib/xmenu1a.xml | 68 - .../include/styles/cb/lib/xmenu1b.js | 43 - .../include/styles/cb/lib/xmenu1b.xml | 64 - .../include/styles/cb/lib/xmenu5.js | 77 - .../include/styles/cb/lib/xmenu5.xml | 106 - .../include/styles/cb/lib/xmoveto.js | 8 - .../include/styles/cb/lib/xmoveto.xml | 52 - .../include/styles/cb/lib/xname.js | 12 - .../include/styles/cb/lib/xname.xml | 32 - .../include/styles/cb/lib/xnextsib.js | 10 - .../include/styles/cb/lib/xnextsib.xml | 51 - pandora_console/include/styles/cb/lib/xnum.js | 8 - .../include/styles/cb/lib/xnum.xml | 48 - .../include/styles/cb/lib/xoffsetleft.js | 9 - .../include/styles/cb/lib/xoffsetleft.xml | 46 - .../include/styles/cb/lib/xoffsettop.js | 9 - .../include/styles/cb/lib/xoffsettop.xml | 46 - pandora_console/include/styles/cb/lib/xpad.js | 10 - .../include/styles/cb/lib/xpad.xml | 59 - .../include/styles/cb/lib/xpagex.js | 13 - .../include/styles/cb/lib/xpagex.xml | 54 - .../include/styles/cb/lib/xpagey.js | 14 - .../include/styles/cb/lib/xpagey.xml | 60 - .../include/styles/cb/lib/xparaeq.js | 40 - .../include/styles/cb/lib/xparaeq.xml | 78 - .../include/styles/cb/lib/xparent.js | 12 - .../include/styles/cb/lib/xparent.xml | 52 - .../include/styles/cb/lib/xparentchain.js | 14 - .../include/styles/cb/lib/xparentchain.xml | 55 - .../include/styles/cb/lib/xpopup.js | 62 - .../include/styles/cb/lib/xpopup.xml | 86 - .../include/styles/cb/lib/xpreventdefault.js | 8 - .../include/styles/cb/lib/xpreventdefault.xml | 39 - .../include/styles/cb/lib/xprevsib.js | 10 - .../include/styles/cb/lib/xprevsib.xml | 59 - pandora_console/include/styles/cb/lib/xrad.js | 7 - .../include/styles/cb/lib/xrad.xml | 41 - .../styles/cb/lib/xremoveeventlistener.js | 16 - .../styles/cb/lib/xremoveeventlistener.xml | 69 - .../include/styles/cb/lib/xresizeto.js | 8 - .../include/styles/cb/lib/xresizeto.xml | 60 - .../include/styles/cb/lib/xscrollleft.js | 18 - .../include/styles/cb/lib/xscrollleft.xml | 64 - .../include/styles/cb/lib/xscrolltop.js | 18 - .../include/styles/cb/lib/xscrolltop.xml | 64 - .../include/styles/cb/lib/xselect.js | 105 - .../include/styles/cb/lib/xselect.xml | 79 - .../include/styles/cb/lib/xsetcookie.js | 9 - .../include/styles/cb/lib/xsetcookie.xml | 51 - .../include/styles/cb/lib/xsetietitle.js | 11 - .../include/styles/cb/lib/xsetietitle.xml | 42 - .../include/styles/cb/lib/xshow.js | 4 - .../include/styles/cb/lib/xshow.xml | 65 - .../include/styles/cb/lib/xslidecornerto.js | 55 - .../include/styles/cb/lib/xslidecornerto.xml | 74 - .../include/styles/cb/lib/xslideto.js | 37 - .../include/styles/cb/lib/xslideto.xml | 84 - .../include/styles/cb/lib/xstoppropagation.js | 8 - .../styles/cb/lib/xstoppropagation.xml | 39 - pandora_console/include/styles/cb/lib/xstr.js | 8 - .../include/styles/cb/lib/xstr.xml | 41 - .../styles/cb/lib/xtablecellvisibility.js | 10 - .../styles/cb/lib/xtablecellvisibility.xml | 64 - .../include/styles/cb/lib/xtablecoldisplay.js | 13 - .../styles/cb/lib/xtablecoldisplay.xml | 60 - .../include/styles/cb/lib/xtablecursor.js | 29 - .../include/styles/cb/lib/xtablecursor.xml | 74 - .../include/styles/cb/lib/xtableiterate.js | 16 - .../include/styles/cb/lib/xtableiterate.xml | 68 - .../include/styles/cb/lib/xtablerowdisplay.js | 10 - .../styles/cb/lib/xtablerowdisplay.xml | 60 - .../include/styles/cb/lib/xtabpanelgroup.xml | 110 - .../include/styles/cb/lib/xtimer.js | 54 - .../include/styles/cb/lib/xtimer.xml | 68 - .../include/styles/cb/lib/xtooltipgroup.js | 92 - .../include/styles/cb/lib/xtooltipgroup.xml | 82 - pandora_console/include/styles/cb/lib/xtop.js | 20 - .../include/styles/cb/lib/xtop.xml | 53 - .../include/styles/cb/lib/xtristateimage.js | 47 - .../include/styles/cb/lib/xtristateimage.xml | 76 - .../include/styles/cb/lib/xversion.js | 1 - .../include/styles/cb/lib/xversion.xml | 27 - .../include/styles/cb/lib/xvisibility.js | 38 - .../include/styles/cb/lib/xvisibility.xml | 50 - .../include/styles/cb/lib/xwalkeletree.js | 19 - .../include/styles/cb/lib/xwalkeletree.xml | 83 - .../include/styles/cb/lib/xwalktree.js | 21 - .../include/styles/cb/lib/xwalktree.xml | 49 - .../include/styles/cb/lib/xwidth.js | 45 - .../include/styles/cb/lib/xwidth.xml | 71 - .../include/styles/cb/lib/xwinclass.js | 29 - .../include/styles/cb/lib/xwinclass.xml | 78 - .../include/styles/cb/lib/xwindow.js | 41 - .../include/styles/cb/lib/xwindow.xml | 62 - .../include/styles/cb/lib/xwinopen.js | 15 - .../include/styles/cb/lib/xwinopen.xml | 49 - .../include/styles/cb/lib/xwinscrollto.js | 41 - .../include/styles/cb/lib/xwinscrollto.xml | 67 - .../include/styles/cb/lib/xzindex.js | 12 - .../include/styles/cb/lib/xzindex.xml | 59 - pandora_console/include/styles/cb/x.js | 2637 ----------------- pandora_console/include/styles/cb/x.xcp | 16 - pandora_console/include/styles/cb/x_anim.js | 2 - pandora_console/include/styles/cb/x_anim.xcp | 21 - pandora_console/include/styles/cb/x_cook.js | 2 - pandora_console/include/styles/cb/x_cook.xcp | 21 - pandora_console/include/styles/cb/x_core.xcp | 47 - .../include/styles/cb/x_core_n4.js | 360 --- pandora_console/include/styles/cb/x_debug.js | 2 - pandora_console/include/styles/cb/x_debug.xcp | 25 - pandora_console/include/styles/cb/x_dom.xcp | 30 - pandora_console/include/styles/cb/x_dom_n4.js | 32 - pandora_console/include/styles/cb/x_drag.xcp | 20 - pandora_console/include/styles/cb/x_event.xcp | 23 - .../include/styles/cb/x_event_n4.js | 99 - pandora_console/include/styles/cb/x_img.js | 2 - pandora_console/include/styles/cb/x_img.xcp | 21 - pandora_console/include/styles/cb/x_misc.js | 2 - pandora_console/include/styles/cb/x_misc.xcp | 27 - pandora_console/include/styles/cb/x_slide.xcp | 19 - pandora_console/include/styles/cb/x_table.js | 2 - pandora_console/include/styles/cb/x_table.xcp | 23 - pandora_console/include/styles/cb/x_win.js | 2 - pandora_console/include/styles/cb/x_win.xcp | 22 - .../include/styles/cb/xc/license.html | 588 ---- pandora_console/include/styles/cb/xc/xc.c | 721 ----- pandora_console/include/styles/cb/xc/xc.dsp | 104 - pandora_console/include/styles/cb/xc/xc.dsw | 29 - pandora_console/include/styles/cb/xc/xc.exe | Bin 200807 -> 0 bytes pandora_console/include/styles/cb/xc/xc.h | 41 - pandora_console/include/styles/cb/xc/xc.ncb | Bin 50176 -> 0 bytes pandora_console/include/styles/cb/xc/xc.opt | Bin 48640 -> 0 bytes pandora_console/include/styles/cb/xc/xc.plg | 32 - pandora_console/include/styles/op.css | 13 +- .../imagenes/AyudaComunidad_1.png | Bin 0 -> 3371 bytes .../active_console/imagenes/Camara_1.png | Bin 0 -> 3322 bytes .../imagenes/ConexionPCRed_1.png | Bin 0 -> 2547 bytes .../active_console/imagenes/Info_1.png | Bin 0 -> 2867 bytes .../imagenes/UsuariosBloqueados_1.png | Bin 0 -> 3951 bytes .../imagenes/accesibilidad_1.png | Bin 0 -> 2242 bytes .../active_console/imagenes/aim_1.png | Bin 0 -> 2314 bytes .../active_console/imagenes/alert_1.png | Bin 0 -> 2178 bytes .../active_console/imagenes/amule_1.png | Bin 0 -> 2773 bytes .../active_console/imagenes/antena2_1.png | Bin 0 -> 4073 bytes .../active_console/imagenes/antena_1.png | Bin 0 -> 2208 bytes .../active_console/imagenes/aspaRoja_1.png | Bin 0 -> 3553 bytes .../active_console/imagenes/baseDatos_1.png | Bin 0 -> 3243 bytes .../active_console/imagenes/bomba_1.png | Bin 0 -> 2801 bytes .../active_console/imagenes/candado_1.png | Bin 0 -> 2684 bytes .../active_console/imagenes/carpeta_1.png | Bin 0 -> 2289 bytes .../active_console/imagenes/casa_1.png | Bin 0 -> 2539 bytes .../active_console/imagenes/cdrom_1.png | Bin 0 -> 3073 bytes .../imagenes/configuracion_1.png | Bin 0 -> 3335 bytes .../active_console/imagenes/debian_1.png | Bin 0 -> 1930 bytes .../imagenes/discoDuroBackup_1.png | Bin 0 -> 2269 bytes .../imagenes/discoDuroFireWire_1.png | Bin 0 -> 2672 bytes .../imagenes/discoDuroLinux_1.png | Bin 0 -> 3469 bytes .../imagenes/discoDuroUsb_1.png | Bin 0 -> 2685 bytes .../active_console/imagenes/discoDuro_1.png | Bin 0 -> 5125 bytes .../active_console/imagenes/dvd_1.png | Bin 0 -> 3274 bytes .../active_console/imagenes/enchufe_1.png | Bin 0 -> 1254 bytes .../active_console/imagenes/energia_1.png | Bin 0 -> 2997 bytes .../active_console/imagenes/enter_1.png | Bin 0 -> 2737 bytes .../active_console/imagenes/escaner_1.png | Bin 0 -> 2462 bytes .../active_console/imagenes/fedora_1.png | Bin 0 -> 1721 bytes .../active_console/imagenes/feed_1.png | Bin 0 -> 2954 bytes .../imagenes/ficherosComprimidos_1.png | Bin 0 -> 2825 bytes .../active_console/imagenes/firefox_1.png | Bin 0 -> 3828 bytes .../active_console/imagenes/fotos_1.png | Bin 0 -> 2913 bytes .../active_console/imagenes/freebsd_1.png | Bin 0 -> 2942 bytes .../active_console/imagenes/gentoo_1.png | Bin 0 -> 2637 bytes .../active_console/imagenes/gnome_1.png | Bin 0 -> 2904 bytes .../imagenes/hardWareInfo_1.png | Bin 0 -> 2508 bytes .../active_console/imagenes/iPodBlack_1.png | Bin 0 -> 1803 bytes .../active_console/imagenes/iPod_1.png | Bin 0 -> 1984 bytes .../active_console/imagenes/impresora_1.png | Bin 0 -> 2804 bytes .../active_console/imagenes/impresoras_1.png | Bin 0 -> 3592 bytes .../active_console/imagenes/indisegInfo_1.png | Bin 0 -> 3071 bytes .../active_console/imagenes/indiseg_1.png | Bin 0 -> 2716 bytes .../active_console/imagenes/internet_1.png | Bin 0 -> 3924 bytes .../active_console/imagenes/kde_1.png | Bin 0 -> 3313 bytes .../active_console/imagenes/keyboard_1.png | Bin 0 -> 3200 bytes .../active_console/imagenes/ksim_1.png | Bin 0 -> 3759 bytes .../active_console/imagenes/logo_login.gif | Bin 0 -> 5466 bytes .../active_console/imagenes/mac_1.png | Bin 0 -> 1877 bytes .../active_console/imagenes/memoria_1.png | Bin 0 -> 2839 bytes .../active_console/imagenes/mobil_1.png | Bin 0 -> 2428 bytes .../active_console/imagenes/modem_1.png | Bin 0 -> 2044 bytes .../imagenes/monitorBlack_1.png | Bin 0 -> 2307 bytes .../active_console/imagenes/monitor_1.png | Bin 0 -> 2007 bytes .../active_console/imagenes/muchos_pulpos.gif | Bin 0 -> 7944 bytes .../active_console/imagenes/nfs_1.png | Bin 0 -> 2303 bytes .../active_console/imagenes/ojo_1.png | Bin 0 -> 3478 bytes .../imagenes/ordenadoresRed_1.png | Bin 0 -> 2771 bytes .../active_console/imagenes/pandoraDB_1.png | Bin 0 -> 2503 bytes .../active_console/imagenes/pandoraLupa_1.png | Bin 0 -> 2499 bytes .../active_console/imagenes/pandora_1.png | Bin 0 -> 1716 bytes .../active_console/imagenes/pandoras_1.png | Bin 0 -> 2519 bytes .../active_console/imagenes/password_1.png | Bin 0 -> 2391 bytes .../active_console/imagenes/pc_1.png | Bin 0 -> 2799 bytes .../active_console/imagenes/pda_1.png | Bin 0 -> 1786 bytes .../active_console/imagenes/penDrive_1.png | Bin 0 -> 2721 bytes .../active_console/imagenes/penguin_1.png | Bin 0 -> 2837 bytes .../active_console/imagenes/portatil2_1.png | Bin 0 -> 2517 bytes .../active_console/imagenes/portatil_1.png | Bin 0 -> 1433 bytes .../imagenes/procesadorBlue_1.png | Bin 0 -> 2409 bytes .../active_console/imagenes/procesador_1.png | Bin 0 -> 3006 bytes .../imagenes/pulpo_cilindro.gif | Bin 0 -> 10403 bytes .../active_console/imagenes/pulpo_lupa.gif | Bin 0 -> 5399 bytes .../active_console/imagenes/raid_1.png | Bin 0 -> 2242 bytes .../active_console/imagenes/raton_1.png | Bin 0 -> 2049 bytes .../active_console/imagenes/redLocal_1.png | Bin 0 -> 2817 bytes .../active_console/imagenes/redhat_1.png | Bin 0 -> 3054 bytes .../active_console/imagenes/rj45_1.png | Bin 0 -> 799 bytes .../active_console/imagenes/servidorRed_1.png | Bin 0 -> 2251 bytes .../active_console/imagenes/servidor_1.png | Bin 0 -> 1452 bytes .../active_console/imagenes/slackware_1.png | Bin 0 -> 3167 bytes .../active_console/imagenes/suse_1.png | Bin 0 -> 2773 bytes .../active_console/imagenes/switch_1.png | Bin 0 -> 2542 bytes .../active_console/imagenes/tablet_1.png | Bin 0 -> 2392 bytes .../active_console/imagenes/tarjetaPCI_1.png | Bin 0 -> 1925 bytes .../active_console/imagenes/teclado_1.png | Bin 0 -> 2481 bytes .../active_console/imagenes/telefono_1.png | Bin 0 -> 3427 bytes .../imagenes/terminalServer_1.png | Bin 0 -> 2618 bytes .../active_console/imagenes/tux_1.png | Bin 0 -> 2735 bytes .../active_console/imagenes/tv_1.png | Bin 0 -> 1801 bytes .../active_console/imagenes/ubuntu_1.png | Bin 0 -> 2897 bytes .../active_console/imagenes/usuaria_1.png | Bin 0 -> 2323 bytes .../active_console/imagenes/usuario_1.png | Bin 0 -> 2055 bytes .../imagenes/usuariosChat_1.png | Bin 0 -> 2694 bytes .../imagenes/usuariosWindows_1.png | Bin 0 -> 3325 bytes .../active_console/imagenes/usuarios_1.png | Bin 0 -> 2194 bytes .../active_console/imagenes/utiles/b_down.gif | Bin 0 -> 182 bytes .../active_console/imagenes/utiles/cancel.gif | Bin 0 -> 529 bytes .../imagenes/utiles/dot_green.gif | Bin 0 -> 200 bytes .../imagenes/utiles/dot_red.gif | Bin 0 -> 200 bytes .../imagenes/utiles/grafica_h.gif | Bin 0 -> 145 bytes .../active_console/imagenes/utiles/play.gif | Bin 0 -> 583 bytes .../active_console/imagenes/winSMB_1.png | Bin 0 -> 3081 bytes .../operation/active_console/index.php | 1405 +++++++++ .../active_console/lib/db_functions.php | 1615 ++++++++++ .../active_console/lib/extra_functions.php | 240 ++ .../active_console/scripts/objeto.php | 159 + .../active_console/scripts/onunload.php | 147 + .../active_console/scripts/wz_jsgraphics.js | 943 ++++++ .../active_console/scripts}/x_core.js | 0 .../active_console/scripts}/x_dom.js | 0 .../active_console/scripts}/x_drag.js | 0 .../active_console/scripts}/x_event.js | 0 .../active_console/scripts}/x_slide.js | 0 .../active_console/scripts/xformulario.js | 65 + .../scripts/xformulario_html.php | 899 ++++++ .../active_console/scripts/xmenu2.js | 267 ++ .../active_console/scripts/xmenu2_html.js | 152 + .../active_console/scripts}/xtabpanelgroup.js | 20 +- .../operation/active_console/styles/main.css | 384 +++ pandora_console/operation/menu.php | 7 +- .../pandora_graphical_console.INSTALL | 21 + pandora_console/pandora_graphical_console.sql | 114 + .../pandora_graphical_console_data.sql | 100 + 361 files changed, 6592 insertions(+), 13982 deletions(-) create mode 100644 pandora_console/images/op9.gif delete mode 100644 pandora_console/include/styles/cb/build_all.bat delete mode 100644 pandora_console/include/styles/cb/docs/xc_reference.html delete mode 100644 pandora_console/include/styles/cb/lib/_template.xml delete mode 100644 pandora_console/include/styles/cb/lib/globals.js delete mode 100644 pandora_console/include/styles/cb/lib/x_files.txt delete mode 100644 pandora_console/include/styles/cb/lib/xaddeventlistener.js delete mode 100644 pandora_console/include/styles/cb/lib/xaddeventlistener.xml delete mode 100644 pandora_console/include/styles/cb/lib/xappendchild.js delete mode 100644 pandora_console/include/styles/cb/lib/xappendchild.xml delete mode 100644 pandora_console/include/styles/cb/lib/xbackground.js delete mode 100644 pandora_console/include/styles/cb/lib/xbackground.xml delete mode 100644 pandora_console/include/styles/cb/lib/xbar.js delete mode 100644 pandora_console/include/styles/cb/lib/xbar.xml delete mode 100644 pandora_console/include/styles/cb/lib/xcapitalize.js delete mode 100644 pandora_console/include/styles/cb/lib/xcapitalize.xml delete mode 100644 pandora_console/include/styles/cb/lib/xcardinalposition.js delete mode 100644 pandora_console/include/styles/cb/lib/xcardinalposition.xml delete mode 100644 pandora_console/include/styles/cb/lib/xclientheight.js delete mode 100644 pandora_console/include/styles/cb/lib/xclientheight.xml delete mode 100644 pandora_console/include/styles/cb/lib/xclientwidth.js delete mode 100644 pandora_console/include/styles/cb/lib/xclientwidth.xml delete mode 100644 pandora_console/include/styles/cb/lib/xclip.js delete mode 100644 pandora_console/include/styles/cb/lib/xclip.xml delete mode 100644 pandora_console/include/styles/cb/lib/xcollapsible.js delete mode 100644 pandora_console/include/styles/cb/lib/xcollapsible.xml delete mode 100644 pandora_console/include/styles/cb/lib/xcolor.js delete mode 100644 pandora_console/include/styles/cb/lib/xcolor.xml delete mode 100644 pandora_console/include/styles/cb/lib/xcreateelement.js delete mode 100644 pandora_console/include/styles/cb/lib/xcreateelement.xml delete mode 100644 pandora_console/include/styles/cb/lib/xdef.js delete mode 100644 pandora_console/include/styles/cb/lib/xdef.xml delete mode 100644 pandora_console/include/styles/cb/lib/xdeg.js delete mode 100644 pandora_console/include/styles/cb/lib/xdeg.xml delete mode 100644 pandora_console/include/styles/cb/lib/xdeletecookie.js delete mode 100644 pandora_console/include/styles/cb/lib/xdeletecookie.xml delete mode 100644 pandora_console/include/styles/cb/lib/xdisabledrag.js delete mode 100644 pandora_console/include/styles/cb/lib/xdisabledrag.xml delete mode 100644 pandora_console/include/styles/cb/lib/xdisplay.js delete mode 100644 pandora_console/include/styles/cb/lib/xdisplay.xml delete mode 100644 pandora_console/include/styles/cb/lib/xellipse.js delete mode 100644 pandora_console/include/styles/cb/lib/xellipse.xml delete mode 100644 pandora_console/include/styles/cb/lib/xenabledrag.js delete mode 100644 pandora_console/include/styles/cb/lib/xenabledrag.xml delete mode 100644 pandora_console/include/styles/cb/lib/xevaltextarea.js delete mode 100644 pandora_console/include/styles/cb/lib/xevaltextarea.xml delete mode 100644 pandora_console/include/styles/cb/lib/xevent.js delete mode 100644 pandora_console/include/styles/cb/lib/xevent.xml delete mode 100644 pandora_console/include/styles/cb/lib/xfenster.js delete mode 100644 pandora_console/include/styles/cb/lib/xfenster.xml delete mode 100644 pandora_console/include/styles/cb/lib/xfirstchild.js delete mode 100644 pandora_console/include/styles/cb/lib/xfirstchild.xml delete mode 100644 pandora_console/include/styles/cb/lib/xgetcomputedstyle.js delete mode 100644 pandora_console/include/styles/cb/lib/xgetcomputedstyle.xml delete mode 100644 pandora_console/include/styles/cb/lib/xgetcookie.js delete mode 100644 pandora_console/include/styles/cb/lib/xgetcookie.xml delete mode 100644 pandora_console/include/styles/cb/lib/xgetelementbyid.js delete mode 100644 pandora_console/include/styles/cb/lib/xgetelementbyid.xml delete mode 100644 pandora_console/include/styles/cb/lib/xgetelementsbyattribute.js delete mode 100644 pandora_console/include/styles/cb/lib/xgetelementsbyattribute.xml delete mode 100644 pandora_console/include/styles/cb/lib/xgetelementsbyclassname.js delete mode 100644 pandora_console/include/styles/cb/lib/xgetelementsbyclassname.xml delete mode 100644 pandora_console/include/styles/cb/lib/xgetelementsbytagname.js delete mode 100644 pandora_console/include/styles/cb/lib/xgetelementsbytagname.xml delete mode 100644 pandora_console/include/styles/cb/lib/xgetelepropsarray.js delete mode 100644 pandora_console/include/styles/cb/lib/xgetelepropsarray.xml delete mode 100644 pandora_console/include/styles/cb/lib/xgetelepropsstring.js delete mode 100644 pandora_console/include/styles/cb/lib/xgetelepropsstring.xml delete mode 100644 pandora_console/include/styles/cb/lib/xgeturlarguments.js delete mode 100644 pandora_console/include/styles/cb/lib/xgeturlarguments.xml delete mode 100644 pandora_console/include/styles/cb/lib/xglobals.xml delete mode 100644 pandora_console/include/styles/cb/lib/xhaspoint.js delete mode 100644 pandora_console/include/styles/cb/lib/xhaspoint.xml delete mode 100644 pandora_console/include/styles/cb/lib/xheight.js delete mode 100644 pandora_console/include/styles/cb/lib/xheight.xml delete mode 100644 pandora_console/include/styles/cb/lib/xhex.js delete mode 100644 pandora_console/include/styles/cb/lib/xhex.xml delete mode 100644 pandora_console/include/styles/cb/lib/xhide.js delete mode 100644 pandora_console/include/styles/cb/lib/xhide.xml delete mode 100644 pandora_console/include/styles/cb/lib/ximgasyncwait.js delete mode 100644 pandora_console/include/styles/cb/lib/ximgasyncwait.xml delete mode 100644 pandora_console/include/styles/cb/lib/ximgrollsetup.js delete mode 100644 pandora_console/include/styles/cb/lib/ximgrollsetup.xml delete mode 100644 pandora_console/include/styles/cb/lib/xinclude.js delete mode 100644 pandora_console/include/styles/cb/lib/xinclude.xml delete mode 100644 pandora_console/include/styles/cb/lib/xinnerhtml.js delete mode 100644 pandora_console/include/styles/cb/lib/xinnerhtml.xml delete mode 100644 pandora_console/include/styles/cb/lib/xintersection.js delete mode 100644 pandora_console/include/styles/cb/lib/xintersection.xml delete mode 100644 pandora_console/include/styles/cb/lib/xleft.js delete mode 100644 pandora_console/include/styles/cb/lib/xleft.xml delete mode 100644 pandora_console/include/styles/cb/lib/xlinearscale.js delete mode 100644 pandora_console/include/styles/cb/lib/xlinearscale.xml delete mode 100644 pandora_console/include/styles/cb/lib/xloadscript.js delete mode 100644 pandora_console/include/styles/cb/lib/xloadscript.xml delete mode 100644 pandora_console/include/styles/cb/lib/xmenu1.js delete mode 100644 pandora_console/include/styles/cb/lib/xmenu1.xml delete mode 100644 pandora_console/include/styles/cb/lib/xmenu1a.js delete mode 100644 pandora_console/include/styles/cb/lib/xmenu1a.xml delete mode 100644 pandora_console/include/styles/cb/lib/xmenu1b.js delete mode 100644 pandora_console/include/styles/cb/lib/xmenu1b.xml delete mode 100644 pandora_console/include/styles/cb/lib/xmenu5.js delete mode 100644 pandora_console/include/styles/cb/lib/xmenu5.xml delete mode 100644 pandora_console/include/styles/cb/lib/xmoveto.js delete mode 100644 pandora_console/include/styles/cb/lib/xmoveto.xml delete mode 100644 pandora_console/include/styles/cb/lib/xname.js delete mode 100644 pandora_console/include/styles/cb/lib/xname.xml delete mode 100644 pandora_console/include/styles/cb/lib/xnextsib.js delete mode 100644 pandora_console/include/styles/cb/lib/xnextsib.xml delete mode 100644 pandora_console/include/styles/cb/lib/xnum.js delete mode 100644 pandora_console/include/styles/cb/lib/xnum.xml delete mode 100644 pandora_console/include/styles/cb/lib/xoffsetleft.js delete mode 100644 pandora_console/include/styles/cb/lib/xoffsetleft.xml delete mode 100644 pandora_console/include/styles/cb/lib/xoffsettop.js delete mode 100644 pandora_console/include/styles/cb/lib/xoffsettop.xml delete mode 100644 pandora_console/include/styles/cb/lib/xpad.js delete mode 100644 pandora_console/include/styles/cb/lib/xpad.xml delete mode 100644 pandora_console/include/styles/cb/lib/xpagex.js delete mode 100644 pandora_console/include/styles/cb/lib/xpagex.xml delete mode 100644 pandora_console/include/styles/cb/lib/xpagey.js delete mode 100644 pandora_console/include/styles/cb/lib/xpagey.xml delete mode 100644 pandora_console/include/styles/cb/lib/xparaeq.js delete mode 100644 pandora_console/include/styles/cb/lib/xparaeq.xml delete mode 100644 pandora_console/include/styles/cb/lib/xparent.js delete mode 100644 pandora_console/include/styles/cb/lib/xparent.xml delete mode 100644 pandora_console/include/styles/cb/lib/xparentchain.js delete mode 100644 pandora_console/include/styles/cb/lib/xparentchain.xml delete mode 100644 pandora_console/include/styles/cb/lib/xpopup.js delete mode 100644 pandora_console/include/styles/cb/lib/xpopup.xml delete mode 100644 pandora_console/include/styles/cb/lib/xpreventdefault.js delete mode 100644 pandora_console/include/styles/cb/lib/xpreventdefault.xml delete mode 100644 pandora_console/include/styles/cb/lib/xprevsib.js delete mode 100644 pandora_console/include/styles/cb/lib/xprevsib.xml delete mode 100644 pandora_console/include/styles/cb/lib/xrad.js delete mode 100644 pandora_console/include/styles/cb/lib/xrad.xml delete mode 100644 pandora_console/include/styles/cb/lib/xremoveeventlistener.js delete mode 100644 pandora_console/include/styles/cb/lib/xremoveeventlistener.xml delete mode 100644 pandora_console/include/styles/cb/lib/xresizeto.js delete mode 100644 pandora_console/include/styles/cb/lib/xresizeto.xml delete mode 100644 pandora_console/include/styles/cb/lib/xscrollleft.js delete mode 100644 pandora_console/include/styles/cb/lib/xscrollleft.xml delete mode 100644 pandora_console/include/styles/cb/lib/xscrolltop.js delete mode 100644 pandora_console/include/styles/cb/lib/xscrolltop.xml delete mode 100644 pandora_console/include/styles/cb/lib/xselect.js delete mode 100644 pandora_console/include/styles/cb/lib/xselect.xml delete mode 100644 pandora_console/include/styles/cb/lib/xsetcookie.js delete mode 100644 pandora_console/include/styles/cb/lib/xsetcookie.xml delete mode 100644 pandora_console/include/styles/cb/lib/xsetietitle.js delete mode 100644 pandora_console/include/styles/cb/lib/xsetietitle.xml delete mode 100644 pandora_console/include/styles/cb/lib/xshow.js delete mode 100644 pandora_console/include/styles/cb/lib/xshow.xml delete mode 100644 pandora_console/include/styles/cb/lib/xslidecornerto.js delete mode 100644 pandora_console/include/styles/cb/lib/xslidecornerto.xml delete mode 100644 pandora_console/include/styles/cb/lib/xslideto.js delete mode 100644 pandora_console/include/styles/cb/lib/xslideto.xml delete mode 100644 pandora_console/include/styles/cb/lib/xstoppropagation.js delete mode 100644 pandora_console/include/styles/cb/lib/xstoppropagation.xml delete mode 100644 pandora_console/include/styles/cb/lib/xstr.js delete mode 100644 pandora_console/include/styles/cb/lib/xstr.xml delete mode 100644 pandora_console/include/styles/cb/lib/xtablecellvisibility.js delete mode 100644 pandora_console/include/styles/cb/lib/xtablecellvisibility.xml delete mode 100644 pandora_console/include/styles/cb/lib/xtablecoldisplay.js delete mode 100644 pandora_console/include/styles/cb/lib/xtablecoldisplay.xml delete mode 100644 pandora_console/include/styles/cb/lib/xtablecursor.js delete mode 100644 pandora_console/include/styles/cb/lib/xtablecursor.xml delete mode 100644 pandora_console/include/styles/cb/lib/xtableiterate.js delete mode 100644 pandora_console/include/styles/cb/lib/xtableiterate.xml delete mode 100644 pandora_console/include/styles/cb/lib/xtablerowdisplay.js delete mode 100644 pandora_console/include/styles/cb/lib/xtablerowdisplay.xml delete mode 100644 pandora_console/include/styles/cb/lib/xtabpanelgroup.xml delete mode 100644 pandora_console/include/styles/cb/lib/xtimer.js delete mode 100644 pandora_console/include/styles/cb/lib/xtimer.xml delete mode 100644 pandora_console/include/styles/cb/lib/xtooltipgroup.js delete mode 100644 pandora_console/include/styles/cb/lib/xtooltipgroup.xml delete mode 100644 pandora_console/include/styles/cb/lib/xtop.js delete mode 100644 pandora_console/include/styles/cb/lib/xtop.xml delete mode 100644 pandora_console/include/styles/cb/lib/xtristateimage.js delete mode 100644 pandora_console/include/styles/cb/lib/xtristateimage.xml delete mode 100644 pandora_console/include/styles/cb/lib/xversion.js delete mode 100644 pandora_console/include/styles/cb/lib/xversion.xml delete mode 100644 pandora_console/include/styles/cb/lib/xvisibility.js delete mode 100644 pandora_console/include/styles/cb/lib/xvisibility.xml delete mode 100644 pandora_console/include/styles/cb/lib/xwalkeletree.js delete mode 100644 pandora_console/include/styles/cb/lib/xwalkeletree.xml delete mode 100644 pandora_console/include/styles/cb/lib/xwalktree.js delete mode 100644 pandora_console/include/styles/cb/lib/xwalktree.xml delete mode 100644 pandora_console/include/styles/cb/lib/xwidth.js delete mode 100644 pandora_console/include/styles/cb/lib/xwidth.xml delete mode 100644 pandora_console/include/styles/cb/lib/xwinclass.js delete mode 100644 pandora_console/include/styles/cb/lib/xwinclass.xml delete mode 100644 pandora_console/include/styles/cb/lib/xwindow.js delete mode 100644 pandora_console/include/styles/cb/lib/xwindow.xml delete mode 100644 pandora_console/include/styles/cb/lib/xwinopen.js delete mode 100644 pandora_console/include/styles/cb/lib/xwinopen.xml delete mode 100644 pandora_console/include/styles/cb/lib/xwinscrollto.js delete mode 100644 pandora_console/include/styles/cb/lib/xwinscrollto.xml delete mode 100644 pandora_console/include/styles/cb/lib/xzindex.js delete mode 100644 pandora_console/include/styles/cb/lib/xzindex.xml delete mode 100644 pandora_console/include/styles/cb/x.js delete mode 100644 pandora_console/include/styles/cb/x.xcp delete mode 100644 pandora_console/include/styles/cb/x_anim.js delete mode 100644 pandora_console/include/styles/cb/x_anim.xcp delete mode 100644 pandora_console/include/styles/cb/x_cook.js delete mode 100644 pandora_console/include/styles/cb/x_cook.xcp delete mode 100644 pandora_console/include/styles/cb/x_core.xcp delete mode 100644 pandora_console/include/styles/cb/x_core_n4.js delete mode 100644 pandora_console/include/styles/cb/x_debug.js delete mode 100644 pandora_console/include/styles/cb/x_debug.xcp delete mode 100644 pandora_console/include/styles/cb/x_dom.xcp delete mode 100644 pandora_console/include/styles/cb/x_dom_n4.js delete mode 100644 pandora_console/include/styles/cb/x_drag.xcp delete mode 100644 pandora_console/include/styles/cb/x_event.xcp delete mode 100644 pandora_console/include/styles/cb/x_event_n4.js delete mode 100644 pandora_console/include/styles/cb/x_img.js delete mode 100644 pandora_console/include/styles/cb/x_img.xcp delete mode 100644 pandora_console/include/styles/cb/x_misc.js delete mode 100644 pandora_console/include/styles/cb/x_misc.xcp delete mode 100644 pandora_console/include/styles/cb/x_slide.xcp delete mode 100644 pandora_console/include/styles/cb/x_table.js delete mode 100644 pandora_console/include/styles/cb/x_table.xcp delete mode 100644 pandora_console/include/styles/cb/x_win.js delete mode 100644 pandora_console/include/styles/cb/x_win.xcp delete mode 100644 pandora_console/include/styles/cb/xc/license.html delete mode 100644 pandora_console/include/styles/cb/xc/xc.c delete mode 100644 pandora_console/include/styles/cb/xc/xc.dsp delete mode 100644 pandora_console/include/styles/cb/xc/xc.dsw delete mode 100644 pandora_console/include/styles/cb/xc/xc.exe delete mode 100644 pandora_console/include/styles/cb/xc/xc.h delete mode 100644 pandora_console/include/styles/cb/xc/xc.ncb delete mode 100644 pandora_console/include/styles/cb/xc/xc.opt delete mode 100644 pandora_console/include/styles/cb/xc/xc.plg create mode 100644 pandora_console/operation/active_console/imagenes/AyudaComunidad_1.png create mode 100644 pandora_console/operation/active_console/imagenes/Camara_1.png create mode 100644 pandora_console/operation/active_console/imagenes/ConexionPCRed_1.png create mode 100644 pandora_console/operation/active_console/imagenes/Info_1.png create mode 100644 pandora_console/operation/active_console/imagenes/UsuariosBloqueados_1.png create mode 100644 pandora_console/operation/active_console/imagenes/accesibilidad_1.png create mode 100644 pandora_console/operation/active_console/imagenes/aim_1.png create mode 100644 pandora_console/operation/active_console/imagenes/alert_1.png create mode 100644 pandora_console/operation/active_console/imagenes/amule_1.png create mode 100644 pandora_console/operation/active_console/imagenes/antena2_1.png create mode 100644 pandora_console/operation/active_console/imagenes/antena_1.png create mode 100644 pandora_console/operation/active_console/imagenes/aspaRoja_1.png create mode 100644 pandora_console/operation/active_console/imagenes/baseDatos_1.png create mode 100644 pandora_console/operation/active_console/imagenes/bomba_1.png create mode 100644 pandora_console/operation/active_console/imagenes/candado_1.png create mode 100644 pandora_console/operation/active_console/imagenes/carpeta_1.png create mode 100644 pandora_console/operation/active_console/imagenes/casa_1.png create mode 100644 pandora_console/operation/active_console/imagenes/cdrom_1.png create mode 100644 pandora_console/operation/active_console/imagenes/configuracion_1.png create mode 100644 pandora_console/operation/active_console/imagenes/debian_1.png create mode 100644 pandora_console/operation/active_console/imagenes/discoDuroBackup_1.png create mode 100644 pandora_console/operation/active_console/imagenes/discoDuroFireWire_1.png create mode 100644 pandora_console/operation/active_console/imagenes/discoDuroLinux_1.png create mode 100644 pandora_console/operation/active_console/imagenes/discoDuroUsb_1.png create mode 100644 pandora_console/operation/active_console/imagenes/discoDuro_1.png create mode 100644 pandora_console/operation/active_console/imagenes/dvd_1.png create mode 100644 pandora_console/operation/active_console/imagenes/enchufe_1.png create mode 100644 pandora_console/operation/active_console/imagenes/energia_1.png create mode 100644 pandora_console/operation/active_console/imagenes/enter_1.png create mode 100644 pandora_console/operation/active_console/imagenes/escaner_1.png create mode 100644 pandora_console/operation/active_console/imagenes/fedora_1.png create mode 100644 pandora_console/operation/active_console/imagenes/feed_1.png create mode 100644 pandora_console/operation/active_console/imagenes/ficherosComprimidos_1.png create mode 100644 pandora_console/operation/active_console/imagenes/firefox_1.png create mode 100644 pandora_console/operation/active_console/imagenes/fotos_1.png create mode 100644 pandora_console/operation/active_console/imagenes/freebsd_1.png create mode 100644 pandora_console/operation/active_console/imagenes/gentoo_1.png create mode 100644 pandora_console/operation/active_console/imagenes/gnome_1.png create mode 100644 pandora_console/operation/active_console/imagenes/hardWareInfo_1.png create mode 100644 pandora_console/operation/active_console/imagenes/iPodBlack_1.png create mode 100644 pandora_console/operation/active_console/imagenes/iPod_1.png create mode 100644 pandora_console/operation/active_console/imagenes/impresora_1.png create mode 100644 pandora_console/operation/active_console/imagenes/impresoras_1.png create mode 100644 pandora_console/operation/active_console/imagenes/indisegInfo_1.png create mode 100644 pandora_console/operation/active_console/imagenes/indiseg_1.png create mode 100644 pandora_console/operation/active_console/imagenes/internet_1.png create mode 100644 pandora_console/operation/active_console/imagenes/kde_1.png create mode 100644 pandora_console/operation/active_console/imagenes/keyboard_1.png create mode 100644 pandora_console/operation/active_console/imagenes/ksim_1.png create mode 100644 pandora_console/operation/active_console/imagenes/logo_login.gif create mode 100644 pandora_console/operation/active_console/imagenes/mac_1.png create mode 100644 pandora_console/operation/active_console/imagenes/memoria_1.png create mode 100644 pandora_console/operation/active_console/imagenes/mobil_1.png create mode 100644 pandora_console/operation/active_console/imagenes/modem_1.png create mode 100644 pandora_console/operation/active_console/imagenes/monitorBlack_1.png create mode 100644 pandora_console/operation/active_console/imagenes/monitor_1.png create mode 100644 pandora_console/operation/active_console/imagenes/muchos_pulpos.gif create mode 100644 pandora_console/operation/active_console/imagenes/nfs_1.png create mode 100644 pandora_console/operation/active_console/imagenes/ojo_1.png create mode 100644 pandora_console/operation/active_console/imagenes/ordenadoresRed_1.png create mode 100644 pandora_console/operation/active_console/imagenes/pandoraDB_1.png create mode 100644 pandora_console/operation/active_console/imagenes/pandoraLupa_1.png create mode 100644 pandora_console/operation/active_console/imagenes/pandora_1.png create mode 100644 pandora_console/operation/active_console/imagenes/pandoras_1.png create mode 100644 pandora_console/operation/active_console/imagenes/password_1.png create mode 100644 pandora_console/operation/active_console/imagenes/pc_1.png create mode 100644 pandora_console/operation/active_console/imagenes/pda_1.png create mode 100644 pandora_console/operation/active_console/imagenes/penDrive_1.png create mode 100644 pandora_console/operation/active_console/imagenes/penguin_1.png create mode 100644 pandora_console/operation/active_console/imagenes/portatil2_1.png create mode 100644 pandora_console/operation/active_console/imagenes/portatil_1.png create mode 100644 pandora_console/operation/active_console/imagenes/procesadorBlue_1.png create mode 100644 pandora_console/operation/active_console/imagenes/procesador_1.png create mode 100644 pandora_console/operation/active_console/imagenes/pulpo_cilindro.gif create mode 100644 pandora_console/operation/active_console/imagenes/pulpo_lupa.gif create mode 100644 pandora_console/operation/active_console/imagenes/raid_1.png create mode 100644 pandora_console/operation/active_console/imagenes/raton_1.png create mode 100644 pandora_console/operation/active_console/imagenes/redLocal_1.png create mode 100644 pandora_console/operation/active_console/imagenes/redhat_1.png create mode 100644 pandora_console/operation/active_console/imagenes/rj45_1.png create mode 100644 pandora_console/operation/active_console/imagenes/servidorRed_1.png create mode 100644 pandora_console/operation/active_console/imagenes/servidor_1.png create mode 100644 pandora_console/operation/active_console/imagenes/slackware_1.png create mode 100644 pandora_console/operation/active_console/imagenes/suse_1.png create mode 100644 pandora_console/operation/active_console/imagenes/switch_1.png create mode 100644 pandora_console/operation/active_console/imagenes/tablet_1.png create mode 100644 pandora_console/operation/active_console/imagenes/tarjetaPCI_1.png create mode 100644 pandora_console/operation/active_console/imagenes/teclado_1.png create mode 100644 pandora_console/operation/active_console/imagenes/telefono_1.png create mode 100644 pandora_console/operation/active_console/imagenes/terminalServer_1.png create mode 100644 pandora_console/operation/active_console/imagenes/tux_1.png create mode 100644 pandora_console/operation/active_console/imagenes/tv_1.png create mode 100644 pandora_console/operation/active_console/imagenes/ubuntu_1.png create mode 100644 pandora_console/operation/active_console/imagenes/usuaria_1.png create mode 100644 pandora_console/operation/active_console/imagenes/usuario_1.png create mode 100644 pandora_console/operation/active_console/imagenes/usuariosChat_1.png create mode 100644 pandora_console/operation/active_console/imagenes/usuariosWindows_1.png create mode 100644 pandora_console/operation/active_console/imagenes/usuarios_1.png create mode 100644 pandora_console/operation/active_console/imagenes/utiles/b_down.gif create mode 100644 pandora_console/operation/active_console/imagenes/utiles/cancel.gif create mode 100644 pandora_console/operation/active_console/imagenes/utiles/dot_green.gif create mode 100644 pandora_console/operation/active_console/imagenes/utiles/dot_red.gif create mode 100644 pandora_console/operation/active_console/imagenes/utiles/grafica_h.gif create mode 100644 pandora_console/operation/active_console/imagenes/utiles/play.gif create mode 100644 pandora_console/operation/active_console/imagenes/winSMB_1.png create mode 100644 pandora_console/operation/active_console/index.php create mode 100644 pandora_console/operation/active_console/lib/db_functions.php create mode 100644 pandora_console/operation/active_console/lib/extra_functions.php create mode 100644 pandora_console/operation/active_console/scripts/objeto.php create mode 100644 pandora_console/operation/active_console/scripts/onunload.php create mode 100644 pandora_console/operation/active_console/scripts/wz_jsgraphics.js rename pandora_console/{include/styles/cb => operation/active_console/scripts}/x_core.js (100%) rename pandora_console/{include/styles/cb => operation/active_console/scripts}/x_dom.js (100%) rename pandora_console/{include/styles/cb => operation/active_console/scripts}/x_drag.js (100%) rename pandora_console/{include/styles/cb => operation/active_console/scripts}/x_event.js (100%) rename pandora_console/{include/styles/cb => operation/active_console/scripts}/x_slide.js (100%) create mode 100644 pandora_console/operation/active_console/scripts/xformulario.js create mode 100644 pandora_console/operation/active_console/scripts/xformulario_html.php create mode 100644 pandora_console/operation/active_console/scripts/xmenu2.js create mode 100644 pandora_console/operation/active_console/scripts/xmenu2_html.js rename pandora_console/{include/styles/cb/lib => operation/active_console/scripts}/xtabpanelgroup.js (64%) create mode 100644 pandora_console/operation/active_console/styles/main.css create mode 100644 pandora_console/pandora_graphical_console.INSTALL create mode 100644 pandora_console/pandora_graphical_console.sql create mode 100644 pandora_console/pandora_graphical_console_data.sql diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index 9348f1f23e..907c73d6d1 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,44 @@ +2007-01-05 Sancho Lerena + + Importing data from Azabel brach. This commit is a little + chaotic :-). Almost all code it's break apart, so no problems + should not be generated. New graphical console will be called + "Active console", as temporal name. + + + * pandora_graphical_console.sql: New SQL for active console. + + * pandora_graphical_console_data.sql: New SQL data for A.C. + + * images/op9.gif: New icon for operation menu. + + * operation/active_console/index.php: Main index for A.C. this + includes now a require function for config.php. + + * operation/active_console/imagenes/*: Lots of images for + A.C. Need to be ordered or something. + + * operation/active_console/scripts/*: Most of the Javascript code + for the A.C is here. + + * operation/active_console/lib/*: Main include PHP code for A.C + + * operation/active_console/styles/*: CSS Styles for A.C. + + * pandora_graphical_console.INSTALL: How to install A.C + + * include/styles/cb/: Unused, deleted. + + * include/styles/op.css: Changes need to activate new A.C option. + + * include/languages/language_en.php: New string for A.C + + * operation/menu.php: New menu option. + + * include/config.php: New version and set error reporting to 0. At + this time A.C reports many warnings and notices and dont work + properly, so keep this low at the moment. + 2007-01-04 Manuel Arostegui * pandora_console.spec: Now pandora console is installed diff --git a/pandora_console/images/op9.gif b/pandora_console/images/op9.gif new file mode 100644 index 0000000000000000000000000000000000000000..c5f984d7bd0ad77bfc844f181eb497c626916b91 GIT binary patch literal 1012 zcmeH`>q}E{9EZ==v{|B)pqNN91?^&y&`p9EBJ);hd5aL#GLSORT8a>%XD`&HL$|b{ zk*@HvRT8L$QZ^k{V3@-c!KkCd%Qkh>ZO!vL=lA=T|3xqQynJ3gJn%_QRh&&Il28(A zrIJ!8dlmP4v#R@(Dol#Xmnl`RvgrQXEu*EaW|eVrWO|juKpQ8`GxqU0N5wna(EJv{ zP}09}XK=CJvhreT{oas`akG9NW;`(K0S60C7B&!Ua2_oR)@FvG?aolf=IYPWV^6|*Svn=7g{5B%2ANvsT^8~SYiz9A?T`af86DNj^ zZDhw}jleR;FB5POY~#`V=W!F^8G>DycMbudMg>eQEU3ZO1WWqX z`kSw{mpjyXqo#6w?X_k)f21vaSbuS#C1b)=@S!8WN0V)8&Rzakwq(8w0M!5elLcg~ zNU(lwDmW zYtY4B={_0caTN)uz>pIq3>B=8D|jzf>I^*@lA~9ZVbfh2^BHO4p`5no0gaJ)>bWp+ ztR-+?#HBKc%<@SSpSCEzpfgzNLQ0a&U#zMINrG^t*e$2~c8A6*BMw_s8u=+{n)u*@ zU3Jo^9d^+ NiS3WZ<^=-k+#gAca998U literal 0 HcmV?d00001 diff --git a/pandora_console/include/config.php b/pandora_console/include/config.php index 1b508d0f04..c185a61c77 100644 --- a/pandora_console/include/config.php +++ b/pandora_console/include/config.php @@ -20,7 +20,7 @@ // This is the base config file //Pandora Version -$build_version="PC061215"; //PCyymmdd +$build_version="PC080105"; //PCyymmdd $pandora_version="v1.3 devel"; // Database configuration @@ -36,8 +36,8 @@ $config_fontpath = "../reporting/FreeSans.ttf"; // Change this to your font fold // error_reporting(0); // Display all errores, warnings and notices -error_reporting(E_ALL); - +// error_reporting(E_ALL); +error_reporting(0); // Read rest of config from DB if (! mysql_connect($dbhost,$dbuser,$dbpassword)){ //Non-persistent connection. If you want persistent conn change it to mysql_pconnect() diff --git a/pandora_console/include/languages/language_en.php b/pandora_console/include/languages/language_en.php index 95298f03ac..d9727b5443 100644 --- a/pandora_console/include/languages/language_en.php +++ b/pandora_console/include/languages/language_en.php @@ -657,6 +657,10 @@ $lang_label["no_monitors_g"]="This group doesn't have any monitor"; $lang_label["reporting"]="Reporting"; $lang_label["agent_general_reporting"]="Agent overview"; +// 5 de Enero 2007 +$lang_label["active_console"]="Active console"; + + global $lang_label; global $help_label; ?> \ No newline at end of file diff --git a/pandora_console/include/styles/cb/build_all.bat b/pandora_console/include/styles/cb/build_all.bat deleted file mode 100644 index f9d0cdf59b..0000000000 --- a/pandora_console/include/styles/cb/build_all.bat +++ /dev/null @@ -1,14 +0,0 @@ -@echo off - -echo - Begin X Library Batch Build - - -rem Create a list of all .js files in x/lib, that file will be used by x.xcp. - -del lib\x_files.txt -for %%f in (lib\*.js) do echo %%~nf >> lib\x_files.txt - -rem Run XC on all .xcp files in the current dirctory. - -for %%f in (*.xcp) do xc\xc %%~nf - -echo - End X Library Batch Build - diff --git a/pandora_console/include/styles/cb/docs/xc_reference.html b/pandora_console/include/styles/cb/docs/xc_reference.html deleted file mode 100644 index f009d609d7..0000000000 --- a/pandora_console/include/styles/cb/docs/xc_reference.html +++ /dev/null @@ -1,337 +0,0 @@ - - - - -XC: X Library Compiler - - - - - - - - - - -
- -
- - - -

X Library Compiler

- -

Summary

-
-

XC is a companion utility for X. XC scans your application files and creates a custom X library file (with optional compression) which contains only those X functions and objects used in your application. XC also allows you to create a library file containing only the X functions and objects you specify.

-
- -

Feedback

-
-

XC is still in its infancy and is very simple. The format for the project file is very simple. The symbol parser and compression are very simple. These may be (will be) improved but for now XC works well enough to test its utility. I am open to any comments/suggestions you may have.

-
- -

Looking Ahead

-
-

Now that I've had a chance to use XC I see lots of things I'd like to improve...

-

The project file format could be better.

-

I now have all documentation in xml files. This opens up many possibilities. The X Viewer is my first application.

-

I'm playing with the idea of conditional compilation.

-

Eventually I'd like to port XC to PHP.

-
- -

For XC Users

- -

XC Usage

-
-

XC is a Win32 command-line program (a VC++ project) written in C. It is invoked as follows: -

  xc prj_name
-

XC will open the file 'prj_name.xcp' in the current directory and create the output files, prj_name.js and prj_name.log, also in the current directory.

-
- -

XC Project File

-
-

Format

-
-

The project file must have a '.xcp' extension (XC Project). The xcp parser looks for three directives: options, libpath and appfiles. The general format is as follows.

-
-; comments are from ';' to end of line
-options -cmp -dep +log +dbg ; See option descriptions below.
-libpath ..\   ; X library files directory (requires trailing backslash).
-appfiles      ; Application file pathnames from next line to end of file.
-App file pathname 1
-App file pathname 2
-...
-App file pathname n
-
-
-

Options

-
-

Following the 'options' directive is a space-delimited list of zero or more of the following. Prefix with '-' for false and '+' (or no prefix) for true.

-

cmp true = Compression applied to output lib js file. Default = true. - Compression removes leading white space, new lines and blank lines. - Also removes "//" comments but does not remove multi-line comments "/* */".

-

lws true = Retain leading white space. Default = false.

-

nln true = Retain newline chars on non-blank lines. Default = false.

-

bln true = Retain blank lines. Default = false.

-

log true = Generate log file. Default = false.

-

lib true = Generate lib file. Default = true.

-

glb true = Include globals.js. Default = true.

-

dbg true = Debug info in log file. Sets options.log to true. Default = false.

-

dep true = Dependents included in output. Default = true. - When false it is useful for creating a lib file from a list of X symbols. - I use -dep to create x_core.js, x_event.js, etc. - The list of symbols is put in the xcp file (commented with ';') - and the only app file is the xcp file itself. - See x/x_core.xcp for an example.

-
-

Examples

-
-

The following project file builds a library that I use for two demos, floater bar and floater box.

-
-; XC Project: floater_xlib
-
-options
-libpath ..\
-appfiles
-..\..\examples\floater.php
-..\..\examples\floater_bar.php
-
-

-

Before I had all X functions and objects in separate files I had them categorized into x_core.js, x_event.js, etc. For backwards-compatibility I still provide those files, but now I generate those files with XC. In the /x directory you will find these files, along with the .xcp file for each. In that directory is also a batch file, build_all.bat, which will run XC on all .xcp files in that directory.

-

The following is one of the .xcp files from the /x directory. -

-; XC Project: x_anim
-
-options -dep -glb
-
-; If you don't want the library file to be
-; compressed then add -cmp to the above options.
-
-libpath lib\
-
-appfiles
-
-x_anim.xcp
-
-; This project file is the only app file fed to XC.
-; The following X symbols will be included in the
-; library file. They are commented-out so XC will
-; not see them as more app files.
-
-; xEllipse
-; xParaEq
-; xSlideCornerTo
-
-
-
- -

For X Contributors

- -

X Library Files

-
-

By convention all X functions, objects and global variables begin with 'x' and are camel-cased. All X functions and objects should be put in separate files with the following standard header, where 'xSymbol' is the name of the function or object. The name of the file should be xsymbol.js (use all lower-case for the filename). If you are the author you should use your own copyright info instead of mine. I do not require copyright assignment for code contributions to X.

-
-// xSymbol, Copyright 2001-2005 Michael Foster (Cross-Browser.com)
-// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL
-
-

Since XC's compression option removes newlines, you cannot use implicit statement termination. For example in the following the ';' is required because this is an assignment expression...

-
-xObject.prototype.method = function()
-{
-  // statements...
-}; // <- this semicolon is required to support compression
-
-

Another example where a semicolon is required in a place where most of us don't usually use a semicolon...

-
-function myObjectPrototype(id)
-{
-  var img = document.getElementById(id);
-  
-  img.onmouseover = function()
-  {
-    this.src = urlOver;
-  }; // <- this semicolon is required to support compression
-  
-  function foo()
-  {
-  }
-}
-
-
- -

X Documentation Files

-
-

For every xsymbol.js file there should be an xsymbol.xml file which contains documentation and author copyright statements for xSymbol. All doc files are now in xml. The xml structure I have for now is as follows.

-
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-<xlib_symbol id=''>
-
-<copyright>Copyright 2001-2005 Michael Foster (Cross-Browser.com)</copyright>
-
-<license>Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL</license>
-
-<groups>
-  <grp></grp>
-</groups>
-
-<type>Function</type>
-
-<description><![CDATA[]]></description>
-
-<syntax></syntax>
-
-<parameters>
-  <par><name></name><note><![CDATA[]]></note></par>
-</parameters>
-
-<properties>
-  <prop><name></name><note><![CDATA[]]></note></prop>
-</properties>
-
-<methods>
-  <meth><name></name><note><![CDATA[]]></note></meth>
-</methods>
-
-<return><![CDATA[]]></return>
-
-<dependencies>
-  <dep></dep>
-</dependencies>
-
-<demos>
-  <demo><url>http://cross-browser.com/toys/</url><note><![CDATA[Index of all X demos.]]></note></demo>
-</demos>
-
-<tests>
-  <test><date></date><author>mf</author><url></url><note><![CDATA[]]></note></test>
-</tests>
-
-<comments>
-  <comment><date></date><author>mf</author><note><![CDATA[]]></note></comment>
-</comments>
-
-<revisions>
-  <rev><num></num><date></date><author>mf</author><note><![CDATA[]]></note></rev>
-</revisions>
-
-</xlib_symbol>
-
-
- -

For XC Developers

-
-

If you would like to write XC in a different language or port it to a different platform please adhere to the general specifications in this file so all XC implementations will be compatible. My XC Win32 C code is available under the terms of the GNU LGPL.

-

I'll try to come up with a more formal specification. For now I just have a few odd bits of info.

-

A high-level look at XC's flow of execution:

-
-  Read project file:
-    Read options, libpath and appfiles from project file.
-
-  Open log file.
-
-  Read current X version from xversion.js.
-
-  Create symbol table:
-    get_valid_syms
-      All filenames, minus extensions, in the libpath directory
-      which match "x*.js" constitute the set of valid X symbols.
-    get_lib_file_deps:
-      Update symbol table with dependency info from the X lib file symbols[sym_idx].
-      Excludes symbols found in "//" comments.
-    
-  Get symbols from app files.
-    Determine which X lib files get included in the output library
-    by searching application files for X symbols.
-
-  Create output lib.
-    For every symbol which has 'symbols[sym_idx].inc == true'
-    include the corresponding X lib file in the output lib.
-    Compression removes all "//" comments but not "/**/" comments.
-
-  Report results.
-    Display filenames created and finalize log file.
-
-
- - - -
- - - -
- -
-
-

License

-
-

By your use of X and/or CBE and/or any Javascript from this site you consent to the LGPL License - please read it.

-
-

Developer Support

-
-

Get your questions answered faster by posting at one of the following forums. I browse these forums every day.

-

SitePoint.com

-

HFTOnline.com

-

CodingForums.com

-
-

Search

-
-
-

-

-

Cross-Browser.com

-

World Wide Web

-

-
- - - - - - - -
-
-
- -
-
- - - diff --git a/pandora_console/include/styles/cb/lib/_template.xml b/pandora_console/include/styles/cb/lib/_template.xml deleted file mode 100644 index 1d83778164..0000000000 --- a/pandora_console/include/styles/cb/lib/_template.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) - -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - - - - -Function - - - - - - - - - - - - - - - - - - - - - - - - - http://cross-browser.com/toys/ - - - - mf - - - - mf - - - - mf - - - diff --git a/pandora_console/include/styles/cb/lib/globals.js b/pandora_console/include/styles/cb/lib/globals.js deleted file mode 100644 index b7bba52149..0000000000 --- a/pandora_console/include/styles/cb/lib/globals.js +++ /dev/null @@ -1,19 +0,0 @@ -// globals, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -var xOp7Up,xOp6Dn,xIE4Up,xIE4,xIE5,xNN4,xUA=navigator.userAgent.toLowerCase(); -if(window.opera){ - var i=xUA.indexOf('opera'); - if(i!=-1){ - var v=parseInt(xUA.charAt(i+6)); - xOp7Up=v>=7; - xOp6Dn=v<7; - } -} -else if(navigator.vendor!='KDE' && document.all && xUA.indexOf('msie')!=-1){ - xIE4Up=parseFloat(navigator.appVersion)>=4; - xIE4=xUA.indexOf('msie 4')!=-1; - xIE5=xUA.indexOf('msie 5')!=-1; -} -else if(document.layers){xNN4=true;} -xMac=xUA.indexOf('mac')!=-1; diff --git a/pandora_console/include/styles/cb/lib/x_files.txt b/pandora_console/include/styles/cb/lib/x_files.txt deleted file mode 100644 index 1a6d0f45dc..0000000000 --- a/pandora_console/include/styles/cb/lib/x_files.txt +++ /dev/null @@ -1,97 +0,0 @@ -globals -xaddeventlistener -xappendchild -xbackground -xbar -xcapitalize -xcardinalposition -xclientheight -xclientwidth -xclip -xcollapsible -xcolor -xcreateelement -xdef -xdeg -xdeletecookie -xdisabledrag -xdisplay -xellipse -xenabledrag -xevaltextarea -xevent -xfenster -xfirstchild -xgetcomputedstyle -xgetcookie -xgetelementbyid -xgetelementsbyattribute -xgetelementsbyclassname -xgetelementsbytagname -xgetelepropsarray -xgetelepropsstring -xgeturlarguments -xhaspoint -xheight -xhex -xhide -ximgasyncwait -ximgrollsetup -xinclude -xinnerhtml -xintersection -xleft -xlinearscale -xloadscript -xmenu1 -xmenu1a -xmenu1b -xmenu5 -xmoveto -xname -xnextsib -xnum -xoffsetleft -xoffsettop -xpad -xpagex -xpagey -xparaeq -xparent -xparentchain -xpopup -xpreventdefault -xprevsib -xrad -xremoveeventlistener -xresizeto -xscrollleft -xscrolltop -xselect -xsetcookie -xsetietitle -xshow -xslidecornerto -xslideto -xstoppropagation -xstr -xtablecellvisibility -xtablecoldisplay -xtablecursor -xtableiterate -xtablerowdisplay -xtabpanelgroup -xtimer -xtooltipgroup -xtop -xtristateimage -xversion -xvisibility -xwalkeletree -xwalktree -xwidth -xwinclass -xwindow -xwinopen -xwinscrollto -xzindex diff --git a/pandora_console/include/styles/cb/lib/xaddeventlistener.js b/pandora_console/include/styles/cb/lib/xaddeventlistener.js deleted file mode 100644 index 82edc476f8..0000000000 --- a/pandora_console/include/styles/cb/lib/xaddeventlistener.js +++ /dev/null @@ -1,29 +0,0 @@ -// xAddEventListener, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xAddEventListener(e,eT,eL,cap) -{ - if(!(e=xGetElementById(e))) return; - eT=eT.toLowerCase(); - if((!xIE4Up && !xOp7Up) && e==window) { - if(eT=='resize') { window.xPCW=xClientWidth(); window.xPCH=xClientHeight(); window.xREL=eL; xResizeEvent(); return; } - if(eT=='scroll') { window.xPSL=xScrollLeft(); window.xPST=xScrollTop(); window.xSEL=eL; xScrollEvent(); return; } - } - var eh='e.on'+eT+'=eL'; - if(e.addEventListener) e.addEventListener(eT,eL,cap); - else if(e.attachEvent) e.attachEvent('on'+eT,eL); - else eval(eh); -} -// called only from the above -function xResizeEvent() -{ - if (window.xREL) setTimeout('xResizeEvent()', 250); - var cw = xClientWidth(), ch = xClientHeight(); - if (window.xPCW != cw || window.xPCH != ch) { window.xPCW = cw; window.xPCH = ch; if (window.xREL) window.xREL(); } -} -function xScrollEvent() -{ - if (window.xSEL) setTimeout('xScrollEvent()', 250); - var sl = xScrollLeft(), st = xScrollTop(); - if (window.xPSL != sl || window.xPST != st) { window.xPSL = sl; window.xPST = st; if (window.xSEL) window.xSEL(); } -} diff --git a/pandora_console/include/styles/cb/lib/xaddeventlistener.xml b/pandora_console/include/styles/cb/lib/xaddeventlistener.xml deleted file mode 100644 index 08fdb0fd3f..0000000000 --- a/pandora_console/include/styles/cb/lib/xaddeventlistener.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Event - DOM - -Function - - - -xAddEventListener(ele, sEventType, fnEventListener[, bCapture]) - - - - ele - - - - sEventType - - - - fnEventListener - - - - bCapture - - - - - - xIE4Up - xOp7Up - xGetElementById - xClientWidth - xClientHeight - xScrollLeft - xScrollTop - - - - - http://cross-browser.com/x/examples/drag2.php - - - - - - - 13Mar05 - mf - - - - - - - 3 - 25Apr05 - mf - - - - 2 - 14Mar05 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xappendchild.js b/pandora_console/include/styles/cb/lib/xappendchild.js deleted file mode 100644 index 83bf185f6f..0000000000 --- a/pandora_console/include/styles/cb/lib/xappendchild.js +++ /dev/null @@ -1,8 +0,0 @@ -// xAppendChild, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xAppendChild(oParent, oChild) -{ - if (oParent.appendChild) return oParent.appendChild(oChild); - else return null; -} diff --git a/pandora_console/include/styles/cb/lib/xappendchild.xml b/pandora_console/include/styles/cb/lib/xappendchild.xml deleted file mode 100644 index c6ed9e1210..0000000000 --- a/pandora_console/include/styles/cb/lib/xappendchild.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - DOM - -Function - - - -xAppendChild(oParent, oChild) - - - - oParent - - - - oChild - - - - - - - - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 11Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xbackground.js b/pandora_console/include/styles/cb/lib/xbackground.js deleted file mode 100644 index 97c2172382..0000000000 --- a/pandora_console/include/styles/cb/lib/xbackground.js +++ /dev/null @@ -1,18 +0,0 @@ -// xBackground, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xBackground(e,c,i) -{ - if(!(e=xGetElementById(e))) return ''; - var bg=''; - if(e.style) { - if(xStr(c)) { - if(!xOp6Dn) e.style.backgroundColor=c; - else e.style.background=c; - } - if(xStr(i)) e.style.backgroundImage=(i!='')? 'url('+i+')' : null; - if(!xOp6Dn) bg=e.style.backgroundColor; - else bg=e.style.background; - } - return bg; -} diff --git a/pandora_console/include/styles/cb/lib/xbackground.xml b/pandora_console/include/styles/cb/lib/xbackground.xml deleted file mode 100644 index e901506bdf..0000000000 --- a/pandora_console/include/styles/cb/lib/xbackground.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Presentation - -Function - - - -xBackground(ele[, sColor[, sImage]]) - - - - ele - - - - sColor - - - - sImage - - - - -'style.backgroundColor', a string - - - xGetElementById - xStr - xOp6Dn - - - - - http://cross-browser.com/toys/ - - - - - - - 3 - 25Apr05 - mf - - - - 2 - 15Mar05 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xbar.js b/pandora_console/include/styles/cb/lib/xbar.js deleted file mode 100644 index 4dc27df9d9..0000000000 --- a/pandora_console/include/styles/cb/lib/xbar.js +++ /dev/null @@ -1,94 +0,0 @@ -// xBar, Copyright 2003,2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -// Bar-Graph Object - -function xBar(dir, // direction, 'ltr', 'rtl', 'ttb', or 'btt' - conStyle, barStyle) // container and bar style class names -{ - //// Public Properties - - this.value = 0; // current value, read-only - - //// Public Methods - - // Update current value - this.update = function(v) - { - if (v < 0) v = 0; - else if (v > this.inMax) v = this.inMax; - this.con.title = this.bar.title = this.value = v; - switch(this.dir) { - case 'ltr': // left to right - v = this.scale(v, this.w); - xLeft(this.bar, v - this.w); - break; - case 'rtl': // right to left - v = this.scale(v, this.w); - xLeft(this.bar, this.w - v); - break; - case 'btt': // bottom to top - v = this.scale(v, this.h); - xTop(this.bar, this.h - v); - break; - case 'ttb': // top to bottom - v = this.scale(v, this.h); - xTop(this.bar, v - this.h); - break; - } - }; - - // Change position and/or size - this.paint = function(x, y, // container position - w, h) // container size - { - if (xNum(x)) this.x = x; - if (xNum(y)) this.y = y; - if (xNum(w)) this.w = w; - if (xNum(h)) this.h = h; - xResizeTo(this.con, this.w, this.h); - xMoveTo(this.con, this.x, this.y); - xResizeTo(this.bar, this.w, this.h); - xMoveTo(this.bar, 0, 0); - }; - - // Change scale and/or start value - this.reset = function(max, start) // non-scaled values - { - if (xNum(max)) this.inMax = max; - if (xNum(start)) this.start = start; - this.update(this.start); - }; - - //// Private Methods - - this.scale = function(v, outMax) - { - return Math.round(xLinearScale(v, 0, this.inMax, 0, outMax)); - }; - - //// Private Properties - - this.dir = dir; - this.x = 0; - this.y = 0; - this.w = 100; - this.h = 100; - this.inMax = 100; - this.start = 0; - this.conStyle = conStyle; - this.barStyle = barStyle; - - //// Constructor - - // Create container - this.con = document.createElement('DIV'); - this.con.className = this.conStyle; - // Create bar - this.bar = document.createElement('DIV'); - this.bar.className = this.barStyle; - // Insert in object tree - this.con.appendChild(this.bar); - document.body.appendChild(this.con); - -} // end xBar diff --git a/pandora_console/include/styles/cb/lib/xbar.xml b/pandora_console/include/styles/cb/lib/xbar.xml deleted file mode 100644 index c0a7093999..0000000000 --- a/pandora_console/include/styles/cb/lib/xbar.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Object - Animation - -Object - - - -xBar(sDir, sConStyle, sBarStyle) - - - - sDir - - - - sConStyle - - - - sBarStyle - - - - - - xLeft - xTop - xNum - xResizeTo - xMoveTo - xLinearScale - - - - - http://cross-browser.com/x/examples/bargraph.html - - - - - - - 1 - 1Dec03 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xcapitalize.js b/pandora_console/include/styles/cb/lib/xcapitalize.js deleted file mode 100644 index 4724083ace..0000000000 --- a/pandora_console/include/styles/cb/lib/xcapitalize.js +++ /dev/null @@ -1,30 +0,0 @@ -// xCapitalize, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -// Capitalize the first letter of every word in str. - -function xCapitalize(str) -{ - var i, c, wd, s='', cap = true; - - for (i = 0; i < str.length; ++i) { - c = str.charAt(i); - wd = isWordDelim(c); - if (wd) { - cap = true; - } - if (cap && !wd) { - c = c.toUpperCase(); - cap = false; - } - s += c; - } - return s; - - function isWordDelim(c) - { - // add other word delimiters as needed - // (for example '-' and other punctuation) - return c == ' ' || c == '\n' || c == '\t'; - } -} diff --git a/pandora_console/include/styles/cb/lib/xcapitalize.xml b/pandora_console/include/styles/cb/lib/xcapitalize.xml deleted file mode 100644 index a48b497eaa..0000000000 --- a/pandora_console/include/styles/cb/lib/xcapitalize.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - -Copyright 2003-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - String - -Function - - - -xCapitalize(str) - - - - str - - - - -A string with all words capitalized. Does not modify str. - - - - http://cross-browser.com/x/examples/capitalize.html - - - - - - - 1 - 11Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xcardinalposition.js b/pandora_console/include/styles/cb/lib/xcardinalposition.js deleted file mode 100644 index ef2929355a..0000000000 --- a/pandora_console/include/styles/cb/lib/xcardinalposition.js +++ /dev/null @@ -1,36 +0,0 @@ -// xCardinalPosition, Copyright 2004-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xCardinalPosition(e, cp, margin, outside) -{ - if(!(e=xGetElementById(e))) return; - if (typeof(cp)!='string'){window.status='xCardinalPosition error: cp=' + cp + ', id=' + e.id; return;} - var x=xLeft(e), y=xTop(e), w=xWidth(e), h=xHeight(e); - var pw,ph,p = xParent(e); - if (p == document || p.nodeName.toLowerCase() == 'html') {pw = xClientWidth(); ph = xClientHeight();} - else {pw=xWidth(p); ph=xHeight(p);} - var sx=xScrollLeft(p), sy=xScrollTop(p); - var right=sx + pw, bottom=sy + ph; - var cenLeft=sx + Math.floor((pw-w)/2), cenTop=sy + Math.floor((ph-h)/2); - if (!margin) margin=0; - else{ - if (outside) margin=-margin; - sx +=margin; sy +=margin; right -=margin; bottom -=margin; - } - switch (cp.toLowerCase()){ - case 'n': x=cenLeft; if (outside) y=sy - h; else y=sy; break; - case 'ne': if (outside){x=right; y=sy - h;}else{x=right - w; y=sy;}break; - case 'e': y=cenTop; if (outside) x=right; else x=right - w; break; - case 'se': if (outside){x=right; y=bottom;}else{x=right - w; y=bottom - h}break; - case 's': x=cenLeft; if (outside) y=sy - h; else y=bottom - h; break; - case 'sw': if (outside){x=sx - w; y=bottom;}else{x=sx; y=bottom - h;}break; - case 'w': y=cenTop; if (outside) x=sx - w; else x=sx; break; - case 'nw': if (outside){x=sx - w; y=sy - h;}else{x=sx; y=sy;}break; - case 'cen': x=cenLeft; y=cenTop; break; - case 'cenh': x=cenLeft; break; - case 'cenv': y=cenTop; break; - } - var o = new Object(); - o.x = x; o.y = y; - return o; -} diff --git a/pandora_console/include/styles/cb/lib/xcardinalposition.xml b/pandora_console/include/styles/cb/lib/xcardinalposition.xml deleted file mode 100644 index f8f9906464..0000000000 --- a/pandora_console/include/styles/cb/lib/xcardinalposition.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - -Copyright 2004-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Position - -Function - - - -xCardinalPosition(ele, cp[, margin[, outside]]) - - - - ele - - - - cp - - - - margin - - - - outside - - - - -An object with 'x' and 'y' properties - - - xGetElementById - xleft - xtop - xwidth - xheight - xparent - xclientwidth - xclientheight - xscrollleft - xscrolltop - - - - - http://cross-browser.com/toys/ - - - - - - - 2004 - mf - - - - - - - 2 - 23May05 - mf - - - - 1 - 11Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xclientheight.js b/pandora_console/include/styles/cb/lib/xclientheight.js deleted file mode 100644 index 02c2304744..0000000000 --- a/pandora_console/include/styles/cb/lib/xclientheight.js +++ /dev/null @@ -1,17 +0,0 @@ -// xClientHeight, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xClientHeight() -{ - var h=0; - if(xOp6Dn) h=window.innerHeight; - else if(document.compatMode == 'CSS1Compat' && !window.opera && document.documentElement && document.documentElement.clientHeight) - h=document.documentElement.clientHeight; - else if(document.body && document.body.clientHeight) - h=document.body.clientHeight; - else if(xDef(window.innerWidth,window.innerHeight,document.width)) { - h=window.innerHeight; - if(document.width>window.innerWidth) h-=16; - } - return h; -} diff --git a/pandora_console/include/styles/cb/lib/xclientheight.xml b/pandora_console/include/styles/cb/lib/xclientheight.xml deleted file mode 100644 index 82d275a19b..0000000000 --- a/pandora_console/include/styles/cb/lib/xclientheight.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Size - Window - -Function - - - -xClientHeight() - -Integer - - - xDef - xOp6Dn - - - - - http://cross-browser.com/toys/ - - - - - - - 3 - 25Apr05 - mf - - - - 2 - 27Jan05 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xclientwidth.js b/pandora_console/include/styles/cb/lib/xclientwidth.js deleted file mode 100644 index 962c5d854b..0000000000 --- a/pandora_console/include/styles/cb/lib/xclientwidth.js +++ /dev/null @@ -1,17 +0,0 @@ -// xClientWidth, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xClientWidth() -{ - var w=0; - if(xOp6Dn) w=window.innerWidth; - else if(document.compatMode == 'CSS1Compat' && !window.opera && document.documentElement && document.documentElement.clientWidth) - w=document.documentElement.clientWidth; - else if(document.body && document.body.clientWidth) - w=document.body.clientWidth; - else if(xDef(window.innerWidth,window.innerHeight,document.height)) { - w=window.innerWidth; - if(document.height>window.innerHeight) w-=16; - } - return w; -} diff --git a/pandora_console/include/styles/cb/lib/xclientwidth.xml b/pandora_console/include/styles/cb/lib/xclientwidth.xml deleted file mode 100644 index 8f6b234574..0000000000 --- a/pandora_console/include/styles/cb/lib/xclientwidth.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Size - Window - -Function - - - -xClientWidth() - -Integer - - - xDef - xOp6Dn - - - - - http://cross-browser.com/toys/ - - - - - - - 3 - 25Apr05 - mf - - - - 2 - 27Jan05 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xclip.js b/pandora_console/include/styles/cb/lib/xclip.js deleted file mode 100644 index 3661ca304f..0000000000 --- a/pandora_console/include/styles/cb/lib/xclip.js +++ /dev/null @@ -1,11 +0,0 @@ -// xClip, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xClip(e,t,r,b,l) -{ - if(!(e=xGetElementById(e))) return; - if(e.style) { - if (xNum(l)) e.style.clip='rect('+t+'px '+r+'px '+b+'px '+l+'px)'; - else e.style.clip='rect(0 '+parseInt(e.style.width)+'px '+parseInt(e.style.height)+'px 0)'; - } -} diff --git a/pandora_console/include/styles/cb/lib/xclip.xml b/pandora_console/include/styles/cb/lib/xclip.xml deleted file mode 100644 index 52651ab0c2..0000000000 --- a/pandora_console/include/styles/cb/lib/xclip.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Size - -Function - - - -xClip(ele[,iTop,iRight,iBottom,iLeft]) - - - - ele - - - - iTop - - - - iRight - - - - iBottom - - - - iLeft - - - - -element.style.clip - - - xGetElementById - xNum - nn4:xWidth - nn4:xHeight - - - - - http://cross-browser.com/toys/ - - - - - - - 2 - 15Mar05 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xcollapsible.js b/pandora_console/include/styles/cb/lib/xcollapsible.js deleted file mode 100644 index 3a351dbafe..0000000000 --- a/pandora_console/include/styles/cb/lib/xcollapsible.js +++ /dev/null @@ -1,62 +0,0 @@ -// xCollapsible, Copyright 2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xCollapsible(outerEle, bShow) // object prototype -{ - // Constructor - - var container = xGetElementById(outerEle); - if (!container) {return null;} - var isUL = container.nodeName.toUpperCase() == 'UL'; - var i, trg, aTgt = xGetElementsByTagName(isUL ? 'UL':'DIV', container); - for (i = 0; i < aTgt.length; ++i) { - trg = xPrevSib(aTgt[i]); - if (trg && (isUL || trg.nodeName.charAt(0).toUpperCase() == 'H')) { - aTgt[i].xTrgPtr = trg; - aTgt[i].style.display = bShow ? 'block' : 'none'; - trg.style.cursor = 'pointer'; - trg.xTgtPtr = aTgt[i]; - trg.onclick = trg_onClick; - } - } - - // Private - - function trg_onClick() - { - var tgt = this.xTgtPtr.style; - if (tgt.display == 'none') { - tgt.display = 'block'; - } - else { - tgt.display = 'none'; - } - } - - // Public - - this.displayAll = function(bShow) - { - for (var i = 0; i < aTgt.length; ++i) { - if (aTgt[i].xTrgPtr) { - xDisplay(aTgt[i], bShow ? "block":"none"); - } - } - }; - - // The unload listener is for IE's circular reference memory leak bug. - this.onUnload = function() - { - if (!xIE4Up || !container || !aTgt) {return;} - for (i = 0; i < aTgt.length; ++i) { - trg = aTgt[i].xTrgPtr; - if (trg) { - if (trg.xTgtPtr) { - trg.xTgtPtr.TrgPtr = null; - trg.xTgtPtr = null; - } - trg.onclick = null; - } - } - }; -} diff --git a/pandora_console/include/styles/cb/lib/xcollapsible.xml b/pandora_console/include/styles/cb/lib/xcollapsible.xml deleted file mode 100644 index 6044f121ae..0000000000 --- a/pandora_console/include/styles/cb/lib/xcollapsible.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - -Copyright 2004-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Object - -Object - - - -new xCollapsible(outerEle, bShow) - - - - outerEle - - - - bShow - - - - - - - displayAll - - - - onUnload - - - - - - xGetElementById - xGetElementsByTagName - xPrevSib - - - - - http://cross-browser.com/x/examples/xmenu5.php - - - - - - - 28Apr05 - mf - - - - - mf - - - - - - - 3 - 28Apr05 - mf - - - - 2 - 25Apr05 - mf - - - - 1 - 7Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xcolor.js b/pandora_console/include/styles/cb/lib/xcolor.js deleted file mode 100644 index b6c9330f7e..0000000000 --- a/pandora_console/include/styles/cb/lib/xcolor.js +++ /dev/null @@ -1,13 +0,0 @@ -// xColor, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xColor(e,s) -{ - if(!(e=xGetElementById(e))) return ''; - var c=''; - if(e.style && xDef(e.style.color)) { - if(xStr(s)) e.style.color=s; - c=e.style.color; - } - return c; -} diff --git a/pandora_console/include/styles/cb/lib/xcolor.xml b/pandora_console/include/styles/cb/lib/xcolor.xml deleted file mode 100644 index d55abf99a9..0000000000 --- a/pandora_console/include/styles/cb/lib/xcolor.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Presentation - -Function - - - -xColor(ele[, sColor]) - - - - ele - - - - sColor - - - - -string, element.style.color - - - xGetElementById - xDef - xStr - - - - - http://cross-browser.com/toys/ - - - - - - - 2 - 15Mar05 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xcreateelement.js b/pandora_console/include/styles/cb/lib/xcreateelement.js deleted file mode 100644 index 598c2ecb6e..0000000000 --- a/pandora_console/include/styles/cb/lib/xcreateelement.js +++ /dev/null @@ -1,8 +0,0 @@ -// xCreateElement, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xCreateElement(sTag) -{ - if (document.createElement) return document.createElement(sTag); - else return null; -} diff --git a/pandora_console/include/styles/cb/lib/xcreateelement.xml b/pandora_console/include/styles/cb/lib/xcreateelement.xml deleted file mode 100644 index c13889ad87..0000000000 --- a/pandora_console/include/styles/cb/lib/xcreateelement.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - DOM - -Function - - - -xCreateElement(sTag) - - - - sTag - - - - -The object created or null. - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xdef.js b/pandora_console/include/styles/cb/lib/xdef.js deleted file mode 100644 index 50a005912c..0000000000 --- a/pandora_console/include/styles/cb/lib/xdef.js +++ /dev/null @@ -1,8 +0,0 @@ -// xDef, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xDef() -{ - for(var i=0; i - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Type - - -Function - - - -xDef(ref[, ...]) - - - - ... - - - - -True if none of the arguments == 'undefined', else false. - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xdeg.js b/pandora_console/include/styles/cb/lib/xdeg.js deleted file mode 100644 index f0b3fadb59..0000000000 --- a/pandora_console/include/styles/cb/lib/xdeg.js +++ /dev/null @@ -1,7 +0,0 @@ -// xDeg, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xDeg(rad) -{ - return rad * (180 / Math.PI); -} diff --git a/pandora_console/include/styles/cb/lib/xdeg.xml b/pandora_console/include/styles/cb/lib/xdeg.xml deleted file mode 100644 index 0c27dd7f59..0000000000 --- a/pandora_console/include/styles/cb/lib/xdeg.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Math - -Function - - - -xDeg(rad) - - - - rad - - - - -integer, in degrees - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 11Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xdeletecookie.js b/pandora_console/include/styles/cb/lib/xdeletecookie.js deleted file mode 100644 index 2990205a15..0000000000 --- a/pandora_console/include/styles/cb/lib/xdeletecookie.js +++ /dev/null @@ -1,11 +0,0 @@ -// xDeleteCookie, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xDeleteCookie(name, path) -{ - if (xGetCookie(name)) { - document.cookie = name + "=" + - "; path=" + ((!path) ? "/" : path) + - "; expires=" + new Date(0).toGMTString(); - } -} diff --git a/pandora_console/include/styles/cb/lib/xdeletecookie.xml b/pandora_console/include/styles/cb/lib/xdeletecookie.xml deleted file mode 100644 index ce01b53ef1..0000000000 --- a/pandora_console/include/styles/cb/lib/xdeletecookie.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Cookie - -Function - - - -xDeleteCookie(name, path) - - - - name - - - - path - - - - - - xGetCookie - - - - - http://cross-browser.com/toys/ - - - - - - - 4 - 27Jan05 - mf - - - - 3 - 2001 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xdisabledrag.js b/pandora_console/include/styles/cb/lib/xdisabledrag.js deleted file mode 100644 index 6e145231d1..0000000000 --- a/pandora_console/include/styles/cb/lib/xdisabledrag.js +++ /dev/null @@ -1,17 +0,0 @@ -// xDisableDrag, Copyright 2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xDisableDrag(id, last) -{ - if (!window._xDrgMgr) return; - var ele = xGetElementById(id); - ele.xDraggable = false; - ele.xODS = null; - ele.xOD = null; - ele.xODE = null; - xRemoveEventListener(ele, 'mousedown', _xOMD, false); - if (_xDrgMgr.mm && last) { - _xDrgMgr.mm = false; - xRemoveEventListener(document, 'mousemove', _xOMM, false); - } -} diff --git a/pandora_console/include/styles/cb/lib/xdisabledrag.xml b/pandora_console/include/styles/cb/lib/xdisabledrag.xml deleted file mode 100644 index aa9d2fb0f8..0000000000 --- a/pandora_console/include/styles/cb/lib/xdisabledrag.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - - - -Function - - - -function xDisableDrag(id, last) - - - - id - - - - last - - - - - - xGetElementById - xRemoveEventListener - - - - - http://cross-browser.com/x/examples/drag1.php - - - - http://cross-browser.com/x/examples/drag2.php - - - - - - - 2 - 16Mar05 - mf - - - - 1 - 7Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xdisplay.js b/pandora_console/include/styles/cb/lib/xdisplay.js deleted file mode 100644 index 69220c8aa2..0000000000 --- a/pandora_console/include/styles/cb/lib/xdisplay.js +++ /dev/null @@ -1,12 +0,0 @@ -// xDisplay, Copyright 2003,2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xDisplay(e,s) -{ - if(!(e=xGetElementById(e))) return null; - if(e.style && xDef(e.style.display)) { - if (xStr(s)) e.style.display = s; - return e.style.display; - } - return null; -} diff --git a/pandora_console/include/styles/cb/lib/xdisplay.xml b/pandora_console/include/styles/cb/lib/xdisplay.xml deleted file mode 100644 index 3f40a587a9..0000000000 --- a/pandora_console/include/styles/cb/lib/xdisplay.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - -Copyright 2003-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Presentation - -Function - - - -xDisplay(e, sProp) - - - - e - - - - sProp - - - - -string, element.style.display if it exists else null - - - xGetElementById - xDef - xStr - - - - - http://cross-browser.com/toys/ - - - - - - - 2 - 15Mar05 - mf - - - - 1 - 11Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xellipse.js b/pandora_console/include/styles/cb/lib/xellipse.js deleted file mode 100644 index fb62e69f61..0000000000 --- a/pandora_console/include/styles/cb/lib/xellipse.js +++ /dev/null @@ -1,51 +0,0 @@ -// xEllipse, Copyright 2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xEllipse(e, xRadius, yRadius, radiusInc, totalTime, startAngle, stopAngle) -{ - if (!(e=xGetElementById(e))) return; - if (!e.timeout) e.timeout = 25; - e.xA = xRadius; - e.yA = yRadius; - e.radiusInc = radiusInc; - e.slideTime = totalTime; - startAngle *= (Math.PI / 180); - stopAngle *= (Math.PI / 180); - var startTime = (startAngle * e.slideTime) / (stopAngle - startAngle); - e.stopTime = e.slideTime + startTime; - e.B = (stopAngle - startAngle) / e.slideTime; - e.xD = xLeft(e) - Math.round(e.xA * Math.cos(e.B * startTime)); // center point - e.yD = xTop(e) - Math.round(e.yA * Math.sin(e.B * startTime)); - e.xTarget = Math.round(e.xA * Math.cos(e.B * e.stopTime) + e.xD); // end point - e.yTarget = Math.round(e.yA * Math.sin(e.B * e.stopTime) + e.yD); - var d = new Date(); - e.C = d.getTime() - startTime; - if (!e.moving) {e.stop=false; _xEllipse(e);} -} -function _xEllipse(e) -{ - if (!(e=xGetElementById(e))) return; - var now, t, newY, newX; - now = new Date(); - t = now.getTime() - e.C; - if (e.stop) { e.moving = false; } - else if (t < e.stopTime) { - setTimeout("_xEllipse('"+e.id+"')", e.timeout); - if (e.radiusInc) { - e.xA += e.radiusInc; - e.yA += e.radiusInc; - } - newX = Math.round(e.xA * Math.cos(e.B * t) + e.xD); - newY = Math.round(e.yA * Math.sin(e.B * t) + e.yD); - xMoveTo(e, newX, newY); - e.moving = true; - } - else { - if (e.radiusInc) { - e.xTarget = Math.round(e.xA * Math.cos(e.B * e.slideTime) + e.xD); - e.yTarget = Math.round(e.yA * Math.sin(e.B * e.slideTime) + e.yD); - } - xMoveTo(e, e.xTarget, e.yTarget); - e.moving = false; - } -} diff --git a/pandora_console/include/styles/cb/lib/xellipse.xml b/pandora_console/include/styles/cb/lib/xellipse.xml deleted file mode 100644 index 718ada5e42..0000000000 --- a/pandora_console/include/styles/cb/lib/xellipse.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - -Copyright 2004-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Animation - -Function - - - -xEllipse(ele, xRadius, yRadius, radiusInc, totalTime, startAngle, stopAngle) - - - - ele - - - - xRadius - - - - yRadius - - - - radiusInc - - - - totalTime - - - - startAngle - - - - stopAngle - - - - - - xGetElementById - xLeft - xTop - xMoveTo - - - - - http://cross-browser.com/x/examples/xellipse.php - - - - - - - 1 - 21Jun04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xenabledrag.js b/pandora_console/include/styles/cb/lib/xenabledrag.js deleted file mode 100644 index 2d51f3e7f1..0000000000 --- a/pandora_console/include/styles/cb/lib/xenabledrag.js +++ /dev/null @@ -1,68 +0,0 @@ -// xEnableDrag, Copyright 2002,2003,2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -//// Private Data -var _xDrgMgr = {ele:null, mm:false}; -//// Public Functions -function xEnableDrag(id,fS,fD,fE) -{ - var ele = xGetElementById(id); - ele.xDraggable = true; - ele.xODS = fS; - ele.xOD = fD; - ele.xODE = fE; - xAddEventListener(ele, 'mousedown', _xOMD, false); - if (!_xDrgMgr.mm) { - _xDrgMgr.mm = true; - xAddEventListener(document, 'mousemove', _xOMM, false); - } -} -//// Private Event Listeners -function _xOMD(e) // drag start -{ - var evt = new xEvent(e); - var ele = evt.target; - while(ele && !ele.xDraggable) { - ele = xParent(ele); - } - if (ele) { - xPreventDefault(e); - ele.xDPX = evt.pageX; - ele.xDPY = evt.pageY; - _xDrgMgr.ele = ele; - xAddEventListener(document, 'mouseup', _xOMU, false); - if (ele.xODS) { - ele.xODS(ele, evt.pageX, evt.pageY); - } - } -} -function _xOMM(e) // drag -{ - var evt = new xEvent(e); - if (_xDrgMgr.ele) { - xPreventDefault(e); - var ele = _xDrgMgr.ele; - var dx = evt.pageX - ele.xDPX; - var dy = evt.pageY - ele.xDPY; - ele.xDPX = evt.pageX; - ele.xDPY = evt.pageY; - if (ele.xOD) { - ele.xOD(ele, dx, dy); - } - else { - xMoveTo(ele, xLeft(ele) + dx, xTop(ele) + dy); - } - } -} -function _xOMU(e) // drag end -{ - if (_xDrgMgr.ele) { - xPreventDefault(e); - xRemoveEventListener(document, 'mouseup', _xOMU, false); - if (_xDrgMgr.ele.xODE) { - var evt = new xEvent(e); - _xDrgMgr.ele.xODE(_xDrgMgr.ele, evt.pageX, evt.pageY); - } - _xDrgMgr.ele = null; - } -} diff --git a/pandora_console/include/styles/cb/lib/xenabledrag.xml b/pandora_console/include/styles/cb/lib/xenabledrag.xml deleted file mode 100644 index 8cb4a2e3da..0000000000 --- a/pandora_console/include/styles/cb/lib/xenabledrag.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - -Copyright 2002-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Event - -Function - - - -xEnableDrag(ele[, fnDragStart[, fnDrag[, fnDragEnd]]]) - - - - ele - - - - fnDragStart - - - - fnDrag - - - - fnDragEnd - - - - - - xGetElementById - xAddEventListener - xRemoveEventListener - xEvent - xParent - xMoveTo - xPreventDefault - - - - - http://cross-browser.com/x/examples/drag1.php - - - - http://cross-browser.com/x/examples/drag2.php - - - - - - - 1 - 16Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xevaltextarea.js b/pandora_console/include/styles/cb/lib/xevaltextarea.js deleted file mode 100644 index 1efc8c6d8b..0000000000 --- a/pandora_console/include/styles/cb/lib/xevaltextarea.js +++ /dev/null @@ -1,20 +0,0 @@ -// xEvalTextarea, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xEvalTextarea() -{ - var f = document.createElement('FORM'); - f.onsubmit = 'return false'; - var t = document.createElement('TEXTAREA'); - t.id='xDebugTA'; - t.name='xDebugTA'; - t.rows='20'; - t.cols='60'; - var b = document.createElement('INPUT'); - b.type = 'button'; - b.value = 'Evaluate'; - b.onclick = function() {eval(this.form.xDebugTA.value);}; - f.appendChild(t); - f.appendChild(b); - document.body.appendChild(f); -} diff --git a/pandora_console/include/styles/cb/lib/xevaltextarea.xml b/pandora_console/include/styles/cb/lib/xevaltextarea.xml deleted file mode 100644 index b26bdfe615..0000000000 --- a/pandora_console/include/styles/cb/lib/xevaltextarea.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Debug - -Function - - - -xEvalTextarea() - - - - http://cross-browser.com/x/examples/bookmarklets.html - - - - - - - 1 - 12Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xevent.js b/pandora_console/include/styles/cb/lib/xevent.js deleted file mode 100644 index cbe1cba85b..0000000000 --- a/pandora_console/include/styles/cb/lib/xevent.js +++ /dev/null @@ -1,93 +0,0 @@ -// xEvent, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xEvent(evt) // object prototype -{ - var e = evt || window.event; - if(!e) return; - if(e.type) this.type = e.type; - if(e.target) this.target = e.target; - else if(e.srcElement) this.target = e.srcElement; - - // Section B - if (e.relatedTarget) this.relatedTarget = e.relatedTarget; - else if (e.type == 'mouseover' && e.fromElement) this.relatedTarget = e.fromElement; - else if (e.type == 'mouseout') this.relatedTarget = e.toElement; - // End Section B - - if(xOp6Dn) { this.pageX = e.clientX; this.pageY = e.clientY; } - else if(xDef(e.pageX,e.pageY)) { this.pageX = e.pageX; this.pageY = e.pageY; } - else if(xDef(e.clientX,e.clientY)) { this.pageX = e.clientX + xScrollLeft(); this.pageY = e.clientY + xScrollTop(); } - - // Section A - if (xDef(e.offsetX,e.offsetY)) { - this.offsetX = e.offsetX; - this.offsetY = e.offsetY; - } - else if (xDef(e.layerX,e.layerY)) { - this.offsetX = e.layerX; - this.offsetY = e.layerY; - } - else { - this.offsetX = this.pageX - xPageX(this.target); - this.offsetY = this.pageY - xPageY(this.target); - } - // End Section A - - if (e.keyCode) { this.keyCode = e.keyCode; } // for moz/fb, if keyCode==0 use which - else if (xDef(e.which) && e.type.indexOf('key')!=-1) { this.keyCode = e.which; } - - this.shiftKey = e.shiftKey; - this.ctrlKey = e.ctrlKey; - this.altKey = e.altKey; -} - -// I need someone with IE/Mac to compare test snippets 1 and 2 in section A. - -// // Snippet 1 -// if(xDef(e.offsetX,e.offsetY)) { -// this.offsetX = e.offsetX; -// this.offsetY = e.offsetY; -// if (xIE4Up && xMac) { -// this.offsetX += xScrollLeft(); -// this.offsetY += xScrollTop(); -// } -// } -// else if (xDef(e.layerX,e.layerY)) { -// this.offsetX = e.layerX; -// this.offsetY = e.layerY; -// } -// else { -// this.offsetX = this.pageX - xPageX(this.target); -// this.offsetY = this.pageY - xPageY(this.target); -// } - -// // Snippet 2 -// if (xDef(e.offsetX,e.offsetY) && !(xIE4Up && xMac)) { -// this.offsetX = e.offsetX; -// this.offsetY = e.offsetY; -// } -// else if (xDef(e.layerX,e.layerY)) { -// this.offsetX = e.layerX; -// this.offsetY = e.layerY; -// } -// else { -// this.offsetX = this.pageX - xPageX(this.target); -// this.offsetY = this.pageY - xPageY(this.target); -// } - -// This was in section B: - -// if (e.relatedTarget) this.relatedTarget = e.relatedTarget; -// else if (xIE4Up) { -// if (e.type == 'mouseover') this.relatedTarget = e.fromElement; -// else if (e.type == 'mouseout') this.relatedTarget = e.toElement; -// } -// changed to remove sniffer after discussion with Hallvord - -// Possible optimization: - -// if (e.keyCode) { this.keyCode = e.keyCode; } // for moz/fb, if keyCode==0 use which -// else if (xDef(e.which) && e.type.indexOf('key')!=-1) { this.keyCode = e.which; } -// // replace the above 2 lines with the following? -// // this.keyCode = e.keyCode || e.which || 0; diff --git a/pandora_console/include/styles/cb/lib/xevent.xml b/pandora_console/include/styles/cb/lib/xevent.xml deleted file mode 100644 index b3a094e508..0000000000 --- a/pandora_console/include/styles/cb/lib/xevent.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Event - -Object - - - -new xEvent(oEvent) - - - - oEvent - - - - - - - type - - - - target - - - - pageX - - - - pageY - - - - offsetX - - - - offsetY - - - - keyCode - - - - shiftKey - - - - ctrlKey - - - - altKey - - - - - - xDef - xScrollLeft - xScrollTop - xPageX - xPageY - nn4:xLayerFromPoint - - - - - http://cross-browser.com/toys/ - - - - - - - 2002 - mf - - - - - - - 4 - 2May05 - mf - - - - 3 - 25Apr05 - mf - - - - 2 - 24Mar05 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xfenster.js b/pandora_console/include/styles/cb/lib/xfenster.js deleted file mode 100644 index c6cbcbeb8f..0000000000 --- a/pandora_console/include/styles/cb/lib/xfenster.js +++ /dev/null @@ -1,70 +0,0 @@ -// xFenster, Copyright 2004-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xFenster(eleId, iniX, iniY, barId, resBtnId, maxBtnId) // object prototype -{ - // Private Properties - var me = this; - var ele = xGetElementById(eleId); - var rBtn = xGetElementById(resBtnId); - var mBtn = xGetElementById(maxBtnId); - var x, y, w, h, maximized = false; - // Public Methods - this.onunload = function() - { - if (xIE4Up) { // clear cir refs - xDisableDrag(barId); - xDisableDrag(rBtn); - mBtn.onclick = ele.onmousedown = null; - me = ele = rBtn = mBtn = null; - } - } - this.paint = function() - { - xMoveTo(rBtn, xWidth(ele) - xWidth(rBtn), xHeight(ele) - xHeight(rBtn)); - xMoveTo(mBtn, xWidth(ele) - xWidth(rBtn), 0); - } - // Private Event Listeners - function barOnDrag(e, mdx, mdy) - { - xMoveTo(ele, xLeft(ele) + mdx, xTop(ele) + mdy); - } - function resOnDrag(e, mdx, mdy) - { - xResizeTo(ele, xWidth(ele) + mdx, xHeight(ele) + mdy); - me.paint(); - } - function fenOnMousedown() - { - xZIndex(ele, xFenster.z++); - } - function maxOnClick() - { - if (maximized) { - maximized = false; - xResizeTo(ele, w, h); - xMoveTo(ele, x, y); - } - else { - w = xWidth(ele); - h = xHeight(ele); - x = xLeft(ele); - y = xTop(ele); - xMoveTo(ele, xScrollLeft(), xScrollTop()); - maximized = true; - xResizeTo(ele, xClientWidth(), xClientHeight()); - } - me.paint(); - } - // Constructor Code - xFenster.z++; - xMoveTo(ele, iniX, iniY); - this.paint(); - xEnableDrag(barId, null, barOnDrag, null); - xEnableDrag(rBtn, null, resOnDrag, null); - mBtn.onclick = maxOnClick; - ele.onmousedown = fenOnMousedown; - xShow(ele); -} // end xFenster object prototype - -xFenster.z = 0; // xFenster static property diff --git a/pandora_console/include/styles/cb/lib/xfenster.xml b/pandora_console/include/styles/cb/lib/xfenster.xml deleted file mode 100644 index d7d25cc460..0000000000 --- a/pandora_console/include/styles/cb/lib/xfenster.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - -Copyright 2004-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Event - -Object - - - -new xFenster(eleId, iniX, iniY, barId, resBtnId, maxBtnId) - - - - eleId - - - - iniX - - - - iniY - - - - barId - - - - resBtnId - - - - maxBtnId - - - - - - - - - - - - - - - - - - - - - xGetElementById - xDisableDrag - xMoveTo - xWidth - xHeight - xResizeTo - xZIndex - xEnableDrag - xShow - - - - - http://cross-browser.com/x/examples/drag2.php - - - - - - - - mf - - - - - - - 1 - 9May05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xfirstchild.js b/pandora_console/include/styles/cb/lib/xfirstchild.js deleted file mode 100644 index ec61370513..0000000000 --- a/pandora_console/include/styles/cb/lib/xfirstchild.js +++ /dev/null @@ -1,10 +0,0 @@ -// xFirstChild, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xFirstChild(e, t) -{ - var c = e ? e.firstChild : null; - if (t) while (c && c.nodeName != t) { c = c.nextSibling; } - else while (c && c.nodeType != 1) { c = c.nextSibling; } - return c; -} diff --git a/pandora_console/include/styles/cb/lib/xfirstchild.xml b/pandora_console/include/styles/cb/lib/xfirstchild.xml deleted file mode 100644 index ac676a27a9..0000000000 --- a/pandora_console/include/styles/cb/lib/xfirstchild.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - -Copyright 2004-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - DOM - -Function - - - -xFirstChild(ele[, tag]) - - - - ele - - - - tag - - - - -If tag is defined, returns first child (or first child's sibling) with nodeName == tag, else with nodeType == 1. - - - - http://cross-browser.com/toys/ - - - - - - - 2 - 11Mar05 - mf - - - - 1 - 27Jan05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xgetcomputedstyle.js b/pandora_console/include/styles/cb/lib/xgetcomputedstyle.js deleted file mode 100644 index 544808d9a3..0000000000 --- a/pandora_console/include/styles/cb/lib/xgetcomputedstyle.js +++ /dev/null @@ -1,25 +0,0 @@ -// xGetComputedStyle, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xGetComputedStyle(oEle, sProp, bInt) -{ - var s, p = 'undefined'; - var dv = document.defaultView; - if(dv && dv.getComputedStyle){ - s = dv.getComputedStyle(oEle,''); - if (s) p = s.getPropertyValue(sProp); - } - else if(oEle.currentStyle) { - // convert css property name to object property name for IE - var a = sProp.split('-'); - sProp = a[0]; - for (var i=1; i - - - -Copyright 2002-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Style - -Function - - - -xGetComputedStyle(oEle, sProp[, bInt]) - - - - oEle - - - - sProp - - - - bInt - - - - -String, or integer if bInt is true. - - - - http://cross-browser.com/toys/ - - - - - - - - mf - - - - - - - 514Mar05mf - - - - 412Mar05mf - - - - 3mf - - - - 223Aug04mf - - - - 131Mar04mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xgetcookie.js b/pandora_console/include/styles/cb/lib/xgetcookie.js deleted file mode 100644 index 7f4acd6a61..0000000000 --- a/pandora_console/include/styles/cb/lib/xgetcookie.js +++ /dev/null @@ -1,17 +0,0 @@ -// xGetCookie, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xGetCookie(name) -{ - var value=null, search=name+"="; - if (document.cookie.length > 0) { - var offset = document.cookie.indexOf(search); - if (offset != -1) { - offset += search.length; - var end = document.cookie.indexOf(";", offset); - if (end == -1) end = document.cookie.length; - value = unescape(document.cookie.substring(offset, end)); - } - } - return value; -} diff --git a/pandora_console/include/styles/cb/lib/xgetcookie.xml b/pandora_console/include/styles/cb/lib/xgetcookie.xml deleted file mode 100644 index 15ec72fe2c..0000000000 --- a/pandora_console/include/styles/cb/lib/xgetcookie.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Cookie - -Function - - - -xGetCookie(sName) - - - - sName - - - - -string - - - - http://cross-browser.com/toys/ - - - - - - - 1 - - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xgetelementbyid.js b/pandora_console/include/styles/cb/lib/xgetelementbyid.js deleted file mode 100644 index c15d1cca10..0000000000 --- a/pandora_console/include/styles/cb/lib/xgetelementbyid.js +++ /dev/null @@ -1,11 +0,0 @@ -// xGetElementById, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xGetElementById(e) -{ - if(typeof(e)!='string') return e; - if(document.getElementById) e=document.getElementById(e); - else if(document.all) e=document.all[e]; - else e=null; - return e; -} diff --git a/pandora_console/include/styles/cb/lib/xgetelementbyid.xml b/pandora_console/include/styles/cb/lib/xgetelementbyid.xml deleted file mode 100644 index 03b0706db9..0000000000 --- a/pandora_console/include/styles/cb/lib/xgetelementbyid.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - DOM - - -Function - - - -xGetElementById(ele) - - - - ele - - - - -object reference or null - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xgetelementsbyattribute.js b/pandora_console/include/styles/cb/lib/xgetelementsbyattribute.js deleted file mode 100644 index aa6d61b9d1..0000000000 --- a/pandora_console/include/styles/cb/lib/xgetelementsbyattribute.js +++ /dev/null @@ -1,17 +0,0 @@ -// xGetElementsByAttribute, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xGetElementsByAttribute(sTag, sAtt, sRE, fn) -{ - var a, list, found = new Array(), re = new RegExp(sRE, 'i'); - list = xGetElementsByTagName(sTag); - for (var i = 0; i < list.length; ++i) { - a = list[i].getAttribute(sAtt); - if (!a) {a = list[i][sAtt];} - if (typeof(a)=='string' && a.search(re) != -1) { - found[found.length] = list[i]; - if (fn) fn(list[i]); - } - } - return found; -} diff --git a/pandora_console/include/styles/cb/lib/xgetelementsbyattribute.xml b/pandora_console/include/styles/cb/lib/xgetelementsbyattribute.xml deleted file mode 100644 index 64a35918f2..0000000000 --- a/pandora_console/include/styles/cb/lib/xgetelementsbyattribute.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - -Copyright 2002-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - DOM - -Function - - - -xGetElementsByAttribute(sTag, sAtt, sRE[, fn]) - - - - sTag - - - - sAtt - - - - sRE - - - - fn - - - - -array - - - xGetElementsByTagName - - - - - http://cross-browser.com/toys/ - - - - - - - 2 - 15May04 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xgetelementsbyclassname.js b/pandora_console/include/styles/cb/lib/xgetelementsbyclassname.js deleted file mode 100644 index 431132021e..0000000000 --- a/pandora_console/include/styles/cb/lib/xgetelementsbyclassname.js +++ /dev/null @@ -1,16 +0,0 @@ -// xGetElementsByClassName, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xGetElementsByClassName(c,p,t,f) -{ - var found = new Array(); - var re = new RegExp('\\b'+c+'\\b', 'i'); - var list = xGetElementsByTagName(t, p); - for (var i = 0; i < list.length; ++i) { - if (list[i].className && list[i].className.search(re) != -1) { - found[found.length] = list[i]; - if (f) f(list[i]); - } - } - return found; -} diff --git a/pandora_console/include/styles/cb/lib/xgetelementsbyclassname.xml b/pandora_console/include/styles/cb/lib/xgetelementsbyclassname.xml deleted file mode 100644 index a20e11c852..0000000000 --- a/pandora_console/include/styles/cb/lib/xgetelementsbyclassname.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - -Copyright 2002-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - DOM - -Function - - - -xGetElementsByClassName(sClsName, oParentEle, sTagName, fn) - - - - sClsName - - - - oParentEle - - - - sTagName - - - - fn - - - - - - - - - xGetElementsByTagName - - - - - http://cross-browser.com/toys/ - - - - - - - 4 - 15Mar05 - mf - - - - 3 - 7Mar05 - mf - - - - 2 - 15May04 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xgetelementsbytagname.js b/pandora_console/include/styles/cb/lib/xgetelementsbytagname.js deleted file mode 100644 index d8ff99b136..0000000000 --- a/pandora_console/include/styles/cb/lib/xgetelementsbytagname.js +++ /dev/null @@ -1,15 +0,0 @@ -// xGetElementsByTagName, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xGetElementsByTagName(t,p) -{ - var list = null; - t = t || '*'; - p = p || document; - if (xIE4 || xIE5) { - if (t == '*') list = p.all; - else list = p.all.tags(t); - } - else if (p.getElementsByTagName) list = p.getElementsByTagName(t); - return list || new Array(); -} diff --git a/pandora_console/include/styles/cb/lib/xgetelementsbytagname.xml b/pandora_console/include/styles/cb/lib/xgetelementsbytagname.xml deleted file mode 100644 index 5e0d98f95d..0000000000 --- a/pandora_console/include/styles/cb/lib/xgetelementsbytagname.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - -Copyright 2002-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - DOM - -Function - - - -xGetElementsByTagName(tagName[, parentEle]) - - - - tagName - - - - parentEle - - - - -node list - - - xIE4 - xIE5 - - - - - http://cross-browser.com/toys/ - - - - - - - 2May05 - mf - - - - 2002 - mf - - - - - - - 2 - 16Mar05 - mf - - - - 1 - 31Mar04 - mf - - - - - - - diff --git a/pandora_console/include/styles/cb/lib/xgetelepropsarray.js b/pandora_console/include/styles/cb/lib/xgetelepropsarray.js deleted file mode 100644 index 0e63a16db4..0000000000 --- a/pandora_console/include/styles/cb/lib/xgetelepropsarray.js +++ /dev/null @@ -1,86 +0,0 @@ -// xGetElePropsArray, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xGetElePropsArray(ele, eleName) -{ - var u = 'undefined'; - var i = 0, a = new Array(); - - nv('Element', eleName); - nv('id', (xDef(ele.id) ? ele.id : u)); - nv('tagName', (xDef(ele.tagName) ? ele.tagName : u)); - - nv('xWidth()', xWidth(ele)); - nv('style.width', (xDef(ele.style) && xDef(ele.style.width) ? ele.style.width : u)); - nv('offsetWidth', (xDef(ele.offsetWidth) ? ele.offsetWidth : u)); - nv('scrollWidth', (xDef(ele.offsetWidth) ? ele.offsetWidth : u)); - nv('clientWidth', (xDef(ele.clientWidth) ? ele.clientWidth : u)); - - nv('xHeight()', xHeight(ele)); - nv('style.height', (xDef(ele.style) && xDef(ele.style.height) ? ele.style.height : u)); - nv('offsetHeight', (xDef(ele.offsetHeight) ? ele.offsetHeight : u)); - nv('scrollHeight', (xDef(ele.offsetHeight) ? ele.offsetHeight : u)); - nv('clientHeight', (xDef(ele.clientHeight) ? ele.clientHeight : u)); - - nv('xLeft()', xLeft(ele)); - nv('style.left', (xDef(ele.style) && xDef(ele.style.left) ? ele.style.left : u)); - nv('offsetLeft', (xDef(ele.offsetLeft) ? ele.offsetLeft : u)); - nv('style.pixelLeft', (xDef(ele.style) && xDef(ele.style.pixelLeft) ? ele.style.pixelLeft : u)); - - nv('xTop()', xTop(ele)); - nv('style.top', (xDef(ele.style) && xDef(ele.style.top) ? ele.style.top : u)); - nv('offsetTop', (xDef(ele.offsetTop) ? ele.offsetTop : u)); - nv('style.pixelTop', (xDef(ele.style) && xDef(ele.style.pixelTop) ? ele.style.pixelTop : u)); - - nv('', ''); - nv('xGetComputedStyle()', ''); - - nv('top'); - nv('right'); - nv('bottom'); - nv('left'); - - nv('width'); - nv('height'); - - nv('color'); - nv('background-color'); - nv('font-family'); - nv('font-size'); - nv('text-align'); - nv('line-height'); - nv('content'); - - nv('float'); - nv('clear'); - - nv('margin'); - nv('padding'); - nv('padding-top'); - nv('padding-right'); - nv('padding-bottom'); - nv('padding-left'); - - nv('border-top-width'); - nv('border-right-width'); - nv('border-bottom-width'); - nv('border-left-width'); - - nv('position'); - nv('overflow'); - nv('visibility'); - nv('display'); - nv('z-index'); - nv('clip'); - nv('cursor'); - - return a; - - function nv(name, value) - { - a[i] = new Object(); - a[i].name = name; - a[i].value = typeof(value)=='undefined' ? xGetComputedStyle(ele, name) : value; - ++i; - } -} diff --git a/pandora_console/include/styles/cb/lib/xgetelepropsarray.xml b/pandora_console/include/styles/cb/lib/xgetelepropsarray.xml deleted file mode 100644 index 623e8497c0..0000000000 --- a/pandora_console/include/styles/cb/lib/xgetelepropsarray.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - -Copyright 2002-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Debug - -Function - - - -xGetElePropsArray(ele, eleName) - - - - ele - - - - eleName - - - - -an array of element properties - - - xDef - xWidth - xHeight - xLeft - xTop - xGetComputedStyle - - - - - http://cross-browser.com/x/examples/properties_report.php - - - - - - - 1 - 12Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xgetelepropsstring.js b/pandora_console/include/styles/cb/lib/xgetelepropsstring.js deleted file mode 100644 index 24b4091740..0000000000 --- a/pandora_console/include/styles/cb/lib/xgetelepropsstring.js +++ /dev/null @@ -1,11 +0,0 @@ -// xGetElePropsString, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xGetElePropsString(ele, eleName, newLine) -{ - var s = '', a = xGetElePropsArray(ele, eleName); - for (var i = 0; i < a.length; ++i) { - s += a[i].name + ' = ' + a[i].value + (newLine || '\n'); - } - return s; -} diff --git a/pandora_console/include/styles/cb/lib/xgetelepropsstring.xml b/pandora_console/include/styles/cb/lib/xgetelepropsstring.xml deleted file mode 100644 index 464991766e..0000000000 --- a/pandora_console/include/styles/cb/lib/xgetelepropsstring.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - -Copyright 2002-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Debug - -Function - - - -xGetElePropsString(ele, eleName[, newLine]) - - - - ele - - - - eleName - - - - newLine - - - - -a string of element properties - - - xGetElePropsArray - - - - - http://cross-browser.com/x/examples/properties_report.php - - - - - - - 1 - 12Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xgeturlarguments.js b/pandora_console/include/styles/cb/lib/xgeturlarguments.js deleted file mode 100644 index 89da126eb6..0000000000 --- a/pandora_console/include/styles/cb/lib/xgeturlarguments.js +++ /dev/null @@ -1,17 +0,0 @@ -// xGetURLArguments, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xGetURLArguments() -{ - var idx = location.href.indexOf('?'); - var params = new Array(); - if (idx != -1) { - var pairs = location.href.substring(idx+1, location.href.length).split('&'); - for (var i=0; i - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - String - -Function - - - -xGetURLArguments() - -an array of name/value pairs, can be indexed by name - - - - http://cross-browser.com/toys/ - - - - - - - 2 - 11Mar05 - mf - - - - 1 - - mf - - - - - - diff --git a/pandora_console/include/styles/cb/lib/xglobals.xml b/pandora_console/include/styles/cb/lib/xglobals.xml deleted file mode 100644 index 14a72e1ff2..0000000000 --- a/pandora_console/include/styles/cb/lib/xglobals.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Var - -Var - - - - - - - mf - - - - - mf - - - - - mf - - - - - - - 3 - 27Apr05 - mf - - - - 2 - - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xhaspoint.js b/pandora_console/include/styles/cb/lib/xhaspoint.js deleted file mode 100644 index cfe85c9084..0000000000 --- a/pandora_console/include/styles/cb/lib/xhaspoint.js +++ /dev/null @@ -1,12 +0,0 @@ -// xHasPoint, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xHasPoint(e,x,y,t,r,b,l) -{ - if (!xNum(t)){t=r=b=l=0;} - else if (!xNum(r)){r=b=l=t;} - else if (!xNum(b)){l=r; b=t;} - var eX = xPageX(e), eY = xPageY(e); - return (x >= eX + l && x <= eX + xWidth(e) - r && - y >= eY + t && y <= eY + xHeight(e) - b ); -} diff --git a/pandora_console/include/styles/cb/lib/xhaspoint.xml b/pandora_console/include/styles/cb/lib/xhaspoint.xml deleted file mode 100644 index 0d5c32e1fd..0000000000 --- a/pandora_console/include/styles/cb/lib/xhaspoint.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - -xHasPoint - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Position - -Function - - - -xHasPoint(ele, iLeft, iTop[, iClpT[, iClpR[, iClpB[, iClpL]]]]) - - - - ele - - - - iLeft - - - - iTop - - - - iClpT - - - - iClpR - - - - iClpB - - - - iClpL - - - - -true if iLeft,iTop is contained within the clipped area of ele - - - xNum - xPageX - xPageY - xWidth - xHeight - - - - - http://cross-browser.com/toys/ - - - - - - - 2 - 16Mar05 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xheight.js b/pandora_console/include/styles/cb/lib/xheight.js deleted file mode 100644 index 692a1f4283..0000000000 --- a/pandora_console/include/styles/cb/lib/xheight.js +++ /dev/null @@ -1,45 +0,0 @@ -// xHeight, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xHeight(e,h) -{ - if(!(e=xGetElementById(e))) return 0; - if (xNum(h)) { - if (h<0) h = 0; - else h=Math.round(h); - } - else h=-1; - var css=xDef(e.style); - if (e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') { - h = xClientHeight(); - } - else if(css && xDef(e.offsetHeight) && xStr(e.style.height)) { - if(h>=0) { - var pt=0,pb=0,bt=0,bb=0; - if (document.compatMode=='CSS1Compat') { - var gcs = xGetComputedStyle; - pt=gcs(e,'padding-top',1); - if (pt !== null) { - pb=gcs(e,'padding-bottom',1); - bt=gcs(e,'border-top-width',1); - bb=gcs(e,'border-bottom-width',1); - } - // Should we try this as a last resort? - // At this point getComputedStyle and currentStyle do not exist. - else if(xDef(e.offsetHeight,e.style.height)){ - e.style.height=h+'px'; - pt=e.offsetHeight-h; - } - } - h-=(pt+pb+bt+bb); - if(isNaN(h)||h<0) return; - else e.style.height=h+'px'; - } - h=e.offsetHeight; - } - else if(css && xDef(e.style.pixelHeight)) { - if(h>=0) e.style.pixelHeight=h; - h=e.style.pixelHeight; - } - return h; -} diff --git a/pandora_console/include/styles/cb/lib/xheight.xml b/pandora_console/include/styles/cb/lib/xheight.xml deleted file mode 100644 index a420513ca3..0000000000 --- a/pandora_console/include/styles/cb/lib/xheight.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Size - -Function - - - -xHeight(ele[, uH]) - - - - ele - - - - uH - - - - -integer - - - xgetelementbyid - xnum - xdef - xstr - xgetcomputedstyle - - - - - http://cross-browser.com/toys/ - - - - - - - 4 - 7Apr05 - mf - - - - 3 - 12Mar05 - mf - - - - 2 - 14May04 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xhex.js b/pandora_console/include/styles/cb/lib/xhex.js deleted file mode 100644 index 0de69964e1..0000000000 --- a/pandora_console/include/styles/cb/lib/xhex.js +++ /dev/null @@ -1,13 +0,0 @@ -// xHex, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xHex(n, digits, prefix) -{ - var p = '', n = Math.ceil(n); - if (prefix) p = prefix; - n = n.toString(16); - for (var i=0; i < digits - n.length; ++i) { - p += '0'; - } - return p + n; -} diff --git a/pandora_console/include/styles/cb/lib/xhex.xml b/pandora_console/include/styles/cb/lib/xhex.xml deleted file mode 100644 index 91b8d56544..0000000000 --- a/pandora_console/include/styles/cb/lib/xhex.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - String - -Function - - - -xHex(n, digits, prefix) - - - - n - - - - digits - - - - prefix - - - - -string - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 11Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xhide.js b/pandora_console/include/styles/cb/lib/xhide.js deleted file mode 100644 index 81b2019c53..0000000000 --- a/pandora_console/include/styles/cb/lib/xhide.js +++ /dev/null @@ -1,4 +0,0 @@ -// xHide, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xHide(e){return xVisibility(e,0);} diff --git a/pandora_console/include/styles/cb/lib/xhide.xml b/pandora_console/include/styles/cb/lib/xhide.xml deleted file mode 100644 index e3fa3ce38c..0000000000 --- a/pandora_console/include/styles/cb/lib/xhide.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Style - -Function - - - -xHide(ele) - - - - ele - - - - -element.style.visibility - - - xVisibility - - - - - 2004 - mf - - - - - - - 3 - 27Jan05 - mf - - - - 2 - 2004 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/ximgasyncwait.js b/pandora_console/include/styles/cb/lib/ximgasyncwait.js deleted file mode 100644 index 6a0be231ea..0000000000 --- a/pandora_console/include/styles/cb/lib/ximgasyncwait.js +++ /dev/null @@ -1,76 +0,0 @@ -// xImgAsyncWait, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xImgAsyncWait(fnStatus, fnInit, fnError, sErrorImg, sAbortImg, imgArray) -{ - var i, imgs = imgArray || document.images; - - for (i = 0; i < imgs.length; ++i) { - imgs[i].onload = imgOnLoad; - imgs[i].onerror = imgOnError; - imgs[i].onabort = imgOnAbort; - } - - xIAW.fnStatus = fnStatus; - xIAW.fnInit = fnInit; - xIAW.fnError = fnError; - xIAW.imgArray = imgArray; - - xIAW(); - - function imgOnLoad() - { - this.wasLoaded = true; - } - function imgOnError() - { - if (sErrorImg && !this.wasError) { - this.src = sErrorImg; - } - this.wasError = true; - } - function imgOnAbort() - { - if (sAbortImg && !this.wasAborted) { - this.src = sAbortImg; - } - this.wasAborted = true; - } -} -// end xImgAsyncWait() - -// Don't call xIAW() directly. It is only called from xImgAsyncWait(). - -function xIAW() -{ - var me = arguments.callee; - if (!me) { - return; // I could have used a global object instead of callee - } - var i, imgs = me.imgArray ? me.imgArray : document.images; - var c = 0, e = 0, a = 0, n = imgs.length; - for (i = 0; i < n; ++i) { - if (imgs[i].wasError) { - ++e; - } - else if (imgs[i].wasAborted) { - ++a; - } - else if (imgs[i].complete || imgs[i].wasLoaded) { - ++c; - } - } - if (me.fnStatus) { - me.fnStatus(n, c, e, a); - } - if (c + e + a == n) { - if ((e || a) && me.fnError) { - me.fnError(n, c, e, a); - } - else if (me.fnInit) { - me.fnInit(); - } - } - else setTimeout('xIAW()', 250); -} -// end xIAW() diff --git a/pandora_console/include/styles/cb/lib/ximgasyncwait.xml b/pandora_console/include/styles/cb/lib/ximgasyncwait.xml deleted file mode 100644 index 84d9495067..0000000000 --- a/pandora_console/include/styles/cb/lib/ximgasyncwait.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - -Copyright 2003-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Image - Event - -Function - - - -xImgAsyncWait(fnStatus, fnInit, fnError, sErrorImg, sAbortImg, imgArray) - - - - fnStatus - - - fnInit - - - fnError - - - sErrorImg - - - sAbortImg - - - imgArray - - - - - - http://cross-browser.com/x/examples/ximgasyncwait.php - - - - - - - 2 - 28Jul04 - mf - - - - 1 - - mf - - - - - - diff --git a/pandora_console/include/styles/cb/lib/ximgrollsetup.js b/pandora_console/include/styles/cb/lib/ximgrollsetup.js deleted file mode 100644 index 9b9f6393ea..0000000000 --- a/pandora_console/include/styles/cb/lib/ximgrollsetup.js +++ /dev/null @@ -1,29 +0,0 @@ -// xImgRollSetup, Copyright 2002,2003,2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xImgRollSetup(p,s,x) -{ - var ele, id; - for (var i=3; i - - - -Copyright 2002-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Image - Event - -Function - - - -xImgRollSetup(sPath, sOvrSuffix, sFileExt, sImgEleId[, ...]) - - - - sPath - - - - sOvrSuffix - - - - sFileExt - - - - sImgEleId - - - - - - xGetElementById - - - - - http://cross-browser.com/toys/ - - - - - - - 3 - 16Mar05 - mf - - - - 2 - 28Jul04 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xinclude.js b/pandora_console/include/styles/cb/lib/xinclude.js deleted file mode 100644 index 5d5f817770..0000000000 --- a/pandora_console/include/styles/cb/lib/xinclude.js +++ /dev/null @@ -1,59 +0,0 @@ -// xInclude, Copyright 2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xInclude(url1, url2, etc) -{ - if (document.getElementById || document.all || document.layers) { // minimum dhtml support required - var h, f, i, j, a, n, inc; - - for (var i=0; i"; - } - - // else is it a .css file? - else if (f.indexOf('.css') != -1) { // CSS file - h = ""; - } - - // write the link or script element into the document - if (h.length) { document.writeln(h); } - - } // end if (!inc) - } // end outer for - return true; - } // end if (min dhtml support) - return false; -} diff --git a/pandora_console/include/styles/cb/lib/xinclude.xml b/pandora_console/include/styles/cb/lib/xinclude.xml deleted file mode 100644 index 0b5030015b..0000000000 --- a/pandora_console/include/styles/cb/lib/xinclude.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL -Function - - - -xInclude(url1, url2, etc) - - - - url - - - - - diff --git a/pandora_console/include/styles/cb/lib/xinnerhtml.js b/pandora_console/include/styles/cb/lib/xinnerhtml.js deleted file mode 100644 index 3223a04775..0000000000 --- a/pandora_console/include/styles/cb/lib/xinnerhtml.js +++ /dev/null @@ -1,10 +0,0 @@ -// xInnerHtml, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xInnerHtml(e,h) -{ - if(!(e=xGetElementById(e)) || !xStr(e.innerHTML)) return null; - var s = e.innerHTML; - if (xStr(h)) {e.innerHTML = h;} - return s; -} diff --git a/pandora_console/include/styles/cb/lib/xinnerhtml.xml b/pandora_console/include/styles/cb/lib/xinnerhtml.xml deleted file mode 100644 index 8c51edd329..0000000000 --- a/pandora_console/include/styles/cb/lib/xinnerhtml.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - - -Function - - - -xInnerHtml(e, sHtml) - - - - e - - - - sHtml - - - - -string, element.innerHTML if it exists else null - - - xGetElementById - xStr - - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xintersection.js b/pandora_console/include/styles/cb/lib/xintersection.js deleted file mode 100644 index 762cd524ee..0000000000 --- a/pandora_console/include/styles/cb/lib/xintersection.js +++ /dev/null @@ -1,45 +0,0 @@ -// xIntersection, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xIntersection(e1, e2, o) -{ - var ix1, iy2, iw, ih, intersect = true; - var e1x1 = xPageX(e1); - var e1x2 = e1x1 + xWidth(e1); - var e1y1 = xPageY(e1); - var e1y2 = e1y1 + xHeight(e1); - var e2x1 = xPageX(e2); - var e2x2 = e2x1 + xWidth(e2); - var e2y1 = xPageY(e2); - var e2y2 = e2y1 + xHeight(e2); - // horizontal - if (e1x1 <= e2x1) { - ix1 = e2x1; - if (e1x2 < e2x1) intersect = false; - else iw = Math.min(e1x2, e2x2) - e2x1; - } - else { - ix1 = e1x1; - if (e2x2 < e1x1) intersect = false; - else iw = Math.min(e1x2, e2x2) - e1x1; - } - // vertical - if (e1y2 >= e2y2) { - iy2 = e2y2; - if (e1y1 > e2y2) intersect = false; - else ih = e2y2 - Math.max(e1y1, e2y1); - } - else { - iy2 = e1y2; - if (e2y1 > e1y2) intersect = false; - else ih = e1y2 - Math.max(e1y1, e2y1); - } - // intersected rectangle - if (intersect && typeof(o)=='object') { - o.x = ix1; - o.y = iy2 - ih; - o.w = iw; - o.h = ih; - } - return intersect; -} diff --git a/pandora_console/include/styles/cb/lib/xintersection.xml b/pandora_console/include/styles/cb/lib/xintersection.xml deleted file mode 100644 index 39309e44d5..0000000000 --- a/pandora_console/include/styles/cb/lib/xintersection.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Position - Size - -Function - - - -xIntersection(ele1, ele2, obj) - - - - ele1 - - - - ele2 - - - - obj - - - - -Returns true if the two elements intersect and assigns properties to obj which describe the intersected rectangle: x, y, w, and h. - - - xpagex - xwidth - xpagey - xheight - - - - - http://cross-browser.com/toys/ - - - - - - - 2 - 21Apr04 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xleft.js b/pandora_console/include/styles/cb/lib/xleft.js deleted file mode 100644 index f53e12d6bb..0000000000 --- a/pandora_console/include/styles/cb/lib/xleft.js +++ /dev/null @@ -1,20 +0,0 @@ -// xLeft, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xLeft(e, iX) -{ - if(!(e=xGetElementById(e))) return 0; - var css=xDef(e.style); - if (css && xStr(e.style.left)) { - if(xNum(iX)) e.style.left=iX+'px'; - else { - iX=parseInt(e.style.left); - if(isNaN(iX)) iX=0; - } - } - else if(css && xDef(e.style.pixelLeft)) { - if(xNum(iX)) e.style.pixelLeft=iX; - else iX=e.style.pixelLeft; - } - return iX; -} diff --git a/pandora_console/include/styles/cb/lib/xleft.xml b/pandora_console/include/styles/cb/lib/xleft.xml deleted file mode 100644 index bf30e2bde1..0000000000 --- a/pandora_console/include/styles/cb/lib/xleft.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Position - Style - -Function - - - -xLeft(ele[, iX]) - - - - ele - - - - iX - - - - -integer - - - xGetElementById - xDef - xStr - xNum - - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xlinearscale.js b/pandora_console/include/styles/cb/lib/xlinearscale.js deleted file mode 100644 index 6e782ddd6f..0000000000 --- a/pandora_console/include/styles/cb/lib/xlinearscale.js +++ /dev/null @@ -1,9 +0,0 @@ -// xLinearScale, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xLinearScale(val,iL,iH,oL,oH) -{ - var m=(oH-oL)/(iH-iL); - var b=oL-(iL*m); - return m*val+b; -} diff --git a/pandora_console/include/styles/cb/lib/xlinearscale.xml b/pandora_console/include/styles/cb/lib/xlinearscale.xml deleted file mode 100644 index 8b38983570..0000000000 --- a/pandora_console/include/styles/cb/lib/xlinearscale.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - -xLinearScale - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Math - -Function - - - -xLinearScale(value, inMin, inMax, outMin, outMax) - - - - value - - - - inMin - - - - inMax - - - - outMin - - - - outMax - - - - -the scaled value - - - - http://cross-browser.com/x/examples/bargraph.html - - - - - - - 2 - 16Mar05 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xloadscript.js b/pandora_console/include/styles/cb/lib/xloadscript.js deleted file mode 100644 index a95c9562c5..0000000000 --- a/pandora_console/include/styles/cb/lib/xloadscript.js +++ /dev/null @@ -1,14 +0,0 @@ -// xLoadScript, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xLoadScript(url) -{ - if (document.createElement && document.getElementsByTagName) { - var s = document.createElement('script'); - var h = document.getElementsByTagName('head'); - if (s && h.length) { - s.src = url; - h[0].appendChild(s); - } - } -} diff --git a/pandora_console/include/styles/cb/lib/xloadscript.xml b/pandora_console/include/styles/cb/lib/xloadscript.xml deleted file mode 100644 index 272cdfd353..0000000000 --- a/pandora_console/include/styles/cb/lib/xloadscript.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Debug - -Function - - - -xLoadScript(url) - - - - url - - - - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 12Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xmenu1.js b/pandora_console/include/styles/cb/lib/xmenu1.js deleted file mode 100644 index 92097adbff..0000000000 --- a/pandora_console/include/styles/cb/lib/xmenu1.js +++ /dev/null @@ -1,32 +0,0 @@ -// xMenu1, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xMenu1(triggerId, menuId, mouseMargin, openEvent) -{ - var isOpen = false; - var trg = xGetElementById(triggerId); - var mnu = xGetElementById(menuId); - if (trg && mnu) { - xAddEventListener(trg, openEvent, onOpen, false); - } - function onOpen() - { - if (!isOpen) { - xMoveTo(mnu, xPageX(trg), xPageY(trg) + xHeight(trg)); - xShow(mnu); - xAddEventListener(document, 'mousemove', onMousemove, false); - isOpen = true; - } - } - function onMousemove(ev) - { - var e = new xEvent(ev); - if (!xHasPoint(mnu, e.pageX, e.pageY, -mouseMargin) && - !xHasPoint(trg, e.pageX, e.pageY, -mouseMargin)) - { - xHide(mnu); - xRemoveEventListener(document, 'mousemove', onMousemove, false); - isOpen = false; - } - } -} // end xMenu1 diff --git a/pandora_console/include/styles/cb/lib/xmenu1.xml b/pandora_console/include/styles/cb/lib/xmenu1.xml deleted file mode 100644 index e5d1db9c5c..0000000000 --- a/pandora_console/include/styles/cb/lib/xmenu1.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Navigation - -Object - - - -new xMenu1(triggerId, menuId, mouseMargin, openEvent) - - - - triggerId - - - - menuId - - - - mouseMargin - - - - openEvent - - - - - - - - - - - - - xgetelementbyid - xaddeventlistener - xmoveto - xpagex - xpagey - xheight - xshow - xevent - xhaspoint - xhide - xremoveeventlistener - - - - - http://cross-browser.loc/x/menus/xmenu1.php - - - - - diff --git a/pandora_console/include/styles/cb/lib/xmenu1a.js b/pandora_console/include/styles/cb/lib/xmenu1a.js deleted file mode 100644 index 9bfa9b07e7..0000000000 --- a/pandora_console/include/styles/cb/lib/xmenu1a.js +++ /dev/null @@ -1,35 +0,0 @@ -// xMenu1A, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xMenu1A(triggerId, menuId, mouseMargin, slideTime, openEvent) -{ - var isOpen = false; - var trg = xGetElementById(triggerId); - var mnu = xGetElementById(menuId); - if (trg && mnu) { - xHide(mnu); - xAddEventListener(trg, openEvent, onOpen, false); - } - function onOpen() - { - if (!isOpen) { - xMoveTo(mnu, xPageX(trg), xPageY(trg)); - xShow(mnu); - xSlideTo(mnu, xPageX(trg), xPageY(trg) + xHeight(trg), slideTime); - xAddEventListener(document, 'mousemove', onMousemove, false); - isOpen = true; - } - } - function onMousemove(ev) - { - var e = new xEvent(ev); - if (!xHasPoint(mnu, e.pageX, e.pageY, -mouseMargin) && - !xHasPoint(trg, e.pageX, e.pageY, -mouseMargin)) - { - xRemoveEventListener(document, 'mousemove', onMousemove, false); - xSlideTo(mnu, xPageX(trg), xPageY(trg), slideTime); - setTimeout("xHide('" + menuId + "')", slideTime); - isOpen = false; - } - } -} // end xMenu1A diff --git a/pandora_console/include/styles/cb/lib/xmenu1a.xml b/pandora_console/include/styles/cb/lib/xmenu1a.xml deleted file mode 100644 index 076568f99f..0000000000 --- a/pandora_console/include/styles/cb/lib/xmenu1a.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Navigation - -Object - - - -xMenu1A(triggerId, menuId, mouseMargin, slideTime, openEvent) - - - - triggerId - - - - menuId - - - - mouseMargin - - - - slideTime - - - - openEvent - - - - - - - - - - - - - xgetelementbyid - xhide - xaddeventlistener - xmoveto - xpagex - xpagey - xshow - xslideto - xheight - xevent - xhaspoint - xremoveeventlistener - - - - - http://cross-browser.loc/x/menus/xmenu1.php - - - - - diff --git a/pandora_console/include/styles/cb/lib/xmenu1b.js b/pandora_console/include/styles/cb/lib/xmenu1b.js deleted file mode 100644 index a742633d8e..0000000000 --- a/pandora_console/include/styles/cb/lib/xmenu1b.js +++ /dev/null @@ -1,43 +0,0 @@ -// xMenu1B, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xMenu1B(openTriggerId, closeTriggerId, menuId, slideTime, bOnClick) -{ - xMenu1B.instances[xMenu1B.instances.length] = this; - var isOpen = false; - var oTrg = xGetElementById(openTriggerId); - var cTrg = xGetElementById(closeTriggerId); - var mnu = xGetElementById(menuId); - if (oTrg && cTrg && mnu) { - xHide(mnu); - if (bOnClick) oTrg.onclick = openOnEvent; - else oTrg.onmouseover = openOnEvent; - cTrg.onclick = closeOnClick; - } - function openOnEvent() - { - if (!isOpen) { - for (var i = 0; i < xMenu1B.instances.length; ++i) { - xMenu1B.instances[i].close(); - } - xMoveTo(mnu, xPageX(oTrg), xPageY(oTrg)); - xShow(mnu); - xSlideTo(mnu, xPageX(oTrg), xPageY(oTrg) + xHeight(oTrg), slideTime); - isOpen = true; - } - } - function closeOnClick() - { - if (isOpen) { - xSlideTo(mnu, xPageX(oTrg), xPageY(oTrg), slideTime); - setTimeout("xHide('" + menuId + "')", slideTime); - isOpen = false; - } - } - this.close = function() - { - closeOnClick(); - } -} // end xMenu1B - -xMenu1B.instances = new Array(); // static member of xMenu1B diff --git a/pandora_console/include/styles/cb/lib/xmenu1b.xml b/pandora_console/include/styles/cb/lib/xmenu1b.xml deleted file mode 100644 index 72e55d8e75..0000000000 --- a/pandora_console/include/styles/cb/lib/xmenu1b.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Navigation - -Object - - - -xMenu1B(openTriggerId, closeTriggerId, menuId, slideTime, bOnClick) - - - - openTriggerId - - - - closeTriggerId - - - - menuId - - - - slideTime - - - - bOnClick - - - - - - - - - - - - - xgetelementbyid - xhide - xmoveto - xpagex - xpagey - xshow - xslideto - xheight - - - - - http://cross-browser.loc/x/menus/xmenu1.php - - - - - diff --git a/pandora_console/include/styles/cb/lib/xmenu5.js b/pandora_console/include/styles/cb/lib/xmenu5.js deleted file mode 100644 index 2bea5cca41..0000000000 --- a/pandora_console/include/styles/cb/lib/xmenu5.js +++ /dev/null @@ -1,77 +0,0 @@ -// xMenu5, Copyright 2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xMenu5(idUL, btnClass, idAutoOpen) // object prototype -{ - // Constructor - - var i, ul, btns, mnu = xGetElementById(idUL); - btns = xGetElementsByClassName(btnClass, mnu, 'DIV'); - for (i = 0; i < btns.length; ++i) { - ul = xNextSib(btns[i], 'UL'); - btns[i].xClpsTgt = ul; - btns[i].onclick = btn_onClick; - set_display(btns[i], 0); - } - if (idAutoOpen) { - var e = xGetElementById(idAutoOpen); - while (e && e != mnu) { - if (e.xClpsTgt) set_display(e, 1); - while (e && e != mnu && e.nodeName != 'LI') e = e.parentNode; - e = e.parentNode; // UL - while (e && !e.xClpsTgt) e = xPrevSib(e); - } - } - - // Private - - function btn_onClick() - { - var thisLi, fc, pUl; - if (this.xClpsTgt.style.display == 'none') { - set_display(this, 1); - // get this label's parent LI - var li = this.parentNode; - thisLi = li; - pUl = li.parentNode; // get this LI's parent UL - li = xFirstChild(pUl); // get the UL's first LI child - // close all labels' ULs on this level except for thisLI's label - while (li) { - if (li != thisLi) { - fc = xFirstChild(li); - if (fc && fc.xClpsTgt) { - set_display(fc, 0); - } - } - li = xNextSib(li); - } - } - else { - set_display(this, 0); - } - } - - function set_display(ele, bBlock) - { - if (bBlock) { - ele.xClpsTgt.style.display = 'block'; - ele.innerHTML = '-'; - } - else { - ele.xClpsTgt.style.display = 'none'; - ele.innerHTML = '+'; - } - } - - // Public - - this.onUnload = function() - { - for (i = 0; i < btns.length; ++i) { - btns[i].xClpsTgt = null; - btns[i].onclick = null; - } - } -} // end xMenu5 prototype - - diff --git a/pandora_console/include/styles/cb/lib/xmenu5.xml b/pandora_console/include/styles/cb/lib/xmenu5.xml deleted file mode 100644 index d605ecbe38..0000000000 --- a/pandora_console/include/styles/cb/lib/xmenu5.xml +++ /dev/null @@ -1,106 +0,0 @@ - - - - -Copyright 2004-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Navigation - -Object - - - -new xMenu5(idUL, btnClass[, idAutoOpen]) - - - - idUL - - - - btnClass - - - - idAutoOpen - - - - - - - onUnload - - - - - - xgetelementbyid - xgetelementsbyclassname - xnextsib - xprevsib - xfirstchild - - - - - http://cross-browser.com/x/menus/xmenu5.php - - - - - - - 2004 - mf - - - - - - - - - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xmoveto.js b/pandora_console/include/styles/cb/lib/xmoveto.js deleted file mode 100644 index c7e03db9ab..0000000000 --- a/pandora_console/include/styles/cb/lib/xmoveto.js +++ /dev/null @@ -1,8 +0,0 @@ -// xMoveTo, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xMoveTo(e,x,y) -{ - xLeft(e,x); - xTop(e,y); -} diff --git a/pandora_console/include/styles/cb/lib/xmoveto.xml b/pandora_console/include/styles/cb/lib/xmoveto.xml deleted file mode 100644 index 1299387a94..0000000000 --- a/pandora_console/include/styles/cb/lib/xmoveto.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Position - -Function - - - -xMoveTo(ele, iX, iY) - - - - ele - - - - iX - - - - iY - - - - - - xLeft - xTop - - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 11Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xname.js b/pandora_console/include/styles/cb/lib/xname.js deleted file mode 100644 index 18829ed3ac..0000000000 --- a/pandora_console/include/styles/cb/lib/xname.js +++ /dev/null @@ -1,12 +0,0 @@ -// xName, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xName(e) -{ - if (!e) return e; - else if (e.id && e.id != "") return e.id; - else if (e.name && e.name != "") return e.name; - else if (e.nodeName && e.nodeName != "") return e.nodeName; - else if (e.tagName && e.tagName != "") return e.tagName; - else return e; -} diff --git a/pandora_console/include/styles/cb/lib/xname.xml b/pandora_console/include/styles/cb/lib/xname.xml deleted file mode 100644 index 5f98dda47e..0000000000 --- a/pandora_console/include/styles/cb/lib/xname.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Debug - -Function - - - -xName(e) - - - - e - - - - -string - - - - http://cross-browser.com/toys/ - - - - - diff --git a/pandora_console/include/styles/cb/lib/xnextsib.js b/pandora_console/include/styles/cb/lib/xnextsib.js deleted file mode 100644 index f51bb4a5dd..0000000000 --- a/pandora_console/include/styles/cb/lib/xnextsib.js +++ /dev/null @@ -1,10 +0,0 @@ -// xNextSib, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xNextSib(e,t) -{ - var s = e ? e.nextSibling : null; - if (t) while (s && s.nodeName != t) { s = s.nextSibling; } - else while (s && s.nodeType != 1) { s = s.nextSibling; } - return s; -} diff --git a/pandora_console/include/styles/cb/lib/xnextsib.xml b/pandora_console/include/styles/cb/lib/xnextsib.xml deleted file mode 100644 index 7ecb5c90e4..0000000000 --- a/pandora_console/include/styles/cb/lib/xnextsib.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - DOM - -Function - - - -xNextSib(ele, tag) - - - - ele - - - - tag - - - - -If tag is defined, returns next sibling with nodeName == tag, else with nodeType == 1. - - - - http://cross-browser.com/toys/ - - - - - - - 2 - 11Mar05 - mf - - - - 1 - 27Jan05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xnum.js b/pandora_console/include/styles/cb/lib/xnum.js deleted file mode 100644 index c17bf42e24..0000000000 --- a/pandora_console/include/styles/cb/lib/xnum.js +++ /dev/null @@ -1,8 +0,0 @@ -// xNum, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xNum() -{ - for(var i=0; i - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Type - - -Function - - - -xNum(ref, etc) - - - - ref - - - - -Return true if all arguments are of type 'number', else false. Also returns false if isNaN. - - - - http://cross-browser.com/toys/ - - - - - - - 2 - 2Apr05 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xoffsetleft.js b/pandora_console/include/styles/cb/lib/xoffsetleft.js deleted file mode 100644 index dc472269f5..0000000000 --- a/pandora_console/include/styles/cb/lib/xoffsetleft.js +++ /dev/null @@ -1,9 +0,0 @@ -// xOffsetLeft, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xOffsetLeft(e) -{ - if (!(e=xGetElementById(e))) return 0; - if (xDef(e.offsetLeft)) return e.offsetLeft; - else return 0; -} diff --git a/pandora_console/include/styles/cb/lib/xoffsetleft.xml b/pandora_console/include/styles/cb/lib/xoffsetleft.xml deleted file mode 100644 index 8b1f1964c5..0000000000 --- a/pandora_console/include/styles/cb/lib/xoffsetleft.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Position - -Function - - - -xOffsetLeft(ele) - - - - ele - - - - -the element's X offset within its parent element. - - - xGetElementById - xDef - - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xoffsettop.js b/pandora_console/include/styles/cb/lib/xoffsettop.js deleted file mode 100644 index f99fe97740..0000000000 --- a/pandora_console/include/styles/cb/lib/xoffsettop.js +++ /dev/null @@ -1,9 +0,0 @@ -// xOffsetTop, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xOffsetTop(e) -{ - if (!(e=xGetElementById(e))) return 0; - if (xDef(e.offsetTop)) return e.offsetTop; - else return 0; -} diff --git a/pandora_console/include/styles/cb/lib/xoffsettop.xml b/pandora_console/include/styles/cb/lib/xoffsettop.xml deleted file mode 100644 index e23963ec97..0000000000 --- a/pandora_console/include/styles/cb/lib/xoffsettop.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Position - -Function - - - -xOffsetTop(ele) - - - - ele - - - - -the element's Y offset within its parent element - - - xGetElementById - xDef - - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xpad.js b/pandora_console/include/styles/cb/lib/xpad.js deleted file mode 100644 index 517b603baf..0000000000 --- a/pandora_console/include/styles/cb/lib/xpad.js +++ /dev/null @@ -1,10 +0,0 @@ -// xPad, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xPad(s,len,c,left) -{ - if(typeof s != 'string') s=s+''; - if(left) {for(var i=s.length; i - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - String - -Function - - - -xPad(str, finalLen, padChar, bLeft) - - - - str - - - - finalLen - - - - padChar - - - - bLeft - - - - -str, after padding - - - - http://cross-browser.com/toys/ - - - - - - - 2 - 17Mar05 - mf - - - - 1 - 11Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xpagex.js b/pandora_console/include/styles/cb/lib/xpagex.js deleted file mode 100644 index ecc54a66a8..0000000000 --- a/pandora_console/include/styles/cb/lib/xpagex.js +++ /dev/null @@ -1,13 +0,0 @@ -// xPageX, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xPageX(e) -{ - if (!(e=xGetElementById(e))) return 0; - var x = 0; - while (e) { - if (xDef(e.offsetLeft)) x += e.offsetLeft; - e = xDef(e.offsetParent) ? e.offsetParent : null; - } - return x; -} diff --git a/pandora_console/include/styles/cb/lib/xpagex.xml b/pandora_console/include/styles/cb/lib/xpagex.xml deleted file mode 100644 index 3c10f3993e..0000000000 --- a/pandora_console/include/styles/cb/lib/xpagex.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Position - -Function - - - -xPageX(ele) - - - - ele - - - - -the page relative X position of ele - - - xGetElementById - xDef - - - - - http://cross-browser.com/toys/ - - - - - - - - mf - - - - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xpagey.js b/pandora_console/include/styles/cb/lib/xpagey.js deleted file mode 100644 index 5410ff3294..0000000000 --- a/pandora_console/include/styles/cb/lib/xpagey.js +++ /dev/null @@ -1,14 +0,0 @@ -// xPageY, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xPageY(e) -{ - if (!(e=xGetElementById(e))) return 0; - var y = 0; - while (e) { - if (xDef(e.offsetTop)) y += e.offsetTop; - e = xDef(e.offsetParent) ? e.offsetParent : null; - } -// if (xOp7Up) return y - document.body.offsetTop; // v3.14, temporary hack for opera bug 130324 (reported 1nov03) - return y; -} diff --git a/pandora_console/include/styles/cb/lib/xpagey.xml b/pandora_console/include/styles/cb/lib/xpagey.xml deleted file mode 100644 index 9ffe2c5fe6..0000000000 --- a/pandora_console/include/styles/cb/lib/xpagey.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Position - -Function - - - -xPageY(ele) - - - - ele - - - - -the page relative Y position of ele - - - xGetElementById - xDef - - - - - http://cross-browser.com/toys/ - - - - - - - - mf - - - - - - - 2 - 25Apr05 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xparaeq.js b/pandora_console/include/styles/cb/lib/xparaeq.js deleted file mode 100644 index 29a8fe0265..0000000000 --- a/pandora_console/include/styles/cb/lib/xparaeq.js +++ /dev/null @@ -1,40 +0,0 @@ -// xParaEq, Copyright 2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -// Animation with Parametric Equations - -function xParaEq(e, xExpr, yExpr, totalTime) -{ - if (!(e=xGetElementById(e))) return; - e.t = 0; - e.tStep = .008; - if (!e.timeout) e.timeout = 25; - e.xExpr = xExpr; - e.yExpr = yExpr; - e.slideTime = totalTime; - var d = new Date(); - e.C = d.getTime(); - if (!e.moving) {e.stop=false; _xParaEq(e);} -} -function _xParaEq(e) -{ - if (!(e=xGetElementById(e))) return; - var now = new Date(); - var et = now.getTime() - e.C; - e.t += e.tStep; - t = e.t; - if (e.stop) { e.moving = false; } - else if (!e.slideTime || et < e.slideTime) { - setTimeout("_xParaEq('"+e.id+"')", e.timeout); - var p = xParent(e), centerX, centerY; - centerX = (xWidth(p)/2)-(xWidth(e)/2); - centerY = (xHeight(p)/2)-(xHeight(e)/2); - e.xTarget = Math.round((eval(e.xExpr) * centerX) + centerX) + xScrollLeft(p); - e.yTarget = Math.round((eval(e.yExpr) * centerY) + centerY) + xScrollTop(p); - xMoveTo(e, e.xTarget, e.yTarget); - e.moving = true; - } - else { - e.moving = false; - } -} diff --git a/pandora_console/include/styles/cb/lib/xparaeq.xml b/pandora_console/include/styles/cb/lib/xparaeq.xml deleted file mode 100644 index 50f59ea76d..0000000000 --- a/pandora_console/include/styles/cb/lib/xparaeq.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - -Copyright 2004-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Animation - -Function - - - -xParaEq(ele, xExpr, yExpr, totalTime) - - - - ele - - - - xExpr - - - - yExpr - - - - totalTime - - - - - - - stop - - - - moving - - - - - - xgetelementbyid - xparent - xwidth - xheight - xscrollleft - xscrolltop - xmoveto - - - - - http://cross-browser.com/x/examples/xparaeq.php - - - - - - - 2 - 6Apr05 - mf - - - - 1 - 21Jun04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xparent.js b/pandora_console/include/styles/cb/lib/xparent.js deleted file mode 100644 index c08c5c23b6..0000000000 --- a/pandora_console/include/styles/cb/lib/xparent.js +++ /dev/null @@ -1,12 +0,0 @@ -// xParent, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xParent(e, bNode) -{ - if (!(e=xGetElementById(e))) return null; - var p=null; - if (!bNode && xDef(e.offsetParent)) p=e.offsetParent; - else if (xDef(e.parentNode)) p=e.parentNode; - else if (xDef(e.parentElement)) p=e.parentElement; - return p; -} diff --git a/pandora_console/include/styles/cb/lib/xparent.xml b/pandora_console/include/styles/cb/lib/xparent.xml deleted file mode 100644 index 5af3fc584a..0000000000 --- a/pandora_console/include/styles/cb/lib/xparent.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - -xParent - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - DOM - -Function - - - -xParent(e, bNode) - - - - ele - - - - bNode - - - - -a reference to the element's parent element, or null if not found - - - xGetElementById - xDef - - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xparentchain.js b/pandora_console/include/styles/cb/lib/xparentchain.js deleted file mode 100644 index 2510d02507..0000000000 --- a/pandora_console/include/styles/cb/lib/xparentchain.js +++ /dev/null @@ -1,14 +0,0 @@ -// xParentChain, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xParentChain(e,delim,bNode) -{ - if (!(e=xGetElementById(e))) return; - var lim=100, s = "", d = delim || "\n"; - while(e) { - s += xName(e) + ', ofsL:'+e.offsetLeft + ', ofsT:'+e.offsetTop + d; - e = xParent(e,bNode); - if (!lim--) break; - } - return s; -} diff --git a/pandora_console/include/styles/cb/lib/xparentchain.xml b/pandora_console/include/styles/cb/lib/xparentchain.xml deleted file mode 100644 index 6bbb89ce11..0000000000 --- a/pandora_console/include/styles/cb/lib/xparentchain.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Debug - -Function - - - -xParentChain(ele, sDelim, bNode) - - - - ele - - - - sDelim - ']]> - - - bNode - - - - -string - - - xGetElementById - xName - xParent - - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 12Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xpopup.js b/pandora_console/include/styles/cb/lib/xpopup.js deleted file mode 100644 index 069591caca..0000000000 --- a/pandora_console/include/styles/cb/lib/xpopup.js +++ /dev/null @@ -1,62 +0,0 @@ -// xPopup, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xPopup(sTmrType, uTimeout, sPos1, sPos2, sPos3, sStyle, sId, sUrl) -{ - if (document.getElementById && document.createElement && - document.body && document.body.appendChild) - { - // create popup element - //var e = document.createElement('DIV'); - var e = document.createElement('IFRAME'); - this.ele = e; - e.id = sId; - e.style.position = 'absolute'; - e.className = sStyle; - //e.innerHTML = sHtml; - e.src = sUrl; - document.body.appendChild(e); - xShow(e); - this.tmr = xTimer.set(sTmrType, this, sTmrType, uTimeout); - // init - this.open = false; - this.margin = 10; - this.pos1 = sPos1; - this.pos2 = sPos2; - this.pos3 = sPos3; - this.slideTime = 500; // slide time in ms - this.interval(); - } -} // end xPopup -// methods -xPopup.prototype.show = function() -{ - this.interval(); -}; -xPopup.prototype.hide = function() -{ - this.timeout(); -}; -// timer event listeners -xPopup.prototype.timeout = function() // hide popup -{ - if (this.open) { - var e = this.ele; - var pos = xCardinalPosition(e, this.pos3, this.margin, true); - xSlideTo(e, pos.x, pos.y, this.slideTime); - setTimeout("xHide('" + e.id + "')", this.slideTime); - this.open = false; - } -}; -xPopup.prototype.interval = function() // size, position and show popup -{ - if (!this.open) { - var e = this.ele; - var pos = xCardinalPosition(e, this.pos1, this.margin, true); - xMoveTo(e, pos.x, pos.y); - xShow(e); - pos = xCardinalPosition(e, this.pos2, this.margin, false); - xSlideTo(e, pos.x, pos.y, this.slideTime); - this.open = true; - } -}; diff --git a/pandora_console/include/styles/cb/lib/xpopup.xml b/pandora_console/include/styles/cb/lib/xpopup.xml deleted file mode 100644 index e63191ac14..0000000000 --- a/pandora_console/include/styles/cb/lib/xpopup.xml +++ /dev/null @@ -1,86 +0,0 @@ - - - - -Copyright 2002-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Object - -Object - - - -xPopup(sTmrType, uTimeout, sPos1, sPos2, sPos3, sStyle, sId, sUrl) - - - - sTmrType - - - - uTimeout - - - - sPos1 - - - - sPos2 - - - - sPos3 - - - - sStyle - - - - sId - - - - sUrl - - - - - - - slideTime - - - - - - xshow - xtimer - xcardinalposition - xslideto - xmoveto - - - - - http://cross-browser.com/examples/popup.php - - - - - - - - mf - - - - - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xpreventdefault.js b/pandora_console/include/styles/cb/lib/xpreventdefault.js deleted file mode 100644 index bf18e792af..0000000000 --- a/pandora_console/include/styles/cb/lib/xpreventdefault.js +++ /dev/null @@ -1,8 +0,0 @@ -// xPreventDefault, Copyright 2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xPreventDefault(e) -{ - if (e && e.preventDefault) e.preventDefault(); - else if (window.event) window.event.returnValue = false; -} diff --git a/pandora_console/include/styles/cb/lib/xpreventdefault.xml b/pandora_console/include/styles/cb/lib/xpreventdefault.xml deleted file mode 100644 index f6d4cbbaf3..0000000000 --- a/pandora_console/include/styles/cb/lib/xpreventdefault.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - -Copyright 2004-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Event - -Function - - - -xPreventDefault(evt) - - - - evt - - - - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 30Jul04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xprevsib.js b/pandora_console/include/styles/cb/lib/xprevsib.js deleted file mode 100644 index 4ca8112801..0000000000 --- a/pandora_console/include/styles/cb/lib/xprevsib.js +++ /dev/null @@ -1,10 +0,0 @@ -// xPrevSib, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xPrevSib(e,t) -{ - var s = e ? e.previousSibling : null; - if (t) while(s && s.nodeName != t) {s=s.previousSibling;} - else while(s && s.nodeType != 1) {s=s.previousSibling;} - return s; -} diff --git a/pandora_console/include/styles/cb/lib/xprevsib.xml b/pandora_console/include/styles/cb/lib/xprevsib.xml deleted file mode 100644 index ecd38580d7..0000000000 --- a/pandora_console/include/styles/cb/lib/xprevsib.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - -Copyright 2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - DOM - -Function - - - -xPrevSib(ele, tag) - - - - ele - - - - tag - - - - -returns previous sibling with nodeName == tag (if tag is defined), else with nodeType == 1. - - - - http://cross-browser.com/toys/ - - - - - - - 27Jan05 - mf - - - - - - - 2 - 11Mar05 - mf - - - - 1 - 27Jan05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xrad.js b/pandora_console/include/styles/cb/lib/xrad.js deleted file mode 100644 index 1ba0cc6d42..0000000000 --- a/pandora_console/include/styles/cb/lib/xrad.js +++ /dev/null @@ -1,7 +0,0 @@ -// xRad, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xRad(deg) -{ - return deg*(Math.PI/180); -} diff --git a/pandora_console/include/styles/cb/lib/xrad.xml b/pandora_console/include/styles/cb/lib/xrad.xml deleted file mode 100644 index bb93738d20..0000000000 --- a/pandora_console/include/styles/cb/lib/xrad.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Math - -Function - - - -xRad(deg) - - - - deg - - - - -number - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 11Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xremoveeventlistener.js b/pandora_console/include/styles/cb/lib/xremoveeventlistener.js deleted file mode 100644 index 2505d44ffb..0000000000 --- a/pandora_console/include/styles/cb/lib/xremoveeventlistener.js +++ /dev/null @@ -1,16 +0,0 @@ -// xRemoveEventListener, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xRemoveEventListener(e,eT,eL,cap) -{ - if(!(e=xGetElementById(e))) return; - eT=eT.toLowerCase(); - if((!xIE4Up && !xOp7Up) && e==window) { - if(eT=='resize') { window.xREL=null; return; } - if(eT=='scroll') { window.xSEL=null; return; } - } - var eh='e.on'+eT+'=null'; - if(e.removeEventListener) e.removeEventListener(eT,eL,cap); - else if(e.detachEvent) e.detachEvent('on'+eT,eL); - else eval(eh); -} diff --git a/pandora_console/include/styles/cb/lib/xremoveeventlistener.xml b/pandora_console/include/styles/cb/lib/xremoveeventlistener.xml deleted file mode 100644 index 724e3a1f49..0000000000 --- a/pandora_console/include/styles/cb/lib/xremoveeventlistener.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Event - -Function - - - -xRemoveEventListener(ele, sEventType, fnEventListener[, bCapture]) - - - - ele - - - - sEventType - - - - fnEventListener - - - - bCapture - - - - - - xGetElementById - xIE4Up - xOp7Up - - - - - http://cross-browser.com/toys/ - - - - - - - 3 - 25Apr05 - mf - - - - 2 - 14Mar05 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xresizeto.js b/pandora_console/include/styles/cb/lib/xresizeto.js deleted file mode 100644 index a93e6dff95..0000000000 --- a/pandora_console/include/styles/cb/lib/xresizeto.js +++ /dev/null @@ -1,8 +0,0 @@ -// xResizeTo, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xResizeTo(e,w,h) -{ - xWidth(e,w); - xHeight(e,h); -} diff --git a/pandora_console/include/styles/cb/lib/xresizeto.xml b/pandora_console/include/styles/cb/lib/xresizeto.xml deleted file mode 100644 index 7adf494e05..0000000000 --- a/pandora_console/include/styles/cb/lib/xresizeto.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Size - -Function - - - -xResizeTo(e, uW, uH) - - - - e - - - - uW - - - - uH - - - - - - xwidth - xheight - - - - - http://cross-browser.com/toys/ - - - - - - - - mf - - - - - - - 1 - 11Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xscrollleft.js b/pandora_console/include/styles/cb/lib/xscrollleft.js deleted file mode 100644 index 1e264d5796..0000000000 --- a/pandora_console/include/styles/cb/lib/xscrollleft.js +++ /dev/null @@ -1,18 +0,0 @@ -// xScrollLeft, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xScrollLeft(e, bWin) -{ - var offset=0; - if (!xDef(e) || bWin || e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') { - var w = window; - if (bWin && e) w = e; - if(w.document.documentElement && w.document.documentElement.scrollLeft) offset=w.document.documentElement.scrollLeft; - else if(w.document.body && xDef(w.document.body.scrollLeft)) offset=w.document.body.scrollLeft; - } - else { - e = xGetElementById(e); - if (e && xNum(e.scrollLeft)) offset = e.scrollLeft; - } - return offset; -} diff --git a/pandora_console/include/styles/cb/lib/xscrollleft.xml b/pandora_console/include/styles/cb/lib/xscrollleft.xml deleted file mode 100644 index 803c7e8e52..0000000000 --- a/pandora_console/include/styles/cb/lib/xscrollleft.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Position - Window - -Function - - - -xScrollLeft(e, bWin) - - - - ele - - - - bWin - - - - -the number of pixels the element (or window) has scrolled horizontally - - - xGetElementById - xDef - xNum - - - - - http://cross-browser.com/toys/ - - - - - - - 3 - 6Apr04 - mf - - - - 2 - - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xscrolltop.js b/pandora_console/include/styles/cb/lib/xscrolltop.js deleted file mode 100644 index 829c439796..0000000000 --- a/pandora_console/include/styles/cb/lib/xscrolltop.js +++ /dev/null @@ -1,18 +0,0 @@ -// xScrollTop, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xScrollTop(e, bWin) -{ - var offset=0; - if (!xDef(e) || bWin || e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') { - var w = window; - if (bWin && e) w = e; - if(w.document.documentElement && w.document.documentElement.scrollTop) offset=w.document.documentElement.scrollTop; - else if(w.document.body && xDef(w.document.body.scrollTop)) offset=w.document.body.scrollTop; - } - else { - e = xGetElementById(e); - if (e && xNum(e.scrollTop)) offset = e.scrollTop; - } - return offset; -} diff --git a/pandora_console/include/styles/cb/lib/xscrolltop.xml b/pandora_console/include/styles/cb/lib/xscrolltop.xml deleted file mode 100644 index 45e74d0617..0000000000 --- a/pandora_console/include/styles/cb/lib/xscrolltop.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Position - Window - -Function - - - -xScrollTop(e, bWin) - - - - ele - - - - bWin - - - - -the number of pixels the element (or window) has scrolled vertically - - - xGetElementById - xDef - xNum - - - - - http://cross-browser.com/toys/ - - - - - - - 3 - 6Apr04 - mf - - - - 2 - - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xselect.js b/pandora_console/include/styles/cb/lib/xselect.js deleted file mode 100644 index c16584f97d..0000000000 --- a/pandora_console/include/styles/cb/lib/xselect.js +++ /dev/null @@ -1,105 +0,0 @@ -// xSelect, Copyright 2004-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xSelect(sId, fnSubOnChange) -{ - //// Properties - - this.ready = false; - - //// Constructor - - // Check for required browser objects - var s0 = xGetElementById(sId); - if (!s0 || !s0.firstChild || !s0.nodeName || !document.createElement || !s0.form || !s0.form.appendChild) - { - return; - } - - // Create main category SELECT element - var s1 = document.createElement('SELECT'); - s1.id = sId + '_main'; - s1.display = 'block'; // for opera bug? - s1.style.position = 'absolute'; - s1.xSelObj = this; - s1.xSelData = new Array(); - // append s1 to s0's form - s0.form.appendChild(s1); - - // Iterate thru s0 and fill array. - // For each OPTGROUP, a[og][0] == OPTGROUP label, and... - // a[og][n] = innerHTML of OPTION n. - var ig=0, io, op, og, a = s1.xSelData; - og = s0.firstChild; - while (og) { - if (og.nodeName.toLowerCase() == 'optgroup') { - io = 0; - a[ig] = new Array(); - a[ig][io] = og.label; - op = og.firstChild; - while (op) { - if (op.nodeName.toLowerCase() == 'option') { - io++; - a[ig][io] = op.innerHTML; - } - op = op.nextSibling; - } - ig++; - } - og = og.nextSibling; - } - - // in s1 insert a new OPTION for each OPTGROUP in s0 - for (ig=0; ig - - - -Copyright 2004-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Object - -Object - - - -new xSelect(sId, fnSubOnChange) - - - - sId - - - - fnSubOnChange - - - - - - - - - - - - - xGetElementById - xHide - xShow - xMoveTo - xOffsetLeft - xOffsetTop - - - - - http://cross-browser.com/x/examples/xselect.php - - - - - - - - mf - - - - - - - 1 - 9May05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xsetcookie.js b/pandora_console/include/styles/cb/lib/xsetcookie.js deleted file mode 100644 index 17afd642b2..0000000000 --- a/pandora_console/include/styles/cb/lib/xsetcookie.js +++ /dev/null @@ -1,9 +0,0 @@ -// xSetCookie, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xSetCookie(name, value, expire, path) -{ - document.cookie = name + "=" + escape(value) + - ((!expire) ? "" : ("; expires=" + expire.toGMTString())) + - "; path=" + ((!path) ? "/" : path); -} diff --git a/pandora_console/include/styles/cb/lib/xsetcookie.xml b/pandora_console/include/styles/cb/lib/xsetcookie.xml deleted file mode 100644 index 5846ea20fe..0000000000 --- a/pandora_console/include/styles/cb/lib/xsetcookie.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Cookie - -Function - - - -xSetCookie(name, value, expire, path) - - - - name - - - - value - - - - expire - - - - path - - - - - - - http://cross-browser.com/toys/ - - - - - - - 3 - - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xsetietitle.js b/pandora_console/include/styles/cb/lib/xsetietitle.js deleted file mode 100644 index 4a3d548820..0000000000 --- a/pandora_console/include/styles/cb/lib/xsetietitle.js +++ /dev/null @@ -1,11 +0,0 @@ -// xSetIETitle, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xSetIETitle() -{ - if (xIE4Up) { - var i = xUA.indexOf('msie') + 1; - var v = xUA.substr(i + 4, 3); - document.title = 'IE ' + v + ' - ' + document.title; - } -} diff --git a/pandora_console/include/styles/cb/lib/xsetietitle.xml b/pandora_console/include/styles/cb/lib/xsetietitle.xml deleted file mode 100644 index 42b1240357..0000000000 --- a/pandora_console/include/styles/cb/lib/xsetietitle.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - -Copyright 2003-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Debug - -Function - - - -xSetIETitle() - - - xIE4Up - - - - - http://cross-browser.com/toys/ - - - - - - - 3 - 11Mar05 - mf - - - - 2 - 17May04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xshow.js b/pandora_console/include/styles/cb/lib/xshow.js deleted file mode 100644 index d1e5df5dee..0000000000 --- a/pandora_console/include/styles/cb/lib/xshow.js +++ /dev/null @@ -1,4 +0,0 @@ -// xShow, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xShow(e) {return xVisibility(e,1);} diff --git a/pandora_console/include/styles/cb/lib/xshow.xml b/pandora_console/include/styles/cb/lib/xshow.xml deleted file mode 100644 index a687b54bb7..0000000000 --- a/pandora_console/include/styles/cb/lib/xshow.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Presentation - -Function - - - -xShow(ele) - - - - ele - - - - -the return from xVisibility - - - xVisibility - - - - - http://cross-browser.com/toys/ - - - - - - - - mf - - - - - - - 3 - 27Jan05 - mf - - - - 2 - - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xslidecornerto.js b/pandora_console/include/styles/cb/lib/xslidecornerto.js deleted file mode 100644 index d99d505439..0000000000 --- a/pandora_console/include/styles/cb/lib/xslidecornerto.js +++ /dev/null @@ -1,55 +0,0 @@ -// xSlideCornerTo, Copyright 2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xSlideCornerTo(e, corner, targetX, targetY, totalTime) -{ - if (!(e=xGetElementById(e))) return; - if (!e.timeout) e.timeout = 25; - e.xT = targetX; - e.yT = targetY; - e.slideTime = totalTime; - e.corner = corner.toLowerCase(); - e.stop = false; - switch(e.corner) { - case 'nw': e.xA = e.xT - xLeft(e); e.yA = e.yT - xTop(e); e.xD = xLeft(e); e.yD = xTop(e); break; - case 'sw': e.xA = e.xT - xLeft(e); e.yA = e.yT - (xTop(e) + xHeight(e)); e.xD = xLeft(e); e.yD = xTop(e) + xHeight(e); break; - case 'ne': e.xA = e.xT - (xLeft(e) + xWidth(e)); e.yA = e.yT - xTop(e); e.xD = xLeft(e) + xWidth(e); e.yD = xTop(e); break; - case 'se': e.xA = e.xT - (xLeft(e) + xWidth(e)); e.yA = e.yT - (xTop(e) + xHeight(e)); e.xD = xLeft(e) + xWidth(e); e.yD = xTop(e) + xHeight(e); break; - default: alert("xSlideCornerTo: Invalid corner"); return; - } - e.B = Math.PI / ( 2 * e.slideTime ); - var d = new Date(); - e.C = d.getTime(); - if (!e.moving) _xSlideCornerTo(e); -} - -function _xSlideCornerTo(e) -{ - if (!(e=xGetElementById(e))) return; - var now, seX, seY; - now = new Date(); - t = now.getTime() - e.C; - if (e.stop) { e.moving = false; e.stop = false; return; } - else if (t < e.slideTime) { - setTimeout("_xSlideCornerTo('"+e.id+"')", e.timeout); - s = Math.sin( e.B * t ); - newX = Math.round(e.xA * s + e.xD); - newY = Math.round(e.yA * s + e.yD); - } - else { newX = e.xT; newY = e.yT; } - seX = xLeft(e) + xWidth(e); - seY = xTop(e) + xHeight(e); - switch(e.corner) { - case 'nw': xMoveTo(e, newX, newY); xResizeTo(e, seX - xLeft(e), seY - xTop(e)); break; - case 'sw': if (e.xT != xLeft(e)) { xLeft(e, newX); xWidth(e, seX - xLeft(e)); } xHeight(e, newY - xTop(e)); break; - case 'ne': xWidth(e, newX - xLeft(e)); if (e.yT != xTop(e)) { xTop(e, newY); xHeight(e, seY - xTop(e)); } break; - case 'se': xWidth(e, newX - xLeft(e)); xHeight(e, newY - xTop(e)); break; - default: e.stop = true; - } - //window.status = ('Target: ' + e.xT + ', ' + e.yT);//////debug/////// -// xClip(e, 'auto'); // ?????is this needed? it was used in the original CBE method????? - e.moving = true; - if (t >= e.slideTime) { - e.moving = false; - } -} diff --git a/pandora_console/include/styles/cb/lib/xslidecornerto.xml b/pandora_console/include/styles/cb/lib/xslidecornerto.xml deleted file mode 100644 index d9fc4dd081..0000000000 --- a/pandora_console/include/styles/cb/lib/xslidecornerto.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - -Copyright 2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Animation - Size - -Function - - - -xSlideCornerTo(ele, corner, targetX, targetY, totalTime) - - - - ele - - - - corner - - - - targetX - - - - targetY - - - - totalTime - - - - - - xGetElementById - xLeft - xTop - xHeight - xWidth - xMoveTo - xResizeTo - - - - - http://cross-browser.com/x/examples/xslidecornerto.php - - - - - - - 17May2005 - mf - - - - - - - 2 - 17May2005 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xslideto.js b/pandora_console/include/styles/cb/lib/xslideto.js deleted file mode 100644 index 274fc871ea..0000000000 --- a/pandora_console/include/styles/cb/lib/xslideto.js +++ /dev/null @@ -1,37 +0,0 @@ -// xSlideTo, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xSlideTo(e, x, y, uTime) -{ - if (!(e=xGetElementById(e))) return; - if (!e.timeout) e.timeout = 25; - e.xTarget = x; e.yTarget = y; e.slideTime = uTime; e.stop = false; - e.yA = e.yTarget - xTop(e); e.xA = e.xTarget - xLeft(e); // A = distance - if (e.slideLinear) e.B = 1/e.slideTime; - else e.B = Math.PI / (2 * e.slideTime); // B = period - e.yD = xTop(e); e.xD = xLeft(e); // D = initial position - var d = new Date(); e.C = d.getTime(); - if (!e.moving) _xSlideTo(e); -} -function _xSlideTo(e) -{ - if (!(e=xGetElementById(e))) return; - var now, s, t, newY, newX; - now = new Date(); - t = now.getTime() - e.C; - if (e.stop) { e.moving = false; } - else if (t < e.slideTime) { - setTimeout("_xSlideTo('"+e.id+"')", e.timeout); - if (e.slideLinear) s = e.B * t; - else s = Math.sin(e.B * t); - newX = Math.round(e.xA * s + e.xD); - newY = Math.round(e.yA * s + e.yD); - xMoveTo(e, newX, newY); - e.moving = true; - } - else { - xMoveTo(e, e.xTarget, e.yTarget); - e.moving = false; - } -} - diff --git a/pandora_console/include/styles/cb/lib/xslideto.xml b/pandora_console/include/styles/cb/lib/xslideto.xml deleted file mode 100644 index 844b0d03ff..0000000000 --- a/pandora_console/include/styles/cb/lib/xslideto.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Animation - Position - -Function - - - -xSlideTo(ele, iX, iY, iTime) - - - - ele - - - - iX - - - - iY - - - - iTime - - - - - - - stop - - - - moving - - - - timeout - - - - slideLinear - - - - - - xgetelementbyid - xtop - xleft - xmoveto - - - - - http://cross-browser.com/toys/ - - - - - - - 2 - 6Jun04 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xstoppropagation.js b/pandora_console/include/styles/cb/lib/xstoppropagation.js deleted file mode 100644 index 1cee11aee7..0000000000 --- a/pandora_console/include/styles/cb/lib/xstoppropagation.js +++ /dev/null @@ -1,8 +0,0 @@ -// xStopPropagation, Copyright 2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xStopPropagation(evt) -{ - if (evt && evt.stopPropagation) evt.stopPropagation(); - else if (window.event) window.event.cancelBubble = true; -} diff --git a/pandora_console/include/styles/cb/lib/xstoppropagation.xml b/pandora_console/include/styles/cb/lib/xstoppropagation.xml deleted file mode 100644 index 6860153809..0000000000 --- a/pandora_console/include/styles/cb/lib/xstoppropagation.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - -Copyright 2004-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Event - -Function - - - -xStopPropagation(evt) - - - - evt - - - - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 30Jul04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xstr.js b/pandora_console/include/styles/cb/lib/xstr.js deleted file mode 100644 index 1feef7f5db..0000000000 --- a/pandora_console/include/styles/cb/lib/xstr.js +++ /dev/null @@ -1,8 +0,0 @@ -// xStr, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xStr(s) -{ - for(var i=0; i - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Type - -Function - - - -xStr(ref[, etc]) - - - - ref - - - - -true if all its arguments are 'string' type - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xtablecellvisibility.js b/pandora_console/include/styles/cb/lib/xtablecellvisibility.js deleted file mode 100644 index 1fdb607c54..0000000000 --- a/pandora_console/include/styles/cb/lib/xtablecellvisibility.js +++ /dev/null @@ -1,10 +0,0 @@ -// xTableCellVisibility, Copyright 2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xTableCellVisibility(bShow, sec, nRow, nCol) -{ - sec = xGetElementById(sec); - if (sec && nRow < sec.rows.length && nCol < sec.rows[nRow].cells.length) { - sec.rows[nRow].cells[nCol].style.visibility = bShow ? 'visible' : 'hidden'; - } -} diff --git a/pandora_console/include/styles/cb/lib/xtablecellvisibility.xml b/pandora_console/include/styles/cb/lib/xtablecellvisibility.xml deleted file mode 100644 index 423d607bcc..0000000000 --- a/pandora_console/include/styles/cb/lib/xtablecellvisibility.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - -Copyright 2004-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Presentation - Table - -Function - - - -xTableCellVisibility(bShow, sec, nRow, nCol) - - - - bShow - - - - sec - - - - nRow - - - - nCol - - - - - - xgetelementbyid - - - - - http://cross-browser.com/x/examples/table_toys.php - - - - - - - - mf - - - - - - - 1 - 30Jul04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xtablecoldisplay.js b/pandora_console/include/styles/cb/lib/xtablecoldisplay.js deleted file mode 100644 index 141a6ea4c8..0000000000 --- a/pandora_console/include/styles/cb/lib/xtablecoldisplay.js +++ /dev/null @@ -1,13 +0,0 @@ -// xTableColDisplay, Copyright 2004-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xTableColDisplay(bShow, sec, nCol) -{ - var r; - sec = xGetElementById(sec); - if (sec && nCol < sec.rows[0].cells.length) { - for (r = 0; r < sec.rows.length; ++r) { - sec.rows[r].cells[nCol].style.display = bShow ? '' : 'none'; - } - } -} diff --git a/pandora_console/include/styles/cb/lib/xtablecoldisplay.xml b/pandora_console/include/styles/cb/lib/xtablecoldisplay.xml deleted file mode 100644 index e74dbabf7e..0000000000 --- a/pandora_console/include/styles/cb/lib/xtablecoldisplay.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - -Copyright 2004-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Presentation - Table - -Function - - - -xTableColDisplay(bShow, sec, nCol) - - - - bShow - - - - sec - - - - nCol - - - - - - xgetelementbyid - - - - - http://cross-browser.com/x/examples/table_toys.php - - - - - - - - mf - - - - - - - 3 - 30Jul04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xtablecursor.js b/pandora_console/include/styles/cb/lib/xtablecursor.js deleted file mode 100644 index 91eb152aaf..0000000000 --- a/pandora_console/include/styles/cb/lib/xtablecursor.js +++ /dev/null @@ -1,29 +0,0 @@ -// xTableCursor, Copyright 2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xTableCursor(id, inh, def, hov, sel) // object prototype -{ - var tbl = xGetElementById(id); - if (tbl) { - xTableIterate(tbl, init); - } - function init(obj, isRow) - { - if (isRow) { - obj.className = def; - obj.onmouseover = trOver; - obj.onmouseout = trOut; - } - else { - obj.className = inh; - obj.onmouseover = tdOver; - obj.onmouseout = tdOut; - } - } - this.unload = function() { xTableIterate(tbl, done); }; - function done(o) { o.onmouseover = o.onmouseout = null; } - function trOver() { this.className = hov; } - function trOut() { this.className = def; } - function tdOver() { this.className = sel; } - function tdOut() { this.className = inh; } -} diff --git a/pandora_console/include/styles/cb/lib/xtablecursor.xml b/pandora_console/include/styles/cb/lib/xtablecursor.xml deleted file mode 100644 index b9211a7d4f..0000000000 --- a/pandora_console/include/styles/cb/lib/xtablecursor.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - -Copyright 2004-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Presentation - Table - -Object - - - -xTableCursor(id, inh, def, hov, sel) - - - - id - - - - inh - - - - def - - - - hov - - - - sel - - - - - - - - - - - - - xGetElementById - xTableIterate - - - - - http://cross-browser.com/x/examples/table_toys.php - - - - - - - 2 - 6Apr05 - mf - - - - 1 - 30Jul04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xtableiterate.js b/pandora_console/include/styles/cb/lib/xtableiterate.js deleted file mode 100644 index 9d4ce06428..0000000000 --- a/pandora_console/include/styles/cb/lib/xtableiterate.js +++ /dev/null @@ -1,16 +0,0 @@ -// xTableIterate, Copyright 2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xTableIterate(sec, fnCallback, data) -{ - var r, c; - sec = xGetElementById(sec); - if (!sec || !fnCallback) { return; } - for (r = 0; r < sec.rows.length; ++r) { - if (false == fnCallback(sec.rows[r], true, r, c, data)) { return; } - for (c = 0; c < sec.rows[r].cells.length; ++c) { - if (false == fnCallback(sec.rows[r].cells[c], false, r, c, data)) { return; } - } - } -} - diff --git a/pandora_console/include/styles/cb/lib/xtableiterate.xml b/pandora_console/include/styles/cb/lib/xtableiterate.xml deleted file mode 100644 index 40c292b9ac..0000000000 --- a/pandora_console/include/styles/cb/lib/xtableiterate.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - -Copyright 2004-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Table - -Function - - - -xTableIterate(sec, fnCallback, data) - - - - sec - - - - fnCallback - - - - data - - - - - - xGetElementById - - - - - http://cross-browser.com/x/examples/table_toys.php - - - - - - - - mf - - - - - - - 1 - 30Jul04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xtablerowdisplay.js b/pandora_console/include/styles/cb/lib/xtablerowdisplay.js deleted file mode 100644 index 29ddf6f20f..0000000000 --- a/pandora_console/include/styles/cb/lib/xtablerowdisplay.js +++ /dev/null @@ -1,10 +0,0 @@ -// xTableRowDisplay, Copyright 2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xTableRowDisplay(bShow, sec, nRow) -{ - sec = xGetElementById(sec); - if (sec && nRow < sec.rows.length) { - sec.rows[nRow].style.display = bShow ? '' : 'none'; - } -} diff --git a/pandora_console/include/styles/cb/lib/xtablerowdisplay.xml b/pandora_console/include/styles/cb/lib/xtablerowdisplay.xml deleted file mode 100644 index 810ec18346..0000000000 --- a/pandora_console/include/styles/cb/lib/xtablerowdisplay.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Presentation - Table - -Function - - - -xTableRowDisplay(bShow, sec, nRow) - - - - bShow - - - - sec - - - - nRow - - - - - - xgetelementbyid - - - - - http://cross-browser.com/x/examples/table_toys.php - - - - - - - - mf - - - - - - - 1 - 30Jul04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xtabpanelgroup.xml b/pandora_console/include/styles/cb/lib/xtabpanelgroup.xml deleted file mode 100644 index ad5e885b2e..0000000000 --- a/pandora_console/include/styles/cb/lib/xtabpanelgroup.xml +++ /dev/null @@ -1,110 +0,0 @@ - - - - -Copyright 2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Object - -Object - - - -xTabPanelGroup(id, w, h, th, clsTP, clsTG, clsTD, clsTS) - - - - id - - - - w - - - - h - - - - th - - - - clsTP - - - - clsTG - - - - clsTD - - - - clsTS - - - - - - - - - - - - - - select - - - - - - xgetelementbyid - xgetelementsbyclassname - xresizeto - xmoveto - xzindex - - - - - http://cross-browser.com/x/examples/tabpanelgroup.php - - - - - - - - mf - - - - - - - 7 - 10May05 - mf - - - - 6 - 3May05 - mf - - - - 1 - 3Jan05 - mf - - - - - - \ No newline at end of file diff --git a/pandora_console/include/styles/cb/lib/xtimer.js b/pandora_console/include/styles/cb/lib/xtimer.js deleted file mode 100644 index ed2ce3fbcd..0000000000 --- a/pandora_console/include/styles/cb/lib/xtimer.js +++ /dev/null @@ -1,54 +0,0 @@ -// xTimer, Copyright 2003-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xTimerMgr() -{ - this.timers = new Array(); -} - -// xTimerMgr Methods -xTimerMgr.prototype.set = function(type, obj, sMethod, uTime, data) // type: 'interval' or 'timeout' -{ - return (this.timers[this.timers.length] = new xTimerObj(type, obj, sMethod, uTime, data)); -}; -xTimerMgr.prototype.run = function() -{ - var i, t, d = new Date(), now = d.getTime(); - for (i = 0; i < this.timers.length; ++i) { - t = this.timers[i]; - if (t && t.running) { - t.elapsed = now - t.time0; - if (t.elapsed >= t.preset) { // timer event on t - t.obj[t.mthd](t); // pass listener this xTimerObj - if (t.type.charAt(0) == 'i') { t.time0 = now; } - else { t.stop(); } - } - } - } -}; - -// Object Prototype used only by xTimerMgr -function xTimerObj(type, obj, mthd, preset, data) -{ - // Public Properties - this.data = data; - // Read-only Properties - this.type = type; // 'interval' or 'timeout' - this.obj = obj; - this.mthd = mthd; // string - this.preset = preset; - this.reset(); -} // end xTimerObj constructor -// xTimerObj Methods -xTimerObj.prototype.stop = function() { this.running = false; }; -xTimerObj.prototype.start = function() { this.running = true; }; // continue after a stop -xTimerObj.prototype.reset = function() -{ - var d = new Date(); - this.time0 = d.getTime(); - this.elapsed = 0; - this.running = true; -}; - -var xTimer = new xTimerMgr(); // applications assume global name is 'xTimer' -setInterval('xTimer.run()', 250); diff --git a/pandora_console/include/styles/cb/lib/xtimer.xml b/pandora_console/include/styles/cb/lib/xtimer.xml deleted file mode 100644 index 679044a9f5..0000000000 --- a/pandora_console/include/styles/cb/lib/xtimer.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - -Copyright 2003-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Object - -Object - - - -xTimer.set(sTmrType, obj, sMethod, uTime, data) - - - - sTmrType - - - - obj - - - - sMethod - - - - uTime - - - - data - - - - - - - - - - - - - - http://cross-browser.com/x/examples/popup.php - - - - - - - 2 - 17May04 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xtooltipgroup.js b/pandora_console/include/styles/cb/lib/xtooltipgroup.js deleted file mode 100644 index 586afaaa15..0000000000 --- a/pandora_console/include/styles/cb/lib/xtooltipgroup.js +++ /dev/null @@ -1,92 +0,0 @@ -// xTooltipGroup, Copyright 2002,2003,2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -document.write(""); -document.write("
xTooltipElement
"); - -var xttTrigger = null; // current trigger element - -function xTooltipGroup(grpClassOrIdList, tipClass, origin, xOffset, yOffset, textList) -{ - - //// Properties - - this.c = tipClass; - this.o = origin; - this.x = xOffset; - this.y = yOffset; - this.t = null; // tooltip element - all groups use the same element - - //// Constructor Code - - var i, tips; - if (xStr(grpClassOrIdList)) { - tips = xGetElementsByClassName(grpClassOrIdList); - for (i = 0; i < tips.length; ++i) { - tips[i].xTooltip = this; - } - } - else { - tips = new Array(); - for (i = 0; i < grpClassOrIdList.length; ++i) { - tips[i] = xGetElementById(grpClassOrIdList[i]); - if (!tips[i]) { - alert('Element not found for id = ' + grpClassOrIdList[i]); - } - else { - tips[i].xTooltip = this; - tips[i].xTooltipText = textList[i]; - } - } - } - if (!this.t) { // only execute once - this.t = xGetElementById('xTooltipElement'); - xAddEventListener(document, 'mousemove', this.docOnMousemove, false); - } -} // end xTooltipGroup ctor - -//// xTooltipGroup Methods - -xTooltipGroup.prototype.show = function(trigEle, mx, my) -{ - if (xttTrigger != trigEle) { // if not active or moved to an adjacent trigger - this.t.className = trigEle.xTooltip.c; - this.t.innerHTML = trigEle.xTooltipText ? trigEle.xTooltipText : trigEle.title; - xttTrigger = trigEle; - } - var x, y; - switch(this.o) { - case 'right': - x = xPageX(trigEle) + xWidth(trigEle); - y = xPageY(trigEle); - break; - case 'top': - x = xPageX(trigEle); - y = xPageY(trigEle) - xHeight(trigEle); - break; - case 'mouse': - x = mx; - y = my; - break; - } - xMoveTo(this.t, x + this.x, y + this.y); - xShow(this.t); -}; - -xTooltipGroup.prototype.hide = function() -{ - xMoveTo(this.t, -1000, -1000); - xttTrigger = null; -}; - -xTooltipGroup.prototype.docOnMousemove = function(oEvent) -{ - // this == document at runtime - var o, e = new xEvent(oEvent); - if (e.target && (o = e.target.xTooltip)) { - o.show(e.target, e.pageX, e.pageY); - } - else if (xttTrigger) { - xttTrigger.xTooltip.hide(); - } -}; diff --git a/pandora_console/include/styles/cb/lib/xtooltipgroup.xml b/pandora_console/include/styles/cb/lib/xtooltipgroup.xml deleted file mode 100644 index 844e12074d..0000000000 --- a/pandora_console/include/styles/cb/lib/xtooltipgroup.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - -Copyright 2002-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Object - -Object - - - -xTooltipGroup(grpClassOrIdList, tipClass, origin, xOffset, yOffset, textList) - - - - grpClassOrIdList - - - - tipClass - - - - origin - - - - xOffset/yOffset - - - - textList - - - - - - - - - - - - - xstr - xgetelementsbyclassname - xgetelementbyid - xaddeventlistener - xpagex - xwidth - xpagey - xheight - xmoveto - xshow - xevent - - - - - http://cross-browser.com/x/examples/tooltips3.html - - - - - - - 2 - 17May04 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xtop.js b/pandora_console/include/styles/cb/lib/xtop.js deleted file mode 100644 index 729c158734..0000000000 --- a/pandora_console/include/styles/cb/lib/xtop.js +++ /dev/null @@ -1,20 +0,0 @@ -// xTop, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xTop(e, iY) -{ - if(!(e=xGetElementById(e))) return 0; - var css=xDef(e.style); - if(css && xStr(e.style.top)) { - if(xNum(iY)) e.style.top=iY+'px'; - else { - iY=parseInt(e.style.top); - if(isNaN(iY)) iY=0; - } - } - else if(css && xDef(e.style.pixelTop)) { - if(xNum(iY)) e.style.pixelTop=iY; - else iY=e.style.pixelTop; - } - return iY; -} diff --git a/pandora_console/include/styles/cb/lib/xtop.xml b/pandora_console/include/styles/cb/lib/xtop.xml deleted file mode 100644 index e95f518648..0000000000 --- a/pandora_console/include/styles/cb/lib/xtop.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Position - Style - -Function - - - -xTop(ele[, iY]) - - - - ele - - - - iY - - - - -integer - - - xGetElementById - xDef - xStr - xNum - - - - - http://cross-browser.com/toys/ - - - - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xtristateimage.js b/pandora_console/include/styles/cb/lib/xtristateimage.js deleted file mode 100644 index 676e37f121..0000000000 --- a/pandora_console/include/styles/cb/lib/xtristateimage.js +++ /dev/null @@ -1,47 +0,0 @@ -// xTriStateImage, Copyright 2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xTriStateImage(idOut, urlOver, urlDown, fnUp) // Object Prototype -{ - var img; - // Downgrade Detection - if (typeof Image != 'undefined' && document.getElementById) { - img = document.getElementById(idOut); - if (img) { - // Constructor Code - var urlOut = img.src; - var i = new Image(); - i.src = urlOver; - i = new Image(); - i.src = urlDown; - // Event Listeners (closure) - img.onmouseover = function() - { - this.src = urlOver; - }; - img.onmouseout = function() - { - this.src = urlOut; - }; - img.onmousedown = function() - { - this.src = urlDown; - }; - img.onmouseup = function() - { - this.src = urlOver; - if (fnUp) { - fnUp(); - } - }; - } - } - // Destructor Method - this.onunload = function() - { - if (xIE4Up && img) { // Remove any circular references for IE - img.onmouseover = img.onmouseout = img.onmousedown = null; - img = null; - } - }; -} diff --git a/pandora_console/include/styles/cb/lib/xtristateimage.xml b/pandora_console/include/styles/cb/lib/xtristateimage.xml deleted file mode 100644 index b719833906..0000000000 --- a/pandora_console/include/styles/cb/lib/xtristateimage.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - -Copyright 2004-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Presentation - Image - Object - -Object - - - -new xTriStateImage(idOut, urlOver, urlDown, fnUp) - - - - idOut - - - - urlOver - - - - urlDown - - - - fnUp - - - - - - - - - - - - - xIE4Up - - - - - http://cross-browser.com/x/examples/xtristateimage.php - - - - - - - 3 - 11May05 - mf - - - - 2 - 6Apr05 - mf - - - - 1 - 11Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xversion.js b/pandora_console/include/styles/cb/lib/xversion.js deleted file mode 100644 index 6770364618..0000000000 --- a/pandora_console/include/styles/cb/lib/xversion.js +++ /dev/null @@ -1 +0,0 @@ -var xVersion = "4.0"; \ No newline at end of file diff --git a/pandora_console/include/styles/cb/lib/xversion.xml b/pandora_console/include/styles/cb/lib/xversion.xml deleted file mode 100644 index 0fee35bfe1..0000000000 --- a/pandora_console/include/styles/cb/lib/xversion.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) - -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - - Var - - -Var - - - -xVersion - - - 26May05mf - - - - 4.026May05mf - - - diff --git a/pandora_console/include/styles/cb/lib/xvisibility.js b/pandora_console/include/styles/cb/lib/xvisibility.js deleted file mode 100644 index e8fe29bc69..0000000000 --- a/pandora_console/include/styles/cb/lib/xvisibility.js +++ /dev/null @@ -1,38 +0,0 @@ -// xVisibility, Copyright 2003-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xVisibility(e, bShow) -{ - if(!(e=xGetElementById(e))) return null; - if(e.style && xDef(e.style.visibility)) { - if (xDef(bShow)) e.style.visibility = bShow ? 'visible' : 'hidden'; - return e.style.visibility; - } - return null; -} - -//function xVisibility(e,s) -//{ -// if(!(e=xGetElementById(e))) return null; -// var v = 'visible', h = 'hidden'; -// if(e.style && xDef(e.style.visibility)) { -// if (xDef(s)) { -// // try to maintain backwards compatibility (???) -// if (xStr(s)) e.style.visibility = s; -// else e.style.visibility = s ? v : h; -// } -// return e.style.visibility; -// // or... -// // if (e.style.visibility.length) return e.style.visibility; -// // else return xGetComputedStyle(e, 'visibility'); -// } -// else if (xDef(e.visibility)) { // NN4 -// if (xDef(s)) { -// // try to maintain backwards compatibility -// if (xStr(s)) e.visibility = (s == v) ? 'show' : 'hide'; -// else e.visibility = s ? v : h; -// } -// return (e.visibility == 'show') ? v : h; -// } -// return null; -//} diff --git a/pandora_console/include/styles/cb/lib/xvisibility.xml b/pandora_console/include/styles/cb/lib/xvisibility.xml deleted file mode 100644 index 4778b30e3e..0000000000 --- a/pandora_console/include/styles/cb/lib/xvisibility.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - -Copyright 2003-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Presentation - Style - -Function - - - -xVisibility(ele[, bShow]) - - - - ele - - - - bShow - - - - -string - - - xGetElementById - xDef - - - - - http://cross-browser.com/toys/ - - - - - - - - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xwalkeletree.js b/pandora_console/include/styles/cb/lib/xwalkeletree.js deleted file mode 100644 index 8f9276e192..0000000000 --- a/pandora_console/include/styles/cb/lib/xwalkeletree.js +++ /dev/null @@ -1,19 +0,0 @@ -// xWalkEleTree, Copyright 2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xWalkEleTree(n,f,d,l,b) -{ - if (typeof l == 'undefined') l = 0; - if (typeof b == 'undefined') b = 0; - var v = f(n,l,b,d); - if (!v) return 0; - if (v == 1) { - for (var c = n.firstChild; c; c = c.nextSibling) { - if (c.nodeType == 1) { - if (!l) ++b; - if (!xWalkEleTree(c,f,d,l+1,b)) return 0; - } - } - } - return 1; -} diff --git a/pandora_console/include/styles/cb/lib/xwalkeletree.xml b/pandora_console/include/styles/cb/lib/xwalkeletree.xml deleted file mode 100644 index 542b82954a..0000000000 --- a/pandora_console/include/styles/cb/lib/xwalkeletree.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - -Copyright 2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - DOM - -Function - - - -xWalkEleTree(oNode, fnVisit, oData[, iLevel[, iBranch]]) - - - - oNode - - - - fnVisit - - - - oData - - - - iLevel - - - - iBranch - - - - - - - http://cross-browser.com/toys/ - - - - - - - - mf - - - - - - - 3 - 15Mar05 - mf - - - - 2 - 11Mar05 - mf - - - - 1 - 10Jan05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xwalktree.js b/pandora_console/include/styles/cb/lib/xwalktree.js deleted file mode 100644 index 5e5f0865b3..0000000000 --- a/pandora_console/include/styles/cb/lib/xwalktree.js +++ /dev/null @@ -1,21 +0,0 @@ -// xWalkTree, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xWalkTree(n, f) -{ - f(n); - for (var c = n.firstChild; c; c = c.nextSibling) { - if (c.nodeType == 1) xWalkTree(c, f); - } -} - -// original implementation: -// function xWalkTree(oNode, fnVisit) -// { -// if (oNode) { -// if (oNode.nodeType == 1) {fnVisit(oNode);} -// for (var c = oNode.firstChild; c; c = c.nextSibling) { -// xWalkTree(c, fnVisit); -// } -// } -// } diff --git a/pandora_console/include/styles/cb/lib/xwalktree.xml b/pandora_console/include/styles/cb/lib/xwalktree.xml deleted file mode 100644 index 0c3403cbc2..0000000000 --- a/pandora_console/include/styles/cb/lib/xwalktree.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - DOM - -Function - - - -xWalkTree(oNode, fnVisit) - - - - oNode - - - - fnVisit - - - - - - - http://cross-browser.com/x/examples/walktree.html - - - - - - - 2 - 10Jan05 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xwidth.js b/pandora_console/include/styles/cb/lib/xwidth.js deleted file mode 100644 index 27a38d141b..0000000000 --- a/pandora_console/include/styles/cb/lib/xwidth.js +++ /dev/null @@ -1,45 +0,0 @@ -// xWidth, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xWidth(e,w) -{ - if(!(e=xGetElementById(e))) return 0; - if (xNum(w)) { - if (w<0) w = 0; - else w=Math.round(w); - } - else w=-1; - var css=xDef(e.style); - if (e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') { - w = xClientWidth(); - } - else if(css && xDef(e.offsetWidth) && xStr(e.style.width)) { - if(w>=0) { - var pl=0,pr=0,bl=0,br=0; - if (document.compatMode=='CSS1Compat') { - var gcs = xGetComputedStyle; - pl=gcs(e,'padding-left',1); - if (pl !== null) { - pr=gcs(e,'padding-right',1); - bl=gcs(e,'border-left-width',1); - br=gcs(e,'border-right-width',1); - } - // Should we try this as a last resort? - // At this point getComputedStyle and currentStyle do not exist. - else if(xDef(e.offsetWidth,e.style.width)){ - e.style.width=w+'px'; - pl=e.offsetWidth-w; - } - } - w-=(pl+pr+bl+br); - if(isNaN(w)||w<0) return; - else e.style.width=w+'px'; - } - w=e.offsetWidth; - } - else if(css && xDef(e.style.pixelWidth)) { - if(w>=0) e.style.pixelWidth=w; - w=e.style.pixelWidth; - } - return w; -} diff --git a/pandora_console/include/styles/cb/lib/xwidth.xml b/pandora_console/include/styles/cb/lib/xwidth.xml deleted file mode 100644 index 23fb438f6b..0000000000 --- a/pandora_console/include/styles/cb/lib/xwidth.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Size - -Function - - - -xWidth(ele[, uW]) - - - - ele - - - - uW - - - - -integer - - - xgetelementbyid - xnum - xdef - xstr - xgetcomputedstyle - - - - - http://cross-browser.com/toys/ - - - - - - - 4 - 7Apr05 - mf - - - - 3 - 12Mar05 - mf - - - - 2 - 14May04 - mf - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xwinclass.js b/pandora_console/include/styles/cb/lib/xwinclass.js deleted file mode 100644 index 74db399b7e..0000000000 --- a/pandora_console/include/styles/cb/lib/xwinclass.js +++ /dev/null @@ -1,29 +0,0 @@ -// xWinClass, Copyright 2003-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -// xWinClass Object Prototype - -function xWinClass(clsName, winName, w, h, x, y, loc, men, res, scr, sta, too) -{ - var thisObj = this; - var e='',c=',',xf='left=',yf='top='; this.n = name; - if (document.layers) {xf='screenX='; yf='screenY=';} - this.f = (w?'width='+w+c:e)+(h?'height='+h+c:e)+(x>=0?xf+x+c:e)+ - (y>=0?yf+y+c:e)+'location='+loc+',menubar='+men+',resizable='+res+ - ',scrollbars='+scr+',status='+sta+',toolbar='+too; - this.opened = function() {return this.w && !this.w.closed;}; - this.close = function() {if(this.opened()) this.w.close();}; - this.focus = function() {if(this.opened()) this.w.focus();}; - this.load = function(sUrl) { - if (this.opened()) this.w.location.href = sUrl; - else this.w = window.open(sUrl,this.n,this.f); - this.focus(); - return false; - }; - // Closures - // this == element reference, thisObj == xWinClass object reference - function onClick() {return thisObj.load(this.href);} - // '*' works with any element, not just A - xGetElementsByClassName(clsName, document, '*', bindOnClick); - function bindOnClick(e) {e.onclick = onClick;} -} diff --git a/pandora_console/include/styles/cb/lib/xwinclass.xml b/pandora_console/include/styles/cb/lib/xwinclass.xml deleted file mode 100644 index 3ebcab3937..0000000000 --- a/pandora_console/include/styles/cb/lib/xwinclass.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - - -Copyright 2003-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Window - Object - -Object - - - -new xWinClass(clsName, winName, w, h, x, y, loc, men, res, scr, sta, too) - - - - clsName - - - - winName - - - - w, h, x, y - - - - loc, men, res, scr, sta, too - - - - - - - - - - - - - - - - - - - - xgetelementsbyclassname - - - - - http://cross-browser.com/x/examples/xwindow.php - - - - - - - 11Mar05 - mf - - - - - - - 1 - 11Mar05 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xwindow.js b/pandora_console/include/styles/cb/lib/xwindow.js deleted file mode 100644 index 33751d941a..0000000000 --- a/pandora_console/include/styles/cb/lib/xwindow.js +++ /dev/null @@ -1,41 +0,0 @@ -// xWindow, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xWindow(name, w, h, x, y, loc, men, res, scr, sta, too) -{ - var e='',c=',',xf='left=',yf='top='; this.n = name; - if (document.layers) {xf='screenX='; yf='screenY=';} - this.f = (w?'width='+w+c:e)+(h?'height='+h+c:e)+(x>=0?xf+x+c:e)+ - (y>=0?yf+y+c:e)+'location='+loc+',menubar='+men+',resizable='+res+ - ',scrollbars='+scr+',status='+sta+',toolbar='+too; - this.opened = function() {return this.w && !this.w.closed;}; - this.close = function() {if(this.opened()) this.w.close();}; - this.focus = function() {if(this.opened()) this.w.focus();}; - this.load = function(sUrl) { - if (this.opened()) this.w.location.href = sUrl; - else this.w = window.open(sUrl,this.n,this.f); - this.focus(); - return false; - }; -} - -// Previous implementation: -// function xWindow(name, w, h, x, y, loc, men, res, scr, sta, too) -// { -// var f = ''; -// if (w && h) { -// if (document.layers) f = 'screenX=' + x + ',screenY=' + y; -// else f = 'left=' + x + ',top=' + y; -// f += ',width=' + w + ',height=' + h + ','; -// } -// f += ('location='+loc+',menubar='+men+',resizable='+res -// +',scrollbars='+scr+',status='+sta+',toolbar='+too); -// this.features = f; -// this.name = name; -// this.load = function(sUrl) { -// if (this.wnd && !this.wnd.closed) this.wnd.location.href = sUrl; -// else this.wnd = window.open(sUrl, this.name, this.features); -// this.wnd.focus(); -// return false; -// } -// } diff --git a/pandora_console/include/styles/cb/lib/xwindow.xml b/pandora_console/include/styles/cb/lib/xwindow.xml deleted file mode 100644 index 632a2bd96e..0000000000 --- a/pandora_console/include/styles/cb/lib/xwindow.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Window - Object - -Object - - - -new xWindow(name, w, h, x, y, loc, men, res, scr, sta, too) - - - - name - - - - w, h, x, y - - - - loc, men, res, scr, sta, too - - - - - - - - - - - - - - - - - - - - - http://cross-browser.com/x/examples/xwindow.php - - - - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xwinopen.js b/pandora_console/include/styles/cb/lib/xwinopen.js deleted file mode 100644 index ceee5d3481..0000000000 --- a/pandora_console/include/styles/cb/lib/xwinopen.js +++ /dev/null @@ -1,15 +0,0 @@ -// xWinOpen, Copyright 2003-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -// A simple alternative to xWindow. - -var xChildWindow = null; -function xWinOpen(sUrl) -{ - var features = "left=0,top=0,width=600,height=500,location=0,menubar=0," + - "resizable=1,scrollbars=1,status=0,toolbar=0"; - if (xChildWindow && !xChildWindow.closed) {xChildWindow.location.href = sUrl;} - else {xChildWindow = window.open(sUrl, "myWinName", features);} - xChildWindow.focus(); - return false; -} diff --git a/pandora_console/include/styles/cb/lib/xwinopen.xml b/pandora_console/include/styles/cb/lib/xwinopen.xml deleted file mode 100644 index 8d7fa1ac12..0000000000 --- a/pandora_console/include/styles/cb/lib/xwinopen.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - -Copyright 2003-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Window - -Function - - - -xWinOpen(sUrl) - - - - sUrl - - - - -false - - - - http://cross-browser.com/x/examples/xwindow.php - - - - - - - 31Mar04 - mf - - - - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xwinscrollto.js b/pandora_console/include/styles/cb/lib/xwinscrollto.js deleted file mode 100644 index 6b080946de..0000000000 --- a/pandora_console/include/styles/cb/lib/xwinscrollto.js +++ /dev/null @@ -1,41 +0,0 @@ -// xWinScrollTo, Copyright 2003-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -var xWinScrollWin = null; -function xWinScrollTo(win,x,y,uTime) { - var e = win; - if (!e.timeout) e.timeout = 25; - var st = xScrollTop(e, 1); - var sl = xScrollLeft(e, 1); - e.xTarget = x; e.yTarget = y; e.slideTime = uTime; e.stop = false; - e.yA = e.yTarget - st; - e.xA = e.xTarget - sl; // A = distance - e.B = Math.PI / (2 * e.slideTime); // B = period - e.yD = st; - e.xD = sl; // D = initial position - var d = new Date(); e.C = d.getTime(); - if (!e.moving) { - xWinScrollWin = e; - _xWinScrollTo(); - } -} -function _xWinScrollTo() { - var e = xWinScrollWin || window; - var now, s, t, newY, newX; - now = new Date(); - t = now.getTime() - e.C; - if (e.stop) { e.moving = false; } - else if (t < e.slideTime) { - setTimeout("_xWinScrollTo()", e.timeout); - s = Math.sin(e.B * t); - newX = Math.round(e.xA * s + e.xD); - newY = Math.round(e.yA * s + e.yD); - e.scrollTo(newX, newY); - e.moving = true; - } - else { - e.scrollTo(e.xTarget, e.yTarget); - xWinScrollWin = null; - e.moving = false; - } -} diff --git a/pandora_console/include/styles/cb/lib/xwinscrollto.xml b/pandora_console/include/styles/cb/lib/xwinscrollto.xml deleted file mode 100644 index f84e042995..0000000000 --- a/pandora_console/include/styles/cb/lib/xwinscrollto.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - -Copyright 2003-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Window - Animation - -Function - - - -xWinScrollTo(win, x, y, uTime) - - - - win - - - - x,y - - - - uTime - - - - - - xscrolltop - xscrollleft - - - - - http://cross-browser.com/x/examples/xwinscrollto.php - - - - - - - 23May05 - mf - - - - - - - 2 - 11Mar05 - mf - - - - 1 - 29Apr04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/lib/xzindex.js b/pandora_console/include/styles/cb/lib/xzindex.js deleted file mode 100644 index 78480300e5..0000000000 --- a/pandora_console/include/styles/cb/lib/xzindex.js +++ /dev/null @@ -1,12 +0,0 @@ -// xZIndex, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xZIndex(e,uZ) -{ - if(!(e=xGetElementById(e))) return 0; - if(e.style && xDef(e.style.zIndex)) { - if(xNum(uZ)) e.style.zIndex=uZ; - uZ=parseInt(e.style.zIndex); - } - return uZ; -} diff --git a/pandora_console/include/styles/cb/lib/xzindex.xml b/pandora_console/include/styles/cb/lib/xzindex.xml deleted file mode 100644 index f75ccd5e28..0000000000 --- a/pandora_console/include/styles/cb/lib/xzindex.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - -Copyright 2001-2005 Michael Foster (Cross-Browser.com) -Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - - Presentation - -Function - - - -xZIndex(e[, uZ]) - - - - e - - - - uZ - - - - -parseInt(e.style.zIndex) - - - xgetelementbyid - xdef - xnum - - - - - http://cross-browser.com/toys/ - - - - - - - 23May05 - mf - - - - - - - 1 - 31Mar04 - mf - - - - - diff --git a/pandora_console/include/styles/cb/x.js b/pandora_console/include/styles/cb/x.js deleted file mode 100644 index c416816329..0000000000 --- a/pandora_console/include/styles/cb/x.js +++ /dev/null @@ -1,2637 +0,0 @@ -/* x.js compiled from X 4.0 with XC 0.27b. Distributed by GNU LGPL. For copyrights, license, documentation and more visit Cross-Browser.com */ -// globals, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -var xOp7Up,xOp6Dn,xIE4Up,xIE4,xIE5,xNN4,xUA=navigator.userAgent.toLowerCase(); -if(window.opera){ - var i=xUA.indexOf('opera'); - if(i!=-1){ - var v=parseInt(xUA.charAt(i+6)); - xOp7Up=v>=7; - xOp6Dn=v<7; - } -} -else if(navigator.vendor!='KDE' && document.all && xUA.indexOf('msie')!=-1){ - xIE4Up=parseFloat(navigator.appVersion)>=4; - xIE4=xUA.indexOf('msie 4')!=-1; - xIE5=xUA.indexOf('msie 5')!=-1; -} -else if(document.layers){xNN4=true;} -xMac=xUA.indexOf('mac')!=-1; -// xAddEventListener, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xAddEventListener(e,eT,eL,cap) -{ - if(!(e=xGetElementById(e))) return; - eT=eT.toLowerCase(); - if((!xIE4Up && !xOp7Up) && e==window) { - if(eT=='resize') { window.xPCW=xClientWidth(); window.xPCH=xClientHeight(); window.xREL=eL; xResizeEvent(); return; } - if(eT=='scroll') { window.xPSL=xScrollLeft(); window.xPST=xScrollTop(); window.xSEL=eL; xScrollEvent(); return; } - } - var eh='e.on'+eT+'=eL'; - if(e.addEventListener) e.addEventListener(eT,eL,cap); - else if(e.attachEvent) e.attachEvent('on'+eT,eL); - else eval(eh); -} -// called only from the above -function xResizeEvent() -{ - if (window.xREL) setTimeout('xResizeEvent()', 250); - var cw = xClientWidth(), ch = xClientHeight(); - if (window.xPCW != cw || window.xPCH != ch) { window.xPCW = cw; window.xPCH = ch; if (window.xREL) window.xREL(); } -} -function xScrollEvent() -{ - if (window.xSEL) setTimeout('xScrollEvent()', 250); - var sl = xScrollLeft(), st = xScrollTop(); - if (window.xPSL != sl || window.xPST != st) { window.xPSL = sl; window.xPST = st; if (window.xSEL) window.xSEL(); } -} -// xAppendChild, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xAppendChild(oParent, oChild) -{ - if (oParent.appendChild) return oParent.appendChild(oChild); - else return null; -} -// xBackground, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xBackground(e,c,i) -{ - if(!(e=xGetElementById(e))) return ''; - var bg=''; - if(e.style) { - if(xStr(c)) { - if(!xOp6Dn) e.style.backgroundColor=c; - else e.style.background=c; - } - if(xStr(i)) e.style.backgroundImage=(i!='')? 'url('+i+')' : null; - if(!xOp6Dn) bg=e.style.backgroundColor; - else bg=e.style.background; - } - return bg; -} -// xBar, Copyright 2003,2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -// Bar-Graph Object - -function xBar(dir, // direction, 'ltr', 'rtl', 'ttb', or 'btt' - conStyle, barStyle) // container and bar style class names -{ - //// Public Properties - - this.value = 0; // current value, read-only - - //// Public Methods - - // Update current value - this.update = function(v) - { - if (v < 0) v = 0; - else if (v > this.inMax) v = this.inMax; - this.con.title = this.bar.title = this.value = v; - switch(this.dir) { - case 'ltr': // left to right - v = this.scale(v, this.w); - xLeft(this.bar, v - this.w); - break; - case 'rtl': // right to left - v = this.scale(v, this.w); - xLeft(this.bar, this.w - v); - break; - case 'btt': // bottom to top - v = this.scale(v, this.h); - xTop(this.bar, this.h - v); - break; - case 'ttb': // top to bottom - v = this.scale(v, this.h); - xTop(this.bar, v - this.h); - break; - } - }; - - // Change position and/or size - this.paint = function(x, y, // container position - w, h) // container size - { - if (xNum(x)) this.x = x; - if (xNum(y)) this.y = y; - if (xNum(w)) this.w = w; - if (xNum(h)) this.h = h; - xResizeTo(this.con, this.w, this.h); - xMoveTo(this.con, this.x, this.y); - xResizeTo(this.bar, this.w, this.h); - xMoveTo(this.bar, 0, 0); - }; - - // Change scale and/or start value - this.reset = function(max, start) // non-scaled values - { - if (xNum(max)) this.inMax = max; - if (xNum(start)) this.start = start; - this.update(this.start); - }; - - //// Private Methods - - this.scale = function(v, outMax) - { - return Math.round(xLinearScale(v, 0, this.inMax, 0, outMax)); - }; - - //// Private Properties - - this.dir = dir; - this.x = 0; - this.y = 0; - this.w = 100; - this.h = 100; - this.inMax = 100; - this.start = 0; - this.conStyle = conStyle; - this.barStyle = barStyle; - - //// Constructor - - // Create container - this.con = document.createElement('DIV'); - this.con.className = this.conStyle; - // Create bar - this.bar = document.createElement('DIV'); - this.bar.className = this.barStyle; - // Insert in object tree - this.con.appendChild(this.bar); - document.body.appendChild(this.con); - -} // end xBar -// xCapitalize, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -// Capitalize the first letter of every word in str. - -function xCapitalize(str) -{ - var i, c, wd, s='', cap = true; - - for (i = 0; i < str.length; ++i) { - c = str.charAt(i); - wd = isWordDelim(c); - if (wd) { - cap = true; - } - if (cap && !wd) { - c = c.toUpperCase(); - cap = false; - } - s += c; - } - return s; - - function isWordDelim(c) - { - // add other word delimiters as needed - // (for example '-' and other punctuation) - return c == ' ' || c == '\n' || c == '\t'; - } -} -// xCardinalPosition, Copyright 2004-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xCardinalPosition(e, cp, margin, outside) -{ - if(!(e=xGetElementById(e))) return; - if (typeof(cp)!='string'){window.status='xCardinalPosition error: cp=' + cp + ', id=' + e.id; return;} - var x=xLeft(e), y=xTop(e), w=xWidth(e), h=xHeight(e); - var pw,ph,p = xParent(e); - if (p == document || p.nodeName.toLowerCase() == 'html') {pw = xClientWidth(); ph = xClientHeight();} - else {pw=xWidth(p); ph=xHeight(p);} - var sx=xScrollLeft(p), sy=xScrollTop(p); - var right=sx + pw, bottom=sy + ph; - var cenLeft=sx + Math.floor((pw-w)/2), cenTop=sy + Math.floor((ph-h)/2); - if (!margin) margin=0; - else{ - if (outside) margin=-margin; - sx +=margin; sy +=margin; right -=margin; bottom -=margin; - } - switch (cp.toLowerCase()){ - case 'n': x=cenLeft; if (outside) y=sy - h; else y=sy; break; - case 'ne': if (outside){x=right; y=sy - h;}else{x=right - w; y=sy;}break; - case 'e': y=cenTop; if (outside) x=right; else x=right - w; break; - case 'se': if (outside){x=right; y=bottom;}else{x=right - w; y=bottom - h}break; - case 's': x=cenLeft; if (outside) y=sy - h; else y=bottom - h; break; - case 'sw': if (outside){x=sx - w; y=bottom;}else{x=sx; y=bottom - h;}break; - case 'w': y=cenTop; if (outside) x=sx - w; else x=sx; break; - case 'nw': if (outside){x=sx - w; y=sy - h;}else{x=sx; y=sy;}break; - case 'cen': x=cenLeft; y=cenTop; break; - case 'cenh': x=cenLeft; break; - case 'cenv': y=cenTop; break; - } - var o = new Object(); - o.x = x; o.y = y; - return o; -} -// xClientHeight, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xClientHeight() -{ - var h=0; - if(xOp6Dn) h=window.innerHeight; - else if(document.compatMode == 'CSS1Compat' && !window.opera && document.documentElement && document.documentElement.clientHeight) - h=document.documentElement.clientHeight; - else if(document.body && document.body.clientHeight) - h=document.body.clientHeight; - else if(xDef(window.innerWidth,window.innerHeight,document.width)) { - h=window.innerHeight; - if(document.width>window.innerWidth) h-=16; - } - return h; -} -// xClientWidth, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xClientWidth() -{ - var w=0; - if(xOp6Dn) w=window.innerWidth; - else if(document.compatMode == 'CSS1Compat' && !window.opera && document.documentElement && document.documentElement.clientWidth) - w=document.documentElement.clientWidth; - else if(document.body && document.body.clientWidth) - w=document.body.clientWidth; - else if(xDef(window.innerWidth,window.innerHeight,document.height)) { - w=window.innerWidth; - if(document.height>window.innerHeight) w-=16; - } - return w; -} -// xClip, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xClip(e,t,r,b,l) -{ - if(!(e=xGetElementById(e))) return; - if(e.style) { - if (xNum(l)) e.style.clip='rect('+t+'px '+r+'px '+b+'px '+l+'px)'; - else e.style.clip='rect(0 '+parseInt(e.style.width)+'px '+parseInt(e.style.height)+'px 0)'; - } -} -// xCollapsible, Copyright 2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xCollapsible(outerEle, bShow) // object prototype -{ - // Constructor - - var container = xGetElementById(outerEle); - if (!container) {return null;} - var isUL = container.nodeName.toUpperCase() == 'UL'; - var i, trg, aTgt = xGetElementsByTagName(isUL ? 'UL':'DIV', container); - for (i = 0; i < aTgt.length; ++i) { - trg = xPrevSib(aTgt[i]); - if (trg && (isUL || trg.nodeName.charAt(0).toUpperCase() == 'H')) { - aTgt[i].xTrgPtr = trg; - aTgt[i].style.display = bShow ? 'block' : 'none'; - trg.style.cursor = 'pointer'; - trg.xTgtPtr = aTgt[i]; - trg.onclick = trg_onClick; - } - } - - // Private - - function trg_onClick() - { - var tgt = this.xTgtPtr.style; - if (tgt.display == 'none') { - tgt.display = 'block'; - } - else { - tgt.display = 'none'; - } - } - - // Public - - this.displayAll = function(bShow) - { - for (var i = 0; i < aTgt.length; ++i) { - if (aTgt[i].xTrgPtr) { - xDisplay(aTgt[i], bShow ? "block":"none"); - } - } - }; - - // The unload listener is for IE's circular reference memory leak bug. - this.onUnload = function() - { - if (!xIE4Up || !container || !aTgt) {return;} - for (i = 0; i < aTgt.length; ++i) { - trg = aTgt[i].xTrgPtr; - if (trg) { - if (trg.xTgtPtr) { - trg.xTgtPtr.TrgPtr = null; - trg.xTgtPtr = null; - } - trg.onclick = null; - } - } - }; -} -// xColor, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xColor(e,s) -{ - if(!(e=xGetElementById(e))) return ''; - var c=''; - if(e.style && xDef(e.style.color)) { - if(xStr(s)) e.style.color=s; - c=e.style.color; - } - return c; -} -// xCreateElement, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xCreateElement(sTag) -{ - if (document.createElement) return document.createElement(sTag); - else return null; -} -// xDef, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xDef() -{ - for(var i=0; i 0) { - var offset = document.cookie.indexOf(search); - if (offset != -1) { - offset += search.length; - var end = document.cookie.indexOf(";", offset); - if (end == -1) end = document.cookie.length; - value = unescape(document.cookie.substring(offset, end)); - } - } - return value; -} -// xGetElementById, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xGetElementById(e) -{ - if(typeof(e)!='string') return e; - if(document.getElementById) e=document.getElementById(e); - else if(document.all) e=document.all[e]; - else e=null; - return e; -} -// xGetElementsByAttribute, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xGetElementsByAttribute(sTag, sAtt, sRE, fn) -{ - var a, list, found = new Array(), re = new RegExp(sRE, 'i'); - list = xGetElementsByTagName(sTag); - for (var i = 0; i < list.length; ++i) { - a = list[i].getAttribute(sAtt); - if (!a) {a = list[i][sAtt];} - if (typeof(a)=='string' && a.search(re) != -1) { - found[found.length] = list[i]; - if (fn) fn(list[i]); - } - } - return found; -} -// xGetElementsByClassName, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xGetElementsByClassName(c,p,t,f) -{ - var found = new Array(); - var re = new RegExp('\\b'+c+'\\b', 'i'); - var list = xGetElementsByTagName(t, p); - for (var i = 0; i < list.length; ++i) { - if (list[i].className && list[i].className.search(re) != -1) { - found[found.length] = list[i]; - if (f) f(list[i]); - } - } - return found; -} -// xGetElementsByTagName, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xGetElementsByTagName(t,p) -{ - var list = null; - t = t || '*'; - p = p || document; - if (xIE4 || xIE5) { - if (t == '*') list = p.all; - else list = p.all.tags(t); - } - else if (p.getElementsByTagName) list = p.getElementsByTagName(t); - return list || new Array(); -} -// xGetElePropsArray, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xGetElePropsArray(ele, eleName) -{ - var u = 'undefined'; - var i = 0, a = new Array(); - - nv('Element', eleName); - nv('id', (xDef(ele.id) ? ele.id : u)); - nv('tagName', (xDef(ele.tagName) ? ele.tagName : u)); - - nv('xWidth()', xWidth(ele)); - nv('style.width', (xDef(ele.style) && xDef(ele.style.width) ? ele.style.width : u)); - nv('offsetWidth', (xDef(ele.offsetWidth) ? ele.offsetWidth : u)); - nv('scrollWidth', (xDef(ele.offsetWidth) ? ele.offsetWidth : u)); - nv('clientWidth', (xDef(ele.clientWidth) ? ele.clientWidth : u)); - - nv('xHeight()', xHeight(ele)); - nv('style.height', (xDef(ele.style) && xDef(ele.style.height) ? ele.style.height : u)); - nv('offsetHeight', (xDef(ele.offsetHeight) ? ele.offsetHeight : u)); - nv('scrollHeight', (xDef(ele.offsetHeight) ? ele.offsetHeight : u)); - nv('clientHeight', (xDef(ele.clientHeight) ? ele.clientHeight : u)); - - nv('xLeft()', xLeft(ele)); - nv('style.left', (xDef(ele.style) && xDef(ele.style.left) ? ele.style.left : u)); - nv('offsetLeft', (xDef(ele.offsetLeft) ? ele.offsetLeft : u)); - nv('style.pixelLeft', (xDef(ele.style) && xDef(ele.style.pixelLeft) ? ele.style.pixelLeft : u)); - - nv('xTop()', xTop(ele)); - nv('style.top', (xDef(ele.style) && xDef(ele.style.top) ? ele.style.top : u)); - nv('offsetTop', (xDef(ele.offsetTop) ? ele.offsetTop : u)); - nv('style.pixelTop', (xDef(ele.style) && xDef(ele.style.pixelTop) ? ele.style.pixelTop : u)); - - nv('', ''); - nv('xGetComputedStyle()', ''); - - nv('top'); - nv('right'); - nv('bottom'); - nv('left'); - - nv('width'); - nv('height'); - - nv('color'); - nv('background-color'); - nv('font-family'); - nv('font-size'); - nv('text-align'); - nv('line-height'); - nv('content'); - - nv('float'); - nv('clear'); - - nv('margin'); - nv('padding'); - nv('padding-top'); - nv('padding-right'); - nv('padding-bottom'); - nv('padding-left'); - - nv('border-top-width'); - nv('border-right-width'); - nv('border-bottom-width'); - nv('border-left-width'); - - nv('position'); - nv('overflow'); - nv('visibility'); - nv('display'); - nv('z-index'); - nv('clip'); - nv('cursor'); - - return a; - - function nv(name, value) - { - a[i] = new Object(); - a[i].name = name; - a[i].value = typeof(value)=='undefined' ? xGetComputedStyle(ele, name) : value; - ++i; - } -} -// xGetElePropsString, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xGetElePropsString(ele, eleName, newLine) -{ - var s = '', a = xGetElePropsArray(ele, eleName); - for (var i = 0; i < a.length; ++i) { - s += a[i].name + ' = ' + a[i].value + (newLine || '\n'); - } - return s; -} -// xGetURLArguments, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xGetURLArguments() -{ - var idx = location.href.indexOf('?'); - var params = new Array(); - if (idx != -1) { - var pairs = location.href.substring(idx+1, location.href.length).split('&'); - for (var i=0; i= eX + l && x <= eX + xWidth(e) - r && - y >= eY + t && y <= eY + xHeight(e) - b ); -} -// xHeight, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xHeight(e,h) -{ - if(!(e=xGetElementById(e))) return 0; - if (xNum(h)) { - if (h<0) h = 0; - else h=Math.round(h); - } - else h=-1; - var css=xDef(e.style); - if (e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') { - h = xClientHeight(); - } - else if(css && xDef(e.offsetHeight) && xStr(e.style.height)) { - if(h>=0) { - var pt=0,pb=0,bt=0,bb=0; - if (document.compatMode=='CSS1Compat') { - var gcs = xGetComputedStyle; - pt=gcs(e,'padding-top',1); - if (pt !== null) { - pb=gcs(e,'padding-bottom',1); - bt=gcs(e,'border-top-width',1); - bb=gcs(e,'border-bottom-width',1); - } - // Should we try this as a last resort? - // At this point getComputedStyle and currentStyle do not exist. - else if(xDef(e.offsetHeight,e.style.height)){ - e.style.height=h+'px'; - pt=e.offsetHeight-h; - } - } - h-=(pt+pb+bt+bb); - if(isNaN(h)||h<0) return; - else e.style.height=h+'px'; - } - h=e.offsetHeight; - } - else if(css && xDef(e.style.pixelHeight)) { - if(h>=0) e.style.pixelHeight=h; - h=e.style.pixelHeight; - } - return h; -} -// xHex, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xHex(n, digits, prefix) -{ - var p = '', n = Math.ceil(n); - if (prefix) p = prefix; - n = n.toString(16); - for (var i=0; i < digits - n.length; ++i) { - p += '0'; - } - return p + n; -} -// xHide, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xHide(e){return xVisibility(e,0);} -// xImgAsyncWait, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xImgAsyncWait(fnStatus, fnInit, fnError, sErrorImg, sAbortImg, imgArray) -{ - var i, imgs = imgArray || document.images; - - for (i = 0; i < imgs.length; ++i) { - imgs[i].onload = imgOnLoad; - imgs[i].onerror = imgOnError; - imgs[i].onabort = imgOnAbort; - } - - xIAW.fnStatus = fnStatus; - xIAW.fnInit = fnInit; - xIAW.fnError = fnError; - xIAW.imgArray = imgArray; - - xIAW(); - - function imgOnLoad() - { - this.wasLoaded = true; - } - function imgOnError() - { - if (sErrorImg && !this.wasError) { - this.src = sErrorImg; - } - this.wasError = true; - } - function imgOnAbort() - { - if (sAbortImg && !this.wasAborted) { - this.src = sAbortImg; - } - this.wasAborted = true; - } -} -// end xImgAsyncWait() - -// Don't call xIAW() directly. It is only called from xImgAsyncWait(). - -function xIAW() -{ - var me = arguments.callee; - if (!me) { - return; // I could have used a global object instead of callee - } - var i, imgs = me.imgArray ? me.imgArray : document.images; - var c = 0, e = 0, a = 0, n = imgs.length; - for (i = 0; i < n; ++i) { - if (imgs[i].wasError) { - ++e; - } - else if (imgs[i].wasAborted) { - ++a; - } - else if (imgs[i].complete || imgs[i].wasLoaded) { - ++c; - } - } - if (me.fnStatus) { - me.fnStatus(n, c, e, a); - } - if (c + e + a == n) { - if ((e || a) && me.fnError) { - me.fnError(n, c, e, a); - } - else if (me.fnInit) { - me.fnInit(); - } - } - else setTimeout('xIAW()', 250); -} -// end xIAW() -// xImgRollSetup, Copyright 2002,2003,2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xImgRollSetup(p,s,x) -{ - var ele, id; - for (var i=3; i"; - } - - // else is it a .css file? - else if (f.indexOf('.css') != -1) { // CSS file - h = ""; - } - - // write the link or script element into the document - if (h.length) { document.writeln(h); } - - } // end if (!inc) - } // end outer for - return true; - } // end if (min dhtml support) - return false; -} -// xInnerHtml, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xInnerHtml(e,h) -{ - if(!(e=xGetElementById(e)) || !xStr(e.innerHTML)) return null; - var s = e.innerHTML; - if (xStr(h)) {e.innerHTML = h;} - return s; -} -// xIntersection, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xIntersection(e1, e2, o) -{ - var ix1, iy2, iw, ih, intersect = true; - var e1x1 = xPageX(e1); - var e1x2 = e1x1 + xWidth(e1); - var e1y1 = xPageY(e1); - var e1y2 = e1y1 + xHeight(e1); - var e2x1 = xPageX(e2); - var e2x2 = e2x1 + xWidth(e2); - var e2y1 = xPageY(e2); - var e2y2 = e2y1 + xHeight(e2); - // horizontal - if (e1x1 <= e2x1) { - ix1 = e2x1; - if (e1x2 < e2x1) intersect = false; - else iw = Math.min(e1x2, e2x2) - e2x1; - } - else { - ix1 = e1x1; - if (e2x2 < e1x1) intersect = false; - else iw = Math.min(e1x2, e2x2) - e1x1; - } - // vertical - if (e1y2 >= e2y2) { - iy2 = e2y2; - if (e1y1 > e2y2) intersect = false; - else ih = e2y2 - Math.max(e1y1, e2y1); - } - else { - iy2 = e1y2; - if (e2y1 > e1y2) intersect = false; - else ih = e1y2 - Math.max(e1y1, e2y1); - } - // intersected rectangle - if (intersect && typeof(o)=='object') { - o.x = ix1; - o.y = iy2 - ih; - o.w = iw; - o.h = ih; - } - return intersect; -} -// xLeft, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xLeft(e, iX) -{ - if(!(e=xGetElementById(e))) return 0; - var css=xDef(e.style); - if (css && xStr(e.style.left)) { - if(xNum(iX)) e.style.left=iX+'px'; - else { - iX=parseInt(e.style.left); - if(isNaN(iX)) iX=0; - } - } - else if(css && xDef(e.style.pixelLeft)) { - if(xNum(iX)) e.style.pixelLeft=iX; - else iX=e.style.pixelLeft; - } - return iX; -} -// xLinearScale, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xLinearScale(val,iL,iH,oL,oH) -{ - var m=(oH-oL)/(iH-iL); - var b=oL-(iL*m); - return m*val+b; -} -// xLoadScript, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xLoadScript(url) -{ - if (document.createElement && document.getElementsByTagName) { - var s = document.createElement('script'); - var h = document.getElementsByTagName('head'); - if (s && h.length) { - s.src = url; - h[0].appendChild(s); - } - } -} -// xMenu1, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xMenu1(triggerId, menuId, mouseMargin, openEvent) -{ - var isOpen = false; - var trg = xGetElementById(triggerId); - var mnu = xGetElementById(menuId); - if (trg && mnu) { - xAddEventListener(trg, openEvent, onOpen, false); - } - function onOpen() - { - if (!isOpen) { - xMoveTo(mnu, xPageX(trg), xPageY(trg) + xHeight(trg)); - xShow(mnu); - xAddEventListener(document, 'mousemove', onMousemove, false); - isOpen = true; - } - } - function onMousemove(ev) - { - var e = new xEvent(ev); - if (!xHasPoint(mnu, e.pageX, e.pageY, -mouseMargin) && - !xHasPoint(trg, e.pageX, e.pageY, -mouseMargin)) - { - xHide(mnu); - xRemoveEventListener(document, 'mousemove', onMousemove, false); - isOpen = false; - } - } -} // end xMenu1 -// xMenu1A, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xMenu1A(triggerId, menuId, mouseMargin, slideTime, openEvent) -{ - var isOpen = false; - var trg = xGetElementById(triggerId); - var mnu = xGetElementById(menuId); - if (trg && mnu) { - xHide(mnu); - xAddEventListener(trg, openEvent, onOpen, false); - } - function onOpen() - { - if (!isOpen) { - xMoveTo(mnu, xPageX(trg), xPageY(trg)); - xShow(mnu); - xSlideTo(mnu, xPageX(trg), xPageY(trg) + xHeight(trg), slideTime); - xAddEventListener(document, 'mousemove', onMousemove, false); - isOpen = true; - } - } - function onMousemove(ev) - { - var e = new xEvent(ev); - if (!xHasPoint(mnu, e.pageX, e.pageY, -mouseMargin) && - !xHasPoint(trg, e.pageX, e.pageY, -mouseMargin)) - { - xRemoveEventListener(document, 'mousemove', onMousemove, false); - xSlideTo(mnu, xPageX(trg), xPageY(trg), slideTime); - setTimeout("xHide('" + menuId + "')", slideTime); - isOpen = false; - } - } -} // end xMenu1A -// xMenu1B, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xMenu1B(openTriggerId, closeTriggerId, menuId, slideTime, bOnClick) -{ - xMenu1B.instances[xMenu1B.instances.length] = this; - var isOpen = false; - var oTrg = xGetElementById(openTriggerId); - var cTrg = xGetElementById(closeTriggerId); - var mnu = xGetElementById(menuId); - if (oTrg && cTrg && mnu) { - xHide(mnu); - if (bOnClick) oTrg.onclick = openOnEvent; - else oTrg.onmouseover = openOnEvent; - cTrg.onclick = closeOnClick; - } - function openOnEvent() - { - if (!isOpen) { - for (var i = 0; i < xMenu1B.instances.length; ++i) { - xMenu1B.instances[i].close(); - } - xMoveTo(mnu, xPageX(oTrg), xPageY(oTrg)); - xShow(mnu); - xSlideTo(mnu, xPageX(oTrg), xPageY(oTrg) + xHeight(oTrg), slideTime); - isOpen = true; - } - } - function closeOnClick() - { - if (isOpen) { - xSlideTo(mnu, xPageX(oTrg), xPageY(oTrg), slideTime); - setTimeout("xHide('" + menuId + "')", slideTime); - isOpen = false; - } - } - this.close = function() - { - closeOnClick(); - } -} // end xMenu1B - -xMenu1B.instances = new Array(); // static member of xMenu1B -// xMenu5, Copyright 2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xMenu5(idUL, btnClass, idAutoOpen) // object prototype -{ - // Constructor - - var i, ul, btns, mnu = xGetElementById(idUL); - btns = xGetElementsByClassName(btnClass, mnu, 'DIV'); - for (i = 0; i < btns.length; ++i) { - ul = xNextSib(btns[i], 'UL'); - btns[i].xClpsTgt = ul; - btns[i].onclick = btn_onClick; - set_display(btns[i], 0); - } - if (idAutoOpen) { - var e = xGetElementById(idAutoOpen); - while (e && e != mnu) { - if (e.xClpsTgt) set_display(e, 1); - while (e && e != mnu && e.nodeName != 'LI') e = e.parentNode; - e = e.parentNode; // UL - while (e && !e.xClpsTgt) e = xPrevSib(e); - } - } - - // Private - - function btn_onClick() - { - var thisLi, fc, pUl; - if (this.xClpsTgt.style.display == 'none') { - set_display(this, 1); - // get this label's parent LI - var li = this.parentNode; - thisLi = li; - pUl = li.parentNode; // get this LI's parent UL - li = xFirstChild(pUl); // get the UL's first LI child - // close all labels' ULs on this level except for thisLI's label - while (li) { - if (li != thisLi) { - fc = xFirstChild(li); - if (fc && fc.xClpsTgt) { - set_display(fc, 0); - } - } - li = xNextSib(li); - } - } - else { - set_display(this, 0); - } - } - - function set_display(ele, bBlock) - { - if (bBlock) { - ele.xClpsTgt.style.display = 'block'; - ele.innerHTML = '-'; - } - else { - ele.xClpsTgt.style.display = 'none'; - ele.innerHTML = '+'; - } - } - - // Public - - this.onUnload = function() - { - for (i = 0; i < btns.length; ++i) { - btns[i].xClpsTgt = null; - btns[i].onclick = null; - } - } -} // end xMenu5 prototype - - -// xMoveTo, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xMoveTo(e,x,y) -{ - xLeft(e,x); - xTop(e,y); -} -// xName, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xName(e) -{ - if (!e) return e; - else if (e.id && e.id != "") return e.id; - else if (e.name && e.name != "") return e.name; - else if (e.nodeName && e.nodeName != "") return e.nodeName; - else if (e.tagName && e.tagName != "") return e.tagName; - else return e; -} -// xNextSib, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xNextSib(e,t) -{ - var s = e ? e.nextSibling : null; - if (t) while (s && s.nodeName != t) { s = s.nextSibling; } - else while (s && s.nodeType != 1) { s = s.nextSibling; } - return s; -} -// xNum, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xNum() -{ - for(var i=0; i= e.slideTime) { - e.moving = false; - } -} -// xSlideTo, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xSlideTo(e, x, y, uTime) -{ - if (!(e=xGetElementById(e))) return; - if (!e.timeout) e.timeout = 25; - e.xTarget = x; e.yTarget = y; e.slideTime = uTime; e.stop = false; - e.yA = e.yTarget - xTop(e); e.xA = e.xTarget - xLeft(e); // A = distance - if (e.slideLinear) e.B = 1/e.slideTime; - else e.B = Math.PI / (2 * e.slideTime); // B = period - e.yD = xTop(e); e.xD = xLeft(e); // D = initial position - var d = new Date(); e.C = d.getTime(); - if (!e.moving) _xSlideTo(e); -} -function _xSlideTo(e) -{ - if (!(e=xGetElementById(e))) return; - var now, s, t, newY, newX; - now = new Date(); - t = now.getTime() - e.C; - if (e.stop) { e.moving = false; } - else if (t < e.slideTime) { - setTimeout("_xSlideTo('"+e.id+"')", e.timeout); - if (e.slideLinear) s = e.B * t; - else s = Math.sin(e.B * t); - newX = Math.round(e.xA * s + e.xD); - newY = Math.round(e.yA * s + e.yD); - xMoveTo(e, newX, newY); - e.moving = true; - } - else { - xMoveTo(e, e.xTarget, e.yTarget); - e.moving = false; - } -} - -// xStopPropagation, Copyright 2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xStopPropagation(evt) -{ - if (evt && evt.stopPropagation) evt.stopPropagation(); - else if (window.event) window.event.cancelBubble = true; -} -// xStr, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xStr(s) -{ - for(var i=0; i= t.preset) { // timer event on t - t.obj[t.mthd](t); // pass listener this xTimerObj - if (t.type.charAt(0) == 'i') { t.time0 = now; } - else { t.stop(); } - } - } - } -}; - -// Object Prototype used only by xTimerMgr -function xTimerObj(type, obj, mthd, preset, data) -{ - // Public Properties - this.data = data; - // Read-only Properties - this.type = type; // 'interval' or 'timeout' - this.obj = obj; - this.mthd = mthd; // string - this.preset = preset; - this.reset(); -} // end xTimerObj constructor -// xTimerObj Methods -xTimerObj.prototype.stop = function() { this.running = false; }; -xTimerObj.prototype.start = function() { this.running = true; }; // continue after a stop -xTimerObj.prototype.reset = function() -{ - var d = new Date(); - this.time0 = d.getTime(); - this.elapsed = 0; - this.running = true; -}; - -var xTimer = new xTimerMgr(); // applications assume global name is 'xTimer' -setInterval('xTimer.run()', 250); -// xTooltipGroup, Copyright 2002,2003,2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -document.write(""); -document.write("
xTooltipElement
"); - -var xttTrigger = null; // current trigger element - -function xTooltipGroup(grpClassOrIdList, tipClass, origin, xOffset, yOffset, textList) -{ - - //// Properties - - this.c = tipClass; - this.o = origin; - this.x = xOffset; - this.y = yOffset; - this.t = null; // tooltip element - all groups use the same element - - //// Constructor Code - - var i, tips; - if (xStr(grpClassOrIdList)) { - tips = xGetElementsByClassName(grpClassOrIdList); - for (i = 0; i < tips.length; ++i) { - tips[i].xTooltip = this; - } - } - else { - tips = new Array(); - for (i = 0; i < grpClassOrIdList.length; ++i) { - tips[i] = xGetElementById(grpClassOrIdList[i]); - if (!tips[i]) { - alert('Element not found for id = ' + grpClassOrIdList[i]); - } - else { - tips[i].xTooltip = this; - tips[i].xTooltipText = textList[i]; - } - } - } - if (!this.t) { // only execute once - this.t = xGetElementById('xTooltipElement'); - xAddEventListener(document, 'mousemove', this.docOnMousemove, false); - } -} // end xTooltipGroup ctor - -//// xTooltipGroup Methods - -xTooltipGroup.prototype.show = function(trigEle, mx, my) -{ - if (xttTrigger != trigEle) { // if not active or moved to an adjacent trigger - this.t.className = trigEle.xTooltip.c; - this.t.innerHTML = trigEle.xTooltipText ? trigEle.xTooltipText : trigEle.title; - xttTrigger = trigEle; - } - var x, y; - switch(this.o) { - case 'right': - x = xPageX(trigEle) + xWidth(trigEle); - y = xPageY(trigEle); - break; - case 'top': - x = xPageX(trigEle); - y = xPageY(trigEle) - xHeight(trigEle); - break; - case 'mouse': - x = mx; - y = my; - break; - } - xMoveTo(this.t, x + this.x, y + this.y); - xShow(this.t); -}; - -xTooltipGroup.prototype.hide = function() -{ - xMoveTo(this.t, -1000, -1000); - xttTrigger = null; -}; - -xTooltipGroup.prototype.docOnMousemove = function(oEvent) -{ - // this == document at runtime - var o, e = new xEvent(oEvent); - if (e.target && (o = e.target.xTooltip)) { - o.show(e.target, e.pageX, e.pageY); - } - else if (xttTrigger) { - xttTrigger.xTooltip.hide(); - } -}; -// xTop, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xTop(e, iY) -{ - if(!(e=xGetElementById(e))) return 0; - var css=xDef(e.style); - if(css && xStr(e.style.top)) { - if(xNum(iY)) e.style.top=iY+'px'; - else { - iY=parseInt(e.style.top); - if(isNaN(iY)) iY=0; - } - } - else if(css && xDef(e.style.pixelTop)) { - if(xNum(iY)) e.style.pixelTop=iY; - else iY=e.style.pixelTop; - } - return iY; -} -// xTriStateImage, Copyright 2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xTriStateImage(idOut, urlOver, urlDown, fnUp) // Object Prototype -{ - var img; - // Downgrade Detection - if (typeof Image != 'undefined' && document.getElementById) { - img = document.getElementById(idOut); - if (img) { - // Constructor Code - var urlOut = img.src; - var i = new Image(); - i.src = urlOver; - i = new Image(); - i.src = urlDown; - // Event Listeners (closure) - img.onmouseover = function() - { - this.src = urlOver; - }; - img.onmouseout = function() - { - this.src = urlOut; - }; - img.onmousedown = function() - { - this.src = urlDown; - }; - img.onmouseup = function() - { - this.src = urlOver; - if (fnUp) { - fnUp(); - } - }; - } - } - // Destructor Method - this.onunload = function() - { - if (xIE4Up && img) { // Remove any circular references for IE - img.onmouseover = img.onmouseout = img.onmousedown = null; - img = null; - } - }; -} -var xVersion = "4.0";// xVisibility, Copyright 2003-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xVisibility(e, bShow) -{ - if(!(e=xGetElementById(e))) return null; - if(e.style && xDef(e.style.visibility)) { - if (xDef(bShow)) e.style.visibility = bShow ? 'visible' : 'hidden'; - return e.style.visibility; - } - return null; -} - -//function xVisibility(e,s) -//{ -// if(!(e=xGetElementById(e))) return null; -// var v = 'visible', h = 'hidden'; -// if(e.style && xDef(e.style.visibility)) { -// if (xDef(s)) { -// // try to maintain backwards compatibility (???) -// if (xStr(s)) e.style.visibility = s; -// else e.style.visibility = s ? v : h; -// } -// return e.style.visibility; -// // or... -// // if (e.style.visibility.length) return e.style.visibility; -// // else return xGetComputedStyle(e, 'visibility'); -// } -// else if (xDef(e.visibility)) { // NN4 -// if (xDef(s)) { -// // try to maintain backwards compatibility -// if (xStr(s)) e.visibility = (s == v) ? 'show' : 'hide'; -// else e.visibility = s ? v : h; -// } -// return (e.visibility == 'show') ? v : h; -// } -// return null; -//} -// xWalkEleTree, Copyright 2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xWalkEleTree(n,f,d,l,b) -{ - if (typeof l == 'undefined') l = 0; - if (typeof b == 'undefined') b = 0; - var v = f(n,l,b,d); - if (!v) return 0; - if (v == 1) { - for (var c = n.firstChild; c; c = c.nextSibling) { - if (c.nodeType == 1) { - if (!l) ++b; - if (!xWalkEleTree(c,f,d,l+1,b)) return 0; - } - } - } - return 1; -} -// xWalkTree, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xWalkTree(n, f) -{ - f(n); - for (var c = n.firstChild; c; c = c.nextSibling) { - if (c.nodeType == 1) xWalkTree(c, f); - } -} - -// original implementation: -// function xWalkTree(oNode, fnVisit) -// { -// if (oNode) { -// if (oNode.nodeType == 1) {fnVisit(oNode);} -// for (var c = oNode.firstChild; c; c = c.nextSibling) { -// xWalkTree(c, fnVisit); -// } -// } -// } -// xWidth, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xWidth(e,w) -{ - if(!(e=xGetElementById(e))) return 0; - if (xNum(w)) { - if (w<0) w = 0; - else w=Math.round(w); - } - else w=-1; - var css=xDef(e.style); - if (e == document || e.tagName.toLowerCase() == 'html' || e.tagName.toLowerCase() == 'body') { - w = xClientWidth(); - } - else if(css && xDef(e.offsetWidth) && xStr(e.style.width)) { - if(w>=0) { - var pl=0,pr=0,bl=0,br=0; - if (document.compatMode=='CSS1Compat') { - var gcs = xGetComputedStyle; - pl=gcs(e,'padding-left',1); - if (pl !== null) { - pr=gcs(e,'padding-right',1); - bl=gcs(e,'border-left-width',1); - br=gcs(e,'border-right-width',1); - } - // Should we try this as a last resort? - // At this point getComputedStyle and currentStyle do not exist. - else if(xDef(e.offsetWidth,e.style.width)){ - e.style.width=w+'px'; - pl=e.offsetWidth-w; - } - } - w-=(pl+pr+bl+br); - if(isNaN(w)||w<0) return; - else e.style.width=w+'px'; - } - w=e.offsetWidth; - } - else if(css && xDef(e.style.pixelWidth)) { - if(w>=0) e.style.pixelWidth=w; - w=e.style.pixelWidth; - } - return w; -} -// xWinClass, Copyright 2003-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -// xWinClass Object Prototype - -function xWinClass(clsName, winName, w, h, x, y, loc, men, res, scr, sta, too) -{ - var thisObj = this; - var e='',c=',',xf='left=',yf='top='; this.n = name; - if (document.layers) {xf='screenX='; yf='screenY=';} - this.f = (w?'width='+w+c:e)+(h?'height='+h+c:e)+(x>=0?xf+x+c:e)+ - (y>=0?yf+y+c:e)+'location='+loc+',menubar='+men+',resizable='+res+ - ',scrollbars='+scr+',status='+sta+',toolbar='+too; - this.opened = function() {return this.w && !this.w.closed;}; - this.close = function() {if(this.opened()) this.w.close();}; - this.focus = function() {if(this.opened()) this.w.focus();}; - this.load = function(sUrl) { - if (this.opened()) this.w.location.href = sUrl; - else this.w = window.open(sUrl,this.n,this.f); - this.focus(); - return false; - }; - // Closures - // this ==
element reference, thisObj == xWinClass object reference - function onClick() {return thisObj.load(this.href);} - // '*' works with any element, not just A - xGetElementsByClassName(clsName, document, '*', bindOnClick); - function bindOnClick(e) {e.onclick = onClick;} -} -// xWindow, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xWindow(name, w, h, x, y, loc, men, res, scr, sta, too) -{ - var e='',c=',',xf='left=',yf='top='; this.n = name; - if (document.layers) {xf='screenX='; yf='screenY=';} - this.f = (w?'width='+w+c:e)+(h?'height='+h+c:e)+(x>=0?xf+x+c:e)+ - (y>=0?yf+y+c:e)+'location='+loc+',menubar='+men+',resizable='+res+ - ',scrollbars='+scr+',status='+sta+',toolbar='+too; - this.opened = function() {return this.w && !this.w.closed;}; - this.close = function() {if(this.opened()) this.w.close();}; - this.focus = function() {if(this.opened()) this.w.focus();}; - this.load = function(sUrl) { - if (this.opened()) this.w.location.href = sUrl; - else this.w = window.open(sUrl,this.n,this.f); - this.focus(); - return false; - }; -} - -// Previous implementation: -// function xWindow(name, w, h, x, y, loc, men, res, scr, sta, too) -// { -// var f = ''; -// if (w && h) { -// if (document.layers) f = 'screenX=' + x + ',screenY=' + y; -// else f = 'left=' + x + ',top=' + y; -// f += ',width=' + w + ',height=' + h + ','; -// } -// f += ('location='+loc+',menubar='+men+',resizable='+res -// +',scrollbars='+scr+',status='+sta+',toolbar='+too); -// this.features = f; -// this.name = name; -// this.load = function(sUrl) { -// if (this.wnd && !this.wnd.closed) this.wnd.location.href = sUrl; -// else this.wnd = window.open(sUrl, this.name, this.features); -// this.wnd.focus(); -// return false; -// } -// } -// xWinOpen, Copyright 2003-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -// A simple alternative to xWindow. - -var xChildWindow = null; -function xWinOpen(sUrl) -{ - var features = "left=0,top=0,width=600,height=500,location=0,menubar=0," + - "resizable=1,scrollbars=1,status=0,toolbar=0"; - if (xChildWindow && !xChildWindow.closed) {xChildWindow.location.href = sUrl;} - else {xChildWindow = window.open(sUrl, "myWinName", features);} - xChildWindow.focus(); - return false; -} -// xWinScrollTo, Copyright 2003-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -var xWinScrollWin = null; -function xWinScrollTo(win,x,y,uTime) { - var e = win; - if (!e.timeout) e.timeout = 25; - var st = xScrollTop(e, 1); - var sl = xScrollLeft(e, 1); - e.xTarget = x; e.yTarget = y; e.slideTime = uTime; e.stop = false; - e.yA = e.yTarget - st; - e.xA = e.xTarget - sl; // A = distance - e.B = Math.PI / (2 * e.slideTime); // B = period - e.yD = st; - e.xD = sl; // D = initial position - var d = new Date(); e.C = d.getTime(); - if (!e.moving) { - xWinScrollWin = e; - _xWinScrollTo(); - } -} -function _xWinScrollTo() { - var e = xWinScrollWin || window; - var now, s, t, newY, newX; - now = new Date(); - t = now.getTime() - e.C; - if (e.stop) { e.moving = false; } - else if (t < e.slideTime) { - setTimeout("_xWinScrollTo()", e.timeout); - s = Math.sin(e.B * t); - newX = Math.round(e.xA * s + e.xD); - newY = Math.round(e.yA * s + e.yD); - e.scrollTo(newX, newY); - e.moving = true; - } - else { - e.scrollTo(e.xTarget, e.yTarget); - xWinScrollWin = null; - e.moving = false; - } -} -// xZIndex, Copyright 2001-2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL - -function xZIndex(e,uZ) -{ - if(!(e=xGetElementById(e))) return 0; - if(e.style && xDef(e.style.zIndex)) { - if(xNum(uZ)) e.style.zIndex=uZ; - uZ=parseInt(e.style.zIndex); - } - return uZ; -} diff --git a/pandora_console/include/styles/cb/x.xcp b/pandora_console/include/styles/cb/x.xcp deleted file mode 100644 index 4568177a4a..0000000000 --- a/pandora_console/include/styles/cb/x.xcp +++ /dev/null @@ -1,16 +0,0 @@ -; XC Project: x -; Creates a lib (x.js) that contains all *.js in x/lib. -; Useful during development and testing. - -options -dep +glb -cmp - -; If you want the library file to be -; compressed then use +cmp in the above options. - -libpath lib\ - -appfiles - -lib\x_files.txt - -; The file 'xlib_files.txt' is created by build_all.bat diff --git a/pandora_console/include/styles/cb/x_anim.js b/pandora_console/include/styles/cb/x_anim.js deleted file mode 100644 index dff77499be..0000000000 --- a/pandora_console/include/styles/cb/x_anim.js +++ /dev/null @@ -1,2 +0,0 @@ -/* x_anim.js compiled from X 4.0 with XC 0.27b. Distributed by GNU LGPL. For copyrights, license, documentation and more visit Cross-Browser.com */ -function xEllipse(e, xRadius, yRadius, radiusInc, totalTime, startAngle, stopAngle){if (!(e=xGetElementById(e))) return;if (!e.timeout) e.timeout = 25;e.xA = xRadius;e.yA = yRadius;e.radiusInc = radiusInc;e.slideTime = totalTime;startAngle *= (Math.PI / 180);stopAngle *= (Math.PI / 180);var startTime = (startAngle * e.slideTime) / (stopAngle - startAngle);e.stopTime = e.slideTime + startTime;e.B = (stopAngle - startAngle) / e.slideTime;e.xD = xLeft(e) - Math.round(e.xA * Math.cos(e.B * startTime)); e.yD = xTop(e) - Math.round(e.yA * Math.sin(e.B * startTime)); e.xTarget = Math.round(e.xA * Math.cos(e.B * e.stopTime) + e.xD); e.yTarget = Math.round(e.yA * Math.sin(e.B * e.stopTime) + e.yD); var d = new Date();e.C = d.getTime() - startTime;if (!e.moving) {e.stop=false; _xEllipse(e);}}function _xEllipse(e){if (!(e=xGetElementById(e))) return;var now, t, newY, newX;now = new Date();t = now.getTime() - e.C;if (e.stop) { e.moving = false; }else if (t < e.stopTime) {setTimeout("_xEllipse('"+e.id+"')", e.timeout);if (e.radiusInc) {e.xA += e.radiusInc;e.yA += e.radiusInc;}newX = Math.round(e.xA * Math.cos(e.B * t) + e.xD);newY = Math.round(e.yA * Math.sin(e.B * t) + e.yD);xMoveTo(e, newX, newY);e.moving = true;} else {if (e.radiusInc) {e.xTarget = Math.round(e.xA * Math.cos(e.B * e.slideTime) + e.xD);e.yTarget = Math.round(e.yA * Math.sin(e.B * e.slideTime) + e.yD); }xMoveTo(e, e.xTarget, e.yTarget);e.moving = false;} }function xParaEq(e, xExpr, yExpr, totalTime){if (!(e=xGetElementById(e))) return;e.t = 0;e.tStep = .008;if (!e.timeout) e.timeout = 25;e.xExpr = xExpr;e.yExpr = yExpr;e.slideTime = totalTime;var d = new Date();e.C = d.getTime();if (!e.moving) {e.stop=false; _xParaEq(e);}}function _xParaEq(e){if (!(e=xGetElementById(e))) return;var now = new Date();var et = now.getTime() - e.C;e.t += e.tStep;t = e.t;if (e.stop) { e.moving = false; }else if (!e.slideTime || et < e.slideTime) {setTimeout("_xParaEq('"+e.id+"')", e.timeout);var p = xParent(e), centerX, centerY;centerX = (xWidth(p)/2)-(xWidth(e)/2);centerY = (xHeight(p)/2)-(xHeight(e)/2);e.xTarget = Math.round((eval(e.xExpr) * centerX) + centerX) + xScrollLeft(p);e.yTarget = Math.round((eval(e.yExpr) * centerY) + centerY) + xScrollTop(p);xMoveTo(e, e.xTarget, e.yTarget);e.moving = true;} else {e.moving = false;} }function xSlideCornerTo(e, corner, targetX, targetY, totalTime){if (!(e=xGetElementById(e))) return;if (!e.timeout) e.timeout = 25;e.xT = targetX;e.yT = targetY;e.slideTime = totalTime;e.corner = corner.toLowerCase();e.stop = false;switch(e.corner) {case 'nw': e.xA = e.xT - xLeft(e); e.yA = e.yT - xTop(e); e.xD = xLeft(e); e.yD = xTop(e); break;case 'sw': e.xA = e.xT - xLeft(e); e.yA = e.yT - (xTop(e) + xHeight(e)); e.xD = xLeft(e); e.yD = xTop(e) + xHeight(e); break;case 'ne': e.xA = e.xT - (xLeft(e) + xWidth(e)); e.yA = e.yT - xTop(e); e.xD = xLeft(e) + xWidth(e); e.yD = xTop(e); break;case 'se': e.xA = e.xT - (xLeft(e) + xWidth(e)); e.yA = e.yT - (xTop(e) + xHeight(e)); e.xD = xLeft(e) + xWidth(e); e.yD = xTop(e) + xHeight(e); break;default: alert("xSlideCornerTo: Invalid corner"); return;}e.B = Math.PI / ( 2 * e.slideTime );var d = new Date();e.C = d.getTime();if (!e.moving) _xSlideCornerTo(e);}function _xSlideCornerTo(e){if (!(e=xGetElementById(e))) return;var now, seX, seY;now = new Date();t = now.getTime() - e.C;if (e.stop) { e.moving = false; e.stop = false; return; }else if (t < e.slideTime) {setTimeout("_xSlideCornerTo('"+e.id+"')", e.timeout);s = Math.sin( e.B * t );newX = Math.round(e.xA * s + e.xD);newY = Math.round(e.yA * s + e.yD);}else { newX = e.xT; newY = e.yT; } seX = xLeft(e) + xWidth(e);seY = xTop(e) + xHeight(e);switch(e.corner) {case 'nw': xMoveTo(e, newX, newY); xResizeTo(e, seX - xLeft(e), seY - xTop(e)); break;case 'sw': if (e.xT != xLeft(e)) { xLeft(e, newX); xWidth(e, seX - xLeft(e)); } xHeight(e, newY - xTop(e)); break;case 'ne': xWidth(e, newX - xLeft(e)); if (e.yT != xTop(e)) { xTop(e, newY); xHeight(e, seY - xTop(e)); } break;case 'se': xWidth(e, newX - xLeft(e)); xHeight(e, newY - xTop(e)); break;default: e.stop = true;}e.moving = true;if (t >= e.slideTime) {e.moving = false;}} \ No newline at end of file diff --git a/pandora_console/include/styles/cb/x_anim.xcp b/pandora_console/include/styles/cb/x_anim.xcp deleted file mode 100644 index be7daff6be..0000000000 --- a/pandora_console/include/styles/cb/x_anim.xcp +++ /dev/null @@ -1,21 +0,0 @@ -; XC Project: x_anim - -options -dep -glb - -; If you don't want the library file to be -; compressed then add -cmp to the above options. - -libpath lib\ - -appfiles - -x_anim.xcp - -; This project file is the only app file fed to XC. -; The following X symbols will be included in the -; library file. They are commented-out so XC will -; not see them as more app files. - -; xEllipse -; xParaEq -; xSlideCornerTo \ No newline at end of file diff --git a/pandora_console/include/styles/cb/x_cook.js b/pandora_console/include/styles/cb/x_cook.js deleted file mode 100644 index 236c1d3c8d..0000000000 --- a/pandora_console/include/styles/cb/x_cook.js +++ /dev/null @@ -1,2 +0,0 @@ -/* x_cook.js compiled from X 4.0 with XC 0.27b. Distributed by GNU LGPL. For copyrights, license, documentation and more visit Cross-Browser.com */ -function xDeleteCookie(name, path){if (xGetCookie(name)) {document.cookie = name + "=" +"; path=" + ((!path) ? "/" : path) +"; expires=" + new Date(0).toGMTString();}}function xGetCookie(name){var value=null, search=name+"=";if (document.cookie.length > 0) {var offset = document.cookie.indexOf(search);if (offset != -1) {offset += search.length;var end = document.cookie.indexOf(";", offset);if (end == -1) end = document.cookie.length;value = unescape(document.cookie.substring(offset, end));}}return value;}function xSetCookie(name, value, expire, path){document.cookie = name + "=" + escape(value) +((!expire) ? "" : ("; expires=" + expire.toGMTString())) +"; path=" + ((!path) ? "/" : path);} \ No newline at end of file diff --git a/pandora_console/include/styles/cb/x_cook.xcp b/pandora_console/include/styles/cb/x_cook.xcp deleted file mode 100644 index 5d1fb5e132..0000000000 --- a/pandora_console/include/styles/cb/x_cook.xcp +++ /dev/null @@ -1,21 +0,0 @@ -; XC Project: x_cook - -options -dep -glb - -; If you don't want the library file to be -; compressed then add -cmp to the above options. - -libpath lib\ - -appfiles - -x_cook.xcp - -; This project file is the only app file fed to XC. -; The following X symbols will be included in the -; library file. They are commented-out so XC will -; not see them as more app files. - -; xSetCookie -; xGetCookie -; xDeleteCookie diff --git a/pandora_console/include/styles/cb/x_core.xcp b/pandora_console/include/styles/cb/x_core.xcp deleted file mode 100644 index 3db1a18960..0000000000 --- a/pandora_console/include/styles/cb/x_core.xcp +++ /dev/null @@ -1,47 +0,0 @@ -; XC Project: x_core - -options -dep +glb - -; If you don't want the library file to be -; compressed then add -cmp to the above options. - -libpath lib\ - -appfiles - -x_core.xcp - -; This project file is the only app file fed to XC. -; The following X symbols will be included in the -; library file. They are commented-out so XC will -; not see them as more app files. - -; xGetElementById -; xParent -; xDef -; xStr -; xNum -; xShow -; xHide -; xVisibility -; xDisplay -; xZIndex -; xColor -; xBackground -; xMoveTo -; xLeft -; xTop -; xPageX -; xPageY -; xOffsetLeft -; xOffsetTop -; xScrollLeft -; xScrollTop -; xHasPoint -; xResizeTo -; xWidth -; xHeight -; xGetComputedStyle <- temporarily in this file? -; xClip -; xClientWidth -; xClientHeight diff --git a/pandora_console/include/styles/cb/x_core_n4.js b/pandora_console/include/styles/cb/x_core_n4.js deleted file mode 100644 index cac814560f..0000000000 --- a/pandora_console/include/styles/cb/x_core_n4.js +++ /dev/null @@ -1,360 +0,0 @@ -// x_core_n4.js, Copyright (C) 2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser.com Javascript Library, Distributed under the terms of the GNU LGPL -// r2, 25Feb04, mf, Built from x_core.js, X v3.15.2. - -// X library with NN4.x support - -var xVersion='3.15.2',xNN4,xOp7,xOp5or6,xIE4Up,xIE4,xIE5,xUA=navigator.userAgent.toLowerCase(); -if (window.opera){ - xOp7=(xUA.indexOf('opera 7')!=-1 || xUA.indexOf('opera/7')!=-1); - if (!xOp7) xOp5or6=(xUA.indexOf('opera 5')!=-1 || xUA.indexOf('opera/5')!=-1 || xUA.indexOf('opera 6')!=-1 || xUA.indexOf('opera/6')!=-1); -} -else if (document.all) { - xIE4Up=xUA.indexOf('msie')!=-1 && parseInt(navigator.appVersion)>=4; - xIE4=xUA.indexOf('msie 4')!=-1; - xIE5=xUA.indexOf('msie 5')!=-1; -} -else if (document.layers) {xNN4=true;} -function xGetElementById(e) { - if(typeof(e)!='string') return e; - if(document.getElementById) e=document.getElementById(e); - else if(document.all) e=document.all[e]; - else if(document.layers) e=xLayer(e); - else e=null; - return e; -} -function xLayer(id,root) { - var i,layer,found=null; - if (!root) root=window; - for(i=0; i= thisX + iClpL && iLeft <= thisX + xWidth(ele) - iClpR && - iTop >=thisY + iClpT && iTop <= thisY + xHeight(ele) - iClpB ); -} -function xResizeTo(e,uW,uH) { - xWidth(e,uW); - xHeight(e,uH); -} -function xWidth(e,uW) { - if(!(e=xGetElementById(e))) return 0; - if (xNum(uW)) { - if (uW<0) uW = 0; - else uW=Math.round(uW); - } - else uW=-1; - var css=xDef(e.style); - if(css && xDef(e.offsetWidth) && xStr(e.style.width)) { - if(uW>=0) xSetCW(e, uW); - uW=e.offsetWidth; - } - else if(css && xDef(e.style.pixelWidth)) { - if(uW>=0) e.style.pixelWidth=uW; - uW=e.style.pixelWidth; - } - else if(xDef(e.clip) && xDef(e.clip.right)) { - if(uW>=0) e.clip.right=uW; - uW=e.clip.right; - } - return uW; -} -function xHeight(e,uH) { - if(!(e=xGetElementById(e))) return 0; - if (xNum(uH)) { - if (uH<0) uH = 0; - else uH=Math.round(uH); - } - else uH=-1; - var css=xDef(e.style); - if(css && xDef(e.offsetHeight) && xStr(e.style.height)) { - if(uH>=0) xSetCH(e, uH); - uH=e.offsetHeight; - } - else if(css && xDef(e.style.pixelHeight)) { - if(uH>=0) e.style.pixelHeight=uH; - uH=e.style.pixelHeight; - } - else if(xDef(e.clip) && xDef(e.clip.bottom)) { - if(uH>=0) e.clip.bottom=uH; - uH=e.clip.bottom; - } - return uH; -} -function xGetCS(ele,sP){return parseInt(document.defaultView.getComputedStyle(ele,'').getPropertyValue(sP));} -function xSetCW(ele,uW){ - var pl=0,pr=0,bl=0,br=0; - if(xDef(document.defaultView) && xDef(document.defaultView.getComputedStyle)){ - pl=xGetCS(ele,'padding-left'); - pr=xGetCS(ele,'padding-right'); - bl=xGetCS(ele,'border-left-width'); - br=xGetCS(ele,'border-right-width'); - } - else if(xDef(ele.currentStyle,document.compatMode)){ - if(document.compatMode=='CSS1Compat'){ - pl=parseInt(ele.currentStyle.paddingLeft); - pr=parseInt(ele.currentStyle.paddingRight); - bl=parseInt(ele.currentStyle.borderLeftWidth); - br=parseInt(ele.currentStyle.borderRightWidth); - } - } - else if(xDef(ele.offsetWidth,ele.style.width)){ // ? - ele.style.width=uW+'px'; - pl=ele.offsetWidth-uW; - } - if(isNaN(pl)) pl=0; if(isNaN(pr)) pr=0; if(isNaN(bl)) bl=0; if(isNaN(br)) br=0; - var cssW=uW-(pl+pr+bl+br); - if(isNaN(cssW)||cssW<0) return; - else ele.style.width=cssW+'px'; -} -function xSetCH(ele,uH){ - var pt=0,pb=0,bt=0,bb=0; - if(xDef(document.defaultView) && xDef(document.defaultView.getComputedStyle)){ - pt=xGetCS(ele,'padding-top'); - pb=xGetCS(ele,'padding-bottom'); - bt=xGetCS(ele,'border-top-width'); - bb=xGetCS(ele,'border-bottom-width'); - } - else if(xDef(ele.currentStyle,document.compatMode)){ - if(document.compatMode=='CSS1Compat'){ - pt=parseInt(ele.currentStyle.paddingTop); - pb=parseInt(ele.currentStyle.paddingBottom); - bt=parseInt(ele.currentStyle.borderTopWidth); - bb=parseInt(ele.currentStyle.borderBottomWidth); - } - } - else if(xDef(ele.offsetHeight,ele.style.height)){ // ? - ele.style.height=uH+'px'; - pt=ele.offsetHeight-uH; - } - if(isNaN(pt)) pt=0; if(isNaN(pb)) pb=0; if(isNaN(bt)) bt=0; if(isNaN(bb)) bb=0; - var cssH=uH-(pt+pb+bt+bb); - if(isNaN(cssH)||cssH<0) return; - else ele.style.height=cssH+'px'; -} -function xClip(e,iTop,iRight,iBottom,iLeft) { - if(!(e=xGetElementById(e))) return; - if(e.style) { - if (xNum(iLeft)) e.style.clip='rect('+iTop+'px '+iRight+'px '+iBottom+'px '+iLeft+'px)'; - else e.style.clip='rect(0 '+parseInt(e.style.width)+'px '+parseInt(e.style.height)+'px 0)'; - } - else if(e.clip) { - if (xNum(iLeft)) { e.clip.top=iTop; e.clip.right=iRight; e.clip.bottom=iBottom; e.clip.left=iLeft; } - else { e.clip.top=0; e.clip.right=xWidth(e); e.clip.bottom=xHeight(e); e.clip.left=0; } - } -} -function xClientWidth() { - var w=0; - if(xOp5or6) w=window.innerWidth; - else if(!window.opera && document.documentElement && document.documentElement.clientWidth) - w=document.documentElement.clientWidth; - else if(document.body && document.body.clientWidth) - w=document.body.clientWidth; - else if(xDef(window.innerWidth,window.innerHeight,document.height)) { - w=window.innerWidth; - if(document.height>window.innerHeight) w-=16; - } - return w; -} -function xClientHeight() { - var h=0; - if(xOp5or6) h=window.innerHeight; - else if(!window.opera && document.documentElement && document.documentElement.clientHeight) - h=document.documentElement.clientHeight; - else if(document.body && document.body.clientHeight) - h=document.body.clientHeight; - else if(xDef(window.innerWidth,window.innerHeight,document.width)) { - h=window.innerHeight; - if(document.width>window.innerWidth) h-=16; - } - return h; -} -function xInnerHtml(e, sHtml) { - if(!(e=xGetElementById(e))) return ''; - if (xStr(e.innerHTML)) { - if (xStr(sHtml)) e.innerHTML = sHtml; - else return e.innerHTML; - } - else if (xNN4) { - if (xStr(sHtml)) { - if (sHtml=='') sHtml = ' '; - e.document.open(); - e.document.write(sHtml); - e.document.close(); - } - else return ''; - } -} diff --git a/pandora_console/include/styles/cb/x_debug.js b/pandora_console/include/styles/cb/x_debug.js deleted file mode 100644 index 47e691fc49..0000000000 --- a/pandora_console/include/styles/cb/x_debug.js +++ /dev/null @@ -1,2 +0,0 @@ -/* x_debug.js compiled from X 4.0 with XC 0.27b. Distributed by GNU LGPL. For copyrights, license, documentation and more visit Cross-Browser.com */ -function xEvalTextarea(){var f = document.createElement('FORM');f.onsubmit = 'return false';var t = document.createElement('TEXTAREA');t.id='xDebugTA';t.name='xDebugTA';t.rows='20';t.cols='60';var b = document.createElement('INPUT');b.type = 'button';b.value = 'Evaluate';b.onclick = function() {eval(this.form.xDebugTA.value);};f.appendChild(t);f.appendChild(b);document.body.appendChild(f);}function xGetElePropsArray(ele, eleName){var u = 'undefined';var i = 0, a = new Array();nv('Element', eleName);nv('id', (xDef(ele.id) ? ele.id : u));nv('tagName', (xDef(ele.tagName) ? ele.tagName : u));nv('xWidth()', xWidth(ele));nv('style.width', (xDef(ele.style) && xDef(ele.style.width) ? ele.style.width : u));nv('offsetWidth', (xDef(ele.offsetWidth) ? ele.offsetWidth : u));nv('scrollWidth', (xDef(ele.offsetWidth) ? ele.offsetWidth : u));nv('clientWidth', (xDef(ele.clientWidth) ? ele.clientWidth : u));nv('xHeight()', xHeight(ele));nv('style.height', (xDef(ele.style) && xDef(ele.style.height) ? ele.style.height : u));nv('offsetHeight', (xDef(ele.offsetHeight) ? ele.offsetHeight : u));nv('scrollHeight', (xDef(ele.offsetHeight) ? ele.offsetHeight : u));nv('clientHeight', (xDef(ele.clientHeight) ? ele.clientHeight : u));nv('xLeft()', xLeft(ele));nv('style.left', (xDef(ele.style) && xDef(ele.style.left) ? ele.style.left : u));nv('offsetLeft', (xDef(ele.offsetLeft) ? ele.offsetLeft : u));nv('style.pixelLeft', (xDef(ele.style) && xDef(ele.style.pixelLeft) ? ele.style.pixelLeft : u));nv('xTop()', xTop(ele));nv('style.top', (xDef(ele.style) && xDef(ele.style.top) ? ele.style.top : u));nv('offsetTop', (xDef(ele.offsetTop) ? ele.offsetTop : u));nv('style.pixelTop', (xDef(ele.style) && xDef(ele.style.pixelTop) ? ele.style.pixelTop : u));nv('', '');nv('xGetComputedStyle()', '');nv('top');nv('right');nv('bottom');nv('left');nv('width');nv('height');nv('color');nv('background-color');nv('font-family');nv('font-size');nv('text-align');nv('line-height');nv('content');nv('float');nv('clear');nv('margin');nv('padding');nv('padding-top');nv('padding-right');nv('padding-bottom');nv('padding-left');nv('border-top-width');nv('border-right-width');nv('border-bottom-width');nv('border-left-width');nv('position');nv('overflow');nv('visibility');nv('display');nv('z-index');nv('clip');nv('cursor');return a;function nv(name, value){a[i] = new Object();a[i].name = name;a[i].value = typeof(value)=='undefined' ? xGetComputedStyle(ele, name) : value;++i;}}function xGetElePropsString(ele, eleName, newLine){var s = '', a = xGetElePropsArray(ele, eleName);for (var i = 0; i < a.length; ++i) {s += a[i].name + ' = ' + a[i].value + (newLine || '\n');}return s;}function xLoadScript(url){if (document.createElement && document.getElementsByTagName) {var s = document.createElement('script');var h = document.getElementsByTagName('head');if (s && h.length) {s.src = url;h[0].appendChild(s);}}}function xName(e){if (!e) return e;else if (e.id && e.id != "") return e.id;else if (e.name && e.name != "") return e.name;else if (e.nodeName && e.nodeName != "") return e.nodeName;else if (e.tagName && e.tagName != "") return e.tagName;else return e;}function xParentChain(e,delim,bNode){if (!(e=xGetElementById(e))) return;var lim=100, s = "", d = delim || "\n";while(e) {s += xName(e) + ', ofsL:'+e.offsetLeft + ', ofsT:'+e.offsetTop + d;e = xParent(e,bNode);if (!lim--) break;}return s;}function xSetIETitle(){if (xIE4Up) {var i = xUA.indexOf('msie') + 1;var v = xUA.substr(i + 4, 3);document.title = 'IE ' + v + ' - ' + document.title;}} \ No newline at end of file diff --git a/pandora_console/include/styles/cb/x_debug.xcp b/pandora_console/include/styles/cb/x_debug.xcp deleted file mode 100644 index d89f0c08cd..0000000000 --- a/pandora_console/include/styles/cb/x_debug.xcp +++ /dev/null @@ -1,25 +0,0 @@ -; XC Project: x_debug - -options -dep -glb - -; If you don't want the library file to be -; compressed then add -cmp to the above options. - -libpath lib\ - -appfiles - -x_debug.xcp - -; This project file is the only app file fed to XC. -; The following X symbols will be included in the -; library file. They are commented-out so XC will -; not see them as more app files. - -; xSetIETitle -; xGetElePropsString -; xGetElePropsArray -; xName -; xParentChain -; xLoadScript -; xEvalTextarea diff --git a/pandora_console/include/styles/cb/x_dom.xcp b/pandora_console/include/styles/cb/x_dom.xcp deleted file mode 100644 index 8de68f4aee..0000000000 --- a/pandora_console/include/styles/cb/x_dom.xcp +++ /dev/null @@ -1,30 +0,0 @@ -; XC Project: x_dom - -options -dep -glb - -; If you don't want the library file to be -; compressed then add -cmp to the above options. - -libpath lib\ - -appfiles - -x_dom.xcp - -; This project file is the only app file fed to XC. -; The following X symbols will be included in the -; library file. They are commented-out so XC will -; not see them as more app files. - -; xWalkEleTree -; xWalkTree -; xGetComputedStyle -; xGetElementsByClassName -; xGetElementsByTagName -; xGetElementsByAttribute -; xPrevSib -; xNextSib -; xFirstChild -; xInnerHtml -; xCreateElement -; xAppendChild diff --git a/pandora_console/include/styles/cb/x_dom_n4.js b/pandora_console/include/styles/cb/x_dom_n4.js deleted file mode 100644 index a6097c56c5..0000000000 --- a/pandora_console/include/styles/cb/x_dom_n4.js +++ /dev/null @@ -1,32 +0,0 @@ -// x_dom_n4.js, Copyright (C) 2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser.com Javascript Library, Distributed under the terms of the GNU LGPL -// r2, 25Feb04, mf, Built from x_dom.js, X v3.15.2. - -// X library with NN4.x support - -// Returns a new Element object. -// For NN4, returns a new Object object - xAppendChild will return the Layer object. -function xCreateElement(sTag) -{ - var ele=null; - if (xOp5or6 || xIE4) return null; - if (document.createElement) ele = document.createElement(sTag); - else if (xNN4) ele = new Object(); - return ele; -} -function xAppendChild(oParent, oChild, nn4Width) // returns oChild -{ - var ele=null; - if (!oChild) return; - if (oParent && oParent.appendChild) ele = oParent.appendChild(oChild); - else if (xNN4) { - if (typeof(oChild)=='object') delete oChild; - if (!oParent || oParent.id.indexOf('_layer')==-1) { - oParent = window; - if (!nn4Width) nn4Width = xClientWidth(); - } - else if (!nn4Width) nn4Width = xWidth(oParent); - ele = new Layer(nn4Width, oParent); - } - return ele; -} diff --git a/pandora_console/include/styles/cb/x_drag.xcp b/pandora_console/include/styles/cb/x_drag.xcp deleted file mode 100644 index d53fbd78f1..0000000000 --- a/pandora_console/include/styles/cb/x_drag.xcp +++ /dev/null @@ -1,20 +0,0 @@ -; XC Project: x_drag - -options -dep -glb - -; If you don't want the library file to be -; compressed then add -cmp to the above options. - -libpath lib\ - -appfiles - -x_drag.xcp - -; This project file is the only app file fed to XC. -; The following X symbols will be included in the -; library file. They are commented-out so XC will -; not see them as more app files. - -; xEnableDrag -; xDisableDrag diff --git a/pandora_console/include/styles/cb/x_event.xcp b/pandora_console/include/styles/cb/x_event.xcp deleted file mode 100644 index 5f5bb5fcca..0000000000 --- a/pandora_console/include/styles/cb/x_event.xcp +++ /dev/null @@ -1,23 +0,0 @@ -; XC Project: x_event - -options -dep -glb - -; If you don't want the library file to be -; compressed then add -cmp to the above options. - -libpath lib\ - -appfiles - -x_event.xcp - -; This project file is the only app file fed to XC. -; The following X symbols will be included in the -; library file. They are commented-out so XC will -; not see them as more app files. - -; xAddEventListener -; xRemoveEventListener -; xEvent -; xStopPropagation -; xPreventDefault diff --git a/pandora_console/include/styles/cb/x_event_n4.js b/pandora_console/include/styles/cb/x_event_n4.js deleted file mode 100644 index ba90d03347..0000000000 --- a/pandora_console/include/styles/cb/x_event_n4.js +++ /dev/null @@ -1,99 +0,0 @@ -// x_event_n4.js, Copyright (C) 2004,2005 Michael Foster (Cross-Browser.com) -// Part of X, a Cross-Browser.com Javascript Library, Distributed under the terms of the GNU LGPL -// r2, 25Feb04, mf, Built from x_event.js, X v3.15.2. - -function xAddEventListener(e,eventType,eventListener,useCapture) { - if(!(e=xGetElementById(e))) return; - eventType=eventType.toLowerCase(); - if((!xIE4Up && !xOp7) && e==window) { - if(eventType=='resize') { window.xPCW=xClientWidth(); window.xPCH=xClientHeight(); window.xREL=eventListener; xResizeEvent(); return; } - if(eventType=='scroll') { window.xPSL=xScrollLeft(); window.xPST=xScrollTop(); window.xSEL=eventListener; xScrollEvent(); return; } - } - var eh='e.on'+eventType+'=eventListener'; - if(e.addEventListener) e.addEventListener(eventType,eventListener,useCapture); - else if(e.attachEvent) e.attachEvent('on'+eventType,eventListener); - else if(e.captureEvents) { - if(useCapture||(eventType.indexOf('mouse')!=-1)) { e.captureEvents(eval('Event.'+eventType.toUpperCase())); } - eval(eh); - } - else eval(eh); -} -function xRemoveEventListener(e,eventType,eventListener,useCapture) { - if(!(e=xGetElementById(e))) return; - eventType=eventType.toLowerCase(); - if((!xIE4Up && !xOp7) && e==window) { - if(eventType=='resize') { window.xREL=null; return; } - if(eventType=='scroll') { window.xSEL=null; return; } - } - var eh='e.on'+eventType+'=null'; - if(e.removeEventListener) e.removeEventListener(eventType,eventListener,useCapture); - else if(e.detachEvent) e.detachEvent('on'+eventType,eventListener); - else if(e.releaseEvents) { - if(useCapture||(eventType.indexOf('mouse')!=-1)) { e.releaseEvents(eval('Event.'+eventType.toUpperCase())); } - eval(eh); - } - else eval(eh); -} -function xEvent(evt) { - this.type = ''; - this.target = null; - this.pageX = 0; - this.pageY = 0; - this.offsetX = 0; - this.offsetY = 0; - this.keyCode = 0; -// var e = evt ? evt : window.event; - var e = evt || window.event; - if(!e) return; - if(e.type) this.type = e.type; - if(e.target) this.target = e.target; - else if(e.srcElement) this.target = e.srcElement; - else if(xNN4) this.target = xLayerFromPoint(e.pageX, e.pageY); - if(xOp5or6) { this.pageX = e.clientX; this.pageY = e.clientY; } - else if(xDef(e.pageX,e.pageY)) { this.pageX = e.pageX; this.pageY = e.pageY; } // v3.14 - else if(xDef(e.clientX,e.clientY)) { this.pageX = e.clientX + xScrollLeft(); this.pageY = e.clientY + xScrollTop(); } -// -// if(xDef(e.offsetX,e.offsetY)) { this.offsetX = e.offsetX; this.offsetY = e.offsetY; } -// else if(xDef(e.layerX,e.layerY)) { this.offsetX = e.layerX; this.offsetY = e.layerY; } -// else { this.offsetX = this.pageX - xPageX(this.target); this.offsetY = this.pageY - xPageY(this.target); } -// - if(xDef(e.offsetX,e.offsetY)) { - this.offsetX = e.offsetX; - this.offsetY = e.offsetY; - if (xIE4Up && xMac) { - this.offsetX += xScrollLeft(); - this.offsetY += xScrollTop(); - } - } - else if(xDef(e.layerX,e.layerY)) { this.offsetX = e.layerX; this.offsetY = e.layerY; } - else { this.offsetX = this.pageX - xPageX(this.target); this.offsetY = this.pageY - xPageY(this.target); } -// - - if (e.keyCode) { this.keyCode = e.keyCode; } // for moz/fb, if keyCode==0 use which - else if (xDef(e.which)) { this.keyCode = e.which; } -} -function xLayerFromPoint(x,y,root) { - var i, hn=null, hz=-1, cn; - if (!root) root = window; - for (i=0; i < root.document.layers.length; ++i) { - cn = root.document.layers[i]; - if (cn.visibility != "hide" && x >= cn.pageX && x <= cn.pageX + cn.clip.right && y >= cn.pageY && y <= cn.pageY + cn.clip.bottom ) { - if (cn.zIndex > hz) { hz = cn.zIndex; hn = cn; } - } - } - if (hn) { - cn = xLayerFromPoint(x,y,hn); - if (cn) hn = cn; - } - return hn; -} -function xResizeEvent() { - if (window.xREL) setTimeout('xResizeEvent()', 250); - var cw = xClientWidth(), ch = xClientHeight(); - if (window.xPCW != cw || window.xPCH != ch) { window.xPCW = cw; window.xPCH = ch; if (window.xREL) window.xREL(); } -} -function xScrollEvent() { - if (window.xSEL) setTimeout('xScrollEvent()', 250); - var sl = xScrollLeft(), st = xScrollTop(); - if (window.xPSL != sl || window.xPST != st) { window.xPSL = sl; window.xPST = st; if (window.xSEL) window.xSEL(); } -} diff --git a/pandora_console/include/styles/cb/x_img.js b/pandora_console/include/styles/cb/x_img.js deleted file mode 100644 index cc95edb470..0000000000 --- a/pandora_console/include/styles/cb/x_img.js +++ /dev/null @@ -1,2 +0,0 @@ -/* x_img.js compiled from X 4.0 with XC 0.27b. Distributed by GNU LGPL. For copyrights, license, documentation and more visit Cross-Browser.com */ -function xImgAsyncWait(fnStatus, fnInit, fnError, sErrorImg, sAbortImg, imgArray){var i, imgs = imgArray || document.images;for (i = 0; i < imgs.length; ++i) {imgs[i].onload = imgOnLoad;imgs[i].onerror = imgOnError;imgs[i].onabort = imgOnAbort;}xIAW.fnStatus = fnStatus;xIAW.fnInit = fnInit;xIAW.fnError = fnError;xIAW.imgArray = imgArray;xIAW();function imgOnLoad(){this.wasLoaded = true;}function imgOnError(){if (sErrorImg && !this.wasError) {this.src = sErrorImg;}this.wasError = true;}function imgOnAbort(){if (sAbortImg && !this.wasAborted) {this.src = sAbortImg;}this.wasAborted = true;}}function xIAW(){var me = arguments.callee;if (!me) {return; }var i, imgs = me.imgArray ? me.imgArray : document.images;var c = 0, e = 0, a = 0, n = imgs.length;for (i = 0; i < n; ++i) {if (imgs[i].wasError) {++e;}else if (imgs[i].wasAborted) {++a;}else if (imgs[i].complete || imgs[i].wasLoaded) {++c;}}if (me.fnStatus) {me.fnStatus(n, c, e, a);}if (c + e + a == n) {if ((e || a) && me.fnError) {me.fnError(n, c, e, a);}else if (me.fnInit) {me.fnInit();}}else setTimeout('xIAW()', 250);}function xImgRollSetup(p,s,x){var ele, id;for (var i=3; i= e2y2) {iy2 = e2y2;if (e1y1 > e2y2) intersect = false;else ih = e2y2 - Math.max(e1y1, e2y1);}else {iy2 = e1y2;if (e2y1 > e1y2) intersect = false;else ih = e1y2 - Math.max(e1y1, e2y1);}if (intersect && typeof(o)=='object') {o.x = ix1;o.y = iy2 - ih;o.w = iw;o.h = ih;}return intersect;}function xLinearScale(val,iL,iH,oL,oH){var m=(oH-oL)/(iH-iL);var b=oL-(iL*m);return m*val+b;}function xPad(s,len,c,left){if(typeof s != 'string') s=s+'';if(left) {for(var i=s.length; i=0?xf+x+c:e)+(y>=0?yf+y+c:e)+'location='+loc+',menubar='+men+',resizable='+res+',scrollbars='+scr+',status='+sta+',toolbar='+too;this.opened = function() {return this.w && !this.w.closed;};this.close = function() {if(this.opened()) this.w.close();};this.focus = function() {if(this.opened()) this.w.focus();};this.load = function(sUrl) {if (this.opened()) this.w.location.href = sUrl;else this.w = window.open(sUrl,this.n,this.f);this.focus();return false;};function onClick() {return thisObj.load(this.href);}xGetElementsByClassName(clsName, document, '*', bindOnClick);function bindOnClick(e) {e.onclick = onClick;}}function xWindow(name, w, h, x, y, loc, men, res, scr, sta, too){var e='',c=',',xf='left=',yf='top='; this.n = name;if (document.layers) {xf='screenX='; yf='screenY=';}this.f = (w?'width='+w+c:e)+(h?'height='+h+c:e)+(x>=0?xf+x+c:e)+(y>=0?yf+y+c:e)+'location='+loc+',menubar='+men+',resizable='+res+',scrollbars='+scr+',status='+sta+',toolbar='+too;this.opened = function() {return this.w && !this.w.closed;};this.close = function() {if(this.opened()) this.w.close();};this.focus = function() {if(this.opened()) this.w.focus();};this.load = function(sUrl) {if (this.opened()) this.w.location.href = sUrl;else this.w = window.open(sUrl,this.n,this.f);this.focus();return false;};}var xChildWindow = null;function xWinOpen(sUrl){var features = "left=0,top=0,width=600,height=500,location=0,menubar=0," +"resizable=1,scrollbars=1,status=0,toolbar=0";if (xChildWindow && !xChildWindow.closed) {xChildWindow.location.href = sUrl;}else {xChildWindow = window.open(sUrl, "myWinName", features);}xChildWindow.focus();return false;}var xWinScrollWin = null;function xWinScrollTo(win,x,y,uTime) {var e = win;if (!e.timeout) e.timeout = 25;var st = xScrollTop(e, 1);var sl = xScrollLeft(e, 1);e.xTarget = x; e.yTarget = y; e.slideTime = uTime; e.stop = false;e.yA = e.yTarget - st;e.xA = e.xTarget - sl; e.B = Math.PI / (2 * e.slideTime); e.yD = st;e.xD = sl; var d = new Date(); e.C = d.getTime();if (!e.moving) {xWinScrollWin = e;_xWinScrollTo();}}function _xWinScrollTo() {var e = xWinScrollWin || window;var now, s, t, newY, newX;now = new Date();t = now.getTime() - e.C;if (e.stop) { e.moving = false; }else if (t < e.slideTime) {setTimeout("_xWinScrollTo()", e.timeout);s = Math.sin(e.B * t);newX = Math.round(e.xA * s + e.xD);newY = Math.round(e.yA * s + e.yD);e.scrollTo(newX, newY);e.moving = true;} else {e.scrollTo(e.xTarget, e.yTarget);xWinScrollWin = null;e.moving = false;} } \ No newline at end of file diff --git a/pandora_console/include/styles/cb/x_win.xcp b/pandora_console/include/styles/cb/x_win.xcp deleted file mode 100644 index 6cbbcdeff9..0000000000 --- a/pandora_console/include/styles/cb/x_win.xcp +++ /dev/null @@ -1,22 +0,0 @@ -; XC Project: x_win - -options -dep -glb - -; If you don't want the library file to be -; compressed then add -cmp to the above options. - -libpath lib\ - -appfiles - -x_win.xcp - -; This project file is the only app file fed to XC. -; The following X symbols will be included in the -; library file. They are commented-out so XC will -; not see them as more app files. - -; xWindow -; xWinClass -; xWinOpen -; xWinScrollTo diff --git a/pandora_console/include/styles/cb/xc/license.html b/pandora_console/include/styles/cb/xc/license.html deleted file mode 100644 index e6a9cc59fa..0000000000 --- a/pandora_console/include/styles/cb/xc/license.html +++ /dev/null @@ -1,588 +0,0 @@ - - - -GNU Lesser General Public License - GNU Project - Free Software Foundation (FSF) - - - -

GNU Lesser General Public License

- -

Table of Contents

-
- -

- -


- -

- - - -

GNU LESSER GENERAL PUBLIC LICENSE

-

-Version 2.1, February 1999 - -

-

-Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- - -

Preamble

- -

- The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. -

- This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. -

- When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. -

- To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. -

- For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. -

- We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. -

- To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. -

- Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. -

- Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. -

- When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. -

- We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. -

- For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. -

- In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. -

- Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. -

- The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. -

- -

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

- - -

-0. -This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". -

- A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. -

- The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) -

- "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. -

- Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. -

-1. -You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. -

- You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. -

-2. -You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: -

-

    -
  • a) - The modified work must itself be a software library. -
  • b) - You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - -
  • c) - You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - -
  • d) - If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. -

    - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) -

    - These requirements apply to the modified work as a whole. If - identifiable sections of that work are not derived from the Library, - and can be reasonably considered independent and separate works in - themselves, then this License, and its terms, do not apply to those - sections when you distribute them as separate works. But when you - distribute the same sections as part of a whole which is a work based - on the Library, the distribution of the whole must be on the terms of - this License, whose permissions for other licensees extend to the - entire whole, and thus to each and every part regardless of who wrote - it. -

    - Thus, it is not the intent of this section to claim rights or contest - your rights to work written entirely by you; rather, the intent is to - exercise the right to control the distribution of derivative or - collective works based on the Library. -

    - In addition, mere aggregation of another work not based on the Library - with the Library (or with a work based on the Library) on a volume of - a storage or distribution medium does not bring the other work under - the scope of this License. -

-

-3. -You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. -

- Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. -

- This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. -

-4. -You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. -

- If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. -

-5. -A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. -

- However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. -

- When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. -

- If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) -

- Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. -

-6. -As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. -

- You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: -

-

    -
  • a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - -
  • b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - -
  • c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - -
  • d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - -
  • e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. -
-

- For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. -

- It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. -

-7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: -

-

    -
  • a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - -
  • b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. -
-

-8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. -

-9. -You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. -

-10. -Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. -

-11. -If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. -

-If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. -

-It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. -

-This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. -

-12. -If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. -

-13. -The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. -

-Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. -

-14. -If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. -

-NO WARRANTY -

-15. -BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. -

-16. -IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. -

-

END OF TERMS AND CONDITIONS

- -

How to Apply These Terms to Your New Libraries

-

- If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). -

- To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. -

- -

-one line to give the library's name and an idea of what it does.
-Copyright (C) year  name of author
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public
-License as published by the Free Software Foundation; either
-version 2.1 of the License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public
-License along with this library; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
- -

-Also add information on how to contact you by electronic and paper mail. - -

-You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - -

-

-Yoyodyne, Inc., hereby disclaims all copyright interest in
-the library `Frob' (a library for tweaking knobs) written
-by James Random Hacker.
-
-signature of Ty Coon, 1 April 1990
-Ty Coon, President of Vice
-
- -

-That's all there is to it! - -


- -If you need this license in a different language or would like to read more about the GNU licenses -go to GNU's home page. -

-Copyright notice above.
-Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111, USA -

-Updated: - -27 Nov 2000 paulv - -


- - diff --git a/pandora_console/include/styles/cb/xc/xc.c b/pandora_console/include/styles/cb/xc/xc.c deleted file mode 100644 index d00db6fea8..0000000000 --- a/pandora_console/include/styles/cb/xc/xc.c +++ /dev/null @@ -1,721 +0,0 @@ -/*----------------------------------------------------------------------------- - xc.c - X Library Compiler - Copyright 2004-2005 Michael Foster (Cross-Browser.com) - Distributed under the terms of the GNU LGPL - -v0.28b, 8Aug05, now parses x symbols in quotes. thanks for bug report from Miguel Angel Alvarez -v0.24b, 25May05, removed all doc support for now ------------------------------------------------------------------------------*/ - -#include "xc.h" - -// Global Variables - -struct -{ - char name[MAX_NAME_LEN]; // Symbol name, corresponds to an X lib file found in lib_path. - int dep[MAX_SYMBOLS]; /* An array of dependencies for this symbol, - each array element is an index into the symbols array. */ - int dep_len; // Length of the dep array. - int inc; /* Indicates the number of times this symbol was found - in the app files. If zero then this X lib file will not - be included in the output js lib file. */ -} symbols[MAX_SYMBOLS]; -int symbols_len = 0; - -struct -{ - bool cmp; /* true = Compression applied to output lib js file. Default = true. - Compression removes leading white space, new lines and blank lines. - Also removes "//" comments but does not remove multi-line comments. */ - bool lws; // true = Retain leading white space. Default = false. - bool nln; // true = Retain newline chars on non-blank lines. Default = false. - bool bln; // true = Retain blank lines. Default = false. - bool log; // true = Generate log file. Default = false. - bool lib; // true = Generate lib file. Default = true. - bool glb; // true = Include X_GLB_FILE.js. Default = true. - bool dbg; // true = Debug info in log file. Sets options.log to true. Default = false. - bool dep; /* true = Dependents included in output. Default = true. - When false it is useful for creating a lib file from a list of X symbols. - I use -dep to create x_core.js, x_event.js, etc. */ -} options; - -char x_ver[MAX_NAME_LEN]; // current X version string read from X_VER_FILE -char prj_name[MAX_PATH_LEN]; // The project name (with no extension) must be given on the command line. -char lib_path[MAX_PATH_LEN]; // Path to the X lib files. -char app_files[MAX_APP_FILES][MAX_PATH_LEN]; // Array of app file pathnames. -int app_files_len = 0; // Length of the app_files array. -FILE *log_fp = NULL; // Log file pointer. - -// Function Prototypes - -int main(int argc, char *argv[]); -bool read_prj_file(char *name); -bool get_x_ver(); -bool get_valid_syms(); -bool get_lib_file_deps(int sym_idx); -int get_sym_idx(char *symbol); -void set_dep(int sym_idx, int dep); -bool get_app_file_syms(char *fname); -void include_sym(int idx); -bool create_lib(); -bool append_lib(FILE *out_fp, char *name); -void skip_ws(char **s); -void rtrim(char *s); -void write_post_log(); - -// Function Definitions - -int main(int argc, char *argv[]) -{ - int i; - char log_name[MAX_PATH_LEN]; - - printf(XC_HDR_STR, XC_VER); - - // Read project file. - - if (argc <= 1) - { - printf("\nError: No project name specified on command line.\n"); - printf(HELP_STR); - return 1; - } - - if (!read_prj_file(argv[1])) // Expects argv[1] to be project name with no extension, - { // and expects to find prjName.PRJ_EXT in current directory. - printf(HELP_STR); - return 2; - } - - // Open log file. - - if (options.log) - { - strcpy(log_name, prj_name); - strcat(log_name, LOG_EXT); - if ((log_fp = fopen(log_name, "w")) == NULL) - { - printf("\nWarning: Could not open log file: %s\n", log_name); - } - else if (log_fp) fprintf(log_fp, XC_HDR_STR, XC_VER); - } - - get_x_ver(); // Open X_VER_FILE and parse version string - - // Create symbol table. - - if (!get_valid_syms()) - { - if (log_fp) - { - fclose(log_fp); - } - return 4; - } - - for (i = 0; i < symbols_len; ++i) - { - if (!get_lib_file_deps(i)) - { - if (log_fp) - { - fclose(log_fp); - } - return 5; - } - } - - // Get symbols from app files. - - for (i = 0; i < app_files_len; ++i) - { - if (!get_app_file_syms(app_files[i])) - { - if (log_fp) - { - fclose(log_fp); - } - return 6; - } - } - - // Create output lib. - - if (options.lib) - { - if (!create_lib()) - { - if (log_fp) - { - fclose(log_fp); - } - return 7; - } - } - - // Report results. - - printf("\ncreated "); - if (options.lib) printf("%s%s", prj_name, LIB_EXT); - if (options.lib && log_fp) printf(" and "); - if (log_fp) printf("%s%s", prj_name, LOG_EXT); - printf("\n"); - - if (log_fp) - { - write_post_log(); - fclose(log_fp); - } - - return 0; // success -} - -/* - Reads options, libpath and appfiles from project file. - See the xc_reference for project file details. -*/ -bool read_prj_file(char *name) -{ - FILE *fp; - bool opt; - char *p, line[MAX_LINE_LEN], *t, token[MAX_PATH_LEN]; - - strcpy(prj_name, name); - strcpy(line, prj_name); // use 'line' temporarily - strcat(line, PRJ_EXT); - if ((fp = fopen(line, "r")) == NULL) - { - printf("\nError: Could not open project file: %s%s\n", name, PRJ_EXT); - return false; - } - - // option defaults - options.glb = true; - options.dep = true; - options.log = false; - options.lib = true; - options.dbg = false; - options.cmp = true; - options.lws = false; - options.nln = false; - options.bln = false; - - while (fgets(line, sizeof(line), fp) != NULL ) - { - p = line; - skip_ws(&p); - // skip newlines and comment lines - if (*p == ';' || *p == '\n') - { - continue; - } - // expect directive as first token on line - t = token; - while (*p && *p != ' ' && *p != '\t' && *p != '\n' && *p != ';') - { - *t++ = *p++; - } - *t = 0; - skip_ws(&p); - // process directive - if (!_stricmp(token, "libpath")) - { - t = token; - while (*p && *p != '\n' && *p != ';') - { - *t++ = *p++; - } - *t = 0; - rtrim(token); - strcpy(lib_path, token); - } - else if (!_stricmp(token, "appfiles")) - { - // get app file pathnames (expects one per line) - app_files_len = 0; - while (fgets(line, sizeof(line), fp) != NULL ) - { - p = line; - skip_ws(&p); - if (*p != ';' && *p != '\n') - { - rtrim(p); - strcpy(app_files[app_files_len++], p); - } - } - } - else if (!_stricmp(token, "options")) - { - // parse space-separated options on this line - while (*p && *p != '\n' && *p != ';') - { - t = token; - while (*p && *p != ' ' && *p != '\t' && *p != '\n' && *p != ';') - { - *t++ = *p++; - } - *t = 0; - skip_ws(&p); - opt = *token == '-' ? false : true; - if (strstr(token, "dep")) { options.dep = opt; } - else if (strstr(token, "cmp")) { options.cmp = opt; } - else if (strstr(token, "lws")) { options.lws = opt; } - else if (strstr(token, "bln")) { options.bln = opt; } - else if (strstr(token, "nln")) { options.nln = opt; } - else if (strstr(token, "log")) { options.log = opt; } - else if (strstr(token, "lib")) { options.lib = opt; } - else if (strstr(token, "glb")) { options.glb = opt; } - else if (strstr(token, "dbg")) { options.dbg = opt; } - } // end while - if (options.dbg) { options.log = true; } - } - } - fclose(fp); - return true; -} - -/* - Parse X version string from X_VER_FILE.js -*/ -bool get_x_ver() -{ - int i; - FILE *fp; - char line[MAX_LINE_LEN], *p; - - *x_ver = 0; - strcpy(line, lib_path); - strcat(line, X_VER_FILE); - strcat(line, LIB_EXT); - if ((fp = fopen(line, "r")) == NULL) - { - printf("\nWarning: Could not find X version file: %s%s%s\n", lib_path, X_VER_FILE, LIB_EXT); - if (log_fp) fprintf(log_fp, "\nWarning: Could not find X version file: %s%s%s\n", lib_path, X_VER_FILE, LIB_EXT); - return false; - } - while (fgets(line, sizeof(line), fp) != NULL) - { - i = 0; - p = strchr(line, '\"'); - if (p) - { - ++p; - while (*p && *p != '\"') - { - x_ver[i++] = *p++; - } - x_ver[i] = 0; - } - } - if (!*x_ver) - { - printf("\nWarning: Could not read X version from file: %s%s%s\n", lib_path, X_VER_FILE, LIB_EXT); - if (log_fp) fprintf(log_fp, "\nWarning: Could not read X version from file: %s%s%s\n", lib_path, X_VER_FILE, LIB_EXT); - return false; - } - else - { - printf("\ncompiling %s from X %s ...\n", prj_name, x_ver); - if (log_fp) fprintf(log_fp, "\ncompiling %s from X %s ...\n", prj_name, x_ver); - } - return true; -} - -/* - All filenames, minus extensions, in the libpath directory - which match LIB_FILE_MASK constitute the set of valid X symbols. -*/ -bool get_valid_syms() -{ - int i; - long hFile; - bool status = false; - struct _finddata_t fd; - char dir[MAX_PATH_LEN]; - char *p; - - strcpy(dir, lib_path); - strcat(dir, LIB_FILE_MASK); - if ((hFile = _findfirst(dir, &fd)) == -1L) - { - printf("\nError: Could not find %s%s\n", lib_path, LIB_FILE_MASK); - if (log_fp) fprintf(log_fp,"\nError: Could not find %s%s\n", lib_path, LIB_FILE_MASK); - status = false; - } - else - { - do - { - strcpy(symbols[symbols_len].name, fd.name); - p = strchr(symbols[symbols_len].name, '.'); - if (p) *p = 0; // remove '.js' extension - symbols[symbols_len].dep_len = 0; - for (i = 0; i < MAX_SYMBOLS; ++i) - { - symbols[symbols_len].dep[i] = INVALID; - } - ++symbols_len; - } while (_findnext(hFile, &fd) == 0); - _findclose(hFile); - status = true; - } - return status; -} - -/* - Update symbol table with dependency info from the X lib file symbols[sym_idx]. - Excludes symbols found in "//" comments. -*/ -bool get_lib_file_deps(int sym_idx) -{ - int ln = 0; - FILE *fp; - char line[MAX_LINE_LEN], *p, *del = " \n\t,.;:{}()[]=<>?!+-*/%~^|&"; - int dep; - - strcpy(line, lib_path); - strcat(line, symbols[sym_idx].name); - strcat(line, LIB_EXT); - if ((fp = fopen(line, "r")) == NULL) - { - printf("\nError: Could not find library file: %s%s%s\n", lib_path, symbols[sym_idx].name, LIB_EXT); - if (log_fp) fprintf(log_fp, "\nError: Could not find library file: %s%s%s\n", lib_path, symbols[sym_idx].name, LIB_EXT); - return false; - } - - if (options.dbg && log_fp) fprintf(log_fp, "\nX Symbols found in lib file %s:\n", line); - - while (fgets(line, sizeof(line), fp) != NULL ) - { - ++ln; // line number - p = strstr(line, "//"); - if (p) - { - *p = 0; - } - else - { - p = line; - } -// skip_ws(&p); -// if (*p && *p != '\n' && (*p != '/' || *(p+1) != '/')) - - if (*p && *p != '\n') - { - p = strtok(line, del); - while(p != NULL) - { - if (*p == 'x') - { - dep = get_sym_idx(p); - if (options.dbg && log_fp) fprintf(log_fp, "%s(%i), ", p, dep); - if (options.dep && dep != INVALID && dep != sym_idx) - { - set_dep(sym_idx, dep); - } - } - p = strtok(NULL, del); - } - } - } - fclose(fp); - return true; -} - -/* - Determine if symbol has a valid entry in the symbol table. -*/ -int get_sym_idx(char *symbol) -{ - int i; - int idx = INVALID; - - for (i = 0; i < symbols_len; ++i) - { - if (!_stricmp(symbol, symbols[i].name)) - { - idx = i; - break; - } - } - return idx; -} - -/* - if the 'symbols[sym_idx].dep' array does not already contain 'dep' - then assign 'dep' to the next available array element. -*/ -void set_dep(int sym_idx, int dep) -{ - int i; - - for (i = 0; i < symbols[sym_idx].dep_len; ++i) - { - if (symbols[sym_idx].dep[i] == dep) - { - return; - } - } - symbols[sym_idx].dep[symbols[sym_idx].dep_len++] = dep; -} - -/* - Determine which X lib files get included in the output library - by searching fname for X symbols. -*/ -bool get_app_file_syms(char *fname) -{ - int ln = 0; - FILE *fp; - char line[MAX_LINE_LEN], *p, *del = " \n\t,.;:{}()[]=<>?!+-*/%~^|&'\""; - int sym_idx; - - if ((fp = fopen(fname, "r")) == NULL) - { - printf("\nError: Could not find application file: %s\n", fname); - if (log_fp) fprintf(log_fp, "\nError: Could not find application file: %s\n", fname); - return false; - } - - if (options.dbg && log_fp) fprintf(log_fp, "\nX Symbols found in app file %s:\n", fname); - while (fgets(line, sizeof(line), fp) != NULL ) - { - ++ln; // app line number - if (line[0] != '\n') - { - p = strtok(line, del); - while(p != NULL) - { - if (p[0] == 'x') - { - sym_idx = get_sym_idx(p); - if (options.dbg && log_fp) fprintf(log_fp, "%s(%i), ", p, sym_idx); - if (sym_idx != INVALID) - { - include_sym(sym_idx); - } - } - p = strtok(NULL, del); - } - } - } - fclose(fp); - return true; -} - -/* - Indicate the X lib file symbols[sym_idx] (and all it's dependents) - to be included in the output library file. -*/ -void include_sym(int sym_idx) -{ - int i; - - if (!symbols[sym_idx].inc++) - { - for (i = 0; i < symbols[sym_idx].dep_len; ++i) - { - include_sym(symbols[sym_idx].dep[i]); - } - } -} - -/* - Create the output library file. - For every symbol which has 'symbols[sym_idx].inc == true' - include the corresponding X lib file in the output lib. -*/ -bool create_lib() -{ - int sym_idx; - FILE *out_fp; - char out_file[MAX_PATH_LEN]; - - strcpy(out_file, prj_name); - strcat(out_file, LIB_EXT); - if ((out_fp = fopen(out_file, "w")) == NULL) - { - printf("\nError: Could not create output lib file: %s%s\n", prj_name, LIB_EXT); - if (log_fp) fprintf(log_fp, "\nError: Could not create output lib file: %s%s\n", prj_name, LIB_EXT); - return false; - } - - fprintf(out_fp, X_HDR_STR, out_file, x_ver, XC_VER); - if (options.glb) - { - if (!append_lib(out_fp, X_GLB_FILE)) - { - printf("\nWarning: Could not add %s%s to output\n", X_GLB_FILE, LIB_EXT); - if (log_fp) fprintf(log_fp, "\nWarning: Could not add %s%s to output\n", X_GLB_FILE, LIB_EXT); - } - } - - for (sym_idx = 0; sym_idx < symbols_len; ++sym_idx) - { - if (symbols[sym_idx].inc) - { - if (!append_lib(out_fp, symbols[sym_idx].name)) - { - printf("\nWarning: Could not add %s%s to output\n", symbols[sym_idx].name, LIB_EXT); - if (log_fp) fprintf(log_fp, "\nWarning: Could not add %s%s to output\n", symbols[sym_idx].name, LIB_EXT); - } - } - } - fclose(out_fp); - return true; -} - -/* - Appends name to the output library js file. - Optionally applies compression, which does not - remove multi-line comments nor sequential white-space. -*/ -bool append_lib(FILE *out_fp, char *name) -{ - int i; - FILE *lib_fp; - char lib_name[MAX_PATH_LEN]; - char *p, line[MAX_LINE_LEN], buf[MAX_LINE_LEN]; - - strcpy(lib_name, lib_path); - strcat(lib_name, name); - strcat(lib_name, LIB_EXT); - if ((lib_fp = fopen(lib_name, "r")) == NULL) - { - printf("\nError: Could not find library file: %s\n", lib_name); - if (log_fp) fprintf(log_fp, "\nError: Could not find library file: %s\n", lib_name); - return false; - } - - while (fgets(line, sizeof(line), lib_fp) != NULL ) - { - if (!options.cmp) - { - if (fputs(line, out_fp) == EOF) - { - fclose(lib_fp); - printf("\nError: Could not write to output library file: %s%s\n", prj_name, LIB_EXT); - if (log_fp) fprintf(log_fp, "\nError: Could not write to library file: %s%s\n", prj_name, LIB_EXT); - return false; - } - } - else - { - p = line; - if (!options.lws) // skip leading whitespace - { - while (*p && (*p == ' ' || *p == '\t')) - { - ++p; - } - } - if (!options.bln && (!*p || *p == '\n')) // skip blank lines - { - continue; - } - if (*p) - { - // eat chars and skip newlines and skip from "//" thru rest of line - i = 0; - while (*p && (*p != '\n' || options.nln) && (*p != '/' || *(p+1) != '/')) - { - buf[i++] = *p++; - } - buf[i] = 0; - // write to output file - if (fputs(buf, out_fp) == EOF) - { - fclose(lib_fp); - printf("\nError: Could not write to output library file: %s%s\n", prj_name, LIB_EXT); - if (log_fp) fprintf(log_fp, "\nError: Could not write to output library file: %s%s\n", prj_name, LIB_EXT); - return false; - } - } - } - } - fclose(lib_fp); - return true; -} - -/* - Increment *s past all white-space. -*/ -void skip_ws(char **s) -{ - while (**s == ' ' || **s == '\t') - { - ++*s; - } -} - -/* - Remove whitespace and newlines from end of s -*/ -void rtrim(char *s) -{ - char *p; - - p = s + (strlen(s) - 1); - while (*p == ' ' || *p == '\t' || *p == '\n') - { - --p; - } - ++p; - *p = 0; -} - -/* - Write project info, app file list and symbol table to the log file. -*/ -void write_post_log() -{ - int i, j; - - fprintf(log_fp, "\nProject Info:\n\n"); - fprintf(log_fp, "project file: %s%s\n", prj_name, PRJ_EXT); - fprintf(log_fp, "output lib file: %s%s\n", prj_name, LIB_EXT); - fprintf(log_fp, "library path: %s\n", lib_path); - fprintf(log_fp, "options: cmp=%i, lws=%i, nln=%i, bln=%i, log=%i, lib=%i, glb=%i, dbg=%i, dep=%i\n", - options.cmp, - options.lws, - options.nln, - options.bln, - options.log, - options.lib, - options.glb, - options.dbg, - options.dep); - - fprintf(log_fp, "\nApplication Files:\n\n"); - for (i = 0; i < app_files_len; ++i) - { - fprintf(log_fp, "%i: %s\n", i, app_files[i]); - } - - fprintf(log_fp, "\nOutput Files:\n\n"); - if (options.lib) fprintf(log_fp, " %s%s", prj_name, LIB_EXT); - if (log_fp) fprintf(log_fp, ", %s%s", prj_name, LOG_EXT); - fprintf(log_fp, "\n"); - - fprintf(log_fp, "\nSymbol Table:\n\n"); - for (i = 0; i < symbols_len; ++i) - { - fprintf(log_fp, "%i: %s, %i", i, symbols[i].name, symbols[i].inc); - for (j = 0; j < symbols[i].dep_len; ++j) - { - if (options.dbg) - { // by number - fprintf(log_fp, ", %i", symbols[i].dep[j]); - } - else - { // by name - fprintf(log_fp, ", %s", symbols[symbols[i].dep[j]].name); - } - } - fprintf(log_fp, "\n"); - } -} - -// end xc.c diff --git a/pandora_console/include/styles/cb/xc/xc.dsp b/pandora_console/include/styles/cb/xc/xc.dsp deleted file mode 100644 index b3b3d36905..0000000000 --- a/pandora_console/include/styles/cb/xc/xc.dsp +++ /dev/null @@ -1,104 +0,0 @@ -# Microsoft Developer Studio Project File - Name="xc" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=xc - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "xc.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "xc.mak" CFG="xc - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "xc - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "xc - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "xc - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "xc - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "" -# PROP Intermediate_Dir "" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "xc - Win32 Release" -# Name "xc - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=.\xc.c -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=.\xc.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/pandora_console/include/styles/cb/xc/xc.dsw b/pandora_console/include/styles/cb/xc/xc.dsw deleted file mode 100644 index 825e177353..0000000000 --- a/pandora_console/include/styles/cb/xc/xc.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "xc"=".\xc.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/pandora_console/include/styles/cb/xc/xc.exe b/pandora_console/include/styles/cb/xc/xc.exe deleted file mode 100644 index 2ccc94798e3dd0d8a71e4a33e4699363415daa11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 200807 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 diff --git a/pandora_console/include/styles/cb/xc/xc.h b/pandora_console/include/styles/cb/xc/xc.h deleted file mode 100644 index 57c095c21f..0000000000 --- a/pandora_console/include/styles/cb/xc/xc.h +++ /dev/null @@ -1,41 +0,0 @@ -/*----------------------------------------------------------------------------- - xc.h - X Library Compiler - Copyright 2004-2005 Michael Foster (Cross-Browser.com) - Distributed under the terms of the GNU LGPL ------------------------------------------------------------------------------*/ - -// Includes - -#include -#include -#include -#include - -// Constants - -#define XC_VER "0.28b" -#define X_VER_FILE "xversion" -#define X_GLB_FILE "globals" -#define XC_HDR_STR "\nX Library Compiler %s. Distributed under GNU LGPL\n" -#define X_HDR_STR "/* %s compiled from X %s with XC %s. Distributed under GNU LGPL. For copyrights, license, documentation and more visit Cross-Browser.com */\n" -#define HELP_STR \ - "\nUsage:\n\nxc prj_name\n" \ - "\nthe file 'prj_name.xcp' must be in the current directory.\n" - -#define bool unsigned char -#define true 1 -#define false 0 - -#define MAX_SYMBOLS 200 -#define MAX_NAME_LEN 50 -#define INVALID 0xFFFF -#define MAX_LINE_LEN 2000 -#define MAX_PATH_LEN 250 -#define MAX_APP_FILES MAX_SYMBOLS -#define LIB_FILE_MASK "x*.js" -#define LIB_EXT ".js" -#define PRJ_EXT ".xcp" -#define LOG_EXT ".log" - -// end xc.h diff --git a/pandora_console/include/styles/cb/xc/xc.ncb b/pandora_console/include/styles/cb/xc/xc.ncb deleted file mode 100644 index 64cb9584a22c744fe4c2ffa43ab846ca75ab715e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50176 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 diff --git a/pandora_console/include/styles/cb/xc/xc.plg b/pandora_console/include/styles/cb/xc/xc.plg deleted file mode 100644 index d1739211be..0000000000 --- a/pandora_console/include/styles/cb/xc/xc.plg +++ /dev/null @@ -1,32 +0,0 @@ - - -
-

Build Log

-

---------------------Configuration: xc - Win32 Debug-------------------- -

-

Command Lines

-Creating temporary file "C:\DOCUME~1\MFOSTE~1\LOCALS~1\Temp\RSP27.tmp" with contents -[ -/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"xc.pch" /YX /FD /GZ /c -"C:\Documents and Settings\mfoster_local\My Documents\www\Cross-Browser.com\x\xc\xc.c" -] -Creating command line "cl.exe @C:\DOCUME~1\MFOSTE~1\LOCALS~1\Temp\RSP27.tmp" -Creating temporary file "C:\DOCUME~1\MFOSTE~1\LOCALS~1\Temp\RSP28.tmp" with contents -[ -kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes /pdb:"xc.pdb" /debug /machine:I386 /out:"xc.exe" /pdbtype:sept -".\xc.obj" -] -Creating command line "link.exe @C:\DOCUME~1\MFOSTE~1\LOCALS~1\Temp\RSP28.tmp" -

Output Window

-Compiling... -xc.c -Linking... - - - -

Results

-xc.exe - 0 error(s), 0 warning(s) -
- - diff --git a/pandora_console/include/styles/op.css b/pandora_console/include/styles/op.css index 2969b5e7dd..d8e8aeeb06 100644 --- a/pandora_console/include/styles/op.css +++ b/pandora_console/include/styles/op.css @@ -9,13 +9,13 @@ border-bottom: 1px solid #d4d4d4; border-top: 1px solid #eee; } -#op1 li, #op2 li, #op3 li, #op4 li, #op5 li, #op6 li, #op7 li, #op8 li, -#op1s li, #op2s li, #op3s li, #op4s li, #op5s li, #op6s li, #op7s li, #op8s li { +#op1 li, #op2 li, #op3 li, #op4 li, #op5 li, #op6 li, #op7 li, #op8 li, #op9 li, +#op1s li, #op2s li, #op3s li, #op4s li, #op5s li, #op6s li, #op7s li, #op8s li, #op9s li { padding: 0px 0px 0px 28px; } div#op1>ul, div#op2>ul, div#op3>ul, div#op4>ul, div#op5>ul, div#op6>ul, div#op7>ul, -div#op8>ul, div#op1s>ul, div#op2s>ul, div#op3s>ul, div#op4s>ul, div#op5s>ul, div#op6s>ul, -div#op7s>ul, div#op8s>ul { +div#op8>ul, div#op9>ul, div#op1s>ul, div#op2s>ul, div#op3s>ul, div#op4s>ul, div#op5s>ul, div#op6s>ul, +div#op7s>ul, div#op8s>ul, div#op9s>ul { width: 126px; } #op1 li , #op1 li:hover, #op1s li { @@ -42,6 +42,9 @@ div#op7s>ul, div#op8s>ul { #op8 li, #op8 li:hover, #op8s li { background: url(../../images/op8.gif) no-repeat 4px 3px; } +#op9 li, #op8 li:hover, #op9s li { + background: url(../../images/op9.gif) no-repeat 4px 3px; + } div.arrow>ul, div.arrows>ul { width: 74%; } @@ -59,7 +62,7 @@ div#menuop { #op a:hover , #op1 li:hover, #op1s li , #op2 li:hover, #op2s li , #op3 li:hover, #op3s li , #op4 li:hover, #op4s li , #op5 li:hover, #op5s li , #op6 li:hover, #op6s li , -#op7 li:hover, #op7s li , #op8 li:hover, #op8s li, +#op7 li:hover, #op7s li , #op8 li:hover, #op8s li, #op9 li:hover, #op9s li, .arrow li:hover, .arrows li { background-color: #d4ddc6; diff --git a/pandora_console/operation/active_console/imagenes/AyudaComunidad_1.png b/pandora_console/operation/active_console/imagenes/AyudaComunidad_1.png new file mode 100644 index 0000000000000000000000000000000000000000..986794e2037c8897a83f38f8f2386d78cbb80b54 GIT binary patch literal 3371 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 BK)wI~ literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/Camara_1.png b/pandora_console/operation/active_console/imagenes/Camara_1.png new file mode 100644 index 0000000000000000000000000000000000000000..1fd633da82f674f6b255c9252ed4196bd1229365 GIT binary patch literal 3322 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 Eg7`U6^8f$< literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/ConexionPCRed_1.png b/pandora_console/operation/active_console/imagenes/ConexionPCRed_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d98bb66c3b7202d54518ce84c911882fdc179a37 GIT binary patch literal 2547 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 RoPPiS002ovPDHLkV1nONj~M^} literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/UsuariosBloqueados_1.png b/pandora_console/operation/active_console/imagenes/UsuariosBloqueados_1.png new file mode 100644 index 0000000000000000000000000000000000000000..35dc7c34a6cd0573e133cf005908f4694d560d07 GIT binary patch literal 3951 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 JPDHLkV1jF1o@@XB literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/accesibilidad_1.png b/pandora_console/operation/active_console/imagenes/accesibilidad_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2019f833e0fcf2e9a6ebbe5e647d18e65c397c9e GIT binary patch literal 2242 zcmV;z2tD_SP)HNN%)R%Vez@p!=bn2rGa;02l&>DdOa{OR=H zYWWjiWAOe-rk?Bp7zE(P4jlOCzGr^=V4qGTx$^`c2>(U-gcKMpu{QAKZ|0wV?iY>y zjDK|vfU&62(W+F5ly`SN|2Lwur4-9;4>?ZQxy~Vlr zrpc`@?1+Hud{Y7_3Yo$Az^%7z;lYDE_- zt(LxlK_2_!UY>vcNL+B+PfNP$D@F-`Kr;`_*P+j{%8>V-+T}Su|M3drTZgeOaQOHF zZ(Xc$-OzP}Yot;DjTSU*&p@*#gYglHX1!^dU9wyk5<-XsFV&meeRIO@9Yd?b_U#_# zt*Lotmpocs8;jAVWw~KN6hsKR5?r^$rIgUf95aiSpjZXCSoc&@)ip_?CCF z!~$j)EtxG%zpf9q85FVUf?%QUs0E(Po-2$jW69d$k~~kXJ2V>zP<@<#5J+E z%3#gnddF=TB<*0AlEoEAWto!m3!Ja=`l*b^?hPC|k#YE3Kh=sMWIdB#DaslM;c`7k zOGVe})=o1ecp)I9VkHaInsh~{^WgjAFrx+iIz!{SCkU|AQdp7=VG02&4abmFow?sn zkOV+!jdKC#+db_Z3AtA|FL>zAKJLBEU8z9`{P=~O*UuWXECCc{xB-H|I*&4CA+Hi7 zq4=w`VR2>}n>9(ReWaB>RFbl(BDs59k{W>!@bVGQwALp*hGm>Y)_xr1r~(@TPv z-VP`!J9Yv{5g@c6ID&ULo8zp-<{5d`!r2UGEg^W6j+r@#(2HvAD2@^vv=QjUAf#s7 zXg^OsGR)~&&re=#^4-Tav3r~1z=Xs)ixjS-VTdQ75CTWfc;3B`LGZ(8%J@RKq`$g0<8@yNqKz#FfAu}=A~sC8N71|c5j2bc4+R}v9=k2L+^OL z_bbW#k|ijM_a0|0UP^?Jgdk8#uDTXnB}hUkNVHK1ZP>Ma6Q7-^@WbCXS;^yyUp^if z=nKf=kSavi`nY)n#<#$}ammAbEByRWM(_&n970OGl?Wm5fYgFeuznRE>_nkd8l|Ju zckQgOoWZFXNRkw#6>m;S-o6A%MsTtep)SC_ad`S5R1F;5BYEXS%K3SRlolZ*UWf=V z2$br{)EfhgA1kF$T4Iuf(IL%DEs%MQF$$#xS_zbl0A&HP&7${ksRmOEP|6}YYJv-l0)wp&RhiL0!np)7(v&0P<8`sGYC>C zlr|`>IXNxaJODdy1g#@GZRXlcR?^P1zY2S|!$Jd=GdOYi9mL2hKU>CH~)w% zUs!_KWf%_d+$8+=D9kR!Uvu7Tq;wGSj;rZ)87#q-5~(ys333ZBOv2bl;E_9EcvFYT zuA0EuX86J`cy|uY%tJMeVR!5T{Oomj?pXB6M1$4>sZ>nZp`GAZ@5nDo5(lJ|C?(NK zkm#70e|ZcZzZ1qs;f;SqW~`4sIaGyPx4@no;6fcJ?s9}}CB9$o65{{mYIqq|}!J~Vio<$$i3I@{%=;Rz6or>S32}m3JTX|ea z2+>8H2dmn7RJ0E_SIL87)d>+If|EtGwn4r-4KsDvHUe9RV6Yk&bbJoxSD@aCwkk=C z_|@E40P}5NKH8Lp|6ctxL$}0jhg`ki5%Gww733byFTmV#WGOLVibYhC2*%n%jS$&V zt_Y-d72U}_lyPjdlf-Q+uyx3i6e*+}2&suawA!b^v?E$YGp+z=Eo25V3t0kL9&0Nv z`f_NtU`xM^$FmK8xW}WmpS|4jt!B6PhsCX z$y3LBg$2?*(0UUFp4dg++>g%&v1RH{1XEE#A@&P+_lEuR>A=71iix12HMfo=| zqfA3^RK6+z001I-R9JLVZ)S9NVRB^v0C?JSOvz75Rq)JBOiv9;O-!i-056;c)UFJv QO#lD@07*qoM6N<$f&#-A0RR91 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/aim_1.png b/pandora_console/operation/active_console/imagenes/aim_1.png new file mode 100644 index 0000000000000000000000000000000000000000..965d922172bf0f2c68aec5559a5f8ad09c95a943 GIT binary patch literal 2314 zcmV+l3HA1gP) zryq<(P@gX$Tk>fy89e41yr2qehiU_zH=xtm3j$J>@j&|mx$Bk<9N)NF(A1zfIYxNu zB?nLMak539zT>)hSOijwn$Eo7mi2-hCCha0;)U|Hhdvj^?zt(%#Th~8BE^T6F*dCU z0hPKv1MY|Ykot-Aq?77~D9%Dr?%5%}e8_5Bc@U+#TBK%p35 z&xtq!rb7fAqZ$b32MB-&d%ci$KC&}`gM*4N@Zoztd@n%YmB+hYtHUz~nmkqfN>#^d zNpAB>GnyNKNq2`J96CMWuH82nUFyIh9WTL#Ax6dxo_M(#zueU!uTRB(;~4!Bh=N-3 z;JgzxEx8`XSO8`%3%=bL=PNrGdM$NPcCvZbo*YjMhfKeBjQ&7DXKF2Z^8$1-eK3Yd zM6O}RCjcx1!9wW(fN22Z#^`Qia9kCZYbn zx;7EhTkqUtvA9*BT%K1}bT49j?~ahNQ$W-eBq9RG2nd3)oZ?R}#jYs&bg>d%p3Tz* zDDRopfitnI3xN)}gd<3GL+ALP zWX^ylvjqS-1l;5p{o!p_7J9zgmqXmO=hPDs2s7B0L9G=eV<9eEmPg*BEk!^Smpf}9o5>FkBu+yfP~h|pHY(eK{;kwWJFo5r!AK7_5nsR(j~@`;T)<&?rK zu&i*&V%4GoMkb=E<70_+0XOsmG;+a!Ze|Nix+_BIt_%yU6N|fz!TpOD*iYTLaVoiW z^CX(;ENn$76~U=D9c;2wQS)gc{JObO?z*DKyY|-g(~Ix9e%$R_lSd+A5!!OhsWOJfTs*kF4bL7- z?HkU<{?dQEVOhbaL|025QDe_3*$@fP*<8RY!^y7kVl?d#o}*NE_-;zR4bVw7MIH67`2$;Oq_5D{3b z<{FC?43}f!)U%Uk30M5!z)8#5KB)g^nH@tGmitO|5Lp!GO!BoCRJ;IP`it znk~lSApIi&cFuqRV4AuBp@IOBGgI!C%RBQuM*w=q6MbGl znH+#gcf$|{^Pai7KE|2#%cd|@Bpf^y$D=Q{;<4SWlOq$+$6cfMk?Rh~;4_fi@pHQn z?b-|zWRC=FlEagU^$v;o!z&r=INUxuQHuST2;Wi(_8KP!9^CPcG5Bs*egdFavgM2I z>F}ppR!>HbpNZq(NS!xXF#i(kKSKEv&+GK5Qssxve3t?c)4Zyg>f3+fy3`wl`ZPHB z8K#c?UGt;iIUkj^vjLilIaOv%^Qxt&Z~uiVEmF37h>N?CKlP#(M#oXEE$diRlzwGhmoqW3s8iTogDz8S{TiOeW|R8Q~^3O zK(z{hQNCORRrB^;EUX$!wSqK5MR$hdD(G{cO%>G4yIr-4QUQ}0;4{_Zs&zVB44(b| zd}gYit)4$0VD-2fdgk2!X8R9e)!$cJ#OY)J001I-R9JLVZ)S9NVRB^v0C?IfFE7{2 k%*!rLPAo{(%P&d?05;eLSP)anTmS$707*qoM6N<$g4Z`gg8%>k literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/alert_1.png b/pandora_console/operation/active_console/imagenes/alert_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b4c0a5059ea5e86bc7da303b7100e495bccd153b GIT binary patch literal 2178 zcmV-|2z~d7P)004R=004l4008;_004mL004C`008P>0026e000+nl3&F}00006 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 Ef4BqpGS}RYIt0QH$CF0*X*1AhbZ!5U7+& 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 bFG>dhHrNJO5L3!r00000NkvXXu0mjf95gWd literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/antena2_1.png b/pandora_console/operation/active_console/imagenes/antena2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..20e46bb2b441dbb6506a6c50b48616de4551b270 GIT binary patch literal 4073 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 DvJ7#c literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/candado_1.png b/pandora_console/operation/active_console/imagenes/candado_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3fbbd2543a852e8092dfe973d42358cd73c2919a GIT binary patch literal 2684 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 B-_rm9 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/cdrom_1.png b/pandora_console/operation/active_console/imagenes/cdrom_1.png new file mode 100644 index 0000000000000000000000000000000000000000..02ff6ca7125eca187c34af14ad72cebf42d2c75a GIT binary patch literal 3073 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 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/discoDuroFireWire_1.png b/pandora_console/operation/active_console/imagenes/discoDuroFireWire_1.png new file mode 100644 index 0000000000000000000000000000000000000000..86398a53a9621569847d19a90e4dd8079d9c3f45 GIT binary patch literal 2672 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 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/discoDuroUsb_1.png b/pandora_console/operation/active_console/imagenes/discoDuroUsb_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3e8fffd1247805fb86646cb395f1ff7988508f05 GIT binary patch literal 2685 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 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/dvd_1.png b/pandora_console/operation/active_console/imagenes/dvd_1.png new file mode 100644 index 0000000000000000000000000000000000000000..348adfb32f045c2c878d9e1c17251ea8ffb1eab2 GIT binary patch literal 3274 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 BSX%%9 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/energia_1.png b/pandora_console/operation/active_console/imagenes/energia_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3b00c744489c7655c27df137312053252701d6e6 GIT binary patch literal 2997 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 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/escaner_1.png b/pandora_console/operation/active_console/imagenes/escaner_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f2118098cdda1749c16cff55eb8f258ebe50523e GIT binary patch literal 2462 zcmV;P31Rk$P)004R=004l4008;_004mL004C`008P>0026e000+nl3&F}00006 zVoOIv0RI600RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_00{y~L_t(o!|jz>Y+ThH z#(($RWya%~@p!zA?M$5U7AGMq2}=k864DkD2%-`wh$0cSX=xQgMMVo#eL!mArK+k{ zs`}CwQlOE5wjd>C4LB@GAt8w!C*GHMAKNpY<<6bE^_nzPR z{^$E2xS}h%qAU7FC0({ZHGLP-GcvNOV%aX~S%*xojT?9Vw}9IohGg0!FQ{C%Bv!j~ zVYsB;aa}8CT6#Kfrqa3*k7x9*_;j+3v_3*sAE$pXK_CFf_I-nZn|8tQgkX8&b@g>M zyKY;x`1Y-Pb83Gk*Lz{I#Tz|BvK!wrjiF4o*3Zpvj&mPF!tsp0^Yb2rjrsav6jl} z@*OuUUUdJruBxwFwICv7St6Co6VK$(jXb7lVLA>)9+lcq0H3O0J9D78NJu!YOEzyZ zmQ2$dpRtY&jt%#WPk+=mKE2PJ&HM{hNs>%o1YpG`>cW6qegvDZh4+s~!Zj6l*H@Q6uxvr))sav@u^op{kr%(F zvLGC!I#^7xSHq{NcoY?{rr?=_9GID9-;t9vmj%&eF<*Yyb#dk(T?(@#f$PHCU4!iX zpzVpPuUY!E@;R^#4?@#Ih$q5oNAEo=)+~OYI$W~0GEl6BeIBAE#Z(1~3HiKuRRu+s z(G(ehR5){vgKaxl!ohMJ8p=bI27FAWvy>MX;W+L*;5o2!&=Qczn@r4Ru}mx0y6+A7 zzkoOHgmuf{M3-N)?36}cG&YLW* zDCKb9Fs9?=09WC@Cm^2}&))y!z3W=)p4z^uxp8zhgX=o1t|`awQ2}sVkT0PdNr3IT zyw%Z%PcF0{=UiC}h9OCi&<)zhrl~3Mv$QJAJDmf(ezK?4$y?9h)$)o^1dgQLcGJ?> z?{8n(T+uZ-gDNDJMas}*8OH^231IW?35oWR2?i#nXetY0+RmJ71$x(Y8JtNmk;&0g zRYoLG#5_6UpFq_sNLXu8{gfi#yWGa^*KG5D%QttO@*ToHOIoWK4^I*Mr}q;ZbB%MMf3^O_AxEOz`UQ(=>zw zsIrVC6?)ri9RuV{n>$uCQswtCn=8P*d9vqaJ(Jswkor($IMMoU7F4o!Q8m$U2}lzA z+qxXGi0_*U`&f zk4C7t2u)M*dsJd&B^0SL3EiM)YL;7<#@N^x#j-7?GCKb_-s!%7X7H7~ZtOw2FkHdG zJN8t@n(JQt^Um!Xwk)mx%7kX}CZ|T@w4UkbX#WTwbPh5yGfOUK6q==w=DMIuBwWIS z8&|V(K_ywkAeqba`l&wWjgvhu=XK*zWHG>VPk-rpvb^S&%ycR<`qAL%dfl>16l?dtEOd*n15S8Ya7G{)09hkJ%-A0DSJ9K)v@ffn0K!}Ti`!wMB+O`{B z{R3>>t>L;=_-pDoZ!7Z(7)JZ9`PKby+_xa^(*RXHmq-o z)+~=!dtwzOlH)j}vpQ)#H`hmV9BAvc51k&^Yv=R7K!~xg3dGk3JYRSH6kJyWYEhL{ z{!nmxZCP-ALuGi;qOzb`q^Sr=;_Z%p^OOFOzgUL(ON5ADOdu`~;Q9K_BaoVrsVZB9 zrmdDWWxdy}A=P|Hsfh75mMJciz2lTJ&+!bBX c75%^HKZD3Rs3^C|7ytkO07*qoM6N<$g4gP~5&!@I literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/fedora_1.png b/pandora_console/operation/active_console/imagenes/fedora_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d6601ed4e79fd71c1906b68931e6ac0bb8471d31 GIT binary patch literal 1721 zcmV;q21fabP)=t|7C|b_;+4>jRy*z zz~Y-paJ-MtZeZsiBZCZVsMXeuMf6-=6djw2BKpxms#OaXi9Pr!#~HWtm2n$y%+XD5R7k6-CNYaw5yJ2P4`)&hu|i@zsCV zleP0rnBDx4o9C_VIME|6&r{{ysi&9d!{hWv=yM7?%>4R)qVMCut4`Q_^U+4Yk{(6uoG& z?gbjN{M-ee?)tfY4q}$K4$={bo*r3muVQ*yv9z?JAg!ysxxTa-3s^v}*OR;;y^Hh& zw?4#mb$-*n0D{@MetsH5Ts}%YAuTS-1_m^?ZHvaHO;H;d2#rR_vPco4BHTwBBQ;5> z(v^r#(#?zxb6fiYE66!R{1m<8eCnfY8=^=>AKma9pm@- zEtbwk@RW{z%yP?(+Dm)oK3#u3_^--1{&$9OO&NThJQ_c3jGp zZ!3455|OY88za;j4ShX5dYjEC#>TXZ!b^FswYV5Z4;@N>-o0B<6mJN7yE+tS3ftRB zyQ;Z4F-CDGUF*5yI~0ex3-hZ(ob~aM_i@E|MG!HBiIhw&Eon6xT8)ON*CWd^^;%7L zcQ+BSZ*nqPc^)}YRN^#pHPQxr2%jfSl=&Q0`H76Qm28@=f8fPVUd>lLIKlEBp8X>q z++Hq9sapIF()MG=OioXGxxe4c;Gl!u-Hvp1S*+L1&djj9Old@oR7aPx6J3T4*h;!y z*=_2p$gRY@D&)n@^gYV1gFJ$~PMMi_;8Aw%FIQWI38gp z!f_l=$wGA(>{1rdA&g-inxw4C(NvCcrr4)yeaGuWRE_Lx##TwRSIvtv%nedbJWXqo$H!Sdw7SeJl*8V=yznQs^|EnuSxVB1 zkyVOAN&1{(RW6=w6H$47ne1m|KjbGfeDg#_>0er1ufV_)ccBQ3;<8Sz9p~CX#(GN`7@)64)~4MiZ<8<5nq%rD z$7VP-&Hg!FDtM*jYwCPK_-`KWfrhe@3@9(qHDwdYt8uv^al)zQvW7LRVGaLR_$Qec zQz{u$H9i0U03v!+SaefwW^{L9a%BJjc-kv3FW1Y=%Pvk%EJ)SMFG>dhHrNJO5L3!r P00000NkvXXu0mjffE+<9 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/feed_1.png b/pandora_console/operation/active_console/imagenes/feed_1.png new file mode 100644 index 0000000000000000000000000000000000000000..4992bb1c89bae555378f637bdf76b30ad1c79b66 GIT binary patch literal 2954 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 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/gentoo_1.png b/pandora_console/operation/active_console/imagenes/gentoo_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5a155371159537a8ab29ea7c270dff71da67fc44 GIT binary patch literal 2637 zcmV-T3bOTyP)yNjY+S`1$GOceSh=b5}ZQo?6knS zV5&-2Ge)nKBz&1tv7Qj&;T&*X#Dt)40(c4#9}q%K%QCQLjptOhDQRReU)sAj1J~uu z>s8K|W%fN)#np7?KmIKptVVX7!!-i#X5Te583q({^+rqhc zQrFq^(9kh#+_>!X0qp8Zf^&;VQs4?*r+*9v$$F266F|UmIBdHBm{ZO)9T%O4I1Rcszx5>->ubqzg^9wM}Bp8XqY2Ug!7I=j!UnhCo0NLIBql za9x0Nksk|ij(p_cITs*=z_x9Sj~|zgACFvRS=KhgaBor+m3{oN{n-JxZhaHyofkrP zw{cY5@vOhSEqeb(>yK5ALkeT0zYh7HxHqTn)|c3LfD zS^8Qaz|L1yfO7&N3d-fw69RA?4$E@En2Di*RvaB_#qg&)Fwob5f&QZa09lqm2tWt{ zr4+VpVRZDU9*xF-PO0=K&Pj03p7`PcH*LBd;c%D{!Y|QvLWK~saK*uS4sd2Bi@IZ}X!g$u4i zB0+KJ&?p>-&#E@3a8@jG8XN>iDJf5D9+6_dbdlx!p03jrBE~1RFO}dJI7^%V7 zp@Z+@{atTkPx}E34o)GNwDN_5+4PkksdMQhMQH{oExo2`GV1FC&@`q-qZ1cjet8p` zo04;dTMqc$AKnT8cxLP0h5+&-MV9_0%i>1I9{bX{Pd&B;T)2b?UK@83 z!Sc53%x^+hM}=iCS*>Z(E%o(2e=w+)ROn(=qm;nsQ&Cl=p|;iw!w}fFw-*QZ@7$f3 z9{ycb)so~>&plnT{|N!#d1n|vnr4mK8@yh+dD*f+OE9Rxb$LaYT&m~K%Q8bSsG+)A zM@@|f@wkch_AYdH?i@5S6L*5DLydLXJO)|`Zu|Bluq<109R7X3U)kE+T-_23Y6}!V zCDrD<>G8;@tMj3$sS1saLB!)GcD>huuKn+hS!VQ(zdyTscQByf_nRM|$FZOXUw^$1 zoC}pP_T!ow&u^NWYy7&d6jiz?@zg>-vuzhb2&gKB->;&&T7#-e=^zG1+ulcHq%%Q@b&smbFT`gIJX`^89^k95_QEhSRF?JIYic~dT(Kgg zD~dGx#3+%zLTVYKP*nz9m*Dry@OTu&Vp+7e51^yH4TMEk;Q=n zBiP%q595(;L5a~ROZ3jPW$(~sh6lHt9IgbAF&XJ}<{Xbl*-%yGomJ{YjSvD!BA}E( zQ7ANx!m?cS_D0araR^8H4!|oljDu2pWdWX zT6uvG#c;WILP-K_+d+T-6uPfAeBt|)T<>P*u@I-Nx#kwPRg zh2f!5OpK4fGNvFgGv-yv4iM>Sm-F{1A?9Bm-TaxrW(6q>8XDH%=5O7Cq2W(gtyr<@ z(dOneu2{NkDGi0HAj=Zc=`5zF3Z!*Z&BK3K>#q1N7ua` zkCw?~NhX^WLI?^#&PQP_EmN-m<1EmZNBO*6m@fbpt0z_H%g3x}O|g1~R)8#4?L^RS z8L$gLR62=C(WbOQkTS61n=SShFH3c$DEA});D0wGS^nh}gopqD03v!+SaefwW^{L9 va%BJjc-kv3FW1Y=%Pvk%EJ)SMFG>dhHrNJO5L3!r00000NkvXXu0mjfd|lyr literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/gnome_1.png b/pandora_console/operation/active_console/imagenes/gnome_1.png new file mode 100644 index 0000000000000000000000000000000000000000..25aa348f7cb130b4aa692291cc572e543bbc5470 GIT binary patch literal 2904 zcmV-e3#asnP)yQWjGR|_$A9O2=RP~L z_t~4X-q?<_n}pbrMIbR$b&;pYL-f>NJAs(lCm zz766B48PzZ(dyush-MEKfCwlyfqEAB41#Z=tuJeP<#SC_&T2Bf!Y}g1=<3B-~LLqmXe-lwY0=?$XvKdz{j5l zrGmh-KEMC7(P$)8tyB%ybrT5j6(kAi3yARoWZfEuqbOK_YqnF(bTB_UN$1c{Gr96( z*{U5F*wRmzEiqk5rs{z&2%%UX_x{0W2*v-A`~GMe>B7N3xq_gt3pn@~zz{AP)mO@Q3#lLmgxdMW*Uv<WX(-YCw zc8Zoqp(ZKTB%UvXD||lNmAjPdJcN`A)Hs8CEiS$UfVOd}sop@)-_qLINzwJu-qVL3 z3T?rueE>lk*TS=HOcxx}0J8{Yeh$0rqWeLq2hg-l^Om1q&D9u7S-h39xSV&$J3h3I ze*B4k9o@GR!E*@hNt6dqpJ=ef^?Uqu^--XV5dRD!B^{@noXdrSb{NyNQBs1LZ{v-xjPsGNexJ=9;8jM36x!K?iRLfntf55*Kn4?<1Q)Q)r{Z z#;zm*KhkloS5T=(gr@)9*8W7?b{wYXvRgqtg;K|zeEM-G)Bk@a%K!`9c^aKM0r%TUrqw2fZUDLL1|0H z*rJW$>BvwV%B6>>X1++g?_(6^_K`k2z{G3kG4tnXzOBkbe-%J_JqR&`VgTqw$uN#- zBFLfC1w!!=E*zdmx+Zt;|6k1Vcd1qH!m2EiOD309YZ&6198~J#=)P|U`-g%u)`7Dy z0Sg!BNFLcsQ{qiV{!IhA=zrjL2KRLnZhb#e4I#ufbl+|0zL2JCnyv{U0MGNJ=eP#a z9S2@PXx}2(lElh=48#F47sojEzch08J8 zx54l?HUS?;$^8iZo?tW@>F#V5oo!7-nqmaPVf?y=PuBp2VR>48j-P?b`d^ zb2}lwM%nV#z|atM^}nYSWlJJe-9<36trRYIV`eXJq+nw}>49>00Z%9TdLuiAHiHn9 zEx87u5!ChYj;F|(5{wdAqcT%aOqG~^l~fcoC4A}0=FJu z0MK12m@YcBg*1G+xUy|)ONl2zD!6iQG|P~kh4PY3VfqxwS6^ZF$J-{5O z8p?}Vu41v`5%38#0VtMTV+Bfq67^%{xlqbLZdOsw%#%L%8s`rl#mHU)P6LITfm;u7 z0j2UdRwvY*pyn*MXe*_CrDGGzaApaXrlFLnlAk=zrJo%kefBI$o&jb7?`GlN8BmBE zN=;BLY^S*kH0>(X6|hy$mzQ910!j->rjETt^2jKzd78m}DFz?A4<$bZDgl@vP9Vfj zQL4hBr*2t66ZlVz!iT6;1d({1Of+yt%Ye*fD9oPY?7x49`Oz`pH2c0DMfeUN#6JAt zIGSE}5!W*D+;1SnUo!kcWg|bn{#JMOg;#OyB&Egr#P4L=MggjYA`?IV3G<`B1dj5= zHwy^;9|(p&LC^L$n|HwGd+Wc>fiRl(DU|xn`n>DMJ6}76xB$FJX-Q(1mbbXUgi3*u za=BF-<>9}sAieh@#2(uEpt%eDLD2p6i+Usuh$bqFTX=foZl*Edii(2gaP8MvngXX* z-{Q59;W&h1t=##MJ?#BjJF%V!sNW+PZ6?~rm84b632d3**#>hXVSY;lHv(M$(}!Xn z_!}zuJ6W9UqvsCLef7mw@-fr|iQ6H~K3r=6CDUm7Zd!XG5V{H{#Bv!*Lv`sAQ^zLR zsNG||PahXvf}y=2#0*fuHXcBF5yCOh^lKLmMj;&25TXZPa2u_C0b061Xjh+63JNL6 z%^FO-@gFRV{t}qFb-)$K!MzG0evMLd)GE8NYfS_q;0s(;QHZ))P3;ixtmoNkIH;GR z^dw{_jxqNA!+7>6P+^1E@J_G_@-38_$1?84EVZKP0)Oagja&g;U5bRL_m-s$q$eeX zsZq|p_+!fRCxGOJYu^yyT1YsGV}+^aw_+57$YlrC^i?jS>W8XYsJlycy2euS7-Qf2 z5!vxyQMbJta+VE~^tyQLYam1z>Fz;!pF|ISh(I_-AR^HHS5P<>_H7nUA7%V! zC$UOrsJB|R8(r?^0axPwr@%4eMA{z&egl8_ZhWDBgz)29RgBy$rI{(_M$b{2odzyZ z|Ne4Qo_ywLM2D?NY%?PN(TTo*alb-Q_5Tb0000004R=004l4008;_004mL004C`008P>0026e000+nl3&F}00006 zVoOIv0RI600RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_00}TjL_t(o!|j-Rj9gV6 z$3N%X_nn!Y+3ut5QrMQ3wp(6O%1a=C<&6YPNYDg9jKl;8(Vz(gqJR(7fQgv+2Z>R^ zKNMonm>58cpr{0_g%)U+w$P9^GRvpF2gZPHg(y`79H5EFB!S2q5$WZ0jbpawyksCGesnSQ9I7ND7A z*p7wPnhRERaNou2xaOpz7_QX$`&(m-j8@1p1Foa6^lFUkB=ok?yAgIhJ@1lwL4aDp zB@gt`7T!QUu<&f~9HKa5&)^h0_KdP3bXnPvr{LKPjaGSgs7x~x@E!1MD1h7(P0d} zrP(`CV{kIUQJPNwPz};z&aYN0>!UTd{3cyDBg`}gixj~5)&~G~w-=~4lgqC;{rI1d zHq$G2Keh$OnpBQf8F2mDJ^JzS(G6o^FSeSkUTTEZ-60QMyMf-09M8P*KDYgP3zlUA zGsh~Lw!@hnyFVK#=L9dDQAvzxiphS4@cZ2W6(xG3|6dI^uiKS$Htu#y_pfZ3IXjo7l7@9Wpb`f;5c&tp^*xUk6GEP&b+-> z+lu|MDAgf&^@*a4PCiFS<)DI}zZ-u0ymj_nU%aQMn7>&>FvcL!1XN;J+=uF1i9I%k zpEM}t9o#t{jx)om&Kw2LCNsi2V-X#JhilKxLq)ZjQm{3C*a1pIX)(&rLv? z1~3y4;Ovu&8~awAm9uTf2(4XJhM}?rsScrXMdTlU!XId(-f;p&&px1w0;fZ-Eu3fS7rb#I@~$>)2+0W?DAtq^lsx z!T4^Nc$2qx>}EJS4T);Bw|8M?WO3kH^erv5+$~THU6RC*rObj|XpAOY%0 z%9Gpn5v|FXiV`*tj8kt2-E9F11qu=aJKx^LP5FLub_s(*Y>gFP}91{~$cq(GcU!EiguIAiz$Dn|AT$*Xd3;p8=f^WGL7wPF3RWvih^V|A4r)wwY zUAPgYX0$P_!Lq>|T3ZhfsHP)&hKegniZ67%2U?Tx9^1E;dDXg>b*ql06uRVnXI6Jn zN|732tlH#_Jp)|O(a&{j%2=u;{DIjsKx|OCc>r5pI2eZ_&?rM3wQkxD%P+i$f_++f=Ys}HdwLa4u@#6-cUYT)Tv&w5j{k&CiiRvM7 zs%UqFWqyt0x+?T_qy&z~thzMQ4kU3l58$&8mp7ep;!oT2!Sbt4U3)azLap8iM_&xN zB_IZ+rmMcBNK}KZFCuY+d>V76=X2JQWys1CFs2n&O1nTOG#bdhJ>ch{SqI03G;L+A zF;FO>x{iYC2y^9a0Y3U|IP-d*{O+y4IOXR1JFi;5_5qZJVlQ;%P}#KfCWZ1YNXyj! z`35h%IKre=K#4&_vA*YRR)sYz&!44M^!iRlw(dfL91_PU+eWgiwOJz+7X`GRe+Ia1 z96pO*e1r?`I2FsbY6oQBze51Ypt2j{NhtIZt9SWp;_{AKfaOra5s z5t5Dwk}1$>YlnU(_#HHLj^Q|_Zfw*X7aDmTHXogi@`%oL9hh!-od`C z)PcF%PAl?N6=329q%k-?ZqG7Uv<6JlidUxq`C~YC`5<3k_d1zxL)-w{fh+?th!K`8 zZ3oM=lJLkCRNxlC4M+xuiR%Wx}yq##fw{Gra>gGAzPn_%+Af<2VO%h@P9X?SiFo)V&6L-paNwwi@0000)$`}W0E-OI7Ar&q7IIb0l|$6{Rb39SMF8Zi--uW2f-hRh`4d#W-yD9fzeqAW|3Jc zL#C%mI^CV_PSSb(?z>fWj*EM{)A=#UYwU;Mf#TJBRge4OdrqBmZW+e3pZ@IUG@+T_ z-QM}CvF23ny?*>|^Vm$m#1KBbyR~u6d%ypiU;k>{$C8b+=|?~Q37>!MbN1R_uKnP> zzrXwamtXl*@!IQG6%59JF@~q--S>8G(6l$dxcI%-zxc*)UGDkiFWx*kz)@ZE;NAnj ze*4zd_us!!4eG$9%U8(q3{}NB+o@%+*0pffpelgkT+Yn&%xtee^M$W``Reb!@vU#m zxC+{_Hd#xa=cFW{%F3s&u&{E4OP4Q`QXr*7)$0*cKs3=bHA_p&EWbQWb$W#8h~aP_ zMKi!iN+;{$6eA%tq!dwLX>oxIr)P0Sc=a=%#b8)iSOh>-P!YT@aJeN(0 zs}vlB!3hF3pu&N=K60BbCF*4A0SbsMbG z?~nD!;{pci4iG?_hV<5-@M|}b(lPtpACgoc1XP49%MMi%1W~044QhmbuYdA@p$UxY z13(24`pe6N{T=r1-C)q{^1=0gk~vG363#C+%S1JDoxN}}JN0AP%PCLFj}u~~*) zJVnSIx;-T272bG!=4hJ0&h{3!)>b+HiHj^QErTi{1VkgfUT*>lhDg%{VvK-d%0BYO z*YGh>*>6JGX9k0Fj-Dtk%joqZzG`8VHjbSHdXsQ*jFE5%2!mj_es_u{3Dzjq=%bTq zGQeW-e5q2Vsy5}t5ReomqhO4IrfEnqq6(F5_@wza!!YFRx$_j>8%gp}iR?{0DW>^T&=I{au@+d;>`T-9TE48XBU zT}p`%<6$LvdOfnfwn`HkQc9%M?oF{BF$9{>5JI4;stG8V5-CQctHsZ&|T!mQPU>Wvk*73MxWXmSe+>ub>J^Ww6ovjU)&b-w1)JFjo3>4)A zVo*g95mXg@A_jd`F*Uou%-kHg_o%|&-X1>Ban3y+gVsz2P_zXUIRa;3YIcFS)93JI z#rd;mnC|zvv$@5_<|fY8RE5WT-{nLl%Q7vBVp0k|uHN+g67y#+V67#Fz=x|JwF--% zDl}0DAV@N5XBE-;;VrY}Hb*L($!eBq5Dp+HY z%;Jkl0HUZ-v`f=ve;Vtut~Lwx;31>^0V)xU#g{#DU!W?aDAWdgmXmyrpM;B_G+*|} zvy2!6bzM^r_E1S}2&gdHe~2*#UwBYMXaYtRk+O}+W7t@wj_zHzokQjvr+#E}bi%4qAor;k82`FfeW)_9fsAhHTBQ!nAiz?CvfGWmVKv`eE-NvpF zkVH!9*e)JV!4B-eM#BLq1X79^44E%mm9=eLv)rSqT?Z797~7U#5`Gd2KAD`G;Xa`^ z#AZ3#wfMfQkd)e_Yz&eTsCMp87-Nwn*pQo>TPVm_x|=SKKG{A>($4(I(v-F7(~+jci#CcfBeJm$N%38;9WPeq9|rB zuB?3h&ieXy>bmX&zFV_^ZTsc+O4_t(T>$|S5R0-e`WM*Y` zS4~e(_ioFKvk0^8?20?S92UWgR}nvei{J+kJcumpR}k^y#nYmK7ZLU#iZ@x5g%v^Y zu&bz}JLpVLzt>b(Rc1!S;~`%vt9!a@yJrqQkVIx=WW+!I&ugTxM85xnAM)V`AJ~^) z-d-6FhZX<@Z3fgg#z-V0#s}{-sA@Y<+p*3$ef)T5`raSjn_geP&O7h?a@q38MK6Ey z)1Py2aB%D9&70rJvg}JDk~T}zHd+H#ixMeXfK)v?-%UMEeenM+%ksy6{L}lt-Fk5= zy!pNFUI@^h_u}ohf5z|M{hj&h*S`Mdojcp#9t>7dg%AR&U1qd;Mrc4)&kaD3=3PDZ z=;-i^#+WzKG<|m&gXaQ7gzdYpBrE-uS2s5|84ic!dCtS#{Tf(9zM!g%j*mcuG)YN& zy=DqVZ*9+}gN_i43ZGtDo(CVSRo5>HtFs&Ef_W5n(hQGjX2PYio0cR0$#Q z;BS9rHl1B9CW~}rxv|>MrY_!w{&jl!R3u}R(@bCNo zKvhYSl=Y1bHa9mh0A!tEsrQvyQ(q zbIJp^#w0|z99Bq4CY4=@2qKNzL;EZu5EMI!*jNj#jW*Yn0jfxC+_WGkW#IiCD3S~i z!g0Z09)8563?0_zH_i8nHQZYdynd^{0PdLpHn18Z6=j$jULWj(9n=}#*r7M{p?U6>(dN{4OUzNcHHzDwLz89lM&82n!J9Qa_fA6y4W@c zrSZuVPA1b9NRz&d5u(V{mCmBKhY*-fr)TZ(dBwqIqM(8C$)rB7v@hvrJ+7|}h>YQ6 zGUe!aj1OTBR)oCB>D7m+I#A0qRx^PRTnUtIPw=2h630022_X6k)9;ct@x~SBg=;u+ht^I4=s0N23YCq|vi;9#Cv-+l3+%k;Hbv4AL}i zlb$h#B#B#9chozp?DC2X1`T-cbiS?Iq#Xy3X&uN6dwY!Sy2@XB9vuG zS(XTp#AzoNtN%D&eEzZXDF#y2by0mUwb}!F`-hayVWY|hPo{b28+l6ZZvWg|9bi3M zCrwpFRF-8-rn7~kW?q!+?j0gPQ=u&6XjKwxJM(;exggA(Ew@yaelMe!CLK2BES(2V zfVd9Smz8q?YA5z~jX>7R7IN`r<$_{ip43mLr>X$$acyXr&ZZPafpe|}V57>JVml8n zSC#VtHa{PET6)qt>{$BQ3ca+4uS>12+O_`k)ySEg{VV{bMmg8a`Cy^?n}CtFLg@zO zr)voBy}vrZvMhP@=uxq?^@$Jf-~Z=VR{H(=ywO~tX6S6625rwKdMX+KjK@zN9v>h5 zc`}(S1-Oi5`NkXH+vW%Q_#s@DU1PLJs5UHwYP!AdqK|sYA zjZCE0S|8cSq5LN=@*n-?*T4G3&d$yhE-tH=0W?6IW&PnxFWufs)81e@oyN1-EH2A3 z_TJkNybY?xM%Ef*Oj#B_1og&95Mz8~jI-93X_}UC92fih2YY*ayL&(m%z)*3{(qML z0SOpZM4iwC!~g&QB6?I2D?NY%?PN(TTo*alb- SQ_5Tb00002{UCLJLlRbOy zJ@?$X|NDQQ|8vfB1Z%YKeCH)HnY6XERCVK6ul2F62?0Yxc{MiXg!A(ie)OZ~*Yupd zmO(%N`R_P;_M)7g-t_IEp@G9vid#k~gb;IcSLWY%cjv>Yl=JChyZ@F?3?PNz℘U>h;?1r>F0|{Q%=wA%wtjEF8!F)N$H?HU_N? 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 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/keyboard_1.png b/pandora_console/operation/active_console/imagenes/keyboard_1.png new file mode 100644 index 0000000000000000000000000000000000000000..cd504de833345a8ddee17ccd3b86263c04b07d26 GIT binary patch literal 3200 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 Z1OP9b1=Ow#sZ9U?002ovPDHLkV1h&ONs9mg literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/logo_login.gif b/pandora_console/operation/active_console/imagenes/logo_login.gif new file mode 100644 index 0000000000000000000000000000000000000000..da8b4e8b0732c62fe4831f030338c802d6a6af73 GIT binary patch literal 5466 zcmW+$c|2787oJ26=FU}=L1jtV$}%mM(VKY7s8rHhBP!}QwiXGI7E5KH#f%vjW8aPJ z8Ee)oO(7*~){-SzUSjCIzdN1(&gY!-oacGY_uiAl6NW~PttcjTd_2rY35yUPh9DRs!w?>ZP{Lj^A0|UEnGBQhFc~Er#q(i21mnpt z9uMPD2oj9q!zc(wkzo`bMj;7;jX)z<$S~5467CTO#OIUwd_13z60Suu2;xIzK7{8( zC?N}^NQU@iGM|j+lTkuaNG~4ZwHo{vW%9Fb8z3gV;4d=#FKLbf8T5io=_!V;l{ z)R4spHUf=cA;T!4AYqOK8G`T-gc9mQ)*>0143Y5=86}j9ut17z{iIi+@fiwE53f zguQ=^7P|h&JK^XbJA_C0qfm(ShqUk}e|QLi|3D+p0l5-l9-;|Z<)3V|%Rm8CmzLE8 zcj#O>DH<`at{-&15#~YWZ6@=uJ_sI{wbDD0Y?7G zL`6kKw_h>Y1y|HrZk3tYPD7DvsarUBxs~JmUL+h=@8E@J9r<(mkbZ@l#_1dg#Bi>c#CmjnGY3}*SsfpZs zA$Q%mVE5tFgU_uvR&uE|j6?WZ|2XRrLe|-$8uv?O+`eMXqUP>U-7iOzEE-=t{x!$# z-WQz^ARRuGRY9tdbhEigh%3KQX@Fbd^~p2);CIdZ6Q4 zg~zf%+oz735=EE31pMOvIvcc7Xg=~7e)JjZ^7~?}{a=Fg$%Oxj96r){d!0Vn8@gV& zImK+Al^SF@L| zy9!h^Gh76QY%KkP9j}|HVZ?S~Sft(S*d2Ouv3$U0x@mlr)E%h#)w1zxNvdV< z$5x8zboPx7!fnT}!DB&v>`PQnYm)7Qdof1_;zi5URZ~hZzL%*#Th*w^VRpPL55_f} zbIb+y8ni2pI6Kz=1oPtnVM8A7%?a1?-l4&^KOuJBr1;gZvjju2EXRx871QsF7Wv_6 zmW^*-oIM-Y6@1A;Y3mz~sqC9=4kQcCzm%eu#WXHNn_C5s)`Y*ZHI5Ova^Un@Xn8MT zQEA;RXZ&S$ZpDs!aSX~O;)<-Ds@N&rzcyMgkZa{A%>^gQ%`!~IXHYvu!XAGNmaT1vX|crDUSc25o(1E{h}daU}HfOlts z`gQlg1=Nn(Lgt+M&upN3VhO9*#&vSkv|5&LPz}5;b#%8E+Ino%^z~FhP_IVU`c)eP zwqtO>9pW(Cb{kbjYvQ3wx_lwr5Z&->V*D_EameiZsO+1a)ZPC{4*QYWGF}en@Y~|3 z*C!UU(C6uzM?AxQCW@)g?OpelEc86xx|Q2Zq}@6fDQM z(F=y!dA&$dd}n_0Ix!53j;5x5{BaXq-+Mt`yws{8e7E4bW9LJ@*=3m>#?@ z_foUf=jy^ubK3pZ3#MOb<0h6zt;N-TTNqf(cD9(@T9x%FJ@C{kJ?d{`r)Wjo)bXD) zl2uKMZ9yLS7VzcFcc2abzgyI!y)JTl=@$xe)Uhu#!!l0zHYfR{+)7-}*@1!rJkgvx4fGhGR>+XC+v< zZdpp1KPCetT*U`#jffS^cl6%`g}B?kqMt)sGCv-iA_kiqKCdp}q_2gi%*m+txJaGb zn}6{*IY@7%Db2Z3_N}fFsnl=whSCi0&7sSqln0jo21&bajU?|VSUnb_+>!SF*!FSd z!1VE*yc_R=4JR^p+i1l9WwM>yyO4k83B_o_a@v^dL6K`!%X_vbW#VOfYg~rg3vt|c z)bDK8bV{B!T9ifLq|-vZnYS|9WjjL!`VZ&L6|I(Aj1IetJK)$4xq)eAiIH z{0+>#XT0)#x39>GJDu&LVD=ggdmB~|u4Fox^3h$?sbo?@oB)<%JB`zG@4J$Z$Hpo} zs@{xPsCd8LpOVJz$qE&re^kI%#%%AOxw6{5pAg+HIg%JGw{gt=ui03fWY~i0cc(5B zgJ-mo?Kxif@VzWAH=3`*1r>{hxuSpmA?7(m87=d+81ZLX>Nj@W6=^tN{_?|nMage2 zV&_{3GmT$>mts^-g)&>|!`@9*X|^tpX6_V>Qsr*>h*6?KXo62Fk)6dymny=|KFD-= zZYfq4Tt-)I*d~3rC>J;ssYrM=hJV7>_w-m6*XGuVJPLSWgmdNZkV>`jPU$x9*-yRu zYJhSx=ml-S`|NNgi(9Co4g37Z6gL`KxXJ3D&@Xu|;c4ExBc`{}d{T{icOtun%sCvF zOk6VjyrI=vf%Ds7_C$Lv-BA1)VlC5G;^Gz!(5o|)b2x64u1hpieF?8OpF*FMLVBb_ zeFg0%Bc|0W;J2-rjVN-|G1cvzPm|4euc)h$(_KMtop0QlxmI>i-)^6eE~@e}OiP<6 z@Jz^8+cWO2WqbD04tq&$@rGXl5Hc5`RE2I^MZka)nxir@C87LOn)H z)=(PIWh+pV1x_)Jd>ZshU*i5IoT+89=m$cay=VsWWq&=x#YtA`cAhzGEM78G&y))y zxGU*hTB0mutk7a$FSjlOrymWLyx=DeHc5JFpC&Y#V=TBnTh2(twLNY!u$EOkj|m1y zUFN&SEZvOa!g##F~JiMsN-1!SquiWO&in+|)1P;@&Bm?wh@ z94T^K<(&eTah~Dv8fJ#*EF9qd*z&@K?cU7;{?zodv+Lb#`@iG2V&6XuHN<*qc<(&0 zB|vU4WuCNrWBRy?v*(I_{%YcxlarfI;kMb31E0wm>yi$)!H!~^yUcgT{;w#aLq@_Q z(#u{xF}!+mtg$xF$3ZJh{#u^+P(`GP>bcfEe$Q?wm$t>cjL$!5B)?6mJ}yk_NY5F` z<;2`O?(<(an@z#;`O814sJqLsue5bjz0=YbC*FOtmYA(ymy!$bhw{5q5QJ$P_j zBl@F!ug9a9l!MPylrB4wW(t9C7rmTWasp?S_lIO}Z`17Aw_~aP#)vccUx_0j@B#GA z0|@pJ6~iuH2Xr$%mdTz~ztn#Jk~x&61aI+`6WMi3>^8V?GRHCCd7zx~DtO5$z~Zy^ zuTK1`-qZVZxnFztv43sb^gzX6+)vIxW%9hq;lsMxdz95gyq!j6MjZFhCboNR(#aG1 zr?zNYrHI&x2J@Vvqxu#Wxn=U6O{Q`m^xae*I5W0A`miF?G1mqsyD6&OdJD>Eh9=UM-;mNpiD%$Z^U>V_$oAFGytskji|H)N0lRZy%DeE zCFEs*v1H5#!>B<$pd}luc8TccMUHwz0V$C+hCrjdOn)6_pbqmblrkAh`JRm#(xXV9 zr_Asu{dM3h53|a{NNfU@c$j_^RpdPI)t5S*P5Ey%0&oO|3o%1946sHUzE1gC2rgcx ziMmqyJtz|+;3$ng>p~gwkQtoEU`f$?r)WdT7{v;3v=Flo!VI8j;&jX&Qgr`FZpe zigpBE_(f-f)s|A+b^sx6w{5(W;T68p|U*i8w; zC}08vCTPrkq$qSCXI~#iA`A?7jou(}oc%b>ISH$mlc^Okf;HMu9Zh;FX3M6e5fBIj zB|1ZsgLA-vy2OD(CT3H@5G@hb119@0+j0_TadgRrq==~~3NBGpGPzM+V!SXV#1+h2 ziudSmkF@tl7OpSmb)Dg2&IVYXKENlG?OxSx94r9rwz|z#APJ% zaLG3+axR85|JR?XSIPb023p!>bxJ1hdk7wuq<^;pi>GtN6p|#&Qk~bZxosIem3h4i z&}2?JR2kRcT8MVzTKi?UD?rVD*Q)Q}Av4~9Rm}J7$b!?y(FjANlOUfqtgI+V`PH}08 zeqiF;@_SHp!a9~6pVg9GL1-&{(3dQ6ulk)PsMDUkS-t zz@t{gtbEX|4$LX`&U=kkDLB5K^FmPYqAI`dTttasQu8|2>=eUT2Z-%s1Xz_ALa)(E z$g#52_=W+kB$G$Yiqf$`QZiSileccfZP%$fF<8+X z-{e+ZE*AKz&kK-&Bq>A8Q=<| zr5U=~wGS#9uAO>0%zHy3HhqeJBSLR63#+=rZ4!@&v{9&2iLAEeXRk%1*(9_bGAZHk zLF!=jajkYyv-Vqr)I37uH&oO;x3_jP#Ucaj1b(t=crK0K1Z~9nRq^AwU??G$XV)>R zl)2*GTBFEccTZlG&tfDnP{`jryym&~yYIL76ZY>>ZXLXKNc{2pIBA(8Y2d3zm%Ib; zcq*!wQ1-a5g9E(`m8N&1>pA?EeW%*LT<^j;0A<>&WvLEup|KJ+&dV6=THk1Cdc-E2 z0(o(5GDGd0jryJKJjtq80JD zduJ1tz`JSOBVpQw9W4@7%(!3$8oujfRCPmbu}y{_%-Y@>IDpaX&CyC#3e_L8?VGVG zZKglE%^yYG#c(^M%QLH4nwoX~#;r_rpTmBz$o^xg^lMM)ZUy7|NYnhWE~NsQ7Yx?|vY`f2iZgQ0~OYQ16eyrM@u04EQ=iT??gZ pY4?x+t}8YC(ylSwX!K?9clau2SWq*(F*N+&?_m@L+_VX0@_!frMF64c>5n9frP}l$G(37J#%_hsh6VmK*a?Ksp`dgL6sr_ zenmq|OA`|EHVTeo$KKf=vok&5*^W26j?=f7N*!r5HpE02~|~ z%&x4g{QSw2C%AFr#=ijvg8`IM6~Sn{b4n?dBMJ^xB9v0>?d_pbso?C{vrtMUs+fR!kt{Q2RUyPkU;h?DAPht7?(U+| zXn+h&rY$!DsEd>mLJ0W2pMaTgdQ4gc4QrmaEWoU1lu}436EIzJ0mCpn0+=>&7UVe4 zEJ*!a16r1KJfKo)BEa;S%Yw`@eHvH@0n4(EtaV}q^DauBl4&*b&S?}yC=?2l11hBu z1VI9rz9e~&X4TK~e4*LroP$z&GC)&76EF`h2!dom0J%;(-TJC26BVa)gB*!6Z^AiE;g(;=S0tP_<&Ut2xjiM+q zXBdXi@m-g+Q$CS`p64YFG;1Q$j6o1&##u^fa!j--({rUaJh6h^ZZ}D-Oh}!<=t;Gk zh@vPrLotg6HOFd|PXwqhK;Db#v06D@7-NZ>8JBA5cZCp>1Da+ScTV&|I$0G$j6Bn- z9+wm9aF?~#v4Clq^v<cG=_VzaR_xDjQmq7>-01gNtZO`*wuCK5E;r{*mf7;#M z?E?q^@L?MPh|{nn1K1kY!Vt^>VBfua_ltY??tSID?&|LDE=h+&;8S{~ltR1RhHcv@ z7K@1&kW#{RT~w>pezV#9)tx(cejNlse+XzoiXo`Vax>JZ%&69tD_4F}E|90!Yw zi^=%}K1G6^ogKV=`xc((p<1n?UazBCttM$#9LM^da=l*v+10C8|JZCc|Dxv~!m*)( zG7nH1H6HFJ0${y-`SRPjxw(HXFE5`tbLI>PA@F@4p67vc4$gVv$Kp7~;o%{aQg9px zj^m(IDj|v@tgo-DXV0E}`|jPlwlRN{T08OLEaUtsV^FN+Znaw9an3jP_V!A??@tRM zEJ`W0ZJTHpL@9;qx|p4v#q8`Xip3%dg#tL|a(jE5udS_ZK7IQ1_m3Vu`g&tyV++6_ z$Gpd0lC;V7g(=O?&o3-5FaPM$rArsCUAy-A#fukzz!-Bq&$D~Io+E@P*tYFgDiv1M3Uq04UDP%($-W77K;K z)ZE;hdhHrNJO5L3!r P00000NkvXXu0mjfx#);B literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/memoria_1.png b/pandora_console/operation/active_console/imagenes/memoria_1.png new file mode 100644 index 0000000000000000000000000000000000000000..147d071376891cc9e0b50756383c9d79ea46a6c6 GIT binary patch literal 2839 zcmV+y3+VKTP)H^!pnVtIY2^kKf9 z8s_K4&j|R(jUWsQJ9s9!LhGwpoykm;<3uBp%C&+W6i71VSCL$#(Ui=7bSLi(@Udnn zSq6^3JF$YkMhn+&I98=*rI<1hYn~`@P_*g3hMueE( zo9I-1Zg(m(U#Z2CF?2&?chA>w(rInd6k4*$a06M{Dhw)&1p{=MHzDsXa98_{Km@&s z?(jutMKU#CPO`Kf7P=J&YP$)D^KTmf&$|WbDq&(0x><|ns zL9$hM{h+*6RKqcTy=_SU#JH_1p=cXe;T~ss^~GpgG*c+l@_5Tmx{W3lE?y!X*cgU^ zrfF!JhEf_*=6PUsibUH3_zF-Emy#F5t9-}5grh4|sA^eItI$pupA5KlHTafETZ&|^QML+qlKwK(b&?o7QAw?*445^6EdNk`bNF@ow5Gf@=5aRnwth+BssilX1n|Xs= zFo&bV3pG>h&E)uXsI&Loh(G$KI>x*HLB5^La?<0@fSd2T9*CHDI@(@76m7OMTDgUU zk;F6%a^-n6si?!nR61c85(FW_pJUzqNlLA&_^0s`Op93(n&O4j6#H7HIbJn*cEA=F zPRSz-iGx(s&fB1ZoklFq&=jpfQ!rVY=U64nq*=f+EY_#eY+JR76IU-XU7e$+A;X@gvpm-D z8(y0>dF~gsKYCgoW~jO!p+-NB@bO!`X)SmW14ryOn+knahIF{pz?ZtVvm)L|F?W@E z%efweFeIv3q(YlqP@tfDOAmy41T)-YHWm*UHF`!B>Uq59^Rzn|X2&m*F=OcZjS;34QY!rF9M!nT zPvtC2vP2>p2WOFv+G&2Uc7Y{N^4zhgxNu4yCR=%lsv5f02{S(uCrpEw*kd&2U({n} zBAl=1PagUL9d3qe7v7`Run7o$`-zkwyg634MwxQEu%=Fd(y+rSyUjeOgOI=OkFYSN z2b2BbtDLJGU{hk0lS{XZ!0&GH*3}?2lc@isURUh1T|31>17F?nC|$`$Mu!H8OZ~UA zRZ2-1O1$bEE8C*v5*_?xVt@)BHM(M7;tDU+O|YcHzn`VlMi7dAA=-TZpk7pQq`weU_zz>2O(?Q^Qf@)=kbt@ArWxDv` z*eT}30-M^F^ZnKt_O(s%Gj#s>J>BioW6yLvs6I_4gUO#V=FjV+{o(Fr96w|Bu*X$e2ROU!p2G2KKUyk{(oibT#&z|SGi&(A!4u3>=SW!a_w7^sZPzrfm35v!c<+qQs=oe{l zq8#kF%-%IK94+beo{9%!1L_FpOZ)l5+AQPMPvXNQ3_%hSYGG&!WbGs(h*A?YVw)D4 zsgbEoaJjIEYuj|lfGrQV;AigVM+0wC@dZ0ptl=A}clh&`8BXL4zVntVt_{jp87&<` z$kC6Q5Vu=8Q$=`x>6gq{2l2=$Rq;vA%91uu#IX3vmK{8?eHS9|Ia|(g$t^MwYvo6S zXP7R|V}&K2i2aOA|p>t7n=7{jH5 zJlUS5|JL{1t$_e}0R<7VJ~NE2c|_zRMm%u6l0^^-lonu^5h|evx*|jp#pCbRUSr?p zX^ze4Jo^hrTENf|ws&T!;`#NVqjb zHJ|4n9Os!GIewYb*!MG6yg$GzjFkHD)cL!KyBP>D>p@2>Bqs)y8Of`d*ceF**Q-X* zM1{UBSLxk3#nEw%z5ng{7yH!_vgQ4F^88(ueJt<;WZDcFs}8CfyNV+=nMo0?Gc$Z` zZGmyG$iDw_{Y!%!+YPn+XDhD`mn~8%mjndG)pQ{-4Jh%xc#LVKRjI) z;{)n2+46U(%AtFOyS?gmAZ}SaQu{6A8;M!t>xqDe+@D}+-E6D9=gZ&TE&6~9LfK@D zud)=b%X8O-xS>N=;0u1OP9b1=Ow#sZ9U?002ovPDHLkV1iRBX}$me literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/mobil_1.png b/pandora_console/operation/active_console/imagenes/mobil_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8bb62ae38537c6949a9f5797e2d461f0f2a5f6ad GIT binary patch literal 2428 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 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/monitor_1.png b/pandora_console/operation/active_console/imagenes/monitor_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b31a5c4cfca0a9b5dfc7cc3e437c42cb82fc8858 GIT binary patch literal 2007 zcmV;|2PpW7P)j~quG$3MS*%*?L6 zFYnsf%@RT45R^m-CP64jL6+@Eu1|e`uj+*lcoTr{{qT8y z`TLjn_BX!%(T6^E^pQco-!}{ZGk*rK;Cpq(z_9jueRFePbwfL$$ew32)3fI$n5s2nO9$sTa%l1H^}}nQ5Rn%WfWwDY5RqOSMd|g?4p+yHD2khv z(XOyjur+ySyiv;#5l;R09e(xKS1FxhrkEOL3RVMpI8#vNtDkv*+f74ip2Xx8!!TxRAZhf==xp~__Y{_nUNI^q5#UP zgH4Tj*eT#3f?s*-BExZp&~oiNy+}ovv_oDg$VwOZTnEZRWev6P-2P@KD|qAl7HT$S zvb~yl;iUb=l!D&Tv%;ZRN1bW7Y3S(#;LO`sxOjC)Br=r^c7-!zWnrH6)nzYts9@`Z zYLFKWcN2)c4(F6N-rb^bx-a$2jDDK(__3pGtS$L;)iJS|_%O)|M_~p&$~uPzs%oIJ zAHQ;Khl^K7$UeOkE^@QHF4Ju2L+>TS3YQ;ng^I z={+VziAXciu3l#b_iV26@XSAPz$&jAEutoHu}Nw%1vz2FVtTOIJsXCizX(GlThl%CUPlnd_%q zA7_{<n-HhKz)Fv*KN#Q`X4vaP+8k08tY5{psuY6Ytg+VVS z5@BbOwrF$w2%U9r)%T{{Da%HwFjX~>s^n$q6%_h?Itm(d zy@dOY3>alKAU5@oZok>C8yGiM7N&O1-CgyKyX@74`Nrqy_u51apk{2WE%U9X9-Z-$ z)TSZ2-)CI&+y2=*9-6vcsSH}XkBBtoH14H7QA_ z<4C;RF8KEOs@DJ?ByYZbo@>L=^+}drZv_#=tbPAOKny`JsW*>eAW_vvkXVT0xbam1 zRChsWo*{@BR?ibfAXqWlnOwPWdD{|z3zxPS?u=hM^S`q{ilgZ1ey=y@nJU)sb-Eb@ zGuauB?^kt8P0T>}k0b$xgF*kaAh}`E{HtW6g&0)6Qup~V3A+I z%qEcMg}rh1{P^c5|2W!QU%UOVIQiQbL1eAhOaCCkL(^HJ^-(js=v?__5jpk6Cq946 z^CY+Yi@K$~6z9r~`T4oED2ghDXDrv$4o@bNN0T%;bvyIivVt%D=`Wuk2fzIv6NADA$BIt-0000YdQ@0+Q*UN;cVTj6004N} pD=#nC%goCzPEIUH)ypqR2LLwM23QbN%3J^d002ovPDHLkV1hmU-Ae!f literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/muchos_pulpos.gif b/pandora_console/operation/active_console/imagenes/muchos_pulpos.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d4ed22895808c4229d5f027902c2510387a43a6 GIT binary patch literal 7944 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 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/nfs_1.png b/pandora_console/operation/active_console/imagenes/nfs_1.png new file mode 100644 index 0000000000000000000000000000000000000000..cbf772899081859cbe3dc38802ff02c30d23df57 GIT binary patch literal 2303 zcmV;|Dg3?V8vW94e)WDwVD(mnx`>sBT1BK}9zNA(c%R6-^gy zl?76FsgzAsHBBN_O{EGEv4|9+CIu6bqy`aWLV1|r2lzE(Y|rza)5V>+bH_6SgGka% zf9dG_=b!WV&i^|99pL};ctkb}o`3!@e7^*Mq$nlh0O|iS0hG(7TiNW&$>HJA*^?(< z$L#EM-S4~sF(Hr=mStJL@9F9Nv1Qqua|XkRfl>m1fRJEb(4u_MC~f4UJpjzjEnMkyc!LNI^;u(=0(A219Zx~?IgFT(TUh{eo7 z049L7=s7ex$Yxh?H`ivvUht0_0qQ<9KmR)1S~Z4U`ga&Hw}^Z3G!;EDCZn_$pxE zmvtbelrYU8@H9<><9NNPR8Ma@y}dO+N+~#325s9O2msQGzsV3>b4{W_lZ_xn9Z267 z&@`peG<0+%lgVVy&~wlItaXr7O!|ajn4Y32VWa}61cii@B;R_|}sakGB&8Vbi@xN|42bFOYXapE_4_0`|j15{NFQesC} zSHf^z6XmiW0a!cWK_F{$WYe{+WL2xAQXQ)2B}N>FFaUn&gNG0Q8n3+a5*){RGMVh) zQJ<=swr1kye%I)y&DJ)`qQ7~bjZ~_02tZ8NjarZ}#_;shKjf}!_oY&CNGZdjpz1$0 zKiXVc(T2X-Hji61#uz9ia2yksW%Zb*=h?PfGclzULqq*>(=@l*wi({6dPwxPtu)Z; zw?~;Di&=0SyL-!){+?vA^UlJ;TooXLWtqLUZT9(o8F%mAg%Gs}{VIqthK`OndV0F! zot-^f_w9S(!o0&=-rLwWUOQ#IwduB$1E=8caZ!13b;1Asvl zOhac?RkgCHX5Q*+674se>2axgJ|Tp9ULXs7kWw0EdR0|XEEbW?W+8-tX_^p1fH8(b zp#W7?;rl)aAy`{mgX1_bP4kg~5<(EI464sx5L^*}fd*NaGO7Ryg#t>Y5>!>i`uaLl zRmIZM5^UQ>sZ@fL5>r!C*tKgHIyyQY*>B6`GP3tqK`Di6JMewKqCpDIn`%%1kWdr_ zQc5_EgJQ7=RaH?a6u>!0P=*DmK?o7bs%zRMN+>R8F5|t$e?TWD_NgzxATdZOD|KlE zV5Nx6=kvvUE|<50Y9^?38DmgY6{cx|a|X}zpsH&4f~3=FIF8fgoqjM0DbQ_qW0XDx zmFTc_3u~EmtgYqzd_Gs2nkv-*uBPwB_a-8- zWw5xo(vaXE>VqKYMo{8U-<`qdpD$o)>a*!<*Dg&RIkLAh2S6gxg`-Db#`Wu;elw9s zzT~>rD4KkdwjfCe)Kn_jX<0Vg*vKQ3S@JhFatoBQ0-F4L(Nv>C$l2N1`ArEi1pms zjd&t<>H5_x?QYeS9%{xzhYrDYJzThOo?pFsg$faQM*;lx&A*6K2Z#FmZg=YjokH)O zc|0R8D;rz#@z*ci;)#SqYq2Atsv3recL>99%5!rwn4Fw^;Q0^rj{^q|AeYOz>2&|^ zy1KS(CxnRTYQ1oujFu)D)+n!rqUVc0c`o52qm1S*gZ0~o*#=idzN?GK31SE40#@W-r@UtN1Gr^S?-X#M! z&yM`)d*dU}vk3yl`&av$SGz<%~vv+X*{QDq;qN)-J0&Q&- z?&2ys3%3D3A80T?gN2zKCMG_BP!*8ywI%TVGBTNE!Wbp(B=&~_%x1G-jNSk6!?Ujy zi|>7m$XCAvfmtk)5q0j{o|WA}Vk!s$ic5LfAyumQ+|g#Ryr^B)86189aq0w_l>`$Yh3=K|FTk_f)a zzS^qye?k8RtV&`!0-;Gx0000YdQ@0+Q*UN;cVTj6004N}b4%X8O-xS>N=;0u Z1OP9b1=Ow#sZ9U?002ovPDHLkV1n>uI{N?s literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/ojo_1.png b/pandora_console/operation/active_console/imagenes/ojo_1.png new file mode 100644 index 0000000000000000000000000000000000000000..bc80b977d3c874cc9157ac9736feaf5cd5561fdf GIT binary patch literal 3478 zcmV;H4QcX;P)srAp=AtBoPtFOAryQ(o(AOpeUseT7oaWQ1GBWSe6eyS%nXlh4LU; zSYnAJfq|-IOd@1*ounoVGn1K4&rILXK4)Ln`aU1_Ij6frpg?!k>D%tT_HX^a`x1W2 zYmo1NnG=yEko!dB0g!iya2v1!OaTS3ZtxmruL5Vy?3;#Nkl;%zE4tmepXhz^lY(W# zEr1}%DMUUY$ipIXE69up0)p&Y&L&?CGb;?cjM;Y#zJlquK(cOU_Wuuomp zGlKl4h#Wyg1c%57OvZRpLrq8xt06HI%=%{bsG)zYs^1Y2>viYgH!!mx;yxw97X-H? zA|PX+Juneh!;L`^M1IurRzs#p)G}91e{ZIr2i};TI{cFX?qt_7tRW`9FCw24aSQvQ z*bgYKhEzpDV{~t1Y}vQG**?VD4U$&GSZLDfA5_z41zDf&EgoQTZ-(3MuVJwgj7NYk z01IOija^^fye|QY5(a}Bcw+v2mumfyT3r#ry9SNWcHT8UDdIk_mS(nh*A6@u-qOC# zy&vpzAaj%5YXTQAt-!fjt%;urqKUM2jormXHr8*j+uz1H&+P0Rhh`5kcG}S z1m^-Fw1R5-w2HnFt^AAa{+iDAmVem9Tf3{6aacsYD9Fe6OgK`_dBi}>kfcaaB8>*A z(PVY?3NJtN1gqI5Yd0<hfIJcHmk{nTlmUwf6e-*O9~3GGf`x;IBrWEhc{GMW-lE!f_?p(nGT;IHicOFH5Ly+G_@Dpd=AC0xG5fQ4Y;;H|6 zl4oA{Hp|DBIJ~rk_XZR=Z{QM0q^brKWkyxyB#jIPJN)3{IkvX8nLo5htJSVIt%;;1 zNn_j0)GYm{87TlHO;o9BHhklw;-n!5)T)1$edZR7?_W62nWrCR>1{_@IDD9t1~{)c zXDAus1TiJ0L^0eZ8{ELVE~<{TYgak<%CndW58nS_oD-5pRAXIv%pOjr_Xs>40Mrr& zKa(uI%b7!DRH~99T7eIk^H4>^AV)a++*539UgF5g3{}ifOL#FF-XYFmnyAVMVl-P_ zmKN?L_%3H(_$FIBt6Y5j0;Ub_xcwxHiwne5pqelYwX~?3PKmguT@9!tO%JH1<7x>T zCspSlFJNO6V#FE^2!V}jZ}8e{XKA%P;u2-KO_ll>IU+f$SJrs^zs~XP$1kyZ*|U7; zJ=}c!9+nqxW@Y&nq7HB_arw$ioIn2pMUfF>F)4*flSEAqW@Q%K`PH*Dd_XmwN}58_ zgqqgH-4yGzvAG${jhX-_T-&(L_Rck0tp-&bP{xd;L!2vFzp=qL{^J~{A3x99YN8m- zbNX9nxp3h{syJYI@n+hs7R_d$D0lh6rB@gh8HU#CX(DMNX}kmI1yyAu+w=|JSgy0k zs1i63@tAj`d{qNt#@5z4MLA%Y7i?@+w7W1PUD};#&b@er=gz)PQB<5cbB1&0&T-dW zCvahl_uYSj;V`G!Y>}+OEV90_MxN*NdQ&8gL`@`1Bu#V4QZJ0`?vte{lu4}xAvnR| zusu9LC^e#%*zIqV5PBL2%~_hmimO-O;Kq%0QmO;w+O=z3ym%4(Nshj~pcxJUhHAu6 z%6v$S6-iSKr;(TQKd*sdyr9MikgaXP$<}NR5mzJ=IXpumm=qJ2!{_ZGCQ-# zVC@Z3gp`C>DMel}KflCpJ@O&$JaL}YtD7t=b~$nK2vgGyHn%n@i;AjBqzH}16f4Kx z2EpyYrLl^!P}MvnOPpJMIo`Q)Vtw4GkD(^5`Y8Op)roj+W`T6cEZd>qA21wLmNZ6{AAMI13Kz&mg$;!JVk za2g5Cz3xi_bp6#^&pkWl5tUIA5Zgz@VxUnmnEEGPmA#il2So{T%8|QKpK7 zk}ORsNYsRCI%C+g2ZoDpJpZp?+$|#i?wxzPH^KXW^8qg&=NwKvUK}D0H|n;XI8sVn zzjBrHuf58Z)r)LzU8gFCs3t;a(e2K#eDo%6z3om`jvu4h2&5EIF_J2ECK)T33N`&5 zM7|_udkt&tYx=UoeZ^w>ELB3=9UO*A!l}o(L>fWupYogthmS5Xzp}_+a4-G-E=8WB zrZhsJ)9o@f-NOfus#3-RH6xjh!1h!$?7uO-ju{V~`n7{I$v4ja3nH8_vo8Vf#>qrA zCvK$TNWp!>yNn8Oq!Tx^Pt8k4cVW6~G+J>Z`Vc<9ux9-QjD z2nH`Zaerpm7gcR8Nkm7(xziEoc$k_D?t6zG=xEPodw`ly^9KOOxwURUWNei$WA;@9 zK6K9~et4<__||h@1)+)Y=Z5`}V!_O?@mw+*0csV;a3g0vaGGFst=5FqqYXMr`s4dz z_4A|Z{}}LT;I$9l^YMM-)LUGqpZ_<2LxTLJnLT1yL)lkZWMaTKEm6-gdxr?N?_Rw@ zG4_;a0(S=CQ^1QKc<09su(-DZ{DpV^G7h)tO#Z}+`x`I54B`oR>hBJZXXJ@>=QEm@ zQLE=>GsM7+AUySRlXXUGd2x?9k>7R5i~cQee(dSi6VHDQkQv|)!T!Kt#U@IQi{YM9 z_Ld9pwQl>B6UagS8TcG<0fGBZKK$bW$FoREi9F9mL?jN4D;uwb-E#fs&Ga*feZ;Wl z7;xlmKXQ|Mr-m|yG)$fsk-zn>`H%OW_~2Ha=i-EOB&r;}Q(R_gV7X=Y|dLkQMrG-|-%aOl_9*TY~i2;1A+A`+1~M6Tib4FW$y6Jx31i^ymI)ysj2oIjb`&mvl-@{bL}ye zsZ}wi&8muPWl>(<+}L^Y>g5~XTYY`~O0&@}=MK&4^z?M<^?I?}?Z#fO7pJDC;>^rU zoSvSJv$L~tc6PQN++}izv+oSgCe5mhl@=$`Xa;}j!s^a*-#hnIQRLrkcbnbgHyxQ@ zSy@_`>UE|<2*J!!RmFT`eQW*oOK)7?-5K_SZI%#@(I(56<)a&)k zd%qVXqMbijMn%7001I- zR9JLVZ)S9NVRB^v0C?IfFE7{2%*!rLPAo{(%P&d?05;eLSP)anTmS$707*qoM6N<$ Ef@5O7rT_o{ literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/ordenadoresRed_1.png b/pandora_console/operation/active_console/imagenes/ordenadoresRed_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d4d871a1f25335d08ac2b3753913f774337b1c12 GIT binary patch literal 2771 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 Z{{Za5>+1v4^0@#2002ovPDHLkV1iTJTh0Ig literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/pandoraDB_1.png b/pandora_console/operation/active_console/imagenes/pandoraDB_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5f5062aeead1e5af8832bd6e26a7cbb8449caa27 GIT binary patch literal 2503 zcmV;&2{`tNP)NxG98+l;BQ67{+8V3e9kAaZWNsudEChylI7v7P4+;V`BMERy8W#-$8xRC$ zJQRmaCP*9yKo|!t5e0!d8zc<{IuZs%5(rTj3pNl4Ko15;6$_p*AE`GaRuTwH5C>rv z438-pl`I^gG9a5TAFnnfq%9ujyO5sx4hbrTGy002_}06H~+R{#J20d!JMQvg8b*k%9# z00Cl4M??UK1szBL000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iE}w3mX{-S3sPP^NC_@SK~&TunqA?18O|qo>{Ic)05hArD{&ww{iqv6Lj4WYqcy;VfhsljP|66C7WNK6Qxx$&KrynZ z!7ezJWeh)2#dYU7hwCL)bfYMZF)i`H-pBf552%pXl%%s|cS-;IpdJ zctJn_YH{27fP`7K@mlR{1zRgSHf6vjfNWKG%i5!@%IQj)l8nxi+k9pPz?q8b;cV5i z8}Z2xZg~!K`T0~nrnOQfx_Ju-4QQW#w;Ej0!owkgFzR%a;#WGBd_)lYW1(Qk49JtL z1}EFULRNxsnwbq$fSD@^VyzqYoHw%q)T^+KL#Z!wH6;wgGUm8Bl%_ayWh$Tb9uJ>h zg(Nk{tS9r$)xct7*dmHDC}Gnk#;ivJgTNLv*wxsry%+ZlXCX6o%yROmcSvw_LOcz% z8w)+?1EUJ7L+7iJTQFi2|DppDCM8YC@^3^fYL1-+2zUhRSOyPzyTTX@R7!ROK8fbo zOio{@!j|~^iw84dGbh4{0lCJbD8PR!Aa|$55uPpQ^HZMpr__l-*J|aU%cZDURtds- zWu2Pip)LWLW21{UBqs!p6$h;R$D?$s2cfR&Q22F!<>e+z5QWnm7Z)=>;d&DQumBAlkBT}e!t)j{!~8<}71zZV zW0k}x@Tw?Zr`J2{mwgt;kR;N;^C%c@a{G70(X%A=40YDaNBK_k8MGo5vlKXhHVrso z;UdrRx`0xkR>W`4jfsw?f=ZL33hzC*S$YP91+E(*b-oWx2c(@2IJrlX}t zCbxwH9-xN&Aqchs=w&vIcLiixE0#D2xKUFFj(R z5d=-OfTMIyRbmh7!((!Ht@UlcA+vHO4C;!0nwZ%MtJ+l}(bA5>~ z;W2gg#xg#)?}sISxlSz4rbEy>-#pRh{&zo4KNN@X_|Kni5>M@^J+=S4{SD*T-_7tB RWc>gD002ovPDHLkV1k*T^`HO% literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/pandoraLupa_1.png b/pandora_console/operation/active_console/imagenes/pandoraLupa_1.png new file mode 100644 index 0000000000000000000000000000000000000000..54bee008b56d0f25cdadd835737353a89f2f1bf1 GIT binary patch literal 2499 zcmV;!2|V_RP)?NN}GW}i*iq$d_R(GSDkt|i(gBXY9nkwLyci4aziqIPv-dTA7nNpY&=q#XhgST z2w)OeyJQDp5LlL83Rw^gV-gNx6cA<>01*KNQwa!M3=nY@5NQ+@Zy6bQ9tvR%00#gA zHv~208)=M+6H~1`b&W6>1O~aTFqf8XtHVfysQR+oTIl1QTKl7HAD9haMz=94m+; zFpVcQk}NrvFg=(vKb$s0pE*aOJxZlO((lg-P67~F1`}ck5myKpYYrT75g&FGC4Lz- zmMTG@HB5*^4O9UQPy-TS1s7=w9C8jIc@ZOe7AS!mEQK8}i69YP0~Klo7-|S3coHXo z7c7SwGL9fNlO!{YBRZ2QKb$N;nlMJ6HCnGpSCC8-VgV6e0TpNh7-$6>a|a!A3L$$8 zDu)y&ffOx?88M9aHIo=Kju}6iB1NAoOrbMrw^1N^10s6`EQbs%hYmH7 z6g`<7qSuimeE}zc11Ew7EQty;kPt6<5jln$LXIRTg#jE_0xXIIEs6#%iwHB24JT>~ zFN^{2BdIN=m1&MwH zsFw_sf&-z72dIk$s)q%=j0MM#1lpDb(~}16nFZ#T1`(FefB*mh0d!JMQvg8b*k%9# z00Cl4M??UK1szBL000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iE}w3mPOzDz07t z00uuvL_t(Y$IX_1OdC}kz?Fs4(j-^DrNM?^;!qC zg^B{#0zz3YcbE(mFpC734t48{jsbJbnM@o(24)G$a3=ey%b3BqAK8>G3mxsnch~Dt z%-o=V`I6pUUi$g|{(j$6DE`mOT)8!Rm<3(s4ely?bae4Xm;rlhE236k1~_k3)U*Yb z_s#deDapwxDRW(C$`lGxcYjie;TVSD1fiT2plj*e?)DbkmyH!jktbr6^7hVV8`)5L zPcn0}a|0GyI4=Bf+3vm_W`pgXX>mF=882fhQLRc8L4=eSaZEA0t@|FVeT_yVz@p9Q z`O1q(2DV9rshUC-TK^N(A`;Q*>%%beS$Jd!)urpGs&+tE;oVVNwtLH#bmtnUUM+I6 zgyc1vbX4L-B!UC2j=PYw-pEjl(Ys-b#;y)QDoJ|^^2DBLZAAT%54zm{jxbFDlI`yE z?yu26mp(-u)+s8-lbsr;Gt1gdE3z1d`anO2)j^A=hqukK`tXHQb|U;A@sUE4`8nBXqR03OB2?y7OY_z|k}@+{ zk?_z&H7=rHhw%NjP?FFw$uTrV?^mLq#oxSrqvEOD~|W zB{9Of)y|qVB_JvocVH;!g|cgE6;0`_9KzT1^onL5mRtHfO1m68F{X z;u2E`(Uhki5ZO1L^vLOH@ zvNIdP-9CqyW-;Aj+;J(#F@GYXY1SJq4FfYSocJ0DAmnsf7H}U~bn!T$#%G5RhJ{>y zd@9J_aZC)!9RXVEgi{MC_VjW9av4WY>`ud1ZggriB}#Q#URts+2Sxa2p64eIakb&I z#>SY3+JujK=xjTc-;%MnhyDCuEVf!WF*ao8(@fibI$4Q5jPm;~ALOU1CP-JYEj;v^ zNO1zYPmG&OoTu9lv{GCWhHccO+cOnz*m`uQPcUrRl0SGpaOKBwc9;gRo-`SaWWCRK z_((`h|44Bm>n!w~ezm|xnTlBoWGl$N{+-pR?NYO*17}cBExljo<-*~UUknYf+=1hL zqr;K|G}Ur`py}Lj4JsHRcn~NQ*0I5k9jJM%#_0h1OM%^v^6Mz;q|Q$a_I5O~=RTGD zS#L5|+JzRgg3T7J&hr}|R;-}|J(wsHRU2&*!3__QmLo63Uibxzk>h( N002ovPDHLkV1jK06OjM_ literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/pandora_1.png b/pandora_console/operation/active_console/imagenes/pandora_1.png new file mode 100644 index 0000000000000000000000000000000000000000..cfec4549a739150b093130f38398634f09bd051f GIT binary patch literal 1716 zcmW-g3pCVO9LF!EA@tJ2qfr#CM;h+-u-;|Lt68Q&wY7$F<9PJYRv3j=HWeExmtr`I zRP<1@t!xtMY`52`v(2W5-93dw4{OUgbock4d(MC6{N~>K{e8aQ-+%Up%2t?;w;YcU zG7Svym&5mRcpMDJz~^;&gF8a{qoE-RDHj&woN`V$$DAXfVvIA&8Q~0bhJ;PZIHjBt zPBEuQI7=8OloP@U<^%~>G2@tWOgP3IBT(XqaYQ*H9AS>20Bw*4Ew~J)k zW()~!p`w&g!YF1G2^6qNC?kXs%m@;o;4G#L6NWLv2pHiiLzE%H5M~Iv0yT&MG*AK- z>_KDD25HcO%SbRJ)UXJpm{KJ8gSJo+LJ6h>33h=3HZh?XQ;fhpK*3px2t}A8um^bn zCftTNz&}8ML!bsRfCfr93LMZFv_TrQkdU0P4K*xG2oiz>f6x{xj0r}NE7%1J*dz!O z1UW*|5CCw&aR?gRLX?mPV8U&P1DL=tI0R}C18BGjSik{|K^vrzFe2eJY(otT!Ned) z@CR+7!tkQ#-Uh+0Zon{6VV=4n2~fJ+h4Jd56c}~s2-DUX7LauwgyHM31P8iKAPrhD zB?u2ZL929ikhPoTBs-I-4wGg$n_0R{7rR-AT`g=Dio-X`9X#z^m(BNBx!7*W?5!Ee zZ$9?qmha3sq1;s#Ze%RlQ5JMUvs)JDyz_)KG6knr1SB5vQ&k4%3`GUH1yWnE|;xBzOS{wg7jj7SNNl!48#FY7;Ony zlY)@3negbL(&OgvqiB2JN~!3Ho`La9o6VM^kqC{E1p50a0y@qqOf{tvlm4hrkuDED zPVy5^X!lmBV|E^`K3QDQob=AQJ1)5Nnf>CxoX>gYnm5Z;>z_7tK8_tTG;d$QxE5c{ zZf(|griLhPk7(N;T^olSkp>l4nWcHfl-y2@ugt1-RV9X8&y(K_DR+{XxjK0+2wgYs z(Ko4HHhE^wkAAy$KblSHe)0U)ZU2cH>9qzj`QC6*;SQ9RIA@-zr&Dw0aAW)XUlK@r zw(;+S6-qWfBQpEyh=F^weoJc3{FF60S?=QbinXGoh&-c=mWS(j=%Bo>$?tqxPi(*a zzm@0eZIbJQ^YsS&Tpv!$J-w~Ve5IYl+TY@o=uG6Y%Z1@BZr@kY26=_JJ>1B}W5b20 z1(}}=LQ;BdW{zz#KhqcA_Tgxgvg*dt4f3Jm$3J&pNDZke%ROcJ`r3+2*Wq|YpKp^X>+r1J;rA}pblxzf!H3Vz(*QQtHr~Q{29s6n(*7kQFcUjvdi=(T5sKg`F8atDZFMHFqtL(w#fjn1B zla?C+TW7}(oL{X;nczKQbnxKE#e3Gi6`A|Fw#}@mK5KYNnd@2T_Viv++5w5SdGBFw z%SP=Slf%DWlElxvn!ak0xkJR;`BM{I(;H2dS9&H74)ywe$XY+K%*N@*Frz;=#ud4b zPxSRZ{Y+Z4x+KFb^yY;_&$jqz6SM_=9<3XvLs}8Sr;Pfl`@&{ZeK2 E|B_-3%m4rY literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/pandoras_1.png b/pandora_console/operation/active_console/imagenes/pandoras_1.png new file mode 100644 index 0000000000000000000000000000000000000000..aebe26fa6a65d8cd9779bc787d77700d9e35f8a8 GIT binary patch literal 2519 zcmV;|2`Ki7P)}7EdZ8J2)v|CM7&KH!npOL_if(I}kTc8$UrzO+z+6Of6JI zEMGn^Pd#BuMnjn zUut4hZCiC`VqkGpkZ@-$bYMxPN<3^}Vryndf?zIrVMAnOZE_7e0yz|HJW->g@ABym@S5bV|s~XbAYjfku1G=BA|vgbD%VHpF6jJ zD9L#pyL&pDgKUv~sH%cW$8|xUgJi~i9GH$jp@>YehAe%bI?jC*g`790g7J;-jxR7GMmQ01YJGqu@sH9(mzB{d?RiB@l@R1L&rcS+~P{5mO#F=aNkreTh zAhoMYio`sprj_WIHovMz#HUT9r?APPY`d~p(x_6dv8~axR>rzi$h}U*!dTPBS)c=H;9>9PUEAH-_w8l=@?!b>_>cQCE&u=k0d!JMQvg8b*k%9# z00Cl4M??UK1szBL000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iE}w3mY@j;u_ch z0013yMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HRA^-&M@dak?_?!z000ImNkl}q|~5$L$XO$ zffvwc5mf8Oc5AomZLX7UwP4u(F`LaMb?`Zmz1>z2bGQH2_GZ`VbbjkgN3eS~WPiwu z=7qD_nS)nH4?IdT9__tq3J7{?v_9Kk$QVB0oY_I~@|5)t@RNPZPVp6Y2Qma% zuN*1Ud&K?M)MZa&YccGE!>ct$p4i*YVE2*XdI6Eja`Aiz?|cKPI}#uC_Z8$ zn&QPEXYk$?V?WwemcPFVLS|Un%@>|1#&r78^Ak?-Of(#eMaEghlK!zf0{^bR%q(BQ zER(-r?1Onez;v|50d6RTWnvT!&cu3bI zBtes86fxVtDu}FNxxV0cK87~yMO7#355cpNkonY6(=T#WK=FL z{2^VISsIl_dZ27wz^tMCkWeUW$b8X|i^qD1fdr|Zd3)MW42pqNE8a`Z3CTN|Iw4x~ zx&k=59Z!g$o;4xn2*1@IuGUZ&GXi4?4~~YJ*)%?FXdFkP5#;Pj-#0?e?QqI&9SEhU zBr_s?0L$tyoc*D9B?k#rF%O>dz*Pi+b5SaGPvPQ_1B`PUT0&_Bi1|*xYlhb74X6C2=t9*(>3?wMaEBMEDk}CbU9ElM1$TA?B0Z zDu=yc61-YVy#i{q)R$s3qKCq1eMxc#Lz9Rb)g=5AoH>*2k-UdtkxUpUn?zGo=<*Uj zZL~-u)evCLD~b&g0A zYFf?`n#7G~X3a_wODEcj-m=aCE~BXFks#E^D1Is@3zdSZX<=T9o zfd>m52v5_ijy49?z(t!qzj;SYM@e!lUKC5SF3n&X)F-2h?S~Ch?=|%eWlp}u-infd zS+AU*f63D`#a|SSM#z?I^l@>(fi8>E$6eP2ESp}&yO6lr!tSLe@Y_@>! zCtcG^xeD$rt}e*s(duqVfW50b{VinZjVq1XTb002ovPDHLkV1g6?fCc~n literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/password_1.png b/pandora_console/operation/active_console/imagenes/password_1.png new file mode 100644 index 0000000000000000000000000000000000000000..493eafe3241a84582d30d9b85b16f29542c59330 GIT binary patch literal 2391 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 JPDHLkV1hlnkF)>) literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/pc_1.png b/pandora_console/operation/active_console/imagenes/pc_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3b40a11fea9c70d322b654c197aeed8e8ef81833 GIT binary patch literal 2799 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 BK^*`9 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/pda_1.png b/pandora_console/operation/active_console/imagenes/pda_1.png new file mode 100644 index 0000000000000000000000000000000000000000..663b450a36e0266ce317ff9c2d1c56e70e8bb91b GIT binary patch literal 1786 zcmV(^d7p9J+e8*X+i-UP~NstxDB9{b!!~{oePj z>Va47Rr}vIv)75smoL*ajU5h$Kg#p`d&U@ZkOx1ni3ro_^zNNIcRn2q24Qt|b=T|C z-9Ef>#Wrel1b>?*qhZIs(Sz20RH2NCD;qc7On>T+A{5j9_NBai! z-cy#PO_HQ6ik$Iy!i^h$;`Z%ZIOh%pSQG^pFTTsAOYbunlo(@<8)KGK_0ewE?+O?~ zz?3I7+71=~5#5)9cCQ%h6l`ZG7z3iV{nDPT zK|!LmqP@=cu~%rM?IdXglpTP3DYz?OXR%0Ug93(tSpfP7w3!bsu039oPQ>3r3V_c1*-$p z(vGPbKoQYJk{nn;?|lRf3yT%q)!rTP*aHnQLF&+!m=3bg7Uo%t52RoR*e?S_MO@ek z(pPZDv9@5-2-tNit;HeezLI3m80^Nb4l3IWBV<}yd^xQd&f+D)GxGTo8TS9co#U-ul(+K-C z!VU#ACdr{=u&Xq=~-)jL+4wk(Amdp%Vp%QC8Y zgBZ))d5R*BHa|Z}_S`JAN(PKESZe{r7(-pRP(@Kt6a`=~X1iN!DT)GXEyfs%q9939 zvMeJ>5|X6dEVSo2e3B%IAx$l+%Ka}NQq>Lf`5cW84IwNxoZXU`r5Uq&7Qej4InR@= zDQTARWb%{~qk=56SZiK*%rM51WyJ!j zu4mESG~U;SNSeL`1zU?PY1)SBJMX;9TW@_EV+^-${gua$|IMXKKSxzrUti;+k3M8D zIKl@X{DRkCA0ncB{P7LWo%=o~PksY{Pd@nzBH?ff_OrNEFdxYX*qlLT(q^uIY*kNoIU#;k|f1@N0KC*KmS9PmzPP?1n>Pq zi~}jy&1yQGa`)~(ICJK0jvYI}Xmk>5&7y=@+m#nE#<00L0pRG-*JEb0o!u&N7u{z5 zqeq*3@x|Y$>-yk;@nXNezW%T4*FWUmy?d195%PRMp69U_)b)%95B^D4Bds-Yg1UIo zI(>SXvMia;=QK@2)3oDsy2WRo-DEr-ZvgdP7Vr5(OOhmn5YCTAqu&mPOFvGMG`BX% zlEfy~CP|VcwrLu(v9VzQjKQ=8ow$Oub3K0ixaN7TA$SoH32k#B1UH#X?vKag-vNIB z{DA;_?M>jjz!LCU>?JS&a%*jFtxbWn`-Lt#AR^*K!~qR32WCJ8Oylty@c9cVc)<2m z&(VE9Z001I-R9JLVZ)S9NVRB^v0C?JSOvz75Rq)JBOiv9; cO-!i-056;c)UFJvO#lD@07*qoM6N<$g7#ccUH||9 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/penDrive_1.png b/pandora_console/operation/active_console/imagenes/penDrive_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3215b31569264671523977f24792c319bf638893 GIT binary patch literal 2721 zcmV;S3SRYzP)zkYL-Q~-%cmMuSOi?NcAHeueaA1o0t$OV@N3q z(ux9$QrMisbgi;SU5LNfH1+Q&lKaQ?LOTx{kp!XP`_?LDw|6 zy+>o6RDalLN~%aq7eg5JAAgsw$jpYs0bTX2i~)hi%)J7IV5> z2t^`TR8xbR+FC4GdULjwbnscM_5X*IvxumMiL zAB%3f3EAms3=a&T?dVaQKX(qCa}<@7AX-=mNtU6+iBUq*4N|gzyQ>27MiLelAn(`^X4I)Ov1KpxIG>$TfQ8CX_|1lTp$1(PA76B5fl^`!{hbB<#vNw77W9oBuvuDGw zEDR401tdalonKbID(ZG;e)PyAt$%#!B{Uv5aP<<$(&@WJLjI|w(~+^sNhH!~9BXUC zzjy6IM_U^xrI$}21pYt(9-j}kZG&1C7FAbc_1d-Q@9DwzmtTgiX%I#6!jL4~ynH#9 zu2=z=%Y};KVif1*Vz{plA09s3Jb3Qhy>7QV-gGU&v$2@l<8*G91YzBTqM(0t6iPY` zHIqThks~-%SBL(d9&paDSq4E6ke8niQ52C(B;fP;AW0HDfdCdSTZXxd7NM-D2(t?d zk(ii3{rm5u>Btd`PfSb)!{PfFrH%24iK`2aPfdZ@_DYY_xtnvIGnqlW1#c z!3PZuXl`k_uoVbFFckWADv{Xoy>;ub@2$746zn^94i;msu;0Ix08i?siHxp8$z(8@ zNFbR`!!Qgeu^4(gJJI^lM;IL*hNp9uM50l2w6{ao_4j5iSg=ORWHSAyPhTkr0I_5el=E2x z*ri+6Ev99GQVQL&kjiEeQxqgqDd@TmQ`eD6r7$)$g!tqnl2cQ#IlmxQS&6*-eB4l8 zj*4g$eO+BRar`)9@i-bA8(~n2ho5)?_doh5f}s$4Po2V{`uZtvrPH4QGObFFTge>F@qNEriT43sfwrirwwVoFhvP!w3E2~iXwOA@GMfe->g z5Rl{dV|H;dXf}(cLx(UjIts%u(9zk6;u~(jGL6 z_ia%S_KA{o!e&h8qKI3Hi~rZnjKsgCZFJ%mjQc%WVQ3}JdkkK?G z(`hKlB-Csc0N`=EvAD7lA(sm+M~~vfi4(9a3pM}~z|wDi6U$ewgvaZJ%{e&d_}6Q% zVf&UXsHv^RPo91n#bsr-AP6x@k`BwVyesJSHWiPKp1-W!>N$HBk|?^ey1v0;><@HC zl3tXYDZNQ4RKvh@CWC~cARGuF>Tuw|{{2X&(+~s!p-2Q(wY8{Rycoey2!xPJX;_q^ zv%MW>y1GzPTZ`hdGDwnip(+jsbX`|>zWVC^KR^HcQ&;qZEf=~Qm&MqR8RwfAWBHU) zP)cE49F}$IT+?;r_E3}I$_$g&I&!aI*0(_h=V)&A(jTa? z<(yYg#sZWv!WaYR9JX!4wrz0RhBiHof!(GayKDFCWHXC z4cX%X1OffMy-2_LChmFgLEKnf4Z|>?X0s4QkxG&z2%;!Vr&3l^Lxb7b-Y#V`8PE9W z=*6JU&xpMWAO-;9X9-^9?Kj@Q1CKw>IHd!Gko~ajK^q9dwxhOf%c3Mu>)^! z-;R49dPwKC-9do&2+#{aoKC0RrL$(ebJwa>zkPGtw!Lw~7`8cYa5$ZPPN%a}lBB}A zy?aSInY57BZ!{U#BQzwZwO4D(aHByf%Y;xEGM@4N%swteGcW6?-7dVZ+CKl`U= zo&f-~j*Q^uk`nZ!QiUl+S@pa1>#K(c2AVWY+v|3_)xk4ozAB9`N0L%>kBs2H)vLcy z<*sv`>s;q+;J;9BIk}Dj($N3_03v!+SaefwW^{L9a%BJjc-kv3FW1Y=%Pvk%EJ)SM bFG>dhHrNJO5L3!r00000NkvXXu0mjfhR!1N literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/penguin_1.png b/pandora_console/operation/active_console/imagenes/penguin_1.png new file mode 100644 index 0000000000000000000000000000000000000000..83f6eb57ac34d588ae3f5ec83a96cb04e5eb3c7f GIT binary patch literal 2837 zcmV+w3+nWVP)DrSzP^We`YT_)FFf16bejFPjjH> zA$kt=ipkkhcFX3CCsWlmAD!?2>3spNMB9L2K;GUoO_S+#S~fQ~%f`k=8H>dvAV2l! zqq0!6<<$=_xTCLq;TzsRlaLY$eRZpzTvlCS(6Gp=M!PAuusqZ_d6UW69<%soCa#euZ3Kpx|vNJzH`eD{}B&Ar67J z7o5CB(P$L|=ig*_c!U60ldb2|kA9M#R+ZYqS!AFfT?L8?6aGUWXE^GGQX{xr_u3utftHBo02q(DfCK;U>u z&b$-j8~-vl{nZn5FNHt;{>8uhQDH?E-W5;?0Wg6hb`=A_4M!!1|>fY-wo; zbY1@_lgacX5{ay?>jXhSxm?DK82s(myXot@PDM*HVRc}MRtjQ0ljS<*N@+@ABaIJ# z8Mk&56BCm%8Z~2vVeAjXaF_4<1FEWyFGl6Q0ORpEhYugV;W*ArGMVhvbv+sc0i{w2 z->;BM1#Dg8V$CQ_j(}J2&|D9#q7ZG`L+z0-lHSzG{+=E>JG*2e5f3VrisE_R2FEFF z_kI5?Fn-^Fg+hT$CWGTRA5>RY7Y)PMFQqgc$H8$N&VDeWI?1Q;3`qNAfj z`o4c&*Yz>kR$&)AXeZNwvRK6>v{8ls?t?0UbM?b@e zAY=$j@@k>j0FY85rDWHxUCC#k{i{*aG`^Y1)a*zmQ=bP_#N&z8JGiK8*RD}hQzNC6 z@42qqW!rYE=XtmE>Fw>Mr>Ey8*rJ1)rro?Ir9@R#QCnLZ*}s4PGjF|hK8(lXPgGS! z|2H0wkIv4{uHL~#_4oHPGBPsl`~J&{qTEt`nx>J<SfxvyR1^i%G`DqkcW;bF zqu*J(c5ObJt?z4V+ekW{x<9}pM~(pCIL?;g;o)w}vTgxfzkWTPot=bXcoRa`bs~|- zEpUs@s;Zh$6s7fgwvFg+k#u-}gIi z@3U{;KGv^ak7=41hJmJOsOs`rB!p0OU5~4(il%9=sH%3fwzf7Sgs@i&D1;DdeSQ7T zd_Mm-x5F8RK{lJ^`0?Xpv)P*tEe-F-DGWn`AkdncnhAnn$aPEaD~gCN9kUWZ4XBDl zB1zk}Kj(Sg)}^7UtE;1}t&LnR$L`&`QC0OO)ZO3!eBWngX2vy5lM^RSxLsXc*F4X! zEFE{R9MpgWkXBW-#rOT*rGpK_Ae~NADwVi;^(rGHBb3YKo6YzAoB4RVq?EX>TPYTc zbCzY%+xswMIn=^A-kr5H4P1bY`SZJp2d8X&O#fF9kud%TaUDw&NZ3o>457D`=hdmGVuyf}w>a+C-q1>}D zY}+QEF9fr5g&#il*l(1sU%!6WFfMn!YSBTj>_#t~eSJE&wxKam3cYRYCJoWOj^DdWzA@eUx{zCHre{gW{tZAB?Baz77fj7=51Lyi_ z-@cQPp{tZ_i|)?d6di|Ir+}_%L?RIsbw1=3ze34%vF#$^)Tx0w@4cE|a^ZUwkO6uWMLD>&t9!$?EgkxXb-sId?qI>=z`rVT*w6jyAKx?gS8{-<@QaF0EPO^6ngP^C zH9C)V)%?!Z?OU_S>KYLs6vS-f_PM=IIwm_vQsY@ZbR#wOG;4 z!ngdhHrNJO5L3!r00000NkvXXu0mjf6Jch1 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/portatil2_1.png b/pandora_console/operation/active_console/imagenes/portatil2_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7a4737770d66455e32decc3e03f066cbbfddc634 GIT binary patch literal 2517 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 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/portatil_1.png b/pandora_console/operation/active_console/imagenes/portatil_1.png new file mode 100644 index 0000000000000000000000000000000000000000..cfc810dc19d697c41a3c61007677bfce5ef7da0c GIT binary patch literal 1433 zcmV;K1!nq*P)Uyp9&hG5I z9--FaP zy4@~cmIk2iK zD5X{kuD*7YW&jcqs;XKza8&@CCpRZSr4$^;xio-Hnggh{hSvI0bnwDQd>J~(7=u#k z{3A9xxGD)U#y~{KvJ7z?V{L8iddAxnyQOt+m~FQ4|Yx?Lq*J1e*ZOLSRJS%3V4mkoALvz*<2WeGl7Oj~KkYB#I6er1;OkDObKUbi81{W1=e2#` zN0w#m#fukA2!ThB9%q2Wia2)5P+wJ-Qa@Of| z0N@)T#J=zQTUnM-tJOlg-L{i9CqHX30M`E2*;uJXZ6d;WJVusfh@yx|DgRMQJpu5i zn4a}EfQ_lWWm;=YCKIa{7qO?!F&7D2>tjq@JaxA=h-jNJ_NTaW=MLVydGio}Yiw;< zmMF{eOaPxs%?%I{IOoQ+x-3!u)kF|?KWDS4m{sSHklwz5*#N9hVS0t?^mxd7z}1^ zZQaRTq~k=?CZb)TwcY_h0Q5OO%#?Ya|u75WdwW=y! zRaHw6(H~mt$4V*t2-nE~RZ7|C$8}w6>he7QU^5*D!gXx`ZvOLqA7xo0%QBQ@IWv!8 z(`UlnsUgsevEK!NpS9LsDWyUpBBd0hl&G7zW%Z`%6GGS&Mm@eZ8?0~ESetr(jagMy z2@(Cs@F7p_VK!fV6^H;_E%$yA{Rdk1rU90gPdhHrNJO5L3!r00000NkvXXu0mjfpjw-? literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/procesadorBlue_1.png b/pandora_console/operation/active_console/imagenes/procesadorBlue_1.png new file mode 100644 index 0000000000000000000000000000000000000000..08aeef2854ea8bcf4f6f49f7e7e86ab4f7d852d5 GIT binary patch literal 2409 zcmV-v36}PWP)004R=004l4008;_004mL004C`008P>0026e000+nl3&F}00006 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 F{|71Q@0kDq literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/pulpo_lupa.gif b/pandora_console/operation/active_console/imagenes/pulpo_lupa.gif new file mode 100644 index 0000000000000000000000000000000000000000..801e0e6191ff68d2b2b3204e7a31f05b246ab2d4 GIT binary patch literal 5399 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 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/raid_1.png b/pandora_console/operation/active_console/imagenes/raid_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5acefa6a3d8583e1ab37cdbad27522a1e23f0842 GIT binary patch literal 2242 zcmV;z2tD_SP)2sz{j_~Ju;MF1y2eDKw$*f3;_;|1Qv zvQ1kgMK;-8+Z?Rw>EfG{NH|^k+11&eSIB52vR5%=1kLE zp_H0q6A}_}&Kae&L%agv zHa0X7QrO^RPEXJ=0pjv4~=^2ukS~gZjNJxKReP z{gc=O08j1n4X)K{fiae2CrJ{-aSYBmN~IDAA-R4jC2F-A8jZ%- zGVilY}p&M7P^Tuh+|g&Nkpv_HVb_uq-PL zb=FU%QbDCsNj1qiPy0>N#Ny&&`fjh+`#eBBIF4hq+ifICGI6(NTf5zc=XvlvZ{i|G zpJg?e{eB<@^?)df5JeF<=Tm{{=bUr&`~7ssYd>)uV{2;*Q53h(H2&w~&mJ!$UUyO$>N+1c4~fTMX#1JUep&au0@i@{(3##oxS48uU7P=M!oFbo4x z6oE083!B!J5CUNsj)gc$5_CEp)M~Z;Pm<9PGse*G_tEKe(Cv0pCbPyE!*Do66h-iT zAA}Gv#&Qhql~-dr%L3JGW@R%q#M)VsBxto-Xti2tPMowteWrFgophXKS-D)Q-^&8i zS>Yf?Cown}46wVqn}%~5{kl&ng~4EeD2gD2$gwiXKDTqHhFA!JBuP>&eW?i{#&kH! z_@qK3+qZ9s8Drp_Ph@R$@PzvWD5YumM$7q042}ZamqEQ_l~N#tz%Iww+ckj^m)!YT?6&4>?DMVT@HZ)9fJcj4_x! zf8#g?r4&IBAPhs4%Vl_;2LKoh1{2ec<2d^=xSw1O1Q7UClrqLpsZ?OwHWn5ZU>HXB zMus((uP`0(Msb~>GZT9$Rnb=}|jzP}g*!F&(|ei(-79XPAC(W~Qr1;sR*bfoS9EaKCD zG(!`Bym|BH3jnVy%lg;S($e3X&F1Xl;^OIYxqQa={o_FpoGBKIb3qW;zVE~L{oJK} zKM=m}V>le1R(Z)5XP8z^ypFd(W6Iw0IvZ2dvPuSkcST+hGkh$ zN?~SZMr%+rC;>>lizNWI_sQ{TcbfostJO+w-@d&A-~oWb($Z3SX=$leuh$pn=jYFb zVR+Q{{bk?x=fg0xT-PO@=Rryd(=@TNvXU~U6TX(mp+kpqvKbDC;GAm)hX6$OBvBbQ z#U4~xqk*d zl867zIKkHd001I-R9JLVZ)S9NVRB^v0C?IfFE7{2%*!rLPAo{(%P&d?05;eLSP)an QTmS$707*qoM6N<$f~{l~v;Y7A literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/raton_1.png b/pandora_console/operation/active_console/imagenes/raton_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3afb12459780397e7ad11df6861640423aa52d1a GIT binary patch literal 2049 zcmV+c2>$npP)dX4^vt9TlwG?ZUS0IT3l8nO|wQ+Y9Y> zJ3~a`x^CUJ?e|6G4*>ouA|EmHrvf?RYNlu9MI zt_#ajsKdh@{v6imvuMEqGa;2qVSIcX#bU8!+xD+TQyQ?M)xN-0=MVbgjV!RQy^=buN-E<*9{Rz!q+K9547kX1_kL`1$3^Tv|{ zmdj;`2)fbgxB3ZxoBgVlJ24y(tE_3#*_yJE-l{&}`J9bUjq@an*|Ep64N(&CUV%E)fkK zi&metXD!QmX?%Pf96mHsFp4n|!K8iw_dovvBfwJ=MF6>d3dUWX$z)Kg)xN5=o@VBc zj-_Cf8~|SSJg=0=WcJ-i2^Tu- zKFBy!WXT~SU}lVri~zuw0Thl6C?b=#ZI5kiY@k-F?NcoYn1o3JMssFHrBcDh#s)0Q zS^)6OlK`I1=kuAFnHfBI@Bmv|TRnggWD+K+A`wAE@aWMaY;JC1etsUQR4OMTbH@fG zq6Gk!=XofVO4!=k!o7R<(CKt~Ad`S`Xd*(l+r`6&4?#p&TwDY*BM1Tuz!-4!qt8m* z{1g$v_kGy5jrsX`R4NtRy?YmhLIGoAV<4iQIEA1vA5SUHHC_ zbUKak@p1URk5;R-7YdQG;m8va0|Efp67v?F*-Vm>FH?zfa5sO zTBFr!q0wmUi^+J_hblIY3fB*?5dp@FH1qyWC3-M3Lu-v{wc4Xr95DKUp^E<F(3;j7BJv)9kDmmvA|f|htya%Taa^$I zT5D|pybC}d3vg*^DN<{t-EMD0Zayg94qHoF7=Ql;@J}Kd>feTb&Er3eF)Q_Yy+@6s zD%eLoh{z2QxjXEOQ_q38yu1t%`L^RYznhwx@+`|bG-C&4Z&)uY-EQ~wbLYHyxZ zR;!zhMq^-%9aMHg_pWbjY`k;j%9U;iX2&3t*Aeu=fU#uxn=$5>l}e=*HLSx}2v@IE zD!;gJ;lfSqc1l(P%IX6rhXO{B0DNZtdAHkrXJ=<87#7kPqpQ{Gl}nc{{l3%b^aG2o zBex5HE)t#2VO=8ukjs}Z&t$XNw;ad$j_bNk)P5b7G+OJ%=H}+|)vH(EURha*x|bk? zhztM>03Sd*gzHHj)dwp6>(bY*UGtmG=IZS1><%-Z5|JE$zGt#AMp~`b!`ruS|K{Sw zi{)FlZutP5P$fH-6gq@z0BGTm;!TOUip4@Sw*au~y4Lyg=Rbe?^yydg`TW;YsnpX% zWCMUP#&0&8AKt%z|HkU->W!6^mAgR@=un|9fDU#W)p`il3Y8mJZm7>S#{lET04STy z+Go$6ojY;jL@AX@<$T|_wzjq!H*enjcy)F4k?;F{sE8k01lS4JgP6MqjzKXP87Hpe zaTH%i?7JZGd8~gh{|A0efu?rVUmpMf03v!+SaefwW^{L9a%BJjc-kv3FW1Y=%Pvk% fEJ)SMFG>dhHrNJO5L3!r00000NkvXXu0mjf9vr!{ literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/redLocal_1.png b/pandora_console/operation/active_console/imagenes/redLocal_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ffd977f629adb5de3eafc26f190fce87eece9f84 GIT binary patch literal 2817 zcmV+c3;y(pP)B;9x@*zi5SRb}f-OSPq1R?6V*8Vgfb+zXgXto+2;^ z;w65t6|lhy7zG&%S&rlNYAmg^8m%-Jb@%kWs?P2E_Mxh0y2qEuvhosg;84|7)#v=` z|DErD&MDyk%m48r?&VL%jvYg{+w}{D!rt-m@%eJO{5Uh0I-SnHHyVxq$mjEP>eQ+G z0+_m+hnAO@(dl&L{QUghLZR?SrBdnP{nOKrR4RKOotT)|Ti#R2H=9j)@#4il+}zy! zIG@iq?w5jJ0?cGGP)cEOaWQq^z=7ia{re9U$HxA+R4P8WZ))mK#>R?A3Z;pWv2q1n z%0N3{dU^x^kjv%L*4lfD$~OX@IB^2bIbp3WkB*K$_={is&Ee<&;?Ey1l}ZnfPfSiv zlq-{w^kqkmVAG^W&q&(3AYVcC=_6f`N@$ZNB(yH;QaUe z(XmmJDaZ}y<1_7{uCln@b*P4nzzT%cM_?FTLpYRk5K=%0@xKR{&*u>Zy~WDG@BMJ4 zxFEKqkJ}NW!5$Pm7zb$2p(_m})oMMT&-1(QzWdz(0cc`oBLox!3V>pP9s##Qhi2pe=Gd5$G!SGlJ1X$w zAO9JQb*R_t#d@uFe0_cGx%yV4RjpPpPfbmI6o%oipL_1P3%y?NhSs`UC=}eCJ9lvI z+_`T7$gGK&BTEQCP(mVbjN5@lTYr7Xgp`m{g4rUK&Y~{Ik(n-vhYz6y6D|kc&T_q8 zvv=-PtIbyHRJ(rUF5`Sa(anVA_}zI=HY&|}t=07lkg%QD�j^&eAc{f1 zrZ59uCXM{~I09yDIl^z1!KE<7sInNN2t|{@?BpIfU7nqso@@We^jbgab~}Gruh)Oq z?e(tA&CPulMbW=4EiHZIdENk^U`0f%ltqUbTZ+Jr<6a#BHc1XjuEn-8Af^C=p&TP} z1S0?|B-qb_vRPCe<9FJ@cm^C8ctHaP% ze^x9Obt-;y2EYc)P|Bih2*&b`ERJ`S{8D&#PKg0c48?!}pm$X(1&o)1P7CN<3Tx2_ z{wp$Yp+ZIlsE80p3kumxS}LW6L(GyD6LFvnx<(EI5bwYZsJEMu8PEho1Q-Em0T>~m zlXDFLlRTpxLleU=U}OrdbOANvV>wz!hDi0B-Bys94VWp6EXbw+kyr{3t26{BM0_ir z=D+}yV<_SsFquGtV=zj{>VF^pwc$H;);2?jCiA;1LEO0dh4LE2Fa-A~#+2t)#y z9BGiA!OYP8P6a~?3C)R`mZ2OWvW!3zBIRHWf%@Y*u~!KOF=PvvcXsq4*?aBetbCc3EC?v$tTZTx^$_KN~L_y z^K#j2b|jzAPx`)J0Wd!?G4W!#TrS1KPaujS4uSwe#A_J_LtBE7$Q6`bs{Z&t@_i-}n8Dlrlv`UIGLnf^!Z^ zDFi_P=UhLB0RYAldZ9(fP<%xW0w!Umf$$FSi5*Wk0kPKrL< z&I<^Rp_y3^%_M!DUwiGfbGL5Y`svcr(o+vS@W7wW%*@QE)9FbeL5?34%xQDqRXjS^_1XQ1lpGX2)QhI(6#qHtt_lhzLB8zRbY* zNCtnmJO%*Bc=4>jlz1RZ2o?~WC`$s&0^}U5wXoKJh;aLs!Kz~?<^Q1I-4r22-&o_u zBygylg*67+7+7Or$Utd@Fbole5yB`Ut(7yzT4Ri{#u#n1jv}Ru)~#L;RGIlVUo{55 zb(xr$aMfz{*4eXXyFv)B-EN2NcH2v(QpH>@H}oQnM#J5>apRYs=Y435sWNkwh`K}+ zGIP|gQp(Wx{qFXE?-lNa7hXUvmqVx1nIWPBLWrz$t`h{oUmZPq^yh~UAKq42N{N+~ z75(O$Z$9gJ-kJB_d+)CMxn~6jzFyr*D&BbG4V*c1=6F7z-}cS^CO(_ZreqF0WJ10+`{HG_MeDdd&N+rG_M1NXDr_*s; zTU)&-ih4xUCZaW^)LOUOt#&${rc$aE1i`sdsr2#dufGm!?ROf3@#-k9{c|X#f_A%& zsi`UCayg_@DM%^dc^)PwC%r?54vk4E$E1||n0c{3Q#t3bwY7y0KKS4tUwP$~OW3`l z{+2}|wqv>LTwJ?$?O#VmM)rqc_|)9oTybh@3ZtW=C=?3tJP$J2==Y(ejQ2maT8*w> zzy4XX**uf9mzdGLt2YQZ2#RvKoL^d6dhGDw!$)UkW{xf_EbMvgvByLjg^}>Z~pSag$r-L^Ugch`f%R`aCew@9|3^(?AhZlFE9UKadGkSg9i^D zN~hBX@if+Ix7!=*>+6k1qp`WVy86Z0vuAH7P(xd_`}#F>0J?wdcO(%Hr~YpT+}*dt z-viLUwRKD9CHepW03v!+SaefwW^{L9a%BJjc-kv3FW1Y=%Pvk%EJ)SMFG>dhHrNJO T5L3!r00000NkvXXu0mjfDUoIN literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/redhat_1.png b/pandora_console/operation/active_console/imagenes/redhat_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5664aa7cec5b23816779a83bbcb65591f9b3b7ca GIT binary patch literal 3054 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 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/rj45_1.png b/pandora_console/operation/active_console/imagenes/rj45_1.png new file mode 100644 index 0000000000000000000000000000000000000000..2c4bf25fb7e23173493c6804bf64889b0afdb0e3 GIT binary patch literal 799 zcmV+)1K|9LP)004R=004l4008;_004mL004C`008P>0026e000+nl3&F}00009 za7bBm000XU000XU0RWnu7ytkQl}SWFR7l6|SHI5UFbsE^lr~#g7?G+9kUF3uc!I7_ zUV<0sD=_dBJPZ>XQnyNo2Vh}`{z-C!?{cNrYrhlsG2C~aYS;EJv7N*woO9pzg%I#A zqLij-3PBJkrHZ0ZZy^K1X+x5uIy#0>%iJWhsOZLg4CFs}%tFzVG`!0Ib(*00_g-aU92S!Z6fAt%D{~O7w$C zsiv=<<3>U=9U^3f5aG ziL8_oC0J06I$;qC&bjNlTBvo_pqVQa#6 z`g-U1Kk&Z~{B)dj>r<6{_xaB*rE1AJpU>x-#jYQF&5ukN`iY!Qr?zb? zrCRRJwh=~3$rxKMm$TXIa=9FjN5e20S3n3+N{vRNFbwlNmr~-4REq~xMwsrQEzfhM z)PBDQfL^cHynMz0V6)jMr5=yRM}{`iKBf{vvMi&N-fp++^@=iGfpj5hjah{002ovPDHLkV1g>gUbz4O literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/servidorRed_1.png b/pandora_console/operation/active_console/imagenes/servidorRed_1.png new file mode 100644 index 0000000000000000000000000000000000000000..fbbb8f1240683185cbfb36d3b33753cd1254cbd9 GIT binary patch literal 2251 zcmV;+2sHPJP)ZyQ-1$G^XGX2!9dICh+C<0MVH+BPiER!J9SwIxaKOC{ieu6S5cAs#At;DHAo zK!`tJU(h}v@kj*{2$g+UQB|auZOc}n+e@~s(lnR0Y0_Nm_&)Y{JTvF;Fm~dk%i3)M zM>?`cJ~O}1`TlO>L)gaA-+vH9AYIR?rdhB!SLDph)Rvw}+W~g!)G6qC4noMLhKBmn z!C>fwuIn>~QFvG^T2Bqbc&6+6ifI}}&N-&0CjWnc`}gn1`1m-6hK9e@+S>Ztk&%(Z z0|Wh@Y*t4swkqc4p6m1T^YhVY>`5+{pRsNGu4UQRuUxtKyrCh0Y&P@10UR0{h7dNS zL~}z!!;ky=zIOKH$&SF`m>fFmQruq+!wI4wOrJAblgPv1|EA3xE(Z{L0p(Mw=uCkY|2 zw3NWyTol=?0U`n*YqD80;PCJ;gbJe5G;L)Q;A*Jl_cznM+aG?Lp$jH%9Z|`mZWz{wsqS9qL ztz%(f6^2m+=Nyc2D2h^2u(nYZ@Yu0qNTrgVNTmBW$B&;pJ2?1l=JWYsSKaReB1gFP6mM`NQOw(VeXF^<{U1qdObD7*y7 zH>g*h+v;L~O73GQ6fBI6-h$Wb!QQ<+2!|WNx$8zvQveVYWnHN9meQ!2}?|d8K-6O}+KWDio|ONvZ-?x`Q!>K%gF(OdiY23FPwy zXqpNlf)H{;yt#2pFS&O;2DhzHQz=ng1yiXk>gqJKw}+u99Hwc(vfNIx4!90h>Dsb_ zuad^l%f=Ko59vqtAs9Ze%ll*k6pVu5s9=w z*9{m(5tik^wgrU1CJ1~bth@Q@)@!VTu3LnVuq+!=0)D?2e!mxvBLKJ^r@U?*ZsVuh zN%;2mV%H!mLCCc!WqG=*+-_4=rL53KB{^r%w6#`O6Xh$_K_NuNlyGAYkP@Zqb=OtK z845{8dcswdJ&3#)bzty~aKZ9WyxOMB6 zxO{nZYGPvi56_-W{V5!7i^tc{deZ3d;^vF;N)~+XCnsB~dIEiz_S3XlV(<=kq~I3EOs%GjiahfC$KB z@*pDUx{f<{Zi|~YZ%jORaQmZ$g(rWHM0(>33r}kXD-T|6L3?`yL}aDYX=7qyA~HMs zBovFSs(!zZLZKk0iubT!&7wo=K{}mBG#bT~E0>%rS1w*0A0PX5EVlRwfLtb%dSy7E z##-bifnecqYiE0Vq(2Y{zSG;gYv_&LyLWf*=?v}e>tSu)2(DiJH>Rf_e7<@V3WgF4Hn#*r;kUXXJBQlaI*xSrbPf3Z^{UV3!=p#{^s%uU zKRS5u?T^o$JGUjkS3X(D=XC(E6N#0jL}F#>$?U|X0|)vq?d|LROMm}2+T(E@i;F?1 zs!ENGfvpPodPg6X(P*c)3|MuGXU?2~l+vrJ+EGPO0szVNa}|OrEctWKCr4V|>iWRj)Z#G< zMPyc2oJaRp|9YN(=K@sEhV=lD&*zMX43JM{RPN&0%4|FQIO zwCM9$m4HM%ILKgD*d{w}zNir}n0H4oK)6W0DW#n^(R0000YdQ@0+Q*UN;cVTj6004N}b4%X8O-xS>N=;0u Z1OP9b1=Ow#sZ9U?002ovPDHLkV1h4EFbMzv literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/servidor_1.png b/pandora_console/operation/active_console/imagenes/servidor_1.png new file mode 100644 index 0000000000000000000000000000000000000000..aa87f2b2d6e3391614c1f01f42449d06440f7f1f GIT binary patch literal 1452 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 FV1g_0@(ut1 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/suse_1.png b/pandora_console/operation/active_console/imagenes/suse_1.png new file mode 100644 index 0000000000000000000000000000000000000000..dc3508aa33b0189f9ccc9f8d5d691ff3821f0358 GIT binary patch literal 2773 zcmV;`3M%!9P)fk3=h zTqJ~9DPANHUN4Zv!7IGJ&Dfr+znS^&-Cb2D58rtF&CPZkMM_FK>gw*Qu3!JpsZ-Sr z|Hq3wZpYudHi8%>c&P{+#4ssP22kh{SW#FsRy!JmzdF(U-v|8dD8f(sp@B@jYnfH~yJ@x3Yj|BL;Z;cW~Io?MT zh<-HdhTq6r@^0H69kI>2jG04J%_Omu07yfJrdy(^i}=ws)mp2WjBp_?nQx-FR z>>D)@DuTY)YlP3oi$|*OnfVA$o_LC+Y>-F?4EhKz5>PLs9mmhEzR87!eKrA9(?ydSSmKRPH&z|`RvqukZfjv$U2B0@@-s08&{1^I% zuJ_85_RAXdFA&@}e{Q#ucISmpU91olN6{?(^>ibA#V*d&e&rn>Q_1R z#5h6v`@8c&kv!Z-bZ{Q zKn8giTwhTqpxeE;+xrRz#0)0Lz{N_O#6*duR4#J*$QfRnTRCQ|eoU-h_{6yy|M+}s zJ7Dku2{Im3&&Hw5?93sQ97P9dB0$zw(v}k3UIF%i5XjPp_Sm`9416#HK)Oi-?%L zli}vXaUr9dZ_v%w>ADRv-{a}24|09|b&64qN<5CU8PlUP+*ohEElQY0*$o)Hg2+tB zsg6yL5J#Zoc&FT5Y_Yc9pzAhBU5B6^Yho&Komydv#FmhusT|akhm>BvK__p}cO6tc zHZ~Nh!g_X#@xoDhuF2i*9F1_5O0k4GsRqjos&DKDbO3r>14$AaRC02kvaqzw!qO7C z@3WO7fZ#pret~v&mvTHxV#@${&FH%hx$ombwmlj>#IdDacng&lqA}}kfusWX1PLYy zxj#Ofw}t=}ppIgQQ~Ip1y0Oabr3T(Bg;GSh8ey!^?>f3|hX%!kjApvB|0EGXH$xx< zrPauZVo$$x3u6UE5Q&Kj9uYC#Q6G-&AwWTdfGBBb(f4btHQIQm)F+FKO%`!^K!MSE zfnLY4y3i%h!xn_Gf-yqyN(j1j-A0B&ajYeow+6AV(E7s%ZnX) z-NCX|pD1x~wt63sL9R4L5D`ScIY$WU)zLuqR1i>Z8lzc1%_4P*1|^ORc%j?QIe2)4 zYAxaRe3RA1E>9dAqfzS7?PN?%RhXQppbE7rluHToH#catQX*q0#PPmaNr5bPsMjnw zxjDRan)`rCaC+Nkv>MGeUX?;2#<@TeM^vi?R+c-on;BD+75Y5~L717TQ7lFzafB61 zv}vOwB~G54pk6Q0>12c)B4hV7=RB+HEqq2RIK90&A9ki00B%dhrA|9L(Cl@Y9ItR= zu0dn9%aPeS{l24Ainx2XgNTqs5n~6+jMhp-ktM>SLvLTJTAn&J&BjKbkSkHa?h?_6 zu-x5XW22AHxCGoDzP|;Ss}N;u1f%EEPI&+P>I%<3d756Y#`0>5UN5IyPPp3$G@Cu9 zr$(rii--|MtL4Fpb3Y4hl~Tb{o=ymQfAe}j@j&K0Hv%@ufE%_YZRi0$l8ah^(bntcAH$7zs%xXo6Z8SgNoc0 zpyVs-tYJi$EZ2!mgyG>X-4o1M1h~3(hl_XKWbsa$wJW;l`ufE@GZ(E@ZoJ|j40z)e z&++$JM7Ziw&0Lq~q~;5auukeTYDt+=TqH90lzf!n?eNpp>%6h@7LC;&jW@$a z+R{HVM*c}qJ^y056K6Ldz|DX6961{)L0)%VI{gOEnnX+Oq{)1HnNHp#u`xxPkeC>2 zELJRb(|v>b;M|8mBW-fIah=zf-(ZP!juIX1%{w@UkcfXqMh4SDJ_vc?{o-fvAtTJs(c}j@Nvh{Hk9JsF1T~RvAA@tXDJ!|Q?kn@tNd{2aa z0ABk>`p~ieTfg7l`;~}v-5{}6)XUSrGbWM`*o2c&Nvb9$0SGx+-qTjdxE7p#2lx-M z`V-BiQ>X`C{bTpYW6DGB34;yAUUkJF^%JI2osnu(q$pMffKGGQr`K81_S&`3A#7U& z1A`Q=d(%M(6C#dhHrNJO5L3!r00000NkvXXu0mjf=Lus^ literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/switch_1.png b/pandora_console/operation/active_console/imagenes/switch_1.png new file mode 100644 index 0000000000000000000000000000000000000000..0dcaaa8b11cf66ef71e815aa1d85681607480116 GIT binary patch literal 2542 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 Ef`U%h&;S4c literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/tablet_1.png b/pandora_console/operation/active_console/imagenes/tablet_1.png new file mode 100644 index 0000000000000000000000000000000000000000..e6019ef27642c2283a0e9adf4c2bf24c1b4663c0 GIT binary patch literal 2392 zcmV-e38(gnP)004R=004l4008;_004mL004C`008P>0026e000+nl3&F}00006 zVoOIv0RI600RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_00_KEL_t(o!|j-9Y+c0_ z$A5G8`xZYx?~a$)juXdALIMdP0Rl||C8Z$3qJn6#Qnf-AwWncCDU?@F0{ufNccU&n|3bZU6)g}+Wt!81Skau~Fe zagH21TEBDcibt;NY+0Vl2OJsCu=hy+p$`T|9*$I3O!C^RXVgEp0C(Mww|Bp}p{MPh zU2EFEqLfB|I>+lrhg19eho9JW<248K5v`EMT^{8|3s$Itz7Dhq#j@~q38GY0FLYq59#_>wy|tbXW zrFiYLfj^%Z82-7ovL)cTC;sC)XD`%uJ_G`bPt)0+Qc7_Fn?*?L+;-_zMx_efh!WkM6B z>87S(Xp6}gLLda9;0M|}$A{S2*{prNbA{+n<$3wjK_sYh$Ce84flN{WaLzI{H(eowz|aJ59UG#v zCQjb-d3OINNF}fwi`|#67q#)IZW%hBAM(sU4>bRBGX3rRsma%gy3x{xqQu~Z4D$N4xf&v`1^;)u!M$Gicl(oP!dW>5K8<|GMdezf@u&MSueoUH1-dV z(N$Z+uU>wOp5_|v+_aXsYjJsdGcO(Z;F?3}%tgSPOF>yWNt7Zzk*cdrCT`l+xk5`u z9egQyZ*UY{f~G))iZGCbfyDPifP#kt=w-bMyqK zvUxNiXsIq|P4luEEc1%;SOj|ez5u}9J~Sb~GOxU{qjk+CEz8h^ATwQLIF-fJG(xEe zl|s%mrJxvwjOVhH**XKMJjcf;$xcsWXgZYL7$*U~&orfr1h^Iol*sDNbf{I0l^Z6c{E7g&}lm zV^O41n1)6&>X3}MoJeI*D0EF@eRDlMjdg2r?H+{q0sw^o$LU_TeA(s=tqlkvP)ac{ zIfYQnu@=sN3zeea2Poy!l8iHw^YFs}rJ%9AjLK+)>ar-y%41ZH?6S_86PWVe9$~FojfdhDjJm zrRb?mvazY2%jzp|biul&Iy!1AsffA691~3|C6*A-Kc43JL>f&9bWP*RRV_4CC3l=S zK3sWr29<)_db_$CYj3`)qZO$Xnh<<6Izc*Dssd8Vd5}_33`6|DrzKg&Kq|+;EtVi=OjdyGzIIW#IyctHEzPTuKs)+Y75zmMI3PK8@8@) zZLf|;kTc0JGLOIp)Fz@BrjBJ9IF5@E}6izA1wYR1bz_W1tIgN zwEzK9mda91JVH$@f>NbRh964SG}LlYbN!ZAuHV`Ud{zS3+ei5BhkE_?%f7k2yS-{O zm1WxZnZ4);LFr_f?Jp>oVyVJ9J0@lWT%10x30%jbSPU2(pPKWg0vyxehKsvazH@Bo z`Yqkhn~VkCp&hX7bR$Ncq$Mc#{g(CF0s7A}*CthjQ1!(G7$UXhNU~ z5Hs!)rMI~a6rj|+yJvNzn!k?C8mQ(1otg8zG~$OLDAo{lR|7Ku4SnBd!()&CdT4YL zLPUkG$8F0jcTJC8bab7Y?B`NC)bI#RkwRgO|+ zKp7ANTu{-{Q^XLW5g50U^Jv~6ZKjC@&!t2Gv%a5A?UEr&T=Or;1-T&qPx5b+xgxE6ejd000000< KMNUMnLSTaZ?|NMT literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/tarjetaPCI_1.png b/pandora_console/operation/active_console/imagenes/tarjetaPCI_1.png new file mode 100644 index 0000000000000000000000000000000000000000..f195d386a7cbf0598c0c0e6c95e685c928d8ad3a GIT binary patch literal 1925 zcmV;02YUF4P)N+cvoQ;0}pmn5`FoM6{>?Dg7f@AJ;gy@wYw`{2YePzhB?KGNvk zJ2Q9g|Nj5yoO=d#Y{zzN$Nr}#02eP_L{(piqUc~0Sq1QYk7~7g|I(#P`H_*4FASg$ zkjeB=uh)M(IeGGDV`F2^Ic0YCv0lG^_2(laBfkRl3k8@;rKs2IJ-c@gXOA2?%HhK= z^8WkR+|{e^O`JXZ)=!P`2UK-Skb+`FF}S2vJmR)>KOR5*JRWsp(JX%VjwG^)~>pQN+VXbF6Qa zX*L>EYc+a%(wzF*ank7&D6AGs%q`@p*K3qYB{nun>>oB9e|Z305KH}ZkR)p&lDK^v zU&4y`&~p%?b+An^!t&BGQ+FOS@xmZ#s|cV`M5D4wy}W_75gIg+R2GeDU{V0Aub248 zOo2wDL8(+?ZLNsskCPsr#8zfwlD1;76_X<1oI>|L5@)71gN7RjaCk)c(GR~%&MQJ# zL=}9L$yY~E9Z869;2L>cM5OIY zaig)snzSy&p$zu-GqigGYz1{e{92p(c!S38LsxG?xDa#Vl>NJvZ@-bn8=NFq|CFGb zXQ;nUxN;M3>>G&4))L3;2_QJOe^ek{(0xTuK&#t&P0>v;@zg5|jqy8u!{ zAVN=Hg?&Rsb`R`hbfCddE<$Yp3Hu;1P#1w~CV*Su!8(hL0;~-%t<7ta{I_SYAmPi8e4jRvrRgF5d*{psI9lZtEw#5Mkw5S!pdTVt1554 z6p&4aXu@E(ZONc>Ee7MZUa#|D`Yz+S62pB7Xz82`)>@oKaZ)CcP-CG?c0ZmAldKR+ zygXxgFh56OwTcM>PE16JpFeBcGT6%M)q0bU{(6g^W0v9ZgqdWoZGTZs)ag1=MDTJ4 zF{y#XvlQo)wemFc^YfG|6?#nxbv@58w{4I(*NWhn4bOP=_x0j=mCkXuskrHqwGAEW zp`)~X8^1hF){ojjk_$sd`$LA(O|pK3XP#fpZJDSyMX@TLXUOJq7^!vEmsUsHg$;BH z1;O!$dnJB-=O}LvZ*bw|yI32~IX>PF7KB#yiWHK4VbREyn zd`iK~;qN+%qz4g{!a^UPE=0V!=M^#s4kZBNcU$hzQbST%P>ZT<0ohvO?jUhVT1b12 z*T3=-eL)51EUF*~&RL8q)<#4@1Apih%)lhU+BE7y-ahbzuYRY=o~%csoKDKCj_YW* zYlsq+W^m0S5?5OPL69hjSH{oWV80p04$mUNL!{7v1H%~4Lm0wax(T%c-uMXA|A;JJ zW6=)q!IeAe!Vpyzbr$I^W^u?&j{uA%m9;jAfqX=Jq z75pqj9;SMiRAit(59K*Lzeebf^5Lzeg@Dj_Bi?v{$P36(QwRXndvYKhheDB`huLkAy(#KQgfQYE*TKwZ9Ag+Ru_-99q#I61< z`B?%FXG)FWLFim%xId$-<>u%5Gu#9)l}fvnmE~Y+>ZZ%*pEyMpZ`}U)7ysq%H+c)t ztTdv}IlXJ)^XJdwd0wViEPkumY>cX+OG`^rGcz-{cwU;{u^rp79sB>ce*rYMl0TM) zG?V}U03v!+SaefwW^{L9a%BJjc-nJJ$xljE@XSq2PYp^} literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/teclado_1.png b/pandora_console/operation/active_console/imagenes/teclado_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a88abf820d50aa4ec2fcf03ab581b4db0c642c00 GIT binary patch literal 2481 zcmV;i2~PHjP)WL_t(o!|j)AY@1gZ$N%TN@9S%9 z$4(qKPD0m9(yq&zZER2`S}pCgO;FlhpiE;EprNf|9h%?+2ni$@j0q-912h%*!euaR zbo)RzR$AJv-PX=Y+ciznq`5VT<2ZN6m)CwT=fVfS9)Y!M3k(U=zjSoYYrT5>JOAf- zj*o#Wx}q!k-xm2Wf*yYJ1Qa4cC=ClC>ZO#UplXqD3mZ3m{IX)v|1?}8aT;z-(>xx} zoi3O5M@`fILMeTb+13NLK(&+-y*8sR8<2A zDHU;yd# z6#Dx5;PHBSJl-%73WW{;bPpx;ux;DMS020vguEZ;Uk1GK*8A{>XP<;#EV)!wX$PE>^Ye=!lwf4!9F876ihRBRLJ3?h4bj> z6^pZ!QnB-)9seF+PtPEVx(4h&ch|cKz1>Uxw&}+0s(kDUQDDW@Ta|d zQ7Rd5X)ain1uhr}2qYxJ)nUZr4MsfPFc1!hcZWlPUz(Q9AGm+}qkdNC+6oD;IHzdsj(69cpRxz3jO{4n3ei z5GYiEt{1R;`EqRC`kB-5`nuap)0*D;>2htVmkKv9H~}Gqhbl@tRp>6p_!iEEn=yfz znOSsn9!Ga~H%!w8AwVXxh=utD3=Iuo*|K`HwysA$pTl@^9O=mv80SzF1&lEWDbUo^ z1h-o|+1=BZ^?2Nup5pG_QM9gGj-iqCHI$IYbiMdFUDrc_KmetZfp<@x!m(rTU~w@E zDJ7(o03m>sAe4eL2HUpa^Z5~r#So3wK}w17@lgy8o`qo;Xj!ucn{V0t?tCWmK$YL$ z`{*NIyg1<5ffQVB6@tqMA-GovzOz^~T8qUJ$!7E5f+3MeptrZL?1B&=l!5@|H6b8` zKnMW;G1e-L$bQ4~uh{Q0$g7#$r0=NyC(P(>*_WLZ#E6^g1s2oA=}oyr-5gmm69 zK`Dh00=Zlk&CSiw^+Mn9$hn_fy|zVv{Ci)2pIPq#&d%n*g{)az$bEqjJTx|zTvyOb zBo>Pz9Ii%3M<)`A1PTQmimF0U6i6w-Y#W3SxLhs>DPdU#C{>_P6}D}HF$StAWj7sH zGYfNQXlz7l>$Upy^z4tHe(Jm3JMP_i-clm~ke<$haS*Rtd0GhZh-KO8iIZK(WO4|H zL)gE6KPDzpAe2H14k6@wr#_(s00FaY0Mc<#z$oeEBSq6-Tb2V#Q7RVU^?I;v+g)Ic zKX>r;Hy*C7sVV;M*Uy|6kODwYPalpPc}p!63M({CQC%(#H(cL_O&f29&+9=hSME^G z?6Nzm3NAQ=EH^-L?ZqxZ#Eyv1wyFlF8%?Cr);Kf5Ru*&F7!{*$1A( zN@a2S)H_(Ya*g@I^Se((YCm#la&k(}%*?OydOf~KI0Tp5jfRFMw6wHp@KRfV^SS)((SG%9Y#iT5K7#i#W z0IXWQer|4d{;#uhbBWQhq&JgUTvZ(ks5Oyl1cE^{uWrWbRVyI`$J9(3j5Da33zlWT zGz~~dD5{ELQHN<5@cDeW`>q{udpxYK|Ll*R{n_JtRyMCk&*{YF0ai57|1O3GyTr9^ z8%DF)+=0o-bZR^~8Mhg$tBXcxRh18+Py}n&u0<>sL!pp&8o+{tgr;hcP8}L%30t<@ zj&thgH!n7=;Qj*(7@jvagZzJvQ;N;`4HrGDWDIY?0c zDbxV?08{~}22e9J*c&+0b0Rf8olfL(#oXxFL{mOr2u7n3gu_9Ef+5t_MxiJQ5}lp1 z`(E4o^TUVsP63Dj2mdk@0NhTXDko^j8CA~b{#-W0hX&7_F-@~~ZXrh} z(=&0#xGNCw!?rCPKY5BDI(Tr;{(UbU0^oHvTG?#CSy%1@{CuDnO0nhudYrj3Tuwm6 z**&SG-RBQ@+OFI1(W_RpY>!5x*C~{$lj+Gf-Z=E??&+yyW=U#=1H%9q0P+9|&TL;Q zARGYIfpR&}t|gEa&dhHrNJO5L3!r00000NkvXXu0mjfd=-BV literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/telefono_1.png b/pandora_console/operation/active_console/imagenes/telefono_1.png new file mode 100644 index 0000000000000000000000000000000000000000..15da5a657b2f3cb411a3b08ee62d3b52b667b1cd GIT binary patch literal 3427 zcmV-p4V?0cP)u1}g)CD2fP3 zj-o)EAO%dYLu?cexCeT0+udE&HQifxI@8`O54XD84J5%2d5Kt8Tj$&@oqhiE|7-nw zfS<Qg0FJT``guE<5JPz^u^9LIQ-ceb)&-pvcW z=y7Mo$k{llUh$)iZg+K%cQ+|E*2ul5GzK1d;k5&Fmv8>_!=QjhOdHE1O9%Ho++4Z! zIy=2TU>&#^Yy>U>8=*D|m?$9l;4@#2w)64UE4`fyr?xiE4llUc_~o?4^Bply&eY-` zEH9J)#q~qBE}$-&yz@7od<_7DLRm52NO?!6sSnn}=5jLlfkU?;u0dR%w4?=T8{%n* z8xS{9aYR#liRW%wXdHM;Ie#QOUh(o~Iyn{`q}rScWt=cpEl5v_uRJS)p=IIfD(Q1ihKd4Egt!M2p+0lv&JqKGIW z785lkZZDeFo&&Yc%5^ifnW^htnjC7(H}+qD$CSQpxialI%O1R$>}zNL8;PI(5G*xe zb--I<%R`+8sVY*GPyre_Ox(h`1^VM;yVotxW#is9Nm0j*6I?AeNfx)>$%* zxV8}+Q##`?HmQNDBT0wG-0Px)3kO!NJ92*UmFK_rGvjgg-E7$Z%U}7skAE#W_$dHB z@Gy=S{uUGw+&TsoyZYr%dAd7UbJVIxVhwubsQ$ z;6iup;_F=d#DP-SVqzrM0t|`2uQdM=LA z_I2$&?5j=l%#UU8`7zp8{_)n5XClK5A{>;!eC3I}R~N_mp|p`dkTzJ1BaR+gf*HjpmJ4;|LT24lICrqUxPRVY_N3C?TdR#@(~{WL(wi0+ z8xOQw(S0J?utFjtPK*ekqM<@0SJdPCcgJaVgKMdM<&r5jFO4BiLk7)yf4 z@VY(w`T3c&zC9{Cj}MFKGhhAnEPv-`PE7zl_}3GpA4=e(AM6lSzGb86x0h~t!07;M{H74Y$CWsurY{;Xi!20zEG`lv=}6s_o9$@NxGL3%~z$` zcm_K@MY3;92m`E#xL%|yH^q1Dn_fO};$-q*7`Q(;*cg5n;KmzoygHNo;{EV9k9O^Q zKD@L%x3YZe)D3UErM7fyiilzyVjLJ#^ER#ds0C3S6^GYJY8z239$SrYS|RA<=PQkU zAsRf{vBwBoU&53d*y`<3GjzI+ZBf2=m|Htlel{hR0P%sykHR3u6Tmr4OMjT5CJ;py=OV1Ns7`#fsw&E|B+qlUwzlc_cWBfS zmglCZCo-|$uhC&y`0&pSheJCY4!=@W)m4d&0plRXw%3y81*EMdz;o6bmN8LK%~;C)iA6sjyD*!7Gl}CNRtCR{uD9$5(i+FUFspul}wR;(uHXt;c zQ=B_@jyR5Jx7&yqI-NGo8sgBWS-woouYz3N4Ps-|k5JSoaCCl?$4=G0b?)4`t<}}l zhdQ0k`{w88-{-x5+vs@QkZ5;TVIf#xh?ZOUP*EvblohJVefQlrn-Elf?=Ko-o>SGU z5|f86;d+)|Q_uRw#-~axr0E-fe9Ib+Qjbn)1Wd571K|vMplWG)?XbGVNN-))=|A#|g zb#SqZT}_6Ea4C284 zG(GkAfAa6_yy|OyWJhYduZ31G;K^|9g(xd&f%gO zF0Est6pJFhL_-C>oYatp$xB5keL+7T(aUz&$_E@9_4v1b#>VfzkszPue~fE1`q=E1 z-WWqPvxJ>r#@4407b7-8A~(stA}6UbYU)YMI*_PAdI?% ztWTMb$bu&r1HbjuYXJC@#tM_#wqOoU430|>j_(@IPvfWY8sfhIBmh_M>Nzne0000Y zdQ@0+Q*UN;cVTj6004N}D=#nC%goCzPEIUH)ypqR2LLwM23QbN%3J^d002ovPDHLk FV1fz!=`&UGqRNA5+DV9sA{si>ev7Js_Oe1 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 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/tux_1.png b/pandora_console/operation/active_console/imagenes/tux_1.png new file mode 100644 index 0000000000000000000000000000000000000000..863e72e45fff89668257757187b4555693c8499e GIT binary patch literal 2735 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 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/usuaria_1.png b/pandora_console/operation/active_console/imagenes/usuaria_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3c981177d94405605291b7158b459c8e89cd8ad4 GIT binary patch literal 2323 zcmV+u3GDWXP)&$A8ax-5fuC^ufIiFzRyMg+YP zqLvRe6ceP-)|P&4X?J#Z_G5Nt-uFG{JYLM~cDw!9S*Y>GlRR_Yd2>Gg&;S2C&p9vr zzkRSKA9R5yHo>WJWbIX9A(hFj4uTLdauO&3y6gG!{|4ZbcV(zo>(buUbz^%^-u}`+Wj^UjV;*Zx_?!6Vg%WePHQT8@|76;HH60dzYwp z6pz2nski@*vxx#nfZY&23*PO1p|t3|g2hhQGt|x6>vm9`KJ#E<#lVkNU%&0@Y`$9% zK}<-tqnnB1FmY{41k($02k0rE3E%wK+B7d7t}kjovuKwTjvjdFmX5-T?=2hLw9*72 zalJ|s)kvZ$-Z?VuowNFgumtqUpq^}bKWZ%s;GUswqFSXboo)YmVb$PZn9hB^(s+y>b$uk z0`LjYk09{$J>4w>3|k)Q9nSk)DwW>Z-qYXfy~8;>4+zw!Cy8qnF3dkEfPMqjH+>)@ zSCqlM_w^#G7?E4k*^b*&nOsBCWS+$lm9aC}pGQmP*H?mUaDQ&h@l zQSVv1ZY6i@*uo7P2MALErP2h>IYb0O15}*Cb9Y^nwJ#p7U3UM4C00SQ$yQW$iI|+T z$$7~kfOD4WcoCb#46Iwhop)>^pU(lX{nib%=hD3T>RVXrX5`)>uo-yegG=1dVh3;? zC@yJ~lNn2*Il?Arnwx0HEfJ^H5q>iZNhV?5MSi5XCTo7FXy0w*qw$&sF z0KBs#@%cxUOCsW0mF}(_+dni&Pe&S;M00$D(7=|P*Dz8XXKZ{LgP@|Fq6lTAi*^j}ioV*&0*I*yIWTY+(5d@H-WKq`@SFfv|3MCtI#B z5E_TK_VVi(p)^*Z9@z@QzQ8L_{Bd%@?H7!}-7k~@rhunWj%70etCwZDZSxXt-?D^k z+T(46y7;o@lZdm$3eM?a;BP`}rMe}F1rXto^X%)$g;#%cYcKg+fNFxbt*ijG$WtuU zQ20||w4~bFWxmBSqj)iih`v;wj2|hLtERmzO$$|`;h;dV6jPpx6C=FlRa*W=X{pTY z`olPl8v{q;M5~8SOp`dZ}5E zMG;|m#4%h<5TOc8F9u*s4DPwF2NxoUY!)ORCCcjuBSy9c|M58J!efJ7_3Q zG+s38`w4}git-!Kqiq&jODW%Ze!Mk+dxm-tXa{yE+#|@fD%=RVTof~ViZr$D%`59y zS^7IInN%|l5}`Pi;n-M~;gJYYojrX(QN)UJ4AD1H*$?`H!ao7uENipvqA{q*gP_kK z(tgehL1pGy5drU&s>^BAwLyn{)x={Xph}o4&^NG#tCmz4KKl>6DrS}n0SHxeP>@03 z0YyG5!Vt=-`B*LhC;|$n1(~A3Br^mURK2Q=oRJBilX}?g9{T7;vu*RW#(PI?dK%Qx z))tZqgwbM=*AK4t2T#Xz+Ol*8k)(_^$($|KR$v6BdNHyt!k{4VqQaxVrv&w z^{}txy9ze9yf53gDvb%etF6~ftsEe?PqpRHz7FJeczcd<+Cex?Kj)(br zG3hqbN4nbdXka+wk(Ysepks?lk{>_Z!&iS@W?i32PixP|dkRZF+1c5(E#J}E-`19v zFbLFI@3*d~=Dzir!7f2jwb1+o5FDk6s^9zDv2xKZO;o*D>m;gGwNjZnF)=az%1Cka z=RbUE_ZvGOd;C%`E`O)(@9$@FYU=LZo}Opg^ZEW%7+PbD4}!o4L7a%ChE)T=-o8@wO`Q+rJHO63!kst^p2m*{TQZ0);a-zd-THBHKE;d1d=7XScy_S>?*w)NZGdftgKuu&ffjg(K`4aDmc)}urZAE0000YdQ@0+Q*UN;cVTj6 t004N}D=#nC%goCzPEIUH)ypqR2LLwM23QbN%3J^d002ovPDHLkV1iWGUgrP+ literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/usuario_1.png b/pandora_console/operation/active_console/imagenes/usuario_1.png new file mode 100644 index 0000000000000000000000000000000000000000..308701ba2f654377d9f82641c117d1ae4e6dc746 GIT binary patch literal 2055 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 A%m4rY literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/usuariosWindows_1.png b/pandora_console/operation/active_console/imagenes/usuariosWindows_1.png new file mode 100644 index 0000000000000000000000000000000000000000..9b164455533675012129bfe1c731c5faa9fa663c GIT binary patch literal 3325 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 Hu0mjf%wu2x literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/usuarios_1.png b/pandora_console/operation/active_console/imagenes/usuarios_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d997bb01dae9df3a2eba7401cad52c3436509ce7 GIT binary patch literal 2194 zcmV;D2yOR?P)I_^PSPa zExTp6?3UfKTlRl#@^N*1FYx1E4)fykSDNCf#O^2zT8uH%B61Qa06czle#3s8j|1-U zyP<#h0I&b$^62JW2Y#AvXx(4PP9>+uPr8u`kBP_=z}b&f!5`k^5O^xy-oIrinQ8b; z=$E&a3v+oD_^*h_aUj1OYuOGe@OE|%?*3Kh;O>2~WE$mrjKA?G3fU>dvR(wf23+1q zMf-!mJ$Zj4Q5e+sZXbE9LO;C^zb4mX!ewe@d5+|+g3 z;dEVdhtZKGKs;S5h|~a|2Yz9U8M17LWTyU8nWnaT#kTQF1%h&s(&9WpsR;7kqJ0S% z*=YQA6@2pkMg~R>qQcTw>)U#Nlt|a6LeC}i%Xsc0bJxZR%SDVah)54muYB+IbbZqg zGL0R3jL}44fK~y8`56|olVHq^+!DzwrPvGWskrVY5fLWd_;Y7t=jLySW!IGQa{y?q ziM%{Jwr!%VW0do!&vE|jI8hXR!E&5ymJ=U~q7YqD@5L|9UPCaX(n-o?e|b_50K0*I zd?*F)8>+*y?0cL<>YErH3;i;Fxk$na*t=(tJBGK>+S)*GUl$@Um(4jMvcrz2nr+*$ zBNY&-05_jS`vu1C+|He2JFqQ_*=!!Ibw)(~1H622Yl^j0tP1$l15G^ot%o^#dgAM1 z^ruR$OB9sp?xamYdLf7Dkf4GqY3>og99ymVp|8OGD;a75r%hkF+G(fJMUUznW{on1r&k3 zHCXAClOE`6BDSS<30x8R#kC)@gt)CS%Eu2pj4=#sYGB{)E*$ZR!uJ)bOF>6lhS|B| zQ72uv9+hfu4iI3`#i+nnQBcIv8<$LN2`VU~wZUjjcY6){hTBNT6;YtxpFE(Hrs$T7 zkv4y|N_9MOG7knd@70vCD+x7xR{+=o9uy}47JIKC@8J$8z_|& zuIrx*LVYS0t6q++>Vv_lXZ9G+^G}xDf;P%UhwHoYi};@Rj*iT^)&`5(q#{})4&^d6 zlP6yY|2cluyT0CuTUD0FkIqw{iQ$L(wd=EsbG6BI>r#!aI-!NdknFsBwB+lS@ymtn z%{2)eTc~_YfKq67u?@l!sqfu-4nMJ&6ykjqeDaogkiwHCPFSuDnVEf;nhRilI}f&Db^}8 z>jJ(q;qmZYwQ6Q2m~b4mza^tOEEGiH`>sRK0avCxPMq&Fr{9sDA?5jAAzUd>gTE1nHKj@_s*!M zYcw;j`!eAIjs#$C0ET|RWFf(8PJ_8(1@*=YTjHS*L`LTWTW=m3F%4ZqR#}?GY1~Gv zuE$)Q%;N~w!QdnnDS@eZi)qO#%zvj!#f*plIG_U%q{q-yLPsIe{WC!;XUo6 zb@j1kN`4Mn1%2N>vU5X(xdK))PNJ<5C!IiQy2W5 zJ(AR+k1-*0b47jniszM03g2&+{6eCBK9`%Hnx1(f9*eofLVg{eMW!R^2i;{ z?T>9r^`?q$iGsPbavLTD=>UTV{uET?wuneyU9bJwuXwdbgG+L9;#%}kkQdQR=?PS$>>#w1g-3t1q`hq0td z%FctW=@Y-s2Gi41VP}KHqbT5&lhfgaOY@cpwlT)$MlG%d4qv)->22UdRlvS)UX*|OkJ-YJ z;})UP`t(#30lH#XiyN<8e+Q1O29$~*t71mh5`1i_bt-0RRm3d2th$zpzRePl1{4r3 zElmjcOTK)+8Xl>DsMb2GfTRkXtN~bg$Sy-h6&@}@dq4>&FSTLi5=T{Lsw&`Ys;gEB zvbr@DsjHW+R|769x~$|f&x(#J?^i3b+SgM`Sh<%>1(;@~ih7l=xd%UrZ!>H4akCq~ zs{I!k0YOWQbVvUH001I-R9JLVZ)S9NVRB^v0C?IfFE7{2%*!rLPAo{(%P&d?05;eL USP)anTmS$707*qoM6N<$f=oduX8-^I literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/utiles/b_down.gif b/pandora_console/operation/active_console/imagenes/utiles/b_down.gif new file mode 100644 index 0000000000000000000000000000000000000000..fa8736b7b8cfc1ec4f60dcaee823343d64d2e821 GIT binary patch literal 182 zcmV;n07?HxNk%w1VGsZi0E8a^|0gH=F){m2PUc-)`Bzr@SXld6S^QdB>tkZuZEW9% zh4zAi)sc|*gM!nOk@$my=aiK0oSV_DtJAQr@295Kx33>viHYC=N}2q-x6KEq_}-b_4u6Xe!4jGTv7UuWVg?0o}bda zUS$VeD#^T6n0BT-_hw=K`yBr>)V!C-u4Cs$$;M zC%ogDOH4U00xEGiIC}Pst!n`L@6>sxr->hAG zdGf($TmFNA;!hSvE(Uo99R?r(*~!4_`rv!+l*EA97EFx+GhVXE$V^k{a%79y?%2(~ zSmnS3DZZ0Sk~CBlPIx>G(o_`dJE4+n$S1<@sk+#(kE7@0(%C{2mrN_;V6X-N3o}n2 literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/utiles/dot_red.gif b/pandora_console/operation/active_console/imagenes/utiles/dot_red.gif new file mode 100644 index 0000000000000000000000000000000000000000..72dda6743ae3bc68b854cb8c2f8d9775cb4d0de8 GIT binary patch literal 200 zcmV;(05|_fNk%w1VF~~W0E8a^g&!Y@At9VFE~h;;us$}cL^-)WHL*uY(ndJXO+(sJ zK-^S9-d#-EVou^=Ox$K#;$=|gZ(QeeUE+Ll>w#(Of@$r9YvP%h^O=F~pNI9Ih3u=S z>b}4GyrKH+>i_@$A^8LW3IHDfEC2ui015yK000F=;P-8lVN9Di0)ar7=>{C!l^}{i z2AsD&3rM3RxR4kQNyTCyBp%3!1!E~87LEu-lQ9ky5Q#<8F^&q23Z|P9k))Y+2mm|O C&r^~B literal 0 HcmV?d00001 diff --git a/pandora_console/operation/active_console/imagenes/utiles/grafica_h.gif b/pandora_console/operation/active_console/imagenes/utiles/grafica_h.gif new file mode 100644 index 0000000000000000000000000000000000000000..26e0c6dc9f3bb26c88d338826d77cefd3809dbca GIT binary patch literal 145 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 + + + + + + + + + +"); + } +?> + +Pandora Console + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +\n"; +echo " +

+
+ + "; + + +$perfil = obtenerPerfilActivo(); + +// Obtenemos las vistas asignadas al perfil especial activo con id igual a 2 y creamos un array JavaScript que contendrá las Vistas +$vistas = dameVistasPerfilActivas($perfil); +// mysql_data_seek($vistas,0); +while ($vista=mysql_fetch_array($vistas)){ + + + echo " +
+ "; + + $objetos = dameObjetosVista($vista["idVista"]); + + while ($objeto=mysql_fetch_array($objetos)) + { + $estado_objeto=dameEstadoObjeto($objeto["id_objeto"]);//0=MAL, 1=BIEN, 2=CAMBIANDO, -1=DESCONECTADO + + $css_estado="style="; + switch ($estado_objeto) { + case -1: $css_estado.="\"border-color:red\""; + break; + case 1: $css_estado.="\"border-color:green\""; + break; + case 0: $css_estado.="\"background-color:red\""; + break; + case 2: $css_estado.="\"background-color:yellow\""; + break; + } + + $alerta_objeto=comprobarAlertaObjeto($objeto["id_objeto"]); // 0=NO ALERTA 1=SI ALERTA + $css_alerta="style=\"background-color:white\""; + + $datos_objeto=dameObjeto($objeto["id_objeto"]); + $nombre_objeto=dameNombreObjeto($datos_objeto["id_tipo"], $datos_objeto["tipo"]); + $tipo_objeto=$datos_objeto["tipo"]; + if ($tipo_objeto == "V") + { + $tipo_objeto =" "; + } + + echo " +
+
".$nombre_objeto." [".$tipo_objeto."]
+
+ imagen"; + if ($alerta_objeto==1) + echo "
ALERTA
"; + + if (($tipo_objeto == "M") and ($datos_objeto["nom_img"] <> "grafica")) + + echo ""; + + echo "
+ +
+ + "; + + //Creamos las lineas + $aRelaciones=dameRelacionesObjeto($objeto["id_objeto"]); + if ($aRelaciones !=-1) + { + while ($relacion=mysql_fetch_array($aRelaciones)) + { + $idObjeto2=$relacion["idObjeto2"]; + echo "
+ "; + } + } + } +echo ""; +echo "
"; +} + + + +// + + +?> + + +
+
+ + + + \ No newline at end of file diff --git a/pandora_console/operation/active_console/lib/db_functions.php b/pandora_console/operation/active_console/lib/db_functions.php new file mode 100644 index 0000000000..6f5340c6a7 --- /dev/null +++ b/pandora_console/operation/active_console/lib/db_functions.php @@ -0,0 +1,1615 @@ + + + +0 AND TAM.id_agente=".$id_agente." group by TMG.id_mg"; + + $resq1=mysql_query($query1); + + closedb(); + + return $resq1; +} + + +// devuelve los modulos del agente identificado por su que no pertenecen a ningun grupo de modulos +function dameModulosSinGrupo($id_agente) +{ + opendb(); + + $query1="SELECT * from tagente_modulo where id_agente='".$id_agente."' and id_module_group=0"; + + $resq1=mysql_query($query1); + + closedb(); + + return $resq1; +} + +// Funcion que devuelve los modulos de un determinado grupo de modulos y de un agente +function dameModulosDelGrupoModulosAgente($id_agente,$id_mg) +{ + opendb(); + + $query1="Select * from tagente_modulo where id_agente=".$id_agente." and id_module_group=".$id_mg.";"; + + $resq1=mysql_query($query1); + + closedb(); + + return $resq1; + + +} + + +// devuleve los modulos de un agente determinado y de un grupo de modulos determinado (recive el id_agente y el id del grupo de modulos) +function dameModulosGrupo($id_mg,$id_agente) +{ + opendb(); + + $query1="Select * from tagente_modulo where id_agente=".$id_agente." and id_module_group=".$id_mg.""; + $resq1=mysql_query($query1); + + closedb(); + + return $resq1; + +} + +// inserta un objeto pasandole: nombre de la imagen, tipo del objeto, posicion left, posicion top, id tipo del objeto +function addObject($nom_img, $tipo, $left, $top, $id_tipo) +{ + + if ($tipo=="GA") //como el grupo ya tiene una imagen asignada, la aprovechamos + { + $grupoAgente=dameGrupoAgente($id_tipo); + $nom_img=$grupoAgente["icon"]; + } + + opendb(); + $query1="INSERT INTO objeto_consola (`nom_img`,`tipo`,`left`,`top`,`id_tipo`) VALUES ('".$nom_img."', '".$tipo."', $left, $top, $id_tipo);"; + $resq1=mysql_query($query1) or die('Error, insert query failed'.$query1. mysql_error()); + + $query2="Select id_objeto from objeto_consola where id_tipo=".$id_tipo.";"; + $resq2=mysql_query($query2) or die('Error, insert query failed'.$query2. mysql_error()); + $rowidObjeto=mysql_fetch_array($resq2); + + closedb(); + return $rowidObjeto; +} + +// retorna el array con los objetos existentes en la base de datos +function dameObjetos(){ + + + opendb(); + + $query1="SELECT * FROM objeto_consola;"; + $resq1=mysql_query($query1); + + closedb(); + + return $resq1; + +} + +// guardamos una vista nueva pasandole su nombre y una descripcion. Devuelve el id adjudicado a la nueva vista. +function guardarNuevaVista($nombre, $descripcion,$idPerfil) +{ + + + opendb(); + $query1="INSERT INTO vistas_consola (`nombre`,`descripcion`) VALUES ('".$nombre."', '".$descripcion."');"; + $resq1=mysql_query($query1) or die('Error, insert query failed'.$query1. mysql_error()); + + $idVista=mysql_insert_id(); + + // Insertamos la nueva vista al perfil activo (id=2) + $query2="INSERT INTO perfil_vista (`idPerfil`,`idVista`) VALUES ('".$idPerfil."', '".$idVista."');"; + $resq2=mysql_query($query2) or die('Error, insert query failed'.$query2. mysql_error()); + + closedb(); + + return $idVista; +} + +// Se crea un nuevo objeto, $nom_img : Nombre de la imagen que lo representa +// $tipo: Tipo de objeto +// $left: posicion respecto a la izquierda +// $top: posicion respecto arriba +// $id_tipo: id del tipo de objeto +// $idVista: id de la vista a la que pertenece +// Devuelve -1 si la vista que será representada por el objeto no tiene ya un objeto vista de la vista donde insertaremos el objeto. + +function nuevoObjEnVista($nom_img,$tipo,$left,$top,$id_tipo,$idVista) +{ + opendb(); + + $objVista=true; + if ($tipo == "V") // Comprobamos que la vista que será representada por el objeto no tiene ya un objeto vista de la vista donde insertaremos el objeto. :-s + { + $objs = dameObjetosVista($id_tipo); + while ($objeto=mysql_fetch_array($objs)){ + if ($objeto["id_tipo"]==$idVista) + { + $objVista=false; + } + + } + + } + if ($objVista) + { + $query1="INSERT INTO objeto_consola (`nom_img`,`tipo`,`left`,`top`,`id_tipo`,`idVista`) VALUES ('".$nom_img."', '".$tipo."', '".$left."', '".$top."', '".$id_tipo."', '".$idVista."');"; + $resq1=mysql_query($query1) or die('Error, insert query failed'.$query1. mysql_error()); + }else + { + return -1; + } + + closedb(); + +} + +// Crea un nuevo objeto a partir de uno ya existente (util para copiar objeto de una vista a otra) +function copiaObjEnNuevaVista($idVista,$idObjeto) +{ + opendb(); + + $queryObj="SELECT * FROM objeto_consola where id_objeto=".$idObjeto.";"; + $resqObj=mysql_query($queryObj); + $obj=mysql_fetch_array($resqObj); + + $query1="INSERT INTO objeto_consola (`nom_img`,`tipo`,`left`,`top`,`id_tipo`,`idVista`) VALUES ('".$obj["nom_img"]."', '".$obj["tipo"]."', '".$obj["left"]."', '".$obj["top"]."', '".$obj["id_tipo"]."', '".$idVista."');"; + $resq1=mysql_query($query1) or die('Error, insert query failed'.$query1. mysql_error()); + + closedb(); + +} + + +// retorna el array con las vistas existentes en la base de datos +function dameVistas(){ + + + opendb(); + + $queryVista="SELECT * FROM vistas_consola;"; + $resqVista=mysql_query($queryVista); + + closedb(); + + return $resqVista; + +} + +// retorna el array con los ids de los objetos que pertenecen a la vista pasada como parametro +function dameObjetosVista($id_vista){ + + + opendb(); + + $queryObj="SELECT * FROM objeto_consola where idVista=".$id_vista." order by idVista, id_objeto;"; + $resqObj=mysql_query($queryObj); + + closedb(); + + return $resqObj; + +} + +// se devuelve la vista que es referencia por su id que se pasa como parametro +function dameVista($idVista) +{ + opendb(); + + $query_vista="SELECT * FROM vistas_consola where idVista='".$idVista."';"; + $resq1_vista=mysql_query($query_vista); + $vista=mysql_fetch_array($resq1_vista); + + closedb(); + + return $vista; +} + +// se retorna el objeto que es referenciado por su idObjeto +function dameObjeto($idObjeto) +{ + opendb(); + + $query_objeto="SELECT * FROM objeto_consola where id_objeto='".$idObjeto."';"; + $resq1_objeto=mysql_query($query_objeto); + $objeto=mysql_fetch_array($resq1_objeto); + + closedb(); + + return $objeto; +} + +// Funcion que edita un objeto (de momento solo la imagen) +function editarObjeto($idObjeto,$nom_img) +{ + opendb(); + + $query_objeto="UPDATE objeto_consola set nom_img='".$nom_img."' where id_objeto='".$idObjeto."';"; + mysql_query($query_objeto) or die("Failed Query of " . $query_objeto);; + + + closedb(); + +} + +// Funcion que elimina un objeto +function eliminarObjeto($idObjeto) +{ + opendb(); + + $query_objeto="DELETE from objeto_consola where id_objeto='".$idObjeto."';"; + mysql_query($query_objeto) or die("Failed Query of " . $query_objeto); + + + closedb(); + +} + +// retorna el nombre del objeto referenciado por su tipo y por su y por su id de tipo +function dameNombreObjeto($idTipo,$tipo) +{ + + $nombre=""; + opendb(); + + switch ($tipo) { + case "A": //agente + $query_objeto="SELECT * FROM tagente where id_agente='".$idTipo."';"; + $resq1_objeto=mysql_query($query_objeto); + $objeto=mysql_fetch_array($resq1_objeto); + $nombre=$objeto["nombre"]; + break; + case "GA": //Grupo Agentes + $query_objeto="SELECT * FROM tgrupo where id_grupo='".$idTipo."';"; + $resq1_objeto=mysql_query($query_objeto); + $objeto=mysql_fetch_array($resq1_objeto); + $nombre=$objeto["nombre"]; + break; + case "M": //Modulo + $query_objeto="SELECT * FROM tagente_modulo where id_agente_modulo='".$idTipo."';"; + $resq1_objeto=mysql_query($query_objeto); + $objeto=mysql_fetch_array($resq1_objeto); + $nombre=$objeto["nombre"]; + break; + case "GM": //Grupo Modulos + $query_objeto="SELECT * FROM tmodule_group where id_mg='".$idTipo."';"; + $resq1_objeto=mysql_query($query_objeto); + $objeto=mysql_fetch_array($resq1_objeto); + $nombre=$objeto["name"]; + break; + case "V": //Vista + $query_objeto="SELECT * FROM vistas_consola where idVista='".$idTipo."';"; + $resq1_objeto=mysql_query($query_objeto); + $objeto=mysql_fetch_array($resq1_objeto); + $nombre=$objeto["nombre"]; + break; + } + + + + closedb(); + + return $nombre; +} + +//Inserta un nuevo perfil en la base de datos y retorna su id +function guardarNuevoPefil ($nombre,$descripcion) +{ + opendb(); + $query1="INSERT INTO perfil (`nombre`,`descripcion`) VALUES ('".$nombre."', '".$descripcion."');"; + $resq1=mysql_query($query1) or die('Error, insert query failed'.$query1. mysql_error()); + + $idPerfil=mysql_insert_id(); + + // Creamos una vista para el perfil + $query3="INSERT INTO vistas_consola (`nombre`,`descripcion`) VALUES ('default', 'default');"; + $resq3=mysql_query($query3) or die('Error, insert query failed'.$query3. mysql_error()); + + $idVista=mysql_insert_id(); + + + $query2="INSERT INTO perfil_vista (`idPerfil`,`idVista`) VALUES ('".$idPerfil."', '".$idVista."');"; + $resq2=mysql_query($query2) or die('Error, insert query failed'.$query1. mysql_error()); + closedb(); + + return $idPerfil; +} + +// retorna el array con las vistas existentes para el perfil especificado mediante parametro +function dameVistasPerfil($idPerfil){ + + + opendb(); + + $queryVista="SELECT * FROM perfil_vista where idPerfil=".$idPerfil.";"; + $resqVista=mysql_query($queryVista); + + closedb(); + + return $resqVista; + +} + +// retorna el array con las vistas existentes para el perfil especificado mediante parametro y tienen su campo activa = 1 +function dameVistasPerfilActivas($idPerfil){ + + + opendb(); + + $queryVista="SELECT * FROM perfil_vista where idPerfil=".$idPerfil." and activa=1;"; + $resqVista=mysql_query($queryVista); + + closedb(); + + return $resqVista; + +} + + +// // Esta funcion intenta obtener el id del perfil que esta cargado actualmente +// function obtenerPerfilActivo() +// { +// opendb(); +// +// $queryVista="SELECT * FROM perfil_vista where idPerfil=2;"; +// $resqVista=mysql_query($queryVista); +// $perfil_vista=mysql_fetch_array($resqVista); +// +// $queryVista2="SELECT * FROM perfil_vista where idPerfil<>'2' and idVista='".$perfil_vista['idVista']."';"; +// $resqVista2=mysql_query($queryVista2); +// $perfil=mysql_fetch_array($resqVista2); +// +// closedb(); +// +// return $perfil['idPerfil']; +// +// } + +// Retorna un array con todos los Perfiles excepto los especiales Default(id=1) y PerfilActivo(id=2) + +function damePerfiles(){ + opendb(); + + $query1="SELECT * FROM perfil;"; + $resq1=mysql_query($query1); + + closedb(); + + return $resq1; + +} + +// se devuelve el perfil referenciado por su id que se pasa como parametro +function damePerfil($idPerfil) +{ + opendb(); + + $query_perfil="SELECT * FROM perfil where idPerfil=".$idPerfil.";"; + $resq1_perfil=mysql_query($query_perfil); + $perfil=mysql_fetch_array($resq1_perfil); + + closedb(); + + return $perfil; +} + +// Devuelve un perfil cualquiera (Utilizado a la hora de borrar el perfil que esta en curso, con esto se carga otro perfil existente) +function damePerfilCualquiera(){ + opendb(); + + $query1="SELECT * FROM perfil;"; + $resq1=mysql_query($query1); + $perfil=mysql_fetch_array($resq1); + + closedb(); + + return $perfil; + +} + +// Devuelve una vista cualquiera de las que estan visibles (Utilizado a la hora de cerrar una Vista que esta en curso, con esto se carga otra Vista existente) +function dameVistaCualquiera($idPerfil){ + opendb(); + + $query1="SELECT * FROM perfil_vista where idPerfil=".$idPerfil." and activa='1';"; + $resq1=mysql_query($query1); + $vista=mysql_fetch_array($resq1); + + closedb(); + + return $vista; + +} + + +// // Existe un perfil especial (id = 2) que es el perfil activo. Así cuando se abre un perfil, se carga en el perfil activo y se representa. Esta funcion borra lo que haya en el perfil activo, y carga el nuevo perfil a representar. +// function cargarPerfil($idPerfil) +// { +// +// opendb(); +// +// // Borramos todo lo que haya cargado en el perfil activo +// $deleteQuery="Delete from perfil_vista where idPerfil=2"; +// $resqDelete=mysql_query($deleteQuery); +// +// // Recogemos las vistas del nuevo Perfil +// $queryPerfil="SELECT * FROM perfil_vista where idPerfil=".$idPerfil.";"; +// $resqPerfil=mysql_query($queryPerfil); +// +// // Cargamos en el perfil activo las vistas del nuevo Perfil +// while ($perfil_vista=mysql_fetch_array($resqPerfil)){ +// +// $query1="INSERT INTO perfil_vista (`idPerfil`,`idVista`) VALUES ('2', '".$perfil_vista["idVista"]."');"; +// $resq1=mysql_query($query1) or die('Error, insert query failed'.$query1. mysql_error()); +// +// } +// +// +// closedb(); +// +// } + +// // Recupera todas las vistas del perfil activo (id=2) y las añade al perfil que se le pasa como parametro +// function guardarPerfil($idPerfil) +// { +// opendb(); +// +// // Recogemos las vistas del Perfil Activo +// $queryPerfil="SELECT * FROM perfil_vista where idPerfil=2;"; +// $resqPerfil=mysql_query($queryPerfil); +// +// // Borramos todo lo que habia en el antiguo perfil +// $deleteQuery="Delete from perfil_vista where idPerfil=".$idPerfil; +// $resqDelete=mysql_query($deleteQuery); +// +// // Cargamos en el Perfil que queremos guardar, todas las vistas que existian en el activo +// while ($perfil_vista=mysql_fetch_array($resqPerfil)){ +// +// $query1="INSERT INTO perfil_vista (`idPerfil`,`idVista`) VALUES ('".$idPerfil."', '".$perfil_vista["idVista"]."');"; +// $resq1=mysql_query($query1) or die('Error, insert query failed'.$query1. mysql_error()); +// +// } +// +// closedb(); +// +// } + +// Funcion que elimina una vista y todos sus objetos. Devuelve el codigo de error 1 si es la ultima vista, no borrandola. +function eliminarVista($idVista) +{ + opendb(); + + // comprobamos que no es la ultima vista existente en el perfil +// $queryCheck="SELECT * FROM perfil_vista where idPerfil=(Select idPerfil from perfil_vista where idVista=".$idVista.") ;"; + $queryCheck="SELECT pv.* FROM perfil_vista pv , perfil_vista pv2 where pv.idPerfil=pv2.idPerfil and pv2.idVista='".$idVista."'"; + $numVistasexe=mysql_query($queryCheck); + $numVistas = mysql_num_rows($numVistasexe); + + if ($numVistas > 1) + { + +// Obtenemos los objetos de la vista + $queryObj="SELECT * FROM objeto_consola where idVista=".$idVista.";"; + $resqObj=mysql_query($queryObj); + while ($objeto=mysql_fetch_array($resqObj)){ + + $query_objeto="DELETE from objeto_consola where id_objeto='".$objeto['id_objeto']."';"; + mysql_query($query_objeto) or die("Failed Query of " . $query_objeto);; + + } + +// Borramos la vista de la tabla que la relaciona con los perfiles + $query_vista="DELETE from perfil_vista where idVista='".$idVista."';"; + mysql_query($query_vista) or die("Failed Query of " . $query_vista); + +// Borramos la vista + $query_vista="DELETE from vistas_consola where idVista='".$idVista."';"; + mysql_query($query_vista) or die("Failed Query of " . $query_vista); + + + }else return 1; // ERROR: solo queda una vista y no se puede borrar + + + + closedb(); + +} + +// Retorna los valores de la consola para el usuario pasado como parametro +function dameEstadoConsola($usuario) +{ + opendb(); + + $query1="SELECT * FROM estado_consola where id_usuario='".$usuario."';"; + $resq1=mysql_query($query1); + + closedb(); + + return mysql_fetch_array($resq1); + +} + +// Funcion que edita una Vista (id de la vista , nombre , descripcion) +function editarVista($idVista,$nombre,$descripcion) +{ + opendb(); + + $query_vista="UPDATE vistas_consola set nombre='".$nombre."' , descripcion='".$descripcion."' where idVista='".$idVista."';"; + mysql_query($query_vista) or die("Failed Query of " . $query_vista);; + + + closedb(); + +} + +// Funcion que edita un Perfil (id del Perfil , nombre , descripcion) +function editarPerfil($idPerfil,$nombre,$descripcion) +{ + opendb(); + + $query_perfil="UPDATE perfil set Nombre='".$nombre."' , Descripcion='".$descripcion."' where idPerfil='".$idPerfil."';"; + mysql_query($query_perfil) or die("Failed Query of " . $query_perfil);; + + + closedb(); + +} + + +// Elimina el perfil y las vistas asociadas al perfil referenciado por su id, y devuelve -1 como codigo de error si es el ultimo perfil, para indicar de que no se ha borrado por ser el ultimo.Si se ha borrado con exito, devuelve el id del perfil borrado +function eliminarPerfil($idPerfil) +{ + + opendb(); + + $queryCheck="SELECT * FROM perfil ;"; + $numPerfilesexe=mysql_query($queryCheck); + $numPerfiles = mysql_num_rows($numPerfilesexe); + + if ($numPerfiles > 1) + { +// Obtenemos las vistas del perfil para borrarlas + $queryVistas="SELECT * FROM perfil_vista where idPerfil=".$idPerfil.";"; + $resqVistas=mysql_query($queryVistas); + while ($vista=mysql_fetch_array($resqVistas)){ + $idVista=$vista["idVista"]; + + // Obtenemos los objetos de la vista + $queryObj="SELECT * FROM objeto_consola where idVista=".$idVista.";"; + $resqObj=mysql_query($queryObj); + while ($objeto=mysql_fetch_array($resqObj)){ + + $query_objeto="DELETE from objeto_consola where id_objeto='".$objeto['id_objeto']."';"; + mysql_query($query_objeto) or die("Failed Query of " . $query_objeto);; + + } + + // Borramos la vista de la tabla que la relaciona con los perfiles + $query_vista="DELETE from perfil_vista where idVista='".$idVista."';"; + mysql_query($query_vista) or die("Failed Query of " . $query_vista); + + // Borramos la vista + $query_vista="DELETE from vistas_consola where idVista='".$idVista."';"; + mysql_query($query_vista) or die("Failed Query of " . $query_vista); + + } + +// Borramos el perfil de la tabla de relaciones con la vista + $query_perfil="DELETE from perfil_vista where idPerfil='".$idPerfil."';"; + mysql_query($query_perfil) or die("Failed Query of " . $query_perfil); + +// Borramos el perfil + $query_perfil="DELETE from perfil where idPerfil='".$idPerfil."';"; + mysql_query($query_perfil) or die("Failed Query of " . $query_perfil); + + return $idPerfil; + }else return -1; + + closedb(); + +} + +// Funcion que pone a 1 el campo "activa" de la tabla perfil_vista (esto hace que la vista se visualice en la consola) + +function activarVista($idVista) +{ + opendb(); + + $query_vista="UPDATE perfil_vista set activa=1 where idVista=".$idVista.";"; + mysql_query($query_vista) or die("Failed Query of " . $query_vista);; + + + closedb(); + +} + +// Funcion que pone a 0 el campo "activa" de la tabla perfil_vista (esto hace que la vista NO se visualice en la consola) + +function desactivarVista($idVista) +{ + opendb(); + + $query_vista="UPDATE perfil_vista set activa = 0 where idVista='".$idVista."';"; + mysql_query($query_vista) or die("Failed Query of " . $query_vista);; + + + closedb(); +} + +// Funcion que devuelve 1 si es la ultima vista activa del perfil, o devuelve 0 si no lo es +function es_ultimaVistaActiva($idPerfil) +{ + + opendb(); + + $queryCheck="SELECT * FROM perfil_vista where idPerfil=".$idPerfil." and activa=1 ;"; + $numVistasexe=mysql_query($queryCheck); + $numVistas = mysql_num_rows($numVistasexe); + if ($numVistas > 1) + return 0; + else return 1; + +} + +// Funcion que devuelve 1 si la vista del perfil es activa, o devuelve 0 si no lo esta +function esVistaActiva($idVista,$idPerfil) +{ + + opendb(); + + $queryCheck="SELECT * FROM perfil_vista where idVista='".$idVista."' and idPerfil=".$idPerfil.";"; + $vista_exe=mysql_query($queryCheck); + $vista=mysql_fetch_array($vista_exe); + return $vista["activa"]; + +} + + +// Crea una relacion (linea) entre dos objetos +function crearRelacionObjetos($idObjeto1, $idObjeto2) +{ + + opendb(); + + $query1="INSERT INTO relacion_objetos (`idObjeto1`,`idObjeto2`) VALUES ('".$idObjeto1."', '".$idObjeto2."');"; + $resq1=mysql_query($query1) or die('Error, insert query failed'.$query1. mysql_error()); + + closedb(); + +} + +//Devuelve todas las relaciones del objeto pasado como parametro y que sea el Objeto 1 de la relacion, si no tiene ninguna relación, devuelve -1 +function dameRelacionesObjeto($idObjeto) +{ + opendb(); + + $query1="SELECT * FROM relacion_objetos where idObjeto1='".$idObjeto."' or idObjeto2='".$idObjeto."';"; + $resq1=mysql_query($query1); + + closedb(); + + $numRelaciones = mysql_num_rows($resq1); + if ($numRelaciones > 0) + return $resq1; + else return -1; + + +} + +//Funcion que devuelve 1 si el objeto pertence a la vista y 0 si no +function esObjetoDeVista($idObjeto,$idVista) +{ + opendb(); + $query1="SELECT * FROM objeto_consola where id_objeto='".$idObjeto."' and idVista='".$idVista."';"; + $resq1=mysql_query($query1); + + closedb(); + + $objVista = mysql_num_rows($resq1); + if ($objVista > 0) + return 1; + else return 0; + +} + +// Funcion que devuelve las relaciones entre objetos de la vista que se le pasa como parametro. +function dameRelacionesVista($idVista) +{ + opendb(); + + $query1="Select idObjeto1, idObjeto2 from relacion_objetos, objeto_consola where idVista='".$idVista."' and idObjeto1 = id_objeto ;"; + $resq1=mysql_query($query1); + + closedb(); + + return $resq1; + +} + +// Funcion que elimina una relacion entre dos objetos +function eliminarRelacion($obj1, $obj2) +{ + opendb(); + $query_relacion="DELETE from relacion_objetos where idObjeto1='".$obj1."' and idObjeto2='".$obj2."';"; + mysql_query($query_relacion) or die("Failed Query of " . $query_relacion); + + closedb(); + +} + +// Devuelve el estado de un Objeto 0=MAL, 1=BIEN, 2=CAMBIANDO, -1=DESCONECTADO +function dameEstadoObjeto($idObjeto) +{ + + $estado=-1000; + + opendb(); + + $query="Select * from objeto_consola where id_objeto='".$idObjeto."';"; + $objetoexe=mysql_query($query) or die("Failed Query of " . $query); + $objeto=mysql_fetch_array($objetoexe); + + // Comprobamos que esta conectado el objeto + $query_objeto="SELECT * FROM tagente_estado ts, tagente_modulo tm where ts.id_agente_modulo='".$objeto["id_tipo"]."' and tm.id_agente_modulo='".$objeto["id_tipo"]."';"; + $resq1_objeto=mysql_query($query_objeto); + $objeto_estado=mysql_fetch_array($resq1_objeto); + + $agent_down=esConectadoObjeto($objeto["id_tipo"],$objeto["tipo"]); +/* + $est_interval = $objeto_estado["module_interval"]; + if (($est_interval != $intervalo) && ($est_interval > 0)) { + $temp_interval = $est_interval; + } else { + $temp_interval = $intervalo; + } + + + + $ahora=date("Y/m/d H:i:s"); + $seconds = strtotime($ahora) - strtotime($objeto_estado["timestamp"]); + if ($seconds >= ($temp_interval*2)) // If every interval x 2 secs. we get nothing, there's and alert + $agent_down = 1; + else + $agent_down = 0;*/ + + + + if ($agent_down==1) // Desconectado + { + $estado=-1; + }else + { + // Comprobamos si existe una regla de estado para el objeto, sino se comporta segun el estandar + $query_relacion="Select * from relacion_estado where id_objeto='".$idObjeto."';"; + $result_relacion=mysql_query($query_relacion) or die("Failed Query of " . $query_relacion); + $hay_relacion = mysql_num_rows($result_relacion); + + if ($hay_relacion > 0) + $relacion=mysql_fetch_array($result_relacion); + else $relacion=-1; + + if ($relacion==-1) // Estado estandar + { + $tipo=$objeto["tipo"]; + switch ($tipo) { + case "A": //agente + $estado=dameEstadoAgente($objeto["id_tipo"]); + break; + case "GA": //Grupo Agentes + $estado=dameEstadoGrupoAgentes($objeto["id_tipo"]); + break; + case "M": //Modulo + $estado=dameEstadoModulo($objeto["id_tipo"]); + break; + case "GM": //Grupo Modulos + $estado=dameEstadoGrupoModulos($objeto["id_tipo"]); + break; + case "V": //Vista + $estado=dameEstadoVista($objeto["id_tipo"]); + break; + + } + }else // Calculamos su estado dependiendo de la expresion que se le ha asignado + { + + $estado = dameEstadoEditadoObjeto($idObjeto,$relacion["relacion"]); + + } + + } + + closedb(); + +// mensaje($estado); + + if ($estado==-1000) + return -1; + else + return $estado; +} + + +//Funcion que devuelve el estado de un modulo 0=MAL, 1=BIEN, 2=CAMBIANDO, -1=DESCONECTADO +function dameEstadoModulo($idModulo) +{ + $estado=-1000; + + $query_objeto="SELECT * FROM tagente_estado where id_agente_modulo='".$idModulo."';"; + $resq1_objeto=mysql_query($query_objeto); + $objeto_estado=mysql_fetch_array($resq1_objeto); + if ($objeto_estado["estado"]==1) + { + if ($objeto_estado["cambio"]==1) + { + $estado=2; + }else + { + $estado=0; + } + }else + { + $estado=1; + } + + if ($estado==-1000) + return -1; + else + return $estado; +} + +//Funcion que devuelve el estado de un grupo de modulos 0=MAL, 1=BIEN, 2=CAMBIANDO, -1=DESCONECTADO +function dameEstadoGrupoModulos($idGrupo) +{ + $estado=1; + $query="Select * from tagente_modulo where id_module_group='".$idGrupo."';"; + $resq1=mysql_query($query); + while ($modulo=mysql_fetch_array($resq1)) + { + $sub_estado=dameEstadoModulo($modulo["id_agente_modulo"]); + if ($estado == 1) // Si esta en estado BIEN y alguno de los modulos pasa a otro estado -> cambiar el estado + { + if (($sub_estado==2) or ($usb_estado==0)) + { + $estado=$sub_estado; + } + } + if (($estado == 2) and ($sub_estado=0)) // Asegura que se toma el estado mas grave de los elementos de los que esta compuesto el grupo + { + $estado=$sub_estado; + } + + } + return $estado; +} + +//Funcion que devuelve el estado de agente 0=MAL, 1=BIEN, 2=CAMBIANDO, -1=DESCONECTADO +function dameEstadoAgente($idAgente) +{ + $estado=1; + $query="Select * from tagente_modulo where id_agente='".$idAgente."';"; + $resq1=mysql_query($query); + while ($modulo=mysql_fetch_array($resq1)) + { + $sub_estado=dameEstadoModulo($modulo["id_agente_modulo"]); + if ($estado == 1) // Si esta en estado BIEN y alguno de los modulos pasa a otro estado -> cambiar el estado + { + if (($sub_estado==2) or ($usb_estado==0)) + { + $estado=$sub_estado; + } + } + if (($estado == 2) and ($sub_estado=0)) // Asegura que se toma el estado mas grave de los elementos de los que esta compuesto el grupo + { + $estado=$sub_estado; + } + + } + return $estado; +} + +//Funcion que devuelve el estado de un grupo de agentes 0=MAL, 1=BIEN, 2=CAMBIANDO, -1=DESCONECTADO +function dameEstadoGrupoAgentes($idGrupoAgente) +{ + $estado=1; + $query="Select * from tagente where id_grupo='".$idGrupoAgente."';"; + $resq1=mysql_query($query); + while ($agente=mysql_fetch_array($resq1)) + { + $sub_estado=dameEstadoAgente($agente["id_agente"]); + if ($estado == 1) // Si esta en estado BIEN y alguno de los modulos pasa a otro estado -> cambiar el estado + { + if (($sub_estado==2) or ($usb_estado==0)) + { + $estado=$sub_estado; + } + } + if (($estado == 2) and ($sub_estado=0)) // Asegura que se toma el estado mas grave de los elementos de los que esta compuesto el grupo + { + $estado=$sub_estado; + } + + } + return $estado; +} + + +//Funcion que devuelve el estado de una vista 0=MAL, 1=BIEN, 2=CAMBIANDO, -1=DESCONECTADO +function dameEstadoVista($idVista) +{ + opendb(); + $estado=1; + $query="Select * from objeto_consola where idVista='".$idVista."';"; + $resq1=mysql_query($query); + while ($objeto_vista=mysql_fetch_array($resq1)) + { + switch ($objeto_vista["tipo"]) { + case "A": //agente + $sub_estado=dameEstadoAgente($objeto_vista["id_tipo"]); + break; + case "GA": //Grupo Agentes + $sub_estado=dameEstadoGrupoAgentes($objeto_vista["id_tipo"]); + break; + case "M": //Modulo + $sub_estado=dameEstadoModulo($objeto_vista["id_tipo"]); + break; + case "GM": //Grupo Modulos + $sub_estado=dameEstadoGrupoModulos($objeto_vista["id_tipo"]); + break; + case "V": //Vista + $sub_estado=dameEstadoVista($objeto_vista["id_tipo"]); + break; + } + + if ($estado == 1) // Si esta en estado BIEN y alguno de los modulos pasa a otro estado -> cambiar el estado + { + if (($sub_estado==2) or ($usb_estado==0)) + { + $estado=$sub_estado; + } + } + if (($estado == 2) and ($sub_estado=0)) // Asegura que se toma el estado mas grave de los elementos de los que esta compuesto el grupo + { + $estado=$sub_estado; + } + + } + + + return $estado; + + closedb(); + +} + +function comprobarAlertaObjeto($idObjeto) +{ + + $alerta=0; + + opendb(); + + $query="Select * from objeto_consola where id_objeto='".$idObjeto."';"; + $objetoexe=mysql_query($query) or die("Failed Query of " . $query); + $objeto=mysql_fetch_array($objetoexe); + + $tipo=$objeto["tipo"]; + switch ($tipo) { + case "A": //agente + $alerta=comprobarAlertaAgente($objeto["id_tipo"]); + break; + case "GA": //Grupo Agentes + $alerta=comprobarAlertaGrupoAgentes($objeto["id_tipo"]); + break; + case "M": //Modulo + $alerta=comprobarAlertaModulo($objeto["id_tipo"]); + break; + case "GM": //Grupo Modulos + $alerta=comprobarAlertaGrupoModulos($objeto["id_tipo"]); + break; + case "V": //Vista + $alerta=comprobarAlertaVista($objeto["id_tipo"]); + break; + + } + + closedb(); + return $alerta; + + +} + + +function comprobarAlertaModulo($idModulo) +{ + + $query2="SELECT * FROM talerta_agente_modulo WHERE times_fired > 0 AND id_agente_modulo =".$idModulo; + $rowdup2=mysql_query($query2); + if (mysql_num_rows($rowdup2) > 0) + { + + return 1; + } + + + return 0; + +} + +function comprobarAlertaAgente($idAgente) +{ + $query2="SELECT * FROM tagente_modulo WHERE id_agente =".$idAgente; + $modulos=mysql_query($query2); + while ($modulo=mysql_fetch_array($modulos)) + { + $query2="SELECT * FROM talerta_agente_modulo WHERE times_fired > 0 AND id_agente_modulo =".$modulo["id_agente_modulo"]; + $alertas=mysql_query($query2); + if (mysql_num_rows($alertas) > 0) + { + + return 1; + } + + } + return 0; + +} + +function comprobarAlertaGrupoAgentes($id_grupo) +{ + + $query2="SELECT * FROM tagente_modulo WHERE id_agente in (select id_agente from tagente where id_grupo='".$id_grupo."') "; + $modulos=mysql_query($query2); + while ($modulo=mysql_fetch_array($modulos)) + { + $query2="SELECT * FROM talerta_agente_modulo WHERE times_fired > 0 AND id_agente_modulo =".$modulo["id_agente_modulo"]; + $alertas=mysql_query($query2); + if (mysql_num_rows($alertas) > 0) + { + + return 1; + } + + } + return 0; + +} + +function comprobarAlertaGrupoModulos($id_mg) +{ + $query2="SELECT * FROM tagente_modulo WHERE id_module_group in (select id_mg from tmodule_group where id_mg='".$id_mg."') "; + $modulos=mysql_query($query2); + while ($modulo=mysql_fetch_array($modulos)) + { + $query2="SELECT * FROM talerta_agente_modulo WHERE times_fired > 0 AND id_agente_modulo =".$modulo["id_agente_modulo"]; + $alertas=mysql_query($query2); + if (mysql_num_rows($alertas) > 0) + { + + return 1; + } + + } + return 0; + +} + +function comprobarAlertaVista($idVista) +{ + $query="Select * from objeto_consola where idVista='".$idVista."';"; + $resq1=mysql_query($query); + while ($objeto_vista=mysql_fetch_array($resq1)) + { + switch ($objeto_vista["tipo"]) { + case "A": //agente + if (comprobarAlertaAgente($objeto_vista["id_tipo"]) == 1) return 1; + break; + case "GA": //Grupo Agentes + if ( $sub_estado=comprobarAlertaGrupoAgentes($objeto_vista["id_tipo"]) == 1) return 1; + break; + case "M": //Modulo + if ( $sub_estado=comprobarAlertaModulo($objeto_vista["id_tipo"]) == 1) return 1; + break; + case "GM": //Grupo Modulos + if ($sub_estado=comprobarAlertaGrupoModulos($objeto_vista["id_tipo"]) == 1) return 1; + break; + case "V": //Vista + if ($sub_estado=comprobarAlertaVista($objeto_vista["id_tipo"]) == 1) return 1; + break; + } + } +} + +// Guarda en la base de datos el estado left y top del objeto +function guardarPosicion($idObjeto,$left,$top) +{ + + opendb(); + + $query_objeto="UPDATE `objeto_consola` SET `left` = '".$left."', `top` = '".$top."' WHERE `id_objeto` = ".$idObjeto." LIMIT 1;"; + mysql_query($query_objeto) or die("Failed Query of " . $query_objeto);; + + + closedb(); + + +} + +// Crea una relacion de estados (el estado de uno dependera del estado del otro ) entre dos objetos +// Devuelve -1 si se intenta inserta una relacion para un objeto que ya la tiene (duplicate key) +function crearRelacionEstado($idObjeto, $expresion) +{ + + opendb(); + + $query1="INSERT INTO relacion_estado (`id_objeto`,`relacion`) VALUES ('".$idObjeto."', '".$expresion."');"; + $resq1=mysql_query($query1); + if (mysql_errno()==1062) // duplicate key + { + return -1; + } + + closedb(); + +} + + +// Devuelve el estado de un Objeto para el que existe una relacion de estado 0=MAL, 1=BIEN, +function dameEstadoEditadoObjeto ($idObjeto, $expresion) +{ + + $estado=-1; + $subObjetos=array(); + + // Obtenemos los ids de los objetos de los que depende su estado + + $params = preg_split("/(\*|\+|\!|\(|\))/" ,$expresion,-1,PREG_SPLIT_NO_EMPTY); + for ($i=0; $i $subEstado) + { + $estadoSubObjeto = dameEstadoObjeto($idSubObjeto); + $subObjetos[$idSubObjeto]=$estadoSubObjeto; + } + + // Traducimos la expresion en codigo php para poder ejecutarlo + $condicion = $expresion; + $condicion = str_replace("*"," && ",$condicion); + $condicion = str_replace("+"," || ",$condicion); + $condicion = str_replace("#"," ",$condicion); + + // Cambiamos el id del objeto por su estado + foreach($subObjetos as $idSubObjeto => $subEstado) + { + $condicion = str_replace($idSubObjeto,$subEstado,$condicion); + } +// $condicion = str_replace("1","TRUE",$condicion); +// $condicion = str_replace("0","FALSE",$condicion); +// if ("1" && "1"){$estado=1;}else{$estado=0;} + eval(" if ($condicion == 1) {\$estado=1;}else{\$estado=0;}"); +// echo "$condicion = ".$estado; + return $estado; + +} + +// Funcion que devuelve las relaciones de estado existentes en una vista +function dameRelacionesEstadoVista($idVista) +{ + opendb(); + + $query1="Select rs.id_objeto from relacion_estado rs, objeto_consola oc where idVista='".$idVista."' and rs.id_objeto = oc.id_objeto ;"; + $resq1=mysql_query($query1); + + closedb(); + + return $resq1; + +} + +// Funcion que elimina la relacion de estado pasada como argumento +function eliminarRelacionEstado($idRelacion) +{ + + $query_relacion="DELETE from relacion_estado where id_objeto='".$idRelacion."';"; + mysql_query($query_relacion) or die("Failed Query of " . $query_relacion); + +} + +// Funcion que devuelve un 1 si el objeto no esta conectado, y un 0 si si lo está +function esConectadoObjeto($idTipo,$tipo) +{ + $conectado = 1; + + switch ($tipo) { + case "A": //agente + $conectado = comprobarConexionAgente($idTipo); + break; + case "GA": //Grupo Agentes + $conectado=comprobarConexionGrupoAgentes($idTipo); + break; + case "M": //Modulo + $conectado=comprobarConexionModulo($idTipo); + break; + case "GM": //Grupo Modulos + $conectado=comprobarConexionGrupoModulos($idTipo); + break; + case "V": //Vista + $conectado=comprobarConexionVista($idTipo); + break; + } + + + return $conectado; +} + +// Funcion que devuelve un 1 si el modulo no esta conectado, y un 0 si si lo está +function comprobarConexionModulo($idTipo) +{ + $conectado = 1; + + $ahora=date("Y/m/d H:i:s"); + + $sql="SELECT * FROM tagente_modulo WHERE id_agente_modulo = ".$idTipo; + $result=mysql_query($sql); + if ($modulo = mysql_fetch_array($result)){ + $module_interval = $modulo["module_interval"]; + if ($module_interval > 0) + $intervalo_comp = $module_interval; + else { + $sql_agent="SELECT * FROM tagente WHERE id_agente = ".$modulo["id_agente"]; + $result_agent=mysql_query($sql_agent); + if ($agente = mysql_fetch_array($result_agent)){ + $intervalo = $agente["intervalo"]; + } + $intervalo_comp = $intervalo; + } + } + $sql_estado="SELECT * FROM tagente_estado WHERE id_agente = ".$modulo["id_agente"]; + $result_estado=mysql_query($sql_estado); + if ($r_estado = mysql_fetch_array($result_estado)) + $ultimo_contacto_modulo = $r_estado["timestamp"]; + + # Defines if module is down (interval x 2 > time last contact) + if ($ultimo_contacto_modulo != "2000-00-00 00:00:00"){ + $seconds = strtotime($ahora) - strtotime($ultimo_contacto_modulo); + if ($seconds >= ($intervalo_comp*2)){ + $conectado = 1; + }else $conectado = 0; + } + + return $conectado; + +} + + +function comprobarConexionGrupoModulos($id_mg) +{ + + + $query2="SELECT * FROM tagente_modulo WHERE id_module_group in (select id_mg from tmodule_group where id_mg='".$id_mg."') "; + $modulos=mysql_query($query2); + while ($modulo=mysql_fetch_array($modulos)) + { + $modCon = comprobarConexionModulo($modulo["id_agente_modulo"]); + + + if ($modCon == 1) + { + return 1; + + } + + } + return 0; + +} + + +// Funcion que devuelve un 1 si el modulo no esta conectado, y un 0 si si lo está +function comprobarConexionAgente($idTipo) +{ + $conectado = 0; + + $modulos=dameModulos($idTipo); + + while ($modulo=mysql_fetch_array($modulos)) + { + if (comprobarConexionModulo($modulo["id_agente_modulo"]) == 1) + { + $conectado = 1; + } + } + + return $conectado; +} + +function comprobarConexionGrupoAgentes($id_grupo) +{ + + $query2="SELECT * FROM tagente_modulo WHERE id_agente in (select id_agente from tagente where id_grupo='".$id_grupo."') "; + $modulos=mysql_query($query2); + while ($modulo=mysql_fetch_array($modulos)) + { + $modCon = comprobarConexionAgente($idTipo); + if ($modCon == 1) + { + + return 1; + } + + } + return 0; + +} + + + +function comprobarConexionVista($idVista) +{ + $query="Select * from objeto_consola where idVista='".$idVista."';"; + $resq1=mysql_query($query); + while ($objeto_vista=mysql_fetch_array($resq1)) + { + switch ($objeto_vista["tipo"]) { + case "A": //agente + if (comprobarConexionAgente($objeto_vista["id_tipo"]) == 1) return 1; + break; + case "GA": //Grupo Agentes + if ( $sub_estado=comprobarConexionGrupoAgentes($objeto_vista["id_tipo"]) == 1) return 1; + break; + case "M": //Modulo + if ( $sub_estado=comprobarConexionModulo($objeto_vista["id_tipo"]) == 1) return 1; + break; + case "GM": //Grupo Modulos + if ($sub_estado=comprobarConexionGrupoModulos($objeto_vista["id_tipo"]) == 1) return 1; + break; + case "V": //Vista + if ($sub_estado=comprobarConexionVista($objeto_vista["id_tipo"]) == 1) return 1; + break; + } + } + return 0; +} + +// Funcion que devuelve el ultimo valor recogido por el modulo +function ultimoValorModulo($idModulo) +{ + + $query="Select * from tagente_datos where id_agente_modulo='".$idModulo."' order by timestamp desc limit 1;"; + $resq1=mysql_query($query); + $modulo=mysql_fetch_array($resq1); + return $modulo["datos"]; + +} + + + +// Funcion que sustituye el actual icono de un objeto Modulo por su grafica +function setImagenGrafica($idModulo) +{ + + opendb(); + + $query_objeto="UPDATE objeto_consola SET nom_img='grafica' WHERE id_objeto='".$idModulo."';"; + mysql_query($query_objeto) or die("Failed Query of " . $query_objeto);; + + + closedb(); + + +} + +?> \ No newline at end of file diff --git a/pandora_console/operation/active_console/lib/extra_functions.php b/pandora_console/operation/active_console/lib/extra_functions.php new file mode 100644 index 0000000000..2ff6b3737a --- /dev/null +++ b/pandora_console/operation/active_console/lib/extra_functions.php @@ -0,0 +1,240 @@ + + +\""; + while (($file = readdir($dh)) !== false) { + $aFile = explode("." ,$file); + if ($aFile[1] == "png") + { + $aValue= explode("_",$aFile[0]); + $resultado .= "+ \" \""; + } + + } + closedir($dh); + $resultado .= "+ \"\" + + \"
\" + + + + "; + } + } + + return $resultado; + +} + +// Devuelve codigo html que crea una caja de texto con un checkbox. Este checkbox será utilizado cuando se desean añadir un elemento y que automaticamente cree una vista con los subelementos de los que esta compuesto +function dameCheckboxAutoVistas($tipo) +{ +$result=""; + + switch ($tipo) { + case "A": //agente + $result=" + \"
\""; + $result.=" + \"

\""; + break; + case "GA": //Grupo Agentes + $result=" + \"

\""; + $result.=" + \"
\""; + $result.=" + \"

\""; + break; + case "M": //Modulo +// + break; + case "GM": //Grupo Modulos + $result=" + \"

\""; + break; + case "V": //Vista +// + break; + } + + +return $result; + +} + +// function representaEnCaja($datos) +// { +// $resultado=""; +// +// $resultado = "+ \"\" +// + \"
\""; +// +// return $resultado; +// } +// + +function mensaje($msj) +{ +echo "alert('".$msj."');"; +} + + +// Funcion que devuelve la imagen de la gráfica que lo representa +function dameGrafica($idModulo) +{ + global $graphURL; + $origin = time() -3600; + return "$graphURL?tipo=sparse&id=$idModulo&color=40d840&periodo=60&intervalo=12&label=Hourly%20graph&tipo=sparse&id=$idModulo&refresh=30&zoom=100&draw_events=1&origin=$origin"; +} + + +?> diff --git a/pandora_console/operation/active_console/scripts/objeto.php b/pandora_console/operation/active_console/scripts/objeto.php new file mode 100644 index 0000000000..93f12ece3b --- /dev/null +++ b/pandora_console/operation/active_console/scripts/objeto.php @@ -0,0 +1,159 @@ + + + +// object-oriented version - see drag1.php for a procedural version + +function xFenster(eleId, iniX, iniY, barId, resBtnId, maxBtnId) // object prototype +{ + // Private Properties + var me = this; + var ele = xGetElementById(eleId); + var rBtn = xGetElementById(resBtnId); + var mBtn = xGetElementById(maxBtnId); + var x, y, w, h, maximized = false; + // Public Methods + this.onunload = function() + { + if (xIE4Up) { // clear cir refs + xDisableDrag(barId); + xDisableDrag(rBtn); + mBtn.onclick = ele.onmousedown = null; + me = ele = rBtn = mBtn = null; + } + } + this.paint = function() + { + xMoveTo(rBtn, xWidth(ele) - xWidth(rBtn), xHeight(ele) - xHeight(rBtn)); + xMoveTo(mBtn, xWidth(ele) - xWidth(rBtn), 0); + } + // Private Event Listeners + function barOnDrag(e, mdx, mdy) + { + + xMoveTo(ele, xLeft(ele) + mdx, xTop(ele) + mdy); + } +// function resOnDrag(e, mdx, mdy) +// { +// xResizeTo(ele, xWidth(ele) + mdx, xHeight(ele) + mdy); +// me.paint(); +// } + function fenOnDrag(e, mdx, mdy) + { + xMoveTo(ele, xLeft(ele) + mdx, xTop(ele) + mdy); + + var params=eleId.split("_"); + var idObjetoMover=params[2]; + for (var key in aRelacionesObjetos) + { + var objetos=key.split("_"); + var objeto1=objetos[2]; + var objeto2=objetos[3]; + + if (objeto1 == idObjetoMover ) + { +// alert(objetos[0]+objetos[1]+objetos[2]+objetos[3]); + ele2=xGetElementById('fen_'+objetos[1]+'_'+objeto2); + + aRelacionesObjetos[key].clear(); + aRelacionesObjetos[key].drawLine(xLeft(ele) + mdx, xTop(ele) + mdy,xLeft(ele2),xTop(ele2)); + aRelacionesObjetos[key].paint(); + + } else if (objeto2 == idObjetoMover ) + { + ele1=xGetElementById('fen_'+objetos[1]+'_'+objeto1); + + aRelacionesObjetos[key].clear(); + aRelacionesObjetos[key].drawLine(xLeft(ele1),xTop(ele1),xLeft(ele) + mdx, xTop(ele) + mdy); + aRelacionesObjetos[key].paint(); + } + + } + +// var pos = params[i].indexOf("="); +// var name = params[i].substring(0, pos); +// var value = params[i].substring(pos + 1); +// jg.clear(); +// jg.setColor('#ff0000'); // red +// jg.drawLine(10, 113, xLeft(ele) + mdx, xTop(ele) + mdy); // co-ordinates related to 'myCanvas' +// jg.paint(); + + } + function fenOnMousedown() + { + xZIndex(ele, xFenster.z++); + } + +function fenOnMouseup() + { + + } +// function maxOnClick() +// { +// if (maximized) { +// maximized = false; +// xResizeTo(ele, w, h); +// xMoveTo(ele, x, y); +// } +// else { +// w = xWidth(ele); +// h = xHeight(ele); +// x = xLeft(ele); +// y = xTop(ele); +// xMoveTo(ele, xScrollLeft(), xScrollTop()); +// maximized = true; +// xResizeTo(ele, xClientWidth(), xClientHeight()); +// } +// me.paint(); +// } + + this.dameX=function() + { + return xLeft(ele); + } + this.dameY=function() + { + return xTop(ele); + } + + + this.dameCentroX=function() + { + posicion = xLeft(ele) + (xWidth(ele)/2); + return posicion ; // xWidth siempre da 0 con lo que hace imposible calcular el centro .. es un problema que hay que solucionar + } + this.dameCentroY=function() + { + posicion = xTop(ele) + (xHeight(ele)/2); + return posicion; // xHeight siempre da 0 con lo que hace imposible calcular el centro.. es un problema que hay que solucionar + } + + // Constructor Code + xFenster.z++; + xMoveTo(ele, iniX, iniY); + this.paint(); + xEnableDrag(barId, null, barOnDrag, null); +// xEnableDrag(rBtn, null, resOnDrag, null); + xEnableDrag(ele, null, fenOnDrag, null); +// mBtn.onclick = maxOnClick; + ele.onmousedown = fenOnMousedown; + ele.onmouseup = fenOnMouseup; + xShow(ele); +} // end xFenster object prototype + +xFenster.z = 0; // xFenster static property + diff --git a/pandora_console/operation/active_console/scripts/onunload.php b/pandora_console/operation/active_console/scripts/onunload.php new file mode 100644 index 0000000000..32d4834680 --- /dev/null +++ b/pandora_console/operation/active_console/scripts/onunload.php @@ -0,0 +1,147 @@ + + + + + + +function getCookieVal (offset) { +var endstr = document.cookie.indexOf (";", offset); +if (endstr == -1) +endstr = document.cookie.length; +return unescape(document.cookie.substring(offset, endstr)); +} + +function GetCookie (name) { +var arg = name + "="; +var alen = arg.length; +var clen = document.cookie.length; +var i = 0; +while (i < clen) { +var j = i + alen; +if (document.cookie.substring(i, j) == arg) +return getCookieVal (j); +i = document.cookie.indexOf(" ", i) + 1; +if (i == 0) break; +} +return null; +} + +function SetCookie (name, value) { +var argv = SetCookie.arguments; +var argc = SetCookie.arguments.length; +var expires = (argc > 2) ? argv[2] : null; +var path = (argc > 3) ? argv[3] : null; +var domain = (argc > 4) ? argv[4] : null; +var secure = (argc > 5) ? argv[5] : false; +document.cookie = name + "=" + escape (value) + +((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + +((path == null) ? "" : ("; path=" + path)) + +((domain == null) ? "" : ("; domain=" + domain)) + +((secure == true) ? "; secure" : ""); +} + +function setCookieEstado() +{ + + + + if ((getLeftMenu(3)>0) || (getTopMenu(3)>0)) + { + menuX=getLeftMenu(3); + menuY=getTopMenu(3); + }else + { + menuX=getLeftMenu(2); + menuY=getTopMenu(2); + } + nomCookie="estado"; + + + + + if (selectedIndex) + { + vistaActiva=selectedIndex; + } + else + { + vistaActiva=0; + } + + resultEstado = 'vista_activa='+vistaActiva+'x'+relacionPestaVista[vistaActiva]+'&modo='+modo+'&menu='+menuX+'x'+menuY+'&perfil_activo='+perfil; + SetCookie (nomCookie ,resultEstado); +} + + + + +function guardarEstado() +{ + var expdate = new Date() + expdate.setTime(expdate.getTime() + (24 * 60 * 60 * 1000 * 31)); + + + + +} + + + diff --git a/pandora_console/operation/active_console/scripts/wz_jsgraphics.js b/pandora_console/operation/active_console/scripts/wz_jsgraphics.js new file mode 100644 index 0000000000..e91ddb5097 --- /dev/null +++ b/pandora_console/operation/active_console/scripts/wz_jsgraphics.js @@ -0,0 +1,943 @@ +/* This notice must be untouched at all times. + +wz_jsgraphics.js v. 2.36 +The latest version is available at +http://www.walterzorn.com +or http://www.devira.com +or http://www.walterzorn.de + +Copyright (c) 2002-2004 Walter Zorn. All rights reserved. +Created 3. 11. 2002 by Walter Zorn (Web: http://www.walterzorn.com ) +Last modified: 21. 6. 2006 + +Performance optimizations for Internet Explorer +by Thomas Frank and John Holdsworth. +fillPolygon method implemented by Matthieu Haller. + +High Performance JavaScript Graphics Library. +Provides methods +- to draw lines, rectangles, ellipses, polygons + with specifiable line thickness, +- to fill rectangles and ellipses +- to draw text. +NOTE: Operations, functions and branching have rather been optimized +to efficiency and speed than to shortness of source code. + +LICENSE: LGPL + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License (LGPL) as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA, +or see http://www.gnu.org/copyleft/lesser.html +*/ + + +var jg_ihtm, jg_ie, jg_fast, jg_dom, jg_moz, +jg_n4 = (document.layers && typeof document.classes != "undefined"); + + +function chkDHTM(x, i) +{ + x = document.body || null; + jg_ie = x && typeof x.insertAdjacentHTML != "undefined"; + jg_dom = (x && !jg_ie && + typeof x.appendChild != "undefined" && + typeof document.createRange != "undefined" && + typeof (i = document.createRange()).setStartBefore != "undefined" && + typeof i.createContextualFragment != "undefined"); + jg_ihtm = !jg_ie && !jg_dom && x && typeof x.innerHTML != "undefined"; + jg_fast = jg_ie && document.all && !window.opera; + jg_moz = jg_dom && typeof x.style.MozOpacity != "undefined"; +} + + +function pntDoc() +{ + this.wnd.document.write(jg_fast? this.htmRpc() : this.htm); + this.htm = ''; +} + + +function pntCnvDom() +{ + var x = this.wnd.document.createRange(); + x.setStartBefore(this.cnv); + x = x.createContextualFragment(jg_fast? this.htmRpc() : this.htm); + if(this.cnv) this.cnv.appendChild(x); + this.htm = ''; +} + + +function pntCnvIe() +{ + if(this.cnv) this.cnv.insertAdjacentHTML("BeforeEnd", jg_fast? this.htmRpc() : this.htm); + this.htm = ''; +} + + +function pntCnvIhtm() +{ + if(this.cnv) this.cnv.innerHTML += this.htm; + this.htm = ''; +} + + +function pntCnv() +{ + this.htm = ''; +} + + +function mkDiv(x, y, w, h) +{ + this.htm += '
<\/div>'; +} + + +function mkDivIe(x, y, w, h) +{ + this.htm += '%%'+this.color+';'+x+';'+y+';'+w+';'+h+';'; +} + + +function mkDivPrt(x, y, w, h) +{ + this.htm += '
<\/div>'; +} + + +function mkLyr(x, y, w, h) +{ + this.htm += '<\/layer>\n'; +} + + +var regex = /%%([^;]+);([^;]+);([^;]+);([^;]+);([^;]+);/g; +function htmRpc() +{ + return this.htm.replace( + regex, + '
\n'); +} + + +function htmPrtRpc() +{ + return this.htm.replace( + regex, + '
\n'); +} + + +function mkLin(x1, y1, x2, y2) +{ + if (x1 > x2) + { + var _x2 = x2; + var _y2 = y2; + x2 = x1; + y2 = y1; + x1 = _x2; + y1 = _y2; + } + var dx = x2-x1, dy = Math.abs(y2-y1), + x = x1, y = y1, + yIncr = (y1 > y2)? -1 : 1; + + if (dx >= dy) + { + var pr = dy<<1, + pru = pr - (dx<<1), + p = pr-dx, + ox = x; + while ((dx--) > 0) + { + ++x; + if (p > 0) + { + this.mkDiv(ox, y, x-ox, 1); + y += yIncr; + p += pru; + ox = x; + } + else p += pr; + } + this.mkDiv(ox, y, x2-ox+1, 1); + } + + else + { + var pr = dx<<1, + pru = pr - (dy<<1), + p = pr-dy, + oy = y; + if (y2 <= y1) + { + while ((dy--) > 0) + { + if (p > 0) + { + this.mkDiv(x++, y, 1, oy-y+1); + y += yIncr; + p += pru; + oy = y; + } + else + { + y += yIncr; + p += pr; + } + } + this.mkDiv(x2, y2, 1, oy-y2+1); + } + else + { + while ((dy--) > 0) + { + y += yIncr; + if (p > 0) + { + this.mkDiv(x++, oy, 1, y-oy); + p += pru; + oy = y; + } + else p += pr; + } + this.mkDiv(x2, oy, 1, y2-oy+1); + } + } +} + + +function mkLin2D(x1, y1, x2, y2) +{ + if (x1 > x2) + { + var _x2 = x2; + var _y2 = y2; + x2 = x1; + y2 = y1; + x1 = _x2; + y1 = _y2; + } + var dx = x2-x1, dy = Math.abs(y2-y1), + x = x1, y = y1, + yIncr = (y1 > y2)? -1 : 1; + + var s = this.stroke; + if (dx >= dy) + { + if (dx > 0 && s-3 > 0) + { + var _s = (s*dx*Math.sqrt(1+dy*dy/(dx*dx))-dx-(s>>1)*dy) / dx; + _s = (!(s-4)? Math.ceil(_s) : Math.round(_s)) + 1; + } + else var _s = s; + var ad = Math.ceil(s/2); + + var pr = dy<<1, + pru = pr - (dx<<1), + p = pr-dx, + ox = x; + while ((dx--) > 0) + { + ++x; + if (p > 0) + { + this.mkDiv(ox, y, x-ox+ad, _s); + y += yIncr; + p += pru; + ox = x; + } + else p += pr; + } + this.mkDiv(ox, y, x2-ox+ad+1, _s); + } + + else + { + if (s-3 > 0) + { + var _s = (s*dy*Math.sqrt(1+dx*dx/(dy*dy))-(s>>1)*dx-dy) / dy; + _s = (!(s-4)? Math.ceil(_s) : Math.round(_s)) + 1; + } + else var _s = s; + var ad = Math.round(s/2); + + var pr = dx<<1, + pru = pr - (dy<<1), + p = pr-dy, + oy = y; + if (y2 <= y1) + { + ++ad; + while ((dy--) > 0) + { + if (p > 0) + { + this.mkDiv(x++, y, _s, oy-y+ad); + y += yIncr; + p += pru; + oy = y; + } + else + { + y += yIncr; + p += pr; + } + } + this.mkDiv(x2, y2, _s, oy-y2+ad); + } + else + { + while ((dy--) > 0) + { + y += yIncr; + if (p > 0) + { + this.mkDiv(x++, oy, _s, y-oy+ad); + p += pru; + oy = y; + } + else p += pr; + } + this.mkDiv(x2, oy, _s, y2-oy+ad+1); + } + } +} + + +function mkLinDott(x1, y1, x2, y2) +{ + if (x1 > x2) + { + var _x2 = x2; + var _y2 = y2; + x2 = x1; + y2 = y1; + x1 = _x2; + y1 = _y2; + } + var dx = x2-x1, dy = Math.abs(y2-y1), + x = x1, y = y1, + yIncr = (y1 > y2)? -1 : 1, + drw = true; + if (dx >= dy) + { + var pr = dy<<1, + pru = pr - (dx<<1), + p = pr-dx; + while ((dx--) > 0) + { + if (drw) this.mkDiv(x, y, 1, 1); + drw = !drw; + if (p > 0) + { + y += yIncr; + p += pru; + } + else p += pr; + ++x; + } + if (drw) this.mkDiv(x, y, 1, 1); + } + + else + { + var pr = dx<<1, + pru = pr - (dy<<1), + p = pr-dy; + while ((dy--) > 0) + { + if (drw) this.mkDiv(x, y, 1, 1); + drw = !drw; + y += yIncr; + if (p > 0) + { + ++x; + p += pru; + } + else p += pr; + } + if (drw) this.mkDiv(x, y, 1, 1); + } +} + + +function mkOv(left, top, width, height) +{ + var a = width>>1, b = height>>1, + wod = width&1, hod = (height&1)+1, + cx = left+a, cy = top+b, + x = 0, y = b, + ox = 0, oy = b, + aa = (a*a)<<1, bb = (b*b)<<1, + st = (aa>>1)*(1-(b<<1)) + bb, + tt = (bb>>1) - aa*((b<<1)-1), + w, h; + while (y > 0) + { + if (st < 0) + { + st += bb*((x<<1)+3); + tt += (bb<<1)*(++x); + } + else if (tt < 0) + { + st += bb*((x<<1)+3) - (aa<<1)*(y-1); + tt += (bb<<1)*(++x) - aa*(((y--)<<1)-3); + w = x-ox; + h = oy-y; + if (w&2 && h&2) + { + this.mkOvQds(cx, cy, -x+2, ox+wod, -oy, oy-1+hod, 1, 1); + this.mkOvQds(cx, cy, -x+1, x-1+wod, -y-1, y+hod, 1, 1); + } + else this.mkOvQds(cx, cy, -x+1, ox+wod, -oy, oy-h+hod, w, h); + ox = x; + oy = y; + } + else + { + tt -= aa*((y<<1)-3); + st -= (aa<<1)*(--y); + } + } + this.mkDiv(cx-a, cy-oy, a-ox+1, (oy<<1)+hod); + this.mkDiv(cx+ox+wod, cy-oy, a-ox+1, (oy<<1)+hod); +} + + +function mkOv2D(left, top, width, height) +{ + var s = this.stroke; + width += s-1; + height += s-1; + var a = width>>1, b = height>>1, + wod = width&1, hod = (height&1)+1, + cx = left+a, cy = top+b, + x = 0, y = b, + aa = (a*a)<<1, bb = (b*b)<<1, + st = (aa>>1)*(1-(b<<1)) + bb, + tt = (bb>>1) - aa*((b<<1)-1); + + if (s-4 < 0 && (!(s-2) || width-51 > 0 && height-51 > 0)) + { + var ox = 0, oy = b, + w, h, + pxl, pxr, pxt, pxb, pxw; + while (y > 0) + { + if (st < 0) + { + st += bb*((x<<1)+3); + tt += (bb<<1)*(++x); + } + else if (tt < 0) + { + st += bb*((x<<1)+3) - (aa<<1)*(y-1); + tt += (bb<<1)*(++x) - aa*(((y--)<<1)-3); + w = x-ox; + h = oy-y; + + if (w-1) + { + pxw = w+1+(s&1); + h = s; + } + else if (h-1) + { + pxw = s; + h += 1+(s&1); + } + else pxw = h = s; + this.mkOvQds(cx, cy, -x+1, ox-pxw+w+wod, -oy, -h+oy+hod, pxw, h); + ox = x; + oy = y; + } + else + { + tt -= aa*((y<<1)-3); + st -= (aa<<1)*(--y); + } + } + this.mkDiv(cx-a, cy-oy, s, (oy<<1)+hod); + this.mkDiv(cx+a+wod-s+1, cy-oy, s, (oy<<1)+hod); + } + + else + { + var _a = (width-((s-1)<<1))>>1, + _b = (height-((s-1)<<1))>>1, + _x = 0, _y = _b, + _aa = (_a*_a)<<1, _bb = (_b*_b)<<1, + _st = (_aa>>1)*(1-(_b<<1)) + _bb, + _tt = (_bb>>1) - _aa*((_b<<1)-1), + + pxl = new Array(), + pxt = new Array(), + _pxb = new Array(); + pxl[0] = 0; + pxt[0] = b; + _pxb[0] = _b-1; + while (y > 0) + { + if (st < 0) + { + st += bb*((x<<1)+3); + tt += (bb<<1)*(++x); + pxl[pxl.length] = x; + pxt[pxt.length] = y; + } + else if (tt < 0) + { + st += bb*((x<<1)+3) - (aa<<1)*(y-1); + tt += (bb<<1)*(++x) - aa*(((y--)<<1)-3); + pxl[pxl.length] = x; + pxt[pxt.length] = y; + } + else + { + tt -= aa*((y<<1)-3); + st -= (aa<<1)*(--y); + } + + if (_y > 0) + { + if (_st < 0) + { + _st += _bb*((_x<<1)+3); + _tt += (_bb<<1)*(++_x); + _pxb[_pxb.length] = _y-1; + } + else if (_tt < 0) + { + _st += _bb*((_x<<1)+3) - (_aa<<1)*(_y-1); + _tt += (_bb<<1)*(++_x) - _aa*(((_y--)<<1)-3); + _pxb[_pxb.length] = _y-1; + } + else + { + _tt -= _aa*((_y<<1)-3); + _st -= (_aa<<1)*(--_y); + _pxb[_pxb.length-1]--; + } + } + } + + var ox = 0, oy = b, + _oy = _pxb[0], + l = pxl.length, + w, h; + for (var i = 0; i < l; i++) + { + if (typeof _pxb[i] != "undefined") + { + if (_pxb[i] < _oy || pxt[i] < oy) + { + x = pxl[i]; + this.mkOvQds(cx, cy, -x+1, ox+wod, -oy, _oy+hod, x-ox, oy-_oy); + ox = x; + oy = pxt[i]; + _oy = _pxb[i]; + } + } + else + { + x = pxl[i]; + this.mkDiv(cx-x+1, cy-oy, 1, (oy<<1)+hod); + this.mkDiv(cx+ox+wod, cy-oy, 1, (oy<<1)+hod); + ox = x; + oy = pxt[i]; + } + } + this.mkDiv(cx-a, cy-oy, 1, (oy<<1)+hod); + this.mkDiv(cx+ox+wod, cy-oy, 1, (oy<<1)+hod); + } +} + + +function mkOvDott(left, top, width, height) +{ + var a = width>>1, b = height>>1, + wod = width&1, hod = height&1, + cx = left+a, cy = top+b, + x = 0, y = b, + aa2 = (a*a)<<1, aa4 = aa2<<1, bb = (b*b)<<1, + st = (aa2>>1)*(1-(b<<1)) + bb, + tt = (bb>>1) - aa2*((b<<1)-1), + drw = true; + while (y > 0) + { + if (st < 0) + { + st += bb*((x<<1)+3); + tt += (bb<<1)*(++x); + } + else if (tt < 0) + { + st += bb*((x<<1)+3) - aa4*(y-1); + tt += (bb<<1)*(++x) - aa2*(((y--)<<1)-3); + } + else + { + tt -= aa2*((y<<1)-3); + st -= aa4*(--y); + } + if (drw) this.mkOvQds(cx, cy, -x, x+wod, -y, y+hod, 1, 1); + drw = !drw; + } +} + + +function mkRect(x, y, w, h) +{ + var s = this.stroke; + this.mkDiv(x, y, w, s); + this.mkDiv(x+w, y, s, h); + this.mkDiv(x, y+h, w+s, s); + this.mkDiv(x, y+s, s, h-s); +} + + +function mkRectDott(x, y, w, h) +{ + this.drawLine(x, y, x+w, y); + this.drawLine(x+w, y, x+w, y+h); + this.drawLine(x, y+h, x+w, y+h); + this.drawLine(x, y, x, y+h); +} + + +function jsgFont() +{ + this.PLAIN = 'font-weight:normal;'; + this.BOLD = 'font-weight:bold;'; + this.ITALIC = 'font-style:italic;'; + this.ITALIC_BOLD = this.ITALIC + this.BOLD; + this.BOLD_ITALIC = this.ITALIC_BOLD; +} +var Font = new jsgFont(); + + +function jsgStroke() +{ + this.DOTTED = -1; +} +var Stroke = new jsgStroke(); + + +function jsGraphics(id, wnd) +{ + this.setColor = new Function('arg', 'this.color = arg.toLowerCase();'); + + this.setStroke = function(x) + { + this.stroke = x; + if (!(x+1)) + { + this.drawLine = mkLinDott; + this.mkOv = mkOvDott; + this.drawRect = mkRectDott; + } + else if (x-1 > 0) + { + this.drawLine = mkLin2D; + this.mkOv = mkOv2D; + this.drawRect = mkRect; + } + else + { + this.drawLine = mkLin; + this.mkOv = mkOv; + this.drawRect = mkRect; + } + }; + + + this.setPrintable = function(arg) + { + this.printable = arg; + if (jg_fast) + { + this.mkDiv = mkDivIe; + this.htmRpc = arg? htmPrtRpc : htmRpc; + } + else this.mkDiv = jg_n4? mkLyr : arg? mkDivPrt : mkDiv; + }; + + + this.setFont = function(fam, sz, sty) + { + this.ftFam = fam; + this.ftSz = sz; + this.ftSty = sty || Font.PLAIN; + }; + + + this.drawPolyline = this.drawPolyLine = function(x, y, s) + { + for (var i=0 ; i>1, b = (h -= 1)>>1, + wod = (w&1)+1, hod = (h&1)+1, + cx = left+a, cy = top+b, + x = 0, y = b, + ox = 0, oy = b, + aa2 = (a*a)<<1, aa4 = aa2<<1, bb = (b*b)<<1, + st = (aa2>>1)*(1-(b<<1)) + bb, + tt = (bb>>1) - aa2*((b<<1)-1), + pxl, dw, dh; + if (w+1) while (y > 0) + { + if (st < 0) + { + st += bb*((x<<1)+3); + tt += (bb<<1)*(++x); + } + else if (tt < 0) + { + st += bb*((x<<1)+3) - aa4*(y-1); + pxl = cx-x; + dw = (x<<1)+wod; + tt += (bb<<1)*(++x) - aa2*(((y--)<<1)-3); + dh = oy-y; + this.mkDiv(pxl, cy-oy, dw, dh); + this.mkDiv(pxl, cy+y+hod, dw, dh); + ox = x; + oy = y; + } + else + { + tt -= aa2*((y<<1)-3); + st -= aa4*(--y); + } + } + this.mkDiv(cx-a, cy-oy, w+1, (oy<<1)+hod); + }; + + +/* fillPolygon method, implemented by Matthieu Haller. +This javascript function is an adaptation of the gdImageFilledPolygon for Walter Zorn lib. +C source of GD 1.8.4 found at http://www.boutell.com/gd/ + +THANKS to Kirsten Schulz for the polygon fixes! + +The intersection finding technique of this code could be improved +by remembering the previous intertersection, and by using the slope. +That could help to adjust intersections to produce a nice +interior_extrema. */ + this.fillPolygon = function(array_x, array_y) + { + var i; + var y; + var miny, maxy; + var x1, y1; + var x2, y2; + var ind1, ind2; + var ints; + + var n = array_x.length; + + if (!n) return; + + + miny = array_y[0]; + maxy = array_y[0]; + for (i = 1; i < n; i++) + { + if (array_y[i] < miny) + miny = array_y[i]; + + if (array_y[i] > maxy) + maxy = array_y[i]; + } + for (y = miny; y <= maxy; y++) + { + var polyInts = new Array(); + ints = 0; + for (i = 0; i < n; i++) + { + if (!i) + { + ind1 = n-1; + ind2 = 0; + } + else + { + ind1 = i-1; + ind2 = i; + } + y1 = array_y[ind1]; + y2 = array_y[ind2]; + if (y1 < y2) + { + x1 = array_x[ind1]; + x2 = array_x[ind2]; + } + else if (y1 > y2) + { + y2 = array_y[ind1]; + y1 = array_y[ind2]; + x2 = array_x[ind1]; + x1 = array_x[ind2]; + } + else continue; + + // modified 11. 2. 2004 Walter Zorn + if ((y >= y1) && (y < y2)) + polyInts[ints++] = Math.round((y-y1) * (x2-x1) / (y2-y1) + x1); + + else if ((y == maxy) && (y > y1) && (y <= y2)) + polyInts[ints++] = Math.round((y-y1) * (x2-x1) / (y2-y1) + x1); + } + polyInts.sort(integer_compare); + for (i = 0; i < ints; i+=2) + this.mkDiv(polyInts[i], y, polyInts[i+1]-polyInts[i]+1, 1); + } + }; + + + this.drawString = function(txt, x, y) + { + this.htm += '
'+ + txt + + '<\/div>'; + }; + + +/* drawStringRect() added by Rick Blommers. +Allows to specify the size of the text rectangle and to align the +text both horizontally (e.g. right) and vertically within that rectangle */ + this.drawStringRect = function(txt, x, y, width, halign) + { + this.htm += '
'+ + txt + + '<\/div>'; + }; + + + this.drawImage = function(imgSrc, x, y, w, h, a) + { + this.htm += '
'+ + ''+ + '<\/div>'; + }; + + + this.clear = function() + { + this.htm = ""; + if (this.cnv) this.cnv.innerHTML = this.defhtm; + }; + + + this.mkOvQds = function(cx, cy, xl, xr, yt, yb, w, h) + { + this.mkDiv(xr+cx, yt+cy, w, h); + this.mkDiv(xr+cx, yb+cy, w, h); + this.mkDiv(xl+cx, yb+cy, w, h); + this.mkDiv(xl+cx, yt+cy, w, h); + }; + + this.setStroke(1); + this.setFont('verdana,geneva,helvetica,sans-serif', String.fromCharCode(0x31, 0x32, 0x70, 0x78), Font.PLAIN); + this.color = '#000000'; + this.htm = ''; + this.wnd = wnd || window; + + if (!(jg_ie || jg_dom || jg_ihtm)) chkDHTM(); + if (typeof id != 'string' || !id) this.paint = pntDoc; + else + { + this.cnv = document.all? (this.wnd.document.all[id] || null) + : document.getElementById? (this.wnd.document.getElementById(id) || null) + : null; + this.defhtm = (this.cnv && this.cnv.innerHTML)? this.cnv.innerHTML : ''; + this.paint = jg_dom? pntCnvDom : jg_ie? pntCnvIe : jg_ihtm? pntCnvIhtm : pntCnv; + } + + this.setPrintable(false); +} + + + +function integer_compare(x,y) +{ + return (x < y) ? -1 : ((x > y)*1); +} + diff --git a/pandora_console/include/styles/cb/x_core.js b/pandora_console/operation/active_console/scripts/x_core.js similarity index 100% rename from pandora_console/include/styles/cb/x_core.js rename to pandora_console/operation/active_console/scripts/x_core.js diff --git a/pandora_console/include/styles/cb/x_dom.js b/pandora_console/operation/active_console/scripts/x_dom.js similarity index 100% rename from pandora_console/include/styles/cb/x_dom.js rename to pandora_console/operation/active_console/scripts/x_dom.js diff --git a/pandora_console/include/styles/cb/x_drag.js b/pandora_console/operation/active_console/scripts/x_drag.js similarity index 100% rename from pandora_console/include/styles/cb/x_drag.js rename to pandora_console/operation/active_console/scripts/x_drag.js diff --git a/pandora_console/include/styles/cb/x_event.js b/pandora_console/operation/active_console/scripts/x_event.js similarity index 100% rename from pandora_console/include/styles/cb/x_event.js rename to pandora_console/operation/active_console/scripts/x_event.js diff --git a/pandora_console/include/styles/cb/x_slide.js b/pandora_console/operation/active_console/scripts/x_slide.js similarity index 100% rename from pandora_console/include/styles/cb/x_slide.js rename to pandora_console/operation/active_console/scripts/x_slide.js diff --git a/pandora_console/operation/active_console/scripts/xformulario.js b/pandora_console/operation/active_console/scripts/xformulario.js new file mode 100644 index 0000000000..05860ad00a --- /dev/null +++ b/pandora_console/operation/active_console/scripts/xformulario.js @@ -0,0 +1,65 @@ +// + +function FormSetup() +{ + +var cBtn = xGetElementById('formCerrBtn'); +var xForm = xGetElementById('xForm'); + +posLeft = 0; +posTop = 0; + +if (xClientWidth()>xWidth(xForm)) +{ +posLeft = xClientWidth()/2 -xWidth(xForm)/2; +} + +if (xClientHeight()>xHeight(xForm)) +{ +posTop = xClientHeight()/2 -xHeight(xForm)/2 +} + + xMoveTo('xForm',posLeft ,posTop); +formPaint(); + xEnableDrag('xFormBar', formOnDragStart, formOnDrag, null); + xZIndex('xForm', highZ++); + cBtn.onclick = cBtnOnClick; + xShow('xForm'); +} +function formPaint() +{ + var xForm = xGetElementById('xForm'); + var cBtn = xGetElementById('formCerrBtn'); + xMoveTo(cBtn, xWidth(xForm) - xWidth(cBtn), 0); + +} +function formOnDragStart(ele, mx, my) +{ + xZIndex('xForm', highZ++); +} +function formOnDrag(ele, mdx, mdy) +{ + xMoveTo('xForm', xLeft('xForm') + mdx, xTop('xForm') + mdy); +} +function cBtnOnClick() +{ +var cBtn = xGetElementById('formCerrBtn'); +var xForm = xGetElementById('xForm'); +xHide(xForm); + +} diff --git a/pandora_console/operation/active_console/scripts/xformulario_html.php b/pandora_console/operation/active_console/scripts/xformulario_html.php new file mode 100644 index 0000000000..6706188d8b --- /dev/null +++ b/pandora_console/operation/active_console/scripts/xformulario_html.php @@ -0,0 +1,899 @@ + + + + + +function insertFormulario(tipo) +{ + + +if (tipo == 'nuevo_agente') +{ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" ++ "

" + +"

" ++ "

Agentes disponibles:

" + + +\""; + while ($row=mysql_fetch_array($nomAgente)){ +// Antigua implementacion, lo dejo porque puede ser util para borrados utilizarlo como borrados multiples +// echo " + \"
\""; + + + + echo "+ \" \""; + } + echo "+ \"
\""; + + + + echo " + + \"
\" + + \" \" + + \"

\" + "; + + echo dameCajaImagenes("../imagenes/"); + + echo dameCheckboxAutoVistas("A"); + + +?> ++ "
" ++ " " ++ "
" + ++"
" ++ "

" ++ "
" ++ "
"); + + +} + +else if (tipo == 'nuevo_modulo'){ + +document.write( + +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" + +"
" ++ "

" +".$row_agente['nombre']."
\""; + $nomModulo = dameModulos($row_agente['id_agente']); + + echo " + \"
\""; + + + echo "+ \"
\""; + + echo "+ \" \""; + } + echo "+ \"
\""; + echo "+ \"
\""; + } + echo " + + \"
\" + + \" \" + + \"

\" + "; + + echo dameCajaImagenes("../imagenes/"); +?> + ++ "
" ++ " " ++ "

" ++"
" ++ "
" ++ "
"); + +}else if (tipo == 'nuevo_grupoAgente'){ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" + +"
" ++ "

" +\""; + while ($row=mysql_fetch_array($nomgrupoAgente)){ + echo "+ \" \""; + // echo " + \"
\""; + } + echo "+ \"
\""; + + echo " + + \"
\" + + \" \" + + \"

\" + "; + + + echo dameCajaImagenes("../imagenes/"); + echo dameCheckboxAutoVistas("GA"); + echo "+ \"
\" + + \" \""; + }else + { + echo " + + \"
\" + + \" \" + + \"

\" + "; + } + + + + + +?> ++ "

" ++"
" ++ "
" ++ "
"); + +} +else if (tipo == 'nuevo_grupoModulo'){ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" + +"
" ++ "

" + 0) + { + echo " + \"
\""; + + + echo "+ \"\""; +// +// echo "+ \"
\""; + } + + + // Recorro los grupos de modulos del agente + while ($rowGModulo=mysql_fetch_array($gruposM)){ + + // Creo el title con los nombres de los modulos que pertenecen a ese determinado grupo y agente + $modulos=dameModulosDelGrupoModulosAgente($row_agente['id_agente'],$rowGModulo['id_mg']); + $title="Los modulos de este grupo son: "; + while ($rowModulo=mysql_fetch_array($modulos)){ + $title=$title." ".$rowModulo["nombre"].";"; + } + + echo "+ \" \""; + +// echo "+ \"
\""; + + } + echo "+ \"
\""; + echo "+ \"
\""; + + } + + echo " + + \"
\" + + \" \" + + \"

\" + "; + + echo dameCajaImagenes("../imagenes/"); + echo dameCheckboxAutoVistas("GM"); +?> + ++ "
" ++ " " ++ "

" ++"
" ++ "
" ++ "
"); + +} +else if (tipo == 'guardar_vista'){ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" + +"
" ++ "

" ++ "
" ++ " " ++ "
" ++ "
" ++ " " + ++ "
" ++ "
" ++ " " ++ "

" ++"
" ++ "
" ++ "
"); + +} +else if (tipo == 'nueva_vista'){ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" + +"
" ++ "

" ++ "
" ++ " " ++ "
" ++ "
" ++ " " + ++ "
" ++ "
" ++ " " ++ "

" ++"
" ++ "
" ++ "
"); + +} + +else if (tipo == 'nuevo_perfil'){ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" + +"
" ++ "

" ++ "
" ++ " " ++ "
" ++ "
" ++ " " + ++ "
" ++ "
" ++ " " ++ "

" ++"
" ++ "
" ++ "
"); + +}else if (tipo == 'abrir_perfil') +{ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" ++ "

" + +"

" ++ "

Perfiles disponibles:

" + + +
\""; + } + +?> ++ "
" ++ " " ++ "
" + ++"
" ++ "

" ++ "
" ++ "
"); +} + + +else if (tipo == 'editar_objetos') +{ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" ++ "

" + +"

" ++ "

Objetos disponibles:

" + + +\""; + while ($objeto =mysql_fetch_array($objetos)){ + $nom_obj = dameNombreObjeto($objeto['id_tipo'],$objeto['tipo']); + echo "+ \" \""; + +// echo " + \"
\""; + } + echo "+ \"
\""; +?> ++ "
" ++ " " ++ "
" + ++"
" ++ "

" ++ "
" ++ "
"); +} +else if (tipo == 'eliminar_objeto') +{ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" ++ "

" + +"

" ++ "

Objetos disponibles:

" + + +\""; + while ($objeto =mysql_fetch_array($objetos)){ + $nom_obj = dameNombreObjeto($objeto['id_tipo'],$objeto['tipo']); + echo "+ \" \""; + +// echo " + \"
\""; + } + echo "+ \"
\""; + +?> ++ "
" ++ " " ++ "
" + ++"
" ++ "

" ++ "
" ++ "
"); +} +else if (tipo == 'eliminar_vista') +{ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" ++ "

" + +"

" ++ "

Vista que desea eliminar:

" + + +
\""; + } + +?> ++ "
" ++ " " ++ "
" + ++"
" ++ "

" ++ "
" ++ "
"); +} +else if (tipo == 'editar_vista') +{ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" ++ "

" + +"

" ++ "

Vista que desea editar:

" + + +
\""; + } + +?> ++ "
" ++ " " ++ "
" + ++"
" ++ "

" ++ "
" ++ "
"); +} + +else if (tipo == 'editar_perfil') +{ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" ++ "

" + +"

" +Edicion del Perfil:

\" ++ \"\" ++ \"

\" ++ \"
\" ++ \" \" ++ \"
\" ++ \"
\" ++ \" \" + ++ \"
\" + +"; +?> + ++ "
" ++ " " ++ "
" + ++"

" ++ "

" ++ "
" ++ "
"); +} +else if (tipo == 'eliminar_perfil') +{ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" ++ "

" + +"

" ++ "

Perfil a eliminar:

" + + +
\""; + } + +?> ++ "
" ++ " " ++ "
" + ++"
" ++ "

" ++ "
" ++ "
"); +} +else if (tipo == 'convertir_vista') +{ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" ++ "

" + +"

" ++ "

Vista en la que desea adjuntar el objeto:

" + +\" + + + \"
\""; + } + } + + echo " + + \"
\" + + \" \" + + \"

\" + "; + echo dameCajaImagenes("../imagenes/"); + +?> ++ "
" ++ " " ++ "
" ++ " " + ++"
" ++ "

" ++ "
" ++ "
"); +} +else if (tipo == 'abrir_vista') +{ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" ++ "

" + +"

" ++ "

Vista que desea abrir:

" + +
\""; + } + + } + +?> + ++ "
" ++ " " ++ "
" + + ++"
" ++ "

" ++ "
" ++ "
"); +} + +else if (tipo == 'nuevo_objetoVista') +{ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" ++ "

" + +"

" ++ "

Vista que desea representar como objeto:

" + +\" + + + \"
\""; + } + } + + echo " + + \"
\" + + \" \" + + \"

\" + "; + + echo dameCajaImagenes("../imagenes/"); + + +?> + ++ "
" ++ " " + + ++"
" ++ "

" ++ "
" ++ "
"); +} +else if (tipo == 'relacionar_objetos') +{ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" ++ "

" + +"

" ++ "

Objeto1 de la relacion:

" + + +
\""; + } + +?> + ++ "

Objeto2 de la relacion:

" + + +
\""; + } + +?> ++ "
" ++ " " ++ "
" + ++"
" ++ "

" ++ "
" ++ "
"); +} +else if (tipo == 'eliminar_relacion') +{ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" ++ "

" + +"

" ++ "

Relaciones de esta Vista:

" + + +
\""; + } +?> + + ++ "
" ++ " " ++ "
" + ++"
" ++ "

" ++ "
" ++ "
"); +} +else if (tipo == 'relacionar_estado') +{ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" ++ "

" + +"

" ++ "

Objeto a configurar su estado:

" + + +\""; + while ($objeto =mysql_fetch_array($objetos)){ + $nom_obj = dameNombreObjeto($objeto['id_tipo'],$objeto['tipo']); + echo "+ \" \""; + } + echo "+ \"
\""; + + + + +?> + ++ "

Objetos que pueden influenciar en el estado del objeto anterior:

" + + +\""; + while ($objeto =mysql_fetch_array($objetos)){ + $nom_obj = dameNombreObjeto($objeto['id_tipo'],$objeto['tipo']); + echo "+ \" \""; + } + echo "+ \"
\""; + +?> + ++ "

Tipo de relacion:

" ++ "

Expresion de estado:
Operadores Validos:
+ = OR
* = AND
! = NOT" ++ "
" ++ "
" ++ " " ++ "
" + ++"

" ++ "

" ++ "
" ++ "
"); +} +else if (tipo == 'eliminar_relacion_estado') +{ + +document.write( +"
" ++ "
X
" ++ "
FORMULARIO
" ++ "
" ++ "

" + +"

" ++ "

Relaciones de esta Vista:

" + + +
\""; + } +?> + + ++ "
" ++ " " ++ "
" + ++"
" ++ "

" ++ "
" ++ "
"); +} + +} \ No newline at end of file diff --git a/pandora_console/operation/active_console/scripts/xmenu2.js b/pandora_console/operation/active_console/scripts/xmenu2.js new file mode 100644 index 0000000000..4fd828665a --- /dev/null +++ b/pandora_console/operation/active_console/scripts/xmenu2.js @@ -0,0 +1,267 @@ +// xMenu2 +// Copyright (C) 2002,2003,2004,2005 Michael Foster (cross-browser.com) +// X and xMenu2 are distributed under the terms of the LGPL (gnu.org) + +// + +var menu1, menu2, menu3, menu4; + +var antScrollTop = 0; +var antScrollLeft = 0; +var menuLeft = 0; +var menuTop = 0; + + + + +// function resizeListener(e) { +// if (xOp6Dn || xNN4) location.replace(location.href); +// else { +// menu1.paint(); +// menu2.paint(xClientWidth() - 75, 20); +// menu3.paint(0, xClientHeight() - 60); +// menu4.paint(xClientWidth()-(3*75), xClientHeight()-20); +// } +// } +function scrollListener(e) { +var scrollTop = xScrollTop(); +var scrollLeft = xScrollLeft(); + + var i,y; + for (i=0; i < xFloatingMenus.length; ++i) { + if (xFloatingMenus[i]) { + + xFloatingMenus[i].x = xLeft('menu' + xFloatingMenus[i].n); + xFloatingMenus[i].y = xTop('menu' + xFloatingMenus[i].n); +var posicionTop = scrollTop - antScrollTop + xTop('menu' + xFloatingMenus[i].n); +var posicionLeft = scrollLeft - antScrollLeft + xLeft('menu' + xFloatingMenus[i].n); + +//alert (xLeft('menu' + xFloatingMenus[i].n) + " " + xScrollLeft()); + +// -- Mejorar estoooooo para que no se quede atras +//if ((xLeft('menu3') < xScrollLeft()) && (i == 3)) xMove('menu3',xScrollLeft(),xTop('menu3')); + + +xSlideTo('menu' + xFloatingMenus[i].n, posicionLeft, posicionTop ,300); + + + //alert (xScrollTop() + " " + xTop('menu' + xFloatingMenus[i].n)); +// y = xScrollTop(); +// if (y <= xFloatingMenus[i].y) y += xFloatingMenus[i].y; +// else if (i && xFloatingMenus[i].hz) y += xHeight('menu' + xFloatingMenus[i-1].n); + // xSlideTo('menu' + xFloatingMenus[i].n, xFloatingMenus[i].x, xFloatingMenus[i].y, 500); +// +// + + + } + } + +antScrollTop = scrollTop; +antScrollLeft = scrollLeft; + +// parMenuLeft=posicionLeft; +// parMenuTop=posicionTop; + +// xSlideTo('menu3', xLeft('menu3'), xTop('menu3') + xScrollTop(), 500); + +} + +//// menu implementation + +var xFloatingMenus = new Array(), xTotalMenus=0, xActiveMenu=null; + +function xMenu2( + absolute, horizontal, floating, menuX, menuY, menuZ, lblOffset, + lblWidthsArray, lblHeight, boxWidthsArray, + activeColor, inactiveColor, + activeBkgnd, inactiveBkgnd, + boxBkgnd +) { + // properties + this.n = ++xTotalMenus; + this.abs = absolute; + this.hz = horizontal; + this.flt = floating; + this.x = menuX; + this.y = menuY; + this.z = menuZ; + this.lblW = lblWidthsArray; + this.lblH = lblHeight; + this.lblOfs = lblOffset; + this.boxW = boxWidthsArray; + this.ac = activeColor; + this.ic = inactiveColor; + this.ab = activeBkgnd; + this.ib = inactiveBkgnd; + this.bb = boxBkgnd; + this.active = null; + // methods + this.paint = function(menuX, menuY) { + var i=1, x, y, mnu, lbl, box; + mnu = xGetElementById('menu'+this.n); + if (!mnu) return; + xZIndex(mnu, this.z); + if (this.hz) { +// xResizeTo(mnu,xClientWidth(),this.lblH); +// xBackground(mnu, this.ib); + y = 0; + x = this.lblOfs; + } + else { + y = this.lblOfs; + x = 0; + } + if (arguments.length > 1) { + this.x = menuX; + this.y = menuY; + } + if (this.abs) { + if (arguments.length > 1) { + if (this.flt) xMoveTo(mnu, xScrollLeft() + menuX, xScrollTop() + menuY); + else xMoveTo(mnu, menuX, menuY); + } + } + lbl = xGetElementById('label'+this.n+""+i); + while (lbl) { + xResizeTo(lbl, this.lblW[i-1], this.lblH); + xMoveTo(lbl, x, y); + xColor(lbl, this.ic); + xBackground(lbl, this.ib); + xShow(lbl); + lbl.menu = this; + if (arguments.length==3) xAddEventListener(lbl, 'mouseover', menuShowListener, false); + lbl.box = xGetElementById('box'+this.n+""+i); + if (lbl.box) { + xWidth(lbl.box, this.boxW[i-1]); + var bx, by; + if (this.hz) { // horizontal + if (xPageX(lbl) + this.boxW[i-1] > xScrollLeft() + xClientWidth()) { bx = x - (this.boxW[i-1] - this.lblW[i-1]); } + else { bx = x; } + if (xPageY(lbl) + this.lblH + xHeight(lbl.box) > xScrollTop() + xClientHeight()) { by = y - xHeight(lbl.box); } + else { by = y + this.lblH; } + } + else { // vertical + if (xPageX(lbl) + this.lblW[i-1] + this.boxW[i-1] > xScrollLeft() + xClientWidth()) { bx = x - this.boxW[i-1]; } + else { bx = x + this.lblW[i-1]; } + if (xPageY(lbl) + xHeight(lbl.box) > xScrollTop() + xClientHeight()) { by = y + this.lblH - xHeight(lbl.box); } + else { by = y; } + } + xMoveTo(lbl.box, bx, by); + lbl.box.lbl = lbl; + xZIndex(lbl, i); + xZIndex(lbl.box, i); + xBackground(lbl.box, this.bb); + xHide(lbl.box); + } + if (this.hz) x += this.lblW[i-1]; + else y += this.lblH; + lbl = xGetElementById('label'+this.n+""+(++i)); // for next iteration + } + +// xAddEventListener(mnu, 'mousedown', movimiento, false); + xEnableDrag(mnu, d2OnDragStart, d2OnDrag, null); + xShow(mnu); + } + +//alert(menuLeft + " " + menuTop); + // constructor code +// this.paint(this.x, this.y, 'init'); +this.paint(parseInt(menuLeft),parseInt(menuTop), 'init'); + if (this.flt) xFloatingMenus[this.n-1] = this; +} + +// function movimiento() +// { +// mnu = xGetElementById('menu'+this.n); +// xMoveTo(this, 200, 100); +// } + +function d2OnDragStart(ele, mx, my) +{ + + xZIndex(this, highZ++); + +} +function d2OnDrag(ele, mdx, mdy) +{ + + xMoveTo(this, xLeft(this) + mdx, xTop(this) + mdy); + +} +function menuShowListener(e) { + var evt = new xEvent(e); + var lbl = evt.target; + while (lbl && !lbl.menu) { lbl = xParent(lbl); } + if (!lbl) return; + var menu = lbl.menu; + if (!menu) return; + if (menu.active) { + if (menu.active == lbl) return; + xHide(menu.active.box); + xColor(menu.active, menu.ic); + xBackground(menu.active, menu.ib); + if (menu.active.box.lbl.className) menu.active.box.lbl.className = 'mLabel'; // experiment + } + if (xActiveMenu && xActiveMenu != menu) { menuHide(xActiveMenu); } + if (menu.hz && xNN4) { // hack! + xBackground('menu'+menu.n,null); + xResizeTo('menu'+menu.n,xClientWidth(),xClientHeight()); + } + if (lbl.className) lbl.className = 'mLabelOver'; // experiment + xShow(lbl.box); + xColor(lbl, menu.ac); + xBackground(lbl, menu.ab); + menu.active = lbl; + xActiveMenu = menu; +} +var tmr; +function menuHideListener(e) { + var evt = new xEvent(e); + var ele = evt.target; + while (ele && !ele.lbl && !ele.box) { ele = xParent(ele); } + if (xActiveMenu && xActiveMenu.active && !ele && !tmr) tmr = setTimeout('menuHide()', 500); // experiment + else if (ele && tmr) {clearTimeout(tmr); tmr = null;} // experiment + +// if (xActiveMenu && xActiveMenu.active && !ele) menuHide(xActiveMenu); +} +function menuHide(menu) { + + if (!menu) menu = xActiveMenu; // experiment + if (!menu || !menu.active || !menu.active.box) return; + + xHide(menu.active.box); + xColor(menu.active, menu.ic); + xBackground(menu.active, menu.ib); + if (menu.active.box.lbl.className) menu.active.box.lbl.className = 'mLabel'; // experiment + menu.active = null; + xActiveMenu = null; + if (menu.hz && xNN4) { // hack! + xResizeTo('menu'+menu.n,xClientWidth(),menu.lblH + 2); + xBackground('menu'+menu.n, menu.ib); + } +} + +function xName(e) { + if (!e) return e; + else if (e.id && e.id != "") return e.id; + else if (e.nodeName && e.nodeName != "") return e.nodeName; + else if (e.tagName && e.tagName != "") return e.tagName; + else return e; +} + diff --git a/pandora_console/operation/active_console/scripts/xmenu2_html.js b/pandora_console/operation/active_console/scripts/xmenu2_html.js new file mode 100644 index 0000000000..366d6d11de --- /dev/null +++ b/pandora_console/operation/active_console/scripts/xmenu2_html.js @@ -0,0 +1,152 @@ +// + + + var parMenuLeft; + var parMenuTop; + + +function insertMenu(n,p) { +if (n == '3') +{ +// MENU EDICION + +document.write("" +); // end document.write() + +}else{ + +// MENU MONITOR + +document.write("" +); // end document.write() + +} + +} // end insertMenu() + +function cambioModo(nuevoModo) +{ + +modo=nuevoModo; + +location.href = location.pathname+"?mode="+nuevoModo; +} + +function abrirFormulario(formulario) +{ +location.href = location.pathname+"?mode="+modo+"&formulario="+formulario; +} + +function hrefGenerator(n,hrefDst) +{ +menu = xGetElementById('menu'+n); +parMenuLeft=xLeft(menu); +parMenuTop=xTop(menu); + +location.href = location.pathname+hrefDst+"&menuLeft="+parMenuLeft+"&menuTop="+parMenuTop ; + +} + +function getLeftMenu(n) +{ +menu = xGetElementById('menu'+n); +return xLeft(menu); + +} + +function getTopMenu(n) +{ +menu = xGetElementById('menu'+n); +return xTop(menu); + +} + diff --git a/pandora_console/include/styles/cb/lib/xtabpanelgroup.js b/pandora_console/operation/active_console/scripts/xtabpanelgroup.js similarity index 64% rename from pandora_console/include/styles/cb/lib/xtabpanelgroup.js rename to pandora_console/operation/active_console/scripts/xtabpanelgroup.js index 860b1754b1..0c40eef78f 100644 --- a/pandora_console/include/styles/cb/lib/xtabpanelgroup.js +++ b/pandora_console/operation/active_console/scripts/xtabpanelgroup.js @@ -1,6 +1,24 @@ // xTabPanelGroup, Copyright 2005 Michael Foster (Cross-Browser.com) // Part of X, a Cross-Browser Javascript Library, Distributed under the terms of the GNU LGPL + +// + function xTabPanelGroup(id, w, h, th, clsTP, clsTG, clsTD, clsTS) // object prototype { // Private Methods @@ -52,7 +70,7 @@ function xTabPanelGroup(id, w, h, th, clsTP, clsTG, clsTD, clsTS) // object prot var tabs = xGetElementsByClassName(clsTD, panelGrp); var tabGrp = xGetElementsByClassName(clsTG, panelGrp); if (!panels || !tabs || !tabGrp || panels.length != tabs.length || tabGrp.length != 1) { return null; } - var selectedIndex = 0, highZ, x = 0, i; + selectedIndex = 0, highZ, x = 0, i; xResizeTo(panelGrp, w, h); xResizeTo(tabGrp[0], w, th); xMoveTo(tabGrp[0], 0, 0); diff --git a/pandora_console/operation/active_console/styles/main.css b/pandora_console/operation/active_console/styles/main.css new file mode 100644 index 0000000000..8219cfdab5 --- /dev/null +++ b/pandora_console/operation/active_console/styles/main.css @@ -0,0 +1,384 @@ + +html { + margin:0; padding:0; +} +body { + font-family:verdana,arial,sans-serif,helvetica; font-size:12px; + color:#000; background:#bba; + margin:0; padding:0; +} +p { + font-family:verdana,arial,sans-serif,helvetica; font-size:12px; + color:#000000; background:#ffffff; +} +h1 { + font-family:verdana,arial,sans-serif,helvetica; font-size:14px; + color:#333; background:#cc9; font-style:normal; text-align:center; + margin:0 0 1.2em 0; padding:0; +} +h2 { + font-family:verdana,arial,sans-serif,helvetica; font-size:14px; + color:#333; background:#ffffff; font-style:italic; + margin:0 0 1em 0; +} +h3 { + font-family:verdana,arial,sans-serif,helvetica; font-size:10px; + color:#333; background:#ffffff; font-style:normal; + margin:0 0 1em 0; +} + +a { + font-family:verdana,arial,helvetica,sans-serif; font-size:12px; + color:#000; +} +a:link, a:active { + font-family:verdana,arial,helvetica,sans-serif; font-size:12px; + color:#000; +} +a:visited { + font-family:verdana,arial,helvetica,sans-serif; font-size:12px; + color:#666; +} +a:hover { + font-family:verdana,arial,helvetica,sans-serif; font-size:12px; + color:#fff; background:#999; + text-decoration:none; +} + +a.m { + font-family:verdana,arial,helvetica,sans-serif; font-size:10px; + color:#000; + margin:0; padding:0; + display:block; text-decoration:none; cursor:default; +} +a.m:link, a.m:active { + font-family:verdana,arial,helvetica,sans-serif; font-size:10px; + color:#000; + margin:0; padding:0; + display:block; text-decoration:none; cursor:default; +} +a.m:visited { + font-family:verdana,arial,helvetica,sans-serif; font-size:10px; + color:#666; + margin:0; padding:0; + display:block; text-decoration:none; cursor:default; +} +a.m:hover { + font-family:verdana,arial,helvetica,sans-serif; font-size:10px; + color:#fff; background:#999; + margin:0; padding:0; + display:block; text-decoration:none; cursor:default; +} + +.rMenu { + position:relative; visibility:visible; overflow:visible; + background:#cc9; + margin:0; padding:0; + text-align:left; + height:20px; + z-index:1; + + border-left:1px outset #ccc; + border-top:1px outset #ccc; + border-right:1px solid #333; + border-bottom:1px solid #333; + +} +.aMenu { + position:absolute; visibility:hidden; overflow:visible; + margin:0; padding:0 2px 0 0; + text-align:left; + z-index:1; + + border-left:1px outset #ccc; + border-top:1px outset #ccc; + border-right:1px solid #333; + border-bottom:1px solid #333; + +} +.mLabel { + position:absolute; visibility:hidden; overflow:hidden; + margin:0; padding:2px; + cursor:default; + border-left:1px outset #ccc; + border-top:1px outset #ccc; + border-right:1px solid #333; + border-bottom:1px solid #333; +} +.mLabelOver { + position:absolute; visibility:hidden; overflow:hidden; + margin:0; padding:2px; + cursor:default; + border-left:1px outset #333; + border-top:1px outset #333; + border-right:1px solid #ccc; + border-bottom:1px solid #ccc; +} +.mBox { + position:absolute; visibility:hidden; overflow:hidden; + margin:0; padding:4px 2px 4px 2px; + cursor:default; + width:auto; /* wrapping col for nn4, over-ride in page-specific css */ + line-height:1.25em; + border-left:1px solid #ccc; + border-top:1px solid #ccc; + border-right:1px solid #333; + border-bottom:1px solid #333; +} + +#header { + margin:20px 80px 0px 80px; + padding:0; +} +#banner { + margin:0; padding:6px 4px; + background:#333; +} +.section { + margin:0px 80px 20px 80px; + padding:10px; + font-family:verdana,arial,sans-serif,helvetica; + font-size:12px; color:#000000; background:#ffffff; +} + +.demoBar { + overflow:hidden; + font-size:x-small; + height:1.2em; + margin:0; + padding:1px; + font-weight:bold; + color:#000; + background:#596380; + cursor:default; +} + +.demoBox { + position:absolute; + overflow:hidden; + visibility:hidden; + width:200px; + margin:0; + padding:0; + font-size:x-small; + color:#000; + background:#FFFFFF; + cursor:default; + border:1px solid #596380; +} +.demoBar { + overflow:hidden; + font-size:x-small; + height:1.2em; + margin:0; + padding:1px; + font-weight:bold; + color:#000; + background:#596380; + cursor:default; +} +.demoBtn { + position:absolute; + overflow:hidden; + font-size:x-small; + width:1.2em; + height:1.2em; + margin:0; + padding:0; + color:#000; + background:#FFFFFF; + cursor:default; +} +.demoContent { + margin:10px; +} +.noLink {text-decoration:none; color:black} + + +.fenster { + position:absolute; + visibility:hidden; + overflow:hidden; +/*En la propiedad width habrá que utilizar javascript o darle valor dinamicamente con php, ya que con el valor auto, IE no dimensiona bien, y no soporta max-width, thanx billy!!*/ + width:auto; + margin:0; + padding:0; + font-size:x-small; + color:#000; + background:#FFF; + cursor:default; + border:1px solid #596380; +z-index:10; + +} +.fenBar { + overflow:hidden; + font-size:x-small; + height:1.8em; + margin:0; + padding:1px; + font-weight:bold; + color:#000; +/* background:#596380 ; */ + cursor:default; +} +/*.fenMaxBtn { + position:absolute; + overflow:hidden; + font-size:x-small; + width:1.2em; + height:1.2em; + margin:0; + padding:0; + color:#000; + background:#BF8660; + cursor:default; +} +.fenResBtn { + position:absolute; + overflow:hidden; + font-size:x-small; + width:1.2em; + height:1.2em; + margin:0; + padding:0; + color:#000; + background:#596380; + cursor:default; +}*/ +.fenContent { + margin:10px; +} + + + + + + + +/* + xTabPanelGroup Demo + default css +*/ + +.tabPanelGroup { + margin:10px; padding:0; + border:1px solid #CFD4E6; +} +.tabPanel { + margin:0; padding:10px; + color:#000; background:#CFD4E6; +} +.tabGroup { + margin:0; padding:0; +} +.tabDefault { + margin:0; padding:2px; + background:#FFF; +} +.tabSelected { + margin:0; padding:2px; + color:#000; background:#CFD4E6; +} + + +/* + xTabPanelGroup Demo + dynamic css +*/ + +.tabPanelGroup { + position:relative; overflow:hidden; +} +.tabPanel { + position:absolute; overflow:auto; + display:none; +} +.tabGroup { + position:absolute; overflow:hidden; +} + +.tabGroup a.tabDefault:link, +.tabGroup a.tabDefault:visited, +.tabGroup a.tabDefault:active, +/* .tabGroup a.tabDefault:hover, */ +.tabDefault { + position:absolute; overflow:hidden; + cursor:pointer; + text-align:center; + border-top:none; + border-left:1px solid #CFD4E6; + border-right:1px solid #CFD4E6; + border-bottom:1px solid #596380; + background:#FFF; + text-decoration:none; +} +.tabGroup a.tabDefault:hover, +.tabDefault:hover { + position:absolute; overflow:hidden; + cursor:pointer; + text-align:center; + border-top:none; + border-left:1px solid #CFD4E6; + border-right:1px solid #CFD4E6; + border-bottom:1px solid #596380; + background:#FFF; + text-decoration:none; +} + +.tabGroup a.tabSelected:link, +.tabGroup a.tabSelected:visited, +.tabGroup a.tabSelected:active, +.tabGroup a.tabSelected:hover, +.tabSelected { + position:absolute; overflow:hidden; + cursor:pointer; + text-align:center; + border-top:2px solid #596380; + border-right:2px solid #596380; + border-bottom:1px solid #CFD4E6; + border-left:2px solid #596380; + background:#CFD4E6; + text-decoration:none; +} + +span.linkDelim { + display:none; +} + +/* +a.tabDefault:link, +a.tabDefault:visited, +a.tabDefault:active { + display:block; + position:absolute; overflow:hidden; + cursor:pointer; + text-align:center; + border-top:none; + border-left:1px solid #CFD4E6; + border-right:1px solid #CFD4E6; + border-bottom:1px solid #596380; +} +.tabGroup a.tabSelected:link, +.tabGroup a.tabSelected:visited, +.tabGroup a.tabSelected:active, +.tabGroup a.tabSelected:hover { + display:block; + position:absolute; overflow:hidden; + cursor:pointer; + text-align:center; + border-top:1px solid #596380; + border-right:1px solid #596380; + border-bottom:1px solid #CFD4E6; + border-left:1px solid #596380; +} + + +a.tabGroup:link, +a.tabGroup:visited, +a.tabGroup:active { + background:transparent; +} +*/ + + diff --git a/pandora_console/operation/menu.php b/pandora_console/operation/menu.php index 27abf226eb..b2ba99c68e 100644 --- a/pandora_console/operation/menu.php +++ b/pandora_console/operation/menu.php @@ -23,7 +23,6 @@ if (! isset($_SESSION["id_usuario"])) { return; } - ?>
@@ -75,6 +74,12 @@ if (give_acl($_SESSION["id_usuario"], 0, "AR")==1) { echo "
"; } + // Active console + echo '
'; + echo '
'; + + // Server view if ( isset($_GET["sec2"]) && $_GET["sec2"] == "operation/servers/view_server") echo '
'; else diff --git a/pandora_console/pandora_graphical_console.INSTALL b/pandora_console/pandora_graphical_console.INSTALL new file mode 100644 index 0000000000..ff3401e38a --- /dev/null +++ b/pandora_console/pandora_graphical_console.INSTALL @@ -0,0 +1,21 @@ +INSTALACIÓN +----------- + +Para instalar la consola Web, seguir los siguientes pasos: + +1) Copia toda la carpeta de la consola en el directorio raiz de tu servidor web (/var/www) +2) Ejecuta el script pandora_console.sql y pandora_console_data.sql sobre la base de datos de pandora. +3) Dentro de la carpeta lib se encuentran dos scripts php (db_functions.php y extra_functions.php), al principio de estos archivos se encuentran variables necesarias para el correcto funcionamiento. + + +Solución de problemas conocidos +------------------------------- + +1) A veces ocurre que php viene configurado para que controle todos los errores y warnings a un nivel demasiado ruidoso, incluyendo codigo que hace que las páginas html no sean validas, visualizandose todo el codigo javascript en vez de la consola. +Para solucionarlo debes configurar el php.ini para que los informes de error no sean demasiado ruidosos. Para ello configura la variable llamada error_reporting. +Se ha probado que funciona con estos niveles: + +error_reporting = E_ALL & ~E_NOTICE +error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR + + diff --git a/pandora_console/pandora_graphical_console.sql b/pandora_console/pandora_graphical_console.sql new file mode 100644 index 0000000000..70e77fcd47 --- /dev/null +++ b/pandora_console/pandora_graphical_console.sql @@ -0,0 +1,114 @@ +-- MySQL dump 10.10 +-- +-- Host: localhost Database: pandora +-- ------------------------------------------------------ +-- Server version 5.0.24a-Debian_9-log + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `estado_consola` +-- + +DROP TABLE IF EXISTS `estado_consola`; +CREATE TABLE `estado_consola` ( + `id_usuario` varchar(50) NOT NULL, + `idPerfilActivo` int(5) NOT NULL, + `idVistaActiva` int(5) NOT NULL, + `menuX` int(5) NOT NULL, + `menuY` int(5) NOT NULL, + PRIMARY KEY (`id_usuario`) +) ENGINE=MyISAM ; + +-- +-- Table structure for table `objeto_consola` +-- + +DROP TABLE IF EXISTS `objeto_consola`; +CREATE TABLE `objeto_consola` ( + `id_objeto` int(5) NOT NULL auto_increment, + `nom_img` varchar(50) NOT NULL, + `tipo` varchar(2) NOT NULL, + `left` int(5) NOT NULL, + `top` int(5) NOT NULL, + `id_tipo` varchar(20) NOT NULL, + `idVista` int(5) NOT NULL, + PRIMARY KEY (`id_objeto`) +) ENGINE=MyISAM AUTO_INCREMENT=2 ; + +-- +-- Table structure for table `perfil` +-- + +DROP TABLE IF EXISTS `perfil`; +CREATE TABLE `perfil` ( + `idPerfil` int(5) NOT NULL auto_increment, + `Nombre` varchar(50) NOT NULL, + `Descripcion` varchar(250) NOT NULL, + PRIMARY KEY (`idPerfil`) +) ENGINE=MyISAM AUTO_INCREMENT=2 ; + +-- +-- Table structure for table `perfil_vista` +-- + +DROP TABLE IF EXISTS `perfil_vista`; +CREATE TABLE `perfil_vista` ( + `idPerfil` int(5) NOT NULL, + `idVista` int(5) NOT NULL, + `activa` tinyint(1) NOT NULL default '1', + PRIMARY KEY (`idPerfil`,`idVista`) +) ENGINE=MyISAM ; + +-- +-- Table structure for table `relacion_estado` +-- + +DROP TABLE IF EXISTS `relacion_estado`; +CREATE TABLE `relacion_estado` ( + `id_objeto` int(5) NOT NULL, + `relacion` varchar(50) NOT NULL, + PRIMARY KEY (`id_objeto`) +) ENGINE=MyISAM ; + +-- +-- Table structure for table `relacion_objetos` +-- + +DROP TABLE IF EXISTS `relacion_objetos`; +CREATE TABLE `relacion_objetos` ( + `idObjeto1` int(5) NOT NULL, + `idObjeto2` int(5) NOT NULL, + PRIMARY KEY (`idObjeto1`,`idObjeto2`) +) ENGINE=MyISAM ; + +-- +-- Table structure for table `vistas_consola` +-- + +DROP TABLE IF EXISTS `vistas_consola`; +CREATE TABLE `vistas_consola` ( + `idVista` int(5) NOT NULL auto_increment, + `nombre` varchar(50) NOT NULL, + `descripcion` varchar(250) NOT NULL, + PRIMARY KEY (`idVista`) +) ENGINE=MyISAM AUTO_INCREMENT=1 ; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + diff --git a/pandora_console/pandora_graphical_console_data.sql b/pandora_console/pandora_graphical_console_data.sql new file mode 100644 index 0000000000..aae77e21d8 --- /dev/null +++ b/pandora_console/pandora_graphical_console_data.sql @@ -0,0 +1,100 @@ +-- MySQL dump 10.10 +-- +-- Host: localhost Database: pandora +-- ------------------------------------------------------ +-- Server version 5.0.24a-Debian_9-log + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Dumping data for table `estado_consola` +-- + + +/*!40000 ALTER TABLE `estado_consola` DISABLE KEYS */; +LOCK TABLES `estado_consola` WRITE; +INSERT INTO `estado_consola` VALUES ('admin',1,1,100,100); +UNLOCK TABLES; +/*!40000 ALTER TABLE `estado_consola` ENABLE KEYS */; + +-- +-- Dumping data for table `objeto_consola` +-- + + +/*!40000 ALTER TABLE `objeto_consola` DISABLE KEYS */; +LOCK TABLES `objeto_consola` WRITE; +UNLOCK TABLES; +/*!40000 ALTER TABLE `objeto_consola` ENABLE KEYS */; + +-- +-- Dumping data for table `perfil` +-- + + +/*!40000 ALTER TABLE `perfil` DISABLE KEYS */; +LOCK TABLES `perfil` WRITE; +INSERT INTO `perfil` VALUES (1,'perfil por defecto','perfil por defecto'); +UNLOCK TABLES; +/*!40000 ALTER TABLE `perfil` ENABLE KEYS */; + +-- +-- Dumping data for table `perfil_vista` +-- + + +/*!40000 ALTER TABLE `perfil_vista` DISABLE KEYS */; +LOCK TABLES `perfil_vista` WRITE; +INSERT INTO `perfil_vista` VALUES (1,1,1); +UNLOCK TABLES; +/*!40000 ALTER TABLE `perfil_vista` ENABLE KEYS */; + +-- +-- Dumping data for table `relacion_estado` +-- + + +/*!40000 ALTER TABLE `relacion_estado` DISABLE KEYS */; +LOCK TABLES `relacion_estado` WRITE; +UNLOCK TABLES; +/*!40000 ALTER TABLE `relacion_estado` ENABLE KEYS */; + +-- +-- Dumping data for table `relacion_objetos` +-- + + +/*!40000 ALTER TABLE `relacion_objetos` DISABLE KEYS */; +LOCK TABLES `relacion_objetos` WRITE; +UNLOCK TABLES; +/*!40000 ALTER TABLE `relacion_objetos` ENABLE KEYS */; + +-- +-- Dumping data for table `vistas_consola` +-- + + +/*!40000 ALTER TABLE `vistas_consola` DISABLE KEYS */; +LOCK TABLES `vistas_consola` WRITE; +INSERT INTO `vistas_consola` VALUES (1,'Main Board',''); +UNLOCK TABLES; +/*!40000 ALTER TABLE `vistas_consola` ENABLE KEYS */; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; +