diff --git a/Sankore_3.1.pro b/Sankore_3.1.pro index e6a69f4e..b9ddcd8f 100644 --- a/Sankore_3.1.pro +++ b/Sankore_3.1.pro @@ -7,7 +7,7 @@ CONFIG += debug_and_release \ no_include_pwd VERSION_MAJ = 1 -VERSION_MIN = 11 +VERSION_MIN = 13 VERSION_TYPE = b # a = alpha, b = beta, r = release, other => error VERSION_PATCH = 00 diff --git a/resources/i18n/sankore_fr_CH.qm b/resources/i18n/sankore_fr_CH.qm new file mode 100644 index 00000000..755966c1 Binary files /dev/null and b/resources/i18n/sankore_fr_CH.qm differ diff --git a/resources/i18n/sankore_fr_CH.ts b/resources/i18n/sankore_fr_CH.ts new file mode 100644 index 00000000..d50189a0 --- /dev/null +++ b/resources/i18n/sankore_fr_CH.ts @@ -0,0 +1,2640 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="fr_FR"> +<context> + <name>BlackoutWidget</name> + <message> + <source>Click to Return to Application</source> + <translation>Cliquer pour activer Sankoré</translation> + </message> + <message> + <source>background: url(:/images/bigUniboard.png); border: none;</source> + <translation></translation> + </message> +</context> +<context> + <name>DownloadDialog</name> + <message> + <source>Downloads</source> + <translation>Téléchargements</translation> + </message> + <message> + <source>Clean Up</source> + <translation>Nettoyer</translation> + </message> + <message> + <source>0 Items</source> + <translation>0 éléments</translation> + </message> +</context> +<context> + <name>DownloadItem</name> + <message> + <source>Form</source> + <translation>Formulaire</translation> + </message> + <message> + <source>Filename</source> + <translation>Nom de fichier</translation> + </message> + <message> + <source>Try Again</source> + <translation>Réessayer</translation> + </message> + <message> + <source>Stop</source> + <translation>Stop</translation> + </message> + <message> + <source>Open</source> + <translation>Ouvrir</translation> + </message> + <message> + <source>Ico</source> + <translation></translation> + </message> +</context> +<context> + <name>IntranetPodcastPublishingDialog</name> + <message> + <source>Publish Podcast to YouTube</source> + <translation type="unfinished">Publier le Podcast sur YouTube</translation> + </message> + <message> + <source>Title</source> + <translation>Titre</translation> + </message> + <message> + <source>Description</source> + <translation>Description</translation> + </message> + <message> + <source>Author</source> + <translation>Auteur</translation> + </message> +</context> +<context> + <name>MainWindow</name> + <message> + <source>Uniboard</source> + <translation type="unfinished">Sankoré</translation> + </message> + <message> + <source>Board</source> + <translation>Tableau</translation> + </message> + <message> + <source>Stylus</source> + <translation>Stylet</translation> + </message> + <message> + <source>Backgrounds</source> + <translation>Fonds</translation> + </message> + <message> + <source>Undo</source> + <translation>Annuler</translation> + </message> + <message> + <source>Redo</source> + <translation>Rétablir</translation> + </message> + <message> + <source>Previous</source> + <translation>Précédente</translation> + </message> + <message> + <source>PgUp</source> + <translation>PgUp</translation> + </message> + <message> + <source>Next</source> + <translation>Suivante</translation> + </message> + <message> + <source>PgDown</source> + <translation>PgDown</translation> + </message> + <message> + <source>Documents</source> + <translation>Documents</translation> + </message> + <message> + <source>Web</source> + <translation>Web</translation> + </message> + <message> + <source>Ctrl+T</source> + <translation>Ctrl+T</translation> + </message> + <message> + <source>Grid Light Background</source> + <translation>Grille sur fond clair</translation> + </message> + <message> + <source>Grid Dark Background</source> + <translation>Grille sur fond foncé</translation> + </message> + <message> + <source>Start Screen Recording</source> + <translation type="unfinished">Démarrer l'enregistrement de l'écran</translation> + </message> + <message> + <source>Marker</source> + <translation>Marqueur</translation> + </message> + <message> + <source>Selector</source> + <translation>Sélecteur</translation> + </message> + <message> + <source>Hand</source> + <translation>Main</translation> + </message> + <message> + <source>Zoom In</source> + <translation>Zoom avant</translation> + </message> + <message> + <source>Zoom Out</source> + <translation>Zoom arrière</translation> + </message> + <message> + <source>Text</source> + <translation>Texte</translation> + </message> + <message> + <source>Capture</source> + <translation>Capture</translation> + </message> + <message> + <source>Add To Current Page</source> + <translation>Ajouter à la page courante</translation> + </message> + <message> + <source>Add To New Page</source> + <translation>Ajouter sur une nouvelle page</translation> + </message> + <message> + <source>Add To Library</source> + <translation>Ajouter à la bibliothèque</translation> + </message> + <message> + <source>Pages</source> + <translation>Pages</translation> + </message> + <message> + <source>New Page</source> + <translation>Nouvelle page</translation> + </message> + <message> + <source>Configure Podcast Recording</source> + <translation>Configurer podcast</translation> + </message> + <message> + <source>Flash Trap</source> + <translation>Capture Flash</translation> + </message> + <message> + <source>Trap Flash Content</source> + <translation type="unfinished">Capturer Flash</translation> + </message> + <message> + <source>Web Trap</source> + <translation>Capture Web</translation> + </message> + <message> + <source>Trap Web Content</source> + <translation>Capturer contenu web</translation> + </message> + <message> + <source>Window Capture</source> + <translation>Capture d'une fenêtre</translation> + </message> + <message> + <source>Show on Display</source> + <translation>Montrer sur l'écran de projection</translation> + </message> + <message> + <source>Ctrl+D</source> + <translation>Ctrl+D</translation> + </message> + <message> + <source>Ctrl+W</source> + <translation>Ctrl+W</translation> + </message> + <message> + <source>Line</source> + <translation>Trait</translation> + </message> + <message> + <source>Quit</source> + <translation>Quitter</translation> + </message> + <message> + <source>Pen</source> + <translation>Stylet</translation> + </message> + <message> + <source>Eraser</source> + <translation>Gomme</translation> + </message> + <message> + <source>Change Background</source> + <translation>Changer le fond d'écran</translation> + </message> + <message> + <source>Previous Page</source> + <translation>Page précédente</translation> + </message> + <message> + <source>Next Page</source> + <translation>Page suivante</translation> + </message> + <message> + <source>Manage Documents</source> + <translation>Gérer les documents</translation> + </message> + <message> + <source>Web Browsing</source> + <translation type="unfinished">Parcourir le Web</translation> + </message> + <message> + <source>Small Line</source> + <translation type="unfinished">Ligne fine</translation> + </message> + <message> + <source>Medium Line</source> + <translation>Ligne moyenne</translation> + </message> + <message> + <source>Large Line</source> + <translation type="unfinished">Ligne large</translation> + </message> + <message> + <source>Smalle Eraser</source> + <translation type="unfinished">Gomme fine</translation> + </message> + <message> + <source>Medium Eraser</source> + <translation>Gomme moyenne</translation> + </message> + <message> + <source>Large Eraser</source> + <translation>Gomme large</translation> + </message> + <message> + <source>Color</source> + <translation>Couleur</translation> + </message> + <message> + <source>Back</source> + <translation>Précédente</translation> + </message> + <message> + <source>Left</source> + <translation>Gauche</translation> + </message> + <message> + <source>Forward</source> + <translation>Suivante</translation> + </message> + <message> + <source>Right</source> + <translation>Droite</translation> + </message> + <message> + <source>Reload</source> + <translation>Rafraîchir</translation> + </message> + <message> + <source>Reload Current Page</source> + <translation>Rafraîchir la page courante</translation> + </message> + <message> + <source>Load Home Page</source> + <translation>Charger la page d'accueil</translation> + </message> + <message> + <source>Show Bookmarks</source> + <translation>Afficher les favoris</translation> + </message> + <message> + <source>Add Bookmark</source> + <translation>Ajouter un favori</translation> + </message> + <message> + <source>Display Board</source> + <translation>Afficher le tableau</translation> + </message> + <message> + <source>Ctrl+B</source> + <translation>Ctrl+B</translation> + </message> + <message> + <source>Erase</source> + <translation>Effacer</translation> + </message> + <message> + <source>Erase Content</source> + <translation>Effacer le contenu</translation> + </message> + <message> + <source>Display Preferences</source> + <translation>Afficher les préférences</translation> + </message> + <message> + <source>Show Library</source> + <translation>Afficher la bibliothèque</translation> + </message> + <message> + <source>Show Computer Desktop</source> + <translation>Afficher le bureau de l'ordinateur</translation> + </message> + <message> + <source>Create a New Folder</source> + <translation>Créer un nouveau dossier</translation> + </message> + <message> + <source>Create a New Document</source> + <translation>Créer un nouveau document</translation> + </message> + <message> + <source>Import a Document</source> + <translation>Importer un document</translation> + </message> + <message> + <source>Export a Document</source> + <translation>Exporter un document</translation> + </message> + <message> + <source>Open Page in Board</source> + <translation>Ouvrir la page dans le tableau</translation> + </message> + <message> + <source>Duplicate Selected Content</source> + <translation>Dupliquer le contenu sélectionné</translation> + </message> + <message> + <source>Delete Selected Content</source> + <translation>Effacer le contenu sélectionné</translation> + </message> + <message> + <source>Share Item on the Web</source> + <translation type="unfinished">Partager l'élément sur le Web</translation> + </message> + <message> + <source>Share Capture on the Web</source> + <translation type="unfinished">Partager la capture sur le Web</translation> + </message> + <message> + <source>Define Drawing Options</source> + <translation>Définir les options de dessin</translation> + </message> + <message> + <source>Add Content to Document</source> + <translation>Ajouter un contenu au document</translation> + </message> + <message> + <source>Tutorial</source> + <translation>Tutoriel</translation> + </message> + <message utf8="true"> + <source>Sankoré 3.1</source> + <translation>Sankoré 3.1</translation> + </message> + <message> + <source>Sankore 3.1</source> + <translation type="unfinished">Sankoré 3.1</translation> + </message> + <message> + <source>Show Desktop</source> + <translation>Afficher le bureau</translation> + </message> + <message> + <source>Ctrl+Shift+H</source> + <translation type="unfinished">Ctrl+Shift+H</translation> + </message> + <message> + <source>Rename Content</source> + <translation>Renommer le contenu</translation> + </message> + <message> + <source>Display Tools</source> + <translation>Afficher les outils</translation> + </message> + <message> + <source>Use Document Wide Size (16/9)</source> + <translation>Utiliser le format de document 16/9</translation> + </message> + <message> + <source>Use Document Regular Size (4/3)</source> + <translation>Utiliser le format de document 4/3</translation> + </message> + <message> + <source>Use Custom Document Size</source> + <translation>Utiliser un format de document personnalisé</translation> + </message> + <message> + <source>Stop Loading Web Page</source> + <translation>Stopper le chargement de la page web</translation> + </message> + <message> + <source>Put Presentation to Sleep</source> + <translation>Mettre la présentation sur pause</translation> + </message> + <message> + <source>Display Virtual Keyboard</source> + <translation>Afficher le clavier virtuel</translation> + </message> + <message> + <source>Record Presentation to Video</source> + <translation>Enregistrer la présentation sur une vidéo</translation> + </message> + <message> + <source>Erase Items</source> + <translation>Effacer les objets</translation> + </message> + <message> + <source>Erase All Items</source> + <translation>Effacer tous les éléments</translation> + </message> + <message> + <source>Erase Annotations</source> + <translation>Effacer les annotations</translation> + </message> + <message> + <source>Erase All Annotations</source> + <translation>Effacer toutes les annotations</translation> + </message> + <message> + <source>Clear Page</source> + <translation>Effacer la page</translation> + </message> + <message> + <source>Clear All Elements</source> + <translation type="unfinished">Effacer tous les éléments</translation> + </message> + <message> + <source>Annotate Document</source> + <translation>Annoter le document</translation> + </message> + <message> + <source>Ctrl+I</source> + <translation type="unfinished">Ctrl+I</translation> + </message> + <message> + <source>Erase Annotation</source> + <translation>Effacer une annotation</translation> + </message> + <message> + <source>Ctrl+E</source> + <translation type="unfinished">Ctrl+E</translation> + </message> + <message> + <source>Highlight </source> + <translation type="unfinished">Mettre en surbrillance</translation> + </message> + <message> + <source>Ctrl+M</source> + <translation></translation> + </message> + <message> + <source>Select And Modify Objects</source> + <translation>Sélectionner et modifier des objets</translation> + </message> + <message> + <source>Ctrl+F</source> + <translation></translation> + </message> + <message> + <source>Scroll Page</source> + <translation>Faire défiler la page</translation> + </message> + <message> + <source>Laser Pointer</source> + <translation>Pointeur laser</translation> + </message> + <message> + <source>Virtual Laser Pointer</source> + <translation>Pointeur laser virtuel</translation> + </message> + <message> + <source>Ctrl+G</source> + <translation></translation> + </message> + <message> + <source>Draw Lines</source> + <translation>Dessiner des lignes</translation> + </message> + <message> + <source>Ctrl+J</source> + <translation></translation> + </message> + <message> + <source>Write Text</source> + <translation>Ecrire du texte</translation> + </message> + <message> + <source>Ctrl+K</source> + <translation></translation> + </message> + <message> + <source>Add Item To Current Page</source> + <translation>Ajouter un élément à la page courante</translation> + </message> + <message> + <source>Add Item To New Page</source> + <translation>Ajouter un élément à une nouvelle page</translation> + </message> + <message> + <source>Add Item To Library</source> + <translation>Ajouter un élément à la bibliothèque</translation> + </message> + <message> + <source>Create a New Page</source> + <translation>Créer une nouvelle page</translation> + </message> + <message> + <source>Duplicate Page</source> + <translation>Dupliquer la page</translation> + </message> + <message> + <source>Duplicate the Current Page</source> + <translation>Dupliquer la page courante</translation> + </message> + <message> + <source>Import Page</source> + <translation>Importer une page</translation> + </message> + <message> + <source>Import an External Page</source> + <translation>Importer une page externe</translation> + </message> + <message> + <source>Pause</source> + <translation>Pause</translation> + </message> + <message> + <source>Pause Podcast Recording</source> + <translation type="unfinished">Mettre en pause l'enregistrement</translation> + </message> + <message> + <source>Podcast Config</source> + <translation>Config podcast</translation> + </message> + <message> + <source>Open the tutorial</source> + <translation>Ouvrir le didacticiel</translation> + </message> + <message> + <source>Check Update</source> + <translation>Contrôler les mises à jour</translation> + </message> + <message utf8="true"> + <source>Sankoré Editor</source> + <translation>Editeur Sankoré</translation> + </message> + <message> + <source>Show Sankore Widgets Editor</source> + <translation type="unfinished">Afficher l'éditeur d'Apps Sankoré</translation> + </message> + <message utf8="true"> + <source>Hide Sankoré</source> + <translation>Cacher Sankoré</translation> + </message> + <message utf8="true"> + <source>Hide Sankoré Application</source> + <translation>Cacher l'application Sankoré</translation> + </message> + <message> + <source>Ctrl+H</source> + <translation></translation> + </message> + <message> + <source>Capture Part of the Screen</source> + <translation>Capturer une partie de l'écran</translation> + </message> + <message> + <source>Custom Capture</source> + <translation>Capture personnalisée</translation> + </message> + <message> + <source>Capture a Window</source> + <translation>Capturer une fenêtre</translation> + </message> + <message> + <source>Embed Web Content</source> + <translation>Embarquer un contenu web</translation> + </message> + <message> + <source>Capture Embeddable Web Content</source> + <translation>Capturer un contenu web embarquable</translation> + </message> + <message> + <source>Show Main Screen on Display Screen</source> + <translation>Afficher l'écran principal sur l'écran d'affichage</translation> + </message> + <message> + <source>Erase all Annotations</source> + <translation>Effacer toutes les annotations</translation> + </message> + <message> + <source>eduMedia</source> + <translation></translation> + </message> + <message> + <source>Import eduMedia simulation</source> + <translation>Importer une simulation eduMedia</translation> + </message> + <message> + <source>Del</source> + <translation>Del</translation> + </message> + <message> + <source>Quit Uniboard</source> + <translation>Quitter Sankoré</translation> + </message> + <message> + <source>Add Selected Content to Open Document</source> + <translation>Ajouter le contenu sélectionné au document ouvert</translation> + </message> + <message> + <source>Stop Loading</source> + <translation>Arrêter le chargement</translation> + </message> + <message> + <source>Sleep</source> + <translation>Veille</translation> + </message> + <message> + <source>Virtual Keyboard</source> + <translation>Clavier virtuel</translation> + </message> + <message> + <source>Plain Light Background</source> + <translation>Fond clair uni</translation> + </message> + <message> + <source>Light</source> + <translation>Clair</translation> + </message> + <message> + <source>Plain Dark Background</source> + <translation>Fond sombre uni</translation> + </message> + <message> + <source>Dark</source> + <translation>Sombre</translation> + </message> + <message> + <source>Podcast</source> + <translation>Podcast</translation> + </message> + <message> + <source>Record</source> + <translation>Enregistrer</translation> + </message> + <message> + <source>Wide Size (16/9)</source> + <translation>Taille cinéma</translation> + </message> + <message> + <source>Regular Size (4/3)</source> + <translation>Taille nominale</translation> + </message> + <message> + <source>Custom Size</source> + <translation>Taille spécifique</translation> + </message> + <message> + <source>Ctrl+L</source> + <translation>Ctrl+L</translation> + </message> + <message> + <source>Bigger</source> + <translation>Plus grand</translation> + </message> + <message> + <source>Ctrl++</source> + <translation>Ctrl++</translation> + </message> + <message> + <source>Smaller</source> + <translation>Plus petit</translation> + </message> + <message> + <source>Ctrl+-</source> + <translation>Ctrl+-</translation> + </message> + <message> + <source>Open in Board</source> + <translation>Ouvrir la page</translation> + </message> + <message> + <source>Ctrl+O</source> + <translation>Ctrl+O</translation> + </message> + <message> + <source>Cut</source> + <translation>Couper</translation> + </message> + <message> + <source>Copy</source> + <translation>Copier</translation> + </message> + <message> + <source>Paste</source> + <translation>Coller</translation> + </message> + <message> + <source>Tools</source> + <translation>Outils</translation> + </message> + <message> + <source>Multi Screen</source> + <translation>Multi-écran</translation> + </message> + <message> + <source>New Folder</source> + <translation>Nouveau dossier</translation> + </message> + <message> + <source>New Document</source> + <translation>Nouveau document</translation> + </message> + <message> + <source>Import</source> + <translation>Importer</translation> + </message> + <message> + <source>Export</source> + <translation>Exporter</translation> + </message> + <message> + <source>Duplicate</source> + <translation>Dupliquer</translation> + </message> + <message> + <source>Delete</source> + <translation>Supprimer</translation> + </message> + <message> + <source>Add to Working Document</source> + <translation>Ajouter au document en cours</translation> + </message> + <message> + <source>Add</source> + <translation>Ajouter</translation> + </message> + <message> + <source>Rename</source> + <translation>Renommer</translation> + </message> + <message> + <source>Home</source> + <translation>Page d'accueil</translation> + </message> + <message> + <source>Bookmarks</source> + <translation>Signets</translation> + </message> + <message> + <source>Bookmark</source> + <translation>Signet</translation> + </message> + <message> + <source>Preferences</source> + <translation>Préférences</translation> + </message> + <message> + <source>Library</source> + <translation>Bibliothèque</translation> + </message> + <message> + <source>Ctrl+Z</source> + <translation>Ctrl+Z</translation> + </message> + <message> + <source>Ctrl+Y</source> + <translation>Ctrl+Y</translation> + </message> +</context> +<context> + <name>PasswordDialog</name> + <message> + <source>Authentication Required</source> + <translation>Authentification requise</translation> + </message> + <message> + <source>Username:</source> + <translation>Nom d'utilisateur:</translation> + </message> + <message> + <source>Password:</source> + <translation>Mot de passe:</translation> + </message> + <message> + <source>DUMMY ICON</source> + <translation></translation> + </message> + <message> + <source>INTRO TEXT DUMMY</source> + <translation></translation> + </message> +</context> +<context> + <name>ProxyDialog</name> + <message> + <source>Proxy Authentication</source> + <translation>Authentification sur le proxy</translation> + </message> + <message> + <source>Connect to Proxy</source> + <translation>Se connecter au proxy</translation> + </message> + <message> + <source>Username:</source> + <translation>Nom d'utilisateur:</translation> + </message> + <message> + <source>Password:</source> + <translation>Mot de passe:</translation> + </message> + <message> + <source>Save username and password for future use</source> + <translation>Sauver nom utilisateur & mot de passe</translation> + </message> + <message> + <source>ICON</source> + <translation></translation> + </message> +</context> +<context> + <name>QObject</name> + <message> + <source>Trash</source> + <comment>Pictures category element</comment> + <translation type="unfinished">Corbeille</translation> + </message> + <message> + <source>/Home</source> + <comment>Category list label on navigation tool bar</comment> + <translation type="unfinished">Accueil</translation> + </message> +</context> +<context> + <name>UBAbstractPublisher</name> + <message> + <source>Contacting %1</source> + <translation>En train de contacter %1</translation> + </message> + <message> + <source>Found %1</source> + <translation>Trouvé %1</translation> + </message> + <message> + <source>Cannot Authenticate with %1</source> + <translation>Impossible de s'identifier avec %1</translation> + </message> +</context> +<context> + <name>UBAbstractWidget</name> + <message> + <source>Cannot load content</source> + <translation>Impossible de charger le contenu</translation> + </message> + <message> + <source>Loading ...</source> + <translation>Chargement en cours ...</translation> + </message> +</context> +<context> + <name>UBApplication</name> + <message> + <source>Page Size</source> + <translation>Taille de la Page</translation> + </message> + <message> + <source>Podcast</source> + <translation>Podcast</translation> + </message> +</context> +<context> + <name>UBApplicationController</name> + <message> + <source>Web</source> + <translation>Web</translation> + </message> + <message> + <source>New update available, would you go to the web page ?</source> + <translation>Nouvelle mise à jour disponible, voulez-vous aller à la page web ?</translation> + </message> + <message> + <source>No update available</source> + <translation>Pas de nouvelle mise à jour disponible</translation> + </message> +</context> +<context> + <name>UBBoardController</name> + <message> + <source>Downloading content from %1</source> + <translation>Téléchargement du contenu depuis %1</translation> + </message> + <message> + <source>Downloading content %1 failed</source> + <translation>Erreur de téléchargement du contenu %1</translation> + </message> + <message> + <source>Download finished</source> + <translation>Téléchargement terminé</translation> + </message> + <message> + <source>Flash is not supported on Uniboard Linux</source> + <translation>Flash n'est pas supporté sur linux</translation> + </message> + <message> + <source>Unknown tool type %1</source> + <translation>Type d'outil inconnu %1</translation> + </message> + <message> + <source>Add Item</source> + <translation>Ajout objet</translation> + </message> + <message> + <source>All Supported (%1)</source> + <translation>Tous (%1)</translation> + </message> + <message> + <source>Unknown content type %1</source> + <translation>Type de contenu inconnu (%1)</translation> + </message> +</context> +<context> + <name>UBBoardPaletteManager</name> + <message> + <source>Error Adding Image to Library</source> + <translation>Erreur lors de l'ajout d'images à la bibliothèque</translation> + </message> + <message> + <source>Error Publishing Image to the Web</source> + <translation>Erreur lors de la publication d'image sur le Web</translation> + </message> +</context> +<context> + <name>UBCapturePublisher</name> + <message> + <source>Preparing capture for upload...</source> + <translation type="unfinished">En train de préparer la capture pour le transfert...</translation> + </message> + <message> + <source>Publication canceled ...</source> + <translation>Publication annulée...</translation> + </message> + <message> + <source>Capture Published to the Web.</source> + <translation>Capture publiée sur le Web.</translation> + </message> + <message> + <source>Error Publishing Capture to the Web: %1</source> + <translation>Erreur lors de la publication de la capture sur le Web: %1</translation> + </message> +</context> +<context> + <name>UBCapturePublishingDialog</name> + <message> + <source>Publish</source> + <translation>Publier</translation> + </message> +</context> +<context> + <name>UBDesktopPalette</name> + <message> + <source>Show Uniboard</source> + <translation>Afficher Sankoré</translation> + </message> + <message> + <source>Capture Part of the Screen</source> + <translation>Capturer une partie de l'écran</translation> + </message> + <message> + <source>Capture the Screen</source> + <translation>Capturer l'écran</translation> + </message> + <message> + <source>Show the stylus palette</source> + <translation>Afficher la barre d'outil du stylet</translation> + </message> + <message> + <source>Show Board on Secondary Screen</source> + <translation>Afficher le tableau sur l'écran secondaire</translation> + </message> + <message> + <source>Show Desktop on Secondary Screen</source> + <translation>Afficher le bureau sur l'écran secondaire</translation> + </message> +</context> +<context> + <name>UBDocumentController</name> + <message> + <source>No document selected!</source> + <translation>Aucun document sélectionné!</translation> + </message> + <message> + <source>Open Supported File</source> + <translation>Ouvrir un fichier compatible</translation> + </message> + <message> + <source>New Folder</source> + <translation>Nouveau dossier</translation> + </message> + <message> + <source>Add Folder of Images</source> + <translation>Ajouter un dossier d'images</translation> + </message> + <message> + <source>Add Images</source> + <translation>Ajouter des images</translation> + </message> + <message> + <source>Add Pages from File</source> + <translation>Ajouter un fichier au document</translation> + </message> + <message> + <source>Duplicating Document %1</source> + <translation>Copie du document %1 en cours</translation> + </message> + <message> + <source>Document %1 copied</source> + <translation>Document %1 copié</translation> + </message> + <message> + <source>Remove Page</source> + <translation>Supprimer la page</translation> + </message> + <message> + <source>Remove Document</source> + <translation>Supprimer le document</translation> + </message> + <message> + <source>Empty Trash</source> + <translation type="unfinished">Vider la corbeille</translation> + </message> + <message> + <source>Are you sure you want to empty trash?</source> + <translation type="unfinished">Êtes-vous sûr de vouloir vider la corbeille ?</translation> + </message> + <message> + <source>Emptying trash</source> + <translation type="unfinished">Supression du contenu de la corbeille</translation> + </message> + <message> + <source>Emptied trash</source> + <translation type="unfinished">Corbeille vidée</translation> + </message> + <message> + <source>Remove Folder</source> + <translation>Supprimer le dossier</translation> + </message> + <message> + <source>Are you sure you want to remove the folder '%1' and all its content?</source> + <translation>Souhaitez-vous supprimer le dossier '%1'?</translation> + </message> + <message> + <source>Importing file %1...</source> + <translation>Importation du fichier %1...</translation> + </message> + <message> + <source>Failed to import file ... </source> + <translation>Impossible d'importer le fichier ...</translation> + </message> + <message> + <source>Import all Images from Folder</source> + <translation>Importer toutes les images d'un dossier</translation> + </message> + <message> + <source>Folder does not contain any image files!</source> + <translation>Le dossier ne contient aucune image!</translation> + </message> + <message> + <source>Delete</source> + <translation>Supprimer</translation> + </message> + <message> + <source>Empty</source> + <translation>Vider</translation> + </message> + <message> + <source>Trash</source> + <translation type="unfinished">Corbeille</translation> + </message> + <message> + <source>Open Document</source> + <translation>Ouvrir le document</translation> + </message> + <message> + <source>The document '%1' has been generated with a newer version of Uniboard (%2). By opening it, you may lose some information. Do you want to proceed?</source> + <translation type="unfinished">Le document '%1' a été créé avec une version ultérieure de Sankoré (%2), en l'ouvrant, vous risquez de perdre certaines informations. Voulez-vous continuer ?</translation> + </message> + <message> + <source>Add all Images to Document</source> + <translation>Ajouter toutes les images</translation> + </message> + <message> + <source>All Images (%1)</source> + <translation>Toutes les images (%1)</translation> + </message> + <message> + <source>Selection does not contain any image files!</source> + <translation>La séléction ne contient aucune image!</translation> + </message> + <message> + <source>Are you sure you want to remove the document '%1'?</source> + <translation>Souhaitez-vous supprimer le document '%1'?</translation> + </message> + <message> + <source>Page %1</source> + <translation>Page %1</translation> + </message> +</context> +<context> + <name>UBDocumentManager</name> + <message> + <source>images</source> + <translation>images</translation> + </message> + <message> + <source>videos</source> + <translation>vidéos</translation> + </message> + <message> + <source>objects</source> + <translation>objets</translation> + </message> + <message> + <source>widgets</source> + <translation>appliquettes</translation> + </message> + <message> + <source>All supported files (*.%1)</source> + <translation>Tous les fichiers supportés (*.%1)</translation> + </message> + <message> + <source>Importing page %1 of %2</source> + <translation type="unfinished">Importation de la page %1 sur %2</translation> + </message> + <message> + <source>Erronous image data, skipping file %1</source> + <translation>Le fichier %1 n'a pas un format d'image valide</translation> + </message> + <message> + <source>File %1 saved</source> + <translation>Fichier %1 sauvé</translation> + </message> +</context> +<context> + <name>UBDocumentNavigator</name> + <message> + <source>Page %0</source> + <translation>Page %0</translation> + </message> +</context> +<context> + <name>UBDocumentPublisher</name> + <message> + <source>Preparing document for upload...</source> + <translation type="unfinished">Préparation du document pour le transfert...</translation> + </message> + <message> + <source>Export failed.</source> + <translation>Exportation échouée.</translation> + </message> + <message> + <source>Export failed ...</source> + <translation>Exportation échouée...</translation> + </message> + <message> + <source>Export canceled ...</source> + <translation>Exportation annulée ...</translation> + </message> + <message> + <source>Converting page %1/%2 ...</source> + <translation>Conversion de la page %1/%2 ...</translation> + </message> + <message> + <source>Upload to Uniboard Web in progress %1 %</source> + <translation type="unfinished">Transfert vers Sankoré Web en cours %1 %</translation> + </message> + <message> + <source>Sending document ...</source> + <translation>Envoi du document ...</translation> + </message> + <message> + <source>The document has been sent to %1</source> + <translation>Le document a été envoyé à %1</translation> + </message> + <message> + <source>Error while publishing document to %1</source> + <translation>Erreur durant la publication du document à %1</translation> + </message> + <message> + <source>Error while publishing document to %1 : (%2)</source> + <translation>Erreur durant la publication du document à %1 : (%2)</translation> + </message> +</context> +<context> + <name>UBDocumentPublishingDialog</name> + <message> + <source>Publish</source> + <translation>Publier</translation> + </message> +</context> +<context> + <name>UBDocumentTreeWidget</name> + <message> + <source>%1 (copy)</source> + <translation>%1 (copie)</translation> + </message> + <message> + <source>Copying page %1/%2</source> + <translation>Copie de la page %1/%2 en cours</translation> + </message> +</context> +<context> + <name>UBDropMeWidget</name> + <message> + <source>Drop here</source> + <translation type="unfinished">Déposer ici</translation> + </message> +</context> +<context> + <name>UBExportDocument</name> + <message> + <source>Export as UBZ File</source> + <translation>Exporter au format UBZ</translation> + </message> + <message> + <source>Export successful.</source> + <translation>Exportation terminée.</translation> + </message> + <message> + <source>Export to Uniboard Format</source> + <translation type="unfinished">Exporter au format Uniboard</translation> + </message> + <message> + <source>Page</source> + <translation>Page</translation> + </message> + <message> + <source>Exporting document...</source> + <translation>Exportation du document...</translation> + </message> + <message> + <source>Exporting %1 %2 of %3</source> + <translation>Exportation %1 %2 sur %3</translation> + </message> +</context> +<context> + <name>UBExportFullPDF</name> + <message> + <source>Export as PDF File</source> + <translation>Exporter au format PDF</translation> + </message> + <message> + <source>Exporting document...</source> + <translation>Exportation du document...</translation> + </message> + <message> + <source>Export to PDF</source> + <translation>Exporter au format PDF</translation> + </message> + <message> + <source>Export successful.</source> + <translation>Exportation terminée.</translation> + </message> +</context> +<context> + <name>UBExportPDF</name> + <message> + <source>Export as PDF File</source> + <translation>Exporter au format PDF</translation> + </message> + <message> + <source>Exporting page %1 of %2</source> + <translation>Exportation de la page %1 sur %2</translation> + </message> + <message> + <source>Export successful.</source> + <translation>Exportation terminée.</translation> + </message> + <message> + <source>Exporting document...</source> + <translation>Exportation du document...</translation> + </message> + <message> + <source>Export to PDF</source> + <translation>Exporter au format PDF</translation> + </message> +</context> +<context> + <name>UBExportWeb</name> + <message> + <source>Page</source> + <translation>Page</translation> + </message> + <message> + <source>Export as Web data</source> + <translation>Exporter en tant que donnée Web</translation> + </message> + <message> + <source>Exporting document...</source> + <translation>Exportation du document...</translation> + </message> + <message> + <source>Export successful.</source> + <translation>Exportation terminée.</translation> + </message> + <message> + <source>Export failed.</source> + <translation>Exportation échouée.</translation> + </message> + <message> + <source>Export to Web Browser</source> + <translation>Exporter vers un navigateur Web</translation> + </message> +</context> +<context> + <name>UBGraphicsItemDelegate</name> + <message> + <source>Locked</source> + <translation>Verrouillé</translation> + </message> + <message> + <source>Visible on Extended Screen</source> + <translation>Visible sur l'écran de projection</translation> + </message> + <message> + <source>Go to Content Source</source> + <translation>Aller à la source du contenu</translation> + </message> +</context> +<context> + <name>UBGraphicsTextItem</name> + <message> + <source><Type Text Here></source> + <translation><Ecrire votre texte ici></translation> + </message> +</context> +<context> + <name>UBGraphicsTextItemDelegate</name> + <message> + <source>Text Color</source> + <translation>Couleur du texte</translation> + </message> +</context> +<context> + <name>UBGraphicsWidgetItemDelegate</name> + <message> + <source>Frozen</source> + <translation>Gelé</translation> + </message> + <message> + <source>Transform as Tool </source> + <translation>Transformer en outil</translation> + </message> +</context> +<context> + <name>UBImportDocument</name> + <message> + <source>Importing file %1...</source> + <translation>Importation du fichier %1...</translation> + </message> + <message> + <source>Import successful.</source> + <translation>Importation terminée.</translation> + </message> + <message> + <source>Sankore 3.1 (*.ubz)</source> + <translation type="unfinished">Sankore 3.1 (*.ubz)</translation> + </message> +</context> +<context> + <name>UBImportImage</name> + <message> + <source>Image Format (</source> + <translation>Format d'image (</translation> + </message> + <message> + <source>Image import failed.</source> + <translation>Échec d'importation de l'image.</translation> + </message> + <message> + <source>Image import successful.</source> + <translation>Importation de l'image réussie.</translation> + </message> +</context> +<context> + <name>UBImportPDF</name> + <message> + <source>Portable Document Format (*.pdf)</source> + <translation>Portable Document Format (*.pdf)</translation> + </message> + <message> + <source>PDF import failed.</source> + <translation>L'importation du fichier PDF a échoué.</translation> + </message> + <message> + <source>Importing page %1 of %2</source> + <translation>Importation de la page %1 sur %2</translation> + </message> + <message> + <source>PDF import successful.</source> + <translation>Importation PDF terminée.</translation> + </message> +</context> +<context> + <name>UBIntranetPodcastPublisher</name> + <message> + <source>Error while publishing video to intranet (%1)</source> + <translation>Erreur durant la publication de la vidéo sur l'intranet (%1)</translation> + </message> + <message> + <source>Publishing to Intranet in progress %1 %</source> + <translation>Publication sur l'intranet en cours %1 %</translation> + </message> +</context> +<context> + <name>UBIntranetPodcastPublishingDialog</name> + <message> + <source>Publish</source> + <translation>Publier</translation> + </message> +</context> +<context> + <name>UBLibActionBar</name> + <message> + <source>Add to favorites</source> + <translation>Ajouter au favoris</translation> + </message> + <message> + <source>Share</source> + <translation>Partager</translation> + </message> + <message> + <source>Search</source> + <translation>Rechercher</translation> + </message> + <message> + <source>Delete</source> + <translation>Supprimer</translation> + </message> + <message> + <source>Back to folder</source> + <translation type="unfinished">Retour au répertoire</translation> + </message> + <message> + <source>Remove from favorites</source> + <translation>Supprimer des favoris</translation> + </message> + <message> + <source>Create new folder</source> + <translation>Créer un nouveau dossier</translation> + </message> +</context> +<context> + <name>UBLibItemProperties</name> + <message> + <source>Back</source> + <translation>Précédente</translation> + </message> + <message> + <source>Add to page</source> + <translation>Ajouter à la page</translation> + </message> + <message> + <source>Set as background</source> + <translation>Ajouter en arrière plan</translation> + </message> + <message> + <source>Add to library</source> + <translation>Ajouter à la librarie</translation> + </message> + <message> + <source>Object informations</source> + <translation>Informations</translation> + </message> +</context> +<context> + <name>UBLibraryController</name> + <message> + <source>Added 1 Image to Library</source> + <translation>1 images ajoutées à la bibiliothèque</translation> + </message> + <message> + <source>Audios</source> + <comment>Audio category element</comment> + <translation>Sons</translation> + </message> + <message> + <source>Movies</source> + <comment>Movies category element</comment> + <translation type="unfinished">Vidéos</translation> + </message> + <message> + <source>Pictures</source> + <comment>Pictures category element</comment> + <translation>Images</translation> + </message> + <message> + <source>Shapes</source> + <comment>Shapes category element</comment> + <translation>Formes</translation> + </message> + <message> + <source>Applications</source> + <comment>Applications category element</comment> + <translation>Applications</translation> + </message> + <message> + <source>Favorite</source> + <comment>Favorite category element</comment> + <translation>Favoris</translation> + </message> + <message> + <source>Creating image thumbnail for %1.</source> + <translation type="unfinished">Création de la vignette pour %1.</translation> + </message> + <message> + <source>Adding to page failed for item %1.</source> + <translation type="unfinished">Impossible d'ajouter %1 à la page courrante.</translation> + </message> + <message> + <source>Interactivities</source> + <comment>Interactives category element</comment> + <translation>Interactivités</translation> + </message> +</context> +<context> + <name>UBNetworkAccessManager</name> + <message> + <source><qt>Enter username and password for "%1" at %2</qt></source> + <translation><qt>Saisir le nom de l'utilisateur et le mot de passe pour "%1" à %2</qt></translation> + </message> + <message> + <source>Failed to log to Proxy</source> + <translation>Erreur d'identification au proxy</translation> + </message> + <message> + <source>SSL Errors: + +%1 + +%2 + +Do you want to ignore these errors for this host?</source> + <translation>Erreur SSL: + +%1 + +%2 + +Voulez-vous ignorer les erreurs pour ce serveur?</translation> + </message> +</context> +<context> + <name>UBNewFolderDlg</name> + <message> + <source>Add new folder</source> + <translation>Ajouter un nouveau dossier</translation> + </message> + <message> + <source>New Folder name:</source> + <translation>Nom du dossier:</translation> + </message> +</context> +<context> + <name>UBPersistenceManager</name> + <message> + <source>(copy)</source> + <translation>(copie)</translation> + </message> + <message> + <source>Document Repository Loss</source> + <translation>Accès perdu au dépôt de documents</translation> + </message> + <message> + <source>Uniboard has lost access to the document repository '%1'. Unfortunately the application must shut down to avoid data corruption. Latest changes may be lost as well.</source> + <translation>Uniboard a perdu l'accés à votre dossier de documents ('%1'). Malheureusement, l'application doit être fermée. Les changements récents seront perdus.</translation> + </message> +</context> +<context> + <name>UBPodcastController</name> + <message> + <source>Uniboard Cast</source> + <translation>Uniboard Cast</translation> + </message> + <message> + <source>Failed to start encoder ...</source> + <translation>Échec du démarrage de l'encodeur...</translation> + </message> + <message> + <source>No Podcast encoder available ...</source> + <translation>Pas d'encodeur podcast disponible...</translation> + </message> + <message> + <source>Part %1</source> + <translation>Partie %1</translation> + </message> + <message> + <source>on your desktop ...</source> + <translation>sur le bureau ...</translation> + </message> + <message> + <source>in folder %1</source> + <translation>dans le dossier %1</translation> + </message> + <message> + <source>Podcast created %1</source> + <translation>Podcast créé %1</translation> + </message> + <message> + <source>Podcast recording error (%1)</source> + <translation>Erreur d'enregistrement du podcast (%1)</translation> + </message> + <message> + <source>Default Audio Input</source> + <translation>Entrée audio par défaut</translation> + </message> + <message> + <source>No Audio Recording</source> + <translation>Pas d'enregistrement audio</translation> + </message> + <message> + <source>Small</source> + <translation>Petit</translation> + </message> + <message> + <source>Medium</source> + <translation>Moyen</translation> + </message> + <message> + <source>Full</source> + <translation>Complet</translation> + </message> + <message> + <source>Publish to Intranet</source> + <translation>Publier sur l'intranet</translation> + </message> + <message> + <source>Publish to Youtube</source> + <translation>Publier sur Youtube</translation> + </message> +</context> +<context> + <name>UBPreferencesController</name> + <message> + <source>Marker is pressure sensitive</source> + <translation>Marqueur sensible à la pression</translation> + </message> + <message> + <source>version: </source> + <translation>version: </translation> + </message> +</context> +<context> + <name>UBSettings</name> + <message> + <source>Untitled Documents</source> + <translation>Documents sans titre</translation> + </message> + <message> + <source>Trash</source> + <translation type="unfinished">Corbeille</translation> + </message> + <message> + <source>Images</source> + <translation>Images</translation> + </message> + <message> + <source>My Movies</source> + <translation>Mes films</translation> + </message> +</context> +<context> + <name>UBThumbnailAdaptor</name> + <message> + <source>Generating preview thumbnails ...</source> + <translation>Création de vignettes en cours ...</translation> + </message> + <message> + <source>%1 thumbnails generated ...</source> + <translation>%1 vignettes créées ...</translation> + </message> +</context> +<context> + <name>UBToolsManager</name> + <message> + <source>Compass</source> + <translation>Compas</translation> + </message> + <message> + <source>Ruler</source> + <translation>Règle</translation> + </message> + <message> + <source>Protractor</source> + <translation>Rapporteur</translation> + </message> + <message> + <source>Mask</source> + <translation>Masque</translation> + </message> +</context> +<context> + <name>UBTrapFlashController</name> + <message> + <source>Whole page</source> + <translation>Page complète</translation> + </message> + <message> + <source>Web</source> + <translation>Web</translation> + </message> +</context> +<context> + <name>UBUpdateDlg</name> + <message> + <source>Document updater</source> + <translation>Mise à niveau du document</translation> + </message> + <message> + <source> files require an update.</source> + <translation>fichiers nécessitent une mise à jour.</translation> + </message> + <message> + <source>Backup path: </source> + <translation>Chemin de sauvegarde:</translation> + </message> + <message> + <source>Browse</source> + <translation>Parcourir</translation> + </message> + <message> + <source>Update</source> + <translation>Mettre à jour</translation> + </message> + <message> + <source>Select a backup folder</source> + <translation>Sélectionner un dossier de sauvegarde</translation> + </message> + <message> + <source>Files update successful! +Please reboot the application to access the updated documents.</source> + <translation>Fichiers mis à jour correctement! +Veuillez redémarrer l'application pour accéder aux documents mis à jour.</translation> + </message> + <message> + <source>An error occured during the update. The files have not been affected.</source> + <translation>Une erreur s'est produite durant la mise à jour. Les fichiers n'ont pas été affectés.</translation> + </message> + <message> + <source>Files update results</source> + <translation>Résultats de la mise à jour</translation> + </message> +</context> +<context> + <name>UBW3CWidget</name> + <message> + <source>Web</source> + <translation>Web</translation> + </message> +</context> +<context> + <name>UBWebPluginWidget</name> + <message> + <source>Loading...</source> + <translation>Chargement...</translation> + </message> +</context> +<context> + <name>UBWebPublisher</name> + <message> + <source>Publish Document on Uniboard Web</source> + <translation>Publier le document sur le Web Sankoré</translation> + </message> +</context> +<context> + <name>UBYouTubePublisher</name> + <message> + <source>YouTube authentication failed.</source> + <translation>Échec de l'identification YouTube.</translation> + </message> + <message> + <source>Error while uploading video to YouTube (%1)</source> + <translation>Erreur de téléchargement de la vidéo vers YouTube (%1)</translation> + </message> + <message> + <source>Upload to YouTube in progress %1 %</source> + <translation>Chargement vers YouTube en cours %1 %</translation> + </message> +</context> +<context> + <name>UBYouTubePublishingDialog</name> + <message> + <source>Upload</source> + <translation>Téléchargement</translation> + </message> + <message> + <source>Autos & Vehicles</source> + <translation>Véhicules</translation> + </message> + <message> + <source>Music</source> + <translation>Musique</translation> + </message> + <message> + <source>Pets & Animals</source> + <translation>Animaux</translation> + </message> + <message> + <source>Sports</source> + <translation>Sports</translation> + </message> + <message> + <source>Travel & Events</source> + <translation>Voyages et événements</translation> + </message> + <message> + <source>Gaming</source> + <translation>Jeux</translation> + </message> + <message> + <source>Comedy</source> + <translation>Humour</translation> + </message> + <message> + <source>People & Blogs</source> + <translation>People</translation> + </message> + <message> + <source>News & Politics</source> + <translation>Actualités et politique</translation> + </message> + <message> + <source>Entertainment</source> + <translation>Divertissement</translation> + </message> + <message> + <source>Education</source> + <translation>Éducation</translation> + </message> + <message> + <source>Howto & Style</source> + <translation>Vie pratique et style</translation> + </message> + <message> + <source>Nonprofits & Activism</source> + <translation>Associations et organismes</translation> + </message> + <message> + <source>Science & Technology</source> + <translation>Science et technologie</translation> + </message> +</context> +<context> + <name>UBZoomPalette</name> + <message> + <source>%1 x</source> + <translation>%1 x</translation> + </message> +</context> +<context> + <name>WBClearButton</name> + <message> + <source>Clear</source> + <translation>Supprimer</translation> + </message> +</context> +<context> + <name>WBDownloadItem</name> + <message> + <source>Save File</source> + <translation>Sauver le fichier</translation> + </message> + <message> + <source>Download canceled: %1</source> + <translation>Téléchargement annulé: %1</translation> + </message> + <message> + <source>Error opening saved file: %1</source> + <translation>Erreur durant l'ouverture du fichier: %1</translation> + </message> + <message> + <source>Error saving: %1</source> + <translation>Erreur lors de la sauvegarde du fichier: %1</translation> + </message> + <message> + <source>Network Error: %1</source> + <translation>Erreur réseau: %1</translation> + </message> + <message> + <source>seconds</source> + <translation>secondes</translation> + </message> + <message> + <source>minutes</source> + <translation>minutes</translation> + </message> + <message> + <source>- %4 %5 remaining</source> + <translation>- %4 %5 restante</translation> + </message> + <message> + <source>%1 of %2 (%3/sec) %4</source> + <translation>%1 de %2 (%3/sec) %4</translation> + </message> + <message> + <source>?</source> + <comment>unknown file size</comment> + <translation>?</translation> + </message> + <message> + <source>%1 of %2 - Stopped</source> + <translation>%1 de %2 - arrêté</translation> + </message> + <message> + <source>bytes</source> + <translation>octets</translation> + </message> + <message> + <source>KB</source> + <translation>ko</translation> + </message> + <message> + <source>MB</source> + <translation>Mo</translation> + </message> +</context> +<context> + <name>WBDownloadManager</name> + <message> + <source>%1 Downloads</source> + <comment>always >= 2</comment> + <translation>%1 téléchargement(s)</translation> + </message> + <message> + <source>1 Download</source> + <translation>1 Téléchargement</translation> + </message> +</context> +<context> + <name>WBHistoryModel</name> + <message> + <source>Title</source> + <translation>Titre</translation> + </message> + <message> + <source>Address</source> + <translation>Adresse</translation> + </message> +</context> +<context> + <name>WBHistoryTreeModel</name> + <message> + <source>Earlier Today</source> + <translation>Précédemment dans la journée</translation> + </message> + <message> + <source>%1 items</source> + <translation>%1 élément(s)</translation> + </message> +</context> +<context> + <name>WBSearchLineEdit</name> + <message> + <source>Search</source> + <translation>Recherche</translation> + </message> +</context> +<context> + <name>WBTabBar</name> + <message> + <source>New &Tab</source> + <translation>Nouvel &onglet</translation> + </message> + <message> + <source>Clone Tab</source> + <translation>Dupliquer l'onglet</translation> + </message> + <message> + <source>&Close Tab</source> + <translation>&Fermer l'onglet</translation> + </message> + <message> + <source>Close &Other Tabs</source> + <translation>Fermer les &autres onglets</translation> + </message> + <message> + <source>Reload Tab</source> + <translation>Recharger l'onglet</translation> + </message> + <message> + <source>Reload All Tabs</source> + <translation>Recharger tous les onglets</translation> + </message> +</context> +<context> + <name>WBTabWidget</name> + <message> + <source>Recently Closed Tabs</source> + <translation>Onglets récemment fermés</translation> + </message> + <message> + <source>(Untitled)</source> + <translation>(Sans titre)</translation> + </message> +</context> +<context> + <name>WBToolbarSearch</name> + <message> + <source>Search</source> + <translation>Recherche</translation> + </message> + <message> + <source>No Recent Searches</source> + <translation>Aucun historique de recherche</translation> + </message> + <message> + <source>Recent Searches</source> + <translation>Historique de recherches</translation> + </message> + <message> + <source>Clear Recent Searches</source> + <translation type="unfinished">Supprimer l'historique de recherches</translation> + </message> +</context> +<context> + <name>WBWebPage</name> + <message> + <source>Download PDF Document: would you prefer to download the PDF file or add it to the current Uniboard document?</source> + <translation type="unfinished">Document PDF: Désirez-vous télécharger le fichier PDF ou l'ajouter au document courant ?</translation> + </message> + <message> + <source>Download</source> + <translation>Téléchargement</translation> + </message> + <message> + <source>Add to Current Document</source> + <translation type="unfinished">Ajouter au document courant</translation> + </message> + <message> + <source>PDF</source> + <translation>PDF</translation> + </message> + <message> + <source>Error loading page: %1</source> + <translation>Erreur de chargement de la page: %1</translation> + </message> +</context> +<context> + <name>WBWebView</name> + <message> + <source>Open in New Tab</source> + <translation>Ouvrir dans un nouvel onglet</translation> + </message> +</context> +<context> + <name>YouTubePublishingDialog</name> + <message> + <source>Publish Podcast to YouTube</source> + <translation>Publier le Podcast sur YouTube</translation> + </message> + <message> + <source>Title</source> + <translation>Titre</translation> + </message> + <message> + <source>Description</source> + <translation>Description</translation> + </message> + <message> + <source>Keywords</source> + <translation>Mots-clés</translation> + </message> + <message> + <source>Uniboard</source> + <translation type="unfinished">Sankoré</translation> + </message> + <message> + <source>Category</source> + <translation>Catégorie</translation> + </message> + <message> + <source>YouTube Username</source> + <translation>Utilisateur YouTube</translation> + </message> + <message> + <source>YouTube Password</source> + <translation>Mot de passe</translation> + </message> + <message> + <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:10pt;">By clicking 'Upload,' you certify that you own all rights to the content or that you are authorized by the owner to make the content publicly available on YouTube, and that it otherwise complies with the YouTube Terms of Service located at </span><a href="http://www.youtube.com/t/terms"><span style=" font-family:'Lucida Grande'; font-size:10pt; text-decoration: underline; color:#0000ff;">http://www.youtube.com/t/terms</span></a></p></body></html></source> + <translation></translation> + </message> +</context> +<context> + <name>brushProperties</name> + <message> + <source>Opacity</source> + <translation>Opacité</translation> + </message> + <message> + <source>On Light Background</source> + <translation>Sur fond clair</translation> + </message> + <message> + <source>On Dark Background</source> + <translation>Sur fond foncé</translation> + </message> + <message> + <source>Line Width</source> + <translation>Epaisseur de ligne</translation> + </message> + <message> + <source>Medium</source> + <translation>Moyen</translation> + </message> + <message> + <source>Strong</source> + <translation>Epais</translation> + </message> + <message> + <source>Fine</source> + <translation>Fin</translation> + </message> + <message> + <source>Pen is Pressure Sensitive</source> + <translation>Stylet sensible à la pression</translation> + </message> +</context> +<context> + <name>capturePublishingDialog</name> + <message> + <source>Dialog</source> + <translation>Dialogue</translation> + </message> + <message> + <source>Title</source> + <translation>Titre</translation> + </message> + <message> + <source>E-mail</source> + <translation>E-mail</translation> + </message> + <message> + <source>Author</source> + <translation>Auteur</translation> + </message> + <message> + <source>Description</source> + <translation>Description</translation> + </message> +</context> +<context> + <name>documentPublishingDialog</name> + <message> + <source>Dialog</source> + <translation>Dialogue</translation> + </message> + <message> + <source>Title</source> + <translation>Titre</translation> + </message> + <message> + <source>E-mail</source> + <translation>E-mail</translation> + </message> + <message> + <source>Author</source> + <translation>Auteur</translation> + </message> + <message> + <source>Description</source> + <translation>Description</translation> + </message> + <message> + <source>Attach Downloadable PDF Version</source> + <translation type="unfinished">Attacher la version PDF</translation> + </message> + <message> + <source>Attach Downloadable Uniboard File (UBZ)</source> + <translation type="unfinished">Attacher le fichier Sankoré (UBZ)</translation> + </message> + <message> + <source>Warning: This documents contains video, which will not be displayed properly on the Web</source> + <translation>Attention: Ce document contient une vidéo qui ne peut pas s'afficher correctement sur le Web</translation> + </message> +</context> +<context> + <name>documents</name> + <message> + <source>Uniboard Documents</source> + <translation>Documents Uniboard</translation> + </message> + <message> + <source>1</source> + <translation></translation> + </message> +</context> +<context> + <name>preferencesDialog</name> + <message> + <source>Preferences</source> + <translation>Préférences</translation> + </message> + <message> + <source>Default Settings</source> + <translation>Réglages par défaut</translation> + </message> + <message> + <source>Close</source> + <translation>Fermer</translation> + </message> + <message> + <source>Display</source> + <translation>Affichage</translation> + </message> + <message> + <source>Show Page with External Browser</source> + <translation type="unfinished">Ouvrir la page dans un navigateur Web externe</translation> + </message> + <message> + <source>Virtual Keyboard</source> + <translation>Clavier virtuel</translation> + </message> + <message> + <source>Minimize keyboard when not active</source> + <translation>Minimiser le clavier virtuel lorsqu'il n'est pas actif</translation> + </message> + <message> + <source>Keyboard button size:</source> + <translation type="unfinished">Taille des touches du clavier virtuel:</translation> + </message> + <message> + <source>Positioned at the Top (recommended for tablets)</source> + <translation type="unfinished">Positionné en haut (recommandé pour les tablettes)</translation> + </message> + <message> + <source>Positioned at the Bottom (recommended for white boards)</source> + <translation type="unfinished">Positionné en bas (recommandé pour les tableaux blancs)</translation> + </message> + <message> + <source>Display Text Under Button</source> + <translation>Afficher les textes sous les boutons</translation> + </message> + <message> + <source>Software Update</source> + <translation>Mise à jour du logiciel</translation> + </message> + <message> + <source>Check software update at launch</source> + <translation>Vérifier la mise à jour logicielle au lancement</translation> + </message> + <message> + <source>Internet</source> + <translation>Internet</translation> + </message> + <message> + <source>Home Page:</source> + <translation>Page d'accueil :</translation> + </message> + <message> + <source>Proxy User/Pass:</source> + <translation>Proxy User/Pass:</translation> + </message> + <message> + <source>Show main display immediately on secondary screen or projector</source> + <translation>Afficher immédiatement l'écran principal sur l'écran secondaire ou le projecteur</translation> + </message> + <message utf8="true"> + <source>version : …</source> + <translation>version:...</translation> + </message> + <message> + <source>Toolbar</source> + <translation>Barre d'outils</translation> + </message> + <message> + <source>Mirroring</source> + <translation>Recopie vidéo</translation> + </message> + <message> + <source>Stylus Palette</source> + <translation type="unfinished">Barre d'outil du stylet</translation> + </message> + <message> + <source>Horizontal</source> + <translation>Horizontale</translation> + </message> + <message> + <source>Vertical</source> + <translation>Verticale</translation> + </message> + <message> + <source>Pen</source> + <translation>Stylo</translation> + </message> + <message> + <source>Marker</source> + <translation>Marqueur</translation> + </message> + <message> + <source>About</source> + <translation>A propos</translation> + </message> + <message> + <source>Licences</source> + <translation type="unfinished">Licences</translation> + </message> + <message> + <source>OpenSSl</source> + <translation>OpenSSl</translation> + </message> + <message> + <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; color:#1a1a1a;">The OpenSSL toolkit stays under a dual license, i.e. both the conditions of the OpenSSL License and the original SSLeay license apply to the toolkit.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; color:#1a1a1a;">See below for the actual license texts. Actually both licenses are BSD-style Open Source licenses. In case of any license issues related to OpenSSL please contact </span><a href="mailto:openssl-core@openssl.org"><span style=" font-size:9pt; text-decoration: underline; color:#0000ff;">openssl-core@openssl.org</span></a><span style=" font-size:9pt; color:#1a1a1a;">.</span><span style=" font-size:9pt;"> </span></p></body></html></source> + <translation></translation> + </message> + <message> + <source>zlib</source> + <translation>zlib</translation> + </message> + <message> + <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:10pt; font-weight:400; font-style:normal;"> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; color:#1a1a1a;">Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler</span><span style=" font-size:12pt;"><br /><br /></span><span style=" font-size:9pt; color:#1a1a1a;"> This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.</span><span style=" font-size:9pt;"><br /><br /></span><span style=" font-size:9pt; color:#1a1a1a;"> Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:</span><span style=" font-size:9pt;"><br /><br /></span><span style=" font-size:9pt; color:#1a1a1a;"> 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.</span><span style=" font-size:9pt;"><br /></span><span style=" font-size:9pt; color:#1a1a1a;"> 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.</span><span style=" font-size:9pt;"><br /></span><span style=" font-size:9pt; color:#1a1a1a;"> 3. This notice may not be removed or altered from any source distribution.</span><span style=" font-size:9pt;"> </span></p></body></html></source> + <translation></translation> + </message> + <message> + <source>xpdf</source> + <translation>xpdf</translation> + </message> + <message> + <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:10pt; font-weight:400; font-style:normal;"> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; color:#000000;">Xpdf is licensed under the GNU General Public License (GPL), version 2.</span></p></body></html></source> + <translation></translation> + </message> + <message> + <source>Quazip</source> + <translation>Quazip</translation> + </message> + <message> + <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:10pt; font-weight:400; font-style:normal;"> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">GNU Library or Lesser General Public License (LGPL), zlib/libpng License</span></p></body></html></source> + <translation></translation> + </message> + <message utf8="true"> + <source>Sankoré 3.1</source> + <translation>Sankoré 3.1</translation> + </message> + <message> + <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:10pt; font-weight:400; font-style:normal;"> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">SANKORE3.1 is free software: you can redistribute it and/or modify it under the terms of the Lesser GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version. You can find the source code of this software at &lt;https://adullact.net/projects/sankore/&gt;</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">SANKORE3.1 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 Lesser GNU General Public License below for more details.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> GNU LESSER GENERAL PUBLIC LICENSE</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> Version 3, 29 June 2007</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> Copyright (C) 2007 Free Software Foundation, Inc. &lt;http://fsf.org/&gt;</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> Everyone is permitted to copy and distribute verbatim copies</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> of this license document, but changing it is not allowed.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> This version of the GNU Lesser General Public License incorporates</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">the terms and conditions of version 3 of the GNU General Public</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">License, supplemented by the additional permissions listed below.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> 0. Additional Definitions.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> As used herein, &quot;this License&quot; refers to version 3 of the GNU Lesser</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">General Public License, and the &quot;GNU GPL&quot; refers to version 3 of the GNU</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">General Public License.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> &quot;The Library&quot; refers to a covered work governed by this License,</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">other than an Application or a Combined Work as defined below.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> An &quot;Application&quot; is any work that makes use of an interface provided</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">by the Library, but which is not otherwise based on the Library.</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Defining a subclass of a class defined by the Library is deemed a mode</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">of using an interface provided by the Library.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> A &quot;Combined Work&quot; is a work produced by combining or linking an</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Application with the Library. The particular version of the Library</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">with which the Combined Work was made is also called the &quot;Linked</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Version&quot;.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> The &quot;Minimal Corresponding Source&quot; for a Combined Work means the</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Corresponding Source for the Combined Work, excluding any source code</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">for portions of the Combined Work that, considered in isolation, are</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">based on the Application, and not on the Linked Version.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> The &quot;Corresponding Application Code&quot; for a Combined Work means the</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">object code and/or source code for the Application, including any data</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">and utility programs needed for reproducing the Combined Work from the</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Application, but excluding the System Libraries of the Combined Work.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> 1. Exception to Section 3 of the GNU GPL.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> You may convey a covered work under sections 3 and 4 of this License</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">without being bound by section 3 of the GNU GPL.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> 2. Conveying Modified Versions.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> If you modify a copy of the Library, and, in your modifications, a</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">facility refers to a function or data to be supplied by an Application</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">that uses the facility (other than as an argument passed when the</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">facility is invoked), then you may convey a copy of the modified</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">version:</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> a) under this License, provided that you make a good faith effort to</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> ensure that, in the event an Application does not supply the</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> function or data, the facility still operates, and performs</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> whatever part of its purpose remains meaningful, or</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> b) under the GNU GPL, with none of the additional permissions of</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> this License applicable to that copy.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> 3. Object Code Incorporating Material from Library Header Files.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> The object code form of an Application may incorporate material from</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">a header file that is part of the Library. You may convey such object</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">code under terms of your choice, provided that, if the incorporated</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">material is not limited to numerical parameters, data structure</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">layouts and accessors, or small macros, inline functions and templates</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">(ten or fewer lines in length), you do both of the following:</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> a) Give prominent notice with each copy of the object code that the</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> Library is used in it and that the Library and its use are</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> covered by this License.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> b) Accompany the object code with a copy of the GNU GPL and this license</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> document.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> 4. Combined Works.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> You may convey a Combined Work under terms of your choice that,</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">taken together, effectively do not restrict modification of the</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">portions of the Library contained in the Combined Work and reverse</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">engineering for debugging such modifications, if you also do each of</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">the following:</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> a) Give prominent notice with each copy of the Combined Work that</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> the Library is used in it and that the Library and its use are</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> covered by this License.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> b) Accompany the Combined Work with a copy of the GNU GPL and this license</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> document.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> c) For a Combined Work that displays copyright notices during</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> execution, include the copyright notice for the Library among</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> these notices, as well as a reference directing the user to the</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> copies of the GNU GPL and this license document.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> d) Do one of the following:</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> 0) Convey the Minimal Corresponding Source under the terms of this</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> License, and the Corresponding Application Code in a form</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> suitable for, and under terms that permit, the user to</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> recombine or relink the Application with a modified version of</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> the Linked Version to produce a modified Combined Work, in the</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> manner specified by section 6 of the GNU GPL for conveying</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> Corresponding Source.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> 1) Use a suitable shared library mechanism for linking with the</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> Library. A suitable mechanism is one that (a) uses at run time</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> a copy of the Library already present on the user's computer</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> system, and (b) will operate properly with a modified version</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> of the Library that is interface-compatible with the Linked</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> Version.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> e) Provide Installation Information, but only if you would otherwise</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> be required to provide such information under section 6 of the</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> GNU GPL, and only to the extent that such information is</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> necessary to install and execute a modified version of the</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> Combined Work produced by recombining or relinking the</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> Application with a modified version of the Linked Version. (If</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> you use option 4d0, the Installation Information must accompany</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> the Minimal Corresponding Source and Corresponding Application</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> Code. If you use option 4d1, you must provide the Installation</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> Information in the manner specified by section 6 of the GNU GPL</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> for conveying Corresponding Source.)</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> 5. Combined Libraries.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> You may place library facilities that are a work based on the</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Library side by side in a single library together with other library</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">facilities that are not Applications and are not covered by this</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">License, and convey such a combined library under terms of your</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">choice, if you do both of the following:</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> a) Accompany the combined library with a copy of the same work based</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> on the Library, uncombined with any other library facilities,</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> conveyed under the terms of this License.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> b) Give prominent notice with the combined library that part of it</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> is a work based on the Library, and explaining where to find the</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> accompanying uncombined form of the same work.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> 6. Revised Versions of the GNU Lesser General Public License.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> The Free Software Foundation may publish revised and/or new versions</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">of the GNU Lesser General Public License from time to time. Such new</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">versions will be similar in spirit to the present version, but may</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">differ in detail to address new problems or concerns.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> Each version is given a distinguishing version number. If the</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Library as you received it specifies that a certain numbered version</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">of the GNU Lesser General Public License &quot;or any later version&quot;</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">applies to it, you have the option of following the terms and</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">conditions either of that published version or of any later version</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">published by the Free Software Foundation. If the Library as you</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">received it does not specify a version number of the GNU Lesser</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">General Public License, you may choose any version of the GNU Lesser</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">General Public License ever published by the Free Software Foundation.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;"> If the Library as you received it specifies that a proxy can decide</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">whether future versions of the GNU Lesser General Public License shall</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">apply, that proxy's public statement of acceptance of any version is</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">permanent authorization for you to choose that version for the</span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt;">Library.</span></p></body></html></source> + <translation></translation> + </message> + <message utf8="true"> + <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:10pt; font-weight:400; font-style:normal;"> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; color:#1a1a1a;">Sankoré 3.1 version , Copyright (C) 2010 Sankoré 3.1 comes with ABSOLUTELY NO WARRANTY.</span><span style=" font-size:9pt;"><br /></span><span style=" font-size:9pt; color:#35382a;"> </span></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; color:#35382a;">This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt; color:#35382a;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; color:#35382a;">This program 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 General Public License for more details.</span></p> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:9pt; color:#35382a;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; color:#35382a;">You should have received a copy of the GNU General Public License along with this program. If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></p></body></html></source> + <translation></translation> + </message> + <message utf8="true"> + <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:10pt; font-weight:400; font-style:normal;"> +<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; color:#3c3c3c;">GIPENA</span><span style=" font-size:9pt;"><br /></span><span style=" font-size:9pt; color:#3c3c3c;">Délégation Interministérielle à l'Education Numérique en Afrique</span><span style=" font-size:9pt;"><br /></span><span style=" font-size:9pt; color:#3c3c3c;">20 Avenue Ségur Paris 75007</span><span style=" font-size:9pt;"><br /><br /></span><span style=" font-size:9pt; color:#3c3c3c;">Téléphone : 01 43 17 68 08</span><span style=" font-size:9pt;"><br /><br /></span><span style=" font-size:9pt; color:#3c3c3c;">email: </span><a href="mailto:contact@sankore.org"><span style=" font-size:9pt; text-decoration: underline; color:#0000ff;">contact@sankore.org</span></a><span style=" font-size:9pt;"> </span></p></body></html></source> + <translation></translation> + </message> +</context> +<context> + <name>trapFlashDialog</name> + <message> + <source>Trap flash</source> + <translation>Capturer du contenu Flash</translation> + </message> + <message> + <source>Select a flash to trap</source> + <translation>Sélectionner un contenu Flash à capturer</translation> + </message> + <message> + <source>about:blank</source> + <translation>about:blank</translation> + </message> + <message> + <source>Application name</source> + <translation>Nom de l'application</translation> + </message> + <message> + <source>Create Application</source> + <translation>Créer une Application</translation> + </message> +</context> +</TS> diff --git a/resources/library/interactive/Calculator.wgt/index.html b/resources/library/interactive/Calculator.wgt/index.html index 624970b1..970e8b12 100644 --- a/resources/library/interactive/Calculator.wgt/index.html +++ b/resources/library/interactive/Calculator.wgt/index.html @@ -1,33 +1,33 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> - <title>ubwidget</title> - - <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script> - <script src="js/jquery-ui-1.7.2.custom.min.js" type="text/javascript"></script> - <script src="js/jquery.disable.text.select.js" type="text/javascript"></script> - <script src="js/jquery.center.js" type="text/javascript"></script> - <script src="js/jquery.ubwidget.js" type="text/javascript"></script> - <script src="js/DD_roundies_0.0.2a.js" type="text/javascript"></script> - <script src="js/ubw-main.js" type="text/javascript"></script> - <script src="js/calculate.js" type="text/javascript"></script> - - <link rel="stylesheet" type="text/css" href="css/ubwidget.css" /> - -</head> - -<body> - - <script type="text/javascript"> - $(document).ready(function(){ - init(); - }); - </script> - - <div id="ubwidget"></div> - -</body> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>ubwidget</title> + + <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script> + <script src="js/jquery-ui-1.7.2.custom.min.js" type="text/javascript"></script> + <script src="js/jquery.disable.text.select.js" type="text/javascript"></script> + <script src="js/jquery.center.js" type="text/javascript"></script> + <script src="js/jquery.ubwidget.js" type="text/javascript"></script> + <script src="js/DD_roundies_0.0.2a.js" type="text/javascript"></script> + <script src="js/ubw-main.js" type="text/javascript"></script> + <script src="js/calculate.js" type="text/javascript"></script> + + <link rel="stylesheet" type="text/css" href="css/ubwidget.css" /> + + </head> + + <body> + + <script type="text/javascript"> + $(document).ready(function(){ + init(); + }); + </script> + + <div id="ubwidget"></div> + + </body> </html> \ No newline at end of file diff --git a/resources/library/interactive/Calculator.wgt/js/ubw-main.js b/resources/library/interactive/Calculator.wgt/js/ubw-main.js index 7e08d0dc..7bc45984 100644 --- a/resources/library/interactive/Calculator.wgt/js/ubw-main.js +++ b/resources/library/interactive/Calculator.wgt/js/ubw-main.js @@ -14,392 +14,513 @@ */ function init(){ - var h = 292; - var w = 160; - var wh = h+6; - var ww = w+6; - - var ubwidget = $("#ubwidget").ubwidget({ - width:w, - height:h - }); + var h = 292; + var w = 160; + var wh = h+6; + var ww = w+6; + var clickFlag = false; + + var ubwidget = $("#ubwidget").ubwidget({ + width:w, + height:h + }); - var historyTab = $("<div></div>") - .css({ - height:h, - marginRight:0, - width:20, - float:"left", - backgroundImage:"url(images/historytab.png)", - backgroundRepeat:"no-repeat" - }) - .toggle( - function(){ - resizeWidget(370, 294); - historyPanel.show(); - $(".ubw-container").css({ - backgroundImage:"url(images/back.png)", - width:328 - }); - if(window.sankore){ - window.sankore.setPreference('historyTab', "visible"); - }; - }, - function(){ - resizeWidget(200, 294); - historyPanel.hide(); - $(".ubw-container").css({ - backgroundImage:"url(images/back_small.png)", - width:160 - }); - if(window.sankore){ - window.sankore.setPreference('historyTab', "hidden"); - }; - } - ) - .hover( - function(){ - $(this).css({ - backgroundImage:"url(images/historytabOver.png)" - }); - }, - function(){ - $(this).css({ - backgroundImage:"url(images/historytab.png)" - }); - } - ) - .appendTo($("body")); + var historyTab = $("<div></div>") + .css({ + height:h, + marginRight:0, + width:20, + float:"left", + backgroundImage:"url(images/historytab.png)", + backgroundRepeat:"no-repeat" + }) + .toggle( + function(){ + resizeWidget(370, 294); + historyPanel.show(); + $(".ubw-container").css({ + backgroundImage:"url(images/back.png)", + width:328 + }); + if(window.sankore){ + window.sankore.setPreference('historyTab', "visible"); + }; + }, + function(){ + resizeWidget(200, 294); + historyPanel.hide(); + $(".ubw-container").css({ + backgroundImage:"url(images/back_small.png)", + width:160 + }); + if(window.sankore){ + window.sankore.setPreference('historyTab', "hidden"); + }; + } + ) + .hover( + function(){ + $(this).css({ + backgroundImage:"url(images/historytabOver.png)" + }); + }, + function(){ + $(this).css({ + backgroundImage:"url(images/historytab.png)" + }); + } + ) + .appendTo($("body")); - var space = $("<div></div>"); - space.css({width:5, height:1, float:"left"}); + var space = $("<div></div>"); + space.css({ + width:5, + height:1, + float:"left" + }); - var keysPanel = $("<div id='keysPanel'></div>").css({float:"left"}); - var mode = "standard"; - var calc = ""; - var displayTrunk = ""; - var historyTrunk = ""; - var lastHistory = ""; - var subtrunk = 0; - var itrunk = 0; - var trunkpos = 0; - var lastchar = {type:"NaN", value:"null"}; - var inparenthesis = false; - var erase = false; - var abtn; - var readyToCompute = false; - var lastResult = "0"; - var gDecimalSeparator = ""; - var gThousandsSeparator = ""; - var gDecimalCode = 0; - var gDecimalString = ""; - var gError = false; + var keysPanel = $("<div id='keysPanel'></div>").css({ + float:"left" + }); + var mode = "standard"; + var calc = ""; + var displayTrunk = ""; + var historyTrunk = ""; + var lastHistory = ""; + var subtrunk = 0; + var itrunk = 0; + var trunkpos = 0; + var lastchar = { + type:"NaN", + value:"null" + }; + var inparenthesis = false; + var erase = false; + var abtn; + var readyToCompute = false; + var lastResult = "0"; + var gDecimalSeparator = ""; + var gThousandsSeparator = ""; + var gDecimalCode = 0; + var gDecimalString = ""; + var gError = false; - var historyTxt = "0"; + var historyTxt = "0"; - var display = $("<div id='display'>0</div>") - .addClass("ubw-inputbox") - .css({ - padding:"12px", - marginLeft:"2px", - marginBottom:"9px", - marginTop:7, - backgroundImage:"url(images/display.png)", - fontSize:"22px", - fontFamily:"Arial, Helvetica, Sans-serif", - color:"#777788", - width:118, - height:28, - overflow:"hidden", - textAlign:"right", - }); + var display = $("<div id='display'>0</div>") + .addClass("ubw-inputbox") + .css({ + padding:"12px", + marginLeft:"2px", + marginBottom:"9px", + marginTop:7, + backgroundImage:"url(images/display.png)", + fontSize:"22px", + fontFamily:"Arial, Helvetica, Sans-serif", + color:"#777788", + width:118, + height:28, + overflow:"hidden", + textAlign:"right", + }); - var standardPanel = $("<div></div>").css({float:"left"}); + var standardPanel = $("<div></div>").css({ + float:"left" + }); - var cKeySize = {w:33, h:36}; + var cKeySize = { + w:33, + h:36 + }; - var btn7 = $("<div><img src='images/touche7.png'/></div>").ubwbutton({w:cKeySize.w, h:cKeySize.h}) - .mousedown(function(){appendToDisplay("7", 1)}); - var btn8 = $("<div><img src='images/touche8.png'/></div>").ubwbutton({w:cKeySize.w, h:cKeySize.h}) - .mousedown(function(){appendToDisplay("8", 1)}); - var btn9 = $("<div><img src='images/touche9.png'/></div>").ubwbutton({w:cKeySize.w, h:cKeySize.h}) - .mousedown(function(){appendToDisplay("9", 1)}); - var btnDiv = $("<div><img src='images/touchediv.png'/></div>").ubwbutton({w:cKeySize.w, h:cKeySize.h}) - .mousedown(function(){appendToDisplay("/", 0)}); - var btn4 = $("<div><img src='images/touche4.png'/></div>").ubwbutton({w:cKeySize.w, h:cKeySize.h}) - .mousedown(function(){appendToDisplay("4", 1)}); - var btn5 = $("<div><img src='images/touche5.png'/></div>").ubwbutton({w:cKeySize.w, h:cKeySize.h}) - .mousedown(function(){appendToDisplay("5", 1)}); - var btn6 = $("<div><img src='images/touche6.png'/></div>").ubwbutton({w:cKeySize.w, h:cKeySize.h}) - .mousedown(function(){appendToDisplay("6", 1)}); - var btnMul = $("<div><img src='images/touchef.png'/></div>").ubwbutton({w:cKeySize.w, h:cKeySize.h}) - .mousedown(function(){appendToDisplay("*", 0)}); - var btn1 = $("<div><img src='images/touche1.png'/></div>").ubwbutton({w:cKeySize.w, h:cKeySize.h}) - .mousedown(function(){appendToDisplay("1", 1)}); - var btn2 = $("<div><img src='images/touche2.png'/></div>").ubwbutton({w:cKeySize.w, h:cKeySize.h}) - .mousedown(function(){appendToDisplay("2", 1)}); - var btn3 = $("<div><img src='images/touche3.png'/></div>").ubwbutton({w:cKeySize.w, h:cKeySize.h}) - .mousedown(function(){appendToDisplay("3", 1)}); - var btnSou = $("<div><img src='images/touchem.png'/></div>").ubwbutton({w:68, h:34}) - .mousedown(function(){appendToDisplay("-", 0)}); - var btn0 = $("<div><img src='images/touche0.png'/></div>").ubwbutton({w:cKeySize.w, h:cKeySize.h}) - .mousedown(function(){appendToDisplay("0", 1)}); - var btnDot = $("<div><img src='images/touchedot.png'/></div>").ubwbutton({w:cKeySize.w, h:cKeySize.h}) - .mousedown(function(){appendToDisplay(".", 1)}); - var btnC = $("<div><img src='images/touchec.png'/></div>").ubwbutton({w:cKeySize.w, h:cKeySize.h}) - .mousedown(function(){reset()}); - var btnAdd = $("<div><img src='images/touchep.png'/></div>").ubwbutton({w:68, h:34}) - .mousedown(function(){appendToDisplay("+", 0)}); - var btnPaL = $("<div><img src='images/touchepg.png'/></div>").ubwbutton({w:cKeySize.w, h:cKeySize.h}) - .mousedown(function(){appendToDisplay("(", 1)}); - var btnPaR = $("<div><img src='images/touchepd.png'/></div>").ubwbutton({w:cKeySize.w, h:cKeySize.h}) - .mousedown(function(){appendToDisplay(")", 1)}); - var btnEqu = $("<div><img src='images/toucheeq.png'/></div>").ubwbutton({w:cKeySize.w, h:cKeySize.h}) - .mousedown(function(){compute()}); + var btn7 = $("<div><img src='images/touche7.png'/></div>").ubwbutton({ + w:cKeySize.w, + h:cKeySize.h + }) + .mousedown(function(){ + appendToDisplay("7", 1) + }); + var btn8 = $("<div><img src='images/touche8.png'/></div>").ubwbutton({ + w:cKeySize.w, + h:cKeySize.h + }) + .mousedown(function(){ + appendToDisplay("8", 1) + }); + var btn9 = $("<div><img src='images/touche9.png'/></div>").ubwbutton({ + w:cKeySize.w, + h:cKeySize.h + }) + .mousedown(function(){ + appendToDisplay("9", 1) + }); + var btnDiv = $("<div><img src='images/touchediv.png'/></div>").ubwbutton({ + w:cKeySize.w, + h:cKeySize.h + }) + .mousedown(function(){ + appendToDisplay("/", 0) + }); + var btn4 = $("<div><img src='images/touche4.png'/></div>").ubwbutton({ + w:cKeySize.w, + h:cKeySize.h + }) + .mousedown(function(){ + appendToDisplay("4", 1) + }); + var btn5 = $("<div><img src='images/touche5.png'/></div>").ubwbutton({ + w:cKeySize.w, + h:cKeySize.h + }) + .mousedown(function(){ + appendToDisplay("5", 1) + }); + var btn6 = $("<div><img src='images/touche6.png'/></div>").ubwbutton({ + w:cKeySize.w, + h:cKeySize.h + }) + .mousedown(function(){ + appendToDisplay("6", 1) + }); + var btnMul = $("<div><img src='images/touchef.png'/></div>").ubwbutton({ + w:cKeySize.w, + h:cKeySize.h + }) + .mousedown(function(){ + appendToDisplay("*", 0) + }); + var btn1 = $("<div><img src='images/touche1.png'/></div>").ubwbutton({ + w:cKeySize.w, + h:cKeySize.h + }) + .mousedown(function(){ + appendToDisplay("1", 1) + }); + var btn2 = $("<div><img src='images/touche2.png'/></div>").ubwbutton({ + w:cKeySize.w, + h:cKeySize.h + }) + .mousedown(function(){ + appendToDisplay("2", 1) + }); + var btn3 = $("<div><img src='images/touche3.png'/></div>").ubwbutton({ + w:cKeySize.w, + h:cKeySize.h + }) + .mousedown(function(){ + appendToDisplay("3", 1) + }); + var btnSou = $("<div><img src='images/touchem.png'/></div>").ubwbutton({ + w:68, + h:34 + }) + .mousedown(function(){ + appendToDisplay("-", 0) + }); + var btn0 = $("<div><img src='images/touche0.png'/></div>").ubwbutton({ + w:cKeySize.w, + h:cKeySize.h + }) + .mousedown(function(){ + appendToDisplay("0", 1) + }); + var btnDot = $("<div><img src='images/touchedot.png'/></div>").ubwbutton({ + w:cKeySize.w, + h:cKeySize.h + }) + .mousedown(function(){ + appendToDisplay(".", 1) + }); + var btnC = $("<div><img src='images/touchec.png'/></div>").ubwbutton({ + w:cKeySize.w, + h:cKeySize.h + }) + .mousedown(function(){ + reset() + }); + var btnAdd = $("<div><img src='images/touchep.png'/></div>").ubwbutton({ + w:68, + h:34 + }) + .mousedown(function(){ + appendToDisplay("+", 0) + }); + var btnPaL = $("<div><img src='images/touchepg.png'/></div>").ubwbutton({ + w:cKeySize.w, + h:cKeySize.h + }) + .mousedown(function(){ + appendToDisplay("(", 1) + }); + var btnPaR = $("<div><img src='images/touchepd.png'/></div>").ubwbutton({ + w:cKeySize.w, + h:cKeySize.h + }) + .mousedown(function(){ + appendToDisplay(")", 1) + }); + var btnEqu = $("<div><img src='images/toucheeq.png'/></div>").ubwbutton({ + w:cKeySize.w, + h:cKeySize.h + }) + .mousedown(function(){ + compute() + }); - var historyPanel = $("<div id='historyPanel'></div>") - .css({ - backgroundImage:"url(images/historyback.png)", - width:"auto", - height:"auto", - float:"left", - marginLeft:3, - marginRight:2, - marginTop:6 - }) - .hide(); + var historyPanel = $("<div id='historyPanel'></div>") + .css({ + backgroundImage:"url(images/historyback.png)", + width:"auto", + height:"auto", + float:"left", + marginLeft:3, + marginRight:2, + marginTop:6 + }) + .hide(); - var historyBox = $("<textarea id='historyBox'></textarea>") - .css({ - padding:10, - fontSize:"20px", - fontFamily:"Arial, Helvetica, Sans-serif", - width:143, - height:236, - backgroundColor:"transparent", - resize:"none", - border:"none", - overlay:"none", - color:"#eeeeee" - }) - .val("0"); + var historyBox = $("<textarea id='historyBox'></textarea>") + .css({ + padding:10, + fontSize:"20px", + fontFamily:"Arial, Helvetica, Sans-serif", + width:143, + height:236, + backgroundColor:"transparent", + resize:"none", + border:"none", + overlay:"none", + color:"#eeeeee" + }) + .val("0"); - historyPanel.append(historyBox); + historyPanel.append(historyBox); - var stop = $("<div></div>"); - var sleft = $("<div></div>"); - var sright = $("<div></div>"); + var stop = $("<div></div>"); + var sleft = $("<div></div>"); + var sright = $("<div></div>"); - stop.css({width:140}) - .append(btnAdd).append(btnSou) - .append(btn7).append(btn8).append(btn9).append(btnMul) - .append(btn4).append(btn5).append(btn6).append(btnDiv); + stop.css({ + width:140 + }) + .append(btnAdd).append(btnSou) + .append(btn7).append(btn8).append(btn9).append(btnMul) + .append(btn4).append(btn5).append(btn6).append(btnDiv); - sleft.css({width:105, float:"left"}) - .append(btn1).append(btn2).append(btn3) - .append(btn0).append(btnDot).append(btnC); + sleft.css({ + width:105, + float:"left" + }) + .append(btn1).append(btn2).append(btn3) + .append(btn0).append(btnDot).append(btnC); - sright.css({width:45, float:"left"}) - .append(btnEqu); + sright.css({ + width:45, + float:"left" + }) + .append(btnEqu); - standardPanel.css({width:150}) - .append(stop) - .append(sleft).append(sright); + standardPanel.css({ + width:150 + }) + .append(stop) + .append(sleft).append(sright); - keysPanel - .append(display) - .append(standardPanel); + keysPanel + .append(display) + .append(standardPanel); - ubwidget - .append(historyPanel) - .append(keysPanel); + ubwidget + .append(historyPanel) + .append(keysPanel); - if(window.sankore){ - historyTxt = window.sankore.preference('historyTxt', historyTxt); - var ht = window.sankore.preference('historyTab', "hidden"); - $("#historyBox").val(historyTxt); - if(ht === "visible"){ - historyTab.trigger("click"); - }; - } + if(window.sankore){ + historyTxt = window.sankore.preference('historyTxt', historyTxt); + var ht = window.sankore.preference('historyTab', "hidden"); + $("#historyBox").val(historyTxt); + if(ht === "visible"){ + historyTab.trigger("click"); + }; + } -function resizeWidget(w, h){ - window.sankore.resize(w+2, h+2); - $("#indicator").remove(); - var indicator = $("<div id='indicator'></div>") - .css({ - width:w, - height:h, - position:"absolute", - left:0, - top:0, - border:"1px solid #ff0000" - }); -} + function resizeWidget(w, h){ + window.sankore.resize(w+2, h+2); + } -function compute(){ - var result = eval(calc) + function compute(){ + var result = eval(calc) - $("#display").text(updateDisplay(result)); - lastResult = result; - lastchar.type = "Nan"; - lastchar.value = ""; - calc = ""; + $("#display").text(updateDisplay(result)); + lastResult = result; + lastchar.type = "Nan"; + lastchar.value = ""; + calc = ""; - $("#historyBox").val($("#historyBox").val()+historyTrunk+"\n= "+updateDisplay(result)+"\n\n"); - $("#historyBox").scrollTop(99999); + $("#historyBox").val($("#historyBox").val()+historyTrunk+"\n= "+updateDisplay(result)+"\n\n"); + $("#historyBox").scrollTop(99999); - displayTrunk = ""; - historyTrunk = ""; + displayTrunk = ""; + historyTrunk = ""; - if(window.sankore){ - window.sankore.setPreference('historyTxt', $("#historyBox").val()); - }; + if(window.sankore){ + window.sankore.setPreference('historyTxt', $("#historyBox").val()); + }; - lastHistory = $("#historyBox").val(); -} + lastHistory = $("#historyBox").val(); + } -function reset(){ - $("#display").text("0"); - calc=""; - displayTrunk=""; - historyTrunk=""; - $("#historyBox").val(lastHistory); - $("#historyBox").scrollTop(99999); -} + function reset(){ + $("#display").text("0"); + calc=""; + displayTrunk=""; + historyTrunk=""; + $("#historyBox").val(lastHistory); + $("#historyBox").scrollTop(99999); + } -function formatNumberWithDelimiters(number) { - var delimiter = gThousandsSeparator; - var numString = number.toString(); + function formatNumberWithDelimiters(number) { + var delimiter = gThousandsSeparator; + var numString = number.toString(); - if (!numString) - return "0"; + if (!numString) + return "0"; - var dot = numString.indexOf(gDecimalSeparator); - if (dot == -1) - dot = numString.length; + var dot = numString.indexOf(gDecimalSeparator); + if (dot == -1) + dot = numString.length; - var stop = numString.length-dot; - var characteristic = numString.substr(0, dot); - if (!parseInt(characteristic)) - return numString; + var stop = numString.length-dot; + var characteristic = numString.substr(0, dot); + if (!parseInt(characteristic)) + return numString; - // see if it's a negative number - var numIsNegative = (parseInt(characteristic) < 0) + // see if it's a negative number + var numIsNegative = (parseInt(characteristic) < 0) - var newNumber = ""; - var delimiterCount = Math.floor((characteristic.length-1) / 3); - var extras = characteristic.length % 3; - if (!extras && characteristic.length > 2) - extras = 3; + var newNumber = ""; + var delimiterCount = Math.floor((characteristic.length-1) / 3); + var extras = characteristic.length % 3; + if (!extras && characteristic.length > 2) + extras = 3; - if (extras) - newNumber = newNumber + characteristic.substr(0, extras); + if (extras) + newNumber = newNumber + characteristic.substr(0, extras); - for (var i=0;i< delimiterCount; i++) { + for (var i=0;i< delimiterCount; i++) { - if ( (0 == i) && numIsNegative && (extras == 1)) - newNumber = newNumber + characteristic.substr(extras + (i * 3), 3); - else - newNumber = newNumber + delimiter + characteristic.substr(extras + (i * 3), 3); - } + if ( (0 == i) && numIsNegative && (extras == 1)) + newNumber = newNumber + characteristic.substr(extras + (i * 3), 3); + else + newNumber = newNumber + delimiter + characteristic.substr(extras + (i * 3), 3); + } - return (dot ? (newNumber + numString.substr(dot, stop)) : newNumber); -} + return (dot ? (newNumber + numString.substr(dot, stop)) : newNumber); + } -function formatNumberWithScientificNotation(number) { - if (number == 0) - return number; + function formatNumberWithScientificNotation(number) { + if (number == 0) + return number; - var numString = number.toString(); - if (!numString) - return "0"; + var numString = number.toString(); + if (!numString) + return "0"; - var num = new Number(numString); - var sci = num.toExponential(5); - if (sci == "NaN") - sci = formatNumberWithDelimiters(numString); - if (!sci) - return "0"; + var num = new Number(numString); + var sci = num.toExponential(5); + if (sci == "NaN") + sci = formatNumberWithDelimiters(numString); + if (!sci) + return "0"; - return sci; -} + return sci; + } -function updateDisplay(number){ - if(String(number).length > 8){ - number = formatNumberWithScientificNotation(number); - } - else{ - number = number; - } + function updateDisplay(number){ + if(String(number).length > 8){ + number = formatNumberWithScientificNotation(number); + } + else{ + number = number; + } - return number; -} + return number; + } -function appendToDisplay(_char, v){ - var char = _char; + function appendToDisplay(_char, v){ + var char = _char; - // Display - if($("#historyBox").val() === "0"){ - $("#historyBox").val(""); - }; + // Display + if($("#historyBox").val() === "0"){ + $("#historyBox").val(""); + }; - if(char == "-" && lastchar.type == "NaN"){ - char = "m"; - }; + if(char == "-" && lastchar.type == "NaN"){ + char = "m"; + }; - // char is a number - if(char <= 0 || char > 0 || char == "." || char == "m" || char == "(" || char == ")"){ - if(char == "m"){ - char = "-"; - }; + // char is a number + if(char <= 0 || char > 0 || char == "." || char == "m" || char == "(" || char == ")"){ + if(char == "m"){ + char = "-"; + }; - if(lastchar.type == "NaN"){ - displayTrunk = ""; - }; + if(lastchar.type == "NaN"){ + displayTrunk = ""; + }; - if(lastchar.value == "." && char == "."){ - calc = calc.substr(0, calc.length-1); - displayTrunk = displayTrunk.substr(0, displayTrunk.length-1); - }; + if(lastchar.value == "." && char == "."){ + calc = calc.substr(0, calc.length-1); + displayTrunk = displayTrunk.substr(0, displayTrunk.length-1); + }; - calc += String(char); - displayTrunk += String(char); - historyTrunk += String(char); - lastchar.type = "Number"; - } - // char is an operator - else { - if(calc.length === 0){ - var endCalc = calc; - calc = lastResult + endCalc; - historyTrunk = updateDisplay(lastResult); - } + calc += String(char); + displayTrunk += String(char); + historyTrunk += String(char); + lastchar.type = "Number"; + } + // char is an operator + else { + if(calc.length === 0){ + var endCalc = calc; + calc = lastResult + endCalc; + historyTrunk = updateDisplay(lastResult); + } - if(lastchar.type == "NaN"){ - calc = calc.substr(0, calc.length-1); - calc += char; - $("#historyBox").val($("#historyBox").val().substr(0, $("#historyBox").val().length-1)); - } - else{ - try{ - calc = eval(calc) + String(char); - }catch(e){} - } + if(lastchar.type == "NaN"){ + calc = calc.substr(0, calc.length-1); + calc += char; + $("#historyBox").val($("#historyBox").val().substr(0, $("#historyBox").val().length-1)); + } + else{ + try{ + calc = eval(calc) + String(char); + }catch(e){} + } - lastchar.type = "NaN"; - try{ - displayTrunk = eval(calc.substr(0, calc.length-1)); - }catch(e){} - $("#historyBox").val($("#historyBox").val()+historyTrunk+char); - $("#historyBox").scrollTop(99999); - historyTrunk = ""; - } + lastchar.type = "NaN"; + try{ + displayTrunk = eval(calc.substr(0, calc.length-1)); + }catch(e){} + $("#historyBox").val($("#historyBox").val()+historyTrunk+char); + $("#historyBox").scrollTop(99999); + historyTrunk = ""; + } - lastchar.value = char; - $("#display").text(updateDisplay(displayTrunk)); -} - + lastchar.value = char; + $("#display").text(updateDisplay(displayTrunk)); + } + + $("#historyBox").click(function(){ + if(!clickFlag){ + $(this).select(); + clickFlag = true; + } + else{ + clickFlag = false; + $(this).blur(); + } + }); + $(document).disableTextSelect(); }; diff --git a/resources/library/interactive/ColorPicker.wgt/css/colorpicker.css b/resources/library/interactive/ColorPicker.wgt/css/colorpicker.css index 05b02b48..1e67a443 100644 --- a/resources/library/interactive/ColorPicker.wgt/css/colorpicker.css +++ b/resources/library/interactive/ColorPicker.wgt/css/colorpicker.css @@ -1,161 +1,180 @@ .colorpicker { - width: 356px; - height: 176px; - overflow: hidden; - position: absolute; - background: url(../images/colorpicker_background.png); - font-family: Arial, Helvetica, sans-serif; - display: none; + width: 356px; + height: 176px; + overflow: hidden; + position: absolute; + background: url(../images/colorpicker_background.png); + font-family: Arial, Helvetica, sans-serif; + display: none; } .colorpicker_color { - width: 150px; - height: 150px; - left: 14px; - top: 13px; - position: absolute; - background: #f00; - overflow: hidden; - cursor: crosshair; + width: 150px; + height: 150px; + left: 14px; + top: 13px; + position: absolute; + background: #f00; + overflow: hidden; + cursor: crosshair; } .colorpicker_color div { - position: absolute; - top: 0; - left: 0; - width: 150px; - height: 150px; - background: url(../images/colorpicker_overlay.png); + position: absolute; + top: 0; + left: 0; + width: 150px; + height: 150px; + background: url(../images/colorpicker_overlay.png); } .colorpicker_color div div { - position: absolute; - top: 0; - left: 0; - width: 11px; - height: 11px; - overflow: hidden; - background: url(../images/colorpicker_select.gif); - margin: -5px 0 0 -5px; + position: absolute; + top: 0; + left: 0; + width: 11px; + height: 11px; + overflow: hidden; + background: url(../images/colorpicker_select.png); + margin: -5px 0 0 -5px; } .colorpicker_hue { - position: absolute; - top: 13px; - left: 171px; - width: 35px; - height: 150px; - cursor: n-resize; + position: absolute; + top: 13px; + left: 171px; + width: 35px; + height: 150px; + cursor: n-resize; } .colorpicker_hue div { - position: absolute; - width: 35px; - height: 9px; - overflow: hidden; - background: url(../images/colorpicker_indic.gif) left top; - margin: -4px 0 0 0; - left: 0px; + position: absolute; + width: 35px; + height: 9px; + overflow: hidden; + background: url(../images/colorpicker_indic.png) left top; + margin: -4px 0 0 0; + left: 0px; } .colorpicker_new_color { - position: absolute; - width: 60px; - height: 30px; - left: 213px; - top: 13px; - background: #f00; + position: absolute; + width: 60px; + height: 30px; + left: 213px; + top: 13px; + background: #f00; } .colorpicker_current_color { - position: absolute; - width: 60px; - height: 30px; - left: 283px; - top: 13px; - background: #f00; + position: absolute; + width: 60px; + height: 30px; + left: 283px; + top: 13px; + background: #f00; } .colorpicker input { - background-color: transparent; - border: 1px solid transparent; - position: absolute; - font-size: 10px; - font-family: Arial, Helvetica, sans-serif; - color: #898989; - top: 4px; - right: 11px; - text-align: right; - margin: 0; - padding: 0; - height: 11px; + background-color: transparent; + border: 1px solid transparent; + position: absolute; + font-size: 10px; + font-family: Arial, Helvetica, sans-serif; + color: #898989; + top: 4px; + right: 11px; + text-align: right; + margin: 0; + padding: 0; + height: 11px; } .colorpicker_hex { - position: absolute; - width: 72px; - height: 22px; - background: url(../images/colorpicker_hex.png) top; - left: 212px; - top: 142px; + position: absolute; + width: 72px; + height: 22px; + background: url(../images/colorpicker_hex.png) top; + left: 212px; + top: 142px; } .colorpicker_hex input { - right: 6px; + right: 6px; } .colorpicker_field { - height: 22px; - width: 62px; - background-position: top; - position: absolute; + height: 22px; + width: 62px; + background-position: top; + position: absolute; } .colorpicker_field span { - position: absolute; - width: 12px; - height: 22px; - overflow: hidden; - top: 0; - right: 0; - cursor: n-resize; + position: absolute; + width: 12px; + height: 22px; + overflow: hidden; + top: 0; + right: 0; + cursor: n-resize; } .colorpicker_rgb_r { - background-image: url(../images/colorpicker_rgb_r.png); - top: 52px; - left: 212px; + background-image: url(../images/colorpicker_rgb_r.png); + top: 52px; + left: 212px; } .colorpicker_rgb_g { - background-image: url(../images/colorpicker_rgb_g.png); - top: 82px; - left: 212px; + background-image: url(../images/colorpicker_rgb_g.png); + top: 82px; + left: 212px; } .colorpicker_rgb_b { - background-image: url(../images/colorpicker_rgb_b.png); - top: 112px; - left: 212px; + background-image: url(../images/colorpicker_rgb_b.png); + top: 112px; + left: 212px; } .colorpicker_hsb_h { - background-image: url(../images/colorpicker_hsb_h.png); - top: 52px; - left: 282px; + background-image: url(../images/colorpicker_hsb_h.png); + top: 52px; + left: 282px; } .colorpicker_hsb_s { - background-image: url(../images/colorpicker_hsb_s.png); - top: 82px; - left: 282px; + background-image: url(../images/colorpicker_hsb_s.png); + top: 82px; + left: 282px; } .colorpicker_hsb_b { - background-image: url(../images/colorpicker_hsb_b.png); - top: 112px; - left: 282px; + background-image: url(../images/colorpicker_hsb_b.png); + top: 112px; + left: 282px; } .colorpicker_submit { - position: absolute; - width: 22px; - height: 22px; - background: url(../images/colorpicker_submit.png) top; - left: 322px; - top: 142px; - overflow: hidden; -} + position: absolute; + width: 22px; + height: 22px; + background: url(../images/colorpicker_submit.png) top; + left: 322px; + top: 142px; + overflow: hidden; +} + +.tools_change { + position: absolute; + width: 22px; + height: 22px; + background: url(../images/tools.jpg) top; + left: 290px; + top: 142px; + overflow: hidden; +} + +.tools_change.tools_compass{ + background-position: bottom; +} + +.tools_change.tools_border{ + border: 1px solid #999090; +} + .colorpicker_focus { - background-position: center; + background-position: center; } .colorpicker_hex.colorpicker_focus { - background-position: bottom; + background-position: bottom; } .colorpicker_submit.colorpicker_focus { - background-position: bottom; + background-position: bottom; } .colorpicker_slider { - background-position: bottom; + background-position: bottom; } diff --git a/resources/library/interactive/ColorPicker.wgt/css/layout.css b/resources/library/interactive/ColorPicker.wgt/css/layout.css index 8b3f00ff..f25d0c09 100644 --- a/resources/library/interactive/ColorPicker.wgt/css/layout.css +++ b/resources/library/interactive/ColorPicker.wgt/css/layout.css @@ -180,7 +180,7 @@ h1 { left: 0; } #colorpickerHolder2 .colorpicker_hue div { - background-image: url(../images/custom_indic.gif); + background-image: url(../images/custom_indic.png); } #colorpickerHolder2 .colorpicker_hex { background-image: url(../images/custom_hex.png); diff --git a/resources/library/interactive/ColorPicker.wgt/images/blank.gif b/resources/library/interactive/ColorPicker.wgt/images/blank.gif deleted file mode 100644 index 75b945d2..00000000 Binary files a/resources/library/interactive/ColorPicker.wgt/images/blank.gif and /dev/null differ diff --git a/resources/library/interactive/ColorPicker.wgt/images/blank.png b/resources/library/interactive/ColorPicker.wgt/images/blank.png new file mode 100644 index 00000000..209a4386 Binary files /dev/null and b/resources/library/interactive/ColorPicker.wgt/images/blank.png differ diff --git a/resources/library/interactive/ColorPicker.wgt/images/colorpicker_indic.gif b/resources/library/interactive/ColorPicker.wgt/images/colorpicker_indic.gif deleted file mode 100644 index f9fa95e2..00000000 Binary files a/resources/library/interactive/ColorPicker.wgt/images/colorpicker_indic.gif and /dev/null differ diff --git a/resources/library/interactive/ColorPicker.wgt/images/colorpicker_indic.png b/resources/library/interactive/ColorPicker.wgt/images/colorpicker_indic.png new file mode 100644 index 00000000..c9ef651f Binary files /dev/null and b/resources/library/interactive/ColorPicker.wgt/images/colorpicker_indic.png differ diff --git a/resources/library/interactive/ColorPicker.wgt/images/colorpicker_select.gif b/resources/library/interactive/ColorPicker.wgt/images/colorpicker_select.gif deleted file mode 100644 index 599f7f13..00000000 Binary files a/resources/library/interactive/ColorPicker.wgt/images/colorpicker_select.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/anchor.png b/resources/library/interactive/ColorPicker.wgt/images/colorpicker_select.png similarity index 69% rename from resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/anchor.png rename to resources/library/interactive/ColorPicker.wgt/images/colorpicker_select.png index 008511cb..b7e6afa9 100644 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/anchor.png and b/resources/library/interactive/ColorPicker.wgt/images/colorpicker_select.png differ diff --git a/resources/library/interactive/ColorPicker.wgt/images/custom_indic.gif b/resources/library/interactive/ColorPicker.wgt/images/custom_indic.gif deleted file mode 100644 index 222fb94c..00000000 Binary files a/resources/library/interactive/ColorPicker.wgt/images/custom_indic.gif and /dev/null differ diff --git a/resources/library/interactive/ColorPicker.wgt/images/custom_indic.png b/resources/library/interactive/ColorPicker.wgt/images/custom_indic.png new file mode 100644 index 00000000..51ce98dd Binary files /dev/null and b/resources/library/interactive/ColorPicker.wgt/images/custom_indic.png differ diff --git a/resources/library/interactive/ColorPicker.wgt/images/tools.jpg b/resources/library/interactive/ColorPicker.wgt/images/tools.jpg new file mode 100644 index 00000000..cdeab746 Binary files /dev/null and b/resources/library/interactive/ColorPicker.wgt/images/tools.jpg differ diff --git a/resources/library/interactive/ColorPicker.wgt/index.html b/resources/library/interactive/ColorPicker.wgt/index.html index bf73497b..073a6201 100644 --- a/resources/library/interactive/ColorPicker.wgt/index.html +++ b/resources/library/interactive/ColorPicker.wgt/index.html @@ -1,16 +1,16 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <link rel="stylesheet" href="css/colorpicker.css" type="text/css" /> - <link rel="stylesheet" media="screen" type="text/css" href="css/layout.css" /> - <title>ColorPicker - jQuery plugin</title> - <script type="text/javascript" src="js/jquery.js"></script> - <script type="text/javascript" src="js/colorpicker.js"></script> - <script type="text/javascript" src="js/eye.js"></script> - <script type="text/javascript" src="js/utils.js"></script> - <script type="text/javascript" src="js/layout.js?ver=1.0.2"></script> -</head> -<body> - <p id="colorpickerHolder"> -</body> + <head> + <link rel="stylesheet" href="css/colorpicker.css" type="text/css" /> + <link rel="stylesheet" media="screen" type="text/css" href="css/layout.css" /> + <title>ColorPicker - jQuery plugin</title> + <script type="text/javascript" src="js/jquery.js"></script> + <script type="text/javascript" src="js/colorpicker.js"></script> + <script type="text/javascript" src="js/eye.js"></script> + <script type="text/javascript" src="js/utils.js"></script> + <script type="text/javascript" src="js/layout.js?ver=1.0.2"></script> + </head> + <body> + <p id="colorpickerHolder"></p> + </body> </html> diff --git a/resources/library/interactive/ColorPicker.wgt/js/colorpicker.js b/resources/library/interactive/ColorPicker.wgt/js/colorpicker.js index 17e957cb..63bdb6db 100644 --- a/resources/library/interactive/ColorPicker.wgt/js/colorpicker.js +++ b/resources/library/interactive/ColorPicker.wgt/js/colorpicker.js @@ -7,480 +7,555 @@ * */ (function ($) { - var ColorPicker = function () { - var - ids = {}, - inAction, - charMin = 65, - visible, - tpl = '<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_submit"></div></div>', - defaults = { - eventName: 'click', - onShow: function () {}, - onBeforeShow: function(){}, - onHide: function () {}, - onChange: function () {}, - onSubmit: function () {}, - color: 'ff0000', - livePreview: true, - flat: false - }, - fillRGBFields = function (hsb, cal) { - var rgb = HSBToRGB(hsb); - $(cal).data('colorpicker').fields - .eq(1).val(rgb.r).end() - .eq(2).val(rgb.g).end() - .eq(3).val(rgb.b).end(); - }, - fillHSBFields = function (hsb, cal) { - $(cal).data('colorpicker').fields - .eq(4).val(hsb.h).end() - .eq(5).val(hsb.s).end() - .eq(6).val(hsb.b).end(); - }, - fillHexFields = function (hsb, cal) { - $(cal).data('colorpicker').fields - .eq(0).val(HSBToHex(hsb)).end(); - }, - setSelector = function (hsb, cal) { - $(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({h: hsb.h, s: 100, b: 100})); - $(cal).data('colorpicker').selectorIndic.css({ - left: parseInt(150 * hsb.s/100, 10), - top: parseInt(150 * (100-hsb.b)/100, 10) - }); - }, - setHue = function (hsb, cal) { - $(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10)); - }, - setCurrentColor = function (hsb, cal) { - $(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb)); - }, - setNewColor = function (hsb, cal) { - $(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb)); - window.sankore.setTool('pen'); - window.sankore.setPenColor('#' + HSBToHex(hsb)); - }, - keyDown = function (ev) { - var pressedKey = ev.charCode || ev.keyCode || -1; - if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) { - return false; - } - var cal = $(this).parent().parent(); - if (cal.data('colorpicker').livePreview === true) { - change.apply(this); - } - }, - change = function (ev) { - var cal = $(this).parent().parent(), col; - if (this.parentNode.className.indexOf('_hex') > 0) { - cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value)); - } else if (this.parentNode.className.indexOf('_hsb') > 0) { - cal.data('colorpicker').color = col = fixHSB({ - h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10), - s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10), - b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10) - }); - } else { - cal.data('colorpicker').color = col = RGBToHSB(fixRGB({ - r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10), - g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10), - b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10) - })); - } - if (ev) { - fillRGBFields(col, cal.get(0)); - fillHexFields(col, cal.get(0)); - fillHSBFields(col, cal.get(0)); - } - setSelector(col, cal.get(0)); - setHue(col, cal.get(0)); - setNewColor(col, cal.get(0)); - cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]); - }, - blur = function (ev) { - var cal = $(this).parent().parent(); - cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus'); - }, - focus = function () { - charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65; - $(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus'); - $(this).parent().addClass('colorpicker_focus'); - }, - downIncrement = function (ev) { - var field = $(this).parent().find('input').focus(); - var current = { - el: $(this).parent().addClass('colorpicker_slider'), - max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255), - y: ev.pageY, - field: field, - val: parseInt(field.val(), 10), - preview: $(this).parent().parent().data('colorpicker').livePreview - }; - $(document).bind('mouseup', current, upIncrement); - $(document).bind('mousemove', current, moveIncrement); - }, - moveIncrement = function (ev) { - ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10)))); - if (ev.data.preview) { - change.apply(ev.data.field.get(0), [true]); - } - return false; - }, - upIncrement = function (ev) { - change.apply(ev.data.field.get(0), [true]); - ev.data.el.removeClass('colorpicker_slider').find('input').focus(); - $(document).unbind('mouseup', upIncrement); - $(document).unbind('mousemove', moveIncrement); - return false; - }, - downHue = function (ev) { - var current = { - cal: $(this).parent(), - y: $(this).offset().top - }; - current.preview = current.cal.data('colorpicker').livePreview; - $(document).bind('mouseup', current, upHue); - $(document).bind('mousemove', current, moveHue); - }, - moveHue = function (ev) { - change.apply( - ev.data.cal.data('colorpicker') - .fields - .eq(4) - .val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10)) - .get(0), - [ev.data.preview] - ); - return false; - }, - upHue = function (ev) { - fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); - fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); - $(document).unbind('mouseup', upHue); - $(document).unbind('mousemove', moveHue); - return false; - }, - downSelector = function (ev) { - var current = { - cal: $(this).parent(), - pos: $(this).offset() - }; - current.preview = current.cal.data('colorpicker').livePreview; - $(document).bind('mouseup', current, upSelector); - $(document).bind('mousemove', current, moveSelector); - }, - moveSelector = function (ev) { - change.apply( - ev.data.cal.data('colorpicker') - .fields - .eq(6) - .val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10)) - .end() - .eq(5) - .val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10)) - .get(0), - [ev.data.preview] - ); - return false; - }, - upSelector = function (ev) { - fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); - fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); - $(document).unbind('mouseup', upSelector); - $(document).unbind('mousemove', moveSelector); - return false; - }, - enterSubmit = function (ev) { - $(this).addClass('colorpicker_focus'); - }, - leaveSubmit = function (ev) { - $(this).removeClass('colorpicker_focus'); - }, - clickSubmit = function (ev) { - var cal = $(this).parent(); - var col = cal.data('colorpicker').color; - cal.data('colorpicker').origColor = col; - setCurrentColor(col, cal.get(0)); - cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el); - }, - show = function (ev) { - var cal = $('#' + $(this).data('colorpickerId')); - cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]); - var pos = $(this).offset(); - var viewPort = getViewport(); - var top = pos.top + this.offsetHeight; - var left = pos.left; - if (top + 176 > viewPort.t + viewPort.h) { - top -= this.offsetHeight + 176; - } - if (left + 356 > viewPort.l + viewPort.w) { - left -= 356; - } - cal.css({left: left + 'px', top: top + 'px'}); - if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) { - cal.show(); - } - $(document).bind('mousedown', {cal: cal}, hide); - return false; - }, - hide = function (ev) { - if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) { - if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) { - ev.data.cal.hide(); - } - $(document).unbind('mousedown', hide); - } - }, - isChildOf = function(parentEl, el, container) { - if (parentEl == el) { - return true; - } - if (parentEl.contains) { - return parentEl.contains(el); - } - if ( parentEl.compareDocumentPosition ) { - return !!(parentEl.compareDocumentPosition(el) & 16); - } - var prEl = el.parentNode; - while(prEl && prEl != container) { - if (prEl == parentEl) - return true; - prEl = prEl.parentNode; - } - return false; - }, - getViewport = function () { - var m = document.compatMode == 'CSS1Compat'; - return { - l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft), - t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop), - w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth), - h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight) - }; - }, - fixHSB = function (hsb) { - return { - h: Math.min(360, Math.max(0, hsb.h)), - s: Math.min(100, Math.max(0, hsb.s)), - b: Math.min(100, Math.max(0, hsb.b)) - }; - }, - fixRGB = function (rgb) { - return { - r: Math.min(255, Math.max(0, rgb.r)), - g: Math.min(255, Math.max(0, rgb.g)), - b: Math.min(255, Math.max(0, rgb.b)) - }; - }, - fixHex = function (hex) { - var len = 6 - hex.length; - if (len > 0) { - var o = []; - for (var i=0; i<len; i++) { - o.push('0'); - } - o.push(hex); - hex = o.join(''); - } - return hex; - }, - HexToRGB = function (hex) { - var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16); - return {r: hex >> 16, g: (hex & 0x00FF00) >> 8, b: (hex & 0x0000FF)}; - }, - HexToHSB = function (hex) { - return RGBToHSB(HexToRGB(hex)); - }, - RGBToHSB = function (rgb) { - var hsb = { - h: 0, - s: 0, - b: 0 - }; - var min = Math.min(rgb.r, rgb.g, rgb.b); - var max = Math.max(rgb.r, rgb.g, rgb.b); - var delta = max - min; - hsb.b = max; - if (max != 0) { + var ColorPicker = function () { + var + ids = {}, + penFlag = true, + inAction, + charMin = 65, + visible, + tpl = '<div class="colorpicker"><div class="colorpicker_color"><div><div></div></div></div><div class="colorpicker_hue"><div></div></div><div class="colorpicker_new_color"></div><div class="colorpicker_current_color"></div><div class="colorpicker_hex"><input type="text" maxlength="6" size="6" /></div><div class="colorpicker_rgb_r colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_g colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_rgb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_h colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_s colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="colorpicker_hsb_b colorpicker_field"><input type="text" maxlength="3" size="3" /><span></span></div><div class="tools_change"></div><div class="colorpicker_submit"></div></div>', + defaults = { + eventName: 'click', + onShow: function () {}, + onBeforeShow: function(){}, + onHide: function () {}, + onChange: function () {}, + onSubmit: function () {}, + color: 'ff0000', + livePreview: true, + flat: false + }, + fillRGBFields = function (hsb, cal) { + var rgb = HSBToRGB(hsb); + $(cal).data('colorpicker').fields + .eq(1).val(rgb.r).end() + .eq(2).val(rgb.g).end() + .eq(3).val(rgb.b).end(); + }, + fillHSBFields = function (hsb, cal) { + $(cal).data('colorpicker').fields + .eq(4).val(hsb.h).end() + .eq(5).val(hsb.s).end() + .eq(6).val(hsb.b).end(); + }, + fillHexFields = function (hsb, cal) { + $(cal).data('colorpicker').fields + .eq(0).val(HSBToHex(hsb)).end(); + }, + setSelector = function (hsb, cal) { + $(cal).data('colorpicker').selector.css('backgroundColor', '#' + HSBToHex({ + h: hsb.h, + s: 100, + b: 100 + })); + $(cal).data('colorpicker').selectorIndic.css({ + left: parseInt(150 * hsb.s/100, 10), + top: parseInt(150 * (100-hsb.b)/100, 10) + }); + }, + setHue = function (hsb, cal) { + $(cal).data('colorpicker').hue.css('top', parseInt(150 - 150 * hsb.h/360, 10)); + }, + setCurrentColor = function (hsb, cal) { + $(cal).data('colorpicker').currentColor.css('backgroundColor', '#' + HSBToHex(hsb)); + }, + setNewColor = function (hsb, cal) { + $(cal).data('colorpicker').newColor.css('backgroundColor', '#' + HSBToHex(hsb)); + if(penFlag){ + $("div.tools_change").removeClass("tools_compass"); + window.sankore.setTool('pen'); + window.sankore.setPenColor('#' + HSBToHex(hsb)); + sankore.returnStatus("PEN installed", penFlag); + } else { + $("div.tools_change").addClass("tools_compass"); + window.sankore.setTool('compass'); + window.sankore.setPenColor('#' + HSBToHex(hsb)); + sankore.returnStatus("Compass installed", penFlag); + } + }, + keyDown = function (ev) { + var pressedKey = ev.charCode || ev.keyCode || -1; + if ((pressedKey > charMin && pressedKey <= 90) || pressedKey == 32) { + return false; + } + var cal = $(this).parent().parent(); + if (cal.data('colorpicker').livePreview === true) { + change.apply(this); + } + }, + change = function (ev) { + var cal = $(this).parent().parent(), col; + if (this.parentNode.className.indexOf('_hex') > 0) { + cal.data('colorpicker').color = col = HexToHSB(fixHex(this.value)); + } else if (this.parentNode.className.indexOf('_hsb') > 0) { + cal.data('colorpicker').color = col = fixHSB({ + h: parseInt(cal.data('colorpicker').fields.eq(4).val(), 10), + s: parseInt(cal.data('colorpicker').fields.eq(5).val(), 10), + b: parseInt(cal.data('colorpicker').fields.eq(6).val(), 10) + }); + } else { + cal.data('colorpicker').color = col = RGBToHSB(fixRGB({ + r: parseInt(cal.data('colorpicker').fields.eq(1).val(), 10), + g: parseInt(cal.data('colorpicker').fields.eq(2).val(), 10), + b: parseInt(cal.data('colorpicker').fields.eq(3).val(), 10) + })); + } + if (ev) { + fillRGBFields(col, cal.get(0)); + fillHexFields(col, cal.get(0)); + fillHSBFields(col, cal.get(0)); + } + setSelector(col, cal.get(0)); + setHue(col, cal.get(0)); + setNewColor(col, cal.get(0)); + cal.data('colorpicker').onChange.apply(cal, [col, HSBToHex(col), HSBToRGB(col)]); + }, + blur = function (ev) { + var cal = $(this).parent().parent(); + cal.data('colorpicker').fields.parent().removeClass('colorpicker_focus'); + }, + focus = function () { + charMin = this.parentNode.className.indexOf('_hex') > 0 ? 70 : 65; + $(this).parent().parent().data('colorpicker').fields.parent().removeClass('colorpicker_focus'); + $(this).parent().addClass('colorpicker_focus'); + }, + downIncrement = function (ev) { + var field = $(this).parent().find('input').focus(); + var current = { + el: $(this).parent().addClass('colorpicker_slider'), + max: this.parentNode.className.indexOf('_hsb_h') > 0 ? 360 : (this.parentNode.className.indexOf('_hsb') > 0 ? 100 : 255), + y: ev.pageY, + field: field, + val: parseInt(field.val(), 10), + preview: $(this).parent().parent().data('colorpicker').livePreview + }; + $(document).bind('mouseup', current, upIncrement); + $(document).bind('mousemove', current, moveIncrement); + }, + moveIncrement = function (ev) { + ev.data.field.val(Math.max(0, Math.min(ev.data.max, parseInt(ev.data.val + ev.pageY - ev.data.y, 10)))); + if (ev.data.preview) { + change.apply(ev.data.field.get(0), [true]); + } + return false; + }, + upIncrement = function (ev) { + change.apply(ev.data.field.get(0), [true]); + ev.data.el.removeClass('colorpicker_slider').find('input').focus(); + $(document).unbind('mouseup', upIncrement); + $(document).unbind('mousemove', moveIncrement); + return false; + }, + downHue = function (ev) { + var current = { + cal: $(this).parent(), + y: $(this).offset().top + }; + current.preview = current.cal.data('colorpicker').livePreview; + $(document).bind('mouseup', current, upHue); + $(document).bind('mousemove', current, moveHue); + }, + moveHue = function (ev) { + change.apply( + ev.data.cal.data('colorpicker') + .fields + .eq(4) + .val(parseInt(360*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.y))))/150, 10)) + .get(0), + [ev.data.preview] + ); + return false; + }, + upHue = function (ev) { + fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); + fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); + $(document).unbind('mouseup', upHue); + $(document).unbind('mousemove', moveHue); + return false; + }, + downSelector = function (ev) { + var current = { + cal: $(this).parent(), + pos: $(this).offset() + }; + current.preview = current.cal.data('colorpicker').livePreview; + $(document).bind('mouseup', current, upSelector); + $(document).bind('mousemove', current, moveSelector); + }, + moveSelector = function (ev) { + change.apply( + ev.data.cal.data('colorpicker') + .fields + .eq(6) + .val(parseInt(100*(150 - Math.max(0,Math.min(150,(ev.pageY - ev.data.pos.top))))/150, 10)) + .end() + .eq(5) + .val(parseInt(100*(Math.max(0,Math.min(150,(ev.pageX - ev.data.pos.left))))/150, 10)) + .get(0), + [ev.data.preview] + ); + return false; + }, + upSelector = function (ev) { + fillRGBFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); + fillHexFields(ev.data.cal.data('colorpicker').color, ev.data.cal.get(0)); + $(document).unbind('mouseup', upSelector); + $(document).unbind('mousemove', moveSelector); + return false; + }, + enterSubmit = function (ev) { + $(this).addClass('colorpicker_focus'); + }, + leaveSubmit = function (ev) { + $(this).removeClass('colorpicker_focus'); + }, + clickSubmit = function (ev) { + var cal = $(this).parent(); + var col = cal.data('colorpicker').color; + cal.data('colorpicker').origColor = col; + setCurrentColor(col, cal.get(0)); + cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el); + }, + mouseOverBorder = function(ev) { + $(this).addClass("tools_border"); + }, + mouseOutBorder = function(ev) { + $(this).removeClass("tools_border"); + }, + clickToolsChange = function (ev) { + var cal = $(this).parent(); + var col = cal.data('colorpicker').color; + cal.data('colorpicker').origColor = col; + setCurrentColor(col, cal.get(0)); + cal.data('colorpicker').onSubmit(col, HSBToHex(col), HSBToRGB(col), cal.data('colorpicker').el); + penFlag = (penFlag)?false:true; + setNewColor(col, cal.get(0)); + sankore.returnStatus("startEditing()", penFlag); + }, + show = function (ev) { + var cal = $('#' + $(this).data('colorpickerId')); + cal.data('colorpicker').onBeforeShow.apply(this, [cal.get(0)]); + var pos = $(this).offset(); + var viewPort = getViewport(); + var top = pos.top + this.offsetHeight; + var left = pos.left; + if (top + 176 > viewPort.t + viewPort.h) { + top -= this.offsetHeight + 176; + } + if (left + 356 > viewPort.l + viewPort.w) { + left -= 356; + } + cal.css({ + left: left + 'px', + top: top + 'px' + }); + if (cal.data('colorpicker').onShow.apply(this, [cal.get(0)]) != false) { + cal.show(); + } + $(document).bind('mousedown', { + cal: cal + }, hide); + return false; + }, + hide = function (ev) { + if (!isChildOf(ev.data.cal.get(0), ev.target, ev.data.cal.get(0))) { + if (ev.data.cal.data('colorpicker').onHide.apply(this, [ev.data.cal.get(0)]) != false) { + ev.data.cal.hide(); + } + $(document).unbind('mousedown', hide); + } + }, + isChildOf = function(parentEl, el, container) { + if (parentEl == el) { + return true; + } + if (parentEl.contains) { + return parentEl.contains(el); + } + if ( parentEl.compareDocumentPosition ) { + return !!(parentEl.compareDocumentPosition(el) & 16); + } + var prEl = el.parentNode; + while(prEl && prEl != container) { + if (prEl == parentEl) + return true; + prEl = prEl.parentNode; + } + return false; + }, + getViewport = function () { + var m = document.compatMode == 'CSS1Compat'; + return { + l : window.pageXOffset || (m ? document.documentElement.scrollLeft : document.body.scrollLeft), + t : window.pageYOffset || (m ? document.documentElement.scrollTop : document.body.scrollTop), + w : window.innerWidth || (m ? document.documentElement.clientWidth : document.body.clientWidth), + h : window.innerHeight || (m ? document.documentElement.clientHeight : document.body.clientHeight) + }; + }, + fixHSB = function (hsb) { + return { + h: Math.min(360, Math.max(0, hsb.h)), + s: Math.min(100, Math.max(0, hsb.s)), + b: Math.min(100, Math.max(0, hsb.b)) + }; + }, + fixRGB = function (rgb) { + return { + r: Math.min(255, Math.max(0, rgb.r)), + g: Math.min(255, Math.max(0, rgb.g)), + b: Math.min(255, Math.max(0, rgb.b)) + }; + }, + fixHex = function (hex) { + var len = 6 - hex.length; + if (len > 0) { + var o = []; + for (var i=0; i<len; i++) { + o.push('0'); + } + o.push(hex); + hex = o.join(''); + } + return hex; + }, + HexToRGB = function (hex) { + var hex = parseInt(((hex.indexOf('#') > -1) ? hex.substring(1) : hex), 16); + return { + r: hex >> 16, + g: (hex & 0x00FF00) >> 8, + b: (hex & 0x0000FF) + }; + }, + HexToHSB = function (hex) { + return RGBToHSB(HexToRGB(hex)); + }, + RGBToHSB = function (rgb) { + var hsb = { + h: 0, + s: 0, + b: 0 + }; + var min = Math.min(rgb.r, rgb.g, rgb.b); + var max = Math.max(rgb.r, rgb.g, rgb.b); + var delta = max - min; + hsb.b = max; + if (max != 0) { - } - hsb.s = max != 0 ? 255 * delta / max : 0; - if (hsb.s != 0) { - if (rgb.r == max) { - hsb.h = (rgb.g - rgb.b) / delta; - } else if (rgb.g == max) { - hsb.h = 2 + (rgb.b - rgb.r) / delta; - } else { - hsb.h = 4 + (rgb.r - rgb.g) / delta; - } - } else { - hsb.h = -1; - } - hsb.h *= 60; - if (hsb.h < 0) { - hsb.h += 360; - } - hsb.s *= 100/255; - hsb.b *= 100/255; - return hsb; - }, - HSBToRGB = function (hsb) { - var rgb = {}; - var h = Math.round(hsb.h); - var s = Math.round(hsb.s*255/100); - var v = Math.round(hsb.b*255/100); - if(s == 0) { - rgb.r = rgb.g = rgb.b = v; - } else { - var t1 = v; - var t2 = (255-s)*v/255; - var t3 = (t1-t2)*(h%60)/60; - if(h==360) h = 0; - if(h<60) {rgb.r=t1; rgb.b=t2; rgb.g=t2+t3} - else if(h<120) {rgb.g=t1; rgb.b=t2; rgb.r=t1-t3} - else if(h<180) {rgb.g=t1; rgb.r=t2; rgb.b=t2+t3} - else if(h<240) {rgb.b=t1; rgb.r=t2; rgb.g=t1-t3} - else if(h<300) {rgb.b=t1; rgb.g=t2; rgb.r=t2+t3} - else if(h<360) {rgb.r=t1; rgb.g=t2; rgb.b=t1-t3} - else {rgb.r=0; rgb.g=0; rgb.b=0} - } - return {r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b)}; - }, - RGBToHex = function (rgb) { - var hex = [ - rgb.r.toString(16), - rgb.g.toString(16), - rgb.b.toString(16) - ]; - $.each(hex, function (nr, val) { - if (val.length == 1) { - hex[nr] = '0' + val; - } - }); - return hex.join(''); - }, - HSBToHex = function (hsb) { - return RGBToHex(HSBToRGB(hsb)); - }, - restoreOriginal = function () { - var cal = $(this).parent(); - var col = cal.data('colorpicker').origColor; - cal.data('colorpicker').color = col; - fillRGBFields(col, cal.get(0)); - fillHexFields(col, cal.get(0)); - fillHSBFields(col, cal.get(0)); - setSelector(col, cal.get(0)); - setHue(col, cal.get(0)); - setNewColor(col, cal.get(0)); - }; - return { - init: function (opt) { - opt = $.extend({}, defaults, opt||{}); - if (typeof opt.color == 'string') { - opt.color = HexToHSB(opt.color); - } else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) { - opt.color = RGBToHSB(opt.color); - } else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) { - opt.color = fixHSB(opt.color); - } else { - return this; - } - return this.each(function () { - if (!$(this).data('colorpickerId')) { - var options = $.extend({}, opt); - options.origColor = opt.color; - var id = 'collorpicker_' + parseInt(Math.random() * 1000); - $(this).data('colorpickerId', id); - var cal = $(tpl).attr('id', id); - if (options.flat) { - cal.appendTo(this).show(); - } else { - cal.appendTo(document.body); - } - options.fields = cal - .find('input') - .bind('keyup', keyDown) - .bind('change', change) - .bind('blur', blur) - .bind('focus', focus); - cal - .find('span').bind('mousedown', downIncrement).end() - .find('>div.colorpicker_current_color').bind('click', restoreOriginal); - options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector); - options.selectorIndic = options.selector.find('div div'); - options.el = this; - options.hue = cal.find('div.colorpicker_hue div'); - cal.find('div.colorpicker_hue').bind('mousedown', downHue); - options.newColor = cal.find('div.colorpicker_new_color'); - options.currentColor = cal.find('div.colorpicker_current_color'); - cal.data('colorpicker', options); - cal.find('div.colorpicker_submit') - .bind('mouseenter', enterSubmit) - .bind('mouseleave', leaveSubmit) - .bind('click', clickSubmit); - fillRGBFields(options.color, cal.get(0)); - fillHSBFields(options.color, cal.get(0)); - fillHexFields(options.color, cal.get(0)); - setHue(options.color, cal.get(0)); - setSelector(options.color, cal.get(0)); - setCurrentColor(options.color, cal.get(0)); - setNewColor(options.color, cal.get(0)); - if (options.flat) { - cal.css({ - position: 'relative', - display: 'block' - }); - } else { - $(this).bind(options.eventName, show); - } - } - }); - }, - showPicker: function() { - return this.each( function () { - if ($(this).data('colorpickerId')) { - show.apply(this); - } - }); - }, - hidePicker: function() { - return this.each( function () { - if ($(this).data('colorpickerId')) { - $('#' + $(this).data('colorpickerId')).hide(); - } - }); - }, - setColor: function(col) { - if (typeof col == 'string') { - col = HexToHSB(col); - } else if (col.r != undefined && col.g != undefined && col.b != undefined) { - col = RGBToHSB(col); - } else if (col.h != undefined && col.s != undefined && col.b != undefined) { - col = fixHSB(col); - } else { - return this; - } - return this.each(function(){ - if ($(this).data('colorpickerId')) { - var cal = $('#' + $(this).data('colorpickerId')); - cal.data('colorpicker').color = col; - cal.data('colorpicker').origColor = col; - fillRGBFields(col, cal.get(0)); - fillHSBFields(col, cal.get(0)); - fillHexFields(col, cal.get(0)); - setHue(col, cal.get(0)); - setSelector(col, cal.get(0)); - setCurrentColor(col, cal.get(0)); - setNewColor(col, cal.get(0)); - } - }); - } - }; - }(); - $.fn.extend({ - ColorPicker: ColorPicker.init, - ColorPickerHide: ColorPicker.hidePicker, - ColorPickerShow: ColorPicker.showPicker, - ColorPickerSetColor: ColorPicker.setColor - }); + } + hsb.s = max != 0 ? 255 * delta / max : 0; + if (hsb.s != 0) { + if (rgb.r == max) { + hsb.h = (rgb.g - rgb.b) / delta; + } else if (rgb.g == max) { + hsb.h = 2 + (rgb.b - rgb.r) / delta; + } else { + hsb.h = 4 + (rgb.r - rgb.g) / delta; + } + } else { + hsb.h = -1; + } + hsb.h *= 60; + if (hsb.h < 0) { + hsb.h += 360; + } + hsb.s *= 100/255; + hsb.b *= 100/255; + return hsb; + }, + HSBToRGB = function (hsb) { + var rgb = {}; + var h = Math.round(hsb.h); + var s = Math.round(hsb.s*255/100); + var v = Math.round(hsb.b*255/100); + if(s == 0) { + rgb.r = rgb.g = rgb.b = v; + } else { + var t1 = v; + var t2 = (255-s)*v/255; + var t3 = (t1-t2)*(h%60)/60; + if(h==360) h = 0; + if(h<60) { + rgb.r=t1; + rgb.b=t2; + rgb.g=t2+t3 + } + else if(h<120) { + rgb.g=t1; + rgb.b=t2; + rgb.r=t1-t3 + } + else if(h<180) { + rgb.g=t1; + rgb.r=t2; + rgb.b=t2+t3 + } + else if(h<240) { + rgb.b=t1; + rgb.r=t2; + rgb.g=t1-t3 + } + else if(h<300) { + rgb.b=t1; + rgb.g=t2; + rgb.r=t2+t3 + } + else if(h<360) { + rgb.r=t1; + rgb.g=t2; + rgb.b=t1-t3 + } + else { + rgb.r=0; + rgb.g=0; + rgb.b=0 + } + } + return { + r:Math.round(rgb.r), + g:Math.round(rgb.g), + b:Math.round(rgb.b) + }; + }, + RGBToHex = function (rgb) { + var hex = [ + rgb.r.toString(16), + rgb.g.toString(16), + rgb.b.toString(16) + ]; + $.each(hex, function (nr, val) { + if (val.length == 1) { + hex[nr] = '0' + val; + } + }); + return hex.join(''); + }, + HSBToHex = function (hsb) { + return RGBToHex(HSBToRGB(hsb)); + }, + restoreOriginal = function () { + var cal = $(this).parent(); + var col = cal.data('colorpicker').origColor; + cal.data('colorpicker').color = col; + fillRGBFields(col, cal.get(0)); + fillHexFields(col, cal.get(0)); + fillHSBFields(col, cal.get(0)); + setSelector(col, cal.get(0)); + setHue(col, cal.get(0)); + setNewColor(col, cal.get(0)); + }; + return { + init: function (opt) { + opt = $.extend({}, defaults, opt||{}); + if (typeof opt.color == 'string') { + opt.color = HexToHSB(opt.color); + } else if (opt.color.r != undefined && opt.color.g != undefined && opt.color.b != undefined) { + opt.color = RGBToHSB(opt.color); + } else if (opt.color.h != undefined && opt.color.s != undefined && opt.color.b != undefined) { + opt.color = fixHSB(opt.color); + } else { + return this; + } + return this.each(function () { + if (!$(this).data('colorpickerId')) { + var options = $.extend({}, opt); + options.origColor = opt.color; + var id = 'collorpicker_' + parseInt(Math.random() * 1000); + $(this).data('colorpickerId', id); + var cal = $(tpl).attr('id', id); + if (options.flat) { + cal.appendTo(this).show(); + } else { + cal.appendTo(document.body); + } + options.fields = cal + .find('input') + .bind('keyup', keyDown) + .bind('change', change) + .bind('blur', blur) + .bind('focus', focus); + cal + .find('span').bind('mousedown', downIncrement).end() + .find('>div.colorpicker_current_color').bind('click', restoreOriginal); + options.selector = cal.find('div.colorpicker_color').bind('mousedown', downSelector); + options.selectorIndic = options.selector.find('div div'); + options.el = this; + options.hue = cal.find('div.colorpicker_hue div'); + cal.find('div.colorpicker_hue').bind('mousedown', downHue); + options.newColor = cal.find('div.colorpicker_new_color'); + options.currentColor = cal.find('div.colorpicker_current_color'); + cal.data('colorpicker', options); + cal.find('div.colorpicker_submit') + .bind('mouseenter', enterSubmit) + .bind('mouseleave', leaveSubmit) + .bind('click', clickSubmit); + cal.find('div.tools_change') + .bind('mouseover', mouseOverBorder) + .bind('mouseout', mouseOutBorder) + .bind('click', clickToolsChange); + fillRGBFields(options.color, cal.get(0)); + fillHSBFields(options.color, cal.get(0)); + fillHexFields(options.color, cal.get(0)); + setHue(options.color, cal.get(0)); + setSelector(options.color, cal.get(0)); + setCurrentColor(options.color, cal.get(0)); + setNewColor(options.color, cal.get(0)); + if (options.flat) { + cal.css({ + position: 'relative', + display: 'block' + }); + } else { + $(this).bind(options.eventName, show); + } + } + }); + }, + showPicker: function() { + return this.each( function () { + if ($(this).data('colorpickerId')) { + show.apply(this); + } + }); + }, + hidePicker: function() { + return this.each( function () { + if ($(this).data('colorpickerId')) { + $('#' + $(this).data('colorpickerId')).hide(); + } + }); + }, + setColor: function(col) { + if (typeof col == 'string') { + col = HexToHSB(col); + } else if (col.r != undefined && col.g != undefined && col.b != undefined) { + col = RGBToHSB(col); + } else if (col.h != undefined && col.s != undefined && col.b != undefined) { + col = fixHSB(col); + } else { + return this; + } + return this.each(function(){ + if ($(this).data('colorpickerId')) { + var cal = $('#' + $(this).data('colorpickerId')); + cal.data('colorpicker').color = col; + cal.data('colorpicker').origColor = col; + fillRGBFields(col, cal.get(0)); + fillHSBFields(col, cal.get(0)); + fillHexFields(col, cal.get(0)); + setHue(col, cal.get(0)); + setSelector(col, cal.get(0)); + setCurrentColor(col, cal.get(0)); + setNewColor(col, cal.get(0)); + } + }); + } + }; + }(); + $.fn.extend({ + ColorPicker: ColorPicker.init, + ColorPickerHide: ColorPicker.hidePicker, + ColorPickerShow: ColorPicker.showPicker, + ColorPickerSetColor: ColorPicker.setColor + }); })(jQuery) \ No newline at end of file diff --git a/resources/library/interactive/Notes.wgt/js/ubw-main.js b/resources/library/interactive/Notes.wgt/js/ubw-main.js index 662a41ae..cea778fa 100644 --- a/resources/library/interactive/Notes.wgt/js/ubw-main.js +++ b/resources/library/interactive/Notes.wgt/js/ubw-main.js @@ -15,211 +15,218 @@ function init(){ - var ubwidget = $("#ubwidget").ubwidget({ - width:360, - height:240 - }); + var ubwidget = $("#ubwidget").ubwidget({ + width:360, + height:240 + }); - var checkMinimize = false; - var text = ""; - var winwidth; - var minimizedHeight; - var winheight; - var scroll = false; - var defaultFontSize = 35; - var currentFontSize = defaultFontSize; - var header = $('<div id="head"><input id="headtitle" class="stickytitle" readonly="readonly"/></div>'); - var fontUp = $('<img src="images/stick-but-aplus.png"/>'); - var fontDown = $('<img src="images/stick-but-aminus.png"/>'); - var minimize = $('<img src="images/stick-but-minimize.png"/>'); - var maximize = $('<img src="images/stick-but-maximize.png"/>'); - var title = $('<div id="menu"></div>'); - var textField = $('<div id="txt"></div>'); - var shadow = $("<table width='100%' height='18' border='0' cellspacing='0' cellpadding='0'><tr><td id='sl' width='139'></td><td id='sc' style='background-image:url(images/shadowcenter.png)'> </td><td id='sr' width='139'></td></tr></table>") - .appendTo("body"); - var shadowleft = $("<img src='images/shadowleft.png'/>") - .appendTo($("#sl")); - var shadowright = $("<img src='images/shadowright.png'/>") - .appendTo($("#sr")); - - $("#ubwidget") - .append(header) - .append(textField); + var checkMinimize = false; + var text = ""; + var winwidth; + var minimizedHeight; + var winheight; + var scroll = false; + var defaultFontSize = 35; + var currentFontSize = defaultFontSize; + var header = $('<div id="head"><input id="headtitle" class="stickytitle" readonly="readonly"/></div>'); + var fontUp = $('<img src="images/stick-but-aplus.png"/>'); + var fontDown = $('<img src="images/stick-but-aminus.png"/>'); + var minimize = $('<img src="images/stick-but-minimize.png"/>'); + var maximize = $('<img src="images/stick-but-maximize.png"/>'); + var title = $('<div id="menu"></div>'); + var textField = $('<div id="txt"></div>'); + var shadow = $("<table width='100%' height='18' border='0' cellspacing='0' cellpadding='0'><tr><td id='sl' width='139'></td><td id='sc' style='background-image:url(images/shadowcenter.png)'> </td><td id='sr' width='139'></td></tr></table>") + .appendTo("body"); + var shadowleft = $("<img src='images/shadowleft.png'/>") + .appendTo($("#sl")); + var shadowright = $("<img src='images/shadowright.png'/>") + .appendTo($("#sr")); - fontUp.addClass('menuElement'); - fontDown.addClass('menuElement'); - minimize.addClass('menuElement'); - maximize.addClass('menuElement') - .hide(); + $("#ubwidget") + .append(header) + .append(textField); + + fontUp.addClass('menuElement'); + fontDown.addClass('menuElement'); + minimize.addClass('menuElement'); + maximize.addClass('menuElement') + .hide(); - header.append(maximize) - .append(minimize) - .append(fontUp) - .append(fontDown); - var titletext = header.find('textarea'); + header.append(maximize) + .append(minimize) + .append(fontUp) + .append(fontDown); + var titletext = header.find('textarea'); - titletext.click( - function(){ - titletext.focus(); + titletext.click( + function(){ + titletext.focus(); - }); + }); - fontDown.click( - function(){ + fontDown.click( + function(){ - var newFontSize = parseInt(currentFontSize) - 3; + var newFontSize = parseInt(currentFontSize) - 3; - textField.css({ - fontSize : newFontSize - }) + textField.css({ + fontSize : newFontSize + }) - controlTextField(); + controlTextField(); - if(window.sankore){ - window.sankore.setPreference("fontSize", newFontSize); - }; + if(window.sankore){ + window.sankore.setPreference("fontSize", newFontSize); + }; - if(!checkMinimize) - textField.focus(); - }); + if(!checkMinimize) + textField.focus(); + }); - fontUp.click( - function(){ - var newFontSize = parseInt(currentFontSize) + 3; + fontUp.click( + function(){ + var newFontSize = parseInt(currentFontSize) + 3; - textField.css({ - fontSize : newFontSize - }) + textField.css({ + fontSize : newFontSize + }) - controlTextField(); + controlTextField(); - if(window.sankore){ - window.sankore.setPreference("fontSize", newFontSize); - }; + if(window.sankore){ + window.sankore.setPreference("fontSize", newFontSize); + }; - if(!checkMinimize) - textField.focus(); - }); + if(!checkMinimize) + textField.focus(); + }); - minimize.click( - function(){ - $('.ubw-container').animate({height:"26px"},500); - minimizedHeight = $('.ubw-container').height(); - minimize.hide(); - maximize.show(); - controlTextField(); - $('#headtitle').show(); - $('#headtitle').focus(); - //window.resizeTo($('.ubw-container').width(),0); - checkMinimize = true; + minimize.click( + function(){ + $('.ubw-container').animate({ + height:"26px" + },500); + minimizedHeight = $('.ubw-container').height(); + minimize.hide(); + maximize.show(); + controlTextField(); + $('#headtitle').show(); + $('#headtitle').focus(); + //window.resizeTo($('.ubw-container').width(),0); + checkMinimize = true; - }); + }); - maximize.click( - function(){ - var lastHeight = String(minimizedHeight)+'px'; - $('.ubw-container').animate({height: lastHeight},500); + maximize.click( + function(){ + var lastHeight = String(minimizedHeight)+'px'; + $('.ubw-container').animate({ + height: lastHeight + },500); - maximize.hide(); - minimize.show(); - $('#headtitle').hide(); - //textField.focus(); - //window.resizeTo($('.ubw-container').width()+15,minimizedHeight+20); - checkMinimize = false; + maximize.hide(); + minimize.show(); + $('#headtitle').hide(); + //textField.focus(); + //window.resizeTo($('.ubw-container').width()+15,minimizedHeight+20); + checkMinimize = false; - }); - - header - .append(title); - title - .addClass('menu'); - header - .addClass('head'); - textField - .addClass("textField") - .css("fontSize",currentFontSize) - .attr('contentEditable','true') - .keyup(function(){ - if(window.sankore){ - window.sankore.setPreference("noteText", textField.html()); - } - controlTextField(); - //$('#headtitle').hide(); - }); - if(textField.html().length === 0){ - textField.focus(); - } - titletext - .attr('rows','1'); + }); + + header + .append(title); + title + .addClass('menu'); + header + .addClass('head'); + textField + .addClass("textField") + .css("fontSize",currentFontSize) + .attr('contentEditable','true') + .keyup(function(){ + if(window.sankore){ + window.sankore.setPreference("noteText", textField.html()); + } + controlTextField(); + //$('#headtitle').hide(); + }); + if(textField.html().length === 0){ + textField.focus(); + } + titletext.attr('rows','1'); - function controlTextField(){ - if(textField.text().length < 25) - $('#headtitle').val(textField.text()); - else - $('#headtitle').val(textField.text().substr(0,25) + "..."); + function controlTextField(){ + if(textField.text().length < 25) + $('#headtitle').val(textField.text()); + else + $('#headtitle').val(textField.text().substr(0,25) + "..."); - textField.css({ - height : $('.ubw-container').height()-28, - }) + textField.css({ + height : $('.ubw-container').height()-28 + }) - if(textField.text().length == 0){ - textField.css({ - fontSize: defaultFontSize, - }); - } + if(textField.text().length == 0){ + textField.css({ + fontSize: defaultFontSize + }); + } - currentFontSize = textField.css('fontSize').replace('px',''); + currentFontSize = textField.css('fontSize').replace('px',''); - } + } - textField.bind('paste', function(e) { - controlTextField(); + textField.bind('paste', function(e) { + controlTextField(); }); - $('#headtitle').hide(); + $('#headtitle').hide(); - if(window.sankore){ - text = window.sankore.preference('noteText', text); - currentFontSize = window.sankore.preference('fontSize', defaultFontSize); - $('.ubw-container').css({ - width:window.innerWidth - 2, - height:window.innerHeight - 20 - }); + if(window.sankore){ + text = window.sankore.preference('noteText', text); + currentFontSize = window.sankore.preference('fontSize', defaultFontSize); + $('.ubw-container').css({ + width:window.innerWidth - 2, + height:window.innerHeight - 20 + }); - if(checkMinimize){ - minimize.trigger("click"); - }; + if(checkMinimize){ + minimize.trigger("click"); + }; - textField.css({ - fontSize : parseInt(currentFontSize) - }) - textField.html(text); - } + textField.css({ + fontSize : parseInt(currentFontSize) + }) + if(text) + textField.html(text); + else + textField.html("Enter your notes here ..."); + textField.focus(); + } - window.onresize = function(){ - winwidth = window.innerWidth; - winheight = window.innerHeight; + window.onresize = function(){ + winwidth = window.innerWidth; + winheight = window.innerHeight; - if(winwidth <= 290) - { - window.resizeTo(290,winheight); - } - if(winheight <= 100) - { - window.resizeTo(winwidth,100); - } - if(winheight > 600) - { - window.resizeTo(winwidth,600); - } + if(winwidth <= 290) + { + window.resizeTo(290,winheight); + } + if(winheight <= 100) + { + window.resizeTo(winwidth,100); + } + if(winheight > 600) + { + window.resizeTo(winwidth,600); + } - $('.ubw-container').width(winwidth-2); + $('.ubw-container').width(winwidth-2); - if(checkMinimize) - minimizedHeight = winheight-40; - else - $('.ubw-container').height(winheight-40); + if(checkMinimize) + minimizedHeight = winheight-40; + else + $('.ubw-container').height(winheight-40); - controlTextField(); - } + controlTextField(); + } } \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/config.xml b/resources/library/interactive/TextEditor.wgt/config.xml similarity index 56% rename from resources/library/interactive/barre_prof.wgt/config.xml rename to resources/library/interactive/TextEditor.wgt/config.xml index 57dd5912..e0479e32 100644 --- a/resources/library/interactive/barre_prof.wgt/config.xml +++ b/resources/library/interactive/TextEditor.wgt/config.xml @@ -4,13 +4,11 @@ xmlns:ub="http://uniboard.mnemis.com/widgets" id="http://www.example.net/widgets/helloworld" version="1.0" - width="800" - height="450" + width="540" + height="320" ub:resizable="true"> - <name>Rich Text Editor</name> - <description>Allows the teacher to attach a text editor to the page.</description> - <preference name="skin" - value="sankore"/> + <name>Rich Note</name> + <description>Allows the teacher to attach a rich note to the page.</description> <content src="index.html"/> </widget> diff --git a/resources/library/interactive/TextEditor.wgt/css/content.css b/resources/library/interactive/TextEditor.wgt/css/content.css new file mode 100644 index 00000000..a9b26c53 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/css/content.css @@ -0,0 +1,105 @@ +body { + background-color: #FFFFFF; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; + scrollbar-3dlight-color: #F0F0EE; + scrollbar-arrow-color: #676662; + scrollbar-base-color: #F0F0EE; + scrollbar-darkshadow-color: #DDDDDD; + scrollbar-face-color: #E0E0DD; + scrollbar-highlight-color: #F0F0EE; + scrollbar-shadow-color: #F0F0EE; + scrollbar-track-color: #F5F5F5; +} + +td { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; +} + +pre { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; +} + +.example1 { + font-weight: bold; + font-size: 14px +} + +.example2 { + font-weight: bold; + font-size: 12px; + color: #FF0000 +} + +.tablerow1 { + background-color: #BBBBBB; +} + +thead { + background-color: #FFBBBB; +} + +tfoot { + background-color: #BBBBFF; +} + +th { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 13px; +} + +/* Basic formats */ + +.bold { + font-weight: bold; +} + +.italic { + font-style: italic; +} + +.underline { + text-decoration: underline; +} + +/* Global align classes */ + +.left { + text-align: inherit; +} + +.center { + text-align: center; +} + +.right { + text-align: right; +} + +.full { + text-align: justify +} + +/* Image and table specific aligns */ + +img.left, table.left { + float: left; + text-align: inherit; +} + +img.center, table.center { + margin-left: auto; + margin-right: auto; + text-align: inherit; +} + +img.center { + display: block; +} + +img.right, table.right { + float: right; + text-align: inherit; +} diff --git a/resources/library/interactive/TextEditor.wgt/css/word.css b/resources/library/interactive/TextEditor.wgt/css/word.css new file mode 100644 index 00000000..79b820a6 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/css/word.css @@ -0,0 +1,53 @@ +body { + background-color: #FFFFFF; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; + scrollbar-3dlight-color: #F0F0EE; + scrollbar-arrow-color: #676662; + scrollbar-base-color: #F0F0EE; + scrollbar-darkshadow-color: #DDDDDD; + scrollbar-face-color: #E0E0DD; + scrollbar-highlight-color: #F0F0EE; + scrollbar-shadow-color: #F0F0EE; + scrollbar-track-color: #F5F5F5; +} + +p {margin:0; padding:0;} + +td { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; +} + +pre { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; +} + +.example1 { + font-weight: bold; + font-size: 14px +} + +.example2 { + font-weight: bold; + font-size: 12px; + color: #FF0000 +} + +.tablerow1 { + background-color: #BBBBBB; +} + +thead { + background-color: #FFBBBB; +} + +tfoot { + background-color: #BBBBFF; +} + +th { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 13px; +} diff --git a/resources/library/interactive/barre_prof.wgt/icon.png b/resources/library/interactive/TextEditor.wgt/icon.png similarity index 100% rename from resources/library/interactive/barre_prof.wgt/icon.png rename to resources/library/interactive/TextEditor.wgt/icon.png diff --git a/resources/library/interactive/TextEditor.wgt/index.html b/resources/library/interactive/TextEditor.wgt/index.html new file mode 100644 index 00000000..355bfebf --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/index.html @@ -0,0 +1,85 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>Full featured example</title> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <!-- TinyMCE --> + <script type="text/javascript" src="jscripts/tiny_mce/tiny_mce.js"></script> + <script type="text/javascript"> + var flag = false; + tinyMCE.init({ + // General options + mode : "textareas", + theme : "advanced", + plugins : "autolink,lists,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,wordcount,advlist,autosave", + + // Theme options + theme_advanced_buttons1 : "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,formatselect,fontselect,fontsizeselect", + theme_advanced_buttons2 : "undo,redo,|,cut,copy,paste,pasteword,|,bullist,numlist,|,outdent,indent,|,code,insertdate,inserttime,preview,|,forecolor,backcolor", + theme_advanced_buttons3 : "hr,removeformat,|,sub,sup,|,charmap,emotions,iespell,|,ltr,rtl", + theme_advanced_toolbar_location : "top", + theme_advanced_toolbar_align : "left", + theme_advanced_statusbar_location : "bottom", + theme_advanced_resizing : true, + + // Example content CSS (should be your site CSS) + content_css : "css/content.css", + + // Drop lists for link/image/media/template dialogs + template_external_list_url : "lists/template_list.js", + external_link_list_url : "lists/link_list.js", + external_image_list_url : "lists/image_list.js", + media_external_list_url : "lists/media_list.js", + + // Style formats + style_formats : [ + {title : 'Bold text', inline : 'b'}, + {title : 'Red text', inline : 'span', styles : {color : '#ff0000'}}, + {title : 'Red header', block : 'h1', styles : {color : '#ff0000'}}, + {title : 'Example 1', inline : 'span', classes : 'example1'}, + {title : 'Example 2', inline : 'span', classes : 'example2'}, + {title : 'Table styles'}, + {title : 'Table row 1', selector : 'tr', classes : 'tablerow1'} + ], + + // Replace values for the template plugin + template_replace_values : { + username : "Some User", + staffid : "991234" + } + }); + + function setSankoreData() { + if(window.sankore) { + if(flag) + window.sankore.setPreference("textForEditing", window.frames[0].document.getElementById("tinymce").innerHTML); + } + } + + function setTextEditorData() { + if(window.sankore) { + if(!window.frames[0]) + setTimeout(function(){setTextEditorData()}, 300); + else { + flag = true; + window.frames[0].document.getElementById("tinymce").innerHTML = window.sankore.preference("textForEditing","<p>Enter your text here ...</p>"); + } + } + } + + /*function setSpanHandler(){ + alert(document.body.innerHTML); + alert(document.getElementById("elm1_toolbargroup").innerHTML); + document.getElementById("elm1_toolbargroup").onmouseout = function(){ + setSankoreData(); + }; + }*/ + </script> + <!-- /TinyMCE --> + + </head> + <body onmouseout="setSankoreData()" onload="setTextEditorData()"> + <textarea id="elm1" name="elm1" rows="15" cols="80" style="width: 80%"> + </textarea> + </body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/langs/en.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/langs/en.js new file mode 100644 index 00000000..3b3e1381 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/langs/en.js @@ -0,0 +1,223 @@ +tinyMCE.addI18n({en:{ +common:{ +edit_confirm:"Do you want to use the WYSIWYG mode for this textarea?", +apply:"Apply", +insert:"Insert", +update:"Update", +cancel:"Cancel", +close:"Close", +browse:"Browse", +class_name:"Class", +not_set:"-- Not set --", +clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?", +clipboard_no_support:"Currently not supported by your browser, use keyboard shortcuts instead.", +popup_blocked:"Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.", +invalid_data:"{#field} is invalid", +invalid_data_number:"{#field} must be a number", +invalid_data_min:"{#field} must be a number greater than {#min}", +invalid_data_size:"{#field} must be a number or percentage", +more_colors:"More colors" +}, +colors:{ +'000000':'Black', +'993300':'Burnt orange', +'333300':'Dark olive', +'003300':'Dark green', +'003366':'Dark azure', +'000080':'Navy Blue', +'333399':'Indigo', +'333333':'Very dark gray', +'800000':'Maroon', +'FF6600':'Orange', +'808000':'Olive', +'008000':'Green', +'008080':'Teal', +'0000FF':'Blue', +'666699':'Grayish blue', +'808080':'Gray', +'FF0000':'Red', +'FF9900':'Amber', +'99CC00':'Yellow green', +'339966':'Sea green', +'33CCCC':'Turquoise', +'3366FF':'Royal blue', +'800080':'Purple', +'999999':'Medium gray', +'FF00FF':'Magenta', +'FFCC00':'Gold', +'FFFF00':'Yellow', +'00FF00':'Lime', +'00FFFF':'Aqua', +'00CCFF':'Sky blue', +'993366':'Brown', +'C0C0C0':'Silver', +'FF99CC':'Pink', +'FFCC99':'Peach', +'FFFF99':'Light yellow', +'CCFFCC':'Pale green', +'CCFFFF':'Pale cyan', +'99CCFF':'Light sky blue', +'CC99FF':'Plum', +'FFFFFF':'White' +}, +contextmenu:{ +align:"Alignment", +left:"Left", +center:"Center", +right:"Right", +full:"Full" +}, +insertdatetime:{ +date_fmt:"%Y-%m-%d", +time_fmt:"%H:%M:%S", +insertdate_desc:"Insert date", +inserttime_desc:"Insert time", +months_long:"January,February,March,April,May,June,July,August,September,October,November,December", +months_short:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec", +day_long:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday", +day_short:"Sun,Mon,Tue,Wed,Thu,Fri,Sat,Sun" +}, +print:{ +print_desc:"Print" +}, +preview:{ +preview_desc:"Preview" +}, +directionality:{ +ltr_desc:"Direction left to right", +rtl_desc:"Direction right to left" +}, +layer:{ +insertlayer_desc:"Insert new layer", +forward_desc:"Move forward", +backward_desc:"Move backward", +absolute_desc:"Toggle absolute positioning", +content:"New layer..." +}, +save:{ +save_desc:"Save", +cancel_desc:"Cancel all changes" +}, +nonbreaking:{ +nonbreaking_desc:"Insert non-breaking space character" +}, +iespell:{ +iespell_desc:"Run spell checking", +download:"ieSpell not detected. Do you want to install it now?" +}, +advhr:{ +advhr_desc:"Horizontal rule" +}, +emotions:{ +emotions_desc:"Emotions" +}, +searchreplace:{ +search_desc:"Find", +replace_desc:"Find/Replace" +}, +advimage:{ +image_desc:"Insert/edit image" +}, +advlink:{ +link_desc:"Insert/edit link" +}, +xhtmlxtras:{ +cite_desc:"Citation", +abbr_desc:"Abbreviation", +acronym_desc:"Acronym", +del_desc:"Deletion", +ins_desc:"Insertion", +attribs_desc:"Insert/Edit Attributes" +}, +style:{ +desc:"Edit CSS Style" +}, +paste:{ +paste_text_desc:"Paste as Plain Text", +paste_word_desc:"Paste from Word", +selectall_desc:"Select All", +plaintext_mode_sticky:"Paste is now in plain text mode. Click again to toggle back to regular paste mode. After you paste something you will be returned to regular paste mode.", +plaintext_mode:"Paste is now in plain text mode. Click again to toggle back to regular paste mode." +}, +paste_dlg:{ +text_title:"Use CTRL+V on your keyboard to paste the text into the window.", +text_linebreaks:"Keep linebreaks", +word_title:"Use CTRL+V on your keyboard to paste the text into the window." +}, +table:{ +desc:"Inserts a new table", +row_before_desc:"Insert row before", +row_after_desc:"Insert row after", +delete_row_desc:"Delete row", +col_before_desc:"Insert column before", +col_after_desc:"Insert column after", +delete_col_desc:"Remove column", +split_cells_desc:"Split merged table cells", +merge_cells_desc:"Merge table cells", +row_desc:"Table row properties", +cell_desc:"Table cell properties", +props_desc:"Table properties", +paste_row_before_desc:"Paste table row before", +paste_row_after_desc:"Paste table row after", +cut_row_desc:"Cut table row", +copy_row_desc:"Copy table row", +del:"Delete table", +row:"Row", +col:"Column", +cell:"Cell" +}, +autosave:{ +unload_msg:"The changes you made will be lost if you navigate away from this page.", +restore_content:"Restore auto-saved content.", +warning_message:"If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?." +}, +fullscreen:{ +desc:"Toggle fullscreen mode" +}, +media:{ +desc:"Insert / edit embedded media", +edit:"Edit embedded media" +}, +fullpage:{ +desc:"Document properties" +}, +template:{ +desc:"Insert predefined template content" +}, +visualchars:{ +desc:"Visual control characters on/off." +}, +spellchecker:{ +desc:"Toggle spellchecker", +menu:"Spellchecker settings", +ignore_word:"Ignore word", +ignore_words:"Ignore all", +langs:"Languages", +wait:"Please wait...", +sug:"Suggestions", +no_sug:"No suggestions", +no_mpell:"No misspellings found.", +learn_word:"Learn word" +}, +pagebreak:{ +desc:"Insert page break." +}, +advlist:{ +types:"Types", +def:"Default", +lower_alpha:"Lower alpha", +lower_greek:"Lower greek", +lower_roman:"Lower roman", +upper_alpha:"Upper alpha", +upper_roman:"Upper roman", +circle:"Circle", +disc:"Disc", +square:"Square" +}, +aria:{ +rich_text_area:"Rich Text Area" +}, +wordcount:{ +words: 'Words: ' +} +}}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/license.txt b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/license.txt new file mode 100644 index 00000000..1837b0ac --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/license.txt @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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. + + GNU LESSER GENERAL PUBLIC LICENSE + 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 a brief 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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! + + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/css/advhr.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/css/advhr.css new file mode 100644 index 00000000..3fe369cb --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/css/advhr.css @@ -0,0 +1,5 @@ +input.radio {border:1px none #000; background:transparent; vertical-align:middle;} +.panel_wrapper div.current {height:80px;} +#width {width:50px; vertical-align:middle;} +#width2 {width:50px; vertical-align:middle;} +#size {width:100px;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/editor_plugin.js new file mode 100644 index 00000000..4d3b062d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AdvancedHRPlugin",{init:function(a,b){a.addCommand("mceAdvancedHr",function(){a.windowManager.open({file:b+"/rule.htm",width:250+parseInt(a.getLang("advhr.delta_width",0)),height:160+parseInt(a.getLang("advhr.delta_height",0)),inline:1},{plugin_url:b})});a.addButton("advhr",{title:"advhr.advhr_desc",cmd:"mceAdvancedHr"});a.onNodeChange.add(function(d,c,e){c.setActive("advhr",e.nodeName=="HR")});a.onClick.add(function(c,d){d=d.target;if(d.nodeName==="HR"){c.selection.select(d)}})},getInfo:function(){return{longname:"Advanced HR",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advhr",tinymce.plugins.AdvancedHRPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js new file mode 100644 index 00000000..5a4b7250 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js @@ -0,0 +1,57 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.AdvancedHRPlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceAdvancedHr', function() { + ed.windowManager.open({ + file : url + '/rule.htm', + width : 250 + parseInt(ed.getLang('advhr.delta_width', 0)), + height : 160 + parseInt(ed.getLang('advhr.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('advhr', { + title : 'advhr.advhr_desc', + cmd : 'mceAdvancedHr' + }); + + ed.onNodeChange.add(function(ed, cm, n) { + cm.setActive('advhr', n.nodeName == 'HR'); + }); + + ed.onClick.add(function(ed, e) { + e = e.target; + + if (e.nodeName === 'HR') + ed.selection.select(e); + }); + }, + + getInfo : function() { + return { + longname : 'Advanced HR', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('advhr', tinymce.plugins.AdvancedHRPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/js/rule.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/js/rule.js new file mode 100644 index 00000000..a60c35fc --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/js/rule.js @@ -0,0 +1,43 @@ +var AdvHRDialog = { + init : function(ed) { + var dom = ed.dom, f = document.forms[0], n = ed.selection.getNode(), w; + + w = dom.getAttrib(n, 'width'); + f.width.value = w ? parseInt(w) : (dom.getStyle('width') || ''); + f.size.value = dom.getAttrib(n, 'size') || parseInt(dom.getStyle('height')) || ''; + f.noshade.checked = !!dom.getAttrib(n, 'noshade') || !!dom.getStyle('border-width'); + selectByValue(f, 'width2', w.indexOf('%') != -1 ? '%' : 'px'); + }, + + update : function() { + var ed = tinyMCEPopup.editor, h, f = document.forms[0], st = ''; + + h = '<hr'; + + if (f.size.value) { + h += ' size="' + f.size.value + '"'; + st += ' height:' + f.size.value + 'px;'; + } + + if (f.width.value) { + h += ' width="' + f.width.value + (f.width2.value == '%' ? '%' : '') + '"'; + st += ' width:' + f.width.value + (f.width2.value == '%' ? '%' : 'px') + ';'; + } + + if (f.noshade.checked) { + h += ' noshade="noshade"'; + st += ' border-width: 1px; border-style: solid; border-color: #CCCCCC; color: #ffffff;'; + } + + if (ed.settings.inline_styles) + h += ' style="' + tinymce.trim(st) + '"'; + + h += ' />'; + + ed.execCommand("mceInsertContent", false, h); + tinyMCEPopup.close(); + } +}; + +tinyMCEPopup.requireLangPack(); +tinyMCEPopup.onInit.add(AdvHRDialog.init, AdvHRDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js new file mode 100644 index 00000000..671f49d8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js @@ -0,0 +1,7 @@ +tinyMCE.addI18n('en.advhr_dlg',{ +normal:"Normal", +width:"Width", +widthunits:"Units", +size:"Height", +noshade:"No shadow" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/rule.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/rule.htm new file mode 100644 index 00000000..11d36513 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advhr/rule.htm @@ -0,0 +1,58 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#advhr.advhr_desc}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="js/rule.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <link href="css/advhr.css" rel="stylesheet" type="text/css" /> +</head> +<body role="application"> +<form onsubmit="AdvHRDialog.update();return false;" action="#"> + <div class="tabs"> + <ul> + <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advhr.advhr_desc}</a></span></li> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="general_panel" class="panel current"> + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> + <tr role="group" aria-labelledby="width_label"> + <td><label id="width_label" for="width">{#advhr_dlg.width}</label></td> + <td class="nowrap"> + <input id="width" name="width" type="text" value="" class="mceFocus" /> + <span style="display:none;" id="width_unit_label">{#advhr_dlg.widthunits}</span> + <select name="width2" id="width2" aria-labelledby="width_unit_label"> + <option value="">px</option> + <option value="%">%</option> + </select> + </td> + </tr> + <tr> + <td><label for="size">{#advhr_dlg.size}</label></td> + <td><select id="size" name="size"> + <option value="">{#advhr_dlg.normal}</option> + <option value="1">1</option> + <option value="2">2</option> + <option value="3">3</option> + <option value="4">4</option> + <option value="5">5</option> + </select></td> + </tr> + <tr> + <td><label for="noshade">{#advhr_dlg.noshade}</label></td> + <td><input type="checkbox" name="noshade" id="noshade" class="radio" /></td> + </tr> + </table> + </div> + </div> + + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#insert}" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> +</form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/css/advimage.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/css/advimage.css new file mode 100644 index 00000000..228530f9 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/css/advimage.css @@ -0,0 +1,13 @@ +#src_list, #over_list, #out_list {width:280px;} +.mceActionPanel {margin-top:7px;} +.alignPreview {border:1px solid #000; width:140px; height:140px; overflow:hidden; padding:5px;} +.checkbox {border:0;} +.panel_wrapper div.current {height:305px;} +#prev {margin:0; border:1px solid #000; width:428px; height:150px; overflow:auto;} +#align, #classlist {width:150px;} +#width, #height {vertical-align:middle; width:50px; text-align:center;} +#vspace, #hspace, #border {vertical-align:middle; width:30px; text-align:center;} +#class_list {width:180px;} +input {width: 280px;} +#constrain, #onmousemovecheck {width:auto;} +#id, #dir, #lang, #usemap, #longdesc {width:200px;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/editor_plugin.js new file mode 100644 index 00000000..d613a613 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AdvancedImagePlugin",{init:function(a,b){a.addCommand("mceAdvImage",function(){if(a.dom.getAttrib(a.selection.getNode(),"class","").indexOf("mceItem")!=-1){return}a.windowManager.open({file:b+"/image.htm",width:480+parseInt(a.getLang("advimage.delta_width",0)),height:385+parseInt(a.getLang("advimage.delta_height",0)),inline:1},{plugin_url:b})});a.addButton("image",{title:"advimage.image_desc",cmd:"mceAdvImage"})},getInfo:function(){return{longname:"Advanced image",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advimage",tinymce.plugins.AdvancedImagePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js new file mode 100644 index 00000000..76df89a3 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js @@ -0,0 +1,50 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.AdvancedImagePlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceAdvImage', function() { + // Internal image object like a flash placeholder + if (ed.dom.getAttrib(ed.selection.getNode(), 'class', '').indexOf('mceItem') != -1) + return; + + ed.windowManager.open({ + file : url + '/image.htm', + width : 480 + parseInt(ed.getLang('advimage.delta_width', 0)), + height : 385 + parseInt(ed.getLang('advimage.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('image', { + title : 'advimage.image_desc', + cmd : 'mceAdvImage' + }); + }, + + getInfo : function() { + return { + longname : 'Advanced image', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('advimage', tinymce.plugins.AdvancedImagePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/image.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/image.htm new file mode 100644 index 00000000..835d3882 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/image.htm @@ -0,0 +1,235 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#advimage_dlg.dialog_title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <script type="text/javascript" src="../../utils/validate.js"></script> + <script type="text/javascript" src="../../utils/editable_selects.js"></script> + <script type="text/javascript" src="js/image.js"></script> + <link href="css/advimage.css" rel="stylesheet" type="text/css" /> +</head> +<body id="advimage" style="display: none" role="application" aria-labelledby="app_title"> + <span id="app_title" style="display:none">{#advimage_dlg.dialog_title}</span> + <form onsubmit="ImageDialog.insert();return false;" action="#"> + <div class="tabs"> + <ul> + <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advimage_dlg.tab_general}</a></span></li> + <li id="appearance_tab" aria-controls="appearance_panel"><span><a href="javascript:mcTabs.displayTab('appearance_tab','appearance_panel');" onmousedown="return false;">{#advimage_dlg.tab_appearance}</a></span></li> + <li id="advanced_tab" aria-controls="advanced_panel"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#advimage_dlg.tab_advanced}</a></span></li> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="general_panel" class="panel current"> + <fieldset> + <legend>{#advimage_dlg.general}</legend> + + <table role="presentation" class="properties"> + <tr> + <td class="column1"><label id="srclabel" for="src">{#advimage_dlg.src}</label></td> + <td colspan="2"><table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input name="src" type="text" id="src" value="" class="mceFocus" onchange="ImageDialog.showPreviewImage(this.value);" aria-required="true" /></td> + <td id="srcbrowsercontainer"> </td> + </tr> + </table></td> + </tr> + <tr> + <td><label for="src_list">{#advimage_dlg.image_list}</label></td> + <td><select id="src_list" name="src_list" onchange="document.getElementById('src').value=this.options[this.selectedIndex].value;document.getElementById('alt').value=this.options[this.selectedIndex].text;document.getElementById('title').value=this.options[this.selectedIndex].text;ImageDialog.showPreviewImage(this.options[this.selectedIndex].value);"><option value=""></option></select></td> + </tr> + <tr> + <td class="column1"><label id="altlabel" for="alt">{#advimage_dlg.alt}</label></td> + <td colspan="2"><input id="alt" name="alt" type="text" value="" /></td> + </tr> + <tr> + <td class="column1"><label id="titlelabel" for="title">{#advimage_dlg.title}</label></td> + <td colspan="2"><input id="title" name="title" type="text" value="" /></td> + </tr> + </table> + </fieldset> + + <fieldset> + <legend>{#advimage_dlg.preview}</legend> + <div id="prev"></div> + </fieldset> + </div> + + <div id="appearance_panel" class="panel"> + <fieldset> + <legend>{#advimage_dlg.tab_appearance}</legend> + + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> + <tr> + <td class="column1"><label id="alignlabel" for="align">{#advimage_dlg.align}</label></td> + <td><select id="align" name="align" onchange="ImageDialog.updateStyle('align');ImageDialog.changeAppearance();"> + <option value="">{#not_set}</option> + <option value="baseline">{#advimage_dlg.align_baseline}</option> + <option value="top">{#advimage_dlg.align_top}</option> + <option value="middle">{#advimage_dlg.align_middle}</option> + <option value="bottom">{#advimage_dlg.align_bottom}</option> + <option value="text-top">{#advimage_dlg.align_texttop}</option> + <option value="text-bottom">{#advimage_dlg.align_textbottom}</option> + <option value="left">{#advimage_dlg.align_left}</option> + <option value="right">{#advimage_dlg.align_right}</option> + </select> + </td> + <td rowspan="6" valign="top"> + <div class="alignPreview"> + <img id="alignSampleImg" src="img/sample.gif" alt="{#advimage_dlg.example_img}" /> + Lorem ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum edipiscing elit, sed diam + nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Loreum ipsum + edipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam + erat volutpat. + </div> + </td> + </tr> + + <tr role="group" aria-labelledby="widthlabel"> + <td class="column1"><label id="widthlabel" for="width">{#advimage_dlg.dimensions}</label></td> + <td class="nowrap"> + <span style="display:none" id="width_voiceLabel">{#advimage_dlg.width}</span> + <input name="width" type="text" id="width" value="" size="5" maxlength="5" class="size" onchange="ImageDialog.changeHeight();" aria-labelledby="width_voiceLabel" /> x + <span style="display:none" id="height_voiceLabel">{#advimage_dlg.height}</span> + <input name="height" type="text" id="height" value="" size="5" maxlength="5" class="size" onchange="ImageDialog.changeWidth();" aria-labelledby="height_voiceLabel" /> px + </td> + </tr> + + <tr> + <td> </td> + <td><table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="constrain" type="checkbox" name="constrain" class="checkbox" /></td> + <td><label id="constrainlabel" for="constrain">{#advimage_dlg.constrain_proportions}</label></td> + </tr> + </table></td> + </tr> + + <tr> + <td class="column1"><label id="vspacelabel" for="vspace">{#advimage_dlg.vspace}</label></td> + <td><input name="vspace" type="text" id="vspace" value="" size="3" maxlength="3" class="number" onchange="ImageDialog.updateStyle('vspace');ImageDialog.changeAppearance();" onblur="ImageDialog.updateStyle('vspace');ImageDialog.changeAppearance();" /> + </td> + </tr> + + <tr> + <td class="column1"><label id="hspacelabel" for="hspace">{#advimage_dlg.hspace}</label></td> + <td><input name="hspace" type="text" id="hspace" value="" size="3" maxlength="3" class="number" onchange="ImageDialog.updateStyle('hspace');ImageDialog.changeAppearance();" onblur="ImageDialog.updateStyle('hspace');ImageDialog.changeAppearance();" /></td> + </tr> + + <tr> + <td class="column1"><label id="borderlabel" for="border">{#advimage_dlg.border}</label></td> + <td><input id="border" name="border" type="text" value="" size="3" maxlength="3" class="number" onchange="ImageDialog.updateStyle('border');ImageDialog.changeAppearance();" onblur="ImageDialog.updateStyle('border');ImageDialog.changeAppearance();" /></td> + </tr> + + <tr> + <td><label for="class_list">{#class_name}</label></td> + <td colspan="2"><select id="class_list" name="class_list" class="mceEditableSelect"><option value=""></option></select></td> + </tr> + + <tr> + <td class="column1"><label id="stylelabel" for="style">{#advimage_dlg.style}</label></td> + <td colspan="2"><input id="style" name="style" type="text" value="" onchange="ImageDialog.changeAppearance();" /></td> + </tr> + + <!-- <tr> + <td class="column1"><label id="classeslabel" for="classes">{#advimage_dlg.classes}</label></td> + <td colspan="2"><input id="classes" name="classes" type="text" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td> + </tr> --> + </table> + </fieldset> + </div> + + <div id="advanced_panel" class="panel"> + <fieldset> + <legend>{#advimage_dlg.swap_image}</legend> + + <input type="checkbox" id="onmousemovecheck" name="onmousemovecheck" class="checkbox" onclick="ImageDialog.setSwapImage(this.checked);" aria-controls="onmouseoversrc onmouseoutsrc" /> + <label id="onmousemovechecklabel" for="onmousemovecheck">{#advimage_dlg.alt_image}</label> + + <table role="presentation" border="0" cellpadding="4" cellspacing="0" width="100%"> + <tr> + <td class="column1"><label id="onmouseoversrclabel" for="onmouseoversrc">{#advimage_dlg.mouseover}</label></td> + <td><table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input id="onmouseoversrc" name="onmouseoversrc" type="text" value="" /></td> + <td id="onmouseoversrccontainer"> </td> + </tr> + </table></td> + </tr> + <tr> + <td><label for="over_list">{#advimage_dlg.image_list}</label></td> + <td><select id="over_list" name="over_list" onchange="document.getElementById('onmouseoversrc').value=this.options[this.selectedIndex].value;"><option value=""></option></select></td> + </tr> + <tr> + <td class="column1"><label id="onmouseoutsrclabel" for="onmouseoutsrc">{#advimage_dlg.mouseout}</label></td> + <td class="column2"><table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input id="onmouseoutsrc" name="onmouseoutsrc" type="text" value="" /></td> + <td id="onmouseoutsrccontainer"> </td> + </tr> + </table></td> + </tr> + <tr> + <td><label for="out_list">{#advimage_dlg.image_list}</label></td> + <td><select id="out_list" name="out_list" onchange="document.getElementById('onmouseoutsrc').value=this.options[this.selectedIndex].value;"><option value=""></option></select></td> + </tr> + </table> + </fieldset> + + <fieldset> + <legend>{#advimage_dlg.misc}</legend> + + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> + <tr> + <td class="column1"><label id="idlabel" for="id">{#advimage_dlg.id}</label></td> + <td><input id="id" name="id" type="text" value="" /></td> + </tr> + + <tr> + <td class="column1"><label id="dirlabel" for="dir">{#advimage_dlg.langdir}</label></td> + <td> + <select id="dir" name="dir" onchange="ImageDialog.changeAppearance();"> + <option value="">{#not_set}</option> + <option value="ltr">{#advimage_dlg.ltr}</option> + <option value="rtl">{#advimage_dlg.rtl}</option> + </select> + </td> + </tr> + + <tr> + <td class="column1"><label id="langlabel" for="lang">{#advimage_dlg.langcode}</label></td> + <td> + <input id="lang" name="lang" type="text" value="" /> + </td> + </tr> + + <tr> + <td class="column1"><label id="usemaplabel" for="usemap">{#advimage_dlg.map}</label></td> + <td> + <input id="usemap" name="usemap" type="text" value="" /> + </td> + </tr> + + <tr> + <td class="column1"><label id="longdesclabel" for="longdesc">{#advimage_dlg.long_desc}</label></td> + <td><table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input id="longdesc" name="longdesc" type="text" value="" /></td> + <td id="longdesccontainer"> </td> + </tr> + </table></td> + </tr> + </table> + </fieldset> + </div> + </div> + + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#insert}" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> + </form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/img/sample.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/img/sample.gif new file mode 100644 index 00000000..53bf6890 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/img/sample.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/js/image.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/js/image.js new file mode 100644 index 00000000..3d1dee62 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/js/image.js @@ -0,0 +1,458 @@ +var ImageDialog = { + preInit : function() { + var url; + + tinyMCEPopup.requireLangPack(); + + if (url = tinyMCEPopup.getParam("external_image_list_url")) + document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>'); + }, + + init : function(ed) { + var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, dom = ed.dom, n = ed.selection.getNode(), fl = tinyMCEPopup.getParam('external_image_list', 'tinyMCEImageList'); + + tinyMCEPopup.resizeToInnerSize(); + this.fillClassList('class_list'); + this.fillFileList('src_list', fl); + this.fillFileList('over_list', fl); + this.fillFileList('out_list', fl); + TinyMCE_EditableSelects.init(); + + if (n.nodeName == 'IMG') { + nl.src.value = dom.getAttrib(n, 'src'); + nl.width.value = dom.getAttrib(n, 'width'); + nl.height.value = dom.getAttrib(n, 'height'); + nl.alt.value = dom.getAttrib(n, 'alt'); + nl.title.value = dom.getAttrib(n, 'title'); + nl.vspace.value = this.getAttrib(n, 'vspace'); + nl.hspace.value = this.getAttrib(n, 'hspace'); + nl.border.value = this.getAttrib(n, 'border'); + selectByValue(f, 'align', this.getAttrib(n, 'align')); + selectByValue(f, 'class_list', dom.getAttrib(n, 'class'), true, true); + nl.style.value = dom.getAttrib(n, 'style'); + nl.id.value = dom.getAttrib(n, 'id'); + nl.dir.value = dom.getAttrib(n, 'dir'); + nl.lang.value = dom.getAttrib(n, 'lang'); + nl.usemap.value = dom.getAttrib(n, 'usemap'); + nl.longdesc.value = dom.getAttrib(n, 'longdesc'); + nl.insert.value = ed.getLang('update'); + + if (/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/.test(dom.getAttrib(n, 'onmouseover'))) + nl.onmouseoversrc.value = dom.getAttrib(n, 'onmouseover').replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, '$1'); + + if (/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/.test(dom.getAttrib(n, 'onmouseout'))) + nl.onmouseoutsrc.value = dom.getAttrib(n, 'onmouseout').replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, '$1'); + + if (ed.settings.inline_styles) { + // Move attribs to styles + if (dom.getAttrib(n, 'align')) + this.updateStyle('align'); + + if (dom.getAttrib(n, 'hspace')) + this.updateStyle('hspace'); + + if (dom.getAttrib(n, 'border')) + this.updateStyle('border'); + + if (dom.getAttrib(n, 'vspace')) + this.updateStyle('vspace'); + } + } + + // Setup browse button + document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image'); + if (isVisible('srcbrowser')) + document.getElementById('src').style.width = '260px'; + + // Setup browse button + document.getElementById('onmouseoversrccontainer').innerHTML = getBrowserHTML('overbrowser','onmouseoversrc','image','theme_advanced_image'); + if (isVisible('overbrowser')) + document.getElementById('onmouseoversrc').style.width = '260px'; + + // Setup browse button + document.getElementById('onmouseoutsrccontainer').innerHTML = getBrowserHTML('outbrowser','onmouseoutsrc','image','theme_advanced_image'); + if (isVisible('outbrowser')) + document.getElementById('onmouseoutsrc').style.width = '260px'; + + // If option enabled default contrain proportions to checked + if (ed.getParam("advimage_constrain_proportions", true)) + f.constrain.checked = true; + + // Check swap image if valid data + if (nl.onmouseoversrc.value || nl.onmouseoutsrc.value) + this.setSwapImage(true); + else + this.setSwapImage(false); + + this.changeAppearance(); + this.showPreviewImage(nl.src.value, 1); + }, + + insert : function(file, title) { + var ed = tinyMCEPopup.editor, t = this, f = document.forms[0]; + + if (f.src.value === '') { + if (ed.selection.getNode().nodeName == 'IMG') { + ed.dom.remove(ed.selection.getNode()); + ed.execCommand('mceRepaint'); + } + + tinyMCEPopup.close(); + return; + } + + if (tinyMCEPopup.getParam("accessibility_warnings", 1)) { + if (!f.alt.value) { + tinyMCEPopup.confirm(tinyMCEPopup.getLang('advimage_dlg.missing_alt'), function(s) { + if (s) + t.insertAndClose(); + }); + + return; + } + } + + t.insertAndClose(); + }, + + insertAndClose : function() { + var ed = tinyMCEPopup.editor, f = document.forms[0], nl = f.elements, v, args = {}, el; + + tinyMCEPopup.restoreSelection(); + + // Fixes crash in Safari + if (tinymce.isWebKit) + ed.getWin().focus(); + + if (!ed.settings.inline_styles) { + args = { + vspace : nl.vspace.value, + hspace : nl.hspace.value, + border : nl.border.value, + align : getSelectValue(f, 'align') + }; + } else { + // Remove deprecated values + args = { + vspace : '', + hspace : '', + border : '', + align : '' + }; + } + + tinymce.extend(args, { + src : nl.src.value.replace(/ /g, '%20'), + width : nl.width.value, + height : nl.height.value, + alt : nl.alt.value, + title : nl.title.value, + 'class' : getSelectValue(f, 'class_list'), + style : nl.style.value, + id : nl.id.value, + dir : nl.dir.value, + lang : nl.lang.value, + usemap : nl.usemap.value, + longdesc : nl.longdesc.value + }); + + args.onmouseover = args.onmouseout = ''; + + if (f.onmousemovecheck.checked) { + if (nl.onmouseoversrc.value) + args.onmouseover = "this.src='" + nl.onmouseoversrc.value + "';"; + + if (nl.onmouseoutsrc.value) + args.onmouseout = "this.src='" + nl.onmouseoutsrc.value + "';"; + } + + el = ed.selection.getNode(); + + if (el && el.nodeName == 'IMG') { + ed.dom.setAttribs(el, args); + } else { + ed.execCommand('mceInsertContent', false, '<img id="__mce_tmp" />', {skip_undo : 1}); + ed.dom.setAttribs('__mce_tmp', args); + ed.dom.setAttrib('__mce_tmp', 'id', ''); + ed.undoManager.add(); + } + + tinyMCEPopup.editor.execCommand('mceRepaint'); + tinyMCEPopup.editor.focus(); + tinyMCEPopup.close(); + }, + + getAttrib : function(e, at) { + var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2; + + if (ed.settings.inline_styles) { + switch (at) { + case 'align': + if (v = dom.getStyle(e, 'float')) + return v; + + if (v = dom.getStyle(e, 'vertical-align')) + return v; + + break; + + case 'hspace': + v = dom.getStyle(e, 'margin-left') + v2 = dom.getStyle(e, 'margin-right'); + + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'vspace': + v = dom.getStyle(e, 'margin-top') + v2 = dom.getStyle(e, 'margin-bottom'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'border': + v = 0; + + tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) { + sv = dom.getStyle(e, 'border-' + sv + '-width'); + + // False or not the same as prev + if (!sv || (sv != v && v !== 0)) { + v = 0; + return false; + } + + if (sv) + v = sv; + }); + + if (v) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + } + } + + if (v = dom.getAttrib(e, at)) + return v; + + return ''; + }, + + setSwapImage : function(st) { + var f = document.forms[0]; + + f.onmousemovecheck.checked = st; + setBrowserDisabled('overbrowser', !st); + setBrowserDisabled('outbrowser', !st); + + if (f.over_list) + f.over_list.disabled = !st; + + if (f.out_list) + f.out_list.disabled = !st; + + f.onmouseoversrc.disabled = !st; + f.onmouseoutsrc.disabled = !st; + }, + + fillClassList : function(id) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + if (v = tinyMCEPopup.getParam('theme_advanced_styles')) { + cl = []; + + tinymce.each(v.split(';'), function(v) { + var p = v.split('='); + + cl.push({'title' : p[0], 'class' : p[1]}); + }); + } else + cl = tinyMCEPopup.editor.dom.getClasses(); + + if (cl.length > 0) { + lst.options.length = 0; + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); + + tinymce.each(cl, function(o) { + lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + fillFileList : function(id, l) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + l = typeof(l) === 'function' ? l() : window[l]; + lst.options.length = 0; + + if (l && l.length > 0) { + lst.options[lst.options.length] = new Option('', ''); + + tinymce.each(l, function(o) { + lst.options[lst.options.length] = new Option(o[0], o[1]); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + resetImageData : function() { + var f = document.forms[0]; + + f.elements.width.value = f.elements.height.value = ''; + }, + + updateImageData : function(img, st) { + var f = document.forms[0]; + + if (!st) { + f.elements.width.value = img.width; + f.elements.height.value = img.height; + } + + this.preloadImg = img; + }, + + changeAppearance : function() { + var ed = tinyMCEPopup.editor, f = document.forms[0], img = document.getElementById('alignSampleImg'); + + if (img) { + if (ed.getParam('inline_styles')) { + ed.dom.setAttrib(img, 'style', f.style.value); + } else { + img.align = f.align.value; + img.border = f.border.value; + img.hspace = f.hspace.value; + img.vspace = f.vspace.value; + } + } + }, + + changeHeight : function() { + var f = document.forms[0], tp, t = this; + + if (!f.constrain.checked || !t.preloadImg) { + return; + } + + if (f.width.value == "" || f.height.value == "") + return; + + tp = (parseInt(f.width.value) / parseInt(t.preloadImg.width)) * t.preloadImg.height; + f.height.value = tp.toFixed(0); + }, + + changeWidth : function() { + var f = document.forms[0], tp, t = this; + + if (!f.constrain.checked || !t.preloadImg) { + return; + } + + if (f.width.value == "" || f.height.value == "") + return; + + tp = (parseInt(f.height.value) / parseInt(t.preloadImg.height)) * t.preloadImg.width; + f.width.value = tp.toFixed(0); + }, + + updateStyle : function(ty) { + var dom = tinyMCEPopup.dom, b, bStyle, bColor, v, isIE = tinymce.isIE, f = document.forms[0], img = dom.create('img', {style : dom.get('style').value}); + + if (tinyMCEPopup.editor.settings.inline_styles) { + // Handle align + if (ty == 'align') { + dom.setStyle(img, 'float', ''); + dom.setStyle(img, 'vertical-align', ''); + + v = getSelectValue(f, 'align'); + if (v) { + if (v == 'left' || v == 'right') + dom.setStyle(img, 'float', v); + else + img.style.verticalAlign = v; + } + } + + // Handle border + if (ty == 'border') { + b = img.style.border ? img.style.border.split(' ') : []; + bStyle = dom.getStyle(img, 'border-style'); + bColor = dom.getStyle(img, 'border-color'); + + dom.setStyle(img, 'border', ''); + + v = f.border.value; + if (v || v == '0') { + if (v == '0') + img.style.border = isIE ? '0' : '0 none none'; + else { + if (b.length == 3 && b[isIE ? 2 : 1]) + bStyle = b[isIE ? 2 : 1]; + else if (!bStyle || bStyle == 'none') + bStyle = 'solid'; + if (b.length == 3 && b[isIE ? 0 : 2]) + bColor = b[isIE ? 0 : 2]; + else if (!bColor || bColor == 'none') + bColor = 'black'; + img.style.border = v + 'px ' + bStyle + ' ' + bColor; + } + } + } + + // Handle hspace + if (ty == 'hspace') { + dom.setStyle(img, 'marginLeft', ''); + dom.setStyle(img, 'marginRight', ''); + + v = f.hspace.value; + if (v) { + img.style.marginLeft = v + 'px'; + img.style.marginRight = v + 'px'; + } + } + + // Handle vspace + if (ty == 'vspace') { + dom.setStyle(img, 'marginTop', ''); + dom.setStyle(img, 'marginBottom', ''); + + v = f.vspace.value; + if (v) { + img.style.marginTop = v + 'px'; + img.style.marginBottom = v + 'px'; + } + } + + // Merge + dom.get('style').value = dom.serializeStyle(dom.parseStyle(img.style.cssText), 'img'); + } + }, + + changeMouseMove : function() { + }, + + showPreviewImage : function(u, st) { + if (!u) { + tinyMCEPopup.dom.setHTML('prev', ''); + return; + } + + if (!st && tinyMCEPopup.getParam("advimage_update_dimensions_onchange", true)) + this.resetImageData(); + + u = tinyMCEPopup.editor.documentBaseURI.toAbsolute(u); + + if (!st) + tinyMCEPopup.dom.setHTML('prev', '<img id="previewImg" src="' + u + '" border="0" onload="ImageDialog.updateImageData(this);" onerror="ImageDialog.resetImageData();" />'); + else + tinyMCEPopup.dom.setHTML('prev', '<img id="previewImg" src="' + u + '" border="0" onload="ImageDialog.updateImageData(this, 1);" />'); + } +}; + +ImageDialog.preInit(); +tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js new file mode 100644 index 00000000..5ab33f76 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js @@ -0,0 +1,45 @@ +tinyMCE.addI18n('en.advimage_dlg',{ +tab_general:"General", +tab_appearance:"Appearance", +tab_advanced:"Advanced", +general:"General", +title:"Title", +preview:"Preview", +constrain_proportions:"Constrain proportions", +langdir:"Language direction", +langcode:"Language code", +long_desc:"Long description link", +style:"Style", +classes:"Classes", +ltr:"Left to right", +rtl:"Right to left", +id:"Id", +map:"Image map", +swap_image:"Swap image", +alt_image:"Alternative image", +mouseover:"for mouse over", +mouseout:"for mouse out", +misc:"Miscellaneous", +example_img:"Appearance preview image", +missing_alt:"Are you sure you want to continue without including an Image Description? Without it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.", +dialog_title:"Insert/edit image", +src:"Image URL", +alt:"Image description", +list:"Image list", +border:"Border", +dimensions:"Dimensions", +width:"Width", +height:"Height", +vspace:"Vertical space", +hspace:"Horizontal space", +align:"Alignment", +align_baseline:"Baseline", +align_top:"Top", +align_middle:"Middle", +align_bottom:"Bottom", +align_texttop:"Text top", +align_textbottom:"Text bottom", +align_left:"Left", +align_right:"Right", +image_list:"Image list" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/css/advlink.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/css/advlink.css new file mode 100644 index 00000000..66c65493 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/css/advlink.css @@ -0,0 +1,8 @@ +.mceLinkList, .mceAnchorList, #targetlist {width:280px;} +.mceActionPanel {margin-top:7px;} +.panel_wrapper div.current {height:320px;} +#classlist, #title, #href {width:280px;} +#popupurl, #popupname {width:200px;} +#popupwidth, #popupheight, #popupleft, #popuptop {width:30px;vertical-align:middle;text-align:center;} +#id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey {width:200px;} +#events_panel input {width:200px;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/editor_plugin.js new file mode 100644 index 00000000..983fe5a9 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AdvancedLinkPlugin",{init:function(a,b){this.editor=a;a.addCommand("mceAdvLink",function(){var c=a.selection;if(c.isCollapsed()&&!a.dom.getParent(c.getNode(),"A")){return}a.windowManager.open({file:b+"/link.htm",width:480+parseInt(a.getLang("advlink.delta_width",0)),height:400+parseInt(a.getLang("advlink.delta_height",0)),inline:1},{plugin_url:b})});a.addButton("link",{title:"advlink.link_desc",cmd:"mceAdvLink"});a.addShortcut("ctrl+k","advlink.advlink_desc","mceAdvLink");a.onNodeChange.add(function(d,c,f,e){c.setDisabled("link",e&&f.nodeName!="A");c.setActive("link",f.nodeName=="A"&&!f.name)})},getInfo:function(){return{longname:"Advanced link",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advlink",tinymce.plugins.AdvancedLinkPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js new file mode 100644 index 00000000..32ea8f3d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js @@ -0,0 +1,61 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.AdvancedLinkPlugin', { + init : function(ed, url) { + this.editor = ed; + + // Register commands + ed.addCommand('mceAdvLink', function() { + var se = ed.selection; + + // No selection and not in link + if (se.isCollapsed() && !ed.dom.getParent(se.getNode(), 'A')) + return; + + ed.windowManager.open({ + file : url + '/link.htm', + width : 480 + parseInt(ed.getLang('advlink.delta_width', 0)), + height : 400 + parseInt(ed.getLang('advlink.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('link', { + title : 'advlink.link_desc', + cmd : 'mceAdvLink' + }); + + ed.addShortcut('ctrl+k', 'advlink.advlink_desc', 'mceAdvLink'); + + ed.onNodeChange.add(function(ed, cm, n, co) { + cm.setDisabled('link', co && n.nodeName != 'A'); + cm.setActive('link', n.nodeName == 'A' && !n.name); + }); + }, + + getInfo : function() { + return { + longname : 'Advanced link', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('advlink', tinymce.plugins.AdvancedLinkPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/js/advlink.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/js/advlink.js new file mode 100644 index 00000000..cd5cf414 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/js/advlink.js @@ -0,0 +1,532 @@ +/* Functions for the advlink plugin popup */ + +tinyMCEPopup.requireLangPack(); + +var templates = { + "window.open" : "window.open('${url}','${target}','${options}')" +}; + +function preinit() { + var url; + + if (url = tinyMCEPopup.getParam("external_link_list_url")) + document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>'); +} + +function changeClass() { + var f = document.forms[0]; + + f.classes.value = getSelectValue(f, 'classlist'); +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + var formObj = document.forms[0]; + var inst = tinyMCEPopup.editor; + var elm = inst.selection.getNode(); + var action = "insert"; + var html; + + document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','advlink'); + document.getElementById('popupurlbrowsercontainer').innerHTML = getBrowserHTML('popupurlbrowser','popupurl','file','advlink'); + document.getElementById('targetlistcontainer').innerHTML = getTargetListHTML('targetlist','target'); + + // Link list + html = getLinkListHTML('linklisthref','href'); + if (html == "") + document.getElementById("linklisthrefrow").style.display = 'none'; + else + document.getElementById("linklisthrefcontainer").innerHTML = html; + + // Anchor list + html = getAnchorListHTML('anchorlist','href'); + if (html == "") + document.getElementById("anchorlistrow").style.display = 'none'; + else + document.getElementById("anchorlistcontainer").innerHTML = html; + + // Resize some elements + if (isVisible('hrefbrowser')) + document.getElementById('href').style.width = '260px'; + + if (isVisible('popupurlbrowser')) + document.getElementById('popupurl').style.width = '180px'; + + elm = inst.dom.getParent(elm, "A"); + if (elm != null && elm.nodeName == "A") + action = "update"; + + formObj.insert.value = tinyMCEPopup.getLang(action, 'Insert', true); + + setPopupControlsDisabled(true); + + if (action == "update") { + var href = inst.dom.getAttrib(elm, 'href'); + var onclick = inst.dom.getAttrib(elm, 'onclick'); + + // Setup form data + setFormValue('href', href); + setFormValue('title', inst.dom.getAttrib(elm, 'title')); + setFormValue('id', inst.dom.getAttrib(elm, 'id')); + setFormValue('style', inst.dom.getAttrib(elm, "style")); + setFormValue('rel', inst.dom.getAttrib(elm, 'rel')); + setFormValue('rev', inst.dom.getAttrib(elm, 'rev')); + setFormValue('charset', inst.dom.getAttrib(elm, 'charset')); + setFormValue('hreflang', inst.dom.getAttrib(elm, 'hreflang')); + setFormValue('dir', inst.dom.getAttrib(elm, 'dir')); + setFormValue('lang', inst.dom.getAttrib(elm, 'lang')); + setFormValue('tabindex', inst.dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : "")); + setFormValue('accesskey', inst.dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : "")); + setFormValue('type', inst.dom.getAttrib(elm, 'type')); + setFormValue('onfocus', inst.dom.getAttrib(elm, 'onfocus')); + setFormValue('onblur', inst.dom.getAttrib(elm, 'onblur')); + setFormValue('onclick', onclick); + setFormValue('ondblclick', inst.dom.getAttrib(elm, 'ondblclick')); + setFormValue('onmousedown', inst.dom.getAttrib(elm, 'onmousedown')); + setFormValue('onmouseup', inst.dom.getAttrib(elm, 'onmouseup')); + setFormValue('onmouseover', inst.dom.getAttrib(elm, 'onmouseover')); + setFormValue('onmousemove', inst.dom.getAttrib(elm, 'onmousemove')); + setFormValue('onmouseout', inst.dom.getAttrib(elm, 'onmouseout')); + setFormValue('onkeypress', inst.dom.getAttrib(elm, 'onkeypress')); + setFormValue('onkeydown', inst.dom.getAttrib(elm, 'onkeydown')); + setFormValue('onkeyup', inst.dom.getAttrib(elm, 'onkeyup')); + setFormValue('target', inst.dom.getAttrib(elm, 'target')); + setFormValue('classes', inst.dom.getAttrib(elm, 'class')); + + // Parse onclick data + if (onclick != null && onclick.indexOf('window.open') != -1) + parseWindowOpen(onclick); + else + parseFunction(onclick); + + // Select by the values + selectByValue(formObj, 'dir', inst.dom.getAttrib(elm, 'dir')); + selectByValue(formObj, 'rel', inst.dom.getAttrib(elm, 'rel')); + selectByValue(formObj, 'rev', inst.dom.getAttrib(elm, 'rev')); + selectByValue(formObj, 'linklisthref', href); + + if (href.charAt(0) == '#') + selectByValue(formObj, 'anchorlist', href); + + addClassesToList('classlist', 'advlink_styles'); + + selectByValue(formObj, 'classlist', inst.dom.getAttrib(elm, 'class'), true); + selectByValue(formObj, 'targetlist', inst.dom.getAttrib(elm, 'target'), true); + } else + addClassesToList('classlist', 'advlink_styles'); +} + +function checkPrefix(n) { + if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('advlink_dlg.is_email'))) + n.value = 'mailto:' + n.value; + + if (/^\s*www\./i.test(n.value) && confirm(tinyMCEPopup.getLang('advlink_dlg.is_external'))) + n.value = 'http://' + n.value; +} + +function setFormValue(name, value) { + document.forms[0].elements[name].value = value; +} + +function parseWindowOpen(onclick) { + var formObj = document.forms[0]; + + // Preprocess center code + if (onclick.indexOf('return false;') != -1) { + formObj.popupreturn.checked = true; + onclick = onclick.replace('return false;', ''); + } else + formObj.popupreturn.checked = false; + + var onClickData = parseLink(onclick); + + if (onClickData != null) { + formObj.ispopup.checked = true; + setPopupControlsDisabled(false); + + var onClickWindowOptions = parseOptions(onClickData['options']); + var url = onClickData['url']; + + formObj.popupname.value = onClickData['target']; + formObj.popupurl.value = url; + formObj.popupwidth.value = getOption(onClickWindowOptions, 'width'); + formObj.popupheight.value = getOption(onClickWindowOptions, 'height'); + + formObj.popupleft.value = getOption(onClickWindowOptions, 'left'); + formObj.popuptop.value = getOption(onClickWindowOptions, 'top'); + + if (formObj.popupleft.value.indexOf('screen') != -1) + formObj.popupleft.value = "c"; + + if (formObj.popuptop.value.indexOf('screen') != -1) + formObj.popuptop.value = "c"; + + formObj.popuplocation.checked = getOption(onClickWindowOptions, 'location') == "yes"; + formObj.popupscrollbars.checked = getOption(onClickWindowOptions, 'scrollbars') == "yes"; + formObj.popupmenubar.checked = getOption(onClickWindowOptions, 'menubar') == "yes"; + formObj.popupresizable.checked = getOption(onClickWindowOptions, 'resizable') == "yes"; + formObj.popuptoolbar.checked = getOption(onClickWindowOptions, 'toolbar') == "yes"; + formObj.popupstatus.checked = getOption(onClickWindowOptions, 'status') == "yes"; + formObj.popupdependent.checked = getOption(onClickWindowOptions, 'dependent') == "yes"; + + buildOnClick(); + } +} + +function parseFunction(onclick) { + var formObj = document.forms[0]; + var onClickData = parseLink(onclick); + + // TODO: Add stuff here +} + +function getOption(opts, name) { + return typeof(opts[name]) == "undefined" ? "" : opts[name]; +} + +function setPopupControlsDisabled(state) { + var formObj = document.forms[0]; + + formObj.popupname.disabled = state; + formObj.popupurl.disabled = state; + formObj.popupwidth.disabled = state; + formObj.popupheight.disabled = state; + formObj.popupleft.disabled = state; + formObj.popuptop.disabled = state; + formObj.popuplocation.disabled = state; + formObj.popupscrollbars.disabled = state; + formObj.popupmenubar.disabled = state; + formObj.popupresizable.disabled = state; + formObj.popuptoolbar.disabled = state; + formObj.popupstatus.disabled = state; + formObj.popupreturn.disabled = state; + formObj.popupdependent.disabled = state; + + setBrowserDisabled('popupurlbrowser', state); +} + +function parseLink(link) { + link = link.replace(new RegExp(''', 'g'), "'"); + + var fnName = link.replace(new RegExp("\\s*([A-Za-z0-9\.]*)\\s*\\(.*", "gi"), "$1"); + + // Is function name a template function + var template = templates[fnName]; + if (template) { + // Build regexp + var variableNames = template.match(new RegExp("'?\\$\\{[A-Za-z0-9\.]*\\}'?", "gi")); + var regExp = "\\s*[A-Za-z0-9\.]*\\s*\\("; + var replaceStr = ""; + for (var i=0; i<variableNames.length; i++) { + // Is string value + if (variableNames[i].indexOf("'${") != -1) + regExp += "'(.*)'"; + else // Number value + regExp += "([0-9]*)"; + + replaceStr += "$" + (i+1); + + // Cleanup variable name + variableNames[i] = variableNames[i].replace(new RegExp("[^A-Za-z0-9]", "gi"), ""); + + if (i != variableNames.length-1) { + regExp += "\\s*,\\s*"; + replaceStr += "<delim>"; + } else + regExp += ".*"; + } + + regExp += "\\);?"; + + // Build variable array + var variables = []; + variables["_function"] = fnName; + var variableValues = link.replace(new RegExp(regExp, "gi"), replaceStr).split('<delim>'); + for (var i=0; i<variableNames.length; i++) + variables[variableNames[i]] = variableValues[i]; + + return variables; + } + + return null; +} + +function parseOptions(opts) { + if (opts == null || opts == "") + return []; + + // Cleanup the options + opts = opts.toLowerCase(); + opts = opts.replace(/;/g, ","); + opts = opts.replace(/[^0-9a-z=,]/g, ""); + + var optionChunks = opts.split(','); + var options = []; + + for (var i=0; i<optionChunks.length; i++) { + var parts = optionChunks[i].split('='); + + if (parts.length == 2) + options[parts[0]] = parts[1]; + } + + return options; +} + +function buildOnClick() { + var formObj = document.forms[0]; + + if (!formObj.ispopup.checked) { + formObj.onclick.value = ""; + return; + } + + var onclick = "window.open('"; + var url = formObj.popupurl.value; + + onclick += url + "','"; + onclick += formObj.popupname.value + "','"; + + if (formObj.popuplocation.checked) + onclick += "location=yes,"; + + if (formObj.popupscrollbars.checked) + onclick += "scrollbars=yes,"; + + if (formObj.popupmenubar.checked) + onclick += "menubar=yes,"; + + if (formObj.popupresizable.checked) + onclick += "resizable=yes,"; + + if (formObj.popuptoolbar.checked) + onclick += "toolbar=yes,"; + + if (formObj.popupstatus.checked) + onclick += "status=yes,"; + + if (formObj.popupdependent.checked) + onclick += "dependent=yes,"; + + if (formObj.popupwidth.value != "") + onclick += "width=" + formObj.popupwidth.value + ","; + + if (formObj.popupheight.value != "") + onclick += "height=" + formObj.popupheight.value + ","; + + if (formObj.popupleft.value != "") { + if (formObj.popupleft.value != "c") + onclick += "left=" + formObj.popupleft.value + ","; + else + onclick += "left='+(screen.availWidth/2-" + (formObj.popupwidth.value/2) + ")+',"; + } + + if (formObj.popuptop.value != "") { + if (formObj.popuptop.value != "c") + onclick += "top=" + formObj.popuptop.value + ","; + else + onclick += "top='+(screen.availHeight/2-" + (formObj.popupheight.value/2) + ")+',"; + } + + if (onclick.charAt(onclick.length-1) == ',') + onclick = onclick.substring(0, onclick.length-1); + + onclick += "');"; + + if (formObj.popupreturn.checked) + onclick += "return false;"; + + // tinyMCE.debug(onclick); + + formObj.onclick.value = onclick; + + if (formObj.href.value == "") + formObj.href.value = url; +} + +function setAttrib(elm, attrib, value) { + var formObj = document.forms[0]; + var valueElm = formObj.elements[attrib.toLowerCase()]; + var dom = tinyMCEPopup.editor.dom; + + if (typeof(value) == "undefined" || value == null) { + value = ""; + + if (valueElm) + value = valueElm.value; + } + + // Clean up the style + if (attrib == 'style') + value = dom.serializeStyle(dom.parseStyle(value), 'a'); + + dom.setAttrib(elm, attrib, value); +} + +function getAnchorListHTML(id, target) { + var ed = tinyMCEPopup.editor, nodes = ed.dom.select('a'), name, i, len, html = ""; + + for (i=0, len=nodes.length; i<len; i++) { + if ((name = ed.dom.getAttrib(nodes[i], "name")) != "") + html += '<option value="#' + name + '">' + name + '</option>'; + } + + if (html == "") + return ""; + + html = '<select id="' + id + '" name="' + id + '" class="mceAnchorList"' + + ' onchange="this.form.' + target + '.value=this.options[this.selectedIndex].value"' + + '>' + + '<option value="">---</option>' + + html + + '</select>'; + + return html; +} + +function insertAction() { + var inst = tinyMCEPopup.editor; + var elm, elementArray, i; + + elm = inst.selection.getNode(); + checkPrefix(document.forms[0].href); + + elm = inst.dom.getParent(elm, "A"); + + // Remove element if there is no href + if (!document.forms[0].href.value) { + i = inst.selection.getBookmark(); + inst.dom.remove(elm, 1); + inst.selection.moveToBookmark(i); + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); + return; + } + + // Create new anchor elements + if (elm == null) { + inst.getDoc().execCommand("unlink", false, null); + tinyMCEPopup.execCommand("mceInsertLink", false, "#mce_temp_url#", {skip_undo : 1}); + + elementArray = tinymce.grep(inst.dom.select("a"), function(n) {return inst.dom.getAttrib(n, 'href') == '#mce_temp_url#';}); + for (i=0; i<elementArray.length; i++) + setAllAttribs(elm = elementArray[i]); + } else + setAllAttribs(elm); + + // Don't move caret if selection was image + if (elm.childNodes.length != 1 || elm.firstChild.nodeName != 'IMG') { + inst.focus(); + inst.selection.select(elm); + inst.selection.collapse(0); + tinyMCEPopup.storeSelection(); + } + + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); +} + +function setAllAttribs(elm) { + var formObj = document.forms[0]; + var href = formObj.href.value.replace(/ /g, '%20'); + var target = getSelectValue(formObj, 'targetlist'); + + setAttrib(elm, 'href', href); + setAttrib(elm, 'title'); + setAttrib(elm, 'target', target == '_self' ? '' : target); + setAttrib(elm, 'id'); + setAttrib(elm, 'style'); + setAttrib(elm, 'class', getSelectValue(formObj, 'classlist')); + setAttrib(elm, 'rel'); + setAttrib(elm, 'rev'); + setAttrib(elm, 'charset'); + setAttrib(elm, 'hreflang'); + setAttrib(elm, 'dir'); + setAttrib(elm, 'lang'); + setAttrib(elm, 'tabindex'); + setAttrib(elm, 'accesskey'); + setAttrib(elm, 'type'); + setAttrib(elm, 'onfocus'); + setAttrib(elm, 'onblur'); + setAttrib(elm, 'onclick'); + setAttrib(elm, 'ondblclick'); + setAttrib(elm, 'onmousedown'); + setAttrib(elm, 'onmouseup'); + setAttrib(elm, 'onmouseover'); + setAttrib(elm, 'onmousemove'); + setAttrib(elm, 'onmouseout'); + setAttrib(elm, 'onkeypress'); + setAttrib(elm, 'onkeydown'); + setAttrib(elm, 'onkeyup'); + + // Refresh in old MSIE + if (tinyMCE.isMSIE5) + elm.outerHTML = elm.outerHTML; +} + +function getSelectValue(form_obj, field_name) { + var elm = form_obj.elements[field_name]; + + if (!elm || elm.options == null || elm.selectedIndex == -1) + return ""; + + return elm.options[elm.selectedIndex].value; +} + +function getLinkListHTML(elm_id, target_form_element, onchange_func) { + if (typeof(tinyMCELinkList) == "undefined" || tinyMCELinkList.length == 0) + return ""; + + var html = ""; + + html += '<select id="' + elm_id + '" name="' + elm_id + '"'; + html += ' class="mceLinkList" onfoc2us="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value='; + html += 'this.options[this.selectedIndex].value;'; + + if (typeof(onchange_func) != "undefined") + html += onchange_func + '(\'' + target_form_element + '\',this.options[this.selectedIndex].text,this.options[this.selectedIndex].value);'; + + html += '"><option value="">---</option>'; + + for (var i=0; i<tinyMCELinkList.length; i++) + html += '<option value="' + tinyMCELinkList[i][1] + '">' + tinyMCELinkList[i][0] + '</option>'; + + html += '</select>'; + + return html; + + // tinyMCE.debug('-- image list start --', html, '-- image list end --'); +} + +function getTargetListHTML(elm_id, target_form_element) { + var targets = tinyMCEPopup.getParam('theme_advanced_link_targets', '').split(';'); + var html = ''; + + html += '<select id="' + elm_id + '" name="' + elm_id + '" onf2ocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value='; + html += 'this.options[this.selectedIndex].value;">'; + html += '<option value="_self">' + tinyMCEPopup.getLang('advlink_dlg.target_same') + '</option>'; + html += '<option value="_blank">' + tinyMCEPopup.getLang('advlink_dlg.target_blank') + ' (_blank)</option>'; + html += '<option value="_parent">' + tinyMCEPopup.getLang('advlink_dlg.target_parent') + ' (_parent)</option>'; + html += '<option value="_top">' + tinyMCEPopup.getLang('advlink_dlg.target_top') + ' (_top)</option>'; + + for (var i=0; i<targets.length; i++) { + var key, value; + + if (targets[i] == "") + continue; + + key = targets[i].split('=')[0]; + value = targets[i].split('=')[1]; + + html += '<option value="' + key + '">' + value + ' (' + key + ')</option>'; + } + + html += '</select>'; + + return html; +} + +// While loading +preinit(); +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js new file mode 100644 index 00000000..a4c8cea7 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js @@ -0,0 +1,54 @@ +tinyMCE.addI18n('en.advlink_dlg',{ +title:"Insert/edit link", +url:"Link URL", +target:"Target", +titlefield:"Title", +is_email:"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", +is_external:"The URL you entered seems to be an external link. Do you want to add the required http:// prefix?", +list:"Link list", +general_tab:"General", +popup_tab:"Popup", +events_tab:"Events", +advanced_tab:"Advanced", +general_props:"General properties", +popup_props:"Popup properties", +event_props:"Events", +advanced_props:"Advanced properties", +popup_opts:"Options", +anchor_names:"Anchors", +target_same:"Open in this window / frame", +target_parent:"Open in parent window / frame", +target_top:"Open in top frame (replaces all frames)", +target_blank:"Open in new window", +popup:"Javascript popup", +popup_url:"Popup URL", +popup_name:"Window name", +popup_return:"Insert 'return false'", +popup_scrollbars:"Show scrollbars", +popup_statusbar:"Show status bar", +popup_toolbar:"Show toolbars", +popup_menubar:"Show menu bar", +popup_location:"Show location bar", +popup_resizable:"Make window resizable", +popup_dependent:"Dependent (Mozilla/Firefox only)", +popup_size:"Size", +width:"Width", +height:"Height", +popup_position:"Position (X/Y)", +id:"Id", +style:"Style", +classes:"Classes", +target_name:"Target name", +langdir:"Language direction", +target_langcode:"Target language", +langcode:"Language code", +encoding:"Target character encoding", +mime:"Target MIME type", +rel:"Relationship page to target", +rev:"Relationship target to page", +tabindex:"Tabindex", +accesskey:"Accesskey", +ltr:"Left to right", +rtl:"Right to left", +link_list:"Link list" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/link.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/link.htm new file mode 100644 index 00000000..52623ab5 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlink/link.htm @@ -0,0 +1,338 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#advlink_dlg.title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <script type="text/javascript" src="../../utils/validate.js"></script> + <script type="text/javascript" src="js/advlink.js"></script> + <link href="css/advlink.css" rel="stylesheet" type="text/css" /> +</head> +<body id="advlink" style="display: none" role="application" onload="javascript:mcTabs.displayTab('general_tab','general_panel', true);" aria-labelledby="app_label"> + <span class="mceVoiceLabel" id="app_label" style="display:none;">{#advlink_dlg.title}</span> + <form onsubmit="insertAction();return false;" action="#"> + <div class="tabs" role="presentation"> + <ul> + <li id="general_tab" class="current" aria-controls="general_panel" ><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advlink_dlg.general_tab}</a></span></li> + <li id="popup_tab" aria-controls="popup_panel" ><span><a href="javascript:mcTabs.displayTab('popup_tab','popup_panel');" onmousedown="return false;">{#advlink_dlg.popup_tab}</a></span></li> + <li id="events_tab" aria-controls="events_panel"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{#advlink_dlg.events_tab}</a></span></li> + <li id="advanced_tab" aria-controls="advanced_panel"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#advlink_dlg.advanced_tab}</a></span></li> + </ul> + </div> + + <div class="panel_wrapper" role="presentation"> + <div id="general_panel" class="panel current"> + <fieldset> + <legend>{#advlink_dlg.general_props}</legend> + + <table border="0" cellpadding="4" cellspacing="0" role="presentation"> + <tr> + <td class="nowrap"><label id="hreflabel" for="href">{#advlink_dlg.url}</label></td> + <td><table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input id="href" name="href" type="text" class="mceFocus" value="" onchange="selectByValue(this.form,'linklisthref',this.value);" aria-required="true" /></td> + <td id="hrefbrowsercontainer"> </td> + </tr> + </table></td> + </tr> + <tr id="linklisthrefrow"> + <td class="column1"><label for="linklisthref">{#advlink_dlg.list}</label></td> + <td colspan="2" id="linklisthrefcontainer"><select id="linklisthref"><option value=""></option></select></td> + </tr> + <tr id="anchorlistrow"> + <td class="column1"><label for="anchorlist">{#advlink_dlg.anchor_names}</label></td> + <td colspan="2" id="anchorlistcontainer"><select id="anchorlist"><option value=""></option></select></td> + </tr> + <tr> + <td><label id="targetlistlabel" for="targetlist">{#advlink_dlg.target}</label></td> + <td id="targetlistcontainer"><select id="targetlist"><option value=""></option></select></td> + </tr> + <tr> + <td class="nowrap"><label id="titlelabel" for="title">{#advlink_dlg.titlefield}</label></td> + <td><input id="title" name="title" type="text" value="" /></td> + </tr> + <tr> + <td><label id="classlabel" for="classlist">{#class_name}</label></td> + <td> + <select id="classlist" name="classlist" onchange="changeClass();"> + <option value="" selected="selected">{#not_set}</option> + </select> + </td> + </tr> + </table> + </fieldset> + </div> + + <div id="popup_panel" class="panel"> + <fieldset> + <legend>{#advlink_dlg.popup_props}</legend> + + <input type="checkbox" id="ispopup" name="ispopup" class="radio" onclick="setPopupControlsDisabled(!this.checked);buildOnClick();" /> + <label id="ispopuplabel" for="ispopup">{#advlink_dlg.popup}</label> + + <table border="0" cellpadding="0" cellspacing="4" role="presentation" > + <tr> + <td class="nowrap"><label for="popupurl">{#advlink_dlg.popup_url}</label> </td> + <td> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" name="popupurl" id="popupurl" value="" onchange="buildOnClick();" /></td> + <td id="popupurlbrowsercontainer"> </td> + </tr> + </table> + </td> + </tr> + <tr> + <td class="nowrap"><label for="popupname">{#advlink_dlg.popup_name}</label> </td> + <td><input type="text" name="popupname" id="popupname" value="" onchange="buildOnClick();" /></td> + </tr> + <tr role="group" aria-labelledby="popup_size_label"> + <td class="nowrap"><label id="popup_size_label">{#advlink_dlg.popup_size}</label> </td> + <td class="nowrap"> + <span style="display:none" id="width_voiceLabel">{#advlink_dlg.width}</span> + <input type="text" id="popupwidth" name="popupwidth" value="" onchange="buildOnClick();" aria-labelledby="width_voiceLabel" /> x + <span style="display:none" id="height_voiceLabel">{#advlink_dlg.height}</span> + <input type="text" id="popupheight" name="popupheight" value="" onchange="buildOnClick();" aria-labelledby="height_voiceLabel" /> px + </td> + </tr> + <tr role="group" aria-labelledby="popup_position_label center_hint"> + <td class="nowrap" id="labelleft"><label id="popup_position_label">{#advlink_dlg.popup_position}</label> </td> + <td class="nowrap"> + <span style="display:none" id="x_voiceLabel">X</span> + <input type="text" id="popupleft" name="popupleft" value="" onchange="buildOnClick();" aria-labelledby="x_voiceLabel" /> / + <span style="display:none" id="y_voiceLabel">Y</span> + <input type="text" id="popuptop" name="popuptop" value="" onchange="buildOnClick();" aria-labelledby="y_voiceLabel" /> <span id="center_hint">(c /c = center)</span> + </td> + </tr> + </table> + + <fieldset> + <legend>{#advlink_dlg.popup_opts}</legend> + + <table border="0" cellpadding="0" cellspacing="4" role="presentation" > + <tr> + <td><input type="checkbox" id="popuplocation" name="popuplocation" class="checkbox" onchange="buildOnClick();" /></td> + <td class="nowrap"><label id="popuplocationlabel" for="popuplocation">{#advlink_dlg.popup_location}</label></td> + <td><input type="checkbox" id="popupscrollbars" name="popupscrollbars" class="checkbox" onchange="buildOnClick();" /></td> + <td class="nowrap"><label id="popupscrollbarslabel" for="popupscrollbars">{#advlink_dlg.popup_scrollbars}</label></td> + </tr> + <tr> + <td><input type="checkbox" id="popupmenubar" name="popupmenubar" class="checkbox" onchange="buildOnClick();" /></td> + <td class="nowrap"><label id="popupmenubarlabel" for="popupmenubar">{#advlink_dlg.popup_menubar}</label></td> + <td><input type="checkbox" id="popupresizable" name="popupresizable" class="checkbox" onchange="buildOnClick();" /></td> + <td class="nowrap"><label id="popupresizablelabel" for="popupresizable">{#advlink_dlg.popup_resizable}</label></td> + </tr> + <tr> + <td><input type="checkbox" id="popuptoolbar" name="popuptoolbar" class="checkbox" onchange="buildOnClick();" /></td> + <td class="nowrap"><label id="popuptoolbarlabel" for="popuptoolbar">{#advlink_dlg.popup_toolbar}</label></td> + <td><input type="checkbox" id="popupdependent" name="popupdependent" class="checkbox" onchange="buildOnClick();" /></td> + <td class="nowrap"><label id="popupdependentlabel" for="popupdependent">{#advlink_dlg.popup_dependent}</label></td> + </tr> + <tr> + <td><input type="checkbox" id="popupstatus" name="popupstatus" class="checkbox" onchange="buildOnClick();" /></td> + <td class="nowrap"><label id="popupstatuslabel" for="popupstatus">{#advlink_dlg.popup_statusbar}</label></td> + <td><input type="checkbox" id="popupreturn" name="popupreturn" class="checkbox" onchange="buildOnClick();" checked="checked" /></td> + <td class="nowrap"><label id="popupreturnlabel" for="popupreturn">{#advlink_dlg.popup_return}</label></td> + </tr> + </table> + </fieldset> + </fieldset> + </div> + + <div id="advanced_panel" class="panel"> + <fieldset> + <legend>{#advlink_dlg.advanced_props}</legend> + + <table border="0" cellpadding="0" cellspacing="4" role="presentation" > + <tr> + <td class="column1"><label id="idlabel" for="id">{#advlink_dlg.id}</label></td> + <td><input id="id" name="id" type="text" value="" /></td> + </tr> + + <tr> + <td><label id="stylelabel" for="style">{#advlink_dlg.style}</label></td> + <td><input type="text" id="style" name="style" value="" /></td> + </tr> + + <tr> + <td><label id="classeslabel" for="classes">{#advlink_dlg.classes}</label></td> + <td><input type="text" id="classes" name="classes" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td> + </tr> + + <tr> + <td><label id="targetlabel" for="target">{#advlink_dlg.target_name}</label></td> + <td><input type="text" id="target" name="target" value="" onchange="selectByValue(this.form,'targetlist',this.value,true);" /></td> + </tr> + + <tr> + <td class="column1"><label id="dirlabel" for="dir">{#advlink_dlg.langdir}</label></td> + <td> + <select id="dir" name="dir"> + <option value="">{#not_set}</option> + <option value="ltr">{#advlink_dlg.ltr}</option> + <option value="rtl">{#advlink_dlg.rtl}</option> + </select> + </td> + </tr> + + <tr> + <td><label id="hreflanglabel" for="hreflang">{#advlink_dlg.target_langcode}</label></td> + <td><input type="text" id="hreflang" name="hreflang" value="" /></td> + </tr> + + <tr> + <td class="column1"><label id="langlabel" for="lang">{#advlink_dlg.langcode}</label></td> + <td> + <input id="lang" name="lang" type="text" value="" /> + </td> + </tr> + + <tr> + <td><label id="charsetlabel" for="charset">{#advlink_dlg.encoding}</label></td> + <td><input type="text" id="charset" name="charset" value="" /></td> + </tr> + + <tr> + <td><label id="typelabel" for="type">{#advlink_dlg.mime}</label></td> + <td><input type="text" id="type" name="type" value="" /></td> + </tr> + + <tr> + <td><label id="rellabel" for="rel">{#advlink_dlg.rel}</label></td> + <td><select id="rel" name="rel"> + <option value="">{#not_set}</option> + <option value="lightbox">Lightbox</option> + <option value="alternate">Alternate</option> + <option value="designates">Designates</option> + <option value="stylesheet">Stylesheet</option> + <option value="start">Start</option> + <option value="next">Next</option> + <option value="prev">Prev</option> + <option value="contents">Contents</option> + <option value="index">Index</option> + <option value="glossary">Glossary</option> + <option value="copyright">Copyright</option> + <option value="chapter">Chapter</option> + <option value="subsection">Subsection</option> + <option value="appendix">Appendix</option> + <option value="help">Help</option> + <option value="bookmark">Bookmark</option> + <option value="nofollow">No Follow</option> + <option value="tag">Tag</option> + </select> + </td> + </tr> + + <tr> + <td><label id="revlabel" for="rev">{#advlink_dlg.rev}</label></td> + <td><select id="rev" name="rev"> + <option value="">{#not_set}</option> + <option value="alternate">Alternate</option> + <option value="designates">Designates</option> + <option value="stylesheet">Stylesheet</option> + <option value="start">Start</option> + <option value="next">Next</option> + <option value="prev">Prev</option> + <option value="contents">Contents</option> + <option value="index">Index</option> + <option value="glossary">Glossary</option> + <option value="copyright">Copyright</option> + <option value="chapter">Chapter</option> + <option value="subsection">Subsection</option> + <option value="appendix">Appendix</option> + <option value="help">Help</option> + <option value="bookmark">Bookmark</option> + </select> + </td> + </tr> + + <tr> + <td><label id="tabindexlabel" for="tabindex">{#advlink_dlg.tabindex}</label></td> + <td><input type="text" id="tabindex" name="tabindex" value="" /></td> + </tr> + + <tr> + <td><label id="accesskeylabel" for="accesskey">{#advlink_dlg.accesskey}</label></td> + <td><input type="text" id="accesskey" name="accesskey" value="" /></td> + </tr> + </table> + </fieldset> + </div> + + <div id="events_panel" class="panel"> + <fieldset> + <legend>{#advlink_dlg.event_props}</legend> + + <table border="0" cellpadding="0" cellspacing="4" role="presentation" > + <tr> + <td class="column1"><label for="onfocus">onfocus</label></td> + <td><input id="onfocus" name="onfocus" type="text" value="" /></td> + </tr> + + <tr> + <td class="column1"><label for="onblur">onblur</label></td> + <td><input id="onblur" name="onblur" type="text" value="" /></td> + </tr> + + <tr> + <td class="column1"><label for="onclick">onclick</label></td> + <td><input id="onclick" name="onclick" type="text" value="" /></td> + </tr> + + <tr> + <td class="column1"><label for="ondblclick">ondblclick</label></td> + <td><input id="ondblclick" name="ondblclick" type="text" value="" /></td> + </tr> + + <tr> + <td class="column1"><label for="onmousedown">onmousedown</label></td> + <td><input id="onmousedown" name="onmousedown" type="text" value="" /></td> + </tr> + + <tr> + <td class="column1"><label for="onmouseup">onmouseup</label></td> + <td><input id="onmouseup" name="onmouseup" type="text" value="" /></td> + </tr> + + <tr> + <td class="column1"><label for="onmouseover">onmouseover</label></td> + <td><input id="onmouseover" name="onmouseover" type="text" value="" /></td> + </tr> + + <tr> + <td class="column1"><label for="onmousemove">onmousemove</label></td> + <td><input id="onmousemove" name="onmousemove" type="text" value="" /></td> + </tr> + + <tr> + <td class="column1"><label for="onmouseout">onmouseout</label></td> + <td><input id="onmouseout" name="onmouseout" type="text" value="" /></td> + </tr> + + <tr> + <td class="column1"><label for="onkeypress">onkeypress</label></td> + <td><input id="onkeypress" name="onkeypress" type="text" value="" /></td> + </tr> + + <tr> + <td class="column1"><label for="onkeydown">onkeydown</label></td> + <td><input id="onkeydown" name="onkeydown" type="text" value="" /></td> + </tr> + + <tr> + <td class="column1"><label for="onkeyup">onkeyup</label></td> + <td><input id="onkeyup" name="onkeyup" type="text" value="" /></td> + </tr> + </table> + </fieldset> + </div> + </div> + + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#insert}" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> + </form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlist/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlist/editor_plugin.js new file mode 100644 index 00000000..57ecce6e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlist/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.each;tinymce.create("tinymce.plugins.AdvListPlugin",{init:function(b,c){var d=this;d.editor=b;function e(g){var f=[];a(g.split(/,/),function(h){f.push({title:"advlist."+(h=="default"?"def":h.replace(/-/g,"_")),styles:{listStyleType:h=="default"?"":h}})});return f}d.numlist=b.getParam("advlist_number_styles")||e("default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman");d.bullist=b.getParam("advlist_bullet_styles")||e("default,circle,disc,square");if(tinymce.isIE&&/MSIE [2-7]/.test(navigator.userAgent)){d.isIE7=true}},createControl:function(d,b){var f=this,e,i,g=f.editor;if(d=="numlist"||d=="bullist"){if(f[d][0].title=="advlist.def"){i=f[d][0]}function c(j,l){var k=true;a(l.styles,function(n,m){if(g.dom.getStyle(j,m)!=n){k=false;return false}});return k}function h(){var k,l=g.dom,j=g.selection;k=l.getParent(j.getNode(),"ol,ul");if(!k||k.nodeName==(d=="bullist"?"OL":"UL")||c(k,i)){g.execCommand(d=="bullist"?"InsertUnorderedList":"InsertOrderedList")}if(i){k=l.getParent(j.getNode(),"ol,ul");if(k){l.setStyles(k,i.styles);k.removeAttribute("data-mce-style")}}g.focus()}e=b.createSplitButton(d,{title:"advanced."+d+"_desc","class":"mce_"+d,onclick:function(){h()}});e.onRenderMenu.add(function(j,k){k.onHideMenu.add(function(){if(f.bookmark){g.selection.moveToBookmark(f.bookmark);f.bookmark=0}});k.onShowMenu.add(function(){var n=g.dom,m=n.getParent(g.selection.getNode(),"ol,ul"),l;if(m||i){l=f[d];a(k.items,function(o){var p=true;o.setSelected(0);if(m&&!o.isDisabled()){a(l,function(q){if(q.id==o.id){if(!c(m,q)){p=false;return false}}});if(p){o.setSelected(1)}}});if(!m){k.items[i.id].setSelected(1)}}g.focus();if(tinymce.isIE){f.bookmark=g.selection.getBookmark(1)}});k.add({id:g.dom.uniqueId(),title:"advlist.types","class":"mceMenuItemTitle",titleItem:true}).setDisabled(1);a(f[d],function(l){if(f.isIE7&&l.styles.listStyleType=="lower-greek"){return}l.id=g.dom.uniqueId();k.add({id:l.id,title:l.title,onclick:function(){i=l;h()}})})});return e}},getInfo:function(){return{longname:"Advanced lists",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlist",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advlist",tinymce.plugins.AdvListPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js new file mode 100644 index 00000000..4ee4d34c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js @@ -0,0 +1,176 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var each = tinymce.each; + + tinymce.create('tinymce.plugins.AdvListPlugin', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + function buildFormats(str) { + var formats = []; + + each(str.split(/,/), function(type) { + formats.push({ + title : 'advlist.' + (type == 'default' ? 'def' : type.replace(/-/g, '_')), + styles : { + listStyleType : type == 'default' ? '' : type + } + }); + }); + + return formats; + }; + + // Setup number formats from config or default + t.numlist = ed.getParam("advlist_number_styles") || buildFormats("default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman"); + t.bullist = ed.getParam("advlist_bullet_styles") || buildFormats("default,circle,disc,square"); + + if (tinymce.isIE && /MSIE [2-7]/.test(navigator.userAgent)) + t.isIE7 = true; + }, + + createControl: function(name, cm) { + var t = this, btn, format, editor = t.editor; + + if (name == 'numlist' || name == 'bullist') { + // Default to first item if it's a default item + if (t[name][0].title == 'advlist.def') + format = t[name][0]; + + function hasFormat(node, format) { + var state = true; + + each(format.styles, function(value, name) { + // Format doesn't match + if (editor.dom.getStyle(node, name) != value) { + state = false; + return false; + } + }); + + return state; + }; + + function applyListFormat() { + var list, dom = editor.dom, sel = editor.selection; + + // Check for existing list element + list = dom.getParent(sel.getNode(), 'ol,ul'); + + // Switch/add list type if needed + if (!list || list.nodeName == (name == 'bullist' ? 'OL' : 'UL') || hasFormat(list, format)) + editor.execCommand(name == 'bullist' ? 'InsertUnorderedList' : 'InsertOrderedList'); + + // Append styles to new list element + if (format) { + list = dom.getParent(sel.getNode(), 'ol,ul'); + if (list) { + dom.setStyles(list, format.styles); + list.removeAttribute('data-mce-style'); + } + } + + editor.focus(); + }; + + btn = cm.createSplitButton(name, { + title : 'advanced.' + name + '_desc', + 'class' : 'mce_' + name, + onclick : function() { + applyListFormat(); + } + }); + + btn.onRenderMenu.add(function(btn, menu) { + menu.onHideMenu.add(function() { + if (t.bookmark) { + editor.selection.moveToBookmark(t.bookmark); + t.bookmark = 0; + } + }); + + menu.onShowMenu.add(function() { + var dom = editor.dom, list = dom.getParent(editor.selection.getNode(), 'ol,ul'), fmtList; + + if (list || format) { + fmtList = t[name]; + + // Unselect existing items + each(menu.items, function(item) { + var state = true; + + item.setSelected(0); + + if (list && !item.isDisabled()) { + each(fmtList, function(fmt) { + if (fmt.id == item.id) { + if (!hasFormat(list, fmt)) { + state = false; + return false; + } + } + }); + + if (state) + item.setSelected(1); + } + }); + + // Select the current format + if (!list) + menu.items[format.id].setSelected(1); + } + + editor.focus(); + + // IE looses it's selection so store it away and restore it later + if (tinymce.isIE) { + t.bookmark = editor.selection.getBookmark(1); + } + }); + + menu.add({id : editor.dom.uniqueId(), title : 'advlist.types', 'class' : 'mceMenuItemTitle', titleItem: true}).setDisabled(1); + + each(t[name], function(item) { + // IE<8 doesn't support lower-greek, skip it + if (t.isIE7 && item.styles.listStyleType == 'lower-greek') + return; + + item.id = editor.dom.uniqueId(); + + menu.add({id : item.id, title : item.title, onclick : function() { + format = item; + applyListFormat(); + }}); + }); + }); + + return btn; + } + }, + + getInfo : function() { + return { + longname : 'Advanced lists', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlist', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('advlist', tinymce.plugins.AdvListPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autolink/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autolink/editor_plugin.js new file mode 100644 index 00000000..c0f683a8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autolink/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AutolinkPlugin",{init:function(a,b){var c=this;if(tinyMCE.isIE){return}a.onKeyDown.add(function(d,f){if(f.keyCode==13){return c.handleEnter(d)}});a.onKeyPress.add(function(d,f){if(f.which==41){return c.handleEclipse(d)}});a.onKeyUp.add(function(d,f){if(f.keyCode==32){return c.handleSpacebar(d)}})},handleEclipse:function(a){this.parseCurrentLine(a,-1,"(",true)},handleSpacebar:function(a){this.parseCurrentLine(a,0,"",true)},handleEnter:function(a){this.parseCurrentLine(a,-1,"",false)},parseCurrentLine:function(i,d,b,g){var a,f,c,n,k,m,h,e,j;a=i.selection.getRng().cloneRange();if(a.startOffset<5){e=a.endContainer.previousSibling;if(e==null){if(a.endContainer.firstChild==null||a.endContainer.firstChild.nextSibling==null){return}e=a.endContainer.firstChild.nextSibling}j=e.length;a.setStart(e,j);a.setEnd(e,j);if(a.endOffset<5){return}f=a.endOffset;n=e}else{n=a.endContainer;if(n.nodeType!=3&&n.firstChild){while(n.nodeType!=3&&n.firstChild){n=n.firstChild}a.setStart(n,0);a.setEnd(n,n.nodeValue.length)}if(a.endOffset==1){f=2}else{f=a.endOffset-1-d}}c=f;do{a.setStart(n,f-2);a.setEnd(n,f-1);f-=1}while(a.toString()!=" "&&a.toString()!=""&&a.toString().charCodeAt(0)!=160&&(f-2)>=0&&a.toString()!=b);if(a.toString()==b||a.toString().charCodeAt(0)==160){a.setStart(n,f);a.setEnd(n,c);f+=1}else{if(a.startOffset==0){a.setStart(n,0);a.setEnd(n,c)}else{a.setStart(n,f);a.setEnd(n,c)}}m=a.toString();h=m.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)(.+)$/i);if(h){if(h[1]=="www."){h[1]="http://www."}k=i.selection.getBookmark();i.selection.setRng(a);tinyMCE.execCommand("mceInsertLink",false,h[1]+h[2]);i.selection.moveToBookmark(k);if(tinyMCE.isWebKit){i.selection.collapse(false);var l=Math.min(n.length,c+1);a.setStart(n,l);a.setEnd(n,l);i.selection.setRng(a)}}},getInfo:function(){return{longname:"Autolink",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autolink",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autolink",tinymce.plugins.AutolinkPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autolink/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autolink/editor_plugin_src.js new file mode 100644 index 00000000..ddfe0494 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autolink/editor_plugin_src.js @@ -0,0 +1,172 @@ +/** + * editor_plugin_src.js + * + * Copyright 2011, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.AutolinkPlugin', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + + init : function(ed, url) { + var t = this; + + // Internet Explorer has built-in automatic linking + if (tinyMCE.isIE) + return; + + // Add a key down handler + ed.onKeyDown.add(function(ed, e) { + if (e.keyCode == 13) + return t.handleEnter(ed); + }); + + ed.onKeyPress.add(function(ed, e) { + if (e.which == 41) + return t.handleEclipse(ed); + }); + + // Add a key up handler + ed.onKeyUp.add(function(ed, e) { + if (e.keyCode == 32) + return t.handleSpacebar(ed); + }); + }, + + handleEclipse : function(ed) { + this.parseCurrentLine(ed, -1, '(', true); + }, + + handleSpacebar : function(ed) { + this.parseCurrentLine(ed, 0, '', true); + }, + + handleEnter : function(ed) { + this.parseCurrentLine(ed, -1, '', false); + }, + + parseCurrentLine : function(ed, end_offset, delimiter, goback) { + var r, end, start, endContainer, bookmark, text, matches, prev, len; + + // We need at least five characters to form a URL, + // hence, at minimum, five characters from the beginning of the line. + r = ed.selection.getRng().cloneRange(); + if (r.startOffset < 5) { + // During testing, the caret is placed inbetween two text nodes. + // The previous text node contains the URL. + prev = r.endContainer.previousSibling; + if (prev == null) { + if (r.endContainer.firstChild == null || r.endContainer.firstChild.nextSibling == null) + return; + + prev = r.endContainer.firstChild.nextSibling; + } + len = prev.length; + r.setStart(prev, len); + r.setEnd(prev, len); + + if (r.endOffset < 5) + return; + + end = r.endOffset; + endContainer = prev; + } else { + endContainer = r.endContainer; + + // Get a text node + if (endContainer.nodeType != 3 && endContainer.firstChild) { + while (endContainer.nodeType != 3 && endContainer.firstChild) + endContainer = endContainer.firstChild; + + r.setStart(endContainer, 0); + r.setEnd(endContainer, endContainer.nodeValue.length); + } + + if (r.endOffset == 1) + end = 2; + else + end = r.endOffset - 1 - end_offset; + } + + start = end; + + do + { + // Move the selection one character backwards. + r.setStart(endContainer, end - 2); + r.setEnd(endContainer, end - 1); + end -= 1; + + // Loop until one of the following is found: a blank space, , delimeter, (end-2) >= 0 + } while (r.toString() != ' ' && r.toString() != '' && r.toString().charCodeAt(0) != 160 && (end -2) >= 0 && r.toString() != delimiter); + + if (r.toString() == delimiter || r.toString().charCodeAt(0) == 160) { + r.setStart(endContainer, end); + r.setEnd(endContainer, start); + end += 1; + } else if (r.startOffset == 0) { + r.setStart(endContainer, 0); + r.setEnd(endContainer, start); + } + else { + r.setStart(endContainer, end); + r.setEnd(endContainer, start); + } + + text = r.toString(); + matches = text.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)(.+)$/i); + + if (matches) { + if (matches[1] == 'www.') { + matches[1] = 'http://www.'; + } + + bookmark = ed.selection.getBookmark(); + + ed.selection.setRng(r); + tinyMCE.execCommand('mceInsertLink',false, matches[1] + matches[2]); + ed.selection.moveToBookmark(bookmark); + + // TODO: Determine if this is still needed. + if (tinyMCE.isWebKit) { + // move the caret to its original position + ed.selection.collapse(false); + var max = Math.min(endContainer.length, start + 1); + r.setStart(endContainer, max); + r.setEnd(endContainer, max); + ed.selection.setRng(r); + } + } + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Autolink', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autolink', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('autolink', tinymce.plugins.AutolinkPlugin); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js new file mode 100644 index 00000000..6c4ff0d5 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AutoResizePlugin",{init:function(a,c){var d=this,e=0;if(a.getParam("fullscreen_is_enabled")){return}function b(){var i=a.getDoc(),f=i.body,k=i.documentElement,h=tinymce.DOM,j=d.autoresize_min_height,g;g=tinymce.isIE?f.scrollHeight:i.body.offsetHeight;if(g>d.autoresize_min_height){j=g}if(d.autoresize_max_height&&g>d.autoresize_max_height){j=d.autoresize_max_height;a.getBody().style.overflowY="auto"}else{a.getBody().style.overflowY="hidden"}if(j!==e){h.setStyle(h.get(a.id+"_ifr"),"height",j+"px");e=j}if(d.throbbing){a.setProgressState(false);a.setProgressState(true)}}d.editor=a;d.autoresize_min_height=parseInt(a.getParam("autoresize_min_height",a.getElement().offsetHeight));d.autoresize_max_height=parseInt(a.getParam("autoresize_max_height",0));a.onInit.add(function(f){f.dom.setStyle(f.getBody(),"paddingBottom",f.getParam("autoresize_bottom_margin",50)+"px")});a.onChange.add(b);a.onSetContent.add(b);a.onPaste.add(b);a.onKeyUp.add(b);a.onPostRender.add(b);if(a.getParam("autoresize_on_init",true)){a.onInit.add(function(g,f){g.setProgressState(true);d.throbbing=true;g.getBody().style.overflowY="hidden"});a.onLoadContent.add(function(g,f){b();setTimeout(function(){b();g.setProgressState(false);d.throbbing=false},1250)})}a.addCommand("mceAutoResize",b)},getInfo:function(){return{longname:"Auto Resize",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autoresize",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autoresize",tinymce.plugins.AutoResizePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js new file mode 100644 index 00000000..7d113419 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js @@ -0,0 +1,137 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + /** + * Auto Resize + * + * This plugin automatically resizes the content area to fit its content height. + * It will retain a minimum height, which is the height of the content area when + * it's initialized. + */ + tinymce.create('tinymce.plugins.AutoResizePlugin', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + init : function(ed, url) { + var t = this, oldSize = 0; + + if (ed.getParam('fullscreen_is_enabled')) + return; + + /** + * This method gets executed each time the editor needs to resize. + */ + function resize() { + var d = ed.getDoc(), b = d.body, de = d.documentElement, DOM = tinymce.DOM, resizeHeight = t.autoresize_min_height, myHeight; + + // Get height differently depending on the browser used + myHeight = tinymce.isIE ? b.scrollHeight : d.body.offsetHeight; + + // Don't make it smaller than the minimum height + if (myHeight > t.autoresize_min_height) + resizeHeight = myHeight; + + // If a maximum height has been defined don't exceed this height + if (t.autoresize_max_height && myHeight > t.autoresize_max_height) { + resizeHeight = t.autoresize_max_height; + ed.getBody().style.overflowY = "auto"; + } else + ed.getBody().style.overflowY = "hidden"; + + // Resize content element + if (resizeHeight !== oldSize) { + DOM.setStyle(DOM.get(ed.id + '_ifr'), 'height', resizeHeight + 'px'); + oldSize = resizeHeight; + } + + // if we're throbbing, we'll re-throb to match the new size + if (t.throbbing) { + ed.setProgressState(false); + ed.setProgressState(true); + } + }; + + t.editor = ed; + + // Define minimum height + t.autoresize_min_height = parseInt( ed.getParam('autoresize_min_height', ed.getElement().offsetHeight) ); + + // Define maximum height + t.autoresize_max_height = parseInt( ed.getParam('autoresize_max_height', 0) ); + + // Add padding at the bottom for better UX + ed.onInit.add(function(ed){ + ed.dom.setStyle(ed.getBody(), 'paddingBottom', ed.getParam('autoresize_bottom_margin', 50) + 'px'); + }); + + // Add appropriate listeners for resizing content area + ed.onChange.add(resize); + ed.onSetContent.add(resize); + ed.onPaste.add(resize); + ed.onKeyUp.add(resize); + ed.onPostRender.add(resize); + + if (ed.getParam('autoresize_on_init', true)) { + // Things to do when the editor is ready + ed.onInit.add(function(ed, l) { + // Show throbber until content area is resized properly + ed.setProgressState(true); + t.throbbing = true; + + // Hide scrollbars + ed.getBody().style.overflowY = "hidden"; + }); + + ed.onLoadContent.add(function(ed, l) { + resize(); + + // Because the content area resizes when its content CSS loads, + // and we can't easily add a listener to its onload event, + // we'll just trigger a resize after a short loading period + setTimeout(function() { + resize(); + + // Disable throbber + ed.setProgressState(false); + t.throbbing = false; + }, 1250); + }); + } + + // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample'); + ed.addCommand('mceAutoResize', resize); + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Auto Resize', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autoresize', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('autoresize', tinymce.plugins.AutoResizePlugin); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/editor_plugin.js new file mode 100644 index 00000000..f7d05760 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/editor_plugin.js @@ -0,0 +1 @@ +(function(e){var c="autosave",g="restoredraft",b=true,f,d,a=e.util.Dispatcher;e.create("tinymce.plugins.AutoSave",{init:function(i,j){var h=this,l=i.settings;h.editor=i;function k(n){var m={s:1000,m:60000};n=/^(\d+)([ms]?)$/.exec(""+n);return(n[2]?m[n[2]]:1)*parseInt(n)}e.each({ask_before_unload:b,interval:"30s",retention:"20m",minlength:50},function(n,m){m=c+"_"+m;if(l[m]===f){l[m]=n}});l.autosave_interval=k(l.autosave_interval);l.autosave_retention=k(l.autosave_retention);i.addButton(g,{title:c+".restore_content",onclick:function(){if(i.getContent({draft:true}).replace(/\s| |<\/?p[^>]*>|<br[^>]*>/gi,"").length>0){i.windowManager.confirm(c+".warning_message",function(m){if(m){h.restoreDraft()}})}else{h.restoreDraft()}}});i.onNodeChange.add(function(){var m=i.controlManager;if(m.get(g)){m.setDisabled(g,!h.hasDraft())}});i.onInit.add(function(){if(i.controlManager.get(g)){h.setupStorage(i);setInterval(function(){h.storeDraft();i.nodeChanged()},l.autosave_interval)}});h.onStoreDraft=new a(h);h.onRestoreDraft=new a(h);h.onRemoveDraft=new a(h);if(!d){window.onbeforeunload=e.plugins.AutoSave._beforeUnloadHandler;d=b}},getInfo:function(){return{longname:"Auto save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave",version:e.majorVersion+"."+e.minorVersion}},getExpDate:function(){return new Date(new Date().getTime()+this.editor.settings.autosave_retention).toUTCString()},setupStorage:function(i){var h=this,k=c+"_test",j="OK";h.key=c+i.id;e.each([function(){if(localStorage){localStorage.setItem(k,j);if(localStorage.getItem(k)===j){localStorage.removeItem(k);return localStorage}}},function(){if(sessionStorage){sessionStorage.setItem(k,j);if(sessionStorage.getItem(k)===j){sessionStorage.removeItem(k);return sessionStorage}}},function(){if(e.isIE){i.getElement().style.behavior="url('#default#userData')";return{autoExpires:b,setItem:function(l,n){var m=i.getElement();m.setAttribute(l,n);m.expires=h.getExpDate();try{m.save("TinyMCE")}catch(o){}},getItem:function(l){var m=i.getElement();try{m.load("TinyMCE");return m.getAttribute(l)}catch(n){return null}},removeItem:function(l){i.getElement().removeAttribute(l)}}}},],function(l){try{h.storage=l();if(h.storage){return false}}catch(m){}})},storeDraft:function(){var i=this,l=i.storage,j=i.editor,h,k;if(l){if(!l.getItem(i.key)&&!j.isDirty()){return}k=j.getContent({draft:true});if(k.length>j.settings.autosave_minlength){h=i.getExpDate();if(!i.storage.autoExpires){i.storage.setItem(i.key+"_expires",h)}i.storage.setItem(i.key,k);i.onStoreDraft.dispatch(i,{expires:h,content:k})}}},restoreDraft:function(){var h=this,j=h.storage,i;if(j){i=j.getItem(h.key);if(i){h.editor.setContent(i);h.onRestoreDraft.dispatch(h,{content:i})}}},hasDraft:function(){var h=this,k=h.storage,i,j;if(k){j=!!k.getItem(h.key);if(j){if(!h.storage.autoExpires){i=new Date(k.getItem(h.key+"_expires"));if(new Date().getTime()<i.getTime()){return b}h.removeDraft()}else{return b}}}return false},removeDraft:function(){var h=this,k=h.storage,i=h.key,j;if(k){j=k.getItem(i);k.removeItem(i);k.removeItem(i+"_expires");if(j){h.onRemoveDraft.dispatch(h,{content:j})}}},"static":{_beforeUnloadHandler:function(h){var i;e.each(tinyMCE.editors,function(j){if(j.plugins.autosave){j.plugins.autosave.storeDraft()}if(j.getParam("fullscreen_is_enabled")){return}if(!i&&j.isDirty()&&j.getParam("autosave_ask_before_unload")){i=j.getLang("autosave.unload_msg")}});return i}}});e.PluginManager.add("autosave",e.plugins.AutoSave)})(tinymce); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js new file mode 100644 index 00000000..31bcb419 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js @@ -0,0 +1,431 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + * + * Adds auto-save capability to the TinyMCE text editor to rescue content + * inadvertently lost. This plugin was originally developed by Speednet + * and that project can be found here: http://code.google.com/p/tinyautosave/ + * + * TECHNOLOGY DISCUSSION: + * + * The plugin attempts to use the most advanced features available in the current browser to save + * as much content as possible. There are a total of four different methods used to autosave the + * content. In order of preference, they are: + * + * 1. localStorage - A new feature of HTML 5, localStorage can store megabytes of data per domain + * on the client computer. Data stored in the localStorage area has no expiration date, so we must + * manage expiring the data ourselves. localStorage is fully supported by IE8, and it is supposed + * to be working in Firefox 3 and Safari 3.2, but in reality is is flaky in those browsers. As + * HTML 5 gets wider support, the AutoSave plugin will use it automatically. In Windows Vista/7, + * localStorage is stored in the following folder: + * C:\Users\[username]\AppData\Local\Microsoft\Internet Explorer\DOMStore\[tempFolder] + * + * 2. sessionStorage - A new feature of HTML 5, sessionStorage works similarly to localStorage, + * except it is designed to expire after a certain amount of time. Because the specification + * around expiration date/time is very loosely-described, it is preferrable to use locaStorage and + * manage the expiration ourselves. sessionStorage has similar storage characteristics to + * localStorage, although it seems to have better support by Firefox 3 at the moment. (That will + * certainly change as Firefox continues getting better at HTML 5 adoption.) + * + * 3. UserData - A very under-exploited feature of Microsoft Internet Explorer, UserData is a + * way to store up to 128K of data per "document", or up to 1MB of data per domain, on the client + * computer. The feature is available for IE 5+, which makes it available for every version of IE + * supported by TinyMCE. The content is persistent across browser restarts and expires on the + * date/time specified, just like a cookie. However, the data is not cleared when the user clears + * cookies on the browser, which makes it well-suited for rescuing autosaved content. UserData, + * like other Microsoft IE browser technologies, is implemented as a behavior attached to a + * specific DOM object, so in this case we attach the behavior to the same DOM element that the + * TinyMCE editor instance is attached to. + */ + +(function(tinymce) { + // Setup constants to help the compressor to reduce script size + var PLUGIN_NAME = 'autosave', + RESTORE_DRAFT = 'restoredraft', + TRUE = true, + undefined, + unloadHandlerAdded, + Dispatcher = tinymce.util.Dispatcher; + + /** + * This plugin adds auto-save capability to the TinyMCE text editor to rescue content + * inadvertently lost. By using localStorage. + * + * @class tinymce.plugins.AutoSave + */ + tinymce.create('tinymce.plugins.AutoSave', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @method init + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + init : function(ed, url) { + var self = this, settings = ed.settings; + + self.editor = ed; + + // Parses the specified time string into a milisecond number 10m, 10s etc. + function parseTime(time) { + var multipels = { + s : 1000, + m : 60000 + }; + + time = /^(\d+)([ms]?)$/.exec('' + time); + + return (time[2] ? multipels[time[2]] : 1) * parseInt(time); + }; + + // Default config + tinymce.each({ + ask_before_unload : TRUE, + interval : '30s', + retention : '20m', + minlength : 50 + }, function(value, key) { + key = PLUGIN_NAME + '_' + key; + + if (settings[key] === undefined) + settings[key] = value; + }); + + // Parse times + settings.autosave_interval = parseTime(settings.autosave_interval); + settings.autosave_retention = parseTime(settings.autosave_retention); + + // Register restore button + ed.addButton(RESTORE_DRAFT, { + title : PLUGIN_NAME + ".restore_content", + onclick : function() { + if (ed.getContent({draft: true}).replace(/\s| |<\/?p[^>]*>|<br[^>]*>/gi, "").length > 0) { + // Show confirm dialog if the editor isn't empty + ed.windowManager.confirm( + PLUGIN_NAME + ".warning_message", + function(ok) { + if (ok) + self.restoreDraft(); + } + ); + } else + self.restoreDraft(); + } + }); + + // Enable/disable restoredraft button depending on if there is a draft stored or not + ed.onNodeChange.add(function() { + var controlManager = ed.controlManager; + + if (controlManager.get(RESTORE_DRAFT)) + controlManager.setDisabled(RESTORE_DRAFT, !self.hasDraft()); + }); + + ed.onInit.add(function() { + // Check if the user added the restore button, then setup auto storage logic + if (ed.controlManager.get(RESTORE_DRAFT)) { + // Setup storage engine + self.setupStorage(ed); + + // Auto save contents each interval time + setInterval(function() { + self.storeDraft(); + ed.nodeChanged(); + }, settings.autosave_interval); + } + }); + + /** + * This event gets fired when a draft is stored to local storage. + * + * @event onStoreDraft + * @param {tinymce.plugins.AutoSave} sender Plugin instance sending the event. + * @param {Object} draft Draft object containing the HTML contents of the editor. + */ + self.onStoreDraft = new Dispatcher(self); + + /** + * This event gets fired when a draft is restored from local storage. + * + * @event onStoreDraft + * @param {tinymce.plugins.AutoSave} sender Plugin instance sending the event. + * @param {Object} draft Draft object containing the HTML contents of the editor. + */ + self.onRestoreDraft = new Dispatcher(self); + + /** + * This event gets fired when a draft removed/expired. + * + * @event onRemoveDraft + * @param {tinymce.plugins.AutoSave} sender Plugin instance sending the event. + * @param {Object} draft Draft object containing the HTML contents of the editor. + */ + self.onRemoveDraft = new Dispatcher(self); + + // Add ask before unload dialog only add one unload handler + if (!unloadHandlerAdded) { + window.onbeforeunload = tinymce.plugins.AutoSave._beforeUnloadHandler; + unloadHandlerAdded = TRUE; + } + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @method getInfo + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Auto save', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + /** + * Returns an expiration date UTC string. + * + * @method getExpDate + * @return {String} Expiration date UTC string. + */ + getExpDate : function() { + return new Date( + new Date().getTime() + this.editor.settings.autosave_retention + ).toUTCString(); + }, + + /** + * This method will setup the storage engine. If the browser has support for it. + * + * @method setupStorage + */ + setupStorage : function(ed) { + var self = this, testKey = PLUGIN_NAME + '_test', testVal = "OK"; + + self.key = PLUGIN_NAME + ed.id; + + // Loop though each storage engine type until we find one that works + tinymce.each([ + function() { + // Try HTML5 Local Storage + if (localStorage) { + localStorage.setItem(testKey, testVal); + + if (localStorage.getItem(testKey) === testVal) { + localStorage.removeItem(testKey); + + return localStorage; + } + } + }, + + function() { + // Try HTML5 Session Storage + if (sessionStorage) { + sessionStorage.setItem(testKey, testVal); + + if (sessionStorage.getItem(testKey) === testVal) { + sessionStorage.removeItem(testKey); + + return sessionStorage; + } + } + }, + + function() { + // Try IE userData + if (tinymce.isIE) { + ed.getElement().style.behavior = "url('#default#userData')"; + + // Fake localStorage on old IE + return { + autoExpires : TRUE, + + setItem : function(key, value) { + var userDataElement = ed.getElement(); + + userDataElement.setAttribute(key, value); + userDataElement.expires = self.getExpDate(); + + try { + userDataElement.save("TinyMCE"); + } catch (e) { + // Ignore, saving might fail if "Userdata Persistence" is disabled in IE + } + }, + + getItem : function(key) { + var userDataElement = ed.getElement(); + + try { + userDataElement.load("TinyMCE"); + return userDataElement.getAttribute(key); + } catch (e) { + // Ignore, loading might fail if "Userdata Persistence" is disabled in IE + return null; + } + }, + + removeItem : function(key) { + ed.getElement().removeAttribute(key); + } + }; + } + }, + ], function(setup) { + // Try executing each function to find a suitable storage engine + try { + self.storage = setup(); + + if (self.storage) + return false; + } catch (e) { + // Ignore + } + }); + }, + + /** + * This method will store the current contents in the the storage engine. + * + * @method storeDraft + */ + storeDraft : function() { + var self = this, storage = self.storage, editor = self.editor, expires, content; + + // Is the contents dirty + if (storage) { + // If there is no existing key and the contents hasn't been changed since + // it's original value then there is no point in saving a draft + if (!storage.getItem(self.key) && !editor.isDirty()) + return; + + // Store contents if the contents if longer than the minlength of characters + content = editor.getContent({draft: true}); + if (content.length > editor.settings.autosave_minlength) { + expires = self.getExpDate(); + + // Store expiration date if needed IE userData has auto expire built in + if (!self.storage.autoExpires) + self.storage.setItem(self.key + "_expires", expires); + + self.storage.setItem(self.key, content); + self.onStoreDraft.dispatch(self, { + expires : expires, + content : content + }); + } + } + }, + + /** + * This method will restore the contents from the storage engine back to the editor. + * + * @method restoreDraft + */ + restoreDraft : function() { + var self = this, storage = self.storage, content; + + if (storage) { + content = storage.getItem(self.key); + + if (content) { + self.editor.setContent(content); + self.onRestoreDraft.dispatch(self, { + content : content + }); + } + } + }, + + /** + * This method will return true/false if there is a local storage draft available. + * + * @method hasDraft + * @return {boolean} true/false state if there is a local draft. + */ + hasDraft : function() { + var self = this, storage = self.storage, expDate, exists; + + if (storage) { + // Does the item exist at all + exists = !!storage.getItem(self.key); + if (exists) { + // Storage needs autoexpire + if (!self.storage.autoExpires) { + expDate = new Date(storage.getItem(self.key + "_expires")); + + // Contents hasn't expired + if (new Date().getTime() < expDate.getTime()) + return TRUE; + + // Remove it if it has + self.removeDraft(); + } else + return TRUE; + } + } + + return false; + }, + + /** + * Removes the currently stored draft. + * + * @method removeDraft + */ + removeDraft : function() { + var self = this, storage = self.storage, key = self.key, content; + + if (storage) { + // Get current contents and remove the existing draft + content = storage.getItem(key); + storage.removeItem(key); + storage.removeItem(key + "_expires"); + + // Dispatch remove event if we had any contents + if (content) { + self.onRemoveDraft.dispatch(self, { + content : content + }); + } + } + }, + + "static" : { + // Internal unload handler will be called before the page is unloaded + _beforeUnloadHandler : function(e) { + var msg; + + tinymce.each(tinyMCE.editors, function(ed) { + // Store a draft for each editor instance + if (ed.plugins.autosave) + ed.plugins.autosave.storeDraft(); + + // Never ask in fullscreen mode + if (ed.getParam("fullscreen_is_enabled")) + return; + + // Setup a return message if the editor is dirty + if (!msg && ed.isDirty() && ed.getParam("autosave_ask_before_unload")) + msg = ed.getLang("autosave.unload_msg"); + }); + + return msg; + } + } + }); + + tinymce.PluginManager.add('autosave', tinymce.plugins.AutoSave); +})(tinymce); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/langs/en.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/langs/en.js new file mode 100644 index 00000000..219f769a --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/autosave/langs/en.js @@ -0,0 +1,4 @@ +tinyMCE.addI18n('en.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js new file mode 100644 index 00000000..8f8821fd --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.BBCodePlugin",{init:function(a,b){var d=this,c=a.getParam("bbcode_dialect","punbb").toLowerCase();a.onBeforeSetContent.add(function(e,f){f.content=d["_"+c+"_bbcode2html"](f.content)});a.onPostProcess.add(function(e,f){if(f.set){f.content=d["_"+c+"_bbcode2html"](f.content)}if(f.get){f.content=d["_"+c+"_html2bbcode"](f.content)}})},getInfo:function(){return{longname:"BBCode Plugin",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_punbb_html2bbcode:function(a){a=tinymce.trim(a);function b(c,d){a=a.replace(c,d)}b(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]");b(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");b(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");b(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");b(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");b(/<span style=\"color: ?(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]");b(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]");b(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi,"[size=$1]$2[/size]");b(/<font>(.*?)<\/font>/gi,"$1");b(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]");b(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]");b(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]");b(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");b(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");b(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");b(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");b(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");b(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");b(/<\/(strong|b)>/gi,"[/b]");b(/<(strong|b)>/gi,"[b]");b(/<\/(em|i)>/gi,"[/i]");b(/<(em|i)>/gi,"[i]");b(/<\/u>/gi,"[/u]");b(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi,"[u]$1[/u]");b(/<u>/gi,"[u]");b(/<blockquote[^>]*>/gi,"[quote]");b(/<\/blockquote>/gi,"[/quote]");b(/<br \/>/gi,"\n");b(/<br\/>/gi,"\n");b(/<br>/gi,"\n");b(/<p>/gi,"");b(/<\/p>/gi,"\n");b(/ |\u00a0/gi," ");b(/"/gi,'"');b(/</gi,"<");b(/>/gi,">");b(/&/gi,"&");return a},_punbb_bbcode2html:function(a){a=tinymce.trim(a);function b(c,d){a=a.replace(c,d)}b(/\n/gi,"<br />");b(/\[b\]/gi,"<strong>");b(/\[\/b\]/gi,"</strong>");b(/\[i\]/gi,"<em>");b(/\[\/i\]/gi,"</em>");b(/\[u\]/gi,"<u>");b(/\[\/u\]/gi,"</u>");b(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,'<a href="$1">$2</a>');b(/\[url\](.*?)\[\/url\]/gi,'<a href="$1">$1</a>');b(/\[img\](.*?)\[\/img\]/gi,'<img src="$1" />');b(/\[color=(.*?)\](.*?)\[\/color\]/gi,'<font color="$1">$2</font>');b(/\[code\](.*?)\[\/code\]/gi,'<span class="codeStyle">$1</span> ');b(/\[quote.*?\](.*?)\[\/quote\]/gi,'<span class="quoteStyle">$1</span> ');return a}});tinymce.PluginManager.add("bbcode",tinymce.plugins.BBCodePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js new file mode 100644 index 00000000..12cdacaa --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js @@ -0,0 +1,120 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.BBCodePlugin', { + init : function(ed, url) { + var t = this, dialect = ed.getParam('bbcode_dialect', 'punbb').toLowerCase(); + + ed.onBeforeSetContent.add(function(ed, o) { + o.content = t['_' + dialect + '_bbcode2html'](o.content); + }); + + ed.onPostProcess.add(function(ed, o) { + if (o.set) + o.content = t['_' + dialect + '_bbcode2html'](o.content); + + if (o.get) + o.content = t['_' + dialect + '_html2bbcode'](o.content); + }); + }, + + getInfo : function() { + return { + longname : 'BBCode Plugin', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + // HTML -> BBCode in PunBB dialect + _punbb_html2bbcode : function(s) { + s = tinymce.trim(s); + + function rep(re, str) { + s = s.replace(re, str); + }; + + // example: <strong> to [b] + rep(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]"); + rep(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"); + rep(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"); + rep(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"); + rep(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"); + rep(/<span style=\"color: ?(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]"); + rep(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]"); + rep(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi,"[size=$1]$2[/size]"); + rep(/<font>(.*?)<\/font>/gi,"$1"); + rep(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]"); + rep(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]"); + rep(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]"); + rep(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]"); + rep(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]"); + rep(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]"); + rep(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]"); + rep(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]"); + rep(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]"); + rep(/<\/(strong|b)>/gi,"[/b]"); + rep(/<(strong|b)>/gi,"[b]"); + rep(/<\/(em|i)>/gi,"[/i]"); + rep(/<(em|i)>/gi,"[i]"); + rep(/<\/u>/gi,"[/u]"); + rep(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi,"[u]$1[/u]"); + rep(/<u>/gi,"[u]"); + rep(/<blockquote[^>]*>/gi,"[quote]"); + rep(/<\/blockquote>/gi,"[/quote]"); + rep(/<br \/>/gi,"\n"); + rep(/<br\/>/gi,"\n"); + rep(/<br>/gi,"\n"); + rep(/<p>/gi,""); + rep(/<\/p>/gi,"\n"); + rep(/ |\u00a0/gi," "); + rep(/"/gi,"\""); + rep(/</gi,"<"); + rep(/>/gi,">"); + rep(/&/gi,"&"); + + return s; + }, + + // BBCode -> HTML from PunBB dialect + _punbb_bbcode2html : function(s) { + s = tinymce.trim(s); + + function rep(re, str) { + s = s.replace(re, str); + }; + + // example: [b] to <strong> + rep(/\n/gi,"<br />"); + rep(/\[b\]/gi,"<strong>"); + rep(/\[\/b\]/gi,"</strong>"); + rep(/\[i\]/gi,"<em>"); + rep(/\[\/i\]/gi,"</em>"); + rep(/\[u\]/gi,"<u>"); + rep(/\[\/u\]/gi,"</u>"); + rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,"<a href=\"$1\">$2</a>"); + rep(/\[url\](.*?)\[\/url\]/gi,"<a href=\"$1\">$1</a>"); + rep(/\[img\](.*?)\[\/img\]/gi,"<img src=\"$1\" />"); + rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"<font color=\"$1\">$2</font>"); + rep(/\[code\](.*?)\[\/code\]/gi,"<span class=\"codeStyle\">$1</span> "); + rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"<span class=\"quoteStyle\">$1</span> "); + + return s; + } + }); + + // Register plugin + tinymce.PluginManager.add('bbcode', tinymce.plugins.BBCodePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js new file mode 100644 index 00000000..af7ae544 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.dom.Event,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.ContextMenu",{init:function(e){var h=this,f,d,i;h.editor=e;d=e.settings.contextmenu_never_use_native;h.onContextMenu=new tinymce.util.Dispatcher(this);f=e.onContextMenu.add(function(j,k){if((i!==0?i:k.ctrlKey)&&!d){return}a.cancel(k);if(k.target.nodeName=="IMG"){j.selection.select(k.target)}h._getMenu(j).showMenu(k.clientX||k.pageX,k.clientY||k.pageY);a.add(j.getDoc(),"click",function(l){g(j,l)});j.nodeChanged()});e.onRemove.add(function(){if(h._menu){h._menu.removeAll()}});function g(j,k){i=0;if(k&&k.button==2){i=k.ctrlKey;return}if(h._menu){h._menu.removeAll();h._menu.destroy();a.remove(j.getDoc(),"click",g)}}e.onMouseDown.add(g);e.onKeyDown.add(g);e.onKeyDown.add(function(j,k){if(k.shiftKey&&!k.ctrlKey&&!k.altKey&&k.keyCode===121){a.cancel(k);f(j,k)}})},getInfo:function(){return{longname:"Contextmenu",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_getMenu:function(e){var g=this,d=g._menu,j=e.selection,f=j.isCollapsed(),h=j.getNode()||e.getBody(),i,k;if(d){d.removeAll();d.destroy()}k=b.getPos(e.getContentAreaContainer());d=e.controlManager.createDropMenu("contextmenu",{offset_x:k.x+e.getParam("contextmenu_offset_x",0),offset_y:k.y+e.getParam("contextmenu_offset_y",0),constrain:1,keyboard_focus:true});g._menu=d;d.add({title:"advanced.cut_desc",icon:"cut",cmd:"Cut"}).setDisabled(f);d.add({title:"advanced.copy_desc",icon:"copy",cmd:"Copy"}).setDisabled(f);d.add({title:"advanced.paste_desc",icon:"paste",cmd:"Paste"});if((h.nodeName=="A"&&!e.dom.getAttrib(h,"name"))||!f){d.addSeparator();d.add({title:"advanced.link_desc",icon:"link",cmd:e.plugins.advlink?"mceAdvLink":"mceLink",ui:true});d.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"})}d.addSeparator();d.add({title:"advanced.image_desc",icon:"image",cmd:e.plugins.advimage?"mceAdvImage":"mceImage",ui:true});d.addSeparator();i=d.addMenu({title:"contextmenu.align"});i.add({title:"contextmenu.left",icon:"justifyleft",cmd:"JustifyLeft"});i.add({title:"contextmenu.center",icon:"justifycenter",cmd:"JustifyCenter"});i.add({title:"contextmenu.right",icon:"justifyright",cmd:"JustifyRight"});i.add({title:"contextmenu.full",icon:"justifyfull",cmd:"JustifyFull"});g.onContextMenu.dispatch(g,d,h,f);return d}});tinymce.PluginManager.add("contextmenu",tinymce.plugins.ContextMenu)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js new file mode 100644 index 00000000..2a916a39 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js @@ -0,0 +1,160 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var Event = tinymce.dom.Event, each = tinymce.each, DOM = tinymce.DOM; + + /** + * This plugin a context menu to TinyMCE editor instances. + * + * @class tinymce.plugins.ContextMenu + */ + tinymce.create('tinymce.plugins.ContextMenu', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @method init + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + init : function(ed) { + var t = this, showMenu, contextmenuNeverUseNative, realCtrlKey; + + t.editor = ed; + + contextmenuNeverUseNative = ed.settings.contextmenu_never_use_native; + + /** + * This event gets fired when the context menu is shown. + * + * @event onContextMenu + * @param {tinymce.plugins.ContextMenu} sender Plugin instance sending the event. + * @param {tinymce.ui.DropMenu} menu Drop down menu to fill with more items if needed. + */ + t.onContextMenu = new tinymce.util.Dispatcher(this); + + showMenu = ed.onContextMenu.add(function(ed, e) { + // Block TinyMCE menu on ctrlKey and work around Safari issue + if ((realCtrlKey !== 0 ? realCtrlKey : e.ctrlKey) && !contextmenuNeverUseNative) + return; + + Event.cancel(e); + + // Select the image if it's clicked. WebKit would other wise expand the selection + if (e.target.nodeName == 'IMG') + ed.selection.select(e.target); + + t._getMenu(ed).showMenu(e.clientX || e.pageX, e.clientY || e.pageY); + Event.add(ed.getDoc(), 'click', function(e) { + hide(ed, e); + }); + + ed.nodeChanged(); + }); + + ed.onRemove.add(function() { + if (t._menu) + t._menu.removeAll(); + }); + + function hide(ed, e) { + realCtrlKey = 0; + + // Since the contextmenu event moves + // the selection we need to store it away + if (e && e.button == 2) { + realCtrlKey = e.ctrlKey; + return; + } + + if (t._menu) { + t._menu.removeAll(); + t._menu.destroy(); + Event.remove(ed.getDoc(), 'click', hide); + } + }; + + ed.onMouseDown.add(hide); + ed.onKeyDown.add(hide); + ed.onKeyDown.add(function(ed, e) { + if (e.shiftKey && !e.ctrlKey && !e.altKey && e.keyCode === 121) { + Event.cancel(e); + showMenu(ed, e); + } + }); + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @method getInfo + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Contextmenu', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + _getMenu : function(ed) { + var t = this, m = t._menu, se = ed.selection, col = se.isCollapsed(), el = se.getNode() || ed.getBody(), am, p; + + if (m) { + m.removeAll(); + m.destroy(); + } + + p = DOM.getPos(ed.getContentAreaContainer()); + + m = ed.controlManager.createDropMenu('contextmenu', { + offset_x : p.x + ed.getParam('contextmenu_offset_x', 0), + offset_y : p.y + ed.getParam('contextmenu_offset_y', 0), + constrain : 1, + keyboard_focus: true + }); + + t._menu = m; + + m.add({title : 'advanced.cut_desc', icon : 'cut', cmd : 'Cut'}).setDisabled(col); + m.add({title : 'advanced.copy_desc', icon : 'copy', cmd : 'Copy'}).setDisabled(col); + m.add({title : 'advanced.paste_desc', icon : 'paste', cmd : 'Paste'}); + + if ((el.nodeName == 'A' && !ed.dom.getAttrib(el, 'name')) || !col) { + m.addSeparator(); + m.add({title : 'advanced.link_desc', icon : 'link', cmd : ed.plugins.advlink ? 'mceAdvLink' : 'mceLink', ui : true}); + m.add({title : 'advanced.unlink_desc', icon : 'unlink', cmd : 'UnLink'}); + } + + m.addSeparator(); + m.add({title : 'advanced.image_desc', icon : 'image', cmd : ed.plugins.advimage ? 'mceAdvImage' : 'mceImage', ui : true}); + + m.addSeparator(); + am = m.addMenu({title : 'contextmenu.align'}); + am.add({title : 'contextmenu.left', icon : 'justifyleft', cmd : 'JustifyLeft'}); + am.add({title : 'contextmenu.center', icon : 'justifycenter', cmd : 'JustifyCenter'}); + am.add({title : 'contextmenu.right', icon : 'justifyright', cmd : 'JustifyRight'}); + am.add({title : 'contextmenu.full', icon : 'justifyfull', cmd : 'JustifyFull'}); + + t.onContextMenu.dispatch(t, m, el, col); + + return m; + } + }); + + // Register plugin + tinymce.PluginManager.add('contextmenu', tinymce.plugins.ContextMenu); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/directionality/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/directionality/editor_plugin.js new file mode 100644 index 00000000..bce8e739 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/directionality/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Directionality",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceDirectionLTR",function(){var d=a.dom.getParent(a.selection.getNode(),a.dom.isBlock);if(d){if(a.dom.getAttrib(d,"dir")!="ltr"){a.dom.setAttrib(d,"dir","ltr")}else{a.dom.setAttrib(d,"dir","")}}a.nodeChanged()});a.addCommand("mceDirectionRTL",function(){var d=a.dom.getParent(a.selection.getNode(),a.dom.isBlock);if(d){if(a.dom.getAttrib(d,"dir")!="rtl"){a.dom.setAttrib(d,"dir","rtl")}else{a.dom.setAttrib(d,"dir","")}}a.nodeChanged()});a.addButton("ltr",{title:"directionality.ltr_desc",cmd:"mceDirectionLTR"});a.addButton("rtl",{title:"directionality.rtl_desc",cmd:"mceDirectionRTL"});a.onNodeChange.add(c._nodeChange,c)},getInfo:function(){return{longname:"Directionality",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_nodeChange:function(b,a,e){var d=b.dom,c;e=d.getParent(e,d.isBlock);if(!e){a.setDisabled("ltr",1);a.setDisabled("rtl",1);return}c=d.getAttrib(e,"dir");a.setActive("ltr",c=="ltr");a.setDisabled("ltr",0);a.setActive("rtl",c=="rtl");a.setDisabled("rtl",0)}});tinymce.PluginManager.add("directionality",tinymce.plugins.Directionality)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js new file mode 100644 index 00000000..205d02cd --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js @@ -0,0 +1,82 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Directionality', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + ed.addCommand('mceDirectionLTR', function() { + var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock); + + if (e) { + if (ed.dom.getAttrib(e, "dir") != "ltr") + ed.dom.setAttrib(e, "dir", "ltr"); + else + ed.dom.setAttrib(e, "dir", ""); + } + + ed.nodeChanged(); + }); + + ed.addCommand('mceDirectionRTL', function() { + var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock); + + if (e) { + if (ed.dom.getAttrib(e, "dir") != "rtl") + ed.dom.setAttrib(e, "dir", "rtl"); + else + ed.dom.setAttrib(e, "dir", ""); + } + + ed.nodeChanged(); + }); + + ed.addButton('ltr', {title : 'directionality.ltr_desc', cmd : 'mceDirectionLTR'}); + ed.addButton('rtl', {title : 'directionality.rtl_desc', cmd : 'mceDirectionRTL'}); + + ed.onNodeChange.add(t._nodeChange, t); + }, + + getInfo : function() { + return { + longname : 'Directionality', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + _nodeChange : function(ed, cm, n) { + var dom = ed.dom, dir; + + n = dom.getParent(n, dom.isBlock); + if (!n) { + cm.setDisabled('ltr', 1); + cm.setDisabled('rtl', 1); + return; + } + + dir = dom.getAttrib(n, 'dir'); + cm.setActive('ltr', dir == "ltr"); + cm.setDisabled('ltr', 0); + cm.setActive('rtl', dir == "rtl"); + cm.setDisabled('rtl', 0); + } + }); + + // Register plugin + tinymce.PluginManager.add('directionality', tinymce.plugins.Directionality); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/editor_plugin.js new file mode 100644 index 00000000..dbdd8ffb --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/editor_plugin.js @@ -0,0 +1 @@ +(function(a){a.create("tinymce.plugins.EmotionsPlugin",{init:function(b,c){b.addCommand("mceEmotion",function(){b.windowManager.open({file:c+"/emotions.htm",width:250+parseInt(b.getLang("emotions.delta_width",0)),height:160+parseInt(b.getLang("emotions.delta_height",0)),inline:1},{plugin_url:c})});b.addButton("emotions",{title:"emotions.emotions_desc",cmd:"mceEmotion"})},getInfo:function(){return{longname:"Emotions",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions",version:a.majorVersion+"."+a.minorVersion}}});a.PluginManager.add("emotions",a.plugins.EmotionsPlugin)})(tinymce); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js new file mode 100644 index 00000000..aeee199d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js @@ -0,0 +1,43 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function(tinymce) { + tinymce.create('tinymce.plugins.EmotionsPlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceEmotion', function() { + ed.windowManager.open({ + file : url + '/emotions.htm', + width : 250 + parseInt(ed.getLang('emotions.delta_width', 0)), + height : 160 + parseInt(ed.getLang('emotions.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('emotions', {title : 'emotions.emotions_desc', cmd : 'mceEmotion'}); + }, + + getInfo : function() { + return { + longname : 'Emotions', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('emotions', tinymce.plugins.EmotionsPlugin); +})(tinymce); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/emotions.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/emotions.htm new file mode 100644 index 00000000..4ab6b945 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/emotions.htm @@ -0,0 +1,41 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#emotions_dlg.title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="js/emotions.js"></script> +</head> +<body style="display: none" role="application" aria-labelledby="app_title"> +<span style="display:none;" id="app_title">{#emotions_dlg.title}</span> +<div align="center"> + <div class="title">{#emotions_dlg.title}:<br /><br /></div> + + <table role="presentation" border="0" cellspacing="0" cellpadding="4"> + <tr> + <td><a href="javascript:EmotionsDialog.insert('smiley-cool.png','emotions_dlg.cool');"><img src="img/smiley-cool.png" width="18" height="18" border="0" alt="{#emotions_dlg.cool}" title="{#emotions_dlg.cool}" /></a></td> + <td><a href="javascript:EmotionsDialog.insert('smiley-cry.png','emotions_dlg.cry');"><img src="img/smiley-cry.png" width="18" height="18" border="0" alt="{#emotions_dlg.cry}" title="{#emotions_dlg.cry}" /></a></td> + <td><a href="javascript:EmotionsDialog.insert('smiley-embarassed.png','emotions_dlg.embarassed');"><img src="img/smiley-embarassed.png" width="18" height="18" border="0" alt="{#emotions_dlg.embarassed}" title="{#emotions_dlg.embarassed}" /></a></td> + <td><a href="javascript:EmotionsDialog.insert('smiley-foot-in-mouth.png','emotions_dlg.foot_in_mouth');"><img src="img/smiley-foot-in-mouth.png" width="18" height="18" border="0" alt="{#emotions_dlg.foot_in_mouth}" title="{#emotions_dlg.foot_in_mouth}" /></a></td> + </tr> + <tr> + <td><a href="javascript:EmotionsDialog.insert('smiley-frown.png','emotions_dlg.frown');"><img src="img/smiley-frown.png" width="18" height="18" border="0" alt="{#emotions_dlg.frown}" title="{#emotions_dlg.frown}" /></a></td> + <td><a href="javascript:EmotionsDialog.insert('smiley-innocent.png','emotions_dlg.innocent');"><img src="img/smiley-innocent.png" width="18" height="18" border="0" alt="{#emotions_dlg.innocent}" title="{#emotions_dlg.innocent}" /></a></td> + <td><a href="javascript:EmotionsDialog.insert('smiley-kiss.png','emotions_dlg.kiss');"><img src="img/smiley-kiss.png" width="18" height="18" border="0" alt="{#emotions_dlg.kiss}" title="{#emotions_dlg.kiss}" /></a></td> + <td><a href="javascript:EmotionsDialog.insert('smiley-laughing.png','emotions_dlg.laughing');"><img src="img/smiley-laughing.png" width="18" height="18" border="0" alt="{#emotions_dlg.laughing}" title="{#emotions_dlg.laughing}" /></a></td> + </tr> + <tr> + <td><a href="javascript:EmotionsDialog.insert('smiley-money-mouth.png','emotions_dlg.money_mouth');"><img src="img/smiley-money-mouth.png" width="18" height="18" border="0" alt="{#emotions_dlg.money_mouth}" title="{#emotions_dlg.money_mouth}" /></a></td> + <td><a href="javascript:EmotionsDialog.insert('smiley-sealed.png','emotions_dlg.sealed');"><img src="img/smiley-sealed.png" width="18" height="18" border="0" alt="{#emotions_dlg.sealed}" title="{#emotions_dlg.sealed}" /></a></td> + <td><a href="javascript:EmotionsDialog.insert('smiley-smile.png','emotions_dlg.smile');"><img src="img/smiley-smile.png" width="18" height="18" border="0" alt="{#emotions_dlg.smile}" title="{#emotions_dlg.smile}" /></a></td> + <td><a href="javascript:EmotionsDialog.insert('smiley-surprised.png','emotions_dlg.surprised');"><img src="img/smiley-surprised.png" width="18" height="18" border="0" alt="{#emotions_dlg.surprised}" title="{#emotions_dlg.surprised}" /></a></td> + </tr> + <tr> + <td><a href="javascript:EmotionsDialog.insert('smiley-tongue-out.png','emotions_dlg.tongue_out');"><img src="img/smiley-tongue-out.png" width="18" height="18" border="0" alt="{#emotions_dlg.tongue-out}" title="{#emotions_dlg.tongue_out}" /></a></td> + <td><a href="javascript:EmotionsDialog.insert('smiley-undecided.png','emotions_dlg.undecided');"><img src="img/smiley-undecided.png" width="18" height="18" border="0" alt="{#emotions_dlg.undecided}" title="{#emotions_dlg.undecided}" /></a></td> + <td><a href="javascript:EmotionsDialog.insert('smiley-wink.png','emotions_dlg.wink');"><img src="img/smiley-wink.png" width="18" height="18" border="0" alt="{#emotions_dlg.wink}" title="{#emotions_dlg.wink}" /></a></td> + <td><a href="javascript:EmotionsDialog.insert('smiley-yell.png','emotions_dlg.yell');"><img src="img/smiley-yell.png" width="18" height="18" border="0" alt="{#emotions_dlg.yell}" title="{#emotions_dlg.yell}" /></a></td> + </tr> + </table> +</div> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif new file mode 100644 index 00000000..ba90cc36 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.png new file mode 100644 index 00000000..4e3fd2fa Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif new file mode 100644 index 00000000..74d897a4 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.png new file mode 100644 index 00000000..c4f74a82 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif new file mode 100644 index 00000000..963a96b8 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.png new file mode 100644 index 00000000..480c3849 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif new file mode 100644 index 00000000..c7cf1011 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.png new file mode 100644 index 00000000..2da2197d Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif new file mode 100644 index 00000000..716f55e1 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.png new file mode 100644 index 00000000..801c3688 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif new file mode 100644 index 00000000..334d49e0 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.png new file mode 100644 index 00000000..34f97a47 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif new file mode 100644 index 00000000..4efd549e Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.png new file mode 100644 index 00000000..c38270d7 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif new file mode 100644 index 00000000..82c5b182 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.png new file mode 100644 index 00000000..8ba886c0 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif new file mode 100644 index 00000000..ca2451e1 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.png new file mode 100644 index 00000000..be10965a Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif new file mode 100644 index 00000000..fe66220c Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.png new file mode 100644 index 00000000..fc3e1887 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif new file mode 100644 index 00000000..fd27edfa Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.png new file mode 100644 index 00000000..1ec09f88 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif new file mode 100644 index 00000000..0cc9bb71 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.png new file mode 100644 index 00000000..dfc27453 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif new file mode 100644 index 00000000..2075dc16 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.png new file mode 100644 index 00000000..07545790 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif new file mode 100644 index 00000000..bef7e257 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.png new file mode 100644 index 00000000..3e88c5af Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif new file mode 100644 index 00000000..0631c761 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.png new file mode 100644 index 00000000..4d655c80 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif new file mode 100644 index 00000000..648e6e87 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.png new file mode 100644 index 00000000..9f521d54 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/js/emotions.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/js/emotions.js new file mode 100644 index 00000000..e5c950fc --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/js/emotions.js @@ -0,0 +1,22 @@ +tinyMCEPopup.requireLangPack(); + +var EmotionsDialog = { + init : function(ed) { + tinyMCEPopup.resizeToInnerSize(); + }, + + insert : function(file, title) { + var ed = tinyMCEPopup.editor, dom = ed.dom; + + tinyMCEPopup.execCommand('mceInsertContent', false, dom.createHTML('img', { + src : tinyMCEPopup.getWindowArg('plugin_url') + '/img/' + file, + alt : ed.getLang(title), + title : ed.getLang(title), + border : 0 + })); + + tinyMCEPopup.close(); + } +}; + +tinyMCEPopup.onInit.add(EmotionsDialog.init, EmotionsDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js new file mode 100644 index 00000000..f6d5f4ba --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js @@ -0,0 +1,20 @@ +tinyMCE.addI18n('en.emotions_dlg',{ +title:"Insert emotion", +desc:"Emotions", +cool:"Cool", +cry:"Cry", +embarassed:"Embarassed", +foot_in_mouth:"Foot in mouth", +frown:"Frown", +innocent:"Innocent", +kiss:"Kiss", +laughing:"Laughing", +money_mouth:"Money mouth", +sealed:"Sealed", +smile:"Smile", +surprised:"Surprised", +tongue_out:"Tongue out", +undecided:"Undecided", +wink:"Wink", +yell:"Yell" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/dialog.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/dialog.htm new file mode 100644 index 00000000..d6f2856a --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/dialog.htm @@ -0,0 +1,22 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#example_dlg.title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="js/dialog.js"></script> +</head> +<body> + +<form onsubmit="ExampleDialog.insert();return false;" action="#"> + <p>Here is a example dialog.</p> + <p>Selected text: <input id="someval" name="someval" type="text" class="text" /></p> + <p>Custom arg: <input id="somearg" name="somearg" type="text" class="text" /></p> + + <div class="mceActionPanel"> + <input type="button" id="insert" name="insert" value="{#insert}" onclick="ExampleDialog.insert();" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> +</form> + +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/editor_plugin.js new file mode 100644 index 00000000..ec1f81ea --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.PluginManager.requireLangPack("example");tinymce.create("tinymce.plugins.ExamplePlugin",{init:function(a,b){a.addCommand("mceExample",function(){a.windowManager.open({file:b+"/dialog.htm",width:320+parseInt(a.getLang("example.delta_width",0)),height:120+parseInt(a.getLang("example.delta_height",0)),inline:1},{plugin_url:b,some_custom_arg:"custom arg"})});a.addButton("example",{title:"example.desc",cmd:"mceExample",image:b+"/img/example.gif"});a.onNodeChange.add(function(d,c,e){c.setActive("example",e.nodeName=="IMG")})},createControl:function(b,a){return null},getInfo:function(){return{longname:"Example plugin",author:"Some author",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example",version:"1.0"}}});tinymce.PluginManager.add("example",tinymce.plugins.ExamplePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/editor_plugin_src.js new file mode 100644 index 00000000..edc1e776 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/editor_plugin_src.js @@ -0,0 +1,84 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + // Load plugin specific language pack + tinymce.PluginManager.requireLangPack('example'); + + tinymce.create('tinymce.plugins.ExamplePlugin', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + init : function(ed, url) { + // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample'); + ed.addCommand('mceExample', function() { + ed.windowManager.open({ + file : url + '/dialog.htm', + width : 320 + parseInt(ed.getLang('example.delta_width', 0)), + height : 120 + parseInt(ed.getLang('example.delta_height', 0)), + inline : 1 + }, { + plugin_url : url, // Plugin absolute URL + some_custom_arg : 'custom arg' // Custom argument + }); + }); + + // Register example button + ed.addButton('example', { + title : 'example.desc', + cmd : 'mceExample', + image : url + '/img/example.gif' + }); + + // Add a node change handler, selects the button in the UI when a image is selected + ed.onNodeChange.add(function(ed, cm, n) { + cm.setActive('example', n.nodeName == 'IMG'); + }); + }, + + /** + * Creates control instances based in the incomming name. This method is normally not + * needed since the addButton method of the tinymce.Editor class is a more easy way of adding buttons + * but you sometimes need to create more complex controls like listboxes, split buttons etc then this + * method can be used to create those. + * + * @param {String} n Name of the control to create. + * @param {tinymce.ControlManager} cm Control manager to use inorder to create new control. + * @return {tinymce.ui.Control} New control instance or null if no control was created. + */ + createControl : function(n, cm) { + return null; + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Example plugin', + author : 'Some author', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example', + version : "1.0" + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('example', tinymce.plugins.ExamplePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/img/example.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/img/example.gif new file mode 100644 index 00000000..1ab5da44 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/img/example.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/js/dialog.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/js/dialog.js new file mode 100644 index 00000000..a7ee507e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/js/dialog.js @@ -0,0 +1,19 @@ +tinyMCEPopup.requireLangPack(); + +var ExampleDialog = { + init : function() { + var f = document.forms[0]; + + // Get the selected contents as text and place it in the input + f.someval.value = tinyMCEPopup.editor.selection.getContent({format : 'text'}); + f.somearg.value = tinyMCEPopup.getWindowArg('some_custom_arg'); + }, + + insert : function() { + // Insert the contents from the input into the document + tinyMCEPopup.editor.execCommand('mceInsertContent', false, document.forms[0].someval.value); + tinyMCEPopup.close(); + } +}; + +tinyMCEPopup.onInit.add(ExampleDialog.init, ExampleDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/langs/en.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/langs/en.js new file mode 100644 index 00000000..f3721d3a --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/langs/en.js @@ -0,0 +1,3 @@ +tinyMCE.addI18n('en.example',{ + desc : 'This is just a template button' +}); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/langs/en_dlg.js new file mode 100644 index 00000000..a9cd65f8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example/langs/en_dlg.js @@ -0,0 +1,3 @@ +tinyMCE.addI18n('en.example_dlg',{ + title : 'This is just a example title' +}); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example_dependency/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example_dependency/editor_plugin.js new file mode 100644 index 00000000..0a4551d3 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example_dependency/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.ExampleDependencyPlugin",{init:function(a,b){},getInfo:function(){return{longname:"Example Dependency plugin",author:"Some author",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example_dependency",version:"1.0"}}});tinymce.PluginManager.add("example_dependency",tinymce.plugins.ExampleDependencyPlugin,["example"])})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example_dependency/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example_dependency/editor_plugin_src.js new file mode 100644 index 00000000..e1c55e41 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/example_dependency/editor_plugin_src.js @@ -0,0 +1,50 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + + tinymce.create('tinymce.plugins.ExampleDependencyPlugin', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + init : function(ed, url) { + }, + + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Example Dependency plugin', + author : 'Some author', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example_dependency', + version : "1.0" + }; + } + }); + + /** + * Register the plugin, specifying the list of the plugins that this plugin depends on. They are specified in a list, with the list loaded in order. + * plugins in this list will be initialised when this plugin is initialized. (before the init method is called). + * plugins in a depends list should typically be specified using the short name). If neccesary this can be done + * with an object which has the url to the plugin and the shortname. + */ + tinymce.PluginManager.add('example_dependency', tinymce.plugins.ExampleDependencyPlugin, ['example']); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css new file mode 100644 index 00000000..28b721f9 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css @@ -0,0 +1,143 @@ +/* Hide the advanced tab */ +#advanced_tab { + display: none; +} + +#metatitle, #metakeywords, #metadescription, #metaauthor, #metacopyright { + width: 280px; +} + +#doctype, #docencoding { + width: 200px; +} + +#langcode { + width: 30px; +} + +#bgimage { + width: 220px; +} + +#fontface { + width: 240px; +} + +#leftmargin, #rightmargin, #topmargin, #bottommargin { + width: 50px; +} + +.panel_wrapper div.current { + height: 400px; +} + +#stylesheet, #style { + width: 240px; +} + +#doctypes { + width: 200px; +} + +/* Head list classes */ + +.headlistwrapper { + width: 100%; +} + +.selected { + border: 1px solid #0A246A; + background-color: #B6BDD2; +} + +.toolbar { + width: 100%; +} + +#headlist { + width: 100%; + margin-top: 3px; + font-size: 11px; +} + +#info, #title_element, #meta_element, #script_element, #style_element, #base_element, #link_element, #comment_element, #unknown_element { + display: none; +} + +#addmenu { + position: absolute; + border: 1px solid gray; + display: none; + z-index: 100; + background-color: white; +} + +#addmenu a { + display: block; + width: 100%; + line-height: 20px; + text-decoration: none; + background-color: white; +} + +#addmenu a:hover { + background-color: #B6BDD2; + color: black; +} + +#addmenu span { + padding-left: 10px; + padding-right: 10px; +} + +#updateElementPanel { + display: none; +} + +#script_element .panel_wrapper div.current { + height: 108px; +} + +#style_element .panel_wrapper div.current { + height: 108px; +} + +#link_element .panel_wrapper div.current { + height: 140px; +} + +#element_script_value { + width: 100%; + height: 100px; +} + +#element_comment_value { + width: 100%; + height: 120px; +} + +#element_style_value { + width: 100%; + height: 100px; +} + +#element_title, #element_script_src, #element_meta_name, #element_meta_content, #element_base_href, #element_link_href, #element_link_title { + width: 250px; +} + +.updateElementButton { + margin-top: 3px; +} + +/* MSIE specific styles */ + +* html .addbutton, * html .removebutton, * html .moveupbutton, * html .movedownbutton { + width: 22px; + height: 22px; +} + +textarea { + height: 55px; +} + +.panel_wrapper div.current {height:420px;} \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js new file mode 100644 index 00000000..eb0ec331 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js @@ -0,0 +1 @@ +(function(){var b=tinymce.each,a=tinymce.html.Node;tinymce.create("tinymce.plugins.FullPagePlugin",{init:function(c,d){var e=this;e.editor=c;c.addCommand("mceFullPageProperties",function(){c.windowManager.open({file:d+"/fullpage.htm",width:430+parseInt(c.getLang("fullpage.delta_width",0)),height:495+parseInt(c.getLang("fullpage.delta_height",0)),inline:1},{plugin_url:d,data:e._htmlToData()})});c.addButton("fullpage",{title:"fullpage.desc",cmd:"mceFullPageProperties"});c.onBeforeSetContent.add(e._setContent,e);c.onGetContent.add(e._getContent,e)},getInfo:function(){return{longname:"Fullpage",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_htmlToData:function(){var f=this._parseHeader(),h={},c,i,g,e=this.editor;function d(l,j){var k=l.attr(j);return k||""}h.fontface=e.getParam("fullpage_default_fontface","");h.fontsize=e.getParam("fullpage_default_fontsize","");i=f.firstChild;if(i.type==7){h.xml_pi=true;g=/encoding="([^"]+)"/.exec(i.value);if(g){h.docencoding=g[1]}}i=f.getAll("#doctype")[0];if(i){h.doctype="<!DOCTYPE"+i.value+">"}i=f.getAll("title")[0];if(i&&i.firstChild){h.metatitle=i.firstChild.value}b(f.getAll("meta"),function(m){var k=m.attr("name"),j=m.attr("http-equiv"),l;if(k){h["meta"+k.toLowerCase()]=m.attr("content")}else{if(j=="Content-Type"){l=/charset\s*=\s*(.*)\s*/gi.exec(m.attr("content"));if(l){h.docencoding=l[1]}}}});i=f.getAll("html")[0];if(i){h.langcode=d(i,"lang")||d(i,"xml:lang")}i=f.getAll("link")[0];if(i&&i.attr("rel")=="stylesheet"){h.stylesheet=i.attr("href")}i=f.getAll("body")[0];if(i){h.langdir=d(i,"dir");h.style=d(i,"style");h.visited_color=d(i,"vlink");h.link_color=d(i,"link");h.active_color=d(i,"alink")}return h},_dataToHtml:function(g){var f,d,h,j,k,e=this.editor.dom;function c(n,l,m){n.attr(l,m?m:undefined)}function i(l){if(d.firstChild){d.insert(l,d.firstChild)}else{d.append(l)}}f=this._parseHeader();d=f.getAll("head")[0];if(!d){j=f.getAll("html")[0];d=new a("head",1);if(j.firstChild){j.insert(d,j.firstChild,true)}else{j.append(d)}}j=f.firstChild;if(g.xml_pi){k='version="1.0"';if(g.docencoding){k+=' encoding="'+g.docencoding+'"'}if(j.type!=7){j=new a("xml",7);f.insert(j,f.firstChild,true)}j.value=k}else{if(j&&j.type==7){j.remove()}}j=f.getAll("#doctype")[0];if(g.doctype){if(!j){j=new a("#doctype",10);if(g.xml_pi){f.insert(j,f.firstChild)}else{i(j)}}j.value=g.doctype.substring(9,g.doctype.length-1)}else{if(j){j.remove()}}j=f.getAll("title")[0];if(g.metatitle){if(!j){j=new a("title",1);j.append(new a("#text",3)).value=g.metatitle;i(j)}}if(g.docencoding){j=null;b(f.getAll("meta"),function(l){if(l.attr("http-equiv")=="Content-Type"){j=l}});if(!j){j=new a("meta",1);j.attr("http-equiv","Content-Type");j.shortEnded=true;i(j)}j.attr("content","text/html; charset="+g.docencoding)}b("keywords,description,author,copyright,robots".split(","),function(m){var l=f.getAll("meta"),n,p,o=g["meta"+m];for(n=0;n<l.length;n++){p=l[n];if(p.attr("name")==m){if(o){p.attr("content",o)}else{p.remove()}return}}if(o){j=new a("meta",1);j.attr("name",m);j.attr("content",o);j.shortEnded=true;i(j)}});j=f.getAll("link")[0];if(j&&j.attr("rel")=="stylesheet"){if(g.stylesheet){j.attr("href",g.stylesheet)}else{j.remove()}}else{if(g.stylesheet){j=new a("link",1);j.attr({rel:"stylesheet",text:"text/css",href:g.stylesheet});j.shortEnded=true;i(j)}}j=f.getAll("body")[0];if(j){c(j,"dir",g.langdir);c(j,"style",g.style);c(j,"vlink",g.visited_color);c(j,"link",g.link_color);c(j,"alink",g.active_color);e.setAttribs(this.editor.getBody(),{style:g.style,dir:g.dir,vLink:g.visited_color,link:g.link_color,aLink:g.active_color})}j=f.getAll("html")[0];if(j){c(j,"lang",g.langcode);c(j,"xml:lang",g.langcode)}h=new tinymce.html.Serializer({validate:false,indent:true,apply_source_formatting:true,indent_before:"head,html,body,meta,title,script,link,style",indent_after:"head,html,body,meta,title,script,link,style"}).serialize(f);this.head=h.substring(0,h.indexOf("</body>"))},_parseHeader:function(){return new tinymce.html.DomParser({validate:false,root_name:"#document"}).parse(this.head)},_setContent:function(g,d){var m=this,i,c,h=d.content,f,l="",e=m.editor.dom,j;function k(n){return n.replace(/<\/?[A-Z]+/g,function(o){return o.toLowerCase()})}if(d.format=="raw"&&m.head){return}if(d.source_view&&g.getParam("fullpage_hide_in_source_view")){return}h=h.replace(/<(\/?)BODY/gi,"<$1body");i=h.indexOf("<body");if(i!=-1){i=h.indexOf(">",i);m.head=k(h.substring(0,i+1));c=h.indexOf("</body",i);if(c==-1){c=h.length}d.content=h.substring(i+1,c);m.foot=k(h.substring(c))}else{m.head=this._getDefaultHeader();m.foot="\n</body>\n</html>"}f=m._parseHeader();b(f.getAll("style"),function(n){if(n.firstChild){l+=n.firstChild.value}});j=f.getAll("body")[0];if(j){e.setAttribs(m.editor.getBody(),{style:j.attr("style")||"",dir:j.attr("dir")||"",vLink:j.attr("vlink")||"",link:j.attr("link")||"",aLink:j.attr("alink")||""})}if(l){e.add(m.editor.getDoc().getElementsByTagName("head")[0],"style",{id:"fullpage_styles"},l)}else{e.remove("fullpage_styles")}},_getDefaultHeader:function(){var f="",c=this.editor,e,d="";if(c.getParam("fullpage_default_xml_pi")){f+='<?xml version="1.0" encoding="'+c.getParam("fullpage_default_encoding","ISO-8859-1")+'" ?>\n'}f+=c.getParam("fullpage_default_doctype",'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');f+="\n<html>\n<head>\n";if(e=c.getParam("fullpage_default_title")){f+="<title>"+e+"</title>\n"}if(e=c.getParam("fullpage_default_encoding")){f+='<meta http-equiv="Content-Type" content="text/html; charset='+e+'" />\n'}if(e=c.getParam("fullpage_default_font_family")){d+="font-family: "+e+";"}if(e=c.getParam("fullpage_default_font_size")){d+="font-size: "+e+";"}if(e=c.getParam("fullpage_default_text_color")){d+="color: "+e+";"}f+="</head>\n<body"+(d?' style="'+d+'"':"")+">\n";return f},_getContent:function(d,e){var c=this;if(!e.source_view||!d.getParam("fullpage_hide_in_source_view")){e.content=tinymce.trim(c.head)+"\n"+tinymce.trim(e.content)+"\n"+tinymce.trim(c.foot)}}});tinymce.PluginManager.add("fullpage",tinymce.plugins.FullPagePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js new file mode 100644 index 00000000..ac6bec40 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js @@ -0,0 +1,399 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var each = tinymce.each, Node = tinymce.html.Node; + + tinymce.create('tinymce.plugins.FullPagePlugin', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceFullPageProperties', function() { + ed.windowManager.open({ + file : url + '/fullpage.htm', + width : 430 + parseInt(ed.getLang('fullpage.delta_width', 0)), + height : 495 + parseInt(ed.getLang('fullpage.delta_height', 0)), + inline : 1 + }, { + plugin_url : url, + data : t._htmlToData() + }); + }); + + // Register buttons + ed.addButton('fullpage', {title : 'fullpage.desc', cmd : 'mceFullPageProperties'}); + + ed.onBeforeSetContent.add(t._setContent, t); + ed.onGetContent.add(t._getContent, t); + }, + + getInfo : function() { + return { + longname : 'Fullpage', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private plugin internal methods + + _htmlToData : function() { + var headerFragment = this._parseHeader(), data = {}, nodes, elm, matches, editor = this.editor; + + function getAttr(elm, name) { + var value = elm.attr(name); + + return value || ''; + }; + + // Default some values + data.fontface = editor.getParam("fullpage_default_fontface", ""); + data.fontsize = editor.getParam("fullpage_default_fontsize", ""); + + // Parse XML PI + elm = headerFragment.firstChild; + if (elm.type == 7) { + data.xml_pi = true; + matches = /encoding="([^"]+)"/.exec(elm.value); + if (matches) + data.docencoding = matches[1]; + } + + // Parse doctype + elm = headerFragment.getAll('#doctype')[0]; + if (elm) + data.doctype = '<!DOCTYPE' + elm.value + ">"; + + // Parse title element + elm = headerFragment.getAll('title')[0]; + if (elm && elm.firstChild) { + data.metatitle = elm.firstChild.value; + } + + // Parse meta elements + each(headerFragment.getAll('meta'), function(meta) { + var name = meta.attr('name'), httpEquiv = meta.attr('http-equiv'), matches; + + if (name) + data['meta' + name.toLowerCase()] = meta.attr('content'); + else if (httpEquiv == "Content-Type") { + matches = /charset\s*=\s*(.*)\s*/gi.exec(meta.attr('content')); + + if (matches) + data.docencoding = matches[1]; + } + }); + + // Parse html attribs + elm = headerFragment.getAll('html')[0]; + if (elm) + data.langcode = getAttr(elm, 'lang') || getAttr(elm, 'xml:lang'); + + // Parse stylesheet + elm = headerFragment.getAll('link')[0]; + if (elm && elm.attr('rel') == 'stylesheet') + data.stylesheet = elm.attr('href'); + + // Parse body parts + elm = headerFragment.getAll('body')[0]; + if (elm) { + data.langdir = getAttr(elm, 'dir'); + data.style = getAttr(elm, 'style'); + data.visited_color = getAttr(elm, 'vlink'); + data.link_color = getAttr(elm, 'link'); + data.active_color = getAttr(elm, 'alink'); + } + + return data; + }, + + _dataToHtml : function(data) { + var headerFragment, headElement, html, elm, value, dom = this.editor.dom; + + function setAttr(elm, name, value) { + elm.attr(name, value ? value : undefined); + }; + + function addHeadNode(node) { + if (headElement.firstChild) + headElement.insert(node, headElement.firstChild); + else + headElement.append(node); + }; + + headerFragment = this._parseHeader(); + headElement = headerFragment.getAll('head')[0]; + if (!headElement) { + elm = headerFragment.getAll('html')[0]; + headElement = new Node('head', 1); + + if (elm.firstChild) + elm.insert(headElement, elm.firstChild, true); + else + elm.append(headElement); + } + + // Add/update/remove XML-PI + elm = headerFragment.firstChild; + if (data.xml_pi) { + value = 'version="1.0"'; + + if (data.docencoding) + value += ' encoding="' + data.docencoding + '"'; + + if (elm.type != 7) { + elm = new Node('xml', 7); + headerFragment.insert(elm, headerFragment.firstChild, true); + } + + elm.value = value; + } else if (elm && elm.type == 7) + elm.remove(); + + // Add/update/remove doctype + elm = headerFragment.getAll('#doctype')[0]; + if (data.doctype) { + if (!elm) { + elm = new Node('#doctype', 10); + + if (data.xml_pi) + headerFragment.insert(elm, headerFragment.firstChild); + else + addHeadNode(elm); + } + + elm.value = data.doctype.substring(9, data.doctype.length - 1); + } else if (elm) + elm.remove(); + + // Add/update/remove title + elm = headerFragment.getAll('title')[0]; + if (data.metatitle) { + if (!elm) { + elm = new Node('title', 1); + elm.append(new Node('#text', 3)).value = data.metatitle; + addHeadNode(elm); + } + } + + // Add meta encoding + if (data.docencoding) { + elm = null; + each(headerFragment.getAll('meta'), function(meta) { + if (meta.attr('http-equiv') == 'Content-Type') + elm = meta; + }); + + if (!elm) { + elm = new Node('meta', 1); + elm.attr('http-equiv', 'Content-Type'); + elm.shortEnded = true; + addHeadNode(elm); + } + + elm.attr('content', 'text/html; charset=' + data.docencoding); + } + + // Add/update/remove meta + each('keywords,description,author,copyright,robots'.split(','), function(name) { + var nodes = headerFragment.getAll('meta'), i, meta, value = data['meta' + name]; + + for (i = 0; i < nodes.length; i++) { + meta = nodes[i]; + + if (meta.attr('name') == name) { + if (value) + meta.attr('content', value); + else + meta.remove(); + + return; + } + } + + if (value) { + elm = new Node('meta', 1); + elm.attr('name', name); + elm.attr('content', value); + elm.shortEnded = true; + + addHeadNode(elm); + } + }); + + // Add/update/delete link + elm = headerFragment.getAll('link')[0]; + if (elm && elm.attr('rel') == 'stylesheet') { + if (data.stylesheet) + elm.attr('href', data.stylesheet); + else + elm.remove(); + } else if (data.stylesheet) { + elm = new Node('link', 1); + elm.attr({ + rel : 'stylesheet', + text : 'text/css', + href : data.stylesheet + }); + elm.shortEnded = true; + + addHeadNode(elm); + } + + // Update body attributes + elm = headerFragment.getAll('body')[0]; + if (elm) { + setAttr(elm, 'dir', data.langdir); + setAttr(elm, 'style', data.style); + setAttr(elm, 'vlink', data.visited_color); + setAttr(elm, 'link', data.link_color); + setAttr(elm, 'alink', data.active_color); + + // Update iframe body as well + dom.setAttribs(this.editor.getBody(), { + style : data.style, + dir : data.dir, + vLink : data.visited_color, + link : data.link_color, + aLink : data.active_color + }); + } + + // Set html attributes + elm = headerFragment.getAll('html')[0]; + if (elm) { + setAttr(elm, 'lang', data.langcode); + setAttr(elm, 'xml:lang', data.langcode); + } + + // Serialize header fragment and crop away body part + html = new tinymce.html.Serializer({ + validate: false, + indent: true, + apply_source_formatting : true, + indent_before: 'head,html,body,meta,title,script,link,style', + indent_after: 'head,html,body,meta,title,script,link,style' + }).serialize(headerFragment); + + this.head = html.substring(0, html.indexOf('</body>')); + }, + + _parseHeader : function() { + // Parse the contents with a DOM parser + return new tinymce.html.DomParser({ + validate: false, + root_name: '#document' + }).parse(this.head); + }, + + _setContent : function(ed, o) { + var self = this, startPos, endPos, content = o.content, headerFragment, styles = '', dom = self.editor.dom, elm; + + function low(s) { + return s.replace(/<\/?[A-Z]+/g, function(a) { + return a.toLowerCase(); + }) + }; + + // Ignore raw updated if we already have a head, this will fix issues with undo/redo keeping the head/foot separate + if (o.format == 'raw' && self.head) + return; + + if (o.source_view && ed.getParam('fullpage_hide_in_source_view')) + return; + + // Parse out head, body and footer + content = content.replace(/<(\/?)BODY/gi, '<$1body'); + startPos = content.indexOf('<body'); + + if (startPos != -1) { + startPos = content.indexOf('>', startPos); + self.head = low(content.substring(0, startPos + 1)); + + endPos = content.indexOf('</body', startPos); + if (endPos == -1) + endPos = content.length; + + o.content = content.substring(startPos + 1, endPos); + self.foot = low(content.substring(endPos)); + } else { + self.head = this._getDefaultHeader(); + self.foot = '\n</body>\n</html>'; + } + + // Parse header and update iframe + headerFragment = self._parseHeader(); + each(headerFragment.getAll('style'), function(node) { + if (node.firstChild) + styles += node.firstChild.value; + }); + + elm = headerFragment.getAll('body')[0]; + if (elm) { + dom.setAttribs(self.editor.getBody(), { + style : elm.attr('style') || '', + dir : elm.attr('dir') || '', + vLink : elm.attr('vlink') || '', + link : elm.attr('link') || '', + aLink : elm.attr('alink') || '' + }); + } + + if (styles) + dom.add(self.editor.getDoc().getElementsByTagName('head')[0], 'style', {id : 'fullpage_styles'}, styles); + else + dom.remove('fullpage_styles'); + }, + + _getDefaultHeader : function() { + var header = '', editor = this.editor, value, styles = ''; + + if (editor.getParam('fullpage_default_xml_pi')) + header += '<?xml version="1.0" encoding="' + editor.getParam('fullpage_default_encoding', 'ISO-8859-1') + '" ?>\n'; + + header += editor.getParam('fullpage_default_doctype', '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'); + header += '\n<html>\n<head>\n'; + + if (value = editor.getParam('fullpage_default_title')) + header += '<title>' + value + '</title>\n'; + + if (value = editor.getParam('fullpage_default_encoding')) + header += '<meta http-equiv="Content-Type" content="text/html; charset=' + value + '" />\n'; + + if (value = editor.getParam('fullpage_default_font_family')) + styles += 'font-family: ' + value + ';'; + + if (value = editor.getParam('fullpage_default_font_size')) + styles += 'font-size: ' + value + ';'; + + if (value = editor.getParam('fullpage_default_text_color')) + styles += 'color: ' + value + ';'; + + header += '</head>\n<body' + (styles ? ' style="' + styles + '"' : '') + '>\n'; + + return header; + }, + + _getContent : function(ed, o) { + var self = this; + + if (!o.source_view || !ed.getParam('fullpage_hide_in_source_view')) + o.content = tinymce.trim(self.head) + '\n' + tinymce.trim(o.content) + '\n' + tinymce.trim(self.foot); + } + }); + + // Register plugin + tinymce.PluginManager.add('fullpage', tinymce.plugins.FullPagePlugin); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/fullpage.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/fullpage.htm new file mode 100644 index 00000000..200f2b8e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/fullpage.htm @@ -0,0 +1,259 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#fullpage_dlg.title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <script type="text/javascript" src="js/fullpage.js"></script> + <link href="css/fullpage.css" rel="stylesheet" type="text/css" /> +</head> +<body id="fullpage" style="display: none"> +<form onsubmit="FullPageDialog.update();return false;" name="fullpage" action="#"> + <div class="tabs"> + <ul> + <li id="meta_tab" class="current"><span><a href="javascript:mcTabs.displayTab('meta_tab','meta_panel');" onmousedown="return false;">{#fullpage_dlg.meta_tab}</a></span></li> + <li id="appearance_tab"><span><a href="javascript:mcTabs.displayTab('appearance_tab','appearance_panel');" onmousedown="return false;">{#fullpage_dlg.appearance_tab}</a></span></li> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="meta_panel" class="panel current"> + <fieldset> + <legend>{#fullpage_dlg.meta_props}</legend> + + <table border="0" cellpadding="4" cellspacing="0"> + <tr> + <td class="nowrap"><label for="metatitle">{#fullpage_dlg.meta_title}</label> </td> + <td><input type="text" id="metatitle" name="metatitle" value="" class="mceFocus" /></td> + </tr> + <tr> + <td class="nowrap"><label for="metakeywords">{#fullpage_dlg.meta_keywords}</label> </td> + <td><textarea id="metakeywords" name="metakeywords" rows="4"></textarea></td> + </tr> + <tr> + <td class="nowrap"><label for="metadescription">{#fullpage_dlg.meta_description}</label> </td> + <td><textarea id="metadescription" name="metadescription" rows="4"></textarea></td> + </tr> + <tr> + <td class="nowrap"><label for="metaauthor">{#fullpage_dlg.author}</label> </td> + <td><input type="text" id="metaauthor" name="metaauthor" value="" /></td> + </tr> + <tr> + <td class="nowrap"><label for="metacopyright">{#fullpage_dlg.copyright}</label> </td> + <td><input type="text" id="metacopyright" name="metacopyright" value="" /></td> + </tr> + <tr> + <td class="nowrap"><label for="metarobots">{#fullpage_dlg.meta_robots}</label> </td> + <td> + <select id="metarobots" name="metarobots"> + <option value="">{#not_set}</option> + <option value="index,follow">{#fullpage_dlg.meta_index_follow}</option> + <option value="index,nofollow">{#fullpage_dlg.meta_index_nofollow}</option> + <option value="noindex,follow">{#fullpage_dlg.meta_noindex_follow}</option> + <option value="noindex,nofollow">{#fullpage_dlg.meta_noindex_nofollow}</option> + </select> + </td> + </tr> + </table> + </fieldset> + + <fieldset> + <legend>{#fullpage_dlg.langprops}</legend> + + <table border="0" cellpadding="4" cellspacing="0"> + <tr> + <td class="column1"><label for="docencoding">{#fullpage_dlg.encoding}</label></td> + <td> + <select id="docencoding" name="docencoding"> + <option value="">{#not_set}</option> + </select> + </td> + </tr> + <tr> + <td class="nowrap"><label for="doctype">{#fullpage_dlg.doctypes}</label> </td> + <td> + <select id="doctype" name="doctype"> + <option value="">{#not_set}</option> + </select> + </td> + </tr> + <tr> + <td class="nowrap"><label for="langcode">{#fullpage_dlg.langcode}</label> </td> + <td><input type="text" id="langcode" name="langcode" value="" /></td> + </tr> + <tr> + <td class="column1"><label for="langdir">{#fullpage_dlg.langdir}</label></td> + <td> + <select id="langdir" name="langdir"> + <option value="">{#not_set}</option> + <option value="ltr">{#fullpage_dlg.ltr}</option> + <option value="rtl">{#fullpage_dlg.rtl}</option> + </select> + </td> + </tr> + <tr> + <td class="nowrap"><label for="xml_pi">{#fullpage_dlg.xml_pi}</label> </td> + <td><input type="checkbox" id="xml_pi" name="xml_pi" class="checkbox" /></td> + </tr> + </table> + </fieldset> + </div> + + <div id="appearance_panel" class="panel"> + <fieldset> + <legend>{#fullpage_dlg.appearance_textprops}</legend> + + <table border="0" cellpadding="4" cellspacing="0"> + <tr> + <td class="column1"><label for="fontface">{#fullpage_dlg.fontface}</label></td> + <td> + <select id="fontface" name="fontface" onchange="FullPageDialog.changedStyleProp();"> + <option value="">{#not_set}</option> + </select> + </td> + </tr> + + <tr> + <td class="column1"><label for="fontsize">{#fullpage_dlg.fontsize}</label></td> + <td> + <select id="fontsize" name="fontsize" onchange="FullPageDialog.changedStyleProp();"> + <option value="">{#not_set}</option> + </select> + </td> + </tr> + + <tr> + <td class="column1"><label for="textcolor">{#fullpage_dlg.textcolor}</label></td> + <td> + <table border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="textcolor" name="textcolor" type="text" value="" size="9" onchange="updateColor('textcolor_pick','textcolor');FullPageDialog.changedStyleProp();" /></td> + <td id="textcolor_pickcontainer"> </td> + </tr> + </table> + </td> + </tr> + </table> + </fieldset> + + <fieldset> + <legend>{#fullpage_dlg.appearance_bgprops}</legend> + + <table border="0" cellpadding="4" cellspacing="0"> + <tr> + <td class="column1"><label for="bgimage">{#fullpage_dlg.bgimage}</label></td> + <td> + <table border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="bgimage" name="bgimage" type="text" value="" onchange="FullPageDialog.changedStyleProp();" /></td> + <td id="bgimage_pickcontainer"> </td> + </tr> + </table> + </td> + </tr> + <tr> + <td class="column1"><label for="bgcolor">{#fullpage_dlg.bgcolor}</label></td> + <td> + <table border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');FullPageDialog.changedStyleProp();" /></td> + <td id="bgcolor_pickcontainer"> </td> + </tr> + </table> + </td> + </tr> + </table> + </fieldset> + + <fieldset> + <legend>{#fullpage_dlg.appearance_marginprops}</legend> + + <table border="0" cellpadding="4" cellspacing="0"> + <tr> + <td class="column1"><label for="leftmargin">{#fullpage_dlg.left_margin}</label></td> + <td><input id="leftmargin" name="leftmargin" type="text" value="" onchange="FullPageDialog.changedStyleProp();" /></td> + <td class="column1"><label for="rightmargin">{#fullpage_dlg.right_margin}</label></td> + <td><input id="rightmargin" name="rightmargin" type="text" value="" onchange="FullPageDialog.changedStyleProp();" /></td> + </tr> + <tr> + <td class="column1"><label for="topmargin">{#fullpage_dlg.top_margin}</label></td> + <td><input id="topmargin" name="topmargin" type="text" value="" onchange="FullPageDialog.changedStyleProp();" /></td> + <td class="column1"><label for="bottommargin">{#fullpage_dlg.bottom_margin}</label></td> + <td><input id="bottommargin" name="bottommargin" type="text" value="" onchange="FullPageDialog.changedStyleProp();" /></td> + </tr> + </table> + </fieldset> + + <fieldset> + <legend>{#fullpage_dlg.appearance_linkprops}</legend> + + <table border="0" cellpadding="4" cellspacing="0"> + <tr> + <td class="column1"><label for="link_color">{#fullpage_dlg.link_color}</label></td> + <td> + <table border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="link_color" name="link_color" type="text" value="" size="9" onchange="updateColor('link_color_pick','link_color');FullPageDialog.changedStyleProp();" /></td> + <td id="link_color_pickcontainer"> </td> + </tr> + </table> + </td> + + <td class="column1"><label for="visited_color">{#fullpage_dlg.visited_color}</label></td> + <td> + <table border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="visited_color" name="visited_color" type="text" value="" size="9" onchange="updateColor('visited_color_pick','visited_color');FullPageDialog.changedStyleProp();" /></td> + <td id="visited_color_pickcontainer"> </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td class="column1"><label for="active_color">{#fullpage_dlg.active_color}</label></td> + <td> + <table border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="active_color" name="active_color" type="text" value="" size="9" onchange="updateColor('active_color_pick','active_color');FullPageDialog.changedStyleProp();" /></td> + <td id="active_color_pickcontainer"> </td> + </tr> + </table> + </td> + + <td> </td> + <td> </td> + </tr> + </table> + </fieldset> + + <fieldset> + <legend>{#fullpage_dlg.appearance_style}</legend> + + <table border="0" cellpadding="4" cellspacing="0"> + <tr> + <td class="column1"><label for="stylesheet">{#fullpage_dlg.stylesheet}</label></td> + <td><table border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="stylesheet" name="stylesheet" type="text" value="" /></td> + <td id="stylesheet_browsercontainer"> </td> + </tr> + </table></td> + </tr> + <tr> + <td class="column1"><label for="style">{#fullpage_dlg.style}</label></td> + <td><input id="style" name="style" type="text" value="" onchange="FullPageDialog.changedStyle();" /></td> + </tr> + </table> + </fieldset> + </div> + </div> + + <div class="mceActionPanel"> + <input type="submit" id="insert" name="update" value="{#update}" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> +</form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js new file mode 100644 index 00000000..66eec2d7 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js @@ -0,0 +1,232 @@ +/** + * fullpage.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinyMCEPopup.requireLangPack(); + + var defaultDocTypes = + 'XHTML 1.0 Transitional=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">,' + + 'XHTML 1.0 Frameset=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">,' + + 'XHTML 1.0 Strict=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">,' + + 'XHTML 1.1=<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">,' + + 'HTML 4.01 Transitional=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">,' + + 'HTML 4.01 Strict=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">,' + + 'HTML 4.01 Frameset=<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">'; + + var defaultEncodings = + 'Western european (iso-8859-1)=iso-8859-1,' + + 'Central European (iso-8859-2)=iso-8859-2,' + + 'Unicode (UTF-8)=utf-8,' + + 'Chinese traditional (Big5)=big5,' + + 'Cyrillic (iso-8859-5)=iso-8859-5,' + + 'Japanese (iso-2022-jp)=iso-2022-jp,' + + 'Greek (iso-8859-7)=iso-8859-7,' + + 'Korean (iso-2022-kr)=iso-2022-kr,' + + 'ASCII (us-ascii)=us-ascii'; + + var defaultFontNames = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings'; + var defaultFontSizes = '10px,11px,12px,13px,14px,15px,16px'; + + function setVal(id, value) { + var elm = document.getElementById(id); + + if (elm) { + value = value || ''; + + if (elm.nodeName == "SELECT") + selectByValue(document.forms[0], id, value); + else if (elm.type == "checkbox") + elm.checked = !!value; + else + elm.value = value; + } + }; + + function getVal(id) { + var elm = document.getElementById(id); + + if (elm.nodeName == "SELECT") + return elm.options[elm.selectedIndex].value; + + if (elm.type == "checkbox") + return elm.checked; + + return elm.value; + }; + + window.FullPageDialog = { + changedStyle : function() { + var val, styles = tinyMCEPopup.editor.dom.parseStyle(getVal('style')); + + setVal('fontface', styles['font-face']); + setVal('fontsize', styles['font-size']); + setVal('textcolor', styles['color']); + + if (val = styles['background-image']) + setVal('bgimage', val.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1")); + else + setVal('bgimage', ''); + + setVal('bgcolor', styles['background-color']); + + // Reset margin form elements + setVal('topmargin', ''); + setVal('rightmargin', ''); + setVal('bottommargin', ''); + setVal('leftmargin', ''); + + // Expand margin + if (val = styles['margin']) { + val = val.split(' '); + styles['margin-top'] = val[0] || ''; + styles['margin-right'] = val[1] || val[0] || ''; + styles['margin-bottom'] = val[2] || val[0] || ''; + styles['margin-left'] = val[3] || val[0] || ''; + } + + if (val = styles['margin-top']) + setVal('topmargin', val.replace(/px/, '')); + + if (val = styles['margin-right']) + setVal('rightmargin', val.replace(/px/, '')); + + if (val = styles['margin-bottom']) + setVal('bottommargin', val.replace(/px/, '')); + + if (val = styles['margin-left']) + setVal('leftmargin', val.replace(/px/, '')); + + updateColor('bgcolor_pick', 'bgcolor'); + updateColor('textcolor_pick', 'textcolor'); + }, + + changedStyleProp : function() { + var val, dom = tinyMCEPopup.editor.dom, styles = dom.parseStyle(getVal('style')); + + styles['font-face'] = getVal('fontface'); + styles['font-size'] = getVal('fontsize'); + styles['color'] = getVal('textcolor'); + styles['background-color'] = getVal('bgcolor'); + + if (val = getVal('bgimage')) + styles['background-image'] = "url('" + val + "')"; + else + styles['background-image'] = ''; + + delete styles['margin']; + + if (val = getVal('topmargin')) + styles['margin-top'] = val + "px"; + else + styles['margin-top'] = ''; + + if (val = getVal('rightmargin')) + styles['margin-right'] = val + "px"; + else + styles['margin-right'] = ''; + + if (val = getVal('bottommargin')) + styles['margin-bottom'] = val + "px"; + else + styles['margin-bottom'] = ''; + + if (val = getVal('leftmargin')) + styles['margin-left'] = val + "px"; + else + styles['margin-left'] = ''; + + // Serialize, parse and reserialize this will compress redundant styles + setVal('style', dom.serializeStyle(dom.parseStyle(dom.serializeStyle(styles)))); + this.changedStyle(); + }, + + update : function() { + var data = {}; + + tinymce.each(tinyMCEPopup.dom.select('select,input,textarea'), function(node) { + data[node.id] = getVal(node.id); + }); + + tinyMCEPopup.editor.plugins.fullpage._dataToHtml(data); + tinyMCEPopup.close(); + } + }; + + function init() { + var form = document.forms[0], i, item, list, editor = tinyMCEPopup.editor; + + // Setup doctype select box + list = editor.getParam("fullpage_doctypes", defaultDocTypes).split(','); + for (i = 0; i < list.length; i++) { + item = list[i].split('='); + + if (item.length > 1) + addSelectValue(form, 'doctype', item[0], item[1]); + } + + // Setup fonts select box + list = editor.getParam("fullpage_fonts", defaultFontNames).split(';'); + for (i = 0; i < list.length; i++) { + item = list[i].split('='); + + if (item.length > 1) + addSelectValue(form, 'fontface', item[0], item[1]); + } + + // Setup fontsize select box + list = editor.getParam("fullpage_fontsizes", defaultFontSizes).split(','); + for (i = 0; i < list.length; i++) + addSelectValue(form, 'fontsize', list[i], list[i]); + + // Setup encodings select box + list = editor.getParam("fullpage_encodings", defaultEncodings).split(','); + for (i = 0; i < list.length; i++) { + item = list[i].split('='); + + if (item.length > 1) + addSelectValue(form, 'docencoding', item[0], item[1]); + } + + // Setup color pickers + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + document.getElementById('link_color_pickcontainer').innerHTML = getColorPickerHTML('link_color_pick','link_color'); + document.getElementById('visited_color_pickcontainer').innerHTML = getColorPickerHTML('visited_color_pick','visited_color'); + document.getElementById('active_color_pickcontainer').innerHTML = getColorPickerHTML('active_color_pick','active_color'); + document.getElementById('textcolor_pickcontainer').innerHTML = getColorPickerHTML('textcolor_pick','textcolor'); + document.getElementById('stylesheet_browsercontainer').innerHTML = getBrowserHTML('stylesheetbrowser','stylesheet','file','fullpage'); + document.getElementById('bgimage_pickcontainer').innerHTML = getBrowserHTML('bgimage_browser','bgimage','image','fullpage'); + + // Resize some elements + if (isVisible('stylesheetbrowser')) + document.getElementById('stylesheet').style.width = '220px'; + + if (isVisible('link_href_browser')) + document.getElementById('element_link_href').style.width = '230px'; + + if (isVisible('bgimage_browser')) + document.getElementById('bgimage').style.width = '210px'; + + // Update form + tinymce.each(tinyMCEPopup.getWindowArg('data'), function(value, key) { + setVal(key, value); + }); + + FullPageDialog.changedStyle(); + + // Update colors + updateColor('textcolor_pick', 'textcolor'); + updateColor('bgcolor_pick', 'bgcolor'); + updateColor('visited_color_pick', 'visited_color'); + updateColor('active_color_pick', 'active_color'); + updateColor('link_color_pick', 'link_color'); + }; + + tinyMCEPopup.onInit.add(init); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js new file mode 100644 index 00000000..d1cd2195 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js @@ -0,0 +1,85 @@ +tinyMCE.addI18n('en.fullpage_dlg',{ +title:"Document properties", +meta_tab:"General", +appearance_tab:"Appearance", +advanced_tab:"Advanced", +meta_props:"Meta information", +langprops:"Language and encoding", +meta_title:"Title", +meta_keywords:"Keywords", +meta_description:"Description", +meta_robots:"Robots", +doctypes:"Doctype", +langcode:"Language code", +langdir:"Language direction", +ltr:"Left to right", +rtl:"Right to left", +xml_pi:"XML declaration", +encoding:"Character encoding", +appearance_bgprops:"Background properties", +appearance_marginprops:"Body margins", +appearance_linkprops:"Link colors", +appearance_textprops:"Text properties", +bgcolor:"Background color", +bgimage:"Background image", +left_margin:"Left margin", +right_margin:"Right margin", +top_margin:"Top margin", +bottom_margin:"Bottom margin", +text_color:"Text color", +font_size:"Font size", +font_face:"Font face", +link_color:"Link color", +hover_color:"Hover color", +visited_color:"Visited color", +active_color:"Active color", +textcolor:"Color", +fontsize:"Font size", +fontface:"Font family", +meta_index_follow:"Index and follow the links", +meta_index_nofollow:"Index and don't follow the links", +meta_noindex_follow:"Do not index but follow the links", +meta_noindex_nofollow:"Do not index and don\'t follow the links", +appearance_style:"Stylesheet and style properties", +stylesheet:"Stylesheet", +style:"Style", +author:"Author", +copyright:"Copyright", +add:"Add new element", +remove:"Remove selected element", +moveup:"Move selected element up", +movedown:"Move selected element down", +head_elements:"Head elements", +info:"Information", +add_title:"Title element", +add_meta:"Meta element", +add_script:"Script element", +add_style:"Style element", +add_link:"Link element", +add_base:"Base element", +add_comment:"Comment node", +title_element:"Title element", +script_element:"Script element", +style_element:"Style element", +base_element:"Base element", +link_element:"Link element", +meta_element:"Meta element", +comment_element:"Comment", +src:"Src", +language:"Language", +href:"Href", +target:"Target", +type:"Type", +charset:"Charset", +defer:"Defer", +media:"Media", +properties:"Properties", +name:"Name", +value:"Value", +content:"Content", +rel:"Rel", +rev:"Rev", +hreflang:"Href lang", +general_props:"General", +advanced_props:"Advanced" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js new file mode 100644 index 00000000..6eae3ec8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.DOM;tinymce.create("tinymce.plugins.FullScreenPlugin",{init:function(d,e){var f=this,g={},c,b;f.editor=d;d.addCommand("mceFullScreen",function(){var i,j=a.doc.documentElement;if(d.getParam("fullscreen_is_enabled")){if(d.getParam("fullscreen_new_window")){closeFullscreen()}else{a.win.setTimeout(function(){tinymce.dom.Event.remove(a.win,"resize",f.resizeFunc);tinyMCE.get(d.getParam("fullscreen_editor_id")).setContent(d.getContent({format:"raw"}),{format:"raw"});tinyMCE.remove(d);a.remove("mce_fullscreen_container");j.style.overflow=d.getParam("fullscreen_html_overflow");a.setStyle(a.doc.body,"overflow",d.getParam("fullscreen_overflow"));a.win.scrollTo(d.getParam("fullscreen_scrollx"),d.getParam("fullscreen_scrolly"));tinyMCE.settings=tinyMCE.oldSettings},10)}return}if(d.getParam("fullscreen_new_window")){i=a.win.open(e+"/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{i.resizeTo(screen.availWidth,screen.availHeight)}catch(h){}}else{tinyMCE.oldSettings=tinyMCE.settings;g.fullscreen_overflow=a.getStyle(a.doc.body,"overflow",1)||"auto";g.fullscreen_html_overflow=a.getStyle(j,"overflow",1);c=a.getViewPort();g.fullscreen_scrollx=c.x;g.fullscreen_scrolly=c.y;if(tinymce.isOpera&&g.fullscreen_overflow=="visible"){g.fullscreen_overflow="auto"}if(tinymce.isIE&&g.fullscreen_overflow=="scroll"){g.fullscreen_overflow="auto"}if(tinymce.isIE&&(g.fullscreen_html_overflow=="visible"||g.fullscreen_html_overflow=="scroll")){g.fullscreen_html_overflow="auto"}if(g.fullscreen_overflow=="0px"){g.fullscreen_overflow=""}a.setStyle(a.doc.body,"overflow","hidden");j.style.overflow="hidden";c=a.getViewPort();a.win.scrollTo(0,0);if(tinymce.isIE){c.h-=1}if(tinymce.isIE6){b="absolute;top:"+c.y}else{b="fixed;top:0"}n=a.add(a.doc.body,"div",{id:"mce_fullscreen_container",style:"position:"+b+";left:0;width:"+c.w+"px;height:"+c.h+"px;z-index:200000;"});a.add(n,"div",{id:"mce_fullscreen"});tinymce.each(d.settings,function(k,l){g[l]=k});g.id="mce_fullscreen";g.width=n.clientWidth;g.height=n.clientHeight-15;g.fullscreen_is_enabled=true;g.fullscreen_editor_id=d.id;g.theme_advanced_resizing=false;g.save_onsavecallback=function(){d.setContent(tinyMCE.get(g.id).getContent({format:"raw"}),{format:"raw"});d.execCommand("mceSave")};tinymce.each(d.getParam("fullscreen_settings"),function(m,l){g[l]=m});if(g.theme_advanced_toolbar_location==="external"){g.theme_advanced_toolbar_location="top"}f.fullscreenEditor=new tinymce.Editor("mce_fullscreen",g);f.fullscreenEditor.onInit.add(function(){f.fullscreenEditor.setContent(d.getContent());f.fullscreenEditor.focus()});f.fullscreenEditor.render();f.fullscreenElement=new tinymce.dom.Element("mce_fullscreen_container");f.fullscreenElement.update();f.resizeFunc=tinymce.dom.Event.add(a.win,"resize",function(){var o=tinymce.DOM.getViewPort(),l=f.fullscreenEditor,k,m;k=l.dom.getSize(l.getContainer().firstChild);m=l.dom.getSize(l.getContainer().getElementsByTagName("iframe")[0]);l.theme.resizeTo(o.w-k.w+m.w,o.h-k.h+m.h)})}});d.addButton("fullscreen",{title:"fullscreen.desc",cmd:"mceFullScreen"});d.onNodeChange.add(function(i,h){h.setActive("fullscreen",i.getParam("fullscreen_is_enabled"))})},getInfo:function(){return{longname:"Fullscreen",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("fullscreen",tinymce.plugins.FullScreenPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js new file mode 100644 index 00000000..585d4509 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js @@ -0,0 +1,159 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var DOM = tinymce.DOM; + + tinymce.create('tinymce.plugins.FullScreenPlugin', { + init : function(ed, url) { + var t = this, s = {}, vp, posCss; + + t.editor = ed; + + // Register commands + ed.addCommand('mceFullScreen', function() { + var win, de = DOM.doc.documentElement; + + if (ed.getParam('fullscreen_is_enabled')) { + if (ed.getParam('fullscreen_new_window')) + closeFullscreen(); // Call to close in new window + else { + DOM.win.setTimeout(function() { + tinymce.dom.Event.remove(DOM.win, 'resize', t.resizeFunc); + tinyMCE.get(ed.getParam('fullscreen_editor_id')).setContent(ed.getContent({format : 'raw'}), {format : 'raw'}); + tinyMCE.remove(ed); + DOM.remove('mce_fullscreen_container'); + de.style.overflow = ed.getParam('fullscreen_html_overflow'); + DOM.setStyle(DOM.doc.body, 'overflow', ed.getParam('fullscreen_overflow')); + DOM.win.scrollTo(ed.getParam('fullscreen_scrollx'), ed.getParam('fullscreen_scrolly')); + tinyMCE.settings = tinyMCE.oldSettings; // Restore old settings + }, 10); + } + + return; + } + + if (ed.getParam('fullscreen_new_window')) { + win = DOM.win.open(url + "/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight); + try { + win.resizeTo(screen.availWidth, screen.availHeight); + } catch (e) { + // Ignore + } + } else { + tinyMCE.oldSettings = tinyMCE.settings; // Store old settings + s.fullscreen_overflow = DOM.getStyle(DOM.doc.body, 'overflow', 1) || 'auto'; + s.fullscreen_html_overflow = DOM.getStyle(de, 'overflow', 1); + vp = DOM.getViewPort(); + s.fullscreen_scrollx = vp.x; + s.fullscreen_scrolly = vp.y; + + // Fixes an Opera bug where the scrollbars doesn't reappear + if (tinymce.isOpera && s.fullscreen_overflow == 'visible') + s.fullscreen_overflow = 'auto'; + + // Fixes an IE bug where horizontal scrollbars would appear + if (tinymce.isIE && s.fullscreen_overflow == 'scroll') + s.fullscreen_overflow = 'auto'; + + // Fixes an IE bug where the scrollbars doesn't reappear + if (tinymce.isIE && (s.fullscreen_html_overflow == 'visible' || s.fullscreen_html_overflow == 'scroll')) + s.fullscreen_html_overflow = 'auto'; + + if (s.fullscreen_overflow == '0px') + s.fullscreen_overflow = ''; + + DOM.setStyle(DOM.doc.body, 'overflow', 'hidden'); + de.style.overflow = 'hidden'; //Fix for IE6/7 + vp = DOM.getViewPort(); + DOM.win.scrollTo(0, 0); + + if (tinymce.isIE) + vp.h -= 1; + + // Use fixed position if it exists + if (tinymce.isIE6) + posCss = 'absolute;top:' + vp.y; + else + posCss = 'fixed;top:0'; + + n = DOM.add(DOM.doc.body, 'div', { + id : 'mce_fullscreen_container', + style : 'position:' + posCss + ';left:0;width:' + vp.w + 'px;height:' + vp.h + 'px;z-index:200000;'}); + DOM.add(n, 'div', {id : 'mce_fullscreen'}); + + tinymce.each(ed.settings, function(v, n) { + s[n] = v; + }); + + s.id = 'mce_fullscreen'; + s.width = n.clientWidth; + s.height = n.clientHeight - 15; + s.fullscreen_is_enabled = true; + s.fullscreen_editor_id = ed.id; + s.theme_advanced_resizing = false; + s.save_onsavecallback = function() { + ed.setContent(tinyMCE.get(s.id).getContent({format : 'raw'}), {format : 'raw'}); + ed.execCommand('mceSave'); + }; + + tinymce.each(ed.getParam('fullscreen_settings'), function(v, k) { + s[k] = v; + }); + + if (s.theme_advanced_toolbar_location === 'external') + s.theme_advanced_toolbar_location = 'top'; + + t.fullscreenEditor = new tinymce.Editor('mce_fullscreen', s); + t.fullscreenEditor.onInit.add(function() { + t.fullscreenEditor.setContent(ed.getContent()); + t.fullscreenEditor.focus(); + }); + + t.fullscreenEditor.render(); + + t.fullscreenElement = new tinymce.dom.Element('mce_fullscreen_container'); + t.fullscreenElement.update(); + //document.body.overflow = 'hidden'; + + t.resizeFunc = tinymce.dom.Event.add(DOM.win, 'resize', function() { + var vp = tinymce.DOM.getViewPort(), fed = t.fullscreenEditor, outerSize, innerSize; + + // Get outer/inner size to get a delta size that can be used to calc the new iframe size + outerSize = fed.dom.getSize(fed.getContainer().firstChild); + innerSize = fed.dom.getSize(fed.getContainer().getElementsByTagName('iframe')[0]); + + fed.theme.resizeTo(vp.w - outerSize.w + innerSize.w, vp.h - outerSize.h + innerSize.h); + }); + } + }); + + // Register buttons + ed.addButton('fullscreen', {title : 'fullscreen.desc', cmd : 'mceFullScreen'}); + + ed.onNodeChange.add(function(ed, cm) { + cm.setActive('fullscreen', ed.getParam('fullscreen_is_enabled')); + }); + }, + + getInfo : function() { + return { + longname : 'Fullscreen', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('fullscreen', tinymce.plugins.FullScreenPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm new file mode 100644 index 00000000..2bf6a37b --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm @@ -0,0 +1,109 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title></title> + <script type="text/javascript" src="../../tiny_mce.js"></script> + <script type="text/javascript"> + function patchCallback(settings, key) { + if (settings[key]) + settings[key] = "window.opener." + settings[key]; + } + + var settings = {}, paSe = window.opener.tinyMCE.activeEditor.settings, oeID = window.opener.tinyMCE.activeEditor.id; + + // Clone array + for (var n in paSe) + settings[n] = paSe[n]; + + // Override options for fullscreen + for (var n in paSe.fullscreen_settings) + settings[n] = paSe.fullscreen_settings[n]; + + // Patch callbacks, make them point to window.opener + patchCallback(settings, 'urlconverter_callback'); + patchCallback(settings, 'insertlink_callback'); + patchCallback(settings, 'insertimage_callback'); + patchCallback(settings, 'setupcontent_callback'); + patchCallback(settings, 'save_callback'); + patchCallback(settings, 'onchange_callback'); + patchCallback(settings, 'init_instance_callback'); + patchCallback(settings, 'file_browser_callback'); + patchCallback(settings, 'cleanup_callback'); + patchCallback(settings, 'execcommand_callback'); + patchCallback(settings, 'oninit'); + + // Set options + delete settings.id; + settings['mode'] = 'exact'; + settings['elements'] = 'fullscreenarea'; + settings['add_unload_trigger'] = false; + settings['ask'] = false; + settings['document_base_url'] = window.opener.tinyMCE.activeEditor.documentBaseURI.getURI(); + settings['fullscreen_is_enabled'] = true; + settings['fullscreen_editor_id'] = oeID; + settings['theme_advanced_resizing'] = false; + settings['strict_loading_mode'] = true; + + settings.save_onsavecallback = function() { + window.opener.tinyMCE.get(oeID).setContent(tinyMCE.get('fullscreenarea').getContent({format : 'raw'}), {format : 'raw'}); + window.opener.tinyMCE.get(oeID).execCommand('mceSave'); + window.close(); + }; + + function unloadHandler(e) { + moveContent(); + } + + function moveContent() { + window.opener.tinyMCE.get(oeID).setContent(tinyMCE.activeEditor.getContent()); + } + + function closeFullscreen() { + moveContent(); + window.close(); + } + + function doParentSubmit() { + moveContent(); + + if (window.opener.tinyMCE.selectedInstance.formElement.form) + window.opener.tinyMCE.selectedInstance.formElement.form.submit(); + + window.close(); + + return false; + } + + function render() { + var e = document.getElementById('fullscreenarea'), vp, ed, ow, oh, dom = tinymce.DOM; + + e.value = window.opener.tinyMCE.get(oeID).getContent(); + + vp = dom.getViewPort(); + settings.width = vp.w; + settings.height = vp.h - 15; + + tinymce.dom.Event.add(window, 'resize', function() { + var vp = dom.getViewPort(); + + tinyMCE.activeEditor.theme.resizeTo(vp.w, vp.h); + }); + + tinyMCE.init(settings); + } + + // Add onunload + tinymce.dom.Event.add(window, "beforeunload", unloadHandler); + </script> +</head> +<body style="margin:0;overflow:hidden;width:100%;height:100%" scrolling="no" scroll="no"> +<form onsubmit="doParentSubmit();"> +<textarea id="fullscreenarea" style="width:100%; height:100%"></textarea> +</form> + +<script type="text/javascript"> + render(); +</script> + +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/iespell/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/iespell/editor_plugin.js new file mode 100644 index 00000000..e9cba106 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/iespell/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.IESpell",{init:function(a,b){var c=this,d;if(!tinymce.isIE){return}c.editor=a;a.addCommand("mceIESpell",function(){try{d=new ActiveXObject("ieSpell.ieSpellExtension");d.CheckDocumentNode(a.getDoc().documentElement)}catch(f){if(f.number==-2146827859){a.windowManager.confirm(a.getLang("iespell.download"),function(e){if(e){window.open("http://www.iespell.com/download.php","ieSpellDownload","")}})}else{a.windowManager.alert("Error Loading ieSpell: Exception "+f.number)}}});a.addButton("iespell",{title:"iespell.iespell_desc",cmd:"mceIESpell"})},getInfo:function(){return{longname:"IESpell (IE Only)",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("iespell",tinymce.plugins.IESpell)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js new file mode 100644 index 00000000..61edf1e2 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js @@ -0,0 +1,54 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.IESpell', { + init : function(ed, url) { + var t = this, sp; + + if (!tinymce.isIE) + return; + + t.editor = ed; + + // Register commands + ed.addCommand('mceIESpell', function() { + try { + sp = new ActiveXObject("ieSpell.ieSpellExtension"); + sp.CheckDocumentNode(ed.getDoc().documentElement); + } catch (e) { + if (e.number == -2146827859) { + ed.windowManager.confirm(ed.getLang("iespell.download"), function(s) { + if (s) + window.open('http://www.iespell.com/download.php', 'ieSpellDownload', ''); + }); + } else + ed.windowManager.alert("Error Loading ieSpell: Exception " + e.number); + } + }); + + // Register buttons + ed.addButton('iespell', {title : 'iespell.iespell_desc', cmd : 'mceIESpell'}); + }, + + getInfo : function() { + return { + longname : 'IESpell (IE Only)', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('iespell', tinymce.plugins.IESpell); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js new file mode 100644 index 00000000..8bb96f9c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js @@ -0,0 +1 @@ +(function(){var d=tinymce.DOM,b=tinymce.dom.Element,a=tinymce.dom.Event,e=tinymce.each,c=tinymce.is;tinymce.create("tinymce.plugins.InlinePopups",{init:function(f,g){f.onBeforeRenderUI.add(function(){f.windowManager=new tinymce.InlineWindowManager(f);d.loadCSS(g+"/skins/"+(f.settings.inlinepopups_skin||"clearlooks2")+"/window.css")})},getInfo:function(){return{longname:"InlinePopups",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.create("tinymce.InlineWindowManager:tinymce.WindowManager",{InlineWindowManager:function(f){var g=this;g.parent(f);g.zIndex=300000;g.count=0;g.windows={}},open:function(s,j){var z=this,i,k="",r=z.editor,g=0,v=0,h,m,o,q,l,x,y,n;s=s||{};j=j||{};if(!s.inline){return z.parent(s,j)}n=z._frontWindow();if(n&&d.get(n.id+"_ifr")){n.focussedElement=d.get(n.id+"_ifr").contentWindow.document.activeElement}if(!s.type){z.bookmark=r.selection.getBookmark(1)}i=d.uniqueId();h=d.getViewPort();s.width=parseInt(s.width||320);s.height=parseInt(s.height||240)+(tinymce.isIE?8:0);s.min_width=parseInt(s.min_width||150);s.min_height=parseInt(s.min_height||100);s.max_width=parseInt(s.max_width||2000);s.max_height=parseInt(s.max_height||2000);s.left=s.left||Math.round(Math.max(h.x,h.x+(h.w/2)-(s.width/2)));s.top=s.top||Math.round(Math.max(h.y,h.y+(h.h/2)-(s.height/2)));s.movable=s.resizable=true;j.mce_width=s.width;j.mce_height=s.height;j.mce_inline=true;j.mce_window_id=i;j.mce_auto_focus=s.auto_focus;z.features=s;z.params=j;z.onOpen.dispatch(z,s,j);if(s.type){k+=" mceModal";if(s.type){k+=" mce"+s.type.substring(0,1).toUpperCase()+s.type.substring(1)}s.resizable=false}if(s.statusbar){k+=" mceStatusbar"}if(s.resizable){k+=" mceResizable"}if(s.minimizable){k+=" mceMinimizable"}if(s.maximizable){k+=" mceMaximizable"}if(s.movable){k+=" mceMovable"}z._addAll(d.doc.body,["div",{id:i,role:"dialog","aria-labelledby":s.type?i+"_content":i+"_title","class":(r.settings.inlinepopups_skin||"clearlooks2")+(tinymce.isIE&&window.getSelection?" ie9":""),style:"width:100px;height:100px"},["div",{id:i+"_wrapper","class":"mceWrapper"+k},["div",{id:i+"_top","class":"mceTop"},["div",{"class":"mceLeft"}],["div",{"class":"mceCenter"}],["div",{"class":"mceRight"}],["span",{id:i+"_title"},s.title||""]],["div",{id:i+"_middle","class":"mceMiddle"},["div",{id:i+"_left","class":"mceLeft",tabindex:"0"}],["span",{id:i+"_content"}],["div",{id:i+"_right","class":"mceRight",tabindex:"0"}]],["div",{id:i+"_bottom","class":"mceBottom"},["div",{"class":"mceLeft"}],["div",{"class":"mceCenter"}],["div",{"class":"mceRight"}],["span",{id:i+"_status"},"Content"]],["a",{"class":"mceMove",tabindex:"-1",href:"javascript:;"}],["a",{"class":"mceMin",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceMax",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceMed",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceClose",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{id:i+"_resize_n","class":"mceResize mceResizeN",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_s","class":"mceResize mceResizeS",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_w","class":"mceResize mceResizeW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_e","class":"mceResize mceResizeE",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_nw","class":"mceResize mceResizeNW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_ne","class":"mceResize mceResizeNE",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_sw","class":"mceResize mceResizeSW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_se","class":"mceResize mceResizeSE",tabindex:"-1",href:"javascript:;"}]]]);d.setStyles(i,{top:-10000,left:-10000});if(tinymce.isGecko){d.setStyle(i,"overflow","auto")}if(!s.type){g+=d.get(i+"_left").clientWidth;g+=d.get(i+"_right").clientWidth;v+=d.get(i+"_top").clientHeight;v+=d.get(i+"_bottom").clientHeight}d.setStyles(i,{top:s.top,left:s.left,width:s.width+g,height:s.height+v});y=s.url||s.file;if(y){if(tinymce.relaxedDomain){y+=(y.indexOf("?")==-1?"?":"&")+"mce_rdomain="+tinymce.relaxedDomain}y=tinymce._addVer(y)}if(!s.type){d.add(i+"_content","iframe",{id:i+"_ifr",src:'javascript:""',frameBorder:0,style:"border:0;width:10px;height:10px"});d.setStyles(i+"_ifr",{width:s.width,height:s.height});d.setAttrib(i+"_ifr","src",y)}else{d.add(i+"_wrapper","a",{id:i+"_ok","class":"mceButton mceOk",href:"javascript:;",onmousedown:"return false;"},"Ok");if(s.type=="confirm"){d.add(i+"_wrapper","a",{"class":"mceButton mceCancel",href:"javascript:;",onmousedown:"return false;"},"Cancel")}d.add(i+"_middle","div",{"class":"mceIcon"});d.setHTML(i+"_content",s.content.replace("\n","<br />"));a.add(i,"keyup",function(f){var p=27;if(f.keyCode===p){s.button_func(false);return a.cancel(f)}});a.add(i,"keydown",function(f){var t,p=9;if(f.keyCode===p){t=d.select("a.mceCancel",i+"_wrapper")[0];if(t&&t!==f.target){t.focus()}else{d.get(i+"_ok").focus()}return a.cancel(f)}})}o=a.add(i,"mousedown",function(t){var u=t.target,f,p;f=z.windows[i];z.focus(i);if(u.nodeName=="A"||u.nodeName=="a"){if(u.className=="mceClose"){z.close(null,i);return a.cancel(t)}else{if(u.className=="mceMax"){f.oldPos=f.element.getXY();f.oldSize=f.element.getSize();p=d.getViewPort();p.w-=2;p.h-=2;f.element.moveTo(p.x,p.y);f.element.resizeTo(p.w,p.h);d.setStyles(i+"_ifr",{width:p.w-f.deltaWidth,height:p.h-f.deltaHeight});d.addClass(i+"_wrapper","mceMaximized")}else{if(u.className=="mceMed"){f.element.moveTo(f.oldPos.x,f.oldPos.y);f.element.resizeTo(f.oldSize.w,f.oldSize.h);f.iframeElement.resizeTo(f.oldSize.w-f.deltaWidth,f.oldSize.h-f.deltaHeight);d.removeClass(i+"_wrapper","mceMaximized")}else{if(u.className=="mceMove"){return z._startDrag(i,t,u.className)}else{if(d.hasClass(u,"mceResize")){return z._startDrag(i,t,u.className.substring(13))}}}}}}});q=a.add(i,"click",function(f){var p=f.target;z.focus(i);if(p.nodeName=="A"||p.nodeName=="a"){switch(p.className){case"mceClose":z.close(null,i);return a.cancel(f);case"mceButton mceOk":case"mceButton mceCancel":s.button_func(p.className=="mceButton mceOk");return a.cancel(f)}}});a.add([i+"_left",i+"_right"],"focus",function(p){var t=d.get(i+"_ifr");if(t){var f=t.contentWindow.document.body;var u=d.select(":input:enabled,*[tabindex=0]",f);if(p.target.id===(i+"_left")){u[u.length-1].focus()}else{u[0].focus()}}else{d.get(i+"_ok").focus()}});x=z.windows[i]={id:i,mousedown_func:o,click_func:q,element:new b(i,{blocker:1,container:r.getContainer()}),iframeElement:new b(i+"_ifr"),features:s,deltaWidth:g,deltaHeight:v};x.iframeElement.on("focus",function(){z.focus(i)});if(z.count==0&&z.editor.getParam("dialog_type","modal")=="modal"){d.add(d.doc.body,"div",{id:"mceModalBlocker","class":(z.editor.settings.inlinepopups_skin||"clearlooks2")+"_modalBlocker",style:{zIndex:z.zIndex-1}});d.show("mceModalBlocker");d.setAttrib(d.doc.body,"aria-hidden","true")}else{d.setStyle("mceModalBlocker","z-index",z.zIndex-1)}if(tinymce.isIE6||/Firefox\/2\./.test(navigator.userAgent)||(tinymce.isIE&&!d.boxModel)){d.setStyles("mceModalBlocker",{position:"absolute",left:h.x,top:h.y,width:h.w-2,height:h.h-2})}d.setAttrib(i,"aria-hidden","false");z.focus(i);z._fixIELayout(i,1);if(d.get(i+"_ok")){d.get(i+"_ok").focus()}z.count++;return x},focus:function(h){var g=this,f;if(f=g.windows[h]){f.zIndex=this.zIndex++;f.element.setStyle("zIndex",f.zIndex);f.element.update();h=h+"_wrapper";d.removeClass(g.lastId,"mceFocus");d.addClass(h,"mceFocus");g.lastId=h;if(f.focussedElement){f.focussedElement.focus()}else{if(d.get(h+"_ok")){d.get(f.id+"_ok").focus()}else{if(d.get(f.id+"_ifr")){d.get(f.id+"_ifr").focus()}}}}},_addAll:function(k,h){var g,l,f=this,j=tinymce.DOM;if(c(h,"string")){k.appendChild(j.doc.createTextNode(h))}else{if(h.length){k=k.appendChild(j.create(h[0],h[1]));for(g=2;g<h.length;g++){f._addAll(k,h[g])}}}},_startDrag:function(v,G,E){var o=this,u,z,C=d.doc,f,l=o.windows[v],h=l.element,y=h.getXY(),x,q,F,g,A,s,r,j,i,m,k,n,B;g={x:0,y:0};A=d.getViewPort();A.w-=2;A.h-=2;j=G.screenX;i=G.screenY;m=k=n=B=0;u=a.add(C,"mouseup",function(p){a.remove(C,"mouseup",u);a.remove(C,"mousemove",z);if(f){f.remove()}h.moveBy(m,k);h.resizeBy(n,B);q=h.getSize();d.setStyles(v+"_ifr",{width:q.w-l.deltaWidth,height:q.h-l.deltaHeight});o._fixIELayout(v,1);return a.cancel(p)});if(E!="Move"){D()}function D(){if(f){return}o._fixIELayout(v,0);d.add(C.body,"div",{id:"mceEventBlocker","class":"mceEventBlocker "+(o.editor.settings.inlinepopups_skin||"clearlooks2"),style:{zIndex:o.zIndex+1}});if(tinymce.isIE6||(tinymce.isIE&&!d.boxModel)){d.setStyles("mceEventBlocker",{position:"absolute",left:A.x,top:A.y,width:A.w-2,height:A.h-2})}f=new b("mceEventBlocker");f.update();x=h.getXY();q=h.getSize();s=g.x+x.x-A.x;r=g.y+x.y-A.y;d.add(f.get(),"div",{id:"mcePlaceHolder","class":"mcePlaceHolder",style:{left:s,top:r,width:q.w,height:q.h}});F=new b("mcePlaceHolder")}z=a.add(C,"mousemove",function(w){var p,H,t;D();p=w.screenX-j;H=w.screenY-i;switch(E){case"ResizeW":m=p;n=0-p;break;case"ResizeE":n=p;break;case"ResizeN":case"ResizeNW":case"ResizeNE":if(E=="ResizeNW"){m=p;n=0-p}else{if(E=="ResizeNE"){n=p}}k=H;B=0-H;break;case"ResizeS":case"ResizeSW":case"ResizeSE":if(E=="ResizeSW"){m=p;n=0-p}else{if(E=="ResizeSE"){n=p}}B=H;break;case"mceMove":m=p;k=H;break}if(n<(t=l.features.min_width-q.w)){if(m!==0){m+=n-t}n=t}if(B<(t=l.features.min_height-q.h)){if(k!==0){k+=B-t}B=t}n=Math.min(n,l.features.max_width-q.w);B=Math.min(B,l.features.max_height-q.h);m=Math.max(m,A.x-(s+A.x));k=Math.max(k,A.y-(r+A.y));m=Math.min(m,(A.w+A.x)-(s+q.w+A.x));k=Math.min(k,(A.h+A.y)-(r+q.h+A.y));if(m+k!==0){if(s+m<0){m=0}if(r+k<0){k=0}F.moveTo(s+m,r+k)}if(n+B!==0){F.resizeTo(q.w+n,q.h+B)}return a.cancel(w)});return a.cancel(G)},resizeBy:function(g,h,i){var f=this.windows[i];if(f){f.element.resizeBy(g,h);f.iframeElement.resizeBy(g,h)}},close:function(i,k){var g=this,f,j=d.doc,h,k;k=g._findId(k||i);if(!g.windows[k]){g.parent(i);return}g.count--;if(g.count==0){d.remove("mceModalBlocker");d.setAttrib(d.doc.body,"aria-hidden","false");g.editor.focus()}if(f=g.windows[k]){g.onClose.dispatch(g);a.remove(j,"mousedown",f.mousedownFunc);a.remove(j,"click",f.clickFunc);a.clear(k);a.clear(k+"_ifr");d.setAttrib(k+"_ifr","src",'javascript:""');f.element.remove();delete g.windows[k];h=g._frontWindow();if(h){g.focus(h.id)}}},_frontWindow:function(){var g,f=0;e(this.windows,function(h){if(h.zIndex>f){g=h;f=h.zIndex}});return g},setTitle:function(f,g){var h;f=this._findId(f);if(h=d.get(f+"_title")){h.innerHTML=d.encode(g)}},alert:function(g,f,j){var i=this,h;h=i.open({title:i,type:"alert",button_func:function(k){if(f){f.call(k||i,k)}i.close(null,h.id)},content:d.encode(i.editor.getLang(g,g)),inline:1,width:400,height:130})},confirm:function(g,f,j){var i=this,h;h=i.open({title:i,type:"confirm",button_func:function(k){if(f){f.call(k||i,k)}i.close(null,h.id)},content:d.encode(i.editor.getLang(g,g)),inline:1,width:400,height:130})},_findId:function(f){var g=this;if(typeof(f)=="string"){return f}e(g.windows,function(h){var i=d.get(h.id+"_ifr");if(i&&f==i.contentWindow){f=h.id;return false}});return f},_fixIELayout:function(i,h){var f,g;if(!tinymce.isIE6){return}e(["n","s","w","e","nw","ne","sw","se"],function(j){var k=d.get(i+"_resize_"+j);d.setStyles(k,{width:h?k.clientWidth:"",height:h?k.clientHeight:"",cursor:d.getStyle(k,"cursor",1)});d.setStyle(i+"_bottom","bottom","-1px");k=0});if(f=this.windows[i]){f.element.hide();f.element.show();e(d.select("div,a",i),function(k,j){if(k.currentStyle.backgroundImage!="none"){g=new Image();g.src=k.currentStyle.backgroundImage.replace(/url\(\"(.+)\"\)/,"$1")}});d.get(i).style.filter=""}}});tinymce.PluginManager.add("inlinepopups",tinymce.plugins.InlinePopups)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js new file mode 100644 index 00000000..2a6f3ad2 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js @@ -0,0 +1,699 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var DOM = tinymce.DOM, Element = tinymce.dom.Element, Event = tinymce.dom.Event, each = tinymce.each, is = tinymce.is; + + tinymce.create('tinymce.plugins.InlinePopups', { + init : function(ed, url) { + // Replace window manager + ed.onBeforeRenderUI.add(function() { + ed.windowManager = new tinymce.InlineWindowManager(ed); + DOM.loadCSS(url + '/skins/' + (ed.settings.inlinepopups_skin || 'clearlooks2') + "/window.css"); + }); + }, + + getInfo : function() { + return { + longname : 'InlinePopups', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + tinymce.create('tinymce.InlineWindowManager:tinymce.WindowManager', { + InlineWindowManager : function(ed) { + var t = this; + + t.parent(ed); + t.zIndex = 300000; + t.count = 0; + t.windows = {}; + }, + + open : function(f, p) { + var t = this, id, opt = '', ed = t.editor, dw = 0, dh = 0, vp, po, mdf, clf, we, w, u, parentWindow; + + f = f || {}; + p = p || {}; + + // Run native windows + if (!f.inline) + return t.parent(f, p); + + parentWindow = t._frontWindow(); + if (parentWindow && DOM.get(parentWindow.id + '_ifr')) { + parentWindow.focussedElement = DOM.get(parentWindow.id + '_ifr').contentWindow.document.activeElement; + } + + // Only store selection if the type is a normal window + if (!f.type) + t.bookmark = ed.selection.getBookmark(1); + + id = DOM.uniqueId(); + vp = DOM.getViewPort(); + f.width = parseInt(f.width || 320); + f.height = parseInt(f.height || 240) + (tinymce.isIE ? 8 : 0); + f.min_width = parseInt(f.min_width || 150); + f.min_height = parseInt(f.min_height || 100); + f.max_width = parseInt(f.max_width || 2000); + f.max_height = parseInt(f.max_height || 2000); + f.left = f.left || Math.round(Math.max(vp.x, vp.x + (vp.w / 2.0) - (f.width / 2.0))); + f.top = f.top || Math.round(Math.max(vp.y, vp.y + (vp.h / 2.0) - (f.height / 2.0))); + f.movable = f.resizable = true; + p.mce_width = f.width; + p.mce_height = f.height; + p.mce_inline = true; + p.mce_window_id = id; + p.mce_auto_focus = f.auto_focus; + + // Transpose +// po = DOM.getPos(ed.getContainer()); +// f.left -= po.x; +// f.top -= po.y; + + t.features = f; + t.params = p; + t.onOpen.dispatch(t, f, p); + + if (f.type) { + opt += ' mceModal'; + + if (f.type) + opt += ' mce' + f.type.substring(0, 1).toUpperCase() + f.type.substring(1); + + f.resizable = false; + } + + if (f.statusbar) + opt += ' mceStatusbar'; + + if (f.resizable) + opt += ' mceResizable'; + + if (f.minimizable) + opt += ' mceMinimizable'; + + if (f.maximizable) + opt += ' mceMaximizable'; + + if (f.movable) + opt += ' mceMovable'; + + // Create DOM objects + t._addAll(DOM.doc.body, + ['div', {id : id, role : 'dialog', 'aria-labelledby': f.type ? id + '_content' : id + '_title', 'class' : (ed.settings.inlinepopups_skin || 'clearlooks2') + (tinymce.isIE && window.getSelection ? ' ie9' : ''), style : 'width:100px;height:100px'}, + ['div', {id : id + '_wrapper', 'class' : 'mceWrapper' + opt}, + ['div', {id : id + '_top', 'class' : 'mceTop'}, + ['div', {'class' : 'mceLeft'}], + ['div', {'class' : 'mceCenter'}], + ['div', {'class' : 'mceRight'}], + ['span', {id : id + '_title'}, f.title || ''] + ], + + ['div', {id : id + '_middle', 'class' : 'mceMiddle'}, + ['div', {id : id + '_left', 'class' : 'mceLeft', tabindex : '0'}], + ['span', {id : id + '_content'}], + ['div', {id : id + '_right', 'class' : 'mceRight', tabindex : '0'}] + ], + + ['div', {id : id + '_bottom', 'class' : 'mceBottom'}, + ['div', {'class' : 'mceLeft'}], + ['div', {'class' : 'mceCenter'}], + ['div', {'class' : 'mceRight'}], + ['span', {id : id + '_status'}, 'Content'] + ], + + ['a', {'class' : 'mceMove', tabindex : '-1', href : 'javascript:;'}], + ['a', {'class' : 'mceMin', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}], + ['a', {'class' : 'mceMax', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}], + ['a', {'class' : 'mceMed', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}], + ['a', {'class' : 'mceClose', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}], + ['a', {id : id + '_resize_n', 'class' : 'mceResize mceResizeN', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_s', 'class' : 'mceResize mceResizeS', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_w', 'class' : 'mceResize mceResizeW', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_e', 'class' : 'mceResize mceResizeE', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_nw', 'class' : 'mceResize mceResizeNW', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_ne', 'class' : 'mceResize mceResizeNE', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_sw', 'class' : 'mceResize mceResizeSW', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_se', 'class' : 'mceResize mceResizeSE', tabindex : '-1', href : 'javascript:;'}] + ] + ] + ); + + DOM.setStyles(id, {top : -10000, left : -10000}); + + // Fix gecko rendering bug, where the editors iframe messed with window contents + if (tinymce.isGecko) + DOM.setStyle(id, 'overflow', 'auto'); + + // Measure borders + if (!f.type) { + dw += DOM.get(id + '_left').clientWidth; + dw += DOM.get(id + '_right').clientWidth; + dh += DOM.get(id + '_top').clientHeight; + dh += DOM.get(id + '_bottom').clientHeight; + } + + // Resize window + DOM.setStyles(id, {top : f.top, left : f.left, width : f.width + dw, height : f.height + dh}); + + u = f.url || f.file; + if (u) { + if (tinymce.relaxedDomain) + u += (u.indexOf('?') == -1 ? '?' : '&') + 'mce_rdomain=' + tinymce.relaxedDomain; + + u = tinymce._addVer(u); + } + + if (!f.type) { + DOM.add(id + '_content', 'iframe', {id : id + '_ifr', src : 'javascript:""', frameBorder : 0, style : 'border:0;width:10px;height:10px'}); + DOM.setStyles(id + '_ifr', {width : f.width, height : f.height}); + DOM.setAttrib(id + '_ifr', 'src', u); + } else { + DOM.add(id + '_wrapper', 'a', {id : id + '_ok', 'class' : 'mceButton mceOk', href : 'javascript:;', onmousedown : 'return false;'}, 'Ok'); + + if (f.type == 'confirm') + DOM.add(id + '_wrapper', 'a', {'class' : 'mceButton mceCancel', href : 'javascript:;', onmousedown : 'return false;'}, 'Cancel'); + + DOM.add(id + '_middle', 'div', {'class' : 'mceIcon'}); + DOM.setHTML(id + '_content', f.content.replace('\n', '<br />')); + + Event.add(id, 'keyup', function(evt) { + var VK_ESCAPE = 27; + if (evt.keyCode === VK_ESCAPE) { + f.button_func(false); + return Event.cancel(evt); + } + }); + + Event.add(id, 'keydown', function(evt) { + var cancelButton, VK_TAB = 9; + if (evt.keyCode === VK_TAB) { + cancelButton = DOM.select('a.mceCancel', id + '_wrapper')[0]; + if (cancelButton && cancelButton !== evt.target) { + cancelButton.focus(); + } else { + DOM.get(id + '_ok').focus(); + } + return Event.cancel(evt); + } + }); + } + + // Register events + mdf = Event.add(id, 'mousedown', function(e) { + var n = e.target, w, vp; + + w = t.windows[id]; + t.focus(id); + + if (n.nodeName == 'A' || n.nodeName == 'a') { + if (n.className == 'mceClose') { + t.close(null, id); + return Event.cancel(e); + } else if (n.className == 'mceMax') { + w.oldPos = w.element.getXY(); + w.oldSize = w.element.getSize(); + + vp = DOM.getViewPort(); + + // Reduce viewport size to avoid scrollbars + vp.w -= 2; + vp.h -= 2; + + w.element.moveTo(vp.x, vp.y); + w.element.resizeTo(vp.w, vp.h); + DOM.setStyles(id + '_ifr', {width : vp.w - w.deltaWidth, height : vp.h - w.deltaHeight}); + DOM.addClass(id + '_wrapper', 'mceMaximized'); + } else if (n.className == 'mceMed') { + // Reset to old size + w.element.moveTo(w.oldPos.x, w.oldPos.y); + w.element.resizeTo(w.oldSize.w, w.oldSize.h); + w.iframeElement.resizeTo(w.oldSize.w - w.deltaWidth, w.oldSize.h - w.deltaHeight); + + DOM.removeClass(id + '_wrapper', 'mceMaximized'); + } else if (n.className == 'mceMove') + return t._startDrag(id, e, n.className); + else if (DOM.hasClass(n, 'mceResize')) + return t._startDrag(id, e, n.className.substring(13)); + } + }); + + clf = Event.add(id, 'click', function(e) { + var n = e.target; + + t.focus(id); + + if (n.nodeName == 'A' || n.nodeName == 'a') { + switch (n.className) { + case 'mceClose': + t.close(null, id); + return Event.cancel(e); + + case 'mceButton mceOk': + case 'mceButton mceCancel': + f.button_func(n.className == 'mceButton mceOk'); + return Event.cancel(e); + } + } + }); + + // Make sure the tab order loops within the dialog. + Event.add([id + '_left', id + '_right'], 'focus', function(evt) { + var iframe = DOM.get(id + '_ifr'); + if (iframe) { + var body = iframe.contentWindow.document.body; + var focusable = DOM.select(':input:enabled,*[tabindex=0]', body); + if (evt.target.id === (id + '_left')) { + focusable[focusable.length - 1].focus(); + } else { + focusable[0].focus(); + } + } else { + DOM.get(id + '_ok').focus(); + } + }); + + // Add window + w = t.windows[id] = { + id : id, + mousedown_func : mdf, + click_func : clf, + element : new Element(id, {blocker : 1, container : ed.getContainer()}), + iframeElement : new Element(id + '_ifr'), + features : f, + deltaWidth : dw, + deltaHeight : dh + }; + + w.iframeElement.on('focus', function() { + t.focus(id); + }); + + // Setup blocker + if (t.count == 0 && t.editor.getParam('dialog_type', 'modal') == 'modal') { + DOM.add(DOM.doc.body, 'div', { + id : 'mceModalBlocker', + 'class' : (t.editor.settings.inlinepopups_skin || 'clearlooks2') + '_modalBlocker', + style : {zIndex : t.zIndex - 1} + }); + + DOM.show('mceModalBlocker'); // Reduces flicker in IE + DOM.setAttrib(DOM.doc.body, 'aria-hidden', 'true'); + } else + DOM.setStyle('mceModalBlocker', 'z-index', t.zIndex - 1); + + if (tinymce.isIE6 || /Firefox\/2\./.test(navigator.userAgent) || (tinymce.isIE && !DOM.boxModel)) + DOM.setStyles('mceModalBlocker', {position : 'absolute', left : vp.x, top : vp.y, width : vp.w - 2, height : vp.h - 2}); + + DOM.setAttrib(id, 'aria-hidden', 'false'); + t.focus(id); + t._fixIELayout(id, 1); + + // Focus ok button + if (DOM.get(id + '_ok')) + DOM.get(id + '_ok').focus(); + t.count++; + + return w; + }, + + focus : function(id) { + var t = this, w; + + if (w = t.windows[id]) { + w.zIndex = this.zIndex++; + w.element.setStyle('zIndex', w.zIndex); + w.element.update(); + + id = id + '_wrapper'; + DOM.removeClass(t.lastId, 'mceFocus'); + DOM.addClass(id, 'mceFocus'); + t.lastId = id; + + if (w.focussedElement) { + w.focussedElement.focus(); + } else if (DOM.get(id + '_ok')) { + DOM.get(w.id + '_ok').focus(); + } else if (DOM.get(w.id + '_ifr')) { + DOM.get(w.id + '_ifr').focus(); + } + } + }, + + _addAll : function(te, ne) { + var i, n, t = this, dom = tinymce.DOM; + + if (is(ne, 'string')) + te.appendChild(dom.doc.createTextNode(ne)); + else if (ne.length) { + te = te.appendChild(dom.create(ne[0], ne[1])); + + for (i=2; i<ne.length; i++) + t._addAll(te, ne[i]); + } + }, + + _startDrag : function(id, se, ac) { + var t = this, mu, mm, d = DOM.doc, eb, w = t.windows[id], we = w.element, sp = we.getXY(), p, sz, ph, cp, vp, sx, sy, sex, sey, dx, dy, dw, dh; + + // Get positons and sizes +// cp = DOM.getPos(t.editor.getContainer()); + cp = {x : 0, y : 0}; + vp = DOM.getViewPort(); + + // Reduce viewport size to avoid scrollbars while dragging + vp.w -= 2; + vp.h -= 2; + + sex = se.screenX; + sey = se.screenY; + dx = dy = dw = dh = 0; + + // Handle mouse up + mu = Event.add(d, 'mouseup', function(e) { + Event.remove(d, 'mouseup', mu); + Event.remove(d, 'mousemove', mm); + + if (eb) + eb.remove(); + + we.moveBy(dx, dy); + we.resizeBy(dw, dh); + sz = we.getSize(); + DOM.setStyles(id + '_ifr', {width : sz.w - w.deltaWidth, height : sz.h - w.deltaHeight}); + t._fixIELayout(id, 1); + + return Event.cancel(e); + }); + + if (ac != 'Move') + startMove(); + + function startMove() { + if (eb) + return; + + t._fixIELayout(id, 0); + + // Setup event blocker + DOM.add(d.body, 'div', { + id : 'mceEventBlocker', + 'class' : 'mceEventBlocker ' + (t.editor.settings.inlinepopups_skin || 'clearlooks2'), + style : {zIndex : t.zIndex + 1} + }); + + if (tinymce.isIE6 || (tinymce.isIE && !DOM.boxModel)) + DOM.setStyles('mceEventBlocker', {position : 'absolute', left : vp.x, top : vp.y, width : vp.w - 2, height : vp.h - 2}); + + eb = new Element('mceEventBlocker'); + eb.update(); + + // Setup placeholder + p = we.getXY(); + sz = we.getSize(); + sx = cp.x + p.x - vp.x; + sy = cp.y + p.y - vp.y; + DOM.add(eb.get(), 'div', {id : 'mcePlaceHolder', 'class' : 'mcePlaceHolder', style : {left : sx, top : sy, width : sz.w, height : sz.h}}); + ph = new Element('mcePlaceHolder'); + }; + + // Handle mouse move/drag + mm = Event.add(d, 'mousemove', function(e) { + var x, y, v; + + startMove(); + + x = e.screenX - sex; + y = e.screenY - sey; + + switch (ac) { + case 'ResizeW': + dx = x; + dw = 0 - x; + break; + + case 'ResizeE': + dw = x; + break; + + case 'ResizeN': + case 'ResizeNW': + case 'ResizeNE': + if (ac == "ResizeNW") { + dx = x; + dw = 0 - x; + } else if (ac == "ResizeNE") + dw = x; + + dy = y; + dh = 0 - y; + break; + + case 'ResizeS': + case 'ResizeSW': + case 'ResizeSE': + if (ac == "ResizeSW") { + dx = x; + dw = 0 - x; + } else if (ac == "ResizeSE") + dw = x; + + dh = y; + break; + + case 'mceMove': + dx = x; + dy = y; + break; + } + + // Boundary check + if (dw < (v = w.features.min_width - sz.w)) { + if (dx !== 0) + dx += dw - v; + + dw = v; + } + + if (dh < (v = w.features.min_height - sz.h)) { + if (dy !== 0) + dy += dh - v; + + dh = v; + } + + dw = Math.min(dw, w.features.max_width - sz.w); + dh = Math.min(dh, w.features.max_height - sz.h); + dx = Math.max(dx, vp.x - (sx + vp.x)); + dy = Math.max(dy, vp.y - (sy + vp.y)); + dx = Math.min(dx, (vp.w + vp.x) - (sx + sz.w + vp.x)); + dy = Math.min(dy, (vp.h + vp.y) - (sy + sz.h + vp.y)); + + // Move if needed + if (dx + dy !== 0) { + if (sx + dx < 0) + dx = 0; + + if (sy + dy < 0) + dy = 0; + + ph.moveTo(sx + dx, sy + dy); + } + + // Resize if needed + if (dw + dh !== 0) + ph.resizeTo(sz.w + dw, sz.h + dh); + + return Event.cancel(e); + }); + + return Event.cancel(se); + }, + + resizeBy : function(dw, dh, id) { + var w = this.windows[id]; + + if (w) { + w.element.resizeBy(dw, dh); + w.iframeElement.resizeBy(dw, dh); + } + }, + + close : function(win, id) { + var t = this, w, d = DOM.doc, fw, id; + + id = t._findId(id || win); + + // Probably not inline + if (!t.windows[id]) { + t.parent(win); + return; + } + + t.count--; + + if (t.count == 0) { + DOM.remove('mceModalBlocker'); + DOM.setAttrib(DOM.doc.body, 'aria-hidden', 'false'); + t.editor.focus(); + } + + if (w = t.windows[id]) { + t.onClose.dispatch(t); + Event.remove(d, 'mousedown', w.mousedownFunc); + Event.remove(d, 'click', w.clickFunc); + Event.clear(id); + Event.clear(id + '_ifr'); + + DOM.setAttrib(id + '_ifr', 'src', 'javascript:""'); // Prevent leak + w.element.remove(); + delete t.windows[id]; + + fw = t._frontWindow(); + + if (fw) + t.focus(fw.id); + } + }, + + // Find front most window + _frontWindow : function() { + var fw, ix = 0; + // Find front most window and focus that + each (this.windows, function(w) { + if (w.zIndex > ix) { + fw = w; + ix = w.zIndex; + } + }); + return fw; + }, + + setTitle : function(w, ti) { + var e; + + w = this._findId(w); + + if (e = DOM.get(w + '_title')) + e.innerHTML = DOM.encode(ti); + }, + + alert : function(txt, cb, s) { + var t = this, w; + + w = t.open({ + title : t, + type : 'alert', + button_func : function(s) { + if (cb) + cb.call(s || t, s); + + t.close(null, w.id); + }, + content : DOM.encode(t.editor.getLang(txt, txt)), + inline : 1, + width : 400, + height : 130 + }); + }, + + confirm : function(txt, cb, s) { + var t = this, w; + + w = t.open({ + title : t, + type : 'confirm', + button_func : function(s) { + if (cb) + cb.call(s || t, s); + + t.close(null, w.id); + }, + content : DOM.encode(t.editor.getLang(txt, txt)), + inline : 1, + width : 400, + height : 130 + }); + }, + + // Internal functions + + _findId : function(w) { + var t = this; + + if (typeof(w) == 'string') + return w; + + each(t.windows, function(wo) { + var ifr = DOM.get(wo.id + '_ifr'); + + if (ifr && w == ifr.contentWindow) { + w = wo.id; + return false; + } + }); + + return w; + }, + + _fixIELayout : function(id, s) { + var w, img; + + if (!tinymce.isIE6) + return; + + // Fixes the bug where hover flickers and does odd things in IE6 + each(['n','s','w','e','nw','ne','sw','se'], function(v) { + var e = DOM.get(id + '_resize_' + v); + + DOM.setStyles(e, { + width : s ? e.clientWidth : '', + height : s ? e.clientHeight : '', + cursor : DOM.getStyle(e, 'cursor', 1) + }); + + DOM.setStyle(id + "_bottom", 'bottom', '-1px'); + + e = 0; + }); + + // Fixes graphics glitch + if (w = this.windows[id]) { + // Fixes rendering bug after resize + w.element.hide(); + w.element.show(); + + // Forced a repaint of the window + //DOM.get(id).style.filter = ''; + + // IE has a bug where images used in CSS won't get loaded + // sometimes when the cache in the browser is disabled + // This fix tries to solve it by loading the images using the image object + each(DOM.select('div,a', id), function(e, i) { + if (e.currentStyle.backgroundImage != 'none') { + img = new Image(); + img.src = e.currentStyle.backgroundImage.replace(/url\(\"(.+)\"\)/, '$1'); + } + }); + + DOM.get(id).style.filter = ''; + } + } + }); + + // Register plugin + tinymce.PluginManager.add('inlinepopups', tinymce.plugins.InlinePopups); +})(); + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif new file mode 100644 index 00000000..21913985 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.png new file mode 100644 index 00000000..7258ee5d Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif new file mode 100644 index 00000000..f957e49a Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.png new file mode 100644 index 00000000..d9fa8689 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif new file mode 100644 index 00000000..6baf64ad Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.png new file mode 100644 index 00000000..b460ab35 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif new file mode 100644 index 00000000..20acbbf7 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.png new file mode 100644 index 00000000..39d4872b Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif new file mode 100644 index 00000000..d5de1cc2 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.png new file mode 100644 index 00000000..abedfe2a Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif new file mode 100644 index 00000000..c2a2ad45 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.png new file mode 100644 index 00000000..21fd017c Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif new file mode 100644 index 00000000..0b4cc368 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.png new file mode 100644 index 00000000..1499b280 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css new file mode 100644 index 00000000..38d14ef1 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css @@ -0,0 +1,90 @@ +/* Clearlooks 2 */ + +/* Reset */ +.clearlooks2, .clearlooks2 div, .clearlooks2 span, .clearlooks2 a {vertical-align:baseline; text-align:left; position:absolute; border:0; padding:0; margin:0; background:transparent; font-family:Arial,Verdana; font-size:11px; color:#000; text-decoration:none; font-weight:normal; width:auto; height:auto; overflow:hidden; display:block} + +/* General */ +.clearlooks2 {position:absolute; direction:ltr} +.clearlooks2 .mceWrapper {position:static} +.mceEventBlocker {position:fixed; left:0; top:0; background:url(img/horizontal.png) no-repeat 0 -75px; width:100%; height:100%} +.clearlooks2 .mcePlaceHolder {border:1px solid #000; background:#888; top:0; left:0; opacity:0.5; -ms-filter:'alpha(opacity=50)'; filter:alpha(opacity=50)} +.clearlooks2_modalBlocker {position:fixed; left:0; top:0; width:100%; height:100%; background:#FFF; opacity:0.6; -ms-filter:'alpha(opacity=60)'; filter:alpha(opacity=60); display:none} + +/* Top */ +.clearlooks2 .mceTop, .clearlooks2 .mceTop div {top:0; width:100%; height:23px} +.clearlooks2 .mceTop .mceLeft {width:6px; background:url(img/corners.png)} +.clearlooks2 .mceTop .mceCenter {right:6px; width:100%; height:23px; background:url(img/horizontal.png) 12px 0; clip:rect(auto auto auto 12px)} +.clearlooks2 .mceTop .mceRight {right:0; width:6px; height:23px; background:url(img/corners.png) -12px 0} +.clearlooks2 .mceTop span {width:100%; text-align:center; vertical-align:middle; line-height:23px; font-weight:bold} +.clearlooks2 .mceFocus .mceTop .mceLeft {background:url(img/corners.png) -6px 0} +.clearlooks2 .mceFocus .mceTop .mceCenter {background:url(img/horizontal.png) 0 -23px} +.clearlooks2 .mceFocus .mceTop .mceRight {background:url(img/corners.png) -18px 0} +.clearlooks2 .mceFocus .mceTop span {color:#FFF} + +/* Middle */ +.clearlooks2 .mceMiddle, .clearlooks2 .mceMiddle div {top:0} +.clearlooks2 .mceMiddle {width:100%; height:100%; clip:rect(23px auto auto auto)} +.clearlooks2 .mceMiddle .mceLeft {left:0; width:5px; height:100%; background:url(img/vertical.png) -5px 0} +.clearlooks2 .mceMiddle span {top:23px; left:5px; width:100%; height:100%; background:#FFF} +.clearlooks2 .mceMiddle .mceRight {right:0; width:5px; height:100%; background:url(img/vertical.png)} + +/* Bottom */ +.clearlooks2 .mceBottom, .clearlooks2 .mceBottom div {height:6px} +.clearlooks2 .mceBottom {left:0; bottom:0; width:100%} +.clearlooks2 .mceBottom div {top:0} +.clearlooks2 .mceBottom .mceLeft {left:0; width:5px; background:url(img/corners.png) -34px -6px} +.clearlooks2 .mceBottom .mceCenter {left:5px; width:100%; background:url(img/horizontal.png) 0 -46px} +.clearlooks2 .mceBottom .mceRight {right:0; width:5px; background: url(img/corners.png) -34px 0} +.clearlooks2 .mceBottom span {display:none} +.clearlooks2 .mceStatusbar .mceBottom, .clearlooks2 .mceStatusbar .mceBottom div {height:23px} +.clearlooks2 .mceStatusbar .mceBottom .mceLeft {background:url(img/corners.png) -29px 0} +.clearlooks2 .mceStatusbar .mceBottom .mceCenter {background:url(img/horizontal.png) 0 -52px} +.clearlooks2 .mceStatusbar .mceBottom .mceRight {background:url(img/corners.png) -24px 0} +.clearlooks2 .mceStatusbar .mceBottom span {display:block; left:7px; font-family:Arial, Verdana; font-size:11px; line-height:23px} + +/* Actions */ +.clearlooks2 a {width:29px; height:16px; top:3px;} +.clearlooks2 .mceClose {right:6px; background:url(img/buttons.png) -87px 0} +.clearlooks2 .mceMin {display:none; right:68px; background:url(img/buttons.png) 0 0} +.clearlooks2 .mceMed {display:none; right:37px; background:url(img/buttons.png) -29px 0} +.clearlooks2 .mceMax {display:none; right:37px; background:url(img/buttons.png) -58px 0} +.clearlooks2 .mceMove {display:none;width:100%;cursor:move;background:url(img/corners.png) no-repeat -100px -100px} +.clearlooks2 .mceMovable .mceMove {display:block} +.clearlooks2 .mceFocus .mceClose {right:6px; background:url(img/buttons.png) -87px -16px} +.clearlooks2 .mceFocus .mceMin {right:68px; background:url(img/buttons.png) 0 -16px} +.clearlooks2 .mceFocus .mceMed {right:37px; background:url(img/buttons.png) -29px -16px} +.clearlooks2 .mceFocus .mceMax {right:37px; background:url(img/buttons.png) -58px -16px} +.clearlooks2 .mceFocus .mceClose:hover {right:6px; background:url(img/buttons.png) -87px -32px} +.clearlooks2 .mceFocus .mceClose:hover {right:6px; background:url(img/buttons.png) -87px -32px} +.clearlooks2 .mceFocus .mceMin:hover {right:68px; background:url(img/buttons.png) 0 -32px} +.clearlooks2 .mceFocus .mceMed:hover {right:37px; background:url(img/buttons.png) -29px -32px} +.clearlooks2 .mceFocus .mceMax:hover {right:37px; background:url(img/buttons.png) -58px -32px} + +/* Resize */ +.clearlooks2 .mceResize {top:auto; left:auto; display:none; width:5px; height:5px; background:url(img/horizontal.png) no-repeat 0 -75px} +.clearlooks2 .mceResizable .mceResize {display:block} +.clearlooks2 .mceResizable .mceMin, .clearlooks2 .mceMax {display:none} +.clearlooks2 .mceMinimizable .mceMin {display:block} +.clearlooks2 .mceMaximizable .mceMax {display:block} +.clearlooks2 .mceMaximized .mceMed {display:block} +.clearlooks2 .mceMaximized .mceMax {display:none} +.clearlooks2 a.mceResizeN {top:0; left:0; width:100%; cursor:n-resize} +.clearlooks2 a.mceResizeNW {top:0; left:0; cursor:nw-resize} +.clearlooks2 a.mceResizeNE {top:0; right:0; cursor:ne-resize} +.clearlooks2 a.mceResizeW {top:0; left:0; height:100%; cursor:w-resize;} +.clearlooks2 a.mceResizeE {top:0; right:0; height:100%; cursor:e-resize} +.clearlooks2 a.mceResizeS {bottom:0; left:0; width:100%; cursor:s-resize} +.clearlooks2 a.mceResizeSW {bottom:0; left:0; cursor:sw-resize} +.clearlooks2 a.mceResizeSE {bottom:0; right:0; cursor:se-resize} + +/* Alert/Confirm */ +.clearlooks2 .mceButton {font-weight:bold; bottom:10px; width:80px; height:30px; background:url(img/button.png); line-height:30px; vertical-align:middle; text-align:center; outline:0} +.clearlooks2 .mceMiddle .mceIcon {left:15px; top:35px; width:32px; height:32px} +.clearlooks2 .mceAlert .mceMiddle span, .clearlooks2 .mceConfirm .mceMiddle span {background:transparent;left:60px; top:35px; width:320px; height:50px; font-weight:bold; overflow:auto; white-space:normal} +.clearlooks2 a:hover {font-weight:bold;} +.clearlooks2 .mceAlert .mceMiddle, .clearlooks2 .mceConfirm .mceMiddle {background:#D6D7D5} +.clearlooks2 .mceAlert .mceOk {left:50%; top:auto; margin-left: -40px} +.clearlooks2 .mceAlert .mceIcon {background:url(img/alert.png)} +.clearlooks2 .mceConfirm .mceOk {left:50%; top:auto; margin-left: -90px} +.clearlooks2 .mceConfirm .mceCancel {left:50%; top:auto} +.clearlooks2 .mceConfirm .mceIcon {background:url(img/confirm.png)} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/template.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/template.htm new file mode 100644 index 00000000..c98fe41a --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/inlinepopups/template.htm @@ -0,0 +1,387 @@ +<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> --> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<title>Template for dialogs</title> +<link rel="stylesheet" type="text/css" href="skins/clearlooks2/window.css" /> +</head> +<body> + +<div class="mceEditor"> + <div class="clearlooks2" style="width:400px; height:100px; left:10px;"> + <div class="mceWrapper"> + <div class="mceTop"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Blured</span> + </div> + + <div class="mceMiddle"> + <div class="mceLeft"></div> + <span>Content</span> + <div class="mceRight"></div> + </div> + + <div class="mceBottom"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Statusbar text.</span> + </div> + + <a class="mceMove" href="#"></a> + <a class="mceMin" href="#"></a> + <a class="mceMax" href="#"></a> + <a class="mceMed" href="#"></a> + <a class="mceClose" href="#"></a> + <a class="mceResize mceResizeN" href="#"></a> + <a class="mceResize mceResizeS" href="#"></a> + <a class="mceResize mceResizeW" href="#"></a> + <a class="mceResize mceResizeE" href="#"></a> + <a class="mceResize mceResizeNW" href="#"></a> + <a class="mceResize mceResizeNE" href="#"></a> + <a class="mceResize mceResizeSW" href="#"></a> + <a class="mceResize mceResizeSE" href="#"></a> + </div> + </div> + + <div class="clearlooks2" style="width:400px; height:100px; left:420px;"> + <div class="mceWrapper mceMovable mceFocus"> + <div class="mceTop"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Focused</span> + </div> + + <div class="mceMiddle"> + <div class="mceLeft"></div> + <span>Content</span> + <div class="mceRight"></div> + </div> + + <div class="mceBottom"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Statusbar text.</span> + </div> + + <a class="mceMove" href="#"></a> + <a class="mceMin" href="#"></a> + <a class="mceMax" href="#"></a> + <a class="mceMed" href="#"></a> + <a class="mceClose" href="#"></a> + <a class="mceResize mceResizeN" href="#"></a> + <a class="mceResize mceResizeS" href="#"></a> + <a class="mceResize mceResizeW" href="#"></a> + <a class="mceResize mceResizeE" href="#"></a> + <a class="mceResize mceResizeNW" href="#"></a> + <a class="mceResize mceResizeNE" href="#"></a> + <a class="mceResize mceResizeSW" href="#"></a> + <a class="mceResize mceResizeSE" href="#"></a> + </div> + </div> + + <div class="clearlooks2" style="width:400px; height:100px; left:10px; top:120px;"> + <div class="mceWrapper mceMovable mceFocus mceStatusbar"> + <div class="mceTop"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Statusbar</span> + </div> + + <div class="mceMiddle"> + <div class="mceLeft"></div> + <span>Content</span> + <div class="mceRight"></div> + </div> + + <div class="mceBottom"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Statusbar text.</span> + </div> + + <a class="mceMove" href="#"></a> + <a class="mceMin" href="#"></a> + <a class="mceMax" href="#"></a> + <a class="mceMed" href="#"></a> + <a class="mceClose" href="#"></a> + <a class="mceResize mceResizeN" href="#"></a> + <a class="mceResize mceResizeS" href="#"></a> + <a class="mceResize mceResizeW" href="#"></a> + <a class="mceResize mceResizeE" href="#"></a> + <a class="mceResize mceResizeNW" href="#"></a> + <a class="mceResize mceResizeNE" href="#"></a> + <a class="mceResize mceResizeSW" href="#"></a> + <a class="mceResize mceResizeSE" href="#"></a> + </div> + </div> + + <div class="clearlooks2" style="width:400px; height:100px; left:420px; top:120px;"> + <div class="mceWrapper mceMovable mceFocus mceStatusbar mceResizable"> + <div class="mceTop"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Statusbar, Resizable</span> + </div> + + <div class="mceMiddle"> + <div class="mceLeft"></div> + <span>Content</span> + <div class="mceRight"></div> + </div> + + <div class="mceBottom"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Statusbar text.</span> + </div> + + <a class="mceMove" href="#"></a> + <a class="mceMin" href="#"></a> + <a class="mceMax" href="#"></a> + <a class="mceMed" href="#"></a> + <a class="mceClose" href="#"></a> + <a class="mceResize mceResizeN" href="#"></a> + <a class="mceResize mceResizeS" href="#"></a> + <a class="mceResize mceResizeW" href="#"></a> + <a class="mceResize mceResizeE" href="#"></a> + <a class="mceResize mceResizeNW" href="#"></a> + <a class="mceResize mceResizeNE" href="#"></a> + <a class="mceResize mceResizeSW" href="#"></a> + <a class="mceResize mceResizeSE" href="#"></a> + </div> + </div> + + <div class="clearlooks2" style="width:400px; height:100px; left:10px; top:230px;"> + <div class="mceWrapper mceMovable mceFocus mceResizable mceMaximizable"> + <div class="mceTop"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Resizable, Maximizable</span> + </div> + + <div class="mceMiddle"> + <div class="mceLeft"></div> + <span>Content</span> + <div class="mceRight"></div> + </div> + + <div class="mceBottom"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Statusbar text.</span> + </div> + + <a class="mceMove" href="#"></a> + <a class="mceMin" href="#"></a> + <a class="mceMax" href="#"></a> + <a class="mceMed" href="#"></a> + <a class="mceClose" href="#"></a> + <a class="mceResize mceResizeN" href="#"></a> + <a class="mceResize mceResizeS" href="#"></a> + <a class="mceResize mceResizeW" href="#"></a> + <a class="mceResize mceResizeE" href="#"></a> + <a class="mceResize mceResizeNW" href="#"></a> + <a class="mceResize mceResizeNE" href="#"></a> + <a class="mceResize mceResizeSW" href="#"></a> + <a class="mceResize mceResizeSE" href="#"></a> + </div> + </div> + + <div class="clearlooks2" style="width:400px; height:100px; left:420px; top:230px;"> + <div class="mceWrapper mceMovable mceStatusbar mceResizable mceMaximizable"> + <div class="mceTop"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Blurred, Maximizable, Statusbar, Resizable</span> + </div> + + <div class="mceMiddle"> + <div class="mceLeft"></div> + <span>Content</span> + <div class="mceRight"></div> + </div> + + <div class="mceBottom"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Statusbar text.</span> + </div> + + <a class="mceMove" href="#"></a> + <a class="mceMin" href="#"></a> + <a class="mceMax" href="#"></a> + <a class="mceMed" href="#"></a> + <a class="mceClose" href="#"></a> + <a class="mceResize mceResizeN" href="#"></a> + <a class="mceResize mceResizeS" href="#"></a> + <a class="mceResize mceResizeW" href="#"></a> + <a class="mceResize mceResizeE" href="#"></a> + <a class="mceResize mceResizeNW" href="#"></a> + <a class="mceResize mceResizeNE" href="#"></a> + <a class="mceResize mceResizeSW" href="#"></a> + <a class="mceResize mceResizeSE" href="#"></a> + </div> + </div> + + <div class="clearlooks2" style="width:400px; height:100px; left:10px; top:340px;"> + <div class="mceWrapper mceMovable mceFocus mceResizable mceMaximized mceMinimizable mceMaximizable"> + <div class="mceTop"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Maximized, Maximizable, Minimizable</span> + </div> + + <div class="mceMiddle"> + <div class="mceLeft"></div> + <span>Content</span> + <div class="mceRight"></div> + </div> + + <div class="mceBottom"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Statusbar text.</span> + </div> + + <a class="mceMove" href="#"></a> + <a class="mceMin" href="#"></a> + <a class="mceMax" href="#"></a> + <a class="mceMed" href="#"></a> + <a class="mceClose" href="#"></a> + <a class="mceResize mceResizeN" href="#"></a> + <a class="mceResize mceResizeS" href="#"></a> + <a class="mceResize mceResizeW" href="#"></a> + <a class="mceResize mceResizeE" href="#"></a> + <a class="mceResize mceResizeNW" href="#"></a> + <a class="mceResize mceResizeNE" href="#"></a> + <a class="mceResize mceResizeSW" href="#"></a> + <a class="mceResize mceResizeSE" href="#"></a> + </div> + </div> + + <div class="clearlooks2" style="width:400px; height:100px; left:420px; top:340px;"> + <div class="mceWrapper mceMovable mceStatusbar mceResizable mceMaximized mceMinimizable mceMaximizable"> + <div class="mceTop"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Blured</span> + </div> + + <div class="mceMiddle"> + <div class="mceLeft"></div> + <span>Content</span> + <div class="mceRight"></div> + </div> + + <div class="mceBottom"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Statusbar text.</span> + </div> + + <a class="mceMove" href="#"></a> + <a class="mceMin" href="#"></a> + <a class="mceMax" href="#"></a> + <a class="mceMed" href="#"></a> + <a class="mceClose" href="#"></a> + <a class="mceResize mceResizeN" href="#"></a> + <a class="mceResize mceResizeS" href="#"></a> + <a class="mceResize mceResizeW" href="#"></a> + <a class="mceResize mceResizeE" href="#"></a> + <a class="mceResize mceResizeNW" href="#"></a> + <a class="mceResize mceResizeNE" href="#"></a> + <a class="mceResize mceResizeSW" href="#"></a> + <a class="mceResize mceResizeSE" href="#"></a> + </div> + </div> + + <div class="clearlooks2" style="width:400px; height:130px; left:10px; top:450px;"> + <div class="mceWrapper mceMovable mceFocus mceModal mceAlert"> + <div class="mceTop"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Alert</span> + </div> + + <div class="mceMiddle"> + <div class="mceLeft"></div> + <span> + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + </span> + <div class="mceRight"></div> + <div class="mceIcon"></div> + </div> + + <div class="mceBottom"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + </div> + + <a class="mceMove" href="#"></a> + <a class="mceButton mceOk" href="#">Ok</a> + <a class="mceClose" href="#"></a> + </div> + </div> + + <div class="clearlooks2" style="width:400px; height:130px; left:420px; top:450px;"> + <div class="mceWrapper mceMovable mceFocus mceModal mceConfirm"> + <div class="mceTop"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + <span>Confirm</span> + </div> + + <div class="mceMiddle"> + <div class="mceLeft"></div> + <span> + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + </span> + <div class="mceRight"></div> + <div class="mceIcon"></div> + </div> + + <div class="mceBottom"> + <div class="mceLeft"></div> + <div class="mceCenter"></div> + <div class="mceRight"></div> + </div> + + <a class="mceMove" href="#"></a> + <a class="mceButton mceOk" href="#">Ok</a> + <a class="mceButton mceCancel" href="#">Cancel</a> + <a class="mceClose" href="#"></a> + </div> + </div> +</div> + +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js new file mode 100644 index 00000000..938ce6b1 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.InsertDateTime",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceInsertDate",function(){var d=c._getDateTime(new Date(),a.getParam("plugin_insertdate_dateFormat",a.getLang("insertdatetime.date_fmt")));a.execCommand("mceInsertContent",false,d)});a.addCommand("mceInsertTime",function(){var d=c._getDateTime(new Date(),a.getParam("plugin_insertdate_timeFormat",a.getLang("insertdatetime.time_fmt")));a.execCommand("mceInsertContent",false,d)});a.addButton("insertdate",{title:"insertdatetime.insertdate_desc",cmd:"mceInsertDate"});a.addButton("inserttime",{title:"insertdatetime.inserttime_desc",cmd:"mceInsertTime"})},getInfo:function(){return{longname:"Insert date/time",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_getDateTime:function(e,a){var c=this.editor;function b(g,d){g=""+g;if(g.length<d){for(var f=0;f<(d-g.length);f++){g="0"+g}}return g}a=a.replace("%D","%m/%d/%y");a=a.replace("%r","%I:%M:%S %p");a=a.replace("%Y",""+e.getFullYear());a=a.replace("%y",""+e.getYear());a=a.replace("%m",b(e.getMonth()+1,2));a=a.replace("%d",b(e.getDate(),2));a=a.replace("%H",""+b(e.getHours(),2));a=a.replace("%M",""+b(e.getMinutes(),2));a=a.replace("%S",""+b(e.getSeconds(),2));a=a.replace("%I",""+((e.getHours()+11)%12+1));a=a.replace("%p",""+(e.getHours()<12?"AM":"PM"));a=a.replace("%B",""+c.getLang("insertdatetime.months_long").split(",")[e.getMonth()]);a=a.replace("%b",""+c.getLang("insertdatetime.months_short").split(",")[e.getMonth()]);a=a.replace("%A",""+c.getLang("insertdatetime.day_long").split(",")[e.getDay()]);a=a.replace("%a",""+c.getLang("insertdatetime.day_short").split(",")[e.getDay()]);a=a.replace("%%","%");return a}});tinymce.PluginManager.add("insertdatetime",tinymce.plugins.InsertDateTime)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js new file mode 100644 index 00000000..c5d9a416 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js @@ -0,0 +1,83 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.InsertDateTime', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + ed.addCommand('mceInsertDate', function() { + var str = t._getDateTime(new Date(), ed.getParam("plugin_insertdate_dateFormat", ed.getLang('insertdatetime.date_fmt'))); + + ed.execCommand('mceInsertContent', false, str); + }); + + ed.addCommand('mceInsertTime', function() { + var str = t._getDateTime(new Date(), ed.getParam("plugin_insertdate_timeFormat", ed.getLang('insertdatetime.time_fmt'))); + + ed.execCommand('mceInsertContent', false, str); + }); + + ed.addButton('insertdate', {title : 'insertdatetime.insertdate_desc', cmd : 'mceInsertDate'}); + ed.addButton('inserttime', {title : 'insertdatetime.inserttime_desc', cmd : 'mceInsertTime'}); + }, + + getInfo : function() { + return { + longname : 'Insert date/time', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + _getDateTime : function(d, fmt) { + var ed = this.editor; + + function addZeros(value, len) { + value = "" + value; + + if (value.length < len) { + for (var i=0; i<(len-value.length); i++) + value = "0" + value; + } + + return value; + }; + + fmt = fmt.replace("%D", "%m/%d/%y"); + fmt = fmt.replace("%r", "%I:%M:%S %p"); + fmt = fmt.replace("%Y", "" + d.getFullYear()); + fmt = fmt.replace("%y", "" + d.getYear()); + fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2)); + fmt = fmt.replace("%d", addZeros(d.getDate(), 2)); + fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2)); + fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2)); + fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2)); + fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1)); + fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM")); + fmt = fmt.replace("%B", "" + ed.getLang("insertdatetime.months_long").split(',')[d.getMonth()]); + fmt = fmt.replace("%b", "" + ed.getLang("insertdatetime.months_short").split(',')[d.getMonth()]); + fmt = fmt.replace("%A", "" + ed.getLang("insertdatetime.day_long").split(',')[d.getDay()]); + fmt = fmt.replace("%a", "" + ed.getLang("insertdatetime.day_short").split(',')[d.getDay()]); + fmt = fmt.replace("%%", "%"); + + return fmt; + } + }); + + // Register plugin + tinymce.PluginManager.add('insertdatetime', tinymce.plugins.InsertDateTime); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/layer/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/layer/editor_plugin.js new file mode 100644 index 00000000..d610f7e9 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/layer/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Layer",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceInsertLayer",c._insertLayer,c);a.addCommand("mceMoveForward",function(){c._move(1)});a.addCommand("mceMoveBackward",function(){c._move(-1)});a.addCommand("mceMakeAbsolute",function(){c._toggleAbsolute()});a.addButton("moveforward",{title:"layer.forward_desc",cmd:"mceMoveForward"});a.addButton("movebackward",{title:"layer.backward_desc",cmd:"mceMoveBackward"});a.addButton("absolute",{title:"layer.absolute_desc",cmd:"mceMakeAbsolute"});a.addButton("insertlayer",{title:"layer.insertlayer_desc",cmd:"mceInsertLayer"});a.onInit.add(function(){if(tinymce.isIE){a.getDoc().execCommand("2D-Position",false,true)}});a.onNodeChange.add(c._nodeChange,c);a.onVisualAid.add(c._visualAid,c)},getInfo:function(){return{longname:"Layer",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/layer",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_nodeChange:function(b,a,e){var c,d;c=this._getParentLayer(e);d=b.dom.getParent(e,"DIV,P,IMG");if(!d){a.setDisabled("absolute",1);a.setDisabled("moveforward",1);a.setDisabled("movebackward",1)}else{a.setDisabled("absolute",0);a.setDisabled("moveforward",!c);a.setDisabled("movebackward",!c);a.setActive("absolute",c&&c.style.position.toLowerCase()=="absolute")}},_visualAid:function(a,c,b){var d=a.dom;tinymce.each(d.select("div,p",c),function(f){if(/^(absolute|relative|static)$/i.test(f.style.position)){if(b){d.addClass(f,"mceItemVisualAid")}else{d.removeClass(f,"mceItemVisualAid")}}})},_move:function(h){var b=this.editor,f,g=[],e=this._getParentLayer(b.selection.getNode()),c=-1,j=-1,a;a=[];tinymce.walk(b.getBody(),function(d){if(d.nodeType==1&&/^(absolute|relative|static)$/i.test(d.style.position)){a.push(d)}},"childNodes");for(f=0;f<a.length;f++){g[f]=a[f].style.zIndex?parseInt(a[f].style.zIndex):0;if(c<0&&a[f]==e){c=f}}if(h<0){for(f=0;f<g.length;f++){if(g[f]<g[c]){j=f;break}}if(j>-1){a[c].style.zIndex=g[j];a[j].style.zIndex=g[c]}else{if(g[c]>0){a[c].style.zIndex=g[c]-1}}}else{for(f=0;f<g.length;f++){if(g[f]>g[c]){j=f;break}}if(j>-1){a[c].style.zIndex=g[j];a[j].style.zIndex=g[c]}else{a[c].style.zIndex=g[c]+1}}b.execCommand("mceRepaint")},_getParentLayer:function(a){return this.editor.dom.getParent(a,function(b){return b.nodeType==1&&/^(absolute|relative|static)$/i.test(b.style.position)})},_insertLayer:function(){var a=this.editor,b=a.dom.getPos(a.dom.getParent(a.selection.getNode(),"*"));a.dom.add(a.getBody(),"div",{style:{position:"absolute",left:b.x,top:(b.y>20?b.y:20),width:100,height:100},"class":"mceItemVisualAid"},a.selection.getContent()||a.getLang("layer.content"))},_toggleAbsolute:function(){var a=this.editor,b=this._getParentLayer(a.selection.getNode());if(!b){b=a.dom.getParent(a.selection.getNode(),"DIV,P,IMG")}if(b){if(b.style.position.toLowerCase()=="absolute"){a.dom.setStyles(b,{position:"",left:"",top:"",width:"",height:""});a.dom.removeClass(b,"mceItemVisualAid")}else{if(b.style.left==""){b.style.left=20+"px"}if(b.style.top==""){b.style.top=20+"px"}if(b.style.width==""){b.style.width=b.width?(b.width+"px"):"100px"}if(b.style.height==""){b.style.height=b.height?(b.height+"px"):"100px"}b.style.position="absolute";a.dom.setAttrib(b,"data-mce-style","");a.addVisual(a.getBody())}a.execCommand("mceRepaint");a.nodeChanged()}}});tinymce.PluginManager.add("layer",tinymce.plugins.Layer)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js new file mode 100644 index 00000000..ddf24c42 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js @@ -0,0 +1,214 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Layer', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceInsertLayer', t._insertLayer, t); + + ed.addCommand('mceMoveForward', function() { + t._move(1); + }); + + ed.addCommand('mceMoveBackward', function() { + t._move(-1); + }); + + ed.addCommand('mceMakeAbsolute', function() { + t._toggleAbsolute(); + }); + + // Register buttons + ed.addButton('moveforward', {title : 'layer.forward_desc', cmd : 'mceMoveForward'}); + ed.addButton('movebackward', {title : 'layer.backward_desc', cmd : 'mceMoveBackward'}); + ed.addButton('absolute', {title : 'layer.absolute_desc', cmd : 'mceMakeAbsolute'}); + ed.addButton('insertlayer', {title : 'layer.insertlayer_desc', cmd : 'mceInsertLayer'}); + + ed.onInit.add(function() { + if (tinymce.isIE) + ed.getDoc().execCommand('2D-Position', false, true); + }); + + ed.onNodeChange.add(t._nodeChange, t); + ed.onVisualAid.add(t._visualAid, t); + }, + + getInfo : function() { + return { + longname : 'Layer', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/layer', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + _nodeChange : function(ed, cm, n) { + var le, p; + + le = this._getParentLayer(n); + p = ed.dom.getParent(n, 'DIV,P,IMG'); + + if (!p) { + cm.setDisabled('absolute', 1); + cm.setDisabled('moveforward', 1); + cm.setDisabled('movebackward', 1); + } else { + cm.setDisabled('absolute', 0); + cm.setDisabled('moveforward', !le); + cm.setDisabled('movebackward', !le); + cm.setActive('absolute', le && le.style.position.toLowerCase() == "absolute"); + } + }, + + // Private methods + + _visualAid : function(ed, e, s) { + var dom = ed.dom; + + tinymce.each(dom.select('div,p', e), function(e) { + if (/^(absolute|relative|static)$/i.test(e.style.position)) { + if (s) + dom.addClass(e, 'mceItemVisualAid'); + else + dom.removeClass(e, 'mceItemVisualAid'); + } + }); + }, + + _move : function(d) { + var ed = this.editor, i, z = [], le = this._getParentLayer(ed.selection.getNode()), ci = -1, fi = -1, nl; + + nl = []; + tinymce.walk(ed.getBody(), function(n) { + if (n.nodeType == 1 && /^(absolute|relative|static)$/i.test(n.style.position)) + nl.push(n); + }, 'childNodes'); + + // Find z-indexes + for (i=0; i<nl.length; i++) { + z[i] = nl[i].style.zIndex ? parseInt(nl[i].style.zIndex) : 0; + + if (ci < 0 && nl[i] == le) + ci = i; + } + + if (d < 0) { + // Move back + + // Try find a lower one + for (i=0; i<z.length; i++) { + if (z[i] < z[ci]) { + fi = i; + break; + } + } + + if (fi > -1) { + nl[ci].style.zIndex = z[fi]; + nl[fi].style.zIndex = z[ci]; + } else { + if (z[ci] > 0) + nl[ci].style.zIndex = z[ci] - 1; + } + } else { + // Move forward + + // Try find a higher one + for (i=0; i<z.length; i++) { + if (z[i] > z[ci]) { + fi = i; + break; + } + } + + if (fi > -1) { + nl[ci].style.zIndex = z[fi]; + nl[fi].style.zIndex = z[ci]; + } else + nl[ci].style.zIndex = z[ci] + 1; + } + + ed.execCommand('mceRepaint'); + }, + + _getParentLayer : function(n) { + return this.editor.dom.getParent(n, function(n) { + return n.nodeType == 1 && /^(absolute|relative|static)$/i.test(n.style.position); + }); + }, + + _insertLayer : function() { + var ed = this.editor, p = ed.dom.getPos(ed.dom.getParent(ed.selection.getNode(), '*')); + + ed.dom.add(ed.getBody(), 'div', { + style : { + position : 'absolute', + left : p.x, + top : (p.y > 20 ? p.y : 20), + width : 100, + height : 100 + }, + 'class' : 'mceItemVisualAid' + }, ed.selection.getContent() || ed.getLang('layer.content')); + }, + + _toggleAbsolute : function() { + var ed = this.editor, le = this._getParentLayer(ed.selection.getNode()); + + if (!le) + le = ed.dom.getParent(ed.selection.getNode(), 'DIV,P,IMG'); + + if (le) { + if (le.style.position.toLowerCase() == "absolute") { + ed.dom.setStyles(le, { + position : '', + left : '', + top : '', + width : '', + height : '' + }); + + ed.dom.removeClass(le, 'mceItemVisualAid'); + } else { + if (le.style.left == "") + le.style.left = 20 + 'px'; + + if (le.style.top == "") + le.style.top = 20 + 'px'; + + if (le.style.width == "") + le.style.width = le.width ? (le.width + 'px') : '100px'; + + if (le.style.height == "") + le.style.height = le.height ? (le.height + 'px') : '100px'; + + le.style.position = "absolute"; + + ed.dom.setAttrib(le, 'data-mce-style', ''); + ed.addVisual(ed.getBody()); + } + + ed.execCommand('mceRepaint'); + ed.nodeChanged(); + } + } + }); + + // Register plugin + tinymce.PluginManager.add('layer', tinymce.plugins.Layer); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js new file mode 100644 index 00000000..b3a4ce31 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js @@ -0,0 +1 @@ +(function(a){a.onAddEditor.addToTop(function(c,b){b.settings.inline_styles=false});a.create("tinymce.plugins.LegacyOutput",{init:function(b){b.onInit.add(function(){var c="p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img",e=a.explode(b.settings.font_size_style_values),d=b.schema;b.formatter.register({alignleft:{selector:c,attributes:{align:"left"}},aligncenter:{selector:c,attributes:{align:"center"}},alignright:{selector:c,attributes:{align:"right"}},alignfull:{selector:c,attributes:{align:"justify"}},bold:[{inline:"b",remove:"all"},{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}}],italic:[{inline:"i",remove:"all"},{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}}],underline:[{inline:"u",remove:"all"},{inline:"span",styles:{textDecoration:"underline"},exact:true}],strikethrough:[{inline:"strike",remove:"all"},{inline:"span",styles:{textDecoration:"line-through"},exact:true}],fontname:{inline:"font",attributes:{face:"%value"}},fontsize:{inline:"font",attributes:{size:function(f){return a.inArray(e,f.value)+1}}},forecolor:{inline:"font",styles:{color:"%value"}},hilitecolor:{inline:"font",styles:{backgroundColor:"%value"}}});a.each("b,i,u,strike".split(","),function(f){d.addValidElements(f+"[*]")});if(!d.getElementRule("font")){d.addValidElements("font[face|size|color|style]")}a.each(c.split(","),function(f){var h=d.getElementRule(f),g;if(h){if(!h.attributes.align){h.attributes.align={};h.attributesOrder.push("align")}}});b.onNodeChange.add(function(g,k){var j,f,h,i;f=g.dom.getParent(g.selection.getNode(),"font");if(f){h=f.face;i=f.size}if(j=k.get("fontselect")){j.select(function(l){return l==h})}if(j=k.get("fontsizeselect")){j.select(function(m){var l=a.inArray(e,m.fontSize);return l+1==i})}})})},getInfo:function(){return{longname:"LegacyOutput",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/legacyoutput",version:a.majorVersion+"."+a.minorVersion}}});a.PluginManager.add("legacyoutput",a.plugins.LegacyOutput)})(tinymce); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js new file mode 100644 index 00000000..835a45c3 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js @@ -0,0 +1,139 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + * + * This plugin will force TinyMCE to produce deprecated legacy output such as font elements, u elements, align + * attributes and so forth. There are a few cases where these old items might be needed for example in email applications or with Flash + * + * However you should NOT use this plugin if you are building some system that produces web contents such as a CMS. All these elements are + * not apart of the newer specifications for HTML and XHTML. + */ + +(function(tinymce) { + // Override inline_styles setting to force TinyMCE to produce deprecated contents + tinymce.onAddEditor.addToTop(function(tinymce, editor) { + editor.settings.inline_styles = false; + }); + + // Create the legacy ouput plugin + tinymce.create('tinymce.plugins.LegacyOutput', { + init : function(editor) { + editor.onInit.add(function() { + var alignElements = 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', + fontSizes = tinymce.explode(editor.settings.font_size_style_values), + schema = editor.schema; + + // Override some internal formats to produce legacy elements and attributes + editor.formatter.register({ + // Change alignment formats to use the deprecated align attribute + alignleft : {selector : alignElements, attributes : {align : 'left'}}, + aligncenter : {selector : alignElements, attributes : {align : 'center'}}, + alignright : {selector : alignElements, attributes : {align : 'right'}}, + alignfull : {selector : alignElements, attributes : {align : 'justify'}}, + + // Change the basic formatting elements to use deprecated element types + bold : [ + {inline : 'b', remove : 'all'}, + {inline : 'strong', remove : 'all'}, + {inline : 'span', styles : {fontWeight : 'bold'}} + ], + italic : [ + {inline : 'i', remove : 'all'}, + {inline : 'em', remove : 'all'}, + {inline : 'span', styles : {fontStyle : 'italic'}} + ], + underline : [ + {inline : 'u', remove : 'all'}, + {inline : 'span', styles : {textDecoration : 'underline'}, exact : true} + ], + strikethrough : [ + {inline : 'strike', remove : 'all'}, + {inline : 'span', styles : {textDecoration: 'line-through'}, exact : true} + ], + + // Change font size and font family to use the deprecated font element + fontname : {inline : 'font', attributes : {face : '%value'}}, + fontsize : { + inline : 'font', + attributes : { + size : function(vars) { + return tinymce.inArray(fontSizes, vars.value) + 1; + } + } + }, + + // Setup font elements for colors as well + forecolor : {inline : 'font', styles : {color : '%value'}}, + hilitecolor : {inline : 'font', styles : {backgroundColor : '%value'}} + }); + + // Check that deprecated elements are allowed if not add them + tinymce.each('b,i,u,strike'.split(','), function(name) { + schema.addValidElements(name + '[*]'); + }); + + // Add font element if it's missing + if (!schema.getElementRule("font")) + schema.addValidElements("font[face|size|color|style]"); + + // Add the missing and depreacted align attribute for the serialization engine + tinymce.each(alignElements.split(','), function(name) { + var rule = schema.getElementRule(name), found; + + if (rule) { + if (!rule.attributes.align) { + rule.attributes.align = {}; + rule.attributesOrder.push('align'); + } + } + }); + + // Listen for the onNodeChange event so that we can do special logic for the font size and font name drop boxes + editor.onNodeChange.add(function(editor, control_manager) { + var control, fontElm, fontName, fontSize; + + // Find font element get it's name and size + fontElm = editor.dom.getParent(editor.selection.getNode(), 'font'); + if (fontElm) { + fontName = fontElm.face; + fontSize = fontElm.size; + } + + // Select/unselect the font name in droplist + if (control = control_manager.get('fontselect')) { + control.select(function(value) { + return value == fontName; + }); + } + + // Select/unselect the font size in droplist + if (control = control_manager.get('fontsizeselect')) { + control.select(function(value) { + var index = tinymce.inArray(fontSizes, value.fontSize); + + return index + 1 == fontSize; + }); + } + }); + }); + }, + + getInfo : function() { + return { + longname : 'LegacyOutput', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/legacyoutput', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('legacyoutput', tinymce.plugins.LegacyOutput); +})(tinymce); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/lists/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/lists/editor_plugin.js new file mode 100644 index 00000000..7a17d6d8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/lists/editor_plugin.js @@ -0,0 +1 @@ +(function(){var e=tinymce.each,r=tinymce.dom.Event,g;function p(t,s){while(t&&(t.nodeType===8||(t.nodeType===3&&/^[ \t\n\r]*$/.test(t.nodeValue)))){t=s(t)}return t}function b(s){return p(s,function(t){return t.previousSibling})}function i(s){return p(s,function(t){return t.nextSibling})}function d(s,u,t){return s.dom.getParent(u,function(v){return tinymce.inArray(t,v)!==-1})}function n(s){return s&&(s.tagName==="OL"||s.tagName==="UL")}function c(u,v){var t,w,s;t=b(u.lastChild);while(n(t)){w=t;t=b(w.previousSibling)}if(w){s=v.create("li",{style:"list-style-type: none;"});v.split(u,w);v.insertAfter(s,w);s.appendChild(w);s.appendChild(w);u=s.previousSibling}return u}function m(t,s,u){t=a(t,s,u);return o(t,s,u)}function a(u,s,v){var t=b(u.previousSibling);if(t){return h(t,u,s?t:false,v)}else{return u}}function o(u,t,v){var s=i(u.nextSibling);if(s){return h(u,s,t?s:false,v)}else{return u}}function h(u,s,t,v){if(l(u,s,!!t,v)){return f(u,s,t)}else{if(u&&u.tagName==="LI"&&n(s)){u.appendChild(s)}}return s}function l(u,t,s,v){if(!u||!t){return false}else{if(u.tagName==="LI"&&t.tagName==="LI"){return t.style.listStyleType==="none"||j(t)}else{if(n(u)){return(u.tagName===t.tagName&&(s||u.style.listStyleType===t.style.listStyleType))||q(t)}else{if(v&&u.tagName==="P"&&t.tagName==="P"){return true}else{return false}}}}}function q(t){var s=i(t.firstChild),u=b(t.lastChild);return s&&u&&n(t)&&s===u&&(n(s)||s.style.listStyleType==="none"||j(s))}function j(u){var t=i(u.firstChild),s=b(u.lastChild);return t&&s&&t===s&&n(t)}function f(w,v,s){var u=b(w.lastChild),t=i(v.firstChild);if(w.tagName==="P"){w.appendChild(w.ownerDocument.createElement("br"))}while(v.firstChild){w.appendChild(v.firstChild)}if(s){w.style.listStyleType=s.style.listStyleType}v.parentNode.removeChild(v);h(u,t,false);return w}function k(t,u){var s;if(!u.is(t,"li,ol,ul")){s=u.getParent(t,"li");if(s){t=s}}return t}tinymce.create("tinymce.plugins.Lists",{init:function(A,y){var w=0;var t=1;var H=2;var J=3;var z=J;function C(M){return M.keyCode===9&&(A.queryCommandState("InsertUnorderedList")||A.queryCommandState("InsertOrderedList"))}function x(){var M=B();var O=M.parentNode.parentNode;var N=M.parentNode.lastChild===M;return N&&!u(O)&&K(M)}function u(M){if(n(M)){return M.parentNode&&M.parentNode.tagName==="LI"}else{return M.tagName==="LI"}}function D(){return A.selection.isCollapsed()&&K(B())}function B(){var M=A.selection.getStart();return((M.tagName=="BR"||M.tagName=="")&&M.parentNode.tagName=="LI")?M.parentNode:M}function K(M){var N=M.childNodes.length;if(M.tagName==="LI"){return N==0?true:N==1&&(M.firstChild.tagName==""||F(M)||G(M))}return false}function F(M){return tinymce.isWebKit&&M.firstChild.nodeName=="BR"}function G(M){var N=tinymce.grep(M.parentNode.childNodes,function(Q){return Q.nodeName=="LI"});var O=M==N[N.length-1];var P=M.firstChild;return tinymce.isIE9&&O&&(P.nodeValue==String.fromCharCode(160)||P.nodeValue==String.fromCharCode(32))}function L(M){return M.keyCode===13}function I(M){if(C(M)){return w}else{if(L(M)&&x()){return H}else{if(L(M)&&D()){return t}else{return J}}}}function s(M,N){if(z==w||z==t){return r.cancel(N)}}function v(P,R){var U;if(!tinymce.isGecko){return}var N=P.selection.getStart();if(R.keyCode!=8||N.tagName!=="IMG"){return}function O(Y){var Z=Y.firstChild;var X=null;do{if(!Z){break}if(Z.tagName==="LI"){X=Z}}while(Z=Z.nextSibling);return X}function W(Y,X){while(Y.childNodes.length>0){X.appendChild(Y.childNodes[0])}}U=N.parentNode.previousSibling;if(!U){return}var S;if(U.tagName==="UL"||U.tagName==="OL"){S=U}else{if(U.previousSibling&&(U.previousSibling.tagName==="UL"||U.previousSibling.tagName==="OL")){S=U.previousSibling}else{return}}var V=O(S);var M=P.dom.createRng();M.setStart(V,1);M.setEnd(V,1);P.selection.setRng(M);P.selection.collapse(true);var Q=P.selection.getBookmark();var T=N.parentNode.cloneNode(true);if(T.tagName==="P"||T.tagName==="DIV"){W(T,V)}else{V.appendChild(T)}N.parentNode.parentNode.removeChild(N.parentNode);P.selection.moveToBookmark(Q)}function E(M){var N=A.dom.getParent(M,"ol,ul");if(N!=null){var O=N.lastChild;O.appendChild(A.getDoc().createElement(""));A.selection.setCursorLocation(O,0)}}this.ed=A;A.addCommand("Indent",this.indent,this);A.addCommand("Outdent",this.outdent,this);A.addCommand("InsertUnorderedList",function(){this.applyList("UL","OL")},this);A.addCommand("InsertOrderedList",function(){this.applyList("OL","UL")},this);A.onInit.add(function(){A.editorCommands.addCommands({outdent:function(){var N=A.selection,O=A.dom;function M(P){P=O.getParent(P,O.isBlock);return P&&(parseInt(A.dom.getStyle(P,"margin-left")||0,10)+parseInt(A.dom.getStyle(P,"padding-left")||0,10))>0}return M(N.getStart())||M(N.getEnd())||A.queryCommandState("InsertOrderedList")||A.queryCommandState("InsertUnorderedList")}},"state")});A.onKeyUp.add(function(N,O){if(z==w){N.execCommand(O.shiftKey?"Outdent":"Indent",true,null);return r.cancel(O)}else{if(z==t){var M=B();var Q=N.settings.list_outdent_on_enter===true||O.shiftKey;N.execCommand(Q?"Outdent":"Indent",true,null);if(tinymce.isIE){E(M)}return r.cancel(O)}else{if(z==H){if(tinymce.isIE8){var P=N.getDoc().createTextNode("\uFEFF");N.selection.getNode().appendChild(P)}else{if(tinymce.isIE9){N.execCommand("Outdent");return r.cancel(O)}}}}}});A.onKeyDown.add(function(M,N){z=I(N)});A.onKeyDown.add(s);A.onKeyDown.add(v);A.onKeyPress.add(s)},applyList:function(y,v){var C=this,z=C.ed,I=z.dom,s=[],H=false,u=false,w=false,B,G=z.selection.getSelectedBlocks();function E(t){if(t&&t.tagName==="BR"){I.remove(t)}}function F(M){var N=I.create(y),t;function L(O){if(O.style.marginLeft||O.style.paddingLeft){C.adjustPaddingFunction(false)(O)}}if(M.tagName==="LI"){}else{if(M.tagName==="P"||M.tagName==="DIV"||M.tagName==="BODY"){K(M,function(P,O,Q){J(P,O,M.tagName==="BODY"?null:P.parentNode);t=P.parentNode;L(t);E(O)});if(M.tagName==="P"||G.length>1){I.split(t.parentNode.parentNode,t.parentNode)}m(t.parentNode,true);return}else{t=I.create("li");I.insertAfter(t,M);t.appendChild(M);L(M);M=t}}I.insertAfter(N,M);N.appendChild(M);m(N,true);s.push(M)}function J(Q,L,O){var t,P=Q,N,M;while(!I.isBlock(Q.parentNode)&&Q.parentNode!==I.getRoot()){Q=I.split(Q.parentNode,Q.previousSibling);Q=Q.nextSibling;P=Q}if(O){t=O.cloneNode(true);Q.parentNode.insertBefore(t,Q);while(t.firstChild){I.remove(t.firstChild)}t=I.rename(t,"li")}else{t=I.create("li");Q.parentNode.insertBefore(t,Q)}while(P&&P!=L){N=P.nextSibling;t.appendChild(P);P=N}if(t.childNodes.length===0){t.innerHTML='<br _mce_bogus="1" />'}F(t)}function K(Q,T){var N,R,O=3,L=1,t="br,ul,ol,p,div,h1,h2,h3,h4,h5,h6,table,blockquote,address,pre,form,center,dl";function P(X,U){var V=I.createRng(),W;g.keep=true;z.selection.moveToBookmark(g);g.keep=false;W=z.selection.getRng(true);if(!U){U=X.parentNode.lastChild}V.setStartBefore(X);V.setEndAfter(U);return !(V.compareBoundaryPoints(O,W)>0||V.compareBoundaryPoints(L,W)<=0)}function S(U){if(U.nextSibling){return U.nextSibling}if(!I.isBlock(U.parentNode)&&U.parentNode!==I.getRoot()){return S(U.parentNode)}}N=Q.firstChild;var M=false;e(I.select(t,Q),function(V){var U;if(V.hasAttribute&&V.hasAttribute("_mce_bogus")){return true}if(P(N,V)){I.addClass(V,"_mce_tagged_br");N=S(V)}});M=(N&&P(N,undefined));N=Q.firstChild;e(I.select(t,Q),function(V){var U=S(V);if(V.hasAttribute&&V.hasAttribute("_mce_bogus")){return true}if(I.hasClass(V,"_mce_tagged_br")){T(N,V,R);R=null}else{R=V}N=U});if(M){T(N,undefined,R)}}function D(t){K(t,function(M,L,N){J(M,L);E(L);E(N)})}function A(t){if(tinymce.inArray(s,t)!==-1){return}if(t.parentNode.tagName===v){I.split(t.parentNode,t);F(t);o(t.parentNode,false)}s.push(t)}function x(M){var O,N,L,t;if(tinymce.inArray(s,M)!==-1){return}M=c(M,I);while(I.is(M.parentNode,"ol,ul,li")){I.split(M.parentNode,M)}s.push(M);M=I.rename(M,"p");L=m(M,false,z.settings.force_br_newlines);if(L===M){O=M.firstChild;while(O){if(I.isBlock(O)){O=I.split(O.parentNode,O);t=true;N=O.nextSibling&&O.nextSibling.firstChild}else{N=O.nextSibling;if(t&&O.tagName==="BR"){I.remove(O)}t=false}O=N}}}e(G,function(t){t=k(t,I);if(t.tagName===v||(t.tagName==="LI"&&t.parentNode.tagName===v)){u=true}else{if(t.tagName===y||(t.tagName==="LI"&&t.parentNode.tagName===y)){H=true}else{w=true}}});if(w||u||G.length===0){B={LI:A,H1:F,H2:F,H3:F,H4:F,H5:F,H6:F,P:F,BODY:F,DIV:G.length>1?F:D,defaultAction:D}}else{B={defaultAction:x}}this.process(B)},indent:function(){var u=this.ed,w=u.dom,x=[];function s(z){var y=w.create("li",{style:"list-style-type: none;"});w.insertAfter(y,z);return y}function t(B){var y=s(B),D=w.getParent(B,"ol,ul"),C=D.tagName,E=w.getStyle(D,"list-style-type"),A={},z;if(E!==""){A.style="list-style-type: "+E+";"}z=w.create(C,A);y.appendChild(z);return z}function v(z){if(!d(u,z,x)){z=c(z,w);var y=t(z);y.appendChild(z);m(y.parentNode,false);m(y,false);x.push(z)}}this.process({LI:v,defaultAction:this.adjustPaddingFunction(true)})},outdent:function(){var v=this,u=v.ed,w=u.dom,s=[];function x(t){var z,y,A;if(!d(u,t,s)){if(w.getStyle(t,"margin-left")!==""||w.getStyle(t,"padding-left")!==""){return v.adjustPaddingFunction(false)(t)}A=w.getStyle(t,"text-align",true);if(A==="center"||A==="right"){w.setStyle(t,"text-align","left");return}t=c(t,w);z=t.parentNode;y=t.parentNode.parentNode;if(y.tagName==="P"){w.split(y,t.parentNode)}else{w.split(z,t);if(y.tagName==="LI"){w.split(y,t)}else{if(!w.is(y,"ol,ul")){w.rename(t,"p")}}}s.push(t)}}this.process({LI:x,defaultAction:this.adjustPaddingFunction(false)});e(s,m)},process:function(x){var B=this,v=B.ed.selection,y=B.ed.dom,A,s;function w(t){y.removeClass(t,"_mce_act_on");if(!t||t.nodeType!==1){return}t=k(t,y);var C=x[t.tagName];if(!C){C=x.defaultAction}C(t)}function u(t){B.splitSafeEach(t.childNodes,w)}function z(t,C){return C>=0&&t.hasChildNodes()&&C<t.childNodes.length&&t.childNodes[C].tagName==="BR"}A=v.getSelectedBlocks();if(A.length===0){A=[y.getRoot()]}s=v.getRng(true);if(!s.collapsed){if(z(s.endContainer,s.endOffset-1)){s.setEnd(s.endContainer,s.endOffset-1);v.setRng(s)}if(z(s.startContainer,s.startOffset)){s.setStart(s.startContainer,s.startOffset+1);v.setRng(s)}}g=v.getBookmark();x.OL=x.UL=u;B.splitSafeEach(A,w);v.moveToBookmark(g);g=null;B.ed.execCommand("mceRepaint")},splitSafeEach:function(t,s){if(tinymce.isGecko&&(/Firefox\/[12]\.[0-9]/.test(navigator.userAgent)||/Firefox\/3\.[0-4]/.test(navigator.userAgent))){this.classBasedEach(t,s)}else{e(t,s)}},classBasedEach:function(v,u){var w=this.ed.dom,s,t;e(v,function(x){w.addClass(x,"_mce_act_on")});s=w.select("._mce_act_on");while(s.length>0){t=s.shift();w.removeClass(t,"_mce_act_on");u(t);s=w.select("._mce_act_on")}},adjustPaddingFunction:function(u){var s,v,t=this.ed;s=t.settings.indentation;v=/[a-z%]+/i.exec(s);s=parseInt(s,10);return function(w){var y,x;y=parseInt(t.dom.getStyle(w,"margin-left")||0,10)+parseInt(t.dom.getStyle(w,"padding-left")||0,10);if(u){x=y+s}else{x=y-s}t.dom.setStyle(w,"padding-left","");t.dom.setStyle(w,"margin-left",x>0?x+v:"")}},getInfo:function(){return{longname:"Lists",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/lists",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("lists",tinymce.plugins.Lists)}()); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/lists/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/lists/editor_plugin_src.js new file mode 100644 index 00000000..272aa416 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/lists/editor_plugin_src.js @@ -0,0 +1,769 @@ +/** + * editor_plugin_src.js + * + * Copyright 2011, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var each = tinymce.each, Event = tinymce.dom.Event, bookmark; + + // Skips text nodes that only contain whitespace since they aren't semantically important. + function skipWhitespaceNodes(e, next) { + while (e && (e.nodeType === 8 || (e.nodeType === 3 && /^[ \t\n\r]*$/.test(e.nodeValue)))) { + e = next(e); + } + return e; + } + + function skipWhitespaceNodesBackwards(e) { + return skipWhitespaceNodes(e, function(e) { + return e.previousSibling; + }); + } + + function skipWhitespaceNodesForwards(e) { + return skipWhitespaceNodes(e, function(e) { + return e.nextSibling; + }); + } + + function hasParentInList(ed, e, list) { + return ed.dom.getParent(e, function(p) { + return tinymce.inArray(list, p) !== -1; + }); + } + + function isList(e) { + return e && (e.tagName === 'OL' || e.tagName === 'UL'); + } + + function splitNestedLists(element, dom) { + var tmp, nested, wrapItem; + tmp = skipWhitespaceNodesBackwards(element.lastChild); + while (isList(tmp)) { + nested = tmp; + tmp = skipWhitespaceNodesBackwards(nested.previousSibling); + } + if (nested) { + wrapItem = dom.create('li', { style: 'list-style-type: none;'}); + dom.split(element, nested); + dom.insertAfter(wrapItem, nested); + wrapItem.appendChild(nested); + wrapItem.appendChild(nested); + element = wrapItem.previousSibling; + } + return element; + } + + function attemptMergeWithAdjacent(e, allowDifferentListStyles, mergeParagraphs) { + e = attemptMergeWithPrevious(e, allowDifferentListStyles, mergeParagraphs); + return attemptMergeWithNext(e, allowDifferentListStyles, mergeParagraphs); + } + + function attemptMergeWithPrevious(e, allowDifferentListStyles, mergeParagraphs) { + var prev = skipWhitespaceNodesBackwards(e.previousSibling); + if (prev) { + return attemptMerge(prev, e, allowDifferentListStyles ? prev : false, mergeParagraphs); + } else { + return e; + } + } + + function attemptMergeWithNext(e, allowDifferentListStyles, mergeParagraphs) { + var next = skipWhitespaceNodesForwards(e.nextSibling); + if (next) { + return attemptMerge(e, next, allowDifferentListStyles ? next : false, mergeParagraphs); + } else { + return e; + } + } + + function attemptMerge(e1, e2, differentStylesMasterElement, mergeParagraphs) { + if (canMerge(e1, e2, !!differentStylesMasterElement, mergeParagraphs)) { + return merge(e1, e2, differentStylesMasterElement); + } else if (e1 && e1.tagName === 'LI' && isList(e2)) { + // Fix invalidly nested lists. + e1.appendChild(e2); + } + return e2; + } + + function canMerge(e1, e2, allowDifferentListStyles, mergeParagraphs) { + if (!e1 || !e2) { + return false; + } else if (e1.tagName === 'LI' && e2.tagName === 'LI') { + return e2.style.listStyleType === 'none' || containsOnlyAList(e2); + } else if (isList(e1)) { + return (e1.tagName === e2.tagName && (allowDifferentListStyles || e1.style.listStyleType === e2.style.listStyleType)) || isListForIndent(e2); + } else if (mergeParagraphs && e1.tagName === 'P' && e2.tagName === 'P') { + return true; + } else { + return false; + } + } + + function isListForIndent(e) { + var firstLI = skipWhitespaceNodesForwards(e.firstChild), lastLI = skipWhitespaceNodesBackwards(e.lastChild); + return firstLI && lastLI && isList(e) && firstLI === lastLI && (isList(firstLI) || firstLI.style.listStyleType === 'none' || containsOnlyAList(firstLI)); + } + + function containsOnlyAList(e) { + var firstChild = skipWhitespaceNodesForwards(e.firstChild), lastChild = skipWhitespaceNodesBackwards(e.lastChild); + return firstChild && lastChild && firstChild === lastChild && isList(firstChild); + } + + function merge(e1, e2, masterElement) { + var lastOriginal = skipWhitespaceNodesBackwards(e1.lastChild), firstNew = skipWhitespaceNodesForwards(e2.firstChild); + if (e1.tagName === 'P') { + e1.appendChild(e1.ownerDocument.createElement('br')); + } + while (e2.firstChild) { + e1.appendChild(e2.firstChild); + } + if (masterElement) { + e1.style.listStyleType = masterElement.style.listStyleType; + } + e2.parentNode.removeChild(e2); + attemptMerge(lastOriginal, firstNew, false); + return e1; + } + + function findItemToOperateOn(e, dom) { + var item; + if (!dom.is(e, 'li,ol,ul')) { + item = dom.getParent(e, 'li'); + if (item) { + e = item; + } + } + return e; + } + + tinymce.create('tinymce.plugins.Lists', { + init: function(ed, url) { + var LIST_TABBING = 0; + var LIST_EMPTY_ITEM = 1; + var LIST_ESCAPE = 2; + var LIST_UNKNOWN = 3; + var state = LIST_UNKNOWN; + + function isTabInList(e) { + return e.keyCode === 9 && (ed.queryCommandState('InsertUnorderedList') || ed.queryCommandState('InsertOrderedList')); + } + + function isOnLastListItem() { + var li = getLi(); + var grandParent = li.parentNode.parentNode; + var isLastItem = li.parentNode.lastChild === li; + return isLastItem && !isNestedList(grandParent) && isEmptyListItem(li); + } + + function isNestedList(grandParent) { + if (isList(grandParent)) { + return grandParent.parentNode && grandParent.parentNode.tagName === 'LI'; + } else { + return grandParent.tagName === 'LI'; + } + } + + function isInEmptyListItem() { + return ed.selection.isCollapsed() && isEmptyListItem(getLi()); + } + + function getLi() { + var n = ed.selection.getStart(); + // Get start will return BR if the LI only contains a BR or an empty element as we use these to fix caret position + return ((n.tagName == 'BR' || n.tagName == '') && n.parentNode.tagName == 'LI') ? n.parentNode : n; + } + + function isEmptyListItem(li) { + var numChildren = li.childNodes.length; + if (li.tagName === 'LI') { + return numChildren == 0 ? true : numChildren == 1 && (li.firstChild.tagName == '' || isEmptyWebKitLi(li) || isEmptyIE9Li(li)); + } + return false; + } + + function isEmptyWebKitLi(li) { + // Check for empty LI or a LI with just a child that is a BR since Gecko and WebKit uses BR elements to place the caret + return tinymce.isWebKit && li.firstChild.nodeName == 'BR'; + } + + function isEmptyIE9Li(li) { + // only consider this to be last item if there is no list item content or that content is nbsp or space since IE9 creates these + var lis = tinymce.grep(li.parentNode.childNodes, function(n) {return n.nodeName == 'LI'}); + var isLastLi = li == lis[lis.length - 1]; + var child = li.firstChild; + return tinymce.isIE9 && isLastLi && (child.nodeValue == String.fromCharCode(160) || child.nodeValue == String.fromCharCode(32)); + } + + function isEnter(e) { + return e.keyCode === 13; + } + + function getListKeyState(e) { + if (isTabInList(e)) { + return LIST_TABBING; + } else if (isEnter(e) && isOnLastListItem()) { + return LIST_ESCAPE; + } else if (isEnter(e) && isInEmptyListItem()) { + return LIST_EMPTY_ITEM; + } else { + return LIST_UNKNOWN; + } + } + + function cancelEnterAndTab(_, e) { + if (state == LIST_TABBING || state == LIST_EMPTY_ITEM) { + return Event.cancel(e); + } + } + + function imageJoiningListItem(ed, e) { + var prevSibling; + + if (!tinymce.isGecko) + return; + + var n = ed.selection.getStart(); + if (e.keyCode != 8 || n.tagName !== 'IMG') + return; + + function lastLI(node) { + var child = node.firstChild; + var li = null; + do { + if (!child) + break; + + if (child.tagName === 'LI') + li = child; + } while (child = child.nextSibling); + + return li; + } + + function addChildren(parentNode, destination) { + while (parentNode.childNodes.length > 0) + destination.appendChild(parentNode.childNodes[0]); + } + + // Check if there is a previous sibling + prevSibling = n.parentNode.previousSibling; + if (!prevSibling) + return; + + var ul; + if (prevSibling.tagName === 'UL' || prevSibling.tagName === 'OL') + ul = prevSibling; + else if (prevSibling.previousSibling && (prevSibling.previousSibling.tagName === 'UL' || prevSibling.previousSibling.tagName === 'OL')) + ul = prevSibling.previousSibling; + else + return; + + var li = lastLI(ul); + + // move the caret to the end of the list item + var rng = ed.dom.createRng(); + rng.setStart(li, 1); + rng.setEnd(li, 1); + ed.selection.setRng(rng); + ed.selection.collapse(true); + + // save a bookmark at the end of the list item + var bookmark = ed.selection.getBookmark(); + + // copy the image an its text to the list item + var clone = n.parentNode.cloneNode(true); + if (clone.tagName === 'P' || clone.tagName === 'DIV') + addChildren(clone, li); + else + li.appendChild(clone); + + // remove the old copy of the image + n.parentNode.parentNode.removeChild(n.parentNode); + + // move the caret where we saved the bookmark + ed.selection.moveToBookmark(bookmark); + } + + // fix the cursor position to ensure it is correct in IE + function setCursorPositionToOriginalLi(li) { + var list = ed.dom.getParent(li, 'ol,ul'); + if (list != null) { + var lastLi = list.lastChild; + lastLi.appendChild(ed.getDoc().createElement('')); + ed.selection.setCursorLocation(lastLi, 0); + } + } + + this.ed = ed; + ed.addCommand('Indent', this.indent, this); + ed.addCommand('Outdent', this.outdent, this); + ed.addCommand('InsertUnorderedList', function() { + this.applyList('UL', 'OL'); + }, this); + ed.addCommand('InsertOrderedList', function() { + this.applyList('OL', 'UL'); + }, this); + + ed.onInit.add(function() { + ed.editorCommands.addCommands({ + 'outdent': function() { + var sel = ed.selection, dom = ed.dom; + + function hasStyleIndent(n) { + n = dom.getParent(n, dom.isBlock); + return n && (parseInt(ed.dom.getStyle(n, 'margin-left') || 0, 10) + parseInt(ed.dom.getStyle(n, 'padding-left') || 0, 10)) > 0; + } + + return hasStyleIndent(sel.getStart()) || hasStyleIndent(sel.getEnd()) || ed.queryCommandState('InsertOrderedList') || ed.queryCommandState('InsertUnorderedList'); + } + }, 'state'); + }); + + ed.onKeyUp.add(function(ed, e) { + if (state == LIST_TABBING) { + ed.execCommand(e.shiftKey ? 'Outdent' : 'Indent', true, null); + return Event.cancel(e); + } else if (state == LIST_EMPTY_ITEM) { + var li = getLi(); + var shouldOutdent = ed.settings.list_outdent_on_enter === true || e.shiftKey; + ed.execCommand(shouldOutdent ? 'Outdent' : 'Indent', true, null); + if (tinymce.isIE) { + setCursorPositionToOriginalLi(li); + } + return Event.cancel(e); + } else if (state == LIST_ESCAPE) { + if (tinymce.isIE8) { + // append a zero sized nbsp so that caret is positioned correctly in IE8 after escaping and applying formatting. + // if there is no text then applying formatting for e.g a H1 to the P tag immediately following list after + // escaping from it will cause the caret to be positioned on the last li instead of staying the in P tag. + var n = ed.getDoc().createTextNode('\uFEFF'); + ed.selection.getNode().appendChild(n); + } else if (tinymce.isIE9) { + // IE9 does not escape the list so we use outdent to do this and cancel the default behaviour + ed.execCommand('Outdent'); + return Event.cancel(e); + } + } + }); + ed.onKeyDown.add(function(_, e) { state = getListKeyState(e); }); + ed.onKeyDown.add(cancelEnterAndTab); + ed.onKeyDown.add(imageJoiningListItem); + ed.onKeyPress.add(cancelEnterAndTab); + }, + + applyList: function(targetListType, oppositeListType) { + var t = this, ed = t.ed, dom = ed.dom, applied = [], hasSameType = false, hasOppositeType = false, hasNonList = false, actions, + selectedBlocks = ed.selection.getSelectedBlocks(); + + function cleanupBr(e) { + if (e && e.tagName === 'BR') { + dom.remove(e); + } + } + + function makeList(element) { + var list = dom.create(targetListType), li; + + function adjustIndentForNewList(element) { + // If there's a margin-left, outdent one level to account for the extra list margin. + if (element.style.marginLeft || element.style.paddingLeft) { + t.adjustPaddingFunction(false)(element); + } + } + + if (element.tagName === 'LI') { + // No change required. + } else if (element.tagName === 'P' || element.tagName === 'DIV' || element.tagName === 'BODY') { + processBrs(element, function(startSection, br, previousBR) { + doWrapList(startSection, br, element.tagName === 'BODY' ? null : startSection.parentNode); + li = startSection.parentNode; + adjustIndentForNewList(li); + cleanupBr(br); + }); + if (element.tagName === 'P' || selectedBlocks.length > 1) { + dom.split(li.parentNode.parentNode, li.parentNode); + } + attemptMergeWithAdjacent(li.parentNode, true); + return; + } else { + // Put the list around the element. + li = dom.create('li'); + dom.insertAfter(li, element); + li.appendChild(element); + adjustIndentForNewList(element); + element = li; + } + dom.insertAfter(list, element); + list.appendChild(element); + attemptMergeWithAdjacent(list, true); + applied.push(element); + } + + function doWrapList(start, end, template) { + var li, n = start, tmp, i; + while (!dom.isBlock(start.parentNode) && start.parentNode !== dom.getRoot()) { + start = dom.split(start.parentNode, start.previousSibling); + start = start.nextSibling; + n = start; + } + if (template) { + li = template.cloneNode(true); + start.parentNode.insertBefore(li, start); + while (li.firstChild) dom.remove(li.firstChild); + li = dom.rename(li, 'li'); + } else { + li = dom.create('li'); + start.parentNode.insertBefore(li, start); + } + while (n && n != end) { + tmp = n.nextSibling; + li.appendChild(n); + n = tmp; + } + if (li.childNodes.length === 0) { + li.innerHTML = '<br _mce_bogus="1" />'; + } + makeList(li); + } + + function processBrs(element, callback) { + var startSection, previousBR, END_TO_START = 3, START_TO_END = 1, + breakElements = 'br,ul,ol,p,div,h1,h2,h3,h4,h5,h6,table,blockquote,address,pre,form,center,dl'; + + function isAnyPartSelected(start, end) { + var r = dom.createRng(), sel; + bookmark.keep = true; + ed.selection.moveToBookmark(bookmark); + bookmark.keep = false; + sel = ed.selection.getRng(true); + if (!end) { + end = start.parentNode.lastChild; + } + r.setStartBefore(start); + r.setEndAfter(end); + return !(r.compareBoundaryPoints(END_TO_START, sel) > 0 || r.compareBoundaryPoints(START_TO_END, sel) <= 0); + } + + function nextLeaf(br) { + if (br.nextSibling) + return br.nextSibling; + if (!dom.isBlock(br.parentNode) && br.parentNode !== dom.getRoot()) + return nextLeaf(br.parentNode); + } + + // Split on BRs within the range and process those. + startSection = element.firstChild; + // First mark the BRs that have any part of the previous section selected. + var trailingContentSelected = false; + each(dom.select(breakElements, element), function(br) { + var b; + if (br.hasAttribute && br.hasAttribute('_mce_bogus')) { + return true; // Skip the bogus Brs that are put in to appease Firefox and Safari. + } + if (isAnyPartSelected(startSection, br)) { + dom.addClass(br, '_mce_tagged_br'); + startSection = nextLeaf(br); + } + }); + trailingContentSelected = (startSection && isAnyPartSelected(startSection, undefined)); + startSection = element.firstChild; + each(dom.select(breakElements, element), function(br) { + // Got a section from start to br. + var tmp = nextLeaf(br); + if (br.hasAttribute && br.hasAttribute('_mce_bogus')) { + return true; // Skip the bogus Brs that are put in to appease Firefox and Safari. + } + if (dom.hasClass(br, '_mce_tagged_br')) { + callback(startSection, br, previousBR); + previousBR = null; + } else { + previousBR = br; + } + startSection = tmp; + }); + if (trailingContentSelected) { + callback(startSection, undefined, previousBR); + } + } + + function wrapList(element) { + processBrs(element, function(startSection, br, previousBR) { + // Need to indent this part + doWrapList(startSection, br); + cleanupBr(br); + cleanupBr(previousBR); + }); + } + + function changeList(element) { + if (tinymce.inArray(applied, element) !== -1) { + return; + } + if (element.parentNode.tagName === oppositeListType) { + dom.split(element.parentNode, element); + makeList(element); + attemptMergeWithNext(element.parentNode, false); + } + applied.push(element); + } + + function convertListItemToParagraph(element) { + var child, nextChild, mergedElement, splitLast; + if (tinymce.inArray(applied, element) !== -1) { + return; + } + element = splitNestedLists(element, dom); + while (dom.is(element.parentNode, 'ol,ul,li')) { + dom.split(element.parentNode, element); + } + // Push the original element we have from the selection, not the renamed one. + applied.push(element); + element = dom.rename(element, 'p'); + mergedElement = attemptMergeWithAdjacent(element, false, ed.settings.force_br_newlines); + if (mergedElement === element) { + // Now split out any block elements that can't be contained within a P. + // Manually iterate to ensure we handle modifications correctly (doesn't work with tinymce.each) + child = element.firstChild; + while (child) { + if (dom.isBlock(child)) { + child = dom.split(child.parentNode, child); + splitLast = true; + nextChild = child.nextSibling && child.nextSibling.firstChild; + } else { + nextChild = child.nextSibling; + if (splitLast && child.tagName === 'BR') { + dom.remove(child); + } + splitLast = false; + } + child = nextChild; + } + } + } + + each(selectedBlocks, function(e) { + e = findItemToOperateOn(e, dom); + if (e.tagName === oppositeListType || (e.tagName === 'LI' && e.parentNode.tagName === oppositeListType)) { + hasOppositeType = true; + } else if (e.tagName === targetListType || (e.tagName === 'LI' && e.parentNode.tagName === targetListType)) { + hasSameType = true; + } else { + hasNonList = true; + } + }); + + if (hasNonList || hasOppositeType || selectedBlocks.length === 0) { + actions = { + 'LI': changeList, + 'H1': makeList, + 'H2': makeList, + 'H3': makeList, + 'H4': makeList, + 'H5': makeList, + 'H6': makeList, + 'P': makeList, + 'BODY': makeList, + 'DIV': selectedBlocks.length > 1 ? makeList : wrapList, + defaultAction: wrapList + }; + } else { + actions = { + defaultAction: convertListItemToParagraph + }; + } + this.process(actions); + }, + + indent: function() { + var ed = this.ed, dom = ed.dom, indented = []; + + function createWrapItem(element) { + var wrapItem = dom.create('li', { style: 'list-style-type: none;'}); + dom.insertAfter(wrapItem, element); + return wrapItem; + } + + function createWrapList(element) { + var wrapItem = createWrapItem(element), + list = dom.getParent(element, 'ol,ul'), + listType = list.tagName, + listStyle = dom.getStyle(list, 'list-style-type'), + attrs = {}, + wrapList; + if (listStyle !== '') { + attrs.style = 'list-style-type: ' + listStyle + ';'; + } + wrapList = dom.create(listType, attrs); + wrapItem.appendChild(wrapList); + return wrapList; + } + + function indentLI(element) { + if (!hasParentInList(ed, element, indented)) { + element = splitNestedLists(element, dom); + var wrapList = createWrapList(element); + wrapList.appendChild(element); + attemptMergeWithAdjacent(wrapList.parentNode, false); + attemptMergeWithAdjacent(wrapList, false); + indented.push(element); + } + } + + this.process({ + 'LI': indentLI, + defaultAction: this.adjustPaddingFunction(true) + }); + + }, + + outdent: function() { + var t = this, ed = t.ed, dom = ed.dom, outdented = []; + + function outdentLI(element) { + var listElement, targetParent, align; + if (!hasParentInList(ed, element, outdented)) { + if (dom.getStyle(element, 'margin-left') !== '' || dom.getStyle(element, 'padding-left') !== '') { + return t.adjustPaddingFunction(false)(element); + } + align = dom.getStyle(element, 'text-align', true); + if (align === 'center' || align === 'right') { + dom.setStyle(element, 'text-align', 'left'); + return; + } + element = splitNestedLists(element, dom); + listElement = element.parentNode; + targetParent = element.parentNode.parentNode; + if (targetParent.tagName === 'P') { + dom.split(targetParent, element.parentNode); + } else { + dom.split(listElement, element); + if (targetParent.tagName === 'LI') { + // Nested list, need to split the LI and go back out to the OL/UL element. + dom.split(targetParent, element); + } else if (!dom.is(targetParent, 'ol,ul')) { + dom.rename(element, 'p'); + } + } + outdented.push(element); + } + } + + this.process({ + 'LI': outdentLI, + defaultAction: this.adjustPaddingFunction(false) + }); + + each(outdented, attemptMergeWithAdjacent); + }, + + process: function(actions) { + var t = this, sel = t.ed.selection, dom = t.ed.dom, selectedBlocks, r; + + function processElement(element) { + dom.removeClass(element, '_mce_act_on'); + if (!element || element.nodeType !== 1) { + return; + } + element = findItemToOperateOn(element, dom); + var action = actions[element.tagName]; + if (!action) { + action = actions.defaultAction; + } + action(element); + } + + function recurse(element) { + t.splitSafeEach(element.childNodes, processElement); + } + + function brAtEdgeOfSelection(container, offset) { + return offset >= 0 && container.hasChildNodes() && offset < container.childNodes.length && + container.childNodes[offset].tagName === 'BR'; + } + + selectedBlocks = sel.getSelectedBlocks(); + if (selectedBlocks.length === 0) { + selectedBlocks = [ dom.getRoot() ]; + } + + r = sel.getRng(true); + if (!r.collapsed) { + if (brAtEdgeOfSelection(r.endContainer, r.endOffset - 1)) { + r.setEnd(r.endContainer, r.endOffset - 1); + sel.setRng(r); + } + if (brAtEdgeOfSelection(r.startContainer, r.startOffset)) { + r.setStart(r.startContainer, r.startOffset + 1); + sel.setRng(r); + } + } + bookmark = sel.getBookmark(); + actions.OL = actions.UL = recurse; + t.splitSafeEach(selectedBlocks, processElement); + sel.moveToBookmark(bookmark); + bookmark = null; + // Avoids table or image handles being left behind in Firefox. + t.ed.execCommand('mceRepaint'); + }, + + splitSafeEach: function(elements, f) { + if (tinymce.isGecko && (/Firefox\/[12]\.[0-9]/.test(navigator.userAgent) || + /Firefox\/3\.[0-4]/.test(navigator.userAgent))) { + this.classBasedEach(elements, f); + } else { + each(elements, f); + } + }, + + classBasedEach: function(elements, f) { + var dom = this.ed.dom, nodes, element; + // Mark nodes + each(elements, function(element) { + dom.addClass(element, '_mce_act_on'); + }); + nodes = dom.select('._mce_act_on'); + while (nodes.length > 0) { + element = nodes.shift(); + dom.removeClass(element, '_mce_act_on'); + f(element); + nodes = dom.select('._mce_act_on'); + } + }, + + adjustPaddingFunction: function(isIndent) { + var indentAmount, indentUnits, ed = this.ed; + indentAmount = ed.settings.indentation; + indentUnits = /[a-z%]+/i.exec(indentAmount); + indentAmount = parseInt(indentAmount, 10); + return function(element) { + var currentIndent, newIndentAmount; + currentIndent = parseInt(ed.dom.getStyle(element, 'margin-left') || 0, 10) + parseInt(ed.dom.getStyle(element, 'padding-left') || 0, 10); + if (isIndent) { + newIndentAmount = currentIndent + indentAmount; + } else { + newIndentAmount = currentIndent - indentAmount; + } + ed.dom.setStyle(element, 'padding-left', ''); + ed.dom.setStyle(element, 'margin-left', newIndentAmount > 0 ? newIndentAmount + indentUnits : ''); + }; + }, + + getInfo: function() { + return { + longname : 'Lists', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/lists', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + tinymce.PluginManager.add("lists", tinymce.plugins.Lists); +}()); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/css/media.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/css/media.css new file mode 100644 index 00000000..fd04898c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/css/media.css @@ -0,0 +1,17 @@ +#id, #name, #hspace, #vspace, #class_name, #align { width: 100px } +#hspace, #vspace { width: 50px } +#flash_quality, #flash_align, #flash_scale, #flash_salign, #flash_wmode { width: 100px } +#flash_base, #flash_flashvars, #html5_altsource1, #html5_altsource2, #html5_poster { width: 240px } +#width, #height { width: 40px } +#src, #media_type { width: 250px } +#class { width: 120px } +#prev { margin: 0; border: 1px solid black; width: 380px; height: 260px; overflow: auto } +.panel_wrapper div.current { height: 420px; overflow: auto } +#flash_options, #shockwave_options, #qt_options, #wmp_options, #rmp_options { display: none } +.mceAddSelectValue { background-color: #DDDDDD } +#qt_starttime, #qt_endtime, #qt_fov, #qt_href, #qt_moveid, #qt_moviename, #qt_node, #qt_pan, #qt_qtsrc, #qt_qtsrcchokespeed, #qt_target, #qt_tilt, #qt_urlsubstituten, #qt_volume { width: 70px } +#wmp_balance, #wmp_baseurl, #wmp_captioningid, #wmp_currentmarker, #wmp_currentposition, #wmp_defaultframe, #wmp_playcount, #wmp_rate, #wmp_uimode, #wmp_volume { width: 70px } +#rmp_console, #rmp_numloop, #rmp_controls, #rmp_scriptcallbacks { width: 70px } +#shockwave_swvolume, #shockwave_swframe, #shockwave_swurl, #shockwave_swstretchvalign, #shockwave_swstretchhalign, #shockwave_swstretchstyle { width: 90px } +#qt_qtsrc { width: 200px } +iframe {border: 1px solid gray} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/editor_plugin.js new file mode 100644 index 00000000..f89959e2 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/editor_plugin.js @@ -0,0 +1 @@ +(function(){var d=tinymce.explode("id,name,width,height,style,align,class,hspace,vspace,bgcolor,type"),h=tinymce.makeMap(d.join(",")),b=tinymce.html.Node,f,a,g=tinymce.util.JSON,e;f=[["Flash","d27cdb6e-ae6d-11cf-96b8-444553540000","application/x-shockwave-flash","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"],["ShockWave","166b1bca-3f9c-11cf-8075-444553540000","application/x-director","http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0"],["WindowsMedia","6bf52a52-394a-11d3-b153-00c04f79faa6,22d6f312-b0f6-11d0-94ab-0080c74c7e95,05589fa1-c356-11ce-bf01-00aa0055595a","application/x-mplayer2","http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"],["QuickTime","02bf25d5-8c17-4b23-bc80-d3488abddc6b","video/quicktime","http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"],["RealMedia","cfcdaa03-8be4-11cf-b84b-0020afbbccfa","audio/x-pn-realaudio-plugin","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"],["Java","8ad9c840-044e-11d1-b3e9-00805f499d93","application/x-java-applet","http://java.sun.com/products/plugin/autodl/jinstall-1_5_0-windows-i586.cab#Version=1,5,0,0"],["Silverlight","dfeaf541-f3e1-4c24-acac-99c30715084a","application/x-silverlight-2"],["Iframe"],["Video"],["Audio"]];function c(m){var l,j,k;if(m&&!m.splice){j=[];for(k=0;true;k++){if(m[k]){j[k]=m[k]}else{break}}return j}return m}tinymce.create("tinymce.plugins.MediaPlugin",{init:function(n,j){var r=this,l={},m,p,q,k;function o(i){return i&&i.nodeName==="IMG"&&n.dom.hasClass(i,"mceItemMedia")}r.editor=n;r.url=j;a="";for(m=0;m<f.length;m++){k=f[m][0];q={name:k,clsids:tinymce.explode(f[m][1]||""),mimes:tinymce.explode(f[m][2]||""),codebase:f[m][3]};for(p=0;p<q.clsids.length;p++){l["clsid:"+q.clsids[p]]=q}for(p=0;p<q.mimes.length;p++){l[q.mimes[p]]=q}l["mceItem"+k]=q;l[k.toLowerCase()]=q;a+=(a?"|":"")+k}tinymce.each(n.getParam("media_types","video=mp4,m4v,ogv,webm;silverlight=xap;flash=swf,flv;shockwave=dcr;quicktime=mov,qt,mpg,mpeg;shockwave=dcr;windowsmedia=avi,wmv,wm,asf,asx,wmx,wvx;realmedia=rm,ra,ram;java=jar;audio=mp3,ogg").split(";"),function(v){var s,u,t;v=v.split(/=/);u=tinymce.explode(v[1].toLowerCase());for(s=0;s<u.length;s++){t=l[v[0].toLowerCase()];if(t){l[u[s]]=t}}});a=new RegExp("write("+a+")\\(([^)]+)\\)");r.lookup=l;n.onPreInit.add(function(){n.schema.addValidElements("object[id|style|width|height|classid|codebase|*],param[name|value],embed[id|style|width|height|type|src|*],video[*],audio[*],source[*]");n.parser.addNodeFilter("object,embed,video,audio,script,iframe",function(s){var t=s.length;while(t--){r.objectToImg(s[t])}});n.serializer.addNodeFilter("img",function(s,u,t){var v=s.length,w;while(v--){w=s[v];if((w.attr("class")||"").indexOf("mceItemMedia")!==-1){r.imgToObject(w,t)}}})});n.onInit.add(function(){if(n.theme&&n.theme.onResolveName){n.theme.onResolveName.add(function(i,s){if(s.name==="img"&&n.dom.hasClass(s.node,"mceItemMedia")){s.name="media"}})}if(n&&n.plugins.contextmenu){n.plugins.contextmenu.onContextMenu.add(function(s,t,i){if(i.nodeName==="IMG"&&i.className.indexOf("mceItemMedia")!==-1){t.add({title:"media.edit",icon:"media",cmd:"mceMedia"})}})}});n.addCommand("mceMedia",function(){var s,i;i=n.selection.getNode();if(o(i)){s=n.dom.getAttrib(i,"data-mce-json");if(s){s=g.parse(s);tinymce.each(d,function(t){var u=n.dom.getAttrib(i,t);if(u){s[t]=u}});s.type=r.getType(i.className).name.toLowerCase()}}if(!s){s={type:"flash",video:{sources:[]},params:{}}}n.windowManager.open({file:j+"/media.htm",width:430+parseInt(n.getLang("media.delta_width",0)),height:500+parseInt(n.getLang("media.delta_height",0)),inline:1},{plugin_url:j,data:s})});n.addButton("media",{title:"media.desc",cmd:"mceMedia"});n.onNodeChange.add(function(s,i,t){i.setActive("media",o(t))})},convertUrl:function(k,n){var j=this,m=j.editor,l=m.settings,o=l.url_converter,i=l.url_converter_scope||j;if(!k){return k}if(n){return m.documentBaseURI.toAbsolute(k)}return o.call(i,k,"src","object")},getInfo:function(){return{longname:"Media",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media",version:tinymce.majorVersion+"."+tinymce.minorVersion}},dataToImg:function(m,k){var r=this,o=r.editor,p=o.documentBaseURI,j,q,n,l;m.params.src=r.convertUrl(m.params.src,k);q=m.video.attrs;if(q){q.src=r.convertUrl(q.src,k)}if(q){q.poster=r.convertUrl(q.poster,k)}j=c(m.video.sources);if(j){for(l=0;l<j.length;l++){j[l].src=r.convertUrl(j[l].src,k)}}n=r.editor.dom.create("img",{id:m.id,style:m.style,align:m.align,src:r.editor.theme.url+"/img/trans.gif","class":"mceItemMedia mceItem"+r.getType(m.type).name,"data-mce-json":g.serialize(m,"'")});n.width=m.width||(m.type=="audio"?"300":"320");n.height=m.height||(m.type=="audio"?"32":"240");return n},dataToHtml:function(i,j){return this.editor.serializer.serialize(this.dataToImg(i,j),{forced_root_block:"",force_absolute:j})},htmlToData:function(k){var j,i,l;l={type:"flash",video:{sources:[]},params:{}};j=this.editor.parser.parse(k);i=j.getAll("img")[0];if(i){l=g.parse(i.attr("data-mce-json"));l.type=this.getType(i.attr("class")).name.toLowerCase();tinymce.each(d,function(m){var n=i.attr(m);if(n){l[m]=n}})}return l},getType:function(m){var k,j,l;j=tinymce.explode(m," ");for(k=0;k<j.length;k++){l=this.lookup[j[k]];if(l){return l}}},imgToObject:function(x,n){var t=this,o=t.editor,A,F,j,s,G,w,E,u,k,C,r,p,y,B,m,v,l,z,D;function q(i,H){var L,K,M,J,I;I=o.getParam("flash_video_player_url",t.convertUrl(t.url+"/moxieplayer.swf"));if(I){L=o.documentBaseURI;E.params.src=I;if(o.getParam("flash_video_player_absvideourl",true)){i=L.toAbsolute(i||"",true);H=L.toAbsolute(H||"",true)}M="";K=o.getParam("flash_video_player_flashvars",{url:"$url",poster:"$poster"});tinymce.each(K,function(O,N){O=O.replace(/\$url/,i||"");O=O.replace(/\$poster/,H||"");if(O.length>0){M+=(M?"&":"")+N+"="+escape(O)}});if(M.length){E.params.flashvars=M}J=o.getParam("flash_video_player_params",{allowfullscreen:true,allowscriptaccess:true});tinymce.each(J,function(O,N){E.params[N]=""+O})}}E=x.attr("data-mce-json");if(!E){return}E=g.parse(E);p=this.getType(x.attr("class"));z=x.attr("data-mce-style");if(!z){z=x.attr("style");if(z){z=o.dom.serializeStyle(o.dom.parseStyle(z,"img"))}}if(p.name==="Iframe"){v=new b("iframe",1);tinymce.each(d,function(i){var H=x.attr(i);if(i=="class"&&H){H=H.replace(/mceItem.+ ?/g,"")}if(H&&H.length>0){v.attr(i,H)}});for(G in E.params){v.attr(G,E.params[G])}v.attr({style:z,src:E.params.src});x.replace(v);return}if(this.editor.settings.media_use_script){v=new b("script",1).attr("type","text/javascript");w=new b("#text",3);w.value="write"+p.name+"("+g.serialize(tinymce.extend(E.params,{width:x.attr("width"),height:x.attr("height")}))+");";v.append(w);x.replace(v);return}if(p.name==="Video"&&E.video.sources[0]){A=new b("video",1).attr(tinymce.extend({id:x.attr("id"),width:x.attr("width"),height:x.attr("height"),style:z},E.video.attrs));if(E.video.attrs){l=E.video.attrs.poster}k=E.video.sources=c(E.video.sources);for(y=0;y<k.length;y++){if(/\.mp4$/.test(k[y].src)){m=k[y].src}}if(!k[0].type){A.attr("src",k[0].src);k.splice(0,1)}for(y=0;y<k.length;y++){u=new b("source",1).attr(k[y]);u.shortEnded=true;A.append(u)}if(m){q(m,l);p=t.getType("flash")}else{E.params.src=""}}if(p.name==="Audio"&&E.video.sources[0]){D=new b("audio",1).attr(tinymce.extend({id:x.attr("id"),width:x.attr("width"),height:x.attr("height"),style:z},E.video.attrs));if(E.video.attrs){l=E.video.attrs.poster}k=E.video.sources=c(E.video.sources);if(!k[0].type){D.attr("src",k[0].src);k.splice(0,1)}for(y=0;y<k.length;y++){u=new b("source",1).attr(k[y]);u.shortEnded=true;D.append(u)}E.params.src=""}if(E.params.src){if(/\.flv$/i.test(E.params.src)){q(E.params.src,"")}if(n&&n.force_absolute){E.params.src=o.documentBaseURI.toAbsolute(E.params.src)}F=new b("object",1).attr({id:x.attr("id"),width:x.attr("width"),height:x.attr("height"),style:z});tinymce.each(d,function(i){if(E[i]&&i!="type"){F.attr(i,E[i])}});for(G in E.params){r=new b("param",1);r.shortEnded=true;w=E.params[G];if(G==="src"&&p.name==="WindowsMedia"){G="url"}r.attr({name:G,value:w});F.append(r)}if(this.editor.getParam("media_strict",true)){F.attr({data:E.params.src,type:p.mimes[0]})}else{F.attr({classid:"clsid:"+p.clsids[0],codebase:p.codebase});j=new b("embed",1);j.shortEnded=true;j.attr({id:x.attr("id"),width:x.attr("width"),height:x.attr("height"),style:z,type:p.mimes[0]});for(G in E.params){j.attr(G,E.params[G])}tinymce.each(d,function(i){if(E[i]&&i!="type"){j.attr(i,E[i])}});F.append(j)}if(E.object_html){w=new b("#text",3);w.raw=true;w.value=E.object_html;F.append(w)}if(A){A.append(F)}}if(A){if(E.video_html){w=new b("#text",3);w.raw=true;w.value=E.video_html;A.append(w)}}if(D){if(E.video_html){w=new b("#text",3);w.raw=true;w.value=E.video_html;D.append(w)}}if(A||D||F){x.replace(A||D||F)}else{x.remove()}},objectToImg:function(y){var F,j,A,p,G,H,u,w,t,B,z,q,o,D,x,k,E,n,C=this.lookup,l,v,s=this.editor.settings.url_converter,m=this.editor.settings.url_converter_scope;function r(i){return new tinymce.html.Serializer({inner:true,validate:false}).serialize(i)}if(!y.parent){return}if(y.name==="script"){if(y.firstChild){l=a.exec(y.firstChild.value)}if(!l){return}n=l[1];E={video:{},params:g.parse(l[2])};w=E.params.width;t=E.params.height}E=E||{video:{},params:{}};G=new b("img",1);G.attr({src:this.editor.theme.url+"/img/trans.gif"});H=y.name;if(H==="video"||H=="audio"){A=y;F=y.getAll("object")[0];j=y.getAll("embed")[0];w=A.attr("width");t=A.attr("height");u=A.attr("id");E.video={attrs:{},sources:[]};v=E.video.attrs;for(H in A.attributes.map){v[H]=A.attributes.map[H]}x=y.attr("src");if(x){E.video.sources.push({src:s.call(m,x,"src",y.name)})}k=A.getAll("source");for(z=0;z<k.length;z++){x=k[z].remove();E.video.sources.push({src:s.call(m,x.attr("src"),"src","source"),type:x.attr("type"),media:x.attr("media")})}if(v.poster){v.poster=s.call(m,v.poster,"poster",y.name)}}if(y.name==="object"){F=y;j=y.getAll("embed")[0]}if(y.name==="embed"){j=y}if(y.name==="iframe"){p=y;n="Iframe"}if(F){w=w||F.attr("width");t=t||F.attr("height");B=B||F.attr("style");u=u||F.attr("id");D=F.getAll("param");for(z=0;z<D.length;z++){o=D[z];H=o.remove().attr("name");if(!h[H]){E.params[H]=o.attr("value")}}E.params.src=E.params.src||F.attr("data")}if(j){w=w||j.attr("width");t=t||j.attr("height");B=B||j.attr("style");u=u||j.attr("id");for(H in j.attributes.map){if(!h[H]&&!E.params[H]){E.params[H]=j.attributes.map[H]}}}if(p){w=p.attr("width");t=p.attr("height");B=B||p.attr("style");u=p.attr("id");tinymce.each(d,function(i){G.attr(i,p.attr(i))});for(H in p.attributes.map){if(!h[H]&&!E.params[H]){E.params[H]=p.attributes.map[H]}}}if(E.params.movie){E.params.src=E.params.src||E.params.movie;delete E.params.movie}if(E.params.src){E.params.src=s.call(m,E.params.src,"src","object")}if(A){if(y.name==="video"){n=C.video.name}else{if(y.name==="audio"){n=C.audio.name}}}if(F&&!n){n=(C[(F.attr("clsid")||"").toLowerCase()]||C[(F.attr("type")||"").toLowerCase()]||{}).name}if(j&&!n){n=(C[(j.attr("type")||"").toLowerCase()]||{}).name}y.replace(G);if(j){j.remove()}if(F){q=r(F.remove());if(q){E.object_html=q}}if(A){q=r(A.remove());if(q){E.video_html=q}}G.attr({id:u,"class":"mceItemMedia mceItem"+(n||"Flash"),style:B,width:w||(y.name=="audio"?"300":"320"),height:t||(y.name=="audio"?"32":"240"),"data-mce-json":g.serialize(E,"'")})}});tinymce.PluginManager.add("media",tinymce.plugins.MediaPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/editor_plugin_src.js new file mode 100644 index 00000000..1dccd67c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/editor_plugin_src.js @@ -0,0 +1,822 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var rootAttributes = tinymce.explode('id,name,width,height,style,align,class,hspace,vspace,bgcolor,type'), excludedAttrs = tinymce.makeMap(rootAttributes.join(',')), Node = tinymce.html.Node, + mediaTypes, scriptRegExp, JSON = tinymce.util.JSON, mimeTypes; + + // Media types supported by this plugin + mediaTypes = [ + // Type, clsid:s, mime types, codebase + ["Flash", "d27cdb6e-ae6d-11cf-96b8-444553540000", "application/x-shockwave-flash", "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"], + ["ShockWave", "166b1bca-3f9c-11cf-8075-444553540000", "application/x-director", "http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0"], + ["WindowsMedia", "6bf52a52-394a-11d3-b153-00c04f79faa6,22d6f312-b0f6-11d0-94ab-0080c74c7e95,05589fa1-c356-11ce-bf01-00aa0055595a", "application/x-mplayer2", "http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"], + ["QuickTime", "02bf25d5-8c17-4b23-bc80-d3488abddc6b", "video/quicktime", "http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"], + ["RealMedia", "cfcdaa03-8be4-11cf-b84b-0020afbbccfa", "audio/x-pn-realaudio-plugin", "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"], + ["Java", "8ad9c840-044e-11d1-b3e9-00805f499d93", "application/x-java-applet", "http://java.sun.com/products/plugin/autodl/jinstall-1_5_0-windows-i586.cab#Version=1,5,0,0"], + ["Silverlight", "dfeaf541-f3e1-4c24-acac-99c30715084a", "application/x-silverlight-2"], + ["Iframe"], + ["Video"], + ["Audio"] + ]; + + function toArray(obj) { + var undef, out, i; + + if (obj && !obj.splice) { + out = []; + + for (i = 0; true; i++) { + if (obj[i]) + out[i] = obj[i]; + else + break; + } + + return out; + } + + return obj; + }; + + tinymce.create('tinymce.plugins.MediaPlugin', { + init : function(ed, url) { + var self = this, lookup = {}, i, y, item, name; + + function isMediaImg(node) { + return node && node.nodeName === 'IMG' && ed.dom.hasClass(node, 'mceItemMedia'); + }; + + self.editor = ed; + self.url = url; + + // Parse media types into a lookup table + scriptRegExp = ''; + for (i = 0; i < mediaTypes.length; i++) { + name = mediaTypes[i][0]; + + item = { + name : name, + clsids : tinymce.explode(mediaTypes[i][1] || ''), + mimes : tinymce.explode(mediaTypes[i][2] || ''), + codebase : mediaTypes[i][3] + }; + + for (y = 0; y < item.clsids.length; y++) + lookup['clsid:' + item.clsids[y]] = item; + + for (y = 0; y < item.mimes.length; y++) + lookup[item.mimes[y]] = item; + + lookup['mceItem' + name] = item; + lookup[name.toLowerCase()] = item; + + scriptRegExp += (scriptRegExp ? '|' : '') + name; + } + + // Handle the media_types setting + tinymce.each(ed.getParam("media_types", + "video=mp4,m4v,ogv,webm;" + + "silverlight=xap;" + + "flash=swf,flv;" + + "shockwave=dcr;" + + "quicktime=mov,qt,mpg,mpeg;" + + "shockwave=dcr;" + + "windowsmedia=avi,wmv,wm,asf,asx,wmx,wvx;" + + "realmedia=rm,ra,ram;" + + "java=jar;" + + "audio=mp3,ogg" + ).split(';'), function(item) { + var i, extensions, type; + + item = item.split(/=/); + extensions = tinymce.explode(item[1].toLowerCase()); + for (i = 0; i < extensions.length; i++) { + type = lookup[item[0].toLowerCase()]; + + if (type) + lookup[extensions[i]] = type; + } + }); + + scriptRegExp = new RegExp('write(' + scriptRegExp + ')\\(([^)]+)\\)'); + self.lookup = lookup; + + ed.onPreInit.add(function() { + // Allow video elements + ed.schema.addValidElements('object[id|style|width|height|classid|codebase|*],param[name|value],embed[id|style|width|height|type|src|*],video[*],audio[*],source[*]'); + + // Convert video elements to image placeholder + ed.parser.addNodeFilter('object,embed,video,audio,script,iframe', function(nodes) { + var i = nodes.length; + + while (i--) + self.objectToImg(nodes[i]); + }); + + // Convert image placeholders to video elements + ed.serializer.addNodeFilter('img', function(nodes, name, args) { + var i = nodes.length, node; + + while (i--) { + node = nodes[i]; + if ((node.attr('class') || '').indexOf('mceItemMedia') !== -1) + self.imgToObject(node, args); + } + }); + }); + + ed.onInit.add(function() { + // Display "media" instead of "img" in element path + if (ed.theme && ed.theme.onResolveName) { + ed.theme.onResolveName.add(function(theme, path_object) { + if (path_object.name === 'img' && ed.dom.hasClass(path_object.node, 'mceItemMedia')) + path_object.name = 'media'; + }); + } + + // Add contect menu if it's loaded + if (ed && ed.plugins.contextmenu) { + ed.plugins.contextmenu.onContextMenu.add(function(plugin, menu, element) { + if (element.nodeName === 'IMG' && element.className.indexOf('mceItemMedia') !== -1) + menu.add({title : 'media.edit', icon : 'media', cmd : 'mceMedia'}); + }); + } + }); + + // Register commands + ed.addCommand('mceMedia', function() { + var data, img; + + img = ed.selection.getNode(); + if (isMediaImg(img)) { + data = ed.dom.getAttrib(img, 'data-mce-json'); + if (data) { + data = JSON.parse(data); + + // Add some extra properties to the data object + tinymce.each(rootAttributes, function(name) { + var value = ed.dom.getAttrib(img, name); + + if (value) + data[name] = value; + }); + + data.type = self.getType(img.className).name.toLowerCase(); + } + } + + if (!data) { + data = { + type : 'flash', + video: {sources:[]}, + params: {} + }; + } + + ed.windowManager.open({ + file : url + '/media.htm', + width : 430 + parseInt(ed.getLang('media.delta_width', 0)), + height : 500 + parseInt(ed.getLang('media.delta_height', 0)), + inline : 1 + }, { + plugin_url : url, + data : data + }); + }); + + // Register buttons + ed.addButton('media', {title : 'media.desc', cmd : 'mceMedia'}); + + // Update media selection status + ed.onNodeChange.add(function(ed, cm, node) { + cm.setActive('media', isMediaImg(node)); + }); + }, + + convertUrl : function(url, force_absolute) { + var self = this, editor = self.editor, settings = editor.settings, + urlConverter = settings.url_converter, + urlConverterScope = settings.url_converter_scope || self; + + if (!url) + return url; + + if (force_absolute) + return editor.documentBaseURI.toAbsolute(url); + + return urlConverter.call(urlConverterScope, url, 'src', 'object'); + }, + + getInfo : function() { + return { + longname : 'Media', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + /** + * Converts the JSON data object to an img node. + */ + dataToImg : function(data, force_absolute) { + var self = this, editor = self.editor, baseUri = editor.documentBaseURI, sources, attrs, img, i; + + data.params.src = self.convertUrl(data.params.src, force_absolute); + + attrs = data.video.attrs; + if (attrs) + attrs.src = self.convertUrl(attrs.src, force_absolute); + + if (attrs) + attrs.poster = self.convertUrl(attrs.poster, force_absolute); + + sources = toArray(data.video.sources); + if (sources) { + for (i = 0; i < sources.length; i++) + sources[i].src = self.convertUrl(sources[i].src, force_absolute); + } + + img = self.editor.dom.create('img', { + id : data.id, + style : data.style, + align : data.align, + src : self.editor.theme.url + '/img/trans.gif', + 'class' : 'mceItemMedia mceItem' + self.getType(data.type).name, + 'data-mce-json' : JSON.serialize(data, "'") + }); + + img.width = data.width || (data.type == 'audio' ? "300" : "320"); + img.height = data.height || (data.type == 'audio' ? "32" : "240"); + + return img; + }, + + /** + * Converts the JSON data object to a HTML string. + */ + dataToHtml : function(data, force_absolute) { + return this.editor.serializer.serialize(this.dataToImg(data, force_absolute), {forced_root_block : '', force_absolute : force_absolute}); + }, + + /** + * Converts the JSON data object to a HTML string. + */ + htmlToData : function(html) { + var fragment, img, data; + + data = { + type : 'flash', + video: {sources:[]}, + params: {} + }; + + fragment = this.editor.parser.parse(html); + img = fragment.getAll('img')[0]; + + if (img) { + data = JSON.parse(img.attr('data-mce-json')); + data.type = this.getType(img.attr('class')).name.toLowerCase(); + + // Add some extra properties to the data object + tinymce.each(rootAttributes, function(name) { + var value = img.attr(name); + + if (value) + data[name] = value; + }); + } + + return data; + }, + + /** + * Get type item by extension, class, clsid or mime type. + * + * @method getType + * @param {String} value Value to get type item by. + * @return {Object} Type item object or undefined. + */ + getType : function(value) { + var i, values, typeItem; + + // Find type by checking the classes + values = tinymce.explode(value, ' '); + for (i = 0; i < values.length; i++) { + typeItem = this.lookup[values[i]]; + + if (typeItem) + return typeItem; + } + }, + + /** + * Converts a tinymce.html.Node image element to video/object/embed. + */ + imgToObject : function(node, args) { + var self = this, editor = self.editor, video, object, embed, iframe, name, value, data, + source, sources, params, param, typeItem, i, item, mp4Source, replacement, + posterSrc, style, audio; + + // Adds the flash player + function addPlayer(video_src, poster_src) { + var baseUri, flashVars, flashVarsOutput, params, flashPlayer; + + flashPlayer = editor.getParam('flash_video_player_url', self.convertUrl(self.url + '/moxieplayer.swf')); + if (flashPlayer) { + baseUri = editor.documentBaseURI; + data.params.src = flashPlayer; + + // Convert the movie url to absolute urls + if (editor.getParam('flash_video_player_absvideourl', true)) { + video_src = baseUri.toAbsolute(video_src || '', true); + poster_src = baseUri.toAbsolute(poster_src || '', true); + } + + // Generate flash vars + flashVarsOutput = ''; + flashVars = editor.getParam('flash_video_player_flashvars', {url : '$url', poster : '$poster'}); + tinymce.each(flashVars, function(value, name) { + // Replace $url and $poster variables in flashvars value + value = value.replace(/\$url/, video_src || ''); + value = value.replace(/\$poster/, poster_src || ''); + + if (value.length > 0) + flashVarsOutput += (flashVarsOutput ? '&' : '') + name + '=' + escape(value); + }); + + if (flashVarsOutput.length) + data.params.flashvars = flashVarsOutput; + + params = editor.getParam('flash_video_player_params', { + allowfullscreen: true, + allowscriptaccess: true + }); + + tinymce.each(params, function(value, name) { + data.params[name] = "" + value; + }); + } + }; + + data = node.attr('data-mce-json'); + if (!data) + return; + + data = JSON.parse(data); + typeItem = this.getType(node.attr('class')); + + style = node.attr('data-mce-style') + if (!style) { + style = node.attr('style'); + + if (style) + style = editor.dom.serializeStyle(editor.dom.parseStyle(style, 'img')); + } + + // Handle iframe + if (typeItem.name === 'Iframe') { + replacement = new Node('iframe', 1); + + tinymce.each(rootAttributes, function(name) { + var value = node.attr(name); + + if (name == 'class' && value) + value = value.replace(/mceItem.+ ?/g, ''); + + if (value && value.length > 0) + replacement.attr(name, value); + }); + + for (name in data.params) + replacement.attr(name, data.params[name]); + + replacement.attr({ + style: style, + src: data.params.src + }); + + node.replace(replacement); + + return; + } + + // Handle scripts + if (this.editor.settings.media_use_script) { + replacement = new Node('script', 1).attr('type', 'text/javascript'); + + value = new Node('#text', 3); + value.value = 'write' + typeItem.name + '(' + JSON.serialize(tinymce.extend(data.params, { + width: node.attr('width'), + height: node.attr('height') + })) + ');'; + + replacement.append(value); + node.replace(replacement); + + return; + } + + // Add HTML5 video element + if (typeItem.name === 'Video' && data.video.sources[0]) { + // Create new object element + video = new Node('video', 1).attr(tinymce.extend({ + id : node.attr('id'), + width: node.attr('width'), + height: node.attr('height'), + style : style + }, data.video.attrs)); + + // Get poster source and use that for flash fallback + if (data.video.attrs) + posterSrc = data.video.attrs.poster; + + sources = data.video.sources = toArray(data.video.sources); + for (i = 0; i < sources.length; i++) { + if (/\.mp4$/.test(sources[i].src)) + mp4Source = sources[i].src; + } + + if (!sources[0].type) { + video.attr('src', sources[0].src); + sources.splice(0, 1); + } + + for (i = 0; i < sources.length; i++) { + source = new Node('source', 1).attr(sources[i]); + source.shortEnded = true; + video.append(source); + } + + // Create flash fallback for video if we have a mp4 source + if (mp4Source) { + addPlayer(mp4Source, posterSrc); + typeItem = self.getType('flash'); + } else + data.params.src = ''; + } + + // Add HTML5 audio element + if (typeItem.name === 'Audio' && data.video.sources[0]) { + // Create new object element + audio = new Node('audio', 1).attr(tinymce.extend({ + id : node.attr('id'), + width: node.attr('width'), + height: node.attr('height'), + style : style + }, data.video.attrs)); + + // Get poster source and use that for flash fallback + if (data.video.attrs) + posterSrc = data.video.attrs.poster; + + sources = data.video.sources = toArray(data.video.sources); + if (!sources[0].type) { + audio.attr('src', sources[0].src); + sources.splice(0, 1); + } + + for (i = 0; i < sources.length; i++) { + source = new Node('source', 1).attr(sources[i]); + source.shortEnded = true; + audio.append(source); + } + + data.params.src = ''; + } + + // Do we have a params src then we can generate object + if (data.params.src) { + // Is flv movie add player for it + if (/\.flv$/i.test(data.params.src)) + addPlayer(data.params.src, ''); + + if (args && args.force_absolute) + data.params.src = editor.documentBaseURI.toAbsolute(data.params.src); + + // Create new object element + object = new Node('object', 1).attr({ + id : node.attr('id'), + width: node.attr('width'), + height: node.attr('height'), + style : style + }); + + tinymce.each(rootAttributes, function(name) { + if (data[name] && name != 'type') + object.attr(name, data[name]); + }); + + // Add params + for (name in data.params) { + param = new Node('param', 1); + param.shortEnded = true; + value = data.params[name]; + + // Windows media needs to use url instead of src for the media URL + if (name === 'src' && typeItem.name === 'WindowsMedia') + name = 'url'; + + param.attr({name: name, value: value}); + object.append(param); + } + + // Setup add type and classid if strict is disabled + if (this.editor.getParam('media_strict', true)) { + object.attr({ + data: data.params.src, + type: typeItem.mimes[0] + }); + } else { + object.attr({ + classid: "clsid:" + typeItem.clsids[0], + codebase: typeItem.codebase + }); + + embed = new Node('embed', 1); + embed.shortEnded = true; + embed.attr({ + id: node.attr('id'), + width: node.attr('width'), + height: node.attr('height'), + style : style, + type: typeItem.mimes[0] + }); + + for (name in data.params) + embed.attr(name, data.params[name]); + + tinymce.each(rootAttributes, function(name) { + if (data[name] && name != 'type') + embed.attr(name, data[name]); + }); + + object.append(embed); + } + + // Insert raw HTML + if (data.object_html) { + value = new Node('#text', 3); + value.raw = true; + value.value = data.object_html; + object.append(value); + } + + // Append object to video element if it exists + if (video) + video.append(object); + } + + if (video) { + // Insert raw HTML + if (data.video_html) { + value = new Node('#text', 3); + value.raw = true; + value.value = data.video_html; + video.append(value); + } + } + + if (audio) { + // Insert raw HTML + if (data.video_html) { + value = new Node('#text', 3); + value.raw = true; + value.value = data.video_html; + audio.append(value); + } + } + + if (video || audio || object) + node.replace(video || audio || object); + else + node.remove(); + }, + + /** + * Converts a tinymce.html.Node video/object/embed to an img element. + * + * The video/object/embed will be converted into an image placeholder with a JSON data attribute like this: + * <img class="mceItemMedia mceItemFlash" width="100" height="100" data-mce-json="{..}" /> + * + * The JSON structure will be like this: + * {'params':{'flashvars':'something','quality':'high','src':'someurl'}, 'video':{'sources':[{src: 'someurl', type: 'video/mp4'}]}} + */ + objectToImg : function(node) { + var object, embed, video, iframe, img, name, id, width, height, style, i, html, + param, params, source, sources, data, type, lookup = this.lookup, + matches, attrs, urlConverter = this.editor.settings.url_converter, + urlConverterScope = this.editor.settings.url_converter_scope; + + function getInnerHTML(node) { + return new tinymce.html.Serializer({ + inner: true, + validate: false + }).serialize(node); + }; + + // If node isn't in document + if (!node.parent) + return; + + // Handle media scripts + if (node.name === 'script') { + if (node.firstChild) + matches = scriptRegExp.exec(node.firstChild.value); + + if (!matches) + return; + + type = matches[1]; + data = {video : {}, params : JSON.parse(matches[2])}; + width = data.params.width; + height = data.params.height; + } + + // Setup data objects + data = data || { + video : {}, + params : {} + }; + + // Setup new image object + img = new Node('img', 1); + img.attr({ + src : this.editor.theme.url + '/img/trans.gif' + }); + + // Video element + name = node.name; + if (name === 'video' || name == 'audio') { + video = node; + object = node.getAll('object')[0]; + embed = node.getAll('embed')[0]; + width = video.attr('width'); + height = video.attr('height'); + id = video.attr('id'); + data.video = {attrs : {}, sources : []}; + + // Get all video attributes + attrs = data.video.attrs; + for (name in video.attributes.map) + attrs[name] = video.attributes.map[name]; + + source = node.attr('src'); + if (source) + data.video.sources.push({src : urlConverter.call(urlConverterScope, source, 'src', node.name)}); + + // Get all sources + sources = video.getAll("source"); + for (i = 0; i < sources.length; i++) { + source = sources[i].remove(); + + data.video.sources.push({ + src: urlConverter.call(urlConverterScope, source.attr('src'), 'src', 'source'), + type: source.attr('type'), + media: source.attr('media') + }); + } + + // Convert the poster URL + if (attrs.poster) + attrs.poster = urlConverter.call(urlConverterScope, attrs.poster, 'poster', node.name); + } + + // Object element + if (node.name === 'object') { + object = node; + embed = node.getAll('embed')[0]; + } + + // Embed element + if (node.name === 'embed') + embed = node; + + // Iframe element + if (node.name === 'iframe') { + iframe = node; + type = 'Iframe'; + } + + if (object) { + // Get width/height + width = width || object.attr('width'); + height = height || object.attr('height'); + style = style || object.attr('style'); + id = id || object.attr('id'); + + // Get all object params + params = object.getAll("param"); + for (i = 0; i < params.length; i++) { + param = params[i]; + name = param.remove().attr('name'); + + if (!excludedAttrs[name]) + data.params[name] = param.attr('value'); + } + + data.params.src = data.params.src || object.attr('data'); + } + + if (embed) { + // Get width/height + width = width || embed.attr('width'); + height = height || embed.attr('height'); + style = style || embed.attr('style'); + id = id || embed.attr('id'); + + // Get all embed attributes + for (name in embed.attributes.map) { + if (!excludedAttrs[name] && !data.params[name]) + data.params[name] = embed.attributes.map[name]; + } + } + + if (iframe) { + // Get width/height + width = iframe.attr('width'); + height = iframe.attr('height'); + style = style || iframe.attr('style'); + id = iframe.attr('id'); + + tinymce.each(rootAttributes, function(name) { + img.attr(name, iframe.attr(name)); + }); + + // Get all iframe attributes + for (name in iframe.attributes.map) { + if (!excludedAttrs[name] && !data.params[name]) + data.params[name] = iframe.attributes.map[name]; + } + } + + // Use src not movie + if (data.params.movie) { + data.params.src = data.params.src || data.params.movie; + delete data.params.movie; + } + + // Convert the URL to relative/absolute depending on configuration + if (data.params.src) + data.params.src = urlConverter.call(urlConverterScope, data.params.src, 'src', 'object'); + + if (video) { + if (node.name === 'video') + type = lookup.video.name; + else if (node.name === 'audio') + type = lookup.audio.name; + } + + if (object && !type) + type = (lookup[(object.attr('clsid') || '').toLowerCase()] || lookup[(object.attr('type') || '').toLowerCase()] || {}).name; + + if (embed && !type) + type = (lookup[(embed.attr('type') || '').toLowerCase()] || {}).name; + + // Replace the video/object/embed element with a placeholder image containing the data + node.replace(img); + + // Remove embed + if (embed) + embed.remove(); + + // Serialize the inner HTML of the object element + if (object) { + html = getInnerHTML(object.remove()); + + if (html) + data.object_html = html; + } + + // Serialize the inner HTML of the video element + if (video) { + html = getInnerHTML(video.remove()); + + if (html) + data.video_html = html; + } + + // Set width/height of placeholder + img.attr({ + id : id, + 'class' : 'mceItemMedia mceItem' + (type || 'Flash'), + style : style, + width : width || (node.name == 'audio' ? "300" : "320"), + height : height || (node.name == 'audio' ? "32" : "240"), + "data-mce-json" : JSON.serialize(data, "'") + }); + } + }); + + // Register plugin + tinymce.PluginManager.add('media', tinymce.plugins.MediaPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/js/embed.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/js/embed.js new file mode 100644 index 00000000..6fe25de0 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/js/embed.js @@ -0,0 +1,73 @@ +/** + * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose. + */ + +function writeFlash(p) { + writeEmbed( + 'D27CDB6E-AE6D-11cf-96B8-444553540000', + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', + 'application/x-shockwave-flash', + p + ); +} + +function writeShockWave(p) { + writeEmbed( + '166B1BCA-3F9C-11CF-8075-444553540000', + 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0', + 'application/x-director', + p + ); +} + +function writeQuickTime(p) { + writeEmbed( + '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B', + 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0', + 'video/quicktime', + p + ); +} + +function writeRealMedia(p) { + writeEmbed( + 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA', + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', + 'audio/x-pn-realaudio-plugin', + p + ); +} + +function writeWindowsMedia(p) { + p.url = p.src; + writeEmbed( + '6BF52A52-394A-11D3-B153-00C04F79FAA6', + 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701', + 'application/x-mplayer2', + p + ); +} + +function writeEmbed(cls, cb, mt, p) { + var h = '', n; + + h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"'; + h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : ''; + h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : ''; + h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : ''; + h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : ''; + h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : ''; + h += '>'; + + for (n in p) + h += '<param name="' + n + '" value="' + p[n] + '">'; + + h += '<embed type="' + mt + '"'; + + for (n in p) + h += n + '="' + p[n] + '" '; + + h += '></embed></object>'; + + document.write(h); +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/js/media.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/js/media.js new file mode 100644 index 00000000..c96fc4fc --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/js/media.js @@ -0,0 +1,389 @@ +(function() { + var url; + + if (url = tinyMCEPopup.getParam("media_external_list_url")) + document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>'); + + function get(id) { + return document.getElementById(id); + } + + function getVal(id) { + var elm = get(id); + + if (elm.nodeName == "SELECT") + return elm.options[elm.selectedIndex].value; + + if (elm.type == "checkbox") + return elm.checked; + + return elm.value; + } + + function setVal(id, value, name) { + if (typeof(value) != 'undefined') { + var elm = get(id); + + if (elm.nodeName == "SELECT") + selectByValue(document.forms[0], id, value); + else if (elm.type == "checkbox") { + if (typeof(value) == 'string') { + value = value.toLowerCase(); + value = (!name && value === 'true') || (name && value === name.toLowerCase()); + } + elm.checked = !!value; + } else + elm.value = value; + } + } + + window.Media = { + init : function() { + var html, editor; + + this.editor = editor = tinyMCEPopup.editor; + + // Setup file browsers and color pickers + get('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media'); + get('qtsrcfilebrowsercontainer').innerHTML = getBrowserHTML('qtsrcfilebrowser','quicktime_qtsrc','media','media'); + get('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + get('video_altsource1_filebrowser').innerHTML = getBrowserHTML('video_filebrowser_altsource1','video_altsource1','media','media'); + get('video_altsource2_filebrowser').innerHTML = getBrowserHTML('video_filebrowser_altsource2','video_altsource2','media','media'); + get('audio_altsource1_filebrowser').innerHTML = getBrowserHTML('audio_filebrowser_altsource1','audio_altsource1','media','media'); + get('audio_altsource2_filebrowser').innerHTML = getBrowserHTML('audio_filebrowser_altsource2','audio_altsource2','media','media'); + get('video_poster_filebrowser').innerHTML = getBrowserHTML('filebrowser_poster','video_poster','media','image'); + + html = this.getMediaListHTML('medialist', 'src', 'media', 'media'); + if (html == "") + get("linklistrow").style.display = 'none'; + else + get("linklistcontainer").innerHTML = html; + + if (isVisible('filebrowser')) + get('src').style.width = '230px'; + + if (isVisible('video_filebrowser_altsource1')) + get('video_altsource1').style.width = '220px'; + + if (isVisible('video_filebrowser_altsource2')) + get('video_altsource2').style.width = '220px'; + + if (isVisible('audio_filebrowser_altsource1')) + get('audio_altsource1').style.width = '220px'; + + if (isVisible('audio_filebrowser_altsource2')) + get('audio_altsource2').style.width = '220px'; + + if (isVisible('filebrowser_poster')) + get('video_poster').style.width = '220px'; + + this.data = tinyMCEPopup.getWindowArg('data'); + this.dataToForm(); + this.preview(); + }, + + insert : function() { + var editor = tinyMCEPopup.editor; + + this.formToData(); + editor.execCommand('mceRepaint'); + tinyMCEPopup.restoreSelection(); + editor.selection.setNode(editor.plugins.media.dataToImg(this.data)); + tinyMCEPopup.close(); + }, + + preview : function() { + get('prev').innerHTML = this.editor.plugins.media.dataToHtml(this.data, true); + }, + + moveStates : function(to_form, field) { + var data = this.data, editor = this.editor, data = this.data, + mediaPlugin = editor.plugins.media, ext, src, typeInfo, defaultStates, src; + + defaultStates = { + // QuickTime + quicktime_autoplay : true, + quicktime_controller : true, + + // Flash + flash_play : true, + flash_loop : true, + flash_menu : true, + + // WindowsMedia + windowsmedia_autostart : true, + windowsmedia_enablecontextmenu : true, + windowsmedia_invokeurls : true, + + // RealMedia + realmedia_autogotourl : true, + realmedia_imagestatus : true + }; + + function parseQueryParams(str) { + var out = {}; + + if (str) { + tinymce.each(str.split('&'), function(item) { + var parts = item.split('='); + + out[unescape(parts[0])] = unescape(parts[1]); + }); + } + + return out; + }; + + function setOptions(type, names) { + var i, name, formItemName, value, list; + + if (type == data.type || type == 'global') { + names = tinymce.explode(names); + for (i = 0; i < names.length; i++) { + name = names[i]; + formItemName = type == 'global' ? name : type + '_' + name; + + if (type == 'global') + list = data; + else if (type == 'video' || type == 'audio') { + list = data.video.attrs; + + if (!list && !to_form) + data.video.attrs = list = {}; + } else + list = data.params; + + if (list) { + if (to_form) { + setVal(formItemName, list[name], type == 'video' || type == 'audio' ? name : ''); + } else { + delete list[name]; + + value = getVal(formItemName); + if ((type == 'video' || type == 'audio') && value === true) + value = name; + + if (defaultStates[formItemName]) { + if (value !== defaultStates[formItemName]) { + value = "" + value; + list[name] = value; + } + } else if (value) { + value = "" + value; + list[name] = value; + } + } + } + } + } + } + + if (!to_form) { + data.type = get('media_type').options[get('media_type').selectedIndex].value; + data.width = getVal('width'); + data.height = getVal('height'); + + // Switch type based on extension + src = getVal('src'); + if (field == 'src') { + ext = src.replace(/^.*\.([^.]+)$/, '$1'); + if (typeInfo = mediaPlugin.getType(ext)) + data.type = typeInfo.name.toLowerCase(); + + setVal('media_type', data.type); + } + + if (data.type == "video" || data.type == "audio") { + if (!data.video.sources) + data.video.sources = []; + + data.video.sources[0] = {src: getVal('src')}; + } + } + + // Hide all fieldsets and show the one active + get('video_options').style.display = 'none'; + get('audio_options').style.display = 'none'; + get('flash_options').style.display = 'none'; + get('quicktime_options').style.display = 'none'; + get('shockwave_options').style.display = 'none'; + get('windowsmedia_options').style.display = 'none'; + get('realmedia_options').style.display = 'none'; + + if (get(data.type + '_options')) + get(data.type + '_options').style.display = 'block'; + + setVal('media_type', data.type); + + setOptions('flash', 'play,loop,menu,swliveconnect,quality,scale,salign,wmode,base,flashvars'); + setOptions('quicktime', 'loop,autoplay,cache,controller,correction,enablejavascript,kioskmode,autohref,playeveryframe,targetcache,scale,starttime,endtime,target,qtsrcchokespeed,volume,qtsrc'); + setOptions('shockwave', 'sound,progress,autostart,swliveconnect,swvolume,swstretchstyle,swstretchhalign,swstretchvalign'); + setOptions('windowsmedia', 'autostart,enabled,enablecontextmenu,fullscreen,invokeurls,mute,stretchtofit,windowlessvideo,balance,baseurl,captioningid,currentmarker,currentposition,defaultframe,playcount,rate,uimode,volume'); + setOptions('realmedia', 'autostart,loop,autogotourl,center,imagestatus,maintainaspect,nojava,prefetch,shuffle,console,controls,numloop,scriptcallbacks'); + setOptions('video', 'poster,autoplay,loop,muted,preload,controls'); + setOptions('audio', 'autoplay,loop,preload,controls'); + setOptions('global', 'id,name,vspace,hspace,bgcolor,align,width,height'); + + if (to_form) { + if (data.type == 'video') { + if (data.video.sources[0]) + setVal('src', data.video.sources[0].src); + + src = data.video.sources[1]; + if (src) + setVal('video_altsource1', src.src); + + src = data.video.sources[2]; + if (src) + setVal('video_altsource2', src.src); + } else if (data.type == 'audio') { + if (data.video.sources[0]) + setVal('src', data.video.sources[0].src); + + src = data.video.sources[1]; + if (src) + setVal('audio_altsource1', src.src); + + src = data.video.sources[2]; + if (src) + setVal('audio_altsource2', src.src); + } else { + // Check flash vars + if (data.type == 'flash') { + tinymce.each(editor.getParam('flash_video_player_flashvars', {url : '$url', poster : '$poster'}), function(value, name) { + if (value == '$url') + data.params.src = parseQueryParams(data.params.flashvars)[name] || data.params.src; + }); + } + + setVal('src', data.params.src); + } + } else { + src = getVal("src"); + + // YouTube + if (src.match(/youtube.com(.+)v=([^&]+)/)) { + data.width = 425; + data.height = 350; + data.params.frameborder = '0'; + data.type = 'iframe'; + src = 'http://www.youtube.com/embed/' + src.match(/v=([^&]+)/)[1]; + setVal('src', src); + setVal('media_type', data.type); + } + + // Google video + if (src.match(/video.google.com(.+)docid=([^&]+)/)) { + data.width = 425; + data.height = 326; + data.type = 'flash'; + src = 'http://video.google.com/googleplayer.swf?docId=' + src.match(/docid=([^&]+)/)[1] + '&hl=en'; + setVal('src', src); + setVal('media_type', data.type); + } + + if (data.type == 'video') { + if (!data.video.sources) + data.video.sources = []; + + data.video.sources[0] = {src : src}; + + src = getVal("video_altsource1"); + if (src) + data.video.sources[1] = {src : src}; + + src = getVal("video_altsource2"); + if (src) + data.video.sources[2] = {src : src}; + } else if (data.type == 'audio') { + if (!data.video.sources) + data.video.sources = []; + + data.video.sources[0] = {src : src}; + + src = getVal("audio_altsource1"); + if (src) + data.video.sources[1] = {src : src}; + + src = getVal("audio_altsource2"); + if (src) + data.video.sources[2] = {src : src}; + } else + data.params.src = src; + + // Set default size + setVal('width', data.width || (data.type == 'audio' ? 300 : 320)); + setVal('height', data.height || (data.type == 'audio' ? 32 : 240)); + } + }, + + dataToForm : function() { + this.moveStates(true); + }, + + formToData : function(field) { + if (field == "width" || field == "height") + this.changeSize(field); + + if (field == 'source') { + this.moveStates(false, field); + setVal('source', this.editor.plugins.media.dataToHtml(this.data)); + this.panel = 'source'; + } else { + if (this.panel == 'source') { + this.data = this.editor.plugins.media.htmlToData(getVal('source')); + this.dataToForm(); + this.panel = ''; + } + + this.moveStates(false, field); + this.preview(); + } + }, + + beforeResize : function() { + this.width = parseInt(getVal('width') || (this.data.type == 'audio' ? "300" : "320"), 10); + this.height = parseInt(getVal('height') || (this.data.type == 'audio' ? "32" : "240"), 10); + }, + + changeSize : function(type) { + var width, height, scale, size; + + if (get('constrain').checked) { + width = parseInt(getVal('width') || (this.data.type == 'audio' ? "300" : "320"), 10); + height = parseInt(getVal('height') || (this.data.type == 'audio' ? "32" : "240"), 10); + + if (type == 'width') { + this.height = Math.round((width / this.width) * height); + setVal('height', this.height); + } else { + this.width = Math.round((height / this.height) * width); + setVal('width', this.width); + } + } + }, + + getMediaListHTML : function() { + if (typeof(tinyMCEMediaList) != "undefined" && tinyMCEMediaList.length > 0) { + var html = ""; + + html += '<select id="linklist" name="linklist" style="width: 250px" onchange="this.form.src.value=this.options[this.selectedIndex].value;Media.formToData(\'src\');">'; + html += '<option value="">---</option>'; + + for (var i=0; i<tinyMCEMediaList.length; i++) + html += '<option value="' + tinyMCEMediaList[i][1] + '">' + tinyMCEMediaList[i][0] + '</option>'; + + html += '</select>'; + + return html; + } + + return ""; + } + }; + + tinyMCEPopup.requireLangPack(); + tinyMCEPopup.onInit.add(function() { + Media.init(); + }); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/langs/en_dlg.js new file mode 100644 index 00000000..1f41b9f8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/langs/en_dlg.js @@ -0,0 +1,112 @@ +tinyMCE.addI18n('en.media_dlg',{ +title:"Insert / edit embedded media", +general:"General", +advanced:"Advanced", +file:"File/URL", +list:"List", +size:"Dimensions", +preview:"Preview", +constrain_proportions:"Constrain proportions", +type:"Type", +id:"Id", +name:"Name", +class_name:"Class", +vspace:"V-Space", +hspace:"H-Space", +play:"Auto play", +loop:"Loop", +menu:"Show menu", +quality:"Quality", +scale:"Scale", +align:"Align", +salign:"SAlign", +wmode:"WMode", +bgcolor:"Background", +base:"Base", +flashvars:"Flashvars", +liveconnect:"SWLiveConnect", +autohref:"AutoHREF", +cache:"Cache", +hidden:"Hidden", +controller:"Controller", +kioskmode:"Kiosk mode", +playeveryframe:"Play every frame", +targetcache:"Target cache", +correction:"No correction", +enablejavascript:"Enable JavaScript", +starttime:"Start time", +endtime:"End time", +href:"Href", +qtsrcchokespeed:"Choke speed", +target:"Target", +volume:"Volume", +autostart:"Auto start", +enabled:"Enabled", +fullscreen:"Fullscreen", +invokeurls:"Invoke URLs", +mute:"Mute", +stretchtofit:"Stretch to fit", +windowlessvideo:"Windowless video", +balance:"Balance", +baseurl:"Base URL", +captioningid:"Captioning id", +currentmarker:"Current marker", +currentposition:"Current position", +defaultframe:"Default frame", +playcount:"Play count", +rate:"Rate", +uimode:"UI Mode", +flash_options:"Flash options", +qt_options:"Quicktime options", +wmp_options:"Windows media player options", +rmp_options:"Real media player options", +shockwave_options:"Shockwave options", +autogotourl:"Auto goto URL", +center:"Center", +imagestatus:"Image status", +maintainaspect:"Maintain aspect", +nojava:"No java", +prefetch:"Prefetch", +shuffle:"Shuffle", +console:"Console", +numloop:"Num loops", +controls:"Controls", +scriptcallbacks:"Script callbacks", +swstretchstyle:"Stretch style", +swstretchhalign:"Stretch H-Align", +swstretchvalign:"Stretch V-Align", +sound:"Sound", +progress:"Progress", +qtsrc:"QT Src", +qt_stream_warn:"Streamed rtsp resources should be added to the QT Src field under the advanced tab.\nYou should also add a non streamed version to the Src field..", +align_top:"Top", +align_right:"Right", +align_bottom:"Bottom", +align_left:"Left", +align_center:"Center", +align_top_left:"Top left", +align_top_right:"Top right", +align_bottom_left:"Bottom left", +align_bottom_right:"Bottom right", +flv_options:"Flash video options", +flv_scalemode:"Scale mode", +flv_buffer:"Buffer", +flv_starttime:"Start time", +flv_defaultvolume:"Default volumne", +flv_hiddengui:"Hidden GUI", +flv_autostart:"Auto start", +flv_loop:"Loop", +flv_showscalemodes:"Show scale modes", +flv_smoothvideo:"Smooth video", +flv_jscallback:"JS Callback", +html5_video_options:"HTML5 Video Options", +html5_audio_options:"HTML5 Audio Options", +altsource1:"Alternative source 1", +altsource2:"Alternative source 2", +preload:"Preload", +poster:"Poster", +preload_none:"Don't preload", +preload_metadata:"Preload videos metadata", +preload_auto:"Let user's browser decide", +source:"Source" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/media.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/media.htm new file mode 100644 index 00000000..29c87f42 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/media.htm @@ -0,0 +1,897 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#media_dlg.title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="js/media.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/validate.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <script type="text/javascript" src="../../utils/editable_selects.js"></script> + <link href="css/media.css" rel="stylesheet" type="text/css" /> +</head> +<body style="display: none" role="application"> +<form onsubmit="Media.insert();return false;" action="#"> + <div class="tabs" role="presentation"> + <ul> + <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');Media.formToData();" onmousedown="return false;">{#media_dlg.general}</a></span></li> + <li id="advanced_tab" aria-controls="advanced_panel"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');Media.formToData();" onmousedown="return false;">{#media_dlg.advanced}</a></span></li> + <li id="source_tab" aria-controls="source_panel"><span><a href="javascript:mcTabs.displayTab('source_tab','source_panel');Media.formToData('source');" onmousedown="return false;">{#media_dlg.source}</a></span></li> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="general_panel" class="panel current"> + <fieldset> + <legend>{#media_dlg.general}</legend> + + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> + <tr> + <td><label for="media_type">{#media_dlg.type}</label></td> + <td> + <select id="media_type" name="media_type" onchange="Media.formToData('type');"> + <option value="video">HTML5 Video</option> + <option value="audio">HTML5 Audio</option> + <option value="flash">Flash</option> + <option value="quicktime">QuickTime</option> + <option value="shockwave">Shockwave</option> + <option value="windowsmedia">Windows Media</option> + <option value="realmedia">Real Media</option> + <option value="iframe">Iframe</option> + </select> + </td> + </tr> + <tr> + <td><label for="src">{#media_dlg.file}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input id="src" name="src" type="text" value="" class="mceFocus" onchange="Media.formToData();" /></td> + <td id="filebrowsercontainer"> </td> + </tr> + </table> + </td> + </tr> + <tr id="linklistrow"> + <td><label for="linklist">{#media_dlg.list}</label></td> + <td id="linklistcontainer"><select id="linklist"><option value=""></option></select></td> + </tr> + <tr> + <td><label for="width">{#media_dlg.size}</label></td> + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="text" id="width" name="width" value="" class="size" onchange="Media.formToData('width');" onfocus="Media.beforeResize();" /> x <input type="text" id="height" name="height" value="" class="size" onfocus="Media.beforeResize();" onchange="Media.formToData('height');" /></td> + <td> <input id="constrain" type="checkbox" name="constrain" class="checkbox" checked="checked" /></td> + <td><label id="constrainlabel" for="constrain">{#media_dlg.constrain_proportions}</label></td> + </tr> + </table> + </td> + </tr> + </table> + </fieldset> + + <fieldset> + <legend>{#media_dlg.preview}</legend> + <div id="prev"></div> + </fieldset> + </div> + + <div id="advanced_panel" class="panel"> + <fieldset> + <legend>{#media_dlg.advanced}</legend> + + <table role="presentation" border="0" cellpadding="4" cellspacing="0" width="100%"> + <tr> + <td><label for="id">{#media_dlg.id}</label></td> + <td><input type="text" id="id" name="id" onchange="Media.formToData();" /></td> + <td><label for="name">{#media_dlg.name}</label></td> + <td><input type="text" id="name" name="name" onchange="Media.formToData();" /></td> + </tr> + + <tr> + <td><label for="align">{#media_dlg.align}</label></td> + <td> + <select id="align" name="align" onchange="Media.formToData();"> + <option value="">{#not_set}</option> + <option value="top">{#media_dlg.align_top}</option> + <option value="right">{#media_dlg.align_right}</option> + <option value="bottom">{#media_dlg.align_bottom}</option> + <option value="left">{#media_dlg.align_left}</option> + </select> + </td> + + <td><label for="bgcolor">{#media_dlg.bgcolor}</label></td> + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');Media.formToData();" /></td> + <td id="bgcolor_pickcontainer"> </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td><label for="vspace">{#media_dlg.vspace}</label></td> + <td><input type="text" id="vspace" name="vspace" class="number" onchange="Media.formToData();" /></td> + <td><label for="hspace">{#media_dlg.hspace}</label></td> + <td><input type="text" id="hspace" name="hspace" class="number" onchange="Media.formToData();" /></td> + </tr> + </table> + </fieldset> + + <fieldset id="video_options"> + <legend>{#media_dlg.html5_video_options}</legend> + + <table role="presentation"> + <tr> + <td><label for="video_altsource1">{#media_dlg.altsource1}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="video_altsource1" name="video_altsource1" onchange="Media.formToData();" style="width: 240px" /></td> + <td id="video_altsource1_filebrowser"> </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td><label for="video_altsource2">{#media_dlg.altsource2}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="video_altsource2" name="video_altsource2" onchange="Media.formToData();" style="width: 240px" /></td> + <td id="video_altsource2_filebrowser"> </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td><label for="video_poster">{#media_dlg.poster}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="video_poster" name="video_poster" onchange="Media.formToData();" style="width: 240px" /></td> + <td id="video_poster_filebrowser"> </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td><label for="video_preload">{#media_dlg.preload}</label></td> + <td> + <select id="video_preload" name="video_preload" onchange="Media.formToData();"> + <option value="none">{#media_dlg.preload_none}</option> + <option value="metadata">{#media_dlg.preload_metadata}</option> + <option value="auto">{#media_dlg.preload_auto}</option> + </select> + </td> + </tr> + </table> + + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> + <tr> + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="video_autoplay" name="video_autoplay" onchange="Media.formToData();" /></td> + <td><label for="video_autoplay">{#media_dlg.play}</label></td> + </tr> + </table> + </td> + + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="video_muted" name="video_muted" onchange="Media.formToData();" /></td> + <td><label for="video_muted">{#media_dlg.mute}</label></td> + </tr> + </table> + </td> + + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="video_loop" name="video_loop" onchange="Media.formToData();" /></td> + <td><label for="video_loop">{#media_dlg.loop}</label></td> + </tr> + </table> + </td> + + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="video_controls" name="video_controls" onchange="Media.formToData();" /></td> + <td><label for="video_controls">{#media_dlg.controls}</label></td> + </tr> + </table> + </td> + </tr> + </table> + </fieldset> + + <fieldset id="audio_options"> + <legend>{#media_dlg.html5_audio_options}</legend> + + <table role="presentation"> + <tr> + <td><label for="audio_altsource1">{#media_dlg.altsource1}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="audio_altsource1" name="audio_altsource1" onchange="Media.formToData();" style="width: 240px" /></td> + <td id="audio_altsource1_filebrowser"> </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td><label for="audio_altsource2">{#media_dlg.altsource2}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="audio_altsource2" name="audio_altsource2" onchange="Media.formToData();" style="width: 240px" /></td> + <td id="audio_altsource2_filebrowser"> </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td><label for="audio_preload">{#media_dlg.preload}</label></td> + <td> + <select id="audio_preload" name="audio_preload" onchange="Media.formToData();"> + <option value="none">{#media_dlg.preload_none}</option> + <option value="metadata">{#media_dlg.preload_metadata}</option> + <option value="auto">{#media_dlg.preload_auto}</option> + </select> + </td> + </tr> + </table> + + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> + <tr> + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="audio_autoplay" name="audio_autoplay" onchange="Media.formToData();" /></td> + <td><label for="audio_autoplay">{#media_dlg.play}</label></td> + </tr> + </table> + </td> + + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="audio_loop" name="audio_loop" onchange="Media.formToData();" /></td> + <td><label for="audio_loop">{#media_dlg.loop}</label></td> + </tr> + </table> + </td> + + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="audio_controls" name="audio_controls" onchange="Media.formToData();" /></td> + <td><label for="audio_controls">{#media_dlg.controls}</label></td> + </tr> + </table> + </td> + </tr> + </table> + </fieldset> + + + <fieldset id="flash_options"> + <legend>{#media_dlg.flash_options}</legend> + + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> + <tr> + <td><label for="flash_quality">{#media_dlg.quality}</label></td> + <td> + <select id="flash_quality" name="flash_quality" onchange="Media.formToData();"> + <option value="">{#not_set}</option> + <option value="high">high</option> + <option value="low">low</option> + <option value="autolow">autolow</option> + <option value="autohigh">autohigh</option> + <option value="best">best</option> + </select> + </td> + + <td><label for="flash_scale">{#media_dlg.scale}</label></td> + <td> + <select id="flash_scale" name="flash_scale" onchange="Media.formToData();"> + <option value="">{#not_set}</option> + <option value="showall">showall</option> + <option value="noborder">noborder</option> + <option value="exactfit">exactfit</option> + <option value="noscale">noscale</option> + </select> + </td> + </tr> + + <tr> + <td><label for="flash_wmode">{#media_dlg.wmode}</label></td> + <td> + <select id="flash_wmode" name="flash_wmode" onchange="Media.formToData();"> + <option value="">{#not_set}</option> + <option value="window">window</option> + <option value="opaque">opaque</option> + <option value="transparent">transparent</option> + </select> + </td> + + <td><label for="flash_salign">{#media_dlg.salign}</label></td> + <td> + <select id="flash_salign" name="flash_salign" onchange="Media.formToData();"> + <option value="">{#not_set}</option> + <option value="l">{#media_dlg.align_left}</option> + <option value="t">{#media_dlg.align_top}</option> + <option value="r">{#media_dlg.align_right}</option> + <option value="b">{#media_dlg.align_bottom}</option> + <option value="tl">{#media_dlg.align_top_left}</option> + <option value="tr">{#media_dlg.align_top_right}</option> + <option value="bl">{#media_dlg.align_bottom_left}</option> + <option value="br">{#media_dlg.align_bottom_right}</option> + </select> + </td> + </tr> + + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="flash_play" name="flash_play" checked="checked" onchange="Media.formToData();" /></td> + <td><label for="flash_play">{#media_dlg.play}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="flash_loop" name="flash_loop" checked="checked" onchange="Media.formToData();" /></td> + <td><label for="flash_loop">{#media_dlg.loop}</label></td> + </tr> + </table> + </td> + </tr> + + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="flash_menu" name="flash_menu" checked="checked" onchange="Media.formToData();" /></td> + <td><label for="flash_menu">{#media_dlg.menu}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="flash_swliveconnect" name="flash_swliveconnect" onchange="Media.formToData();" /></td> + <td><label for="flash_swliveconnect">{#media_dlg.liveconnect}</label></td> + </tr> + </table> + </td> + </tr> + </table> + + <table role="presentation"> + <tr> + <td><label for="flash_base">{#media_dlg.base}</label></td> + <td><input type="text" id="flash_base" name="flash_base" onchange="Media.formToData();" /></td> + </tr> + + <tr> + <td><label for="flash_flashvars">{#media_dlg.flashvars}</label></td> + <td><input type="text" id="flash_flashvars" name="flash_flashvars" onchange="Media.formToData();" /></td> + </tr> + </table> + </fieldset> + + <fieldset id="quicktime_options"> + <legend>{#media_dlg.qt_options}</legend> + + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="quicktime_loop" name="quicktime_loop" onchange="Media.formToData();" /></td> + <td><label for="quicktime_loop">{#media_dlg.loop}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="quicktime_autoplay" name="quicktime_autoplay" checked="checked" onchange="Media.formToData();" /></td> + <td><label for="quicktime_autoplay">{#media_dlg.play}</label></td> + </tr> + </table> + </td> + </tr> + + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="quicktime_cache" name="quicktime_cache" onchange="Media.formToData();" /></td> + <td><label for="quicktime_cache">{#media_dlg.cache}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="quicktime_controller" name="quicktime_controller" checked="checked" onchange="Media.formToData();" /></td> + <td><label for="quicktime_controller">{#media_dlg.controller}</label></td> + </tr> + </table> + </td> + </tr> + + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="quicktime_correction" name="quicktime_correction" onchange="Media.formToData();" /></td> + <td><label for="quicktime_correction">{#media_dlg.correction}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="quicktime_enablejavascript" name="quicktime_enablejavascript" onchange="Media.formToData();" /></td> + <td><label for="quicktime_enablejavascript">{#media_dlg.enablejavascript}</label></td> + </tr> + </table> + </td> + </tr> + + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="quicktime_kioskmode" name="quicktime_kioskmode" onchange="Media.formToData();" /></td> + <td><label for="quicktime_kioskmode">{#media_dlg.kioskmode}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="quicktime_autohref" name="quicktime_autohref" onchange="Media.formToData();" /></td> + <td><label for="quicktime_autohref">{#media_dlg.autohref}</label></td> + </tr> + </table> + </td> + </tr> + + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="quicktime_playeveryframe" name="quicktime_playeveryframe" onchange="Media.formToData();" /></td> + <td><label for="quicktime_playeveryframe">{#media_dlg.playeveryframe}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="quicktime_targetcache" name="quicktime_targetcache" onchange="Media.formToData();" /></td> + <td><label for="quicktime_targetcache">{#media_dlg.targetcache}</label></td> + </tr> + </table> + </td> + </tr> + + <tr> + <td><label for="quicktime_scale">{#media_dlg.scale}</label></td> + <td><select id="quicktime_scale" name="quicktime_scale" class="mceEditableSelect" onchange="Media.formToData();"> + <option value="">{#not_set}</option> + <option value="tofit">tofit</option> + <option value="aspect">aspect</option> + </select> + </td> + + <td colspan="2"> </td> + </tr> + + <tr> + <td><label for="quicktime_starttime">{#media_dlg.starttime}</label></td> + <td><input type="text" id="quicktime_starttime" name="quicktime_starttime" onchange="Media.formToData();" /></td> + + <td><label for="quicktime_endtime">{#media_dlg.endtime}</label></td> + <td><input type="text" id="quicktime_endtime" name="quicktime_endtime" onchange="Media.formToData();" /></td> + </tr> + + <tr> + <td><label for="quicktime_target">{#media_dlg.target}</label></td> + <td><input type="text" id="quicktime_target" name="quicktime_target" onchange="Media.formToData();" /></td> + + <td><label for="quicktime_href">{#media_dlg.href}</label></td> + <td><input type="text" id="quicktime_href" name="quicktime_href" onchange="Media.formToData();" /></td> + </tr> + + <tr> + <td><label for="quicktime_qtsrcchokespeed">{#media_dlg.qtsrcchokespeed}</label></td> + <td><input type="text" id="quicktime_qtsrcchokespeed" name="quicktime_qtsrcchokespeed" onchange="Media.formToData();" /></td> + + <td><label for="quicktime_volume">{#media_dlg.volume}</label></td> + <td><input type="text" id="quicktime_volume" name="quicktime_volume" onchange="Media.formToData();" /></td> + </tr> + + <tr> + <td><label for="quicktime_qtsrc">{#media_dlg.qtsrc}</label></td> + <td colspan="4"> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="quicktime_qtsrc" name="quicktime_qtsrc" onchange="Media.formToData();" /></td> + <td id="qtsrcfilebrowsercontainer"> </td> + </tr> + </table> + </td> + </tr> + </table> + </fieldset> + + <fieldset id="windowsmedia_options"> + <legend>{#media_dlg.wmp_options}</legend> + + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="windowsmedia_autostart" name="windowsmedia_autostart" checked="checked" onchange="Media.formToData();" /></td> + <td><label for="windowsmedia_autostart">{#media_dlg.autostart}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="windowsmedia_enabled" name="windowsmedia_enabled" onchange="Media.formToData();" /></td> + <td><label for="windowsmedia_enabled">{#media_dlg.enabled}</label></td> + </tr> + </table> + </td> + </tr> + + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="windowsmedia_enablecontextmenu" name="windowsmedia_enablecontextmenu" checked="checked" onchange="Media.formToData();" /></td> + <td><label for="windowsmedia_enablecontextmenu">{#media_dlg.menu}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="windowsmedia_fullscreen" name="windowsmedia_fullscreen" onchange="Media.formToData();" /></td> + <td><label for="windowsmedia_fullscreen">{#media_dlg.fullscreen}</label></td> + </tr> + </table> + </td> + </tr> + + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="windowsmedia_invokeurls" name="windowsmedia_invokeurls" checked="checked" onchange="Media.formToData();" /></td> + <td><label for="windowsmedia_invokeurls">{#media_dlg.invokeurls}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="windowsmedia_mute" name="windowsmedia_mute" onchange="Media.formToData();" /></td> + <td><label for="windowsmedia_mute">{#media_dlg.mute}</label></td> + </tr> + </table> + </td> + </tr> + + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="windowsmedia_stretchtofit" name="windowsmedia_stretchtofit" onchange="Media.formToData();" /></td> + <td><label for="windowsmedia_stretchtofit">{#media_dlg.stretchtofit}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="windowsmedia_windowlessvideo" name="windowsmedia_windowlessvideo" onchange="Media.formToData();" /></td> + <td><label for="windowsmedia_windowlessvideo">{#media_dlg.windowlessvideo}</label></td> + </tr> + </table> + </td> + </tr> + + <tr> + <td><label for="windowsmedia_balance">{#media_dlg.balance}</label></td> + <td><input type="text" id="windowsmedia_balance" name="windowsmedia_balance" onchange="Media.formToData();" /></td> + + <td><label for="windowsmedia_baseurl">{#media_dlg.baseurl}</label></td> + <td><input type="text" id="windowsmedia_baseurl" name="windowsmedia_baseurl" onchange="Media.formToData();" /></td> + </tr> + + <tr> + <td><label for="windowsmedia_captioningid">{#media_dlg.captioningid}</label></td> + <td><input type="text" id="windowsmedia_captioningid" name="windowsmedia_captioningid" onchange="Media.formToData();" /></td> + + <td><label for="windowsmedia_currentmarker">{#media_dlg.currentmarker}</label></td> + <td><input type="text" id="windowsmedia_currentmarker" name="windowsmedia_currentmarker" onchange="Media.formToData();" /></td> + </tr> + + <tr> + <td><label for="windowsmedia_currentposition">{#media_dlg.currentposition}</label></td> + <td><input type="text" id="windowsmedia_currentposition" name="windowsmedia_currentposition" onchange="Media.formToData();" /></td> + + <td><label for="windowsmedia_defaultframe">{#media_dlg.defaultframe}</label></td> + <td><input type="text" id="windowsmedia_defaultframe" name="windowsmedia_defaultframe" onchange="Media.formToData();" /></td> + </tr> + + <tr> + <td><label for="windowsmedia_playcount">{#media_dlg.playcount}</label></td> + <td><input type="text" id="windowsmedia_playcount" name="windowsmedia_playcount" onchange="Media.formToData();" /></td> + + <td><label for="windowsmedia_rate">{#media_dlg.rate}</label></td> + <td><input type="text" id="windowsmedia_rate" name="windowsmedia_rate" onchange="Media.formToData();" /></td> + </tr> + + <tr> + <td><label for="windowsmedia_uimode">{#media_dlg.uimode}</label></td> + <td><input type="text" id="windowsmedia_uimode" name="windowsmedia_uimode" onchange="Media.formToData();" /></td> + + <td><label for="windowsmedia_volume">{#media_dlg.volume}</label></td> + <td><input type="text" id="windowsmedia_volume" name="windowsmedia_volume" onchange="Media.formToData();" /></td> + </tr> + + </table> + </fieldset> + + <fieldset id="realmedia_options"> + <legend>{#media_dlg.rmp_options}</legend> + + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="realmedia_autostart" name="realmedia_autostart" onchange="Media.formToData();" /></td> + <td><label for="realmedia_autostart">{#media_dlg.autostart}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="realmedia_loop" name="realmedia_loop" onchange="Media.formToData();" /></td> + <td><label for="realmedia_loop">{#media_dlg.loop}</label></td> + </tr> + </table> + </td> + </tr> + + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="realmedia_autogotourl" name="realmedia_autogotourl" checked="checked" onchange="Media.formToData();" /></td> + <td><label for="realmedia_autogotourl">{#media_dlg.autogotourl}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="realmedia_center" name="realmedia_center" onchange="Media.formToData();" /></td> + <td><label for="realmedia_center">{#media_dlg.center}</label></td> + </tr> + </table> + </td> + </tr> + + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="realmedia_imagestatus" name="realmedia_imagestatus" checked="checked" onchange="Media.formToData();" /></td> + <td><label for="realmedia_imagestatus">{#media_dlg.imagestatus}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="realmedia_maintainaspect" name="realmedia_maintainaspect" onchange="Media.formToData();" /></td> + <td><label for="realmedia_maintainaspect">{#media_dlg.maintainaspect}</label></td> + </tr> + </table> + </td> + </tr> + + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="realmedia_nojava" name="realmedia_nojava" onchange="Media.formToData();" /></td> + <td><label for="realmedia_nojava">{#media_dlg.nojava}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="realmedia_prefetch" name="realmedia_prefetch" onchange="Media.formToData();" /></td> + <td><label for="realmedia_prefetch">{#media_dlg.prefetch}</label></td> + </tr> + </table> + </td> + </tr> + + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="realmedia_shuffle" name="realmedia_shuffle" onchange="Media.formToData();" /></td> + <td><label for="realmedia_shuffle">{#media_dlg.shuffle}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + + </td> + </tr> + + <tr> + <td><label for="realmedia_console">{#media_dlg.console}</label></td> + <td><input type="text" id="realmedia_console" name="realmedia_console" onchange="Media.formToData();" /></td> + + <td><label for="realmedia_controls">{#media_dlg.controls}</label></td> + <td><input type="text" id="realmedia_controls" name="realmedia_controls" onchange="Media.formToData();" /></td> + </tr> + + <tr> + <td><label for="realmedia_numloop">{#media_dlg.numloop}</label></td> + <td><input type="text" id="realmedia_numloop" name="realmedia_numloop" onchange="Media.formToData();" /></td> + + <td><label for="realmedia_scriptcallbacks">{#media_dlg.scriptcallbacks}</label></td> + <td><input type="text" id="realmedia_scriptcallbacks" name="realmedia_scriptcallbacks" onchange="Media.formToData();" /></td> + </tr> + </table> + </fieldset> + + <fieldset id="shockwave_options"> + <legend>{#media_dlg.shockwave_options}</legend> + + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> + <tr> + <td><label for="shockwave_swstretchstyle">{#media_dlg.swstretchstyle}</label></td> + <td> + <select id="shockwave_swstretchstyle" name="shockwave_swstretchstyle" onchange="Media.formToData();"> + <option value="none">{#not_set}</option> + <option value="meet">Meet</option> + <option value="fill">Fill</option> + <option value="stage">Stage</option> + </select> + </td> + + <td><label for="shockwave_swvolume">{#media_dlg.volume}</label></td> + <td><input type="text" id="shockwave_swvolume" name="shockwave_swvolume" onchange="Media.formToData();" /></td> + </tr> + + <tr> + <td><label for="shockwave_swstretchhalign">{#media_dlg.swstretchhalign}</label></td> + <td> + <select id="shockwave_swstretchhalign" name="shockwave_swstretchhalign" onchange="Media.formToData();"> + <option value="none">{#not_set}</option> + <option value="left">{#media_dlg.align_left}</option> + <option value="center">{#media_dlg.align_center}</option> + <option value="right">{#media_dlg.align_right}</option> + </select> + </td> + + <td><label for="shockwave_swstretchvalign">{#media_dlg.swstretchvalign}</label></td> + <td> + <select id="shockwave_swstretchvalign" name="shockwave_swstretchvalign" onchange="Media.formToData();"> + <option value="none">{#not_set}</option> + <option value="meet">Meet</option> + <option value="fill">Fill</option> + <option value="stage">Stage</option> + </select> + </td> + </tr> + + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="shockwave_autostart" name="shockwave_autostart" onchange="Media.formToData();" checked="checked" /></td> + <td><label for="shockwave_autostart">{#media_dlg.autostart}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="shockwave_sound" name="shockwave_sound" onchange="Media.formToData();" checked="checked" /></td> + <td><label for="shockwave_sound">{#media_dlg.sound}</label></td> + </tr> + </table> + </td> + </tr> + + + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="shockwave_swliveconnect" name="shockwave_swliveconnect" onchange="Media.formToData();" /></td> + <td><label for="shockwave_swliveconnect">{#media_dlg.liveconnect}</label></td> + </tr> + </table> + </td> + + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input type="checkbox" class="checkbox" id="shockwave_progress" name="shockwave_progress" onchange="Media.formToData();" checked="checked" /></td> + <td><label for="shockwave_progress">{#media_dlg.progress}</label></td> + </tr> + </table> + </td> + </tr> + </table> + </fieldset> + </div> + + <div id="source_panel" class="panel"> + <fieldset> + <legend>{#media_dlg.source}</legend> + <textarea id="source" style="width: 100%; height: 390px"></textarea> + </fieldset> + </div> + </div> + + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#insert}" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> + </form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/moxieplayer.swf b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/moxieplayer.swf new file mode 100644 index 00000000..2a040358 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/media/moxieplayer.swf differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js new file mode 100644 index 00000000..73947355 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Nonbreaking",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceNonBreaking",function(){a.execCommand("mceInsertContent",false,(a.plugins.visualchars&&a.plugins.visualchars.state)?'<span data-mce-bogus="1" class="mceItemHidden mceItemNbsp"> </span>':" ")});a.addButton("nonbreaking",{title:"nonbreaking.nonbreaking_desc",cmd:"mceNonBreaking"});if(a.getParam("nonbreaking_force_tab")){a.onKeyDown.add(function(d,f){if(tinymce.isIE&&f.keyCode==9){d.execCommand("mceNonBreaking");d.execCommand("mceNonBreaking");d.execCommand("mceNonBreaking");tinymce.dom.Event.cancel(f)}})}},getInfo:function(){return{longname:"Nonbreaking space",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("nonbreaking",tinymce.plugins.Nonbreaking)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js new file mode 100644 index 00000000..2b4f5ff2 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js @@ -0,0 +1,53 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Nonbreaking', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceNonBreaking', function() { + ed.execCommand('mceInsertContent', false, (ed.plugins.visualchars && ed.plugins.visualchars.state) ? '<span data-mce-bogus="1" class="mceItemHidden mceItemNbsp"> </span>' : ' '); + }); + + // Register buttons + ed.addButton('nonbreaking', {title : 'nonbreaking.nonbreaking_desc', cmd : 'mceNonBreaking'}); + + if (ed.getParam('nonbreaking_force_tab')) { + ed.onKeyDown.add(function(ed, e) { + if (tinymce.isIE && e.keyCode == 9) { + ed.execCommand('mceNonBreaking'); + ed.execCommand('mceNonBreaking'); + ed.execCommand('mceNonBreaking'); + tinymce.dom.Event.cancel(e); + } + }); + } + }, + + getInfo : function() { + return { + longname : 'Nonbreaking space', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + + // Private methods + }); + + // Register plugin + tinymce.PluginManager.add('nonbreaking', tinymce.plugins.Nonbreaking); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js new file mode 100644 index 00000000..2d60138e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.dom.Event;tinymce.create("tinymce.plugins.NonEditablePlugin",{init:function(d,e){var f=this,c,b,g;f.editor=d;c=d.getParam("noneditable_editable_class","mceEditable");b=d.getParam("noneditable_noneditable_class","mceNonEditable");d.onNodeChange.addToTop(function(i,h,l){var k,j;k=i.dom.getParent(i.selection.getStart(),function(m){return i.dom.hasClass(m,b)});j=i.dom.getParent(i.selection.getEnd(),function(m){return i.dom.hasClass(m,b)});if(k||j){g=1;f._setDisabled(1);return false}else{if(g==1){f._setDisabled(0);g=0}}})},getInfo:function(){return{longname:"Non editable elements",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_block:function(c,d){var b=d.keyCode;if((b>32&&b<41)||(b>111&&b<124)){return}return a.cancel(d)},_setDisabled:function(d){var c=this,b=c.editor;tinymce.each(b.controlManager.controls,function(e){e.setDisabled(d)});if(d!==c.disabled){if(d){b.onKeyDown.addToTop(c._block);b.onKeyPress.addToTop(c._block);b.onKeyUp.addToTop(c._block);b.onPaste.addToTop(c._block);b.onContextMenu.addToTop(c._block)}else{b.onKeyDown.remove(c._block);b.onKeyPress.remove(c._block);b.onKeyUp.remove(c._block);b.onPaste.remove(c._block);b.onContextMenu.remove(c._block)}c.disabled=d}}});tinymce.PluginManager.add("noneditable",tinymce.plugins.NonEditablePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js new file mode 100644 index 00000000..47b8a3be --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js @@ -0,0 +1,95 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var Event = tinymce.dom.Event; + + tinymce.create('tinymce.plugins.NonEditablePlugin', { + init : function(ed, url) { + var t = this, editClass, nonEditClass, state; + + t.editor = ed; + editClass = ed.getParam("noneditable_editable_class", "mceEditable"); + nonEditClass = ed.getParam("noneditable_noneditable_class", "mceNonEditable"); + + ed.onNodeChange.addToTop(function(ed, cm, n) { + var sc, ec; + + // Block if start or end is inside a non editable element + sc = ed.dom.getParent(ed.selection.getStart(), function(n) { + return ed.dom.hasClass(n, nonEditClass); + }); + + ec = ed.dom.getParent(ed.selection.getEnd(), function(n) { + return ed.dom.hasClass(n, nonEditClass); + }); + + // Block or unblock + if (sc || ec) { + state = 1; + t._setDisabled(1); + return false; + } else if (state == 1) { + t._setDisabled(0); + state = 0; + } + }); + }, + + getInfo : function() { + return { + longname : 'Non editable elements', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + _block : function(ed, e) { + var k = e.keyCode; + + // Don't block arrow keys, pg up/down, and F1-F12 + if ((k > 32 && k < 41) || (k > 111 && k < 124)) + return; + + return Event.cancel(e); + }, + + _setDisabled : function(s) { + var t = this, ed = t.editor; + + tinymce.each(ed.controlManager.controls, function(c) { + c.setDisabled(s); + }); + + if (s !== t.disabled) { + if (s) { + ed.onKeyDown.addToTop(t._block); + ed.onKeyPress.addToTop(t._block); + ed.onKeyUp.addToTop(t._block); + ed.onPaste.addToTop(t._block); + ed.onContextMenu.addToTop(t._block); + } else { + ed.onKeyDown.remove(t._block); + ed.onKeyPress.remove(t._block); + ed.onKeyUp.remove(t._block); + ed.onPaste.remove(t._block); + ed.onContextMenu.remove(t._block); + } + + t.disabled = s; + } + } + }); + + // Register plugin + tinymce.PluginManager.add('noneditable', tinymce.plugins.NonEditablePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js new file mode 100644 index 00000000..35085e8a --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.PageBreakPlugin",{init:function(b,d){var f='<img src="'+b.theme.url+'/img/trans.gif" class="mcePageBreak mceItemNoResize" />',a="mcePageBreak",c=b.getParam("pagebreak_separator","<!-- pagebreak -->"),e;e=new RegExp(c.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,function(g){return"\\"+g}),"g");b.addCommand("mcePageBreak",function(){b.execCommand("mceInsertContent",0,f)});b.addButton("pagebreak",{title:"pagebreak.desc",cmd:a});b.onInit.add(function(){if(b.theme.onResolveName){b.theme.onResolveName.add(function(g,h){if(h.node.nodeName=="IMG"&&b.dom.hasClass(h.node,a)){h.name="pagebreak"}})}});b.onClick.add(function(g,h){h=h.target;if(h.nodeName==="IMG"&&g.dom.hasClass(h,a)){g.selection.select(h)}});b.onNodeChange.add(function(h,g,i){g.setActive("pagebreak",i.nodeName==="IMG"&&h.dom.hasClass(i,a))});b.onBeforeSetContent.add(function(g,h){h.content=h.content.replace(e,f)});b.onPostProcess.add(function(g,h){if(h.get){h.content=h.content.replace(/<img[^>]+>/g,function(i){if(i.indexOf('class="mcePageBreak')!==-1){i=c}return i})}})},getInfo:function(){return{longname:"PageBreak",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/pagebreak",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("pagebreak",tinymce.plugins.PageBreakPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js new file mode 100644 index 00000000..fc3b3b4a --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js @@ -0,0 +1,74 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.PageBreakPlugin', { + init : function(ed, url) { + var pb = '<img src="' + ed.theme.url + '/img/trans.gif" class="mcePageBreak mceItemNoResize" />', cls = 'mcePageBreak', sep = ed.getParam('pagebreak_separator', '<!-- pagebreak -->'), pbRE; + + pbRE = new RegExp(sep.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g, function(a) {return '\\' + a;}), 'g'); + + // Register commands + ed.addCommand('mcePageBreak', function() { + ed.execCommand('mceInsertContent', 0, pb); + }); + + // Register buttons + ed.addButton('pagebreak', {title : 'pagebreak.desc', cmd : cls}); + + ed.onInit.add(function() { + if (ed.theme.onResolveName) { + ed.theme.onResolveName.add(function(th, o) { + if (o.node.nodeName == 'IMG' && ed.dom.hasClass(o.node, cls)) + o.name = 'pagebreak'; + }); + } + }); + + ed.onClick.add(function(ed, e) { + e = e.target; + + if (e.nodeName === 'IMG' && ed.dom.hasClass(e, cls)) + ed.selection.select(e); + }); + + ed.onNodeChange.add(function(ed, cm, n) { + cm.setActive('pagebreak', n.nodeName === 'IMG' && ed.dom.hasClass(n, cls)); + }); + + ed.onBeforeSetContent.add(function(ed, o) { + o.content = o.content.replace(pbRE, pb); + }); + + ed.onPostProcess.add(function(ed, o) { + if (o.get) + o.content = o.content.replace(/<img[^>]+>/g, function(im) { + if (im.indexOf('class="mcePageBreak') !== -1) + im = sep; + + return im; + }); + }); + }, + + getInfo : function() { + return { + longname : 'PageBreak', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/pagebreak', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('pagebreak', tinymce.plugins.PageBreakPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/editor_plugin.js new file mode 100644 index 00000000..9ebc2b2b --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/editor_plugin.js @@ -0,0 +1 @@ +(function(){var c=tinymce.each,a={paste_auto_cleanup_on_paste:true,paste_enable_default_filters:true,paste_block_drop:false,paste_retain_style_properties:"none",paste_strip_class_attributes:"mso",paste_remove_spans:false,paste_remove_styles:false,paste_remove_styles_if_webkit:true,paste_convert_middot_lists:true,paste_convert_headers_to_strong:false,paste_dialog_width:"450",paste_dialog_height:"400",paste_text_use_dialog:false,paste_text_sticky:false,paste_text_sticky_default:false,paste_text_notifyalways:false,paste_text_linebreaktype:"p",paste_text_replacements:[[/\u2026/g,"..."],[/[\x93\x94\u201c\u201d]/g,'"'],[/[\x60\x91\x92\u2018\u2019]/g,"'"]]};function b(d,e){return d.getParam(e,a[e])}tinymce.create("tinymce.plugins.PastePlugin",{init:function(d,e){var f=this;f.editor=d;f.url=e;f.onPreProcess=new tinymce.util.Dispatcher(f);f.onPostProcess=new tinymce.util.Dispatcher(f);f.onPreProcess.add(f._preProcess);f.onPostProcess.add(f._postProcess);f.onPreProcess.add(function(i,j){d.execCallback("paste_preprocess",i,j)});f.onPostProcess.add(function(i,j){d.execCallback("paste_postprocess",i,j)});d.onKeyDown.addToTop(function(i,j){if(((tinymce.isMac?j.metaKey:j.ctrlKey)&&j.keyCode==86)||(j.shiftKey&&j.keyCode==45)){return false}});d.pasteAsPlainText=b(d,"paste_text_sticky_default");function h(l,j){var k=d.dom,i;f.onPreProcess.dispatch(f,l);l.node=k.create("div",0,l.content);if(tinymce.isGecko){i=d.selection.getRng(true);if(i.startContainer==i.endContainer&&i.startContainer.nodeType==3){if(l.node.childNodes.length===1&&/^(p|h[1-6]|pre)$/i.test(l.node.firstChild.nodeName)&&l.content.indexOf("__MCE_ITEM__")===-1){k.remove(l.node.firstChild,true)}}}f.onPostProcess.dispatch(f,l);l.content=d.serializer.serialize(l.node,{getInner:1,forced_root_block:""});if((!j)&&(d.pasteAsPlainText)){f._insertPlainText(d,k,l.content);if(!b(d,"paste_text_sticky")){d.pasteAsPlainText=false;d.controlManager.setActive("pastetext",false)}}else{f._insert(l.content)}}d.addCommand("mceInsertClipboardContent",function(i,j){h(j,true)});if(!b(d,"paste_text_use_dialog")){d.addCommand("mcePasteText",function(j,i){var k=tinymce.util.Cookie;d.pasteAsPlainText=!d.pasteAsPlainText;d.controlManager.setActive("pastetext",d.pasteAsPlainText);if((d.pasteAsPlainText)&&(!k.get("tinymcePasteText"))){if(b(d,"paste_text_sticky")){d.windowManager.alert(d.translate("paste.plaintext_mode_sticky"))}else{d.windowManager.alert(d.translate("paste.plaintext_mode_sticky"))}if(!b(d,"paste_text_notifyalways")){k.set("tinymcePasteText","1",new Date(new Date().getFullYear()+1,12,31))}}})}d.addButton("pastetext",{title:"paste.paste_text_desc",cmd:"mcePasteText"});d.addButton("selectall",{title:"paste.selectall_desc",cmd:"selectall"});function g(s){var l,p,j,t,k=d.selection,o=d.dom,q=d.getBody(),i,r;if(s.clipboardData||o.doc.dataTransfer){r=(s.clipboardData||o.doc.dataTransfer).getData("Text");if(d.pasteAsPlainText){s.preventDefault();h({content:r.replace(/\r?\n/g,"<br />")});return}}if(o.get("_mcePaste")){return}l=o.add(q,"div",{id:"_mcePaste","class":"mcePaste","data-mce-bogus":"1"},"\uFEFF\uFEFF");if(q!=d.getDoc().body){i=o.getPos(d.selection.getStart(),q).y}else{i=q.scrollTop+o.getViewPort(d.getWin()).y}o.setStyles(l,{position:"absolute",left:tinymce.isGecko?-40:0,top:i-25,width:1,height:1,overflow:"hidden"});if(tinymce.isIE){t=k.getRng();j=o.doc.body.createTextRange();j.moveToElementText(l);j.execCommand("Paste");o.remove(l);if(l.innerHTML==="\uFEFF\uFEFF"){d.execCommand("mcePasteWord");s.preventDefault();return}k.setRng(t);k.setContent("");setTimeout(function(){h({content:l.innerHTML})},0);return tinymce.dom.Event.cancel(s)}else{function m(n){n.preventDefault()}o.bind(d.getDoc(),"mousedown",m);o.bind(d.getDoc(),"keydown",m);p=d.selection.getRng();l=l.firstChild;j=d.getDoc().createRange();j.setStart(l,0);j.setEnd(l,2);k.setRng(j);window.setTimeout(function(){var u="",n;if(!o.select("div.mcePaste > div.mcePaste").length){n=o.select("div.mcePaste");c(n,function(w){var v=w.firstChild;if(v&&v.nodeName=="DIV"&&v.style.marginTop&&v.style.backgroundColor){o.remove(v,1)}c(o.select("span.Apple-style-span",w),function(x){o.remove(x,1)});c(o.select("br[data-mce-bogus]",w),function(x){o.remove(x)});if(w.parentNode.className!="mcePaste"){u+=w.innerHTML}})}else{u="<p>"+o.encode(r).replace(/\r?\n\r?\n/g,"</p><p>").replace(/\r?\n/g,"<br />")+"</p>"}c(o.select("div.mcePaste"),function(v){o.remove(v)});if(p){k.setRng(p)}h({content:u});o.unbind(d.getDoc(),"mousedown",m);o.unbind(d.getDoc(),"keydown",m)},0)}}if(b(d,"paste_auto_cleanup_on_paste")){if(tinymce.isOpera||/Firefox\/2/.test(navigator.userAgent)){d.onKeyDown.addToTop(function(i,j){if(((tinymce.isMac?j.metaKey:j.ctrlKey)&&j.keyCode==86)||(j.shiftKey&&j.keyCode==45)){g(j)}})}else{d.onPaste.addToTop(function(i,j){return g(j)})}}d.onInit.add(function(){d.controlManager.setActive("pastetext",d.pasteAsPlainText);if(b(d,"paste_block_drop")){d.dom.bind(d.getBody(),["dragend","dragover","draggesture","dragdrop","drop","drag"],function(i){i.preventDefault();i.stopPropagation();return false})}});f._legacySupport()},getInfo:function(){return{longname:"Paste text/word",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_preProcess:function(g,e){var k=this.editor,j=e.content,p=tinymce.grep,n=tinymce.explode,f=tinymce.trim,l,i;function d(h){c(h,function(o){if(o.constructor==RegExp){j=j.replace(o,"")}else{j=j.replace(o[0],o[1])}})}if(k.settings.paste_enable_default_filters==false){return}if(tinymce.isIE&&document.documentMode>=9){d([[/(?:<br> [\s\r\n]+|<br>)*(<\/?(h[1-6r]|p|div|address|pre|form|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|blockquote|center|dl|dt|dd|dir|fieldset)[^>]*>)(?:<br> [\s\r\n]+|<br>)*/g,"$1"]]);d([[/<br><br>/g,"<BR><BR>"],[/<br>/g," "],[/<BR><BR>/g,"<br>"],])}if(/class="?Mso|style="[^"]*\bmso-|w:WordDocument/i.test(j)||e.wordContent){e.wordContent=true;d([/^\s*( )+/gi,/( |<br[^>]*>)+\s*$/gi]);if(b(k,"paste_convert_headers_to_strong")){j=j.replace(/<p [^>]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi,"<p><strong>$1</strong></p>")}if(b(k,"paste_convert_middot_lists")){d([[/<!--\[if !supportLists\]-->/gi,"$&__MCE_ITEM__"],[/(<span[^>]+(?:mso-list:|:\s*symbol)[^>]+>)/gi,"$1__MCE_ITEM__"],[/(<p[^>]+(?:MsoListParagraph)[^>]+>)/gi,"$1__MCE_ITEM__"]])}d([/<!--[\s\S]+?-->/gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/ /gi,"\u00a0"]]);do{l=j.length;j=j.replace(/(<[a-z][^>]*\s)(?:id|name|language|type|on\w+|\w+:\w+)=(?:"[^"]*"|\w+)\s?/gi,"$1")}while(l!=j.length);if(b(k,"paste_retain_style_properties").replace(/^none$/i,"").length==0){j=j.replace(/<\/?span[^>]*>/gi,"")}else{d([[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(o,h){return(h.length>0)?h.replace(/./," ").slice(Math.floor(h.length/2)).split("").join("\u00a0"):""}],[/(<[a-z][^>]*)\sstyle="([^"]*)"/gi,function(t,h,r){var u=[],o=0,q=n(f(r).replace(/"/gi,"'"),";");c(q,function(s){var w,y,z=n(s,":");function x(A){return A+((A!=="0")&&(/\d$/.test(A)))?"px":""}if(z.length==2){w=z[0].toLowerCase();y=z[1].toLowerCase();switch(w){case"mso-padding-alt":case"mso-padding-top-alt":case"mso-padding-right-alt":case"mso-padding-bottom-alt":case"mso-padding-left-alt":case"mso-margin-alt":case"mso-margin-top-alt":case"mso-margin-right-alt":case"mso-margin-bottom-alt":case"mso-margin-left-alt":case"mso-table-layout-alt":case"mso-height":case"mso-width":case"mso-vertical-align-alt":u[o++]=w.replace(/^mso-|-alt$/g,"")+":"+x(y);return;case"horiz-align":u[o++]="text-align:"+y;return;case"vert-align":u[o++]="vertical-align:"+y;return;case"font-color":case"mso-foreground":u[o++]="color:"+y;return;case"mso-background":case"mso-highlight":u[o++]="background:"+y;return;case"mso-default-height":u[o++]="min-height:"+x(y);return;case"mso-default-width":u[o++]="min-width:"+x(y);return;case"mso-padding-between-alt":u[o++]="border-collapse:separate;border-spacing:"+x(y);return;case"text-line-through":if((y=="single")||(y=="double")){u[o++]="text-decoration:line-through"}return;case"mso-zero-height":if(y=="yes"){u[o++]="display:none"}return}if(/^(mso|column|font-emph|lang|layout|line-break|list-image|nav|panose|punct|row|ruby|sep|size|src|tab-|table-border|text-(?!align|decor|indent|trans)|top-bar|version|vnd|word-break)/.test(w)){return}u[o++]=w+":"+z[1]}});if(o>0){return h+' style="'+u.join(";")+'"'}else{return h}}]])}}if(b(k,"paste_convert_headers_to_strong")){d([[/<h[1-6][^>]*>/gi,"<p><strong>"],[/<\/h[1-6][^>]*>/gi,"</strong></p>"]])}d([[/Version:[\d.]+\nStartHTML:\d+\nEndHTML:\d+\nStartFragment:\d+\nEndFragment:\d+/gi,""]]);i=b(k,"paste_strip_class_attributes");if(i!=="none"){function m(q,o){if(i==="all"){return""}var h=p(n(o.replace(/^(["'])(.*)\1$/,"$2")," "),function(r){return(/^(?!mso)/i.test(r))});return h.length?' class="'+h.join(" ")+'"':""}j=j.replace(/ class="([^"]+)"/gi,m);j=j.replace(/ class=([\-\w]+)/gi,m)}if(b(k,"paste_remove_spans")){j=j.replace(/<\/?span[^>]*>/gi,"")}e.content=j},_postProcess:function(g,i){var f=this,e=f.editor,h=e.dom,d;if(e.settings.paste_enable_default_filters==false){return}if(i.wordContent){c(h.select("a",i.node),function(j){if(!j.href||j.href.indexOf("#_Toc")!=-1){h.remove(j,1)}});if(b(e,"paste_convert_middot_lists")){f._convertLists(g,i)}d=b(e,"paste_retain_style_properties");if((tinymce.is(d,"string"))&&(d!=="all")&&(d!=="*")){d=tinymce.explode(d.replace(/^none$/i,""));c(h.select("*",i.node),function(m){var n={},k=0,l,o,j;if(d){for(l=0;l<d.length;l++){o=d[l];j=h.getStyle(m,o);if(j){n[o]=j;k++}}}h.setAttrib(m,"style","");if(d&&k>0){h.setStyles(m,n)}else{if(m.nodeName=="SPAN"&&!m.className){h.remove(m,true)}}})}}if(b(e,"paste_remove_styles")||(b(e,"paste_remove_styles_if_webkit")&&tinymce.isWebKit)){c(h.select("*[style]",i.node),function(j){j.removeAttribute("style");j.removeAttribute("data-mce-style")})}else{if(tinymce.isWebKit){c(h.select("*",i.node),function(j){j.removeAttribute("data-mce-style")})}}},_convertLists:function(g,e){var i=g.editor.dom,h,l,d=-1,f,m=[],k,j;c(i.select("p",e.node),function(t){var q,u="",s,r,n,o;for(q=t.firstChild;q&&q.nodeType==3;q=q.nextSibling){u+=q.nodeValue}u=t.innerHTML.replace(/<\/?\w+[^>]*>/gi,"").replace(/ /g,"\u00a0");if(/^(__MCE_ITEM__)+[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*\u00a0*/.test(u)){s="ul"}if(/^__MCE_ITEM__\s*\w+\.\s*\u00a0+/.test(u)){s="ol"}if(s){f=parseFloat(t.style.marginLeft||0);if(f>d){m.push(f)}if(!h||s!=k){h=i.create(s);i.insertAfter(h,t)}else{if(f>d){h=l.appendChild(i.create(s))}else{if(f<d){n=tinymce.inArray(m,f);o=i.getParents(h.parentNode,s);h=o[o.length-1-n]||h}}}c(i.select("span",t),function(v){var p=v.innerHTML.replace(/<\/?\w+[^>]*>/gi,"");if(s=="ul"&&/^__MCE_ITEM__[\u2022\u00b7\u00a7\u00d8o\u25CF]/.test(p)){i.remove(v)}else{if(/^__MCE_ITEM__[\s\S]*\w+\.( |\u00a0)*\s*/.test(p)){i.remove(v)}}});r=t.innerHTML;if(s=="ul"){r=t.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*( |\u00a0)+\s*/,"")}else{r=t.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^\s*\w+\.( |\u00a0)+\s*/,"")}l=h.appendChild(i.create("li",0,r));i.remove(t);d=f;k=s}else{h=d=0}});j=e.node.innerHTML;if(j.indexOf("__MCE_ITEM__")!=-1){e.node.innerHTML=j.replace(/__MCE_ITEM__/g,"")}},_insert:function(f,d){var e=this.editor,g=e.selection.getRng();if(!e.selection.isCollapsed()&&g.startContainer!=g.endContainer){e.getDoc().execCommand("Delete",false,null)}e.execCommand("mceInsertContent",false,f,{skip_undo:d})},_insertPlainText:function(j,x,v){var t,u,l,k,r,e,p,f,n=j.getWin(),z=j.getDoc(),s=j.selection,m=tinymce.is,y=tinymce.inArray,g=b(j,"paste_text_linebreaktype"),o=b(j,"paste_text_replacements");function q(d){c(d,function(h){if(h.constructor==RegExp){v=v.replace(h,"")}else{v=v.replace(h[0],h[1])}})}if((typeof(v)==="string")&&(v.length>0)){if(/<(?:p|br|h[1-6]|ul|ol|dl|table|t[rdh]|div|blockquote|fieldset|pre|address|center)[^>]*>/i.test(v)){q([/[\n\r]+/g])}else{q([/\r+/g])}q([[/<\/(?:p|h[1-6]|ul|ol|dl|table|div|blockquote|fieldset|pre|address|center)>/gi,"\n\n"],[/<br[^>]*>|<\/tr>/gi,"\n"],[/<\/t[dh]>\s*<t[dh][^>]*>/gi,"\t"],/<[a-z!\/?][^>]*>/gi,[/ /gi," "],[/(?:(?!\n)\s)*(\n+)(?:(?!\n)\s)*/gi,"$1"],[/\n{3,}/g,"\n\n"],/^\s+|\s+$/g]);v=x.decode(tinymce.html.Entities.encodeRaw(v));if(!s.isCollapsed()){z.execCommand("Delete",false,null)}if(m(o,"array")||(m(o,"array"))){q(o)}else{if(m(o,"string")){q(new RegExp(o,"gi"))}}if(g=="none"){q([[/\n+/g," "]])}else{if(g=="br"){q([[/\n/g,"<br />"]])}else{q([/^\s+|\s+$/g,[/\n\n/g,"</p><p>"],[/\n/g,"<br />"]])}}if((l=v.indexOf("</p><p>"))!=-1){k=v.lastIndexOf("</p><p>");r=s.getNode();e=[];do{if(r.nodeType==1){if(r.nodeName=="TD"||r.nodeName=="BODY"){break}e[e.length]=r}}while(r=r.parentNode);if(e.length>0){p=v.substring(0,l);f="";for(t=0,u=e.length;t<u;t++){p+="</"+e[t].nodeName.toLowerCase()+">";f+="<"+e[e.length-t-1].nodeName.toLowerCase()+">"}if(l==k){v=p+f+v.substring(l+7)}else{v=p+v.substring(l+4,k+4)+f+v.substring(k+7)}}}j.execCommand("mceInsertRawHTML",false,v+'<span id="_plain_text_marker"> </span>');window.setTimeout(function(){var d=x.get("_plain_text_marker"),A,h,w,i;s.select(d,false);z.execCommand("Delete",false,null);d=null;A=s.getStart();h=x.getViewPort(n);w=x.getPos(A).y;i=A.clientHeight;if((w<h.y)||(w+i>h.y+h.h)){z.body.scrollTop=w<h.y?w:w-h.h+25}},0)}},_legacySupport:function(){var e=this,d=e.editor;d.addCommand("mcePasteWord",function(){d.windowManager.open({file:e.url+"/pasteword.htm",width:parseInt(b(d,"paste_dialog_width")),height:parseInt(b(d,"paste_dialog_height")),inline:1})});if(b(d,"paste_text_use_dialog")){d.addCommand("mcePasteText",function(){d.windowManager.open({file:e.url+"/pastetext.htm",width:parseInt(b(d,"paste_dialog_width")),height:parseInt(b(d,"paste_dialog_height")),inline:1})})}d.addButton("pasteword",{title:"paste.paste_word_desc",cmd:"mcePasteWord"})}});tinymce.PluginManager.add("paste",tinymce.plugins.PastePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js new file mode 100644 index 00000000..eb1f9391 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js @@ -0,0 +1,942 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var each = tinymce.each, + defs = { + paste_auto_cleanup_on_paste : true, + paste_enable_default_filters : true, + paste_block_drop : false, + paste_retain_style_properties : "none", + paste_strip_class_attributes : "mso", + paste_remove_spans : false, + paste_remove_styles : false, + paste_remove_styles_if_webkit : true, + paste_convert_middot_lists : true, + paste_convert_headers_to_strong : false, + paste_dialog_width : "450", + paste_dialog_height : "400", + paste_text_use_dialog : false, + paste_text_sticky : false, + paste_text_sticky_default : false, + paste_text_notifyalways : false, + paste_text_linebreaktype : "p", + paste_text_replacements : [ + [/\u2026/g, "..."], + [/[\x93\x94\u201c\u201d]/g, '"'], + [/[\x60\x91\x92\u2018\u2019]/g, "'"] + ] + }; + + function getParam(ed, name) { + return ed.getParam(name, defs[name]); + } + + tinymce.create('tinymce.plugins.PastePlugin', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + t.url = url; + + // Setup plugin events + t.onPreProcess = new tinymce.util.Dispatcher(t); + t.onPostProcess = new tinymce.util.Dispatcher(t); + + // Register default handlers + t.onPreProcess.add(t._preProcess); + t.onPostProcess.add(t._postProcess); + + // Register optional preprocess handler + t.onPreProcess.add(function(pl, o) { + ed.execCallback('paste_preprocess', pl, o); + }); + + // Register optional postprocess + t.onPostProcess.add(function(pl, o) { + ed.execCallback('paste_postprocess', pl, o); + }); + + ed.onKeyDown.addToTop(function(ed, e) { + // Block ctrl+v from adding an undo level since the default logic in tinymce.Editor will add that + if (((tinymce.isMac ? e.metaKey : e.ctrlKey) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45)) + return false; // Stop other listeners + }); + + // Initialize plain text flag + ed.pasteAsPlainText = getParam(ed, 'paste_text_sticky_default'); + + // This function executes the process handlers and inserts the contents + // force_rich overrides plain text mode set by user, important for pasting with execCommand + function process(o, force_rich) { + var dom = ed.dom, rng; + + // Execute pre process handlers + t.onPreProcess.dispatch(t, o); + + // Create DOM structure + o.node = dom.create('div', 0, o.content); + + // If pasting inside the same element and the contents is only one block + // remove the block and keep the text since Firefox will copy parts of pre and h1-h6 as a pre element + if (tinymce.isGecko) { + rng = ed.selection.getRng(true); + if (rng.startContainer == rng.endContainer && rng.startContainer.nodeType == 3) { + // Is only one block node and it doesn't contain word stuff + if (o.node.childNodes.length === 1 && /^(p|h[1-6]|pre)$/i.test(o.node.firstChild.nodeName) && o.content.indexOf('__MCE_ITEM__') === -1) + dom.remove(o.node.firstChild, true); + } + } + + // Execute post process handlers + t.onPostProcess.dispatch(t, o); + + // Serialize content + o.content = ed.serializer.serialize(o.node, {getInner : 1, forced_root_block : ''}); + + // Plain text option active? + if ((!force_rich) && (ed.pasteAsPlainText)) { + t._insertPlainText(ed, dom, o.content); + + if (!getParam(ed, "paste_text_sticky")) { + ed.pasteAsPlainText = false; + ed.controlManager.setActive("pastetext", false); + } + } else { + t._insert(o.content); + } + } + + // Add command for external usage + ed.addCommand('mceInsertClipboardContent', function(u, o) { + process(o, true); + }); + + if (!getParam(ed, "paste_text_use_dialog")) { + ed.addCommand('mcePasteText', function(u, v) { + var cookie = tinymce.util.Cookie; + + ed.pasteAsPlainText = !ed.pasteAsPlainText; + ed.controlManager.setActive('pastetext', ed.pasteAsPlainText); + + if ((ed.pasteAsPlainText) && (!cookie.get("tinymcePasteText"))) { + if (getParam(ed, "paste_text_sticky")) { + ed.windowManager.alert(ed.translate('paste.plaintext_mode_sticky')); + } else { + ed.windowManager.alert(ed.translate('paste.plaintext_mode_sticky')); + } + + if (!getParam(ed, "paste_text_notifyalways")) { + cookie.set("tinymcePasteText", "1", new Date(new Date().getFullYear() + 1, 12, 31)) + } + } + }); + } + + ed.addButton('pastetext', {title: 'paste.paste_text_desc', cmd: 'mcePasteText'}); + ed.addButton('selectall', {title: 'paste.selectall_desc', cmd: 'selectall'}); + + // This function grabs the contents from the clipboard by adding a + // hidden div and placing the caret inside it and after the browser paste + // is done it grabs that contents and processes that + function grabContent(e) { + var n, or, rng, oldRng, sel = ed.selection, dom = ed.dom, body = ed.getBody(), posY, textContent; + + // Check if browser supports direct plaintext access + if (e.clipboardData || dom.doc.dataTransfer) { + textContent = (e.clipboardData || dom.doc.dataTransfer).getData('Text'); + + if (ed.pasteAsPlainText) { + e.preventDefault(); + process({content : textContent.replace(/\r?\n/g, '<br />')}); + return; + } + } + + if (dom.get('_mcePaste')) + return; + + // Create container to paste into + n = dom.add(body, 'div', {id : '_mcePaste', 'class' : 'mcePaste', 'data-mce-bogus' : '1'}, '\uFEFF\uFEFF'); + + // If contentEditable mode we need to find out the position of the closest element + if (body != ed.getDoc().body) + posY = dom.getPos(ed.selection.getStart(), body).y; + else + posY = body.scrollTop + dom.getViewPort(ed.getWin()).y; + + // Styles needs to be applied after the element is added to the document since WebKit will otherwise remove all styles + // If also needs to be in view on IE or the paste would fail + dom.setStyles(n, { + position : 'absolute', + left : tinymce.isGecko ? -40 : 0, // Need to move it out of site on Gecko since it will othewise display a ghost resize rect for the div + top : posY - 25, + width : 1, + height : 1, + overflow : 'hidden' + }); + + if (tinymce.isIE) { + // Store away the old range + oldRng = sel.getRng(); + + // Select the container + rng = dom.doc.body.createTextRange(); + rng.moveToElementText(n); + rng.execCommand('Paste'); + + // Remove container + dom.remove(n); + + // Check if the contents was changed, if it wasn't then clipboard extraction failed probably due + // to IE security settings so we pass the junk though better than nothing right + if (n.innerHTML === '\uFEFF\uFEFF') { + ed.execCommand('mcePasteWord'); + e.preventDefault(); + return; + } + + // Restore the old range and clear the contents before pasting + sel.setRng(oldRng); + sel.setContent(''); + + // For some odd reason we need to detach the the mceInsertContent call from the paste event + // It's like IE has a reference to the parent element that you paste in and the selection gets messed up + // when it tries to restore the selection + setTimeout(function() { + // Process contents + process({content : n.innerHTML}); + }, 0); + + // Block the real paste event + return tinymce.dom.Event.cancel(e); + } else { + function block(e) { + e.preventDefault(); + }; + + // Block mousedown and click to prevent selection change + dom.bind(ed.getDoc(), 'mousedown', block); + dom.bind(ed.getDoc(), 'keydown', block); + + or = ed.selection.getRng(); + + // Move select contents inside DIV + n = n.firstChild; + rng = ed.getDoc().createRange(); + rng.setStart(n, 0); + rng.setEnd(n, 2); + sel.setRng(rng); + + // Wait a while and grab the pasted contents + window.setTimeout(function() { + var h = '', nl; + + // Paste divs duplicated in paste divs seems to happen when you paste plain text so lets first look for that broken behavior in WebKit + if (!dom.select('div.mcePaste > div.mcePaste').length) { + nl = dom.select('div.mcePaste'); + + // WebKit will split the div into multiple ones so this will loop through then all and join them to get the whole HTML string + each(nl, function(n) { + var child = n.firstChild; + + // WebKit inserts a DIV container with lots of odd styles + if (child && child.nodeName == 'DIV' && child.style.marginTop && child.style.backgroundColor) { + dom.remove(child, 1); + } + + // Remove apply style spans + each(dom.select('span.Apple-style-span', n), function(n) { + dom.remove(n, 1); + }); + + // Remove bogus br elements + each(dom.select('br[data-mce-bogus]', n), function(n) { + dom.remove(n); + }); + + // WebKit will make a copy of the DIV for each line of plain text pasted and insert them into the DIV + if (n.parentNode.className != 'mcePaste') + h += n.innerHTML; + }); + } else { + // Found WebKit weirdness so force the content into paragraphs this seems to happen when you paste plain text from Nodepad etc + // So this logic will replace double enter with paragraphs and single enter with br so it kind of looks the same + h = '<p>' + dom.encode(textContent).replace(/\r?\n\r?\n/g, '</p><p>').replace(/\r?\n/g, '<br />') + '</p>'; + } + + // Remove the nodes + each(dom.select('div.mcePaste'), function(n) { + dom.remove(n); + }); + + // Restore the old selection + if (or) + sel.setRng(or); + + process({content : h}); + + // Unblock events ones we got the contents + dom.unbind(ed.getDoc(), 'mousedown', block); + dom.unbind(ed.getDoc(), 'keydown', block); + }, 0); + } + } + + // Check if we should use the new auto process method + if (getParam(ed, "paste_auto_cleanup_on_paste")) { + // Is it's Opera or older FF use key handler + if (tinymce.isOpera || /Firefox\/2/.test(navigator.userAgent)) { + ed.onKeyDown.addToTop(function(ed, e) { + if (((tinymce.isMac ? e.metaKey : e.ctrlKey) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45)) + grabContent(e); + }); + } else { + // Grab contents on paste event on Gecko and WebKit + ed.onPaste.addToTop(function(ed, e) { + return grabContent(e); + }); + } + } + + ed.onInit.add(function() { + ed.controlManager.setActive("pastetext", ed.pasteAsPlainText); + + // Block all drag/drop events + if (getParam(ed, "paste_block_drop")) { + ed.dom.bind(ed.getBody(), ['dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag'], function(e) { + e.preventDefault(); + e.stopPropagation(); + + return false; + }); + } + }); + + // Add legacy support + t._legacySupport(); + }, + + getInfo : function() { + return { + longname : 'Paste text/word', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + _preProcess : function(pl, o) { + var ed = this.editor, + h = o.content, + grep = tinymce.grep, + explode = tinymce.explode, + trim = tinymce.trim, + len, stripClass; + + //console.log('Before preprocess:' + o.content); + + function process(items) { + each(items, function(v) { + // Remove or replace + if (v.constructor == RegExp) + h = h.replace(v, ''); + else + h = h.replace(v[0], v[1]); + }); + } + + if (ed.settings.paste_enable_default_filters == false) { + return; + } + + // IE9 adds BRs before/after block elements when contents is pasted from word or for example another browser + if (tinymce.isIE && document.documentMode >= 9) { + // IE9 adds BRs before/after block elements when contents is pasted from word or for example another browser + process([[/(?:<br> [\s\r\n]+|<br>)*(<\/?(h[1-6r]|p|div|address|pre|form|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|blockquote|center|dl|dt|dd|dir|fieldset)[^>]*>)(?:<br> [\s\r\n]+|<br>)*/g, '$1']]); + + // IE9 also adds an extra BR element for each soft-linefeed and it also adds a BR for each word wrap break + process([ + [/<br><br>/g, '<BR><BR>'], // Replace multiple BR elements with uppercase BR to keep them intact + [/<br>/g, ' '], // Replace single br elements with space since they are word wrap BR:s + [/<BR><BR>/g, '<br>'], // Replace back the double brs but into a single BR + ]); + } + + // Detect Word content and process it more aggressive + if (/class="?Mso|style="[^"]*\bmso-|w:WordDocument/i.test(h) || o.wordContent) { + o.wordContent = true; // Mark the pasted contents as word specific content + //console.log('Word contents detected.'); + + // Process away some basic content + process([ + /^\s*( )+/gi, // entities at the start of contents + /( |<br[^>]*>)+\s*$/gi // entities at the end of contents + ]); + + if (getParam(ed, "paste_convert_headers_to_strong")) { + h = h.replace(/<p [^>]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi, "<p><strong>$1</strong></p>"); + } + + if (getParam(ed, "paste_convert_middot_lists")) { + process([ + [/<!--\[if !supportLists\]-->/gi, '$&__MCE_ITEM__'], // Convert supportLists to a list item marker + [/(<span[^>]+(?:mso-list:|:\s*symbol)[^>]+>)/gi, '$1__MCE_ITEM__'], // Convert mso-list and symbol spans to item markers + [/(<p[^>]+(?:MsoListParagraph)[^>]+>)/gi, '$1__MCE_ITEM__'] // Convert mso-list and symbol paragraphs to item markers (FF) + ]); + } + + process([ + // Word comments like conditional comments etc + /<!--[\s\S]+?-->/gi, + + // Remove comments, scripts (e.g., msoShowComment), XML tag, VML content, MS Office namespaced tags, and a few other tags + /<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi, + + // Convert <s> into <strike> for line-though + [/<(\/?)s>/gi, "<$1strike>"], + + // Replace nsbp entites to char since it's easier to handle + [/ /gi, "\u00a0"] + ]); + + // Remove bad attributes, with or without quotes, ensuring that attribute text is really inside a tag. + // If JavaScript had a RegExp look-behind, we could have integrated this with the last process() array and got rid of the loop. But alas, it does not, so we cannot. + do { + len = h.length; + h = h.replace(/(<[a-z][^>]*\s)(?:id|name|language|type|on\w+|\w+:\w+)=(?:"[^"]*"|\w+)\s?/gi, "$1"); + } while (len != h.length); + + // Remove all spans if no styles is to be retained + if (getParam(ed, "paste_retain_style_properties").replace(/^none$/i, "").length == 0) { + h = h.replace(/<\/?span[^>]*>/gi, ""); + } else { + // We're keeping styles, so at least clean them up. + // CSS Reference: http://msdn.microsoft.com/en-us/library/aa155477.aspx + + process([ + // Convert <span style="mso-spacerun:yes">___</span> to string of alternating breaking/non-breaking spaces of same length + [/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi, + function(str, spaces) { + return (spaces.length > 0)? spaces.replace(/./, " ").slice(Math.floor(spaces.length/2)).split("").join("\u00a0") : ""; + } + ], + + // Examine all styles: delete junk, transform some, and keep the rest + [/(<[a-z][^>]*)\sstyle="([^"]*)"/gi, + function(str, tag, style) { + var n = [], + i = 0, + s = explode(trim(style).replace(/"/gi, "'"), ";"); + + // Examine each style definition within the tag's style attribute + each(s, function(v) { + var name, value, + parts = explode(v, ":"); + + function ensureUnits(v) { + return v + ((v !== "0") && (/\d$/.test(v)))? "px" : ""; + } + + if (parts.length == 2) { + name = parts[0].toLowerCase(); + value = parts[1].toLowerCase(); + + // Translate certain MS Office styles into their CSS equivalents + switch (name) { + case "mso-padding-alt": + case "mso-padding-top-alt": + case "mso-padding-right-alt": + case "mso-padding-bottom-alt": + case "mso-padding-left-alt": + case "mso-margin-alt": + case "mso-margin-top-alt": + case "mso-margin-right-alt": + case "mso-margin-bottom-alt": + case "mso-margin-left-alt": + case "mso-table-layout-alt": + case "mso-height": + case "mso-width": + case "mso-vertical-align-alt": + n[i++] = name.replace(/^mso-|-alt$/g, "") + ":" + ensureUnits(value); + return; + + case "horiz-align": + n[i++] = "text-align:" + value; + return; + + case "vert-align": + n[i++] = "vertical-align:" + value; + return; + + case "font-color": + case "mso-foreground": + n[i++] = "color:" + value; + return; + + case "mso-background": + case "mso-highlight": + n[i++] = "background:" + value; + return; + + case "mso-default-height": + n[i++] = "min-height:" + ensureUnits(value); + return; + + case "mso-default-width": + n[i++] = "min-width:" + ensureUnits(value); + return; + + case "mso-padding-between-alt": + n[i++] = "border-collapse:separate;border-spacing:" + ensureUnits(value); + return; + + case "text-line-through": + if ((value == "single") || (value == "double")) { + n[i++] = "text-decoration:line-through"; + } + return; + + case "mso-zero-height": + if (value == "yes") { + n[i++] = "display:none"; + } + return; + } + + // Eliminate all MS Office style definitions that have no CSS equivalent by examining the first characters in the name + if (/^(mso|column|font-emph|lang|layout|line-break|list-image|nav|panose|punct|row|ruby|sep|size|src|tab-|table-border|text-(?!align|decor|indent|trans)|top-bar|version|vnd|word-break)/.test(name)) { + return; + } + + // If it reached this point, it must be a valid CSS style + n[i++] = name + ":" + parts[1]; // Lower-case name, but keep value case + } + }); + + // If style attribute contained any valid styles the re-write it; otherwise delete style attribute. + if (i > 0) { + return tag + ' style="' + n.join(';') + '"'; + } else { + return tag; + } + } + ] + ]); + } + } + + // Replace headers with <strong> + if (getParam(ed, "paste_convert_headers_to_strong")) { + process([ + [/<h[1-6][^>]*>/gi, "<p><strong>"], + [/<\/h[1-6][^>]*>/gi, "</strong></p>"] + ]); + } + + process([ + // Copy paste from Java like Open Office will produce this junk on FF + [/Version:[\d.]+\nStartHTML:\d+\nEndHTML:\d+\nStartFragment:\d+\nEndFragment:\d+/gi, ''] + ]); + + // Class attribute options are: leave all as-is ("none"), remove all ("all"), or remove only those starting with mso ("mso"). + // Note:- paste_strip_class_attributes: "none", verify_css_classes: true is also a good variation. + stripClass = getParam(ed, "paste_strip_class_attributes"); + + if (stripClass !== "none") { + function removeClasses(match, g1) { + if (stripClass === "all") + return ''; + + var cls = grep(explode(g1.replace(/^(["'])(.*)\1$/, "$2"), " "), + function(v) { + return (/^(?!mso)/i.test(v)); + } + ); + + return cls.length ? ' class="' + cls.join(" ") + '"' : ''; + }; + + h = h.replace(/ class="([^"]+)"/gi, removeClasses); + h = h.replace(/ class=([\-\w]+)/gi, removeClasses); + } + + // Remove spans option + if (getParam(ed, "paste_remove_spans")) { + h = h.replace(/<\/?span[^>]*>/gi, ""); + } + + //console.log('After preprocess:' + h); + + o.content = h; + }, + + /** + * Various post process items. + */ + _postProcess : function(pl, o) { + var t = this, ed = t.editor, dom = ed.dom, styleProps; + + if (ed.settings.paste_enable_default_filters == false) { + return; + } + + if (o.wordContent) { + // Remove named anchors or TOC links + each(dom.select('a', o.node), function(a) { + if (!a.href || a.href.indexOf('#_Toc') != -1) + dom.remove(a, 1); + }); + + if (getParam(ed, "paste_convert_middot_lists")) { + t._convertLists(pl, o); + } + + // Process styles + styleProps = getParam(ed, "paste_retain_style_properties"); // retained properties + + // Process only if a string was specified and not equal to "all" or "*" + if ((tinymce.is(styleProps, "string")) && (styleProps !== "all") && (styleProps !== "*")) { + styleProps = tinymce.explode(styleProps.replace(/^none$/i, "")); + + // Retains some style properties + each(dom.select('*', o.node), function(el) { + var newStyle = {}, npc = 0, i, sp, sv; + + // Store a subset of the existing styles + if (styleProps) { + for (i = 0; i < styleProps.length; i++) { + sp = styleProps[i]; + sv = dom.getStyle(el, sp); + + if (sv) { + newStyle[sp] = sv; + npc++; + } + } + } + + // Remove all of the existing styles + dom.setAttrib(el, 'style', ''); + + if (styleProps && npc > 0) + dom.setStyles(el, newStyle); // Add back the stored subset of styles + else // Remove empty span tags that do not have class attributes + if (el.nodeName == 'SPAN' && !el.className) + dom.remove(el, true); + }); + } + } + + // Remove all style information or only specifically on WebKit to avoid the style bug on that browser + if (getParam(ed, "paste_remove_styles") || (getParam(ed, "paste_remove_styles_if_webkit") && tinymce.isWebKit)) { + each(dom.select('*[style]', o.node), function(el) { + el.removeAttribute('style'); + el.removeAttribute('data-mce-style'); + }); + } else { + if (tinymce.isWebKit) { + // We need to compress the styles on WebKit since if you paste <img border="0" /> it will become <img border="0" style="... lots of junk ..." /> + // Removing the mce_style that contains the real value will force the Serializer engine to compress the styles + each(dom.select('*', o.node), function(el) { + el.removeAttribute('data-mce-style'); + }); + } + } + }, + + /** + * Converts the most common bullet and number formats in Office into a real semantic UL/LI list. + */ + _convertLists : function(pl, o) { + var dom = pl.editor.dom, listElm, li, lastMargin = -1, margin, levels = [], lastType, html; + + // Convert middot lists into real semantic lists + each(dom.select('p', o.node), function(p) { + var sib, val = '', type, html, idx, parents; + + // Get text node value at beginning of paragraph + for (sib = p.firstChild; sib && sib.nodeType == 3; sib = sib.nextSibling) + val += sib.nodeValue; + + val = p.innerHTML.replace(/<\/?\w+[^>]*>/gi, '').replace(/ /g, '\u00a0'); + + // Detect unordered lists look for bullets + if (/^(__MCE_ITEM__)+[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*\u00a0*/.test(val)) + type = 'ul'; + + // Detect ordered lists 1., a. or ixv. + if (/^__MCE_ITEM__\s*\w+\.\s*\u00a0+/.test(val)) + type = 'ol'; + + // Check if node value matches the list pattern: o + if (type) { + margin = parseFloat(p.style.marginLeft || 0); + + if (margin > lastMargin) + levels.push(margin); + + if (!listElm || type != lastType) { + listElm = dom.create(type); + dom.insertAfter(listElm, p); + } else { + // Nested list element + if (margin > lastMargin) { + listElm = li.appendChild(dom.create(type)); + } else if (margin < lastMargin) { + // Find parent level based on margin value + idx = tinymce.inArray(levels, margin); + parents = dom.getParents(listElm.parentNode, type); + listElm = parents[parents.length - 1 - idx] || listElm; + } + } + + // Remove middot or number spans if they exists + each(dom.select('span', p), function(span) { + var html = span.innerHTML.replace(/<\/?\w+[^>]*>/gi, ''); + + // Remove span with the middot or the number + if (type == 'ul' && /^__MCE_ITEM__[\u2022\u00b7\u00a7\u00d8o\u25CF]/.test(html)) + dom.remove(span); + else if (/^__MCE_ITEM__[\s\S]*\w+\.( |\u00a0)*\s*/.test(html)) + dom.remove(span); + }); + + html = p.innerHTML; + + // Remove middot/list items + if (type == 'ul') + html = p.innerHTML.replace(/__MCE_ITEM__/g, '').replace(/^[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*( |\u00a0)+\s*/, ''); + else + html = p.innerHTML.replace(/__MCE_ITEM__/g, '').replace(/^\s*\w+\.( |\u00a0)+\s*/, ''); + + // Create li and add paragraph data into the new li + li = listElm.appendChild(dom.create('li', 0, html)); + dom.remove(p); + + lastMargin = margin; + lastType = type; + } else + listElm = lastMargin = 0; // End list element + }); + + // Remove any left over makers + html = o.node.innerHTML; + if (html.indexOf('__MCE_ITEM__') != -1) + o.node.innerHTML = html.replace(/__MCE_ITEM__/g, ''); + }, + + /** + * Inserts the specified contents at the caret position. + */ + _insert : function(h, skip_undo) { + var ed = this.editor, r = ed.selection.getRng(); + + // First delete the contents seems to work better on WebKit when the selection spans multiple list items or multiple table cells. + if (!ed.selection.isCollapsed() && r.startContainer != r.endContainer) + ed.getDoc().execCommand('Delete', false, null); + + ed.execCommand('mceInsertContent', false, h, {skip_undo : skip_undo}); + }, + + /** + * Instead of the old plain text method which tried to re-create a paste operation, the + * new approach adds a plain text mode toggle switch that changes the behavior of paste. + * This function is passed the same input that the regular paste plugin produces. + * It performs additional scrubbing and produces (and inserts) the plain text. + * This approach leverages all of the great existing functionality in the paste + * plugin, and requires minimal changes to add the new functionality. + * Speednet - June 2009 + */ + _insertPlainText : function(ed, dom, h) { + var i, len, pos, rpos, node, breakElms, before, after, + w = ed.getWin(), + d = ed.getDoc(), + sel = ed.selection, + is = tinymce.is, + inArray = tinymce.inArray, + linebr = getParam(ed, "paste_text_linebreaktype"), + rl = getParam(ed, "paste_text_replacements"); + + function process(items) { + each(items, function(v) { + if (v.constructor == RegExp) + h = h.replace(v, ""); + else + h = h.replace(v[0], v[1]); + }); + }; + + if ((typeof(h) === "string") && (h.length > 0)) { + // If HTML content with line-breaking tags, then remove all cr/lf chars because only tags will break a line + if (/<(?:p|br|h[1-6]|ul|ol|dl|table|t[rdh]|div|blockquote|fieldset|pre|address|center)[^>]*>/i.test(h)) { + process([ + /[\n\r]+/g + ]); + } else { + // Otherwise just get rid of carriage returns (only need linefeeds) + process([ + /\r+/g + ]); + } + + process([ + [/<\/(?:p|h[1-6]|ul|ol|dl|table|div|blockquote|fieldset|pre|address|center)>/gi, "\n\n"], // Block tags get a blank line after them + [/<br[^>]*>|<\/tr>/gi, "\n"], // Single linebreak for <br /> tags and table rows + [/<\/t[dh]>\s*<t[dh][^>]*>/gi, "\t"], // Table cells get tabs betweem them + /<[a-z!\/?][^>]*>/gi, // Delete all remaining tags + [/ /gi, " "], // Convert non-break spaces to regular spaces (remember, *plain text*) + [/(?:(?!\n)\s)*(\n+)(?:(?!\n)\s)*/gi, "$1"], // Cool little RegExp deletes whitespace around linebreak chars. + [/\n{3,}/g, "\n\n"], // Max. 2 consecutive linebreaks + /^\s+|\s+$/g // Trim the front & back + ]); + + h = dom.decode(tinymce.html.Entities.encodeRaw(h)); + + // Delete any highlighted text before pasting + if (!sel.isCollapsed()) { + d.execCommand("Delete", false, null); + } + + // Perform default or custom replacements + if (is(rl, "array") || (is(rl, "array"))) { + process(rl); + } + else if (is(rl, "string")) { + process(new RegExp(rl, "gi")); + } + + // Treat paragraphs as specified in the config + if (linebr == "none") { + process([ + [/\n+/g, " "] + ]); + } + else if (linebr == "br") { + process([ + [/\n/g, "<br />"] + ]); + } + else { + process([ + /^\s+|\s+$/g, + [/\n\n/g, "</p><p>"], + [/\n/g, "<br />"] + ]); + } + + // This next piece of code handles the situation where we're pasting more than one paragraph of plain + // text, and we are pasting the content into the middle of a block node in the editor. The block + // node gets split at the selection point into "Para A" and "Para B" (for the purposes of explaining). + // The first paragraph of the pasted text is appended to "Para A", and the last paragraph of the + // pasted text is prepended to "Para B". Any other paragraphs of pasted text are placed between + // "Para A" and "Para B". This code solves a host of problems with the original plain text plugin and + // now handles styles correctly. (Pasting plain text into a styled paragraph is supposed to make the + // plain text take the same style as the existing paragraph.) + if ((pos = h.indexOf("</p><p>")) != -1) { + rpos = h.lastIndexOf("</p><p>"); + node = sel.getNode(); + breakElms = []; // Get list of elements to break + + do { + if (node.nodeType == 1) { + // Don't break tables and break at body + if (node.nodeName == "TD" || node.nodeName == "BODY") { + break; + } + + breakElms[breakElms.length] = node; + } + } while (node = node.parentNode); + + // Are we in the middle of a block node? + if (breakElms.length > 0) { + before = h.substring(0, pos); + after = ""; + + for (i=0, len=breakElms.length; i<len; i++) { + before += "</" + breakElms[i].nodeName.toLowerCase() + ">"; + after += "<" + breakElms[breakElms.length-i-1].nodeName.toLowerCase() + ">"; + } + + if (pos == rpos) { + h = before + after + h.substring(pos+7); + } + else { + h = before + h.substring(pos+4, rpos+4) + after + h.substring(rpos+7); + } + } + } + + // Insert content at the caret, plus add a marker for repositioning the caret + ed.execCommand("mceInsertRawHTML", false, h + '<span id="_plain_text_marker"> </span>'); + + // Reposition the caret to the marker, which was placed immediately after the inserted content. + // Needs to be done asynchronously (in window.setTimeout) or else it doesn't work in all browsers. + // The second part of the code scrolls the content up if the caret is positioned off-screen. + // This is only necessary for WebKit browsers, but it doesn't hurt to use for all. + window.setTimeout(function() { + var marker = dom.get('_plain_text_marker'), + elm, vp, y, elmHeight; + + sel.select(marker, false); + d.execCommand("Delete", false, null); + marker = null; + + // Get element, position and height + elm = sel.getStart(); + vp = dom.getViewPort(w); + y = dom.getPos(elm).y; + elmHeight = elm.clientHeight; + + // Is element within viewport if not then scroll it into view + if ((y < vp.y) || (y + elmHeight > vp.y + vp.h)) { + d.body.scrollTop = y < vp.y ? y : y - vp.h + 25; + } + }, 0); + } + }, + + /** + * This method will open the old style paste dialogs. Some users might want the old behavior but still use the new cleanup engine. + */ + _legacySupport : function() { + var t = this, ed = t.editor; + + // Register command(s) for backwards compatibility + ed.addCommand("mcePasteWord", function() { + ed.windowManager.open({ + file: t.url + "/pasteword.htm", + width: parseInt(getParam(ed, "paste_dialog_width")), + height: parseInt(getParam(ed, "paste_dialog_height")), + inline: 1 + }); + }); + + if (getParam(ed, "paste_text_use_dialog")) { + ed.addCommand("mcePasteText", function() { + ed.windowManager.open({ + file : t.url + "/pastetext.htm", + width: parseInt(getParam(ed, "paste_dialog_width")), + height: parseInt(getParam(ed, "paste_dialog_height")), + inline : 1 + }); + }); + } + + // Register button for backwards compatibility + ed.addButton("pasteword", {title : "paste.paste_word_desc", cmd : "mcePasteWord"}); + } + }); + + // Register plugin + tinymce.PluginManager.add("paste", tinymce.plugins.PastePlugin); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/js/pastetext.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/js/pastetext.js new file mode 100644 index 00000000..81b1d6a0 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/js/pastetext.js @@ -0,0 +1,36 @@ +tinyMCEPopup.requireLangPack(); + +var PasteTextDialog = { + init : function() { + this.resize(); + }, + + insert : function() { + var h = tinyMCEPopup.dom.encode(document.getElementById('content').value), lines; + + // Convert linebreaks into paragraphs + if (document.getElementById('linebreaks').checked) { + lines = h.split(/\r?\n/); + if (lines.length > 1) { + h = ''; + tinymce.each(lines, function(row) { + h += '<p>' + row + '</p>'; + }); + } + } + + tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h}); + tinyMCEPopup.close(); + }, + + resize : function() { + var vp = tinyMCEPopup.dom.getViewPort(window), el; + + el = document.getElementById('content'); + + el.style.width = (vp.w - 20) + 'px'; + el.style.height = (vp.h - 90) + 'px'; + } +}; + +tinyMCEPopup.onInit.add(PasteTextDialog.init, PasteTextDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/js/pasteword.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/js/pasteword.js new file mode 100644 index 00000000..959bf399 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/js/pasteword.js @@ -0,0 +1,51 @@ +tinyMCEPopup.requireLangPack(); + +var PasteWordDialog = { + init : function() { + var ed = tinyMCEPopup.editor, el = document.getElementById('iframecontainer'), ifr, doc, css, cssHTML = ''; + + // Create iframe + el.innerHTML = '<iframe id="iframe" src="javascript:\'\';" frameBorder="0" style="border: 1px solid gray"></iframe>'; + ifr = document.getElementById('iframe'); + doc = ifr.contentWindow.document; + + // Force absolute CSS urls + css = [ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css")]; + css = css.concat(tinymce.explode(ed.settings.content_css) || []); + tinymce.each(css, function(u) { + cssHTML += '<link href="' + ed.documentBaseURI.toAbsolute('' + u) + '" rel="stylesheet" type="text/css" />'; + }); + + // Write content into iframe + doc.open(); + doc.write('<html><head>' + cssHTML + '</head><body class="mceContentBody" spellcheck="false"></body></html>'); + doc.close(); + + doc.designMode = 'on'; + this.resize(); + + window.setTimeout(function() { + ifr.contentWindow.focus(); + }, 10); + }, + + insert : function() { + var h = document.getElementById('iframe').contentWindow.document.body.innerHTML; + + tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h, wordContent : true}); + tinyMCEPopup.close(); + }, + + resize : function() { + var vp = tinyMCEPopup.dom.getViewPort(window), el; + + el = document.getElementById('iframe'); + + if (el) { + el.style.width = (vp.w - 20) + 'px'; + el.style.height = (vp.h - 90) + 'px'; + } + } +}; + +tinyMCEPopup.onInit.add(PasteWordDialog.init, PasteWordDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js new file mode 100644 index 00000000..823eb16a --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js @@ -0,0 +1,5 @@ +tinyMCE.addI18n('en.paste_dlg',{ +text_title:"Use CTRL+V on your keyboard to paste the text into the window.", +text_linebreaks:"Keep linebreaks", +word_title:"Use CTRL+V on your keyboard to paste the text into the window." +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/pastetext.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/pastetext.htm new file mode 100644 index 00000000..8ccfbb97 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/pastetext.htm @@ -0,0 +1,27 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#paste.paste_text_desc}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="js/pastetext.js"></script> +</head> +<body onresize="PasteTextDialog.resize();" style="display:none; overflow:hidden;"> + <form name="source" onsubmit="return PasteTextDialog.insert();" action="#"> + <div style="float: left" class="title">{#paste.paste_text_desc}</div> + + <div style="float: right"> + <input type="checkbox" name="linebreaks" id="linebreaks" class="wordWrapCode" checked="checked" /><label for="linebreaks">{#paste_dlg.text_linebreaks}</label> + </div> + + <br style="clear: both" /> + + <div>{#paste_dlg.text_title}</div> + + <textarea id="content" name="content" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px;" dir="ltr" wrap="soft" class="mceFocus"></textarea> + + <div class="mceActionPanel"> + <input type="submit" name="insert" value="{#insert}" id="insert" /> + <input type="button" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" id="cancel" /> + </div> + </form> +</body> +</html> \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/pasteword.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/pasteword.htm new file mode 100644 index 00000000..7731f39c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/paste/pasteword.htm @@ -0,0 +1,21 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#paste.paste_word_desc}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="js/pasteword.js"></script> +</head> +<body onresize="PasteWordDialog.resize();" style="display:none; overflow:hidden;"> + <form name="source" onsubmit="return PasteWordDialog.insert();" action="#"> + <div class="title">{#paste.paste_word_desc}</div> + + <div>{#paste_dlg.word_title}</div> + + <div id="iframecontainer"></div> + + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#insert}" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> + </form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/editor_plugin.js new file mode 100644 index 00000000..507909c5 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Preview",{init:function(a,b){var d=this,c=tinymce.explode(a.settings.content_css);d.editor=a;tinymce.each(c,function(f,e){c[e]=a.documentBaseURI.toAbsolute(f)});a.addCommand("mcePreview",function(){a.windowManager.open({file:a.getParam("plugin_preview_pageurl",b+"/preview.html"),width:parseInt(a.getParam("plugin_preview_width","550")),height:parseInt(a.getParam("plugin_preview_height","600")),resizable:"yes",scrollbars:"yes",popup_css:c?c.join(","):a.baseURI.toAbsolute("themes/"+a.settings.theme+"/skins/"+a.settings.skin+"/content.css"),inline:a.getParam("plugin_preview_inline",1)},{base:a.documentBaseURI.getURI()})});a.addButton("preview",{title:"preview.preview_desc",cmd:"mcePreview"})},getInfo:function(){return{longname:"Preview",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("preview",tinymce.plugins.Preview)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js new file mode 100644 index 00000000..80f00f0d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js @@ -0,0 +1,53 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Preview', { + init : function(ed, url) { + var t = this, css = tinymce.explode(ed.settings.content_css); + + t.editor = ed; + + // Force absolute CSS urls + tinymce.each(css, function(u, k) { + css[k] = ed.documentBaseURI.toAbsolute(u); + }); + + ed.addCommand('mcePreview', function() { + ed.windowManager.open({ + file : ed.getParam("plugin_preview_pageurl", url + "/preview.html"), + width : parseInt(ed.getParam("plugin_preview_width", "550")), + height : parseInt(ed.getParam("plugin_preview_height", "600")), + resizable : "yes", + scrollbars : "yes", + popup_css : css ? css.join(',') : ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css"), + inline : ed.getParam("plugin_preview_inline", 1) + }, { + base : ed.documentBaseURI.getURI() + }); + }); + + ed.addButton('preview', {title : 'preview.preview_desc', cmd : 'mcePreview'}); + }, + + getInfo : function() { + return { + longname : 'Preview', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('preview', tinymce.plugins.Preview); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/example.html b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/example.html new file mode 100644 index 00000000..48202224 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/example.html @@ -0,0 +1,28 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<script language="javascript" src="../../tiny_mce_popup.js"></script> +<script type="text/javascript" src="jscripts/embed.js"></script> +<script type="text/javascript"> +tinyMCEPopup.onInit.add(function(ed) { + var dom = tinyMCEPopup.dom; + + // Load editor content_css + tinymce.each(ed.settings.content_css.split(','), function(u) { + dom.loadCSS(ed.documentBaseURI.toAbsolute(u)); + }); + + // Place contents inside div container + dom.setHTML('content', ed.getContent()); +}); +</script> +<title>Example of a custom preview page</title> +</head> +<body> + +Editor contents: <br /> +<div id="content"> +<!-- Gets filled with editor contents --> +</div> + +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/jscripts/embed.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/jscripts/embed.js new file mode 100644 index 00000000..6fe25de0 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/jscripts/embed.js @@ -0,0 +1,73 @@ +/** + * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose. + */ + +function writeFlash(p) { + writeEmbed( + 'D27CDB6E-AE6D-11cf-96B8-444553540000', + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', + 'application/x-shockwave-flash', + p + ); +} + +function writeShockWave(p) { + writeEmbed( + '166B1BCA-3F9C-11CF-8075-444553540000', + 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0', + 'application/x-director', + p + ); +} + +function writeQuickTime(p) { + writeEmbed( + '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B', + 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0', + 'video/quicktime', + p + ); +} + +function writeRealMedia(p) { + writeEmbed( + 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA', + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', + 'audio/x-pn-realaudio-plugin', + p + ); +} + +function writeWindowsMedia(p) { + p.url = p.src; + writeEmbed( + '6BF52A52-394A-11D3-B153-00C04F79FAA6', + 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701', + 'application/x-mplayer2', + p + ); +} + +function writeEmbed(cls, cb, mt, p) { + var h = '', n; + + h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"'; + h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : ''; + h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : ''; + h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : ''; + h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : ''; + h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : ''; + h += '>'; + + for (n in p) + h += '<param name="' + n + '" value="' + p[n] + '">'; + + h += '<embed type="' + mt + '"'; + + for (n in p) + h += n + '="' + p[n] + '" '; + + h += '></embed></object>'; + + document.write(h); +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/preview.html b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/preview.html new file mode 100644 index 00000000..c09a7f05 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/preview/preview.html @@ -0,0 +1,17 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<script type="text/javascript" src="../../tiny_mce_popup.js"></script> +<script type="text/javascript" src="jscripts/embed.js"></script> +<script type="text/javascript"><!-- +document.write('<base href="' + tinyMCEPopup.getWindowArg("base") + '">'); +// --> +</script> +<title>{#preview.preview_desc}</title> +</head> +<body id="content"> +<script type="text/javascript"> + document.write(tinyMCEPopup.editor.getContent()); +</script> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/print/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/print/editor_plugin.js new file mode 100644 index 00000000..b5b3a55e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/print/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Print",{init:function(a,b){a.addCommand("mcePrint",function(){a.getWin().print()});a.addButton("print",{title:"print.print_desc",cmd:"mcePrint"})},getInfo:function(){return{longname:"Print",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("print",tinymce.plugins.Print)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/print/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/print/editor_plugin_src.js new file mode 100644 index 00000000..47e666a3 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/print/editor_plugin_src.js @@ -0,0 +1,34 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Print', { + init : function(ed, url) { + ed.addCommand('mcePrint', function() { + ed.getWin().print(); + }); + + ed.addButton('print', {title : 'print.print_desc', cmd : 'mcePrint'}); + }, + + getInfo : function() { + return { + longname : 'Print', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('print', tinymce.plugins.Print); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/save/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/save/editor_plugin.js new file mode 100644 index 00000000..8e939966 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/save/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Save",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceSave",c._save,c);a.addCommand("mceCancel",c._cancel,c);a.addButton("save",{title:"save.save_desc",cmd:"mceSave"});a.addButton("cancel",{title:"save.cancel_desc",cmd:"mceCancel"});a.onNodeChange.add(c._nodeChange,c);a.addShortcut("ctrl+s",a.getLang("save.save_desc"),"mceSave")},getInfo:function(){return{longname:"Save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_nodeChange:function(b,a,c){var b=this.editor;if(b.getParam("save_enablewhendirty")){a.setDisabled("save",!b.isDirty());a.setDisabled("cancel",!b.isDirty())}},_save:function(){var c=this.editor,a,e,d,b;a=tinymce.DOM.get(c.id).form||tinymce.DOM.getParent(c.id,"form");if(c.getParam("save_enablewhendirty")&&!c.isDirty()){return}tinyMCE.triggerSave();if(e=c.getParam("save_onsavecallback")){if(c.execCallback("save_onsavecallback",c)){c.startContent=tinymce.trim(c.getContent({format:"raw"}));c.nodeChanged()}return}if(a){c.isNotDirty=true;if(a.onsubmit==null||a.onsubmit()!=false){a.submit()}c.nodeChanged()}else{c.windowManager.alert("Error: No form element found.")}},_cancel:function(){var a=this.editor,c,b=tinymce.trim(a.startContent);if(c=a.getParam("save_oncancelcallback")){a.execCallback("save_oncancelcallback",a);return}a.setContent(b);a.undoManager.clear();a.nodeChanged()}});tinymce.PluginManager.add("save",tinymce.plugins.Save)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/save/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/save/editor_plugin_src.js new file mode 100644 index 00000000..5ab6491c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/save/editor_plugin_src.js @@ -0,0 +1,101 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Save', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceSave', t._save, t); + ed.addCommand('mceCancel', t._cancel, t); + + // Register buttons + ed.addButton('save', {title : 'save.save_desc', cmd : 'mceSave'}); + ed.addButton('cancel', {title : 'save.cancel_desc', cmd : 'mceCancel'}); + + ed.onNodeChange.add(t._nodeChange, t); + ed.addShortcut('ctrl+s', ed.getLang('save.save_desc'), 'mceSave'); + }, + + getInfo : function() { + return { + longname : 'Save', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + _nodeChange : function(ed, cm, n) { + var ed = this.editor; + + if (ed.getParam('save_enablewhendirty')) { + cm.setDisabled('save', !ed.isDirty()); + cm.setDisabled('cancel', !ed.isDirty()); + } + }, + + // Private methods + + _save : function() { + var ed = this.editor, formObj, os, i, elementId; + + formObj = tinymce.DOM.get(ed.id).form || tinymce.DOM.getParent(ed.id, 'form'); + + if (ed.getParam("save_enablewhendirty") && !ed.isDirty()) + return; + + tinyMCE.triggerSave(); + + // Use callback instead + if (os = ed.getParam("save_onsavecallback")) { + if (ed.execCallback('save_onsavecallback', ed)) { + ed.startContent = tinymce.trim(ed.getContent({format : 'raw'})); + ed.nodeChanged(); + } + + return; + } + + if (formObj) { + ed.isNotDirty = true; + + if (formObj.onsubmit == null || formObj.onsubmit() != false) + formObj.submit(); + + ed.nodeChanged(); + } else + ed.windowManager.alert("Error: No form element found."); + }, + + _cancel : function() { + var ed = this.editor, os, h = tinymce.trim(ed.startContent); + + // Use callback instead + if (os = ed.getParam("save_oncancelcallback")) { + ed.execCallback('save_oncancelcallback', ed); + return; + } + + ed.setContent(h); + ed.undoManager.clear(); + ed.nodeChanged(); + } + }); + + // Register plugin + tinymce.PluginManager.add('save', tinymce.plugins.Save); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css new file mode 100644 index 00000000..3e2eaf34 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css @@ -0,0 +1,6 @@ +.panel_wrapper {height:85px;} +.panel_wrapper div.current {height:85px;} + +/* IE */ +* html .panel_wrapper {height:100px;} +* html .panel_wrapper div.current {height:100px;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js new file mode 100644 index 00000000..165bc12d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.SearchReplacePlugin",{init:function(a,c){function b(d){window.focus();a.windowManager.open({file:c+"/searchreplace.htm",width:420+parseInt(a.getLang("searchreplace.delta_width",0)),height:170+parseInt(a.getLang("searchreplace.delta_height",0)),inline:1,auto_focus:0},{mode:d,search_string:a.selection.getContent({format:"text"}),plugin_url:c})}a.addCommand("mceSearch",function(){b("search")});a.addCommand("mceReplace",function(){b("replace")});a.addButton("search",{title:"searchreplace.search_desc",cmd:"mceSearch"});a.addButton("replace",{title:"searchreplace.replace_desc",cmd:"mceReplace"});a.addShortcut("ctrl+f","searchreplace.search_desc","mceSearch")},getInfo:function(){return{longname:"Search/Replace",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("searchreplace",tinymce.plugins.SearchReplacePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js new file mode 100644 index 00000000..b0c013fd --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js @@ -0,0 +1,61 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.SearchReplacePlugin', { + init : function(ed, url) { + function open(m) { + // Keep IE from writing out the f/r character to the editor + // instance while initializing a new dialog. See: #3131190 + window.focus(); + + ed.windowManager.open({ + file : url + '/searchreplace.htm', + width : 420 + parseInt(ed.getLang('searchreplace.delta_width', 0)), + height : 170 + parseInt(ed.getLang('searchreplace.delta_height', 0)), + inline : 1, + auto_focus : 0 + }, { + mode : m, + search_string : ed.selection.getContent({format : 'text'}), + plugin_url : url + }); + }; + + // Register commands + ed.addCommand('mceSearch', function() { + open('search'); + }); + + ed.addCommand('mceReplace', function() { + open('replace'); + }); + + // Register buttons + ed.addButton('search', {title : 'searchreplace.search_desc', cmd : 'mceSearch'}); + ed.addButton('replace', {title : 'searchreplace.replace_desc', cmd : 'mceReplace'}); + + ed.addShortcut('ctrl+f', 'searchreplace.search_desc', 'mceSearch'); + }, + + getInfo : function() { + return { + longname : 'Search/Replace', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('searchreplace', tinymce.plugins.SearchReplacePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js new file mode 100644 index 00000000..b1630ca8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js @@ -0,0 +1,142 @@ +tinyMCEPopup.requireLangPack(); + +var SearchReplaceDialog = { + init : function(ed) { + var t = this, f = document.forms[0], m = tinyMCEPopup.getWindowArg("mode"); + + t.switchMode(m); + + f[m + '_panel_searchstring'].value = tinyMCEPopup.getWindowArg("search_string"); + + // Focus input field + f[m + '_panel_searchstring'].focus(); + + mcTabs.onChange.add(function(tab_id, panel_id) { + t.switchMode(tab_id.substring(0, tab_id.indexOf('_'))); + }); + }, + + switchMode : function(m) { + var f, lm = this.lastMode; + + if (lm != m) { + f = document.forms[0]; + + if (lm) { + f[m + '_panel_searchstring'].value = f[lm + '_panel_searchstring'].value; + f[m + '_panel_backwardsu'].checked = f[lm + '_panel_backwardsu'].checked; + f[m + '_panel_backwardsd'].checked = f[lm + '_panel_backwardsd'].checked; + f[m + '_panel_casesensitivebox'].checked = f[lm + '_panel_casesensitivebox'].checked; + } + + mcTabs.displayTab(m + '_tab', m + '_panel'); + document.getElementById("replaceBtn").style.display = (m == "replace") ? "inline" : "none"; + document.getElementById("replaceAllBtn").style.display = (m == "replace") ? "inline" : "none"; + this.lastMode = m; + } + }, + + searchNext : function(a) { + var ed = tinyMCEPopup.editor, se = ed.selection, r = se.getRng(), f, m = this.lastMode, s, b, fl = 0, w = ed.getWin(), wm = ed.windowManager, fo = 0; + + // Get input + f = document.forms[0]; + s = f[m + '_panel_searchstring'].value; + b = f[m + '_panel_backwardsu'].checked; + ca = f[m + '_panel_casesensitivebox'].checked; + rs = f['replace_panel_replacestring'].value; + + if (tinymce.isIE) { + r = ed.getDoc().selection.createRange(); + } + + if (s == '') + return; + + function fix() { + // Correct Firefox graphics glitches + // TODO: Verify if this is actually needed any more, maybe it was for very old FF versions? + r = se.getRng().cloneRange(); + ed.getDoc().execCommand('SelectAll', false, null); + se.setRng(r); + }; + + function replace() { + ed.selection.setContent(rs); // Needs to be duplicated due to selection bug in IE + }; + + // IE flags + if (ca) + fl = fl | 4; + + switch (a) { + case 'all': + // Move caret to beginning of text + ed.execCommand('SelectAll'); + ed.selection.collapse(true); + + if (tinymce.isIE) { + ed.focus(); + r = ed.getDoc().selection.createRange(); + + while (r.findText(s, b ? -1 : 1, fl)) { + r.scrollIntoView(); + r.select(); + replace(); + fo = 1; + + if (b) { + r.moveEnd("character", -(rs.length)); // Otherwise will loop forever + } + } + + tinyMCEPopup.storeSelection(); + } else { + while (w.find(s, ca, b, false, false, false, false)) { + replace(); + fo = 1; + } + } + + if (fo) + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.allreplaced')); + else + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); + + return; + + case 'current': + if (!ed.selection.isCollapsed()) + replace(); + + break; + } + + se.collapse(b); + r = se.getRng(); + + // Whats the point + if (!s) + return; + + if (tinymce.isIE) { + ed.focus(); + r = ed.getDoc().selection.createRange(); + + if (r.findText(s, b ? -1 : 1, fl)) { + r.scrollIntoView(); + r.select(); + } else + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); + + tinyMCEPopup.storeSelection(); + } else { + if (!w.find(s, ca, b, false, false, false, false)) + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); + else + fix(); + } + } +}; + +tinyMCEPopup.onInit.add(SearchReplaceDialog.init, SearchReplaceDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js new file mode 100644 index 00000000..3dd3453d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js @@ -0,0 +1,16 @@ +tinyMCE.addI18n('en.searchreplace_dlg',{ +searchnext_desc:"Find again", +notfound:"The search has been completed. The search string could not be found.", +search_title:"Find", +replace_title:"Find/Replace", +allreplaced:"All occurrences of the search string were replaced.", +findwhat:"Find what", +replacewith:"Replace with", +direction:"Direction", +up:"Up", +down:"Down", +mcase:"Match case", +findnext:"Find next", +replace:"Replace", +replaceall:"Replace all" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm new file mode 100644 index 00000000..bac5a184 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm @@ -0,0 +1,100 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#searchreplace_dlg.replace_title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <script type="text/javascript" src="js/searchreplace.js"></script> + <link rel="stylesheet" type="text/css" href="css/searchreplace.css" /> +</head> +<body style="display:none;" role="application" aria-labelledby="app_title"> +<span id="app_title" style="display:none">{#searchreplace_dlg.replace_title}</span> +<form onsubmit="SearchReplaceDialog.searchNext('none');return false;" action="#"> + <div class="tabs"> + <ul> + <li id="search_tab" aria-controls="search_panel"><span><a href="javascript:SearchReplaceDialog.switchMode('search');" onmousedown="return false;">{#searchreplace.search_desc}</a></span></li> + <li id="replace_tab" aria-controls="replace_panel"><span><a href="javascript:SearchReplaceDialog.switchMode('replace');" onmousedown="return false;">{#searchreplace_dlg.replace}</a></span></li> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="search_panel" class="panel"> + <table role="presentation" border="0" cellspacing="0" cellpadding="2"> + <tr> + <td><label for="search_panel_searchstring">{#searchreplace_dlg.findwhat}</label></td> + <td><input type="text" id="search_panel_searchstring" name="search_panel_searchstring" style="width: 200px" aria-required="true" /></td> + </tr> + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellspacing="0" cellpadding="0" class="direction"> + <tr role="group" aria-labelledby="search_panel_backwards_label"> + <td><label id="search_panel_backwards_label">{#searchreplace_dlg.direction}</label></td> + <td><input id="search_panel_backwardsu" name="search_panel_backwards" class="radio" type="radio" /></td> + <td><label for="search_panel_backwardsu">{#searchreplace_dlg.up}</label></td> + <td><input id="search_panel_backwardsd" name="search_panel_backwards" class="radio" type="radio" checked="checked" /></td> + <td><label for="search_panel_backwardsd">{#searchreplace_dlg.down}</label></td> + </tr> + </table> + </td> + </tr> + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input id="search_panel_casesensitivebox" name="search_panel_casesensitivebox" class="checkbox" type="checkbox" /></td> + <td><label for="search_panel_casesensitivebox">{#searchreplace_dlg.mcase}</label></td> + </tr> + </table> + </td> + </tr> + </table> + </div> + + <div id="replace_panel" class="panel"> + <table role="presentation" border="0" cellspacing="0" cellpadding="2"> + <tr> + <td><label for="replace_panel_searchstring">{#searchreplace_dlg.findwhat}</label></td> + <td><input type="text" id="replace_panel_searchstring" name="replace_panel_searchstring" style="width: 200px" aria-required="true" /></td> + </tr> + <tr> + <td><label for="replace_panel_replacestring">{#searchreplace_dlg.replacewith}</label></td> + <td><input type="text" id="replace_panel_replacestring" name="replace_panel_replacestring" style="width: 200px" aria-required="true" /></td> + </tr> + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellspacing="0" cellpadding="0" class="direction"> + <tr role="group" aria-labelledby="replace_panel_dir_label"> + <td><label id="replace_panel_dir_label">{#searchreplace_dlg.direction}</label></td> + <td><input id="replace_panel_backwardsu" name="replace_panel_backwards" class="radio" type="radio" /></td> + <td><label for="replace_panel_backwardsu">{#searchreplace_dlg.up}</label></td> + <td><input id="replace_panel_backwardsd" name="replace_panel_backwards" class="radio" type="radio" checked="checked" /></td> + <td><label for="replace_panel_backwardsd">{#searchreplace_dlg.down}</label></td> + </tr> + </table> + </td> + </tr> + <tr> + <td colspan="2"> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input id="replace_panel_casesensitivebox" name="replace_panel_casesensitivebox" class="checkbox" type="checkbox" /></td> + <td><label for="replace_panel_casesensitivebox">{#searchreplace_dlg.mcase}</label></td> + </tr> + </table> + </td> + </tr> + </table> + </div> + + </div> + + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#searchreplace_dlg.findnext}" /> + <input type="button" class="button" id="replaceBtn" name="replaceBtn" value="{#searchreplace_dlg.replace}" onclick="SearchReplaceDialog.searchNext('current');" /> + <input type="button" class="button" id="replaceAllBtn" name="replaceAllBtn" value="{#searchreplace_dlg.replaceall}" onclick="SearchReplaceDialog.searchNext('all');" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> +</form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/css/content.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/css/content.css new file mode 100644 index 00000000..a92355e1 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/css/content.css @@ -0,0 +1 @@ +.mceItemHiddenSpellWord {background:url(../img/wline.png) repeat-x bottom left; cursor:default;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js new file mode 100644 index 00000000..0c42739c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.util.JSONRequest,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.SpellcheckerPlugin",{getInfo:function(){return{longname:"Spellchecker",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker",version:tinymce.majorVersion+"."+tinymce.minorVersion}},init:function(e,f){var g=this,d;g.url=f;g.editor=e;g.rpcUrl=e.getParam("spellchecker_rpc_url","{backend}");if(g.rpcUrl=="{backend}"){if(tinymce.isIE){return}g.hasSupport=true;e.onContextMenu.addToTop(function(h,i){if(g.active){return false}})}e.addCommand("mceSpellCheck",function(){if(g.rpcUrl=="{backend}"){g.editor.getBody().spellcheck=g.active=!g.active;return}if(!g.active){e.setProgressState(1);g._sendRPC("checkWords",[g.selectedLang,g._getWords()],function(h){if(h.length>0){g.active=1;g._markWords(h);e.setProgressState(0);e.nodeChanged()}else{e.setProgressState(0);if(e.getParam("spellchecker_report_no_misspellings",true)){e.windowManager.alert("spellchecker.no_mpell")}}})}else{g._done()}});if(e.settings.content_css!==false){e.contentCSS.push(f+"/css/content.css")}e.onClick.add(g._showMenu,g);e.onContextMenu.add(g._showMenu,g);e.onBeforeGetContent.add(function(){if(g.active){g._removeWords()}});e.onNodeChange.add(function(i,h){h.setActive("spellchecker",g.active)});e.onSetContent.add(function(){g._done()});e.onBeforeGetContent.add(function(){g._done()});e.onBeforeExecCommand.add(function(h,i){if(i=="mceFullScreen"){g._done()}});g.languages={};c(e.getParam("spellchecker_languages","+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv","hash"),function(i,h){if(h.indexOf("+")===0){h=h.substring(1);g.selectedLang=i}g.languages[h]=i})},createControl:function(h,d){var f=this,g,e=f.editor;if(h=="spellchecker"){if(f.rpcUrl=="{backend}"){if(f.hasSupport){g=d.createButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f})}return g}g=d.createSplitButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f});g.onRenderMenu.add(function(j,i){i.add({title:"spellchecker.langs","class":"mceMenuItemTitle"}).setDisabled(1);c(f.languages,function(n,m){var p={icon:1},l;p.onclick=function(){if(n==f.selectedLang){return}l.setSelected(1);f.selectedItem.setSelected(0);f.selectedItem=l;f.selectedLang=n};p.title=m;l=i.add(p);l.setSelected(n==f.selectedLang);if(n==f.selectedLang){f.selectedItem=l}})});return g}},_walk:function(i,g){var h=this.editor.getDoc(),e;if(h.createTreeWalker){e=h.createTreeWalker(i,NodeFilter.SHOW_TEXT,null,false);while((i=e.nextNode())!=null){g.call(this,i)}}else{tinymce.walk(i,g,"childNodes")}},_getSeparators:function(){var e="",d,f=this.editor.getParam("spellchecker_word_separator_chars",'\\s!"#$%&()*+,-./:;<=>?@[]^_{|}����������������\u201d\u201c');for(d=0;d<f.length;d++){e+="\\"+f.charAt(d)}return e},_getWords:function(){var e=this.editor,g=[],d="",f={},h=[];this._walk(e.getBody(),function(i){if(i.nodeType==3){d+=i.nodeValue+" "}});if(e.getParam("spellchecker_word_pattern")){h=d.match("("+e.getParam("spellchecker_word_pattern")+")","gi")}else{d=d.replace(new RegExp("([0-9]|["+this._getSeparators()+"])","g")," ");d=tinymce.trim(d.replace(/(\s+)/g," "));h=d.split(" ")}c(h,function(i){if(!f[i]){g.push(i);f[i]=1}});return g},_removeWords:function(e){var f=this.editor,h=f.dom,g=f.selection,d=g.getBookmark();c(h.select("span").reverse(),function(i){if(i&&(h.hasClass(i,"mceItemHiddenSpellWord")||h.hasClass(i,"mceItemHidden"))){if(!e||h.decode(i.innerHTML)==e){h.remove(i,1)}}});g.moveToBookmark(d)},_markWords:function(l){var g=this.editor,f=g.dom,j=g.getDoc(),h=g.selection,i=h.getBookmark(),d=[],k=l.join("|"),m=this._getSeparators(),e=new RegExp("(^|["+m+"])("+k+")(?=["+m+"]|$)","g");this._walk(g.getBody(),function(o){if(o.nodeType==3){d.push(o)}});c(d,function(t){var r,q,o,s,p=t.nodeValue;if(e.test(p)){p=f.encode(p);q=f.create("span",{"class":"mceItemHidden"});if(tinymce.isIE){p=p.replace(e,"$1<mcespell>$2</mcespell>");while((s=p.indexOf("<mcespell>"))!=-1){o=p.substring(0,s);if(o.length){r=j.createTextNode(f.decode(o));q.appendChild(r)}p=p.substring(s+10);s=p.indexOf("</mcespell>");o=p.substring(0,s);p=p.substring(s+11);q.appendChild(f.create("span",{"class":"mceItemHiddenSpellWord"},o))}if(p.length){r=j.createTextNode(f.decode(p));q.appendChild(r)}}else{q.innerHTML=p.replace(e,'$1<span class="mceItemHiddenSpellWord">$2</span>')}f.replace(q,t)}});h.moveToBookmark(i)},_showMenu:function(h,j){var i=this,h=i.editor,d=i._menu,l,k=h.dom,g=k.getViewPort(h.getWin()),f=j.target;j=0;if(!d){d=h.controlManager.createDropMenu("spellcheckermenu",{"class":"mceNoIcons"});i._menu=d}if(k.hasClass(f,"mceItemHiddenSpellWord")){d.removeAll();d.add({title:"spellchecker.wait","class":"mceMenuItemTitle"}).setDisabled(1);i._sendRPC("getSuggestions",[i.selectedLang,k.decode(f.innerHTML)],function(m){var e;d.removeAll();if(m.length>0){d.add({title:"spellchecker.sug","class":"mceMenuItemTitle"}).setDisabled(1);c(m,function(n){d.add({title:n,onclick:function(){k.replace(h.getDoc().createTextNode(n),f);i._checkDone()}})});d.addSeparator()}else{d.add({title:"spellchecker.no_sug","class":"mceMenuItemTitle"}).setDisabled(1)}e=i.editor.getParam("spellchecker_enable_ignore_rpc","");d.add({title:"spellchecker.ignore_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}}});d.add({title:"spellchecker.ignore_words",onclick:function(){var n=f.innerHTML;i._removeWords(k.decode(n));i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWords",[i.selectedLang,n],function(o){h.setProgressState(0)})}}});if(i.editor.getParam("spellchecker_enable_learn_rpc")){d.add({title:"spellchecker.learn_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();h.setProgressState(1);i._sendRPC("learnWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}})}d.update()});l=b.getPos(h.getContentAreaContainer());d.settings.offset_x=l.x;d.settings.offset_y=l.y;h.selection.select(f);l=k.getPos(f);d.showMenu(l.x,l.y+f.offsetHeight-g.y);return tinymce.dom.Event.cancel(j)}else{d.hideMenu()}},_checkDone:function(){var e=this,d=e.editor,g=d.dom,f;c(g.select("span"),function(h){if(h&&g.hasClass(h,"mceItemHiddenSpellWord")){f=true;return false}});if(!f){e._done()}},_done:function(){var d=this,e=d.active;if(d.active){d.active=0;d._removeWords();if(d._menu){d._menu.hideMenu()}if(e){d.editor.nodeChanged()}}},_sendRPC:function(e,g,d){var f=this;a.sendRPC({url:f.rpcUrl,method:e,params:g,success:d,error:function(i,h){f.editor.setProgressState(0);f.editor.windowManager.alert(i.errstr||("Error response: "+h.responseText))}})}});tinymce.PluginManager.add("spellchecker",tinymce.plugins.SpellcheckerPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js new file mode 100644 index 00000000..50df7343 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js @@ -0,0 +1,434 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var JSONRequest = tinymce.util.JSONRequest, each = tinymce.each, DOM = tinymce.DOM; + + tinymce.create('tinymce.plugins.SpellcheckerPlugin', { + getInfo : function() { + return { + longname : 'Spellchecker', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + init : function(ed, url) { + var t = this, cm; + + t.url = url; + t.editor = ed; + t.rpcUrl = ed.getParam("spellchecker_rpc_url", "{backend}"); + + if (t.rpcUrl == '{backend}') { + // Sniff if the browser supports native spellchecking (Don't know of a better way) + if (tinymce.isIE) + return; + + t.hasSupport = true; + + // Disable the context menu when spellchecking is active + ed.onContextMenu.addToTop(function(ed, e) { + if (t.active) + return false; + }); + } + + // Register commands + ed.addCommand('mceSpellCheck', function() { + if (t.rpcUrl == '{backend}') { + // Enable/disable native spellchecker + t.editor.getBody().spellcheck = t.active = !t.active; + return; + } + + if (!t.active) { + ed.setProgressState(1); + t._sendRPC('checkWords', [t.selectedLang, t._getWords()], function(r) { + if (r.length > 0) { + t.active = 1; + t._markWords(r); + ed.setProgressState(0); + ed.nodeChanged(); + } else { + ed.setProgressState(0); + + if (ed.getParam('spellchecker_report_no_misspellings', true)) + ed.windowManager.alert('spellchecker.no_mpell'); + } + }); + } else + t._done(); + }); + + if (ed.settings.content_css !== false) + ed.contentCSS.push(url + '/css/content.css'); + + ed.onClick.add(t._showMenu, t); + ed.onContextMenu.add(t._showMenu, t); + ed.onBeforeGetContent.add(function() { + if (t.active) + t._removeWords(); + }); + + ed.onNodeChange.add(function(ed, cm) { + cm.setActive('spellchecker', t.active); + }); + + ed.onSetContent.add(function() { + t._done(); + }); + + ed.onBeforeGetContent.add(function() { + t._done(); + }); + + ed.onBeforeExecCommand.add(function(ed, cmd) { + if (cmd == 'mceFullScreen') + t._done(); + }); + + // Find selected language + t.languages = {}; + each(ed.getParam('spellchecker_languages', '+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv', 'hash'), function(v, k) { + if (k.indexOf('+') === 0) { + k = k.substring(1); + t.selectedLang = v; + } + + t.languages[k] = v; + }); + }, + + createControl : function(n, cm) { + var t = this, c, ed = t.editor; + + if (n == 'spellchecker') { + // Use basic button if we use the native spellchecker + if (t.rpcUrl == '{backend}') { + // Create simple toggle button if we have native support + if (t.hasSupport) + c = cm.createButton(n, {title : 'spellchecker.desc', cmd : 'mceSpellCheck', scope : t}); + + return c; + } + + c = cm.createSplitButton(n, {title : 'spellchecker.desc', cmd : 'mceSpellCheck', scope : t}); + + c.onRenderMenu.add(function(c, m) { + m.add({title : 'spellchecker.langs', 'class' : 'mceMenuItemTitle'}).setDisabled(1); + each(t.languages, function(v, k) { + var o = {icon : 1}, mi; + + o.onclick = function() { + if (v == t.selectedLang) { + return; + } + mi.setSelected(1); + t.selectedItem.setSelected(0); + t.selectedItem = mi; + t.selectedLang = v; + }; + + o.title = k; + mi = m.add(o); + mi.setSelected(v == t.selectedLang); + + if (v == t.selectedLang) + t.selectedItem = mi; + }) + }); + + return c; + } + }, + + // Internal functions + + _walk : function(n, f) { + var d = this.editor.getDoc(), w; + + if (d.createTreeWalker) { + w = d.createTreeWalker(n, NodeFilter.SHOW_TEXT, null, false); + + while ((n = w.nextNode()) != null) + f.call(this, n); + } else + tinymce.walk(n, f, 'childNodes'); + }, + + _getSeparators : function() { + var re = '', i, str = this.editor.getParam('spellchecker_word_separator_chars', '\\s!"#$%&()*+,-./:;<=>?@[\]^_{|}����������������\u201d\u201c'); + + // Build word separator regexp + for (i=0; i<str.length; i++) + re += '\\' + str.charAt(i); + + return re; + }, + + _getWords : function() { + var ed = this.editor, wl = [], tx = '', lo = {}, rawWords = []; + + // Get area text + this._walk(ed.getBody(), function(n) { + if (n.nodeType == 3) + tx += n.nodeValue + ' '; + }); + + // split the text up into individual words + if (ed.getParam('spellchecker_word_pattern')) { + // look for words that match the pattern + rawWords = tx.match('(' + ed.getParam('spellchecker_word_pattern') + ')', 'gi'); + } else { + // Split words by separator + tx = tx.replace(new RegExp('([0-9]|[' + this._getSeparators() + '])', 'g'), ' '); + tx = tinymce.trim(tx.replace(/(\s+)/g, ' ')); + rawWords = tx.split(' '); + } + + // Build word array and remove duplicates + each(rawWords, function(v) { + if (!lo[v]) { + wl.push(v); + lo[v] = 1; + } + }); + + return wl; + }, + + _removeWords : function(w) { + var ed = this.editor, dom = ed.dom, se = ed.selection, b = se.getBookmark(); + + each(dom.select('span').reverse(), function(n) { + if (n && (dom.hasClass(n, 'mceItemHiddenSpellWord') || dom.hasClass(n, 'mceItemHidden'))) { + if (!w || dom.decode(n.innerHTML) == w) + dom.remove(n, 1); + } + }); + + se.moveToBookmark(b); + }, + + _markWords : function(wl) { + var ed = this.editor, dom = ed.dom, doc = ed.getDoc(), se = ed.selection, b = se.getBookmark(), nl = [], + w = wl.join('|'), re = this._getSeparators(), rx = new RegExp('(^|[' + re + '])(' + w + ')(?=[' + re + ']|$)', 'g'); + + // Collect all text nodes + this._walk(ed.getBody(), function(n) { + if (n.nodeType == 3) { + nl.push(n); + } + }); + + // Wrap incorrect words in spans + each(nl, function(n) { + var node, elem, txt, pos, v = n.nodeValue; + + if (rx.test(v)) { + // Encode the content + v = dom.encode(v); + // Create container element + elem = dom.create('span', {'class' : 'mceItemHidden'}); + + // Following code fixes IE issues by creating text nodes + // using DOM methods instead of innerHTML. + // Bug #3124: <PRE> elements content is broken after spellchecking. + // Bug #1408: Preceding whitespace characters are removed + // @TODO: I'm not sure that both are still issues on IE9. + if (tinymce.isIE) { + // Enclose mispelled words with temporal tag + v = v.replace(rx, '$1<mcespell>$2</mcespell>'); + // Loop over the content finding mispelled words + while ((pos = v.indexOf('<mcespell>')) != -1) { + // Add text node for the content before the word + txt = v.substring(0, pos); + if (txt.length) { + node = doc.createTextNode(dom.decode(txt)); + elem.appendChild(node); + } + v = v.substring(pos+10); + pos = v.indexOf('</mcespell>'); + txt = v.substring(0, pos); + v = v.substring(pos+11); + // Add span element for the word + elem.appendChild(dom.create('span', {'class' : 'mceItemHiddenSpellWord'}, txt)); + } + // Add text node for the rest of the content + if (v.length) { + node = doc.createTextNode(dom.decode(v)); + elem.appendChild(node); + } + } else { + // Other browsers preserve whitespace characters on innerHTML usage + elem.innerHTML = v.replace(rx, '$1<span class="mceItemHiddenSpellWord">$2</span>'); + } + + // Finally, replace the node with the container + dom.replace(elem, n); + } + }); + + se.moveToBookmark(b); + }, + + _showMenu : function(ed, e) { + var t = this, ed = t.editor, m = t._menu, p1, dom = ed.dom, vp = dom.getViewPort(ed.getWin()), wordSpan = e.target; + + e = 0; // Fixes IE memory leak + + if (!m) { + m = ed.controlManager.createDropMenu('spellcheckermenu', {'class' : 'mceNoIcons'}); + t._menu = m; + } + + if (dom.hasClass(wordSpan, 'mceItemHiddenSpellWord')) { + m.removeAll(); + m.add({title : 'spellchecker.wait', 'class' : 'mceMenuItemTitle'}).setDisabled(1); + + t._sendRPC('getSuggestions', [t.selectedLang, dom.decode(wordSpan.innerHTML)], function(r) { + var ignoreRpc; + + m.removeAll(); + + if (r.length > 0) { + m.add({title : 'spellchecker.sug', 'class' : 'mceMenuItemTitle'}).setDisabled(1); + each(r, function(v) { + m.add({title : v, onclick : function() { + dom.replace(ed.getDoc().createTextNode(v), wordSpan); + t._checkDone(); + }}); + }); + + m.addSeparator(); + } else + m.add({title : 'spellchecker.no_sug', 'class' : 'mceMenuItemTitle'}).setDisabled(1); + + ignoreRpc = t.editor.getParam("spellchecker_enable_ignore_rpc", ''); + m.add({ + title : 'spellchecker.ignore_word', + onclick : function() { + var word = wordSpan.innerHTML; + + dom.remove(wordSpan, 1); + t._checkDone(); + + // tell the server if we need to + if (ignoreRpc) { + ed.setProgressState(1); + t._sendRPC('ignoreWord', [t.selectedLang, word], function(r) { + ed.setProgressState(0); + }); + } + } + }); + + m.add({ + title : 'spellchecker.ignore_words', + onclick : function() { + var word = wordSpan.innerHTML; + + t._removeWords(dom.decode(word)); + t._checkDone(); + + // tell the server if we need to + if (ignoreRpc) { + ed.setProgressState(1); + t._sendRPC('ignoreWords', [t.selectedLang, word], function(r) { + ed.setProgressState(0); + }); + } + } + }); + + if (t.editor.getParam("spellchecker_enable_learn_rpc")) { + m.add({ + title : 'spellchecker.learn_word', + onclick : function() { + var word = wordSpan.innerHTML; + + dom.remove(wordSpan, 1); + t._checkDone(); + + ed.setProgressState(1); + t._sendRPC('learnWord', [t.selectedLang, word], function(r) { + ed.setProgressState(0); + }); + } + }); + } + + m.update(); + }); + + p1 = DOM.getPos(ed.getContentAreaContainer()); + m.settings.offset_x = p1.x; + m.settings.offset_y = p1.y; + + ed.selection.select(wordSpan); + p1 = dom.getPos(wordSpan); + m.showMenu(p1.x, p1.y + wordSpan.offsetHeight - vp.y); + + return tinymce.dom.Event.cancel(e); + } else + m.hideMenu(); + }, + + _checkDone : function() { + var t = this, ed = t.editor, dom = ed.dom, o; + + each(dom.select('span'), function(n) { + if (n && dom.hasClass(n, 'mceItemHiddenSpellWord')) { + o = true; + return false; + } + }); + + if (!o) + t._done(); + }, + + _done : function() { + var t = this, la = t.active; + + if (t.active) { + t.active = 0; + t._removeWords(); + + if (t._menu) + t._menu.hideMenu(); + + if (la) + t.editor.nodeChanged(); + } + }, + + _sendRPC : function(m, p, cb) { + var t = this; + + JSONRequest.sendRPC({ + url : t.rpcUrl, + method : m, + params : p, + success : cb, + error : function(e, x) { + t.editor.setProgressState(0); + t.editor.windowManager.alert(e.errstr || ('Error response: ' + x.responseText)); + } + }); + } + }); + + // Register plugin + tinymce.PluginManager.add('spellchecker', tinymce.plugins.SpellcheckerPlugin); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif new file mode 100644 index 00000000..7d0a4dbc Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/img/wline.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/img/wline.png new file mode 100644 index 00000000..e6525028 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/spellchecker/img/wline.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/css/props.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/css/props.css new file mode 100644 index 00000000..5550b093 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/css/props.css @@ -0,0 +1,13 @@ +#text_font {width:250px;} +#text_size {width:70px;} +.mceAddSelectValue {background:#DDD;} +select, #block_text_indent, #box_width, #box_height, #box_padding_top, #box_padding_right, #box_padding_bottom, #box_padding_left {width:70px;} +#box_margin_top, #box_margin_right, #box_margin_bottom, #box_margin_left, #positioning_width, #positioning_height, #positioning_zindex {width:70px;} +#positioning_placement_top, #positioning_placement_right, #positioning_placement_bottom, #positioning_placement_left {width:70px;} +#positioning_clip_top, #positioning_clip_right, #positioning_clip_bottom, #positioning_clip_left {width:70px;} +.panel_wrapper div.current {padding-top:10px;height:230px;} +.delim {border-left:1px solid gray;} +.tdelim {border-bottom:1px solid gray;} +#block_display {width:145px;} +#list_type {width:115px;} +.disabled {background:#EEE;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/editor_plugin.js new file mode 100644 index 00000000..cab2153c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.StylePlugin",{init:function(a,b){a.addCommand("mceStyleProps",function(){a.windowManager.open({file:b+"/props.htm",width:480+parseInt(a.getLang("style.delta_width",0)),height:320+parseInt(a.getLang("style.delta_height",0)),inline:1},{plugin_url:b,style_text:a.selection.getNode().style.cssText})});a.addCommand("mceSetElementStyle",function(d,c){if(e=a.selection.getNode()){a.dom.setAttrib(e,"style",c);a.execCommand("mceRepaint")}});a.onNodeChange.add(function(d,c,f){c.setDisabled("styleprops",f.nodeName==="BODY")});a.addButton("styleprops",{title:"style.desc",cmd:"mceStyleProps"})},getInfo:function(){return{longname:"Style",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("style",tinymce.plugins.StylePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/editor_plugin_src.js new file mode 100644 index 00000000..c09d5e81 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/editor_plugin_src.js @@ -0,0 +1,55 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.StylePlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceStyleProps', function() { + ed.windowManager.open({ + file : url + '/props.htm', + width : 480 + parseInt(ed.getLang('style.delta_width', 0)), + height : 320 + parseInt(ed.getLang('style.delta_height', 0)), + inline : 1 + }, { + plugin_url : url, + style_text : ed.selection.getNode().style.cssText + }); + }); + + ed.addCommand('mceSetElementStyle', function(ui, v) { + if (e = ed.selection.getNode()) { + ed.dom.setAttrib(e, 'style', v); + ed.execCommand('mceRepaint'); + } + }); + + ed.onNodeChange.add(function(ed, cm, n) { + cm.setDisabled('styleprops', n.nodeName === 'BODY'); + }); + + // Register buttons + ed.addButton('styleprops', {title : 'style.desc', cmd : 'mceStyleProps'}); + }, + + getInfo : function() { + return { + longname : 'Style', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('style', tinymce.plugins.StylePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/js/props.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/js/props.js new file mode 100644 index 00000000..99983163 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/js/props.js @@ -0,0 +1,635 @@ +tinyMCEPopup.requireLangPack(); + +var defaultFonts = "" + + "Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;" + + "Times New Roman, Times, serif=Times New Roman, Times, serif;" + + "Courier New, Courier, mono=Courier New, Courier, mono;" + + "Times New Roman, Times, serif=Times New Roman, Times, serif;" + + "Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;" + + "Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;" + + "Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif"; + +var defaultSizes = "9;10;12;14;16;18;24;xx-small;x-small;small;medium;large;x-large;xx-large;smaller;larger"; +var defaultMeasurement = "+pixels=px;points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;ems=em;exs=ex;%"; +var defaultSpacingMeasurement = "pixels=px;points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;+ems=em;exs=ex;%"; +var defaultIndentMeasurement = "pixels=px;+points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;ems=em;exs=ex;%"; +var defaultWeight = "normal;bold;bolder;lighter;100;200;300;400;500;600;700;800;900"; +var defaultTextStyle = "normal;italic;oblique"; +var defaultVariant = "normal;small-caps"; +var defaultLineHeight = "normal"; +var defaultAttachment = "fixed;scroll"; +var defaultRepeat = "no-repeat;repeat;repeat-x;repeat-y"; +var defaultPosH = "left;center;right"; +var defaultPosV = "top;center;bottom"; +var defaultVAlign = "baseline;sub;super;top;text-top;middle;bottom;text-bottom"; +var defaultDisplay = "inline;block;list-item;run-in;compact;marker;table;inline-table;table-row-group;table-header-group;table-footer-group;table-row;table-column-group;table-column;table-cell;table-caption;none"; +var defaultBorderStyle = "none;solid;dashed;dotted;double;groove;ridge;inset;outset"; +var defaultBorderWidth = "thin;medium;thick"; +var defaultListType = "disc;circle;square;decimal;lower-roman;upper-roman;lower-alpha;upper-alpha;none"; + +function init() { + var ce = document.getElementById('container'), h; + + ce.style.cssText = tinyMCEPopup.getWindowArg('style_text'); + + h = getBrowserHTML('background_image_browser','background_image','image','advimage'); + document.getElementById("background_image_browser").innerHTML = h; + + document.getElementById('text_color_pickcontainer').innerHTML = getColorPickerHTML('text_color_pick','text_color'); + document.getElementById('background_color_pickcontainer').innerHTML = getColorPickerHTML('background_color_pick','background_color'); + document.getElementById('border_color_top_pickcontainer').innerHTML = getColorPickerHTML('border_color_top_pick','border_color_top'); + document.getElementById('border_color_right_pickcontainer').innerHTML = getColorPickerHTML('border_color_right_pick','border_color_right'); + document.getElementById('border_color_bottom_pickcontainer').innerHTML = getColorPickerHTML('border_color_bottom_pick','border_color_bottom'); + document.getElementById('border_color_left_pickcontainer').innerHTML = getColorPickerHTML('border_color_left_pick','border_color_left'); + + fillSelect(0, 'text_font', 'style_font', defaultFonts, ';', true); + fillSelect(0, 'text_size', 'style_font_size', defaultSizes, ';', true); + fillSelect(0, 'text_size_measurement', 'style_font_size_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'text_case', 'style_text_case', "capitalize;uppercase;lowercase", ';', true); + fillSelect(0, 'text_weight', 'style_font_weight', defaultWeight, ';', true); + fillSelect(0, 'text_style', 'style_font_style', defaultTextStyle, ';', true); + fillSelect(0, 'text_variant', 'style_font_variant', defaultVariant, ';', true); + fillSelect(0, 'text_lineheight', 'style_font_line_height', defaultLineHeight, ';', true); + fillSelect(0, 'text_lineheight_measurement', 'style_font_line_height_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'background_attachment', 'style_background_attachment', defaultAttachment, ';', true); + fillSelect(0, 'background_repeat', 'style_background_repeat', defaultRepeat, ';', true); + + fillSelect(0, 'background_hpos_measurement', 'style_background_hpos_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'background_vpos_measurement', 'style_background_vpos_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'background_hpos', 'style_background_hpos', defaultPosH, ';', true); + fillSelect(0, 'background_vpos', 'style_background_vpos', defaultPosV, ';', true); + + fillSelect(0, 'block_wordspacing', 'style_wordspacing', 'normal', ';', true); + fillSelect(0, 'block_wordspacing_measurement', 'style_wordspacing_measurement', defaultSpacingMeasurement, ';', true); + fillSelect(0, 'block_letterspacing', 'style_letterspacing', 'normal', ';', true); + fillSelect(0, 'block_letterspacing_measurement', 'style_letterspacing_measurement', defaultSpacingMeasurement, ';', true); + fillSelect(0, 'block_vertical_alignment', 'style_vertical_alignment', defaultVAlign, ';', true); + fillSelect(0, 'block_text_align', 'style_text_align', "left;right;center;justify", ';', true); + fillSelect(0, 'block_whitespace', 'style_whitespace', "normal;pre;nowrap", ';', true); + fillSelect(0, 'block_display', 'style_display', defaultDisplay, ';', true); + fillSelect(0, 'block_text_indent_measurement', 'style_text_indent_measurement', defaultIndentMeasurement, ';', true); + + fillSelect(0, 'box_width_measurement', 'style_box_width_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_height_measurement', 'style_box_height_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_float', 'style_float', 'left;right;none', ';', true); + fillSelect(0, 'box_clear', 'style_clear', 'left;right;both;none', ';', true); + fillSelect(0, 'box_padding_left_measurement', 'style_padding_left_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_top_measurement', 'style_padding_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_bottom_measurement', 'style_padding_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_right_measurement', 'style_padding_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_left_measurement', 'style_margin_left_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_top_measurement', 'style_margin_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_bottom_measurement', 'style_margin_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_right_measurement', 'style_margin_right_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'border_style_top', 'style_border_style_top', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_right', 'style_border_style_right', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_bottom', 'style_border_style_bottom', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_left', 'style_border_style_left', defaultBorderStyle, ';', true); + + fillSelect(0, 'border_width_top', 'style_border_width_top', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_right', 'style_border_width_right', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_bottom', 'style_border_width_bottom', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_left', 'style_border_width_left', defaultBorderWidth, ';', true); + + fillSelect(0, 'border_width_top_measurement', 'style_border_width_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_right_measurement', 'style_border_width_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_bottom_measurement', 'style_border_width_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_left_measurement', 'style_border_width_left_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'list_type', 'style_list_type', defaultListType, ';', true); + fillSelect(0, 'list_position', 'style_list_position', "inside;outside", ';', true); + + fillSelect(0, 'positioning_type', 'style_positioning_type', "absolute;relative;static", ';', true); + fillSelect(0, 'positioning_visibility', 'style_positioning_visibility', "inherit;visible;hidden", ';', true); + + fillSelect(0, 'positioning_width_measurement', 'style_positioning_width_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_height_measurement', 'style_positioning_height_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_overflow', 'style_positioning_overflow', "visible;hidden;scroll;auto", ';', true); + + fillSelect(0, 'positioning_placement_top_measurement', 'style_positioning_placement_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_right_measurement', 'style_positioning_placement_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_bottom_measurement', 'style_positioning_placement_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_left_measurement', 'style_positioning_placement_left_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'positioning_clip_top_measurement', 'style_positioning_clip_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_right_measurement', 'style_positioning_clip_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_bottom_measurement', 'style_positioning_clip_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_left_measurement', 'style_positioning_clip_left_measurement', defaultMeasurement, ';', true); + + TinyMCE_EditableSelects.init(); + setupFormData(); + showDisabledControls(); +} + +function setupFormData() { + var ce = document.getElementById('container'), f = document.forms[0], s, b, i; + + // Setup text fields + + selectByValue(f, 'text_font', ce.style.fontFamily, true, true); + selectByValue(f, 'text_size', getNum(ce.style.fontSize), true, true); + selectByValue(f, 'text_size_measurement', getMeasurement(ce.style.fontSize)); + selectByValue(f, 'text_weight', ce.style.fontWeight, true, true); + selectByValue(f, 'text_style', ce.style.fontStyle, true, true); + selectByValue(f, 'text_lineheight', getNum(ce.style.lineHeight), true, true); + selectByValue(f, 'text_lineheight_measurement', getMeasurement(ce.style.lineHeight)); + selectByValue(f, 'text_case', ce.style.textTransform, true, true); + selectByValue(f, 'text_variant', ce.style.fontVariant, true, true); + f.text_color.value = tinyMCEPopup.editor.dom.toHex(ce.style.color); + updateColor('text_color_pick', 'text_color'); + f.text_underline.checked = inStr(ce.style.textDecoration, 'underline'); + f.text_overline.checked = inStr(ce.style.textDecoration, 'overline'); + f.text_linethrough.checked = inStr(ce.style.textDecoration, 'line-through'); + f.text_blink.checked = inStr(ce.style.textDecoration, 'blink'); + + // Setup background fields + + f.background_color.value = tinyMCEPopup.editor.dom.toHex(ce.style.backgroundColor); + updateColor('background_color_pick', 'background_color'); + f.background_image.value = ce.style.backgroundImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + selectByValue(f, 'background_repeat', ce.style.backgroundRepeat, true, true); + selectByValue(f, 'background_attachment', ce.style.backgroundAttachment, true, true); + selectByValue(f, 'background_hpos', getNum(getVal(ce.style.backgroundPosition, 0)), true, true); + selectByValue(f, 'background_hpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 0))); + selectByValue(f, 'background_vpos', getNum(getVal(ce.style.backgroundPosition, 1)), true, true); + selectByValue(f, 'background_vpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 1))); + + // Setup block fields + + selectByValue(f, 'block_wordspacing', getNum(ce.style.wordSpacing), true, true); + selectByValue(f, 'block_wordspacing_measurement', getMeasurement(ce.style.wordSpacing)); + selectByValue(f, 'block_letterspacing', getNum(ce.style.letterSpacing), true, true); + selectByValue(f, 'block_letterspacing_measurement', getMeasurement(ce.style.letterSpacing)); + selectByValue(f, 'block_vertical_alignment', ce.style.verticalAlign, true, true); + selectByValue(f, 'block_text_align', ce.style.textAlign, true, true); + f.block_text_indent.value = getNum(ce.style.textIndent); + selectByValue(f, 'block_text_indent_measurement', getMeasurement(ce.style.textIndent)); + selectByValue(f, 'block_whitespace', ce.style.whiteSpace, true, true); + selectByValue(f, 'block_display', ce.style.display, true, true); + + // Setup box fields + + f.box_width.value = getNum(ce.style.width); + selectByValue(f, 'box_width_measurement', getMeasurement(ce.style.width)); + + f.box_height.value = getNum(ce.style.height); + selectByValue(f, 'box_height_measurement', getMeasurement(ce.style.height)); + selectByValue(f, 'box_float', ce.style.cssFloat || ce.style.styleFloat, true, true); + + selectByValue(f, 'box_clear', ce.style.clear, true, true); + + setupBox(f, ce, 'box_padding', 'padding', ''); + setupBox(f, ce, 'box_margin', 'margin', ''); + + // Setup border fields + + setupBox(f, ce, 'border_style', 'border', 'Style'); + setupBox(f, ce, 'border_width', 'border', 'Width'); + setupBox(f, ce, 'border_color', 'border', 'Color'); + + updateColor('border_color_top_pick', 'border_color_top'); + updateColor('border_color_right_pick', 'border_color_right'); + updateColor('border_color_bottom_pick', 'border_color_bottom'); + updateColor('border_color_left_pick', 'border_color_left'); + + f.elements.border_color_top.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_top.value); + f.elements.border_color_right.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_right.value); + f.elements.border_color_bottom.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_bottom.value); + f.elements.border_color_left.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_left.value); + + // Setup list fields + + selectByValue(f, 'list_type', ce.style.listStyleType, true, true); + selectByValue(f, 'list_position', ce.style.listStylePosition, true, true); + f.list_bullet_image.value = ce.style.listStyleImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + + // Setup box fields + + selectByValue(f, 'positioning_type', ce.style.position, true, true); + selectByValue(f, 'positioning_visibility', ce.style.visibility, true, true); + selectByValue(f, 'positioning_overflow', ce.style.overflow, true, true); + f.positioning_zindex.value = ce.style.zIndex ? ce.style.zIndex : ""; + + f.positioning_width.value = getNum(ce.style.width); + selectByValue(f, 'positioning_width_measurement', getMeasurement(ce.style.width)); + + f.positioning_height.value = getNum(ce.style.height); + selectByValue(f, 'positioning_height_measurement', getMeasurement(ce.style.height)); + + setupBox(f, ce, 'positioning_placement', '', '', ['top', 'right', 'bottom', 'left']); + + s = ce.style.clip.replace(new RegExp("rect\\('?([^']*)'?\\)", 'gi'), "$1"); + s = s.replace(/,/g, ' '); + + if (!hasEqualValues([getVal(s, 0), getVal(s, 1), getVal(s, 2), getVal(s, 3)])) { + f.positioning_clip_top.value = getNum(getVal(s, 0)); + selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0))); + f.positioning_clip_right.value = getNum(getVal(s, 1)); + selectByValue(f, 'positioning_clip_right_measurement', getMeasurement(getVal(s, 1))); + f.positioning_clip_bottom.value = getNum(getVal(s, 2)); + selectByValue(f, 'positioning_clip_bottom_measurement', getMeasurement(getVal(s, 2))); + f.positioning_clip_left.value = getNum(getVal(s, 3)); + selectByValue(f, 'positioning_clip_left_measurement', getMeasurement(getVal(s, 3))); + } else { + f.positioning_clip_top.value = getNum(getVal(s, 0)); + selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0))); + f.positioning_clip_right.value = f.positioning_clip_bottom.value = f.positioning_clip_left.value; + } + +// setupBox(f, ce, '', 'border', 'Color'); +} + +function getMeasurement(s) { + return s.replace(/^([0-9.]+)(.*)$/, "$2"); +} + +function getNum(s) { + if (new RegExp('^(?:[0-9.]+)(?:[a-z%]+)$', 'gi').test(s)) + return s.replace(/[^0-9.]/g, ''); + + return s; +} + +function inStr(s, n) { + return new RegExp(n, 'gi').test(s); +} + +function getVal(s, i) { + var a = s.split(' '); + + if (a.length > 1) + return a[i]; + + return ""; +} + +function setValue(f, n, v) { + if (f.elements[n].type == "text") + f.elements[n].value = v; + else + selectByValue(f, n, v, true, true); +} + +function setupBox(f, ce, fp, pr, sf, b) { + if (typeof(b) == "undefined") + b = ['Top', 'Right', 'Bottom', 'Left']; + + if (isSame(ce, pr, sf, b)) { + f.elements[fp + "_same"].checked = true; + + setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf])); + f.elements[fp + "_top"].disabled = false; + + f.elements[fp + "_right"].value = ""; + f.elements[fp + "_right"].disabled = true; + f.elements[fp + "_bottom"].value = ""; + f.elements[fp + "_bottom"].disabled = true; + f.elements[fp + "_left"].value = ""; + f.elements[fp + "_left"].disabled = true; + + if (f.elements[fp + "_top_measurement"]) { + selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf])); + f.elements[fp + "_left_measurement"].disabled = true; + f.elements[fp + "_bottom_measurement"].disabled = true; + f.elements[fp + "_right_measurement"].disabled = true; + } + } else { + f.elements[fp + "_same"].checked = false; + + setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf])); + f.elements[fp + "_top"].disabled = false; + + setValue(f, fp + "_right", getNum(ce.style[pr + b[1] + sf])); + f.elements[fp + "_right"].disabled = false; + + setValue(f, fp + "_bottom", getNum(ce.style[pr + b[2] + sf])); + f.elements[fp + "_bottom"].disabled = false; + + setValue(f, fp + "_left", getNum(ce.style[pr + b[3] + sf])); + f.elements[fp + "_left"].disabled = false; + + if (f.elements[fp + "_top_measurement"]) { + selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf])); + selectByValue(f, fp + '_right_measurement', getMeasurement(ce.style[pr + b[1] + sf])); + selectByValue(f, fp + '_bottom_measurement', getMeasurement(ce.style[pr + b[2] + sf])); + selectByValue(f, fp + '_left_measurement', getMeasurement(ce.style[pr + b[3] + sf])); + f.elements[fp + "_left_measurement"].disabled = false; + f.elements[fp + "_bottom_measurement"].disabled = false; + f.elements[fp + "_right_measurement"].disabled = false; + } + } +} + +function isSame(e, pr, sf, b) { + var a = [], i, x; + + if (typeof(b) == "undefined") + b = ['Top', 'Right', 'Bottom', 'Left']; + + if (typeof(sf) == "undefined" || sf == null) + sf = ""; + + a[0] = e.style[pr + b[0] + sf]; + a[1] = e.style[pr + b[1] + sf]; + a[2] = e.style[pr + b[2] + sf]; + a[3] = e.style[pr + b[3] + sf]; + + for (i=0; i<a.length; i++) { + if (a[i] == null) + return false; + + for (x=0; x<a.length; x++) { + if (a[x] != a[i]) + return false; + } + } + + return true; +}; + +function hasEqualValues(a) { + var i, x; + + for (i=0; i<a.length; i++) { + if (a[i] == null) + return false; + + for (x=0; x<a.length; x++) { + if (a[x] != a[i]) + return false; + } + } + + return true; +} + +function applyAction() { + var ce = document.getElementById('container'), ed = tinyMCEPopup.editor; + + generateCSS(); + + tinyMCEPopup.restoreSelection(); + ed.dom.setAttrib(ed.selection.getSelectedBlocks(), 'style', tinyMCEPopup.editor.dom.serializeStyle(tinyMCEPopup.editor.dom.parseStyle(ce.style.cssText))); +} + +function updateAction() { + applyAction(); + tinyMCEPopup.close(); +} + +function generateCSS() { + var ce = document.getElementById('container'), f = document.forms[0], num = new RegExp('[0-9]+', 'g'), s, t; + + ce.style.cssText = ""; + + // Build text styles + ce.style.fontFamily = f.text_font.value; + ce.style.fontSize = f.text_size.value + (isNum(f.text_size.value) ? (f.text_size_measurement.value || 'px') : ""); + ce.style.fontStyle = f.text_style.value; + ce.style.lineHeight = f.text_lineheight.value + (isNum(f.text_lineheight.value) ? f.text_lineheight_measurement.value : ""); + ce.style.textTransform = f.text_case.value; + ce.style.fontWeight = f.text_weight.value; + ce.style.fontVariant = f.text_variant.value; + ce.style.color = f.text_color.value; + + s = ""; + s += f.text_underline.checked ? " underline" : ""; + s += f.text_overline.checked ? " overline" : ""; + s += f.text_linethrough.checked ? " line-through" : ""; + s += f.text_blink.checked ? " blink" : ""; + s = s.length > 0 ? s.substring(1) : s; + + if (f.text_none.checked) + s = "none"; + + ce.style.textDecoration = s; + + // Build background styles + + ce.style.backgroundColor = f.background_color.value; + ce.style.backgroundImage = f.background_image.value != "" ? "url(" + f.background_image.value + ")" : ""; + ce.style.backgroundRepeat = f.background_repeat.value; + ce.style.backgroundAttachment = f.background_attachment.value; + + if (f.background_hpos.value != "") { + s = ""; + s += f.background_hpos.value + (isNum(f.background_hpos.value) ? f.background_hpos_measurement.value : "") + " "; + s += f.background_vpos.value + (isNum(f.background_vpos.value) ? f.background_vpos_measurement.value : ""); + ce.style.backgroundPosition = s; + } + + // Build block styles + + ce.style.wordSpacing = f.block_wordspacing.value + (isNum(f.block_wordspacing.value) ? f.block_wordspacing_measurement.value : ""); + ce.style.letterSpacing = f.block_letterspacing.value + (isNum(f.block_letterspacing.value) ? f.block_letterspacing_measurement.value : ""); + ce.style.verticalAlign = f.block_vertical_alignment.value; + ce.style.textAlign = f.block_text_align.value; + ce.style.textIndent = f.block_text_indent.value + (isNum(f.block_text_indent.value) ? f.block_text_indent_measurement.value : ""); + ce.style.whiteSpace = f.block_whitespace.value; + ce.style.display = f.block_display.value; + + // Build box styles + + ce.style.width = f.box_width.value + (isNum(f.box_width.value) ? f.box_width_measurement.value : ""); + ce.style.height = f.box_height.value + (isNum(f.box_height.value) ? f.box_height_measurement.value : ""); + ce.style.styleFloat = f.box_float.value; + ce.style.cssFloat = f.box_float.value; + + ce.style.clear = f.box_clear.value; + + if (!f.box_padding_same.checked) { + ce.style.paddingTop = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : ""); + ce.style.paddingRight = f.box_padding_right.value + (isNum(f.box_padding_right.value) ? f.box_padding_right_measurement.value : ""); + ce.style.paddingBottom = f.box_padding_bottom.value + (isNum(f.box_padding_bottom.value) ? f.box_padding_bottom_measurement.value : ""); + ce.style.paddingLeft = f.box_padding_left.value + (isNum(f.box_padding_left.value) ? f.box_padding_left_measurement.value : ""); + } else + ce.style.padding = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : ""); + + if (!f.box_margin_same.checked) { + ce.style.marginTop = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : ""); + ce.style.marginRight = f.box_margin_right.value + (isNum(f.box_margin_right.value) ? f.box_margin_right_measurement.value : ""); + ce.style.marginBottom = f.box_margin_bottom.value + (isNum(f.box_margin_bottom.value) ? f.box_margin_bottom_measurement.value : ""); + ce.style.marginLeft = f.box_margin_left.value + (isNum(f.box_margin_left.value) ? f.box_margin_left_measurement.value : ""); + } else + ce.style.margin = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : ""); + + // Build border styles + + if (!f.border_style_same.checked) { + ce.style.borderTopStyle = f.border_style_top.value; + ce.style.borderRightStyle = f.border_style_right.value; + ce.style.borderBottomStyle = f.border_style_bottom.value; + ce.style.borderLeftStyle = f.border_style_left.value; + } else + ce.style.borderStyle = f.border_style_top.value; + + if (!f.border_width_same.checked) { + ce.style.borderTopWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : ""); + ce.style.borderRightWidth = f.border_width_right.value + (isNum(f.border_width_right.value) ? f.border_width_right_measurement.value : ""); + ce.style.borderBottomWidth = f.border_width_bottom.value + (isNum(f.border_width_bottom.value) ? f.border_width_bottom_measurement.value : ""); + ce.style.borderLeftWidth = f.border_width_left.value + (isNum(f.border_width_left.value) ? f.border_width_left_measurement.value : ""); + } else + ce.style.borderWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : ""); + + if (!f.border_color_same.checked) { + ce.style.borderTopColor = f.border_color_top.value; + ce.style.borderRightColor = f.border_color_right.value; + ce.style.borderBottomColor = f.border_color_bottom.value; + ce.style.borderLeftColor = f.border_color_left.value; + } else + ce.style.borderColor = f.border_color_top.value; + + // Build list styles + + ce.style.listStyleType = f.list_type.value; + ce.style.listStylePosition = f.list_position.value; + ce.style.listStyleImage = f.list_bullet_image.value != "" ? "url(" + f.list_bullet_image.value + ")" : ""; + + // Build positioning styles + + ce.style.position = f.positioning_type.value; + ce.style.visibility = f.positioning_visibility.value; + + if (ce.style.width == "") + ce.style.width = f.positioning_width.value + (isNum(f.positioning_width.value) ? f.positioning_width_measurement.value : ""); + + if (ce.style.height == "") + ce.style.height = f.positioning_height.value + (isNum(f.positioning_height.value) ? f.positioning_height_measurement.value : ""); + + ce.style.zIndex = f.positioning_zindex.value; + ce.style.overflow = f.positioning_overflow.value; + + if (!f.positioning_placement_same.checked) { + ce.style.top = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : ""); + ce.style.right = f.positioning_placement_right.value + (isNum(f.positioning_placement_right.value) ? f.positioning_placement_right_measurement.value : ""); + ce.style.bottom = f.positioning_placement_bottom.value + (isNum(f.positioning_placement_bottom.value) ? f.positioning_placement_bottom_measurement.value : ""); + ce.style.left = f.positioning_placement_left.value + (isNum(f.positioning_placement_left.value) ? f.positioning_placement_left_measurement.value : ""); + } else { + s = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : ""); + ce.style.top = s; + ce.style.right = s; + ce.style.bottom = s; + ce.style.left = s; + } + + if (!f.positioning_clip_same.checked) { + s = "rect("; + s += (isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_right.value) ? f.positioning_clip_right.value + f.positioning_clip_right_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_bottom.value) ? f.positioning_clip_bottom.value + f.positioning_clip_bottom_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_left.value) ? f.positioning_clip_left.value + f.positioning_clip_left_measurement.value : "auto"); + s += ")"; + + if (s != "rect(auto auto auto auto)") + ce.style.clip = s; + } else { + s = "rect("; + t = isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto"; + s += t + " "; + s += t + " "; + s += t + " "; + s += t + ")"; + + if (s != "rect(auto auto auto auto)") + ce.style.clip = s; + } + + ce.style.cssText = ce.style.cssText; +} + +function isNum(s) { + return new RegExp('[0-9]+', 'g').test(s); +} + +function showDisabledControls() { + var f = document.forms, i, a; + + for (i=0; i<f.length; i++) { + for (a=0; a<f[i].elements.length; a++) { + if (f[i].elements[a].disabled) + tinyMCEPopup.editor.dom.addClass(f[i].elements[a], "disabled"); + else + tinyMCEPopup.editor.dom.removeClass(f[i].elements[a], "disabled"); + } + } +} + +function fillSelect(f, s, param, dval, sep, em) { + var i, ar, p, se; + + f = document.forms[f]; + sep = typeof(sep) == "undefined" ? ";" : sep; + + if (em) + addSelectValue(f, s, "", ""); + + ar = tinyMCEPopup.getParam(param, dval).split(sep); + for (i=0; i<ar.length; i++) { + se = false; + + if (ar[i].charAt(0) == '+') { + ar[i] = ar[i].substring(1); + se = true; + } + + p = ar[i].split('='); + + if (p.length > 1) { + addSelectValue(f, s, p[0], p[1]); + + if (se) + selectByValue(f, s, p[1]); + } else { + addSelectValue(f, s, p[0], p[0]); + + if (se) + selectByValue(f, s, p[0]); + } + } +} + +function toggleSame(ce, pre) { + var el = document.forms[0].elements, i; + + if (ce.checked) { + el[pre + "_top"].disabled = false; + el[pre + "_right"].disabled = true; + el[pre + "_bottom"].disabled = true; + el[pre + "_left"].disabled = true; + + if (el[pre + "_top_measurement"]) { + el[pre + "_top_measurement"].disabled = false; + el[pre + "_right_measurement"].disabled = true; + el[pre + "_bottom_measurement"].disabled = true; + el[pre + "_left_measurement"].disabled = true; + } + } else { + el[pre + "_top"].disabled = false; + el[pre + "_right"].disabled = false; + el[pre + "_bottom"].disabled = false; + el[pre + "_left"].disabled = false; + + if (el[pre + "_top_measurement"]) { + el[pre + "_top_measurement"].disabled = false; + el[pre + "_right_measurement"].disabled = false; + el[pre + "_bottom_measurement"].disabled = false; + el[pre + "_left_measurement"].disabled = false; + } + } + + showDisabledControls(); +} + +function synch(fr, to) { + var f = document.forms[0]; + + f.elements[to].value = f.elements[fr].value; + + if (f.elements[fr + "_measurement"]) + selectByValue(f, to + "_measurement", f.elements[fr + "_measurement"].value); +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/langs/en_dlg.js new file mode 100644 index 00000000..f311421f --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/langs/en_dlg.js @@ -0,0 +1,70 @@ +tinyMCE.addI18n('en.style_dlg',{ +title:"Edit CSS Style", +apply:"Apply", +text_tab:"Text", +background_tab:"Background", +block_tab:"Block", +box_tab:"Box", +border_tab:"Border", +list_tab:"List", +positioning_tab:"Positioning", +text_props:"Text", +text_font:"Font", +text_size:"Size", +text_weight:"Weight", +text_style:"Style", +text_variant:"Variant", +text_lineheight:"Line height", +text_case:"Case", +text_color:"Color", +text_decoration:"Decoration", +text_overline:"overline", +text_underline:"underline", +text_striketrough:"strikethrough", +text_blink:"blink", +text_none:"none", +background_color:"Background color", +background_image:"Background image", +background_repeat:"Repeat", +background_attachment:"Attachment", +background_hpos:"Horizontal position", +background_vpos:"Vertical position", +block_wordspacing:"Word spacing", +block_letterspacing:"Letter spacing", +block_vertical_alignment:"Vertical alignment", +block_text_align:"Text align", +block_text_indent:"Text indent", +block_whitespace:"Whitespace", +block_display:"Display", +box_width:"Width", +box_height:"Height", +box_float:"Float", +box_clear:"Clear", +padding:"Padding", +same:"Same for all", +top:"Top", +right:"Right", +bottom:"Bottom", +left:"Left", +margin:"Margin", +style:"Style", +width:"Width", +height:"Height", +color:"Color", +list_type:"Type", +bullet_image:"Bullet image", +position:"Position", +positioning_type:"Type", +visibility:"Visibility", +zindex:"Z-index", +overflow:"Overflow", +placement:"Placement", +clip:"Clip", +text:"Text", +background:"Background", +block:"Block", +box:"Box", +border:"Border", +list:"List", +position:"Position" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/props.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/props.htm new file mode 100644 index 00000000..76ab68d8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/style/props.htm @@ -0,0 +1,840 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#style_dlg.title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/editable_selects.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <script type="text/javascript" src="js/props.js"></script> + <link href="css/props.css" rel="stylesheet" type="text/css" /> +</head> + +<body id="styleprops" style="display: none" role="application" aria-labelledby="app_title"> +<span id="app_title" style="display:none">{#style_dlg.title}</span> +<form onsubmit="updateAction();return false;" action="#"> +<div class="tabs"> + <ul> + <li id="text_tab" class="current" aria-controls="text_panel"><span><a href="javascript:mcTabs.displayTab('text_tab','text_panel');" onMouseDown="return false;">{#style_dlg.text_tab}</a></span></li> + <li id="background_tab" aria-controls="background_panel"><span><a href="javascript:mcTabs.displayTab('background_tab','background_panel');" onMouseDown="return false;">{#style_dlg.background_tab}</a></span></li> + <li id="block_tab" aria-controls="block_panel"><span><a href="javascript:mcTabs.displayTab('block_tab','block_panel');" onMouseDown="return false;">{#style_dlg.block_tab}</a></span></li> + <li id="box_tab" aria-controls="box_panel"><span><a href="javascript:mcTabs.displayTab('box_tab','box_panel');" onMouseDown="return false;">{#style_dlg.box_tab}</a></span></li> + <li id="border_tab" aria-controls="border_panel"><span><a href="javascript:mcTabs.displayTab('border_tab','border_panel');" onMouseDown="return false;">{#style_dlg.border_tab}</a></span></li> + <li id="list_tab" aria-controls="list_panel"><span><a href="javascript:mcTabs.displayTab('list_tab','list_panel');" onMouseDown="return false;">{#style_dlg.list_tab}</a></span></li> + <li id="positioning_tab" aria-controls="positioning_panel"><span><a href="javascript:mcTabs.displayTab('positioning_tab','positioning_panel');" onMouseDown="return false;">{#style_dlg.positioning_tab}</a></span></li> + </ul> +</div> + +<div class="panel_wrapper"> +<div id="text_panel" class="panel current"> + <fieldset> + <legend>{#style_dlg.text}</legend> + <table role="presentation" border="0" width="100%"> + <tr> + <td><label for="text_font">{#style_dlg.text_font}</label></td> + <td colspan="3"> + <select id="text_font" name="text_font" class="mceEditableSelect mceFocus"></select> + </td> + </tr> + <tr> + <td><label for="text_size">{#style_dlg.text_size}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><select id="text_size" name="text_size" class="mceEditableSelect"></select></td> + <td> </td> + <td> + <label id="text_size_measurement_label" for="text_size_measurement" style="display: none; visibility: hidden;">Text Size Measurement Unit</label> + <select id="text_size_measurement" name="text_size_measurement" aria-labelledby="text_size_measurement_label"></select> + </td> + </tr> + </table> + </td> + <td><label for="text_weight">{#style_dlg.text_weight}</label></td> + <td> + <select id="text_weight" name="text_weight"></select> + </td> + </tr> + <tr> + <td><label for="text_style">{#style_dlg.text_style}</label></td> + <td> + <select id="text_style" name="text_style" class="mceEditableSelect"></select> + </td> + <td><label for="text_variant">{#style_dlg.text_variant}</label></td> + <td> + <select id="text_variant" name="text_variant"></select> + </td> + </tr> + <tr> + <td><label for="text_lineheight">{#style_dlg.text_lineheight}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td> + <select id="text_lineheight" name="text_lineheight" class="mceEditableSelect"></select> + </td> + <td> </td> + <td> + <label id="text_lineheight_measurement_label" for="text_lineheight_measurement" style="display: none; visibility: hidden;">Line Height Measurement Unit</label> + <select id="text_lineheight_measurement" name="text_lineheight_measurement" aria-labelledby="text_lineheight_measurement_label"></select> + </td> + </tr> + </table> + </td> + <td><label for="text_case">{#style_dlg.text_case}</label></td> + <td> + <select id="text_case" name="text_case"></select> + </td> + </tr> + <tr> + <td><label for="text_color">{#style_dlg.text_color}</label></td> + <td colspan="2"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="text_color" name="text_color" type="text" value="" size="9" onChange="updateColor('text_color_pick','text_color');" /></td> + <td id="text_color_pickcontainer"> </td> + </tr> + </table> + </td> + </tr> + <tr> + <td valign="top" style="vertical-align: top; padding-top: 3px;">{#style_dlg.text_decoration}</td> + <td colspan="2"> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input id="text_underline" name="text_underline" class="checkbox" type="checkbox" /></td> + <td><label for="text_underline">{#style_dlg.text_underline}</label></td> + </tr> + <tr> + <td><input id="text_overline" name="text_overline" class="checkbox" type="checkbox" /></td> + <td><label for="text_overline">{#style_dlg.text_overline}</label></td> + </tr> + <tr> + <td><input id="text_linethrough" name="text_linethrough" class="checkbox" type="checkbox" /></td> + <td><label for="text_linethrough">{#style_dlg.text_striketrough}</label></td> + </tr> + <tr> + <td><input id="text_blink" name="text_blink" class="checkbox" type="checkbox" /></td> + <td><label for="text_blink">{#style_dlg.text_blink}</label></td> + </tr> + <tr> + <td><input id="text_none" name="text_none" class="checkbox" type="checkbox" /></td> + <td><label for="text_none">{#style_dlg.text_none}</label></td> + </tr> + </table> + </td> + </tr> + </table> + </fieldset> +</div> + +<div id="background_panel" class="panel"> + <fieldset> + <legend>{#style_dlg.background}</legend> + <table role="presentation" border="0"> + <tr> + <td><label for="background_color">{#style_dlg.background_color}</label></td> + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="background_color" name="background_color" type="text" value="" size="9" onChange="updateColor('background_color_pick','background_color');" /></td> + <td id="background_color_pickcontainer"> </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td><label for="background_image">{#style_dlg.background_image}</label></td> + <td><table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input id="background_image" name="background_image" type="text" /></td> + <td id="background_image_browser"> </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td><label for="background_repeat">{#style_dlg.background_repeat}</label></td> + <td><select id="background_repeat" name="background_repeat" class="mceEditableSelect"></select></td> + </tr> + + <tr> + <td><label for="background_attachment">{#style_dlg.background_attachment}</label></td> + <td><select id="background_attachment" name="background_attachment" class="mceEditableSelect"></select></td> + </tr> + + <tr> + <td><label for="background_hpos">{#style_dlg.background_hpos}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><select id="background_hpos" name="background_hpos" class="mceEditableSelect"></select></td> + <td> </td> + <td> + <label id="background_hpos_measurement_label" for="background_hpos_measurement" style="display: none; visibility: hidden;">Horizontal position measurement unit</label> + <select id="background_hpos_measurement" name="background_hpos_measurement" aria-labelledby="background_hpos_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td><label for="background_vpos">{#style_dlg.background_vpos}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><select id="background_vpos" name="background_vpos" class="mceEditableSelect"></select></td> + <td> </td> + <td> + + <label id="background_vpos_measurement_label" for="background_vpos_measurement" style="display: none; visibility: hidden;">Vertical position measurement unit</label> + <select id="background_vpos_measurement" name="background_vpos_measurement" aria-labelledby="background_vpos_measurement_label">></select></td> + </tr> + </table> + </td> + </tr> + </table> + </fieldset> +</div> + +<div id="block_panel" class="panel"> + <fieldset> + <legend>{#style_dlg.block}</legend> + <table role="presentation" border="0"> + <tr> + <td><label for="block_wordspacing">{#style_dlg.block_wordspacing}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><select id="block_wordspacing" name="block_wordspacing" class="mceEditableSelect"></select></td> + <td> </td> + <td> + <label id="block_wordspacing_measurement_label" for="block_wordspacing_measurement" style="display: none; visibility: hidden;">Word spacing measurement unit</label> + <select id="block_wordspacing_measurement" name="block_wordspacing_measurement" aria-labelledby="block_wordspacing_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td><label for="block_letterspacing">{#style_dlg.block_letterspacing}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><select id="block_letterspacing" name="block_letterspacing" class="mceEditableSelect"></select></td> + <td> </td> + <td> + <label id="block_letterspacing_measurement_label" for="block_letterspacing_measurement" style="display: none; visibility: hidden;">Letter spacing measurement unit</label> + <select id="block_letterspacing_measurement" name="block_letterspacing_measurement" aria-labelledby="block_letterspacing_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td><label for="block_vertical_alignment">{#style_dlg.block_vertical_alignment}</label></td> + <td><select id="block_vertical_alignment" name="block_vertical_alignment" class="mceEditableSelect"></select></td> + </tr> + + <tr> + <td><label for="block_text_align">{#style_dlg.block_text_align}</label></td> + <td><select id="block_text_align" name="block_text_align" class="mceEditableSelect"></select></td> + </tr> + + <tr> + <td><label for="block_text_indent">{#style_dlg.block_text_indent}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="block_text_indent" name="block_text_indent" /></td> + <td> </td> + <td> + <label id="block_text_indent_measurement_label" for="block_text_indent_measurement" style="display: none; visibility: hidden;">Text Indent Measurement Unit</label> + + <select id="block_text_indent_measurement" name="block_text_indent_measurement" aria-labelledby="block_text_indent_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td><label for="block_whitespace">{#style_dlg.block_whitespace}</label></td> + <td><select id="block_whitespace" name="block_whitespace" class="mceEditableSelect"></select></td> + </tr> + + <tr> + <td><label for="block_display">{#style_dlg.block_display}</label></td> + <td><select id="block_display" name="block_display" class="mceEditableSelect"></select></td> + </tr> + </table> + </fieldset> +</div> + +<div id="box_panel" class="panel"> + <fieldset> + <legend>{#style_dlg.box}</legend> + <table role="presentation" border="0"> + <tr> + <td><label for="box_width">{#style_dlg.box_width}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="box_width" name="box_width" class="mceEditableSelect" onChange="synch('box_width','positioning_width');" /></td> + <td> </td> + <td> + <label id="box_width_measurement_label" for="box_width_measurement" style="display: none; visibility: hidden;">Box Width Measurement Unit</label> + <select id="box_width_measurement" name="box_width_measurement" aria-labelledby="box_width_measurement_label"></select> + </td> + </tr> + </table> + </td> + <td> <label for="box_float">{#style_dlg.box_float}</label></td> + <td><select id="box_float" name="box_float" class="mceEditableSelect"></select></td> + </tr> + + <tr> + <td><label for="box_height">{#style_dlg.box_height}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="box_height" name="box_height" class="mceEditableSelect" onChange="synch('box_height','positioning_height');" /></td> + <td> </td> + <td> + <label id="box_height_measurement_label" for="box_height_measurement" style="display: none; visibility: hidden;">Box Height Measurement Unit</label> + <select id="box_height_measurement" name="box_height_measurement" aria-labelledby="box_height_measurement_label"></select> + </td> + </tr> + </table> + </td> + <td> <label for="box_clear">{#style_dlg.box_clear}</label></td> + <td><select id="box_clear" name="box_clear" class="mceEditableSelect"></select></td> + </tr> + </table> + </fieldset> + +<div style="float: left; width: 49%"> + <fieldset> + <legend>{#style_dlg.padding}</legend> + + <table role="presentation" border="0"> + <tr> + <td> </td> + <td><input type="checkbox" id="box_padding_same" name="box_padding_same" class="checkbox" checked="checked" onClick="toggleSame(this,'box_padding');" /> <label for="box_padding_same">{#style_dlg.same}</label></td> + </tr> + <tr> + <td><label for="box_padding_top">{#style_dlg.top}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="box_padding_top" name="box_padding_top" class="mceEditableSelect" /></td> + <td> </td> + <td> + <label id="box_padding_top_measurement_label" for="box_padding_top_measurement" style="display: none; visibility: hidden;">Padding Top Measurement Unit</label> + <select id="box_padding_top_measurement" name="box_padding_top_measurement" aria-labelledby="box_padding_top_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td><label for="box_padding_right">{#style_dlg.right}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="box_padding_right" name="box_padding_right" class="mceEditableSelect" disabled="disabled" /></td> + <td> </td> + <td> + <label id="box_padding_right_measurement_label" for="box_padding_right_measurement" style="display: none; visibility: hidden;">Padding Right Measurement Unit</label> + <select id="box_padding_right_measurement" name="box_padding_right_measurement" disabled="disabled" aria-labelledby="box_padding_right_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td><label for="box_padding_bottom">{#style_dlg.bottom}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="box_padding_bottom" name="box_padding_bottom" class="mceEditableSelect" disabled="disabled" /></td> + <td> </td> + <td> + <label id="box_padding_bottom_measurement_label" for="box_padding_bottom_measurement" style="display: none; visibility: hidden;">Padding Bottom Measurement Unit</label> + <select id="box_padding_bottom_measurement" name="box_padding_bottom_measurement" disabled="disabled" aria-labelledby="box_padding_bottom_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td><label for="box_padding_left">{#style_dlg.left}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="box_padding_left" name="box_padding_left" class="mceEditableSelect" disabled="disabled" /></td> + <td> </td> + <td> + <label id="box_padding_left_measurement_label" for="box_padding_left_measurement" style="display: none; visibility: hidden;">Padding Left Measurement Unit</label> + <select id="box_padding_left_measurement" name="box_padding_left_measurement" disabled="disabled" aria-labelledby="box_padding_left_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + </table> + </fieldset> +</div> + +<div style="float: right; width: 49%"> + <fieldset> + <legend>{#style_dlg.margin}</legend> + + <table role="presentation" border="0"> + <tr> + <td> </td> + <td><input type="checkbox" id="box_margin_same" name="box_margin_same" class="checkbox" checked="checked" onClick="toggleSame(this,'box_margin');" /> <label for="box_margin_same">{#style_dlg.same}</label></td> + </tr> + <tr> + <td><label for="box_margin_top">{#style_dlg.top}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="box_margin_top" name="box_margin_top" class="mceEditableSelect" /></td> + <td> </td> + <td> + <label id="box_margin_top_measurement_label" for="box_margin_top_measurement" style="display: none; visibility: hidden;">Margin Top Measurement Unit</label> + <select id="box_margin_top_measurement" name="box_margin_top_measurement" aria-labelledby="box_margin_top_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td><label for="box_margin_right">{#style_dlg.right}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="box_margin_right" name="box_margin_right" class="mceEditableSelect" disabled="disabled" /></td> + <td> </td> + <td> + <label id="box_margin_right_measurement_label" for="box_margin_right_measurement" style="display: none; visibility: hidden;">Margin Right Measurement Unit</label> + <select id="box_margin_right_measurement" name="box_margin_right_measurement" disabled="disabled" aria-labelledby="box_margin_right_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td><label for="box_margin_bottom">{#style_dlg.bottom}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="box_margin_bottom" name="box_margin_bottom" class="mceEditableSelect" disabled="disabled" /></td> + <td> </td> + <td> + <label id="box_margin_bottom_measurement_label" for="box_margin_bottom_measurement" style="display: none; visibility: hidden;">Margin Bottom Measurement Unit</label> + <select id="box_margin_bottom_measurement" name="box_margin_bottom_measurement" disabled="disabled" aria-labelledby="box_margin_bottom_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td><label for="box_margin_left">{#style_dlg.left}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="box_margin_left" name="box_margin_left" class="mceEditableSelect" disabled="disabled" /></td> + <td> </td> + <td> + <label id="box_margin_left_measurement_label" for="box_margin_left_measurement" style="display: none; visibility: hidden;">Margin Left Measurement Unit</label> + <select id="box_margin_left_measurement" name="box_margin_left_measurement" disabled="disabled" aria-labelledby="box_margin_left_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + </table> + </fieldset> +</div> +<br style="clear: both" /> +</div> + +<div id="border_panel" class="panel"> + <fieldset> + <legend>{#style_dlg.border}</legend> + <table role="presentation" border="0" cellspacing="0" cellpadding="0" width="100%"> + <tr> + <td class="tdelim"> </td> + <td class="tdelim delim"> </td> + <td class="tdelim">{#style_dlg.style}</td> + <td class="tdelim delim"> </td> + <td class="tdelim">{#style_dlg.width}</td> + <td class="tdelim delim"> </td> + <td class="tdelim">{#style_dlg.color}</td> + </tr> + + <tr> + <td> </td> + <td class="delim"> </td> + <td><input type="checkbox" id="border_style_same" name="border_style_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_style');" /> <label for="border_style_same">{#style_dlg.same}</label></td> + <td class="delim"> </td> + <td><input type="checkbox" id="border_width_same" name="border_width_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_width');" /> <label for="border_width_same">{#style_dlg.same}</label></td> + <td class="delim"> </td> + <td><input type="checkbox" id="border_color_same" name="border_color_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_color');" /> <label for="border_color_same">{#style_dlg.same}</label></td> + </tr> + + <tr> + <td>{#style_dlg.top}</td> + <td class="delim"> </td> + <td><select id="border_style_top" name="border_style_top" class="mceEditableSelect"></select></td> + <td class="delim"> </td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><select id="border_width_top" name="border_width_top" class="mceEditableSelect"></select></td> + <td> </td> + <td> + <label id="border_width_top_measurement_label" for="border_width_top_measurement" style="display: none; visibility: hidden;">Width top Measurement Unit</label> + <select id="border_width_top_measurement" name="border_width_top_measurement" aria-labelledby="border_width_top_measurement_label"></select> + </td> + </tr> + </table> + </td> + <td class="delim"> </td> + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="border_color_top" name="border_color_top" type="text" value="" size="9" onChange="updateColor('border_color_top_pick','border_color_top');" /></td> + <td id="border_color_top_pickcontainer"> </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td>{#style_dlg.right}</td> + <td class="delim"> </td> + <td><select id="border_style_right" name="border_style_right" class="mceEditableSelect" disabled="disabled"></select></td> + <td class="delim"> </td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><select id="border_width_right" name="border_width_right" class="mceEditableSelect" disabled="disabled"></select></td> + <td> </td> + <td> + <label id="border_width_right_measurement_label" for="border_width_right_measurement" style="display: none; visibility: hidden;">Width Right Measurement Unit</label> + <select id="border_width_right_measurement" name="border_width_right_measurement" disabled="disabled" aria-labelledby="border_width_right_measurement_label"></select> + </td> + </tr> + </table> + </td> + <td class="delim"> </td> + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="border_color_right" name="border_color_right" type="text" value="" size="9" onChange="updateColor('border_color_right_pick','border_color_right');" disabled="disabled" /></td> + <td id="border_color_right_pickcontainer"> </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td>{#style_dlg.bottom}</td> + <td class="delim"> </td> + <td><select id="border_style_bottom" name="border_style_bottom" class="mceEditableSelect" disabled="disabled"></select></td> + <td class="delim"> </td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><select id="border_width_bottom" name="border_width_bottom" class="mceEditableSelect" disabled="disabled"></select></td> + <td> </td> + <td> + <label id="border_width_bottom_measurement_label" for="border_width_bottom_measurement" style="display: none; visibility: hidden;">Width Bottom Measurement Unit</label> + <select id="border_width_bottom_measurement" name="border_width_bottom_measurement" disabled="disabled" aria-labelledby="border_width_bottom_measurement_label"></select> + </td> + </tr> + </table> + </td> + <td class="delim"> </td> + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="border_color_bottom" name="border_color_bottom" type="text" value="" size="9" onChange="updateColor('border_color_bottom_pick','border_color_bottom');" disabled="disabled" /></td> + <td id="border_color_bottom_pickcontainer"> </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td>{#style_dlg.left}</td> + <td class="delim"> </td> + <td><select id="border_style_left" name="border_style_left" class="mceEditableSelect" disabled="disabled"></select></td> + <td class="delim"> </td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><select id="border_width_left" name="border_width_left" class="mceEditableSelect" disabled="disabled"></select></td> + <td> </td> + <td> + <label id="border_width_left_measurement_label" for="border_width_left_measurement" style="display: none; visibility: hidden;">Width Left Measurement Unit</label> + <select id="border_width_left_measurement" name="border_width_left_measurement" disabled="disabled" aria-labelledby="border_width_left_measurement_label"></select> + </td> + </tr> + </table> + </td> + <td class="delim"> </td> + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="border_color_left" name="border_color_left" type="text" value="" size="9" onChange="updateColor('border_color_left_pick','border_color_left');" disabled="disabled" /></td> + <td id="border_color_left_pickcontainer"> </td> + </tr> + </table> + </td> + </tr> + </table> + </fieldset> +</div> + +<div id="list_panel" class="panel"> +<fieldset> + <legend>{#style_dlg.list}</legend> + <table role="presentation" border="0"> + <tr> + <td><label for="list_type">{#style_dlg.list_type}</label></td> + <td><select id="list_type" name="list_type" class="mceEditableSelect"></select></td> + </tr> + + <tr> + <td><label for="list_bullet_image">{#style_dlg.bullet_image}</label></td> + <td><input id="list_bullet_image" name="list_bullet_image" type="text" /></td> + </tr> + + <tr> + <td><label for="list_position">{#style_dlg.position}</label></td> + <td><select id="list_position" name="list_position" class="mceEditableSelect"></select></td> + </tr> + </table> +</fieldset> +</div> + +<div id="positioning_panel" class="panel"> +<fieldset> + <legend>{#style_dlg.position}</legend> +<table role="presentation" border="0"> + <tr> + <td><label for="positioning_type">{#style_dlg.positioning_type}</label></td> + <td><select id="positioning_type" name="positioning_type" class="mceEditableSelect"></select></td> + <td> <label for="positioning_visibility">{#style_dlg.visibility}</label></td> + <td><select id="positioning_visibility" name="positioning_visibility" class="mceEditableSelect"></select></td> + </tr> + + <tr> + <td><label for="positioning_width">{#style_dlg.width}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="positioning_width" name="positioning_width" onChange="synch('positioning_width','box_width');" /></td> + <td> </td> + <td> + <label id="positioning_width_measurement_label" for="positioning_width_measurement" style="display: none; visibility: hidden;">Positioning width Measurement Unit</label> + <select id="positioning_width_measurement" name="positioning_width_measurement" aria-labelledby="positioning_width_measurement_label"></select> + </td> + </tr> + </table> + </td> + <td> <label for="positioning_zindex">{#style_dlg.zindex}</label></td> + <td><input type="text" id="positioning_zindex" name="positioning_zindex" /></td> + </tr> + + <tr> + <td><label for="positioning_height">{#style_dlg.height}</label></td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="positioning_height" name="positioning_height" onChange="synch('positioning_height','box_height');" /></td> + <td> </td> + <td> + <label id="positioning_height_measurement_label" for="positioning_height_measurement" style="display: none; visibility: hidden;">Positioning Height Measurement Unit</label> + <select id="positioning_height_measurement" name="positioning_height_measurement" aria-labelledby="positioning_height_measurement_label"></select> + </td> + </tr> + </table> + </td> + <td> <label for="positioning_overflow">{#style_dlg.overflow}</label></td> + <td><select id="positioning_overflow" name="positioning_overflow" class="mceEditableSelect"></select></td> + </tr> +</table> +</fieldset> + +<div style="float: left; width: 49%"> + <fieldset> + <legend>{#style_dlg.placement}</legend> + + <table role="presentation" border="0"> + <tr> + <td> </td> + <td><input type="checkbox" id="positioning_placement_same" name="positioning_placement_same" class="checkbox" checked="checked" onClick="toggleSame(this,'positioning_placement');" /> <label for="positioning_placement_same">{#style_dlg.same}</label></td> + </tr> + <tr> + <td>{#style_dlg.top}</td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="positioning_placement_top" name="positioning_placement_top" /></td> + <td> </td> + <td> + <label id="positioning_placement_top_measurement_label" for="positioning_placement_top_measurement" style="display: none; visibility: hidden;">Placement Top Measurement Unit</label> + <select id="positioning_placement_top_measurement" name="positioning_placement_top_measurement" aria-labelledby="positioning_placement_top_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td>{#style_dlg.right}</td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="positioning_placement_right" name="positioning_placement_right" disabled="disabled" /></td> + <td> </td> + <td> + <label id="positioning_placement_right_measurement_label" for="positioning_placement_right_measurement" style="display: none; visibility: hidden;">Placement Right Measurement Unit</label> + <select id="positioning_placement_right_measurement" name="positioning_placement_right_measurement" disabled="disabled" aria-labelledby="positioning_placement_right_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td>{#style_dlg.bottom}</td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="positioning_placement_bottom" name="positioning_placement_bottom" disabled="disabled" /></td> + <td> </td> + <td> + <label id="positioning_placement_bottom_measurement_label" for="positioning_placement_bottom_measurement" style="display: none; visibility: hidden;">Placement Bottom Measurement Unit</label> + <select id="positioning_placement_bottom_measurement" name="positioning_placement_bottom_measurement" disabled="disabled" aria-labelledby="positioning_placement_bottom_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td>{#style_dlg.left}</td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="positioning_placement_left" name="positioning_placement_left" disabled="disabled" /></td> + <td> </td> + <td> + <label id="positioning_placement_left_measurement_label" for="positioning_placement_left_measurement" style="display: none; visibility: hidden;">Placement Left Measurement Unit</label> + <select id="positioning_placement_left_measurement" name="positioning_placement_left_measurement" disabled="disabled" aria-labelledby="positioning_placement_left_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + </table> + </fieldset> +</div> + +<div style="float: right; width: 49%"> + <fieldset> + <legend>{#style_dlg.clip}</legend> + + <table role="presentation" border="0"> + <tr> + <td> </td> + <td><input type="checkbox" id="positioning_clip_same" name="positioning_clip_same" class="checkbox" checked="checked" onClick="toggleSame(this,'positioning_clip');" /> <label for="positioning_clip_same">{#style_dlg.same}</label></td> + </tr> + <tr> + <td>{#style_dlg.top}</td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="positioning_clip_top" name="positioning_clip_top" /></td> + <td> </td> + <td> + <label id="positioning_clip_top_measurement_label" for="positioning_clip_top_measurement" style="display: none; visibility: hidden;">Clip Top Measurement Unit</label> + <select id="positioning_clip_top_measurement" name="positioning_clip_top_measurement" aria-labelledby="positioning_clip_top_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td>{#style_dlg.right}</td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="positioning_clip_right" name="positioning_clip_right" disabled="disabled" /></td> + <td> </td> + <td> + <label id="positioning_clip_right_measurement_label" for="positioning_clip_right_measurement" style="display: none; visibility: hidden;">Clip Right Measurement Unit</label> + <select id="positioning_clip_right_measurement" name="positioning_clip_right_measurement" disabled="disabled" aria-labelledby="positioning_clip_right_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td>{#style_dlg.bottom}</td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="positioning_clip_bottom" name="positioning_clip_bottom" disabled="disabled" /></td> + <td> </td> + <td> + <label id="positioning_clip_bottom_measurement_label" for="positioning_clip_bottom_measurement" style="display: none; visibility: hidden;">Clip Bottom Measurement Unit</label> + <select id="positioning_clip_bottom_measurement" name="positioning_clip_bottom_measurement" disabled="disabled" aria-labelledby="positioning_clip_bottom_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td>{#style_dlg.left}</td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input type="text" id="positioning_clip_left" name="positioning_clip_left" disabled="disabled" /></td> + <td> </td> + <td> + <label id="positioning_clip_left_measurement_label" for="positioning_clip_left_measurement" style="display: none; visibility: hidden;">Clip Left Measurement Unit</label> + <select id="positioning_clip_left_measurement" name="positioning_clip_left_measurement" disabled="disabled" aria-labelledby="positioning_clip_left_measurement_label"></select> + </td> + </tr> + </table> + </td> + </tr> + </table> + </fieldset> +</div> +<br style="clear: both" /> +</div> +</div> + +<div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#update}" /> + <input type="button" class="button" id="apply" name="apply" value="{#style_dlg.apply}" onClick="applyAction();" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onClick="tinyMCEPopup.close();" /> +</div> +</form> + +<div style="display: none"> + <div id="container"></div> +</div> + +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js new file mode 100644 index 00000000..42a82d11 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js @@ -0,0 +1 @@ +(function(){var c=tinymce.DOM,a=tinymce.dom.Event,d=tinymce.each,b=tinymce.explode;tinymce.create("tinymce.plugins.TabFocusPlugin",{init:function(f,g){function e(i,j){if(j.keyCode===9){return a.cancel(j)}}function h(l,p){var j,m,o,n,k;function q(t){n=c.select(":input:enabled,*[tabindex]");function s(v){return v.nodeName==="BODY"||(v.type!="hidden"&&!(v.style.display=="none")&&!(v.style.visibility=="hidden")&&s(v.parentNode))}function i(v){return v.attributes.tabIndex.specified||v.nodeName=="INPUT"||v.nodeName=="TEXTAREA"}function u(){return tinymce.isIE6||tinymce.isIE7}function r(v){return((!u()||i(v)))&&v.getAttribute("tabindex")!="-1"&&s(v)}d(n,function(w,v){if(w.id==l.id){j=v;return false}});if(t>0){for(m=j+1;m<n.length;m++){if(r(n[m])){return n[m]}}}else{for(m=j-1;m>=0;m--){if(r(n[m])){return n[m]}}}return null}if(p.keyCode===9){k=b(l.getParam("tab_focus",l.getParam("tabfocus_elements",":prev,:next")));if(k.length==1){k[1]=k[0];k[0]=":prev"}if(p.shiftKey){if(k[0]==":prev"){n=q(-1)}else{n=c.get(k[0])}}else{if(k[1]==":next"){n=q(1)}else{n=c.get(k[1])}}if(n){if(n.id&&(l=tinymce.get(n.id||n.name))){l.focus()}else{window.setTimeout(function(){if(!tinymce.isWebKit){window.focus()}n.focus()},10)}return a.cancel(p)}}}f.onKeyUp.add(e);if(tinymce.isGecko){f.onKeyPress.add(h);f.onKeyDown.add(e)}else{f.onKeyDown.add(h)}},getInfo:function(){return{longname:"Tabfocus",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/tabfocus",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("tabfocus",tinymce.plugins.TabFocusPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js new file mode 100644 index 00000000..a1579c85 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js @@ -0,0 +1,122 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, explode = tinymce.explode; + + tinymce.create('tinymce.plugins.TabFocusPlugin', { + init : function(ed, url) { + function tabCancel(ed, e) { + if (e.keyCode === 9) + return Event.cancel(e); + } + + function tabHandler(ed, e) { + var x, i, f, el, v; + + function find(d) { + el = DOM.select(':input:enabled,*[tabindex]'); + + function canSelectRecursive(e) { + return e.nodeName==="BODY" || (e.type != 'hidden' && + !(e.style.display == "none") && + !(e.style.visibility == "hidden") && canSelectRecursive(e.parentNode)); + } + function canSelectInOldIe(el) { + return el.attributes["tabIndex"].specified || el.nodeName == "INPUT" || el.nodeName == "TEXTAREA"; + } + function isOldIe() { + return tinymce.isIE6 || tinymce.isIE7; + } + function canSelect(el) { + return ((!isOldIe() || canSelectInOldIe(el))) && el.getAttribute("tabindex") != '-1' && canSelectRecursive(el); + } + + each(el, function(e, i) { + if (e.id == ed.id) { + x = i; + return false; + } + }); + if (d > 0) { + for (i = x + 1; i < el.length; i++) { + if (canSelect(el[i])) + return el[i]; + } + } else { + for (i = x - 1; i >= 0; i--) { + if (canSelect(el[i])) + return el[i]; + } + } + + return null; + } + + if (e.keyCode === 9) { + v = explode(ed.getParam('tab_focus', ed.getParam('tabfocus_elements', ':prev,:next'))); + + if (v.length == 1) { + v[1] = v[0]; + v[0] = ':prev'; + } + + // Find element to focus + if (e.shiftKey) { + if (v[0] == ':prev') + el = find(-1); + else + el = DOM.get(v[0]); + } else { + if (v[1] == ':next') + el = find(1); + else + el = DOM.get(v[1]); + } + + if (el) { + if (el.id && (ed = tinymce.get(el.id || el.name))) + ed.focus(); + else + window.setTimeout(function() { + if (!tinymce.isWebKit) + window.focus(); + el.focus(); + }, 10); + + return Event.cancel(e); + } + } + } + + ed.onKeyUp.add(tabCancel); + + if (tinymce.isGecko) { + ed.onKeyPress.add(tabHandler); + ed.onKeyDown.add(tabCancel); + } else + ed.onKeyDown.add(tabHandler); + + }, + + getInfo : function() { + return { + longname : 'Tabfocus', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/tabfocus', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('tabfocus', tinymce.plugins.TabFocusPlugin); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/cell.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/cell.htm new file mode 100644 index 00000000..2922f7a2 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/cell.htm @@ -0,0 +1,180 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#table_dlg.cell_title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <script type="text/javascript" src="../../utils/validate.js"></script> + <script type="text/javascript" src="../../utils/editable_selects.js"></script> + <script type="text/javascript" src="js/cell.js"></script> + <link href="css/cell.css" rel="stylesheet" type="text/css" /> +</head> +<body id="tablecell" style="display: none" role="application"> + <form onsubmit="updateAction();return false;" action="#"> + <div class="tabs"> + <ul> + <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#table_dlg.general_tab}</a></span></li> + <li id="advanced_tab" aria-controls="advanced_panel"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#table_dlg.advanced_tab}</a></span></li> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="general_panel" class="panel current"> + <fieldset> + <legend>{#table_dlg.general_props}</legend> + + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> + <tr> + <td><label for="align">{#table_dlg.align}</label></td> + <td> + <select id="align" name="align" class="mceFocus"> + <option value="">{#not_set}</option> + <option value="center">{#table_dlg.align_middle}</option> + <option value="left">{#table_dlg.align_left}</option> + <option value="right">{#table_dlg.align_right}</option> + </select> + </td> + + <td><label for="celltype">{#table_dlg.cell_type}</label></td> + <td> + <select id="celltype" name="celltype"> + <option value="td">{#table_dlg.td}</option> + <option value="th">{#table_dlg.th}</option> + </select> + </td> + </tr> + + <tr> + <td><label for="valign">{#table_dlg.valign}</label></td> + <td> + <select id="valign" name="valign"> + <option value="">{#not_set}</option> + <option value="top">{#table_dlg.align_top}</option> + <option value="middle">{#table_dlg.align_middle}</option> + <option value="bottom">{#table_dlg.align_bottom}</option> + </select> + </td> + + <td><label for="scope">{#table_dlg.scope}</label></td> + <td> + <select id="scope" name="scope"> + <option value="">{#not_set}</option> + <option value="col">{#table.col}</option> + <option value="row">{#table.row}</option> + <option value="rowgroup">{#table_dlg.rowgroup}</option> + <option value="colgroup">{#table_dlg.colgroup}</option> + </select> + </td> + + </tr> + + <tr> + <td><label for="width">{#table_dlg.width}</label></td> + <td><input id="width" name="width" type="text" value="" size="7" maxlength="7" onchange="changedSize();" class="size" /></td> + + <td><label for="height">{#table_dlg.height}</label></td> + <td><input id="height" name="height" type="text" value="" size="7" maxlength="7" onchange="changedSize();" class="size" /></td> + </tr> + + <tr id="styleSelectRow"> + <td><label for="class">{#class_name}</label></td> + <td colspan="3"> + <select id="class" name="class" class="mceEditableSelect"> + <option value="" selected="selected">{#not_set}</option> + </select> + </td> + </tr> + </table> + </fieldset> + </div> + + <div id="advanced_panel" class="panel"> + <fieldset> + <legend>{#table_dlg.advanced_props}</legend> + + <table role="presentation" border="0" cellpadding="0" cellspacing="4"> + <tr> + <td class="column1"><label for="id">{#table_dlg.id}</label></td> + <td><input id="id" name="id" type="text" value="" style="width: 200px" /></td> + </tr> + + <tr> + <td><label for="style">{#table_dlg.style}</label></td> + <td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td> + </tr> + + <tr> + <td class="column1"><label for="dir">{#table_dlg.langdir}</label></td> + <td> + <select id="dir" name="dir" style="width: 200px"> + <option value="">{#not_set}</option> + <option value="ltr">{#table_dlg.ltr}</option> + <option value="rtl">{#table_dlg.rtl}</option> + </select> + </td> + </tr> + + <tr> + <td class="column1"><label for="lang">{#table_dlg.langcode}</label></td> + <td> + <input id="lang" name="lang" type="text" value="" style="width: 200px" /> + </td> + </tr> + + <tr> + <td class="column1"><label for="backgroundimage">{#table_dlg.bgimage}</label></td> + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="backgroundimage" name="backgroundimage" type="text" value="" style="width: 200px" onchange="changedBackgroundImage();" /></td> + <td id="backgroundimagebrowsercontainer"> </td> + </tr> + </table> + </td> + </tr> + + <tr role="group" aria-labelledby="bordercolor_label"> + <td class="column1"><label id="bordercolor_label" for="bordercolor">{#table_dlg.bordercolor}</label></td> + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');changedColor();" /></td> + <td id="bordercolor_pickcontainer"> </td> + </tr> + </table> + </td> + </tr> + + <tr role="group" aria-labelledby="bgcolor_label"> + <td class="column1"><label id="bgcolor_label" for="bgcolor">{#table_dlg.bgcolor}</label></td> + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td> + <td id="bgcolor_pickcontainer"> </td> + </tr> + </table> + </td> + </tr> + </table> + </fieldset> + </div> + </div> + + <div class="mceActionPanel"> + <div> + <select id="action" name="action"> + <option value="cell">{#table_dlg.cell_cell}</option> + <option value="row">{#table_dlg.cell_row}</option> + <option value="col">{#table_dlg.cell_col}</option> + <option value="all">{#table_dlg.cell_all}</option> + </select> + </div> + + <input type="submit" id="insert" name="insert" value="{#update}" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> + </form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/cell.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/cell.css new file mode 100644 index 00000000..a47cc1a1 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/cell.css @@ -0,0 +1,17 @@ +/* CSS file for cell dialog in the table plugin */ + +.panel_wrapper div.current { + height: 200px; +} + +.advfield { + width: 200px; +} + +#action { + margin-bottom: 3px; +} + +#class { + width: 150px; +} \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/row.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/row.css new file mode 100644 index 00000000..0e397db3 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/row.css @@ -0,0 +1,25 @@ +/* CSS file for row dialog in the table plugin */ + +.panel_wrapper div.current { + height: 200px; +} + +.advfield { + width: 200px; +} + +#action { + margin-bottom: 3px; +} + +#rowtype,#align,#valign,#class,#height { + width: 150px; +} + +#height { + width: 50px; +} + +.col2 { + padding-left: 20px; +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/table.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/table.css new file mode 100644 index 00000000..8f107831 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/css/table.css @@ -0,0 +1,13 @@ +/* CSS file for table dialog in the table plugin */ + +.panel_wrapper div.current { + height: 245px; +} + +.advfield { + width: 200px; +} + +#class { + width: 150px; +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/editor_plugin.js new file mode 100644 index 00000000..0d756c25 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/editor_plugin.js @@ -0,0 +1 @@ +(function(d){var e=d.each;function c(g,h){var j=h.ownerDocument,f=j.createRange(),k;f.setStartBefore(h);f.setEnd(g.endContainer,g.endOffset);k=j.createElement("body");k.appendChild(f.cloneContents());return k.innerHTML.replace(/<(br|img|object|embed|input|textarea)[^>]*>/gi,"-").replace(/<[^>]+>/g,"").length==0}function a(g,f){return parseInt(g.getAttribute(f)||1)}function b(H,G,K){var g,L,D,o;t();o=G.getParent(K.getStart(),"th,td");if(o){L=F(o);D=I();o=z(L.x,L.y)}function A(N,M){N=N.cloneNode(M);N.removeAttribute("id");return N}function t(){var M=0;g=[];e(["thead","tbody","tfoot"],function(N){var O=G.select("> "+N+" tr",H);e(O,function(P,Q){Q+=M;e(G.select("> td, > th",P),function(W,R){var S,T,U,V;if(g[Q]){while(g[Q][R]){R++}}U=a(W,"rowspan");V=a(W,"colspan");for(T=Q;T<Q+U;T++){if(!g[T]){g[T]=[]}for(S=R;S<R+V;S++){g[T][S]={part:N,real:T==Q&&S==R,elm:W,rowspan:U,colspan:V}}}})});M+=O.length})}function z(M,O){var N;N=g[O];if(N){return N[M]}}function s(O,M,N){if(O){N=parseInt(N);if(N===1){O.removeAttribute(M,1)}else{O.setAttribute(M,N,1)}}}function j(M){return M&&(G.hasClass(M.elm,"mceSelected")||M==o)}function k(){var M=[];e(H.rows,function(N){e(N.cells,function(O){if(G.hasClass(O,"mceSelected")||O==o.elm){M.push(N);return false}})});return M}function r(){var M=G.createRng();M.setStartAfter(H);M.setEndAfter(H);K.setRng(M);G.remove(H)}function f(M){var N;d.walk(M,function(P){var O;if(P.nodeType==3){e(G.getParents(P.parentNode,null,M).reverse(),function(Q){Q=A(Q,false);if(!N){N=O=Q}else{if(O){O.appendChild(Q)}}O=Q});if(O){O.innerHTML=d.isIE?" ":'<br data-mce-bogus="1" />'}return false}},"childNodes");M=A(M,false);s(M,"rowSpan",1);s(M,"colSpan",1);if(N){M.appendChild(N)}else{if(!d.isIE){M.innerHTML='<br data-mce-bogus="1" />'}}return M}function q(){var M=G.createRng();e(G.select("tr",H),function(N){if(N.cells.length==0){G.remove(N)}});if(G.select("tr",H).length==0){M.setStartAfter(H);M.setEndAfter(H);K.setRng(M);G.remove(H);return}e(G.select("thead,tbody,tfoot",H),function(N){if(N.rows.length==0){G.remove(N)}});t();row=g[Math.min(g.length-1,L.y)];if(row){K.select(row[Math.min(row.length-1,L.x)].elm,true);K.collapse(true)}}function u(S,Q,U,R){var P,N,M,O,T;P=g[Q][S].elm.parentNode;for(M=1;M<=U;M++){P=G.getNext(P,"tr");if(P){for(N=S;N>=0;N--){T=g[Q+M][N].elm;if(T.parentNode==P){for(O=1;O<=R;O++){G.insertAfter(f(T),T)}break}}if(N==-1){for(O=1;O<=R;O++){P.insertBefore(f(P.cells[0]),P.cells[0])}}}}}function C(){e(g,function(M,N){e(M,function(P,O){var S,R,T,Q;if(j(P)){P=P.elm;S=a(P,"colspan");R=a(P,"rowspan");if(S>1||R>1){s(P,"rowSpan",1);s(P,"colSpan",1);for(Q=0;Q<S-1;Q++){G.insertAfter(f(P),P)}u(O,N,R-1,S)}}})})}function p(V,S,Y){var P,O,X,W,U,R,T,M,V,N,Q;if(V){pos=F(V);P=pos.x;O=pos.y;X=P+(S-1);W=O+(Y-1)}else{P=L.x;O=L.y;X=D.x;W=D.y}T=z(P,O);M=z(X,W);if(T&&M&&T.part==M.part){C();t();T=z(P,O).elm;s(T,"colSpan",(X-P)+1);s(T,"rowSpan",(W-O)+1);for(R=O;R<=W;R++){for(U=P;U<=X;U++){if(!g[R]||!g[R][U]){continue}V=g[R][U].elm;if(V!=T){N=d.grep(V.childNodes);e(N,function(Z){T.appendChild(Z)});if(N.length){N=d.grep(T.childNodes);Q=0;e(N,function(Z){if(Z.nodeName=="BR"&&G.getAttrib(Z,"data-mce-bogus")&&Q++<N.length-1){T.removeChild(Z)}})}G.remove(V)}}}q()}}function l(Q){var M,S,P,R,T,U,N,V,O;e(g,function(W,X){e(W,function(Z,Y){if(j(Z)){Z=Z.elm;T=Z.parentNode;U=A(T,false);M=X;if(Q){return false}}});if(Q){return !M}});for(R=0;R<g[0].length;R++){if(!g[M][R]){continue}S=g[M][R].elm;if(S!=P){if(!Q){O=a(S,"rowspan");if(O>1){s(S,"rowSpan",O+1);continue}}else{if(M>0&&g[M-1][R]){V=g[M-1][R].elm;O=a(V,"rowSpan");if(O>1){s(V,"rowSpan",O+1);continue}}}N=f(S);s(N,"colSpan",S.colSpan);U.appendChild(N);P=S}}if(U.hasChildNodes()){if(!Q){G.insertAfter(U,T)}else{T.parentNode.insertBefore(U,T)}}}function h(N){var O,M;e(g,function(P,Q){e(P,function(S,R){if(j(S)){O=R;if(N){return false}}});if(N){return !O}});e(g,function(S,T){var P,Q,R;if(!S[O]){return}P=S[O].elm;if(P!=M){R=a(P,"colspan");Q=a(P,"rowspan");if(R==1){if(!N){G.insertAfter(f(P),P);u(O,T,Q-1,R)}else{P.parentNode.insertBefore(f(P),P);u(O,T,Q-1,R)}}else{s(P,"colSpan",P.colSpan+1)}M=P}})}function n(){var M=[];e(g,function(N,O){e(N,function(Q,P){if(j(Q)&&d.inArray(M,P)===-1){e(g,function(T){var R=T[P].elm,S;S=a(R,"colSpan");if(S>1){s(R,"colSpan",S-1)}else{G.remove(R)}});M.push(P)}})});q()}function m(){var N;function M(Q){var P,R,O;P=G.getNext(Q,"tr");e(Q.cells,function(S){var T=a(S,"rowSpan");if(T>1){s(S,"rowSpan",T-1);R=F(S);u(R.x,R.y,1,1)}});R=F(Q.cells[0]);e(g[R.y],function(S){var T;S=S.elm;if(S!=O){T=a(S,"rowSpan");if(T<=1){G.remove(S)}else{s(S,"rowSpan",T-1)}O=S}})}N=k();e(N.reverse(),function(O){M(O)});q()}function E(){var M=k();G.remove(M);q();return M}function J(){var M=k();e(M,function(O,N){M[N]=A(O,true)});return M}function B(O,N){var P=k(),M=P[N?0:P.length-1],Q=M.cells.length;e(g,function(S){var R;Q=0;e(S,function(U,T){if(U.real){Q+=U.colspan}if(U.elm.parentNode==M){R=1}});if(R){return false}});if(!N){O.reverse()}e(O,function(T){var S=T.cells.length,R;for(i=0;i<S;i++){R=T.cells[i];s(R,"colSpan",1);s(R,"rowSpan",1)}for(i=S;i<Q;i++){T.appendChild(f(T.cells[S-1]))}for(i=Q;i<S;i++){G.remove(T.cells[i])}if(N){M.parentNode.insertBefore(T,M)}else{G.insertAfter(T,M)}})}function F(M){var N;e(g,function(O,P){e(O,function(R,Q){if(R.elm==M){N={x:Q,y:P};return false}});return !N});return N}function w(M){L=F(M)}function I(){var O,N,M;N=M=0;e(g,function(P,Q){e(P,function(S,R){var U,T;if(j(S)){S=g[Q][R];if(R>N){N=R}if(Q>M){M=Q}if(S.real){U=S.colspan-1;T=S.rowspan-1;if(U){if(R+U>N){N=R+U}}if(T){if(Q+T>M){M=Q+T}}}}})});return{x:N,y:M}}function v(S){var P,O,U,T,N,M,Q,R;D=F(S);if(L&&D){P=Math.min(L.x,D.x);O=Math.min(L.y,D.y);U=Math.max(L.x,D.x);T=Math.max(L.y,D.y);N=U;M=T;for(y=O;y<=M;y++){S=g[y][P];if(!S.real){if(P-(S.colspan-1)<P){P-=S.colspan-1}}}for(x=P;x<=N;x++){S=g[O][x];if(!S.real){if(O-(S.rowspan-1)<O){O-=S.rowspan-1}}}for(y=O;y<=T;y++){for(x=P;x<=U;x++){S=g[y][x];if(S.real){Q=S.colspan-1;R=S.rowspan-1;if(Q){if(x+Q>N){N=x+Q}}if(R){if(y+R>M){M=y+R}}}}}G.removeClass(G.select("td.mceSelected,th.mceSelected"),"mceSelected");for(y=O;y<=M;y++){for(x=P;x<=N;x++){if(g[y][x]){G.addClass(g[y][x].elm,"mceSelected")}}}}}d.extend(this,{deleteTable:r,split:C,merge:p,insertRow:l,insertCol:h,deleteCols:n,deleteRows:m,cutRows:E,copyRows:J,pasteRows:B,getPos:F,setStartCell:w,setEndCell:v})}d.create("tinymce.plugins.TablePlugin",{init:function(g,h){var f,m,j=true;function l(p){var o=g.selection,n=g.dom.getParent(p||o.getNode(),"table");if(n){return new b(n,g.dom,o)}}function k(){g.getBody().style.webkitUserSelect="";if(j){g.dom.removeClass(g.dom.select("td.mceSelected,th.mceSelected"),"mceSelected");j=false}}e([["table","table.desc","mceInsertTable",true],["delete_table","table.del","mceTableDelete"],["delete_col","table.delete_col_desc","mceTableDeleteCol"],["delete_row","table.delete_row_desc","mceTableDeleteRow"],["col_after","table.col_after_desc","mceTableInsertColAfter"],["col_before","table.col_before_desc","mceTableInsertColBefore"],["row_after","table.row_after_desc","mceTableInsertRowAfter"],["row_before","table.row_before_desc","mceTableInsertRowBefore"],["row_props","table.row_desc","mceTableRowProps",true],["cell_props","table.cell_desc","mceTableCellProps",true],["split_cells","table.split_cells_desc","mceTableSplitCells",true],["merge_cells","table.merge_cells_desc","mceTableMergeCells",true]],function(n){g.addButton(n[0],{title:n[1],cmd:n[2],ui:n[3]})});if(!d.isIE){g.onClick.add(function(n,o){o=o.target;if(o.nodeName==="TABLE"){n.selection.select(o);n.nodeChanged()}})}g.onPreProcess.add(function(o,p){var n,q,r,t=o.dom,s;n=t.select("table",p.node);q=n.length;while(q--){r=n[q];t.setAttrib(r,"data-mce-style","");if((s=t.getAttrib(r,"width"))){t.setStyle(r,"width",s);t.setAttrib(r,"width","")}if((s=t.getAttrib(r,"height"))){t.setStyle(r,"height",s);t.setAttrib(r,"height","")}}});g.onNodeChange.add(function(q,o,s){var r;s=q.selection.getStart();r=q.dom.getParent(s,"td,th,caption");o.setActive("table",s.nodeName==="TABLE"||!!r);if(r&&r.nodeName==="CAPTION"){r=0}o.setDisabled("delete_table",!r);o.setDisabled("delete_col",!r);o.setDisabled("delete_table",!r);o.setDisabled("delete_row",!r);o.setDisabled("col_after",!r);o.setDisabled("col_before",!r);o.setDisabled("row_after",!r);o.setDisabled("row_before",!r);o.setDisabled("row_props",!r);o.setDisabled("cell_props",!r);o.setDisabled("split_cells",!r);o.setDisabled("merge_cells",!r)});g.onInit.add(function(r){var p,t,q=r.dom,u;f=r.windowManager;r.onMouseDown.add(function(w,z){if(z.button!=2){k();t=q.getParent(z.target,"td,th");p=q.getParent(t,"table")}});q.bind(r.getDoc(),"mouseover",function(C){var A,z,B=C.target;if(t&&(u||B!=t)&&(B.nodeName=="TD"||B.nodeName=="TH")){z=q.getParent(B,"table");if(z==p){if(!u){u=l(z);u.setStartCell(t);r.getBody().style.webkitUserSelect="none"}u.setEndCell(B);j=true}A=r.selection.getSel();try{if(A.removeAllRanges){A.removeAllRanges()}else{A.empty()}}catch(w){}C.preventDefault()}});r.onMouseUp.add(function(F,G){var z,B=F.selection,H,I=B.getSel(),w,C,A,E;if(t){if(u){F.getBody().style.webkitUserSelect=""}function D(J,L){var K=new d.dom.TreeWalker(J,J);do{if(J.nodeType==3&&d.trim(J.nodeValue).length!=0){if(L){z.setStart(J,0)}else{z.setEnd(J,J.nodeValue.length)}return}if(J.nodeName=="BR"){if(L){z.setStartBefore(J)}else{z.setEndBefore(J)}return}}while(J=(L?K.next():K.prev()))}H=q.select("td.mceSelected,th.mceSelected");if(H.length>0){z=q.createRng();C=H[0];E=H[H.length-1];z.setStartBefore(C);z.setEndAfter(C);D(C,1);w=new d.dom.TreeWalker(C,q.getParent(H[0],"table"));do{if(C.nodeName=="TD"||C.nodeName=="TH"){if(!q.hasClass(C,"mceSelected")){break}A=C}}while(C=w.next());D(A);B.setRng(z)}F.nodeChanged();t=u=p=null}});r.onKeyUp.add(function(w,z){k()});r.onKeyDown.add(function(w,z){n(w)});r.onMouseDown.add(function(w,z){if(z.button!=2){n(w)}});function o(D,z,A,F){var B=3,G=D.dom.getParent(z.startContainer,"TABLE"),C,w,E;if(G){C=G.parentNode}w=z.startContainer.nodeType==B&&z.startOffset==0&&z.endOffset==0&&F&&(A.nodeName=="TR"||A==C);E=(A.nodeName=="TD"||A.nodeName=="TH")&&!F;return w||E}function n(A){if(!d.isWebKit){return}var z=A.selection.getRng();var C=A.selection.getNode();var B=A.dom.getParent(z.startContainer,"TD");if(!o(A,z,C,B)){return}if(!B){B=C}var w=B.lastChild;while(w.lastChild){w=w.lastChild}z.setEnd(w,w.nodeValue.length);A.selection.setRng(z)}r.plugins.table.fixTableCellSelection=n;if(r&&r.plugins.contextmenu){r.plugins.contextmenu.onContextMenu.add(function(A,w,C){var D,B=r.selection,z=B.getNode()||r.getBody();if(r.dom.getParent(C,"td")||r.dom.getParent(C,"th")||r.dom.select("td.mceSelected,th.mceSelected").length){w.removeAll();if(z.nodeName=="A"&&!r.dom.getAttrib(z,"name")){w.add({title:"advanced.link_desc",icon:"link",cmd:r.plugins.advlink?"mceAdvLink":"mceLink",ui:true});w.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"});w.addSeparator()}if(z.nodeName=="IMG"&&z.className.indexOf("mceItem")==-1){w.add({title:"advanced.image_desc",icon:"image",cmd:r.plugins.advimage?"mceAdvImage":"mceImage",ui:true});w.addSeparator()}w.add({title:"table.desc",icon:"table",cmd:"mceInsertTable",value:{action:"insert"}});w.add({title:"table.props_desc",icon:"table_props",cmd:"mceInsertTable"});w.add({title:"table.del",icon:"delete_table",cmd:"mceTableDelete"});w.addSeparator();D=w.addMenu({title:"table.cell"});D.add({title:"table.cell_desc",icon:"cell_props",cmd:"mceTableCellProps"});D.add({title:"table.split_cells_desc",icon:"split_cells",cmd:"mceTableSplitCells"});D.add({title:"table.merge_cells_desc",icon:"merge_cells",cmd:"mceTableMergeCells"});D=w.addMenu({title:"table.row"});D.add({title:"table.row_desc",icon:"row_props",cmd:"mceTableRowProps"});D.add({title:"table.row_before_desc",icon:"row_before",cmd:"mceTableInsertRowBefore"});D.add({title:"table.row_after_desc",icon:"row_after",cmd:"mceTableInsertRowAfter"});D.add({title:"table.delete_row_desc",icon:"delete_row",cmd:"mceTableDeleteRow"});D.addSeparator();D.add({title:"table.cut_row_desc",icon:"cut",cmd:"mceTableCutRow"});D.add({title:"table.copy_row_desc",icon:"copy",cmd:"mceTableCopyRow"});D.add({title:"table.paste_row_before_desc",icon:"paste",cmd:"mceTablePasteRowBefore"}).setDisabled(!m);D.add({title:"table.paste_row_after_desc",icon:"paste",cmd:"mceTablePasteRowAfter"}).setDisabled(!m);D=w.addMenu({title:"table.col"});D.add({title:"table.col_before_desc",icon:"col_before",cmd:"mceTableInsertColBefore"});D.add({title:"table.col_after_desc",icon:"col_after",cmd:"mceTableInsertColAfter"});D.add({title:"table.delete_col_desc",icon:"delete_col",cmd:"mceTableDeleteCol"})}else{w.add({title:"table.desc",icon:"table",cmd:"mceInsertTable"})}})}if(d.isWebKit){function v(B,M){function F(Q){B.selection.setCursorLocation(Q,0)}function H(R,Q){return R.keyCode==z?Q.previousSibling:Q.nextSibling}function G(R,S){var Q=H(R,S);return Q!==null&&Q.tagName==="TR"?Q:null}function C(Q,R){return Q.dom.getParent(R,"table")}function O(Q){var R=C(B,Q);return H(M,R)}function A(Q){return Q.keyCode==z||Q.keyCode==I}function D(Q){var S=Q.selection.getNode();var R=Q.dom.getParent(S,"tr");return R!==null}function N(R){var Q=0;var S=R;while(S.previousSibling){S=S.previousSibling;Q=Q+a(S,"colspan")}return Q}function E(S,Q){var T=0;var R=0;e(S.children,function(U,V){T=T+a(U,"colspan");R=V;if(T>Q){return false}});return R}function w(S,T,V){var U=N(S.dom.getParent(T,"td"));var R=E(V,U);var Q=V.childNodes[R];F(Q)}function L(R,T){var Q=O(R);if(Q!==null){F(Q);return d.dom.Event.cancel(T)}else{var S=T.keyCode==z?R.firstChild:R.lastChild;F(S);return true}}var z=38;var I=40;if(A(M)&&D(B)){var J=B.selection.getNode();var P=B.dom.getParent(J,"tr");var K=G(M,P);if(K==null){return L(P,M)}else{w(B,J,K);d.dom.Event.cancel(M);return true}}}r.onKeyDown.add(v)}if(!d.isIE){function s(){var w;for(w=r.getBody().lastChild;w&&w.nodeType==3&&!w.nodeValue.length;w=w.previousSibling){}if(w&&w.nodeName=="TABLE"){r.dom.add(r.getBody(),"p",null,'<br mce_bogus="1" />')}}if(d.isGecko){r.onKeyDown.add(function(z,B){var w,A,C=z.dom;if(B.keyCode==37||B.keyCode==38){w=z.selection.getRng();A=C.getParent(w.startContainer,"table");if(A&&z.getBody().firstChild==A){if(c(w,A)){w=C.createRng();w.setStartBefore(A);w.setEndBefore(A);z.selection.setRng(w);B.preventDefault()}}}})}r.onKeyUp.add(s);r.onSetContent.add(s);r.onVisualAid.add(s);r.onPreProcess.add(function(w,A){var z=A.node.lastChild;if(z&&z.childNodes.length==1&&z.firstChild.nodeName=="BR"){w.dom.remove(z)}});s()}});e({mceTableSplitCells:function(n){n.split()},mceTableMergeCells:function(o){var p,q,n;n=g.dom.getParent(g.selection.getNode(),"th,td");if(n){p=n.rowSpan;q=n.colSpan}if(!g.dom.select("td.mceSelected,th.mceSelected").length){f.open({url:h+"/merge_cells.htm",width:240+parseInt(g.getLang("table.merge_cells_delta_width",0)),height:110+parseInt(g.getLang("table.merge_cells_delta_height",0)),inline:1},{rows:p,cols:q,onaction:function(r){o.merge(n,r.cols,r.rows)},plugin_url:h})}else{o.merge()}},mceTableInsertRowBefore:function(n){n.insertRow(true)},mceTableInsertRowAfter:function(n){n.insertRow()},mceTableInsertColBefore:function(n){n.insertCol(true)},mceTableInsertColAfter:function(n){n.insertCol()},mceTableDeleteCol:function(n){n.deleteCols()},mceTableDeleteRow:function(n){n.deleteRows()},mceTableCutRow:function(n){m=n.cutRows()},mceTableCopyRow:function(n){m=n.copyRows()},mceTablePasteRowBefore:function(n){n.pasteRows(m,true)},mceTablePasteRowAfter:function(n){n.pasteRows(m)},mceTableDelete:function(n){n.deleteTable()}},function(o,n){g.addCommand(n,function(){var p=l();if(p){o(p);g.execCommand("mceRepaint");k()}})});e({mceInsertTable:function(n){f.open({url:h+"/table.htm",width:400+parseInt(g.getLang("table.table_delta_width",0)),height:320+parseInt(g.getLang("table.table_delta_height",0)),inline:1},{plugin_url:h,action:n?n.action:0})},mceTableRowProps:function(){f.open({url:h+"/row.htm",width:400+parseInt(g.getLang("table.rowprops_delta_width",0)),height:295+parseInt(g.getLang("table.rowprops_delta_height",0)),inline:1},{plugin_url:h})},mceTableCellProps:function(){f.open({url:h+"/cell.htm",width:400+parseInt(g.getLang("table.cellprops_delta_width",0)),height:295+parseInt(g.getLang("table.cellprops_delta_height",0)),inline:1},{plugin_url:h})}},function(o,n){g.addCommand(n,function(p,q){o(q)})})}});d.PluginManager.add("table",d.plugins.TablePlugin)})(tinymce); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/editor_plugin_src.js new file mode 100644 index 00000000..60cc567d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/editor_plugin_src.js @@ -0,0 +1,1363 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function(tinymce) { + var each = tinymce.each; + + // Checks if the selection/caret is at the start of the specified block element + function isAtStart(rng, par) { + var doc = par.ownerDocument, rng2 = doc.createRange(), elm; + + rng2.setStartBefore(par); + rng2.setEnd(rng.endContainer, rng.endOffset); + + elm = doc.createElement('body'); + elm.appendChild(rng2.cloneContents()); + + // Check for text characters of other elements that should be treated as content + return elm.innerHTML.replace(/<(br|img|object|embed|input|textarea)[^>]*>/gi, '-').replace(/<[^>]+>/g, '').length == 0; + }; + + function getSpanVal(td, name) { + return parseInt(td.getAttribute(name) || 1); + } + + /** + * Table Grid class. + */ + function TableGrid(table, dom, selection) { + var grid, startPos, endPos, selectedCell; + + buildGrid(); + selectedCell = dom.getParent(selection.getStart(), 'th,td'); + if (selectedCell) { + startPos = getPos(selectedCell); + endPos = findEndPos(); + selectedCell = getCell(startPos.x, startPos.y); + } + + function cloneNode(node, children) { + node = node.cloneNode(children); + node.removeAttribute('id'); + + return node; + } + + function buildGrid() { + var startY = 0; + + grid = []; + + each(['thead', 'tbody', 'tfoot'], function(part) { + var rows = dom.select('> ' + part + ' tr', table); + + each(rows, function(tr, y) { + y += startY; + + each(dom.select('> td, > th', tr), function(td, x) { + var x2, y2, rowspan, colspan; + + // Skip over existing cells produced by rowspan + if (grid[y]) { + while (grid[y][x]) + x++; + } + + // Get col/rowspan from cell + rowspan = getSpanVal(td, 'rowspan'); + colspan = getSpanVal(td, 'colspan'); + + // Fill out rowspan/colspan right and down + for (y2 = y; y2 < y + rowspan; y2++) { + if (!grid[y2]) + grid[y2] = []; + + for (x2 = x; x2 < x + colspan; x2++) { + grid[y2][x2] = { + part : part, + real : y2 == y && x2 == x, + elm : td, + rowspan : rowspan, + colspan : colspan + }; + } + } + }); + }); + + startY += rows.length; + }); + }; + + function getCell(x, y) { + var row; + + row = grid[y]; + if (row) + return row[x]; + }; + + function setSpanVal(td, name, val) { + if (td) { + val = parseInt(val); + + if (val === 1) + td.removeAttribute(name, 1); + else + td.setAttribute(name, val, 1); + } + } + + function isCellSelected(cell) { + return cell && (dom.hasClass(cell.elm, 'mceSelected') || cell == selectedCell); + }; + + function getSelectedRows() { + var rows = []; + + each(table.rows, function(row) { + each(row.cells, function(cell) { + if (dom.hasClass(cell, 'mceSelected') || cell == selectedCell.elm) { + rows.push(row); + return false; + } + }); + }); + + return rows; + }; + + function deleteTable() { + var rng = dom.createRng(); + + rng.setStartAfter(table); + rng.setEndAfter(table); + + selection.setRng(rng); + + dom.remove(table); + }; + + function cloneCell(cell) { + var formatNode; + + // Clone formats + tinymce.walk(cell, function(node) { + var curNode; + + if (node.nodeType == 3) { + each(dom.getParents(node.parentNode, null, cell).reverse(), function(node) { + node = cloneNode(node, false); + + if (!formatNode) + formatNode = curNode = node; + else if (curNode) + curNode.appendChild(node); + + curNode = node; + }); + + // Add something to the inner node + if (curNode) + curNode.innerHTML = tinymce.isIE ? ' ' : '<br data-mce-bogus="1" />'; + + return false; + } + }, 'childNodes'); + + cell = cloneNode(cell, false); + setSpanVal(cell, 'rowSpan', 1); + setSpanVal(cell, 'colSpan', 1); + + if (formatNode) { + cell.appendChild(formatNode); + } else { + if (!tinymce.isIE) + cell.innerHTML = '<br data-mce-bogus="1" />'; + } + + return cell; + }; + + function cleanup() { + var rng = dom.createRng(); + + // Empty rows + each(dom.select('tr', table), function(tr) { + if (tr.cells.length == 0) + dom.remove(tr); + }); + + // Empty table + if (dom.select('tr', table).length == 0) { + rng.setStartAfter(table); + rng.setEndAfter(table); + selection.setRng(rng); + dom.remove(table); + return; + } + + // Empty header/body/footer + each(dom.select('thead,tbody,tfoot', table), function(part) { + if (part.rows.length == 0) + dom.remove(part); + }); + + // Restore selection to start position if it still exists + buildGrid(); + + // Restore the selection to the closest table position + row = grid[Math.min(grid.length - 1, startPos.y)]; + if (row) { + selection.select(row[Math.min(row.length - 1, startPos.x)].elm, true); + selection.collapse(true); + } + }; + + function fillLeftDown(x, y, rows, cols) { + var tr, x2, r, c, cell; + + tr = grid[y][x].elm.parentNode; + for (r = 1; r <= rows; r++) { + tr = dom.getNext(tr, 'tr'); + + if (tr) { + // Loop left to find real cell + for (x2 = x; x2 >= 0; x2--) { + cell = grid[y + r][x2].elm; + + if (cell.parentNode == tr) { + // Append clones after + for (c = 1; c <= cols; c++) + dom.insertAfter(cloneCell(cell), cell); + + break; + } + } + + if (x2 == -1) { + // Insert nodes before first cell + for (c = 1; c <= cols; c++) + tr.insertBefore(cloneCell(tr.cells[0]), tr.cells[0]); + } + } + } + }; + + function split() { + each(grid, function(row, y) { + each(row, function(cell, x) { + var colSpan, rowSpan, newCell, i; + + if (isCellSelected(cell)) { + cell = cell.elm; + colSpan = getSpanVal(cell, 'colspan'); + rowSpan = getSpanVal(cell, 'rowspan'); + + if (colSpan > 1 || rowSpan > 1) { + setSpanVal(cell, 'rowSpan', 1); + setSpanVal(cell, 'colSpan', 1); + + // Insert cells right + for (i = 0; i < colSpan - 1; i++) + dom.insertAfter(cloneCell(cell), cell); + + fillLeftDown(x, y, rowSpan - 1, colSpan); + } + } + }); + }); + }; + + function merge(cell, cols, rows) { + var startX, startY, endX, endY, x, y, startCell, endCell, cell, children, count; + + // Use specified cell and cols/rows + if (cell) { + pos = getPos(cell); + startX = pos.x; + startY = pos.y; + endX = startX + (cols - 1); + endY = startY + (rows - 1); + } else { + // Use selection + startX = startPos.x; + startY = startPos.y; + endX = endPos.x; + endY = endPos.y; + } + + // Find start/end cells + startCell = getCell(startX, startY); + endCell = getCell(endX, endY); + + // Check if the cells exists and if they are of the same part for example tbody = tbody + if (startCell && endCell && startCell.part == endCell.part) { + // Split and rebuild grid + split(); + buildGrid(); + + // Set row/col span to start cell + startCell = getCell(startX, startY).elm; + setSpanVal(startCell, 'colSpan', (endX - startX) + 1); + setSpanVal(startCell, 'rowSpan', (endY - startY) + 1); + + // Remove other cells and add it's contents to the start cell + for (y = startY; y <= endY; y++) { + for (x = startX; x <= endX; x++) { + if (!grid[y] || !grid[y][x]) + continue; + + cell = grid[y][x].elm; + + if (cell != startCell) { + // Move children to startCell + children = tinymce.grep(cell.childNodes); + each(children, function(node) { + startCell.appendChild(node); + }); + + // Remove bogus nodes if there is children in the target cell + if (children.length) { + children = tinymce.grep(startCell.childNodes); + count = 0; + each(children, function(node) { + if (node.nodeName == 'BR' && dom.getAttrib(node, 'data-mce-bogus') && count++ < children.length - 1) + startCell.removeChild(node); + }); + } + + // Remove cell + dom.remove(cell); + } + } + } + + // Remove empty rows etc and restore caret location + cleanup(); + } + }; + + function insertRow(before) { + var posY, cell, lastCell, x, rowElm, newRow, newCell, otherCell, rowSpan; + + // Find first/last row + each(grid, function(row, y) { + each(row, function(cell, x) { + if (isCellSelected(cell)) { + cell = cell.elm; + rowElm = cell.parentNode; + newRow = cloneNode(rowElm, false); + posY = y; + + if (before) + return false; + } + }); + + if (before) + return !posY; + }); + + for (x = 0; x < grid[0].length; x++) { + // Cell not found could be because of an invalid table structure + if (!grid[posY][x]) + continue; + + cell = grid[posY][x].elm; + + if (cell != lastCell) { + if (!before) { + rowSpan = getSpanVal(cell, 'rowspan'); + if (rowSpan > 1) { + setSpanVal(cell, 'rowSpan', rowSpan + 1); + continue; + } + } else { + // Check if cell above can be expanded + if (posY > 0 && grid[posY - 1][x]) { + otherCell = grid[posY - 1][x].elm; + rowSpan = getSpanVal(otherCell, 'rowSpan'); + if (rowSpan > 1) { + setSpanVal(otherCell, 'rowSpan', rowSpan + 1); + continue; + } + } + } + + // Insert new cell into new row + newCell = cloneCell(cell); + setSpanVal(newCell, 'colSpan', cell.colSpan); + + newRow.appendChild(newCell); + + lastCell = cell; + } + } + + if (newRow.hasChildNodes()) { + if (!before) + dom.insertAfter(newRow, rowElm); + else + rowElm.parentNode.insertBefore(newRow, rowElm); + } + }; + + function insertCol(before) { + var posX, lastCell; + + // Find first/last column + each(grid, function(row, y) { + each(row, function(cell, x) { + if (isCellSelected(cell)) { + posX = x; + + if (before) + return false; + } + }); + + if (before) + return !posX; + }); + + each(grid, function(row, y) { + var cell, rowSpan, colSpan; + + if (!row[posX]) + return; + + cell = row[posX].elm; + if (cell != lastCell) { + colSpan = getSpanVal(cell, 'colspan'); + rowSpan = getSpanVal(cell, 'rowspan'); + + if (colSpan == 1) { + if (!before) { + dom.insertAfter(cloneCell(cell), cell); + fillLeftDown(posX, y, rowSpan - 1, colSpan); + } else { + cell.parentNode.insertBefore(cloneCell(cell), cell); + fillLeftDown(posX, y, rowSpan - 1, colSpan); + } + } else + setSpanVal(cell, 'colSpan', cell.colSpan + 1); + + lastCell = cell; + } + }); + }; + + function deleteCols() { + var cols = []; + + // Get selected column indexes + each(grid, function(row, y) { + each(row, function(cell, x) { + if (isCellSelected(cell) && tinymce.inArray(cols, x) === -1) { + each(grid, function(row) { + var cell = row[x].elm, colSpan; + + colSpan = getSpanVal(cell, 'colSpan'); + + if (colSpan > 1) + setSpanVal(cell, 'colSpan', colSpan - 1); + else + dom.remove(cell); + }); + + cols.push(x); + } + }); + }); + + cleanup(); + }; + + function deleteRows() { + var rows; + + function deleteRow(tr) { + var nextTr, pos, lastCell; + + nextTr = dom.getNext(tr, 'tr'); + + // Move down row spanned cells + each(tr.cells, function(cell) { + var rowSpan = getSpanVal(cell, 'rowSpan'); + + if (rowSpan > 1) { + setSpanVal(cell, 'rowSpan', rowSpan - 1); + pos = getPos(cell); + fillLeftDown(pos.x, pos.y, 1, 1); + } + }); + + // Delete cells + pos = getPos(tr.cells[0]); + each(grid[pos.y], function(cell) { + var rowSpan; + + cell = cell.elm; + + if (cell != lastCell) { + rowSpan = getSpanVal(cell, 'rowSpan'); + + if (rowSpan <= 1) + dom.remove(cell); + else + setSpanVal(cell, 'rowSpan', rowSpan - 1); + + lastCell = cell; + } + }); + }; + + // Get selected rows and move selection out of scope + rows = getSelectedRows(); + + // Delete all selected rows + each(rows.reverse(), function(tr) { + deleteRow(tr); + }); + + cleanup(); + }; + + function cutRows() { + var rows = getSelectedRows(); + + dom.remove(rows); + cleanup(); + + return rows; + }; + + function copyRows() { + var rows = getSelectedRows(); + + each(rows, function(row, i) { + rows[i] = cloneNode(row, true); + }); + + return rows; + }; + + function pasteRows(rows, before) { + var selectedRows = getSelectedRows(), + targetRow = selectedRows[before ? 0 : selectedRows.length - 1], + targetCellCount = targetRow.cells.length; + + // Calc target cell count + each(grid, function(row) { + var match; + + targetCellCount = 0; + each(row, function(cell, x) { + if (cell.real) + targetCellCount += cell.colspan; + + if (cell.elm.parentNode == targetRow) + match = 1; + }); + + if (match) + return false; + }); + + if (!before) + rows.reverse(); + + each(rows, function(row) { + var cellCount = row.cells.length, cell; + + // Remove col/rowspans + for (i = 0; i < cellCount; i++) { + cell = row.cells[i]; + setSpanVal(cell, 'colSpan', 1); + setSpanVal(cell, 'rowSpan', 1); + } + + // Needs more cells + for (i = cellCount; i < targetCellCount; i++) + row.appendChild(cloneCell(row.cells[cellCount - 1])); + + // Needs less cells + for (i = targetCellCount; i < cellCount; i++) + dom.remove(row.cells[i]); + + // Add before/after + if (before) + targetRow.parentNode.insertBefore(row, targetRow); + else + dom.insertAfter(row, targetRow); + }); + }; + + function getPos(target) { + var pos; + + each(grid, function(row, y) { + each(row, function(cell, x) { + if (cell.elm == target) { + pos = {x : x, y : y}; + return false; + } + }); + + return !pos; + }); + + return pos; + }; + + function setStartCell(cell) { + startPos = getPos(cell); + }; + + function findEndPos() { + var pos, maxX, maxY; + + maxX = maxY = 0; + + each(grid, function(row, y) { + each(row, function(cell, x) { + var colSpan, rowSpan; + + if (isCellSelected(cell)) { + cell = grid[y][x]; + + if (x > maxX) + maxX = x; + + if (y > maxY) + maxY = y; + + if (cell.real) { + colSpan = cell.colspan - 1; + rowSpan = cell.rowspan - 1; + + if (colSpan) { + if (x + colSpan > maxX) + maxX = x + colSpan; + } + + if (rowSpan) { + if (y + rowSpan > maxY) + maxY = y + rowSpan; + } + } + } + }); + }); + + return {x : maxX, y : maxY}; + }; + + function setEndCell(cell) { + var startX, startY, endX, endY, maxX, maxY, colSpan, rowSpan; + + endPos = getPos(cell); + + if (startPos && endPos) { + // Get start/end positions + startX = Math.min(startPos.x, endPos.x); + startY = Math.min(startPos.y, endPos.y); + endX = Math.max(startPos.x, endPos.x); + endY = Math.max(startPos.y, endPos.y); + + // Expand end positon to include spans + maxX = endX; + maxY = endY; + + // Expand startX + for (y = startY; y <= maxY; y++) { + cell = grid[y][startX]; + + if (!cell.real) { + if (startX - (cell.colspan - 1) < startX) + startX -= cell.colspan - 1; + } + } + + // Expand startY + for (x = startX; x <= maxX; x++) { + cell = grid[startY][x]; + + if (!cell.real) { + if (startY - (cell.rowspan - 1) < startY) + startY -= cell.rowspan - 1; + } + } + + // Find max X, Y + for (y = startY; y <= endY; y++) { + for (x = startX; x <= endX; x++) { + cell = grid[y][x]; + + if (cell.real) { + colSpan = cell.colspan - 1; + rowSpan = cell.rowspan - 1; + + if (colSpan) { + if (x + colSpan > maxX) + maxX = x + colSpan; + } + + if (rowSpan) { + if (y + rowSpan > maxY) + maxY = y + rowSpan; + } + } + } + } + + // Remove current selection + dom.removeClass(dom.select('td.mceSelected,th.mceSelected'), 'mceSelected'); + + // Add new selection + for (y = startY; y <= maxY; y++) { + for (x = startX; x <= maxX; x++) { + if (grid[y][x]) + dom.addClass(grid[y][x].elm, 'mceSelected'); + } + } + } + }; + + // Expose to public + tinymce.extend(this, { + deleteTable : deleteTable, + split : split, + merge : merge, + insertRow : insertRow, + insertCol : insertCol, + deleteCols : deleteCols, + deleteRows : deleteRows, + cutRows : cutRows, + copyRows : copyRows, + pasteRows : pasteRows, + getPos : getPos, + setStartCell : setStartCell, + setEndCell : setEndCell + }); + }; + + tinymce.create('tinymce.plugins.TablePlugin', { + init : function(ed, url) { + var winMan, clipboardRows, hasCellSelection = true; // Might be selected cells on reload + + function createTableGrid(node) { + var selection = ed.selection, tblElm = ed.dom.getParent(node || selection.getNode(), 'table'); + + if (tblElm) + return new TableGrid(tblElm, ed.dom, selection); + }; + + function cleanup() { + // Restore selection possibilities + ed.getBody().style.webkitUserSelect = ''; + + if (hasCellSelection) { + ed.dom.removeClass(ed.dom.select('td.mceSelected,th.mceSelected'), 'mceSelected'); + hasCellSelection = false; + } + }; + + // Register buttons + each([ + ['table', 'table.desc', 'mceInsertTable', true], + ['delete_table', 'table.del', 'mceTableDelete'], + ['delete_col', 'table.delete_col_desc', 'mceTableDeleteCol'], + ['delete_row', 'table.delete_row_desc', 'mceTableDeleteRow'], + ['col_after', 'table.col_after_desc', 'mceTableInsertColAfter'], + ['col_before', 'table.col_before_desc', 'mceTableInsertColBefore'], + ['row_after', 'table.row_after_desc', 'mceTableInsertRowAfter'], + ['row_before', 'table.row_before_desc', 'mceTableInsertRowBefore'], + ['row_props', 'table.row_desc', 'mceTableRowProps', true], + ['cell_props', 'table.cell_desc', 'mceTableCellProps', true], + ['split_cells', 'table.split_cells_desc', 'mceTableSplitCells', true], + ['merge_cells', 'table.merge_cells_desc', 'mceTableMergeCells', true] + ], function(c) { + ed.addButton(c[0], {title : c[1], cmd : c[2], ui : c[3]}); + }); + + // Select whole table is a table border is clicked + if (!tinymce.isIE) { + ed.onClick.add(function(ed, e) { + e = e.target; + + if (e.nodeName === 'TABLE') { + ed.selection.select(e); + ed.nodeChanged(); + } + }); + } + + ed.onPreProcess.add(function(ed, args) { + var nodes, i, node, dom = ed.dom, value; + + nodes = dom.select('table', args.node); + i = nodes.length; + while (i--) { + node = nodes[i]; + dom.setAttrib(node, 'data-mce-style', ''); + + if ((value = dom.getAttrib(node, 'width'))) { + dom.setStyle(node, 'width', value); + dom.setAttrib(node, 'width', ''); + } + + if ((value = dom.getAttrib(node, 'height'))) { + dom.setStyle(node, 'height', value); + dom.setAttrib(node, 'height', ''); + } + } + }); + + // Handle node change updates + ed.onNodeChange.add(function(ed, cm, n) { + var p; + + n = ed.selection.getStart(); + p = ed.dom.getParent(n, 'td,th,caption'); + cm.setActive('table', n.nodeName === 'TABLE' || !!p); + + // Disable table tools if we are in caption + if (p && p.nodeName === 'CAPTION') + p = 0; + + cm.setDisabled('delete_table', !p); + cm.setDisabled('delete_col', !p); + cm.setDisabled('delete_table', !p); + cm.setDisabled('delete_row', !p); + cm.setDisabled('col_after', !p); + cm.setDisabled('col_before', !p); + cm.setDisabled('row_after', !p); + cm.setDisabled('row_before', !p); + cm.setDisabled('row_props', !p); + cm.setDisabled('cell_props', !p); + cm.setDisabled('split_cells', !p); + cm.setDisabled('merge_cells', !p); + }); + + ed.onInit.add(function(ed) { + var startTable, startCell, dom = ed.dom, tableGrid; + + winMan = ed.windowManager; + + // Add cell selection logic + ed.onMouseDown.add(function(ed, e) { + if (e.button != 2) { + cleanup(); + + startCell = dom.getParent(e.target, 'td,th'); + startTable = dom.getParent(startCell, 'table'); + } + }); + + dom.bind(ed.getDoc(), 'mouseover', function(e) { + var sel, table, target = e.target; + + if (startCell && (tableGrid || target != startCell) && (target.nodeName == 'TD' || target.nodeName == 'TH')) { + table = dom.getParent(target, 'table'); + if (table == startTable) { + if (!tableGrid) { + tableGrid = createTableGrid(table); + tableGrid.setStartCell(startCell); + + ed.getBody().style.webkitUserSelect = 'none'; + } + + tableGrid.setEndCell(target); + hasCellSelection = true; + } + + // Remove current selection + sel = ed.selection.getSel(); + + try { + if (sel.removeAllRanges) + sel.removeAllRanges(); + else + sel.empty(); + } catch (ex) { + // IE9 might throw errors here + } + + e.preventDefault(); + } + }); + + ed.onMouseUp.add(function(ed, e) { + var rng, sel = ed.selection, selectedCells, nativeSel = sel.getSel(), walker, node, lastNode, endNode; + + // Move selection to startCell + if (startCell) { + if (tableGrid) + ed.getBody().style.webkitUserSelect = ''; + + function setPoint(node, start) { + var walker = new tinymce.dom.TreeWalker(node, node); + + do { + // Text node + if (node.nodeType == 3 && tinymce.trim(node.nodeValue).length != 0) { + if (start) + rng.setStart(node, 0); + else + rng.setEnd(node, node.nodeValue.length); + + return; + } + + // BR element + if (node.nodeName == 'BR') { + if (start) + rng.setStartBefore(node); + else + rng.setEndBefore(node); + + return; + } + } while (node = (start ? walker.next() : walker.prev())); + } + + // Try to expand text selection as much as we can only Gecko supports cell selection + selectedCells = dom.select('td.mceSelected,th.mceSelected'); + if (selectedCells.length > 0) { + rng = dom.createRng(); + node = selectedCells[0]; + endNode = selectedCells[selectedCells.length - 1]; + rng.setStartBefore(node); + rng.setEndAfter(node); + + setPoint(node, 1); + walker = new tinymce.dom.TreeWalker(node, dom.getParent(selectedCells[0], 'table')); + + do { + if (node.nodeName == 'TD' || node.nodeName == 'TH') { + if (!dom.hasClass(node, 'mceSelected')) + break; + + lastNode = node; + } + } while (node = walker.next()); + + setPoint(lastNode); + + sel.setRng(rng); + } + + ed.nodeChanged(); + startCell = tableGrid = startTable = null; + } + }); + + ed.onKeyUp.add(function(ed, e) { + cleanup(); + }); + + ed.onKeyDown.add(function (ed, e) { + fixTableCellSelection(ed); + }); + + ed.onMouseDown.add(function (ed, e) { + if (e.button != 2) { + fixTableCellSelection(ed); + } + }); + function tableCellSelected(ed, rng, n, currentCell) { + // The decision of when a table cell is selected is somewhat involved. The fact that this code is + // required is actually a pointer to the root cause of this bug. A cell is selected when the start + // and end offsets are 0, the start container is a text, and the selection node is either a TR (most cases) + // or the parent of the table (in the case of the selection containing the last cell of a table). + var TEXT_NODE = 3, table = ed.dom.getParent(rng.startContainer, 'TABLE'), + tableParent, allOfCellSelected, tableCellSelection; + if (table) + tableParent = table.parentNode; + allOfCellSelected =rng.startContainer.nodeType == TEXT_NODE && + rng.startOffset == 0 && + rng.endOffset == 0 && + currentCell && + (n.nodeName=="TR" || n==tableParent); + tableCellSelection = (n.nodeName=="TD"||n.nodeName=="TH")&& !currentCell; + return allOfCellSelected || tableCellSelection; + // return false; + } + + // this nasty hack is here to work around some WebKit selection bugs. + function fixTableCellSelection(ed) { + if (!tinymce.isWebKit) + return; + + var rng = ed.selection.getRng(); + var n = ed.selection.getNode(); + var currentCell = ed.dom.getParent(rng.startContainer, 'TD'); + + if (!tableCellSelected(ed, rng, n, currentCell)) + return; + if (!currentCell) { + currentCell=n; + } + + // Get the very last node inside the table cell + var end = currentCell.lastChild; + while (end.lastChild) + end = end.lastChild; + + // Select the entire table cell. Nothing outside of the table cell should be selected. + rng.setEnd(end, end.nodeValue.length); + ed.selection.setRng(rng); + } + ed.plugins.table.fixTableCellSelection=fixTableCellSelection; + + // Add context menu + if (ed && ed.plugins.contextmenu) { + ed.plugins.contextmenu.onContextMenu.add(function(th, m, e) { + var sm, se = ed.selection, el = se.getNode() || ed.getBody(); + + if (ed.dom.getParent(e, 'td') || ed.dom.getParent(e, 'th') || ed.dom.select('td.mceSelected,th.mceSelected').length) { + m.removeAll(); + + if (el.nodeName == 'A' && !ed.dom.getAttrib(el, 'name')) { + m.add({title : 'advanced.link_desc', icon : 'link', cmd : ed.plugins.advlink ? 'mceAdvLink' : 'mceLink', ui : true}); + m.add({title : 'advanced.unlink_desc', icon : 'unlink', cmd : 'UnLink'}); + m.addSeparator(); + } + + if (el.nodeName == 'IMG' && el.className.indexOf('mceItem') == -1) { + m.add({title : 'advanced.image_desc', icon : 'image', cmd : ed.plugins.advimage ? 'mceAdvImage' : 'mceImage', ui : true}); + m.addSeparator(); + } + + m.add({title : 'table.desc', icon : 'table', cmd : 'mceInsertTable', value : {action : 'insert'}}); + m.add({title : 'table.props_desc', icon : 'table_props', cmd : 'mceInsertTable'}); + m.add({title : 'table.del', icon : 'delete_table', cmd : 'mceTableDelete'}); + m.addSeparator(); + + // Cell menu + sm = m.addMenu({title : 'table.cell'}); + sm.add({title : 'table.cell_desc', icon : 'cell_props', cmd : 'mceTableCellProps'}); + sm.add({title : 'table.split_cells_desc', icon : 'split_cells', cmd : 'mceTableSplitCells'}); + sm.add({title : 'table.merge_cells_desc', icon : 'merge_cells', cmd : 'mceTableMergeCells'}); + + // Row menu + sm = m.addMenu({title : 'table.row'}); + sm.add({title : 'table.row_desc', icon : 'row_props', cmd : 'mceTableRowProps'}); + sm.add({title : 'table.row_before_desc', icon : 'row_before', cmd : 'mceTableInsertRowBefore'}); + sm.add({title : 'table.row_after_desc', icon : 'row_after', cmd : 'mceTableInsertRowAfter'}); + sm.add({title : 'table.delete_row_desc', icon : 'delete_row', cmd : 'mceTableDeleteRow'}); + sm.addSeparator(); + sm.add({title : 'table.cut_row_desc', icon : 'cut', cmd : 'mceTableCutRow'}); + sm.add({title : 'table.copy_row_desc', icon : 'copy', cmd : 'mceTableCopyRow'}); + sm.add({title : 'table.paste_row_before_desc', icon : 'paste', cmd : 'mceTablePasteRowBefore'}).setDisabled(!clipboardRows); + sm.add({title : 'table.paste_row_after_desc', icon : 'paste', cmd : 'mceTablePasteRowAfter'}).setDisabled(!clipboardRows); + + // Column menu + sm = m.addMenu({title : 'table.col'}); + sm.add({title : 'table.col_before_desc', icon : 'col_before', cmd : 'mceTableInsertColBefore'}); + sm.add({title : 'table.col_after_desc', icon : 'col_after', cmd : 'mceTableInsertColAfter'}); + sm.add({title : 'table.delete_col_desc', icon : 'delete_col', cmd : 'mceTableDeleteCol'}); + } else + m.add({title : 'table.desc', icon : 'table', cmd : 'mceInsertTable'}); + }); + } + + // Fix to allow navigating up and down in a table in WebKit browsers. + if (tinymce.isWebKit) { + function moveSelection(ed, e) { + + function moveCursorToStartOfElement(n) { + ed.selection.setCursorLocation(n, 0); + } + + function getSibling(event, element) { + return event.keyCode == UP_ARROW ? element.previousSibling : element.nextSibling; + } + + function getNextRow(e, row) { + var sibling = getSibling(e, row); + return sibling !== null && sibling.tagName === 'TR' ? sibling : null; + } + + function getTable(ed, currentRow) { + return ed.dom.getParent(currentRow, 'table'); + } + + function getTableSibling(currentRow) { + var table = getTable(ed, currentRow); + return getSibling(e, table); + } + + function isVerticalMovement(event) { + return event.keyCode == UP_ARROW || event.keyCode == DOWN_ARROW; + } + + function isInTable(ed) { + var node = ed.selection.getNode(); + var currentRow = ed.dom.getParent(node, 'tr'); + return currentRow !== null; + } + + function columnIndex(column) { + var colIndex = 0; + var c = column; + while (c.previousSibling) { + c = c.previousSibling; + colIndex = colIndex + getSpanVal(c, "colspan"); + } + return colIndex; + } + + function findColumn(rowElement, columnIndex) { + var c = 0; + var r = 0; + each(rowElement.children, function(cell, i) { + c = c + getSpanVal(cell, "colspan"); + r = i; + if (c > columnIndex) + return false; + }); + return r; + } + + function moveCursorToRow(ed, node, row) { + var srcColumnIndex = columnIndex(ed.dom.getParent(node, 'td')); + var tgtColumnIndex = findColumn(row, srcColumnIndex) + var tgtNode = row.childNodes[tgtColumnIndex]; + moveCursorToStartOfElement(tgtNode); + } + + function escapeTable(currentRow, e) { + var tableSiblingElement = getTableSibling(currentRow); + if (tableSiblingElement !== null) { + moveCursorToStartOfElement(tableSiblingElement); + return tinymce.dom.Event.cancel(e); + } else { + var element = e.keyCode == UP_ARROW ? currentRow.firstChild : currentRow.lastChild; + // rely on default behaviour to escape table after we are in the last cell of the last row + moveCursorToStartOfElement(element); + return true; + } + } + + var UP_ARROW = 38; + var DOWN_ARROW = 40; + + if (isVerticalMovement(e) && isInTable(ed)) { + var node = ed.selection.getNode(); + var currentRow = ed.dom.getParent(node, 'tr'); + var nextRow = getNextRow(e, currentRow); + + // If we're at the first or last row in the table, we should move the caret outside of the table + if (nextRow == null) { + return escapeTable(currentRow, e); + } else { + moveCursorToRow(ed, node, nextRow); + tinymce.dom.Event.cancel(e); + return true; + } + } + } + + ed.onKeyDown.add(moveSelection); + } + + // Fixes an issue on Gecko where it's impossible to place the caret behind a table + // This fix will force a paragraph element after the table but only when the forced_root_block setting is enabled + if (!tinymce.isIE) { + function fixTableCaretPos() { + var last; + + // Skip empty text nodes form the end + for (last = ed.getBody().lastChild; last && last.nodeType == 3 && !last.nodeValue.length; last = last.previousSibling) ; + + if (last && last.nodeName == 'TABLE') + ed.dom.add(ed.getBody(), 'p', null, '<br mce_bogus="1" />'); + }; + + // Fixes an bug where it's impossible to place the caret before a table in Gecko + // this fix solves it by detecting when the caret is at the beginning of such a table + // and then manually moves the caret infront of the table + if (tinymce.isGecko) { + ed.onKeyDown.add(function(ed, e) { + var rng, table, dom = ed.dom; + + // On gecko it's not possible to place the caret before a table + if (e.keyCode == 37 || e.keyCode == 38) { + rng = ed.selection.getRng(); + table = dom.getParent(rng.startContainer, 'table'); + + if (table && ed.getBody().firstChild == table) { + if (isAtStart(rng, table)) { + rng = dom.createRng(); + + rng.setStartBefore(table); + rng.setEndBefore(table); + + ed.selection.setRng(rng); + + e.preventDefault(); + } + } + } + }); + } + + ed.onKeyUp.add(fixTableCaretPos); + ed.onSetContent.add(fixTableCaretPos); + ed.onVisualAid.add(fixTableCaretPos); + + ed.onPreProcess.add(function(ed, o) { + var last = o.node.lastChild; + + if (last && last.childNodes.length == 1 && last.firstChild.nodeName == 'BR') + ed.dom.remove(last); + }); + + fixTableCaretPos(); + } + }); + + // Register action commands + each({ + mceTableSplitCells : function(grid) { + grid.split(); + }, + + mceTableMergeCells : function(grid) { + var rowSpan, colSpan, cell; + + cell = ed.dom.getParent(ed.selection.getNode(), 'th,td'); + if (cell) { + rowSpan = cell.rowSpan; + colSpan = cell.colSpan; + } + + if (!ed.dom.select('td.mceSelected,th.mceSelected').length) { + winMan.open({ + url : url + '/merge_cells.htm', + width : 240 + parseInt(ed.getLang('table.merge_cells_delta_width', 0)), + height : 110 + parseInt(ed.getLang('table.merge_cells_delta_height', 0)), + inline : 1 + }, { + rows : rowSpan, + cols : colSpan, + onaction : function(data) { + grid.merge(cell, data.cols, data.rows); + }, + plugin_url : url + }); + } else + grid.merge(); + }, + + mceTableInsertRowBefore : function(grid) { + grid.insertRow(true); + }, + + mceTableInsertRowAfter : function(grid) { + grid.insertRow(); + }, + + mceTableInsertColBefore : function(grid) { + grid.insertCol(true); + }, + + mceTableInsertColAfter : function(grid) { + grid.insertCol(); + }, + + mceTableDeleteCol : function(grid) { + grid.deleteCols(); + }, + + mceTableDeleteRow : function(grid) { + grid.deleteRows(); + }, + + mceTableCutRow : function(grid) { + clipboardRows = grid.cutRows(); + }, + + mceTableCopyRow : function(grid) { + clipboardRows = grid.copyRows(); + }, + + mceTablePasteRowBefore : function(grid) { + grid.pasteRows(clipboardRows, true); + }, + + mceTablePasteRowAfter : function(grid) { + grid.pasteRows(clipboardRows); + }, + + mceTableDelete : function(grid) { + grid.deleteTable(); + } + }, function(func, name) { + ed.addCommand(name, function() { + var grid = createTableGrid(); + + if (grid) { + func(grid); + ed.execCommand('mceRepaint'); + cleanup(); + } + }); + }); + + // Register dialog commands + each({ + mceInsertTable : function(val) { + winMan.open({ + url : url + '/table.htm', + width : 400 + parseInt(ed.getLang('table.table_delta_width', 0)), + height : 320 + parseInt(ed.getLang('table.table_delta_height', 0)), + inline : 1 + }, { + plugin_url : url, + action : val ? val.action : 0 + }); + }, + + mceTableRowProps : function() { + winMan.open({ + url : url + '/row.htm', + width : 400 + parseInt(ed.getLang('table.rowprops_delta_width', 0)), + height : 295 + parseInt(ed.getLang('table.rowprops_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }, + + mceTableCellProps : function() { + winMan.open({ + url : url + '/cell.htm', + width : 400 + parseInt(ed.getLang('table.cellprops_delta_width', 0)), + height : 295 + parseInt(ed.getLang('table.cellprops_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + } + }, function(func, name) { + ed.addCommand(name, function(ui, val) { + func(val); + }); + }); + } + }); + + // Register plugin + tinymce.PluginManager.add('table', tinymce.plugins.TablePlugin); +})(tinymce); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/cell.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/cell.js new file mode 100644 index 00000000..53bdb54b --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/cell.js @@ -0,0 +1,319 @@ +tinyMCEPopup.requireLangPack(); + +var ed; + +function init() { + ed = tinyMCEPopup.editor; + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor') + + var inst = ed; + var tdElm = ed.dom.getParent(ed.selection.getStart(), "td,th"); + var formObj = document.forms[0]; + var st = ed.dom.parseStyle(ed.dom.getAttrib(tdElm, "style")); + + // Get table cell data + var celltype = tdElm.nodeName.toLowerCase(); + var align = ed.dom.getAttrib(tdElm, 'align'); + var valign = ed.dom.getAttrib(tdElm, 'valign'); + var width = trimSize(getStyle(tdElm, 'width', 'width')); + var height = trimSize(getStyle(tdElm, 'height', 'height')); + var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor')); + var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor')); + var className = ed.dom.getAttrib(tdElm, 'class'); + var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1"); + var id = ed.dom.getAttrib(tdElm, 'id'); + var lang = ed.dom.getAttrib(tdElm, 'lang'); + var dir = ed.dom.getAttrib(tdElm, 'dir'); + var scope = ed.dom.getAttrib(tdElm, 'scope'); + + // Setup form + addClassesToList('class', 'table_cell_styles'); + TinyMCE_EditableSelects.init(); + + if (!ed.dom.hasClass(tdElm, 'mceSelected')) { + formObj.bordercolor.value = bordercolor; + formObj.bgcolor.value = bgcolor; + formObj.backgroundimage.value = backgroundimage; + formObj.width.value = width; + formObj.height.value = height; + formObj.id.value = id; + formObj.lang.value = lang; + formObj.style.value = ed.dom.serializeStyle(st); + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'valign', valign); + selectByValue(formObj, 'class', className, true, true); + selectByValue(formObj, 'celltype', celltype); + selectByValue(formObj, 'dir', dir); + selectByValue(formObj, 'scope', scope); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + updateColor('bordercolor_pick', 'bordercolor'); + updateColor('bgcolor_pick', 'bgcolor'); + } else + tinyMCEPopup.dom.hide('action'); +} + +function updateAction() { + var el, inst = ed, tdElm, trElm, tableElm, formObj = document.forms[0]; + + if (!AutoValidator.validate(formObj)) { + tinyMCEPopup.alert(AutoValidator.getErrorMessages(formObj).join('. ') + '.'); + return false; + } + + tinyMCEPopup.restoreSelection(); + el = ed.selection.getStart(); + tdElm = ed.dom.getParent(el, "td,th"); + trElm = ed.dom.getParent(el, "tr"); + tableElm = ed.dom.getParent(el, "table"); + + // Cell is selected + if (ed.dom.hasClass(tdElm, 'mceSelected')) { + // Update all selected sells + tinymce.each(ed.dom.select('td.mceSelected,th.mceSelected'), function(td) { + updateCell(td); + }); + + ed.addVisual(); + ed.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + tinyMCEPopup.close(); + return; + } + + switch (getSelectValue(formObj, 'action')) { + case "cell": + var celltype = getSelectValue(formObj, 'celltype'); + var scope = getSelectValue(formObj, 'scope'); + + function doUpdate(s) { + if (s) { + updateCell(tdElm); + + ed.addVisual(); + ed.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + tinyMCEPopup.close(); + } + }; + + if (ed.getParam("accessibility_warnings", 1)) { + if (celltype == "th" && scope == "") + tinyMCEPopup.confirm(ed.getLang('table_dlg.missing_scope', '', true), doUpdate); + else + doUpdate(1); + + return; + } + + updateCell(tdElm); + break; + + case "row": + var cell = trElm.firstChild; + + if (cell.nodeName != "TD" && cell.nodeName != "TH") + cell = nextCell(cell); + + do { + cell = updateCell(cell, true); + } while ((cell = nextCell(cell)) != null); + + break; + + case "col": + var curr, col = 0, cell = trElm.firstChild, rows = tableElm.getElementsByTagName("tr"); + + if (cell.nodeName != "TD" && cell.nodeName != "TH") + cell = nextCell(cell); + + do { + if (cell == tdElm) + break; + col += cell.getAttribute("colspan"); + } while ((cell = nextCell(cell)) != null); + + for (var i=0; i<rows.length; i++) { + cell = rows[i].firstChild; + + if (cell.nodeName != "TD" && cell.nodeName != "TH") + cell = nextCell(cell); + + curr = 0; + do { + if (curr == col) { + cell = updateCell(cell, true); + break; + } + curr += cell.getAttribute("colspan"); + } while ((cell = nextCell(cell)) != null); + } + + break; + + case "all": + var rows = tableElm.getElementsByTagName("tr"); + + for (var i=0; i<rows.length; i++) { + var cell = rows[i].firstChild; + + if (cell.nodeName != "TD" && cell.nodeName != "TH") + cell = nextCell(cell); + + do { + cell = updateCell(cell, true); + } while ((cell = nextCell(cell)) != null); + } + + break; + } + + ed.addVisual(); + ed.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + tinyMCEPopup.close(); +} + +function nextCell(elm) { + while ((elm = elm.nextSibling) != null) { + if (elm.nodeName == "TD" || elm.nodeName == "TH") + return elm; + } + + return null; +} + +function updateCell(td, skip_id) { + var inst = ed; + var formObj = document.forms[0]; + var curCellType = td.nodeName.toLowerCase(); + var celltype = getSelectValue(formObj, 'celltype'); + var doc = inst.getDoc(); + var dom = ed.dom; + + if (!skip_id) + dom.setAttrib(td, 'id', formObj.id.value); + + dom.setAttrib(td, 'align', formObj.align.value); + dom.setAttrib(td, 'vAlign', formObj.valign.value); + dom.setAttrib(td, 'lang', formObj.lang.value); + dom.setAttrib(td, 'dir', getSelectValue(formObj, 'dir')); + dom.setAttrib(td, 'style', ed.dom.serializeStyle(ed.dom.parseStyle(formObj.style.value))); + dom.setAttrib(td, 'scope', formObj.scope.value); + dom.setAttrib(td, 'class', getSelectValue(formObj, 'class')); + + // Clear deprecated attributes + ed.dom.setAttrib(td, 'width', ''); + ed.dom.setAttrib(td, 'height', ''); + ed.dom.setAttrib(td, 'bgColor', ''); + ed.dom.setAttrib(td, 'borderColor', ''); + ed.dom.setAttrib(td, 'background', ''); + + // Set styles + td.style.width = getCSSSize(formObj.width.value); + td.style.height = getCSSSize(formObj.height.value); + if (formObj.bordercolor.value != "") { + td.style.borderColor = formObj.bordercolor.value; + td.style.borderStyle = td.style.borderStyle == "" ? "solid" : td.style.borderStyle; + td.style.borderWidth = td.style.borderWidth == "" ? "1px" : td.style.borderWidth; + } else + td.style.borderColor = ''; + + td.style.backgroundColor = formObj.bgcolor.value; + + if (formObj.backgroundimage.value != "") + td.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')"; + else + td.style.backgroundImage = ''; + + if (curCellType != celltype) { + // changing to a different node type + var newCell = doc.createElement(celltype); + + for (var c=0; c<td.childNodes.length; c++) + newCell.appendChild(td.childNodes[c].cloneNode(1)); + + for (var a=0; a<td.attributes.length; a++) + ed.dom.setAttrib(newCell, td.attributes[a].name, ed.dom.getAttrib(td, td.attributes[a].name)); + + td.parentNode.replaceChild(newCell, td); + td = newCell; + } + + dom.setAttrib(td, 'style', dom.serializeStyle(dom.parseStyle(td.style.cssText))); + + return td; +} + +function changedBackgroundImage() { + var formObj = document.forms[0]; + var st = ed.dom.parseStyle(formObj.style.value); + + st['background-image'] = "url('" + formObj.backgroundimage.value + "')"; + + formObj.style.value = ed.dom.serializeStyle(st); +} + +function changedSize() { + var formObj = document.forms[0]; + var st = ed.dom.parseStyle(formObj.style.value); + + var width = formObj.width.value; + if (width != "") + st['width'] = getCSSSize(width); + else + st['width'] = ""; + + var height = formObj.height.value; + if (height != "") + st['height'] = getCSSSize(height); + else + st['height'] = ""; + + formObj.style.value = ed.dom.serializeStyle(st); +} + +function changedColor() { + var formObj = document.forms[0]; + var st = ed.dom.parseStyle(formObj.style.value); + + st['background-color'] = formObj.bgcolor.value; + st['border-color'] = formObj.bordercolor.value; + + formObj.style.value = ed.dom.serializeStyle(st); +} + +function changedStyle() { + var formObj = document.forms[0]; + var st = ed.dom.parseStyle(formObj.style.value); + + if (st['background-image']) + formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + else + formObj.backgroundimage.value = ''; + + if (st['width']) + formObj.width.value = trimSize(st['width']); + + if (st['height']) + formObj.height.value = trimSize(st['height']); + + if (st['background-color']) { + formObj.bgcolor.value = st['background-color']; + updateColor('bgcolor_pick','bgcolor'); + } + + if (st['border-color']) { + formObj.bordercolor.value = st['border-color']; + updateColor('bordercolor_pick','bordercolor'); + } +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/merge_cells.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/merge_cells.js new file mode 100644 index 00000000..fc2a0481 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/merge_cells.js @@ -0,0 +1,27 @@ +tinyMCEPopup.requireLangPack(); + +var MergeCellsDialog = { + init : function() { + var f = document.forms[0]; + + f.numcols.value = tinyMCEPopup.getWindowArg('cols', 1); + f.numrows.value = tinyMCEPopup.getWindowArg('rows', 1); + }, + + merge : function() { + var func, f = document.forms[0]; + + tinyMCEPopup.restoreSelection(); + + func = tinyMCEPopup.getWindowArg('onaction'); + + func({ + cols : f.numcols.value, + rows : f.numrows.value + }); + + tinyMCEPopup.close(); + } +}; + +tinyMCEPopup.onInit.add(MergeCellsDialog.init, MergeCellsDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/row.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/row.js new file mode 100644 index 00000000..882bfb5d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/row.js @@ -0,0 +1,237 @@ +tinyMCEPopup.requireLangPack(); + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + + var inst = tinyMCEPopup.editor; + var dom = inst.dom; + var trElm = dom.getParent(inst.selection.getStart(), "tr"); + var formObj = document.forms[0]; + var st = dom.parseStyle(dom.getAttrib(trElm, "style")); + + // Get table row data + var rowtype = trElm.parentNode.nodeName.toLowerCase(); + var align = dom.getAttrib(trElm, 'align'); + var valign = dom.getAttrib(trElm, 'valign'); + var height = trimSize(getStyle(trElm, 'height', 'height')); + var className = dom.getAttrib(trElm, 'class'); + var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor')); + var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1"); + var id = dom.getAttrib(trElm, 'id'); + var lang = dom.getAttrib(trElm, 'lang'); + var dir = dom.getAttrib(trElm, 'dir'); + + selectByValue(formObj, 'rowtype', rowtype); + + // Any cells selected + if (dom.select('td.mceSelected,th.mceSelected', trElm).length == 0) { + // Setup form + addClassesToList('class', 'table_row_styles'); + TinyMCE_EditableSelects.init(); + + formObj.bgcolor.value = bgcolor; + formObj.backgroundimage.value = backgroundimage; + formObj.height.value = height; + formObj.id.value = id; + formObj.lang.value = lang; + formObj.style.value = dom.serializeStyle(st); + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'valign', valign); + selectByValue(formObj, 'class', className, true, true); + selectByValue(formObj, 'dir', dir); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + updateColor('bgcolor_pick', 'bgcolor'); + } else + tinyMCEPopup.dom.hide('action'); +} + +function updateAction() { + var inst = tinyMCEPopup.editor, dom = inst.dom, trElm, tableElm, formObj = document.forms[0]; + var action = getSelectValue(formObj, 'action'); + + if (!AutoValidator.validate(formObj)) { + tinyMCEPopup.alert(AutoValidator.getErrorMessages(formObj).join('. ') + '.'); + return false; + } + + tinyMCEPopup.restoreSelection(); + trElm = dom.getParent(inst.selection.getStart(), "tr"); + tableElm = dom.getParent(inst.selection.getStart(), "table"); + + // Update all selected rows + if (dom.select('td.mceSelected,th.mceSelected', trElm).length > 0) { + tinymce.each(tableElm.rows, function(tr) { + var i; + + for (i = 0; i < tr.cells.length; i++) { + if (dom.hasClass(tr.cells[i], 'mceSelected')) { + updateRow(tr, true); + return; + } + } + }); + + inst.addVisual(); + inst.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + tinyMCEPopup.close(); + return; + } + + switch (action) { + case "row": + updateRow(trElm); + break; + + case "all": + var rows = tableElm.getElementsByTagName("tr"); + + for (var i=0; i<rows.length; i++) + updateRow(rows[i], true); + + break; + + case "odd": + case "even": + var rows = tableElm.getElementsByTagName("tr"); + + for (var i=0; i<rows.length; i++) { + if ((i % 2 == 0 && action == "odd") || (i % 2 != 0 && action == "even")) + updateRow(rows[i], true, true); + } + + break; + } + + inst.addVisual(); + inst.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + tinyMCEPopup.close(); +} + +function updateRow(tr_elm, skip_id, skip_parent) { + var inst = tinyMCEPopup.editor; + var formObj = document.forms[0]; + var dom = inst.dom; + var curRowType = tr_elm.parentNode.nodeName.toLowerCase(); + var rowtype = getSelectValue(formObj, 'rowtype'); + var doc = inst.getDoc(); + + // Update row element + if (!skip_id) + dom.setAttrib(tr_elm, 'id', formObj.id.value); + + dom.setAttrib(tr_elm, 'align', getSelectValue(formObj, 'align')); + dom.setAttrib(tr_elm, 'vAlign', getSelectValue(formObj, 'valign')); + dom.setAttrib(tr_elm, 'lang', formObj.lang.value); + dom.setAttrib(tr_elm, 'dir', getSelectValue(formObj, 'dir')); + dom.setAttrib(tr_elm, 'style', dom.serializeStyle(dom.parseStyle(formObj.style.value))); + dom.setAttrib(tr_elm, 'class', getSelectValue(formObj, 'class')); + + // Clear deprecated attributes + dom.setAttrib(tr_elm, 'background', ''); + dom.setAttrib(tr_elm, 'bgColor', ''); + dom.setAttrib(tr_elm, 'height', ''); + + // Set styles + tr_elm.style.height = getCSSSize(formObj.height.value); + tr_elm.style.backgroundColor = formObj.bgcolor.value; + + if (formObj.backgroundimage.value != "") + tr_elm.style.backgroundImage = "url('" + formObj.backgroundimage.value + "')"; + else + tr_elm.style.backgroundImage = ''; + + // Setup new rowtype + if (curRowType != rowtype && !skip_parent) { + // first, clone the node we are working on + var newRow = tr_elm.cloneNode(1); + + // next, find the parent of its new destination (creating it if necessary) + var theTable = dom.getParent(tr_elm, "table"); + var dest = rowtype; + var newParent = null; + for (var i = 0; i < theTable.childNodes.length; i++) { + if (theTable.childNodes[i].nodeName.toLowerCase() == dest) + newParent = theTable.childNodes[i]; + } + + if (newParent == null) { + newParent = doc.createElement(dest); + + if (theTable.firstChild.nodeName == 'CAPTION') + inst.dom.insertAfter(newParent, theTable.firstChild); + else + theTable.insertBefore(newParent, theTable.firstChild); + } + + // append the row to the new parent + newParent.appendChild(newRow); + + // remove the original + tr_elm.parentNode.removeChild(tr_elm); + + // set tr_elm to the new node + tr_elm = newRow; + } + + dom.setAttrib(tr_elm, 'style', dom.serializeStyle(dom.parseStyle(tr_elm.style.cssText))); +} + +function changedBackgroundImage() { + var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom; + var st = dom.parseStyle(formObj.style.value); + + st['background-image'] = "url('" + formObj.backgroundimage.value + "')"; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedStyle() { + var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom; + var st = dom.parseStyle(formObj.style.value); + + if (st['background-image']) + formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + else + formObj.backgroundimage.value = ''; + + if (st['height']) + formObj.height.value = trimSize(st['height']); + + if (st['background-color']) { + formObj.bgcolor.value = st['background-color']; + updateColor('bgcolor_pick','bgcolor'); + } +} + +function changedSize() { + var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom; + var st = dom.parseStyle(formObj.style.value); + + var height = formObj.height.value; + if (height != "") + st['height'] = getCSSSize(height); + else + st['height'] = ""; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedColor() { + var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom; + var st = dom.parseStyle(formObj.style.value); + + st['background-color'] = formObj.bgcolor.value; + + formObj.style.value = dom.serializeStyle(st); +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/table.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/table.js new file mode 100644 index 00000000..77e9044f --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/js/table.js @@ -0,0 +1,450 @@ +tinyMCEPopup.requireLangPack(); + +var action, orgTableWidth, orgTableHeight, dom = tinyMCEPopup.editor.dom; + +function insertTable() { + var formObj = document.forms[0]; + var inst = tinyMCEPopup.editor, dom = inst.dom; + var cols = 2, rows = 2, border = 0, cellpadding = -1, cellspacing = -1, align, width, height, className, caption, frame, rules; + var html = '', capEl, elm; + var cellLimit, rowLimit, colLimit; + + tinyMCEPopup.restoreSelection(); + + if (!AutoValidator.validate(formObj)) { + tinyMCEPopup.alert(AutoValidator.getErrorMessages(formObj).join('. ') + '.'); + return false; + } + + elm = dom.getParent(inst.selection.getNode(), 'table'); + + // Get form data + cols = formObj.elements['cols'].value; + rows = formObj.elements['rows'].value; + border = formObj.elements['border'].value != "" ? formObj.elements['border'].value : 0; + cellpadding = formObj.elements['cellpadding'].value != "" ? formObj.elements['cellpadding'].value : ""; + cellspacing = formObj.elements['cellspacing'].value != "" ? formObj.elements['cellspacing'].value : ""; + align = getSelectValue(formObj, "align"); + frame = getSelectValue(formObj, "tframe"); + rules = getSelectValue(formObj, "rules"); + width = formObj.elements['width'].value; + height = formObj.elements['height'].value; + bordercolor = formObj.elements['bordercolor'].value; + bgcolor = formObj.elements['bgcolor'].value; + className = getSelectValue(formObj, "class"); + id = formObj.elements['id'].value; + summary = formObj.elements['summary'].value; + style = formObj.elements['style'].value; + dir = formObj.elements['dir'].value; + lang = formObj.elements['lang'].value; + background = formObj.elements['backgroundimage'].value; + caption = formObj.elements['caption'].checked; + + cellLimit = tinyMCEPopup.getParam('table_cell_limit', false); + rowLimit = tinyMCEPopup.getParam('table_row_limit', false); + colLimit = tinyMCEPopup.getParam('table_col_limit', false); + + // Validate table size + if (colLimit && cols > colLimit) { + tinyMCEPopup.alert(inst.getLang('table_dlg.col_limit').replace(/\{\$cols\}/g, colLimit)); + return false; + } else if (rowLimit && rows > rowLimit) { + tinyMCEPopup.alert(inst.getLang('table_dlg.row_limit').replace(/\{\$rows\}/g, rowLimit)); + return false; + } else if (cellLimit && cols * rows > cellLimit) { + tinyMCEPopup.alert(inst.getLang('table_dlg.cell_limit').replace(/\{\$cells\}/g, cellLimit)); + return false; + } + + // Update table + if (action == "update") { + dom.setAttrib(elm, 'cellPadding', cellpadding, true); + dom.setAttrib(elm, 'cellSpacing', cellspacing, true); + dom.setAttrib(elm, 'border', border); + dom.setAttrib(elm, 'align', align); + dom.setAttrib(elm, 'frame', frame); + dom.setAttrib(elm, 'rules', rules); + dom.setAttrib(elm, 'class', className); + dom.setAttrib(elm, 'style', style); + dom.setAttrib(elm, 'id', id); + dom.setAttrib(elm, 'summary', summary); + dom.setAttrib(elm, 'dir', dir); + dom.setAttrib(elm, 'lang', lang); + + capEl = inst.dom.select('caption', elm)[0]; + + if (capEl && !caption) + capEl.parentNode.removeChild(capEl); + + if (!capEl && caption) { + capEl = elm.ownerDocument.createElement('caption'); + + if (!tinymce.isIE) + capEl.innerHTML = '<br data-mce-bogus="1"/>'; + + elm.insertBefore(capEl, elm.firstChild); + } + + if (width && inst.settings.inline_styles) { + dom.setStyle(elm, 'width', width); + dom.setAttrib(elm, 'width', ''); + } else { + dom.setAttrib(elm, 'width', width, true); + dom.setStyle(elm, 'width', ''); + } + + // Remove these since they are not valid XHTML + dom.setAttrib(elm, 'borderColor', ''); + dom.setAttrib(elm, 'bgColor', ''); + dom.setAttrib(elm, 'background', ''); + + if (height && inst.settings.inline_styles) { + dom.setStyle(elm, 'height', height); + dom.setAttrib(elm, 'height', ''); + } else { + dom.setAttrib(elm, 'height', height, true); + dom.setStyle(elm, 'height', ''); + } + + if (background != '') + elm.style.backgroundImage = "url('" + background + "')"; + else + elm.style.backgroundImage = ''; + +/* if (tinyMCEPopup.getParam("inline_styles")) { + if (width != '') + elm.style.width = getCSSSize(width); + }*/ + + if (bordercolor != "") { + elm.style.borderColor = bordercolor; + elm.style.borderStyle = elm.style.borderStyle == "" ? "solid" : elm.style.borderStyle; + elm.style.borderWidth = border == "" ? "1px" : border; + } else + elm.style.borderColor = ''; + + elm.style.backgroundColor = bgcolor; + elm.style.height = getCSSSize(height); + + inst.addVisual(); + + // Fix for stange MSIE align bug + //elm.outerHTML = elm.outerHTML; + + inst.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + + // Repaint if dimensions changed + if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight) + inst.execCommand('mceRepaint'); + + tinyMCEPopup.close(); + return true; + } + + // Create new table + html += '<table'; + + html += makeAttrib('id', id); + html += makeAttrib('border', border); + html += makeAttrib('cellpadding', cellpadding); + html += makeAttrib('cellspacing', cellspacing); + html += makeAttrib('data-mce-new', '1'); + + if (width && inst.settings.inline_styles) { + if (style) + style += '; '; + + // Force px + if (/^[0-9\.]+$/.test(width)) + width += 'px'; + + style += 'width: ' + width; + } else + html += makeAttrib('width', width); + +/* if (height) { + if (style) + style += '; '; + + style += 'height: ' + height; + }*/ + + //html += makeAttrib('height', height); + //html += makeAttrib('bordercolor', bordercolor); + //html += makeAttrib('bgcolor', bgcolor); + html += makeAttrib('align', align); + html += makeAttrib('frame', frame); + html += makeAttrib('rules', rules); + html += makeAttrib('class', className); + html += makeAttrib('style', style); + html += makeAttrib('summary', summary); + html += makeAttrib('dir', dir); + html += makeAttrib('lang', lang); + html += '>'; + + if (caption) { + if (!tinymce.isIE) + html += '<caption><br data-mce-bogus="1"/></caption>'; + else + html += '<caption></caption>'; + } + + for (var y=0; y<rows; y++) { + html += "<tr>"; + + for (var x=0; x<cols; x++) { + if (!tinymce.isIE) + html += '<td><br data-mce-bogus="1"/></td>'; + else + html += '<td></td>'; + } + + html += "</tr>"; + } + + html += "</table>"; + + // Move table + if (inst.settings.fix_table_elements) { + var patt = ''; + + inst.focus(); + inst.selection.setContent('<br class="_mce_marker" />'); + + tinymce.each('h1,h2,h3,h4,h5,h6,p'.split(','), function(n) { + if (patt) + patt += ','; + + patt += n + ' ._mce_marker'; + }); + + tinymce.each(inst.dom.select(patt), function(n) { + inst.dom.split(inst.dom.getParent(n, 'h1,h2,h3,h4,h5,h6,p'), n); + }); + + dom.setOuterHTML(dom.select('br._mce_marker')[0], html); + } else + inst.execCommand('mceInsertContent', false, html); + + tinymce.each(dom.select('table[data-mce-new]'), function(node) { + var td = dom.select('td', node); + + try { + // IE9 might fail to do this selection + inst.selection.select(td[0], true); + inst.selection.collapse(); + } catch (ex) { + // Ignore + } + + dom.setAttrib(node, 'data-mce-new', ''); + }); + + inst.addVisual(); + inst.execCommand('mceEndUndoLevel'); + + tinyMCEPopup.close(); +} + +function makeAttrib(attrib, value) { + var formObj = document.forms[0]; + var valueElm = formObj.elements[attrib]; + + if (typeof(value) == "undefined" || value == null) { + value = ""; + + if (valueElm) + value = valueElm.value; + } + + if (value == "") + return ""; + + // XML encode it + value = value.replace(/&/g, '&'); + value = value.replace(/\"/g, '"'); + value = value.replace(/</g, '<'); + value = value.replace(/>/g, '>'); + + return ' ' + attrib + '="' + value + '"'; +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + + var cols = 2, rows = 2, border = tinyMCEPopup.getParam('table_default_border', '0'), cellpadding = tinyMCEPopup.getParam('table_default_cellpadding', ''), cellspacing = tinyMCEPopup.getParam('table_default_cellspacing', ''); + var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = ""; + var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "", rules = "", frame = ""; + var inst = tinyMCEPopup.editor, dom = inst.dom; + var formObj = document.forms[0]; + var elm = dom.getParent(inst.selection.getNode(), "table"); + + action = tinyMCEPopup.getWindowArg('action'); + + if (!action) + action = elm ? "update" : "insert"; + + if (elm && action != "insert") { + var rowsAr = elm.rows; + var cols = 0; + for (var i=0; i<rowsAr.length; i++) + if (rowsAr[i].cells.length > cols) + cols = rowsAr[i].cells.length; + + cols = cols; + rows = rowsAr.length; + + st = dom.parseStyle(dom.getAttrib(elm, "style")); + border = trimSize(getStyle(elm, 'border', 'borderWidth')); + cellpadding = dom.getAttrib(elm, 'cellpadding', ""); + cellspacing = dom.getAttrib(elm, 'cellspacing', ""); + width = trimSize(getStyle(elm, 'width', 'width')); + height = trimSize(getStyle(elm, 'height', 'height')); + bordercolor = convertRGBToHex(getStyle(elm, 'bordercolor', 'borderLeftColor')); + bgcolor = convertRGBToHex(getStyle(elm, 'bgcolor', 'backgroundColor')); + align = dom.getAttrib(elm, 'align', align); + frame = dom.getAttrib(elm, 'frame'); + rules = dom.getAttrib(elm, 'rules'); + className = tinymce.trim(dom.getAttrib(elm, 'class').replace(/mceItem.+/g, '')); + id = dom.getAttrib(elm, 'id'); + summary = dom.getAttrib(elm, 'summary'); + style = dom.serializeStyle(st); + dir = dom.getAttrib(elm, 'dir'); + lang = dom.getAttrib(elm, 'lang'); + background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1"); + formObj.caption.checked = elm.getElementsByTagName('caption').length > 0; + + orgTableWidth = width; + orgTableHeight = height; + + action = "update"; + formObj.insert.value = inst.getLang('update'); + } + + addClassesToList('class', "table_styles"); + TinyMCE_EditableSelects.init(); + + // Update form + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'tframe', frame); + selectByValue(formObj, 'rules', rules); + selectByValue(formObj, 'class', className, true, true); + formObj.cols.value = cols; + formObj.rows.value = rows; + formObj.border.value = border; + formObj.cellpadding.value = cellpadding; + formObj.cellspacing.value = cellspacing; + formObj.width.value = width; + formObj.height.value = height; + formObj.bordercolor.value = bordercolor; + formObj.bgcolor.value = bgcolor; + formObj.id.value = id; + formObj.summary.value = summary; + formObj.style.value = style; + formObj.dir.value = dir; + formObj.lang.value = lang; + formObj.backgroundimage.value = background; + + updateColor('bordercolor_pick', 'bordercolor'); + updateColor('bgcolor_pick', 'bgcolor'); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + // Disable some fields in update mode + if (action == "update") { + formObj.cols.disabled = true; + formObj.rows.disabled = true; + } +} + +function changedSize() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + +/* var width = formObj.width.value; + if (width != "") + st['width'] = tinyMCEPopup.getParam("inline_styles") ? getCSSSize(width) : ""; + else + st['width'] = "";*/ + + var height = formObj.height.value; + if (height != "") + st['height'] = getCSSSize(height); + else + st['height'] = ""; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedBackgroundImage() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + st['background-image'] = "url('" + formObj.backgroundimage.value + "')"; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedBorder() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + // Update border width if the element has a color + if (formObj.border.value != "" && formObj.bordercolor.value != "") + st['border-width'] = formObj.border.value + "px"; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedColor() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + st['background-color'] = formObj.bgcolor.value; + + if (formObj.bordercolor.value != "") { + st['border-color'] = formObj.bordercolor.value; + + // Add border-width if it's missing + if (!st['border-width']) + st['border-width'] = formObj.border.value == "" ? "1px" : formObj.border.value + "px"; + } + + formObj.style.value = dom.serializeStyle(st); +} + +function changedStyle() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + if (st['background-image']) + formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1"); + else + formObj.backgroundimage.value = ''; + + if (st['width']) + formObj.width.value = trimSize(st['width']); + + if (st['height']) + formObj.height.value = trimSize(st['height']); + + if (st['background-color']) { + formObj.bgcolor.value = st['background-color']; + updateColor('bgcolor_pick','bgcolor'); + } + + if (st['border-color']) { + formObj.bordercolor.value = st['border-color']; + updateColor('bordercolor_pick','bordercolor'); + } +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/langs/en_dlg.js new file mode 100644 index 00000000..8038f317 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/langs/en_dlg.js @@ -0,0 +1,75 @@ +tinyMCE.addI18n('en.table_dlg',{ +general_tab:"General", +advanced_tab:"Advanced", +general_props:"General properties", +advanced_props:"Advanced properties", +rowtype:"Row in table part", +title:"Insert/Modify table", +width:"Width", +height:"Height", +cols:"Columns", +rows:"Rows", +cellspacing:"Cellspacing", +cellpadding:"Cellpadding", +border:"Border", +align:"Alignment", +align_default:"Default", +align_left:"Left", +align_right:"Right", +align_middle:"Center", +row_title:"Table row properties", +cell_title:"Table cell properties", +cell_type:"Cell type", +valign:"Vertical alignment", +align_top:"Top", +align_bottom:"Bottom", +bordercolor:"Border color", +bgcolor:"Background color", +merge_cells_title:"Merge table cells", +id:"Id", +style:"Style", +langdir:"Language direction", +langcode:"Language code", +mime:"Target MIME type", +ltr:"Left to right", +rtl:"Right to left", +bgimage:"Background image", +summary:"Summary", +td:"Data", +th:"Header", +cell_cell:"Update current cell", +cell_row:"Update all cells in row", +cell_col:"Update all cells in column", +cell_all:"Update all cells in table", +row_row:"Update current row", +row_odd:"Update odd rows in table", +row_even:"Update even rows in table", +row_all:"Update all rows in table", +thead:"Table Head", +tbody:"Table Body", +tfoot:"Table Foot", +scope:"Scope", +rowgroup:"Row Group", +colgroup:"Col Group", +col_limit:"You've exceeded the maximum number of columns of {$cols}.", +row_limit:"You've exceeded the maximum number of rows of {$rows}.", +cell_limit:"You've exceeded the maximum number of cells of {$cells}.", +missing_scope:"Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.", +caption:"Table caption", +frame:"Frame", +frame_none:"none", +frame_groups:"groups", +frame_rows:"rows", +frame_cols:"cols", +frame_all:"all", +rules:"Rules", +rules_void:"void", +rules_above:"above", +rules_below:"below", +rules_hsides:"hsides", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"vsides", +rules_box:"box", +rules_border:"border" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/merge_cells.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/merge_cells.htm new file mode 100644 index 00000000..788acf68 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/merge_cells.htm @@ -0,0 +1,32 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#table_dlg.merge_cells_title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/validate.js"></script> + <script type="text/javascript" src="js/merge_cells.js"></script> +</head> +<body style="margin: 8px" role="application"> +<form onsubmit="MergeCellsDialog.merge();return false;" action="#"> + <fieldset> + <legend>{#table_dlg.merge_cells_title}</legend> + <table role="presentation" border="0" cellpadding="0" cellspacing="3" width="100%"> + <tr> + <td><label for="numcols">{#table_dlg.cols}</label>:</td> + <td align="right"><input type="text" id="numcols" name="numcols" value="" class="number min1 mceFocus" style="width: 30px" aria-required="true" /></td> + </tr> + <tr> + <td><label for="numrows">{#table_dlg.rows}</label>:</td> + <td align="right"><input type="text" id="numrows" name="numrows" value="" class="number min1" style="width: 30px" aria-required="true" /></td> + </tr> + </table> + </fieldset> + + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#update}" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> +</form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/row.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/row.htm new file mode 100644 index 00000000..e0b182b8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/row.htm @@ -0,0 +1,158 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#table_dlg.row_title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <script type="text/javascript" src="../../utils/validate.js"></script> + <script type="text/javascript" src="../../utils/editable_selects.js"></script> + <script type="text/javascript" src="js/row.js"></script> + <link href="css/row.css" rel="stylesheet" type="text/css" /> +</head> +<body id="tablerow" style="display: none" role="application"> + <form onsubmit="updateAction();return false;" action="#"> + <div class="tabs"> + <ul> + <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#table_dlg.general_tab}</a></span></li> + <li id="advanced_tab" aria-controls="advanced_panel"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#table_dlg.advanced_tab}</a></span></li> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="general_panel" class="panel current"> + <fieldset> + <legend>{#table_dlg.general_props}</legend> + + <table role="presentation" border="0" cellpadding="4" cellspacing="0"> + <tr> + <td><label for="rowtype">{#table_dlg.rowtype}</label></td> + <td class="col2"> + <select id="rowtype" name="rowtype" class="mceFocus"> + <option value="thead">{#table_dlg.thead}</option> + <option value="tbody">{#table_dlg.tbody}</option> + <option value="tfoot">{#table_dlg.tfoot}</option> + </select> + </td> + </tr> + + <tr> + <td><label for="align">{#table_dlg.align}</label></td> + <td class="col2"> + <select id="align" name="align"> + <option value="">{#not_set}</option> + <option value="center">{#table_dlg.align_middle}</option> + <option value="left">{#table_dlg.align_left}</option> + <option value="right">{#table_dlg.align_right}</option> + </select> + </td> + </tr> + + <tr> + <td><label for="valign">{#table_dlg.valign}</label></td> + <td class="col2"> + <select id="valign" name="valign"> + <option value="">{#not_set}</option> + <option value="top">{#table_dlg.align_top}</option> + <option value="middle">{#table_dlg.align_middle}</option> + <option value="bottom">{#table_dlg.align_bottom}</option> + </select> + </td> + </tr> + + <tr id="styleSelectRow"> + <td><label for="class">{#class_name}</label></td> + <td class="col2"> + <select id="class" name="class" class="mceEditableSelect"> + <option value="" selected="selected">{#not_set}</option> + </select> + </td> + </tr> + + <tr> + <td><label for="height">{#table_dlg.height}</label></td> + <td class="col2"><input name="height" type="text" id="height" value="" size="7" maxlength="7" onchange="changedSize();" class="size" /></td> + </tr> + </table> + </fieldset> + </div> + + <div id="advanced_panel" class="panel"> + <fieldset> + <legend>{#table_dlg.advanced_props}</legend> + + <table role="presentation" border="0" cellpadding="0" cellspacing="4"> + <tr> + <td class="column1"><label for="id">{#table_dlg.id}</label></td> + <td><input id="id" name="id" type="text" value="" style="width: 200px" /></td> + </tr> + + <tr> + <td><label for="style">{#table_dlg.style}</label></td> + <td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td> + </tr> + + <tr> + <td class="column1"><label for="dir">{#table_dlg.langdir}</label></td> + <td> + <select id="dir" name="dir" style="width: 200px"> + <option value="">{#not_set}</option> + <option value="ltr">{#table_dlg.ltr}</option> + <option value="rtl">{#table_dlg.rtl}</option> + </select> + </td> + </tr> + + <tr> + <td class="column1"><label for="lang">{#table_dlg.langcode}</label></td> + <td> + <input id="lang" name="lang" type="text" value="" style="width: 200px" /> + </td> + </tr> + + <tr> + <td class="column1"><label for="backgroundimage">{#table_dlg.bgimage}</label></td> + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="backgroundimage" name="backgroundimage" type="text" value="" style="width: 200px" onchange="changedBackgroundImage();" /></td> + <td id="backgroundimagebrowsercontainer"> </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td class="column1"><label for="bgcolor" id="bgcolor_label">{#table_dlg.bgcolor}</label></td> + <td> + <span role="group" aria-labelledby="bgcolor_label"> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td> + <td id="bgcolor_pickcontainer"> </td> + </tr> + </table> + </span> + </td> + </tr> + </table> + </fieldset> + </div> + </div> + + <div class="mceActionPanel"> + <div> + <select id="action" name="action"> + <option value="row">{#table_dlg.row_row}</option> + <option value="odd">{#table_dlg.row_odd}</option> + <option value="even">{#table_dlg.row_even}</option> + <option value="all">{#table_dlg.row_all}</option> + </select> + </div> + + <input type="submit" id="insert" name="insert" value="{#update}" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> + </form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/table.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/table.htm new file mode 100644 index 00000000..a72e356c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/table/table.htm @@ -0,0 +1,188 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#table_dlg.title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <script type="text/javascript" src="../../utils/validate.js"></script> + <script type="text/javascript" src="../../utils/editable_selects.js"></script> + <script type="text/javascript" src="js/table.js"></script> + <link href="css/table.css" rel="stylesheet" type="text/css" /> +</head> +<body id="table" style="display: none" role="application" aria-labelledby="app_title"> + <span style="display:none;" id="app_title">{#table_dlg.title}</span> + <form onsubmit="insertTable();return false;" action="#"> + <div class="tabs"> + <ul> + <li id="general_tab" aria-controls="general_panel" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#table_dlg.general_tab}</a></span></li> + <li id="advanced_tab" aria-controls="advanced_panel"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#table_dlg.advanced_tab}</a></span></li> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="general_panel" class="panel current"> + <fieldset> + <legend>{#table_dlg.general_props}</legend> + <table role="presentation" border="0" cellpadding="4" cellspacing="0" width="100%"> + <tr> + <td><label id="colslabel" for="cols">{#table_dlg.cols}</label></td> + <td><input id="cols" name="cols" type="text" value="" size="3" maxlength="3" class="required number min1 mceFocus" aria-required="true" /></td> + <td><label id="rowslabel" for="rows">{#table_dlg.rows}</label></td> + <td><input id="rows" name="rows" type="text" value="" size="3" maxlength="3" class="required number min1" aria-required="true" /></td> + </tr> + <tr> + <td><label id="cellpaddinglabel" for="cellpadding">{#table_dlg.cellpadding}</label></td> + <td><input id="cellpadding" name="cellpadding" type="text" value="" size="3" maxlength="3" class="number" /></td> + <td><label id="cellspacinglabel" for="cellspacing">{#table_dlg.cellspacing}</label></td> + <td><input id="cellspacing" name="cellspacing" type="text" value="" size="3" maxlength="3" class="number" /></td> + </tr> + <tr> + <td><label id="alignlabel" for="align">{#table_dlg.align}</label></td> + <td><select id="align" name="align"> + <option value="">{#not_set}</option> + <option value="center">{#table_dlg.align_middle}</option> + <option value="left">{#table_dlg.align_left}</option> + <option value="right">{#table_dlg.align_right}</option> + </select></td> + <td><label id="borderlabel" for="border">{#table_dlg.border}</label></td> + <td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="changedBorder();" class="number" /></td> + </tr> + <tr id="width_row"> + <td><label id="widthlabel" for="width">{#table_dlg.width}</label></td> + <td><input name="width" type="text" id="width" value="" size="7" maxlength="7" onchange="changedSize();" class="size" /></td> + <td><label id="heightlabel" for="height">{#table_dlg.height}</label></td> + <td><input name="height" type="text" id="height" value="" size="7" maxlength="7" onchange="changedSize();" class="size" /></td> + </tr> + <tr id="styleSelectRow" > + <td><label id="classlabel" for="class">{#class_name}</label></td> + <td colspan="3" > + <select id="class" name="class" class="mceEditableSelect"> + <option value="" selected="selected">{#not_set}</option> + </select></td> + </tr> + <tr> + <td class="column1" ><label for="caption">{#table_dlg.caption}</label></td> + <td><input id="caption" name="caption" type="checkbox" class="checkbox" value="true" /></td> + </tr> + </table> + </fieldset> + </div> + + <div id="advanced_panel" class="panel"> + <fieldset> + <legend>{#table_dlg.advanced_props}</legend> + + <table role="presentation" border="0" cellpadding="0" cellspacing="4"> + <tr> + <td class="column1"><label for="id">{#table_dlg.id}</label></td> + <td><input id="id" name="id" type="text" value="" class="advfield" /></td> + </tr> + + <tr> + <td class="column1"><label for="summary">{#table_dlg.summary}</label></td> + <td><input id="summary" name="summary" type="text" value="" class="advfield" /></td> + </tr> + + <tr> + <td><label for="style">{#table_dlg.style}</label></td> + <td><input type="text" id="style" name="style" value="" class="advfield" onchange="changedStyle();" /></td> + </tr> + + <tr> + <td class="column1"><label id="langlabel" for="lang">{#table_dlg.langcode}</label></td> + <td> + <input id="lang" name="lang" type="text" value="" class="advfield" /> + </td> + </tr> + + <tr> + <td class="column1"><label for="backgroundimage">{#table_dlg.bgimage}</label></td> + <td> + <table role="presentation" aria-labelledby="backgroundimage_label" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="backgroundimage" name="backgroundimage" type="text" value="" class="advfield" onchange="changedBackgroundImage();" /></td> + <td id="backgroundimagebrowsercontainer"> </td> + </tr> + </table> + </td> + </tr> + + <tr> + <td class="column1"><label for="tframe">{#table_dlg.frame}</label></td> + <td> + <select id="tframe" name="tframe" class="advfield"> + <option value="">{#not_set}</option> + <option value="void">{#table_dlg.rules_void}</option> + <option value="above">{#table_dlg.rules_above}</option> + <option value="below">{#table_dlg.rules_below}</option> + <option value="hsides">{#table_dlg.rules_hsides}</option> + <option value="lhs">{#table_dlg.rules_lhs}</option> + <option value="rhs">{#table_dlg.rules_rhs}</option> + <option value="vsides">{#table_dlg.rules_vsides}</option> + <option value="box">{#table_dlg.rules_box}</option> + <option value="border">{#table_dlg.rules_border}</option> + </select> + </td> + </tr> + + <tr> + <td class="column1"><label for="rules">{#table_dlg.rules}</label></td> + <td> + <select id="rules" name="rules" class="advfield"> + <option value="">{#not_set}</option> + <option value="none">{#table_dlg.frame_none}</option> + <option value="groups">{#table_dlg.frame_groups}</option> + <option value="rows">{#table_dlg.frame_rows}</option> + <option value="cols">{#table_dlg.frame_cols}</option> + <option value="all">{#table_dlg.frame_all}</option> + </select> + </td> + </tr> + + <tr> + <td class="column1"><label for="dir">{#table_dlg.langdir}</label></td> + <td> + <select id="dir" name="dir" class="advfield"> + <option value="">{#not_set}</option> + <option value="ltr">{#table_dlg.ltr}</option> + <option value="rtl">{#table_dlg.rtl}</option> + </select> + </td> + </tr> + + <tr role="group" aria-labelledby="bordercolor_label"> + <td class="column1"><label id="bordercolor_label" for="bordercolor">{#table_dlg.bordercolor}</label></td> + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="bordercolor" name="bordercolor" type="text" value="" size="9" onchange="updateColor('bordercolor_pick','bordercolor');changedColor();" /></td> + <td id="bordercolor_pickcontainer"> </td> + </tr> + </table> + </td> + </tr> + + <tr role="group" aria-labelledby="bgcolor_label"> + <td class="column1"><label id="bgcolor_label" for="bgcolor">{#table_dlg.bgcolor}</label></td> + <td> + <table role="presentation" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');changedColor();" /></td> + <td id="bgcolor_pickcontainer"> </td> + </tr> + </table> + </td> + </tr> + </table> + </fieldset> + </div> + </div> + + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#insert}" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> + </form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/blank.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/blank.htm new file mode 100644 index 00000000..538a3b12 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/blank.htm @@ -0,0 +1,12 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>blank_page</title> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <script type="text/javascript"> + parent.TemplateDialog.loadCSSFiles(document); + </script> +</head> +<body id="mceTemplatePreview" class="mceContentBody"> + +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/css/template.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/css/template.css new file mode 100644 index 00000000..0a03f2e5 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/css/template.css @@ -0,0 +1,23 @@ +#frmbody { + padding: 10px; + background-color: #FFF; + border: 1px solid #CCC; +} + +.frmRow { + margin-bottom: 10px; +} + +#templatesrc { + border: none; + width: 320px; + height: 240px; +} + +.title { + padding-bottom: 5px; +} + +.mceActionPanel { + padding-top: 5px; +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/editor_plugin.js new file mode 100644 index 00000000..ebe3c27d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.each;tinymce.create("tinymce.plugins.TemplatePlugin",{init:function(b,c){var d=this;d.editor=b;b.addCommand("mceTemplate",function(e){b.windowManager.open({file:c+"/template.htm",width:b.getParam("template_popup_width",750),height:b.getParam("template_popup_height",600),inline:1},{plugin_url:c})});b.addCommand("mceInsertTemplate",d._insertTemplate,d);b.addButton("template",{title:"template.desc",cmd:"mceTemplate"});b.onPreProcess.add(function(e,g){var f=e.dom;a(f.select("div",g.node),function(h){if(f.hasClass(h,"mceTmpl")){a(f.select("*",h),function(i){if(f.hasClass(i,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))){i.innerHTML=d._getDateTime(new Date(),e.getParam("template_mdate_format",e.getLang("template.mdate_format")))}});d._replaceVals(h)}})})},getInfo:function(){return{longname:"Template plugin",author:"Moxiecode Systems AB",authorurl:"http://www.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/template",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_insertTemplate:function(i,j){var k=this,g=k.editor,f,c,d=g.dom,b=g.selection.getContent();f=j.content;a(k.editor.getParam("template_replace_values"),function(l,h){if(typeof(l)!="function"){f=f.replace(new RegExp("\\{\\$"+h+"\\}","g"),l)}});c=d.create("div",null,f);n=d.select(".mceTmpl",c);if(n&&n.length>0){c=d.create("div",null);c.appendChild(n[0].cloneNode(true))}function e(l,h){return new RegExp("\\b"+h+"\\b","g").test(l.className)}a(d.select("*",c),function(h){if(e(h,g.getParam("template_cdate_classes","cdate").replace(/\s+/g,"|"))){h.innerHTML=k._getDateTime(new Date(),g.getParam("template_cdate_format",g.getLang("template.cdate_format")))}if(e(h,g.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))){h.innerHTML=k._getDateTime(new Date(),g.getParam("template_mdate_format",g.getLang("template.mdate_format")))}if(e(h,g.getParam("template_selected_content_classes","selcontent").replace(/\s+/g,"|"))){h.innerHTML=b}});k._replaceVals(c);g.execCommand("mceInsertContent",false,c.innerHTML);g.addVisual()},_replaceVals:function(c){var d=this.editor.dom,b=this.editor.getParam("template_replace_values");a(d.select("*",c),function(f){a(b,function(g,e){if(d.hasClass(f,e)){if(typeof(b[e])=="function"){b[e](f)}}})})},_getDateTime:function(e,b){if(!b){return""}function c(g,d){var f;g=""+g;if(g.length<d){for(f=0;f<(d-g.length);f++){g="0"+g}}return g}b=b.replace("%D","%m/%d/%y");b=b.replace("%r","%I:%M:%S %p");b=b.replace("%Y",""+e.getFullYear());b=b.replace("%y",""+e.getYear());b=b.replace("%m",c(e.getMonth()+1,2));b=b.replace("%d",c(e.getDate(),2));b=b.replace("%H",""+c(e.getHours(),2));b=b.replace("%M",""+c(e.getMinutes(),2));b=b.replace("%S",""+c(e.getSeconds(),2));b=b.replace("%I",""+((e.getHours()+11)%12+1));b=b.replace("%p",""+(e.getHours()<12?"AM":"PM"));b=b.replace("%B",""+this.editor.getLang("template_months_long").split(",")[e.getMonth()]);b=b.replace("%b",""+this.editor.getLang("template_months_short").split(",")[e.getMonth()]);b=b.replace("%A",""+this.editor.getLang("template_day_long").split(",")[e.getDay()]);b=b.replace("%a",""+this.editor.getLang("template_day_short").split(",")[e.getDay()]);b=b.replace("%%","%");return b}});tinymce.PluginManager.add("template",tinymce.plugins.TemplatePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/editor_plugin_src.js new file mode 100644 index 00000000..28baed21 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/editor_plugin_src.js @@ -0,0 +1,159 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var each = tinymce.each; + + tinymce.create('tinymce.plugins.TemplatePlugin', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceTemplate', function(ui) { + ed.windowManager.open({ + file : url + '/template.htm', + width : ed.getParam('template_popup_width', 750), + height : ed.getParam('template_popup_height', 600), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceInsertTemplate', t._insertTemplate, t); + + // Register buttons + ed.addButton('template', {title : 'template.desc', cmd : 'mceTemplate'}); + + ed.onPreProcess.add(function(ed, o) { + var dom = ed.dom; + + each(dom.select('div', o.node), function(e) { + if (dom.hasClass(e, 'mceTmpl')) { + each(dom.select('*', e), function(e) { + if (dom.hasClass(e, ed.getParam('template_mdate_classes', 'mdate').replace(/\s+/g, '|'))) + e.innerHTML = t._getDateTime(new Date(), ed.getParam("template_mdate_format", ed.getLang("template.mdate_format"))); + }); + + t._replaceVals(e); + } + }); + }); + }, + + getInfo : function() { + return { + longname : 'Template plugin', + author : 'Moxiecode Systems AB', + authorurl : 'http://www.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/template', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + _insertTemplate : function(ui, v) { + var t = this, ed = t.editor, h, el, dom = ed.dom, sel = ed.selection.getContent(); + + h = v.content; + + each(t.editor.getParam('template_replace_values'), function(v, k) { + if (typeof(v) != 'function') + h = h.replace(new RegExp('\\{\\$' + k + '\\}', 'g'), v); + }); + + el = dom.create('div', null, h); + + // Find template element within div + n = dom.select('.mceTmpl', el); + if (n && n.length > 0) { + el = dom.create('div', null); + el.appendChild(n[0].cloneNode(true)); + } + + function hasClass(n, c) { + return new RegExp('\\b' + c + '\\b', 'g').test(n.className); + }; + + each(dom.select('*', el), function(n) { + // Replace cdate + if (hasClass(n, ed.getParam('template_cdate_classes', 'cdate').replace(/\s+/g, '|'))) + n.innerHTML = t._getDateTime(new Date(), ed.getParam("template_cdate_format", ed.getLang("template.cdate_format"))); + + // Replace mdate + if (hasClass(n, ed.getParam('template_mdate_classes', 'mdate').replace(/\s+/g, '|'))) + n.innerHTML = t._getDateTime(new Date(), ed.getParam("template_mdate_format", ed.getLang("template.mdate_format"))); + + // Replace selection + if (hasClass(n, ed.getParam('template_selected_content_classes', 'selcontent').replace(/\s+/g, '|'))) + n.innerHTML = sel; + }); + + t._replaceVals(el); + + ed.execCommand('mceInsertContent', false, el.innerHTML); + ed.addVisual(); + }, + + _replaceVals : function(e) { + var dom = this.editor.dom, vl = this.editor.getParam('template_replace_values'); + + each(dom.select('*', e), function(e) { + each(vl, function(v, k) { + if (dom.hasClass(e, k)) { + if (typeof(vl[k]) == 'function') + vl[k](e); + } + }); + }); + }, + + _getDateTime : function(d, fmt) { + if (!fmt) + return ""; + + function addZeros(value, len) { + var i; + + value = "" + value; + + if (value.length < len) { + for (i=0; i<(len-value.length); i++) + value = "0" + value; + } + + return value; + } + + fmt = fmt.replace("%D", "%m/%d/%y"); + fmt = fmt.replace("%r", "%I:%M:%S %p"); + fmt = fmt.replace("%Y", "" + d.getFullYear()); + fmt = fmt.replace("%y", "" + d.getYear()); + fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2)); + fmt = fmt.replace("%d", addZeros(d.getDate(), 2)); + fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2)); + fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2)); + fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2)); + fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1)); + fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM")); + fmt = fmt.replace("%B", "" + this.editor.getLang("template_months_long").split(',')[d.getMonth()]); + fmt = fmt.replace("%b", "" + this.editor.getLang("template_months_short").split(',')[d.getMonth()]); + fmt = fmt.replace("%A", "" + this.editor.getLang("template_day_long").split(',')[d.getDay()]); + fmt = fmt.replace("%a", "" + this.editor.getLang("template_day_short").split(',')[d.getDay()]); + fmt = fmt.replace("%%", "%"); + + return fmt; + } + }); + + // Register plugin + tinymce.PluginManager.add('template', tinymce.plugins.TemplatePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/js/template.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/js/template.js new file mode 100644 index 00000000..673395a9 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/js/template.js @@ -0,0 +1,106 @@ +tinyMCEPopup.requireLangPack(); + +var TemplateDialog = { + preInit : function() { + var url = tinyMCEPopup.getParam("template_external_list_url"); + + if (url != null) + document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></sc'+'ript>'); + }, + + init : function() { + var ed = tinyMCEPopup.editor, tsrc, sel, x, u; + + tsrc = ed.getParam("template_templates", false); + sel = document.getElementById('tpath'); + + // Setup external template list + if (!tsrc && typeof(tinyMCETemplateList) != 'undefined') { + for (x=0, tsrc = []; x<tinyMCETemplateList.length; x++) + tsrc.push({title : tinyMCETemplateList[x][0], src : tinyMCETemplateList[x][1], description : tinyMCETemplateList[x][2]}); + } + + for (x=0; x<tsrc.length; x++) + sel.options[sel.options.length] = new Option(tsrc[x].title, tinyMCEPopup.editor.documentBaseURI.toAbsolute(tsrc[x].src)); + + this.resize(); + this.tsrc = tsrc; + }, + + resize : function() { + var w, h, e; + + if (!self.innerWidth) { + w = document.body.clientWidth - 50; + h = document.body.clientHeight - 160; + } else { + w = self.innerWidth - 50; + h = self.innerHeight - 170; + } + + e = document.getElementById('templatesrc'); + + if (e) { + e.style.height = Math.abs(h) + 'px'; + e.style.width = Math.abs(w - 5) + 'px'; + } + }, + + loadCSSFiles : function(d) { + var ed = tinyMCEPopup.editor; + + tinymce.each(ed.getParam("content_css", '').split(','), function(u) { + d.write('<link href="' + ed.documentBaseURI.toAbsolute(u) + '" rel="stylesheet" type="text/css" />'); + }); + }, + + selectTemplate : function(u, ti) { + var d = window.frames['templatesrc'].document, x, tsrc = this.tsrc; + + if (!u) + return; + + d.body.innerHTML = this.templateHTML = this.getFileContents(u); + + for (x=0; x<tsrc.length; x++) { + if (tsrc[x].title == ti) + document.getElementById('tmpldesc').innerHTML = tsrc[x].description || ''; + } + }, + + insert : function() { + tinyMCEPopup.execCommand('mceInsertTemplate', false, { + content : this.templateHTML, + selection : tinyMCEPopup.editor.selection.getContent() + }); + + tinyMCEPopup.close(); + }, + + getFileContents : function(u) { + var x, d, t = 'text/plain'; + + function g(s) { + x = 0; + + try { + x = new ActiveXObject(s); + } catch (s) { + } + + return x; + }; + + x = window.ActiveXObject ? g('Msxml2.XMLHTTP') || g('Microsoft.XMLHTTP') : new XMLHttpRequest(); + + // Synchronous AJAX load file + x.overrideMimeType && x.overrideMimeType(t); + x.open("GET", u, false); + x.send(null); + + return x.responseText; + } +}; + +TemplateDialog.preInit(); +tinyMCEPopup.onInit.add(TemplateDialog.init, TemplateDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/langs/en_dlg.js new file mode 100644 index 00000000..1f7f7447 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/langs/en_dlg.js @@ -0,0 +1,15 @@ +tinyMCE.addI18n('en.template_dlg',{ +title:"Templates", +label:"Template", +desc_label:"Description", +desc:"Insert predefined template content", +select:"Select a template", +preview:"Preview", +warning:"Warning: Updating a template with a different one may cause data loss.", +mdate_format:"%Y-%m-%d %H:%M:%S", +cdate_format:"%Y-%m-%d %H:%M:%S", +months_long:"January,February,March,April,May,June,July,August,September,October,November,December", +months_short:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec", +day_long:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday", +day_short:"Sun,Mon,Tue,Wed,Thu,Fri,Sat,Sun" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/template.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/template.htm new file mode 100644 index 00000000..59b7cdc0 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/template/template.htm @@ -0,0 +1,31 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#template_dlg.title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="js/template.js"></script> + <link href="css/template.css" rel="stylesheet" type="text/css" /> +</head> +<body onresize="TemplateDialog.resize();"> + <form onsubmit="TemplateDialog.insert();return false;"> + <div id="frmbody"> + <div class="title">{#template_dlg.desc}</div> + <div class="frmRow"><label for="tpath" title="{#template_dlg.select}">{#template_dlg.label}:</label> + <select id="tpath" name="tpath" onchange="TemplateDialog.selectTemplate(this.options[this.selectedIndex].value, this.options[this.selectedIndex].text);" class="mceFocus"> + <option value="">{#template_dlg.select}...</option> + </select> + <span id="warning"></span></div> + <div class="frmRow"><label for="tdesc">{#template_dlg.desc_label}:</label> + <span id="tmpldesc"></span></div> + <fieldset> + <legend>{#template_dlg.preview}</legend> + <iframe id="templatesrc" name="templatesrc" src="blank.htm" width="690" height="400" frameborder="0"></iframe> + </fieldset> + </div> + + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#insert}" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> + </form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js new file mode 100644 index 00000000..1a148e8b --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.VisualChars",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceVisualChars",c._toggleVisualChars,c);a.addButton("visualchars",{title:"visualchars.desc",cmd:"mceVisualChars"});a.onBeforeGetContent.add(function(d,e){if(c.state&&e.format!="raw"&&!e.draft){c.state=true;c._toggleVisualChars(false)}})},getInfo:function(){return{longname:"Visual characters",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_toggleVisualChars:function(m){var p=this,k=p.editor,a,g,j,n=k.getDoc(),o=k.getBody(),l,q=k.selection,e,c,f;p.state=!p.state;k.controlManager.setActive("visualchars",p.state);if(m){f=q.getBookmark()}if(p.state){a=[];tinymce.walk(o,function(b){if(b.nodeType==3&&b.nodeValue&&b.nodeValue.indexOf("\u00a0")!=-1){a.push(b)}},"childNodes");for(g=0;g<a.length;g++){l=a[g].nodeValue;l=l.replace(/(\u00a0)/g,'<span data-mce-bogus="1" class="mceItemHidden mceItemNbsp">$1</span>');c=k.dom.create("div",null,l);while(node=c.lastChild){k.dom.insertAfter(node,a[g])}k.dom.remove(a[g])}}else{a=k.dom.select("span.mceItemNbsp",o);for(g=a.length-1;g>=0;g--){k.dom.remove(a[g],1)}}q.moveToBookmark(f)}});tinymce.PluginManager.add("visualchars",tinymce.plugins.VisualChars)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js new file mode 100644 index 00000000..0e3572e6 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js @@ -0,0 +1,83 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.VisualChars', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceVisualChars', t._toggleVisualChars, t); + + // Register buttons + ed.addButton('visualchars', {title : 'visualchars.desc', cmd : 'mceVisualChars'}); + + ed.onBeforeGetContent.add(function(ed, o) { + if (t.state && o.format != 'raw' && !o.draft) { + t.state = true; + t._toggleVisualChars(false); + } + }); + }, + + getInfo : function() { + return { + longname : 'Visual characters', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + _toggleVisualChars : function(bookmark) { + var t = this, ed = t.editor, nl, i, h, d = ed.getDoc(), b = ed.getBody(), nv, s = ed.selection, bo, div, bm; + + t.state = !t.state; + ed.controlManager.setActive('visualchars', t.state); + + if (bookmark) + bm = s.getBookmark(); + + if (t.state) { + nl = []; + tinymce.walk(b, function(n) { + if (n.nodeType == 3 && n.nodeValue && n.nodeValue.indexOf('\u00a0') != -1) + nl.push(n); + }, 'childNodes'); + + for (i = 0; i < nl.length; i++) { + nv = nl[i].nodeValue; + nv = nv.replace(/(\u00a0)/g, '<span data-mce-bogus="1" class="mceItemHidden mceItemNbsp">$1</span>'); + + div = ed.dom.create('div', null, nv); + while (node = div.lastChild) + ed.dom.insertAfter(node, nl[i]); + + ed.dom.remove(nl[i]); + } + } else { + nl = ed.dom.select('span.mceItemNbsp', b); + + for (i = nl.length - 1; i >= 0; i--) + ed.dom.remove(nl[i], 1); + } + + s.moveToBookmark(bm); + } + }); + + // Register plugin + tinymce.PluginManager.add('visualchars', tinymce.plugins.VisualChars); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js new file mode 100644 index 00000000..a752ad32 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.WordCount",{block:0,id:null,countre:null,cleanre:null,init:function(a,b){var c=this,d=0;c.countre=a.getParam("wordcount_countregex",/[\w\u2019\'-]+/g);c.cleanre=a.getParam("wordcount_cleanregex",/[0-9.(),;:!?%#$?\'\"_+=\\\/-]*/g);c.id=a.id+"-word-count";a.onPostRender.add(function(f,e){var g,h;h=f.getParam("wordcount_target_id");if(!h){g=tinymce.DOM.get(f.id+"_path_row");if(g){tinymce.DOM.add(g.parentNode,"div",{style:"float: right"},f.getLang("wordcount.words","Words: ")+'<span id="'+c.id+'">0</span>')}}else{tinymce.DOM.add(h,"span",{},'<span id="'+c.id+'">0</span>')}});a.onInit.add(function(e){e.selection.onSetContent.add(function(){c._count(e)});c._count(e)});a.onSetContent.add(function(e){c._count(e)});a.onKeyUp.add(function(f,g){if(g.keyCode==d){return}if(13==g.keyCode||8==d||46==d){c._count(f)}d=g.keyCode})},_getCount:function(c){var a=0;var b=c.getContent({format:"raw"});if(b){b=b.replace(/\.\.\./g," ");b=b.replace(/<.[^<>]*?>/g," ").replace(/ | /gi," ");b=b.replace(/(\w+)(&.+?;)+(\w+)/,"$1$3").replace(/&.+?;/g," ");b=b.replace(this.cleanre,"");var d=b.match(this.countre);if(d){a=d.length}}return a},_count:function(a){var b=this;if(b.block){return}b.block=1;setTimeout(function(){if(!a.destroyed){var c=b._getCount(a);tinymce.DOM.setHTML(b.id,c.toString());setTimeout(function(){b.block=0},2000)}},1)},getInfo:function(){return{longname:"Word Count plugin",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/wordcount",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("wordcount",tinymce.plugins.WordCount)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js new file mode 100644 index 00000000..032a3f67 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js @@ -0,0 +1,114 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.WordCount', { + block : 0, + id : null, + countre : null, + cleanre : null, + + init : function(ed, url) { + var t = this, last = 0; + + t.countre = ed.getParam('wordcount_countregex', /[\w\u2019\'-]+/g); // u2019 == ’ + t.cleanre = ed.getParam('wordcount_cleanregex', /[0-9.(),;:!?%#$?\'\"_+=\\\/-]*/g); + t.id = ed.id + '-word-count'; + + ed.onPostRender.add(function(ed, cm) { + var row, id; + + // Add it to the specified id or the theme advanced path + id = ed.getParam('wordcount_target_id'); + if (!id) { + row = tinymce.DOM.get(ed.id + '_path_row'); + + if (row) + tinymce.DOM.add(row.parentNode, 'div', {'style': 'float: right'}, ed.getLang('wordcount.words', 'Words: ') + '<span id="' + t.id + '">0</span>'); + } else { + tinymce.DOM.add(id, 'span', {}, '<span id="' + t.id + '">0</span>'); + } + }); + + ed.onInit.add(function(ed) { + ed.selection.onSetContent.add(function() { + t._count(ed); + }); + + t._count(ed); + }); + + ed.onSetContent.add(function(ed) { + t._count(ed); + }); + + ed.onKeyUp.add(function(ed, e) { + if (e.keyCode == last) + return; + + if (13 == e.keyCode || 8 == last || 46 == last) + t._count(ed); + + last = e.keyCode; + }); + }, + + _getCount : function(ed) { + var tc = 0; + var tx = ed.getContent({ format: 'raw' }); + + if (tx) { + tx = tx.replace(/\.\.\./g, ' '); // convert ellipses to spaces + tx = tx.replace(/<.[^<>]*?>/g, ' ').replace(/ | /gi, ' '); // remove html tags and space chars + + // deal with html entities + tx = tx.replace(/(\w+)(&.+?;)+(\w+)/, "$1$3").replace(/&.+?;/g, ' '); + tx = tx.replace(this.cleanre, ''); // remove numbers and punctuation + + var wordArray = tx.match(this.countre); + if (wordArray) { + tc = wordArray.length; + } + } + + return tc; + }, + + _count : function(ed) { + var t = this; + + // Keep multiple calls from happening at the same time + if (t.block) + return; + + t.block = 1; + + setTimeout(function() { + if (!ed.destroyed) { + var tc = t._getCount(ed); + tinymce.DOM.setHTML(t.id, tc.toString()); + setTimeout(function() {t.block = 0;}, 2000); + } + }, 1); + }, + + getInfo: function() { + return { + longname : 'Word Count plugin', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/wordcount', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + tinymce.PluginManager.add('wordcount', tinymce.plugins.WordCount); +})(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm new file mode 100644 index 00000000..d4102180 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm @@ -0,0 +1,142 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#xhtmlxtras_dlg.title_abbr_element}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <script type="text/javascript" src="../../utils/editable_selects.js"></script> + <script type="text/javascript" src="js/element_common.js"></script> + <script type="text/javascript" src="js/abbr.js"></script> + <link rel="stylesheet" type="text/css" href="css/popup.css" /> +</head> +<body style="display: none" role="application" aria-labelledby="app_title"> +<span style="display:none;" id="app_title">{#xhtmlxtras_dlg.title_abbr_element}</span> +<form onsubmit="insertAbbr();return false;" action="#"> + <div class="tabs"> + <ul> + <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.general_tab}</a></span></li> + <!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.events_tab}</a></span></li> --> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="general_panel" class="panel current"> + <fieldset> + <legend>{#xhtmlxtras_dlg.fieldset_attrib_tab}</legend> + <table role="presentation" border="0" cellpadding="0" cellspacing="4"> + <tr> + <td class="label"><label id="titlelabel" for="title">{#xhtmlxtras_dlg.attribute_label_title}</label>:</td> + <td><input id="title" name="title" type="text" value="" class="field mceFocus" /></td> + </tr> + <tr> + <td class="label"><label id="idlabel" for="id">{#xhtmlxtras_dlg.attribute_label_id}</label>:</td> + <td><input id="id" name="id" type="text" value="" class="field" /></td> + </tr> + <tr> + <td class="label"><label id="classlabel" for="class">{#xhtmlxtras_dlg.attribute_label_class}</label>:</td> + <td> + <select id="class" name="class" class="field mceEditableSelect"> + <option value="">{#not_set}</option> + </select> + </td> + </tr> + <tr> + <td class="label"><label id="stylelabel" for="style">{#xhtmlxtras_dlg.attribute_label_style}</label>:</td> + <td><input id="style" name="style" type="text" value="" class="field" /></td> + </tr> + <tr> + <td class="label"><label id="dirlabel" for="dir">{#xhtmlxtras_dlg.attribute_label_langdir}</label>:</td> + <td> + <select id="dir" name="dir" class="field"> + <option value="">{#not_set}</option> + <option value="ltr">{#xhtmlxtras_dlg.attribute_option_ltr}</option> + <option value="rtl">{#xhtmlxtras_dlg.attribute_option_rtl}</option> + </select> + </td> + </tr> + <tr> + <td class="label"><label id="langlabel" for="lang">{#xhtmlxtras_dlg.attribute_label_langcode}</label>:</td> + <td> + <input id="lang" name="lang" type="text" value="" class="field" /> + </td> + </tr> + </table> + </fieldset> + </div> + <div id="events_panel" class="panel"> + <fieldset> + <legend>{#xhtmlxtras_dlg.fieldset_events_tab}</legend> + + <table role="presentation" border="0" cellpadding="0" cellspacing="4"> + <tr> + <td class="label"><label for="onfocus">onfocus</label>:</td> + <td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onblur">onblur</label>:</td> + <td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onclick">onclick</label>:</td> + <td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="ondblclick">ondblclick</label>:</td> + <td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmousedown">onmousedown</label>:</td> + <td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseup">onmouseup</label>:</td> + <td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseover">onmouseover</label>:</td> + <td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmousemove">onmousemove</label>:</td> + <td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseout">onmouseout</label>:</td> + <td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeypress">onkeypress</label>:</td> + <td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeydown">onkeydown</label>:</td> + <td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeyup">onkeyup</label>:</td> + <td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> + </tr> + </table> + </fieldset> + </div> + </div> + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#update}" /> + <input type="button" id="remove" name="remove" class="button" value="{#xhtmlxtras_dlg.remove}" onclick="removeAbbr();" style="display: none;" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> +</form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm new file mode 100644 index 00000000..12b189b4 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm @@ -0,0 +1,142 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#xhtmlxtras_dlg.title_acronym_element}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <script type="text/javascript" src="../../utils/editable_selects.js"></script> + <script type="text/javascript" src="js/element_common.js"></script> + <script type="text/javascript" src="js/acronym.js"></script> + <link rel="stylesheet" type="text/css" href="css/popup.css" /> +</head> +<body style="display: none" role="application" aria-labelledby="app_title"> +<span style="display:none;" id="app_title">{#xhtmlxtras_dlg.title_acronym_element}</span> +<form onsubmit="insertAcronym();return false;" action="#"> + <div class="tabs"> + <ul> + <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.general_tab}</a></span></li> + <!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.events_tab}</a></span></li> --> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="general_panel" class="panel current"> + <fieldset> + <legend>{#xhtmlxtras_dlg.fieldset_attrib_tab}</legend> + <table role="presentation" border="0" cellpadding="0" cellspacing="4"> + <tr> + <td class="label"><label id="titlelabel" for="title">{#xhtmlxtras_dlg.attribute_label_title}</label>:</td> + <td><input id="title" name="title" type="text" value="" class="field mceFocus" /></td> + </tr> + <tr> + <td class="label"><label id="idlabel" for="id">{#xhtmlxtras_dlg.attribute_label_id}</label>:</td> + <td><input id="id" name="id" type="text" value="" class="field" /></td> + </tr> + <tr> + <td class="label"><label id="classlabel" for="class">{#xhtmlxtras_dlg.attribute_label_class}</label>:</td> + <td> + <select id="class" name="class" class="field mceEditableSelect"> + <option value="">{#not_set}</option> + </select> + </td> + </tr> + <tr> + <td class="label"><label id="stylelabel" for="style">{#xhtmlxtras_dlg.attribute_label_style}</label>:</td> + <td><input id="style" name="style" type="text" value="" class="field" /></td> + </tr> + <tr> + <td class="label"><label id="dirlabel" for="dir">{#xhtmlxtras_dlg.attribute_label_langdir}</label>:</td> + <td> + <select id="dir" name="dir" class="field"> + <option value="">{#not_set}</option> + <option value="ltr">{#xhtmlxtras_dlg.attribute_option_ltr}</option> + <option value="rtl">{#xhtmlxtras_dlg.attribute_option_rtl}</option> + </select> + </td> + </tr> + <tr> + <td class="label"><label id="langlabel" for="lang">{#xhtmlxtras_dlg.attribute_label_langcode}</label>:</td> + <td> + <input id="lang" name="lang" type="text" value="" class="field" /> + </td> + </tr> + </table> + </fieldset> + </div> + <div id="events_panel" class="panel"> + <fieldset> + <legend>{#xhtmlxtras_dlg.fieldset_events_tab}</legend> + + <table role="presentation" border="0" cellpadding="0" cellspacing="4"> + <tr> + <td class="label"><label for="onfocus">onfocus</label>:</td> + <td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onblur">onblur</label>:</td> + <td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onclick">onclick</label>:</td> + <td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="ondblclick">ondblclick</label>:</td> + <td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmousedown">onmousedown</label>:</td> + <td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseup">onmouseup</label>:</td> + <td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseover">onmouseover</label>:</td> + <td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmousemove">onmousemove</label>:</td> + <td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseout">onmouseout</label>:</td> + <td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeypress">onkeypress</label>:</td> + <td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeydown">onkeydown</label>:</td> + <td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeyup">onkeyup</label>:</td> + <td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> + </tr> + </table> + </fieldset> + </div> + </div> + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#update}" /> + <input type="button" id="remove" name="remove" class="button" value="{#xhtmlxtras_dlg.remove}" onclick="removeAcronym();" style="display: none;" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> +</form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm new file mode 100644 index 00000000..d84f378b --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm @@ -0,0 +1,149 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#xhtmlxtras_dlg.attribs_title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/editable_selects.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <script type="text/javascript" src="js/attributes.js"></script> + <link rel="stylesheet" type="text/css" href="css/attributes.css" /> +</head> +<body style="display: none" role="application" aria-labelledby="app_title"> +<span style="display:none;" id="app_title">{#xhtmlxtras_dlg.attribs_title}</span> +<form onsubmit="insertAction();return false;" action="#"> + <div class="tabs"> + <ul> + <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.attribute_attrib_tab}</a></span></li> + <li id="events_tab" aria-controls="events_panel"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.attribute_events_tab}</a></span></li> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="general_panel" class="panel current"> + <fieldset> + <legend>{#xhtmlxtras_dlg.attribute_attrib_tab}</legend> + <table role="presentation" border="0" cellpadding="0" cellspacing="4"> + <tr> + <td class="label"><label id="titlelabel" for="title">{#xhtmlxtras_dlg.attribute_label_title}</label>:</td> + <td><input id="title" name="title" type="text" value="" class="mceFocus" /></td> + </tr> + <tr> + <td class="label"><label id="idlabel" for="id">{#xhtmlxtras_dlg.attribute_label_id}</label>:</td> + <td><input id="id" name="id" type="text" value="" /></td> + </tr> + <tr> + <td><label id="classlabel" for="classlist">{#class_name}</label></td> + <td> + <select id="classlist" name="classlist" class="mceEditableSelect"> + <option value="" selected="selected">{#not_set}</option> + </select> + </td> + </tr> + <tr> + <td class="label"><label id="stylelabel" for="style">{#xhtmlxtras_dlg.attribute_label_style}</label>:</td> + <td><input id="style" name="style" type="text" value="" /></td> + </tr> + <tr> + <td class="label"><label id="dirlabel" for="dir">{#xhtmlxtras_dlg.attribute_label_langdir}</label>:</td> + <td> + <select id="dir" name="dir"> + <option value="">{#not_set}</option> + <option value="ltr">{#xhtmlxtras_dlg.option_ltr}</option> + <option value="rtl">{#xhtmlxtras_dlg.option_rtl}</option> + </select> + </td> + </tr> + <tr> + <td class="label"><label id="langlabel" for="lang">{#xhtmlxtras_dlg.attribute_label_langcode}</label>:</td> + <td> + <input id="lang" name="lang" type="text" value="" /> + </td> + </tr> + <tr> + <td><label id="tabindexlabel" for="tabindex">{#xhtmlxtras_dlg.attribute_label_tabindex}</label></td> + <td><input type="text" id="tabindex" name="tabindex" value="" /></td> + </tr> + + <tr> + <td><label id="accesskeylabel" for="accesskey">{#xhtmlxtras_dlg.attribute_label_accesskey}</label></td> + <td><input type="text" id="accesskey" name="accesskey" value="" /></td> + </tr> + </table> + </fieldset> + </div> + <div id="events_panel" class="panel"> + <fieldset> + <legend>{#xhtmlxtras_dlg.attribute_events_tab}</legend> + + <table role="presentation" border="0" cellpadding="0" cellspacing="4"> + <tr> + <td class="label"><label for="onfocus">onfocus</label>:</td> + <td><input id="onfocus" name="onfocus" type="text" value="" /></td> + </tr> + + <tr> + <td class="label"><label for="onblur">onblur</label>:</td> + <td><input id="onblur" name="onblur" type="text" value="" /></td> + </tr> + + <tr> + <td class="label"><label for="onclick">onclick</label>:</td> + <td><input id="onclick" name="onclick" type="text" value="" /></td> + </tr> + + <tr> + <td class="label"><label for="ondblclick">ondblclick</label>:</td> + <td><input id="ondblclick" name="ondblclick" type="text" value="" /></td> + </tr> + + <tr> + <td class="label"><label for="onmousedown">onmousedown</label>:</td> + <td><input id="onmousedown" name="onmousedown" type="text" value="" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseup">onmouseup</label>:</td> + <td><input id="onmouseup" name="onmouseup" type="text" value="" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseover">onmouseover</label>:</td> + <td><input id="onmouseover" name="onmouseover" type="text" value="" /></td> + </tr> + + <tr> + <td class="label"><label for="onmousemove">onmousemove</label>:</td> + <td><input id="onmousemove" name="onmousemove" type="text" value="" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseout">onmouseout</label>:</td> + <td><input id="onmouseout" name="onmouseout" type="text" value="" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeypress">onkeypress</label>:</td> + <td><input id="onkeypress" name="onkeypress" type="text" value="" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeydown">onkeydown</label>:</td> + <td><input id="onkeydown" name="onkeydown" type="text" value="" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeyup">onkeyup</label>:</td> + <td><input id="onkeyup" name="onkeyup" type="text" value="" /></td> + </tr> + </table> + </fieldset> + </div> + </div> + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#insert}" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> +</form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm new file mode 100644 index 00000000..ab61b330 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm @@ -0,0 +1,142 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#xhtmlxtras_dlg.title_cite_element}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <script type="text/javascript" src="../../utils/editable_selects.js"></script> + <script type="text/javascript" src="js/element_common.js"></script> + <script type="text/javascript" src="js/cite.js"></script> + <link rel="stylesheet" type="text/css" href="css/popup.css" /> +</head> +<body style="display: none" role="application" aria-labelledby="app_title"> +<span style="display:none;" id="app_title">{#xhtmlxtras_dlg.title_cite_element}</span> +<form onsubmit="insertCite();return false;" action="#"> + <div class="tabs"> + <ul> + <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.general_tab}</a></span></li> + <!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.events_tab}</a></span></li> --> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="general_panel" class="panel current"> + <fieldset> + <legend>{#xhtmlxtras_dlg.fieldset_attrib_tab}</legend> + <table role="presentation" border="0" cellpadding="0" cellspacing="4"> + <tr> + <td class="label"><label id="titlelabel" for="title">{#xhtmlxtras_dlg.attribute_label_title}</label>:</td> + <td><input id="title" name="title" type="text" value="" class="field mceFocus" /></td> + </tr> + <tr> + <td class="label"><label id="idlabel" for="id">{#xhtmlxtras_dlg.attribute_label_id}</label>:</td> + <td><input id="id" name="id" type="text" value="" class="field" /></td> + </tr> + <tr> + <td class="label"><label id="classlabel" for="class">{#xhtmlxtras_dlg.attribute_label_class}</label>:</td> + <td> + <select id="class" name="class" class="field mceEditableSelect"> + <option value="">{#not_set}</option> + </select> + </td> + </tr> + <tr> + <td class="label"><label id="stylelabel" for="class">{#xhtmlxtras_dlg.attribute_label_style}</label>:</td> + <td><input id="style" name="style" type="text" value="" class="field" /></td> + </tr> + <tr> + <td class="label"><label id="dirlabel" for="dir">{#xhtmlxtras_dlg.attribute_label_langdir}</label>:</td> + <td> + <select id="dir" name="dir" class="field"> + <option value="">{#not_set}</option> + <option value="ltr">{#xhtmlxtras_dlg.attribute_option_ltr}</option> + <option value="rtl">{#xhtmlxtras_dlg.attribute_option_rtl}</option> + </select> + </td> + </tr> + <tr> + <td class="label"><label id="langlabel" for="lang">{#xhtmlxtras_dlg.attribute_label_langcode}</label>:</td> + <td> + <input id="lang" name="lang" type="text" value="" class="field" /> + </td> + </tr> + </table> + </fieldset> + </div> + <div id="events_panel" class="panel"> + <fieldset> + <legend>{#xhtmlxtras_dlg.fieldset_events_tab}</legend> + + <table role="presentation" border="0" cellpadding="0" cellspacing="4"> + <tr> + <td class="label"><label for="onfocus">onfocus</label>:</td> + <td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onblur">onblur</label>:</td> + <td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onclick">onclick</label>:</td> + <td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="ondblclick">ondblclick</label>:</td> + <td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmousedown">onmousedown</label>:</td> + <td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseup">onmouseup</label>:</td> + <td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseover">onmouseover</label>:</td> + <td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmousemove">onmousemove</label>:</td> + <td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseout">onmouseout</label>:</td> + <td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeypress">onkeypress</label>:</td> + <td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeydown">onkeydown</label>:</td> + <td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeyup">onkeyup</label>:</td> + <td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> + </tr> + </table> + </fieldset> + </div> + </div> + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#update}" /> + <input type="button" id="remove" name="remove" class="button" value="{#xhtmlxtras_dlg.remove}" onclick="removeCite();" style="display: none;" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> +</form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css new file mode 100644 index 00000000..85b1b376 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css @@ -0,0 +1,11 @@ +.panel_wrapper div.current { + height: 290px; +} + +#id, #style, #title, #dir, #hreflang, #lang, #classlist, #tabindex, #accesskey { + width: 200px; +} + +#events_panel input { + width: 200px; +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css new file mode 100644 index 00000000..034b9852 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css @@ -0,0 +1,9 @@ +input.field, select.field {width:200px;} +input.picker {width:179px; margin-left: 5px;} +input.disabled {border-color:#F2F2F2;} +img.picker {vertical-align:text-bottom; cursor:pointer;} +h1 {padding: 0 0 5px 0;} +.panel_wrapper div.current {height:160px;} +#xhtmlxtrasdel .panel_wrapper div.current, #xhtmlxtrasins .panel_wrapper div.current {height: 230px;} +a.browse span {display:block; width:20px; height:20px; background:url('../../../themes/advanced/img/icons.gif') -140px -20px;} +#datetime {width:180px;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm new file mode 100644 index 00000000..e3f34c7d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm @@ -0,0 +1,162 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#xhtmlxtras_dlg.title_del_element}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <script type="text/javascript" src="../../utils/editable_selects.js"></script> + <script type="text/javascript" src="js/element_common.js"></script> + <script type="text/javascript" src="js/del.js"></script> + <link rel="stylesheet" type="text/css" href="css/popup.css" /> +</head> +<body id="xhtmlxtrasins" style="display: none" role="application" aria-labelledby="app_title"> +<span style="display:none;" id="app_title">{#xhtmlxtras_dlg.title_del_element}</span> +<form onsubmit="insertDel();return false;" action="#"> + <div class="tabs"> + <ul> + <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.general_tab}</a></span></li> + <!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.events_tab}</a></span></li> --> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="general_panel" class="panel current"> + <fieldset> + <legend>{#xhtmlxtras_dlg.fieldset_general_tab}</legend> + <table role="presentation" border="0" cellpadding="0" cellspacing="4"> + <tr> + <td class="label"><label id="datetimelabel" for="datetime">{#xhtmlxtras_dlg.attribute_label_datetime}</label>:</td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input id="datetime" name="datetime" type="text" value="" maxlength="19" class="field mceFocus" /></td> + <td><a href="javascript:insertDateTime('datetime');" onmousedown="return false;" class="browse" role="button" aria-labelledby="datetimelabel"><span class="datetime" title="{#xhtmlxtras_dlg.insert_date}"></span></a></td> + </tr> + </table> + </td> + </tr> + <tr> + <td class="label"><label id="citelabel" for="cite">{#xhtmlxtras_dlg.attribute_label_cite}</label>:</td> + <td><input id="cite" name="cite" type="text" value="" class="field" /></td> + </tr> + </table> + </fieldset> + <fieldset> + <legend>{#xhtmlxtras_dlg.fieldset_attrib_tab}</legend> + <table role="presentation" border="0" cellpadding="0" cellspacing="4"> + <tr> + <td class="label"><label id="titlelabel" for="title">{#xhtmlxtras_dlg.attribute_label_title}</label>:</td> + <td><input id="title" name="title" type="text" value="" class="field" /></td> + </tr> + <tr> + <td class="label"><label id="idlabel" for="id">{#xhtmlxtras_dlg.attribute_label_id}</label>:</td> + <td><input id="id" name="id" type="text" value="" class="field" /></td> + </tr> + <tr> + <td class="label"><label id="classlabel" for="class">{#xhtmlxtras_dlg.attribute_label_class}</label>:</td> + <td> + <select id="class" name="class" class="field mceEditableSelect"> + <option value="">{#not_set}</option> + </select> + </td> + </tr> + <tr> + <td class="label"><label id="stylelabel" for="style">{#xhtmlxtras_dlg.attribute_label_style}</label>:</td> + <td><input id="style" name="style" type="text" value="" class="field" /></td> + </tr> + <tr> + <td class="label"><label id="dirlabel" for="dir">{#xhtmlxtras_dlg.attribute_label_langdir}</label>:</td> + <td> + <select id="dir" name="dir" class="field"> + <option value="">{#not_set}</option> + <option value="ltr">{#xhtmlxtras_dlg.attribute_option_ltr}</option> + <option value="rtl">{#xhtmlxtras_dlg.attribute_option_rtl}</option> + </select> + </td> + </tr> + <tr> + <td class="label"><label id="langlabel" for="lang">{#xhtmlxtras_dlg.attribute_label_langcode}</label>:</td> + <td> + <input id="lang" name="lang" type="text" value="" class="field" /> + </td> + </tr> + </table> + </fieldset> + </div> + <div id="events_panel" class="panel"> + <fieldset> + <legend>{#xhtmlxtras_dlg.fieldset_events_tab}</legend> + + <table role="presentation" border="0" cellpadding="0" cellspacing="4"> + <tr> + <td class="label"><label for="onfocus">onfocus</label>:</td> + <td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onblur">onblur</label>:</td> + <td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onclick">onclick</label>:</td> + <td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="ondblclick">ondblclick</label>:</td> + <td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmousedown">onmousedown</label>:</td> + <td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseup">onmouseup</label>:</td> + <td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseover">onmouseover</label>:</td> + <td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmousemove">onmousemove</label>:</td> + <td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseout">onmouseout</label>:</td> + <td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeypress">onkeypress</label>:</td> + <td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeydown">onkeydown</label>:</td> + <td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeyup">onkeyup</label>:</td> + <td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> + </tr> + </table> + </fieldset> + </div> + </div> + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#update}" /> + <input type="button" id="remove" name="remove" class="button" value="{#xhtmlxtras_dlg.remove}" onclick="removeDel();" style="display: none;" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> +</form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js new file mode 100644 index 00000000..9b98a515 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.XHTMLXtrasPlugin",{init:function(a,b){a.addCommand("mceCite",function(){a.windowManager.open({file:b+"/cite.htm",width:350+parseInt(a.getLang("xhtmlxtras.cite_delta_width",0)),height:250+parseInt(a.getLang("xhtmlxtras.cite_delta_height",0)),inline:1},{plugin_url:b})});a.addCommand("mceAcronym",function(){a.windowManager.open({file:b+"/acronym.htm",width:350+parseInt(a.getLang("xhtmlxtras.acronym_delta_width",0)),height:250+parseInt(a.getLang("xhtmlxtras.acronym_delta_height",0)),inline:1},{plugin_url:b})});a.addCommand("mceAbbr",function(){a.windowManager.open({file:b+"/abbr.htm",width:350+parseInt(a.getLang("xhtmlxtras.abbr_delta_width",0)),height:250+parseInt(a.getLang("xhtmlxtras.abbr_delta_height",0)),inline:1},{plugin_url:b})});a.addCommand("mceDel",function(){a.windowManager.open({file:b+"/del.htm",width:340+parseInt(a.getLang("xhtmlxtras.del_delta_width",0)),height:310+parseInt(a.getLang("xhtmlxtras.del_delta_height",0)),inline:1},{plugin_url:b})});a.addCommand("mceIns",function(){a.windowManager.open({file:b+"/ins.htm",width:340+parseInt(a.getLang("xhtmlxtras.ins_delta_width",0)),height:310+parseInt(a.getLang("xhtmlxtras.ins_delta_height",0)),inline:1},{plugin_url:b})});a.addCommand("mceAttributes",function(){a.windowManager.open({file:b+"/attributes.htm",width:380+parseInt(a.getLang("xhtmlxtras.attr_delta_width",0)),height:370+parseInt(a.getLang("xhtmlxtras.attr_delta_height",0)),inline:1},{plugin_url:b})});a.addButton("cite",{title:"xhtmlxtras.cite_desc",cmd:"mceCite"});a.addButton("acronym",{title:"xhtmlxtras.acronym_desc",cmd:"mceAcronym"});a.addButton("abbr",{title:"xhtmlxtras.abbr_desc",cmd:"mceAbbr"});a.addButton("del",{title:"xhtmlxtras.del_desc",cmd:"mceDel"});a.addButton("ins",{title:"xhtmlxtras.ins_desc",cmd:"mceIns"});a.addButton("attribs",{title:"xhtmlxtras.attribs_desc",cmd:"mceAttributes"});a.onNodeChange.add(function(d,c,f,e){f=d.dom.getParent(f,"CITE,ACRONYM,ABBR,DEL,INS");c.setDisabled("cite",e);c.setDisabled("acronym",e);c.setDisabled("abbr",e);c.setDisabled("del",e);c.setDisabled("ins",e);c.setDisabled("attribs",f&&f.nodeName=="BODY");c.setActive("cite",0);c.setActive("acronym",0);c.setActive("abbr",0);c.setActive("del",0);c.setActive("ins",0);if(f){do{c.setDisabled(f.nodeName.toLowerCase(),0);c.setActive(f.nodeName.toLowerCase(),1)}while(f=f.parentNode)}});a.onPreInit.add(function(){a.dom.create("abbr")})},getInfo:function(){return{longname:"XHTML Xtras Plugin",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("xhtmlxtras",tinymce.plugins.XHTMLXtrasPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js new file mode 100644 index 00000000..a9c12ef3 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js @@ -0,0 +1,132 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.XHTMLXtrasPlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceCite', function() { + ed.windowManager.open({ + file : url + '/cite.htm', + width : 350 + parseInt(ed.getLang('xhtmlxtras.cite_delta_width', 0)), + height : 250 + parseInt(ed.getLang('xhtmlxtras.cite_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceAcronym', function() { + ed.windowManager.open({ + file : url + '/acronym.htm', + width : 350 + parseInt(ed.getLang('xhtmlxtras.acronym_delta_width', 0)), + height : 250 + parseInt(ed.getLang('xhtmlxtras.acronym_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceAbbr', function() { + ed.windowManager.open({ + file : url + '/abbr.htm', + width : 350 + parseInt(ed.getLang('xhtmlxtras.abbr_delta_width', 0)), + height : 250 + parseInt(ed.getLang('xhtmlxtras.abbr_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceDel', function() { + ed.windowManager.open({ + file : url + '/del.htm', + width : 340 + parseInt(ed.getLang('xhtmlxtras.del_delta_width', 0)), + height : 310 + parseInt(ed.getLang('xhtmlxtras.del_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceIns', function() { + ed.windowManager.open({ + file : url + '/ins.htm', + width : 340 + parseInt(ed.getLang('xhtmlxtras.ins_delta_width', 0)), + height : 310 + parseInt(ed.getLang('xhtmlxtras.ins_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceAttributes', function() { + ed.windowManager.open({ + file : url + '/attributes.htm', + width : 380 + parseInt(ed.getLang('xhtmlxtras.attr_delta_width', 0)), + height : 370 + parseInt(ed.getLang('xhtmlxtras.attr_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('cite', {title : 'xhtmlxtras.cite_desc', cmd : 'mceCite'}); + ed.addButton('acronym', {title : 'xhtmlxtras.acronym_desc', cmd : 'mceAcronym'}); + ed.addButton('abbr', {title : 'xhtmlxtras.abbr_desc', cmd : 'mceAbbr'}); + ed.addButton('del', {title : 'xhtmlxtras.del_desc', cmd : 'mceDel'}); + ed.addButton('ins', {title : 'xhtmlxtras.ins_desc', cmd : 'mceIns'}); + ed.addButton('attribs', {title : 'xhtmlxtras.attribs_desc', cmd : 'mceAttributes'}); + + ed.onNodeChange.add(function(ed, cm, n, co) { + n = ed.dom.getParent(n, 'CITE,ACRONYM,ABBR,DEL,INS'); + + cm.setDisabled('cite', co); + cm.setDisabled('acronym', co); + cm.setDisabled('abbr', co); + cm.setDisabled('del', co); + cm.setDisabled('ins', co); + cm.setDisabled('attribs', n && n.nodeName == 'BODY'); + cm.setActive('cite', 0); + cm.setActive('acronym', 0); + cm.setActive('abbr', 0); + cm.setActive('del', 0); + cm.setActive('ins', 0); + + // Activate all + if (n) { + do { + cm.setDisabled(n.nodeName.toLowerCase(), 0); + cm.setActive(n.nodeName.toLowerCase(), 1); + } while (n = n.parentNode); + } + }); + + ed.onPreInit.add(function() { + // Fixed IE issue where it can't handle these elements correctly + ed.dom.create('abbr'); + }); + }, + + getInfo : function() { + return { + longname : 'XHTML Xtras Plugin', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('xhtmlxtras', tinymce.plugins.XHTMLXtrasPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm new file mode 100644 index 00000000..226e6053 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm @@ -0,0 +1,162 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#xhtmlxtras_dlg.title_ins_element}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <script type="text/javascript" src="../../utils/editable_selects.js"></script> + <script type="text/javascript" src="js/element_common.js"></script> + <script type="text/javascript" src="js/ins.js"></script> + <link rel="stylesheet" type="text/css" href="css/popup.css" /> +</head> +<body id="xhtmlxtrasins" style="display: none" role="application" aria-labelledby="app_title"> +<span style="display:none;" id="app_title">{#xhtmlxtras_dlg.title_ins_element}</span> +<form onsubmit="insertIns();return false;" action="#"> + <div class="tabs"> + <ul> + <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.general_tab}</a></span></li> + <!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.events_tab}</a></span></li> --> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="general_panel" class="panel current"> + <fieldset> + <legend>{#xhtmlxtras_dlg.fieldset_general_tab}</legend> + <table role="presentation" border="0" cellpadding="0" cellspacing="4"> + <tr> + <td class="label"><label id="datetimelabel" for="datetime">{#xhtmlxtras_dlg.attribute_label_datetime}</label>:</td> + <td> + <table role="presentation" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input id="datetime" name="datetime" type="text" value="" maxlength="19" class="field mceFocus" /></td> + <td ><a href="javascript:insertDateTime('datetime');" onmousedown="return false;" class="browse" role="button" aria-labelledby="datetimelabel"><span class="datetime" title="{#xhtmlxtras_dlg.insert_date}"></span></a></td> + </tr> + </table> + </td> + </tr> + <tr > + <td class="label"><label id="citelabel" for="cite">{#xhtmlxtras_dlg.attribute_label_cite}</label>:</td> + <td><input id="cite" name="cite" type="text" value="" class="field" /></td> + </tr> + </table> + </fieldset> + <fieldset> + <legend>{#xhtmlxtras_dlg.fieldset_attrib_tab}</legend> + <table role="presentation" border="0" cellpadding="0" cellspacing="4"> + <tr> + <td class="label"><label id="titlelabel" for="title">{#xhtmlxtras_dlg.attribute_label_title}</label>:</td> + <td><input id="title" name="title" type="text" value="" class="field" /></td> + </tr> + <tr> + <td class="label"><label id="idlabel" for="id">{#xhtmlxtras_dlg.attribute_label_id}</label>:</td> + <td><input id="id" name="id" type="text" value="" class="field" /></td> + </tr> + <tr> + <td class="label"><label id="classlabel" for="class">{#xhtmlxtras_dlg.attribute_label_class}</label>:</td> + <td> + <select id="class" name="class" class="field mceEditableSelect"> + <option value="">{#not_set}</option> + </select> + </td> + </tr> + <tr> + <td class="label"><label id="stylelabel" for="style">{#xhtmlxtras_dlg.attribute_label_style}</label>:</td> + <td><input id="style" name="style" type="text" value="" class="field" /></td> + </tr> + <tr> + <td class="label"><label id="dirlabel" for="dir">{#xhtmlxtras_dlg.attribute_label_langdir}</label>:</td> + <td> + <select id="dir" name="dir" class="field"> + <option value="">{#not_set}</option> + <option value="ltr">{#xhtmlxtras_dlg.attribute_option_ltr}</option> + <option value="rtl">{#xhtmlxtras_dlg.attribute_option_rtl}</option> + </select> + </td> + </tr> + <tr> + <td class="label"><label id="langlabel" for="lang">{#xhtmlxtras_dlg.attribute_label_langcode}</label>:</td> + <td> + <input id="lang" name="lang" type="text" value="" class="field" /> + </td> + </tr> + </table> + </fieldset> + </div> + <div id="events_panel" class="panel"> + <fieldset> + <legend>{#xhtmlxtras_dlg.fieldset_events_tab}</legend> + + <table role="presentation" border="0" cellpadding="0" cellspacing="4"> + <tr> + <td class="label"><label for="onfocus">onfocus</label>:</td> + <td><input id="onfocus" name="onfocus" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onblur">onblur</label>:</td> + <td><input id="onblur" name="onblur" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onclick">onclick</label>:</td> + <td><input id="onclick" name="onclick" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="ondblclick">ondblclick</label>:</td> + <td><input id="ondblclick" name="ondblclick" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmousedown">onmousedown</label>:</td> + <td><input id="onmousedown" name="onmousedown" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseup">onmouseup</label>:</td> + <td><input id="onmouseup" name="onmouseup" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseover">onmouseover</label>:</td> + <td><input id="onmouseover" name="onmouseover" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmousemove">onmousemove</label>:</td> + <td><input id="onmousemove" name="onmousemove" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onmouseout">onmouseout</label>:</td> + <td><input id="onmouseout" name="onmouseout" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeypress">onkeypress</label>:</td> + <td><input id="onkeypress" name="onkeypress" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeydown">onkeydown</label>:</td> + <td><input id="onkeydown" name="onkeydown" type="text" value="" class="field" /></td> + </tr> + + <tr> + <td class="label"><label for="onkeyup">onkeyup</label>:</td> + <td><input id="onkeyup" name="onkeyup" type="text" value="" class="field" /></td> + </tr> + </table> + </fieldset> + </div> + </div> + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#update}" /> + <input type="button" id="remove" name="remove" class="button" value="{#xhtmlxtras_dlg.remove}" onclick="removeIns();" style="display: none;" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> +</form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js new file mode 100644 index 00000000..1790e83d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js @@ -0,0 +1,28 @@ +/** + * abbr.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('abbr'); + if (SXE.currentAction == "update") { + SXE.showRemoveButton(); + } +} + +function insertAbbr() { + SXE.insertElement('abbr'); + tinyMCEPopup.close(); +} + +function removeAbbr() { + SXE.removeElement('abbr'); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js new file mode 100644 index 00000000..93b8d259 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js @@ -0,0 +1,28 @@ +/** + * acronym.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('acronym'); + if (SXE.currentAction == "update") { + SXE.showRemoveButton(); + } +} + +function insertAcronym() { + SXE.insertElement('acronym'); + tinyMCEPopup.close(); +} + +function removeAcronym() { + SXE.removeElement('acronym'); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js new file mode 100644 index 00000000..9e9b07e6 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js @@ -0,0 +1,111 @@ +/** + * attributes.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + tinyMCEPopup.resizeToInnerSize(); + var inst = tinyMCEPopup.editor; + var dom = inst.dom; + var elm = inst.selection.getNode(); + var f = document.forms[0]; + var onclick = dom.getAttrib(elm, 'onclick'); + + setFormValue('title', dom.getAttrib(elm, 'title')); + setFormValue('id', dom.getAttrib(elm, 'id')); + setFormValue('style', dom.getAttrib(elm, "style")); + setFormValue('dir', dom.getAttrib(elm, 'dir')); + setFormValue('lang', dom.getAttrib(elm, 'lang')); + setFormValue('tabindex', dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : "")); + setFormValue('accesskey', dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : "")); + setFormValue('onfocus', dom.getAttrib(elm, 'onfocus')); + setFormValue('onblur', dom.getAttrib(elm, 'onblur')); + setFormValue('onclick', onclick); + setFormValue('ondblclick', dom.getAttrib(elm, 'ondblclick')); + setFormValue('onmousedown', dom.getAttrib(elm, 'onmousedown')); + setFormValue('onmouseup', dom.getAttrib(elm, 'onmouseup')); + setFormValue('onmouseover', dom.getAttrib(elm, 'onmouseover')); + setFormValue('onmousemove', dom.getAttrib(elm, 'onmousemove')); + setFormValue('onmouseout', dom.getAttrib(elm, 'onmouseout')); + setFormValue('onkeypress', dom.getAttrib(elm, 'onkeypress')); + setFormValue('onkeydown', dom.getAttrib(elm, 'onkeydown')); + setFormValue('onkeyup', dom.getAttrib(elm, 'onkeyup')); + className = dom.getAttrib(elm, 'class'); + + addClassesToList('classlist', 'advlink_styles'); + selectByValue(f, 'classlist', className, true); + + TinyMCE_EditableSelects.init(); +} + +function setFormValue(name, value) { + if(value && document.forms[0].elements[name]){ + document.forms[0].elements[name].value = value; + } +} + +function insertAction() { + var inst = tinyMCEPopup.editor; + var elm = inst.selection.getNode(); + + setAllAttribs(elm); + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); +} + +function setAttrib(elm, attrib, value) { + var formObj = document.forms[0]; + var valueElm = formObj.elements[attrib.toLowerCase()]; + var inst = tinyMCEPopup.editor; + var dom = inst.dom; + + if (typeof(value) == "undefined" || value == null) { + value = ""; + + if (valueElm) + value = valueElm.value; + } + + dom.setAttrib(elm, attrib.toLowerCase(), value); +} + +function setAllAttribs(elm) { + var f = document.forms[0]; + + setAttrib(elm, 'title'); + setAttrib(elm, 'id'); + setAttrib(elm, 'style'); + setAttrib(elm, 'class', getSelectValue(f, 'classlist')); + setAttrib(elm, 'dir'); + setAttrib(elm, 'lang'); + setAttrib(elm, 'tabindex'); + setAttrib(elm, 'accesskey'); + setAttrib(elm, 'onfocus'); + setAttrib(elm, 'onblur'); + setAttrib(elm, 'onclick'); + setAttrib(elm, 'ondblclick'); + setAttrib(elm, 'onmousedown'); + setAttrib(elm, 'onmouseup'); + setAttrib(elm, 'onmouseover'); + setAttrib(elm, 'onmousemove'); + setAttrib(elm, 'onmouseout'); + setAttrib(elm, 'onkeypress'); + setAttrib(elm, 'onkeydown'); + setAttrib(elm, 'onkeyup'); + + // Refresh in old MSIE +// if (tinyMCE.isMSIE5) +// elm.outerHTML = elm.outerHTML; +} + +function insertAttribute() { + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); +tinyMCEPopup.requireLangPack(); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js new file mode 100644 index 00000000..b73ef473 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js @@ -0,0 +1,28 @@ +/** + * cite.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('cite'); + if (SXE.currentAction == "update") { + SXE.showRemoveButton(); + } +} + +function insertCite() { + SXE.insertElement('cite'); + tinyMCEPopup.close(); +} + +function removeCite() { + SXE.removeElement('cite'); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js new file mode 100644 index 00000000..a5397f7e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js @@ -0,0 +1,53 @@ +/** + * del.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('del'); + if (SXE.currentAction == "update") { + setFormValue('datetime', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'datetime')); + setFormValue('cite', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'cite')); + SXE.showRemoveButton(); + } +} + +function setElementAttribs(elm) { + setAllCommonAttribs(elm); + setAttrib(elm, 'datetime'); + setAttrib(elm, 'cite'); + elm.removeAttribute('data-mce-new'); +} + +function insertDel() { + var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'DEL'); + + if (elm == null) { + var s = SXE.inst.selection.getContent(); + if(s.length > 0) { + insertInlineElement('del'); + var elementArray = SXE.inst.dom.select('del[data-mce-new]'); + for (var i=0; i<elementArray.length; i++) { + var elm = elementArray[i]; + setElementAttribs(elm); + } + } + } else { + setElementAttribs(elm); + } + tinyMCEPopup.editor.nodeChanged(); + tinyMCEPopup.execCommand('mceEndUndoLevel'); + tinyMCEPopup.close(); +} + +function removeDel() { + SXE.removeElement('del'); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js new file mode 100644 index 00000000..6df1b775 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js @@ -0,0 +1,229 @@ +/** + * element_common.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +tinyMCEPopup.requireLangPack(); + +function initCommonAttributes(elm) { + var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom; + + // Setup form data for common element attributes + setFormValue('title', dom.getAttrib(elm, 'title')); + setFormValue('id', dom.getAttrib(elm, 'id')); + selectByValue(formObj, 'class', dom.getAttrib(elm, 'class'), true); + setFormValue('style', dom.getAttrib(elm, 'style')); + selectByValue(formObj, 'dir', dom.getAttrib(elm, 'dir')); + setFormValue('lang', dom.getAttrib(elm, 'lang')); + setFormValue('onfocus', dom.getAttrib(elm, 'onfocus')); + setFormValue('onblur', dom.getAttrib(elm, 'onblur')); + setFormValue('onclick', dom.getAttrib(elm, 'onclick')); + setFormValue('ondblclick', dom.getAttrib(elm, 'ondblclick')); + setFormValue('onmousedown', dom.getAttrib(elm, 'onmousedown')); + setFormValue('onmouseup', dom.getAttrib(elm, 'onmouseup')); + setFormValue('onmouseover', dom.getAttrib(elm, 'onmouseover')); + setFormValue('onmousemove', dom.getAttrib(elm, 'onmousemove')); + setFormValue('onmouseout', dom.getAttrib(elm, 'onmouseout')); + setFormValue('onkeypress', dom.getAttrib(elm, 'onkeypress')); + setFormValue('onkeydown', dom.getAttrib(elm, 'onkeydown')); + setFormValue('onkeyup', dom.getAttrib(elm, 'onkeyup')); +} + +function setFormValue(name, value) { + if(document.forms[0].elements[name]) document.forms[0].elements[name].value = value; +} + +function insertDateTime(id) { + document.getElementById(id).value = getDateTime(new Date(), "%Y-%m-%dT%H:%M:%S"); +} + +function getDateTime(d, fmt) { + fmt = fmt.replace("%D", "%m/%d/%y"); + fmt = fmt.replace("%r", "%I:%M:%S %p"); + fmt = fmt.replace("%Y", "" + d.getFullYear()); + fmt = fmt.replace("%y", "" + d.getYear()); + fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2)); + fmt = fmt.replace("%d", addZeros(d.getDate(), 2)); + fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2)); + fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2)); + fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2)); + fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1)); + fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM")); + fmt = fmt.replace("%%", "%"); + + return fmt; +} + +function addZeros(value, len) { + var i; + + value = "" + value; + + if (value.length < len) { + for (i=0; i<(len-value.length); i++) + value = "0" + value; + } + + return value; +} + +function selectByValue(form_obj, field_name, value, add_custom, ignore_case) { + if (!form_obj || !form_obj.elements[field_name]) + return; + + var sel = form_obj.elements[field_name]; + + var found = false; + for (var i=0; i<sel.options.length; i++) { + var option = sel.options[i]; + + if (option.value == value || (ignore_case && option.value.toLowerCase() == value.toLowerCase())) { + option.selected = true; + found = true; + } else + option.selected = false; + } + + if (!found && add_custom && value != '') { + var option = new Option('Value: ' + value, value); + option.selected = true; + sel.options[sel.options.length] = option; + } + + return found; +} + +function setAttrib(elm, attrib, value) { + var formObj = document.forms[0]; + var valueElm = formObj.elements[attrib.toLowerCase()]; + tinyMCEPopup.editor.dom.setAttrib(elm, attrib, value || valueElm.value); +} + +function setAllCommonAttribs(elm) { + setAttrib(elm, 'title'); + setAttrib(elm, 'id'); + setAttrib(elm, 'class'); + setAttrib(elm, 'style'); + setAttrib(elm, 'dir'); + setAttrib(elm, 'lang'); + /*setAttrib(elm, 'onfocus'); + setAttrib(elm, 'onblur'); + setAttrib(elm, 'onclick'); + setAttrib(elm, 'ondblclick'); + setAttrib(elm, 'onmousedown'); + setAttrib(elm, 'onmouseup'); + setAttrib(elm, 'onmouseover'); + setAttrib(elm, 'onmousemove'); + setAttrib(elm, 'onmouseout'); + setAttrib(elm, 'onkeypress'); + setAttrib(elm, 'onkeydown'); + setAttrib(elm, 'onkeyup');*/ +} + +SXE = { + currentAction : "insert", + inst : tinyMCEPopup.editor, + updateElement : null +} + +SXE.focusElement = SXE.inst.selection.getNode(); + +SXE.initElementDialog = function(element_name) { + addClassesToList('class', 'xhtmlxtras_styles'); + TinyMCE_EditableSelects.init(); + + element_name = element_name.toLowerCase(); + var elm = SXE.inst.dom.getParent(SXE.focusElement, element_name.toUpperCase()); + if (elm != null && elm.nodeName.toUpperCase() == element_name.toUpperCase()) { + SXE.currentAction = "update"; + } + + if (SXE.currentAction == "update") { + initCommonAttributes(elm); + SXE.updateElement = elm; + } + + document.forms[0].insert.value = tinyMCEPopup.getLang(SXE.currentAction, 'Insert', true); +} + +SXE.insertElement = function(element_name) { + var elm = SXE.inst.dom.getParent(SXE.focusElement, element_name.toUpperCase()), h, tagName; + + if (elm == null) { + var s = SXE.inst.selection.getContent(); + if(s.length > 0) { + tagName = element_name; + + insertInlineElement(element_name); + var elementArray = tinymce.grep(SXE.inst.dom.select(element_name)); + for (var i=0; i<elementArray.length; i++) { + var elm = elementArray[i]; + + if (SXE.inst.dom.getAttrib(elm, 'data-mce-new')) { + elm.id = ''; + elm.setAttribute('id', ''); + elm.removeAttribute('id'); + elm.removeAttribute('data-mce-new'); + + setAllCommonAttribs(elm); + } + } + } + } else { + setAllCommonAttribs(elm); + } + SXE.inst.nodeChanged(); + tinyMCEPopup.execCommand('mceEndUndoLevel'); +} + +SXE.removeElement = function(element_name){ + element_name = element_name.toLowerCase(); + elm = SXE.inst.dom.getParent(SXE.focusElement, element_name.toUpperCase()); + if(elm && elm.nodeName.toUpperCase() == element_name.toUpperCase()){ + tinyMCE.execCommand('mceRemoveNode', false, elm); + SXE.inst.nodeChanged(); + tinyMCEPopup.execCommand('mceEndUndoLevel'); + } +} + +SXE.showRemoveButton = function() { + document.getElementById("remove").style.display = ''; +} + +SXE.containsClass = function(elm,cl) { + return (elm.className.indexOf(cl) > -1) ? true : false; +} + +SXE.removeClass = function(elm,cl) { + if(elm.className == null || elm.className == "" || !SXE.containsClass(elm,cl)) { + return true; + } + var classNames = elm.className.split(" "); + var newClassNames = ""; + for (var x = 0, cnl = classNames.length; x < cnl; x++) { + if (classNames[x] != cl) { + newClassNames += (classNames[x] + " "); + } + } + elm.className = newClassNames.substring(0,newClassNames.length-1); //removes extra space at the end +} + +SXE.addClass = function(elm,cl) { + if(!SXE.containsClass(elm,cl)) elm.className ? elm.className += " " + cl : elm.className = cl; + return true; +} + +function insertInlineElement(en) { + var ed = tinyMCEPopup.editor, dom = ed.dom; + + ed.getDoc().execCommand('FontName', false, 'mceinline'); + tinymce.each(dom.select('span,font'), function(n) { + if (n.style.fontFamily == 'mceinline' || n.face == 'mceinline') + dom.replace(dom.create(en, {'data-mce-new' : 1}), n, 1); + }); +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js new file mode 100644 index 00000000..71a8a261 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js @@ -0,0 +1,53 @@ +/** + * ins.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('ins'); + if (SXE.currentAction == "update") { + setFormValue('datetime', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'datetime')); + setFormValue('cite', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'cite')); + SXE.showRemoveButton(); + } +} + +function setElementAttribs(elm) { + setAllCommonAttribs(elm); + setAttrib(elm, 'datetime'); + setAttrib(elm, 'cite'); + elm.removeAttribute('data-mce-new'); +} + +function insertIns() { + var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'INS'); + + if (elm == null) { + var s = SXE.inst.selection.getContent(); + if(s.length > 0) { + insertInlineElement('ins'); + var elementArray = SXE.inst.dom.select('ins[data-mce-new]'); + for (var i=0; i<elementArray.length; i++) { + var elm = elementArray[i]; + setElementAttribs(elm); + } + } + } else { + setElementAttribs(elm); + } + tinyMCEPopup.editor.nodeChanged(); + tinyMCEPopup.execCommand('mceEndUndoLevel'); + tinyMCEPopup.close(); +} + +function removeIns() { + SXE.removeElement('ins'); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js new file mode 100644 index 00000000..ee601670 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js @@ -0,0 +1,32 @@ +tinyMCE.addI18n('en.xhtmlxtras_dlg',{ +attribute_label_title:"Title", +attribute_label_id:"ID", +attribute_label_class:"Class", +attribute_label_style:"Style", +attribute_label_cite:"Cite", +attribute_label_datetime:"Date/Time", +attribute_label_langdir:"Text Direction", +attribute_option_ltr:"Left to right", +attribute_option_rtl:"Right to left", +attribute_label_langcode:"Language", +attribute_label_tabindex:"TabIndex", +attribute_label_accesskey:"AccessKey", +attribute_events_tab:"Events", +attribute_attrib_tab:"Attributes", +general_tab:"General", +attrib_tab:"Attributes", +events_tab:"Events", +fieldset_general_tab:"General Settings", +fieldset_attrib_tab:"Element Attributes", +fieldset_events_tab:"Element Events", +title_ins_element:"Insertion Element", +title_del_element:"Deletion Element", +title_acronym_element:"Acronym Element", +title_abbr_element:"Abbreviation Element", +title_cite_element:"Citation Element", +remove:"Remove", +insert_date:"Insert current date/time", +option_ltr:"Left to right", +option_rtl:"Right to left", +attribs_title:"Insert/Edit Attributes" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/about.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/about.htm new file mode 100644 index 00000000..fe366037 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/about.htm @@ -0,0 +1,52 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#advanced_dlg.about_title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="js/about.js"></script> +</head> +<body id="about" style="display: none"> + <div class="tabs"> + <ul> + <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advanced_dlg.about_general}</a></span></li> + <li id="help_tab" style="display:none" aria-hidden="true" aria-controls="help_panel"><span><a href="javascript:mcTabs.displayTab('help_tab','help_panel');" onmousedown="return false;">{#advanced_dlg.about_help}</a></span></li> + <li id="plugins_tab" aria-controls="plugins_panel"><span><a href="javascript:mcTabs.displayTab('plugins_tab','plugins_panel');" onmousedown="return false;">{#advanced_dlg.about_plugins}</a></span></li> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="general_panel" class="panel current"> + <h3>{#advanced_dlg.about_title}</h3> + <p>Version: <span id="version"></span> (<span id="date"></span>)</p> + <p>TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under <a href="../../license.txt" target="_blank">LGPL</a> + by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.</p> + <p>Copyright © 2003-2008, <a href="http://www.moxiecode.com" target="_blank">Moxiecode Systems AB</a>, All rights reserved.</p> + <p>For more information about this software visit the <a href="http://tinymce.moxiecode.com" target="_blank">TinyMCE website</a>.</p> + + <div id="buttoncontainer"> + <a href="http://www.moxiecode.com" target="_blank"><img src="http://tinymce.moxiecode.com/images/gotmoxie.png" alt="Got Moxie?" border="0" /></a> + </div> + </div> + + <div id="plugins_panel" class="panel"> + <div id="pluginscontainer"> + <h3>{#advanced_dlg.about_loaded}</h3> + + <div id="plugintablecontainer"> + </div> + + <p> </p> + </div> + </div> + + <div id="help_panel" class="panel noscroll" style="overflow: visible;"> + <div id="iframecontainer"></div> + </div> + </div> + + <div class="mceActionPanel"> + <input type="button" id="cancel" name="cancel" value="{#close}" onclick="tinyMCEPopup.close();" /> + </div> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/anchor.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/anchor.htm new file mode 100644 index 00000000..dc53312d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/anchor.htm @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#advanced_dlg.anchor_title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="js/anchor.js"></script> +</head> +<body style="display: none" role="application" aria-labelledby="app_title"> +<form onsubmit="AnchorDialog.update();return false;" action="#"> + <table border="0" cellpadding="4" cellspacing="0" role="presentation"> + <tr> + <td colspan="2" class="title" id="app_title">{#advanced_dlg.anchor_title}</td> + </tr> + <tr> + <td class="nowrap"><label for="anchorName">{#advanced_dlg.anchor_name}:</label></td> + <td><input name="anchorName" type="text" class="mceFocus" id="anchorName" value="" style="width: 200px" aria-required="true" /></td> + </tr> + </table> + + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#update}" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> +</form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/charmap.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/charmap.htm new file mode 100644 index 00000000..8f172f3b --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/charmap.htm @@ -0,0 +1,51 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#advanced_dlg.charmap_title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="js/charmap.js"></script> +</head> +<body id="charmap" style="display:none"> +<table align="center" border="0" cellspacing="0" cellpadding="2" role="presentation"> + <tr> + <td colspan="2" class="title" ><label for="charmapView" id="charmap_label">{#advanced_dlg.charmap_title}</label></td> + </tr> + <tr> + <td id="charmapView" rowspan="2" align="left" valign="top"> + <!-- Chars will be rendered here --> + </td> + <td width="100" align="center" valign="top"> + <table border="0" cellpadding="0" cellspacing="0" width="100" style="height:100px" role="presentation"> + <tr> + <td id="codeV"> </td> + </tr> + <tr> + <td id="codeN"> </td> + </tr> + </table> + </td> + </tr> + <tr> + <td valign="bottom" style="padding-bottom: 3px;"> + <table width="100" align="center" border="0" cellpadding="2" cellspacing="0" role="presentation"> + <tr> + <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;"><label for="codeA">HTML-Code</label></td> + </tr> + <tr> + <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeA" align="center"> </td> + </tr> + <tr> + <td style="font-size: 1px;"> </td> + </tr> + <tr> + <td align="center" style="border-left: 1px solid #666699; border-top: 1px solid #666699; border-right: 1px solid #666699;"><label for="codeB">NUM-Code</label></td> + </tr> + <tr> + <td style="font-size: 16px; font-weight: bold; border-left: 1px solid #666699; border-bottom: 1px solid #666699; border-right: 1px solid #666699;" id="codeB" align="center"> </td> + </tr> + </table> + </td> + </tr> +</table> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/color_picker.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/color_picker.htm new file mode 100644 index 00000000..e7f19aba --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/color_picker.htm @@ -0,0 +1,74 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#advanced_dlg.colorpicker_title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="js/color_picker.js"></script> +</head> +<body id="colorpicker" style="display: none" role="application" aria-labelledby="app_label"> + <span class="mceVoiceLabel" id="app_label" style="display:none;">{#advanced_dlg.colorpicker_title}</span> +<form onsubmit="insertAction();return false" action="#"> + <div class="tabs"> + <ul> + <li id="picker_tab" aria-controls="picker_panel" class="current"><span><a href="javascript:mcTabs.displayTab('picker_tab','picker_panel');" onmousedown="return false;">{#advanced_dlg.colorpicker_picker_tab}</a></span></li> + <li id="rgb_tab" aria-controls="rgb_panel"><span><a href="javascript:;" onclick="mcTabs.displayTab('rgb_tab','rgb_panel');" onmousedown="return false;">{#advanced_dlg.colorpicker_palette_tab}</a></span></li> + <li id="named_tab" aria-controls="named_panel"><span><a href="javascript:;" onclick="javascript:mcTabs.displayTab('named_tab','named_panel');" onmousedown="return false;">{#advanced_dlg.colorpicker_named_tab}</a></span></li> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="picker_panel" class="panel current"> + <fieldset> + <legend>{#advanced_dlg.colorpicker_picker_title}</legend> + <div id="picker"> + <img id="colors" src="img/colorpicker.jpg" onclick="computeColor(event)" onmousedown="isMouseDown = true;return false;" onmouseup="isMouseDown = false;" onmousemove="if (isMouseDown && isMouseOver) computeColor(event); return false;" onmouseover="isMouseOver=true;" onmouseout="isMouseOver=false;" alt="" /> + + <div id="light"> + <!-- Will be filled with divs --> + </div> + + <br style="clear: both" /> + </div> + </fieldset> + </div> + + <div id="rgb_panel" class="panel"> + <fieldset> + <legend id="webcolors_title">{#advanced_dlg.colorpicker_palette_title}</legend> + <div id="webcolors"> + <!-- Gets filled with web safe colors--> + </div> + + <br style="clear: both" /> + </fieldset> + </div> + + <div id="named_panel" class="panel"> + <fieldset id="named_picker_label"> + <legend id="named_title">{#advanced_dlg.colorpicker_named_title}</legend> + <div id="namedcolors" role="listbox" tabindex="0" aria-labelledby="named_picker_label"> + <!-- Gets filled with named colors--> + </div> + + <br style="clear: both" /> + + <div id="colornamecontainer"> + {#advanced_dlg.colorpicker_name} <span id="colorname"></span> + </div> + </fieldset> + </div> + </div> + + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#apply}" /> + + <div id="preview"></div> + + <div id="previewblock"> + <label for="color">{#advanced_dlg.colorpicker_color}</label> <input id="color" type="text" size="8" class="text mceFocus" aria-required="true" /> + </div> + </div> +</form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/editor_template.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/editor_template.js new file mode 100644 index 00000000..7f30c18e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/editor_template.js @@ -0,0 +1 @@ +(function(e){var d=e.DOM,b=e.dom.Event,h=e.extend,f=e.each,a=e.util.Cookie,g,c=e.explode;e.ThemeManager.requireLangPack("advanced");e.create("tinymce.themes.AdvancedTheme",{sizes:[8,10,12,14,18,24,36],controls:{bold:["bold_desc","Bold"],italic:["italic_desc","Italic"],underline:["underline_desc","Underline"],strikethrough:["striketrough_desc","Strikethrough"],justifyleft:["justifyleft_desc","JustifyLeft"],justifycenter:["justifycenter_desc","JustifyCenter"],justifyright:["justifyright_desc","JustifyRight"],justifyfull:["justifyfull_desc","JustifyFull"],bullist:["bullist_desc","InsertUnorderedList"],numlist:["numlist_desc","InsertOrderedList"],outdent:["outdent_desc","Outdent"],indent:["indent_desc","Indent"],cut:["cut_desc","Cut"],copy:["copy_desc","Copy"],paste:["paste_desc","Paste"],undo:["undo_desc","Undo"],redo:["redo_desc","Redo"],link:["link_desc","mceLink"],unlink:["unlink_desc","unlink"],image:["image_desc","mceImage"],cleanup:["cleanup_desc","mceCleanup"],help:["help_desc","mceHelp"],code:["code_desc","mceCodeEditor"],hr:["hr_desc","InsertHorizontalRule"],removeformat:["removeformat_desc","RemoveFormat"],sub:["sub_desc","subscript"],sup:["sup_desc","superscript"],forecolor:["forecolor_desc","ForeColor"],forecolorpicker:["forecolor_desc","mceForeColor"],backcolor:["backcolor_desc","HiliteColor"],backcolorpicker:["backcolor_desc","mceBackColor"],charmap:["charmap_desc","mceCharMap"],visualaid:["visualaid_desc","mceToggleVisualAid"],anchor:["anchor_desc","mceInsertAnchor"],newdocument:["newdocument_desc","mceNewDocument"],blockquote:["blockquote_desc","mceBlockQuote"]},stateControls:["bold","italic","underline","strikethrough","bullist","numlist","justifyleft","justifycenter","justifyright","justifyfull","sub","sup","blockquote"],init:function(j,k){var l=this,m,i,n;l.editor=j;l.url=k;l.onResolveName=new e.util.Dispatcher(this);j.forcedHighContrastMode=j.settings.detect_highcontrast&&l._isHighContrast();j.settings.skin=j.forcedHighContrastMode?"highcontrast":j.settings.skin;l.settings=m=h({theme_advanced_path:true,theme_advanced_toolbar_location:"bottom",theme_advanced_buttons1:"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,|,sub,sup,|,charmap",theme_advanced_blockformats:"p,address,pre,h1,h2,h3,h4,h5,h6",theme_advanced_toolbar_align:"center",theme_advanced_fonts:"Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",theme_advanced_more_colors:1,theme_advanced_row_height:23,theme_advanced_resize_horizontal:1,theme_advanced_resizing_use_cookie:1,theme_advanced_font_sizes:"1,2,3,4,5,6,7",theme_advanced_font_selector:"span",theme_advanced_show_current_color:0,readonly:j.settings.readonly},j.settings);if(!m.font_size_style_values){m.font_size_style_values="8pt,10pt,12pt,14pt,18pt,24pt,36pt"}if(e.is(m.theme_advanced_font_sizes,"string")){m.font_size_style_values=e.explode(m.font_size_style_values);m.font_size_classes=e.explode(m.font_size_classes||"");n={};j.settings.theme_advanced_font_sizes=m.theme_advanced_font_sizes;f(j.getParam("theme_advanced_font_sizes","","hash"),function(q,p){var o;if(p==q&&q>=1&&q<=7){p=q+" ("+l.sizes[q-1]+"pt)";o=m.font_size_classes[q-1];q=m.font_size_style_values[q-1]||(l.sizes[q-1]+"pt")}if(/^\s*\./.test(q)){o=q.replace(/\./g,"")}n[p]=o?{"class":o}:{fontSize:q}});m.theme_advanced_font_sizes=n}if((i=m.theme_advanced_path_location)&&i!="none"){m.theme_advanced_statusbar_location=m.theme_advanced_path_location}if(m.theme_advanced_statusbar_location=="none"){m.theme_advanced_statusbar_location=0}if(j.settings.content_css!==false){j.contentCSS.push(j.baseURI.toAbsolute(k+"/skins/"+j.settings.skin+"/content.css"))}j.onInit.add(function(){if(!j.settings.readonly){j.onNodeChange.add(l._nodeChanged,l);j.onKeyUp.add(l._updateUndoStatus,l);j.onMouseUp.add(l._updateUndoStatus,l);j.dom.bind(j.dom.getRoot(),"dragend",function(){l._updateUndoStatus(j)})}});j.onSetProgressState.add(function(q,o,r){var s,t=q.id,p;if(o){l.progressTimer=setTimeout(function(){s=q.getContainer();s=s.insertBefore(d.create("DIV",{style:"position:relative"}),s.firstChild);p=d.get(q.id+"_tbl");d.add(s,"div",{id:t+"_blocker","class":"mceBlocker",style:{width:p.clientWidth+2,height:p.clientHeight+2}});d.add(s,"div",{id:t+"_progress","class":"mceProgress",style:{left:p.clientWidth/2,top:p.clientHeight/2}})},r||0)}else{d.remove(t+"_blocker");d.remove(t+"_progress");clearTimeout(l.progressTimer)}});d.loadCSS(m.editor_css?j.documentBaseURI.toAbsolute(m.editor_css):k+"/skins/"+j.settings.skin+"/ui.css");if(m.skin_variant){d.loadCSS(k+"/skins/"+j.settings.skin+"/ui_"+m.skin_variant+".css")}},_isHighContrast:function(){var i,j=d.add(d.getRoot(),"div",{style:"background-color: rgb(171,239,86);"});i=(d.getStyle(j,"background-color",true)+"").toLowerCase().replace(/ /g,"");d.remove(j);return i!="rgb(171,239,86)"&&i!="#abef56"},createControl:function(l,i){var j,k;if(k=i.createControl(l)){return k}switch(l){case"styleselect":return this._createStyleSelect();case"formatselect":return this._createBlockFormats();case"fontselect":return this._createFontSelect();case"fontsizeselect":return this._createFontSizeSelect();case"forecolor":return this._createForeColorMenu();case"backcolor":return this._createBackColorMenu()}if((j=this.controls[l])){return i.createButton(l,{title:"advanced."+j[0],cmd:j[1],ui:j[2],value:j[3]})}},execCommand:function(k,j,l){var i=this["_"+k];if(i){i.call(this,j,l);return true}return false},_importClasses:function(k){var i=this.editor,j=i.controlManager.get("styleselect");if(j.getLength()==0){f(i.dom.getClasses(),function(n,l){var m="style_"+l;i.formatter.register(m,{inline:"span",attributes:{"class":n["class"]},selector:"*"});j.add(n["class"],m)})}},_createStyleSelect:function(m){var k=this,i=k.editor,j=i.controlManager,l;l=j.createListBox("styleselect",{title:"advanced.style_select",onselect:function(o){var p,n=[];f(l.items,function(q){n.push(q.value)});i.focus();i.undoManager.add();p=i.formatter.matchAll(n);if(!o||p[0]==o){if(p[0]){i.formatter.remove(p[0])}}else{i.formatter.apply(o)}i.undoManager.add();i.nodeChanged();return false}});i.onInit.add(function(){var o=0,n=i.getParam("style_formats");if(n){f(n,function(p){var q,r=0;f(p,function(){r++});if(r>1){q=p.name=p.name||"style_"+(o++);i.formatter.register(q,p);l.add(p.title,q)}else{l.add(p.title)}})}else{f(i.getParam("theme_advanced_styles","","hash"),function(r,q){var p;if(r){p="style_"+(o++);i.formatter.register(p,{inline:"span",classes:r,selector:"*"});l.add(k.editor.translate(q),p)}})}});if(l.getLength()==0){l.onPostRender.add(function(o,p){if(!l.NativeListBox){b.add(p.id+"_text","focus",k._importClasses,k);b.add(p.id+"_text","mousedown",k._importClasses,k);b.add(p.id+"_open","focus",k._importClasses,k);b.add(p.id+"_open","mousedown",k._importClasses,k)}else{b.add(p.id,"focus",k._importClasses,k)}})}return l},_createFontSelect:function(){var k,j=this,i=j.editor;k=i.controlManager.createListBox("fontselect",{title:"advanced.fontdefault",onselect:function(l){var m=k.items[k.selectedIndex];if(!l&&m){i.execCommand("FontName",false,m.value);return}i.execCommand("FontName",false,l);k.select(function(n){return l==n});if(m&&m.value==l){k.select(null)}return false}});if(k){f(i.getParam("theme_advanced_fonts",j.settings.theme_advanced_fonts,"hash"),function(m,l){k.add(i.translate(l),m,{style:m.indexOf("dings")==-1?"font-family:"+m:""})})}return k},_createFontSizeSelect:function(){var m=this,k=m.editor,n,l=0,j=[];n=k.controlManager.createListBox("fontsizeselect",{title:"advanced.font_size",onselect:function(i){var o=n.items[n.selectedIndex];if(!i&&o){o=o.value;if(o["class"]){k.formatter.toggle("fontsize_class",{value:o["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,o.fontSize)}return}if(i["class"]){k.focus();k.undoManager.add();k.formatter.toggle("fontsize_class",{value:i["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,i.fontSize)}n.select(function(p){return i==p});if(o&&(o.value.fontSize==i.fontSize||o.value["class"]==i["class"])){n.select(null)}return false}});if(n){f(m.settings.theme_advanced_font_sizes,function(o,i){var p=o.fontSize;if(p>=1&&p<=7){p=m.sizes[parseInt(p)-1]+"pt"}n.add(i,o,{style:"font-size:"+p,"class":"mceFontSize"+(l++)+(" "+(o["class"]||""))})})}return n},_createBlockFormats:function(){var k,i={p:"advanced.paragraph",address:"advanced.address",pre:"advanced.pre",h1:"advanced.h1",h2:"advanced.h2",h3:"advanced.h3",h4:"advanced.h4",h5:"advanced.h5",h6:"advanced.h6",div:"advanced.div",blockquote:"advanced.blockquote",code:"advanced.code",dt:"advanced.dt",dd:"advanced.dd",samp:"advanced.samp"},j=this;k=j.editor.controlManager.createListBox("formatselect",{title:"advanced.block",onselect:function(l){j.editor.execCommand("FormatBlock",false,l);return false}});if(k){f(j.editor.getParam("theme_advanced_blockformats",j.settings.theme_advanced_blockformats,"hash"),function(m,l){k.add(j.editor.translate(l!=m?l:i[m]),m,{"class":"mce_formatPreview mce_"+m})})}return k},_createForeColorMenu:function(){var m,j=this,k=j.settings,l={},i;if(k.theme_advanced_more_colors){l.more_colors_func=function(){j._mceColorPicker(0,{color:m.value,func:function(n){m.setColor(n)}})}}if(i=k.theme_advanced_text_colors){l.colors=i}if(k.theme_advanced_default_foreground_color){l.default_color=k.theme_advanced_default_foreground_color}l.title="advanced.forecolor_desc";l.cmd="ForeColor";l.scope=this;m=j.editor.controlManager.createColorSplitButton("forecolor",l);return m},_createBackColorMenu:function(){var m,j=this,k=j.settings,l={},i;if(k.theme_advanced_more_colors){l.more_colors_func=function(){j._mceColorPicker(0,{color:m.value,func:function(n){m.setColor(n)}})}}if(i=k.theme_advanced_background_colors){l.colors=i}if(k.theme_advanced_default_background_color){l.default_color=k.theme_advanced_default_background_color}l.title="advanced.backcolor_desc";l.cmd="HiliteColor";l.scope=this;m=j.editor.controlManager.createColorSplitButton("backcolor",l);return m},renderUI:function(k){var m,l,q,v=this,r=v.editor,w=v.settings,u,j,i;if(r.settings){r.settings.aria_label=w.aria_label+r.getLang("advanced.help_shortcut")}m=j=d.create("span",{role:"application","aria-labelledby":r.id+"_voice",id:r.id+"_parent","class":"mceEditor "+r.settings.skin+"Skin"+(w.skin_variant?" "+r.settings.skin+"Skin"+v._ufirst(w.skin_variant):"")});d.add(m,"span",{"class":"mceVoiceLabel",style:"display:none;",id:r.id+"_voice"},w.aria_label);if(!d.boxModel){m=d.add(m,"div",{"class":"mceOldBoxModel"})}m=u=d.add(m,"table",{role:"presentation",id:r.id+"_tbl","class":"mceLayout",cellSpacing:0,cellPadding:0});m=q=d.add(m,"tbody");switch((w.theme_advanced_layout_manager||"").toLowerCase()){case"rowlayout":l=v._rowLayout(w,q,k);break;case"customlayout":l=r.execCallback("theme_advanced_custom_layout",w,q,k,j);break;default:l=v._simpleLayout(w,q,k,j)}m=k.targetNode;i=u.rows;d.addClass(i[0],"mceFirst");d.addClass(i[i.length-1],"mceLast");f(d.select("tr",q),function(o){d.addClass(o.firstChild,"mceFirst");d.addClass(o.childNodes[o.childNodes.length-1],"mceLast")});if(d.get(w.theme_advanced_toolbar_container)){d.get(w.theme_advanced_toolbar_container).appendChild(j)}else{d.insertAfter(j,m)}b.add(r.id+"_path_row","click",function(n){n=n.target;if(n.nodeName=="A"){v._sel(n.className.replace(/^.*mcePath_([0-9]+).*$/,"$1"));return b.cancel(n)}});if(!r.getParam("accessibility_focus")){b.add(d.add(j,"a",{href:"#"},"<!-- IE -->"),"focus",function(){tinyMCE.get(r.id).focus()})}if(w.theme_advanced_toolbar_location=="external"){k.deltaHeight=0}v.deltaHeight=k.deltaHeight;k.targetNode=null;r.onKeyDown.add(function(p,n){var s=121,o=122;if(n.altKey){if(n.keyCode===s){window.focus();v.toolbarGroup.focus();return b.cancel(n)}else{if(n.keyCode===o){d.get(p.id+"_path_row").focus();return b.cancel(n)}}}});r.addShortcut("alt+0","","mceShortcuts",v);return{iframeContainer:l,editorContainer:r.id+"_parent",sizeContainer:u,deltaHeight:k.deltaHeight}},getInfo:function(){return{longname:"Advanced theme",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",version:e.majorVersion+"."+e.minorVersion}},resizeBy:function(i,j){var k=d.get(this.editor.id+"_ifr");this.resizeTo(k.clientWidth+i,k.clientHeight+j)},resizeTo:function(i,m,k){var j=this.editor,l=this.settings,n=d.get(j.id+"_tbl"),o=d.get(j.id+"_ifr");i=Math.max(l.theme_advanced_resizing_min_width||100,i);m=Math.max(l.theme_advanced_resizing_min_height||100,m);i=Math.min(l.theme_advanced_resizing_max_width||65535,i);m=Math.min(l.theme_advanced_resizing_max_height||65535,m);d.setStyle(n,"height","");d.setStyle(o,"height",m);if(l.theme_advanced_resize_horizontal){d.setStyle(n,"width","");d.setStyle(o,"width",i);if(i<n.clientWidth){i=n.clientWidth;d.setStyle(o,"width",n.clientWidth)}}if(k&&l.theme_advanced_resizing_use_cookie){a.setHash("TinyMCE_"+j.id+"_size",{cw:i,ch:m})}},destroy:function(){var i=this.editor.id;b.clear(i+"_resize");b.clear(i+"_path_row");b.clear(i+"_external_close")},_simpleLayout:function(y,r,k,i){var x=this,u=x.editor,v=y.theme_advanced_toolbar_location,m=y.theme_advanced_statusbar_location,l,j,q,w;if(y.readonly){l=d.add(r,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"});return j}if(v=="top"){x._addToolbars(r,k)}if(v=="external"){l=w=d.create("div",{style:"position:relative"});l=d.add(l,"div",{id:u.id+"_external","class":"mceExternalToolbar"});d.add(l,"a",{id:u.id+"_external_close",href:"javascript:;","class":"mceExternalClose"});l=d.add(l,"table",{id:u.id+"_tblext",cellSpacing:0,cellPadding:0});q=d.add(l,"tbody");if(i.firstChild.className=="mceOldBoxModel"){i.firstChild.appendChild(w)}else{i.insertBefore(w,i.firstChild)}x._addToolbars(q,k);u.onMouseUp.add(function(){var o=d.get(u.id+"_external");d.show(o);d.hide(g);var n=b.add(u.id+"_external_close","click",function(){d.hide(u.id+"_external");b.remove(u.id+"_external_close","click",n)});d.show(o);d.setStyle(o,"top",0-d.getRect(u.id+"_tblext").h-1);d.hide(o);d.show(o);o.style.filter="";g=u.id+"_external";o=null})}if(m=="top"){x._addStatusBar(r,k)}if(!y.theme_advanced_toolbar_container){l=d.add(r,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"})}if(v=="bottom"){x._addToolbars(r,k)}if(m=="bottom"){x._addStatusBar(r,k)}return j},_rowLayout:function(w,m,k){var v=this,p=v.editor,u,x,i=p.controlManager,l,j,r,q;u=w.theme_advanced_containers_default_class||"";x=w.theme_advanced_containers_default_align||"center";f(c(w.theme_advanced_containers||""),function(s,o){var n=w["theme_advanced_container_"+s]||"";switch(s.toLowerCase()){case"mceeditor":l=d.add(m,"tr");l=j=d.add(l,"td",{"class":"mceIframeContainer"});break;case"mceelementpath":v._addStatusBar(m,k);break;default:q=(w["theme_advanced_container_"+s+"_align"]||x).toLowerCase();q="mce"+v._ufirst(q);l=d.add(d.add(m,"tr"),"td",{"class":"mceToolbar "+(w["theme_advanced_container_"+s+"_class"]||u)+" "+q||x});r=i.createToolbar("toolbar"+o);v._addControls(n,r);d.setHTML(l,r.renderHTML());k.deltaHeight-=w.theme_advanced_row_height}});return j},_addControls:function(j,i){var k=this,l=k.settings,m,n=k.editor.controlManager;if(l.theme_advanced_disable&&!k._disabled){m={};f(c(l.theme_advanced_disable),function(o){m[o]=1});k._disabled=m}else{m=k._disabled}f(c(j),function(p){var o;if(m&&m[p]){return}if(p=="tablecontrols"){f(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"],function(q){q=k.createControl(q,n);if(q){i.add(q)}});return}o=k.createControl(p,n);if(o){i.add(o)}})},_addToolbars:function(x,k){var A=this,p,m,r=A.editor,B=A.settings,z,j=r.controlManager,u,l,q=[],y,w;w=j.createToolbarGroup("toolbargroup",{name:r.getLang("advanced.toolbar"),tab_focus_toolbar:r.getParam("theme_advanced_tab_focus_toolbar")});A.toolbarGroup=w;y=B.theme_advanced_toolbar_align.toLowerCase();y="mce"+A._ufirst(y);l=d.add(d.add(x,"tr",{role:"presentation"}),"td",{"class":"mceToolbar "+y,role:"presentation"});for(p=1;(z=B["theme_advanced_buttons"+p]);p++){m=j.createToolbar("toolbar"+p,{"class":"mceToolbarRow"+p});if(B["theme_advanced_buttons"+p+"_add"]){z+=","+B["theme_advanced_buttons"+p+"_add"]}if(B["theme_advanced_buttons"+p+"_add_before"]){z=B["theme_advanced_buttons"+p+"_add_before"]+","+z}A._addControls(z,m);w.add(m);k.deltaHeight-=B.theme_advanced_row_height}q.push(w.renderHTML());q.push(d.createHTML("a",{href:"#",accesskey:"z",title:r.getLang("advanced.toolbar_focus"),onfocus:"tinyMCE.getInstanceById('"+r.id+"').focus();"},"<!-- IE -->"));d.setHTML(l,q.join(""))},_addStatusBar:function(m,j){var k,v=this,p=v.editor,w=v.settings,i,q,u,l;k=d.add(m,"tr");k=l=d.add(k,"td",{"class":"mceStatusbar"});k=d.add(k,"div",{id:p.id+"_path_row",role:"group","aria-labelledby":p.id+"_path_voice"});if(w.theme_advanced_path){d.add(k,"span",{id:p.id+"_path_voice"},p.translate("advanced.path"));d.add(k,"span",{},": ")}else{d.add(k,"span",{}," ")}if(w.theme_advanced_resizing){d.add(l,"a",{id:p.id+"_resize",href:"javascript:;",onclick:"return false;","class":"mceResize",tabIndex:"-1"});if(w.theme_advanced_resizing_use_cookie){p.onPostRender.add(function(){var n=a.getHash("TinyMCE_"+p.id+"_size"),r=d.get(p.id+"_tbl");if(!n){return}v.resizeTo(n.cw,n.ch)})}p.onPostRender.add(function(){b.add(p.id+"_resize","click",function(n){n.preventDefault()});b.add(p.id+"_resize","mousedown",function(D){var t,r,s,o,C,z,A,F,n,E,x;function y(G){G.preventDefault();n=A+(G.screenX-C);E=F+(G.screenY-z);v.resizeTo(n,E)}function B(G){b.remove(d.doc,"mousemove",t);b.remove(p.getDoc(),"mousemove",r);b.remove(d.doc,"mouseup",s);b.remove(p.getDoc(),"mouseup",o);n=A+(G.screenX-C);E=F+(G.screenY-z);v.resizeTo(n,E,true)}D.preventDefault();C=D.screenX;z=D.screenY;x=d.get(v.editor.id+"_ifr");A=n=x.clientWidth;F=E=x.clientHeight;t=b.add(d.doc,"mousemove",y);r=b.add(p.getDoc(),"mousemove",y);s=b.add(d.doc,"mouseup",B);o=b.add(p.getDoc(),"mouseup",B)})})}j.deltaHeight-=21;k=m=null},_updateUndoStatus:function(j){var i=j.controlManager,k=j.undoManager;i.setDisabled("undo",!k.hasUndo()&&!k.typing);i.setDisabled("redo",!k.hasRedo())},_nodeChanged:function(m,r,D,q,E){var y=this,C,F=0,x,G,z=y.settings,w,k,u,B,l,j,i;e.each(y.stateControls,function(n){r.setActive(n,m.queryCommandState(y.controls[n][1]))});function o(p){var s,n=E.parents,t=p;if(typeof(p)=="string"){t=function(v){return v.nodeName==p}}for(s=0;s<n.length;s++){if(t(n[s])){return n[s]}}}r.setActive("visualaid",m.hasVisual);y._updateUndoStatus(m);r.setDisabled("outdent",!m.queryCommandState("Outdent"));C=o("A");if(G=r.get("link")){if(!C||!C.name){G.setDisabled(!C&&q);G.setActive(!!C)}}if(G=r.get("unlink")){G.setDisabled(!C&&q);G.setActive(!!C&&!C.name)}if(G=r.get("anchor")){G.setActive(!q&&!!C&&C.name)}C=o("IMG");if(G=r.get("image")){G.setActive(!q&&!!C&&D.className.indexOf("mceItem")==-1)}if(G=r.get("styleselect")){y._importClasses();j=[];f(G.items,function(n){j.push(n.value)});i=m.formatter.matchAll(j);G.select(i[0])}if(G=r.get("formatselect")){C=o(d.isBlock);if(C){G.select(C.nodeName.toLowerCase())}}o(function(p){if(p.nodeName==="SPAN"){if(!w&&p.className){w=p.className}}if(m.dom.is(p,z.theme_advanced_font_selector)){if(!k&&p.style.fontSize){k=p.style.fontSize}if(!u&&p.style.fontFamily){u=p.style.fontFamily.replace(/[\"\']+/g,"").replace(/^([^,]+).*/,"$1").toLowerCase()}if(!B&&p.style.color){B=p.style.color}if(!l&&p.style.backgroundColor){l=p.style.backgroundColor}}return false});if(G=r.get("fontselect")){G.select(function(n){return n.replace(/^([^,]+).*/,"$1").toLowerCase()==u})}if(G=r.get("fontsizeselect")){if(z.theme_advanced_runtime_fontsize&&!k&&!w){k=m.dom.getStyle(D,"fontSize",true)}G.select(function(n){if(n.fontSize&&n.fontSize===k){return true}if(n["class"]&&n["class"]===w){return true}})}if(z.theme_advanced_show_current_color){function A(p,n){if(G=r.get(p)){if(!n){n=G.settings.default_color}if(n!==G.value){G.displayColor(n)}}}A("forecolor",B);A("backcolor",l)}if(z.theme_advanced_show_current_color){function A(p,n){if(G=r.get(p)){if(!n){n=G.settings.default_color}if(n!==G.value){G.displayColor(n)}}}A("forecolor",B);A("backcolor",l)}if(z.theme_advanced_path&&z.theme_advanced_statusbar_location){C=d.get(m.id+"_path")||d.add(m.id+"_path_row","span",{id:m.id+"_path"});if(y.statusKeyboardNavigation){y.statusKeyboardNavigation.destroy();y.statusKeyboardNavigation=null}d.setHTML(C,"");o(function(H){var p=H.nodeName.toLowerCase(),s,v,t="";if(H.nodeType!=1||p==="br"||H.getAttribute("data-mce-bogus")||d.hasClass(H,"mceItemHidden")||d.hasClass(H,"mceItemRemoved")){return}if(e.isIE&&H.scopeName!=="HTML"){p=H.scopeName+":"+p}p=p.replace(/mce\:/g,"");switch(p){case"b":p="strong";break;case"i":p="em";break;case"img":if(x=d.getAttrib(H,"src")){t+="src: "+x+" "}break;case"a":if(x=d.getAttrib(H,"name")){t+="name: "+x+" ";p+="#"+x}if(x=d.getAttrib(H,"href")){t+="href: "+x+" "}break;case"font":if(x=d.getAttrib(H,"face")){t+="font: "+x+" "}if(x=d.getAttrib(H,"size")){t+="size: "+x+" "}if(x=d.getAttrib(H,"color")){t+="color: "+x+" "}break;case"span":if(x=d.getAttrib(H,"style")){t+="style: "+x+" "}break}if(x=d.getAttrib(H,"id")){t+="id: "+x+" "}if(x=H.className){x=x.replace(/\b\s*(webkit|mce|Apple-)\w+\s*\b/g,"");if(x){t+="class: "+x+" ";if(d.isBlock(H)||p=="img"||p=="span"){p+="."+x}}}p=p.replace(/(html:)/g,"");p={name:p,node:H,title:t};y.onResolveName.dispatch(y,p);t=p.title;p=p.name;v=d.create("a",{href:"javascript:;",role:"button",onmousedown:"return false;",title:t,"class":"mcePath_"+(F++)},p);if(C.hasChildNodes()){C.insertBefore(d.create("span",{"aria-hidden":"true"},"\u00a0\u00bb "),C.firstChild);C.insertBefore(v,C.firstChild)}else{C.appendChild(v)}},m.getBody());if(d.select("a",C).length>0){y.statusKeyboardNavigation=new e.ui.KeyboardNavigation({root:m.id+"_path_row",items:d.select("a",C),excludeFromTabOrder:true,onCancel:function(){m.focus()}},d)}}},_sel:function(i){this.editor.execCommand("mceSelectNodeDepth",false,i)},_mceInsertAnchor:function(k,j){var i=this.editor;i.windowManager.open({url:this.url+"/anchor.htm",width:320+parseInt(i.getLang("advanced.anchor_delta_width",0)),height:90+parseInt(i.getLang("advanced.anchor_delta_height",0)),inline:true},{theme_url:this.url})},_mceCharMap:function(){var i=this.editor;i.windowManager.open({url:this.url+"/charmap.htm",width:550+parseInt(i.getLang("advanced.charmap_delta_width",0)),height:250+parseInt(i.getLang("advanced.charmap_delta_height",0)),inline:true},{theme_url:this.url})},_mceHelp:function(){var i=this.editor;i.windowManager.open({url:this.url+"/about.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceShortcuts:function(){var i=this.editor;i.windowManager.open({url:this.url+"/shortcuts.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceColorPicker:function(k,j){var i=this.editor;j=j||{};i.windowManager.open({url:this.url+"/color_picker.htm",width:375+parseInt(i.getLang("advanced.colorpicker_delta_width",0)),height:250+parseInt(i.getLang("advanced.colorpicker_delta_height",0)),close_previous:false,inline:true},{input_color:j.color,func:j.func,theme_url:this.url})},_mceCodeEditor:function(j,k){var i=this.editor;i.windowManager.open({url:this.url+"/source_editor.htm",width:parseInt(i.getParam("theme_advanced_source_editor_width",720)),height:parseInt(i.getParam("theme_advanced_source_editor_height",580)),inline:true,resizable:true,maximizable:true},{theme_url:this.url})},_mceImage:function(j,k){var i=this.editor;if(i.dom.getAttrib(i.selection.getNode(),"class").indexOf("mceItem")!=-1){return}i.windowManager.open({url:this.url+"/image.htm",width:355+parseInt(i.getLang("advanced.image_delta_width",0)),height:275+parseInt(i.getLang("advanced.image_delta_height",0)),inline:true},{theme_url:this.url})},_mceLink:function(j,k){var i=this.editor;i.windowManager.open({url:this.url+"/link.htm",width:310+parseInt(i.getLang("advanced.link_delta_width",0)),height:200+parseInt(i.getLang("advanced.link_delta_height",0)),inline:true},{theme_url:this.url})},_mceNewDocument:function(){var i=this.editor;i.windowManager.confirm("advanced.newdocument",function(j){if(j){i.execCommand("mceSetContent",false,"")}})},_mceForeColor:function(){var i=this;this._mceColorPicker(0,{color:i.fgColor,func:function(j){i.fgColor=j;i.editor.execCommand("ForeColor",false,j)}})},_mceBackColor:function(){var i=this;this._mceColorPicker(0,{color:i.bgColor,func:function(j){i.bgColor=j;i.editor.execCommand("HiliteColor",false,j)}})},_ufirst:function(i){return i.substring(0,1).toUpperCase()+i.substring(1)}});e.ThemeManager.add("advanced",e.themes.AdvancedTheme)}(tinymce)); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/editor_template_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/editor_template_src.js new file mode 100644 index 00000000..4cbdb93b --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/editor_template_src.js @@ -0,0 +1,1358 @@ +/** + * editor_template_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function(tinymce) { + var DOM = tinymce.DOM, Event = tinymce.dom.Event, extend = tinymce.extend, each = tinymce.each, Cookie = tinymce.util.Cookie, lastExtID, explode = tinymce.explode; + + // Tell it to load theme specific language pack(s) + tinymce.ThemeManager.requireLangPack('advanced'); + + tinymce.create('tinymce.themes.AdvancedTheme', { + sizes : [8, 10, 12, 14, 18, 24, 36], + + // Control name lookup, format: title, command + controls : { + bold : ['bold_desc', 'Bold'], + italic : ['italic_desc', 'Italic'], + underline : ['underline_desc', 'Underline'], + strikethrough : ['striketrough_desc', 'Strikethrough'], + justifyleft : ['justifyleft_desc', 'JustifyLeft'], + justifycenter : ['justifycenter_desc', 'JustifyCenter'], + justifyright : ['justifyright_desc', 'JustifyRight'], + justifyfull : ['justifyfull_desc', 'JustifyFull'], + bullist : ['bullist_desc', 'InsertUnorderedList'], + numlist : ['numlist_desc', 'InsertOrderedList'], + outdent : ['outdent_desc', 'Outdent'], + indent : ['indent_desc', 'Indent'], + cut : ['cut_desc', 'Cut'], + copy : ['copy_desc', 'Copy'], + paste : ['paste_desc', 'Paste'], + undo : ['undo_desc', 'Undo'], + redo : ['redo_desc', 'Redo'], + link : ['link_desc', 'mceLink'], + unlink : ['unlink_desc', 'unlink'], + image : ['image_desc', 'mceImage'], + cleanup : ['cleanup_desc', 'mceCleanup'], + help : ['help_desc', 'mceHelp'], + code : ['code_desc', 'mceCodeEditor'], + hr : ['hr_desc', 'InsertHorizontalRule'], + removeformat : ['removeformat_desc', 'RemoveFormat'], + sub : ['sub_desc', 'subscript'], + sup : ['sup_desc', 'superscript'], + forecolor : ['forecolor_desc', 'ForeColor'], + forecolorpicker : ['forecolor_desc', 'mceForeColor'], + backcolor : ['backcolor_desc', 'HiliteColor'], + backcolorpicker : ['backcolor_desc', 'mceBackColor'], + charmap : ['charmap_desc', 'mceCharMap'], + visualaid : ['visualaid_desc', 'mceToggleVisualAid'], + anchor : ['anchor_desc', 'mceInsertAnchor'], + newdocument : ['newdocument_desc', 'mceNewDocument'], + blockquote : ['blockquote_desc', 'mceBlockQuote'] + }, + + stateControls : ['bold', 'italic', 'underline', 'strikethrough', 'bullist', 'numlist', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'sub', 'sup', 'blockquote'], + + init : function(ed, url) { + var t = this, s, v, o; + + t.editor = ed; + t.url = url; + t.onResolveName = new tinymce.util.Dispatcher(this); + + ed.forcedHighContrastMode = ed.settings.detect_highcontrast && t._isHighContrast(); + ed.settings.skin = ed.forcedHighContrastMode ? 'highcontrast' : ed.settings.skin; + + // Default settings + t.settings = s = extend({ + theme_advanced_path : true, + theme_advanced_toolbar_location : 'bottom', + theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect", + theme_advanced_buttons2 : "bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code", + theme_advanced_buttons3 : "hr,removeformat,visualaid,|,sub,sup,|,charmap", + theme_advanced_blockformats : "p,address,pre,h1,h2,h3,h4,h5,h6", + theme_advanced_toolbar_align : "center", + theme_advanced_fonts : "Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats", + theme_advanced_more_colors : 1, + theme_advanced_row_height : 23, + theme_advanced_resize_horizontal : 1, + theme_advanced_resizing_use_cookie : 1, + theme_advanced_font_sizes : "1,2,3,4,5,6,7", + theme_advanced_font_selector : "span", + theme_advanced_show_current_color: 0, + readonly : ed.settings.readonly + }, ed.settings); + + // Setup default font_size_style_values + if (!s.font_size_style_values) + s.font_size_style_values = "8pt,10pt,12pt,14pt,18pt,24pt,36pt"; + + if (tinymce.is(s.theme_advanced_font_sizes, 'string')) { + s.font_size_style_values = tinymce.explode(s.font_size_style_values); + s.font_size_classes = tinymce.explode(s.font_size_classes || ''); + + // Parse string value + o = {}; + ed.settings.theme_advanced_font_sizes = s.theme_advanced_font_sizes; + each(ed.getParam('theme_advanced_font_sizes', '', 'hash'), function(v, k) { + var cl; + + if (k == v && v >= 1 && v <= 7) { + k = v + ' (' + t.sizes[v - 1] + 'pt)'; + cl = s.font_size_classes[v - 1]; + v = s.font_size_style_values[v - 1] || (t.sizes[v - 1] + 'pt'); + } + + if (/^\s*\./.test(v)) + cl = v.replace(/\./g, ''); + + o[k] = cl ? {'class' : cl} : {fontSize : v}; + }); + + s.theme_advanced_font_sizes = o; + } + + if ((v = s.theme_advanced_path_location) && v != 'none') + s.theme_advanced_statusbar_location = s.theme_advanced_path_location; + + if (s.theme_advanced_statusbar_location == 'none') + s.theme_advanced_statusbar_location = 0; + + if (ed.settings.content_css !== false) + ed.contentCSS.push(ed.baseURI.toAbsolute(url + "/skins/" + ed.settings.skin + "/content.css")); + + // Init editor + ed.onInit.add(function() { + if (!ed.settings.readonly) { + ed.onNodeChange.add(t._nodeChanged, t); + ed.onKeyUp.add(t._updateUndoStatus, t); + ed.onMouseUp.add(t._updateUndoStatus, t); + ed.dom.bind(ed.dom.getRoot(), 'dragend', function() { + t._updateUndoStatus(ed); + }); + } + }); + + ed.onSetProgressState.add(function(ed, b, ti) { + var co, id = ed.id, tb; + + if (b) { + t.progressTimer = setTimeout(function() { + co = ed.getContainer(); + co = co.insertBefore(DOM.create('DIV', {style : 'position:relative'}), co.firstChild); + tb = DOM.get(ed.id + '_tbl'); + + DOM.add(co, 'div', {id : id + '_blocker', 'class' : 'mceBlocker', style : {width : tb.clientWidth + 2, height : tb.clientHeight + 2}}); + DOM.add(co, 'div', {id : id + '_progress', 'class' : 'mceProgress', style : {left : tb.clientWidth / 2, top : tb.clientHeight / 2}}); + }, ti || 0); + } else { + DOM.remove(id + '_blocker'); + DOM.remove(id + '_progress'); + clearTimeout(t.progressTimer); + } + }); + + DOM.loadCSS(s.editor_css ? ed.documentBaseURI.toAbsolute(s.editor_css) : url + "/skins/" + ed.settings.skin + "/ui.css"); + + if (s.skin_variant) + DOM.loadCSS(url + "/skins/" + ed.settings.skin + "/ui_" + s.skin_variant + ".css"); + }, + + _isHighContrast : function() { + var actualColor, div = DOM.add(DOM.getRoot(), 'div', {'style': 'background-color: rgb(171,239,86);'}); + + actualColor = (DOM.getStyle(div, 'background-color', true) + '').toLowerCase().replace(/ /g, ''); + DOM.remove(div); + + return actualColor != 'rgb(171,239,86)' && actualColor != '#abef56'; + }, + + createControl : function(n, cf) { + var cd, c; + + if (c = cf.createControl(n)) + return c; + + switch (n) { + case "styleselect": + return this._createStyleSelect(); + + case "formatselect": + return this._createBlockFormats(); + + case "fontselect": + return this._createFontSelect(); + + case "fontsizeselect": + return this._createFontSizeSelect(); + + case "forecolor": + return this._createForeColorMenu(); + + case "backcolor": + return this._createBackColorMenu(); + } + + if ((cd = this.controls[n])) + return cf.createButton(n, {title : "advanced." + cd[0], cmd : cd[1], ui : cd[2], value : cd[3]}); + }, + + execCommand : function(cmd, ui, val) { + var f = this['_' + cmd]; + + if (f) { + f.call(this, ui, val); + return true; + } + + return false; + }, + + _importClasses : function(e) { + var ed = this.editor, ctrl = ed.controlManager.get('styleselect'); + + if (ctrl.getLength() == 0) { + each(ed.dom.getClasses(), function(o, idx) { + var name = 'style_' + idx; + + ed.formatter.register(name, { + inline : 'span', + attributes : {'class' : o['class']}, + selector : '*' + }); + + ctrl.add(o['class'], name); + }); + } + }, + + _createStyleSelect : function(n) { + var t = this, ed = t.editor, ctrlMan = ed.controlManager, ctrl; + + // Setup style select box + ctrl = ctrlMan.createListBox('styleselect', { + title : 'advanced.style_select', + onselect : function(name) { + var matches, formatNames = []; + + each(ctrl.items, function(item) { + formatNames.push(item.value); + }); + + ed.focus(); + ed.undoManager.add(); + + // Toggle off the current format + matches = ed.formatter.matchAll(formatNames); + if (!name || matches[0] == name) { + if (matches[0]) + ed.formatter.remove(matches[0]); + } else + ed.formatter.apply(name); + + ed.undoManager.add(); + ed.nodeChanged(); + + return false; // No auto select + } + }); + + // Handle specified format + ed.onInit.add(function() { + var counter = 0, formats = ed.getParam('style_formats'); + + if (formats) { + each(formats, function(fmt) { + var name, keys = 0; + + each(fmt, function() {keys++;}); + + if (keys > 1) { + name = fmt.name = fmt.name || 'style_' + (counter++); + ed.formatter.register(name, fmt); + ctrl.add(fmt.title, name); + } else + ctrl.add(fmt.title); + }); + } else { + each(ed.getParam('theme_advanced_styles', '', 'hash'), function(val, key) { + var name; + + if (val) { + name = 'style_' + (counter++); + + ed.formatter.register(name, { + inline : 'span', + classes : val, + selector : '*' + }); + + ctrl.add(t.editor.translate(key), name); + } + }); + } + }); + + // Auto import classes if the ctrl box is empty + if (ctrl.getLength() == 0) { + ctrl.onPostRender.add(function(ed, n) { + if (!ctrl.NativeListBox) { + Event.add(n.id + '_text', 'focus', t._importClasses, t); + Event.add(n.id + '_text', 'mousedown', t._importClasses, t); + Event.add(n.id + '_open', 'focus', t._importClasses, t); + Event.add(n.id + '_open', 'mousedown', t._importClasses, t); + } else + Event.add(n.id, 'focus', t._importClasses, t); + }); + } + + return ctrl; + }, + + _createFontSelect : function() { + var c, t = this, ed = t.editor; + + c = ed.controlManager.createListBox('fontselect', { + title : 'advanced.fontdefault', + onselect : function(v) { + var cur = c.items[c.selectedIndex]; + + if (!v && cur) { + ed.execCommand('FontName', false, cur.value); + return; + } + + ed.execCommand('FontName', false, v); + + // Fake selection, execCommand will fire a nodeChange and update the selection + c.select(function(sv) { + return v == sv; + }); + + if (cur && cur.value == v) { + c.select(null); + } + + return false; // No auto select + } + }); + + if (c) { + each(ed.getParam('theme_advanced_fonts', t.settings.theme_advanced_fonts, 'hash'), function(v, k) { + c.add(ed.translate(k), v, {style : v.indexOf('dings') == -1 ? 'font-family:' + v : ''}); + }); + } + + return c; + }, + + _createFontSizeSelect : function() { + var t = this, ed = t.editor, c, i = 0, cl = []; + + c = ed.controlManager.createListBox('fontsizeselect', {title : 'advanced.font_size', onselect : function(v) { + var cur = c.items[c.selectedIndex]; + + if (!v && cur) { + cur = cur.value; + + if (cur['class']) { + ed.formatter.toggle('fontsize_class', {value : cur['class']}); + ed.undoManager.add(); + ed.nodeChanged(); + } else { + ed.execCommand('FontSize', false, cur.fontSize); + } + + return; + } + + if (v['class']) { + ed.focus(); + ed.undoManager.add(); + ed.formatter.toggle('fontsize_class', {value : v['class']}); + ed.undoManager.add(); + ed.nodeChanged(); + } else + ed.execCommand('FontSize', false, v.fontSize); + + // Fake selection, execCommand will fire a nodeChange and update the selection + c.select(function(sv) { + return v == sv; + }); + + if (cur && (cur.value.fontSize == v.fontSize || cur.value['class'] == v['class'])) { + c.select(null); + } + + return false; // No auto select + }}); + + if (c) { + each(t.settings.theme_advanced_font_sizes, function(v, k) { + var fz = v.fontSize; + + if (fz >= 1 && fz <= 7) + fz = t.sizes[parseInt(fz) - 1] + 'pt'; + + c.add(k, v, {'style' : 'font-size:' + fz, 'class' : 'mceFontSize' + (i++) + (' ' + (v['class'] || ''))}); + }); + } + + return c; + }, + + _createBlockFormats : function() { + var c, fmts = { + p : 'advanced.paragraph', + address : 'advanced.address', + pre : 'advanced.pre', + h1 : 'advanced.h1', + h2 : 'advanced.h2', + h3 : 'advanced.h3', + h4 : 'advanced.h4', + h5 : 'advanced.h5', + h6 : 'advanced.h6', + div : 'advanced.div', + blockquote : 'advanced.blockquote', + code : 'advanced.code', + dt : 'advanced.dt', + dd : 'advanced.dd', + samp : 'advanced.samp' + }, t = this; + + c = t.editor.controlManager.createListBox('formatselect', {title : 'advanced.block', onselect : function(v) { + t.editor.execCommand('FormatBlock', false, v); + return false; + }}); + + if (c) { + each(t.editor.getParam('theme_advanced_blockformats', t.settings.theme_advanced_blockformats, 'hash'), function(v, k) { + c.add(t.editor.translate(k != v ? k : fmts[v]), v, {'class' : 'mce_formatPreview mce_' + v}); + }); + } + + return c; + }, + + _createForeColorMenu : function() { + var c, t = this, s = t.settings, o = {}, v; + + if (s.theme_advanced_more_colors) { + o.more_colors_func = function() { + t._mceColorPicker(0, { + color : c.value, + func : function(co) { + c.setColor(co); + } + }); + }; + } + + if (v = s.theme_advanced_text_colors) + o.colors = v; + + if (s.theme_advanced_default_foreground_color) + o.default_color = s.theme_advanced_default_foreground_color; + + o.title = 'advanced.forecolor_desc'; + o.cmd = 'ForeColor'; + o.scope = this; + + c = t.editor.controlManager.createColorSplitButton('forecolor', o); + + return c; + }, + + _createBackColorMenu : function() { + var c, t = this, s = t.settings, o = {}, v; + + if (s.theme_advanced_more_colors) { + o.more_colors_func = function() { + t._mceColorPicker(0, { + color : c.value, + func : function(co) { + c.setColor(co); + } + }); + }; + } + + if (v = s.theme_advanced_background_colors) + o.colors = v; + + if (s.theme_advanced_default_background_color) + o.default_color = s.theme_advanced_default_background_color; + + o.title = 'advanced.backcolor_desc'; + o.cmd = 'HiliteColor'; + o.scope = this; + + c = t.editor.controlManager.createColorSplitButton('backcolor', o); + + return c; + }, + + renderUI : function(o) { + var n, ic, tb, t = this, ed = t.editor, s = t.settings, sc, p, nl; + + if (ed.settings) { + ed.settings.aria_label = s.aria_label + ed.getLang('advanced.help_shortcut'); + } + + // TODO: ACC Should have an aria-describedby attribute which is user-configurable to describe what this field is actually for. + // Maybe actually inherit it from the original textara? + n = p = DOM.create('span', {role : 'application', 'aria-labelledby' : ed.id + '_voice', id : ed.id + '_parent', 'class' : 'mceEditor ' + ed.settings.skin + 'Skin' + (s.skin_variant ? ' ' + ed.settings.skin + 'Skin' + t._ufirst(s.skin_variant) : '')}); + DOM.add(n, 'span', {'class': 'mceVoiceLabel', 'style': 'display:none;', id: ed.id + '_voice'}, s.aria_label); + + if (!DOM.boxModel) + n = DOM.add(n, 'div', {'class' : 'mceOldBoxModel'}); + + n = sc = DOM.add(n, 'table', {role : "presentation", id : ed.id + '_tbl', 'class' : 'mceLayout', cellSpacing : 0, cellPadding : 0}); + n = tb = DOM.add(n, 'tbody'); + + switch ((s.theme_advanced_layout_manager || '').toLowerCase()) { + case "rowlayout": + ic = t._rowLayout(s, tb, o); + break; + + case "customlayout": + ic = ed.execCallback("theme_advanced_custom_layout", s, tb, o, p); + break; + + default: + ic = t._simpleLayout(s, tb, o, p); + } + + n = o.targetNode; + + // Add classes to first and last TRs + nl = sc.rows; + DOM.addClass(nl[0], 'mceFirst'); + DOM.addClass(nl[nl.length - 1], 'mceLast'); + + // Add classes to first and last TDs + each(DOM.select('tr', tb), function(n) { + DOM.addClass(n.firstChild, 'mceFirst'); + DOM.addClass(n.childNodes[n.childNodes.length - 1], 'mceLast'); + }); + + if (DOM.get(s.theme_advanced_toolbar_container)) + DOM.get(s.theme_advanced_toolbar_container).appendChild(p); + else + DOM.insertAfter(p, n); + + Event.add(ed.id + '_path_row', 'click', function(e) { + e = e.target; + + if (e.nodeName == 'A') { + t._sel(e.className.replace(/^.*mcePath_([0-9]+).*$/, '$1')); + + return Event.cancel(e); + } + }); +/* + if (DOM.get(ed.id + '_path_row')) { + Event.add(ed.id + '_tbl', 'mouseover', function(e) { + var re; + + e = e.target; + + if (e.nodeName == 'SPAN' && DOM.hasClass(e.parentNode, 'mceButton')) { + re = DOM.get(ed.id + '_path_row'); + t.lastPath = re.innerHTML; + DOM.setHTML(re, e.parentNode.title); + } + }); + + Event.add(ed.id + '_tbl', 'mouseout', function(e) { + if (t.lastPath) { + DOM.setHTML(ed.id + '_path_row', t.lastPath); + t.lastPath = 0; + } + }); + } +*/ + + if (!ed.getParam('accessibility_focus')) + Event.add(DOM.add(p, 'a', {href : '#'}, '<!-- IE -->'), 'focus', function() {tinyMCE.get(ed.id).focus();}); + + if (s.theme_advanced_toolbar_location == 'external') + o.deltaHeight = 0; + + t.deltaHeight = o.deltaHeight; + o.targetNode = null; + + ed.onKeyDown.add(function(ed, evt) { + var DOM_VK_F10 = 121, DOM_VK_F11 = 122; + + if (evt.altKey) { + if (evt.keyCode === DOM_VK_F10) { + window.focus(); + t.toolbarGroup.focus(); + return Event.cancel(evt); + } else if (evt.keyCode === DOM_VK_F11) { + DOM.get(ed.id + '_path_row').focus(); + return Event.cancel(evt); + } + } + }); + + // alt+0 is the UK recommended shortcut for accessing the list of access controls. + ed.addShortcut('alt+0', '', 'mceShortcuts', t); + + return { + iframeContainer : ic, + editorContainer : ed.id + '_parent', + sizeContainer : sc, + deltaHeight : o.deltaHeight + }; + }, + + getInfo : function() { + return { + longname : 'Advanced theme', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + version : tinymce.majorVersion + "." + tinymce.minorVersion + } + }, + + resizeBy : function(dw, dh) { + var e = DOM.get(this.editor.id + '_ifr'); + + this.resizeTo(e.clientWidth + dw, e.clientHeight + dh); + }, + + resizeTo : function(w, h, store) { + var ed = this.editor, s = this.settings, e = DOM.get(ed.id + '_tbl'), ifr = DOM.get(ed.id + '_ifr'); + + // Boundery fix box + w = Math.max(s.theme_advanced_resizing_min_width || 100, w); + h = Math.max(s.theme_advanced_resizing_min_height || 100, h); + w = Math.min(s.theme_advanced_resizing_max_width || 0xFFFF, w); + h = Math.min(s.theme_advanced_resizing_max_height || 0xFFFF, h); + + // Resize iframe and container + DOM.setStyle(e, 'height', ''); + DOM.setStyle(ifr, 'height', h); + + if (s.theme_advanced_resize_horizontal) { + DOM.setStyle(e, 'width', ''); + DOM.setStyle(ifr, 'width', w); + + // Make sure that the size is never smaller than the over all ui + if (w < e.clientWidth) { + w = e.clientWidth; + DOM.setStyle(ifr, 'width', e.clientWidth); + } + } + + // Store away the size + if (store && s.theme_advanced_resizing_use_cookie) { + Cookie.setHash("TinyMCE_" + ed.id + "_size", { + cw : w, + ch : h + }); + } + }, + + destroy : function() { + var id = this.editor.id; + + Event.clear(id + '_resize'); + Event.clear(id + '_path_row'); + Event.clear(id + '_external_close'); + }, + + // Internal functions + + _simpleLayout : function(s, tb, o, p) { + var t = this, ed = t.editor, lo = s.theme_advanced_toolbar_location, sl = s.theme_advanced_statusbar_location, n, ic, etb, c; + + if (s.readonly) { + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'}); + return ic; + } + + // Create toolbar container at top + if (lo == 'top') + t._addToolbars(tb, o); + + // Create external toolbar + if (lo == 'external') { + n = c = DOM.create('div', {style : 'position:relative'}); + n = DOM.add(n, 'div', {id : ed.id + '_external', 'class' : 'mceExternalToolbar'}); + DOM.add(n, 'a', {id : ed.id + '_external_close', href : 'javascript:;', 'class' : 'mceExternalClose'}); + n = DOM.add(n, 'table', {id : ed.id + '_tblext', cellSpacing : 0, cellPadding : 0}); + etb = DOM.add(n, 'tbody'); + + if (p.firstChild.className == 'mceOldBoxModel') + p.firstChild.appendChild(c); + else + p.insertBefore(c, p.firstChild); + + t._addToolbars(etb, o); + + ed.onMouseUp.add(function() { + var e = DOM.get(ed.id + '_external'); + DOM.show(e); + + DOM.hide(lastExtID); + + var f = Event.add(ed.id + '_external_close', 'click', function() { + DOM.hide(ed.id + '_external'); + Event.remove(ed.id + '_external_close', 'click', f); + }); + + DOM.show(e); + DOM.setStyle(e, 'top', 0 - DOM.getRect(ed.id + '_tblext').h - 1); + + // Fixes IE rendering bug + DOM.hide(e); + DOM.show(e); + e.style.filter = ''; + + lastExtID = ed.id + '_external'; + + e = null; + }); + } + + if (sl == 'top') + t._addStatusBar(tb, o); + + // Create iframe container + if (!s.theme_advanced_toolbar_container) { + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'}); + } + + // Create toolbar container at bottom + if (lo == 'bottom') + t._addToolbars(tb, o); + + if (sl == 'bottom') + t._addStatusBar(tb, o); + + return ic; + }, + + _rowLayout : function(s, tb, o) { + var t = this, ed = t.editor, dc, da, cf = ed.controlManager, n, ic, to, a; + + dc = s.theme_advanced_containers_default_class || ''; + da = s.theme_advanced_containers_default_align || 'center'; + + each(explode(s.theme_advanced_containers || ''), function(c, i) { + var v = s['theme_advanced_container_' + c] || ''; + + switch (c.toLowerCase()) { + case 'mceeditor': + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'}); + break; + + case 'mceelementpath': + t._addStatusBar(tb, o); + break; + + default: + a = (s['theme_advanced_container_' + c + '_align'] || da).toLowerCase(); + a = 'mce' + t._ufirst(a); + + n = DOM.add(DOM.add(tb, 'tr'), 'td', { + 'class' : 'mceToolbar ' + (s['theme_advanced_container_' + c + '_class'] || dc) + ' ' + a || da + }); + + to = cf.createToolbar("toolbar" + i); + t._addControls(v, to); + DOM.setHTML(n, to.renderHTML()); + o.deltaHeight -= s.theme_advanced_row_height; + } + }); + + return ic; + }, + + _addControls : function(v, tb) { + var t = this, s = t.settings, di, cf = t.editor.controlManager; + + if (s.theme_advanced_disable && !t._disabled) { + di = {}; + + each(explode(s.theme_advanced_disable), function(v) { + di[v] = 1; + }); + + t._disabled = di; + } else + di = t._disabled; + + each(explode(v), function(n) { + var c; + + if (di && di[n]) + return; + + // Compatiblity with 2.x + if (n == 'tablecontrols') { + each(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"], function(n) { + n = t.createControl(n, cf); + + if (n) + tb.add(n); + }); + + return; + } + + c = t.createControl(n, cf); + + if (c) + tb.add(c); + }); + }, + + _addToolbars : function(c, o) { + var t = this, i, tb, ed = t.editor, s = t.settings, v, cf = ed.controlManager, di, n, h = [], a, toolbarGroup; + + toolbarGroup = cf.createToolbarGroup('toolbargroup', { + 'name': ed.getLang('advanced.toolbar'), + 'tab_focus_toolbar':ed.getParam('theme_advanced_tab_focus_toolbar') + }); + + t.toolbarGroup = toolbarGroup; + + a = s.theme_advanced_toolbar_align.toLowerCase(); + a = 'mce' + t._ufirst(a); + + n = DOM.add(DOM.add(c, 'tr', {role: 'presentation'}), 'td', {'class' : 'mceToolbar ' + a, "role":"presentation"}); + + // Create toolbar and add the controls + for (i=1; (v = s['theme_advanced_buttons' + i]); i++) { + tb = cf.createToolbar("toolbar" + i, {'class' : 'mceToolbarRow' + i}); + + if (s['theme_advanced_buttons' + i + '_add']) + v += ',' + s['theme_advanced_buttons' + i + '_add']; + + if (s['theme_advanced_buttons' + i + '_add_before']) + v = s['theme_advanced_buttons' + i + '_add_before'] + ',' + v; + + t._addControls(v, tb); + toolbarGroup.add(tb); + + o.deltaHeight -= s.theme_advanced_row_height; + } + h.push(toolbarGroup.renderHTML()); + h.push(DOM.createHTML('a', {href : '#', accesskey : 'z', title : ed.getLang("advanced.toolbar_focus"), onfocus : 'tinyMCE.getInstanceById(\'' + ed.id + '\').focus();'}, '<!-- IE -->')); + DOM.setHTML(n, h.join('')); + }, + + _addStatusBar : function(tb, o) { + var n, t = this, ed = t.editor, s = t.settings, r, mf, me, td; + + n = DOM.add(tb, 'tr'); + n = td = DOM.add(n, 'td', {'class' : 'mceStatusbar'}); + n = DOM.add(n, 'div', {id : ed.id + '_path_row', 'role': 'group', 'aria-labelledby': ed.id + '_path_voice'}); + if (s.theme_advanced_path) { + DOM.add(n, 'span', {id: ed.id + '_path_voice'}, ed.translate('advanced.path')); + DOM.add(n, 'span', {}, ': '); + } else { + DOM.add(n, 'span', {}, ' '); + } + + + if (s.theme_advanced_resizing) { + DOM.add(td, 'a', {id : ed.id + '_resize', href : 'javascript:;', onclick : "return false;", 'class' : 'mceResize', tabIndex:"-1"}); + + if (s.theme_advanced_resizing_use_cookie) { + ed.onPostRender.add(function() { + var o = Cookie.getHash("TinyMCE_" + ed.id + "_size"), c = DOM.get(ed.id + '_tbl'); + + if (!o) + return; + + t.resizeTo(o.cw, o.ch); + }); + } + + ed.onPostRender.add(function() { + Event.add(ed.id + '_resize', 'click', function(e) { + e.preventDefault(); + }); + + Event.add(ed.id + '_resize', 'mousedown', function(e) { + var mouseMoveHandler1, mouseMoveHandler2, + mouseUpHandler1, mouseUpHandler2, + startX, startY, startWidth, startHeight, width, height, ifrElm; + + function resizeOnMove(e) { + e.preventDefault(); + + width = startWidth + (e.screenX - startX); + height = startHeight + (e.screenY - startY); + + t.resizeTo(width, height); + }; + + function endResize(e) { + // Stop listening + Event.remove(DOM.doc, 'mousemove', mouseMoveHandler1); + Event.remove(ed.getDoc(), 'mousemove', mouseMoveHandler2); + Event.remove(DOM.doc, 'mouseup', mouseUpHandler1); + Event.remove(ed.getDoc(), 'mouseup', mouseUpHandler2); + + width = startWidth + (e.screenX - startX); + height = startHeight + (e.screenY - startY); + t.resizeTo(width, height, true); + }; + + e.preventDefault(); + + // Get the current rect size + startX = e.screenX; + startY = e.screenY; + ifrElm = DOM.get(t.editor.id + '_ifr'); + startWidth = width = ifrElm.clientWidth; + startHeight = height = ifrElm.clientHeight; + + // Register envent handlers + mouseMoveHandler1 = Event.add(DOM.doc, 'mousemove', resizeOnMove); + mouseMoveHandler2 = Event.add(ed.getDoc(), 'mousemove', resizeOnMove); + mouseUpHandler1 = Event.add(DOM.doc, 'mouseup', endResize); + mouseUpHandler2 = Event.add(ed.getDoc(), 'mouseup', endResize); + }); + }); + } + + o.deltaHeight -= 21; + n = tb = null; + }, + + _updateUndoStatus : function(ed) { + var cm = ed.controlManager, um = ed.undoManager; + + cm.setDisabled('undo', !um.hasUndo() && !um.typing); + cm.setDisabled('redo', !um.hasRedo()); + }, + + _nodeChanged : function(ed, cm, n, co, ob) { + var t = this, p, de = 0, v, c, s = t.settings, cl, fz, fn, fc, bc, formatNames, matches; + + tinymce.each(t.stateControls, function(c) { + cm.setActive(c, ed.queryCommandState(t.controls[c][1])); + }); + + function getParent(name) { + var i, parents = ob.parents, func = name; + + if (typeof(name) == 'string') { + func = function(node) { + return node.nodeName == name; + }; + } + + for (i = 0; i < parents.length; i++) { + if (func(parents[i])) + return parents[i]; + } + }; + + cm.setActive('visualaid', ed.hasVisual); + t._updateUndoStatus(ed); + cm.setDisabled('outdent', !ed.queryCommandState('Outdent')); + + p = getParent('A'); + if (c = cm.get('link')) { + if (!p || !p.name) { + c.setDisabled(!p && co); + c.setActive(!!p); + } + } + + if (c = cm.get('unlink')) { + c.setDisabled(!p && co); + c.setActive(!!p && !p.name); + } + + if (c = cm.get('anchor')) { + c.setActive(!co && !!p && p.name); + } + + p = getParent('IMG'); + if (c = cm.get('image')) + c.setActive(!co && !!p && n.className.indexOf('mceItem') == -1); + + if (c = cm.get('styleselect')) { + t._importClasses(); + + formatNames = []; + each(c.items, function(item) { + formatNames.push(item.value); + }); + + matches = ed.formatter.matchAll(formatNames); + c.select(matches[0]); + } + + if (c = cm.get('formatselect')) { + p = getParent(DOM.isBlock); + + if (p) + c.select(p.nodeName.toLowerCase()); + } + + // Find out current fontSize, fontFamily and fontClass + getParent(function(n) { + if (n.nodeName === 'SPAN') { + if (!cl && n.className) + cl = n.className; + } + + if (ed.dom.is(n, s.theme_advanced_font_selector)) { + if (!fz && n.style.fontSize) + fz = n.style.fontSize; + + if (!fn && n.style.fontFamily) + fn = n.style.fontFamily.replace(/[\"\']+/g, '').replace(/^([^,]+).*/, '$1').toLowerCase(); + + if (!fc && n.style.color) + fc = n.style.color; + + if (!bc && n.style.backgroundColor) + bc = n.style.backgroundColor; + } + + return false; + }); + + if (c = cm.get('fontselect')) { + c.select(function(v) { + return v.replace(/^([^,]+).*/, '$1').toLowerCase() == fn; + }); + } + + // Select font size + if (c = cm.get('fontsizeselect')) { + // Use computed style + if (s.theme_advanced_runtime_fontsize && !fz && !cl) + fz = ed.dom.getStyle(n, 'fontSize', true); + + c.select(function(v) { + if (v.fontSize && v.fontSize === fz) + return true; + + if (v['class'] && v['class'] === cl) + return true; + }); + } + + if (s.theme_advanced_show_current_color) { + function updateColor(controlId, color) { + if (c = cm.get(controlId)) { + if (!color) + color = c.settings.default_color; + if (color !== c.value) { + c.displayColor(color); + } + } + } + updateColor('forecolor', fc); + updateColor('backcolor', bc); + } + + if (s.theme_advanced_show_current_color) { + function updateColor(controlId, color) { + if (c = cm.get(controlId)) { + if (!color) + color = c.settings.default_color; + if (color !== c.value) { + c.displayColor(color); + } + } + }; + + updateColor('forecolor', fc); + updateColor('backcolor', bc); + } + + if (s.theme_advanced_path && s.theme_advanced_statusbar_location) { + p = DOM.get(ed.id + '_path') || DOM.add(ed.id + '_path_row', 'span', {id : ed.id + '_path'}); + + if (t.statusKeyboardNavigation) { + t.statusKeyboardNavigation.destroy(); + t.statusKeyboardNavigation = null; + } + + DOM.setHTML(p, ''); + + getParent(function(n) { + var na = n.nodeName.toLowerCase(), u, pi, ti = ''; + + // Ignore non element and bogus/hidden elements + if (n.nodeType != 1 || na === 'br' || n.getAttribute('data-mce-bogus') || DOM.hasClass(n, 'mceItemHidden') || DOM.hasClass(n, 'mceItemRemoved')) + return; + + // Handle prefix + if (tinymce.isIE && n.scopeName !== 'HTML') + na = n.scopeName + ':' + na; + + // Remove internal prefix + na = na.replace(/mce\:/g, ''); + + // Handle node name + switch (na) { + case 'b': + na = 'strong'; + break; + + case 'i': + na = 'em'; + break; + + case 'img': + if (v = DOM.getAttrib(n, 'src')) + ti += 'src: ' + v + ' '; + + break; + + case 'a': + if (v = DOM.getAttrib(n, 'name')) { + ti += 'name: ' + v + ' '; + na += '#' + v; + } + + if (v = DOM.getAttrib(n, 'href')) + ti += 'href: ' + v + ' '; + + break; + + case 'font': + if (v = DOM.getAttrib(n, 'face')) + ti += 'font: ' + v + ' '; + + if (v = DOM.getAttrib(n, 'size')) + ti += 'size: ' + v + ' '; + + if (v = DOM.getAttrib(n, 'color')) + ti += 'color: ' + v + ' '; + + break; + + case 'span': + if (v = DOM.getAttrib(n, 'style')) + ti += 'style: ' + v + ' '; + + break; + } + + if (v = DOM.getAttrib(n, 'id')) + ti += 'id: ' + v + ' '; + + if (v = n.className) { + v = v.replace(/\b\s*(webkit|mce|Apple-)\w+\s*\b/g, '') + + if (v) { + ti += 'class: ' + v + ' '; + + if (DOM.isBlock(n) || na == 'img' || na == 'span') + na += '.' + v; + } + } + + na = na.replace(/(html:)/g, ''); + na = {name : na, node : n, title : ti}; + t.onResolveName.dispatch(t, na); + ti = na.title; + na = na.name; + + //u = "javascript:tinymce.EditorManager.get('" + ed.id + "').theme._sel('" + (de++) + "');"; + pi = DOM.create('a', {'href' : "javascript:;", role: 'button', onmousedown : "return false;", title : ti, 'class' : 'mcePath_' + (de++)}, na); + + if (p.hasChildNodes()) { + p.insertBefore(DOM.create('span', {'aria-hidden': 'true'}, '\u00a0\u00bb '), p.firstChild); + p.insertBefore(pi, p.firstChild); + } else + p.appendChild(pi); + }, ed.getBody()); + + if (DOM.select('a', p).length > 0) { + t.statusKeyboardNavigation = new tinymce.ui.KeyboardNavigation({ + root: ed.id + "_path_row", + items: DOM.select('a', p), + excludeFromTabOrder: true, + onCancel: function() { + ed.focus(); + } + }, DOM); + } + } + }, + + // Commands gets called by execCommand + + _sel : function(v) { + this.editor.execCommand('mceSelectNodeDepth', false, v); + }, + + _mceInsertAnchor : function(ui, v) { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/anchor.htm', + width : 320 + parseInt(ed.getLang('advanced.anchor_delta_width', 0)), + height : 90 + parseInt(ed.getLang('advanced.anchor_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceCharMap : function() { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/charmap.htm', + width : 550 + parseInt(ed.getLang('advanced.charmap_delta_width', 0)), + height : 250 + parseInt(ed.getLang('advanced.charmap_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceHelp : function() { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/about.htm', + width : 480, + height : 380, + inline : true + }, { + theme_url : this.url + }); + }, + + _mceShortcuts : function() { + var ed = this.editor; + ed.windowManager.open({ + url: this.url + '/shortcuts.htm', + width: 480, + height: 380, + inline: true + }, { + theme_url: this.url + }); + }, + + _mceColorPicker : function(u, v) { + var ed = this.editor; + + v = v || {}; + + ed.windowManager.open({ + url : this.url + '/color_picker.htm', + width : 375 + parseInt(ed.getLang('advanced.colorpicker_delta_width', 0)), + height : 250 + parseInt(ed.getLang('advanced.colorpicker_delta_height', 0)), + close_previous : false, + inline : true + }, { + input_color : v.color, + func : v.func, + theme_url : this.url + }); + }, + + _mceCodeEditor : function(ui, val) { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/source_editor.htm', + width : parseInt(ed.getParam("theme_advanced_source_editor_width", 720)), + height : parseInt(ed.getParam("theme_advanced_source_editor_height", 580)), + inline : true, + resizable : true, + maximizable : true + }, { + theme_url : this.url + }); + }, + + _mceImage : function(ui, val) { + var ed = this.editor; + + // Internal image object like a flash placeholder + if (ed.dom.getAttrib(ed.selection.getNode(), 'class').indexOf('mceItem') != -1) + return; + + ed.windowManager.open({ + url : this.url + '/image.htm', + width : 355 + parseInt(ed.getLang('advanced.image_delta_width', 0)), + height : 275 + parseInt(ed.getLang('advanced.image_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceLink : function(ui, val) { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/link.htm', + width : 310 + parseInt(ed.getLang('advanced.link_delta_width', 0)), + height : 200 + parseInt(ed.getLang('advanced.link_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceNewDocument : function() { + var ed = this.editor; + + ed.windowManager.confirm('advanced.newdocument', function(s) { + if (s) + ed.execCommand('mceSetContent', false, ''); + }); + }, + + _mceForeColor : function() { + var t = this; + + this._mceColorPicker(0, { + color: t.fgColor, + func : function(co) { + t.fgColor = co; + t.editor.execCommand('ForeColor', false, co); + } + }); + }, + + _mceBackColor : function() { + var t = this; + + this._mceColorPicker(0, { + color: t.bgColor, + func : function(co) { + t.bgColor = co; + t.editor.execCommand('HiliteColor', false, co); + } + }); + }, + + _ufirst : function(s) { + return s.substring(0, 1).toUpperCase() + s.substring(1); + } + }); + + tinymce.ThemeManager.add('advanced', tinymce.themes.AdvancedTheme); +}(tinymce)); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/image.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/image.htm new file mode 100644 index 00000000..884890fb --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/image.htm @@ -0,0 +1,80 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#advanced_dlg.image_title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <script type="text/javascript" src="js/image.js"></script> +</head> +<body id="image" style="display: none"> +<form onsubmit="ImageDialog.update();return false;" action="#"> + <div class="tabs"> + <ul> + <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advanced_dlg.image_title}</a></span></li> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="general_panel" class="panel current"> + <table border="0" cellpadding="4" cellspacing="0"> + <tr> + <td class="nowrap"><label for="src">{#advanced_dlg.image_src}</label></td> + <td><table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input id="src" name="src" type="text" class="mceFocus" value="" style="width: 200px" onchange="ImageDialog.getImageData();" /></td> + <td id="srcbrowsercontainer"> </td> + </tr> + </table></td> + </tr> + <tr> + <td><label for="image_list">{#advanced_dlg.image_list}</label></td> + <td><select id="image_list" name="image_list" onchange="document.getElementById('src').value=this.options[this.selectedIndex].value;document.getElementById('alt').value=this.options[this.selectedIndex].text;"></select></td> + </tr> + <tr> + <td class="nowrap"><label for="alt">{#advanced_dlg.image_alt}</label></td> + <td><input id="alt" name="alt" type="text" value="" style="width: 200px" /></td> + </tr> + <tr> + <td class="nowrap"><label for="align">{#advanced_dlg.image_align}</label></td> + <td><select id="align" name="align" onchange="ImageDialog.updateStyle();"> + <option value="">{#not_set}</option> + <option value="baseline">{#advanced_dlg.image_align_baseline}</option> + <option value="top">{#advanced_dlg.image_align_top}</option> + <option value="middle">{#advanced_dlg.image_align_middle}</option> + <option value="bottom">{#advanced_dlg.image_align_bottom}</option> + <option value="text-top">{#advanced_dlg.image_align_texttop}</option> + <option value="text-bottom">{#advanced_dlg.image_align_textbottom}</option> + <option value="left">{#advanced_dlg.image_align_left}</option> + <option value="right">{#advanced_dlg.image_align_right}</option> + </select></td> + </tr> + <tr> + <td class="nowrap"><label for="width">{#advanced_dlg.image_dimensions}</label></td> + <td><input id="width" name="width" type="text" value="" size="3" maxlength="5" /> + x + <input id="height" name="height" type="text" value="" size="3" maxlength="5" /></td> + </tr> + <tr> + <td class="nowrap"><label for="border">{#advanced_dlg.image_border}</label></td> + <td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="ImageDialog.updateStyle();" /></td> + </tr> + <tr> + <td class="nowrap"><label for="vspace">{#advanced_dlg.image_vspace}</label></td> + <td><input id="vspace" name="vspace" type="text" value="" size="3" maxlength="3" onchange="ImageDialog.updateStyle();" /></td> + </tr> + <tr> + <td class="nowrap"><label for="hspace">{#advanced_dlg.image_hspace}</label></td> + <td><input id="hspace" name="hspace" type="text" value="" size="3" maxlength="3" onchange="ImageDialog.updateStyle();" /></td> + </tr> + </table> + </div> + </div> + + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#insert}" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> +</form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg new file mode 100644 index 00000000..b1a377ab Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/flash.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/flash.png new file mode 100644 index 00000000..4062090f Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/flash.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/icons.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/icons.png new file mode 100644 index 00000000..ad459c3a Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/icons.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/iframe.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/iframe.png new file mode 100644 index 00000000..3c87c90d Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/iframe.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/pagebreak.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/pagebreak.png new file mode 100644 index 00000000..81d64a39 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/pagebreak.png differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/uploadImageIcon.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/quicktime.png similarity index 63% rename from resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/uploadImageIcon.png rename to resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/quicktime.png index bcffb72f..a820c4e6 100644 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/uploadImageIcon.png and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/quicktime.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/realmedia.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/realmedia.png new file mode 100644 index 00000000..3bc407c2 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/realmedia.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/shockwave.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/shockwave.png new file mode 100644 index 00000000..7189b7e1 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/shockwave.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/trans.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/trans.png new file mode 100644 index 00000000..a51108d2 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/trans.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/video.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/video.png new file mode 100644 index 00000000..87b9a5dc Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/video.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/windowsmedia.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/windowsmedia.png new file mode 100644 index 00000000..14920eac Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/img/windowsmedia.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/about.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/about.js new file mode 100644 index 00000000..daf4909a --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/about.js @@ -0,0 +1,73 @@ +tinyMCEPopup.requireLangPack(); + +function init() { + var ed, tcont; + + tinyMCEPopup.resizeToInnerSize(); + ed = tinyMCEPopup.editor; + + // Give FF some time + window.setTimeout(insertHelpIFrame, 10); + + tcont = document.getElementById('plugintablecontainer'); + document.getElementById('plugins_tab').style.display = 'none'; + + var html = ""; + html += '<table id="plugintable">'; + html += '<thead>'; + html += '<tr>'; + html += '<td>' + ed.getLang('advanced_dlg.about_plugin') + '</td>'; + html += '<td>' + ed.getLang('advanced_dlg.about_author') + '</td>'; + html += '<td>' + ed.getLang('advanced_dlg.about_version') + '</td>'; + html += '</tr>'; + html += '</thead>'; + html += '<tbody>'; + + tinymce.each(ed.plugins, function(p, n) { + var info; + + if (!p.getInfo) + return; + + html += '<tr>'; + + info = p.getInfo(); + + if (info.infourl != null && info.infourl != '') + html += '<td width="50%" title="' + n + '"><a href="' + info.infourl + '" target="_blank">' + info.longname + '</a></td>'; + else + html += '<td width="50%" title="' + n + '">' + info.longname + '</td>'; + + if (info.authorurl != null && info.authorurl != '') + html += '<td width="35%"><a href="' + info.authorurl + '" target="_blank">' + info.author + '</a></td>'; + else + html += '<td width="35%">' + info.author + '</td>'; + + html += '<td width="15%">' + info.version + '</td>'; + html += '</tr>'; + + document.getElementById('plugins_tab').style.display = ''; + + }); + + html += '</tbody>'; + html += '</table>'; + + tcont.innerHTML = html; + + tinyMCEPopup.dom.get('version').innerHTML = tinymce.majorVersion + "." + tinymce.minorVersion; + tinyMCEPopup.dom.get('date').innerHTML = tinymce.releaseDate; +} + +function insertHelpIFrame() { + var html; + + if (tinyMCEPopup.getParam('docs_url')) { + html = '<iframe width="100%" height="300" src="' + tinyMCEPopup.editor.baseURI.toAbsolute(tinyMCEPopup.getParam('docs_url')) + '"></iframe>'; + document.getElementById('iframecontainer').innerHTML = html; + document.getElementById('help_tab').style.display = 'block'; + document.getElementById('help_tab').setAttribute("aria-hidden", "false"); + } +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/anchor.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/anchor.js new file mode 100644 index 00000000..7b556351 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/anchor.js @@ -0,0 +1,42 @@ +tinyMCEPopup.requireLangPack(); + +var AnchorDialog = { + init : function(ed) { + var action, elm, f = document.forms[0]; + + this.editor = ed; + elm = ed.dom.getParent(ed.selection.getNode(), 'A'); + v = ed.dom.getAttrib(elm, 'name'); + + if (v) { + this.action = 'update'; + f.anchorName.value = v; + } + + f.insert.value = ed.getLang(elm ? 'update' : 'insert'); + }, + + update : function() { + var ed = this.editor, elm, name = document.forms[0].anchorName.value; + + if (!name || !/^[a-z][a-z0-9\-\_:\.]*$/i.test(name)) { + tinyMCEPopup.alert('advanced_dlg.anchor_invalid'); + return; + } + + tinyMCEPopup.restoreSelection(); + + if (this.action != 'update') + ed.selection.collapse(1); + + elm = ed.dom.getParent(ed.selection.getNode(), 'A'); + if (elm) + elm.name = name; + else + ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('a', {name : name, 'class' : 'mceItemAnchor'}, '')); + + tinyMCEPopup.close(); + } +}; + +tinyMCEPopup.onInit.add(AnchorDialog.init, AnchorDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/charmap.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/charmap.js new file mode 100644 index 00000000..78bc080e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/charmap.js @@ -0,0 +1,355 @@ +/** + * charmap.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +tinyMCEPopup.requireLangPack(); + +var charmap = [ + [' ', ' ', true, 'no-break space'], + ['&', '&', true, 'ampersand'], + ['"', '"', true, 'quotation mark'], +// finance + ['¢', '¢', true, 'cent sign'], + ['€', '€', true, 'euro sign'], + ['£', '£', true, 'pound sign'], + ['¥', '¥', true, 'yen sign'], +// signs + ['©', '©', true, 'copyright sign'], + ['®', '®', true, 'registered sign'], + ['™', '™', true, 'trade mark sign'], + ['‰', '‰', true, 'per mille sign'], + ['µ', 'µ', true, 'micro sign'], + ['·', '·', true, 'middle dot'], + ['•', '•', true, 'bullet'], + ['…', '…', true, 'three dot leader'], + ['′', '′', true, 'minutes / feet'], + ['″', '″', true, 'seconds / inches'], + ['§', '§', true, 'section sign'], + ['¶', '¶', true, 'paragraph sign'], + ['ß', 'ß', true, 'sharp s / ess-zed'], +// quotations + ['‹', '‹', true, 'single left-pointing angle quotation mark'], + ['›', '›', true, 'single right-pointing angle quotation mark'], + ['«', '«', true, 'left pointing guillemet'], + ['»', '»', true, 'right pointing guillemet'], + ['‘', '‘', true, 'left single quotation mark'], + ['’', '’', true, 'right single quotation mark'], + ['“', '“', true, 'left double quotation mark'], + ['”', '”', true, 'right double quotation mark'], + ['‚', '‚', true, 'single low-9 quotation mark'], + ['„', '„', true, 'double low-9 quotation mark'], + ['<', '<', true, 'less-than sign'], + ['>', '>', true, 'greater-than sign'], + ['≤', '≤', true, 'less-than or equal to'], + ['≥', '≥', true, 'greater-than or equal to'], + ['–', '–', true, 'en dash'], + ['—', '—', true, 'em dash'], + ['¯', '¯', true, 'macron'], + ['‾', '‾', true, 'overline'], + ['¤', '¤', true, 'currency sign'], + ['¦', '¦', true, 'broken bar'], + ['¨', '¨', true, 'diaeresis'], + ['¡', '¡', true, 'inverted exclamation mark'], + ['¿', '¿', true, 'turned question mark'], + ['ˆ', 'ˆ', true, 'circumflex accent'], + ['˜', '˜', true, 'small tilde'], + ['°', '°', true, 'degree sign'], + ['−', '−', true, 'minus sign'], + ['±', '±', true, 'plus-minus sign'], + ['÷', '÷', true, 'division sign'], + ['⁄', '⁄', true, 'fraction slash'], + ['×', '×', true, 'multiplication sign'], + ['¹', '¹', true, 'superscript one'], + ['²', '²', true, 'superscript two'], + ['³', '³', true, 'superscript three'], + ['¼', '¼', true, 'fraction one quarter'], + ['½', '½', true, 'fraction one half'], + ['¾', '¾', true, 'fraction three quarters'], +// math / logical + ['ƒ', 'ƒ', true, 'function / florin'], + ['∫', '∫', true, 'integral'], + ['∑', '∑', true, 'n-ary sumation'], + ['∞', '∞', true, 'infinity'], + ['√', '√', true, 'square root'], + ['∼', '∼', false,'similar to'], + ['≅', '≅', false,'approximately equal to'], + ['≈', '≈', true, 'almost equal to'], + ['≠', '≠', true, 'not equal to'], + ['≡', '≡', true, 'identical to'], + ['∈', '∈', false,'element of'], + ['∉', '∉', false,'not an element of'], + ['∋', '∋', false,'contains as member'], + ['∏', '∏', true, 'n-ary product'], + ['∧', '∧', false,'logical and'], + ['∨', '∨', false,'logical or'], + ['¬', '¬', true, 'not sign'], + ['∩', '∩', true, 'intersection'], + ['∪', '∪', false,'union'], + ['∂', '∂', true, 'partial differential'], + ['∀', '∀', false,'for all'], + ['∃', '∃', false,'there exists'], + ['∅', '∅', false,'diameter'], + ['∇', '∇', false,'backward difference'], + ['∗', '∗', false,'asterisk operator'], + ['∝', '∝', false,'proportional to'], + ['∠', '∠', false,'angle'], +// undefined + ['´', '´', true, 'acute accent'], + ['¸', '¸', true, 'cedilla'], + ['ª', 'ª', true, 'feminine ordinal indicator'], + ['º', 'º', true, 'masculine ordinal indicator'], + ['†', '†', true, 'dagger'], + ['‡', '‡', true, 'double dagger'], +// alphabetical special chars + ['À', 'À', true, 'A - grave'], + ['Á', 'Á', true, 'A - acute'], + ['Â', 'Â', true, 'A - circumflex'], + ['Ã', 'Ã', true, 'A - tilde'], + ['Ä', 'Ä', true, 'A - diaeresis'], + ['Å', 'Å', true, 'A - ring above'], + ['Æ', 'Æ', true, 'ligature AE'], + ['Ç', 'Ç', true, 'C - cedilla'], + ['È', 'È', true, 'E - grave'], + ['É', 'É', true, 'E - acute'], + ['Ê', 'Ê', true, 'E - circumflex'], + ['Ë', 'Ë', true, 'E - diaeresis'], + ['Ì', 'Ì', true, 'I - grave'], + ['Í', 'Í', true, 'I - acute'], + ['Î', 'Î', true, 'I - circumflex'], + ['Ï', 'Ï', true, 'I - diaeresis'], + ['Ð', 'Ð', true, 'ETH'], + ['Ñ', 'Ñ', true, 'N - tilde'], + ['Ò', 'Ò', true, 'O - grave'], + ['Ó', 'Ó', true, 'O - acute'], + ['Ô', 'Ô', true, 'O - circumflex'], + ['Õ', 'Õ', true, 'O - tilde'], + ['Ö', 'Ö', true, 'O - diaeresis'], + ['Ø', 'Ø', true, 'O - slash'], + ['Œ', 'Œ', true, 'ligature OE'], + ['Š', 'Š', true, 'S - caron'], + ['Ù', 'Ù', true, 'U - grave'], + ['Ú', 'Ú', true, 'U - acute'], + ['Û', 'Û', true, 'U - circumflex'], + ['Ü', 'Ü', true, 'U - diaeresis'], + ['Ý', 'Ý', true, 'Y - acute'], + ['Ÿ', 'Ÿ', true, 'Y - diaeresis'], + ['Þ', 'Þ', true, 'THORN'], + ['à', 'à', true, 'a - grave'], + ['á', 'á', true, 'a - acute'], + ['â', 'â', true, 'a - circumflex'], + ['ã', 'ã', true, 'a - tilde'], + ['ä', 'ä', true, 'a - diaeresis'], + ['å', 'å', true, 'a - ring above'], + ['æ', 'æ', true, 'ligature ae'], + ['ç', 'ç', true, 'c - cedilla'], + ['è', 'è', true, 'e - grave'], + ['é', 'é', true, 'e - acute'], + ['ê', 'ê', true, 'e - circumflex'], + ['ë', 'ë', true, 'e - diaeresis'], + ['ì', 'ì', true, 'i - grave'], + ['í', 'í', true, 'i - acute'], + ['î', 'î', true, 'i - circumflex'], + ['ï', 'ï', true, 'i - diaeresis'], + ['ð', 'ð', true, 'eth'], + ['ñ', 'ñ', true, 'n - tilde'], + ['ò', 'ò', true, 'o - grave'], + ['ó', 'ó', true, 'o - acute'], + ['ô', 'ô', true, 'o - circumflex'], + ['õ', 'õ', true, 'o - tilde'], + ['ö', 'ö', true, 'o - diaeresis'], + ['ø', 'ø', true, 'o slash'], + ['œ', 'œ', true, 'ligature oe'], + ['š', 'š', true, 's - caron'], + ['ù', 'ù', true, 'u - grave'], + ['ú', 'ú', true, 'u - acute'], + ['û', 'û', true, 'u - circumflex'], + ['ü', 'ü', true, 'u - diaeresis'], + ['ý', 'ý', true, 'y - acute'], + ['þ', 'þ', true, 'thorn'], + ['ÿ', 'ÿ', true, 'y - diaeresis'], + ['Α', 'Α', true, 'Alpha'], + ['Β', 'Β', true, 'Beta'], + ['Γ', 'Γ', true, 'Gamma'], + ['Δ', 'Δ', true, 'Delta'], + ['Ε', 'Ε', true, 'Epsilon'], + ['Ζ', 'Ζ', true, 'Zeta'], + ['Η', 'Η', true, 'Eta'], + ['Θ', 'Θ', true, 'Theta'], + ['Ι', 'Ι', true, 'Iota'], + ['Κ', 'Κ', true, 'Kappa'], + ['Λ', 'Λ', true, 'Lambda'], + ['Μ', 'Μ', true, 'Mu'], + ['Ν', 'Ν', true, 'Nu'], + ['Ξ', 'Ξ', true, 'Xi'], + ['Ο', 'Ο', true, 'Omicron'], + ['Π', 'Π', true, 'Pi'], + ['Ρ', 'Ρ', true, 'Rho'], + ['Σ', 'Σ', true, 'Sigma'], + ['Τ', 'Τ', true, 'Tau'], + ['Υ', 'Υ', true, 'Upsilon'], + ['Φ', 'Φ', true, 'Phi'], + ['Χ', 'Χ', true, 'Chi'], + ['Ψ', 'Ψ', true, 'Psi'], + ['Ω', 'Ω', true, 'Omega'], + ['α', 'α', true, 'alpha'], + ['β', 'β', true, 'beta'], + ['γ', 'γ', true, 'gamma'], + ['δ', 'δ', true, 'delta'], + ['ε', 'ε', true, 'epsilon'], + ['ζ', 'ζ', true, 'zeta'], + ['η', 'η', true, 'eta'], + ['θ', 'θ', true, 'theta'], + ['ι', 'ι', true, 'iota'], + ['κ', 'κ', true, 'kappa'], + ['λ', 'λ', true, 'lambda'], + ['μ', 'μ', true, 'mu'], + ['ν', 'ν', true, 'nu'], + ['ξ', 'ξ', true, 'xi'], + ['ο', 'ο', true, 'omicron'], + ['π', 'π', true, 'pi'], + ['ρ', 'ρ', true, 'rho'], + ['ς', 'ς', true, 'final sigma'], + ['σ', 'σ', true, 'sigma'], + ['τ', 'τ', true, 'tau'], + ['υ', 'υ', true, 'upsilon'], + ['φ', 'φ', true, 'phi'], + ['χ', 'χ', true, 'chi'], + ['ψ', 'ψ', true, 'psi'], + ['ω', 'ω', true, 'omega'], +// symbols + ['ℵ', 'ℵ', false,'alef symbol'], + ['ϖ', 'ϖ', false,'pi symbol'], + ['ℜ', 'ℜ', false,'real part symbol'], + ['ϑ','ϑ', false,'theta symbol'], + ['ϒ', 'ϒ', false,'upsilon - hook symbol'], + ['℘', '℘', false,'Weierstrass p'], + ['ℑ', 'ℑ', false,'imaginary part'], +// arrows + ['←', '←', true, 'leftwards arrow'], + ['↑', '↑', true, 'upwards arrow'], + ['→', '→', true, 'rightwards arrow'], + ['↓', '↓', true, 'downwards arrow'], + ['↔', '↔', true, 'left right arrow'], + ['↵', '↵', false,'carriage return'], + ['⇐', '⇐', false,'leftwards double arrow'], + ['⇑', '⇑', false,'upwards double arrow'], + ['⇒', '⇒', false,'rightwards double arrow'], + ['⇓', '⇓', false,'downwards double arrow'], + ['⇔', '⇔', false,'left right double arrow'], + ['∴', '∴', false,'therefore'], + ['⊂', '⊂', false,'subset of'], + ['⊃', '⊃', false,'superset of'], + ['⊄', '⊄', false,'not a subset of'], + ['⊆', '⊆', false,'subset of or equal to'], + ['⊇', '⊇', false,'superset of or equal to'], + ['⊕', '⊕', false,'circled plus'], + ['⊗', '⊗', false,'circled times'], + ['⊥', '⊥', false,'perpendicular'], + ['⋅', '⋅', false,'dot operator'], + ['⌈', '⌈', false,'left ceiling'], + ['⌉', '⌉', false,'right ceiling'], + ['⌊', '⌊', false,'left floor'], + ['⌋', '⌋', false,'right floor'], + ['⟨', '〈', false,'left-pointing angle bracket'], + ['⟩', '〉', false,'right-pointing angle bracket'], + ['◊', '◊', true, 'lozenge'], + ['♠', '♠', true, 'black spade suit'], + ['♣', '♣', true, 'black club suit'], + ['♥', '♥', true, 'black heart suit'], + ['♦', '♦', true, 'black diamond suit'], + [' ', ' ', false,'en space'], + [' ', ' ', false,'em space'], + [' ', ' ', false,'thin space'], + ['‌', '‌', false,'zero width non-joiner'], + ['‍', '‍', false,'zero width joiner'], + ['‎', '‎', false,'left-to-right mark'], + ['‏', '‏', false,'right-to-left mark'], + ['­', '­', false,'soft hyphen'] +]; + +tinyMCEPopup.onInit.add(function() { + tinyMCEPopup.dom.setHTML('charmapView', renderCharMapHTML()); + addKeyboardNavigation(); +}); + +function addKeyboardNavigation(){ + var tableElm, cells, settings; + + cells = tinyMCEPopup.dom.select(".charmaplink", "charmapgroup"); + + settings ={ + root: "charmapgroup", + items: cells + }; + + tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', settings, tinyMCEPopup.dom); +} + +function renderCharMapHTML() { + var charsPerRow = 20, tdWidth=20, tdHeight=20, i; + var html = '<div id="charmapgroup" aria-labelledby="charmap_label" tabindex="0" role="listbox">'+ + '<table role="presentation" border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + + '"><tr height="' + tdHeight + '">'; + var cols=-1; + + for (i=0; i<charmap.length; i++) { + var previewCharFn; + + if (charmap[i][2]==true) { + cols++; + previewCharFn = 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');'; + html += '' + + '<td class="charmap">' + + '<a class="charmaplink" role="button" onmouseover="'+previewCharFn+'" onfocus="'+previewCharFn+'" href="javascript:void(0)" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + '">' + + charmap[i][1] + + '</a></td>'; + if ((cols+1) % charsPerRow == 0) + html += '</tr><tr height="' + tdHeight + '">'; + } + } + + if (cols % charsPerRow > 0) { + var padd = charsPerRow - (cols % charsPerRow); + for (var i=0; i<padd-1; i++) + html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"> </td>'; + } + + html += '</tr></table></div>'; + html = html.replace(/<tr height="20"><\/tr>/g, ''); + + return html; +} + +function insertChar(chr) { + tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';'); + + // Refocus in window + if (tinyMCEPopup.isWindow) + window.focus(); + + tinyMCEPopup.editor.focus(); + tinyMCEPopup.close(); +} + +function previewChar(codeA, codeB, codeN) { + var elmA = document.getElementById('codeA'); + var elmB = document.getElementById('codeB'); + var elmV = document.getElementById('codeV'); + var elmN = document.getElementById('codeN'); + + if (codeA=='#160;') { + elmV.innerHTML = '__'; + } else { + elmV.innerHTML = '&' + codeA; + } + + elmB.innerHTML = '&' + codeA; + elmA.innerHTML = '&' + codeB; + elmN.innerHTML = codeN; +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/color_picker.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/color_picker.js new file mode 100644 index 00000000..cdf8c4c0 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/color_picker.js @@ -0,0 +1,329 @@ +tinyMCEPopup.requireLangPack(); + +var detail = 50, strhex = "0123456789ABCDEF", i, isMouseDown = false, isMouseOver = false; + +var colors = [ + "#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033", + "#330066","#330099","#3300cc","#3300ff","#660000","#660033","#660066","#660099", + "#6600cc","#6600ff","#990000","#990033","#990066","#990099","#9900cc","#9900ff", + "#cc0000","#cc0033","#cc0066","#cc0099","#cc00cc","#cc00ff","#ff0000","#ff0033", + "#ff0066","#ff0099","#ff00cc","#ff00ff","#003300","#003333","#003366","#003399", + "#0033cc","#0033ff","#333300","#333333","#333366","#333399","#3333cc","#3333ff", + "#663300","#663333","#663366","#663399","#6633cc","#6633ff","#993300","#993333", + "#993366","#993399","#9933cc","#9933ff","#cc3300","#cc3333","#cc3366","#cc3399", + "#cc33cc","#cc33ff","#ff3300","#ff3333","#ff3366","#ff3399","#ff33cc","#ff33ff", + "#006600","#006633","#006666","#006699","#0066cc","#0066ff","#336600","#336633", + "#336666","#336699","#3366cc","#3366ff","#666600","#666633","#666666","#666699", + "#6666cc","#6666ff","#996600","#996633","#996666","#996699","#9966cc","#9966ff", + "#cc6600","#cc6633","#cc6666","#cc6699","#cc66cc","#cc66ff","#ff6600","#ff6633", + "#ff6666","#ff6699","#ff66cc","#ff66ff","#009900","#009933","#009966","#009999", + "#0099cc","#0099ff","#339900","#339933","#339966","#339999","#3399cc","#3399ff", + "#669900","#669933","#669966","#669999","#6699cc","#6699ff","#999900","#999933", + "#999966","#999999","#9999cc","#9999ff","#cc9900","#cc9933","#cc9966","#cc9999", + "#cc99cc","#cc99ff","#ff9900","#ff9933","#ff9966","#ff9999","#ff99cc","#ff99ff", + "#00cc00","#00cc33","#00cc66","#00cc99","#00cccc","#00ccff","#33cc00","#33cc33", + "#33cc66","#33cc99","#33cccc","#33ccff","#66cc00","#66cc33","#66cc66","#66cc99", + "#66cccc","#66ccff","#99cc00","#99cc33","#99cc66","#99cc99","#99cccc","#99ccff", + "#cccc00","#cccc33","#cccc66","#cccc99","#cccccc","#ccccff","#ffcc00","#ffcc33", + "#ffcc66","#ffcc99","#ffcccc","#ffccff","#00ff00","#00ff33","#00ff66","#00ff99", + "#00ffcc","#00ffff","#33ff00","#33ff33","#33ff66","#33ff99","#33ffcc","#33ffff", + "#66ff00","#66ff33","#66ff66","#66ff99","#66ffcc","#66ffff","#99ff00","#99ff33", + "#99ff66","#99ff99","#99ffcc","#99ffff","#ccff00","#ccff33","#ccff66","#ccff99", + "#ccffcc","#ccffff","#ffff00","#ffff33","#ffff66","#ffff99","#ffffcc","#ffffff" +]; + +var named = { + '#F0F8FF':'Alice Blue','#FAEBD7':'Antique White','#00FFFF':'Aqua','#7FFFD4':'Aquamarine','#F0FFFF':'Azure','#F5F5DC':'Beige', + '#FFE4C4':'Bisque','#000000':'Black','#FFEBCD':'Blanched Almond','#0000FF':'Blue','#8A2BE2':'Blue Violet','#A52A2A':'Brown', + '#DEB887':'Burly Wood','#5F9EA0':'Cadet Blue','#7FFF00':'Chartreuse','#D2691E':'Chocolate','#FF7F50':'Coral','#6495ED':'Cornflower Blue', + '#FFF8DC':'Cornsilk','#DC143C':'Crimson','#00FFFF':'Cyan','#00008B':'Dark Blue','#008B8B':'Dark Cyan','#B8860B':'Dark Golden Rod', + '#A9A9A9':'Dark Gray','#A9A9A9':'Dark Grey','#006400':'Dark Green','#BDB76B':'Dark Khaki','#8B008B':'Dark Magenta','#556B2F':'Dark Olive Green', + '#FF8C00':'Darkorange','#9932CC':'Dark Orchid','#8B0000':'Dark Red','#E9967A':'Dark Salmon','#8FBC8F':'Dark Sea Green','#483D8B':'Dark Slate Blue', + '#2F4F4F':'Dark Slate Gray','#2F4F4F':'Dark Slate Grey','#00CED1':'Dark Turquoise','#9400D3':'Dark Violet','#FF1493':'Deep Pink','#00BFFF':'Deep Sky Blue', + '#696969':'Dim Gray','#696969':'Dim Grey','#1E90FF':'Dodger Blue','#B22222':'Fire Brick','#FFFAF0':'Floral White','#228B22':'Forest Green', + '#FF00FF':'Fuchsia','#DCDCDC':'Gainsboro','#F8F8FF':'Ghost White','#FFD700':'Gold','#DAA520':'Golden Rod','#808080':'Gray','#808080':'Grey', + '#008000':'Green','#ADFF2F':'Green Yellow','#F0FFF0':'Honey Dew','#FF69B4':'Hot Pink','#CD5C5C':'Indian Red','#4B0082':'Indigo','#FFFFF0':'Ivory', + '#F0E68C':'Khaki','#E6E6FA':'Lavender','#FFF0F5':'Lavender Blush','#7CFC00':'Lawn Green','#FFFACD':'Lemon Chiffon','#ADD8E6':'Light Blue', + '#F08080':'Light Coral','#E0FFFF':'Light Cyan','#FAFAD2':'Light Golden Rod Yellow','#D3D3D3':'Light Gray','#D3D3D3':'Light Grey','#90EE90':'Light Green', + '#FFB6C1':'Light Pink','#FFA07A':'Light Salmon','#20B2AA':'Light Sea Green','#87CEFA':'Light Sky Blue','#778899':'Light Slate Gray','#778899':'Light Slate Grey', + '#B0C4DE':'Light Steel Blue','#FFFFE0':'Light Yellow','#00FF00':'Lime','#32CD32':'Lime Green','#FAF0E6':'Linen','#FF00FF':'Magenta','#800000':'Maroon', + '#66CDAA':'Medium Aqua Marine','#0000CD':'Medium Blue','#BA55D3':'Medium Orchid','#9370D8':'Medium Purple','#3CB371':'Medium Sea Green','#7B68EE':'Medium Slate Blue', + '#00FA9A':'Medium Spring Green','#48D1CC':'Medium Turquoise','#C71585':'Medium Violet Red','#191970':'Midnight Blue','#F5FFFA':'Mint Cream','#FFE4E1':'Misty Rose','#FFE4B5':'Moccasin', + '#FFDEAD':'Navajo White','#000080':'Navy','#FDF5E6':'Old Lace','#808000':'Olive','#6B8E23':'Olive Drab','#FFA500':'Orange','#FF4500':'Orange Red','#DA70D6':'Orchid', + '#EEE8AA':'Pale Golden Rod','#98FB98':'Pale Green','#AFEEEE':'Pale Turquoise','#D87093':'Pale Violet Red','#FFEFD5':'Papaya Whip','#FFDAB9':'Peach Puff', + '#CD853F':'Peru','#FFC0CB':'Pink','#DDA0DD':'Plum','#B0E0E6':'Powder Blue','#800080':'Purple','#FF0000':'Red','#BC8F8F':'Rosy Brown','#4169E1':'Royal Blue', + '#8B4513':'Saddle Brown','#FA8072':'Salmon','#F4A460':'Sandy Brown','#2E8B57':'Sea Green','#FFF5EE':'Sea Shell','#A0522D':'Sienna','#C0C0C0':'Silver', + '#87CEEB':'Sky Blue','#6A5ACD':'Slate Blue','#708090':'Slate Gray','#708090':'Slate Grey','#FFFAFA':'Snow','#00FF7F':'Spring Green', + '#4682B4':'Steel Blue','#D2B48C':'Tan','#008080':'Teal','#D8BFD8':'Thistle','#FF6347':'Tomato','#40E0D0':'Turquoise','#EE82EE':'Violet', + '#F5DEB3':'Wheat','#FFFFFF':'White','#F5F5F5':'White Smoke','#FFFF00':'Yellow','#9ACD32':'Yellow Green' +}; + +var namedLookup = {}; + +function init() { + var inputColor = convertRGBToHex(tinyMCEPopup.getWindowArg('input_color')), key, value; + + tinyMCEPopup.resizeToInnerSize(); + + generatePicker(); + generateWebColors(); + generateNamedColors(); + + if (inputColor) { + changeFinalColor(inputColor); + + col = convertHexToRGB(inputColor); + + if (col) + updateLight(col.r, col.g, col.b); + } + + for (key in named) { + value = named[key]; + namedLookup[value.replace(/\s+/, '').toLowerCase()] = key.replace(/#/, '').toLowerCase(); + } +} + +function toHexColor(color) { + var matches, red, green, blue, toInt = parseInt; + + function hex(value) { + value = parseInt(value).toString(16); + + return value.length > 1 ? value : '0' + value; // Padd with leading zero + }; + + color = color.replace(/[\s#]+/g, '').toLowerCase(); + color = namedLookup[color] || color; + matches = /^rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)|([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})|([a-f0-9])([a-f0-9])([a-f0-9])$/.exec(color); + + if (matches) { + if (matches[1]) { + red = toInt(matches[1]); + green = toInt(matches[2]); + blue = toInt(matches[3]); + } else if (matches[4]) { + red = toInt(matches[4], 16); + green = toInt(matches[5], 16); + blue = toInt(matches[6], 16); + } else if (matches[7]) { + red = toInt(matches[7] + matches[7], 16); + green = toInt(matches[8] + matches[8], 16); + blue = toInt(matches[9] + matches[9], 16); + } + + return '#' + hex(red) + hex(green) + hex(blue); + } + + return ''; +} + +function insertAction() { + var color = document.getElementById("color").value, f = tinyMCEPopup.getWindowArg('func'); + + tinyMCEPopup.restoreSelection(); + + if (f) + f(toHexColor(color)); + + tinyMCEPopup.close(); +} + +function showColor(color, name) { + if (name) + document.getElementById("colorname").innerHTML = name; + + document.getElementById("preview").style.backgroundColor = color; + document.getElementById("color").value = color.toUpperCase(); +} + +function convertRGBToHex(col) { + var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi"); + + if (!col) + return col; + + var rgb = col.replace(re, "$1,$2,$3").split(','); + if (rgb.length == 3) { + r = parseInt(rgb[0]).toString(16); + g = parseInt(rgb[1]).toString(16); + b = parseInt(rgb[2]).toString(16); + + r = r.length == 1 ? '0' + r : r; + g = g.length == 1 ? '0' + g : g; + b = b.length == 1 ? '0' + b : b; + + return "#" + r + g + b; + } + + return col; +} + +function convertHexToRGB(col) { + if (col.indexOf('#') != -1) { + col = col.replace(new RegExp('[^0-9A-F]', 'gi'), ''); + + r = parseInt(col.substring(0, 2), 16); + g = parseInt(col.substring(2, 4), 16); + b = parseInt(col.substring(4, 6), 16); + + return {r : r, g : g, b : b}; + } + + return null; +} + +function generatePicker() { + var el = document.getElementById('light'), h = '', i; + + for (i = 0; i < detail; i++){ + h += '<div id="gs'+i+'" style="background-color:#000000; width:15px; height:3px; border-style:none; border-width:0px;"' + + ' onclick="changeFinalColor(this.style.backgroundColor)"' + + ' onmousedown="isMouseDown = true; return false;"' + + ' onmouseup="isMouseDown = false;"' + + ' onmousemove="if (isMouseDown && isMouseOver) changeFinalColor(this.style.backgroundColor); return false;"' + + ' onmouseover="isMouseOver = true;"' + + ' onmouseout="isMouseOver = false;"' + + '></div>'; + } + + el.innerHTML = h; +} + +function generateWebColors() { + var el = document.getElementById('webcolors'), h = '', i; + + if (el.className == 'generated') + return; + + // TODO: VoiceOver doesn't seem to support legend as a label referenced by labelledby. + h += '<div role="listbox" aria-labelledby="webcolors_title" tabindex="0"><table role="presentation" border="0" cellspacing="1" cellpadding="0">' + + '<tr>'; + + for (i=0; i<colors.length; i++) { + h += '<td bgcolor="' + colors[i] + '" width="10" height="10">' + + '<a href="javascript:insertAction();" role="option" tabindex="-1" aria-labelledby="web_colors_' + i + '" onfocus="showColor(\'' + colors[i] + '\');" onmouseover="showColor(\'' + colors[i] + '\');" style="display:block;width:10px;height:10px;overflow:hidden;">'; + if (tinyMCEPopup.editor.forcedHighContrastMode) { + h += '<canvas class="mceColorSwatch" height="10" width="10" data-color="' + colors[i] + '"></canvas>'; + } + h += '<span class="mceVoiceLabel" style="display:none;" id="web_colors_' + i + '">' + colors[i].toUpperCase() + '</span>'; + h += '</a></td>'; + if ((i+1) % 18 == 0) + h += '</tr><tr>'; + } + + h += '</table></div>'; + + el.innerHTML = h; + el.className = 'generated'; + + paintCanvas(el); + enableKeyboardNavigation(el.firstChild); +} + +function paintCanvas(el) { + tinyMCEPopup.getWin().tinymce.each(tinyMCEPopup.dom.select('canvas.mceColorSwatch', el), function(canvas) { + var context; + if (canvas.getContext && (context = canvas.getContext("2d"))) { + context.fillStyle = canvas.getAttribute('data-color'); + context.fillRect(0, 0, 10, 10); + } + }); +} +function generateNamedColors() { + var el = document.getElementById('namedcolors'), h = '', n, v, i = 0; + + if (el.className == 'generated') + return; + + for (n in named) { + v = named[n]; + h += '<a href="javascript:insertAction();" role="option" tabindex="-1" aria-labelledby="named_colors_' + i + '" onfocus="showColor(\'' + n + '\',\'' + v + '\');" onmouseover="showColor(\'' + n + '\',\'' + v + '\');" style="background-color: ' + n + '">'; + if (tinyMCEPopup.editor.forcedHighContrastMode) { + h += '<canvas class="mceColorSwatch" height="10" width="10" data-color="' + colors[i] + '"></canvas>'; + } + h += '<span class="mceVoiceLabel" style="display:none;" id="named_colors_' + i + '">' + v + '</span>'; + h += '</a>'; + i++; + } + + el.innerHTML = h; + el.className = 'generated'; + + paintCanvas(el); + enableKeyboardNavigation(el); +} + +function enableKeyboardNavigation(el) { + tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', { + root: el, + items: tinyMCEPopup.dom.select('a', el) + }, tinyMCEPopup.dom); +} + +function dechex(n) { + return strhex.charAt(Math.floor(n / 16)) + strhex.charAt(n % 16); +} + +function computeColor(e) { + var x, y, partWidth, partDetail, imHeight, r, g, b, coef, i, finalCoef, finalR, finalG, finalB; + + x = e.offsetX ? e.offsetX : (e.target ? e.clientX - e.target.x : 0); + y = e.offsetY ? e.offsetY : (e.target ? e.clientY - e.target.y : 0); + + partWidth = document.getElementById('colors').width / 6; + partDetail = detail / 2; + imHeight = document.getElementById('colors').height; + + r = (x >= 0)*(x < partWidth)*255 + (x >= partWidth)*(x < 2*partWidth)*(2*255 - x * 255 / partWidth) + (x >= 4*partWidth)*(x < 5*partWidth)*(-4*255 + x * 255 / partWidth) + (x >= 5*partWidth)*(x < 6*partWidth)*255; + g = (x >= 0)*(x < partWidth)*(x * 255 / partWidth) + (x >= partWidth)*(x < 3*partWidth)*255 + (x >= 3*partWidth)*(x < 4*partWidth)*(4*255 - x * 255 / partWidth); + b = (x >= 2*partWidth)*(x < 3*partWidth)*(-2*255 + x * 255 / partWidth) + (x >= 3*partWidth)*(x < 5*partWidth)*255 + (x >= 5*partWidth)*(x < 6*partWidth)*(6*255 - x * 255 / partWidth); + + coef = (imHeight - y) / imHeight; + r = 128 + (r - 128) * coef; + g = 128 + (g - 128) * coef; + b = 128 + (b - 128) * coef; + + changeFinalColor('#' + dechex(r) + dechex(g) + dechex(b)); + updateLight(r, g, b); +} + +function updateLight(r, g, b) { + var i, partDetail = detail / 2, finalCoef, finalR, finalG, finalB, color; + + for (i=0; i<detail; i++) { + if ((i>=0) && (i<partDetail)) { + finalCoef = i / partDetail; + finalR = dechex(255 - (255 - r) * finalCoef); + finalG = dechex(255 - (255 - g) * finalCoef); + finalB = dechex(255 - (255 - b) * finalCoef); + } else { + finalCoef = 2 - i / partDetail; + finalR = dechex(r * finalCoef); + finalG = dechex(g * finalCoef); + finalB = dechex(b * finalCoef); + } + + color = finalR + finalG + finalB; + + setCol('gs' + i, '#'+color); + } +} + +function changeFinalColor(color) { + if (color.indexOf('#') == -1) + color = convertRGBToHex(color); + + setCol('preview', color); + document.getElementById('color').value = color; +} + +function setCol(e, c) { + try { + document.getElementById(e).style.backgroundColor = c; + } catch (ex) { + // Ignore IE warning + } +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/image.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/image.js new file mode 100644 index 00000000..298c1be1 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/image.js @@ -0,0 +1,247 @@ +var ImageDialog = { + preInit : function() { + var url; + + tinyMCEPopup.requireLangPack(); + + if (url = tinyMCEPopup.getParam("external_image_list_url")) + document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>'); + }, + + init : function() { + var f = document.forms[0], ed = tinyMCEPopup.editor; + + // Setup browse button + document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image'); + if (isVisible('srcbrowser')) + document.getElementById('src').style.width = '180px'; + + e = ed.selection.getNode(); + + this.fillFileList('image_list', tinyMCEPopup.getParam('external_image_list', 'tinyMCEImageList')); + + if (e.nodeName == 'IMG') { + f.src.value = ed.dom.getAttrib(e, 'src'); + f.alt.value = ed.dom.getAttrib(e, 'alt'); + f.border.value = this.getAttrib(e, 'border'); + f.vspace.value = this.getAttrib(e, 'vspace'); + f.hspace.value = this.getAttrib(e, 'hspace'); + f.width.value = ed.dom.getAttrib(e, 'width'); + f.height.value = ed.dom.getAttrib(e, 'height'); + f.insert.value = ed.getLang('update'); + this.styleVal = ed.dom.getAttrib(e, 'style'); + selectByValue(f, 'image_list', f.src.value); + selectByValue(f, 'align', this.getAttrib(e, 'align')); + this.updateStyle(); + } + }, + + fillFileList : function(id, l) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + l = typeof(l) === 'function' ? l() : window[l]; + + if (l && l.length > 0) { + lst.options[lst.options.length] = new Option('', ''); + + tinymce.each(l, function(o) { + lst.options[lst.options.length] = new Option(o[0], o[1]); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + update : function() { + var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, args = {}, el; + + tinyMCEPopup.restoreSelection(); + + if (f.src.value === '') { + if (ed.selection.getNode().nodeName == 'IMG') { + ed.dom.remove(ed.selection.getNode()); + ed.execCommand('mceRepaint'); + } + + tinyMCEPopup.close(); + return; + } + + if (!ed.settings.inline_styles) { + args = tinymce.extend(args, { + vspace : nl.vspace.value, + hspace : nl.hspace.value, + border : nl.border.value, + align : getSelectValue(f, 'align') + }); + } else + args.style = this.styleVal; + + tinymce.extend(args, { + src : f.src.value.replace(/ /g, '%20'), + alt : f.alt.value, + width : f.width.value, + height : f.height.value + }); + + el = ed.selection.getNode(); + + if (el && el.nodeName == 'IMG') { + ed.dom.setAttribs(el, args); + tinyMCEPopup.editor.execCommand('mceRepaint'); + tinyMCEPopup.editor.focus(); + } else { + ed.execCommand('mceInsertContent', false, '<img id="__mce_tmp" />', {skip_undo : 1}); + ed.dom.setAttribs('__mce_tmp', args); + ed.dom.setAttrib('__mce_tmp', 'id', ''); + ed.undoManager.add(); + } + + tinyMCEPopup.close(); + }, + + updateStyle : function() { + var dom = tinyMCEPopup.dom, st, v, f = document.forms[0]; + + if (tinyMCEPopup.editor.settings.inline_styles) { + st = tinyMCEPopup.dom.parseStyle(this.styleVal); + + // Handle align + v = getSelectValue(f, 'align'); + if (v) { + if (v == 'left' || v == 'right') { + st['float'] = v; + delete st['vertical-align']; + } else { + st['vertical-align'] = v; + delete st['float']; + } + } else { + delete st['float']; + delete st['vertical-align']; + } + + // Handle border + v = f.border.value; + if (v || v == '0') { + if (v == '0') + st['border'] = '0'; + else + st['border'] = v + 'px solid black'; + } else + delete st['border']; + + // Handle hspace + v = f.hspace.value; + if (v) { + delete st['margin']; + st['margin-left'] = v + 'px'; + st['margin-right'] = v + 'px'; + } else { + delete st['margin-left']; + delete st['margin-right']; + } + + // Handle vspace + v = f.vspace.value; + if (v) { + delete st['margin']; + st['margin-top'] = v + 'px'; + st['margin-bottom'] = v + 'px'; + } else { + delete st['margin-top']; + delete st['margin-bottom']; + } + + // Merge + st = tinyMCEPopup.dom.parseStyle(dom.serializeStyle(st), 'img'); + this.styleVal = dom.serializeStyle(st, 'img'); + } + }, + + getAttrib : function(e, at) { + var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2; + + if (ed.settings.inline_styles) { + switch (at) { + case 'align': + if (v = dom.getStyle(e, 'float')) + return v; + + if (v = dom.getStyle(e, 'vertical-align')) + return v; + + break; + + case 'hspace': + v = dom.getStyle(e, 'margin-left') + v2 = dom.getStyle(e, 'margin-right'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'vspace': + v = dom.getStyle(e, 'margin-top') + v2 = dom.getStyle(e, 'margin-bottom'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'border': + v = 0; + + tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) { + sv = dom.getStyle(e, 'border-' + sv + '-width'); + + // False or not the same as prev + if (!sv || (sv != v && v !== 0)) { + v = 0; + return false; + } + + if (sv) + v = sv; + }); + + if (v) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + } + } + + if (v = dom.getAttrib(e, at)) + return v; + + return ''; + }, + + resetImageData : function() { + var f = document.forms[0]; + + f.width.value = f.height.value = ""; + }, + + updateImageData : function() { + var f = document.forms[0], t = ImageDialog; + + if (f.width.value == "") + f.width.value = t.preloadImg.width; + + if (f.height.value == "") + f.height.value = t.preloadImg.height; + }, + + getImageData : function() { + var f = document.forms[0]; + + this.preloadImg = new Image(); + this.preloadImg.onload = this.updateImageData; + this.preloadImg.onerror = this.resetImageData; + this.preloadImg.src = tinyMCEPopup.editor.documentBaseURI.toAbsolute(f.src.value); + } +}; + +ImageDialog.preInit(); +tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/link.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/link.js new file mode 100644 index 00000000..e67d868a --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/link.js @@ -0,0 +1,153 @@ +tinyMCEPopup.requireLangPack(); + +var LinkDialog = { + preInit : function() { + var url; + + if (url = tinyMCEPopup.getParam("external_link_list_url")) + document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>'); + }, + + init : function() { + var f = document.forms[0], ed = tinyMCEPopup.editor; + + // Setup browse button + document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser', 'href', 'file', 'theme_advanced_link'); + if (isVisible('hrefbrowser')) + document.getElementById('href').style.width = '180px'; + + this.fillClassList('class_list'); + this.fillFileList('link_list', 'tinyMCELinkList'); + this.fillTargetList('target_list'); + + if (e = ed.dom.getParent(ed.selection.getNode(), 'A')) { + f.href.value = ed.dom.getAttrib(e, 'href'); + f.linktitle.value = ed.dom.getAttrib(e, 'title'); + f.insert.value = ed.getLang('update'); + selectByValue(f, 'link_list', f.href.value); + selectByValue(f, 'target_list', ed.dom.getAttrib(e, 'target')); + selectByValue(f, 'class_list', ed.dom.getAttrib(e, 'class')); + } + }, + + update : function() { + var f = document.forms[0], ed = tinyMCEPopup.editor, e, b, href = f.href.value.replace(/ /g, '%20'); + + tinyMCEPopup.restoreSelection(); + e = ed.dom.getParent(ed.selection.getNode(), 'A'); + + // Remove element if there is no href + if (!f.href.value) { + if (e) { + b = ed.selection.getBookmark(); + ed.dom.remove(e, 1); + ed.selection.moveToBookmark(b); + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); + return; + } + } + + // Create new anchor elements + if (e == null) { + ed.getDoc().execCommand("unlink", false, null); + tinyMCEPopup.execCommand("mceInsertLink", false, "#mce_temp_url#", {skip_undo : 1}); + + tinymce.each(ed.dom.select("a"), function(n) { + if (ed.dom.getAttrib(n, 'href') == '#mce_temp_url#') { + e = n; + + ed.dom.setAttribs(e, { + href : href, + title : f.linktitle.value, + target : f.target_list ? getSelectValue(f, "target_list") : null, + 'class' : f.class_list ? getSelectValue(f, "class_list") : null + }); + } + }); + } else { + ed.dom.setAttribs(e, { + href : href, + title : f.linktitle.value, + target : f.target_list ? getSelectValue(f, "target_list") : null, + 'class' : f.class_list ? getSelectValue(f, "class_list") : null + }); + } + + // Don't move caret if selection was image + if (e.childNodes.length != 1 || e.firstChild.nodeName != 'IMG') { + ed.focus(); + ed.selection.select(e); + ed.selection.collapse(0); + tinyMCEPopup.storeSelection(); + } + + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); + }, + + checkPrefix : function(n) { + if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_email'))) + n.value = 'mailto:' + n.value; + + if (/^\s*www\./i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_external'))) + n.value = 'http://' + n.value; + }, + + fillFileList : function(id, l) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + l = window[l]; + + if (l && l.length > 0) { + lst.options[lst.options.length] = new Option('', ''); + + tinymce.each(l, function(o) { + lst.options[lst.options.length] = new Option(o[0], o[1]); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + fillClassList : function(id) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + if (v = tinyMCEPopup.getParam('theme_advanced_styles')) { + cl = []; + + tinymce.each(v.split(';'), function(v) { + var p = v.split('='); + + cl.push({'title' : p[0], 'class' : p[1]}); + }); + } else + cl = tinyMCEPopup.editor.dom.getClasses(); + + if (cl.length > 0) { + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); + + tinymce.each(cl, function(o) { + lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + fillTargetList : function(id) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v; + + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('advanced_dlg.link_target_same'), '_self'); + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('advanced_dlg.link_target_blank'), '_blank'); + + if (v = tinyMCEPopup.getParam('theme_advanced_link_targets')) { + tinymce.each(v.split(','), function(v) { + v = v.split('='); + lst.options[lst.options.length] = new Option(v[0], v[1]); + }); + } + } +}; + +LinkDialog.preInit(); +tinyMCEPopup.onInit.add(LinkDialog.init, LinkDialog); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/source_editor.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/source_editor.js new file mode 100644 index 00000000..9cf6b1a2 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/js/source_editor.js @@ -0,0 +1,56 @@ +tinyMCEPopup.requireLangPack(); +tinyMCEPopup.onInit.add(onLoadInit); + +function saveContent() { + tinyMCEPopup.editor.setContent(document.getElementById('htmlSource').value, {source_view : true}); + tinyMCEPopup.close(); +} + +function onLoadInit() { + tinyMCEPopup.resizeToInnerSize(); + + // Remove Gecko spellchecking + if (tinymce.isGecko) + document.body.spellcheck = tinyMCEPopup.editor.getParam("gecko_spellcheck"); + + document.getElementById('htmlSource').value = tinyMCEPopup.editor.getContent({source_view : true}); + + if (tinyMCEPopup.editor.getParam("theme_advanced_source_editor_wrap", true)) { + setWrap('soft'); + document.getElementById('wraped').checked = true; + } + + resizeInputs(); +} + +function setWrap(val) { + var v, n, s = document.getElementById('htmlSource'); + + s.wrap = val; + + if (!tinymce.isIE) { + v = s.value; + n = s.cloneNode(false); + n.setAttribute("wrap", val); + s.parentNode.replaceChild(n, s); + n.value = v; + } +} + +function toggleWordWrap(elm) { + if (elm.checked) + setWrap('soft'); + else + setWrap('off'); +} + +function resizeInputs() { + var vp = tinyMCEPopup.dom.getViewPort(window), el; + + el = document.getElementById('htmlSource'); + + if (el) { + el.style.width = (vp.w - 20) + 'px'; + el.style.height = (vp.h - 65) + 'px'; + } +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/langs/en.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/langs/en.js new file mode 100644 index 00000000..f9763c6d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/langs/en.js @@ -0,0 +1,68 @@ +tinyMCE.addI18n('en.advanced',{ +style_select:"Styles", +font_size:"Font size", +fontdefault:"Font family", +block:"Format", +paragraph:"Paragraph", +div:"Div", +address:"Address", +pre:"Preformatted", +h1:"Heading 1", +h2:"Heading 2", +h3:"Heading 3", +h4:"Heading 4", +h5:"Heading 5", +h6:"Heading 6", +blockquote:"Blockquote", +code:"Code", +samp:"Code sample", +dt:"Definition term ", +dd:"Definition description", +bold_desc:"Bold (Ctrl+B)", +italic_desc:"Italic (Ctrl+I)", +underline_desc:"Underline (Ctrl+U)", +striketrough_desc:"Strikethrough", +justifyleft_desc:"Align left", +justifycenter_desc:"Align center", +justifyright_desc:"Align right", +justifyfull_desc:"Align full", +bullist_desc:"Unordered list", +numlist_desc:"Ordered list", +outdent_desc:"Outdent", +indent_desc:"Indent", +undo_desc:"Undo (Ctrl+Z)", +redo_desc:"Redo (Ctrl+Y)", +link_desc:"Insert/edit link", +unlink_desc:"Unlink", +image_desc:"Insert/edit image", +cleanup_desc:"Cleanup messy code", +code_desc:"Edit HTML Source", +sub_desc:"Subscript", +sup_desc:"Superscript", +hr_desc:"Insert horizontal ruler", +removeformat_desc:"Remove formatting", +custom1_desc:"Your custom description here", +forecolor_desc:"Select text color", +backcolor_desc:"Select background color", +charmap_desc:"Insert custom character", +visualaid_desc:"Toggle guidelines/invisible elements", +anchor_desc:"Insert/edit anchor", +cut_desc:"Cut", +copy_desc:"Copy", +paste_desc:"Paste", +image_props_desc:"Image properties", +newdocument_desc:"Clean", +help_desc:"Help", +blockquote_desc:"Blockquote", +clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.\r\nDo you want more information about this issue?", +path:"Path", +newdocument:"Are you sure you want clear all contents?", +toolbar_focus:"Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X", +more_colors:"More colors", + +// Accessibility Strings +shortcuts_desc:'Accessibility Help', +help_shortcut:'. Press ALT F10 for toolbar. Press ALT 0 for help.', +rich_text_area:"Rich Text Area", +toolbar:"Toolbar" +}); diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js new file mode 100644 index 00000000..a4e2e0b2 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js @@ -0,0 +1,54 @@ +tinyMCE.addI18n('en.advanced_dlg',{ +about_title:"About TinyMCE", +about_general:"About", +about_help:"Help", +about_license:"License", +about_plugins:"Plugins", +about_plugin:"Plugin", +about_author:"Author", +about_version:"Version", +about_loaded:"Loaded plugins", +anchor_title:"Insert/edit anchor", +anchor_name:"Anchor name", +anchor_invalid:"Please specify a valid anchor name.", +code_title:"HTML Source Editor", +code_wordwrap:"Word wrap", +colorpicker_title:"Select a color", +colorpicker_picker_tab:"Picker", +colorpicker_picker_title:"Color picker", +colorpicker_palette_tab:"Palette", +colorpicker_palette_title:"Palette colors", +colorpicker_named_tab:"Named", +colorpicker_named_title:"Named colors", +colorpicker_color:"Color:", +colorpicker_name:"Name:", +charmap_title:"Select custom character", +image_title:"Insert/edit image", +image_src:"Image URL", +image_alt:"Image description", +image_list:"Image list", +image_border:"Border", +image_dimensions:"Dimensions", +image_vspace:"Vertical space", +image_hspace:"Horizontal space", +image_align:"Alignment", +image_align_baseline:"Baseline", +image_align_top:"Top", +image_align_middle:"Middle", +image_align_bottom:"Bottom", +image_align_texttop:"Text top", +image_align_textbottom:"Text bottom", +image_align_left:"Left", +image_align_right:"Right", +link_title:"Insert/edit link", +link_url:"Link URL", +link_target:"Target", +link_target_same:"Open link in the same window", +link_target_blank:"Open link in a new window", +link_titlefield:"Title", +link_is_email:"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", +link_is_external:"The URL you entered seems to be an external link. Do you want to add the required http:// prefix?", +link_list:"Link list", +accessibility_help:"Accessibility Help", +accessibility_usage_title:"General Usage" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/link.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/link.htm new file mode 100644 index 00000000..4a2459f8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/link.htm @@ -0,0 +1,57 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#advanced_dlg.link_title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="../../utils/mctabs.js"></script> + <script type="text/javascript" src="../../utils/form_utils.js"></script> + <script type="text/javascript" src="../../utils/validate.js"></script> + <script type="text/javascript" src="js/link.js"></script> +</head> +<body id="link" style="display: none"> +<form onsubmit="LinkDialog.update();return false;" action="#"> + <div class="tabs"> + <ul> + <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advanced_dlg.link_title}</a></span></li> + </ul> + </div> + + <div class="panel_wrapper"> + <div id="general_panel" class="panel current"> + <table border="0" cellpadding="4" cellspacing="0"> + <tr> + <td class="nowrap"><label for="href">{#advanced_dlg.link_url}</label></td> + <td><table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><input id="href" name="href" type="text" class="mceFocus" value="" style="width: 200px" onchange="LinkDialog.checkPrefix(this);" /></td> + <td id="hrefbrowsercontainer"> </td> + </tr> + </table></td> + </tr> + <tr> + <td><label for="link_list">{#advanced_dlg.link_list}</label></td> + <td><select id="link_list" name="link_list" onchange="document.getElementById('href').value=this.options[this.selectedIndex].value;"></select></td> + </tr> + <tr> + <td><label id="targetlistlabel" for="targetlist">{#advanced_dlg.link_target}</label></td> + <td><select id="target_list" name="target_list"></select></td> + </tr> + <tr> + <td class="nowrap"><label for="linktitle">{#advanced_dlg.link_titlefield}</label></td> + <td><input id="linktitle" name="linktitle" type="text" value="" style="width: 200px" /></td> + </tr> + <tr> + <td><label for="class_list">{#class_name}</label></td> + <td><select id="class_list" name="class_list"></select></td> + </tr> + </table> + </div> + </div> + + <div class="mceActionPanel"> + <input type="submit" id="insert" name="insert" value="{#insert}" /> + <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + </div> +</form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/shortcuts.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/shortcuts.htm new file mode 100644 index 00000000..436091f1 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/shortcuts.htm @@ -0,0 +1,47 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>{#advanced_dlg.accessibility_help}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript">tinyMCEPopup.requireLangPack();</script> + </head> + <body id="content"> + <h1>{#advanced_dlg.accessibility_usage_title}</h1> + <h2>Toolbars</h2> + <p>Press ALT-F10 to move focus to the toolbars. Navigate through the buttons using the arrow keys. + Press enter to activate a button and return focus to the editor. + Press escape to return focus to the editor without performing any actions.</p> + + <h2>Status Bar</h2> + <p>To access the editor status bar, press ALT-F11. Use the left and right arrow keys to navigate between elements in the path. + Press enter or space to select an element. Press escape to return focus to the editor without changing the selection.</p> + + <h2>Context Menu</h2> + <p>Press shift-F10 to activate the context menu. Use the up and down arrow keys to move between menu items. To open sub-menus press the right arrow key. + To close submenus press the left arrow key. Press escape to close the context menu.</p> + + <h1>Keyboard Shortcuts</h1> + <table> + <thead> + <tr> + <th>Keystroke</th> + <th>Function</th> + </tr> + </thead> + <tbody> + <tr> + <td>Control-B</td><td>Bold</td> + </tr> + <tr> + <td>Control-I</td><td>Italic</td> + </tr> + <tr> + <td>Control-Z</td><td>Undo</td> + </tr> + <tr> + <td>Control-Y</td><td>Redo</td> + </tr> + </tbody> + </table> + </body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/content.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/content.css new file mode 100644 index 00000000..c08c7e6d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/content.css @@ -0,0 +1,48 @@ +body, td, pre {color:#000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; margin:8px;} +body {background:#FFF;} +body.mceForceColors {background:#FFF; color:#000;} +body.mceBrowserDefaults {background:transparent; color:inherit; font-size:inherit; font-family:inherit;} +h1 {font-size: 2em} +h2 {font-size: 1.5em} +h3 {font-size: 1.17em} +h4 {font-size: 1em} +h5 {font-size: .83em} +h6 {font-size: .75em} +.mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;} +a.mceItemAnchor {display:inline-block; -webkit-user-select:all; -webkit-user-modify:read-only; -moz-user-select:all; -moz-user-modify:read-only; width:11px !important; height:11px !important; background:url(img/items.png) no-repeat center center} +span.mceItemNbsp {background: #DDD} +td.mceSelected, th.mceSelected {background-color:#3399ff !important} +img {border:0;} +table {cursor:default} +table td, table th {cursor:text} +ins {border-bottom:1px solid green; text-decoration: none; color:green} +del {color:red; text-decoration:line-through} +cite {border-bottom:1px dashed blue} +acronym {border-bottom:1px dotted #CCC; cursor:help} +abbr {border-bottom:1px dashed #CCC; cursor:help} + +/* IE */ +* html body { +scrollbar-3dlight-color:#F0F0EE; +scrollbar-arrow-color:#676662; +scrollbar-base-color:#F0F0EE; +scrollbar-darkshadow-color:#DDD; +scrollbar-face-color:#E0E0DD; +scrollbar-highlight-color:#F0F0EE; +scrollbar-shadow-color:#F0F0EE; +scrollbar-track-color:#F5F5F5; +} + +img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px} +font[face=mceinline] {font-family:inherit !important} + +.mceItemMedia {border:1px dotted #cc0000; background-position:center; background-repeat:no-repeat; background-color:#ffffcc} +.mceItemShockWave {background-image:url(../../img/shockwave.png)} +.mceItemFlash {background-image:url(../../img/flash.png)} +.mceItemQuickTime {background-image:url(../../img/quicktime.png)} +.mceItemWindowsMedia {background-image:url(../../img/windowsmedia.png)} +.mceItemRealMedia {background-image:url(../../img/realmedia.png)} +.mceItemVideo {background-image:url(../../img/video.png)} +.mceItemAudio {background-image:url(../../img/video.png)} +.mceItemIframe {background-image:url(../../img/iframe.png)} +.mcePageBreak {display:block;border:0;width:100%;height:12px;border-top:1px dotted #ccc;margin-top:15px;background:#fff url(../../img/pagebreak.png) no-repeat center top;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css new file mode 100644 index 00000000..d5daec7e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css @@ -0,0 +1,117 @@ +/* Generic */ +body { +font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; +scrollbar-3dlight-color:#F0F0EE; +scrollbar-arrow-color:#676662; +scrollbar-base-color:#F0F0EE; +scrollbar-darkshadow-color:#DDDDDD; +scrollbar-face-color:#E0E0DD; +scrollbar-highlight-color:#F0F0EE; +scrollbar-shadow-color:#F0F0EE; +scrollbar-track-color:#F5F5F5; +background:#F0F0EE; +padding:0; +margin:8px 8px 0 8px; +} + +html {background:#F0F0EE;} +td {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +textarea {resize:none;outline:none;} +a:link, a:visited {color:black;} +a:hover {color:#2B6FB6;} +.nowrap {white-space: nowrap} + +/* Forms */ +fieldset {margin:0; padding:4px; border:1px solid #919B9C; font-family:Verdana, Arial; font-size:10px;} +legend {color:#2B6FB6; font-weight:bold;} +label.msg {display:none;} +label.invalid {color:#EE0000; display:inline;} +input.invalid {border:1px solid #EE0000;} +input {background:#FFF; border:1px solid #CCC;} +input, select, textarea {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +input, select, textarea {border:1px solid #808080;} +input.radio {border:1px none #000000; background:transparent; vertical-align:middle;} +input.checkbox {border:1px none #000000; background:transparent; vertical-align:middle;} +.input_noborder {border:0;} + +/* Buttons */ +#insert, #cancel, input.button, .updateButton { +border:0; margin:0; padding:0; +font-weight:bold; +width:94px; height:26px; +background:url(img/buttons.png) 0 -26px; +cursor:pointer; +padding-bottom:2px; +float:left; +} + +#insert {background:url(img/buttons.png) 0 -52px} +#cancel {background:url(img/buttons.png) 0 0; float:right} + +/* Browse */ +a.pickcolor, a.browse {text-decoration:none} +a.browse span {display:block; width:20px; height:18px; background:url(../../img/icons.png) -860px 0; border:1px solid #FFF; margin-left:1px;} +.mceOldBoxModel a.browse span {width:22px; height:20px;} +a.browse:hover span {border:1px solid #0A246A; background-color:#B2BBD0;} +a.browse span.disabled {border:1px solid white; opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +a.browse:hover span.disabled {border:1px solid white; background-color:transparent;} +a.pickcolor span {display:block; width:20px; height:16px; background:url(../../img/icons.png) -840px 0; margin-left:2px;} +.mceOldBoxModel a.pickcolor span {width:21px; height:17px;} +a.pickcolor:hover span {background-color:#B2BBD0;} +a.pickcolor:hover span.disabled {} + +/* Charmap */ +table.charmap {border:1px solid #AAA; text-align:center} +td.charmap, #charmap a {width:18px; height:18px; color:#000; border:1px solid #AAA; text-align:center; font-size:12px; vertical-align:middle; line-height: 18px;} +#charmap a {display:block; color:#000; text-decoration:none; border:0} +#charmap a:hover {background:#CCC;color:#2B6FB6} +#charmap #codeN {font-size:10px; font-family:Arial,Helvetica,sans-serif; text-align:center} +#charmap #codeV {font-size:40px; height:80px; border:1px solid #AAA; text-align:center} + +/* Source */ +.wordWrapCode {vertical-align:middle; border:1px none #000000; background:transparent;} +.mceActionPanel {margin-top:5px;} + +/* Tabs classes */ +.tabs {width:100%; height:18px; line-height:normal; background:url(img/tabs.gif) repeat-x 0 -72px;} +.tabs ul {margin:0; padding:0; list-style:none;} +.tabs li {float:left; background:url(img/tabs.gif) no-repeat 0 0; margin:0 2px 0 0; padding:0 0 0 10px; line-height:17px; height:18px; display:block;} +.tabs li.current {background:url(img/tabs.gif) no-repeat 0 -18px; margin-right:2px;} +.tabs span {float:left; display:block; background:url(img/tabs.gif) no-repeat right -36px; padding:0px 10px 0 0;} +.tabs .current span {background:url(img/tabs.gif) no-repeat right -54px;} +.tabs a {text-decoration:none; font-family:Verdana, Arial; font-size:10px;} +.tabs a:link, .tabs a:visited, .tabs a:hover {color:black;} + +/* Panels */ +.panel_wrapper div.panel {display:none;} +.panel_wrapper div.current {display:block; width:100%; height:300px; overflow:visible;} +.panel_wrapper {border:1px solid #919B9C; border-top:0px; padding:10px; padding-top:5px; clear:both; background:white;} + +/* Columns */ +.column {float:left;} +.properties {width:100%;} +.properties .column1 {} +.properties .column2 {text-align:left;} + +/* Titles */ +h1, h2, h3, h4 {color:#2B6FB6; margin:0; padding:0; padding-top:5px;} +h3 {font-size:14px;} +.title {font-size:12px; font-weight:bold; color:#2B6FB6;} + +/* Dialog specific */ +#link .panel_wrapper, #link div.current {height:125px;} +#image .panel_wrapper, #image div.current {height:200px;} +#plugintable thead {font-weight:bold; background:#DDD;} +#plugintable, #about #plugintable td {border:1px solid #919B9C;} +#plugintable {width:96%; margin-top:10px;} +#pluginscontainer {height:290px; overflow:auto;} +#colorpicker #preview {float:right; width:50px; height:14px;line-height:1px; border:1px solid black; margin-left:5px;} +#colorpicker #colors {float:left; border:1px solid gray; cursor:crosshair;} +#colorpicker #light {border:1px solid gray; margin-left:5px; float:left;width:15px; height:150px; cursor:crosshair;} +#colorpicker #light div {overflow:hidden;} +#colorpicker #previewblock {float:right; padding-left:10px; height:20px;} +#colorpicker .panel_wrapper div.current {height:175px;} +#colorpicker #namedcolors {width:150px;} +#colorpicker #namedcolors a {display:block; float:left; width:10px; height:10px; margin:1px 1px 0 0; overflow:hidden;} +#colorpicker #colornamecontainer {margin-top:5px;} +#colorpicker #picker_panel fieldset {margin:auto;width:325px;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png new file mode 100644 index 00000000..1e53560e Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif new file mode 100644 index 00000000..d2f93671 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif new file mode 100644 index 00000000..85e31dfb Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif new file mode 100644 index 00000000..adfdddcc Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif new file mode 100644 index 00000000..5bb90fd6 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif new file mode 100644 index 00000000..06812cb4 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/ui.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/ui.css new file mode 100644 index 00000000..013fc9f4 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/default/ui.css @@ -0,0 +1,214 @@ +/* Reset */ +.defaultSkin table, .defaultSkin tbody, .defaultSkin a, .defaultSkin img, .defaultSkin tr, .defaultSkin div, .defaultSkin td, .defaultSkin iframe, .defaultSkin span, .defaultSkin *, .defaultSkin .mceText {border:0; margin:0; padding:0; background:transparent; white-space:nowrap; text-decoration:none; font-weight:normal; cursor:default; color:#000; vertical-align:baseline; width:auto; border-collapse:separate; text-align:left} +.defaultSkin a:hover, .defaultSkin a:link, .defaultSkin a:visited, .defaultSkin a:active {text-decoration:none; font-weight:normal; cursor:default; color:#000} +.defaultSkin table td {vertical-align:middle} + +/* Containers */ +.defaultSkin table {direction:ltr;background:transparent} +.defaultSkin iframe {display:block;} +.defaultSkin .mceToolbar {height:26px} +.defaultSkin .mceLeft {text-align:left} +.defaultSkin .mceRight {text-align:right} + +/* External */ +.defaultSkin .mceExternalToolbar {position:absolute; border:1px solid #CCC; border-bottom:0; display:none;} +.defaultSkin .mceExternalToolbar td.mceToolbar {padding-right:13px;} +.defaultSkin .mceExternalClose {position:absolute; top:3px; right:3px; width:7px; height:7px; background:url(../../img/icons.png) -820px 0} + +/* Layout */ +.defaultSkin table.mceLayout {border:0; border-left:1px solid #CCC; border-right:1px solid #CCC} +.defaultSkin table.mceLayout tr.mceFirst td {border-top:1px solid #CCC} +.defaultSkin table.mceLayout tr.mceLast td {border-bottom:1px solid #CCC} +.defaultSkin table.mceToolbar, .defaultSkin tr.mceFirst .mceToolbar tr td, .defaultSkin tr.mceLast .mceToolbar tr td {border:0; margin:0; padding:0;} +.defaultSkin td.mceToolbar {background:#F0F0EE; padding-top:1px; vertical-align:top} +.defaultSkin .mceIframeContainer {border-top:1px solid #CCC; border-bottom:1px solid #CCC} +.defaultSkin .mceStatusbar {background:#F0F0EE; font-family:'MS Sans Serif',sans-serif,Verdana,Arial; font-size:9pt; line-height:16px; overflow:visible; color:#000; display:block; height:20px} +.defaultSkin .mceStatusbar div {float:left; margin:2px} +.defaultSkin .mceStatusbar a.mceResize {display:block; float:right; background:url(../../img/icons.png) -800px 0; width:20px; height:20px; cursor:se-resize; outline:0} +.defaultSkin .mceStatusbar a:hover {text-decoration:underline} +.defaultSkin table.mceToolbar {margin-left:3px} +.defaultSkin span.mceIcon, .defaultSkin img.mceIcon {display:block; width:20px; height:20px} +.defaultSkin .mceIcon {background:url(../../img/icons.png) no-repeat 20px 20px} +.defaultSkin td.mceCenter {text-align:center;} +.defaultSkin td.mceCenter table {margin:0 auto; text-align:left;} +.defaultSkin td.mceRight table {margin:0 0 0 auto;} + +/* Button */ +.defaultSkin .mceButton {display:block; border:1px solid #F0F0EE; width:20px; height:20px; margin-right:1px} +.defaultSkin a.mceButtonEnabled:hover {border:1px solid #0A246A; background-color:#B2BBD0} +.defaultSkin a.mceButtonActive, .defaultSkin a.mceButtonSelected {border:1px solid #0A246A; background-color:#C2CBE0} +.defaultSkin .mceButtonDisabled .mceIcon {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +.defaultSkin .mceButtonLabeled {width:auto} +.defaultSkin .mceButtonLabeled span.mceIcon {float:left} +.defaultSkin span.mceButtonLabel {display:block; font-size:10px; padding:4px 6px 0 22px; font-family:Tahoma,Verdana,Arial,Helvetica} +.defaultSkin .mceButtonDisabled .mceButtonLabel {color:#888} + +/* Separator */ +.defaultSkin .mceSeparator {display:block; background:url(../../img/icons.png) -180px 0; width:2px; height:20px; margin:2px 2px 0 4px} + +/* ListBox */ +.defaultSkin .mceListBox, .defaultSkin .mceListBox a {display:block} +.defaultSkin .mceListBox .mceText {padding-left:4px; width:70px; text-align:left; border:1px solid #CCC; border-right:0; background:#FFF; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; height:20px; line-height:20px; overflow:hidden} +.defaultSkin .mceListBox .mceOpen {width:9px; height:20px; background:url(../../img/icons.png) -741px 0; margin-right:2px; border:1px solid #CCC;} +.defaultSkin table.mceListBoxEnabled:hover .mceText, .defaultSkin .mceListBoxHover .mceText, .defaultSkin .mceListBoxSelected .mceText {border:1px solid #A2ABC0; border-right:0; background:#FFF} +.defaultSkin table.mceListBoxEnabled:hover .mceOpen, .defaultSkin .mceListBoxHover .mceOpen, .defaultSkin .mceListBoxSelected .mceOpen {background-color:#FFF; border:1px solid #A2ABC0} +.defaultSkin .mceListBoxDisabled a.mceText {color:gray; background-color:transparent;} +.defaultSkin .mceListBoxMenu {overflow:auto; overflow-x:hidden} +.defaultSkin .mceOldBoxModel .mceListBox .mceText {height:22px} +.defaultSkin .mceOldBoxModel .mceListBox .mceOpen {width:11px; height:22px;} +.defaultSkin select.mceNativeListBox {font-family:'MS Sans Serif',sans-serif,Verdana,Arial; font-size:7pt; background:#F0F0EE; border:1px solid gray; margin-right:2px;} + +/* SplitButton */ +.defaultSkin .mceSplitButton {width:32px; height:20px; direction:ltr} +.defaultSkin .mceSplitButton a, .defaultSkin .mceSplitButton span {height:20px; display:block} +.defaultSkin .mceSplitButton a.mceAction {width:20px; border:1px solid #F0F0EE; border-right:0;} +.defaultSkin .mceSplitButton span.mceAction {width:20px; background-image:url(../../img/icons.png);} +.defaultSkin .mceSplitButton a.mceOpen {width:9px; background:url(../../img/icons.png) -741px 0; border:1px solid #F0F0EE;} +.defaultSkin .mceSplitButton span.mceOpen {display:none} +.defaultSkin table.mceSplitButtonEnabled:hover a.mceAction, .defaultSkin .mceSplitButtonHover a.mceAction, .defaultSkin .mceSplitButtonSelected a.mceAction {border:1px solid #0A246A; border-right:0; background-color:#B2BBD0} +.defaultSkin table.mceSplitButtonEnabled:hover a.mceOpen, .defaultSkin .mceSplitButtonHover a.mceOpen, .defaultSkin .mceSplitButtonSelected a.mceOpen {background-color:#B2BBD0; border:1px solid #0A246A;} +.defaultSkin .mceSplitButtonDisabled .mceAction, .defaultSkin .mceSplitButtonDisabled a.mceOpen {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +.defaultSkin .mceSplitButtonActive a.mceAction {border:1px solid #0A246A; background-color:#C2CBE0} +.defaultSkin .mceSplitButtonActive a.mceOpen {border-left:0;} + +/* ColorSplitButton */ +.defaultSkin div.mceColorSplitMenu table {background:#FFF; border:1px solid gray} +.defaultSkin .mceColorSplitMenu td {padding:2px} +.defaultSkin .mceColorSplitMenu a {display:block; width:9px; height:9px; overflow:hidden; border:1px solid #808080} +.defaultSkin .mceColorSplitMenu td.mceMoreColors {padding:1px 3px 1px 1px} +.defaultSkin .mceColorSplitMenu a.mceMoreColors {width:100%; height:auto; text-align:center; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; line-height:20px; border:1px solid #FFF} +.defaultSkin .mceColorSplitMenu a.mceMoreColors:hover {border:1px solid #0A246A; background-color:#B6BDD2} +.defaultSkin a.mceMoreColors:hover {border:1px solid #0A246A} +.defaultSkin .mceColorPreview {margin-left:2px; width:16px; height:4px; overflow:hidden; background:#9a9b9a} +.defaultSkin .mce_forecolor span.mceAction, .defaultSkin .mce_backcolor span.mceAction {overflow:hidden; height:16px} + +/* Menu */ +.defaultSkin .mceMenu {position:absolute; left:0; top:0; z-index:1000; border:1px solid #D4D0C8} +.defaultSkin .mceNoIcons span.mceIcon {width:0;} +.defaultSkin .mceNoIcons a .mceText {padding-left:10px} +.defaultSkin .mceMenu table {background:#FFF} +.defaultSkin .mceMenu a, .defaultSkin .mceMenu span, .defaultSkin .mceMenu {display:block} +.defaultSkin .mceMenu td {height:20px} +.defaultSkin .mceMenu a {position:relative;padding:3px 0 4px 0} +.defaultSkin .mceMenu .mceText {position:relative; display:block; font-family:Tahoma,Verdana,Arial,Helvetica; color:#000; cursor:default; margin:0; padding:0 25px 0 25px; display:block} +.defaultSkin .mceMenu span.mceText, .defaultSkin .mceMenu .mcePreview {font-size:11px} +.defaultSkin .mceMenu pre.mceText {font-family:Monospace} +.defaultSkin .mceMenu .mceIcon {position:absolute; top:0; left:0; width:22px;} +.defaultSkin .mceMenu .mceMenuItemEnabled a:hover, .defaultSkin .mceMenu .mceMenuItemActive {background-color:#dbecf3} +.defaultSkin td.mceMenuItemSeparator {background:#DDD; height:1px} +.defaultSkin .mceMenuItemTitle a {border:0; background:#EEE; border-bottom:1px solid #DDD} +.defaultSkin .mceMenuItemTitle span.mceText {color:#000; font-weight:bold; padding-left:4px} +.defaultSkin .mceMenuItemDisabled .mceText {color:#888} +.defaultSkin .mceMenuItemSelected .mceIcon {background:url(img/menu_check.png)} +.defaultSkin .mceNoIcons .mceMenuItemSelected a {background:url(img/menu_arrow.png) no-repeat -6px center} +.defaultSkin .mceMenu span.mceMenuLine {display:none} +.defaultSkin .mceMenuItemSub a {background:url(img/menu_arrow.png) no-repeat top right;} +.defaultSkin .mceMenuItem td, .defaultSkin .mceMenuItem th {line-height: normal} + +/* Progress,Resize */ +.defaultSkin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; -ms-filter:'alpha(opacity=50)'; filter:alpha(opacity=50); background:#FFF} +.defaultSkin .mceProgress {position:absolute; left:0; top:0; z-index:1001; background:url(img/progress.png) no-repeat; width:32px; height:32px; margin:-16px 0 0 -16px} + +/* Formats */ +.defaultSkin .mce_formatPreview a {font-size:10px} +.defaultSkin .mce_p span.mceText {} +.defaultSkin .mce_address span.mceText {font-style:italic} +.defaultSkin .mce_pre span.mceText {font-family:monospace} +.defaultSkin .mce_h1 span.mceText {font-weight:bolder; font-size: 2em} +.defaultSkin .mce_h2 span.mceText {font-weight:bolder; font-size: 1.5em} +.defaultSkin .mce_h3 span.mceText {font-weight:bolder; font-size: 1.17em} +.defaultSkin .mce_h4 span.mceText {font-weight:bolder; font-size: 1em} +.defaultSkin .mce_h5 span.mceText {font-weight:bolder; font-size: .83em} +.defaultSkin .mce_h6 span.mceText {font-weight:bolder; font-size: .75em} + +/* Theme */ +.defaultSkin span.mce_bold {background-position:0 0} +.defaultSkin span.mce_italic {background-position:-60px 0} +.defaultSkin span.mce_underline {background-position:-140px 0} +.defaultSkin span.mce_strikethrough {background-position:-120px 0} +.defaultSkin span.mce_undo {background-position:-160px 0} +.defaultSkin span.mce_redo {background-position:-100px 0} +.defaultSkin span.mce_cleanup {background-position:-40px 0} +.defaultSkin span.mce_bullist {background-position:-20px 0} +.defaultSkin span.mce_numlist {background-position:-80px 0} +.defaultSkin span.mce_justifyleft {background-position:-460px 0} +.defaultSkin span.mce_justifyright {background-position:-480px 0} +.defaultSkin span.mce_justifycenter {background-position:-420px 0} +.defaultSkin span.mce_justifyfull {background-position:-440px 0} +.defaultSkin span.mce_anchor {background-position:-200px 0} +.defaultSkin span.mce_indent {background-position:-400px 0} +.defaultSkin span.mce_outdent {background-position:-540px 0} +.defaultSkin span.mce_link {background-position:-500px 0} +.defaultSkin span.mce_unlink {background-position:-640px 0} +.defaultSkin span.mce_sub {background-position:-600px 0} +.defaultSkin span.mce_sup {background-position:-620px 0} +.defaultSkin span.mce_removeformat {background-position:-580px 0} +.defaultSkin span.mce_newdocument {background-position:-520px 0} +.defaultSkin span.mce_image {background-position:-380px 0} +.defaultSkin span.mce_help {background-position:-340px 0} +.defaultSkin span.mce_code {background-position:-260px 0} +.defaultSkin span.mce_hr {background-position:-360px 0} +.defaultSkin span.mce_visualaid {background-position:-660px 0} +.defaultSkin span.mce_charmap {background-position:-240px 0} +.defaultSkin span.mce_paste {background-position:-560px 0} +.defaultSkin span.mce_copy {background-position:-700px 0} +.defaultSkin span.mce_cut {background-position:-680px 0} +.defaultSkin span.mce_blockquote {background-position:-220px 0} +.defaultSkin .mce_forecolor span.mceAction {background-position:-720px 0} +.defaultSkin .mce_backcolor span.mceAction {background-position:-760px 0} +.defaultSkin span.mce_forecolorpicker {background-position:-720px 0} +.defaultSkin span.mce_backcolorpicker {background-position:-760px 0} + +/* Plugins */ +.defaultSkin span.mce_advhr {background-position:-0px -20px} +.defaultSkin span.mce_ltr {background-position:-20px -20px} +.defaultSkin span.mce_rtl {background-position:-40px -20px} +.defaultSkin span.mce_emotions {background-position:-60px -20px} +.defaultSkin span.mce_fullpage {background-position:-80px -20px} +.defaultSkin span.mce_fullscreen {background-position:-100px -20px} +.defaultSkin span.mce_iespell {background-position:-120px -20px} +.defaultSkin span.mce_insertdate {background-position:-140px -20px} +.defaultSkin span.mce_inserttime {background-position:-160px -20px} +.defaultSkin span.mce_absolute {background-position:-180px -20px} +.defaultSkin span.mce_backward {background-position:-200px -20px} +.defaultSkin span.mce_forward {background-position:-220px -20px} +.defaultSkin span.mce_insert_layer {background-position:-240px -20px} +.defaultSkin span.mce_insertlayer {background-position:-260px -20px} +.defaultSkin span.mce_movebackward {background-position:-280px -20px} +.defaultSkin span.mce_moveforward {background-position:-300px -20px} +.defaultSkin span.mce_media {background-position:-320px -20px} +.defaultSkin span.mce_nonbreaking {background-position:-340px -20px} +.defaultSkin span.mce_pastetext {background-position:-360px -20px} +.defaultSkin span.mce_pasteword {background-position:-380px -20px} +.defaultSkin span.mce_selectall {background-position:-400px -20px} +.defaultSkin span.mce_preview {background-position:-420px -20px} +.defaultSkin span.mce_print {background-position:-440px -20px} +.defaultSkin span.mce_cancel {background-position:-460px -20px} +.defaultSkin span.mce_save {background-position:-480px -20px} +.defaultSkin span.mce_replace {background-position:-500px -20px} +.defaultSkin span.mce_search {background-position:-520px -20px} +.defaultSkin span.mce_styleprops {background-position:-560px -20px} +.defaultSkin span.mce_table {background-position:-580px -20px} +.defaultSkin span.mce_cell_props {background-position:-600px -20px} +.defaultSkin span.mce_delete_table {background-position:-620px -20px} +.defaultSkin span.mce_delete_col {background-position:-640px -20px} +.defaultSkin span.mce_delete_row {background-position:-660px -20px} +.defaultSkin span.mce_col_after {background-position:-680px -20px} +.defaultSkin span.mce_col_before {background-position:-700px -20px} +.defaultSkin span.mce_row_after {background-position:-720px -20px} +.defaultSkin span.mce_row_before {background-position:-740px -20px} +.defaultSkin span.mce_merge_cells {background-position:-760px -20px} +.defaultSkin span.mce_table_props {background-position:-980px -20px} +.defaultSkin span.mce_row_props {background-position:-780px -20px} +.defaultSkin span.mce_split_cells {background-position:-800px -20px} +.defaultSkin span.mce_template {background-position:-820px -20px} +.defaultSkin span.mce_visualchars {background-position:-840px -20px} +.defaultSkin span.mce_abbr {background-position:-860px -20px} +.defaultSkin span.mce_acronym {background-position:-880px -20px} +.defaultSkin span.mce_attribs {background-position:-900px -20px} +.defaultSkin span.mce_cite {background-position:-920px -20px} +.defaultSkin span.mce_del {background-position:-940px -20px} +.defaultSkin span.mce_ins {background-position:-960px -20px} +.defaultSkin span.mce_pagebreak {background-position:0 -40px} +.defaultSkin span.mce_restoredraft {background-position:-20px -40px} +.defaultSkin span.mce_spellchecker {background-position:-540px -20px} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/content.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/content.css new file mode 100644 index 00000000..75cfaf18 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/content.css @@ -0,0 +1,23 @@ +body, td, pre { margin:8px;} +body.mceForceColors {background:#FFF; color:#000;} +h1 {font-size: 2em} +h2 {font-size: 1.5em} +h3 {font-size: 1.17em} +h4 {font-size: 1em} +h5 {font-size: .83em} +h6 {font-size: .75em} +.mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;} +a.mceItemAnchor {display:inline-block; width:11px !important; height:11px !important; background:url(../default/img/items.gif) no-repeat 0 0;} +span.mceItemNbsp {background: #DDD} +td.mceSelected, th.mceSelected {background-color:#3399ff !important} +img {border:0;} +table {cursor:default} +table td, table th {cursor:text} +ins {border-bottom:1px solid green; text-decoration: none; color:green} +del {color:red; text-decoration:line-through} +cite {border-bottom:1px dashed blue} +acronym {border-bottom:1px dotted #CCC; cursor:help} +abbr {border-bottom:1px dashed #CCC; cursor:help} + +img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px} +font[face=mceinline] {font-family:inherit !important} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css new file mode 100644 index 00000000..dafcd280 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css @@ -0,0 +1,105 @@ +/* Generic */ +body { +font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; +background:#F0F0EE; +color: black; +padding:0; +margin:8px 8px 0 8px; +} + +html {background:#F0F0EE; color:#000;} +td {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +textarea {resize:none;outline:none;} +a:link, a:visited {color:black;background-color:transparent;} +a:hover {color:#2B6FB6;background-color:transparent;} +.nowrap {white-space: nowrap} + +/* Forms */ +fieldset {margin:0; padding:4px; border:1px solid #919B9C; font-family:Verdana, Arial; font-size:10px;} +legend {color:#2B6FB6; font-weight:bold;} +label.msg {display:none;} +label.invalid {color:#EE0000; display:inline;background-color:transparent;} +input.invalid {border:1px solid #EE0000;background-color:transparent;} +input {background:#FFF; border:1px solid #CCC;color:black;} +input, select, textarea {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +input, select, textarea {border:1px solid #808080;} +input.radio {border:1px none #000000; background:transparent; vertical-align:middle;} +input.checkbox {border:1px none #000000; background:transparent; vertical-align:middle;} +.input_noborder {border:0;} + +/* Buttons */ +#insert, #cancel, input.button, .updateButton { +font-weight:bold; +width:94px; height:23px; +cursor:pointer; +padding-bottom:2px; +float:left; +} + +#cancel {float:right} + +/* Browse */ +a.pickcolor, a.browse {text-decoration:none} +a.browse span {display:block; width:20px; height:18px; background:url(../../img/icons.gif) -860px 0; border:1px solid #FFF; margin-left:1px;} +.mceOldBoxModel a.browse span {width:22px; height:20px;} +a.browse:hover span {border:1px solid #0A246A; background-color:#B2BBD0;} +a.browse span.disabled {border:1px solid white; opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +a.browse:hover span.disabled {border:1px solid white; background-color:transparent;} +a.pickcolor span {display:block; width:20px; height:16px; background:url(../../img/icons.gif) -840px 0; margin-left:2px;} +.mceOldBoxModel a.pickcolor span {width:21px; height:17px;} +a.pickcolor:hover span {background-color:#B2BBD0;} +a.pickcolor:hover span.disabled {} + +/* Charmap */ +table.charmap {border:1px solid #AAA; text-align:center} +td.charmap, #charmap a {width:18px; height:18px; color:#000; border:1px solid #AAA; text-align:center; font-size:12px; vertical-align:middle; line-height: 18px;} +#charmap a {display:block; color:#000; text-decoration:none; border:0} +#charmap a:hover {background:#CCC;color:#2B6FB6} +#charmap #codeN {font-size:10px; font-family:Arial,Helvetica,sans-serif; text-align:center} +#charmap #codeV {font-size:40px; height:80px; border:1px solid #AAA; text-align:center} + +/* Source */ +.wordWrapCode {vertical-align:middle; border:1px none #000000; background:transparent;} +.mceActionPanel {margin-top:5px;} + +/* Tabs classes */ +.tabs {width:100%; height:18px; line-height:normal;} +.tabs ul {margin:0; padding:0; list-style:none;} +.tabs li {float:left; border: 1px solid black; border-bottom:0; margin:0 2px 0 0; padding:0 0 0 10px; line-height:17px; height:18px; display:block; cursor:pointer;} +.tabs li.current {font-weight: bold; margin-right:2px;} +.tabs span {float:left; display:block; padding:0px 10px 0 0;} +.tabs a {text-decoration:none; font-family:Verdana, Arial; font-size:10px;} +.tabs a:link, .tabs a:visited, .tabs a:hover {color:black;} + +/* Panels */ +.panel_wrapper div.panel {display:none;} +.panel_wrapper div.current {display:block; width:100%; height:300px; overflow:visible;} +.panel_wrapper {border:1px solid #919B9C; padding:10px; padding-top:5px; clear:both; background:white;} + +/* Columns */ +.column {float:left;} +.properties {width:100%;} +.properties .column1 {} +.properties .column2 {text-align:left;} + +/* Titles */ +h1, h2, h3, h4 {color:#2B6FB6; margin:0; padding:0; padding-top:5px;} +h3 {font-size:14px;} +.title {font-size:12px; font-weight:bold; color:#2B6FB6;} + +/* Dialog specific */ +#link .panel_wrapper, #link div.current {height:125px;} +#image .panel_wrapper, #image div.current {height:200px;} +#plugintable thead {font-weight:bold; background:#DDD;} +#plugintable, #about #plugintable td {border:1px solid #919B9C;} +#plugintable {width:96%; margin-top:10px;} +#pluginscontainer {height:290px; overflow:auto;} +#colorpicker #preview {float:right; width:50px; height:14px;line-height:1px; border:1px solid black; margin-left:5px;} +#colorpicker #colors {float:left; border:1px solid gray; cursor:crosshair;} +#colorpicker #light {border:1px solid gray; margin-left:5px; float:left;width:15px; height:150px; cursor:crosshair;} +#colorpicker #light div {overflow:hidden;} +#colorpicker #previewblock {float:right; padding-left:10px; height:20px;} +#colorpicker .panel_wrapper div.current {height:175px;} +#colorpicker #namedcolors {width:150px;} +#colorpicker #namedcolors a {display:block; float:left; width:10px; height:10px; margin:1px 1px 0 0; overflow:hidden;} +#colorpicker #colornamecontainer {margin-top:5px;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css new file mode 100644 index 00000000..81da151f --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css @@ -0,0 +1,102 @@ +/* Reset */ +.highcontrastSkin table, .highcontrastSkin tbody, .highcontrastSkin a, .highcontrastSkin img, .highcontrastSkin tr, .highcontrastSkin div, .highcontrastSkin td, .highcontrastSkin iframe, .highcontrastSkin span, .highcontrastSkin *, .highcontrastSkin .mceText {border:0; margin:0; padding:0; vertical-align:baseline; border-collapse:separate;} +.highcontrastSkin a:hover, .highcontrastSkin a:link, .highcontrastSkin a:visited, .highcontrastSkin a:active {text-decoration:none; font-weight:normal; cursor:default;} +.highcontrastSkin table td {vertical-align:middle} + +.highcontrastSkin .mceIconOnly {display: block !important;} + +/* External */ +.highcontrastSkin .mceExternalToolbar {position:absolute; border:1px solid; border-bottom:0; display:none; background-color: white;} +.highcontrastSkin .mceExternalToolbar td.mceToolbar {padding-right:13px;} +.highcontrastSkin .mceExternalClose {position:absolute; top:3px; right:3px; width:7px; height:7px;} + +/* Layout */ +.highcontrastSkin table.mceLayout {border: 1px solid;} +.highcontrastSkin .mceIframeContainer {border-top:1px solid; border-bottom:1px solid} +.highcontrastSkin .mceStatusbar a:hover {text-decoration:underline} +.highcontrastSkin .mceStatusbar {display:block; line-height:1.5em; overflow:visible;} +.highcontrastSkin .mceStatusbar div {float:left} +.highcontrastSkin .mceStatusbar a.mceResize {display:block; float:right; width:20px; height:20px; cursor:se-resize; outline:0} + +.highcontrastSkin .mceToolbar td { display: inline-block; float: left;} +.highcontrastSkin .mceToolbar tr { display: block;} +.highcontrastSkin .mceToolbar table { display: block; } + +/* Button */ + +.highcontrastSkin .mceButton { display:block; margin: 2px; padding: 5px 10px;border: 1px solid; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; -ms-border-radius: 3px; height: 2em;} +.highcontrastSkin .mceButton .mceVoiceLabel { height: 100%; vertical-align: center; line-height: 2em} +.highcontrastSkin .mceButtonDisabled .mceVoiceLabel { opacity:0.6; -ms-filter:'alpha(opacity=60)'; filter:alpha(opacity=60);} +.highcontrastSkin .mceButtonActive, .highcontrastSkin .mceButton:focus, .highcontrastSkin .mceButton:active { border: 5px solid; padding: 1px 6px;-webkit-focus-ring-color:none;outline:none;} + +/* Separator */ +.highcontrastSkin .mceSeparator {display:block; width:16px; height:26px;} + +/* ListBox */ +.highcontrastSkin .mceListBox { display: block; margin:2px;-webkit-focus-ring-color:none;outline:none;} +.highcontrastSkin .mceListBox .mceText {padding: 5px 6px; line-height: 2em; width: 15ex; overflow: hidden;} +.highcontrastSkin .mceListBoxDisabled .mceText { opacity:0.6; -ms-filter:'alpha(opacity=60)'; filter:alpha(opacity=60);} +.highcontrastSkin .mceListBox a.mceText { padding: 5px 10px; display: block; height: 2em; line-height: 2em; border: 1px solid; border-right: 0; border-radius: 3px 0px 0px 3px; -moz-border-radius: 3px 0px 0px 3px; -webkit-border-radius: 3px 0px 0px 3px; -ms-border-radius: 3px 0px 0px 3px;} +.highcontrastSkin .mceListBox a.mceOpen { padding: 5px 4px; display: block; height: 2em; line-height: 2em; border: 1px solid; border-left: 0; border-radius: 0px 3px 3px 0px; -moz-border-radius: 0px 3px 3px 0px; -webkit-border-radius: 0px 3px 3px 0px; -ms-border-radius: 0px 3px 3px 0px;} +.highcontrastSkin .mceListBox:focus a.mceText, .highcontrastSkin .mceListBox:active a.mceText { border-width: 5px; padding: 1px 10px 1px 6px;} +.highcontrastSkin .mceListBox:focus a.mceOpen, .highcontrastSkin .mceListBox:active a.mceOpen { border-width: 5px; padding: 1px 0px 1px 4px;} + +.highcontrastSkin .mceListBoxMenu {overflow-y:auto} + +/* SplitButton */ +.highcontrastSkin .mceSplitButtonDisabled .mceAction {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} + +.highcontrastSkin .mceSplitButton { border-collapse: collapse; margin: 2px; height: 2em; line-height: 2em;-webkit-focus-ring-color:none;outline:none;} +.highcontrastSkin .mceSplitButton td { display: table-cell; float: none; margin: 0; padding: 0; height: 2em;} +.highcontrastSkin .mceSplitButton tr { display: table-row; } +.highcontrastSkin table.mceSplitButton { display: table; } +.highcontrastSkin .mceSplitButton a.mceAction { padding: 5px 10px; display: block; height: 2em; line-height: 2em; overflow: hidden; border: 1px solid; border-right: 0; border-radius: 3px 0px 0px 3px; -moz-border-radius: 3px 0px 0px 3px; -webkit-border-radius: 3px 0px 0px 3px; -ms-border-radius: 3px 0px 0px 3px;} +.highcontrastSkin .mceSplitButton a.mceOpen { padding: 5px 4px; display: block; height: 2em; line-height: 2em; border: 1px solid; border-radius: 0px 3px 3px 0px; -moz-border-radius: 0px 3px 3px 0px; -webkit-border-radius: 0px 3px 3px 0px; -ms-border-radius: 0px 3px 3px 0px;} +.highcontrastSkin .mceSplitButton .mceVoiceLabel { height: 2em; vertical-align: center; line-height: 2em; } +.highcontrastSkin .mceSplitButton:focus a.mceAction, .highcontrastSkin .mceSplitButton:active a.mceAction { border-width: 5px; border-right-width: 1px; padding: 1px 10px 1px 6px;-webkit-focus-ring-color:none;outline:none;} +.highcontrastSkin .mceSplitButton:focus a.mceOpen, .highcontrastSkin .mceSplitButton:active a.mceOpen { border-width: 5px; border-left-width: 1px; padding: 1px 0px 1px 4px;-webkit-focus-ring-color:none;outline:none;} + +/* Menu */ +.highcontrastSkin .mceNoIcons span.mceIcon {width:0;} +.highcontrastSkin .mceMenu {position:absolute; left:0; top:0; z-index:1000; border:1px solid; } +.highcontrastSkin .mceMenu table {background:white; color: black} +.highcontrastSkin .mceNoIcons a .mceText {padding-left:10px} +.highcontrastSkin .mceMenu a, .highcontrastSkin .mceMenu span, .highcontrastSkin .mceMenu {display:block;background:white; color: black} +.highcontrastSkin .mceMenu td {height:2em} +.highcontrastSkin .mceMenu a {position:relative;padding:3px 0 4px 0; display: block;} +.highcontrastSkin .mceMenu .mceText {position:relative; display:block; cursor:default; margin:0; padding:0 25px 0 25px;} +.highcontrastSkin .mceMenu pre.mceText {font-family:Monospace} +.highcontrastSkin .mceMenu .mceIcon {position:absolute; top:0; left:0; width:26px;} +.highcontrastSkin td.mceMenuItemSeparator {border-top:1px solid; height:1px} +.highcontrastSkin .mceMenuItemTitle a {border:0; border-bottom:1px solid} +.highcontrastSkin .mceMenuItemTitle span.mceText {font-weight:bold; padding-left:4px} +.highcontrastSkin .mceNoIcons .mceMenuItemSelected span.mceText:before {content: "\2713\A0";} +.highcontrastSkin .mceMenu span.mceMenuLine {display:none} +.highcontrastSkin .mceMenuItemSub a .mceText:after {content: "\A0\25B8"} +.highcontrastSkin .mceMenuItem td, .highcontrastSkin .mceMenuItem th {line-height: normal} + +/* ColorSplitButton */ +.highcontrastSkin div.mceColorSplitMenu table {background:#FFF; border:1px solid; color: #000} +.highcontrastSkin .mceColorSplitMenu td {padding:2px} +.highcontrastSkin .mceColorSplitMenu a {display:block; width:16px; height:16px; overflow:hidden; color:#000; margin: 0; padding: 0;} +.highcontrastSkin .mceColorSplitMenu td.mceMoreColors {padding:1px 3px 1px 1px} +.highcontrastSkin .mceColorSplitMenu a.mceMoreColors {width:100%; height:auto; text-align:center; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; line-height:20px; border:1px solid #FFF} +.highcontrastSkin .mceColorSplitMenu a.mceMoreColors:hover {border:1px solid; background-color:#B6BDD2} +.highcontrastSkin a.mceMoreColors:hover {border:1px solid #0A246A; color: #000;} +.highcontrastSkin .mceColorPreview {display:none;} +.highcontrastSkin .mce_forecolor span.mceAction, .highcontrastSkin .mce_backcolor span.mceAction {height:17px;overflow:hidden} + +/* Progress,Resize */ +.highcontrastSkin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=50); background:#FFF} +.highcontrastSkin .mceProgress {position:absolute; left:0; top:0; z-index:1001; background:url(../default/img/progress.gif) no-repeat; width:32px; height:32px; margin:-16px 0 0 -16px} + +/* Formats */ +.highcontrastSkin .mce_p span.mceText {} +.highcontrastSkin .mce_address span.mceText {font-style:italic} +.highcontrastSkin .mce_pre span.mceText {font-family:monospace} +.highcontrastSkin .mce_h1 span.mceText {font-weight:bolder; font-size: 2em} +.highcontrastSkin .mce_h2 span.mceText {font-weight:bolder; font-size: 1.5em} +.highcontrastSkin .mce_h3 span.mceText {font-weight:bolder; font-size: 1.17em} +.highcontrastSkin .mce_h4 span.mceText {font-weight:bolder; font-size: 1em} +.highcontrastSkin .mce_h5 span.mceText {font-weight:bolder; font-size: .83em} +.highcontrastSkin .mce_h6 span.mceText {font-weight:bolder; font-size: .75em} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css new file mode 100644 index 00000000..a666e4c7 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css @@ -0,0 +1,47 @@ +body, td, pre {color:#000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; margin:8px;} +body {background:#FFF;} +body.mceForceColors {background:#FFF; color:#000;} +h1 {font-size: 2em} +h2 {font-size: 1.5em} +h3 {font-size: 1.17em} +h4 {font-size: 1em} +h5 {font-size: .83em} +h6 {font-size: .75em} +.mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;} +a.mceItemAnchor {display:inline-block; width:11px !important; height:11px !important; background:url(../default/img/items.gif) no-repeat 0 0;} +span.mceItemNbsp {background: #DDD} +td.mceSelected, th.mceSelected {background-color:#3399ff !important} +img {border:0;} +table {cursor:default} +table td, table th {cursor:text} +ins {border-bottom:1px solid green; text-decoration: none; color:green} +del {color:red; text-decoration:line-through} +cite {border-bottom:1px dashed blue} +acronym {border-bottom:1px dotted #CCC; cursor:help} +abbr {border-bottom:1px dashed #CCC; cursor:help} + +/* IE */ +* html body { +scrollbar-3dlight-color:#F0F0EE; +scrollbar-arrow-color:#676662; +scrollbar-base-color:#F0F0EE; +scrollbar-darkshadow-color:#DDD; +scrollbar-face-color:#E0E0DD; +scrollbar-highlight-color:#F0F0EE; +scrollbar-shadow-color:#F0F0EE; +scrollbar-track-color:#F5F5F5; +} + +img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px} +font[face=mceinline] {font-family:inherit !important} + +.mceItemMedia {border:1px dotted #cc0000; background-position:center; background-repeat:no-repeat; background-color:#ffffcc} +.mceItemShockWave {background-image:url(../../img/shockwave.gif)} +.mceItemFlash {background-image:url(../../img/flash.gif)} +.mceItemQuickTime {background-image:url(../../img/quicktime.gif)} +.mceItemWindowsMedia {background-image:url(../../img/windowsmedia.gif)} +.mceItemRealMedia {background-image:url(../../img/realmedia.gif)} +.mceItemVideo {background-image:url(../../img/video.gif)} +.mceItemAudio {background-image:url(../../img/video.gif)} +.mceItemIframe {background-image:url(../../img/iframe.gif)} +.mcePageBreak {display:block;border:0;width:100%;height:12px;border-top:1px dotted #ccc;margin-top:15px;background:#fff url(../../img/pagebreak.gif) no-repeat center top;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css new file mode 100644 index 00000000..c97d38e8 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css @@ -0,0 +1,117 @@ +/* Generic */ +body { +font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; +scrollbar-3dlight-color:#F0F0EE; +scrollbar-arrow-color:#676662; +scrollbar-base-color:#F0F0EE; +scrollbar-darkshadow-color:#DDDDDD; +scrollbar-face-color:#E0E0DD; +scrollbar-highlight-color:#F0F0EE; +scrollbar-shadow-color:#F0F0EE; +scrollbar-track-color:#F5F5F5; +background:#F0F0EE; +padding:0; +margin:8px 8px 0 8px; +} + +html {background:#F0F0EE;} +td {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +textarea {resize:none;outline:none;} +a:link, a:visited {color:black;} +a:hover {color:#2B6FB6;} +.nowrap {white-space: nowrap} + +/* Forms */ +fieldset {margin:0; padding:4px; border:1px solid #919B9C; font-family:Verdana, Arial; font-size:10px;} +legend {color:#2B6FB6; font-weight:bold;} +label.msg {display:none;} +label.invalid {color:#EE0000; display:inline;} +input.invalid {border:1px solid #EE0000;} +input {background:#FFF; border:1px solid #CCC;} +input, select, textarea {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +input, select, textarea {border:1px solid #808080;} +input.radio {border:1px none #000000; background:transparent; vertical-align:middle;} +input.checkbox {border:1px none #000000; background:transparent; vertical-align:middle;} +.input_noborder {border:0;} + +/* Buttons */ +#insert, #cancel, input.button, .updateButton { +border:0; margin:0; padding:0; +font-weight:bold; +width:94px; height:26px; +background:url(../default/img/buttons.png) 0 -26px; +cursor:pointer; +padding-bottom:2px; +float:left; +} + +#insert {background:url(../default/img/buttons.png) 0 -52px} +#cancel {background:url(../default/img/buttons.png) 0 0; float:right} + +/* Browse */ +a.pickcolor, a.browse {text-decoration:none} +a.browse span {display:block; width:20px; height:18px; background:url(../../img/icons.gif) -860px 0; border:1px solid #FFF; margin-left:1px;} +.mceOldBoxModel a.browse span {width:22px; height:20px;} +a.browse:hover span {border:1px solid #0A246A; background-color:#B2BBD0;} +a.browse span.disabled {border:1px solid white; opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +a.browse:hover span.disabled {border:1px solid white; background-color:transparent;} +a.pickcolor span {display:block; width:20px; height:16px; background:url(../../img/icons.gif) -840px 0; margin-left:2px;} +.mceOldBoxModel a.pickcolor span {width:21px; height:17px;} +a.pickcolor:hover span {background-color:#B2BBD0;} +a.pickcolor:hover span.disabled {} + +/* Charmap */ +table.charmap {border:1px solid #AAA; text-align:center} +td.charmap, #charmap a {width:18px; height:18px; color:#000; border:1px solid #AAA; text-align:center; font-size:12px; vertical-align:middle; line-height: 18px;} +#charmap a {display:block; color:#000; text-decoration:none; border:0} +#charmap a:hover {background:#CCC;color:#2B6FB6} +#charmap #codeN {font-size:10px; font-family:Arial,Helvetica,sans-serif; text-align:center} +#charmap #codeV {font-size:40px; height:80px; border:1px solid #AAA; text-align:center} + +/* Source */ +.wordWrapCode {vertical-align:middle; border:1px none #000000; background:transparent;} +.mceActionPanel {margin-top:5px;} + +/* Tabs classes */ +.tabs {width:100%; height:18px; line-height:normal; background:url(../default/img/tabs.gif) repeat-x 0 -72px;} +.tabs ul {margin:0; padding:0; list-style:none;} +.tabs li {float:left; background:url(../default/img/tabs.gif) no-repeat 0 0; margin:0 2px 0 0; padding:0 0 0 10px; line-height:17px; height:18px; display:block;} +.tabs li.current {background:url(../default/img/tabs.gif) no-repeat 0 -18px; margin-right:2px;} +.tabs span {float:left; display:block; background:url(../default/img/tabs.gif) no-repeat right -36px; padding:0px 10px 0 0;} +.tabs .current span {background:url(../default/img/tabs.gif) no-repeat right -54px;} +.tabs a {text-decoration:none; font-family:Verdana, Arial; font-size:10px;} +.tabs a:link, .tabs a:visited, .tabs a:hover {color:black;} + +/* Panels */ +.panel_wrapper div.panel {display:none;} +.panel_wrapper div.current {display:block; width:100%; height:300px; overflow:visible;} +.panel_wrapper {border:1px solid #919B9C; border-top:0px; padding:10px; padding-top:5px; clear:both; background:white;} + +/* Columns */ +.column {float:left;} +.properties {width:100%;} +.properties .column1 {} +.properties .column2 {text-align:left;} + +/* Titles */ +h1, h2, h3, h4 {color:#2B6FB6; margin:0; padding:0; padding-top:5px;} +h3 {font-size:14px;} +.title {font-size:12px; font-weight:bold; color:#2B6FB6;} + +/* Dialog specific */ +#link .panel_wrapper, #link div.current {height:125px;} +#image .panel_wrapper, #image div.current {height:200px;} +#plugintable thead {font-weight:bold; background:#DDD;} +#plugintable, #about #plugintable td {border:1px solid #919B9C;} +#plugintable {width:96%; margin-top:10px;} +#pluginscontainer {height:290px; overflow:auto;} +#colorpicker #preview {float:right; width:50px; height:14px;line-height:1px; border:1px solid black; margin-left:5px;} +#colorpicker #colors {float:left; border:1px solid gray; cursor:crosshair;} +#colorpicker #light {border:1px solid gray; margin-left:5px; float:left;width:15px; height:150px; cursor:crosshair;} +#colorpicker #light div {overflow:hidden;} +#colorpicker #previewblock {float:right; padding-left:10px; height:20px;} +#colorpicker .panel_wrapper div.current {height:175px;} +#colorpicker #namedcolors {width:150px;} +#colorpicker #namedcolors a {display:block; float:left; width:10px; height:10px; margin:1px 1px 0 0; overflow:hidden;} +#colorpicker #colornamecontainer {margin-top:5px;} +#colorpicker #picker_panel fieldset {margin:auto;width:325px;} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png new file mode 100644 index 00000000..13a5cb03 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png new file mode 100644 index 00000000..7fc57f2b Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png new file mode 100644 index 00000000..c0dcc6ca Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css new file mode 100644 index 00000000..c0156d2c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css @@ -0,0 +1,217 @@ +/* Reset */ +.o2k7Skin table, .o2k7Skin tbody, .o2k7Skin a, .o2k7Skin img, .o2k7Skin tr, .o2k7Skin div, .o2k7Skin td, .o2k7Skin iframe, .o2k7Skin span, .o2k7Skin *, .o2k7Skin .mceText {border:0; margin:0; padding:0; background:transparent; white-space:nowrap; text-decoration:none; font-weight:normal; cursor:default; color:#000; vertical-align:baseline; width:auto; border-collapse:separate; text-align:left} +.o2k7Skin a:hover, .o2k7Skin a:link, .o2k7Skin a:visited, .o2k7Skin a:active {text-decoration:none; font-weight:normal; cursor:default; color:#000} +.o2k7Skin table td {vertical-align:middle} + +/* Containers */ +.o2k7Skin table {background:transparent} +.o2k7Skin iframe {display:block;} +.o2k7Skin .mceToolbar {height:26px} + +/* External */ +.o2k7Skin .mceExternalToolbar {position:absolute; border:1px solid #ABC6DD; border-bottom:0; display:none} +.o2k7Skin .mceExternalToolbar td.mceToolbar {padding-right:13px;} +.o2k7Skin .mceExternalClose {position:absolute; top:3px; right:3px; width:7px; height:7px; background:url(../../img/icons.gif) -820px 0} + +/* Layout */ +.o2k7Skin table.mceLayout {border:0; border-left:1px solid #ABC6DD; border-right:1px solid #ABC6DD} +.o2k7Skin table.mceLayout tr.mceFirst td {border-top:1px solid #ABC6DD} +.o2k7Skin table.mceLayout tr.mceLast td {border-bottom:1px solid #ABC6DD} +.o2k7Skin table.mceToolbar, .o2k7Skin tr.mceFirst .mceToolbar tr td, .o2k7Skin tr.mceLast .mceToolbar tr td {border:0; margin:0; padding:0} +.o2k7Skin .mceIframeContainer {border-top:1px solid #ABC6DD; border-bottom:1px solid #ABC6DD} +.o2k7Skin td.mceToolbar{background:#E5EFFD} +.o2k7Skin .mceStatusbar {background:#E5EFFD; display:block; font-family:'MS Sans Serif',sans-serif,Verdana,Arial; font-size:9pt; line-height:16px; overflow:visible; color:#000; height:20px} +.o2k7Skin .mceStatusbar div {float:left; padding:2px} +.o2k7Skin .mceStatusbar a.mceResize {display:block; float:right; background:url(../../img/icons.gif) -800px 0; width:20px; height:20px; cursor:se-resize; outline:0} +.o2k7Skin .mceStatusbar a:hover {text-decoration:underline} +.o2k7Skin table.mceToolbar {margin-left:3px} +.o2k7Skin .mceToolbar .mceToolbarStart span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px; margin-left:3px;} +.o2k7Skin .mceToolbar td.mceFirst span {margin:0} +.o2k7Skin .mceToolbar .mceToolbarEnd span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px} +.o2k7Skin .mceToolbar .mceToolbarEndListBox span, .o2k7Skin .mceToolbar .mceToolbarStartListBox span {display:none} +.o2k7Skin span.mceIcon, .o2k7Skin img.mceIcon {display:block; width:20px; height:20px} +.o2k7Skin .mceIcon {background:url(../../img/icons.gif) no-repeat 20px 20px} +.o2k7Skin td.mceCenter {text-align:center;} +.o2k7Skin td.mceCenter table {margin:0 auto; text-align:left;} +.o2k7Skin td.mceRight table {margin:0 0 0 auto;} + +/* Button */ +.o2k7Skin .mceButton {display:block; background:url(img/button_bg.png); width:22px; height:22px} +.o2k7Skin a.mceButton span, .o2k7Skin a.mceButton img {margin-left:1px} +.o2k7Skin .mceOldBoxModel a.mceButton span, .o2k7Skin .mceOldBoxModel a.mceButton img {margin:0 0 0 1px} +.o2k7Skin a.mceButtonEnabled:hover {background-color:#B2BBD0; background-position:0 -22px} +.o2k7Skin a.mceButtonActive, .o2k7Skin a.mceButtonSelected {background-position:0 -44px} +.o2k7Skin .mceButtonDisabled .mceIcon {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +.o2k7Skin .mceButtonLabeled {width:auto} +.o2k7Skin .mceButtonLabeled span.mceIcon {float:left} +.o2k7Skin span.mceButtonLabel {display:block; font-size:10px; padding:4px 6px 0 22px; font-family:Tahoma,Verdana,Arial,Helvetica} +.o2k7Skin .mceButtonDisabled .mceButtonLabel {color:#888} + +/* Separator */ +.o2k7Skin .mceSeparator {display:block; background:url(img/button_bg.png) -22px 0; width:5px; height:22px} + +/* ListBox */ +.o2k7Skin .mceListBox {padding-left: 3px} +.o2k7Skin .mceListBox, .o2k7Skin .mceListBox a {display:block} +.o2k7Skin .mceListBox .mceText {padding-left:4px; text-align:left; width:70px; border:1px solid #b3c7e1; border-right:0; background:#eaf2fb; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; height:20px; line-height:20px; overflow:hidden} +.o2k7Skin .mceListBox .mceOpen {width:14px; height:22px; background:url(img/button_bg.png) -66px 0} +.o2k7Skin table.mceListBoxEnabled:hover .mceText, .o2k7Skin .mceListBoxHover .mceText, .o2k7Skin .mceListBoxSelected .mceText {background:#FFF} +.o2k7Skin table.mceListBoxEnabled:hover .mceOpen, .o2k7Skin .mceListBoxHover .mceOpen, .o2k7Skin .mceListBoxSelected .mceOpen {background-position:-66px -22px} +.o2k7Skin .mceListBoxDisabled .mceText {color:gray} +.o2k7Skin .mceListBoxMenu {overflow:auto; overflow-x:hidden; margin-left:3px} +.o2k7Skin .mceOldBoxModel .mceListBox .mceText {height:22px} +.o2k7Skin select.mceListBox {font-family:Tahoma,Verdana,Arial,Helvetica; font-size:12px; border:1px solid #b3c7e1; background:#FFF;} + +/* SplitButton */ +.o2k7Skin .mceSplitButton, .o2k7Skin .mceSplitButton a, .o2k7Skin .mceSplitButton span {display:block; height:22px; direction:ltr} +.o2k7Skin .mceSplitButton {background:url(img/button_bg.png)} +.o2k7Skin .mceSplitButton a.mceAction {width:22px} +.o2k7Skin .mceSplitButton span.mceAction {width:22px; background-image:url(../../img/icons.gif)} +.o2k7Skin .mceSplitButton a.mceOpen {width:10px; background:url(img/button_bg.png) -44px 0} +.o2k7Skin .mceSplitButton span.mceOpen {display:none} +.o2k7Skin table.mceSplitButtonEnabled:hover a.mceAction, .o2k7Skin .mceSplitButtonHover a.mceAction, .o2k7Skin .mceSplitButtonSelected {background:url(img/button_bg.png) 0 -22px} +.o2k7Skin table.mceSplitButtonEnabled:hover a.mceOpen, .o2k7Skin .mceSplitButtonHover a.mceOpen, .o2k7Skin .mceSplitButtonSelected a.mceOpen {background-position:-44px -44px} +.o2k7Skin .mceSplitButtonDisabled .mceAction {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +.o2k7Skin .mceSplitButtonActive {background-position:0 -44px} + +/* ColorSplitButton */ +.o2k7Skin div.mceColorSplitMenu table {background:#FFF; border:1px solid gray} +.o2k7Skin .mceColorSplitMenu td {padding:2px} +.o2k7Skin .mceColorSplitMenu a {display:block; width:9px; height:9px; overflow:hidden; border:1px solid #808080} +.o2k7Skin .mceColorSplitMenu td.mceMoreColors {padding:1px 3px 1px 1px} +.o2k7Skin .mceColorSplitMenu a.mceMoreColors {width:100%; height:auto; text-align:center; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; line-height:20px; border:1px solid #FFF} +.o2k7Skin .mceColorSplitMenu a.mceMoreColors:hover {border:1px solid #0A246A; background-color:#B6BDD2} +.o2k7Skin a.mceMoreColors:hover {border:1px solid #0A246A} +.o2k7Skin .mceColorPreview {margin-left:2px; width:16px; height:4px; overflow:hidden; background:#9a9b9a;overflow:hidden} +.o2k7Skin .mce_forecolor span.mceAction, .o2k7Skin .mce_backcolor span.mceAction {height:15px;overflow:hidden} + +/* Menu */ +.o2k7Skin .mceMenu {position:absolute; left:0; top:0; z-index:1000; border:1px solid #ABC6DD} +.o2k7Skin .mceNoIcons span.mceIcon {width:0;} +.o2k7Skin .mceNoIcons a .mceText {padding-left:10px} +.o2k7Skin .mceMenu table {background:#FFF} +.o2k7Skin .mceMenu a, .o2k7Skin .mceMenu span, .o2k7Skin .mceMenu {display:block} +.o2k7Skin .mceMenu td {height:20px} +.o2k7Skin .mceMenu a {position:relative;padding:3px 0 4px 0} +.o2k7Skin .mceMenu .mceText {position:relative; display:block; font-family:Tahoma,Verdana,Arial,Helvetica; color:#000; cursor:default; margin:0; padding:0 25px 0 25px; display:block} +.o2k7Skin .mceMenu span.mceText, .o2k7Skin .mceMenu .mcePreview {font-size:11px} +.o2k7Skin .mceMenu pre.mceText {font-family:Monospace} +.o2k7Skin .mceMenu .mceIcon {position:absolute; top:0; left:0; width:22px;} +.o2k7Skin .mceMenu .mceMenuItemEnabled a:hover, .o2k7Skin .mceMenu .mceMenuItemActive {background-color:#dbecf3} +.o2k7Skin td.mceMenuItemSeparator {background:#DDD; height:1px} +.o2k7Skin .mceMenuItemTitle a {border:0; background:#E5EFFD; border-bottom:1px solid #ABC6DD} +.o2k7Skin .mceMenuItemTitle span.mceText {color:#000; font-weight:bold; padding-left:4px} +.o2k7Skin .mceMenuItemDisabled .mceText {color:#888} +.o2k7Skin .mceMenuItemSelected .mceIcon {background:url(../default/img/menu_check.gif)} +.o2k7Skin .mceNoIcons .mceMenuItemSelected a {background:url(../default/img/menu_arrow.gif) no-repeat -6px center} +.o2k7Skin .mceMenu span.mceMenuLine {display:none} +.o2k7Skin .mceMenuItemSub a {background:url(../default/img/menu_arrow.gif) no-repeat top right;} +.o2k7Skin .mceMenuItem td, .o2k7Skin .mceMenuItem th {line-height: normal} + +/* Progress,Resize */ +.o2k7Skin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=50); background:#FFF} +.o2k7Skin .mceProgress {position:absolute; left:0; top:0; z-index:1001; background:url(../default/img/progress.gif) no-repeat; width:32px; height:32px; margin:-16px 0 0 -16px} + +/* Formats */ +.o2k7Skin .mce_formatPreview a {font-size:10px} +.o2k7Skin .mce_p span.mceText {} +.o2k7Skin .mce_address span.mceText {font-style:italic} +.o2k7Skin .mce_pre span.mceText {font-family:monospace} +.o2k7Skin .mce_h1 span.mceText {font-weight:bolder; font-size: 2em} +.o2k7Skin .mce_h2 span.mceText {font-weight:bolder; font-size: 1.5em} +.o2k7Skin .mce_h3 span.mceText {font-weight:bolder; font-size: 1.17em} +.o2k7Skin .mce_h4 span.mceText {font-weight:bolder; font-size: 1em} +.o2k7Skin .mce_h5 span.mceText {font-weight:bolder; font-size: .83em} +.o2k7Skin .mce_h6 span.mceText {font-weight:bolder; font-size: .75em} + +/* Theme */ +.o2k7Skin span.mce_bold {background-position:0 0} +.o2k7Skin span.mce_italic {background-position:-60px 0} +.o2k7Skin span.mce_underline {background-position:-140px 0} +.o2k7Skin span.mce_strikethrough {background-position:-120px 0} +.o2k7Skin span.mce_undo {background-position:-160px 0} +.o2k7Skin span.mce_redo {background-position:-100px 0} +.o2k7Skin span.mce_cleanup {background-position:-40px 0} +.o2k7Skin span.mce_bullist {background-position:-20px 0} +.o2k7Skin span.mce_numlist {background-position:-80px 0} +.o2k7Skin span.mce_justifyleft {background-position:-460px 0} +.o2k7Skin span.mce_justifyright {background-position:-480px 0} +.o2k7Skin span.mce_justifycenter {background-position:-420px 0} +.o2k7Skin span.mce_justifyfull {background-position:-440px 0} +.o2k7Skin span.mce_anchor {background-position:-200px 0} +.o2k7Skin span.mce_indent {background-position:-400px 0} +.o2k7Skin span.mce_outdent {background-position:-540px 0} +.o2k7Skin span.mce_link {background-position:-500px 0} +.o2k7Skin span.mce_unlink {background-position:-640px 0} +.o2k7Skin span.mce_sub {background-position:-600px 0} +.o2k7Skin span.mce_sup {background-position:-620px 0} +.o2k7Skin span.mce_removeformat {background-position:-580px 0} +.o2k7Skin span.mce_newdocument {background-position:-520px 0} +.o2k7Skin span.mce_image {background-position:-380px 0} +.o2k7Skin span.mce_help {background-position:-340px 0} +.o2k7Skin span.mce_code {background-position:-260px 0} +.o2k7Skin span.mce_hr {background-position:-360px 0} +.o2k7Skin span.mce_visualaid {background-position:-660px 0} +.o2k7Skin span.mce_charmap {background-position:-240px 0} +.o2k7Skin span.mce_paste {background-position:-560px 0} +.o2k7Skin span.mce_copy {background-position:-700px 0} +.o2k7Skin span.mce_cut {background-position:-680px 0} +.o2k7Skin span.mce_blockquote {background-position:-220px 0} +.o2k7Skin .mce_forecolor span.mceAction {background-position:-720px 0} +.o2k7Skin .mce_backcolor span.mceAction {background-position:-760px 0} +.o2k7Skin span.mce_forecolorpicker {background-position:-720px 0} +.o2k7Skin span.mce_backcolorpicker {background-position:-760px 0} + +/* Plugins */ +.o2k7Skin span.mce_advhr {background-position:-0px -20px} +.o2k7Skin span.mce_ltr {background-position:-20px -20px} +.o2k7Skin span.mce_rtl {background-position:-40px -20px} +.o2k7Skin span.mce_emotions {background-position:-60px -20px} +.o2k7Skin span.mce_fullpage {background-position:-80px -20px} +.o2k7Skin span.mce_fullscreen {background-position:-100px -20px} +.o2k7Skin span.mce_iespell {background-position:-120px -20px} +.o2k7Skin span.mce_insertdate {background-position:-140px -20px} +.o2k7Skin span.mce_inserttime {background-position:-160px -20px} +.o2k7Skin span.mce_absolute {background-position:-180px -20px} +.o2k7Skin span.mce_backward {background-position:-200px -20px} +.o2k7Skin span.mce_forward {background-position:-220px -20px} +.o2k7Skin span.mce_insert_layer {background-position:-240px -20px} +.o2k7Skin span.mce_insertlayer {background-position:-260px -20px} +.o2k7Skin span.mce_movebackward {background-position:-280px -20px} +.o2k7Skin span.mce_moveforward {background-position:-300px -20px} +.o2k7Skin span.mce_media {background-position:-320px -20px} +.o2k7Skin span.mce_nonbreaking {background-position:-340px -20px} +.o2k7Skin span.mce_pastetext {background-position:-360px -20px} +.o2k7Skin span.mce_pasteword {background-position:-380px -20px} +.o2k7Skin span.mce_selectall {background-position:-400px -20px} +.o2k7Skin span.mce_preview {background-position:-420px -20px} +.o2k7Skin span.mce_print {background-position:-440px -20px} +.o2k7Skin span.mce_cancel {background-position:-460px -20px} +.o2k7Skin span.mce_save {background-position:-480px -20px} +.o2k7Skin span.mce_replace {background-position:-500px -20px} +.o2k7Skin span.mce_search {background-position:-520px -20px} +.o2k7Skin span.mce_styleprops {background-position:-560px -20px} +.o2k7Skin span.mce_table {background-position:-580px -20px} +.o2k7Skin span.mce_cell_props {background-position:-600px -20px} +.o2k7Skin span.mce_delete_table {background-position:-620px -20px} +.o2k7Skin span.mce_delete_col {background-position:-640px -20px} +.o2k7Skin span.mce_delete_row {background-position:-660px -20px} +.o2k7Skin span.mce_col_after {background-position:-680px -20px} +.o2k7Skin span.mce_col_before {background-position:-700px -20px} +.o2k7Skin span.mce_row_after {background-position:-720px -20px} +.o2k7Skin span.mce_row_before {background-position:-740px -20px} +.o2k7Skin span.mce_merge_cells {background-position:-760px -20px} +.o2k7Skin span.mce_table_props {background-position:-980px -20px} +.o2k7Skin span.mce_row_props {background-position:-780px -20px} +.o2k7Skin span.mce_split_cells {background-position:-800px -20px} +.o2k7Skin span.mce_template {background-position:-820px -20px} +.o2k7Skin span.mce_visualchars {background-position:-840px -20px} +.o2k7Skin span.mce_abbr {background-position:-860px -20px} +.o2k7Skin span.mce_acronym {background-position:-880px -20px} +.o2k7Skin span.mce_attribs {background-position:-900px -20px} +.o2k7Skin span.mce_cite {background-position:-920px -20px} +.o2k7Skin span.mce_del {background-position:-940px -20px} +.o2k7Skin span.mce_ins {background-position:-960px -20px} +.o2k7Skin span.mce_pagebreak {background-position:0 -40px} +.o2k7Skin span.mce_restoredraft {background-position:-20px -40px} +.o2k7Skin span.mce_spellchecker {background-position:-540px -20px} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css new file mode 100644 index 00000000..85812cde --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css @@ -0,0 +1,8 @@ +/* Black */ +.o2k7SkinBlack .mceToolbar .mceToolbarStart span, .o2k7SkinBlack .mceToolbar .mceToolbarEnd span, .o2k7SkinBlack .mceButton, .o2k7SkinBlack .mceSplitButton, .o2k7SkinBlack .mceSeparator, .o2k7SkinBlack .mceSplitButton a.mceOpen, .o2k7SkinBlack .mceListBox a.mceOpen {background-image:url(img/button_bg_black.png)} +.o2k7SkinBlack td.mceToolbar, .o2k7SkinBlack td.mceStatusbar, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack .mceMenuItemTitle span.mceText, .o2k7SkinBlack .mceStatusbar div, .o2k7SkinBlack .mceStatusbar span, .o2k7SkinBlack .mceStatusbar a {background:#535353; color:#FFF} +.o2k7SkinBlack table.mceListBoxEnabled .mceText, o2k7SkinBlack .mceListBox .mceText {background:#FFF; border:1px solid #CBCFD4; border-bottom-color:#989FA9; border-right:0} +.o2k7SkinBlack table.mceListBoxEnabled:hover .mceText, .o2k7SkinBlack .mceListBoxHover .mceText, .o2k7SkinBlack .mceListBoxSelected .mceText {background:#FFF; border:1px solid #FFBD69; border-right:0} +.o2k7SkinBlack .mceExternalToolbar, .o2k7SkinBlack .mceListBox .mceText, .o2k7SkinBlack div.mceMenu, .o2k7SkinBlack table.mceLayout, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack table.mceLayout tr.mceFirst td, .o2k7SkinBlack table.mceLayout, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack table.mceLayout tr.mceLast td, .o2k7SkinBlack .mceIframeContainer {border-color: #535353;} +.o2k7SkinBlack table.mceSplitButtonEnabled:hover a.mceAction, .o2k7SkinBlack .mceSplitButtonHover a.mceAction, .o2k7SkinBlack .mceSplitButtonSelected {background-image:url(img/button_bg_black.png)} +.o2k7SkinBlack .mceMenu .mceMenuItemEnabled a:hover, .o2k7SkinBlack .mceMenu .mceMenuItemActive {background-color:#FFE7A1} \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css new file mode 100644 index 00000000..d64c3616 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css @@ -0,0 +1,5 @@ +/* Silver */ +.o2k7SkinSilver .mceToolbar .mceToolbarStart span, .o2k7SkinSilver .mceButton, .o2k7SkinSilver .mceSplitButton, .o2k7SkinSilver .mceSeparator, .o2k7SkinSilver .mceSplitButton a.mceOpen, .o2k7SkinSilver .mceListBox a.mceOpen {background-image:url(img/button_bg_silver.png)} +.o2k7SkinSilver td.mceToolbar, .o2k7SkinSilver td.mceStatusbar, .o2k7SkinSilver .mceMenuItemTitle a {background:#eee} +.o2k7SkinSilver .mceListBox .mceText {background:#FFF} +.o2k7SkinSilver .mceExternalToolbar, .o2k7SkinSilver .mceListBox .mceText, .o2k7SkinSilver div.mceMenu, .o2k7SkinSilver table.mceLayout, .o2k7SkinSilver .mceMenuItemTitle a, .o2k7SkinSilver table.mceLayout tr.mceFirst td, .o2k7SkinSilver table.mceLayout, .o2k7SkinSilver .mceMenuItemTitle a, .o2k7SkinSilver table.mceLayout tr.mceLast td, .o2k7SkinSilver .mceIframeContainer {border-color: #bbb} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/source_editor.htm b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/source_editor.htm new file mode 100644 index 00000000..d3f75d66 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/advanced/source_editor.htm @@ -0,0 +1,25 @@ +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <title>{#advanced_dlg.code_title}</title> + <script type="text/javascript" src="../../tiny_mce_popup.js"></script> + <script type="text/javascript" src="js/source_editor.js"></script> +</head> +<body onresize="resizeInputs();" style="display:none; overflow:hidden;"> + <form name="source" onsubmit="saveContent();return false;" action="#"> + <div style="float: left" class="title"><label for="htmlSource">{#advanced_dlg.code_title}</label></div> + + <div id="wrapline" style="float: right"> + <input type="checkbox" name="wraped" id="wraped" onclick="toggleWordWrap(this);" class="wordWrapCode" /><label for="wraped">{#advanced_dlg.code_wordwrap}</label> + </div> + + <br style="clear: both" /> + + <textarea name="htmlSource" id="htmlSource" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,monospace; font-size: 12px;" dir="ltr" wrap="off" class="mceFocus"></textarea> + + <div class="mceActionPanel"> + <input type="submit" role="button" name="insert" value="{#update}" id="insert" /> + <input type="button" role="button" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" id="cancel" /> + </div> + </form> +</body> +</html> diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/editor_template.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/editor_template.js new file mode 100644 index 00000000..4b3209cc --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/editor_template.js @@ -0,0 +1 @@ +(function(){var a=tinymce.DOM;tinymce.ThemeManager.requireLangPack("simple");tinymce.create("tinymce.themes.SimpleTheme",{init:function(c,d){var e=this,b=["Bold","Italic","Underline","Strikethrough","InsertUnorderedList","InsertOrderedList"],f=c.settings;e.editor=c;c.contentCSS.push(d+"/skins/"+f.skin+"/content.css");c.onInit.add(function(){c.onNodeChange.add(function(h,g){tinymce.each(b,function(i){g.get(i.toLowerCase()).setActive(h.queryCommandState(i))})})});a.loadCSS((f.editor_css?c.documentBaseURI.toAbsolute(f.editor_css):"")||d+"/skins/"+f.skin+"/ui.css")},renderUI:function(h){var e=this,i=h.targetNode,b,c,d=e.editor,f=d.controlManager,g;i=a.insertAfter(a.create("span",{id:d.id+"_container","class":"mceEditor "+d.settings.skin+"SimpleSkin"}),i);i=g=a.add(i,"table",{cellPadding:0,cellSpacing:0,"class":"mceLayout"});i=c=a.add(i,"tbody");i=a.add(c,"tr");i=b=a.add(a.add(i,"td"),"div",{"class":"mceIframeContainer"});i=a.add(a.add(c,"tr",{"class":"last"}),"td",{"class":"mceToolbar mceLast",align:"center"});c=e.toolbar=f.createToolbar("tools1");c.add(f.createButton("bold",{title:"simple.bold_desc",cmd:"Bold"}));c.add(f.createButton("italic",{title:"simple.italic_desc",cmd:"Italic"}));c.add(f.createButton("underline",{title:"simple.underline_desc",cmd:"Underline"}));c.add(f.createButton("strikethrough",{title:"simple.striketrough_desc",cmd:"Strikethrough"}));c.add(f.createSeparator());c.add(f.createButton("undo",{title:"simple.undo_desc",cmd:"Undo"}));c.add(f.createButton("redo",{title:"simple.redo_desc",cmd:"Redo"}));c.add(f.createSeparator());c.add(f.createButton("cleanup",{title:"simple.cleanup_desc",cmd:"mceCleanup"}));c.add(f.createSeparator());c.add(f.createButton("insertunorderedlist",{title:"simple.bullist_desc",cmd:"InsertUnorderedList"}));c.add(f.createButton("insertorderedlist",{title:"simple.numlist_desc",cmd:"InsertOrderedList"}));c.renderTo(i);return{iframeContainer:b,editorContainer:d.id+"_container",sizeContainer:g,deltaHeight:-20}},getInfo:function(){return{longname:"Simple theme",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.ThemeManager.add("simple",tinymce.themes.SimpleTheme)})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/editor_template_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/editor_template_src.js new file mode 100644 index 00000000..35c19a6b --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/editor_template_src.js @@ -0,0 +1,84 @@ +/** + * editor_template_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var DOM = tinymce.DOM; + + // Tell it to load theme specific language pack(s) + tinymce.ThemeManager.requireLangPack('simple'); + + tinymce.create('tinymce.themes.SimpleTheme', { + init : function(ed, url) { + var t = this, states = ['Bold', 'Italic', 'Underline', 'Strikethrough', 'InsertUnorderedList', 'InsertOrderedList'], s = ed.settings; + + t.editor = ed; + ed.contentCSS.push(url + "/skins/" + s.skin + "/content.css"); + + ed.onInit.add(function() { + ed.onNodeChange.add(function(ed, cm) { + tinymce.each(states, function(c) { + cm.get(c.toLowerCase()).setActive(ed.queryCommandState(c)); + }); + }); + }); + + DOM.loadCSS((s.editor_css ? ed.documentBaseURI.toAbsolute(s.editor_css) : '') || url + "/skins/" + s.skin + "/ui.css"); + }, + + renderUI : function(o) { + var t = this, n = o.targetNode, ic, tb, ed = t.editor, cf = ed.controlManager, sc; + + n = DOM.insertAfter(DOM.create('span', {id : ed.id + '_container', 'class' : 'mceEditor ' + ed.settings.skin + 'SimpleSkin'}), n); + n = sc = DOM.add(n, 'table', {cellPadding : 0, cellSpacing : 0, 'class' : 'mceLayout'}); + n = tb = DOM.add(n, 'tbody'); + + // Create iframe container + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(DOM.add(n, 'td'), 'div', {'class' : 'mceIframeContainer'}); + + // Create toolbar container + n = DOM.add(DOM.add(tb, 'tr', {'class' : 'last'}), 'td', {'class' : 'mceToolbar mceLast', align : 'center'}); + + // Create toolbar + tb = t.toolbar = cf.createToolbar("tools1"); + tb.add(cf.createButton('bold', {title : 'simple.bold_desc', cmd : 'Bold'})); + tb.add(cf.createButton('italic', {title : 'simple.italic_desc', cmd : 'Italic'})); + tb.add(cf.createButton('underline', {title : 'simple.underline_desc', cmd : 'Underline'})); + tb.add(cf.createButton('strikethrough', {title : 'simple.striketrough_desc', cmd : 'Strikethrough'})); + tb.add(cf.createSeparator()); + tb.add(cf.createButton('undo', {title : 'simple.undo_desc', cmd : 'Undo'})); + tb.add(cf.createButton('redo', {title : 'simple.redo_desc', cmd : 'Redo'})); + tb.add(cf.createSeparator()); + tb.add(cf.createButton('cleanup', {title : 'simple.cleanup_desc', cmd : 'mceCleanup'})); + tb.add(cf.createSeparator()); + tb.add(cf.createButton('insertunorderedlist', {title : 'simple.bullist_desc', cmd : 'InsertUnorderedList'})); + tb.add(cf.createButton('insertorderedlist', {title : 'simple.numlist_desc', cmd : 'InsertOrderedList'})); + tb.renderTo(n); + + return { + iframeContainer : ic, + editorContainer : ed.id + '_container', + sizeContainer : sc, + deltaHeight : -20 + }; + }, + + getInfo : function() { + return { + longname : 'Simple theme', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + version : tinymce.majorVersion + "." + tinymce.minorVersion + } + } + }); + + tinymce.ThemeManager.add('simple', tinymce.themes.SimpleTheme); +})(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/img/icons.gif b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/img/icons.gif new file mode 100644 index 00000000..6fcbcb5d Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/img/icons.gif differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/langs/en.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/langs/en.js new file mode 100644 index 00000000..6f095311 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/langs/en.js @@ -0,0 +1,11 @@ +tinyMCE.addI18n('en.simple',{ +bold_desc:"Bold (Ctrl+B)", +italic_desc:"Italic (Ctrl+I)", +underline_desc:"Underline (Ctrl+U)", +striketrough_desc:"Strikethrough", +bullist_desc:"Unordered list", +numlist_desc:"Ordered list", +undo_desc:"Undo (Ctrl+Z)", +redo_desc:"Redo (Ctrl+Y)", +cleanup_desc:"Cleanup messy code" +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/default/content.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/default/content.css new file mode 100644 index 00000000..783b170f --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/default/content.css @@ -0,0 +1,25 @@ +body, td, pre { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; +} + +body { + background-color: #FFFFFF; +} + +.mceVisualAid { + border: 1px dashed #BBBBBB; +} + +/* MSIE specific */ + +* html body { + scrollbar-3dlight-color: #F0F0EE; + scrollbar-arrow-color: #676662; + scrollbar-base-color: #F0F0EE; + scrollbar-darkshadow-color: #DDDDDD; + scrollbar-face-color: #E0E0DD; + scrollbar-highlight-color: #F0F0EE; + scrollbar-shadow-color: #F0F0EE; + scrollbar-track-color: #F5F5F5; +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/default/ui.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/default/ui.css new file mode 100644 index 00000000..32feae62 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/default/ui.css @@ -0,0 +1,32 @@ +/* Reset */ +.defaultSimpleSkin table, .defaultSimpleSkin tbody, .defaultSimpleSkin a, .defaultSimpleSkin img, .defaultSimpleSkin tr, .defaultSimpleSkin div, .defaultSimpleSkin td, .defaultSimpleSkin iframe, .defaultSimpleSkin span, .defaultSimpleSkin * {border:0; margin:0; padding:0; background:transparent; white-space:nowrap; text-decoration:none; font-weight:normal; cursor:default; color:#000} + +/* Containers */ +.defaultSimpleSkin {position:relative} +.defaultSimpleSkin table.mceLayout {background:#F0F0EE; border:1px solid #CCC;} +.defaultSimpleSkin iframe {display:block; background:#FFF; border-bottom:1px solid #CCC;} +.defaultSimpleSkin .mceToolbar {height:24px;} + +/* Layout */ +.defaultSimpleSkin span.mceIcon, .defaultSimpleSkin img.mceIcon {display:block; width:20px; height:20px} +.defaultSimpleSkin .mceIcon {background:url(../../img/icons.gif) no-repeat 20px 20px} + +/* Button */ +.defaultSimpleSkin .mceButton {display:block; border:1px solid #F0F0EE; width:20px; height:20px} +.defaultSimpleSkin a.mceButtonEnabled:hover {border:1px solid #0A246A; background-color:#B2BBD0} +.defaultSimpleSkin a.mceButtonActive {border:1px solid #0A246A; background-color:#C2CBE0} +.defaultSimpleSkin .mceButtonDisabled span {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} + +/* Separator */ +.defaultSimpleSkin .mceSeparator {display:block; background:url(../../img/icons.gif) -180px 0; width:2px; height:20px; margin:0 2px 0 4px} + +/* Theme */ +.defaultSimpleSkin span.mce_bold {background-position:0 0} +.defaultSimpleSkin span.mce_italic {background-position:-60px 0} +.defaultSimpleSkin span.mce_underline {background-position:-140px 0} +.defaultSimpleSkin span.mce_strikethrough {background-position:-120px 0} +.defaultSimpleSkin span.mce_undo {background-position:-160px 0} +.defaultSimpleSkin span.mce_redo {background-position:-100px 0} +.defaultSimpleSkin span.mce_cleanup {background-position:-40px 0} +.defaultSimpleSkin span.mce_insertunorderedlist {background-position:-20px 0} +.defaultSimpleSkin span.mce_insertorderedlist {background-position:-80px 0} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css new file mode 100644 index 00000000..e10558f9 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css @@ -0,0 +1,17 @@ +body, td, pre {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} + +body {background: #FFF;} +.mceVisualAid {border: 1px dashed #BBB;} + +/* IE */ + +* html body { +scrollbar-3dlight-color: #F0F0EE; +scrollbar-arrow-color: #676662; +scrollbar-base-color: #F0F0EE; +scrollbar-darkshadow-color: #DDDDDD; +scrollbar-face-color: #E0E0DD; +scrollbar-highlight-color: #F0F0EE; +scrollbar-shadow-color: #F0F0EE; +scrollbar-track-color: #F5F5F5; +} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/progressBarEmpty.png b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png similarity index 52% rename from resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/progressBarEmpty.png rename to resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png index e0a68561..527e3495 100644 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/progressBarEmpty.png and b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png differ diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css new file mode 100644 index 00000000..021d650f --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css @@ -0,0 +1,35 @@ +/* Reset */ +.o2k7SimpleSkin table, .o2k7SimpleSkin tbody, .o2k7SimpleSkin a, .o2k7SimpleSkin img, .o2k7SimpleSkin tr, .o2k7SimpleSkin div, .o2k7SimpleSkin td, .o2k7SimpleSkin iframe, .o2k7SimpleSkin span, .o2k7SimpleSkin * {border:0; margin:0; padding:0; background:transparent; white-space:nowrap; text-decoration:none; font-weight:normal; cursor:default; color:#000} + +/* Containers */ +.o2k7SimpleSkin {position:relative} +.o2k7SimpleSkin table.mceLayout {background:#E5EFFD; border:1px solid #ABC6DD;} +.o2k7SimpleSkin iframe {display:block; background:#FFF; border-bottom:1px solid #ABC6DD;} +.o2k7SimpleSkin .mceToolbar {height:26px;} + +/* Layout */ +.o2k7SimpleSkin .mceToolbar .mceToolbarStart span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px; } +.o2k7SimpleSkin .mceToolbar .mceToolbarEnd span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px} +.o2k7SimpleSkin span.mceIcon, .o2k7SimpleSkin img.mceIcon {display:block; width:20px; height:20px} +.o2k7SimpleSkin .mceIcon {background:url(../../img/icons.gif) no-repeat 20px 20px} + +/* Button */ +.o2k7SimpleSkin .mceButton {display:block; background:url(img/button_bg.png); width:22px; height:22px} +.o2k7SimpleSkin a.mceButton span, .o2k7SimpleSkin a.mceButton img {margin:1px 0 0 1px} +.o2k7SimpleSkin a.mceButtonEnabled:hover {background-color:#B2BBD0; background-position:0 -22px} +.o2k7SimpleSkin a.mceButtonActive {background-position:0 -44px} +.o2k7SimpleSkin .mceButtonDisabled span {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} + +/* Separator */ +.o2k7SimpleSkin .mceSeparator {display:block; background:url(img/button_bg.png) -22px 0; width:5px; height:22px} + +/* Theme */ +.o2k7SimpleSkin span.mce_bold {background-position:0 0} +.o2k7SimpleSkin span.mce_italic {background-position:-60px 0} +.o2k7SimpleSkin span.mce_underline {background-position:-140px 0} +.o2k7SimpleSkin span.mce_strikethrough {background-position:-120px 0} +.o2k7SimpleSkin span.mce_undo {background-position:-160px 0} +.o2k7SimpleSkin span.mce_redo {background-position:-100px 0} +.o2k7SimpleSkin span.mce_cleanup {background-position:-40px 0} +.o2k7SimpleSkin span.mce_insertunorderedlist {background-position:-20px 0} +.o2k7SimpleSkin span.mce_insertorderedlist {background-position:-80px 0} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/tiny_mce.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/tiny_mce.js new file mode 100644 index 00000000..9b2f74bb --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/tiny_mce.js @@ -0,0 +1 @@ +(function(d){var a=/^\s*|\s*$/g,e,c="B".replace(/A(.)|B/,"$1")==="$1";var b={majorVersion:"3",minorVersion:"4.4",releaseDate:"2011-08-04",_init:function(){var s=this,q=document,o=navigator,g=o.userAgent,m,f,l,k,j,r;s.isOpera=d.opera&&opera.buildNumber;s.isWebKit=/WebKit/.test(g);s.isIE=!s.isWebKit&&!s.isOpera&&(/MSIE/gi).test(g)&&(/Explorer/gi).test(o.appName);s.isIE6=s.isIE&&/MSIE [56]/.test(g);s.isIE7=s.isIE&&/MSIE [7]/.test(g);s.isIE8=s.isIE&&/MSIE [8]/.test(g);s.isIE9=s.isIE&&/MSIE [9]/.test(g);s.isGecko=!s.isWebKit&&/Gecko/.test(g);s.isMac=g.indexOf("Mac")!=-1;s.isAir=/adobeair/i.test(g);s.isIDevice=/(iPad|iPhone)/.test(g);s.isIOS5=s.isIDevice&&g.match(/AppleWebKit\/(\d*)/)[1]>=534;if(d.tinyMCEPreInit){s.suffix=tinyMCEPreInit.suffix;s.baseURL=tinyMCEPreInit.base;s.query=tinyMCEPreInit.query;return}s.suffix="";f=q.getElementsByTagName("base");for(m=0;m<f.length;m++){if(r=f[m].href){if(/^https?:\/\/[^\/]+$/.test(r)){r+="/"}k=r?r.match(/.*\//)[0]:""}}function h(i){if(i.src&&/tiny_mce(|_gzip|_jquery|_prototype|_full)(_dev|_src)?.js/.test(i.src)){if(/_(src|dev)\.js/g.test(i.src)){s.suffix="_src"}if((j=i.src.indexOf("?"))!=-1){s.query=i.src.substring(j+1)}s.baseURL=i.src.substring(0,i.src.lastIndexOf("/"));if(k&&s.baseURL.indexOf("://")==-1&&s.baseURL.indexOf("/")!==0){s.baseURL=k+s.baseURL}return s.baseURL}return null}f=q.getElementsByTagName("script");for(m=0;m<f.length;m++){if(h(f[m])){return}}l=q.getElementsByTagName("head")[0];if(l){f=l.getElementsByTagName("script");for(m=0;m<f.length;m++){if(h(f[m])){return}}}return},is:function(g,f){if(!f){return g!==e}if(f=="array"&&(g.hasOwnProperty&&g instanceof Array)){return true}return typeof(g)==f},makeMap:function(f,j,h){var g;f=f||[];j=j||",";if(typeof(f)=="string"){f=f.split(j)}h=h||{};g=f.length;while(g--){h[f[g]]={}}return h},each:function(i,f,h){var j,g;if(!i){return 0}h=h||i;if(i.length!==e){for(j=0,g=i.length;j<g;j++){if(f.call(h,i[j],j,i)===false){return 0}}}else{for(j in i){if(i.hasOwnProperty(j)){if(f.call(h,i[j],j,i)===false){return 0}}}}return 1},map:function(g,h){var i=[];b.each(g,function(f){i.push(h(f))});return i},grep:function(g,h){var i=[];b.each(g,function(f){if(!h||h(f)){i.push(f)}});return i},inArray:function(g,h){var j,f;if(g){for(j=0,f=g.length;j<f;j++){if(g[j]===h){return j}}}return -1},extend:function(k,j){var h,g,f=arguments;for(h=1,g=f.length;h<g;h++){j=f[h];b.each(j,function(i,l){if(i!==e){k[l]=i}})}return k},trim:function(f){return(f?""+f:"").replace(a,"")},create:function(o,f,j){var n=this,g,i,k,l,h,m=0;o=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(o);k=o[3].match(/(^|\.)(\w+)$/i)[2];i=n.createNS(o[3].replace(/\.\w+$/,""),j);if(i[k]){return}if(o[2]=="static"){i[k]=f;if(this.onCreate){this.onCreate(o[2],o[3],i[k])}return}if(!f[k]){f[k]=function(){};m=1}i[k]=f[k];n.extend(i[k].prototype,f);if(o[5]){g=n.resolve(o[5]).prototype;l=o[5].match(/\.(\w+)$/i)[1];h=i[k];if(m){i[k]=function(){return g[l].apply(this,arguments)}}else{i[k]=function(){this.parent=g[l];return h.apply(this,arguments)}}i[k].prototype[k]=i[k];n.each(g,function(p,q){i[k].prototype[q]=g[q]});n.each(f,function(p,q){if(g[q]){i[k].prototype[q]=function(){this.parent=g[q];return p.apply(this,arguments)}}else{if(q!=k){i[k].prototype[q]=p}}})}n.each(f["static"],function(p,q){i[k][q]=p});if(this.onCreate){this.onCreate(o[2],o[3],i[k].prototype)}},walk:function(i,h,j,g){g=g||this;if(i){if(j){i=i[j]}b.each(i,function(k,f){if(h.call(g,k,f,j)===false){return false}b.walk(k,h,j,g)})}},createNS:function(j,h){var g,f;h=h||d;j=j.split(".");for(g=0;g<j.length;g++){f=j[g];if(!h[f]){h[f]={}}h=h[f]}return h},resolve:function(j,h){var g,f;h=h||d;j=j.split(".");for(g=0,f=j.length;g<f;g++){h=h[j[g]];if(!h){break}}return h},addUnload:function(j,i){var h=this;j={func:j,scope:i||this};if(!h.unloads){function g(){var f=h.unloads,l,m;if(f){for(m in f){l=f[m];if(l&&l.func){l.func.call(l.scope,1)}}if(d.detachEvent){d.detachEvent("onbeforeunload",k);d.detachEvent("onunload",g)}else{if(d.removeEventListener){d.removeEventListener("unload",g,false)}}h.unloads=l=f=w=g=0;if(d.CollectGarbage){CollectGarbage()}}}function k(){var l=document;if(l.readyState=="interactive"){function f(){l.detachEvent("onstop",f);if(g){g()}l=0}if(l){l.attachEvent("onstop",f)}d.setTimeout(function(){if(l){l.detachEvent("onstop",f)}},0)}}if(d.attachEvent){d.attachEvent("onunload",g);d.attachEvent("onbeforeunload",k)}else{if(d.addEventListener){d.addEventListener("unload",g,false)}}h.unloads=[j]}else{h.unloads.push(j)}return j},removeUnload:function(i){var g=this.unloads,h=null;b.each(g,function(j,f){if(j&&j.func==i){g.splice(f,1);h=i;return false}});return h},explode:function(f,g){return f?b.map(f.split(g||","),b.trim):f},_addVer:function(g){var f;if(!this.query){return g}f=(g.indexOf("?")==-1?"?":"&")+this.query;if(g.indexOf("#")==-1){return g+f}return g.replace("#",f+"#")},_replace:function(h,f,g){if(c){return g.replace(h,function(){var l=f,j=arguments,k;for(k=0;k<j.length-2;k++){if(j[k]===e){l=l.replace(new RegExp("\\$"+k,"g"),"")}else{l=l.replace(new RegExp("\\$"+k,"g"),j[k])}}return l})}return g.replace(h,f)}};b._init();d.tinymce=d.tinyMCE=b})(window);tinymce.create("tinymce.util.Dispatcher",{scope:null,listeners:null,Dispatcher:function(a){this.scope=a||this;this.listeners=[]},add:function(a,b){this.listeners.push({cb:a,scope:b||this.scope});return a},addToTop:function(a,b){this.listeners.unshift({cb:a,scope:b||this.scope});return a},remove:function(a){var b=this.listeners,c=null;tinymce.each(b,function(e,d){if(a==e.cb){c=a;b.splice(d,1);return false}});return c},dispatch:function(){var f,d=arguments,e,b=this.listeners,g;for(e=0;e<b.length;e++){g=b[e];f=g.cb.apply(g.scope,d);if(f===false){break}}return f}});(function(){var a=tinymce.each;tinymce.create("tinymce.util.URI",{URI:function(e,g){var f=this,i,d,c,h;e=tinymce.trim(e);g=f.settings=g||{};if(/^(mailto|tel|news|javascript|about|data):/i.test(e)||/^\s*#/.test(e)){f.source=e;return}if(e.indexOf("/")===0&&e.indexOf("//")!==0){e=(g.base_uri?g.base_uri.protocol||"http":"http")+"://mce_host"+e}if(!/^[\w-]*:?\/\//.test(e)){h=g.base_uri?g.base_uri.path:new tinymce.util.URI(location.href).directory;e=((g.base_uri&&g.base_uri.protocol)||"http")+"://mce_host"+f.toAbsPath(h,e)}e=e.replace(/@@/g,"(mce_at)");e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e);a(["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],function(b,j){var k=e[j];if(k){k=k.replace(/\(mce_at\)/g,"@@")}f[b]=k});if(c=g.base_uri){if(!f.protocol){f.protocol=c.protocol}if(!f.userInfo){f.userInfo=c.userInfo}if(!f.port&&f.host=="mce_host"){f.port=c.port}if(!f.host||f.host=="mce_host"){f.host=c.host}f.source=""}},setPath:function(c){var b=this;c=/^(.*?)\/?(\w+)?$/.exec(c);b.path=c[0];b.directory=c[1];b.file=c[2];b.source="";b.getURI()},toRelative:function(b){var c=this,d;if(b==="./"){return b}b=new tinymce.util.URI(b,{base_uri:c});if((b.host!="mce_host"&&c.host!=b.host&&b.host)||c.port!=b.port||c.protocol!=b.protocol){return b.getURI()}d=c.toRelPath(c.path,b.path);if(b.query){d+="?"+b.query}if(b.anchor){d+="#"+b.anchor}return d},toAbsolute:function(b,c){var b=new tinymce.util.URI(b,{base_uri:this});return b.getURI(this.host==b.host&&this.protocol==b.protocol?c:0)},toRelPath:function(g,h){var c,f=0,d="",e,b;g=g.substring(0,g.lastIndexOf("/"));g=g.split("/");c=h.split("/");if(g.length>=c.length){for(e=0,b=g.length;e<b;e++){if(e>=c.length||g[e]!=c[e]){f=e+1;break}}}if(g.length<c.length){for(e=0,b=c.length;e<b;e++){if(e>=g.length||g[e]!=c[e]){f=e+1;break}}}if(f==1){return h}for(e=0,b=g.length-(f-1);e<b;e++){d+="../"}for(e=f-1,b=c.length;e<b;e++){if(e!=f-1){d+="/"+c[e]}else{d+=c[e]}}return d},toAbsPath:function(e,f){var c,b=0,h=[],d,g;d=/\/$/.test(f)?"/":"";e=e.split("/");f=f.split("/");a(e,function(i){if(i){h.push(i)}});e=h;for(c=f.length-1,h=[];c>=0;c--){if(f[c].length==0||f[c]=="."){continue}if(f[c]==".."){b++;continue}if(b>0){b--;continue}h.push(f[c])}c=e.length-b;if(c<=0){g=h.reverse().join("/")}else{g=e.slice(0,c).join("/")+"/"+h.reverse().join("/")}if(g.indexOf("/")!==0){g="/"+g}if(d&&g.lastIndexOf("/")!==g.length-1){g+=d}return g},getURI:function(d){var c,b=this;if(!b.source||d){c="";if(!d){if(b.protocol){c+=b.protocol+"://"}if(b.userInfo){c+=b.userInfo+"@"}if(b.host){c+=b.host}if(b.port){c+=":"+b.port}}if(b.path){c+=b.path}if(b.query){c+="?"+b.query}if(b.anchor){c+="#"+b.anchor}b.source=c}return b.source}})})();(function(){var a=tinymce.each;tinymce.create("static tinymce.util.Cookie",{getHash:function(d){var b=this.get(d),c;if(b){a(b.split("&"),function(e){e=e.split("=");c=c||{};c[unescape(e[0])]=unescape(e[1])})}return c},setHash:function(j,b,g,f,i,c){var h="";a(b,function(e,d){h+=(!h?"":"&")+escape(d)+"="+escape(e)});this.set(j,h,g,f,i,c)},get:function(i){var h=document.cookie,g,f=i+"=",d;if(!h){return}d=h.indexOf("; "+f);if(d==-1){d=h.indexOf(f);if(d!=0){return null}}else{d+=2}g=h.indexOf(";",d);if(g==-1){g=h.length}return unescape(h.substring(d+f.length,g))},set:function(i,b,g,f,h,c){document.cookie=i+"="+escape(b)+((g)?"; expires="+g.toGMTString():"")+((f)?"; path="+escape(f):"")+((h)?"; domain="+h:"")+((c)?"; secure":"")},remove:function(e,b){var c=new Date();c.setTime(c.getTime()-1000);this.set(e,"",c,b,c)}})})();(function(){function serialize(o,quote){var i,v,t;quote=quote||'"';if(o==null){return"null"}t=typeof o;if(t=="string"){v="\bb\tt\nn\ff\rr\"\"''\\\\";return quote+o.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(a,b){if(quote==='"'&&a==="'"){return a}i=v.indexOf(b);if(i+1){return"\\"+v.charAt(i+1)}a=b.charCodeAt().toString(16);return"\\u"+"0000".substring(a.length)+a})+quote}if(t=="object"){if(o.hasOwnProperty&&o instanceof Array){for(i=0,v="[";i<o.length;i++){v+=(i>0?",":"")+serialize(o[i],quote)}return v+"]"}v="{";for(i in o){v+=typeof o[i]!="function"?(v.length>1?","+quote:quote)+i+quote+":"+serialize(o[i],quote):""}return v+"}"}return""+o}tinymce.util.JSON={serialize:serialize,parse:function(s){try{return eval("("+s+")")}catch(ex){}}}})();tinymce.create("static tinymce.util.XHR",{send:function(g){var a,e,b=window,h=0;g.scope=g.scope||this;g.success_scope=g.success_scope||g.scope;g.error_scope=g.error_scope||g.scope;g.async=g.async===false?false:true;g.data=g.data||"";function d(i){a=0;try{a=new ActiveXObject(i)}catch(c){}return a}a=b.XMLHttpRequest?new XMLHttpRequest():d("Microsoft.XMLHTTP")||d("Msxml2.XMLHTTP");if(a){if(a.overrideMimeType){a.overrideMimeType(g.content_type)}a.open(g.type||(g.data?"POST":"GET"),g.url,g.async);if(g.content_type){a.setRequestHeader("Content-Type",g.content_type)}a.setRequestHeader("X-Requested-With","XMLHttpRequest");a.send(g.data);function f(){if(!g.async||a.readyState==4||h++>10000){if(g.success&&h<10000&&a.status==200){g.success.call(g.success_scope,""+a.responseText,a,g)}else{if(g.error){g.error.call(g.error_scope,h>10000?"TIMED_OUT":"GENERAL",a,g)}}a=null}else{b.setTimeout(f,10)}}if(!g.async){return f()}e=b.setTimeout(f,10)}}});(function(){var c=tinymce.extend,b=tinymce.util.JSON,a=tinymce.util.XHR;tinymce.create("tinymce.util.JSONRequest",{JSONRequest:function(d){this.settings=c({},d);this.count=0},send:function(f){var e=f.error,d=f.success;f=c(this.settings,f);f.success=function(h,g){h=b.parse(h);if(typeof(h)=="undefined"){h={error:"JSON Parse error."}}if(h.error){e.call(f.error_scope||f.scope,h.error,g)}else{d.call(f.success_scope||f.scope,h.result)}};f.error=function(h,g){if(e){e.call(f.error_scope||f.scope,h,g)}};f.data=b.serialize({id:f.id||"c"+(this.count++),method:f.method,params:f.params});f.content_type="application/json";a.send(f)},"static":{sendRPC:function(d){return new tinymce.util.JSONRequest().send(d)}}})}());(function(a){a.VK={DELETE:46,BACKSPACE:8}})(tinymce);(function(b){function a(c){var f=c.dom,d=c.selection,e=b.VK;c.onKeyUp.add(function(g,j){if(j.keyCode==e.DELETE||j.keyCode==e.BACKSPACE){var i=d.getRng().startContainer;var k=i;while(!f.isBlock(k)){k=k.parentNode}var h=f.select("span.Apple-style-span",k);f.remove(h,true)}})}b.create("tinymce.util.Quirks",{Quirks:function(c){if(b.isWebKit){a(c)}}})})(tinymce);(function(j){var a,g,d,k=/[&<>\"\u007E-\uD7FF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,b=/[<>&\u007E-\uD7FF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,f=/[<>&\"\']/g,c=/&(#x|#)?([\w]+);/g,i={128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"};g={'"':""","'":"'","<":"<",">":">","&":"&"};d={"<":"<",">":">","&":"&",""":'"',"'":"'"};function h(l){var m;m=document.createElement("div");m.innerHTML=l;return m.textContent||m.innerText||l}function e(m,p){var n,o,l,q={};if(m){m=m.split(",");p=p||10;for(n=0;n<m.length;n+=2){o=String.fromCharCode(parseInt(m[n],p));if(!g[o]){l="&"+m[n+1]+";";q[o]=l;q[l]=o}}return q}}a=e("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);j.html=j.html||{};j.html.Entities={encodeRaw:function(m,l){return m.replace(l?k:b,function(n){return g[n]||n})},encodeAllRaw:function(l){return(""+l).replace(f,function(m){return g[m]||m})},encodeNumeric:function(m,l){return m.replace(l?k:b,function(n){if(n.length>1){return"&#"+(((n.charCodeAt(0)-55296)*1024)+(n.charCodeAt(1)-56320)+65536)+";"}return g[n]||"&#"+n.charCodeAt(0)+";"})},encodeNamed:function(n,l,m){m=m||a;return n.replace(l?k:b,function(o){return g[o]||m[o]||o})},getEncodeFunc:function(l,o){var p=j.html.Entities;o=e(o)||a;function m(r,q){return r.replace(q?k:b,function(s){return g[s]||o[s]||"&#"+s.charCodeAt(0)+";"||s})}function n(r,q){return p.encodeNamed(r,q,o)}l=j.makeMap(l.replace(/\+/g,","));if(l.named&&l.numeric){return m}if(l.named){if(o){return n}return p.encodeNamed}if(l.numeric){return p.encodeNumeric}return p.encodeRaw},decode:function(l){return l.replace(c,function(n,m,o){if(m){o=parseInt(o,m.length===2?16:10);if(o>65535){o-=65536;return String.fromCharCode(55296+(o>>10),56320+(o&1023))}else{return i[o]||String.fromCharCode(o)}}return d[n]||a[n]||h(n)})}}})(tinymce);tinymce.html.Styles=function(d,f){var k=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,h=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,b=/\s*([^:]+):\s*([^;]+);?/g,l=/\s+$/,m=/rgb/,e,g,a={},j;d=d||{};j="\\\" \\' \\; \\: ; : \uFEFF".split(" ");for(g=0;g<j.length;g++){a[j[g]]="\uFEFF"+g;a["\uFEFF"+g]=j[g]}function c(n,q,p,i){function o(r){r=parseInt(r).toString(16);return r.length>1?r:"0"+r}return"#"+o(q)+o(p)+o(i)}return{toHex:function(i){return i.replace(k,c)},parse:function(r){var y={},p,n,v,q,u=d.url_converter,x=d.url_converter_scope||this;function o(C,F){var E,B,A,D;E=y[C+"-top"+F];if(!E){return}B=y[C+"-right"+F];if(E!=B){return}A=y[C+"-bottom"+F];if(B!=A){return}D=y[C+"-left"+F];if(A!=D){return}y[C+F]=D;delete y[C+"-top"+F];delete y[C+"-right"+F];delete y[C+"-bottom"+F];delete y[C+"-left"+F]}function t(B){var C=y[B],A;if(!C||C.indexOf(" ")<0){return}C=C.split(" ");A=C.length;while(A--){if(C[A]!==C[0]){return false}}y[B]=C[0];return true}function z(C,B,A,D){if(!t(B)){return}if(!t(A)){return}if(!t(D)){return}y[C]=y[B]+" "+y[A]+" "+y[D];delete y[B];delete y[A];delete y[D]}function s(A){q=true;return a[A]}function i(B,A){if(q){B=B.replace(/\uFEFF[0-9]/g,function(C){return a[C]})}if(!A){B=B.replace(/\\([\'\";:])/g,"$1")}return B}if(r){r=r.replace(/\\[\"\';:\uFEFF]/g,s).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(A){return A.replace(/[;:]/g,s)});while(p=b.exec(r)){n=p[1].replace(l,"").toLowerCase();v=p[2].replace(l,"");if(n&&v.length>0){if(n==="font-weight"&&v==="700"){v="bold"}else{if(n==="color"||n==="background-color"){v=v.toLowerCase()}}v=v.replace(k,c);v=v.replace(h,function(B,A,E,D,F,C){F=F||C;if(F){F=i(F);return"'"+F.replace(/\'/g,"\\'")+"'"}A=i(A||E||D);if(u){A=u.call(x,A,"style")}return"url('"+A.replace(/\'/g,"\\'")+"')"});y[n]=q?i(v,true):v}b.lastIndex=p.index+p[0].length}o("border","");o("border","-width");o("border","-color");o("border","-style");o("padding","");o("margin","");z("border","border-width","border-style","border-color");if(y.border==="medium none"){delete y.border}}return y},serialize:function(p,r){var o="",n,q;function i(t){var x,u,s,v;x=f.styles[t];if(x){for(u=0,s=x.length;u<s;u++){t=x[u];v=p[t];if(v!==e&&v.length>0){o+=(o.length>0?" ":"")+t+": "+v+";"}}}}if(r&&f&&f.styles){i("*");i(r)}else{for(n in p){q=p[n];if(q!==e&&q.length>0){o+=(o.length>0?" ":"")+n+": "+q+";"}}}return o}}};(function(m){var h={},j,l,g,f,c={},b,e,d=m.makeMap,k=m.each;function i(o,n){return o.split(n||",")}function a(r,q){var o,p={};function n(s){return s.replace(/[A-Z]+/g,function(t){return n(r[t])})}for(o in r){if(r.hasOwnProperty(o)){r[o]=n(r[o])}}n(q).replace(/#/g,"#text").replace(/(\w+)\[([^\]]+)\]\[([^\]]*)\]/g,function(v,t,s,u){s=i(s,"|");p[t]={attributes:d(s),attributesOrder:s,children:d(u,"|",{"#comment":{}})}});return p}l="h1,h2,h3,h4,h5,h6,hr,p,div,address,pre,form,table,tbody,thead,tfoot,th,tr,td,li,ol,ul,caption,blockquote,center,dl,dt,dd,dir,fieldset,noscript,menu,isindex,samp,header,footer,article,section,hgroup";l=d(l,",",d(l.toUpperCase()));h=a({Z:"H|K|N|O|P",Y:"X|form|R|Q",ZG:"E|span|width|align|char|charoff|valign",X:"p|T|div|U|W|isindex|fieldset|table",ZF:"E|align|char|charoff|valign",W:"pre|hr|blockquote|address|center|noframes",ZE:"abbr|axis|headers|scope|rowspan|colspan|align|char|charoff|valign|nowrap|bgcolor|width|height",ZD:"[E][S]",U:"ul|ol|dl|menu|dir",ZC:"p|Y|div|U|W|table|br|span|bdo|object|applet|img|map|K|N|Q",T:"h1|h2|h3|h4|h5|h6",ZB:"X|S|Q",S:"R|P",ZA:"a|G|J|M|O|P",R:"a|H|K|N|O",Q:"noscript|P",P:"ins|del|script",O:"input|select|textarea|label|button",N:"M|L",M:"em|strong|dfn|code|q|samp|kbd|var|cite|abbr|acronym",L:"sub|sup",K:"J|I",J:"tt|i|b|u|s|strike",I:"big|small|font|basefont",H:"G|F",G:"br|span|bdo",F:"object|applet|img|map|iframe",E:"A|B|C",D:"accesskey|tabindex|onfocus|onblur",C:"onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup",B:"lang|xml:lang|dir",A:"id|class|style|title"},"script[id|charset|type|language|src|defer|xml:space][]style[B|id|type|media|title|xml:space][]object[E|declare|classid|codebase|data|type|codetype|archive|standby|width|height|usemap|name|tabindex|align|border|hspace|vspace][#|param|Y]param[id|name|value|valuetype|type][]p[E|align][#|S]a[E|D|charset|type|name|href|hreflang|rel|rev|shape|coords|target][#|Z]br[A|clear][]span[E][#|S]bdo[A|C|B][#|S]applet[A|codebase|archive|code|object|alt|name|width|height|align|hspace|vspace][#|param|Y]h1[E|align][#|S]img[E|src|alt|name|longdesc|width|height|usemap|ismap|align|border|hspace|vspace][]map[B|C|A|name][X|form|Q|area]h2[E|align][#|S]iframe[A|longdesc|name|src|frameborder|marginwidth|marginheight|scrolling|align|width|height][#|Y]h3[E|align][#|S]tt[E][#|S]i[E][#|S]b[E][#|S]u[E][#|S]s[E][#|S]strike[E][#|S]big[E][#|S]small[E][#|S]font[A|B|size|color|face][#|S]basefont[id|size|color|face][]em[E][#|S]strong[E][#|S]dfn[E][#|S]code[E][#|S]q[E|cite][#|S]samp[E][#|S]kbd[E][#|S]var[E][#|S]cite[E][#|S]abbr[E][#|S]acronym[E][#|S]sub[E][#|S]sup[E][#|S]input[E|D|type|name|value|checked|disabled|readonly|size|maxlength|src|alt|usemap|onselect|onchange|accept|align][]select[E|name|size|multiple|disabled|tabindex|onfocus|onblur|onchange][optgroup|option]optgroup[E|disabled|label][option]option[E|selected|disabled|label|value][]textarea[E|D|name|rows|cols|disabled|readonly|onselect|onchange][]label[E|for|accesskey|onfocus|onblur][#|S]button[E|D|name|value|type|disabled][#|p|T|div|U|W|table|G|object|applet|img|map|K|N|Q]h4[E|align][#|S]ins[E|cite|datetime][#|Y]h5[E|align][#|S]del[E|cite|datetime][#|Y]h6[E|align][#|S]div[E|align][#|Y]ul[E|type|compact][li]li[E|type|value][#|Y]ol[E|type|compact|start][li]dl[E|compact][dt|dd]dt[E][#|S]dd[E][#|Y]menu[E|compact][li]dir[E|compact][li]pre[E|width|xml:space][#|ZA]hr[E|align|noshade|size|width][]blockquote[E|cite][#|Y]address[E][#|S|p]center[E][#|Y]noframes[E][#|Y]isindex[A|B|prompt][]fieldset[E][#|legend|Y]legend[E|accesskey|align][#|S]table[E|summary|width|border|frame|rules|cellspacing|cellpadding|align|bgcolor][caption|col|colgroup|thead|tfoot|tbody|tr]caption[E|align][#|S]col[ZG][]colgroup[ZG][col]thead[ZF][tr]tr[ZF|bgcolor][th|td]th[E|ZE][#|Y]form[E|action|method|name|enctype|onsubmit|onreset|accept|accept-charset|target][#|X|R|Q]noscript[E][#|Y]td[E|ZE][#|Y]tfoot[ZF][tr]tbody[ZF][tr]area[E|D|shape|coords|href|nohref|alt|target][]base[id|href|target][]body[E|onload|onunload|background|bgcolor|text|link|vlink|alink][#|Y]");j=d("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected,autoplay,loop,controls");g=d("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed,source");f=m.extend(d("td,th,iframe,video,audio,object"),g);b=d("pre,script,style,textarea");e=d("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr");m.html.Schema=function(q){var z=this,n={},o={},x=[],p;q=q||{};if(q.verify_html===false){q.valid_elements="*[*]"}if(q.valid_styles){p={};k(q.valid_styles,function(B,A){p[A]=m.explode(B)})}function y(A){return new RegExp("^"+A.replace(/([?+*])/g,".$1")+"$")}function s(H){var G,C,V,R,W,B,E,Q,T,M,U,Y,K,F,S,A,O,D,X,Z,L,P,J=/^([#+-])?([^\[\/]+)(?:\/([^\[]+))?(?:\[([^\]]+)\])?$/,N=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,I=/[*?+]/;if(H){H=i(H);if(n["@"]){O=n["@"].attributes;D=n["@"].attributesOrder}for(G=0,C=H.length;G<C;G++){B=J.exec(H[G]);if(B){S=B[1];M=B[2];A=B[3];T=B[4];K={};F=[];E={attributes:K,attributesOrder:F};if(S==="#"){E.paddEmpty=true}if(S==="-"){E.removeEmpty=true}if(O){for(Z in O){K[Z]=O[Z]}F.push.apply(F,D)}if(T){T=i(T,"|");for(V=0,R=T.length;V<R;V++){B=N.exec(T[V]);if(B){Q={};Y=B[1];U=B[2].replace(/::/g,":");S=B[3];P=B[4];if(Y==="!"){E.attributesRequired=E.attributesRequired||[];E.attributesRequired.push(U);Q.required=true}if(Y==="-"){delete K[U];F.splice(m.inArray(F,U),1);continue}if(S){if(S==="="){E.attributesDefault=E.attributesDefault||[];E.attributesDefault.push({name:U,value:P});Q.defaultValue=P}if(S===":"){E.attributesForced=E.attributesForced||[];E.attributesForced.push({name:U,value:P});Q.forcedValue=P}if(S==="<"){Q.validValues=d(P,"?")}}if(I.test(U)){E.attributePatterns=E.attributePatterns||[];Q.pattern=y(U);E.attributePatterns.push(Q)}else{if(!K[U]){F.push(U)}K[U]=Q}}}}if(!O&&M=="@"){O=K;D=F}if(A){E.outputName=M;n[A]=E}if(I.test(M)){E.pattern=y(M);x.push(E)}else{n[M]=E}}}}}function u(A){n={};x=[];s(A);k(h,function(C,B){o[B]=C.children})}function r(B){var A=/^(~)?(.+)$/;if(B){k(i(B),function(F){var D=A.exec(F),E=D[1]==="~",G=E?"span":"div",C=D[2];o[C]=o[G];c[C]=G;if(!E){l[C]={}}k(o,function(H,I){if(H[G]){H[C]=H[G]}})})}}function t(B){var A=/^([+\-]?)(\w+)\[([^\]]+)\]$/;if(B){k(i(B),function(F){var E=A.exec(F),C,D;if(E){D=E[1];if(D){C=o[E[2]]}else{C=o[E[2]]={"#comment":{}}}C=o[E[2]];k(i(E[3],"|"),function(G){if(D==="-"){delete C[G]}else{C[G]={}}})}})}}function v(A){var C=n[A],B;if(C){return C}B=x.length;while(B--){C=x[B];if(C.pattern.test(A)){return C}}}if(!q.valid_elements){k(h,function(B,A){n[A]={attributes:B.attributes,attributesOrder:B.attributesOrder};o[A]=B.children});k(i("strong/b,em/i"),function(A){A=i(A,"/");n[A[1]].outputName=A[0]});n.img.attributesDefault=[{name:"alt",value:""}];k(i("ol,ul,sub,sup,blockquote,span,font,a,table,tbody,tr"),function(A){n[A].removeEmpty=true});k(i("p,h1,h2,h3,h4,h5,h6,th,td,pre,div,address,caption"),function(A){n[A].paddEmpty=true})}else{u(q.valid_elements)}r(q.custom_elements);t(q.valid_children);s(q.extended_valid_elements);t("+ol[ul|ol],+ul[ul|ol]");if(!v("span")){s("span[!data-mce-type|*]")}if(q.invalid_elements){m.each(m.explode(q.invalid_elements),function(A){if(n[A]){delete n[A]}})}z.children=o;z.styles=p;z.getBoolAttrs=function(){return j};z.getBlockElements=function(){return l};z.getShortEndedElements=function(){return g};z.getSelfClosingElements=function(){return e};z.getNonEmptyElements=function(){return f};z.getWhiteSpaceElements=function(){return b};z.isValidChild=function(A,C){var B=o[A];return !!(B&&B[C])};z.getElementRule=v;z.getCustomElements=function(){return c};z.addValidElements=s;z.setValidElements=u;z.addCustomElements=r;z.addValidChildren=t};m.html.Schema.boolAttrMap=j;m.html.Schema.blockElementsMap=l})(tinymce);(function(a){a.html.SaxParser=function(c,e){var b=this,d=function(){};c=c||{};b.schema=e=e||new a.html.Schema();if(c.fix_self_closing!==false){c.fix_self_closing=true}a.each("comment cdata text start end pi doctype".split(" "),function(f){if(f){b[f]=c[f]||d}});b.parse=function(q){var B=this,f,m=0,H,j,l=[],C,M,u,P,s,K,G,k,p,y,J,r,F,o,L,n,I,O,N,A,E,h,g,v,t=0,x=a.html.Entities.decode,z;function D(Q){var S,R;S=l.length;while(S--){if(l[S].name===Q){break}}if(S>=0){for(R=l.length-1;R>=S;R--){Q=l[R];if(Q.valid){B.end(Q.name)}}l.length=S}}E=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([^\\s\\/<>]+)\\s*((?:[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*)>))","g");h=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:\\.|[^\"])*)\")|(?:\'((?:\\.|[^\'])*)\')|([^>\s]+)))?/g;g={script:/<\/script[^>]*>/gi,style:/<\/style[^>]*>/gi,noscript:/<\/noscript[^>]*>/gi};G=e.getShortEndedElements();A=e.getSelfClosingElements();k=e.getBoolAttrs();y=c.validate;K=c.remove_internals;z=c.fix_self_closing;while(f=E.exec(q)){if(m<f.index){B.text(x(q.substr(m,f.index-m)))}if(H=f[6]){D(H.toLowerCase())}else{if(H=f[7]){H=H.toLowerCase();p=H in G;if(z&&A[H]&&l.length>0&&l[l.length-1].name===H){D(H)}if(!y||(J=e.getElementRule(H))){r=true;if(y){L=J.attributes;n=J.attributePatterns}if(o=f[8]){s=o.indexOf("data-mce-type")!==-1;if(s&&K){r=false}C=[];C.map={};o.replace(h,function(R,Q,V,U,T){var W,S;Q=Q.toLowerCase();V=Q in k?Q:x(V||U||T||"");if(y&&!s&&Q.indexOf("data-")!==0){W=L[Q];if(!W&&n){S=n.length;while(S--){W=n[S];if(W.pattern.test(Q)){break}}if(S===-1){W=null}}if(!W){return}if(W.validValues&&!(V in W.validValues)){return}}C.map[Q]=V;C.push({name:Q,value:V})})}else{C=[];C.map={}}if(y&&!s){I=J.attributesRequired;O=J.attributesDefault;N=J.attributesForced;if(N){M=N.length;while(M--){F=N[M];P=F.name;v=F.value;if(v==="{$uid}"){v="mce_"+t++}C.map[P]=v;C.push({name:P,value:v})}}if(O){M=O.length;while(M--){F=O[M];P=F.name;if(!(P in C.map)){v=F.value;if(v==="{$uid}"){v="mce_"+t++}C.map[P]=v;C.push({name:P,value:v})}}}if(I){M=I.length;while(M--){if(I[M] in C.map){break}}if(M===-1){r=false}}if(C.map["data-mce-bogus"]){r=false}}if(r){B.start(H,C,p)}}else{r=false}if(j=g[H]){j.lastIndex=m=f.index+f[0].length;if(f=j.exec(q)){if(r){u=q.substr(m,f.index-m)}m=f.index+f[0].length}else{u=q.substr(m);m=q.length}if(r&&u.length>0){B.text(u,true)}if(r){B.end(H)}E.lastIndex=m;continue}if(!p){if(!o||o.indexOf("/")!=o.length-1){l.push({name:H,valid:r})}else{if(r){B.end(H)}}}}else{if(H=f[1]){B.comment(H)}else{if(H=f[2]){B.cdata(H)}else{if(H=f[3]){B.doctype(H)}else{if(H=f[4]){B.pi(H,f[5])}}}}}}m=f.index+f[0].length}if(m<q.length){B.text(x(q.substr(m)))}for(M=l.length-1;M>=0;M--){H=l[M];if(H.valid){B.end(H.name)}}}}})(tinymce);(function(d){var c=/^[ \t\r\n]*$/,e={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};function a(k,l,j){var i,h,f=j?"lastChild":"firstChild",g=j?"prev":"next";if(k[f]){return k[f]}if(k!==l){i=k[g];if(i){return i}for(h=k.parent;h&&h!==l;h=h.parent){i=h[g];if(i){return i}}}}function b(f,g){this.name=f;this.type=g;if(g===1){this.attributes=[];this.attributes.map={}}}d.extend(b.prototype,{replace:function(g){var f=this;if(g.parent){g.remove()}f.insert(g,f);f.remove();return f},attr:function(h,l){var f=this,g,j,k;if(typeof h!=="string"){for(j in h){f.attr(j,h[j])}return f}if(g=f.attributes){if(l!==k){if(l===null){if(h in g.map){delete g.map[h];j=g.length;while(j--){if(g[j].name===h){g=g.splice(j,1);return f}}}return f}if(h in g.map){j=g.length;while(j--){if(g[j].name===h){g[j].value=l;break}}}else{g.push({name:h,value:l})}g.map[h]=l;return f}else{return g.map[h]}}},clone:function(){var g=this,n=new b(g.name,g.type),h,f,m,j,k;if(m=g.attributes){k=[];k.map={};for(h=0,f=m.length;h<f;h++){j=m[h];if(j.name!=="id"){k[k.length]={name:j.name,value:j.value};k.map[j.name]=j.value}}n.attributes=k}n.value=g.value;n.shortEnded=g.shortEnded;return n},wrap:function(g){var f=this;f.parent.insert(g,f);g.append(f);return f},unwrap:function(){var f=this,h,g;for(h=f.firstChild;h;){g=h.next;f.insert(h,f,true);h=g}f.remove()},remove:function(){var f=this,h=f.parent,g=f.next,i=f.prev;if(h){if(h.firstChild===f){h.firstChild=g;if(g){g.prev=null}}else{i.next=g}if(h.lastChild===f){h.lastChild=i;if(i){i.next=null}}else{g.prev=i}f.parent=f.next=f.prev=null}return f},append:function(h){var f=this,g;if(h.parent){h.remove()}g=f.lastChild;if(g){g.next=h;h.prev=g;f.lastChild=h}else{f.lastChild=f.firstChild=h}h.parent=f;return h},insert:function(h,f,i){var g;if(h.parent){h.remove()}g=f.parent||this;if(i){if(f===g.firstChild){g.firstChild=h}else{f.prev.next=h}h.prev=f.prev;h.next=f;f.prev=h}else{if(f===g.lastChild){g.lastChild=h}else{f.next.prev=h}h.next=f.next;h.prev=f;f.next=h}h.parent=g;return h},getAll:function(g){var f=this,h,i=[];for(h=f.firstChild;h;h=a(h,f)){if(h.name===g){i.push(h)}}return i},empty:function(){var g=this,f,h,j;if(g.firstChild){f=[];for(j=g.firstChild;j;j=a(j,g)){f.push(j)}h=f.length;while(h--){j=f[h];j.parent=j.firstChild=j.lastChild=j.next=j.prev=null}}g.firstChild=g.lastChild=null;return g},isEmpty:function(k){var f=this,j=f.firstChild,h,g;if(j){do{if(j.type===1){if(j.attributes.map["data-mce-bogus"]){continue}if(k[j.name]){return false}h=j.attributes.length;while(h--){g=j.attributes[h].name;if(g==="name"||g.indexOf("data-")===0){return false}}}if((j.type===3&&!c.test(j.value))){return false}}while(j=a(j,f))}return true},walk:function(f){return a(this,null,f)}});d.extend(b,{create:function(g,f){var i,h;i=new b(g,e[g]||1);if(f){for(h in f){i.attr(h,f[h])}}return i}});d.html.Node=b})(tinymce);(function(b){var a=b.html.Node;b.html.DomParser=function(g,h){var f=this,e={},d=[],i={},c={};g=g||{};g.validate="validate" in g?g.validate:true;g.root_name=g.root_name||"body";f.schema=h=h||new b.html.Schema();function j(m){var o,p,x,v,z,n,q,l,t,u,k,s,y,r;s=b.makeMap("tr,td,th,tbody,thead,tfoot,table");k=h.getNonEmptyElements();for(o=0;o<m.length;o++){p=m[o];if(!p.parent){continue}v=[p];for(x=p.parent;x&&!h.isValidChild(x.name,p.name)&&!s[x.name];x=x.parent){v.push(x)}if(x&&v.length>1){v.reverse();z=n=f.filterNode(v[0].clone());for(t=0;t<v.length-1;t++){if(h.isValidChild(n.name,v[t].name)){q=f.filterNode(v[t].clone());n.append(q)}else{q=n}for(l=v[t].firstChild;l&&l!=v[t+1];){r=l.next;q.append(l);l=r}n=q}if(!z.isEmpty(k)){x.insert(z,v[0],true);x.insert(p,z)}else{x.insert(p,v[0],true)}x=v[0];if(x.isEmpty(k)||x.firstChild===x.lastChild&&x.firstChild.name==="br"){x.empty().remove()}}else{if(p.parent){if(p.name==="li"){y=p.prev;if(y&&(y.name==="ul"||y.name==="ul")){y.append(p);continue}y=p.next;if(y&&(y.name==="ul"||y.name==="ul")){y.insert(p,y.firstChild,true);continue}p.wrap(f.filterNode(new a("ul",1)));continue}if(h.isValidChild(p.parent.name,"div")&&h.isValidChild("div",p.name)){p.wrap(f.filterNode(new a("div",1)))}else{if(p.name==="style"||p.name==="script"){p.empty().remove()}else{p.unwrap()}}}}}}f.filterNode=function(m){var l,k,n;if(k in e){n=i[k];if(n){n.push(m)}else{i[k]=[m]}}l=d.length;while(l--){k=d[l].name;if(k in m.attributes.map){n=c[k];if(n){n.push(m)}else{c[k]=[m]}}}return m};f.addNodeFilter=function(k,l){b.each(b.explode(k),function(m){var n=e[m];if(!n){e[m]=n=[]}n.push(l)})};f.addAttributeFilter=function(k,l){b.each(b.explode(k),function(m){var n;for(n=0;n<d.length;n++){if(d[n].name===m){d[n].callbacks.push(l);return}}d.push({name:m,callbacks:[l]})})};f.parse=function(v,m){var n,H,A,z,C,B,x,r,E,K,y,o,D,J=[],t,k,s,p,u,q;m=m||{};i={};c={};o=b.extend(b.makeMap("script,style,head,html,body,title,meta,param"),h.getBlockElements());u=h.getNonEmptyElements();p=h.children;y=g.validate;q="forced_root_block" in m?m.forced_root_block:g.forced_root_block;s=h.getWhiteSpaceElements();D=/^[ \t\r\n]+/;t=/[ \t\r\n]+$/;k=/[ \t\r\n]+/g;function F(){var L=H.firstChild,l,M;while(L){l=L.next;if(L.type==3||(L.type==1&&L.name!=="p"&&!o[L.name]&&!L.attr("data-mce-type"))){if(!M){M=I(q,1);H.insert(M,L);M.append(L)}else{M.append(L)}}else{M=null}L=l}}function I(l,L){var M=new a(l,L),N;if(l in e){N=i[l];if(N){N.push(M)}else{i[l]=[M]}}return M}function G(M){var N,l,L;for(N=M.prev;N&&N.type===3;){l=N.value.replace(t,"");if(l.length>0){N.value=l;N=N.prev}else{L=N.prev;N.remove();N=L}}}n=new b.html.SaxParser({validate:y,fix_self_closing:!y,cdata:function(l){A.append(I("#cdata",4)).value=l},text:function(M,l){var L;if(!s[A.name]){M=M.replace(k," ");if(A.lastChild&&o[A.lastChild.name]){M=M.replace(D,"")}}if(M.length!==0){L=I("#text",3);L.raw=!!l;A.append(L).value=M}},comment:function(l){A.append(I("#comment",8)).value=l},pi:function(l,L){A.append(I(l,7)).value=L;G(A)},doctype:function(L){var l;l=A.append(I("#doctype",10));l.value=L;G(A)},start:function(l,T,M){var R,O,N,L,P,U,S,Q;N=y?h.getElementRule(l):{};if(N){R=I(N.outputName||l,1);R.attributes=T;R.shortEnded=M;A.append(R);Q=p[A.name];if(Q&&p[R.name]&&!Q[R.name]){J.push(R)}O=d.length;while(O--){P=d[O].name;if(P in T.map){E=c[P];if(E){E.push(R)}else{c[P]=[R]}}}if(o[l]){G(R)}if(!M){A=R}}},end:function(l){var P,M,O,L,N;M=y?h.getElementRule(l):{};if(M){if(o[l]){if(!s[A.name]){for(P=A.firstChild;P&&P.type===3;){O=P.value.replace(D,"");if(O.length>0){P.value=O;P=P.next}else{L=P.next;P.remove();P=L}}for(P=A.lastChild;P&&P.type===3;){O=P.value.replace(t,"");if(O.length>0){P.value=O;P=P.prev}else{L=P.prev;P.remove();P=L}}}P=A.prev;if(P&&P.type===3){O=P.value.replace(D,"");if(O.length>0){P.value=O}else{P.remove()}}}if(M.removeEmpty||M.paddEmpty){if(A.isEmpty(u)){if(M.paddEmpty){A.empty().append(new a("#text","3")).value="\u00a0"}else{if(!A.attributes.map.name){N=A.parent;A.empty().remove();A=N;return}}}}A=A.parent}}},h);H=A=new a(m.context||g.root_name,11);n.parse(v);if(y&&J.length){if(!m.context){j(J)}else{m.invalid=true}}if(q&&H.name=="body"){F()}if(!m.invalid){for(K in i){E=e[K];z=i[K];x=z.length;while(x--){if(!z[x].parent){z.splice(x,1)}}for(C=0,B=E.length;C<B;C++){E[C](z,K,m)}}for(C=0,B=d.length;C<B;C++){E=d[C];if(E.name in c){z=c[E.name];x=z.length;while(x--){if(!z[x].parent){z.splice(x,1)}}for(x=0,r=E.callbacks.length;x<r;x++){E.callbacks[x](z,E.name,m)}}}}return H};if(g.remove_trailing_brs){f.addNodeFilter("br",function(n,m){var r,q=n.length,o,u=h.getBlockElements(),k=h.getNonEmptyElements(),s,p,t;u.body=1;for(r=0;r<q;r++){o=n[r];s=o.parent;if(u[o.parent.name]&&o===s.lastChild){p=o.prev;while(p){t=p.name;if(t!=="span"||p.attr("data-mce-type")!=="bookmark"){if(t!=="br"){break}if(t==="br"){o=null;break}}p=p.prev}if(o){o.remove();if(s.isEmpty(k)){elementRule=h.getElementRule(s.name);if(elementRule.removeEmpty){s.remove()}else{if(elementRule.paddEmpty){s.empty().append(new b.html.Node("#text",3)).value="\u00a0"}}}}}}})}}})(tinymce);tinymce.html.Writer=function(e){var c=[],a,b,d,f,g;e=e||{};a=e.indent;b=tinymce.makeMap(e.indent_before||"");d=tinymce.makeMap(e.indent_after||"");f=tinymce.html.Entities.getEncodeFunc(e.entity_encoding||"raw",e.entities);g=e.element_format=="html";return{start:function(m,k,p){var n,j,h,o;if(a&&b[m]&&c.length>0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}c.push("<",m);if(k){for(n=0,j=k.length;n<j;n++){h=k[n];c.push(" ",h.name,'="',f(h.value,true),'"')}}if(!p||g){c[c.length]=">"}else{c[c.length]=" />"}if(p&&a&&d[m]&&c.length>0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}},end:function(h){var i;c.push("</",h,">");if(a&&d[h]&&c.length>0){i=c[c.length-1];if(i.length>0&&i!=="\n"){c.push("\n")}}},text:function(i,h){if(i.length>0){c[c.length]=h?i:f(i)}},cdata:function(h){c.push("<![CDATA[",h,"]]>")},comment:function(h){c.push("<!--",h,"-->")},pi:function(h,i){if(i){c.push("<?",h," ",i,"?>")}else{c.push("<?",h,"?>")}if(a){c.push("\n")}},doctype:function(h){c.push("<!DOCTYPE",h,">",a?"\n":"")},reset:function(){c.length=0},getContent:function(){return c.join("").replace(/\n$/,"")}}};(function(a){a.html.Serializer=function(c,d){var b=this,e=new a.html.Writer(c);c=c||{};c.validate="validate" in c?c.validate:true;b.schema=d=d||new a.html.Schema();b.writer=e;b.serialize=function(h){var g,i;i=c.validate;g={3:function(k,j){e.text(k.value,k.raw)},8:function(j){e.comment(j.value)},7:function(j){e.pi(j.name,j.value)},10:function(j){e.doctype(j.value)},4:function(j){e.cdata(j.value)},11:function(j){if((j=j.firstChild)){do{f(j)}while(j=j.next)}}};e.reset();function f(k){var t=g[k.type],j,o,s,r,p,u,n,m,q;if(!t){j=k.name;o=k.shortEnded;s=k.attributes;if(i&&s&&s.length>1){u=[];u.map={};q=d.getElementRule(k.name);for(n=0,m=q.attributesOrder.length;n<m;n++){r=q.attributesOrder[n];if(r in s.map){p=s.map[r];u.map[r]=p;u.push({name:r,value:p})}}for(n=0,m=s.length;n<m;n++){r=s[n].name;if(!(r in u.map)){p=s.map[r];u.map[r]=p;u.push({name:r,value:p})}}s=u}e.start(k.name,s,o);if(!o){if((k=k.firstChild)){do{f(k)}while(k=k.next)}e.end(j)}}else{t(k)}}if(h.type==1&&!c.inner){f(h)}else{g[11](h)}return e.getContent()}}})(tinymce);(function(h){var f=h.each,e=h.is,d=h.isWebKit,b=h.isIE,c=h.html.Entities,a=/^([a-z0-9],?)+$/i,g=h.html.Schema.blockElementsMap,i=/^[ \t\r\n]*$/;h.create("tinymce.dom.DOMUtils",{doc:null,root:null,files:null,pixelStyles:/^(top|left|bottom|right|width|height|borderWidth)$/,props:{"for":"htmlFor","class":"className",className:"className",checked:"checked",disabled:"disabled",maxlength:"maxLength",readonly:"readOnly",selected:"selected",value:"value",id:"id",name:"name",type:"type"},DOMUtils:function(o,m){var l=this,j,k;l.doc=o;l.win=window;l.files={};l.cssFlicker=false;l.counter=0;l.stdMode=!h.isIE||o.documentMode>=8;l.boxModel=!h.isIE||o.compatMode=="CSS1Compat"||l.stdMode;l.hasOuterHTML="outerHTML" in o.createElement("a");l.settings=m=h.extend({keep_values:false,hex_colors:1},m);l.schema=m.schema;l.styles=new h.html.Styles({url_converter:m.url_converter,url_converter_scope:m.url_converter_scope},m.schema);if(h.isIE6){try{o.execCommand("BackgroundImageCache",false,true)}catch(n){l.cssFlicker=true}}if(b&&m.schema){("abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video").replace(/\w+/g,function(p){o.createElement(p)});for(k in m.schema.getCustomElements()){o.createElement(k)}}h.addUnload(l.destroy,l)},getRoot:function(){var j=this,k=j.settings;return(k&&j.get(k.root_element))||j.doc.body},getViewPort:function(k){var l,j;k=!k?this.win:k;l=k.document;j=this.boxModel?l.documentElement:l.body;return{x:k.pageXOffset||j.scrollLeft,y:k.pageYOffset||j.scrollTop,w:k.innerWidth||j.clientWidth,h:k.innerHeight||j.clientHeight}},getRect:function(m){var l,j=this,k;m=j.get(m);l=j.getPos(m);k=j.getSize(m);return{x:l.x,y:l.y,w:k.w,h:k.h}},getSize:function(m){var k=this,j,l;m=k.get(m);j=k.getStyle(m,"width");l=k.getStyle(m,"height");if(j.indexOf("px")===-1){j=0}if(l.indexOf("px")===-1){l=0}return{w:parseInt(j)||m.offsetWidth||m.clientWidth,h:parseInt(l)||m.offsetHeight||m.clientHeight}},getParent:function(l,k,j){return this.getParents(l,k,j,false)},getParents:function(u,p,l,s){var k=this,j,m=k.settings,q=[];u=k.get(u);s=s===undefined;if(m.strict_root){l=l||k.getRoot()}if(e(p,"string")){j=p;if(p==="*"){p=function(o){return o.nodeType==1}}else{p=function(o){return k.is(o,j)}}}while(u){if(u==l||!u.nodeType||u.nodeType===9){break}if(!p||p(u)){if(s){q.push(u)}else{return u}}u=u.parentNode}return s?q:null},get:function(j){var k;if(j&&this.doc&&typeof(j)=="string"){k=j;j=this.doc.getElementById(j);if(j&&j.id!==k){return this.doc.getElementsByName(k)[1]}}return j},getNext:function(k,j){return this._findSib(k,j,"nextSibling")},getPrev:function(k,j){return this._findSib(k,j,"previousSibling")},select:function(l,k){var j=this;return h.dom.Sizzle(l,j.get(k)||j.get(j.settings.root_element)||j.doc,[])},is:function(l,j){var k;if(l.length===undefined){if(j==="*"){return l.nodeType==1}if(a.test(j)){j=j.toLowerCase().split(/,/);l=l.nodeName.toLowerCase();for(k=j.length-1;k>=0;k--){if(j[k]==l){return true}}return false}}return h.dom.Sizzle.matches(j,l.nodeType?[l]:l).length>0},add:function(m,q,j,l,o){var k=this;return this.run(m,function(s){var r,n;r=e(q,"string")?k.doc.createElement(q):q;k.setAttribs(r,j);if(l){if(l.nodeType){r.appendChild(l)}else{k.setHTML(r,l)}}return !o?s.appendChild(r):r})},create:function(l,j,k){return this.add(this.doc.createElement(l),l,j,k,1)},createHTML:function(r,j,p){var q="",m=this,l;q+="<"+r;for(l in j){if(j.hasOwnProperty(l)){q+=" "+l+'="'+m.encode(j[l])+'"'}}if(typeof(p)!="undefined"){return q+">"+p+"</"+r+">"}return q+" />"},remove:function(j,k){return this.run(j,function(m){var n,l=m.parentNode;if(!l){return null}if(k){while(n=m.firstChild){if(!h.isIE||n.nodeType!==3||n.nodeValue){l.insertBefore(n,m)}else{m.removeChild(n)}}}return l.removeChild(m)})},setStyle:function(m,j,k){var l=this;return l.run(m,function(p){var o,n;o=p.style;j=j.replace(/-(\D)/g,function(r,q){return q.toUpperCase()});if(l.pixelStyles.test(j)&&(h.is(k,"number")||/^[\-0-9\.]+$/.test(k))){k+="px"}switch(j){case"opacity":if(b){o.filter=k===""?"":"alpha(opacity="+(k*100)+")";if(!m.currentStyle||!m.currentStyle.hasLayout){o.display="inline-block"}}o[j]=o["-moz-opacity"]=o["-khtml-opacity"]=k||"";break;case"float":b?o.styleFloat=k:o.cssFloat=k;break;default:o[j]=k||""}if(l.settings.update_styles){l.setAttrib(p,"data-mce-style")}})},getStyle:function(m,j,l){m=this.get(m);if(!m){return}if(this.doc.defaultView&&l){j=j.replace(/[A-Z]/g,function(n){return"-"+n});try{return this.doc.defaultView.getComputedStyle(m,null).getPropertyValue(j)}catch(k){return null}}j=j.replace(/-(\D)/g,function(o,n){return n.toUpperCase()});if(j=="float"){j=b?"styleFloat":"cssFloat"}if(m.currentStyle&&l){return m.currentStyle[j]}return m.style?m.style[j]:undefined},setStyles:function(m,n){var k=this,l=k.settings,j;j=l.update_styles;l.update_styles=0;f(n,function(o,p){k.setStyle(m,p,o)});l.update_styles=j;if(l.update_styles){k.setAttrib(m,l.cssText)}},removeAllAttribs:function(j){return this.run(j,function(m){var l,k=m.attributes;for(l=k.length-1;l>=0;l--){m.removeAttributeNode(k.item(l))}})},setAttrib:function(l,m,j){var k=this;if(!l||!m){return}if(k.settings.strict){m=m.toLowerCase()}return this.run(l,function(o){var n=k.settings;switch(m){case"style":if(!e(j,"string")){f(j,function(p,q){k.setStyle(o,q,p)});return}if(n.keep_values){if(j&&!k._isRes(j)){o.setAttribute("data-mce-style",j,2)}else{o.removeAttribute("data-mce-style",2)}}o.style.cssText=j;break;case"class":o.className=j||"";break;case"src":case"href":if(n.keep_values){if(n.url_converter){j=n.url_converter.call(n.url_converter_scope||k,j,m,o)}k.setAttrib(o,"data-mce-"+m,j,2)}break;case"shape":o.setAttribute("data-mce-style",j);break}if(e(j)&&j!==null&&j.length!==0){o.setAttribute(m,""+j,2)}else{o.removeAttribute(m,2)}})},setAttribs:function(k,l){var j=this;return this.run(k,function(m){f(l,function(o,p){j.setAttrib(m,p,o)})})},getAttrib:function(o,p,l){var j,k=this,m;o=k.get(o);if(!o||o.nodeType!==1){return l===m?false:l}if(!e(l)){l=""}if(/^(src|href|style|coords|shape)$/.test(p)){j=o.getAttribute("data-mce-"+p);if(j){return j}}if(b&&k.props[p]){j=o[k.props[p]];j=j&&j.nodeValue?j.nodeValue:j}if(!j){j=o.getAttribute(p,2)}if(/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noshade|nowrap|readonly|selected)$/.test(p)){if(o[k.props[p]]===true&&j===""){return p}return j?p:""}if(o.nodeName==="FORM"&&o.getAttributeNode(p)){return o.getAttributeNode(p).nodeValue}if(p==="style"){j=j||o.style.cssText;if(j){j=k.serializeStyle(k.parseStyle(j),o.nodeName);if(k.settings.keep_values&&!k._isRes(j)){o.setAttribute("data-mce-style",j)}}}if(d&&p==="class"&&j){j=j.replace(/(apple|webkit)\-[a-z\-]+/gi,"")}if(b){switch(p){case"rowspan":case"colspan":if(j===1){j=""}break;case"size":if(j==="+0"||j===20||j===0){j=""}break;case"width":case"height":case"vspace":case"checked":case"disabled":case"readonly":if(j===0){j=""}break;case"hspace":if(j===-1){j=""}break;case"maxlength":case"tabindex":if(j===32768||j===2147483647||j==="32768"){j=""}break;case"multiple":case"compact":case"noshade":case"nowrap":if(j===65535){return p}return l;case"shape":j=j.toLowerCase();break;default:if(p.indexOf("on")===0&&j){j=h._replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/,"$1",""+j)}}}return(j!==m&&j!==null&&j!=="")?""+j:l},getPos:function(s,m){var k=this,j=0,q=0,o,p=k.doc,l;s=k.get(s);m=m||p.body;if(s){if(s.getBoundingClientRect){s=s.getBoundingClientRect();o=k.boxModel?p.documentElement:p.body;j=s.left+(p.documentElement.scrollLeft||p.body.scrollLeft)-o.clientTop;q=s.top+(p.documentElement.scrollTop||p.body.scrollTop)-o.clientLeft;return{x:j,y:q}}l=s;while(l&&l!=m&&l.nodeType){j+=l.offsetLeft||0;q+=l.offsetTop||0;l=l.offsetParent}l=s.parentNode;while(l&&l!=m&&l.nodeType){j-=l.scrollLeft||0;q-=l.scrollTop||0;l=l.parentNode}}return{x:j,y:q}},parseStyle:function(j){return this.styles.parse(j)},serializeStyle:function(k,j){return this.styles.serialize(k,j)},loadCSS:function(j){var l=this,m=l.doc,k;if(!j){j=""}k=l.select("head")[0];f(j.split(","),function(n){var o;if(l.files[n]){return}l.files[n]=true;o=l.create("link",{rel:"stylesheet",href:h._addVer(n)});if(b&&m.documentMode&&m.recalc){o.onload=function(){if(m.recalc){m.recalc()}o.onload=null}}k.appendChild(o)})},addClass:function(j,k){return this.run(j,function(l){var m;if(!k){return 0}if(this.hasClass(l,k)){return l.className}m=this.removeClass(l,k);return l.className=(m!=""?(m+" "):"")+k})},removeClass:function(l,m){var j=this,k;return j.run(l,function(o){var n;if(j.hasClass(o,m)){if(!k){k=new RegExp("(^|\\s+)"+m+"(\\s+|$)","g")}n=o.className.replace(k," ");n=h.trim(n!=" "?n:"");o.className=n;if(!n){o.removeAttribute("class");o.removeAttribute("className")}return n}return o.className})},hasClass:function(k,j){k=this.get(k);if(!k||!j){return false}return(" "+k.className+" ").indexOf(" "+j+" ")!==-1},show:function(j){return this.setStyle(j,"display","block")},hide:function(j){return this.setStyle(j,"display","none")},isHidden:function(j){j=this.get(j);return !j||j.style.display=="none"||this.getStyle(j,"display")=="none"},uniqueId:function(j){return(!j?"mce_":j)+(this.counter++)},setHTML:function(l,k){var j=this;return j.run(l,function(n){if(b){while(n.firstChild){n.removeChild(n.firstChild)}try{n.innerHTML="<br />"+k;n.removeChild(n.firstChild)}catch(m){n=j.create("div");n.innerHTML="<br />"+k;f(n.childNodes,function(p,o){if(o){n.appendChild(p)}})}}else{n.innerHTML=k}return k})},getOuterHTML:function(l){var k,j=this;l=j.get(l);if(!l){return null}if(l.nodeType===1&&j.hasOuterHTML){return l.outerHTML}k=(l.ownerDocument||j.doc).createElement("body");k.appendChild(l.cloneNode(true));return k.innerHTML},setOuterHTML:function(m,k,n){var j=this;function l(p,o,r){var s,q;q=r.createElement("body");q.innerHTML=o;s=q.lastChild;while(s){j.insertAfter(s.cloneNode(true),p);s=s.previousSibling}j.remove(p)}return this.run(m,function(p){p=j.get(p);if(p.nodeType==1){n=n||p.ownerDocument||j.doc;if(b){try{if(b&&p.nodeType==1){p.outerHTML=k}else{l(p,k,n)}}catch(o){l(p,k,n)}}else{l(p,k,n)}}})},decode:c.decode,encode:c.encodeAllRaw,insertAfter:function(j,k){k=this.get(k);return this.run(j,function(m){var l,n;l=k.parentNode;n=k.nextSibling;if(n){l.insertBefore(m,n)}else{l.appendChild(m)}return m})},isBlock:function(k){var j=k.nodeType;if(j){return !!(j===1&&g[k.nodeName])}return !!g[k]},replace:function(p,m,j){var l=this;if(e(m,"array")){p=p.cloneNode(true)}return l.run(m,function(k){if(j){f(h.grep(k.childNodes),function(n){p.appendChild(n)})}return k.parentNode.replaceChild(p,k)})},rename:function(m,j){var l=this,k;if(m.nodeName!=j.toUpperCase()){k=l.create(j);f(l.getAttribs(m),function(n){l.setAttrib(k,n.nodeName,l.getAttrib(m,n.nodeName))});l.replace(k,m,1)}return k||m},findCommonAncestor:function(l,j){var m=l,k;while(m){k=j;while(k&&m!=k){k=k.parentNode}if(m==k){break}m=m.parentNode}if(!m&&l.ownerDocument){return l.ownerDocument.documentElement}return m},toHex:function(j){var l=/^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(j);function k(m){m=parseInt(m).toString(16);return m.length>1?m:"0"+m}if(l){j="#"+k(l[1])+k(l[2])+k(l[3]);return j}return j},getClasses:function(){var n=this,j=[],m,o={},p=n.settings.class_filter,l;if(n.classes){return n.classes}function q(r){f(r.imports,function(s){q(s)});f(r.cssRules||r.rules,function(s){switch(s.type||1){case 1:if(s.selectorText){f(s.selectorText.split(","),function(t){t=t.replace(/^\s*|\s*$|^\s\./g,"");if(/\.mce/.test(t)||!/\.[\w\-]+$/.test(t)){return}l=t;t=h._replace(/.*\.([a-z0-9_\-]+).*/i,"$1",t);if(p&&!(t=p(t,l))){return}if(!o[t]){j.push({"class":t});o[t]=1}})}break;case 3:q(s.styleSheet);break}})}try{f(n.doc.styleSheets,q)}catch(k){}if(j.length>0){n.classes=j}return j},run:function(m,l,k){var j=this,n;if(j.doc&&typeof(m)==="string"){m=j.get(m)}if(!m){return false}k=k||this;if(!m.nodeType&&(m.length||m.length===0)){n=[];f(m,function(p,o){if(p){if(typeof(p)=="string"){p=j.doc.getElementById(p)}n.push(l.call(k,p,o))}});return n}return l.call(k,m)},getAttribs:function(k){var j;k=this.get(k);if(!k){return[]}if(b){j=[];if(k.nodeName=="OBJECT"){return k.attributes}if(k.nodeName==="OPTION"&&this.getAttrib(k,"selected")){j.push({specified:1,nodeName:"selected"})}k.cloneNode(false).outerHTML.replace(/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi,"").replace(/[\w:\-]+/gi,function(l){j.push({specified:1,nodeName:l})});return j}return k.attributes},isEmpty:function(o,p){var k=this,m,j,n,q,l;o=o.firstChild;if(o){q=new h.dom.TreeWalker(o);p=p||k.schema?k.schema.getNonEmptyElements():null;do{n=o.nodeType;if(n===1){if(o.getAttribute("data-mce-bogus")){continue}if(p&&p[o.nodeName.toLowerCase()]){return false}j=k.getAttribs(o);m=o.attributes.length;while(m--){l=o.attributes[m].nodeName;if(l==="name"||l==="data-mce-bookmark"){return false}}}if((n===3&&!i.test(o.nodeValue))){return false}}while(o=q.next())}return true},destroy:function(k){var j=this;if(j.events){j.events.destroy()}j.win=j.doc=j.root=j.events=null;if(!k){h.removeUnload(j.destroy)}},createRng:function(){var j=this.doc;return j.createRange?j.createRange():new h.dom.Range(this)},nodeIndex:function(n,o){var j=0,l,m,k;if(n){for(l=n.nodeType,n=n.previousSibling,m=n;n;n=n.previousSibling){k=n.nodeType;if(o&&k==3){if(k==l||!n.nodeValue.length){continue}}j++;l=k}}return j},split:function(n,m,q){var s=this,j=s.createRng(),o,l,p;function k(v){var t,r=v.childNodes,u=v.nodeType;if(u==1&&v.getAttribute("data-mce-type")=="bookmark"){return}for(t=r.length-1;t>=0;t--){k(r[t])}if(u!=9){if(u==3&&v.nodeValue.length>0){if(!s.isBlock(v.parentNode)||h.trim(v.nodeValue).length>0){return}}else{if(u==1){r=v.childNodes;if(r.length==1&&r[0]&&r[0].nodeType==1&&r[0].getAttribute("data-mce-type")=="bookmark"){v.parentNode.insertBefore(r[0],v)}if(r.length||/^(br|hr|input|img)$/i.test(v.nodeName)){return}}}s.remove(v)}return v}if(n&&m){j.setStart(n.parentNode,s.nodeIndex(n));j.setEnd(m.parentNode,s.nodeIndex(m));o=j.extractContents();j=s.createRng();j.setStart(m.parentNode,s.nodeIndex(m)+1);j.setEnd(n.parentNode,s.nodeIndex(n)+1);l=j.extractContents();p=n.parentNode;p.insertBefore(k(o),n);if(q){p.replaceChild(q,m)}else{p.insertBefore(m,n)}p.insertBefore(k(l),n);s.remove(n);return q||m}},bind:function(n,j,m,l){var k=this;if(!k.events){k.events=new h.dom.EventUtils()}return k.events.add(n,j,m,l||this)},unbind:function(m,j,l){var k=this;if(!k.events){k.events=new h.dom.EventUtils()}return k.events.remove(m,j,l)},_findSib:function(m,j,k){var l=this,n=j;if(m){if(e(n,"string")){n=function(o){return l.is(o,j)}}for(m=m[k];m;m=m[k]){if(n(m)){return m}}}return null},_isRes:function(j){return/^(top|left|bottom|right|width|height)/i.test(j)||/;\s*(top|left|bottom|right|width|height)/i.test(j)}});h.DOM=new h.dom.DOMUtils(document,{process_html:0})})(tinymce);(function(a){function b(c){var N=this,e=c.doc,S=0,E=1,j=2,D=true,R=false,U="startOffset",h="startContainer",P="endContainer",z="endOffset",k=tinymce.extend,n=c.nodeIndex;k(N,{startContainer:e,startOffset:0,endContainer:e,endOffset:0,collapsed:D,commonAncestorContainer:e,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:q,setEnd:s,setStartBefore:g,setStartAfter:I,setEndBefore:J,setEndAfter:u,collapse:A,selectNode:x,selectNodeContents:F,compareBoundaryPoints:v,deleteContents:p,extractContents:H,cloneContents:d,insertNode:C,surroundContents:M,cloneRange:K});function q(V,t){B(D,V,t)}function s(V,t){B(R,V,t)}function g(t){q(t.parentNode,n(t))}function I(t){q(t.parentNode,n(t)+1)}function J(t){s(t.parentNode,n(t))}function u(t){s(t.parentNode,n(t)+1)}function A(t){if(t){N[P]=N[h];N[z]=N[U]}else{N[h]=N[P];N[U]=N[z]}N.collapsed=D}function x(t){g(t);u(t)}function F(t){q(t,0);s(t,t.nodeType===1?t.childNodes.length:t.nodeValue.length)}function v(Y,t){var ab=N[h],W=N[U],aa=N[P],V=N[z],Z=t.startContainer,ad=t.startOffset,X=t.endContainer,ac=t.endOffset;if(Y===0){return G(ab,W,Z,ad)}if(Y===1){return G(aa,V,Z,ad)}if(Y===2){return G(aa,V,X,ac)}if(Y===3){return G(ab,W,X,ac)}}function p(){m(j)}function H(){return m(S)}function d(){return m(E)}function C(Y){var V=this[h],t=this[U],X,W;if((V.nodeType===3||V.nodeType===4)&&V.nodeValue){if(!t){V.parentNode.insertBefore(Y,V)}else{if(t>=V.nodeValue.length){c.insertAfter(Y,V)}else{X=V.splitText(t);V.parentNode.insertBefore(Y,X)}}}else{if(V.childNodes.length>0){W=V.childNodes[t]}if(W){V.insertBefore(Y,W)}else{V.appendChild(Y)}}}function M(V){var t=N.extractContents();N.insertNode(V);V.appendChild(t);N.selectNode(V)}function K(){return k(new b(c),{startContainer:N[h],startOffset:N[U],endContainer:N[P],endOffset:N[z],collapsed:N.collapsed,commonAncestorContainer:N.commonAncestorContainer})}function O(t,V){var W;if(t.nodeType==3){return t}if(V<0){return t}W=t.firstChild;while(W&&V>0){--V;W=W.nextSibling}if(W){return W}return t}function l(){return(N[h]==N[P]&&N[U]==N[z])}function G(X,Z,V,Y){var aa,W,t,ab,ad,ac;if(X==V){if(Z==Y){return 0}if(Z<Y){return -1}return 1}aa=V;while(aa&&aa.parentNode!=X){aa=aa.parentNode}if(aa){W=0;t=X.firstChild;while(t!=aa&&W<Z){W++;t=t.nextSibling}if(Z<=W){return -1}return 1}aa=X;while(aa&&aa.parentNode!=V){aa=aa.parentNode}if(aa){W=0;t=V.firstChild;while(t!=aa&&W<Y){W++;t=t.nextSibling}if(W<Y){return -1}return 1}ab=c.findCommonAncestor(X,V);ad=X;while(ad&&ad.parentNode!=ab){ad=ad.parentNode}if(!ad){ad=ab}ac=V;while(ac&&ac.parentNode!=ab){ac=ac.parentNode}if(!ac){ac=ab}if(ad==ac){return 0}t=ab.firstChild;while(t){if(t==ad){return -1}if(t==ac){return 1}t=t.nextSibling}}function B(V,Y,X){var t,W;if(V){N[h]=Y;N[U]=X}else{N[P]=Y;N[z]=X}t=N[P];while(t.parentNode){t=t.parentNode}W=N[h];while(W.parentNode){W=W.parentNode}if(W==t){if(G(N[h],N[U],N[P],N[z])>0){N.collapse(V)}}else{N.collapse(V)}N.collapsed=l();N.commonAncestorContainer=c.findCommonAncestor(N[h],N[P])}function m(ab){var aa,X=0,ad=0,V,Z,W,Y,t,ac;if(N[h]==N[P]){return f(ab)}for(aa=N[P],V=aa.parentNode;V;aa=V,V=V.parentNode){if(V==N[h]){return r(aa,ab)}++X}for(aa=N[h],V=aa.parentNode;V;aa=V,V=V.parentNode){if(V==N[P]){return T(aa,ab)}++ad}Z=ad-X;W=N[h];while(Z>0){W=W.parentNode;Z--}Y=N[P];while(Z<0){Y=Y.parentNode;Z++}for(t=W.parentNode,ac=Y.parentNode;t!=ac;t=t.parentNode,ac=ac.parentNode){W=t;Y=ac}return o(W,Y,ab)}function f(Z){var ab,Y,X,aa,t,W,V;if(Z!=j){ab=e.createDocumentFragment()}if(N[U]==N[z]){return ab}if(N[h].nodeType==3){Y=N[h].nodeValue;X=Y.substring(N[U],N[z]);if(Z!=E){N[h].deleteData(N[U],N[z]-N[U]);N.collapse(D)}if(Z==j){return}ab.appendChild(e.createTextNode(X));return ab}aa=O(N[h],N[U]);t=N[z]-N[U];while(t>0){W=aa.nextSibling;V=y(aa,Z);if(ab){ab.appendChild(V)}--t;aa=W}if(Z!=E){N.collapse(D)}return ab}function r(ab,Y){var aa,Z,V,t,X,W;if(Y!=j){aa=e.createDocumentFragment()}Z=i(ab,Y);if(aa){aa.appendChild(Z)}V=n(ab);t=V-N[U];if(t<=0){if(Y!=E){N.setEndBefore(ab);N.collapse(R)}return aa}Z=ab.previousSibling;while(t>0){X=Z.previousSibling;W=y(Z,Y);if(aa){aa.insertBefore(W,aa.firstChild)}--t;Z=X}if(Y!=E){N.setEndBefore(ab);N.collapse(R)}return aa}function T(Z,Y){var ab,V,aa,t,X,W;if(Y!=j){ab=e.createDocumentFragment()}aa=Q(Z,Y);if(ab){ab.appendChild(aa)}V=n(Z);++V;t=N[z]-V;aa=Z.nextSibling;while(t>0){X=aa.nextSibling;W=y(aa,Y);if(ab){ab.appendChild(W)}--t;aa=X}if(Y!=E){N.setStartAfter(Z);N.collapse(D)}return ab}function o(Z,t,ac){var W,ae,Y,aa,ab,V,ad,X;if(ac!=j){ae=e.createDocumentFragment()}W=Q(Z,ac);if(ae){ae.appendChild(W)}Y=Z.parentNode;aa=n(Z);ab=n(t);++aa;V=ab-aa;ad=Z.nextSibling;while(V>0){X=ad.nextSibling;W=y(ad,ac);if(ae){ae.appendChild(W)}ad=X;--V}W=i(t,ac);if(ae){ae.appendChild(W)}if(ac!=E){N.setStartAfter(Z);N.collapse(D)}return ae}function i(aa,ab){var W=O(N[P],N[z]-1),ac,Z,Y,t,V,X=W!=N[P];if(W==aa){return L(W,X,R,ab)}ac=W.parentNode;Z=L(ac,R,R,ab);while(ac){while(W){Y=W.previousSibling;t=L(W,X,R,ab);if(ab!=j){Z.insertBefore(t,Z.firstChild)}X=D;W=Y}if(ac==aa){return Z}W=ac.previousSibling;ac=ac.parentNode;V=L(ac,R,R,ab);if(ab!=j){V.appendChild(Z)}Z=V}}function Q(aa,ab){var X=O(N[h],N[U]),Y=X!=N[h],ac,Z,W,t,V;if(X==aa){return L(X,Y,D,ab)}ac=X.parentNode;Z=L(ac,R,D,ab);while(ac){while(X){W=X.nextSibling;t=L(X,Y,D,ab);if(ab!=j){Z.appendChild(t)}Y=D;X=W}if(ac==aa){return Z}X=ac.nextSibling;ac=ac.parentNode;V=L(ac,R,D,ab);if(ab!=j){V.appendChild(Z)}Z=V}}function L(t,Y,ab,ac){var X,W,Z,V,aa;if(Y){return y(t,ac)}if(t.nodeType==3){X=t.nodeValue;if(ab){V=N[U];W=X.substring(V);Z=X.substring(0,V)}else{V=N[z];W=X.substring(0,V);Z=X.substring(V)}if(ac!=E){t.nodeValue=Z}if(ac==j){return}aa=t.cloneNode(R);aa.nodeValue=W;return aa}if(ac==j){return}return t.cloneNode(R)}function y(V,t){if(t!=j){return t==E?V.cloneNode(D):V}V.parentNode.removeChild(V)}}a.Range=b})(tinymce.dom);(function(){function a(d){var b=this,h=d.dom,c=true,f=false;function e(i,j){var k,t=0,q,n,m,l,o,r,p=-1,s;k=i.duplicate();k.collapse(j);s=k.parentElement();if(s.ownerDocument!==d.dom.doc){return}while(s.contentEditable==="false"){s=s.parentNode}if(!s.hasChildNodes()){return{node:s,inside:1}}m=s.children;q=m.length-1;while(t<=q){r=Math.floor((t+q)/2);l=m[r];k.moveToElementText(l);p=k.compareEndPoints(j?"StartToStart":"EndToEnd",i);if(p>0){q=r-1}else{if(p<0){t=r+1}else{return{node:l}}}}if(p<0){if(!l){k.moveToElementText(s);k.collapse(true);l=s;n=true}else{k.collapse(false)}k.setEndPoint(j?"EndToStart":"EndToEnd",i);if(k.compareEndPoints(j?"StartToStart":"StartToEnd",i)>0){k=i.duplicate();k.collapse(j);o=-1;while(s==k.parentElement()){if(k.move("character",-1)==0){break}o++}}o=o||k.text.replace("\r\n"," ").length}else{k.collapse(true);k.setEndPoint(j?"StartToStart":"StartToEnd",i);o=k.text.replace("\r\n"," ").length}return{node:l,position:p,offset:o,inside:n}}function g(){var i=d.getRng(),r=h.createRng(),l,k,p,q,m,j;l=i.item?i.item(0):i.parentElement();if(l.ownerDocument!=h.doc){return r}k=d.isCollapsed();if(i.item){r.setStart(l.parentNode,h.nodeIndex(l));r.setEnd(r.startContainer,r.startOffset+1);return r}function o(A){var u=e(i,A),s,y,z=0,x,v,t;s=u.node;y=u.offset;if(u.inside&&!s.hasChildNodes()){r[A?"setStart":"setEnd"](s,0);return}if(y===v){r[A?"setStartBefore":"setEndAfter"](s);return}if(u.position<0){x=u.inside?s.firstChild:s.nextSibling;if(!x){r[A?"setStartAfter":"setEndAfter"](s);return}if(!y){if(x.nodeType==3){r[A?"setStart":"setEnd"](x,0)}else{r[A?"setStartBefore":"setEndBefore"](x)}return}while(x){t=x.nodeValue;z+=t.length;if(z>=y){s=x;z-=y;z=t.length-z;break}x=x.nextSibling}}else{x=s.previousSibling;if(!x){return r[A?"setStartBefore":"setEndBefore"](s)}if(!y){if(s.nodeType==3){r[A?"setStart":"setEnd"](x,s.nodeValue.length)}else{r[A?"setStartAfter":"setEndAfter"](x)}return}while(x){z+=x.nodeValue.length;if(z>=y){s=x;z-=y;break}x=x.previousSibling}}r[A?"setStart":"setEnd"](s,z)}try{o(true);if(!k){o()}}catch(n){if(n.number==-2147024809){m=b.getBookmark(2);p=i.duplicate();p.collapse(true);l=p.parentElement();if(!k){p=i.duplicate();p.collapse(false);q=p.parentElement();q.innerHTML=q.innerHTML}l.innerHTML=l.innerHTML;b.moveToBookmark(m);i=d.getRng();o(true);if(!k){o()}}else{throw n}}return r}this.getBookmark=function(m){var j=d.getRng(),o,i,l={};function n(u){var u,t,p,s,r,q=[];t=u.parentNode;p=h.getRoot().parentNode;while(t!=p){s=t.children;r=s.length;while(r--){if(u===s[r]){q.push(r);break}}u=t;t=t.parentNode}return q}function k(q){var p;p=e(j,q);if(p){return{position:p.position,offset:p.offset,indexes:n(p.node),inside:p.inside}}}if(m===2){if(!j.item){l.start=k(true);if(!d.isCollapsed()){l.end=k()}}else{l.start={ctrl:true,indexes:n(j.item(0))}}}return l};this.moveToBookmark=function(k){var j,i=h.doc.body;function m(o){var r,q,n,p;r=h.getRoot();for(q=o.length-1;q>=0;q--){p=r.children;n=o[q];if(n<=p.length-1){r=p[n]}}return r}function l(r){var n=k[r?"start":"end"],q,p,o;if(n){q=n.position>0;p=i.createTextRange();p.moveToElementText(m(n.indexes));offset=n.offset;if(offset!==o){p.collapse(n.inside||q);p.moveStart("character",q?-offset:offset)}else{p.collapse(r)}j.setEndPoint(r?"StartToStart":"EndToStart",p);if(r){j.collapse(true)}}}if(k.start){if(k.start.ctrl){j=i.createControlRange();j.addElement(m(k.start.indexes));j.select()}else{j=i.createTextRange();l(true);l();j.select()}}};this.addRange=function(i){var n,l,k,p,s,q,r=d.dom.doc,m=r.body;function j(z){var u,y,t,x,v;t=h.create("a");u=z?k:s;y=z?p:q;x=n.duplicate();if(u==r||u==r.documentElement){u=m;y=0}if(u.nodeType==3){u.parentNode.insertBefore(t,u);x.moveToElementText(t);x.moveStart("character",y);h.remove(t);n.setEndPoint(z?"StartToStart":"EndToEnd",x)}else{v=u.childNodes;if(v.length){if(y>=v.length){h.insertAfter(t,v[v.length-1])}else{u.insertBefore(t,v[y])}x.moveToElementText(t)}else{t=r.createTextNode("\uFEFF");u.appendChild(t);x.moveToElementText(t.parentNode);x.collapse(c)}n.setEndPoint(z?"StartToStart":"EndToEnd",x);h.remove(t)}}k=i.startContainer;p=i.startOffset;s=i.endContainer;q=i.endOffset;n=m.createTextRange();if(k==s&&k.nodeType==1&&p==q-1){if(p==q-1){try{l=m.createControlRange();l.addElement(k.childNodes[p]);l.select();return}catch(o){}}}j(true);j();n.select()};this.getRangeAt=g}tinymce.dom.TridentSelection=a})();(function(){var p=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,j=0,d=Object.prototype.toString,o=false,i=true;[0,0].sort(function(){i=false;return 0});var b=function(v,e,z,A){z=z||[];e=e||document;var C=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!v||typeof v!=="string"){return z}var x=[],s,E,H,r,u=true,t=b.isXML(e),B=v,D,G,F,y;do{p.exec("");s=p.exec(B);if(s){B=s[3];x.push(s[1]);if(s[2]){r=s[3];break}}}while(s);if(x.length>1&&k.exec(v)){if(x.length===2&&f.relative[x[0]]){E=h(x[0]+x[1],e)}else{E=f.relative[x[0]]?[e]:b(x.shift(),e);while(x.length){v=x.shift();if(f.relative[v]){v+=x.shift()}E=h(v,E)}}}else{if(!A&&x.length>1&&e.nodeType===9&&!t&&f.match.ID.test(x[0])&&!f.match.ID.test(x[x.length-1])){D=b.find(x.shift(),e,t);e=D.expr?b.filter(D.expr,D.set)[0]:D.set[0]}if(e){D=A?{expr:x.pop(),set:a(A)}:b.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&e.parentNode?e.parentNode:e,t);E=D.expr?b.filter(D.expr,D.set):D.set;if(x.length>0){H=a(E)}else{u=false}while(x.length){G=x.pop();F=G;if(!f.relative[G]){G=""}else{F=x.pop()}if(F==null){F=e}f.relative[G](H,F,t)}}else{H=x=[]}}if(!H){H=E}if(!H){b.error(G||v)}if(d.call(H)==="[object Array]"){if(!u){z.push.apply(z,H)}else{if(e&&e.nodeType===1){for(y=0;H[y]!=null;y++){if(H[y]&&(H[y]===true||H[y].nodeType===1&&b.contains(e,H[y]))){z.push(E[y])}}}else{for(y=0;H[y]!=null;y++){if(H[y]&&H[y].nodeType===1){z.push(E[y])}}}}}else{a(H,z)}if(r){b(r,C,z,A);b.uniqueSort(z)}return z};b.uniqueSort=function(r){if(c){o=i;r.sort(c);if(o){for(var e=1;e<r.length;e++){if(r[e]===r[e-1]){r.splice(e--,1)}}}}return r};b.matches=function(e,r){return b(e,null,null,r)};b.find=function(y,e,z){var x;if(!y){return[]}for(var t=0,s=f.order.length;t<s;t++){var v=f.order[t],u;if((u=f.leftMatch[v].exec(y))){var r=u[1];u.splice(1,1);if(r.substr(r.length-1)!=="\\"){u[1]=(u[1]||"").replace(/\\/g,"");x=f.find[v](u,e,z);if(x!=null){y=y.replace(f.match[v],"");break}}}}if(!x){x=e.getElementsByTagName("*")}return{set:x,expr:y}};b.filter=function(C,B,F,u){var s=C,H=[],z=B,x,e,y=B&&B[0]&&b.isXML(B[0]);while(C&&B.length){for(var A in f.filter){if((x=f.leftMatch[A].exec(C))!=null&&x[2]){var r=f.filter[A],G,E,t=x[1];e=false;x.splice(1,1);if(t.substr(t.length-1)==="\\"){continue}if(z===H){H=[]}if(f.preFilter[A]){x=f.preFilter[A](x,z,F,H,u,y);if(!x){e=G=true}else{if(x===true){continue}}}if(x){for(var v=0;(E=z[v])!=null;v++){if(E){G=r(E,x,v,z);var D=u^!!G;if(F&&G!=null){if(D){e=true}else{z[v]=false}}else{if(D){H.push(E);e=true}}}}}if(G!==undefined){if(!F){z=H}C=C.replace(f.match[A],"");if(!e){return[]}break}}}if(C===s){if(e==null){b.error(C)}else{break}}s=C}return z};b.error=function(e){throw"Syntax error, unrecognized expression: "+e};var f=b.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")}},relative:{"+":function(x,r){var t=typeof r==="string",v=t&&!/\W/.test(r),y=t&&!v;if(v){r=r.toLowerCase()}for(var s=0,e=x.length,u;s<e;s++){if((u=x[s])){while((u=u.previousSibling)&&u.nodeType!==1){}x[s]=y||u&&u.nodeName.toLowerCase()===r?u||false:u===r}}if(y){b.filter(r,x,true)}},">":function(x,r){var u=typeof r==="string",v,s=0,e=x.length;if(u&&!/\W/.test(r)){r=r.toLowerCase();for(;s<e;s++){v=x[s];if(v){var t=v.parentNode;x[s]=t.nodeName.toLowerCase()===r?t:false}}}else{for(;s<e;s++){v=x[s];if(v){x[s]=u?v.parentNode:v.parentNode===r}}if(u){b.filter(r,x,true)}}},"":function(t,r,v){var s=j++,e=q,u;if(typeof r==="string"&&!/\W/.test(r)){r=r.toLowerCase();u=r;e=n}e("parentNode",r,s,t,u,v)},"~":function(t,r,v){var s=j++,e=q,u;if(typeof r==="string"&&!/\W/.test(r)){r=r.toLowerCase();u=r;e=n}e("previousSibling",r,s,t,u,v)}},find:{ID:function(r,s,t){if(typeof s.getElementById!=="undefined"&&!t){var e=s.getElementById(r[1]);return e?[e]:[]}},NAME:function(s,v){if(typeof v.getElementsByName!=="undefined"){var r=[],u=v.getElementsByName(s[1]);for(var t=0,e=u.length;t<e;t++){if(u[t].getAttribute("name")===s[1]){r.push(u[t])}}return r.length===0?null:r}},TAG:function(e,r){return r.getElementsByTagName(e[1])}},preFilter:{CLASS:function(t,r,s,e,x,y){t=" "+t[1].replace(/\\/g,"")+" ";if(y){return t}for(var u=0,v;(v=r[u])!=null;u++){if(v){if(x^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(t)>=0)){if(!s){e.push(v)}}else{if(s){r[u]=false}}}}return false},ID:function(e){return e[1].replace(/\\/g,"")},TAG:function(r,e){return r[1].toLowerCase()},CHILD:function(e){if(e[1]==="nth"){var r=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(r[1]+(r[2]||1))-0;e[3]=r[3]-0}e[0]=j++;return e},ATTR:function(u,r,s,e,v,x){var t=u[1].replace(/\\/g,"");if(!x&&f.attrMap[t]){u[1]=f.attrMap[t]}if(u[2]==="~="){u[4]=" "+u[4]+" "}return u},PSEUDO:function(u,r,s,e,v){if(u[1]==="not"){if((p.exec(u[3])||"").length>1||/^\w/.test(u[3])){u[3]=b(u[3],null,null,r)}else{var t=b.filter(u[3],r,s,true^v);if(!s){e.push.apply(e,t)}return false}}else{if(f.match.POS.test(u[0])||f.match.CHILD.test(u[0])){return true}}return u},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){e.parentNode.selectedIndex;return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(s,r,e){return !!b(e[3],s).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(e){return"text"===e.type},radio:function(e){return"radio"===e.type},checkbox:function(e){return"checkbox"===e.type},file:function(e){return"file"===e.type},password:function(e){return"password"===e.type},submit:function(e){return"submit"===e.type},image:function(e){return"image"===e.type},reset:function(e){return"reset"===e.type},button:function(e){return"button"===e.type||e.nodeName.toLowerCase()==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)}},setFilters:{first:function(r,e){return e===0},last:function(s,r,e,t){return r===t.length-1},even:function(r,e){return e%2===0},odd:function(r,e){return e%2===1},lt:function(s,r,e){return r<e[3]-0},gt:function(s,r,e){return r>e[3]-0},nth:function(s,r,e){return e[3]-0===r},eq:function(s,r,e){return e[3]-0===r}},filter:{PSEUDO:function(s,y,x,z){var e=y[1],r=f.filters[e];if(r){return r(s,x,y,z)}else{if(e==="contains"){return(s.textContent||s.innerText||b.getText([s])||"").indexOf(y[3])>=0}else{if(e==="not"){var t=y[3];for(var v=0,u=t.length;v<u;v++){if(t[v]===s){return false}}return true}else{b.error("Syntax error, unrecognized expression: "+e)}}}},CHILD:function(e,t){var x=t[1],r=e;switch(x){case"only":case"first":while((r=r.previousSibling)){if(r.nodeType===1){return false}}if(x==="first"){return true}r=e;case"last":while((r=r.nextSibling)){if(r.nodeType===1){return false}}return true;case"nth":var s=t[2],A=t[3];if(s===1&&A===0){return true}var v=t[0],z=e.parentNode;if(z&&(z.sizcache!==v||!e.nodeIndex)){var u=0;for(r=z.firstChild;r;r=r.nextSibling){if(r.nodeType===1){r.nodeIndex=++u}}z.sizcache=v}var y=e.nodeIndex-A;if(s===0){return y===0}else{return(y%s===0&&y/s>=0)}}},ID:function(r,e){return r.nodeType===1&&r.getAttribute("id")===e},TAG:function(r,e){return(e==="*"&&r.nodeType===1)||r.nodeName.toLowerCase()===e},CLASS:function(r,e){return(" "+(r.className||r.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(v,t){var s=t[1],e=f.attrHandle[s]?f.attrHandle[s](v):v[s]!=null?v[s]:v.getAttribute(s),x=e+"",u=t[2],r=t[4];return e==null?u==="!=":u==="="?x===r:u==="*="?x.indexOf(r)>=0:u==="~="?(" "+x+" ").indexOf(r)>=0:!r?x&&e!==false:u==="!="?x!==r:u==="^="?x.indexOf(r)===0:u==="$="?x.substr(x.length-r.length)===r:u==="|="?x===r||x.substr(0,r.length+1)===r+"-":false},POS:function(u,r,s,v){var e=r[2],t=f.setFilters[e];if(t){return t(u,s,r,v)}}}};var k=f.match.POS,g=function(r,e){return"\\"+(e-0+1)};for(var m in f.match){f.match[m]=new RegExp(f.match[m].source+(/(?![^\[]*\])(?![^\(]*\))/.source));f.leftMatch[m]=new RegExp(/(^(?:.|\r|\n)*?)/.source+f.match[m].source.replace(/\\(\d+)/g,g))}var a=function(r,e){r=Array.prototype.slice.call(r,0);if(e){e.push.apply(e,r);return e}return r};try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType}catch(l){a=function(u,t){var r=t||[],s=0;if(d.call(u)==="[object Array]"){Array.prototype.push.apply(r,u)}else{if(typeof u.length==="number"){for(var e=u.length;s<e;s++){r.push(u[s])}}else{for(;u[s];s++){r.push(u[s])}}}return r}}var c;if(document.documentElement.compareDocumentPosition){c=function(r,e){if(!r.compareDocumentPosition||!e.compareDocumentPosition){if(r==e){o=true}return r.compareDocumentPosition?-1:1}var s=r.compareDocumentPosition(e)&4?-1:r===e?0:1;if(s===0){o=true}return s}}else{if("sourceIndex" in document.documentElement){c=function(r,e){if(!r.sourceIndex||!e.sourceIndex){if(r==e){o=true}return r.sourceIndex?-1:1}var s=r.sourceIndex-e.sourceIndex;if(s===0){o=true}return s}}else{if(document.createRange){c=function(t,r){if(!t.ownerDocument||!r.ownerDocument){if(t==r){o=true}return t.ownerDocument?-1:1}var s=t.ownerDocument.createRange(),e=r.ownerDocument.createRange();s.setStart(t,0);s.setEnd(t,0);e.setStart(r,0);e.setEnd(r,0);var u=s.compareBoundaryPoints(Range.START_TO_END,e);if(u===0){o=true}return u}}}}b.getText=function(e){var r="",t;for(var s=0;e[s];s++){t=e[s];if(t.nodeType===3||t.nodeType===4){r+=t.nodeValue}else{if(t.nodeType!==8){r+=b.getText(t.childNodes)}}}return r};(function(){var r=document.createElement("div"),s="script"+(new Date()).getTime();r.innerHTML="<a name='"+s+"'/>";var e=document.documentElement;e.insertBefore(r,e.firstChild);if(document.getElementById(s)){f.find.ID=function(u,v,x){if(typeof v.getElementById!=="undefined"&&!x){var t=v.getElementById(u[1]);return t?t.id===u[1]||typeof t.getAttributeNode!=="undefined"&&t.getAttributeNode("id").nodeValue===u[1]?[t]:undefined:[]}};f.filter.ID=function(v,t){var u=typeof v.getAttributeNode!=="undefined"&&v.getAttributeNode("id");return v.nodeType===1&&u&&u.nodeValue===t}}e.removeChild(r);e=r=null})();(function(){var e=document.createElement("div");e.appendChild(document.createComment(""));if(e.getElementsByTagName("*").length>0){f.find.TAG=function(r,v){var u=v.getElementsByTagName(r[1]);if(r[1]==="*"){var t=[];for(var s=0;u[s];s++){if(u[s].nodeType===1){t.push(u[s])}}u=t}return u}}e.innerHTML="<a href='#'></a>";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){f.attrHandle.href=function(r){return r.getAttribute("href",2)}}e=null})();if(document.querySelectorAll){(function(){var e=b,s=document.createElement("div");s.innerHTML="<p class='TEST'></p>";if(s.querySelectorAll&&s.querySelectorAll(".TEST").length===0){return}b=function(x,v,t,u){v=v||document;if(!u&&v.nodeType===9&&!b.isXML(v)){try{return a(v.querySelectorAll(x),t)}catch(y){}}return e(x,v,t,u)};for(var r in e){b[r]=e[r]}s=null})()}(function(){var e=document.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}f.order.splice(1,0,"CLASS");f.find.CLASS=function(r,s,t){if(typeof s.getElementsByClassName!=="undefined"&&!t){return s.getElementsByClassName(r[1])}};e=null})();function n(r,x,v,A,y,z){for(var t=0,s=A.length;t<s;t++){var e=A[t];if(e){e=e[r];var u=false;while(e){if(e.sizcache===v){u=A[e.sizset];break}if(e.nodeType===1&&!z){e.sizcache=v;e.sizset=t}if(e.nodeName.toLowerCase()===x){u=e;break}e=e[r]}A[t]=u}}}function q(r,x,v,A,y,z){for(var t=0,s=A.length;t<s;t++){var e=A[t];if(e){e=e[r];var u=false;while(e){if(e.sizcache===v){u=A[e.sizset];break}if(e.nodeType===1){if(!z){e.sizcache=v;e.sizset=t}if(typeof x!=="string"){if(e===x){u=true;break}}else{if(b.filter(x,[e]).length>0){u=e;break}}}e=e[r]}A[t]=u}}}b.contains=document.compareDocumentPosition?function(r,e){return !!(r.compareDocumentPosition(e)&16)}:function(r,e){return r!==e&&(r.contains?r.contains(e):true)};b.isXML=function(e){var r=(e?e.ownerDocument||e:0).documentElement;return r?r.nodeName!=="HTML":false};var h=function(e,y){var t=[],u="",v,s=y.nodeType?[y]:y;while((v=f.match.PSEUDO.exec(e))){u+=v[0];e=e.replace(f.match.PSEUDO,"")}e=f.relative[e]?e+"*":e;for(var x=0,r=s.length;x<r;x++){b(e,s[x],t)}return b.filter(u,t)};window.tinymce.dom.Sizzle=b})();(function(d){var f=d.each,c=d.DOM,b=d.isIE,e=d.isWebKit,a;d.create("tinymce.dom.EventUtils",{EventUtils:function(){this.inits=[];this.events=[]},add:function(m,p,l,j){var g,h=this,i=h.events,k;if(p instanceof Array){k=[];f(p,function(o){k.push(h.add(m,o,l,j))});return k}if(m&&m.hasOwnProperty&&m instanceof Array){k=[];f(m,function(n){n=c.get(n);k.push(h.add(n,p,l,j))});return k}m=c.get(m);if(!m){return}g=function(n){if(h.disabled){return}n=n||window.event;if(n&&b){if(!n.target){n.target=n.srcElement}d.extend(n,h._stoppers)}if(!j){return l(n)}return l.call(j,n)};if(p=="unload"){d.unloads.unshift({func:g});return g}if(p=="init"){if(h.domLoaded){g()}else{h.inits.push(g)}return g}i.push({obj:m,name:p,func:l,cfunc:g,scope:j});h._add(m,p,g);return l},remove:function(l,m,k){var h=this,g=h.events,i=false,j;if(l&&l.hasOwnProperty&&l instanceof Array){j=[];f(l,function(n){n=c.get(n);j.push(h.remove(n,m,k))});return j}l=c.get(l);f(g,function(o,n){if(o.obj==l&&o.name==m&&(!k||(o.func==k||o.cfunc==k))){g.splice(n,1);h._remove(l,m,o.cfunc);i=true;return false}});return i},clear:function(l){var j=this,g=j.events,h,k;if(l){l=c.get(l);for(h=g.length-1;h>=0;h--){k=g[h];if(k.obj===l){j._remove(k.obj,k.name,k.cfunc);k.obj=k.cfunc=null;g.splice(h,1)}}}},cancel:function(g){if(!g){return false}this.stop(g);return this.prevent(g)},stop:function(g){if(g.stopPropagation){g.stopPropagation()}else{g.cancelBubble=true}return false},prevent:function(g){if(g.preventDefault){g.preventDefault()}else{g.returnValue=false}return false},destroy:function(){var g=this;f(g.events,function(j,h){g._remove(j.obj,j.name,j.cfunc);j.obj=j.cfunc=null});g.events=[];g=null},_add:function(h,i,g){if(h.attachEvent){h.attachEvent("on"+i,g)}else{if(h.addEventListener){h.addEventListener(i,g,false)}else{h["on"+i]=g}}},_remove:function(i,j,h){if(i){try{if(i.detachEvent){i.detachEvent("on"+j,h)}else{if(i.removeEventListener){i.removeEventListener(j,h,false)}else{i["on"+j]=null}}}catch(g){}}},_pageInit:function(h){var g=this;if(g.domLoaded){return}g.domLoaded=true;f(g.inits,function(i){i()});g.inits=[]},_wait:function(i){var g=this,h=i.document;if(i.tinyMCE_GZ&&tinyMCE_GZ.loaded){g.domLoaded=1;return}if(h.attachEvent){h.attachEvent("onreadystatechange",function(){if(h.readyState==="complete"){h.detachEvent("onreadystatechange",arguments.callee);g._pageInit(i)}});if(h.documentElement.doScroll&&i==i.top){(function(){if(g.domLoaded){return}try{h.documentElement.doScroll("left")}catch(j){setTimeout(arguments.callee,0);return}g._pageInit(i)})()}}else{if(h.addEventListener){g._add(i,"DOMContentLoaded",function(){g._pageInit(i)})}}g._add(i,"load",function(){g._pageInit(i)})},_stoppers:{preventDefault:function(){this.returnValue=false},stopPropagation:function(){this.cancelBubble=true}}});a=d.dom.Event=new d.dom.EventUtils();a._wait(window);d.addUnload(function(){a.destroy()})})(tinymce);(function(a){a.dom.Element=function(f,d){var b=this,e,c;b.settings=d=d||{};b.id=f;b.dom=e=d.dom||a.DOM;if(!a.isIE){c=e.get(b.id)}a.each(("getPos,getRect,getParent,add,setStyle,getStyle,setStyles,setAttrib,setAttribs,getAttrib,addClass,removeClass,hasClass,getOuterHTML,setOuterHTML,remove,show,hide,isHidden,setHTML,get").split(/,/),function(g){b[g]=function(){var h=[f],j;for(j=0;j<arguments.length;j++){h.push(arguments[j])}h=e[g].apply(e,h);b.update(g);return h}});a.extend(b,{on:function(i,h,g){return a.dom.Event.add(b.id,i,h,g)},getXY:function(){return{x:parseInt(b.getStyle("left")),y:parseInt(b.getStyle("top"))}},getSize:function(){var g=e.get(b.id);return{w:parseInt(b.getStyle("width")||g.clientWidth),h:parseInt(b.getStyle("height")||g.clientHeight)}},moveTo:function(g,h){b.setStyles({left:g,top:h})},moveBy:function(g,i){var h=b.getXY();b.moveTo(h.x+g,h.y+i)},resizeTo:function(g,i){b.setStyles({width:g,height:i})},resizeBy:function(g,j){var i=b.getSize();b.resizeTo(i.w+g,i.h+j)},update:function(h){var g;if(a.isIE6&&d.blocker){h=h||"";if(h.indexOf("get")===0||h.indexOf("has")===0||h.indexOf("is")===0){return}if(h=="remove"){e.remove(b.blocker);return}if(!b.blocker){b.blocker=e.uniqueId();g=e.add(d.container||e.getRoot(),"iframe",{id:b.blocker,style:"position:absolute;",frameBorder:0,src:'javascript:""'});e.setStyle(g,"opacity",0)}else{g=e.get(b.blocker)}e.setStyles(g,{left:b.getStyle("left",1),top:b.getStyle("top",1),width:b.getStyle("width",1),height:b.getStyle("height",1),display:b.getStyle("display",1),zIndex:parseInt(b.getStyle("zIndex",1)||0)-1})}}})}})(tinymce);(function(c){function e(f){return f.replace(/[\n\r]+/g,"")}var b=c.is,a=c.isIE,d=c.each;c.create("tinymce.dom.Selection",{Selection:function(i,h,g){var f=this;f.dom=i;f.win=h;f.serializer=g;d(["onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent"],function(j){f[j]=new c.util.Dispatcher(f)});if(!f.win.getSelection){f.tridentSel=new c.dom.TridentSelection(f)}if(c.isIE&&i.boxModel){this._fixIESelection()}c.addUnload(f.destroy,f)},setCursorLocation:function(h,i){var f=this;var g=f.dom.createRng();g.setStart(h,i);g.setEnd(h,i);f.setRng(g);f.collapse(false)},getContent:function(g){var f=this,h=f.getRng(),l=f.dom.create("body"),j=f.getSel(),i,k,m;g=g||{};i=k="";g.get=true;g.format=g.format||"html";g.forced_root_block="";f.onBeforeGetContent.dispatch(f,g);if(g.format=="text"){return f.isCollapsed()?"":(h.text||(j.toString?j.toString():""))}if(h.cloneContents){m=h.cloneContents();if(m){l.appendChild(m)}}else{if(b(h.item)||b(h.htmlText)){l.innerHTML=h.item?h.item(0).outerHTML:h.htmlText}else{l.innerHTML=h.toString()}}if(/^\s/.test(l.innerHTML)){i=" "}if(/\s+$/.test(l.innerHTML)){k=" "}g.getInner=true;g.content=f.isCollapsed()?"":i+f.serializer.serialize(l,g)+k;f.onGetContent.dispatch(f,g);return g.content},setContent:function(g,i){var n=this,f=n.getRng(),j,k=n.win.document,m,l;i=i||{format:"html"};i.set=true;g=i.content=g;if(!i.no_events){n.onBeforeSetContent.dispatch(n,i)}g=i.content;if(f.insertNode){g+='<span id="__caret">_</span>';if(f.startContainer==k&&f.endContainer==k){k.body.innerHTML=g}else{f.deleteContents();if(k.body.childNodes.length==0){k.body.innerHTML=g}else{if(f.createContextualFragment){f.insertNode(f.createContextualFragment(g))}else{m=k.createDocumentFragment();l=k.createElement("div");m.appendChild(l);l.outerHTML=g;f.insertNode(m)}}}j=n.dom.get("__caret");f=k.createRange();f.setStartBefore(j);f.setEndBefore(j);n.setRng(f);n.dom.remove("__caret");try{n.setRng(f)}catch(h){}}else{if(f.item){k.execCommand("Delete",false,null);f=n.getRng()}f.pasteHTML(g)}if(!i.no_events){n.onSetContent.dispatch(n,i)}},getStart:function(){var g=this.getRng(),h,f,j,i;if(g.duplicate||g.item){if(g.item){return g.item(0)}j=g.duplicate();j.collapse(1);h=j.parentElement();f=i=g.parentElement();while(i=i.parentNode){if(i==h){h=f;break}}return h}else{h=g.startContainer;if(h.nodeType==1&&h.hasChildNodes()){h=h.childNodes[Math.min(h.childNodes.length-1,g.startOffset)]}if(h&&h.nodeType==3){return h.parentNode}return h}},getEnd:function(){var g=this,h=g.getRng(),i,f;if(h.duplicate||h.item){if(h.item){return h.item(0)}h=h.duplicate();h.collapse(0);i=h.parentElement();if(i&&i.nodeName=="BODY"){return i.lastChild||i}return i}else{i=h.endContainer;f=h.endOffset;if(i.nodeType==1&&i.hasChildNodes()){i=i.childNodes[f>0?f-1:f]}if(i&&i.nodeType==3){return i.parentNode}return i}},getBookmark:function(r,s){var v=this,m=v.dom,g,j,i,n,h,o,p,l="\uFEFF",u;function f(x,y){var t=0;d(m.select(x),function(A,z){if(A==y){t=z}});return t}if(r==2){function k(){var x=v.getRng(true),t=m.getRoot(),y={};function z(C,H){var B=C[H?"startContainer":"endContainer"],G=C[H?"startOffset":"endOffset"],A=[],D,F,E=0;if(B.nodeType==3){if(s){for(D=B.previousSibling;D&&D.nodeType==3;D=D.previousSibling){G+=D.nodeValue.length}}A.push(G)}else{F=B.childNodes;if(G>=F.length&&F.length){E=1;G=Math.max(0,F.length-1)}A.push(v.dom.nodeIndex(F[G],s)+E)}for(;B&&B!=t;B=B.parentNode){A.push(v.dom.nodeIndex(B,s))}return A}y.start=z(x,true);if(!v.isCollapsed()){y.end=z(x)}return y}if(v.tridentSel){return v.tridentSel.getBookmark(r)}return k()}if(r){return{rng:v.getRng()}}g=v.getRng();i=m.uniqueId();n=tinyMCE.activeEditor.selection.isCollapsed();u="overflow:hidden;line-height:0px";if(g.duplicate||g.item){if(!g.item){j=g.duplicate();try{g.collapse();g.pasteHTML('<span data-mce-type="bookmark" id="'+i+'_start" style="'+u+'">'+l+"</span>");if(!n){j.collapse(false);g.moveToElementText(j.parentElement());if(g.compareEndPoints("StartToEnd",j)==0){j.move("character",-1)}j.pasteHTML('<span data-mce-type="bookmark" id="'+i+'_end" style="'+u+'">'+l+"</span>")}}catch(q){return null}}else{o=g.item(0);h=o.nodeName;return{name:h,index:f(h,o)}}}else{o=v.getNode();h=o.nodeName;if(h=="IMG"){return{name:h,index:f(h,o)}}j=g.cloneRange();if(!n){j.collapse(false);j.insertNode(m.create("span",{"data-mce-type":"bookmark",id:i+"_end",style:u},l))}g.collapse(true);g.insertNode(m.create("span",{"data-mce-type":"bookmark",id:i+"_start",style:u},l))}v.moveToBookmark({id:i,keep:1});return{id:i}},moveToBookmark:function(n){var r=this,l=r.dom,i,h,f,q,j,s,o,p;if(n){if(n.start){f=l.createRng();q=l.getRoot();function g(z){var t=n[z?"start":"end"],v,x,y,u;if(t){y=t[0];for(x=q,v=t.length-1;v>=1;v--){u=x.childNodes;if(t[v]>u.length-1){return}x=u[t[v]]}if(x.nodeType===3){y=Math.min(t[0],x.nodeValue.length)}if(x.nodeType===1){y=Math.min(t[0],x.childNodes.length)}if(z){f.setStart(x,y)}else{f.setEnd(x,y)}}return true}if(r.tridentSel){return r.tridentSel.moveToBookmark(n)}if(g(true)&&g()){r.setRng(f)}}else{if(n.id){function k(A){var u=l.get(n.id+"_"+A),z,t,x,y,v=n.keep;if(u){z=u.parentNode;if(A=="start"){if(!v){t=l.nodeIndex(u)}else{z=u.firstChild;t=1}j=s=z;o=p=t}else{if(!v){t=l.nodeIndex(u)}else{z=u.firstChild;t=1}s=z;p=t}if(!v){y=u.previousSibling;x=u.nextSibling;d(c.grep(u.childNodes),function(B){if(B.nodeType==3){B.nodeValue=B.nodeValue.replace(/\uFEFF/g,"")}});while(u=l.get(n.id+"_"+A)){l.remove(u,1)}if(y&&x&&y.nodeType==x.nodeType&&y.nodeType==3&&!c.isOpera){t=y.nodeValue.length;y.appendData(x.nodeValue);l.remove(x);if(A=="start"){j=s=y;o=p=t}else{s=y;p=t}}}}}function m(t){if(l.isBlock(t)&&!t.innerHTML){t.innerHTML=!a?'<br data-mce-bogus="1" />':" "}return t}k("start");k("end");if(j){f=l.createRng();f.setStart(m(j),o);f.setEnd(m(s),p);r.setRng(f)}}else{if(n.name){r.select(l.select(n.name)[n.index])}else{if(n.rng){r.setRng(n.rng)}}}}}},select:function(k,j){var i=this,l=i.dom,g=l.createRng(),f;if(k){f=l.nodeIndex(k);g.setStart(k.parentNode,f);g.setEnd(k.parentNode,f+1);if(j){function h(m,o){var n=new c.dom.TreeWalker(m,m);do{if(m.nodeType==3&&c.trim(m.nodeValue).length!=0){if(o){g.setStart(m,0)}else{g.setEnd(m,m.nodeValue.length)}return}if(m.nodeName=="BR"){if(o){g.setStartBefore(m)}else{g.setEndBefore(m)}return}}while(m=(o?n.next():n.prev()))}h(k,1);h(k)}i.setRng(g)}return k},isCollapsed:function(){var f=this,h=f.getRng(),g=f.getSel();if(!h||h.item){return false}if(h.compareEndPoints){return h.compareEndPoints("StartToEnd",h)===0}return !g||h.collapsed},collapse:function(f){var h=this,g=h.getRng(),i;if(g.item){i=g.item(0);g=h.win.document.body.createTextRange();g.moveToElementText(i)}g.collapse(!!f);h.setRng(g)},getSel:function(){var g=this,f=this.win;return f.getSelection?f.getSelection():f.document.selection},getRng:function(l){var g=this,h,i,k,j=g.win.document;if(l&&g.tridentSel){return g.tridentSel.getRangeAt(0)}try{if(h=g.getSel()){i=h.rangeCount>0?h.getRangeAt(0):(h.createRange?h.createRange():j.createRange())}}catch(f){}if(c.isIE&&i&&i.setStart&&j.selection.createRange().item){k=j.selection.createRange().item(0);i=j.createRange();i.setStartBefore(k);i.setEndAfter(k)}if(!i){i=j.createRange?j.createRange():j.body.createTextRange()}if(g.selectedRange&&g.explicitRange){if(i.compareBoundaryPoints(i.START_TO_START,g.selectedRange)===0&&i.compareBoundaryPoints(i.END_TO_END,g.selectedRange)===0){i=g.explicitRange}else{g.selectedRange=null;g.explicitRange=null}}return i},setRng:function(i){var h,g=this;if(!g.tridentSel){h=g.getSel();if(h){g.explicitRange=i;try{h.removeAllRanges()}catch(f){}h.addRange(i);g.selectedRange=h.getRangeAt(0)}}else{if(i.cloneRange){g.tridentSel.addRange(i);return}try{i.select()}catch(f){}}},setNode:function(g){var f=this;f.setContent(f.dom.getOuterHTML(g));return g},getNode:function(){var h=this,g=h.getRng(),i=h.getSel(),l,k=g.startContainer,f=g.endContainer;if(!g){return h.dom.getRoot()}if(g.setStart){l=g.commonAncestorContainer;if(!g.collapsed){if(g.startContainer==g.endContainer){if(g.endOffset-g.startOffset<2){if(g.startContainer.hasChildNodes()){l=g.startContainer.childNodes[g.startOffset]}}}if(k.nodeType===3&&f.nodeType===3){function j(p,m){var o=p;while(p&&p.nodeType===3&&p.length===0){p=m?p.nextSibling:p.previousSibling}return p||o}if(k.length===g.startOffset){k=j(k.nextSibling,true)}else{k=k.parentNode}if(g.endOffset===0){f=j(f.previousSibling,false)}else{f=f.parentNode}if(k&&k===f){return k}}}if(l&&l.nodeType==3){return l.parentNode}return l}return g.item?g.item(0):g.parentElement()},getSelectedBlocks:function(g,f){var i=this,j=i.dom,m,h,l,k=[];m=j.getParent(g||i.getStart(),j.isBlock);h=j.getParent(f||i.getEnd(),j.isBlock);if(m){k.push(m)}if(m&&h&&m!=h){l=m;while((l=l.nextSibling)&&l!=h){if(j.isBlock(l)){k.push(l)}}}if(h&&m!=h){k.push(h)}return k},normalize:function(){var g=this,f,i;if(c.isIE){return}function h(p){var k,o,n,m=g.dom,j=m.getRoot(),l;k=f[(p?"start":"end")+"Container"];o=f[(p?"start":"end")+"Offset"];if(k.nodeType===9){k=k.body;o=0}if(k===j){if(k.hasChildNodes()){k=k.childNodes[Math.min(!p&&o>0?o-1:o,k.childNodes.length-1)];o=0;l=k;n=new c.dom.TreeWalker(k,j);do{if(l.nodeType===3){o=p?0:l.nodeValue.length-1;k=l;break}if(l.nodeName==="BR"){o=m.nodeIndex(l);k=l.parentNode;break}}while(l=(p?n.next():n.prev()));i=true}}if(i){f["set"+(p?"Start":"End")](k,o)}}f=g.getRng();h(true);if(f.collapsed){h()}if(i){g.setRng(f)}},destroy:function(g){var f=this;f.win=null;if(!g){c.removeUnload(f.destroy)}},_fixIESelection:function(){var g=this.dom,m=g.doc,h=m.body,j,n,f;m.documentElement.unselectable=true;function i(o,r){var p=h.createTextRange();try{p.moveToPoint(o,r)}catch(q){p=null}return p}function l(p){var o;if(p.button){o=i(p.x,p.y);if(o){if(o.compareEndPoints("StartToStart",n)>0){o.setEndPoint("StartToStart",n)}else{o.setEndPoint("EndToEnd",n)}o.select()}}else{k()}}function k(){var o=m.selection.createRange();if(n&&!o.item&&o.compareEndPoints("StartToEnd",o)===0){n.select()}g.unbind(m,"mouseup",k);g.unbind(m,"mousemove",l);n=j=0}g.bind(m,["mousedown","contextmenu"],function(o){if(o.target.nodeName==="HTML"){if(j){k()}f=m.documentElement;if(f.scrollHeight>f.clientHeight){return}j=1;n=i(o.x,o.y);if(n){g.bind(m,"mouseup",k);g.bind(m,"mousemove",l);g.win.focus();n.select()}}})}})})(tinymce);(function(a){a.dom.Serializer=function(e,i,f){var h,b,d=a.isIE,g=a.each,c;if(!e.apply_source_formatting){e.indent=false}e.remove_trailing_brs=true;i=i||a.DOM;f=f||new a.html.Schema(e);e.entity_encoding=e.entity_encoding||"named";h=new a.util.Dispatcher(self);b=new a.util.Dispatcher(self);c=new a.html.DomParser(e,f);c.addAttributeFilter("src,href,style",function(k,j){var o=k.length,l,q,n="data-mce-"+j,p=e.url_converter,r=e.url_converter_scope,m;while(o--){l=k[o];q=l.attributes.map[n];if(q!==m){l.attr(j,q.length>0?q:null);l.attr(n,null)}else{q=l.attributes.map[j];if(j==="style"){q=i.serializeStyle(i.parseStyle(q),l.name)}else{if(p){q=p.call(r,q,j,l.name)}}l.attr(j,q.length>0?q:null)}}});c.addAttributeFilter("class",function(j,k){var l=j.length,m,n;while(l--){m=j[l];n=m.attr("class").replace(/\s*mce(Item\w+|Selected)\s*/g,"");m.attr("class",n.length>0?n:null)}});c.addAttributeFilter("data-mce-type",function(j,l,k){var m=j.length,n;while(m--){n=j[m];if(n.attributes.map["data-mce-type"]==="bookmark"&&!k.cleanup){n.remove()}}});c.addNodeFilter("script,style",function(k,l){var m=k.length,n,o;function j(p){return p.replace(/(<!--\[CDATA\[|\]\]-->)/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*(\/\/\s*<!--|\/\/\s*<!\[CDATA\[|<!--|<!\[CDATA\[)[\r\n]*/g,"").replace(/\s*(\/\/\s*\]\]>|\/\/\s*-->|\]\]>|-->|\]\]-->)\s*$/g,"")}while(m--){n=k[m];o=n.firstChild?n.firstChild.value:"";if(l==="script"){n.attr("type",(n.attr("type")||"text/javascript").replace(/^mce\-/,""));if(o.length>0){n.firstChild.value="// <![CDATA[\n"+j(o)+"\n// ]]>"}}else{if(o.length>0){n.firstChild.value="<!--\n"+j(o)+"\n-->"}}}});c.addNodeFilter("#comment",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.value.indexOf("[CDATA[")===0){m.name="#cdata";m.type=4;m.value=m.value.replace(/^\[CDATA\[|\]\]$/g,"")}else{if(m.value.indexOf("mce:protected ")===0){m.name="#text";m.type=3;m.raw=true;m.value=unescape(m.value).substr(14)}}}});c.addNodeFilter("xml:namespace,input",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.type===7){m.remove()}else{if(m.type===1){if(k==="input"&&!("type" in m.attributes.map)){m.attr("type","text")}}}}});if(e.fix_list_elements){c.addNodeFilter("ul,ol",function(k,l){var m=k.length,n,j;while(m--){n=k[m];j=n.parent;if(j.name==="ul"||j.name==="ol"){if(n.prev&&n.prev.name==="li"){n.prev.append(n)}}}})}c.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style",function(j,k){var l=j.length;while(l--){j[l].attr(k,null)}});return{schema:f,addNodeFilter:c.addNodeFilter,addAttributeFilter:c.addAttributeFilter,onPreProcess:h,onPostProcess:b,serialize:function(o,m){var l,p,k,j,n;if(d&&i.select("script,style,select").length>0){n=o.innerHTML;o=o.cloneNode(false);i.setHTML(o,n)}else{o=o.cloneNode(true)}l=o.ownerDocument.implementation;if(l.createHTMLDocument){p=l.createHTMLDocument("");g(o.nodeName=="BODY"?o.childNodes:[o],function(q){p.body.appendChild(p.importNode(q,true))});if(o.nodeName!="BODY"){o=p.body.firstChild}else{o=p.body}k=i.doc;i.doc=p}m=m||{};m.format=m.format||"html";if(!m.no_events){m.node=o;h.dispatch(self,m)}j=new a.html.Serializer(e,f);m.content=j.serialize(c.parse(m.getInner?o.innerHTML:a.trim(i.getOuterHTML(o),m),m));if(!m.cleanup){m.content=m.content.replace(/\uFEFF/g,"")}if(!m.no_events){b.dispatch(self,m)}if(k){i.doc=k}m.node=null;return m.content},addRules:function(j){f.addValidElements(j)},setRules:function(j){f.setValidElements(j)}}}})(tinymce);(function(a){a.dom.ScriptLoader=function(h){var c=0,k=1,i=2,l={},j=[],f={},d=[],g=0,e;function b(m,v){var x=this,q=a.DOM,s,o,r,n;function p(){q.remove(n);if(s){s.onreadystatechange=s.onload=s=null}v()}function u(){if(typeof(console)!=="undefined"&&console.log){console.log("Failed to load: "+m)}}n=q.uniqueId();if(a.isIE6){o=new a.util.URI(m);r=location;if(o.host==r.hostname&&o.port==r.port&&(o.protocol+":")==r.protocol&&o.protocol.toLowerCase()!="file"){a.util.XHR.send({url:a._addVer(o.getURI()),success:function(y){var t=q.create("script",{type:"text/javascript"});t.text=y;document.getElementsByTagName("head")[0].appendChild(t);q.remove(t);p()},error:u});return}}s=q.create("script",{id:n,type:"text/javascript",src:a._addVer(m)});if(!a.isIE){s.onload=p}s.onerror=u;if(!a.isOpera){s.onreadystatechange=function(){var t=s.readyState;if(t=="complete"||t=="loaded"){p()}}}(document.getElementsByTagName("head")[0]||document.body).appendChild(s)}this.isDone=function(m){return l[m]==i};this.markDone=function(m){l[m]=i};this.add=this.load=function(m,q,n){var o,p=l[m];if(p==e){j.push(m);l[m]=c}if(q){if(!f[m]){f[m]=[]}f[m].push({func:q,scope:n||this})}};this.loadQueue=function(n,m){this.loadScripts(j,n,m)};this.loadScripts=function(m,q,p){var o;function n(r){a.each(f[r],function(s){s.func.call(s.scope)});f[r]=e}d.push({func:q,scope:p||this});o=function(){var r=a.grep(m);m.length=0;a.each(r,function(s){if(l[s]==i){n(s);return}if(l[s]!=k){l[s]=k;g++;b(s,function(){l[s]=i;g--;n(s);o()})}});if(!g){a.each(d,function(s){s.func.call(s.scope)});d.length=0}};o()}};a.ScriptLoader=new a.dom.ScriptLoader()})(tinymce);tinymce.dom.TreeWalker=function(a,c){var b=a;function d(i,f,e,j){var h,g;if(i){if(!j&&i[f]){return i[f]}if(i!=c){h=i[e];if(h){return h}for(g=i.parentNode;g&&g!=c;g=g.parentNode){h=g[e];if(h){return h}}}}}this.current=function(){return b};this.next=function(e){return(b=d(b,"firstChild","nextSibling",e))};this.prev=function(e){return(b=d(b,"lastChild","previousSibling",e))}};(function(a){a.dom.RangeUtils=function(c){var b="\uFEFF";this.walk=function(d,r){var h=d.startContainer,k=d.startOffset,s=d.endContainer,l=d.endOffset,i,f,n,g,q,p,e;e=c.select("td.mceSelected,th.mceSelected");if(e.length>0){a.each(e,function(t){r([t])});return}function o(v,u,t){var x=[];for(;v&&v!=t;v=v[u]){x.push(v)}return x}function m(u,t){do{if(u.parentNode==t){return u}u=u.parentNode}while(u)}function j(v,u,x){var t=x?"nextSibling":"previousSibling";for(g=v,q=g.parentNode;g&&g!=u;g=q){q=g.parentNode;p=o(g==v?g:g[t],t);if(p.length){if(!x){p.reverse()}r(p)}}}if(h.nodeType==1&&h.hasChildNodes()){h=h.childNodes[k]}if(s.nodeType==1&&s.hasChildNodes()){s=s.childNodes[Math.min(l-1,s.childNodes.length-1)]}i=c.findCommonAncestor(h,s);if(h==s){return r([h])}for(g=h;g;g=g.parentNode){if(g==s){return j(h,i,true)}if(g==i){break}}for(g=s;g;g=g.parentNode){if(g==h){return j(s,i)}if(g==i){break}}f=m(h,i)||h;n=m(s,i)||s;j(h,f,true);p=o(f==h?f:f.nextSibling,"nextSibling",n==s?n.nextSibling:n);if(p.length){r(p)}j(s,n)}};a.dom.RangeUtils.compareRanges=function(c,b){if(c&&b){if(c.item||c.duplicate){if(c.item&&b.item&&c.item(0)===b.item(0)){return true}if(c.isEqual&&b.isEqual&&b.isEqual(c)){return true}}else{return c.startContainer==b.startContainer&&c.startOffset==b.startOffset}}return false}})(tinymce);(function(b){var a=b.dom.Event,c=b.each;b.create("tinymce.ui.KeyboardNavigation",{KeyboardNavigation:function(e,f){var p=this,m=e.root,l=e.items,n=e.enableUpDown,i=e.enableLeftRight||!e.enableUpDown,k=e.excludeFromTabOrder,j,h,o,d,g;f=f||b.DOM;j=function(q){g=q.target.id};h=function(q){f.setAttrib(q.target.id,"tabindex","-1")};d=function(q){var r=f.get(g);f.setAttrib(r,"tabindex","0");r.focus()};p.focus=function(){f.get(g).focus()};p.destroy=function(){c(l,function(q){f.unbind(f.get(q.id),"focus",j);f.unbind(f.get(q.id),"blur",h)});f.unbind(f.get(m),"focus",d);f.unbind(f.get(m),"keydown",o);l=f=m=p.focus=j=h=o=d=null;p.destroy=function(){}};p.moveFocus=function(u,r){var q=-1,t=p.controls,s;if(!g){return}c(l,function(x,v){if(x.id===g){q=v;return false}});q+=u;if(q<0){q=l.length-1}else{if(q>=l.length){q=0}}s=l[q];f.setAttrib(g,"tabindex","-1");f.setAttrib(s.id,"tabindex","0");f.get(s.id).focus();if(e.actOnFocus){e.onAction(s.id)}if(r){a.cancel(r)}};o=function(y){var u=37,t=39,x=38,z=40,q=27,s=14,r=13,v=32;switch(y.keyCode){case u:if(i){p.moveFocus(-1)}break;case t:if(i){p.moveFocus(1)}break;case x:if(n){p.moveFocus(-1)}break;case z:if(n){p.moveFocus(1)}break;case q:if(e.onCancel){e.onCancel();a.cancel(y)}break;case s:case r:case v:if(e.onAction){e.onAction(g);a.cancel(y)}break}};c(l,function(s,q){var r;if(!s.id){s.id=f.uniqueId("_mce_item_")}if(k){f.bind(s.id,"blur",h);r="-1"}else{r=(q===0?"0":"-1")}f.setAttrib(s.id,"tabindex",r);f.bind(f.get(s.id),"focus",j)});if(l[0]){g=l[0].id}f.setAttrib(m,"tabindex","-1");f.bind(f.get(m),"focus",d);f.bind(f.get(m),"keydown",o)}})})(tinymce);(function(c){var b=c.DOM,a=c.is;c.create("tinymce.ui.Control",{Control:function(f,e,d){this.id=f;this.settings=e=e||{};this.rendered=false;this.onRender=new c.util.Dispatcher(this);this.classPrefix="";this.scope=e.scope||this;this.disabled=0;this.active=0;this.editor=d},setAriaProperty:function(f,e){var d=b.get(this.id+"_aria")||b.get(this.id);if(d){b.setAttrib(d,"aria-"+f,!!e)}},focus:function(){b.get(this.id).focus()},setDisabled:function(d){if(d!=this.disabled){this.setAriaProperty("disabled",d);this.setState("Disabled",d);this.setState("Enabled",!d);this.disabled=d}},isDisabled:function(){return this.disabled},setActive:function(d){if(d!=this.active){this.setState("Active",d);this.active=d;this.setAriaProperty("pressed",d)}},isActive:function(){return this.active},setState:function(f,d){var e=b.get(this.id);f=this.classPrefix+f;if(d){b.addClass(e,f)}else{b.removeClass(e,f)}},isRendered:function(){return this.rendered},renderHTML:function(){},renderTo:function(d){b.setHTML(d,this.renderHTML())},postRender:function(){var e=this,d;if(a(e.disabled)){d=e.disabled;e.disabled=-1;e.setDisabled(d)}if(a(e.active)){d=e.active;e.active=-1;e.setActive(d)}},remove:function(){b.remove(this.id);this.destroy()},destroy:function(){c.dom.Event.clear(this.id)}})})(tinymce);tinymce.create("tinymce.ui.Container:tinymce.ui.Control",{Container:function(c,b,a){this.parent(c,b,a);this.controls=[];this.lookup={}},add:function(a){this.lookup[a.id]=a;this.controls.push(a);return a},get:function(a){return this.lookup[a]}});tinymce.create("tinymce.ui.Separator:tinymce.ui.Control",{Separator:function(b,a){this.parent(b,a);this.classPrefix="mceSeparator";this.setDisabled(true)},renderHTML:function(){return tinymce.DOM.createHTML("span",{"class":this.classPrefix,role:"separator","aria-orientation":"vertical",tabindex:"-1"})}});(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.MenuItem:tinymce.ui.Control",{MenuItem:function(g,f){this.parent(g,f);this.classPrefix="mceMenuItem"},setSelected:function(f){this.setState("Selected",f);this.setAriaProperty("checked",!!f);this.selected=f},isSelected:function(){return this.selected},postRender:function(){var f=this;f.parent();if(c(f.selected)){f.setSelected(f.selected)}}})})(tinymce);(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.Menu:tinymce.ui.MenuItem",{Menu:function(h,g){var f=this;f.parent(h,g);f.items={};f.collapsed=false;f.menuCount=0;f.onAddItem=new d.util.Dispatcher(this)},expand:function(g){var f=this;if(g){a(f,function(h){if(h.expand){h.expand()}},"items",f)}f.collapsed=false},collapse:function(g){var f=this;if(g){a(f,function(h){if(h.collapse){h.collapse()}},"items",f)}f.collapsed=true},isCollapsed:function(){return this.collapsed},add:function(f){if(!f.settings){f=new d.ui.MenuItem(f.id||b.uniqueId(),f)}this.onAddItem.dispatch(this,f);return this.items[f.id]=f},addSeparator:function(){return this.add({separator:true})},addMenu:function(f){if(!f.collapse){f=this.createMenu(f)}this.menuCount++;return this.add(f)},hasMenus:function(){return this.menuCount!==0},remove:function(f){delete this.items[f.id]},removeAll:function(){var f=this;a(f,function(g){if(g.removeAll){g.removeAll()}else{g.remove()}g.destroy()},"items",f);f.items={}},createMenu:function(g){var f=new d.ui.Menu(g.id||b.uniqueId(),g);f.onAddItem.add(this.onAddItem.dispatch,this.onAddItem);return f}})})(tinymce);(function(e){var d=e.is,c=e.DOM,f=e.each,a=e.dom.Event,b=e.dom.Element;e.create("tinymce.ui.DropMenu:tinymce.ui.Menu",{DropMenu:function(h,g){g=g||{};g.container=g.container||c.doc.body;g.offset_x=g.offset_x||0;g.offset_y=g.offset_y||0;g.vp_offset_x=g.vp_offset_x||0;g.vp_offset_y=g.vp_offset_y||0;if(d(g.icons)&&!g.icons){g["class"]+=" mceNoIcons"}this.parent(h,g);this.onShowMenu=new e.util.Dispatcher(this);this.onHideMenu=new e.util.Dispatcher(this);this.classPrefix="mceMenu"},createMenu:function(j){var h=this,i=h.settings,g;j.container=j.container||i.container;j.parent=h;j.constrain=j.constrain||i.constrain;j["class"]=j["class"]||i["class"];j.vp_offset_x=j.vp_offset_x||i.vp_offset_x;j.vp_offset_y=j.vp_offset_y||i.vp_offset_y;j.keyboard_focus=i.keyboard_focus;g=new e.ui.DropMenu(j.id||c.uniqueId(),j);g.onAddItem.add(h.onAddItem.dispatch,h.onAddItem);return g},focus:function(){var g=this;if(g.keyboardNav){g.keyboardNav.focus()}},update:function(){var i=this,j=i.settings,g=c.get("menu_"+i.id+"_tbl"),l=c.get("menu_"+i.id+"_co"),h,k;h=j.max_width?Math.min(g.clientWidth,j.max_width):g.clientWidth;k=j.max_height?Math.min(g.clientHeight,j.max_height):g.clientHeight;if(!c.boxModel){i.element.setStyles({width:h+2,height:k+2})}else{i.element.setStyles({width:h,height:k})}if(j.max_width){c.setStyle(l,"width",h)}if(j.max_height){c.setStyle(l,"height",k);if(g.clientHeight<j.max_height){c.setStyle(l,"overflow","hidden")}}},showMenu:function(p,n,r){var z=this,A=z.settings,o,g=c.getViewPort(),u,l,v,q,i=2,k,j,m=z.classPrefix;z.collapse(1);if(z.isMenuVisible){return}if(!z.rendered){o=c.add(z.settings.container,z.renderNode());f(z.items,function(h){h.postRender()});z.element=new b("menu_"+z.id,{blocker:1,container:A.container})}else{o=c.get("menu_"+z.id)}if(!e.isOpera){c.setStyles(o,{left:-65535,top:-65535})}c.show(o);z.update();p+=A.offset_x||0;n+=A.offset_y||0;g.w-=4;g.h-=4;if(A.constrain){u=o.clientWidth-i;l=o.clientHeight-i;v=g.x+g.w;q=g.y+g.h;if((p+A.vp_offset_x+u)>v){p=r?r-u:Math.max(0,(v-A.vp_offset_x)-u)}if((n+A.vp_offset_y+l)>q){n=Math.max(0,(q-A.vp_offset_y)-l)}}c.setStyles(o,{left:p,top:n});z.element.update();z.isMenuVisible=1;z.mouseClickFunc=a.add(o,"click",function(s){var h;s=s.target;if(s&&(s=c.getParent(s,"tr"))&&!c.hasClass(s,m+"ItemSub")){h=z.items[s.id];if(h.isDisabled()){return}k=z;while(k){if(k.hideMenu){k.hideMenu()}k=k.settings.parent}if(h.settings.onclick){h.settings.onclick(s)}return a.cancel(s)}});if(z.hasMenus()){z.mouseOverFunc=a.add(o,"mouseover",function(x){var h,t,s;x=x.target;if(x&&(x=c.getParent(x,"tr"))){h=z.items[x.id];if(z.lastMenu){z.lastMenu.collapse(1)}if(h.isDisabled()){return}if(x&&c.hasClass(x,m+"ItemSub")){t=c.getRect(x);h.showMenu((t.x+t.w-i),t.y-i,t.x);z.lastMenu=h;c.addClass(c.get(h.id).firstChild,m+"ItemActive")}}})}a.add(o,"keydown",z._keyHandler,z);z.onShowMenu.dispatch(z);if(A.keyboard_focus){z._setupKeyboardNav()}},hideMenu:function(j){var g=this,i=c.get("menu_"+g.id),h;if(!g.isMenuVisible){return}if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(i,"mouseover",g.mouseOverFunc);a.remove(i,"click",g.mouseClickFunc);a.remove(i,"keydown",g._keyHandler);c.hide(i);g.isMenuVisible=0;if(!j){g.collapse(1)}if(g.element){g.element.hide()}if(h=c.get(g.id)){c.removeClass(h.firstChild,g.classPrefix+"ItemActive")}g.onHideMenu.dispatch(g)},add:function(i){var g=this,h;i=g.parent(i);if(g.isRendered&&(h=c.get("menu_"+g.id))){g._add(c.select("tbody",h)[0],i)}return i},collapse:function(g){this.parent(g);this.hideMenu(1)},remove:function(g){c.remove(g.id);this.destroy();return this.parent(g)},destroy:function(){var g=this,h=c.get("menu_"+g.id);if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(h,"mouseover",g.mouseOverFunc);a.remove(c.select("a",h),"focus",g.mouseOverFunc);a.remove(h,"click",g.mouseClickFunc);a.remove(h,"keydown",g._keyHandler);if(g.element){g.element.remove()}c.remove(h)},renderNode:function(){var i=this,j=i.settings,l,h,k,g;g=c.create("div",{role:"listbox",id:"menu_"+i.id,"class":j["class"],style:"position:absolute;left:0;top:0;z-index:200000;outline:0"});if(i.settings.parent){c.setAttrib(g,"aria-parent","menu_"+i.settings.parent.id)}k=c.add(g,"div",{role:"presentation",id:"menu_"+i.id+"_co","class":i.classPrefix+(j["class"]?" "+j["class"]:"")});i.element=new b("menu_"+i.id,{blocker:1,container:j.container});if(j.menu_line){c.add(k,"span",{"class":i.classPrefix+"Line"})}l=c.add(k,"table",{role:"presentation",id:"menu_"+i.id+"_tbl",border:0,cellPadding:0,cellSpacing:0});h=c.add(l,"tbody");f(i.items,function(m){i._add(h,m)});i.rendered=true;return g},_setupKeyboardNav:function(){var i,h,g=this;i=c.select("#menu_"+g.id)[0];h=c.select("a[role=option]","menu_"+g.id);h.splice(0,0,i);g.keyboardNav=new e.ui.KeyboardNavigation({root:"menu_"+g.id,items:h,onCancel:function(){g.hideMenu()},enableUpDown:true});i.focus()},_keyHandler:function(g){var h=this,i;switch(g.keyCode){case 37:if(h.settings.parent){h.hideMenu();h.settings.parent.focus();a.cancel(g)}break;case 39:if(h.mouseOverFunc){h.mouseOverFunc(g)}break}},_add:function(j,h){var i,q=h.settings,p,l,k,m=this.classPrefix,g;if(q.separator){l=c.add(j,"tr",{id:h.id,"class":m+"ItemSeparator"});c.add(l,"td",{"class":m+"ItemSeparator"});if(i=l.previousSibling){c.addClass(i,"mceLast")}return}i=l=c.add(j,"tr",{id:h.id,"class":m+"Item "+m+"ItemEnabled"});i=k=c.add(i,q.titleItem?"th":"td");i=p=c.add(i,"a",{id:h.id+"_aria",role:q.titleItem?"presentation":"option",href:"javascript:;",onclick:"return false;",onmousedown:"return false;"});if(q.parent){c.setAttrib(p,"aria-haspopup","true");c.setAttrib(p,"aria-owns","menu_"+h.id)}c.addClass(k,q["class"]);g=c.add(i,"span",{"class":"mceIcon"+(q.icon?" mce_"+q.icon:"")});if(q.icon_src){c.add(g,"img",{src:q.icon_src})}i=c.add(i,q.element||"span",{"class":"mceText",title:h.settings.title},h.settings.title);if(h.settings.style){c.setAttrib(i,"style",h.settings.style)}if(j.childNodes.length==1){c.addClass(l,"mceFirst")}if((i=l.previousSibling)&&c.hasClass(i,m+"ItemSeparator")){c.addClass(l,"mceFirst")}if(h.collapse){c.addClass(l,m+"ItemSub")}if(i=l.previousSibling){c.removeClass(i,"mceLast")}c.addClass(l,"mceLast")}})})(tinymce);(function(b){var a=b.DOM;b.create("tinymce.ui.Button:tinymce.ui.Control",{Button:function(e,d,c){this.parent(e,d,c);this.classPrefix="mceButton"},renderHTML:function(){var f=this.classPrefix,e=this.settings,d,c;c=a.encode(e.label||"");d='<a role="button" id="'+this.id+'" href="javascript:;" class="'+f+" "+f+"Enabled "+e["class"]+(c?" "+f+"Labeled":"")+'" onmousedown="return false;" onclick="return false;" aria-labelledby="'+this.id+'_voice" title="'+a.encode(e.title)+'">';if(e.image&&!(this.editor&&this.editor.forcedHighContrastMode)){d+='<img class="mceIcon" src="'+e.image+'" alt="'+a.encode(e.title)+'" />'+c}else{d+='<span class="mceIcon '+e["class"]+'"></span>'+(c?'<span class="'+f+'Label">'+c+"</span>":"")}d+='<span class="mceVoiceLabel mceIconOnly" style="display: none;" id="'+this.id+'_voice">'+e.title+"</span>";d+="</a>";return d},postRender:function(){var c=this,d=c.settings;b.dom.Event.add(c.id,"click",function(f){if(!c.isDisabled()){return d.onclick.call(d.scope,f)}})}})})(tinymce);(function(d){var c=d.DOM,b=d.dom.Event,e=d.each,a=d.util.Dispatcher;d.create("tinymce.ui.ListBox:tinymce.ui.Control",{ListBox:function(i,h,f){var g=this;g.parent(i,h,f);g.items=[];g.onChange=new a(g);g.onPostRender=new a(g);g.onAdd=new a(g);g.onRenderMenu=new d.util.Dispatcher(this);g.classPrefix="mceListBox"},select:function(h){var g=this,j,i;if(h==undefined){return g.selectByIndex(-1)}if(h&&h.call){i=h}else{i=function(f){return f==h}}if(h!=g.selectedValue){e(g.items,function(k,f){if(i(k.value)){j=1;g.selectByIndex(f);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(f){var g=this,h,i;if(f!=g.selectedIndex){h=c.get(g.id+"_text");i=g.items[f];if(i){g.selectedValue=i.value;g.selectedIndex=f;c.setHTML(h,c.encode(i.title));c.removeClass(h,"mceTitle");c.setAttrib(g.id,"aria-valuenow",i.title)}else{c.setHTML(h,c.encode(g.settings.title));c.addClass(h,"mceTitle");g.selectedValue=g.selectedIndex=null;c.setAttrib(g.id,"aria-valuenow",g.settings.title)}h=0}},add:function(i,f,h){var g=this;h=h||{};h=d.extend(h,{title:i,value:f});g.items.push(h);g.onAdd.dispatch(g,h)},getLength:function(){return this.items.length},renderHTML:function(){var i="",f=this,g=f.settings,j=f.classPrefix;i='<span role="button" aria-haspopup="true" aria-labelledby="'+f.id+'_text" aria-describedby="'+f.id+'_voiceDesc"><table role="presentation" tabindex="0" id="'+f.id+'" cellpadding="0" cellspacing="0" class="'+j+" "+j+"Enabled"+(g["class"]?(" "+g["class"]):"")+'"><tbody><tr>';i+="<td>"+c.createHTML("span",{id:f.id+"_voiceDesc","class":"voiceLabel",style:"display:none;"},f.settings.title);i+=c.createHTML("a",{id:f.id+"_text",tabindex:-1,href:"javascript:;","class":"mceText",onclick:"return false;",onmousedown:"return false;"},c.encode(f.settings.title))+"</td>";i+="<td>"+c.createHTML("a",{id:f.id+"_open",tabindex:-1,href:"javascript:;","class":"mceOpen",onclick:"return false;",onmousedown:"return false;"},'<span><span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span></span>')+"</td>";i+="</tr></tbody></table></span>";return i},showMenu:function(){var g=this,i,h=c.get(this.id),f;if(g.isDisabled()||g.items.length==0){return}if(g.menu&&g.menu.isMenuVisible){return g.hideMenu()}if(!g.isMenuRendered){g.renderMenu();g.isMenuRendered=true}i=c.getPos(h);f=g.menu;f.settings.offset_x=i.x;f.settings.offset_y=i.y;f.settings.keyboard_focus=!d.isOpera;if(g.oldID){f.items[g.oldID].setSelected(0)}e(g.items,function(j){if(j.value===g.selectedValue){f.items[j.id].setSelected(1);g.oldID=j.id}});f.showMenu(0,h.clientHeight);b.add(c.doc,"mousedown",g.hideMenu,g);c.addClass(g.id,g.classPrefix+"Selected")},hideMenu:function(g){var f=this;if(f.menu&&f.menu.isMenuVisible){c.removeClass(f.id,f.classPrefix+"Selected");if(g&&g.type=="mousedown"&&(g.target.id==f.id+"_text"||g.target.id==f.id+"_open")){return}if(!g||!c.getParent(g.target,".mceMenu")){c.removeClass(f.id,f.classPrefix+"Selected");b.remove(c.doc,"mousedown",f.hideMenu,f);f.menu.hideMenu()}}},renderMenu:function(){var g=this,f;f=g.settings.control_manager.createDropMenu(g.id+"_menu",{menu_line:1,"class":g.classPrefix+"Menu mceNoIcons",max_width:150,max_height:150});f.onHideMenu.add(function(){g.hideMenu();g.focus()});f.add({title:g.settings.title,"class":"mceMenuItemTitle",onclick:function(){if(g.settings.onselect("")!==false){g.select("")}}});e(g.items,function(h){if(h.value===undefined){f.add({title:h.title,"class":"mceMenuItemTitle",onclick:function(){if(g.settings.onselect("")!==false){g.select("")}}})}else{h.id=c.uniqueId();h.onclick=function(){if(g.settings.onselect(h.value)!==false){g.select(h.value)}};f.add(h)}});g.onRenderMenu.dispatch(g,f);g.menu=f},postRender:function(){var f=this,g=f.classPrefix;b.add(f.id,"click",f.showMenu,f);b.add(f.id,"keydown",function(h){if(h.keyCode==32){f.showMenu(h);b.cancel(h)}});b.add(f.id,"focus",function(){if(!f._focused){f.keyDownHandler=b.add(f.id,"keydown",function(h){if(h.keyCode==40){f.showMenu();b.cancel(h)}});f.keyPressHandler=b.add(f.id,"keypress",function(i){var h;if(i.keyCode==13){h=f.selectedValue;f.selectedValue=null;b.cancel(i);f.settings.onselect(h)}})}f._focused=1});b.add(f.id,"blur",function(){b.remove(f.id,"keydown",f.keyDownHandler);b.remove(f.id,"keypress",f.keyPressHandler);f._focused=0});if(d.isIE6||!c.boxModel){b.add(f.id,"mouseover",function(){if(!c.hasClass(f.id,g+"Disabled")){c.addClass(f.id,g+"Hover")}});b.add(f.id,"mouseout",function(){if(!c.hasClass(f.id,g+"Disabled")){c.removeClass(f.id,g+"Hover")}})}f.onPostRender.dispatch(f,c.get(f.id))},destroy:function(){this.parent();b.clear(this.id+"_text");b.clear(this.id+"_open")}})})(tinymce);(function(d){var c=d.DOM,b=d.dom.Event,e=d.each,a=d.util.Dispatcher;d.create("tinymce.ui.NativeListBox:tinymce.ui.ListBox",{NativeListBox:function(g,f){this.parent(g,f);this.classPrefix="mceNativeListBox"},setDisabled:function(f){c.get(this.id).disabled=f;this.setAriaProperty("disabled",f)},isDisabled:function(){return c.get(this.id).disabled},select:function(h){var g=this,j,i;if(h==undefined){return g.selectByIndex(-1)}if(h&&h.call){i=h}else{i=function(f){return f==h}}if(h!=g.selectedValue){e(g.items,function(k,f){if(i(k.value)){j=1;g.selectByIndex(f);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(f){c.get(this.id).selectedIndex=f+1;this.selectedValue=this.items[f]?this.items[f].value:null},add:function(j,g,f){var i,h=this;f=f||{};f.value=g;if(h.isRendered()){c.add(c.get(this.id),"option",f,j)}i={title:j,value:g,attribs:f};h.items.push(i);h.onAdd.dispatch(h,i)},getLength:function(){return this.items.length},renderHTML:function(){var g,f=this;g=c.createHTML("option",{value:""},"-- "+f.settings.title+" --");e(f.items,function(h){g+=c.createHTML("option",{value:h.value},h.title)});g=c.createHTML("select",{id:f.id,"class":"mceNativeListBox","aria-labelledby":f.id+"_aria"},g);g+=c.createHTML("span",{id:f.id+"_aria",style:"display: none"},f.settings.title);return g},postRender:function(){var g=this,h,i=true;g.rendered=true;function f(k){var j=g.items[k.target.selectedIndex-1];if(j&&(j=j.value)){g.onChange.dispatch(g,j);if(g.settings.onselect){g.settings.onselect(j)}}}b.add(g.id,"change",f);b.add(g.id,"keydown",function(k){var j;b.remove(g.id,"change",h);i=false;j=b.add(g.id,"blur",function(){if(i){return}i=true;b.add(g.id,"change",f);b.remove(g.id,"blur",j)});if(k.keyCode==13||k.keyCode==32){f(k);return b.cancel(k)}});g.onPostRender.dispatch(g,c.get(g.id))}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.MenuButton:tinymce.ui.Button",{MenuButton:function(g,f,e){this.parent(g,f,e);this.onRenderMenu=new c.util.Dispatcher(this);f.menu_container=f.menu_container||b.doc.body},showMenu:function(){var g=this,j,i,h=b.get(g.id),f;if(g.isDisabled()){return}if(!g.isMenuRendered){g.renderMenu();g.isMenuRendered=true}if(g.isMenuVisible){return g.hideMenu()}j=b.getPos(g.settings.menu_container);i=b.getPos(h);f=g.menu;f.settings.offset_x=i.x;f.settings.offset_y=i.y;f.settings.vp_offset_x=i.x;f.settings.vp_offset_y=i.y;f.settings.keyboard_focus=g._focused;f.showMenu(0,h.clientHeight);a.add(b.doc,"mousedown",g.hideMenu,g);g.setState("Selected",1);g.isMenuVisible=1},renderMenu:function(){var f=this,e;e=f.settings.control_manager.createDropMenu(f.id+"_menu",{menu_line:1,"class":this.classPrefix+"Menu",icons:f.settings.icons});e.onHideMenu.add(function(){f.hideMenu();f.focus()});f.onRenderMenu.dispatch(f,e);f.menu=e},hideMenu:function(g){var f=this;if(g&&g.type=="mousedown"&&b.getParent(g.target,function(h){return h.id===f.id||h.id===f.id+"_open"})){return}if(!g||!b.getParent(g.target,".mceMenu")){f.setState("Selected",0);a.remove(b.doc,"mousedown",f.hideMenu,f);if(f.menu){f.menu.hideMenu()}}f.isMenuVisible=0},postRender:function(){var e=this,f=e.settings;a.add(e.id,"click",function(){if(!e.isDisabled()){if(f.onclick){f.onclick(e.value)}e.showMenu()}})}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.SplitButton:tinymce.ui.MenuButton",{SplitButton:function(g,f,e){this.parent(g,f,e);this.classPrefix="mceSplitButton"},renderHTML:function(){var i,f=this,g=f.settings,e;i="<tbody><tr>";if(g.image){e=b.createHTML("img ",{src:g.image,role:"presentation","class":"mceAction "+g["class"]})}else{e=b.createHTML("span",{"class":"mceAction "+g["class"]},"")}e+=b.createHTML("span",{"class":"mceVoiceLabel mceIconOnly",id:f.id+"_voice",style:"display:none;"},g.title);i+="<td >"+b.createHTML("a",{role:"button",id:f.id+"_action",tabindex:"-1",href:"javascript:;","class":"mceAction "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"</td>";e=b.createHTML("span",{"class":"mceOpen "+g["class"]},'<span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span>');i+="<td >"+b.createHTML("a",{role:"button",id:f.id+"_open",tabindex:"-1",href:"javascript:;","class":"mceOpen "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"</td>";i+="</tr></tbody>";i=b.createHTML("table",{id:f.id,role:"presentation",tabindex:"0","class":"mceSplitButton mceSplitButtonEnabled "+g["class"],cellpadding:"0",cellspacing:"0",title:g.title},i);return b.createHTML("span",{role:"button","aria-labelledby":f.id+"_voice","aria-haspopup":"true"},i)},postRender:function(){var e=this,g=e.settings,f;if(g.onclick){f=function(h){if(!e.isDisabled()){g.onclick(e.value);a.cancel(h)}};a.add(e.id+"_action","click",f);a.add(e.id,["click","keydown"],function(h){var k=32,m=14,i=13,j=38,l=40;if((h.keyCode===32||h.keyCode===13||h.keyCode===14)&&!h.altKey&&!h.ctrlKey&&!h.metaKey){f();a.cancel(h)}else{if(h.type==="click"||h.keyCode===l){e.showMenu();a.cancel(h)}}})}a.add(e.id+"_open","click",function(h){e.showMenu();a.cancel(h)});a.add([e.id,e.id+"_open"],"focus",function(){e._focused=1});a.add([e.id,e.id+"_open"],"blur",function(){e._focused=0});if(c.isIE6||!b.boxModel){a.add(e.id,"mouseover",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.addClass(e.id,"mceSplitButtonHover")}});a.add(e.id,"mouseout",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.removeClass(e.id,"mceSplitButtonHover")}})}},destroy:function(){this.parent();a.clear(this.id+"_action");a.clear(this.id+"_open");a.clear(this.id)}})})(tinymce);(function(d){var c=d.DOM,a=d.dom.Event,b=d.is,e=d.each;d.create("tinymce.ui.ColorSplitButton:tinymce.ui.SplitButton",{ColorSplitButton:function(i,h,f){var g=this;g.parent(i,h,f);g.settings=h=d.extend({colors:"000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",grid_width:8,default_color:"#888888"},g.settings);g.onShowMenu=new d.util.Dispatcher(g);g.onHideMenu=new d.util.Dispatcher(g);g.value=h.default_color},showMenu:function(){var f=this,g,j,i,h;if(f.isDisabled()){return}if(!f.isMenuRendered){f.renderMenu();f.isMenuRendered=true}if(f.isMenuVisible){return f.hideMenu()}i=c.get(f.id);c.show(f.id+"_menu");c.addClass(i,"mceSplitButtonSelected");h=c.getPos(i);c.setStyles(f.id+"_menu",{left:h.x,top:h.y+i.clientHeight,zIndex:200000});i=0;a.add(c.doc,"mousedown",f.hideMenu,f);f.onShowMenu.dispatch(f);if(f._focused){f._keyHandler=a.add(f.id+"_menu","keydown",function(k){if(k.keyCode==27){f.hideMenu()}});c.select("a",f.id+"_menu")[0].focus()}f.isMenuVisible=1},hideMenu:function(g){var f=this;if(f.isMenuVisible){if(g&&g.type=="mousedown"&&c.getParent(g.target,function(h){return h.id===f.id+"_open"})){return}if(!g||!c.getParent(g.target,".mceSplitButtonMenu")){c.removeClass(f.id,"mceSplitButtonSelected");a.remove(c.doc,"mousedown",f.hideMenu,f);a.remove(f.id+"_menu","keydown",f._keyHandler);c.hide(f.id+"_menu")}f.isMenuVisible=0}},renderMenu:function(){var p=this,h,k=0,q=p.settings,g,j,l,o,f;o=c.add(q.menu_container,"div",{role:"listbox",id:p.id+"_menu","class":q.menu_class+" "+q["class"],style:"position:absolute;left:0;top:-1000px;"});h=c.add(o,"div",{"class":q["class"]+" mceSplitButtonMenu"});c.add(h,"span",{"class":"mceMenuLine"});g=c.add(h,"table",{role:"presentation","class":"mceColorSplitMenu"});j=c.add(g,"tbody");k=0;e(b(q.colors,"array")?q.colors:q.colors.split(","),function(i){i=i.replace(/^#/,"");if(!k--){l=c.add(j,"tr");k=q.grid_width-1}g=c.add(l,"td");g=c.add(g,"a",{role:"option",href:"javascript:;",style:{backgroundColor:"#"+i},title:p.editor.getLang("colors."+i,i),"data-mce-color":"#"+i});if(p.editor.forcedHighContrastMode){g=c.add(g,"canvas",{width:16,height:16,"aria-hidden":"true"});if(g.getContext&&(f=g.getContext("2d"))){f.fillStyle="#"+i;f.fillRect(0,0,16,16)}else{c.remove(g)}}});if(q.more_colors_func){g=c.add(j,"tr");g=c.add(g,"td",{colspan:q.grid_width,"class":"mceMoreColors"});g=c.add(g,"a",{role:"option",id:p.id+"_more",href:"javascript:;",onclick:"return false;","class":"mceMoreColors"},q.more_colors_title);a.add(g,"click",function(i){q.more_colors_func.call(q.more_colors_scope||this);return a.cancel(i)})}c.addClass(h,"mceColorSplitMenu");new d.ui.KeyboardNavigation({root:p.id+"_menu",items:c.select("a",p.id+"_menu"),onCancel:function(){p.hideMenu();p.focus()}});a.add(p.id+"_menu","mousedown",function(i){return a.cancel(i)});a.add(p.id+"_menu","click",function(i){var m;i=c.getParent(i.target,"a",j);if(i&&i.nodeName.toLowerCase()=="a"&&(m=i.getAttribute("data-mce-color"))){p.setColor(m)}return a.cancel(i)});return o},setColor:function(f){this.displayColor(f);this.hideMenu();this.settings.onselect(f)},displayColor:function(g){var f=this;c.setStyle(f.id+"_preview","backgroundColor",g);f.value=g},postRender:function(){var f=this,g=f.id;f.parent();c.add(g+"_action","div",{id:g+"_preview","class":"mceColorPreview"});c.setStyle(f.id+"_preview","backgroundColor",f.value)},destroy:function(){this.parent();a.clear(this.id+"_menu");a.clear(this.id+"_more");c.remove(this.id+"_menu")}})})(tinymce);(function(b){var d=b.DOM,c=b.each,a=b.dom.Event;b.create("tinymce.ui.ToolbarGroup:tinymce.ui.Container",{renderHTML:function(){var f=this,i=[],e=f.controls,j=b.each,g=f.settings;i.push('<div id="'+f.id+'" role="group" aria-labelledby="'+f.id+'_voice">');i.push("<span role='application'>");i.push('<span id="'+f.id+'_voice" class="mceVoiceLabel" style="display:none;">'+d.encode(g.name)+"</span>");j(e,function(h){i.push(h.renderHTML())});i.push("</span>");i.push("</div>");return i.join("")},focus:function(){this.keyNav.focus()},postRender:function(){var f=this,e=[];c(f.controls,function(g){c(g.controls,function(h){if(h.id){e.push(h)}})});f.keyNav=new b.ui.KeyboardNavigation({root:f.id,items:e,onCancel:function(){f.editor.focus()},excludeFromTabOrder:!f.settings.tab_focus_toolbar})},destroy:function(){var e=this;e.parent();e.keyNav.destroy();a.clear(e.id)}})})(tinymce);(function(a){var c=a.DOM,b=a.each;a.create("tinymce.ui.Toolbar:tinymce.ui.Container",{renderHTML:function(){var m=this,f="",j,k,n=m.settings,e,d,g,l;l=m.controls;for(e=0;e<l.length;e++){k=l[e];d=l[e-1];g=l[e+1];if(e===0){j="mceToolbarStart";if(k.Button){j+=" mceToolbarStartButton"}else{if(k.SplitButton){j+=" mceToolbarStartSplitButton"}else{if(k.ListBox){j+=" mceToolbarStartListBox"}}}f+=c.createHTML("td",{"class":j},c.createHTML("span",null,"<!-- IE -->"))}if(d&&k.ListBox){if(d.Button||d.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarEnd"},c.createHTML("span",null,"<!-- IE -->"))}}if(c.stdMode){f+='<td style="position: relative">'+k.renderHTML()+"</td>"}else{f+="<td>"+k.renderHTML()+"</td>"}if(g&&k.ListBox){if(g.Button||g.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarStart"},c.createHTML("span",null,"<!-- IE -->"))}}}j="mceToolbarEnd";if(k.Button){j+=" mceToolbarEndButton"}else{if(k.SplitButton){j+=" mceToolbarEndSplitButton"}else{if(k.ListBox){j+=" mceToolbarEndListBox"}}}f+=c.createHTML("td",{"class":j},c.createHTML("span",null,"<!-- IE -->"));return c.createHTML("table",{id:m.id,"class":"mceToolbar"+(n["class"]?" "+n["class"]:""),cellpadding:"0",cellspacing:"0",align:m.settings.align||"",role:"presentation",tabindex:"-1"},"<tbody><tr>"+f+"</tr></tbody>")}})})(tinymce);(function(b){var a=b.util.Dispatcher,c=b.each;b.create("tinymce.AddOnManager",{AddOnManager:function(){var d=this;d.items=[];d.urls={};d.lookup={};d.onAdd=new a(d)},get:function(d){if(this.lookup[d]){return this.lookup[d].instance}else{return undefined}},dependencies:function(e){var d;if(this.lookup[e]){d=this.lookup[e].dependencies}return d||[]},requireLangPack:function(e){var d=b.settings;if(d&&d.language&&d.language_load!==false){b.ScriptLoader.add(this.urls[e]+"/langs/"+d.language+".js")}},add:function(f,e,d){this.items.push(e);this.lookup[f]={instance:e,dependencies:d};this.onAdd.dispatch(this,f,e);return e},createUrl:function(d,e){if(typeof e==="object"){return e}else{return{prefix:d.prefix,resource:e,suffix:d.suffix}}},addComponents:function(f,d){var e=this.urls[f];b.each(d,function(g){b.ScriptLoader.add(e+"/"+g)})},load:function(j,f,d,h){var g=this,e=f;function i(){var k=g.dependencies(j);b.each(k,function(m){var l=g.createUrl(f,m);g.load(l.resource,l,undefined,undefined)});if(d){if(h){d.call(h)}else{d.call(b.ScriptLoader)}}}if(g.urls[j]){return}if(typeof f==="object"){e=f.prefix+f.resource+f.suffix}if(e.indexOf("/")!=0&&e.indexOf("://")==-1){e=b.baseURL+"/"+e}g.urls[j]=e.substring(0,e.lastIndexOf("/"));if(g.lookup[j]){i()}else{b.ScriptLoader.add(e,i,h)}}});b.PluginManager=new b.AddOnManager();b.ThemeManager=new b.AddOnManager()}(tinymce));(function(j){var g=j.each,d=j.extend,k=j.DOM,i=j.dom.Event,f=j.ThemeManager,b=j.PluginManager,e=j.explode,h=j.util.Dispatcher,a,c=0;j.documentBaseURL=window.location.href.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,"");if(!/[\/\\]$/.test(j.documentBaseURL)){j.documentBaseURL+="/"}j.baseURL=new j.util.URI(j.documentBaseURL).toAbsolute(j.baseURL);j.baseURI=new j.util.URI(j.baseURL);j.onBeforeUnload=new h(j);i.add(window,"beforeunload",function(l){j.onBeforeUnload.dispatch(j,l)});j.onAddEditor=new h(j);j.onRemoveEditor=new h(j);j.EditorManager=d(j,{editors:[],i18n:{},activeEditor:null,init:function(q){var n=this,p,l=j.ScriptLoader,u,o=[],m;function r(x,y,t){var v=x[y];if(!v){return}if(j.is(v,"string")){t=v.replace(/\.\w+$/,"");t=t?j.resolve(t):0;v=j.resolve(v)}return v.apply(t||this,Array.prototype.slice.call(arguments,2))}q=d({theme:"simple",language:"en"},q);n.settings=q;i.add(document,"init",function(){var s,v;r(q,"onpageload");switch(q.mode){case"exact":s=q.elements||"";if(s.length>0){g(e(s),function(x){if(k.get(x)){m=new j.Editor(x,q);o.push(m);m.render(1)}else{g(document.forms,function(y){g(y.elements,function(z){if(z.name===x){x="mce_editor_"+c++;k.setAttrib(z,"id",x);m=new j.Editor(x,q);o.push(m);m.render(1)}})})}})}break;case"textareas":case"specific_textareas":function t(y,x){return x.constructor===RegExp?x.test(y.className):k.hasClass(y,x)}g(k.select("textarea"),function(x){if(q.editor_deselector&&t(x,q.editor_deselector)){return}if(!q.editor_selector||t(x,q.editor_selector)){u=k.get(x.name);if(!x.id&&!u){x.id=x.name}if(!x.id||n.get(x.id)){x.id=k.uniqueId()}m=new j.Editor(x.id,q);o.push(m);m.render(1)}});break}if(q.oninit){s=v=0;g(o,function(x){v++;if(!x.initialized){x.onInit.add(function(){s++;if(s==v){r(q,"oninit")}})}else{s++}if(s==v){r(q,"oninit")}})}})},get:function(l){if(l===a){return this.editors}return this.editors[l]},getInstanceById:function(l){return this.get(l)},add:function(m){var l=this,n=l.editors;n[m.id]=m;n.push(m);l._setActive(m);l.onAddEditor.dispatch(l,m);return m},remove:function(n){var m=this,l,o=m.editors;if(!o[n.id]){return null}delete o[n.id];for(l=0;l<o.length;l++){if(o[l]==n){o.splice(l,1);break}}if(m.activeEditor==n){m._setActive(o[0])}n.destroy();m.onRemoveEditor.dispatch(m,n);return n},execCommand:function(r,p,o){var q=this,n=q.get(o),l;switch(r){case"mceFocus":n.focus();return true;case"mceAddEditor":case"mceAddControl":if(!q.get(o)){new j.Editor(o,q.settings).render()}return true;case"mceAddFrameControl":l=o.window;l.tinyMCE=tinyMCE;l.tinymce=j;j.DOM.doc=l.document;j.DOM.win=l;n=new j.Editor(o.element_id,o);n.render();if(j.isIE){function m(){n.destroy();l.detachEvent("onunload",m);l=l.tinyMCE=l.tinymce=null}l.attachEvent("onunload",m)}o.page_window=null;return true;case"mceRemoveEditor":case"mceRemoveControl":if(n){n.remove()}return true;case"mceToggleEditor":if(!n){q.execCommand("mceAddControl",0,o);return true}if(n.isHidden()){n.show()}else{n.hide()}return true}if(q.activeEditor){return q.activeEditor.execCommand(r,p,o)}return false},execInstanceCommand:function(p,o,n,m){var l=this.get(p);if(l){return l.execCommand(o,n,m)}return false},triggerSave:function(){g(this.editors,function(l){l.save()})},addI18n:function(n,q){var l,m=this.i18n;if(!j.is(n,"string")){g(n,function(r,p){g(r,function(t,s){g(t,function(v,u){if(s==="common"){m[p+"."+u]=v}else{m[p+"."+s+"."+u]=v}})})})}else{g(q,function(r,p){m[n+"."+p]=r})}},_setActive:function(l){this.selectedInstance=this.activeEditor=l}})})(tinymce);(function(m){var n=m.DOM,j=m.dom.Event,f=m.extend,k=m.util.Dispatcher,i=m.each,a=m.isGecko,b=m.isIE,e=m.isWebKit,d=m.is,h=m.ThemeManager,c=m.PluginManager,o=m.inArray,l=m.grep,g=m.explode;m.create("tinymce.Editor",{Editor:function(r,q){var p=this;p.id=p.editorId=r;p.execCommands={};p.queryStateCommands={};p.queryValueCommands={};p.isNotDirty=false;p.plugins={};i(["onPreInit","onBeforeRenderUI","onPostRender","onInit","onRemove","onActivate","onDeactivate","onClick","onEvent","onMouseUp","onMouseDown","onDblClick","onKeyDown","onKeyUp","onKeyPress","onContextMenu","onSubmit","onReset","onPaste","onPreProcess","onPostProcess","onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent","onLoadContent","onSaveContent","onNodeChange","onChange","onBeforeExecCommand","onExecCommand","onUndo","onRedo","onVisualAid","onSetProgressState"],function(s){p[s]=new k(p)});p.settings=q=f({id:r,language:"en",docs_language:"en",theme:"simple",skin:"default",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:m.documentBaseURL,add_form_submit_trigger:1,submit_patch:1,add_unload_trigger:1,convert_urls:1,relative_urls:1,remove_script_host:1,table_inline_editing:0,object_resizing:1,cleanup:1,accessibility_focus:1,custom_shortcuts:1,custom_undo_redo_keyboard_shortcuts:1,custom_undo_redo_restore_selection:1,custom_undo_redo:1,doctype:m.isIE6?'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">':"<!DOCTYPE>",visual_table_class:"mceItemTable",visual:1,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",apply_source_formatting:1,directionality:"ltr",forced_root_block:"p",hidden_input:1,padd_empty_editor:1,render_ui:1,init_theme:1,force_p_newlines:1,indentation:"30px",keep_styles:1,fix_table_elements:1,inline_styles:1,convert_fonts_to_spans:true,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr",validate:true,entity_encoding:"named",url_converter:p.convertURL,url_converter_scope:p,ie7_compat:true},q);p.documentBaseURI=new m.util.URI(q.document_base_url||m.documentBaseURL,{base_uri:tinyMCE.baseURI});p.baseURI=m.baseURI;p.contentCSS=[];p.execCallback("setup",p)},render:function(r){var u=this,v=u.settings,x=u.id,p=m.ScriptLoader;if(!j.domLoaded){j.add(document,"init",function(){u.render()});return}tinyMCE.settings=v;if(!u.getElement()){return}if(m.isIDevice&&!m.isIOS5){return}if(!/TEXTAREA|INPUT/i.test(u.getElement().nodeName)&&v.hidden_input&&n.getParent(x,"form")){n.insertAfter(n.create("input",{type:"hidden",name:x}),x)}if(m.WindowManager){u.windowManager=new m.WindowManager(u)}if(v.encoding=="xml"){u.onGetContent.add(function(s,t){if(t.save){t.content=n.encode(t.content)}})}if(v.add_form_submit_trigger){u.onSubmit.addToTop(function(){if(u.initialized){u.save();u.isNotDirty=1}})}if(v.add_unload_trigger){u._beforeUnload=tinyMCE.onBeforeUnload.add(function(){if(u.initialized&&!u.destroyed&&!u.isHidden()){u.save({format:"raw",no_events:true})}})}m.addUnload(u.destroy,u);if(v.submit_patch){u.onBeforeRenderUI.add(function(){var s=u.getElement().form;if(!s){return}if(s._mceOldSubmit){return}if(!s.submit.nodeType&&!s.submit.length){u.formElement=s;s._mceOldSubmit=s.submit;s.submit=function(){m.triggerSave();u.isNotDirty=1;return u.formElement._mceOldSubmit(u.formElement)}}s=null})}function q(){if(v.language&&v.language_load!==false){p.add(m.baseURL+"/langs/"+v.language+".js")}if(v.theme&&v.theme.charAt(0)!="-"&&!h.urls[v.theme]){h.load(v.theme,"themes/"+v.theme+"/editor_template"+m.suffix+".js")}i(g(v.plugins),function(t){if(t&&!c.urls[t]){if(t.charAt(0)=="-"){t=t.substr(1,t.length);var s=c.dependencies(t);i(s,function(z){var y={prefix:"plugins/",resource:z,suffix:"/editor_plugin"+m.suffix+".js"};var z=c.createUrl(y,z);c.load(z.resource,z)})}else{if(t=="safari"){return}c.load(t,{prefix:"plugins/",resource:t,suffix:"/editor_plugin"+m.suffix+".js"})}}});p.loadQueue(function(){if(!u.removed){u.init()}})}q()},init:function(){var r,H=this,I=H.settings,E,A,D=H.getElement(),q,p,F,y,C,G,z,v=[];m.add(H);I.aria_label=I.aria_label||n.getAttrib(D,"aria-label",H.getLang("aria.rich_text_area"));if(I.theme){I.theme=I.theme.replace(/-/,"");q=h.get(I.theme);H.theme=new q();if(H.theme.init&&I.init_theme){H.theme.init(H,h.urls[I.theme]||m.documentBaseURL.replace(/\/$/,""))}}function B(J){var K=c.get(J),t=c.urls[J]||m.documentBaseURL.replace(/\/$/,""),s;if(K&&m.inArray(v,J)===-1){i(c.dependencies(J),function(u){B(u)});s=new K(H,t);H.plugins[J]=s;if(s.init){s.init(H,t);v.push(J)}}}i(g(I.plugins.replace(/\-/g,"")),B);if(I.popup_css!==false){if(I.popup_css){I.popup_css=H.documentBaseURI.toAbsolute(I.popup_css)}else{I.popup_css=H.baseURI.toAbsolute("themes/"+I.theme+"/skins/"+I.skin+"/dialog.css")}}if(I.popup_css_add){I.popup_css+=","+H.documentBaseURI.toAbsolute(I.popup_css_add)}H.controlManager=new m.ControlManager(H);if(I.custom_undo_redo){H.onBeforeExecCommand.add(function(t,J,u,K,s){if(J!="Undo"&&J!="Redo"&&J!="mceRepaint"&&(!s||!s.skip_undo)){H.undoManager.beforeChange()}});H.onExecCommand.add(function(t,J,u,K,s){if(J!="Undo"&&J!="Redo"&&J!="mceRepaint"&&(!s||!s.skip_undo)){H.undoManager.add()}})}H.onExecCommand.add(function(s,t){if(!/^(FontName|FontSize)$/.test(t)){H.nodeChanged()}});if(a){function x(s,t){if(!t||!t.initial){H.execCommand("mceRepaint")}}H.onUndo.add(x);H.onRedo.add(x);H.onSetContent.add(x)}H.onBeforeRenderUI.dispatch(H,H.controlManager);if(I.render_ui){E=I.width||D.style.width||D.offsetWidth;A=I.height||D.style.height||D.offsetHeight;H.orgDisplay=D.style.display;G=/^[0-9\.]+(|px)$/i;if(G.test(""+E)){E=Math.max(parseInt(E)+(q.deltaWidth||0),100)}if(G.test(""+A)){A=Math.max(parseInt(A)+(q.deltaHeight||0),100)}q=H.theme.renderUI({targetNode:D,width:E,height:A,deltaWidth:I.delta_width,deltaHeight:I.delta_height});H.editorContainer=q.editorContainer}if(document.domain&&location.hostname!=document.domain){m.relaxedDomain=document.domain}n.setStyles(q.sizeContainer||q.editorContainer,{width:E,height:A});if(I.content_css){m.each(g(I.content_css),function(s){H.contentCSS.push(H.documentBaseURI.toAbsolute(s))})}A=(q.iframeHeight||A)+(typeof(A)=="number"?(q.deltaHeight||0):"");if(A<100){A=100}H.iframeHTML=I.doctype+'<html><head xmlns="http://www.w3.org/1999/xhtml">';if(I.document_base_url!=m.documentBaseURL){H.iframeHTML+='<base href="'+H.documentBaseURI.getURI()+'" />'}if(I.ie7_compat){H.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" />'}else{H.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=edge" />'}H.iframeHTML+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';if(!a||!/Firefox\/2/.test(navigator.userAgent)){for(z=0;z<H.contentCSS.length;z++){H.iframeHTML+='<link type="text/css" rel="stylesheet" href="'+H.contentCSS[z]+'" />'}H.contentCSS=[]}y=I.body_id||"tinymce";if(y.indexOf("=")!=-1){y=H.getParam("body_id","","hash");y=y[H.id]||y}C=I.body_class||"";if(C.indexOf("=")!=-1){C=H.getParam("body_class","","hash");C=C[H.id]||""}H.iframeHTML+='</head><body id="'+y+'" class="mceContentBody '+C+'"></body></html>';if(m.relaxedDomain&&(b||(m.isOpera&&parseFloat(opera.version())<11))){F='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinyMCE.get("'+H.id+'");document.write(ed.iframeHTML);document.close();ed.setupIframe();})()'}r=n.add(q.iframeContainer,"iframe",{id:H.id+"_ifr",src:F||'javascript:""',frameBorder:"0",allowTransparency:"true",title:I.aria_label,style:{width:"100%",height:A}});H.contentAreaContainer=q.iframeContainer;n.get(q.editorContainer).style.display=H.orgDisplay;n.get(H.id).style.display="none";n.setAttrib(H.id,"aria-hidden",true);if(!m.relaxedDomain||!F){H.setupIframe()}D=r=q=null},setupIframe:function(x){var q=this,v=q.settings,y=n.get(q.id),z=q.getDoc(),u,p;if((!b||!m.relaxedDomain)&&!x){if(a&&!v.readonly){q.getWin().addEventListener("DOMContentLoaded",function(){window.setTimeout(function(){var s=q.getBody(),t;s.innerHTML="<br>";if(s.contentEditable!==t){s.contentEditable=false;s.contentEditable=true;q.onMouseDown.add(function(A,B){if(B.target.nodeName==="HTML"){s.contentEditable=false;s.contentEditable=true;z.designMode="on";window.setTimeout(function(){z.designMode="off";q.getBody().focus()},1)}})}else{z.designMode="on"}q.setupIframe(true)},1)},false)}z.open();z.write(q.iframeHTML);z.close();if(m.relaxedDomain){z.domain=m.relaxedDomain}if(a&&!v.readonly){return}}p=q.getBody();p.disabled=true;if(!a&&!v.readonly){p.contentEditable=true}p.disabled=false;q.schema=new m.html.Schema(v);q.dom=new m.dom.DOMUtils(q.getDoc(),{keep_values:true,url_converter:q.convertURL,url_converter_scope:q,hex_colors:v.force_hex_style_colors,class_filter:v.class_filter,update_styles:1,fix_ie_paragraphs:1,schema:q.schema});q.parser=new m.html.DomParser(v,q.schema);if(!q.settings.allow_html_in_named_anchor){q.parser.addAttributeFilter("name",function(s,t){var B=s.length,D,A,C,E;while(B--){E=s[B];if(E.name==="a"&&E.firstChild){C=E.parent;D=E.lastChild;do{A=D.prev;C.insert(D,E);D=A}while(D)}}})}q.parser.addAttributeFilter("src,href,style",function(s,t){var A=s.length,C,E=q.dom,D,B;while(A--){C=s[A];D=C.attr(t);B="data-mce-"+t;if(!C.attributes.map[B]){if(t==="style"){C.attr(B,E.serializeStyle(E.parseStyle(D),C.name))}else{C.attr(B,q.convertURL(D,t,C.name))}}}});q.parser.addNodeFilter("script",function(s,t){var A=s.length;while(A--){s[A].attr("type","mce-text/javascript")}});q.parser.addNodeFilter("#cdata",function(s,t){var A=s.length,B;while(A--){B=s[A];B.type=8;B.name="#comment";B.value="[CDATA["+B.value+"]]"}});q.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(t,A){var B=t.length,C,s=q.schema.getNonEmptyElements();while(B--){C=t[B];if(C.isEmpty(s)){C.empty().append(new m.html.Node("br",1)).shortEnded=true}}});q.serializer=new m.dom.Serializer(v,q.dom,q.schema);q.selection=new m.dom.Selection(q.dom,q.getWin(),q.serializer);q.formatter=new m.Formatter(this);q.formatter.register({alignleft:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"left"}},{selector:"img,table",collapsed:false,styles:{"float":"left"}}],aligncenter:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"center"}},{selector:"img",collapsed:false,styles:{display:"block",marginLeft:"auto",marginRight:"auto"}},{selector:"table",collapsed:false,styles:{marginLeft:"auto",marginRight:"auto"}}],alignright:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"right"}},{selector:"img,table",collapsed:false,styles:{"float":"right"}}],alignfull:[{selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",styles:{textAlign:"justify"}}],bold:[{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b",remove:"all"}],italic:[{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i",remove:"all"}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:true},{inline:"u",remove:"all"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:true},{inline:"strike",remove:"all"}],forecolor:{inline:"span",styles:{color:"%value"},wrap_links:false},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},wrap_links:false},fontname:{inline:"span",styles:{fontFamily:"%value"}},fontsize:{inline:"span",styles:{fontSize:"%value"}},fontsize_class:{inline:"span",attributes:{"class":"%value"}},blockquote:{block:"blockquote",wrapper:1,remove:"all"},subscript:{inline:"sub"},superscript:{inline:"sup"},removeformat:[{selector:"b,strong,em,i,font,u,strike",remove:"all",split:true,expand:false,block_expand:true,deep:true},{selector:"span",attributes:["style","class"],remove:"empty",split:true,expand:false,deep:true},{selector:"*",attributes:["style","class"],split:false,expand:false,deep:true}]});i("p h1 h2 h3 h4 h5 h6 div address pre div code dt dd samp".split(/\s/),function(s){q.formatter.register(s,{block:s,remove:"all"})});q.formatter.register(q.settings.formats);q.undoManager=new m.UndoManager(q);q.undoManager.onAdd.add(function(t,s){if(t.hasUndo()){return q.onChange.dispatch(q,s,t)}});q.undoManager.onUndo.add(function(t,s){return q.onUndo.dispatch(q,s,t)});q.undoManager.onRedo.add(function(t,s){return q.onRedo.dispatch(q,s,t)});q.forceBlocks=new m.ForceBlocks(q,{forced_root_block:v.forced_root_block});q.editorCommands=new m.EditorCommands(q);q.serializer.onPreProcess.add(function(s,t){return q.onPreProcess.dispatch(q,t,s)});q.serializer.onPostProcess.add(function(s,t){return q.onPostProcess.dispatch(q,t,s)});q.onPreInit.dispatch(q);if(!v.gecko_spellcheck){q.getBody().spellcheck=0}if(!v.readonly){q._addEvents()}q.controlManager.onPostRender.dispatch(q,q.controlManager);q.onPostRender.dispatch(q);q.quirks=new m.util.Quirks(this);if(v.directionality){q.getBody().dir=v.directionality}if(v.nowrap){q.getBody().style.whiteSpace="nowrap"}if(v.handle_node_change_callback){q.onNodeChange.add(function(t,s,A){q.execCallback("handle_node_change_callback",q.id,A,-1,-1,true,q.selection.isCollapsed())})}if(v.save_callback){q.onSaveContent.add(function(s,A){var t=q.execCallback("save_callback",q.id,A.content,q.getBody());if(t){A.content=t}})}if(v.onchange_callback){q.onChange.add(function(t,s){q.execCallback("onchange_callback",q,s)})}if(v.protect){q.onBeforeSetContent.add(function(s,t){if(v.protect){i(v.protect,function(A){t.content=t.content.replace(A,function(B){return"<!--mce:protected "+escape(B)+"-->"})})}})}if(v.convert_newlines_to_brs){q.onBeforeSetContent.add(function(s,t){if(t.initial){t.content=t.content.replace(/\r?\n/g,"<br />")}})}if(v.preformatted){q.onPostProcess.add(function(s,t){t.content=t.content.replace(/^\s*<pre.*?>/,"");t.content=t.content.replace(/<\/pre>\s*$/,"");if(t.set){t.content='<pre class="mceItemHidden">'+t.content+"</pre>"}})}if(v.verify_css_classes){q.serializer.attribValueFilter=function(C,A){var B,t;if(C=="class"){if(!q.classesRE){t=q.dom.getClasses();if(t.length>0){B="";i(t,function(s){B+=(B?"|":"")+s["class"]});q.classesRE=new RegExp("("+B+")","gi")}}return !q.classesRE||/(\bmceItem\w+\b|\bmceTemp\w+\b)/g.test(A)||q.classesRE.test(A)?A:""}return A}}if(v.cleanup_callback){q.onBeforeSetContent.add(function(s,t){t.content=q.execCallback("cleanup_callback","insert_to_editor",t.content,t)});q.onPreProcess.add(function(s,t){if(t.set){q.execCallback("cleanup_callback","insert_to_editor_dom",t.node,t)}if(t.get){q.execCallback("cleanup_callback","get_from_editor_dom",t.node,t)}});q.onPostProcess.add(function(s,t){if(t.set){t.content=q.execCallback("cleanup_callback","insert_to_editor",t.content,t)}if(t.get){t.content=q.execCallback("cleanup_callback","get_from_editor",t.content,t)}})}if(v.save_callback){q.onGetContent.add(function(s,t){if(t.save){t.content=q.execCallback("save_callback",q.id,t.content,q.getBody())}})}if(v.handle_event_callback){q.onEvent.add(function(s,t,A){if(q.execCallback("handle_event_callback",t,s,A)===false){j.cancel(t)}})}q.onSetContent.add(function(){q.addVisual(q.getBody())});if(v.padd_empty_editor){q.onPostProcess.add(function(s,t){t.content=t.content.replace(/^(<p[^>]*>( | |\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")})}if(a){function r(s,t){i(s.dom.select("a"),function(B){var A=B.parentNode;if(s.dom.isBlock(A)&&A.lastChild===B){s.dom.add(A,"br",{"data-mce-bogus":1})}})}q.onExecCommand.add(function(s,t){if(t==="CreateLink"){r(s)}});q.onSetContent.add(q.selection.onSetContent.add(r))}q.load({initial:true,format:"html"});q.startContent=q.getContent({format:"raw"});q.undoManager.add();q.initialized=true;q.onInit.dispatch(q);q.execCallback("setupcontent_callback",q.id,q.getBody(),q.getDoc());q.execCallback("init_instance_callback",q);q.focus(true);q.nodeChanged({initial:1});i(q.contentCSS,function(s){q.dom.loadCSS(s)});if(v.auto_focus){setTimeout(function(){var s=m.get(v.auto_focus);s.selection.select(s.getBody(),1);s.selection.collapse(1);s.getBody().focus();s.getWin().focus()},100)}y=null},focus:function(u){var y,q=this,s=q.selection,x=q.settings.content_editable,r,p,v=q.getDoc();if(!u){r=s.getRng();if(r.item){p=r.item(0)}s.normalize();if(!x){q.getWin().focus()}if(m.isGecko){q.getBody().focus()}if(p&&p.ownerDocument==v){r=v.body.createControlRange();r.addElement(p);r.select()}}if(m.activeEditor!=q){if((y=m.activeEditor)!=null){y.onDeactivate.dispatch(y,q)}q.onActivate.dispatch(q,y)}m._setActive(q)},execCallback:function(u){var p=this,r=p.settings[u],q;if(!r){return}if(p.callbackLookup&&(q=p.callbackLookup[u])){r=q.func;q=q.scope}if(d(r,"string")){q=r.replace(/\.\w+$/,"");q=q?m.resolve(q):0;r=m.resolve(r);p.callbackLookup=p.callbackLookup||{};p.callbackLookup[u]={func:r,scope:q}}return r.apply(q||p,Array.prototype.slice.call(arguments,1))},translate:function(p){var r=this.settings.language||"en",q=m.i18n;if(!p){return""}return q[r+"."+p]||p.replace(/{\#([^}]+)\}/g,function(t,s){return q[r+"."+s]||"{#"+s+"}"})},getLang:function(q,p){return m.i18n[(this.settings.language||"en")+"."+q]||(d(p)?p:"{#"+q+"}")},getParam:function(u,r,p){var s=m.trim,q=d(this.settings[u])?this.settings[u]:r,t;if(p==="hash"){t={};if(d(q,"string")){i(q.indexOf("=")>0?q.split(/[;,](?![^=;,]*(?:[;,]|$))/):q.split(","),function(x){x=x.split("=");if(x.length>1){t[s(x[0])]=s(x[1])}else{t[s(x[0])]=s(x)}})}else{t=q}return t}return q},nodeChanged:function(r){var p=this,q=p.selection,u=q.getStart()||p.getBody();if(p.initialized){r=r||{};u=b&&u.ownerDocument!=p.getDoc()?p.getBody():u;r.parents=[];p.dom.getParent(u,function(s){if(s.nodeName=="BODY"){return true}r.parents.push(s)});p.onNodeChange.dispatch(p,r?r.controlManager||p.controlManager:p.controlManager,u,q.isCollapsed(),r)}},addButton:function(r,q){var p=this;p.buttons=p.buttons||{};p.buttons[r]=q},addCommand:function(p,r,q){this.execCommands[p]={func:r,scope:q||this}},addQueryStateHandler:function(p,r,q){this.queryStateCommands[p]={func:r,scope:q||this}},addQueryValueHandler:function(p,r,q){this.queryValueCommands[p]={func:r,scope:q||this}},addShortcut:function(r,u,p,s){var q=this,v;if(!q.settings.custom_shortcuts){return false}q.shortcuts=q.shortcuts||{};if(d(p,"string")){v=p;p=function(){q.execCommand(v,false,null)}}if(d(p,"object")){v=p;p=function(){q.execCommand(v[0],v[1],v[2])}}i(g(r),function(t){var x={func:p,scope:s||this,desc:u,alt:false,ctrl:false,shift:false};i(g(t,"+"),function(y){switch(y){case"alt":case"ctrl":case"shift":x[y]=true;break;default:x.charCode=y.charCodeAt(0);x.keyCode=y.toUpperCase().charCodeAt(0)}});q.shortcuts[(x.ctrl?"ctrl":"")+","+(x.alt?"alt":"")+","+(x.shift?"shift":"")+","+x.keyCode]=x});return true},execCommand:function(x,v,z,p){var r=this,u=0,y,q;if(!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(x)&&(!p||!p.skip_focus)){r.focus()}y={};r.onBeforeExecCommand.dispatch(r,x,v,z,y);if(y.terminate){return false}if(r.execCallback("execcommand_callback",r.id,r.selection.getNode(),x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);return true}if(y=r.execCommands[x]){q=y.func.call(y.scope,v,z);if(q!==true){r.onExecCommand.dispatch(r,x,v,z,p);return q}}i(r.plugins,function(s){if(s.execCommand&&s.execCommand(x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);u=1;return false}});if(u){return true}if(r.theme&&r.theme.execCommand&&r.theme.execCommand(x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);return true}if(r.editorCommands.execCommand(x,v,z)){r.onExecCommand.dispatch(r,x,v,z,p);return true}r.getDoc().execCommand(x,v,z);r.onExecCommand.dispatch(r,x,v,z,p)},queryCommandState:function(u){var q=this,v,r;if(q._isHidden()){return}if(v=q.queryStateCommands[u]){r=v.func.call(v.scope);if(r!==true){return r}}v=q.editorCommands.queryCommandState(u);if(v!==-1){return v}try{return this.getDoc().queryCommandState(u)}catch(p){}},queryCommandValue:function(v){var q=this,u,r;if(q._isHidden()){return}if(u=q.queryValueCommands[v]){r=u.func.call(u.scope);if(r!==true){return r}}u=q.editorCommands.queryCommandValue(v);if(d(u)){return u}try{return this.getDoc().queryCommandValue(v)}catch(p){}},show:function(){var p=this;n.show(p.getContainer());n.hide(p.id);p.load()},hide:function(){var p=this,q=p.getDoc();if(b&&q){q.execCommand("SelectAll")}p.save();n.hide(p.getContainer());n.setStyle(p.id,"display",p.orgDisplay)},isHidden:function(){return !n.isHidden(this.id)},setProgressState:function(p,q,r){this.onSetProgressState.dispatch(this,p,q,r);return p},load:function(s){var p=this,r=p.getElement(),q;if(r){s=s||{};s.load=true;q=p.setContent(d(r.value)?r.value:r.innerHTML,s);s.element=r;if(!s.no_events){p.onLoadContent.dispatch(p,s)}s.element=r=null;return q}},save:function(u){var p=this,s=p.getElement(),q,r;if(!s||!p.initialized){return}u=u||{};u.save=true;if(!u.no_events){p.undoManager.typing=false;p.undoManager.add()}u.element=s;q=u.content=p.getContent(u);if(!u.no_events){p.onSaveContent.dispatch(p,u)}q=u.content;if(!/TEXTAREA|INPUT/i.test(s.nodeName)){s.innerHTML=q;if(r=n.getParent(p.id,"form")){i(r.elements,function(t){if(t.name==p.id){t.value=q;return false}})}}else{s.value=q}u.element=s=null;return q},setContent:function(u,s){var r=this,q,p=r.getBody(),t;s=s||{};s.format=s.format||"html";s.set=true;s.content=u;if(!s.no_events){r.onBeforeSetContent.dispatch(r,s)}u=s.content;if(!m.isIE&&(u.length===0||/^\s+$/.test(u))){t=r.settings.forced_root_block;if(t){u="<"+t+'><br data-mce-bogus="1"></'+t+">"}else{u='<br data-mce-bogus="1">'}p.innerHTML=u;r.selection.select(p,true);r.selection.collapse(true);return}if(s.format!=="raw"){u=new m.html.Serializer({},r.schema).serialize(r.parser.parse(u))}s.content=m.trim(u);r.dom.setHTML(p,s.content);if(!s.no_events){r.onSetContent.dispatch(r,s)}r.selection.normalize();return s.content},getContent:function(q){var p=this,r;q=q||{};q.format=q.format||"html";q.get=true;if(!q.no_events){p.onBeforeGetContent.dispatch(p,q)}if(q.format=="raw"){r=p.getBody().innerHTML}else{r=p.serializer.serialize(p.getBody(),q)}q.content=m.trim(r);if(!q.no_events){p.onGetContent.dispatch(p,q)}return q.content},isDirty:function(){var p=this;return m.trim(p.startContent)!=m.trim(p.getContent({format:"raw",no_events:1}))&&!p.isNotDirty},getContainer:function(){var p=this;if(!p.container){p.container=n.get(p.editorContainer||p.id+"_parent")}return p.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return n.get(this.settings.content_element||this.id)},getWin:function(){var p=this,q;if(!p.contentWindow){q=n.get(p.id+"_ifr");if(q){p.contentWindow=q.contentWindow}}return p.contentWindow},getDoc:function(){var q=this,p;if(!q.contentDocument){p=q.getWin();if(p){q.contentDocument=p.document}}return q.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(p,x,v){var q=this,r=q.settings;if(r.urlconverter_callback){return q.execCallback("urlconverter_callback",p,v,true,x)}if(!r.convert_urls||(v&&v.nodeName=="LINK")||p.indexOf("file:")===0){return p}if(r.relative_urls){return q.documentBaseURI.toRelative(p)}p=q.documentBaseURI.toAbsolute(p,r.remove_script_host);return p},addVisual:function(r){var p=this,q=p.settings;r=r||p.getBody();if(!d(p.hasVisual)){p.hasVisual=q.visual}i(p.dom.select("table,a",r),function(t){var s;switch(t.nodeName){case"TABLE":s=p.dom.getAttrib(t,"border");if(!s||s=="0"){if(p.hasVisual){p.dom.addClass(t,q.visual_table_class)}else{p.dom.removeClass(t,q.visual_table_class)}}return;case"A":s=p.dom.getAttrib(t,"name");if(s){if(p.hasVisual){p.dom.addClass(t,"mceItemAnchor")}else{p.dom.removeClass(t,"mceItemAnchor")}}return}});p.onVisualAid.dispatch(p,r,p.hasVisual)},remove:function(){var p=this,q=p.getContainer();p.removed=1;p.hide();p.execCallback("remove_instance_callback",p);p.onRemove.dispatch(p);p.onExecCommand.listeners=[];m.remove(p);n.remove(q)},destroy:function(q){var p=this;if(p.destroyed){return}if(!q){m.removeUnload(p.destroy);tinyMCE.onBeforeUnload.remove(p._beforeUnload);if(p.theme&&p.theme.destroy){p.theme.destroy()}p.controlManager.destroy();p.selection.destroy();p.dom.destroy();if(!p.settings.content_editable){j.clear(p.getWin());j.clear(p.getDoc())}j.clear(p.getBody());j.clear(p.formElement)}if(p.formElement){p.formElement.submit=p.formElement._mceOldSubmit;p.formElement._mceOldSubmit=null}p.contentAreaContainer=p.formElement=p.container=p.settings.content_element=p.bodyElement=p.contentDocument=p.contentWindow=null;if(p.selection){p.selection=p.selection.win=p.selection.dom=p.selection.dom.doc=null}p.destroyed=1},_addEvents:function(){var B=this,r,C=B.settings,q=B.dom,x={mouseup:"onMouseUp",mousedown:"onMouseDown",click:"onClick",keyup:"onKeyUp",keydown:"onKeyDown",keypress:"onKeyPress",submit:"onSubmit",reset:"onReset",contextmenu:"onContextMenu",dblclick:"onDblClick",paste:"onPaste"};function p(t,D){var s=t.type;if(B.removed){return}if(B.onEvent.dispatch(B,t,D)!==false){B[x[t.fakeType||t.type]].dispatch(B,t,D)}}i(x,function(t,s){switch(s){case"contextmenu":q.bind(B.getDoc(),s,p);break;case"paste":q.bind(B.getBody(),s,function(D){p(D)});break;case"submit":case"reset":q.bind(B.getElement().form||n.getParent(B.id,"form"),s,p);break;default:q.bind(C.content_editable?B.getBody():B.getDoc(),s,p)}});q.bind(C.content_editable?B.getBody():(a?B.getDoc():B.getWin()),"focus",function(s){B.focus(true)});if(m.isGecko){q.bind(B.getDoc(),"DOMNodeInserted",function(t){var s;t=t.target;if(t.nodeType===1&&t.nodeName==="IMG"&&(s=t.getAttribute("data-mce-src"))){t.src=B.documentBaseURI.toAbsolute(s)}})}if(a){function u(){var E=this,G=E.getDoc(),F=E.settings;if(a&&!F.readonly){if(E._isHidden()){try{if(!F.content_editable){G.body.contentEditable=false;G.body.contentEditable=true}}catch(D){}}try{G.execCommand("styleWithCSS",0,false)}catch(D){if(!E._isHidden()){try{G.execCommand("useCSS",0,true)}catch(D){}}}if(!F.table_inline_editing){try{G.execCommand("enableInlineTableEditing",false,false)}catch(D){}}if(!F.object_resizing){try{G.execCommand("enableObjectResizing",false,false)}catch(D){}}}}B.onBeforeExecCommand.add(u);B.onMouseDown.add(u)}B.onClick.add(function(s,t){t=t.target;if(m.isWebKit&&t.nodeName=="IMG"){B.selection.getSel().setBaseAndExtent(t,0,t,1)}if(t.nodeName=="A"&&q.hasClass(t,"mceItemAnchor")){B.selection.select(t)}B.nodeChanged()});B.onMouseUp.add(B.nodeChanged);B.onKeyUp.add(function(s,t){var D=t.keyCode;if((D>=33&&D<=36)||(D>=37&&D<=40)||D==13||D==45||D==46||D==8||(m.isMac&&(D==91||D==93))||t.ctrlKey){B.nodeChanged()}});B.onKeyDown.add(function(t,D){if(D.keyCode!=8){return}var F=t.selection.getRng().startContainer;var E=t.selection.getRng().startOffset;while(F&&F.nodeType&&F.nodeType!=1&&F.parentNode){F=F.parentNode}if(F&&F.parentNode&&F.parentNode.tagName==="BLOCKQUOTE"&&F.parentNode.firstChild==F&&E==0){t.formatter.toggle("blockquote",null,F.parentNode);var s=t.selection.getRng();s.setStart(F,0);s.setEnd(F,0);t.selection.setRng(s);t.selection.collapse(false)}});B.onReset.add(function(){B.setContent(B.startContent,{format:"raw"})});if(C.custom_shortcuts){if(C.custom_undo_redo_keyboard_shortcuts){B.addShortcut("ctrl+z",B.getLang("undo_desc"),"Undo");B.addShortcut("ctrl+y",B.getLang("redo_desc"),"Redo")}B.addShortcut("ctrl+b",B.getLang("bold_desc"),"Bold");B.addShortcut("ctrl+i",B.getLang("italic_desc"),"Italic");B.addShortcut("ctrl+u",B.getLang("underline_desc"),"Underline");for(r=1;r<=6;r++){B.addShortcut("ctrl+"+r,"",["FormatBlock",false,"h"+r])}B.addShortcut("ctrl+7","",["FormatBlock",false,"p"]);B.addShortcut("ctrl+8","",["FormatBlock",false,"div"]);B.addShortcut("ctrl+9","",["FormatBlock",false,"address"]);function v(t){var s=null;if(!t.altKey&&!t.ctrlKey&&!t.metaKey){return s}i(B.shortcuts,function(D){if(m.isMac&&D.ctrl!=t.metaKey){return}else{if(!m.isMac&&D.ctrl!=t.ctrlKey){return}}if(D.alt!=t.altKey){return}if(D.shift!=t.shiftKey){return}if(t.keyCode==D.keyCode||(t.charCode&&t.charCode==D.charCode)){s=D;return false}});return s}B.onKeyUp.add(function(s,t){var D=v(t);if(D){return j.cancel(t)}});B.onKeyPress.add(function(s,t){var D=v(t);if(D){return j.cancel(t)}});B.onKeyDown.add(function(s,t){var D=v(t);if(D){D.func.call(D.scope);return j.cancel(t)}})}if(m.isIE){q.bind(B.getDoc(),"controlselect",function(D){var t=B.resizeInfo,s;D=D.target;if(D.nodeName!=="IMG"){return}if(t){q.unbind(t.node,t.ev,t.cb)}if(!q.hasClass(D,"mceItemNoResize")){ev="resizeend";s=q.bind(D,ev,function(F){var E;F=F.target;if(E=q.getStyle(F,"width")){q.setAttrib(F,"width",E.replace(/[^0-9%]+/g,""));q.setStyle(F,"width","")}if(E=q.getStyle(F,"height")){q.setAttrib(F,"height",E.replace(/[^0-9%]+/g,""));q.setStyle(F,"height","")}})}else{ev="resizestart";s=q.bind(D,"resizestart",j.cancel,j)}t=B.resizeInfo={node:D,ev:ev,cb:s}})}if(m.isOpera){B.onClick.add(function(s,t){j.prevent(t)})}if(C.custom_undo_redo){function y(){B.undoManager.typing=false;B.undoManager.add()}q.bind(B.getDoc(),"focusout",function(s){if(!B.removed&&B.undoManager.typing){y()}});B.dom.bind(B.dom.getRoot(),"dragend",function(s){y()});B.onKeyUp.add(function(s,D){var t=D.keyCode;if((t>=33&&t<=36)||(t>=37&&t<=40)||t==13||t==45||D.ctrlKey){y()}});B.onKeyDown.add(function(s,E){var D=E.keyCode,t;if(D==8){t=B.getDoc().selection;if(t&&t.createRange&&t.createRange().item){B.undoManager.beforeChange();s.dom.remove(t.createRange().item(0));y();return j.cancel(E)}}if((D>=33&&D<=36)||(D>=37&&D<=40)||D==13||D==45){if(m.isIE&&D==13){B.undoManager.beforeChange()}if(B.undoManager.typing){y()}return}if((D<16||D>20)&&D!=224&&D!=91&&!B.undoManager.typing){B.undoManager.beforeChange();B.undoManager.typing=true;B.undoManager.add()}});B.onMouseDown.add(function(){if(B.undoManager.typing){y()}})}if(m.isWebKit){q.bind(B.getDoc(),"selectionchange",function(){if(B.selectionTimer){window.clearTimeout(B.selectionTimer);B.selectionTimer=0}B.selectionTimer=window.setTimeout(function(){B.nodeChanged()},50)})}if(m.isGecko){function A(){var s=B.dom.getAttribs(B.selection.getStart().cloneNode(false));return function(){var t=B.selection.getStart();if(t!==B.getBody()){B.dom.removeAllAttribs(t);i(s,function(D){t.setAttributeNode(D.cloneNode(true))})}}}function z(){var t=B.selection;return !t.isCollapsed()&&t.getStart()!=t.getEnd()}B.onKeyPress.add(function(s,D){var t;if((D.keyCode==8||D.keyCode==46)&&z()){t=A();B.getDoc().execCommand("delete",false,null);t();return j.cancel(D)}});B.dom.bind(B.getDoc(),"cut",function(t){var s;if(z()){s=A();B.onKeyUp.addToTop(j.cancel,j);setTimeout(function(){s();B.onKeyUp.remove(j.cancel,j)},0)}})}},_isHidden:function(){var p;if(!a){return 0}p=this.selection.getSel();return(!p||!p.rangeCount||p.rangeCount==0)}})})(tinymce);(function(c){var d=c.each,e,a=true,b=false;c.EditorCommands=function(n){var l=n.dom,p=n.selection,j={state:{},exec:{},value:{}},k=n.settings,o;function q(y,x,v){var u;y=y.toLowerCase();if(u=j.exec[y]){u(y,x,v);return a}return b}function m(v){var u;v=v.toLowerCase();if(u=j.state[v]){return u(v)}return -1}function h(v){var u;v=v.toLowerCase();if(u=j.value[v]){return u(v)}return b}function t(u,v){v=v||"exec";d(u,function(y,x){d(x.toLowerCase().split(","),function(z){j[v][z]=y})})}c.extend(this,{execCommand:q,queryCommandState:m,queryCommandValue:h,addCommands:t});function f(x,v,u){if(v===e){v=b}if(u===e){u=null}return n.getDoc().execCommand(x,v,u)}function s(u){return n.formatter.match(u)}function r(u,v){n.formatter.toggle(u,v?{value:v}:e)}function i(u){o=p.getBookmark(u)}function g(){p.moveToBookmark(o)}t({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){n.undoManager.add()},"Cut,Copy,Paste":function(y){var x=n.getDoc(),u;try{f(y)}catch(v){u=a}if(u||!x.queryCommandSupported(y)){if(c.isGecko){n.windowManager.confirm(n.getLang("clipboard_msg"),function(z){if(z){open("http://www.mozilla.org/editor/midasdemo/securityprefs.html","_blank")}})}else{n.windowManager.alert(n.getLang("clipboard_no_support"))}}},unlink:function(u){if(p.isCollapsed()){p.select(p.getNode())}f(u);p.collapse(b)},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(u){var v=u.substring(7);d("left,center,right,full".split(","),function(x){if(v!=x){n.formatter.remove("align"+x)}});r("align"+v);q("mceRepaint")},"InsertUnorderedList,InsertOrderedList":function(x){var u,v;f(x);u=l.getParent(p.getNode(),"ol,ul");if(u){v=u.parentNode;if(/^(H[1-6]|P|ADDRESS|PRE)$/.test(v.nodeName)){i();l.split(v,u);g()}}},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(u){r(u)},"ForeColor,HiliteColor,FontName":function(x,v,u){r(x,u)},FontSize:function(y,x,v){var u,z;if(v>=1&&v<=7){z=c.explode(k.font_size_style_values);u=c.explode(k.font_size_classes);if(u){v=u[v-1]||v}else{v=z[v-1]||v}}r(y,v)},RemoveFormat:function(u){n.formatter.remove(u)},mceBlockQuote:function(u){r("blockquote")},FormatBlock:function(x,v,u){return r(u||"p")},mceCleanup:function(){var u=p.getBookmark();n.setContent(n.getContent({cleanup:a}),{cleanup:a});p.moveToBookmark(u)},mceRemoveNode:function(y,x,v){var u=v||p.getNode();if(u!=n.getBody()){i();n.dom.remove(u,a);g()}},mceSelectNodeDepth:function(y,x,v){var u=0;l.getParent(p.getNode(),function(z){if(z.nodeType==1&&u++==v){p.select(z);return b}},n.getBody())},mceSelectNode:function(x,v,u){p.select(u)},mceInsertContent:function(A,H,J){var x,I,D,y,E,F,C,B,K,v,z,L,u,G;x=n.parser;I=new c.html.Serializer({},n.schema);u='<span id="mce_marker" data-mce-type="bookmark">\uFEFF</span>';F={content:J,format:"html"};p.onBeforeSetContent.dispatch(p,F);J=F.content;if(J.indexOf("{$caret}")==-1){J+="{$caret}"}J=J.replace(/\{\$caret\}/,u);if(!p.isCollapsed()){n.getDoc().execCommand("Delete",false,null)}D=p.getNode();F={context:D.nodeName.toLowerCase()};E=x.parse(J,F);z=E.lastChild;if(z.attr("id")=="mce_marker"){C=z;for(z=z.prev;z;z=z.walk(true)){if(z.type==3||!l.isBlock(z.name)){z.parent.insert(C,z,z.name==="br");break}}}if(!F.invalid){J=I.serialize(E);z=D.firstChild;L=D.lastChild;if(!z||(z===L&&z.nodeName==="BR")){l.setHTML(D,J)}else{p.setContent(J)}}else{p.setContent(u);D=n.selection.getNode();y=n.getBody();if(D.nodeType==9){D=z=y}else{z=D}while(z!==y){D=z;z=z.parentNode}J=D==y?y.innerHTML:l.getOuterHTML(D);J=I.serialize(x.parse(J.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return I.serialize(E)})));if(D==y){l.setHTML(y,J)}else{l.setOuterHTML(D,J)}}C=l.get("mce_marker");B=l.getRect(C);K=l.getViewPort(n.getWin());if((B.y+B.h>K.y+K.h||B.y<K.y)||(B.x>K.x+K.w||B.x<K.x)){G=c.isIE?n.getDoc().documentElement:n.getBody();G.scrollLeft=B.x;G.scrollTop=B.y-K.h+25}v=l.createRng();z=C.previousSibling;if(z&&z.nodeType==3){v.setStart(z,z.nodeValue.length)}else{v.setStartBefore(C);v.setEndBefore(C)}l.remove(C);p.setRng(v);p.onSetContent.dispatch(p,F);n.addVisual()},mceInsertRawHTML:function(x,v,u){p.setContent("tiny_mce_marker");n.setContent(n.getContent().replace(/tiny_mce_marker/g,function(){return u}))},mceSetContent:function(x,v,u){n.setContent(u)},"Indent,Outdent":function(y){var v,u,x;v=k.indentation;u=/[a-z%]+$/i.exec(v);v=parseInt(v);if(!m("InsertUnorderedList")&&!m("InsertOrderedList")){d(p.getSelectedBlocks(),function(z){if(y=="outdent"){x=Math.max(0,parseInt(z.style.paddingLeft||0)-v);l.setStyle(z,"paddingLeft",x?x+u:"")}else{l.setStyle(z,"paddingLeft",(parseInt(z.style.paddingLeft||0)+v)+u)}})}else{f(y)}},mceRepaint:function(){var v;if(c.isGecko){try{i(a);if(p.getSel()){p.getSel().selectAllChildren(n.getBody())}p.collapse(a);g()}catch(u){}}},mceToggleFormat:function(x,v,u){n.formatter.toggle(u)},InsertHorizontalRule:function(){n.execCommand("mceInsertContent",false,"<hr />")},mceToggleVisualAid:function(){n.hasVisual=!n.hasVisual;n.addVisual()},mceReplaceContent:function(x,v,u){n.execCommand("mceInsertContent",false,u.replace(/\{\$selection\}/g,p.getContent({format:"text"})))},mceInsertLink:function(B,A,z){var y=l.getParent(p.getNode(),"a"),v,x,u;if(c.is(z,"string")){z={href:z}}z.href=z.href.replace(" ","%20");if(!y){if(c.isWebKit){v=l.getParent(p.getNode(),"img");if(v){x=v.style.cssText;u=v.className;v.style.cssText=null;v.className=null}}f("CreateLink",b,"javascript:mctmp(0);");if(x){v.style.cssText=x}if(u){v.className=u}d(l.select("a[href='javascript:mctmp(0);']"),function(C){l.setAttribs(C,z)})}else{if(z.href){l.setAttribs(y,z)}else{n.dom.remove(y,a)}}},selectAll:function(){var v=l.getRoot(),u=l.createRng();u.setStart(v,0);u.setEnd(v,v.childNodes.length);n.selection.setRng(u)}});t({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(u){return s("align"+u.substring(7))},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(u){return s(u)},mceBlockQuote:function(){return s("blockquote")},Outdent:function(){var u;if(k.inline_styles){if((u=l.getParent(p.getStart(),l.isBlock))&&parseInt(u.style.paddingLeft)>0){return a}if((u=l.getParent(p.getEnd(),l.isBlock))&&parseInt(u.style.paddingLeft)>0){return a}}return m("InsertUnorderedList")||m("InsertOrderedList")||(!k.inline_styles&&!!l.getParent(p.getNode(),"BLOCKQUOTE"))},"InsertUnorderedList,InsertOrderedList":function(u){return l.getParent(p.getNode(),u=="insertunorderedlist"?"UL":"OL")}},"state");t({"FontSize,FontName":function(x){var v=0,u;if(u=l.getParent(p.getNode(),"span")){if(x=="fontsize"){v=u.style.fontSize}else{v=u.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()}}return v}},"value");if(k.custom_undo_redo){t({Undo:function(){n.undoManager.undo()},Redo:function(){n.undoManager.redo()}})}}})(tinymce);(function(b){var a=b.util.Dispatcher;b.UndoManager=function(f){var d,e=0,h=[],c;function g(){return b.trim(f.getContent({format:"raw",no_events:1}))}return d={typing:false,onAdd:new a(d),onUndo:new a(d),onRedo:new a(d),beforeChange:function(){c=f.selection.getBookmark(2,true)},add:function(m){var j,k=f.settings,l;m=m||{};m.content=g();l=h[e];if(l&&l.content==m.content){return null}if(h[e]){h[e].beforeBookmark=c}if(k.custom_undo_redo_levels){if(h.length>k.custom_undo_redo_levels){for(j=0;j<h.length-1;j++){h[j]=h[j+1]}h.length--;e=h.length}}m.bookmark=f.selection.getBookmark(2,true);if(e<h.length-1){h.length=e+1}h.push(m);e=h.length-1;d.onAdd.dispatch(d,m);f.isNotDirty=0;return m},undo:function(){var k,j;if(d.typing){d.add();d.typing=false}if(e>0){k=h[--e];f.setContent(k.content,{format:"raw"});f.selection.moveToBookmark(k.beforeBookmark);d.onUndo.dispatch(d,k)}return k},redo:function(){var i;if(e<h.length-1){i=h[++e];f.setContent(i.content,{format:"raw"});f.selection.moveToBookmark(i.bookmark);d.onRedo.dispatch(d,i)}return i},clear:function(){h=[];e=0;d.typing=false},hasUndo:function(){return e>0||this.typing},hasRedo:function(){return e<h.length-1&&!this.typing}}}})(tinymce);(function(l){var j=l.dom.Event,c=l.isIE,a=l.isGecko,b=l.isOpera,i=l.each,h=l.extend,d=true,g=false;function k(o){var p,n,m;do{if(/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(o.nodeName)){if(p){n=o.cloneNode(false);n.appendChild(p);p=n}else{p=m=o.cloneNode(false)}p.removeAttribute("id")}}while(o=o.parentNode);if(p){return{wrapper:p,inner:m}}}function f(n,o){var m=o.ownerDocument.createRange();m.setStart(n.endContainer,n.endOffset);m.setEndAfter(o);return m.cloneContents().textContent.length==0}function e(o,q,m){var n,p;if(q.isEmpty(m)){n=q.getParent(m,"ul,ol");if(!q.getParent(n.parentNode,"ul,ol")){q.split(n,m);p=q.create("p",0,'<br data-mce-bogus="1" />');q.replace(p,m);o.select(p,1)}return g}return d}l.create("tinymce.ForceBlocks",{ForceBlocks:function(m){var n=this,o=m.settings,p;n.editor=m;n.dom=m.dom;p=(o.forced_root_block||"p").toLowerCase();o.element=p.toUpperCase();m.onPreInit.add(n.setup,n)},setup:function(){var n=this,m=n.editor,p=m.settings,u=m.dom,o=m.selection,q=m.schema.getBlockElements();if(p.forced_root_block){function v(){var y=o.getStart(),t=m.getBody(),s,z,D,F,E,x,A,B=-16777215;if(!y||y.nodeType!==1){return}while(y!=t){if(q[y.nodeName]){return}y=y.parentNode}s=o.getRng();if(s.setStart){z=s.startContainer;D=s.startOffset;F=s.endContainer;E=s.endOffset}else{if(s.item){s=m.getDoc().body.createTextRange();s.moveToElementText(s.item(0))}tmpRng=s.duplicate();tmpRng.collapse(true);D=tmpRng.move("character",B)*-1;if(!tmpRng.collapsed){tmpRng=s.duplicate();tmpRng.collapse(false);E=(tmpRng.move("character",B)*-1)-D}}for(y=t.firstChild;y;y){if(y.nodeType===3||(y.nodeType==1&&!q[y.nodeName])){if(!x){x=u.create(p.forced_root_block);y.parentNode.insertBefore(x,y)}A=y;y=y.nextSibling;x.appendChild(A)}else{x=null;y=y.nextSibling}}if(s.setStart){s.setStart(z,D);s.setEnd(F,E);o.setRng(s)}else{try{s=m.getDoc().body.createTextRange();s.moveToElementText(t);s.collapse(true);s.moveStart("character",D);if(E>0){s.moveEnd("character",E)}s.select()}catch(C){}}m.nodeChanged()}m.onKeyUp.add(v);m.onClick.add(v)}if(p.force_br_newlines){if(c){m.onKeyPress.add(function(s,t){var x;if(t.keyCode==13&&o.getNode().nodeName!="LI"){o.setContent('<br id="__" /> ',{format:"raw"});x=u.get("__");x.removeAttribute("id");o.select(x);o.collapse();return j.cancel(t)}})}}if(p.force_p_newlines){if(!c){m.onKeyPress.add(function(s,t){if(t.keyCode==13&&!t.shiftKey&&!n.insertPara(t)){j.cancel(t)}})}else{l.addUnload(function(){n._previousFormats=0});m.onKeyPress.add(function(s,t){n._previousFormats=0;if(t.keyCode==13&&!t.shiftKey&&s.selection.isCollapsed()&&p.keep_styles){n._previousFormats=k(s.selection.getStart())}});m.onKeyUp.add(function(t,y){if(y.keyCode==13&&!y.shiftKey){var x=t.selection.getStart(),s=n._previousFormats;if(!x.hasChildNodes()&&s){x=u.getParent(x,u.isBlock);if(x&&x.nodeName!="LI"){x.innerHTML="";if(n._previousFormats){x.appendChild(s.wrapper);s.inner.innerHTML="\uFEFF"}else{x.innerHTML="\uFEFF"}o.select(x,1);o.collapse(true);t.getDoc().execCommand("Delete",false,null);n._previousFormats=0}}}})}if(a){m.onKeyDown.add(function(s,t){if((t.keyCode==8||t.keyCode==46)&&!t.shiftKey){n.backspaceDelete(t,t.keyCode==8)}})}}if(l.isWebKit){function r(t){var s=o.getRng(),x,A=u.create("div",null," "),z,y=u.getViewPort(t.getWin()).h;s.insertNode(x=u.create("br"));s.setStartAfter(x);s.setEndAfter(x);o.setRng(s);if(o.getSel().focusNode==x.previousSibling){o.select(u.insertAfter(u.doc.createTextNode("\u00a0"),x));o.collapse(d)}u.insertAfter(A,x);z=u.getPos(A).y;u.remove(A);if(z>y){t.getWin().scrollTo(0,z)}}m.onKeyPress.add(function(s,t){if(t.keyCode==13&&(t.shiftKey||(p.force_br_newlines&&!u.getParent(o.getNode(),"h1,h2,h3,h4,h5,h6,ol,ul")))){r(s);j.cancel(t)}})}if(c){if(p.element!="P"){m.onKeyPress.add(function(s,t){n.lastElm=o.getNode().nodeName});m.onKeyUp.add(function(t,x){var z,y=o.getNode(),s=t.getBody();if(s.childNodes.length===1&&y.nodeName=="P"){y=u.rename(y,p.element);o.select(y);o.collapse();t.nodeChanged()}else{if(x.keyCode==13&&!x.shiftKey&&n.lastElm!="P"){z=u.getParent(y,"p");if(z){u.rename(z,p.element);t.nodeChanged()}}}})}}},getParentBlock:function(o){var m=this.dom;return m.getParent(o,m.isBlock)},insertPara:function(Q){var E=this,v=E.editor,M=v.dom,R=v.getDoc(),V=v.settings,F=v.selection.getSel(),G=F.getRangeAt(0),U=R.body;var J,K,H,O,N,q,o,u,z,m,C,T,p,x,I,L=M.getViewPort(v.getWin()),B,D,A;v.undoManager.beforeChange();J=R.createRange();J.setStart(F.anchorNode,F.anchorOffset);J.collapse(d);K=R.createRange();K.setStart(F.focusNode,F.focusOffset);K.collapse(d);H=J.compareBoundaryPoints(J.START_TO_END,K)<0;O=H?F.anchorNode:F.focusNode;N=H?F.anchorOffset:F.focusOffset;q=H?F.focusNode:F.anchorNode;o=H?F.focusOffset:F.anchorOffset;if(O===q&&/^(TD|TH)$/.test(O.nodeName)){if(O.firstChild.nodeName=="BR"){M.remove(O.firstChild)}if(O.childNodes.length==0){v.dom.add(O,V.element,null,"<br />");T=v.dom.add(O,V.element,null,"<br />")}else{I=O.innerHTML;O.innerHTML="";v.dom.add(O,V.element,null,I);T=v.dom.add(O,V.element,null,"<br />")}G=R.createRange();G.selectNodeContents(T);G.collapse(1);v.selection.setRng(G);return g}if(O==U&&q==U&&U.firstChild&&v.dom.isBlock(U.firstChild)){O=q=O.firstChild;N=o=0;J=R.createRange();J.setStart(O,0);K=R.createRange();K.setStart(q,0)}O=O.nodeName=="HTML"?R.body:O;O=O.nodeName=="BODY"?O.firstChild:O;q=q.nodeName=="HTML"?R.body:q;q=q.nodeName=="BODY"?q.firstChild:q;u=E.getParentBlock(O);z=E.getParentBlock(q);m=u?u.nodeName:V.element;if(I=E.dom.getParent(u,"li,pre")){if(I.nodeName=="LI"){return e(v.selection,E.dom,I)}return d}if(u&&(u.nodeName=="CAPTION"||/absolute|relative|fixed/gi.test(M.getStyle(u,"position",1)))){m=V.element;u=null}if(z&&(z.nodeName=="CAPTION"||/absolute|relative|fixed/gi.test(M.getStyle(u,"position",1)))){m=V.element;z=null}if(/(TD|TABLE|TH|CAPTION)/.test(m)||(u&&m=="DIV"&&/left|right/gi.test(M.getStyle(u,"float",1)))){m=V.element;u=z=null}C=(u&&u.nodeName==m)?u.cloneNode(0):v.dom.create(m);T=(z&&z.nodeName==m)?z.cloneNode(0):v.dom.create(m);T.removeAttribute("id");if(/^(H[1-6])$/.test(m)&&f(G,u)){T=v.dom.create(V.element)}I=p=O;do{if(I==U||I.nodeType==9||E.dom.isBlock(I)||/(TD|TABLE|TH|CAPTION)/.test(I.nodeName)){break}p=I}while((I=I.previousSibling?I.previousSibling:I.parentNode));I=x=q;do{if(I==U||I.nodeType==9||E.dom.isBlock(I)||/(TD|TABLE|TH|CAPTION)/.test(I.nodeName)){break}x=I}while((I=I.nextSibling?I.nextSibling:I.parentNode));if(p.nodeName==m){J.setStart(p,0)}else{J.setStartBefore(p)}J.setEnd(O,N);C.appendChild(J.cloneContents()||R.createTextNode(""));try{K.setEndAfter(x)}catch(P){}K.setStart(q,o);T.appendChild(K.cloneContents()||R.createTextNode(""));G=R.createRange();if(!p.previousSibling&&p.parentNode.nodeName==m){G.setStartBefore(p.parentNode)}else{if(J.startContainer.nodeName==m&&J.startOffset==0){G.setStartBefore(J.startContainer)}else{G.setStart(J.startContainer,J.startOffset)}}if(!x.nextSibling&&x.parentNode.nodeName==m){G.setEndAfter(x.parentNode)}else{G.setEnd(K.endContainer,K.endOffset)}G.deleteContents();if(b){v.getWin().scrollTo(0,L.y)}if(C.firstChild&&C.firstChild.nodeName==m){C.innerHTML=C.firstChild.innerHTML}if(T.firstChild&&T.firstChild.nodeName==m){T.innerHTML=T.firstChild.innerHTML}function S(y,s){var r=[],X,W,t;y.innerHTML="";if(V.keep_styles){W=s;do{if(/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(W.nodeName)){X=W.cloneNode(g);M.setAttrib(X,"id","");r.push(X)}}while(W=W.parentNode)}if(r.length>0){for(t=r.length-1,X=y;t>=0;t--){X=X.appendChild(r[t])}r[0].innerHTML=b?"\u00a0":"<br />";return r[0]}else{y.innerHTML=b?"\u00a0":"<br />"}}if(M.isEmpty(C)){S(C,O)}if(M.isEmpty(T)){A=S(T,q)}if(b&&parseFloat(opera.version())<9.5){G.insertNode(C);G.insertNode(T)}else{G.insertNode(T);G.insertNode(C)}T.normalize();C.normalize();v.selection.select(T,true);v.selection.collapse(true);B=v.dom.getPos(T).y;if(B<L.y||B+25>L.y+L.h){v.getWin().scrollTo(0,B<L.y?B:B-L.h+25)}v.undoManager.add();return g},backspaceDelete:function(u,B){var C=this,s=C.editor,y=s.getBody(),q=s.dom,p,v=s.selection,o=v.getRng(),x=o.startContainer,p,z,A,m;if(!B&&o.collapsed&&x.nodeType==1&&o.startOffset==x.childNodes.length){m=new l.dom.TreeWalker(x.lastChild,x);for(p=x.lastChild;p;p=m.prev()){if(p.nodeType==3){o.setStart(p,p.nodeValue.length);o.collapse(true);v.setRng(o);return}}}if(x&&s.dom.isBlock(x)&&!/^(TD|TH)$/.test(x.nodeName)&&B){if(x.childNodes.length==0||(x.childNodes.length==1&&x.firstChild.nodeName=="BR")){p=x;while((p=p.previousSibling)&&!s.dom.isBlock(p)){}if(p){if(x!=y.firstChild){z=s.dom.doc.createTreeWalker(p,NodeFilter.SHOW_TEXT,null,g);while(A=z.nextNode()){p=A}o=s.getDoc().createRange();o.setStart(p,p.nodeValue?p.nodeValue.length:0);o.setEnd(p,p.nodeValue?p.nodeValue.length:0);v.setRng(o);s.dom.remove(x)}return j.cancel(u)}}}}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each,e=c.extend;c.create("tinymce.ControlManager",{ControlManager:function(f,j){var h=this,g;j=j||{};h.editor=f;h.controls={};h.onAdd=new c.util.Dispatcher(h);h.onPostRender=new c.util.Dispatcher(h);h.prefix=j.prefix||f.id+"_";h._cls={};h.onPostRender.add(function(){d(h.controls,function(i){i.postRender()})})},get:function(f){return this.controls[this.prefix+f]||this.controls[f]},setActive:function(h,f){var g=null;if(g=this.get(h)){g.setActive(f)}return g},setDisabled:function(h,f){var g=null;if(g=this.get(h)){g.setDisabled(f)}return g},add:function(g){var f=this;if(g){f.controls[g.id]=g;f.onAdd.dispatch(g,f)}return g},createControl:function(i){var h,g=this,f=g.editor;d(f.plugins,function(j){if(j.createControl){h=j.createControl(i,g);if(h){return false}}});switch(i){case"|":case"separator":return g.createSeparator()}if(!h&&f.buttons&&(h=f.buttons[i])){return g.createButton(i,h)}return g.add(h)},createDropMenu:function(f,n,h){var m=this,i=m.editor,j,g,k,l;n=e({"class":"mceDropDown",constrain:i.settings.constrain_menus},n);n["class"]=n["class"]+" "+i.getParam("skin")+"Skin";if(k=i.getParam("skin_variant")){n["class"]+=" "+i.getParam("skin")+"Skin"+k.substring(0,1).toUpperCase()+k.substring(1)}f=m.prefix+f;l=h||m._cls.dropmenu||c.ui.DropMenu;j=m.controls[f]=new l(f,n);j.onAddItem.add(function(r,q){var p=q.settings;p.title=i.getLang(p.title,p.title);if(!p.onclick){p.onclick=function(o){if(p.cmd){i.execCommand(p.cmd,p.ui||false,p.value)}}}});i.onRemove.add(function(){j.destroy()});if(c.isIE){j.onShowMenu.add(function(){i.focus();g=i.selection.getBookmark(1)});j.onHideMenu.add(function(){if(g){i.selection.moveToBookmark(g);g=0}})}return m.add(j)},createListBox:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.scope=i.scope||g;if(!i.onselect){i.onselect=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}i=e({title:i.title,"class":"mce_"+m,scope:i.scope,control_manager:h},i);m=h.prefix+m;if(g.settings.use_native_selects){k=new c.ui.NativeListBox(m,i)}else{f=l||h._cls.listbox||c.ui.ListBox;k=new f(m,i,g)}h.controls[m]=k;if(c.isWebKit){k.onPostRender.add(function(p,o){a.add(o,"mousedown",function(){g.bookmark=g.selection.getBookmark(1)});a.add(o,"focus",function(){g.selection.moveToBookmark(g.bookmark);g.bookmark=null})})}if(k.hideMenu){g.onMouseDown.add(k.hideMenu,k)}return h.add(k)},createButton:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.label=g.translate(i.label);i.scope=i.scope||g;if(!i.onclick&&!i.menu_button){i.onclick=function(){g.execCommand(i.cmd,i.ui||false,i.value)}}i=e({title:i.title,"class":"mce_"+m,unavailable_prefix:g.getLang("unavailable",""),scope:i.scope,control_manager:h},i);m=h.prefix+m;if(i.menu_button){f=l||h._cls.menubutton||c.ui.MenuButton;k=new f(m,i,g);g.onMouseDown.add(k.hideMenu,k)}else{f=h._cls.button||c.ui.Button;k=new f(m,i,g)}return h.add(k)},createMenuButton:function(h,f,g){f=f||{};f.menu_button=1;return this.createButton(h,f,g)},createSplitButton:function(m,i,l){var h=this,g=h.editor,j,k,f;if(h.get(m)){return null}i.title=g.translate(i.title);i.scope=i.scope||g;if(!i.onclick){i.onclick=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}if(!i.onselect){i.onselect=function(n){g.execCommand(i.cmd,i.ui||false,n||i.value)}}i=e({title:i.title,"class":"mce_"+m,scope:i.scope,control_manager:h},i);m=h.prefix+m;f=l||h._cls.splitbutton||c.ui.SplitButton;k=h.add(new f(m,i,g));g.onMouseDown.add(k.hideMenu,k);return k},createColorSplitButton:function(f,n,h){var l=this,j=l.editor,i,k,m,g;if(l.get(f)){return null}n.title=j.translate(n.title);n.scope=n.scope||j;if(!n.onclick){n.onclick=function(o){if(c.isIE){g=j.selection.getBookmark(1)}j.execCommand(n.cmd,n.ui||false,o||n.value)}}if(!n.onselect){n.onselect=function(o){j.execCommand(n.cmd,n.ui||false,o||n.value)}}n=e({title:n.title,"class":"mce_"+f,menu_class:j.getParam("skin")+"Skin",scope:n.scope,more_colors_title:j.getLang("more_colors")},n);f=l.prefix+f;m=h||l._cls.colorsplitbutton||c.ui.ColorSplitButton;k=new m(f,n,j);j.onMouseDown.add(k.hideMenu,k);j.onRemove.add(function(){k.destroy()});if(c.isIE){k.onShowMenu.add(function(){j.focus();g=j.selection.getBookmark(1)});k.onHideMenu.add(function(){if(g){j.selection.moveToBookmark(g);g=0}})}return l.add(k)},createToolbar:function(k,h,j){var i,g=this,f;k=g.prefix+k;f=j||g._cls.toolbar||c.ui.Toolbar;i=new f(k,h,g.editor);if(g.get(k)){return null}return g.add(i)},createToolbarGroup:function(k,h,j){var i,g=this,f;k=g.prefix+k;f=j||this._cls.toolbarGroup||c.ui.ToolbarGroup;i=new f(k,h,g.editor);if(g.get(k)){return null}return g.add(i)},createSeparator:function(g){var f=g||this._cls.separator||c.ui.Separator;return new f()},setControlType:function(g,f){return this._cls[g.toLowerCase()]=f},destroy:function(){d(this.controls,function(f){f.destroy()});this.controls=null}})})(tinymce);(function(d){var a=d.util.Dispatcher,e=d.each,c=d.isIE,b=d.isOpera;d.create("tinymce.WindowManager",{WindowManager:function(f){var g=this;g.editor=f;g.onOpen=new a(g);g.onClose=new a(g);g.params={};g.features={}},open:function(z,h){var v=this,k="",n,m,i=v.editor.settings.dialog_type=="modal",q,o,j,g=d.DOM.getViewPort(),r;z=z||{};h=h||{};o=b?g.w:screen.width;j=b?g.h:screen.height;z.name=z.name||"mc_"+new Date().getTime();z.width=parseInt(z.width||320);z.height=parseInt(z.height||240);z.resizable=true;z.left=z.left||parseInt(o/2)-(z.width/2);z.top=z.top||parseInt(j/2)-(z.height/2);h.inline=false;h.mce_width=z.width;h.mce_height=z.height;h.mce_auto_focus=z.auto_focus;if(i){if(c){z.center=true;z.help=false;z.dialogWidth=z.width+"px";z.dialogHeight=z.height+"px";z.scroll=z.scrollbars||false}}e(z,function(p,f){if(d.is(p,"boolean")){p=p?"yes":"no"}if(!/^(name|url)$/.test(f)){if(c&&i){k+=(k?";":"")+f+":"+p}else{k+=(k?",":"")+f+"="+p}}});v.features=z;v.params=h;v.onOpen.dispatch(v,z,h);r=z.url||z.file;r=d._addVer(r);try{if(c&&i){q=1;window.showModalDialog(r,window,k)}else{q=window.open(r,z.name,k)}}catch(l){}if(!q){alert(v.editor.getLang("popup_blocked"))}},close:function(f){f.close();this.onClose.dispatch(this)},createInstance:function(i,h,g,m,l,k){var j=d.resolve(i);return new j(h,g,m,l,k)},confirm:function(h,f,i,g){g=g||window;f.call(i||this,g.confirm(this._decode(this.editor.getLang(h,h))))},alert:function(h,f,j,g){var i=this;g=g||window;g.alert(i._decode(i.editor.getLang(h,h)));if(f){f.call(j||i)}},resizeBy:function(f,g,h){h.resizeBy(f,g)},_decode:function(f){return d.DOM.decode(f).replace(/\\n/g,"\n")}})}(tinymce));(function(a){a.Formatter=function(V){var M={},O=a.each,c=V.dom,q=V.selection,t=a.dom.TreeWalker,K=new a.dom.RangeUtils(c),d=V.schema.isValidChild,F=c.isBlock,l=V.settings.forced_root_block,s=c.nodeIndex,E="\uFEFF",e=/^(src|href|style)$/,S=false,B=true,p,P={apply:[],remove:[]};function z(W){return W instanceof Array}function m(X,W){return c.getParents(X,W,c.getRoot())}function b(W){return W.nodeType===1&&(W.face==="mceinline"||W.style.fontFamily==="mceinline")}function R(W){return W?M[W]:M}function k(W,X){if(W){if(typeof(W)!=="string"){O(W,function(Z,Y){k(Y,Z)})}else{X=X.length?X:[X];O(X,function(Y){if(Y.deep===p){Y.deep=!Y.selector}if(Y.split===p){Y.split=!Y.selector||Y.inline}if(Y.remove===p&&Y.selector&&!Y.inline){Y.remove="none"}if(Y.selector&&Y.inline){Y.mixed=true;Y.block_expand=true}if(typeof(Y.classes)==="string"){Y.classes=Y.classes.split(/\s+/)}});M[W]=X}}}var i=function(X){var W;V.dom.getParent(X,function(Y){W=V.dom.getStyle(Y,"text-decoration");return W&&W!=="none"});return W};var I=function(W){var X;if(W.nodeType===1&&W.parentNode&&W.parentNode.nodeType===1){X=i(W.parentNode);if(V.dom.getStyle(W,"color")&&X){V.dom.setStyle(W,"text-decoration",X)}else{if(V.dom.getStyle(W,"textdecoration")===X){V.dom.setStyle(W,"text-decoration",null)}}}};function T(Z,ah,ac){var ad=R(Z),ai=ad[0],ag,X,af,ae=q.isCollapsed();function aa(am){var al=am.startContainer,ap=am.startOffset,ao,an;if(al.nodeType==1||al.nodeValue===""){al=al.nodeType==1?al.childNodes[ap]:al;if(al){ao=new t(al,al.parentNode);for(an=ao.current();an;an=ao.next()){if(an.nodeType==3&&!f(an)){am.setStart(an,0);break}}}}return am}function W(am,al){al=al||ai;if(am){O(al.styles,function(ao,an){c.setStyle(am,an,r(ao,ah))});O(al.attributes,function(ao,an){c.setAttrib(am,an,r(ao,ah))});O(al.classes,function(an){an=r(an,ah);if(!c.hasClass(am,an)){c.addClass(am,an)}})}}function ab(){function an(au,ar){var at=new t(ar);for(ac=at.current();ac;ac=at.prev()){if(ac.childNodes.length>1||ac==au){return ac}}}var am=V.selection.getRng();var aq=am.startContainer;var al=am.endContainer;if(aq!=al&&am.endOffset==0){var ap=an(aq,al);var ao=ap.nodeType==3?ap.length:ap.childNodes.length;am.setEnd(ap,ao)}return am}function Y(ao,au,ar,aq,am){var al=[],an=-1,at,aw=-1,ap=-1,av;O(ao.childNodes,function(ay,ax){if(ay.nodeName==="UL"||ay.nodeName==="OL"){an=ax;at=ay;return false}});O(ao.childNodes,function(ay,ax){if(ay.nodeName==="SPAN"&&c.getAttrib(ay,"data-mce-type")=="bookmark"&&ay.id==au.id+"_start"){aw=ax}if(ay.nodeName==="SPAN"&&c.getAttrib(ay,"data-mce-type")=="bookmark"&&ay.id==au.id+"_end"){ap=ax}});if(an<=0||(aw<an&&ap>an)){O(a.grep(ao.childNodes),am);return 0}else{av=ar.cloneNode(S);O(a.grep(ao.childNodes),function(ay,ax){if((aw<an&&ax<an)||(aw>an&&ax>an)){al.push(ay);ay.parentNode.removeChild(ay)}});if(aw<an){ao.insertBefore(av,at)}else{if(aw>an){ao.insertBefore(av,at.nextSibling)}}aq.push(av);O(al,function(ax){av.appendChild(ax)});return av}}function aj(am,ao){var al=[],ap,an;ap=ai.inline||ai.block;an=c.create(ap);W(an);K.walk(am,function(aq){var ar;function at(au){var ax=au.nodeName.toLowerCase(),aw=au.parentNode.nodeName.toLowerCase(),av;if(g(ax,"br")){ar=0;if(ai.block){c.remove(au)}return}if(ai.wrapper&&x(au,Z,ah)){ar=0;return}if(ai.block&&!ai.wrapper&&G(ax)){au=c.rename(au,ap);W(au);al.push(au);ar=0;return}if(ai.selector){O(ad,function(ay){if("collapsed" in ay&&ay.collapsed!==ae){return}if(c.is(au,ay.selector)&&!b(au)){W(au,ay);av=true}});if(!ai.inline||av){ar=0;return}}if(d(ap,ax)&&d(aw,ap)&&!(au.nodeType===3&&au.nodeValue.length===1&&au.nodeValue.charCodeAt(0)===65279)){if(!ar){ar=an.cloneNode(S);au.parentNode.insertBefore(ar,au);al.push(ar)}ar.appendChild(au)}else{if(ax=="li"&&ao){ar=Y(au,ao,an,al,at)}else{ar=0;O(a.grep(au.childNodes),at);ar=0}}}O(aq,at)});if(ai.wrap_links===false){O(al,function(aq){function ar(aw){var av,au,at;if(aw.nodeName==="A"){au=an.cloneNode(S);al.push(au);at=a.grep(aw.childNodes);for(av=0;av<at.length;av++){au.appendChild(at[av])}aw.appendChild(au)}O(a.grep(aw.childNodes),ar)}ar(aq)})}O(al,function(at){var aq;function au(aw){var av=0;O(aw.childNodes,function(ax){if(!f(ax)&&!H(ax)){av++}});return av}function ar(av){var ax,aw;O(av.childNodes,function(ay){if(ay.nodeType==1&&!H(ay)&&!b(ay)){ax=ay;return S}});if(ax&&h(ax,ai)){aw=ax.cloneNode(S);W(aw);c.replace(aw,av,B);c.remove(ax,1)}return aw||av}aq=au(at);if((al.length>1||!F(at))&&aq===0){c.remove(at,1);return}if(ai.inline||ai.wrapper){if(!ai.exact&&aq===1){at=ar(at)}O(ad,function(av){O(c.select(av.inline,at),function(ax){var aw;if(av.wrap_links===false){aw=ax.parentNode;do{if(aw.nodeName==="A"){return}}while(aw=aw.parentNode)}U(av,ah,ax,av.exact?ax:null)})});if(x(at.parentNode,Z,ah)){c.remove(at,1);at=0;return B}if(ai.merge_with_parents){c.getParent(at.parentNode,function(av){if(x(av,Z,ah)){c.remove(at,1);at=0;return B}})}if(at){at=u(C(at),at);at=u(at,C(at,B))}}})}if(ai){if(ac){X=c.createRng();X.setStartBefore(ac);X.setEndAfter(ac);aj(o(X,ad))}else{if(!ae||!ai.inline||c.select("td.mceSelected,th.mceSelected").length){var ak=V.selection.getNode();V.selection.setRng(ab());ag=q.getBookmark();aj(o(q.getRng(B),ad),ag);if(ai.styles&&(ai.styles.color||ai.styles.textDecoration)){a.walk(ak,I,"childNodes");I(ak)}q.moveToBookmark(ag);q.setRng(aa(q.getRng(B)));V.nodeChanged()}else{Q("apply",Z,ah)}}}}function A(Y,ah,ab){var ac=R(Y),aj=ac[0],ag,af,X;function aa(am){var al=am.startContainer,ar=am.startOffset,aq,ap,an,ao;if(al.nodeType==3&&ar>=al.nodeValue.length-1){al=al.parentNode;ar=s(al)+1}if(al.nodeType==1){an=al.childNodes;al=an[Math.min(ar,an.length-1)];aq=new t(al);if(ar>an.length-1){aq.next()}for(ap=aq.current();ap;ap=aq.next()){if(ap.nodeType==3&&!f(ap)){ao=c.create("a",null,E);ap.parentNode.insertBefore(ao,ap);am.setStart(ap,0);q.setRng(am);c.remove(ao);return}}}}function Z(ao){var an,am,al;an=a.grep(ao.childNodes);for(am=0,al=ac.length;am<al;am++){if(U(ac[am],ah,ao,ao)){break}}if(aj.deep){for(am=0,al=an.length;am<al;am++){Z(an[am])}}}function ad(al){var am;O(m(al.parentNode).reverse(),function(an){var ao;if(!am&&an.id!="_start"&&an.id!="_end"){ao=x(an,Y,ah);if(ao&&ao.split!==false){am=an}}});return am}function W(ao,al,aq,au){var av,at,ar,an,ap,am;if(ao){am=ao.parentNode;for(av=al.parentNode;av&&av!=am;av=av.parentNode){at=av.cloneNode(S);for(ap=0;ap<ac.length;ap++){if(U(ac[ap],ah,at,at)){at=0;break}}if(at){if(ar){at.appendChild(ar)}if(!an){an=at}ar=at}}if(au&&(!aj.mixed||!F(ao))){al=c.split(ao,al)}if(ar){aq.parentNode.insertBefore(ar,aq);an.appendChild(aq)}}return al}function ai(al){return W(ad(al),al,al,true)}function ae(an){var am=c.get(an?"_start":"_end"),al=am[an?"firstChild":"lastChild"];if(H(al)){al=al[an?"firstChild":"lastChild"]}c.remove(am,true);return al}function ak(al){var am,an;al=o(al,ac,B);if(aj.split){am=J(al,B);an=J(al);if(am!=an){am=N(am,"span",{id:"_start","data-mce-type":"bookmark"});an=N(an,"span",{id:"_end","data-mce-type":"bookmark"});ai(am);ai(an);am=ae(B);an=ae()}else{am=an=ai(am)}al.startContainer=am.parentNode;al.startOffset=s(am);al.endContainer=an.parentNode;al.endOffset=s(an)+1}K.walk(al,function(ao){O(ao,function(ap){Z(ap);if(ap.nodeType===1&&V.dom.getStyle(ap,"text-decoration")==="underline"&&ap.parentNode&&i(ap.parentNode)==="underline"){U({deep:false,exact:true,inline:"span",styles:{textDecoration:"underline"}},null,ap)}})})}if(ab){X=c.createRng();X.setStartBefore(ab);X.setEndAfter(ab);ak(X);return}if(!q.isCollapsed()||!aj.inline||c.select("td.mceSelected,th.mceSelected").length){ag=q.getBookmark();ak(q.getRng(B));q.moveToBookmark(ag);if(j(Y,ah,q.getStart())){aa(q.getRng(true))}V.nodeChanged()}else{Q("remove",Y,ah)}}function D(X,Z,Y){var W=R(X);if(j(X,Z,Y)&&(!("toggle" in W[0])||W[0]["toggle"])){A(X,Z,Y)}else{T(X,Z,Y)}}function x(X,W,ac,aa){var Y=R(W),ad,ab,Z;function ae(ai,ak,al){var ah,aj,af=ak[al],ag;if(af){if(af.length===p){for(ah in af){if(af.hasOwnProperty(ah)){if(al==="attributes"){aj=c.getAttrib(ai,ah)}else{aj=L(ai,ah)}if(aa&&!aj&&!ak.exact){return}if((!aa||ak.exact)&&!g(aj,r(af[ah],ac))){return}}}}else{for(ag=0;ag<af.length;ag++){if(al==="attributes"?c.getAttrib(ai,af[ag]):L(ai,af[ag])){return ak}}}}return ak}if(Y&&X){for(ab=0;ab<Y.length;ab++){ad=Y[ab];if(h(X,ad)&&ae(X,ad,"attributes")&&ae(X,ad,"styles")){if(Z=ad.classes){for(ab=0;ab<Z.length;ab++){if(!c.hasClass(X,Z[ab])){return}}}return ad}}}}function j(Y,ab,aa){var X,Z;function W(ac){ac=c.getParent(ac,function(ad){return !!x(ad,Y,ab,true)});return x(ac,Y,ab)}if(aa){return W(aa)}if(q.isCollapsed()){for(Z=P.apply.length-1;Z>=0;Z--){if(P.apply[Z].name==Y){return true}}for(Z=P.remove.length-1;Z>=0;Z--){if(P.remove[Z].name==Y){return false}}return W(q.getNode())}aa=q.getNode();if(W(aa)){return B}X=q.getStart();if(X!=aa){if(W(X)){return B}}return S}function v(ad,ac){var aa,ab=[],Z={},Y,X,W;if(q.isCollapsed()){for(X=0;X<ad.length;X++){for(Y=P.remove.length-1;Y>=0;Y--){W=ad[X];if(P.remove[Y].name==W){Z[W]=true;break}}}for(Y=P.apply.length-1;Y>=0;Y--){for(X=0;X<ad.length;X++){W=ad[X];if(!Z[W]&&P.apply[Y].name==W){Z[W]=true;ab.push(W)}}}}aa=q.getStart();c.getParent(aa,function(ag){var af,ae;for(af=0;af<ad.length;af++){ae=ad[af];if(!Z[ae]&&x(ag,ae,ac)){Z[ae]=true;ab.push(ae)}}});return ab}function y(aa){var ac=R(aa),Z,Y,ab,X,W;if(ac){Z=q.getStart();Y=m(Z);for(X=ac.length-1;X>=0;X--){W=ac[X].selector;if(!W){return B}for(ab=Y.length-1;ab>=0;ab--){if(c.is(Y[ab],W)){return B}}}}return S}a.extend(this,{get:R,register:k,apply:T,remove:A,toggle:D,match:j,matchAll:v,matchNode:x,canApply:y});function h(W,X){if(g(W,X.inline)){return B}if(g(W,X.block)){return B}if(X.selector){return c.is(W,X.selector)}}function g(X,W){X=X||"";W=W||"";X=""+(X.nodeName||X);W=""+(W.nodeName||W);return X.toLowerCase()==W.toLowerCase()}function L(X,W){var Y=c.getStyle(X,W);if(W=="color"||W=="backgroundColor"){Y=c.toHex(Y)}if(W=="fontWeight"&&Y==700){Y="bold"}return""+Y}function r(W,X){if(typeof(W)!="string"){W=W(X)}else{if(X){W=W.replace(/%(\w+)/g,function(Z,Y){return X[Y]||Z})}}return W}function f(W){return W&&W.nodeType===3&&/^([\s\r\n]+|)$/.test(W.nodeValue)}function N(Y,X,W){var Z=c.create(X,W);Y.parentNode.insertBefore(Z,Y);Z.appendChild(Y);return Z}function o(W,ag,Z){var Y=W.startContainer,ad=W.startOffset,aj=W.endContainer,ae=W.endOffset,ai,af,ac;function ah(am,an,ak,al){var ao,ap;al=al||c.getRoot();for(;;){ao=am.parentNode;if(ao==al||(!ag[0].block_expand&&F(ao))){return am}for(ai=ao[an];ai&&ai!=am;ai=ai[ak]){if(ai.nodeType==1&&!H(ai)){return am}if(ai.nodeType==3&&!f(ai)){return am}}am=am.parentNode}return am}function ab(ak,al){if(al===p){al=ak.nodeType===3?ak.length:ak.childNodes.length}while(ak&&ak.hasChildNodes()){ak=ak.childNodes[al];if(ak){al=ak.nodeType===3?ak.length:ak.childNodes.length}}return{node:ak,offset:al}}if(Y.nodeType==1&&Y.hasChildNodes()){af=Y.childNodes.length-1;Y=Y.childNodes[ad>af?af:ad];if(Y.nodeType==3){ad=0}}if(aj.nodeType==1&&aj.hasChildNodes()){af=aj.childNodes.length-1;aj=aj.childNodes[ae>af?af:ae-1];if(aj.nodeType==3){ae=aj.nodeValue.length}}if(H(Y.parentNode)){Y=Y.parentNode}if(H(Y)){Y=Y.nextSibling||Y}if(H(aj.parentNode)){ae=c.nodeIndex(aj);aj=aj.parentNode}if(H(aj)&&aj.previousSibling){aj=aj.previousSibling;ae=aj.length}if(ag[0].inline){ac=ab(aj,ae);if(ac.node){while(ac.node&&ac.offset===0&&ac.node.previousSibling){ac=ab(ac.node.previousSibling)}if(ac.node&&ac.offset>0&&ac.node.nodeType===3&&ac.node.nodeValue.charAt(ac.offset-1)===" "){if(ac.offset>1){aj=ac.node;aj.splitText(ac.offset-1)}else{if(ac.node.previousSibling){aj=ac.node.previousSibling}}}}}if(ag[0].inline||ag[0].block_expand){Y=ah(Y,"firstChild","nextSibling");aj=ah(aj,"lastChild","previousSibling")}if(ag[0].selector&&ag[0].expand!==S&&!ag[0].inline){function aa(al,ak){var am,an,ap,ao;if(al.nodeType==3&&al.nodeValue.length==0&&al[ak]){al=al[ak]}am=m(al);for(an=0;an<am.length;an++){for(ap=0;ap<ag.length;ap++){ao=ag[ap];if("collapsed" in ao&&ao.collapsed!==W.collapsed){continue}if(c.is(am[an],ao.selector)){return am[an]}}}return al}Y=aa(Y,"previousSibling");aj=aa(aj,"nextSibling")}if(ag[0].block||ag[0].selector){function X(al,ak,an){var am;if(!ag[0].wrapper){am=c.getParent(al,ag[0].block)}if(!am){am=c.getParent(al.nodeType==3?al.parentNode:al,F)}if(am&&ag[0].wrapper){am=m(am,"ul,ol").reverse()[0]||am}if(!am){am=al;while(am[ak]&&!F(am[ak])){am=am[ak];if(g(am,"br")){break}}}return am||al}Y=X(Y,"previousSibling");aj=X(aj,"nextSibling");if(ag[0].block){if(!F(Y)){Y=ah(Y,"firstChild","nextSibling")}if(!F(aj)){aj=ah(aj,"lastChild","previousSibling")}}}if(Y.nodeType==1){ad=s(Y);Y=Y.parentNode}if(aj.nodeType==1){ae=s(aj)+1;aj=aj.parentNode}return{startContainer:Y,startOffset:ad,endContainer:aj,endOffset:ae}}function U(ac,ab,Z,W){var Y,X,aa;if(!h(Z,ac)){return S}if(ac.remove!="all"){O(ac.styles,function(ae,ad){ae=r(ae,ab);if(typeof(ad)==="number"){ad=ae;W=0}if(!W||g(L(W,ad),ae)){c.setStyle(Z,ad,"")}aa=1});if(aa&&c.getAttrib(Z,"style")==""){Z.removeAttribute("style");Z.removeAttribute("data-mce-style")}O(ac.attributes,function(af,ad){var ae;af=r(af,ab);if(typeof(ad)==="number"){ad=af;W=0}if(!W||g(c.getAttrib(W,ad),af)){if(ad=="class"){af=c.getAttrib(Z,ad);if(af){ae="";O(af.split(/\s+/),function(ag){if(/mce\w+/.test(ag)){ae+=(ae?" ":"")+ag}});if(ae){c.setAttrib(Z,ad,ae);return}}}if(ad=="class"){Z.removeAttribute("className")}if(e.test(ad)){Z.removeAttribute("data-mce-"+ad)}Z.removeAttribute(ad)}});O(ac.classes,function(ad){ad=r(ad,ab);if(!W||c.hasClass(W,ad)){c.removeClass(Z,ad)}});X=c.getAttribs(Z);for(Y=0;Y<X.length;Y++){if(X[Y].nodeName.indexOf("_")!==0){return S}}}if(ac.remove!="none"){n(Z,ac);return B}}function n(Y,Z){var W=Y.parentNode,X;if(Z.block){if(!l){function aa(ac,ab,ad){ac=C(ac,ab,ad);return !ac||(ac.nodeName=="BR"||F(ac))}if(F(Y)&&!F(W)){if(!aa(Y,S)&&!aa(Y.firstChild,B,1)){Y.insertBefore(c.create("br"),Y.firstChild)}if(!aa(Y,B)&&!aa(Y.lastChild,S,1)){Y.appendChild(c.create("br"))}}}else{if(W==c.getRoot()){if(!Z.list_block||!g(Y,Z.list_block)){O(a.grep(Y.childNodes),function(ab){if(d(l,ab.nodeName.toLowerCase())){if(!X){X=N(ab,l)}else{X.appendChild(ab)}}else{X=0}})}}}}if(Z.selector&&Z.inline&&!g(Z.inline,Y)){return}c.remove(Y,1)}function C(X,W,Y){if(X){W=W?"nextSibling":"previousSibling";for(X=Y?X:X[W];X;X=X[W]){if(X.nodeType==1||!f(X)){return X}}}}function H(W){return W&&W.nodeType==1&&W.getAttribute("data-mce-type")=="bookmark"}function u(aa,Z){var W,Y,X;function ac(af,ae){if(af.nodeName!=ae.nodeName){return S}function ad(ah){var ai={};O(c.getAttribs(ah),function(aj){var ak=aj.nodeName.toLowerCase();if(ak.indexOf("_")!==0&&ak!=="style"){ai[ak]=c.getAttrib(ah,ak)}});return ai}function ag(ak,aj){var ai,ah;for(ah in ak){if(ak.hasOwnProperty(ah)){ai=aj[ah];if(ai===p){return S}if(ak[ah]!=ai){return S}delete aj[ah]}}for(ah in aj){if(aj.hasOwnProperty(ah)){return S}}return B}if(!ag(ad(af),ad(ae))){return S}if(!ag(c.parseStyle(c.getAttrib(af,"style")),c.parseStyle(c.getAttrib(ae,"style")))){return S}return B}if(aa&&Z){function ab(ae,ad){for(Y=ae;Y;Y=Y[ad]){if(Y.nodeType==3&&Y.nodeValue.length!==0){return ae}if(Y.nodeType==1&&!H(Y)){return Y}}return ae}aa=ab(aa,"previousSibling");Z=ab(Z,"nextSibling");if(ac(aa,Z)){for(Y=aa.nextSibling;Y&&Y!=Z;){X=Y;Y=Y.nextSibling;aa.appendChild(X)}c.remove(Z);O(a.grep(Z.childNodes),function(ad){aa.appendChild(ad)});return aa}}return Z}function G(W){return/^(h[1-6]|p|div|pre|address|dl|dt|dd)$/.test(W)}function J(X,aa){var W,Z,Y;W=X[aa?"startContainer":"endContainer"];Z=X[aa?"startOffset":"endOffset"];if(W.nodeType==1){Y=W.childNodes.length-1;if(!aa&&Z){Z--}W=W.childNodes[Z>Y?Y:Z]}return W}function Q(ad,Y,ac){var aa,X=P[ad],ae=P[ad=="apply"?"remove":"apply"];function af(){return P.apply.length||P.remove.length}function ab(){P.apply=[];P.remove=[]}function ag(ah){O(P.apply.reverse(),function(ai){T(ai.name,ai.vars,ah);if(ai.name==="forecolor"&&ai.vars.value){I(ah.parentNode)}});O(P.remove.reverse(),function(ai){A(ai.name,ai.vars,ah)});c.remove(ah,1);ab()}for(aa=X.length-1;aa>=0;aa--){if(X[aa].name==Y){return}}X.push({name:Y,vars:ac});for(aa=ae.length-1;aa>=0;aa--){if(ae[aa].name==Y){ae.splice(aa,1)}}if(af()){V.getDoc().execCommand("FontName",false,"mceinline");P.lastRng=q.getRng();O(c.select("font,span"),function(ai){var ah;if(b(ai)){ah=q.getBookmark();ag(ai);q.moveToBookmark(ah);V.nodeChanged()}});if(!P.isListening&&af()){P.isListening=true;function W(ai,aj){var ah=c.createRng();ag(ai);ah.setStart(aj,aj.nodeValue.length);ah.setEnd(aj,aj.nodeValue.length);q.setRng(ah);V.nodeChanged()}var Z=false;O("onKeyDown,onKeyUp,onKeyPress,onMouseUp".split(","),function(ah){V[ah].addToTop(function(ai,al){if(al.keyCode==13&&!al.shiftKey){Z=true;return}if(af()&&!a.dom.RangeUtils.compareRanges(P.lastRng,q.getRng())){var aj=false;O(c.select("font,span"),function(ao){var ap,an;if(b(ao)){aj=true;ap=ao.firstChild;while(ap&&ap.nodeType!=3){ap=ap.firstChild}if(ap){W(ao,ap)}else{c.remove(ao)}}});if(Z&&!aj){var ak=q.getNode();var am=ak;while(am&&am.nodeType!=3){am=am.firstChild}if(am){ak=am.parentNode;while(!F(ak)){ak=ak.parentNode}W(ak,am)}}if(al.type=="keyup"||al.type=="mouseup"){ab();Z=false}}})})}}}}})(tinymce);tinymce.onAddEditor.add(function(e,a){var d,h,g,c=a.settings;if(c.inline_styles){h=e.explode(c.font_size_style_values);function b(j,i){e.each(i,function(l,k){if(l){g.setStyle(j,k,l)}});g.rename(j,"span")}d={font:function(j,i){b(i,{backgroundColor:i.style.backgroundColor,color:i.color,fontFamily:i.face,fontSize:h[parseInt(i.size)-1]})},u:function(j,i){b(i,{textDecoration:"underline"})},strike:function(j,i){b(i,{textDecoration:"line-through"})}};function f(i,j){g=i.dom;if(c.convert_fonts_to_spans){e.each(g.select("font,u,strike",j.node),function(k){d[k.nodeName.toLowerCase()](a.dom,k)})}}a.onPreProcess.add(f);a.onSetContent.add(f);a.onInit.add(function(){a.selection.onSetContent.add(f)})}}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/tiny_mce_popup.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/tiny_mce_popup.js new file mode 100644 index 00000000..f859d24e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/tiny_mce_popup.js @@ -0,0 +1,5 @@ + +// Uncomment and change this document.domain value if you are loading the script cross subdomains +// document.domain = 'moxiecode.com'; + +var tinymce=null,tinyMCEPopup,tinyMCE;tinyMCEPopup={init:function(){var b=this,a,c;a=b.getWin();tinymce=a.tinymce;tinyMCE=a.tinyMCE;b.editor=tinymce.EditorManager.activeEditor;b.params=b.editor.windowManager.params;b.features=b.editor.windowManager.features;b.dom=b.editor.windowManager.createInstance("tinymce.dom.DOMUtils",document);if(b.features.popup_css!==false){b.dom.loadCSS(b.features.popup_css||b.editor.settings.popup_css)}b.listeners=[];b.onInit={add:function(e,d){b.listeners.push({func:e,scope:d})}};b.isWindow=!b.getWindowArg("mce_inline");b.id=b.getWindowArg("mce_window_id");b.editor.windowManager.onOpen.dispatch(b.editor.windowManager,window)},getWin:function(){return(!window.frameElement&&window.dialogArguments)||opener||parent||top},getWindowArg:function(c,b){var a=this.params[c];return tinymce.is(a)?a:b},getParam:function(b,a){return this.editor.getParam(b,a)},getLang:function(b,a){return this.editor.getLang(b,a)},execCommand:function(d,c,e,b){b=b||{};b.skip_focus=1;this.restoreSelection();return this.editor.execCommand(d,c,e,b)},resizeToInnerSize:function(){var a=this;setTimeout(function(){var b=a.dom.getViewPort(window);a.editor.windowManager.resizeBy(a.getWindowArg("mce_width")-b.w,a.getWindowArg("mce_height")-b.h,a.id||window)},10)},executeOnLoad:function(s){this.onInit.add(function(){eval(s)})},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(1)},restoreSelection:function(){var a=tinyMCEPopup;if(!a.isWindow&&tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}},requireLangPack:function(){var b=this,a=b.getWindowArg("plugin_url")||b.getWindowArg("theme_url");if(a&&b.editor.settings.language&&b.features.translate_i18n!==false&&b.editor.settings.language_load!==false){a+="/langs/"+b.editor.settings.language+"_dlg.js";if(!tinymce.ScriptLoader.isDone(a)){document.write('<script type="text/javascript" src="'+tinymce._addVer(a)+'"><\/script>');tinymce.ScriptLoader.markDone(a)}}},pickColor:function(b,a){this.execCommand("mceColorPicker",true,{color:document.getElementById(a).value,func:function(e){document.getElementById(a).value=e;try{document.getElementById(a).onchange()}catch(d){}}})},openBrowser:function(a,c,b){tinyMCEPopup.restoreSelection();this.editor.execCallback("file_browser_callback",a,document.getElementById(a).value,c,window)},confirm:function(b,a,c){this.editor.windowManager.confirm(b,a,c,window)},alert:function(b,a,c){this.editor.windowManager.alert(b,a,c,window)},close:function(){var a=this;function b(){a.editor.windowManager.close(window);tinymce=tinyMCE=a.editor=a.params=a.dom=a.dom.doc=null}if(tinymce.isOpera){a.getWin().setTimeout(b,0)}else{b()}},_restoreSelection:function(){var a=window.event.srcElement;if(a.nodeName=="INPUT"&&(a.type=="submit"||a.type=="button")){tinyMCEPopup.restoreSelection()}},_onDOMLoaded:function(){var b=tinyMCEPopup,d=document.title,e,c,a;if(b.domLoaded){return}b.domLoaded=1;if(b.features.translate_i18n!==false){c=document.body.innerHTML;if(tinymce.isIE){c=c.replace(/ (value|title|alt)=([^"][^\s>]+)/gi,' $1="$2"')}document.dir=b.editor.getParam("directionality","");if((a=b.editor.translate(c))&&a!=c){document.body.innerHTML=a}if((a=b.editor.translate(d))&&a!=d){document.title=d=a}}if(!b.editor.getParam("browser_preferred_colors",false)||!b.isWindow){b.dom.addClass(document.body,"forceColors")}document.body.style.display="";if(tinymce.isIE){document.attachEvent("onmouseup",tinyMCEPopup._restoreSelection);b.dom.add(b.dom.select("head")[0],"base",{target:"_self"})}b.restoreSelection();b.resizeToInnerSize();if(!b.isWindow){b.editor.windowManager.setTitle(window,d)}else{window.focus()}if(!tinymce.isIE&&!b.isWindow){tinymce.dom.Event._add(document,"focus",function(){b.editor.windowManager.focus(b.id)})}tinymce.each(b.dom.select("select"),function(f){f.onkeydown=tinyMCEPopup._accessHandler});tinymce.each(b.listeners,function(f){f.func.call(f.scope,b.editor)});if(b.getWindowArg("mce_auto_focus",true)){window.focus();tinymce.each(document.forms,function(g){tinymce.each(g.elements,function(f){if(b.dom.hasClass(f,"mceFocus")&&!f.disabled){f.focus();return false}})})}document.onkeyup=tinyMCEPopup._closeWinKeyHandler},_accessHandler:function(a){a=a||window.event;if(a.keyCode==13||a.keyCode==32){a=a.target||a.srcElement;if(a.onchange){a.onchange()}return tinymce.dom.Event.cancel(a)}},_closeWinKeyHandler:function(a){a=a||window.event;if(a.keyCode==27){tinyMCEPopup.close()}},_wait:function(){if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);tinyMCEPopup._onDOMLoaded()}});if(document.documentElement.doScroll&&window==window.top){(function(){if(tinyMCEPopup.domLoaded){return}try{document.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee,0);return}tinyMCEPopup._onDOMLoaded()})()}document.attachEvent("onload",tinyMCEPopup._onDOMLoaded)}else{if(document.addEventListener){window.addEventListener("DOMContentLoaded",tinyMCEPopup._onDOMLoaded,false);window.addEventListener("load",tinyMCEPopup._onDOMLoaded,false)}}}};tinyMCEPopup.init();tinyMCEPopup._wait(); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/tiny_mce_src.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/tiny_mce_src.js new file mode 100644 index 00000000..26321a97 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/tiny_mce_src.js @@ -0,0 +1,16342 @@ +(function(win) { + var whiteSpaceRe = /^\s*|\s*$/g, + undefined, isRegExpBroken = 'B'.replace(/A(.)|B/, '$1') === '$1'; + + var tinymce = { + majorVersion : '3', + + minorVersion : '4.4', + + releaseDate : '2011-08-04', + + _init : function() { + var t = this, d = document, na = navigator, ua = na.userAgent, i, nl, n, base, p, v; + + t.isOpera = win.opera && opera.buildNumber; + + t.isWebKit = /WebKit/.test(ua); + + t.isIE = !t.isWebKit && !t.isOpera && (/MSIE/gi).test(ua) && (/Explorer/gi).test(na.appName); + + t.isIE6 = t.isIE && /MSIE [56]/.test(ua); + + t.isIE7 = t.isIE && /MSIE [7]/.test(ua); + + t.isIE8 = t.isIE && /MSIE [8]/.test(ua); + + t.isIE9 = t.isIE && /MSIE [9]/.test(ua); + + t.isGecko = !t.isWebKit && /Gecko/.test(ua); + + t.isMac = ua.indexOf('Mac') != -1; + + t.isAir = /adobeair/i.test(ua); + + t.isIDevice = /(iPad|iPhone)/.test(ua); + + t.isIOS5 = t.isIDevice && ua.match(/AppleWebKit\/(\d*)/)[1]>=534; + + // TinyMCE .NET webcontrol might be setting the values for TinyMCE + if (win.tinyMCEPreInit) { + t.suffix = tinyMCEPreInit.suffix; + t.baseURL = tinyMCEPreInit.base; + t.query = tinyMCEPreInit.query; + return; + } + + // Get suffix and base + t.suffix = ''; + + // If base element found, add that infront of baseURL + nl = d.getElementsByTagName('base'); + for (i=0; i<nl.length; i++) { + if (v = nl[i].href) { + // Host only value like http://site.com or http://site.com:8008 + if (/^https?:\/\/[^\/]+$/.test(v)) + v += '/'; + + base = v ? v.match(/.*\//)[0] : ''; // Get only directory + } + } + + function getBase(n) { + if (n.src && /tiny_mce(|_gzip|_jquery|_prototype|_full)(_dev|_src)?.js/.test(n.src)) { + if (/_(src|dev)\.js/g.test(n.src)) + t.suffix = '_src'; + + if ((p = n.src.indexOf('?')) != -1) + t.query = n.src.substring(p + 1); + + t.baseURL = n.src.substring(0, n.src.lastIndexOf('/')); + + // If path to script is relative and a base href was found add that one infront + // the src property will always be an absolute one on non IE browsers and IE 8 + // so this logic will basically only be executed on older IE versions + if (base && t.baseURL.indexOf('://') == -1 && t.baseURL.indexOf('/') !== 0) + t.baseURL = base + t.baseURL; + + return t.baseURL; + } + + return null; + }; + + // Check document + nl = d.getElementsByTagName('script'); + for (i=0; i<nl.length; i++) { + if (getBase(nl[i])) + return; + } + + // Check head + n = d.getElementsByTagName('head')[0]; + if (n) { + nl = n.getElementsByTagName('script'); + for (i=0; i<nl.length; i++) { + if (getBase(nl[i])) + return; + } + } + + return; + }, + + is : function(o, t) { + if (!t) + return o !== undefined; + + if (t == 'array' && (o.hasOwnProperty && o instanceof Array)) + return true; + + return typeof(o) == t; + }, + + makeMap : function(items, delim, map) { + var i; + + items = items || []; + delim = delim || ','; + + if (typeof(items) == "string") + items = items.split(delim); + + map = map || {}; + + i = items.length; + while (i--) + map[items[i]] = {}; + + return map; + }, + + each : function(o, cb, s) { + var n, l; + + if (!o) + return 0; + + s = s || o; + + if (o.length !== undefined) { + // Indexed arrays, needed for Safari + for (n=0, l = o.length; n < l; n++) { + if (cb.call(s, o[n], n, o) === false) + return 0; + } + } else { + // Hashtables + for (n in o) { + if (o.hasOwnProperty(n)) { + if (cb.call(s, o[n], n, o) === false) + return 0; + } + } + } + + return 1; + }, + + + map : function(a, f) { + var o = []; + + tinymce.each(a, function(v) { + o.push(f(v)); + }); + + return o; + }, + + grep : function(a, f) { + var o = []; + + tinymce.each(a, function(v) { + if (!f || f(v)) + o.push(v); + }); + + return o; + }, + + inArray : function(a, v) { + var i, l; + + if (a) { + for (i = 0, l = a.length; i < l; i++) { + if (a[i] === v) + return i; + } + } + + return -1; + }, + + extend : function(o, e) { + var i, l, a = arguments; + + for (i = 1, l = a.length; i < l; i++) { + e = a[i]; + + tinymce.each(e, function(v, n) { + if (v !== undefined) + o[n] = v; + }); + } + + return o; + }, + + + trim : function(s) { + return (s ? '' + s : '').replace(whiteSpaceRe, ''); + }, + + create : function(s, p, root) { + var t = this, sp, ns, cn, scn, c, de = 0; + + // Parse : <prefix> <class>:<super class> + s = /^((static) )?([\w.]+)(:([\w.]+))?/.exec(s); + cn = s[3].match(/(^|\.)(\w+)$/i)[2]; // Class name + + // Create namespace for new class + ns = t.createNS(s[3].replace(/\.\w+$/, ''), root); + + // Class already exists + if (ns[cn]) + return; + + // Make pure static class + if (s[2] == 'static') { + ns[cn] = p; + + if (this.onCreate) + this.onCreate(s[2], s[3], ns[cn]); + + return; + } + + // Create default constructor + if (!p[cn]) { + p[cn] = function() {}; + de = 1; + } + + // Add constructor and methods + ns[cn] = p[cn]; + t.extend(ns[cn].prototype, p); + + // Extend + if (s[5]) { + sp = t.resolve(s[5]).prototype; + scn = s[5].match(/\.(\w+)$/i)[1]; // Class name + + // Extend constructor + c = ns[cn]; + if (de) { + // Add passthrough constructor + ns[cn] = function() { + return sp[scn].apply(this, arguments); + }; + } else { + // Add inherit constructor + ns[cn] = function() { + this.parent = sp[scn]; + return c.apply(this, arguments); + }; + } + ns[cn].prototype[cn] = ns[cn]; + + // Add super methods + t.each(sp, function(f, n) { + ns[cn].prototype[n] = sp[n]; + }); + + // Add overridden methods + t.each(p, function(f, n) { + // Extend methods if needed + if (sp[n]) { + ns[cn].prototype[n] = function() { + this.parent = sp[n]; + return f.apply(this, arguments); + }; + } else { + if (n != cn) + ns[cn].prototype[n] = f; + } + }); + } + + // Add static methods + t.each(p['static'], function(f, n) { + ns[cn][n] = f; + }); + + if (this.onCreate) + this.onCreate(s[2], s[3], ns[cn].prototype); + }, + + walk : function(o, f, n, s) { + s = s || this; + + if (o) { + if (n) + o = o[n]; + + tinymce.each(o, function(o, i) { + if (f.call(s, o, i, n) === false) + return false; + + tinymce.walk(o, f, n, s); + }); + } + }, + + createNS : function(n, o) { + var i, v; + + o = o || win; + + n = n.split('.'); + for (i=0; i<n.length; i++) { + v = n[i]; + + if (!o[v]) + o[v] = {}; + + o = o[v]; + } + + return o; + }, + + resolve : function(n, o) { + var i, l; + + o = o || win; + + n = n.split('.'); + for (i = 0, l = n.length; i < l; i++) { + o = o[n[i]]; + + if (!o) + break; + } + + return o; + }, + + addUnload : function(f, s) { + var t = this; + + f = {func : f, scope : s || this}; + + if (!t.unloads) { + function unload() { + var li = t.unloads, o, n; + + if (li) { + // Call unload handlers + for (n in li) { + o = li[n]; + + if (o && o.func) + o.func.call(o.scope, 1); // Send in one arg to distinct unload and user destroy + } + + // Detach unload function + if (win.detachEvent) { + win.detachEvent('onbeforeunload', fakeUnload); + win.detachEvent('onunload', unload); + } else if (win.removeEventListener) + win.removeEventListener('unload', unload, false); + + // Destroy references + t.unloads = o = li = w = unload = 0; + + // Run garbarge collector on IE + if (win.CollectGarbage) + CollectGarbage(); + } + }; + + function fakeUnload() { + var d = document; + + // Is there things still loading, then do some magic + if (d.readyState == 'interactive') { + function stop() { + // Prevent memory leak + d.detachEvent('onstop', stop); + + // Call unload handler + if (unload) + unload(); + + d = 0; + }; + + // Fire unload when the currently loading page is stopped + if (d) + d.attachEvent('onstop', stop); + + // Remove onstop listener after a while to prevent the unload function + // to execute if the user presses cancel in an onbeforeunload + // confirm dialog and then presses the browser stop button + win.setTimeout(function() { + if (d) + d.detachEvent('onstop', stop); + }, 0); + } + }; + + // Attach unload handler + if (win.attachEvent) { + win.attachEvent('onunload', unload); + win.attachEvent('onbeforeunload', fakeUnload); + } else if (win.addEventListener) + win.addEventListener('unload', unload, false); + + // Setup initial unload handler array + t.unloads = [f]; + } else + t.unloads.push(f); + + return f; + }, + + removeUnload : function(f) { + var u = this.unloads, r = null; + + tinymce.each(u, function(o, i) { + if (o && o.func == f) { + u.splice(i, 1); + r = f; + return false; + } + }); + + return r; + }, + + explode : function(s, d) { + return s ? tinymce.map(s.split(d || ','), tinymce.trim) : s; + }, + + _addVer : function(u) { + var v; + + if (!this.query) + return u; + + v = (u.indexOf('?') == -1 ? '?' : '&') + this.query; + + if (u.indexOf('#') == -1) + return u + v; + + return u.replace('#', v + '#'); + }, + + // Fix function for IE 9 where regexps isn't working correctly + // Todo: remove me once MS fixes the bug + _replace : function(find, replace, str) { + // On IE9 we have to fake $x replacement + if (isRegExpBroken) { + return str.replace(find, function() { + var val = replace, args = arguments, i; + + for (i = 0; i < args.length - 2; i++) { + if (args[i] === undefined) { + val = val.replace(new RegExp('\\$' + i, 'g'), ''); + } else { + val = val.replace(new RegExp('\\$' + i, 'g'), args[i]); + } + } + + return val; + }); + } + + return str.replace(find, replace); + } + + }; + + // Initialize the API + tinymce._init(); + + // Expose tinymce namespace to the global namespace (window) + win.tinymce = win.tinyMCE = tinymce; + + // Describe the different namespaces + + })(window); + + + +tinymce.create('tinymce.util.Dispatcher', { + scope : null, + listeners : null, + + Dispatcher : function(s) { + this.scope = s || this; + this.listeners = []; + }, + + add : function(cb, s) { + this.listeners.push({cb : cb, scope : s || this.scope}); + + return cb; + }, + + addToTop : function(cb, s) { + this.listeners.unshift({cb : cb, scope : s || this.scope}); + + return cb; + }, + + remove : function(cb) { + var l = this.listeners, o = null; + + tinymce.each(l, function(c, i) { + if (cb == c.cb) { + o = cb; + l.splice(i, 1); + return false; + } + }); + + return o; + }, + + dispatch : function() { + var s, a = arguments, i, li = this.listeners, c; + + // Needs to be a real loop since the listener count might change while looping + // And this is also more efficient + for (i = 0; i<li.length; i++) { + c = li[i]; + s = c.cb.apply(c.scope, a); + + if (s === false) + break; + } + + return s; + } + + }); + +(function() { + var each = tinymce.each; + + tinymce.create('tinymce.util.URI', { + URI : function(u, s) { + var t = this, o, a, b, base_url; + + // Trim whitespace + u = tinymce.trim(u); + + // Default settings + s = t.settings = s || {}; + + // Strange app protocol or local anchor + if (/^(mailto|tel|news|javascript|about|data):/i.test(u) || /^\s*#/.test(u)) { + t.source = u; + return; + } + + // Absolute path with no host, fake host and protocol + if (u.indexOf('/') === 0 && u.indexOf('//') !== 0) + u = (s.base_uri ? s.base_uri.protocol || 'http' : 'http') + '://mce_host' + u; + + // Relative path http:// or protocol relative //path + if (!/^[\w-]*:?\/\//.test(u)) { + base_url = s.base_uri ? s.base_uri.path : new tinymce.util.URI(location.href).directory; + u = ((s.base_uri && s.base_uri.protocol) || 'http') + '://mce_host' + t.toAbsPath(base_url, u); + } + + // Parse URL (Credits goes to Steave, http://blog.stevenlevithan.com/archives/parseuri) + u = u.replace(/@@/g, '(mce_at)'); // Zope 3 workaround, they use @@something + u = /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(u); + each(["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"], function(v, i) { + var s = u[i]; + + // Zope 3 workaround, they use @@something + if (s) + s = s.replace(/\(mce_at\)/g, '@@'); + + t[v] = s; + }); + + if (b = s.base_uri) { + if (!t.protocol) + t.protocol = b.protocol; + + if (!t.userInfo) + t.userInfo = b.userInfo; + + if (!t.port && t.host == 'mce_host') + t.port = b.port; + + if (!t.host || t.host == 'mce_host') + t.host = b.host; + + t.source = ''; + } + + //t.path = t.path || '/'; + }, + + setPath : function(p) { + var t = this; + + p = /^(.*?)\/?(\w+)?$/.exec(p); + + // Update path parts + t.path = p[0]; + t.directory = p[1]; + t.file = p[2]; + + // Rebuild source + t.source = ''; + t.getURI(); + }, + + toRelative : function(u) { + var t = this, o; + + if (u === "./") + return u; + + u = new tinymce.util.URI(u, {base_uri : t}); + + // Not on same domain/port or protocol + if ((u.host != 'mce_host' && t.host != u.host && u.host) || t.port != u.port || t.protocol != u.protocol) + return u.getURI(); + + o = t.toRelPath(t.path, u.path); + + // Add query + if (u.query) + o += '?' + u.query; + + // Add anchor + if (u.anchor) + o += '#' + u.anchor; + + return o; + }, + + toAbsolute : function(u, nh) { + var u = new tinymce.util.URI(u, {base_uri : this}); + + return u.getURI(this.host == u.host && this.protocol == u.protocol ? nh : 0); + }, + + toRelPath : function(base, path) { + var items, bp = 0, out = '', i, l; + + // Split the paths + base = base.substring(0, base.lastIndexOf('/')); + base = base.split('/'); + items = path.split('/'); + + if (base.length >= items.length) { + for (i = 0, l = base.length; i < l; i++) { + if (i >= items.length || base[i] != items[i]) { + bp = i + 1; + break; + } + } + } + + if (base.length < items.length) { + for (i = 0, l = items.length; i < l; i++) { + if (i >= base.length || base[i] != items[i]) { + bp = i + 1; + break; + } + } + } + + if (bp == 1) + return path; + + for (i = 0, l = base.length - (bp - 1); i < l; i++) + out += "../"; + + for (i = bp - 1, l = items.length; i < l; i++) { + if (i != bp - 1) + out += "/" + items[i]; + else + out += items[i]; + } + + return out; + }, + + toAbsPath : function(base, path) { + var i, nb = 0, o = [], tr, outPath; + + // Split paths + tr = /\/$/.test(path) ? '/' : ''; + base = base.split('/'); + path = path.split('/'); + + // Remove empty chunks + each(base, function(k) { + if (k) + o.push(k); + }); + + base = o; + + // Merge relURLParts chunks + for (i = path.length - 1, o = []; i >= 0; i--) { + // Ignore empty or . + if (path[i].length == 0 || path[i] == ".") + continue; + + // Is parent + if (path[i] == '..') { + nb++; + continue; + } + + // Move up + if (nb > 0) { + nb--; + continue; + } + + o.push(path[i]); + } + + i = base.length - nb; + + // If /a/b/c or / + if (i <= 0) + outPath = o.reverse().join('/'); + else + outPath = base.slice(0, i).join('/') + '/' + o.reverse().join('/'); + + // Add front / if it's needed + if (outPath.indexOf('/') !== 0) + outPath = '/' + outPath; + + // Add traling / if it's needed + if (tr && outPath.lastIndexOf('/') !== outPath.length - 1) + outPath += tr; + + return outPath; + }, + + getURI : function(nh) { + var s, t = this; + + // Rebuild source + if (!t.source || nh) { + s = ''; + + if (!nh) { + if (t.protocol) + s += t.protocol + '://'; + + if (t.userInfo) + s += t.userInfo + '@'; + + if (t.host) + s += t.host; + + if (t.port) + s += ':' + t.port; + } + + if (t.path) + s += t.path; + + if (t.query) + s += '?' + t.query; + + if (t.anchor) + s += '#' + t.anchor; + + t.source = s; + } + + return t.source; + } + }); +})(); + +(function() { + var each = tinymce.each; + + tinymce.create('static tinymce.util.Cookie', { + getHash : function(n) { + var v = this.get(n), h; + + if (v) { + each(v.split('&'), function(v) { + v = v.split('='); + h = h || {}; + h[unescape(v[0])] = unescape(v[1]); + }); + } + + return h; + }, + + setHash : function(n, v, e, p, d, s) { + var o = ''; + + each(v, function(v, k) { + o += (!o ? '' : '&') + escape(k) + '=' + escape(v); + }); + + this.set(n, o, e, p, d, s); + }, + + get : function(n) { + var c = document.cookie, e, p = n + "=", b; + + // Strict mode + if (!c) + return; + + b = c.indexOf("; " + p); + + if (b == -1) { + b = c.indexOf(p); + + if (b != 0) + return null; + } else + b += 2; + + e = c.indexOf(";", b); + + if (e == -1) + e = c.length; + + return unescape(c.substring(b + p.length, e)); + }, + + set : function(n, v, e, p, d, s) { + document.cookie = n + "=" + escape(v) + + ((e) ? "; expires=" + e.toGMTString() : "") + + ((p) ? "; path=" + escape(p) : "") + + ((d) ? "; domain=" + d : "") + + ((s) ? "; secure" : ""); + }, + + remove : function(n, p) { + var d = new Date(); + + d.setTime(d.getTime() - 1000); + + this.set(n, '', d, p, d); + } + }); +})(); + +(function() { + function serialize(o, quote) { + var i, v, t; + + quote = quote || '"'; + + if (o == null) + return 'null'; + + t = typeof o; + + if (t == 'string') { + v = '\bb\tt\nn\ff\rr\""\'\'\\\\'; + + return quote + o.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g, function(a, b) { + // Make sure single quotes never get encoded inside double quotes for JSON compatibility + if (quote === '"' && a === "'") + return a; + + i = v.indexOf(b); + + if (i + 1) + return '\\' + v.charAt(i + 1); + + a = b.charCodeAt().toString(16); + + return '\\u' + '0000'.substring(a.length) + a; + }) + quote; + } + + if (t == 'object') { + if (o.hasOwnProperty && o instanceof Array) { + for (i=0, v = '['; i<o.length; i++) + v += (i > 0 ? ',' : '') + serialize(o[i], quote); + + return v + ']'; + } + + v = '{'; + + for (i in o) + v += typeof o[i] != 'function' ? (v.length > 1 ? ',' + quote : quote) + i + quote +':' + serialize(o[i], quote) : ''; + + return v + '}'; + } + + return '' + o; + }; + + tinymce.util.JSON = { + serialize: serialize, + + parse: function(s) { + try { + return eval('(' + s + ')'); + } catch (ex) { + // Ignore + } + } + + }; +})(); +tinymce.create('static tinymce.util.XHR', { + send : function(o) { + var x, t, w = window, c = 0; + + // Default settings + o.scope = o.scope || this; + o.success_scope = o.success_scope || o.scope; + o.error_scope = o.error_scope || o.scope; + o.async = o.async === false ? false : true; + o.data = o.data || ''; + + function get(s) { + x = 0; + + try { + x = new ActiveXObject(s); + } catch (ex) { + } + + return x; + }; + + x = w.XMLHttpRequest ? new XMLHttpRequest() : get('Microsoft.XMLHTTP') || get('Msxml2.XMLHTTP'); + + if (x) { + if (x.overrideMimeType) + x.overrideMimeType(o.content_type); + + x.open(o.type || (o.data ? 'POST' : 'GET'), o.url, o.async); + + if (o.content_type) + x.setRequestHeader('Content-Type', o.content_type); + + x.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); + + x.send(o.data); + + function ready() { + if (!o.async || x.readyState == 4 || c++ > 10000) { + if (o.success && c < 10000 && x.status == 200) + o.success.call(o.success_scope, '' + x.responseText, x, o); + else if (o.error) + o.error.call(o.error_scope, c > 10000 ? 'TIMED_OUT' : 'GENERAL', x, o); + + x = null; + } else + w.setTimeout(ready, 10); + }; + + // Syncronous request + if (!o.async) + return ready(); + + // Wait for response, onReadyStateChange can not be used since it leaks memory in IE + t = w.setTimeout(ready, 10); + } + } +}); + +(function() { + var extend = tinymce.extend, JSON = tinymce.util.JSON, XHR = tinymce.util.XHR; + + tinymce.create('tinymce.util.JSONRequest', { + JSONRequest : function(s) { + this.settings = extend({ + }, s); + this.count = 0; + }, + + send : function(o) { + var ecb = o.error, scb = o.success; + + o = extend(this.settings, o); + + o.success = function(c, x) { + c = JSON.parse(c); + + if (typeof(c) == 'undefined') { + c = { + error : 'JSON Parse error.' + }; + } + + if (c.error) + ecb.call(o.error_scope || o.scope, c.error, x); + else + scb.call(o.success_scope || o.scope, c.result); + }; + + o.error = function(ty, x) { + if (ecb) + ecb.call(o.error_scope || o.scope, ty, x); + }; + + o.data = JSON.serialize({ + id : o.id || 'c' + (this.count++), + method : o.method, + params : o.params + }); + + // JSON content type for Ruby on rails. Bug: #1883287 + o.content_type = 'application/json'; + + XHR.send(o); + }, + + 'static' : { + sendRPC : function(o) { + return new tinymce.util.JSONRequest().send(o); + } + } + }); +}()); +(function(tinymce){ + tinymce.VK = { + DELETE:46, + BACKSPACE:8 + + } + +})(tinymce); + +(function(tinymce) { + function cleanupStylesWhenDeleting(ed) { + var dom = ed.dom, selection = ed.selection, VK= tinymce.VK; + ed.onKeyUp.add(function(ed, e) { + if (e.keyCode == VK.DELETE ||e.keyCode == VK.BACKSPACE) { + var startContainer = selection.getRng().startContainer; + var blockElement = startContainer; + while (!dom.isBlock(blockElement)) { + blockElement = blockElement.parentNode; + } + var spans = dom.select("span.Apple-style-span", blockElement); + dom.remove(spans, true); + } + }); + } + + tinymce.create('tinymce.util.Quirks', { + Quirks: function(ed) { + if (tinymce.isWebKit) { + cleanupStylesWhenDeleting(ed); + } + + } + }); +})(tinymce); + +(function(tinymce) { + var namedEntities, baseEntities, reverseEntities, + attrsCharsRegExp = /[&<>\"\u007E-\uD7FF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g, + textCharsRegExp = /[<>&\u007E-\uD7FF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g, + rawCharsRegExp = /[<>&\"\']/g, + entityRegExp = /&(#x|#)?([\w]+);/g, + asciiMap = { + 128 : "\u20AC", 130 : "\u201A", 131 : "\u0192", 132 : "\u201E", 133 : "\u2026", 134 : "\u2020", + 135 : "\u2021", 136 : "\u02C6", 137 : "\u2030", 138 : "\u0160", 139 : "\u2039", 140 : "\u0152", + 142 : "\u017D", 145 : "\u2018", 146 : "\u2019", 147 : "\u201C", 148 : "\u201D", 149 : "\u2022", + 150 : "\u2013", 151 : "\u2014", 152 : "\u02DC", 153 : "\u2122", 154 : "\u0161", 155 : "\u203A", + 156 : "\u0153", 158 : "\u017E", 159 : "\u0178" + }; + + // Raw entities + baseEntities = { + '\"' : '"', // Needs to be escaped since the YUI compressor would otherwise break the code + "'" : ''', + '<' : '<', + '>' : '>', + '&' : '&' + }; + + // Reverse lookup table for raw entities + reverseEntities = { + '<' : '<', + '>' : '>', + '&' : '&', + '"' : '"', + ''' : "'" + }; + + // Decodes text by using the browser + function nativeDecode(text) { + var elm; + + elm = document.createElement("div"); + elm.innerHTML = text; + + return elm.textContent || elm.innerText || text; + }; + + // Build a two way lookup table for the entities + function buildEntitiesLookup(items, radix) { + var i, chr, entity, lookup = {}; + + if (items) { + items = items.split(','); + radix = radix || 10; + + // Build entities lookup table + for (i = 0; i < items.length; i += 2) { + chr = String.fromCharCode(parseInt(items[i], radix)); + + // Only add non base entities + if (!baseEntities[chr]) { + entity = '&' + items[i + 1] + ';'; + lookup[chr] = entity; + lookup[entity] = chr; + } + } + + return lookup; + } + }; + + // Unpack entities lookup where the numbers are in radix 32 to reduce the size + namedEntities = buildEntitiesLookup( + '50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,' + + '5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,' + + '5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,' + + '5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,' + + '68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,' + + '6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,' + + '6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,' + + '75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,' + + '7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,' + + '7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,' + + 'sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,' + + 'st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,' + + 't9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,' + + 'tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,' + + 'u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,' + + '81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,' + + '8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,' + + '8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,' + + '8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,' + + '8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,' + + 'nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,' + + 'rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,' + + 'Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,' + + '80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,' + + '811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro' + , 32); + + tinymce.html = tinymce.html || {}; + + tinymce.html.Entities = { + encodeRaw : function(text, attr) { + return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, function(chr) { + return baseEntities[chr] || chr; + }); + }, + + encodeAllRaw : function(text) { + return ('' + text).replace(rawCharsRegExp, function(chr) { + return baseEntities[chr] || chr; + }); + }, + + encodeNumeric : function(text, attr) { + return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, function(chr) { + // Multi byte sequence convert it to a single entity + if (chr.length > 1) + return '&#' + (((chr.charCodeAt(0) - 0xD800) * 0x400) + (chr.charCodeAt(1) - 0xDC00) + 0x10000) + ';'; + + return baseEntities[chr] || '&#' + chr.charCodeAt(0) + ';'; + }); + }, + + encodeNamed : function(text, attr, entities) { + entities = entities || namedEntities; + + return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, function(chr) { + return baseEntities[chr] || entities[chr] || chr; + }); + }, + + getEncodeFunc : function(name, entities) { + var Entities = tinymce.html.Entities; + + entities = buildEntitiesLookup(entities) || namedEntities; + + function encodeNamedAndNumeric(text, attr) { + return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, function(chr) { + return baseEntities[chr] || entities[chr] || '&#' + chr.charCodeAt(0) + ';' || chr; + }); + }; + + function encodeCustomNamed(text, attr) { + return Entities.encodeNamed(text, attr, entities); + }; + + // Replace + with , to be compatible with previous TinyMCE versions + name = tinymce.makeMap(name.replace(/\+/g, ',')); + + // Named and numeric encoder + if (name.named && name.numeric) + return encodeNamedAndNumeric; + + // Named encoder + if (name.named) { + // Custom names + if (entities) + return encodeCustomNamed; + + return Entities.encodeNamed; + } + + // Numeric + if (name.numeric) + return Entities.encodeNumeric; + + // Raw encoder + return Entities.encodeRaw; + }, + + decode : function(text) { + return text.replace(entityRegExp, function(all, numeric, value) { + if (numeric) { + value = parseInt(value, numeric.length === 2 ? 16 : 10); + + // Support upper UTF + if (value > 0xFFFF) { + value -= 0x10000; + + return String.fromCharCode(0xD800 + (value >> 10), 0xDC00 + (value & 0x3FF)); + } else + return asciiMap[value] || String.fromCharCode(value); + } + + return reverseEntities[all] || namedEntities[all] || nativeDecode(all); + }); + } + }; +})(tinymce); + +tinymce.html.Styles = function(settings, schema) { + var rgbRegExp = /rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi, + urlOrStrRegExp = /(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi, + styleRegExp = /\s*([^:]+):\s*([^;]+);?/g, + trimRightRegExp = /\s+$/, + urlColorRegExp = /rgb/, + undef, i, encodingLookup = {}, encodingItems; + + settings = settings || {}; + + encodingItems = '\\" \\\' \\; \\: ; : \uFEFF'.split(' '); + for (i = 0; i < encodingItems.length; i++) { + encodingLookup[encodingItems[i]] = '\uFEFF' + i; + encodingLookup['\uFEFF' + i] = encodingItems[i]; + } + + function toHex(match, r, g, b) { + function hex(val) { + val = parseInt(val).toString(16); + + return val.length > 1 ? val : '0' + val; // 0 -> 00 + }; + + return '#' + hex(r) + hex(g) + hex(b); + }; + + return { + toHex : function(color) { + return color.replace(rgbRegExp, toHex); + }, + + parse : function(css) { + var styles = {}, matches, name, value, isEncoded, urlConverter = settings.url_converter, urlConverterScope = settings.url_converter_scope || this; + + function compress(prefix, suffix) { + var top, right, bottom, left; + + // Get values and check it it needs compressing + top = styles[prefix + '-top' + suffix]; + if (!top) + return; + + right = styles[prefix + '-right' + suffix]; + if (top != right) + return; + + bottom = styles[prefix + '-bottom' + suffix]; + if (right != bottom) + return; + + left = styles[prefix + '-left' + suffix]; + if (bottom != left) + return; + + // Compress + styles[prefix + suffix] = left; + delete styles[prefix + '-top' + suffix]; + delete styles[prefix + '-right' + suffix]; + delete styles[prefix + '-bottom' + suffix]; + delete styles[prefix + '-left' + suffix]; + }; + + function canCompress(key) { + var value = styles[key], i; + + if (!value || value.indexOf(' ') < 0) + return; + + value = value.split(' '); + i = value.length; + while (i--) { + if (value[i] !== value[0]) + return false; + } + + styles[key] = value[0]; + + return true; + }; + + function compress2(target, a, b, c) { + if (!canCompress(a)) + return; + + if (!canCompress(b)) + return; + + if (!canCompress(c)) + return; + + // Compress + styles[target] = styles[a] + ' ' + styles[b] + ' ' + styles[c]; + delete styles[a]; + delete styles[b]; + delete styles[c]; + }; + + // Encodes the specified string by replacing all \" \' ; : with _<num> + function encode(str) { + isEncoded = true; + + return encodingLookup[str]; + }; + + // Decodes the specified string by replacing all _<num> with it's original value \" \' etc + // It will also decode the \" \' if keep_slashes is set to fale or omitted + function decode(str, keep_slashes) { + if (isEncoded) { + str = str.replace(/\uFEFF[0-9]/g, function(str) { + return encodingLookup[str]; + }); + } + + if (!keep_slashes) + str = str.replace(/\\([\'\";:])/g, "$1"); + + return str; + } + + if (css) { + // Encode \" \' % and ; and : inside strings so they don't interfere with the style parsing + css = css.replace(/\\[\"\';:\uFEFF]/g, encode).replace(/\"[^\"]+\"|\'[^\']+\'/g, function(str) { + return str.replace(/[;:]/g, encode); + }); + + // Parse styles + while (matches = styleRegExp.exec(css)) { + name = matches[1].replace(trimRightRegExp, '').toLowerCase(); + value = matches[2].replace(trimRightRegExp, ''); + + if (name && value.length > 0) { + // Opera will produce 700 instead of bold in their style values + if (name === 'font-weight' && value === '700') + value = 'bold'; + else if (name === 'color' || name === 'background-color') // Lowercase colors like RED + value = value.toLowerCase(); + + // Convert RGB colors to HEX + value = value.replace(rgbRegExp, toHex); + + // Convert URLs and force them into url('value') format + value = value.replace(urlOrStrRegExp, function(match, url, url2, url3, str, str2) { + str = str || str2; + + if (str) { + str = decode(str); + + // Force strings into single quote format + return "'" + str.replace(/\'/g, "\\'") + "'"; + } + + url = decode(url || url2 || url3); + + // Convert the URL to relative/absolute depending on config + if (urlConverter) + url = urlConverter.call(urlConverterScope, url, 'style'); + + // Output new URL format + return "url('" + url.replace(/\'/g, "\\'") + "')"; + }); + + styles[name] = isEncoded ? decode(value, true) : value; + } + + styleRegExp.lastIndex = matches.index + matches[0].length; + } + + // Compress the styles to reduce it's size for example IE will expand styles + compress("border", ""); + compress("border", "-width"); + compress("border", "-color"); + compress("border", "-style"); + compress("padding", ""); + compress("margin", ""); + compress2('border', 'border-width', 'border-style', 'border-color'); + + // Remove pointless border, IE produces these + if (styles.border === 'medium none') + delete styles.border; + } + + return styles; + }, + + serialize : function(styles, element_name) { + var css = '', name, value; + + function serializeStyles(name) { + var styleList, i, l, value; + + styleList = schema.styles[name]; + if (styleList) { + for (i = 0, l = styleList.length; i < l; i++) { + name = styleList[i]; + value = styles[name]; + + if (value !== undef && value.length > 0) + css += (css.length > 0 ? ' ' : '') + name + ': ' + value + ';'; + } + } + }; + + // Serialize styles according to schema + if (element_name && schema && schema.styles) { + // Serialize global styles and element specific styles + serializeStyles('*'); + serializeStyles(element_name); + } else { + // Output the styles in the order they are inside the object + for (name in styles) { + value = styles[name]; + + if (value !== undef && value.length > 0) + css += (css.length > 0 ? ' ' : '') + name + ': ' + value + ';'; + } + } + + return css; + } + }; +}; + +(function(tinymce) { + var transitional = {}, boolAttrMap, blockElementsMap, shortEndedElementsMap, nonEmptyElementsMap, customElementsMap = {}, + whiteSpaceElementsMap, selfClosingElementsMap, makeMap = tinymce.makeMap, each = tinymce.each; + + function split(str, delim) { + return str.split(delim || ','); + }; + + function unpack(lookup, data) { + var key, elements = {}; + + function replace(value) { + return value.replace(/[A-Z]+/g, function(key) { + return replace(lookup[key]); + }); + }; + + // Unpack lookup + for (key in lookup) { + if (lookup.hasOwnProperty(key)) + lookup[key] = replace(lookup[key]); + } + + // Unpack and parse data into object map + replace(data).replace(/#/g, '#text').replace(/(\w+)\[([^\]]+)\]\[([^\]]*)\]/g, function(str, name, attributes, children) { + attributes = split(attributes, '|'); + + elements[name] = { + attributes : makeMap(attributes), + attributesOrder : attributes, + children : makeMap(children, '|', {'#comment' : {}}) + } + }); + + return elements; + }; + + // Build a lookup table for block elements both lowercase and uppercase + blockElementsMap = 'h1,h2,h3,h4,h5,h6,hr,p,div,address,pre,form,table,tbody,thead,tfoot,' + + 'th,tr,td,li,ol,ul,caption,blockquote,center,dl,dt,dd,dir,fieldset,' + + 'noscript,menu,isindex,samp,header,footer,article,section,hgroup'; + blockElementsMap = makeMap(blockElementsMap, ',', makeMap(blockElementsMap.toUpperCase())); + + // This is the XHTML 1.0 transitional elements with it's attributes and children packed to reduce it's size + transitional = unpack({ + Z : 'H|K|N|O|P', + Y : 'X|form|R|Q', + ZG : 'E|span|width|align|char|charoff|valign', + X : 'p|T|div|U|W|isindex|fieldset|table', + ZF : 'E|align|char|charoff|valign', + W : 'pre|hr|blockquote|address|center|noframes', + ZE : 'abbr|axis|headers|scope|rowspan|colspan|align|char|charoff|valign|nowrap|bgcolor|width|height', + ZD : '[E][S]', + U : 'ul|ol|dl|menu|dir', + ZC : 'p|Y|div|U|W|table|br|span|bdo|object|applet|img|map|K|N|Q', + T : 'h1|h2|h3|h4|h5|h6', + ZB : 'X|S|Q', + S : 'R|P', + ZA : 'a|G|J|M|O|P', + R : 'a|H|K|N|O', + Q : 'noscript|P', + P : 'ins|del|script', + O : 'input|select|textarea|label|button', + N : 'M|L', + M : 'em|strong|dfn|code|q|samp|kbd|var|cite|abbr|acronym', + L : 'sub|sup', + K : 'J|I', + J : 'tt|i|b|u|s|strike', + I : 'big|small|font|basefont', + H : 'G|F', + G : 'br|span|bdo', + F : 'object|applet|img|map|iframe', + E : 'A|B|C', + D : 'accesskey|tabindex|onfocus|onblur', + C : 'onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup', + B : 'lang|xml:lang|dir', + A : 'id|class|style|title' + }, 'script[id|charset|type|language|src|defer|xml:space][]' + + 'style[B|id|type|media|title|xml:space][]' + + 'object[E|declare|classid|codebase|data|type|codetype|archive|standby|width|height|usemap|name|tabindex|align|border|hspace|vspace][#|param|Y]' + + 'param[id|name|value|valuetype|type][]' + + 'p[E|align][#|S]' + + 'a[E|D|charset|type|name|href|hreflang|rel|rev|shape|coords|target][#|Z]' + + 'br[A|clear][]' + + 'span[E][#|S]' + + 'bdo[A|C|B][#|S]' + + 'applet[A|codebase|archive|code|object|alt|name|width|height|align|hspace|vspace][#|param|Y]' + + 'h1[E|align][#|S]' + + 'img[E|src|alt|name|longdesc|width|height|usemap|ismap|align|border|hspace|vspace][]' + + 'map[B|C|A|name][X|form|Q|area]' + + 'h2[E|align][#|S]' + + 'iframe[A|longdesc|name|src|frameborder|marginwidth|marginheight|scrolling|align|width|height][#|Y]' + + 'h3[E|align][#|S]' + + 'tt[E][#|S]' + + 'i[E][#|S]' + + 'b[E][#|S]' + + 'u[E][#|S]' + + 's[E][#|S]' + + 'strike[E][#|S]' + + 'big[E][#|S]' + + 'small[E][#|S]' + + 'font[A|B|size|color|face][#|S]' + + 'basefont[id|size|color|face][]' + + 'em[E][#|S]' + + 'strong[E][#|S]' + + 'dfn[E][#|S]' + + 'code[E][#|S]' + + 'q[E|cite][#|S]' + + 'samp[E][#|S]' + + 'kbd[E][#|S]' + + 'var[E][#|S]' + + 'cite[E][#|S]' + + 'abbr[E][#|S]' + + 'acronym[E][#|S]' + + 'sub[E][#|S]' + + 'sup[E][#|S]' + + 'input[E|D|type|name|value|checked|disabled|readonly|size|maxlength|src|alt|usemap|onselect|onchange|accept|align][]' + + 'select[E|name|size|multiple|disabled|tabindex|onfocus|onblur|onchange][optgroup|option]' + + 'optgroup[E|disabled|label][option]' + + 'option[E|selected|disabled|label|value][]' + + 'textarea[E|D|name|rows|cols|disabled|readonly|onselect|onchange][]' + + 'label[E|for|accesskey|onfocus|onblur][#|S]' + + 'button[E|D|name|value|type|disabled][#|p|T|div|U|W|table|G|object|applet|img|map|K|N|Q]' + + 'h4[E|align][#|S]' + + 'ins[E|cite|datetime][#|Y]' + + 'h5[E|align][#|S]' + + 'del[E|cite|datetime][#|Y]' + + 'h6[E|align][#|S]' + + 'div[E|align][#|Y]' + + 'ul[E|type|compact][li]' + + 'li[E|type|value][#|Y]' + + 'ol[E|type|compact|start][li]' + + 'dl[E|compact][dt|dd]' + + 'dt[E][#|S]' + + 'dd[E][#|Y]' + + 'menu[E|compact][li]' + + 'dir[E|compact][li]' + + 'pre[E|width|xml:space][#|ZA]' + + 'hr[E|align|noshade|size|width][]' + + 'blockquote[E|cite][#|Y]' + + 'address[E][#|S|p]' + + 'center[E][#|Y]' + + 'noframes[E][#|Y]' + + 'isindex[A|B|prompt][]' + + 'fieldset[E][#|legend|Y]' + + 'legend[E|accesskey|align][#|S]' + + 'table[E|summary|width|border|frame|rules|cellspacing|cellpadding|align|bgcolor][caption|col|colgroup|thead|tfoot|tbody|tr]' + + 'caption[E|align][#|S]' + + 'col[ZG][]' + + 'colgroup[ZG][col]' + + 'thead[ZF][tr]' + + 'tr[ZF|bgcolor][th|td]' + + 'th[E|ZE][#|Y]' + + 'form[E|action|method|name|enctype|onsubmit|onreset|accept|accept-charset|target][#|X|R|Q]' + + 'noscript[E][#|Y]' + + 'td[E|ZE][#|Y]' + + 'tfoot[ZF][tr]' + + 'tbody[ZF][tr]' + + 'area[E|D|shape|coords|href|nohref|alt|target][]' + + 'base[id|href|target][]' + + 'body[E|onload|onunload|background|bgcolor|text|link|vlink|alink][#|Y]' + ); + + boolAttrMap = makeMap('checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected,autoplay,loop,controls'); + shortEndedElementsMap = makeMap('area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed,source'); + nonEmptyElementsMap = tinymce.extend(makeMap('td,th,iframe,video,audio,object'), shortEndedElementsMap); + whiteSpaceElementsMap = makeMap('pre,script,style,textarea'); + selfClosingElementsMap = makeMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr'); + + tinymce.html.Schema = function(settings) { + var self = this, elements = {}, children = {}, patternElements = [], validStyles; + + settings = settings || {}; + + // Allow all elements and attributes if verify_html is set to false + if (settings.verify_html === false) + settings.valid_elements = '*[*]'; + + // Build styles list + if (settings.valid_styles) { + validStyles = {}; + + // Convert styles into a rule list + each(settings.valid_styles, function(value, key) { + validStyles[key] = tinymce.explode(value); + }); + } + + // Converts a wildcard expression string to a regexp for example *a will become /.*a/. + function patternToRegExp(str) { + return new RegExp('^' + str.replace(/([?+*])/g, '.$1') + '$'); + }; + + // Parses the specified valid_elements string and adds to the current rules + // This function is a bit hard to read since it's heavily optimized for speed + function addValidElements(valid_elements) { + var ei, el, ai, al, yl, matches, element, attr, attrData, elementName, attrName, attrType, attributes, attributesOrder, + prefix, outputName, globalAttributes, globalAttributesOrder, transElement, key, childKey, value, + elementRuleRegExp = /^([#+-])?([^\[\/]+)(?:\/([^\[]+))?(?:\[([^\]]+)\])?$/, + attrRuleRegExp = /^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/, + hasPatternsRegExp = /[*?+]/; + + if (valid_elements) { + // Split valid elements into an array with rules + valid_elements = split(valid_elements); + + if (elements['@']) { + globalAttributes = elements['@'].attributes; + globalAttributesOrder = elements['@'].attributesOrder; + } + + // Loop all rules + for (ei = 0, el = valid_elements.length; ei < el; ei++) { + // Parse element rule + matches = elementRuleRegExp.exec(valid_elements[ei]); + if (matches) { + // Setup local names for matches + prefix = matches[1]; + elementName = matches[2]; + outputName = matches[3]; + attrData = matches[4]; + + // Create new attributes and attributesOrder + attributes = {}; + attributesOrder = []; + + // Create the new element + element = { + attributes : attributes, + attributesOrder : attributesOrder + }; + + // Padd empty elements prefix + if (prefix === '#') + element.paddEmpty = true; + + // Remove empty elements prefix + if (prefix === '-') + element.removeEmpty = true; + + // Copy attributes from global rule into current rule + if (globalAttributes) { + for (key in globalAttributes) + attributes[key] = globalAttributes[key]; + + attributesOrder.push.apply(attributesOrder, globalAttributesOrder); + } + + // Attributes defined + if (attrData) { + attrData = split(attrData, '|'); + for (ai = 0, al = attrData.length; ai < al; ai++) { + matches = attrRuleRegExp.exec(attrData[ai]); + if (matches) { + attr = {}; + attrType = matches[1]; + attrName = matches[2].replace(/::/g, ':'); + prefix = matches[3]; + value = matches[4]; + + // Required + if (attrType === '!') { + element.attributesRequired = element.attributesRequired || []; + element.attributesRequired.push(attrName); + attr.required = true; + } + + // Denied from global + if (attrType === '-') { + delete attributes[attrName]; + attributesOrder.splice(tinymce.inArray(attributesOrder, attrName), 1); + continue; + } + + // Default value + if (prefix) { + // Default value + if (prefix === '=') { + element.attributesDefault = element.attributesDefault || []; + element.attributesDefault.push({name: attrName, value: value}); + attr.defaultValue = value; + } + + // Forced value + if (prefix === ':') { + element.attributesForced = element.attributesForced || []; + element.attributesForced.push({name: attrName, value: value}); + attr.forcedValue = value; + } + + // Required values + if (prefix === '<') + attr.validValues = makeMap(value, '?'); + } + + // Check for attribute patterns + if (hasPatternsRegExp.test(attrName)) { + element.attributePatterns = element.attributePatterns || []; + attr.pattern = patternToRegExp(attrName); + element.attributePatterns.push(attr); + } else { + // Add attribute to order list if it doesn't already exist + if (!attributes[attrName]) + attributesOrder.push(attrName); + + attributes[attrName] = attr; + } + } + } + } + + // Global rule, store away these for later usage + if (!globalAttributes && elementName == '@') { + globalAttributes = attributes; + globalAttributesOrder = attributesOrder; + } + + // Handle substitute elements such as b/strong + if (outputName) { + element.outputName = elementName; + elements[outputName] = element; + } + + // Add pattern or exact element + if (hasPatternsRegExp.test(elementName)) { + element.pattern = patternToRegExp(elementName); + patternElements.push(element); + } else + elements[elementName] = element; + } + } + } + }; + + function setValidElements(valid_elements) { + elements = {}; + patternElements = []; + + addValidElements(valid_elements); + + each(transitional, function(element, name) { + children[name] = element.children; + }); + }; + + // Adds custom non HTML elements to the schema + function addCustomElements(custom_elements) { + var customElementRegExp = /^(~)?(.+)$/; + + if (custom_elements) { + each(split(custom_elements), function(rule) { + var matches = customElementRegExp.exec(rule), + inline = matches[1] === '~', + cloneName = inline ? 'span' : 'div', + name = matches[2]; + + children[name] = children[cloneName]; + customElementsMap[name] = cloneName; + + // If it's not marked as inline then add it to valid block elements + if (!inline) + blockElementsMap[name] = {}; + + // Add custom elements at span/div positions + each(children, function(element, child) { + if (element[cloneName]) + element[name] = element[cloneName]; + }); + }); + } + }; + + // Adds valid children to the schema object + function addValidChildren(valid_children) { + var childRuleRegExp = /^([+\-]?)(\w+)\[([^\]]+)\]$/; + + if (valid_children) { + each(split(valid_children), function(rule) { + var matches = childRuleRegExp.exec(rule), parent, prefix; + + if (matches) { + prefix = matches[1]; + + // Add/remove items from default + if (prefix) + parent = children[matches[2]]; + else + parent = children[matches[2]] = {'#comment' : {}}; + + parent = children[matches[2]]; + + each(split(matches[3], '|'), function(child) { + if (prefix === '-') + delete parent[child]; + else + parent[child] = {}; + }); + } + }); + } + }; + + function getElementRule(name) { + var element = elements[name], i; + + // Exact match found + if (element) + return element; + + // No exact match then try the patterns + i = patternElements.length; + while (i--) { + element = patternElements[i]; + + if (element.pattern.test(name)) + return element; + } + }; + + if (!settings.valid_elements) { + // No valid elements defined then clone the elements from the transitional spec + each(transitional, function(element, name) { + elements[name] = { + attributes : element.attributes, + attributesOrder : element.attributesOrder + }; + + children[name] = element.children; + }); + + // Switch these + each(split('strong/b,em/i'), function(item) { + item = split(item, '/'); + elements[item[1]].outputName = item[0]; + }); + + // Add default alt attribute for images + elements.img.attributesDefault = [{name: 'alt', value: ''}]; + + // Remove these if they are empty by default + each(split('ol,ul,sub,sup,blockquote,span,font,a,table,tbody,tr'), function(name) { + elements[name].removeEmpty = true; + }); + + // Padd these by default + each(split('p,h1,h2,h3,h4,h5,h6,th,td,pre,div,address,caption'), function(name) { + elements[name].paddEmpty = true; + }); + } else + setValidElements(settings.valid_elements); + + addCustomElements(settings.custom_elements); + addValidChildren(settings.valid_children); + addValidElements(settings.extended_valid_elements); + + // Todo: Remove this when we fix list handling to be valid + addValidChildren('+ol[ul|ol],+ul[ul|ol]'); + + // If the user didn't allow span only allow internal spans + if (!getElementRule('span')) + addValidElements('span[!data-mce-type|*]'); + + // Delete invalid elements + if (settings.invalid_elements) { + tinymce.each(tinymce.explode(settings.invalid_elements), function(item) { + if (elements[item]) + delete elements[item]; + }); + } + + self.children = children; + + self.styles = validStyles; + + self.getBoolAttrs = function() { + return boolAttrMap; + }; + + self.getBlockElements = function() { + return blockElementsMap; + }; + + self.getShortEndedElements = function() { + return shortEndedElementsMap; + }; + + self.getSelfClosingElements = function() { + return selfClosingElementsMap; + }; + + self.getNonEmptyElements = function() { + return nonEmptyElementsMap; + }; + + self.getWhiteSpaceElements = function() { + return whiteSpaceElementsMap; + }; + + self.isValidChild = function(name, child) { + var parent = children[name]; + + return !!(parent && parent[child]); + }; + + self.getElementRule = getElementRule; + + self.getCustomElements = function() { + return customElementsMap; + }; + + self.addValidElements = addValidElements; + + self.setValidElements = setValidElements; + + self.addCustomElements = addCustomElements; + + self.addValidChildren = addValidChildren; + }; + + // Expose boolMap and blockElementMap as static properties for usage in DOMUtils + tinymce.html.Schema.boolAttrMap = boolAttrMap; + tinymce.html.Schema.blockElementsMap = blockElementsMap; +})(tinymce); + +(function(tinymce) { + tinymce.html.SaxParser = function(settings, schema) { + var self = this, noop = function() {}; + + settings = settings || {}; + self.schema = schema = schema || new tinymce.html.Schema(); + + if (settings.fix_self_closing !== false) + settings.fix_self_closing = true; + + // Add handler functions from settings and setup default handlers + tinymce.each('comment cdata text start end pi doctype'.split(' '), function(name) { + if (name) + self[name] = settings[name] || noop; + }); + + self.parse = function(html) { + var self = this, matches, index = 0, value, endRegExp, stack = [], attrList, i, text, name, isInternalElement, removeInternalElements, + shortEndedElements, fillAttrsMap, isShortEnded, validate, elementRule, isValidElement, attr, attribsValue, + validAttributesMap, validAttributePatterns, attributesRequired, attributesDefault, attributesForced, selfClosing, + tokenRegExp, attrRegExp, specialElements, attrValue, idCount = 0, decode = tinymce.html.Entities.decode, fixSelfClosing; + + function processEndTag(name) { + var pos, i; + + // Find position of parent of the same type + pos = stack.length; + while (pos--) { + if (stack[pos].name === name) + break; + } + + // Found parent + if (pos >= 0) { + // Close all the open elements + for (i = stack.length - 1; i >= pos; i--) { + name = stack[i]; + + if (name.valid) + self.end(name.name); + } + + // Remove the open elements from the stack + stack.length = pos; + } + }; + + // Precompile RegExps and map objects + tokenRegExp = new RegExp('<(?:' + + '(?:!--([\\w\\W]*?)-->)|' + // Comment + '(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|' + // CDATA + '(?:!DOCTYPE([\\w\\W]*?)>)|' + // DOCTYPE + '(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|' + // PI + '(?:\\/([^>]+)>)|' + // End element + '(?:([^\\s\\/<>]+)\\s*((?:[^"\'>]+(?:(?:"[^"]*")|(?:\'[^\']*\')|[^>]*))*)>)' + // Start element + ')', 'g'); + + attrRegExp = /([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:\\.|[^\"])*)\")|(?:\'((?:\\.|[^\'])*)\')|([^>\s]+)))?/g; + specialElements = { + 'script' : /<\/script[^>]*>/gi, + 'style' : /<\/style[^>]*>/gi, + 'noscript' : /<\/noscript[^>]*>/gi + }; + + // Setup lookup tables for empty elements and boolean attributes + shortEndedElements = schema.getShortEndedElements(); + selfClosing = schema.getSelfClosingElements(); + fillAttrsMap = schema.getBoolAttrs(); + validate = settings.validate; + removeInternalElements = settings.remove_internals; + fixSelfClosing = settings.fix_self_closing; + + while (matches = tokenRegExp.exec(html)) { + // Text + if (index < matches.index) + self.text(decode(html.substr(index, matches.index - index))); + + if (value = matches[6]) { // End element + processEndTag(value.toLowerCase()); + } else if (value = matches[7]) { // Start element + value = value.toLowerCase(); + isShortEnded = value in shortEndedElements; + + // Is self closing tag for example an <li> after an open <li> + if (fixSelfClosing && selfClosing[value] && stack.length > 0 && stack[stack.length - 1].name === value) + processEndTag(value); + + // Validate element + if (!validate || (elementRule = schema.getElementRule(value))) { + isValidElement = true; + + // Grab attributes map and patters when validation is enabled + if (validate) { + validAttributesMap = elementRule.attributes; + validAttributePatterns = elementRule.attributePatterns; + } + + // Parse attributes + if (attribsValue = matches[8]) { + isInternalElement = attribsValue.indexOf('data-mce-type') !== -1; // Check if the element is an internal element + + // If the element has internal attributes then remove it if we are told to do so + if (isInternalElement && removeInternalElements) + isValidElement = false; + + attrList = []; + attrList.map = {}; + + attribsValue.replace(attrRegExp, function(match, name, value, val2, val3) { + var attrRule, i; + + name = name.toLowerCase(); + value = name in fillAttrsMap ? name : decode(value || val2 || val3 || ''); // Handle boolean attribute than value attribute + + // Validate name and value + if (validate && !isInternalElement && name.indexOf('data-') !== 0) { + attrRule = validAttributesMap[name]; + + // Find rule by pattern matching + if (!attrRule && validAttributePatterns) { + i = validAttributePatterns.length; + while (i--) { + attrRule = validAttributePatterns[i]; + if (attrRule.pattern.test(name)) + break; + } + + // No rule matched + if (i === -1) + attrRule = null; + } + + // No attribute rule found + if (!attrRule) + return; + + // Validate value + if (attrRule.validValues && !(value in attrRule.validValues)) + return; + } + + // Add attribute to list and map + attrList.map[name] = value; + attrList.push({ + name: name, + value: value + }); + }); + } else { + attrList = []; + attrList.map = {}; + } + + // Process attributes if validation is enabled + if (validate && !isInternalElement) { + attributesRequired = elementRule.attributesRequired; + attributesDefault = elementRule.attributesDefault; + attributesForced = elementRule.attributesForced; + + // Handle forced attributes + if (attributesForced) { + i = attributesForced.length; + while (i--) { + attr = attributesForced[i]; + name = attr.name; + attrValue = attr.value; + + if (attrValue === '{$uid}') + attrValue = 'mce_' + idCount++; + + attrList.map[name] = attrValue; + attrList.push({name: name, value: attrValue}); + } + } + + // Handle default attributes + if (attributesDefault) { + i = attributesDefault.length; + while (i--) { + attr = attributesDefault[i]; + name = attr.name; + + if (!(name in attrList.map)) { + attrValue = attr.value; + + if (attrValue === '{$uid}') + attrValue = 'mce_' + idCount++; + + attrList.map[name] = attrValue; + attrList.push({name: name, value: attrValue}); + } + } + } + + // Handle required attributes + if (attributesRequired) { + i = attributesRequired.length; + while (i--) { + if (attributesRequired[i] in attrList.map) + break; + } + + // None of the required attributes where found + if (i === -1) + isValidElement = false; + } + + // Invalidate element if it's marked as bogus + if (attrList.map['data-mce-bogus']) + isValidElement = false; + } + + if (isValidElement) + self.start(value, attrList, isShortEnded); + } else + isValidElement = false; + + // Treat script, noscript and style a bit different since they may include code that looks like elements + if (endRegExp = specialElements[value]) { + endRegExp.lastIndex = index = matches.index + matches[0].length; + + if (matches = endRegExp.exec(html)) { + if (isValidElement) + text = html.substr(index, matches.index - index); + + index = matches.index + matches[0].length; + } else { + text = html.substr(index); + index = html.length; + } + + if (isValidElement && text.length > 0) + self.text(text, true); + + if (isValidElement) + self.end(value); + + tokenRegExp.lastIndex = index; + continue; + } + + // Push value on to stack + if (!isShortEnded) { + if (!attribsValue || attribsValue.indexOf('/') != attribsValue.length - 1) + stack.push({name: value, valid: isValidElement}); + else if (isValidElement) + self.end(value); + } + } else if (value = matches[1]) { // Comment + self.comment(value); + } else if (value = matches[2]) { // CDATA + self.cdata(value); + } else if (value = matches[3]) { // DOCTYPE + self.doctype(value); + } else if (value = matches[4]) { // PI + self.pi(value, matches[5]); + } + + index = matches.index + matches[0].length; + } + + // Text + if (index < html.length) + self.text(decode(html.substr(index))); + + // Close any open elements + for (i = stack.length - 1; i >= 0; i--) { + value = stack[i]; + + if (value.valid) + self.end(value.name); + } + }; + } +})(tinymce); + +(function(tinymce) { + var whiteSpaceRegExp = /^[ \t\r\n]*$/, typeLookup = { + '#text' : 3, + '#comment' : 8, + '#cdata' : 4, + '#pi' : 7, + '#doctype' : 10, + '#document-fragment' : 11 + }; + + // Walks the tree left/right + function walk(node, root_node, prev) { + var sibling, parent, startName = prev ? 'lastChild' : 'firstChild', siblingName = prev ? 'prev' : 'next'; + + // Walk into nodes if it has a start + if (node[startName]) + return node[startName]; + + // Return the sibling if it has one + if (node !== root_node) { + sibling = node[siblingName]; + + if (sibling) + return sibling; + + // Walk up the parents to look for siblings + for (parent = node.parent; parent && parent !== root_node; parent = parent.parent) { + sibling = parent[siblingName]; + + if (sibling) + return sibling; + } + } + }; + + function Node(name, type) { + this.name = name; + this.type = type; + + if (type === 1) { + this.attributes = []; + this.attributes.map = {}; + } + } + + tinymce.extend(Node.prototype, { + replace : function(node) { + var self = this; + + if (node.parent) + node.remove(); + + self.insert(node, self); + self.remove(); + + return self; + }, + + attr : function(name, value) { + var self = this, attrs, i, undef; + + if (typeof name !== "string") { + for (i in name) + self.attr(i, name[i]); + + return self; + } + + if (attrs = self.attributes) { + if (value !== undef) { + // Remove attribute + if (value === null) { + if (name in attrs.map) { + delete attrs.map[name]; + + i = attrs.length; + while (i--) { + if (attrs[i].name === name) { + attrs = attrs.splice(i, 1); + return self; + } + } + } + + return self; + } + + // Set attribute + if (name in attrs.map) { + // Set attribute + i = attrs.length; + while (i--) { + if (attrs[i].name === name) { + attrs[i].value = value; + break; + } + } + } else + attrs.push({name: name, value: value}); + + attrs.map[name] = value; + + return self; + } else { + return attrs.map[name]; + } + } + }, + + clone : function() { + var self = this, clone = new Node(self.name, self.type), i, l, selfAttrs, selfAttr, cloneAttrs; + + // Clone element attributes + if (selfAttrs = self.attributes) { + cloneAttrs = []; + cloneAttrs.map = {}; + + for (i = 0, l = selfAttrs.length; i < l; i++) { + selfAttr = selfAttrs[i]; + + // Clone everything except id + if (selfAttr.name !== 'id') { + cloneAttrs[cloneAttrs.length] = {name: selfAttr.name, value: selfAttr.value}; + cloneAttrs.map[selfAttr.name] = selfAttr.value; + } + } + + clone.attributes = cloneAttrs; + } + + clone.value = self.value; + clone.shortEnded = self.shortEnded; + + return clone; + }, + + wrap : function(wrapper) { + var self = this; + + self.parent.insert(wrapper, self); + wrapper.append(self); + + return self; + }, + + unwrap : function() { + var self = this, node, next; + + for (node = self.firstChild; node; ) { + next = node.next; + self.insert(node, self, true); + node = next; + } + + self.remove(); + }, + + remove : function() { + var self = this, parent = self.parent, next = self.next, prev = self.prev; + + if (parent) { + if (parent.firstChild === self) { + parent.firstChild = next; + + if (next) + next.prev = null; + } else { + prev.next = next; + } + + if (parent.lastChild === self) { + parent.lastChild = prev; + + if (prev) + prev.next = null; + } else { + next.prev = prev; + } + + self.parent = self.next = self.prev = null; + } + + return self; + }, + + append : function(node) { + var self = this, last; + + if (node.parent) + node.remove(); + + last = self.lastChild; + if (last) { + last.next = node; + node.prev = last; + self.lastChild = node; + } else + self.lastChild = self.firstChild = node; + + node.parent = self; + + return node; + }, + + insert : function(node, ref_node, before) { + var parent; + + if (node.parent) + node.remove(); + + parent = ref_node.parent || this; + + if (before) { + if (ref_node === parent.firstChild) + parent.firstChild = node; + else + ref_node.prev.next = node; + + node.prev = ref_node.prev; + node.next = ref_node; + ref_node.prev = node; + } else { + if (ref_node === parent.lastChild) + parent.lastChild = node; + else + ref_node.next.prev = node; + + node.next = ref_node.next; + node.prev = ref_node; + ref_node.next = node; + } + + node.parent = parent; + + return node; + }, + + getAll : function(name) { + var self = this, node, collection = []; + + for (node = self.firstChild; node; node = walk(node, self)) { + if (node.name === name) + collection.push(node); + } + + return collection; + }, + + empty : function() { + var self = this, nodes, i, node; + + // Remove all children + if (self.firstChild) { + nodes = []; + + // Collect the children + for (node = self.firstChild; node; node = walk(node, self)) + nodes.push(node); + + // Remove the children + i = nodes.length; + while (i--) { + node = nodes[i]; + node.parent = node.firstChild = node.lastChild = node.next = node.prev = null; + } + } + + self.firstChild = self.lastChild = null; + + return self; + }, + + isEmpty : function(elements) { + var self = this, node = self.firstChild, i, name; + + if (node) { + do { + if (node.type === 1) { + // Ignore bogus elements + if (node.attributes.map['data-mce-bogus']) + continue; + + // Keep empty elements like <img /> + if (elements[node.name]) + return false; + + // Keep elements with data attributes or name attribute like <a name="1"></a> + i = node.attributes.length; + while (i--) { + name = node.attributes[i].name; + if (name === "name" || name.indexOf('data-') === 0) + return false; + } + } + + // Keep non whitespace text nodes + if ((node.type === 3 && !whiteSpaceRegExp.test(node.value))) + return false; + } while (node = walk(node, self)); + } + + return true; + }, + + walk : function(prev) { + return walk(this, null, prev); + } + }); + + tinymce.extend(Node, { + create : function(name, attrs) { + var node, attrName; + + // Create node + node = new Node(name, typeLookup[name] || 1); + + // Add attributes if needed + if (attrs) { + for (attrName in attrs) + node.attr(attrName, attrs[attrName]); + } + + return node; + } + }); + + tinymce.html.Node = Node; +})(tinymce); + +(function(tinymce) { + var Node = tinymce.html.Node; + + tinymce.html.DomParser = function(settings, schema) { + var self = this, nodeFilters = {}, attributeFilters = [], matchedNodes = {}, matchedAttributes = {}; + + settings = settings || {}; + settings.validate = "validate" in settings ? settings.validate : true; + settings.root_name = settings.root_name || 'body'; + self.schema = schema = schema || new tinymce.html.Schema(); + + function fixInvalidChildren(nodes) { + var ni, node, parent, parents, newParent, currentNode, tempNode, childNode, i, + childClone, nonEmptyElements, nonSplitableElements, sibling, nextNode; + + nonSplitableElements = tinymce.makeMap('tr,td,th,tbody,thead,tfoot,table'); + nonEmptyElements = schema.getNonEmptyElements(); + + for (ni = 0; ni < nodes.length; ni++) { + node = nodes[ni]; + + // Already removed + if (!node.parent) + continue; + + // Get list of all parent nodes until we find a valid parent to stick the child into + parents = [node]; + for (parent = node.parent; parent && !schema.isValidChild(parent.name, node.name) && !nonSplitableElements[parent.name]; parent = parent.parent) + parents.push(parent); + + // Found a suitable parent + if (parent && parents.length > 1) { + // Reverse the array since it makes looping easier + parents.reverse(); + + // Clone the related parent and insert that after the moved node + newParent = currentNode = self.filterNode(parents[0].clone()); + + // Start cloning and moving children on the left side of the target node + for (i = 0; i < parents.length - 1; i++) { + if (schema.isValidChild(currentNode.name, parents[i].name)) { + tempNode = self.filterNode(parents[i].clone()); + currentNode.append(tempNode); + } else + tempNode = currentNode; + + for (childNode = parents[i].firstChild; childNode && childNode != parents[i + 1]; ) { + nextNode = childNode.next; + tempNode.append(childNode); + childNode = nextNode; + } + + currentNode = tempNode; + } + + if (!newParent.isEmpty(nonEmptyElements)) { + parent.insert(newParent, parents[0], true); + parent.insert(node, newParent); + } else { + parent.insert(node, parents[0], true); + } + + // Check if the element is empty by looking through it's contents and special treatment for <p><br /></p> + parent = parents[0]; + if (parent.isEmpty(nonEmptyElements) || parent.firstChild === parent.lastChild && parent.firstChild.name === 'br') { + parent.empty().remove(); + } + } else if (node.parent) { + // If it's an LI try to find a UL/OL for it or wrap it + if (node.name === 'li') { + sibling = node.prev; + if (sibling && (sibling.name === 'ul' || sibling.name === 'ul')) { + sibling.append(node); + continue; + } + + sibling = node.next; + if (sibling && (sibling.name === 'ul' || sibling.name === 'ul')) { + sibling.insert(node, sibling.firstChild, true); + continue; + } + + node.wrap(self.filterNode(new Node('ul', 1))); + continue; + } + + // Try wrapping the element in a DIV + if (schema.isValidChild(node.parent.name, 'div') && schema.isValidChild('div', node.name)) { + node.wrap(self.filterNode(new Node('div', 1))); + } else { + // We failed wrapping it, then remove or unwrap it + if (node.name === 'style' || node.name === 'script') + node.empty().remove(); + else + node.unwrap(); + } + } + } + }; + + self.filterNode = function(node) { + var i, name, list; + + // Run element filters + if (name in nodeFilters) { + list = matchedNodes[name]; + + if (list) + list.push(node); + else + matchedNodes[name] = [node]; + } + + // Run attribute filters + i = attributeFilters.length; + while (i--) { + name = attributeFilters[i].name; + + if (name in node.attributes.map) { + list = matchedAttributes[name]; + + if (list) + list.push(node); + else + matchedAttributes[name] = [node]; + } + } + + return node; + }; + + self.addNodeFilter = function(name, callback) { + tinymce.each(tinymce.explode(name), function(name) { + var list = nodeFilters[name]; + + if (!list) + nodeFilters[name] = list = []; + + list.push(callback); + }); + }; + + self.addAttributeFilter = function(name, callback) { + tinymce.each(tinymce.explode(name), function(name) { + var i; + + for (i = 0; i < attributeFilters.length; i++) { + if (attributeFilters[i].name === name) { + attributeFilters[i].callbacks.push(callback); + return; + } + } + + attributeFilters.push({name: name, callbacks: [callback]}); + }); + }; + + self.parse = function(html, args) { + var parser, rootNode, node, nodes, i, l, fi, fl, list, name, validate, + blockElements, startWhiteSpaceRegExp, invalidChildren = [], + endWhiteSpaceRegExp, allWhiteSpaceRegExp, whiteSpaceElements, children, nonEmptyElements, rootBlockName; + + args = args || {}; + matchedNodes = {}; + matchedAttributes = {}; + blockElements = tinymce.extend(tinymce.makeMap('script,style,head,html,body,title,meta,param'), schema.getBlockElements()); + nonEmptyElements = schema.getNonEmptyElements(); + children = schema.children; + validate = settings.validate; + rootBlockName = "forced_root_block" in args ? args.forced_root_block : settings.forced_root_block; + + whiteSpaceElements = schema.getWhiteSpaceElements(); + startWhiteSpaceRegExp = /^[ \t\r\n]+/; + endWhiteSpaceRegExp = /[ \t\r\n]+$/; + allWhiteSpaceRegExp = /[ \t\r\n]+/g; + + function addRootBlocks() { + var node = rootNode.firstChild, next, rootBlockNode; + + while (node) { + next = node.next; + + if (node.type == 3 || (node.type == 1 && node.name !== 'p' && !blockElements[node.name] && !node.attr('data-mce-type'))) { + if (!rootBlockNode) { + // Create a new root block element + rootBlockNode = createNode(rootBlockName, 1); + rootNode.insert(rootBlockNode, node); + rootBlockNode.append(node); + } else + rootBlockNode.append(node); + } else { + rootBlockNode = null; + } + + node = next; + }; + }; + + function createNode(name, type) { + var node = new Node(name, type), list; + + if (name in nodeFilters) { + list = matchedNodes[name]; + + if (list) + list.push(node); + else + matchedNodes[name] = [node]; + } + + return node; + }; + + function removeWhitespaceBefore(node) { + var textNode, textVal, sibling; + + for (textNode = node.prev; textNode && textNode.type === 3; ) { + textVal = textNode.value.replace(endWhiteSpaceRegExp, ''); + + if (textVal.length > 0) { + textNode.value = textVal; + textNode = textNode.prev; + } else { + sibling = textNode.prev; + textNode.remove(); + textNode = sibling; + } + } + }; + + parser = new tinymce.html.SaxParser({ + validate : validate, + fix_self_closing : !validate, // Let the DOM parser handle <li> in <li> or <p> in <p> for better results + + cdata: function(text) { + node.append(createNode('#cdata', 4)).value = text; + }, + + text: function(text, raw) { + var textNode; + + // Trim all redundant whitespace on non white space elements + if (!whiteSpaceElements[node.name]) { + text = text.replace(allWhiteSpaceRegExp, ' '); + + if (node.lastChild && blockElements[node.lastChild.name]) + text = text.replace(startWhiteSpaceRegExp, ''); + } + + // Do we need to create the node + if (text.length !== 0) { + textNode = createNode('#text', 3); + textNode.raw = !!raw; + node.append(textNode).value = text; + } + }, + + comment: function(text) { + node.append(createNode('#comment', 8)).value = text; + }, + + pi: function(name, text) { + node.append(createNode(name, 7)).value = text; + removeWhitespaceBefore(node); + }, + + doctype: function(text) { + var newNode; + + newNode = node.append(createNode('#doctype', 10)); + newNode.value = text; + removeWhitespaceBefore(node); + }, + + start: function(name, attrs, empty) { + var newNode, attrFiltersLen, elementRule, textNode, attrName, text, sibling, parent; + + elementRule = validate ? schema.getElementRule(name) : {}; + if (elementRule) { + newNode = createNode(elementRule.outputName || name, 1); + newNode.attributes = attrs; + newNode.shortEnded = empty; + + node.append(newNode); + + // Check if node is valid child of the parent node is the child is + // unknown we don't collect it since it's probably a custom element + parent = children[node.name]; + if (parent && children[newNode.name] && !parent[newNode.name]) + invalidChildren.push(newNode); + + attrFiltersLen = attributeFilters.length; + while (attrFiltersLen--) { + attrName = attributeFilters[attrFiltersLen].name; + + if (attrName in attrs.map) { + list = matchedAttributes[attrName]; + + if (list) + list.push(newNode); + else + matchedAttributes[attrName] = [newNode]; + } + } + + // Trim whitespace before block + if (blockElements[name]) + removeWhitespaceBefore(newNode); + + // Change current node if the element wasn't empty i.e not <br /> or <img /> + if (!empty) + node = newNode; + } + }, + + end: function(name) { + var textNode, elementRule, text, sibling, tempNode; + + elementRule = validate ? schema.getElementRule(name) : {}; + if (elementRule) { + if (blockElements[name]) { + if (!whiteSpaceElements[node.name]) { + // Trim whitespace at beginning of block + for (textNode = node.firstChild; textNode && textNode.type === 3; ) { + text = textNode.value.replace(startWhiteSpaceRegExp, ''); + + if (text.length > 0) { + textNode.value = text; + textNode = textNode.next; + } else { + sibling = textNode.next; + textNode.remove(); + textNode = sibling; + } + } + + // Trim whitespace at end of block + for (textNode = node.lastChild; textNode && textNode.type === 3; ) { + text = textNode.value.replace(endWhiteSpaceRegExp, ''); + + if (text.length > 0) { + textNode.value = text; + textNode = textNode.prev; + } else { + sibling = textNode.prev; + textNode.remove(); + textNode = sibling; + } + } + } + + // Trim start white space + textNode = node.prev; + if (textNode && textNode.type === 3) { + text = textNode.value.replace(startWhiteSpaceRegExp, ''); + + if (text.length > 0) + textNode.value = text; + else + textNode.remove(); + } + } + + // Handle empty nodes + if (elementRule.removeEmpty || elementRule.paddEmpty) { + if (node.isEmpty(nonEmptyElements)) { + if (elementRule.paddEmpty) + node.empty().append(new Node('#text', '3')).value = '\u00a0'; + else { + // Leave nodes that have a name like <a name="name"> + if (!node.attributes.map.name) { + tempNode = node.parent; + node.empty().remove(); + node = tempNode; + return; + } + } + } + } + + node = node.parent; + } + } + }, schema); + + rootNode = node = new Node(args.context || settings.root_name, 11); + + parser.parse(html); + + // Fix invalid children or report invalid children in a contextual parsing + if (validate && invalidChildren.length) { + if (!args.context) + fixInvalidChildren(invalidChildren); + else + args.invalid = true; + } + + // Wrap nodes in the root into block elements if the root is body + if (rootBlockName && rootNode.name == 'body') + addRootBlocks(); + + // Run filters only when the contents is valid + if (!args.invalid) { + // Run node filters + for (name in matchedNodes) { + list = nodeFilters[name]; + nodes = matchedNodes[name]; + + // Remove already removed children + fi = nodes.length; + while (fi--) { + if (!nodes[fi].parent) + nodes.splice(fi, 1); + } + + for (i = 0, l = list.length; i < l; i++) + list[i](nodes, name, args); + } + + // Run attribute filters + for (i = 0, l = attributeFilters.length; i < l; i++) { + list = attributeFilters[i]; + + if (list.name in matchedAttributes) { + nodes = matchedAttributes[list.name]; + + // Remove already removed children + fi = nodes.length; + while (fi--) { + if (!nodes[fi].parent) + nodes.splice(fi, 1); + } + + for (fi = 0, fl = list.callbacks.length; fi < fl; fi++) + list.callbacks[fi](nodes, list.name, args); + } + } + } + + return rootNode; + }; + + // Remove <br> at end of block elements Gecko and WebKit injects BR elements to + // make it possible to place the caret inside empty blocks. This logic tries to remove + // these elements and keep br elements that where intended to be there intact + if (settings.remove_trailing_brs) { + self.addNodeFilter('br', function(nodes, name) { + var i, l = nodes.length, node, blockElements = schema.getBlockElements(), + nonEmptyElements = schema.getNonEmptyElements(), parent, prev, prevName; + + // Remove brs from body element as well + blockElements.body = 1; + + // Must loop forwards since it will otherwise remove all brs in <p>a<br><br><br></p> + for (i = 0; i < l; i++) { + node = nodes[i]; + parent = node.parent; + + if (blockElements[node.parent.name] && node === parent.lastChild) { + // Loop all nodes to the right of the current node and check for other BR elements + // excluding bookmarks since they are invisible + prev = node.prev; + while (prev) { + prevName = prev.name; + + // Ignore bookmarks + if (prevName !== "span" || prev.attr('data-mce-type') !== 'bookmark') { + // Found a non BR element + if (prevName !== "br") + break; + + // Found another br it's a <br><br> structure then don't remove anything + if (prevName === 'br') { + node = null; + break; + } + } + + prev = prev.prev; + } + + if (node) { + node.remove(); + + // Is the parent to be considered empty after we removed the BR + if (parent.isEmpty(nonEmptyElements)) { + elementRule = schema.getElementRule(parent.name); + + // Remove or padd the element depending on schema rule + if (elementRule.removeEmpty) + parent.remove(); + else if (elementRule.paddEmpty) + parent.empty().append(new tinymce.html.Node('#text', 3)).value = '\u00a0'; + } + } + } + } + }); + } + } +})(tinymce); + +tinymce.html.Writer = function(settings) { + var html = [], indent, indentBefore, indentAfter, encode, htmlOutput; + + settings = settings || {}; + indent = settings.indent; + indentBefore = tinymce.makeMap(settings.indent_before || ''); + indentAfter = tinymce.makeMap(settings.indent_after || ''); + encode = tinymce.html.Entities.getEncodeFunc(settings.entity_encoding || 'raw', settings.entities); + htmlOutput = settings.element_format == "html"; + + return { + start: function(name, attrs, empty) { + var i, l, attr, value; + + if (indent && indentBefore[name] && html.length > 0) { + value = html[html.length - 1]; + + if (value.length > 0 && value !== '\n') + html.push('\n'); + } + + html.push('<', name); + + if (attrs) { + for (i = 0, l = attrs.length; i < l; i++) { + attr = attrs[i]; + html.push(' ', attr.name, '="', encode(attr.value, true), '"'); + } + } + + if (!empty || htmlOutput) + html[html.length] = '>'; + else + html[html.length] = ' />'; + + if (empty && indent && indentAfter[name] && html.length > 0) { + value = html[html.length - 1]; + + if (value.length > 0 && value !== '\n') + html.push('\n'); + } + }, + + end: function(name) { + var value; + + /*if (indent && indentBefore[name] && html.length > 0) { + value = html[html.length - 1]; + + if (value.length > 0 && value !== '\n') + html.push('\n'); + }*/ + + html.push('</', name, '>'); + + if (indent && indentAfter[name] && html.length > 0) { + value = html[html.length - 1]; + + if (value.length > 0 && value !== '\n') + html.push('\n'); + } + }, + + text: function(text, raw) { + if (text.length > 0) + html[html.length] = raw ? text : encode(text); + }, + + cdata: function(text) { + html.push('<![CDATA[', text, ']]>'); + }, + + comment: function(text) { + html.push('<!--', text, '-->'); + }, + + pi: function(name, text) { + if (text) + html.push('<?', name, ' ', text, '?>'); + else + html.push('<?', name, '?>'); + + if (indent) + html.push('\n'); + }, + + doctype: function(text) { + html.push('<!DOCTYPE', text, '>', indent ? '\n' : ''); + }, + + reset: function() { + html.length = 0; + }, + + getContent: function() { + return html.join('').replace(/\n$/, ''); + } + }; +}; + +(function(tinymce) { + tinymce.html.Serializer = function(settings, schema) { + var self = this, writer = new tinymce.html.Writer(settings); + + settings = settings || {}; + settings.validate = "validate" in settings ? settings.validate : true; + + self.schema = schema = schema || new tinymce.html.Schema(); + self.writer = writer; + + self.serialize = function(node) { + var handlers, validate; + + validate = settings.validate; + + handlers = { + // #text + 3: function(node, raw) { + writer.text(node.value, node.raw); + }, + + // #comment + 8: function(node) { + writer.comment(node.value); + }, + + // Processing instruction + 7: function(node) { + writer.pi(node.name, node.value); + }, + + // Doctype + 10: function(node) { + writer.doctype(node.value); + }, + + // CDATA + 4: function(node) { + writer.cdata(node.value); + }, + + // Document fragment + 11: function(node) { + if ((node = node.firstChild)) { + do { + walk(node); + } while (node = node.next); + } + } + }; + + writer.reset(); + + function walk(node) { + var handler = handlers[node.type], name, isEmpty, attrs, attrName, attrValue, sortedAttrs, i, l, elementRule; + + if (!handler) { + name = node.name; + isEmpty = node.shortEnded; + attrs = node.attributes; + + // Sort attributes + if (validate && attrs && attrs.length > 1) { + sortedAttrs = []; + sortedAttrs.map = {}; + + elementRule = schema.getElementRule(node.name); + for (i = 0, l = elementRule.attributesOrder.length; i < l; i++) { + attrName = elementRule.attributesOrder[i]; + + if (attrName in attrs.map) { + attrValue = attrs.map[attrName]; + sortedAttrs.map[attrName] = attrValue; + sortedAttrs.push({name: attrName, value: attrValue}); + } + } + + for (i = 0, l = attrs.length; i < l; i++) { + attrName = attrs[i].name; + + if (!(attrName in sortedAttrs.map)) { + attrValue = attrs.map[attrName]; + sortedAttrs.map[attrName] = attrValue; + sortedAttrs.push({name: attrName, value: attrValue}); + } + } + + attrs = sortedAttrs; + } + + writer.start(node.name, attrs, isEmpty); + + if (!isEmpty) { + if ((node = node.firstChild)) { + do { + walk(node); + } while (node = node.next); + } + + writer.end(name); + } + } else + handler(node); + } + + // Serialize element and treat all non elements as fragments + if (node.type == 1 && !settings.inner) + walk(node); + else + handlers[11](node); + + return writer.getContent(); + }; + } +})(tinymce); + +(function(tinymce) { + // Shorten names + var each = tinymce.each, + is = tinymce.is, + isWebKit = tinymce.isWebKit, + isIE = tinymce.isIE, + Entities = tinymce.html.Entities, + simpleSelectorRe = /^([a-z0-9],?)+$/i, + blockElementsMap = tinymce.html.Schema.blockElementsMap, + whiteSpaceRegExp = /^[ \t\r\n]*$/; + + tinymce.create('tinymce.dom.DOMUtils', { + doc : null, + root : null, + files : null, + pixelStyles : /^(top|left|bottom|right|width|height|borderWidth)$/, + props : { + "for" : "htmlFor", + "class" : "className", + className : "className", + checked : "checked", + disabled : "disabled", + maxlength : "maxLength", + readonly : "readOnly", + selected : "selected", + value : "value", + id : "id", + name : "name", + type : "type" + }, + + DOMUtils : function(d, s) { + var t = this, globalStyle, name; + + t.doc = d; + t.win = window; + t.files = {}; + t.cssFlicker = false; + t.counter = 0; + t.stdMode = !tinymce.isIE || d.documentMode >= 8; + t.boxModel = !tinymce.isIE || d.compatMode == "CSS1Compat" || t.stdMode; + t.hasOuterHTML = "outerHTML" in d.createElement("a"); + + t.settings = s = tinymce.extend({ + keep_values : false, + hex_colors : 1 + }, s); + + t.schema = s.schema; + t.styles = new tinymce.html.Styles({ + url_converter : s.url_converter, + url_converter_scope : s.url_converter_scope + }, s.schema); + + // Fix IE6SP2 flicker and check it failed for pre SP2 + if (tinymce.isIE6) { + try { + d.execCommand('BackgroundImageCache', false, true); + } catch (e) { + t.cssFlicker = true; + } + } + + if (isIE && s.schema) { + // Add missing HTML 4/5 elements to IE + ('abbr article aside audio canvas ' + + 'details figcaption figure footer ' + + 'header hgroup mark menu meter nav ' + + 'output progress section summary ' + + 'time video').replace(/\w+/g, function(name) { + d.createElement(name); + }); + + // Create all custom elements + for (name in s.schema.getCustomElements()) { + d.createElement(name); + } + } + + tinymce.addUnload(t.destroy, t); + }, + + getRoot : function() { + var t = this, s = t.settings; + + return (s && t.get(s.root_element)) || t.doc.body; + }, + + getViewPort : function(w) { + var d, b; + + w = !w ? this.win : w; + d = w.document; + b = this.boxModel ? d.documentElement : d.body; + + // Returns viewport size excluding scrollbars + return { + x : w.pageXOffset || b.scrollLeft, + y : w.pageYOffset || b.scrollTop, + w : w.innerWidth || b.clientWidth, + h : w.innerHeight || b.clientHeight + }; + }, + + getRect : function(e) { + var p, t = this, sr; + + e = t.get(e); + p = t.getPos(e); + sr = t.getSize(e); + + return { + x : p.x, + y : p.y, + w : sr.w, + h : sr.h + }; + }, + + getSize : function(e) { + var t = this, w, h; + + e = t.get(e); + w = t.getStyle(e, 'width'); + h = t.getStyle(e, 'height'); + + // Non pixel value, then force offset/clientWidth + if (w.indexOf('px') === -1) + w = 0; + + // Non pixel value, then force offset/clientWidth + if (h.indexOf('px') === -1) + h = 0; + + return { + w : parseInt(w) || e.offsetWidth || e.clientWidth, + h : parseInt(h) || e.offsetHeight || e.clientHeight + }; + }, + + getParent : function(n, f, r) { + return this.getParents(n, f, r, false); + }, + + getParents : function(n, f, r, c) { + var t = this, na, se = t.settings, o = []; + + n = t.get(n); + c = c === undefined; + + if (se.strict_root) + r = r || t.getRoot(); + + // Wrap node name as func + if (is(f, 'string')) { + na = f; + + if (f === '*') { + f = function(n) {return n.nodeType == 1;}; + } else { + f = function(n) { + return t.is(n, na); + }; + } + } + + while (n) { + if (n == r || !n.nodeType || n.nodeType === 9) + break; + + if (!f || f(n)) { + if (c) + o.push(n); + else + return n; + } + + n = n.parentNode; + } + + return c ? o : null; + }, + + get : function(e) { + var n; + + if (e && this.doc && typeof(e) == 'string') { + n = e; + e = this.doc.getElementById(e); + + // IE and Opera returns meta elements when they match the specified input ID, but getElementsByName seems to do the trick + if (e && e.id !== n) + return this.doc.getElementsByName(n)[1]; + } + + return e; + }, + + getNext : function(node, selector) { + return this._findSib(node, selector, 'nextSibling'); + }, + + getPrev : function(node, selector) { + return this._findSib(node, selector, 'previousSibling'); + }, + + + select : function(pa, s) { + var t = this; + + return tinymce.dom.Sizzle(pa, t.get(s) || t.get(t.settings.root_element) || t.doc, []); + }, + + is : function(n, selector) { + var i; + + // If it isn't an array then try to do some simple selectors instead of Sizzle for to boost performance + if (n.length === undefined) { + // Simple all selector + if (selector === '*') + return n.nodeType == 1; + + // Simple selector just elements + if (simpleSelectorRe.test(selector)) { + selector = selector.toLowerCase().split(/,/); + n = n.nodeName.toLowerCase(); + + for (i = selector.length - 1; i >= 0; i--) { + if (selector[i] == n) + return true; + } + + return false; + } + } + + return tinymce.dom.Sizzle.matches(selector, n.nodeType ? [n] : n).length > 0; + }, + + + add : function(p, n, a, h, c) { + var t = this; + + return this.run(p, function(p) { + var e, k; + + e = is(n, 'string') ? t.doc.createElement(n) : n; + t.setAttribs(e, a); + + if (h) { + if (h.nodeType) + e.appendChild(h); + else + t.setHTML(e, h); + } + + return !c ? p.appendChild(e) : e; + }); + }, + + create : function(n, a, h) { + return this.add(this.doc.createElement(n), n, a, h, 1); + }, + + createHTML : function(n, a, h) { + var o = '', t = this, k; + + o += '<' + n; + + for (k in a) { + if (a.hasOwnProperty(k)) + o += ' ' + k + '="' + t.encode(a[k]) + '"'; + } + + // A call to tinymce.is doesn't work for some odd reason on IE9 possible bug inside their JS runtime + if (typeof(h) != "undefined") + return o + '>' + h + '</' + n + '>'; + + return o + ' />'; + }, + + remove : function(node, keep_children) { + return this.run(node, function(node) { + var child, parent = node.parentNode; + + if (!parent) + return null; + + if (keep_children) { + while (child = node.firstChild) { + // IE 8 will crash if you don't remove completely empty text nodes + if (!tinymce.isIE || child.nodeType !== 3 || child.nodeValue) + parent.insertBefore(child, node); + else + node.removeChild(child); + } + } + + return parent.removeChild(node); + }); + }, + + setStyle : function(n, na, v) { + var t = this; + + return t.run(n, function(e) { + var s, i; + + s = e.style; + + // Camelcase it, if needed + na = na.replace(/-(\D)/g, function(a, b){ + return b.toUpperCase(); + }); + + // Default px suffix on these + if (t.pixelStyles.test(na) && (tinymce.is(v, 'number') || /^[\-0-9\.]+$/.test(v))) + v += 'px'; + + switch (na) { + case 'opacity': + // IE specific opacity + if (isIE) { + s.filter = v === '' ? '' : "alpha(opacity=" + (v * 100) + ")"; + + if (!n.currentStyle || !n.currentStyle.hasLayout) + s.display = 'inline-block'; + } + + // Fix for older browsers + s[na] = s['-moz-opacity'] = s['-khtml-opacity'] = v || ''; + break; + + case 'float': + isIE ? s.styleFloat = v : s.cssFloat = v; + break; + + default: + s[na] = v || ''; + } + + // Force update of the style data + if (t.settings.update_styles) + t.setAttrib(e, 'data-mce-style'); + }); + }, + + getStyle : function(n, na, c) { + n = this.get(n); + + if (!n) + return; + + // Gecko + if (this.doc.defaultView && c) { + // Remove camelcase + na = na.replace(/[A-Z]/g, function(a){ + return '-' + a; + }); + + try { + return this.doc.defaultView.getComputedStyle(n, null).getPropertyValue(na); + } catch (ex) { + // Old safari might fail + return null; + } + } + + // Camelcase it, if needed + na = na.replace(/-(\D)/g, function(a, b){ + return b.toUpperCase(); + }); + + if (na == 'float') + na = isIE ? 'styleFloat' : 'cssFloat'; + + // IE & Opera + if (n.currentStyle && c) + return n.currentStyle[na]; + + return n.style ? n.style[na] : undefined; + }, + + setStyles : function(e, o) { + var t = this, s = t.settings, ol; + + ol = s.update_styles; + s.update_styles = 0; + + each(o, function(v, n) { + t.setStyle(e, n, v); + }); + + // Update style info + s.update_styles = ol; + if (s.update_styles) + t.setAttrib(e, s.cssText); + }, + + removeAllAttribs: function(e) { + return this.run(e, function(e) { + var i, attrs = e.attributes; + for (i = attrs.length - 1; i >= 0; i--) { + e.removeAttributeNode(attrs.item(i)); + } + }); + }, + + setAttrib : function(e, n, v) { + var t = this; + + // Whats the point + if (!e || !n) + return; + + // Strict XML mode + if (t.settings.strict) + n = n.toLowerCase(); + + return this.run(e, function(e) { + var s = t.settings; + + switch (n) { + case "style": + if (!is(v, 'string')) { + each(v, function(v, n) { + t.setStyle(e, n, v); + }); + + return; + } + + // No mce_style for elements with these since they might get resized by the user + if (s.keep_values) { + if (v && !t._isRes(v)) + e.setAttribute('data-mce-style', v, 2); + else + e.removeAttribute('data-mce-style', 2); + } + + e.style.cssText = v; + break; + + case "class": + e.className = v || ''; // Fix IE null bug + break; + + case "src": + case "href": + if (s.keep_values) { + if (s.url_converter) + v = s.url_converter.call(s.url_converter_scope || t, v, n, e); + + t.setAttrib(e, 'data-mce-' + n, v, 2); + } + + break; + + case "shape": + e.setAttribute('data-mce-style', v); + break; + } + + if (is(v) && v !== null && v.length !== 0) + e.setAttribute(n, '' + v, 2); + else + e.removeAttribute(n, 2); + }); + }, + + setAttribs : function(e, o) { + var t = this; + + return this.run(e, function(e) { + each(o, function(v, n) { + t.setAttrib(e, n, v); + }); + }); + }, + + getAttrib : function(e, n, dv) { + var v, t = this, undef; + + e = t.get(e); + + if (!e || e.nodeType !== 1) + return dv === undef ? false : dv; + + if (!is(dv)) + dv = ''; + + // Try the mce variant for these + if (/^(src|href|style|coords|shape)$/.test(n)) { + v = e.getAttribute("data-mce-" + n); + + if (v) + return v; + } + + if (isIE && t.props[n]) { + v = e[t.props[n]]; + v = v && v.nodeValue ? v.nodeValue : v; + } + + if (!v) + v = e.getAttribute(n, 2); + + // Check boolean attribs + if (/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noshade|nowrap|readonly|selected)$/.test(n)) { + if (e[t.props[n]] === true && v === '') + return n; + + return v ? n : ''; + } + + // Inner input elements will override attributes on form elements + if (e.nodeName === "FORM" && e.getAttributeNode(n)) + return e.getAttributeNode(n).nodeValue; + + if (n === 'style') { + v = v || e.style.cssText; + + if (v) { + v = t.serializeStyle(t.parseStyle(v), e.nodeName); + + if (t.settings.keep_values && !t._isRes(v)) + e.setAttribute('data-mce-style', v); + } + } + + // Remove Apple and WebKit stuff + if (isWebKit && n === "class" && v) + v = v.replace(/(apple|webkit)\-[a-z\-]+/gi, ''); + + // Handle IE issues + if (isIE) { + switch (n) { + case 'rowspan': + case 'colspan': + // IE returns 1 as default value + if (v === 1) + v = ''; + + break; + + case 'size': + // IE returns +0 as default value for size + if (v === '+0' || v === 20 || v === 0) + v = ''; + + break; + + case 'width': + case 'height': + case 'vspace': + case 'checked': + case 'disabled': + case 'readonly': + if (v === 0) + v = ''; + + break; + + case 'hspace': + // IE returns -1 as default value + if (v === -1) + v = ''; + + break; + + case 'maxlength': + case 'tabindex': + // IE returns default value + if (v === 32768 || v === 2147483647 || v === '32768') + v = ''; + + break; + + case 'multiple': + case 'compact': + case 'noshade': + case 'nowrap': + if (v === 65535) + return n; + + return dv; + + case 'shape': + v = v.toLowerCase(); + break; + + default: + // IE has odd anonymous function for event attributes + if (n.indexOf('on') === 0 && v) + v = tinymce._replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/, '$1', '' + v); + } + } + + return (v !== undef && v !== null && v !== '') ? '' + v : dv; + }, + + getPos : function(n, ro) { + var t = this, x = 0, y = 0, e, d = t.doc, r; + + n = t.get(n); + ro = ro || d.body; + + if (n) { + // Use getBoundingClientRect if it exists since it's faster than looping offset nodes + if (n.getBoundingClientRect) { + n = n.getBoundingClientRect(); + e = t.boxModel ? d.documentElement : d.body; + + // Add scroll offsets from documentElement or body since IE with the wrong box model will use d.body and so do WebKit + // Also remove the body/documentelement clientTop/clientLeft on IE 6, 7 since they offset the position + x = n.left + (d.documentElement.scrollLeft || d.body.scrollLeft) - e.clientTop; + y = n.top + (d.documentElement.scrollTop || d.body.scrollTop) - e.clientLeft; + + return {x : x, y : y}; + } + + r = n; + while (r && r != ro && r.nodeType) { + x += r.offsetLeft || 0; + y += r.offsetTop || 0; + r = r.offsetParent; + } + + r = n.parentNode; + while (r && r != ro && r.nodeType) { + x -= r.scrollLeft || 0; + y -= r.scrollTop || 0; + r = r.parentNode; + } + } + + return {x : x, y : y}; + }, + + parseStyle : function(st) { + return this.styles.parse(st); + }, + + serializeStyle : function(o, name) { + return this.styles.serialize(o, name); + }, + + loadCSS : function(u) { + var t = this, d = t.doc, head; + + if (!u) + u = ''; + + head = t.select('head')[0]; + + each(u.split(','), function(u) { + var link; + + if (t.files[u]) + return; + + t.files[u] = true; + link = t.create('link', {rel : 'stylesheet', href : tinymce._addVer(u)}); + + // IE 8 has a bug where dynamically loading stylesheets would produce a 1 item remaining bug + // This fix seems to resolve that issue by realcing the document ones a stylesheet finishes loading + // It's ugly but it seems to work fine. + if (isIE && d.documentMode && d.recalc) { + link.onload = function() { + if (d.recalc) + d.recalc(); + + link.onload = null; + }; + } + + head.appendChild(link); + }); + }, + + addClass : function(e, c) { + return this.run(e, function(e) { + var o; + + if (!c) + return 0; + + if (this.hasClass(e, c)) + return e.className; + + o = this.removeClass(e, c); + + return e.className = (o != '' ? (o + ' ') : '') + c; + }); + }, + + removeClass : function(e, c) { + var t = this, re; + + return t.run(e, function(e) { + var v; + + if (t.hasClass(e, c)) { + if (!re) + re = new RegExp("(^|\\s+)" + c + "(\\s+|$)", "g"); + + v = e.className.replace(re, ' '); + v = tinymce.trim(v != ' ' ? v : ''); + + e.className = v; + + // Empty class attr + if (!v) { + e.removeAttribute('class'); + e.removeAttribute('className'); + } + + return v; + } + + return e.className; + }); + }, + + hasClass : function(n, c) { + n = this.get(n); + + if (!n || !c) + return false; + + return (' ' + n.className + ' ').indexOf(' ' + c + ' ') !== -1; + }, + + show : function(e) { + return this.setStyle(e, 'display', 'block'); + }, + + hide : function(e) { + return this.setStyle(e, 'display', 'none'); + }, + + isHidden : function(e) { + e = this.get(e); + + return !e || e.style.display == 'none' || this.getStyle(e, 'display') == 'none'; + }, + + uniqueId : function(p) { + return (!p ? 'mce_' : p) + (this.counter++); + }, + + setHTML : function(element, html) { + var self = this; + + return self.run(element, function(element) { + if (isIE) { + // Remove all child nodes, IE keeps empty text nodes in DOM + while (element.firstChild) + element.removeChild(element.firstChild); + + try { + // IE will remove comments from the beginning + // unless you padd the contents with something + element.innerHTML = '<br />' + html; + element.removeChild(element.firstChild); + } catch (ex) { + // IE sometimes produces an unknown runtime error on innerHTML if it's an block element within a block element for example a div inside a p + // This seems to fix this problem + + // Create new div with HTML contents and a BR infront to keep comments + element = self.create('div'); + element.innerHTML = '<br />' + html; + + // Add all children from div to target + each (element.childNodes, function(node, i) { + // Skip br element + if (i) + element.appendChild(node); + }); + } + } else + element.innerHTML = html; + + return html; + }); + }, + + getOuterHTML : function(elm) { + var doc, self = this; + + elm = self.get(elm); + + if (!elm) + return null; + + if (elm.nodeType === 1 && self.hasOuterHTML) + return elm.outerHTML; + + doc = (elm.ownerDocument || self.doc).createElement("body"); + doc.appendChild(elm.cloneNode(true)); + + return doc.innerHTML; + }, + + setOuterHTML : function(e, h, d) { + var t = this; + + function setHTML(e, h, d) { + var n, tp; + + tp = d.createElement("body"); + tp.innerHTML = h; + + n = tp.lastChild; + while (n) { + t.insertAfter(n.cloneNode(true), e); + n = n.previousSibling; + } + + t.remove(e); + }; + + return this.run(e, function(e) { + e = t.get(e); + + // Only set HTML on elements + if (e.nodeType == 1) { + d = d || e.ownerDocument || t.doc; + + if (isIE) { + try { + // Try outerHTML for IE it sometimes produces an unknown runtime error + if (isIE && e.nodeType == 1) + e.outerHTML = h; + else + setHTML(e, h, d); + } catch (ex) { + // Fix for unknown runtime error + setHTML(e, h, d); + } + } else + setHTML(e, h, d); + } + }); + }, + + decode : Entities.decode, + + encode : Entities.encodeAllRaw, + + insertAfter : function(node, reference_node) { + reference_node = this.get(reference_node); + + return this.run(node, function(node) { + var parent, nextSibling; + + parent = reference_node.parentNode; + nextSibling = reference_node.nextSibling; + + if (nextSibling) + parent.insertBefore(node, nextSibling); + else + parent.appendChild(node); + + return node; + }); + }, + + isBlock : function(node) { + var type = node.nodeType; + + // If it's a node then check the type and use the nodeName + if (type) + return !!(type === 1 && blockElementsMap[node.nodeName]); + + return !!blockElementsMap[node]; + }, + + replace : function(n, o, k) { + var t = this; + + if (is(o, 'array')) + n = n.cloneNode(true); + + return t.run(o, function(o) { + if (k) { + each(tinymce.grep(o.childNodes), function(c) { + n.appendChild(c); + }); + } + + return o.parentNode.replaceChild(n, o); + }); + }, + + rename : function(elm, name) { + var t = this, newElm; + + if (elm.nodeName != name.toUpperCase()) { + // Rename block element + newElm = t.create(name); + + // Copy attribs to new block + each(t.getAttribs(elm), function(attr_node) { + t.setAttrib(newElm, attr_node.nodeName, t.getAttrib(elm, attr_node.nodeName)); + }); + + // Replace block + t.replace(newElm, elm, 1); + } + + return newElm || elm; + }, + + findCommonAncestor : function(a, b) { + var ps = a, pe; + + while (ps) { + pe = b; + + while (pe && ps != pe) + pe = pe.parentNode; + + if (ps == pe) + break; + + ps = ps.parentNode; + } + + if (!ps && a.ownerDocument) + return a.ownerDocument.documentElement; + + return ps; + }, + + toHex : function(s) { + var c = /^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(s); + + function hex(s) { + s = parseInt(s).toString(16); + + return s.length > 1 ? s : '0' + s; // 0 -> 00 + }; + + if (c) { + s = '#' + hex(c[1]) + hex(c[2]) + hex(c[3]); + + return s; + } + + return s; + }, + + getClasses : function() { + var t = this, cl = [], i, lo = {}, f = t.settings.class_filter, ov; + + if (t.classes) + return t.classes; + + function addClasses(s) { + // IE style imports + each(s.imports, function(r) { + addClasses(r); + }); + + each(s.cssRules || s.rules, function(r) { + // Real type or fake it on IE + switch (r.type || 1) { + // Rule + case 1: + if (r.selectorText) { + each(r.selectorText.split(','), function(v) { + v = v.replace(/^\s*|\s*$|^\s\./g, ""); + + // Is internal or it doesn't contain a class + if (/\.mce/.test(v) || !/\.[\w\-]+$/.test(v)) + return; + + // Remove everything but class name + ov = v; + v = tinymce._replace(/.*\.([a-z0-9_\-]+).*/i, '$1', v); + + // Filter classes + if (f && !(v = f(v, ov))) + return; + + if (!lo[v]) { + cl.push({'class' : v}); + lo[v] = 1; + } + }); + } + break; + + // Import + case 3: + addClasses(r.styleSheet); + break; + } + }); + }; + + try { + each(t.doc.styleSheets, addClasses); + } catch (ex) { + // Ignore + } + + if (cl.length > 0) + t.classes = cl; + + return cl; + }, + + run : function(e, f, s) { + var t = this, o; + + if (t.doc && typeof(e) === 'string') + e = t.get(e); + + if (!e) + return false; + + s = s || this; + if (!e.nodeType && (e.length || e.length === 0)) { + o = []; + + each(e, function(e, i) { + if (e) { + if (typeof(e) == 'string') + e = t.doc.getElementById(e); + + o.push(f.call(s, e, i)); + } + }); + + return o; + } + + return f.call(s, e); + }, + + getAttribs : function(n) { + var o; + + n = this.get(n); + + if (!n) + return []; + + if (isIE) { + o = []; + + // Object will throw exception in IE + if (n.nodeName == 'OBJECT') + return n.attributes; + + // IE doesn't keep the selected attribute if you clone option elements + if (n.nodeName === 'OPTION' && this.getAttrib(n, 'selected')) + o.push({specified : 1, nodeName : 'selected'}); + + // It's crazy that this is faster in IE but it's because it returns all attributes all the time + n.cloneNode(false).outerHTML.replace(/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi, '').replace(/[\w:\-]+/gi, function(a) { + o.push({specified : 1, nodeName : a}); + }); + + return o; + } + + return n.attributes; + }, + + isEmpty : function(node, elements) { + var self = this, i, attributes, type, walker, name; + + node = node.firstChild; + if (node) { + walker = new tinymce.dom.TreeWalker(node); + elements = elements || self.schema ? self.schema.getNonEmptyElements() : null; + + do { + type = node.nodeType; + + if (type === 1) { + // Ignore bogus elements + if (node.getAttribute('data-mce-bogus')) + continue; + + // Keep empty elements like <img /> + if (elements && elements[node.nodeName.toLowerCase()]) + return false; + + // Keep elements with data-bookmark attributes or name attribute like <a name="1"></a> + attributes = self.getAttribs(node); + i = node.attributes.length; + while (i--) { + name = node.attributes[i].nodeName; + if (name === "name" || name === 'data-mce-bookmark') + return false; + } + } + + // Keep non whitespace text nodes + if ((type === 3 && !whiteSpaceRegExp.test(node.nodeValue))) + return false; + } while (node = walker.next()); + } + + return true; + }, + + destroy : function(s) { + var t = this; + + if (t.events) + t.events.destroy(); + + t.win = t.doc = t.root = t.events = null; + + // Manual destroy then remove unload handler + if (!s) + tinymce.removeUnload(t.destroy); + }, + + createRng : function() { + var d = this.doc; + + return d.createRange ? d.createRange() : new tinymce.dom.Range(this); + }, + + nodeIndex : function(node, normalized) { + var idx = 0, lastNodeType, lastNode, nodeType; + + if (node) { + for (lastNodeType = node.nodeType, node = node.previousSibling, lastNode = node; node; node = node.previousSibling) { + nodeType = node.nodeType; + + // Normalize text nodes + if (normalized && nodeType == 3) { + if (nodeType == lastNodeType || !node.nodeValue.length) + continue; + } + idx++; + lastNodeType = nodeType; + } + } + + return idx; + }, + + split : function(pe, e, re) { + var t = this, r = t.createRng(), bef, aft, pa; + + // W3C valid browsers tend to leave empty nodes to the left/right side of the contents, this makes sense + // but we don't want that in our code since it serves no purpose for the end user + // For example if this is chopped: + // <p>text 1<span><b>CHOP</b></span>text 2</p> + // would produce: + // <p>text 1<span></span></p><b>CHOP</b><p><span></span>text 2</p> + // this function will then trim of empty edges and produce: + // <p>text 1</p><b>CHOP</b><p>text 2</p> + function trim(node) { + var i, children = node.childNodes, type = node.nodeType; + + if (type == 1 && node.getAttribute('data-mce-type') == 'bookmark') + return; + + for (i = children.length - 1; i >= 0; i--) + trim(children[i]); + + if (type != 9) { + // Keep non whitespace text nodes + if (type == 3 && node.nodeValue.length > 0) { + // If parent element isn't a block or there isn't any useful contents for example "<p> </p>" + if (!t.isBlock(node.parentNode) || tinymce.trim(node.nodeValue).length > 0) + return; + } else if (type == 1) { + // If the only child is a bookmark then move it up + children = node.childNodes; + if (children.length == 1 && children[0] && children[0].nodeType == 1 && children[0].getAttribute('data-mce-type') == 'bookmark') + node.parentNode.insertBefore(children[0], node); + + // Keep non empty elements or img, hr etc + if (children.length || /^(br|hr|input|img)$/i.test(node.nodeName)) + return; + } + + t.remove(node); + } + + return node; + }; + + if (pe && e) { + // Get before chunk + r.setStart(pe.parentNode, t.nodeIndex(pe)); + r.setEnd(e.parentNode, t.nodeIndex(e)); + bef = r.extractContents(); + + // Get after chunk + r = t.createRng(); + r.setStart(e.parentNode, t.nodeIndex(e) + 1); + r.setEnd(pe.parentNode, t.nodeIndex(pe) + 1); + aft = r.extractContents(); + + // Insert before chunk + pa = pe.parentNode; + pa.insertBefore(trim(bef), pe); + + // Insert middle chunk + if (re) + pa.replaceChild(re, e); + else + pa.insertBefore(e, pe); + + // Insert after chunk + pa.insertBefore(trim(aft), pe); + t.remove(pe); + + return re || e; + } + }, + + bind : function(target, name, func, scope) { + var t = this; + + if (!t.events) + t.events = new tinymce.dom.EventUtils(); + + return t.events.add(target, name, func, scope || this); + }, + + unbind : function(target, name, func) { + var t = this; + + if (!t.events) + t.events = new tinymce.dom.EventUtils(); + + return t.events.remove(target, name, func); + }, + + + _findSib : function(node, selector, name) { + var t = this, f = selector; + + if (node) { + // If expression make a function of it using is + if (is(f, 'string')) { + f = function(node) { + return t.is(node, selector); + }; + } + + // Loop all siblings + for (node = node[name]; node; node = node[name]) { + if (f(node)) + return node; + } + } + + return null; + }, + + _isRes : function(c) { + // Is live resizble element + return /^(top|left|bottom|right|width|height)/i.test(c) || /;\s*(top|left|bottom|right|width|height)/i.test(c); + } + + /* + walk : function(n, f, s) { + var d = this.doc, w; + + if (d.createTreeWalker) { + w = d.createTreeWalker(n, NodeFilter.SHOW_TEXT, null, false); + + while ((n = w.nextNode()) != null) + f.call(s || this, n); + } else + tinymce.walk(n, f, 'childNodes', s); + } + */ + + /* + toRGB : function(s) { + var c = /^\s*?#([0-9A-F]{2})([0-9A-F]{1,2})([0-9A-F]{2})?\s*?$/.exec(s); + + if (c) { + // #FFF -> #FFFFFF + if (!is(c[3])) + c[3] = c[2] = c[1]; + + return "rgb(" + parseInt(c[1], 16) + "," + parseInt(c[2], 16) + "," + parseInt(c[3], 16) + ")"; + } + + return s; + } + */ + }); + + tinymce.DOM = new tinymce.dom.DOMUtils(document, {process_html : 0}); +})(tinymce); + +(function(ns) { + // Range constructor + function Range(dom) { + var t = this, + doc = dom.doc, + EXTRACT = 0, + CLONE = 1, + DELETE = 2, + TRUE = true, + FALSE = false, + START_OFFSET = 'startOffset', + START_CONTAINER = 'startContainer', + END_CONTAINER = 'endContainer', + END_OFFSET = 'endOffset', + extend = tinymce.extend, + nodeIndex = dom.nodeIndex; + + extend(t, { + // Inital states + startContainer : doc, + startOffset : 0, + endContainer : doc, + endOffset : 0, + collapsed : TRUE, + commonAncestorContainer : doc, + + // Range constants + START_TO_START : 0, + START_TO_END : 1, + END_TO_END : 2, + END_TO_START : 3, + + // Public methods + setStart : setStart, + setEnd : setEnd, + setStartBefore : setStartBefore, + setStartAfter : setStartAfter, + setEndBefore : setEndBefore, + setEndAfter : setEndAfter, + collapse : collapse, + selectNode : selectNode, + selectNodeContents : selectNodeContents, + compareBoundaryPoints : compareBoundaryPoints, + deleteContents : deleteContents, + extractContents : extractContents, + cloneContents : cloneContents, + insertNode : insertNode, + surroundContents : surroundContents, + cloneRange : cloneRange + }); + + function setStart(n, o) { + _setEndPoint(TRUE, n, o); + }; + + function setEnd(n, o) { + _setEndPoint(FALSE, n, o); + }; + + function setStartBefore(n) { + setStart(n.parentNode, nodeIndex(n)); + }; + + function setStartAfter(n) { + setStart(n.parentNode, nodeIndex(n) + 1); + }; + + function setEndBefore(n) { + setEnd(n.parentNode, nodeIndex(n)); + }; + + function setEndAfter(n) { + setEnd(n.parentNode, nodeIndex(n) + 1); + }; + + function collapse(ts) { + if (ts) { + t[END_CONTAINER] = t[START_CONTAINER]; + t[END_OFFSET] = t[START_OFFSET]; + } else { + t[START_CONTAINER] = t[END_CONTAINER]; + t[START_OFFSET] = t[END_OFFSET]; + } + + t.collapsed = TRUE; + }; + + function selectNode(n) { + setStartBefore(n); + setEndAfter(n); + }; + + function selectNodeContents(n) { + setStart(n, 0); + setEnd(n, n.nodeType === 1 ? n.childNodes.length : n.nodeValue.length); + }; + + function compareBoundaryPoints(h, r) { + var sc = t[START_CONTAINER], so = t[START_OFFSET], ec = t[END_CONTAINER], eo = t[END_OFFSET], + rsc = r.startContainer, rso = r.startOffset, rec = r.endContainer, reo = r.endOffset; + + // Check START_TO_START + if (h === 0) + return _compareBoundaryPoints(sc, so, rsc, rso); + + // Check START_TO_END + if (h === 1) + return _compareBoundaryPoints(ec, eo, rsc, rso); + + // Check END_TO_END + if (h === 2) + return _compareBoundaryPoints(ec, eo, rec, reo); + + // Check END_TO_START + if (h === 3) + return _compareBoundaryPoints(sc, so, rec, reo); + }; + + function deleteContents() { + _traverse(DELETE); + }; + + function extractContents() { + return _traverse(EXTRACT); + }; + + function cloneContents() { + return _traverse(CLONE); + }; + + function insertNode(n) { + var startContainer = this[START_CONTAINER], + startOffset = this[START_OFFSET], nn, o; + + // Node is TEXT_NODE or CDATA + if ((startContainer.nodeType === 3 || startContainer.nodeType === 4) && startContainer.nodeValue) { + if (!startOffset) { + // At the start of text + startContainer.parentNode.insertBefore(n, startContainer); + } else if (startOffset >= startContainer.nodeValue.length) { + // At the end of text + dom.insertAfter(n, startContainer); + } else { + // Middle, need to split + nn = startContainer.splitText(startOffset); + startContainer.parentNode.insertBefore(n, nn); + } + } else { + // Insert element node + if (startContainer.childNodes.length > 0) + o = startContainer.childNodes[startOffset]; + + if (o) + startContainer.insertBefore(n, o); + else + startContainer.appendChild(n); + } + }; + + function surroundContents(n) { + var f = t.extractContents(); + + t.insertNode(n); + n.appendChild(f); + t.selectNode(n); + }; + + function cloneRange() { + return extend(new Range(dom), { + startContainer : t[START_CONTAINER], + startOffset : t[START_OFFSET], + endContainer : t[END_CONTAINER], + endOffset : t[END_OFFSET], + collapsed : t.collapsed, + commonAncestorContainer : t.commonAncestorContainer + }); + }; + + // Private methods + + function _getSelectedNode(container, offset) { + var child; + + if (container.nodeType == 3 /* TEXT_NODE */) + return container; + + if (offset < 0) + return container; + + child = container.firstChild; + while (child && offset > 0) { + --offset; + child = child.nextSibling; + } + + if (child) + return child; + + return container; + }; + + function _isCollapsed() { + return (t[START_CONTAINER] == t[END_CONTAINER] && t[START_OFFSET] == t[END_OFFSET]); + }; + + function _compareBoundaryPoints(containerA, offsetA, containerB, offsetB) { + var c, offsetC, n, cmnRoot, childA, childB; + + // In the first case the boundary-points have the same container. A is before B + // if its offset is less than the offset of B, A is equal to B if its offset is + // equal to the offset of B, and A is after B if its offset is greater than the + // offset of B. + if (containerA == containerB) { + if (offsetA == offsetB) + return 0; // equal + + if (offsetA < offsetB) + return -1; // before + + return 1; // after + } + + // In the second case a child node C of the container of A is an ancestor + // container of B. In this case, A is before B if the offset of A is less than or + // equal to the index of the child node C and A is after B otherwise. + c = containerB; + while (c && c.parentNode != containerA) + c = c.parentNode; + + if (c) { + offsetC = 0; + n = containerA.firstChild; + + while (n != c && offsetC < offsetA) { + offsetC++; + n = n.nextSibling; + } + + if (offsetA <= offsetC) + return -1; // before + + return 1; // after + } + + // In the third case a child node C of the container of B is an ancestor container + // of A. In this case, A is before B if the index of the child node C is less than + // the offset of B and A is after B otherwise. + c = containerA; + while (c && c.parentNode != containerB) { + c = c.parentNode; + } + + if (c) { + offsetC = 0; + n = containerB.firstChild; + + while (n != c && offsetC < offsetB) { + offsetC++; + n = n.nextSibling; + } + + if (offsetC < offsetB) + return -1; // before + + return 1; // after + } + + // In the fourth case, none of three other cases hold: the containers of A and B + // are siblings or descendants of sibling nodes. In this case, A is before B if + // the container of A is before the container of B in a pre-order traversal of the + // Ranges' context tree and A is after B otherwise. + cmnRoot = dom.findCommonAncestor(containerA, containerB); + childA = containerA; + + while (childA && childA.parentNode != cmnRoot) + childA = childA.parentNode; + + if (!childA) + childA = cmnRoot; + + childB = containerB; + while (childB && childB.parentNode != cmnRoot) + childB = childB.parentNode; + + if (!childB) + childB = cmnRoot; + + if (childA == childB) + return 0; // equal + + n = cmnRoot.firstChild; + while (n) { + if (n == childA) + return -1; // before + + if (n == childB) + return 1; // after + + n = n.nextSibling; + } + }; + + function _setEndPoint(st, n, o) { + var ec, sc; + + if (st) { + t[START_CONTAINER] = n; + t[START_OFFSET] = o; + } else { + t[END_CONTAINER] = n; + t[END_OFFSET] = o; + } + + // If one boundary-point of a Range is set to have a root container + // other than the current one for the Range, the Range is collapsed to + // the new position. This enforces the restriction that both boundary- + // points of a Range must have the same root container. + ec = t[END_CONTAINER]; + while (ec.parentNode) + ec = ec.parentNode; + + sc = t[START_CONTAINER]; + while (sc.parentNode) + sc = sc.parentNode; + + if (sc == ec) { + // The start position of a Range is guaranteed to never be after the + // end position. To enforce this restriction, if the start is set to + // be at a position after the end, the Range is collapsed to that + // position. + if (_compareBoundaryPoints(t[START_CONTAINER], t[START_OFFSET], t[END_CONTAINER], t[END_OFFSET]) > 0) + t.collapse(st); + } else + t.collapse(st); + + t.collapsed = _isCollapsed(); + t.commonAncestorContainer = dom.findCommonAncestor(t[START_CONTAINER], t[END_CONTAINER]); + }; + + function _traverse(how) { + var c, endContainerDepth = 0, startContainerDepth = 0, p, depthDiff, startNode, endNode, sp, ep; + + if (t[START_CONTAINER] == t[END_CONTAINER]) + return _traverseSameContainer(how); + + for (c = t[END_CONTAINER], p = c.parentNode; p; c = p, p = p.parentNode) { + if (p == t[START_CONTAINER]) + return _traverseCommonStartContainer(c, how); + + ++endContainerDepth; + } + + for (c = t[START_CONTAINER], p = c.parentNode; p; c = p, p = p.parentNode) { + if (p == t[END_CONTAINER]) + return _traverseCommonEndContainer(c, how); + + ++startContainerDepth; + } + + depthDiff = startContainerDepth - endContainerDepth; + + startNode = t[START_CONTAINER]; + while (depthDiff > 0) { + startNode = startNode.parentNode; + depthDiff--; + } + + endNode = t[END_CONTAINER]; + while (depthDiff < 0) { + endNode = endNode.parentNode; + depthDiff++; + } + + // ascend the ancestor hierarchy until we have a common parent. + for (sp = startNode.parentNode, ep = endNode.parentNode; sp != ep; sp = sp.parentNode, ep = ep.parentNode) { + startNode = sp; + endNode = ep; + } + + return _traverseCommonAncestors(startNode, endNode, how); + }; + + function _traverseSameContainer(how) { + var frag, s, sub, n, cnt, sibling, xferNode; + + if (how != DELETE) + frag = doc.createDocumentFragment(); + + // If selection is empty, just return the fragment + if (t[START_OFFSET] == t[END_OFFSET]) + return frag; + + // Text node needs special case handling + if (t[START_CONTAINER].nodeType == 3 /* TEXT_NODE */) { + // get the substring + s = t[START_CONTAINER].nodeValue; + sub = s.substring(t[START_OFFSET], t[END_OFFSET]); + + // set the original text node to its new value + if (how != CLONE) { + t[START_CONTAINER].deleteData(t[START_OFFSET], t[END_OFFSET] - t[START_OFFSET]); + + // Nothing is partially selected, so collapse to start point + t.collapse(TRUE); + } + + if (how == DELETE) + return; + + frag.appendChild(doc.createTextNode(sub)); + return frag; + } + + // Copy nodes between the start/end offsets. + n = _getSelectedNode(t[START_CONTAINER], t[START_OFFSET]); + cnt = t[END_OFFSET] - t[START_OFFSET]; + + while (cnt > 0) { + sibling = n.nextSibling; + xferNode = _traverseFullySelected(n, how); + + if (frag) + frag.appendChild( xferNode ); + + --cnt; + n = sibling; + } + + // Nothing is partially selected, so collapse to start point + if (how != CLONE) + t.collapse(TRUE); + + return frag; + }; + + function _traverseCommonStartContainer(endAncestor, how) { + var frag, n, endIdx, cnt, sibling, xferNode; + + if (how != DELETE) + frag = doc.createDocumentFragment(); + + n = _traverseRightBoundary(endAncestor, how); + + if (frag) + frag.appendChild(n); + + endIdx = nodeIndex(endAncestor); + cnt = endIdx - t[START_OFFSET]; + + if (cnt <= 0) { + // Collapse to just before the endAncestor, which + // is partially selected. + if (how != CLONE) { + t.setEndBefore(endAncestor); + t.collapse(FALSE); + } + + return frag; + } + + n = endAncestor.previousSibling; + while (cnt > 0) { + sibling = n.previousSibling; + xferNode = _traverseFullySelected(n, how); + + if (frag) + frag.insertBefore(xferNode, frag.firstChild); + + --cnt; + n = sibling; + } + + // Collapse to just before the endAncestor, which + // is partially selected. + if (how != CLONE) { + t.setEndBefore(endAncestor); + t.collapse(FALSE); + } + + return frag; + }; + + function _traverseCommonEndContainer(startAncestor, how) { + var frag, startIdx, n, cnt, sibling, xferNode; + + if (how != DELETE) + frag = doc.createDocumentFragment(); + + n = _traverseLeftBoundary(startAncestor, how); + if (frag) + frag.appendChild(n); + + startIdx = nodeIndex(startAncestor); + ++startIdx; // Because we already traversed it + + cnt = t[END_OFFSET] - startIdx; + n = startAncestor.nextSibling; + while (cnt > 0) { + sibling = n.nextSibling; + xferNode = _traverseFullySelected(n, how); + + if (frag) + frag.appendChild(xferNode); + + --cnt; + n = sibling; + } + + if (how != CLONE) { + t.setStartAfter(startAncestor); + t.collapse(TRUE); + } + + return frag; + }; + + function _traverseCommonAncestors(startAncestor, endAncestor, how) { + var n, frag, commonParent, startOffset, endOffset, cnt, sibling, nextSibling; + + if (how != DELETE) + frag = doc.createDocumentFragment(); + + n = _traverseLeftBoundary(startAncestor, how); + if (frag) + frag.appendChild(n); + + commonParent = startAncestor.parentNode; + startOffset = nodeIndex(startAncestor); + endOffset = nodeIndex(endAncestor); + ++startOffset; + + cnt = endOffset - startOffset; + sibling = startAncestor.nextSibling; + + while (cnt > 0) { + nextSibling = sibling.nextSibling; + n = _traverseFullySelected(sibling, how); + + if (frag) + frag.appendChild(n); + + sibling = nextSibling; + --cnt; + } + + n = _traverseRightBoundary(endAncestor, how); + + if (frag) + frag.appendChild(n); + + if (how != CLONE) { + t.setStartAfter(startAncestor); + t.collapse(TRUE); + } + + return frag; + }; + + function _traverseRightBoundary(root, how) { + var next = _getSelectedNode(t[END_CONTAINER], t[END_OFFSET] - 1), parent, clonedParent, prevSibling, clonedChild, clonedGrandParent, isFullySelected = next != t[END_CONTAINER]; + + if (next == root) + return _traverseNode(next, isFullySelected, FALSE, how); + + parent = next.parentNode; + clonedParent = _traverseNode(parent, FALSE, FALSE, how); + + while (parent) { + while (next) { + prevSibling = next.previousSibling; + clonedChild = _traverseNode(next, isFullySelected, FALSE, how); + + if (how != DELETE) + clonedParent.insertBefore(clonedChild, clonedParent.firstChild); + + isFullySelected = TRUE; + next = prevSibling; + } + + if (parent == root) + return clonedParent; + + next = parent.previousSibling; + parent = parent.parentNode; + + clonedGrandParent = _traverseNode(parent, FALSE, FALSE, how); + + if (how != DELETE) + clonedGrandParent.appendChild(clonedParent); + + clonedParent = clonedGrandParent; + } + }; + + function _traverseLeftBoundary(root, how) { + var next = _getSelectedNode(t[START_CONTAINER], t[START_OFFSET]), isFullySelected = next != t[START_CONTAINER], parent, clonedParent, nextSibling, clonedChild, clonedGrandParent; + + if (next == root) + return _traverseNode(next, isFullySelected, TRUE, how); + + parent = next.parentNode; + clonedParent = _traverseNode(parent, FALSE, TRUE, how); + + while (parent) { + while (next) { + nextSibling = next.nextSibling; + clonedChild = _traverseNode(next, isFullySelected, TRUE, how); + + if (how != DELETE) + clonedParent.appendChild(clonedChild); + + isFullySelected = TRUE; + next = nextSibling; + } + + if (parent == root) + return clonedParent; + + next = parent.nextSibling; + parent = parent.parentNode; + + clonedGrandParent = _traverseNode(parent, FALSE, TRUE, how); + + if (how != DELETE) + clonedGrandParent.appendChild(clonedParent); + + clonedParent = clonedGrandParent; + } + }; + + function _traverseNode(n, isFullySelected, isLeft, how) { + var txtValue, newNodeValue, oldNodeValue, offset, newNode; + + if (isFullySelected) + return _traverseFullySelected(n, how); + + if (n.nodeType == 3 /* TEXT_NODE */) { + txtValue = n.nodeValue; + + if (isLeft) { + offset = t[START_OFFSET]; + newNodeValue = txtValue.substring(offset); + oldNodeValue = txtValue.substring(0, offset); + } else { + offset = t[END_OFFSET]; + newNodeValue = txtValue.substring(0, offset); + oldNodeValue = txtValue.substring(offset); + } + + if (how != CLONE) + n.nodeValue = oldNodeValue; + + if (how == DELETE) + return; + + newNode = n.cloneNode(FALSE); + newNode.nodeValue = newNodeValue; + + return newNode; + } + + if (how == DELETE) + return; + + return n.cloneNode(FALSE); + }; + + function _traverseFullySelected(n, how) { + if (how != DELETE) + return how == CLONE ? n.cloneNode(TRUE) : n; + + n.parentNode.removeChild(n); + }; + }; + + ns.Range = Range; +})(tinymce.dom); + +(function() { + function Selection(selection) { + var self = this, dom = selection.dom, TRUE = true, FALSE = false; + + function getPosition(rng, start) { + var checkRng, startIndex = 0, endIndex, inside, + children, child, offset, index, position = -1, parent; + + // Setup test range, collapse it and get the parent + checkRng = rng.duplicate(); + checkRng.collapse(start); + parent = checkRng.parentElement(); + + // Check if the selection is within the right document + if (parent.ownerDocument !== selection.dom.doc) + return; + + // IE will report non editable elements as it's parent so look for an editable one + while (parent.contentEditable === "false") { + parent = parent.parentNode; + } + + // If parent doesn't have any children then return that we are inside the element + if (!parent.hasChildNodes()) { + return {node : parent, inside : 1}; + } + + // Setup node list and endIndex + children = parent.children; + endIndex = children.length - 1; + + // Perform a binary search for the position + while (startIndex <= endIndex) { + index = Math.floor((startIndex + endIndex) / 2); + + // Move selection to node and compare the ranges + child = children[index]; + checkRng.moveToElementText(child); + position = checkRng.compareEndPoints(start ? 'StartToStart' : 'EndToEnd', rng); + + // Before/after or an exact match + if (position > 0) { + endIndex = index - 1; + } else if (position < 0) { + startIndex = index + 1; + } else { + return {node : child}; + } + } + + // Check if child position is before or we didn't find a position + if (position < 0) { + // No element child was found use the parent element and the offset inside that + if (!child) { + checkRng.moveToElementText(parent); + checkRng.collapse(true); + child = parent; + inside = true; + } else + checkRng.collapse(false); + + checkRng.setEndPoint(start ? 'EndToStart' : 'EndToEnd', rng); + + // Fix for edge case: <div style="width: 100px; height:100px;"><table>..</table>ab|c</div> + if (checkRng.compareEndPoints(start ? 'StartToStart' : 'StartToEnd', rng) > 0) { + checkRng = rng.duplicate(); + checkRng.collapse(start); + + offset = -1; + while (parent == checkRng.parentElement()) { + if (checkRng.move('character', -1) == 0) + break; + + offset++; + } + } + + offset = offset || checkRng.text.replace('\r\n', ' ').length; + } else { + // Child position is after the selection endpoint + checkRng.collapse(true); + checkRng.setEndPoint(start ? 'StartToStart' : 'StartToEnd', rng); + + // Get the length of the text to find where the endpoint is relative to it's container + offset = checkRng.text.replace('\r\n', ' ').length; + } + + return {node : child, position : position, offset : offset, inside : inside}; + }; + + // Returns a W3C DOM compatible range object by using the IE Range API + function getRange() { + var ieRange = selection.getRng(), domRange = dom.createRng(), element, collapsed, tmpRange, element2, bookmark, fail; + + // If selection is outside the current document just return an empty range + element = ieRange.item ? ieRange.item(0) : ieRange.parentElement(); + if (element.ownerDocument != dom.doc) + return domRange; + + collapsed = selection.isCollapsed(); + + // Handle control selection + if (ieRange.item) { + domRange.setStart(element.parentNode, dom.nodeIndex(element)); + domRange.setEnd(domRange.startContainer, domRange.startOffset + 1); + + return domRange; + } + + function findEndPoint(start) { + var endPoint = getPosition(ieRange, start), container, offset, textNodeOffset = 0, sibling, undef, nodeValue; + + container = endPoint.node; + offset = endPoint.offset; + + if (endPoint.inside && !container.hasChildNodes()) { + domRange[start ? 'setStart' : 'setEnd'](container, 0); + return; + } + + if (offset === undef) { + domRange[start ? 'setStartBefore' : 'setEndAfter'](container); + return; + } + + if (endPoint.position < 0) { + sibling = endPoint.inside ? container.firstChild : container.nextSibling; + + if (!sibling) { + domRange[start ? 'setStartAfter' : 'setEndAfter'](container); + return; + } + + if (!offset) { + if (sibling.nodeType == 3) + domRange[start ? 'setStart' : 'setEnd'](sibling, 0); + else + domRange[start ? 'setStartBefore' : 'setEndBefore'](sibling); + + return; + } + + // Find the text node and offset + while (sibling) { + nodeValue = sibling.nodeValue; + textNodeOffset += nodeValue.length; + + // We are at or passed the position we where looking for + if (textNodeOffset >= offset) { + container = sibling; + textNodeOffset -= offset; + textNodeOffset = nodeValue.length - textNodeOffset; + break; + } + + sibling = sibling.nextSibling; + } + } else { + // Find the text node and offset + sibling = container.previousSibling; + + if (!sibling) + return domRange[start ? 'setStartBefore' : 'setEndBefore'](container); + + // If there isn't any text to loop then use the first position + if (!offset) { + if (container.nodeType == 3) + domRange[start ? 'setStart' : 'setEnd'](sibling, container.nodeValue.length); + else + domRange[start ? 'setStartAfter' : 'setEndAfter'](sibling); + + return; + } + + while (sibling) { + textNodeOffset += sibling.nodeValue.length; + + // We are at or passed the position we where looking for + if (textNodeOffset >= offset) { + container = sibling; + textNodeOffset -= offset; + break; + } + + sibling = sibling.previousSibling; + } + } + + domRange[start ? 'setStart' : 'setEnd'](container, textNodeOffset); + }; + + try { + // Find start point + findEndPoint(true); + + // Find end point if needed + if (!collapsed) + findEndPoint(); + } catch (ex) { + // IE has a nasty bug where text nodes might throw "invalid argument" when you + // access the nodeValue or other properties of text nodes. This seems to happend when + // text nodes are split into two nodes by a delete/backspace call. So lets detect it and try to fix it. + if (ex.number == -2147024809) { + // Get the current selection + bookmark = self.getBookmark(2); + + // Get start element + tmpRange = ieRange.duplicate(); + tmpRange.collapse(true); + element = tmpRange.parentElement(); + + // Get end element + if (!collapsed) { + tmpRange = ieRange.duplicate(); + tmpRange.collapse(false); + element2 = tmpRange.parentElement(); + element2.innerHTML = element2.innerHTML; + } + + // Remove the broken elements + element.innerHTML = element.innerHTML; + + // Restore the selection + self.moveToBookmark(bookmark); + + // Since the range has moved we need to re-get it + ieRange = selection.getRng(); + + // Find start point + findEndPoint(true); + + // Find end point if needed + if (!collapsed) + findEndPoint(); + } else + throw ex; // Throw other errors + } + + return domRange; + }; + + this.getBookmark = function(type) { + var rng = selection.getRng(), start, end, bookmark = {}; + + function getIndexes(node) { + var node, parent, root, children, i, indexes = []; + + parent = node.parentNode; + root = dom.getRoot().parentNode; + + while (parent != root) { + children = parent.children; + + i = children.length; + while (i--) { + if (node === children[i]) { + indexes.push(i); + break; + } + } + + node = parent; + parent = parent.parentNode; + } + + return indexes; + }; + + function getBookmarkEndPoint(start) { + var position; + + position = getPosition(rng, start); + if (position) { + return { + position : position.position, + offset : position.offset, + indexes : getIndexes(position.node), + inside : position.inside + }; + } + }; + + // Non ubstructive bookmark + if (type === 2) { + // Handle text selection + if (!rng.item) { + bookmark.start = getBookmarkEndPoint(true); + + if (!selection.isCollapsed()) + bookmark.end = getBookmarkEndPoint(); + } else + bookmark.start = {ctrl : true, indexes : getIndexes(rng.item(0))}; + } + + return bookmark; + }; + + this.moveToBookmark = function(bookmark) { + var rng, body = dom.doc.body; + + function resolveIndexes(indexes) { + var node, i, idx, children; + + node = dom.getRoot(); + for (i = indexes.length - 1; i >= 0; i--) { + children = node.children; + idx = indexes[i]; + + if (idx <= children.length - 1) { + node = children[idx]; + } + } + + return node; + }; + + function setBookmarkEndPoint(start) { + var endPoint = bookmark[start ? 'start' : 'end'], moveLeft, moveRng, undef; + + if (endPoint) { + moveLeft = endPoint.position > 0; + + moveRng = body.createTextRange(); + moveRng.moveToElementText(resolveIndexes(endPoint.indexes)); + + offset = endPoint.offset; + if (offset !== undef) { + moveRng.collapse(endPoint.inside || moveLeft); + moveRng.moveStart('character', moveLeft ? -offset : offset); + } else + moveRng.collapse(start); + + rng.setEndPoint(start ? 'StartToStart' : 'EndToStart', moveRng); + + if (start) + rng.collapse(true); + } + }; + + if (bookmark.start) { + if (bookmark.start.ctrl) { + rng = body.createControlRange(); + rng.addElement(resolveIndexes(bookmark.start.indexes)); + rng.select(); + } else { + rng = body.createTextRange(); + setBookmarkEndPoint(true); + setBookmarkEndPoint(); + rng.select(); + } + } + }; + + this.addRange = function(rng) { + var ieRng, ctrlRng, startContainer, startOffset, endContainer, endOffset, doc = selection.dom.doc, body = doc.body; + + function setEndPoint(start) { + var container, offset, marker, tmpRng, nodes; + + marker = dom.create('a'); + container = start ? startContainer : endContainer; + offset = start ? startOffset : endOffset; + tmpRng = ieRng.duplicate(); + + if (container == doc || container == doc.documentElement) { + container = body; + offset = 0; + } + + if (container.nodeType == 3) { + container.parentNode.insertBefore(marker, container); + tmpRng.moveToElementText(marker); + tmpRng.moveStart('character', offset); + dom.remove(marker); + ieRng.setEndPoint(start ? 'StartToStart' : 'EndToEnd', tmpRng); + } else { + nodes = container.childNodes; + + if (nodes.length) { + if (offset >= nodes.length) { + dom.insertAfter(marker, nodes[nodes.length - 1]); + } else { + container.insertBefore(marker, nodes[offset]); + } + + tmpRng.moveToElementText(marker); + } else { + // Empty node selection for example <div>|</div> + marker = doc.createTextNode('\uFEFF'); + container.appendChild(marker); + tmpRng.moveToElementText(marker.parentNode); + tmpRng.collapse(TRUE); + } + + ieRng.setEndPoint(start ? 'StartToStart' : 'EndToEnd', tmpRng); + dom.remove(marker); + } + } + + // Setup some shorter versions + startContainer = rng.startContainer; + startOffset = rng.startOffset; + endContainer = rng.endContainer; + endOffset = rng.endOffset; + ieRng = body.createTextRange(); + + // If single element selection then try making a control selection out of it + if (startContainer == endContainer && startContainer.nodeType == 1 && startOffset == endOffset - 1) { + if (startOffset == endOffset - 1) { + try { + ctrlRng = body.createControlRange(); + ctrlRng.addElement(startContainer.childNodes[startOffset]); + ctrlRng.select(); + return; + } catch (ex) { + // Ignore + } + } + } + + // Set start/end point of selection + setEndPoint(true); + setEndPoint(); + + // Select the new range and scroll it into view + ieRng.select(); + }; + + // Expose range method + this.getRangeAt = getRange; + }; + + // Expose the selection object + tinymce.dom.TridentSelection = Selection; +})(); + + +/* + * Sizzle CSS Selector Engine - v1.0 + * Copyright 2009, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true; + +// Here we check if the JavaScript engine is using some sort of +// optimization where it does not always call our comparision +// function. If that is the case, discard the hasDuplicate value. +// Thus far that includes Google Chrome. +[0, 0].sort(function(){ + baseHasDuplicate = false; + return 0; +}); + +var Sizzle = function(selector, context, results, seed) { + results = results || []; + context = context || document; + + var origContext = context; + + if ( context.nodeType !== 1 && context.nodeType !== 9 ) { + return []; + } + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + var parts = [], m, set, checkSet, extra, prune = true, contextXML = Sizzle.isXML(context), + soFar = selector, ret, cur, pop, i; + + // Reset the position of the chunker regexp (start from head) + do { + chunker.exec(""); + m = chunker.exec(soFar); + + if ( m ) { + soFar = m[3]; + + parts.push( m[1] ); + + if ( m[2] ) { + extra = m[3]; + break; + } + } + } while ( m ); + + if ( parts.length > 1 && origPOS.exec( selector ) ) { + if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { + set = posProcess( parts[0] + parts[1], context ); + } else { + set = Expr.relative[ parts[0] ] ? + [ context ] : + Sizzle( parts.shift(), context ); + + while ( parts.length ) { + selector = parts.shift(); + + if ( Expr.relative[ selector ] ) { + selector += parts.shift(); + } + + set = posProcess( selector, set ); + } + } + } else { + // Take a shortcut and set the context if the root selector is an ID + // (but not if it'll be faster if the inner selector is an ID) + if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && + Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { + ret = Sizzle.find( parts.shift(), context, contextXML ); + context = ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : ret.set[0]; + } + + if ( context ) { + ret = seed ? + { expr: parts.pop(), set: makeArray(seed) } : + Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); + set = ret.expr ? Sizzle.filter( ret.expr, ret.set ) : ret.set; + + if ( parts.length > 0 ) { + checkSet = makeArray(set); + } else { + prune = false; + } + + while ( parts.length ) { + cur = parts.pop(); + pop = cur; + + if ( !Expr.relative[ cur ] ) { + cur = ""; + } else { + pop = parts.pop(); + } + + if ( pop == null ) { + pop = context; + } + + Expr.relative[ cur ]( checkSet, pop, contextXML ); + } + } else { + checkSet = parts = []; + } + } + + if ( !checkSet ) { + checkSet = set; + } + + if ( !checkSet ) { + Sizzle.error( cur || selector ); + } + + if ( toString.call(checkSet) === "[object Array]" ) { + if ( !prune ) { + results.push.apply( results, checkSet ); + } else if ( context && context.nodeType === 1 ) { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { + results.push( set[i] ); + } + } + } else { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && checkSet[i].nodeType === 1 ) { + results.push( set[i] ); + } + } + } + } else { + makeArray( checkSet, results ); + } + + if ( extra ) { + Sizzle( extra, origContext, results, seed ); + Sizzle.uniqueSort( results ); + } + + return results; +}; + +Sizzle.uniqueSort = function(results){ + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort(sortOrder); + + if ( hasDuplicate ) { + for ( var i = 1; i < results.length; i++ ) { + if ( results[i] === results[i-1] ) { + results.splice(i--, 1); + } + } + } + } + + return results; +}; + +Sizzle.matches = function(expr, set){ + return Sizzle(expr, null, null, set); +}; + +Sizzle.find = function(expr, context, isXML){ + var set; + + if ( !expr ) { + return []; + } + + for ( var i = 0, l = Expr.order.length; i < l; i++ ) { + var type = Expr.order[i], match; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + var left = match[1]; + match.splice(1,1); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace(/\\/g, ""); + set = Expr.find[ type ]( match, context, isXML ); + if ( set != null ) { + expr = expr.replace( Expr.match[ type ], "" ); + break; + } + } + } + } + + if ( !set ) { + set = context.getElementsByTagName("*"); + } + + return {set: set, expr: expr}; +}; + +Sizzle.filter = function(expr, set, inplace, not){ + var old = expr, result = [], curLoop = set, match, anyFound, + isXMLFilter = set && set[0] && Sizzle.isXML(set[0]); + + while ( expr && set.length ) { + for ( var type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + var filter = Expr.filter[ type ], found, item, left = match[1]; + anyFound = false; + + match.splice(1,1); + + if ( left.substr( left.length - 1 ) === "\\" ) { + continue; + } + + if ( curLoop === result ) { + result = []; + } + + if ( Expr.preFilter[ type ] ) { + match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); + + if ( !match ) { + anyFound = found = true; + } else if ( match === true ) { + continue; + } + } + + if ( match ) { + for ( var i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + var pass = not ^ !!found; + + if ( inplace && found != null ) { + if ( pass ) { + anyFound = true; + } else { + curLoop[i] = false; + } + } else if ( pass ) { + result.push( item ); + anyFound = true; + } + } + } + } + + if ( found !== undefined ) { + if ( !inplace ) { + curLoop = result; + } + + expr = expr.replace( Expr.match[ type ], "" ); + + if ( !anyFound ) { + return []; + } + + break; + } + } + } + + // Improper expression + if ( expr === old ) { + if ( anyFound == null ) { + Sizzle.error( expr ); + } else { + break; + } + } + + old = expr; + } + + return curLoop; +}; + +Sizzle.error = function( msg ) { + throw "Syntax error, unrecognized expression: " + msg; +}; + +var Expr = Sizzle.selectors = { + order: [ "ID", "NAME", "TAG" ], + match: { + ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + leftMatch: {}, + attrMap: { + "class": "className", + "for": "htmlFor" + }, + attrHandle: { + href: function(elem){ + return elem.getAttribute("href"); + } + }, + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !/\W/.test(part), + isPartStrNotTag = isPartStr && !isTag; + + if ( isTag ) { + part = part.toLowerCase(); + } + + for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { + if ( (elem = checkSet[i]) ) { + while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} + + checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? + elem || false : + elem === part; + } + } + + if ( isPartStrNotTag ) { + Sizzle.filter( part, checkSet, true ); + } + }, + ">": function(checkSet, part){ + var isPartStr = typeof part === "string", + elem, i = 0, l = checkSet.length; + + if ( isPartStr && !/\W/.test(part) ) { + part = part.toLowerCase(); + + for ( ; i < l; i++ ) { + elem = checkSet[i]; + if ( elem ) { + var parent = elem.parentNode; + checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; + } + } + } else { + for ( ; i < l; i++ ) { + elem = checkSet[i]; + if ( elem ) { + checkSet[i] = isPartStr ? + elem.parentNode : + elem.parentNode === part; + } + } + + if ( isPartStr ) { + Sizzle.filter( part, checkSet, true ); + } + } + }, + "": function(checkSet, part, isXML){ + var doneName = done++, checkFn = dirCheck, nodeCheck; + + if ( typeof part === "string" && !/\W/.test(part) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML); + }, + "~": function(checkSet, part, isXML){ + var doneName = done++, checkFn = dirCheck, nodeCheck; + + if ( typeof part === "string" && !/\W/.test(part) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn("previousSibling", part, doneName, checkSet, nodeCheck, isXML); + } + }, + find: { + ID: function(match, context, isXML){ + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + return m ? [m] : []; + } + }, + NAME: function(match, context){ + if ( typeof context.getElementsByName !== "undefined" ) { + var ret = [], results = context.getElementsByName(match[1]); + + for ( var i = 0, l = results.length; i < l; i++ ) { + if ( results[i].getAttribute("name") === match[1] ) { + ret.push( results[i] ); + } + } + + return ret.length === 0 ? null : ret; + } + }, + TAG: function(match, context){ + return context.getElementsByTagName(match[1]); + } + }, + preFilter: { + CLASS: function(match, curLoop, inplace, result, not, isXML){ + match = " " + match[1].replace(/\\/g, "") + " "; + + if ( isXML ) { + return match; + } + + for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { + if ( elem ) { + if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n]/g, " ").indexOf(match) >= 0) ) { + if ( !inplace ) { + result.push( elem ); + } + } else if ( inplace ) { + curLoop[i] = false; + } + } + } + + return false; + }, + ID: function(match){ + return match[1].replace(/\\/g, ""); + }, + TAG: function(match, curLoop){ + return match[1].toLowerCase(); + }, + CHILD: function(match){ + if ( match[1] === "nth" ) { + // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' + var test = /(-?)(\d*)n((?:\+|-)?\d*)/.exec( + match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || + !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); + + // calculate the numbers (first)n+(last) including if they are negative + match[2] = (test[1] + (test[2] || 1)) - 0; + match[3] = test[3] - 0; + } + + // TODO: Move to normal caching system + match[0] = done++; + + return match; + }, + ATTR: function(match, curLoop, inplace, result, not, isXML){ + var name = match[1].replace(/\\/g, ""); + + if ( !isXML && Expr.attrMap[name] ) { + match[1] = Expr.attrMap[name]; + } + + if ( match[2] === "~=" ) { + match[4] = " " + match[4] + " "; + } + + return match; + }, + PSEUDO: function(match, curLoop, inplace, result, not){ + if ( match[1] === "not" ) { + // If we're dealing with a complex expression, or a simple one + if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { + match[3] = Sizzle(match[3], null, null, curLoop); + } else { + var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); + if ( !inplace ) { + result.push.apply( result, ret ); + } + return false; + } + } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { + return true; + } + + return match; + }, + POS: function(match){ + match.unshift( true ); + return match; + } + }, + filters: { + enabled: function(elem){ + return elem.disabled === false && elem.type !== "hidden"; + }, + disabled: function(elem){ + return elem.disabled === true; + }, + checked: function(elem){ + return elem.checked === true; + }, + selected: function(elem){ + // Accessing this property makes selected-by-default + // options in Safari work properly + elem.parentNode.selectedIndex; + return elem.selected === true; + }, + parent: function(elem){ + return !!elem.firstChild; + }, + empty: function(elem){ + return !elem.firstChild; + }, + has: function(elem, i, match){ + return !!Sizzle( match[3], elem ).length; + }, + header: function(elem){ + return (/h\d/i).test( elem.nodeName ); + }, + text: function(elem){ + return "text" === elem.type; + }, + radio: function(elem){ + return "radio" === elem.type; + }, + checkbox: function(elem){ + return "checkbox" === elem.type; + }, + file: function(elem){ + return "file" === elem.type; + }, + password: function(elem){ + return "password" === elem.type; + }, + submit: function(elem){ + return "submit" === elem.type; + }, + image: function(elem){ + return "image" === elem.type; + }, + reset: function(elem){ + return "reset" === elem.type; + }, + button: function(elem){ + return "button" === elem.type || elem.nodeName.toLowerCase() === "button"; + }, + input: function(elem){ + return (/input|select|textarea|button/i).test(elem.nodeName); + } + }, + setFilters: { + first: function(elem, i){ + return i === 0; + }, + last: function(elem, i, match, array){ + return i === array.length - 1; + }, + even: function(elem, i){ + return i % 2 === 0; + }, + odd: function(elem, i){ + return i % 2 === 1; + }, + lt: function(elem, i, match){ + return i < match[3] - 0; + }, + gt: function(elem, i, match){ + return i > match[3] - 0; + }, + nth: function(elem, i, match){ + return match[3] - 0 === i; + }, + eq: function(elem, i, match){ + return match[3] - 0 === i; + } + }, + filter: { + PSEUDO: function(elem, match, i, array){ + var name = match[1], filter = Expr.filters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } else if ( name === "contains" ) { + return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0; + } else if ( name === "not" ) { + var not = match[3]; + + for ( var j = 0, l = not.length; j < l; j++ ) { + if ( not[j] === elem ) { + return false; + } + } + + return true; + } else { + Sizzle.error( "Syntax error, unrecognized expression: " + name ); + } + }, + CHILD: function(elem, match){ + var type = match[1], node = elem; + switch (type) { + case 'only': + case 'first': + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + if ( type === "first" ) { + return true; + } + node = elem; + case 'last': + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + return true; + case 'nth': + var first = match[2], last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + var doneName = match[0], + parent = elem.parentNode; + + if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { + var count = 0; + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + parent.sizcache = doneName; + } + + var diff = elem.nodeIndex - last; + if ( first === 0 ) { + return diff === 0; + } else { + return ( diff % first === 0 && diff / first >= 0 ); + } + } + }, + ID: function(elem, match){ + return elem.nodeType === 1 && elem.getAttribute("id") === match; + }, + TAG: function(elem, match){ + return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; + }, + CLASS: function(elem, match){ + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + ATTR: function(elem, match){ + var name = match[1], + result = Expr.attrHandle[ name ] ? + Expr.attrHandle[ name ]( elem ) : + elem[ name ] != null ? + elem[ name ] : + elem.getAttribute( name ), + value = result + "", + type = match[2], + check = match[4]; + + return result == null ? + type === "!=" : + type === "=" ? + value === check : + type === "*=" ? + value.indexOf(check) >= 0 : + type === "~=" ? + (" " + value + " ").indexOf(check) >= 0 : + !check ? + value && result !== false : + type === "!=" ? + value !== check : + type === "^=" ? + value.indexOf(check) === 0 : + type === "$=" ? + value.substr(value.length - check.length) === check : + type === "|=" ? + value === check || value.substr(0, check.length + 1) === check + "-" : + false; + }, + POS: function(elem, match, i, array){ + var name = match[2], filter = Expr.setFilters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } + } + } +}; + +var origPOS = Expr.match.POS, + fescape = function(all, num){ + return "\\" + (num - 0 + 1); + }; + +for ( var type in Expr.match ) { + Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); + Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); +} + +var makeArray = function(array, results) { + array = Array.prototype.slice.call( array, 0 ); + + if ( results ) { + results.push.apply( results, array ); + return results; + } + + return array; +}; + +// Perform a simple check to determine if the browser is capable of +// converting a NodeList to an array using builtin methods. +// Also verifies that the returned array holds DOM nodes +// (which is not the case in the Blackberry browser) +try { + Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; + +// Provide a fallback method if it does not work +} catch(e){ + makeArray = function(array, results) { + var ret = results || [], i = 0; + + if ( toString.call(array) === "[object Array]" ) { + Array.prototype.push.apply( ret, array ); + } else { + if ( typeof array.length === "number" ) { + for ( var l = array.length; i < l; i++ ) { + ret.push( array[i] ); + } + } else { + for ( ; array[i]; i++ ) { + ret.push( array[i] ); + } + } + } + + return ret; + }; +} + +var sortOrder; + +if ( document.documentElement.compareDocumentPosition ) { + sortOrder = function( a, b ) { + if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { + if ( a == b ) { + hasDuplicate = true; + } + return a.compareDocumentPosition ? -1 : 1; + } + + var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1; + if ( ret === 0 ) { + hasDuplicate = true; + } + return ret; + }; +} else if ( "sourceIndex" in document.documentElement ) { + sortOrder = function( a, b ) { + if ( !a.sourceIndex || !b.sourceIndex ) { + if ( a == b ) { + hasDuplicate = true; + } + return a.sourceIndex ? -1 : 1; + } + + var ret = a.sourceIndex - b.sourceIndex; + if ( ret === 0 ) { + hasDuplicate = true; + } + return ret; + }; +} else if ( document.createRange ) { + sortOrder = function( a, b ) { + if ( !a.ownerDocument || !b.ownerDocument ) { + if ( a == b ) { + hasDuplicate = true; + } + return a.ownerDocument ? -1 : 1; + } + + var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange(); + aRange.setStart(a, 0); + aRange.setEnd(a, 0); + bRange.setStart(b, 0); + bRange.setEnd(b, 0); + var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange); + if ( ret === 0 ) { + hasDuplicate = true; + } + return ret; + }; +} + +// Utility function for retreiving the text value of an array of DOM nodes +Sizzle.getText = function( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += Sizzle.getText( elem.childNodes ); + } + } + + return ret; +}; + +// Check to see if the browser returns elements by name when +// querying by getElementById (and provide a workaround) +(function(){ + // We're going to inject a fake input element with a specified name + var form = document.createElement("div"), + id = "script" + (new Date()).getTime(); + form.innerHTML = "<a name='" + id + "'/>"; + + // Inject it into the root element, check its status, and remove it quickly + var root = document.documentElement; + root.insertBefore( form, root.firstChild ); + + // The workaround has to do additional checks after a getElementById + // Which slows things down for other browsers (hence the branching) + if ( document.getElementById( id ) ) { + Expr.find.ID = function(match, context, isXML){ + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : []; + } + }; + + Expr.filter.ID = function(elem, match){ + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + return elem.nodeType === 1 && node && node.nodeValue === match; + }; + } + + root.removeChild( form ); + root = form = null; // release memory in IE +})(); + +(function(){ + // Check to see if the browser returns only elements + // when doing getElementsByTagName("*") + + // Create a fake element + var div = document.createElement("div"); + div.appendChild( document.createComment("") ); + + // Make sure no comments are found + if ( div.getElementsByTagName("*").length > 0 ) { + Expr.find.TAG = function(match, context){ + var results = context.getElementsByTagName(match[1]); + + // Filter out possible comments + if ( match[1] === "*" ) { + var tmp = []; + + for ( var i = 0; results[i]; i++ ) { + if ( results[i].nodeType === 1 ) { + tmp.push( results[i] ); + } + } + + results = tmp; + } + + return results; + }; + } + + // Check to see if an attribute returns normalized href attributes + div.innerHTML = "<a href='#'></a>"; + if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && + div.firstChild.getAttribute("href") !== "#" ) { + Expr.attrHandle.href = function(elem){ + return elem.getAttribute("href", 2); + }; + } + + div = null; // release memory in IE +})(); + +if ( document.querySelectorAll ) { + (function(){ + var oldSizzle = Sizzle, div = document.createElement("div"); + div.innerHTML = "<p class='TEST'></p>"; + + // Safari can't handle uppercase or unicode characters when + // in quirks mode. + if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { + return; + } + + Sizzle = function(query, context, extra, seed){ + context = context || document; + + // Only use querySelectorAll on non-XML documents + // (ID selectors don't work in non-HTML documents) + if ( !seed && context.nodeType === 9 && !Sizzle.isXML(context) ) { + try { + return makeArray( context.querySelectorAll(query), extra ); + } catch(e){} + } + + return oldSizzle(query, context, extra, seed); + }; + + for ( var prop in oldSizzle ) { + Sizzle[ prop ] = oldSizzle[ prop ]; + } + + div = null; // release memory in IE + })(); +} + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "<div class='test e'></div><div class='test'></div>"; + + // Opera can't find a second classname (in 9.6) + // Also, make sure that getElementsByClassName actually exists + if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { + return; + } + + // Safari caches class attributes, doesn't catch changes (in 3.2) + div.lastChild.className = "e"; + + if ( div.getElementsByClassName("e").length === 1 ) { + return; + } + + Expr.order.splice(1, 0, "CLASS"); + Expr.find.CLASS = function(match, context, isXML) { + if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { + return context.getElementsByClassName(match[1]); + } + }; + + div = null; // release memory in IE +})(); + +function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + if ( elem ) { + elem = elem[dir]; + var match = false; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( elem.nodeName.toLowerCase() === cur ) { + match = elem; + break; + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + if ( elem ) { + elem = elem[dir]; + var match = false; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem.sizcache = doneName; + elem.sizset = i; + } + if ( typeof cur !== "string" ) { + if ( elem === cur ) { + match = true; + break; + } + + } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { + match = elem; + break; + } + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +Sizzle.contains = document.compareDocumentPosition ? function(a, b){ + return !!(a.compareDocumentPosition(b) & 16); +} : function(a, b){ + return a !== b && (a.contains ? a.contains(b) : true); +}; + +Sizzle.isXML = function(elem){ + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +var posProcess = function(selector, context){ + var tmpSet = [], later = "", match, + root = context.nodeType ? [context] : context; + + // Position selectors must be done after the filter + // And so must :not(positional) so we move all PSEUDOs to the end + while ( (match = Expr.match.PSEUDO.exec( selector )) ) { + later += match[0]; + selector = selector.replace( Expr.match.PSEUDO, "" ); + } + + selector = Expr.relative[selector] ? selector + "*" : selector; + + for ( var i = 0, l = root.length; i < l; i++ ) { + Sizzle( selector, root[i], tmpSet ); + } + + return Sizzle.filter( later, tmpSet ); +}; + +// EXPOSE + +window.tinymce.dom.Sizzle = Sizzle; + +})(); + + +(function(tinymce) { + // Shorten names + var each = tinymce.each, DOM = tinymce.DOM, isIE = tinymce.isIE, isWebKit = tinymce.isWebKit, Event; + + tinymce.create('tinymce.dom.EventUtils', { + EventUtils : function() { + this.inits = []; + this.events = []; + }, + + add : function(o, n, f, s) { + var cb, t = this, el = t.events, r; + + if (n instanceof Array) { + r = []; + + each(n, function(n) { + r.push(t.add(o, n, f, s)); + }); + + return r; + } + + // Handle array + if (o && o.hasOwnProperty && o instanceof Array) { + r = []; + + each(o, function(o) { + o = DOM.get(o); + r.push(t.add(o, n, f, s)); + }); + + return r; + } + + o = DOM.get(o); + + if (!o) + return; + + // Setup event callback + cb = function(e) { + // Is all events disabled + if (t.disabled) + return; + + e = e || window.event; + + // Patch in target, preventDefault and stopPropagation in IE it's W3C valid + if (e && isIE) { + if (!e.target) + e.target = e.srcElement; + + // Patch in preventDefault, stopPropagation methods for W3C compatibility + tinymce.extend(e, t._stoppers); + } + + if (!s) + return f(e); + + return f.call(s, e); + }; + + if (n == 'unload') { + tinymce.unloads.unshift({func : cb}); + return cb; + } + + if (n == 'init') { + if (t.domLoaded) + cb(); + else + t.inits.push(cb); + + return cb; + } + + // Store away listener reference + el.push({ + obj : o, + name : n, + func : f, + cfunc : cb, + scope : s + }); + + t._add(o, n, cb); + + return f; + }, + + remove : function(o, n, f) { + var t = this, a = t.events, s = false, r; + + // Handle array + if (o && o.hasOwnProperty && o instanceof Array) { + r = []; + + each(o, function(o) { + o = DOM.get(o); + r.push(t.remove(o, n, f)); + }); + + return r; + } + + o = DOM.get(o); + + each(a, function(e, i) { + if (e.obj == o && e.name == n && (!f || (e.func == f || e.cfunc == f))) { + a.splice(i, 1); + t._remove(o, n, e.cfunc); + s = true; + return false; + } + }); + + return s; + }, + + clear : function(o) { + var t = this, a = t.events, i, e; + + if (o) { + o = DOM.get(o); + + for (i = a.length - 1; i >= 0; i--) { + e = a[i]; + + if (e.obj === o) { + t._remove(e.obj, e.name, e.cfunc); + e.obj = e.cfunc = null; + a.splice(i, 1); + } + } + } + }, + + cancel : function(e) { + if (!e) + return false; + + this.stop(e); + + return this.prevent(e); + }, + + stop : function(e) { + if (e.stopPropagation) + e.stopPropagation(); + else + e.cancelBubble = true; + + return false; + }, + + prevent : function(e) { + if (e.preventDefault) + e.preventDefault(); + else + e.returnValue = false; + + return false; + }, + + destroy : function() { + var t = this; + + each(t.events, function(e, i) { + t._remove(e.obj, e.name, e.cfunc); + e.obj = e.cfunc = null; + }); + + t.events = []; + t = null; + }, + + _add : function(o, n, f) { + if (o.attachEvent) + o.attachEvent('on' + n, f); + else if (o.addEventListener) + o.addEventListener(n, f, false); + else + o['on' + n] = f; + }, + + _remove : function(o, n, f) { + if (o) { + try { + if (o.detachEvent) + o.detachEvent('on' + n, f); + else if (o.removeEventListener) + o.removeEventListener(n, f, false); + else + o['on' + n] = null; + } catch (ex) { + // Might fail with permission denined on IE so we just ignore that + } + } + }, + + _pageInit : function(win) { + var t = this; + + // Keep it from running more than once + if (t.domLoaded) + return; + + t.domLoaded = true; + + each(t.inits, function(c) { + c(); + }); + + t.inits = []; + }, + + _wait : function(win) { + var t = this, doc = win.document; + + // No need since the document is already loaded + if (win.tinyMCE_GZ && tinyMCE_GZ.loaded) { + t.domLoaded = 1; + return; + } + + // Use IE method + if (doc.attachEvent) { + doc.attachEvent("onreadystatechange", function() { + if (doc.readyState === "complete") { + doc.detachEvent("onreadystatechange", arguments.callee); + t._pageInit(win); + } + }); + + if (doc.documentElement.doScroll && win == win.top) { + (function() { + if (t.domLoaded) + return; + + try { + // If IE is used, use the trick by Diego Perini licensed under MIT by request to the author. + // http://javascript.nwbox.com/IEContentLoaded/ + doc.documentElement.doScroll("left"); + } catch (ex) { + setTimeout(arguments.callee, 0); + return; + } + + t._pageInit(win); + })(); + } + } else if (doc.addEventListener) { + t._add(win, 'DOMContentLoaded', function() { + t._pageInit(win); + }); + } + + t._add(win, 'load', function() { + t._pageInit(win); + }); + }, + + _stoppers : { + preventDefault : function() { + this.returnValue = false; + }, + + stopPropagation : function() { + this.cancelBubble = true; + } + } + }); + + Event = tinymce.dom.Event = new tinymce.dom.EventUtils(); + + // Dispatch DOM content loaded event for IE and Safari + Event._wait(window); + + tinymce.addUnload(function() { + Event.destroy(); + }); +})(tinymce); + +(function(tinymce) { + tinymce.dom.Element = function(id, settings) { + var t = this, dom, el; + + t.settings = settings = settings || {}; + t.id = id; + t.dom = dom = settings.dom || tinymce.DOM; + + // Only IE leaks DOM references, this is a lot faster + if (!tinymce.isIE) + el = dom.get(t.id); + + tinymce.each( + ('getPos,getRect,getParent,add,setStyle,getStyle,setStyles,' + + 'setAttrib,setAttribs,getAttrib,addClass,removeClass,' + + 'hasClass,getOuterHTML,setOuterHTML,remove,show,hide,' + + 'isHidden,setHTML,get').split(/,/) + , function(k) { + t[k] = function() { + var a = [id], i; + + for (i = 0; i < arguments.length; i++) + a.push(arguments[i]); + + a = dom[k].apply(dom, a); + t.update(k); + + return a; + }; + }); + + tinymce.extend(t, { + on : function(n, f, s) { + return tinymce.dom.Event.add(t.id, n, f, s); + }, + + getXY : function() { + return { + x : parseInt(t.getStyle('left')), + y : parseInt(t.getStyle('top')) + }; + }, + + getSize : function() { + var n = dom.get(t.id); + + return { + w : parseInt(t.getStyle('width') || n.clientWidth), + h : parseInt(t.getStyle('height') || n.clientHeight) + }; + }, + + moveTo : function(x, y) { + t.setStyles({left : x, top : y}); + }, + + moveBy : function(x, y) { + var p = t.getXY(); + + t.moveTo(p.x + x, p.y + y); + }, + + resizeTo : function(w, h) { + t.setStyles({width : w, height : h}); + }, + + resizeBy : function(w, h) { + var s = t.getSize(); + + t.resizeTo(s.w + w, s.h + h); + }, + + update : function(k) { + var b; + + if (tinymce.isIE6 && settings.blocker) { + k = k || ''; + + // Ignore getters + if (k.indexOf('get') === 0 || k.indexOf('has') === 0 || k.indexOf('is') === 0) + return; + + // Remove blocker on remove + if (k == 'remove') { + dom.remove(t.blocker); + return; + } + + if (!t.blocker) { + t.blocker = dom.uniqueId(); + b = dom.add(settings.container || dom.getRoot(), 'iframe', {id : t.blocker, style : 'position:absolute;', frameBorder : 0, src : 'javascript:""'}); + dom.setStyle(b, 'opacity', 0); + } else + b = dom.get(t.blocker); + + dom.setStyles(b, { + left : t.getStyle('left', 1), + top : t.getStyle('top', 1), + width : t.getStyle('width', 1), + height : t.getStyle('height', 1), + display : t.getStyle('display', 1), + zIndex : parseInt(t.getStyle('zIndex', 1) || 0) - 1 + }); + } + } + }); + }; +})(tinymce); + +(function(tinymce) { + function trimNl(s) { + return s.replace(/[\n\r]+/g, ''); + }; + + // Shorten names + var is = tinymce.is, isIE = tinymce.isIE, each = tinymce.each; + + tinymce.create('tinymce.dom.Selection', { + Selection : function(dom, win, serializer) { + var t = this; + + t.dom = dom; + t.win = win; + t.serializer = serializer; + + // Add events + each([ + 'onBeforeSetContent', + + 'onBeforeGetContent', + + 'onSetContent', + + 'onGetContent' + ], function(e) { + t[e] = new tinymce.util.Dispatcher(t); + }); + + // No W3C Range support + if (!t.win.getSelection) + t.tridentSel = new tinymce.dom.TridentSelection(t); + + if (tinymce.isIE && dom.boxModel) + this._fixIESelection(); + + // Prevent leaks + tinymce.addUnload(t.destroy, t); + }, + + setCursorLocation: function(node, offset) { + var t = this; var r = t.dom.createRng(); + r.setStart(node, offset); + r.setEnd(node, offset); + t.setRng(r); + t.collapse(false); + }, + getContent : function(s) { + var t = this, r = t.getRng(), e = t.dom.create("body"), se = t.getSel(), wb, wa, n; + + s = s || {}; + wb = wa = ''; + s.get = true; + s.format = s.format || 'html'; + s.forced_root_block = ''; + t.onBeforeGetContent.dispatch(t, s); + + if (s.format == 'text') + return t.isCollapsed() ? '' : (r.text || (se.toString ? se.toString() : '')); + + if (r.cloneContents) { + n = r.cloneContents(); + + if (n) + e.appendChild(n); + } else if (is(r.item) || is(r.htmlText)) + e.innerHTML = r.item ? r.item(0).outerHTML : r.htmlText; + else + e.innerHTML = r.toString(); + + // Keep whitespace before and after + if (/^\s/.test(e.innerHTML)) + wb = ' '; + + if (/\s+$/.test(e.innerHTML)) + wa = ' '; + + s.getInner = true; + + s.content = t.isCollapsed() ? '' : wb + t.serializer.serialize(e, s) + wa; + t.onGetContent.dispatch(t, s); + + return s.content; + }, + + setContent : function(content, args) { + var self = this, rng = self.getRng(), caretNode, doc = self.win.document, frag, temp; + + args = args || {format : 'html'}; + args.set = true; + content = args.content = content; + + // Dispatch before set content event + if (!args.no_events) + self.onBeforeSetContent.dispatch(self, args); + + content = args.content; + + if (rng.insertNode) { + // Make caret marker since insertNode places the caret in the beginning of text after insert + content += '<span id="__caret">_</span>'; + + // Delete and insert new node + if (rng.startContainer == doc && rng.endContainer == doc) { + // WebKit will fail if the body is empty since the range is then invalid and it can't insert contents + doc.body.innerHTML = content; + } else { + rng.deleteContents(); + + if (doc.body.childNodes.length == 0) { + doc.body.innerHTML = content; + } else { + // createContextualFragment doesn't exists in IE 9 DOMRanges + if (rng.createContextualFragment) { + rng.insertNode(rng.createContextualFragment(content)); + } else { + // Fake createContextualFragment call in IE 9 + frag = doc.createDocumentFragment(); + temp = doc.createElement('div'); + + frag.appendChild(temp); + temp.outerHTML = content; + + rng.insertNode(frag); + } + } + } + + // Move to caret marker + caretNode = self.dom.get('__caret'); + + // Make sure we wrap it compleatly, Opera fails with a simple select call + rng = doc.createRange(); + rng.setStartBefore(caretNode); + rng.setEndBefore(caretNode); + self.setRng(rng); + + // Remove the caret position + self.dom.remove('__caret'); + + try { + self.setRng(rng); + } catch (ex) { + // Might fail on Opera for some odd reason + } + } else { + if (rng.item) { + // Delete content and get caret text selection + doc.execCommand('Delete', false, null); + rng = self.getRng(); + } + + rng.pasteHTML(content); + } + + // Dispatch set content event + if (!args.no_events) + self.onSetContent.dispatch(self, args); + }, + + getStart : function() { + var rng = this.getRng(), startElement, parentElement, checkRng, node; + + if (rng.duplicate || rng.item) { + // Control selection, return first item + if (rng.item) + return rng.item(0); + + // Get start element + checkRng = rng.duplicate(); + checkRng.collapse(1); + startElement = checkRng.parentElement(); + + // Check if range parent is inside the start element, then return the inner parent element + // This will fix issues when a single element is selected, IE would otherwise return the wrong start element + parentElement = node = rng.parentElement(); + while (node = node.parentNode) { + if (node == startElement) { + startElement = parentElement; + break; + } + } + + return startElement; + } else { + startElement = rng.startContainer; + + if (startElement.nodeType == 1 && startElement.hasChildNodes()) + startElement = startElement.childNodes[Math.min(startElement.childNodes.length - 1, rng.startOffset)]; + + if (startElement && startElement.nodeType == 3) + return startElement.parentNode; + + return startElement; + } + }, + + getEnd : function() { + var t = this, r = t.getRng(), e, eo; + + if (r.duplicate || r.item) { + if (r.item) + return r.item(0); + + r = r.duplicate(); + r.collapse(0); + e = r.parentElement(); + + if (e && e.nodeName == 'BODY') + return e.lastChild || e; + + return e; + } else { + e = r.endContainer; + eo = r.endOffset; + + if (e.nodeType == 1 && e.hasChildNodes()) + e = e.childNodes[eo > 0 ? eo - 1 : eo]; + + if (e && e.nodeType == 3) + return e.parentNode; + + return e; + } + }, + + getBookmark : function(type, normalized) { + var t = this, dom = t.dom, rng, rng2, id, collapsed, name, element, index, chr = '\uFEFF', styles; + + function findIndex(name, element) { + var index = 0; + + each(dom.select(name), function(node, i) { + if (node == element) + index = i; + }); + + return index; + }; + + if (type == 2) { + function getLocation() { + var rng = t.getRng(true), root = dom.getRoot(), bookmark = {}; + + function getPoint(rng, start) { + var container = rng[start ? 'startContainer' : 'endContainer'], + offset = rng[start ? 'startOffset' : 'endOffset'], point = [], node, childNodes, after = 0; + + if (container.nodeType == 3) { + if (normalized) { + for (node = container.previousSibling; node && node.nodeType == 3; node = node.previousSibling) + offset += node.nodeValue.length; + } + + point.push(offset); + } else { + childNodes = container.childNodes; + + if (offset >= childNodes.length && childNodes.length) { + after = 1; + offset = Math.max(0, childNodes.length - 1); + } + + point.push(t.dom.nodeIndex(childNodes[offset], normalized) + after); + } + + for (; container && container != root; container = container.parentNode) + point.push(t.dom.nodeIndex(container, normalized)); + + return point; + }; + + bookmark.start = getPoint(rng, true); + + if (!t.isCollapsed()) + bookmark.end = getPoint(rng); + + return bookmark; + }; + + if (t.tridentSel) + return t.tridentSel.getBookmark(type); + + return getLocation(); + } + + // Handle simple range + if (type) + return {rng : t.getRng()}; + + rng = t.getRng(); + id = dom.uniqueId(); + collapsed = tinyMCE.activeEditor.selection.isCollapsed(); + styles = 'overflow:hidden;line-height:0px'; + + // Explorer method + if (rng.duplicate || rng.item) { + // Text selection + if (!rng.item) { + rng2 = rng.duplicate(); + + try { + // Insert start marker + rng.collapse(); + rng.pasteHTML('<span data-mce-type="bookmark" id="' + id + '_start" style="' + styles + '">' + chr + '</span>'); + + // Insert end marker + if (!collapsed) { + rng2.collapse(false); + + // Detect the empty space after block elements in IE and move the end back one character <p></p>] becomes <p>]</p> + rng.moveToElementText(rng2.parentElement()); + if (rng.compareEndPoints('StartToEnd', rng2) == 0) + rng2.move('character', -1); + + rng2.pasteHTML('<span data-mce-type="bookmark" id="' + id + '_end" style="' + styles + '">' + chr + '</span>'); + } + } catch (ex) { + // IE might throw unspecified error so lets ignore it + return null; + } + } else { + // Control selection + element = rng.item(0); + name = element.nodeName; + + return {name : name, index : findIndex(name, element)}; + } + } else { + element = t.getNode(); + name = element.nodeName; + if (name == 'IMG') + return {name : name, index : findIndex(name, element)}; + + // W3C method + rng2 = rng.cloneRange(); + + // Insert end marker + if (!collapsed) { + rng2.collapse(false); + rng2.insertNode(dom.create('span', {'data-mce-type' : "bookmark", id : id + '_end', style : styles}, chr)); + } + + rng.collapse(true); + rng.insertNode(dom.create('span', {'data-mce-type' : "bookmark", id : id + '_start', style : styles}, chr)); + } + + t.moveToBookmark({id : id, keep : 1}); + + return {id : id}; + }, + + moveToBookmark : function(bookmark) { + var t = this, dom = t.dom, marker1, marker2, rng, root, startContainer, endContainer, startOffset, endOffset; + + if (bookmark) { + if (bookmark.start) { + rng = dom.createRng(); + root = dom.getRoot(); + + function setEndPoint(start) { + var point = bookmark[start ? 'start' : 'end'], i, node, offset, children; + + if (point) { + offset = point[0]; + + // Find container node + for (node = root, i = point.length - 1; i >= 1; i--) { + children = node.childNodes; + + if (point[i] > children.length - 1) + return; + + node = children[point[i]]; + } + + // Move text offset to best suitable location + if (node.nodeType === 3) + offset = Math.min(point[0], node.nodeValue.length); + + // Move element offset to best suitable location + if (node.nodeType === 1) + offset = Math.min(point[0], node.childNodes.length); + + // Set offset within container node + if (start) + rng.setStart(node, offset); + else + rng.setEnd(node, offset); + } + + return true; + }; + + if (t.tridentSel) + return t.tridentSel.moveToBookmark(bookmark); + + if (setEndPoint(true) && setEndPoint()) { + t.setRng(rng); + } + } else if (bookmark.id) { + function restoreEndPoint(suffix) { + var marker = dom.get(bookmark.id + '_' + suffix), node, idx, next, prev, keep = bookmark.keep; + + if (marker) { + node = marker.parentNode; + + if (suffix == 'start') { + if (!keep) { + idx = dom.nodeIndex(marker); + } else { + node = marker.firstChild; + idx = 1; + } + + startContainer = endContainer = node; + startOffset = endOffset = idx; + } else { + if (!keep) { + idx = dom.nodeIndex(marker); + } else { + node = marker.firstChild; + idx = 1; + } + + endContainer = node; + endOffset = idx; + } + + if (!keep) { + prev = marker.previousSibling; + next = marker.nextSibling; + + // Remove all marker text nodes + each(tinymce.grep(marker.childNodes), function(node) { + if (node.nodeType == 3) + node.nodeValue = node.nodeValue.replace(/\uFEFF/g, ''); + }); + + // Remove marker but keep children if for example contents where inserted into the marker + // Also remove duplicated instances of the marker for example by a split operation or by WebKit auto split on paste feature + while (marker = dom.get(bookmark.id + '_' + suffix)) + dom.remove(marker, 1); + + // If siblings are text nodes then merge them unless it's Opera since it some how removes the node + // and we are sniffing since adding a lot of detection code for a browser with 3% of the market isn't worth the effort. Sorry, Opera but it's just a fact + if (prev && next && prev.nodeType == next.nodeType && prev.nodeType == 3 && !tinymce.isOpera) { + idx = prev.nodeValue.length; + prev.appendData(next.nodeValue); + dom.remove(next); + + if (suffix == 'start') { + startContainer = endContainer = prev; + startOffset = endOffset = idx; + } else { + endContainer = prev; + endOffset = idx; + } + } + } + } + }; + + function addBogus(node) { + // Adds a bogus BR element for empty block elements or just a space on IE since it renders BR elements incorrectly + if (dom.isBlock(node) && !node.innerHTML) + node.innerHTML = !isIE ? '<br data-mce-bogus="1" />' : ' '; + + return node; + }; + + // Restore start/end points + restoreEndPoint('start'); + restoreEndPoint('end'); + + if (startContainer) { + rng = dom.createRng(); + rng.setStart(addBogus(startContainer), startOffset); + rng.setEnd(addBogus(endContainer), endOffset); + t.setRng(rng); + } + } else if (bookmark.name) { + t.select(dom.select(bookmark.name)[bookmark.index]); + } else if (bookmark.rng) + t.setRng(bookmark.rng); + } + }, + + select : function(node, content) { + var t = this, dom = t.dom, rng = dom.createRng(), idx; + + if (node) { + idx = dom.nodeIndex(node); + rng.setStart(node.parentNode, idx); + rng.setEnd(node.parentNode, idx + 1); + + // Find first/last text node or BR element + if (content) { + function setPoint(node, start) { + var walker = new tinymce.dom.TreeWalker(node, node); + + do { + // Text node + if (node.nodeType == 3 && tinymce.trim(node.nodeValue).length != 0) { + if (start) + rng.setStart(node, 0); + else + rng.setEnd(node, node.nodeValue.length); + + return; + } + + // BR element + if (node.nodeName == 'BR') { + if (start) + rng.setStartBefore(node); + else + rng.setEndBefore(node); + + return; + } + } while (node = (start ? walker.next() : walker.prev())); + }; + + setPoint(node, 1); + setPoint(node); + } + + t.setRng(rng); + } + + return node; + }, + + isCollapsed : function() { + var t = this, r = t.getRng(), s = t.getSel(); + + if (!r || r.item) + return false; + + if (r.compareEndPoints) + return r.compareEndPoints('StartToEnd', r) === 0; + + return !s || r.collapsed; + }, + + collapse : function(to_start) { + var self = this, rng = self.getRng(), node; + + // Control range on IE + if (rng.item) { + node = rng.item(0); + rng = self.win.document.body.createTextRange(); + rng.moveToElementText(node); + } + + rng.collapse(!!to_start); + self.setRng(rng); + }, + + getSel : function() { + var t = this, w = this.win; + + return w.getSelection ? w.getSelection() : w.document.selection; + }, + + getRng : function(w3c) { + var t = this, s, r, elm, doc = t.win.document; + + // Found tridentSel object then we need to use that one + if (w3c && t.tridentSel) + return t.tridentSel.getRangeAt(0); + + try { + if (s = t.getSel()) + r = s.rangeCount > 0 ? s.getRangeAt(0) : (s.createRange ? s.createRange() : doc.createRange()); + } catch (ex) { + // IE throws unspecified error here if TinyMCE is placed in a frame/iframe + } + + // We have W3C ranges and it's IE then fake control selection since IE9 doesn't handle that correctly yet + if (tinymce.isIE && r && r.setStart && doc.selection.createRange().item) { + elm = doc.selection.createRange().item(0); + r = doc.createRange(); + r.setStartBefore(elm); + r.setEndAfter(elm); + } + + // No range found then create an empty one + // This can occur when the editor is placed in a hidden container element on Gecko + // Or on IE when there was an exception + if (!r) + r = doc.createRange ? doc.createRange() : doc.body.createTextRange(); + + if (t.selectedRange && t.explicitRange) { + if (r.compareBoundaryPoints(r.START_TO_START, t.selectedRange) === 0 && r.compareBoundaryPoints(r.END_TO_END, t.selectedRange) === 0) { + // Safari, Opera and Chrome only ever select text which causes the range to change. + // This lets us use the originally set range if the selection hasn't been changed by the user. + r = t.explicitRange; + } else { + t.selectedRange = null; + t.explicitRange = null; + } + } + + return r; + }, + + setRng : function(r) { + var s, t = this; + + if (!t.tridentSel) { + s = t.getSel(); + + if (s) { + t.explicitRange = r; + + try { + s.removeAllRanges(); + } catch (ex) { + // IE9 might throw errors here don't know why + } + + s.addRange(r); + t.selectedRange = s.getRangeAt(0); + } + } else { + // Is W3C Range + if (r.cloneRange) { + t.tridentSel.addRange(r); + return; + } + + // Is IE specific range + try { + r.select(); + } catch (ex) { + // Needed for some odd IE bug #1843306 + } + } + }, + + setNode : function(n) { + var t = this; + + t.setContent(t.dom.getOuterHTML(n)); + + return n; + }, + + getNode : function() { + var t = this, rng = t.getRng(), sel = t.getSel(), elm, start = rng.startContainer, end = rng.endContainer; + + // Range maybe lost after the editor is made visible again + if (!rng) + return t.dom.getRoot(); + + if (rng.setStart) { + elm = rng.commonAncestorContainer; + + // Handle selection a image or other control like element such as anchors + if (!rng.collapsed) { + if (rng.startContainer == rng.endContainer) { + if (rng.endOffset - rng.startOffset < 2) { + if (rng.startContainer.hasChildNodes()) + elm = rng.startContainer.childNodes[rng.startOffset]; + } + } + + // If the anchor node is a element instead of a text node then return this element + //if (tinymce.isWebKit && sel.anchorNode && sel.anchorNode.nodeType == 1) + // return sel.anchorNode.childNodes[sel.anchorOffset]; + + // Handle cases where the selection is immediately wrapped around a node and return that node instead of it's parent. + // This happens when you double click an underlined word in FireFox. + if (start.nodeType === 3 && end.nodeType === 3) { + function skipEmptyTextNodes(n, forwards) { + var orig = n; + while (n && n.nodeType === 3 && n.length === 0) { + n = forwards ? n.nextSibling : n.previousSibling; + } + return n || orig; + } + if (start.length === rng.startOffset) { + start = skipEmptyTextNodes(start.nextSibling, true); + } else { + start = start.parentNode; + } + if (rng.endOffset === 0) { + end = skipEmptyTextNodes(end.previousSibling, false); + } else { + end = end.parentNode; + } + + if (start && start === end) + return start; + } + } + + if (elm && elm.nodeType == 3) + return elm.parentNode; + + return elm; + } + + return rng.item ? rng.item(0) : rng.parentElement(); + }, + + getSelectedBlocks : function(st, en) { + var t = this, dom = t.dom, sb, eb, n, bl = []; + + sb = dom.getParent(st || t.getStart(), dom.isBlock); + eb = dom.getParent(en || t.getEnd(), dom.isBlock); + + if (sb) + bl.push(sb); + + if (sb && eb && sb != eb) { + n = sb; + + while ((n = n.nextSibling) && n != eb) { + if (dom.isBlock(n)) + bl.push(n); + } + } + + if (eb && sb != eb) + bl.push(eb); + + return bl; + }, + + normalize : function() { + var self = this, rng, normalized; + + // Normalize only on non IE browsers for now + if (tinymce.isIE) + return; + + function normalizeEndPoint(start) { + var container, offset, walker, dom = self.dom, body = dom.getRoot(), node; + + container = rng[(start ? 'start' : 'end') + 'Container']; + offset = rng[(start ? 'start' : 'end') + 'Offset']; + + // If the container is a document move it to the body element + if (container.nodeType === 9) { + container = container.body; + offset = 0; + } + + // If the container is body try move it into the closest text node or position + // TODO: Add more logic here to handle element selection cases + if (container === body) { + // Resolve the index + if (container.hasChildNodes()) { + container = container.childNodes[Math.min(!start && offset > 0 ? offset - 1 : offset, container.childNodes.length - 1)]; + offset = 0; + + // Walk the DOM to find a text node to place the caret at or a BR + node = container; + walker = new tinymce.dom.TreeWalker(container, body); + do { + // Found a text node use that position + if (node.nodeType === 3) { + offset = start ? 0 : node.nodeValue.length - 1; + container = node; + break; + } + + // Found a BR element that we can place the caret before + if (node.nodeName === 'BR') { + offset = dom.nodeIndex(node); + container = node.parentNode; + break; + } + } while (node = (start ? walker.next() : walker.prev())); + + normalized = true; + } + } + + // Set endpoint if it was normalized + if (normalized) + rng['set' + (start ? 'Start' : 'End')](container, offset); + }; + + rng = self.getRng(); + + // Normalize the end points + normalizeEndPoint(true); + + if (rng.collapsed) + normalizeEndPoint(); + + // Set the selection if it was normalized + if (normalized) { + //console.log(self.dom.dumpRng(rng)); + self.setRng(rng); + } + }, + + destroy : function(s) { + var t = this; + + t.win = null; + + // Manual destroy then remove unload handler + if (!s) + tinymce.removeUnload(t.destroy); + }, + + // IE has an issue where you can't select/move the caret by clicking outside the body if the document is in standards mode + _fixIESelection : function() { + var dom = this.dom, doc = dom.doc, body = doc.body, started, startRng, htmlElm; + + // Make HTML element unselectable since we are going to handle selection by hand + doc.documentElement.unselectable = true; + + // Return range from point or null if it failed + function rngFromPoint(x, y) { + var rng = body.createTextRange(); + + try { + rng.moveToPoint(x, y); + } catch (ex) { + // IE sometimes throws and exception, so lets just ignore it + rng = null; + } + + return rng; + }; + + // Fires while the selection is changing + function selectionChange(e) { + var pointRng; + + // Check if the button is down or not + if (e.button) { + // Create range from mouse position + pointRng = rngFromPoint(e.x, e.y); + + if (pointRng) { + // Check if pointRange is before/after selection then change the endPoint + if (pointRng.compareEndPoints('StartToStart', startRng) > 0) + pointRng.setEndPoint('StartToStart', startRng); + else + pointRng.setEndPoint('EndToEnd', startRng); + + pointRng.select(); + } + } else + endSelection(); + } + + // Removes listeners + function endSelection() { + var rng = doc.selection.createRange(); + + // If the range is collapsed then use the last start range + if (startRng && !rng.item && rng.compareEndPoints('StartToEnd', rng) === 0) + startRng.select(); + + dom.unbind(doc, 'mouseup', endSelection); + dom.unbind(doc, 'mousemove', selectionChange); + startRng = started = 0; + }; + + // Detect when user selects outside BODY + dom.bind(doc, ['mousedown', 'contextmenu'], function(e) { + if (e.target.nodeName === 'HTML') { + if (started) + endSelection(); + + // Detect vertical scrollbar, since IE will fire a mousedown on the scrollbar and have target set as HTML + htmlElm = doc.documentElement; + if (htmlElm.scrollHeight > htmlElm.clientHeight) + return; + + started = 1; + // Setup start position + startRng = rngFromPoint(e.x, e.y); + if (startRng) { + // Listen for selection change events + dom.bind(doc, 'mouseup', endSelection); + dom.bind(doc, 'mousemove', selectionChange); + + dom.win.focus(); + startRng.select(); + } + } + }); + } + }); +})(tinymce); + +(function(tinymce) { + tinymce.dom.Serializer = function(settings, dom, schema) { + var onPreProcess, onPostProcess, isIE = tinymce.isIE, each = tinymce.each, htmlParser; + + // Support the old apply_source_formatting option + if (!settings.apply_source_formatting) + settings.indent = false; + + settings.remove_trailing_brs = true; + + // Default DOM and Schema if they are undefined + dom = dom || tinymce.DOM; + schema = schema || new tinymce.html.Schema(settings); + settings.entity_encoding = settings.entity_encoding || 'named'; + + onPreProcess = new tinymce.util.Dispatcher(self); + + onPostProcess = new tinymce.util.Dispatcher(self); + + htmlParser = new tinymce.html.DomParser(settings, schema); + + // Convert move data-mce-src, data-mce-href and data-mce-style into nodes or process them if needed + htmlParser.addAttributeFilter('src,href,style', function(nodes, name) { + var i = nodes.length, node, value, internalName = 'data-mce-' + name, urlConverter = settings.url_converter, urlConverterScope = settings.url_converter_scope, undef; + + while (i--) { + node = nodes[i]; + + value = node.attributes.map[internalName]; + if (value !== undef) { + // Set external name to internal value and remove internal + node.attr(name, value.length > 0 ? value : null); + node.attr(internalName, null); + } else { + // No internal attribute found then convert the value we have in the DOM + value = node.attributes.map[name]; + + if (name === "style") + value = dom.serializeStyle(dom.parseStyle(value), node.name); + else if (urlConverter) + value = urlConverter.call(urlConverterScope, value, name, node.name); + + node.attr(name, value.length > 0 ? value : null); + } + } + }); + + // Remove internal classes mceItem<..> + htmlParser.addAttributeFilter('class', function(nodes, name) { + var i = nodes.length, node, value; + + while (i--) { + node = nodes[i]; + value = node.attr('class').replace(/\s*mce(Item\w+|Selected)\s*/g, ''); + node.attr('class', value.length > 0 ? value : null); + } + }); + + // Remove bookmark elements + htmlParser.addAttributeFilter('data-mce-type', function(nodes, name, args) { + var i = nodes.length, node; + + while (i--) { + node = nodes[i]; + + if (node.attributes.map['data-mce-type'] === 'bookmark' && !args.cleanup) + node.remove(); + } + }); + + // Force script into CDATA sections and remove the mce- prefix also add comments around styles + htmlParser.addNodeFilter('script,style', function(nodes, name) { + var i = nodes.length, node, value; + + function trim(value) { + return value.replace(/(<!--\[CDATA\[|\]\]-->)/g, '\n') + .replace(/^[\r\n]*|[\r\n]*$/g, '') + .replace(/^\s*(\/\/\s*<!--|\/\/\s*<!\[CDATA\[|<!--|<!\[CDATA\[)[\r\n]*/g, '') + .replace(/\s*(\/\/\s*\]\]>|\/\/\s*-->|\]\]>|-->|\]\]-->)\s*$/g, ''); + }; + + while (i--) { + node = nodes[i]; + value = node.firstChild ? node.firstChild.value : ''; + + if (name === "script") { + // Remove mce- prefix from script elements + node.attr('type', (node.attr('type') || 'text/javascript').replace(/^mce\-/, '')); + + if (value.length > 0) + node.firstChild.value = '// <![CDATA[\n' + trim(value) + '\n// ]]>'; + } else { + if (value.length > 0) + node.firstChild.value = '<!--\n' + trim(value) + '\n-->'; + } + } + }); + + // Convert comments to cdata and handle protected comments + htmlParser.addNodeFilter('#comment', function(nodes, name) { + var i = nodes.length, node; + + while (i--) { + node = nodes[i]; + + if (node.value.indexOf('[CDATA[') === 0) { + node.name = '#cdata'; + node.type = 4; + node.value = node.value.replace(/^\[CDATA\[|\]\]$/g, ''); + } else if (node.value.indexOf('mce:protected ') === 0) { + node.name = "#text"; + node.type = 3; + node.raw = true; + node.value = unescape(node.value).substr(14); + } + } + }); + + htmlParser.addNodeFilter('xml:namespace,input', function(nodes, name) { + var i = nodes.length, node; + + while (i--) { + node = nodes[i]; + if (node.type === 7) + node.remove(); + else if (node.type === 1) { + if (name === "input" && !("type" in node.attributes.map)) + node.attr('type', 'text'); + } + } + }); + + // Fix list elements, TODO: Replace this later + if (settings.fix_list_elements) { + htmlParser.addNodeFilter('ul,ol', function(nodes, name) { + var i = nodes.length, node, parentNode; + + while (i--) { + node = nodes[i]; + parentNode = node.parent; + + if (parentNode.name === 'ul' || parentNode.name === 'ol') { + if (node.prev && node.prev.name === 'li') { + node.prev.append(node); + } + } + } + }); + } + + // Remove internal data attributes + htmlParser.addAttributeFilter('data-mce-src,data-mce-href,data-mce-style', function(nodes, name) { + var i = nodes.length; + + while (i--) { + nodes[i].attr(name, null); + } + }); + + // Return public methods + return { + schema : schema, + + addNodeFilter : htmlParser.addNodeFilter, + + addAttributeFilter : htmlParser.addAttributeFilter, + + onPreProcess : onPreProcess, + + onPostProcess : onPostProcess, + + serialize : function(node, args) { + var impl, doc, oldDoc, htmlSerializer, content; + + // Explorer won't clone contents of script and style and the + // selected index of select elements are cleared on a clone operation. + if (isIE && dom.select('script,style,select').length > 0) { + content = node.innerHTML; + node = node.cloneNode(false); + dom.setHTML(node, content); + } else + node = node.cloneNode(true); + + // Nodes needs to be attached to something in WebKit/Opera + // Older builds of Opera crashes if you attach the node to an document created dynamically + // and since we can't feature detect a crash we need to sniff the acutal build number + // This fix will make DOM ranges and make Sizzle happy! + impl = node.ownerDocument.implementation; + if (impl.createHTMLDocument) { + // Create an empty HTML document + doc = impl.createHTMLDocument(""); + + // Add the element or it's children if it's a body element to the new document + each(node.nodeName == 'BODY' ? node.childNodes : [node], function(node) { + doc.body.appendChild(doc.importNode(node, true)); + }); + + // Grab first child or body element for serialization + if (node.nodeName != 'BODY') + node = doc.body.firstChild; + else + node = doc.body; + + // set the new document in DOMUtils so createElement etc works + oldDoc = dom.doc; + dom.doc = doc; + } + + args = args || {}; + args.format = args.format || 'html'; + + // Pre process + if (!args.no_events) { + args.node = node; + onPreProcess.dispatch(self, args); + } + + // Setup serializer + htmlSerializer = new tinymce.html.Serializer(settings, schema); + + // Parse and serialize HTML + args.content = htmlSerializer.serialize( + htmlParser.parse(args.getInner ? node.innerHTML : tinymce.trim(dom.getOuterHTML(node), args), args) + ); + + // Replace all BOM characters for now until we can find a better solution + if (!args.cleanup) + args.content = args.content.replace(/\uFEFF/g, ''); + + // Post process + if (!args.no_events) + onPostProcess.dispatch(self, args); + + // Restore the old document if it was changed + if (oldDoc) + dom.doc = oldDoc; + + args.node = null; + + return args.content; + }, + + addRules : function(rules) { + schema.addValidElements(rules); + }, + + setRules : function(rules) { + schema.setValidElements(rules); + } + }; + }; +})(tinymce); +(function(tinymce) { + tinymce.dom.ScriptLoader = function(settings) { + var QUEUED = 0, + LOADING = 1, + LOADED = 2, + states = {}, + queue = [], + scriptLoadedCallbacks = {}, + queueLoadedCallbacks = [], + loading = 0, + undefined; + + function loadScript(url, callback) { + var t = this, dom = tinymce.DOM, elm, uri, loc, id; + + // Execute callback when script is loaded + function done() { + dom.remove(id); + + if (elm) + elm.onreadystatechange = elm.onload = elm = null; + + callback(); + }; + + function error() { + // Report the error so it's easier for people to spot loading errors + if (typeof(console) !== "undefined" && console.log) + console.log("Failed to load: " + url); + + // We can't mark it as done if there is a load error since + // A) We don't want to produce 404 errors on the server and + // B) the onerror event won't fire on all browsers. + // done(); + }; + + id = dom.uniqueId(); + + if (tinymce.isIE6) { + uri = new tinymce.util.URI(url); + loc = location; + + // If script is from same domain and we + // use IE 6 then use XHR since it's more reliable + if (uri.host == loc.hostname && uri.port == loc.port && (uri.protocol + ':') == loc.protocol && uri.protocol.toLowerCase() != 'file') { + tinymce.util.XHR.send({ + url : tinymce._addVer(uri.getURI()), + success : function(content) { + // Create new temp script element + var script = dom.create('script', { + type : 'text/javascript' + }); + + // Evaluate script in global scope + script.text = content; + document.getElementsByTagName('head')[0].appendChild(script); + dom.remove(script); + + done(); + }, + + error : error + }); + + return; + } + } + + // Create new script element + elm = dom.create('script', { + id : id, + type : 'text/javascript', + src : tinymce._addVer(url) + }); + + // Add onload listener for non IE browsers since IE9 + // fires onload event before the script is parsed and executed + if (!tinymce.isIE) + elm.onload = done; + + // Add onerror event will get fired on some browsers but not all of them + elm.onerror = error; + + // Opera 9.60 doesn't seem to fire the onreadystate event at correctly + if (!tinymce.isOpera) { + elm.onreadystatechange = function() { + var state = elm.readyState; + + // Loaded state is passed on IE 6 however there + // are known issues with this method but we can't use + // XHR in a cross domain loading + if (state == 'complete' || state == 'loaded') + done(); + }; + } + + // Most browsers support this feature so we report errors + // for those at least to help users track their missing plugins etc + // todo: Removed since it produced error if the document is unloaded by navigating away, re-add it as an option + /*elm.onerror = function() { + alert('Failed to load: ' + url); + };*/ + + // Add script to document + (document.getElementsByTagName('head')[0] || document.body).appendChild(elm); + }; + + this.isDone = function(url) { + return states[url] == LOADED; + }; + + this.markDone = function(url) { + states[url] = LOADED; + }; + + this.add = this.load = function(url, callback, scope) { + var item, state = states[url]; + + // Add url to load queue + if (state == undefined) { + queue.push(url); + states[url] = QUEUED; + } + + if (callback) { + // Store away callback for later execution + if (!scriptLoadedCallbacks[url]) + scriptLoadedCallbacks[url] = []; + + scriptLoadedCallbacks[url].push({ + func : callback, + scope : scope || this + }); + } + }; + + this.loadQueue = function(callback, scope) { + this.loadScripts(queue, callback, scope); + }; + + this.loadScripts = function(scripts, callback, scope) { + var loadScripts; + + function execScriptLoadedCallbacks(url) { + // Execute URL callback functions + tinymce.each(scriptLoadedCallbacks[url], function(callback) { + callback.func.call(callback.scope); + }); + + scriptLoadedCallbacks[url] = undefined; + }; + + queueLoadedCallbacks.push({ + func : callback, + scope : scope || this + }); + + loadScripts = function() { + var loadingScripts = tinymce.grep(scripts); + + // Current scripts has been handled + scripts.length = 0; + + // Load scripts that needs to be loaded + tinymce.each(loadingScripts, function(url) { + // Script is already loaded then execute script callbacks directly + if (states[url] == LOADED) { + execScriptLoadedCallbacks(url); + return; + } + + // Is script not loading then start loading it + if (states[url] != LOADING) { + states[url] = LOADING; + loading++; + + loadScript(url, function() { + states[url] = LOADED; + loading--; + + execScriptLoadedCallbacks(url); + + // Load more scripts if they where added by the recently loaded script + loadScripts(); + }); + } + }); + + // No scripts are currently loading then execute all pending queue loaded callbacks + if (!loading) { + tinymce.each(queueLoadedCallbacks, function(callback) { + callback.func.call(callback.scope); + }); + + queueLoadedCallbacks.length = 0; + } + }; + + loadScripts(); + }; + }; + + // Global script loader + tinymce.ScriptLoader = new tinymce.dom.ScriptLoader(); +})(tinymce); + +tinymce.dom.TreeWalker = function(start_node, root_node) { + var node = start_node; + + function findSibling(node, start_name, sibling_name, shallow) { + var sibling, parent; + + if (node) { + // Walk into nodes if it has a start + if (!shallow && node[start_name]) + return node[start_name]; + + // Return the sibling if it has one + if (node != root_node) { + sibling = node[sibling_name]; + if (sibling) + return sibling; + + // Walk up the parents to look for siblings + for (parent = node.parentNode; parent && parent != root_node; parent = parent.parentNode) { + sibling = parent[sibling_name]; + if (sibling) + return sibling; + } + } + } + }; + + this.current = function() { + return node; + }; + + this.next = function(shallow) { + return (node = findSibling(node, 'firstChild', 'nextSibling', shallow)); + }; + + this.prev = function(shallow) { + return (node = findSibling(node, 'lastChild', 'previousSibling', shallow)); + }; +}; + +(function(tinymce) { + tinymce.dom.RangeUtils = function(dom) { + var INVISIBLE_CHAR = '\uFEFF'; + + this.walk = function(rng, callback) { + var startContainer = rng.startContainer, + startOffset = rng.startOffset, + endContainer = rng.endContainer, + endOffset = rng.endOffset, + ancestor, startPoint, + endPoint, node, parent, siblings, nodes; + + // Handle table cell selection the table plugin enables + // you to fake select table cells and perform formatting actions on them + nodes = dom.select('td.mceSelected,th.mceSelected'); + if (nodes.length > 0) { + tinymce.each(nodes, function(node) { + callback([node]); + }); + + return; + } + + function collectSiblings(node, name, end_node) { + var siblings = []; + + for (; node && node != end_node; node = node[name]) + siblings.push(node); + + return siblings; + }; + + function findEndPoint(node, root) { + do { + if (node.parentNode == root) + return node; + + node = node.parentNode; + } while(node); + }; + + function walkBoundary(start_node, end_node, next) { + var siblingName = next ? 'nextSibling' : 'previousSibling'; + + for (node = start_node, parent = node.parentNode; node && node != end_node; node = parent) { + parent = node.parentNode; + siblings = collectSiblings(node == start_node ? node : node[siblingName], siblingName); + + if (siblings.length) { + if (!next) + siblings.reverse(); + + callback(siblings); + } + } + }; + + // If index based start position then resolve it + if (startContainer.nodeType == 1 && startContainer.hasChildNodes()) + startContainer = startContainer.childNodes[startOffset]; + + // If index based end position then resolve it + if (endContainer.nodeType == 1 && endContainer.hasChildNodes()) + endContainer = endContainer.childNodes[Math.min(endOffset - 1, endContainer.childNodes.length - 1)]; + + // Find common ancestor and end points + ancestor = dom.findCommonAncestor(startContainer, endContainer); + + // Same container + if (startContainer == endContainer) + return callback([startContainer]); + + // Process left side + for (node = startContainer; node; node = node.parentNode) { + if (node == endContainer) + return walkBoundary(startContainer, ancestor, true); + + if (node == ancestor) + break; + } + + // Process right side + for (node = endContainer; node; node = node.parentNode) { + if (node == startContainer) + return walkBoundary(endContainer, ancestor); + + if (node == ancestor) + break; + } + + // Find start/end point + startPoint = findEndPoint(startContainer, ancestor) || startContainer; + endPoint = findEndPoint(endContainer, ancestor) || endContainer; + + // Walk left leaf + walkBoundary(startContainer, startPoint, true); + + // Walk the middle from start to end point + siblings = collectSiblings( + startPoint == startContainer ? startPoint : startPoint.nextSibling, + 'nextSibling', + endPoint == endContainer ? endPoint.nextSibling : endPoint + ); + + if (siblings.length) + callback(siblings); + + // Walk right leaf + walkBoundary(endContainer, endPoint); + }; + + /* this.split = function(rng) { + var startContainer = rng.startContainer, + startOffset = rng.startOffset, + endContainer = rng.endContainer, + endOffset = rng.endOffset; + + function splitText(node, offset) { + if (offset == node.nodeValue.length) + node.appendData(INVISIBLE_CHAR); + + node = node.splitText(offset); + + if (node.nodeValue === INVISIBLE_CHAR) + node.nodeValue = ''; + + return node; + }; + + // Handle single text node + if (startContainer == endContainer) { + if (startContainer.nodeType == 3) { + if (startOffset != 0) + startContainer = endContainer = splitText(startContainer, startOffset); + + if (endOffset - startOffset != startContainer.nodeValue.length) + splitText(startContainer, endOffset - startOffset); + } + } else { + // Split startContainer text node if needed + if (startContainer.nodeType == 3 && startOffset != 0) { + startContainer = splitText(startContainer, startOffset); + startOffset = 0; + } + + // Split endContainer text node if needed + if (endContainer.nodeType == 3 && endOffset != endContainer.nodeValue.length) { + endContainer = splitText(endContainer, endOffset).previousSibling; + endOffset = endContainer.nodeValue.length; + } + } + + return { + startContainer : startContainer, + startOffset : startOffset, + endContainer : endContainer, + endOffset : endOffset + }; + }; +*/ + }; + + tinymce.dom.RangeUtils.compareRanges = function(rng1, rng2) { + if (rng1 && rng2) { + // Compare native IE ranges + if (rng1.item || rng1.duplicate) { + // Both are control ranges and the selected element matches + if (rng1.item && rng2.item && rng1.item(0) === rng2.item(0)) + return true; + + // Both are text ranges and the range matches + if (rng1.isEqual && rng2.isEqual && rng2.isEqual(rng1)) + return true; + } else { + // Compare w3c ranges + return rng1.startContainer == rng2.startContainer && rng1.startOffset == rng2.startOffset; + } + } + + return false; + }; +})(tinymce); + +(function(tinymce) { + var Event = tinymce.dom.Event, each = tinymce.each; + + tinymce.create('tinymce.ui.KeyboardNavigation', { + KeyboardNavigation: function(settings, dom) { + var t = this, root = settings.root, items = settings.items, + enableUpDown = settings.enableUpDown, enableLeftRight = settings.enableLeftRight || !settings.enableUpDown, + excludeFromTabOrder = settings.excludeFromTabOrder, + itemFocussed, itemBlurred, rootKeydown, rootFocussed, focussedId; + + dom = dom || tinymce.DOM; + + itemFocussed = function(evt) { + focussedId = evt.target.id; + }; + + itemBlurred = function(evt) { + dom.setAttrib(evt.target.id, 'tabindex', '-1'); + }; + + rootFocussed = function(evt) { + var item = dom.get(focussedId); + dom.setAttrib(item, 'tabindex', '0'); + item.focus(); + }; + + t.focus = function() { + dom.get(focussedId).focus(); + }; + + t.destroy = function() { + each(items, function(item) { + dom.unbind(dom.get(item.id), 'focus', itemFocussed); + dom.unbind(dom.get(item.id), 'blur', itemBlurred); + }); + + dom.unbind(dom.get(root), 'focus', rootFocussed); + dom.unbind(dom.get(root), 'keydown', rootKeydown); + + items = dom = root = t.focus = itemFocussed = itemBlurred = rootKeydown = rootFocussed = null; + t.destroy = function() {}; + }; + + t.moveFocus = function(dir, evt) { + var idx = -1, controls = t.controls, newFocus; + + if (!focussedId) + return; + + each(items, function(item, index) { + if (item.id === focussedId) { + idx = index; + return false; + } + }); + + idx += dir; + if (idx < 0) { + idx = items.length - 1; + } else if (idx >= items.length) { + idx = 0; + } + + newFocus = items[idx]; + dom.setAttrib(focussedId, 'tabindex', '-1'); + dom.setAttrib(newFocus.id, 'tabindex', '0'); + dom.get(newFocus.id).focus(); + + if (settings.actOnFocus) { + settings.onAction(newFocus.id); + } + + if (evt) + Event.cancel(evt); + }; + + rootKeydown = function(evt) { + var DOM_VK_LEFT = 37, DOM_VK_RIGHT = 39, DOM_VK_UP = 38, DOM_VK_DOWN = 40, DOM_VK_ESCAPE = 27, DOM_VK_ENTER = 14, DOM_VK_RETURN = 13, DOM_VK_SPACE = 32; + + switch (evt.keyCode) { + case DOM_VK_LEFT: + if (enableLeftRight) t.moveFocus(-1); + break; + + case DOM_VK_RIGHT: + if (enableLeftRight) t.moveFocus(1); + break; + + case DOM_VK_UP: + if (enableUpDown) t.moveFocus(-1); + break; + + case DOM_VK_DOWN: + if (enableUpDown) t.moveFocus(1); + break; + + case DOM_VK_ESCAPE: + if (settings.onCancel) { + settings.onCancel(); + Event.cancel(evt); + } + break; + + case DOM_VK_ENTER: + case DOM_VK_RETURN: + case DOM_VK_SPACE: + if (settings.onAction) { + settings.onAction(focussedId); + Event.cancel(evt); + } + break; + } + }; + + // Set up state and listeners for each item. + each(items, function(item, idx) { + var tabindex; + + if (!item.id) { + item.id = dom.uniqueId('_mce_item_'); + } + + if (excludeFromTabOrder) { + dom.bind(item.id, 'blur', itemBlurred); + tabindex = '-1'; + } else { + tabindex = (idx === 0 ? '0' : '-1'); + } + + dom.setAttrib(item.id, 'tabindex', tabindex); + dom.bind(dom.get(item.id), 'focus', itemFocussed); + }); + + // Setup initial state for root element. + if (items[0]){ + focussedId = items[0].id; + } + + dom.setAttrib(root, 'tabindex', '-1'); + + // Setup listeners for root element. + dom.bind(dom.get(root), 'focus', rootFocussed); + dom.bind(dom.get(root), 'keydown', rootKeydown); + } + }); +})(tinymce); +(function(tinymce) { + // Shorten class names + var DOM = tinymce.DOM, is = tinymce.is; + + tinymce.create('tinymce.ui.Control', { + Control : function(id, s, editor) { + this.id = id; + this.settings = s = s || {}; + this.rendered = false; + this.onRender = new tinymce.util.Dispatcher(this); + this.classPrefix = ''; + this.scope = s.scope || this; + this.disabled = 0; + this.active = 0; + this.editor = editor; + }, + + setAriaProperty : function(property, value) { + var element = DOM.get(this.id + '_aria') || DOM.get(this.id); + if (element) { + DOM.setAttrib(element, 'aria-' + property, !!value); + } + }, + + focus : function() { + DOM.get(this.id).focus(); + }, + + setDisabled : function(s) { + if (s != this.disabled) { + this.setAriaProperty('disabled', s); + + this.setState('Disabled', s); + this.setState('Enabled', !s); + this.disabled = s; + } + }, + + isDisabled : function() { + return this.disabled; + }, + + setActive : function(s) { + if (s != this.active) { + this.setState('Active', s); + this.active = s; + this.setAriaProperty('pressed', s); + } + }, + + isActive : function() { + return this.active; + }, + + setState : function(c, s) { + var n = DOM.get(this.id); + + c = this.classPrefix + c; + + if (s) + DOM.addClass(n, c); + else + DOM.removeClass(n, c); + }, + + isRendered : function() { + return this.rendered; + }, + + renderHTML : function() { + }, + + renderTo : function(n) { + DOM.setHTML(n, this.renderHTML()); + }, + + postRender : function() { + var t = this, b; + + // Set pending states + if (is(t.disabled)) { + b = t.disabled; + t.disabled = -1; + t.setDisabled(b); + } + + if (is(t.active)) { + b = t.active; + t.active = -1; + t.setActive(b); + } + }, + + remove : function() { + DOM.remove(this.id); + this.destroy(); + }, + + destroy : function() { + tinymce.dom.Event.clear(this.id); + } + }); +})(tinymce); +tinymce.create('tinymce.ui.Container:tinymce.ui.Control', { + Container : function(id, s, editor) { + this.parent(id, s, editor); + + this.controls = []; + + this.lookup = {}; + }, + + add : function(c) { + this.lookup[c.id] = c; + this.controls.push(c); + + return c; + }, + + get : function(n) { + return this.lookup[n]; + } +}); + + +tinymce.create('tinymce.ui.Separator:tinymce.ui.Control', { + Separator : function(id, s) { + this.parent(id, s); + this.classPrefix = 'mceSeparator'; + this.setDisabled(true); + }, + + renderHTML : function() { + return tinymce.DOM.createHTML('span', {'class' : this.classPrefix, role : 'separator', 'aria-orientation' : 'vertical', tabindex : '-1'}); + } +}); + +(function(tinymce) { + var is = tinymce.is, DOM = tinymce.DOM, each = tinymce.each, walk = tinymce.walk; + + tinymce.create('tinymce.ui.MenuItem:tinymce.ui.Control', { + MenuItem : function(id, s) { + this.parent(id, s); + this.classPrefix = 'mceMenuItem'; + }, + + setSelected : function(s) { + this.setState('Selected', s); + this.setAriaProperty('checked', !!s); + this.selected = s; + }, + + isSelected : function() { + return this.selected; + }, + + postRender : function() { + var t = this; + + t.parent(); + + // Set pending state + if (is(t.selected)) + t.setSelected(t.selected); + } + }); +})(tinymce); + +(function(tinymce) { + var is = tinymce.is, DOM = tinymce.DOM, each = tinymce.each, walk = tinymce.walk; + + tinymce.create('tinymce.ui.Menu:tinymce.ui.MenuItem', { + Menu : function(id, s) { + var t = this; + + t.parent(id, s); + t.items = {}; + t.collapsed = false; + t.menuCount = 0; + t.onAddItem = new tinymce.util.Dispatcher(this); + }, + + expand : function(d) { + var t = this; + + if (d) { + walk(t, function(o) { + if (o.expand) + o.expand(); + }, 'items', t); + } + + t.collapsed = false; + }, + + collapse : function(d) { + var t = this; + + if (d) { + walk(t, function(o) { + if (o.collapse) + o.collapse(); + }, 'items', t); + } + + t.collapsed = true; + }, + + isCollapsed : function() { + return this.collapsed; + }, + + add : function(o) { + if (!o.settings) + o = new tinymce.ui.MenuItem(o.id || DOM.uniqueId(), o); + + this.onAddItem.dispatch(this, o); + + return this.items[o.id] = o; + }, + + addSeparator : function() { + return this.add({separator : true}); + }, + + addMenu : function(o) { + if (!o.collapse) + o = this.createMenu(o); + + this.menuCount++; + + return this.add(o); + }, + + hasMenus : function() { + return this.menuCount !== 0; + }, + + remove : function(o) { + delete this.items[o.id]; + }, + + removeAll : function() { + var t = this; + + walk(t, function(o) { + if (o.removeAll) + o.removeAll(); + else + o.remove(); + + o.destroy(); + }, 'items', t); + + t.items = {}; + }, + + createMenu : function(o) { + var m = new tinymce.ui.Menu(o.id || DOM.uniqueId(), o); + + m.onAddItem.add(this.onAddItem.dispatch, this.onAddItem); + + return m; + } + }); +})(tinymce); +(function(tinymce) { + var is = tinymce.is, DOM = tinymce.DOM, each = tinymce.each, Event = tinymce.dom.Event, Element = tinymce.dom.Element; + + tinymce.create('tinymce.ui.DropMenu:tinymce.ui.Menu', { + DropMenu : function(id, s) { + s = s || {}; + s.container = s.container || DOM.doc.body; + s.offset_x = s.offset_x || 0; + s.offset_y = s.offset_y || 0; + s.vp_offset_x = s.vp_offset_x || 0; + s.vp_offset_y = s.vp_offset_y || 0; + + if (is(s.icons) && !s.icons) + s['class'] += ' mceNoIcons'; + + this.parent(id, s); + this.onShowMenu = new tinymce.util.Dispatcher(this); + this.onHideMenu = new tinymce.util.Dispatcher(this); + this.classPrefix = 'mceMenu'; + }, + + createMenu : function(s) { + var t = this, cs = t.settings, m; + + s.container = s.container || cs.container; + s.parent = t; + s.constrain = s.constrain || cs.constrain; + s['class'] = s['class'] || cs['class']; + s.vp_offset_x = s.vp_offset_x || cs.vp_offset_x; + s.vp_offset_y = s.vp_offset_y || cs.vp_offset_y; + s.keyboard_focus = cs.keyboard_focus; + m = new tinymce.ui.DropMenu(s.id || DOM.uniqueId(), s); + + m.onAddItem.add(t.onAddItem.dispatch, t.onAddItem); + + return m; + }, + + focus : function() { + var t = this; + if (t.keyboardNav) { + t.keyboardNav.focus(); + } + }, + + update : function() { + var t = this, s = t.settings, tb = DOM.get('menu_' + t.id + '_tbl'), co = DOM.get('menu_' + t.id + '_co'), tw, th; + + tw = s.max_width ? Math.min(tb.clientWidth, s.max_width) : tb.clientWidth; + th = s.max_height ? Math.min(tb.clientHeight, s.max_height) : tb.clientHeight; + + if (!DOM.boxModel) + t.element.setStyles({width : tw + 2, height : th + 2}); + else + t.element.setStyles({width : tw, height : th}); + + if (s.max_width) + DOM.setStyle(co, 'width', tw); + + if (s.max_height) { + DOM.setStyle(co, 'height', th); + + if (tb.clientHeight < s.max_height) + DOM.setStyle(co, 'overflow', 'hidden'); + } + }, + + showMenu : function(x, y, px) { + var t = this, s = t.settings, co, vp = DOM.getViewPort(), w, h, mx, my, ot = 2, dm, tb, cp = t.classPrefix; + + t.collapse(1); + + if (t.isMenuVisible) + return; + + if (!t.rendered) { + co = DOM.add(t.settings.container, t.renderNode()); + + each(t.items, function(o) { + o.postRender(); + }); + + t.element = new Element('menu_' + t.id, {blocker : 1, container : s.container}); + } else + co = DOM.get('menu_' + t.id); + + // Move layer out of sight unless it's Opera since it scrolls to top of page due to an bug + if (!tinymce.isOpera) + DOM.setStyles(co, {left : -0xFFFF , top : -0xFFFF}); + + DOM.show(co); + t.update(); + + x += s.offset_x || 0; + y += s.offset_y || 0; + vp.w -= 4; + vp.h -= 4; + + // Move inside viewport if not submenu + if (s.constrain) { + w = co.clientWidth - ot; + h = co.clientHeight - ot; + mx = vp.x + vp.w; + my = vp.y + vp.h; + + if ((x + s.vp_offset_x + w) > mx) + x = px ? px - w : Math.max(0, (mx - s.vp_offset_x) - w); + + if ((y + s.vp_offset_y + h) > my) + y = Math.max(0, (my - s.vp_offset_y) - h); + } + + DOM.setStyles(co, {left : x , top : y}); + t.element.update(); + + t.isMenuVisible = 1; + t.mouseClickFunc = Event.add(co, 'click', function(e) { + var m; + + e = e.target; + + if (e && (e = DOM.getParent(e, 'tr')) && !DOM.hasClass(e, cp + 'ItemSub')) { + m = t.items[e.id]; + + if (m.isDisabled()) + return; + + dm = t; + + while (dm) { + if (dm.hideMenu) + dm.hideMenu(); + + dm = dm.settings.parent; + } + + if (m.settings.onclick) + m.settings.onclick(e); + + return Event.cancel(e); // Cancel to fix onbeforeunload problem + } + }); + + if (t.hasMenus()) { + t.mouseOverFunc = Event.add(co, 'mouseover', function(e) { + var m, r, mi; + + e = e.target; + if (e && (e = DOM.getParent(e, 'tr'))) { + m = t.items[e.id]; + + if (t.lastMenu) + t.lastMenu.collapse(1); + + if (m.isDisabled()) + return; + + if (e && DOM.hasClass(e, cp + 'ItemSub')) { + //p = DOM.getPos(s.container); + r = DOM.getRect(e); + m.showMenu((r.x + r.w - ot), r.y - ot, r.x); + t.lastMenu = m; + DOM.addClass(DOM.get(m.id).firstChild, cp + 'ItemActive'); + } + } + }); + } + + Event.add(co, 'keydown', t._keyHandler, t); + + t.onShowMenu.dispatch(t); + + if (s.keyboard_focus) { + t._setupKeyboardNav(); + } + }, + + hideMenu : function(c) { + var t = this, co = DOM.get('menu_' + t.id), e; + + if (!t.isMenuVisible) + return; + + if (t.keyboardNav) t.keyboardNav.destroy(); + Event.remove(co, 'mouseover', t.mouseOverFunc); + Event.remove(co, 'click', t.mouseClickFunc); + Event.remove(co, 'keydown', t._keyHandler); + DOM.hide(co); + t.isMenuVisible = 0; + + if (!c) + t.collapse(1); + + if (t.element) + t.element.hide(); + + if (e = DOM.get(t.id)) + DOM.removeClass(e.firstChild, t.classPrefix + 'ItemActive'); + + t.onHideMenu.dispatch(t); + }, + + add : function(o) { + var t = this, co; + + o = t.parent(o); + + if (t.isRendered && (co = DOM.get('menu_' + t.id))) + t._add(DOM.select('tbody', co)[0], o); + + return o; + }, + + collapse : function(d) { + this.parent(d); + this.hideMenu(1); + }, + + remove : function(o) { + DOM.remove(o.id); + this.destroy(); + + return this.parent(o); + }, + + destroy : function() { + var t = this, co = DOM.get('menu_' + t.id); + + if (t.keyboardNav) t.keyboardNav.destroy(); + Event.remove(co, 'mouseover', t.mouseOverFunc); + Event.remove(DOM.select('a', co), 'focus', t.mouseOverFunc); + Event.remove(co, 'click', t.mouseClickFunc); + Event.remove(co, 'keydown', t._keyHandler); + + if (t.element) + t.element.remove(); + + DOM.remove(co); + }, + + renderNode : function() { + var t = this, s = t.settings, n, tb, co, w; + + w = DOM.create('div', {role: 'listbox', id : 'menu_' + t.id, 'class' : s['class'], 'style' : 'position:absolute;left:0;top:0;z-index:200000;outline:0'}); + if (t.settings.parent) { + DOM.setAttrib(w, 'aria-parent', 'menu_' + t.settings.parent.id); + } + co = DOM.add(w, 'div', {role: 'presentation', id : 'menu_' + t.id + '_co', 'class' : t.classPrefix + (s['class'] ? ' ' + s['class'] : '')}); + t.element = new Element('menu_' + t.id, {blocker : 1, container : s.container}); + + if (s.menu_line) + DOM.add(co, 'span', {'class' : t.classPrefix + 'Line'}); + +// n = DOM.add(co, 'div', {id : 'menu_' + t.id + '_co', 'class' : 'mceMenuContainer'}); + n = DOM.add(co, 'table', {role: 'presentation', id : 'menu_' + t.id + '_tbl', border : 0, cellPadding : 0, cellSpacing : 0}); + tb = DOM.add(n, 'tbody'); + + each(t.items, function(o) { + t._add(tb, o); + }); + + t.rendered = true; + + return w; + }, + + // Internal functions + _setupKeyboardNav : function(){ + var contextMenu, menuItems, t=this; + contextMenu = DOM.select('#menu_' + t.id)[0]; + menuItems = DOM.select('a[role=option]', 'menu_' + t.id); + menuItems.splice(0,0,contextMenu); + t.keyboardNav = new tinymce.ui.KeyboardNavigation({ + root: 'menu_' + t.id, + items: menuItems, + onCancel: function() { + t.hideMenu(); + }, + enableUpDown: true + }); + contextMenu.focus(); + }, + + _keyHandler : function(evt) { + var t = this, e; + switch (evt.keyCode) { + case 37: // Left + if (t.settings.parent) { + t.hideMenu(); + t.settings.parent.focus(); + Event.cancel(evt); + } + break; + case 39: // Right + if (t.mouseOverFunc) + t.mouseOverFunc(evt); + break; + } + }, + + _add : function(tb, o) { + var n, s = o.settings, a, ro, it, cp = this.classPrefix, ic; + + if (s.separator) { + ro = DOM.add(tb, 'tr', {id : o.id, 'class' : cp + 'ItemSeparator'}); + DOM.add(ro, 'td', {'class' : cp + 'ItemSeparator'}); + + if (n = ro.previousSibling) + DOM.addClass(n, 'mceLast'); + + return; + } + + n = ro = DOM.add(tb, 'tr', {id : o.id, 'class' : cp + 'Item ' + cp + 'ItemEnabled'}); + n = it = DOM.add(n, s.titleItem ? 'th' : 'td'); + n = a = DOM.add(n, 'a', {id: o.id + '_aria', role: s.titleItem ? 'presentation' : 'option', href : 'javascript:;', onclick : "return false;", onmousedown : 'return false;'}); + + if (s.parent) { + DOM.setAttrib(a, 'aria-haspopup', 'true'); + DOM.setAttrib(a, 'aria-owns', 'menu_' + o.id); + } + + DOM.addClass(it, s['class']); +// n = DOM.add(n, 'span', {'class' : 'item'}); + + ic = DOM.add(n, 'span', {'class' : 'mceIcon' + (s.icon ? ' mce_' + s.icon : '')}); + + if (s.icon_src) + DOM.add(ic, 'img', {src : s.icon_src}); + + n = DOM.add(n, s.element || 'span', {'class' : 'mceText', title : o.settings.title}, o.settings.title); + + if (o.settings.style) + DOM.setAttrib(n, 'style', o.settings.style); + + if (tb.childNodes.length == 1) + DOM.addClass(ro, 'mceFirst'); + + if ((n = ro.previousSibling) && DOM.hasClass(n, cp + 'ItemSeparator')) + DOM.addClass(ro, 'mceFirst'); + + if (o.collapse) + DOM.addClass(ro, cp + 'ItemSub'); + + if (n = ro.previousSibling) + DOM.removeClass(n, 'mceLast'); + + DOM.addClass(ro, 'mceLast'); + } + }); +})(tinymce); +(function(tinymce) { + var DOM = tinymce.DOM; + + tinymce.create('tinymce.ui.Button:tinymce.ui.Control', { + Button : function(id, s, ed) { + this.parent(id, s, ed); + this.classPrefix = 'mceButton'; + }, + + renderHTML : function() { + var cp = this.classPrefix, s = this.settings, h, l; + + l = DOM.encode(s.label || ''); + h = '<a role="button" id="' + this.id + '" href="javascript:;" class="' + cp + ' ' + cp + 'Enabled ' + s['class'] + (l ? ' ' + cp + 'Labeled' : '') +'" onmousedown="return false;" onclick="return false;" aria-labelledby="' + this.id + '_voice" title="' + DOM.encode(s.title) + '">'; + if (s.image && !(this.editor &&this.editor.forcedHighContrastMode) ) + h += '<img class="mceIcon" src="' + s.image + '" alt="' + DOM.encode(s.title) + '" />' + l; + else + h += '<span class="mceIcon ' + s['class'] + '"></span>' + (l ? '<span class="' + cp + 'Label">' + l + '</span>' : ''); + + h += '<span class="mceVoiceLabel mceIconOnly" style="display: none;" id="' + this.id + '_voice">' + s.title + '</span>'; + h += '</a>'; + return h; + }, + + postRender : function() { + var t = this, s = t.settings; + + tinymce.dom.Event.add(t.id, 'click', function(e) { + if (!t.isDisabled()) + return s.onclick.call(s.scope, e); + }); + } + }); +})(tinymce); + +(function(tinymce) { + var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, Dispatcher = tinymce.util.Dispatcher; + + tinymce.create('tinymce.ui.ListBox:tinymce.ui.Control', { + ListBox : function(id, s, ed) { + var t = this; + + t.parent(id, s, ed); + + t.items = []; + + t.onChange = new Dispatcher(t); + + t.onPostRender = new Dispatcher(t); + + t.onAdd = new Dispatcher(t); + + t.onRenderMenu = new tinymce.util.Dispatcher(this); + + t.classPrefix = 'mceListBox'; + }, + + select : function(va) { + var t = this, fv, f; + + if (va == undefined) + return t.selectByIndex(-1); + + // Is string or number make function selector + if (va && va.call) + f = va; + else { + f = function(v) { + return v == va; + }; + } + + // Do we need to do something? + if (va != t.selectedValue) { + // Find item + each(t.items, function(o, i) { + if (f(o.value)) { + fv = 1; + t.selectByIndex(i); + return false; + } + }); + + if (!fv) + t.selectByIndex(-1); + } + }, + + selectByIndex : function(idx) { + var t = this, e, o; + + if (idx != t.selectedIndex) { + e = DOM.get(t.id + '_text'); + o = t.items[idx]; + + if (o) { + t.selectedValue = o.value; + t.selectedIndex = idx; + DOM.setHTML(e, DOM.encode(o.title)); + DOM.removeClass(e, 'mceTitle'); + DOM.setAttrib(t.id, 'aria-valuenow', o.title); + } else { + DOM.setHTML(e, DOM.encode(t.settings.title)); + DOM.addClass(e, 'mceTitle'); + t.selectedValue = t.selectedIndex = null; + DOM.setAttrib(t.id, 'aria-valuenow', t.settings.title); + } + e = 0; + } + }, + + add : function(n, v, o) { + var t = this; + + o = o || {}; + o = tinymce.extend(o, { + title : n, + value : v + }); + + t.items.push(o); + t.onAdd.dispatch(t, o); + }, + + getLength : function() { + return this.items.length; + }, + + renderHTML : function() { + var h = '', t = this, s = t.settings, cp = t.classPrefix; + + h = '<span role="button" aria-haspopup="true" aria-labelledby="' + t.id +'_text" aria-describedby="' + t.id + '_voiceDesc"><table role="presentation" tabindex="0" id="' + t.id + '" cellpadding="0" cellspacing="0" class="' + cp + ' ' + cp + 'Enabled' + (s['class'] ? (' ' + s['class']) : '') + '"><tbody><tr>'; + h += '<td>' + DOM.createHTML('span', {id: t.id + '_voiceDesc', 'class': 'voiceLabel', style:'display:none;'}, t.settings.title); + h += DOM.createHTML('a', {id : t.id + '_text', tabindex : -1, href : 'javascript:;', 'class' : 'mceText', onclick : "return false;", onmousedown : 'return false;'}, DOM.encode(t.settings.title)) + '</td>'; + h += '<td>' + DOM.createHTML('a', {id : t.id + '_open', tabindex : -1, href : 'javascript:;', 'class' : 'mceOpen', onclick : "return false;", onmousedown : 'return false;'}, '<span><span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span></span>') + '</td>'; + h += '</tr></tbody></table></span>'; + + return h; + }, + + showMenu : function() { + var t = this, p2, e = DOM.get(this.id), m; + + if (t.isDisabled() || t.items.length == 0) + return; + + if (t.menu && t.menu.isMenuVisible) + return t.hideMenu(); + + if (!t.isMenuRendered) { + t.renderMenu(); + t.isMenuRendered = true; + } + + p2 = DOM.getPos(e); + + m = t.menu; + m.settings.offset_x = p2.x; + m.settings.offset_y = p2.y; + m.settings.keyboard_focus = !tinymce.isOpera; // Opera is buggy when it comes to auto focus + + // Select in menu + if (t.oldID) + m.items[t.oldID].setSelected(0); + + each(t.items, function(o) { + if (o.value === t.selectedValue) { + m.items[o.id].setSelected(1); + t.oldID = o.id; + } + }); + + m.showMenu(0, e.clientHeight); + + Event.add(DOM.doc, 'mousedown', t.hideMenu, t); + DOM.addClass(t.id, t.classPrefix + 'Selected'); + + //DOM.get(t.id + '_text').focus(); + }, + + hideMenu : function(e) { + var t = this; + + if (t.menu && t.menu.isMenuVisible) { + DOM.removeClass(t.id, t.classPrefix + 'Selected'); + + // Prevent double toogles by canceling the mouse click event to the button + if (e && e.type == "mousedown" && (e.target.id == t.id + '_text' || e.target.id == t.id + '_open')) + return; + + if (!e || !DOM.getParent(e.target, '.mceMenu')) { + DOM.removeClass(t.id, t.classPrefix + 'Selected'); + Event.remove(DOM.doc, 'mousedown', t.hideMenu, t); + t.menu.hideMenu(); + } + } + }, + + renderMenu : function() { + var t = this, m; + + m = t.settings.control_manager.createDropMenu(t.id + '_menu', { + menu_line : 1, + 'class' : t.classPrefix + 'Menu mceNoIcons', + max_width : 150, + max_height : 150 + }); + + m.onHideMenu.add(function() { + t.hideMenu(); + t.focus(); + }); + + m.add({ + title : t.settings.title, + 'class' : 'mceMenuItemTitle', + onclick : function() { + if (t.settings.onselect('') !== false) + t.select(''); // Must be runned after + } + }); + + each(t.items, function(o) { + // No value then treat it as a title + if (o.value === undefined) { + m.add({ + title : o.title, + 'class' : 'mceMenuItemTitle', + onclick : function() { + if (t.settings.onselect('') !== false) + t.select(''); // Must be runned after + } + }); + } else { + o.id = DOM.uniqueId(); + o.onclick = function() { + if (t.settings.onselect(o.value) !== false) + t.select(o.value); // Must be runned after + }; + + m.add(o); + } + }); + + t.onRenderMenu.dispatch(t, m); + t.menu = m; + }, + + postRender : function() { + var t = this, cp = t.classPrefix; + + Event.add(t.id, 'click', t.showMenu, t); + Event.add(t.id, 'keydown', function(evt) { + if (evt.keyCode == 32) { // Space + t.showMenu(evt); + Event.cancel(evt); + } + }); + Event.add(t.id, 'focus', function() { + if (!t._focused) { + t.keyDownHandler = Event.add(t.id, 'keydown', function(e) { + if (e.keyCode == 40) { + t.showMenu(); + Event.cancel(e); + } + }); + t.keyPressHandler = Event.add(t.id, 'keypress', function(e) { + var v; + if (e.keyCode == 13) { + // Fake select on enter + v = t.selectedValue; + t.selectedValue = null; // Needs to be null to fake change + Event.cancel(e); + t.settings.onselect(v); + } + }); + } + + t._focused = 1; + }); + Event.add(t.id, 'blur', function() { + Event.remove(t.id, 'keydown', t.keyDownHandler); + Event.remove(t.id, 'keypress', t.keyPressHandler); + t._focused = 0; + }); + + // Old IE doesn't have hover on all elements + if (tinymce.isIE6 || !DOM.boxModel) { + Event.add(t.id, 'mouseover', function() { + if (!DOM.hasClass(t.id, cp + 'Disabled')) + DOM.addClass(t.id, cp + 'Hover'); + }); + + Event.add(t.id, 'mouseout', function() { + if (!DOM.hasClass(t.id, cp + 'Disabled')) + DOM.removeClass(t.id, cp + 'Hover'); + }); + } + + t.onPostRender.dispatch(t, DOM.get(t.id)); + }, + + destroy : function() { + this.parent(); + + Event.clear(this.id + '_text'); + Event.clear(this.id + '_open'); + } + }); +})(tinymce); +(function(tinymce) { + var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, Dispatcher = tinymce.util.Dispatcher; + + tinymce.create('tinymce.ui.NativeListBox:tinymce.ui.ListBox', { + NativeListBox : function(id, s) { + this.parent(id, s); + this.classPrefix = 'mceNativeListBox'; + }, + + setDisabled : function(s) { + DOM.get(this.id).disabled = s; + this.setAriaProperty('disabled', s); + }, + + isDisabled : function() { + return DOM.get(this.id).disabled; + }, + + select : function(va) { + var t = this, fv, f; + + if (va == undefined) + return t.selectByIndex(-1); + + // Is string or number make function selector + if (va && va.call) + f = va; + else { + f = function(v) { + return v == va; + }; + } + + // Do we need to do something? + if (va != t.selectedValue) { + // Find item + each(t.items, function(o, i) { + if (f(o.value)) { + fv = 1; + t.selectByIndex(i); + return false; + } + }); + + if (!fv) + t.selectByIndex(-1); + } + }, + + selectByIndex : function(idx) { + DOM.get(this.id).selectedIndex = idx + 1; + this.selectedValue = this.items[idx] ? this.items[idx].value : null; + }, + + add : function(n, v, a) { + var o, t = this; + + a = a || {}; + a.value = v; + + if (t.isRendered()) + DOM.add(DOM.get(this.id), 'option', a, n); + + o = { + title : n, + value : v, + attribs : a + }; + + t.items.push(o); + t.onAdd.dispatch(t, o); + }, + + getLength : function() { + return this.items.length; + }, + + renderHTML : function() { + var h, t = this; + + h = DOM.createHTML('option', {value : ''}, '-- ' + t.settings.title + ' --'); + + each(t.items, function(it) { + h += DOM.createHTML('option', {value : it.value}, it.title); + }); + + h = DOM.createHTML('select', {id : t.id, 'class' : 'mceNativeListBox', 'aria-labelledby': t.id + '_aria'}, h); + h += DOM.createHTML('span', {id : t.id + '_aria', 'style': 'display: none'}, t.settings.title); + return h; + }, + + postRender : function() { + var t = this, ch, changeListenerAdded = true; + + t.rendered = true; + + function onChange(e) { + var v = t.items[e.target.selectedIndex - 1]; + + if (v && (v = v.value)) { + t.onChange.dispatch(t, v); + + if (t.settings.onselect) + t.settings.onselect(v); + } + }; + + Event.add(t.id, 'change', onChange); + + // Accessibility keyhandler + Event.add(t.id, 'keydown', function(e) { + var bf; + + Event.remove(t.id, 'change', ch); + changeListenerAdded = false; + + bf = Event.add(t.id, 'blur', function() { + if (changeListenerAdded) return; + changeListenerAdded = true; + Event.add(t.id, 'change', onChange); + Event.remove(t.id, 'blur', bf); + }); + + if (e.keyCode == 13 || e.keyCode == 32) { + onChange(e); + return Event.cancel(e); + } + }); + + t.onPostRender.dispatch(t, DOM.get(t.id)); + } + }); +})(tinymce); +(function(tinymce) { + var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each; + + tinymce.create('tinymce.ui.MenuButton:tinymce.ui.Button', { + MenuButton : function(id, s, ed) { + this.parent(id, s, ed); + + this.onRenderMenu = new tinymce.util.Dispatcher(this); + + s.menu_container = s.menu_container || DOM.doc.body; + }, + + showMenu : function() { + var t = this, p1, p2, e = DOM.get(t.id), m; + + if (t.isDisabled()) + return; + + if (!t.isMenuRendered) { + t.renderMenu(); + t.isMenuRendered = true; + } + + if (t.isMenuVisible) + return t.hideMenu(); + + p1 = DOM.getPos(t.settings.menu_container); + p2 = DOM.getPos(e); + + m = t.menu; + m.settings.offset_x = p2.x; + m.settings.offset_y = p2.y; + m.settings.vp_offset_x = p2.x; + m.settings.vp_offset_y = p2.y; + m.settings.keyboard_focus = t._focused; + m.showMenu(0, e.clientHeight); + + Event.add(DOM.doc, 'mousedown', t.hideMenu, t); + t.setState('Selected', 1); + + t.isMenuVisible = 1; + }, + + renderMenu : function() { + var t = this, m; + + m = t.settings.control_manager.createDropMenu(t.id + '_menu', { + menu_line : 1, + 'class' : this.classPrefix + 'Menu', + icons : t.settings.icons + }); + + m.onHideMenu.add(function() { + t.hideMenu(); + t.focus(); + }); + + t.onRenderMenu.dispatch(t, m); + t.menu = m; + }, + + hideMenu : function(e) { + var t = this; + + // Prevent double toogles by canceling the mouse click event to the button + if (e && e.type == "mousedown" && DOM.getParent(e.target, function(e) {return e.id === t.id || e.id === t.id + '_open';})) + return; + + if (!e || !DOM.getParent(e.target, '.mceMenu')) { + t.setState('Selected', 0); + Event.remove(DOM.doc, 'mousedown', t.hideMenu, t); + if (t.menu) + t.menu.hideMenu(); + } + + t.isMenuVisible = 0; + }, + + postRender : function() { + var t = this, s = t.settings; + + Event.add(t.id, 'click', function() { + if (!t.isDisabled()) { + if (s.onclick) + s.onclick(t.value); + + t.showMenu(); + } + }); + } + }); +})(tinymce); + +(function(tinymce) { + var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each; + + tinymce.create('tinymce.ui.SplitButton:tinymce.ui.MenuButton', { + SplitButton : function(id, s, ed) { + this.parent(id, s, ed); + this.classPrefix = 'mceSplitButton'; + }, + + renderHTML : function() { + var h, t = this, s = t.settings, h1; + + h = '<tbody><tr>'; + + if (s.image) + h1 = DOM.createHTML('img ', {src : s.image, role: 'presentation', 'class' : 'mceAction ' + s['class']}); + else + h1 = DOM.createHTML('span', {'class' : 'mceAction ' + s['class']}, ''); + + h1 += DOM.createHTML('span', {'class': 'mceVoiceLabel mceIconOnly', id: t.id + '_voice', style: 'display:none;'}, s.title); + h += '<td >' + DOM.createHTML('a', {role: 'button', id : t.id + '_action', tabindex: '-1', href : 'javascript:;', 'class' : 'mceAction ' + s['class'], onclick : "return false;", onmousedown : 'return false;', title : s.title}, h1) + '</td>'; + + h1 = DOM.createHTML('span', {'class' : 'mceOpen ' + s['class']}, '<span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span>'); + h += '<td >' + DOM.createHTML('a', {role: 'button', id : t.id + '_open', tabindex: '-1', href : 'javascript:;', 'class' : 'mceOpen ' + s['class'], onclick : "return false;", onmousedown : 'return false;', title : s.title}, h1) + '</td>'; + + h += '</tr></tbody>'; + h = DOM.createHTML('table', {id : t.id, role: 'presentation', tabindex: '0', 'class' : 'mceSplitButton mceSplitButtonEnabled ' + s['class'], cellpadding : '0', cellspacing : '0', title : s.title}, h); + return DOM.createHTML('span', {role: 'button', 'aria-labelledby': t.id + '_voice', 'aria-haspopup': 'true'}, h); + }, + + postRender : function() { + var t = this, s = t.settings, activate; + + if (s.onclick) { + activate = function(evt) { + if (!t.isDisabled()) { + s.onclick(t.value); + Event.cancel(evt); + } + }; + Event.add(t.id + '_action', 'click', activate); + Event.add(t.id, ['click', 'keydown'], function(evt) { + var DOM_VK_SPACE = 32, DOM_VK_ENTER = 14, DOM_VK_RETURN = 13, DOM_VK_UP = 38, DOM_VK_DOWN = 40; + if ((evt.keyCode === 32 || evt.keyCode === 13 || evt.keyCode === 14) && !evt.altKey && !evt.ctrlKey && !evt.metaKey) { + activate(); + Event.cancel(evt); + } else if (evt.type === 'click' || evt.keyCode === DOM_VK_DOWN) { + t.showMenu(); + Event.cancel(evt); + } + }); + } + + Event.add(t.id + '_open', 'click', function (evt) { + t.showMenu(); + Event.cancel(evt); + }); + Event.add([t.id, t.id + '_open'], 'focus', function() {t._focused = 1;}); + Event.add([t.id, t.id + '_open'], 'blur', function() {t._focused = 0;}); + + // Old IE doesn't have hover on all elements + if (tinymce.isIE6 || !DOM.boxModel) { + Event.add(t.id, 'mouseover', function() { + if (!DOM.hasClass(t.id, 'mceSplitButtonDisabled')) + DOM.addClass(t.id, 'mceSplitButtonHover'); + }); + + Event.add(t.id, 'mouseout', function() { + if (!DOM.hasClass(t.id, 'mceSplitButtonDisabled')) + DOM.removeClass(t.id, 'mceSplitButtonHover'); + }); + } + }, + + destroy : function() { + this.parent(); + + Event.clear(this.id + '_action'); + Event.clear(this.id + '_open'); + Event.clear(this.id); + } + }); +})(tinymce); + +(function(tinymce) { + var DOM = tinymce.DOM, Event = tinymce.dom.Event, is = tinymce.is, each = tinymce.each; + + tinymce.create('tinymce.ui.ColorSplitButton:tinymce.ui.SplitButton', { + ColorSplitButton : function(id, s, ed) { + var t = this; + + t.parent(id, s, ed); + + t.settings = s = tinymce.extend({ + colors : '000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF', + grid_width : 8, + default_color : '#888888' + }, t.settings); + + t.onShowMenu = new tinymce.util.Dispatcher(t); + + t.onHideMenu = new tinymce.util.Dispatcher(t); + + t.value = s.default_color; + }, + + showMenu : function() { + var t = this, r, p, e, p2; + + if (t.isDisabled()) + return; + + if (!t.isMenuRendered) { + t.renderMenu(); + t.isMenuRendered = true; + } + + if (t.isMenuVisible) + return t.hideMenu(); + + e = DOM.get(t.id); + DOM.show(t.id + '_menu'); + DOM.addClass(e, 'mceSplitButtonSelected'); + p2 = DOM.getPos(e); + DOM.setStyles(t.id + '_menu', { + left : p2.x, + top : p2.y + e.clientHeight, + zIndex : 200000 + }); + e = 0; + + Event.add(DOM.doc, 'mousedown', t.hideMenu, t); + t.onShowMenu.dispatch(t); + + if (t._focused) { + t._keyHandler = Event.add(t.id + '_menu', 'keydown', function(e) { + if (e.keyCode == 27) + t.hideMenu(); + }); + + DOM.select('a', t.id + '_menu')[0].focus(); // Select first link + } + + t.isMenuVisible = 1; + }, + + hideMenu : function(e) { + var t = this; + + if (t.isMenuVisible) { + // Prevent double toogles by canceling the mouse click event to the button + if (e && e.type == "mousedown" && DOM.getParent(e.target, function(e) {return e.id === t.id + '_open';})) + return; + + if (!e || !DOM.getParent(e.target, '.mceSplitButtonMenu')) { + DOM.removeClass(t.id, 'mceSplitButtonSelected'); + Event.remove(DOM.doc, 'mousedown', t.hideMenu, t); + Event.remove(t.id + '_menu', 'keydown', t._keyHandler); + DOM.hide(t.id + '_menu'); + } + + t.isMenuVisible = 0; + } + }, + + renderMenu : function() { + var t = this, m, i = 0, s = t.settings, n, tb, tr, w, context; + + w = DOM.add(s.menu_container, 'div', {role: 'listbox', id : t.id + '_menu', 'class' : s['menu_class'] + ' ' + s['class'], style : 'position:absolute;left:0;top:-1000px;'}); + m = DOM.add(w, 'div', {'class' : s['class'] + ' mceSplitButtonMenu'}); + DOM.add(m, 'span', {'class' : 'mceMenuLine'}); + + n = DOM.add(m, 'table', {role: 'presentation', 'class' : 'mceColorSplitMenu'}); + tb = DOM.add(n, 'tbody'); + + // Generate color grid + i = 0; + each(is(s.colors, 'array') ? s.colors : s.colors.split(','), function(c) { + c = c.replace(/^#/, ''); + + if (!i--) { + tr = DOM.add(tb, 'tr'); + i = s.grid_width - 1; + } + + n = DOM.add(tr, 'td'); + n = DOM.add(n, 'a', { + role : 'option', + href : 'javascript:;', + style : { + backgroundColor : '#' + c + }, + 'title': t.editor.getLang('colors.' + c, c), + 'data-mce-color' : '#' + c + }); + + if (t.editor.forcedHighContrastMode) { + n = DOM.add(n, 'canvas', { width: 16, height: 16, 'aria-hidden': 'true' }); + if (n.getContext && (context = n.getContext("2d"))) { + context.fillStyle = '#' + c; + context.fillRect(0, 0, 16, 16); + } else { + // No point leaving a canvas element around if it's not supported for drawing on anyway. + DOM.remove(n); + } + } + }); + + if (s.more_colors_func) { + n = DOM.add(tb, 'tr'); + n = DOM.add(n, 'td', {colspan : s.grid_width, 'class' : 'mceMoreColors'}); + n = DOM.add(n, 'a', {role: 'option', id : t.id + '_more', href : 'javascript:;', onclick : 'return false;', 'class' : 'mceMoreColors'}, s.more_colors_title); + + Event.add(n, 'click', function(e) { + s.more_colors_func.call(s.more_colors_scope || this); + return Event.cancel(e); // Cancel to fix onbeforeunload problem + }); + } + + DOM.addClass(m, 'mceColorSplitMenu'); + + new tinymce.ui.KeyboardNavigation({ + root: t.id + '_menu', + items: DOM.select('a', t.id + '_menu'), + onCancel: function() { + t.hideMenu(); + t.focus(); + } + }); + + // Prevent IE from scrolling and hindering click to occur #4019 + Event.add(t.id + '_menu', 'mousedown', function(e) {return Event.cancel(e);}); + + Event.add(t.id + '_menu', 'click', function(e) { + var c; + + e = DOM.getParent(e.target, 'a', tb); + + if (e && e.nodeName.toLowerCase() == 'a' && (c = e.getAttribute('data-mce-color'))) + t.setColor(c); + + return Event.cancel(e); // Prevent IE auto save warning + }); + + return w; + }, + + setColor : function(c) { + this.displayColor(c); + this.hideMenu(); + this.settings.onselect(c); + }, + + displayColor : function(c) { + var t = this; + + DOM.setStyle(t.id + '_preview', 'backgroundColor', c); + + t.value = c; + }, + + postRender : function() { + var t = this, id = t.id; + + t.parent(); + DOM.add(id + '_action', 'div', {id : id + '_preview', 'class' : 'mceColorPreview'}); + DOM.setStyle(t.id + '_preview', 'backgroundColor', t.value); + }, + + destroy : function() { + this.parent(); + + Event.clear(this.id + '_menu'); + Event.clear(this.id + '_more'); + DOM.remove(this.id + '_menu'); + } + }); +})(tinymce); + +(function(tinymce) { +// Shorten class names +var dom = tinymce.DOM, each = tinymce.each, Event = tinymce.dom.Event; +tinymce.create('tinymce.ui.ToolbarGroup:tinymce.ui.Container', { + renderHTML : function() { + var t = this, h = [], controls = t.controls, each = tinymce.each, settings = t.settings; + + h.push('<div id="' + t.id + '" role="group" aria-labelledby="' + t.id + '_voice">'); + //TODO: ACC test this out - adding a role = application for getting the landmarks working well. + h.push("<span role='application'>"); + h.push('<span id="' + t.id + '_voice" class="mceVoiceLabel" style="display:none;">' + dom.encode(settings.name) + '</span>'); + each(controls, function(toolbar) { + h.push(toolbar.renderHTML()); + }); + h.push("</span>"); + h.push('</div>'); + + return h.join(''); + }, + + focus : function() { + this.keyNav.focus(); + }, + + postRender : function() { + var t = this, items = []; + + each(t.controls, function(toolbar) { + each (toolbar.controls, function(control) { + if (control.id) { + items.push(control); + } + }); + }); + + t.keyNav = new tinymce.ui.KeyboardNavigation({ + root: t.id, + items: items, + onCancel: function() { + t.editor.focus(); + }, + excludeFromTabOrder: !t.settings.tab_focus_toolbar + }); + }, + + destroy : function() { + var self = this; + + self.parent(); + self.keyNav.destroy(); + Event.clear(self.id); + } +}); +})(tinymce); + +(function(tinymce) { +// Shorten class names +var dom = tinymce.DOM, each = tinymce.each; +tinymce.create('tinymce.ui.Toolbar:tinymce.ui.Container', { + renderHTML : function() { + var t = this, h = '', c, co, s = t.settings, i, pr, nx, cl; + + cl = t.controls; + for (i=0; i<cl.length; i++) { + // Get current control, prev control, next control and if the control is a list box or not + co = cl[i]; + pr = cl[i - 1]; + nx = cl[i + 1]; + + // Add toolbar start + if (i === 0) { + c = 'mceToolbarStart'; + + if (co.Button) + c += ' mceToolbarStartButton'; + else if (co.SplitButton) + c += ' mceToolbarStartSplitButton'; + else if (co.ListBox) + c += ' mceToolbarStartListBox'; + + h += dom.createHTML('td', {'class' : c}, dom.createHTML('span', null, '<!-- IE -->')); + } + + // Add toolbar end before list box and after the previous button + // This is to fix the o2k7 editor skins + if (pr && co.ListBox) { + if (pr.Button || pr.SplitButton) + h += dom.createHTML('td', {'class' : 'mceToolbarEnd'}, dom.createHTML('span', null, '<!-- IE -->')); + } + + // Render control HTML + + // IE 8 quick fix, needed to propertly generate a hit area for anchors + if (dom.stdMode) + h += '<td style="position: relative">' + co.renderHTML() + '</td>'; + else + h += '<td>' + co.renderHTML() + '</td>'; + + // Add toolbar start after list box and before the next button + // This is to fix the o2k7 editor skins + if (nx && co.ListBox) { + if (nx.Button || nx.SplitButton) + h += dom.createHTML('td', {'class' : 'mceToolbarStart'}, dom.createHTML('span', null, '<!-- IE -->')); + } + } + + c = 'mceToolbarEnd'; + + if (co.Button) + c += ' mceToolbarEndButton'; + else if (co.SplitButton) + c += ' mceToolbarEndSplitButton'; + else if (co.ListBox) + c += ' mceToolbarEndListBox'; + + h += dom.createHTML('td', {'class' : c}, dom.createHTML('span', null, '<!-- IE -->')); + + return dom.createHTML('table', {id : t.id, 'class' : 'mceToolbar' + (s['class'] ? ' ' + s['class'] : ''), cellpadding : '0', cellspacing : '0', align : t.settings.align || '', role: 'presentation', tabindex: '-1'}, '<tbody><tr>' + h + '</tr></tbody>'); + } +}); +})(tinymce); + +(function(tinymce) { + var Dispatcher = tinymce.util.Dispatcher, each = tinymce.each; + + tinymce.create('tinymce.AddOnManager', { + AddOnManager : function() { + var self = this; + + self.items = []; + self.urls = {}; + self.lookup = {}; + self.onAdd = new Dispatcher(self); + }, + + get : function(n) { + if (this.lookup[n]) { + return this.lookup[n].instance; + } else { + return undefined; + } + }, + + dependencies : function(n) { + var result; + if (this.lookup[n]) { + result = this.lookup[n].dependencies; + } + return result || []; + }, + + requireLangPack : function(n) { + var s = tinymce.settings; + + if (s && s.language && s.language_load !== false) + tinymce.ScriptLoader.add(this.urls[n] + '/langs/' + s.language + '.js'); + }, + + add : function(id, o, dependencies) { + this.items.push(o); + this.lookup[id] = {instance:o, dependencies:dependencies}; + this.onAdd.dispatch(this, id, o); + + return o; + }, + createUrl: function(baseUrl, dep) { + if (typeof dep === "object") { + return dep + } else { + return {prefix: baseUrl.prefix, resource: dep, suffix: baseUrl.suffix}; + } + }, + + addComponents: function(pluginName, scripts) { + var pluginUrl = this.urls[pluginName]; + tinymce.each(scripts, function(script){ + tinymce.ScriptLoader.add(pluginUrl+"/"+script); + }); + }, + + load : function(n, u, cb, s) { + var t = this, url = u; + + function loadDependencies() { + var dependencies = t.dependencies(n); + tinymce.each(dependencies, function(dep) { + var newUrl = t.createUrl(u, dep); + t.load(newUrl.resource, newUrl, undefined, undefined); + }); + if (cb) { + if (s) { + cb.call(s); + } else { + cb.call(tinymce.ScriptLoader); + } + } + } + + if (t.urls[n]) + return; + if (typeof u === "object") + url = u.prefix + u.resource + u.suffix; + + if (url.indexOf('/') != 0 && url.indexOf('://') == -1) + url = tinymce.baseURL + '/' + url; + + t.urls[n] = url.substring(0, url.lastIndexOf('/')); + + if (t.lookup[n]) { + loadDependencies(); + } else { + tinymce.ScriptLoader.add(url, loadDependencies, s); + } + } + }); + + // Create plugin and theme managers + tinymce.PluginManager = new tinymce.AddOnManager(); + tinymce.ThemeManager = new tinymce.AddOnManager(); +}(tinymce)); + +(function(tinymce) { + // Shorten names + var each = tinymce.each, extend = tinymce.extend, + DOM = tinymce.DOM, Event = tinymce.dom.Event, + ThemeManager = tinymce.ThemeManager, PluginManager = tinymce.PluginManager, + explode = tinymce.explode, + Dispatcher = tinymce.util.Dispatcher, undefined, instanceCounter = 0; + + // Setup some URLs where the editor API is located and where the document is + tinymce.documentBaseURL = window.location.href.replace(/[\?#].*$/, '').replace(/[\/\\][^\/]+$/, ''); + if (!/[\/\\]$/.test(tinymce.documentBaseURL)) + tinymce.documentBaseURL += '/'; + + tinymce.baseURL = new tinymce.util.URI(tinymce.documentBaseURL).toAbsolute(tinymce.baseURL); + + tinymce.baseURI = new tinymce.util.URI(tinymce.baseURL); + + // Add before unload listener + // This was required since IE was leaking memory if you added and removed beforeunload listeners + // with attachEvent/detatchEvent so this only adds one listener and instances can the attach to the onBeforeUnload event + tinymce.onBeforeUnload = new Dispatcher(tinymce); + + // Must be on window or IE will leak if the editor is placed in frame or iframe + Event.add(window, 'beforeunload', function(e) { + tinymce.onBeforeUnload.dispatch(tinymce, e); + }); + + tinymce.onAddEditor = new Dispatcher(tinymce); + + tinymce.onRemoveEditor = new Dispatcher(tinymce); + + tinymce.EditorManager = extend(tinymce, { + editors : [], + + i18n : {}, + + activeEditor : null, + + init : function(s) { + var t = this, pl, sl = tinymce.ScriptLoader, e, el = [], ed; + + function execCallback(se, n, s) { + var f = se[n]; + + if (!f) + return; + + if (tinymce.is(f, 'string')) { + s = f.replace(/\.\w+$/, ''); + s = s ? tinymce.resolve(s) : 0; + f = tinymce.resolve(f); + } + + return f.apply(s || this, Array.prototype.slice.call(arguments, 2)); + }; + + s = extend({ + theme : "simple", + language : "en" + }, s); + + t.settings = s; + + // Legacy call + Event.add(document, 'init', function() { + var l, co; + + execCallback(s, 'onpageload'); + + switch (s.mode) { + case "exact": + l = s.elements || ''; + + if(l.length > 0) { + each(explode(l), function(v) { + if (DOM.get(v)) { + ed = new tinymce.Editor(v, s); + el.push(ed); + ed.render(1); + } else { + each(document.forms, function(f) { + each(f.elements, function(e) { + if (e.name === v) { + v = 'mce_editor_' + instanceCounter++; + DOM.setAttrib(e, 'id', v); + + ed = new tinymce.Editor(v, s); + el.push(ed); + ed.render(1); + } + }); + }); + } + }); + } + break; + + case "textareas": + case "specific_textareas": + function hasClass(n, c) { + return c.constructor === RegExp ? c.test(n.className) : DOM.hasClass(n, c); + }; + + each(DOM.select('textarea'), function(v) { + if (s.editor_deselector && hasClass(v, s.editor_deselector)) + return; + + if (!s.editor_selector || hasClass(v, s.editor_selector)) { + // Can we use the name + e = DOM.get(v.name); + if (!v.id && !e) + v.id = v.name; + + // Generate unique name if missing or already exists + if (!v.id || t.get(v.id)) + v.id = DOM.uniqueId(); + + ed = new tinymce.Editor(v.id, s); + el.push(ed); + ed.render(1); + } + }); + break; + } + + // Call onInit when all editors are initialized + if (s.oninit) { + l = co = 0; + + each(el, function(ed) { + co++; + + if (!ed.initialized) { + // Wait for it + ed.onInit.add(function() { + l++; + + // All done + if (l == co) + execCallback(s, 'oninit'); + }); + } else + l++; + + // All done + if (l == co) + execCallback(s, 'oninit'); + }); + } + }); + }, + + get : function(id) { + if (id === undefined) + return this.editors; + + return this.editors[id]; + }, + + getInstanceById : function(id) { + return this.get(id); + }, + + add : function(editor) { + var self = this, editors = self.editors; + + // Add named and index editor instance + editors[editor.id] = editor; + editors.push(editor); + + self._setActive(editor); + self.onAddEditor.dispatch(self, editor); + + + return editor; + }, + + remove : function(editor) { + var t = this, i, editors = t.editors; + + // Not in the collection + if (!editors[editor.id]) + return null; + + delete editors[editor.id]; + + for (i = 0; i < editors.length; i++) { + if (editors[i] == editor) { + editors.splice(i, 1); + break; + } + } + + // Select another editor since the active one was removed + if (t.activeEditor == editor) + t._setActive(editors[0]); + + editor.destroy(); + t.onRemoveEditor.dispatch(t, editor); + + return editor; + }, + + execCommand : function(c, u, v) { + var t = this, ed = t.get(v), w; + + // Manager commands + switch (c) { + case "mceFocus": + ed.focus(); + return true; + + case "mceAddEditor": + case "mceAddControl": + if (!t.get(v)) + new tinymce.Editor(v, t.settings).render(); + + return true; + + case "mceAddFrameControl": + w = v.window; + + // Add tinyMCE global instance and tinymce namespace to specified window + w.tinyMCE = tinyMCE; + w.tinymce = tinymce; + + tinymce.DOM.doc = w.document; + tinymce.DOM.win = w; + + ed = new tinymce.Editor(v.element_id, v); + ed.render(); + + // Fix IE memory leaks + if (tinymce.isIE) { + function clr() { + ed.destroy(); + w.detachEvent('onunload', clr); + w = w.tinyMCE = w.tinymce = null; // IE leak + }; + + w.attachEvent('onunload', clr); + } + + v.page_window = null; + + return true; + + case "mceRemoveEditor": + case "mceRemoveControl": + if (ed) + ed.remove(); + + return true; + + case 'mceToggleEditor': + if (!ed) { + t.execCommand('mceAddControl', 0, v); + return true; + } + + if (ed.isHidden()) + ed.show(); + else + ed.hide(); + + return true; + } + + // Run command on active editor + if (t.activeEditor) + return t.activeEditor.execCommand(c, u, v); + + return false; + }, + + execInstanceCommand : function(id, c, u, v) { + var ed = this.get(id); + + if (ed) + return ed.execCommand(c, u, v); + + return false; + }, + + triggerSave : function() { + each(this.editors, function(e) { + e.save(); + }); + }, + + addI18n : function(p, o) { + var lo, i18n = this.i18n; + + if (!tinymce.is(p, 'string')) { + each(p, function(o, lc) { + each(o, function(o, g) { + each(o, function(o, k) { + if (g === 'common') + i18n[lc + '.' + k] = o; + else + i18n[lc + '.' + g + '.' + k] = o; + }); + }); + }); + } else { + each(o, function(o, k) { + i18n[p + '.' + k] = o; + }); + } + }, + + // Private methods + + _setActive : function(editor) { + this.selectedInstance = this.activeEditor = editor; + } + }); +})(tinymce); + +(function(tinymce) { + // Shorten these names + var DOM = tinymce.DOM, Event = tinymce.dom.Event, extend = tinymce.extend, + Dispatcher = tinymce.util.Dispatcher, each = tinymce.each, isGecko = tinymce.isGecko, + isIE = tinymce.isIE, isWebKit = tinymce.isWebKit, is = tinymce.is, + ThemeManager = tinymce.ThemeManager, PluginManager = tinymce.PluginManager, + inArray = tinymce.inArray, grep = tinymce.grep, explode = tinymce.explode; + + tinymce.create('tinymce.Editor', { + Editor : function(id, s) { + var t = this; + + t.id = t.editorId = id; + + t.execCommands = {}; + t.queryStateCommands = {}; + t.queryValueCommands = {}; + + t.isNotDirty = false; + + t.plugins = {}; + + // Add events to the editor + each([ + 'onPreInit', + + 'onBeforeRenderUI', + + 'onPostRender', + + 'onInit', + + 'onRemove', + + 'onActivate', + + 'onDeactivate', + + 'onClick', + + 'onEvent', + + 'onMouseUp', + + 'onMouseDown', + + 'onDblClick', + + 'onKeyDown', + + 'onKeyUp', + + 'onKeyPress', + + 'onContextMenu', + + 'onSubmit', + + 'onReset', + + 'onPaste', + + 'onPreProcess', + + 'onPostProcess', + + 'onBeforeSetContent', + + 'onBeforeGetContent', + + 'onSetContent', + + 'onGetContent', + + 'onLoadContent', + + 'onSaveContent', + + 'onNodeChange', + + 'onChange', + + 'onBeforeExecCommand', + + 'onExecCommand', + + 'onUndo', + + 'onRedo', + + 'onVisualAid', + + 'onSetProgressState' + ], function(e) { + t[e] = new Dispatcher(t); + }); + + t.settings = s = extend({ + id : id, + language : 'en', + docs_language : 'en', + theme : 'simple', + skin : 'default', + delta_width : 0, + delta_height : 0, + popup_css : '', + plugins : '', + document_base_url : tinymce.documentBaseURL, + add_form_submit_trigger : 1, + submit_patch : 1, + add_unload_trigger : 1, + convert_urls : 1, + relative_urls : 1, + remove_script_host : 1, + table_inline_editing : 0, + object_resizing : 1, + cleanup : 1, + accessibility_focus : 1, + custom_shortcuts : 1, + custom_undo_redo_keyboard_shortcuts : 1, + custom_undo_redo_restore_selection : 1, + custom_undo_redo : 1, + doctype : tinymce.isIE6 ? '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">' : '<!DOCTYPE>', // Use old doctype on IE 6 to avoid horizontal scroll + visual_table_class : 'mceItemTable', + visual : 1, + font_size_style_values : 'xx-small,x-small,small,medium,large,x-large,xx-large', + apply_source_formatting : 1, + directionality : 'ltr', + forced_root_block : 'p', + hidden_input : 1, + padd_empty_editor : 1, + render_ui : 1, + init_theme : 1, + force_p_newlines : 1, + indentation : '30px', + keep_styles : 1, + fix_table_elements : 1, + inline_styles : 1, + convert_fonts_to_spans : true, + indent : 'simple', + indent_before : 'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr', + indent_after : 'p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr', + validate : true, + entity_encoding : 'named', + url_converter : t.convertURL, + url_converter_scope : t, + ie7_compat : true + }, s); + + t.documentBaseURI = new tinymce.util.URI(s.document_base_url || tinymce.documentBaseURL, { + base_uri : tinyMCE.baseURI + }); + + t.baseURI = tinymce.baseURI; + + t.contentCSS = []; + + // Call setup + t.execCallback('setup', t); + }, + + render : function(nst) { + var t = this, s = t.settings, id = t.id, sl = tinymce.ScriptLoader; + + // Page is not loaded yet, wait for it + if (!Event.domLoaded) { + Event.add(document, 'init', function() { + t.render(); + }); + return; + } + + tinyMCE.settings = s; + + // Element not found, then skip initialization + if (!t.getElement()) + return; + + // Is a iPad/iPhone and not on iOS5, then skip initialization. We need to sniff + // here since the browser says it has contentEditable support but there is no visible + // caret We will remove this check ones Apple implements full contentEditable support + if (tinymce.isIDevice && !tinymce.isIOS5) + return; + + // Add hidden input for non input elements inside form elements + if (!/TEXTAREA|INPUT/i.test(t.getElement().nodeName) && s.hidden_input && DOM.getParent(id, 'form')) + DOM.insertAfter(DOM.create('input', {type : 'hidden', name : id}), id); + + if (tinymce.WindowManager) + t.windowManager = new tinymce.WindowManager(t); + + if (s.encoding == 'xml') { + t.onGetContent.add(function(ed, o) { + if (o.save) + o.content = DOM.encode(o.content); + }); + } + + if (s.add_form_submit_trigger) { + t.onSubmit.addToTop(function() { + if (t.initialized) { + t.save(); + t.isNotDirty = 1; + } + }); + } + + if (s.add_unload_trigger) { + t._beforeUnload = tinyMCE.onBeforeUnload.add(function() { + if (t.initialized && !t.destroyed && !t.isHidden()) + t.save({format : 'raw', no_events : true}); + }); + } + + tinymce.addUnload(t.destroy, t); + + if (s.submit_patch) { + t.onBeforeRenderUI.add(function() { + var n = t.getElement().form; + + if (!n) + return; + + // Already patched + if (n._mceOldSubmit) + return; + + // Check page uses id="submit" or name="submit" for it's submit button + if (!n.submit.nodeType && !n.submit.length) { + t.formElement = n; + n._mceOldSubmit = n.submit; + n.submit = function() { + // Save all instances + tinymce.triggerSave(); + t.isNotDirty = 1; + + return t.formElement._mceOldSubmit(t.formElement); + }; + } + + n = null; + }); + } + + // Load scripts + function loadScripts() { + if (s.language && s.language_load !== false) + sl.add(tinymce.baseURL + '/langs/' + s.language + '.js'); + + if (s.theme && s.theme.charAt(0) != '-' && !ThemeManager.urls[s.theme]) + ThemeManager.load(s.theme, 'themes/' + s.theme + '/editor_template' + tinymce.suffix + '.js'); + + each(explode(s.plugins), function(p) { + if (p &&!PluginManager.urls[p]) { + if (p.charAt(0) == '-') { + p = p.substr(1, p.length); + var dependencies = PluginManager.dependencies(p); + each(dependencies, function(dep) { + var defaultSettings = {prefix:'plugins/', resource: dep, suffix:'/editor_plugin' + tinymce.suffix + '.js'}; + var dep = PluginManager.createUrl(defaultSettings, dep); + PluginManager.load(dep.resource, dep); + + }); + } else { + // Skip safari plugin, since it is removed as of 3.3b1 + if (p == 'safari') { + return; + } + PluginManager.load(p, {prefix:'plugins/', resource: p, suffix:'/editor_plugin' + tinymce.suffix + '.js'}); + } + } + }); + + // Init when que is loaded + sl.loadQueue(function() { + if (!t.removed) + t.init(); + }); + }; + + loadScripts(); + }, + + init : function() { + var n, t = this, s = t.settings, w, h, e = t.getElement(), o, ti, u, bi, bc, re, i, initializedPlugins = []; + + tinymce.add(t); + + s.aria_label = s.aria_label || DOM.getAttrib(e, 'aria-label', t.getLang('aria.rich_text_area')); + + if (s.theme) { + s.theme = s.theme.replace(/-/, ''); + o = ThemeManager.get(s.theme); + t.theme = new o(); + + if (t.theme.init && s.init_theme) + t.theme.init(t, ThemeManager.urls[s.theme] || tinymce.documentBaseURL.replace(/\/$/, '')); + } + function initPlugin(p) { + var c = PluginManager.get(p), u = PluginManager.urls[p] || tinymce.documentBaseURL.replace(/\/$/, ''), po; + if (c && tinymce.inArray(initializedPlugins,p) === -1) { + each(PluginManager.dependencies(p), function(dep){ + initPlugin(dep); + }); + po = new c(t, u); + + t.plugins[p] = po; + + if (po.init) { + po.init(t, u); + initializedPlugins.push(p); + } + } + } + + // Create all plugins + each(explode(s.plugins.replace(/\-/g, '')), initPlugin); + + // Setup popup CSS path(s) + if (s.popup_css !== false) { + if (s.popup_css) + s.popup_css = t.documentBaseURI.toAbsolute(s.popup_css); + else + s.popup_css = t.baseURI.toAbsolute("themes/" + s.theme + "/skins/" + s.skin + "/dialog.css"); + } + + if (s.popup_css_add) + s.popup_css += ',' + t.documentBaseURI.toAbsolute(s.popup_css_add); + + t.controlManager = new tinymce.ControlManager(t); + + if (s.custom_undo_redo) { + t.onBeforeExecCommand.add(function(ed, cmd, ui, val, a) { + if (cmd != 'Undo' && cmd != 'Redo' && cmd != 'mceRepaint' && (!a || !a.skip_undo)) + t.undoManager.beforeChange(); + }); + + t.onExecCommand.add(function(ed, cmd, ui, val, a) { + if (cmd != 'Undo' && cmd != 'Redo' && cmd != 'mceRepaint' && (!a || !a.skip_undo)) + t.undoManager.add(); + }); + } + + t.onExecCommand.add(function(ed, c) { + // Don't refresh the select lists until caret move + if (!/^(FontName|FontSize)$/.test(c)) + t.nodeChanged(); + }); + + // Remove ghost selections on images and tables in Gecko + if (isGecko) { + function repaint(a, o) { + if (!o || !o.initial) + t.execCommand('mceRepaint'); + }; + + t.onUndo.add(repaint); + t.onRedo.add(repaint); + t.onSetContent.add(repaint); + } + + // Enables users to override the control factory + t.onBeforeRenderUI.dispatch(t, t.controlManager); + + // Measure box + if (s.render_ui) { + w = s.width || e.style.width || e.offsetWidth; + h = s.height || e.style.height || e.offsetHeight; + t.orgDisplay = e.style.display; + re = /^[0-9\.]+(|px)$/i; + + if (re.test('' + w)) + w = Math.max(parseInt(w) + (o.deltaWidth || 0), 100); + + if (re.test('' + h)) + h = Math.max(parseInt(h) + (o.deltaHeight || 0), 100); + + // Render UI + o = t.theme.renderUI({ + targetNode : e, + width : w, + height : h, + deltaWidth : s.delta_width, + deltaHeight : s.delta_height + }); + + t.editorContainer = o.editorContainer; + } + + + // User specified a document.domain value + if (document.domain && location.hostname != document.domain) + tinymce.relaxedDomain = document.domain; + + // Resize editor + DOM.setStyles(o.sizeContainer || o.editorContainer, { + width : w, + height : h + }); + + // Load specified content CSS last + if (s.content_css) { + tinymce.each(explode(s.content_css), function(u) { + t.contentCSS.push(t.documentBaseURI.toAbsolute(u)); + }); + } + + h = (o.iframeHeight || h) + (typeof(h) == 'number' ? (o.deltaHeight || 0) : ''); + if (h < 100) + h = 100; + + t.iframeHTML = s.doctype + '<html><head xmlns="http://www.w3.org/1999/xhtml">'; + + // We only need to override paths if we have to + // IE has a bug where it remove site absolute urls to relative ones if this is specified + if (s.document_base_url != tinymce.documentBaseURL) + t.iframeHTML += '<base href="' + t.documentBaseURI.getURI() + '" />'; + + // IE8 doesn't support carets behind images setting ie7_compat would force IE8+ to run in IE7 compat mode. + if (s.ie7_compat) + t.iframeHTML += '<meta http-equiv="X-UA-Compatible" content="IE=7" />'; + else + t.iframeHTML += '<meta http-equiv="X-UA-Compatible" content="IE=edge" />'; + + t.iframeHTML += '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'; + + // Firefox 2 doesn't load stylesheets correctly this way + if (!isGecko || !/Firefox\/2/.test(navigator.userAgent)) { + for (i = 0; i < t.contentCSS.length; i++) + t.iframeHTML += '<link type="text/css" rel="stylesheet" href="' + t.contentCSS[i] + '" />'; + + t.contentCSS = []; + } + + bi = s.body_id || 'tinymce'; + if (bi.indexOf('=') != -1) { + bi = t.getParam('body_id', '', 'hash'); + bi = bi[t.id] || bi; + } + + bc = s.body_class || ''; + if (bc.indexOf('=') != -1) { + bc = t.getParam('body_class', '', 'hash'); + bc = bc[t.id] || ''; + } + + t.iframeHTML += '</head><body id="' + bi + '" class="mceContentBody ' + bc + '"></body></html>'; + + // Domain relaxing enabled, then set document domain + if (tinymce.relaxedDomain && (isIE || (tinymce.isOpera && parseFloat(opera.version()) < 11))) { + // We need to write the contents here in IE since multiple writes messes up refresh button and back button + u = 'javascript:(function(){document.open();document.domain="' + document.domain + '";var ed = window.parent.tinyMCE.get("' + t.id + '");document.write(ed.iframeHTML);document.close();ed.setupIframe();})()'; + } + + // Create iframe + // TODO: ACC add the appropriate description on this. + n = DOM.add(o.iframeContainer, 'iframe', { + id : t.id + "_ifr", + src : u || 'javascript:""', // Workaround for HTTPS warning in IE6/7 + frameBorder : '0', + allowTransparency : "true", + title : s.aria_label, + style : { + width : '100%', + height : h + } + }); + + t.contentAreaContainer = o.iframeContainer; + DOM.get(o.editorContainer).style.display = t.orgDisplay; + DOM.get(t.id).style.display = 'none'; + DOM.setAttrib(t.id, 'aria-hidden', true); + + if (!tinymce.relaxedDomain || !u) + t.setupIframe(); + + e = n = o = null; // Cleanup + }, + + setupIframe : function(filled) { + var t = this, s = t.settings, e = DOM.get(t.id), d = t.getDoc(), h, b; + + // Setup iframe body + if ((!isIE || !tinymce.relaxedDomain) && !filled) { + // We need to wait for the load event on Gecko + if (isGecko && !s.readonly) { + t.getWin().addEventListener("DOMContentLoaded", function() { + window.setTimeout(function() { + var b = t.getBody(), undef; + + // Editable element needs to have some contents or backspace/delete won't work properly for some odd reason on FF 3.6 or older + b.innerHTML = '<br>'; + + // Check if Gecko supports contentEditable mode FF2 doesn't + if (b.contentEditable !== undef) { + // Setting the contentEditable off/on seems to force caret mode in the editor and enabled auto focus + b.contentEditable = false; + b.contentEditable = true; + + // Caret doesn't get rendered when you mousedown on the HTML element on FF 3.x + t.onMouseDown.add(function(ed, e) { + if (e.target.nodeName === "HTML") { + // Setting the contentEditable off/on seems to force caret mode in the editor and enabled auto focus + b.contentEditable = false; + b.contentEditable = true; + + d.designMode = 'on'; // Render the caret + + // Remove design mode again after a while so it has some time to execute + window.setTimeout(function() { + d.designMode = 'off'; + t.getBody().focus(); + }, 1); + } + }); + } else + d.designMode = 'on'; + + // Call setup frame once the contentEditable/designMode has been initialized + // since the caret won't be rendered some times otherwise. + t.setupIframe(true); + }, 1); + }, false); + } + + d.open(); + d.write(t.iframeHTML); + d.close(); + + if (tinymce.relaxedDomain) + d.domain = tinymce.relaxedDomain; + + // Wait for iframe onload event on Gecko + if (isGecko && !s.readonly) + return; + } + + // It will not steal focus while setting contentEditable + b = t.getBody(); + b.disabled = true; + + if (!isGecko && !s.readonly) + b.contentEditable = true; + + b.disabled = false; + + t.schema = new tinymce.html.Schema(s); + + t.dom = new tinymce.dom.DOMUtils(t.getDoc(), { + keep_values : true, + url_converter : t.convertURL, + url_converter_scope : t, + hex_colors : s.force_hex_style_colors, + class_filter : s.class_filter, + update_styles : 1, + fix_ie_paragraphs : 1, + schema : t.schema + }); + + t.parser = new tinymce.html.DomParser(s, t.schema); + + // Force anchor names closed, unless the setting "allow_html_in_named_anchor" is explicitly included. + if (!t.settings.allow_html_in_named_anchor) { + t.parser.addAttributeFilter('name', function(nodes, name) { + var i = nodes.length, sibling, prevSibling, parent, node; + + while (i--) { + node = nodes[i]; + if (node.name === 'a' && node.firstChild) { + parent = node.parent; + + // Move children after current node + sibling = node.lastChild; + do { + prevSibling = sibling.prev; + parent.insert(sibling, node); + sibling = prevSibling; + } while (sibling); + } + } + }); + } + + // Convert src and href into data-mce-src, data-mce-href and data-mce-style + t.parser.addAttributeFilter('src,href,style', function(nodes, name) { + var i = nodes.length, node, dom = t.dom, value, internalName; + + while (i--) { + node = nodes[i]; + value = node.attr(name); + internalName = 'data-mce-' + name; + + // Add internal attribute if we need to we don't on a refresh of the document + if (!node.attributes.map[internalName]) { + if (name === "style") + node.attr(internalName, dom.serializeStyle(dom.parseStyle(value), node.name)); + else + node.attr(internalName, t.convertURL(value, name, node.name)); + } + } + }); + + // Keep scripts from executing + t.parser.addNodeFilter('script', function(nodes, name) { + var i = nodes.length; + + while (i--) + nodes[i].attr('type', 'mce-text/javascript'); + }); + + t.parser.addNodeFilter('#cdata', function(nodes, name) { + var i = nodes.length, node; + + while (i--) { + node = nodes[i]; + node.type = 8; + node.name = '#comment'; + node.value = '[CDATA[' + node.value + ']]'; + } + }); + + t.parser.addNodeFilter('p,h1,h2,h3,h4,h5,h6,div', function(nodes, name) { + var i = nodes.length, node, nonEmptyElements = t.schema.getNonEmptyElements(); + + while (i--) { + node = nodes[i]; + + if (node.isEmpty(nonEmptyElements)) + node.empty().append(new tinymce.html.Node('br', 1)).shortEnded = true; + } + }); + + t.serializer = new tinymce.dom.Serializer(s, t.dom, t.schema); + + t.selection = new tinymce.dom.Selection(t.dom, t.getWin(), t.serializer); + + t.formatter = new tinymce.Formatter(this); + + // Register default formats + t.formatter.register({ + alignleft : [ + {selector : 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li', styles : {textAlign : 'left'}}, + {selector : 'img,table', collapsed : false, styles : {'float' : 'left'}} + ], + + aligncenter : [ + {selector : 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li', styles : {textAlign : 'center'}}, + {selector : 'img', collapsed : false, styles : {display : 'block', marginLeft : 'auto', marginRight : 'auto'}}, + {selector : 'table', collapsed : false, styles : {marginLeft : 'auto', marginRight : 'auto'}} + ], + + alignright : [ + {selector : 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li', styles : {textAlign : 'right'}}, + {selector : 'img,table', collapsed : false, styles : {'float' : 'right'}} + ], + + alignfull : [ + {selector : 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li', styles : {textAlign : 'justify'}} + ], + + bold : [ + {inline : 'strong', remove : 'all'}, + {inline : 'span', styles : {fontWeight : 'bold'}}, + {inline : 'b', remove : 'all'} + ], + + italic : [ + {inline : 'em', remove : 'all'}, + {inline : 'span', styles : {fontStyle : 'italic'}}, + {inline : 'i', remove : 'all'} + ], + + underline : [ + {inline : 'span', styles : {textDecoration : 'underline'}, exact : true}, + {inline : 'u', remove : 'all'} + ], + + strikethrough : [ + {inline : 'span', styles : {textDecoration : 'line-through'}, exact : true}, + {inline : 'strike', remove : 'all'} + ], + + forecolor : {inline : 'span', styles : {color : '%value'}, wrap_links : false}, + hilitecolor : {inline : 'span', styles : {backgroundColor : '%value'}, wrap_links : false}, + fontname : {inline : 'span', styles : {fontFamily : '%value'}}, + fontsize : {inline : 'span', styles : {fontSize : '%value'}}, + fontsize_class : {inline : 'span', attributes : {'class' : '%value'}}, + blockquote : {block : 'blockquote', wrapper : 1, remove : 'all'}, + subscript : {inline : 'sub'}, + superscript : {inline : 'sup'}, + + removeformat : [ + {selector : 'b,strong,em,i,font,u,strike', remove : 'all', split : true, expand : false, block_expand : true, deep : true}, + {selector : 'span', attributes : ['style', 'class'], remove : 'empty', split : true, expand : false, deep : true}, + {selector : '*', attributes : ['style', 'class'], split : false, expand : false, deep : true} + ] + }); + + // Register default block formats + each('p h1 h2 h3 h4 h5 h6 div address pre div code dt dd samp'.split(/\s/), function(name) { + t.formatter.register(name, {block : name, remove : 'all'}); + }); + + // Register user defined formats + t.formatter.register(t.settings.formats); + + t.undoManager = new tinymce.UndoManager(t); + + // Pass through + t.undoManager.onAdd.add(function(um, l) { + if (um.hasUndo()) + return t.onChange.dispatch(t, l, um); + }); + + t.undoManager.onUndo.add(function(um, l) { + return t.onUndo.dispatch(t, l, um); + }); + + t.undoManager.onRedo.add(function(um, l) { + return t.onRedo.dispatch(t, l, um); + }); + + t.forceBlocks = new tinymce.ForceBlocks(t, { + forced_root_block : s.forced_root_block + }); + + t.editorCommands = new tinymce.EditorCommands(t); + + // Pass through + t.serializer.onPreProcess.add(function(se, o) { + return t.onPreProcess.dispatch(t, o, se); + }); + + t.serializer.onPostProcess.add(function(se, o) { + return t.onPostProcess.dispatch(t, o, se); + }); + + t.onPreInit.dispatch(t); + + if (!s.gecko_spellcheck) + t.getBody().spellcheck = 0; + + if (!s.readonly) + t._addEvents(); + + t.controlManager.onPostRender.dispatch(t, t.controlManager); + t.onPostRender.dispatch(t); + + t.quirks = new tinymce.util.Quirks(this); + + if (s.directionality) + t.getBody().dir = s.directionality; + + if (s.nowrap) + t.getBody().style.whiteSpace = "nowrap"; + + if (s.handle_node_change_callback) { + t.onNodeChange.add(function(ed, cm, n) { + t.execCallback('handle_node_change_callback', t.id, n, -1, -1, true, t.selection.isCollapsed()); + }); + } + + if (s.save_callback) { + t.onSaveContent.add(function(ed, o) { + var h = t.execCallback('save_callback', t.id, o.content, t.getBody()); + + if (h) + o.content = h; + }); + } + + if (s.onchange_callback) { + t.onChange.add(function(ed, l) { + t.execCallback('onchange_callback', t, l); + }); + } + + if (s.protect) { + t.onBeforeSetContent.add(function(ed, o) { + if (s.protect) { + each(s.protect, function(pattern) { + o.content = o.content.replace(pattern, function(str) { + return '<!--mce:protected ' + escape(str) + '-->'; + }); + }); + } + }); + } + + if (s.convert_newlines_to_brs) { + t.onBeforeSetContent.add(function(ed, o) { + if (o.initial) + o.content = o.content.replace(/\r?\n/g, '<br />'); + }); + } + + if (s.preformatted) { + t.onPostProcess.add(function(ed, o) { + o.content = o.content.replace(/^\s*<pre.*?>/, ''); + o.content = o.content.replace(/<\/pre>\s*$/, ''); + + if (o.set) + o.content = '<pre class="mceItemHidden">' + o.content + '</pre>'; + }); + } + + if (s.verify_css_classes) { + t.serializer.attribValueFilter = function(n, v) { + var s, cl; + + if (n == 'class') { + // Build regexp for classes + if (!t.classesRE) { + cl = t.dom.getClasses(); + + if (cl.length > 0) { + s = ''; + + each (cl, function(o) { + s += (s ? '|' : '') + o['class']; + }); + + t.classesRE = new RegExp('(' + s + ')', 'gi'); + } + } + + return !t.classesRE || /(\bmceItem\w+\b|\bmceTemp\w+\b)/g.test(v) || t.classesRE.test(v) ? v : ''; + } + + return v; + }; + } + + if (s.cleanup_callback) { + t.onBeforeSetContent.add(function(ed, o) { + o.content = t.execCallback('cleanup_callback', 'insert_to_editor', o.content, o); + }); + + t.onPreProcess.add(function(ed, o) { + if (o.set) + t.execCallback('cleanup_callback', 'insert_to_editor_dom', o.node, o); + + if (o.get) + t.execCallback('cleanup_callback', 'get_from_editor_dom', o.node, o); + }); + + t.onPostProcess.add(function(ed, o) { + if (o.set) + o.content = t.execCallback('cleanup_callback', 'insert_to_editor', o.content, o); + + if (o.get) + o.content = t.execCallback('cleanup_callback', 'get_from_editor', o.content, o); + }); + } + + if (s.save_callback) { + t.onGetContent.add(function(ed, o) { + if (o.save) + o.content = t.execCallback('save_callback', t.id, o.content, t.getBody()); + }); + } + + if (s.handle_event_callback) { + t.onEvent.add(function(ed, e, o) { + if (t.execCallback('handle_event_callback', e, ed, o) === false) + Event.cancel(e); + }); + } + + // Add visual aids when new contents is added + t.onSetContent.add(function() { + t.addVisual(t.getBody()); + }); + + // Remove empty contents + if (s.padd_empty_editor) { + t.onPostProcess.add(function(ed, o) { + o.content = o.content.replace(/^(<p[^>]*>( | |\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/, ''); + }); + } + + if (isGecko) { + // Fix gecko link bug, when a link is placed at the end of block elements there is + // no way to move the caret behind the link. This fix adds a bogus br element after the link + function fixLinks(ed, o) { + each(ed.dom.select('a'), function(n) { + var pn = n.parentNode; + + if (ed.dom.isBlock(pn) && pn.lastChild === n) + ed.dom.add(pn, 'br', {'data-mce-bogus' : 1}); + }); + }; + + t.onExecCommand.add(function(ed, cmd) { + if (cmd === 'CreateLink') + fixLinks(ed); + }); + + t.onSetContent.add(t.selection.onSetContent.add(fixLinks)); + } + + t.load({initial : true, format : 'html'}); + t.startContent = t.getContent({format : 'raw'}); + t.undoManager.add(); + t.initialized = true; + + t.onInit.dispatch(t); + t.execCallback('setupcontent_callback', t.id, t.getBody(), t.getDoc()); + t.execCallback('init_instance_callback', t); + t.focus(true); + t.nodeChanged({initial : 1}); + + // Load specified content CSS last + each(t.contentCSS, function(u) { + t.dom.loadCSS(u); + }); + + // Handle auto focus + if (s.auto_focus) { + setTimeout(function () { + var ed = tinymce.get(s.auto_focus); + + ed.selection.select(ed.getBody(), 1); + ed.selection.collapse(1); + ed.getBody().focus(); + ed.getWin().focus(); + }, 100); + } + + e = null; + }, + + + focus : function(sf) { + var oed, t = this, selection = t.selection, ce = t.settings.content_editable, ieRng, controlElm, doc = t.getDoc(); + + if (!sf) { + // Get selected control element + ieRng = selection.getRng(); + if (ieRng.item) { + controlElm = ieRng.item(0); + } + + selection.normalize(); + + // Is not content editable + if (!ce) + t.getWin().focus(); + + // Focus the body as well since it's contentEditable + if (tinymce.isGecko) { + t.getBody().focus(); + } + + // Restore selected control element + // This is needed when for example an image is selected within a + // layer a call to focus will then remove the control selection + if (controlElm && controlElm.ownerDocument == doc) { + ieRng = doc.body.createControlRange(); + ieRng.addElement(controlElm); + ieRng.select(); + } + + } + + if (tinymce.activeEditor != t) { + if ((oed = tinymce.activeEditor) != null) + oed.onDeactivate.dispatch(oed, t); + + t.onActivate.dispatch(t, oed); + } + + tinymce._setActive(t); + }, + + execCallback : function(n) { + var t = this, f = t.settings[n], s; + + if (!f) + return; + + // Look through lookup + if (t.callbackLookup && (s = t.callbackLookup[n])) { + f = s.func; + s = s.scope; + } + + if (is(f, 'string')) { + s = f.replace(/\.\w+$/, ''); + s = s ? tinymce.resolve(s) : 0; + f = tinymce.resolve(f); + t.callbackLookup = t.callbackLookup || {}; + t.callbackLookup[n] = {func : f, scope : s}; + } + + return f.apply(s || t, Array.prototype.slice.call(arguments, 1)); + }, + + translate : function(s) { + var c = this.settings.language || 'en', i18n = tinymce.i18n; + + if (!s) + return ''; + + return i18n[c + '.' + s] || s.replace(/{\#([^}]+)\}/g, function(a, b) { + return i18n[c + '.' + b] || '{#' + b + '}'; + }); + }, + + getLang : function(n, dv) { + return tinymce.i18n[(this.settings.language || 'en') + '.' + n] || (is(dv) ? dv : '{#' + n + '}'); + }, + + getParam : function(n, dv, ty) { + var tr = tinymce.trim, v = is(this.settings[n]) ? this.settings[n] : dv, o; + + if (ty === 'hash') { + o = {}; + + if (is(v, 'string')) { + each(v.indexOf('=') > 0 ? v.split(/[;,](?![^=;,]*(?:[;,]|$))/) : v.split(','), function(v) { + v = v.split('='); + + if (v.length > 1) + o[tr(v[0])] = tr(v[1]); + else + o[tr(v[0])] = tr(v); + }); + } else + o = v; + + return o; + } + + return v; + }, + + nodeChanged : function(o) { + var t = this, s = t.selection, n = s.getStart() || t.getBody(); + + // Fix for bug #1896577 it seems that this can not be fired while the editor is loading + if (t.initialized) { + o = o || {}; + n = isIE && n.ownerDocument != t.getDoc() ? t.getBody() : n; // Fix for IE initial state + + // Get parents and add them to object + o.parents = []; + t.dom.getParent(n, function(node) { + if (node.nodeName == 'BODY') + return true; + + o.parents.push(node); + }); + + t.onNodeChange.dispatch( + t, + o ? o.controlManager || t.controlManager : t.controlManager, + n, + s.isCollapsed(), + o + ); + } + }, + + addButton : function(n, s) { + var t = this; + + t.buttons = t.buttons || {}; + t.buttons[n] = s; + }, + + addCommand : function(name, callback, scope) { + this.execCommands[name] = {func : callback, scope : scope || this}; + }, + + addQueryStateHandler : function(name, callback, scope) { + this.queryStateCommands[name] = {func : callback, scope : scope || this}; + }, + + addQueryValueHandler : function(name, callback, scope) { + this.queryValueCommands[name] = {func : callback, scope : scope || this}; + }, + + addShortcut : function(pa, desc, cmd_func, sc) { + var t = this, c; + + if (!t.settings.custom_shortcuts) + return false; + + t.shortcuts = t.shortcuts || {}; + + if (is(cmd_func, 'string')) { + c = cmd_func; + + cmd_func = function() { + t.execCommand(c, false, null); + }; + } + + if (is(cmd_func, 'object')) { + c = cmd_func; + + cmd_func = function() { + t.execCommand(c[0], c[1], c[2]); + }; + } + + each(explode(pa), function(pa) { + var o = { + func : cmd_func, + scope : sc || this, + desc : desc, + alt : false, + ctrl : false, + shift : false + }; + + each(explode(pa, '+'), function(v) { + switch (v) { + case 'alt': + case 'ctrl': + case 'shift': + o[v] = true; + break; + + default: + o.charCode = v.charCodeAt(0); + o.keyCode = v.toUpperCase().charCodeAt(0); + } + }); + + t.shortcuts[(o.ctrl ? 'ctrl' : '') + ',' + (o.alt ? 'alt' : '') + ',' + (o.shift ? 'shift' : '') + ',' + o.keyCode] = o; + }); + + return true; + }, + + execCommand : function(cmd, ui, val, a) { + var t = this, s = 0, o, st; + + if (!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(cmd) && (!a || !a.skip_focus)) + t.focus(); + + o = {}; + t.onBeforeExecCommand.dispatch(t, cmd, ui, val, o); + if (o.terminate) + return false; + + // Command callback + if (t.execCallback('execcommand_callback', t.id, t.selection.getNode(), cmd, ui, val)) { + t.onExecCommand.dispatch(t, cmd, ui, val, a); + return true; + } + + // Registred commands + if (o = t.execCommands[cmd]) { + st = o.func.call(o.scope, ui, val); + + // Fall through on true + if (st !== true) { + t.onExecCommand.dispatch(t, cmd, ui, val, a); + return st; + } + } + + // Plugin commands + each(t.plugins, function(p) { + if (p.execCommand && p.execCommand(cmd, ui, val)) { + t.onExecCommand.dispatch(t, cmd, ui, val, a); + s = 1; + return false; + } + }); + + if (s) + return true; + + // Theme commands + if (t.theme && t.theme.execCommand && t.theme.execCommand(cmd, ui, val)) { + t.onExecCommand.dispatch(t, cmd, ui, val, a); + return true; + } + + // Editor commands + if (t.editorCommands.execCommand(cmd, ui, val)) { + t.onExecCommand.dispatch(t, cmd, ui, val, a); + return true; + } + + // Browser commands + t.getDoc().execCommand(cmd, ui, val); + t.onExecCommand.dispatch(t, cmd, ui, val, a); + }, + + queryCommandState : function(cmd) { + var t = this, o, s; + + // Is hidden then return undefined + if (t._isHidden()) + return; + + // Registred commands + if (o = t.queryStateCommands[cmd]) { + s = o.func.call(o.scope); + + // Fall though on true + if (s !== true) + return s; + } + + // Registred commands + o = t.editorCommands.queryCommandState(cmd); + if (o !== -1) + return o; + + // Browser commands + try { + return this.getDoc().queryCommandState(cmd); + } catch (ex) { + // Fails sometimes see bug: 1896577 + } + }, + + queryCommandValue : function(c) { + var t = this, o, s; + + // Is hidden then return undefined + if (t._isHidden()) + return; + + // Registred commands + if (o = t.queryValueCommands[c]) { + s = o.func.call(o.scope); + + // Fall though on true + if (s !== true) + return s; + } + + // Registred commands + o = t.editorCommands.queryCommandValue(c); + if (is(o)) + return o; + + // Browser commands + try { + return this.getDoc().queryCommandValue(c); + } catch (ex) { + // Fails sometimes see bug: 1896577 + } + }, + + show : function() { + var t = this; + + DOM.show(t.getContainer()); + DOM.hide(t.id); + t.load(); + }, + + hide : function() { + var t = this, d = t.getDoc(); + + // Fixed bug where IE has a blinking cursor left from the editor + if (isIE && d) + d.execCommand('SelectAll'); + + // We must save before we hide so Safari doesn't crash + t.save(); + DOM.hide(t.getContainer()); + DOM.setStyle(t.id, 'display', t.orgDisplay); + }, + + isHidden : function() { + return !DOM.isHidden(this.id); + }, + + setProgressState : function(b, ti, o) { + this.onSetProgressState.dispatch(this, b, ti, o); + + return b; + }, + + load : function(o) { + var t = this, e = t.getElement(), h; + + if (e) { + o = o || {}; + o.load = true; + + // Double encode existing entities in the value + h = t.setContent(is(e.value) ? e.value : e.innerHTML, o); + o.element = e; + + if (!o.no_events) + t.onLoadContent.dispatch(t, o); + + o.element = e = null; + + return h; + } + }, + + save : function(o) { + var t = this, e = t.getElement(), h, f; + + if (!e || !t.initialized) + return; + + o = o || {}; + o.save = true; + + // Add undo level will trigger onchange event + if (!o.no_events) { + t.undoManager.typing = false; + t.undoManager.add(); + } + + o.element = e; + h = o.content = t.getContent(o); + + if (!o.no_events) + t.onSaveContent.dispatch(t, o); + + h = o.content; + + if (!/TEXTAREA|INPUT/i.test(e.nodeName)) { + e.innerHTML = h; + + // Update hidden form element + if (f = DOM.getParent(t.id, 'form')) { + each(f.elements, function(e) { + if (e.name == t.id) { + e.value = h; + return false; + } + }); + } + } else + e.value = h; + + o.element = e = null; + + return h; + }, + + setContent : function(content, args) { + var self = this, rootNode, body = self.getBody(), forcedRootBlockName; + + // Setup args object + args = args || {}; + args.format = args.format || 'html'; + args.set = true; + args.content = content; + + // Do preprocessing + if (!args.no_events) + self.onBeforeSetContent.dispatch(self, args); + + content = args.content; + + // Padd empty content in Gecko and Safari. Commands will otherwise fail on the content + // It will also be impossible to place the caret in the editor unless there is a BR element present + if (!tinymce.isIE && (content.length === 0 || /^\s+$/.test(content))) { + forcedRootBlockName = self.settings.forced_root_block; + if (forcedRootBlockName) + content = '<' + forcedRootBlockName + '><br data-mce-bogus="1"></' + forcedRootBlockName + '>'; + else + content = '<br data-mce-bogus="1">'; + + body.innerHTML = content; + self.selection.select(body, true); + self.selection.collapse(true); + return; + } + + // Parse and serialize the html + if (args.format !== 'raw') { + content = new tinymce.html.Serializer({}, self.schema).serialize( + self.parser.parse(content) + ); + } + + // Set the new cleaned contents to the editor + args.content = tinymce.trim(content); + self.dom.setHTML(body, args.content); + + // Do post processing + if (!args.no_events) + self.onSetContent.dispatch(self, args); + + self.selection.normalize(); + + return args.content; + }, + + getContent : function(args) { + var self = this, content; + + // Setup args object + args = args || {}; + args.format = args.format || 'html'; + args.get = true; + + // Do preprocessing + if (!args.no_events) + self.onBeforeGetContent.dispatch(self, args); + + // Get raw contents or by default the cleaned contents + if (args.format == 'raw') + content = self.getBody().innerHTML; + else + content = self.serializer.serialize(self.getBody(), args); + + args.content = tinymce.trim(content); + + // Do post processing + if (!args.no_events) + self.onGetContent.dispatch(self, args); + + return args.content; + }, + + isDirty : function() { + var self = this; + + return tinymce.trim(self.startContent) != tinymce.trim(self.getContent({format : 'raw', no_events : 1})) && !self.isNotDirty; + }, + + getContainer : function() { + var t = this; + + if (!t.container) + t.container = DOM.get(t.editorContainer || t.id + '_parent'); + + return t.container; + }, + + getContentAreaContainer : function() { + return this.contentAreaContainer; + }, + + getElement : function() { + return DOM.get(this.settings.content_element || this.id); + }, + + getWin : function() { + var t = this, e; + + if (!t.contentWindow) { + e = DOM.get(t.id + "_ifr"); + + if (e) + t.contentWindow = e.contentWindow; + } + + return t.contentWindow; + }, + + getDoc : function() { + var t = this, w; + + if (!t.contentDocument) { + w = t.getWin(); + + if (w) + t.contentDocument = w.document; + } + + return t.contentDocument; + }, + + getBody : function() { + return this.bodyElement || this.getDoc().body; + }, + + convertURL : function(u, n, e) { + var t = this, s = t.settings; + + // Use callback instead + if (s.urlconverter_callback) + return t.execCallback('urlconverter_callback', u, e, true, n); + + // Don't convert link href since thats the CSS files that gets loaded into the editor also skip local file URLs + if (!s.convert_urls || (e && e.nodeName == 'LINK') || u.indexOf('file:') === 0) + return u; + + // Convert to relative + if (s.relative_urls) + return t.documentBaseURI.toRelative(u); + + // Convert to absolute + u = t.documentBaseURI.toAbsolute(u, s.remove_script_host); + + return u; + }, + + addVisual : function(e) { + var t = this, s = t.settings; + + e = e || t.getBody(); + + if (!is(t.hasVisual)) + t.hasVisual = s.visual; + + each(t.dom.select('table,a', e), function(e) { + var v; + + switch (e.nodeName) { + case 'TABLE': + v = t.dom.getAttrib(e, 'border'); + + if (!v || v == '0') { + if (t.hasVisual) + t.dom.addClass(e, s.visual_table_class); + else + t.dom.removeClass(e, s.visual_table_class); + } + + return; + + case 'A': + v = t.dom.getAttrib(e, 'name'); + + if (v) { + if (t.hasVisual) + t.dom.addClass(e, 'mceItemAnchor'); + else + t.dom.removeClass(e, 'mceItemAnchor'); + } + + return; + } + }); + + t.onVisualAid.dispatch(t, e, t.hasVisual); + }, + + remove : function() { + var t = this, e = t.getContainer(); + + t.removed = 1; // Cancels post remove event execution + t.hide(); + + t.execCallback('remove_instance_callback', t); + t.onRemove.dispatch(t); + + // Clear all execCommand listeners this is required to avoid errors if the editor was removed inside another command + t.onExecCommand.listeners = []; + + tinymce.remove(t); + DOM.remove(e); + }, + + destroy : function(s) { + var t = this; + + // One time is enough + if (t.destroyed) + return; + + if (!s) { + tinymce.removeUnload(t.destroy); + tinyMCE.onBeforeUnload.remove(t._beforeUnload); + + // Manual destroy + if (t.theme && t.theme.destroy) + t.theme.destroy(); + + // Destroy controls, selection and dom + t.controlManager.destroy(); + t.selection.destroy(); + t.dom.destroy(); + + // Remove all events + + // Don't clear the window or document if content editable + // is enabled since other instances might still be present + if (!t.settings.content_editable) { + Event.clear(t.getWin()); + Event.clear(t.getDoc()); + } + + Event.clear(t.getBody()); + Event.clear(t.formElement); + } + + if (t.formElement) { + t.formElement.submit = t.formElement._mceOldSubmit; + t.formElement._mceOldSubmit = null; + } + + t.contentAreaContainer = t.formElement = t.container = t.settings.content_element = t.bodyElement = t.contentDocument = t.contentWindow = null; + + if (t.selection) + t.selection = t.selection.win = t.selection.dom = t.selection.dom.doc = null; + + t.destroyed = 1; + }, + + // Internal functions + + _addEvents : function() { + // 'focus', 'blur', 'dblclick', 'beforedeactivate', submit, reset + var t = this, i, s = t.settings, dom = t.dom, lo = { + mouseup : 'onMouseUp', + mousedown : 'onMouseDown', + click : 'onClick', + keyup : 'onKeyUp', + keydown : 'onKeyDown', + keypress : 'onKeyPress', + submit : 'onSubmit', + reset : 'onReset', + contextmenu : 'onContextMenu', + dblclick : 'onDblClick', + paste : 'onPaste' // Doesn't work in all browsers yet + }; + + function eventHandler(e, o) { + var ty = e.type; + + // Don't fire events when it's removed + if (t.removed) + return; + + // Generic event handler + if (t.onEvent.dispatch(t, e, o) !== false) { + // Specific event handler + t[lo[e.fakeType || e.type]].dispatch(t, e, o); + } + }; + + // Add DOM events + each(lo, function(v, k) { + switch (k) { + case 'contextmenu': + dom.bind(t.getDoc(), k, eventHandler); + break; + + case 'paste': + dom.bind(t.getBody(), k, function(e) { + eventHandler(e); + }); + break; + + case 'submit': + case 'reset': + dom.bind(t.getElement().form || DOM.getParent(t.id, 'form'), k, eventHandler); + break; + + default: + dom.bind(s.content_editable ? t.getBody() : t.getDoc(), k, eventHandler); + } + }); + + dom.bind(s.content_editable ? t.getBody() : (isGecko ? t.getDoc() : t.getWin()), 'focus', function(e) { + t.focus(true); + }); + + + // Fixes bug where a specified document_base_uri could result in broken images + // This will also fix drag drop of images in Gecko + if (tinymce.isGecko) { + dom.bind(t.getDoc(), 'DOMNodeInserted', function(e) { + var v; + + e = e.target; + + if (e.nodeType === 1 && e.nodeName === 'IMG' && (v = e.getAttribute('data-mce-src'))) + e.src = t.documentBaseURI.toAbsolute(v); + }); + } + + // Set various midas options in Gecko + if (isGecko) { + function setOpts() { + var t = this, d = t.getDoc(), s = t.settings; + + if (isGecko && !s.readonly) { + if (t._isHidden()) { + try { + if (!s.content_editable) { + d.body.contentEditable = false; + d.body.contentEditable = true; + } + } catch (ex) { + // Fails if it's hidden + } + } + + try { + // Try new Gecko method + d.execCommand("styleWithCSS", 0, false); + } catch (ex) { + // Use old method + if (!t._isHidden()) + try {d.execCommand("useCSS", 0, true);} catch (ex) {} + } + + if (!s.table_inline_editing) + try {d.execCommand('enableInlineTableEditing', false, false);} catch (ex) {} + + if (!s.object_resizing) + try {d.execCommand('enableObjectResizing', false, false);} catch (ex) {} + } + }; + + t.onBeforeExecCommand.add(setOpts); + t.onMouseDown.add(setOpts); + } + + t.onClick.add(function(ed, e) { + e = e.target; + + // Workaround for bug, http://bugs.webkit.org/show_bug.cgi?id=12250 + // WebKit can't even do simple things like selecting an image + // Needs tobe the setBaseAndExtend or it will fail to select floated images + if (tinymce.isWebKit && e.nodeName == 'IMG') + t.selection.getSel().setBaseAndExtent(e, 0, e, 1); + + if (e.nodeName == 'A' && dom.hasClass(e, 'mceItemAnchor')) + t.selection.select(e); + + t.nodeChanged(); + }); + + // Add node change handlers + t.onMouseUp.add(t.nodeChanged); + //t.onClick.add(t.nodeChanged); + t.onKeyUp.add(function(ed, e) { + var c = e.keyCode; + + if ((c >= 33 && c <= 36) || (c >= 37 && c <= 40) || c == 13 || c == 45 || c == 46 || c == 8 || (tinymce.isMac && (c == 91 || c == 93)) || e.ctrlKey) + t.nodeChanged(); + }); + + + // Add block quote deletion handler + t.onKeyDown.add(function(ed, e) { + // Was the BACKSPACE key pressed? + if (e.keyCode != 8) + return; + + var n = ed.selection.getRng().startContainer; + var offset = ed.selection.getRng().startOffset; + + while (n && n.nodeType && n.nodeType != 1 && n.parentNode) + n = n.parentNode; + + // Is the cursor at the beginning of a blockquote? + if (n && n.parentNode && n.parentNode.tagName === 'BLOCKQUOTE' && n.parentNode.firstChild == n && offset == 0) { + // Remove the blockquote + ed.formatter.toggle('blockquote', null, n.parentNode); + + // Move the caret to the beginning of n + var rng = ed.selection.getRng(); + rng.setStart(n, 0); + rng.setEnd(n, 0); + ed.selection.setRng(rng); + ed.selection.collapse(false); + } + }); + + + + // Add reset handler + t.onReset.add(function() { + t.setContent(t.startContent, {format : 'raw'}); + }); + + // Add shortcuts + if (s.custom_shortcuts) { + if (s.custom_undo_redo_keyboard_shortcuts) { + t.addShortcut('ctrl+z', t.getLang('undo_desc'), 'Undo'); + t.addShortcut('ctrl+y', t.getLang('redo_desc'), 'Redo'); + } + + // Add default shortcuts for gecko + t.addShortcut('ctrl+b', t.getLang('bold_desc'), 'Bold'); + t.addShortcut('ctrl+i', t.getLang('italic_desc'), 'Italic'); + t.addShortcut('ctrl+u', t.getLang('underline_desc'), 'Underline'); + + // BlockFormat shortcuts keys + for (i=1; i<=6; i++) + t.addShortcut('ctrl+' + i, '', ['FormatBlock', false, 'h' + i]); + + t.addShortcut('ctrl+7', '', ['FormatBlock', false, 'p']); + t.addShortcut('ctrl+8', '', ['FormatBlock', false, 'div']); + t.addShortcut('ctrl+9', '', ['FormatBlock', false, 'address']); + + function find(e) { + var v = null; + + if (!e.altKey && !e.ctrlKey && !e.metaKey) + return v; + + each(t.shortcuts, function(o) { + if (tinymce.isMac && o.ctrl != e.metaKey) + return; + else if (!tinymce.isMac && o.ctrl != e.ctrlKey) + return; + + if (o.alt != e.altKey) + return; + + if (o.shift != e.shiftKey) + return; + + if (e.keyCode == o.keyCode || (e.charCode && e.charCode == o.charCode)) { + v = o; + return false; + } + }); + + return v; + }; + + t.onKeyUp.add(function(ed, e) { + var o = find(e); + + if (o) + return Event.cancel(e); + }); + + t.onKeyPress.add(function(ed, e) { + var o = find(e); + + if (o) + return Event.cancel(e); + }); + + t.onKeyDown.add(function(ed, e) { + var o = find(e); + + if (o) { + o.func.call(o.scope); + return Event.cancel(e); + } + }); + } + + if (tinymce.isIE) { + // Fix so resize will only update the width and height attributes not the styles of an image + // It will also block mceItemNoResize items + dom.bind(t.getDoc(), 'controlselect', function(e) { + var re = t.resizeInfo, cb; + + e = e.target; + + // Don't do this action for non image elements + if (e.nodeName !== 'IMG') + return; + + if (re) + dom.unbind(re.node, re.ev, re.cb); + + if (!dom.hasClass(e, 'mceItemNoResize')) { + ev = 'resizeend'; + cb = dom.bind(e, ev, function(e) { + var v; + + e = e.target; + + if (v = dom.getStyle(e, 'width')) { + dom.setAttrib(e, 'width', v.replace(/[^0-9%]+/g, '')); + dom.setStyle(e, 'width', ''); + } + + if (v = dom.getStyle(e, 'height')) { + dom.setAttrib(e, 'height', v.replace(/[^0-9%]+/g, '')); + dom.setStyle(e, 'height', ''); + } + }); + } else { + ev = 'resizestart'; + cb = dom.bind(e, 'resizestart', Event.cancel, Event); + } + + re = t.resizeInfo = { + node : e, + ev : ev, + cb : cb + }; + }); + } + + if (tinymce.isOpera) { + t.onClick.add(function(ed, e) { + Event.prevent(e); + }); + } + + // Add custom undo/redo handlers + if (s.custom_undo_redo) { + function addUndo() { + t.undoManager.typing = false; + t.undoManager.add(); + }; + + dom.bind(t.getDoc(), 'focusout', function(e) { + if (!t.removed && t.undoManager.typing) + addUndo(); + }); + + // Add undo level when contents is drag/dropped within the editor + t.dom.bind(t.dom.getRoot(), 'dragend', function(e) { + addUndo(); + }); + + t.onKeyUp.add(function(ed, e) { + var keyCode = e.keyCode; + + if ((keyCode >= 33 && keyCode <= 36) || (keyCode >= 37 && keyCode <= 40) || keyCode == 13 || keyCode == 45 || e.ctrlKey) + addUndo(); + }); + + t.onKeyDown.add(function(ed, e) { + var keyCode = e.keyCode, sel; + + if (keyCode == 8) { + sel = t.getDoc().selection; + + // Fix IE control + backspace browser bug + if (sel && sel.createRange && sel.createRange().item) { + t.undoManager.beforeChange(); + ed.dom.remove(sel.createRange().item(0)); + addUndo(); + + return Event.cancel(e); + } + } + + // Is caracter positon keys left,right,up,down,home,end,pgdown,pgup,enter + if ((keyCode >= 33 && keyCode <= 36) || (keyCode >= 37 && keyCode <= 40) || keyCode == 13 || keyCode == 45) { + // Add position before enter key is pressed, used by IE since it still uses the default browser behavior + // Todo: Remove this once we normalize enter behavior on IE + if (tinymce.isIE && keyCode == 13) + t.undoManager.beforeChange(); + + if (t.undoManager.typing) + addUndo(); + + return; + } + + // If key isn't shift,ctrl,alt,capslock,metakey + if ((keyCode < 16 || keyCode > 20) && keyCode != 224 && keyCode != 91 && !t.undoManager.typing) { + t.undoManager.beforeChange(); + t.undoManager.typing = true; + t.undoManager.add(); + } + }); + + t.onMouseDown.add(function() { + if (t.undoManager.typing) + addUndo(); + }); + } + + // Fire a nodeChanged when the selection is changed on WebKit this fixes selection issues on iOS5 + // It only fires the nodeChange event every 50ms since it would other wise update the UI when you type and it hogs the CPU + if (tinymce.isWebKit) { + dom.bind(t.getDoc(), 'selectionchange', function() { + if (t.selectionTimer) { + window.clearTimeout(t.selectionTimer); + t.selectionTimer = 0; + } + + t.selectionTimer = window.setTimeout(function() { + t.nodeChanged(); + }, 50); + }); + } + + // Bug fix for FireFox keeping styles from end of selection instead of start. + if (tinymce.isGecko) { + function getAttributeApplyFunction() { + var template = t.dom.getAttribs(t.selection.getStart().cloneNode(false)); + + return function() { + var target = t.selection.getStart(); + + if (target !== t.getBody()) { + t.dom.removeAllAttribs(target); + + each(template, function(attr) { + target.setAttributeNode(attr.cloneNode(true)); + }); + } + }; + } + + function isSelectionAcrossElements() { + var s = t.selection; + + return !s.isCollapsed() && s.getStart() != s.getEnd(); + } + + t.onKeyPress.add(function(ed, e) { + var applyAttributes; + + if ((e.keyCode == 8 || e.keyCode == 46) && isSelectionAcrossElements()) { + applyAttributes = getAttributeApplyFunction(); + t.getDoc().execCommand('delete', false, null); + applyAttributes(); + + return Event.cancel(e); + } + }); + + t.dom.bind(t.getDoc(), 'cut', function(e) { + var applyAttributes; + + if (isSelectionAcrossElements()) { + applyAttributes = getAttributeApplyFunction(); + t.onKeyUp.addToTop(Event.cancel, Event); + + setTimeout(function() { + applyAttributes(); + t.onKeyUp.remove(Event.cancel, Event); + }, 0); + } + }); + } + }, + + _isHidden : function() { + var s; + + if (!isGecko) + return 0; + + // Weird, wheres that cursor selection? + s = this.selection.getSel(); + return (!s || !s.rangeCount || s.rangeCount == 0); + } + }); +})(tinymce); + +(function(tinymce) { + // Added for compression purposes + var each = tinymce.each, undefined, TRUE = true, FALSE = false; + + tinymce.EditorCommands = function(editor) { + var dom = editor.dom, + selection = editor.selection, + commands = {state: {}, exec : {}, value : {}}, + settings = editor.settings, + bookmark; + + function execCommand(command, ui, value) { + var func; + + command = command.toLowerCase(); + if (func = commands.exec[command]) { + func(command, ui, value); + return TRUE; + } + + return FALSE; + }; + + function queryCommandState(command) { + var func; + + command = command.toLowerCase(); + if (func = commands.state[command]) + return func(command); + + return -1; + }; + + function queryCommandValue(command) { + var func; + + command = command.toLowerCase(); + if (func = commands.value[command]) + return func(command); + + return FALSE; + }; + + function addCommands(command_list, type) { + type = type || 'exec'; + + each(command_list, function(callback, command) { + each(command.toLowerCase().split(','), function(command) { + commands[type][command] = callback; + }); + }); + }; + + // Expose public methods + tinymce.extend(this, { + execCommand : execCommand, + queryCommandState : queryCommandState, + queryCommandValue : queryCommandValue, + addCommands : addCommands + }); + + // Private methods + + function execNativeCommand(command, ui, value) { + if (ui === undefined) + ui = FALSE; + + if (value === undefined) + value = null; + + return editor.getDoc().execCommand(command, ui, value); + }; + + function isFormatMatch(name) { + return editor.formatter.match(name); + }; + + function toggleFormat(name, value) { + editor.formatter.toggle(name, value ? {value : value} : undefined); + }; + + function storeSelection(type) { + bookmark = selection.getBookmark(type); + }; + + function restoreSelection() { + selection.moveToBookmark(bookmark); + }; + + // Add execCommand overrides + addCommands({ + // Ignore these, added for compatibility + 'mceResetDesignMode,mceBeginUndoLevel' : function() {}, + + // Add undo manager logic + 'mceEndUndoLevel,mceAddUndoLevel' : function() { + editor.undoManager.add(); + }, + + 'Cut,Copy,Paste' : function(command) { + var doc = editor.getDoc(), failed; + + // Try executing the native command + try { + execNativeCommand(command); + } catch (ex) { + // Command failed + failed = TRUE; + } + + // Present alert message about clipboard access not being available + if (failed || !doc.queryCommandSupported(command)) { + if (tinymce.isGecko) { + editor.windowManager.confirm(editor.getLang('clipboard_msg'), function(state) { + if (state) + open('http://www.mozilla.org/editor/midasdemo/securityprefs.html', '_blank'); + }); + } else + editor.windowManager.alert(editor.getLang('clipboard_no_support')); + } + }, + + // Override unlink command + unlink : function(command) { + if (selection.isCollapsed()) + selection.select(selection.getNode()); + + execNativeCommand(command); + selection.collapse(FALSE); + }, + + // Override justify commands to use the text formatter engine + 'JustifyLeft,JustifyCenter,JustifyRight,JustifyFull' : function(command) { + var align = command.substring(7); + + // Remove all other alignments first + each('left,center,right,full'.split(','), function(name) { + if (align != name) + editor.formatter.remove('align' + name); + }); + + toggleFormat('align' + align); + execCommand('mceRepaint'); + }, + + // Override list commands to fix WebKit bug + 'InsertUnorderedList,InsertOrderedList' : function(command) { + var listElm, listParent; + + execNativeCommand(command); + + // WebKit produces lists within block elements so we need to split them + // we will replace the native list creation logic to custom logic later on + // TODO: Remove this when the list creation logic is removed + listElm = dom.getParent(selection.getNode(), 'ol,ul'); + if (listElm) { + listParent = listElm.parentNode; + + // If list is within a text block then split that block + if (/^(H[1-6]|P|ADDRESS|PRE)$/.test(listParent.nodeName)) { + storeSelection(); + dom.split(listParent, listElm); + restoreSelection(); + } + } + }, + + // Override commands to use the text formatter engine + 'Bold,Italic,Underline,Strikethrough,Superscript,Subscript' : function(command) { + toggleFormat(command); + }, + + // Override commands to use the text formatter engine + 'ForeColor,HiliteColor,FontName' : function(command, ui, value) { + toggleFormat(command, value); + }, + + FontSize : function(command, ui, value) { + var fontClasses, fontSizes; + + // Convert font size 1-7 to styles + if (value >= 1 && value <= 7) { + fontSizes = tinymce.explode(settings.font_size_style_values); + fontClasses = tinymce.explode(settings.font_size_classes); + + if (fontClasses) + value = fontClasses[value - 1] || value; + else + value = fontSizes[value - 1] || value; + } + + toggleFormat(command, value); + }, + + RemoveFormat : function(command) { + editor.formatter.remove(command); + }, + + mceBlockQuote : function(command) { + toggleFormat('blockquote'); + }, + + FormatBlock : function(command, ui, value) { + return toggleFormat(value || 'p'); + }, + + mceCleanup : function() { + var bookmark = selection.getBookmark(); + + editor.setContent(editor.getContent({cleanup : TRUE}), {cleanup : TRUE}); + + selection.moveToBookmark(bookmark); + }, + + mceRemoveNode : function(command, ui, value) { + var node = value || selection.getNode(); + + // Make sure that the body node isn't removed + if (node != editor.getBody()) { + storeSelection(); + editor.dom.remove(node, TRUE); + restoreSelection(); + } + }, + + mceSelectNodeDepth : function(command, ui, value) { + var counter = 0; + + dom.getParent(selection.getNode(), function(node) { + if (node.nodeType == 1 && counter++ == value) { + selection.select(node); + return FALSE; + } + }, editor.getBody()); + }, + + mceSelectNode : function(command, ui, value) { + selection.select(value); + }, + + mceInsertContent : function(command, ui, value) { + var parser, serializer, parentNode, rootNode, fragment, args, + marker, nodeRect, viewPortRect, rng, node, node2, bookmarkHtml, viewportBodyElement; + + // Setup parser and serializer + parser = editor.parser; + serializer = new tinymce.html.Serializer({}, editor.schema); + bookmarkHtml = '<span id="mce_marker" data-mce-type="bookmark">\uFEFF</span>'; + + // Run beforeSetContent handlers on the HTML to be inserted + args = {content: value, format: 'html'}; + selection.onBeforeSetContent.dispatch(selection, args); + value = args.content; + + // Add caret at end of contents if it's missing + if (value.indexOf('{$caret}') == -1) + value += '{$caret}'; + + // Replace the caret marker with a span bookmark element + value = value.replace(/\{\$caret\}/, bookmarkHtml); + + // Insert node maker where we will insert the new HTML and get it's parent + if (!selection.isCollapsed()) + editor.getDoc().execCommand('Delete', false, null); + + parentNode = selection.getNode(); + + // Parse the fragment within the context of the parent node + args = {context : parentNode.nodeName.toLowerCase()}; + fragment = parser.parse(value, args); + + // Move the caret to a more suitable location + node = fragment.lastChild; + if (node.attr('id') == 'mce_marker') { + marker = node; + + for (node = node.prev; node; node = node.walk(true)) { + if (node.type == 3 || !dom.isBlock(node.name)) { + node.parent.insert(marker, node, node.name === 'br'); + break; + } + } + } + + // If parser says valid we can insert the contents into that parent + if (!args.invalid) { + value = serializer.serialize(fragment); + + // Check if parent is empty or only has one BR element then set the innerHTML of that parent + node = parentNode.firstChild; + node2 = parentNode.lastChild; + if (!node || (node === node2 && node.nodeName === 'BR')) + dom.setHTML(parentNode, value); + else + selection.setContent(value); + } else { + // If the fragment was invalid within that context then we need + // to parse and process the parent it's inserted into + + // Insert bookmark node and get the parent + selection.setContent(bookmarkHtml); + parentNode = editor.selection.getNode(); + rootNode = editor.getBody(); + + // Opera will return the document node when selection is in root + if (parentNode.nodeType == 9) + parentNode = node = rootNode; + else + node = parentNode; + + // Find the ancestor just before the root element + while (node !== rootNode) { + parentNode = node; + node = node.parentNode; + } + + // Get the outer/inner HTML depending on if we are in the root and parser and serialize that + value = parentNode == rootNode ? rootNode.innerHTML : dom.getOuterHTML(parentNode); + value = serializer.serialize( + parser.parse( + // Need to replace by using a function since $ in the contents would otherwise be a problem + value.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i, function() { + return serializer.serialize(fragment); + }) + ) + ); + + // Set the inner/outer HTML depending on if we are in the root or not + if (parentNode == rootNode) + dom.setHTML(rootNode, value); + else + dom.setOuterHTML(parentNode, value); + } + + marker = dom.get('mce_marker'); + + // Scroll range into view scrollIntoView on element can't be used since it will scroll the main view port as well + nodeRect = dom.getRect(marker); + viewPortRect = dom.getViewPort(editor.getWin()); + + // Check if node is out side the viewport if it is then scroll to it + if ((nodeRect.y + nodeRect.h > viewPortRect.y + viewPortRect.h || nodeRect.y < viewPortRect.y) || + (nodeRect.x > viewPortRect.x + viewPortRect.w || nodeRect.x < viewPortRect.x)) { + viewportBodyElement = tinymce.isIE ? editor.getDoc().documentElement : editor.getBody(); + viewportBodyElement.scrollLeft = nodeRect.x; + viewportBodyElement.scrollTop = nodeRect.y - viewPortRect.h + 25; + } + + // Move selection before marker and remove it + rng = dom.createRng(); + + // If previous sibling is a text node set the selection to the end of that node + node = marker.previousSibling; + if (node && node.nodeType == 3) { + rng.setStart(node, node.nodeValue.length); + } else { + // If the previous sibling isn't a text node or doesn't exist set the selection before the marker node + rng.setStartBefore(marker); + rng.setEndBefore(marker); + } + + // Remove the marker node and set the new range + dom.remove(marker); + selection.setRng(rng); + + // Dispatch after event and add any visual elements needed + selection.onSetContent.dispatch(selection, args); + editor.addVisual(); + }, + + mceInsertRawHTML : function(command, ui, value) { + selection.setContent('tiny_mce_marker'); + editor.setContent(editor.getContent().replace(/tiny_mce_marker/g, function() { return value })); + }, + + mceSetContent : function(command, ui, value) { + editor.setContent(value); + }, + + 'Indent,Outdent' : function(command) { + var intentValue, indentUnit, value; + + // Setup indent level + intentValue = settings.indentation; + indentUnit = /[a-z%]+$/i.exec(intentValue); + intentValue = parseInt(intentValue); + + if (!queryCommandState('InsertUnorderedList') && !queryCommandState('InsertOrderedList')) { + each(selection.getSelectedBlocks(), function(element) { + if (command == 'outdent') { + value = Math.max(0, parseInt(element.style.paddingLeft || 0) - intentValue); + dom.setStyle(element, 'paddingLeft', value ? value + indentUnit : ''); + } else + dom.setStyle(element, 'paddingLeft', (parseInt(element.style.paddingLeft || 0) + intentValue) + indentUnit); + }); + } else + execNativeCommand(command); + }, + + mceRepaint : function() { + var bookmark; + + if (tinymce.isGecko) { + try { + storeSelection(TRUE); + + if (selection.getSel()) + selection.getSel().selectAllChildren(editor.getBody()); + + selection.collapse(TRUE); + restoreSelection(); + } catch (ex) { + // Ignore + } + } + }, + + mceToggleFormat : function(command, ui, value) { + editor.formatter.toggle(value); + }, + + InsertHorizontalRule : function() { + editor.execCommand('mceInsertContent', false, '<hr />'); + }, + + mceToggleVisualAid : function() { + editor.hasVisual = !editor.hasVisual; + editor.addVisual(); + }, + + mceReplaceContent : function(command, ui, value) { + editor.execCommand('mceInsertContent', false, value.replace(/\{\$selection\}/g, selection.getContent({format : 'text'}))); + }, + + mceInsertLink : function(command, ui, value) { + var link = dom.getParent(selection.getNode(), 'a'), img, style, cls; + + if (tinymce.is(value, 'string')) + value = {href : value}; + + // Spaces are never valid in URLs and it's a very common mistake for people to make so we fix it here. + value.href = value.href.replace(' ', '%20'); + + if (!link) { + // WebKit can't create links on floated images for some odd reason + // So, just remove styles and restore it later + if (tinymce.isWebKit) { + img = dom.getParent(selection.getNode(), 'img'); + + if (img) { + style = img.style.cssText; + cls = img.className; + img.style.cssText = null; + img.className = null; + } + } + + execNativeCommand('CreateLink', FALSE, 'javascript:mctmp(0);'); + + // Restore styles + if (style) + img.style.cssText = style; + if (cls) + img.className = cls; + + each(dom.select("a[href='javascript:mctmp(0);']"), function(link) { + dom.setAttribs(link, value); + }); + } else { + if (value.href) + dom.setAttribs(link, value); + else + editor.dom.remove(link, TRUE); + } + }, + + selectAll : function() { + var root = dom.getRoot(), rng = dom.createRng(); + + rng.setStart(root, 0); + rng.setEnd(root, root.childNodes.length); + + editor.selection.setRng(rng); + } + }); + + // Add queryCommandState overrides + addCommands({ + // Override justify commands + 'JustifyLeft,JustifyCenter,JustifyRight,JustifyFull' : function(command) { + return isFormatMatch('align' + command.substring(7)); + }, + + 'Bold,Italic,Underline,Strikethrough,Superscript,Subscript' : function(command) { + return isFormatMatch(command); + }, + + mceBlockQuote : function() { + return isFormatMatch('blockquote'); + }, + + Outdent : function() { + var node; + + if (settings.inline_styles) { + if ((node = dom.getParent(selection.getStart(), dom.isBlock)) && parseInt(node.style.paddingLeft) > 0) + return TRUE; + + if ((node = dom.getParent(selection.getEnd(), dom.isBlock)) && parseInt(node.style.paddingLeft) > 0) + return TRUE; + } + + return queryCommandState('InsertUnorderedList') || queryCommandState('InsertOrderedList') || (!settings.inline_styles && !!dom.getParent(selection.getNode(), 'BLOCKQUOTE')); + }, + + 'InsertUnorderedList,InsertOrderedList' : function(command) { + return dom.getParent(selection.getNode(), command == 'insertunorderedlist' ? 'UL' : 'OL'); + } + }, 'state'); + + // Add queryCommandValue overrides + addCommands({ + 'FontSize,FontName' : function(command) { + var value = 0, parent; + + if (parent = dom.getParent(selection.getNode(), 'span')) { + if (command == 'fontsize') + value = parent.style.fontSize; + else + value = parent.style.fontFamily.replace(/, /g, ',').replace(/[\'\"]/g, '').toLowerCase(); + } + + return value; + } + }, 'value'); + + // Add undo manager logic + if (settings.custom_undo_redo) { + addCommands({ + Undo : function() { + editor.undoManager.undo(); + }, + + Redo : function() { + editor.undoManager.redo(); + } + }); + } + }; +})(tinymce); + +(function(tinymce) { + var Dispatcher = tinymce.util.Dispatcher; + + tinymce.UndoManager = function(editor) { + var self, index = 0, data = [], beforeBookmark; + + function getContent() { + return tinymce.trim(editor.getContent({format : 'raw', no_events : 1})); + }; + + return self = { + typing : false, + + onAdd : new Dispatcher(self), + + onUndo : new Dispatcher(self), + + onRedo : new Dispatcher(self), + + beforeChange : function() { + beforeBookmark = editor.selection.getBookmark(2, true); + }, + + add : function(level) { + var i, settings = editor.settings, lastLevel; + + level = level || {}; + level.content = getContent(); + + // Add undo level if needed + lastLevel = data[index]; + if (lastLevel && lastLevel.content == level.content) + return null; + + // Set before bookmark on previous level + if (data[index]) + data[index].beforeBookmark = beforeBookmark; + + // Time to compress + if (settings.custom_undo_redo_levels) { + if (data.length > settings.custom_undo_redo_levels) { + for (i = 0; i < data.length - 1; i++) + data[i] = data[i + 1]; + + data.length--; + index = data.length; + } + } + + // Get a non intrusive normalized bookmark + level.bookmark = editor.selection.getBookmark(2, true); + + // Crop array if needed + if (index < data.length - 1) + data.length = index + 1; + + data.push(level); + index = data.length - 1; + + self.onAdd.dispatch(self, level); + editor.isNotDirty = 0; + + return level; + }, + + undo : function() { + var level, i; + + if (self.typing) { + self.add(); + self.typing = false; + } + + if (index > 0) { + level = data[--index]; + + editor.setContent(level.content, {format : 'raw'}); + editor.selection.moveToBookmark(level.beforeBookmark); + + self.onUndo.dispatch(self, level); + } + + return level; + }, + + redo : function() { + var level; + + if (index < data.length - 1) { + level = data[++index]; + + editor.setContent(level.content, {format : 'raw'}); + editor.selection.moveToBookmark(level.bookmark); + + self.onRedo.dispatch(self, level); + } + + return level; + }, + + clear : function() { + data = []; + index = 0; + self.typing = false; + }, + + hasUndo : function() { + return index > 0 || this.typing; + }, + + hasRedo : function() { + return index < data.length - 1 && !this.typing; + } + }; + }; +})(tinymce); + +(function(tinymce) { + // Shorten names + var Event = tinymce.dom.Event, + isIE = tinymce.isIE, + isGecko = tinymce.isGecko, + isOpera = tinymce.isOpera, + each = tinymce.each, + extend = tinymce.extend, + TRUE = true, + FALSE = false; + + function cloneFormats(node) { + var clone, temp, inner; + + do { + if (/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(node.nodeName)) { + if (clone) { + temp = node.cloneNode(false); + temp.appendChild(clone); + clone = temp; + } else { + clone = inner = node.cloneNode(false); + } + + clone.removeAttribute('id'); + } + } while (node = node.parentNode); + + if (clone) + return {wrapper : clone, inner : inner}; + }; + + // Checks if the selection/caret is at the end of the specified block element + function isAtEnd(rng, par) { + var rng2 = par.ownerDocument.createRange(); + + rng2.setStart(rng.endContainer, rng.endOffset); + rng2.setEndAfter(par); + + // Get number of characters to the right of the cursor if it's zero then we are at the end and need to merge the next block element + return rng2.cloneContents().textContent.length == 0; + }; + + function splitList(selection, dom, li) { + var listBlock, block; + + if (dom.isEmpty(li)) { + listBlock = dom.getParent(li, 'ul,ol'); + + if (!dom.getParent(listBlock.parentNode, 'ul,ol')) { + dom.split(listBlock, li); + block = dom.create('p', 0, '<br data-mce-bogus="1" />'); + dom.replace(block, li); + selection.select(block, 1); + } + + return FALSE; + } + + return TRUE; + }; + + tinymce.create('tinymce.ForceBlocks', { + ForceBlocks : function(ed) { + var t = this, s = ed.settings, elm; + + t.editor = ed; + t.dom = ed.dom; + elm = (s.forced_root_block || 'p').toLowerCase(); + s.element = elm.toUpperCase(); + + ed.onPreInit.add(t.setup, t); + }, + + setup : function() { + var t = this, ed = t.editor, s = ed.settings, dom = ed.dom, selection = ed.selection, blockElements = ed.schema.getBlockElements(); + + // Force root blocks + if (s.forced_root_block) { + function addRootBlocks() { + var node = selection.getStart(), rootNode = ed.getBody(), rng, startContainer, startOffset, endContainer, endOffset, rootBlockNode, tempNode, offset = -0xFFFFFF; + + if (!node || node.nodeType !== 1) + return; + + // Check if node is wrapped in block + while (node != rootNode) { + if (blockElements[node.nodeName]) + return; + + node = node.parentNode; + } + + // Get current selection + rng = selection.getRng(); + if (rng.setStart) { + startContainer = rng.startContainer; + startOffset = rng.startOffset; + endContainer = rng.endContainer; + endOffset = rng.endOffset; + } else { + // Force control range into text range + if (rng.item) { + rng = ed.getDoc().body.createTextRange(); + rng.moveToElementText(rng.item(0)); + } + + tmpRng = rng.duplicate(); + tmpRng.collapse(true); + startOffset = tmpRng.move('character', offset) * -1; + + if (!tmpRng.collapsed) { + tmpRng = rng.duplicate(); + tmpRng.collapse(false); + endOffset = (tmpRng.move('character', offset) * -1) - startOffset; + } + } + + // Wrap non block elements and text nodes + for (node = rootNode.firstChild; node; node) { + if (node.nodeType === 3 || (node.nodeType == 1 && !blockElements[node.nodeName])) { + if (!rootBlockNode) { + rootBlockNode = dom.create(s.forced_root_block); + node.parentNode.insertBefore(rootBlockNode, node); + } + + tempNode = node; + node = node.nextSibling; + rootBlockNode.appendChild(tempNode); + } else { + rootBlockNode = null; + node = node.nextSibling; + } + } + + if (rng.setStart) { + rng.setStart(startContainer, startOffset); + rng.setEnd(endContainer, endOffset); + selection.setRng(rng); + } else { + try { + rng = ed.getDoc().body.createTextRange(); + rng.moveToElementText(rootNode); + rng.collapse(true); + rng.moveStart('character', startOffset); + + if (endOffset > 0) + rng.moveEnd('character', endOffset); + + rng.select(); + } catch (ex) { + // Ignore + } + } + + ed.nodeChanged(); + }; + + ed.onKeyUp.add(addRootBlocks); + ed.onClick.add(addRootBlocks); + } + + if (s.force_br_newlines) { + // Force IE to produce BRs on enter + if (isIE) { + ed.onKeyPress.add(function(ed, e) { + var n; + + if (e.keyCode == 13 && selection.getNode().nodeName != 'LI') { + selection.setContent('<br id="__" /> ', {format : 'raw'}); + n = dom.get('__'); + n.removeAttribute('id'); + selection.select(n); + selection.collapse(); + return Event.cancel(e); + } + }); + } + } + + if (s.force_p_newlines) { + if (!isIE) { + ed.onKeyPress.add(function(ed, e) { + if (e.keyCode == 13 && !e.shiftKey && !t.insertPara(e)) + Event.cancel(e); + }); + } else { + // Ungly hack to for IE to preserve the formatting when you press + // enter at the end of a block element with formatted contents + // This logic overrides the browsers default logic with + // custom logic that enables us to control the output + tinymce.addUnload(function() { + t._previousFormats = 0; // Fix IE leak + }); + + ed.onKeyPress.add(function(ed, e) { + t._previousFormats = 0; + + // Clone the current formats, this will later be applied to the new block contents + if (e.keyCode == 13 && !e.shiftKey && ed.selection.isCollapsed() && s.keep_styles) + t._previousFormats = cloneFormats(ed.selection.getStart()); + }); + + ed.onKeyUp.add(function(ed, e) { + // Let IE break the element and the wrap the new caret location in the previous formats + if (e.keyCode == 13 && !e.shiftKey) { + var parent = ed.selection.getStart(), fmt = t._previousFormats; + + // Parent is an empty block + if (!parent.hasChildNodes() && fmt) { + parent = dom.getParent(parent, dom.isBlock); + + if (parent && parent.nodeName != 'LI') { + parent.innerHTML = ''; + + if (t._previousFormats) { + parent.appendChild(fmt.wrapper); + fmt.inner.innerHTML = '\uFEFF'; + } else + parent.innerHTML = '\uFEFF'; + + selection.select(parent, 1); + selection.collapse(true); + ed.getDoc().execCommand('Delete', false, null); + t._previousFormats = 0; + } + } + } + }); + } + + if (isGecko) { + ed.onKeyDown.add(function(ed, e) { + if ((e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) + t.backspaceDelete(e, e.keyCode == 8); + }); + } + } + + // Workaround for missing shift+enter support, http://bugs.webkit.org/show_bug.cgi?id=16973 + if (tinymce.isWebKit) { + function insertBr(ed) { + var rng = selection.getRng(), br, div = dom.create('div', null, ' '), divYPos, vpHeight = dom.getViewPort(ed.getWin()).h; + + // Insert BR element + rng.insertNode(br = dom.create('br')); + + // Place caret after BR + rng.setStartAfter(br); + rng.setEndAfter(br); + selection.setRng(rng); + + // Could not place caret after BR then insert an nbsp entity and move the caret + if (selection.getSel().focusNode == br.previousSibling) { + selection.select(dom.insertAfter(dom.doc.createTextNode('\u00a0'), br)); + selection.collapse(TRUE); + } + + // Create a temporary DIV after the BR and get the position as it + // seems like getPos() returns 0 for text nodes and BR elements. + dom.insertAfter(div, br); + divYPos = dom.getPos(div).y; + dom.remove(div); + + // Scroll to new position, scrollIntoView can't be used due to bug: http://bugs.webkit.org/show_bug.cgi?id=16117 + if (divYPos > vpHeight) // It is not necessary to scroll if the DIV is inside the view port. + ed.getWin().scrollTo(0, divYPos); + }; + + ed.onKeyPress.add(function(ed, e) { + if (e.keyCode == 13 && (e.shiftKey || (s.force_br_newlines && !dom.getParent(selection.getNode(), 'h1,h2,h3,h4,h5,h6,ol,ul')))) { + insertBr(ed); + Event.cancel(e); + } + }); + } + + // IE specific fixes + if (isIE) { + // Replaces IE:s auto generated paragraphs with the specified element name + if (s.element != 'P') { + ed.onKeyPress.add(function(ed, e) { + t.lastElm = selection.getNode().nodeName; + }); + + ed.onKeyUp.add(function(ed, e) { + var bl, n = selection.getNode(), b = ed.getBody(); + + if (b.childNodes.length === 1 && n.nodeName == 'P') { + n = dom.rename(n, s.element); + selection.select(n); + selection.collapse(); + ed.nodeChanged(); + } else if (e.keyCode == 13 && !e.shiftKey && t.lastElm != 'P') { + bl = dom.getParent(n, 'p'); + + if (bl) { + dom.rename(bl, s.element); + ed.nodeChanged(); + } + } + }); + } + } + }, + + getParentBlock : function(n) { + var d = this.dom; + + return d.getParent(n, d.isBlock); + }, + + insertPara : function(e) { + var t = this, ed = t.editor, dom = ed.dom, d = ed.getDoc(), se = ed.settings, s = ed.selection.getSel(), r = s.getRangeAt(0), b = d.body; + var rb, ra, dir, sn, so, en, eo, sb, eb, bn, bef, aft, sc, ec, n, vp = dom.getViewPort(ed.getWin()), y, ch, car; + + ed.undoManager.beforeChange(); + + // If root blocks are forced then use Operas default behavior since it's really good +// Removed due to bug: #1853816 +// if (se.forced_root_block && isOpera) +// return TRUE; + + // Setup before range + rb = d.createRange(); + + // If is before the first block element and in body, then move it into first block element + rb.setStart(s.anchorNode, s.anchorOffset); + rb.collapse(TRUE); + + // Setup after range + ra = d.createRange(); + + // If is before the first block element and in body, then move it into first block element + ra.setStart(s.focusNode, s.focusOffset); + ra.collapse(TRUE); + + // Setup start/end points + dir = rb.compareBoundaryPoints(rb.START_TO_END, ra) < 0; + sn = dir ? s.anchorNode : s.focusNode; + so = dir ? s.anchorOffset : s.focusOffset; + en = dir ? s.focusNode : s.anchorNode; + eo = dir ? s.focusOffset : s.anchorOffset; + + // If selection is in empty table cell + if (sn === en && /^(TD|TH)$/.test(sn.nodeName)) { + if (sn.firstChild.nodeName == 'BR') + dom.remove(sn.firstChild); // Remove BR + + // Create two new block elements + if (sn.childNodes.length == 0) { + ed.dom.add(sn, se.element, null, '<br />'); + aft = ed.dom.add(sn, se.element, null, '<br />'); + } else { + n = sn.innerHTML; + sn.innerHTML = ''; + ed.dom.add(sn, se.element, null, n); + aft = ed.dom.add(sn, se.element, null, '<br />'); + } + + // Move caret into the last one + r = d.createRange(); + r.selectNodeContents(aft); + r.collapse(1); + ed.selection.setRng(r); + + return FALSE; + } + + // If the caret is in an invalid location in FF we need to move it into the first block + if (sn == b && en == b && b.firstChild && ed.dom.isBlock(b.firstChild)) { + sn = en = sn.firstChild; + so = eo = 0; + rb = d.createRange(); + rb.setStart(sn, 0); + ra = d.createRange(); + ra.setStart(en, 0); + } + + // Never use body as start or end node + sn = sn.nodeName == "HTML" ? d.body : sn; // Fix for Opera bug: https://bugs.opera.com/show_bug.cgi?id=273224&comments=yes + sn = sn.nodeName == "BODY" ? sn.firstChild : sn; + en = en.nodeName == "HTML" ? d.body : en; // Fix for Opera bug: https://bugs.opera.com/show_bug.cgi?id=273224&comments=yes + en = en.nodeName == "BODY" ? en.firstChild : en; + + // Get start and end blocks + sb = t.getParentBlock(sn); + eb = t.getParentBlock(en); + bn = sb ? sb.nodeName : se.element; // Get block name to create + + // Return inside list use default browser behavior + if (n = t.dom.getParent(sb, 'li,pre')) { + if (n.nodeName == 'LI') + return splitList(ed.selection, t.dom, n); + + return TRUE; + } + + // If caption or absolute layers then always generate new blocks within + if (sb && (sb.nodeName == 'CAPTION' || /absolute|relative|fixed/gi.test(dom.getStyle(sb, 'position', 1)))) { + bn = se.element; + sb = null; + } + + // If caption or absolute layers then always generate new blocks within + if (eb && (eb.nodeName == 'CAPTION' || /absolute|relative|fixed/gi.test(dom.getStyle(sb, 'position', 1)))) { + bn = se.element; + eb = null; + } + + // Use P instead + if (/(TD|TABLE|TH|CAPTION)/.test(bn) || (sb && bn == "DIV" && /left|right/gi.test(dom.getStyle(sb, 'float', 1)))) { + bn = se.element; + sb = eb = null; + } + + // Setup new before and after blocks + bef = (sb && sb.nodeName == bn) ? sb.cloneNode(0) : ed.dom.create(bn); + aft = (eb && eb.nodeName == bn) ? eb.cloneNode(0) : ed.dom.create(bn); + + // Remove id from after clone + aft.removeAttribute('id'); + + // Is header and cursor is at the end, then force paragraph under + if (/^(H[1-6])$/.test(bn) && isAtEnd(r, sb)) + aft = ed.dom.create(se.element); + + // Find start chop node + n = sc = sn; + do { + if (n == b || n.nodeType == 9 || t.dom.isBlock(n) || /(TD|TABLE|TH|CAPTION)/.test(n.nodeName)) + break; + + sc = n; + } while ((n = n.previousSibling ? n.previousSibling : n.parentNode)); + + // Find end chop node + n = ec = en; + do { + if (n == b || n.nodeType == 9 || t.dom.isBlock(n) || /(TD|TABLE|TH|CAPTION)/.test(n.nodeName)) + break; + + ec = n; + } while ((n = n.nextSibling ? n.nextSibling : n.parentNode)); + + // Place first chop part into before block element + if (sc.nodeName == bn) + rb.setStart(sc, 0); + else + rb.setStartBefore(sc); + + rb.setEnd(sn, so); + bef.appendChild(rb.cloneContents() || d.createTextNode('')); // Empty text node needed for Safari + + // Place secnd chop part within new block element + try { + ra.setEndAfter(ec); + } catch(ex) { + //console.debug(s.focusNode, s.focusOffset); + } + + ra.setStart(en, eo); + aft.appendChild(ra.cloneContents() || d.createTextNode('')); // Empty text node needed for Safari + + // Create range around everything + r = d.createRange(); + if (!sc.previousSibling && sc.parentNode.nodeName == bn) { + r.setStartBefore(sc.parentNode); + } else { + if (rb.startContainer.nodeName == bn && rb.startOffset == 0) + r.setStartBefore(rb.startContainer); + else + r.setStart(rb.startContainer, rb.startOffset); + } + + if (!ec.nextSibling && ec.parentNode.nodeName == bn) + r.setEndAfter(ec.parentNode); + else + r.setEnd(ra.endContainer, ra.endOffset); + + // Delete and replace it with new block elements + r.deleteContents(); + + if (isOpera) + ed.getWin().scrollTo(0, vp.y); + + // Never wrap blocks in blocks + if (bef.firstChild && bef.firstChild.nodeName == bn) + bef.innerHTML = bef.firstChild.innerHTML; + + if (aft.firstChild && aft.firstChild.nodeName == bn) + aft.innerHTML = aft.firstChild.innerHTML; + + function appendStyles(e, en) { + var nl = [], nn, n, i; + + e.innerHTML = ''; + + // Make clones of style elements + if (se.keep_styles) { + n = en; + do { + // We only want style specific elements + if (/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(n.nodeName)) { + nn = n.cloneNode(FALSE); + dom.setAttrib(nn, 'id', ''); // Remove ID since it needs to be unique + nl.push(nn); + } + } while (n = n.parentNode); + } + + // Append style elements to aft + if (nl.length > 0) { + for (i = nl.length - 1, nn = e; i >= 0; i--) + nn = nn.appendChild(nl[i]); + + // Padd most inner style element + nl[0].innerHTML = isOpera ? '\u00a0' : '<br />'; // Extra space for Opera so that the caret can move there + return nl[0]; // Move caret to most inner element + } else + e.innerHTML = isOpera ? '\u00a0' : '<br />'; // Extra space for Opera so that the caret can move there + }; + + // Padd empty blocks + if (dom.isEmpty(bef)) + appendStyles(bef, sn); + + // Fill empty afterblook with current style + if (dom.isEmpty(aft)) + car = appendStyles(aft, en); + + // Opera needs this one backwards for older versions + if (isOpera && parseFloat(opera.version()) < 9.5) { + r.insertNode(bef); + r.insertNode(aft); + } else { + r.insertNode(aft); + r.insertNode(bef); + } + + // Normalize + aft.normalize(); + bef.normalize(); + + // Move cursor and scroll into view + ed.selection.select(aft, true); + ed.selection.collapse(true); + + // scrollIntoView seems to scroll the parent window in most browsers now including FF 3.0b4 so it's time to stop using it and do it our selfs + y = ed.dom.getPos(aft).y; + //ch = aft.clientHeight; + + // Is element within viewport + if (y < vp.y || y + 25 > vp.y + vp.h) { + ed.getWin().scrollTo(0, y < vp.y ? y : y - vp.h + 25); // Needs to be hardcoded to roughly one line of text if a huge text block is broken into two blocks + + /*console.debug( + 'Element: y=' + y + ', h=' + ch + ', ' + + 'Viewport: y=' + vp.y + ", h=" + vp.h + ', bottom=' + (vp.y + vp.h) + );*/ + } + + ed.undoManager.add(); + + return FALSE; + }, + + backspaceDelete : function(e, bs) { + var t = this, ed = t.editor, b = ed.getBody(), dom = ed.dom, n, se = ed.selection, r = se.getRng(), sc = r.startContainer, n, w, tn, walker; + + // Delete when caret is behind a element doesn't work correctly on Gecko see #3011651 + if (!bs && r.collapsed && sc.nodeType == 1 && r.startOffset == sc.childNodes.length) { + walker = new tinymce.dom.TreeWalker(sc.lastChild, sc); + + // Walk the dom backwards until we find a text node + for (n = sc.lastChild; n; n = walker.prev()) { + if (n.nodeType == 3) { + r.setStart(n, n.nodeValue.length); + r.collapse(true); + se.setRng(r); + return; + } + } + } + + // The caret sometimes gets stuck in Gecko if you delete empty paragraphs + // This workaround removes the element by hand and moves the caret to the previous element + if (sc && ed.dom.isBlock(sc) && !/^(TD|TH)$/.test(sc.nodeName) && bs) { + if (sc.childNodes.length == 0 || (sc.childNodes.length == 1 && sc.firstChild.nodeName == 'BR')) { + // Find previous block element + n = sc; + while ((n = n.previousSibling) && !ed.dom.isBlock(n)) ; + + if (n) { + if (sc != b.firstChild) { + // Find last text node + w = ed.dom.doc.createTreeWalker(n, NodeFilter.SHOW_TEXT, null, FALSE); + while (tn = w.nextNode()) + n = tn; + + // Place caret at the end of last text node + r = ed.getDoc().createRange(); + r.setStart(n, n.nodeValue ? n.nodeValue.length : 0); + r.setEnd(n, n.nodeValue ? n.nodeValue.length : 0); + se.setRng(r); + + // Remove the target container + ed.dom.remove(sc); + } + + return Event.cancel(e); + } + } + } + } + }); +})(tinymce); + +(function(tinymce) { + // Shorten names + var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, extend = tinymce.extend; + + tinymce.create('tinymce.ControlManager', { + ControlManager : function(ed, s) { + var t = this, i; + + s = s || {}; + t.editor = ed; + t.controls = {}; + t.onAdd = new tinymce.util.Dispatcher(t); + t.onPostRender = new tinymce.util.Dispatcher(t); + t.prefix = s.prefix || ed.id + '_'; + t._cls = {}; + + t.onPostRender.add(function() { + each(t.controls, function(c) { + c.postRender(); + }); + }); + }, + + get : function(id) { + return this.controls[this.prefix + id] || this.controls[id]; + }, + + setActive : function(id, s) { + var c = null; + + if (c = this.get(id)) + c.setActive(s); + + return c; + }, + + setDisabled : function(id, s) { + var c = null; + + if (c = this.get(id)) + c.setDisabled(s); + + return c; + }, + + add : function(c) { + var t = this; + + if (c) { + t.controls[c.id] = c; + t.onAdd.dispatch(c, t); + } + + return c; + }, + + createControl : function(n) { + var c, t = this, ed = t.editor; + + each(ed.plugins, function(p) { + if (p.createControl) { + c = p.createControl(n, t); + + if (c) + return false; + } + }); + + switch (n) { + case "|": + case "separator": + return t.createSeparator(); + } + + if (!c && ed.buttons && (c = ed.buttons[n])) + return t.createButton(n, c); + + return t.add(c); + }, + + createDropMenu : function(id, s, cc) { + var t = this, ed = t.editor, c, bm, v, cls; + + s = extend({ + 'class' : 'mceDropDown', + constrain : ed.settings.constrain_menus + }, s); + + s['class'] = s['class'] + ' ' + ed.getParam('skin') + 'Skin'; + if (v = ed.getParam('skin_variant')) + s['class'] += ' ' + ed.getParam('skin') + 'Skin' + v.substring(0, 1).toUpperCase() + v.substring(1); + + id = t.prefix + id; + cls = cc || t._cls.dropmenu || tinymce.ui.DropMenu; + c = t.controls[id] = new cls(id, s); + c.onAddItem.add(function(c, o) { + var s = o.settings; + + s.title = ed.getLang(s.title, s.title); + + if (!s.onclick) { + s.onclick = function(v) { + if (s.cmd) + ed.execCommand(s.cmd, s.ui || false, s.value); + }; + } + }); + + ed.onRemove.add(function() { + c.destroy(); + }); + + // Fix for bug #1897785, #1898007 + if (tinymce.isIE) { + c.onShowMenu.add(function() { + // IE 8 needs focus in order to store away a range with the current collapsed caret location + ed.focus(); + + bm = ed.selection.getBookmark(1); + }); + + c.onHideMenu.add(function() { + if (bm) { + ed.selection.moveToBookmark(bm); + bm = 0; + } + }); + } + + return t.add(c); + }, + + createListBox : function(id, s, cc) { + var t = this, ed = t.editor, cmd, c, cls; + + if (t.get(id)) + return null; + + s.title = ed.translate(s.title); + s.scope = s.scope || ed; + + if (!s.onselect) { + s.onselect = function(v) { + ed.execCommand(s.cmd, s.ui || false, v || s.value); + }; + } + + s = extend({ + title : s.title, + 'class' : 'mce_' + id, + scope : s.scope, + control_manager : t + }, s); + + id = t.prefix + id; + + if (ed.settings.use_native_selects) + c = new tinymce.ui.NativeListBox(id, s); + else { + cls = cc || t._cls.listbox || tinymce.ui.ListBox; + c = new cls(id, s, ed); + } + + t.controls[id] = c; + + // Fix focus problem in Safari + if (tinymce.isWebKit) { + c.onPostRender.add(function(c, n) { + // Store bookmark on mousedown + Event.add(n, 'mousedown', function() { + ed.bookmark = ed.selection.getBookmark(1); + }); + + // Restore on focus, since it might be lost + Event.add(n, 'focus', function() { + ed.selection.moveToBookmark(ed.bookmark); + ed.bookmark = null; + }); + }); + } + + if (c.hideMenu) + ed.onMouseDown.add(c.hideMenu, c); + + return t.add(c); + }, + + createButton : function(id, s, cc) { + var t = this, ed = t.editor, o, c, cls; + + if (t.get(id)) + return null; + + s.title = ed.translate(s.title); + s.label = ed.translate(s.label); + s.scope = s.scope || ed; + + if (!s.onclick && !s.menu_button) { + s.onclick = function() { + ed.execCommand(s.cmd, s.ui || false, s.value); + }; + } + + s = extend({ + title : s.title, + 'class' : 'mce_' + id, + unavailable_prefix : ed.getLang('unavailable', ''), + scope : s.scope, + control_manager : t + }, s); + + id = t.prefix + id; + + if (s.menu_button) { + cls = cc || t._cls.menubutton || tinymce.ui.MenuButton; + c = new cls(id, s, ed); + ed.onMouseDown.add(c.hideMenu, c); + } else { + cls = t._cls.button || tinymce.ui.Button; + c = new cls(id, s, ed); + } + + return t.add(c); + }, + + createMenuButton : function(id, s, cc) { + s = s || {}; + s.menu_button = 1; + + return this.createButton(id, s, cc); + }, + + createSplitButton : function(id, s, cc) { + var t = this, ed = t.editor, cmd, c, cls; + + if (t.get(id)) + return null; + + s.title = ed.translate(s.title); + s.scope = s.scope || ed; + + if (!s.onclick) { + s.onclick = function(v) { + ed.execCommand(s.cmd, s.ui || false, v || s.value); + }; + } + + if (!s.onselect) { + s.onselect = function(v) { + ed.execCommand(s.cmd, s.ui || false, v || s.value); + }; + } + + s = extend({ + title : s.title, + 'class' : 'mce_' + id, + scope : s.scope, + control_manager : t + }, s); + + id = t.prefix + id; + cls = cc || t._cls.splitbutton || tinymce.ui.SplitButton; + c = t.add(new cls(id, s, ed)); + ed.onMouseDown.add(c.hideMenu, c); + + return c; + }, + + createColorSplitButton : function(id, s, cc) { + var t = this, ed = t.editor, cmd, c, cls, bm; + + if (t.get(id)) + return null; + + s.title = ed.translate(s.title); + s.scope = s.scope || ed; + + if (!s.onclick) { + s.onclick = function(v) { + if (tinymce.isIE) + bm = ed.selection.getBookmark(1); + + ed.execCommand(s.cmd, s.ui || false, v || s.value); + }; + } + + if (!s.onselect) { + s.onselect = function(v) { + ed.execCommand(s.cmd, s.ui || false, v || s.value); + }; + } + + s = extend({ + title : s.title, + 'class' : 'mce_' + id, + 'menu_class' : ed.getParam('skin') + 'Skin', + scope : s.scope, + more_colors_title : ed.getLang('more_colors') + }, s); + + id = t.prefix + id; + cls = cc || t._cls.colorsplitbutton || tinymce.ui.ColorSplitButton; + c = new cls(id, s, ed); + ed.onMouseDown.add(c.hideMenu, c); + + // Remove the menu element when the editor is removed + ed.onRemove.add(function() { + c.destroy(); + }); + + // Fix for bug #1897785, #1898007 + if (tinymce.isIE) { + c.onShowMenu.add(function() { + // IE 8 needs focus in order to store away a range with the current collapsed caret location + ed.focus(); + bm = ed.selection.getBookmark(1); + }); + + c.onHideMenu.add(function() { + if (bm) { + ed.selection.moveToBookmark(bm); + bm = 0; + } + }); + } + + return t.add(c); + }, + + createToolbar : function(id, s, cc) { + var c, t = this, cls; + + id = t.prefix + id; + cls = cc || t._cls.toolbar || tinymce.ui.Toolbar; + c = new cls(id, s, t.editor); + + if (t.get(id)) + return null; + + return t.add(c); + }, + + createToolbarGroup : function(id, s, cc) { + var c, t = this, cls; + id = t.prefix + id; + cls = cc || this._cls.toolbarGroup || tinymce.ui.ToolbarGroup; + c = new cls(id, s, t.editor); + + if (t.get(id)) + return null; + + return t.add(c); + }, + + createSeparator : function(cc) { + var cls = cc || this._cls.separator || tinymce.ui.Separator; + + return new cls(); + }, + + setControlType : function(n, c) { + return this._cls[n.toLowerCase()] = c; + }, + + destroy : function() { + each(this.controls, function(c) { + c.destroy(); + }); + + this.controls = null; + } + }); +})(tinymce); + +(function(tinymce) { + var Dispatcher = tinymce.util.Dispatcher, each = tinymce.each, isIE = tinymce.isIE, isOpera = tinymce.isOpera; + + tinymce.create('tinymce.WindowManager', { + WindowManager : function(ed) { + var t = this; + + t.editor = ed; + t.onOpen = new Dispatcher(t); + t.onClose = new Dispatcher(t); + t.params = {}; + t.features = {}; + }, + + open : function(s, p) { + var t = this, f = '', x, y, mo = t.editor.settings.dialog_type == 'modal', w, sw, sh, vp = tinymce.DOM.getViewPort(), u; + + // Default some options + s = s || {}; + p = p || {}; + sw = isOpera ? vp.w : screen.width; // Opera uses windows inside the Opera window + sh = isOpera ? vp.h : screen.height; + s.name = s.name || 'mc_' + new Date().getTime(); + s.width = parseInt(s.width || 320); + s.height = parseInt(s.height || 240); + s.resizable = true; + s.left = s.left || parseInt(sw / 2.0) - (s.width / 2.0); + s.top = s.top || parseInt(sh / 2.0) - (s.height / 2.0); + p.inline = false; + p.mce_width = s.width; + p.mce_height = s.height; + p.mce_auto_focus = s.auto_focus; + + if (mo) { + if (isIE) { + s.center = true; + s.help = false; + s.dialogWidth = s.width + 'px'; + s.dialogHeight = s.height + 'px'; + s.scroll = s.scrollbars || false; + } + } + + // Build features string + each(s, function(v, k) { + if (tinymce.is(v, 'boolean')) + v = v ? 'yes' : 'no'; + + if (!/^(name|url)$/.test(k)) { + if (isIE && mo) + f += (f ? ';' : '') + k + ':' + v; + else + f += (f ? ',' : '') + k + '=' + v; + } + }); + + t.features = s; + t.params = p; + t.onOpen.dispatch(t, s, p); + + u = s.url || s.file; + u = tinymce._addVer(u); + + try { + if (isIE && mo) { + w = 1; + window.showModalDialog(u, window, f); + } else + w = window.open(u, s.name, f); + } catch (ex) { + // Ignore + } + + if (!w) + alert(t.editor.getLang('popup_blocked')); + }, + + close : function(w) { + w.close(); + this.onClose.dispatch(this); + }, + + createInstance : function(cl, a, b, c, d, e) { + var f = tinymce.resolve(cl); + + return new f(a, b, c, d, e); + }, + + confirm : function(t, cb, s, w) { + w = w || window; + + cb.call(s || this, w.confirm(this._decode(this.editor.getLang(t, t)))); + }, + + alert : function(tx, cb, s, w) { + var t = this; + + w = w || window; + w.alert(t._decode(t.editor.getLang(tx, tx))); + + if (cb) + cb.call(s || t); + }, + + resizeBy : function(dw, dh, win) { + win.resizeBy(dw, dh); + }, + + // Internal functions + + _decode : function(s) { + return tinymce.DOM.decode(s).replace(/\\n/g, '\n'); + } + }); +}(tinymce)); +(function(tinymce) { + tinymce.Formatter = function(ed) { + var formats = {}, + each = tinymce.each, + dom = ed.dom, + selection = ed.selection, + TreeWalker = tinymce.dom.TreeWalker, + rangeUtils = new tinymce.dom.RangeUtils(dom), + isValid = ed.schema.isValidChild, + isBlock = dom.isBlock, + forcedRootBlock = ed.settings.forced_root_block, + nodeIndex = dom.nodeIndex, + INVISIBLE_CHAR = '\uFEFF', + MCE_ATTR_RE = /^(src|href|style)$/, + FALSE = false, + TRUE = true, + undefined, + pendingFormats = {apply : [], remove : []}; + + function isArray(obj) { + return obj instanceof Array; + }; + + function getParents(node, selector) { + return dom.getParents(node, selector, dom.getRoot()); + }; + + function isCaretNode(node) { + return node.nodeType === 1 && (node.face === 'mceinline' || node.style.fontFamily === 'mceinline'); + }; + + // Public functions + + function get(name) { + return name ? formats[name] : formats; + }; + + function register(name, format) { + if (name) { + if (typeof(name) !== 'string') { + each(name, function(format, name) { + register(name, format); + }); + } else { + // Force format into array and add it to internal collection + format = format.length ? format : [format]; + + each(format, function(format) { + // Set deep to false by default on selector formats this to avoid removing + // alignment on images inside paragraphs when alignment is changed on paragraphs + if (format.deep === undefined) + format.deep = !format.selector; + + // Default to true + if (format.split === undefined) + format.split = !format.selector || format.inline; + + // Default to true + if (format.remove === undefined && format.selector && !format.inline) + format.remove = 'none'; + + // Mark format as a mixed format inline + block level + if (format.selector && format.inline) { + format.mixed = true; + format.block_expand = true; + } + + // Split classes if needed + if (typeof(format.classes) === 'string') + format.classes = format.classes.split(/\s+/); + }); + + formats[name] = format; + } + } + }; + + var getTextDecoration = function(node) { + var decoration; + + ed.dom.getParent(node, function(n) { + decoration = ed.dom.getStyle(n, 'text-decoration'); + return decoration && decoration !== 'none'; + }); + + return decoration; + }; + + var processUnderlineAndColor = function(node) { + var textDecoration; + if (node.nodeType === 1 && node.parentNode && node.parentNode.nodeType === 1) { + textDecoration = getTextDecoration(node.parentNode); + if (ed.dom.getStyle(node, 'color') && textDecoration) { + ed.dom.setStyle(node, 'text-decoration', textDecoration); + } else if (ed.dom.getStyle(node, 'textdecoration') === textDecoration) { + ed.dom.setStyle(node, 'text-decoration', null); + } + } + }; + + function apply(name, vars, node) { + var formatList = get(name), format = formatList[0], bookmark, rng, i, isCollapsed = selection.isCollapsed(); + + function moveStart(rng) { + var container = rng.startContainer, + offset = rng.startOffset, + walker, node; + + // Move startContainer/startOffset in to a suitable node + if (container.nodeType == 1 || container.nodeValue === "") { + container = container.nodeType == 1 ? container.childNodes[offset] : container; + + // Might fail if the offset is behind the last element in it's container + if (container) { + walker = new TreeWalker(container, container.parentNode); + for (node = walker.current(); node; node = walker.next()) { + if (node.nodeType == 3 && !isWhiteSpaceNode(node)) { + rng.setStart(node, 0); + break; + } + } + } + } + + return rng; + }; + + function setElementFormat(elm, fmt) { + fmt = fmt || format; + + if (elm) { + each(fmt.styles, function(value, name) { + dom.setStyle(elm, name, replaceVars(value, vars)); + }); + + each(fmt.attributes, function(value, name) { + dom.setAttrib(elm, name, replaceVars(value, vars)); + }); + + each(fmt.classes, function(value) { + value = replaceVars(value, vars); + + if (!dom.hasClass(elm, value)) + dom.addClass(elm, value); + }); + } + }; + function adjustSelectionToVisibleSelection() { + + function findSelectionEnd(start, end) { + var walker = new TreeWalker(end); + for (node = walker.current(); node; node = walker.prev()) { + if (node.childNodes.length > 1 || node == start) { + return node; + } + } + } + + // Adjust selection so that a end container with a end offset of zero is not included in the selection + // as this isn't visible to the user. + var rng = ed.selection.getRng(); + var start = rng.startContainer; + var end = rng.endContainer; + if (start != end && rng.endOffset == 0) { + var newEnd = findSelectionEnd(start, end); + var endOffset = newEnd.nodeType == 3 ? newEnd.length : newEnd.childNodes.length; + rng.setEnd(newEnd, endOffset); + } + return rng; + } + + function applyStyleToList(node, bookmark, wrapElm, newWrappers, process){ + var nodes =[], listIndex =-1, list, startIndex = -1, endIndex = -1, currentWrapElm; + + // find the index of the first child list. + each(node.childNodes, function(n, index) { + if (n.nodeName==="UL"||n.nodeName==="OL") {listIndex = index; list=n; return false; } + }); + + // get the index of the bookmarks + each(node.childNodes, function(n, index) { + if (n.nodeName==="SPAN" &&dom.getAttrib(n, "data-mce-type")=="bookmark" && n.id==bookmark.id+"_start") {startIndex=index} + if (n.nodeName==="SPAN" &&dom.getAttrib(n, "data-mce-type")=="bookmark" && n.id==bookmark.id+"_end") {endIndex=index} + }); + + // if the selection spans across an embedded list, or there isn't an embedded list - handle processing normally + if (listIndex<=0 || (startIndex<listIndex&&endIndex>listIndex)) { + each(tinymce.grep(node.childNodes), process); + return 0; + } else { + currentWrapElm = wrapElm.cloneNode(FALSE); + + // create a list of the nodes on the same side of the list as the selection + each(tinymce.grep(node.childNodes), function(n, index) { + if ((startIndex<listIndex && index <listIndex) || (startIndex>listIndex && index >listIndex)) { + nodes.push(n); + n.parentNode.removeChild(n); + } + }); + + // insert the wrapping element either before or after the list. + if (startIndex<listIndex) { + node.insertBefore(currentWrapElm, list); + } else if (startIndex>listIndex) { + node.insertBefore(currentWrapElm, list.nextSibling); + } + + // add the new nodes to the list. + newWrappers.push(currentWrapElm); + each(nodes, function(node){currentWrapElm.appendChild(node)}); + return currentWrapElm; + } + }; + + function applyRngStyle(rng, bookmark) { + var newWrappers = [], wrapName, wrapElm; + + // Setup wrapper element + wrapName = format.inline || format.block; + wrapElm = dom.create(wrapName); + setElementFormat(wrapElm); + + rangeUtils.walk(rng, function(nodes) { + var currentWrapElm; + + function process(node) { + var nodeName = node.nodeName.toLowerCase(), parentName = node.parentNode.nodeName.toLowerCase(), found; + + // Stop wrapping on br elements + if (isEq(nodeName, 'br')) { + currentWrapElm = 0; + + // Remove any br elements when we wrap things + if (format.block) + dom.remove(node); + + return; + } + + // If node is wrapper type + if (format.wrapper && matchNode(node, name, vars)) { + currentWrapElm = 0; + return; + } + + // Can we rename the block + if (format.block && !format.wrapper && isTextBlock(nodeName)) { + node = dom.rename(node, wrapName); + setElementFormat(node); + newWrappers.push(node); + currentWrapElm = 0; + return; + } + + // Handle selector patterns + if (format.selector) { + // Look for matching formats + each(formatList, function(format) { + // Check collapsed state if it exists + if ('collapsed' in format && format.collapsed !== isCollapsed) { + return; + } + + if (dom.is(node, format.selector) && !isCaretNode(node)) { + setElementFormat(node, format); + found = true; + } + }); + + // Continue processing if a selector match wasn't found and a inline element is defined + if (!format.inline || found) { + currentWrapElm = 0; + return; + } + } + + // Is it valid to wrap this item + if (isValid(wrapName, nodeName) && isValid(parentName, wrapName) && + !(node.nodeType === 3 && node.nodeValue.length === 1 && node.nodeValue.charCodeAt(0) === 65279)) { + // Start wrapping + if (!currentWrapElm) { + // Wrap the node + currentWrapElm = wrapElm.cloneNode(FALSE); + node.parentNode.insertBefore(currentWrapElm, node); + newWrappers.push(currentWrapElm); + } + + currentWrapElm.appendChild(node); + } else if (nodeName == 'li' && bookmark) { + // Start wrapping - if we are in a list node and have a bookmark, then we will always begin by wrapping in a new element. + currentWrapElm = applyStyleToList(node, bookmark, wrapElm, newWrappers, process); + } else { + // Start a new wrapper for possible children + currentWrapElm = 0; + + each(tinymce.grep(node.childNodes), process); + + // End the last wrapper + currentWrapElm = 0; + } + }; + + // Process siblings from range + each(nodes, process); + }); + + // Wrap links inside as well, for example color inside a link when the wrapper is around the link + if (format.wrap_links === false) { + each(newWrappers, function(node) { + function process(node) { + var i, currentWrapElm, children; + + if (node.nodeName === 'A') { + currentWrapElm = wrapElm.cloneNode(FALSE); + newWrappers.push(currentWrapElm); + + children = tinymce.grep(node.childNodes); + for (i = 0; i < children.length; i++) + currentWrapElm.appendChild(children[i]); + + node.appendChild(currentWrapElm); + } + + each(tinymce.grep(node.childNodes), process); + }; + + process(node); + }); + } + + // Cleanup + each(newWrappers, function(node) { + var childCount; + + function getChildCount(node) { + var count = 0; + + each(node.childNodes, function(node) { + if (!isWhiteSpaceNode(node) && !isBookmarkNode(node)) + count++; + }); + + return count; + }; + + function mergeStyles(node) { + var child, clone; + + each(node.childNodes, function(node) { + if (node.nodeType == 1 && !isBookmarkNode(node) && !isCaretNode(node)) { + child = node; + return FALSE; // break loop + } + }); + + // If child was found and of the same type as the current node + if (child && matchName(child, format)) { + clone = child.cloneNode(FALSE); + setElementFormat(clone); + + dom.replace(clone, node, TRUE); + dom.remove(child, 1); + } + + return clone || node; + }; + + childCount = getChildCount(node); + + // Remove empty nodes but only if there is multiple wrappers and they are not block + // elements so never remove single <h1></h1> since that would remove the currrent empty block element where the caret is at + if ((newWrappers.length > 1 || !isBlock(node)) && childCount === 0) { + dom.remove(node, 1); + return; + } + + if (format.inline || format.wrapper) { + // Merges the current node with it's children of similar type to reduce the number of elements + if (!format.exact && childCount === 1) + node = mergeStyles(node); + + // Remove/merge children + each(formatList, function(format) { + // Merge all children of similar type will move styles from child to parent + // this: <span style="color:red"><b><span style="color:red; font-size:10px">text</span></b></span> + // will become: <span style="color:red"><b><span style="font-size:10px">text</span></b></span> + each(dom.select(format.inline, node), function(child) { + var parent; + + // When wrap_links is set to false we don't want + // to remove the format on children within links + if (format.wrap_links === false) { + parent = child.parentNode; + + do { + if (parent.nodeName === 'A') + return; + } while (parent = parent.parentNode); + } + + removeFormat(format, vars, child, format.exact ? child : null); + }); + }); + + // Remove child if direct parent is of same type + if (matchNode(node.parentNode, name, vars)) { + dom.remove(node, 1); + node = 0; + return TRUE; + } + + // Look for parent with similar style format + if (format.merge_with_parents) { + dom.getParent(node.parentNode, function(parent) { + if (matchNode(parent, name, vars)) { + dom.remove(node, 1); + node = 0; + return TRUE; + } + }); + } + + // Merge next and previous siblings if they are similar <b>text</b><b>text</b> becomes <b>texttext</b> + if (node) { + node = mergeSiblings(getNonWhiteSpaceSibling(node), node); + node = mergeSiblings(node, getNonWhiteSpaceSibling(node, TRUE)); + } + } + }); + }; + + if (format) { + if (node) { + rng = dom.createRng(); + + rng.setStartBefore(node); + rng.setEndAfter(node); + + applyRngStyle(expandRng(rng, formatList)); + } else { + if (!isCollapsed || !format.inline || dom.select('td.mceSelected,th.mceSelected').length) { + // Obtain selection node before selection is unselected by applyRngStyle() + var curSelNode = ed.selection.getNode(); + + // Apply formatting to selection + ed.selection.setRng(adjustSelectionToVisibleSelection()); + bookmark = selection.getBookmark(); + applyRngStyle(expandRng(selection.getRng(TRUE), formatList), bookmark); + + // Colored nodes should be underlined so that the color of the underline matches the text color. + if (format.styles && (format.styles.color || format.styles.textDecoration)) { + tinymce.walk(curSelNode, processUnderlineAndColor, 'childNodes'); + processUnderlineAndColor(curSelNode); + } + + selection.moveToBookmark(bookmark); + selection.setRng(moveStart(selection.getRng(TRUE))); + ed.nodeChanged(); + } else + performCaretAction('apply', name, vars); + } + } + }; + + function remove(name, vars, node) { + var formatList = get(name), format = formatList[0], bookmark, i, rng; + function moveStart(rng) { + var container = rng.startContainer, + offset = rng.startOffset, + walker, node, nodes, tmpNode; + + // Convert text node into index if possible + if (container.nodeType == 3 && offset >= container.nodeValue.length - 1) { + container = container.parentNode; + offset = nodeIndex(container) + 1; + } + + // Move startContainer/startOffset in to a suitable node + if (container.nodeType == 1) { + nodes = container.childNodes; + container = nodes[Math.min(offset, nodes.length - 1)]; + walker = new TreeWalker(container); + + // If offset is at end of the parent node walk to the next one + if (offset > nodes.length - 1) + walker.next(); + + for (node = walker.current(); node; node = walker.next()) { + if (node.nodeType == 3 && !isWhiteSpaceNode(node)) { + // IE has a "neat" feature where it moves the start node into the closest element + // we can avoid this by inserting an element before it and then remove it after we set the selection + tmpNode = dom.create('a', null, INVISIBLE_CHAR); + node.parentNode.insertBefore(tmpNode, node); + + // Set selection and remove tmpNode + rng.setStart(node, 0); + selection.setRng(rng); + dom.remove(tmpNode); + + return; + } + } + } + }; + + // Merges the styles for each node + function process(node) { + var children, i, l; + + // Grab the children first since the nodelist might be changed + children = tinymce.grep(node.childNodes); + + // Process current node + for (i = 0, l = formatList.length; i < l; i++) { + if (removeFormat(formatList[i], vars, node, node)) + break; + } + + // Process the children + if (format.deep) { + for (i = 0, l = children.length; i < l; i++) + process(children[i]); + } + }; + + function findFormatRoot(container) { + var formatRoot; + + // Find format root + each(getParents(container.parentNode).reverse(), function(parent) { + var format; + + // Find format root element + if (!formatRoot && parent.id != '_start' && parent.id != '_end') { + // Is the node matching the format we are looking for + format = matchNode(parent, name, vars); + if (format && format.split !== false) + formatRoot = parent; + } + }); + + return formatRoot; + }; + + function wrapAndSplit(format_root, container, target, split) { + var parent, clone, lastClone, firstClone, i, formatRootParent; + + // Format root found then clone formats and split it + if (format_root) { + formatRootParent = format_root.parentNode; + + for (parent = container.parentNode; parent && parent != formatRootParent; parent = parent.parentNode) { + clone = parent.cloneNode(FALSE); + + for (i = 0; i < formatList.length; i++) { + if (removeFormat(formatList[i], vars, clone, clone)) { + clone = 0; + break; + } + } + + // Build wrapper node + if (clone) { + if (lastClone) + clone.appendChild(lastClone); + + if (!firstClone) + firstClone = clone; + + lastClone = clone; + } + } + + // Never split block elements if the format is mixed + if (split && (!format.mixed || !isBlock(format_root))) + container = dom.split(format_root, container); + + // Wrap container in cloned formats + if (lastClone) { + target.parentNode.insertBefore(lastClone, target); + firstClone.appendChild(target); + } + } + + return container; + }; + + function splitToFormatRoot(container) { + return wrapAndSplit(findFormatRoot(container), container, container, true); + }; + + function unwrap(start) { + var node = dom.get(start ? '_start' : '_end'), + out = node[start ? 'firstChild' : 'lastChild']; + + // If the end is placed within the start the result will be removed + // So this checks if the out node is a bookmark node if it is it + // checks for another more suitable node + if (isBookmarkNode(out)) + out = out[start ? 'firstChild' : 'lastChild']; + + dom.remove(node, true); + + return out; + }; + + function removeRngStyle(rng) { + var startContainer, endContainer; + + rng = expandRng(rng, formatList, TRUE); + + if (format.split) { + startContainer = getContainer(rng, TRUE); + endContainer = getContainer(rng); + + if (startContainer != endContainer) { + // Wrap start/end nodes in span element since these might be cloned/moved + startContainer = wrap(startContainer, 'span', {id : '_start', 'data-mce-type' : 'bookmark'}); + endContainer = wrap(endContainer, 'span', {id : '_end', 'data-mce-type' : 'bookmark'}); + + // Split start/end + splitToFormatRoot(startContainer); + splitToFormatRoot(endContainer); + + // Unwrap start/end to get real elements again + startContainer = unwrap(TRUE); + endContainer = unwrap(); + } else + startContainer = endContainer = splitToFormatRoot(startContainer); + + // Update range positions since they might have changed after the split operations + rng.startContainer = startContainer.parentNode; + rng.startOffset = nodeIndex(startContainer); + rng.endContainer = endContainer.parentNode; + rng.endOffset = nodeIndex(endContainer) + 1; + } + + // Remove items between start/end + rangeUtils.walk(rng, function(nodes) { + each(nodes, function(node) { + process(node); + + // Remove parent span if it only contains text-decoration: underline, yet a parent node is also underlined. + if (node.nodeType === 1 && ed.dom.getStyle(node, 'text-decoration') === 'underline' && node.parentNode && getTextDecoration(node.parentNode) === 'underline') { + removeFormat({'deep': false, 'exact': true, 'inline': 'span', 'styles': {'textDecoration' : 'underline'}}, null, node); + } + }); + }); + }; + + // Handle node + if (node) { + rng = dom.createRng(); + rng.setStartBefore(node); + rng.setEndAfter(node); + removeRngStyle(rng); + return; + } + + if (!selection.isCollapsed() || !format.inline || dom.select('td.mceSelected,th.mceSelected').length) { + bookmark = selection.getBookmark(); + removeRngStyle(selection.getRng(TRUE)); + selection.moveToBookmark(bookmark); + + // Check if start element still has formatting then we are at: "<b>text|</b>text" and need to move the start into the next text node + if (match(name, vars, selection.getStart())) { + moveStart(selection.getRng(true)); + } + + ed.nodeChanged(); + } else + performCaretAction('remove', name, vars); + }; + + function toggle(name, vars, node) { + var fmt = get(name); + + if (match(name, vars, node) && (!('toggle' in fmt[0]) || fmt[0]['toggle'])) + remove(name, vars, node); + else + apply(name, vars, node); + }; + + function matchNode(node, name, vars, similar) { + var formatList = get(name), format, i, classes; + + function matchItems(node, format, item_name) { + var key, value, items = format[item_name], i; + + // Check all items + if (items) { + // Non indexed object + if (items.length === undefined) { + for (key in items) { + if (items.hasOwnProperty(key)) { + if (item_name === 'attributes') + value = dom.getAttrib(node, key); + else + value = getStyle(node, key); + + if (similar && !value && !format.exact) + return; + + if ((!similar || format.exact) && !isEq(value, replaceVars(items[key], vars))) + return; + } + } + } else { + // Only one match needed for indexed arrays + for (i = 0; i < items.length; i++) { + if (item_name === 'attributes' ? dom.getAttrib(node, items[i]) : getStyle(node, items[i])) + return format; + } + } + } + + return format; + }; + + if (formatList && node) { + // Check each format in list + for (i = 0; i < formatList.length; i++) { + format = formatList[i]; + + // Name name, attributes, styles and classes + if (matchName(node, format) && matchItems(node, format, 'attributes') && matchItems(node, format, 'styles')) { + // Match classes + if (classes = format.classes) { + for (i = 0; i < classes.length; i++) { + if (!dom.hasClass(node, classes[i])) + return; + } + } + + return format; + } + } + } + }; + + function match(name, vars, node) { + var startNode, i; + + function matchParents(node) { + // Find first node with similar format settings + node = dom.getParent(node, function(node) { + return !!matchNode(node, name, vars, true); + }); + + // Do an exact check on the similar format element + return matchNode(node, name, vars); + }; + + // Check specified node + if (node) + return matchParents(node); + + // Check pending formats + if (selection.isCollapsed()) { + for (i = pendingFormats.apply.length - 1; i >= 0; i--) { + if (pendingFormats.apply[i].name == name) + return true; + } + + for (i = pendingFormats.remove.length - 1; i >= 0; i--) { + if (pendingFormats.remove[i].name == name) + return false; + } + + return matchParents(selection.getNode()); + } + + // Check selected node + node = selection.getNode(); + if (matchParents(node)) + return TRUE; + + // Check start node if it's different + startNode = selection.getStart(); + if (startNode != node) { + if (matchParents(startNode)) + return TRUE; + } + + return FALSE; + }; + + function matchAll(names, vars) { + var startElement, matchedFormatNames = [], checkedMap = {}, i, ni, name; + + // If the selection is collapsed then check pending formats + if (selection.isCollapsed()) { + for (ni = 0; ni < names.length; ni++) { + // If the name is to be removed, then stop it from being added + for (i = pendingFormats.remove.length - 1; i >= 0; i--) { + name = names[ni]; + + if (pendingFormats.remove[i].name == name) { + checkedMap[name] = true; + break; + } + } + } + + // If the format is to be applied + for (i = pendingFormats.apply.length - 1; i >= 0; i--) { + for (ni = 0; ni < names.length; ni++) { + name = names[ni]; + + if (!checkedMap[name] && pendingFormats.apply[i].name == name) { + checkedMap[name] = true; + matchedFormatNames.push(name); + } + } + } + } + + // Check start of selection for formats + startElement = selection.getStart(); + dom.getParent(startElement, function(node) { + var i, name; + + for (i = 0; i < names.length; i++) { + name = names[i]; + + if (!checkedMap[name] && matchNode(node, name, vars)) { + checkedMap[name] = true; + matchedFormatNames.push(name); + } + } + }); + + return matchedFormatNames; + }; + + function canApply(name) { + var formatList = get(name), startNode, parents, i, x, selector; + + if (formatList) { + startNode = selection.getStart(); + parents = getParents(startNode); + + for (x = formatList.length - 1; x >= 0; x--) { + selector = formatList[x].selector; + + // Format is not selector based, then always return TRUE + if (!selector) + return TRUE; + + for (i = parents.length - 1; i >= 0; i--) { + if (dom.is(parents[i], selector)) + return TRUE; + } + } + } + + return FALSE; + }; + + // Expose to public + tinymce.extend(this, { + get : get, + register : register, + apply : apply, + remove : remove, + toggle : toggle, + match : match, + matchAll : matchAll, + matchNode : matchNode, + canApply : canApply + }); + + // Private functions + + function matchName(node, format) { + // Check for inline match + if (isEq(node, format.inline)) + return TRUE; + + // Check for block match + if (isEq(node, format.block)) + return TRUE; + + // Check for selector match + if (format.selector) + return dom.is(node, format.selector); + }; + + function isEq(str1, str2) { + str1 = str1 || ''; + str2 = str2 || ''; + + str1 = '' + (str1.nodeName || str1); + str2 = '' + (str2.nodeName || str2); + + return str1.toLowerCase() == str2.toLowerCase(); + }; + + function getStyle(node, name) { + var styleVal = dom.getStyle(node, name); + + // Force the format to hex + if (name == 'color' || name == 'backgroundColor') + styleVal = dom.toHex(styleVal); + + // Opera will return bold as 700 + if (name == 'fontWeight' && styleVal == 700) + styleVal = 'bold'; + + return '' + styleVal; + }; + + function replaceVars(value, vars) { + if (typeof(value) != "string") + value = value(vars); + else if (vars) { + value = value.replace(/%(\w+)/g, function(str, name) { + return vars[name] || str; + }); + } + + return value; + }; + + function isWhiteSpaceNode(node) { + return node && node.nodeType === 3 && /^([\s\r\n]+|)$/.test(node.nodeValue); + }; + + function wrap(node, name, attrs) { + var wrapper = dom.create(name, attrs); + + node.parentNode.insertBefore(wrapper, node); + wrapper.appendChild(node); + + return wrapper; + }; + + function expandRng(rng, format, remove) { + var startContainer = rng.startContainer, + startOffset = rng.startOffset, + endContainer = rng.endContainer, + endOffset = rng.endOffset, sibling, lastIdx, leaf; + + // This function walks up the tree if there is no siblings before/after the node + function findParentContainer(container, child_name, sibling_name, root) { + var parent, child; + + root = root || dom.getRoot(); + + for (;;) { + // Check if we can move up are we at root level or body level + parent = container.parentNode; + + // Stop expanding on block elements or root depending on format + if (parent == root || (!format[0].block_expand && isBlock(parent))) + return container; + + for (sibling = parent[child_name]; sibling && sibling != container; sibling = sibling[sibling_name]) { + if (sibling.nodeType == 1 && !isBookmarkNode(sibling)) + return container; + + if (sibling.nodeType == 3 && !isWhiteSpaceNode(sibling)) + return container; + } + + container = container.parentNode; + } + + return container; + }; + + // This function walks down the tree to find the leaf at the selection. + // The offset is also returned as if node initially a leaf, the offset may be in the middle of the text node. + function findLeaf(node, offset) { + if (offset === undefined) + offset = node.nodeType === 3 ? node.length : node.childNodes.length; + while (node && node.hasChildNodes()) { + node = node.childNodes[offset]; + if (node) + offset = node.nodeType === 3 ? node.length : node.childNodes.length; + } + return { node: node, offset: offset }; + } + + // If index based start position then resolve it + if (startContainer.nodeType == 1 && startContainer.hasChildNodes()) { + lastIdx = startContainer.childNodes.length - 1; + startContainer = startContainer.childNodes[startOffset > lastIdx ? lastIdx : startOffset]; + + if (startContainer.nodeType == 3) + startOffset = 0; + } + + // If index based end position then resolve it + if (endContainer.nodeType == 1 && endContainer.hasChildNodes()) { + lastIdx = endContainer.childNodes.length - 1; + endContainer = endContainer.childNodes[endOffset > lastIdx ? lastIdx : endOffset - 1]; + + if (endContainer.nodeType == 3) + endOffset = endContainer.nodeValue.length; + } + + // Exclude bookmark nodes if possible + if (isBookmarkNode(startContainer.parentNode)) + startContainer = startContainer.parentNode; + + if (isBookmarkNode(startContainer)) + startContainer = startContainer.nextSibling || startContainer; + + if (isBookmarkNode(endContainer.parentNode)) { + endOffset = dom.nodeIndex(endContainer); + endContainer = endContainer.parentNode; + } + + if (isBookmarkNode(endContainer) && endContainer.previousSibling) { + endContainer = endContainer.previousSibling; + endOffset = endContainer.length; + } + + if (format[0].inline) { + // Avoid applying formatting to a trailing space. + leaf = findLeaf(endContainer, endOffset); + if (leaf.node) { + while (leaf.node && leaf.offset === 0 && leaf.node.previousSibling) + leaf = findLeaf(leaf.node.previousSibling); + + if (leaf.node && leaf.offset > 0 && leaf.node.nodeType === 3 && + leaf.node.nodeValue.charAt(leaf.offset - 1) === ' ') { + + if (leaf.offset > 1) { + endContainer = leaf.node; + endContainer.splitText(leaf.offset - 1); + } else if (leaf.node.previousSibling) { + endContainer = leaf.node.previousSibling; + } + } + } + } + + // Move start/end point up the tree if the leaves are sharp and if we are in different containers + // Example * becomes !: !<p><b><i>*text</i><i>text*</i></b></p>! + // This will reduce the number of wrapper elements that needs to be created + // Move start point up the tree + if (format[0].inline || format[0].block_expand) { + startContainer = findParentContainer(startContainer, 'firstChild', 'nextSibling'); + endContainer = findParentContainer(endContainer, 'lastChild', 'previousSibling'); + } + + // Expand start/end container to matching selector + if (format[0].selector && format[0].expand !== FALSE && !format[0].inline) { + function findSelectorEndPoint(container, sibling_name) { + var parents, i, y, curFormat; + + if (container.nodeType == 3 && container.nodeValue.length == 0 && container[sibling_name]) + container = container[sibling_name]; + + parents = getParents(container); + for (i = 0; i < parents.length; i++) { + for (y = 0; y < format.length; y++) { + curFormat = format[y]; + + // If collapsed state is set then skip formats that doesn't match that + if ("collapsed" in curFormat && curFormat.collapsed !== rng.collapsed) + continue; + + if (dom.is(parents[i], curFormat.selector)) + return parents[i]; + } + } + + return container; + }; + + // Find new startContainer/endContainer if there is better one + startContainer = findSelectorEndPoint(startContainer, 'previousSibling'); + endContainer = findSelectorEndPoint(endContainer, 'nextSibling'); + } + + // Expand start/end container to matching block element or text node + if (format[0].block || format[0].selector) { + function findBlockEndPoint(container, sibling_name, sibling_name2) { + var node; + + // Expand to block of similar type + if (!format[0].wrapper) + node = dom.getParent(container, format[0].block); + + // Expand to first wrappable block element or any block element + if (!node) + node = dom.getParent(container.nodeType == 3 ? container.parentNode : container, isBlock); + + // Exclude inner lists from wrapping + if (node && format[0].wrapper) + node = getParents(node, 'ul,ol').reverse()[0] || node; + + // Didn't find a block element look for first/last wrappable element + if (!node) { + node = container; + + while (node[sibling_name] && !isBlock(node[sibling_name])) { + node = node[sibling_name]; + + // Break on BR but include it will be removed later on + // we can't remove it now since we need to check if it can be wrapped + if (isEq(node, 'br')) + break; + } + } + + return node || container; + }; + + // Find new startContainer/endContainer if there is better one + startContainer = findBlockEndPoint(startContainer, 'previousSibling'); + endContainer = findBlockEndPoint(endContainer, 'nextSibling'); + + // Non block element then try to expand up the leaf + if (format[0].block) { + if (!isBlock(startContainer)) + startContainer = findParentContainer(startContainer, 'firstChild', 'nextSibling'); + + if (!isBlock(endContainer)) + endContainer = findParentContainer(endContainer, 'lastChild', 'previousSibling'); + } + } + + // Setup index for startContainer + if (startContainer.nodeType == 1) { + startOffset = nodeIndex(startContainer); + startContainer = startContainer.parentNode; + } + + // Setup index for endContainer + if (endContainer.nodeType == 1) { + endOffset = nodeIndex(endContainer) + 1; + endContainer = endContainer.parentNode; + } + + // Return new range like object + return { + startContainer : startContainer, + startOffset : startOffset, + endContainer : endContainer, + endOffset : endOffset + }; + } + + function removeFormat(format, vars, node, compare_node) { + var i, attrs, stylesModified; + + // Check if node matches format + if (!matchName(node, format)) + return FALSE; + + // Should we compare with format attribs and styles + if (format.remove != 'all') { + // Remove styles + each(format.styles, function(value, name) { + value = replaceVars(value, vars); + + // Indexed array + if (typeof(name) === 'number') { + name = value; + compare_node = 0; + } + + if (!compare_node || isEq(getStyle(compare_node, name), value)) + dom.setStyle(node, name, ''); + + stylesModified = 1; + }); + + // Remove style attribute if it's empty + if (stylesModified && dom.getAttrib(node, 'style') == '') { + node.removeAttribute('style'); + node.removeAttribute('data-mce-style'); + } + + // Remove attributes + each(format.attributes, function(value, name) { + var valueOut; + + value = replaceVars(value, vars); + + // Indexed array + if (typeof(name) === 'number') { + name = value; + compare_node = 0; + } + + if (!compare_node || isEq(dom.getAttrib(compare_node, name), value)) { + // Keep internal classes + if (name == 'class') { + value = dom.getAttrib(node, name); + if (value) { + // Build new class value where everything is removed except the internal prefixed classes + valueOut = ''; + each(value.split(/\s+/), function(cls) { + if (/mce\w+/.test(cls)) + valueOut += (valueOut ? ' ' : '') + cls; + }); + + // We got some internal classes left + if (valueOut) { + dom.setAttrib(node, name, valueOut); + return; + } + } + } + + // IE6 has a bug where the attribute doesn't get removed correctly + if (name == "class") + node.removeAttribute('className'); + + // Remove mce prefixed attributes + if (MCE_ATTR_RE.test(name)) + node.removeAttribute('data-mce-' + name); + + node.removeAttribute(name); + } + }); + + // Remove classes + each(format.classes, function(value) { + value = replaceVars(value, vars); + + if (!compare_node || dom.hasClass(compare_node, value)) + dom.removeClass(node, value); + }); + + // Check for non internal attributes + attrs = dom.getAttribs(node); + for (i = 0; i < attrs.length; i++) { + if (attrs[i].nodeName.indexOf('_') !== 0) + return FALSE; + } + } + + // Remove the inline child if it's empty for example <b> or <span> + if (format.remove != 'none') { + removeNode(node, format); + return TRUE; + } + }; + + function removeNode(node, format) { + var parentNode = node.parentNode, rootBlockElm; + + if (format.block) { + if (!forcedRootBlock) { + function find(node, next, inc) { + node = getNonWhiteSpaceSibling(node, next, inc); + + return !node || (node.nodeName == 'BR' || isBlock(node)); + }; + + // Append BR elements if needed before we remove the block + if (isBlock(node) && !isBlock(parentNode)) { + if (!find(node, FALSE) && !find(node.firstChild, TRUE, 1)) + node.insertBefore(dom.create('br'), node.firstChild); + + if (!find(node, TRUE) && !find(node.lastChild, FALSE, 1)) + node.appendChild(dom.create('br')); + } + } else { + // Wrap the block in a forcedRootBlock if we are at the root of document + if (parentNode == dom.getRoot()) { + if (!format.list_block || !isEq(node, format.list_block)) { + each(tinymce.grep(node.childNodes), function(node) { + if (isValid(forcedRootBlock, node.nodeName.toLowerCase())) { + if (!rootBlockElm) + rootBlockElm = wrap(node, forcedRootBlock); + else + rootBlockElm.appendChild(node); + } else + rootBlockElm = 0; + }); + } + } + } + } + + // Never remove nodes that isn't the specified inline element if a selector is specified too + if (format.selector && format.inline && !isEq(format.inline, node)) + return; + + dom.remove(node, 1); + }; + + function getNonWhiteSpaceSibling(node, next, inc) { + if (node) { + next = next ? 'nextSibling' : 'previousSibling'; + + for (node = inc ? node : node[next]; node; node = node[next]) { + if (node.nodeType == 1 || !isWhiteSpaceNode(node)) + return node; + } + } + }; + + function isBookmarkNode(node) { + return node && node.nodeType == 1 && node.getAttribute('data-mce-type') == 'bookmark'; + }; + + function mergeSiblings(prev, next) { + var marker, sibling, tmpSibling; + + function compareElements(node1, node2) { + // Not the same name + if (node1.nodeName != node2.nodeName) + return FALSE; + + function getAttribs(node) { + var attribs = {}; + + each(dom.getAttribs(node), function(attr) { + var name = attr.nodeName.toLowerCase(); + + // Don't compare internal attributes or style + if (name.indexOf('_') !== 0 && name !== 'style') + attribs[name] = dom.getAttrib(node, name); + }); + + return attribs; + }; + + function compareObjects(obj1, obj2) { + var value, name; + + for (name in obj1) { + // Obj1 has item obj2 doesn't have + if (obj1.hasOwnProperty(name)) { + value = obj2[name]; + + // Obj2 doesn't have obj1 item + if (value === undefined) + return FALSE; + + // Obj2 item has a different value + if (obj1[name] != value) + return FALSE; + + // Delete similar value + delete obj2[name]; + } + } + + // Check if obj 2 has something obj 1 doesn't have + for (name in obj2) { + // Obj2 has item obj1 doesn't have + if (obj2.hasOwnProperty(name)) + return FALSE; + } + + return TRUE; + }; + + // Attribs are not the same + if (!compareObjects(getAttribs(node1), getAttribs(node2))) + return FALSE; + + // Styles are not the same + if (!compareObjects(dom.parseStyle(dom.getAttrib(node1, 'style')), dom.parseStyle(dom.getAttrib(node2, 'style')))) + return FALSE; + + return TRUE; + }; + + // Check if next/prev exists and that they are elements + if (prev && next) { + function findElementSibling(node, sibling_name) { + for (sibling = node; sibling; sibling = sibling[sibling_name]) { + if (sibling.nodeType == 3 && sibling.nodeValue.length !== 0) + return node; + + if (sibling.nodeType == 1 && !isBookmarkNode(sibling)) + return sibling; + } + + return node; + }; + + // If previous sibling is empty then jump over it + prev = findElementSibling(prev, 'previousSibling'); + next = findElementSibling(next, 'nextSibling'); + + // Compare next and previous nodes + if (compareElements(prev, next)) { + // Append nodes between + for (sibling = prev.nextSibling; sibling && sibling != next;) { + tmpSibling = sibling; + sibling = sibling.nextSibling; + prev.appendChild(tmpSibling); + } + + // Remove next node + dom.remove(next); + + // Move children into prev node + each(tinymce.grep(next.childNodes), function(node) { + prev.appendChild(node); + }); + + return prev; + } + } + + return next; + }; + + function isTextBlock(name) { + return /^(h[1-6]|p|div|pre|address|dl|dt|dd)$/.test(name); + }; + + function getContainer(rng, start) { + var container, offset, lastIdx; + + container = rng[start ? 'startContainer' : 'endContainer']; + offset = rng[start ? 'startOffset' : 'endOffset']; + + if (container.nodeType == 1) { + lastIdx = container.childNodes.length - 1; + + if (!start && offset) + offset--; + + container = container.childNodes[offset > lastIdx ? lastIdx : offset]; + } + + return container; + }; + + function performCaretAction(type, name, vars) { + var i, currentPendingFormats = pendingFormats[type], + otherPendingFormats = pendingFormats[type == 'apply' ? 'remove' : 'apply']; + + function hasPending() { + return pendingFormats.apply.length || pendingFormats.remove.length; + }; + + function resetPending() { + pendingFormats.apply = []; + pendingFormats.remove = []; + }; + + function perform(caret_node) { + // Apply pending formats + each(pendingFormats.apply.reverse(), function(item) { + apply(item.name, item.vars, caret_node); + + // Colored nodes should be underlined so that the color of the underline matches the text color. + if (item.name === 'forecolor' && item.vars.value) + processUnderlineAndColor(caret_node.parentNode); + }); + + // Remove pending formats + each(pendingFormats.remove.reverse(), function(item) { + remove(item.name, item.vars, caret_node); + }); + + dom.remove(caret_node, 1); + resetPending(); + }; + + // Check if it already exists then ignore it + for (i = currentPendingFormats.length - 1; i >= 0; i--) { + if (currentPendingFormats[i].name == name) + return; + } + + currentPendingFormats.push({name : name, vars : vars}); + + // Check if it's in the other type, then remove it + for (i = otherPendingFormats.length - 1; i >= 0; i--) { + if (otherPendingFormats[i].name == name) + otherPendingFormats.splice(i, 1); + } + + // Pending apply or remove formats + if (hasPending()) { + ed.getDoc().execCommand('FontName', false, 'mceinline'); + pendingFormats.lastRng = selection.getRng(); + + // IE will convert the current word + each(dom.select('font,span'), function(node) { + var bookmark; + + if (isCaretNode(node)) { + bookmark = selection.getBookmark(); + perform(node); + selection.moveToBookmark(bookmark); + ed.nodeChanged(); + } + }); + + // Only register listeners once if we need to + if (!pendingFormats.isListening && hasPending()) { + pendingFormats.isListening = true; + function performPendingFormat(node, textNode) { + var rng = dom.createRng(); + perform(node); + + rng.setStart(textNode, textNode.nodeValue.length); + rng.setEnd(textNode, textNode.nodeValue.length); + selection.setRng(rng); + ed.nodeChanged(); + } + var enterKeyPressed = false; + + each('onKeyDown,onKeyUp,onKeyPress,onMouseUp'.split(','), function(event) { + ed[event].addToTop(function(ed, e) { + if (e.keyCode==13 && !e.shiftKey) { + enterKeyPressed = true; + return; + } + // Do we have pending formats and is the selection moved has moved + if (hasPending() && !tinymce.dom.RangeUtils.compareRanges(pendingFormats.lastRng, selection.getRng())) { + var foundCaret = false; + each(dom.select('font,span'), function(node) { + var textNode, rng; + + // Look for marker + if (isCaretNode(node)) { + foundCaret = true; + textNode = node.firstChild; + + // Find the first text node within node + while (textNode && textNode.nodeType != 3) + textNode = textNode.firstChild; + + if (textNode) + performPendingFormat(node, textNode); + else + dom.remove(node); + } + }); + + // no caret - so we are + if (enterKeyPressed && !foundCaret) { + var node = selection.getNode(); + var textNode = node; + + // Find the first text node within node + while (textNode && textNode.nodeType != 3) + textNode = textNode.firstChild; + if (textNode) { + node=textNode.parentNode; + while (!isBlock(node)){ + node=node.parentNode; + } + performPendingFormat(node, textNode); + } + } + + // Always unbind and clear pending styles on keyup + if (e.type == 'keyup' || e.type == 'mouseup') { + resetPending(); + enterKeyPressed=false; + } + } + }); + }); + } + } + }; + }; +})(tinymce); + +tinymce.onAddEditor.add(function(tinymce, ed) { + var filters, fontSizes, dom, settings = ed.settings; + + if (settings.inline_styles) { + fontSizes = tinymce.explode(settings.font_size_style_values); + + function replaceWithSpan(node, styles) { + tinymce.each(styles, function(value, name) { + if (value) + dom.setStyle(node, name, value); + }); + + dom.rename(node, 'span'); + }; + + filters = { + font : function(dom, node) { + replaceWithSpan(node, { + backgroundColor : node.style.backgroundColor, + color : node.color, + fontFamily : node.face, + fontSize : fontSizes[parseInt(node.size) - 1] + }); + }, + + u : function(dom, node) { + replaceWithSpan(node, { + textDecoration : 'underline' + }); + }, + + strike : function(dom, node) { + replaceWithSpan(node, { + textDecoration : 'line-through' + }); + } + }; + + function convert(editor, params) { + dom = editor.dom; + + if (settings.convert_fonts_to_spans) { + tinymce.each(dom.select('font,u,strike', params.node), function(node) { + filters[node.nodeName.toLowerCase()](ed.dom, node); + }); + } + }; + + ed.onPreProcess.add(convert); + ed.onSetContent.add(convert); + + ed.onInit.add(function() { + ed.selection.onSetContent.add(convert); + }); + } +}); + diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/utils/editable_selects.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/utils/editable_selects.js new file mode 100644 index 00000000..6cf1b166 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/utils/editable_selects.js @@ -0,0 +1,70 @@ +/** + * editable_selects.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +var TinyMCE_EditableSelects = { + editSelectElm : null, + + init : function() { + var nl = document.getElementsByTagName("select"), i, d = document, o; + + for (i=0; i<nl.length; i++) { + if (nl[i].className.indexOf('mceEditableSelect') != -1) { + o = new Option('(value)', '__mce_add_custom__'); + + o.className = 'mceAddSelectValue'; + + nl[i].options[nl[i].options.length] = o; + nl[i].onchange = TinyMCE_EditableSelects.onChangeEditableSelect; + } + } + }, + + onChangeEditableSelect : function(e) { + var d = document, ne, se = window.event ? window.event.srcElement : e.target; + + if (se.options[se.selectedIndex].value == '__mce_add_custom__') { + ne = d.createElement("input"); + ne.id = se.id + "_custom"; + ne.name = se.name + "_custom"; + ne.type = "text"; + + ne.style.width = se.offsetWidth + 'px'; + se.parentNode.insertBefore(ne, se); + se.style.display = 'none'; + ne.focus(); + ne.onblur = TinyMCE_EditableSelects.onBlurEditableSelectInput; + ne.onkeydown = TinyMCE_EditableSelects.onKeyDown; + TinyMCE_EditableSelects.editSelectElm = se; + } + }, + + onBlurEditableSelectInput : function() { + var se = TinyMCE_EditableSelects.editSelectElm; + + if (se) { + if (se.previousSibling.value != '') { + addSelectValue(document.forms[0], se.id, se.previousSibling.value, se.previousSibling.value); + selectByValue(document.forms[0], se.id, se.previousSibling.value); + } else + selectByValue(document.forms[0], se.id, ''); + + se.style.display = 'inline'; + se.parentNode.removeChild(se.previousSibling); + TinyMCE_EditableSelects.editSelectElm = null; + } + }, + + onKeyDown : function(e) { + e = e || window.event; + + if (e.keyCode == 13) + TinyMCE_EditableSelects.onBlurEditableSelectInput(); + } +}; diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/utils/form_utils.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/utils/form_utils.js new file mode 100644 index 00000000..6f62fe60 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/utils/form_utils.js @@ -0,0 +1,210 @@ +/** + * form_utils.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +var themeBaseURL = tinyMCEPopup.editor.baseURI.toAbsolute('themes/' + tinyMCEPopup.getParam("theme")); + +function getColorPickerHTML(id, target_form_element) { + var h = "", dom = tinyMCEPopup.dom; + + if (label = dom.select('label[for=' + target_form_element + ']')[0]) { + label.id = label.id || dom.uniqueId(); + } + + h += '<a role="button" aria-labelledby="' + id + '_label" id="' + id + '_link" href="javascript:;" onclick="tinyMCEPopup.pickColor(event,\'' + target_form_element +'\');" onmousedown="return false;" class="pickcolor">'; + h += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '"> <span id="' + id + '_label" class="mceVoiceLabel mceIconOnly" style="display:none;">' + tinyMCEPopup.getLang('browse') + '</span></span></a>'; + + return h; +} + +function updateColor(img_id, form_element_id) { + document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value; +} + +function setBrowserDisabled(id, state) { + var img = document.getElementById(id); + var lnk = document.getElementById(id + "_link"); + + if (lnk) { + if (state) { + lnk.setAttribute("realhref", lnk.getAttribute("href")); + lnk.removeAttribute("href"); + tinyMCEPopup.dom.addClass(img, 'disabled'); + } else { + if (lnk.getAttribute("realhref")) + lnk.setAttribute("href", lnk.getAttribute("realhref")); + + tinyMCEPopup.dom.removeClass(img, 'disabled'); + } + } +} + +function getBrowserHTML(id, target_form_element, type, prefix) { + var option = prefix + "_" + type + "_browser_callback", cb, html; + + cb = tinyMCEPopup.getParam(option, tinyMCEPopup.getParam("file_browser_callback")); + + if (!cb) + return ""; + + html = ""; + html += '<a id="' + id + '_link" href="javascript:openBrowser(\'' + id + '\',\'' + target_form_element + '\', \'' + type + '\',\'' + option + '\');" onmousedown="return false;" class="browse">'; + html += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '"> </span></a>'; + + return html; +} + +function openBrowser(img_id, target_form_element, type, option) { + var img = document.getElementById(img_id); + + if (img.className != "mceButtonDisabled") + tinyMCEPopup.openBrowser(target_form_element, type, option); +} + +function selectByValue(form_obj, field_name, value, add_custom, ignore_case) { + if (!form_obj || !form_obj.elements[field_name]) + return; + + if (!value) + value = ""; + + var sel = form_obj.elements[field_name]; + + var found = false; + for (var i=0; i<sel.options.length; i++) { + var option = sel.options[i]; + + if (option.value == value || (ignore_case && option.value.toLowerCase() == value.toLowerCase())) { + option.selected = true; + found = true; + } else + option.selected = false; + } + + if (!found && add_custom && value != '') { + var option = new Option(value, value); + option.selected = true; + sel.options[sel.options.length] = option; + sel.selectedIndex = sel.options.length - 1; + } + + return found; +} + +function getSelectValue(form_obj, field_name) { + var elm = form_obj.elements[field_name]; + + if (elm == null || elm.options == null || elm.selectedIndex === -1) + return ""; + + return elm.options[elm.selectedIndex].value; +} + +function addSelectValue(form_obj, field_name, name, value) { + var s = form_obj.elements[field_name]; + var o = new Option(name, value); + s.options[s.options.length] = o; +} + +function addClassesToList(list_id, specific_option) { + // Setup class droplist + var styleSelectElm = document.getElementById(list_id); + var styles = tinyMCEPopup.getParam('theme_advanced_styles', false); + styles = tinyMCEPopup.getParam(specific_option, styles); + + if (styles) { + var stylesAr = styles.split(';'); + + for (var i=0; i<stylesAr.length; i++) { + if (stylesAr != "") { + var key, value; + + key = stylesAr[i].split('=')[0]; + value = stylesAr[i].split('=')[1]; + + styleSelectElm.options[styleSelectElm.length] = new Option(key, value); + } + } + } else { + tinymce.each(tinyMCEPopup.editor.dom.getClasses(), function(o) { + styleSelectElm.options[styleSelectElm.length] = new Option(o.title || o['class'], o['class']); + }); + } +} + +function isVisible(element_id) { + var elm = document.getElementById(element_id); + + return elm && elm.style.display != "none"; +} + +function convertRGBToHex(col) { + var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi"); + + var rgb = col.replace(re, "$1,$2,$3").split(','); + if (rgb.length == 3) { + r = parseInt(rgb[0]).toString(16); + g = parseInt(rgb[1]).toString(16); + b = parseInt(rgb[2]).toString(16); + + r = r.length == 1 ? '0' + r : r; + g = g.length == 1 ? '0' + g : g; + b = b.length == 1 ? '0' + b : b; + + return "#" + r + g + b; + } + + return col; +} + +function convertHexToRGB(col) { + if (col.indexOf('#') != -1) { + col = col.replace(new RegExp('[^0-9A-F]', 'gi'), ''); + + r = parseInt(col.substring(0, 2), 16); + g = parseInt(col.substring(2, 4), 16); + b = parseInt(col.substring(4, 6), 16); + + return "rgb(" + r + "," + g + "," + b + ")"; + } + + return col; +} + +function trimSize(size) { + return size.replace(/([0-9\.]+)(px|%|in|cm|mm|em|ex|pt|pc)/i, '$1$2'); +} + +function getCSSSize(size) { + size = trimSize(size); + + if (size == "") + return ""; + + // Add px + if (/^[0-9]+$/.test(size)) + size += 'px'; + // Sanity check, IE doesn't like broken values + else if (!(/^[0-9\.]+(px|%|in|cm|mm|em|ex|pt|pc)$/i.test(size))) + return ""; + + return size; +} + +function getStyle(elm, attrib, style) { + var val = tinyMCEPopup.dom.getAttrib(elm, attrib); + + if (val != '') + return '' + val; + + if (typeof(style) == 'undefined') + style = attrib; + + return tinyMCEPopup.dom.getStyle(elm, style); +} diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/utils/mctabs.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/utils/mctabs.js new file mode 100644 index 00000000..027ef40e --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/utils/mctabs.js @@ -0,0 +1,162 @@ +/** + * mctabs.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function MCTabs() { + this.settings = []; + this.onChange = tinyMCEPopup.editor.windowManager.createInstance('tinymce.util.Dispatcher'); +}; + +MCTabs.prototype.init = function(settings) { + this.settings = settings; +}; + +MCTabs.prototype.getParam = function(name, default_value) { + var value = null; + + value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name]; + + // Fix bool values + if (value == "true" || value == "false") + return (value == "true"); + + return value; +}; + +MCTabs.prototype.showTab =function(tab){ + tab.className = 'current'; + tab.setAttribute("aria-selected", true); + tab.setAttribute("aria-expanded", true); + tab.tabIndex = 0; +}; + +MCTabs.prototype.hideTab =function(tab){ + var t=this; + + tab.className = ''; + tab.setAttribute("aria-selected", false); + tab.setAttribute("aria-expanded", false); + tab.tabIndex = -1; +}; + +MCTabs.prototype.showPanel = function(panel) { + panel.className = 'current'; + panel.setAttribute("aria-hidden", false); +}; + +MCTabs.prototype.hidePanel = function(panel) { + panel.className = 'panel'; + panel.setAttribute("aria-hidden", true); +}; + +MCTabs.prototype.getPanelForTab = function(tabElm) { + return tinyMCEPopup.dom.getAttrib(tabElm, "aria-controls"); +}; + +MCTabs.prototype.displayTab = function(tab_id, panel_id, avoid_focus) { + var panelElm, panelContainerElm, tabElm, tabContainerElm, selectionClass, nodes, i, t = this; + + tabElm = document.getElementById(tab_id); + + if (panel_id === undefined) { + panel_id = t.getPanelForTab(tabElm); + } + + panelElm= document.getElementById(panel_id); + panelContainerElm = panelElm ? panelElm.parentNode : null; + tabContainerElm = tabElm ? tabElm.parentNode : null; + selectionClass = t.getParam('selection_class', 'current'); + + if (tabElm && tabContainerElm) { + nodes = tabContainerElm.childNodes; + + // Hide all other tabs + for (i = 0; i < nodes.length; i++) { + if (nodes[i].nodeName == "LI") { + t.hideTab(nodes[i]); + } + } + + // Show selected tab + t.showTab(tabElm); + } + + if (panelElm && panelContainerElm) { + nodes = panelContainerElm.childNodes; + + // Hide all other panels + for (i = 0; i < nodes.length; i++) { + if (nodes[i].nodeName == "DIV") + t.hidePanel(nodes[i]); + } + + if (!avoid_focus) { + tabElm.focus(); + } + + // Show selected panel + t.showPanel(panelElm); + } +}; + +MCTabs.prototype.getAnchor = function() { + var pos, url = document.location.href; + + if ((pos = url.lastIndexOf('#')) != -1) + return url.substring(pos + 1); + + return ""; +}; + + +//Global instance +var mcTabs = new MCTabs(); + +tinyMCEPopup.onInit.add(function() { + var tinymce = tinyMCEPopup.getWin().tinymce, dom = tinyMCEPopup.dom, each = tinymce.each; + + each(dom.select('div.tabs'), function(tabContainerElm) { + var keyNav; + + dom.setAttrib(tabContainerElm, "role", "tablist"); + + var items = tinyMCEPopup.dom.select('li', tabContainerElm); + var action = function(id) { + mcTabs.displayTab(id, mcTabs.getPanelForTab(id)); + mcTabs.onChange.dispatch(id); + }; + + each(items, function(item) { + dom.setAttrib(item, 'role', 'tab'); + dom.bind(item, 'click', function(evt) { + action(item.id); + }); + }); + + dom.bind(dom.getRoot(), 'keydown', function(evt) { + if (evt.keyCode === 9 && evt.ctrlKey && !evt.altKey) { // Tab + keyNav.moveFocus(evt.shiftKey ? -1 : 1); + tinymce.dom.Event.cancel(evt); + } + }); + + each(dom.select('a', tabContainerElm), function(a) { + dom.setAttrib(a, 'tabindex', '-1'); + }); + + keyNav = tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', { + root: tabContainerElm, + items: items, + onAction: action, + actOnFocus: true, + enableLeftRight: true, + enableUpDown: true + }, tinyMCEPopup.dom); + }); +}); \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/utils/validate.js b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/utils/validate.js new file mode 100644 index 00000000..760d0290 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/jscripts/tiny_mce/utils/validate.js @@ -0,0 +1,252 @@ +/** + * validate.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +/** + // String validation: + + if (!Validator.isEmail('myemail')) + alert('Invalid email.'); + + // Form validation: + + var f = document.forms['myform']; + + if (!Validator.isEmail(f.myemail)) + alert('Invalid email.'); +*/ + +var Validator = { + isEmail : function(s) { + return this.test(s, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$'); + }, + + isAbsUrl : function(s) { + return this.test(s, '^(news|telnet|nttp|file|http|ftp|https)://[-A-Za-z0-9\\.]+\\/?.*$'); + }, + + isSize : function(s) { + return this.test(s, '^[0-9.]+(%|in|cm|mm|em|ex|pt|pc|px)?$'); + }, + + isId : function(s) { + return this.test(s, '^[A-Za-z_]([A-Za-z0-9_])*$'); + }, + + isEmpty : function(s) { + var nl, i; + + if (s.nodeName == 'SELECT' && s.selectedIndex < 1) + return true; + + if (s.type == 'checkbox' && !s.checked) + return true; + + if (s.type == 'radio') { + for (i=0, nl = s.form.elements; i<nl.length; i++) { + if (nl[i].type == "radio" && nl[i].name == s.name && nl[i].checked) + return false; + } + + return true; + } + + return new RegExp('^\\s*$').test(s.nodeType == 1 ? s.value : s); + }, + + isNumber : function(s, d) { + return !isNaN(s.nodeType == 1 ? s.value : s) && (!d || !this.test(s, '^-?[0-9]*\\.[0-9]*$')); + }, + + test : function(s, p) { + s = s.nodeType == 1 ? s.value : s; + + return s == '' || new RegExp(p).test(s); + } +}; + +var AutoValidator = { + settings : { + id_cls : 'id', + int_cls : 'int', + url_cls : 'url', + number_cls : 'number', + email_cls : 'email', + size_cls : 'size', + required_cls : 'required', + invalid_cls : 'invalid', + min_cls : 'min', + max_cls : 'max' + }, + + init : function(s) { + var n; + + for (n in s) + this.settings[n] = s[n]; + }, + + validate : function(f) { + var i, nl, s = this.settings, c = 0; + + nl = this.tags(f, 'label'); + for (i=0; i<nl.length; i++) { + this.removeClass(nl[i], s.invalid_cls); + nl[i].setAttribute('aria-invalid', false); + } + + c += this.validateElms(f, 'input'); + c += this.validateElms(f, 'select'); + c += this.validateElms(f, 'textarea'); + + return c == 3; + }, + + invalidate : function(n) { + this.mark(n.form, n); + }, + + getErrorMessages : function(f) { + var nl, i, s = this.settings, field, msg, values, messages = [], ed = tinyMCEPopup.editor; + nl = this.tags(f, "label"); + for (i=0; i<nl.length; i++) { + if (this.hasClass(nl[i], s.invalid_cls)) { + field = document.getElementById(nl[i].getAttribute("for")); + values = { field: nl[i].textContent }; + if (this.hasClass(field, s.min_cls, true)) { + message = ed.getLang('invalid_data_min'); + values.min = this.getNum(field, s.min_cls); + } else if (this.hasClass(field, s.number_cls)) { + message = ed.getLang('invalid_data_number'); + } else if (this.hasClass(field, s.size_cls)) { + message = ed.getLang('invalid_data_size'); + } else { + message = ed.getLang('invalid_data'); + } + + message = message.replace(/{\#([^}]+)\}/g, function(a, b) { + return values[b] || '{#' + b + '}'; + }); + messages.push(message); + } + } + return messages; + }, + + reset : function(e) { + var t = ['label', 'input', 'select', 'textarea']; + var i, j, nl, s = this.settings; + + if (e == null) + return; + + for (i=0; i<t.length; i++) { + nl = this.tags(e.form ? e.form : e, t[i]); + for (j=0; j<nl.length; j++) { + this.removeClass(nl[j], s.invalid_cls); + nl[j].setAttribute('aria-invalid', false); + } + } + }, + + validateElms : function(f, e) { + var nl, i, n, s = this.settings, st = true, va = Validator, v; + + nl = this.tags(f, e); + for (i=0; i<nl.length; i++) { + n = nl[i]; + + this.removeClass(n, s.invalid_cls); + + if (this.hasClass(n, s.required_cls) && va.isEmpty(n)) + st = this.mark(f, n); + + if (this.hasClass(n, s.number_cls) && !va.isNumber(n)) + st = this.mark(f, n); + + if (this.hasClass(n, s.int_cls) && !va.isNumber(n, true)) + st = this.mark(f, n); + + if (this.hasClass(n, s.url_cls) && !va.isAbsUrl(n)) + st = this.mark(f, n); + + if (this.hasClass(n, s.email_cls) && !va.isEmail(n)) + st = this.mark(f, n); + + if (this.hasClass(n, s.size_cls) && !va.isSize(n)) + st = this.mark(f, n); + + if (this.hasClass(n, s.id_cls) && !va.isId(n)) + st = this.mark(f, n); + + if (this.hasClass(n, s.min_cls, true)) { + v = this.getNum(n, s.min_cls); + + if (isNaN(v) || parseInt(n.value) < parseInt(v)) + st = this.mark(f, n); + } + + if (this.hasClass(n, s.max_cls, true)) { + v = this.getNum(n, s.max_cls); + + if (isNaN(v) || parseInt(n.value) > parseInt(v)) + st = this.mark(f, n); + } + } + + return st; + }, + + hasClass : function(n, c, d) { + return new RegExp('\\b' + c + (d ? '[0-9]+' : '') + '\\b', 'g').test(n.className); + }, + + getNum : function(n, c) { + c = n.className.match(new RegExp('\\b' + c + '([0-9]+)\\b', 'g'))[0]; + c = c.replace(/[^0-9]/g, ''); + + return c; + }, + + addClass : function(n, c, b) { + var o = this.removeClass(n, c); + n.className = b ? c + (o != '' ? (' ' + o) : '') : (o != '' ? (o + ' ') : '') + c; + }, + + removeClass : function(n, c) { + c = n.className.replace(new RegExp("(^|\\s+)" + c + "(\\s+|$)"), ' '); + return n.className = c != ' ' ? c : ''; + }, + + tags : function(f, s) { + return f.getElementsByTagName(s); + }, + + mark : function(f, n) { + var s = this.settings; + + this.addClass(n, s.invalid_cls); + n.setAttribute('aria-invalid', 'true'); + this.markLabels(f, n, s.invalid_cls); + + return false; + }, + + markLabels : function(f, n, ic) { + var nl, i; + + nl = this.tags(f, "label"); + for (i=0; i<nl.length; i++) { + if (nl[i].getAttribute("for") == n.id || nl[i].htmlFor == n.id) + this.addClass(nl[i], ic); + } + + return null; + } +}; diff --git a/resources/library/interactive/TextEditor.wgt/lists/image_list.js b/resources/library/interactive/TextEditor.wgt/lists/image_list.js new file mode 100644 index 00000000..ad54a97c --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/lists/image_list.js @@ -0,0 +1,9 @@ +// This list may be created by a server logic page PHP/ASP/ASPX/JSP in some backend system. +// There images will be displayed as a dropdown in all image dialogs if the "external_link_image_url" +// option is defined in TinyMCE init. + +var tinyMCEImageList = new Array( + // Name, URL + ["Logo 1", "media/logo.jpg"], + ["Logo 2 Over", "media/logo_over.jpg"] +); diff --git a/resources/library/interactive/TextEditor.wgt/lists/link_list.js b/resources/library/interactive/TextEditor.wgt/lists/link_list.js new file mode 100644 index 00000000..238dacb3 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/lists/link_list.js @@ -0,0 +1,10 @@ +// This list may be created by a server logic page PHP/ASP/ASPX/JSP in some backend system. +// There links will be displayed as a dropdown in all link dialogs if the "external_link_list_url" +// option is defined in TinyMCE init. + +var tinyMCELinkList = new Array( + // Name, URL + ["Moxiecode", "http://www.moxiecode.com"], + ["Freshmeat", "http://www.freshmeat.com"], + ["Sourceforge", "http://www.sourceforge.com"] +); diff --git a/resources/library/interactive/TextEditor.wgt/lists/media_list.js b/resources/library/interactive/TextEditor.wgt/lists/media_list.js new file mode 100644 index 00000000..d0f08437 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/lists/media_list.js @@ -0,0 +1,14 @@ +// This list may be created by a server logic page PHP/ASP/ASPX/JSP in some backend system. +// There flash movies will be displayed as a dropdown in all media dialog if the "media_external_list_url" +// option is defined in TinyMCE init. + +var tinyMCEMediaList = [ + // Name, URL + ["Some Flash", "media/sample.swf"], + ["Some Quicktime", "media/sample.mov"], + ["Some AVI", "media/sample.avi"], + ["Some RealMedia", "media/sample.rm"], + ["Some Shockwave", "media/sample.dcr"], + ["Some Video", "media/sample.mp4"], + ["Some FLV", "media/sample.flv"], +]; \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/lists/template_list.js b/resources/library/interactive/TextEditor.wgt/lists/template_list.js new file mode 100644 index 00000000..79d3f86d --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/lists/template_list.js @@ -0,0 +1,9 @@ +// This list may be created by a server logic page PHP/ASP/ASPX/JSP in some backend system. +// There templates will be displayed as a dropdown in all media dialog if the "template_external_list_url" +// option is defined in TinyMCE init. + +var tinyMCETemplateList = [ + // Name, URL, Description + ["Simple snippet", "templates/snippet1.htm", "Simple HTML snippet."], + ["Layout", "templates/layout1.htm", "HTML Layout."] +]; \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/media/logo.jpg b/resources/library/interactive/TextEditor.wgt/media/logo.jpg new file mode 100644 index 00000000..ad535d67 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/media/logo.jpg differ diff --git a/resources/library/interactive/TextEditor.wgt/media/logo_over.jpg b/resources/library/interactive/TextEditor.wgt/media/logo_over.jpg new file mode 100644 index 00000000..79fcd884 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/media/logo_over.jpg differ diff --git a/resources/library/interactive/TextEditor.wgt/media/sample.avi b/resources/library/interactive/TextEditor.wgt/media/sample.avi new file mode 100644 index 00000000..238bb688 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/media/sample.avi differ diff --git a/resources/library/interactive/TextEditor.wgt/media/sample.dcr b/resources/library/interactive/TextEditor.wgt/media/sample.dcr new file mode 100644 index 00000000..353b3ce6 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/media/sample.dcr differ diff --git a/resources/library/interactive/TextEditor.wgt/media/sample.flv b/resources/library/interactive/TextEditor.wgt/media/sample.flv new file mode 100644 index 00000000..799d137e Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/media/sample.flv differ diff --git a/resources/library/interactive/TextEditor.wgt/media/sample.mov b/resources/library/interactive/TextEditor.wgt/media/sample.mov new file mode 100644 index 00000000..9c0a0932 Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/media/sample.mov differ diff --git a/resources/library/interactive/TextEditor.wgt/media/sample.ram b/resources/library/interactive/TextEditor.wgt/media/sample.ram new file mode 100644 index 00000000..e2ce04cf --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/media/sample.ram @@ -0,0 +1 @@ +http://streaming.uga.edu/samples/ayp_lan.rm \ No newline at end of file diff --git a/resources/library/interactive/TextEditor.wgt/media/sample.rm b/resources/library/interactive/TextEditor.wgt/media/sample.rm new file mode 100644 index 00000000..8947706e Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/media/sample.rm differ diff --git a/resources/library/interactive/TextEditor.wgt/media/sample.swf b/resources/library/interactive/TextEditor.wgt/media/sample.swf new file mode 100644 index 00000000..9f5fc4ac Binary files /dev/null and b/resources/library/interactive/TextEditor.wgt/media/sample.swf differ diff --git a/resources/library/interactive/TextEditor.wgt/templates/layout1.htm b/resources/library/interactive/TextEditor.wgt/templates/layout1.htm new file mode 100644 index 00000000..7248c237 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/templates/layout1.htm @@ -0,0 +1,15 @@ +<table border="1"> + <thead> + <tr> + <td>Column 1</td> + <td>Column 2</td> + </tr> + </thead> + + <tbody> + <tr> + <td>Username: {$username}</td> + <td>Staffid: {$staffid}</td> + </tr> + </tbody> +</table> diff --git a/resources/library/interactive/TextEditor.wgt/templates/snippet1.htm b/resources/library/interactive/TextEditor.wgt/templates/snippet1.htm new file mode 100644 index 00000000..98f42c37 --- /dev/null +++ b/resources/library/interactive/TextEditor.wgt/templates/snippet1.htm @@ -0,0 +1 @@ +This is just some <strong>code</strong>. diff --git a/resources/library/interactive/WebBrowser.wgt/index.html b/resources/library/interactive/WebBrowser.wgt/index.html index 49d1b680..89da9709 100644 --- a/resources/library/interactive/WebBrowser.wgt/index.html +++ b/resources/library/interactive/WebBrowser.wgt/index.html @@ -1,231 +1,223 @@ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" - "http://www.w3.org/TR/html4/loose.dtd"> + "http://www.w3.org/TR/html4/loose.dtd"> <html> -<head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> - <title>Video Picker</title> - <link rel="stylesheet" type="text/css" href="css/main.css"> - <script src="scripts/jquery-1.3.2.min.js" type="text/javascript"></script> - <script src="scripts/jquery.oembed.js" type="text/javascript"></script> - <!--DEFAULT FR--> -</head> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>Web Browser</title> + <link rel="stylesheet" type="text/css" href="css/main.css"> + <script src="scripts/jquery-1.3.2.min.js" type="text/javascript"></script> + <!--DEFAULT FR--> + </head> -<body> - <script type="text/javascript"> + <body> + <script type="text/javascript"> - $(document).ready(function(){ - //var resizer; // Timer - //var resizerIndex; - var currentHistory = 0; - var references = new Array(); - var globalWidth = 850; - var globalHeight = 700; - var language; - var url = ""; - var margins = { - top: cssToInt($("body").css("margin-top")), - right: cssToInt($("body").css("margin-right")), - bottom: cssToInt($("body").css("margin-bottom")), - left: cssToInt($("body").css("margin-left")) - }; + var loadingState = false; + + function changeLoadingState(){ + loadingState = true; + } + + $(document).ready(function(){ + //var resizer; // Timer + //var resizerIndex; + var currentHistory = 0; + var references = new Array(); + var globalWidth = 850; + var globalHeight = 700; + var url = ""; + var margins = { + top: cssToInt($("body").css("margin-top")), + right: cssToInt($("body").css("margin-right")), + bottom: cssToInt($("body").css("margin-bottom")), + left: cssToInt($("body").css("margin-left")) + }; - //resizerIndex = 0; - - if(window.sankore){ - url = window.sankore.preference("url", ""); - }else{ - url = ""; - }; + var resizer; // Timer + var resizerIndex; + - language = navigator.userAgent.split(";"); - language = language[3].replace(/\s/g, "").substr(0, 2); + resizerIndex = 0; + + if(window.sankore){ + url = window.sankore.preference("url", ""); + }else{ + url = ""; + }; - $("#back-button") - .click(function(){ - if((currentHistory - 1) > 0){ - $("#textbox").val(references[--currentHistory-1]); - frames['web-content'].location.href = references[currentHistory-1]; - } - }); + $("#back-button") + .click(function(){ + loadingState = false; + if((currentHistory - 1) > 0){ + $("#textbox").val(references[--currentHistory-1]); + $("#search-button").trigger("click"); + } + }); - $("#forward-button") - .click(function(){ - if(currentHistory < references.length) { - $("#textbox").val(references[currentHistory++]); - frames['web-content'].location.href = $("#textbox").val(); - } - }); + $("#forward-button") + .click(function(){ + loadingState = false; + if(currentHistory < references.length) { + $("#textbox").val(references[currentHistory++]); + $("#search-button").trigger("click"); + } + }); - $("#textbox").keypress(function(e) { - if(e.keyCode == 13) { - $("#search-button").trigger("click"); - } - }); + $("#textbox").keypress(function(e) { + if(e.keyCode == 13) { + $("#search-button").trigger("click"); + } + }); - $("#search-button") - .click(function(){ - if($("#textbox").val().length > 0){ - var url = $("#textbox").val(); - var urlStart = url.split("://"); + $("#search-button").click(function(){ + if($("#textbox").val().length > 0){ + loadingState = false; + var url = $("#textbox").val(); + var urlStart = url.split("://"); - if(urlStart[0]!="http"){ - url = "http://" + url; - }; + if(urlStart[0]!="http"){ + url = "http://" + url; + }; - if(checkURLs(references, url)){ - if(currentHistory == references.length) - references[currentHistory++] = url; - else - references = insertInto(references, currentHistory++, url); - } - window.resizeTo(globalWidth, globalHeight); + if(checkURLs(references, url)){ + if(currentHistory == references.length) + references[currentHistory++] = url; + else + references = insertInto(references, currentHistory++, url); + } + window.resizeTo(globalWidth, globalHeight); - $("#container") - .removeClass("welcome") - .removeClass("change") - .removeClass("error") - .addClass("load"); - $("#container-shadow").hide(); - $("#arrow").hide(); - $("#embeded-content").hide(); - $("#web-content").show(); + $("#container").removeClass("welcome").removeClass("change") + .removeClass("error").addClass("load"); + $("#container-shadow").hide(); + $("#arrow").hide(); + $("#embeded-content").hide(); + $("#web-content").hide(); + $('#web-content').attr('src',url); - frames['web-content'].location.href = url; - - checkcontent(); - } else { - $("#embeded-content").load("locales/" + "en" + "/howto.html"); // Welcome screen with some explanations - $("#container") - .addClass("welcome") - .addClass("change") - .addClass("error") - .removeClass("load"); - $("#container-shadow").show(); - $("#arrow").show(); - $("#embeded-content").show(); - $("#web-content").hide(); - window.resizeTo(550, 280); - } - }) - .mouseenter(function(){ - $(this) - .addClass("over"); - }) - .mouseleave(function(){ - $(this) - .removeClass("over"); - }); - - if(url.length > 0){ - $("#textbox").val(url); - $("#search-button").trigger("click"); - }else{ - $("#embeded-content").load("locales/" + "en" + "/howto.html"); // Welcome screen with some explanations - }; + checkcontent(); + checkLoading(); + } else { + $("#embeded-content").load("locales/" + "en" + "/howto.html"); // Welcome screen with some explanations + $("#container") + .addClass("welcome") + .addClass("change") + .addClass("error") + .removeClass("load"); + $("#container-shadow").show(); + $("#arrow").show(); + $("#embeded-content").show(); + $("#web-content").hide(); + window.resizeTo(550, 280); + } + }) + .mouseenter(function(){ + $(this) + .addClass("over"); + }) + .mouseleave(function(){ + $(this) + .removeClass("over"); + }); - /*$("#show-inputfield-button") - .click( - function(){ - $("#show-area").hide(); - $("#inputfield").show(); - $("#shadow").show(); - $("#container") - .removeClass("show") - .addClass("change"); - adaptWidgetSize(18, 82); - }) - .mouseenter(function(){ - $(this) - .addClass("over"); - }) - .mouseleave(function(){ - $(this) - .removeClass("over"); - });*/ - - $(window).resize(function(){ - globalWidth = $(window).width(); - globalHeight = $(window).height(); - $("#web-content") - .attr("width", globalWidth - 25) - .attr("height", globalHeight - 90); - }); + if(url.length > 0){ + $("#textbox").val(url); + $("#search-button").trigger("click"); + }else{ + $("#embeded-content").load("locales/" + "en" + "/howto.html"); // Welcome screen with some explanations + }; + + $(window).resize(function(){ + globalWidth = $(window).width(); + globalHeight = $(window).height(); + $("#web-content") + .attr("width", globalWidth - 25) + .attr("height", globalHeight - 90); + }); - function checkcontent(){ - //clearTimeout(resizer); - //resizerIndex = 0; + function checkcontent(){ - if(window.sankore){ - window.sankore.setPreference("url", $("#textbox").val()); - }; + if(window.sankore){ + window.sankore.setPreference("url", $("#textbox").val()); + }; - $("#embeded-content").hide(); - $("#container").removeClass("load").addClass("show"); - }; + $("#embeded-content").hide(); + $("#container").removeClass("load").addClass("show"); + }; - /*function adaptWidgetSize(adjustmentX, adjustmentY){ - var widgetWidth = $("#container").width() + margins.right + margins.left + adjustmentX; - var widgetHeight = $("#container").position().top + $("#container").height() + margins.bottom + adjustmentY; - - window.resizeTo(widgetWidth, $(window).height()); - window.resizeTo($(window).width(), widgetHeight); - };*/ + function checkLoading(){ + if(loadingState){ + + clearTimeout(resizer); + resizerIndex = 0; + $("#web-content").show(); + return false; + }; + if(resizerIndex > 50){ + resizerIndex = 0; + $("#textbox").val("http://www.google.com/search?q=" + $("#textbox").val().replace("http://", "")); + $("#search-button").trigger("click"); + }else{ + resizer = setTimeout(function(){checkLoading()}, 100); + resizerIndex++; + }; + }; - function cssToInt(cssvalue){ - return(parseInt(cssvalue.replace("px", ""))); - } + function cssToInt(cssvalue){ + return(parseInt(cssvalue.replace("px", ""))); + } - function checkURLs(arr, value){ - for(var i = 0; i < arr.length; i++) - if(arr[i] == value) - return false; - return true; - } + function checkURLs(arr, value){ + for(var i = 0; i < arr.length; i++) + if(arr[i] == value) + return false; + return true; + } - function insertInto(arr, index, url){ - var newArr = new Array(); - for(var i = 0, j = 0; i < arr.length; i++, j++) - if(i == index - 1){ - newArr[j] = arr[i]; - newArr[++j] = url; - } else - newArr[j] = arr[i]; - return newArr; - } + function insertInto(arr, index, url){ + var newArr = new Array(); + for(var i = 0, j = 0; i < arr.length; i++, j++) + if(i == index - 1){ + newArr[j] = arr[i]; + newArr[++j] = url; + } else + newArr[j] = arr[i]; + return newArr; + } - }); - </script> + }); + </script> - <div id="ubwidget"> - <div id="shadow"></div> - - <div id="inputfield"> - <div id="back-button" class="button">Previous</div> - <div id="forward-button" class="button">Next</div> - <input id="textbox" type="text"> - <div id="search-button" class="button">Show</div> - </div> + <div id="ubwidget"> + <div id="shadow"></div> - <div id="container" class="welcome"> - <div id="arrow"><img src="imgs/arrow.png" alt="arrow-top"></div> - - <div id="show-container"> - <div id="embeded-content"></div> - <iframe id="web-content" name="web-content" src="" scrolling=auto frameborder=1 ></iframe> - </div> - - <table cellspacing="0" cellpadding="0" id="container-shadow"> - <tr> - <td id="shadow-left"></td> - <td id="shadow-center"> </td> - <td id="shadow-right"></td> - </tr> - </table> - </div> - - </div> -</body> + <div id="inputfield"> + <div id="back-button" class="button">Previous</div> + <div id="forward-button" class="button">Next</div> + <input id="textbox" type="text"> + <div id="search-button" class="button">Show</div> + </div> + + <div id="container" class="welcome"> + <div id="arrow"><img src="imgs/arrow.png" alt="arrow-top"></div> + + <div id="show-container"> + <div id="embeded-content"></div> + <iframe id="web-content" name="web-content" src="" scrolling=auto frameborder=1 onload="changeLoadingState()"></iframe> + </div> + + <table cellspacing="0" cellpadding="0" id="container-shadow"> + <tr> + <td id="shadow-left"></td> + <td id="shadow-center"> </td> + <td id="shadow-right"></td> + </tr> + </table> + </div> + + </div> + </body> </html> \ No newline at end of file diff --git a/resources/library/interactive/WebBrowser.wgt/scripts/jquery.oembed.js b/resources/library/interactive/WebBrowser.wgt/scripts/jquery.oembed.js deleted file mode 100644 index 827bdb80..00000000 --- a/resources/library/interactive/WebBrowser.wgt/scripts/jquery.oembed.js +++ /dev/null @@ -1,146 +0,0 @@ -(function($) { - $.fn.oembed = function(url, options) { - - options = $.extend({}, $.fn.oembed.defaults, options); - - return this.each(function() { - - var container = $(this), - target = (url != null) ? url : container.attr("href"), - provider; - - if (target != null) { - - provider = getOEmbedProvider(target); - - if (provider != null) { - provider.maxWidth = options.maxWidth; - provider.maxHeight = options.maxHeight; - - provider.embedCode(target, function(code) { container.html(code); }); - } - } - }); - }; - - // Plugin defaults - $.fn.oembed.defaults = { - maxWidth: 500, - maxHeight: 400 - }; - - $.fn.oembed.getPhotoCode = function(url, data) { - var code = '<div><a href="' + url + '" target="_blank"><img src="' + data.url + '"/></a></div>'; - if (data.html) - code += "<div>" + data.html + "</div>"; - return code; - }; - - $.fn.oembed.getVideoCode = function(url, data) { - var code = data.html; - return code; - }; - - $.fn.oembed.getRichCode = function(url, data) { - var code = data.html; - return code; - }; - - $.fn.oembed.getGenericCode = function(url, data) { - var title = (data.title != null) ? data.title : url, - code = '<a href="' + url + '">' + title + '</a>'; - if (data.html) - code += "<div>" + data.html + "</div>"; - return code; - }; - - $.fn.oembed.isAvailable = function(url) { - var provider = getOEmbedProvider(url); - return (provider != null); - }; - - /* Private Methods */ - function getOEmbedProvider(url) { - for (var i = 0; i < providers.length; i++) { - if (providers[i].matches(url)) - return providers[i]; - } - return null; - } - - var providers = [ - new OEmbedProvider("fivemin", "5min.com"), - new OEmbedProvider("amazon", "amazon.com"), - new OEmbedProvider("flickr", "flickr", "http://flickr.com/services/oembed", "jsoncallback"), - new OEmbedProvider("googlevideo", "video.google."), - new OEmbedProvider("hulu", "hulu.com"), - new OEmbedProvider("imdb", "imdb.com"), - new OEmbedProvider("metacafe", "metacafe.com"), - new OEmbedProvider("qik", "qik.com"), - new OEmbedProvider("revision3", "slideshare"), - new OEmbedProvider("slideshare", "5min.com"), - new OEmbedProvider("twitpic", "twitpic.com"), - new OEmbedProvider("viddler", "viddler.com"), - new OEmbedProvider("vimeo", "vimeo.com", "http://vimeo.com/api/oembed.json"), - new OEmbedProvider("wikipedia", "wikipedia.org"), - new OEmbedProvider("wordpress", "wordpress.com"), - new OEmbedProvider("youtube", "youtube.com") - ]; - - function OEmbedProvider(name, urlPattern, oEmbedUrl, callbackparameter) { - this.name = name; - this.urlPattern = urlPattern; - this.oEmbedUrl = (oEmbedUrl != null) ? oEmbedUrl : "http://oohembed.com/oohembed/"; - this.callbackparameter = (callbackparameter != null) ? callbackparameter : "callback"; - this.maxWidth = 500; - this.maxHeight = 400; - - this.matches = function(externalUrl) { - // TODO: Convert to Regex - return externalUrl.indexOf(this.urlPattern) >= 0; - }; - - this.getRequestUrl = function(externalUrl) { - - var url = this.oEmbedUrl; - - if (url.indexOf("?") <= 0) - url = url + "?"; - - url += "maxwidth=" + this.maxWidth + - "&maxHeight=" + this.maxHeight + - "&format=json" + - "&url=" + escape(externalUrl) + - "&" + this.callbackparameter + "=?"; - return url; - } - - this.embedCode = function(externalUrl, embedCallback) { - - var request = this.getRequestUrl(externalUrl); - - $.getJSON(request, function(data) { - - var code, type = data.type; - - switch (type) { - case "photo": - code = $.fn.oembed.getPhotoCode(externalUrl, data); - break; - case "video": - code = $.fn.oembed.getVideoCode(externalUrl, data); - break; - case "rich": - code = $.fn.oembed.getRichCode(externalUrl, data); - break; - default: - code = $.fn.oembed.getGenericCode(externalUrl, data); - break; - } - - embedCallback(code); - }); - } - } -})(jQuery); - diff --git a/resources/library/interactive/barre_prof.wgt/custom_icon.png b/resources/library/interactive/barre_prof.wgt/custom_icon.png deleted file mode 100644 index 0fa26bfb..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/custom_icon.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/CheckedMenuItem.js b/resources/library/interactive/barre_prof.wgt/dijit/CheckedMenuItem.js deleted file mode 100644 index b95898d6..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/CheckedMenuItem.js +++ /dev/null @@ -1,24 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.CheckedMenuItem"]){ -dojo._hasResource["dijit.CheckedMenuItem"]=true; -dojo.provide("dijit.CheckedMenuItem"); -dojo.require("dijit.MenuItem"); -dojo.declare("dijit.CheckedMenuItem",dijit.MenuItem,{templateString:dojo.cache("dijit","templates/CheckedMenuItem.html","<tr class=\"dijitReset dijitMenuItem\" dojoAttachPoint=\"focusNode\" role=\"menuitemcheckbox\" tabIndex=\"-1\"\n\t\tdojoAttachEvent=\"onmouseenter:_onHover,onmouseleave:_onUnhover,ondijitclick:_onClick\">\n\t<td class=\"dijitReset dijitMenuItemIconCell\" role=\"presentation\">\n\t\t<img src=\"${_blankGif}\" alt=\"\" class=\"dijitMenuItemIcon dijitCheckedMenuItemIcon\" dojoAttachPoint=\"iconNode\"/>\n\t\t<span class=\"dijitCheckedMenuItemIconChar\">✓</span>\n\t</td>\n\t<td class=\"dijitReset dijitMenuItemLabel\" colspan=\"2\" dojoAttachPoint=\"containerNode,labelNode\"></td>\n\t<td class=\"dijitReset dijitMenuItemAccelKey\" style=\"display: none\" dojoAttachPoint=\"accelKeyNode\"></td>\n\t<td class=\"dijitReset dijitMenuArrowCell\" role=\"presentation\"> </td>\n</tr>\n"),checked:false,_setCheckedAttr:function(_1){ -dojo.toggleClass(this.domNode,"dijitCheckedMenuItemChecked",_1); -dijit.setWaiState(this.domNode,"checked",_1); -this._set("checked",_1); -},onChange:function(_2){ -},_onClick:function(e){ -if(!this.disabled){ -this.set("checked",!this.checked); -this.onChange(this.checked); -} -this.inherited(arguments); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/ColorPalette.js b/resources/library/interactive/barre_prof.wgt/dijit/ColorPalette.js deleted file mode 100644 index 0891e4ef..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/ColorPalette.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.ColorPalette"]){ -dojo._hasResource["dijit.ColorPalette"]=true; -dojo.provide("dijit.ColorPalette"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Templated"); -dojo.require("dojo.colors"); -dojo.require("dojo.i18n"); -dojo.require("dojo.string"); -dojo.require("dijit._PaletteMixin"); -dojo.requireLocalization("dojo","colors",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dijit.ColorPalette",[dijit._Widget,dijit._Templated,dijit._PaletteMixin],{palette:"7x10",_palettes:{"7x10":[["white","seashell","cornsilk","lemonchiffon","lightyellow","palegreen","paleturquoise","lightcyan","lavender","plum"],["lightgray","pink","bisque","moccasin","khaki","lightgreen","lightseagreen","lightskyblue","cornflowerblue","violet"],["silver","lightcoral","sandybrown","orange","palegoldenrod","chartreuse","mediumturquoise","skyblue","mediumslateblue","orchid"],["gray","red","orangered","darkorange","yellow","limegreen","darkseagreen","royalblue","slateblue","mediumorchid"],["dimgray","crimson","chocolate","coral","gold","forestgreen","seagreen","blue","blueviolet","darkorchid"],["darkslategray","firebrick","saddlebrown","sienna","olive","green","darkcyan","mediumblue","darkslateblue","darkmagenta"],["black","darkred","maroon","brown","darkolivegreen","darkgreen","midnightblue","navy","indigo","purple"]],"3x4":[["white","lime","green","blue"],["silver","yellow","fuchsia","navy"],["gray","red","purple","black"]]},templateString:dojo.cache("dijit","templates/ColorPalette.html","<div class=\"dijitInline dijitColorPalette\">\n\t<table class=\"dijitPaletteTable\" cellSpacing=\"0\" cellPadding=\"0\">\n\t\t<tbody dojoAttachPoint=\"gridNode\"></tbody>\n\t</table>\n</div>\n"),baseClass:"dijitColorPalette",buildRendering:function(){ -this.inherited(arguments); -this._preparePalette(this._palettes[this.palette],dojo.i18n.getLocalization("dojo","colors",this.lang),dojo.declare(dijit._Color,{hc:dojo.hasClass(dojo.body(),"dijit_a11y"),palette:this.palette})); -}}); -dojo.declare("dijit._Color",dojo.Color,{template:"<span class='dijitInline dijitPaletteImg'>"+"<img src='${blankGif}' alt='${alt}' class='dijitColorPaletteSwatch' style='background-color: ${color}'/>"+"</span>",hcTemplate:"<span class='dijitInline dijitPaletteImg' style='position: relative; overflow: hidden; height: 12px; width: 14px;'>"+"<img src='${image}' alt='${alt}' style='position: absolute; left: ${left}px; top: ${top}px; ${size}'/>"+"</span>",_imagePaths:{"7x10":dojo.moduleUrl("dijit.themes","a11y/colors7x10.png"),"3x4":dojo.moduleUrl("dijit.themes","a11y/colors3x4.png")},constructor:function(_1,_2,_3){ -this._alias=_1; -this._row=_2; -this._col=_3; -this.setColor(dojo.Color.named[_1]); -},getValue:function(){ -return this.toHex(); -},fillCell:function(_4,_5){ -var _6=dojo.string.substitute(this.hc?this.hcTemplate:this.template,{color:this.toHex(),blankGif:_5,alt:this._alias,image:this._imagePaths[this.palette].toString(),left:this._col*-20-5,top:this._row*-20-5,size:this.palette=="7x10"?"height: 145px; width: 206px":"height: 64px; width: 86px"}); -dojo.place(_6,_4); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/Dialog.js b/resources/library/interactive/barre_prof.wgt/dijit/Dialog.js deleted file mode 100644 index a15ad5c3..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/Dialog.js +++ /dev/null @@ -1,283 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.Dialog"]){ -dojo._hasResource["dijit.Dialog"]=true; -dojo.provide("dijit.Dialog"); -dojo.require("dojo.dnd.move"); -dojo.require("dojo.dnd.TimedMoveable"); -dojo.require("dojo.fx"); -dojo.require("dojo.window"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Templated"); -dojo.require("dijit._CssStateMixin"); -dojo.require("dijit.form._FormMixin"); -dojo.require("dijit._DialogMixin"); -dojo.require("dijit.DialogUnderlay"); -dojo.require("dijit.layout.ContentPane"); -dojo.requireLocalization("dijit","common",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.require("dijit.TooltipDialog"); -dojo.declare("dijit._DialogBase",[dijit._Templated,dijit.form._FormMixin,dijit._DialogMixin,dijit._CssStateMixin],{templateString:dojo.cache("dijit","templates/Dialog.html","<div class=\"dijitDialog\" role=\"dialog\" aria-labelledby=\"${id}_title\">\n\t<div dojoAttachPoint=\"titleBar\" class=\"dijitDialogTitleBar\">\n\t<span dojoAttachPoint=\"titleNode\" class=\"dijitDialogTitle\" id=\"${id}_title\"></span>\n\t<span dojoAttachPoint=\"closeButtonNode\" class=\"dijitDialogCloseIcon\" dojoAttachEvent=\"ondijitclick: onCancel\" title=\"${buttonCancel}\" role=\"button\" tabIndex=\"-1\">\n\t\t<span dojoAttachPoint=\"closeText\" class=\"closeText\" title=\"${buttonCancel}\">x</span>\n\t</span>\n\t</div>\n\t\t<div dojoAttachPoint=\"containerNode\" class=\"dijitDialogPaneContent\"></div>\n</div>\n"),baseClass:"dijitDialog",cssStateNodes:{closeButtonNode:"dijitDialogCloseIcon"},attributeMap:dojo.delegate(dijit._Widget.prototype.attributeMap,{title:[{node:"titleNode",type:"innerHTML"},{node:"titleBar",type:"attribute"}],"aria-describedby":""}),open:false,duration:dijit.defaultDuration,refocus:true,autofocus:true,_firstFocusItem:null,_lastFocusItem:null,doLayout:false,draggable:true,"aria-describedby":"",postMixInProperties:function(){ -var _1=dojo.i18n.getLocalization("dijit","common"); -dojo.mixin(this,_1); -this.inherited(arguments); -},postCreate:function(){ -dojo.style(this.domNode,{display:"none",position:"absolute"}); -dojo.body().appendChild(this.domNode); -this.inherited(arguments); -this.connect(this,"onExecute","hide"); -this.connect(this,"onCancel","hide"); -this._modalconnects=[]; -},onLoad:function(){ -this._position(); -if(this.autofocus&&dijit._DialogLevelManager.isTop(this)){ -this._getFocusItems(this.domNode); -dijit.focus(this._firstFocusItem); -} -this.inherited(arguments); -},_endDrag:function(e){ -if(e&&e.node&&e.node===this.domNode){ -this._relativePosition=dojo.position(e.node); -} -},_setup:function(){ -var _2=this.domNode; -if(this.titleBar&&this.draggable){ -this._moveable=(dojo.isIE==6)?new dojo.dnd.TimedMoveable(_2,{handle:this.titleBar}):new dojo.dnd.Moveable(_2,{handle:this.titleBar,timeout:0}); -this._dndListener=dojo.subscribe("/dnd/move/stop",this,"_endDrag"); -}else{ -dojo.addClass(_2,"dijitDialogFixed"); -} -this.underlayAttrs={dialogId:this.id,"class":dojo.map(this["class"].split(/\s/),function(s){ -return s+"_underlay"; -}).join(" ")}; -},_size:function(){ -this._checkIfSingleChild(); -if(this._singleChild){ -if(this._singleChildOriginalStyle){ -this._singleChild.domNode.style.cssText=this._singleChildOriginalStyle; -} -delete this._singleChildOriginalStyle; -}else{ -dojo.style(this.containerNode,{width:"auto",height:"auto"}); -} -var mb=dojo._getMarginSize(this.domNode); -var _3=dojo.window.getBox(); -if(mb.w>=_3.w||mb.h>=_3.h){ -var w=Math.min(mb.w,Math.floor(_3.w*0.75)),h=Math.min(mb.h,Math.floor(_3.h*0.75)); -if(this._singleChild&&this._singleChild.resize){ -this._singleChildOriginalStyle=this._singleChild.domNode.style.cssText; -this._singleChild.resize({w:w,h:h}); -}else{ -dojo.style(this.containerNode,{width:w+"px",height:h+"px",overflow:"auto",position:"relative"}); -} -}else{ -if(this._singleChild&&this._singleChild.resize){ -this._singleChild.resize(); -} -} -},_position:function(){ -if(!dojo.hasClass(dojo.body(),"dojoMove")){ -var _4=this.domNode,_5=dojo.window.getBox(),p=this._relativePosition,bb=p?null:dojo._getBorderBox(_4),l=Math.floor(_5.l+(p?p.x:(_5.w-bb.w)/2)),t=Math.floor(_5.t+(p?p.y:(_5.h-bb.h)/2)); -dojo.style(_4,{left:l+"px",top:t+"px"}); -} -},_onKey:function(_6){ -if(_6.charOrCode){ -var dk=dojo.keys; -var _7=_6.target; -if(_6.charOrCode===dk.TAB){ -this._getFocusItems(this.domNode); -} -var _8=(this._firstFocusItem==this._lastFocusItem); -if(_7==this._firstFocusItem&&_6.shiftKey&&_6.charOrCode===dk.TAB){ -if(!_8){ -dijit.focus(this._lastFocusItem); -} -dojo.stopEvent(_6); -}else{ -if(_7==this._lastFocusItem&&_6.charOrCode===dk.TAB&&!_6.shiftKey){ -if(!_8){ -dijit.focus(this._firstFocusItem); -} -dojo.stopEvent(_6); -}else{ -while(_7){ -if(_7==this.domNode||dojo.hasClass(_7,"dijitPopup")){ -if(_6.charOrCode==dk.ESCAPE){ -this.onCancel(); -}else{ -return; -} -} -_7=_7.parentNode; -} -if(_6.charOrCode!==dk.TAB){ -dojo.stopEvent(_6); -}else{ -if(!dojo.isOpera){ -try{ -this._firstFocusItem.focus(); -} -catch(e){ -} -} -} -} -} -} -},show:function(){ -if(this.open){ -return; -} -if(!this._started){ -this.startup(); -} -if(!this._alreadyInitialized){ -this._setup(); -this._alreadyInitialized=true; -} -if(this._fadeOutDeferred){ -this._fadeOutDeferred.cancel(); -} -this._modalconnects.push(dojo.connect(window,"onscroll",this,"layout")); -this._modalconnects.push(dojo.connect(window,"onresize",this,function(){ -var _9=dojo.window.getBox(); -if(!this._oldViewport||_9.h!=this._oldViewport.h||_9.w!=this._oldViewport.w){ -this.layout(); -this._oldViewport=_9; -} -})); -this._modalconnects.push(dojo.connect(this.domNode,"onkeypress",this,"_onKey")); -dojo.style(this.domNode,{opacity:0,display:""}); -this._set("open",true); -this._onShow(); -this._size(); -this._position(); -var _a; -this._fadeInDeferred=new dojo.Deferred(dojo.hitch(this,function(){ -_a.stop(); -delete this._fadeInDeferred; -})); -_a=dojo.fadeIn({node:this.domNode,duration:this.duration,beforeBegin:dojo.hitch(this,function(){ -dijit._DialogLevelManager.show(this,this.underlayAttrs); -}),onEnd:dojo.hitch(this,function(){ -if(this.autofocus&&dijit._DialogLevelManager.isTop(this)){ -this._getFocusItems(this.domNode); -dijit.focus(this._firstFocusItem); -} -this._fadeInDeferred.callback(true); -delete this._fadeInDeferred; -})}).play(); -return this._fadeInDeferred; -},hide:function(){ -if(!this._alreadyInitialized){ -return; -} -if(this._fadeInDeferred){ -this._fadeInDeferred.cancel(); -} -var _b; -this._fadeOutDeferred=new dojo.Deferred(dojo.hitch(this,function(){ -_b.stop(); -delete this._fadeOutDeferred; -})); -_b=dojo.fadeOut({node:this.domNode,duration:this.duration,onEnd:dojo.hitch(this,function(){ -this.domNode.style.display="none"; -dijit._DialogLevelManager.hide(this); -this.onHide(); -this._fadeOutDeferred.callback(true); -delete this._fadeOutDeferred; -})}).play(); -if(this._scrollConnected){ -this._scrollConnected=false; -} -dojo.forEach(this._modalconnects,dojo.disconnect); -this._modalconnects=[]; -if(this._relativePosition){ -delete this._relativePosition; -} -this._set("open",false); -return this._fadeOutDeferred; -},layout:function(){ -if(this.domNode.style.display!="none"){ -if(dijit._underlay){ -dijit._underlay.layout(); -} -this._position(); -} -},destroy:function(){ -if(this._fadeInDeferred){ -this._fadeInDeferred.cancel(); -} -if(this._fadeOutDeferred){ -this._fadeOutDeferred.cancel(); -} -if(this._moveable){ -this._moveable.destroy(); -} -if(this._dndListener){ -dojo.unsubscribe(this._dndListener); -} -dojo.forEach(this._modalconnects,dojo.disconnect); -dijit._DialogLevelManager.hide(this); -this.inherited(arguments); -}}); -dojo.declare("dijit.Dialog",[dijit.layout.ContentPane,dijit._DialogBase],{}); -dijit._DialogLevelManager={show:function(_c,_d){ -var ds=dijit._dialogStack; -ds[ds.length-1].focus=dijit.getFocus(_c); -var _e=dijit._underlay; -if(!_e||_e._destroyed){ -_e=dijit._underlay=new dijit.DialogUnderlay(_d); -}else{ -_e.set(_c.underlayAttrs); -} -var _f=ds[ds.length-1].dialog?ds[ds.length-1].zIndex+2:950; -if(ds.length==1){ -_e.show(); -} -dojo.style(dijit._underlay.domNode,"zIndex",_f-1); -dojo.style(_c.domNode,"zIndex",_f); -ds.push({dialog:_c,underlayAttrs:_d,zIndex:_f}); -},hide:function(_10){ -var ds=dijit._dialogStack; -if(ds[ds.length-1].dialog==_10){ -ds.pop(); -var pd=ds[ds.length-1]; -if(ds.length==1){ -if(!dijit._underlay._destroyed){ -dijit._underlay.hide(); -} -}else{ -dojo.style(dijit._underlay.domNode,"zIndex",pd.zIndex-1); -dijit._underlay.set(pd.underlayAttrs); -} -if(_10.refocus){ -var _11=pd.focus; -if(!_11||(pd.dialog&&!dojo.isDescendant(_11.node,pd.dialog.domNode))){ -pd.dialog._getFocusItems(pd.dialog.domNode); -_11=pd.dialog._firstFocusItem; -} -try{ -dijit.focus(_11); -} -catch(e){ -} -} -}else{ -var idx=dojo.indexOf(dojo.map(ds,function(_12){ -return _12.dialog; -}),_10); -if(idx!=-1){ -ds.splice(idx,1); -} -} -},isTop:function(_13){ -var ds=dijit._dialogStack; -return ds[ds.length-1].dialog==_13; -}}; -dijit._dialogStack=[{dialog:null,focus:null,underlayAttrs:null}]; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/DialogUnderlay.js b/resources/library/interactive/barre_prof.wgt/dijit/DialogUnderlay.js deleted file mode 100644 index d38a6f8d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/DialogUnderlay.js +++ /dev/null @@ -1,40 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.DialogUnderlay"]){ -dojo._hasResource["dijit.DialogUnderlay"]=true; -dojo.provide("dijit.DialogUnderlay"); -dojo.require("dojo.window"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Templated"); -dojo.declare("dijit.DialogUnderlay",[dijit._Widget,dijit._Templated],{templateString:"<div class='dijitDialogUnderlayWrapper'><div class='dijitDialogUnderlay' dojoAttachPoint='node'></div></div>",dialogId:"","class":"",attributeMap:{id:"domNode"},_setDialogIdAttr:function(id){ -dojo.attr(this.node,"id",id+"_underlay"); -this._set("dialogId",id); -},_setClassAttr:function(_1){ -this.node.className="dijitDialogUnderlay "+_1; -this._set("class",_1); -},postCreate:function(){ -dojo.body().appendChild(this.domNode); -},layout:function(){ -var is=this.node.style,os=this.domNode.style; -os.display="none"; -var _2=dojo.window.getBox(); -os.top=_2.t+"px"; -os.left=_2.l+"px"; -is.width=_2.w+"px"; -is.height=_2.h+"px"; -os.display="block"; -},show:function(){ -this.domNode.style.display="block"; -this.layout(); -this.bgIframe=new dijit.BackgroundIframe(this.domNode); -},hide:function(){ -this.bgIframe.destroy(); -delete this.bgIframe; -this.domNode.style.display="none"; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/Editor.js b/resources/library/interactive/barre_prof.wgt/dijit/Editor.js deleted file mode 100644 index ac502247..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/Editor.js +++ /dev/null @@ -1,496 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.Editor"]){ -dojo._hasResource["dijit.Editor"]=true; -dojo.provide("dijit.Editor"); -dojo.require("dijit._editor.RichText"); -dojo.require("dijit.Toolbar"); -dojo.require("dijit.ToolbarSeparator"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit._editor.plugins.EnterKeyHandling"); -dojo.require("dijit._editor.range"); -dojo.require("dijit._Container"); -dojo.require("dojo.i18n"); -dojo.require("dijit.layout._LayoutWidget"); -dojo.requireLocalization("dijit._editor","commands",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dijit.Editor",dijit._editor.RichText,{plugins:null,extraPlugins:null,constructor:function(){ -if(!dojo.isArray(this.plugins)){ -this.plugins=["undo","redo","|","cut","copy","paste","|","bold","italic","underline","strikethrough","|","insertOrderedList","insertUnorderedList","indent","outdent","|","justifyLeft","justifyRight","justifyCenter","justifyFull","dijit._editor.plugins.EnterKeyHandling"]; -} -this._plugins=[]; -this._editInterval=this.editActionInterval*1000; -if(dojo.isIE){ -this.events.push("onBeforeDeactivate"); -this.events.push("onBeforeActivate"); -} -},postMixInProperties:function(){ -this.setValueDeferred=new dojo.Deferred(); -this.inherited(arguments); -},postCreate:function(){ -this._steps=this._steps.slice(0); -this._undoedSteps=this._undoedSteps.slice(0); -if(dojo.isArray(this.extraPlugins)){ -this.plugins=this.plugins.concat(this.extraPlugins); -} -this.inherited(arguments); -this.commands=dojo.i18n.getLocalization("dijit._editor","commands",this.lang); -if(!this.toolbar){ -this.toolbar=new dijit.Toolbar({dir:this.dir,lang:this.lang}); -this.header.appendChild(this.toolbar.domNode); -} -dojo.forEach(this.plugins,this.addPlugin,this); -this.setValueDeferred.callback(true); -dojo.addClass(this.iframe.parentNode,"dijitEditorIFrameContainer"); -dojo.addClass(this.iframe,"dijitEditorIFrame"); -dojo.attr(this.iframe,"allowTransparency",true); -if(dojo.isWebKit){ -dojo.style(this.domNode,"KhtmlUserSelect","none"); -} -this.toolbar.startup(); -this.onNormalizedDisplayChanged(); -},destroy:function(){ -dojo.forEach(this._plugins,function(p){ -if(p&&p.destroy){ -p.destroy(); -} -}); -this._plugins=[]; -this.toolbar.destroyRecursive(); -delete this.toolbar; -this.inherited(arguments); -},addPlugin:function(_1,_2){ -var _3=dojo.isString(_1)?{name:_1}:_1; -if(!_3.setEditor){ -var o={"args":_3,"plugin":null,"editor":this}; -dojo.publish(dijit._scopeName+".Editor.getPlugin",[o]); -if(!o.plugin){ -var pc=dojo.getObject(_3.name); -if(pc){ -o.plugin=new pc(_3); -} -} -if(!o.plugin){ -console.warn("Cannot find plugin",_1); -return; -} -_1=o.plugin; -} -if(arguments.length>1){ -this._plugins[_2]=_1; -}else{ -this._plugins.push(_1); -} -_1.setEditor(this); -if(dojo.isFunction(_1.setToolbar)){ -_1.setToolbar(this.toolbar); -} -},startup:function(){ -},resize:function(_4){ -if(_4){ -dijit.layout._LayoutWidget.prototype.resize.apply(this,arguments); -} -},layout:function(){ -var _5=(this._contentBox.h-(this.getHeaderHeight()+this.getFooterHeight()+dojo._getPadBorderExtents(this.iframe.parentNode).h+dojo._getMarginExtents(this.iframe.parentNode).h)); -this.editingArea.style.height=_5+"px"; -if(this.iframe){ -this.iframe.style.height="100%"; -} -this._layoutMode=true; -},_onIEMouseDown:function(e){ -var _6; -var b=this.document.body; -var _7=b.clientWidth; -var _8=b.clientHeight; -var _9=b.clientLeft; -var _a=b.offsetWidth; -var _b=b.offsetHeight; -var _c=b.offsetLeft; -bodyDir=b.dir?b.dir.toLowerCase():""; -if(bodyDir!="rtl"){ -if(_7<_a&&e.x>_7&&e.x<_a){ -_6=true; -} -}else{ -if(e.x<_9&&e.x>_c){ -_6=true; -} -} -if(!_6){ -if(_8<_b&&e.y>_8&&e.y<_b){ -_6=true; -} -} -if(!_6){ -delete this._cursorToStart; -delete this._savedSelection; -if(e.target.tagName=="BODY"){ -setTimeout(dojo.hitch(this,"placeCursorAtEnd"),0); -} -this.inherited(arguments); -} -},onBeforeActivate:function(e){ -this._restoreSelection(); -},onBeforeDeactivate:function(e){ -if(this.customUndo){ -this.endEditing(true); -} -if(e.target.tagName!="BODY"){ -this._saveSelection(); -} -},customUndo:true,editActionInterval:3,beginEditing:function(_d){ -if(!this._inEditing){ -this._inEditing=true; -this._beginEditing(_d); -} -if(this.editActionInterval>0){ -if(this._editTimer){ -clearTimeout(this._editTimer); -} -this._editTimer=setTimeout(dojo.hitch(this,this.endEditing),this._editInterval); -} -},_steps:[],_undoedSteps:[],execCommand:function(_e){ -if(this.customUndo&&(_e=="undo"||_e=="redo")){ -return this[_e](); -}else{ -if(this.customUndo){ -this.endEditing(); -this._beginEditing(); -} -var r; -var _f=/copy|cut|paste/.test(_e); -try{ -r=this.inherited(arguments); -if(dojo.isWebKit&&_f&&!r){ -throw {code:1011}; -} -} -catch(e){ -if(e.code==1011&&_f){ -var sub=dojo.string.substitute,_10={cut:"X",copy:"C",paste:"V"}; -alert(sub(this.commands.systemShortcut,[this.commands[_e],sub(this.commands[dojo.isMac?"appleKey":"ctrlKey"],[_10[_e]])])); -} -r=false; -} -if(this.customUndo){ -this._endEditing(); -} -return r; -} -},queryCommandEnabled:function(cmd){ -if(this.customUndo&&(cmd=="undo"||cmd=="redo")){ -return cmd=="undo"?(this._steps.length>1):(this._undoedSteps.length>0); -}else{ -return this.inherited(arguments); -} -},_moveToBookmark:function(b){ -var _11=b.mark; -var _12=b.mark; -var col=b.isCollapsed; -var r,_13,_14,sel; -if(_12){ -if(dojo.isIE<9){ -if(dojo.isArray(_12)){ -_11=[]; -dojo.forEach(_12,function(n){ -_11.push(dijit.range.getNode(n,this.editNode)); -},this); -dojo.withGlobal(this.window,"moveToBookmark",dijit,[{mark:_11,isCollapsed:col}]); -}else{ -if(_12.startContainer&&_12.endContainer){ -sel=dijit.range.getSelection(this.window); -if(sel&&sel.removeAllRanges){ -sel.removeAllRanges(); -r=dijit.range.create(this.window); -_13=dijit.range.getNode(_12.startContainer,this.editNode); -_14=dijit.range.getNode(_12.endContainer,this.editNode); -if(_13&&_14){ -r.setStart(_13,_12.startOffset); -r.setEnd(_14,_12.endOffset); -sel.addRange(r); -} -} -} -} -}else{ -sel=dijit.range.getSelection(this.window); -if(sel&&sel.removeAllRanges){ -sel.removeAllRanges(); -r=dijit.range.create(this.window); -_13=dijit.range.getNode(_12.startContainer,this.editNode); -_14=dijit.range.getNode(_12.endContainer,this.editNode); -if(_13&&_14){ -r.setStart(_13,_12.startOffset); -r.setEnd(_14,_12.endOffset); -sel.addRange(r); -} -} -} -} -},_changeToStep:function(_15,to){ -this.setValue(to.text); -var b=to.bookmark; -if(!b){ -return; -} -this._moveToBookmark(b); -},undo:function(){ -var ret=false; -if(!this._undoRedoActive){ -this._undoRedoActive=true; -this.endEditing(true); -var s=this._steps.pop(); -if(s&&this._steps.length>0){ -this.focus(); -this._changeToStep(s,this._steps[this._steps.length-1]); -this._undoedSteps.push(s); -this.onDisplayChanged(); -delete this._undoRedoActive; -ret=true; -} -delete this._undoRedoActive; -} -return ret; -},redo:function(){ -var ret=false; -if(!this._undoRedoActive){ -this._undoRedoActive=true; -this.endEditing(true); -var s=this._undoedSteps.pop(); -if(s&&this._steps.length>0){ -this.focus(); -this._changeToStep(this._steps[this._steps.length-1],s); -this._steps.push(s); -this.onDisplayChanged(); -ret=true; -} -delete this._undoRedoActive; -} -return ret; -},endEditing:function(_16){ -if(this._editTimer){ -clearTimeout(this._editTimer); -} -if(this._inEditing){ -this._endEditing(_16); -this._inEditing=false; -} -},_getBookmark:function(){ -var b=dojo.withGlobal(this.window,dijit.getBookmark); -var tmp=[]; -if(b&&b.mark){ -var _17=b.mark; -if(dojo.isIE<9){ -var sel=dijit.range.getSelection(this.window); -if(!dojo.isArray(_17)){ -if(sel){ -var _18; -if(sel.rangeCount){ -_18=sel.getRangeAt(0); -} -if(_18){ -b.mark=_18.cloneRange(); -}else{ -b.mark=dojo.withGlobal(this.window,dijit.getBookmark); -} -} -}else{ -dojo.forEach(b.mark,function(n){ -tmp.push(dijit.range.getIndex(n,this.editNode).o); -},this); -b.mark=tmp; -} -} -try{ -if(b.mark&&b.mark.startContainer){ -tmp=dijit.range.getIndex(b.mark.startContainer,this.editNode).o; -b.mark={startContainer:tmp,startOffset:b.mark.startOffset,endContainer:b.mark.endContainer===b.mark.startContainer?tmp:dijit.range.getIndex(b.mark.endContainer,this.editNode).o,endOffset:b.mark.endOffset}; -} -} -catch(e){ -b.mark=null; -} -} -return b; -},_beginEditing:function(cmd){ -if(this._steps.length===0){ -this._steps.push({"text":dijit._editor.getChildrenHtml(this.editNode),"bookmark":this._getBookmark()}); -} -},_endEditing:function(_19){ -var v=dijit._editor.getChildrenHtml(this.editNode); -this._undoedSteps=[]; -this._steps.push({text:v,bookmark:this._getBookmark()}); -},onKeyDown:function(e){ -if(!dojo.isIE&&!this.iframe&&e.keyCode==dojo.keys.TAB&&!this.tabIndent){ -this._saveSelection(); -} -if(!this.customUndo){ -this.inherited(arguments); -return; -} -var k=e.keyCode,ks=dojo.keys; -if(e.ctrlKey&&!e.altKey){ -if(k==90||k==122){ -dojo.stopEvent(e); -this.undo(); -return; -}else{ -if(k==89||k==121){ -dojo.stopEvent(e); -this.redo(); -return; -} -} -} -this.inherited(arguments); -switch(k){ -case ks.ENTER: -case ks.BACKSPACE: -case ks.DELETE: -this.beginEditing(); -break; -case 88: -case 86: -if(e.ctrlKey&&!e.altKey&&!e.metaKey){ -this.endEditing(); -if(e.keyCode==88){ -this.beginEditing("cut"); -setTimeout(dojo.hitch(this,this.endEditing),1); -}else{ -this.beginEditing("paste"); -setTimeout(dojo.hitch(this,this.endEditing),1); -} -break; -} -default: -if(!e.ctrlKey&&!e.altKey&&!e.metaKey&&(e.keyCode<dojo.keys.F1||e.keyCode>dojo.keys.F15)){ -this.beginEditing(); -break; -} -case ks.ALT: -this.endEditing(); -break; -case ks.UP_ARROW: -case ks.DOWN_ARROW: -case ks.LEFT_ARROW: -case ks.RIGHT_ARROW: -case ks.HOME: -case ks.END: -case ks.PAGE_UP: -case ks.PAGE_DOWN: -this.endEditing(true); -break; -case ks.CTRL: -case ks.SHIFT: -case ks.TAB: -break; -} -},_onBlur:function(){ -this.inherited(arguments); -this.endEditing(true); -},_saveSelection:function(){ -try{ -this._savedSelection=this._getBookmark(); -} -catch(e){ -} -},_restoreSelection:function(){ -if(this._savedSelection){ -delete this._cursorToStart; -if(dojo.withGlobal(this.window,"isCollapsed",dijit)){ -this._moveToBookmark(this._savedSelection); -} -delete this._savedSelection; -} -},onClick:function(){ -this.endEditing(true); -this.inherited(arguments); -},replaceValue:function(_1a){ -if(!this.customUndo){ -this.inherited(arguments); -}else{ -if(this.isClosed){ -this.setValue(_1a); -}else{ -this.beginEditing(); -if(!_1a){ -_1a=" "; -} -this.setValue(_1a); -this.endEditing(); -} -} -},_setDisabledAttr:function(_1b){ -var _1c=dojo.hitch(this,function(){ -if((!this.disabled&&_1b)||(!this._buttonEnabledPlugins&&_1b)){ -dojo.forEach(this._plugins,function(p){ -p.set("disabled",true); -}); -}else{ -if(this.disabled&&!_1b){ -dojo.forEach(this._plugins,function(p){ -p.set("disabled",false); -}); -} -} -}); -this.setValueDeferred.addCallback(_1c); -this.inherited(arguments); -},_setStateClass:function(){ -try{ -this.inherited(arguments); -if(this.document&&this.document.body){ -dojo.style(this.document.body,"color",dojo.style(this.iframe,"color")); -} -} -catch(e){ -} -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -var _1d=o.args,p; -var _1e=dijit._editor._Plugin; -var _1f=_1d.name; -switch(_1f){ -case "undo": -case "redo": -case "cut": -case "copy": -case "paste": -case "insertOrderedList": -case "insertUnorderedList": -case "indent": -case "outdent": -case "justifyCenter": -case "justifyFull": -case "justifyLeft": -case "justifyRight": -case "delete": -case "selectAll": -case "removeFormat": -case "unlink": -case "insertHorizontalRule": -p=new _1e({command:_1f}); -break; -case "bold": -case "italic": -case "underline": -case "strikethrough": -case "subscript": -case "superscript": -p=new _1e({buttonClass:dijit.form.ToggleButton,command:_1f}); -break; -case "|": -p=new _1e({button:new dijit.ToolbarSeparator(),setEditor:function(_20){ -this.editor=_20; -}}); -} -o.plugin=p; -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/Menu.js b/resources/library/interactive/barre_prof.wgt/dijit/Menu.js deleted file mode 100644 index c056a65e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/Menu.js +++ /dev/null @@ -1,327 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.Menu"]){ -dojo._hasResource["dijit.Menu"]=true; -dojo.provide("dijit.Menu"); -dojo.require("dojo.window"); -dojo.require("dijit._Widget"); -dojo.require("dijit._KeyNavContainer"); -dojo.require("dijit._Templated"); -dojo.require("dijit.MenuItem"); -dojo.require("dijit.PopupMenuItem"); -dojo.require("dijit.CheckedMenuItem"); -dojo.require("dijit.MenuSeparator"); -dojo.declare("dijit._MenuBase",[dijit._Widget,dijit._Templated,dijit._KeyNavContainer],{parentMenu:null,popupDelay:500,startup:function(){ -if(this._started){ -return; -} -dojo.forEach(this.getChildren(),function(_1){ -_1.startup(); -}); -this.startupKeyNavChildren(); -this.inherited(arguments); -},onExecute:function(){ -},onCancel:function(_2){ -},_moveToPopup:function(_3){ -if(this.focusedChild&&this.focusedChild.popup&&!this.focusedChild.disabled){ -this.focusedChild._onClick(_3); -}else{ -var _4=this._getTopMenu(); -if(_4&&_4._isMenuBar){ -_4.focusNext(); -} -} -},_onPopupHover:function(_5){ -if(this.currentPopup&&this.currentPopup._pendingClose_timer){ -var _6=this.currentPopup.parentMenu; -if(_6.focusedChild){ -_6.focusedChild._setSelected(false); -} -_6.focusedChild=this.currentPopup.from_item; -_6.focusedChild._setSelected(true); -this._stopPendingCloseTimer(this.currentPopup); -} -},onItemHover:function(_7){ -if(this.isActive){ -this.focusChild(_7); -if(this.focusedChild.popup&&!this.focusedChild.disabled&&!this.hover_timer){ -this.hover_timer=setTimeout(dojo.hitch(this,"_openPopup"),this.popupDelay); -} -} -if(this.focusedChild){ -this.focusChild(_7); -} -this._hoveredChild=_7; -},_onChildBlur:function(_8){ -this._stopPopupTimer(); -_8._setSelected(false); -var _9=_8.popup; -if(_9){ -this._stopPendingCloseTimer(_9); -_9._pendingClose_timer=setTimeout(function(){ -_9._pendingClose_timer=null; -if(_9.parentMenu){ -_9.parentMenu.currentPopup=null; -} -dijit.popup.close(_9); -},this.popupDelay); -} -},onItemUnhover:function(_a){ -if(this.isActive){ -this._stopPopupTimer(); -} -if(this._hoveredChild==_a){ -this._hoveredChild=null; -} -},_stopPopupTimer:function(){ -if(this.hover_timer){ -clearTimeout(this.hover_timer); -this.hover_timer=null; -} -},_stopPendingCloseTimer:function(_b){ -if(_b._pendingClose_timer){ -clearTimeout(_b._pendingClose_timer); -_b._pendingClose_timer=null; -} -},_stopFocusTimer:function(){ -if(this._focus_timer){ -clearTimeout(this._focus_timer); -this._focus_timer=null; -} -},_getTopMenu:function(){ -for(var _c=this;_c.parentMenu;_c=_c.parentMenu){ -} -return _c; -},onItemClick:function(_d,_e){ -if(typeof this.isShowingNow=="undefined"){ -this._markActive(); -} -this.focusChild(_d); -if(_d.disabled){ -return false; -} -if(_d.popup){ -this._openPopup(); -}else{ -this.onExecute(); -_d.onClick(_e); -} -},_openPopup:function(){ -this._stopPopupTimer(); -var _f=this.focusedChild; -if(!_f){ -return; -} -var _10=_f.popup; -if(_10.isShowingNow){ -return; -} -if(this.currentPopup){ -this._stopPendingCloseTimer(this.currentPopup); -dijit.popup.close(this.currentPopup); -} -_10.parentMenu=this; -_10.from_item=_f; -var _11=this; -dijit.popup.open({parent:this,popup:_10,around:_f.domNode,orient:this._orient||(this.isLeftToRight()?{"TR":"TL","TL":"TR","BR":"BL","BL":"BR"}:{"TL":"TR","TR":"TL","BL":"BR","BR":"BL"}),onCancel:function(){ -_11.focusChild(_f); -_11._cleanUp(); -_f._setSelected(true); -_11.focusedChild=_f; -},onExecute:dojo.hitch(this,"_cleanUp")}); -this.currentPopup=_10; -_10.connect(_10.domNode,"onmouseenter",dojo.hitch(_11,"_onPopupHover")); -if(_10.focus){ -_10._focus_timer=setTimeout(dojo.hitch(_10,function(){ -this._focus_timer=null; -this.focus(); -}),0); -} -},_markActive:function(){ -this.isActive=true; -dojo.replaceClass(this.domNode,"dijitMenuActive","dijitMenuPassive"); -},onOpen:function(e){ -this.isShowingNow=true; -this._markActive(); -},_markInactive:function(){ -this.isActive=false; -dojo.replaceClass(this.domNode,"dijitMenuPassive","dijitMenuActive"); -},onClose:function(){ -this._stopFocusTimer(); -this._markInactive(); -this.isShowingNow=false; -this.parentMenu=null; -},_closeChild:function(){ -this._stopPopupTimer(); -var _12=this.focusedChild&&this.focusedChild.from_item; -if(this.currentPopup){ -if(dijit._curFocus&&dojo.isDescendant(dijit._curFocus,this.currentPopup.domNode)){ -this.focusedChild.focusNode.focus(); -} -dijit.popup.close(this.currentPopup); -this.currentPopup=null; -} -if(this.focusedChild){ -this.focusedChild._setSelected(false); -this.focusedChild._onUnhover(); -this.focusedChild=null; -} -},_onItemFocus:function(_13){ -if(this._hoveredChild&&this._hoveredChild!=_13){ -this._hoveredChild._onUnhover(); -} -},_onBlur:function(){ -this._cleanUp(); -this.inherited(arguments); -},_cleanUp:function(){ -this._closeChild(); -if(typeof this.isShowingNow=="undefined"){ -this._markInactive(); -} -}}); -dojo.declare("dijit.Menu",dijit._MenuBase,{constructor:function(){ -this._bindings=[]; -},templateString:dojo.cache("dijit","templates/Menu.html","<table class=\"dijit dijitMenu dijitMenuPassive dijitReset dijitMenuTable\" role=\"menu\" tabIndex=\"${tabIndex}\" dojoAttachEvent=\"onkeypress:_onKeyPress\" cellspacing=\"0\">\n\t<tbody class=\"dijitReset\" dojoAttachPoint=\"containerNode\"></tbody>\n</table>\n"),baseClass:"dijitMenu",targetNodeIds:[],contextMenuForWindow:false,leftClickToOpen:false,refocus:true,postCreate:function(){ -if(this.contextMenuForWindow){ -this.bindDomNode(dojo.body()); -}else{ -dojo.forEach(this.targetNodeIds,this.bindDomNode,this); -} -var k=dojo.keys,l=this.isLeftToRight(); -this._openSubMenuKey=l?k.RIGHT_ARROW:k.LEFT_ARROW; -this._closeSubMenuKey=l?k.LEFT_ARROW:k.RIGHT_ARROW; -this.connectKeyNavHandlers([k.UP_ARROW],[k.DOWN_ARROW]); -},_onKeyPress:function(evt){ -if(evt.ctrlKey||evt.altKey){ -return; -} -switch(evt.charOrCode){ -case this._openSubMenuKey: -this._moveToPopup(evt); -dojo.stopEvent(evt); -break; -case this._closeSubMenuKey: -if(this.parentMenu){ -if(this.parentMenu._isMenuBar){ -this.parentMenu.focusPrev(); -}else{ -this.onCancel(false); -} -}else{ -dojo.stopEvent(evt); -} -break; -} -},_iframeContentWindow:function(_14){ -var win=dojo.window.get(this._iframeContentDocument(_14))||this._iframeContentDocument(_14)["__parent__"]||(_14.name&&dojo.doc.frames[_14.name])||null; -return win; -},_iframeContentDocument:function(_15){ -var doc=_15.contentDocument||(_15.contentWindow&&_15.contentWindow.document)||(_15.name&&dojo.doc.frames[_15.name]&&dojo.doc.frames[_15.name].document)||null; -return doc; -},bindDomNode:function(_16){ -_16=dojo.byId(_16); -var cn; -if(_16.tagName.toLowerCase()=="iframe"){ -var _17=_16,win=this._iframeContentWindow(_17); -cn=dojo.withGlobal(win,dojo.body); -}else{ -cn=(_16==dojo.body()?dojo.doc.documentElement:_16); -} -var _18={node:_16,iframe:_17}; -dojo.attr(_16,"_dijitMenu"+this.id,this._bindings.push(_18)); -var _19=dojo.hitch(this,function(cn){ -return [dojo.connect(cn,this.leftClickToOpen?"onclick":"oncontextmenu",this,function(evt){ -dojo.stopEvent(evt); -this._scheduleOpen(evt.target,_17,{x:evt.pageX,y:evt.pageY}); -}),dojo.connect(cn,"onkeydown",this,function(evt){ -if(evt.shiftKey&&evt.keyCode==dojo.keys.F10){ -dojo.stopEvent(evt); -this._scheduleOpen(evt.target,_17); -} -})]; -}); -_18.connects=cn?_19(cn):[]; -if(_17){ -_18.onloadHandler=dojo.hitch(this,function(){ -var win=this._iframeContentWindow(_17); -cn=dojo.withGlobal(win,dojo.body); -_18.connects=_19(cn); -}); -if(_17.addEventListener){ -_17.addEventListener("load",_18.onloadHandler,false); -}else{ -_17.attachEvent("onload",_18.onloadHandler); -} -} -},unBindDomNode:function(_1a){ -var _1b; -try{ -_1b=dojo.byId(_1a); -} -catch(e){ -return; -} -var _1c="_dijitMenu"+this.id; -if(_1b&&dojo.hasAttr(_1b,_1c)){ -var bid=dojo.attr(_1b,_1c)-1,b=this._bindings[bid]; -dojo.forEach(b.connects,dojo.disconnect); -var _1d=b.iframe; -if(_1d){ -if(_1d.removeEventListener){ -_1d.removeEventListener("load",b.onloadHandler,false); -}else{ -_1d.detachEvent("onload",b.onloadHandler); -} -} -dojo.removeAttr(_1b,_1c); -delete this._bindings[bid]; -} -},_scheduleOpen:function(_1e,_1f,_20){ -if(!this._openTimer){ -this._openTimer=setTimeout(dojo.hitch(this,function(){ -delete this._openTimer; -this._openMyself({target:_1e,iframe:_1f,coords:_20}); -}),1); -} -},_openMyself:function(_21){ -var _22=_21.target,_23=_21.iframe,_24=_21.coords; -if(_24){ -if(_23){ -var od=_22.ownerDocument,ifc=dojo.position(_23,true),win=this._iframeContentWindow(_23),_25=dojo.withGlobal(win,"_docScroll",dojo); -var cs=dojo.getComputedStyle(_23),tp=dojo._toPixelValue,_26=(dojo.isIE&&dojo.isQuirks?0:tp(_23,cs.paddingLeft))+(dojo.isIE&&dojo.isQuirks?tp(_23,cs.borderLeftWidth):0),top=(dojo.isIE&&dojo.isQuirks?0:tp(_23,cs.paddingTop))+(dojo.isIE&&dojo.isQuirks?tp(_23,cs.borderTopWidth):0); -_24.x+=ifc.x+_26-_25.x; -_24.y+=ifc.y+top-_25.y; -} -}else{ -_24=dojo.position(_22,true); -_24.x+=10; -_24.y+=10; -} -var _27=this; -var _28=dijit.getFocus(this); -function _29(){ -if(_27.refocus){ -dijit.focus(_28); -} -dijit.popup.close(_27); -}; -dijit.popup.open({popup:this,x:_24.x,y:_24.y,onExecute:_29,onCancel:_29,orient:this.isLeftToRight()?"L":"R"}); -this.focus(); -this._onBlur=function(){ -this.inherited("_onBlur",arguments); -dijit.popup.close(this); -}; -},uninitialize:function(){ -dojo.forEach(this._bindings,function(b){ -if(b){ -this.unBindDomNode(b.node); -} -},this); -this.inherited(arguments); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/MenuItem.js b/resources/library/interactive/barre_prof.wgt/dijit/MenuItem.js deleted file mode 100644 index 8f002260..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/MenuItem.js +++ /dev/null @@ -1,68 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.MenuItem"]){ -dojo._hasResource["dijit.MenuItem"]=true; -dojo.provide("dijit.MenuItem"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Templated"); -dojo.require("dijit._Contained"); -dojo.require("dijit._CssStateMixin"); -dojo.declare("dijit.MenuItem",[dijit._Widget,dijit._Templated,dijit._Contained,dijit._CssStateMixin],{templateString:dojo.cache("dijit","templates/MenuItem.html","<tr class=\"dijitReset dijitMenuItem\" dojoAttachPoint=\"focusNode\" role=\"menuitem\" tabIndex=\"-1\"\n\t\tdojoAttachEvent=\"onmouseenter:_onHover,onmouseleave:_onUnhover,ondijitclick:_onClick\">\n\t<td class=\"dijitReset dijitMenuItemIconCell\" role=\"presentation\">\n\t\t<img src=\"${_blankGif}\" alt=\"\" class=\"dijitIcon dijitMenuItemIcon\" dojoAttachPoint=\"iconNode\"/>\n\t</td>\n\t<td class=\"dijitReset dijitMenuItemLabel\" colspan=\"2\" dojoAttachPoint=\"containerNode\"></td>\n\t<td class=\"dijitReset dijitMenuItemAccelKey\" style=\"display: none\" dojoAttachPoint=\"accelKeyNode\"></td>\n\t<td class=\"dijitReset dijitMenuArrowCell\" role=\"presentation\">\n\t\t<div dojoAttachPoint=\"arrowWrapper\" style=\"visibility: hidden\">\n\t\t\t<img src=\"${_blankGif}\" alt=\"\" class=\"dijitMenuExpand\"/>\n\t\t\t<span class=\"dijitMenuExpandA11y\">+</span>\n\t\t</div>\n\t</td>\n</tr>\n"),attributeMap:dojo.delegate(dijit._Widget.prototype.attributeMap,{label:{node:"containerNode",type:"innerHTML"},iconClass:{node:"iconNode",type:"class"}}),baseClass:"dijitMenuItem",label:"",iconClass:"",accelKey:"",disabled:false,_fillContent:function(_1){ -if(_1&&!("label" in this.params)){ -this.set("label",_1.innerHTML); -} -},buildRendering:function(){ -this.inherited(arguments); -var _2=this.id+"_text"; -dojo.attr(this.containerNode,"id",_2); -if(this.accelKeyNode){ -dojo.attr(this.accelKeyNode,"id",this.id+"_accel"); -_2+=" "+this.id+"_accel"; -} -dijit.setWaiState(this.domNode,"labelledby",_2); -dojo.setSelectable(this.domNode,false); -},_onHover:function(){ -this.getParent().onItemHover(this); -},_onUnhover:function(){ -this.getParent().onItemUnhover(this); -this._set("hovering",false); -},_onClick:function(_3){ -this.getParent().onItemClick(this,_3); -dojo.stopEvent(_3); -},onClick:function(_4){ -},focus:function(){ -try{ -if(dojo.isIE==8){ -this.containerNode.focus(); -} -dijit.focus(this.focusNode); -} -catch(e){ -} -},_onFocus:function(){ -this._setSelected(true); -this.getParent()._onItemFocus(this); -this.inherited(arguments); -},_setSelected:function(_5){ -dojo.toggleClass(this.domNode,"dijitMenuItemSelected",_5); -},setLabel:function(_6){ -dojo.deprecated("dijit.MenuItem.setLabel() is deprecated. Use set('label', ...) instead.","","2.0"); -this.set("label",_6); -},setDisabled:function(_7){ -dojo.deprecated("dijit.Menu.setDisabled() is deprecated. Use set('disabled', bool) instead.","","2.0"); -this.set("disabled",_7); -},_setDisabledAttr:function(_8){ -dijit.setWaiState(this.focusNode,"disabled",_8?"true":"false"); -this._set("disabled",_8); -},_setAccelKeyAttr:function(_9){ -this.accelKeyNode.style.display=_9?"":"none"; -this.accelKeyNode.innerHTML=_9; -dojo.attr(this.containerNode,"colSpan",_9?"1":"2"); -this._set("accelKey",_9); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/MenuSeparator.js b/resources/library/interactive/barre_prof.wgt/dijit/MenuSeparator.js deleted file mode 100644 index d5085117..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/MenuSeparator.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.MenuSeparator"]){ -dojo._hasResource["dijit.MenuSeparator"]=true; -dojo.provide("dijit.MenuSeparator"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Templated"); -dojo.require("dijit._Contained"); -dojo.declare("dijit.MenuSeparator",[dijit._Widget,dijit._Templated,dijit._Contained],{templateString:dojo.cache("dijit","templates/MenuSeparator.html","<tr class=\"dijitMenuSeparator\">\n\t<td class=\"dijitMenuSeparatorIconCell\">\n\t\t<div class=\"dijitMenuSeparatorTop\"></div>\n\t\t<div class=\"dijitMenuSeparatorBottom\"></div>\n\t</td>\n\t<td colspan=\"3\" class=\"dijitMenuSeparatorLabelCell\">\n\t\t<div class=\"dijitMenuSeparatorTop dijitMenuSeparatorLabel\"></div>\n\t\t<div class=\"dijitMenuSeparatorBottom\"></div>\n\t</td>\n</tr>\n"),buildRendering:function(){ -this.inherited(arguments); -dojo.setSelectable(this.domNode,false); -},isFocusable:function(){ -return false; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/PopupMenuItem.js b/resources/library/interactive/barre_prof.wgt/dijit/PopupMenuItem.js deleted file mode 100644 index 52af00ed..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/PopupMenuItem.js +++ /dev/null @@ -1,43 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.PopupMenuItem"]){ -dojo._hasResource["dijit.PopupMenuItem"]=true; -dojo.provide("dijit.PopupMenuItem"); -dojo.require("dijit.MenuItem"); -dojo.declare("dijit.PopupMenuItem",dijit.MenuItem,{_fillContent:function(){ -if(this.srcNodeRef){ -var _1=dojo.query("*",this.srcNodeRef); -dijit.PopupMenuItem.superclass._fillContent.call(this,_1[0]); -this.dropDownContainer=this.srcNodeRef; -} -},startup:function(){ -if(this._started){ -return; -} -this.inherited(arguments); -if(!this.popup){ -var _2=dojo.query("[widgetId]",this.dropDownContainer)[0]; -this.popup=dijit.byNode(_2); -} -dojo.body().appendChild(this.popup.domNode); -this.popup.startup(); -this.popup.domNode.style.display="none"; -if(this.arrowWrapper){ -dojo.style(this.arrowWrapper,"visibility",""); -} -dijit.setWaiState(this.focusNode,"haspopup","true"); -},destroyDescendants:function(){ -if(this.popup){ -if(!this.popup._destroyed){ -this.popup.destroyRecursive(); -} -delete this.popup; -} -this.inherited(arguments); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/Toolbar.js b/resources/library/interactive/barre_prof.wgt/dijit/Toolbar.js deleted file mode 100644 index fd49c2c9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/Toolbar.js +++ /dev/null @@ -1,25 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.Toolbar"]){ -dojo._hasResource["dijit.Toolbar"]=true; -dojo.provide("dijit.Toolbar"); -dojo.require("dijit._Widget"); -dojo.require("dijit._KeyNavContainer"); -dojo.require("dijit._Templated"); -dojo.require("dijit.ToolbarSeparator"); -dojo.declare("dijit.Toolbar",[dijit._Widget,dijit._Templated,dijit._KeyNavContainer],{templateString:"<div class=\"dijit\" role=\"toolbar\" tabIndex=\"${tabIndex}\" dojoAttachPoint=\"containerNode\">"+"</div>",baseClass:"dijitToolbar",postCreate:function(){ -this.inherited(arguments); -this.connectKeyNavHandlers(this.isLeftToRight()?[dojo.keys.LEFT_ARROW]:[dojo.keys.RIGHT_ARROW],this.isLeftToRight()?[dojo.keys.RIGHT_ARROW]:[dojo.keys.LEFT_ARROW]); -},startup:function(){ -if(this._started){ -return; -} -this.startupKeyNavChildren(); -this.inherited(arguments); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/ToolbarSeparator.js b/resources/library/interactive/barre_prof.wgt/dijit/ToolbarSeparator.js deleted file mode 100644 index f73b74a5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/ToolbarSeparator.js +++ /dev/null @@ -1,19 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.ToolbarSeparator"]){ -dojo._hasResource["dijit.ToolbarSeparator"]=true; -dojo.provide("dijit.ToolbarSeparator"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Templated"); -dojo.declare("dijit.ToolbarSeparator",[dijit._Widget,dijit._Templated],{templateString:"<div class=\"dijitToolbarSeparator dijitInline\" role=\"presentation\"></div>",buildRendering:function(){ -this.inherited(arguments); -dojo.setSelectable(this.domNode,false); -},isFocusable:function(){ -return false; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/Tooltip.js b/resources/library/interactive/barre_prof.wgt/dijit/Tooltip.js deleted file mode 100644 index 8c23da19..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/Tooltip.js +++ /dev/null @@ -1,183 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.Tooltip"]){ -dojo._hasResource["dijit.Tooltip"]=true; -dojo.provide("dijit.Tooltip"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Templated"); -dojo.declare("dijit._MasterTooltip",[dijit._Widget,dijit._Templated],{duration:dijit.defaultDuration,templateString:dojo.cache("dijit","templates/Tooltip.html","<div class=\"dijitTooltip dijitTooltipLeft\" id=\"dojoTooltip\"\n\t><div class=\"dijitTooltipContainer dijitTooltipContents\" dojoAttachPoint=\"containerNode\" role='alert'></div\n\t><div class=\"dijitTooltipConnector\" dojoAttachPoint=\"connectorNode\"></div\n></div>\n"),postCreate:function(){ -dojo.body().appendChild(this.domNode); -this.bgIframe=new dijit.BackgroundIframe(this.domNode); -this.fadeIn=dojo.fadeIn({node:this.domNode,duration:this.duration,onEnd:dojo.hitch(this,"_onShow")}); -this.fadeOut=dojo.fadeOut({node:this.domNode,duration:this.duration,onEnd:dojo.hitch(this,"_onHide")}); -},show:function(_1,_2,_3,_4){ -if(this.aroundNode&&this.aroundNode===_2){ -return; -} -this.domNode.width="auto"; -if(this.fadeOut.status()=="playing"){ -this._onDeck=arguments; -return; -} -this.containerNode.innerHTML=_1; -var _5=dijit.placeOnScreenAroundElement(this.domNode,_2,dijit.getPopupAroundAlignment((_3&&_3.length)?_3:dijit.Tooltip.defaultPosition,!_4),dojo.hitch(this,"orient")); -dojo.style(this.domNode,"opacity",0); -this.fadeIn.play(); -this.isShowingNow=true; -this.aroundNode=_2; -},orient:function(_6,_7,_8,_9,_a){ -this.connectorNode.style.top=""; -var _b=_9.w-this.connectorNode.offsetWidth; -_6.className="dijitTooltip "+{"BL-TL":"dijitTooltipBelow dijitTooltipABLeft","TL-BL":"dijitTooltipAbove dijitTooltipABLeft","BR-TR":"dijitTooltipBelow dijitTooltipABRight","TR-BR":"dijitTooltipAbove dijitTooltipABRight","BR-BL":"dijitTooltipRight","BL-BR":"dijitTooltipLeft"}[_7+"-"+_8]; -this.domNode.style.width="auto"; -var _c=dojo.contentBox(this.domNode); -var _d=Math.min((Math.max(_b,1)),_c.w); -var _e=_d<_c.w; -this.domNode.style.width=_d+"px"; -if(_e){ -this.containerNode.style.overflow="auto"; -var _f=this.containerNode.scrollWidth; -this.containerNode.style.overflow="visible"; -if(_f>_d){ -_f=_f+dojo.style(this.domNode,"paddingLeft")+dojo.style(this.domNode,"paddingRight"); -this.domNode.style.width=_f+"px"; -} -} -if(_8.charAt(0)=="B"&&_7.charAt(0)=="B"){ -var mb=dojo.marginBox(_6); -var _10=this.connectorNode.offsetHeight; -if(mb.h>_9.h){ -var _11=_9.h-(_a.h/2)-(_10/2); -this.connectorNode.style.top=_11+"px"; -this.connectorNode.style.bottom=""; -}else{ -this.connectorNode.style.bottom=Math.min(Math.max(_a.h/2-_10/2,0),mb.h-_10)+"px"; -this.connectorNode.style.top=""; -} -}else{ -this.connectorNode.style.top=""; -this.connectorNode.style.bottom=""; -} -return Math.max(0,_c.w-_b); -},_onShow:function(){ -if(dojo.isIE){ -this.domNode.style.filter=""; -} -},hide:function(_12){ -if(this._onDeck&&this._onDeck[1]==_12){ -this._onDeck=null; -}else{ -if(this.aroundNode===_12){ -this.fadeIn.stop(); -this.isShowingNow=false; -this.aroundNode=null; -this.fadeOut.play(); -}else{ -} -} -},_onHide:function(){ -this.domNode.style.cssText=""; -this.containerNode.innerHTML=""; -if(this._onDeck){ -this.show.apply(this,this._onDeck); -this._onDeck=null; -} -}}); -dijit.showTooltip=function(_13,_14,_15,rtl){ -if(!dijit._masterTT){ -dijit._masterTT=new dijit._MasterTooltip(); -} -return dijit._masterTT.show(_13,_14,_15,rtl); -}; -dijit.hideTooltip=function(_16){ -if(!dijit._masterTT){ -dijit._masterTT=new dijit._MasterTooltip(); -} -return dijit._masterTT.hide(_16); -}; -dojo.declare("dijit.Tooltip",dijit._Widget,{label:"",showDelay:400,connectId:[],position:[],_setConnectIdAttr:function(_17){ -dojo.forEach(this._connections||[],function(_18){ -dojo.forEach(_18,dojo.hitch(this,"disconnect")); -},this); -var ary=dojo.isArrayLike(_17)?_17:(_17?[_17]:[]); -this._connections=dojo.map(ary,function(id){ -var _19=dojo.byId(id); -return _19?[this.connect(_19,"onmouseenter","_onTargetMouseEnter"),this.connect(_19,"onmouseleave","_onTargetMouseLeave"),this.connect(_19,"onfocus","_onTargetFocus"),this.connect(_19,"onblur","_onTargetBlur")]:[]; -},this); -this._set("connectId",_17); -this._connectIds=ary; -},addTarget:function(_1a){ -var id=_1a.id||_1a; -if(dojo.indexOf(this._connectIds,id)==-1){ -this.set("connectId",this._connectIds.concat(id)); -} -},removeTarget:function(_1b){ -var id=_1b.id||_1b,idx=dojo.indexOf(this._connectIds,id); -if(idx>=0){ -this._connectIds.splice(idx,1); -this.set("connectId",this._connectIds); -} -},buildRendering:function(){ -this.inherited(arguments); -dojo.addClass(this.domNode,"dijitTooltipData"); -},startup:function(){ -this.inherited(arguments); -var ids=this.connectId; -dojo.forEach(dojo.isArrayLike(ids)?ids:[ids],this.addTarget,this); -},_onTargetMouseEnter:function(e){ -this._onHover(e); -},_onTargetMouseLeave:function(e){ -this._onUnHover(e); -},_onTargetFocus:function(e){ -this._focus=true; -this._onHover(e); -},_onTargetBlur:function(e){ -this._focus=false; -this._onUnHover(e); -},_onHover:function(e){ -if(!this._showTimer){ -var _1c=e.target; -this._showTimer=setTimeout(dojo.hitch(this,function(){ -this.open(_1c); -}),this.showDelay); -} -},_onUnHover:function(e){ -if(this._focus){ -return; -} -if(this._showTimer){ -clearTimeout(this._showTimer); -delete this._showTimer; -} -this.close(); -},open:function(_1d){ -if(this._showTimer){ -clearTimeout(this._showTimer); -delete this._showTimer; -} -dijit.showTooltip(this.label||this.domNode.innerHTML,_1d,this.position,!this.isLeftToRight()); -this._connectNode=_1d; -this.onShow(_1d,this.position); -},close:function(){ -if(this._connectNode){ -dijit.hideTooltip(this._connectNode); -delete this._connectNode; -this.onHide(); -} -if(this._showTimer){ -clearTimeout(this._showTimer); -delete this._showTimer; -} -},onShow:function(_1e,_1f){ -},onHide:function(){ -},uninitialize:function(){ -this.close(); -this.inherited(arguments); -}}); -dijit.Tooltip.defaultPosition=["after","before"]; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/TooltipDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/TooltipDialog.js deleted file mode 100644 index f6c0e91e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/TooltipDialog.js +++ /dev/null @@ -1,63 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.TooltipDialog"]){ -dojo._hasResource["dijit.TooltipDialog"]=true; -dojo.provide("dijit.TooltipDialog"); -dojo.require("dijit.layout.ContentPane"); -dojo.require("dijit._Templated"); -dojo.require("dijit.form._FormMixin"); -dojo.require("dijit._DialogMixin"); -dojo.declare("dijit.TooltipDialog",[dijit.layout.ContentPane,dijit._Templated,dijit.form._FormMixin,dijit._DialogMixin],{title:"",doLayout:false,autofocus:true,baseClass:"dijitTooltipDialog",_firstFocusItem:null,_lastFocusItem:null,templateString:dojo.cache("dijit","templates/TooltipDialog.html","<div role=\"presentation\" tabIndex=\"-1\">\n\t<div class=\"dijitTooltipContainer\" role=\"presentation\">\n\t\t<div class =\"dijitTooltipContents dijitTooltipFocusNode\" dojoAttachPoint=\"containerNode\" role=\"dialog\"></div>\n\t</div>\n\t<div class=\"dijitTooltipConnector\" role=\"presentation\"></div>\n</div>\n"),_setTitleAttr:function(_1){ -this.containerNode.title=_1; -this._set("title",_1); -},postCreate:function(){ -this.inherited(arguments); -this.connect(this.containerNode,"onkeypress","_onKey"); -},orient:function(_2,_3,_4){ -var _5="dijitTooltipAB"+(_4.charAt(1)=="L"?"Left":"Right")+" dijitTooltip"+(_4.charAt(0)=="T"?"Below":"Above"); -dojo.replaceClass(this.domNode,_5,this._currentOrientClass||""); -this._currentOrientClass=_5; -},focus:function(){ -this._getFocusItems(this.containerNode); -dijit.focus(this._firstFocusItem); -},onOpen:function(_6){ -this.orient(this.domNode,_6.aroundCorner,_6.corner); -this._onShow(); -},onClose:function(){ -this.onHide(); -},_onKey:function(_7){ -var _8=_7.target; -var dk=dojo.keys; -if(_7.charOrCode===dk.TAB){ -this._getFocusItems(this.containerNode); -} -var _9=(this._firstFocusItem==this._lastFocusItem); -if(_7.charOrCode==dk.ESCAPE){ -setTimeout(dojo.hitch(this,"onCancel"),0); -dojo.stopEvent(_7); -}else{ -if(_8==this._firstFocusItem&&_7.shiftKey&&_7.charOrCode===dk.TAB){ -if(!_9){ -dijit.focus(this._lastFocusItem); -} -dojo.stopEvent(_7); -}else{ -if(_8==this._lastFocusItem&&_7.charOrCode===dk.TAB&&!_7.shiftKey){ -if(!_9){ -dijit.focus(this._firstFocusItem); -} -dojo.stopEvent(_7); -}else{ -if(_7.charOrCode===dk.TAB){ -_7.stopPropagation(); -} -} -} -} -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_Contained.js b/resources/library/interactive/barre_prof.wgt/dijit/_Contained.js deleted file mode 100644 index 331b61a1..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_Contained.js +++ /dev/null @@ -1,31 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._Contained"]){ -dojo._hasResource["dijit._Contained"]=true; -dojo.provide("dijit._Contained"); -dojo.declare("dijit._Contained",null,{getParent:function(){ -var _1=dijit.getEnclosingWidget(this.domNode.parentNode); -return _1&&_1.isContainer?_1:null; -},_getSibling:function(_2){ -var _3=this.domNode; -do{ -_3=_3[_2+"Sibling"]; -}while(_3&&_3.nodeType!=1); -return _3&&dijit.byNode(_3); -},getPreviousSibling:function(){ -return this._getSibling("previous"); -},getNextSibling:function(){ -return this._getSibling("next"); -},getIndexInParent:function(){ -var p=this.getParent(); -if(!p||!p.getIndexOfChild){ -return -1; -} -return p.getIndexOfChild(this); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_Container.js b/resources/library/interactive/barre_prof.wgt/dijit/_Container.js deleted file mode 100644 index 79b31ea3..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_Container.js +++ /dev/null @@ -1,62 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._Container"]){ -dojo._hasResource["dijit._Container"]=true; -dojo.provide("dijit._Container"); -dojo.declare("dijit._Container",null,{isContainer:true,buildRendering:function(){ -this.inherited(arguments); -if(!this.containerNode){ -this.containerNode=this.domNode; -} -},addChild:function(_1,_2){ -var _3=this.containerNode; -if(_2&&typeof _2=="number"){ -var _4=this.getChildren(); -if(_4&&_4.length>=_2){ -_3=_4[_2-1].domNode; -_2="after"; -} -} -dojo.place(_1.domNode,_3,_2); -if(this._started&&!_1._started){ -_1.startup(); -} -},removeChild:function(_5){ -if(typeof _5=="number"){ -_5=this.getChildren()[_5]; -} -if(_5){ -var _6=_5.domNode; -if(_6&&_6.parentNode){ -_6.parentNode.removeChild(_6); -} -} -},hasChildren:function(){ -return this.getChildren().length>0; -},destroyDescendants:function(_7){ -dojo.forEach(this.getChildren(),function(_8){ -_8.destroyRecursive(_7); -}); -},_getSiblingOfChild:function(_9,_a){ -var _b=_9.domNode,_c=(_a>0?"nextSibling":"previousSibling"); -do{ -_b=_b[_c]; -}while(_b&&(_b.nodeType!=1||!dijit.byNode(_b))); -return _b&&dijit.byNode(_b); -},getIndexOfChild:function(_d){ -return dojo.indexOf(this.getChildren(),_d); -},startup:function(){ -if(this._started){ -return; -} -dojo.forEach(this.getChildren(),function(_e){ -_e.startup(); -}); -this.inherited(arguments); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_CssStateMixin.js b/resources/library/interactive/barre_prof.wgt/dijit/_CssStateMixin.js deleted file mode 100644 index 284f89e9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_CssStateMixin.js +++ /dev/null @@ -1,139 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._CssStateMixin"]){ -dojo._hasResource["dijit._CssStateMixin"]=true; -dojo.provide("dijit._CssStateMixin"); -dojo.declare("dijit._CssStateMixin",[],{cssStateNodes:{},hovering:false,active:false,_applyAttributes:function(){ -this.inherited(arguments); -dojo.forEach(["onmouseenter","onmouseleave","onmousedown"],function(e){ -this.connect(this.domNode,e,"_cssMouseEvent"); -},this); -dojo.forEach(["disabled","readOnly","checked","selected","focused","state","hovering","active"],function(_1){ -this.watch(_1,dojo.hitch(this,"_setStateClass")); -},this); -for(var ap in this.cssStateNodes){ -this._trackMouseState(this[ap],this.cssStateNodes[ap]); -} -this._setStateClass(); -},_cssMouseEvent:function(_2){ -if(!this.disabled){ -switch(_2.type){ -case "mouseenter": -case "mouseover": -this._set("hovering",true); -this._set("active",this._mouseDown); -break; -case "mouseleave": -case "mouseout": -this._set("hovering",false); -this._set("active",false); -break; -case "mousedown": -this._set("active",true); -this._mouseDown=true; -var _3=this.connect(dojo.body(),"onmouseup",function(){ -this._mouseDown=false; -this._set("active",false); -this.disconnect(_3); -}); -break; -} -} -},_setStateClass:function(){ -var _4=this.baseClass.split(" "); -function _5(_6){ -_4=_4.concat(dojo.map(_4,function(c){ -return c+_6; -}),"dijit"+_6); -}; -if(!this.isLeftToRight()){ -_5("Rtl"); -} -if(this.checked){ -_5("Checked"); -} -if(this.state){ -_5(this.state); -} -if(this.selected){ -_5("Selected"); -} -if(this.disabled){ -_5("Disabled"); -}else{ -if(this.readOnly){ -_5("ReadOnly"); -}else{ -if(this.active){ -_5("Active"); -}else{ -if(this.hovering){ -_5("Hover"); -} -} -} -} -if(this._focused){ -_5("Focused"); -} -var tn=this.stateNode||this.domNode,_7={}; -dojo.forEach(tn.className.split(" "),function(c){ -_7[c]=true; -}); -if("_stateClasses" in this){ -dojo.forEach(this._stateClasses,function(c){ -delete _7[c]; -}); -} -dojo.forEach(_4,function(c){ -_7[c]=true; -}); -var _8=[]; -for(var c in _7){ -_8.push(c); -} -tn.className=_8.join(" "); -this._stateClasses=_4; -},_trackMouseState:function(_9,_a){ -var _b=false,_c=false,_d=false; -var _e=this,cn=dojo.hitch(this,"connect",_9); -function _f(){ -var _10=("disabled" in _e&&_e.disabled)||("readonly" in _e&&_e.readonly); -dojo.toggleClass(_9,_a+"Hover",_b&&!_c&&!_10); -dojo.toggleClass(_9,_a+"Active",_c&&!_10); -dojo.toggleClass(_9,_a+"Focused",_d&&!_10); -}; -cn("onmouseenter",function(){ -_b=true; -_f(); -}); -cn("onmouseleave",function(){ -_b=false; -_c=false; -_f(); -}); -cn("onmousedown",function(){ -_c=true; -_f(); -}); -cn("onmouseup",function(){ -_c=false; -_f(); -}); -cn("onfocus",function(){ -_d=true; -_f(); -}); -cn("onblur",function(){ -_d=false; -_f(); -}); -this.watch("disabled",_f); -this.watch("readOnly",_f); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_DialogMixin.js b/resources/library/interactive/barre_prof.wgt/dijit/_DialogMixin.js deleted file mode 100644 index a067f3bb..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_DialogMixin.js +++ /dev/null @@ -1,23 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._DialogMixin"]){ -dojo._hasResource["dijit._DialogMixin"]=true; -dojo.provide("dijit._DialogMixin"); -dojo.require("dijit._Widget"); -dojo.declare("dijit._DialogMixin",null,{attributeMap:dijit._Widget.prototype.attributeMap,execute:function(_1){ -},onCancel:function(){ -},onExecute:function(){ -},_onSubmit:function(){ -this.onExecute(); -this.execute(this.get("value")); -},_getFocusItems:function(){ -var _2=dijit._getTabNavigable(this.containerNode); -this._firstFocusItem=_2.lowest||_2.first||this.closeButtonNode||this.domNode; -this._lastFocusItem=_2.last||_2.highest||this._firstFocusItem; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_HasDropDown.js b/resources/library/interactive/barre_prof.wgt/dijit/_HasDropDown.js deleted file mode 100644 index 6895f6e8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_HasDropDown.js +++ /dev/null @@ -1,205 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._HasDropDown"]){ -dojo._hasResource["dijit._HasDropDown"]=true; -dojo.provide("dijit._HasDropDown"); -dojo.require("dijit._Widget"); -dojo.declare("dijit._HasDropDown",null,{_buttonNode:null,_arrowWrapperNode:null,_popupStateNode:null,_aroundNode:null,dropDown:null,autoWidth:true,forceWidth:false,maxHeight:0,dropDownPosition:["below","above"],_stopClickEvents:true,_onDropDownMouseDown:function(e){ -if(this.disabled||this.readOnly){ -return; -} -dojo.stopEvent(e); -this._docHandler=this.connect(dojo.doc,"onmouseup","_onDropDownMouseUp"); -this.toggleDropDown(); -},_onDropDownMouseUp:function(e){ -if(e&&this._docHandler){ -this.disconnect(this._docHandler); -} -var _1=this.dropDown,_2=false; -if(e&&this._opened){ -var c=dojo.position(this._buttonNode,true); -if(!(e.pageX>=c.x&&e.pageX<=c.x+c.w)||!(e.pageY>=c.y&&e.pageY<=c.y+c.h)){ -var t=e.target; -while(t&&!_2){ -if(dojo.hasClass(t,"dijitPopup")){ -_2=true; -}else{ -t=t.parentNode; -} -} -if(_2){ -t=e.target; -if(_1.onItemClick){ -var _3; -while(t&&!(_3=dijit.byNode(t))){ -t=t.parentNode; -} -if(_3&&_3.onClick&&_3.getParent){ -_3.getParent().onItemClick(_3,e); -} -} -return; -} -} -} -if(this._opened&&_1.focus&&_1.autoFocus!==false){ -window.setTimeout(dojo.hitch(_1,"focus"),1); -} -},_onDropDownClick:function(e){ -if(this._stopClickEvents){ -dojo.stopEvent(e); -} -},buildRendering:function(){ -this.inherited(arguments); -this._buttonNode=this._buttonNode||this.focusNode||this.domNode; -this._popupStateNode=this._popupStateNode||this.focusNode||this._buttonNode; -var _4={"after":this.isLeftToRight()?"Right":"Left","before":this.isLeftToRight()?"Left":"Right","above":"Up","below":"Down","left":"Left","right":"Right"}[this.dropDownPosition[0]]||this.dropDownPosition[0]||"Down"; -dojo.addClass(this._arrowWrapperNode||this._buttonNode,"dijit"+_4+"ArrowButton"); -},postCreate:function(){ -this.inherited(arguments); -this.connect(this._buttonNode,"onmousedown","_onDropDownMouseDown"); -this.connect(this._buttonNode,"onclick","_onDropDownClick"); -this.connect(this.focusNode,"onkeypress","_onKey"); -this.connect(this.focusNode,"onkeyup","_onKeyUp"); -},destroy:function(){ -if(this.dropDown){ -if(!this.dropDown._destroyed){ -this.dropDown.destroyRecursive(); -} -delete this.dropDown; -} -this.inherited(arguments); -},_onKey:function(e){ -if(this.disabled||this.readOnly){ -return; -} -var d=this.dropDown,_5=e.target; -if(d&&this._opened&&d.handleKey){ -if(d.handleKey(e)===false){ -dojo.stopEvent(e); -return; -} -} -if(d&&this._opened&&e.charOrCode==dojo.keys.ESCAPE){ -this.closeDropDown(); -dojo.stopEvent(e); -}else{ -if(!this._opened&&(e.charOrCode==dojo.keys.DOWN_ARROW||((e.charOrCode==dojo.keys.ENTER||e.charOrCode==" ")&&((_5.tagName||"").toLowerCase()!=="input"||(_5.type&&_5.type.toLowerCase()!=="text"))))){ -this._toggleOnKeyUp=true; -dojo.stopEvent(e); -} -} -},_onKeyUp:function(){ -if(this._toggleOnKeyUp){ -delete this._toggleOnKeyUp; -this.toggleDropDown(); -var d=this.dropDown; -if(d&&d.focus){ -setTimeout(dojo.hitch(d,"focus"),1); -} -} -},_onBlur:function(){ -var _6=dijit._curFocus&&this.dropDown&&dojo.isDescendant(dijit._curFocus,this.dropDown.domNode); -this.closeDropDown(_6); -this.inherited(arguments); -},isLoaded:function(){ -return true; -},loadDropDown:function(_7){ -_7(); -},toggleDropDown:function(){ -if(this.disabled||this.readOnly){ -return; -} -if(!this._opened){ -if(!this.isLoaded()){ -this.loadDropDown(dojo.hitch(this,"openDropDown")); -return; -}else{ -this.openDropDown(); -} -}else{ -this.closeDropDown(); -} -},openDropDown:function(){ -var _8=this.dropDown,_9=_8.domNode,_a=this._aroundNode||this.domNode,_b=this; -if(!this._preparedNode){ -this._preparedNode=true; -if(_9.style.width){ -this._explicitDDWidth=true; -} -if(_9.style.height){ -this._explicitDDHeight=true; -} -} -if(this.maxHeight||this.forceWidth||this.autoWidth){ -var _c={display:"",visibility:"hidden"}; -if(!this._explicitDDWidth){ -_c.width=""; -} -if(!this._explicitDDHeight){ -_c.height=""; -} -dojo.style(_9,_c); -var _d=this.maxHeight; -if(_d==-1){ -var _e=dojo.window.getBox(),_f=dojo.position(_a,false); -_d=Math.floor(Math.max(_f.y,_e.h-(_f.y+_f.h))); -} -if(_8.startup&&!_8._started){ -_8.startup(); -} -dijit.popup.moveOffScreen(_8); -var mb=dojo._getMarginSize(_9); -var _10=(_d&&mb.h>_d); -dojo.style(_9,{overflowX:"hidden",overflowY:_10?"auto":"hidden"}); -if(_10){ -mb.h=_d; -if("w" in mb){ -mb.w+=16; -} -}else{ -delete mb.h; -} -if(this.forceWidth){ -mb.w=_a.offsetWidth; -}else{ -if(this.autoWidth){ -mb.w=Math.max(mb.w,_a.offsetWidth); -}else{ -delete mb.w; -} -} -if(dojo.isFunction(_8.resize)){ -_8.resize(mb); -}else{ -dojo.marginBox(_9,mb); -} -} -var _11=dijit.popup.open({parent:this,popup:_8,around:_a,orient:dijit.getPopupAroundAlignment((this.dropDownPosition&&this.dropDownPosition.length)?this.dropDownPosition:["below"],this.isLeftToRight()),onExecute:function(){ -_b.closeDropDown(true); -},onCancel:function(){ -_b.closeDropDown(true); -},onClose:function(){ -dojo.attr(_b._popupStateNode,"popupActive",false); -dojo.removeClass(_b._popupStateNode,"dijitHasDropDownOpen"); -_b._opened=false; -}}); -dojo.attr(this._popupStateNode,"popupActive","true"); -dojo.addClass(_b._popupStateNode,"dijitHasDropDownOpen"); -this._opened=true; -return _11; -},closeDropDown:function(_12){ -if(this._opened){ -if(_12){ -this.focus(); -} -dijit.popup.close(this.dropDown); -this._opened=false; -} -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_KeyNavContainer.js b/resources/library/interactive/barre_prof.wgt/dijit/_KeyNavContainer.js deleted file mode 100644 index 7e5ce93f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_KeyNavContainer.js +++ /dev/null @@ -1,105 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._KeyNavContainer"]){ -dojo._hasResource["dijit._KeyNavContainer"]=true; -dojo.provide("dijit._KeyNavContainer"); -dojo.require("dijit._Container"); -dojo.declare("dijit._KeyNavContainer",dijit._Container,{tabIndex:"0",_keyNavCodes:{},connectKeyNavHandlers:function(_1,_2){ -var _3=(this._keyNavCodes={}); -var _4=dojo.hitch(this,this.focusPrev); -var _5=dojo.hitch(this,this.focusNext); -dojo.forEach(_1,function(_6){ -_3[_6]=_4; -}); -dojo.forEach(_2,function(_7){ -_3[_7]=_5; -}); -_3[dojo.keys.HOME]=dojo.hitch(this,"focusFirstChild"); -_3[dojo.keys.END]=dojo.hitch(this,"focusLastChild"); -this.connect(this.domNode,"onkeypress","_onContainerKeypress"); -this.connect(this.domNode,"onfocus","_onContainerFocus"); -},startupKeyNavChildren:function(){ -dojo.forEach(this.getChildren(),dojo.hitch(this,"_startupChild")); -},addChild:function(_8,_9){ -dijit._KeyNavContainer.superclass.addChild.apply(this,arguments); -this._startupChild(_8); -},focus:function(){ -this.focusFirstChild(); -},focusFirstChild:function(){ -var _a=this._getFirstFocusableChild(); -if(_a){ -this.focusChild(_a); -} -},focusLastChild:function(){ -var _b=this._getLastFocusableChild(); -if(_b){ -this.focusChild(_b); -} -},focusNext:function(){ -var _c=this._getNextFocusableChild(this.focusedChild,1); -this.focusChild(_c); -},focusPrev:function(){ -var _d=this._getNextFocusableChild(this.focusedChild,-1); -this.focusChild(_d,true); -},focusChild:function(_e,_f){ -if(this.focusedChild&&_e!==this.focusedChild){ -this._onChildBlur(this.focusedChild); -} -_e.set("tabIndex",this.tabIndex); -_e.focus(_f?"end":"start"); -this._set("focusedChild",_e); -},_startupChild:function(_10){ -_10.set("tabIndex","-1"); -this.connect(_10,"_onFocus",function(){ -_10.set("tabIndex",this.tabIndex); -}); -this.connect(_10,"_onBlur",function(){ -_10.set("tabIndex","-1"); -}); -},_onContainerFocus:function(evt){ -if(evt.target!==this.domNode){ -return; -} -this.focusFirstChild(); -dojo.attr(this.domNode,"tabIndex","-1"); -},_onBlur:function(evt){ -if(this.tabIndex){ -dojo.attr(this.domNode,"tabIndex",this.tabIndex); -} -this.inherited(arguments); -},_onContainerKeypress:function(evt){ -if(evt.ctrlKey||evt.altKey){ -return; -} -var _11=this._keyNavCodes[evt.charOrCode]; -if(_11){ -_11(); -dojo.stopEvent(evt); -} -},_onChildBlur:function(_12){ -},_getFirstFocusableChild:function(){ -return this._getNextFocusableChild(null,1); -},_getLastFocusableChild:function(){ -return this._getNextFocusableChild(null,-1); -},_getNextFocusableChild:function(_13,dir){ -if(_13){ -_13=this._getSiblingOfChild(_13,dir); -} -var _14=this.getChildren(); -for(var i=0;i<_14.length;i++){ -if(!_13){ -_13=_14[(dir>0)?0:(_14.length-1)]; -} -if(_13.isFocusable()){ -return _13; -} -_13=this._getSiblingOfChild(_13,dir); -} -return null; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_PaletteMixin.js b/resources/library/interactive/barre_prof.wgt/dijit/_PaletteMixin.js deleted file mode 100644 index d5c4ae44..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_PaletteMixin.js +++ /dev/null @@ -1,97 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._PaletteMixin"]){ -dojo._hasResource["dijit._PaletteMixin"]=true; -dojo.provide("dijit._PaletteMixin"); -dojo.require("dijit._CssStateMixin"); -dojo.declare("dijit._PaletteMixin",[dijit._CssStateMixin],{defaultTimeout:500,timeoutChangeRate:0.9,value:null,_selectedCell:-1,tabIndex:"0",cellClass:"dijitPaletteCell",dyeClass:"",_preparePalette:function(_1,_2,_3){ -this._cells=[]; -var _4=this._blankGif; -_3=_3||dojo.getObject(this.dyeClass); -for(var _5=0;_5<_1.length;_5++){ -var _6=dojo.create("tr",{tabIndex:"-1"},this.gridNode); -for(var _7=0;_7<_1[_5].length;_7++){ -var _8=_1[_5][_7]; -if(_8){ -var _9=new _3(_8,_5,_7); -var _a=dojo.create("td",{"class":this.cellClass,tabIndex:"-1",title:_2[_8]}); -_9.fillCell(_a,_4); -this.connect(_a,"ondijitclick","_onCellClick"); -this._trackMouseState(_a,this.cellClass); -dojo.place(_a,_6); -_a.index=this._cells.length; -this._cells.push({node:_a,dye:_9}); -} -} -} -this._xDim=_1[0].length; -this._yDim=_1.length; -var _b={UP_ARROW:-this._xDim,DOWN_ARROW:this._xDim,RIGHT_ARROW:this.isLeftToRight()?1:-1,LEFT_ARROW:this.isLeftToRight()?-1:1}; -for(var _c in _b){ -this._connects.push(dijit.typematic.addKeyListener(this.domNode,{charOrCode:dojo.keys[_c],ctrlKey:false,altKey:false,shiftKey:false},this,function(){ -var _d=_b[_c]; -return function(_e){ -this._navigateByKey(_d,_e); -}; -}(),this.timeoutChangeRate,this.defaultTimeout)); -} -},postCreate:function(){ -this.inherited(arguments); -this._setCurrent(this._cells[0].node); -},focus:function(){ -dijit.focus(this._currentFocus); -},_onCellClick:function(_f){ -var _10=_f.currentTarget,_11=this._getDye(_10).getValue(); -this._setCurrent(_10); -setTimeout(dojo.hitch(this,function(){ -dijit.focus(_10); -this._setValueAttr(_11,true); -})); -dojo.removeClass(_10,"dijitPaletteCellHover"); -dojo.stopEvent(_f); -},_setCurrent:function(_12){ -if("_currentFocus" in this){ -dojo.attr(this._currentFocus,"tabIndex","-1"); -} -this._currentFocus=_12; -if(_12){ -dojo.attr(_12,"tabIndex",this.tabIndex); -} -},_setValueAttr:function(_13,_14){ -if(this._selectedCell>=0){ -dojo.removeClass(this._cells[this._selectedCell].node,"dijitPaletteCellSelected"); -} -this._selectedCell=-1; -if(_13){ -for(var i=0;i<this._cells.length;i++){ -if(_13==this._cells[i].dye.getValue()){ -this._selectedCell=i; -dojo.addClass(this._cells[i].node,"dijitPaletteCellSelected"); -break; -} -} -} -this._set("value",this._selectedCell>=0?_13:null); -if(_14||_14===undefined){ -this.onChange(_13); -} -},onChange:function(_15){ -},_navigateByKey:function(_16,_17){ -if(_17==-1){ -return; -} -var _18=this._currentFocus.index+_16; -if(_18<this._cells.length&&_18>-1){ -var _19=this._cells[_18].node; -this._setCurrent(_19); -setTimeout(dojo.hitch(dijit,"focus",_19),0); -} -},_getDye:function(_1a){ -return this._cells[_1a.index].dye; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_Templated.js b/resources/library/interactive/barre_prof.wgt/dijit/_Templated.js deleted file mode 100644 index 97def6da..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_Templated.js +++ /dev/null @@ -1,177 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._Templated"]){ -dojo._hasResource["dijit._Templated"]=true; -dojo.provide("dijit._Templated"); -dojo.require("dijit._Widget"); -dojo.require("dojo.string"); -dojo.require("dojo.parser"); -dojo.require("dojo.cache"); -dojo.declare("dijit._Templated",null,{templateString:null,templatePath:null,widgetsInTemplate:false,_skipNodeCache:false,_earlyTemplatedStartup:false,constructor:function(){ -this._attachPoints=[]; -this._attachEvents=[]; -},_stringRepl:function(_1){ -var _2=this.declaredClass,_3=this; -return dojo.string.substitute(_1,this,function(_4,_5){ -if(_5.charAt(0)=="!"){ -_4=dojo.getObject(_5.substr(1),false,_3); -} -if(typeof _4=="undefined"){ -throw new Error(_2+" template:"+_5); -} -if(_4==null){ -return ""; -} -return _5.charAt(0)=="!"?_4:_4.toString().replace(/"/g,"""); -},this); -},buildRendering:function(){ -var _6=dijit._Templated.getCachedTemplate(this.templatePath,this.templateString,this._skipNodeCache); -var _7; -if(dojo.isString(_6)){ -_7=dojo._toDom(this._stringRepl(_6)); -if(_7.nodeType!=1){ -throw new Error("Invalid template: "+_6); -} -}else{ -_7=_6.cloneNode(true); -} -this.domNode=_7; -this.inherited(arguments); -this._attachTemplateNodes(_7); -if(this.widgetsInTemplate){ -var cw=(this._startupWidgets=dojo.parser.parse(_7,{noStart:!this._earlyTemplatedStartup,template:true,inherited:{dir:this.dir,lang:this.lang},propsThis:this,scope:"dojo"})); -this._supportingWidgets=dijit.findWidgets(_7); -this._attachTemplateNodes(cw,function(n,p){ -return n[p]; -}); -} -this._fillContent(this.srcNodeRef); -},_fillContent:function(_8){ -var _9=this.containerNode; -if(_8&&_9){ -while(_8.hasChildNodes()){ -_9.appendChild(_8.firstChild); -} -} -},_attachTemplateNodes:function(_a,_b){ -_b=_b||function(n,p){ -return n.getAttribute(p); -}; -var _c=dojo.isArray(_a)?_a:(_a.all||_a.getElementsByTagName("*")); -var x=dojo.isArray(_a)?0:-1; -for(;x<_c.length;x++){ -var _d=(x==-1)?_a:_c[x]; -if(this.widgetsInTemplate&&(_b(_d,"dojoType")||_b(_d,"data-dojo-type"))){ -continue; -} -var _e=_b(_d,"dojoAttachPoint")||_b(_d,"data-dojo-attach-point"); -if(_e){ -var _f,_10=_e.split(/\s*,\s*/); -while((_f=_10.shift())){ -if(dojo.isArray(this[_f])){ -this[_f].push(_d); -}else{ -this[_f]=_d; -} -this._attachPoints.push(_f); -} -} -var _11=_b(_d,"dojoAttachEvent")||_b(_d,"data-dojo-attach-event"); -if(_11){ -var _12,_13=_11.split(/\s*,\s*/); -var _14=dojo.trim; -while((_12=_13.shift())){ -if(_12){ -var _15=null; -if(_12.indexOf(":")!=-1){ -var _16=_12.split(":"); -_12=_14(_16[0]); -_15=_14(_16[1]); -}else{ -_12=_14(_12); -} -if(!_15){ -_15=_12; -} -this._attachEvents.push(this.connect(_d,_12,_15)); -} -} -} -var _17=_b(_d,"waiRole"); -if(_17){ -dijit.setWaiRole(_d,_17); -} -var _18=_b(_d,"waiState"); -if(_18){ -dojo.forEach(_18.split(/\s*,\s*/),function(_19){ -if(_19.indexOf("-")!=-1){ -var _1a=_19.split("-"); -dijit.setWaiState(_d,_1a[0],_1a[1]); -} -}); -} -} -},startup:function(){ -dojo.forEach(this._startupWidgets,function(w){ -if(w&&!w._started&&w.startup){ -w.startup(); -} -}); -this.inherited(arguments); -},destroyRendering:function(){ -dojo.forEach(this._attachPoints,function(_1b){ -delete this[_1b]; -},this); -this._attachPoints=[]; -dojo.forEach(this._attachEvents,this.disconnect,this); -this._attachEvents=[]; -this.inherited(arguments); -}}); -dijit._Templated._templateCache={}; -dijit._Templated.getCachedTemplate=function(_1c,_1d,_1e){ -var _1f=dijit._Templated._templateCache; -var key=_1d||_1c; -var _20=_1f[key]; -if(_20){ -try{ -if(!_20.ownerDocument||_20.ownerDocument==dojo.doc){ -return _20; -} -} -catch(e){ -} -dojo.destroy(_20); -} -if(!_1d){ -_1d=dojo.cache(_1c,{sanitize:true}); -} -_1d=dojo.string.trim(_1d); -if(_1e||_1d.match(/\$\{([^\}]+)\}/g)){ -return (_1f[key]=_1d); -}else{ -var _21=dojo._toDom(_1d); -if(_21.nodeType!=1){ -throw new Error("Invalid template: "+_1d); -} -return (_1f[key]=_21); -} -}; -if(dojo.isIE){ -dojo.addOnWindowUnload(function(){ -var _22=dijit._Templated._templateCache; -for(var key in _22){ -var _23=_22[key]; -if(typeof _23=="object"){ -dojo.destroy(_23); -} -delete _22[key]; -} -}); -} -dojo.extend(dijit._Widget,{dojoAttachEvent:"",dojoAttachPoint:"",waiRole:"",waiState:""}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_Widget.js b/resources/library/interactive/barre_prof.wgt/dijit/_Widget.js deleted file mode 100644 index f9ac99c0..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_Widget.js +++ /dev/null @@ -1,113 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._Widget"]){ -dojo._hasResource["dijit._Widget"]=true; -dojo.provide("dijit._Widget"); -dojo.require("dijit._WidgetBase"); -dojo.require("dijit._base"); -dojo.connect(dojo,"_connect",function(_1,_2){ -if(_1&&dojo.isFunction(_1._onConnect)){ -_1._onConnect(_2); -} -}); -dijit._connectOnUseEventHandler=function(_3){ -}; -dijit._lastKeyDownNode=null; -if(dojo.isIE){ -(function(){ -var _4=function(_5){ -dijit._lastKeyDownNode=_5.srcElement; -}; -dojo.doc.attachEvent("onkeydown",_4); -dojo.addOnWindowUnload(function(){ -dojo.doc.detachEvent("onkeydown",_4); -}); -})(); -}else{ -dojo.doc.addEventListener("keydown",function(_6){ -dijit._lastKeyDownNode=_6.target; -},true); -} -(function(){ -dojo.declare("dijit._Widget",dijit._WidgetBase,{_deferredConnects:{onClick:"",onDblClick:"",onKeyDown:"",onKeyPress:"",onKeyUp:"",onMouseMove:"",onMouseDown:"",onMouseOut:"",onMouseOver:"",onMouseLeave:"",onMouseEnter:"",onMouseUp:""},onClick:dijit._connectOnUseEventHandler,onDblClick:dijit._connectOnUseEventHandler,onKeyDown:dijit._connectOnUseEventHandler,onKeyPress:dijit._connectOnUseEventHandler,onKeyUp:dijit._connectOnUseEventHandler,onMouseDown:dijit._connectOnUseEventHandler,onMouseMove:dijit._connectOnUseEventHandler,onMouseOut:dijit._connectOnUseEventHandler,onMouseOver:dijit._connectOnUseEventHandler,onMouseLeave:dijit._connectOnUseEventHandler,onMouseEnter:dijit._connectOnUseEventHandler,onMouseUp:dijit._connectOnUseEventHandler,create:function(_7,_8){ -this._deferredConnects=dojo.clone(this._deferredConnects); -for(var _9 in this.attributeMap){ -delete this._deferredConnects[_9]; -} -for(_9 in this._deferredConnects){ -if(this[_9]!==dijit._connectOnUseEventHandler){ -delete this._deferredConnects[_9]; -} -} -this.inherited(arguments); -if(this.domNode){ -for(_9 in this.params){ -this._onConnect(_9); -} -} -},_onConnect:function(_a){ -if(_a in this._deferredConnects){ -var _b=this[this._deferredConnects[_a]||"domNode"]; -this.connect(_b,_a.toLowerCase(),_a); -delete this._deferredConnects[_a]; -} -},focused:false,isFocusable:function(){ -return this.focus&&(dojo.style(this.domNode,"display")!="none"); -},onFocus:function(){ -},onBlur:function(){ -},_onFocus:function(e){ -this.onFocus(); -},_onBlur:function(){ -this.onBlur(); -},setAttribute:function(_c,_d){ -dojo.deprecated(this.declaredClass+"::setAttribute(attr, value) is deprecated. Use set() instead.","","2.0"); -this.set(_c,_d); -},attr:function(_e,_f){ -if(dojo.config.isDebug){ -var _10=arguments.callee._ach||(arguments.callee._ach={}),_11=(arguments.callee.caller||"unknown caller").toString(); -if(!_10[_11]){ -dojo.deprecated(this.declaredClass+"::attr() is deprecated. Use get() or set() instead, called from "+_11,"","2.0"); -_10[_11]=true; -} -} -var _12=arguments.length; -if(_12>=2||typeof _e==="object"){ -return this.set.apply(this,arguments); -}else{ -return this.get(_e); -} -},nodesWithKeyClick:["input","button"],connect:function(obj,_13,_14){ -var d=dojo,dc=d._connect,_15=this.inherited(arguments,[obj,_13=="ondijitclick"?"onclick":_13,_14]); -if(_13=="ondijitclick"){ -if(d.indexOf(this.nodesWithKeyClick,obj.nodeName.toLowerCase())==-1){ -var m=d.hitch(this,_14); -_15.push(dc(obj,"onkeydown",this,function(e){ -if((e.keyCode==d.keys.ENTER||e.keyCode==d.keys.SPACE)&&!e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey){ -dijit._lastKeyDownNode=e.target; -if(!("openDropDown" in this&&obj==this._buttonNode)){ -e.preventDefault(); -} -} -}),dc(obj,"onkeyup",this,function(e){ -if((e.keyCode==d.keys.ENTER||e.keyCode==d.keys.SPACE)&&e.target==dijit._lastKeyDownNode&&!e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey){ -dijit._lastKeyDownNode=null; -return m(e); -} -})); -} -} -return _15; -},_onShow:function(){ -this.onShow(); -},onShow:function(){ -},onHide:function(){ -},onClose:function(){ -return true; -}}); -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_WidgetBase.js b/resources/library/interactive/barre_prof.wgt/dijit/_WidgetBase.js deleted file mode 100644 index b233d867..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_WidgetBase.js +++ /dev/null @@ -1,258 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._WidgetBase"]){ -dojo._hasResource["dijit._WidgetBase"]=true; -dojo.provide("dijit._WidgetBase"); -dojo.require("dijit._base.manager"); -dojo.require("dojo.Stateful"); -(function(){ -dojo.declare("dijit._WidgetBase",dojo.Stateful,{id:"",lang:"",dir:"","class":"",style:"",title:"",tooltip:"",baseClass:"",srcNodeRef:null,domNode:null,containerNode:null,attributeMap:{id:"",dir:"",lang:"","class":"",style:"",title:""},_blankGif:(dojo.config.blankGif||dojo.moduleUrl("dojo","resources/blank.gif")).toString(),postscript:function(_1,_2){ -this.create(_1,_2); -},create:function(_3,_4){ -this.srcNodeRef=dojo.byId(_4); -this._connects=[]; -this._subscribes=[]; -if(this.srcNodeRef&&(typeof this.srcNodeRef.id=="string")){ -this.id=this.srcNodeRef.id; -} -if(_3){ -this.params=_3; -dojo._mixin(this,_3); -} -this.postMixInProperties(); -if(!this.id){ -this.id=dijit.getUniqueId(this.declaredClass.replace(/\./g,"_")); -} -dijit.registry.add(this); -this.buildRendering(); -if(this.domNode){ -this._applyAttributes(); -var _5=this.srcNodeRef; -if(_5&&_5.parentNode&&this.domNode!==_5){ -_5.parentNode.replaceChild(this.domNode,_5); -} -} -if(this.domNode){ -this.domNode.setAttribute("widgetId",this.id); -} -this.postCreate(); -if(this.srcNodeRef&&!this.srcNodeRef.parentNode){ -delete this.srcNodeRef; -} -this._created=true; -},_applyAttributes:function(){ -var _6=function(_7,_8){ -if((_8.params&&_7 in _8.params)||_8[_7]){ -_8.set(_7,_8[_7]); -} -}; -for(var _9 in this.attributeMap){ -_6(_9,this); -} -dojo.forEach(this._getSetterAttributes(),function(a){ -if(!(a in this.attributeMap)){ -_6(a,this); -} -},this); -},_getSetterAttributes:function(){ -var _a=this.constructor; -if(!_a._setterAttrs){ -var r=(_a._setterAttrs=[]),_b,_c=_a.prototype; -for(var _d in _c){ -if(dojo.isFunction(_c[_d])&&(_b=_d.match(/^_set([a-zA-Z]*)Attr$/))&&_b[1]){ -r.push(_b[1].charAt(0).toLowerCase()+_b[1].substr(1)); -} -} -} -return _a._setterAttrs; -},postMixInProperties:function(){ -},buildRendering:function(){ -if(!this.domNode){ -this.domNode=this.srcNodeRef||dojo.create("div"); -} -if(this.baseClass){ -var _e=this.baseClass.split(" "); -if(!this.isLeftToRight()){ -_e=_e.concat(dojo.map(_e,function(_f){ -return _f+"Rtl"; -})); -} -dojo.addClass(this.domNode,_e); -} -},postCreate:function(){ -},startup:function(){ -this._started=true; -},destroyRecursive:function(_10){ -this._beingDestroyed=true; -this.destroyDescendants(_10); -this.destroy(_10); -},destroy:function(_11){ -this._beingDestroyed=true; -this.uninitialize(); -var d=dojo,dfe=d.forEach,dun=d.unsubscribe; -dfe(this._connects,function(_12){ -dfe(_12,d.disconnect); -}); -dfe(this._subscribes,function(_13){ -dun(_13); -}); -dfe(this._supportingWidgets||[],function(w){ -if(w.destroyRecursive){ -w.destroyRecursive(); -}else{ -if(w.destroy){ -w.destroy(); -} -} -}); -this.destroyRendering(_11); -dijit.registry.remove(this.id); -this._destroyed=true; -},destroyRendering:function(_14){ -if(this.bgIframe){ -this.bgIframe.destroy(_14); -delete this.bgIframe; -} -if(this.domNode){ -if(_14){ -dojo.removeAttr(this.domNode,"widgetId"); -}else{ -dojo.destroy(this.domNode); -} -delete this.domNode; -} -if(this.srcNodeRef){ -if(!_14){ -dojo.destroy(this.srcNodeRef); -} -delete this.srcNodeRef; -} -},destroyDescendants:function(_15){ -dojo.forEach(this.getChildren(),function(_16){ -if(_16.destroyRecursive){ -_16.destroyRecursive(_15); -} -}); -},uninitialize:function(){ -return false; -},_setClassAttr:function(_17){ -var _18=this[this.attributeMap["class"]||"domNode"]; -dojo.replaceClass(_18,_17,this["class"]); -this._set("class",_17); -},_setStyleAttr:function(_19){ -var _1a=this[this.attributeMap.style||"domNode"]; -if(dojo.isObject(_19)){ -dojo.style(_1a,_19); -}else{ -if(_1a.style.cssText){ -_1a.style.cssText+="; "+_19; -}else{ -_1a.style.cssText=_19; -} -} -this._set("style",_19); -},_attrToDom:function(_1b,_1c){ -var _1d=this.attributeMap[_1b]; -dojo.forEach(dojo.isArray(_1d)?_1d:[_1d],function(_1e){ -var _1f=this[_1e.node||_1e||"domNode"]; -var _20=_1e.type||"attribute"; -switch(_20){ -case "attribute": -if(dojo.isFunction(_1c)){ -_1c=dojo.hitch(this,_1c); -} -var _21=_1e.attribute?_1e.attribute:(/^on[A-Z][a-zA-Z]*$/.test(_1b)?_1b.toLowerCase():_1b); -dojo.attr(_1f,_21,_1c); -break; -case "innerText": -_1f.innerHTML=""; -_1f.appendChild(dojo.doc.createTextNode(_1c)); -break; -case "innerHTML": -_1f.innerHTML=_1c; -break; -case "class": -dojo.replaceClass(_1f,_1c,this[_1b]); -break; -} -},this); -},get:function(_22){ -var _23=this._getAttrNames(_22); -return this[_23.g]?this[_23.g]():this[_22]; -},set:function(_24,_25){ -if(typeof _24==="object"){ -for(var x in _24){ -this.set(x,_24[x]); -} -return this; -} -var _26=this._getAttrNames(_24); -if(this[_26.s]){ -var _27=this[_26.s].apply(this,Array.prototype.slice.call(arguments,1)); -}else{ -if(_24 in this.attributeMap){ -this._attrToDom(_24,_25); -} -this._set(_24,_25); -} -return _27||this; -},_attrPairNames:{},_getAttrNames:function(_28){ -var apn=this._attrPairNames; -if(apn[_28]){ -return apn[_28]; -} -var uc=_28.charAt(0).toUpperCase()+_28.substr(1); -return (apn[_28]={n:_28+"Node",s:"_set"+uc+"Attr",g:"_get"+uc+"Attr"}); -},_set:function(_29,_2a){ -var _2b=this[_29]; -this[_29]=_2a; -if(this._watchCallbacks&&this._created&&_2a!==_2b){ -this._watchCallbacks(_29,_2b,_2a); -} -},toString:function(){ -return "[Widget "+this.declaredClass+", "+(this.id||"NO ID")+"]"; -},getDescendants:function(){ -return this.containerNode?dojo.query("[widgetId]",this.containerNode).map(dijit.byNode):[]; -},getChildren:function(){ -return this.containerNode?dijit.findWidgets(this.containerNode):[]; -},connect:function(obj,_2c,_2d){ -var _2e=[dojo._connect(obj,_2c,this,_2d)]; -this._connects.push(_2e); -return _2e; -},disconnect:function(_2f){ -for(var i=0;i<this._connects.length;i++){ -if(this._connects[i]==_2f){ -dojo.forEach(_2f,dojo.disconnect); -this._connects.splice(i,1); -return; -} -} -},subscribe:function(_30,_31){ -var _32=dojo.subscribe(_30,this,_31); -this._subscribes.push(_32); -return _32; -},unsubscribe:function(_33){ -for(var i=0;i<this._subscribes.length;i++){ -if(this._subscribes[i]==_33){ -dojo.unsubscribe(_33); -this._subscribes.splice(i,1); -return; -} -} -},isLeftToRight:function(){ -return this.dir?(this.dir=="ltr"):dojo._isBodyLtr(); -},placeAt:function(_34,_35){ -if(_34.declaredClass&&_34.addChild){ -_34.addChild(this,_35); -}else{ -dojo.place(this.domNode,_34,_35); -} -return this; -}}); -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_base.js b/resources/library/interactive/barre_prof.wgt/dijit/_base.js deleted file mode 100644 index 85f494e4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_base.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._base"]){ -dojo._hasResource["dijit._base"]=true; -dojo.provide("dijit._base"); -dojo.require("dijit._base.focus"); -dojo.require("dijit._base.manager"); -dojo.require("dijit._base.place"); -dojo.require("dijit._base.popup"); -dojo.require("dijit._base.scroll"); -dojo.require("dijit._base.sniff"); -dojo.require("dijit._base.typematic"); -dojo.require("dijit._base.wai"); -dojo.require("dijit._base.window"); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_base/focus.js b/resources/library/interactive/barre_prof.wgt/dijit/_base/focus.js deleted file mode 100644 index 42dbdf76..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_base/focus.js +++ /dev/null @@ -1,304 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._base.focus"]){ -dojo._hasResource["dijit._base.focus"]=true; -dojo.provide("dijit._base.focus"); -dojo.require("dojo.window"); -dojo.require("dijit._base.manager"); -dojo.mixin(dijit,{_curFocus:null,_prevFocus:null,isCollapsed:function(){ -return dijit.getBookmark().isCollapsed; -},getBookmark:function(){ -var bm,rg,tg,_1=dojo.doc.selection,cf=dijit._curFocus; -if(dojo.global.getSelection){ -_1=dojo.global.getSelection(); -if(_1){ -if(_1.isCollapsed){ -tg=cf?cf.tagName:""; -if(tg){ -tg=tg.toLowerCase(); -if(tg=="textarea"||(tg=="input"&&(!cf.type||cf.type.toLowerCase()=="text"))){ -_1={start:cf.selectionStart,end:cf.selectionEnd,node:cf,pRange:true}; -return {isCollapsed:(_1.end<=_1.start),mark:_1}; -} -} -bm={isCollapsed:true}; -if(_1.rangeCount){ -bm.mark=_1.getRangeAt(0).cloneRange(); -} -}else{ -rg=_1.getRangeAt(0); -bm={isCollapsed:false,mark:rg.cloneRange()}; -} -} -}else{ -if(_1){ -tg=cf?cf.tagName:""; -tg=tg.toLowerCase(); -if(cf&&tg&&(tg=="button"||tg=="textarea"||tg=="input")){ -if(_1.type&&_1.type.toLowerCase()=="none"){ -return {isCollapsed:true,mark:null}; -}else{ -rg=_1.createRange(); -return {isCollapsed:rg.text&&rg.text.length?false:true,mark:{range:rg,pRange:true}}; -} -} -bm={}; -try{ -rg=_1.createRange(); -bm.isCollapsed=!(_1.type=="Text"?rg.htmlText.length:rg.length); -} -catch(e){ -bm.isCollapsed=true; -return bm; -} -if(_1.type.toUpperCase()=="CONTROL"){ -if(rg.length){ -bm.mark=[]; -var i=0,_2=rg.length; -while(i<_2){ -bm.mark.push(rg.item(i++)); -} -}else{ -bm.isCollapsed=true; -bm.mark=null; -} -}else{ -bm.mark=rg.getBookmark(); -} -}else{ -console.warn("No idea how to store the current selection for this browser!"); -} -} -return bm; -},moveToBookmark:function(_3){ -var _4=dojo.doc,_5=_3.mark; -if(_5){ -if(dojo.global.getSelection){ -var _6=dojo.global.getSelection(); -if(_6&&_6.removeAllRanges){ -if(_5.pRange){ -var r=_5; -var n=r.node; -n.selectionStart=r.start; -n.selectionEnd=r.end; -}else{ -_6.removeAllRanges(); -_6.addRange(_5); -} -}else{ -console.warn("No idea how to restore selection for this browser!"); -} -}else{ -if(_4.selection&&_5){ -var rg; -if(_5.pRange){ -rg=_5.range; -}else{ -if(dojo.isArray(_5)){ -rg=_4.body.createControlRange(); -dojo.forEach(_5,function(n){ -rg.addElement(n); -}); -}else{ -rg=_4.body.createTextRange(); -rg.moveToBookmark(_5); -} -} -rg.select(); -} -} -} -},getFocus:function(_7,_8){ -var _9=!dijit._curFocus||(_7&&dojo.isDescendant(dijit._curFocus,_7.domNode))?dijit._prevFocus:dijit._curFocus; -return {node:_9,bookmark:(_9==dijit._curFocus)&&dojo.withGlobal(_8||dojo.global,dijit.getBookmark),openedForWindow:_8}; -},focus:function(_a){ -if(!_a){ -return; -} -var _b="node" in _a?_a.node:_a,_c=_a.bookmark,_d=_a.openedForWindow,_e=_c?_c.isCollapsed:false; -if(_b){ -var _f=(_b.tagName.toLowerCase()=="iframe")?_b.contentWindow:_b; -if(_f&&_f.focus){ -try{ -_f.focus(); -} -catch(e){ -} -} -dijit._onFocusNode(_b); -} -if(_c&&dojo.withGlobal(_d||dojo.global,dijit.isCollapsed)&&!_e){ -if(_d){ -_d.focus(); -} -try{ -dojo.withGlobal(_d||dojo.global,dijit.moveToBookmark,null,[_c]); -} -catch(e2){ -} -} -},_activeStack:[],registerIframe:function(_10){ -return dijit.registerWin(_10.contentWindow,_10); -},unregisterIframe:function(_11){ -dijit.unregisterWin(_11); -},registerWin:function(_12,_13){ -var _14=function(evt){ -dijit._justMouseDowned=true; -setTimeout(function(){ -dijit._justMouseDowned=false; -},0); -if(dojo.isIE&&evt&&evt.srcElement&&evt.srcElement.parentNode==null){ -return; -} -dijit._onTouchNode(_13||evt.target||evt.srcElement,"mouse"); -}; -var doc=dojo.isIE?_12.document.documentElement:_12.document; -if(doc){ -if(dojo.isIE){ -_12.document.body.attachEvent("onmousedown",_14); -var _15=function(evt){ -if(evt.srcElement.tagName.toLowerCase()!="#document"&&dijit.isTabNavigable(evt.srcElement)){ -dijit._onFocusNode(_13||evt.srcElement); -}else{ -dijit._onTouchNode(_13||evt.srcElement); -} -}; -doc.attachEvent("onactivate",_15); -var _16=function(evt){ -dijit._onBlurNode(_13||evt.srcElement); -}; -doc.attachEvent("ondeactivate",_16); -return function(){ -_12.document.detachEvent("onmousedown",_14); -doc.detachEvent("onactivate",_15); -doc.detachEvent("ondeactivate",_16); -doc=null; -}; -}else{ -doc.body.addEventListener("mousedown",_14,true); -var _17=function(evt){ -dijit._onFocusNode(_13||evt.target); -}; -doc.addEventListener("focus",_17,true); -var _18=function(evt){ -dijit._onBlurNode(_13||evt.target); -}; -doc.addEventListener("blur",_18,true); -return function(){ -doc.body.removeEventListener("mousedown",_14,true); -doc.removeEventListener("focus",_17,true); -doc.removeEventListener("blur",_18,true); -doc=null; -}; -} -} -},unregisterWin:function(_19){ -_19&&_19(); -},_onBlurNode:function(_1a){ -dijit._prevFocus=dijit._curFocus; -dijit._curFocus=null; -if(dijit._justMouseDowned){ -return; -} -if(dijit._clearActiveWidgetsTimer){ -clearTimeout(dijit._clearActiveWidgetsTimer); -} -dijit._clearActiveWidgetsTimer=setTimeout(function(){ -delete dijit._clearActiveWidgetsTimer; -dijit._setStack([]); -dijit._prevFocus=null; -},100); -},_onTouchNode:function(_1b,by){ -if(dijit._clearActiveWidgetsTimer){ -clearTimeout(dijit._clearActiveWidgetsTimer); -delete dijit._clearActiveWidgetsTimer; -} -var _1c=[]; -try{ -while(_1b){ -var _1d=dojo.attr(_1b,"dijitPopupParent"); -if(_1d){ -_1b=dijit.byId(_1d).domNode; -}else{ -if(_1b.tagName&&_1b.tagName.toLowerCase()=="body"){ -if(_1b===dojo.body()){ -break; -} -_1b=dojo.window.get(_1b.ownerDocument).frameElement; -}else{ -var id=_1b.getAttribute&&_1b.getAttribute("widgetId"),_1e=id&&dijit.byId(id); -if(_1e&&!(by=="mouse"&&_1e.get("disabled"))){ -_1c.unshift(id); -} -_1b=_1b.parentNode; -} -} -} -} -catch(e){ -} -dijit._setStack(_1c,by); -},_onFocusNode:function(_1f){ -if(!_1f){ -return; -} -if(_1f.nodeType==9){ -return; -} -dijit._onTouchNode(_1f); -if(_1f==dijit._curFocus){ -return; -} -if(dijit._curFocus){ -dijit._prevFocus=dijit._curFocus; -} -dijit._curFocus=_1f; -dojo.publish("focusNode",[_1f]); -},_setStack:function(_20,by){ -var _21=dijit._activeStack; -dijit._activeStack=_20; -for(var _22=0;_22<Math.min(_21.length,_20.length);_22++){ -if(_21[_22]!=_20[_22]){ -break; -} -} -var _23; -for(var i=_21.length-1;i>=_22;i--){ -_23=dijit.byId(_21[i]); -if(_23){ -_23._focused=false; -_23.set("focused",false); -_23._hasBeenBlurred=true; -if(_23._onBlur){ -_23._onBlur(by); -} -dojo.publish("widgetBlur",[_23,by]); -} -} -for(i=_22;i<_20.length;i++){ -_23=dijit.byId(_20[i]); -if(_23){ -_23._focused=true; -_23.set("focused",true); -if(_23._onFocus){ -_23._onFocus(by); -} -dojo.publish("widgetFocus",[_23,by]); -} -} -}}); -dojo.addOnLoad(function(){ -var _24=dijit.registerWin(window); -if(dojo.isIE){ -dojo.addOnWindowUnload(function(){ -dijit.unregisterWin(_24); -_24=null; -}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_base/manager.js b/resources/library/interactive/barre_prof.wgt/dijit/_base/manager.js deleted file mode 100644 index 52a5804f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_base/manager.js +++ /dev/null @@ -1,253 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._base.manager"]){ -dojo._hasResource["dijit._base.manager"]=true; -dojo.provide("dijit._base.manager"); -dojo.declare("dijit.WidgetSet",null,{constructor:function(){ -this._hash={}; -this.length=0; -},add:function(_1){ -if(this._hash[_1.id]){ -throw new Error("Tried to register widget with id=="+_1.id+" but that id is already registered"); -} -this._hash[_1.id]=_1; -this.length++; -},remove:function(id){ -if(this._hash[id]){ -delete this._hash[id]; -this.length--; -} -},forEach:function(_2,_3){ -_3=_3||dojo.global; -var i=0,id; -for(id in this._hash){ -_2.call(_3,this._hash[id],i++,this._hash); -} -return this; -},filter:function(_4,_5){ -_5=_5||dojo.global; -var _6=new dijit.WidgetSet(),i=0,id; -for(id in this._hash){ -var w=this._hash[id]; -if(_4.call(_5,w,i++,this._hash)){ -_6.add(w); -} -} -return _6; -},byId:function(id){ -return this._hash[id]; -},byClass:function(_7){ -var _8=new dijit.WidgetSet(),id,_9; -for(id in this._hash){ -_9=this._hash[id]; -if(_9.declaredClass==_7){ -_8.add(_9); -} -} -return _8; -},toArray:function(){ -var ar=[]; -for(var id in this._hash){ -ar.push(this._hash[id]); -} -return ar; -},map:function(_a,_b){ -return dojo.map(this.toArray(),_a,_b); -},every:function(_c,_d){ -_d=_d||dojo.global; -var x=0,i; -for(i in this._hash){ -if(!_c.call(_d,this._hash[i],x++,this._hash)){ -return false; -} -} -return true; -},some:function(_e,_f){ -_f=_f||dojo.global; -var x=0,i; -for(i in this._hash){ -if(_e.call(_f,this._hash[i],x++,this._hash)){ -return true; -} -} -return false; -}}); -(function(){ -dijit.registry=new dijit.WidgetSet(); -var _10=dijit.registry._hash,_11=dojo.attr,_12=dojo.hasAttr,_13=dojo.style; -dijit.byId=function(id){ -return typeof id=="string"?_10[id]:id; -}; -var _14={}; -dijit.getUniqueId=function(_15){ -var id; -do{ -id=_15+"_"+(_15 in _14?++_14[_15]:_14[_15]=0); -}while(_10[id]); -return dijit._scopeName=="dijit"?id:dijit._scopeName+"_"+id; -}; -dijit.findWidgets=function(_16){ -var _17=[]; -function _18(_19){ -for(var _1a=_19.firstChild;_1a;_1a=_1a.nextSibling){ -if(_1a.nodeType==1){ -var _1b=_1a.getAttribute("widgetId"); -if(_1b){ -var _1c=_10[_1b]; -if(_1c){ -_17.push(_1c); -} -}else{ -_18(_1a); -} -} -} -}; -_18(_16); -return _17; -}; -dijit._destroyAll=function(){ -dijit._curFocus=null; -dijit._prevFocus=null; -dijit._activeStack=[]; -dojo.forEach(dijit.findWidgets(dojo.body()),function(_1d){ -if(!_1d._destroyed){ -if(_1d.destroyRecursive){ -_1d.destroyRecursive(); -}else{ -if(_1d.destroy){ -_1d.destroy(); -} -} -} -}); -}; -if(dojo.isIE){ -dojo.addOnWindowUnload(function(){ -dijit._destroyAll(); -}); -} -dijit.byNode=function(_1e){ -return _10[_1e.getAttribute("widgetId")]; -}; -dijit.getEnclosingWidget=function(_1f){ -while(_1f){ -var id=_1f.getAttribute&&_1f.getAttribute("widgetId"); -if(id){ -return _10[id]; -} -_1f=_1f.parentNode; -} -return null; -}; -var _20=(dijit._isElementShown=function(_21){ -var s=_13(_21); -return (s.visibility!="hidden")&&(s.visibility!="collapsed")&&(s.display!="none")&&(_11(_21,"type")!="hidden"); -}); -dijit.hasDefaultTabStop=function(_22){ -switch(_22.nodeName.toLowerCase()){ -case "a": -return _12(_22,"href"); -case "area": -case "button": -case "input": -case "object": -case "select": -case "textarea": -return true; -case "iframe": -var _23; -try{ -var _24=_22.contentDocument; -if("designMode" in _24&&_24.designMode=="on"){ -return true; -} -_23=_24.body; -} -catch(e1){ -try{ -_23=_22.contentWindow.document.body; -} -catch(e2){ -return false; -} -} -return _23.contentEditable=="true"||(_23.firstChild&&_23.firstChild.contentEditable=="true"); -default: -return _22.contentEditable=="true"; -} -}; -var _25=(dijit.isTabNavigable=function(_26){ -if(_11(_26,"disabled")){ -return false; -}else{ -if(_12(_26,"tabIndex")){ -return _11(_26,"tabIndex")>=0; -}else{ -return dijit.hasDefaultTabStop(_26); -} -} -}); -dijit._getTabNavigable=function(_27){ -var _28,_29,_2a,_2b,_2c,_2d,_2e={}; -function _2f(_30){ -return _30&&_30.tagName.toLowerCase()=="input"&&_30.type&&_30.type.toLowerCase()=="radio"&&_30.name&&_30.name.toLowerCase(); -}; -var _31=function(_32){ -dojo.query("> *",_32).forEach(function(_33){ -if((dojo.isIE&&_33.scopeName!=="HTML")||!_20(_33)){ -return; -} -if(_25(_33)){ -var _34=_11(_33,"tabIndex"); -if(!_12(_33,"tabIndex")||_34==0){ -if(!_28){ -_28=_33; -} -_29=_33; -}else{ -if(_34>0){ -if(!_2a||_34<_2b){ -_2b=_34; -_2a=_33; -} -if(!_2c||_34>=_2d){ -_2d=_34; -_2c=_33; -} -} -} -var rn=_2f(_33); -if(dojo.attr(_33,"checked")&&rn){ -_2e[rn]=_33; -} -} -if(_33.nodeName.toUpperCase()!="SELECT"){ -_31(_33); -} -}); -}; -if(_20(_27)){ -_31(_27); -} -function rs(_35){ -return _2e[_2f(_35)]||_35; -}; -return {first:rs(_28),last:rs(_29),lowest:rs(_2a),highest:rs(_2c)}; -}; -dijit.getFirstInTabbingOrder=function(_36){ -var _37=dijit._getTabNavigable(dojo.byId(_36)); -return _37.lowest?_37.lowest:_37.first; -}; -dijit.getLastInTabbingOrder=function(_38){ -var _39=dijit._getTabNavigable(dojo.byId(_38)); -return _39.last?_39.last:_39.highest; -}; -dijit.defaultDuration=dojo.config["defaultDuration"]||200; -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_base/place.js b/resources/library/interactive/barre_prof.wgt/dijit/_base/place.js deleted file mode 100644 index 1c42c16c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_base/place.js +++ /dev/null @@ -1,117 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._base.place"]){ -dojo._hasResource["dijit._base.place"]=true; -dojo.provide("dijit._base.place"); -dojo.require("dojo.window"); -dojo.require("dojo.AdapterRegistry"); -dijit.getViewport=function(){ -return dojo.window.getBox(); -}; -dijit.placeOnScreen=function(_1,_2,_3,_4){ -var _5=dojo.map(_3,function(_6){ -var c={corner:_6,pos:{x:_2.x,y:_2.y}}; -if(_4){ -c.pos.x+=_6.charAt(1)=="L"?_4.x:-_4.x; -c.pos.y+=_6.charAt(0)=="T"?_4.y:-_4.y; -} -return c; -}); -return dijit._place(_1,_5); -}; -dijit._place=function(_7,_8,_9,_a){ -var _b=dojo.window.getBox(); -if(!_7.parentNode||String(_7.parentNode.tagName).toLowerCase()!="body"){ -dojo.body().appendChild(_7); -} -var _c=null; -dojo.some(_8,function(_d){ -var _e=_d.corner; -var _f=_d.pos; -var _10=0; -var _11={w:_e.charAt(1)=="L"?(_b.l+_b.w)-_f.x:_f.x-_b.l,h:_e.charAt(1)=="T"?(_b.t+_b.h)-_f.y:_f.y-_b.t}; -if(_9){ -var res=_9(_7,_d.aroundCorner,_e,_11,_a); -_10=typeof res=="undefined"?0:res; -} -var _12=_7.style; -var _13=_12.display; -var _14=_12.visibility; -_12.visibility="hidden"; -_12.display=""; -var mb=dojo.marginBox(_7); -_12.display=_13; -_12.visibility=_14; -var _15=Math.max(_b.l,_e.charAt(1)=="L"?_f.x:(_f.x-mb.w)),_16=Math.max(_b.t,_e.charAt(0)=="T"?_f.y:(_f.y-mb.h)),_17=Math.min(_b.l+_b.w,_e.charAt(1)=="L"?(_15+mb.w):_f.x),_18=Math.min(_b.t+_b.h,_e.charAt(0)=="T"?(_16+mb.h):_f.y),_19=_17-_15,_1a=_18-_16; -_10+=(mb.w-_19)+(mb.h-_1a); -if(_c==null||_10<_c.overflow){ -_c={corner:_e,aroundCorner:_d.aroundCorner,x:_15,y:_16,w:_19,h:_1a,overflow:_10,spaceAvailable:_11}; -} -return !_10; -}); -if(_c.overflow&&_9){ -_9(_7,_c.aroundCorner,_c.corner,_c.spaceAvailable,_a); -} -var l=dojo._isBodyLtr(),s=_7.style; -s.top=_c.y+"px"; -s[l?"left":"right"]=(l?_c.x:_b.w-_c.x-_c.w)+"px"; -return _c; -}; -dijit.placeOnScreenAroundNode=function(_1b,_1c,_1d,_1e){ -_1c=dojo.byId(_1c); -var _1f=dojo.position(_1c,true); -return dijit._placeOnScreenAroundRect(_1b,_1f.x,_1f.y,_1f.w,_1f.h,_1d,_1e); -}; -dijit.placeOnScreenAroundRectangle=function(_20,_21,_22,_23){ -return dijit._placeOnScreenAroundRect(_20,_21.x,_21.y,_21.width,_21.height,_22,_23); -}; -dijit._placeOnScreenAroundRect=function(_24,x,y,_25,_26,_27,_28){ -var _29=[]; -for(var _2a in _27){ -_29.push({aroundCorner:_2a,corner:_27[_2a],pos:{x:x+(_2a.charAt(1)=="L"?0:_25),y:y+(_2a.charAt(0)=="T"?0:_26)}}); -} -return dijit._place(_24,_29,_28,{w:_25,h:_26}); -}; -dijit.placementRegistry=new dojo.AdapterRegistry(); -dijit.placementRegistry.register("node",function(n,x){ -return typeof x=="object"&&typeof x.offsetWidth!="undefined"&&typeof x.offsetHeight!="undefined"; -},dijit.placeOnScreenAroundNode); -dijit.placementRegistry.register("rect",function(n,x){ -return typeof x=="object"&&"x" in x&&"y" in x&&"width" in x&&"height" in x; -},dijit.placeOnScreenAroundRectangle); -dijit.placeOnScreenAroundElement=function(_2b,_2c,_2d,_2e){ -return dijit.placementRegistry.match.apply(dijit.placementRegistry,arguments); -}; -dijit.getPopupAroundAlignment=function(_2f,_30){ -var _31={}; -dojo.forEach(_2f,function(pos){ -switch(pos){ -case "after": -_31[_30?"BR":"BL"]=_30?"BL":"BR"; -break; -case "before": -_31[_30?"BL":"BR"]=_30?"BR":"BL"; -break; -case "below-alt": -_30=!_30; -case "below": -_31[_30?"BL":"BR"]=_30?"TL":"TR"; -_31[_30?"BR":"BL"]=_30?"TR":"TL"; -break; -case "above-alt": -_30=!_30; -case "above": -default: -_31[_30?"TL":"TR"]=_30?"BL":"BR"; -_31[_30?"TR":"TL"]=_30?"BR":"BL"; -break; -} -}); -return _31; -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_base/popup.js b/resources/library/interactive/barre_prof.wgt/dijit/_base/popup.js deleted file mode 100644 index f52aa24c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_base/popup.js +++ /dev/null @@ -1,166 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._base.popup"]){ -dojo._hasResource["dijit._base.popup"]=true; -dojo.provide("dijit._base.popup"); -dojo.require("dijit._base.focus"); -dojo.require("dijit._base.place"); -dojo.require("dijit._base.window"); -dijit.popup={_stack:[],_beginZIndex:1000,_idGen:1,_createWrapper:function(_1){ -var _2=_1.declaredClass?_1._popupWrapper:(_1.parentNode&&dojo.hasClass(_1.parentNode,"dijitPopup")),_3=_1.domNode||_1; -if(!_2){ -_2=dojo.create("div",{"class":"dijitPopup",style:{display:"none"},role:"presentation"},dojo.body()); -_2.appendChild(_3); -var s=_3.style; -s.display=""; -s.visibility=""; -s.position=""; -s.top="0px"; -if(_1.declaredClass){ -_1._popupWrapper=_2; -dojo.connect(_1,"destroy",function(){ -dojo.destroy(_2); -delete _1._popupWrapper; -}); -} -} -return _2; -},moveOffScreen:function(_4){ -var _5=this._createWrapper(_4); -dojo.style(_5,{visibility:"hidden",top:"-9999px",display:""}); -},hide:function(_6){ -var _7=this._createWrapper(_6); -dojo.style(_7,"display","none"); -},getTopPopup:function(){ -var _8=this._stack; -for(var pi=_8.length-1;pi>0&&_8[pi].parent===_8[pi-1].widget;pi--){ -} -return _8[pi]; -},open:function(_9){ -var _a=this._stack,_b=_9.popup,_c=_9.orient||((_9.parent?_9.parent.isLeftToRight():dojo._isBodyLtr())?{"BL":"TL","BR":"TR","TL":"BL","TR":"BR"}:{"BR":"TR","BL":"TL","TR":"BR","TL":"BL"}),_d=_9.around,id=(_9.around&&_9.around.id)?(_9.around.id+"_dropdown"):("popup_"+this._idGen++); -while(_a.length&&(!_9.parent||!dojo.isDescendant(_9.parent.domNode,_a[_a.length-1].widget.domNode))){ -dijit.popup.close(_a[_a.length-1].widget); -} -var _e=this._createWrapper(_b); -dojo.attr(_e,{id:id,style:{zIndex:this._beginZIndex+_a.length},"class":"dijitPopup "+(_b.baseClass||_b["class"]||"").split(" ")[0]+"Popup",dijitPopupParent:_9.parent?_9.parent.id:""}); -if(dojo.isIE||dojo.isMoz){ -if(!_b.bgIframe){ -_b.bgIframe=new dijit.BackgroundIframe(_e); -} -} -var _f=_d?dijit.placeOnScreenAroundElement(_e,_d,_c,_b.orient?dojo.hitch(_b,"orient"):null):dijit.placeOnScreen(_e,_9,_c=="R"?["TR","BR","TL","BL"]:["TL","BL","TR","BR"],_9.padding); -_e.style.display=""; -_e.style.visibility="visible"; -_b.domNode.style.visibility="visible"; -var _10=[]; -_10.push(dojo.connect(_e,"onkeypress",this,function(evt){ -if(evt.charOrCode==dojo.keys.ESCAPE&&_9.onCancel){ -dojo.stopEvent(evt); -_9.onCancel(); -}else{ -if(evt.charOrCode===dojo.keys.TAB){ -dojo.stopEvent(evt); -var _11=this.getTopPopup(); -if(_11&&_11.onCancel){ -_11.onCancel(); -} -} -} -})); -if(_b.onCancel){ -_10.push(dojo.connect(_b,"onCancel",_9.onCancel)); -} -_10.push(dojo.connect(_b,_b.onExecute?"onExecute":"onChange",this,function(){ -var _12=this.getTopPopup(); -if(_12&&_12.onExecute){ -_12.onExecute(); -} -})); -_a.push({widget:_b,parent:_9.parent,onExecute:_9.onExecute,onCancel:_9.onCancel,onClose:_9.onClose,handlers:_10}); -if(_b.onOpen){ -_b.onOpen(_f); -} -return _f; -},close:function(_13){ -var _14=this._stack; -while((_13&&dojo.some(_14,function(_15){ -return _15.widget==_13; -}))||(!_13&&_14.length)){ -var top=_14.pop(),_16=top.widget,_17=top.onClose; -if(_16.onClose){ -_16.onClose(); -} -dojo.forEach(top.handlers,dojo.disconnect); -if(_16&&_16.domNode){ -this.hide(_16); -} -if(_17){ -_17(); -} -} -}}; -dijit._frames=new function(){ -var _18=[]; -this.pop=function(){ -var _19; -if(_18.length){ -_19=_18.pop(); -_19.style.display=""; -}else{ -if(dojo.isIE<9){ -var _1a=dojo.config["dojoBlankHtmlUrl"]||(dojo.moduleUrl("dojo","resources/blank.html")+"")||"javascript:\"\""; -var _1b="<iframe src='"+_1a+"'"+" style='position: absolute; left: 0px; top: 0px;"+"z-index: -1; filter:Alpha(Opacity=\"0\");'>"; -_19=dojo.doc.createElement(_1b); -}else{ -_19=dojo.create("iframe"); -_19.src="javascript:\"\""; -_19.className="dijitBackgroundIframe"; -dojo.style(_19,"opacity",0.1); -} -_19.tabIndex=-1; -dijit.setWaiRole(_19,"presentation"); -} -return _19; -}; -this.push=function(_1c){ -_1c.style.display="none"; -_18.push(_1c); -}; -}(); -dijit.BackgroundIframe=function(_1d){ -if(!_1d.id){ -throw new Error("no id"); -} -if(dojo.isIE||dojo.isMoz){ -var _1e=(this.iframe=dijit._frames.pop()); -_1d.appendChild(_1e); -if(dojo.isIE<7||dojo.isQuirks){ -this.resize(_1d); -this._conn=dojo.connect(_1d,"onresize",this,function(){ -this.resize(_1d); -}); -}else{ -dojo.style(_1e,{width:"100%",height:"100%"}); -} -} -}; -dojo.extend(dijit.BackgroundIframe,{resize:function(_1f){ -if(this.iframe){ -dojo.style(this.iframe,{width:_1f.offsetWidth+"px",height:_1f.offsetHeight+"px"}); -} -},destroy:function(){ -if(this._conn){ -dojo.disconnect(this._conn); -this._conn=null; -} -if(this.iframe){ -dijit._frames.push(this.iframe); -delete this.iframe; -} -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_base/scroll.js b/resources/library/interactive/barre_prof.wgt/dijit/_base/scroll.js deleted file mode 100644 index f0351f71..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_base/scroll.js +++ /dev/null @@ -1,15 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._base.scroll"]){ -dojo._hasResource["dijit._base.scroll"]=true; -dojo.provide("dijit._base.scroll"); -dojo.require("dojo.window"); -dijit.scrollIntoView=function(_1,_2){ -dojo.window.scrollIntoView(_1,_2); -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_base/sniff.js b/resources/library/interactive/barre_prof.wgt/dijit/_base/sniff.js deleted file mode 100644 index 419c34d4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_base/sniff.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._base.sniff"]){ -dojo._hasResource["dijit._base.sniff"]=true; -dojo.provide("dijit._base.sniff"); -dojo.require("dojo.uacss"); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_base/typematic.js b/resources/library/interactive/barre_prof.wgt/dijit/_base/typematic.js deleted file mode 100644 index 482871d7..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_base/typematic.js +++ /dev/null @@ -1,87 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._base.typematic"]){ -dojo._hasResource["dijit._base.typematic"]=true; -dojo.provide("dijit._base.typematic"); -dijit.typematic={_fireEventAndReload:function(){ -this._timer=null; -this._callback(++this._count,this._node,this._evt); -this._currentTimeout=Math.max(this._currentTimeout<0?this._initialDelay:(this._subsequentDelay>1?this._subsequentDelay:Math.round(this._currentTimeout*this._subsequentDelay)),this._minDelay); -this._timer=setTimeout(dojo.hitch(this,"_fireEventAndReload"),this._currentTimeout); -},trigger:function(_1,_2,_3,_4,_5,_6,_7,_8){ -if(_5!=this._obj){ -this.stop(); -this._initialDelay=_7||500; -this._subsequentDelay=_6||0.9; -this._minDelay=_8||10; -this._obj=_5; -this._evt=_1; -this._node=_3; -this._currentTimeout=-1; -this._count=-1; -this._callback=dojo.hitch(_2,_4); -this._fireEventAndReload(); -this._evt=dojo.mixin({faux:true},_1); -} -},stop:function(){ -if(this._timer){ -clearTimeout(this._timer); -this._timer=null; -} -if(this._obj){ -this._callback(-1,this._node,this._evt); -this._obj=null; -} -},addKeyListener:function(_9,_a,_b,_c,_d,_e,_f){ -if(_a.keyCode){ -_a.charOrCode=_a.keyCode; -dojo.deprecated("keyCode attribute parameter for dijit.typematic.addKeyListener is deprecated. Use charOrCode instead.","","2.0"); -}else{ -if(_a.charCode){ -_a.charOrCode=String.fromCharCode(_a.charCode); -dojo.deprecated("charCode attribute parameter for dijit.typematic.addKeyListener is deprecated. Use charOrCode instead.","","2.0"); -} -} -return [dojo.connect(_9,"onkeypress",this,function(evt){ -if(evt.charOrCode==_a.charOrCode&&(_a.ctrlKey===undefined||_a.ctrlKey==evt.ctrlKey)&&(_a.altKey===undefined||_a.altKey==evt.altKey)&&(_a.metaKey===undefined||_a.metaKey==(evt.metaKey||false))&&(_a.shiftKey===undefined||_a.shiftKey==evt.shiftKey)){ -dojo.stopEvent(evt); -dijit.typematic.trigger(evt,_b,_9,_c,_a,_d,_e,_f); -}else{ -if(dijit.typematic._obj==_a){ -dijit.typematic.stop(); -} -} -}),dojo.connect(_9,"onkeyup",this,function(evt){ -if(dijit.typematic._obj==_a){ -dijit.typematic.stop(); -} -})]; -},addMouseListener:function(_10,_11,_12,_13,_14,_15){ -var dc=dojo.connect; -return [dc(_10,"mousedown",this,function(evt){ -dojo.stopEvent(evt); -dijit.typematic.trigger(evt,_11,_10,_12,_10,_13,_14,_15); -}),dc(_10,"mouseup",this,function(evt){ -dojo.stopEvent(evt); -dijit.typematic.stop(); -}),dc(_10,"mouseout",this,function(evt){ -dojo.stopEvent(evt); -dijit.typematic.stop(); -}),dc(_10,"mousemove",this,function(evt){ -evt.preventDefault(); -}),dc(_10,"dblclick",this,function(evt){ -dojo.stopEvent(evt); -if(dojo.isIE){ -dijit.typematic.trigger(evt,_11,_10,_12,_10,_13,_14,_15); -setTimeout(dojo.hitch(this,dijit.typematic.stop),50); -} -})]; -},addListener:function(_16,_17,_18,_19,_1a,_1b,_1c,_1d){ -return this.addKeyListener(_17,_18,_19,_1a,_1b,_1c,_1d).concat(this.addMouseListener(_16,_19,_1a,_1b,_1c,_1d)); -}}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_base/wai.js b/resources/library/interactive/barre_prof.wgt/dijit/_base/wai.js deleted file mode 100644 index e7218e6a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_base/wai.js +++ /dev/null @@ -1,55 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._base.wai"]){ -dojo._hasResource["dijit._base.wai"]=true; -dojo.provide("dijit._base.wai"); -dijit.wai={onload:function(){ -var _1=dojo.create("div",{id:"a11yTestNode",style:{cssText:"border: 1px solid;"+"border-color:red green;"+"position: absolute;"+"height: 5px;"+"top: -999px;"+"background-image: url(\""+(dojo.config.blankGif||dojo.moduleUrl("dojo","resources/blank.gif"))+"\");"}},dojo.body()); -var cs=dojo.getComputedStyle(_1); -if(cs){ -var _2=cs.backgroundImage; -var _3=(cs.borderTopColor==cs.borderRightColor)||(_2!=null&&(_2=="none"||_2=="url(invalid-url:)")); -dojo[_3?"addClass":"removeClass"](dojo.body(),"dijit_a11y"); -if(dojo.isIE){ -_1.outerHTML=""; -}else{ -dojo.body().removeChild(_1); -} -} -}}; -if(dojo.isIE||dojo.isMoz){ -dojo._loaders.unshift(dijit.wai.onload); -} -dojo.mixin(dijit,{hasWaiRole:function(_4,_5){ -var _6=this.getWaiRole(_4); -return _5?(_6.indexOf(_5)>-1):(_6.length>0); -},getWaiRole:function(_7){ -return dojo.trim((dojo.attr(_7,"role")||"").replace("wairole:","")); -},setWaiRole:function(_8,_9){ -dojo.attr(_8,"role",_9); -},removeWaiRole:function(_a,_b){ -var _c=dojo.attr(_a,"role"); -if(!_c){ -return; -} -if(_b){ -var t=dojo.trim((" "+_c+" ").replace(" "+_b+" "," ")); -dojo.attr(_a,"role",t); -}else{ -_a.removeAttribute("role"); -} -},hasWaiState:function(_d,_e){ -return _d.hasAttribute?_d.hasAttribute("aria-"+_e):!!_d.getAttribute("aria-"+_e); -},getWaiState:function(_f,_10){ -return _f.getAttribute("aria-"+_10)||""; -},setWaiState:function(_11,_12,_13){ -_11.setAttribute("aria-"+_12,_13); -},removeWaiState:function(_14,_15){ -_14.removeAttribute("aria-"+_15); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_base/window.js b/resources/library/interactive/barre_prof.wgt/dijit/_base/window.js deleted file mode 100644 index 629fe482..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_base/window.js +++ /dev/null @@ -1,15 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._base.window"]){ -dojo._hasResource["dijit._base.window"]=true; -dojo.provide("dijit._base.window"); -dojo.require("dojo.window"); -dijit.getDocumentWindow=function(_1){ -return dojo.window.get(_1); -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/RichText.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/RichText.js deleted file mode 100644 index f3e2c905..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/RichText.js +++ /dev/null @@ -1,1172 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._editor.RichText"]){ -dojo._hasResource["dijit._editor.RichText"]=true; -dojo.provide("dijit._editor.RichText"); -dojo.require("dijit._Widget"); -dojo.require("dijit._CssStateMixin"); -dojo.require("dijit._editor.selection"); -dojo.require("dijit._editor.range"); -dojo.require("dijit._editor.html"); -if(!dojo.config["useXDomain"]||dojo.config["allowXdRichTextSave"]){ -if(dojo._postLoad){ -(function(){ -var _1=dojo.doc.createElement("textarea"); -_1.id=dijit._scopeName+"._editor.RichText.value"; -dojo.style(_1,{display:"none",position:"absolute",top:"-100px",height:"3px",width:"3px"}); -dojo.body().appendChild(_1); -})(); -}else{ -try{ -dojo.doc.write("<textarea id=\""+dijit._scopeName+"._editor.RichText.value\" "+"style=\"display:none;position:absolute;top:-100px;left:-100px;height:3px;width:3px;overflow:hidden;\"></textarea>"); -} -catch(e){ -} -} -} -dojo.declare("dijit._editor.RichText",[dijit._Widget,dijit._CssStateMixin],{constructor:function(_2){ -this.contentPreFilters=[]; -this.contentPostFilters=[]; -this.contentDomPreFilters=[]; -this.contentDomPostFilters=[]; -this.editingAreaStyleSheets=[]; -this.events=[].concat(this.events); -this._keyHandlers={}; -if(_2&&dojo.isString(_2.value)){ -this.value=_2.value; -} -this.onLoadDeferred=new dojo.Deferred(); -},baseClass:"dijitEditor",inheritWidth:false,focusOnLoad:false,name:"",styleSheets:"",height:"300px",minHeight:"1em",isClosed:true,isLoaded:false,_SEPARATOR:"@@**%%__RICHTEXTBOUNDRY__%%**@@",_NAME_CONTENT_SEP:"@@**%%:%%**@@",onLoadDeferred:null,isTabIndent:false,disableSpellCheck:false,postCreate:function(){ -if("textarea"==this.domNode.tagName.toLowerCase()){ -console.warn("RichText should not be used with the TEXTAREA tag. See dijit._editor.RichText docs."); -} -this.contentPreFilters=[dojo.hitch(this,"_preFixUrlAttributes")].concat(this.contentPreFilters); -if(dojo.isMoz){ -this.contentPreFilters=[this._normalizeFontStyle].concat(this.contentPreFilters); -this.contentPostFilters=[this._removeMozBogus].concat(this.contentPostFilters); -} -if(dojo.isWebKit){ -this.contentPreFilters=[this._removeWebkitBogus].concat(this.contentPreFilters); -this.contentPostFilters=[this._removeWebkitBogus].concat(this.contentPostFilters); -} -if(dojo.isIE){ -this.contentPostFilters=[this._normalizeFontStyle].concat(this.contentPostFilters); -} -this.inherited(arguments); -dojo.publish(dijit._scopeName+"._editor.RichText::init",[this]); -this.open(); -this.setupDefaultShortcuts(); -},setupDefaultShortcuts:function(){ -var _3=dojo.hitch(this,function(_4,_5){ -return function(){ -return !this.execCommand(_4,_5); -}; -}); -var _6={b:_3("bold"),i:_3("italic"),u:_3("underline"),a:_3("selectall"),s:function(){ -this.save(true); -},m:function(){ -this.isTabIndent=!this.isTabIndent; -},"1":_3("formatblock","h1"),"2":_3("formatblock","h2"),"3":_3("formatblock","h3"),"4":_3("formatblock","h4"),"\\":_3("insertunorderedlist")}; -if(!dojo.isIE){ -_6.Z=_3("redo"); -} -for(var _7 in _6){ -this.addKeyHandler(_7,true,false,_6[_7]); -} -},events:["onKeyPress","onKeyDown","onKeyUp"],captureEvents:[],_editorCommandsLocalized:false,_localizeEditorCommands:function(){ -if(dijit._editor._editorCommandsLocalized){ -this._local2NativeFormatNames=dijit._editor._local2NativeFormatNames; -this._native2LocalFormatNames=dijit._editor._native2LocalFormatNames; -return; -} -dijit._editor._editorCommandsLocalized=true; -dijit._editor._local2NativeFormatNames={}; -dijit._editor._native2LocalFormatNames={}; -this._local2NativeFormatNames=dijit._editor._local2NativeFormatNames; -this._native2LocalFormatNames=dijit._editor._native2LocalFormatNames; -var _8=["div","p","pre","h1","h2","h3","h4","h5","h6","ol","ul","address"]; -var _9="",_a,i=0; -while((_a=_8[i++])){ -if(_a.charAt(1)!=="l"){ -_9+="<"+_a+"><span>content</span></"+_a+"><br/>"; -}else{ -_9+="<"+_a+"><li>content</li></"+_a+"><br/>"; -} -} -var _b={position:"absolute",top:"0px",zIndex:10,opacity:0.01}; -var _c=dojo.create("div",{style:_b,innerHTML:_9}); -dojo.body().appendChild(_c); -var _d=dojo.hitch(this,function(){ -var _e=_c.firstChild; -while(_e){ -try{ -dijit._editor.selection.selectElement(_e.firstChild); -var _f=_e.tagName.toLowerCase(); -this._local2NativeFormatNames[_f]=document.queryCommandValue("formatblock"); -this._native2LocalFormatNames[this._local2NativeFormatNames[_f]]=_f; -_e=_e.nextSibling.nextSibling; -} -catch(e){ -} -} -_c.parentNode.removeChild(_c); -_c.innerHTML=""; -}); -setTimeout(_d,0); -},open:function(_10){ -if(!this.onLoadDeferred||this.onLoadDeferred.fired>=0){ -this.onLoadDeferred=new dojo.Deferred(); -} -if(!this.isClosed){ -this.close(); -} -dojo.publish(dijit._scopeName+"._editor.RichText::open",[this]); -if(arguments.length==1&&_10.nodeName){ -this.domNode=_10; -} -var dn=this.domNode; -var _11; -if(dojo.isString(this.value)){ -_11=this.value; -delete this.value; -dn.innerHTML=""; -}else{ -if(dn.nodeName&&dn.nodeName.toLowerCase()=="textarea"){ -var ta=(this.textarea=dn); -this.name=ta.name; -_11=ta.value; -dn=this.domNode=dojo.doc.createElement("div"); -dn.setAttribute("widgetId",this.id); -ta.removeAttribute("widgetId"); -dn.cssText=ta.cssText; -dn.className+=" "+ta.className; -dojo.place(dn,ta,"before"); -var _12=dojo.hitch(this,function(){ -dojo.style(ta,{display:"block",position:"absolute",top:"-1000px"}); -if(dojo.isIE){ -var s=ta.style; -this.__overflow=s.overflow; -s.overflow="hidden"; -} -}); -if(dojo.isIE){ -setTimeout(_12,10); -}else{ -_12(); -} -if(ta.form){ -var _13=ta.value; -this.reset=function(){ -var _14=this.getValue(); -if(_14!=_13){ -this.replaceValue(_13); -} -}; -dojo.connect(ta.form,"onsubmit",this,function(){ -dojo.attr(ta,"disabled",this.disabled); -ta.value=this.getValue(); -}); -} -}else{ -_11=dijit._editor.getChildrenHtml(dn); -dn.innerHTML=""; -} -} -var _15=dojo.contentBox(dn); -this._oldHeight=_15.h; -this._oldWidth=_15.w; -this.value=_11; -if(dn.nodeName&&dn.nodeName=="LI"){ -dn.innerHTML=" <br>"; -} -this.header=dn.ownerDocument.createElement("div"); -dn.appendChild(this.header); -this.editingArea=dn.ownerDocument.createElement("div"); -dn.appendChild(this.editingArea); -this.footer=dn.ownerDocument.createElement("div"); -dn.appendChild(this.footer); -if(!this.name){ -this.name=this.id+"_AUTOGEN"; -} -if(this.name!==""&&(!dojo.config["useXDomain"]||dojo.config["allowXdRichTextSave"])){ -var _16=dojo.byId(dijit._scopeName+"._editor.RichText.value"); -if(_16&&_16.value!==""){ -var _17=_16.value.split(this._SEPARATOR),i=0,dat; -while((dat=_17[i++])){ -var _18=dat.split(this._NAME_CONTENT_SEP); -if(_18[0]==this.name){ -_11=_18[1]; -_17=_17.splice(i,1); -_16.value=_17.join(this._SEPARATOR); -break; -} -} -} -if(!dijit._editor._globalSaveHandler){ -dijit._editor._globalSaveHandler={}; -dojo.addOnUnload(function(){ -var id; -for(id in dijit._editor._globalSaveHandler){ -var f=dijit._editor._globalSaveHandler[id]; -if(dojo.isFunction(f)){ -f(); -} -} -}); -} -dijit._editor._globalSaveHandler[this.id]=dojo.hitch(this,"_saveContent"); -} -this.isClosed=false; -var ifr=(this.editorObject=this.iframe=dojo.doc.createElement("iframe")); -ifr.id=this.id+"_iframe"; -this._iframeSrc=this._getIframeDocTxt(); -ifr.style.border="none"; -ifr.style.width="100%"; -if(this._layoutMode){ -ifr.style.height="100%"; -}else{ -if(dojo.isIE>=7){ -if(this.height){ -ifr.style.height=this.height; -} -if(this.minHeight){ -ifr.style.minHeight=this.minHeight; -} -}else{ -ifr.style.height=this.height?this.height:this.minHeight; -} -} -ifr.frameBorder=0; -ifr._loadFunc=dojo.hitch(this,function(win){ -this.window=win; -this.document=this.window.document; -if(dojo.isIE){ -this._localizeEditorCommands(); -} -this.onLoad(_11); -}); -var s="javascript:parent."+dijit._scopeName+".byId(\""+this.id+"\")._iframeSrc"; -ifr.setAttribute("src",s); -this.editingArea.appendChild(ifr); -if(dojo.isSafari<=4){ -var src=ifr.getAttribute("src"); -if(!src||src.indexOf("javascript")==-1){ -setTimeout(function(){ -ifr.setAttribute("src",s); -},0); -} -} -if(dn.nodeName=="LI"){ -dn.lastChild.style.marginTop="-1.2em"; -} -dojo.addClass(this.domNode,this.baseClass); -},_local2NativeFormatNames:{},_native2LocalFormatNames:{},_getIframeDocTxt:function(){ -var _19=dojo.getComputedStyle(this.domNode); -var _1a=""; -var _1b=true; -if(dojo.isIE||dojo.isWebKit||(!this.height&&!dojo.isMoz)){ -_1a="<div id='dijitEditorBody'></div>"; -_1b=false; -}else{ -if(dojo.isMoz){ -this._cursorToStart=true; -_1a=" "; -} -} -var _1c=[_19.fontWeight,_19.fontSize,_19.fontFamily].join(" "); -var _1d=_19.lineHeight; -if(_1d.indexOf("px")>=0){ -_1d=parseFloat(_1d)/parseFloat(_19.fontSize); -}else{ -if(_1d.indexOf("em")>=0){ -_1d=parseFloat(_1d); -}else{ -_1d="normal"; -} -} -var _1e=""; -var _1f=this; -this.style.replace(/(^|;)\s*(line-|font-?)[^;]+/ig,function(_20){ -_20=_20.replace(/^;/ig,"")+";"; -var s=_20.split(":")[0]; -if(s){ -s=dojo.trim(s); -s=s.toLowerCase(); -var i; -var sC=""; -for(i=0;i<s.length;i++){ -var c=s.charAt(i); -switch(c){ -case "-": -i++; -c=s.charAt(i).toUpperCase(); -default: -sC+=c; -} -} -dojo.style(_1f.domNode,sC,""); -} -_1e+=_20+";"; -}); -var _21=dojo.query("label[for=\""+this.id+"\"]"); -return [this.isLeftToRight()?"<html>\n<head>\n":"<html dir='rtl'>\n<head>\n",(dojo.isMoz&&_21.length?"<title>"+_21[0].innerHTML+"</title>\n":""),"<meta http-equiv='Content-Type' content='text/html'>\n","<style>\n","\tbody,html {\n","\t\tbackground:transparent;\n","\t\tpadding: 1px 0 0 0;\n","\t\tmargin: -1px 0 0 0;\n",((dojo.isWebKit)?"\t\twidth: 100%;\n":""),((dojo.isWebKit)?"\t\theight: 100%;\n":""),"\t}\n","\tbody{\n","\t\ttop:0px;\n","\t\tleft:0px;\n","\t\tright:0px;\n","\t\tfont:",_1c,";\n",((this.height||dojo.isOpera)?"":"\t\tposition: fixed;\n"),"\t\tmin-height:",this.minHeight,";\n","\t\tline-height:",_1d,";\n","\t}\n","\tp{ margin: 1em 0; }\n",(!_1b&&!this.height?"\tbody,html {overflow-y: hidden;}\n":""),"\t#dijitEditorBody{overflow-x: auto; overflow-y:"+(this.height?"auto;":"hidden;")+" outline: 0px;}\n","\tli > ul:-moz-first-node, li > ol:-moz-first-node{ padding-top: 1.2em; }\n",(!dojo.isIE?"\tli{ min-height:1.2em; }\n":""),"</style>\n",this._applyEditingAreaStyleSheets(),"\n","</head>\n<body ",(_1b?"id='dijitEditorBody' ":""),"onload='frameElement._loadFunc(window,document)' style='"+_1e+"'>",_1a,"</body>\n</html>"].join(""); -},_applyEditingAreaStyleSheets:function(){ -var _22=[]; -if(this.styleSheets){ -_22=this.styleSheets.split(";"); -this.styleSheets=""; -} -_22=_22.concat(this.editingAreaStyleSheets); -this.editingAreaStyleSheets=[]; -var _23="",i=0,url; -while((url=_22[i++])){ -var _24=(new dojo._Url(dojo.global.location,url)).toString(); -this.editingAreaStyleSheets.push(_24); -_23+="<link rel=\"stylesheet\" type=\"text/css\" href=\""+_24+"\"/>"; -} -return _23; -},addStyleSheet:function(uri){ -var url=uri.toString(); -if(url.charAt(0)=="."||(url.charAt(0)!="/"&&!uri.host)){ -url=(new dojo._Url(dojo.global.location,url)).toString(); -} -if(dojo.indexOf(this.editingAreaStyleSheets,url)>-1){ -return; -} -this.editingAreaStyleSheets.push(url); -this.onLoadDeferred.addCallback(dojo.hitch(this,function(){ -if(this.document.createStyleSheet){ -this.document.createStyleSheet(url); -}else{ -var _25=this.document.getElementsByTagName("head")[0]; -var _26=this.document.createElement("link"); -_26.rel="stylesheet"; -_26.type="text/css"; -_26.href=url; -_25.appendChild(_26); -} -})); -},removeStyleSheet:function(uri){ -var url=uri.toString(); -if(url.charAt(0)=="."||(url.charAt(0)!="/"&&!uri.host)){ -url=(new dojo._Url(dojo.global.location,url)).toString(); -} -var _27=dojo.indexOf(this.editingAreaStyleSheets,url); -if(_27==-1){ -return; -} -delete this.editingAreaStyleSheets[_27]; -dojo.withGlobal(this.window,"query",dojo,["link:[href=\""+url+"\"]"]).orphan(); -},disabled:false,_mozSettingProps:{"styleWithCSS":false},_setDisabledAttr:function(_28){ -_28=!!_28; -this._set("disabled",_28); -if(!this.isLoaded){ -return; -} -if(dojo.isIE||dojo.isWebKit||dojo.isOpera){ -var _29=dojo.isIE&&(this.isLoaded||!this.focusOnLoad); -if(_29){ -this.editNode.unselectable="on"; -} -this.editNode.contentEditable=!_28; -if(_29){ -var _2a=this; -setTimeout(function(){ -_2a.editNode.unselectable="off"; -},0); -} -}else{ -try{ -this.document.designMode=(_28?"off":"on"); -} -catch(e){ -return; -} -if(!_28&&this._mozSettingProps){ -var ps=this._mozSettingProps; -for(var n in ps){ -if(ps.hasOwnProperty(n)){ -try{ -this.document.execCommand(n,false,ps[n]); -} -catch(e2){ -} -} -} -} -} -this._disabledOK=true; -},onLoad:function(_2b){ -if(!this.window.__registeredWindow){ -this.window.__registeredWindow=true; -this._iframeRegHandle=dijit.registerIframe(this.iframe); -} -if(!dojo.isIE&&!dojo.isWebKit&&(this.height||dojo.isMoz)){ -this.editNode=this.document.body; -}else{ -this.editNode=this.document.body.firstChild; -var _2c=this; -if(dojo.isIE){ -this.tabStop=dojo.create("div",{tabIndex:-1},this.editingArea); -this.iframe.onfocus=function(){ -_2c.editNode.setActive(); -}; -} -} -this.focusNode=this.editNode; -var _2d=this.events.concat(this.captureEvents); -var ap=this.iframe?this.document:this.editNode; -dojo.forEach(_2d,function(_2e){ -this.connect(ap,_2e.toLowerCase(),_2e); -},this); -this.connect(ap,"onmouseup","onClick"); -if(dojo.isIE){ -this.connect(this.document,"onmousedown","_onIEMouseDown"); -this.editNode.style.zoom=1; -}else{ -this.connect(this.document,"onmousedown",function(){ -delete this._cursorToStart; -}); -} -if(dojo.isWebKit){ -this._webkitListener=this.connect(this.document,"onmouseup","onDisplayChanged"); -this.connect(this.document,"onmousedown",function(e){ -var t=e.target; -if(t&&(t===this.document.body||t===this.document)){ -setTimeout(dojo.hitch(this,"placeCursorAtEnd"),0); -} -}); -} -if(dojo.isIE){ -try{ -this.document.execCommand("RespectVisibilityInDesign",true,null); -} -catch(e){ -} -} -this.isLoaded=true; -this.set("disabled",this.disabled); -var _2f=dojo.hitch(this,function(){ -this.setValue(_2b); -if(this.onLoadDeferred){ -this.onLoadDeferred.callback(true); -} -this.onDisplayChanged(); -if(this.focusOnLoad){ -dojo.addOnLoad(dojo.hitch(this,function(){ -setTimeout(dojo.hitch(this,"focus"),this.updateInterval); -})); -} -this.value=this.getValue(true); -}); -if(this.setValueDeferred){ -this.setValueDeferred.addCallback(_2f); -}else{ -_2f(); -} -},onKeyDown:function(e){ -if(e.keyCode===dojo.keys.TAB&&this.isTabIndent){ -dojo.stopEvent(e); -if(this.queryCommandEnabled((e.shiftKey?"outdent":"indent"))){ -this.execCommand((e.shiftKey?"outdent":"indent")); -} -} -if(dojo.isIE){ -if(e.keyCode==dojo.keys.TAB&&!this.isTabIndent){ -if(e.shiftKey&&!e.ctrlKey&&!e.altKey){ -this.iframe.focus(); -}else{ -if(!e.shiftKey&&!e.ctrlKey&&!e.altKey){ -this.tabStop.focus(); -} -} -}else{ -if(e.keyCode===dojo.keys.BACKSPACE&&this.document.selection.type==="Control"){ -dojo.stopEvent(e); -this.execCommand("delete"); -}else{ -if((65<=e.keyCode&&e.keyCode<=90)||(e.keyCode>=37&&e.keyCode<=40)){ -e.charCode=e.keyCode; -this.onKeyPress(e); -} -} -} -} -return true; -},onKeyUp:function(e){ -return; -},setDisabled:function(_30){ -dojo.deprecated("dijit.Editor::setDisabled is deprecated","use dijit.Editor::attr(\"disabled\",boolean) instead",2); -this.set("disabled",_30); -},_setValueAttr:function(_31){ -this.setValue(_31); -},_setDisableSpellCheckAttr:function(_32){ -if(this.document){ -dojo.attr(this.document.body,"spellcheck",!_32); -}else{ -this.onLoadDeferred.addCallback(dojo.hitch(this,function(){ -dojo.attr(this.document.body,"spellcheck",!_32); -})); -} -this._set("disableSpellCheck",_32); -},onKeyPress:function(e){ -var c=(e.keyChar&&e.keyChar.toLowerCase())||e.keyCode,_33=this._keyHandlers[c],_34=arguments; -if(_33&&!e.altKey){ -dojo.some(_33,function(h){ -if(!(h.shift^e.shiftKey)&&!(h.ctrl^(e.ctrlKey||e.metaKey))){ -if(!h.handler.apply(this,_34)){ -e.preventDefault(); -} -return true; -} -},this); -} -if(!this._onKeyHitch){ -this._onKeyHitch=dojo.hitch(this,"onKeyPressed"); -} -setTimeout(this._onKeyHitch,1); -return true; -},addKeyHandler:function(key,_35,_36,_37){ -if(!dojo.isArray(this._keyHandlers[key])){ -this._keyHandlers[key]=[]; -} -this._keyHandlers[key].push({shift:_36||false,ctrl:_35||false,handler:_37}); -},onKeyPressed:function(){ -this.onDisplayChanged(); -},onClick:function(e){ -this.onDisplayChanged(e); -},_onIEMouseDown:function(e){ -if(!this._focused&&!this.disabled){ -this.focus(); -} -},_onBlur:function(e){ -this.inherited(arguments); -var _38=this.getValue(true); -if(_38!=this.value){ -this.onChange(_38); -} -this._set("value",_38); -},_onFocus:function(e){ -if(!this.disabled){ -if(!this._disabledOK){ -this.set("disabled",false); -} -this.inherited(arguments); -} -},blur:function(){ -if(!dojo.isIE&&this.window.document.documentElement&&this.window.document.documentElement.focus){ -this.window.document.documentElement.focus(); -}else{ -if(dojo.doc.body.focus){ -dojo.doc.body.focus(); -} -} -},focus:function(){ -if(!this.isLoaded){ -this.focusOnLoad=true; -return; -} -if(this._cursorToStart){ -delete this._cursorToStart; -if(this.editNode.childNodes){ -this.placeCursorAtStart(); -return; -} -} -if(!dojo.isIE){ -dijit.focus(this.iframe); -}else{ -if(this.editNode&&this.editNode.focus){ -this.iframe.fireEvent("onfocus",document.createEventObject()); -} -} -},updateInterval:200,_updateTimer:null,onDisplayChanged:function(e){ -if(this._updateTimer){ -clearTimeout(this._updateTimer); -} -if(!this._updateHandler){ -this._updateHandler=dojo.hitch(this,"onNormalizedDisplayChanged"); -} -this._updateTimer=setTimeout(this._updateHandler,this.updateInterval); -},onNormalizedDisplayChanged:function(){ -delete this._updateTimer; -},onChange:function(_39){ -},_normalizeCommand:function(cmd,_3a){ -var _3b=cmd.toLowerCase(); -if(_3b=="formatblock"){ -if(dojo.isSafari&&_3a===undefined){ -_3b="heading"; -} -}else{ -if(_3b=="hilitecolor"&&!dojo.isMoz){ -_3b="backcolor"; -} -} -return _3b; -},_qcaCache:{},queryCommandAvailable:function(_3c){ -var ca=this._qcaCache[_3c]; -if(ca!==undefined){ -return ca; -} -return (this._qcaCache[_3c]=this._queryCommandAvailable(_3c)); -},_queryCommandAvailable:function(_3d){ -var ie=1; -var _3e=1<<1; -var _3f=1<<2; -var _40=1<<3; -function _41(_42){ -return {ie:Boolean(_42&ie),mozilla:Boolean(_42&_3e),webkit:Boolean(_42&_3f),opera:Boolean(_42&_40)}; -}; -var _43=null; -switch(_3d.toLowerCase()){ -case "bold": -case "italic": -case "underline": -case "subscript": -case "superscript": -case "fontname": -case "fontsize": -case "forecolor": -case "hilitecolor": -case "justifycenter": -case "justifyfull": -case "justifyleft": -case "justifyright": -case "delete": -case "selectall": -case "toggledir": -_43=_41(_3e|ie|_3f|_40); -break; -case "createlink": -case "unlink": -case "removeformat": -case "inserthorizontalrule": -case "insertimage": -case "insertorderedlist": -case "insertunorderedlist": -case "indent": -case "outdent": -case "formatblock": -case "inserthtml": -case "undo": -case "redo": -case "strikethrough": -case "tabindent": -_43=_41(_3e|ie|_40|_3f); -break; -case "blockdirltr": -case "blockdirrtl": -case "dirltr": -case "dirrtl": -case "inlinedirltr": -case "inlinedirrtl": -_43=_41(ie); -break; -case "cut": -case "copy": -case "paste": -_43=_41(ie|_3e|_3f); -break; -case "inserttable": -_43=_41(_3e|ie); -break; -case "insertcell": -case "insertcol": -case "insertrow": -case "deletecells": -case "deletecols": -case "deleterows": -case "mergecells": -case "splitcell": -_43=_41(ie|_3e); -break; -default: -return false; -} -return (dojo.isIE&&_43.ie)||(dojo.isMoz&&_43.mozilla)||(dojo.isWebKit&&_43.webkit)||(dojo.isOpera&&_43.opera); -},execCommand:function(_44,_45){ -var _46; -this.focus(); -_44=this._normalizeCommand(_44,_45); -if(_45!==undefined){ -if(_44=="heading"){ -throw new Error("unimplemented"); -}else{ -if((_44=="formatblock")&&dojo.isIE){ -_45="<"+_45+">"; -} -} -} -var _47="_"+_44+"Impl"; -if(this[_47]){ -_46=this[_47](_45); -}else{ -_45=arguments.length>1?_45:null; -if(_45||_44!="createlink"){ -_46=this.document.execCommand(_44,false,_45); -} -} -this.onDisplayChanged(); -return _46; -},queryCommandEnabled:function(_48){ -if(this.disabled||!this._disabledOK){ -return false; -} -_48=this._normalizeCommand(_48); -if(dojo.isMoz||dojo.isWebKit){ -if(_48=="unlink"){ -return this._sCall("hasAncestorElement",["a"]); -}else{ -if(_48=="inserttable"){ -return true; -} -} -} -if(dojo.isWebKit){ -if(_48=="cut"||_48=="copy"){ -var sel=this.window.getSelection(); -if(sel){ -sel=sel.toString(); -} -return !!sel; -}else{ -if(_48=="paste"){ -return true; -} -} -} -var _49=dojo.isIE?this.document.selection.createRange():this.document; -try{ -return _49.queryCommandEnabled(_48); -} -catch(e){ -return false; -} -},queryCommandState:function(_4a){ -if(this.disabled||!this._disabledOK){ -return false; -} -_4a=this._normalizeCommand(_4a); -try{ -return this.document.queryCommandState(_4a); -} -catch(e){ -return false; -} -},queryCommandValue:function(_4b){ -if(this.disabled||!this._disabledOK){ -return false; -} -var r; -_4b=this._normalizeCommand(_4b); -if(dojo.isIE&&_4b=="formatblock"){ -r=this._native2LocalFormatNames[this.document.queryCommandValue(_4b)]; -}else{ -if(dojo.isMoz&&_4b==="hilitecolor"){ -var _4c; -try{ -_4c=this.document.queryCommandValue("styleWithCSS"); -} -catch(e){ -_4c=false; -} -this.document.execCommand("styleWithCSS",false,true); -r=this.document.queryCommandValue(_4b); -this.document.execCommand("styleWithCSS",false,_4c); -}else{ -r=this.document.queryCommandValue(_4b); -} -} -return r; -},_sCall:function(_4d,_4e){ -return dojo.withGlobal(this.window,_4d,dijit._editor.selection,_4e); -},placeCursorAtStart:function(){ -this.focus(); -var _4f=false; -if(dojo.isMoz){ -var _50=this.editNode.firstChild; -while(_50){ -if(_50.nodeType==3){ -if(_50.nodeValue.replace(/^\s+|\s+$/g,"").length>0){ -_4f=true; -this._sCall("selectElement",[_50]); -break; -} -}else{ -if(_50.nodeType==1){ -_4f=true; -var tg=_50.tagName?_50.tagName.toLowerCase():""; -if(/br|input|img|base|meta|area|basefont|hr|link/.test(tg)){ -this._sCall("selectElement",[_50]); -}else{ -this._sCall("selectElementChildren",[_50]); -} -break; -} -} -_50=_50.nextSibling; -} -}else{ -_4f=true; -this._sCall("selectElementChildren",[this.editNode]); -} -if(_4f){ -this._sCall("collapse",[true]); -} -},placeCursorAtEnd:function(){ -this.focus(); -var _51=false; -if(dojo.isMoz){ -var _52=this.editNode.lastChild; -while(_52){ -if(_52.nodeType==3){ -if(_52.nodeValue.replace(/^\s+|\s+$/g,"").length>0){ -_51=true; -this._sCall("selectElement",[_52]); -break; -} -}else{ -if(_52.nodeType==1){ -_51=true; -if(_52.lastChild){ -this._sCall("selectElement",[_52.lastChild]); -}else{ -this._sCall("selectElement",[_52]); -} -break; -} -} -_52=_52.previousSibling; -} -}else{ -_51=true; -this._sCall("selectElementChildren",[this.editNode]); -} -if(_51){ -this._sCall("collapse",[false]); -} -},getValue:function(_53){ -if(this.textarea){ -if(this.isClosed||!this.isLoaded){ -return this.textarea.value; -} -} -return this._postFilterContent(null,_53); -},_getValueAttr:function(){ -return this.getValue(true); -},setValue:function(_54){ -if(!this.isLoaded){ -this.onLoadDeferred.addCallback(dojo.hitch(this,function(){ -this.setValue(_54); -})); -return; -} -this._cursorToStart=true; -if(this.textarea&&(this.isClosed||!this.isLoaded)){ -this.textarea.value=_54; -}else{ -_54=this._preFilterContent(_54); -var _55=this.isClosed?this.domNode:this.editNode; -if(_54&&dojo.isMoz&&_54.toLowerCase()=="<p></p>"){ -_54="<p> </p>"; -} -if(!_54&&dojo.isWebKit){ -_54=" "; -} -_55.innerHTML=_54; -this._preDomFilterContent(_55); -} -this.onDisplayChanged(); -this._set("value",this.getValue(true)); -},replaceValue:function(_56){ -if(this.isClosed){ -this.setValue(_56); -}else{ -if(this.window&&this.window.getSelection&&!dojo.isMoz){ -this.setValue(_56); -}else{ -if(this.window&&this.window.getSelection){ -_56=this._preFilterContent(_56); -this.execCommand("selectall"); -if(!_56){ -this._cursorToStart=true; -_56=" "; -} -this.execCommand("inserthtml",_56); -this._preDomFilterContent(this.editNode); -}else{ -if(this.document&&this.document.selection){ -this.setValue(_56); -} -} -} -} -this._set("value",this.getValue(true)); -},_preFilterContent:function(_57){ -var ec=_57; -dojo.forEach(this.contentPreFilters,function(ef){ -if(ef){ -ec=ef(ec); -} -}); -return ec; -},_preDomFilterContent:function(dom){ -dom=dom||this.editNode; -dojo.forEach(this.contentDomPreFilters,function(ef){ -if(ef&&dojo.isFunction(ef)){ -ef(dom); -} -},this); -},_postFilterContent:function(dom,_58){ -var ec; -if(!dojo.isString(dom)){ -dom=dom||this.editNode; -if(this.contentDomPostFilters.length){ -if(_58){ -dom=dojo.clone(dom); -} -dojo.forEach(this.contentDomPostFilters,function(ef){ -dom=ef(dom); -}); -} -ec=dijit._editor.getChildrenHtml(dom); -}else{ -ec=dom; -} -if(!dojo.trim(ec.replace(/^\xA0\xA0*/,"").replace(/\xA0\xA0*$/,"")).length){ -ec=""; -} -dojo.forEach(this.contentPostFilters,function(ef){ -ec=ef(ec); -}); -return ec; -},_saveContent:function(e){ -var _59=dojo.byId(dijit._scopeName+"._editor.RichText.value"); -if(_59.value){ -_59.value+=this._SEPARATOR; -} -_59.value+=this.name+this._NAME_CONTENT_SEP+this.getValue(true); -},escapeXml:function(str,_5a){ -str=str.replace(/&/gm,"&").replace(/</gm,"<").replace(/>/gm,">").replace(/"/gm,"""); -if(!_5a){ -str=str.replace(/'/gm,"'"); -} -return str; -},getNodeHtml:function(_5b){ -dojo.deprecated("dijit.Editor::getNodeHtml is deprecated","use dijit._editor.getNodeHtml instead",2); -return dijit._editor.getNodeHtml(_5b); -},getNodeChildrenHtml:function(dom){ -dojo.deprecated("dijit.Editor::getNodeChildrenHtml is deprecated","use dijit._editor.getChildrenHtml instead",2); -return dijit._editor.getChildrenHtml(dom); -},close:function(_5c){ -if(this.isClosed){ -return; -} -if(!arguments.length){ -_5c=true; -} -if(_5c){ -this._set("value",this.getValue(true)); -} -if(this.interval){ -clearInterval(this.interval); -} -if(this._webkitListener){ -this.disconnect(this._webkitListener); -delete this._webkitListener; -} -if(dojo.isIE){ -this.iframe.onfocus=null; -} -this.iframe._loadFunc=null; -if(this._iframeRegHandle){ -dijit.unregisterIframe(this._iframeRegHandle); -delete this._iframeRegHandle; -} -if(this.textarea){ -var s=this.textarea.style; -s.position=""; -s.left=s.top=""; -if(dojo.isIE){ -s.overflow=this.__overflow; -this.__overflow=null; -} -this.textarea.value=this.value; -dojo.destroy(this.domNode); -this.domNode=this.textarea; -}else{ -this.domNode.innerHTML=this.value; -} -delete this.iframe; -dojo.removeClass(this.domNode,this.baseClass); -this.isClosed=true; -this.isLoaded=false; -delete this.editNode; -delete this.focusNode; -if(this.window&&this.window._frameElement){ -this.window._frameElement=null; -} -this.window=null; -this.document=null; -this.editingArea=null; -this.editorObject=null; -},destroy:function(){ -if(!this.isClosed){ -this.close(false); -} -this.inherited(arguments); -if(dijit._editor._globalSaveHandler){ -delete dijit._editor._globalSaveHandler[this.id]; -} -},_removeMozBogus:function(_5d){ -return _5d.replace(/\stype="_moz"/gi,"").replace(/\s_moz_dirty=""/gi,"").replace(/_moz_resizing="(true|false)"/gi,""); -},_removeWebkitBogus:function(_5e){ -_5e=_5e.replace(/\sclass="webkit-block-placeholder"/gi,""); -_5e=_5e.replace(/\sclass="apple-style-span"/gi,""); -_5e=_5e.replace(/<meta charset=\"utf-8\" \/>/gi,""); -return _5e; -},_normalizeFontStyle:function(_5f){ -return _5f.replace(/<(\/)?strong([ \>])/gi,"<$1b$2").replace(/<(\/)?em([ \>])/gi,"<$1i$2"); -},_preFixUrlAttributes:function(_60){ -return _60.replace(/(?:(<a(?=\s).*?\shref=)("|')(.*?)\2)|(?:(<a\s.*?href=)([^"'][^ >]+))/gi,"$1$4$2$3$5$2 _djrealurl=$2$3$5$2").replace(/(?:(<img(?=\s).*?\ssrc=)("|')(.*?)\2)|(?:(<img\s.*?src=)([^"'][^ >]+))/gi,"$1$4$2$3$5$2 _djrealurl=$2$3$5$2"); -},_inserthorizontalruleImpl:function(_61){ -if(dojo.isIE){ -return this._inserthtmlImpl("<hr>"); -} -return this.document.execCommand("inserthorizontalrule",false,_61); -},_unlinkImpl:function(_62){ -if((this.queryCommandEnabled("unlink"))&&(dojo.isMoz||dojo.isWebKit)){ -var a=this._sCall("getAncestorElement",["a"]); -this._sCall("selectElement",[a]); -return this.document.execCommand("unlink",false,null); -} -return this.document.execCommand("unlink",false,_62); -},_hilitecolorImpl:function(_63){ -var _64; -if(dojo.isMoz){ -this.document.execCommand("styleWithCSS",false,true); -_64=this.document.execCommand("hilitecolor",false,_63); -this.document.execCommand("styleWithCSS",false,false); -}else{ -_64=this.document.execCommand("hilitecolor",false,_63); -} -return _64; -},_backcolorImpl:function(_65){ -if(dojo.isIE){ -_65=_65?_65:null; -} -return this.document.execCommand("backcolor",false,_65); -},_forecolorImpl:function(_66){ -if(dojo.isIE){ -_66=_66?_66:null; -} -return this.document.execCommand("forecolor",false,_66); -},_inserthtmlImpl:function(_67){ -_67=this._preFilterContent(_67); -var rv=true; -if(dojo.isIE){ -var _68=this.document.selection.createRange(); -if(this.document.selection.type.toUpperCase()=="CONTROL"){ -var n=_68.item(0); -while(_68.length){ -_68.remove(_68.item(0)); -} -n.outerHTML=_67; -}else{ -_68.pasteHTML(_67); -} -_68.select(); -}else{ -if(dojo.isMoz&&!_67.length){ -this._sCall("remove"); -}else{ -rv=this.document.execCommand("inserthtml",false,_67); -} -} -return rv; -},_boldImpl:function(_69){ -if(dojo.isIE){ -this._adaptIESelection(); -} -return this.document.execCommand("bold",false,_69); -},_italicImpl:function(_6a){ -if(dojo.isIE){ -this._adaptIESelection(); -} -return this.document.execCommand("italic",false,_6a); -},_underlineImpl:function(_6b){ -if(dojo.isIE){ -this._adaptIESelection(); -} -return this.document.execCommand("underline",false,_6b); -},_strikethroughImpl:function(_6c){ -if(dojo.isIE){ -this._adaptIESelection(); -} -return this.document.execCommand("strikethrough",false,_6c); -},getHeaderHeight:function(){ -return this._getNodeChildrenHeight(this.header); -},getFooterHeight:function(){ -return this._getNodeChildrenHeight(this.footer); -},_getNodeChildrenHeight:function(_6d){ -var h=0; -if(_6d&&_6d.childNodes){ -var i; -for(i=0;i<_6d.childNodes.length;i++){ -var _6e=dojo.position(_6d.childNodes[i]); -h+=_6e.h; -} -} -return h; -},_isNodeEmpty:function(_6f,_70){ -if(_6f.nodeType==1){ -if(_6f.childNodes.length>0){ -return this._isNodeEmpty(_6f.childNodes[0],_70); -} -return true; -}else{ -if(_6f.nodeType==3){ -return (_6f.nodeValue.substring(_70)==""); -} -} -return false; -},_removeStartingRangeFromRange:function(_71,_72){ -if(_71.nextSibling){ -_72.setStart(_71.nextSibling,0); -}else{ -var _73=_71.parentNode; -while(_73&&_73.nextSibling==null){ -_73=_73.parentNode; -} -if(_73){ -_72.setStart(_73.nextSibling,0); -} -} -return _72; -},_adaptIESelection:function(){ -var _74=dijit.range.getSelection(this.window); -if(_74&&_74.rangeCount&&!_74.isCollapsed){ -var _75=_74.getRangeAt(0); -var _76=_75.startContainer; -var _77=_75.startOffset; -while(_76.nodeType==3&&_77>=_76.length&&_76.nextSibling){ -_77=_77-_76.length; -_76=_76.nextSibling; -} -var _78=null; -while(this._isNodeEmpty(_76,_77)&&_76!=_78){ -_78=_76; -_75=this._removeStartingRangeFromRange(_76,_75); -_76=_75.startContainer; -_77=0; -} -_74.removeAllRanges(); -_74.addRange(_75); -} -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/_Plugin.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/_Plugin.js deleted file mode 100644 index 28c6506a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/_Plugin.js +++ /dev/null @@ -1,108 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._editor._Plugin"]){ -dojo._hasResource["dijit._editor._Plugin"]=true; -dojo.provide("dijit._editor._Plugin"); -dojo.require("dijit._Widget"); -dojo.require("dijit.form.Button"); -dojo.declare("dijit._editor._Plugin",null,{constructor:function(_1,_2){ -this.params=_1||{}; -dojo.mixin(this,this.params); -this._connects=[]; -this._attrPairNames={}; -},editor:null,iconClassPrefix:"dijitEditorIcon",button:null,command:"",useDefaultCommand:true,buttonClass:dijit.form.Button,disabled:false,getLabel:function(_3){ -return this.editor.commands[_3]; -},_initButton:function(){ -if(this.command.length){ -var _4=this.getLabel(this.command),_5=this.editor,_6=this.iconClassPrefix+" "+this.iconClassPrefix+this.command.charAt(0).toUpperCase()+this.command.substr(1); -if(!this.button){ -var _7=dojo.mixin({label:_4,dir:_5.dir,lang:_5.lang,showLabel:false,iconClass:_6,dropDown:this.dropDown,tabIndex:"-1"},this.params||{}); -this.button=new this.buttonClass(_7); -} -} -if(this.get("disabled")&&this.button){ -this.button.set("disabled",this.get("disabled")); -} -},destroy:function(){ -dojo.forEach(this._connects,dojo.disconnect); -if(this.dropDown){ -this.dropDown.destroyRecursive(); -} -},connect:function(o,f,tf){ -this._connects.push(dojo.connect(o,f,this,tf)); -},updateState:function(){ -var e=this.editor,c=this.command,_8,_9; -if(!e||!e.isLoaded||!c.length){ -return; -} -var _a=this.get("disabled"); -if(this.button){ -try{ -_9=!_a&&e.queryCommandEnabled(c); -if(this.enabled!==_9){ -this.enabled=_9; -this.button.set("disabled",!_9); -} -if(typeof this.button.checked=="boolean"){ -_8=e.queryCommandState(c); -if(this.checked!==_8){ -this.checked=_8; -this.button.set("checked",e.queryCommandState(c)); -} -} -} -catch(e){ -} -} -},setEditor:function(_b){ -this.editor=_b; -this._initButton(); -if(this.button&&this.useDefaultCommand){ -if(this.editor.queryCommandAvailable(this.command)){ -this.connect(this.button,"onClick",dojo.hitch(this.editor,"execCommand",this.command,this.commandArg)); -}else{ -this.button.domNode.style.display="none"; -} -} -this.connect(this.editor,"onNormalizedDisplayChanged","updateState"); -},setToolbar:function(_c){ -if(this.button){ -_c.addChild(this.button); -} -},set:function(_d,_e){ -if(typeof _d==="object"){ -for(var x in _d){ -this.set(x,_d[x]); -} -return this; -} -var _f=this._getAttrNames(_d); -if(this[_f.s]){ -var _10=this[_f.s].apply(this,Array.prototype.slice.call(arguments,1)); -}else{ -this._set(_d,_e); -} -return _10||this; -},get:function(_11){ -var _12=this._getAttrNames(_11); -return this[_12.g]?this[_12.g]():this[_11]; -},_setDisabledAttr:function(_13){ -this.disabled=_13; -this.updateState(); -},_getAttrNames:function(_14){ -var apn=this._attrPairNames; -if(apn[_14]){ -return apn[_14]; -} -var uc=_14.charAt(0).toUpperCase()+_14.substr(1); -return (apn[_14]={s:"_set"+uc+"Attr",g:"_get"+uc+"Attr"}); -},_set:function(_15,_16){ -var _17=this[_15]; -this[_15]=_16; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/html.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/html.js deleted file mode 100644 index ee8e9229..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/html.js +++ /dev/null @@ -1,148 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._editor.html"]){ -dojo._hasResource["dijit._editor.html"]=true; -dojo.provide("dijit._editor.html"); -dojo.getObject("_editor",true,dijit); -dijit._editor.escapeXml=function(_1,_2){ -_1=_1.replace(/&/gm,"&").replace(/</gm,"<").replace(/>/gm,">").replace(/"/gm,"""); -if(!_2){ -_1=_1.replace(/'/gm,"'"); -} -return _1; -}; -dijit._editor.getNodeHtml=function(_3){ -var _4; -switch(_3.nodeType){ -case 1: -var _5=_3.nodeName.toLowerCase(); -if(!_5||_5.charAt(0)=="/"){ -return ""; -} -_4="<"+_5; -var _6=[]; -var _7; -if(dojo.isIE&&_3.outerHTML){ -var s=_3.outerHTML; -s=s.substr(0,s.indexOf(">")).replace(/(['"])[^"']*\1/g,""); -var _8=/(\b\w+)\s?=/g; -var m,_9; -while((m=_8.exec(s))){ -_9=m[1]; -if(_9.substr(0,3)!="_dj"){ -if(_9=="src"||_9=="href"){ -if(_3.getAttribute("_djrealurl")){ -_6.push([_9,_3.getAttribute("_djrealurl")]); -continue; -} -} -var _a,_b; -switch(_9){ -case "style": -_a=_3.style.cssText.toLowerCase(); -break; -case "class": -_a=_3.className; -break; -case "width": -if(_5==="img"){ -_b=/width=(\S+)/i.exec(s); -if(_b){ -_a=_b[1]; -} -break; -} -case "height": -if(_5==="img"){ -_b=/height=(\S+)/i.exec(s); -if(_b){ -_a=_b[1]; -} -break; -} -default: -_a=_3.getAttribute(_9); -} -if(_a!=null){ -_6.push([_9,_a.toString()]); -} -} -} -}else{ -var i=0; -while((_7=_3.attributes[i++])){ -var n=_7.name; -if(n.substr(0,3)!="_dj"){ -var v=_7.value; -if(n=="src"||n=="href"){ -if(_3.getAttribute("_djrealurl")){ -v=_3.getAttribute("_djrealurl"); -} -} -_6.push([n,v]); -} -} -} -_6.sort(function(a,b){ -return a[0]<b[0]?-1:(a[0]==b[0]?0:1); -}); -var j=0; -while((_7=_6[j++])){ -_4+=" "+_7[0]+"=\""+(dojo.isString(_7[1])?dijit._editor.escapeXml(_7[1],true):_7[1])+"\""; -} -if(_5==="script"){ -_4+=">"+_3.innerHTML+"</"+_5+">"; -}else{ -if(_3.childNodes.length){ -_4+=">"+dijit._editor.getChildrenHtml(_3)+"</"+_5+">"; -}else{ -switch(_5){ -case "br": -case "hr": -case "img": -case "input": -case "base": -case "meta": -case "area": -case "basefont": -_4+=" />"; -break; -default: -_4+="></"+_5+">"; -} -} -} -break; -case 4: -case 3: -_4=dijit._editor.escapeXml(_3.nodeValue,true); -break; -case 8: -_4="<!--"+dijit._editor.escapeXml(_3.nodeValue,true)+"-->"; -break; -default: -_4="<!-- Element not recognized - Type: "+_3.nodeType+" Name: "+_3.nodeName+"-->"; -} -return _4; -}; -dijit._editor.getChildrenHtml=function(_c){ -var _d=""; -if(!_c){ -return _d; -} -var _e=_c["childNodes"]||_c; -var _f=!dojo.isIE||_e!==_c; -var _10,i=0; -while((_10=_e[i++])){ -if(!_f||_10.parentNode==_c){ -_d+=dijit._editor.getNodeHtml(_10); -} -} -return _d; -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/FontChoice.js deleted file mode 100644 index f2b6e0c9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"None","1":"xx-small","2":"x-small","formatBlock":"Format","3":"small","4":"medium","5":"large","6":"x-large","7":"xx-large","fantasy":"fantasy","serif":"serif","p":"Paragraph","pre":"Pre-formatted","sans-serif":"sans-serif","fontName":"Font","h1":"Heading","h2":"Subheading","h3":"Sub-subheading","monospace":"monospace","fontSize":"Size","cursive":"cursive"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/LinkDialog.js deleted file mode 100644 index 0dd81f14..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Description:","insertImageTitle":"Image Properties","set":"Set","newWindow":"New Window","topWindow":"Topmost Window","target":"Target:","createLinkTitle":"Link Properties","parentWindow":"Parent Window","currentWindow":"Current Window","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ar/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ar/FontChoice.js deleted file mode 100644 index dd4f9942..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ar/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"لا شيء","1":"صغير جدا جدا","2":"صغير جدا","formatBlock":"النسق","3":"صغير","4":"متوسط","5":"كبير","6":"كبير جدا","7":"كبير جدا جدا","fantasy":"خيالي","serif":"serif","p":"فقرة","pre":"منسق بصفة مسبقة","sans-serif":"sans-serif","fontName":"طاقم طباعة","h1":"عنوان","h2":"عنوان فرعي","h3":"فرعي-عنوان فرعي","monospace":"أحادي المسافة","fontSize":"الحجم","cursive":"كتابة بحروف متصلة"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ar/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ar/LinkDialog.js deleted file mode 100644 index e229c686..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ar/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"الوصف:","insertImageTitle":"خصائص الصورة","set":"تحديد","newWindow":"نافذة جديدة","topWindow":"النافذة العلوية","target":"الهدف:","createLinkTitle":"خصائص الوصلة","parentWindow":"النافذة الرئيسية","currentWindow":"النافذة الحالية","url":"عنوان URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ar/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ar/commands.js deleted file mode 100644 index 81069e8d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ar/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"ازالة النسق","copy":"نسخ","paste":"لصق","selectAll":"اختيار كل","insertOrderedList":"كشف مرقم","insertTable":"ادراج/تحرير جدول","print":"طباعة","underline":"~تسطير","foreColor":"لون الواجهة الأمامية","htmlToggle":"مصدر HTML","formatBlock":"نمط الفقرة","newPage":"صفحة جديدة","insertHorizontalRule":"مسطرة أفقية","delete":"حذف","appleKey":"⌘${0}","insertUnorderedList":"كشف نقطي","tableProp":"خصائص الجدول","insertImage":"ادراج صورة","superscript":"رمز علوي","subscript":"رمز سفلي","createLink":"تكوين وصلة","undo":"تراجع","fullScreen":"تبديل الشاشة الكاملة","italic":"~مائل","fontName":"اسم طاقم الطباعة","justifyLeft":"محاذاة الى اليسار","unlink":"ازالة وصلة","toggleTableBorder":"تبديل حدود الجدول","viewSource":"مشاهدة مصدر HTML","ctrlKey":"ctrl+${0}","fontSize":"حجم طاقم الطباعة","systemShortcut":"يكون التصرف \"${0}\" متاحا فقط ببرنامج الاستعراض الخاص بك باستخدام المسار المختصر للوحة المفاتيح. استخدم ${1}.","indent":"ازاحة للداخل","redo":"اعادة","strikethrough":"تشطيب","justifyFull":"ضبط","justifyCenter":"محاذاة في الوسط","hiliteColor":"لون الخلفية","deleteTable":"حذف جدول","outdent":"ازاحة للخارج","cut":"قص","plainFormatBlock":"نمط الفقرة","toggleDir":"تبديل الاتجاه","bold":"عري~ض","tabIndent":"ازاحة علامة الجدولة للداخل","justifyRight":"محاذاة الى اليمين"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ca/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ca/FontChoice.js deleted file mode 100644 index 6a393fea..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ca/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Cap","1":"xx-petit","2":"x-petit","formatBlock":"Format","3":"petit","4":"mitjà","5":"gran","6":"x-gran","7":"xx-gran","fantasy":"Fantasia","serif":"serif","p":"Paràgraf","pre":"Format previ","sans-serif":"sans-serif","fontName":"Tipus de lletra","h1":"Títol","h2":"Subtítol","h3":"Subsubtítol","monospace":"monoespai","fontSize":"Mida","cursive":"Cursiva"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ca/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ca/LinkDialog.js deleted file mode 100644 index f7dd3af0..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ca/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Descripció:","insertImageTitle":"Propietats de la imatge","set":"Defineix","newWindow":"Finestra nova","topWindow":"Finestra superior","target":"Destinació:","createLinkTitle":"Propietats de l'enllaç","parentWindow":"Finestra pare","currentWindow":"Finestra actual","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ca/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ca/commands.js deleted file mode 100644 index 534715e5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ca/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Elimina el format","copy":"Copia","paste":"Enganxa","selectAll":"Selecciona-ho tot","insertOrderedList":"Llista numerada","insertTable":"Insereix/edita la taula","print":"Imprimeix","underline":"Subratllat","foreColor":"Color de primer pla","htmlToggle":"Font HTML","formatBlock":"Estil de paràgraf","newPage":"Pàgina nova","insertHorizontalRule":"Regla horitzontal","delete":"Suprimeix","insertUnorderedList":"Llista de vinyetes","tableProp":"Propietat de taula","insertImage":"Insereix imatge","superscript":"Superíndex","subscript":"Subíndex","createLink":"Crea un enllaç","undo":"Desfés","fullScreen":"Commuta pantalla completa","italic":"Cursiva","fontName":"Nom del tipus de lletra","justifyLeft":"Alinea a l'esquerra","unlink":"Elimina l'enllaç","toggleTableBorder":"Inverteix els contorns de taula","viewSource":"Visualitza font HTML","ctrlKey":"control+${0}","fontSize":"Cos de la lletra","systemShortcut":"L'acció \"${0}\" és l'única disponible al navegador utilitzant una drecera del teclat. Utilitzeu ${1}.","indent":"Sagnat","redo":"Refés","strikethrough":"Ratllat","justifyFull":"Justifica","justifyCenter":"Centra","hiliteColor":"Color de fons","deleteTable":"Suprimeix la taula","outdent":"Sagna a l'esquerra","cut":"Retalla","plainFormatBlock":"Estil de paràgraf","toggleDir":"Inverteix la direcció","bold":"Negreta","tabIndent":"Sagnat","justifyRight":"Alinea a la dreta","appleKey":"⌘${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/commands.js deleted file mode 100644 index 582b782c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Remove Format","copy":"Copy","paste":"Paste","selectAll":"Select All","insertOrderedList":"Numbered List","insertTable":"Insert/Edit Table","print":"Print","underline":"Underline","foreColor":"Foreground Color","htmlToggle":"HTML Source","formatBlock":"Paragraph Style","newPage":"New Page","insertHorizontalRule":"Horizontal Rule","delete":"Delete","appleKey":"⌘${0}","insertUnorderedList":"Bullet List","tableProp":"Table Property","insertImage":"Insert Image","superscript":"Superscript","subscript":"Subscript","createLink":"Create Link","undo":"Undo","fullScreen":"Toggle Full Screen","italic":"Italic","fontName":"Font Name","justifyLeft":"Align Left","unlink":"Remove Link","toggleTableBorder":"Toggle Table Border","viewSource":"View HTML Source","ctrlKey":"ctrl+${0}","fontSize":"Font Size","systemShortcut":"The \"${0}\" action is only available in your browser using a keyboard shortcut. Use ${1}.","indent":"Indent","redo":"Redo","strikethrough":"Strikethrough","justifyFull":"Justify","justifyCenter":"Align Center","hiliteColor":"Background Color","deleteTable":"Delete Table","outdent":"Outdent","cut":"Cut","plainFormatBlock":"Paragraph Style","toggleDir":"Toggle Direction","bold":"Bold","tabIndent":"Tab Indent","justifyRight":"Align Right"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/cs/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/cs/FontChoice.js deleted file mode 100644 index b60a8802..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/cs/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Žádný","1":"extra malé","2":"velmi malé","formatBlock":"Formát","3":"malé","4":"střední","5":"velké","6":"velmi velké","7":"extra velké","fantasy":"fantasy","serif":"serif","p":"Odstavec","pre":"Předformátované","sans-serif":"sans-serif","fontName":"Písmo","h1":"Nadpis","h2":"Podnadpis","h3":"Podnadpis 2","monospace":"monospace","fontSize":"Velikost","cursive":"cursive"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/cs/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/cs/LinkDialog.js deleted file mode 100644 index 41dad34f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/cs/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Popis:","insertImageTitle":"Vlastnosti obrázku","set":"Nastavit","newWindow":"Nové okno","topWindow":"Okno nejvyšší úrovně","target":"Cíl:","createLinkTitle":"Vlastnosti odkazu","parentWindow":"Nadřízené okno","currentWindow":"Aktuální okno","url":"Adresa URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/cs/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/cs/commands.js deleted file mode 100644 index c3572d1d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/cs/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Odebrat formát","copy":"Kopírovat","paste":"Vložit","selectAll":"Vybrat vše","insertOrderedList":"Číslovaný seznam","insertTable":"Vložit/upravit tabulku","print":"Tisk","underline":"Podtržení","foreColor":"Barva popředí","htmlToggle":"Zdroj HTML","formatBlock":"Styl odstavce","newPage":"Nová stránka","insertHorizontalRule":"Vodorovná čára","delete":"Odstranit","insertUnorderedList":"Seznam s odrážkami","tableProp":"Vlastnost tabulky","insertImage":"Vložit obrázek","superscript":"Horní index","subscript":"Dolní index","createLink":"Vytvořit odkaz","undo":"Zpět","fullScreen":"Přepnout celou obrazovku","italic":"Kurzíva","fontName":"Název písma","justifyLeft":"Zarovnat vlevo","unlink":"Odebrat odkaz","toggleTableBorder":"Přepnout ohraničení tabulky","viewSource":"Zobrazit zdroj HTML","fontSize":"Velikost písma","systemShortcut":"Akce \"${0}\" je v prohlížeči dostupná pouze prostřednictvím klávesové zkratky. Použijte klávesovou zkratku ${1}.","indent":"Odsadit","redo":"Opakovat","strikethrough":"Přeškrtnutí","justifyFull":"Do bloku","justifyCenter":"Zarovnat na střed","hiliteColor":"Barva pozadí","deleteTable":"Odstranit tabulku","outdent":"Předsadit","cut":"Vyjmout","plainFormatBlock":"Styl odstavce","toggleDir":"Přepnout směr","bold":"Tučné","tabIndent":"Odsazení tabulátoru","justifyRight":"Zarovnat vpravo","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/da/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/da/FontChoice.js deleted file mode 100644 index a45c55bc..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/da/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Ingen","1":"xx-small","2":"x-small","formatBlock":"Format","3":"small","4":"medium","5":"large","6":"x-large","7":"xx-large","fantasy":"fantasy","serif":"serif","p":"Afsnit","pre":"Forudformateret","sans-serif":"sans-serif","fontName":"Skrifttype","h1":"Overskrift","h2":"Underoverskrift","h3":"Underunderoverskrift","monospace":"monospace","fontSize":"Størrelse","cursive":"kursiv"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/da/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/da/LinkDialog.js deleted file mode 100644 index 9b757f75..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/da/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Beskrivelse:","insertImageTitle":"Billedegenskaber","set":"Definér","newWindow":"Nyt vindue","topWindow":"Øverste vindue","target":"Mål:","createLinkTitle":"Linkegenskaber","parentWindow":"Overordnet vindue","currentWindow":"Aktuelt vindue","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/da/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/da/commands.js deleted file mode 100644 index fca175c8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/da/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Fjern format","copy":"Kopiér","paste":"Sæt ind","selectAll":"Markér alle","insertOrderedList":"Nummereret liste","insertTable":"Indsæt/redigér tabel","print":"Udskriv","underline":"Understreget","foreColor":"Forgrundsfarve","htmlToggle":"HTML-kilde","formatBlock":"Afsnitstypografi","newPage":"Ny side","insertHorizontalRule":"Vandret linje","delete":"Slet","insertUnorderedList":"Punktliste","tableProp":"Tabelegenskab","insertImage":"Indsæt billede","superscript":"Hævet skrift","subscript":"Sænket skrift","createLink":"Opret link","undo":"Fortryd","fullScreen":"Aktivér/deaktivér fuldskærm","italic":"Kursiv","fontName":"Skriftnavn","justifyLeft":"Venstrejusteret","unlink":"Fjern link","toggleTableBorder":"Skift tabelramme","viewSource":"Vis HTML-kilde","fontSize":"Skriftstørrelse","systemShortcut":"Funktionen \"${0}\" kan kun bruges i din browser med en tastaturgenvej. Brug ${1}.","indent":"Indrykning","redo":"Annullér Fortryd","strikethrough":"Gennemstreget","justifyFull":"Lige margener","justifyCenter":"Centreret","hiliteColor":"Baggrundsfarve","deleteTable":"Slet tabel","outdent":"Udrykning","cut":"Klip","plainFormatBlock":"Afsnitstypografi","toggleDir":"Skift retning","bold":"Fed","tabIndent":"Indrykning med tabulator","justifyRight":"Højrejusteret","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/de/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/de/FontChoice.js deleted file mode 100644 index c584c181..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/de/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Keine Angabe","1":"XXS","2":"XS","formatBlock":"Format","3":"S","4":"M","5":"L","6":"XL","7":"XXL","fantasy":"Fantasie","serif":"Serife","p":"Absatz","pre":"Vorformatiert","sans-serif":"Serifenlos","fontName":"Schriftart","h1":"Überschrift","h2":"Unterüberschrift","h3":"Unterunterüberschrift","monospace":"Monospaceschrift","fontSize":"Größe","cursive":"Kursiv"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/de/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/de/LinkDialog.js deleted file mode 100644 index b1eab6cb..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/de/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Beschreibung:","insertImageTitle":"Grafikeigenschaften","set":"Festlegen","newWindow":"Neues Fenster","topWindow":"Aktives Fenster","target":"Ziel:","createLinkTitle":"Linkeigenschaften","parentWindow":"Übergeordnetes Fenster","currentWindow":"Aktuelles Fenster","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/de/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/de/commands.js deleted file mode 100644 index 8fa589cc..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/de/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Formatierung entfernen","copy":"Kopieren","paste":"Einfügen","selectAll":"Alles auswählen","insertOrderedList":"Nummerierung","insertTable":"Tabelle einfügen/bearbeiten","print":"Drucken","underline":"Unterstrichen","foreColor":"Vordergrundfarbe","htmlToggle":"HTML-Quelltext","formatBlock":"Absatzstil","newPage":"Neue Seite","insertHorizontalRule":"Horizontaler Strich","delete":"Löschen","insertUnorderedList":"Aufzählungszeichen","tableProp":"Tabelleneigenschaft","insertImage":"Grafik einfügen","superscript":"Hochgestellt","subscript":"Tiefgestellt","createLink":"Link erstellen","undo":"Rückgängig","fullScreen":"Gesamtanzeige","italic":"Kursiv","fontName":"Schriftartname","justifyLeft":"Linksbündig","unlink":"Link entfernen","toggleTableBorder":"Tabellenumrandung ein-/ausschalten","viewSource":"HTML-Quelle","ctrlKey":"Strg+${0}","fontSize":"Schriftgröße","systemShortcut":"Die Aktion \"${0}\" ist nur über einen Direktaufruf in Ihrem Browser verfügbar. Verwenden Sie ${1}.","indent":"Einrücken","redo":"Wiederherstellen","strikethrough":"Durchgestrichen","justifyFull":"Blocksatz","justifyCenter":"Zentriert","hiliteColor":"Hintergrundfarbe","deleteTable":"Tabelle löschen","outdent":"Ausrücken","cut":"Ausschneiden","plainFormatBlock":"Absatzstil","toggleDir":"Wechselrichtung","bold":"Fett","tabIndent":"Tabulatoreinrückung","justifyRight":"Rechtsbündig","appleKey":"⌘${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/el/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/el/FontChoice.js deleted file mode 100644 index a529fe87..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/el/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Χωρίς","1":"xx-μικρά","2":"x-μικρά","formatBlock":"Μορφή","3":"μικρά","4":"μεσαία","5":"μεγάλα","6":"x-μεγάλα","7":"xx-μεγάλα","fantasy":"φαντασίας","serif":"με πατούρες (serif)","p":"Παράγραφος","pre":"Προ-μορφοποιημένο","sans-serif":"χωρίς πατούρες (sans-serif)","fontName":"Γραμματοσειρά","h1":"Επικεφαλίδα","h2":"Δευτερεύουσα επικεφαλίδα","h3":"Δευτερεύουσα επικεφαλίδα τρίτου επιπέδου","monospace":"σταθερού πλάτους","fontSize":"Μέγεθος","cursive":"πλάγιοι"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/el/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/el/LinkDialog.js deleted file mode 100644 index 8a1e121e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/el/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Περιγραφή:","insertImageTitle":"Ιδιότητες εικόνας","set":"Ορισμός","newWindow":"Νέο παράθυρο","topWindow":"Παράθυρο σε πρώτο πλάνο","target":"Προορισμός:","createLinkTitle":"Ιδιότητες σύνδεσης","parentWindow":"Γονικό παράθυρο","currentWindow":"Τρέχον παράθυρο","url":"Διεύθυνση URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/el/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/el/commands.js deleted file mode 100644 index dc854057..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/el/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Αφαίρεση μορφοποίησης","copy":"Αντιγραφή","paste":"Επικόλληση","selectAll":"Επιλογή όλων","insertOrderedList":"Αριθμημένη λίστα","insertTable":"Εισαγωγή/Τροποποίηση πίνακα","print":"Εκτύπωση","underline":"Υπογράμμιση","foreColor":"Χρώμα προσκηνίου","htmlToggle":"Πρωτογενής κώδικας HTML","formatBlock":"Στυλ παραγράφου","newPage":"Νέα σελίδα","insertHorizontalRule":"Οριζόντια γραμμή","delete":"Διαγραφή","insertUnorderedList":"Λίστα με κουκίδες","tableProp":"Ιδιότητα πίνακα","insertImage":"Εισαγωγή εικόνας","superscript":"Εκθέτης","subscript":"Δείκτης","createLink":"Δημιουργία σύνδεσης","undo":"Αναίρεση","fullScreen":"Εναλλαγή κατάστασης πλήρους οθόνης","italic":"Πλάγια","fontName":"Όνομα γραμματοσειράς","justifyLeft":"Στοίχιση αριστερά","unlink":"Αφαίρεση σύνδεσης","toggleTableBorder":"Εναλλαγή εμφάνισης περιγράμματος πίνακα","viewSource":"Προβολή προέλευσης HTML","fontSize":"Μέγεθος γραμματοσειράς","systemShortcut":"Σε αυτό το πρόγραμμα πλοήγησης, η ενέργεια \"${0}\" είναι διαθέσιμη μόνο με τη χρήση μιας συντόμευσης πληκτρολογίου. Χρησιμοποιήστε τη συντόμευση ${1}.","indent":"Εσοχή","redo":"Ακύρωση αναίρεσης","strikethrough":"Διαγράμμιση","justifyFull":"Πλήρης στοίχιση","justifyCenter":"Στοίχιση στο κέντρο","hiliteColor":"Χρώμα φόντου","deleteTable":"Διαγραφή πίνακα","outdent":"Μείωση περιθωρίου","cut":"Αποκοπή","plainFormatBlock":"Στυλ παραγράφου","toggleDir":"Εναλλαγή κατεύθυνσης","bold":"Έντονα","tabIndent":"Εσοχή με το πλήκτρο Tab","justifyRight":"Στοίχιση δεξιά","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/es/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/es/FontChoice.js deleted file mode 100644 index fd7d9659..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/es/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Ninguno","1":"xx-pequeño","2":"x-pequeño","formatBlock":"Formato","3":"pequeño","4":"medio","5":"grande","6":"x-grande","7":"xx-grande","fantasy":"fantasía","serif":"serif","p":"Párrafo","pre":"Preformateado","sans-serif":"sans-serif","fontName":"Font","h1":"Cabecera","h2":"Subcabecera","h3":"Sub-subcabecera","monospace":"espacio sencillo","fontSize":"Tamaño","cursive":"cursiva"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/es/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/es/LinkDialog.js deleted file mode 100644 index 7d69bdb8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/es/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Descripción:","insertImageTitle":"Propiedades de la imagen","set":"Establecer","newWindow":"Nueva ventana","topWindow":"Ventana superior","target":"Destino:","createLinkTitle":"Propiedades del enlace","parentWindow":"Ventana padre","currentWindow":"Ventana actual","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/es/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/es/commands.js deleted file mode 100644 index 0d189dc8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/es/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Eliminar formato","copy":"Copiar","paste":"Pegar","selectAll":"Seleccionar todo","insertOrderedList":"Lista numerada","insertTable":"Insertar/Editar tabla","print":"Imprimir","underline":"Subrayado","foreColor":"Color de primer plano","htmlToggle":"Fuente HTML","formatBlock":"Estilo de párrafo","newPage":"Nueva página","insertHorizontalRule":"Regla horizontal","delete":"Suprimir","insertUnorderedList":"Lista con viñetas","tableProp":"Propiedad de tabla","insertImage":"Insertar imagen","superscript":"Superíndice","subscript":"Subíndice","createLink":"Crear enlace","undo":"Deshacer","fullScreen":"Conmutar pantalla completa","italic":"Cursiva","fontName":"Nombre de font","justifyLeft":"Alinear izquierda","unlink":"Eliminar enlace","toggleTableBorder":"Conmutar borde de tabla","viewSource":"Ver fuente HTML","ctrlKey":"control+${0}","fontSize":"Tamaño de font","systemShortcut":"La acción \"${0}\" sólo está disponible en su navegador mediante un atajo de teclado. Utilice ${1}.","indent":"Sangría","redo":"Rehacer","strikethrough":"Tachado","justifyFull":"Justificar","justifyCenter":"Alinear centro","hiliteColor":"Color de segundo plano","deleteTable":"Suprimir tabla","outdent":"Anular sangría","cut":"Cortar","plainFormatBlock":"Estilo de párrafo","toggleDir":"Conmutar dirección","bold":"Negrita","tabIndent":"Sangría de tabulador","justifyRight":"Alinear derecha","appleKey":"⌘${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fi/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fi/FontChoice.js deleted file mode 100644 index 02c68e98..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fi/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Ei mitään","1":"xx-small","2":"x-small","formatBlock":"Muoto","3":"small","4":"medium","5":"large","6":"x-large","7":"xx-large","fantasy":"fantasy","serif":"serif","p":"Kappale","pre":"Esimuotoiltu","sans-serif":"sans-serif","fontName":"Fontti","h1":"Otsikko","h2":"Alatason otsikko","h3":"Alimman tason otsikko","monospace":"monospace","fontSize":"Koko","cursive":"cursive"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fi/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fi/LinkDialog.js deleted file mode 100644 index 817dfe87..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fi/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Kuvaus:","insertImageTitle":"Kuvan ominaisuudet","set":"Aseta","newWindow":"Uusi ikkuna","topWindow":"Päällimmäinen ikkuna","target":"Kohde:","createLinkTitle":"Linkin ominaisuudet","parentWindow":"Pääikkuna","currentWindow":"Nykyinen ikkuna","url":"URL-osoite:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fi/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fi/commands.js deleted file mode 100644 index b67d4ae6..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fi/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Poista muotoilu","copy":"Kopioi","paste":"Liitä","selectAll":"Valitse kaikki","insertOrderedList":"Numeroitu luettelo","insertTable":"Lisää taulukko/muokkaa taulukkoa","print":"Tulosta","underline":"Alleviivaus","foreColor":"Edustaväri","htmlToggle":"HTML-lähde","formatBlock":"Kappaletyyli","newPage":"Uusi sivu","insertHorizontalRule":"Vaakasuuntainen viiva","delete":"Poista","insertUnorderedList":"Numeroimaton luettelo","tableProp":"Taulukon ominaisuudet","insertImage":"Lisää kuva","superscript":"Yläindeksi","subscript":"Alaindeksi","createLink":"Luo linkki","undo":"Kumoa","fullScreen":"Vaihda koko näyttö","italic":"Kursivointi","fontName":"Fontin nimi","justifyLeft":"Tasaus vasemmalle","unlink":"Poista linkki","toggleTableBorder":"Ota taulukon kehys käyttöön/poista kehys käytöstä","viewSource":"Näytä HTML-lähde","fontSize":"Fontin koko","systemShortcut":"Toiminto \"${0}\" on käytettävissä selaimessa vain näppäimistön pikatoiminnolla. Käytä seuraavaa: ${1}.","indent":"Sisennä","redo":"Tee uudelleen","strikethrough":"Yliviivaus","justifyFull":"Tasaus","justifyCenter":"Tasaus keskelle","hiliteColor":"Taustaväri","deleteTable":"Poista taulukko","outdent":"Ulonna","cut":"Leikkaa","plainFormatBlock":"Kappaletyyli","toggleDir":"Vaihda suuntaa","bold":"Lihavointi","tabIndent":"Sarkainsisennys","justifyRight":"Tasaus oikealle","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fr/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fr/FontChoice.js deleted file mode 100644 index 2e3a9780..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fr/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Néant","1":"xxs","2":"xs","formatBlock":"Mise en forme","3":"s","4":"m","5":"l","6":"xl","7":"xxl","fantasy":"fantaisie","serif":"serif","p":"Paragraphe","pre":"Pré-mise en forme","sans-serif":"sans serif","fontName":"Police","h1":"En-tête","h2":"Sous-en-tête","h3":"Sous-sous-en-tête","monospace":"espacement fixe","fontSize":"Taille","cursive":"cursive"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fr/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fr/LinkDialog.js deleted file mode 100644 index 8103ae32..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fr/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Description :","insertImageTitle":"Propriétés de l'image","set":"Définir","newWindow":"Nouvelle fenêtre","topWindow":"Fenêtre supérieure","target":"Cible :","createLinkTitle":"Propriétés du lien","parentWindow":"Fenêtre parent","currentWindow":"Fenêtre actuelle","url":"URL :"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fr/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fr/commands.js deleted file mode 100644 index 532ac134..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/fr/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Supprimer la mise en forme","copy":"Copier","paste":"Coller","selectAll":"Sélectionner tout","insertOrderedList":"Liste numérotée","insertTable":"Insérer/Modifier un tableau","print":"Imprimer","underline":"Souligner","foreColor":"Couleur d'avant-plan","htmlToggle":"Source HTML","formatBlock":"Style de paragraphe","newPage":"Nouvelle page","insertHorizontalRule":"Règle horizontale","delete":"Supprimer","insertUnorderedList":"Liste à puces","tableProp":"Propriété du tableau","insertImage":"Insérer une image","superscript":"Exposant","subscript":"Indice","createLink":"Créer un lien","undo":"Annuler","fullScreen":"Basculer en plein écran","italic":"Italique","fontName":"Nom de police","justifyLeft":"Aligner à gauche","unlink":"Supprimer le lien","toggleTableBorder":"Afficher/Masquer la bordure du tableau","viewSource":"Afficher la source HTML","fontSize":"Taille de police","systemShortcut":"L'action \"${0}\" est disponible dans votre navigateur uniquement, par le biais d'un raccourci-clavier. Utilisez ${1}.","indent":"Retrait","redo":"Rétablir","strikethrough":"Barrer","justifyFull":"Justifier","justifyCenter":"Aligner au centre","hiliteColor":"Couleur d'arrière-plan","deleteTable":"Supprimer le tableau","outdent":"Retrait négatif","cut":"Couper","plainFormatBlock":"Style de paragraphe","toggleDir":"Changer de sens","bold":"Gras","tabIndent":"Retrait de tabulation","justifyRight":"Aligner à droite","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/he/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/he/FontChoice.js deleted file mode 100644 index 4c2e16f5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/he/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"ללא ","1":"קטן ביות","2":"קטן מאוד","formatBlock":"עיצוב","3":"קטן","4":"בינוני","5":"גדול","6":"גדול מאוד","7":"גדול ביותר","fantasy":"fantasy","serif":"serif","p":"פיסקה","pre":"מעוצב מראש","sans-serif":"sans-serif","fontName":"גופן","h1":"כותרת","h2":"תת-כותרת","h3":"תת-תת-כותרת","monospace":"monospace","fontSize":"גודל","cursive":"cursive"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/he/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/he/LinkDialog.js deleted file mode 100644 index 493974ca..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/he/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"תיאור:","insertImageTitle":"תכונות תמונה","set":"הגדרה","newWindow":"חלון חדש","topWindow":"חלון עליון","target":"יעד:","createLinkTitle":"תכונות קישור","parentWindow":"חלון אב","currentWindow":"חלון נוכחי","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/he/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/he/commands.js deleted file mode 100644 index 39d598e9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/he/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"סילוק עיצוב","copy":"עותק","paste":"הדבקה","selectAll":"בחירת הכל","insertOrderedList":"רשימה ממוספרת","insertTable":"הוספת/עריכת טבלה","print":"הדפסה","underline":"קו תחתי","foreColor":"צבע חזית","htmlToggle":"מקור HTML","formatBlock":"סגנון פיסקה","newPage":"דף חדש","insertHorizontalRule":"קו אופקי","delete":"מחיקה","appleKey":"⌘${0}","insertUnorderedList":"רשימה עם תבליטים","tableProp":"תכונת טבלה","insertImage":"הוספת תמונה","superscript":"כתב עילי","subscript":"כתב תחתי","createLink":"יצירת קישור","undo":"ביטול פעולה","fullScreen":"מיתוג מסך מלא","italic":"נטוי","fontName":"שם גופן","justifyLeft":"יישור לשמאל","unlink":"סילוק הקישור","toggleTableBorder":"מיתוג גבול טבלה","viewSource":"הצגת מקור HTML","ctrlKey":"ctrl+${0}","fontSize":"גופן יחסי","systemShortcut":"הפעולה \"${0}\" זמינה בדפדפן רק באמצעות קיצור דרך במקלדת. השתמשו בקיצור ${1}.","indent":"הגדלת כניסה","redo":"שחזור פעולה","strikethrough":"קו חוצה","justifyFull":"יישור דו-צדדי","justifyCenter":"יישור למרכז","hiliteColor":"צבע רקע","deleteTable":"מחיקת טבלה","outdent":"הקטנת כניסה","cut":"גזירה","plainFormatBlock":"סגנון פיסקה","toggleDir":"מיתוג כיוון","bold":"מודגש","tabIndent":"כניסת טאב","justifyRight":"יישור לימין"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/hu/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/hu/FontChoice.js deleted file mode 100644 index 831fe99c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/hu/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Nincs","1":"xx-kicsi","2":"x-kicsi","formatBlock":"Formátum","3":"kicsi","4":"közepes","5":"nagy","6":"x-nagy","7":"xx-nagy","fantasy":"fantázia","serif":"talpas","p":"Bekezdés","pre":"Előformázott","sans-serif":"talpatlan","fontName":"Betűtípus","h1":"Címsor","h2":"Alcím","h3":"Al-alcím","monospace":"rögzített szélességű","fontSize":"Méret","cursive":"kurzív"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/hu/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/hu/LinkDialog.js deleted file mode 100644 index 23f765ef..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/hu/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Leírás:","insertImageTitle":"Kép tulajdonságai","set":"Beállítás","newWindow":"Új ablak","topWindow":"Legfelső szintű ablak","target":"Cél:","createLinkTitle":"Hivatkozás tulajdonságai","parentWindow":"Szülő ablak","currentWindow":"Aktuális ablak","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/hu/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/hu/commands.js deleted file mode 100644 index bd016cf9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/hu/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Formázás eltávolítása","copy":"Másolás","paste":"Beillesztés","selectAll":"Összes kijelölése","insertOrderedList":"Számozott lista","insertTable":"Táblázat beszúrása/szerkesztése","print":"Nyomtatás","underline":"Aláhúzott","foreColor":"Előtérszín","htmlToggle":"HTML forrás","formatBlock":"Bekezdés stílusa","newPage":"Új oldal","insertHorizontalRule":"Vízszintes vonalzó","delete":"Törlés","insertUnorderedList":"Felsorolásjeles lista","tableProp":"Táblázat tulajdonságai","insertImage":"Kép beszúrása","superscript":"Felső index","subscript":"Alsó index","createLink":"Hivatkozás létrehozása","undo":"Visszavonás","fullScreen":"Váltás teljes képernyőre","italic":"Dőlt","fontName":"Betűtípus","justifyLeft":"Balra igazítás","unlink":"Hivatkozás eltávolítása","toggleTableBorder":"Táblázatszegély ki-/bekapcsolása","viewSource":"HTML forrás megjelenítése","fontSize":"Betűméret","systemShortcut":"A(z) \"${0}\" művelet a böngészőben csak billentyűparancs használatával érhető el. Használja a következőt: ${1}.","indent":"Behúzás","redo":"Újra","strikethrough":"Áthúzott","justifyFull":"Sorkizárás","justifyCenter":"Középre igazítás","hiliteColor":"Háttérszín","deleteTable":"Táblázat törlése","outdent":"Negatív behúzás","cut":"Kivágás","plainFormatBlock":"Bekezdés stílusa","toggleDir":"Irány váltókapcsoló","bold":"Félkövér","tabIndent":"Tab behúzás","justifyRight":"Jobbra igazítás","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/it/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/it/FontChoice.js deleted file mode 100644 index a248473b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/it/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Nessuna","1":"xx-small","2":"x-small","formatBlock":"Formato","3":"small","4":"medium","5":"large","6":"x-large","7":"xx-large","fantasy":"fantasy","serif":"serif","p":"Paragrafo","pre":"Preformattato","sans-serif":"sans-serif","fontName":"Carattere","h1":"Intestazione","h2":"Sottointestazione","h3":"Sottointestazione secondaria","monospace":"spaziatura fissa","fontSize":"Dimensione","cursive":"corsivo"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/it/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/it/LinkDialog.js deleted file mode 100644 index 94ebe18d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/it/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Descrizione:","insertImageTitle":"Proprietà immagine","set":"Imposta","newWindow":"Nuova finestra","topWindow":"Finestra in primo piano","target":"Destinazione:","createLinkTitle":"Proprietà collegamento","parentWindow":"Finestra parent","currentWindow":"Finestra corrente","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/it/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/it/commands.js deleted file mode 100644 index 2b08f817..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/it/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Rimuovi formato","copy":"Copia","paste":"Incolla","selectAll":"Seleziona tutto","insertOrderedList":"Elenco numerato","insertTable":"Inserisci/Modifica tabella","print":"Stampa","underline":"Sottolineato","foreColor":"Colore primo piano","htmlToggle":"Origine HTML","formatBlock":"Stile paragrafo","newPage":"Nuova pagina","insertHorizontalRule":"Righello orizzontale","delete":"Elimina","insertUnorderedList":"Elenco puntato","tableProp":"Proprietà tabella","insertImage":"Inserisci immagine","superscript":"Apice","subscript":"Pedice","createLink":"Crea collegamento","undo":"Annulla","fullScreen":"Attiva/Disattiva schermo intero","italic":"Corsivo","fontName":"Nome carattere","justifyLeft":"Allinea a sinistra","unlink":"Rimuovi collegamento","toggleTableBorder":"Mostra/Nascondi margine tabella","viewSource":"Visualizza origine HTML","fontSize":"Dimensione carattere","systemShortcut":"Azione \"${0}\" disponibile sul proprio browser solo mediante i tasti di scelta rapida della tastiera. Utilizzare ${1}.","indent":"Rientra","redo":"Ripristina","strikethrough":"Barrato","justifyFull":"Giustifica","justifyCenter":"Allinea al centro","hiliteColor":"Colore sfondo","deleteTable":"Elimina tabella","outdent":"Rimuovi rientro","cut":"Taglia","plainFormatBlock":"Stile paragrafo","toggleDir":"Inverti direzione","bold":"Grassetto","tabIndent":"Rientranza tabulazione","justifyRight":"Allinea a destra","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ja/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ja/FontChoice.js deleted file mode 100644 index 647f90d2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ja/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"なし","1":"超極小","2":"極小","formatBlock":"フォーマット","3":"小","4":"標準","5":"大","6":"特大","7":"超特大","fantasy":"fantasy","serif":"serif","p":"段落","pre":"事前フォーマット済み","sans-serif":"sans-serif","fontName":"フォント","h1":"見出し","h2":"副見出し","h3":"副見出しの副見出し","monospace":"monospace","fontSize":"サイズ","cursive":"cursive"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ja/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ja/LinkDialog.js deleted file mode 100644 index 815f5083..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ja/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"説明:","insertImageTitle":"イメージ・プロパティー","set":"設定","newWindow":"新規ウィンドウ","topWindow":"最上位ウィンドウ","target":"ターゲット:","createLinkTitle":"リンク・プロパティー","parentWindow":"親ウィンドウ","currentWindow":"現行ウィンドウ","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ja/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ja/commands.js deleted file mode 100644 index 2ba1d51b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ja/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"書式のクリア","copy":"コピー","paste":"貼り付け","selectAll":"すべて選択","insertOrderedList":"番号付きリスト","insertTable":"テーブルの挿入/編集","print":"印刷","underline":"下線","foreColor":"前景色","htmlToggle":"HTML ソース","formatBlock":"段落スタイル","newPage":"新規ページ","insertHorizontalRule":"水平罫線","delete":"削除","insertUnorderedList":"黒丸付きリスト","tableProp":"テーブル・プロパティー","insertImage":"イメージの挿入","superscript":"上付き文字","subscript":"下付き文字","createLink":"リンクの作成","undo":"元に戻す","fullScreen":"全画面表示に切り替え","italic":"イタリック","fontName":"フォント名","justifyLeft":"左揃え","unlink":"リンクの削除","toggleTableBorder":"テーブル・ボーダーの切り替え","viewSource":"HTML ソースの表示","ctrlKey":"Ctrl+${0}","fontSize":"フォント・サイズ","systemShortcut":"\"${0}\" アクションを使用できるのは、ブラウザーでキーボード・ショートカットを使用する場合のみです。${1} を使用してください。","indent":"インデント","redo":"やり直し","strikethrough":"取り消し線","justifyFull":"両端揃え","justifyCenter":"中央揃え","hiliteColor":"マーカー","deleteTable":"テーブルの削除","outdent":"アウトデント","cut":"切り取り","plainFormatBlock":"段落スタイル","toggleDir":"方向の切り替え","bold":"太字","tabIndent":"タブ・インデント","justifyRight":"右揃え","appleKey":"⌘${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/kk/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/kk/FontChoice.js deleted file mode 100644 index 6a9dbbff..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/kk/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Ешбір","1":"xx-кіші","2":"x-кіші","formatBlock":"Пішім","3":"кіші","4":"орташа","5":"үлкен","6":"x-үлкен","7":"xx-үлкен","fantasy":"қиял-ғажайып","serif":"serif","p":"Еже","pre":"Алдын ала пішімделген","sans-serif":"sans-serif","fontName":"Қаріп","h1":"Үстіңгі деректеме","h2":"Ішкі тақырып","h3":"Ішкі-ішкі тақырып","monospace":"monospace","fontSize":"Өлшемі","cursive":"көлбеу"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/kk/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/kk/LinkDialog.js deleted file mode 100644 index c1c5ca2f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/kk/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Сипаттама:","insertImageTitle":"Сурет сипаттары","set":"Орнату","newWindow":"Жаңа терезе","topWindow":"Ең жоғарғы терезе","target":"Мақсат:","createLinkTitle":"Сілтеме сипаттары","parentWindow":"Басты терезе","currentWindow":"Ағымдағы терезе","url":"URL мекенжайы:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/kk/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/kk/commands.js deleted file mode 100644 index ac362d31..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/kk/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Пішімді алып тастау","copy":"Көшіру","paste":"Қою","selectAll":"Барлығын таңдау","insertOrderedList":"Нөмірленген тізім","insertTable":"Кестені кірістіру/өңдеу","print":"Басып шығару","underline":"Асты сызылған","foreColor":"Алды түсі","htmlToggle":"HTML көзі","formatBlock":"Еже мәнері","newPage":"Жаңа бет","insertHorizontalRule":"Көлденең сызғыш","delete":"Жою","insertUnorderedList":"Таңбалауыш тізім","tableProp":"Кесте сипаты","insertImage":"Сурет кірістіру","superscript":"Жолүсті","subscript":"Жоласты","createLink":"Сілтеме жасау","undo":"Болдырмау ","fullScreen":"Толық экранды қосу","italic":"Көлбеу","fontName":"Қаріп атауы","justifyLeft":"Сол жақ бойынша туралау","unlink":"Сілтемені жою","toggleTableBorder":"Кесте жиегін қосу","viewSource":"HTML көзін қарау","fontSize":"Қаріп өлшемі","systemShortcut":"\"${0}\" әрекеті шолғышта тек пернелер тіркесімі арқылы қол жетімді. ${1} пайдаланыңыз.","indent":"Шегіндіру","redo":"Қайтару","strikethrough":"Сызылған","justifyFull":"Туралау","justifyCenter":"Ортасы бойынша туралау","hiliteColor":"Өң түсі","deleteTable":"Кестені жою","outdent":"Шығыңқы","cut":"Қиып алу","plainFormatBlock":"Еже мәнері","toggleDir":"Бағытты қосу","bold":"Қалың","tabIndent":"Қойынды шегінісі","justifyRight":"Оң жақ бойынша туралау","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ko/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ko/FontChoice.js deleted file mode 100644 index f3e2dc4a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ko/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"없음","1":"가장 작게","2":"조금 작게","formatBlock":"서식","3":"작게","4":"중간","5":"크게","6":"조금 크게","7":"가장 크게","fantasy":"fantasy","serif":"serif","p":"단락","pre":"서식이 지정됨","sans-serif":"sans-serif","fontName":"글꼴","h1":"제목","h2":"부제목","h3":"하위 부제목","monospace":"monospace","fontSize":"크기","cursive":"cursive"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ko/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ko/LinkDialog.js deleted file mode 100644 index fd1e9d5b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ko/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"설명:","insertImageTitle":"이미지 등록 정보","set":"설정","newWindow":"새 창","topWindow":"최상위 창","target":"대상","createLinkTitle":"링크 등록 정보","parentWindow":"상위 창","currentWindow":"현재 창","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ko/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ko/commands.js deleted file mode 100644 index 972b047e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ko/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"형식 제거","copy":"복사","paste":"붙여넣기","selectAll":"모두 선택","insertOrderedList":"번호 목록","insertTable":"테이블 삽입/편집","print":"인쇄","underline":"밑줄","foreColor":"전경색","htmlToggle":"HTML 소스","formatBlock":"단락 양식","newPage":"새 페이지","insertHorizontalRule":"수평 자","delete":"삭제","insertUnorderedList":"글머리표 목록","tableProp":"테이블 특성","insertImage":"이미지 삽입","superscript":"위첨자","subscript":"아래첨자","createLink":"링크 작성","undo":"실행 취소","fullScreen":"전체 화면 토글","italic":"기울임꼴","fontName":"글꼴 이름","justifyLeft":"왼쪽 맞춤","unlink":"링크 제거","toggleTableBorder":"테이블 외곽선 토글","viewSource":"HTML 소스 보기","fontSize":"글꼴 크기","systemShortcut":"\"${0}\" 조치는 브라우저에서 키보드 단축키를 통해서만 사용 가능합니다. ${1}을(를) 사용하십시오.","indent":"들여쓰기","redo":"다시 실행","strikethrough":"취소선","justifyFull":"양쪽 맞춤","justifyCenter":"가운데 맞춤","hiliteColor":"배경색","deleteTable":"테이블 삭제","outdent":"내어쓰기","cut":"잘라내기","plainFormatBlock":"단락 양식","toggleDir":"방향 토글","bold":"굵게","tabIndent":"탭 들여쓰기","justifyRight":"오른쪽 맞춤","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nb/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nb/FontChoice.js deleted file mode 100644 index c7c8f5dd..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nb/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Ingen","1":"xx-liten","2":"x-liten","formatBlock":"Format","3":"liten","4":"middels","5":"stor","6":"x-stor","7":"xx-stor","fantasy":"fantasi","serif":"serif","p":"Avsnitt","pre":"Forhåndsformatert","sans-serif":"sans-serif","fontName":"Skrift","h1":"Overskrift","h2":"Undertittel","h3":"Under-undertittel","monospace":"monospace","fontSize":"Størrelse","cursive":"kursiv"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nb/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nb/LinkDialog.js deleted file mode 100644 index 5a5653ca..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nb/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Beskrivelse:","insertImageTitle":"Bildeegenskaper","set":"Definer","newWindow":"Nytt vindu","topWindow":"Øverste vindu","target":"Mål:","createLinkTitle":"Koblingsegenskaper","parentWindow":"Overordnet vindu","currentWindow":"Gjeldende vindu","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nb/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nb/commands.js deleted file mode 100644 index daf82898..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nb/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Fjern format","copy":"Kopier","paste":"Lim inn","selectAll":"Velg alle","insertOrderedList":"Nummerert liste","insertTable":"Sett inn/rediger tabell","print":"Skriv ut","underline":"Understreking","foreColor":"Forgrunnsfarge","htmlToggle":"HTML-kilde","formatBlock":"Avsnittsstil","newPage":"Ny side","insertHorizontalRule":"Vannrett strek","delete":"Slett","appleKey":"⌘${0}","insertUnorderedList":"Punktliste","tableProp":"Tabellegenskap","insertImage":"Sett inn bilde","superscript":"Hevet skrift","subscript":"Senket skrift","createLink":"Opprett kobling","undo":"Angre","fullScreen":"Slå på/av full skjerm","italic":"Kursiv","fontName":"Skriftnavn","justifyLeft":"Venstrejuster","unlink":"Fjern kobling","toggleTableBorder":"Bytt tabellkant","viewSource":"Vis HTML-kilde","ctrlKey":"ctrl+${0}","fontSize":"Skriftstørrelse","systemShortcut":"Handlingen \"${0}\" er bare tilgjengelig i nettleseren ved hjelp av en tastatursnarvei. Bruk ${1}.","indent":"Innrykk","redo":"Gjør om","strikethrough":"Gjennomstreking","justifyFull":"Juster","justifyCenter":"Midtstill","hiliteColor":"Bakgrunnsfarge","deleteTable":"Slett tabell","outdent":"Fjern innrykk","cut":"Klipp ut","plainFormatBlock":"Avsnittsstil","toggleDir":"Bytt retning","bold":"Fet","tabIndent":"Tabulatorinnrykk","justifyRight":"Høyrejuster"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nl/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nl/FontChoice.js deleted file mode 100644 index 2bdbd583..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nl/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Geen","1":"xx-klein","2":"x-klein","formatBlock":"Opmaak","3":"klein","4":"gemiddeld","5":"groot","6":"x-groot","7":"xx-groot","fantasy":"fantasy","serif":"serif","p":"Alinea","pre":"Vooraf opgemaakt","sans-serif":"sans-serif","fontName":"Lettertype","h1":"Kop","h2":"Subkop","h3":"Sub-subkop","monospace":"monospace","fontSize":"Grootte","cursive":"cursief"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nl/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nl/LinkDialog.js deleted file mode 100644 index 5f4ba588..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nl/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Beschrijving:","insertImageTitle":"Afbeeldingseigenschappen","set":"Instellen","newWindow":"Nieuw venster","topWindow":"Bovenste venster","target":"Doel:","createLinkTitle":"Linkeigenschappen","parentWindow":"Hoofdvenster","currentWindow":"Huidig venster","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nl/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nl/commands.js deleted file mode 100644 index ebc7c994..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/nl/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Opmaak verwijderen","copy":"Kopiëren","paste":"Plakken","selectAll":"Alles selecteren","insertOrderedList":"Genummerde lijst","insertTable":"Tabel invoegen/bewerken","print":"Afdrukken","underline":"Onderstrepen","foreColor":"Voorgrondkleur","htmlToggle":"HTML-bron","formatBlock":"Alineastijl","newPage":"Nieuwe pagina","insertHorizontalRule":"Horizontale liniaal","delete":"Wissen","insertUnorderedList":"Lijst met opsommingstekens","tableProp":"Tabeleigenschap","insertImage":"Afbeelding invoegen","superscript":"Superscript","subscript":"Subscript","createLink":"Link maken","undo":"Ongedaan maken","fullScreen":"Volledig scherm in-/uitschakelen","italic":"Cursief","fontName":"Lettertype","justifyLeft":"Links uitlijnen","unlink":"Link verwijderen","toggleTableBorder":"Tabelkader wijzigen","viewSource":"HTML-bron bekijken","fontSize":"Lettergrootte","systemShortcut":"De actie \"${0}\" is alleen beschikbaar in uw browser via een sneltoetscombinatie. Gebruik ${1}.","indent":"Inspringen","redo":"Opnieuw","strikethrough":"Doorhalen","justifyFull":"Uitvullen","justifyCenter":"Centreren","hiliteColor":"Achtergrondkleur","deleteTable":"Tabel wissen","outdent":"Uitspringen","cut":"Knippen","plainFormatBlock":"Alineastijl","toggleDir":"Schrijfrichting wijzigen","bold":"Vet","tabIndent":"Inspringen","justifyRight":"Rechts uitlijnen","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pl/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pl/FontChoice.js deleted file mode 100644 index e555c281..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pl/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Brak","1":"najmniejsza","2":"mniejsza","formatBlock":"Format","3":"mała","4":"średnia","5":"duża","6":"większa","7":"największa","fantasy":"fantazyjna","serif":"szeryfowa","p":"Akapit","pre":"Wstępnie sformatowane","sans-serif":"bezszeryfowa","fontName":"Czcionka","h1":"Nagłówek","h2":"Nagłówek 2-go poziomu","h3":"Nagłówek 3-go poziomu","monospace":"czcionka o stałej szerokości","fontSize":"Wielkość","cursive":"kursywa"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pl/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pl/LinkDialog.js deleted file mode 100644 index 86f71e53..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pl/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Opis:","insertImageTitle":"Właściwości obrazu","set":"Ustaw","newWindow":"Nowe okno","topWindow":"Okno najwyższego poziomu","target":"Cel:","createLinkTitle":"Właściwości odsyłacza","parentWindow":"Okno macierzyste","currentWindow":"Bieżące okno","url":"Adres URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pl/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pl/commands.js deleted file mode 100644 index 0615a690..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pl/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Usuń formatowanie","copy":"Kopiuj","paste":"Wklej","selectAll":"Wybierz wszystko","insertOrderedList":"Lista numerowana","insertTable":"Wstaw/edytuj tabelę","print":"Drukuj","underline":"Podkreślenie","foreColor":"Kolor pierwszego planu","htmlToggle":"Kod źródłowy HTML","formatBlock":"Styl akapitu","newPage":"Nowa strona","insertHorizontalRule":"Linia pozioma","delete":"Usuń","insertUnorderedList":"Lista wypunktowana","tableProp":"Właściwość tabeli","insertImage":"Wstaw obraz","superscript":"Indeks górny","subscript":"Indeks dolny","createLink":"Utwórz odsyłacz","undo":"Cofnij","fullScreen":"Przełącz pełny ekran","italic":"Kursywa","fontName":"Nazwa czcionki","justifyLeft":"Wyrównaj do lewej","unlink":"Usuń odsyłacz","toggleTableBorder":"Przełącz ramkę tabeli","viewSource":"Wyświetl kod źródłowy HTML","ctrlKey":"Ctrl+${0}","fontSize":"Wielkość czcionki","systemShortcut":"Działanie ${0} jest dostępne w tej przeglądarce wyłącznie przy użyciu skrótu klawiaturowego. Należy użyć klawiszy ${1}.","indent":"Wcięcie","redo":"Ponów","strikethrough":"Przekreślenie","justifyFull":"Wyrównaj do lewej i prawej","justifyCenter":"Wyrównaj do środka","hiliteColor":"Kolor tła","deleteTable":"Usuń tabelę","outdent":"Usuń wcięcie","cut":"Wytnij","plainFormatBlock":"Styl akapitu","toggleDir":"Przełącz kierunek","bold":"Pogrubienie","tabIndent":"Wcięcie o tabulator","justifyRight":"Wyrównaj do prawej","appleKey":"⌘${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt-pt/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt-pt/FontChoice.js deleted file mode 100644 index b7b8405c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt-pt/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Nenhum","1":"xxs","2":"xs","formatBlock":"Formato","3":"small","4":"medium","5":"large","6":"xl","7":"xxl","fantasy":"fantasy","serif":"serif","p":"Parágrafo","pre":"Pré-formatado","sans-serif":"sans-serif","fontName":"Tipo de letra","h1":"Título","h2":"Sub-título","h3":"Sub-subtítulo","monospace":"monospace","fontSize":"Tamanho","cursive":"cursive"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt-pt/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt-pt/LinkDialog.js deleted file mode 100644 index 4499fa7c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt-pt/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Descrição:","insertImageTitle":"Propriedades da imagem","set":"Definir","newWindow":"Nova janela","topWindow":"Janela superior","target":"Destino:","createLinkTitle":"Propriedades da ligação","parentWindow":"Janela ascendente","currentWindow":"Janela actual","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt-pt/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt-pt/commands.js deleted file mode 100644 index 1f4815df..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt-pt/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Remover formato","copy":"Copiar","paste":"Colar","selectAll":"Seleccionar tudo","insertOrderedList":"Lista numerada","insertTable":"Inserir/Editar tabela","print":"Imprimir","underline":"Sublinhado","foreColor":"Cor de primeiro plano","htmlToggle":"Código-fonte de HTML","formatBlock":"Estilo de parágrafo","newPage":"Nova página","insertHorizontalRule":"Régua horizontal","delete":"Eliminar","insertUnorderedList":"Lista marcada","tableProp":"Propriedades da tabela","insertImage":"Inserir imagem","superscript":"Superior à linha","subscript":"Inferior à linha","createLink":"Criar ligação","undo":"Anular","fullScreen":"Alternar ecrã completo","italic":"Itálico","fontName":"Nome do tipo de letra","justifyLeft":"Alinhar à esquerda","unlink":"Remover ligação","toggleTableBorder":"Alternar contorno da tabela","viewSource":"Ver origem HTML","fontSize":"Tamanho do tipo de letra","systemShortcut":"A acção \"${0}\" apenas está disponível no navegador utilizando um atalho de teclado. Utilize ${1}.","indent":"Indentar","redo":"Repetir","strikethrough":"Rasurado","justifyFull":"Justificar","justifyCenter":"Alinhar ao centro","hiliteColor":"Cor de segundo plano","deleteTable":"Eliminar tabela","outdent":"Recuar","cut":"Cortar","plainFormatBlock":"Estilo de parágrafo","toggleDir":"Alternar direcção","bold":"Negrito","tabIndent":"Indentar com a tecla Tab","justifyRight":"Alinhar à direita","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt/FontChoice.js deleted file mode 100644 index 2ce4785f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Nenhuma","1":"extra-extra-pequeno","2":"extra-pequeno","formatBlock":"Formatar","3":"pequena","4":"médio","5":"grande","6":"extra-grande","7":"extra-extra-grande","fantasy":"fantasy","serif":"serif","p":"Parágrafo","pre":"Pré-formatado","sans-serif":"sans-serif","fontName":"Fonte","h1":"Título","h2":"Subtítulo","h3":"Sub-subtítulo","monospace":"espaço simples","fontSize":"Tamanho","cursive":"cursiva"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt/LinkDialog.js deleted file mode 100644 index 0a55795e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Descrição:","insertImageTitle":"Propriedades de Imagem","set":"Definir","newWindow":"Nova Janela","topWindow":"Primeira Janela","target":"Destino:","createLinkTitle":"Propriedades de Link","parentWindow":"Janela Pai","currentWindow":"Janela Atual","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt/commands.js deleted file mode 100644 index cef0a157..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/pt/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Remover Formato","copy":"Copiar","paste":"Colar","selectAll":"Selecionar Todos","insertOrderedList":"Lista Numerada","insertTable":"Inserir/Editar Tabela","print":"Imprimir","underline":"Sublinhado","foreColor":"Cor do Primeiro Plano","htmlToggle":"Origem HTML","formatBlock":"Estilo de Parágrafo","newPage":"Nova Página","insertHorizontalRule":"Régua Horizontal","delete":"Excluir","insertUnorderedList":"Lista com Marcadores","tableProp":"Propriedade da Tabela","insertImage":"Inserir Imagem","superscript":"Sobrescrito","subscript":"Subscrito","createLink":"Criar Link","undo":"Desfazer","fullScreen":"Comutar Tela Cheia","italic":"Itálico","fontName":"Nome da Fonte","justifyLeft":"Alinhar à Esquerda","unlink":"Remover Link","toggleTableBorder":"Alternar Moldura da Tabela","viewSource":"Visualizar Origem HTML","fontSize":"Tamanho da Fonte","systemShortcut":"A ação \"${0}\" está disponível em seu navegador apenas usando um atalho de teclado. Use ${1}.","indent":"Recuar","redo":"Refazer","strikethrough":"Tachado","justifyFull":"Justificar","justifyCenter":"Alinhar pelo Centro","hiliteColor":"Cor do Segundo Plano","deleteTable":"Excluir Tabela","outdent":"Não chanfrado","cut":"Recortar","plainFormatBlock":"Estilo de Parágrafo","toggleDir":"Comutar Direção","bold":"Negrito","tabIndent":"Recuo de Guia","justifyRight":"Alinhar à Direita","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ro/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ro/FontChoice.js deleted file mode 100644 index 4806cb3e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ro/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Fără","1":"xxs (xx-small)","2":"xs (x-small)","formatBlock":"Format","3":"s (small)","4":"m (medium)","5":"l (large)","6":"xl (x-large)","7":"xxl (xx-large)","fantasy":"fantasy","serif":"serif","p":"Paragraf","pre":"Preformatat","sans-serif":"sans-serif","fontName":"Font","h1":"Titlu","h2":"Subtitlu","h3":"Sub-subtitlu","monospace":"monospace","fontSize":"Dimensiune","cursive":"cursive"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ro/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ro/LinkDialog.js deleted file mode 100644 index fba0a842..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ro/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Descriere:","insertImageTitle":"Proprietăţi imagine","set":"Setare","newWindow":"Fereastra nouă","topWindow":"Fereastra cea mai de sus","target":"Destinaţie:","createLinkTitle":"Proprietăţi legătură","parentWindow":"Fereastra părinte","currentWindow":"Fereastra curentă","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ro/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ro/commands.js deleted file mode 100644 index 776bcb3a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ro/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Înlăturare format","copy":"Copiere","paste":"Lipire","selectAll":"Selectează tot","insertOrderedList":"Listă numerotată","insertTable":"Inserare/Editare tabelă","print":"Tipărire","underline":"Subliniere","foreColor":"Culoare de prim-plan","htmlToggle":"Sursă HTML","formatBlock":"Stil paragraf","newPage":"Pagină nouă","insertHorizontalRule":"Linie delimitatoare","delete":"Ştergere","insertUnorderedList":"Listă cu marcator","tableProp":"Proprietate tabelă","insertImage":"Inserare imagine","superscript":"Scriere indice superior","subscript":"Scriere indice inferior","createLink":"Creare legătură","undo":"Anulare acţiune","fullScreen":"Comutare ecran complet","italic":"Cursiv","fontName":"Nume font","justifyLeft":"Aliniere stânga","unlink":"Înlăturare legătură","toggleTableBorder":"Comutare bordură tabelă","viewSource":"Vizualizara sursă HTML","fontSize":"Dimensiune font","systemShortcut":"Acţiunea \"${0}\" este disponibilă în browser doar utilizând o comandă rapidă de la tastatură. Utilizaţi ${1}.","indent":"Micşorare indent","redo":"Refacere acţiune","strikethrough":"Tăiere text cu o linie","justifyFull":"Aliniere stânga-dreapta","justifyCenter":"Aliniere centru","hiliteColor":"Culoare de fundal","deleteTable":"Ştergere tabelă","outdent":"Mărire indent","cut":"Tăiere","plainFormatBlock":"Stil paragraf","toggleDir":"Comutare direcţie","bold":"Aldin","tabIndent":"Indentare Tab","justifyRight":"Aliniere dreapta","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ru/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ru/FontChoice.js deleted file mode 100644 index b836589c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ru/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Нет","1":"самый маленький","2":"очень маленький","formatBlock":"Формат","3":"маленький","4":"средний","5":"большой","6":"очень большой","7":"самый большой","fantasy":"артистический","serif":"с засечками","p":"Абзац","pre":"Заранее отформатированный","sans-serif":"без засечек","fontName":"Шрифт","h1":"Заголовок","h2":"Подзаголовок","h3":"Вложенный подзаголовок","monospace":"непропорциональный","fontSize":"Размер","cursive":"курсив"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ru/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ru/LinkDialog.js deleted file mode 100644 index 0b91f4c0..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ru/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Описание:","insertImageTitle":"Свойства изображения","set":"Задать","newWindow":"Новое окно","topWindow":"Верхнее окно","target":"Целевой объект:","createLinkTitle":"Свойства ссылки","parentWindow":"Родительское окно","currentWindow":"Текущее окно","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ru/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ru/commands.js deleted file mode 100644 index bbc76174..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/ru/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Удалить формат","copy":"Копировать","paste":"Вставить","selectAll":"Выбрать все","insertOrderedList":"Нумерованный список","insertTable":"Вставить/изменить таблицу","print":"Печать","underline":"Подчеркивание","foreColor":"Цвет текста","htmlToggle":"Код HTML","formatBlock":"Стиль абзаца","newPage":"Создать страницу","insertHorizontalRule":"Горизонтальная линейка","delete":"Удалить","insertUnorderedList":"Список с маркерами","tableProp":"Свойства таблицы","insertImage":"Вставить изображение","superscript":"Верхний индекс","subscript":"Нижний индекс","createLink":"Создать ссылку","undo":"Отменить","fullScreen":"Переключить полноэкранный режим","italic":"Курсив","fontName":"Название шрифта","justifyLeft":"По левому краю","unlink":"Удалить ссылку","toggleTableBorder":"Переключить рамку таблицы","viewSource":"Показать исходный код HTML","fontSize":"Размер шрифта","systemShortcut":"Действие \"${0}\" можно выполнить в браузере только путем нажатия клавиш ${1}.","indent":"Отступ","redo":"Повторить","strikethrough":"Перечеркивание","justifyFull":"По ширине","justifyCenter":"По центру","hiliteColor":"Цвет фона","deleteTable":"Удалить таблицу","outdent":"Втяжка","cut":"Вырезать","plainFormatBlock":"Стиль абзаца","toggleDir":"Изменить направление","bold":"Полужирный","tabIndent":"Табуляция","justifyRight":"По правому краю","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sk/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sk/FontChoice.js deleted file mode 100644 index afe267bc..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sk/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Žiadny","1":"xx-small","2":"x-small","formatBlock":"Formát","3":"small","4":"medium","5":"large","6":"x-large","7":"xx-large","fantasy":"fantasy","serif":"serif","p":"Odsek","pre":"Predformátované","sans-serif":"sans-serif","fontName":"Písmo","h1":"Hlavička","h2":"Podhlavička","h3":"Pod-podhlavička","monospace":"monospace","fontSize":"Veľkosť","cursive":"cursive"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sk/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sk/LinkDialog.js deleted file mode 100644 index 75d0f885..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sk/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Opis:","insertImageTitle":"Vlastnosti obrázka ","set":"Nastaviť","newWindow":"Nové okno ","topWindow":"Najvrchnejšie okno ","target":"Cieľ:","createLinkTitle":"Pripojiť vlastnosti","parentWindow":"Rodičovské okno ","currentWindow":"Aktuálne okno ","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sk/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sk/commands.js deleted file mode 100644 index a59975e7..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sk/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Odstrániť formát","copy":"Kopírovať","paste":"Nalepiť","selectAll":"Vybrať všetko","insertOrderedList":"Číslovaný zoznam","insertTable":"Vložiť/upraviť tabuľku","print":"Tlačiť","underline":"Podčiarknuť","foreColor":"Farba popredia","htmlToggle":"Zdroj HTML","formatBlock":"Štýl odseku","newPage":"Nová stránka ","insertHorizontalRule":"Horizontálna čiara","delete":"Vymazať","insertUnorderedList":"Zoznam s odrážkami","tableProp":"Vlastnosť tabuľky","insertImage":"Vložiť obrázok","superscript":"Horný index","subscript":"Dolný index","createLink":"Vytvoriť prepojenie","undo":"Vrátiť späť","fullScreen":"Zobraziť na celú obrazovku","italic":"Kurzíva","fontName":"Názov písma","justifyLeft":"Zarovnať doľava","unlink":"Odstrániť prepojenie","toggleTableBorder":"Prepnúť rámček tabuľky","viewSource":"Zobraziť zdrojový kód HTML ","fontSize":"Veľkosť písma","systemShortcut":"Akcia \"${0}\" je vo vašom prehliadači dostupná len s použitím klávesovej skratky. Použite ${1}.","indent":"Odsadiť","redo":"Znova vykonať","strikethrough":"Prečiarknuť","justifyFull":"Zarovnať podľa okraja","justifyCenter":"Zarovnať na stred","hiliteColor":"Farba pozadia","deleteTable":"Vymazať tabuľku","outdent":"Predsadiť","cut":"Vystrihnúť","plainFormatBlock":"Štýl odseku","toggleDir":"Prepnúť smer","bold":"Tučné písmo","tabIndent":"Odsadenie tabulátora","justifyRight":"Zarovnať doprava","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sl/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sl/FontChoice.js deleted file mode 100644 index e6fe9d30..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sl/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Brez","1":"xx-majhno","2":"x-majhno","formatBlock":"Oblika","3":"majhno","4":"srednje","5":"veliko","6":"x-veliko","7":"xx-veliko","fantasy":"fantasy","serif":"serif","p":"Odstavek","pre":"Vnaprej oblikovan","sans-serif":"sans-serif","fontName":"Pisava","h1":"Naslovni slog","h2":"Podnaslovni slog","h3":"Pod-podnaslovni slog","monospace":"monospace","fontSize":"Velikost","cursive":"cursive"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sl/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sl/LinkDialog.js deleted file mode 100644 index e485a416..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sl/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Opis:","insertImageTitle":"Lastnosti slike","set":"Nastavi","newWindow":"Novo okno","topWindow":"Okno na vrhu","target":"Cilj:","createLinkTitle":"Lastnosti povezave","parentWindow":"Nadrejeno okno","currentWindow":"Trenutno okno","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sl/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sl/commands.js deleted file mode 100644 index e40b8033..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sl/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Odstrani oblikovanje","copy":"Prekopiraj","paste":"Prilepi","selectAll":"Izberi vse","insertOrderedList":"Oštevilčen seznam","insertTable":"Vstavi/uredi tabelo","print":"Natisni","underline":"Podčrtano","foreColor":"Barva ospredja","htmlToggle":"Izvorna koda HTML","formatBlock":"Slog odstavka","newPage":"Nova stran","insertHorizontalRule":"Vodoravno ravnilo","delete":"Izbriši","insertUnorderedList":"Naštevni seznam","tableProp":"Lastnost tabele","insertImage":"Vstavi sliko","superscript":"Nadpisano","subscript":"Podpisano","createLink":"Ustvari povezavo","undo":"Razveljavi","fullScreen":"Preklopi na celozaslonski način","italic":"Ležeče","fontName":"Ime pisave","justifyLeft":"Poravnaj levo","unlink":"Odstrani povezavo","toggleTableBorder":"Preklopi na rob tabele","viewSource":"Prikaži izvorno kodo HTML","fontSize":"Velikost pisave","systemShortcut":"Dejanje \"${0}\" lahko v vašem brskalniku uporabite samo z bližnjico na tipkovnici. Uporabite ${1}.","indent":"Zamik","redo":"Znova uveljavi","strikethrough":"Prečrtano","justifyFull":"Poravnaj obojestransko","justifyCenter":"Poravnaj na sredino","hiliteColor":"Barva ozadja","deleteTable":"Izbriši tabelo","outdent":"Primakni","cut":"Izreži","plainFormatBlock":"Slog odstavka","toggleDir":"Preklopi smer","bold":"Krepko","tabIndent":"Zamik tabulatorja","justifyRight":"Poravnaj desno","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sv/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sv/FontChoice.js deleted file mode 100644 index 0637af9f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sv/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Ingen","1":"mycket, mycket litet","2":"mycket litet","formatBlock":"Format","3":"litet","4":"medelstort","5":"stort","6":"extra stort","7":"extra extra stort","fantasy":"fantasy","serif":"serif","p":"Stycke","pre":"Förformaterat","sans-serif":"sans-serif","fontName":"Teckensnitt","h1":"Rubrik","h2":"Underrubrik","h3":"Underunderrubrik","monospace":"monospace","fontSize":"Storlek","cursive":"kursivt"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sv/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sv/LinkDialog.js deleted file mode 100644 index 80a1259c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sv/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Beskrivning:","insertImageTitle":"Bildegenskaper","set":"Ange","newWindow":"nytt fönster","topWindow":"översta fönstret","target":"Mål:","createLinkTitle":"Länkegenskaper","parentWindow":"överordnat fönster","currentWindow":"aktuellt fönster","url":"URL-adress:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sv/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sv/commands.js deleted file mode 100644 index b571e823..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/sv/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Ta bort format","copy":"Kopiera","paste":"Klistra in","selectAll":"Markera allt","insertOrderedList":"Numrerad lista","insertTable":"Infoga/redigera tabell","print":"Skriv ut","underline":"Understrykning","foreColor":"Förgrundsfärg","htmlToggle":"HTML-källkod","formatBlock":"Styckeformat","newPage":"Ny sida","insertHorizontalRule":"Horisontell linjal","delete":"Ta bort","appleKey":"⌘+${0}","insertUnorderedList":"Punktlista","tableProp":"Tabellegenskap","insertImage":"Infoga bild","superscript":"Upphöjt","subscript":"Nedsänkt","createLink":"Skapa länk","undo":"Ångra","fullScreen":"Växla helskärm","italic":"Kursiv","fontName":"Teckensnittsnamn","justifyLeft":"Vänsterjustera","unlink":"Ta bort länk","toggleTableBorder":"Aktivera/avaktivera tabellram","viewSource":"Visa HTML-kod","ctrlKey":"Ctrl+${0}","fontSize":"Teckenstorlek","systemShortcut":"Åtgärden \"${0}\" är endast tillgänglig i webbläsaren med hjälp av ett kortkommando. Använd ${1}.","indent":"Indrag","redo":"Gör om","strikethrough":"Genomstruken","justifyFull":"Marginaljustera","justifyCenter":"Centrera","hiliteColor":"Bakgrundsfärg","deleteTable":"Ta bort tabell","outdent":"Utdrag","cut":"Klipp ut","plainFormatBlock":"Styckeformat","toggleDir":"Växla riktning","bold":"Fetstil","tabIndent":"Tabbindrag","justifyRight":"Högerjustera"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/th/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/th/FontChoice.js deleted file mode 100644 index 02688efa..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/th/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"ไม่มี","1":"xx-small","2":"x-small","formatBlock":"รูปแบบ","3":"small","4":"medium","5":"large","6":"x-large","7":"xx-large","fantasy":"fantasy","serif":"serif","p":"ย่อหน้า","pre":"การกำหนดรูปแบบล่วงหน้า","sans-serif":"sans-serif","fontName":"ฟอนต์","h1":"ส่วนหัว","h2":"ส่วนหัวย่อย","h3":"ส่วนย่อยของส่วนหัวย่อย","monospace":"monospace","fontSize":"ขนาด","cursive":"cursive"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/th/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/th/LinkDialog.js deleted file mode 100644 index 4d1aeb29..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/th/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"รายละเอียด:","insertImageTitle":"คุณสมบัติอิมเมจ","set":"ตั้งค่า","newWindow":"หน้าต่างใหม่","topWindow":"หน้าต่างบนสุด","target":"เป้าหมาย:","createLinkTitle":"คุณสมบัติลิงก์","parentWindow":"หน้าต่างหลัก","currentWindow":"หน้าต่างปัจจุบัน","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/th/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/th/commands.js deleted file mode 100644 index a98942a8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/th/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"ลบรูปแบบออก","copy":"คัดลอก","paste":"วาง","selectAll":"เลือกทั้งหมด","insertOrderedList":"ลำดับเลข","insertTable":"แทรก/แก้ไขตาราง","print":"พิมพ์","underline":"ขีดเส้นใต้","foreColor":"สีพื้นหน้า","htmlToggle":"ซอร์ส HTML","formatBlock":"ลักษณะย่อหน้า","newPage":"หน้าใหม่","insertHorizontalRule":"ไม้บรรทัดแนวนอน","delete":"ลบ","insertUnorderedList":"หัวข้อย่อย","tableProp":"คุณสมบัติตาราง","insertImage":"แทรกอิมเมจ","superscript":"ตัวยก","subscript":"ตัวห้อย","createLink":"สร้างลิงก์","undo":"เลิกทำ","fullScreen":"สลับจอภาพแบบเต็ม","italic":"ตัวเอียง","fontName":"ชื่อฟอนต์","justifyLeft":"จัดชิดซ้าย","unlink":"ลบลิงก์ออก","toggleTableBorder":"สลับเส้นขอบตาราง","viewSource":"ดูซอร์ส HTML","fontSize":"ขนาดฟอนต์","systemShortcut":"การดำเนินการ\"${0}\" ใช้งานได้เฉพาะกับเบราว์เซอร์ของคุณโดยใช้แป้นพิมพ์ลัด ใช้ ${1}","indent":"เพิ่มการเยื้อง","redo":"ทำซ้ำ","strikethrough":"ขีดทับ","justifyFull":"จัดชิดขอบ","justifyCenter":"จัดกึ่งกลาง","hiliteColor":"สีพื้นหลัง","deleteTable":"ลบตาราง","outdent":"ลดการเยื้อง","cut":"ตัด","plainFormatBlock":"ลักษณะย่อหน้า","toggleDir":"สลับทิศทาง","bold":"ตัวหนา","tabIndent":"เยื้องแท็บ","justifyRight":"จัดชิดขวา","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/tr/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/tr/FontChoice.js deleted file mode 100644 index 28173c92..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/tr/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"Yok","1":"xx-küçük","2":"x-küçük","formatBlock":"Biçim","3":"küçük","4":"orta","5":"büyük","6":"x-büyük","7":"xx-büyük","fantasy":"fantazi","serif":"serif","p":"Paragraf","pre":"Önceden Biçimlendirilmiş","sans-serif":"sans-serif","fontName":"Yazı Tipi","h1":"Başlık","h2":"Alt Başlık","h3":"Alt Alt Başlık","monospace":"tek aralıklı","fontSize":"Boyut","cursive":"el yazısı"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/tr/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/tr/LinkDialog.js deleted file mode 100644 index 64bf3e21..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/tr/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"Açıklama:","insertImageTitle":"Resim Özellikleri","set":"Ayarla","newWindow":"Yeni Pencere","topWindow":"En Üst Pencere","target":"Hedef:","createLinkTitle":"Bağlantı Özellikleri","parentWindow":"Üst Pencere","currentWindow":"Geçerli Pencere","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/tr/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/tr/commands.js deleted file mode 100644 index ed7b66db..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/tr/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"Biçimi Kaldır","copy":"Kopyala","paste":"Yapıştır","selectAll":"Tümünü Seç","insertOrderedList":"Numaralı Liste","insertTable":"Tablo Ekle/Düzenle","print":"Yazdır","underline":"Altı Çizili","foreColor":"Ön Plan Rengi","htmlToggle":"HTML Kaynağı","formatBlock":"Paragraf Stili","newPage":"Yeni Sayfa","insertHorizontalRule":"Yatay Kural","delete":"Sil","insertUnorderedList":"Madde İşaretli Liste","tableProp":"Tablo Özelliği","insertImage":"Resim Ekle","superscript":"Üst Simge","subscript":"Alt Simge","createLink":"Bağlantı Oluştur","undo":"Geri Al","fullScreen":"Tam Ekranı Aç/Kapat","italic":"İtalik","fontName":"Yazı Tipi Adı","justifyLeft":"Sola Hizala","unlink":"Bağlantıyı Kaldır","toggleTableBorder":"Tablo Kenarlığını Göster/Gizle","viewSource":"HTML Kaynağını Görüntüle","fontSize":"Yazı Tipi Boyutu","systemShortcut":"\"${0}\" işlemi yalnızca tarayıcınızda bir klavye kısayoluyla birlikte kullanılabilir. Şunu kullanın: ${1}.","indent":"Girinti","redo":"Yinele","strikethrough":"Üstü Çizili","justifyFull":"Yasla","justifyCenter":"Ortaya Hizala","hiliteColor":"Arka Plan Rengi","deleteTable":"Tabloyu Sil","outdent":"Çıkıntı","cut":"Kes","plainFormatBlock":"Paragraf Stili","toggleDir":"Yönü Değiştir","bold":"Kalın","tabIndent":"Sekme Girintisi","justifyRight":"Sağa Hizala","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh-tw/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh-tw/FontChoice.js deleted file mode 100644 index 00697798..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh-tw/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"無","1":"最小","2":"較小","formatBlock":"格式","3":"小","4":"中","5":"大","6":"較大","7":"最大","fantasy":"Fantasy","serif":"新細明體","p":"段落","pre":"預先格式化","sans-serif":"新細明體","fontName":"字型","h1":"標題","h2":"子標題","h3":"次子標題","monospace":"等寬","fontSize":"大小","cursive":"Cursive"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh-tw/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh-tw/LinkDialog.js deleted file mode 100644 index 949318b4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh-tw/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"說明:","insertImageTitle":"影像內容","set":"設定","newWindow":"新視窗","topWindow":"最上面的視窗","target":"目標:","createLinkTitle":"鏈結內容","parentWindow":"上層視窗","currentWindow":"現行視窗","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh-tw/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh-tw/commands.js deleted file mode 100644 index 17f6fea4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh-tw/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"移除格式","copy":"複製","paste":"貼上","selectAll":"全選","insertOrderedList":"編號清單","insertTable":"插入/編輯表格","print":"列印","underline":"底線","foreColor":"前景顏色","htmlToggle":"HTML 原始檔","formatBlock":"段落樣式","newPage":"新頁面","insertHorizontalRule":"水平尺規","delete":"刪除","insertUnorderedList":"項目符號清單","tableProp":"表格內容","insertImage":"插入影像","superscript":"上標","subscript":"下標","createLink":"建立鏈結","undo":"復原","fullScreen":"切換全螢幕","italic":"斜體","fontName":"字型名稱","justifyLeft":"靠左對齊","unlink":"移除鏈結","toggleTableBorder":"切換表格邊框","viewSource":"檢視 HTML 原始檔","fontSize":"字型大小","systemShortcut":"\"${0}\" 動作在您的瀏覽器中,只能使用鍵盤快速鍵。請使用 ${1}。","indent":"縮排","redo":"重做","strikethrough":"刪除線","justifyFull":"對齊","justifyCenter":"置中對齊","hiliteColor":"背景顏色","deleteTable":"刪除表格","outdent":"凸排","cut":"剪下","plainFormatBlock":"段落樣式","toggleDir":"切換方向","bold":"粗體","tabIndent":"標籤縮排","justifyRight":"靠右對齊","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh/FontChoice.js deleted file mode 100644 index a9850c7f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh/FontChoice.js +++ /dev/null @@ -1 +0,0 @@ -({"noFormat":"无","1":"XXS 号","2":"XS 号","formatBlock":"格式","3":"S 号","4":"M 号","5":"L 号","6":"XL 号","7":"XXL 号","fantasy":"虚线","serif":"有衬线","p":"段落","pre":"预设有格式的","sans-serif":"无衬线","fontName":"字体","h1":"标题","h2":"子标题","h3":"二级子标题","monospace":"等宽字体","fontSize":"大小","cursive":"草书"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh/LinkDialog.js deleted file mode 100644 index 5b5390fb..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh/LinkDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"text":"描述:","insertImageTitle":"图像属性","set":"设置","newWindow":"新建窗口","topWindow":"顶层窗口","target":"目标:","createLinkTitle":"链接属性","parentWindow":"父窗口","currentWindow":"当前窗口","url":"URL:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh/commands.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh/commands.js deleted file mode 100644 index 11763dfc..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/nls/zh/commands.js +++ /dev/null @@ -1 +0,0 @@ -({"removeFormat":"除去格式","copy":"复制","paste":"粘贴","selectAll":"全选","insertOrderedList":"编号列表","insertTable":"插入/编辑表","print":"打印","underline":"下划线","foreColor":"前景色","htmlToggle":"HTML 源代码","formatBlock":"段落样式","newPage":"新建页面","insertHorizontalRule":"水平线","delete":"删除","insertUnorderedList":"符号列表","tableProp":"表属性","insertImage":"插入图像","superscript":"上标","subscript":"下标","createLink":"创建链接","undo":"撤销","fullScreen":"切换全屏幕","italic":"斜体","fontName":"字体名称","justifyLeft":"左对齐","unlink":"除去链接","toggleTableBorder":"切换表边框","viewSource":"查看 HTML 源代码","fontSize":"字体大小","systemShortcut":"只能在浏览器中通过键盘快捷方式执行“${0}”操作。使用 ${1}。","indent":"增加缩进","redo":"重做","strikethrough":"删除线","justifyFull":"对齐","justifyCenter":"居中","hiliteColor":"背景色","deleteTable":"删除表","outdent":"减少缩进","cut":"剪切","plainFormatBlock":"段落样式","toggleDir":"固定方向","bold":"粗体","tabIndent":"制表符缩进","justifyRight":"右对齐","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/AlwaysShowToolbar.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/AlwaysShowToolbar.js deleted file mode 100644 index eeeef446..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/AlwaysShowToolbar.js +++ /dev/null @@ -1,120 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._editor.plugins.AlwaysShowToolbar"]){ -dojo._hasResource["dijit._editor.plugins.AlwaysShowToolbar"]=true; -dojo.provide("dijit._editor.plugins.AlwaysShowToolbar"); -dojo.require("dijit._editor._Plugin"); -dojo.declare("dijit._editor.plugins.AlwaysShowToolbar",dijit._editor._Plugin,{_handleScroll:true,setEditor:function(e){ -if(!e.iframe){ -return; -} -this.editor=e; -e.onLoadDeferred.addCallback(dojo.hitch(this,this.enable)); -},enable:function(d){ -this._updateHeight(); -this.connect(window,"onscroll","globalOnScrollHandler"); -this.connect(this.editor,"onNormalizedDisplayChanged","_updateHeight"); -return d; -},_updateHeight:function(){ -var e=this.editor; -if(!e.isLoaded){ -return; -} -if(e.height){ -return; -} -var _1=dojo._getMarginSize(e.editNode).h; -if(dojo.isOpera){ -_1=e.editNode.scrollHeight; -} -if(!_1){ -_1=dojo._getMarginSize(e.document.body).h; -} -if(_1==0){ -return; -} -if(dojo.isIE<=7&&this.editor.minHeight){ -var _2=parseInt(this.editor.minHeight); -if(_1<_2){ -_1=_2; -} -} -if(_1!=this._lastHeight){ -this._lastHeight=_1; -dojo.marginBox(e.iframe,{h:this._lastHeight}); -} -},_lastHeight:0,globalOnScrollHandler:function(){ -var _3=dojo.isIE<7; -if(!this._handleScroll){ -return; -} -var _4=this.editor.header; -var db=dojo.body; -if(!this._scrollSetUp){ -this._scrollSetUp=true; -this._scrollThreshold=dojo.position(_4,true).y; -} -var _5=dojo._docScroll().y; -var s=_4.style; -if(_5>this._scrollThreshold&&_5<this._scrollThreshold+this._lastHeight){ -if(!this._fixEnabled){ -var _6=dojo._getMarginSize(_4); -this.editor.iframe.style.marginTop=_6.h+"px"; -if(_3){ -s.left=dojo.position(_4).x; -if(_4.previousSibling){ -this._IEOriginalPos=["after",_4.previousSibling]; -}else{ -if(_4.nextSibling){ -this._IEOriginalPos=["before",_4.nextSibling]; -}else{ -this._IEOriginalPos=["last",_4.parentNode]; -} -} -dojo.body().appendChild(_4); -dojo.addClass(_4,"dijitIEFixedToolbar"); -}else{ -s.position="fixed"; -s.top="0px"; -} -dojo.marginBox(_4,{w:_6.w}); -s.zIndex=2000; -this._fixEnabled=true; -} -var _7=(this.height)?parseInt(this.editor.height):this.editor._lastHeight; -s.display=(_5>this._scrollThreshold+_7)?"none":""; -}else{ -if(this._fixEnabled){ -this.editor.iframe.style.marginTop=""; -s.position=""; -s.top=""; -s.zIndex=""; -s.display=""; -if(_3){ -s.left=""; -dojo.removeClass(_4,"dijitIEFixedToolbar"); -if(this._IEOriginalPos){ -dojo.place(_4,this._IEOriginalPos[1],this._IEOriginalPos[0]); -this._IEOriginalPos=null; -}else{ -dojo.place(_4,this.editor.iframe,"before"); -} -} -s.width=""; -this._fixEnabled=false; -} -} -},destroy:function(){ -this._IEOriginalPos=null; -this._handleScroll=false; -dojo.forEach(this._connects,dojo.disconnect); -if(dojo.isIE<7){ -dojo.removeClass(this.editor.header,"dijitIEFixedToolbar"); -} -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/EnterKeyHandling.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/EnterKeyHandling.js deleted file mode 100644 index a183ed32..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/EnterKeyHandling.js +++ /dev/null @@ -1,426 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._editor.plugins.EnterKeyHandling"]){ -dojo._hasResource["dijit._editor.plugins.EnterKeyHandling"]=true; -dojo.provide("dijit._editor.plugins.EnterKeyHandling"); -dojo.require("dojo.window"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit._editor.range"); -dojo.declare("dijit._editor.plugins.EnterKeyHandling",dijit._editor._Plugin,{blockNodeForEnter:"BR",constructor:function(_1){ -if(_1){ -if("blockNodeForEnter" in _1){ -_1.blockNodeForEnter=_1.blockNodeForEnter.toUpperCase(); -} -dojo.mixin(this,_1); -} -},setEditor:function(_2){ -if(this.editor===_2){ -return; -} -this.editor=_2; -if(this.blockNodeForEnter=="BR"){ -this.editor.customUndo=true; -_2.onLoadDeferred.addCallback(dojo.hitch(this,function(d){ -this.connect(_2.document,"onkeypress",function(e){ -if(e.charOrCode==dojo.keys.ENTER){ -var ne=dojo.mixin({},e); -ne.shiftKey=true; -if(!this.handleEnterKey(ne)){ -dojo.stopEvent(e); -} -} -}); -return d; -})); -}else{ -if(this.blockNodeForEnter){ -var h=dojo.hitch(this,this.handleEnterKey); -_2.addKeyHandler(13,0,0,h); -_2.addKeyHandler(13,0,1,h); -this.connect(this.editor,"onKeyPressed","onKeyPressed"); -} -} -},onKeyPressed:function(e){ -if(this._checkListLater){ -if(dojo.withGlobal(this.editor.window,"isCollapsed",dijit)){ -var _3=dojo.withGlobal(this.editor.window,"getAncestorElement",dijit._editor.selection,["LI"]); -if(!_3){ -dijit._editor.RichText.prototype.execCommand.call(this.editor,"formatblock",this.blockNodeForEnter); -var _4=dojo.withGlobal(this.editor.window,"getAncestorElement",dijit._editor.selection,[this.blockNodeForEnter]); -if(_4){ -_4.innerHTML=this.bogusHtmlContent; -if(dojo.isIE){ -var r=this.editor.document.selection.createRange(); -r.move("character",-1); -r.select(); -} -}else{ -console.error("onKeyPressed: Cannot find the new block node"); -} -}else{ -if(dojo.isMoz){ -if(_3.parentNode.parentNode.nodeName=="LI"){ -_3=_3.parentNode.parentNode; -} -} -var fc=_3.firstChild; -if(fc&&fc.nodeType==1&&(fc.nodeName=="UL"||fc.nodeName=="OL")){ -_3.insertBefore(fc.ownerDocument.createTextNode(" "),fc); -var _5=dijit.range.create(this.editor.window); -_5.setStart(_3.firstChild,0); -var _6=dijit.range.getSelection(this.editor.window,true); -_6.removeAllRanges(); -_6.addRange(_5); -} -} -} -this._checkListLater=false; -} -if(this._pressedEnterInBlock){ -if(this._pressedEnterInBlock.previousSibling){ -this.removeTrailingBr(this._pressedEnterInBlock.previousSibling); -} -delete this._pressedEnterInBlock; -} -},bogusHtmlContent:" ",blockNodes:/^(?:P|H1|H2|H3|H4|H5|H6|LI)$/,handleEnterKey:function(e){ -var _7,_8,_9,_a,_b,_c,_d=this.editor.document,br,rs,_e; -if(e.shiftKey){ -var _f=dojo.withGlobal(this.editor.window,"getParentElement",dijit._editor.selection); -var _10=dijit.range.getAncestor(_f,this.blockNodes); -if(_10){ -if(_10.tagName=="LI"){ -return true; -} -_7=dijit.range.getSelection(this.editor.window); -_8=_7.getRangeAt(0); -if(!_8.collapsed){ -_8.deleteContents(); -_7=dijit.range.getSelection(this.editor.window); -_8=_7.getRangeAt(0); -} -if(dijit.range.atBeginningOfContainer(_10,_8.startContainer,_8.startOffset)){ -br=_d.createElement("br"); -_9=dijit.range.create(this.editor.window); -_10.insertBefore(br,_10.firstChild); -_9.setStartBefore(br.nextSibling); -_7.removeAllRanges(); -_7.addRange(_9); -}else{ -if(dijit.range.atEndOfContainer(_10,_8.startContainer,_8.startOffset)){ -_9=dijit.range.create(this.editor.window); -br=_d.createElement("br"); -_10.appendChild(br); -_10.appendChild(_d.createTextNode(" ")); -_9.setStart(_10.lastChild,0); -_7.removeAllRanges(); -_7.addRange(_9); -}else{ -rs=_8.startContainer; -if(rs&&rs.nodeType==3){ -_e=rs.nodeValue; -dojo.withGlobal(this.editor.window,function(){ -_a=_d.createTextNode(_e.substring(0,_8.startOffset)); -_b=_d.createTextNode(_e.substring(_8.startOffset)); -_c=_d.createElement("br"); -if(_b.nodeValue==""&&dojo.isWebKit){ -_b=_d.createTextNode(" "); -} -dojo.place(_a,rs,"after"); -dojo.place(_c,_a,"after"); -dojo.place(_b,_c,"after"); -dojo.destroy(rs); -_9=dijit.range.create(dojo.gobal); -_9.setStart(_b,0); -_7.removeAllRanges(); -_7.addRange(_9); -}); -return false; -} -return true; -} -} -}else{ -_7=dijit.range.getSelection(this.editor.window); -if(_7.rangeCount){ -_8=_7.getRangeAt(0); -if(_8&&_8.startContainer){ -if(!_8.collapsed){ -_8.deleteContents(); -_7=dijit.range.getSelection(this.editor.window); -_8=_7.getRangeAt(0); -} -rs=_8.startContainer; -if(rs&&rs.nodeType==3){ -dojo.withGlobal(this.editor.window,dojo.hitch(this,function(){ -var _11=false; -var _12=_8.startOffset; -if(rs.length<_12){ -ret=this._adjustNodeAndOffset(rs,_12); -rs=ret.node; -_12=ret.offset; -} -_e=rs.nodeValue; -_a=_d.createTextNode(_e.substring(0,_12)); -_b=_d.createTextNode(_e.substring(_12)); -_c=_d.createElement("br"); -if(!_b.length){ -_b=_d.createTextNode(" "); -_11=true; -} -if(_a.length){ -dojo.place(_a,rs,"after"); -}else{ -_a=rs; -} -dojo.place(_c,_a,"after"); -dojo.place(_b,_c,"after"); -dojo.destroy(rs); -_9=dijit.range.create(dojo.gobal); -_9.setStart(_b,0); -_9.setEnd(_b,_b.length); -_7.removeAllRanges(); -_7.addRange(_9); -if(_11&&!dojo.isWebKit){ -dijit._editor.selection.remove(); -}else{ -dijit._editor.selection.collapse(true); -} -})); -}else{ -dojo.withGlobal(this.editor.window,dojo.hitch(this,function(){ -var _13=_d.createElement("br"); -rs.appendChild(_13); -var _14=_d.createTextNode(" "); -rs.appendChild(_14); -_9=dijit.range.create(dojo.global); -_9.setStart(_14,0); -_9.setEnd(_14,_14.length); -_7.removeAllRanges(); -_7.addRange(_9); -dijit._editor.selection.collapse(true); -})); -} -} -}else{ -dijit._editor.RichText.prototype.execCommand.call(this.editor,"inserthtml","<br>"); -} -} -return false; -} -var _15=true; -_7=dijit.range.getSelection(this.editor.window); -_8=_7.getRangeAt(0); -if(!_8.collapsed){ -_8.deleteContents(); -_7=dijit.range.getSelection(this.editor.window); -_8=_7.getRangeAt(0); -} -var _16=dijit.range.getBlockAncestor(_8.endContainer,null,this.editor.editNode); -var _17=_16.blockNode; -if((this._checkListLater=(_17&&(_17.nodeName=="LI"||_17.parentNode.nodeName=="LI")))){ -if(dojo.isMoz){ -this._pressedEnterInBlock=_17; -} -if(/^(\s| |\xA0|<span\b[^>]*\bclass=['"]Apple-style-span['"][^>]*>(\s| |\xA0)<\/span>)?(<br>)?$/.test(_17.innerHTML)){ -_17.innerHTML=""; -if(dojo.isWebKit){ -_9=dijit.range.create(this.editor.window); -_9.setStart(_17,0); -_7.removeAllRanges(); -_7.addRange(_9); -} -this._checkListLater=false; -} -return true; -} -if(!_16.blockNode||_16.blockNode===this.editor.editNode){ -try{ -dijit._editor.RichText.prototype.execCommand.call(this.editor,"formatblock",this.blockNodeForEnter); -} -catch(e2){ -} -_16={blockNode:dojo.withGlobal(this.editor.window,"getAncestorElement",dijit._editor.selection,[this.blockNodeForEnter]),blockContainer:this.editor.editNode}; -if(_16.blockNode){ -if(_16.blockNode!=this.editor.editNode&&(!(_16.blockNode.textContent||_16.blockNode.innerHTML).replace(/^\s+|\s+$/g,"").length)){ -this.removeTrailingBr(_16.blockNode); -return false; -} -}else{ -_16.blockNode=this.editor.editNode; -} -_7=dijit.range.getSelection(this.editor.window); -_8=_7.getRangeAt(0); -} -var _18=_d.createElement(this.blockNodeForEnter); -_18.innerHTML=this.bogusHtmlContent; -this.removeTrailingBr(_16.blockNode); -var _19=_8.endOffset; -var _1a=_8.endContainer; -if(_1a.length<_19){ -var ret=this._adjustNodeAndOffset(_1a,_19); -_1a=ret.node; -_19=ret.offset; -} -if(dijit.range.atEndOfContainer(_16.blockNode,_1a,_19)){ -if(_16.blockNode===_16.blockContainer){ -_16.blockNode.appendChild(_18); -}else{ -dojo.place(_18,_16.blockNode,"after"); -} -_15=false; -_9=dijit.range.create(this.editor.window); -_9.setStart(_18,0); -_7.removeAllRanges(); -_7.addRange(_9); -if(this.editor.height){ -dojo.window.scrollIntoView(_18); -} -}else{ -if(dijit.range.atBeginningOfContainer(_16.blockNode,_8.startContainer,_8.startOffset)){ -dojo.place(_18,_16.blockNode,_16.blockNode===_16.blockContainer?"first":"before"); -if(_18.nextSibling&&this.editor.height){ -_9=dijit.range.create(this.editor.window); -_9.setStart(_18.nextSibling,0); -_7.removeAllRanges(); -_7.addRange(_9); -dojo.window.scrollIntoView(_18.nextSibling); -} -_15=false; -}else{ -if(_16.blockNode===_16.blockContainer){ -_16.blockNode.appendChild(_18); -}else{ -dojo.place(_18,_16.blockNode,"after"); -} -_15=false; -if(_16.blockNode.style){ -if(_18.style){ -if(_16.blockNode.style.cssText){ -_18.style.cssText=_16.blockNode.style.cssText; -} -} -} -rs=_8.startContainer; -var _1b; -if(rs&&rs.nodeType==3){ -var _1c,_1d; -_19=_8.endOffset; -if(rs.length<_19){ -ret=this._adjustNodeAndOffset(rs,_19); -rs=ret.node; -_19=ret.offset; -} -_e=rs.nodeValue; -_a=_d.createTextNode(_e.substring(0,_19)); -_b=_d.createTextNode(_e.substring(_19,_e.length)); -dojo.place(_a,rs,"before"); -dojo.place(_b,rs,"after"); -dojo.destroy(rs); -var _1e=_a.parentNode; -while(_1e!==_16.blockNode){ -var tg=_1e.tagName; -var _1f=_d.createElement(tg); -if(_1e.style){ -if(_1f.style){ -if(_1e.style.cssText){ -_1f.style.cssText=_1e.style.cssText; -} -} -} -if(_1e.tagName==="FONT"){ -if(_1e.color){ -_1f.color=_1e.color; -} -if(_1e.face){ -_1f.face=_1e.face; -} -if(_1e.size){ -_1f.size=_1e.size; -} -} -_1c=_b; -while(_1c){ -_1d=_1c.nextSibling; -_1f.appendChild(_1c); -_1c=_1d; -} -dojo.place(_1f,_1e,"after"); -_a=_1e; -_b=_1f; -_1e=_1e.parentNode; -} -_1c=_b; -if(_1c.nodeType==1||(_1c.nodeType==3&&_1c.nodeValue)){ -_18.innerHTML=""; -} -_1b=_1c; -while(_1c){ -_1d=_1c.nextSibling; -_18.appendChild(_1c); -_1c=_1d; -} -} -_9=dijit.range.create(this.editor.window); -var _20; -var _21=_1b; -if(this.blockNodeForEnter!=="BR"){ -while(_21){ -_20=_21; -_1d=_21.firstChild; -_21=_1d; -} -if(_20&&_20.parentNode){ -_18=_20.parentNode; -_9.setStart(_18,0); -_7.removeAllRanges(); -_7.addRange(_9); -if(this.editor.height){ -dijit.scrollIntoView(_18); -} -if(dojo.isMoz){ -this._pressedEnterInBlock=_16.blockNode; -} -}else{ -_15=true; -} -}else{ -_9.setStart(_18,0); -_7.removeAllRanges(); -_7.addRange(_9); -if(this.editor.height){ -dijit.scrollIntoView(_18); -} -if(dojo.isMoz){ -this._pressedEnterInBlock=_16.blockNode; -} -} -} -} -return _15; -},_adjustNodeAndOffset:function(_22,_23){ -while(_22.length<_23&&_22.nextSibling&&_22.nextSibling.nodeType==3){ -_23=_23-_22.length; -_22=_22.nextSibling; -} -var ret={"node":_22,"offset":_23}; -return ret; -},removeTrailingBr:function(_24){ -var _25=/P|DIV|LI/i.test(_24.tagName)?_24:dijit._editor.selection.getParentOfType(_24,["P","DIV","LI"]); -if(!_25){ -return; -} -if(_25.lastChild){ -if((_25.childNodes.length>1&&_25.lastChild.nodeType==3&&/^[\s\xAD]*$/.test(_25.lastChild.nodeValue))||_25.lastChild.tagName=="BR"){ -dojo.destroy(_25.lastChild); -} -} -if(!_25.childNodes.length){ -_25.innerHTML=this.bogusHtmlContent; -} -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/FontChoice.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/FontChoice.js deleted file mode 100644 index 27be45d8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/FontChoice.js +++ /dev/null @@ -1,269 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._editor.plugins.FontChoice"]){ -dojo._hasResource["dijit._editor.plugins.FontChoice"]=true; -dojo.provide("dijit._editor.plugins.FontChoice"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit._editor.range"); -dojo.require("dijit._editor.selection"); -dojo.require("dijit.form.FilteringSelect"); -dojo.require("dojo.data.ItemFileReadStore"); -dojo.require("dojo.i18n"); -dojo.requireLocalization("dijit._editor","FontChoice",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dijit._editor.plugins._FontDropDown",[dijit._Widget,dijit._Templated],{label:"",widgetsInTemplate:true,plainText:false,templateString:"<span style='white-space: nowrap' class='dijit dijitReset dijitInline'>"+"<label class='dijitLeft dijitInline' for='${selectId}'>${label}</label>"+"<input dojoType='dijit.form.FilteringSelect' required='false' labelType='html' labelAttr='label' searchAttr='name' "+"tabIndex='-1' id='${selectId}' dojoAttachPoint='select' value=''/>"+"</span>",postMixInProperties:function(){ -this.inherited(arguments); -this.strings=dojo.i18n.getLocalization("dijit._editor","FontChoice"); -this.label=this.strings[this.command]; -this.id=dijit.getUniqueId(this.declaredClass.replace(/\./g,"_")); -this.selectId=this.id+"_select"; -this.inherited(arguments); -},postCreate:function(){ -var _1=dojo.map(this.values,function(_2){ -var _3=this.strings[_2]||_2; -return {label:this.getLabel(_2,_3),name:_3,value:_2}; -},this); -this.select.store=new dojo.data.ItemFileReadStore({data:{identifier:"value",items:_1}}); -this.select.set("value","",false); -this.disabled=this.select.get("disabled"); -},_setValueAttr:function(_4,_5){ -_5=_5!==false?true:false; -this.select.set("value",dojo.indexOf(this.values,_4)<0?"":_4,_5); -if(!_5){ -this.select._lastValueReported=null; -} -},_getValueAttr:function(){ -return this.select.get("value"); -},focus:function(){ -this.select.focus(); -},_setDisabledAttr:function(_6){ -this.disabled=_6; -this.select.set("disabled",_6); -}}); -dojo.declare("dijit._editor.plugins._FontNameDropDown",dijit._editor.plugins._FontDropDown,{generic:false,command:"fontName",postMixInProperties:function(){ -if(!this.values){ -this.values=this.generic?["serif","sans-serif","monospace","cursive","fantasy"]:["Arial","Times New Roman","Comic Sans MS","Courier New"]; -} -this.inherited(arguments); -},getLabel:function(_7,_8){ -if(this.plainText){ -return _8; -}else{ -return "<div style='font-family: "+_7+"'>"+_8+"</div>"; -} -},_setValueAttr:function(_9,_a){ -_a=_a!==false?true:false; -if(this.generic){ -var _b={"Arial":"sans-serif","Helvetica":"sans-serif","Myriad":"sans-serif","Times":"serif","Times New Roman":"serif","Comic Sans MS":"cursive","Apple Chancery":"cursive","Courier":"monospace","Courier New":"monospace","Papyrus":"fantasy"}; -_9=_b[_9]||_9; -} -this.inherited(arguments,[_9,_a]); -}}); -dojo.declare("dijit._editor.plugins._FontSizeDropDown",dijit._editor.plugins._FontDropDown,{command:"fontSize",values:[1,2,3,4,5,6,7],getLabel:function(_c,_d){ -if(this.plainText){ -return _d; -}else{ -return "<font size="+_c+"'>"+_d+"</font>"; -} -},_setValueAttr:function(_e,_f){ -_f=_f!==false?true:false; -if(_e.indexOf&&_e.indexOf("px")!=-1){ -var _10=parseInt(_e,10); -_e={10:1,13:2,16:3,18:4,24:5,32:6,48:7}[_10]||_e; -} -this.inherited(arguments,[_e,_f]); -}}); -dojo.declare("dijit._editor.plugins._FormatBlockDropDown",dijit._editor.plugins._FontDropDown,{command:"formatBlock",values:["noFormat","p","h1","h2","h3","pre"],postCreate:function(){ -this.inherited(arguments); -this.set("value","noFormat",false); -},getLabel:function(_11,_12){ -if(this.plainText||_11=="noFormat"){ -return _12; -}else{ -return "<"+_11+">"+_12+"</"+_11+">"; -} -},_execCommand:function(_13,_14,_15){ -if(_15==="noFormat"){ -var _16; -var end; -var sel=dijit.range.getSelection(_13.window); -if(sel&&sel.rangeCount>0){ -var _17=sel.getRangeAt(0); -var _18,tag; -if(_17){ -_16=_17.startContainer; -end=_17.endContainer; -while(_16&&_16!==_13.editNode&&_16!==_13.document.body&&_16.nodeType!==1){ -_16=_16.parentNode; -} -while(end&&end!==_13.editNode&&end!==_13.document.body&&end.nodeType!==1){ -end=end.parentNode; -} -var _19=dojo.hitch(this,function(_1a,_1b){ -if(_1a.childNodes&&_1a.childNodes.length){ -var i; -for(i=0;i<_1a.childNodes.length;i++){ -var c=_1a.childNodes[i]; -if(c.nodeType==1){ -if(dojo.withGlobal(_13.window,"inSelection",dijit._editor.selection,[c])){ -var tag=c.tagName?c.tagName.toLowerCase():""; -if(dojo.indexOf(this.values,tag)!==-1){ -_1b.push(c); -} -_19(c,_1b); -} -} -} -} -}); -var _1c=dojo.hitch(this,function(_1d){ -if(_1d&&_1d.length){ -_13.beginEditing(); -while(_1d.length){ -this._removeFormat(_13,_1d.pop()); -} -_13.endEditing(); -} -}); -var _1e=[]; -if(_16==end){ -var _1f; -_18=_16; -while(_18&&_18!==_13.editNode&&_18!==_13.document.body){ -if(_18.nodeType==1){ -tag=_18.tagName?_18.tagName.toLowerCase():""; -if(dojo.indexOf(this.values,tag)!==-1){ -_1f=_18; -break; -} -} -_18=_18.parentNode; -} -_19(_16,_1e); -if(_1f){ -_1e=[_1f].concat(_1e); -} -_1c(_1e); -}else{ -_18=_16; -while(dojo.withGlobal(_13.window,"inSelection",dijit._editor.selection,[_18])){ -if(_18.nodeType==1){ -tag=_18.tagName?_18.tagName.toLowerCase():""; -if(dojo.indexOf(this.values,tag)!==-1){ -_1e.push(_18); -} -_19(_18,_1e); -} -_18=_18.nextSibling; -} -_1c(_1e); -} -_13.onDisplayChanged(); -} -} -}else{ -_13.execCommand(_14,_15); -} -},_removeFormat:function(_20,_21){ -if(_20.customUndo){ -while(_21.firstChild){ -dojo.place(_21.firstChild,_21,"before"); -} -_21.parentNode.removeChild(_21); -}else{ -dojo.withGlobal(_20.window,"selectElementChildren",dijit._editor.selection,[_21]); -var _22=dojo.withGlobal(_20.window,"getSelectedHtml",dijit._editor.selection,[null]); -dojo.withGlobal(_20.window,"selectElement",dijit._editor.selection,[_21]); -_20.execCommand("inserthtml",_22||""); -} -}}); -dojo.declare("dijit._editor.plugins.FontChoice",dijit._editor._Plugin,{useDefaultCommand:false,_initButton:function(){ -var _23={fontName:dijit._editor.plugins._FontNameDropDown,fontSize:dijit._editor.plugins._FontSizeDropDown,formatBlock:dijit._editor.plugins._FormatBlockDropDown}[this.command],_24=this.params; -if(this.params.custom){ -_24.values=this.params.custom; -} -var _25=this.editor; -this.button=new _23(dojo.delegate({dir:_25.dir,lang:_25.lang},_24)); -this.connect(this.button.select,"onChange",function(_26){ -this.editor.focus(); -if(this.command=="fontName"&&_26.indexOf(" ")!=-1){ -_26="'"+_26+"'"; -} -if(this.button._execCommand){ -this.button._execCommand(this.editor,this.command,_26); -}else{ -this.editor.execCommand(this.command,_26); -} -}); -},updateState:function(){ -var _27=this.editor; -var _28=this.command; -if(!_27||!_27.isLoaded||!_28.length){ -return; -} -if(this.button){ -var _29=this.get("disabled"); -this.button.set("disabled",_29); -if(_29){ -return; -} -var _2a; -try{ -_2a=_27.queryCommandValue(_28)||""; -} -catch(e){ -_2a=""; -} -var _2b=dojo.isString(_2a)&&_2a.match(/'([^']*)'/); -if(_2b){ -_2a=_2b[1]; -} -if(_28==="formatBlock"){ -if(!_2a||_2a=="p"){ -_2a=null; -var _2c; -var sel=dijit.range.getSelection(this.editor.window); -if(sel&&sel.rangeCount>0){ -var _2d=sel.getRangeAt(0); -if(_2d){ -_2c=_2d.endContainer; -} -} -while(_2c&&_2c!==_27.editNode&&_2c!==_27.document){ -var tg=_2c.tagName?_2c.tagName.toLowerCase():""; -if(tg&&dojo.indexOf(this.button.values,tg)>-1){ -_2a=tg; -break; -} -_2c=_2c.parentNode; -} -if(!_2a){ -_2a="noFormat"; -} -}else{ -if(dojo.indexOf(this.button.values,_2a)<0){ -_2a="noFormat"; -} -} -} -if(_2a!==this.button.get("value")){ -this.button.set("value",_2a,false); -} -} -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -switch(o.args.name){ -case "fontName": -case "fontSize": -case "formatBlock": -o.plugin=new dijit._editor.plugins.FontChoice({command:o.args.name,plainText:o.args.plainText?o.args.plainText:false}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/FullScreen.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/FullScreen.js deleted file mode 100644 index 47cd419c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/FullScreen.js +++ /dev/null @@ -1,234 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._editor.plugins.FullScreen"]){ -dojo._hasResource["dijit._editor.plugins.FullScreen"]=true; -dojo.provide("dijit._editor.plugins.FullScreen"); -dojo.require("dojo.window"); -dojo.require("dojo.i18n"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit.form.Button"); -dojo.requireLocalization("dijit._editor","commands",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dijit._editor.plugins.FullScreen",dijit._editor._Plugin,{zIndex:500,_origState:null,_origiFrameState:null,_resizeHandle:null,isFullscreen:false,toggle:function(){ -this.button.set("checked",!this.button.get("checked")); -},_initButton:function(){ -var _1=dojo.i18n.getLocalization("dijit._editor","commands"),_2=this.editor; -this.button=new dijit.form.ToggleButton({label:_1["fullScreen"],dir:_2.dir,lang:_2.lang,showLabel:false,iconClass:this.iconClassPrefix+" "+this.iconClassPrefix+"FullScreen",tabIndex:"-1",onChange:dojo.hitch(this,"_setFullScreen")}); -},setEditor:function(_3){ -this.editor=_3; -this._initButton(); -this.editor.addKeyHandler(dojo.keys.F11,true,true,dojo.hitch(this,function(e){ -this.toggle(); -dojo.stopEvent(e); -setTimeout(dojo.hitch(this,function(){ -this.editor.focus(); -}),250); -return true; -})); -this.connect(this.editor.domNode,"onkeydown","_containFocus"); -},_containFocus:function(e){ -if(this.isFullscreen){ -var ed=this.editor; -if(!ed.isTabIndent&&ed._fullscreen_oldOnKeyDown&&e.keyCode===dojo.keys.TAB){ -var f=dijit.getFocus(); -var _4=this._getAltViewNode(); -if(f.node==ed.iframe||(_4&&f.node===_4)){ -setTimeout(dojo.hitch(this,function(){ -ed.toolbar.focus(); -}),10); -}else{ -if(_4&&dojo.style(ed.iframe,"display")==="none"){ -setTimeout(dojo.hitch(this,function(){ -dijit.focus(_4); -}),10); -}else{ -setTimeout(dojo.hitch(this,function(){ -ed.focus(); -}),10); -} -} -dojo.stopEvent(e); -}else{ -if(ed._fullscreen_oldOnKeyDown){ -ed._fullscreen_oldOnKeyDown(e); -} -} -} -},_resizeEditor:function(){ -var vp=dojo.window.getBox(); -dojo.marginBox(this.editor.domNode,{w:vp.w,h:vp.h}); -var _5=this.editor.getHeaderHeight(); -var _6=this.editor.getFooterHeight(); -var _7=dojo._getPadBorderExtents(this.editor.domNode); -var _8=dojo._getPadBorderExtents(this.editor.iframe.parentNode); -var _9=dojo._getMarginExtents(this.editor.iframe.parentNode); -var _a=vp.h-(_5+_7.h+_6); -dojo.marginBox(this.editor.iframe.parentNode,{h:_a,w:vp.w}); -dojo.marginBox(this.editor.iframe,{h:_a-(_8.h+_9.h)}); -},_getAltViewNode:function(){ -},_setFullScreen:function(_b){ -var vp=dojo.window.getBox(); -var ed=this.editor; -var _c=dojo.body(); -var _d=ed.domNode.parentNode; -this.isFullscreen=_b; -if(_b){ -while(_d&&_d!==dojo.body()){ -dojo.addClass(_d,"dijitForceStatic"); -_d=_d.parentNode; -} -this._editorResizeHolder=this.editor.resize; -ed.resize=function(){ -}; -ed._fullscreen_oldOnKeyDown=ed.onKeyDown; -ed.onKeyDown=dojo.hitch(this,this._containFocus); -this._origState={}; -this._origiFrameState={}; -var _e=ed.domNode,_f=_e&&_e.style||{}; -this._origState={width:_f.width||"",height:_f.height||"",top:dojo.style(_e,"top")||"",left:dojo.style(_e,"left")||"",position:dojo.style(_e,"position")||"static",marginBox:dojo.marginBox(ed.domNode)}; -var _10=ed.iframe,_11=_10&&_10.style||{}; -var bc=dojo.style(ed.iframe,"backgroundColor"); -this._origiFrameState={backgroundColor:bc||"transparent",width:_11.width||"auto",height:_11.height||"auto",zIndex:_11.zIndex||""}; -dojo.style(ed.domNode,{position:"absolute",top:"0px",left:"0px",zIndex:this.zIndex,width:vp.w+"px",height:vp.h+"px"}); -dojo.style(ed.iframe,{height:"100%",width:"100%",zIndex:this.zIndex,backgroundColor:bc!=="transparent"&&bc!=="rgba(0, 0, 0, 0)"?bc:"white"}); -dojo.style(ed.iframe.parentNode,{height:"95%",width:"100%"}); -if(_c.style&&_c.style.overflow){ -this._oldOverflow=dojo.style(_c,"overflow"); -}else{ -this._oldOverflow=""; -} -if(dojo.isIE&&!dojo.isQuirks){ -if(_c.parentNode&&_c.parentNode.style&&_c.parentNode.style.overflow){ -this._oldBodyParentOverflow=_c.parentNode.style.overflow; -}else{ -try{ -this._oldBodyParentOverflow=dojo.style(_c.parentNode,"overflow"); -} -catch(e){ -this._oldBodyParentOverflow="scroll"; -} -} -dojo.style(_c.parentNode,"overflow","hidden"); -} -dojo.style(_c,"overflow","hidden"); -var _12=function(){ -var vp=dojo.window.getBox(); -if("_prevW" in this&&"_prevH" in this){ -if(vp.w===this._prevW&&vp.h===this._prevH){ -return; -} -}else{ -this._prevW=vp.w; -this._prevH=vp.h; -} -if(this._resizer){ -clearTimeout(this._resizer); -delete this._resizer; -} -this._resizer=setTimeout(dojo.hitch(this,function(){ -delete this._resizer; -this._resizeEditor(); -}),10); -}; -this._resizeHandle=dojo.connect(window,"onresize",this,_12); -this._resizeHandle2=dojo.connect(ed,"resize",dojo.hitch(this,function(){ -if(this._resizer){ -clearTimeout(this._resizer); -delete this._resizer; -} -this._resizer=setTimeout(dojo.hitch(this,function(){ -delete this._resizer; -this._resizeEditor(); -}),10); -})); -this._resizeEditor(); -var dn=this.editor.toolbar.domNode; -setTimeout(function(){ -dojo.window.scrollIntoView(dn); -},250); -}else{ -if(this._resizeHandle){ -dojo.disconnect(this._resizeHandle); -this._resizeHandle=null; -} -if(this._resizeHandle2){ -dojo.disconnect(this._resizeHandle2); -this._resizeHandle2=null; -} -if(this._rst){ -clearTimeout(this._rst); -this._rst=null; -} -while(_d&&_d!==dojo.body()){ -dojo.removeClass(_d,"dijitForceStatic"); -_d=_d.parentNode; -} -if(this._editorResizeHolder){ -this.editor.resize=this._editorResizeHolder; -} -if(!this._origState&&!this._origiFrameState){ -return; -} -if(ed._fullscreen_oldOnKeyDown){ -ed.onKeyDown=ed._fullscreen_oldOnKeyDown; -delete ed._fullscreen_oldOnKeyDown; -} -var _13=this; -setTimeout(function(){ -var mb=_13._origState.marginBox; -var oh=_13._origState.height; -if(dojo.isIE&&!dojo.isQuirks){ -_c.parentNode.style.overflow=_13._oldBodyParentOverflow; -delete _13._oldBodyParentOverflow; -} -dojo.style(_c,"overflow",_13._oldOverflow); -delete _13._oldOverflow; -dojo.style(ed.domNode,_13._origState); -dojo.style(ed.iframe.parentNode,{height:"",width:""}); -dojo.style(ed.iframe,_13._origiFrameState); -delete _13._origState; -delete _13._origiFrameState; -var _14=dijit.getEnclosingWidget(ed.domNode.parentNode); -if(_14&&_14.resize){ -_14.resize(); -}else{ -if(!oh||oh.indexOf("%")<0){ -setTimeout(dojo.hitch(this,function(){ -ed.resize({h:mb.h}); -}),0); -} -} -dojo.window.scrollIntoView(_13.editor.toolbar.domNode); -},100); -} -},updateState:function(){ -this.button.set("disabled",this.get("disabled")); -},destroy:function(){ -if(this._resizeHandle){ -dojo.disconnect(this._resizeHandle); -this._resizeHandle=null; -} -if(this._resizeHandle2){ -dojo.disconnect(this._resizeHandle2); -this._resizeHandle2=null; -} -if(this._resizer){ -clearTimeout(this._resizer); -this._resizer=null; -} -this.inherited(arguments); -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -var _15=o.args.name.toLowerCase(); -if(_15==="fullscreen"){ -o.plugin=new dijit._editor.plugins.FullScreen({zIndex:("zIndex" in o.args)?o.args.zIndex:500}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/LinkDialog.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/LinkDialog.js deleted file mode 100644 index e837fbcc..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/LinkDialog.js +++ /dev/null @@ -1,235 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._editor.plugins.LinkDialog"]){ -dojo._hasResource["dijit._editor.plugins.LinkDialog"]=true; -dojo.provide("dijit._editor.plugins.LinkDialog"); -dojo.require("dijit._Widget"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit.TooltipDialog"); -dojo.require("dijit.form.DropDownButton"); -dojo.require("dijit.form.ValidationTextBox"); -dojo.require("dijit.form.Select"); -dojo.require("dijit._editor.range"); -dojo.require("dojo.i18n"); -dojo.require("dojo.string"); -dojo.requireLocalization("dijit","common",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.requireLocalization("dijit._editor","LinkDialog",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dijit._editor.plugins.LinkDialog",dijit._editor._Plugin,{buttonClass:dijit.form.DropDownButton,useDefaultCommand:false,urlRegExp:"((https?|ftps?|file)\\://|./|/|)(/[a-zA-Z]{1,1}:/|)(((?:(?:[\\da-zA-Z](?:[-\\da-zA-Z]{0,61}[\\da-zA-Z])?)\\.)*(?:[a-zA-Z](?:[-\\da-zA-Z]{0,80}[\\da-zA-Z])?)\\.?)|(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])|(0[xX]0*[\\da-fA-F]?[\\da-fA-F]\\.){3}0[xX]0*[\\da-fA-F]?[\\da-fA-F]|(0+[0-3][0-7][0-7]\\.){3}0+[0-3][0-7][0-7]|(0|[1-9]\\d{0,8}|[1-3]\\d{9}|4[01]\\d{8}|42[0-8]\\d{7}|429[0-3]\\d{6}|4294[0-8]\\d{5}|42949[0-5]\\d{4}|429496[0-6]\\d{3}|4294967[01]\\d{2}|42949672[0-8]\\d|429496729[0-5])|0[xX]0*[\\da-fA-F]{1,8}|([\\da-fA-F]{1,4}\\:){7}[\\da-fA-F]{1,4}|([\\da-fA-F]{1,4}\\:){6}((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])))(\\:\\d+)?(/(?:[^?#\\s/]+/)*(?:[^?#\\s/]{0,}(?:\\?[^?#\\s/]*)?(?:#.*)?)?)?",emailRegExp:"<?(mailto\\:)([!#-'*+\\-\\/-9=?A-Z^-~]+[.])*[!#-'*+\\-\\/-9=?A-Z^-~]+"+"@"+"((?:(?:[\\da-zA-Z](?:[-\\da-zA-Z]{0,61}[\\da-zA-Z])?)\\.)+(?:[a-zA-Z](?:[-\\da-zA-Z]{0,6}[\\da-zA-Z])?)\\.?)|localhost|^[^-][a-zA-Z0-9_-]*>?",htmlTemplate:"<a href=\"${urlInput}\" _djrealurl=\"${urlInput}\""+" target=\"${targetSelect}\""+">${textInput}</a>",tag:"a",_hostRxp:new RegExp("^((([^\\[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^\\[:]*))(:([0-9]+))?$"),_userAtRxp:new RegExp("^([!#-'*+\\-\\/-9=?A-Z^-~]+[.])*[!#-'*+\\-\\/-9=?A-Z^-~]+@","i"),linkDialogTemplate:["<table><tr><td>","<label for='${id}_urlInput'>${url}</label>","</td><td>","<input dojoType='dijit.form.ValidationTextBox' required='true' "+"id='${id}_urlInput' name='urlInput' intermediateChanges='true'/>","</td></tr><tr><td>","<label for='${id}_textInput'>${text}</label>","</td><td>","<input dojoType='dijit.form.ValidationTextBox' required='true' id='${id}_textInput' "+"name='textInput' intermediateChanges='true'/>","</td></tr><tr><td>","<label for='${id}_targetSelect'>${target}</label>","</td><td>","<select id='${id}_targetSelect' name='targetSelect' dojoType='dijit.form.Select'>","<option selected='selected' value='_self'>${currentWindow}</option>","<option value='_blank'>${newWindow}</option>","<option value='_top'>${topWindow}</option>","<option value='_parent'>${parentWindow}</option>","</select>","</td></tr><tr><td colspan='2'>","<button dojoType='dijit.form.Button' type='submit' id='${id}_setButton'>${set}</button>","<button dojoType='dijit.form.Button' type='button' id='${id}_cancelButton'>${buttonCancel}</button>","</td></tr></table>"].join(""),_initButton:function(){ -var _1=this; -this.tag=this.command=="insertImage"?"img":"a"; -var _2=dojo.mixin(dojo.i18n.getLocalization("dijit","common",this.lang),dojo.i18n.getLocalization("dijit._editor","LinkDialog",this.lang)); -var _3=(this.dropDown=new dijit.TooltipDialog({title:_2[this.command+"Title"],execute:dojo.hitch(this,"setValue"),onOpen:function(){ -_1._onOpenDialog(); -dijit.TooltipDialog.prototype.onOpen.apply(this,arguments); -},onCancel:function(){ -setTimeout(dojo.hitch(_1,"_onCloseDialog"),0); -}})); -_2.urlRegExp=this.urlRegExp; -_2.id=dijit.getUniqueId(this.editor.id); -this._uniqueId=_2.id; -this._setContent(_3.title+"<div style='border-bottom: 1px black solid;padding-bottom:2pt;margin-bottom:4pt'></div>"+dojo.string.substitute(this.linkDialogTemplate,_2)); -_3.startup(); -this._urlInput=dijit.byId(this._uniqueId+"_urlInput"); -this._textInput=dijit.byId(this._uniqueId+"_textInput"); -this._setButton=dijit.byId(this._uniqueId+"_setButton"); -this.connect(dijit.byId(this._uniqueId+"_cancelButton"),"onClick",function(){ -this.dropDown.onCancel(); -}); -if(this._urlInput){ -this.connect(this._urlInput,"onChange","_checkAndFixInput"); -} -if(this._textInput){ -this.connect(this._textInput,"onChange","_checkAndFixInput"); -} -this._urlRegExp=new RegExp("^"+this.urlRegExp+"$","i"); -this._emailRegExp=new RegExp("^"+this.emailRegExp+"$","i"); -this._urlInput.isValid=dojo.hitch(this,function(){ -var _4=this._urlInput.get("value"); -return this._urlRegExp.test(_4)||this._emailRegExp.test(_4); -}); -this._connectTagEvents(); -this.inherited(arguments); -},_checkAndFixInput:function(){ -var _5=this; -var _6=this._urlInput.get("value"); -var _7=function(_8){ -var _9=false; -var _a=false; -if(_8&&_8.length>1){ -_8=dojo.trim(_8); -if(_8.indexOf("mailto:")!==0){ -if(_8.indexOf("/")>0){ -if(_8.indexOf("://")===-1){ -if(_8.charAt(0)!=="/"&&_8.indexOf("./")!==0){ -if(_5._hostRxp.test(_8)){ -_9=true; -} -} -} -}else{ -if(_5._userAtRxp.test(_8)){ -_a=true; -} -} -} -} -if(_9){ -_5._urlInput.set("value","http://"+_8); -} -if(_a){ -_5._urlInput.set("value","mailto:"+_8); -} -_5._setButton.set("disabled",!_5._isValid()); -}; -if(this._delayedCheck){ -clearTimeout(this._delayedCheck); -this._delayedCheck=null; -} -this._delayedCheck=setTimeout(function(){ -_7(_6); -},250); -},_connectTagEvents:function(){ -this.editor.onLoadDeferred.addCallback(dojo.hitch(this,function(){ -this.connect(this.editor.editNode,"ondblclick",this._onDblClick); -})); -},_isValid:function(){ -return this._urlInput.isValid()&&this._textInput.isValid(); -},_setContent:function(_b){ -this.dropDown.set({parserScope:"dojo",content:_b}); -},_checkValues:function(_c){ -if(_c&&_c.urlInput){ -_c.urlInput=_c.urlInput.replace(/"/g,"""); -} -return _c; -},setValue:function(_d){ -this._onCloseDialog(); -if(dojo.isIE<9){ -var _e=dijit.range.getSelection(this.editor.window); -var _f=_e.getRangeAt(0); -var a=_f.endContainer; -if(a.nodeType===3){ -a=a.parentNode; -} -if(a&&(a.nodeName&&a.nodeName.toLowerCase()!==this.tag)){ -a=dojo.withGlobal(this.editor.window,"getSelectedElement",dijit._editor.selection,[this.tag]); -} -if(a&&(a.nodeName&&a.nodeName.toLowerCase()===this.tag)){ -if(this.editor.queryCommandEnabled("unlink")){ -dojo.withGlobal(this.editor.window,"selectElementChildren",dijit._editor.selection,[a]); -this.editor.execCommand("unlink"); -} -} -} -_d=this._checkValues(_d); -this.editor.execCommand("inserthtml",dojo.string.substitute(this.htmlTemplate,_d)); -},_onCloseDialog:function(){ -this.editor.focus(); -},_getCurrentValues:function(a){ -var url,_10,_11; -if(a&&a.tagName.toLowerCase()===this.tag){ -url=a.getAttribute("_djrealurl")||a.getAttribute("href"); -_11=a.getAttribute("target")||"_self"; -_10=a.textContent||a.innerText; -dojo.withGlobal(this.editor.window,"selectElement",dijit._editor.selection,[a,true]); -}else{ -_10=dojo.withGlobal(this.editor.window,dijit._editor.selection.getSelectedText); -} -return {urlInput:url||"",textInput:_10||"",targetSelect:_11||""}; -},_onOpenDialog:function(){ -var a; -if(dojo.isIE<9){ -var sel=dijit.range.getSelection(this.editor.window); -var _12=sel.getRangeAt(0); -a=_12.endContainer; -if(a.nodeType===3){ -a=a.parentNode; -} -if(a&&(a.nodeName&&a.nodeName.toLowerCase()!==this.tag)){ -a=dojo.withGlobal(this.editor.window,"getSelectedElement",dijit._editor.selection,[this.tag]); -} -}else{ -a=dojo.withGlobal(this.editor.window,"getAncestorElement",dijit._editor.selection,[this.tag]); -} -this.dropDown.reset(); -this._setButton.set("disabled",true); -this.dropDown.set("value",this._getCurrentValues(a)); -},_onDblClick:function(e){ -if(e&&e.target){ -var t=e.target; -var tg=t.tagName?t.tagName.toLowerCase():""; -if(tg===this.tag&&dojo.attr(t,"href")){ -dojo.withGlobal(this.editor.window,"selectElement",dijit._editor.selection,[t]); -this.editor.onDisplayChanged(); -setTimeout(dojo.hitch(this,function(){ -this.button.set("disabled",false); -this.button.openDropDown(); -}),10); -} -} -}}); -dojo.declare("dijit._editor.plugins.ImgLinkDialog",[dijit._editor.plugins.LinkDialog],{linkDialogTemplate:["<table><tr><td>","<label for='${id}_urlInput'>${url}</label>","</td><td>","<input dojoType='dijit.form.ValidationTextBox' regExp='${urlRegExp}' "+"required='true' id='${id}_urlInput' name='urlInput' intermediateChanges='true'/>","</td></tr><tr><td>","<label for='${id}_textInput'>${text}</label>","</td><td>","<input dojoType='dijit.form.ValidationTextBox' required='false' id='${id}_textInput' "+"name='textInput' intermediateChanges='true'/>","</td></tr><tr><td>","</td><td>","</td></tr><tr><td colspan='2'>","<button dojoType='dijit.form.Button' type='submit' id='${id}_setButton'>${set}</button>","<button dojoType='dijit.form.Button' type='button' id='${id}_cancelButton'>${buttonCancel}</button>","</td></tr></table>"].join(""),htmlTemplate:"<img src=\"${urlInput}\" _djrealurl=\"${urlInput}\" alt=\"${textInput}\" />",tag:"img",_getCurrentValues:function(img){ -var url,_13; -if(img&&img.tagName.toLowerCase()===this.tag){ -url=img.getAttribute("_djrealurl")||img.getAttribute("src"); -_13=img.getAttribute("alt"); -dojo.withGlobal(this.editor.window,"selectElement",dijit._editor.selection,[img,true]); -}else{ -_13=dojo.withGlobal(this.editor.window,dijit._editor.selection.getSelectedText); -} -return {urlInput:url||"",textInput:_13||""}; -},_isValid:function(){ -return this._urlInput.isValid(); -},_connectTagEvents:function(){ -this.inherited(arguments); -this.editor.onLoadDeferred.addCallback(dojo.hitch(this,function(){ -this.connect(this.editor.editNode,"onmousedown",this._selectTag); -})); -},_selectTag:function(e){ -if(e&&e.target){ -var t=e.target; -var tg=t.tagName?t.tagName.toLowerCase():""; -if(tg===this.tag){ -dojo.withGlobal(this.editor.window,"selectElement",dijit._editor.selection,[t]); -} -} -},_checkValues:function(_14){ -if(_14&&_14.urlInput){ -_14.urlInput=_14.urlInput.replace(/"/g,"""); -} -if(_14&&_14.textInput){ -_14.textInput=_14.textInput.replace(/"/g,"""); -} -return _14; -},_onDblClick:function(e){ -if(e&&e.target){ -var t=e.target; -var tg=t.tagName?t.tagName.toLowerCase():""; -if(tg===this.tag&&dojo.attr(t,"src")){ -dojo.withGlobal(this.editor.window,"selectElement",dijit._editor.selection,[t]); -this.editor.onDisplayChanged(); -setTimeout(dojo.hitch(this,function(){ -this.button.set("disabled",false); -this.button.openDropDown(); -}),10); -} -} -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -switch(o.args.name){ -case "createLink": -o.plugin=new dijit._editor.plugins.LinkDialog({command:o.args.name}); -break; -case "insertImage": -o.plugin=new dijit._editor.plugins.ImgLinkDialog({command:o.args.name}); -break; -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/NewPage.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/NewPage.js deleted file mode 100644 index 50826ebd..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/NewPage.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._editor.plugins.NewPage"]){ -dojo._hasResource["dijit._editor.plugins.NewPage"]=true; -dojo.provide("dijit._editor.plugins.NewPage"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit.form.Button"); -dojo.require("dojo.i18n"); -dojo.requireLocalization("dijit._editor","commands",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dijit._editor.plugins.NewPage",dijit._editor._Plugin,{content:"<br>",_initButton:function(){ -var _1=dojo.i18n.getLocalization("dijit._editor","commands"),_2=this.editor; -this.button=new dijit.form.Button({label:_1["newPage"],dir:_2.dir,lang:_2.lang,showLabel:false,iconClass:this.iconClassPrefix+" "+this.iconClassPrefix+"NewPage",tabIndex:"-1",onClick:dojo.hitch(this,"_newPage")}); -},setEditor:function(_3){ -this.editor=_3; -this._initButton(); -},updateState:function(){ -this.button.set("disabled",this.get("disabled")); -},_newPage:function(){ -this.editor.beginEditing(); -this.editor.set("value",this.content); -this.editor.endEditing(); -this.editor.focus(); -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -var _4=o.args.name.toLowerCase(); -if(_4==="newpage"){ -o.plugin=new dijit._editor.plugins.NewPage({content:("content" in o.args)?o.args.content:"<br>"}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/Print.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/Print.js deleted file mode 100644 index 7866a8e7..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/Print.js +++ /dev/null @@ -1,71 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._editor.plugins.Print"]){ -dojo._hasResource["dijit._editor.plugins.Print"]=true; -dojo.provide("dijit._editor.plugins.Print"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit.form.Button"); -dojo.require("dojo.i18n"); -dojo.requireLocalization("dijit._editor","commands",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dijit._editor.plugins.Print",dijit._editor._Plugin,{_initButton:function(){ -var _1=dojo.i18n.getLocalization("dijit._editor","commands"),_2=this.editor; -this.button=new dijit.form.Button({label:_1["print"],dir:_2.dir,lang:_2.lang,showLabel:false,iconClass:this.iconClassPrefix+" "+this.iconClassPrefix+"Print",tabIndex:"-1",onClick:dojo.hitch(this,"_print")}); -},setEditor:function(_3){ -this.editor=_3; -this._initButton(); -this.editor.onLoadDeferred.addCallback(dojo.hitch(this,function(){ -if(!this.editor.iframe.contentWindow["print"]){ -this.button.set("disabled",true); -} -})); -},updateState:function(){ -var _4=this.get("disabled"); -if(!this.editor.iframe.contentWindow["print"]){ -_4=true; -} -this.button.set("disabled",_4); -},_print:function(){ -var _5=this.editor.iframe; -if(_5.contentWindow["print"]){ -if(!dojo.isOpera&&!dojo.isChrome){ -dijit.focus(_5); -_5.contentWindow.print(); -}else{ -var _6=this.editor.document; -var _7=this.editor.get("value"); -_7="<html><head><meta http-equiv='Content-Type' "+"content='text/html; charset='UTF-8'></head><body>"+_7+"</body></html>"; -var _8=window.open("javascript: ''","","status=0,menubar=0,location=0,toolbar=0,"+"width=1,height=1,resizable=0,scrollbars=0"); -_8.document.open(); -_8.document.write(_7); -_8.document.close(); -var _9=[]; -var _a=_6.getElementsByTagName("style"); -if(_a){ -var i; -for(i=0;i<_a.length;i++){ -var _b=_a[i].innerHTML; -var _c=_8.document.createElement("style"); -_c.appendChild(_8.document.createTextNode(_b)); -_8.document.getElementsByTagName("head")[0].appendChild(_c); -} -} -_8.print(); -_8.close(); -} -} -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -var _d=o.args.name.toLowerCase(); -if(_d==="print"){ -o.plugin=new dijit._editor.plugins.Print({command:"print"}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/TabIndent.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/TabIndent.js deleted file mode 100644 index e6f3e30a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/TabIndent.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._editor.plugins.TabIndent"]){ -dojo._hasResource["dijit._editor.plugins.TabIndent"]=true; -dojo.provide("dijit._editor.plugins.TabIndent"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit.form.ToggleButton"); -dojo.experimental("dijit._editor.plugins.TabIndent"); -dojo.declare("dijit._editor.plugins.TabIndent",dijit._editor._Plugin,{useDefaultCommand:false,buttonClass:dijit.form.ToggleButton,command:"tabIndent",_initButton:function(){ -this.inherited(arguments); -var e=this.editor; -this.connect(this.button,"onChange",function(_1){ -e.set("isTabIndent",_1); -}); -this.updateState(); -},updateState:function(){ -var _2=this.get("disabled"); -this.button.set("disabled",_2); -if(_2){ -return; -} -this.button.set("checked",this.editor.isTabIndent,false); -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -switch(o.args.name){ -case "tabIndent": -o.plugin=new dijit._editor.plugins.TabIndent({command:o.args.name}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/TextColor.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/TextColor.js deleted file mode 100644 index 855a2279..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/TextColor.js +++ /dev/null @@ -1,67 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._editor.plugins.TextColor"]){ -dojo._hasResource["dijit._editor.plugins.TextColor"]=true; -dojo.provide("dijit._editor.plugins.TextColor"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit.ColorPalette"); -dojo.declare("dijit._editor.plugins.TextColor",dijit._editor._Plugin,{buttonClass:dijit.form.DropDownButton,useDefaultCommand:false,constructor:function(){ -this.dropDown=new dijit.ColorPalette(); -this.connect(this.dropDown,"onChange",function(_1){ -this.editor.execCommand(this.command,_1); -}); -},updateState:function(){ -var _2=this.editor; -var _3=this.command; -if(!_2||!_2.isLoaded||!_3.length){ -return; -} -if(this.button){ -var _4=this.get("disabled"); -this.button.set("disabled",_4); -if(_4){ -return; -} -var _5; -try{ -_5=_2.queryCommandValue(_3)||""; -} -catch(e){ -_5=""; -} -} -if(_5==""){ -_5="#000000"; -} -if(_5=="transparent"){ -_5="#ffffff"; -} -if(typeof _5=="string"){ -if(_5.indexOf("rgb")>-1){ -_5=dojo.colorFromRgb(_5).toHex(); -} -}else{ -_5=((_5&255)<<16)|(_5&65280)|((_5&16711680)>>>16); -_5=_5.toString(16); -_5="#000000".slice(0,7-_5.length)+_5; -} -if(_5!==this.dropDown.get("value")){ -this.dropDown.set("value",_5,false); -} -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -switch(o.args.name){ -case "foreColor": -case "hiliteColor": -o.plugin=new dijit._editor.plugins.TextColor({command:o.args.name}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/ToggleDir.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/ToggleDir.js deleted file mode 100644 index 8221b2fe..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/ToggleDir.js +++ /dev/null @@ -1,45 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._editor.plugins.ToggleDir"]){ -dojo._hasResource["dijit._editor.plugins.ToggleDir"]=true; -dojo.provide("dijit._editor.plugins.ToggleDir"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit.form.ToggleButton"); -dojo.experimental("dijit._editor.plugins.ToggleDir"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit.form.ToggleButton"); -dojo.declare("dijit._editor.plugins.ToggleDir",dijit._editor._Plugin,{useDefaultCommand:false,command:"toggleDir",buttonClass:dijit.form.ToggleButton,_initButton:function(){ -this.inherited(arguments); -this.editor.onLoadDeferred.addCallback(dojo.hitch(this,function(){ -var _1=this.editor.editorObject.contentWindow.document.documentElement; -_1=_1.getElementsByTagName("body")[0]; -var _2=dojo.getComputedStyle(_1).direction=="ltr"; -this.button.set("checked",!_2); -this.connect(this.button,"onChange","_setRtl"); -})); -},updateState:function(){ -this.button.set("disabled",this.get("disabled")); -},_setRtl:function(_3){ -var _4="ltr"; -if(_3){ -_4="rtl"; -} -var _5=this.editor.editorObject.contentWindow.document.documentElement; -_5=_5.getElementsByTagName("body")[0]; -_5.dir=_4; -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -switch(o.args.name){ -case "toggleDir": -o.plugin=new dijit._editor.plugins.ToggleDir({command:o.args.name}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/ViewSource.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/ViewSource.js deleted file mode 100644 index 8c1182b8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/plugins/ViewSource.js +++ /dev/null @@ -1,306 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._editor.plugins.ViewSource"]){ -dojo._hasResource["dijit._editor.plugins.ViewSource"]=true; -dojo.provide("dijit._editor.plugins.ViewSource"); -dojo.require("dojo.window"); -dojo.require("dojo.i18n"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit.form.Button"); -dojo.requireLocalization("dijit._editor","commands",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dijit._editor.plugins.ViewSource",dijit._editor._Plugin,{stripScripts:true,stripComments:true,stripIFrames:true,readOnly:false,_fsPlugin:null,toggle:function(){ -if(dojo.isWebKit){ -this._vsFocused=true; -} -this.button.set("checked",!this.button.get("checked")); -},_initButton:function(){ -var _1=dojo.i18n.getLocalization("dijit._editor","commands"),_2=this.editor; -this.button=new dijit.form.ToggleButton({label:_1["viewSource"],dir:_2.dir,lang:_2.lang,showLabel:false,iconClass:this.iconClassPrefix+" "+this.iconClassPrefix+"ViewSource",tabIndex:"-1",onChange:dojo.hitch(this,"_showSource")}); -if(dojo.isIE==7){ -this._ieFixNode=dojo.create("div",{style:{opacity:"0",zIndex:"-1000",position:"absolute",top:"-1000px"}},dojo.body()); -} -this.button.set("readOnly",false); -},setEditor:function(_3){ -this.editor=_3; -this._initButton(); -this.editor.addKeyHandler(dojo.keys.F12,true,true,dojo.hitch(this,function(e){ -this.button.focus(); -this.toggle(); -dojo.stopEvent(e); -setTimeout(dojo.hitch(this,function(){ -this.editor.focus(); -}),100); -})); -},_showSource:function(_4){ -var ed=this.editor; -var _5=ed._plugins; -var _6; -this._sourceShown=_4; -var _7=this; -try{ -if(!this.sourceArea){ -this._createSourceView(); -} -if(_4){ -ed._sourceQueryCommandEnabled=ed.queryCommandEnabled; -ed.queryCommandEnabled=function(_8){ -var _9=_8.toLowerCase(); -if(_9==="viewsource"){ -return true; -}else{ -return false; -} -}; -this.editor.onDisplayChanged(); -_6=ed.get("value"); -_6=this._filter(_6); -ed.set("value",_6); -this._pluginList=[]; -dojo.forEach(_5,function(p){ -if(!(p instanceof dijit._editor.plugins.ViewSource)){ -p.set("disabled",true); -} -}); -if(this._fsPlugin){ -this._fsPlugin._getAltViewNode=function(){ -return _7.sourceArea; -}; -} -this.sourceArea.value=_6; -var is=dojo._getMarginSize(ed.iframe.parentNode); -dojo.marginBox(this.sourceArea,{w:is.w,h:is.h}); -dojo.style(ed.iframe,"display","none"); -dojo.style(this.sourceArea,{display:"block"}); -var _a=function(){ -var vp=dojo.window.getBox(); -if("_prevW" in this&&"_prevH" in this){ -if(vp.w===this._prevW&&vp.h===this._prevH){ -return; -}else{ -this._prevW=vp.w; -this._prevH=vp.h; -} -}else{ -this._prevW=vp.w; -this._prevH=vp.h; -} -if(this._resizer){ -clearTimeout(this._resizer); -delete this._resizer; -} -this._resizer=setTimeout(dojo.hitch(this,function(){ -delete this._resizer; -this._resize(); -}),10); -}; -this._resizeHandle=dojo.connect(window,"onresize",this,_a); -setTimeout(dojo.hitch(this,this._resize),100); -this.editor.onNormalizedDisplayChanged(); -this.editor.__oldGetValue=this.editor.getValue; -this.editor.getValue=dojo.hitch(this,function(){ -var _b=this.sourceArea.value; -_b=this._filter(_b); -return _b; -}); -}else{ -if(!ed._sourceQueryCommandEnabled){ -return; -} -dojo.disconnect(this._resizeHandle); -delete this._resizeHandle; -if(this.editor.__oldGetValue){ -this.editor.getValue=this.editor.__oldGetValue; -delete this.editor.__oldGetValue; -} -ed.queryCommandEnabled=ed._sourceQueryCommandEnabled; -if(!this._readOnly){ -_6=this.sourceArea.value; -_6=this._filter(_6); -ed.beginEditing(); -ed.set("value",_6); -ed.endEditing(); -} -dojo.forEach(_5,function(p){ -p.set("disabled",false); -}); -dojo.style(this.sourceArea,"display","none"); -dojo.style(ed.iframe,"display","block"); -delete ed._sourceQueryCommandEnabled; -this.editor.onDisplayChanged(); -} -setTimeout(dojo.hitch(this,function(){ -var _c=ed.domNode.parentNode; -if(_c){ -var _d=dijit.getEnclosingWidget(_c); -if(_d&&_d.resize){ -_d.resize(); -} -} -ed.resize(); -}),300); -} -catch(e){ -} -},updateState:function(){ -this.button.set("disabled",this.get("disabled")); -},_resize:function(){ -var ed=this.editor; -var _e=ed.getHeaderHeight(); -var fH=ed.getFooterHeight(); -var eb=dojo.position(ed.domNode); -var _f=dojo._getPadBorderExtents(ed.iframe.parentNode); -var _10=dojo._getMarginExtents(ed.iframe.parentNode); -var _11=dojo._getPadBorderExtents(ed.domNode); -var _12=dojo._getMarginExtents(ed.domNode); -var edb={w:eb.w-(_11.w+_12.w),h:eb.h-(_e+_11.h+_12.h+fH)}; -if(this._fsPlugin&&this._fsPlugin.isFullscreen){ -var vp=dojo.window.getBox(); -edb.w=(vp.w-_11.w); -edb.h=(vp.h-(_e+_11.h+fH)); -} -if(dojo.isIE){ -edb.h-=2; -} -if(this._ieFixNode){ -var _13=-this._ieFixNode.offsetTop/1000; -edb.w=Math.floor((edb.w+0.9)/_13); -edb.h=Math.floor((edb.h+0.9)/_13); -} -dojo.marginBox(this.sourceArea,{w:edb.w-(_f.w+_10.w),h:edb.h-(_f.h+_10.h)}); -dojo.marginBox(ed.iframe.parentNode,{h:edb.h}); -},_createSourceView:function(){ -var ed=this.editor; -var _14=ed._plugins; -this.sourceArea=dojo.create("textarea"); -if(this.readOnly){ -dojo.attr(this.sourceArea,"readOnly",true); -this._readOnly=true; -} -dojo.style(this.sourceArea,{padding:"0px",margin:"0px",borderWidth:"0px",borderStyle:"none"}); -dojo.place(this.sourceArea,ed.iframe,"before"); -if(dojo.isIE&&ed.iframe.parentNode.lastChild!==ed.iframe){ -dojo.style(ed.iframe.parentNode.lastChild,{width:"0px",height:"0px",padding:"0px",margin:"0px",borderWidth:"0px",borderStyle:"none"}); -} -ed._viewsource_oldFocus=ed.focus; -var _15=this; -ed.focus=function(){ -if(_15._sourceShown){ -_15.setSourceAreaCaret(); -}else{ -try{ -if(this._vsFocused){ -delete this._vsFocused; -dijit.focus(ed.editNode); -}else{ -ed._viewsource_oldFocus(); -} -} -catch(e){ -} -} -}; -var i,p; -for(i=0;i<_14.length;i++){ -p=_14[i]; -if(p&&(p.declaredClass==="dijit._editor.plugins.FullScreen"||p.declaredClass===(dijit._scopeName+"._editor.plugins.FullScreen"))){ -this._fsPlugin=p; -break; -} -} -if(this._fsPlugin){ -this._fsPlugin._viewsource_getAltViewNode=this._fsPlugin._getAltViewNode; -this._fsPlugin._getAltViewNode=function(){ -return _15._sourceShown?_15.sourceArea:this._viewsource_getAltViewNode(); -}; -} -this.connect(this.sourceArea,"onkeydown",dojo.hitch(this,function(e){ -if(this._sourceShown&&e.keyCode==dojo.keys.F12&&e.ctrlKey&&e.shiftKey){ -this.button.focus(); -this.button.set("checked",false); -setTimeout(dojo.hitch(this,function(){ -ed.focus(); -}),100); -dojo.stopEvent(e); -} -})); -},_stripScripts:function(_16){ -if(_16){ -_16=_16.replace(/<\s*script[^>]*>((.|\s)*?)<\\?\/\s*script\s*>/ig,""); -_16=_16.replace(/<\s*script\b([^<>]|\s)*>?/ig,""); -_16=_16.replace(/<[^>]*=(\s|)*[("|')]javascript:[^$1][(\s|.)]*[$1][^>]*>/ig,""); -} -return _16; -},_stripComments:function(_17){ -if(_17){ -_17=_17.replace(/<!--(.|\s){1,}?-->/g,""); -} -return _17; -},_stripIFrames:function(_18){ -if(_18){ -_18=_18.replace(/<\s*iframe[^>]*>((.|\s)*?)<\\?\/\s*iframe\s*>/ig,""); -} -return _18; -},_filter:function(_19){ -if(_19){ -if(this.stripScripts){ -_19=this._stripScripts(_19); -} -if(this.stripComments){ -_19=this._stripComments(_19); -} -if(this.stripIFrames){ -_19=this._stripIFrames(_19); -} -} -return _19; -},setSourceAreaCaret:function(){ -var win=dojo.global; -var _1a=this.sourceArea; -dijit.focus(_1a); -if(this._sourceShown&&!this.readOnly){ -if(dojo.isIE){ -if(this.sourceArea.createTextRange){ -var _1b=_1a.createTextRange(); -_1b.collapse(true); -_1b.moveStart("character",-99999); -_1b.moveStart("character",0); -_1b.moveEnd("character",0); -_1b.select(); -} -}else{ -if(win.getSelection){ -if(_1a.setSelectionRange){ -_1a.setSelectionRange(0,0); -} -} -} -} -},destroy:function(){ -if(this._ieFixNode){ -dojo.body().removeChild(this._ieFixNode); -} -if(this._resizer){ -clearTimeout(this._resizer); -delete this._resizer; -} -if(this._resizeHandle){ -dojo.disconnect(this._resizeHandle); -delete this._resizeHandle; -} -this.inherited(arguments); -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -var _1c=o.args.name.toLowerCase(); -if(_1c==="viewsource"){ -o.plugin=new dijit._editor.plugins.ViewSource({readOnly:("readOnly" in o.args)?o.args.readOnly:false,stripComments:("stripComments" in o.args)?o.args.stripComments:true,stripScripts:("stripScripts" in o.args)?o.args.stripScripts:true,stripIFrames:("stripIFrames" in o.args)?o.args.stripIFrames:true}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/range.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/range.js deleted file mode 100644 index 4ea07850..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/range.js +++ /dev/null @@ -1,453 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._editor.range"]){ -dojo._hasResource["dijit._editor.range"]=true; -dojo.provide("dijit._editor.range"); -dijit.range={}; -dijit.range.getIndex=function(_1,_2){ -var _3=[],_4=[]; -var _5=_2; -var _6=_1; -var _7,n; -while(_1!=_5){ -var i=0; -_7=_1.parentNode; -while((n=_7.childNodes[i++])){ -if(n===_1){ ---i; -break; -} -} -_3.unshift(i); -_4.unshift(i-_7.childNodes.length); -_1=_7; -} -if(_3.length>0&&_6.nodeType==3){ -n=_6.previousSibling; -while(n&&n.nodeType==3){ -_3[_3.length-1]--; -n=n.previousSibling; -} -n=_6.nextSibling; -while(n&&n.nodeType==3){ -_4[_4.length-1]++; -n=n.nextSibling; -} -} -return {o:_3,r:_4}; -}; -dijit.range.getNode=function(_8,_9){ -if(!dojo.isArray(_8)||_8.length==0){ -return _9; -} -var _a=_9; -dojo.every(_8,function(i){ -if(i>=0&&i<_a.childNodes.length){ -_a=_a.childNodes[i]; -}else{ -_a=null; -return false; -} -return true; -}); -return _a; -}; -dijit.range.getCommonAncestor=function(n1,n2,_b){ -_b=_b||n1.ownerDocument.body; -var _c=function(n){ -var as=[]; -while(n){ -as.unshift(n); -if(n!==_b){ -n=n.parentNode; -}else{ -break; -} -} -return as; -}; -var _d=_c(n1); -var _e=_c(n2); -var m=Math.min(_d.length,_e.length); -var _f=_d[0]; -for(var i=1;i<m;i++){ -if(_d[i]===_e[i]){ -_f=_d[i]; -}else{ -break; -} -} -return _f; -}; -dijit.range.getAncestor=function(_10,_11,_12){ -_12=_12||_10.ownerDocument.body; -while(_10&&_10!==_12){ -var _13=_10.nodeName.toUpperCase(); -if(_11.test(_13)){ -return _10; -} -_10=_10.parentNode; -} -return null; -}; -dijit.range.BlockTagNames=/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DT|DE)$/; -dijit.range.getBlockAncestor=function(_14,_15,_16){ -_16=_16||_14.ownerDocument.body; -_15=_15||dijit.range.BlockTagNames; -var _17=null,_18; -while(_14&&_14!==_16){ -var _19=_14.nodeName.toUpperCase(); -if(!_17&&_15.test(_19)){ -_17=_14; -} -if(!_18&&(/^(?:BODY|TD|TH|CAPTION)$/).test(_19)){ -_18=_14; -} -_14=_14.parentNode; -} -return {blockNode:_17,blockContainer:_18||_14.ownerDocument.body}; -}; -dijit.range.atBeginningOfContainer=function(_1a,_1b,_1c){ -var _1d=false; -var _1e=(_1c==0); -if(!_1e&&_1b.nodeType==3){ -if(/^[\s\xA0]+$/.test(_1b.nodeValue.substr(0,_1c))){ -_1e=true; -} -} -if(_1e){ -var _1f=_1b; -_1d=true; -while(_1f&&_1f!==_1a){ -if(_1f.previousSibling){ -_1d=false; -break; -} -_1f=_1f.parentNode; -} -} -return _1d; -}; -dijit.range.atEndOfContainer=function(_20,_21,_22){ -var _23=false; -var _24=(_22==(_21.length||_21.childNodes.length)); -if(!_24&&_21.nodeType==3){ -if(/^[\s\xA0]+$/.test(_21.nodeValue.substr(_22))){ -_24=true; -} -} -if(_24){ -var _25=_21; -_23=true; -while(_25&&_25!==_20){ -if(_25.nextSibling){ -_23=false; -break; -} -_25=_25.parentNode; -} -} -return _23; -}; -dijit.range.adjacentNoneTextNode=function(_26,_27){ -var _28=_26; -var len=(0-_26.length)||0; -var _29=_27?"nextSibling":"previousSibling"; -while(_28){ -if(_28.nodeType!=3){ -break; -} -len+=_28.length; -_28=_28[_29]; -} -return [_28,len]; -}; -dijit.range._w3c=Boolean(window["getSelection"]); -dijit.range.create=function(win){ -if(dijit.range._w3c){ -return (win||dojo.global).document.createRange(); -}else{ -return new dijit.range.W3CRange; -} -}; -dijit.range.getSelection=function(win,_2a){ -if(dijit.range._w3c){ -return win.getSelection(); -}else{ -var s=new dijit.range.ie.selection(win); -if(!_2a){ -s._getCurrentSelection(); -} -return s; -} -}; -if(!dijit.range._w3c){ -dijit.range.ie={cachedSelection:{},selection:function(win){ -this._ranges=[]; -this.addRange=function(r,_2b){ -this._ranges.push(r); -if(!_2b){ -r._select(); -} -this.rangeCount=this._ranges.length; -}; -this.removeAllRanges=function(){ -this._ranges=[]; -this.rangeCount=0; -}; -var _2c=function(){ -var r=win.document.selection.createRange(); -var _2d=win.document.selection.type.toUpperCase(); -if(_2d=="CONTROL"){ -return new dijit.range.W3CRange(dijit.range.ie.decomposeControlRange(r)); -}else{ -return new dijit.range.W3CRange(dijit.range.ie.decomposeTextRange(r)); -} -}; -this.getRangeAt=function(i){ -return this._ranges[i]; -}; -this._getCurrentSelection=function(){ -this.removeAllRanges(); -var r=_2c(); -if(r){ -this.addRange(r,true); -} -}; -},decomposeControlRange:function(_2e){ -var _2f=_2e.item(0),_30=_2e.item(_2e.length-1); -var _31=_2f.parentNode,_32=_30.parentNode; -var _33=dijit.range.getIndex(_2f,_31).o; -var _34=dijit.range.getIndex(_30,_32).o+1; -return [_31,_33,_32,_34]; -},getEndPoint:function(_35,end){ -var _36=_35.duplicate(); -_36.collapse(!end); -var _37="EndTo"+(end?"End":"Start"); -var _38=_36.parentElement(); -var _39,_3a,_3b; -if(_38.childNodes.length>0){ -dojo.every(_38.childNodes,function(_3c,i){ -var _3d; -if(_3c.nodeType!=3){ -_36.moveToElementText(_3c); -if(_36.compareEndPoints(_37,_35)>0){ -if(_3b&&_3b.nodeType==3){ -_39=_3b; -_3d=true; -}else{ -_39=_38; -_3a=i; -return false; -} -}else{ -if(i==_38.childNodes.length-1){ -_39=_38; -_3a=_38.childNodes.length; -return false; -} -} -}else{ -if(i==_38.childNodes.length-1){ -_39=_3c; -_3d=true; -} -} -if(_3d&&_39){ -var _3e=dijit.range.adjacentNoneTextNode(_39)[0]; -if(_3e){ -_39=_3e.nextSibling; -}else{ -_39=_38.firstChild; -} -var _3f=dijit.range.adjacentNoneTextNode(_39); -_3e=_3f[0]; -var _40=_3f[1]; -if(_3e){ -_36.moveToElementText(_3e); -_36.collapse(false); -}else{ -_36.moveToElementText(_38); -} -_36.setEndPoint(_37,_35); -_3a=_36.text.length-_40; -return false; -} -_3b=_3c; -return true; -}); -}else{ -_39=_38; -_3a=0; -} -if(!end&&_39.nodeType==1&&_3a==_39.childNodes.length){ -var _41=_39.nextSibling; -if(_41&&_41.nodeType==3){ -_39=_41; -_3a=0; -} -} -return [_39,_3a]; -},setEndPoint:function(_42,_43,_44){ -var _45=_42.duplicate(),_46,len; -if(_43.nodeType!=3){ -if(_44>0){ -_46=_43.childNodes[_44-1]; -if(_46){ -if(_46.nodeType==3){ -_43=_46; -_44=_46.length; -}else{ -if(_46.nextSibling&&_46.nextSibling.nodeType==3){ -_43=_46.nextSibling; -_44=0; -}else{ -_45.moveToElementText(_46.nextSibling?_46:_43); -var _47=_46.parentNode; -var _48=_47.insertBefore(_46.ownerDocument.createTextNode(" "),_46.nextSibling); -_45.collapse(false); -_47.removeChild(_48); -} -} -} -}else{ -_45.moveToElementText(_43); -_45.collapse(true); -} -} -if(_43.nodeType==3){ -var _49=dijit.range.adjacentNoneTextNode(_43); -var _4a=_49[0]; -len=_49[1]; -if(_4a){ -_45.moveToElementText(_4a); -_45.collapse(false); -if(_4a.contentEditable!="inherit"){ -len++; -} -}else{ -_45.moveToElementText(_43.parentNode); -_45.collapse(true); -} -_44+=len; -if(_44>0){ -if(_45.move("character",_44)!=_44){ -console.error("Error when moving!"); -} -} -} -return _45; -},decomposeTextRange:function(_4b){ -var _4c=dijit.range.ie.getEndPoint(_4b); -var _4d=_4c[0],_4e=_4c[1]; -var _4f=_4c[0],_50=_4c[1]; -if(_4b.htmlText.length){ -if(_4b.htmlText==_4b.text){ -_50=_4e+_4b.text.length; -}else{ -_4c=dijit.range.ie.getEndPoint(_4b,true); -_4f=_4c[0],_50=_4c[1]; -} -} -return [_4d,_4e,_4f,_50]; -},setRange:function(_51,_52,_53,_54,_55,_56){ -var _57=dijit.range.ie.setEndPoint(_51,_52,_53); -_51.setEndPoint("StartToStart",_57); -if(!_56){ -var end=dijit.range.ie.setEndPoint(_51,_54,_55); -} -_51.setEndPoint("EndToEnd",end||_57); -return _51; -}}; -dojo.declare("dijit.range.W3CRange",null,{constructor:function(){ -if(arguments.length>0){ -this.setStart(arguments[0][0],arguments[0][1]); -this.setEnd(arguments[0][2],arguments[0][3]); -}else{ -this.commonAncestorContainer=null; -this.startContainer=null; -this.startOffset=0; -this.endContainer=null; -this.endOffset=0; -this.collapsed=true; -} -},_updateInternal:function(){ -if(this.startContainer!==this.endContainer){ -this.commonAncestorContainer=dijit.range.getCommonAncestor(this.startContainer,this.endContainer); -}else{ -this.commonAncestorContainer=this.startContainer; -} -this.collapsed=(this.startContainer===this.endContainer)&&(this.startOffset==this.endOffset); -},setStart:function(_58,_59){ -_59=parseInt(_59); -if(this.startContainer===_58&&this.startOffset==_59){ -return; -} -delete this._cachedBookmark; -this.startContainer=_58; -this.startOffset=_59; -if(!this.endContainer){ -this.setEnd(_58,_59); -}else{ -this._updateInternal(); -} -},setEnd:function(_5a,_5b){ -_5b=parseInt(_5b); -if(this.endContainer===_5a&&this.endOffset==_5b){ -return; -} -delete this._cachedBookmark; -this.endContainer=_5a; -this.endOffset=_5b; -if(!this.startContainer){ -this.setStart(_5a,_5b); -}else{ -this._updateInternal(); -} -},setStartAfter:function(_5c,_5d){ -this._setPoint("setStart",_5c,_5d,1); -},setStartBefore:function(_5e,_5f){ -this._setPoint("setStart",_5e,_5f,0); -},setEndAfter:function(_60,_61){ -this._setPoint("setEnd",_60,_61,1); -},setEndBefore:function(_62,_63){ -this._setPoint("setEnd",_62,_63,0); -},_setPoint:function(_64,_65,_66,ext){ -var _67=dijit.range.getIndex(_65,_65.parentNode).o; -this[_64](_65.parentNode,_67.pop()+ext); -},_getIERange:function(){ -var r=(this._body||this.endContainer.ownerDocument.body).createTextRange(); -dijit.range.ie.setRange(r,this.startContainer,this.startOffset,this.endContainer,this.endOffset,this.collapsed); -return r; -},getBookmark:function(_68){ -this._getIERange(); -return this._cachedBookmark; -},_select:function(){ -var r=this._getIERange(); -r.select(); -},deleteContents:function(){ -var r=this._getIERange(); -r.pasteHTML(""); -this.endContainer=this.startContainer; -this.endOffset=this.startOffset; -this.collapsed=true; -},cloneRange:function(){ -var r=new dijit.range.W3CRange([this.startContainer,this.startOffset,this.endContainer,this.endOffset]); -r._body=this._body; -return r; -},detach:function(){ -this._body=null; -this.commonAncestorContainer=null; -this.startContainer=null; -this.startOffset=0; -this.endContainer=null; -this.endOffset=0; -this.collapsed=true; -}}); -} -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/_editor/selection.js b/resources/library/interactive/barre_prof.wgt/dijit/_editor/selection.js deleted file mode 100644 index 86ee988a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/_editor/selection.js +++ /dev/null @@ -1,273 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit._editor.selection"]){ -dojo._hasResource["dijit._editor.selection"]=true; -dojo.provide("dijit._editor.selection"); -dojo.getObject("_editor.selection",true,dijit); -dojo.mixin(dijit._editor.selection,{getType:function(){ -if(dojo.isIE<9){ -return dojo.doc.selection.type.toLowerCase(); -}else{ -var _1="text"; -var _2; -try{ -_2=dojo.global.getSelection(); -} -catch(e){ -} -if(_2&&_2.rangeCount==1){ -var _3=_2.getRangeAt(0); -if((_3.startContainer==_3.endContainer)&&((_3.endOffset-_3.startOffset)==1)&&(_3.startContainer.nodeType!=3)){ -_1="control"; -} -} -return _1; -} -},getSelectedText:function(){ -if(dojo.isIE<9){ -if(dijit._editor.selection.getType()=="control"){ -return null; -} -return dojo.doc.selection.createRange().text; -}else{ -var _4=dojo.global.getSelection(); -if(_4){ -return _4.toString(); -} -} -return ""; -},getSelectedHtml:function(){ -if(dojo.isIE<9){ -if(dijit._editor.selection.getType()=="control"){ -return null; -} -return dojo.doc.selection.createRange().htmlText; -}else{ -var _5=dojo.global.getSelection(); -if(_5&&_5.rangeCount){ -var i; -var _6=""; -for(i=0;i<_5.rangeCount;i++){ -var _7=_5.getRangeAt(i).cloneContents(); -var _8=dojo.doc.createElement("div"); -_8.appendChild(_7); -_6+=_8.innerHTML; -} -return _6; -} -return null; -} -},getSelectedElement:function(){ -if(dijit._editor.selection.getType()=="control"){ -if(dojo.isIE<9){ -var _9=dojo.doc.selection.createRange(); -if(_9&&_9.item){ -return dojo.doc.selection.createRange().item(0); -} -}else{ -var _a=dojo.global.getSelection(); -return _a.anchorNode.childNodes[_a.anchorOffset]; -} -} -return null; -},getParentElement:function(){ -if(dijit._editor.selection.getType()=="control"){ -var p=this.getSelectedElement(); -if(p){ -return p.parentNode; -} -}else{ -if(dojo.isIE<9){ -var r=dojo.doc.selection.createRange(); -r.collapse(true); -return r.parentElement(); -}else{ -var _b=dojo.global.getSelection(); -if(_b){ -var _c=_b.anchorNode; -while(_c&&(_c.nodeType!=1)){ -_c=_c.parentNode; -} -return _c; -} -} -} -return null; -},hasAncestorElement:function(_d){ -return this.getAncestorElement.apply(this,arguments)!=null; -},getAncestorElement:function(_e){ -var _f=this.getSelectedElement()||this.getParentElement(); -return this.getParentOfType(_f,arguments); -},isTag:function(_10,_11){ -if(_10&&_10.tagName){ -var _12=_10.tagName.toLowerCase(); -for(var i=0;i<_11.length;i++){ -var _13=String(_11[i]).toLowerCase(); -if(_12==_13){ -return _13; -} -} -} -return ""; -},getParentOfType:function(_14,_15){ -while(_14){ -if(this.isTag(_14,_15).length){ -return _14; -} -_14=_14.parentNode; -} -return null; -},collapse:function(_16){ -if(window.getSelection){ -var _17=dojo.global.getSelection(); -if(_17.removeAllRanges){ -if(_16){ -_17.collapseToStart(); -}else{ -_17.collapseToEnd(); -} -}else{ -_17.collapse(_16); -} -}else{ -if(dojo.isIE){ -var _18=dojo.doc.selection.createRange(); -_18.collapse(_16); -_18.select(); -} -} -},remove:function(){ -var sel=dojo.doc.selection; -if(dojo.isIE<9){ -if(sel.type.toLowerCase()!="none"){ -sel.clear(); -} -return sel; -}else{ -sel=dojo.global.getSelection(); -sel.deleteFromDocument(); -return sel; -} -},selectElementChildren:function(_19,_1a){ -var win=dojo.global; -var doc=dojo.doc; -var _1b; -_19=dojo.byId(_19); -if(doc.selection&&dojo.isIE<9&&dojo.body().createTextRange){ -_1b=_19.ownerDocument.body.createTextRange(); -_1b.moveToElementText(_19); -if(!_1a){ -try{ -_1b.select(); -} -catch(e){ -} -} -}else{ -if(win.getSelection){ -var _1c=dojo.global.getSelection(); -if(dojo.isOpera){ -if(_1c.rangeCount){ -_1b=_1c.getRangeAt(0); -}else{ -_1b=doc.createRange(); -} -_1b.setStart(_19,0); -_1b.setEnd(_19,(_19.nodeType==3)?_19.length:_19.childNodes.length); -_1c.addRange(_1b); -}else{ -_1c.selectAllChildren(_19); -} -} -} -},selectElement:function(_1d,_1e){ -var _1f; -var doc=dojo.doc; -var win=dojo.global; -_1d=dojo.byId(_1d); -if(dojo.isIE<9&&dojo.body().createTextRange){ -try{ -var tg=_1d.tagName?_1d.tagName.toLowerCase():""; -if(tg==="img"||tg==="table"){ -_1f=dojo.body().createControlRange(); -}else{ -_1f=dojo.body().createRange(); -} -_1f.addElement(_1d); -if(!_1e){ -_1f.select(); -} -} -catch(e){ -this.selectElementChildren(_1d,_1e); -} -}else{ -if(dojo.global.getSelection){ -var _20=win.getSelection(); -_1f=doc.createRange(); -if(_20.removeAllRanges){ -if(dojo.isOpera){ -if(_20.getRangeAt(0)){ -_1f=_20.getRangeAt(0); -} -} -_1f.selectNode(_1d); -_20.removeAllRanges(); -_20.addRange(_1f); -} -} -} -},inSelection:function(_21){ -if(_21){ -var _22; -var doc=dojo.doc; -var _23; -if(dojo.global.getSelection){ -var sel=dojo.global.getSelection(); -if(sel&&sel.rangeCount>0){ -_23=sel.getRangeAt(0); -} -if(_23&&_23.compareBoundaryPoints&&doc.createRange){ -try{ -_22=doc.createRange(); -_22.setStart(_21,0); -if(_23.compareBoundaryPoints(_23.START_TO_END,_22)===1){ -return true; -} -} -catch(e){ -} -} -}else{ -if(doc.selection){ -_23=doc.selection.createRange(); -try{ -_22=_21.ownerDocument.body.createControlRange(); -if(_22){ -_22.addElement(_21); -} -} -catch(e1){ -try{ -_22=_21.ownerDocument.body.createTextRange(); -_22.moveToElementText(_21); -} -catch(e2){ -} -} -if(_23&&_22){ -if(_23.compareEndPoints("EndToStart",_22)===1){ -return true; -} -} -} -} -} -return false; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/Button.js b/resources/library/interactive/barre_prof.wgt/dijit/form/Button.js deleted file mode 100644 index a872150a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/Button.js +++ /dev/null @@ -1,136 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.Button"]){ -dojo._hasResource["dijit.form.Button"]=true; -dojo.provide("dijit.form.Button"); -dojo.require("dijit.form._FormWidget"); -dojo.require("dijit._Container"); -dojo.require("dijit._HasDropDown"); -dojo.declare("dijit.form.Button",dijit.form._FormWidget,{label:"",showLabel:true,iconClass:"",type:"button",baseClass:"dijitButton",templateString:dojo.cache("dijit.form","templates/Button.html","<span class=\"dijit dijitReset dijitInline\"\n\t><span class=\"dijitReset dijitInline dijitButtonNode\"\n\t\tdojoAttachEvent=\"ondijitclick:_onButtonClick\"\n\t\t><span class=\"dijitReset dijitStretch dijitButtonContents\"\n\t\t\tdojoAttachPoint=\"titleNode,focusNode\"\n\t\t\trole=\"button\" aria-labelledby=\"${id}_label\"\n\t\t\t><span class=\"dijitReset dijitInline dijitIcon\" dojoAttachPoint=\"iconNode\"></span\n\t\t\t><span class=\"dijitReset dijitToggleButtonIconChar\">●</span\n\t\t\t><span class=\"dijitReset dijitInline dijitButtonText\"\n\t\t\t\tid=\"${id}_label\"\n\t\t\t\tdojoAttachPoint=\"containerNode\"\n\t\t\t></span\n\t\t></span\n\t></span\n\t><input ${!nameAttrSetting} type=\"${type}\" value=\"${value}\" class=\"dijitOffScreen\" tabIndex=\"-1\"\n\t\tdojoAttachPoint=\"valueNode\"\n/></span>\n"),attributeMap:dojo.delegate(dijit.form._FormWidget.prototype.attributeMap,{value:"valueNode"}),_onClick:function(e){ -if(this.disabled){ -return false; -} -this._clicked(); -return this.onClick(e); -},_onButtonClick:function(e){ -if(this._onClick(e)===false){ -e.preventDefault(); -}else{ -if(this.type=="submit"&&!(this.valueNode||this.focusNode).form){ -for(var _1=this.domNode;_1.parentNode;_1=_1.parentNode){ -var _2=dijit.byNode(_1); -if(_2&&typeof _2._onSubmit=="function"){ -_2._onSubmit(e); -break; -} -} -}else{ -if(this.valueNode){ -this.valueNode.click(); -e.preventDefault(); -} -} -} -},buildRendering:function(){ -this.inherited(arguments); -dojo.setSelectable(this.focusNode,false); -},_fillContent:function(_3){ -if(_3&&(!this.params||!("label" in this.params))){ -this.set("label",_3.innerHTML); -} -},_setShowLabelAttr:function(_4){ -if(this.containerNode){ -dojo.toggleClass(this.containerNode,"dijitDisplayNone",!_4); -} -this._set("showLabel",_4); -},onClick:function(e){ -return true; -},_clicked:function(e){ -},setLabel:function(_5){ -dojo.deprecated("dijit.form.Button.setLabel() is deprecated. Use set('label', ...) instead.","","2.0"); -this.set("label",_5); -},_setLabelAttr:function(_6){ -this._set("label",_6); -this.containerNode.innerHTML=_6; -if(this.showLabel==false&&!this.params.title){ -this.titleNode.title=dojo.trim(this.containerNode.innerText||this.containerNode.textContent||""); -} -},_setIconClassAttr:function(_7){ -var _8=this.iconClass||"dijitNoIcon",_9=_7||"dijitNoIcon"; -dojo.replaceClass(this.iconNode,_9,_8); -this._set("iconClass",_7); -}}); -dojo.declare("dijit.form.DropDownButton",[dijit.form.Button,dijit._Container,dijit._HasDropDown],{baseClass:"dijitDropDownButton",templateString:dojo.cache("dijit.form","templates/DropDownButton.html","<span class=\"dijit dijitReset dijitInline\"\n\t><span class='dijitReset dijitInline dijitButtonNode'\n\t\tdojoAttachEvent=\"ondijitclick:_onButtonClick\" dojoAttachPoint=\"_buttonNode\"\n\t\t><span class=\"dijitReset dijitStretch dijitButtonContents\"\n\t\t\tdojoAttachPoint=\"focusNode,titleNode,_arrowWrapperNode\"\n\t\t\trole=\"button\" aria-haspopup=\"true\" aria-labelledby=\"${id}_label\"\n\t\t\t><span class=\"dijitReset dijitInline dijitIcon\"\n\t\t\t\tdojoAttachPoint=\"iconNode\"\n\t\t\t></span\n\t\t\t><span class=\"dijitReset dijitInline dijitButtonText\"\n\t\t\t\tdojoAttachPoint=\"containerNode,_popupStateNode\"\n\t\t\t\tid=\"${id}_label\"\n\t\t\t></span\n\t\t\t><span class=\"dijitReset dijitInline dijitArrowButtonInner\"></span\n\t\t\t><span class=\"dijitReset dijitInline dijitArrowButtonChar\">▼</span\n\t\t></span\n\t></span\n\t><input ${!nameAttrSetting} type=\"${type}\" value=\"${value}\" class=\"dijitOffScreen\" tabIndex=\"-1\"\n\t\tdojoAttachPoint=\"valueNode\"\n/></span>\n"),_fillContent:function(){ -if(this.srcNodeRef){ -var _a=dojo.query("*",this.srcNodeRef); -dijit.form.DropDownButton.superclass._fillContent.call(this,_a[0]); -this.dropDownContainer=this.srcNodeRef; -} -},startup:function(){ -if(this._started){ -return; -} -if(!this.dropDown&&this.dropDownContainer){ -var _b=dojo.query("[widgetId]",this.dropDownContainer)[0]; -this.dropDown=dijit.byNode(_b); -delete this.dropDownContainer; -} -if(this.dropDown){ -dijit.popup.hide(this.dropDown); -} -this.inherited(arguments); -},isLoaded:function(){ -var _c=this.dropDown; -return (!!_c&&(!_c.href||_c.isLoaded)); -},loadDropDown:function(){ -var _d=this.dropDown; -if(!_d){ -return; -} -if(!this.isLoaded()){ -var _e=dojo.connect(_d,"onLoad",this,function(){ -dojo.disconnect(_e); -this.openDropDown(); -}); -_d.refresh(); -}else{ -this.openDropDown(); -} -},isFocusable:function(){ -return this.inherited(arguments)&&!this._mouseDown; -}}); -dojo.declare("dijit.form.ComboButton",dijit.form.DropDownButton,{templateString:dojo.cache("dijit.form","templates/ComboButton.html","<table class=\"dijit dijitReset dijitInline dijitLeft\"\n\tcellspacing='0' cellpadding='0' role=\"presentation\"\n\t><tbody role=\"presentation\"><tr role=\"presentation\"\n\t\t><td class=\"dijitReset dijitStretch dijitButtonNode\" dojoAttachPoint=\"buttonNode\" dojoAttachEvent=\"ondijitclick:_onButtonClick,onkeypress:_onButtonKeyPress\"\n\t\t><div id=\"${id}_button\" class=\"dijitReset dijitButtonContents\"\n\t\t\tdojoAttachPoint=\"titleNode\"\n\t\t\trole=\"button\" aria-labelledby=\"${id}_label\"\n\t\t\t><div class=\"dijitReset dijitInline dijitIcon\" dojoAttachPoint=\"iconNode\" role=\"presentation\"></div\n\t\t\t><div class=\"dijitReset dijitInline dijitButtonText\" id=\"${id}_label\" dojoAttachPoint=\"containerNode\" role=\"presentation\"></div\n\t\t></div\n\t\t></td\n\t\t><td id=\"${id}_arrow\" class='dijitReset dijitRight dijitButtonNode dijitArrowButton'\n\t\t\tdojoAttachPoint=\"_popupStateNode,focusNode,_buttonNode\"\n\t\t\tdojoAttachEvent=\"onkeypress:_onArrowKeyPress\"\n\t\t\ttitle=\"${optionsTitle}\"\n\t\t\trole=\"button\" aria-haspopup=\"true\"\n\t\t\t><div class=\"dijitReset dijitArrowButtonInner\" role=\"presentation\"></div\n\t\t\t><div class=\"dijitReset dijitArrowButtonChar\" role=\"presentation\">▼</div\n\t\t></td\n\t\t><td style=\"display:none !important;\"\n\t\t\t><input ${!nameAttrSetting} type=\"${type}\" value=\"${value}\" dojoAttachPoint=\"valueNode\"\n\t\t/></td></tr></tbody\n></table>\n"),attributeMap:dojo.mixin(dojo.clone(dijit.form.Button.prototype.attributeMap),{id:"",tabIndex:["focusNode","titleNode"],title:"titleNode"}),optionsTitle:"",baseClass:"dijitComboButton",cssStateNodes:{"buttonNode":"dijitButtonNode","titleNode":"dijitButtonContents","_popupStateNode":"dijitDownArrowButton"},_focusedNode:null,_onButtonKeyPress:function(_f){ -if(_f.charOrCode==dojo.keys[this.isLeftToRight()?"RIGHT_ARROW":"LEFT_ARROW"]){ -dijit.focus(this._popupStateNode); -dojo.stopEvent(_f); -} -},_onArrowKeyPress:function(evt){ -if(evt.charOrCode==dojo.keys[this.isLeftToRight()?"LEFT_ARROW":"RIGHT_ARROW"]){ -dijit.focus(this.titleNode); -dojo.stopEvent(evt); -} -},focus:function(_10){ -if(!this.disabled){ -dijit.focus(_10=="start"?this.titleNode:this._popupStateNode); -} -}}); -dojo.declare("dijit.form.ToggleButton",dijit.form.Button,{baseClass:"dijitToggleButton",checked:false,attributeMap:dojo.mixin(dojo.clone(dijit.form.Button.prototype.attributeMap),{checked:"focusNode"}),_clicked:function(evt){ -this.set("checked",!this.checked); -},_setCheckedAttr:function(_11,_12){ -this._set("checked",_11); -dojo.attr(this.focusNode||this.domNode,"checked",_11); -dijit.setWaiState(this.focusNode||this.domNode,"pressed",_11); -this._handleOnChange(_11,_12); -},setChecked:function(_13){ -dojo.deprecated("setChecked("+_13+") is deprecated. Use set('checked',"+_13+") instead.","","2.0"); -this.set("checked",_13); -},reset:function(){ -this._hasBeenBlurred=false; -this.set("checked",this.params.checked||false); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/CheckBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/CheckBox.js deleted file mode 100644 index 2911d36f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/CheckBox.js +++ /dev/null @@ -1,77 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.CheckBox"]){ -dojo._hasResource["dijit.form.CheckBox"]=true; -dojo.provide("dijit.form.CheckBox"); -dojo.require("dijit.form.ToggleButton"); -dojo.declare("dijit.form.CheckBox",dijit.form.ToggleButton,{templateString:dojo.cache("dijit.form","templates/CheckBox.html","<div class=\"dijit dijitReset dijitInline\" role=\"presentation\"\n\t><input\n\t \t${!nameAttrSetting} type=\"${type}\" ${checkedAttrSetting}\n\t\tclass=\"dijitReset dijitCheckBoxInput\"\n\t\tdojoAttachPoint=\"focusNode\"\n\t \tdojoAttachEvent=\"onclick:_onClick\"\n/></div>\n"),baseClass:"dijitCheckBox",type:"checkbox",value:"on",readOnly:false,attributeMap:dojo.delegate(dijit.form._FormWidget.prototype.attributeMap,{readOnly:"focusNode"}),_setReadOnlyAttr:function(_1){ -this._set("readOnly",_1); -dojo.attr(this.focusNode,"readOnly",_1); -dijit.setWaiState(this.focusNode,"readonly",_1); -},_setValueAttr:function(_2,_3){ -if(typeof _2=="string"){ -this._set("value",_2); -dojo.attr(this.focusNode,"value",_2); -_2=true; -} -if(this._created){ -this.set("checked",_2,_3); -} -},_getValueAttr:function(){ -return (this.checked?this.value:false); -},_setLabelAttr:undefined,postMixInProperties:function(){ -if(this.value==""){ -this.value="on"; -} -this.checkedAttrSetting=this.checked?"checked":""; -this.inherited(arguments); -},_fillContent:function(_4){ -},reset:function(){ -this._hasBeenBlurred=false; -this.set("checked",this.params.checked||false); -this._set("value",this.params.value||"on"); -dojo.attr(this.focusNode,"value",this.value); -},_onFocus:function(){ -if(this.id){ -dojo.query("label[for='"+this.id+"']").addClass("dijitFocusedLabel"); -} -this.inherited(arguments); -},_onBlur:function(){ -if(this.id){ -dojo.query("label[for='"+this.id+"']").removeClass("dijitFocusedLabel"); -} -this.inherited(arguments); -},_onClick:function(e){ -if(this.readOnly){ -dojo.stopEvent(e); -return false; -} -return this.inherited(arguments); -}}); -dojo.declare("dijit.form.RadioButton",dijit.form.CheckBox,{type:"radio",baseClass:"dijitRadio",_setCheckedAttr:function(_5){ -this.inherited(arguments); -if(!this._created){ -return; -} -if(_5){ -var _6=this; -dojo.query("INPUT[type=radio]",this.focusNode.form||dojo.doc).forEach(function(_7){ -if(_7.name==_6.name&&_7!=_6.focusNode&&_7.form==_6.focusNode.form){ -var _8=dijit.getEnclosingWidget(_7); -if(_8&&_8.checked){ -_8.set("checked",false); -} -} -}); -} -},_clicked:function(e){ -if(!this.checked){ -this.set("checked",true); -} -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/ComboBox.js deleted file mode 100644 index eeaf3c08..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/ComboBox.js +++ /dev/null @@ -1,581 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.ComboBox"]){ -dojo._hasResource["dijit.form.ComboBox"]=true; -dojo.provide("dijit.form.ComboBox"); -dojo.require("dojo.window"); -dojo.require("dojo.regexp"); -dojo.require("dojo.data.util.simpleFetch"); -dojo.require("dojo.data.util.filter"); -dojo.require("dijit._CssStateMixin"); -dojo.require("dijit.form._FormWidget"); -dojo.require("dijit.form.ValidationTextBox"); -dojo.require("dijit._HasDropDown"); -dojo.requireLocalization("dijit.form","ComboBox",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dijit.form.ComboBoxMixin",dijit._HasDropDown,{item:null,pageSize:Infinity,store:null,fetchProperties:{},query:{},autoComplete:true,highlightMatch:"first",searchDelay:100,searchAttr:"name",labelAttr:"",labelType:"text",queryExpr:"${0}*",ignoreCase:true,hasDownArrow:true,templateString:dojo.cache("dijit.form","templates/DropDownBox.html","<div class=\"dijit dijitReset dijitInlineTable dijitLeft\"\n\tid=\"widget_${id}\"\n\trole=\"combobox\"\n\t><div class='dijitReset dijitRight dijitButtonNode dijitArrowButton dijitDownArrowButton dijitArrowButtonContainer'\n\t\tdojoAttachPoint=\"_buttonNode, _popupStateNode\" role=\"presentation\"\n\t\t><input class=\"dijitReset dijitInputField dijitArrowButtonInner\" value=\"▼ \" type=\"text\" tabIndex=\"-1\" readonly=\"readonly\" role=\"presentation\"\n\t\t\t${_buttonInputDisabled}\n\t/></div\n\t><div class='dijitReset dijitValidationContainer'\n\t\t><input class=\"dijitReset dijitInputField dijitValidationIcon dijitValidationInner\" value=\"Χ \" type=\"text\" tabIndex=\"-1\" readonly=\"readonly\" role=\"presentation\"\n\t/></div\n\t><div class=\"dijitReset dijitInputField dijitInputContainer\"\n\t\t><input class='dijitReset dijitInputInner' ${!nameAttrSetting} type=\"text\" autocomplete=\"off\"\n\t\t\tdojoAttachPoint=\"textbox,focusNode\" role=\"textbox\" aria-haspopup=\"true\"\n\t/></div\n></div>\n"),baseClass:"dijitTextBox dijitComboBox",dropDownClass:"dijit.form._ComboBoxMenu",cssStateNodes:{"_buttonNode":"dijitDownArrowButton"},maxHeight:-1,_stopClickEvents:false,_getCaretPos:function(_1){ -var _2=0; -if(typeof (_1.selectionStart)=="number"){ -_2=_1.selectionStart; -}else{ -if(dojo.isIE){ -var tr=dojo.doc.selection.createRange().duplicate(); -var _3=_1.createTextRange(); -tr.move("character",0); -_3.move("character",0); -try{ -_3.setEndPoint("EndToEnd",tr); -_2=String(_3.text).replace(/\r/g,"").length; -} -catch(e){ -} -} -} -return _2; -},_setCaretPos:function(_4,_5){ -_5=parseInt(_5); -dijit.selectInputText(_4,_5,_5); -},_setDisabledAttr:function(_6){ -this.inherited(arguments); -dijit.setWaiState(this.domNode,"disabled",_6); -},_abortQuery:function(){ -if(this.searchTimer){ -clearTimeout(this.searchTimer); -this.searchTimer=null; -} -if(this._fetchHandle){ -if(this._fetchHandle.abort){ -this._fetchHandle.abort(); -} -this._fetchHandle=null; -} -},_onInput:function(_7){ -if(!this.searchTimer&&(_7.type=="paste"||_7.type=="input")&&this._lastInput!=this.textbox.value){ -this.searchTimer=setTimeout(dojo.hitch(this,function(){ -this._onKey({charOrCode:229}); -}),100); -} -this.inherited(arguments); -},_onKey:function(_8){ -var _9=_8.charOrCode; -if(_8.altKey||((_8.ctrlKey||_8.metaKey)&&(_9!="x"&&_9!="v"))||_9==dojo.keys.SHIFT){ -return; -} -var _a=false; -var pw=this.dropDown; -var dk=dojo.keys; -var _b=null; -this._prev_key_backspace=false; -this._abortQuery(); -this.inherited(arguments); -if(this._opened){ -_b=pw.getHighlightedOption(); -} -switch(_9){ -case dk.PAGE_DOWN: -case dk.DOWN_ARROW: -case dk.PAGE_UP: -case dk.UP_ARROW: -if(this._opened){ -this._announceOption(_b); -} -dojo.stopEvent(_8); -break; -case dk.ENTER: -if(_b){ -if(_b==pw.nextButton){ -this._nextSearch(1); -dojo.stopEvent(_8); -break; -}else{ -if(_b==pw.previousButton){ -this._nextSearch(-1); -dojo.stopEvent(_8); -break; -} -} -}else{ -this._setBlurValue(); -this._setCaretPos(this.focusNode,this.focusNode.value.length); -} -if(this._opened||this._fetchHandle){ -_8.preventDefault(); -} -case dk.TAB: -var _c=this.get("displayedValue"); -if(pw&&(_c==pw._messages["previousMessage"]||_c==pw._messages["nextMessage"])){ -break; -} -if(_b){ -this._selectOption(); -} -if(this._opened){ -this._lastQuery=null; -this.closeDropDown(); -} -break; -case " ": -if(_b){ -dojo.stopEvent(_8); -this._selectOption(); -this.closeDropDown(); -}else{ -_a=true; -} -break; -case dk.DELETE: -case dk.BACKSPACE: -this._prev_key_backspace=true; -_a=true; -break; -default: -_a=typeof _9=="string"||_9==229; -} -if(_a){ -this.item=undefined; -this.searchTimer=setTimeout(dojo.hitch(this,"_startSearchFromInput"),1); -} -},_autoCompleteText:function(_d){ -var fn=this.focusNode; -dijit.selectInputText(fn,fn.value.length); -var _e=this.ignoreCase?"toLowerCase":"substr"; -if(_d[_e](0).indexOf(this.focusNode.value[_e](0))==0){ -var _f=this._getCaretPos(fn); -if((_f+1)>fn.value.length){ -fn.value=_d; -dijit.selectInputText(fn,_f); -} -}else{ -fn.value=_d; -dijit.selectInputText(fn); -} -},_openResultList:function(_10,_11){ -this._fetchHandle=null; -if(this.disabled||this.readOnly||(_11.query[this.searchAttr]!=this._lastQuery)){ -return; -} -var _12=this.dropDown._highlighted_option&&dojo.hasClass(this.dropDown._highlighted_option,"dijitMenuItemSelected"); -this.dropDown.clearResultList(); -if(!_10.length&&!this._maxOptions){ -this.closeDropDown(); -return; -} -_11._maxOptions=this._maxOptions; -var _13=this.dropDown.createOptions(_10,_11,dojo.hitch(this,"_getMenuLabelFromItem")); -this._showResultList(); -if(_11.direction){ -if(1==_11.direction){ -this.dropDown.highlightFirstOption(); -}else{ -if(-1==_11.direction){ -this.dropDown.highlightLastOption(); -} -} -if(_12){ -this._announceOption(this.dropDown.getHighlightedOption()); -} -}else{ -if(this.autoComplete&&!this._prev_key_backspace&&!/^[*]+$/.test(_11.query[this.searchAttr])){ -this._announceOption(_13[1]); -} -} -},_showResultList:function(){ -this.closeDropDown(true); -this.displayMessage(""); -this.openDropDown(); -dijit.setWaiState(this.domNode,"expanded","true"); -},loadDropDown:function(_14){ -this._startSearchAll(); -},isLoaded:function(){ -return false; -},closeDropDown:function(){ -this._abortQuery(); -if(this._opened){ -this.inherited(arguments); -dijit.setWaiState(this.domNode,"expanded","false"); -dijit.removeWaiState(this.focusNode,"activedescendant"); -} -},_setBlurValue:function(){ -var _15=this.get("displayedValue"); -var pw=this.dropDown; -if(pw&&(_15==pw._messages["previousMessage"]||_15==pw._messages["nextMessage"])){ -this._setValueAttr(this._lastValueReported,true); -}else{ -if(typeof this.item=="undefined"){ -this.item=null; -this.set("displayedValue",_15); -}else{ -if(this.value!=this._lastValueReported){ -dijit.form._FormValueWidget.prototype._setValueAttr.call(this,this.value,true); -} -this._refreshState(); -} -} -},_onBlur:function(){ -this.closeDropDown(); -this.inherited(arguments); -},_setItemAttr:function(_16,_17,_18){ -if(!_18){ -_18=this.store.getValue(_16,this.searchAttr); -} -var _19=this._getValueField()!=this.searchAttr?this.store.getIdentity(_16):_18; -this._set("item",_16); -dijit.form.ComboBox.superclass._setValueAttr.call(this,_19,_17,_18); -},_announceOption:function(_1a){ -if(!_1a){ -return; -} -var _1b; -if(_1a==this.dropDown.nextButton||_1a==this.dropDown.previousButton){ -_1b=_1a.innerHTML; -this.item=undefined; -this.value=""; -}else{ -_1b=this.store.getValue(_1a.item,this.searchAttr).toString(); -this.set("item",_1a.item,false,_1b); -} -this.focusNode.value=this.focusNode.value.substring(0,this._lastInput.length); -dijit.setWaiState(this.focusNode,"activedescendant",dojo.attr(_1a,"id")); -this._autoCompleteText(_1b); -},_selectOption:function(evt){ -if(evt){ -this._announceOption(evt.target); -} -this.closeDropDown(); -this._setCaretPos(this.focusNode,this.focusNode.value.length); -dijit.form._FormValueWidget.prototype._setValueAttr.call(this,this.value,true); -},_startSearchAll:function(){ -this._startSearch(""); -},_startSearchFromInput:function(){ -this._startSearch(this.focusNode.value.replace(/([\\\*\?])/g,"\\$1")); -},_getQueryString:function(_1c){ -return dojo.string.substitute(this.queryExpr,[_1c]); -},_startSearch:function(key){ -if(!this.dropDown){ -var _1d=this.id+"_popup",_1e=dojo.getObject(this.dropDownClass,false); -this.dropDown=new _1e({onChange:dojo.hitch(this,this._selectOption),id:_1d,dir:this.dir}); -dijit.removeWaiState(this.focusNode,"activedescendant"); -dijit.setWaiState(this.textbox,"owns",_1d); -} -var _1f=dojo.clone(this.query); -this._lastInput=key; -this._lastQuery=_1f[this.searchAttr]=this._getQueryString(key); -this.searchTimer=setTimeout(dojo.hitch(this,function(_20,_21){ -this.searchTimer=null; -var _22={queryOptions:{ignoreCase:this.ignoreCase,deep:true},query:_20,onBegin:dojo.hitch(this,"_setMaxOptions"),onComplete:dojo.hitch(this,"_openResultList"),onError:function(_23){ -_21._fetchHandle=null; -console.error("dijit.form.ComboBox: "+_23); -_21.closeDropDown(); -},start:0,count:this.pageSize}; -dojo.mixin(_22,_21.fetchProperties); -this._fetchHandle=_21.store.fetch(_22); -var _24=function(_25,_26){ -_25.start+=_25.count*_26; -_25.direction=_26; -this._fetchHandle=this.store.fetch(_25); -this.focus(); -}; -this._nextSearch=this.dropDown.onPage=dojo.hitch(this,_24,this._fetchHandle); -},_1f,this),this.searchDelay); -},_setMaxOptions:function(_27,_28){ -this._maxOptions=_27; -},_getValueField:function(){ -return this.searchAttr; -},constructor:function(){ -this.query={}; -this.fetchProperties={}; -},postMixInProperties:function(){ -if(!this.store){ -var _29=this.srcNodeRef; -this.store=new dijit.form._ComboBoxDataStore(_29); -if(!("value" in this.params)){ -var _2a=(this.item=this.store.fetchSelectedItem()); -if(_2a){ -var _2b=this._getValueField(); -this.value=this.store.getValue(_2a,_2b); -} -} -} -this.inherited(arguments); -},postCreate:function(){ -var _2c=dojo.query("label[for=\""+this.id+"\"]"); -if(_2c.length){ -_2c[0].id=(this.id+"_label"); -dijit.setWaiState(this.domNode,"labelledby",_2c[0].id); -} -this.inherited(arguments); -},_setHasDownArrowAttr:function(val){ -this.hasDownArrow=val; -this._buttonNode.style.display=val?"":"none"; -},_getMenuLabelFromItem:function(_2d){ -var _2e=this.labelFunc(_2d,this.store),_2f=this.labelType; -if(this.highlightMatch!="none"&&this.labelType=="text"&&this._lastInput){ -_2e=this.doHighlight(_2e,this._escapeHtml(this._lastInput)); -_2f="html"; -} -return {html:_2f=="html",label:_2e}; -},doHighlight:function(_30,_31){ -var _32=(this.ignoreCase?"i":"")+(this.highlightMatch=="all"?"g":""),i=this.queryExpr.indexOf("${0}"); -_31=dojo.regexp.escapeString(_31); -return this._escapeHtml(_30).replace(new RegExp((i==0?"^":"")+"("+_31+")"+(i==(this.queryExpr.length-4)?"$":""),_32),"<span class=\"dijitComboBoxHighlightMatch\">$1</span>"); -},_escapeHtml:function(str){ -str=String(str).replace(/&/gm,"&").replace(/</gm,"<").replace(/>/gm,">").replace(/"/gm,"""); -return str; -},reset:function(){ -this.item=null; -this.inherited(arguments); -},labelFunc:function(_33,_34){ -return _34.getValue(_33,this.labelAttr||this.searchAttr).toString(); -}}); -dojo.declare("dijit.form._ComboBoxMenu",[dijit._Widget,dijit._Templated,dijit._CssStateMixin],{templateString:"<ul class='dijitReset dijitMenu' dojoAttachEvent='onmousedown:_onMouseDown,onmouseup:_onMouseUp,onmouseover:_onMouseOver,onmouseout:_onMouseOut' style='overflow: \"auto\"; overflow-x: \"hidden\";'>"+"<li class='dijitMenuItem dijitMenuPreviousButton' dojoAttachPoint='previousButton' role='option'></li>"+"<li class='dijitMenuItem dijitMenuNextButton' dojoAttachPoint='nextButton' role='option'></li>"+"</ul>",_messages:null,baseClass:"dijitComboBoxMenu",postMixInProperties:function(){ -this.inherited(arguments); -this._messages=dojo.i18n.getLocalization("dijit.form","ComboBox",this.lang); -},buildRendering:function(){ -this.inherited(arguments); -this.previousButton.innerHTML=this._messages["previousMessage"]; -this.nextButton.innerHTML=this._messages["nextMessage"]; -},_setValueAttr:function(_35){ -this.value=_35; -this.onChange(_35); -},onChange:function(_36){ -},onPage:function(_37){ -},onClose:function(){ -this._blurOptionNode(); -},_createOption:function(_38,_39){ -var _3a=dojo.create("li",{"class":"dijitReset dijitMenuItem"+(this.isLeftToRight()?"":" dijitMenuItemRtl"),role:"option"}); -var _3b=_39(_38); -if(_3b.html){ -_3a.innerHTML=_3b.label; -}else{ -_3a.appendChild(dojo.doc.createTextNode(_3b.label)); -} -if(_3a.innerHTML==""){ -_3a.innerHTML=" "; -} -_3a.item=_38; -return _3a; -},createOptions:function(_3c,_3d,_3e){ -this.previousButton.style.display=(_3d.start==0)?"none":""; -dojo.attr(this.previousButton,"id",this.id+"_prev"); -dojo.forEach(_3c,function(_3f,i){ -var _40=this._createOption(_3f,_3e); -dojo.attr(_40,"id",this.id+i); -this.domNode.insertBefore(_40,this.nextButton); -},this); -var _41=false; -if(_3d._maxOptions&&_3d._maxOptions!=-1){ -if((_3d.start+_3d.count)<_3d._maxOptions){ -_41=true; -}else{ -if((_3d.start+_3d.count)>_3d._maxOptions&&_3d.count==_3c.length){ -_41=true; -} -} -}else{ -if(_3d.count==_3c.length){ -_41=true; -} -} -this.nextButton.style.display=_41?"":"none"; -dojo.attr(this.nextButton,"id",this.id+"_next"); -return this.domNode.childNodes; -},clearResultList:function(){ -while(this.domNode.childNodes.length>2){ -this.domNode.removeChild(this.domNode.childNodes[this.domNode.childNodes.length-2]); -} -this._blurOptionNode(); -},_onMouseDown:function(evt){ -dojo.stopEvent(evt); -},_onMouseUp:function(evt){ -if(evt.target===this.domNode||!this._highlighted_option){ -return; -}else{ -if(evt.target==this.previousButton){ -this._blurOptionNode(); -this.onPage(-1); -}else{ -if(evt.target==this.nextButton){ -this._blurOptionNode(); -this.onPage(1); -}else{ -var tgt=evt.target; -while(!tgt.item){ -tgt=tgt.parentNode; -} -this._setValueAttr({target:tgt},true); -} -} -} -},_onMouseOver:function(evt){ -if(evt.target===this.domNode){ -return; -} -var tgt=evt.target; -if(!(tgt==this.previousButton||tgt==this.nextButton)){ -while(!tgt.item){ -tgt=tgt.parentNode; -} -} -this._focusOptionNode(tgt); -},_onMouseOut:function(evt){ -if(evt.target===this.domNode){ -return; -} -this._blurOptionNode(); -},_focusOptionNode:function(_42){ -if(this._highlighted_option!=_42){ -this._blurOptionNode(); -this._highlighted_option=_42; -dojo.addClass(this._highlighted_option,"dijitMenuItemSelected"); -} -},_blurOptionNode:function(){ -if(this._highlighted_option){ -dojo.removeClass(this._highlighted_option,"dijitMenuItemSelected"); -this._highlighted_option=null; -} -},_highlightNextOption:function(){ -if(!this.getHighlightedOption()){ -var fc=this.domNode.firstChild; -this._focusOptionNode(fc.style.display=="none"?fc.nextSibling:fc); -}else{ -var ns=this._highlighted_option.nextSibling; -if(ns&&ns.style.display!="none"){ -this._focusOptionNode(ns); -}else{ -this.highlightFirstOption(); -} -} -dojo.window.scrollIntoView(this._highlighted_option); -},highlightFirstOption:function(){ -var _43=this.domNode.firstChild; -var _44=_43.nextSibling; -this._focusOptionNode(_44.style.display=="none"?_43:_44); -dojo.window.scrollIntoView(this._highlighted_option); -},highlightLastOption:function(){ -this._focusOptionNode(this.domNode.lastChild.previousSibling); -dojo.window.scrollIntoView(this._highlighted_option); -},_highlightPrevOption:function(){ -if(!this.getHighlightedOption()){ -var lc=this.domNode.lastChild; -this._focusOptionNode(lc.style.display=="none"?lc.previousSibling:lc); -}else{ -var ps=this._highlighted_option.previousSibling; -if(ps&&ps.style.display!="none"){ -this._focusOptionNode(ps); -}else{ -this.highlightLastOption(); -} -} -dojo.window.scrollIntoView(this._highlighted_option); -},_page:function(up){ -var _45=0; -var _46=this.domNode.scrollTop; -var _47=dojo.style(this.domNode,"height"); -if(!this.getHighlightedOption()){ -this._highlightNextOption(); -} -while(_45<_47){ -if(up){ -if(!this.getHighlightedOption().previousSibling||this._highlighted_option.previousSibling.style.display=="none"){ -break; -} -this._highlightPrevOption(); -}else{ -if(!this.getHighlightedOption().nextSibling||this._highlighted_option.nextSibling.style.display=="none"){ -break; -} -this._highlightNextOption(); -} -var _48=this.domNode.scrollTop; -_45+=(_48-_46)*(up?-1:1); -_46=_48; -} -},pageUp:function(){ -this._page(true); -},pageDown:function(){ -this._page(false); -},getHighlightedOption:function(){ -var ho=this._highlighted_option; -return (ho&&ho.parentNode)?ho:null; -},handleKey:function(evt){ -switch(evt.charOrCode){ -case dojo.keys.DOWN_ARROW: -this._highlightNextOption(); -return false; -case dojo.keys.PAGE_DOWN: -this.pageDown(); -return false; -case dojo.keys.UP_ARROW: -this._highlightPrevOption(); -return false; -case dojo.keys.PAGE_UP: -this.pageUp(); -return false; -default: -return true; -} -}}); -dojo.declare("dijit.form.ComboBox",[dijit.form.ValidationTextBox,dijit.form.ComboBoxMixin],{_setValueAttr:function(_49,_4a,_4b){ -this._set("item",null); -if(!_49){ -_49=""; -} -dijit.form.ValidationTextBox.prototype._setValueAttr.call(this,_49,_4a,_4b); -}}); -dojo.declare("dijit.form._ComboBoxDataStore",null,{constructor:function(_4c){ -this.root=_4c; -if(_4c.tagName!="SELECT"&&_4c.firstChild){ -_4c=dojo.query("select",_4c); -if(_4c.length>0){ -_4c=_4c[0]; -}else{ -this.root.innerHTML="<SELECT>"+this.root.innerHTML+"</SELECT>"; -_4c=this.root.firstChild; -} -this.root=_4c; -} -dojo.query("> option",_4c).forEach(function(_4d){ -_4d.innerHTML=dojo.trim(_4d.innerHTML); -}); -},getValue:function(_4e,_4f,_50){ -return (_4f=="value")?_4e.value:(_4e.innerText||_4e.textContent||""); -},isItemLoaded:function(_51){ -return true; -},getFeatures:function(){ -return {"dojo.data.api.Read":true,"dojo.data.api.Identity":true}; -},_fetchItems:function(_52,_53,_54){ -if(!_52.query){ -_52.query={}; -} -if(!_52.query.name){ -_52.query.name=""; -} -if(!_52.queryOptions){ -_52.queryOptions={}; -} -var _55=dojo.data.util.filter.patternToRegExp(_52.query.name,_52.queryOptions.ignoreCase),_56=dojo.query("> option",this.root).filter(function(_57){ -return (_57.innerText||_57.textContent||"").match(_55); -}); -if(_52.sort){ -_56.sort(dojo.data.util.sorter.createSortFunction(_52.sort,this)); -} -_53(_56,_52); -},close:function(_58){ -return; -},getLabel:function(_59){ -return _59.innerHTML; -},getIdentity:function(_5a){ -return dojo.attr(_5a,"value"); -},fetchItemByIdentity:function(_5b){ -var _5c=dojo.query("> option[value='"+_5b.identity+"']",this.root)[0]; -_5b.onItem(_5c); -},fetchSelectedItem:function(){ -var _5d=this.root,si=_5d.selectedIndex; -return typeof si=="number"?dojo.query("> option:nth-child("+(si!=-1?si+1:1)+")",_5d)[0]:null; -}}); -dojo.extend(dijit.form._ComboBoxDataStore,dojo.data.util.simpleFetch); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/ComboButton.js b/resources/library/interactive/barre_prof.wgt/dijit/form/ComboButton.js deleted file mode 100644 index 71af2788..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/ComboButton.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.ComboButton"]){ -dojo._hasResource["dijit.form.ComboButton"]=true; -dojo.provide("dijit.form.ComboButton"); -dojo.require("dijit.form.Button"); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/CurrencyTextBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/CurrencyTextBox.js deleted file mode 100644 index a6ee9a9b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/CurrencyTextBox.js +++ /dev/null @@ -1,27 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.CurrencyTextBox"]){ -dojo._hasResource["dijit.form.CurrencyTextBox"]=true; -dojo.provide("dijit.form.CurrencyTextBox"); -dojo.require("dojo.currency"); -dojo.require("dijit.form.NumberTextBox"); -dojo.declare("dijit.form.CurrencyTextBox",dijit.form.NumberTextBox,{currency:"",baseClass:"dijitTextBox dijitCurrencyTextBox",regExpGen:function(_1){ -return "("+(this._focused?this.inherited(arguments,[dojo.mixin({},_1,this.editOptions)])+"|":"")+dojo.currency.regexp(_1)+")"; -},_formatter:dojo.currency.format,_parser:dojo.currency.parse,parse:function(_2,_3){ -var v=this.inherited(arguments); -if(isNaN(v)&&/\d+/.test(_2)){ -v=dojo.hitch(dojo.mixin({},this,{_parser:dijit.form.NumberTextBox.prototype._parser}),"inherited")(arguments); -} -return v; -},_setConstraintsAttr:function(_4){ -if(!_4.currency&&this.currency){ -_4.currency=this.currency; -} -this.inherited(arguments,[dojo.currency._mixInDefaults(dojo.mixin(_4,{exponent:false}))]); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/DateTextBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/DateTextBox.js deleted file mode 100644 index 8c0beaa0..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/DateTextBox.js +++ /dev/null @@ -1,14 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.DateTextBox"]){ -dojo._hasResource["dijit.form.DateTextBox"]=true; -dojo.provide("dijit.form.DateTextBox"); -dojo.require("dijit.Calendar"); -dojo.require("dijit.form._DateTimeTextBox"); -dojo.declare("dijit.form.DateTextBox",dijit.form._DateTimeTextBox,{baseClass:"dijitTextBox dijitComboBox dijitDateTextBox",popupClass:"dijit.Calendar",_selector:"date",value:new Date("")}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/DropDownButton.js b/resources/library/interactive/barre_prof.wgt/dijit/form/DropDownButton.js deleted file mode 100644 index 336d8885..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/DropDownButton.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.DropDownButton"]){ -dojo._hasResource["dijit.form.DropDownButton"]=true; -dojo.provide("dijit.form.DropDownButton"); -dojo.require("dijit.form.Button"); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/FilteringSelect.js b/resources/library/interactive/barre_prof.wgt/dijit/form/FilteringSelect.js deleted file mode 100644 index 14991c94..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/FilteringSelect.js +++ /dev/null @@ -1,95 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.FilteringSelect"]){ -dojo._hasResource["dijit.form.FilteringSelect"]=true; -dojo.provide("dijit.form.FilteringSelect"); -dojo.require("dijit.form.ComboBox"); -dojo.declare("dijit.form.FilteringSelect",[dijit.form.MappedTextBox,dijit.form.ComboBoxMixin],{required:true,_lastDisplayedValue:"",_isValidSubset:function(){ -return this._opened; -},isValid:function(){ -return this.item||(!this.required&&this.get("displayedValue")==""); -},_refreshState:function(){ -if(!this.searchTimer){ -this.inherited(arguments); -} -},_callbackSetLabel:function(_1,_2,_3){ -if((_2&&_2.query[this.searchAttr]!=this._lastQuery)||(!_2&&_1.length&&this.store.getIdentity(_1[0])!=this._lastQuery)){ -return; -} -if(!_1.length){ -this.valueNode.value=""; -dijit.form.TextBox.superclass._setValueAttr.call(this,"",_3||(_3===undefined&&!this._focused)); -this._set("item",null); -this.validate(this._focused); -}else{ -this.set("item",_1[0],_3); -} -},_openResultList:function(_4,_5){ -if(_5.query[this.searchAttr]!=this._lastQuery){ -return; -} -dijit.form.ComboBoxMixin.prototype._openResultList.apply(this,arguments); -if(this.item===undefined){ -this.validate(true); -} -},_getValueAttr:function(){ -return this.valueNode.value; -},_getValueField:function(){ -return "value"; -},_setValueAttr:function(_6,_7){ -if(!this._onChangeActive){ -_7=null; -} -this._lastQuery=_6; -if(_6===null||_6===""){ -this._setDisplayedValueAttr("",_7); -return; -} -var _8=this; -this.store.fetchItemByIdentity({identity:_6,onItem:function(_9){ -_8._callbackSetLabel(_9?[_9]:[],undefined,_7); -}}); -},_setItemAttr:function(_a,_b,_c){ -this.inherited(arguments); -this.valueNode.value=this.value; -this._lastDisplayedValue=this.textbox.value; -},_getDisplayQueryString:function(_d){ -return _d.replace(/([\\\*\?])/g,"\\$1"); -},_setDisplayedValueAttr:function(_e,_f){ -if(_e==null){ -_e=""; -} -if(!this._created){ -if(!("displayedValue" in this.params)){ -return; -} -_f=false; -} -if(this.store){ -this.closeDropDown(); -var _10=dojo.clone(this.query); -this._lastQuery=_10[this.searchAttr]=this._getDisplayQueryString(_e); -this.textbox.value=_e; -this._lastDisplayedValue=_e; -this._set("displayedValue",_e); -var _11=this; -var _12={query:_10,queryOptions:{ignoreCase:this.ignoreCase,deep:true},onComplete:function(_13,_14){ -_11._fetchHandle=null; -dojo.hitch(_11,"_callbackSetLabel")(_13,_14,_f); -},onError:function(_15){ -_11._fetchHandle=null; -console.error("dijit.form.FilteringSelect: "+_15); -dojo.hitch(_11,"_callbackSetLabel")([],undefined,false); -}}; -dojo.mixin(_12,this.fetchProperties); -this._fetchHandle=this.store.fetch(_12); -} -},undo:function(){ -this.set("displayedValue",this._lastDisplayedValue); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/Form.js b/resources/library/interactive/barre_prof.wgt/dijit/form/Form.js deleted file mode 100644 index e8b2ebcd..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/Form.js +++ /dev/null @@ -1,65 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.Form"]){ -dojo._hasResource["dijit.form.Form"]=true; -dojo.provide("dijit.form.Form"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Templated"); -dojo.require("dijit.form._FormMixin"); -dojo.require("dijit.layout._ContentPaneResizeMixin"); -dojo.declare("dijit.form.Form",[dijit._Widget,dijit._Templated,dijit.form._FormMixin,dijit.layout._ContentPaneResizeMixin],{name:"",action:"",method:"",encType:"","accept-charset":"",accept:"",target:"",templateString:"<form dojoAttachPoint='containerNode' dojoAttachEvent='onreset:_onReset,onsubmit:_onSubmit' ${!nameAttrSetting}></form>",attributeMap:dojo.delegate(dijit._Widget.prototype.attributeMap,{action:"",method:"",encType:"","accept-charset":"",accept:"",target:""}),postMixInProperties:function(){ -this.nameAttrSetting=this.name?("name='"+this.name+"'"):""; -this.inherited(arguments); -},execute:function(_1){ -},onExecute:function(){ -},_setEncTypeAttr:function(_2){ -this.encType=_2; -dojo.attr(this.domNode,"encType",_2); -if(dojo.isIE){ -this.domNode.encoding=_2; -} -},postCreate:function(){ -if(dojo.isIE&&this.srcNodeRef&&this.srcNodeRef.attributes){ -var _3=this.srcNodeRef.attributes.getNamedItem("encType"); -if(_3&&!_3.specified&&(typeof _3.value=="string")){ -this.set("encType",_3.value); -} -} -this.inherited(arguments); -},reset:function(e){ -var _4={returnValue:true,preventDefault:function(){ -this.returnValue=false; -},stopPropagation:function(){ -},currentTarget:e?e.target:this.domNode,target:e?e.target:this.domNode}; -if(!(this.onReset(_4)===false)&&_4.returnValue){ -this.inherited(arguments,[]); -} -},onReset:function(e){ -return true; -},_onReset:function(e){ -this.reset(e); -dojo.stopEvent(e); -return false; -},_onSubmit:function(e){ -var fp=dijit.form.Form.prototype; -if(this.execute!=fp.execute||this.onExecute!=fp.onExecute){ -dojo.deprecated("dijit.form.Form:execute()/onExecute() are deprecated. Use onSubmit() instead.","","2.0"); -this.onExecute(); -this.execute(this.getValues()); -} -if(this.onSubmit(e)===false){ -dojo.stopEvent(e); -} -},onSubmit:function(e){ -return this.isValid(); -},submit:function(){ -if(!(this.onSubmit()===false)){ -this.containerNode.submit(); -} -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/HorizontalRule.js b/resources/library/interactive/barre_prof.wgt/dijit/form/HorizontalRule.js deleted file mode 100644 index b23675af..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/HorizontalRule.js +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.HorizontalRule"]){ -dojo._hasResource["dijit.form.HorizontalRule"]=true; -dojo.provide("dijit.form.HorizontalRule"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Templated"); -dojo.declare("dijit.form.HorizontalRule",[dijit._Widget,dijit._Templated],{templateString:"<div class=\"dijitRuleContainer dijitRuleContainerH\"></div>",count:3,container:"containerNode",ruleStyle:"",_positionPrefix:"<div class=\"dijitRuleMark dijitRuleMarkH\" style=\"left:",_positionSuffix:"%;",_suffix:"\"></div>",_genHTML:function(_1,_2){ -return this._positionPrefix+_1+this._positionSuffix+this.ruleStyle+this._suffix; -},_isHorizontal:true,buildRendering:function(){ -this.inherited(arguments); -var _3; -if(this.count==1){ -_3=this._genHTML(50,0); -}else{ -var i; -var _4=100/(this.count-1); -if(!this._isHorizontal||this.isLeftToRight()){ -_3=this._genHTML(0,0); -for(i=1;i<this.count-1;i++){ -_3+=this._genHTML(_4*i,i); -} -_3+=this._genHTML(100,this.count-1); -}else{ -_3=this._genHTML(100,0); -for(i=1;i<this.count-1;i++){ -_3+=this._genHTML(100-_4*i,i); -} -_3+=this._genHTML(0,this.count-1); -} -} -this.domNode.innerHTML=_3; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/HorizontalRuleLabels.js b/resources/library/interactive/barre_prof.wgt/dijit/form/HorizontalRuleLabels.js deleted file mode 100644 index de04791d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/HorizontalRuleLabels.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.HorizontalRuleLabels"]){ -dojo._hasResource["dijit.form.HorizontalRuleLabels"]=true; -dojo.provide("dijit.form.HorizontalRuleLabels"); -dojo.require("dijit.form.HorizontalRule"); -dojo.declare("dijit.form.HorizontalRuleLabels",dijit.form.HorizontalRule,{templateString:"<div class=\"dijitRuleContainer dijitRuleContainerH dijitRuleLabelsContainer dijitRuleLabelsContainerH\"></div>",labelStyle:"",labels:[],numericMargin:0,minimum:0,maximum:1,constraints:{pattern:"#%"},_positionPrefix:"<div class=\"dijitRuleLabelContainer dijitRuleLabelContainerH\" style=\"left:",_labelPrefix:"\"><div class=\"dijitRuleLabel dijitRuleLabelH\">",_suffix:"</div></div>",_calcPosition:function(_1){ -return _1; -},_genHTML:function(_2,_3){ -return this._positionPrefix+this._calcPosition(_2)+this._positionSuffix+this.labelStyle+this._labelPrefix+this.labels[_3]+this._suffix; -},getLabels:function(){ -var _4=this.labels; -if(!_4.length){ -_4=dojo.query("> li",this.srcNodeRef).map(function(_5){ -return String(_5.innerHTML); -}); -} -this.srcNodeRef.innerHTML=""; -if(!_4.length&&this.count>1){ -var _6=this.minimum; -var _7=(this.maximum-_6)/(this.count-1); -for(var i=0;i<this.count;i++){ -_4.push((i<this.numericMargin||i>=(this.count-this.numericMargin))?"":dojo.number.format(_6,this.constraints)); -_6+=_7; -} -} -return _4; -},postMixInProperties:function(){ -this.inherited(arguments); -this.labels=this.getLabels(); -this.count=this.labels.length; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/HorizontalSlider.js b/resources/library/interactive/barre_prof.wgt/dijit/form/HorizontalSlider.js deleted file mode 100644 index 025fcb55..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/HorizontalSlider.js +++ /dev/null @@ -1,213 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.HorizontalSlider"]){ -dojo._hasResource["dijit.form.HorizontalSlider"]=true; -dojo.provide("dijit.form.HorizontalSlider"); -dojo.require("dijit.form._FormWidget"); -dojo.require("dijit._Container"); -dojo.require("dojo.dnd.move"); -dojo.require("dijit.form.Button"); -dojo.require("dojo.number"); -dojo.declare("dijit.form.HorizontalSlider",[dijit.form._FormValueWidget,dijit._Container],{templateString:dojo.cache("dijit.form","templates/HorizontalSlider.html","<table class=\"dijit dijitReset dijitSlider dijitSliderH\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" rules=\"none\" dojoAttachEvent=\"onkeypress:_onKeyPress,onkeyup:_onKeyUp\"\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\" colspan=\"2\"></td\n\t\t><td dojoAttachPoint=\"topDecoration\" class=\"dijitReset dijitSliderDecoration dijitSliderDecorationT dijitSliderDecorationH\"></td\n\t\t><td class=\"dijitReset\" colspan=\"2\"></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset dijitSliderButtonContainer dijitSliderButtonContainerH\"\n\t\t\t><div class=\"dijitSliderDecrementIconH\" style=\"display:none\" dojoAttachPoint=\"decrementButton\"><span class=\"dijitSliderButtonInner\">-</span></div\n\t\t></td\n\t\t><td class=\"dijitReset\"\n\t\t\t><div class=\"dijitSliderBar dijitSliderBumper dijitSliderBumperH dijitSliderLeftBumper\" dojoAttachEvent=\"onmousedown:_onClkDecBumper\"></div\n\t\t></td\n\t\t><td class=\"dijitReset\"\n\t\t\t><input dojoAttachPoint=\"valueNode\" type=\"hidden\" ${!nameAttrSetting}\n\t\t\t/><div class=\"dijitReset dijitSliderBarContainerH\" role=\"presentation\" dojoAttachPoint=\"sliderBarContainer\"\n\t\t\t\t><div role=\"presentation\" dojoAttachPoint=\"progressBar\" class=\"dijitSliderBar dijitSliderBarH dijitSliderProgressBar dijitSliderProgressBarH\" dojoAttachEvent=\"onmousedown:_onBarClick\"\n\t\t\t\t\t><div class=\"dijitSliderMoveable dijitSliderMoveableH\"\n\t\t\t\t\t\t><div dojoAttachPoint=\"sliderHandle,focusNode\" class=\"dijitSliderImageHandle dijitSliderImageHandleH\" dojoAttachEvent=\"onmousedown:_onHandleClick\" role=\"slider\" valuemin=\"${minimum}\" valuemax=\"${maximum}\"></div\n\t\t\t\t\t></div\n\t\t\t\t></div\n\t\t\t\t><div role=\"presentation\" dojoAttachPoint=\"remainingBar\" class=\"dijitSliderBar dijitSliderBarH dijitSliderRemainingBar dijitSliderRemainingBarH\" dojoAttachEvent=\"onmousedown:_onBarClick\"></div\n\t\t\t></div\n\t\t></td\n\t\t><td class=\"dijitReset\"\n\t\t\t><div class=\"dijitSliderBar dijitSliderBumper dijitSliderBumperH dijitSliderRightBumper\" dojoAttachEvent=\"onmousedown:_onClkIncBumper\"></div\n\t\t></td\n\t\t><td class=\"dijitReset dijitSliderButtonContainer dijitSliderButtonContainerH\"\n\t\t\t><div class=\"dijitSliderIncrementIconH\" style=\"display:none\" dojoAttachPoint=\"incrementButton\"><span class=\"dijitSliderButtonInner\">+</span></div\n\t\t></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\" colspan=\"2\"></td\n\t\t><td dojoAttachPoint=\"containerNode,bottomDecoration\" class=\"dijitReset dijitSliderDecoration dijitSliderDecorationB dijitSliderDecorationH\"></td\n\t\t><td class=\"dijitReset\" colspan=\"2\"></td\n\t></tr\n></table>\n"),value:0,showButtons:true,minimum:0,maximum:100,discreteValues:Infinity,pageIncrement:2,clickSelect:true,slideDuration:dijit.defaultDuration,widgetsInTemplate:true,attributeMap:dojo.delegate(dijit.form._FormWidget.prototype.attributeMap,{id:""}),baseClass:"dijitSlider",cssStateNodes:{incrementButton:"dijitSliderIncrementButton",decrementButton:"dijitSliderDecrementButton",focusNode:"dijitSliderThumb"},_mousePixelCoord:"pageX",_pixelCount:"w",_startingPixelCoord:"x",_startingPixelCount:"l",_handleOffsetCoord:"left",_progressPixelSize:"width",_onKeyUp:function(e){ -if(this.disabled||this.readOnly||e.altKey||e.ctrlKey||e.metaKey){ -return; -} -this._setValueAttr(this.value,true); -},_onKeyPress:function(e){ -if(this.disabled||this.readOnly||e.altKey||e.ctrlKey||e.metaKey){ -return; -} -switch(e.charOrCode){ -case dojo.keys.HOME: -this._setValueAttr(this.minimum,false); -break; -case dojo.keys.END: -this._setValueAttr(this.maximum,false); -break; -case ((this._descending||this.isLeftToRight())?dojo.keys.RIGHT_ARROW:dojo.keys.LEFT_ARROW): -case (this._descending===false?dojo.keys.DOWN_ARROW:dojo.keys.UP_ARROW): -case (this._descending===false?dojo.keys.PAGE_DOWN:dojo.keys.PAGE_UP): -this.increment(e); -break; -case ((this._descending||this.isLeftToRight())?dojo.keys.LEFT_ARROW:dojo.keys.RIGHT_ARROW): -case (this._descending===false?dojo.keys.UP_ARROW:dojo.keys.DOWN_ARROW): -case (this._descending===false?dojo.keys.PAGE_UP:dojo.keys.PAGE_DOWN): -this.decrement(e); -break; -default: -return; -} -dojo.stopEvent(e); -},_onHandleClick:function(e){ -if(this.disabled||this.readOnly){ -return; -} -if(!dojo.isIE){ -dijit.focus(this.sliderHandle); -} -dojo.stopEvent(e); -},_isReversed:function(){ -return !this.isLeftToRight(); -},_onBarClick:function(e){ -if(this.disabled||this.readOnly||!this.clickSelect){ -return; -} -dijit.focus(this.sliderHandle); -dojo.stopEvent(e); -var _1=dojo.position(this.sliderBarContainer,true); -var _2=e[this._mousePixelCoord]-_1[this._startingPixelCoord]; -this._setPixelValue(this._isReversed()?(_1[this._pixelCount]-_2):_2,_1[this._pixelCount],true); -this._movable.onMouseDown(e); -},_setPixelValue:function(_3,_4,_5){ -if(this.disabled||this.readOnly){ -return; -} -_3=_3<0?0:_4<_3?_4:_3; -var _6=this.discreteValues; -if(_6<=1||_6==Infinity){ -_6=_4; -} -_6--; -var _7=_4/_6; -var _8=Math.round(_3/_7); -this._setValueAttr((this.maximum-this.minimum)*_8/_6+this.minimum,_5); -},_setValueAttr:function(_9,_a){ -this._set("value",_9); -this.valueNode.value=_9; -dijit.setWaiState(this.focusNode,"valuenow",_9); -this.inherited(arguments); -var _b=(_9-this.minimum)/(this.maximum-this.minimum); -var _c=(this._descending===false)?this.remainingBar:this.progressBar; -var _d=(this._descending===false)?this.progressBar:this.remainingBar; -if(this._inProgressAnim&&this._inProgressAnim.status!="stopped"){ -this._inProgressAnim.stop(true); -} -if(_a&&this.slideDuration>0&&_c.style[this._progressPixelSize]){ -var _e=this; -var _f={}; -var _10=parseFloat(_c.style[this._progressPixelSize]); -var _11=this.slideDuration*(_b-_10/100); -if(_11==0){ -return; -} -if(_11<0){ -_11=0-_11; -} -_f[this._progressPixelSize]={start:_10,end:_b*100,units:"%"}; -this._inProgressAnim=dojo.animateProperty({node:_c,duration:_11,onAnimate:function(v){ -_d.style[_e._progressPixelSize]=(100-parseFloat(v[_e._progressPixelSize]))+"%"; -},onEnd:function(){ -delete _e._inProgressAnim; -},properties:_f}); -this._inProgressAnim.play(); -}else{ -_c.style[this._progressPixelSize]=(_b*100)+"%"; -_d.style[this._progressPixelSize]=((1-_b)*100)+"%"; -} -},_bumpValue:function(_12,_13){ -if(this.disabled||this.readOnly){ -return; -} -var s=dojo.getComputedStyle(this.sliderBarContainer); -var c=dojo._getContentBox(this.sliderBarContainer,s); -var _14=this.discreteValues; -if(_14<=1||_14==Infinity){ -_14=c[this._pixelCount]; -} -_14--; -var _15=(this.value-this.minimum)*_14/(this.maximum-this.minimum)+_12; -if(_15<0){ -_15=0; -} -if(_15>_14){ -_15=_14; -} -_15=_15*(this.maximum-this.minimum)/_14+this.minimum; -this._setValueAttr(_15,_13); -},_onClkBumper:function(val){ -if(this.disabled||this.readOnly||!this.clickSelect){ -return; -} -this._setValueAttr(val,true); -},_onClkIncBumper:function(){ -this._onClkBumper(this._descending===false?this.minimum:this.maximum); -},_onClkDecBumper:function(){ -this._onClkBumper(this._descending===false?this.maximum:this.minimum); -},decrement:function(e){ -this._bumpValue(e.charOrCode==dojo.keys.PAGE_DOWN?-this.pageIncrement:-1); -},increment:function(e){ -this._bumpValue(e.charOrCode==dojo.keys.PAGE_UP?this.pageIncrement:1); -},_mouseWheeled:function(evt){ -dojo.stopEvent(evt); -var _16=!dojo.isMozilla; -var _17=evt[(_16?"wheelDelta":"detail")]*(_16?1:-1); -this._bumpValue(_17<0?-1:1,true); -},startup:function(){ -if(this._started){ -return; -} -dojo.forEach(this.getChildren(),function(_18){ -if(this[_18.container]!=this.containerNode){ -this[_18.container].appendChild(_18.domNode); -} -},this); -this.inherited(arguments); -},_typematicCallback:function(_19,_1a,e){ -if(_19==-1){ -this._setValueAttr(this.value,true); -}else{ -this[(_1a==(this._descending?this.incrementButton:this.decrementButton))?"decrement":"increment"](e); -} -},buildRendering:function(){ -this.inherited(arguments); -if(this.showButtons){ -this.incrementButton.style.display=""; -this.decrementButton.style.display=""; -} -var _1b=dojo.query("label[for=\""+this.id+"\"]"); -if(_1b.length){ -_1b[0].id=(this.id+"_label"); -dijit.setWaiState(this.focusNode,"labelledby",_1b[0].id); -} -dijit.setWaiState(this.focusNode,"valuemin",this.minimum); -dijit.setWaiState(this.focusNode,"valuemax",this.maximum); -},postCreate:function(){ -this.inherited(arguments); -if(this.showButtons){ -this._connects.push(dijit.typematic.addMouseListener(this.decrementButton,this,"_typematicCallback",25,500)); -this._connects.push(dijit.typematic.addMouseListener(this.incrementButton,this,"_typematicCallback",25,500)); -} -this.connect(this.domNode,!dojo.isMozilla?"onmousewheel":"DOMMouseScroll","_mouseWheeled"); -var _1c=dojo.declare(dijit.form._SliderMover,{widget:this}); -this._movable=new dojo.dnd.Moveable(this.sliderHandle,{mover:_1c}); -this._layoutHackIE7(); -},destroy:function(){ -this._movable.destroy(); -if(this._inProgressAnim&&this._inProgressAnim.status!="stopped"){ -this._inProgressAnim.stop(true); -} -this._supportingWidgets=dijit.findWidgets(this.domNode); -this.inherited(arguments); -}}); -dojo.declare("dijit.form._SliderMover",dojo.dnd.Mover,{onMouseMove:function(e){ -var _1d=this.widget; -var _1e=_1d._abspos; -if(!_1e){ -_1e=_1d._abspos=dojo.position(_1d.sliderBarContainer,true); -_1d._setPixelValue_=dojo.hitch(_1d,"_setPixelValue"); -_1d._isReversed_=_1d._isReversed(); -} -var _1f=e.touches?e.touches[0]:e,_20=_1f[_1d._mousePixelCoord]-_1e[_1d._startingPixelCoord]; -_1d._setPixelValue_(_1d._isReversed_?(_1e[_1d._pixelCount]-_20):_20,_1e[_1d._pixelCount],false); -},destroy:function(e){ -dojo.dnd.Mover.prototype.destroy.apply(this,arguments); -var _21=this.widget; -_21._abspos=null; -_21._setValueAttr(_21.value,true); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/MappedTextBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/MappedTextBox.js deleted file mode 100644 index f78d3173..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/MappedTextBox.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.MappedTextBox"]){ -dojo._hasResource["dijit.form.MappedTextBox"]=true; -dojo.provide("dijit.form.MappedTextBox"); -dojo.require("dijit.form.ValidationTextBox"); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/MultiSelect.js b/resources/library/interactive/barre_prof.wgt/dijit/form/MultiSelect.js deleted file mode 100644 index 1e7b6494..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/MultiSelect.js +++ /dev/null @@ -1,49 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.MultiSelect"]){ -dojo._hasResource["dijit.form.MultiSelect"]=true; -dojo.provide("dijit.form.MultiSelect"); -dojo.require("dijit.form._FormWidget"); -dojo.declare("dijit.form.MultiSelect",dijit.form._FormValueWidget,{size:7,templateString:"<select multiple='true' ${!nameAttrSetting} dojoAttachPoint='containerNode,focusNode' dojoAttachEvent='onchange: _onChange'></select>",attributeMap:dojo.delegate(dijit.form._FormWidget.prototype.attributeMap,{size:"focusNode"}),reset:function(){ -this._hasBeenBlurred=false; -this._setValueAttr(this._resetValue,true); -},addSelected:function(_1){ -_1.getSelected().forEach(function(n){ -this.containerNode.appendChild(n); -this.domNode.scrollTop=this.domNode.offsetHeight; -var _2=_1.domNode.scrollTop; -_1.domNode.scrollTop=0; -_1.domNode.scrollTop=_2; -},this); -},getSelected:function(){ -return dojo.query("option",this.containerNode).filter(function(n){ -return n.selected; -}); -},_getValueAttr:function(){ -return this.getSelected().map(function(n){ -return n.value; -}); -},multiple:true,_setValueAttr:function(_3){ -dojo.query("option",this.containerNode).forEach(function(n){ -n.selected=(dojo.indexOf(_3,n.value)!=-1); -}); -},invertSelection:function(_4){ -dojo.query("option",this.containerNode).forEach(function(n){ -n.selected=!n.selected; -}); -this._handleOnChange(this.get("value"),_4==true); -},_onChange:function(e){ -this._handleOnChange(this.get("value"),true); -},resize:function(_5){ -if(_5){ -dojo.marginBox(this.domNode,_5); -} -},postCreate:function(){ -this._onChange(); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/NumberSpinner.js b/resources/library/interactive/barre_prof.wgt/dijit/form/NumberSpinner.js deleted file mode 100644 index 5e441bce..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/NumberSpinner.js +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.NumberSpinner"]){ -dojo._hasResource["dijit.form.NumberSpinner"]=true; -dojo.provide("dijit.form.NumberSpinner"); -dojo.require("dijit.form._Spinner"); -dojo.require("dijit.form.NumberTextBox"); -dojo.declare("dijit.form.NumberSpinner",[dijit.form._Spinner,dijit.form.NumberTextBoxMixin],{adjust:function(_1,_2){ -var tc=this.constraints,v=isNaN(_1),_3=!isNaN(tc.max),_4=!isNaN(tc.min); -if(v&&_2!=0){ -_1=(_2>0)?_4?tc.min:_3?tc.max:0:_3?this.constraints.max:_4?tc.min:0; -} -var _5=_1+_2; -if(v||isNaN(_5)){ -return _1; -} -if(_3&&(_5>tc.max)){ -_5=tc.max; -} -if(_4&&(_5<tc.min)){ -_5=tc.min; -} -return _5; -},_onKeyPress:function(e){ -if((e.charOrCode==dojo.keys.HOME||e.charOrCode==dojo.keys.END)&&!(e.ctrlKey||e.altKey||e.metaKey)&&typeof this.get("value")!="undefined"){ -var _6=this.constraints[(e.charOrCode==dojo.keys.HOME?"min":"max")]; -if(typeof _6=="number"){ -this._setValueAttr(_6,false); -} -dojo.stopEvent(e); -} -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/NumberTextBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/NumberTextBox.js deleted file mode 100644 index e0b6ad4e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/NumberTextBox.js +++ /dev/null @@ -1,121 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.NumberTextBox"]){ -dojo._hasResource["dijit.form.NumberTextBox"]=true; -dojo.provide("dijit.form.NumberTextBox"); -dojo.require("dijit.form.ValidationTextBox"); -dojo.require("dojo.number"); -dojo.declare("dijit.form.NumberTextBoxMixin",null,{regExpGen:dojo.number.regexp,value:NaN,editOptions:{pattern:"#.######"},_formatter:dojo.number.format,_setConstraintsAttr:function(_1){ -var _2=typeof _1.places=="number"?_1.places:0; -if(_2){ -_2++; -} -if(typeof _1.max!="number"){ -_1.max=9*Math.pow(10,15-_2); -} -if(typeof _1.min!="number"){ -_1.min=-9*Math.pow(10,15-_2); -} -this.inherited(arguments,[_1]); -if(this.focusNode&&this.focusNode.value&&!isNaN(this.value)){ -this.set("value",this.value); -} -},_onFocus:function(){ -if(this.disabled){ -return; -} -var _3=this.get("value"); -if(typeof _3=="number"&&!isNaN(_3)){ -var _4=this.format(_3,this.constraints); -if(_4!==undefined){ -this.textbox.value=_4; -} -} -this.inherited(arguments); -},format:function(_5,_6){ -var _7=String(_5); -if(typeof _5!="number"){ -return _7; -} -if(isNaN(_5)){ -return ""; -} -if(!("rangeCheck" in this&&this.rangeCheck(_5,_6))&&_6.exponent!==false&&/\de[-+]?\d/i.test(_7)){ -return _7; -} -if(this.editOptions&&this._focused){ -_6=dojo.mixin({},_6,this.editOptions); -} -return this._formatter(_5,_6); -},_parser:dojo.number.parse,parse:function(_8,_9){ -var v=this._parser(_8,dojo.mixin({},_9,(this.editOptions&&this._focused)?this.editOptions:{})); -if(this.editOptions&&this._focused&&isNaN(v)){ -v=this._parser(_8,_9); -} -return v; -},_getDisplayedValueAttr:function(){ -var v=this.inherited(arguments); -return isNaN(v)?this.textbox.value:v; -},filter:function(_a){ -return (_a===null||_a===""||_a===undefined)?NaN:this.inherited(arguments); -},serialize:function(_b,_c){ -return (typeof _b!="number"||isNaN(_b))?"":this.inherited(arguments); -},_setBlurValue:function(){ -var _d=dojo.hitch(dojo.mixin({},this,{_focused:true}),"get")("value"); -this._setValueAttr(_d,true); -},_setValueAttr:function(_e,_f,_10){ -if(_e!==undefined&&_10===undefined){ -_10=String(_e); -if(typeof _e=="number"){ -if(isNaN(_e)){ -_10=""; -}else{ -if(("rangeCheck" in this&&this.rangeCheck(_e,this.constraints))||this.constraints.exponent===false||!/\de[-+]?\d/i.test(_10)){ -_10=undefined; -} -} -}else{ -if(!_e){ -_10=""; -_e=NaN; -}else{ -_e=undefined; -} -} -} -this.inherited(arguments,[_e,_f,_10]); -},_getValueAttr:function(){ -var v=this.inherited(arguments); -if(isNaN(v)&&this.textbox.value!==""){ -if(this.constraints.exponent!==false&&/\de[-+]?\d/i.test(this.textbox.value)&&(new RegExp("^"+dojo.number._realNumberRegexp(dojo.mixin({},this.constraints))+"$").test(this.textbox.value))){ -var n=Number(this.textbox.value); -return isNaN(n)?undefined:n; -}else{ -return undefined; -} -}else{ -return v; -} -},isValid:function(_11){ -if(!this._focused||this._isEmpty(this.textbox.value)){ -return this.inherited(arguments); -}else{ -var v=this.get("value"); -if(!isNaN(v)&&this.rangeCheck(v,this.constraints)){ -if(this.constraints.exponent!==false&&/\de[-+]?\d/i.test(this.textbox.value)){ -return true; -}else{ -return this.inherited(arguments); -} -}else{ -return false; -} -} -}}); -dojo.declare("dijit.form.NumberTextBox",[dijit.form.RangeBoundTextBox,dijit.form.NumberTextBoxMixin],{baseClass:"dijitTextBox dijitNumberTextBox"}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/RadioButton.js b/resources/library/interactive/barre_prof.wgt/dijit/form/RadioButton.js deleted file mode 100644 index 5db73ca6..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/RadioButton.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.RadioButton"]){ -dojo._hasResource["dijit.form.RadioButton"]=true; -dojo.provide("dijit.form.RadioButton"); -dojo.require("dijit.form.CheckBox"); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/RangeBoundTextBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/RangeBoundTextBox.js deleted file mode 100644 index f74ea148..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/RangeBoundTextBox.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.RangeBoundTextBox"]){ -dojo._hasResource["dijit.form.RangeBoundTextBox"]=true; -dojo.provide("dijit.form.RangeBoundTextBox"); -dojo.require("dijit.form.ValidationTextBox"); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/Select.js b/resources/library/interactive/barre_prof.wgt/dijit/form/Select.js deleted file mode 100644 index 59212f34..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/Select.js +++ /dev/null @@ -1,142 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.Select"]){ -dojo._hasResource["dijit.form.Select"]=true; -dojo.provide("dijit.form.Select"); -dojo.require("dijit.form._FormSelectWidget"); -dojo.require("dijit._HasDropDown"); -dojo.require("dijit.Menu"); -dojo.require("dijit.Tooltip"); -dojo.requireLocalization("dijit.form","validate",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dijit.form._SelectMenu",dijit.Menu,{buildRendering:function(){ -this.inherited(arguments); -var o=(this.menuTableNode=this.domNode); -var n=(this.domNode=dojo.create("div",{style:{overflowX:"hidden",overflowY:"scroll"}})); -if(o.parentNode){ -o.parentNode.replaceChild(n,o); -} -dojo.removeClass(o,"dijitMenuTable"); -n.className=o.className+" dijitSelectMenu"; -o.className="dijitReset dijitMenuTable"; -dijit.setWaiRole(o,"listbox"); -dijit.setWaiRole(n,"presentation"); -n.appendChild(o); -},postCreate:function(){ -this.inherited(arguments); -this.connect(this.domNode,"onmousemove",dojo.stopEvent); -},resize:function(mb){ -if(mb){ -dojo.marginBox(this.domNode,mb); -if("w" in mb){ -this.menuTableNode.style.width="100%"; -} -} -}}); -dojo.declare("dijit.form.Select",[dijit.form._FormSelectWidget,dijit._HasDropDown],{baseClass:"dijitSelect",templateString:dojo.cache("dijit.form","templates/Select.html","<table class=\"dijit dijitReset dijitInline dijitLeft\"\n\tdojoAttachPoint=\"_buttonNode,tableNode,focusNode\" cellspacing='0' cellpadding='0'\n\trole=\"combobox\" aria-haspopup=\"true\"\n\t><tbody role=\"presentation\"><tr role=\"presentation\"\n\t\t><td class=\"dijitReset dijitStretch dijitButtonContents dijitButtonNode\" role=\"presentation\"\n\t\t\t><span class=\"dijitReset dijitInline dijitButtonText\" dojoAttachPoint=\"containerNode,_popupStateNode\"></span\n\t\t\t><input type=\"hidden\" ${!nameAttrSetting} dojoAttachPoint=\"valueNode\" value=\"${value}\" aria-hidden=\"true\"\n\t\t/></td><td class=\"dijitReset dijitRight dijitButtonNode dijitArrowButton dijitDownArrowButton\"\n\t\t\t\tdojoAttachPoint=\"titleNode\" role=\"presentation\"\n\t\t\t><div class=\"dijitReset dijitArrowButtonInner\" role=\"presentation\"></div\n\t\t\t><div class=\"dijitReset dijitArrowButtonChar\" role=\"presentation\">▼</div\n\t\t></td\n\t></tr></tbody\n></table>\n"),attributeMap:dojo.mixin(dojo.clone(dijit.form._FormSelectWidget.prototype.attributeMap),{style:"tableNode"}),required:false,state:"",message:"",tooltipPosition:[],emptyLabel:" ",_isLoaded:false,_childrenLoaded:false,_fillContent:function(){ -this.inherited(arguments); -if(this.options.length&&!this.value&&this.srcNodeRef){ -var si=this.srcNodeRef.selectedIndex||0; -this.value=this.options[si>=0?si:0].value; -} -this.dropDown=new dijit.form._SelectMenu({id:this.id+"_menu"}); -dojo.addClass(this.dropDown.domNode,this.baseClass+"Menu"); -},_getMenuItemForOption:function(_1){ -if(!_1.value&&!_1.label){ -return new dijit.MenuSeparator(); -}else{ -var _2=dojo.hitch(this,"_setValueAttr",_1); -var _3=new dijit.MenuItem({option:_1,label:_1.label||this.emptyLabel,onClick:_2,disabled:_1.disabled||false}); -dijit.setWaiRole(_3.focusNode,"listitem"); -return _3; -} -},_addOptionItem:function(_4){ -if(this.dropDown){ -this.dropDown.addChild(this._getMenuItemForOption(_4)); -} -},_getChildren:function(){ -if(!this.dropDown){ -return []; -} -return this.dropDown.getChildren(); -},_loadChildren:function(_5){ -if(_5===true){ -if(this.dropDown){ -delete this.dropDown.focusedChild; -} -if(this.options.length){ -this.inherited(arguments); -}else{ -dojo.forEach(this._getChildren(),function(_6){ -_6.destroyRecursive(); -}); -var _7=new dijit.MenuItem({label:" "}); -this.dropDown.addChild(_7); -} -}else{ -this._updateSelection(); -} -this._isLoaded=false; -this._childrenLoaded=true; -if(!this._loadingStore){ -this._setValueAttr(this.value); -} -},_setValueAttr:function(_8){ -this.inherited(arguments); -dojo.attr(this.valueNode,"value",this.get("value")); -},_setDisplay:function(_9){ -var _a=_9||this.emptyLabel; -this.containerNode.innerHTML="<span class=\"dijitReset dijitInline "+this.baseClass+"Label\">"+_a+"</span>"; -dijit.setWaiState(this.focusNode,"valuetext",_a); -},validate:function(_b){ -var _c=this.isValid(_b); -this._set("state",_c?"":"Error"); -dijit.setWaiState(this.focusNode,"invalid",_c?"false":"true"); -var _d=_c?"":this._missingMsg; -if(this.message!==_d){ -this._set("message",_d); -dijit.hideTooltip(this.domNode); -if(_d){ -dijit.showTooltip(_d,this.domNode,this.tooltipPosition,!this.isLeftToRight()); -} -} -return _c; -},isValid:function(_e){ -return (!this.required||this.value===0||!(/^\s*$/.test(this.value||""))); -},reset:function(){ -this.inherited(arguments); -dijit.hideTooltip(this.domNode); -this._set("state",""); -this._set("message",""); -},postMixInProperties:function(){ -this.inherited(arguments); -this._missingMsg=dojo.i18n.getLocalization("dijit.form","validate",this.lang).missingMessage; -},postCreate:function(){ -this.inherited(arguments); -this.connect(this.domNode,"onmousemove",dojo.stopEvent); -},_setStyleAttr:function(_f){ -this.inherited(arguments); -dojo.toggleClass(this.domNode,this.baseClass+"FixedWidth",!!this.tableNode.style.width); -},isLoaded:function(){ -return this._isLoaded; -},loadDropDown:function(_10){ -this._loadChildren(true); -this._isLoaded=true; -_10(); -},closeDropDown:function(){ -this.inherited(arguments); -if(this.dropDown&&this.dropDown.menuTableNode){ -this.dropDown.menuTableNode.style.width=""; -} -},uninitialize:function(_11){ -if(this.dropDown&&!this.dropDown._destroyed){ -this.dropDown.destroyRecursive(_11); -delete this.dropDown; -} -this.inherited(arguments); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/SimpleTextarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/SimpleTextarea.js deleted file mode 100644 index a1185cf1..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/SimpleTextarea.js +++ /dev/null @@ -1,59 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.SimpleTextarea"]){ -dojo._hasResource["dijit.form.SimpleTextarea"]=true; -dojo.provide("dijit.form.SimpleTextarea"); -dojo.require("dijit.form.TextBox"); -dojo.declare("dijit.form.SimpleTextarea",dijit.form.TextBox,{baseClass:"dijitTextBox dijitTextArea",attributeMap:dojo.delegate(dijit.form._FormValueWidget.prototype.attributeMap,{rows:"textbox",cols:"textbox"}),rows:"3",cols:"20",templateString:"<textarea ${!nameAttrSetting} dojoAttachPoint='focusNode,containerNode,textbox' autocomplete='off'></textarea>",postMixInProperties:function(){ -if(!this.value&&this.srcNodeRef){ -this.value=this.srcNodeRef.value; -} -this.inherited(arguments); -},buildRendering:function(){ -this.inherited(arguments); -if(dojo.isIE&&this.cols){ -dojo.addClass(this.textbox,"dijitTextAreaCols"); -} -},filter:function(_1){ -if(_1){ -_1=_1.replace(/\r/g,""); -} -return this.inherited(arguments); -},_previousValue:"",_onInput:function(e){ -if(this.maxLength){ -var _2=parseInt(this.maxLength); -var _3=this.textbox.value.replace(/\r/g,""); -var _4=_3.length-_2; -if(_4>0){ -if(e){ -dojo.stopEvent(e); -} -var _5=this.textbox; -if(_5.selectionStart){ -var _6=_5.selectionStart; -var cr=0; -if(dojo.isOpera){ -cr=(this.textbox.value.substring(0,_6).match(/\r/g)||[]).length; -} -this.textbox.value=_3.substring(0,_6-_4-cr)+_3.substring(_6-cr); -_5.setSelectionRange(_6-_4,_6-_4); -}else{ -if(dojo.doc.selection){ -_5.focus(); -var _7=dojo.doc.selection.createRange(); -_7.moveStart("character",-_4); -_7.text=""; -_7.select(); -} -} -} -this._previousValue=this.textbox.value; -} -this.inherited(arguments); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/Slider.js b/resources/library/interactive/barre_prof.wgt/dijit/form/Slider.js deleted file mode 100644 index e019f8ed..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/Slider.js +++ /dev/null @@ -1,18 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.Slider"]){ -dojo._hasResource["dijit.form.Slider"]=true; -dojo.provide("dijit.form.Slider"); -dojo.require("dijit.form.HorizontalSlider"); -dojo.require("dijit.form.VerticalSlider"); -dojo.require("dijit.form.HorizontalRule"); -dojo.require("dijit.form.VerticalRule"); -dojo.require("dijit.form.HorizontalRuleLabels"); -dojo.require("dijit.form.VerticalRuleLabels"); -dojo.deprecated("Call require() for HorizontalSlider / VerticalRule, explicitly rather than 'dijit.form.Slider' itself","","2.0"); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/TextBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/TextBox.js deleted file mode 100644 index af6ca0cc..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/TextBox.js +++ /dev/null @@ -1,212 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.TextBox"]){ -dojo._hasResource["dijit.form.TextBox"]=true; -dojo.provide("dijit.form.TextBox"); -dojo.require("dijit.form._FormWidget"); -dojo.declare("dijit.form.TextBox",dijit.form._FormValueWidget,{trim:false,uppercase:false,lowercase:false,propercase:false,maxLength:"",selectOnClick:false,placeHolder:"",templateString:dojo.cache("dijit.form","templates/TextBox.html","<div class=\"dijit dijitReset dijitInline dijitLeft\" id=\"widget_${id}\" role=\"presentation\"\n\t><div class=\"dijitReset dijitInputField dijitInputContainer\"\n\t\t><input class=\"dijitReset dijitInputInner\" dojoAttachPoint='textbox,focusNode' autocomplete=\"off\"\n\t\t\t${!nameAttrSetting} type='${type}'\n\t/></div\n></div>\n"),_singleNodeTemplate:"<input class=\"dijit dijitReset dijitLeft dijitInputField\" dojoAttachPoint=\"textbox,focusNode\" autocomplete=\"off\" type=\"${type}\" ${!nameAttrSetting} />",_buttonInputDisabled:dojo.isIE?"disabled":"",baseClass:"dijitTextBox",attributeMap:dojo.delegate(dijit.form._FormValueWidget.prototype.attributeMap,{maxLength:"focusNode"}),postMixInProperties:function(){ -var _1=this.type.toLowerCase(); -if(this.templateString&&this.templateString.toLowerCase()=="input"||((_1=="hidden"||_1=="file")&&this.templateString==dijit.form.TextBox.prototype.templateString)){ -this.templateString=this._singleNodeTemplate; -} -this.inherited(arguments); -},_setPlaceHolderAttr:function(v){ -this._set("placeHolder",v); -if(!this._phspan){ -this._attachPoints.push("_phspan"); -this._phspan=dojo.create("span",{className:"dijitPlaceHolder dijitInputField"},this.textbox,"after"); -} -this._phspan.innerHTML=""; -this._phspan.appendChild(document.createTextNode(v)); -this._updatePlaceHolder(); -},_updatePlaceHolder:function(){ -if(this._phspan){ -this._phspan.style.display=(this.placeHolder&&!this._focused&&!this.textbox.value)?"":"none"; -} -},_getValueAttr:function(){ -return this.parse(this.get("displayedValue"),this.constraints); -},_setValueAttr:function(_2,_3,_4){ -var _5; -if(_2!==undefined){ -_5=this.filter(_2); -if(typeof _4!="string"){ -if(_5!==null&&((typeof _5!="number")||!isNaN(_5))){ -_4=this.filter(this.format(_5,this.constraints)); -}else{ -_4=""; -} -} -} -if(_4!=null&&_4!=undefined&&((typeof _4)!="number"||!isNaN(_4))&&this.textbox.value!=_4){ -this.textbox.value=_4; -this._set("displayedValue",this.get("displayedValue")); -} -this._updatePlaceHolder(); -this.inherited(arguments,[_5,_3]); -},displayedValue:"",getDisplayedValue:function(){ -dojo.deprecated(this.declaredClass+"::getDisplayedValue() is deprecated. Use set('displayedValue') instead.","","2.0"); -return this.get("displayedValue"); -},_getDisplayedValueAttr:function(){ -return this.filter(this.textbox.value); -},setDisplayedValue:function(_6){ -dojo.deprecated(this.declaredClass+"::setDisplayedValue() is deprecated. Use set('displayedValue', ...) instead.","","2.0"); -this.set("displayedValue",_6); -},_setDisplayedValueAttr:function(_7){ -if(_7===null||_7===undefined){ -_7=""; -}else{ -if(typeof _7!="string"){ -_7=String(_7); -} -} -this.textbox.value=_7; -this._setValueAttr(this.get("value"),undefined); -this._set("displayedValue",this.get("displayedValue")); -},format:function(_8,_9){ -return ((_8==null||_8==undefined)?"":(_8.toString?_8.toString():_8)); -},parse:function(_a,_b){ -return _a; -},_refreshState:function(){ -},_onInput:function(e){ -if(e&&e.type&&/key/i.test(e.type)&&e.keyCode){ -switch(e.keyCode){ -case dojo.keys.SHIFT: -case dojo.keys.ALT: -case dojo.keys.CTRL: -case dojo.keys.TAB: -return; -} -} -if(this.intermediateChanges){ -var _c=this; -setTimeout(function(){ -_c._handleOnChange(_c.get("value"),false); -},0); -} -this._refreshState(); -this._set("displayedValue",this.get("displayedValue")); -},postCreate:function(){ -if(dojo.isIE){ -setTimeout(dojo.hitch(this,function(){ -var s=dojo.getComputedStyle(this.domNode); -if(s){ -var ff=s.fontFamily; -if(ff){ -var _d=this.domNode.getElementsByTagName("INPUT"); -if(_d){ -for(var i=0;i<_d.length;i++){ -_d[i].style.fontFamily=ff; -} -} -} -} -}),0); -} -this.textbox.setAttribute("value",this.textbox.value); -this.inherited(arguments); -if(dojo.isMoz||dojo.isOpera){ -this.connect(this.textbox,"oninput","_onInput"); -}else{ -this.connect(this.textbox,"onkeydown","_onInput"); -this.connect(this.textbox,"onkeyup","_onInput"); -this.connect(this.textbox,"onpaste","_onInput"); -this.connect(this.textbox,"oncut","_onInput"); -} -},_blankValue:"",filter:function(_e){ -if(_e===null){ -return this._blankValue; -} -if(typeof _e!="string"){ -return _e; -} -if(this.trim){ -_e=dojo.trim(_e); -} -if(this.uppercase){ -_e=_e.toUpperCase(); -} -if(this.lowercase){ -_e=_e.toLowerCase(); -} -if(this.propercase){ -_e=_e.replace(/[^\s]+/g,function(_f){ -return _f.substring(0,1).toUpperCase()+_f.substring(1); -}); -} -return _e; -},_setBlurValue:function(){ -this._setValueAttr(this.get("value"),true); -},_onBlur:function(e){ -if(this.disabled){ -return; -} -this._setBlurValue(); -this.inherited(arguments); -if(this._selectOnClickHandle){ -this.disconnect(this._selectOnClickHandle); -} -if(this.selectOnClick&&dojo.isMoz){ -this.textbox.selectionStart=this.textbox.selectionEnd=undefined; -} -this._updatePlaceHolder(); -},_onFocus:function(by){ -if(this.disabled||this.readOnly){ -return; -} -if(this.selectOnClick&&by=="mouse"){ -this._selectOnClickHandle=this.connect(this.domNode,"onmouseup",function(){ -this.disconnect(this._selectOnClickHandle); -var _10; -if(dojo.isIE){ -var _11=dojo.doc.selection.createRange(); -var _12=_11.parentElement(); -_10=_12==this.textbox&&_11.text.length==0; -}else{ -_10=this.textbox.selectionStart==this.textbox.selectionEnd; -} -if(_10){ -dijit.selectInputText(this.textbox); -} -}); -} -this._updatePlaceHolder(); -this.inherited(arguments); -this._refreshState(); -},reset:function(){ -this.textbox.value=""; -this.inherited(arguments); -}}); -dijit.selectInputText=function(_13,_14,_15){ -var _16=dojo.global; -var _17=dojo.doc; -_13=dojo.byId(_13); -if(isNaN(_14)){ -_14=0; -} -if(isNaN(_15)){ -_15=_13.value?_13.value.length:0; -} -dijit.focus(_13); -if(_17["selection"]&&dojo.body()["createTextRange"]){ -if(_13.createTextRange){ -var r=_13.createTextRange(); -r.collapse(true); -r.moveStart("character",-99999); -r.moveStart("character",_14); -r.moveEnd("character",_15-_14); -r.select(); -} -}else{ -if(_16["getSelection"]){ -if(_13.setSelectionRange){ -_13.setSelectionRange(_14,_15); -} -} -} -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/Textarea.js deleted file mode 100644 index b3cb6bc4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/Textarea.js +++ /dev/null @@ -1,105 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.Textarea"]){ -dojo._hasResource["dijit.form.Textarea"]=true; -dojo.provide("dijit.form.Textarea"); -dojo.require("dijit.form.SimpleTextarea"); -dojo.declare("dijit.form.Textarea",dijit.form.SimpleTextarea,{baseClass:"dijitTextBox dijitTextArea dijitExpandingTextArea",cols:"",_previousNewlines:0,_strictMode:(dojo.doc.compatMode!="BackCompat"),_getHeight:function(_1){ -var _2=_1.scrollHeight; -if(dojo.isIE){ -_2+=_1.offsetHeight-_1.clientHeight-((dojo.isIE<8&&this._strictMode)?dojo._getPadBorderExtents(_1).h:0); -}else{ -if(dojo.isMoz){ -_2+=_1.offsetHeight-_1.clientHeight; -}else{ -if(dojo.isWebKit){ -_2+=dojo._getBorderExtents(_1).h; -}else{ -_2+=dojo._getPadBorderExtents(_1).h; -} -} -} -return _2; -},_estimateHeight:function(_3){ -_3.style.maxHeight=""; -_3.style.height="auto"; -_3.rows=(_3.value.match(/\n/g)||[]).length+1; -},_needsHelpShrinking:dojo.isMoz||dojo.isWebKit,_onInput:function(){ -this.inherited(arguments); -if(this._busyResizing){ -return; -} -this._busyResizing=true; -var _4=this.textbox; -if(_4.scrollHeight&&_4.offsetHeight&&_4.clientHeight){ -var _5=this._getHeight(_4)+"px"; -if(_4.style.height!=_5){ -_4.style.maxHeight=_4.style.height=_5; -} -if(this._needsHelpShrinking){ -if(this._setTimeoutHandle){ -clearTimeout(this._setTimeoutHandle); -} -this._setTimeoutHandle=setTimeout(dojo.hitch(this,"_shrink"),0); -} -}else{ -this._estimateHeight(_4); -} -this._busyResizing=false; -},_busyResizing:false,_shrink:function(){ -this._setTimeoutHandle=null; -if(this._needsHelpShrinking&&!this._busyResizing){ -this._busyResizing=true; -var _6=this.textbox; -var _7=false; -if(_6.value==""){ -_6.value=" "; -_7=true; -} -var _8=_6.scrollHeight; -if(!_8){ -this._estimateHeight(_6); -}else{ -var _9=_6.style.paddingBottom; -var _a=dojo._getPadExtents(_6); -_a=_a.h-_a.t; -_6.style.paddingBottom=_a+1+"px"; -var _b=this._getHeight(_6)-1+"px"; -if(_6.style.maxHeight!=_b){ -_6.style.paddingBottom=_a+_8+"px"; -_6.scrollTop=0; -_6.style.maxHeight=this._getHeight(_6)-_8+"px"; -} -_6.style.paddingBottom=_9; -} -if(_7){ -_6.value=""; -} -this._busyResizing=false; -} -},resize:function(){ -this._onInput(); -},_setValueAttr:function(){ -this.inherited(arguments); -this.resize(); -},buildRendering:function(){ -this.inherited(arguments); -dojo.style(this.textbox,{overflowY:"hidden",overflowX:"auto",boxSizing:"border-box",MsBoxSizing:"border-box",WebkitBoxSizing:"border-box",MozBoxSizing:"border-box"}); -},postCreate:function(){ -this.inherited(arguments); -this.connect(this.textbox,"onscroll","_onInput"); -this.connect(this.textbox,"onresize","_onInput"); -this.connect(this.textbox,"onfocus","_onInput"); -this._setTimeoutHandle=setTimeout(dojo.hitch(this,"resize"),0); -},uninitialize:function(){ -if(this._setTimeoutHandle){ -clearTimeout(this._setTimeoutHandle); -} -this.inherited(arguments); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/TimeTextBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/TimeTextBox.js deleted file mode 100644 index 3ea387d0..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/TimeTextBox.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.TimeTextBox"]){ -dojo._hasResource["dijit.form.TimeTextBox"]=true; -dojo.provide("dijit.form.TimeTextBox"); -dojo.require("dijit._TimePicker"); -dojo.require("dijit.form._DateTimeTextBox"); -dojo.declare("dijit.form.TimeTextBox",dijit.form._DateTimeTextBox,{baseClass:"dijitTextBox dijitComboBox dijitTimeTextBox",popupClass:"dijit._TimePicker",_selector:"time",value:new Date(""),_onKey:function(_1){ -this.inherited(arguments); -switch(_1.keyCode){ -case dojo.keys.ENTER: -case dojo.keys.TAB: -case dojo.keys.ESCAPE: -case dojo.keys.DOWN_ARROW: -case dojo.keys.UP_ARROW: -break; -default: -setTimeout(dojo.hitch(this,function(){ -var _2=this.get("displayedValue"); -this.filterString=(_2&&!this.parse(_2,this.constraints))?_2.toLowerCase():""; -if(this._opened){ -this.closeDropDown(); -} -this.openDropDown(); -}),0); -} -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/ToggleButton.js b/resources/library/interactive/barre_prof.wgt/dijit/form/ToggleButton.js deleted file mode 100644 index 7f813bc2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/ToggleButton.js +++ /dev/null @@ -1,12 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.ToggleButton"]){ -dojo._hasResource["dijit.form.ToggleButton"]=true; -dojo.provide("dijit.form.ToggleButton"); -dojo.require("dijit.form.Button"); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/ValidationTextBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/ValidationTextBox.js deleted file mode 100644 index cd5200b5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/ValidationTextBox.js +++ /dev/null @@ -1,211 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.ValidationTextBox"]){ -dojo._hasResource["dijit.form.ValidationTextBox"]=true; -dojo.provide("dijit.form.ValidationTextBox"); -dojo.require("dojo.i18n"); -dojo.require("dijit.form.TextBox"); -dojo.require("dijit.Tooltip"); -dojo.requireLocalization("dijit.form","validate",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dijit.form.ValidationTextBox",dijit.form.TextBox,{templateString:dojo.cache("dijit.form","templates/ValidationTextBox.html","<div class=\"dijit dijitReset dijitInlineTable dijitLeft\"\n\tid=\"widget_${id}\" role=\"presentation\"\n\t><div class='dijitReset dijitValidationContainer'\n\t\t><input class=\"dijitReset dijitInputField dijitValidationIcon dijitValidationInner\" value=\"Χ \" type=\"text\" tabIndex=\"-1\" readonly=\"readonly\" role=\"presentation\"\n\t/></div\n\t><div class=\"dijitReset dijitInputField dijitInputContainer\"\n\t\t><input class=\"dijitReset dijitInputInner\" dojoAttachPoint='textbox,focusNode' autocomplete=\"off\"\n\t\t\t${!nameAttrSetting} type='${type}'\n\t/></div\n></div>\n"),baseClass:"dijitTextBox dijitValidationTextBox",required:false,promptMessage:"",invalidMessage:"$_unset_$",missingMessage:"$_unset_$",message:"",constraints:{},regExp:".*",regExpGen:function(_1){ -return this.regExp; -},state:"",tooltipPosition:[],_setValueAttr:function(){ -this.inherited(arguments); -this.validate(this._focused); -},validator:function(_2,_3){ -return (new RegExp("^(?:"+this.regExpGen(_3)+")"+(this.required?"":"?")+"$")).test(_2)&&(!this.required||!this._isEmpty(_2))&&(this._isEmpty(_2)||this.parse(_2,_3)!==undefined); -},_isValidSubset:function(){ -return this.textbox.value.search(this._partialre)==0; -},isValid:function(_4){ -return this.validator(this.textbox.value,this.constraints); -},_isEmpty:function(_5){ -return (this.trim?/^\s*$/:/^$/).test(_5); -},getErrorMessage:function(_6){ -return (this.required&&this._isEmpty(this.textbox.value))?this.missingMessage:this.invalidMessage; -},getPromptMessage:function(_7){ -return this.promptMessage; -},_maskValidSubsetError:true,validate:function(_8){ -var _9=""; -var _a=this.disabled||this.isValid(_8); -if(_a){ -this._maskValidSubsetError=true; -} -var _b=this._isEmpty(this.textbox.value); -var _c=!_a&&_8&&this._isValidSubset(); -this._set("state",_a?"":(((((!this._hasBeenBlurred||_8)&&_b)||_c)&&this._maskValidSubsetError)?"Incomplete":"Error")); -dijit.setWaiState(this.focusNode,"invalid",_a?"false":"true"); -if(this.state=="Error"){ -this._maskValidSubsetError=_8&&_c; -_9=this.getErrorMessage(_8); -}else{ -if(this.state=="Incomplete"){ -_9=this.getPromptMessage(_8); -this._maskValidSubsetError=!this._hasBeenBlurred||_8; -}else{ -if(_b){ -_9=this.getPromptMessage(_8); -} -} -} -this.set("message",_9); -return _a; -},displayMessage:function(_d){ -dijit.hideTooltip(this.domNode); -if(_d&&this._focused){ -dijit.showTooltip(_d,this.domNode,this.tooltipPosition,!this.isLeftToRight()); -} -},_refreshState:function(){ -this.validate(this._focused); -this.inherited(arguments); -},constructor:function(){ -this.constraints={}; -},_setConstraintsAttr:function(_e){ -if(!_e.locale&&this.lang){ -_e.locale=this.lang; -} -this._set("constraints",_e); -this._computePartialRE(); -},_computePartialRE:function(){ -var p=this.regExpGen(this.constraints); -this.regExp=p; -var _f=""; -if(p!=".*"){ -this.regExp.replace(/\\.|\[\]|\[.*?[^\\]{1}\]|\{.*?\}|\(\?[=:!]|./g,function(re){ -switch(re.charAt(0)){ -case "{": -case "+": -case "?": -case "*": -case "^": -case "$": -case "|": -case "(": -_f+=re; -break; -case ")": -_f+="|$)"; -break; -default: -_f+="(?:"+re+"|$)"; -break; -} -}); -} -try{ -"".search(_f); -} -catch(e){ -_f=this.regExp; -console.warn("RegExp error in "+this.declaredClass+": "+this.regExp); -} -this._partialre="^(?:"+_f+")$"; -},postMixInProperties:function(){ -this.inherited(arguments); -this.messages=dojo.i18n.getLocalization("dijit.form","validate",this.lang); -if(this.invalidMessage=="$_unset_$"){ -this.invalidMessage=this.messages.invalidMessage; -} -if(!this.invalidMessage){ -this.invalidMessage=this.promptMessage; -} -if(this.missingMessage=="$_unset_$"){ -this.missingMessage=this.messages.missingMessage; -} -if(!this.missingMessage){ -this.missingMessage=this.invalidMessage; -} -this._setConstraintsAttr(this.constraints); -},_setDisabledAttr:function(_10){ -this.inherited(arguments); -this._refreshState(); -},_setRequiredAttr:function(_11){ -this._set("required",_11); -dijit.setWaiState(this.focusNode,"required",_11); -this._refreshState(); -},_setMessageAttr:function(_12){ -this._set("message",_12); -this.displayMessage(_12); -},reset:function(){ -this._maskValidSubsetError=true; -this.inherited(arguments); -},_onBlur:function(){ -this.displayMessage(""); -this.inherited(arguments); -}}); -dojo.declare("dijit.form.MappedTextBox",dijit.form.ValidationTextBox,{postMixInProperties:function(){ -this.inherited(arguments); -this.nameAttrSetting=""; -},serialize:function(val,_13){ -return val.toString?val.toString():""; -},toString:function(){ -var val=this.filter(this.get("value")); -return val!=null?(typeof val=="string"?val:this.serialize(val,this.constraints)):""; -},validate:function(){ -this.valueNode.value=this.toString(); -return this.inherited(arguments); -},buildRendering:function(){ -this.inherited(arguments); -this.valueNode=dojo.place("<input type='hidden'"+(this.name?" name='"+this.name.replace(/'/g,""")+"'":"")+"/>",this.textbox,"after"); -},reset:function(){ -this.valueNode.value=""; -this.inherited(arguments); -}}); -dojo.declare("dijit.form.RangeBoundTextBox",dijit.form.MappedTextBox,{rangeMessage:"",rangeCheck:function(_14,_15){ -return ("min" in _15?(this.compare(_14,_15.min)>=0):true)&&("max" in _15?(this.compare(_14,_15.max)<=0):true); -},isInRange:function(_16){ -return this.rangeCheck(this.get("value"),this.constraints); -},_isDefinitelyOutOfRange:function(){ -var val=this.get("value"); -var _17=false; -var _18=false; -if("min" in this.constraints){ -var min=this.constraints.min; -min=this.compare(val,((typeof min=="number")&&min>=0&&val!=0)?0:min); -_17=(typeof min=="number")&&min<0; -} -if("max" in this.constraints){ -var max=this.constraints.max; -max=this.compare(val,((typeof max!="number")||max>0)?max:0); -_18=(typeof max=="number")&&max>0; -} -return _17||_18; -},_isValidSubset:function(){ -return this.inherited(arguments)&&!this._isDefinitelyOutOfRange(); -},isValid:function(_19){ -return this.inherited(arguments)&&((this._isEmpty(this.textbox.value)&&!this.required)||this.isInRange(_19)); -},getErrorMessage:function(_1a){ -var v=this.get("value"); -if(v!==null&&v!==""&&v!==undefined&&(typeof v!="number"||!isNaN(v))&&!this.isInRange(_1a)){ -return this.rangeMessage; -} -return this.inherited(arguments); -},postMixInProperties:function(){ -this.inherited(arguments); -if(!this.rangeMessage){ -this.messages=dojo.i18n.getLocalization("dijit.form","validate",this.lang); -this.rangeMessage=this.messages.rangeMessage; -} -},_setConstraintsAttr:function(_1b){ -this.inherited(arguments); -if(this.focusNode){ -if(this.constraints.min!==undefined){ -dijit.setWaiState(this.focusNode,"valuemin",this.constraints.min); -}else{ -dijit.removeWaiState(this.focusNode,"valuemin"); -} -if(this.constraints.max!==undefined){ -dijit.setWaiState(this.focusNode,"valuemax",this.constraints.max); -}else{ -dijit.removeWaiState(this.focusNode,"valuemax"); -} -} -},_setValueAttr:function(_1c,_1d){ -dijit.setWaiState(this.focusNode,"valuenow",_1c); -this.inherited(arguments); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/VerticalRule.js b/resources/library/interactive/barre_prof.wgt/dijit/form/VerticalRule.js deleted file mode 100644 index 13457ad3..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/VerticalRule.js +++ /dev/null @@ -1,13 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.VerticalRule"]){ -dojo._hasResource["dijit.form.VerticalRule"]=true; -dojo.provide("dijit.form.VerticalRule"); -dojo.require("dijit.form.HorizontalRule"); -dojo.declare("dijit.form.VerticalRule",dijit.form.HorizontalRule,{templateString:"<div class=\"dijitRuleContainer dijitRuleContainerV\"></div>",_positionPrefix:"<div class=\"dijitRuleMark dijitRuleMarkV\" style=\"top:",_isHorizontal:false}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/VerticalRuleLabels.js b/resources/library/interactive/barre_prof.wgt/dijit/form/VerticalRuleLabels.js deleted file mode 100644 index 016414c5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/VerticalRuleLabels.js +++ /dev/null @@ -1,15 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.VerticalRuleLabels"]){ -dojo._hasResource["dijit.form.VerticalRuleLabels"]=true; -dojo.provide("dijit.form.VerticalRuleLabels"); -dojo.require("dijit.form.HorizontalRuleLabels"); -dojo.declare("dijit.form.VerticalRuleLabels",dijit.form.HorizontalRuleLabels,{templateString:"<div class=\"dijitRuleContainer dijitRuleContainerV dijitRuleLabelsContainer dijitRuleLabelsContainerV\"></div>",_positionPrefix:"<div class=\"dijitRuleLabelContainer dijitRuleLabelContainerV\" style=\"top:",_labelPrefix:"\"><span class=\"dijitRuleLabel dijitRuleLabelV\">",_calcPosition:function(_1){ -return 100-_1; -},_isHorizontal:false}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/VerticalSlider.js b/resources/library/interactive/barre_prof.wgt/dijit/form/VerticalSlider.js deleted file mode 100644 index 7e6f00c2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/VerticalSlider.js +++ /dev/null @@ -1,15 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form.VerticalSlider"]){ -dojo._hasResource["dijit.form.VerticalSlider"]=true; -dojo.provide("dijit.form.VerticalSlider"); -dojo.require("dijit.form.HorizontalSlider"); -dojo.declare("dijit.form.VerticalSlider",dijit.form.HorizontalSlider,{templateString:dojo.cache("dijit.form","templates/VerticalSlider.html","<table class=\"dijit dijitReset dijitSlider dijitSliderV\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" rules=\"none\" dojoAttachEvent=\"onkeypress:_onKeyPress,onkeyup:_onKeyUp\"\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\"></td\n\t\t><td class=\"dijitReset dijitSliderButtonContainer dijitSliderButtonContainerV\"\n\t\t\t><div class=\"dijitSliderIncrementIconV\" style=\"display:none\" dojoAttachPoint=\"decrementButton\"><span class=\"dijitSliderButtonInner\">+</span></div\n\t\t></td\n\t\t><td class=\"dijitReset\"></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\"></td\n\t\t><td class=\"dijitReset\"\n\t\t\t><center><div class=\"dijitSliderBar dijitSliderBumper dijitSliderBumperV dijitSliderTopBumper\" dojoAttachEvent=\"onmousedown:_onClkIncBumper\"></div></center\n\t\t></td\n\t\t><td class=\"dijitReset\"></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td dojoAttachPoint=\"leftDecoration\" class=\"dijitReset dijitSliderDecoration dijitSliderDecorationL dijitSliderDecorationV\"></td\n\t\t><td class=\"dijitReset dijitSliderDecorationC\" style=\"height:100%;\"\n\t\t\t><input dojoAttachPoint=\"valueNode\" type=\"hidden\" ${!nameAttrSetting}\n\t\t\t/><center class=\"dijitReset dijitSliderBarContainerV\" role=\"presentation\" dojoAttachPoint=\"sliderBarContainer\"\n\t\t\t\t><div role=\"presentation\" dojoAttachPoint=\"remainingBar\" class=\"dijitSliderBar dijitSliderBarV dijitSliderRemainingBar dijitSliderRemainingBarV\" dojoAttachEvent=\"onmousedown:_onBarClick\"><!--#5629--></div\n\t\t\t\t><div role=\"presentation\" dojoAttachPoint=\"progressBar\" class=\"dijitSliderBar dijitSliderBarV dijitSliderProgressBar dijitSliderProgressBarV\" dojoAttachEvent=\"onmousedown:_onBarClick\"\n\t\t\t\t\t><div class=\"dijitSliderMoveable dijitSliderMoveableV\" style=\"vertical-align:top;\"\n\t\t\t\t\t\t><div dojoAttachPoint=\"sliderHandle,focusNode\" class=\"dijitSliderImageHandle dijitSliderImageHandleV\" dojoAttachEvent=\"onmousedown:_onHandleClick\" role=\"slider\" valuemin=\"${minimum}\" valuemax=\"${maximum}\"></div\n\t\t\t\t\t></div\n\t\t\t\t></div\n\t\t\t></center\n\t\t></td\n\t\t><td dojoAttachPoint=\"containerNode,rightDecoration\" class=\"dijitReset dijitSliderDecoration dijitSliderDecorationR dijitSliderDecorationV\"></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\"></td\n\t\t><td class=\"dijitReset\"\n\t\t\t><center><div class=\"dijitSliderBar dijitSliderBumper dijitSliderBumperV dijitSliderBottomBumper\" dojoAttachEvent=\"onmousedown:_onClkDecBumper\"></div></center\n\t\t></td\n\t\t><td class=\"dijitReset\"></td\n\t></tr\n\t><tr class=\"dijitReset\"\n\t\t><td class=\"dijitReset\"></td\n\t\t><td class=\"dijitReset dijitSliderButtonContainer dijitSliderButtonContainerV\"\n\t\t\t><div class=\"dijitSliderDecrementIconV\" style=\"display:none\" dojoAttachPoint=\"incrementButton\"><span class=\"dijitSliderButtonInner\">-</span></div\n\t\t></td\n\t\t><td class=\"dijitReset\"></td\n\t></tr\n></table>\n"),_mousePixelCoord:"pageY",_pixelCount:"h",_startingPixelCoord:"y",_startingPixelCount:"t",_handleOffsetCoord:"top",_progressPixelSize:"height",_descending:true,_isReversed:function(){ -return this._descending; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/_DateTimeTextBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/_DateTimeTextBox.js deleted file mode 100644 index c9fbad43..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/_DateTimeTextBox.js +++ /dev/null @@ -1,105 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form._DateTimeTextBox"]){ -dojo._hasResource["dijit.form._DateTimeTextBox"]=true; -dojo.provide("dijit.form._DateTimeTextBox"); -dojo.require("dojo.date"); -dojo.require("dojo.date.locale"); -dojo.require("dojo.date.stamp"); -dojo.require("dijit.form.ValidationTextBox"); -dojo.require("dijit._HasDropDown"); -new Date("X"); -dojo.declare("dijit.form._DateTimeTextBox",[dijit.form.RangeBoundTextBox,dijit._HasDropDown],{templateString:dojo.cache("dijit.form","templates/DropDownBox.html","<div class=\"dijit dijitReset dijitInlineTable dijitLeft\"\n\tid=\"widget_${id}\"\n\trole=\"combobox\"\n\t><div class='dijitReset dijitRight dijitButtonNode dijitArrowButton dijitDownArrowButton dijitArrowButtonContainer'\n\t\tdojoAttachPoint=\"_buttonNode, _popupStateNode\" role=\"presentation\"\n\t\t><input class=\"dijitReset dijitInputField dijitArrowButtonInner\" value=\"▼ \" type=\"text\" tabIndex=\"-1\" readonly=\"readonly\" role=\"presentation\"\n\t\t\t${_buttonInputDisabled}\n\t/></div\n\t><div class='dijitReset dijitValidationContainer'\n\t\t><input class=\"dijitReset dijitInputField dijitValidationIcon dijitValidationInner\" value=\"Χ \" type=\"text\" tabIndex=\"-1\" readonly=\"readonly\" role=\"presentation\"\n\t/></div\n\t><div class=\"dijitReset dijitInputField dijitInputContainer\"\n\t\t><input class='dijitReset dijitInputInner' ${!nameAttrSetting} type=\"text\" autocomplete=\"off\"\n\t\t\tdojoAttachPoint=\"textbox,focusNode\" role=\"textbox\" aria-haspopup=\"true\"\n\t/></div\n></div>\n"),hasDownArrow:true,openOnClick:true,regExpGen:dojo.date.locale.regexp,datePackage:"dojo.date",compare:function(_1,_2){ -var _3=this._isInvalidDate(_1); -var _4=this._isInvalidDate(_2); -return _3?(_4?0:-1):(_4?1:dojo.date.compare(_1,_2,this._selector)); -},forceWidth:true,format:function(_5,_6){ -if(!_5){ -return ""; -} -return this.dateLocaleModule.format(_5,_6); -},"parse":function(_7,_8){ -return this.dateLocaleModule.parse(_7,_8)||(this._isEmpty(_7)?null:undefined); -},serialize:function(_9,_a){ -if(_9.toGregorian){ -_9=_9.toGregorian(); -} -return dojo.date.stamp.toISOString(_9,_a); -},dropDownDefaultValue:new Date(),value:new Date(""),_blankValue:null,popupClass:"",_selector:"",constructor:function(_b){ -var _c=_b.datePackage?_b.datePackage+".Date":"Date"; -this.dateClassObj=dojo.getObject(_c,false); -this.value=new this.dateClassObj(""); -this.datePackage=_b.datePackage||this.datePackage; -this.dateLocaleModule=dojo.getObject(this.datePackage+".locale",false); -this.regExpGen=this.dateLocaleModule.regexp; -this._invalidDate=dijit.form._DateTimeTextBox.prototype.value.toString(); -},buildRendering:function(){ -this.inherited(arguments); -if(!this.hasDownArrow){ -this._buttonNode.style.display="none"; -} -if(this.openOnClick||!this.hasDownArrow){ -this._buttonNode=this.domNode; -this.baseClass+=" dijitComboBoxOpenOnClick"; -} -},_setConstraintsAttr:function(_d){ -_d.selector=this._selector; -_d.fullYear=true; -var _e=dojo.date.stamp.fromISOString; -if(typeof _d.min=="string"){ -_d.min=_e(_d.min); -} -if(typeof _d.max=="string"){ -_d.max=_e(_d.max); -} -this.inherited(arguments); -},_isInvalidDate:function(_f){ -return !_f||isNaN(_f)||typeof _f!="object"||_f.toString()==this._invalidDate; -},_setValueAttr:function(_10,_11,_12){ -if(_10!==undefined){ -if(typeof _10=="string"){ -_10=dojo.date.stamp.fromISOString(_10); -} -if(this._isInvalidDate(_10)){ -_10=null; -} -if(_10 instanceof Date&&!(this.dateClassObj instanceof Date)){ -_10=new this.dateClassObj(_10); -} -} -this.inherited(arguments); -if(this.dropDown){ -this.dropDown.set("value",_10,false); -} -},_set:function(_13,_14){ -if(_13=="value"&&this.value instanceof Date&&this.compare(_14,this.value)==0){ -return; -} -this.inherited(arguments); -},_setDropDownDefaultValueAttr:function(val){ -if(this._isInvalidDate(val)){ -val=new this.dateClassObj(); -} -this.dropDownDefaultValue=val; -},openDropDown:function(_15){ -if(this.dropDown){ -this.dropDown.destroy(); -} -var _16=dojo.getObject(this.popupClass,false),_17=this,_18=this.get("value"); -this.dropDown=new _16({onChange:function(_19){ -dijit.form._DateTimeTextBox.superclass._setValueAttr.call(_17,_19,true); -},id:this.id+"_popup",dir:_17.dir,lang:_17.lang,value:_18,currentFocus:!this._isInvalidDate(_18)?_18:this.dropDownDefaultValue,constraints:_17.constraints,filterString:_17.filterString,datePackage:_17.datePackage,isDisabledDate:function(_1a){ -return !_17.rangeCheck(_1a,_17.constraints); -}}); -this.inherited(arguments); -},_getDisplayedValueAttr:function(){ -return this.textbox.value; -},_setDisplayedValueAttr:function(_1b,_1c){ -this._setValueAttr(this.parse(_1b,this.constraints),_1c,_1b); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/_FormMixin.js b/resources/library/interactive/barre_prof.wgt/dijit/form/_FormMixin.js deleted file mode 100644 index d133d104..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/_FormMixin.js +++ /dev/null @@ -1,171 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form._FormMixin"]){ -dojo._hasResource["dijit.form._FormMixin"]=true; -dojo.provide("dijit.form._FormMixin"); -dojo.require("dojo.window"); -dojo.declare("dijit.form._FormMixin",null,{state:"",reset:function(){ -dojo.forEach(this.getDescendants(),function(_1){ -if(_1.reset){ -_1.reset(); -} -}); -},validate:function(){ -var _2=false; -return dojo.every(dojo.map(this.getDescendants(),function(_3){ -_3._hasBeenBlurred=true; -var _4=_3.disabled||!_3.validate||_3.validate(); -if(!_4&&!_2){ -dojo.window.scrollIntoView(_3.containerNode||_3.domNode); -_3.focus(); -_2=true; -} -return _4; -}),function(_5){ -return _5; -}); -},setValues:function(_6){ -dojo.deprecated(this.declaredClass+"::setValues() is deprecated. Use set('value', val) instead.","","2.0"); -return this.set("value",_6); -},_setValueAttr:function(_7){ -var _8={}; -dojo.forEach(this.getDescendants(),function(_9){ -if(!_9.name){ -return; -} -var _a=_8[_9.name]||(_8[_9.name]=[]); -_a.push(_9); -}); -for(var _b in _8){ -if(!_8.hasOwnProperty(_b)){ -continue; -} -var _c=_8[_b],_d=dojo.getObject(_b,false,_7); -if(_d===undefined){ -continue; -} -if(!dojo.isArray(_d)){ -_d=[_d]; -} -if(typeof _c[0].checked=="boolean"){ -dojo.forEach(_c,function(w,i){ -w.set("value",dojo.indexOf(_d,w.value)!=-1); -}); -}else{ -if(_c[0].multiple){ -_c[0].set("value",_d); -}else{ -dojo.forEach(_c,function(w,i){ -w.set("value",_d[i]); -}); -} -} -} -},getValues:function(){ -dojo.deprecated(this.declaredClass+"::getValues() is deprecated. Use get('value') instead.","","2.0"); -return this.get("value"); -},_getValueAttr:function(){ -var _e={}; -dojo.forEach(this.getDescendants(),function(_f){ -var _10=_f.name; -if(!_10||_f.disabled){ -return; -} -var _11=_f.get("value"); -if(typeof _f.checked=="boolean"){ -if(/Radio/.test(_f.declaredClass)){ -if(_11!==false){ -dojo.setObject(_10,_11,_e); -}else{ -_11=dojo.getObject(_10,false,_e); -if(_11===undefined){ -dojo.setObject(_10,null,_e); -} -} -}else{ -var ary=dojo.getObject(_10,false,_e); -if(!ary){ -ary=[]; -dojo.setObject(_10,ary,_e); -} -if(_11!==false){ -ary.push(_11); -} -} -}else{ -var _12=dojo.getObject(_10,false,_e); -if(typeof _12!="undefined"){ -if(dojo.isArray(_12)){ -_12.push(_11); -}else{ -dojo.setObject(_10,[_12,_11],_e); -} -}else{ -dojo.setObject(_10,_11,_e); -} -} -}); -return _e; -},isValid:function(){ -return this.state==""; -},onValidStateChange:function(_13){ -},_getState:function(){ -var _14=dojo.map(this._descendants,function(w){ -return w.get("state")||""; -}); -return dojo.indexOf(_14,"Error")>=0?"Error":dojo.indexOf(_14,"Incomplete")>=0?"Incomplete":""; -},disconnectChildren:function(){ -dojo.forEach(this._childConnections||[],dojo.hitch(this,"disconnect")); -dojo.forEach(this._childWatches||[],function(w){ -w.unwatch(); -}); -},connectChildren:function(_15){ -var _16=this; -this.disconnectChildren(); -this._descendants=this.getDescendants(); -var set=_15?function(_17,val){ -_16[_17]=val; -}:dojo.hitch(this,"_set"); -set("value",this.get("value")); -set("state",this._getState()); -var _18=(this._childConnections=[]),_19=(this._childWatches=[]); -dojo.forEach(dojo.filter(this._descendants,function(_1a){ -return _1a.validate; -}),function(_1b){ -dojo.forEach(["state","disabled"],function(_1c){ -_19.push(_1b.watch(_1c,function(_1d,_1e,_1f){ -_16.set("state",_16._getState()); -})); -}); -}); -var _20=function(){ -if(_16._onChangeDelayTimer){ -clearTimeout(_16._onChangeDelayTimer); -} -_16._onChangeDelayTimer=setTimeout(function(){ -delete _16._onChangeDelayTimer; -_16._set("value",_16.get("value")); -},10); -}; -dojo.forEach(dojo.filter(this._descendants,function(_21){ -return _21.onChange; -}),function(_22){ -_18.push(_16.connect(_22,"onChange",_20)); -_19.push(_22.watch("disabled",_20)); -}); -},startup:function(){ -this.inherited(arguments); -this.connectChildren(true); -this.watch("state",function(_23,_24,_25){ -this.onValidStateChange(_25==""); -}); -},destroy:function(){ -this.disconnectChildren(); -this.inherited(arguments); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/_FormSelectWidget.js b/resources/library/interactive/barre_prof.wgt/dijit/form/_FormSelectWidget.js deleted file mode 100644 index 85e44f2a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/_FormSelectWidget.js +++ /dev/null @@ -1,302 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form._FormSelectWidget"]){ -dojo._hasResource["dijit.form._FormSelectWidget"]=true; -dojo.provide("dijit.form._FormSelectWidget"); -dojo.require("dijit.form._FormWidget"); -dojo.require("dojo.data.util.sorter"); -dojo.declare("dijit.form._FormSelectWidget",dijit.form._FormValueWidget,{multiple:false,options:null,store:null,query:null,queryOptions:null,onFetch:null,sortByLabel:true,loadChildrenOnOpen:false,getOptions:function(_1){ -var _2=_1,_3=this.options||[],l=_3.length; -if(_2===undefined){ -return _3; -} -if(dojo.isArray(_2)){ -return dojo.map(_2,"return this.getOptions(item);",this); -} -if(dojo.isObject(_1)){ -if(!dojo.some(this.options,function(o,_4){ -if(o===_2||(o.value&&o.value===_2.value)){ -_2=_4; -return true; -} -return false; -})){ -_2=-1; -} -} -if(typeof _2=="string"){ -for(var i=0;i<l;i++){ -if(_3[i].value===_2){ -_2=i; -break; -} -} -} -if(typeof _2=="number"&&_2>=0&&_2<l){ -return this.options[_2]; -} -return null; -},addOption:function(_5){ -if(!dojo.isArray(_5)){ -_5=[_5]; -} -dojo.forEach(_5,function(i){ -if(i&&dojo.isObject(i)){ -this.options.push(i); -} -},this); -this._loadChildren(); -},removeOption:function(_6){ -if(!dojo.isArray(_6)){ -_6=[_6]; -} -var _7=this.getOptions(_6); -dojo.forEach(_7,function(i){ -if(i){ -this.options=dojo.filter(this.options,function(_8,_9){ -return (_8.value!==i.value||_8.label!==i.label); -}); -this._removeOptionItem(i); -} -},this); -this._loadChildren(); -},updateOption:function(_a){ -if(!dojo.isArray(_a)){ -_a=[_a]; -} -dojo.forEach(_a,function(i){ -var _b=this.getOptions(i),k; -if(_b){ -for(k in i){ -_b[k]=i[k]; -} -} -},this); -this._loadChildren(); -},setStore:function(_c,_d,_e){ -var _f=this.store; -_e=_e||{}; -if(_f!==_c){ -dojo.forEach(this._notifyConnections||[],dojo.disconnect); -delete this._notifyConnections; -if(_c&&_c.getFeatures()["dojo.data.api.Notification"]){ -this._notifyConnections=[dojo.connect(_c,"onNew",this,"_onNewItem"),dojo.connect(_c,"onDelete",this,"_onDeleteItem"),dojo.connect(_c,"onSet",this,"_onSetItem")]; -} -this._set("store",_c); -} -this._onChangeActive=false; -if(this.options&&this.options.length){ -this.removeOption(this.options); -} -if(_c){ -this._loadingStore=true; -_c.fetch(dojo.delegate(_e,{onComplete:function(_10,_11){ -if(this.sortByLabel&&!_e.sort&&_10.length){ -_10.sort(dojo.data.util.sorter.createSortFunction([{attribute:_c.getLabelAttributes(_10[0])[0]}],_c)); -} -if(_e.onFetch){ -_10=_e.onFetch.call(this,_10,_11); -} -dojo.forEach(_10,function(i){ -this._addOptionForItem(i); -},this); -this._loadingStore=false; -this.set("value","_pendingValue" in this?this._pendingValue:_d); -delete this._pendingValue; -if(!this.loadChildrenOnOpen){ -this._loadChildren(); -}else{ -this._pseudoLoadChildren(_10); -} -this._fetchedWith=_11; -this._lastValueReported=this.multiple?[]:null; -this._onChangeActive=true; -this.onSetStore(); -this._handleOnChange(this.value); -},scope:this})); -}else{ -delete this._fetchedWith; -} -return _f; -},_setValueAttr:function(_12,_13){ -if(this._loadingStore){ -this._pendingValue=_12; -return; -} -var _14=this.getOptions()||[]; -if(!dojo.isArray(_12)){ -_12=[_12]; -} -dojo.forEach(_12,function(i,idx){ -if(!dojo.isObject(i)){ -i=i+""; -} -if(typeof i==="string"){ -_12[idx]=dojo.filter(_14,function(_15){ -return _15.value===i; -})[0]||{value:"",label:""}; -} -},this); -_12=dojo.filter(_12,function(i){ -return i&&i.value; -}); -if(!this.multiple&&(!_12[0]||!_12[0].value)&&_14.length){ -_12[0]=_14[0]; -} -dojo.forEach(_14,function(i){ -i.selected=dojo.some(_12,function(v){ -return v.value===i.value; -}); -}); -var val=dojo.map(_12,function(i){ -return i.value; -}),_16=dojo.map(_12,function(i){ -return i.label; -}); -this._set("value",this.multiple?val:val[0]); -this._setDisplay(this.multiple?_16:_16[0]); -this._updateSelection(); -this._handleOnChange(this.value,_13); -},_getDisplayedValueAttr:function(){ -var val=this.get("value"); -if(!dojo.isArray(val)){ -val=[val]; -} -var ret=dojo.map(this.getOptions(val),function(v){ -if(v&&"label" in v){ -return v.label; -}else{ -if(v){ -return v.value; -} -} -return null; -},this); -return this.multiple?ret:ret[0]; -},_loadChildren:function(){ -if(this._loadingStore){ -return; -} -dojo.forEach(this._getChildren(),function(_17){ -_17.destroyRecursive(); -}); -dojo.forEach(this.options,this._addOptionItem,this); -this._updateSelection(); -},_updateSelection:function(){ -this._set("value",this._getValueFromOpts()); -var val=this.value; -if(!dojo.isArray(val)){ -val=[val]; -} -if(val&&val[0]){ -dojo.forEach(this._getChildren(),function(_18){ -var _19=dojo.some(val,function(v){ -return _18.option&&(v===_18.option.value); -}); -dojo.toggleClass(_18.domNode,this.baseClass+"SelectedOption",_19); -dijit.setWaiState(_18.domNode,"selected",_19); -},this); -} -},_getValueFromOpts:function(){ -var _1a=this.getOptions()||[]; -if(!this.multiple&&_1a.length){ -var opt=dojo.filter(_1a,function(i){ -return i.selected; -})[0]; -if(opt&&opt.value){ -return opt.value; -}else{ -_1a[0].selected=true; -return _1a[0].value; -} -}else{ -if(this.multiple){ -return dojo.map(dojo.filter(_1a,function(i){ -return i.selected; -}),function(i){ -return i.value; -})||[]; -} -} -return ""; -},_onNewItem:function(_1b,_1c){ -if(!_1c||!_1c.parent){ -this._addOptionForItem(_1b); -} -},_onDeleteItem:function(_1d){ -var _1e=this.store; -this.removeOption(_1e.getIdentity(_1d)); -},_onSetItem:function(_1f){ -this.updateOption(this._getOptionObjForItem(_1f)); -},_getOptionObjForItem:function(_20){ -var _21=this.store,_22=_21.getLabel(_20),_23=(_22?_21.getIdentity(_20):null); -return {value:_23,label:_22,item:_20}; -},_addOptionForItem:function(_24){ -var _25=this.store; -if(!_25.isItemLoaded(_24)){ -_25.loadItem({item:_24,onComplete:function(i){ -this._addOptionForItem(_24); -},scope:this}); -return; -} -var _26=this._getOptionObjForItem(_24); -this.addOption(_26); -},constructor:function(_27){ -this._oValue=(_27||{}).value||null; -},buildRendering:function(){ -this.inherited(arguments); -dojo.setSelectable(this.focusNode,false); -},_fillContent:function(){ -var _28=this.options; -if(!_28){ -_28=this.options=this.srcNodeRef?dojo.query(">",this.srcNodeRef).map(function(_29){ -if(_29.getAttribute("type")==="separator"){ -return {value:"",label:"",selected:false,disabled:false}; -} -return {value:(_29.getAttribute("data-"+dojo._scopeName+"-value")||_29.getAttribute("value")),label:String(_29.innerHTML),selected:_29.getAttribute("selected")||false,disabled:_29.getAttribute("disabled")||false}; -},this):[]; -} -if(!this.value){ -this._set("value",this._getValueFromOpts()); -}else{ -if(this.multiple&&typeof this.value=="string"){ -this_set("value",this.value.split(",")); -} -} -},postCreate:function(){ -this.inherited(arguments); -this.connect(this,"onChange","_updateSelection"); -this.connect(this,"startup","_loadChildren"); -this._setValueAttr(this.value,null); -},startup:function(){ -this.inherited(arguments); -var _2a=this.store,_2b={}; -dojo.forEach(["query","queryOptions","onFetch"],function(i){ -if(this[i]){ -_2b[i]=this[i]; -} -delete this[i]; -},this); -if(_2a&&_2a.getFeatures()["dojo.data.api.Identity"]){ -this.store=null; -this.setStore(_2a,this._oValue,_2b); -} -},destroy:function(){ -dojo.forEach(this._notifyConnections||[],dojo.disconnect); -this.inherited(arguments); -},_addOptionItem:function(_2c){ -},_removeOptionItem:function(_2d){ -},_setDisplay:function(_2e){ -},_getChildren:function(){ -return []; -},_getSelectedOptionsAttr:function(){ -return this.getOptions(this.get("value")); -},_pseudoLoadChildren:function(_2f){ -},onSetStore:function(){ -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/_FormWidget.js b/resources/library/interactive/barre_prof.wgt/dijit/form/_FormWidget.js deleted file mode 100644 index fc3fa6ae..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/_FormWidget.js +++ /dev/null @@ -1,171 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form._FormWidget"]){ -dojo._hasResource["dijit.form._FormWidget"]=true; -dojo.provide("dijit.form._FormWidget"); -dojo.require("dojo.window"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Templated"); -dojo.require("dijit._CssStateMixin"); -dojo.declare("dijit.form._FormWidget",[dijit._Widget,dijit._Templated,dijit._CssStateMixin],{name:"",alt:"",value:"",type:"text",tabIndex:"0",disabled:false,intermediateChanges:false,scrollOnFocus:true,attributeMap:dojo.delegate(dijit._Widget.prototype.attributeMap,{value:"focusNode",id:"focusNode",tabIndex:"focusNode",alt:"focusNode",title:"focusNode"}),postMixInProperties:function(){ -this.nameAttrSetting=this.name?("name=\""+this.name.replace(/'/g,""")+"\""):""; -this.inherited(arguments); -},postCreate:function(){ -this.inherited(arguments); -this.connect(this.domNode,"onmousedown","_onMouseDown"); -},_setDisabledAttr:function(_1){ -this._set("disabled",_1); -dojo.attr(this.focusNode,"disabled",_1); -if(this.valueNode){ -dojo.attr(this.valueNode,"disabled",_1); -} -dijit.setWaiState(this.focusNode,"disabled",_1); -if(_1){ -this._set("hovering",false); -this._set("active",false); -var _2="tabIndex" in this.attributeMap?this.attributeMap.tabIndex:"focusNode"; -dojo.forEach(dojo.isArray(_2)?_2:[_2],function(_3){ -var _4=this[_3]; -if(dojo.isWebKit||dijit.hasDefaultTabStop(_4)){ -_4.setAttribute("tabIndex","-1"); -}else{ -_4.removeAttribute("tabIndex"); -} -},this); -}else{ -if(this.tabIndex!=""){ -this.focusNode.setAttribute("tabIndex",this.tabIndex); -} -} -},setDisabled:function(_5){ -dojo.deprecated("setDisabled("+_5+") is deprecated. Use set('disabled',"+_5+") instead.","","2.0"); -this.set("disabled",_5); -},_onFocus:function(e){ -if(this.scrollOnFocus){ -dojo.window.scrollIntoView(this.domNode); -} -this.inherited(arguments); -},isFocusable:function(){ -return !this.disabled&&this.focusNode&&(dojo.style(this.domNode,"display")!="none"); -},focus:function(){ -if(!this.disabled){ -dijit.focus(this.focusNode); -} -},compare:function(_6,_7){ -if(typeof _6=="number"&&typeof _7=="number"){ -return (isNaN(_6)&&isNaN(_7))?0:_6-_7; -}else{ -if(_6>_7){ -return 1; -}else{ -if(_6<_7){ -return -1; -}else{ -return 0; -} -} -} -},onChange:function(_8){ -},_onChangeActive:false,_handleOnChange:function(_9,_a){ -if(this._lastValueReported==undefined&&(_a===null||!this._onChangeActive)){ -this._resetValue=this._lastValueReported=_9; -} -this._pendingOnChange=this._pendingOnChange||(typeof _9!=typeof this._lastValueReported)||(this.compare(_9,this._lastValueReported)!=0); -if((this.intermediateChanges||_a||_a===undefined)&&this._pendingOnChange){ -this._lastValueReported=_9; -this._pendingOnChange=false; -if(this._onChangeActive){ -if(this._onChangeHandle){ -clearTimeout(this._onChangeHandle); -} -this._onChangeHandle=setTimeout(dojo.hitch(this,function(){ -this._onChangeHandle=null; -this.onChange(_9); -}),0); -} -} -},create:function(){ -this.inherited(arguments); -this._onChangeActive=true; -},destroy:function(){ -if(this._onChangeHandle){ -clearTimeout(this._onChangeHandle); -this.onChange(this._lastValueReported); -} -this.inherited(arguments); -},setValue:function(_b){ -dojo.deprecated("dijit.form._FormWidget:setValue("+_b+") is deprecated. Use set('value',"+_b+") instead.","","2.0"); -this.set("value",_b); -},getValue:function(){ -dojo.deprecated(this.declaredClass+"::getValue() is deprecated. Use get('value') instead.","","2.0"); -return this.get("value"); -},_onMouseDown:function(e){ -if(!e.ctrlKey&&dojo.mouseButtons.isLeft(e)&&this.isFocusable()){ -var _c=this.connect(dojo.body(),"onmouseup",function(){ -if(this.isFocusable()){ -this.focus(); -} -this.disconnect(_c); -}); -} -}}); -dojo.declare("dijit.form._FormValueWidget",dijit.form._FormWidget,{readOnly:false,attributeMap:dojo.delegate(dijit.form._FormWidget.prototype.attributeMap,{value:"",readOnly:"focusNode"}),_setReadOnlyAttr:function(_d){ -dojo.attr(this.focusNode,"readOnly",_d); -dijit.setWaiState(this.focusNode,"readonly",_d); -this._set("readOnly",_d); -},postCreate:function(){ -this.inherited(arguments); -if(dojo.isIE<9||(dojo.isIE&&dojo.isQuirks)){ -this.connect(this.focusNode||this.domNode,"onkeydown",this._onKeyDown); -} -if(this._resetValue===undefined){ -this._lastValueReported=this._resetValue=this.value; -} -},_setValueAttr:function(_e,_f){ -this._handleOnChange(_e,_f); -},_handleOnChange:function(_10,_11){ -this._set("value",_10); -this.inherited(arguments); -},undo:function(){ -this._setValueAttr(this._lastValueReported,false); -},reset:function(){ -this._hasBeenBlurred=false; -this._setValueAttr(this._resetValue,true); -},_onKeyDown:function(e){ -if(e.keyCode==dojo.keys.ESCAPE&&!(e.ctrlKey||e.altKey||e.metaKey)){ -var te; -if(dojo.isIE){ -e.preventDefault(); -te=document.createEventObject(); -te.keyCode=dojo.keys.ESCAPE; -te.shiftKey=e.shiftKey; -e.srcElement.fireEvent("onkeypress",te); -} -} -},_layoutHackIE7:function(){ -if(dojo.isIE==7){ -var _12=this.domNode; -var _13=_12.parentNode; -var _14=_12.firstChild||_12; -var _15=_14.style.filter; -var _16=this; -while(_13&&_13.clientHeight==0){ -(function ping(){ -var _17=_16.connect(_13,"onscroll",function(e){ -_16.disconnect(_17); -_14.style.filter=(new Date()).getMilliseconds(); -setTimeout(function(){ -_14.style.filter=_15; -},0); -}); -})(); -_13=_13.parentNode; -} -} -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/_Spinner.js b/resources/library/interactive/barre_prof.wgt/dijit/form/_Spinner.js deleted file mode 100644 index 3d0c6ee9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/_Spinner.js +++ /dev/null @@ -1,57 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.form._Spinner"]){ -dojo._hasResource["dijit.form._Spinner"]=true; -dojo.provide("dijit.form._Spinner"); -dojo.require("dijit.form.ValidationTextBox"); -dojo.declare("dijit.form._Spinner",dijit.form.RangeBoundTextBox,{defaultTimeout:500,minimumTimeout:10,timeoutChangeRate:0.9,smallDelta:1,largeDelta:10,templateString:dojo.cache("dijit.form","templates/Spinner.html","<div class=\"dijit dijitReset dijitInlineTable dijitLeft\"\n\tid=\"widget_${id}\" role=\"presentation\"\n\t><div class=\"dijitReset dijitButtonNode dijitSpinnerButtonContainer\"\n\t\t><input class=\"dijitReset dijitInputField dijitSpinnerButtonInner\" type=\"text\" tabIndex=\"-1\" readonly=\"readonly\" role=\"presentation\"\n\t\t/><div class=\"dijitReset dijitLeft dijitButtonNode dijitArrowButton dijitUpArrowButton\"\n\t\t\tdojoAttachPoint=\"upArrowNode\"\n\t\t\t><div class=\"dijitArrowButtonInner\"\n\t\t\t\t><input class=\"dijitReset dijitInputField\" value=\"▲\" type=\"text\" tabIndex=\"-1\" readonly=\"readonly\" role=\"presentation\"\n\t\t\t\t\t${_buttonInputDisabled}\n\t\t\t/></div\n\t\t></div\n\t\t><div class=\"dijitReset dijitLeft dijitButtonNode dijitArrowButton dijitDownArrowButton\"\n\t\t\tdojoAttachPoint=\"downArrowNode\"\n\t\t\t><div class=\"dijitArrowButtonInner\"\n\t\t\t\t><input class=\"dijitReset dijitInputField\" value=\"▼\" type=\"text\" tabIndex=\"-1\" readonly=\"readonly\" role=\"presentation\"\n\t\t\t\t\t${_buttonInputDisabled}\n\t\t\t/></div\n\t\t></div\n\t></div\n\t><div class='dijitReset dijitValidationContainer'\n\t\t><input class=\"dijitReset dijitInputField dijitValidationIcon dijitValidationInner\" value=\"Χ\" type=\"text\" tabIndex=\"-1\" readonly=\"readonly\" role=\"presentation\"\n\t/></div\n\t><div class=\"dijitReset dijitInputField dijitInputContainer\"\n\t\t><input class='dijitReset dijitInputInner' dojoAttachPoint=\"textbox,focusNode\" type=\"${type}\" dojoAttachEvent=\"onkeypress:_onKeyPress\"\n\t\t\trole=\"spinbutton\" autocomplete=\"off\" ${!nameAttrSetting}\n\t/></div\n></div>\n"),baseClass:"dijitTextBox dijitSpinner",cssStateNodes:{"upArrowNode":"dijitUpArrowButton","downArrowNode":"dijitDownArrowButton"},adjust:function(_1,_2){ -return _1; -},_arrowPressed:function(_3,_4,_5){ -if(this.disabled||this.readOnly){ -return; -} -this._setValueAttr(this.adjust(this.get("value"),_4*_5),false); -dijit.selectInputText(this.textbox,this.textbox.value.length); -},_arrowReleased:function(_6){ -this._wheelTimer=null; -if(this.disabled||this.readOnly){ -return; -} -},_typematicCallback:function(_7,_8,_9){ -var _a=this.smallDelta; -if(_8==this.textbox){ -var k=dojo.keys; -var _b=_9.charOrCode; -_a=(_b==k.PAGE_UP||_b==k.PAGE_DOWN)?this.largeDelta:this.smallDelta; -_8=(_b==k.UP_ARROW||_b==k.PAGE_UP)?this.upArrowNode:this.downArrowNode; -} -if(_7==-1){ -this._arrowReleased(_8); -}else{ -this._arrowPressed(_8,(_8==this.upArrowNode)?1:-1,_a); -} -},_wheelTimer:null,_mouseWheeled:function(_c){ -dojo.stopEvent(_c); -var _d=_c.detail?(_c.detail*-1):(_c.wheelDelta/120); -if(_d!==0){ -var _e=this[(_d>0?"upArrowNode":"downArrowNode")]; -this._arrowPressed(_e,_d,this.smallDelta); -if(!this._wheelTimer){ -clearTimeout(this._wheelTimer); -} -this._wheelTimer=setTimeout(dojo.hitch(this,"_arrowReleased",_e),50); -} -},postCreate:function(){ -this.inherited(arguments); -this.connect(this.domNode,!dojo.isMozilla?"onmousewheel":"DOMMouseScroll","_mouseWheeled"); -this._connects.push(dijit.typematic.addListener(this.upArrowNode,this.textbox,{charOrCode:dojo.keys.UP_ARROW,ctrlKey:false,altKey:false,shiftKey:false,metaKey:false},this,"_typematicCallback",this.timeoutChangeRate,this.defaultTimeout,this.minimumTimeout)); -this._connects.push(dijit.typematic.addListener(this.downArrowNode,this.textbox,{charOrCode:dojo.keys.DOWN_ARROW,ctrlKey:false,altKey:false,shiftKey:false,metaKey:false},this,"_typematicCallback",this.timeoutChangeRate,this.defaultTimeout,this.minimumTimeout)); -this._connects.push(dijit.typematic.addListener(this.upArrowNode,this.textbox,{charOrCode:dojo.keys.PAGE_UP,ctrlKey:false,altKey:false,shiftKey:false,metaKey:false},this,"_typematicCallback",this.timeoutChangeRate,this.defaultTimeout,this.minimumTimeout)); -this._connects.push(dijit.typematic.addListener(this.downArrowNode,this.textbox,{charOrCode:dojo.keys.PAGE_DOWN,ctrlKey:false,altKey:false,shiftKey:false,metaKey:false},this,"_typematicCallback",this.timeoutChangeRate,this.defaultTimeout,this.minimumTimeout)); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ComboBox.js deleted file mode 100644 index 49bba39a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Previous choices","nextMessage":"More choices"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/Textarea.js deleted file mode 100644 index 4b0e996a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"edit area","iframeFocusTitle":"edit area frame"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ar/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ar/ComboBox.js deleted file mode 100644 index 6a845318..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ar/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"الاختيارات السابقة","nextMessage":"مزيد من الاختيارات"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ar/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ar/Textarea.js deleted file mode 100644 index fe623c69..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ar/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"مساحة التحرير","iframeFocusTitle":"اطار مساحة التحرير"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ar/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ar/validate.js deleted file mode 100644 index 615e56b3..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ar/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"هذه القيمة ليس بالمدى الصحيح.","invalidMessage":"القيمة التي تم ادخالها غير صحيحة.","missingMessage":"يجب ادخال هذه القيمة."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ca/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ca/ComboBox.js deleted file mode 100644 index 1a378688..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ca/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Opcions anteriors","nextMessage":"Més opcions"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ca/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ca/Textarea.js deleted file mode 100644 index 357f9238..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ca/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"àrea d'edició","iframeFocusTitle":"Marc de l'àrea d'edició"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ca/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ca/validate.js deleted file mode 100644 index a0a592ed..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ca/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Aquest valor és fora de l'interval","invalidMessage":"El valor introduït no és vàlid","missingMessage":"Aquest valor és necessari"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/cs/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/cs/ComboBox.js deleted file mode 100644 index 84e08413..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/cs/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Předchozí volby","nextMessage":"Další volby"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/cs/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/cs/Textarea.js deleted file mode 100644 index 8a75ddc4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/cs/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"oblast úprav","iframeFocusTitle":"rámec oblasti úprav"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/cs/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/cs/validate.js deleted file mode 100644 index 7bb7b9e2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/cs/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Tato hodnota je mimo rozsah.","invalidMessage":"Zadaná hodnota není platná.","missingMessage":"Tato hodnota je vyžadována."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/da/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/da/ComboBox.js deleted file mode 100644 index 4ddc10dc..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/da/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Forrige valg","nextMessage":"Flere valg"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/da/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/da/Textarea.js deleted file mode 100644 index 244c2109..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/da/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"redigeringsområde","iframeFocusTitle":"ramme om redigeringsområde"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/da/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/da/validate.js deleted file mode 100644 index b42a99d3..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/da/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Værdien er uden for intervallet.","invalidMessage":"Den angivne værdi er ikke gyldig.","missingMessage":"Værdien er påkrævet."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/de/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/de/ComboBox.js deleted file mode 100644 index 6cce34bf..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/de/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Vorherige Auswahl","nextMessage":"Weitere Auswahlmöglichkeiten"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/de/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/de/Textarea.js deleted file mode 100644 index 2cf75dbe..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/de/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"Editierbereich","iframeFocusTitle":"Rahmen für Editierbereich"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/de/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/de/validate.js deleted file mode 100644 index 597796d5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/de/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Dieser Wert liegt außerhalb des gültigen Bereichs. ","invalidMessage":"Der eingegebene Wert ist ungültig. ","missingMessage":"Dieser Wert ist erforderlich."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/el/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/el/ComboBox.js deleted file mode 100644 index ec294d14..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/el/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Προηγούμενες επιλογές","nextMessage":"Περισσότερες επιλογές"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/el/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/el/Textarea.js deleted file mode 100644 index 9ce37a93..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/el/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"περιοχή επεξεργασίας","iframeFocusTitle":"πλαίσιο περιοχής επεξεργασίας"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/el/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/el/validate.js deleted file mode 100644 index cc57d55e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/el/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Η τιμή αυτή δεν ανήκει στο εύρος έγκυρων τιμών.","invalidMessage":"Η τιμή που καταχωρήσατε δεν είναι έγκυρη.","missingMessage":"Η τιμή αυτή πρέπει απαραίτητα να καθοριστεί."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/es/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/es/ComboBox.js deleted file mode 100644 index 5bf69f98..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/es/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Opciones anteriores","nextMessage":"Más opciones"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/es/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/es/Textarea.js deleted file mode 100644 index f92a50f6..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/es/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"área de edición","iframeFocusTitle":"marco del área de edición"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/es/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/es/validate.js deleted file mode 100644 index 65e190ec..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/es/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Este valor está fuera del intervalo.","invalidMessage":"El valor especificado no es válido.","missingMessage":"Este valor es necesario."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fi/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fi/ComboBox.js deleted file mode 100644 index 6d9b830a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fi/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Edelliset valinnat","nextMessage":"Lisää valintoja"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fi/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fi/Textarea.js deleted file mode 100644 index 5efaee95..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fi/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"muokkausalue","iframeFocusTitle":"muokkausalueen kehys"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fi/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fi/validate.js deleted file mode 100644 index 276efcd2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fi/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Tämä arvo on sallitun alueen ulkopuolella.","invalidMessage":"Annettu arvo ei kelpaa.","missingMessage":"Tämä arvo on pakollinen."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fr/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fr/ComboBox.js deleted file mode 100644 index 14b39762..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fr/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Choix précédents","nextMessage":"Plus de choix"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fr/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fr/Textarea.js deleted file mode 100644 index 4abb6c3e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fr/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"zone d'édition","iframeFocusTitle":"cadre de la zone d'édition"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fr/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fr/validate.js deleted file mode 100644 index 95a01694..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/fr/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Cette valeur n'est pas comprise dans la plage autorisée.","invalidMessage":"La valeur indiquée n'est pas correcte.","missingMessage":"Cette valeur est requise."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/he/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/he/ComboBox.js deleted file mode 100644 index 169d0f5a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/he/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"האפשרויות הקודמות","nextMessage":"אפשרויות נוספות"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/he/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/he/Textarea.js deleted file mode 100644 index 809eadfa..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/he/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"אזור עריכה","iframeFocusTitle":"מסגרת אזור עריכה"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/he/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/he/validate.js deleted file mode 100644 index 3d778e2c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/he/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"הערך מחוץ לטווח.","invalidMessage":"הערך שצוין אינו חוקי.","missingMessage":"זהו ערך דרוש."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/hu/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/hu/ComboBox.js deleted file mode 100644 index 4b6a620a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/hu/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Előző menüpontok","nextMessage":"További menüpontok"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/hu/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/hu/Textarea.js deleted file mode 100644 index 9b4ca01a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/hu/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"szerkesztési terület","iframeFocusTitle":"szerkesztési terület keret"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/hu/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/hu/validate.js deleted file mode 100644 index b6d7996a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/hu/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Az érték kívül van a megengedett tartományon.","invalidMessage":"A megadott érték érvénytelen.","missingMessage":"Meg kell adni egy értéket."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/it/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/it/ComboBox.js deleted file mode 100644 index 9f670723..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/it/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Scelte precedenti","nextMessage":"Altre scelte"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/it/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/it/Textarea.js deleted file mode 100644 index 1b14ecc0..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/it/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"modifica area","iframeFocusTitle":"modifica frame area"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/it/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/it/validate.js deleted file mode 100644 index af7227fd..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/it/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Questo valore non è compreso nell'intervallo.","invalidMessage":"Il valore immesso non è valido.","missingMessage":"Questo valore è obbligatorio."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ja/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ja/ComboBox.js deleted file mode 100644 index 6b34170b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ja/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"以前の選択項目","nextMessage":"追加の選択項目"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ja/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ja/Textarea.js deleted file mode 100644 index 8a52f4a3..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ja/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"編集域","iframeFocusTitle":"編集域フレーム"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ja/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ja/validate.js deleted file mode 100644 index 450cd7e3..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ja/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"この値は範囲外です。","invalidMessage":"入力した値は無効です。","missingMessage":"この値は必須です。"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/kk/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/kk/ComboBox.js deleted file mode 100644 index edb918a9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/kk/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Алдыңғы нұсқалар","nextMessage":"Басқа нұсқалар"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/kk/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/kk/Textarea.js deleted file mode 100644 index 617fcb91..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/kk/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"өңдеу аумағы","iframeFocusTitle":"өңдеу аумағының жақтауы"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/kk/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/kk/validate.js deleted file mode 100644 index d6761211..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/kk/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Бұл мән ауқымнан тыс.","invalidMessage":"Енгізілген мән жарамды емес.","missingMessage":"Бұл мән міндетті."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ko/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ko/ComboBox.js deleted file mode 100644 index 87d0f064..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ko/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"이전 선택사항","nextMessage":"기타 선택사항"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ko/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ko/Textarea.js deleted file mode 100644 index 5c4e9162..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ko/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"편집 영역","iframeFocusTitle":"편집 영역 프레임"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ko/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ko/validate.js deleted file mode 100644 index c76c6764..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ko/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"이 값은 범위를 벗어납니다.","invalidMessage":"입력된 값이 올바르지 않습니다.","missingMessage":"이 값은 필수입니다."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nb/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nb/ComboBox.js deleted file mode 100644 index de145542..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nb/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Tidligere valg","nextMessage":"Flere valg"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nb/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nb/Textarea.js deleted file mode 100644 index 16fadf59..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nb/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"redigeringsområde","iframeFocusTitle":"ramme for redigeringsområde"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nb/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nb/validate.js deleted file mode 100644 index 2fe96f26..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nb/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Denne verdien er utenfor gyldig område.","invalidMessage":"Den angitte verdien er ikke gyldig.","missingMessage":"Denne verdien er obligatorisk."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nl/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nl/ComboBox.js deleted file mode 100644 index b5885d75..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nl/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Eerdere opties","nextMessage":"Meer opties"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nl/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nl/Textarea.js deleted file mode 100644 index d13c3a6e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nl/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"veld bewerken","iframeFocusTitle":"veldkader bewerken"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nl/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nl/validate.js deleted file mode 100644 index b3062c14..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/nl/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Deze waarde is niet toegestaan.","invalidMessage":"De opgegeven waarde is ongeldig.","missingMessage":"Deze waarde is verplicht."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pl/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pl/ComboBox.js deleted file mode 100644 index f2b4b08a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pl/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Poprzednie wybory","nextMessage":"Więcej wyborów"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pl/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pl/Textarea.js deleted file mode 100644 index 33b050a1..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pl/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"edycja obszaru","iframeFocusTitle":"edycja ramki obszaru"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pl/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pl/validate.js deleted file mode 100644 index cf05d2f9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pl/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Ta wartość jest spoza zakresu.","invalidMessage":"Wprowadzona wartość jest niepoprawna.","missingMessage":"Ta wartość jest wymagana."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt-pt/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt-pt/ComboBox.js deleted file mode 100644 index 25405424..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt-pt/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Opções anteriores","nextMessage":"Mais opções"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt-pt/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt-pt/Textarea.js deleted file mode 100644 index bcd75e78..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt-pt/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"área de edição","iframeFocusTitle":"painel da área de edição"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt-pt/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt-pt/validate.js deleted file mode 100644 index 3d921704..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt-pt/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Este valor encontra-se fora do intervalo.","invalidMessage":"O valor introduzido não é válido.","missingMessage":"Este valor é requerido."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt/ComboBox.js deleted file mode 100644 index 25405424..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Opções anteriores","nextMessage":"Mais opções"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt/Textarea.js deleted file mode 100644 index b4a0b0fa..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"editar área","iframeFocusTitle":"editar quadro da área"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt/validate.js deleted file mode 100644 index 3b435799..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/pt/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Este valor está fora do intervalo. ","invalidMessage":"O valor inserido não é válido.","missingMessage":"Este valor é necessário."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ro/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ro/ComboBox.js deleted file mode 100644 index f491a113..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ro/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Alegeri anterioare","nextMessage":"Mai multe alegeri"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ro/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ro/Textarea.js deleted file mode 100644 index 2e029d96..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ro/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"zonă de editare","iframeFocusTitle":"cadru zonă de editare"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ro/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ro/validate.js deleted file mode 100644 index f0892c76..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ro/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Această valoare este în afara intervalului. ","invalidMessage":"Valoarea introdusă nu este validă.","missingMessage":"Această valoare este necesară."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ru/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ru/ComboBox.js deleted file mode 100644 index 193f4ee3..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ru/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Предыдущие варианты","nextMessage":"Следующие варианты"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ru/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ru/Textarea.js deleted file mode 100644 index ad7ad22f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ru/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"область редактирования","iframeFocusTitle":"фрейм области редактирования"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ru/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ru/validate.js deleted file mode 100644 index 35fb5ca2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/ru/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Это значение вне диапазона.","invalidMessage":"Указано недопустимое значение.","missingMessage":"Это обязательное значение."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sk/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sk/ComboBox.js deleted file mode 100644 index a45c7f23..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sk/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Predchádzajúce voľby","nextMessage":"Ďalšie voľby"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sk/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sk/Textarea.js deleted file mode 100644 index 3ee98c35..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sk/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"upraviť oblasť","iframeFocusTitle":"upraviť rám oblasti"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sk/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sk/validate.js deleted file mode 100644 index 612dab57..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sk/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Táto hodnota je mimo rozsah.","invalidMessage":"Zadaná hodnota nie je platná.","missingMessage":"Táto hodnota je vyžadovaná."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sl/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sl/ComboBox.js deleted file mode 100644 index 61d4469c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sl/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Prejšnje izbire","nextMessage":"Dodatne izbire"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sl/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sl/Textarea.js deleted file mode 100644 index 0e0d5117..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sl/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"urejevalno področje","iframeFocusTitle":"okvir urejevalnega področja"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sl/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sl/validate.js deleted file mode 100644 index b84b3535..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sl/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Ta vrednost je izven območja.","invalidMessage":"Vnesena vrednost ni veljavna.","missingMessage":"Ta vrednost je zahtevana."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sv/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sv/ComboBox.js deleted file mode 100644 index 860bf75a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sv/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Föregående alternativ","nextMessage":"Fler alternativ"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sv/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sv/Textarea.js deleted file mode 100644 index 9e508ac7..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sv/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"redigeringsområde","iframeFocusTitle":"redigeringsområdesram"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sv/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sv/validate.js deleted file mode 100644 index 8c1b537b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/sv/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Värdet är utanför intervallet.","invalidMessage":"Det angivna värdet är ogiltigt.","missingMessage":"Värdet är obligatoriskt."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/th/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/th/ComboBox.js deleted file mode 100644 index ff32a4fe..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/th/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"การเลือกก่อนหน้า","nextMessage":"การเลือกเพิ่มเติม"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/th/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/th/Textarea.js deleted file mode 100644 index 43611831..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/th/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"แก้ไขพื้นที่","iframeFocusTitle":"แก้ไขกรอบพื้นที่"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/th/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/th/validate.js deleted file mode 100644 index 86606b77..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/th/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"ค่านี้เกินช่วง","invalidMessage":"ค่าที่ป้อนไม่ถูกต้อง","missingMessage":"จำเป็นต้องมีค่านี้"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/tr/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/tr/ComboBox.js deleted file mode 100644 index 46f71dc8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/tr/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"Önceki seçenekler","nextMessage":"Diğer seçenekler"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/tr/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/tr/Textarea.js deleted file mode 100644 index 3f2b5e71..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/tr/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"düzenleme alanı","iframeFocusTitle":"düzenleme alanı çerçevesi"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/tr/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/tr/validate.js deleted file mode 100644 index 838dbdae..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/tr/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"Bu değer aralık dışında.","invalidMessage":"Girilen değer geçersiz.","missingMessage":"Bu değer gerekli."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/validate.js deleted file mode 100644 index 29a1a476..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"This value is out of range.","invalidMessage":"The value entered is not valid.","missingMessage":"This value is required."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh-tw/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh-tw/ComboBox.js deleted file mode 100644 index ead5fa6b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh-tw/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"前一個選擇項","nextMessage":"其他選擇項"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh-tw/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh-tw/Textarea.js deleted file mode 100644 index cb7abda2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh-tw/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"編輯區","iframeFocusTitle":"編輯區框"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh-tw/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh-tw/validate.js deleted file mode 100644 index b398a31a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh-tw/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"此值超出範圍。","invalidMessage":"輸入的值無效。","missingMessage":"必須提供此值。"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh/ComboBox.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh/ComboBox.js deleted file mode 100644 index 7cc92cf1..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh/ComboBox.js +++ /dev/null @@ -1 +0,0 @@ -({"previousMessage":"先前选项","nextMessage":"更多选项"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh/Textarea.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh/Textarea.js deleted file mode 100644 index e1cf172a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh/Textarea.js +++ /dev/null @@ -1 +0,0 @@ -({"iframeEditTitle":"编辑区","iframeFocusTitle":"编辑区框架"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh/validate.js b/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh/validate.js deleted file mode 100644 index e2c01f55..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/form/nls/zh/validate.js +++ /dev/null @@ -1 +0,0 @@ -({"rangeMessage":"此值超出范围。","invalidMessage":"输入的值无效。","missingMessage":"此值是必需值。"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/layout/AccordionContainer.js b/resources/library/interactive/barre_prof.wgt/dijit/layout/AccordionContainer.js deleted file mode 100644 index d77bc4ee..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/layout/AccordionContainer.js +++ /dev/null @@ -1,213 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.layout.AccordionContainer"]){ -dojo._hasResource["dijit.layout.AccordionContainer"]=true; -dojo.provide("dijit.layout.AccordionContainer"); -dojo.require("dijit._Container"); -dojo.require("dijit._Templated"); -dojo.require("dijit._CssStateMixin"); -dojo.require("dijit.layout.StackContainer"); -dojo.require("dijit.layout.ContentPane"); -dojo.require("dijit.layout.AccordionPane"); -dojo.declare("dijit.layout.AccordionContainer",dijit.layout.StackContainer,{duration:dijit.defaultDuration,buttonWidget:"dijit.layout._AccordionButton",baseClass:"dijitAccordionContainer",buildRendering:function(){ -this.inherited(arguments); -this.domNode.style.overflow="hidden"; -dijit.setWaiRole(this.domNode,"tablist"); -},startup:function(){ -if(this._started){ -return; -} -this.inherited(arguments); -if(this.selectedChildWidget){ -var _1=this.selectedChildWidget.containerNode.style; -_1.display=""; -_1.overflow="auto"; -this.selectedChildWidget._wrapperWidget.set("selected",true); -} -},layout:function(){ -var _2=this.selectedChildWidget; -if(!_2){ -return; -} -var _3=_2._wrapperWidget.domNode,_4=dojo._getMarginExtents(_3),_5=dojo._getPadBorderExtents(_3),_6=_2._wrapperWidget.containerNode,_7=dojo._getMarginExtents(_6),_8=dojo._getPadBorderExtents(_6),_9=this._contentBox; -var _a=0; -dojo.forEach(this.getChildren(),function(_b){ -if(_b!=_2){ -_a+=dojo._getMarginSize(_b._wrapperWidget.domNode).h; -} -}); -this._verticalSpace=_9.h-_a-_4.h-_5.h-_7.h-_8.h-_2._buttonWidget.getTitleHeight(); -this._containerContentBox={h:this._verticalSpace,w:this._contentBox.w-_4.w-_5.w-_7.w-_8.w}; -if(_2){ -_2.resize(this._containerContentBox); -} -},_setupChild:function(_c){ -_c._wrapperWidget=new dijit.layout._AccordionInnerContainer({contentWidget:_c,buttonWidget:this.buttonWidget,id:_c.id+"_wrapper",dir:_c.dir,lang:_c.lang,parent:this}); -this.inherited(arguments); -},addChild:function(_d,_e){ -if(this._started){ -dojo.place(_d.domNode,this.containerNode,_e); -if(!_d._started){ -_d.startup(); -} -this._setupChild(_d); -dojo.publish(this.id+"-addChild",[_d,_e]); -this.layout(); -if(!this.selectedChildWidget){ -this.selectChild(_d); -} -}else{ -this.inherited(arguments); -} -},removeChild:function(_f){ -if(_f._wrapperWidget){ -dojo.place(_f.domNode,_f._wrapperWidget.domNode,"after"); -_f._wrapperWidget.destroy(); -delete _f._wrapperWidget; -} -dojo.removeClass(_f.domNode,"dijitHidden"); -this.inherited(arguments); -},getChildren:function(){ -return dojo.map(this.inherited(arguments),function(_10){ -return _10.declaredClass=="dijit.layout._AccordionInnerContainer"?_10.contentWidget:_10; -},this); -},destroy:function(){ -if(this._animation){ -this._animation.stop(); -} -dojo.forEach(this.getChildren(),function(_11){ -if(_11._wrapperWidget){ -_11._wrapperWidget.destroy(); -}else{ -_11.destroyRecursive(); -} -}); -this.inherited(arguments); -},_showChild:function(_12){ -_12._wrapperWidget.containerNode.style.display="block"; -return this.inherited(arguments); -},_hideChild:function(_13){ -_13._wrapperWidget.containerNode.style.display="none"; -this.inherited(arguments); -},_transition:function(_14,_15,_16){ -if(dojo.isIE<8){ -_16=false; -} -if(this._animation){ -this._animation.stop(true); -delete this._animation; -} -var _17=this; -if(_14){ -_14._wrapperWidget.set("selected",true); -var d=this._showChild(_14); -if(this.doLayout&&_14.resize){ -_14.resize(this._containerContentBox); -} -} -if(_15){ -_15._wrapperWidget.set("selected",false); -if(!_16){ -this._hideChild(_15); -} -} -if(_16){ -var _18=_14._wrapperWidget.containerNode,_19=_15._wrapperWidget.containerNode; -var _1a=_14._wrapperWidget.containerNode,_1b=dojo._getMarginExtents(_1a),_1c=dojo._getPadBorderExtents(_1a),_1d=_1b.h+_1c.h; -_19.style.height=(_17._verticalSpace-_1d)+"px"; -this._animation=new dojo.Animation({node:_18,duration:this.duration,curve:[1,this._verticalSpace-_1d-1],onAnimate:function(_1e){ -_1e=Math.floor(_1e); -_18.style.height=_1e+"px"; -_19.style.height=(_17._verticalSpace-_1d-_1e)+"px"; -},onEnd:function(){ -delete _17._animation; -_18.style.height="auto"; -_15._wrapperWidget.containerNode.style.display="none"; -_19.style.height="auto"; -_17._hideChild(_15); -}}); -this._animation.onStop=this._animation.onEnd; -this._animation.play(); -} -return d; -},_onKeyPress:function(e,_1f){ -if(this.disabled||e.altKey||!(_1f||e.ctrlKey)){ -return; -} -var k=dojo.keys,c=e.charOrCode; -if((_1f&&(c==k.LEFT_ARROW||c==k.UP_ARROW))||(e.ctrlKey&&c==k.PAGE_UP)){ -this._adjacent(false)._buttonWidget._onTitleClick(); -dojo.stopEvent(e); -}else{ -if((_1f&&(c==k.RIGHT_ARROW||c==k.DOWN_ARROW))||(e.ctrlKey&&(c==k.PAGE_DOWN||c==k.TAB))){ -this._adjacent(true)._buttonWidget._onTitleClick(); -dojo.stopEvent(e); -} -} -}}); -dojo.declare("dijit.layout._AccordionInnerContainer",[dijit._Widget,dijit._CssStateMixin],{baseClass:"dijitAccordionInnerContainer",isContainer:true,isLayoutContainer:true,buildRendering:function(){ -this.domNode=dojo.place("<div class='"+this.baseClass+"'>",this.contentWidget.domNode,"after"); -var _20=this.contentWidget,cls=dojo.getObject(this.buttonWidget); -this.button=_20._buttonWidget=(new cls({contentWidget:_20,label:_20.title,title:_20.tooltip,dir:_20.dir,lang:_20.lang,iconClass:_20.iconClass,id:_20.id+"_button",parent:this.parent})).placeAt(this.domNode); -this.containerNode=dojo.place("<div class='dijitAccordionChildWrapper' style='display:none'>",this.domNode); -dojo.place(this.contentWidget.domNode,this.containerNode); -},postCreate:function(){ -this.inherited(arguments); -var _21=this.button; -this._contentWidgetWatches=[this.contentWidget.watch("title",dojo.hitch(this,function(_22,_23,_24){ -_21.set("label",_24); -})),this.contentWidget.watch("tooltip",dojo.hitch(this,function(_25,_26,_27){ -_21.set("title",_27); -})),this.contentWidget.watch("iconClass",dojo.hitch(this,function(_28,_29,_2a){ -_21.set("iconClass",_2a); -}))]; -},_setSelectedAttr:function(_2b){ -this._set("selected",_2b); -this.button.set("selected",_2b); -if(_2b){ -var cw=this.contentWidget; -if(cw.onSelected){ -cw.onSelected(); -} -} -},startup:function(){ -this.contentWidget.startup(); -},destroy:function(){ -this.button.destroyRecursive(); -dojo.forEach(this._contentWidgetWatches||[],function(w){ -w.unwatch(); -}); -delete this.contentWidget._buttonWidget; -delete this.contentWidget._wrapperWidget; -this.inherited(arguments); -},destroyDescendants:function(){ -this.contentWidget.destroyRecursive(); -}}); -dojo.declare("dijit.layout._AccordionButton",[dijit._Widget,dijit._Templated,dijit._CssStateMixin],{templateString:dojo.cache("dijit.layout","templates/AccordionButton.html","<div dojoAttachEvent='onclick:_onTitleClick' class='dijitAccordionTitle'>\n\t<div dojoAttachPoint='titleNode,focusNode' dojoAttachEvent='onkeypress:_onTitleKeyPress'\n\t\t\tclass='dijitAccordionTitleFocus' role=\"tab\" aria-expanded=\"false\"\n\t\t><span class='dijitInline dijitAccordionArrow' role=\"presentation\"></span\n\t\t><span class='arrowTextUp' role=\"presentation\">+</span\n\t\t><span class='arrowTextDown' role=\"presentation\">-</span\n\t\t><img src=\"${_blankGif}\" alt=\"\" class=\"dijitIcon\" dojoAttachPoint='iconNode' style=\"vertical-align: middle\" role=\"presentation\"/>\n\t\t<span role=\"presentation\" dojoAttachPoint='titleTextNode' class='dijitAccordionText'></span>\n\t</div>\n</div>\n"),attributeMap:dojo.mixin(dojo.clone(dijit.layout.ContentPane.prototype.attributeMap),{label:{node:"titleTextNode",type:"innerHTML"},title:{node:"titleTextNode",type:"attribute",attribute:"title"},iconClass:{node:"iconNode",type:"class"}}),baseClass:"dijitAccordionTitle",getParent:function(){ -return this.parent; -},buildRendering:function(){ -this.inherited(arguments); -var _2c=this.id.replace(" ","_"); -dojo.attr(this.titleTextNode,"id",_2c+"_title"); -dijit.setWaiState(this.focusNode,"labelledby",dojo.attr(this.titleTextNode,"id")); -dojo.setSelectable(this.domNode,false); -},getTitleHeight:function(){ -return dojo._getMarginSize(this.domNode).h; -},_onTitleClick:function(){ -var _2d=this.getParent(); -_2d.selectChild(this.contentWidget,true); -dijit.focus(this.focusNode); -},_onTitleKeyPress:function(evt){ -return this.getParent()._onKeyPress(evt,this.contentWidget); -},_setSelectedAttr:function(_2e){ -this._set("selected",_2e); -dijit.setWaiState(this.focusNode,"expanded",_2e); -dijit.setWaiState(this.focusNode,"selected",_2e); -this.focusNode.setAttribute("tabIndex",_2e?"0":"-1"); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/layout/AccordionPane.js b/resources/library/interactive/barre_prof.wgt/dijit/layout/AccordionPane.js deleted file mode 100644 index f38a347e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/layout/AccordionPane.js +++ /dev/null @@ -1,16 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.layout.AccordionPane"]){ -dojo._hasResource["dijit.layout.AccordionPane"]=true; -dojo.provide("dijit.layout.AccordionPane"); -dojo.require("dijit.layout.ContentPane"); -dojo.declare("dijit.layout.AccordionPane",dijit.layout.ContentPane,{constructor:function(){ -dojo.deprecated("dijit.layout.AccordionPane deprecated, use ContentPane instead","","2.0"); -},onSelected:function(){ -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/layout/BorderContainer.js b/resources/library/interactive/barre_prof.wgt/dijit/layout/BorderContainer.js deleted file mode 100644 index f2db98bf..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/layout/BorderContainer.js +++ /dev/null @@ -1,227 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.layout.BorderContainer"]){ -dojo._hasResource["dijit.layout.BorderContainer"]=true; -dojo.provide("dijit.layout.BorderContainer"); -dojo.require("dijit.layout._LayoutWidget"); -dojo.require("dojo.cookie"); -dojo.require("dijit._Templated"); -dojo.declare("dijit.layout.BorderContainer",dijit.layout._LayoutWidget,{design:"headline",gutters:true,liveSplitters:true,persist:false,baseClass:"dijitBorderContainer",_splitterClass:"dijit.layout._Splitter",postMixInProperties:function(){ -if(!this.gutters){ -this.baseClass+="NoGutter"; -} -this.inherited(arguments); -},startup:function(){ -if(this._started){ -return; -} -dojo.forEach(this.getChildren(),this._setupChild,this); -this.inherited(arguments); -},_setupChild:function(_1){ -var _2=_1.region; -if(_2){ -this.inherited(arguments); -dojo.addClass(_1.domNode,this.baseClass+"Pane"); -var _3=this.isLeftToRight(); -if(_2=="leading"){ -_2=_3?"left":"right"; -} -if(_2=="trailing"){ -_2=_3?"right":"left"; -} -if(_2!="center"&&(_1.splitter||this.gutters)&&!_1._splitterWidget){ -var _4=dojo.getObject(_1.splitter?this._splitterClass:"dijit.layout._Gutter"); -var _5=new _4({id:_1.id+"_splitter",container:this,child:_1,region:_2,live:this.liveSplitters}); -_5.isSplitter=true; -_1._splitterWidget=_5; -dojo.place(_5.domNode,_1.domNode,"after"); -_5.startup(); -} -_1.region=_2; -} -},layout:function(){ -this._layoutChildren(); -},addChild:function(_6,_7){ -this.inherited(arguments); -if(this._started){ -this.layout(); -} -},removeChild:function(_8){ -var _9=_8.region; -var _a=_8._splitterWidget; -if(_a){ -_a.destroy(); -delete _8._splitterWidget; -} -this.inherited(arguments); -if(this._started){ -this._layoutChildren(); -} -dojo.removeClass(_8.domNode,this.baseClass+"Pane"); -dojo.style(_8.domNode,{top:"auto",bottom:"auto",left:"auto",right:"auto",position:"static"}); -dojo.style(_8.domNode,_9=="top"||_9=="bottom"?"width":"height","auto"); -},getChildren:function(){ -return dojo.filter(this.inherited(arguments),function(_b){ -return !_b.isSplitter; -}); -},getSplitter:function(_c){ -return dojo.filter(this.getChildren(),function(_d){ -return _d.region==_c; -})[0]._splitterWidget; -},resize:function(_e,_f){ -if(!this.cs||!this.pe){ -var _10=this.domNode; -this.cs=dojo.getComputedStyle(_10); -this.pe=dojo._getPadExtents(_10,this.cs); -this.pe.r=dojo._toPixelValue(_10,this.cs.paddingRight); -this.pe.b=dojo._toPixelValue(_10,this.cs.paddingBottom); -dojo.style(_10,"padding","0px"); -} -this.inherited(arguments); -},_layoutChildren:function(_11,_12){ -if(!this._borderBox||!this._borderBox.h){ -return; -} -var _13=dojo.map(this.getChildren(),function(_14,idx){ -return {pane:_14,weight:[_14.region=="center"?Infinity:0,_14.layoutPriority,(this.design=="sidebar"?1:-1)*(/top|bottom/.test(_14.region)?1:-1),idx]}; -},this); -_13.sort(function(a,b){ -var aw=a.weight,bw=b.weight; -for(var i=0;i<aw.length;i++){ -if(aw[i]!=bw[i]){ -return aw[i]-bw[i]; -} -} -return 0; -}); -var _15=[]; -dojo.forEach(_13,function(_16){ -var _17=_16.pane; -_15.push(_17); -if(_17._splitterWidget){ -_15.push(_17._splitterWidget); -} -}); -var dim={l:this.pe.l,t:this.pe.t,w:this._borderBox.w-this.pe.w,h:this._borderBox.h-this.pe.h}; -dijit.layout.layoutChildren(this.domNode,dim,_15,_11,_12); -},destroyRecursive:function(){ -dojo.forEach(this.getChildren(),function(_18){ -var _19=_18._splitterWidget; -if(_19){ -_19.destroy(); -} -delete _18._splitterWidget; -}); -this.inherited(arguments); -}}); -dojo.extend(dijit._Widget,{region:"",layoutPriority:0,splitter:false,minSize:0,maxSize:Infinity}); -dojo.declare("dijit.layout._Splitter",[dijit._Widget,dijit._Templated],{live:true,templateString:"<div class=\"dijitSplitter\" dojoAttachEvent=\"onkeypress:_onKeyPress,onmousedown:_startDrag,onmouseenter:_onMouse,onmouseleave:_onMouse\" tabIndex=\"0\" role=\"separator\"><div class=\"dijitSplitterThumb\"></div></div>",postMixInProperties:function(){ -this.inherited(arguments); -this.horizontal=/top|bottom/.test(this.region); -this._factor=/top|left/.test(this.region)?1:-1; -this._cookieName=this.container.id+"_"+this.region; -},buildRendering:function(){ -this.inherited(arguments); -dojo.addClass(this.domNode,"dijitSplitter"+(this.horizontal?"H":"V")); -if(this.container.persist){ -var _1a=dojo.cookie(this._cookieName); -if(_1a){ -this.child.domNode.style[this.horizontal?"height":"width"]=_1a; -} -} -},_computeMaxSize:function(){ -var dim=this.horizontal?"h":"w",_1b=dojo.marginBox(this.child.domNode)[dim],_1c=dojo.filter(this.container.getChildren(),function(_1d){ -return _1d.region=="center"; -})[0],_1e=dojo.marginBox(_1c.domNode)[dim]; -return Math.min(this.child.maxSize,_1b+_1e); -},_startDrag:function(e){ -if(!this.cover){ -this.cover=dojo.doc.createElement("div"); -dojo.addClass(this.cover,"dijitSplitterCover"); -dojo.place(this.cover,this.child.domNode,"after"); -} -dojo.addClass(this.cover,"dijitSplitterCoverActive"); -if(this.fake){ -dojo.destroy(this.fake); -} -if(!(this._resize=this.live)){ -(this.fake=this.domNode.cloneNode(true)).removeAttribute("id"); -dojo.addClass(this.domNode,"dijitSplitterShadow"); -dojo.place(this.fake,this.domNode,"after"); -} -dojo.addClass(this.domNode,"dijitSplitterActive dijitSplitter"+(this.horizontal?"H":"V")+"Active"); -if(this.fake){ -dojo.removeClass(this.fake,"dijitSplitterHover dijitSplitter"+(this.horizontal?"H":"V")+"Hover"); -} -var _1f=this._factor,_20=this.horizontal,_21=_20?"pageY":"pageX",_22=e[_21],_23=this.domNode.style,dim=_20?"h":"w",_24=dojo.marginBox(this.child.domNode)[dim],max=this._computeMaxSize(),min=this.child.minSize||20,_25=this.region,_26=_25=="top"||_25=="bottom"?"top":"left",_27=parseInt(_23[_26],10),_28=this._resize,_29=dojo.hitch(this.container,"_layoutChildren",this.child.id),de=dojo.doc; -this._handlers=(this._handlers||[]).concat([dojo.connect(de,"onmousemove",this._drag=function(e,_2a){ -var _2b=e[_21]-_22,_2c=_1f*_2b+_24,_2d=Math.max(Math.min(_2c,max),min); -if(_28||_2a){ -_29(_2d); -} -_23[_26]=_2b+_27+_1f*(_2d-_2c)+"px"; -}),dojo.connect(de,"ondragstart",dojo.stopEvent),dojo.connect(dojo.body(),"onselectstart",dojo.stopEvent),dojo.connect(de,"onmouseup",this,"_stopDrag")]); -dojo.stopEvent(e); -},_onMouse:function(e){ -var o=(e.type=="mouseover"||e.type=="mouseenter"); -dojo.toggleClass(this.domNode,"dijitSplitterHover",o); -dojo.toggleClass(this.domNode,"dijitSplitter"+(this.horizontal?"H":"V")+"Hover",o); -},_stopDrag:function(e){ -try{ -if(this.cover){ -dojo.removeClass(this.cover,"dijitSplitterCoverActive"); -} -if(this.fake){ -dojo.destroy(this.fake); -} -dojo.removeClass(this.domNode,"dijitSplitterActive dijitSplitter"+(this.horizontal?"H":"V")+"Active dijitSplitterShadow"); -this._drag(e); -this._drag(e,true); -} -finally{ -this._cleanupHandlers(); -delete this._drag; -} -if(this.container.persist){ -dojo.cookie(this._cookieName,this.child.domNode.style[this.horizontal?"height":"width"],{expires:365}); -} -},_cleanupHandlers:function(){ -dojo.forEach(this._handlers,dojo.disconnect); -delete this._handlers; -},_onKeyPress:function(e){ -this._resize=true; -var _2e=this.horizontal; -var _2f=1; -var dk=dojo.keys; -switch(e.charOrCode){ -case _2e?dk.UP_ARROW:dk.LEFT_ARROW: -_2f*=-1; -case _2e?dk.DOWN_ARROW:dk.RIGHT_ARROW: -break; -default: -return; -} -var _30=dojo._getMarginSize(this.child.domNode)[_2e?"h":"w"]+this._factor*_2f; -this.container._layoutChildren(this.child.id,Math.max(Math.min(_30,this._computeMaxSize()),this.child.minSize)); -dojo.stopEvent(e); -},destroy:function(){ -this._cleanupHandlers(); -delete this.child; -delete this.container; -delete this.cover; -delete this.fake; -this.inherited(arguments); -}}); -dojo.declare("dijit.layout._Gutter",[dijit._Widget,dijit._Templated],{templateString:"<div class=\"dijitGutter\" role=\"presentation\"></div>",postMixInProperties:function(){ -this.inherited(arguments); -this.horizontal=/top|bottom/.test(this.region); -},buildRendering:function(){ -this.inherited(arguments); -dojo.addClass(this.domNode,"dijitGutter"+(this.horizontal?"H":"V")); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/layout/ContentPane.js b/resources/library/interactive/barre_prof.wgt/dijit/layout/ContentPane.js deleted file mode 100644 index e0e58c85..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/layout/ContentPane.js +++ /dev/null @@ -1,218 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.layout.ContentPane"]){ -dojo._hasResource["dijit.layout.ContentPane"]=true; -dojo.provide("dijit.layout.ContentPane"); -dojo.require("dijit._Widget"); -dojo.require("dijit.layout._ContentPaneResizeMixin"); -dojo.require("dojo.string"); -dojo.require("dojo.html"); -dojo.requireLocalization("dijit","loading",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dijit.layout.ContentPane",[dijit._Widget,dijit.layout._ContentPaneResizeMixin],{href:"",extractContent:false,parseOnLoad:true,parserScope:dojo._scopeName,preventCache:false,preload:false,refreshOnShow:false,loadingMessage:"<span class='dijitContentPaneLoading'>${loadingState}</span>",errorMessage:"<span class='dijitContentPaneError'>${errorState}</span>",isLoaded:false,baseClass:"dijitContentPane",ioArgs:{},onLoadDeferred:null,attributeMap:dojo.delegate(dijit._Widget.prototype.attributeMap,{title:[]}),stopParser:true,template:false,create:function(_1,_2){ -if((!_1||!_1.template)&&_2&&!("href" in _1)&&!("content" in _1)){ -var df=dojo.doc.createDocumentFragment(); -_2=dojo.byId(_2); -while(_2.firstChild){ -df.appendChild(_2.firstChild); -} -_1=dojo.delegate(_1,{content:df}); -} -this.inherited(arguments,[_1,_2]); -},postMixInProperties:function(){ -this.inherited(arguments); -var _3=dojo.i18n.getLocalization("dijit","loading",this.lang); -this.loadingMessage=dojo.string.substitute(this.loadingMessage,_3); -this.errorMessage=dojo.string.substitute(this.errorMessage,_3); -},buildRendering:function(){ -this.inherited(arguments); -if(!this.containerNode){ -this.containerNode=this.domNode; -} -this.domNode.title=""; -if(!dojo.attr(this.domNode,"role")){ -dijit.setWaiRole(this.domNode,"group"); -} -},_startChildren:function(){ -this.inherited(arguments); -if(this._contentSetter){ -dojo.forEach(this._contentSetter.parseResults,function(_4){ -if(!_4._started&&!_4._destroyed&&dojo.isFunction(_4.startup)){ -_4.startup(); -_4._started=true; -} -},this); -} -},setHref:function(_5){ -dojo.deprecated("dijit.layout.ContentPane.setHref() is deprecated. Use set('href', ...) instead.","","2.0"); -return this.set("href",_5); -},_setHrefAttr:function(_6){ -this.cancel(); -this.onLoadDeferred=new dojo.Deferred(dojo.hitch(this,"cancel")); -this.onLoadDeferred.addCallback(dojo.hitch(this,"onLoad")); -this._set("href",_6); -if(this.preload||(this._created&&this._isShown())){ -this._load(); -}else{ -this._hrefChanged=true; -} -return this.onLoadDeferred; -},setContent:function(_7){ -dojo.deprecated("dijit.layout.ContentPane.setContent() is deprecated. Use set('content', ...) instead.","","2.0"); -this.set("content",_7); -},_setContentAttr:function(_8){ -this._set("href",""); -this.cancel(); -this.onLoadDeferred=new dojo.Deferred(dojo.hitch(this,"cancel")); -if(this._created){ -this.onLoadDeferred.addCallback(dojo.hitch(this,"onLoad")); -} -this._setContent(_8||""); -this._isDownloaded=false; -return this.onLoadDeferred; -},_getContentAttr:function(){ -return this.containerNode.innerHTML; -},cancel:function(){ -if(this._xhrDfd&&(this._xhrDfd.fired==-1)){ -this._xhrDfd.cancel(); -} -delete this._xhrDfd; -this.onLoadDeferred=null; -},uninitialize:function(){ -if(this._beingDestroyed){ -this.cancel(); -} -this.inherited(arguments); -},destroyRecursive:function(_9){ -if(this._beingDestroyed){ -return; -} -this.inherited(arguments); -},_onShow:function(){ -this.inherited(arguments); -if(this.href){ -if(!this._xhrDfd&&(!this.isLoaded||this._hrefChanged||this.refreshOnShow)){ -return this.refresh(); -} -} -},refresh:function(){ -this.cancel(); -this.onLoadDeferred=new dojo.Deferred(dojo.hitch(this,"cancel")); -this.onLoadDeferred.addCallback(dojo.hitch(this,"onLoad")); -this._load(); -return this.onLoadDeferred; -},_load:function(){ -this._setContent(this.onDownloadStart(),true); -var _a=this; -var _b={preventCache:(this.preventCache||this.refreshOnShow),url:this.href,handleAs:"text"}; -if(dojo.isObject(this.ioArgs)){ -dojo.mixin(_b,this.ioArgs); -} -var _c=(this._xhrDfd=(this.ioMethod||dojo.xhrGet)(_b)); -_c.addCallback(function(_d){ -try{ -_a._isDownloaded=true; -_a._setContent(_d,false); -_a.onDownloadEnd(); -} -catch(err){ -_a._onError("Content",err); -} -delete _a._xhrDfd; -return _d; -}); -_c.addErrback(function(_e){ -if(!_c.canceled){ -_a._onError("Download",_e); -} -delete _a._xhrDfd; -return _e; -}); -delete this._hrefChanged; -},_onLoadHandler:function(_f){ -this._set("isLoaded",true); -try{ -this.onLoadDeferred.callback(_f); -} -catch(e){ -console.error("Error "+this.widgetId+" running custom onLoad code: "+e.message); -} -},_onUnloadHandler:function(){ -this._set("isLoaded",false); -try{ -this.onUnload(); -} -catch(e){ -console.error("Error "+this.widgetId+" running custom onUnload code: "+e.message); -} -},destroyDescendants:function(){ -if(this.isLoaded){ -this._onUnloadHandler(); -} -var _10=this._contentSetter; -dojo.forEach(this.getChildren(),function(_11){ -if(_11.destroyRecursive){ -_11.destroyRecursive(); -} -}); -if(_10){ -dojo.forEach(_10.parseResults,function(_12){ -if(_12.destroyRecursive&&_12.domNode&&_12.domNode.parentNode==dojo.body()){ -_12.destroyRecursive(); -} -}); -delete _10.parseResults; -} -dojo.html._emptyNode(this.containerNode); -delete this._singleChild; -},_setContent:function(_13,_14){ -this.destroyDescendants(); -var _15=this._contentSetter; -if(!(_15&&_15 instanceof dojo.html._ContentSetter)){ -_15=this._contentSetter=new dojo.html._ContentSetter({node:this.containerNode,_onError:dojo.hitch(this,this._onError),onContentError:dojo.hitch(this,function(e){ -var _16=this.onContentError(e); -try{ -this.containerNode.innerHTML=_16; -} -catch(e){ -console.error("Fatal "+this.id+" could not change content due to "+e.message,e); -} -})}); -} -var _17=dojo.mixin({cleanContent:this.cleanContent,extractContent:this.extractContent,parseContent:this.parseOnLoad,parserScope:this.parserScope,startup:false,dir:this.dir,lang:this.lang},this._contentSetterParams||{}); -_15.set((dojo.isObject(_13)&&_13.domNode)?_13.domNode:_13,_17); -delete this._contentSetterParams; -if(this.doLayout){ -this._checkIfSingleChild(); -} -if(!_14){ -if(this._started){ -this._startChildren(); -this._scheduleLayout(); -} -this._onLoadHandler(_13); -} -},_onError:function(_18,err,_19){ -this.onLoadDeferred.errback(err); -var _1a=this["on"+_18+"Error"].call(this,err); -if(_19){ -console.error(_19,err); -}else{ -if(_1a){ -this._setContent(_1a,true); -} -} -},onLoad:function(_1b){ -},onUnload:function(){ -},onDownloadStart:function(){ -return this.loadingMessage; -},onContentError:function(_1c){ -},onDownloadError:function(_1d){ -return this.errorMessage; -},onDownloadEnd:function(){ -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/layout/LayoutContainer.js b/resources/library/interactive/barre_prof.wgt/dijit/layout/LayoutContainer.js deleted file mode 100644 index 948e1d07..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/layout/LayoutContainer.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.layout.LayoutContainer"]){ -dojo._hasResource["dijit.layout.LayoutContainer"]=true; -dojo.provide("dijit.layout.LayoutContainer"); -dojo.require("dijit.layout._LayoutWidget"); -dojo.declare("dijit.layout.LayoutContainer",dijit.layout._LayoutWidget,{baseClass:"dijitLayoutContainer",constructor:function(){ -dojo.deprecated("dijit.layout.LayoutContainer is deprecated","use BorderContainer instead",2); -},layout:function(){ -dijit.layout.layoutChildren(this.domNode,this._contentBox,this.getChildren()); -},addChild:function(_1,_2){ -this.inherited(arguments); -if(this._started){ -dijit.layout.layoutChildren(this.domNode,this._contentBox,this.getChildren()); -} -},removeChild:function(_3){ -this.inherited(arguments); -if(this._started){ -dijit.layout.layoutChildren(this.domNode,this._contentBox,this.getChildren()); -} -}}); -dojo.extend(dijit._Widget,{layoutAlign:"none"}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/layout/LinkPane.js b/resources/library/interactive/barre_prof.wgt/dijit/layout/LinkPane.js deleted file mode 100644 index ded3da5b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/layout/LinkPane.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.layout.LinkPane"]){ -dojo._hasResource["dijit.layout.LinkPane"]=true; -dojo.provide("dijit.layout.LinkPane"); -dojo.require("dijit.layout.ContentPane"); -dojo.require("dijit._Templated"); -dojo.declare("dijit.layout.LinkPane",[dijit.layout.ContentPane,dijit._Templated],{templateString:"<div class=\"dijitLinkPane\" dojoAttachPoint=\"containerNode\"></div>",postMixInProperties:function(){ -if(this.srcNodeRef){ -this.title+=this.srcNodeRef.innerHTML; -} -this.inherited(arguments); -},_fillContent:function(_1){ -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/layout/ScrollingTabController.js b/resources/library/interactive/barre_prof.wgt/dijit/layout/ScrollingTabController.js deleted file mode 100644 index 0790ff2c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/layout/ScrollingTabController.js +++ /dev/null @@ -1,199 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.layout.ScrollingTabController"]){ -dojo._hasResource["dijit.layout.ScrollingTabController"]=true; -dojo.provide("dijit.layout.ScrollingTabController"); -dojo.require("dijit.layout.TabController"); -dojo.require("dijit.Menu"); -dojo.require("dijit.form.Button"); -dojo.require("dijit._HasDropDown"); -dojo.declare("dijit.layout.ScrollingTabController",dijit.layout.TabController,{templateString:dojo.cache("dijit.layout","templates/ScrollingTabController.html","<div class=\"dijitTabListContainer-${tabPosition}\" style=\"visibility:hidden\">\n\t<div dojoType=\"dijit.layout._ScrollingTabControllerMenuButton\"\n\t\t\tclass=\"tabStripButton-${tabPosition}\"\n\t\t\tid=\"${id}_menuBtn\" containerId=\"${containerId}\" iconClass=\"dijitTabStripMenuIcon\"\n\t\t\tdropDownPosition=\"below-alt, above-alt\"\n\t\t\tdojoAttachPoint=\"_menuBtn\" showLabel=\"false\">▼</div>\n\t<div dojoType=\"dijit.layout._ScrollingTabControllerButton\"\n\t\t\tclass=\"tabStripButton-${tabPosition}\"\n\t\t\tid=\"${id}_leftBtn\" iconClass=\"dijitTabStripSlideLeftIcon\"\n\t\t\tdojoAttachPoint=\"_leftBtn\" dojoAttachEvent=\"onClick: doSlideLeft\" showLabel=\"false\">◀</div>\n\t<div dojoType=\"dijit.layout._ScrollingTabControllerButton\"\n\t\t\tclass=\"tabStripButton-${tabPosition}\"\n\t\t\tid=\"${id}_rightBtn\" iconClass=\"dijitTabStripSlideRightIcon\"\n\t\t\tdojoAttachPoint=\"_rightBtn\" dojoAttachEvent=\"onClick: doSlideRight\" showLabel=\"false\">▶</div>\n\t<div class='dijitTabListWrapper' dojoAttachPoint='tablistWrapper'>\n\t\t<div role='tablist' dojoAttachEvent='onkeypress:onkeypress'\n\t\t\t\tdojoAttachPoint='containerNode' class='nowrapTabStrip'></div>\n\t</div>\n</div>\n"),useMenu:true,useSlider:true,tabStripClass:"",widgetsInTemplate:true,_minScroll:5,attributeMap:dojo.delegate(dijit._Widget.prototype.attributeMap,{"class":"containerNode"}),buildRendering:function(){ -this.inherited(arguments); -var n=this.domNode; -this.scrollNode=this.tablistWrapper; -this._initButtons(); -if(!this.tabStripClass){ -this.tabStripClass="dijitTabContainer"+this.tabPosition.charAt(0).toUpperCase()+this.tabPosition.substr(1).replace(/-.*/,"")+"None"; -dojo.addClass(n,"tabStrip-disabled"); -} -dojo.addClass(this.tablistWrapper,this.tabStripClass); -},onStartup:function(){ -this.inherited(arguments); -dojo.style(this.domNode,"visibility","visible"); -this._postStartup=true; -},onAddChild:function(_1,_2){ -this.inherited(arguments); -dojo.forEach(["label","iconClass"],function(_3){ -this.pane2watches[_1.id].push(this.pane2button[_1.id].watch(_3,dojo.hitch(this,function(_4,_5,_6){ -if(this._postStartup&&this._dim){ -this.resize(this._dim); -} -}))); -},this); -dojo.style(this.containerNode,"width",(dojo.style(this.containerNode,"width")+200)+"px"); -},onRemoveChild:function(_7,_8){ -var _9=this.pane2button[_7.id]; -if(this._selectedTab===_9.domNode){ -this._selectedTab=null; -} -this.inherited(arguments); -},_initButtons:function(){ -this._btnWidth=0; -this._buttons=dojo.query("> .tabStripButton",this.domNode).filter(function(_a){ -if((this.useMenu&&_a==this._menuBtn.domNode)||(this.useSlider&&(_a==this._rightBtn.domNode||_a==this._leftBtn.domNode))){ -this._btnWidth+=dojo._getMarginSize(_a).w; -return true; -}else{ -dojo.style(_a,"display","none"); -return false; -} -},this); -},_getTabsWidth:function(){ -var _b=this.getChildren(); -if(_b.length){ -var _c=_b[this.isLeftToRight()?0:_b.length-1].domNode,_d=_b[this.isLeftToRight()?_b.length-1:0].domNode; -return _d.offsetLeft+dojo.style(_d,"width")-_c.offsetLeft; -}else{ -return 0; -} -},_enableBtn:function(_e){ -var _f=this._getTabsWidth(); -_e=_e||dojo.style(this.scrollNode,"width"); -return _f>0&&_e<_f; -},resize:function(dim){ -if(this.domNode.offsetWidth==0){ -return; -} -this._dim=dim; -this.scrollNode.style.height="auto"; -this._contentBox=dijit.layout.marginBox2contentBox(this.domNode,{h:0,w:dim.w}); -this._contentBox.h=this.scrollNode.offsetHeight; -dojo.contentBox(this.domNode,this._contentBox); -var _10=this._enableBtn(this._contentBox.w); -this._buttons.style("display",_10?"":"none"); -this._leftBtn.layoutAlign="left"; -this._rightBtn.layoutAlign="right"; -this._menuBtn.layoutAlign=this.isLeftToRight()?"right":"left"; -dijit.layout.layoutChildren(this.domNode,this._contentBox,[this._menuBtn,this._leftBtn,this._rightBtn,{domNode:this.scrollNode,layoutAlign:"client"}]); -if(this._selectedTab){ -if(this._anim&&this._anim.status()=="playing"){ -this._anim.stop(); -} -var w=this.scrollNode,sl=this._convertToScrollLeft(this._getScrollForSelectedTab()); -w.scrollLeft=sl; -} -this._setButtonClass(this._getScroll()); -this._postResize=true; -return {h:this._contentBox.h,w:dim.w}; -},_getScroll:function(){ -var sl=(this.isLeftToRight()||dojo.isIE<8||(dojo.isIE&&dojo.isQuirks)||dojo.isWebKit)?this.scrollNode.scrollLeft:dojo.style(this.containerNode,"width")-dojo.style(this.scrollNode,"width")+(dojo.isIE==8?-1:1)*this.scrollNode.scrollLeft; -return sl; -},_convertToScrollLeft:function(val){ -if(this.isLeftToRight()||dojo.isIE<8||(dojo.isIE&&dojo.isQuirks)||dojo.isWebKit){ -return val; -}else{ -var _11=dojo.style(this.containerNode,"width")-dojo.style(this.scrollNode,"width"); -return (dojo.isIE==8?-1:1)*(val-_11); -} -},onSelectChild:function(_12){ -var tab=this.pane2button[_12.id]; -if(!tab||!_12){ -return; -} -var _13=tab.domNode; -if(this._postResize&&_13!=this._selectedTab){ -this._selectedTab=_13; -var sl=this._getScroll(); -if(sl>_13.offsetLeft||sl+dojo.style(this.scrollNode,"width")<_13.offsetLeft+dojo.style(_13,"width")){ -this.createSmoothScroll().play(); -} -} -this.inherited(arguments); -},_getScrollBounds:function(){ -var _14=this.getChildren(),_15=dojo.style(this.scrollNode,"width"),_16=dojo.style(this.containerNode,"width"),_17=_16-_15,_18=this._getTabsWidth(); -if(_14.length&&_18>_15){ -return {min:this.isLeftToRight()?0:_14[_14.length-1].domNode.offsetLeft,max:this.isLeftToRight()?(_14[_14.length-1].domNode.offsetLeft+dojo.style(_14[_14.length-1].domNode,"width"))-_15:_17}; -}else{ -var _19=this.isLeftToRight()?0:_17; -return {min:_19,max:_19}; -} -},_getScrollForSelectedTab:function(){ -var w=this.scrollNode,n=this._selectedTab,_1a=dojo.style(this.scrollNode,"width"),_1b=this._getScrollBounds(); -var pos=(n.offsetLeft+dojo.style(n,"width")/2)-_1a/2; -pos=Math.min(Math.max(pos,_1b.min),_1b.max); -return pos; -},createSmoothScroll:function(x){ -if(arguments.length>0){ -var _1c=this._getScrollBounds(); -x=Math.min(Math.max(x,_1c.min),_1c.max); -}else{ -x=this._getScrollForSelectedTab(); -} -if(this._anim&&this._anim.status()=="playing"){ -this._anim.stop(); -} -var _1d=this,w=this.scrollNode,_1e=new dojo._Animation({beforeBegin:function(){ -if(this.curve){ -delete this.curve; -} -var _1f=w.scrollLeft,_20=_1d._convertToScrollLeft(x); -_1e.curve=new dojo._Line(_1f,_20); -},onAnimate:function(val){ -w.scrollLeft=val; -}}); -this._anim=_1e; -this._setButtonClass(x); -return _1e; -},_getBtnNode:function(e){ -var n=e.target; -while(n&&!dojo.hasClass(n,"tabStripButton")){ -n=n.parentNode; -} -return n; -},doSlideRight:function(e){ -this.doSlide(1,this._getBtnNode(e)); -},doSlideLeft:function(e){ -this.doSlide(-1,this._getBtnNode(e)); -},doSlide:function(_21,_22){ -if(_22&&dojo.hasClass(_22,"dijitTabDisabled")){ -return; -} -var _23=dojo.style(this.scrollNode,"width"); -var d=(_23*0.75)*_21; -var to=this._getScroll()+d; -this._setButtonClass(to); -this.createSmoothScroll(to).play(); -},_setButtonClass:function(_24){ -var _25=this._getScrollBounds(); -this._leftBtn.set("disabled",_24<=_25.min); -this._rightBtn.set("disabled",_24>=_25.max); -}}); -dojo.declare("dijit.layout._ScrollingTabControllerButtonMixin",null,{baseClass:"dijitTab tabStripButton",templateString:dojo.cache("dijit.layout","templates/_ScrollingTabControllerButton.html","<div dojoAttachEvent=\"onclick:_onButtonClick\">\n\t<div role=\"presentation\" class=\"dijitTabInnerDiv\" dojoattachpoint=\"innerDiv,focusNode\">\n\t\t<div role=\"presentation\" class=\"dijitTabContent dijitButtonContents\" dojoattachpoint=\"tabContent\">\n\t\t\t<img role=\"presentation\" alt=\"\" src=\"${_blankGif}\" class=\"dijitTabStripIcon\" dojoAttachPoint=\"iconNode\"/>\n\t\t\t<span dojoAttachPoint=\"containerNode,titleNode\" class=\"dijitButtonText\"></span>\n\t\t</div>\n\t</div>\n</div>\n"),tabIndex:"",isFocusable:function(){ -return false; -}}); -dojo.declare("dijit.layout._ScrollingTabControllerButton",[dijit.form.Button,dijit.layout._ScrollingTabControllerButtonMixin]); -dojo.declare("dijit.layout._ScrollingTabControllerMenuButton",[dijit.form.Button,dijit._HasDropDown,dijit.layout._ScrollingTabControllerButtonMixin],{containerId:"",tabIndex:"-1",isLoaded:function(){ -return false; -},loadDropDown:function(_26){ -this.dropDown=new dijit.Menu({id:this.containerId+"_menu",dir:this.dir,lang:this.lang}); -var _27=dijit.byId(this.containerId); -dojo.forEach(_27.getChildren(),function(_28){ -var _29=new dijit.MenuItem({id:_28.id+"_stcMi",label:_28.title,iconClass:_28.iconClass,dir:_28.dir,lang:_28.lang,onClick:function(){ -_27.selectChild(_28); -}}); -this.dropDown.addChild(_29); -},this); -_26(); -},closeDropDown:function(_2a){ -this.inherited(arguments); -if(this.dropDown){ -this.dropDown.destroyRecursive(); -delete this.dropDown; -} -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/layout/SplitContainer.js b/resources/library/interactive/barre_prof.wgt/dijit/layout/SplitContainer.js deleted file mode 100644 index 0d48b790..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/layout/SplitContainer.js +++ /dev/null @@ -1,348 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.layout.SplitContainer"]){ -dojo._hasResource["dijit.layout.SplitContainer"]=true; -dojo.provide("dijit.layout.SplitContainer"); -dojo.require("dojo.cookie"); -dojo.require("dijit.layout._LayoutWidget"); -dojo.declare("dijit.layout.SplitContainer",dijit.layout._LayoutWidget,{constructor:function(){ -dojo.deprecated("dijit.layout.SplitContainer is deprecated","use BorderContainer with splitter instead",2); -},activeSizing:false,sizerWidth:7,orientation:"horizontal",persist:true,baseClass:"dijitSplitContainer",postMixInProperties:function(){ -this.inherited("postMixInProperties",arguments); -this.isHorizontal=(this.orientation=="horizontal"); -},postCreate:function(){ -this.inherited(arguments); -this.sizers=[]; -if(dojo.isMozilla){ -this.domNode.style.overflow="-moz-scrollbars-none"; -} -if(typeof this.sizerWidth=="object"){ -try{ -this.sizerWidth=parseInt(this.sizerWidth.toString()); -} -catch(e){ -this.sizerWidth=7; -} -} -var _1=dojo.doc.createElement("div"); -this.virtualSizer=_1; -_1.style.position="relative"; -_1.style.zIndex=10; -_1.className=this.isHorizontal?"dijitSplitContainerVirtualSizerH":"dijitSplitContainerVirtualSizerV"; -this.domNode.appendChild(_1); -dojo.setSelectable(_1,false); -},destroy:function(){ -delete this.virtualSizer; -dojo.forEach(this._ownconnects,dojo.disconnect); -this.inherited(arguments); -},startup:function(){ -if(this._started){ -return; -} -dojo.forEach(this.getChildren(),function(_2,i,_3){ -this._setupChild(_2); -if(i<_3.length-1){ -this._addSizer(); -} -},this); -if(this.persist){ -this._restoreState(); -} -this.inherited(arguments); -},_setupChild:function(_4){ -this.inherited(arguments); -_4.domNode.style.position="absolute"; -dojo.addClass(_4.domNode,"dijitSplitPane"); -},_onSizerMouseDown:function(e){ -if(e.target.id){ -for(var i=0;i<this.sizers.length;i++){ -if(this.sizers[i].id==e.target.id){ -break; -} -} -if(i<this.sizers.length){ -this.beginSizing(e,i); -} -} -},_addSizer:function(_5){ -_5=_5===undefined?this.sizers.length:_5; -var _6=dojo.doc.createElement("div"); -_6.id=dijit.getUniqueId("dijit_layout_SplitterContainer_Splitter"); -this.sizers.splice(_5,0,_6); -this.domNode.appendChild(_6); -_6.className=this.isHorizontal?"dijitSplitContainerSizerH":"dijitSplitContainerSizerV"; -var _7=dojo.doc.createElement("div"); -_7.className="thumb"; -_6.appendChild(_7); -this.connect(_6,"onmousedown","_onSizerMouseDown"); -dojo.setSelectable(_6,false); -},removeChild:function(_8){ -if(this.sizers.length){ -var i=dojo.indexOf(this.getChildren(),_8); -if(i!=-1){ -if(i==this.sizers.length){ -i--; -} -dojo.destroy(this.sizers[i]); -this.sizers.splice(i,1); -} -} -this.inherited(arguments); -if(this._started){ -this.layout(); -} -},addChild:function(_9,_a){ -this.inherited(arguments); -if(this._started){ -var _b=this.getChildren(); -if(_b.length>1){ -this._addSizer(_a); -} -this.layout(); -} -},layout:function(){ -this.paneWidth=this._contentBox.w; -this.paneHeight=this._contentBox.h; -var _c=this.getChildren(); -if(!_c.length){ -return; -} -var _d=this.isHorizontal?this.paneWidth:this.paneHeight; -if(_c.length>1){ -_d-=this.sizerWidth*(_c.length-1); -} -var _e=0; -dojo.forEach(_c,function(_f){ -_e+=_f.sizeShare; -}); -var _10=_d/_e; -var _11=0; -dojo.forEach(_c.slice(0,_c.length-1),function(_12){ -var _13=Math.round(_10*_12.sizeShare); -_12.sizeActual=_13; -_11+=_13; -}); -_c[_c.length-1].sizeActual=_d-_11; -this._checkSizes(); -var pos=0; -var _14=_c[0].sizeActual; -this._movePanel(_c[0],pos,_14); -_c[0].position=pos; -pos+=_14; -if(!this.sizers){ -return; -} -dojo.some(_c.slice(1),function(_15,i){ -if(!this.sizers[i]){ -return true; -} -this._moveSlider(this.sizers[i],pos,this.sizerWidth); -this.sizers[i].position=pos; -pos+=this.sizerWidth; -_14=_15.sizeActual; -this._movePanel(_15,pos,_14); -_15.position=pos; -pos+=_14; -},this); -},_movePanel:function(_16,pos,_17){ -if(this.isHorizontal){ -_16.domNode.style.left=pos+"px"; -_16.domNode.style.top=0; -var box={w:_17,h:this.paneHeight}; -if(_16.resize){ -_16.resize(box); -}else{ -dojo.marginBox(_16.domNode,box); -} -}else{ -_16.domNode.style.left=0; -_16.domNode.style.top=pos+"px"; -var box={w:this.paneWidth,h:_17}; -if(_16.resize){ -_16.resize(box); -}else{ -dojo.marginBox(_16.domNode,box); -} -} -},_moveSlider:function(_18,pos,_19){ -if(this.isHorizontal){ -_18.style.left=pos+"px"; -_18.style.top=0; -dojo.marginBox(_18,{w:_19,h:this.paneHeight}); -}else{ -_18.style.left=0; -_18.style.top=pos+"px"; -dojo.marginBox(_18,{w:this.paneWidth,h:_19}); -} -},_growPane:function(_1a,_1b){ -if(_1a>0){ -if(_1b.sizeActual>_1b.sizeMin){ -if((_1b.sizeActual-_1b.sizeMin)>_1a){ -_1b.sizeActual=_1b.sizeActual-_1a; -_1a=0; -}else{ -_1a-=_1b.sizeActual-_1b.sizeMin; -_1b.sizeActual=_1b.sizeMin; -} -} -} -return _1a; -},_checkSizes:function(){ -var _1c=0; -var _1d=0; -var _1e=this.getChildren(); -dojo.forEach(_1e,function(_1f){ -_1d+=_1f.sizeActual; -_1c+=_1f.sizeMin; -}); -if(_1c<=_1d){ -var _20=0; -dojo.forEach(_1e,function(_21){ -if(_21.sizeActual<_21.sizeMin){ -_20+=_21.sizeMin-_21.sizeActual; -_21.sizeActual=_21.sizeMin; -} -}); -if(_20>0){ -var _22=this.isDraggingLeft?_1e.reverse():_1e; -dojo.forEach(_22,function(_23){ -_20=this._growPane(_20,_23); -},this); -} -}else{ -dojo.forEach(_1e,function(_24){ -_24.sizeActual=Math.round(_1d*(_24.sizeMin/_1c)); -}); -} -},beginSizing:function(e,i){ -var _25=this.getChildren(); -this.paneBefore=_25[i]; -this.paneAfter=_25[i+1]; -this.isSizing=true; -this.sizingSplitter=this.sizers[i]; -if(!this.cover){ -this.cover=dojo.create("div",{style:{position:"absolute",zIndex:5,top:0,left:0,width:"100%",height:"100%"}},this.domNode); -}else{ -this.cover.style.zIndex=5; -} -this.sizingSplitter.style.zIndex=6; -this.originPos=dojo.position(_25[0].domNode,true); -if(this.isHorizontal){ -var _26=e.layerX||e.offsetX||0; -var _27=e.pageX; -this.originPos=this.originPos.x; -}else{ -var _26=e.layerY||e.offsetY||0; -var _27=e.pageY; -this.originPos=this.originPos.y; -} -this.startPoint=this.lastPoint=_27; -this.screenToClientOffset=_27-_26; -this.dragOffset=this.lastPoint-this.paneBefore.sizeActual-this.originPos-this.paneBefore.position; -if(!this.activeSizing){ -this._showSizingLine(); -} -this._ownconnects=[]; -this._ownconnects.push(dojo.connect(dojo.doc.documentElement,"onmousemove",this,"changeSizing")); -this._ownconnects.push(dojo.connect(dojo.doc.documentElement,"onmouseup",this,"endSizing")); -dojo.stopEvent(e); -},changeSizing:function(e){ -if(!this.isSizing){ -return; -} -this.lastPoint=this.isHorizontal?e.pageX:e.pageY; -this.movePoint(); -if(this.activeSizing){ -this._updateSize(); -}else{ -this._moveSizingLine(); -} -dojo.stopEvent(e); -},endSizing:function(e){ -if(!this.isSizing){ -return; -} -if(this.cover){ -this.cover.style.zIndex=-1; -} -if(!this.activeSizing){ -this._hideSizingLine(); -} -this._updateSize(); -this.isSizing=false; -if(this.persist){ -this._saveState(this); -} -dojo.forEach(this._ownconnects,dojo.disconnect); -},movePoint:function(){ -var p=this.lastPoint-this.screenToClientOffset; -var a=p-this.dragOffset; -a=this.legaliseSplitPoint(a); -p=a+this.dragOffset; -this.lastPoint=p+this.screenToClientOffset; -},legaliseSplitPoint:function(a){ -a+=this.sizingSplitter.position; -this.isDraggingLeft=!!(a>0); -if(!this.activeSizing){ -var min=this.paneBefore.position+this.paneBefore.sizeMin; -if(a<min){ -a=min; -} -var max=this.paneAfter.position+(this.paneAfter.sizeActual-(this.sizerWidth+this.paneAfter.sizeMin)); -if(a>max){ -a=max; -} -} -a-=this.sizingSplitter.position; -this._checkSizes(); -return a; -},_updateSize:function(){ -var pos=this.lastPoint-this.dragOffset-this.originPos; -var _28=this.paneBefore.position; -var _29=this.paneAfter.position+this.paneAfter.sizeActual; -this.paneBefore.sizeActual=pos-_28; -this.paneAfter.position=pos+this.sizerWidth; -this.paneAfter.sizeActual=_29-this.paneAfter.position; -dojo.forEach(this.getChildren(),function(_2a){ -_2a.sizeShare=_2a.sizeActual; -}); -if(this._started){ -this.layout(); -} -},_showSizingLine:function(){ -this._moveSizingLine(); -dojo.marginBox(this.virtualSizer,this.isHorizontal?{w:this.sizerWidth,h:this.paneHeight}:{w:this.paneWidth,h:this.sizerWidth}); -this.virtualSizer.style.display="block"; -},_hideSizingLine:function(){ -this.virtualSizer.style.display="none"; -},_moveSizingLine:function(){ -var pos=(this.lastPoint-this.startPoint)+this.sizingSplitter.position; -dojo.style(this.virtualSizer,(this.isHorizontal?"left":"top"),pos+"px"); -},_getCookieName:function(i){ -return this.id+"_"+i; -},_restoreState:function(){ -dojo.forEach(this.getChildren(),function(_2b,i){ -var _2c=this._getCookieName(i); -var _2d=dojo.cookie(_2c); -if(_2d){ -var pos=parseInt(_2d); -if(typeof pos=="number"){ -_2b.sizeShare=pos; -} -} -},this); -},_saveState:function(){ -if(!this.persist){ -return; -} -dojo.forEach(this.getChildren(),function(_2e,i){ -dojo.cookie(this._getCookieName(i),_2e.sizeShare,{expires:365}); -},this); -}}); -dojo.extend(dijit._Widget,{sizeMin:10,sizeShare:10}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/layout/StackContainer.js b/resources/library/interactive/barre_prof.wgt/dijit/layout/StackContainer.js deleted file mode 100644 index 102dd8ba..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/layout/StackContainer.js +++ /dev/null @@ -1,149 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.layout.StackContainer"]){ -dojo._hasResource["dijit.layout.StackContainer"]=true; -dojo.provide("dijit.layout.StackContainer"); -dojo.require("dijit._Templated"); -dojo.require("dijit.layout._LayoutWidget"); -dojo.requireLocalization("dijit","common",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.require("dojo.cookie"); -dojo.require("dijit.layout.StackController"); -dojo.declare("dijit.layout.StackContainer",dijit.layout._LayoutWidget,{doLayout:true,persist:false,baseClass:"dijitStackContainer",buildRendering:function(){ -this.inherited(arguments); -dojo.addClass(this.domNode,"dijitLayoutContainer"); -dijit.setWaiRole(this.containerNode,"tabpanel"); -},postCreate:function(){ -this.inherited(arguments); -this.connect(this.domNode,"onkeypress",this._onKeyPress); -},startup:function(){ -if(this._started){ -return; -} -var _1=this.getChildren(); -dojo.forEach(_1,this._setupChild,this); -if(this.persist){ -this.selectedChildWidget=dijit.byId(dojo.cookie(this.id+"_selectedChild")); -}else{ -dojo.some(_1,function(_2){ -if(_2.selected){ -this.selectedChildWidget=_2; -} -return _2.selected; -},this); -} -var _3=this.selectedChildWidget; -if(!_3&&_1[0]){ -_3=this.selectedChildWidget=_1[0]; -_3.selected=true; -} -dojo.publish(this.id+"-startup",[{children:_1,selected:_3}]); -this.inherited(arguments); -},resize:function(){ -var _4=this.selectedChildWidget; -if(_4&&!this._hasBeenShown){ -this._hasBeenShown=true; -this._showChild(_4); -} -this.inherited(arguments); -},_setupChild:function(_5){ -this.inherited(arguments); -dojo.replaceClass(_5.domNode,"dijitHidden","dijitVisible"); -_5.domNode.title=""; -},addChild:function(_6,_7){ -this.inherited(arguments); -if(this._started){ -dojo.publish(this.id+"-addChild",[_6,_7]); -this.layout(); -if(!this.selectedChildWidget){ -this.selectChild(_6); -} -} -},removeChild:function(_8){ -this.inherited(arguments); -if(this._started){ -dojo.publish(this.id+"-removeChild",[_8]); -} -if(this._beingDestroyed){ -return; -} -if(this.selectedChildWidget===_8){ -this.selectedChildWidget=undefined; -if(this._started){ -var _9=this.getChildren(); -if(_9.length){ -this.selectChild(_9[0]); -} -} -} -if(this._started){ -this.layout(); -} -},selectChild:function(_a,_b){ -_a=dijit.byId(_a); -if(this.selectedChildWidget!=_a){ -var d=this._transition(_a,this.selectedChildWidget,_b); -this._set("selectedChildWidget",_a); -dojo.publish(this.id+"-selectChild",[_a]); -if(this.persist){ -dojo.cookie(this.id+"_selectedChild",this.selectedChildWidget.id); -} -} -return d; -},_transition:function(_c,_d,_e){ -if(_d){ -this._hideChild(_d); -} -var d=this._showChild(_c); -if(_c.resize){ -if(this.doLayout){ -_c.resize(this._containerContentBox||this._contentBox); -}else{ -_c.resize(); -} -} -return d; -},_adjacent:function(_f){ -var _10=this.getChildren(); -var _11=dojo.indexOf(_10,this.selectedChildWidget); -_11+=_f?1:_10.length-1; -return _10[_11%_10.length]; -},forward:function(){ -return this.selectChild(this._adjacent(true),true); -},back:function(){ -return this.selectChild(this._adjacent(false),true); -},_onKeyPress:function(e){ -dojo.publish(this.id+"-containerKeyPress",[{e:e,page:this}]); -},layout:function(){ -if(this.doLayout&&this.selectedChildWidget&&this.selectedChildWidget.resize){ -this.selectedChildWidget.resize(this._containerContentBox||this._contentBox); -} -},_showChild:function(_12){ -var _13=this.getChildren(); -_12.isFirstChild=(_12==_13[0]); -_12.isLastChild=(_12==_13[_13.length-1]); -_12._set("selected",true); -dojo.replaceClass(_12.domNode,"dijitVisible","dijitHidden"); -return _12._onShow()||true; -},_hideChild:function(_14){ -_14._set("selected",false); -dojo.replaceClass(_14.domNode,"dijitHidden","dijitVisible"); -_14.onHide(); -},closeChild:function(_15){ -var _16=_15.onClose(this,_15); -if(_16){ -this.removeChild(_15); -_15.destroyRecursive(); -} -},destroyDescendants:function(_17){ -dojo.forEach(this.getChildren(),function(_18){ -this.removeChild(_18); -_18.destroyRecursive(_17); -},this); -}}); -dojo.extend(dijit._Widget,{selected:false,closable:false,iconClass:"",showTitle:true}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/layout/StackController.js b/resources/library/interactive/barre_prof.wgt/dijit/layout/StackController.js deleted file mode 100644 index 0aaf4c19..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/layout/StackController.js +++ /dev/null @@ -1,192 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.layout.StackController"]){ -dojo._hasResource["dijit.layout.StackController"]=true; -dojo.provide("dijit.layout.StackController"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Templated"); -dojo.require("dijit._Container"); -dojo.require("dijit.form.ToggleButton"); -dojo.requireLocalization("dijit","common",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dijit.layout.StackController",[dijit._Widget,dijit._Templated,dijit._Container],{templateString:"<span role='tablist' dojoAttachEvent='onkeypress' class='dijitStackController'></span>",containerId:"",buttonWidget:"dijit.layout._StackButton",constructor:function(){ -this.pane2button={}; -this.pane2connects={}; -this.pane2watches={}; -},buildRendering:function(){ -this.inherited(arguments); -dijit.setWaiRole(this.domNode,"tablist"); -},postCreate:function(){ -this.inherited(arguments); -this.subscribe(this.containerId+"-startup","onStartup"); -this.subscribe(this.containerId+"-addChild","onAddChild"); -this.subscribe(this.containerId+"-removeChild","onRemoveChild"); -this.subscribe(this.containerId+"-selectChild","onSelectChild"); -this.subscribe(this.containerId+"-containerKeyPress","onContainerKeyPress"); -},onStartup:function(_1){ -dojo.forEach(_1.children,this.onAddChild,this); -if(_1.selected){ -this.onSelectChild(_1.selected); -} -},destroy:function(){ -for(var _2 in this.pane2button){ -this.onRemoveChild(dijit.byId(_2)); -} -this.inherited(arguments); -},onAddChild:function(_3,_4){ -var _5=dojo.getObject(this.buttonWidget); -var _6=new _5({id:this.id+"_"+_3.id,label:_3.title,dir:_3.dir,lang:_3.lang,showLabel:_3.showTitle,iconClass:_3.iconClass,closeButton:_3.closable,title:_3.tooltip}); -dijit.setWaiState(_6.focusNode,"selected","false"); -var _7=["title","showTitle","iconClass","closable","tooltip"],_8=["label","showLabel","iconClass","closeButton","title"]; -this.pane2watches[_3.id]=dojo.map(_7,function(_9,_a){ -return _3.watch(_9,function(_b,_c,_d){ -_6.set(_8[_a],_d); -}); -}); -this.pane2connects[_3.id]=[this.connect(_6,"onClick",dojo.hitch(this,"onButtonClick",_3)),this.connect(_6,"onClickCloseButton",dojo.hitch(this,"onCloseButtonClick",_3))]; -this.addChild(_6,_4); -this.pane2button[_3.id]=_6; -_3.controlButton=_6; -if(!this._currentChild){ -_6.focusNode.setAttribute("tabIndex","0"); -dijit.setWaiState(_6.focusNode,"selected","true"); -this._currentChild=_3; -} -if(!this.isLeftToRight()&&dojo.isIE&&this._rectifyRtlTabList){ -this._rectifyRtlTabList(); -} -},onRemoveChild:function(_e){ -if(this._currentChild===_e){ -this._currentChild=null; -} -dojo.forEach(this.pane2connects[_e.id],dojo.hitch(this,"disconnect")); -delete this.pane2connects[_e.id]; -dojo.forEach(this.pane2watches[_e.id],function(w){ -w.unwatch(); -}); -delete this.pane2watches[_e.id]; -var _f=this.pane2button[_e.id]; -if(_f){ -this.removeChild(_f); -delete this.pane2button[_e.id]; -_f.destroy(); -} -delete _e.controlButton; -},onSelectChild:function(_10){ -if(!_10){ -return; -} -if(this._currentChild){ -var _11=this.pane2button[this._currentChild.id]; -_11.set("checked",false); -dijit.setWaiState(_11.focusNode,"selected","false"); -_11.focusNode.setAttribute("tabIndex","-1"); -} -var _12=this.pane2button[_10.id]; -_12.set("checked",true); -dijit.setWaiState(_12.focusNode,"selected","true"); -this._currentChild=_10; -_12.focusNode.setAttribute("tabIndex","0"); -var _13=dijit.byId(this.containerId); -dijit.setWaiState(_13.containerNode,"labelledby",_12.id); -},onButtonClick:function(_14){ -var _15=dijit.byId(this.containerId); -_15.selectChild(_14); -},onCloseButtonClick:function(_16){ -var _17=dijit.byId(this.containerId); -_17.closeChild(_16); -if(this._currentChild){ -var b=this.pane2button[this._currentChild.id]; -if(b){ -dijit.focus(b.focusNode||b.domNode); -} -} -},adjacent:function(_18){ -if(!this.isLeftToRight()&&(!this.tabPosition||/top|bottom/.test(this.tabPosition))){ -_18=!_18; -} -var _19=this.getChildren(); -var _1a=dojo.indexOf(_19,this.pane2button[this._currentChild.id]); -var _1b=_18?1:_19.length-1; -return _19[(_1a+_1b)%_19.length]; -},onkeypress:function(e){ -if(this.disabled||e.altKey){ -return; -} -var _1c=null; -if(e.ctrlKey||!e._djpage){ -var k=dojo.keys; -switch(e.charOrCode){ -case k.LEFT_ARROW: -case k.UP_ARROW: -if(!e._djpage){ -_1c=false; -} -break; -case k.PAGE_UP: -if(e.ctrlKey){ -_1c=false; -} -break; -case k.RIGHT_ARROW: -case k.DOWN_ARROW: -if(!e._djpage){ -_1c=true; -} -break; -case k.PAGE_DOWN: -if(e.ctrlKey){ -_1c=true; -} -break; -case k.HOME: -case k.END: -var _1d=this.getChildren(); -if(_1d&&_1d.length){ -_1d[e.charOrCode==k.HOME?0:_1d.length-1].onClick(); -} -dojo.stopEvent(e); -break; -case k.DELETE: -if(this._currentChild.closable){ -this.onCloseButtonClick(this._currentChild); -} -dojo.stopEvent(e); -break; -default: -if(e.ctrlKey){ -if(e.charOrCode===k.TAB){ -this.adjacent(!e.shiftKey).onClick(); -dojo.stopEvent(e); -}else{ -if(e.charOrCode=="w"){ -if(this._currentChild.closable){ -this.onCloseButtonClick(this._currentChild); -} -dojo.stopEvent(e); -} -} -} -} -if(_1c!==null){ -this.adjacent(_1c).onClick(); -dojo.stopEvent(e); -} -} -},onContainerKeyPress:function(_1e){ -_1e.e._djpage=_1e.page; -this.onkeypress(_1e.e); -}}); -dojo.declare("dijit.layout._StackButton",dijit.form.ToggleButton,{tabIndex:"-1",buildRendering:function(evt){ -this.inherited(arguments); -dijit.setWaiRole((this.focusNode||this.domNode),"tab"); -},onClick:function(evt){ -dijit.focus(this.focusNode); -},onClickCloseButton:function(evt){ -evt.stopPropagation(); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/layout/TabContainer.js b/resources/library/interactive/barre_prof.wgt/dijit/layout/TabContainer.js deleted file mode 100644 index 6517ca85..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/layout/TabContainer.js +++ /dev/null @@ -1,23 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.layout.TabContainer"]){ -dojo._hasResource["dijit.layout.TabContainer"]=true; -dojo.provide("dijit.layout.TabContainer"); -dojo.require("dijit.layout._TabContainerBase"); -dojo.require("dijit.layout.TabController"); -dojo.require("dijit.layout.ScrollingTabController"); -dojo.declare("dijit.layout.TabContainer",dijit.layout._TabContainerBase,{useMenu:true,useSlider:true,controllerWidget:"",_makeController:function(_1){ -var _2=this.baseClass+"-tabs"+(this.doLayout?"":" dijitTabNoLayout"),_3=dojo.getObject(this.controllerWidget); -return new _3({id:this.id+"_tablist",dir:this.dir,lang:this.lang,tabPosition:this.tabPosition,doLayout:this.doLayout,containerId:this.id,"class":_2,nested:this.nested,useMenu:this.useMenu,useSlider:this.useSlider,tabStripClass:this.tabStrip?this.baseClass+(this.tabStrip?"":"No")+"Strip":null},_1); -},postMixInProperties:function(){ -this.inherited(arguments); -if(!this.controllerWidget){ -this.controllerWidget=(this.tabPosition=="top"||this.tabPosition=="bottom")&&!this.nested?"dijit.layout.ScrollingTabController":"dijit.layout.TabController"; -} -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/layout/TabController.js b/resources/library/interactive/barre_prof.wgt/dijit/layout/TabController.js deleted file mode 100644 index 32af245f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/layout/TabController.js +++ /dev/null @@ -1,70 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.layout.TabController"]){ -dojo._hasResource["dijit.layout.TabController"]=true; -dojo.provide("dijit.layout.TabController"); -dojo.require("dijit.layout.StackController"); -dojo.require("dijit.Menu"); -dojo.require("dijit.MenuItem"); -dojo.requireLocalization("dijit","common",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dijit.layout.TabController",dijit.layout.StackController,{templateString:"<div role='tablist' dojoAttachEvent='onkeypress:onkeypress'></div>",tabPosition:"top",buttonWidget:"dijit.layout._TabButton",_rectifyRtlTabList:function(){ -if(0>=this.tabPosition.indexOf("-h")){ -return; -} -if(!this.pane2button){ -return; -} -var _1=0; -for(var _2 in this.pane2button){ -var ow=this.pane2button[_2].innerDiv.scrollWidth; -_1=Math.max(_1,ow); -} -for(_2 in this.pane2button){ -this.pane2button[_2].innerDiv.style.width=_1+"px"; -} -}}); -dojo.declare("dijit.layout._TabButton",dijit.layout._StackButton,{baseClass:"dijitTab",cssStateNodes:{closeNode:"dijitTabCloseButton"},templateString:dojo.cache("dijit.layout","templates/_TabButton.html","<div role=\"presentation\" dojoAttachPoint=\"titleNode\" dojoAttachEvent='onclick:onClick'>\n <div role=\"presentation\" class='dijitTabInnerDiv' dojoAttachPoint='innerDiv'>\n <div role=\"presentation\" class='dijitTabContent' dojoAttachPoint='tabContent'>\n \t<div role=\"presentation\" dojoAttachPoint='focusNode'>\n\t\t <img src=\"${_blankGif}\" alt=\"\" class=\"dijitIcon dijitTabButtonIcon\" dojoAttachPoint='iconNode' />\n\t\t <span dojoAttachPoint='containerNode' class='tabLabel'></span>\n\t\t <span class=\"dijitInline dijitTabCloseButton dijitTabCloseIcon\" dojoAttachPoint='closeNode'\n\t\t \t\tdojoAttachEvent='onclick: onClickCloseButton' role=\"presentation\">\n\t\t <span dojoAttachPoint='closeText' class='dijitTabCloseText'>[x]</span\n\t\t ></span>\n\t\t\t</div>\n </div>\n </div>\n</div>\n"),scrollOnFocus:false,buildRendering:function(){ -this.inherited(arguments); -dojo.setSelectable(this.containerNode,false); -},startup:function(){ -this.inherited(arguments); -var n=this.domNode; -setTimeout(function(){ -n.className=n.className; -},1); -},_setCloseButtonAttr:function(_3){ -this._set("closeButton",_3); -dojo.toggleClass(this.innerDiv,"dijitClosable",_3); -this.closeNode.style.display=_3?"":"none"; -if(_3){ -var _4=dojo.i18n.getLocalization("dijit","common"); -if(this.closeNode){ -dojo.attr(this.closeNode,"title",_4.itemClose); -} -var _4=dojo.i18n.getLocalization("dijit","common"); -this._closeMenu=new dijit.Menu({id:this.id+"_Menu",dir:this.dir,lang:this.lang,targetNodeIds:[this.domNode]}); -this._closeMenu.addChild(new dijit.MenuItem({label:_4.itemClose,dir:this.dir,lang:this.lang,onClick:dojo.hitch(this,"onClickCloseButton")})); -}else{ -if(this._closeMenu){ -this._closeMenu.destroyRecursive(); -delete this._closeMenu; -} -} -},_setLabelAttr:function(_5){ -this.inherited(arguments); -if(this.showLabel==false&&!this.params.title){ -this.iconNode.alt=dojo.trim(this.containerNode.innerText||this.containerNode.textContent||""); -} -},destroy:function(){ -if(this._closeMenu){ -this._closeMenu.destroyRecursive(); -delete this._closeMenu; -} -this.inherited(arguments); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/layout/_ContentPaneResizeMixin.js b/resources/library/interactive/barre_prof.wgt/dijit/layout/_ContentPaneResizeMixin.js deleted file mode 100644 index 5c4e6a6c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/layout/_ContentPaneResizeMixin.js +++ /dev/null @@ -1,116 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.layout._ContentPaneResizeMixin"]){ -dojo._hasResource["dijit.layout._ContentPaneResizeMixin"]=true; -dojo.provide("dijit.layout._ContentPaneResizeMixin"); -dojo.require("dijit._Contained"); -dojo.require("dijit.layout._LayoutWidget"); -dojo.declare("dijit.layout._ContentPaneResizeMixin",null,{doLayout:true,isContainer:true,isLayoutContainer:true,_startChildren:function(){ -dojo.forEach(this.getChildren(),function(_1){ -_1.startup(); -_1._started=true; -}); -},startup:function(){ -if(this._started){ -return; -} -var _2=dijit._Contained.prototype.getParent.call(this); -this._childOfLayoutWidget=_2&&_2.isLayoutContainer; -this._needLayout=!this._childOfLayoutWidget; -this.inherited(arguments); -this._startChildren(); -if(this._isShown()){ -this._onShow(); -} -if(!this._childOfLayoutWidget){ -this.connect(dojo.isIE?this.domNode:dojo.global,"onresize",function(){ -this._needLayout=!this._childOfLayoutWidget; -this.resize(); -}); -} -},_checkIfSingleChild:function(){ -var _3=dojo.query("> *",this.containerNode).filter(function(_4){ -return _4.tagName!=="SCRIPT"; -}),_5=_3.filter(function(_6){ -return dojo.hasAttr(_6,"data-dojo-type")||dojo.hasAttr(_6,"dojoType")||dojo.hasAttr(_6,"widgetId"); -}),_7=dojo.filter(_5.map(dijit.byNode),function(_8){ -return _8&&_8.domNode&&_8.resize; -}); -if(_3.length==_5.length&&_7.length==1){ -this._singleChild=_7[0]; -}else{ -delete this._singleChild; -} -dojo.toggleClass(this.containerNode,this.baseClass+"SingleChild",!!this._singleChild); -},resize:function(_9,_a){ -if(!this._wasShown&&this.open!==false){ -this._onShow(); -} -this._resizeCalled=true; -this._scheduleLayout(_9,_a); -},_scheduleLayout:function(_b,_c){ -if(this._isShown()){ -this._layout(_b,_c); -}else{ -this._needLayout=true; -this._changeSize=_b; -this._resultSize=_c; -} -},_layout:function(_d,_e){ -if(_d){ -dojo.marginBox(this.domNode,_d); -} -var cn=this.containerNode; -if(cn===this.domNode){ -var mb=_e||{}; -dojo.mixin(mb,_d||{}); -if(!("h" in mb)||!("w" in mb)){ -mb=dojo.mixin(dojo.marginBox(cn),mb); -} -this._contentBox=dijit.layout.marginBox2contentBox(cn,mb); -}else{ -this._contentBox=dojo.contentBox(cn); -} -this._layoutChildren(); -delete this._needLayout; -},_layoutChildren:function(){ -if(this.doLayout){ -this._checkIfSingleChild(); -} -if(this._singleChild&&this._singleChild.resize){ -var cb=this._contentBox||dojo.contentBox(this.containerNode); -this._singleChild.resize({w:cb.w,h:cb.h}); -}else{ -dojo.forEach(this.getChildren(),function(_f){ -if(_f.resize){ -_f.resize(); -} -}); -} -},_isShown:function(){ -if(this._childOfLayoutWidget){ -if(this._resizeCalled&&"open" in this){ -return this.open; -} -return this._resizeCalled; -}else{ -if("open" in this){ -return this.open; -}else{ -var _10=this.domNode,_11=this.domNode.parentNode; -return (_10.style.display!="none")&&(_10.style.visibility!="hidden")&&!dojo.hasClass(_10,"dijitHidden")&&_11&&_11.style&&(_11.style.display!="none"); -} -} -},_onShow:function(){ -if(this._needLayout){ -this._layout(this._changeSize,this._resultSize); -} -this.inherited(arguments); -this._wasShown=true; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/layout/_LayoutWidget.js b/resources/library/interactive/barre_prof.wgt/dijit/layout/_LayoutWidget.js deleted file mode 100644 index 6ac2505a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/layout/_LayoutWidget.js +++ /dev/null @@ -1,132 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.layout._LayoutWidget"]){ -dojo._hasResource["dijit.layout._LayoutWidget"]=true; -dojo.provide("dijit.layout._LayoutWidget"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Container"); -dojo.require("dijit._Contained"); -dojo.declare("dijit.layout._LayoutWidget",[dijit._Widget,dijit._Container,dijit._Contained],{baseClass:"dijitLayoutContainer",isLayoutContainer:true,buildRendering:function(){ -this.inherited(arguments); -dojo.addClass(this.domNode,"dijitContainer"); -},startup:function(){ -if(this._started){ -return; -} -this.inherited(arguments); -var _1=this.getParent&&this.getParent(); -if(!(_1&&_1.isLayoutContainer)){ -this.resize(); -this.connect(dojo.isIE?this.domNode:dojo.global,"onresize",function(){ -this.resize(); -}); -} -},resize:function(_2,_3){ -var _4=this.domNode; -if(_2){ -dojo.marginBox(_4,_2); -if(_2.t){ -_4.style.top=_2.t+"px"; -} -if(_2.l){ -_4.style.left=_2.l+"px"; -} -} -var mb=_3||{}; -dojo.mixin(mb,_2||{}); -if(!("h" in mb)||!("w" in mb)){ -mb=dojo.mixin(dojo.marginBox(_4),mb); -} -var cs=dojo.getComputedStyle(_4); -var me=dojo._getMarginExtents(_4,cs); -var be=dojo._getBorderExtents(_4,cs); -var bb=(this._borderBox={w:mb.w-(me.w+be.w),h:mb.h-(me.h+be.h)}); -var pe=dojo._getPadExtents(_4,cs); -this._contentBox={l:dojo._toPixelValue(_4,cs.paddingLeft),t:dojo._toPixelValue(_4,cs.paddingTop),w:bb.w-pe.w,h:bb.h-pe.h}; -this.layout(); -},layout:function(){ -},_setupChild:function(_5){ -var _6=this.baseClass+"-child "+(_5.baseClass?this.baseClass+"-"+_5.baseClass:""); -dojo.addClass(_5.domNode,_6); -},addChild:function(_7,_8){ -this.inherited(arguments); -if(this._started){ -this._setupChild(_7); -} -},removeChild:function(_9){ -var _a=this.baseClass+"-child"+(_9.baseClass?" "+this.baseClass+"-"+_9.baseClass:""); -dojo.removeClass(_9.domNode,_a); -this.inherited(arguments); -}}); -dijit.layout.marginBox2contentBox=function(_b,mb){ -var cs=dojo.getComputedStyle(_b); -var me=dojo._getMarginExtents(_b,cs); -var pb=dojo._getPadBorderExtents(_b,cs); -return {l:dojo._toPixelValue(_b,cs.paddingLeft),t:dojo._toPixelValue(_b,cs.paddingTop),w:mb.w-(me.w+pb.w),h:mb.h-(me.h+pb.h)}; -}; -(function(){ -var _c=function(_d){ -return _d.substring(0,1).toUpperCase()+_d.substring(1); -}; -var _e=function(_f,dim){ -var _10=_f.resize?_f.resize(dim):dojo.marginBox(_f.domNode,dim); -if(_10){ -dojo.mixin(_f,_10); -}else{ -dojo.mixin(_f,dojo.marginBox(_f.domNode)); -dojo.mixin(_f,dim); -} -}; -dijit.layout.layoutChildren=function(_11,dim,_12,_13,_14){ -dim=dojo.mixin({},dim); -dojo.addClass(_11,"dijitLayoutContainer"); -_12=dojo.filter(_12,function(_15){ -return _15.region!="center"&&_15.layoutAlign!="client"; -}).concat(dojo.filter(_12,function(_16){ -return _16.region=="center"||_16.layoutAlign=="client"; -})); -dojo.forEach(_12,function(_17){ -var elm=_17.domNode,pos=(_17.region||_17.layoutAlign); -var _18=elm.style; -_18.left=dim.l+"px"; -_18.top=dim.t+"px"; -_18.position="absolute"; -dojo.addClass(elm,"dijitAlign"+_c(pos)); -var _19={}; -if(_13&&_13==_17.id){ -_19[_17.region=="top"||_17.region=="bottom"?"h":"w"]=_14; -} -if(pos=="top"||pos=="bottom"){ -_19.w=dim.w; -_e(_17,_19); -dim.h-=_17.h; -if(pos=="top"){ -dim.t+=_17.h; -}else{ -_18.top=dim.t+dim.h+"px"; -} -}else{ -if(pos=="left"||pos=="right"){ -_19.h=dim.h; -_e(_17,_19); -dim.w-=_17.w; -if(pos=="left"){ -dim.l+=_17.w; -}else{ -_18.left=dim.l+dim.w+"px"; -} -}else{ -if(pos=="client"||pos=="center"){ -_e(_17,dim); -} -} -} -}); -}; -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/layout/_TabContainerBase.js b/resources/library/interactive/barre_prof.wgt/dijit/layout/_TabContainerBase.js deleted file mode 100644 index 8111bec6..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/layout/_TabContainerBase.js +++ /dev/null @@ -1,72 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dijit.layout._TabContainerBase"]){ -dojo._hasResource["dijit.layout._TabContainerBase"]=true; -dojo.provide("dijit.layout._TabContainerBase"); -dojo.require("dijit.layout.StackContainer"); -dojo.require("dijit._Templated"); -dojo.declare("dijit.layout._TabContainerBase",[dijit.layout.StackContainer,dijit._Templated],{tabPosition:"top",baseClass:"dijitTabContainer",tabStrip:false,nested:false,templateString:dojo.cache("dijit.layout","templates/TabContainer.html","<div class=\"dijitTabContainer\">\n\t<div class=\"dijitTabListWrapper\" dojoAttachPoint=\"tablistNode\"></div>\n\t<div dojoAttachPoint=\"tablistSpacer\" class=\"dijitTabSpacer ${baseClass}-spacer\"></div>\n\t<div class=\"dijitTabPaneWrapper ${baseClass}-container\" dojoAttachPoint=\"containerNode\"></div>\n</div>\n"),postMixInProperties:function(){ -this.baseClass+=this.tabPosition.charAt(0).toUpperCase()+this.tabPosition.substr(1).replace(/-.*/,""); -this.srcNodeRef&&dojo.style(this.srcNodeRef,"visibility","hidden"); -this.inherited(arguments); -},buildRendering:function(){ -this.inherited(arguments); -this.tablist=this._makeController(this.tablistNode); -if(!this.doLayout){ -dojo.addClass(this.domNode,"dijitTabContainerNoLayout"); -} -if(this.nested){ -dojo.addClass(this.domNode,"dijitTabContainerNested"); -dojo.addClass(this.tablist.containerNode,"dijitTabContainerTabListNested"); -dojo.addClass(this.tablistSpacer,"dijitTabContainerSpacerNested"); -dojo.addClass(this.containerNode,"dijitTabPaneWrapperNested"); -}else{ -dojo.addClass(this.domNode,"tabStrip-"+(this.tabStrip?"enabled":"disabled")); -} -},_setupChild:function(_1){ -dojo.addClass(_1.domNode,"dijitTabPane"); -this.inherited(arguments); -},startup:function(){ -if(this._started){ -return; -} -this.tablist.startup(); -this.inherited(arguments); -},layout:function(){ -if(!this._contentBox||typeof (this._contentBox.l)=="undefined"){ -return; -} -var sc=this.selectedChildWidget; -if(this.doLayout){ -var _2=this.tabPosition.replace(/-h/,""); -this.tablist.layoutAlign=_2; -var _3=[this.tablist,{domNode:this.tablistSpacer,layoutAlign:_2},{domNode:this.containerNode,layoutAlign:"client"}]; -dijit.layout.layoutChildren(this.domNode,this._contentBox,_3); -this._containerContentBox=dijit.layout.marginBox2contentBox(this.containerNode,_3[2]); -if(sc&&sc.resize){ -sc.resize(this._containerContentBox); -} -}else{ -if(this.tablist.resize){ -var s=this.tablist.domNode.style; -s.width="0"; -var _4=dojo.contentBox(this.domNode).w; -s.width=""; -this.tablist.resize({w:_4}); -} -if(sc&&sc.resize){ -sc.resize(); -} -} -},destroy:function(){ -if(this.tablist){ -this.tablist.destroy(); -} -this.inherited(arguments); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/common.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/common.js deleted file mode 100644 index 6573dcde..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/common.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonOk":"OK","buttonCancel":"Cancel","buttonSave":"Save","itemClose":"Close"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/de/common.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/de/common.js deleted file mode 100644 index cd60c45d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/de/common.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonOk":"OK","buttonCancel":"Abbrechen","buttonSave":"Speichern","itemClose":"Schließen"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/de/loading.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/de/loading.js deleted file mode 100644 index 4989983d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/de/loading.js +++ /dev/null @@ -1 +0,0 @@ -({"loadingState":"Wird geladen...","errorState":"Es ist ein Fehler aufgetreten."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_ROOT.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_ROOT.js deleted file mode 100644 index e1cc2e5e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_ROOT.js +++ /dev/null @@ -1 +0,0 @@ -dojo.provide("dijit.nls.dijit-all_ROOT");dojo.provide("dojo.nls.colors");dojo.nls.colors._built=true;dojo.provide("dojo.nls.colors.ROOT");dojo.nls.colors.ROOT={"lightsteelblue":"light steel blue","orangered":"orange red","midnightblue":"midnight blue","cadetblue":"cadet blue","seashell":"seashell","slategrey":"slate gray","coral":"coral","darkturquoise":"dark turquoise","antiquewhite":"antique white","mediumspringgreen":"medium spring green","salmon":"salmon","darkgrey":"dark gray","ivory":"ivory","greenyellow":"green-yellow","mistyrose":"misty rose","lightsalmon":"light salmon","silver":"silver","dimgrey":"dim gray","orange":"orange","white":"white","navajowhite":"navajo white","royalblue":"royal blue","deeppink":"deep pink","lime":"lime","oldlace":"old lace","chartreuse":"chartreuse","darkcyan":"dark cyan","yellow":"yellow","linen":"linen","olive":"olive","gold":"gold","lawngreen":"lawn green","lightyellow":"light yellow","tan":"tan","darkviolet":"dark violet","lightslategrey":"light slate gray","grey":"gray","darkkhaki":"dark khaki","green":"green","deepskyblue":"deep sky blue","aqua":"aqua","sienna":"sienna","mintcream":"mint cream","rosybrown":"rosy brown","mediumslateblue":"medium slate blue","magenta":"magenta","lightseagreen":"light sea green","cyan":"cyan","olivedrab":"olive drab","darkgoldenrod":"dark goldenrod","slateblue":"slate blue","mediumaquamarine":"medium aquamarine","lavender":"lavender","mediumseagreen":"medium sea green","maroon":"maroon","darkslategray":"dark slate gray","mediumturquoise":"medium turquoise","ghostwhite":"ghost white","darkblue":"dark blue","mediumvioletred":"medium violet-red","brown":"brown","lightgray":"light gray","sandybrown":"sandy brown","pink":"pink","firebrick":"fire brick","indigo":"indigo","snow":"snow","darkorchid":"dark orchid","turquoise":"turquoise","chocolate":"chocolate","springgreen":"spring green","moccasin":"moccasin","navy":"navy","lemonchiffon":"lemon chiffon","teal":"teal","floralwhite":"floral white","cornflowerblue":"cornflower blue","paleturquoise":"pale turquoise","purple":"purple","gainsboro":"gainsboro","plum":"plum","red":"red","blue":"blue","forestgreen":"forest green","darkgreen":"dark green","honeydew":"honeydew","darkseagreen":"dark sea green","lightcoral":"light coral","palevioletred":"pale violet-red","mediumpurple":"medium purple","saddlebrown":"saddle brown","darkmagenta":"dark magenta","thistle":"thistle","whitesmoke":"white smoke","wheat":"wheat","violet":"violet","lightskyblue":"light sky blue","goldenrod":"goldenrod","mediumblue":"medium blue","skyblue":"sky blue","crimson":"crimson","darksalmon":"dark salmon","darkred":"dark red","darkslategrey":"dark slate gray","peru":"peru","lightgrey":"light gray","lightgoldenrodyellow":"light goldenrod yellow","blanchedalmond":"blanched almond","aliceblue":"alice blue","bisque":"bisque","slategray":"slate gray","palegoldenrod":"pale goldenrod","darkorange":"dark orange","aquamarine":"aquamarine","lightgreen":"light green","burlywood":"burlywood","dodgerblue":"dodger blue","darkgray":"dark gray","lightcyan":"light cyan","powderblue":"powder blue","blueviolet":"blue-violet","orchid":"orchid","dimgray":"dim gray","beige":"beige","fuchsia":"fuchsia","lavenderblush":"lavender blush","hotpink":"hot pink","steelblue":"steel blue","tomato":"tomato","lightpink":"light pink","limegreen":"lime green","indianred":"indian red","papayawhip":"papaya whip","lightslategray":"light slate gray","gray":"gray","mediumorchid":"medium orchid","cornsilk":"cornsilk","black":"black","seagreen":"sea green","darkslateblue":"dark slate blue","khaki":"khaki","lightblue":"light blue","palegreen":"pale green","azure":"azure","peachpuff":"peach puff","darkolivegreen":"dark olive green","yellowgreen":"yellow green"};dojo.provide("dijit.nls.loading");dijit.nls.loading._built=true;dojo.provide("dijit.nls.loading.ROOT");dijit.nls.loading.ROOT={"loadingState":"Loading...","errorState":"Sorry, an error occurred"};dojo.provide("dijit.nls.common");dijit.nls.common._built=true;dojo.provide("dijit.nls.common.ROOT");dijit.nls.common.ROOT={"buttonOk":"OK","buttonCancel":"Cancel","buttonSave":"Save","itemClose":"Close"};dojo.provide("dijit._editor.nls.commands");dijit._editor.nls.commands._built=true;dojo.provide("dijit._editor.nls.commands.ROOT");dijit._editor.nls.commands.ROOT={"removeFormat":"Remove Format","copy":"Copy","paste":"Paste","selectAll":"Select All","insertOrderedList":"Numbered List","insertTable":"Insert/Edit Table","print":"Print","underline":"Underline","foreColor":"Foreground Color","htmlToggle":"HTML Source","formatBlock":"Paragraph Style","newPage":"New Page","insertHorizontalRule":"Horizontal Rule","delete":"Delete","appleKey":"⌘${0}","insertUnorderedList":"Bullet List","tableProp":"Table Property","insertImage":"Insert Image","superscript":"Superscript","subscript":"Subscript","createLink":"Create Link","undo":"Undo","fullScreen":"Toggle Full Screen","italic":"Italic","fontName":"Font Name","justifyLeft":"Align Left","unlink":"Remove Link","toggleTableBorder":"Toggle Table Border","viewSource":"View HTML Source","ctrlKey":"ctrl+${0}","fontSize":"Font Size","systemShortcut":"The \"${0}\" action is only available in your browser using a keyboard shortcut. Use ${1}.","indent":"Indent","redo":"Redo","strikethrough":"Strikethrough","justifyFull":"Justify","justifyCenter":"Align Center","hiliteColor":"Background Color","deleteTable":"Delete Table","outdent":"Outdent","cut":"Cut","plainFormatBlock":"Paragraph Style","toggleDir":"Toggle Direction","bold":"Bold","tabIndent":"Tab Indent","justifyRight":"Align Right"};dojo.provide("dijit.form.nls.validate");dijit.form.nls.validate._built=true;dojo.provide("dijit.form.nls.validate.ROOT");dijit.form.nls.validate.ROOT={"rangeMessage":"This value is out of range.","invalidMessage":"The value entered is not valid.","missingMessage":"This value is required."};dojo.provide("dijit.form.nls.ComboBox");dijit.form.nls.ComboBox._built=true;dojo.provide("dijit.form.nls.ComboBox.ROOT");dijit.form.nls.ComboBox.ROOT={"previousMessage":"Previous choices","nextMessage":"More choices"};dojo.provide("dijit._editor.nls.FontChoice");dijit._editor.nls.FontChoice._built=true;dojo.provide("dijit._editor.nls.FontChoice.ROOT");dijit._editor.nls.FontChoice.ROOT={"noFormat":"None","1":"xx-small","2":"x-small","formatBlock":"Format","3":"small","4":"medium","5":"large","6":"x-large","7":"xx-large","fantasy":"fantasy","serif":"serif","p":"Paragraph","pre":"Pre-formatted","sans-serif":"sans-serif","fontName":"Font","h1":"Heading","h2":"Subheading","h3":"Sub-subheading","monospace":"monospace","fontSize":"Size","cursive":"cursive"};dojo.provide("dijit._editor.nls.LinkDialog");dijit._editor.nls.LinkDialog._built=true;dojo.provide("dijit._editor.nls.LinkDialog.ROOT");dijit._editor.nls.LinkDialog.ROOT={"text":"Description:","insertImageTitle":"Image Properties","set":"Set","newWindow":"New Window","topWindow":"Topmost Window","target":"Target:","createLinkTitle":"Link Properties","parentWindow":"Parent Window","currentWindow":"Current Window","url":"URL:"};dojo.provide("dojo.cldr.nls.number");dojo.cldr.nls.number._built=true;dojo.provide("dojo.cldr.nls.number.ROOT");dojo.cldr.nls.number.ROOT={"scientificFormat":"#E0","currencySpacing-afterCurrency-currencyMatch":"[:letter:]","infinity":"∞","list":";","percentSign":"%","minusSign":"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]","decimalFormat-short":"000T","currencySpacing-afterCurrency-insertBetween":" ","nan":"NaN","nativeZeroDigit":"0","plusSign":"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]","currencyFormat":"¤ #,##0.00","currencySpacing-beforeCurrency-currencyMatch":"[:letter:]","perMille":"‰","group":",","percentFormat":"#,##0%","decimalFormat":"#,##0.###","decimal":".","patternDigit":"#","currencySpacing-beforeCurrency-insertBetween":" ","exponential":"E"};dojo.provide("dojo.cldr.nls.currency");dojo.cldr.nls.currency._built=true;dojo.provide("dojo.cldr.nls.currency.ROOT");dojo.cldr.nls.currency.ROOT={"USD_symbol":"US$","CAD_symbol":"CA$","GBP_symbol":"£","HKD_symbol":"HK$","JPY_symbol":"JP¥","AUD_symbol":"AU$","CNY_symbol":"CN¥","EUR_symbol":"€"};dojo.provide("dojo.cldr.nls.gregorian");dojo.cldr.nls.gregorian._built=true;dojo.provide("dojo.cldr.nls.gregorian.ROOT");dojo.cldr.nls.gregorian.ROOT={"months-format-narrow":["1","2","3","4","5","6","7","8","9","10","11","12"],"quarters-standAlone-narrow":["1","2","3","4"],"field-weekday":"Day of the Week","dateFormatItem-yQQQ":"y QQQ","dateFormatItem-yMEd":"EEE, y-M-d","dateFormatItem-MMMEd":"E MMM d","eraNarrow":["BCE","CE"],"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"y MMMM d","months-format-wide":["1","2","3","4","5","6","7","8","9","10","11","12"],"dateTimeFormat-medium":"{1} {0}","dateFormatItem-EEEd":"d EEE","dayPeriods-format-wide-pm":"PM","dateFormat-full":"EEEE, y MMMM dd","dateFormatItem-Md":"M-d","dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","field-era":"Era","dateFormatItem-yM":"y-M","months-standAlone-wide":["1","2","3","4","5","6","7","8","9","10","11","12"],"timeFormat-short":"HH:mm","quarters-format-wide":["Q1","Q2","Q3","Q4"],"timeFormat-long":"HH:mm:ss z","field-year":"Year","dateFormatItem-yMMM":"y MMM","dateFormatItem-yQ":"y Q","dateTimeFormats-appendItem-Era":"{0} {1}","field-hour":"Hour","months-format-abbr":["1","2","3","4","5","6","7","8","9","10","11","12"],"timeFormat-full":"HH:mm:ss zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"Today","field-day-relative+1":"Tomorrow","dateFormatItem-H":"HH","months-standAlone-abbr":["1","2","3","4","5","6","7","8","9","10","11","12"],"quarters-format-abbr":["Q1","Q2","Q3","Q4"],"quarters-standAlone-wide":["Q1","Q2","Q3","Q4"],"dateFormatItem-M":"L","days-standAlone-wide":["1","2","3","4","5","6","7"],"timeFormat-medium":"HH:mm:ss","dateFormatItem-Hm":"HH:mm","quarters-standAlone-abbr":["Q1","Q2","Q3","Q4"],"eraAbbr":["BCE","CE"],"field-minute":"Minute","field-dayperiod":"Dayperiod","days-standAlone-abbr":["1","2","3","4","5","6","7"],"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"Yesterday","dateFormatItem-h":"h a","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"AM","dateFormatItem-MMMd":"MMM d","dateFormatItem-MEd":"E, M-d","dateTimeFormat-full":"{1} {0}","field-day":"Day","days-format-wide":["1","2","3","4","5","6","7"],"field-zone":"Zone","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dateFormatItem-y":"y","months-standAlone-narrow":["1","2","3","4","5","6","7","8","9","10","11","12"],"dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Year":"{0} {1}","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":["1","2","3","4","5","6","7"],"eraNames":["BCE","CE"],"days-format-narrow":["1","2","3","4","5","6","7"],"days-standAlone-narrow":["1","2","3","4","5","6","7"],"dateFormatItem-MMM":"LLL","field-month":"Month","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","dayPeriods-format-wide-am":"AM","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormat-short":"yyyy-MM-dd","field-second":"Second","dateFormatItem-yMMMEd":"EEE, y MMM d","dateTimeFormats-appendItem-Timezone":"{0} {1}","field-week":"Week","dateFormat-medium":"y MMM d","dayPeriods-format-narrow-pm":"PM","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-hms":"h:mm:ss a"}; diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_de-de.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_de-de.js deleted file mode 100644 index a7647f1c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_de-de.js +++ /dev/null @@ -1 +0,0 @@ -dojo.provide("dijit.nls.dijit-all_de-de");dojo.provide("dojo.nls.colors");dojo.nls.colors._built=true;dojo.provide("dojo.nls.colors.de_de");dojo.nls.colors.de_de={"lightsteelblue":"Helles Stahlblau","orangered":"Orangerot","midnightblue":"Mitternachtblau","cadetblue":"Kadettenblau","seashell":"Muschelweiß","slategrey":"Schiefergrau","coral":"Koralle","darkturquoise":"Dunkeltürkis","antiquewhite":"Antikweiß","mediumspringgreen":"Mittelfrühlingsgrün","salmon":"Lachs","darkgrey":"Dunkelgrau","ivory":"Elfenbein","greenyellow":"Grüngelb","mistyrose":"Blassrose","lightsalmon":"Helllachs","silver":"Silbergrau","dimgrey":"Blassgrau","orange":"Orange","white":"Weiß","navajowhite":"Navajo-weiß","royalblue":"Königsblau","deeppink":"Tiefrosa","lime":"Limone","oldlace":"Alte Spitze","chartreuse":"Helles Gelbgrün","darkcyan":"Dunkelzyan","yellow":"Gelb","linen":"Leinen","olive":"Oliv","gold":"Gold","lawngreen":"Grasgrün","lightyellow":"Hellgelb","tan":"Hautfarben","darkviolet":"Dunkelviolett","lightslategrey":"Helles Schiefergrau","grey":"Grau","darkkhaki":"Dunkelkhaki","green":"Grün","deepskyblue":"Dunkles Himmelblau","aqua":"Wasserblau","sienna":"Sienna","mintcream":"Mintcreme","rosybrown":"Rosigbraun","mediumslateblue":"Mittelschieferblau ","magenta":"Magenta","lightseagreen":"Helles Meergrün","cyan":"Zyan","olivedrab":"Olivgrau","darkgoldenrod":"Dunkelgoldgelb","slateblue":"Schieferblau","mediumaquamarine":"Mittelaquamarin","lavender":"Lavendelblau","mediumseagreen":"Mittelmeeresgrün","maroon":"Kastanienbraun","darkslategray":"Dunkelschiefergrau","mediumturquoise":"Mitteltürkis ","ghostwhite":"Geisterweiß","darkblue":"Dunkelblau","mediumvioletred":"Mittelviolettrot ","brown":"Braun","lightgray":"Hellgrau","sandybrown":"Sandbraun","pink":"Rosa","firebrick":"Schamottestein","indigo":"Indigoblau","snow":"Schneeweiß","darkorchid":"Dunkelorchidee","turquoise":"Türkis","chocolate":"Schokoladenbraun","springgreen":"Frühlingsgrün","moccasin":"Mokassin","navy":"Marineblau","lemonchiffon":"Zitronenchiffon","teal":"Smaragdgrün","floralwhite":"Blütenweiß","cornflowerblue":"Kornblumenblau","paleturquoise":"Blasstürkis","purple":"Purpurrot","gainsboro":"Gainsboro","plum":"Pflaume","red":"Rot","blue":"Blau","forestgreen":"Forstgrün","darkgreen":"Dunkelgrün","honeydew":"Honigtau","darkseagreen":"Dunkles Meergrün","lightcoral":"Hellkoralle","palevioletred":"Blassviolettrot ","mediumpurple":"Mittelpurpur","saddlebrown":"Sattelbraun","darkmagenta":"Dunkelmagenta","thistle":"Distel","whitesmoke":"Rauchweiß","wheat":"Weizen","violet":"Violett","lightskyblue":"Helles Himmelblau","goldenrod":"Goldgelb","mediumblue":"Mittelblau","skyblue":"Himmelblau","crimson":"Karmesinrot","darksalmon":"Dunkellachs","darkred":"Dunkelrot","darkslategrey":"Dunkelschiefergrau","peru":"Peru","lightgrey":"Hellgrau","lightgoldenrodyellow":"Hellgoldgelb","blanchedalmond":"Mandelweiß","aliceblue":"Alice-blau","bisque":"Bisquit","slategray":"Schiefergrau","palegoldenrod":"Blassgoldgelb","darkorange":"Dunkelorange","aquamarine":"Aquamarin","lightgreen":"Hellgrün","burlywood":"Burlywood","dodgerblue":"Dodger-blau","darkgray":"Dunkelgrau","lightcyan":"Hellzyan","powderblue":"Pulverblau","blueviolet":"Blauviolett","orchid":"Orchidee","dimgray":"Blassgrau","beige":"Beige","fuchsia":"Fuchsia","lavenderblush":"Lavendelhauch","hotpink":"Knallrosa","steelblue":"Stahlblau","tomato":"Tomatenrot","lightpink":"Hellrosa","limegreen":"Limonengrün","indianred":"Indischrot","papayawhip":"Papayacreme","lightslategray":"Helles Schiefergrau","gray":"Grau","mediumorchid":"Mittelorchidee","cornsilk":"Kornseide","black":"Schwarz","seagreen":"Meeresgrün","darkslateblue":"Dunkelschieferblau","khaki":"Khaki","lightblue":"Hellblau","palegreen":"Blassgrün","azure":"Azur","peachpuff":"Pfirsich","darkolivegreen":"Dunkelolivgrün","yellowgreen":"Gelbgrün"};dojo.provide("dijit.nls.loading");dijit.nls.loading._built=true;dojo.provide("dijit.nls.loading.de_de");dijit.nls.loading.de_de={"loadingState":"Wird geladen...","errorState":"Es ist ein Fehler aufgetreten."};dojo.provide("dijit.nls.common");dijit.nls.common._built=true;dojo.provide("dijit.nls.common.de_de");dijit.nls.common.de_de={"buttonOk":"OK","buttonCancel":"Abbrechen","buttonSave":"Speichern","itemClose":"Schließen"};dojo.provide("dijit._editor.nls.commands");dijit._editor.nls.commands._built=true;dojo.provide("dijit._editor.nls.commands.de_de");dijit._editor.nls.commands.de_de={"removeFormat":"Formatierung entfernen","copy":"Kopieren","paste":"Einfügen","selectAll":"Alles auswählen","insertOrderedList":"Nummerierung","insertTable":"Tabelle einfügen/bearbeiten","print":"Drucken","underline":"Unterstrichen","foreColor":"Vordergrundfarbe","htmlToggle":"HTML-Quelltext","formatBlock":"Absatzstil","newPage":"Neue Seite","insertHorizontalRule":"Horizontaler Strich","delete":"Löschen","insertUnorderedList":"Aufzählungszeichen","tableProp":"Tabelleneigenschaft","insertImage":"Grafik einfügen","superscript":"Hochgestellt","subscript":"Tiefgestellt","createLink":"Link erstellen","undo":"Rückgängig","fullScreen":"Gesamtanzeige","italic":"Kursiv","fontName":"Schriftartname","justifyLeft":"Linksbündig","unlink":"Link entfernen","toggleTableBorder":"Tabellenumrandung ein-/ausschalten","viewSource":"HTML-Quelle","ctrlKey":"Strg+${0}","fontSize":"Schriftgröße","systemShortcut":"Die Aktion \"${0}\" ist nur über einen Direktaufruf in Ihrem Browser verfügbar. Verwenden Sie ${1}.","indent":"Einrücken","redo":"Wiederherstellen","strikethrough":"Durchgestrichen","justifyFull":"Blocksatz","justifyCenter":"Zentriert","hiliteColor":"Hintergrundfarbe","deleteTable":"Tabelle löschen","outdent":"Ausrücken","cut":"Ausschneiden","plainFormatBlock":"Absatzstil","toggleDir":"Wechselrichtung","bold":"Fett","tabIndent":"Tabulatoreinrückung","justifyRight":"Rechtsbündig","appleKey":"⌘${0}"};dojo.provide("dijit.form.nls.validate");dijit.form.nls.validate._built=true;dojo.provide("dijit.form.nls.validate.de_de");dijit.form.nls.validate.de_de={"rangeMessage":"Dieser Wert liegt außerhalb des gültigen Bereichs. ","invalidMessage":"Der eingegebene Wert ist ungültig. ","missingMessage":"Dieser Wert ist erforderlich."};dojo.provide("dijit.form.nls.ComboBox");dijit.form.nls.ComboBox._built=true;dojo.provide("dijit.form.nls.ComboBox.de_de");dijit.form.nls.ComboBox.de_de={"previousMessage":"Vorherige Auswahl","nextMessage":"Weitere Auswahlmöglichkeiten"};dojo.provide("dijit._editor.nls.FontChoice");dijit._editor.nls.FontChoice._built=true;dojo.provide("dijit._editor.nls.FontChoice.de_de");dijit._editor.nls.FontChoice.de_de={"noFormat":"Keine Angabe","1":"XXS","2":"XS","formatBlock":"Format","3":"S","4":"M","5":"L","6":"XL","7":"XXL","fantasy":"Fantasie","serif":"Serife","p":"Absatz","pre":"Vorformatiert","sans-serif":"Serifenlos","fontName":"Schriftart","h1":"Überschrift","h2":"Unterüberschrift","h3":"Unterunterüberschrift","monospace":"Monospaceschrift","fontSize":"Größe","cursive":"Kursiv"};dojo.provide("dijit._editor.nls.LinkDialog");dijit._editor.nls.LinkDialog._built=true;dojo.provide("dijit._editor.nls.LinkDialog.de_de");dijit._editor.nls.LinkDialog.de_de={"text":"Beschreibung:","insertImageTitle":"Grafikeigenschaften","set":"Festlegen","newWindow":"Neues Fenster","topWindow":"Aktives Fenster","target":"Ziel:","createLinkTitle":"Linkeigenschaften","parentWindow":"Übergeordnetes Fenster","currentWindow":"Aktuelles Fenster","url":"URL:"};dojo.provide("dojo.cldr.nls.number");dojo.cldr.nls.number._built=true;dojo.provide("dojo.cldr.nls.number.de_de");dojo.cldr.nls.number.de_de={"group":".","percentSign":"%","exponential":"E","percentFormat":"#,##0 %","scientificFormat":"#E0","list":";","infinity":"∞","patternDigit":"#","minusSign":"-","decimal":",","nan":"NaN","nativeZeroDigit":"0","perMille":"‰","decimalFormat":"#,##0.###","currencyFormat":"#,##0.00 ¤","plusSign":"+","currencySpacing-afterCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]","decimalFormat-short":"000T","currencySpacing-afterCurrency-insertBetween":" ","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]","currencySpacing-beforeCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-insertBetween":" "};dojo.provide("dojo.cldr.nls.currency");dojo.cldr.nls.currency._built=true;dojo.provide("dojo.cldr.nls.currency.de_de");dojo.cldr.nls.currency.de_de={"HKD_displayName":"Hongkong-Dollar","CHF_displayName":"Schweizer Franken","JPY_symbol":"¥","CAD_displayName":"Kanadischer Dollar","CNY_displayName":"Renminbi Yuan","USD_symbol":"$","AUD_displayName":"Australischer Dollar","JPY_displayName":"Yen","USD_displayName":"US-Dollar","GBP_displayName":"Pfund Sterling","EUR_displayName":"Euro","CAD_symbol":"CA$","GBP_symbol":"£","HKD_symbol":"HK$","AUD_symbol":"AU$","CNY_symbol":"CN¥","EUR_symbol":"€"};dojo.provide("dojo.cldr.nls.gregorian");dojo.cldr.nls.gregorian._built=true;dojo.provide("dojo.cldr.nls.gregorian.de_de");dojo.cldr.nls.gregorian.de_de={"months-format-narrow":["J","F","M","A","M","J","J","A","S","O","N","D"],"field-weekday":"Wochentag","dateFormatItem-yyQQQQ":"QQQQ yy","dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"EEE, d.M.y","dateFormatItem-MMMEd":"E, d. MMM","eraNarrow":["v. Chr.","n. Chr."],"dayPeriods-format-wide-earlyMorning":"morgens","dayPeriods-format-wide-morning":"vormittags","dateFormat-long":"d. MMMM y","months-format-wide":["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"dayPeriods-format-wide-evening":"abends","dayPeriods-format-wide-pm":"nachm.","dateFormat-full":"EEEE, d. MMMM y","dateFormatItem-Md":"d.M.","dateFormatItem-yyMMdd":"dd.MM.yy","dayPeriods-format-wide-noon":"Mittag","field-era":"Epoche","dateFormatItem-yM":"M.y","months-standAlone-wide":["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"timeFormat-short":"HH:mm","quarters-format-wide":["1. Quartal","2. Quartal","3. Quartal","4. Quartal"],"timeFormat-long":"HH:mm:ss z","field-year":"Jahr","dateFormatItem-yMMM":"MMM y","dateFormatItem-yQ":"Q y","dateFormatItem-yyyyMMMM":"MMMM y","field-hour":"Stunde","dateFormatItem-MMdd":"dd.MM.","months-format-abbr":["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],"dateFormatItem-yyQ":"Q yy","timeFormat-full":"HH:mm:ss zzzz","field-day-relative+0":"heute","field-day-relative+1":"morgen","field-day-relative+2":"übermorgen","dateFormatItem-H":"HH 'Uhr'","field-day-relative+3":"überübermorgen","months-standAlone-abbr":["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],"quarters-format-abbr":["Q1","Q2","Q3","Q4"],"quarters-standAlone-wide":["1. Quartal","2. Quartal","3. Quartal","4. Quartal"],"dateFormatItem-M":"L","days-standAlone-wide":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],"dateFormatItem-yyMMM":"MMM yy","timeFormat-medium":"HH:mm:ss","dateFormatItem-Hm":"HH:mm","eraAbbr":["v. Chr.","n. Chr."],"field-minute":"Minute","field-dayperiod":"Tageshälfte","days-standAlone-abbr":["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],"dayPeriods-format-wide-night":"nachts","dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","field-day-relative+-1":"gestern","field-day-relative+-2":"vorgestern","field-day-relative+-3":"vorvorgestern","dateFormatItem-MMMd":"d. MMM","dateFormatItem-MEd":"E, d.M.","field-day":"Tag","days-format-wide":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],"field-zone":"Zone","dateFormatItem-y":"y","months-standAlone-narrow":["J","F","M","A","M","J","J","A","S","O","N","D"],"dateFormatItem-yyMM":"MM.yy","days-format-abbr":["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],"eraNames":["v. Chr.","n. Chr."],"days-format-narrow":["S","M","D","M","D","F","S"],"field-month":"Monat","days-standAlone-narrow":["S","M","D","M","D","F","S"],"dateFormatItem-MMM":"LLL","dayPeriods-format-wide-am":"vorm.","dateFormatItem-MMMMdd":"dd. MMMM","dateFormat-short":"dd.MM.yy","dateFormatItem-MMd":"d.MM.","dayPeriods-format-wide-afternoon":"nachmittags","field-second":"Sekunde","dateFormatItem-yMMMEd":"EEE, d. MMM y","dateFormatItem-Ed":"E, d.","field-week":"Woche","dateFormat-medium":"dd.MM.yyyy","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-yyyy":"y","quarters-standAlone-narrow":["1","2","3","4"],"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateTimeFormat-medium":"{1} {0}","dateFormatItem-EEEd":"d EEE","dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dateTimeFormats-appendItem-Era":"{0} {1}","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","quarters-standAlone-abbr":["Q1","Q2","Q3","Q4"],"quarters-format-narrow":["1","2","3","4"],"dateFormatItem-h":"h a","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"AM","dateTimeFormat-full":"{1} {0}","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Year":"{0} {1}","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateTimeFormats-appendItem-Timezone":"{0} {1}","dayPeriods-format-narrow-pm":"PM","dateTimeFormat-short":"{1} {0}","dateFormatItem-hms":"h:mm:ss a"}; diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_de.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_de.js deleted file mode 100644 index b1babff3..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_de.js +++ /dev/null @@ -1 +0,0 @@ -dojo.provide("dijit.nls.dijit-all_de");dojo.provide("dojo.nls.colors");dojo.nls.colors._built=true;dojo.provide("dojo.nls.colors.de");dojo.nls.colors.de={"lightsteelblue":"Helles Stahlblau","orangered":"Orangerot","midnightblue":"Mitternachtblau","cadetblue":"Kadettenblau","seashell":"Muschelweiß","slategrey":"Schiefergrau","coral":"Koralle","darkturquoise":"Dunkeltürkis","antiquewhite":"Antikweiß","mediumspringgreen":"Mittelfrühlingsgrün","salmon":"Lachs","darkgrey":"Dunkelgrau","ivory":"Elfenbein","greenyellow":"Grüngelb","mistyrose":"Blassrose","lightsalmon":"Helllachs","silver":"Silbergrau","dimgrey":"Blassgrau","orange":"Orange","white":"Weiß","navajowhite":"Navajo-weiß","royalblue":"Königsblau","deeppink":"Tiefrosa","lime":"Limone","oldlace":"Alte Spitze","chartreuse":"Helles Gelbgrün","darkcyan":"Dunkelzyan","yellow":"Gelb","linen":"Leinen","olive":"Oliv","gold":"Gold","lawngreen":"Grasgrün","lightyellow":"Hellgelb","tan":"Hautfarben","darkviolet":"Dunkelviolett","lightslategrey":"Helles Schiefergrau","grey":"Grau","darkkhaki":"Dunkelkhaki","green":"Grün","deepskyblue":"Dunkles Himmelblau","aqua":"Wasserblau","sienna":"Sienna","mintcream":"Mintcreme","rosybrown":"Rosigbraun","mediumslateblue":"Mittelschieferblau ","magenta":"Magenta","lightseagreen":"Helles Meergrün","cyan":"Zyan","olivedrab":"Olivgrau","darkgoldenrod":"Dunkelgoldgelb","slateblue":"Schieferblau","mediumaquamarine":"Mittelaquamarin","lavender":"Lavendelblau","mediumseagreen":"Mittelmeeresgrün","maroon":"Kastanienbraun","darkslategray":"Dunkelschiefergrau","mediumturquoise":"Mitteltürkis ","ghostwhite":"Geisterweiß","darkblue":"Dunkelblau","mediumvioletred":"Mittelviolettrot ","brown":"Braun","lightgray":"Hellgrau","sandybrown":"Sandbraun","pink":"Rosa","firebrick":"Schamottestein","indigo":"Indigoblau","snow":"Schneeweiß","darkorchid":"Dunkelorchidee","turquoise":"Türkis","chocolate":"Schokoladenbraun","springgreen":"Frühlingsgrün","moccasin":"Mokassin","navy":"Marineblau","lemonchiffon":"Zitronenchiffon","teal":"Smaragdgrün","floralwhite":"Blütenweiß","cornflowerblue":"Kornblumenblau","paleturquoise":"Blasstürkis","purple":"Purpurrot","gainsboro":"Gainsboro","plum":"Pflaume","red":"Rot","blue":"Blau","forestgreen":"Forstgrün","darkgreen":"Dunkelgrün","honeydew":"Honigtau","darkseagreen":"Dunkles Meergrün","lightcoral":"Hellkoralle","palevioletred":"Blassviolettrot ","mediumpurple":"Mittelpurpur","saddlebrown":"Sattelbraun","darkmagenta":"Dunkelmagenta","thistle":"Distel","whitesmoke":"Rauchweiß","wheat":"Weizen","violet":"Violett","lightskyblue":"Helles Himmelblau","goldenrod":"Goldgelb","mediumblue":"Mittelblau","skyblue":"Himmelblau","crimson":"Karmesinrot","darksalmon":"Dunkellachs","darkred":"Dunkelrot","darkslategrey":"Dunkelschiefergrau","peru":"Peru","lightgrey":"Hellgrau","lightgoldenrodyellow":"Hellgoldgelb","blanchedalmond":"Mandelweiß","aliceblue":"Alice-blau","bisque":"Bisquit","slategray":"Schiefergrau","palegoldenrod":"Blassgoldgelb","darkorange":"Dunkelorange","aquamarine":"Aquamarin","lightgreen":"Hellgrün","burlywood":"Burlywood","dodgerblue":"Dodger-blau","darkgray":"Dunkelgrau","lightcyan":"Hellzyan","powderblue":"Pulverblau","blueviolet":"Blauviolett","orchid":"Orchidee","dimgray":"Blassgrau","beige":"Beige","fuchsia":"Fuchsia","lavenderblush":"Lavendelhauch","hotpink":"Knallrosa","steelblue":"Stahlblau","tomato":"Tomatenrot","lightpink":"Hellrosa","limegreen":"Limonengrün","indianred":"Indischrot","papayawhip":"Papayacreme","lightslategray":"Helles Schiefergrau","gray":"Grau","mediumorchid":"Mittelorchidee","cornsilk":"Kornseide","black":"Schwarz","seagreen":"Meeresgrün","darkslateblue":"Dunkelschieferblau","khaki":"Khaki","lightblue":"Hellblau","palegreen":"Blassgrün","azure":"Azur","peachpuff":"Pfirsich","darkolivegreen":"Dunkelolivgrün","yellowgreen":"Gelbgrün"};dojo.provide("dijit.nls.loading");dijit.nls.loading._built=true;dojo.provide("dijit.nls.loading.de");dijit.nls.loading.de={"loadingState":"Wird geladen...","errorState":"Es ist ein Fehler aufgetreten."};dojo.provide("dijit.nls.common");dijit.nls.common._built=true;dojo.provide("dijit.nls.common.de");dijit.nls.common.de={"buttonOk":"OK","buttonCancel":"Abbrechen","buttonSave":"Speichern","itemClose":"Schließen"};dojo.provide("dijit._editor.nls.commands");dijit._editor.nls.commands._built=true;dojo.provide("dijit._editor.nls.commands.de");dijit._editor.nls.commands.de={"removeFormat":"Formatierung entfernen","copy":"Kopieren","paste":"Einfügen","selectAll":"Alles auswählen","insertOrderedList":"Nummerierung","insertTable":"Tabelle einfügen/bearbeiten","print":"Drucken","underline":"Unterstrichen","foreColor":"Vordergrundfarbe","htmlToggle":"HTML-Quelltext","formatBlock":"Absatzstil","newPage":"Neue Seite","insertHorizontalRule":"Horizontaler Strich","delete":"Löschen","insertUnorderedList":"Aufzählungszeichen","tableProp":"Tabelleneigenschaft","insertImage":"Grafik einfügen","superscript":"Hochgestellt","subscript":"Tiefgestellt","createLink":"Link erstellen","undo":"Rückgängig","fullScreen":"Gesamtanzeige","italic":"Kursiv","fontName":"Schriftartname","justifyLeft":"Linksbündig","unlink":"Link entfernen","toggleTableBorder":"Tabellenumrandung ein-/ausschalten","viewSource":"HTML-Quelle","ctrlKey":"Strg+${0}","fontSize":"Schriftgröße","systemShortcut":"Die Aktion \"${0}\" ist nur über einen Direktaufruf in Ihrem Browser verfügbar. Verwenden Sie ${1}.","indent":"Einrücken","redo":"Wiederherstellen","strikethrough":"Durchgestrichen","justifyFull":"Blocksatz","justifyCenter":"Zentriert","hiliteColor":"Hintergrundfarbe","deleteTable":"Tabelle löschen","outdent":"Ausrücken","cut":"Ausschneiden","plainFormatBlock":"Absatzstil","toggleDir":"Wechselrichtung","bold":"Fett","tabIndent":"Tabulatoreinrückung","justifyRight":"Rechtsbündig","appleKey":"⌘${0}"};dojo.provide("dijit.form.nls.validate");dijit.form.nls.validate._built=true;dojo.provide("dijit.form.nls.validate.de");dijit.form.nls.validate.de={"rangeMessage":"Dieser Wert liegt außerhalb des gültigen Bereichs. ","invalidMessage":"Der eingegebene Wert ist ungültig. ","missingMessage":"Dieser Wert ist erforderlich."};dojo.provide("dijit.form.nls.ComboBox");dijit.form.nls.ComboBox._built=true;dojo.provide("dijit.form.nls.ComboBox.de");dijit.form.nls.ComboBox.de={"previousMessage":"Vorherige Auswahl","nextMessage":"Weitere Auswahlmöglichkeiten"};dojo.provide("dijit._editor.nls.FontChoice");dijit._editor.nls.FontChoice._built=true;dojo.provide("dijit._editor.nls.FontChoice.de");dijit._editor.nls.FontChoice.de={"noFormat":"Keine Angabe","1":"XXS","2":"XS","formatBlock":"Format","3":"S","4":"M","5":"L","6":"XL","7":"XXL","fantasy":"Fantasie","serif":"Serife","p":"Absatz","pre":"Vorformatiert","sans-serif":"Serifenlos","fontName":"Schriftart","h1":"Überschrift","h2":"Unterüberschrift","h3":"Unterunterüberschrift","monospace":"Monospaceschrift","fontSize":"Größe","cursive":"Kursiv"};dojo.provide("dijit._editor.nls.LinkDialog");dijit._editor.nls.LinkDialog._built=true;dojo.provide("dijit._editor.nls.LinkDialog.de");dijit._editor.nls.LinkDialog.de={"text":"Beschreibung:","insertImageTitle":"Grafikeigenschaften","set":"Festlegen","newWindow":"Neues Fenster","topWindow":"Aktives Fenster","target":"Ziel:","createLinkTitle":"Linkeigenschaften","parentWindow":"Übergeordnetes Fenster","currentWindow":"Aktuelles Fenster","url":"URL:"};dojo.provide("dojo.cldr.nls.number");dojo.cldr.nls.number._built=true;dojo.provide("dojo.cldr.nls.number.de");dojo.cldr.nls.number.de={"group":".","percentSign":"%","exponential":"E","percentFormat":"#,##0 %","scientificFormat":"#E0","list":";","infinity":"∞","patternDigit":"#","minusSign":"-","decimal":",","nan":"NaN","nativeZeroDigit":"0","perMille":"‰","decimalFormat":"#,##0.###","currencyFormat":"#,##0.00 ¤","plusSign":"+","currencySpacing-afterCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]","decimalFormat-short":"000T","currencySpacing-afterCurrency-insertBetween":" ","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]","currencySpacing-beforeCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-insertBetween":" "};dojo.provide("dojo.cldr.nls.currency");dojo.cldr.nls.currency._built=true;dojo.provide("dojo.cldr.nls.currency.de");dojo.cldr.nls.currency.de={"HKD_displayName":"Hongkong-Dollar","CHF_displayName":"Schweizer Franken","JPY_symbol":"¥","CAD_displayName":"Kanadischer Dollar","CNY_displayName":"Renminbi Yuan","USD_symbol":"$","AUD_displayName":"Australischer Dollar","JPY_displayName":"Yen","USD_displayName":"US-Dollar","GBP_displayName":"Pfund Sterling","EUR_displayName":"Euro","CAD_symbol":"CA$","GBP_symbol":"£","HKD_symbol":"HK$","AUD_symbol":"AU$","CNY_symbol":"CN¥","EUR_symbol":"€"};dojo.provide("dojo.cldr.nls.gregorian");dojo.cldr.nls.gregorian._built=true;dojo.provide("dojo.cldr.nls.gregorian.de");dojo.cldr.nls.gregorian.de={"months-format-narrow":["J","F","M","A","M","J","J","A","S","O","N","D"],"field-weekday":"Wochentag","dateFormatItem-yyQQQQ":"QQQQ yy","dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"EEE, d.M.y","dateFormatItem-MMMEd":"E, d. MMM","eraNarrow":["v. Chr.","n. Chr."],"dayPeriods-format-wide-earlyMorning":"morgens","dayPeriods-format-wide-morning":"vormittags","dateFormat-long":"d. MMMM y","months-format-wide":["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"dayPeriods-format-wide-evening":"abends","dayPeriods-format-wide-pm":"nachm.","dateFormat-full":"EEEE, d. MMMM y","dateFormatItem-Md":"d.M.","dateFormatItem-yyMMdd":"dd.MM.yy","dayPeriods-format-wide-noon":"Mittag","field-era":"Epoche","dateFormatItem-yM":"M.y","months-standAlone-wide":["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"timeFormat-short":"HH:mm","quarters-format-wide":["1. Quartal","2. Quartal","3. Quartal","4. Quartal"],"timeFormat-long":"HH:mm:ss z","field-year":"Jahr","dateFormatItem-yMMM":"MMM y","dateFormatItem-yQ":"Q y","dateFormatItem-yyyyMMMM":"MMMM y","field-hour":"Stunde","dateFormatItem-MMdd":"dd.MM.","months-format-abbr":["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],"dateFormatItem-yyQ":"Q yy","timeFormat-full":"HH:mm:ss zzzz","field-day-relative+0":"heute","field-day-relative+1":"morgen","field-day-relative+2":"übermorgen","dateFormatItem-H":"HH 'Uhr'","field-day-relative+3":"überübermorgen","months-standAlone-abbr":["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],"quarters-format-abbr":["Q1","Q2","Q3","Q4"],"quarters-standAlone-wide":["1. Quartal","2. Quartal","3. Quartal","4. Quartal"],"dateFormatItem-M":"L","days-standAlone-wide":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],"dateFormatItem-yyMMM":"MMM yy","timeFormat-medium":"HH:mm:ss","dateFormatItem-Hm":"HH:mm","eraAbbr":["v. Chr.","n. Chr."],"field-minute":"Minute","field-dayperiod":"Tageshälfte","days-standAlone-abbr":["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],"dayPeriods-format-wide-night":"nachts","dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","field-day-relative+-1":"gestern","field-day-relative+-2":"vorgestern","field-day-relative+-3":"vorvorgestern","dateFormatItem-MMMd":"d. MMM","dateFormatItem-MEd":"E, d.M.","field-day":"Tag","days-format-wide":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],"field-zone":"Zone","dateFormatItem-y":"y","months-standAlone-narrow":["J","F","M","A","M","J","J","A","S","O","N","D"],"dateFormatItem-yyMM":"MM.yy","days-format-abbr":["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],"eraNames":["v. Chr.","n. Chr."],"days-format-narrow":["S","M","D","M","D","F","S"],"field-month":"Monat","days-standAlone-narrow":["S","M","D","M","D","F","S"],"dateFormatItem-MMM":"LLL","dayPeriods-format-wide-am":"vorm.","dateFormatItem-MMMMdd":"dd. MMMM","dateFormat-short":"dd.MM.yy","dateFormatItem-MMd":"d.MM.","dayPeriods-format-wide-afternoon":"nachmittags","field-second":"Sekunde","dateFormatItem-yMMMEd":"EEE, d. MMM y","dateFormatItem-Ed":"E, d.","field-week":"Woche","dateFormat-medium":"dd.MM.yyyy","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-yyyy":"y","quarters-standAlone-narrow":["1","2","3","4"],"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateTimeFormat-medium":"{1} {0}","dateFormatItem-EEEd":"d EEE","dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dateTimeFormats-appendItem-Era":"{0} {1}","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","quarters-standAlone-abbr":["Q1","Q2","Q3","Q4"],"quarters-format-narrow":["1","2","3","4"],"dateFormatItem-h":"h a","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"AM","dateTimeFormat-full":"{1} {0}","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Year":"{0} {1}","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateTimeFormats-appendItem-Timezone":"{0} {1}","dayPeriods-format-narrow-pm":"PM","dateTimeFormat-short":"{1} {0}","dateFormatItem-hms":"h:mm:ss a"}; diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_en-gb.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_en-gb.js deleted file mode 100644 index 893cca36..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_en-gb.js +++ /dev/null @@ -1 +0,0 @@ -dojo.provide("dijit.nls.dijit-all_en-gb");dojo.provide("dojo.nls.colors");dojo.nls.colors._built=true;dojo.provide("dojo.nls.colors.en_gb");dojo.nls.colors.en_gb={"lightsteelblue":"light steel blue","orangered":"orange red","midnightblue":"midnight blue","cadetblue":"cadet blue","seashell":"seashell","slategrey":"slate gray","coral":"coral","darkturquoise":"dark turquoise","antiquewhite":"antique white","mediumspringgreen":"medium spring green","salmon":"salmon","darkgrey":"dark gray","ivory":"ivory","greenyellow":"green-yellow","mistyrose":"misty rose","lightsalmon":"light salmon","silver":"silver","dimgrey":"dim gray","orange":"orange","white":"white","navajowhite":"navajo white","royalblue":"royal blue","deeppink":"deep pink","lime":"lime","oldlace":"old lace","chartreuse":"chartreuse","darkcyan":"dark cyan","yellow":"yellow","linen":"linen","olive":"olive","gold":"gold","lawngreen":"lawn green","lightyellow":"light yellow","tan":"tan","darkviolet":"dark violet","lightslategrey":"light slate gray","grey":"gray","darkkhaki":"dark khaki","green":"green","deepskyblue":"deep sky blue","aqua":"aqua","sienna":"sienna","mintcream":"mint cream","rosybrown":"rosy brown","mediumslateblue":"medium slate blue","magenta":"magenta","lightseagreen":"light sea green","cyan":"cyan","olivedrab":"olive drab","darkgoldenrod":"dark goldenrod","slateblue":"slate blue","mediumaquamarine":"medium aquamarine","lavender":"lavender","mediumseagreen":"medium sea green","maroon":"maroon","darkslategray":"dark slate gray","mediumturquoise":"medium turquoise","ghostwhite":"ghost white","darkblue":"dark blue","mediumvioletred":"medium violet-red","brown":"brown","lightgray":"light gray","sandybrown":"sandy brown","pink":"pink","firebrick":"fire brick","indigo":"indigo","snow":"snow","darkorchid":"dark orchid","turquoise":"turquoise","chocolate":"chocolate","springgreen":"spring green","moccasin":"moccasin","navy":"navy","lemonchiffon":"lemon chiffon","teal":"teal","floralwhite":"floral white","cornflowerblue":"cornflower blue","paleturquoise":"pale turquoise","purple":"purple","gainsboro":"gainsboro","plum":"plum","red":"red","blue":"blue","forestgreen":"forest green","darkgreen":"dark green","honeydew":"honeydew","darkseagreen":"dark sea green","lightcoral":"light coral","palevioletred":"pale violet-red","mediumpurple":"medium purple","saddlebrown":"saddle brown","darkmagenta":"dark magenta","thistle":"thistle","whitesmoke":"white smoke","wheat":"wheat","violet":"violet","lightskyblue":"light sky blue","goldenrod":"goldenrod","mediumblue":"medium blue","skyblue":"sky blue","crimson":"crimson","darksalmon":"dark salmon","darkred":"dark red","darkslategrey":"dark slate gray","peru":"peru","lightgrey":"light gray","lightgoldenrodyellow":"light goldenrod yellow","blanchedalmond":"blanched almond","aliceblue":"alice blue","bisque":"bisque","slategray":"slate gray","palegoldenrod":"pale goldenrod","darkorange":"dark orange","aquamarine":"aquamarine","lightgreen":"light green","burlywood":"burlywood","dodgerblue":"dodger blue","darkgray":"dark gray","lightcyan":"light cyan","powderblue":"powder blue","blueviolet":"blue-violet","orchid":"orchid","dimgray":"dim gray","beige":"beige","fuchsia":"fuchsia","lavenderblush":"lavender blush","hotpink":"hot pink","steelblue":"steel blue","tomato":"tomato","lightpink":"light pink","limegreen":"lime green","indianred":"indian red","papayawhip":"papaya whip","lightslategray":"light slate gray","gray":"gray","mediumorchid":"medium orchid","cornsilk":"cornsilk","black":"black","seagreen":"sea green","darkslateblue":"dark slate blue","khaki":"khaki","lightblue":"light blue","palegreen":"pale green","azure":"azure","peachpuff":"peach puff","darkolivegreen":"dark olive green","yellowgreen":"yellow green"};dojo.provide("dijit.nls.loading");dijit.nls.loading._built=true;dojo.provide("dijit.nls.loading.en_gb");dijit.nls.loading.en_gb={"loadingState":"Loading...","errorState":"Sorry, an error occurred"};dojo.provide("dijit.nls.common");dijit.nls.common._built=true;dojo.provide("dijit.nls.common.en_gb");dijit.nls.common.en_gb={"buttonOk":"OK","buttonCancel":"Cancel","buttonSave":"Save","itemClose":"Close"};dojo.provide("dijit._editor.nls.commands");dijit._editor.nls.commands._built=true;dojo.provide("dijit._editor.nls.commands.en_gb");dijit._editor.nls.commands.en_gb={"removeFormat":"Remove Format","copy":"Copy","paste":"Paste","selectAll":"Select All","insertOrderedList":"Numbered List","insertTable":"Insert/Edit Table","print":"Print","underline":"Underline","foreColor":"Foreground Color","htmlToggle":"HTML Source","formatBlock":"Paragraph Style","newPage":"New Page","insertHorizontalRule":"Horizontal Rule","delete":"Delete","appleKey":"⌘${0}","insertUnorderedList":"Bullet List","tableProp":"Table Property","insertImage":"Insert Image","superscript":"Superscript","subscript":"Subscript","createLink":"Create Link","undo":"Undo","fullScreen":"Toggle Full Screen","italic":"Italic","fontName":"Font Name","justifyLeft":"Align Left","unlink":"Remove Link","toggleTableBorder":"Toggle Table Border","viewSource":"View HTML Source","ctrlKey":"ctrl+${0}","fontSize":"Font Size","systemShortcut":"The \"${0}\" action is only available in your browser using a keyboard shortcut. Use ${1}.","indent":"Indent","redo":"Redo","strikethrough":"Strikethrough","justifyFull":"Justify","justifyCenter":"Align Center","hiliteColor":"Background Color","deleteTable":"Delete Table","outdent":"Outdent","cut":"Cut","plainFormatBlock":"Paragraph Style","toggleDir":"Toggle Direction","bold":"Bold","tabIndent":"Tab Indent","justifyRight":"Align Right"};dojo.provide("dijit.form.nls.validate");dijit.form.nls.validate._built=true;dojo.provide("dijit.form.nls.validate.en_gb");dijit.form.nls.validate.en_gb={"rangeMessage":"This value is out of range.","invalidMessage":"The value entered is not valid.","missingMessage":"This value is required."};dojo.provide("dijit.form.nls.ComboBox");dijit.form.nls.ComboBox._built=true;dojo.provide("dijit.form.nls.ComboBox.en_gb");dijit.form.nls.ComboBox.en_gb={"previousMessage":"Previous choices","nextMessage":"More choices"};dojo.provide("dijit._editor.nls.FontChoice");dijit._editor.nls.FontChoice._built=true;dojo.provide("dijit._editor.nls.FontChoice.en_gb");dijit._editor.nls.FontChoice.en_gb={"noFormat":"None","1":"xx-small","2":"x-small","formatBlock":"Format","3":"small","4":"medium","5":"large","6":"x-large","7":"xx-large","fantasy":"fantasy","serif":"serif","p":"Paragraph","pre":"Pre-formatted","sans-serif":"sans-serif","fontName":"Font","h1":"Heading","h2":"Subheading","h3":"Sub-subheading","monospace":"monospace","fontSize":"Size","cursive":"cursive"};dojo.provide("dijit._editor.nls.LinkDialog");dijit._editor.nls.LinkDialog._built=true;dojo.provide("dijit._editor.nls.LinkDialog.en_gb");dijit._editor.nls.LinkDialog.en_gb={"text":"Description:","insertImageTitle":"Image Properties","set":"Set","newWindow":"New Window","topWindow":"Topmost Window","target":"Target:","createLinkTitle":"Link Properties","parentWindow":"Parent Window","currentWindow":"Current Window","url":"URL:"};dojo.provide("dojo.cldr.nls.number");dojo.cldr.nls.number._built=true;dojo.provide("dojo.cldr.nls.number.en_gb");dojo.cldr.nls.number.en_gb={"currencyFormat":"¤#,##0.00","group":",","percentSign":"%","exponential":"E","percentFormat":"#,##0%","scientificFormat":"#E0","list":";","infinity":"∞","patternDigit":"#","minusSign":"-","decimal":".","nan":"NaN","nativeZeroDigit":"0","perMille":"‰","decimalFormat":"#,##0.###","plusSign":"+","decimalFormat-short":"000T","currencySpacing-afterCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]","currencySpacing-afterCurrency-insertBetween":" ","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]","currencySpacing-beforeCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-insertBetween":" "};dojo.provide("dojo.cldr.nls.currency");dojo.cldr.nls.currency._built=true;dojo.provide("dojo.cldr.nls.currency.en_gb");dojo.cldr.nls.currency.en_gb={"HKD_displayName":"Hong Kong Dollar","CHF_displayName":"Swiss Franc","JPY_symbol":"¥","CAD_displayName":"Canadian Dollar","CNY_displayName":"Chinese Yuan","USD_symbol":"$","AUD_displayName":"Australian Dollar","JPY_displayName":"Japanese Yen","USD_displayName":"US Dollar","GBP_displayName":"British Pound Sterling","EUR_displayName":"Euro","CAD_symbol":"CA$","GBP_symbol":"£","HKD_symbol":"HK$","AUD_symbol":"AU$","CNY_symbol":"CN¥","EUR_symbol":"€"};dojo.provide("dojo.cldr.nls.gregorian");dojo.cldr.nls.gregorian._built=true;dojo.provide("dojo.cldr.nls.gregorian.en_gb");dojo.cldr.nls.gregorian.en_gb={"dateFormatItem-yyMMM":"MMM yy","dateFormatItem-Md":"d/M","dateFormatItem-yMEd":"EEE, d/M/yyyy","dateFormatItem-yyyyMMMM":"MMMM y","timeFormat-full":"HH:mm:ss zzzz","timeFormat-medium":"HH:mm:ss","dateFormatItem-MEd":"E, d/M","dateFormat-medium":"d MMM y","dateFormatItem-MMdd":"dd/MM","dateFormatItem-yyyyMM":"MM/yyyy","dateFormat-full":"EEEE, d MMMM y","timeFormat-long":"HH:mm:ss z","timeFormat-short":"HH:mm","dateFormat-short":"dd/MM/yyyy","dateFormatItem-MMMMd":"d MMMM","dateFormat-long":"d MMMM y","dateFormatItem-MMMEd":"E d MMM","dateFormatItem-yM":"M/y","field-dayperiod":"AM/PM","dateFormatItem-yQ":"Q y","dayPeriods-format-wide-pm":"PM","field-minute":"Minute","eraNames":["Before Christ","Anno Domini"],"dateTimeFormat-full":"{1} {0}","field-day-relative+-1":"Yesterday","field-weekday":"Day of the Week","dateFormatItem-hms":"h:mm:ss a","dateFormatItem-yQQQ":"QQQ y","days-standAlone-wide":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"dateFormatItem-MMM":"LLL","months-standAlone-narrow":["J","F","M","A","M","J","J","A","S","O","N","D"],"dateTimeFormat-short":"{1} {0}","field-era":"Era","field-hour":"Hour","dayPeriods-format-wide-am":"AM","dateTimeFormat-medium":"{1} {0}","dateFormatItem-y":"y","months-standAlone-abbr":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"dateFormatItem-yMMM":"MMM y","field-day-relative+0":"Today","field-day-relative+1":"Tomorrow","days-standAlone-narrow":["S","M","T","W","T","F","S"],"eraAbbr":["BC","AD"],"dateFormatItem-EEEd":"d EEE","field-zone":"Zone","dateFormatItem-Hm":"HH:mm","dateFormatItem-Hms":"HH:mm:ss","quarters-standAlone-wide":["1st quarter","2nd quarter","3rd quarter","4th quarter"],"dateFormatItem-ms":"mm:ss","field-year":"Year","quarters-standAlone-narrow":["1","2","3","4"],"dateTimeFormat-long":"{1} {0}","field-week":"Week","months-standAlone-wide":["January","February","March","April","May","June","July","August","September","October","November","December"],"dateFormatItem-MMMd":"MMM d","months-format-abbr":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"dayPeriods-format-wide-noon":"noon","field-month":"Month","quarters-format-abbr":["Q1","Q2","Q3","Q4"],"days-format-abbr":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dateFormatItem-M":"L","days-format-narrow":["S","M","T","W","T","F","S"],"field-second":"Second","field-day":"Day","months-format-narrow":["J","F","M","A","M","J","J","A","S","O","N","D"],"dateFormatItem-hm":"h:mm a","days-standAlone-abbr":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dateFormatItem-yMMMEd":"EEE, MMM d, y","months-format-wide":["January","February","March","April","May","June","July","August","September","October","November","December"],"dateFormatItem-d":"d","quarters-format-wide":["1st quarter","2nd quarter","3rd quarter","4th quarter"],"days-format-wide":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"eraNarrow":["B","A"],"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dateTimeFormats-appendItem-Era":"{0} {1}","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","dateFormatItem-H":"HH","quarters-standAlone-abbr":["Q1","Q2","Q3","Q4"],"quarters-format-narrow":["1","2","3","4"],"dateFormatItem-h":"h a","dayPeriods-format-narrow-am":"AM","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dateTimeFormats-appendItem-Year":"{0} {1}","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateTimeFormats-appendItem-Timezone":"{0} {1}","dayPeriods-format-narrow-pm":"PM"}; diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_en-us.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_en-us.js deleted file mode 100644 index c1ce82a6..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_en-us.js +++ /dev/null @@ -1 +0,0 @@ -dojo.provide("dijit.nls.dijit-all_en-us");dojo.provide("dojo.nls.colors");dojo.nls.colors._built=true;dojo.provide("dojo.nls.colors.en_us");dojo.nls.colors.en_us={"lightsteelblue":"light steel blue","orangered":"orange red","midnightblue":"midnight blue","cadetblue":"cadet blue","seashell":"seashell","slategrey":"slate gray","coral":"coral","darkturquoise":"dark turquoise","antiquewhite":"antique white","mediumspringgreen":"medium spring green","salmon":"salmon","darkgrey":"dark gray","ivory":"ivory","greenyellow":"green-yellow","mistyrose":"misty rose","lightsalmon":"light salmon","silver":"silver","dimgrey":"dim gray","orange":"orange","white":"white","navajowhite":"navajo white","royalblue":"royal blue","deeppink":"deep pink","lime":"lime","oldlace":"old lace","chartreuse":"chartreuse","darkcyan":"dark cyan","yellow":"yellow","linen":"linen","olive":"olive","gold":"gold","lawngreen":"lawn green","lightyellow":"light yellow","tan":"tan","darkviolet":"dark violet","lightslategrey":"light slate gray","grey":"gray","darkkhaki":"dark khaki","green":"green","deepskyblue":"deep sky blue","aqua":"aqua","sienna":"sienna","mintcream":"mint cream","rosybrown":"rosy brown","mediumslateblue":"medium slate blue","magenta":"magenta","lightseagreen":"light sea green","cyan":"cyan","olivedrab":"olive drab","darkgoldenrod":"dark goldenrod","slateblue":"slate blue","mediumaquamarine":"medium aquamarine","lavender":"lavender","mediumseagreen":"medium sea green","maroon":"maroon","darkslategray":"dark slate gray","mediumturquoise":"medium turquoise","ghostwhite":"ghost white","darkblue":"dark blue","mediumvioletred":"medium violet-red","brown":"brown","lightgray":"light gray","sandybrown":"sandy brown","pink":"pink","firebrick":"fire brick","indigo":"indigo","snow":"snow","darkorchid":"dark orchid","turquoise":"turquoise","chocolate":"chocolate","springgreen":"spring green","moccasin":"moccasin","navy":"navy","lemonchiffon":"lemon chiffon","teal":"teal","floralwhite":"floral white","cornflowerblue":"cornflower blue","paleturquoise":"pale turquoise","purple":"purple","gainsboro":"gainsboro","plum":"plum","red":"red","blue":"blue","forestgreen":"forest green","darkgreen":"dark green","honeydew":"honeydew","darkseagreen":"dark sea green","lightcoral":"light coral","palevioletred":"pale violet-red","mediumpurple":"medium purple","saddlebrown":"saddle brown","darkmagenta":"dark magenta","thistle":"thistle","whitesmoke":"white smoke","wheat":"wheat","violet":"violet","lightskyblue":"light sky blue","goldenrod":"goldenrod","mediumblue":"medium blue","skyblue":"sky blue","crimson":"crimson","darksalmon":"dark salmon","darkred":"dark red","darkslategrey":"dark slate gray","peru":"peru","lightgrey":"light gray","lightgoldenrodyellow":"light goldenrod yellow","blanchedalmond":"blanched almond","aliceblue":"alice blue","bisque":"bisque","slategray":"slate gray","palegoldenrod":"pale goldenrod","darkorange":"dark orange","aquamarine":"aquamarine","lightgreen":"light green","burlywood":"burlywood","dodgerblue":"dodger blue","darkgray":"dark gray","lightcyan":"light cyan","powderblue":"powder blue","blueviolet":"blue-violet","orchid":"orchid","dimgray":"dim gray","beige":"beige","fuchsia":"fuchsia","lavenderblush":"lavender blush","hotpink":"hot pink","steelblue":"steel blue","tomato":"tomato","lightpink":"light pink","limegreen":"lime green","indianred":"indian red","papayawhip":"papaya whip","lightslategray":"light slate gray","gray":"gray","mediumorchid":"medium orchid","cornsilk":"cornsilk","black":"black","seagreen":"sea green","darkslateblue":"dark slate blue","khaki":"khaki","lightblue":"light blue","palegreen":"pale green","azure":"azure","peachpuff":"peach puff","darkolivegreen":"dark olive green","yellowgreen":"yellow green"};dojo.provide("dijit.nls.loading");dijit.nls.loading._built=true;dojo.provide("dijit.nls.loading.en_us");dijit.nls.loading.en_us={"loadingState":"Loading...","errorState":"Sorry, an error occurred"};dojo.provide("dijit.nls.common");dijit.nls.common._built=true;dojo.provide("dijit.nls.common.en_us");dijit.nls.common.en_us={"buttonOk":"OK","buttonCancel":"Cancel","buttonSave":"Save","itemClose":"Close"};dojo.provide("dijit._editor.nls.commands");dijit._editor.nls.commands._built=true;dojo.provide("dijit._editor.nls.commands.en_us");dijit._editor.nls.commands.en_us={"removeFormat":"Remove Format","copy":"Copy","paste":"Paste","selectAll":"Select All","insertOrderedList":"Numbered List","insertTable":"Insert/Edit Table","print":"Print","underline":"Underline","foreColor":"Foreground Color","htmlToggle":"HTML Source","formatBlock":"Paragraph Style","newPage":"New Page","insertHorizontalRule":"Horizontal Rule","delete":"Delete","appleKey":"⌘${0}","insertUnorderedList":"Bullet List","tableProp":"Table Property","insertImage":"Insert Image","superscript":"Superscript","subscript":"Subscript","createLink":"Create Link","undo":"Undo","fullScreen":"Toggle Full Screen","italic":"Italic","fontName":"Font Name","justifyLeft":"Align Left","unlink":"Remove Link","toggleTableBorder":"Toggle Table Border","viewSource":"View HTML Source","ctrlKey":"ctrl+${0}","fontSize":"Font Size","systemShortcut":"The \"${0}\" action is only available in your browser using a keyboard shortcut. Use ${1}.","indent":"Indent","redo":"Redo","strikethrough":"Strikethrough","justifyFull":"Justify","justifyCenter":"Align Center","hiliteColor":"Background Color","deleteTable":"Delete Table","outdent":"Outdent","cut":"Cut","plainFormatBlock":"Paragraph Style","toggleDir":"Toggle Direction","bold":"Bold","tabIndent":"Tab Indent","justifyRight":"Align Right"};dojo.provide("dijit.form.nls.validate");dijit.form.nls.validate._built=true;dojo.provide("dijit.form.nls.validate.en_us");dijit.form.nls.validate.en_us={"rangeMessage":"This value is out of range.","invalidMessage":"The value entered is not valid.","missingMessage":"This value is required."};dojo.provide("dijit.form.nls.ComboBox");dijit.form.nls.ComboBox._built=true;dojo.provide("dijit.form.nls.ComboBox.en_us");dijit.form.nls.ComboBox.en_us={"previousMessage":"Previous choices","nextMessage":"More choices"};dojo.provide("dijit._editor.nls.FontChoice");dijit._editor.nls.FontChoice._built=true;dojo.provide("dijit._editor.nls.FontChoice.en_us");dijit._editor.nls.FontChoice.en_us={"noFormat":"None","1":"xx-small","2":"x-small","formatBlock":"Format","3":"small","4":"medium","5":"large","6":"x-large","7":"xx-large","fantasy":"fantasy","serif":"serif","p":"Paragraph","pre":"Pre-formatted","sans-serif":"sans-serif","fontName":"Font","h1":"Heading","h2":"Subheading","h3":"Sub-subheading","monospace":"monospace","fontSize":"Size","cursive":"cursive"};dojo.provide("dijit._editor.nls.LinkDialog");dijit._editor.nls.LinkDialog._built=true;dojo.provide("dijit._editor.nls.LinkDialog.en_us");dijit._editor.nls.LinkDialog.en_us={"text":"Description:","insertImageTitle":"Image Properties","set":"Set","newWindow":"New Window","topWindow":"Topmost Window","target":"Target:","createLinkTitle":"Link Properties","parentWindow":"Parent Window","currentWindow":"Current Window","url":"URL:"};dojo.provide("dojo.cldr.nls.number");dojo.cldr.nls.number._built=true;dojo.provide("dojo.cldr.nls.number.en_us");dojo.cldr.nls.number.en_us={"group":",","percentSign":"%","exponential":"E","percentFormat":"#,##0%","scientificFormat":"#E0","list":";","infinity":"∞","patternDigit":"#","minusSign":"-","decimal":".","nan":"NaN","nativeZeroDigit":"0","perMille":"‰","decimalFormat":"#,##0.###","currencyFormat":"¤#,##0.00;(¤#,##0.00)","plusSign":"+","decimalFormat-short":"000T","currencySpacing-afterCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]","currencySpacing-afterCurrency-insertBetween":" ","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]","currencySpacing-beforeCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-insertBetween":" "};dojo.provide("dojo.cldr.nls.currency");dojo.cldr.nls.currency._built=true;dojo.provide("dojo.cldr.nls.currency.en_us");dojo.cldr.nls.currency.en_us={"HKD_displayName":"Hong Kong Dollar","CHF_displayName":"Swiss Franc","JPY_symbol":"¥","CAD_displayName":"Canadian Dollar","CNY_displayName":"Chinese Yuan","USD_symbol":"$","AUD_displayName":"Australian Dollar","JPY_displayName":"Japanese Yen","USD_displayName":"US Dollar","GBP_displayName":"British Pound Sterling","EUR_displayName":"Euro","CAD_symbol":"CA$","GBP_symbol":"£","HKD_symbol":"HK$","AUD_symbol":"AU$","CNY_symbol":"CN¥","EUR_symbol":"€"};dojo.provide("dojo.cldr.nls.gregorian");dojo.cldr.nls.gregorian._built=true;dojo.provide("dojo.cldr.nls.gregorian.en_us");dojo.cldr.nls.gregorian.en_us={"dateFormatItem-yM":"M/y","field-dayperiod":"AM/PM","dateFormatItem-yQ":"Q y","dayPeriods-format-wide-pm":"PM","field-minute":"Minute","eraNames":["Before Christ","Anno Domini"],"dateFormatItem-MMMEd":"E, MMM d","dateTimeFormat-full":"{1} {0}","field-day-relative+-1":"Yesterday","field-weekday":"Day of the Week","dateFormatItem-hms":"h:mm:ss a","dateFormatItem-yQQQ":"QQQ y","days-standAlone-wide":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"dateFormatItem-MMM":"LLL","months-standAlone-narrow":["J","F","M","A","M","J","J","A","S","O","N","D"],"dateTimeFormat-short":"{1} {0}","field-era":"Era","field-hour":"Hour","dayPeriods-format-wide-am":"AM","dateTimeFormat-medium":"{1} {0}","dateFormatItem-y":"y","timeFormat-full":"h:mm:ss a zzzz","months-standAlone-abbr":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"dateFormatItem-yMMM":"MMM y","field-day-relative+0":"Today","field-day-relative+1":"Tomorrow","days-standAlone-narrow":["S","M","T","W","T","F","S"],"eraAbbr":["BC","AD"],"dateFormat-long":"MMMM d, y","timeFormat-medium":"h:mm:ss a","dateFormatItem-EEEd":"d EEE","field-zone":"Zone","dateFormatItem-Hm":"HH:mm","dateFormat-medium":"MMM d, y","dateFormatItem-Hms":"HH:mm:ss","quarters-standAlone-wide":["1st quarter","2nd quarter","3rd quarter","4th quarter"],"dateFormatItem-ms":"mm:ss","field-year":"Year","quarters-standAlone-narrow":["1","2","3","4"],"dateTimeFormat-long":"{1} {0}","field-week":"Week","months-standAlone-wide":["January","February","March","April","May","June","July","August","September","October","November","December"],"dateFormatItem-MMMd":"MMM d","timeFormat-long":"h:mm:ss a z","months-format-abbr":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"dayPeriods-format-wide-noon":"noon","timeFormat-short":"h:mm a","field-month":"Month","quarters-format-abbr":["Q1","Q2","Q3","Q4"],"days-format-abbr":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dateFormatItem-M":"L","days-format-narrow":["S","M","T","W","T","F","S"],"field-second":"Second","field-day":"Day","dateFormatItem-MEd":"E, M/d","months-format-narrow":["J","F","M","A","M","J","J","A","S","O","N","D"],"dateFormatItem-hm":"h:mm a","days-standAlone-abbr":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dateFormat-short":"M/d/yy","dateFormatItem-yMMMEd":"EEE, MMM d, y","dateFormat-full":"EEEE, MMMM d, y","dateFormatItem-Md":"M/d","dateFormatItem-yMEd":"EEE, M/d/y","months-format-wide":["January","February","March","April","May","June","July","August","September","October","November","December"],"dateFormatItem-d":"d","quarters-format-wide":["1st quarter","2nd quarter","3rd quarter","4th quarter"],"days-format-wide":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"eraNarrow":["B","A"],"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dateTimeFormats-appendItem-Era":"{0} {1}","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","dateFormatItem-H":"HH","quarters-standAlone-abbr":["Q1","Q2","Q3","Q4"],"quarters-format-narrow":["1","2","3","4"],"dateFormatItem-h":"h a","dayPeriods-format-narrow-am":"AM","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dateTimeFormats-appendItem-Year":"{0} {1}","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateTimeFormats-appendItem-Timezone":"{0} {1}","dayPeriods-format-narrow-pm":"PM"}; diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_en.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_en.js deleted file mode 100644 index 30fac34a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_en.js +++ /dev/null @@ -1 +0,0 @@ -dojo.provide("dijit.nls.dijit-all_en");dojo.provide("dojo.nls.colors");dojo.nls.colors._built=true;dojo.provide("dojo.nls.colors.en");dojo.nls.colors.en={"lightsteelblue":"light steel blue","orangered":"orange red","midnightblue":"midnight blue","cadetblue":"cadet blue","seashell":"seashell","slategrey":"slate gray","coral":"coral","darkturquoise":"dark turquoise","antiquewhite":"antique white","mediumspringgreen":"medium spring green","salmon":"salmon","darkgrey":"dark gray","ivory":"ivory","greenyellow":"green-yellow","mistyrose":"misty rose","lightsalmon":"light salmon","silver":"silver","dimgrey":"dim gray","orange":"orange","white":"white","navajowhite":"navajo white","royalblue":"royal blue","deeppink":"deep pink","lime":"lime","oldlace":"old lace","chartreuse":"chartreuse","darkcyan":"dark cyan","yellow":"yellow","linen":"linen","olive":"olive","gold":"gold","lawngreen":"lawn green","lightyellow":"light yellow","tan":"tan","darkviolet":"dark violet","lightslategrey":"light slate gray","grey":"gray","darkkhaki":"dark khaki","green":"green","deepskyblue":"deep sky blue","aqua":"aqua","sienna":"sienna","mintcream":"mint cream","rosybrown":"rosy brown","mediumslateblue":"medium slate blue","magenta":"magenta","lightseagreen":"light sea green","cyan":"cyan","olivedrab":"olive drab","darkgoldenrod":"dark goldenrod","slateblue":"slate blue","mediumaquamarine":"medium aquamarine","lavender":"lavender","mediumseagreen":"medium sea green","maroon":"maroon","darkslategray":"dark slate gray","mediumturquoise":"medium turquoise","ghostwhite":"ghost white","darkblue":"dark blue","mediumvioletred":"medium violet-red","brown":"brown","lightgray":"light gray","sandybrown":"sandy brown","pink":"pink","firebrick":"fire brick","indigo":"indigo","snow":"snow","darkorchid":"dark orchid","turquoise":"turquoise","chocolate":"chocolate","springgreen":"spring green","moccasin":"moccasin","navy":"navy","lemonchiffon":"lemon chiffon","teal":"teal","floralwhite":"floral white","cornflowerblue":"cornflower blue","paleturquoise":"pale turquoise","purple":"purple","gainsboro":"gainsboro","plum":"plum","red":"red","blue":"blue","forestgreen":"forest green","darkgreen":"dark green","honeydew":"honeydew","darkseagreen":"dark sea green","lightcoral":"light coral","palevioletred":"pale violet-red","mediumpurple":"medium purple","saddlebrown":"saddle brown","darkmagenta":"dark magenta","thistle":"thistle","whitesmoke":"white smoke","wheat":"wheat","violet":"violet","lightskyblue":"light sky blue","goldenrod":"goldenrod","mediumblue":"medium blue","skyblue":"sky blue","crimson":"crimson","darksalmon":"dark salmon","darkred":"dark red","darkslategrey":"dark slate gray","peru":"peru","lightgrey":"light gray","lightgoldenrodyellow":"light goldenrod yellow","blanchedalmond":"blanched almond","aliceblue":"alice blue","bisque":"bisque","slategray":"slate gray","palegoldenrod":"pale goldenrod","darkorange":"dark orange","aquamarine":"aquamarine","lightgreen":"light green","burlywood":"burlywood","dodgerblue":"dodger blue","darkgray":"dark gray","lightcyan":"light cyan","powderblue":"powder blue","blueviolet":"blue-violet","orchid":"orchid","dimgray":"dim gray","beige":"beige","fuchsia":"fuchsia","lavenderblush":"lavender blush","hotpink":"hot pink","steelblue":"steel blue","tomato":"tomato","lightpink":"light pink","limegreen":"lime green","indianred":"indian red","papayawhip":"papaya whip","lightslategray":"light slate gray","gray":"gray","mediumorchid":"medium orchid","cornsilk":"cornsilk","black":"black","seagreen":"sea green","darkslateblue":"dark slate blue","khaki":"khaki","lightblue":"light blue","palegreen":"pale green","azure":"azure","peachpuff":"peach puff","darkolivegreen":"dark olive green","yellowgreen":"yellow green"};dojo.provide("dijit.nls.loading");dijit.nls.loading._built=true;dojo.provide("dijit.nls.loading.en");dijit.nls.loading.en={"loadingState":"Loading...","errorState":"Sorry, an error occurred"};dojo.provide("dijit.nls.common");dijit.nls.common._built=true;dojo.provide("dijit.nls.common.en");dijit.nls.common.en={"buttonOk":"OK","buttonCancel":"Cancel","buttonSave":"Save","itemClose":"Close"};dojo.provide("dijit._editor.nls.commands");dijit._editor.nls.commands._built=true;dojo.provide("dijit._editor.nls.commands.en");dijit._editor.nls.commands.en={"removeFormat":"Remove Format","copy":"Copy","paste":"Paste","selectAll":"Select All","insertOrderedList":"Numbered List","insertTable":"Insert/Edit Table","print":"Print","underline":"Underline","foreColor":"Foreground Color","htmlToggle":"HTML Source","formatBlock":"Paragraph Style","newPage":"New Page","insertHorizontalRule":"Horizontal Rule","delete":"Delete","appleKey":"⌘${0}","insertUnorderedList":"Bullet List","tableProp":"Table Property","insertImage":"Insert Image","superscript":"Superscript","subscript":"Subscript","createLink":"Create Link","undo":"Undo","fullScreen":"Toggle Full Screen","italic":"Italic","fontName":"Font Name","justifyLeft":"Align Left","unlink":"Remove Link","toggleTableBorder":"Toggle Table Border","viewSource":"View HTML Source","ctrlKey":"ctrl+${0}","fontSize":"Font Size","systemShortcut":"The \"${0}\" action is only available in your browser using a keyboard shortcut. Use ${1}.","indent":"Indent","redo":"Redo","strikethrough":"Strikethrough","justifyFull":"Justify","justifyCenter":"Align Center","hiliteColor":"Background Color","deleteTable":"Delete Table","outdent":"Outdent","cut":"Cut","plainFormatBlock":"Paragraph Style","toggleDir":"Toggle Direction","bold":"Bold","tabIndent":"Tab Indent","justifyRight":"Align Right"};dojo.provide("dijit.form.nls.validate");dijit.form.nls.validate._built=true;dojo.provide("dijit.form.nls.validate.en");dijit.form.nls.validate.en={"rangeMessage":"This value is out of range.","invalidMessage":"The value entered is not valid.","missingMessage":"This value is required."};dojo.provide("dijit.form.nls.ComboBox");dijit.form.nls.ComboBox._built=true;dojo.provide("dijit.form.nls.ComboBox.en");dijit.form.nls.ComboBox.en={"previousMessage":"Previous choices","nextMessage":"More choices"};dojo.provide("dijit._editor.nls.FontChoice");dijit._editor.nls.FontChoice._built=true;dojo.provide("dijit._editor.nls.FontChoice.en");dijit._editor.nls.FontChoice.en={"noFormat":"None","1":"xx-small","2":"x-small","formatBlock":"Format","3":"small","4":"medium","5":"large","6":"x-large","7":"xx-large","fantasy":"fantasy","serif":"serif","p":"Paragraph","pre":"Pre-formatted","sans-serif":"sans-serif","fontName":"Font","h1":"Heading","h2":"Subheading","h3":"Sub-subheading","monospace":"monospace","fontSize":"Size","cursive":"cursive"};dojo.provide("dijit._editor.nls.LinkDialog");dijit._editor.nls.LinkDialog._built=true;dojo.provide("dijit._editor.nls.LinkDialog.en");dijit._editor.nls.LinkDialog.en={"text":"Description:","insertImageTitle":"Image Properties","set":"Set","newWindow":"New Window","topWindow":"Topmost Window","target":"Target:","createLinkTitle":"Link Properties","parentWindow":"Parent Window","currentWindow":"Current Window","url":"URL:"};dojo.provide("dojo.cldr.nls.number");dojo.cldr.nls.number._built=true;dojo.provide("dojo.cldr.nls.number.en");dojo.cldr.nls.number.en={"group":",","percentSign":"%","exponential":"E","percentFormat":"#,##0%","scientificFormat":"#E0","list":";","infinity":"∞","patternDigit":"#","minusSign":"-","decimal":".","nan":"NaN","nativeZeroDigit":"0","perMille":"‰","decimalFormat":"#,##0.###","currencyFormat":"¤#,##0.00;(¤#,##0.00)","plusSign":"+","decimalFormat-short":"000T","currencySpacing-afterCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]","currencySpacing-afterCurrency-insertBetween":" ","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]","currencySpacing-beforeCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-insertBetween":" "};dojo.provide("dojo.cldr.nls.currency");dojo.cldr.nls.currency._built=true;dojo.provide("dojo.cldr.nls.currency.en");dojo.cldr.nls.currency.en={"HKD_displayName":"Hong Kong Dollar","CHF_displayName":"Swiss Franc","JPY_symbol":"¥","CAD_displayName":"Canadian Dollar","CNY_displayName":"Chinese Yuan","USD_symbol":"$","AUD_displayName":"Australian Dollar","JPY_displayName":"Japanese Yen","USD_displayName":"US Dollar","GBP_displayName":"British Pound Sterling","EUR_displayName":"Euro","CAD_symbol":"CA$","GBP_symbol":"£","HKD_symbol":"HK$","AUD_symbol":"AU$","CNY_symbol":"CN¥","EUR_symbol":"€"};dojo.provide("dojo.cldr.nls.gregorian");dojo.cldr.nls.gregorian._built=true;dojo.provide("dojo.cldr.nls.gregorian.en");dojo.cldr.nls.gregorian.en={"dateFormatItem-yM":"M/y","field-dayperiod":"AM/PM","dateFormatItem-yQ":"Q y","dayPeriods-format-wide-pm":"PM","field-minute":"Minute","eraNames":["Before Christ","Anno Domini"],"dateFormatItem-MMMEd":"E, MMM d","dateTimeFormat-full":"{1} {0}","field-day-relative+-1":"Yesterday","field-weekday":"Day of the Week","dateFormatItem-hms":"h:mm:ss a","dateFormatItem-yQQQ":"QQQ y","days-standAlone-wide":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"dateFormatItem-MMM":"LLL","months-standAlone-narrow":["J","F","M","A","M","J","J","A","S","O","N","D"],"dateTimeFormat-short":"{1} {0}","field-era":"Era","field-hour":"Hour","dayPeriods-format-wide-am":"AM","dateTimeFormat-medium":"{1} {0}","dateFormatItem-y":"y","timeFormat-full":"h:mm:ss a zzzz","months-standAlone-abbr":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"dateFormatItem-yMMM":"MMM y","field-day-relative+0":"Today","field-day-relative+1":"Tomorrow","days-standAlone-narrow":["S","M","T","W","T","F","S"],"eraAbbr":["BC","AD"],"dateFormat-long":"MMMM d, y","timeFormat-medium":"h:mm:ss a","dateFormatItem-EEEd":"d EEE","field-zone":"Zone","dateFormatItem-Hm":"HH:mm","dateFormat-medium":"MMM d, y","dateFormatItem-Hms":"HH:mm:ss","quarters-standAlone-wide":["1st quarter","2nd quarter","3rd quarter","4th quarter"],"dateFormatItem-ms":"mm:ss","field-year":"Year","quarters-standAlone-narrow":["1","2","3","4"],"dateTimeFormat-long":"{1} {0}","field-week":"Week","months-standAlone-wide":["January","February","March","April","May","June","July","August","September","October","November","December"],"dateFormatItem-MMMd":"MMM d","timeFormat-long":"h:mm:ss a z","months-format-abbr":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"dayPeriods-format-wide-noon":"noon","timeFormat-short":"h:mm a","field-month":"Month","quarters-format-abbr":["Q1","Q2","Q3","Q4"],"days-format-abbr":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dateFormatItem-M":"L","days-format-narrow":["S","M","T","W","T","F","S"],"field-second":"Second","field-day":"Day","dateFormatItem-MEd":"E, M/d","months-format-narrow":["J","F","M","A","M","J","J","A","S","O","N","D"],"dateFormatItem-hm":"h:mm a","days-standAlone-abbr":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dateFormat-short":"M/d/yy","dateFormatItem-yMMMEd":"EEE, MMM d, y","dateFormat-full":"EEEE, MMMM d, y","dateFormatItem-Md":"M/d","dateFormatItem-yMEd":"EEE, M/d/y","months-format-wide":["January","February","March","April","May","June","July","August","September","October","November","December"],"dateFormatItem-d":"d","quarters-format-wide":["1st quarter","2nd quarter","3rd quarter","4th quarter"],"days-format-wide":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"eraNarrow":["B","A"],"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dateTimeFormats-appendItem-Era":"{0} {1}","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","dateFormatItem-H":"HH","quarters-standAlone-abbr":["Q1","Q2","Q3","Q4"],"quarters-format-narrow":["1","2","3","4"],"dateFormatItem-h":"h a","dayPeriods-format-narrow-am":"AM","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dateTimeFormats-appendItem-Year":"{0} {1}","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateTimeFormats-appendItem-Timezone":"{0} {1}","dayPeriods-format-narrow-pm":"PM"}; diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_es-es.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_es-es.js deleted file mode 100644 index ea7e4a2b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_es-es.js +++ /dev/null @@ -1 +0,0 @@ -dojo.provide("dijit.nls.dijit-all_es-es");dojo.provide("dojo.nls.colors");dojo.nls.colors._built=true;dojo.provide("dojo.nls.colors.es_es");dojo.nls.colors.es_es={"lightsteelblue":"azul acero claro","orangered":"rojo anaranjado","midnightblue":"azul medianoche","cadetblue":"azul cadete","seashell":"blanco marfil","slategrey":"gris pizarra","coral":"coral","darkturquoise":"turquesa oscuro","antiquewhite":"blanco antiguo","mediumspringgreen":"verde primavera medio","salmon":"salmón","darkgrey":"gris oscuro","ivory":"marfil","greenyellow":"amarillo verdoso","mistyrose":"rosa difuminado","lightsalmon":"salmón claro","silver":"plateado","dimgrey":"gris marengo","orange":"naranja","white":"blanco","navajowhite":"blanco navajo","royalblue":"azul real","deeppink":"rosa fuerte","lime":"lima","oldlace":"encaje antiguo","chartreuse":"verde pálido 2","darkcyan":"cian oscuro","yellow":"amarillo","linen":"blanco arena","olive":"verde oliva","gold":"oro","lawngreen":"verde césped","lightyellow":"amarillo claro","tan":"canela","darkviolet":"violeta oscuro","lightslategrey":"gris pizarra claro","grey":"gris","darkkhaki":"caqui oscuro","green":"verde","deepskyblue":"azul cielo fuerte","aqua":"aguamarina","sienna":"siena","mintcream":"crema menta","rosybrown":"marrón rosáceo","mediumslateblue":"azul pizarra medio","magenta":"magenta","lightseagreen":"verde mar claro","cyan":"cian","olivedrab":"verde oliva pardusco","darkgoldenrod":"ocre oscuro","slateblue":"azul pizarra","mediumaquamarine":"aguamarina medio","lavender":"lavanda","mediumseagreen":"verde mar medio","maroon":"granate","darkslategray":"gris pizarra oscuro","mediumturquoise":"turquesa medio","ghostwhite":"blanco ligero","darkblue":"azul oscuro","mediumvioletred":"rojo violáceo medio","brown":"marrón","lightgray":"gris claro","sandybrown":"marrón arcilla","pink":"rosa","firebrick":"teja","indigo":"añil","snow":"nieve","darkorchid":"orquídea oscuro","turquoise":"turquesa","chocolate":"chocolate","springgreen":"verde fuerte","moccasin":"arena","navy":"azul marino","lemonchiffon":"amarillo pastel","teal":"verde azulado","floralwhite":"blanco manteca","cornflowerblue":"azul aciano","paleturquoise":"turquesa pálido","purple":"púrpura","gainsboro":"azul gainsboro","plum":"ciruela","red":"rojo","blue":"azul","forestgreen":"verde pino","darkgreen":"verde oscuro","honeydew":"flor de rocío","darkseagreen":"verde mar oscuro","lightcoral":"coral claro","palevioletred":"rojo violáceo pálido","mediumpurple":"púrpura medio","saddlebrown":"cuero","darkmagenta":"magenta oscuro","thistle":"cardo","whitesmoke":"blanco ahumado","wheat":"trigo","violet":"violeta","lightskyblue":"azul cielo claro","goldenrod":"ocre","mediumblue":"azul medio","skyblue":"azul cielo","crimson":"carmesí","darksalmon":"salmón oscuro","darkred":"rojo oscuro","darkslategrey":"gris pizarra oscuro","peru":"perú","lightgrey":"gris claro","lightgoldenrodyellow":"ocre claro","blanchedalmond":"almendra pálido","aliceblue":"blanco azulado","bisque":"miel","slategray":"gris pizarra","palegoldenrod":"ocre pálido","darkorange":"naranja oscuro","aquamarine":"aguamarina 2","lightgreen":"verde claro","burlywood":"madera","dodgerblue":"azul fuerte","darkgray":"gris oscuro","lightcyan":"cian claro","powderblue":"azul suave","blueviolet":"azul violáceo","orchid":"orquídea","dimgray":"gris marengo","beige":"beige","fuchsia":"fucsia","lavenderblush":"lavanda rosácea","hotpink":"rosa oscuro","steelblue":"azul acero","tomato":"tomate","lightpink":"rosa claro","limegreen":"lima limón","indianred":"rojo teja","papayawhip":"papaya claro","lightslategray":"gris pizarra claro","gray":"gris","mediumorchid":"orquídea medio","cornsilk":"crudo","black":"negro","seagreen":"verde mar","darkslateblue":"azul pizarra oscuro","khaki":"caqui","lightblue":"azul claro","palegreen":"verde pálido","azure":"blanco cielo","peachpuff":"melocotón","darkolivegreen":"verde oliva oscuro","yellowgreen":"verde amarillento"};dojo.provide("dijit.nls.loading");dijit.nls.loading._built=true;dojo.provide("dijit.nls.loading.es_es");dijit.nls.loading.es_es={"loadingState":"Cargando...","errorState":"Lo siento, se ha producido un error"};dojo.provide("dijit.nls.common");dijit.nls.common._built=true;dojo.provide("dijit.nls.common.es_es");dijit.nls.common.es_es={"buttonOk":"Aceptar","buttonCancel":"Cancelar","buttonSave":"Guardar","itemClose":"Cerrar"};dojo.provide("dijit._editor.nls.commands");dijit._editor.nls.commands._built=true;dojo.provide("dijit._editor.nls.commands.es_es");dijit._editor.nls.commands.es_es={"removeFormat":"Eliminar formato","copy":"Copiar","paste":"Pegar","selectAll":"Seleccionar todo","insertOrderedList":"Lista numerada","insertTable":"Insertar/Editar tabla","print":"Imprimir","underline":"Subrayado","foreColor":"Color de primer plano","htmlToggle":"Fuente HTML","formatBlock":"Estilo de párrafo","newPage":"Nueva página","insertHorizontalRule":"Regla horizontal","delete":"Suprimir","insertUnorderedList":"Lista con viñetas","tableProp":"Propiedad de tabla","insertImage":"Insertar imagen","superscript":"Superíndice","subscript":"Subíndice","createLink":"Crear enlace","undo":"Deshacer","fullScreen":"Conmutar pantalla completa","italic":"Cursiva","fontName":"Nombre de font","justifyLeft":"Alinear izquierda","unlink":"Eliminar enlace","toggleTableBorder":"Conmutar borde de tabla","viewSource":"Ver fuente HTML","ctrlKey":"control+${0}","fontSize":"Tamaño de font","systemShortcut":"La acción \"${0}\" sólo está disponible en su navegador mediante un atajo de teclado. Utilice ${1}.","indent":"Sangría","redo":"Rehacer","strikethrough":"Tachado","justifyFull":"Justificar","justifyCenter":"Alinear centro","hiliteColor":"Color de segundo plano","deleteTable":"Suprimir tabla","outdent":"Anular sangría","cut":"Cortar","plainFormatBlock":"Estilo de párrafo","toggleDir":"Conmutar dirección","bold":"Negrita","tabIndent":"Sangría de tabulador","justifyRight":"Alinear derecha","appleKey":"⌘${0}"};dojo.provide("dijit.form.nls.validate");dijit.form.nls.validate._built=true;dojo.provide("dijit.form.nls.validate.es_es");dijit.form.nls.validate.es_es={"rangeMessage":"Este valor está fuera del intervalo.","invalidMessage":"El valor especificado no es válido.","missingMessage":"Este valor es necesario."};dojo.provide("dijit.form.nls.ComboBox");dijit.form.nls.ComboBox._built=true;dojo.provide("dijit.form.nls.ComboBox.es_es");dijit.form.nls.ComboBox.es_es={"previousMessage":"Opciones anteriores","nextMessage":"Más opciones"};dojo.provide("dijit._editor.nls.FontChoice");dijit._editor.nls.FontChoice._built=true;dojo.provide("dijit._editor.nls.FontChoice.es_es");dijit._editor.nls.FontChoice.es_es={"noFormat":"Ninguno","1":"xx-pequeño","2":"x-pequeño","formatBlock":"Formato","3":"pequeño","4":"medio","5":"grande","6":"x-grande","7":"xx-grande","fantasy":"fantasía","serif":"serif","p":"Párrafo","pre":"Preformateado","sans-serif":"sans-serif","fontName":"Font","h1":"Cabecera","h2":"Subcabecera","h3":"Sub-subcabecera","monospace":"espacio sencillo","fontSize":"Tamaño","cursive":"cursiva"};dojo.provide("dijit._editor.nls.LinkDialog");dijit._editor.nls.LinkDialog._built=true;dojo.provide("dijit._editor.nls.LinkDialog.es_es");dijit._editor.nls.LinkDialog.es_es={"text":"Descripción:","insertImageTitle":"Propiedades de la imagen","set":"Establecer","newWindow":"Nueva ventana","topWindow":"Ventana superior","target":"Destino:","createLinkTitle":"Propiedades del enlace","parentWindow":"Ventana padre","currentWindow":"Ventana actual","url":"URL:"};dojo.provide("dojo.cldr.nls.number");dojo.cldr.nls.number._built=true;dojo.provide("dojo.cldr.nls.number.es_es");dojo.cldr.nls.number.es_es={"group":".","percentSign":"%","exponential":"E","percentFormat":"#,##0%","scientificFormat":"#E0","list":";","infinity":"∞","minusSign":"-","decimal":",","nan":"NaN","nativeZeroDigit":"0","perMille":"‰","decimalFormat":"#,##0.###","currencyFormat":"¤ #,##0.00","plusSign":"+","currencySpacing-afterCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]","decimalFormat-short":"000T","currencySpacing-afterCurrency-insertBetween":" ","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]","currencySpacing-beforeCurrency-currencyMatch":"[:letter:]","patternDigit":"#","currencySpacing-beforeCurrency-insertBetween":" "};dojo.provide("dojo.cldr.nls.currency");dojo.cldr.nls.currency._built=true;dojo.provide("dojo.cldr.nls.currency.es_es");dojo.cldr.nls.currency.es_es={"HKD_displayName":"dólar de Hong Kong","CHF_displayName":"franco suizo","CAD_displayName":"dólar canadiense","CNY_displayName":"yuan renminbi chino","AUD_displayName":"dólar australiano","JPY_displayName":"yen japonés","USD_displayName":"dólar estadounidense","GBP_displayName":"libra esterlina británica","EUR_displayName":"euro","USD_symbol":"US$","CAD_symbol":"CA$","GBP_symbol":"£","HKD_symbol":"HK$","JPY_symbol":"JP¥","AUD_symbol":"AU$","CNY_symbol":"CN¥","EUR_symbol":"€"};dojo.provide("dojo.cldr.nls.gregorian");dojo.cldr.nls.gregorian._built=true;dojo.provide("dojo.cldr.nls.gregorian.es_es");dojo.cldr.nls.gregorian.es_es={"months-format-narrow":["E","F","M","A","M","J","J","A","S","O","N","D"],"field-weekday":"día de la semana","dateFormatItem-yyQQQQ":"QQQQ 'de' yy","dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"EEE d/M/y","dateFormatItem-MMMEd":"E d MMM","eraNarrow":["a.C.","d.C."],"dateFormatItem-MMMdd":"dd-MMM","dateFormat-long":"d 'de' MMMM 'de' y","months-format-wide":["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],"dateFormatItem-EEEd":"EEE d","dayPeriods-format-wide-pm":"p.m.","dateFormat-full":"EEEE d 'de' MMMM 'de' y","dateFormatItem-Md":"d/M","field-era":"era","dateFormatItem-yM":"M/y","months-standAlone-wide":["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],"timeFormat-short":"HH:mm","quarters-format-wide":["1er trimestre","2º trimestre","3er trimestre","4º trimestre"],"timeFormat-long":"HH:mm:ss z","field-year":"año","dateFormatItem-yMMM":"MMM y","dateFormatItem-yQ":"Q y","field-hour":"hora","months-format-abbr":["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],"dateFormatItem-yyQ":"Q yy","timeFormat-full":"HH:mm:ss zzzz","field-day-relative+0":"hoy","field-day-relative+1":"mañana","field-day-relative+2":"pasado mañana","field-day-relative+3":"Dentro de tres días","months-standAlone-abbr":["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],"quarters-format-abbr":["T1","T2","T3","T4"],"quarters-standAlone-wide":["1er trimestre","2º trimestre","3er trimestre","4º trimestre"],"dateFormatItem-M":"L","days-standAlone-wide":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],"dateFormatItem-MMMMd":"d 'de' MMMM","dateFormatItem-yyMMM":"MMM-yy","timeFormat-medium":"HH:mm:ss","dateFormatItem-Hm":"HH:mm","quarters-standAlone-abbr":["T1","T2","T3","T4"],"eraAbbr":["a.C.","d.C."],"field-minute":"minuto","field-dayperiod":"periodo del día","days-standAlone-abbr":["dom","lun","mar","mié","jue","vie","sáb"],"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","field-day-relative+-1":"ayer","dateFormatItem-h":"hh a","field-day-relative+-2":"antes de ayer","field-day-relative+-3":"Hace tres días","dateFormatItem-MMMd":"d MMM","dateFormatItem-MEd":"E, d/M","dateFormatItem-yMMMM":"MMMM 'de' y","field-day":"día","days-format-wide":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],"field-zone":"zona","dateFormatItem-yyyyMM":"MM/yyyy","dateFormatItem-y":"y","months-standAlone-narrow":["E","F","M","A","M","J","J","A","S","O","N","D"],"dateFormatItem-yyMM":"MM/yy","dateFormatItem-hm":"hh:mm a","days-format-abbr":["dom","lun","mar","mié","jue","vie","sáb"],"eraNames":["antes de Cristo","anno Dómini"],"days-format-narrow":["D","L","M","M","J","V","S"],"field-month":"mes","days-standAlone-narrow":["D","L","M","M","J","V","S"],"dateFormatItem-MMM":"LLL","dayPeriods-format-wide-am":"a.m.","dateFormat-short":"dd/MM/yy","dateFormatItem-MMd":"d/MM","field-second":"segundo","dateFormatItem-yMMMEd":"EEE, d MMM y","field-week":"semana","dateFormat-medium":"dd/MM/yyyy","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-hms":"hh:mm:ss a","quarters-standAlone-narrow":["1","2","3","4"],"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateTimeFormat-medium":"{1} {0}","dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dateTimeFormats-appendItem-Era":"{0} {1}","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","dateFormatItem-H":"HH","quarters-format-narrow":["1","2","3","4"],"dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"AM","dateTimeFormat-full":"{1} {0}","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dateTimeFormats-appendItem-Year":"{0} {1}","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateTimeFormats-appendItem-Timezone":"{0} {1}","dayPeriods-format-narrow-pm":"PM","dateTimeFormat-short":"{1} {0}"}; diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_es.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_es.js deleted file mode 100644 index 9410f672..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_es.js +++ /dev/null @@ -1 +0,0 @@ -dojo.provide("dijit.nls.dijit-all_es");dojo.provide("dojo.nls.colors");dojo.nls.colors._built=true;dojo.provide("dojo.nls.colors.es");dojo.nls.colors.es={"lightsteelblue":"azul acero claro","orangered":"rojo anaranjado","midnightblue":"azul medianoche","cadetblue":"azul cadete","seashell":"blanco marfil","slategrey":"gris pizarra","coral":"coral","darkturquoise":"turquesa oscuro","antiquewhite":"blanco antiguo","mediumspringgreen":"verde primavera medio","salmon":"salmón","darkgrey":"gris oscuro","ivory":"marfil","greenyellow":"amarillo verdoso","mistyrose":"rosa difuminado","lightsalmon":"salmón claro","silver":"plateado","dimgrey":"gris marengo","orange":"naranja","white":"blanco","navajowhite":"blanco navajo","royalblue":"azul real","deeppink":"rosa fuerte","lime":"lima","oldlace":"encaje antiguo","chartreuse":"verde pálido 2","darkcyan":"cian oscuro","yellow":"amarillo","linen":"blanco arena","olive":"verde oliva","gold":"oro","lawngreen":"verde césped","lightyellow":"amarillo claro","tan":"canela","darkviolet":"violeta oscuro","lightslategrey":"gris pizarra claro","grey":"gris","darkkhaki":"caqui oscuro","green":"verde","deepskyblue":"azul cielo fuerte","aqua":"aguamarina","sienna":"siena","mintcream":"crema menta","rosybrown":"marrón rosáceo","mediumslateblue":"azul pizarra medio","magenta":"magenta","lightseagreen":"verde mar claro","cyan":"cian","olivedrab":"verde oliva pardusco","darkgoldenrod":"ocre oscuro","slateblue":"azul pizarra","mediumaquamarine":"aguamarina medio","lavender":"lavanda","mediumseagreen":"verde mar medio","maroon":"granate","darkslategray":"gris pizarra oscuro","mediumturquoise":"turquesa medio","ghostwhite":"blanco ligero","darkblue":"azul oscuro","mediumvioletred":"rojo violáceo medio","brown":"marrón","lightgray":"gris claro","sandybrown":"marrón arcilla","pink":"rosa","firebrick":"teja","indigo":"añil","snow":"nieve","darkorchid":"orquídea oscuro","turquoise":"turquesa","chocolate":"chocolate","springgreen":"verde fuerte","moccasin":"arena","navy":"azul marino","lemonchiffon":"amarillo pastel","teal":"verde azulado","floralwhite":"blanco manteca","cornflowerblue":"azul aciano","paleturquoise":"turquesa pálido","purple":"púrpura","gainsboro":"azul gainsboro","plum":"ciruela","red":"rojo","blue":"azul","forestgreen":"verde pino","darkgreen":"verde oscuro","honeydew":"flor de rocío","darkseagreen":"verde mar oscuro","lightcoral":"coral claro","palevioletred":"rojo violáceo pálido","mediumpurple":"púrpura medio","saddlebrown":"cuero","darkmagenta":"magenta oscuro","thistle":"cardo","whitesmoke":"blanco ahumado","wheat":"trigo","violet":"violeta","lightskyblue":"azul cielo claro","goldenrod":"ocre","mediumblue":"azul medio","skyblue":"azul cielo","crimson":"carmesí","darksalmon":"salmón oscuro","darkred":"rojo oscuro","darkslategrey":"gris pizarra oscuro","peru":"perú","lightgrey":"gris claro","lightgoldenrodyellow":"ocre claro","blanchedalmond":"almendra pálido","aliceblue":"blanco azulado","bisque":"miel","slategray":"gris pizarra","palegoldenrod":"ocre pálido","darkorange":"naranja oscuro","aquamarine":"aguamarina 2","lightgreen":"verde claro","burlywood":"madera","dodgerblue":"azul fuerte","darkgray":"gris oscuro","lightcyan":"cian claro","powderblue":"azul suave","blueviolet":"azul violáceo","orchid":"orquídea","dimgray":"gris marengo","beige":"beige","fuchsia":"fucsia","lavenderblush":"lavanda rosácea","hotpink":"rosa oscuro","steelblue":"azul acero","tomato":"tomate","lightpink":"rosa claro","limegreen":"lima limón","indianred":"rojo teja","papayawhip":"papaya claro","lightslategray":"gris pizarra claro","gray":"gris","mediumorchid":"orquídea medio","cornsilk":"crudo","black":"negro","seagreen":"verde mar","darkslateblue":"azul pizarra oscuro","khaki":"caqui","lightblue":"azul claro","palegreen":"verde pálido","azure":"blanco cielo","peachpuff":"melocotón","darkolivegreen":"verde oliva oscuro","yellowgreen":"verde amarillento"};dojo.provide("dijit.nls.loading");dijit.nls.loading._built=true;dojo.provide("dijit.nls.loading.es");dijit.nls.loading.es={"loadingState":"Cargando...","errorState":"Lo siento, se ha producido un error"};dojo.provide("dijit.nls.common");dijit.nls.common._built=true;dojo.provide("dijit.nls.common.es");dijit.nls.common.es={"buttonOk":"Aceptar","buttonCancel":"Cancelar","buttonSave":"Guardar","itemClose":"Cerrar"};dojo.provide("dijit._editor.nls.commands");dijit._editor.nls.commands._built=true;dojo.provide("dijit._editor.nls.commands.es");dijit._editor.nls.commands.es={"removeFormat":"Eliminar formato","copy":"Copiar","paste":"Pegar","selectAll":"Seleccionar todo","insertOrderedList":"Lista numerada","insertTable":"Insertar/Editar tabla","print":"Imprimir","underline":"Subrayado","foreColor":"Color de primer plano","htmlToggle":"Fuente HTML","formatBlock":"Estilo de párrafo","newPage":"Nueva página","insertHorizontalRule":"Regla horizontal","delete":"Suprimir","insertUnorderedList":"Lista con viñetas","tableProp":"Propiedad de tabla","insertImage":"Insertar imagen","superscript":"Superíndice","subscript":"Subíndice","createLink":"Crear enlace","undo":"Deshacer","fullScreen":"Conmutar pantalla completa","italic":"Cursiva","fontName":"Nombre de font","justifyLeft":"Alinear izquierda","unlink":"Eliminar enlace","toggleTableBorder":"Conmutar borde de tabla","viewSource":"Ver fuente HTML","ctrlKey":"control+${0}","fontSize":"Tamaño de font","systemShortcut":"La acción \"${0}\" sólo está disponible en su navegador mediante un atajo de teclado. Utilice ${1}.","indent":"Sangría","redo":"Rehacer","strikethrough":"Tachado","justifyFull":"Justificar","justifyCenter":"Alinear centro","hiliteColor":"Color de segundo plano","deleteTable":"Suprimir tabla","outdent":"Anular sangría","cut":"Cortar","plainFormatBlock":"Estilo de párrafo","toggleDir":"Conmutar dirección","bold":"Negrita","tabIndent":"Sangría de tabulador","justifyRight":"Alinear derecha","appleKey":"⌘${0}"};dojo.provide("dijit.form.nls.validate");dijit.form.nls.validate._built=true;dojo.provide("dijit.form.nls.validate.es");dijit.form.nls.validate.es={"rangeMessage":"Este valor está fuera del intervalo.","invalidMessage":"El valor especificado no es válido.","missingMessage":"Este valor es necesario."};dojo.provide("dijit.form.nls.ComboBox");dijit.form.nls.ComboBox._built=true;dojo.provide("dijit.form.nls.ComboBox.es");dijit.form.nls.ComboBox.es={"previousMessage":"Opciones anteriores","nextMessage":"Más opciones"};dojo.provide("dijit._editor.nls.FontChoice");dijit._editor.nls.FontChoice._built=true;dojo.provide("dijit._editor.nls.FontChoice.es");dijit._editor.nls.FontChoice.es={"noFormat":"Ninguno","1":"xx-pequeño","2":"x-pequeño","formatBlock":"Formato","3":"pequeño","4":"medio","5":"grande","6":"x-grande","7":"xx-grande","fantasy":"fantasía","serif":"serif","p":"Párrafo","pre":"Preformateado","sans-serif":"sans-serif","fontName":"Font","h1":"Cabecera","h2":"Subcabecera","h3":"Sub-subcabecera","monospace":"espacio sencillo","fontSize":"Tamaño","cursive":"cursiva"};dojo.provide("dijit._editor.nls.LinkDialog");dijit._editor.nls.LinkDialog._built=true;dojo.provide("dijit._editor.nls.LinkDialog.es");dijit._editor.nls.LinkDialog.es={"text":"Descripción:","insertImageTitle":"Propiedades de la imagen","set":"Establecer","newWindow":"Nueva ventana","topWindow":"Ventana superior","target":"Destino:","createLinkTitle":"Propiedades del enlace","parentWindow":"Ventana padre","currentWindow":"Ventana actual","url":"URL:"};dojo.provide("dojo.cldr.nls.number");dojo.cldr.nls.number._built=true;dojo.provide("dojo.cldr.nls.number.es");dojo.cldr.nls.number.es={"group":".","percentSign":"%","exponential":"E","percentFormat":"#,##0%","scientificFormat":"#E0","list":";","infinity":"∞","minusSign":"-","decimal":",","nan":"NaN","nativeZeroDigit":"0","perMille":"‰","decimalFormat":"#,##0.###","currencyFormat":"¤ #,##0.00","plusSign":"+","currencySpacing-afterCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]","decimalFormat-short":"000T","currencySpacing-afterCurrency-insertBetween":" ","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]","currencySpacing-beforeCurrency-currencyMatch":"[:letter:]","patternDigit":"#","currencySpacing-beforeCurrency-insertBetween":" "};dojo.provide("dojo.cldr.nls.currency");dojo.cldr.nls.currency._built=true;dojo.provide("dojo.cldr.nls.currency.es");dojo.cldr.nls.currency.es={"HKD_displayName":"dólar de Hong Kong","CHF_displayName":"franco suizo","CAD_displayName":"dólar canadiense","CNY_displayName":"yuan renminbi chino","AUD_displayName":"dólar australiano","JPY_displayName":"yen japonés","USD_displayName":"dólar estadounidense","GBP_displayName":"libra esterlina británica","EUR_displayName":"euro","USD_symbol":"US$","CAD_symbol":"CA$","GBP_symbol":"£","HKD_symbol":"HK$","JPY_symbol":"JP¥","AUD_symbol":"AU$","CNY_symbol":"CN¥","EUR_symbol":"€"};dojo.provide("dojo.cldr.nls.gregorian");dojo.cldr.nls.gregorian._built=true;dojo.provide("dojo.cldr.nls.gregorian.es");dojo.cldr.nls.gregorian.es={"months-format-narrow":["E","F","M","A","M","J","J","A","S","O","N","D"],"field-weekday":"día de la semana","dateFormatItem-yyQQQQ":"QQQQ 'de' yy","dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"EEE d/M/y","dateFormatItem-MMMEd":"E d MMM","eraNarrow":["a.C.","d.C."],"dateFormatItem-MMMdd":"dd-MMM","dateFormat-long":"d 'de' MMMM 'de' y","months-format-wide":["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],"dateFormatItem-EEEd":"EEE d","dayPeriods-format-wide-pm":"p.m.","dateFormat-full":"EEEE d 'de' MMMM 'de' y","dateFormatItem-Md":"d/M","field-era":"era","dateFormatItem-yM":"M/y","months-standAlone-wide":["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],"timeFormat-short":"HH:mm","quarters-format-wide":["1er trimestre","2º trimestre","3er trimestre","4º trimestre"],"timeFormat-long":"HH:mm:ss z","field-year":"año","dateFormatItem-yMMM":"MMM y","dateFormatItem-yQ":"Q y","field-hour":"hora","months-format-abbr":["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],"dateFormatItem-yyQ":"Q yy","timeFormat-full":"HH:mm:ss zzzz","field-day-relative+0":"hoy","field-day-relative+1":"mañana","field-day-relative+2":"pasado mañana","field-day-relative+3":"Dentro de tres días","months-standAlone-abbr":["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],"quarters-format-abbr":["T1","T2","T3","T4"],"quarters-standAlone-wide":["1er trimestre","2º trimestre","3er trimestre","4º trimestre"],"dateFormatItem-M":"L","days-standAlone-wide":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],"dateFormatItem-MMMMd":"d 'de' MMMM","dateFormatItem-yyMMM":"MMM-yy","timeFormat-medium":"HH:mm:ss","dateFormatItem-Hm":"HH:mm","quarters-standAlone-abbr":["T1","T2","T3","T4"],"eraAbbr":["a.C.","d.C."],"field-minute":"minuto","field-dayperiod":"periodo del día","days-standAlone-abbr":["dom","lun","mar","mié","jue","vie","sáb"],"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","field-day-relative+-1":"ayer","dateFormatItem-h":"hh a","field-day-relative+-2":"antes de ayer","field-day-relative+-3":"Hace tres días","dateFormatItem-MMMd":"d MMM","dateFormatItem-MEd":"E, d/M","dateFormatItem-yMMMM":"MMMM 'de' y","field-day":"día","days-format-wide":["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],"field-zone":"zona","dateFormatItem-yyyyMM":"MM/yyyy","dateFormatItem-y":"y","months-standAlone-narrow":["E","F","M","A","M","J","J","A","S","O","N","D"],"dateFormatItem-yyMM":"MM/yy","dateFormatItem-hm":"hh:mm a","days-format-abbr":["dom","lun","mar","mié","jue","vie","sáb"],"eraNames":["antes de Cristo","anno Dómini"],"days-format-narrow":["D","L","M","M","J","V","S"],"field-month":"mes","days-standAlone-narrow":["D","L","M","M","J","V","S"],"dateFormatItem-MMM":"LLL","dayPeriods-format-wide-am":"a.m.","dateFormat-short":"dd/MM/yy","dateFormatItem-MMd":"d/MM","field-second":"segundo","dateFormatItem-yMMMEd":"EEE, d MMM y","field-week":"semana","dateFormat-medium":"dd/MM/yyyy","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-hms":"hh:mm:ss a","quarters-standAlone-narrow":["1","2","3","4"],"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateTimeFormat-medium":"{1} {0}","dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dateTimeFormats-appendItem-Era":"{0} {1}","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","dateFormatItem-H":"HH","quarters-format-narrow":["1","2","3","4"],"dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"AM","dateTimeFormat-full":"{1} {0}","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dateTimeFormats-appendItem-Year":"{0} {1}","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateTimeFormats-appendItem-Timezone":"{0} {1}","dayPeriods-format-narrow-pm":"PM","dateTimeFormat-short":"{1} {0}"}; diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_fr-fr.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_fr-fr.js deleted file mode 100644 index 8860166d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_fr-fr.js +++ /dev/null @@ -1 +0,0 @@ -dojo.provide("dijit.nls.dijit-all_fr-fr");dojo.provide("dojo.nls.colors");dojo.nls.colors._built=true;dojo.provide("dojo.nls.colors.fr_fr");dojo.nls.colors.fr_fr={"lightsteelblue":"bleu acier clair","orangered":"rouge orangé","midnightblue":"bleu nuit","cadetblue":"bleu pétrole","seashell":"coquillage","slategrey":"gris ardoise","coral":"corail","darkturquoise":"turquoise foncé","antiquewhite":"blanc antique","mediumspringgreen":"vert printemps moyen","salmon":"saumon","darkgrey":"gris foncé","ivory":"ivoire","greenyellow":"vert-jaune","mistyrose":"rose pâle","lightsalmon":"saumon clair","silver":"argent","dimgrey":"gris soutenu","orange":"orange","white":"blanc","navajowhite":"chair","royalblue":"bleu roi","deeppink":"rose soutenu","lime":"vert citron","oldlace":"blanc cassé","chartreuse":"vert vif","darkcyan":"cyan foncé","yellow":"jaune","linen":"écru","olive":"olive","gold":"or","lawngreen":"vert prairie","lightyellow":"jaune clair","tan":"grège","darkviolet":"violet foncé","lightslategrey":"gris ardoise clair","grey":"gris","darkkhaki":"kaki foncé","green":"vert","deepskyblue":"bleu ciel soutenu","aqua":"bleu-vert","sienna":"terre de sienne","mintcream":"crème de menthe","rosybrown":"vieux rose","mediumslateblue":"bleu ardoise moyen","magenta":"magenta","lightseagreen":"vert d'eau clair","cyan":"cyan","olivedrab":"brun verdâtre","darkgoldenrod":"jaune paille foncé","slateblue":"bleu ardoise","mediumaquamarine":"aigue-marine moyen","lavender":"lavande","mediumseagreen":"vert d'eau moyen","maroon":"marron","darkslategray":"gris ardoise foncé","mediumturquoise":"turquoise moyen","ghostwhite":"blanc laiteux","darkblue":"bleu foncé","mediumvioletred":"rouge violacé moyen","brown":"brun","lightgray":"gris clair","sandybrown":"sable","pink":"rose","firebrick":"rouge brique","indigo":"indigo","snow":"neige","darkorchid":"lilas foncé","turquoise":"turquoise","chocolate":"chocolat","springgreen":"vert printemps","moccasin":"chamois","navy":"bleu marine","lemonchiffon":"mousse de citron","teal":"sarcelle","floralwhite":"lys","cornflowerblue":"bleuet","paleturquoise":"turquoise pâle","purple":"pourpre","gainsboro":"gris souris","plum":"prune","red":"rouge","blue":"bleu","forestgreen":"vert sapin","darkgreen":"vert foncé","honeydew":"opalin","darkseagreen":"vert d'eau foncé","lightcoral":"corail clair","palevioletred":"rouge violacé pâle","mediumpurple":"pourpre moyen","saddlebrown":"brun cuir","darkmagenta":"magenta foncé","thistle":"chardon","whitesmoke":"blanc cendré","wheat":"blé","violet":"violet","lightskyblue":"bleu ciel clair","goldenrod":"jaune paille","mediumblue":"bleu moyen","skyblue":"bleu ciel","crimson":"cramoisi","darksalmon":"saumon foncé","darkred":"rouge foncé","darkslategrey":"gris ardoise foncé","peru":"caramel","lightgrey":"gris clair","lightgoldenrodyellow":"jaune paille clair","blanchedalmond":"coquille d'oeuf","aliceblue":"bleu gris","bisque":"beige rosé","slategray":"gris ardoise","palegoldenrod":"jaune paille pâle","darkorange":"orange foncé","aquamarine":"aigue-marine","lightgreen":"vert clair","burlywood":"bois précieux","dodgerblue":"bleu France","darkgray":"gris foncé","lightcyan":"cyan clair","powderblue":"bleu de smalt","blueviolet":"bleu-violet","orchid":"lilas","dimgray":"gris soutenu","beige":"beige","fuchsia":"fuchsia","lavenderblush":"lavandin","hotpink":"rose intense","steelblue":"bleu acier","tomato":"tomate","lightpink":"rose clair","limegreen":"citron vert","indianred":"rose indien","papayawhip":"crème de papaye","lightslategray":"gris ardoise clair","gray":"gris","mediumorchid":"lilas moyen","cornsilk":"vanille","black":"noir","seagreen":"vert d'eau","darkslateblue":"bleu ardoise foncé","khaki":"kaki","lightblue":"bleu clair","palegreen":"vert pâle","azure":"bleu azur","peachpuff":"pêche","darkolivegreen":"olive foncé","yellowgreen":"vert jaunâtre"};dojo.provide("dijit.nls.loading");dijit.nls.loading._built=true;dojo.provide("dijit.nls.loading.fr_fr");dijit.nls.loading.fr_fr={"loadingState":"Chargement...","errorState":"Une erreur est survenue"};dojo.provide("dijit.nls.common");dijit.nls.common._built=true;dojo.provide("dijit.nls.common.fr_fr");dijit.nls.common.fr_fr={"buttonOk":"OK","buttonCancel":"Annuler","buttonSave":"Sauvegarder","itemClose":"Fermer"};dojo.provide("dijit._editor.nls.commands");dijit._editor.nls.commands._built=true;dojo.provide("dijit._editor.nls.commands.fr_fr");dijit._editor.nls.commands.fr_fr={"removeFormat":"Supprimer la mise en forme","copy":"Copier","paste":"Coller","selectAll":"Sélectionner tout","insertOrderedList":"Liste numérotée","insertTable":"Insérer/Modifier un tableau","print":"Imprimer","underline":"Souligner","foreColor":"Couleur d'avant-plan","htmlToggle":"Source HTML","formatBlock":"Style de paragraphe","newPage":"Nouvelle page","insertHorizontalRule":"Règle horizontale","delete":"Supprimer","insertUnorderedList":"Liste à puces","tableProp":"Propriété du tableau","insertImage":"Insérer une image","superscript":"Exposant","subscript":"Indice","createLink":"Créer un lien","undo":"Annuler","fullScreen":"Basculer en plein écran","italic":"Italique","fontName":"Nom de police","justifyLeft":"Aligner à gauche","unlink":"Supprimer le lien","toggleTableBorder":"Afficher/Masquer la bordure du tableau","viewSource":"Afficher la source HTML","fontSize":"Taille de police","systemShortcut":"L'action \"${0}\" est disponible dans votre navigateur uniquement, par le biais d'un raccourci-clavier. Utilisez ${1}.","indent":"Retrait","redo":"Rétablir","strikethrough":"Barrer","justifyFull":"Justifier","justifyCenter":"Aligner au centre","hiliteColor":"Couleur d'arrière-plan","deleteTable":"Supprimer le tableau","outdent":"Retrait négatif","cut":"Couper","plainFormatBlock":"Style de paragraphe","toggleDir":"Changer de sens","bold":"Gras","tabIndent":"Retrait de tabulation","justifyRight":"Aligner à droite","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"};dojo.provide("dijit.form.nls.validate");dijit.form.nls.validate._built=true;dojo.provide("dijit.form.nls.validate.fr_fr");dijit.form.nls.validate.fr_fr={"rangeMessage":"Cette valeur n'est pas comprise dans la plage autorisée.","invalidMessage":"La valeur indiquée n'est pas correcte.","missingMessage":"Cette valeur est requise."};dojo.provide("dijit.form.nls.ComboBox");dijit.form.nls.ComboBox._built=true;dojo.provide("dijit.form.nls.ComboBox.fr_fr");dijit.form.nls.ComboBox.fr_fr={"previousMessage":"Choix précédents","nextMessage":"Plus de choix"};dojo.provide("dijit._editor.nls.FontChoice");dijit._editor.nls.FontChoice._built=true;dojo.provide("dijit._editor.nls.FontChoice.fr_fr");dijit._editor.nls.FontChoice.fr_fr={"noFormat":"Néant","1":"xxs","2":"xs","formatBlock":"Mise en forme","3":"s","4":"m","5":"l","6":"xl","7":"xxl","fantasy":"fantaisie","serif":"serif","p":"Paragraphe","pre":"Pré-mise en forme","sans-serif":"sans serif","fontName":"Police","h1":"En-tête","h2":"Sous-en-tête","h3":"Sous-sous-en-tête","monospace":"espacement fixe","fontSize":"Taille","cursive":"cursive"};dojo.provide("dijit._editor.nls.LinkDialog");dijit._editor.nls.LinkDialog._built=true;dojo.provide("dijit._editor.nls.LinkDialog.fr_fr");dijit._editor.nls.LinkDialog.fr_fr={"text":"Description :","insertImageTitle":"Propriétés de l'image","set":"Définir","newWindow":"Nouvelle fenêtre","topWindow":"Fenêtre supérieure","target":"Cible :","createLinkTitle":"Propriétés du lien","parentWindow":"Fenêtre parent","currentWindow":"Fenêtre actuelle","url":"URL :"};dojo.provide("dojo.cldr.nls.number");dojo.cldr.nls.number._built=true;dojo.provide("dojo.cldr.nls.number.fr_fr");dojo.cldr.nls.number.fr_fr={"group":" ","percentSign":"%","exponential":"E","percentFormat":"#,##0 %","scientificFormat":"#E0","list":";","infinity":"∞","patternDigit":"#","minusSign":"-","decimal":",","nan":"NaN","nativeZeroDigit":"0","perMille":"‰","decimalFormat":"#,##0.###","currencyFormat":"#,##0.00 ¤","plusSign":"+","currencySpacing-afterCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]","decimalFormat-short":"000T","currencySpacing-afterCurrency-insertBetween":" ","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]","currencySpacing-beforeCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-insertBetween":" "};dojo.provide("dojo.cldr.nls.currency");dojo.cldr.nls.currency._built=true;dojo.provide("dojo.cldr.nls.currency.fr_fr");dojo.cldr.nls.currency.fr_fr={"HKD_displayName":"dollar de Hong Kong","CHF_displayName":"franc suisse","CHF_symbol":"CHF","JPY_symbol":"¥JP","HKD_symbol":"$HK","CAD_displayName":"dollar canadien","CNY_displayName":"yuan renminbi chinois","USD_symbol":"$US","AUD_displayName":"dollar australien","JPY_displayName":"yen japonais","CAD_symbol":"$CA","USD_displayName":"dollar des États-Unis","CNY_symbol":"Ұ","GBP_displayName":"livre sterling","GBP_symbol":"£UK","AUD_symbol":"$AU","EUR_displayName":"euro","EUR_symbol":"€"};dojo.provide("dojo.cldr.nls.gregorian");dojo.cldr.nls.gregorian._built=true;dojo.provide("dojo.cldr.nls.gregorian.fr_fr");dojo.cldr.nls.gregorian.fr_fr={"months-format-narrow":["J","F","M","A","M","J","J","A","S","O","N","D"],"field-weekday":"jour de la semaine","dateFormatItem-yyQQQQ":"QQQQ yy","dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"EEE d/M/yyyy","dateFormatItem-MMMEd":"E d MMM","eraNarrow":["av. J.-C.","ap. J.-C."],"dayPeriods-format-wide-morning":"matin","dateFormatItem-MMMdd":"dd MMM","dateFormat-long":"d MMMM y","months-format-wide":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"dayPeriods-format-wide-pm":"PM","dateFormat-full":"EEEE d MMMM y","dateFormatItem-Md":"d/M","dayPeriods-format-wide-noon":"midi","field-era":"ère","dateFormatItem-yM":"M/yyyy","months-standAlone-wide":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"timeFormat-short":"HH:mm","quarters-format-wide":["1er trimestre","2e trimestre","3e trimestre","4e trimestre"],"timeFormat-long":"HH:mm:ss z","field-year":"année","dateFormatItem-yMMM":"MMM y","dateFormatItem-yQ":"'T'Q y","dateFormatItem-yyyyMMMM":"MMMM y","field-hour":"heure","dateFormatItem-MMdd":"dd/MM","months-format-abbr":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],"dateFormatItem-yyQ":"'T'Q yy","timeFormat-full":"HH:mm:ss zzzz","field-day-relative+0":"aujourd’hui","field-day-relative+1":"demain","field-day-relative+2":"après-demain","field-day-relative+3":"après-après-demain","months-standAlone-abbr":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],"quarters-format-abbr":["T1","T2","T3","T4"],"quarters-standAlone-wide":["1er trimestre","2e trimestre","3e trimestre","4e trimestre"],"dateFormatItem-M":"L","days-standAlone-wide":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"dateFormatItem-yyMMMEEEd":"EEE d MMM yy","dateFormatItem-yyMMM":"MMM yy","timeFormat-medium":"HH:mm:ss","dateFormatItem-Hm":"HH:mm","quarters-standAlone-abbr":["T1","T2","T3","T4"],"eraAbbr":["av. J.-C.","ap. J.-C."],"field-minute":"minute","field-dayperiod":"cadran","days-standAlone-abbr":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"dayPeriods-format-wide-night":"soir","dateFormatItem-yyMMMd":"d MMM yy","dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["T1","T2","T3","T4"],"field-day-relative+-1":"hier","field-day-relative+-2":"avant-hier","field-day-relative+-3":"avant-avant-hier","dateFormatItem-MMMd":"d MMM","dateFormatItem-MEd":"EEE d/M","field-day":"jour","days-format-wide":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"field-zone":"fuseau horaire","dateFormatItem-y":"y","months-standAlone-narrow":["J","F","M","A","M","J","J","A","S","O","N","D"],"dateFormatItem-yyMM":"MM/yy","days-format-abbr":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"eraNames":["avant Jésus-Christ","après Jésus-Christ"],"days-format-narrow":["D","L","M","M","J","V","S"],"field-month":"mois","days-standAlone-narrow":["D","L","M","M","J","V","S"],"dateFormatItem-MMM":"LLL","dayPeriods-format-wide-am":"AM","dateFormatItem-MMMMEd":"EEE d MMMM","dateFormat-short":"dd/MM/yy","dateFormatItem-MMd":"d/MM","dayPeriods-format-wide-afternoon":"après-midi","field-second":"seconde","dateFormatItem-yMMMEd":"EEE d MMM y","dateFormatItem-Ed":"E d","field-week":"semaine","dateFormat-medium":"d MMM y","dateFormatItem-Hms":"HH:mm:ss","quarters-standAlone-narrow":["1","2","3","4"],"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateTimeFormat-medium":"{1} {0}","dateFormatItem-EEEd":"d EEE","dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dateTimeFormats-appendItem-Era":"{0} {1}","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","dateFormatItem-H":"HH","dateFormatItem-h":"h a","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"AM","dateTimeFormat-full":"{1} {0}","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Year":"{0} {1}","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateTimeFormats-appendItem-Timezone":"{0} {1}","dayPeriods-format-narrow-pm":"PM","dateTimeFormat-short":"{1} {0}","dateFormatItem-hms":"h:mm:ss a"}; diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_fr.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_fr.js deleted file mode 100644 index 5dd59ff7..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_fr.js +++ /dev/null @@ -1 +0,0 @@ -dojo.provide("dijit.nls.dijit-all_fr");dojo.provide("dojo.nls.colors");dojo.nls.colors._built=true;dojo.provide("dojo.nls.colors.fr");dojo.nls.colors.fr={"lightsteelblue":"bleu acier clair","orangered":"rouge orangé","midnightblue":"bleu nuit","cadetblue":"bleu pétrole","seashell":"coquillage","slategrey":"gris ardoise","coral":"corail","darkturquoise":"turquoise foncé","antiquewhite":"blanc antique","mediumspringgreen":"vert printemps moyen","salmon":"saumon","darkgrey":"gris foncé","ivory":"ivoire","greenyellow":"vert-jaune","mistyrose":"rose pâle","lightsalmon":"saumon clair","silver":"argent","dimgrey":"gris soutenu","orange":"orange","white":"blanc","navajowhite":"chair","royalblue":"bleu roi","deeppink":"rose soutenu","lime":"vert citron","oldlace":"blanc cassé","chartreuse":"vert vif","darkcyan":"cyan foncé","yellow":"jaune","linen":"écru","olive":"olive","gold":"or","lawngreen":"vert prairie","lightyellow":"jaune clair","tan":"grège","darkviolet":"violet foncé","lightslategrey":"gris ardoise clair","grey":"gris","darkkhaki":"kaki foncé","green":"vert","deepskyblue":"bleu ciel soutenu","aqua":"bleu-vert","sienna":"terre de sienne","mintcream":"crème de menthe","rosybrown":"vieux rose","mediumslateblue":"bleu ardoise moyen","magenta":"magenta","lightseagreen":"vert d'eau clair","cyan":"cyan","olivedrab":"brun verdâtre","darkgoldenrod":"jaune paille foncé","slateblue":"bleu ardoise","mediumaquamarine":"aigue-marine moyen","lavender":"lavande","mediumseagreen":"vert d'eau moyen","maroon":"marron","darkslategray":"gris ardoise foncé","mediumturquoise":"turquoise moyen","ghostwhite":"blanc laiteux","darkblue":"bleu foncé","mediumvioletred":"rouge violacé moyen","brown":"brun","lightgray":"gris clair","sandybrown":"sable","pink":"rose","firebrick":"rouge brique","indigo":"indigo","snow":"neige","darkorchid":"lilas foncé","turquoise":"turquoise","chocolate":"chocolat","springgreen":"vert printemps","moccasin":"chamois","navy":"bleu marine","lemonchiffon":"mousse de citron","teal":"sarcelle","floralwhite":"lys","cornflowerblue":"bleuet","paleturquoise":"turquoise pâle","purple":"pourpre","gainsboro":"gris souris","plum":"prune","red":"rouge","blue":"bleu","forestgreen":"vert sapin","darkgreen":"vert foncé","honeydew":"opalin","darkseagreen":"vert d'eau foncé","lightcoral":"corail clair","palevioletred":"rouge violacé pâle","mediumpurple":"pourpre moyen","saddlebrown":"brun cuir","darkmagenta":"magenta foncé","thistle":"chardon","whitesmoke":"blanc cendré","wheat":"blé","violet":"violet","lightskyblue":"bleu ciel clair","goldenrod":"jaune paille","mediumblue":"bleu moyen","skyblue":"bleu ciel","crimson":"cramoisi","darksalmon":"saumon foncé","darkred":"rouge foncé","darkslategrey":"gris ardoise foncé","peru":"caramel","lightgrey":"gris clair","lightgoldenrodyellow":"jaune paille clair","blanchedalmond":"coquille d'oeuf","aliceblue":"bleu gris","bisque":"beige rosé","slategray":"gris ardoise","palegoldenrod":"jaune paille pâle","darkorange":"orange foncé","aquamarine":"aigue-marine","lightgreen":"vert clair","burlywood":"bois précieux","dodgerblue":"bleu France","darkgray":"gris foncé","lightcyan":"cyan clair","powderblue":"bleu de smalt","blueviolet":"bleu-violet","orchid":"lilas","dimgray":"gris soutenu","beige":"beige","fuchsia":"fuchsia","lavenderblush":"lavandin","hotpink":"rose intense","steelblue":"bleu acier","tomato":"tomate","lightpink":"rose clair","limegreen":"citron vert","indianred":"rose indien","papayawhip":"crème de papaye","lightslategray":"gris ardoise clair","gray":"gris","mediumorchid":"lilas moyen","cornsilk":"vanille","black":"noir","seagreen":"vert d'eau","darkslateblue":"bleu ardoise foncé","khaki":"kaki","lightblue":"bleu clair","palegreen":"vert pâle","azure":"bleu azur","peachpuff":"pêche","darkolivegreen":"olive foncé","yellowgreen":"vert jaunâtre"};dojo.provide("dijit.nls.loading");dijit.nls.loading._built=true;dojo.provide("dijit.nls.loading.fr");dijit.nls.loading.fr={"loadingState":"Chargement...","errorState":"Une erreur est survenue"};dojo.provide("dijit.nls.common");dijit.nls.common._built=true;dojo.provide("dijit.nls.common.fr");dijit.nls.common.fr={"buttonOk":"OK","buttonCancel":"Annuler","buttonSave":"Sauvegarder","itemClose":"Fermer"};dojo.provide("dijit._editor.nls.commands");dijit._editor.nls.commands._built=true;dojo.provide("dijit._editor.nls.commands.fr");dijit._editor.nls.commands.fr={"removeFormat":"Supprimer la mise en forme","copy":"Copier","paste":"Coller","selectAll":"Sélectionner tout","insertOrderedList":"Liste numérotée","insertTable":"Insérer/Modifier un tableau","print":"Imprimer","underline":"Souligner","foreColor":"Couleur d'avant-plan","htmlToggle":"Source HTML","formatBlock":"Style de paragraphe","newPage":"Nouvelle page","insertHorizontalRule":"Règle horizontale","delete":"Supprimer","insertUnorderedList":"Liste à puces","tableProp":"Propriété du tableau","insertImage":"Insérer une image","superscript":"Exposant","subscript":"Indice","createLink":"Créer un lien","undo":"Annuler","fullScreen":"Basculer en plein écran","italic":"Italique","fontName":"Nom de police","justifyLeft":"Aligner à gauche","unlink":"Supprimer le lien","toggleTableBorder":"Afficher/Masquer la bordure du tableau","viewSource":"Afficher la source HTML","fontSize":"Taille de police","systemShortcut":"L'action \"${0}\" est disponible dans votre navigateur uniquement, par le biais d'un raccourci-clavier. Utilisez ${1}.","indent":"Retrait","redo":"Rétablir","strikethrough":"Barrer","justifyFull":"Justifier","justifyCenter":"Aligner au centre","hiliteColor":"Couleur d'arrière-plan","deleteTable":"Supprimer le tableau","outdent":"Retrait négatif","cut":"Couper","plainFormatBlock":"Style de paragraphe","toggleDir":"Changer de sens","bold":"Gras","tabIndent":"Retrait de tabulation","justifyRight":"Aligner à droite","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"};dojo.provide("dijit.form.nls.validate");dijit.form.nls.validate._built=true;dojo.provide("dijit.form.nls.validate.fr");dijit.form.nls.validate.fr={"rangeMessage":"Cette valeur n'est pas comprise dans la plage autorisée.","invalidMessage":"La valeur indiquée n'est pas correcte.","missingMessage":"Cette valeur est requise."};dojo.provide("dijit.form.nls.ComboBox");dijit.form.nls.ComboBox._built=true;dojo.provide("dijit.form.nls.ComboBox.fr");dijit.form.nls.ComboBox.fr={"previousMessage":"Choix précédents","nextMessage":"Plus de choix"};dojo.provide("dijit._editor.nls.FontChoice");dijit._editor.nls.FontChoice._built=true;dojo.provide("dijit._editor.nls.FontChoice.fr");dijit._editor.nls.FontChoice.fr={"noFormat":"Néant","1":"xxs","2":"xs","formatBlock":"Mise en forme","3":"s","4":"m","5":"l","6":"xl","7":"xxl","fantasy":"fantaisie","serif":"serif","p":"Paragraphe","pre":"Pré-mise en forme","sans-serif":"sans serif","fontName":"Police","h1":"En-tête","h2":"Sous-en-tête","h3":"Sous-sous-en-tête","monospace":"espacement fixe","fontSize":"Taille","cursive":"cursive"};dojo.provide("dijit._editor.nls.LinkDialog");dijit._editor.nls.LinkDialog._built=true;dojo.provide("dijit._editor.nls.LinkDialog.fr");dijit._editor.nls.LinkDialog.fr={"text":"Description :","insertImageTitle":"Propriétés de l'image","set":"Définir","newWindow":"Nouvelle fenêtre","topWindow":"Fenêtre supérieure","target":"Cible :","createLinkTitle":"Propriétés du lien","parentWindow":"Fenêtre parent","currentWindow":"Fenêtre actuelle","url":"URL :"};dojo.provide("dojo.cldr.nls.number");dojo.cldr.nls.number._built=true;dojo.provide("dojo.cldr.nls.number.fr");dojo.cldr.nls.number.fr={"group":" ","percentSign":"%","exponential":"E","percentFormat":"#,##0 %","scientificFormat":"#E0","list":";","infinity":"∞","patternDigit":"#","minusSign":"-","decimal":",","nan":"NaN","nativeZeroDigit":"0","perMille":"‰","decimalFormat":"#,##0.###","currencyFormat":"#,##0.00 ¤","plusSign":"+","currencySpacing-afterCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]","decimalFormat-short":"000T","currencySpacing-afterCurrency-insertBetween":" ","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]","currencySpacing-beforeCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-insertBetween":" "};dojo.provide("dojo.cldr.nls.currency");dojo.cldr.nls.currency._built=true;dojo.provide("dojo.cldr.nls.currency.fr");dojo.cldr.nls.currency.fr={"HKD_displayName":"dollar de Hong Kong","CHF_displayName":"franc suisse","CHF_symbol":"CHF","JPY_symbol":"¥JP","HKD_symbol":"$HK","CAD_displayName":"dollar canadien","CNY_displayName":"yuan renminbi chinois","USD_symbol":"$US","AUD_displayName":"dollar australien","JPY_displayName":"yen japonais","CAD_symbol":"$CA","USD_displayName":"dollar des États-Unis","CNY_symbol":"Ұ","GBP_displayName":"livre sterling","GBP_symbol":"£UK","AUD_symbol":"$AU","EUR_displayName":"euro","EUR_symbol":"€"};dojo.provide("dojo.cldr.nls.gregorian");dojo.cldr.nls.gregorian._built=true;dojo.provide("dojo.cldr.nls.gregorian.fr");dojo.cldr.nls.gregorian.fr={"months-format-narrow":["J","F","M","A","M","J","J","A","S","O","N","D"],"field-weekday":"jour de la semaine","dateFormatItem-yyQQQQ":"QQQQ yy","dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"EEE d/M/yyyy","dateFormatItem-MMMEd":"E d MMM","eraNarrow":["av. J.-C.","ap. J.-C."],"dayPeriods-format-wide-morning":"matin","dateFormatItem-MMMdd":"dd MMM","dateFormat-long":"d MMMM y","months-format-wide":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"dayPeriods-format-wide-pm":"PM","dateFormat-full":"EEEE d MMMM y","dateFormatItem-Md":"d/M","dayPeriods-format-wide-noon":"midi","field-era":"ère","dateFormatItem-yM":"M/yyyy","months-standAlone-wide":["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],"timeFormat-short":"HH:mm","quarters-format-wide":["1er trimestre","2e trimestre","3e trimestre","4e trimestre"],"timeFormat-long":"HH:mm:ss z","field-year":"année","dateFormatItem-yMMM":"MMM y","dateFormatItem-yQ":"'T'Q y","dateFormatItem-yyyyMMMM":"MMMM y","field-hour":"heure","dateFormatItem-MMdd":"dd/MM","months-format-abbr":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],"dateFormatItem-yyQ":"'T'Q yy","timeFormat-full":"HH:mm:ss zzzz","field-day-relative+0":"aujourd’hui","field-day-relative+1":"demain","field-day-relative+2":"après-demain","field-day-relative+3":"après-après-demain","months-standAlone-abbr":["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],"quarters-format-abbr":["T1","T2","T3","T4"],"quarters-standAlone-wide":["1er trimestre","2e trimestre","3e trimestre","4e trimestre"],"dateFormatItem-M":"L","days-standAlone-wide":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"dateFormatItem-yyMMMEEEd":"EEE d MMM yy","dateFormatItem-yyMMM":"MMM yy","timeFormat-medium":"HH:mm:ss","dateFormatItem-Hm":"HH:mm","quarters-standAlone-abbr":["T1","T2","T3","T4"],"eraAbbr":["av. J.-C.","ap. J.-C."],"field-minute":"minute","field-dayperiod":"cadran","days-standAlone-abbr":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"dayPeriods-format-wide-night":"soir","dateFormatItem-yyMMMd":"d MMM yy","dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["T1","T2","T3","T4"],"field-day-relative+-1":"hier","field-day-relative+-2":"avant-hier","field-day-relative+-3":"avant-avant-hier","dateFormatItem-MMMd":"d MMM","dateFormatItem-MEd":"EEE d/M","field-day":"jour","days-format-wide":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"field-zone":"fuseau horaire","dateFormatItem-y":"y","months-standAlone-narrow":["J","F","M","A","M","J","J","A","S","O","N","D"],"dateFormatItem-yyMM":"MM/yy","days-format-abbr":["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],"eraNames":["avant Jésus-Christ","après Jésus-Christ"],"days-format-narrow":["D","L","M","M","J","V","S"],"field-month":"mois","days-standAlone-narrow":["D","L","M","M","J","V","S"],"dateFormatItem-MMM":"LLL","dayPeriods-format-wide-am":"AM","dateFormatItem-MMMMEd":"EEE d MMMM","dateFormat-short":"dd/MM/yy","dateFormatItem-MMd":"d/MM","dayPeriods-format-wide-afternoon":"après-midi","field-second":"seconde","dateFormatItem-yMMMEd":"EEE d MMM y","dateFormatItem-Ed":"E d","field-week":"semaine","dateFormat-medium":"d MMM y","dateFormatItem-Hms":"HH:mm:ss","quarters-standAlone-narrow":["1","2","3","4"],"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateTimeFormat-medium":"{1} {0}","dateFormatItem-EEEd":"d EEE","dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dateTimeFormats-appendItem-Era":"{0} {1}","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","dateFormatItem-H":"HH","dateFormatItem-h":"h a","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"AM","dateTimeFormat-full":"{1} {0}","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Year":"{0} {1}","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateTimeFormats-appendItem-Timezone":"{0} {1}","dayPeriods-format-narrow-pm":"PM","dateTimeFormat-short":"{1} {0}","dateFormatItem-hms":"h:mm:ss a"}; diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_it-it.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_it-it.js deleted file mode 100644 index ad342b40..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_it-it.js +++ /dev/null @@ -1 +0,0 @@ -dojo.provide("dijit.nls.dijit-all_it-it");dojo.provide("dojo.nls.colors");dojo.nls.colors._built=true;dojo.provide("dojo.nls.colors.it_it");dojo.nls.colors.it_it={"lightsteelblue":"blu acciao chiaro","orangered":"vermiglio","midnightblue":"blu melanzana scuro","cadetblue":"verde acqua","seashell":"sabbia rosa","slategrey":"grigio ardesia","coral":"corallo","darkturquoise":"turchese scuro","antiquewhite":"bianco antico","mediumspringgreen":"verde primavera medio","salmon":"salmone","darkgrey":"grigio scuro","ivory":"avorio","greenyellow":"giallo verde","mistyrose":"rosa pallido","lightsalmon":"salmone chiaro","silver":"grigio 25%","dimgrey":"grigio 80%","orange":"arancione","white":"bianco","navajowhite":"pesca chiaro","royalblue":"blu reale","deeppink":"ciclamino","lime":"verde fluorescente","oldlace":"mandorla","chartreuse":"verde brillante","darkcyan":"ciano scuro","yellow":"giallo","linen":"lino","olive":"verde oliva","gold":"oro","lawngreen":"verde prato","lightyellow":"giallo chiaro","tan":"grigio bruno","darkviolet":"viola scuro","lightslategrey":"grigio ardesia chiaro","grey":"grigio","darkkhaki":"kaki scuro","green":"verde","deepskyblue":"azzurro cielo scuro","aqua":"acqua","sienna":"cuoio","mintcream":"bianco nuvola","rosybrown":"marrone rosato","mediumslateblue":"blu ardesia medio","magenta":"magenta","lightseagreen":"verde mare chiaro","cyan":"ciano","olivedrab":"marrone oliva","darkgoldenrod":"ocra scuro","slateblue":"blu ardesia","mediumaquamarine":"acquamarina medio","lavender":"lavanda","mediumseagreen":"verde mare medio","maroon":"scarlatto","darkslategray":"grigio ardesia scuro","mediumturquoise":"turchese medio","ghostwhite":"bianco gesso","darkblue":"blu scuro","mediumvioletred":"vinaccia","brown":"marrone","lightgray":"grigio chiaro","sandybrown":"marrone sabbia","pink":"rosa","firebrick":"rosso mattone","indigo":"indaco","snow":"neve","darkorchid":"orchidea scuro","turquoise":"turchese","chocolate":"cioccolato","springgreen":"verde primavera","moccasin":"mocassino","navy":"blu notte","lemonchiffon":"caffelatte chiaro","teal":"verde turchese","floralwhite":"bianco giglio","cornflowerblue":"blu fiordaliso","paleturquoise":"turchese pallido","purple":"porpora","gainsboro":"grigio 10%","plum":"prugna","red":"rosso","blue":"blu","forestgreen":"verde foresta","darkgreen":"verde scuro","honeydew":"bianco germoglio","darkseagreen":"verde mare scuro","lightcoral":"rosa corallo","palevioletred":"vinaccia chiaro","mediumpurple":"porpora medio","saddlebrown":"cacao","darkmagenta":"magenta scuro","thistle":"rosa cenere","whitesmoke":"bianco fumo","wheat":"sabbia","violet":"viola","lightskyblue":"azzurro cielo chiaro","goldenrod":"ocra gialla","mediumblue":"blu medio","skyblue":"azzurro cielo","crimson":"cremisi","darksalmon":"salmone scuro","darkred":"rosso scuro","darkslategrey":"grigio ardesia scuro","peru":"marrone terra bruciata","lightgrey":"grigio chiaro","lightgoldenrodyellow":"giallo tenue","blanchedalmond":"mandorla chiaro","aliceblue":"blu alice","bisque":"incarnato","slategray":"grigio ardesia","palegoldenrod":"giallo zolfo chiaro","darkorange":"arancione scuro","aquamarine":"acquamarina","lightgreen":"verde chiaro","burlywood":"tabacco","dodgerblue":"blu d'oriente","darkgray":"grigio scuro","lightcyan":"ciano chiaro","powderblue":"azzurro polvere","blueviolet":"blu violetto","orchid":"orchidea","dimgray":"grigio 80%","beige":"beige","fuchsia":"fucsia","lavenderblush":"bianco rosato","hotpink":"rosa acceso","steelblue":"blu acciao","tomato":"pomodoro","lightpink":"rosa chiaro","limegreen":"verde lime","indianred":"terra indiana","papayawhip":"cipria","lightslategray":"grigio ardesia chiaro","gray":"grigio","mediumorchid":"orchidea medio","cornsilk":"crema","black":"nero","seagreen":"verde mare","darkslateblue":"blu ardesia scuro","khaki":"kaki","lightblue":"azzurro","palegreen":"verde pallido","azure":"azzurro ghiaccio","peachpuff":"pesca","darkolivegreen":"verde oliva scuro","yellowgreen":"giallo verde"};dojo.provide("dijit.nls.loading");dijit.nls.loading._built=true;dojo.provide("dijit.nls.loading.it_it");dijit.nls.loading.it_it={"loadingState":"Caricamento in corso...","errorState":"Si è verificato un errore"};dojo.provide("dijit.nls.common");dijit.nls.common._built=true;dojo.provide("dijit.nls.common.it_it");dijit.nls.common.it_it={"buttonOk":"OK","buttonCancel":"Annulla","buttonSave":"Salva","itemClose":"Chiudi"};dojo.provide("dijit._editor.nls.commands");dijit._editor.nls.commands._built=true;dojo.provide("dijit._editor.nls.commands.it_it");dijit._editor.nls.commands.it_it={"removeFormat":"Rimuovi formato","copy":"Copia","paste":"Incolla","selectAll":"Seleziona tutto","insertOrderedList":"Elenco numerato","insertTable":"Inserisci/Modifica tabella","print":"Stampa","underline":"Sottolineato","foreColor":"Colore primo piano","htmlToggle":"Origine HTML","formatBlock":"Stile paragrafo","newPage":"Nuova pagina","insertHorizontalRule":"Righello orizzontale","delete":"Elimina","insertUnorderedList":"Elenco puntato","tableProp":"Proprietà tabella","insertImage":"Inserisci immagine","superscript":"Apice","subscript":"Pedice","createLink":"Crea collegamento","undo":"Annulla","fullScreen":"Attiva/Disattiva schermo intero","italic":"Corsivo","fontName":"Nome carattere","justifyLeft":"Allinea a sinistra","unlink":"Rimuovi collegamento","toggleTableBorder":"Mostra/Nascondi margine tabella","viewSource":"Visualizza origine HTML","fontSize":"Dimensione carattere","systemShortcut":"Azione \"${0}\" disponibile sul proprio browser solo mediante i tasti di scelta rapida della tastiera. Utilizzare ${1}.","indent":"Rientra","redo":"Ripristina","strikethrough":"Barrato","justifyFull":"Giustifica","justifyCenter":"Allinea al centro","hiliteColor":"Colore sfondo","deleteTable":"Elimina tabella","outdent":"Rimuovi rientro","cut":"Taglia","plainFormatBlock":"Stile paragrafo","toggleDir":"Inverti direzione","bold":"Grassetto","tabIndent":"Rientranza tabulazione","justifyRight":"Allinea a destra","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"};dojo.provide("dijit.form.nls.validate");dijit.form.nls.validate._built=true;dojo.provide("dijit.form.nls.validate.it_it");dijit.form.nls.validate.it_it={"rangeMessage":"Questo valore non è compreso nell'intervallo.","invalidMessage":"Il valore immesso non è valido.","missingMessage":"Questo valore è obbligatorio."};dojo.provide("dijit.form.nls.ComboBox");dijit.form.nls.ComboBox._built=true;dojo.provide("dijit.form.nls.ComboBox.it_it");dijit.form.nls.ComboBox.it_it={"previousMessage":"Scelte precedenti","nextMessage":"Altre scelte"};dojo.provide("dijit._editor.nls.FontChoice");dijit._editor.nls.FontChoice._built=true;dojo.provide("dijit._editor.nls.FontChoice.it_it");dijit._editor.nls.FontChoice.it_it={"noFormat":"Nessuna","1":"xx-small","2":"x-small","formatBlock":"Formato","3":"small","4":"medium","5":"large","6":"x-large","7":"xx-large","fantasy":"fantasy","serif":"serif","p":"Paragrafo","pre":"Preformattato","sans-serif":"sans-serif","fontName":"Carattere","h1":"Intestazione","h2":"Sottointestazione","h3":"Sottointestazione secondaria","monospace":"spaziatura fissa","fontSize":"Dimensione","cursive":"corsivo"};dojo.provide("dijit._editor.nls.LinkDialog");dijit._editor.nls.LinkDialog._built=true;dojo.provide("dijit._editor.nls.LinkDialog.it_it");dijit._editor.nls.LinkDialog.it_it={"text":"Descrizione:","insertImageTitle":"Proprietà immagine","set":"Imposta","newWindow":"Nuova finestra","topWindow":"Finestra in primo piano","target":"Destinazione:","createLinkTitle":"Proprietà collegamento","parentWindow":"Finestra parent","currentWindow":"Finestra corrente","url":"URL:"};dojo.provide("dojo.cldr.nls.number");dojo.cldr.nls.number._built=true;dojo.provide("dojo.cldr.nls.number.it_it");dojo.cldr.nls.number.it_it={"decimalFormat":"#,##0.###","group":".","scientificFormat":"#E0","percentFormat":"#,##0%","currencyFormat":"¤ #,##0.00","decimal":",","currencySpacing-afterCurrency-currencyMatch":"[:letter:]","infinity":"∞","list":";","percentSign":"%","minusSign":"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]","decimalFormat-short":"000T","currencySpacing-afterCurrency-insertBetween":" ","nan":"NaN","nativeZeroDigit":"0","plusSign":"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]","currencySpacing-beforeCurrency-currencyMatch":"[:letter:]","perMille":"‰","patternDigit":"#","currencySpacing-beforeCurrency-insertBetween":" ","exponential":"E"};dojo.provide("dojo.cldr.nls.currency");dojo.cldr.nls.currency._built=true;dojo.provide("dojo.cldr.nls.currency.it_it");dojo.cldr.nls.currency.it_it={"HKD_displayName":"Dollaro di Hong Kong","CHF_displayName":"Franco Svizzero","CAD_displayName":"Dollaro Canadese","CNY_displayName":"Renmimbi Cinese","AUD_displayName":"Dollaro Australiano","JPY_displayName":"Yen Giapponese","USD_displayName":"Dollaro Statunitense","GBP_displayName":"Sterlina Inglese","EUR_displayName":"Euro","USD_symbol":"US$","CAD_symbol":"CA$","GBP_symbol":"£","HKD_symbol":"HK$","JPY_symbol":"JP¥","AUD_symbol":"AU$","CNY_symbol":"CN¥","EUR_symbol":"€"};dojo.provide("dojo.cldr.nls.gregorian");dojo.cldr.nls.gregorian._built=true;dojo.provide("dojo.cldr.nls.gregorian.it_it");dojo.cldr.nls.gregorian.it_it={"months-format-narrow":["G","F","M","A","M","G","L","A","S","O","N","D"],"field-weekday":"giorno della settimana","dateFormatItem-yyQQQQ":"QQQQ yy","dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"EEE, d/M/y","dateFormatItem-MMMEd":"EEE d MMM","eraNarrow":["aC","dC"],"dateFormat-long":"dd MMMM y","months-format-wide":["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],"dayPeriods-format-wide-pm":"p.","dateFormat-full":"EEEE d MMMM y","dateFormatItem-Md":"d/M","field-era":"era","dateFormatItem-yM":"M/y","months-standAlone-wide":["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],"timeFormat-short":"HH:mm","quarters-format-wide":["1o trimestre","2o trimestre","3o trimestre","4o trimestre"],"timeFormat-long":"HH:mm:ss z","field-year":"anno","dateFormatItem-yMMM":"MMM y","dateFormatItem-yQ":"Q-yyyy","dateFormatItem-yyyyMMMM":"MMMM y","field-hour":"ora","dateFormatItem-MMdd":"dd/MM","months-format-abbr":["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],"dateFormatItem-yyQ":"Q yy","timeFormat-full":"HH:mm:ss zzzz","field-day-relative+0":"oggi","field-day-relative+1":"domani","field-day-relative+2":"dopodomani","field-day-relative+3":"tra tre giorni","months-standAlone-abbr":["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],"quarters-format-abbr":["T1","T2","T3","T4"],"quarters-standAlone-wide":["1o trimestre","2o trimestre","3o trimestre","4o trimestre"],"dateFormatItem-M":"L","days-standAlone-wide":["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],"timeFormat-medium":"HH:mm:ss","dateFormatItem-Hm":"HH:mm","quarters-standAlone-abbr":["T1","T2","T3","T4"],"eraAbbr":["aC","dC"],"field-minute":"minuto","field-dayperiod":"periodo del giorno","days-standAlone-abbr":["dom","lun","mar","mer","gio","ven","sab"],"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","field-day-relative+-1":"ieri","dateFormatItem-h":"hh a","field-day-relative+-2":"l'altro ieri","field-day-relative+-3":"tre giorni fa","dateFormatItem-MMMd":"d MMM","dateFormatItem-MEd":"EEE d/M","field-day":"giorno","days-format-wide":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],"field-zone":"zona","dateFormatItem-y":"y","months-standAlone-narrow":["G","F","M","A","M","G","L","A","S","O","N","D"],"dateFormatItem-yyMM":"MM/yy","dateFormatItem-hm":"hh:mm a","days-format-abbr":["dom","lun","mar","mer","gio","ven","sab"],"eraNames":["a.C.","d.C"],"days-format-narrow":["D","L","M","M","G","V","S"],"field-month":"mese","days-standAlone-narrow":["D","L","M","M","G","V","S"],"dateFormatItem-MMM":"LLL","dayPeriods-format-wide-am":"m.","dateFormatItem-MMMMdd":"dd MMMM","dateFormat-short":"dd/MM/yy","field-second":"secondo","dateFormatItem-yMMMEd":"EEE d MMM y","dateFormatItem-Ed":"E d","field-week":"settimana","dateFormat-medium":"dd/MMM/y","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-hms":"hh:mm:ss a","quarters-standAlone-narrow":["1","2","3","4"],"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateTimeFormat-medium":"{1} {0}","dateFormatItem-EEEd":"d EEE","dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dateTimeFormats-appendItem-Era":"{0} {1}","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","dateFormatItem-H":"HH","quarters-format-narrow":["1","2","3","4"],"dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"AM","dateTimeFormat-full":"{1} {0}","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dateTimeFormats-appendItem-Year":"{0} {1}","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateTimeFormats-appendItem-Timezone":"{0} {1}","dayPeriods-format-narrow-pm":"PM","dateTimeFormat-short":"{1} {0}"}; diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_it.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_it.js deleted file mode 100644 index e35ccab0..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_it.js +++ /dev/null @@ -1 +0,0 @@ -dojo.provide("dijit.nls.dijit-all_it");dojo.provide("dojo.nls.colors");dojo.nls.colors._built=true;dojo.provide("dojo.nls.colors.it");dojo.nls.colors.it={"lightsteelblue":"blu acciao chiaro","orangered":"vermiglio","midnightblue":"blu melanzana scuro","cadetblue":"verde acqua","seashell":"sabbia rosa","slategrey":"grigio ardesia","coral":"corallo","darkturquoise":"turchese scuro","antiquewhite":"bianco antico","mediumspringgreen":"verde primavera medio","salmon":"salmone","darkgrey":"grigio scuro","ivory":"avorio","greenyellow":"giallo verde","mistyrose":"rosa pallido","lightsalmon":"salmone chiaro","silver":"grigio 25%","dimgrey":"grigio 80%","orange":"arancione","white":"bianco","navajowhite":"pesca chiaro","royalblue":"blu reale","deeppink":"ciclamino","lime":"verde fluorescente","oldlace":"mandorla","chartreuse":"verde brillante","darkcyan":"ciano scuro","yellow":"giallo","linen":"lino","olive":"verde oliva","gold":"oro","lawngreen":"verde prato","lightyellow":"giallo chiaro","tan":"grigio bruno","darkviolet":"viola scuro","lightslategrey":"grigio ardesia chiaro","grey":"grigio","darkkhaki":"kaki scuro","green":"verde","deepskyblue":"azzurro cielo scuro","aqua":"acqua","sienna":"cuoio","mintcream":"bianco nuvola","rosybrown":"marrone rosato","mediumslateblue":"blu ardesia medio","magenta":"magenta","lightseagreen":"verde mare chiaro","cyan":"ciano","olivedrab":"marrone oliva","darkgoldenrod":"ocra scuro","slateblue":"blu ardesia","mediumaquamarine":"acquamarina medio","lavender":"lavanda","mediumseagreen":"verde mare medio","maroon":"scarlatto","darkslategray":"grigio ardesia scuro","mediumturquoise":"turchese medio","ghostwhite":"bianco gesso","darkblue":"blu scuro","mediumvioletred":"vinaccia","brown":"marrone","lightgray":"grigio chiaro","sandybrown":"marrone sabbia","pink":"rosa","firebrick":"rosso mattone","indigo":"indaco","snow":"neve","darkorchid":"orchidea scuro","turquoise":"turchese","chocolate":"cioccolato","springgreen":"verde primavera","moccasin":"mocassino","navy":"blu notte","lemonchiffon":"caffelatte chiaro","teal":"verde turchese","floralwhite":"bianco giglio","cornflowerblue":"blu fiordaliso","paleturquoise":"turchese pallido","purple":"porpora","gainsboro":"grigio 10%","plum":"prugna","red":"rosso","blue":"blu","forestgreen":"verde foresta","darkgreen":"verde scuro","honeydew":"bianco germoglio","darkseagreen":"verde mare scuro","lightcoral":"rosa corallo","palevioletred":"vinaccia chiaro","mediumpurple":"porpora medio","saddlebrown":"cacao","darkmagenta":"magenta scuro","thistle":"rosa cenere","whitesmoke":"bianco fumo","wheat":"sabbia","violet":"viola","lightskyblue":"azzurro cielo chiaro","goldenrod":"ocra gialla","mediumblue":"blu medio","skyblue":"azzurro cielo","crimson":"cremisi","darksalmon":"salmone scuro","darkred":"rosso scuro","darkslategrey":"grigio ardesia scuro","peru":"marrone terra bruciata","lightgrey":"grigio chiaro","lightgoldenrodyellow":"giallo tenue","blanchedalmond":"mandorla chiaro","aliceblue":"blu alice","bisque":"incarnato","slategray":"grigio ardesia","palegoldenrod":"giallo zolfo chiaro","darkorange":"arancione scuro","aquamarine":"acquamarina","lightgreen":"verde chiaro","burlywood":"tabacco","dodgerblue":"blu d'oriente","darkgray":"grigio scuro","lightcyan":"ciano chiaro","powderblue":"azzurro polvere","blueviolet":"blu violetto","orchid":"orchidea","dimgray":"grigio 80%","beige":"beige","fuchsia":"fucsia","lavenderblush":"bianco rosato","hotpink":"rosa acceso","steelblue":"blu acciao","tomato":"pomodoro","lightpink":"rosa chiaro","limegreen":"verde lime","indianred":"terra indiana","papayawhip":"cipria","lightslategray":"grigio ardesia chiaro","gray":"grigio","mediumorchid":"orchidea medio","cornsilk":"crema","black":"nero","seagreen":"verde mare","darkslateblue":"blu ardesia scuro","khaki":"kaki","lightblue":"azzurro","palegreen":"verde pallido","azure":"azzurro ghiaccio","peachpuff":"pesca","darkolivegreen":"verde oliva scuro","yellowgreen":"giallo verde"};dojo.provide("dijit.nls.loading");dijit.nls.loading._built=true;dojo.provide("dijit.nls.loading.it");dijit.nls.loading.it={"loadingState":"Caricamento in corso...","errorState":"Si è verificato un errore"};dojo.provide("dijit.nls.common");dijit.nls.common._built=true;dojo.provide("dijit.nls.common.it");dijit.nls.common.it={"buttonOk":"OK","buttonCancel":"Annulla","buttonSave":"Salva","itemClose":"Chiudi"};dojo.provide("dijit._editor.nls.commands");dijit._editor.nls.commands._built=true;dojo.provide("dijit._editor.nls.commands.it");dijit._editor.nls.commands.it={"removeFormat":"Rimuovi formato","copy":"Copia","paste":"Incolla","selectAll":"Seleziona tutto","insertOrderedList":"Elenco numerato","insertTable":"Inserisci/Modifica tabella","print":"Stampa","underline":"Sottolineato","foreColor":"Colore primo piano","htmlToggle":"Origine HTML","formatBlock":"Stile paragrafo","newPage":"Nuova pagina","insertHorizontalRule":"Righello orizzontale","delete":"Elimina","insertUnorderedList":"Elenco puntato","tableProp":"Proprietà tabella","insertImage":"Inserisci immagine","superscript":"Apice","subscript":"Pedice","createLink":"Crea collegamento","undo":"Annulla","fullScreen":"Attiva/Disattiva schermo intero","italic":"Corsivo","fontName":"Nome carattere","justifyLeft":"Allinea a sinistra","unlink":"Rimuovi collegamento","toggleTableBorder":"Mostra/Nascondi margine tabella","viewSource":"Visualizza origine HTML","fontSize":"Dimensione carattere","systemShortcut":"Azione \"${0}\" disponibile sul proprio browser solo mediante i tasti di scelta rapida della tastiera. Utilizzare ${1}.","indent":"Rientra","redo":"Ripristina","strikethrough":"Barrato","justifyFull":"Giustifica","justifyCenter":"Allinea al centro","hiliteColor":"Colore sfondo","deleteTable":"Elimina tabella","outdent":"Rimuovi rientro","cut":"Taglia","plainFormatBlock":"Stile paragrafo","toggleDir":"Inverti direzione","bold":"Grassetto","tabIndent":"Rientranza tabulazione","justifyRight":"Allinea a destra","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"};dojo.provide("dijit.form.nls.validate");dijit.form.nls.validate._built=true;dojo.provide("dijit.form.nls.validate.it");dijit.form.nls.validate.it={"rangeMessage":"Questo valore non è compreso nell'intervallo.","invalidMessage":"Il valore immesso non è valido.","missingMessage":"Questo valore è obbligatorio."};dojo.provide("dijit.form.nls.ComboBox");dijit.form.nls.ComboBox._built=true;dojo.provide("dijit.form.nls.ComboBox.it");dijit.form.nls.ComboBox.it={"previousMessage":"Scelte precedenti","nextMessage":"Altre scelte"};dojo.provide("dijit._editor.nls.FontChoice");dijit._editor.nls.FontChoice._built=true;dojo.provide("dijit._editor.nls.FontChoice.it");dijit._editor.nls.FontChoice.it={"noFormat":"Nessuna","1":"xx-small","2":"x-small","formatBlock":"Formato","3":"small","4":"medium","5":"large","6":"x-large","7":"xx-large","fantasy":"fantasy","serif":"serif","p":"Paragrafo","pre":"Preformattato","sans-serif":"sans-serif","fontName":"Carattere","h1":"Intestazione","h2":"Sottointestazione","h3":"Sottointestazione secondaria","monospace":"spaziatura fissa","fontSize":"Dimensione","cursive":"corsivo"};dojo.provide("dijit._editor.nls.LinkDialog");dijit._editor.nls.LinkDialog._built=true;dojo.provide("dijit._editor.nls.LinkDialog.it");dijit._editor.nls.LinkDialog.it={"text":"Descrizione:","insertImageTitle":"Proprietà immagine","set":"Imposta","newWindow":"Nuova finestra","topWindow":"Finestra in primo piano","target":"Destinazione:","createLinkTitle":"Proprietà collegamento","parentWindow":"Finestra parent","currentWindow":"Finestra corrente","url":"URL:"};dojo.provide("dojo.cldr.nls.number");dojo.cldr.nls.number._built=true;dojo.provide("dojo.cldr.nls.number.it");dojo.cldr.nls.number.it={"decimalFormat":"#,##0.###","group":".","scientificFormat":"#E0","percentFormat":"#,##0%","currencyFormat":"¤ #,##0.00","decimal":",","currencySpacing-afterCurrency-currencyMatch":"[:letter:]","infinity":"∞","list":";","percentSign":"%","minusSign":"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]","decimalFormat-short":"000T","currencySpacing-afterCurrency-insertBetween":" ","nan":"NaN","nativeZeroDigit":"0","plusSign":"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]","currencySpacing-beforeCurrency-currencyMatch":"[:letter:]","perMille":"‰","patternDigit":"#","currencySpacing-beforeCurrency-insertBetween":" ","exponential":"E"};dojo.provide("dojo.cldr.nls.currency");dojo.cldr.nls.currency._built=true;dojo.provide("dojo.cldr.nls.currency.it");dojo.cldr.nls.currency.it={"HKD_displayName":"Dollaro di Hong Kong","CHF_displayName":"Franco Svizzero","CAD_displayName":"Dollaro Canadese","CNY_displayName":"Renmimbi Cinese","AUD_displayName":"Dollaro Australiano","JPY_displayName":"Yen Giapponese","USD_displayName":"Dollaro Statunitense","GBP_displayName":"Sterlina Inglese","EUR_displayName":"Euro","USD_symbol":"US$","CAD_symbol":"CA$","GBP_symbol":"£","HKD_symbol":"HK$","JPY_symbol":"JP¥","AUD_symbol":"AU$","CNY_symbol":"CN¥","EUR_symbol":"€"};dojo.provide("dojo.cldr.nls.gregorian");dojo.cldr.nls.gregorian._built=true;dojo.provide("dojo.cldr.nls.gregorian.it");dojo.cldr.nls.gregorian.it={"months-format-narrow":["G","F","M","A","M","G","L","A","S","O","N","D"],"field-weekday":"giorno della settimana","dateFormatItem-yyQQQQ":"QQQQ yy","dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"EEE, d/M/y","dateFormatItem-MMMEd":"EEE d MMM","eraNarrow":["aC","dC"],"dateFormat-long":"dd MMMM y","months-format-wide":["gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre"],"dayPeriods-format-wide-pm":"p.","dateFormat-full":"EEEE d MMMM y","dateFormatItem-Md":"d/M","field-era":"era","dateFormatItem-yM":"M/y","months-standAlone-wide":["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],"timeFormat-short":"HH:mm","quarters-format-wide":["1o trimestre","2o trimestre","3o trimestre","4o trimestre"],"timeFormat-long":"HH:mm:ss z","field-year":"anno","dateFormatItem-yMMM":"MMM y","dateFormatItem-yQ":"Q-yyyy","dateFormatItem-yyyyMMMM":"MMMM y","field-hour":"ora","dateFormatItem-MMdd":"dd/MM","months-format-abbr":["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],"dateFormatItem-yyQ":"Q yy","timeFormat-full":"HH:mm:ss zzzz","field-day-relative+0":"oggi","field-day-relative+1":"domani","field-day-relative+2":"dopodomani","field-day-relative+3":"tra tre giorni","months-standAlone-abbr":["gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic"],"quarters-format-abbr":["T1","T2","T3","T4"],"quarters-standAlone-wide":["1o trimestre","2o trimestre","3o trimestre","4o trimestre"],"dateFormatItem-M":"L","days-standAlone-wide":["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],"timeFormat-medium":"HH:mm:ss","dateFormatItem-Hm":"HH:mm","quarters-standAlone-abbr":["T1","T2","T3","T4"],"eraAbbr":["aC","dC"],"field-minute":"minuto","field-dayperiod":"periodo del giorno","days-standAlone-abbr":["dom","lun","mar","mer","gio","ven","sab"],"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","field-day-relative+-1":"ieri","dateFormatItem-h":"hh a","field-day-relative+-2":"l'altro ieri","field-day-relative+-3":"tre giorni fa","dateFormatItem-MMMd":"d MMM","dateFormatItem-MEd":"EEE d/M","field-day":"giorno","days-format-wide":["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"],"field-zone":"zona","dateFormatItem-y":"y","months-standAlone-narrow":["G","F","M","A","M","G","L","A","S","O","N","D"],"dateFormatItem-yyMM":"MM/yy","dateFormatItem-hm":"hh:mm a","days-format-abbr":["dom","lun","mar","mer","gio","ven","sab"],"eraNames":["a.C.","d.C"],"days-format-narrow":["D","L","M","M","G","V","S"],"field-month":"mese","days-standAlone-narrow":["D","L","M","M","G","V","S"],"dateFormatItem-MMM":"LLL","dayPeriods-format-wide-am":"m.","dateFormatItem-MMMMdd":"dd MMMM","dateFormat-short":"dd/MM/yy","field-second":"secondo","dateFormatItem-yMMMEd":"EEE d MMM y","dateFormatItem-Ed":"E d","field-week":"settimana","dateFormat-medium":"dd/MMM/y","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-hms":"hh:mm:ss a","quarters-standAlone-narrow":["1","2","3","4"],"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateTimeFormat-medium":"{1} {0}","dateFormatItem-EEEd":"d EEE","dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dateTimeFormats-appendItem-Era":"{0} {1}","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","dateFormatItem-H":"HH","quarters-format-narrow":["1","2","3","4"],"dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"AM","dateTimeFormat-full":"{1} {0}","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dateTimeFormats-appendItem-Year":"{0} {1}","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateTimeFormats-appendItem-Timezone":"{0} {1}","dayPeriods-format-narrow-pm":"PM","dateTimeFormat-short":"{1} {0}"}; diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_ru.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_ru.js deleted file mode 100644 index cddecd4d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/dijit-all_ru.js +++ /dev/null @@ -1 +0,0 @@ -dojo.provide("dijit.nls.dijit-all_ru");dojo.provide("dojo.nls.colors");dojo.nls.colors._built=true;dojo.provide("dojo.nls.colors.ru");dojo.nls.colors.ru={"lightsteelblue":"светлый стальной","orangered":"оранжево-красный","midnightblue":"полуночно-синий","cadetblue":"серо-синий","seashell":"морская раковина","slategrey":"грифельно-серый","coral":"коралловый","darkturquoise":"темный бирюзовый","antiquewhite":"белый антик","mediumspringgreen":"нейтральный весенне-зеленый","salmon":"лососевый","darkgrey":"темно-серый","ivory":"слоновой кости","greenyellow":"зелено-желтый","mistyrose":"блекло-розовый","lightsalmon":"светло-лососевый","silver":"серебристый","dimgrey":"тускло-серый","orange":"оранжевый","white":"белый","navajowhite":"белый навахо","royalblue":"королевский голубой","deeppink":"темно-розовый","lime":"лайм","oldlace":"матово-белый","chartreuse":"желто-салатный","darkcyan":"темный циан","yellow":"желтый","linen":"хлопковый","olive":"оливковый","gold":"золотой","lawngreen":"зеленая лужайка","lightyellow":"светло-желтый","tan":"рыжевато-коричневый","darkviolet":"темно-фиолетовый","lightslategrey":"светлый грифельно-серый","grey":"серый","darkkhaki":"темный хаки","green":"зеленый","deepskyblue":"темный небесно-голубой","aqua":"зеленовато-голубой","sienna":"охра","mintcream":"мятно-кремовый","rosybrown":"розово-коричневый","mediumslateblue":"нейтральный грифельно-синий","magenta":"пурпурный","lightseagreen":"светлый морской волны","cyan":"циан","olivedrab":"желтовато-серый","darkgoldenrod":"темно-золотистый","slateblue":"грифельно-синий","mediumaquamarine":"нейтральный аквамарин","lavender":"бледно-лиловый","mediumseagreen":"нейтральный морской волны","maroon":"темно-бордовый","darkslategray":"темный грифельно-серый","mediumturquoise":"нейтральный бирюзовый","ghostwhite":"призрачно-белый","darkblue":"темно-синий","mediumvioletred":"нейтральный фиолетово-красный","brown":"коричневый","lightgray":"светло-серый","sandybrown":"коричнево-песчаный","pink":"розовый","firebrick":"кирпичный","indigo":"индиго","snow":"белоснежный","darkorchid":"темный орсель","turquoise":"бирюзовый","chocolate":"шоколадный","springgreen":"весенний зеленый","moccasin":"мокасин","navy":"темно-синий","lemonchiffon":"бледно-лимонный","teal":"чирок","floralwhite":"цветочно-белый","cornflowerblue":"фиолетово-синий","paleturquoise":"бледно-бирюзовый","purple":"фиолетовый","gainsboro":"бледно-серый","plum":"сливовый","red":"красный","blue":"синий","forestgreen":"зеленый лесной","darkgreen":"темно-зеленый","honeydew":"медовый","darkseagreen":"темный морской волны","lightcoral":"светло-коралловый","palevioletred":"бледный фиолетово-красный","mediumpurple":"нейтральный фиолетовый","saddlebrown":"кожано-коричневый","darkmagenta":"темно-пурпурный","thistle":"чертополох","whitesmoke":"дымчато-белый","wheat":"пшеница","violet":"фиолетовый","lightskyblue":"светлый небесно-голубой","goldenrod":"золотистый","mediumblue":"нейтральный синий","skyblue":"небесно-голубой","crimson":"малиновый","darksalmon":"темно-лососевый","darkred":"темно-красный","darkslategrey":"темный грифельно-серый","peru":"перу","lightgrey":"светло-серый","lightgoldenrodyellow":"светло-золотистый","blanchedalmond":"светло-миндальный","aliceblue":"серо-голубой","bisque":"бисквитный","slategray":"грифельно-серый","palegoldenrod":"бледно-золотистый","darkorange":"темно-оранжевый","aquamarine":"аквамарин","lightgreen":"светло-зеленый","burlywood":"светло-коричневый","dodgerblue":"бледно-синий","darkgray":"темно-серый","lightcyan":"светлый циан","powderblue":"пороховой","blueviolet":"сине-фиолетовый","orchid":"орсель","dimgray":"тускло-серый","beige":"бежевый","fuchsia":"фуксин","lavenderblush":"розовато-лиловый","hotpink":"красно-розовый","steelblue":"стальной","tomato":"помидор","lightpink":"светло-розовый","limegreen":"зеленый лайм","indianred":"индийский красный","papayawhip":"черенок папайи","lightslategray":"светлый грифельно-серый","gray":"серый","mediumorchid":"нейтральный орсель","cornsilk":"шелковый оттенок","black":"черный","seagreen":"морской волны","darkslateblue":"темный грифельно-синий","khaki":"хаки","lightblue":"светло-синий","palegreen":"бледно-зеленый","azure":"лазурный","peachpuff":"персиковый","darkolivegreen":"темно-оливковый","yellowgreen":"желто-зеленый"};dojo.provide("dijit.nls.loading");dijit.nls.loading._built=true;dojo.provide("dijit.nls.loading.ru");dijit.nls.loading.ru={"loadingState":"Загрузка...","errorState":"Извините, возникла ошибка"};dojo.provide("dijit.nls.common");dijit.nls.common._built=true;dojo.provide("dijit.nls.common.ru");dijit.nls.common.ru={"buttonOk":"ОК","buttonCancel":"Отмена","buttonSave":"Сохранить","itemClose":"Закрыть"};dojo.provide("dijit._editor.nls.commands");dijit._editor.nls.commands._built=true;dojo.provide("dijit._editor.nls.commands.ru");dijit._editor.nls.commands.ru={"removeFormat":"Удалить формат","copy":"Копировать","paste":"Вставить","selectAll":"Выбрать все","insertOrderedList":"Нумерованный список","insertTable":"Вставить/изменить таблицу","print":"Печать","underline":"Подчеркивание","foreColor":"Цвет текста","htmlToggle":"Код HTML","formatBlock":"Стиль абзаца","newPage":"Создать страницу","insertHorizontalRule":"Горизонтальная линейка","delete":"Удалить","insertUnorderedList":"Список с маркерами","tableProp":"Свойства таблицы","insertImage":"Вставить изображение","superscript":"Верхний индекс","subscript":"Нижний индекс","createLink":"Создать ссылку","undo":"Отменить","fullScreen":"Переключить полноэкранный режим","italic":"Курсив","fontName":"Название шрифта","justifyLeft":"По левому краю","unlink":"Удалить ссылку","toggleTableBorder":"Переключить рамку таблицы","viewSource":"Показать исходный код HTML","fontSize":"Размер шрифта","systemShortcut":"Действие \"${0}\" можно выполнить в браузере только путем нажатия клавиш ${1}.","indent":"Отступ","redo":"Повторить","strikethrough":"Перечеркивание","justifyFull":"По ширине","justifyCenter":"По центру","hiliteColor":"Цвет фона","deleteTable":"Удалить таблицу","outdent":"Втяжка","cut":"Вырезать","plainFormatBlock":"Стиль абзаца","toggleDir":"Изменить направление","bold":"Полужирный","tabIndent":"Табуляция","justifyRight":"По правому краю","appleKey":"⌘${0}","ctrlKey":"ctrl+${0}"};dojo.provide("dijit.form.nls.validate");dijit.form.nls.validate._built=true;dojo.provide("dijit.form.nls.validate.ru");dijit.form.nls.validate.ru={"rangeMessage":"Это значение вне диапазона.","invalidMessage":"Указано недопустимое значение.","missingMessage":"Это обязательное значение."};dojo.provide("dijit.form.nls.ComboBox");dijit.form.nls.ComboBox._built=true;dojo.provide("dijit.form.nls.ComboBox.ru");dijit.form.nls.ComboBox.ru={"previousMessage":"Предыдущие варианты","nextMessage":"Следующие варианты"};dojo.provide("dijit._editor.nls.FontChoice");dijit._editor.nls.FontChoice._built=true;dojo.provide("dijit._editor.nls.FontChoice.ru");dijit._editor.nls.FontChoice.ru={"noFormat":"Нет","1":"самый маленький","2":"очень маленький","formatBlock":"Формат","3":"маленький","4":"средний","5":"большой","6":"очень большой","7":"самый большой","fantasy":"артистический","serif":"с засечками","p":"Абзац","pre":"Заранее отформатированный","sans-serif":"без засечек","fontName":"Шрифт","h1":"Заголовок","h2":"Подзаголовок","h3":"Вложенный подзаголовок","monospace":"непропорциональный","fontSize":"Размер","cursive":"курсив"};dojo.provide("dijit._editor.nls.LinkDialog");dijit._editor.nls.LinkDialog._built=true;dojo.provide("dijit._editor.nls.LinkDialog.ru");dijit._editor.nls.LinkDialog.ru={"text":"Описание:","insertImageTitle":"Свойства изображения","set":"Задать","newWindow":"Новое окно","topWindow":"Верхнее окно","target":"Целевой объект:","createLinkTitle":"Свойства ссылки","parentWindow":"Родительское окно","currentWindow":"Текущее окно","url":"URL:"};dojo.provide("dojo.cldr.nls.number");dojo.cldr.nls.number._built=true;dojo.provide("dojo.cldr.nls.number.ru");dojo.cldr.nls.number.ru={"group":" ","percentSign":"%","exponential":"E","percentFormat":"#,##0 %","scientificFormat":"#E0","list":";","infinity":"∞","patternDigit":"#","minusSign":"-","decimal":",","nativeZeroDigit":"0","perMille":"‰","decimalFormat":"#,##0.###","currencyFormat":"#,##0.00 ¤","plusSign":"+","currencySpacing-afterCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]","decimalFormat-short":"000T","currencySpacing-afterCurrency-insertBetween":" ","nan":"NaN","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]","currencySpacing-beforeCurrency-currencyMatch":"[:letter:]","currencySpacing-beforeCurrency-insertBetween":" "};dojo.provide("dojo.cldr.nls.currency");dojo.cldr.nls.currency._built=true;dojo.provide("dojo.cldr.nls.currency.ru");dojo.cldr.nls.currency.ru={"HKD_displayName":"Гонконгский доллар","CHF_displayName":"Швейцарский франк","CAD_displayName":"Канадский доллар","CNY_displayName":"Юань Ренминби","USD_symbol":"$","AUD_displayName":"Австралийский доллар","JPY_displayName":"Японская иена","USD_displayName":"Доллар США","GBP_displayName":"Английский фунт стерлингов","EUR_displayName":"Евро","CAD_symbol":"CA$","GBP_symbol":"£","HKD_symbol":"HK$","JPY_symbol":"JP¥","AUD_symbol":"AU$","CNY_symbol":"CN¥","EUR_symbol":"€"};dojo.provide("dojo.cldr.nls.gregorian");dojo.cldr.nls.gregorian._built=true;dojo.provide("dojo.cldr.nls.gregorian.ru");dojo.cldr.nls.gregorian.ru={"dateFormatItem-yM":"M.y","field-dayperiod":"AM/PM","field-minute":"Минута","eraNames":["до н.э.","н.э."],"dateFormatItem-MMMEd":"ccc, d MMM","field-day-relative+-1":"Вчера","field-weekday":"День недели","dateFormatItem-yQQQ":"y QQQ","field-day-relative+-2":"Позавчера","dateFormatItem-MMdd":"dd.MM","days-standAlone-wide":["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],"dateFormatItem-MMM":"LLL","months-standAlone-narrow":["Я","Ф","М","А","М","И","И","А","С","О","Н","Д"],"field-era":"Эра","field-hour":"Час","quarters-standAlone-abbr":["1-й кв.","2-й кв.","3-й кв.","4-й кв."],"dateFormatItem-yyMMMEEEd":"EEE, d MMM yy","dateFormatItem-y":"y","timeFormat-full":"H:mm:ss zzzz","dateFormatItem-yyyy":"y","months-standAlone-abbr":["янв.","февр.","март","апр.","май","июнь","июль","авг.","сент.","окт.","нояб.","дек."],"dateFormatItem-Ed":"E, d","dateFormatItem-yMMM":"LLL y","field-day-relative+0":"Сегодня","dateFormatItem-yyyyLLLL":"LLLL y","field-day-relative+1":"Завтра","days-standAlone-narrow":["В","П","В","С","Ч","П","С"],"eraAbbr":["до н.э.","н.э."],"field-day-relative+2":"Послезавтра","dateFormatItem-yyyyMM":"MM.yyyy","dateFormatItem-yyyyMMMM":"LLLL y","dateFormat-long":"d MMMM y 'г'.","timeFormat-medium":"H:mm:ss","field-zone":"Часовой пояс","dateFormatItem-Hm":"H:mm","dateFormat-medium":"dd.MM.yyyy","dateFormatItem-yyMM":"MM.yy","dateFormatItem-Hms":"H:mm:ss","dateFormatItem-yyMMM":"LLL yy","quarters-standAlone-wide":["1-й квартал","2-й квартал","3-й квартал","4-й квартал"],"dateFormatItem-ms":"mm:ss","dateFormatItem-yyyyQQQQ":"QQQQ y 'г'.","field-year":"Год","months-standAlone-wide":["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],"field-week":"Неделя","dateFormatItem-MMMd":"d MMM","dateFormatItem-yyQ":"Q yy","timeFormat-long":"H:mm:ss z","months-format-abbr":["янв.","февр.","марта","апр.","мая","июня","июля","авг.","сент.","окт.","нояб.","дек."],"timeFormat-short":"H:mm","dateFormatItem-H":"H","field-month":"Месяц","quarters-format-abbr":["1-й кв.","2-й кв.","3-й кв.","4-й кв."],"days-format-abbr":["вс","пн","вт","ср","чт","пт","сб"],"dateFormatItem-M":"L","days-format-narrow":["В","П","В","С","Ч","П","С"],"field-second":"Секунда","field-day":"День","dateFormatItem-MEd":"E, d.M","months-format-narrow":["Я","Ф","М","А","М","И","И","А","С","О","Н","Д"],"days-standAlone-abbr":["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],"dateFormat-short":"dd.MM.yy","dateFormatItem-yMMMEd":"E, d MMM y","dateFormat-full":"EEEE, d MMMM y 'г'.","dateFormatItem-Md":"d.M","dateFormatItem-yMEd":"EEE, d.M.y","months-format-wide":["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"],"dateFormatItem-d":"d","quarters-format-wide":["1-й квартал","2-й квартал","3-й квартал","4-й квартал"],"days-format-wide":["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],"eraNarrow":["до н.э.","н.э."],"quarters-standAlone-narrow":["1","2","3","4"],"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateTimeFormat-medium":"{1} {0}","dateFormatItem-EEEd":"d EEE","dayPeriods-format-wide-pm":"PM","dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dateFormatItem-yQ":"y Q","dateTimeFormats-appendItem-Era":"{0} {1}","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","quarters-format-narrow":["1","2","3","4"],"dateFormatItem-h":"h a","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"AM","dateTimeFormat-full":"{1} {0}","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Year":"{0} {1}","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","dayPeriods-format-wide-am":"AM","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateTimeFormats-appendItem-Timezone":"{0} {1}","dayPeriods-format-narrow-pm":"PM","dateTimeFormat-short":"{1} {0}","dateFormatItem-hms":"h:mm:ss a"}; diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/es/common.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/es/common.js deleted file mode 100644 index b4feef98..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/es/common.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonOk":"Aceptar","buttonCancel":"Cancelar","buttonSave":"Guardar","itemClose":"Cerrar"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/es/loading.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/es/loading.js deleted file mode 100644 index dc969a3b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/es/loading.js +++ /dev/null @@ -1 +0,0 @@ -({"loadingState":"Cargando...","errorState":"Lo siento, se ha producido un error"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/fr/common.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/fr/common.js deleted file mode 100644 index 9f6aabe4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/fr/common.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonOk":"OK","buttonCancel":"Annuler","buttonSave":"Sauvegarder","itemClose":"Fermer"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/fr/loading.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/fr/loading.js deleted file mode 100644 index ec7192ba..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/fr/loading.js +++ /dev/null @@ -1 +0,0 @@ -({"loadingState":"Chargement...","errorState":"Une erreur est survenue"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/it/common.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/it/common.js deleted file mode 100644 index 6b3dc74e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/it/common.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonOk":"OK","buttonCancel":"Annulla","buttonSave":"Salva","itemClose":"Chiudi"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/it/loading.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/it/loading.js deleted file mode 100644 index 60d05e00..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/it/loading.js +++ /dev/null @@ -1 +0,0 @@ -({"loadingState":"Caricamento in corso...","errorState":"Si è verificato un errore"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/loading.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/loading.js deleted file mode 100644 index 1d6fa9b7..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/loading.js +++ /dev/null @@ -1 +0,0 @@ -({"loadingState":"Loading...","errorState":"Sorry, an error occurred"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/ru/common.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/ru/common.js deleted file mode 100644 index 9a76d095..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/ru/common.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonOk":"ОК","buttonCancel":"Отмена","buttonSave":"Сохранить","itemClose":"Закрыть"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/nls/ru/loading.js b/resources/library/interactive/barre_prof.wgt/dijit/nls/ru/loading.js deleted file mode 100644 index 55cd03b6..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/nls/ru/loading.js +++ /dev/null @@ -1 +0,0 @@ -({"loadingState":"Загрузка...","errorState":"Извините, возникла ошибка"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/a11y/README.txt b/resources/library/interactive/barre_prof.wgt/dijit/themes/a11y/README.txt deleted file mode 100644 index a8093542..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/a11y/README.txt +++ /dev/null @@ -1,3 +0,0 @@ -This folder contains images used by all themes when in "high-contrast" mode. - -If you think you need to put something here, please talk to Becky or Bill first. \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/a11y/colors3x4.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/a11y/colors3x4.png deleted file mode 100644 index 5125cb65..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/a11y/colors3x4.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/a11y/colors7x10.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/a11y/colors7x10.png deleted file mode 100644 index d1354aff..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/a11y/colors7x10.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/a11y/indeterminate_progress.gif b/resources/library/interactive/barre_prof.wgt/dijit/themes/a11y/indeterminate_progress.gif deleted file mode 100644 index 66f535cd..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/a11y/indeterminate_progress.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Calendar.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Calendar.css deleted file mode 100644 index b3552f3e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Calendar.css +++ /dev/null @@ -1,226 +0,0 @@ - -.claro .dijitCalendar { - border: solid 1px #b5bcc7; - background-color: #cfe5fa; - background-image: url("images/calendarContainerImages.png"); - background-position: 0 -448px; - background-repeat: repeat-x; - text-align: center; - padding: 6px 5px 3px 5px; - -moz-border-radius: 4px; - border-radius: 4px; -} -.dj_ie6 .claro .dijitCalendar { - background-image: none; -} -.claro .dijitCalendar img { - border: none; -} -.claro .dijitCalendarHover, .claro .dijitCalendarActive { - - background-color: #abd6ff; - border: solid 1px #769dc0; -} -.claro .dijitCalendarMonthContainer th { - text-align: center; - padding-bottom: 4px; - vertical-align: middle; -} -.claro .dijitCalendarMonthLabel { - color: #000000; - font-size: 1.091em; - padding: 0 4px; -} -.claro .dijitCalendarIncrementControl { - width: 18px; - height: 16px; - background-image: url("images/calendarArrows.png"); - background-repeat: no-repeat; -} -.dj_ie6 .claro .dijitCalendarIncrementControl { - background-image: url("images/calendarArrows8bit.png"); -} -.claro .dijitCalendarIncrease { - background-position: -18px 0; -} -.claro .dijitCalendarArrowHover .dijitCalendarDecrease { - background-position: -36px 0; -} -.claro .dijitCalendarArrowHover .dijitCalendarIncrease { - background-position: -55px 0; -} -.claro .dijitCalendarArrowActive .dijitCalendarDecrease { - background-position: -72px 0; -} -.claro .dijitCalendarArrowActive .dijitCalendarIncrease { - background-position: -91px 0; -} -.claro .dijitA11ySideArrow { - - display: none; -} -.claro .dijitDayLabels th { - padding: 0 4px 0 4px; - font-weight: bold; - text-align: center; -} -.claro .dijitCalendarDayLabelTemplate { - padding-bottom: 0; - text-align: center; - border-bottom: 1px solid #b5bcc7; - font-size: 0.909em; - padding: 0 3px 2px; -} -.claro .dijitCalendarDateTemplate { - text-align: center; - background-color: #ffffff; - background-image: url("images/calendarContainerImages.png"); - background-position: 0 0; - background-repeat: repeat-x; - border-bottom: 1px solid #d3d3d3; - padding-top: 0; - font-size: 0.909em; - font-family: Arial; - font-weight: bold; - letter-spacing: .05em; - text-align: center; -} -.dj_ie6 .claro .dijitCalendarDateTemplate { - background-image: none; -} -.claro .dijitCalendarPreviousMonth, .claro .dijitCalendarNextMonth { - background-color: #e9f4fe; - background-image: none; - border-bottom: solid 1px #d3d3d3; - -} -.claro .dijitCalendarDateTemplate .dijitCalendarDateLabel { - text-decoration: none; - display: block; - padding: 3px 5px 3px 4px; - border: solid 1px #ffffff; - - background-color: rgba(171, 212, 251, 0); - - -webkit-transition-property: background-color, border; - -moz-transition-property: background-color, border; - transition-property: background-color, border; - -webkit-transition-duration: 0.35s; - -moz-transition-duration: 0.35s; - transition-duration: 0.35s; -} -.claro .dijitCalendarPreviousMonth .dijitCalendarDateLabel, .claro .dijitCalendarNextMonth .dijitCalendarDateLabel { - color: #769dc0; - border-color: #e9f4fe; - -} -.claro .dijitCalendarYearContainer { - vertical-align: middle; -} -.claro .dijitCalendarYearControl { - padding: 1px 2px 2px 2px; -} -.claro .dijitCalendarYearLabel { - padding: 2px 0 0 0; - margin: 0; -} -.claro .dijitCalendarYearLabel span { - - vertical-align: middle; -} -.claro .dijitCalendarSelectedYear { - padding: 0 3px; -} -.claro .dijitCalendarNextYear, .claro .dijitCalendarPreviousYear { - padding: 1px 6px 1px 6px; - font-size: 0.909em; -} -.claro .dijitCalendarSelectedYear { - font-size: 1.091em; - color: #000000; -} -.claro .dijitCalendarHoveredDate .dijitCalendarDateLabel { - background-color: #abd6ff; - border: solid 1px #769dc0; - color: #000000; - -webkit-transition-duration: 0.2s; - -moz-transition-duration: 0.2s; - transition-duration: 0.2s; -} -.claro .dijitCalendarNextYearHover, .claro .dijitCalendarPreviousYearHover { - color: #000000; - border: solid 1px #ffffff; - padding: 0 5px 0 5px; - - background-color: #e9f4fe; -} -.claro .dijitCalendarNextYearActive, .claro .dijitCalendarPreviousYearActive { - border: solid 1px #769dc0; - padding: 0 5px 0 5px; - - background-color: #cfe5fa; -} -.claro .dijitCalendarActiveDate .dijitCalendarDateLabel { - background-image: url("images/calendarContainerImages.png"); - background-position: 0 -300px; - background-color: #7dbefa; - border: solid 1px #ffffff; - -webkit-transition-duration: 0.1s; - -moz-transition-duration: 0.1s; - transition-duration: 0.1s; -} -.dj_ie6 .claro .dijitCalendarActiveDate .dijitCalendarDateLabel { - background-image: none; -} -.claro .dijitCalendarSelectedDate .dijitCalendarDateLabel { - color: #000000; - background-color: #abd6ff; - border-color: #769dc0; -} -.claro .dijitCalendarDisabledDate .dijitCalendarDateLabel { - text-decoration: line-through; - - background-color: transparent; - border-width: 0; - padding: 4px 6px 4px 5px; - color: #818181; -} -.claro .dijitCalendar .dijitDropDownButton { - margin: 0; -} -.claro .dijitCalendar .dijitButtonText { - padding: 1px 0 3px; - margin-right: -4px; -} -.claro .dijitCalendar .dijitDropDownButton .dijitButtonNode { - background-color: transparent; - background-image: none; - padding: 0 3px 0 2px; - border: solid 1px #b5bcc7; - -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - -moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - box-shadow: 0 0 0 rgba(0, 0, 0, 0); -} -.claro .dijitCalendar .dijitDropDownButtonHover .dijitButtonNode { - background-color: #e9f4fe; - border: solid 1px #ffffff; -} -.claro .dijitCalendarMonthMenu { - border-color: #769dc0; - background-color: #ffffff; - text-align: center; - background-image: none; -} -.claro .dijitCalendarMonthMenu .dijitCalendarMonthLabel { - border-top: solid 1px #ffffff; - - border-bottom: solid 1px #ffffff; - padding: 2px 0; -} -.claro .dijitCalendarMonthMenu .dijitCalendarMonthLabelHover { - background-color: #abd6ff; - border-color: #769dc0; - border-width: 1px 0; - background-image: url("images/commonHighlight.png"); - background-repeat: repeat-x; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Calendar.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Calendar.less deleted file mode 100644 index ec6aa469..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Calendar.less +++ /dev/null @@ -1,273 +0,0 @@ -/* Calendar - * - * Styling Calendar mainly includes: - * - * 1. Calendar container - * .dijitCalendar - main container - * .dijitCalendarHover / .dijitCalendarActive - states e.g. hover,active - * - * 2. Month - * .dijitCalendarMonthContainer - * .dijitCalendarMonthLabel - * .dijitCalendarDecrease / .dijitCalendarDecrease - icons for switching to previous/next month - * .dijitCalendarArrowActive .dijitCalendarDecrease - states e.g. hover,active - * - * 3. Date - * .dijitCalendarDayLabelTemplate - week day column header e.g. S M T W T F S - * .dijitCalendarDateTemplate - date label wrapper - * .dijitCalendarPreviousMonth .dijitCalendarDateLabel - special labels for previous or next month - * .dijitCalendarSelectedDate .dijitCalendarDateLabel - styles for selected date - * .dijitCalendarDisabledDate .dijitCalendarDateLabel - styles for disabled date - * .dijitCalendarActiveDate .dijitCalendarDateLabel - states e.g. hover,active - * - * 4. Year - * .dijitCalendarYearContainer - * .dijitCalendarYearLabel - * .dijitCalendarPreviousYear /.dijitCalendarNextYear - * .dijitCalendarNextYearHover / .dijitCalendarPreviousYearHover - states e.g. hover,active - * - * 5. Dropdown Month Menu - * .dijitCalendarMonthMenu - menu container - * .dijitCalendarMonthMenu .dijitCalendarMonthLabel - month label in menu item - * .dijitCalendarMonthMenu .dijitCalendarMonthLabelHover - menu item hover state - */ - -@import "variables"; - -.claro .dijitCalendar { - border:solid 1px @border-color; - background-color: @calendar-background-color; - background-image:url("images/calendarContainerImages.png"); - background-position:0 -448px; - background-repeat:repeat-x; - text-align:center; - padding:6px 5px 3px 5px; - .border-radius(4px); -} -.dj_ie6 .claro .dijitCalendar { - background-image:none; -} -.claro .dijitCalendar img { - border:none; -} -.claro .dijitCalendarHover, -.claro .dijitCalendarActive { - /* treat dijitCalenderActive like hover since there's - * no concept of clicking a Calendar as a whole (although you can click things inside the calendar) - */ - background-color: @hovered-background-color; - border:solid 1px @hovered-border-color; -} -.claro .dijitCalendarMonthContainer th { - text-align:center; - padding-bottom:4px; - vertical-align:middle; -} -.claro .dijitCalendarMonthLabel { - color: @text-color; - font-size: 1.091em; - padding: 0 4px; -} - -/* next/previous month arrows */ -.claro .dijitCalendarIncrementControl { - width:18px; - height:16px; - background-image: url("images/calendarArrows.png"); - background-repeat: no-repeat; -} -.dj_ie6 .claro .dijitCalendarIncrementControl { - background-image: url("images/calendarArrows8bit.png"); -} -.claro .dijitCalendarIncrease { - background-position:-18px 0; -} -.claro .dijitCalendarArrowHover .dijitCalendarDecrease { - background-position:-36px 0; -} -.claro .dijitCalendarArrowHover .dijitCalendarIncrease { - background-position:-55px 0; -} -.claro .dijitCalendarArrowActive .dijitCalendarDecrease { - background-position:-72px 0; -} -.claro .dijitCalendarArrowActive .dijitCalendarIncrease { - background-position:-91px 0; -} -.claro .dijitA11ySideArrow { - /* text +/- labels instead of arrow icons, for high contrast mode */ - display: none; -} - - -.claro .dijitDayLabels th { - padding:0 4px 0 4px; - font-weight:bold; - text-align:center; -} -.claro .dijitCalendarDayLabelTemplate { - padding-bottom:0; - text-align:center; - border-bottom:1px solid @border-color; - font-size:0.909em; - padding:0 3px 2px; -} -.claro .dijitCalendarDateTemplate { - text-align:center; - background-color:@calendar-currentmonth-background-color; - background-image:url("images/calendarContainerImages.png"); - background-position:0 0; - background-repeat:repeat-x; - border-bottom: 1px solid @minor-border-color; - padding-top:0; - font-size:0.909em; - font-family: Arial; - font-weight:bold; - letter-spacing:.05em; - text-align:center; -} -.dj_ie6 .claro .dijitCalendarDateTemplate { - background-image: none; -} -.claro .dijitCalendarPreviousMonth, -.claro .dijitCalendarNextMonth { - background-color: @calendar-adjacentmonth-background-color; - background-image:none; - border-bottom:solid 1px @minor-border-color; /* todo: redundant with above .dijitCalendarDateTemplate rule */ -} -.claro .dijitCalendarDateTemplate .dijitCalendarDateLabel { - text-decoration:none; - display:block; - padding:3px 5px 3px 4px; - border:solid 1px @calendar-currentmonth-background-color; /* intentionally matches background-color, no visible border until hover/selection */ - background-color:rgba(171,212,251,0); /* transparent causes black-flash animation problem on webkit */ - .transition-property(background-color, border); - .transition-duration(.35s); -} -.claro .dijitCalendarPreviousMonth .dijitCalendarDateLabel, -.claro .dijitCalendarNextMonth .dijitCalendarDateLabel{ - color: @calendar-adjacentmonth-text-color; - border-color: @calendar-adjacentmonth-background-color; /* intentionally matches background-color, no visible border until hover/selection */ -} - -.claro .dijitCalendarYearContainer { - vertical-align:middle; -} -.claro .dijitCalendarYearControl { - padding: 1px 2px 2px 2px; -} -.claro .dijitCalendarYearLabel { - padding:2px 0 0 0; - margin:0; -} -.claro .dijitCalendarYearLabel span { - /* trying to center next/current/previous year vertically, doesn't work on IE6/7 though */ - vertical-align:middle; -} -.claro .dijitCalendarSelectedYear { - padding:0 3px; -} -.claro .dijitCalendarNextYear, -.claro .dijitCalendarPreviousYear { - padding: 1px 6px 1px 6px; - font-size:0.909em; -} -.claro .dijitCalendarSelectedYear { - font-size:1.091em; - color:@selected-text-color; -} -/* End Normal Calendar Style */ -/* Hovered Calendar Style */ -.claro .dijitCalendarHoveredDate .dijitCalendarDateLabel{ - background-color:@hovered-background-color; - border:solid 1px @hovered-border-color; - color:@hovered-text-color; - .transition-duration(.2s); -} -.claro .dijitCalendarNextYearHover, -.claro .dijitCalendarPreviousYearHover { - color:@hovered-text-color; - border:solid 1px @calendar-button-hovered-border-color; - padding: 0 5px 0 5px; /* reduced by 1 to make room for border */ - background-color: @calendar-button-hovered-background-color; -} -/* End Hovered Calendar Style */ -/* Active Calendar Style */ -.claro .dijitCalendarNextYearActive, -.claro .dijitCalendarPreviousYearActive { - border: solid 1px @calendar-button-pressed-border-color; - padding: 0 5px 0 5px; /* reduced by 1 to make room for border */ - background-color:@calendar-button-pressed-background-color; -} -.claro .dijitCalendarActiveDate .dijitCalendarDateLabel { - background-image:url("images/calendarContainerImages.png"); - background-position:0 -300px; - background-color: @calendar-date-pressed-background-color; - border:solid 1px @calendar-date-pressed-border-color; - .transition-duration(.1s); -} -.dj_ie6 .claro .dijitCalendarActiveDate .dijitCalendarDateLabel { - background-image:none; -} -/* End Active Calendar Style */ -/* Selected Calendar Style */ -.claro .dijitCalendarSelectedDate .dijitCalendarDateLabel { - color:@selected-text-color; - background-color: @calendar-date-selected-background-color; - border-color: @calendar-date-selected-border-color; -} -/* End Selected Calendar Style */ -/* Disabled Calendar Style*/ -.claro .dijitCalendarDisabledDate .dijitCalendarDateLabel { - text-decoration:line-through; - - /* override hover effects above, hover and click on disabled date should have no effect */ - background-color: transparent; - border-width: 0; - padding: 4px 6px 4px 5px; - color: @disabled-text-color; -} - -/* End Disabled Calendar Style */ - -/* Styling for month DropDownButton */ - -.claro .dijitCalendar .dijitDropDownButton { - margin: 0; -} -.claro .dijitCalendar .dijitButtonText { - padding: 1px 0 3px; - margin-right:-4px; -} -.claro .dijitCalendar .dijitDropDownButton .dijitButtonNode { - background-color: transparent; - background-image: none; - padding: 0 3px 0 2px; - border:solid 1px @border-color; - .box-shadow(0 0 0 rgba(0,0,0,0)); -} -.claro .dijitCalendar .dijitDropDownButtonHover .dijitButtonNode { - background-color: @calendar-button-hovered-background-color; - border:solid 1px @calendar-button-hovered-border-color; -} - -/* Styling for month drop down list */ - -.claro .dijitCalendarMonthMenu { - border-color: @popup-border-color; - background-color: @menu-background-color; - text-align:center; - background-image: none; -} -.claro .dijitCalendarMonthMenu .dijitCalendarMonthLabel { - border-top: solid 1px @menu-background-color; /* intentionally invisible until hover */ - border-bottom: solid 1px @menu-background-color; - padding: 2px 0; -} -.claro .dijitCalendarMonthMenu .dijitCalendarMonthLabelHover { - background-color: @hovered-background-color; - border-color: @hovered-border-color; - border-width:1px 0; - background-image: url("images/commonHighlight.png"); - background-repeat:repeat-x; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Calendar_rtl.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Calendar_rtl.css deleted file mode 100644 index 5892a64b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Calendar_rtl.css +++ /dev/null @@ -1,18 +0,0 @@ -.claro .dijitCalendarRtl .dijitCalendarIncrease { - background-position: 0 0; -} -.claro .dijitCalendarRtl .dijitCalendarDecrease { - background-position: -18px 0; -} -.claro .dijitCalendarRtl .dijitCalendarArrowHover .dijitCalendarIncrease { - background-position: -36px 0; -} -.claro .dijitCalendarRtl .dijitCalendarArrowHover .dijitCalendarDecrease { - background-position: -55px 0; -} -.claro .dijitCalendarRtl .dijitCalendarArrowActive .dijitCalendarIncrease { - background-position: -72px 0; -} -.claro .dijitCalendarRtl .dijitCalendarArrowActive .dijitCalendarDecrease { - background-position: -91px 0; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Calendar_rtl.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Calendar_rtl.less deleted file mode 100644 index 713717bd..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Calendar_rtl.less +++ /dev/null @@ -1,19 +0,0 @@ -.claro .dijitCalendarRtl .dijitCalendarIncrease{ - background-position: 0 0; -} -.claro .dijitCalendarRtl .dijitCalendarDecrease { - background-position: -18px 0; -} -.claro .dijitCalendarRtl .dijitCalendarArrowHover .dijitCalendarIncrease { - background-position: -36px 0; -} -.claro .dijitCalendarRtl .dijitCalendarArrowHover .dijitCalendarDecrease { - background-position: -55px 0; -} -.claro .dijitCalendarRtl .dijitCalendarArrowActive .dijitCalendarIncrease { - background-position: -72px 0; -} -.claro .dijitCalendarRtl .dijitCalendarArrowActive .dijitCalendarDecrease { - background-position: -91px 0; -} - diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/ColorPalette.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/ColorPalette.css deleted file mode 100644 index 5e38441a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/ColorPalette.css +++ /dev/null @@ -1,17 +0,0 @@ - -.claro .dijitColorPalette { - border: 1px solid #b5bcc7; - background: #ffffff; - -moz-border-radius: 0; - border-radius: 0; -} -.claro .dijitColorPalette .dijitPaletteImg { - - border: 1px solid #d3d3d3; -} -.claro .dijitColorPalette .dijitPaletteCellHover .dijitPaletteImg { - border: 1px solid #000000; -} -.claro .dijitColorPalette .dijitPaletteCellActive .dijitPaletteImg, .claro .dijitColorPalette .dijitPaletteCellSelected .dijitPaletteImg { - border: 2px solid #000000; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/ColorPalette.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/ColorPalette.less deleted file mode 100644 index e0327334..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/ColorPalette.less +++ /dev/null @@ -1,44 +0,0 @@ -/* ColorPalette - * - * Styling of the ColorPalette consists of the following: - * - * 1. the whole color palette - * .dijitColorPalette - for outline, border, and background color of the whole color palette - * Note: outline does not work for IE - * - * 2. the color swatch - * .dijitColorPalette .dijitPaletteImg - * transparent (but clickable) <img> node inside of each <td>, overlaying the color swatch. - * displays border around a color swatch - * - * 3. hovered swatch - * .dijitColorPalette .dijitPaletteCellHover .dijitPaletteImg - * the hovered state of the color swatch - adds border - * - * 4. active and selected swatch - * .dijitColorPalette .dijitPaletteCellActive .dijitPaletteImg - * .dijitColorPalette .dijitPaletteCellSelected .dijitPaletteImg - * adds border for active or selected state - */ - -@import "variables"; - -.claro .dijitColorPalette { - border: 1px solid @border-color; - background: @colorpalette-background-color; - .border-radius(0); -} - -.claro .dijitColorPalette .dijitPaletteImg { - /* transparent (but clickable) <img> node inside of each <td>, overlaying the color swatch. - * displays border around a color swatch - * overrides border color in dijit.css */ - border: 1px solid @minor-border-color; -} -.claro .dijitColorPalette .dijitPaletteCellHover .dijitPaletteImg { - border: 1px solid @swatch-hovered-border-color; -} -.claro .dijitColorPalette .dijitPaletteCellActive .dijitPaletteImg, -.claro .dijitColorPalette .dijitPaletteCellSelected .dijitPaletteImg { - border: 2px solid @swatch-selected-border-color; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Common.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Common.css deleted file mode 100644 index 544e9ae1..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Common.css +++ /dev/null @@ -1,70 +0,0 @@ - -.claro .dijitPopup { - -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); - -moz-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); - box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); -} -.claro .dijitTooltipDialogPopup { - - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.claro .dijitComboBoxHighlightMatch { - background-color: #abd6ff; -} -.claro .dijitFocusedLabel { - - outline: 1px dotted #4a4a4a; -} -.claro .dijitContentPaneLoading { - background: url('images/loadingAnimation.gif') no-repeat left center; - padding-left: 25px; -} -.claro .dijitContentPaneError { - background: url('../../icons/images/commonIconsObjActEnabled.png') no-repeat left center; - background-position: -496px; - padding-left: 25px; -} -.claro .dojoDndItemBefore, .claro .dojoDndItemAfter { - border-top: 1px solid #769dc0; -} -.claro .dojoDndItemOver { - cursor: pointer; -} -.claro table.dojoDndAvatar { - border: 1px solid #b5bcc7; - border-collapse: collapse; - background-color: #ffffff; - -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); - -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); -} -.claro .dojoDndAvatarHeader td { - height: 20px; - padding-left: 21px; -} -.claro.dojoDndMove .dojoDndAvatarHeader, .claro.dojoDndCopy .dojoDndAvatarHeader { - background-image: url(images/dnd.png); - background-repeat: no-repeat; - background-position: 2px -122px; -} -.claro .dojoDndAvatarItem td { - padding: 5px; -} -.claro.dojoDndMove .dojoDndAvatarHeader { - background-color: #f58383; - background-position: 2px -103px; -} -.claro.dojoDndCopy .dojoDndAvatarHeader { - background-color: #f58383; - background-position: 2px -68px; -} -.claro.dojoDndMove .dojoDndAvatarCanDrop .dojoDndAvatarHeader { - background-color: #97e68d; - background-position: 2px -33px; -} -.claro.dojoDndCopy .dojoDndAvatarCanDrop .dojoDndAvatarHeader { - background-color: #97e68d; - background-position: 2px 2px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Common.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Common.less deleted file mode 100644 index 872cf891..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Common.less +++ /dev/null @@ -1,76 +0,0 @@ -/* ========= Styling rules to affect widgets ========= */ - -@import "variables"; - -.claro .dijitPopup { - .box-shadow(0 1px 5px rgba(0,0,0,0.25)); -} -.claro .dijitTooltipDialogPopup { - /* exception popups: do not use a shadow on these because they aren't rectangular */ - .box-shadow(none); -} - -/* The highlight is shown in the ComboBox menu. TODO: move to form/Common.less */ -.claro .dijitComboBoxHighlightMatch { - background-color: @select-matchedtext-background-color; -} - -.claro .dijitFocusedLabel { - /* for checkboxes or radio buttons, hatch border around the corresponding label, to indicate focus */ - outline: 1px dotted @focus-outline-color; -} - -.claro .dijitContentPaneLoading { - background:url('images/loadingAnimation.gif') no-repeat left center; - padding-left:25px; -} - -/* .dijitContentPaneError icon renders in a dialog box with the error messsage when there is an error in a HREF url */ -.claro .dijitContentPaneError { - background:url('../../icons/images/commonIconsObjActEnabled.png') no-repeat left center; - background-position: -496px; - padding-left:25px; -} - -/* Drag and Drop */ -.claro .dojoDndItemBefore, -.claro .dojoDndItemAfter{ - border-top: 1px solid @dnd-dropseparator-color; -} -.claro .dojoDndItemOver { - cursor:pointer; - } -.claro table.dojoDndAvatar { - border: 1px solid @border-color; - border-collapse: collapse; - background-color: @dnd-avatar-background-color; - .box-shadow(0 1px 3px rgba(0, 0, 0, .25)); -} -.claro .dojoDndAvatarHeader td { - height: 20px; - padding-left:21px; -} -.claro.dojoDndMove .dojoDndAvatarHeader, .claro.dojoDndCopy .dojoDndAvatarHeader { - background-image: url(images/dnd.png); - background-repeat: no-repeat; - background-position:2px -122px; -} -.claro .dojoDndAvatarItem td { - padding: 5px; -} -.claro.dojoDndMove .dojoDndAvatarHeader { - background-color: @dnd-avatar-header-background-color; - background-position:2px -103px; -} -.claro.dojoDndCopy .dojoDndAvatarHeader { - background-color: @dnd-avatar-header-background-color; - background-position:2px -68px; -} -.claro.dojoDndMove .dojoDndAvatarCanDrop .dojoDndAvatarHeader { - background-color: @dnd-avatar-candrop-header-background-color; - background-position:2px -33px; -} -.claro.dojoDndCopy .dojoDndAvatarCanDrop .dojoDndAvatarHeader { - background-color: @dnd-avatar-candrop-header-background-color; - background-position:2px 2px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Dialog.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Dialog.css deleted file mode 100644 index 272b5ad2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Dialog.css +++ /dev/null @@ -1,155 +0,0 @@ - -.claro .dijitDialog { - border: 1px solid #769dc0; - -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); - -moz-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); - box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); -} -.claro .dijitDialogPaneContent { - background: #ffffff repeat-x top left; - border-top: 1px solid #769dc0; - padding: 10px 8px; - position: relative; -} -.claro .dijitDialogPaneContentArea { - - margin: -10px -8px; - padding: 10px 8px; -} -.claro .dijitDialogPaneActionBar { - - background-color: #efefef; - padding: 3px 5px 2px 7px; - text-align: right; - border-top: 1px solid #d3d3d3; - margin: 10px -8px -10px; -} -.claro .dijitDialogPaneActionBar .dijitButton { - float: none; -} -.claro .dijitDialogTitleBar { - - border: 1px solid #ffffff; - border-top: none; - background-color: #abd6ff; - background-image: url("images/titlebar.png"); - background-repeat: repeat-x; - padding: 5px 7px 4px 7px; -} -.claro .dijitDialogTitle { - - padding: 0 1px; - font-size: 1.091em; -} -.claro .dijitDialogCloseIcon { - - background: url("images/dialogCloseIcon.png"); - background-repeat: no-repeat; - position: absolute; - right: 5px; - height: 15px; - width: 21px; -} -.dj_ie6 .claro .dijitDialogCloseIcon { - background-image: url("images/dialogCloseIcon8bit.png"); -} -.claro .dijitDialogCloseIconHover { - background-position: -21px; -} -.claro .dijitDialogCloseIconActive { - background-position: -42px; -} -.claro .dijitTooltip, .claro .dijitTooltipDialog { - - background: transparent; - -} -.dijitTooltipBelow { - - padding-top: 13px; - padding-left: 3px; - padding-right: 3px; -} -.dijitTooltipAbove { - - padding-bottom: 13px; - padding-left: 3px; - padding-right: 3px; -} -.claro .dijitTooltipContainer { - - background-color: #ffffff; - background-image: url("images/tooltipGradient.png"); - background-repeat: repeat-x; - background-position: bottom; - border: 1px solid #769dc0; - padding: 6px 8px; - -moz-border-radius: 4px; - border-radius: 4px; - -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); - -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); - font-size: 1em; -} -.dj_ie6 .claro .dijitTooltipContainer { - background-image: none; -} -.claro .dijitTooltipConnector { - - border: 0; - z-index: 2; - background-image: url("images/tooltip.png"); - background-repeat: no-repeat; - width: 16px; - height: 14px; -} -.dj_ie6 .claro .dijitTooltipConnector { - background-image: url("images/tooltip8bit.png"); -} -.claro .dijitTooltipABRight .dijitTooltipConnector { - - left: auto !important; - right: 3px; -} -.claro .dijitTooltipBelow .dijitTooltipConnector { - - top: 0; - left: 3px; - background-position: -31px 0; - width: 16px; - height: 14px; -} -.claro .dijitTooltipAbove .dijitTooltipConnector { - - bottom: 0; - left: 3px; - background-position: -15px 0; - width: 16px; - height: 14px; -} -.dj_ie7 .claro .dijitTooltipAbove .dijitTooltipConnector, .dj_ie6 .claro .dijitTooltipAbove .dijitTooltipConnector { - bottom: -1px; -} -.claro .dijitTooltipLeft { - padding-right: 14px; -} -.claro .dijitTooltipLeft .dijitTooltipConnector { - - right: 0; - background-position: 0 0; - width: 16px; - height: 14px; -} -.claro .dijitTooltipRight { - padding-left: 14px; -} -.claro .dijitTooltipRight .dijitTooltipConnector { - - left: 0; - background-position: -48px 0; - width: 16px; - height: 14px; -} -.claro .dijitDialogUnderlay { - background: #ffffff; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Dialog.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Dialog.less deleted file mode 100644 index ff5c1e65..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Dialog.less +++ /dev/null @@ -1,203 +0,0 @@ -/* Dialog - * - * Styling Dialog includes two sections: Dialog and Tooltip & TooltipDialog - * - * Dialog: - * 1. Dialog (default styling): - * .dijitDialog - styles for dialog's bounding box - * - * 2. Dialog title - * .dijitDialogTitleBar - styles for the title container at the top of dialog - * .dijitDialogTitle - the text container in dialog title - * - * 3. Dialog content - * .dijitDialogPaneContent - main container for content area and action bar - * .dijitDialogPaneContentArea - styles for content container - * - * 4. Dialog action bar - * .dijitDialogPaneActionBar - styles for action buttons lie at the bottom of dialog pane content - * - * 5. Dialog underlay - * .dijitDialogUnderlay - div under the dialog which used for separate dialog and page content - * - * - * Tooltip & TooltipDialog: - * 1. tooltip content container: - * .dijitTooltipContainer - tooltip content container - * - * 2. tooltip connector: - * .dijitTooltipConnector - tooltip anchor includes 4 direction(up, down, left, right) - */ - -@import "variables"; - -.claro .dijitDialog { - border: 1px solid @popup-border-color; - .box-shadow(0 1px 5px rgba(0,0,0,0.25)); -} - -.claro .dijitDialogPaneContent { - background: @pane-background-color repeat-x top left; - border-top: 1px solid @popup-border-color; - padding:10px 8px; - position: relative; -} - -.claro .dijitDialogPaneContentArea { - /* trick to get action bar (gray bar at bottom with OK/cancel buttons) to span from - * left to right but still indent dialog content - */ - margin: -10px -8px; - padding: 10px 8px; -} - -.claro .dijitDialogPaneActionBar { - /* gray bar at bottom of dialog with OK/Cancel buttons */ - background-color: @bar-background-color; - padding: 3px 5px 2px 7px; - text-align: right; - border-top: 1px solid @minor-border-color; - margin: 10px -8px -10px; -} -.claro .dijitDialogPaneActionBar .dijitButton { - float: none; -} - -.claro .dijitDialogTitleBar { - /* outer container for the titlebar of the dialog */ - border: 1px solid @dialog-titlebar-border-color; - border-top:none; - background-color: @dialog-titlebar-background-color; - background-image: url("images/titlebar.png"); - background-repeat:repeat-x; - padding: 5px 7px 4px 7px; -} - -.claro .dijitDialogTitle { - /* typography and styling of the dialog title */ - padding: 0 1px; - font-size:1.091em; -} - -.claro .dijitDialogCloseIcon { - /* the default close icon for the dialog */ - background: url("images/dialogCloseIcon.png"); - background-repeat:no-repeat; - position: absolute; - right: 5px; - height: 15px; - width: 21px; -} -.dj_ie6 .claro .dijitDialogCloseIcon { - background-image: url("images/dialogCloseIcon8bit.png"); -} -.claro .dijitDialogCloseIconHover { - background-position:-21px; -} -.claro .dijitDialogCloseIconActive { - background-position:-42px; -} - -/* Tooltip and TooltipDialog */ - -.claro .dijitTooltip, -.claro .dijitTooltipDialog { - /* the outermost dom node, holding the connector and container */ - background: transparent; /* make the area on the sides of the arrow transparent */ -} -.dijitTooltipBelow { - /* leave room for arrow above content */ - padding-top: 13px; - padding-left:3px; - padding-right:3px; -} - -.dijitTooltipAbove { - /* leave room for arrow below content */ - padding-bottom: 13px; - padding-left:3px; - padding-right:3px; -} - -.claro .dijitTooltipContainer { - /* the part with the text */ - background-color:@popup-background-color; - background-image:url("images/tooltipGradient.png"); - background-repeat:repeat-x; - background-position:bottom; - border:1px solid @popup-border-color; - padding:6px 8px; - .border-radius(4px); - .box-shadow(0 1px 3px rgba(0,0,0,0.25)); - font-size: 1em; -} - -.dj_ie6 .claro .dijitTooltipContainer { - background-image: none; -} -.claro .dijitTooltipConnector { - /* the arrow piece */ - border: 0; - z-index: 2; - background-image:url("images/tooltip.png"); - background-repeat:no-repeat; - width:16px; - height:14px; -} -.dj_ie6 .claro .dijitTooltipConnector { - background-image:url("images/tooltip8bit.png"); -} -.claro .dijitTooltipABRight .dijitTooltipConnector { - /* above or below tooltip, but the arrow appears on the right, - and the right edges of target and tooltip are aligned rather than the left */ - left: auto !important; - right: 3px; -} - -.claro .dijitTooltipBelow .dijitTooltipConnector { - /* the arrow piece for tooltips below an element */ - top: 0; - left: 3px; - background-position:-31px 0; - width:16px; - height:14px; -} - -.claro .dijitTooltipAbove .dijitTooltipConnector { - /* the arrow piece for tooltips above an element */ - bottom: 0; - left: 3px; - background-position:-15px 0; - width:16px; - height:14px; -} -.dj_ie7 .claro .dijitTooltipAbove .dijitTooltipConnector, -.dj_ie6 .claro .dijitTooltipAbove .dijitTooltipConnector { - bottom: -1px; -} - -.claro .dijitTooltipLeft { - padding-right: 14px; -} -.claro .dijitTooltipLeft .dijitTooltipConnector { - /* the arrow piece for tooltips to the left of an element, bottom borders aligned */ - right: 0; - background-position:0 0; - width:16px; - height:14px; -} - -.claro .dijitTooltipRight { - padding-left: 14px; -} -.claro .dijitTooltipRight .dijitTooltipConnector { - /* the arrow piece for tooltips to the right of an element, bottom borders aligned */ - left: 0; - background-position:-48px 0; - width:16px; - height:14px; -} - -.claro .dijitDialogUnderlay { - background: @dialog-underlay-color; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Dialog_rtl.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Dialog_rtl.css deleted file mode 100644 index 242b9c4f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Dialog_rtl.css +++ /dev/null @@ -1,9 +0,0 @@ - -.claro .dijitDialogRtl .dijitDialogCloseIcon { - right: auto; - left: 5px; -} -.claro .dijitDialogRtl .dijitDialogPaneActionBar { - text-align: left; - padding: 3px 7px 2px 5px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Dialog_rtl.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Dialog_rtl.less deleted file mode 100644 index 452fe930..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Dialog_rtl.less +++ /dev/null @@ -1,13 +0,0 @@ -/* Dialog */ - -@import "variables"; - -.claro .dijitDialogRtl .dijitDialogCloseIcon { - right: auto; - left: 5px; -} - -.claro .dijitDialogRtl .dijitDialogPaneActionBar { - text-align: left; - padding: 3px 7px 2px 5px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Editor.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Editor.css deleted file mode 100644 index 846b4426..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Editor.css +++ /dev/null @@ -1,33 +0,0 @@ - -.claro .dijitEditorIFrameContainer { - padding: 3px 3px 1px 10px; -} -.claro .dijitEditorIFrame { - background-color: #ffffff; -} -.claro .dijitEditor { - border: 1px solid #b5bcc7; -} -.claro .dijitEditor .dijitEditorIFrameContainer { - background-color: #ffffff; - background-image: url('form/images/textBox_back.png'); - background-repeat: repeat-x; -} -.dj_ie6 .claro .dijitEditor .dijitEditorIFrameContainer { - background-image: none; -} -.claro .dijitEditorHover .dijitEditorIFrameContainer, .claro .dijitEditorHover .dijitEditorIFrameContainer .dijitEditorIFrame { - background-color: #e9f4fe; -} -.claro .dijitEditorFocused .dijitEditorIFrameContainer, .claro .dijitEditorFocused .dijitEditorIFrameContainer .dijitEditorIFrame { - - background-color: #ffffff; -} -.claro .dijitEditorDisabled { - border: 1px solid #d3d3d3; - color: #818181; -} -.claro .dijitDisabled .dijitEditorIFrame, .claro .dijitDisabled .dijitEditorIFrameContainer, .claro .dijitDisabled .dijitEditorIFrameContainer .dijitEditorIFrame { - background-color: #efefef; - background-image: none; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Editor.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Editor.less deleted file mode 100644 index 43e6d39a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Editor.less +++ /dev/null @@ -1,59 +0,0 @@ -/* Editor - * - * Styling Editor means styling the Editor inside iframe container (dijitEditorIFrameContainer) - * - * 1. Editor iframe container (default styling): - * .dijitEditorIFrameContainer - normal state styles: background-color, border, padding - * - * 2. hovered Editor iframe container (ie, mouse hover on editor) - * .dijitEditorHover .dijitEditorIFrameContainer/dijitEditorIFrame - styles when mouse hover on the container - * - * 3. focused Editor iframe container (ie, mouse focus on the editor pane) - * .dijitEditorFocused .dijitEditorIFrameContainer/dijitEditorIFrame - styles when container focused - * - * 3. disabled Editor iframe container - * .dijitEditorDisabled - editor's inner iframe container disable status styles: background, border - */ - -@import "variables"; - -.claro .dijitEditorIFrameContainer{ - padding:3px 3px 1px 10px; -} -.claro .dijitEditorIFrame { - background-color: @textbox-background-color; -} -.claro .dijitEditor { - border: 1px solid @border-color; -} -.claro .dijitEditor .dijitEditorIFrameContainer{ - background-color: @textbox-background-color; - background-image: url('form/images/textBox_back.png'); - background-repeat:repeat-x; -} -.dj_ie6 .claro .dijitEditor .dijitEditorIFrameContainer{ - background-image: none; -} -.claro .dijitEditorHover .dijitEditorIFrameContainer, -.claro .dijitEditorHover .dijitEditorIFrameContainer .dijitEditorIFrame{ - background-color: @textbox-hovered-background-color; -} -.claro .dijitEditorFocused .dijitEditorIFrameContainer, -.claro .dijitEditorFocused .dijitEditorIFrameContainer .dijitEditorIFrame{ - /* TODO: contradicts rule above, which background-color do you want? */ - background-color: @textbox-focused-background-color; -} - - -/* Disabled */ -.claro .dijitEditorDisabled { - border: 1px solid @disabled-border-color; - color: @disabled-text-color; -} - -.claro .dijitDisabled .dijitEditorIFrame, -.claro .dijitDisabled .dijitEditorIFrameContainer, -.claro .dijitDisabled .dijitEditorIFrameContainer .dijitEditorIFrame { - background-color: @textbox-disabled-background-color; - background-image: none; -} \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Editor_rtl.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Editor_rtl.css deleted file mode 100644 index 5f22be8a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Editor_rtl.css +++ /dev/null @@ -1,4 +0,0 @@ - -.claro .dijitEditorRtl .dijitEditorIFrameContainer { - padding: 3px 10px 1px 3px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Editor_rtl.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Editor_rtl.less deleted file mode 100644 index 8ebc013d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Editor_rtl.less +++ /dev/null @@ -1,9 +0,0 @@ -/* Editor */ - -@import "variables"; - -.claro .dijitEditorRtl .dijitEditorIFrameContainer{ - padding:3px 10px 1px 3px; -} - - diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/InlineEditBox.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/InlineEditBox.css deleted file mode 100644 index b5e5cfc5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/InlineEditBox.css +++ /dev/null @@ -1,11 +0,0 @@ - -.claro .dijitInlineEditBoxDisplayMode { - border: 1px solid transparent; -} -.claro .dijitInlineEditBoxDisplayModeHover { - background-color: #e9f4fe; - border: solid 1px #769dc0; -} -.dj_ie6 .claro .dijitInlineEditBoxDisplayMode { - border: none; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/InlineEditBox.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/InlineEditBox.less deleted file mode 100644 index a7162be1..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/InlineEditBox.less +++ /dev/null @@ -1,25 +0,0 @@ -/* InlineEditBox - * - * Styling InlineEditBox mainly includes: - * - * 1. Normal state - * .dijitInlineEditBoxDisplayMode - for border - * - * 2. Hover state - * .dijitInlineEditBoxDisplayModeHover - for border and background color - */ - -@import "variables"; - -.claro .dijitInlineEditBoxDisplayMode { - border: 1px solid transparent; -} - -.claro .dijitInlineEditBoxDisplayModeHover { - background-color: @textbox-hovered-background-color; - border: solid 1px @hovered-border-color; -} - -.dj_ie6 .claro .dijitInlineEditBoxDisplayMode { - border: none; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Menu.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Menu.css deleted file mode 100644 index 3c14130c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Menu.css +++ /dev/null @@ -1,145 +0,0 @@ - -.claro .dijitMenuBar { - border: 1px solid #b5bcc7; - margin: 0; - padding: 0; - background-color: #efefef; - background-image: url("images/commonHighlight.png"); - background-position: 0 0; - background-repeat: repeat-x; -} -.dj_ie6 .claro .dijitMenuBar { - background-image: none; -} -.claro .dijitMenu { - background-repeat: repeat-y; - background-color: #ffffff; - border: 1px solid #769dc0; - - margin: -1px 0; -} -.dj_ie6 .claro .dijitMenu { - margin: 0; - -} -.claro .dijitMenuBar .dijitMenuItem { - padding: 6px 10px 7px; - background-position: 0 100px; - color: #4a4a4a; - margin: -1px; -} -.claro .dijitMenuItem { - background-image: url("images/menuHighlight.png"); - background-position: 0 -40px; - background-repeat: repeat-x; -} -.claro .dijitMenuTable { - border-collapse: separate; - border-spacing: 0 0; - padding: 0; -} -.claro .dijitMenuItem td { - padding: 1px; -} -.claro .dijitMenuPassive .dijitMenuItemHover, .claro .dijitMenuPassive .dijitMenuItemSelected { - background-color: #abd6ff; - border: solid 1px #769dc0; - background-position: 0 0; - color: #000000; - padding: 5px 9px 6px; -} -.claro .dijitMenuPassive .dijitMenuItemActive { - background-position: 0 -177px; -} -.dj_ie6 .claro .dijitMenuItem, .dj_ie6 .claro .dijitMenuPassive .dijitMenuItem { - background-image: none; -} -.claro .dijitMenuActive .dijitMenuItemHover, .claro .dijitMenuActive .dijitMenuItemSelected { - border: solid 1px #769dc0; - padding: 5px 9px 6px; - background-color: #abd6ff; - background-position: 0 0; - color: #000000; -} -.dj_ie .claro .dijitMenuActive .dijitMenuItemHover, -.dj_ie .claro .dijitMenuActive .dijitMenuItemSelected, -.dj_ie .claro .dijitMenuPassive .dijitMenuItemHover, -.dj_ie .claro .dijitMenuPassive .dijitMenuItemSelected { - padding-top: 6px; - padding-bottom: 5px; - margin-top: -3px; -} -.claro .dijitMenuActive .dijitMenuItemActive { - background-color: #7dbefa; - background-position: 0 -177px; -} -.claro .dijitMenuItemActive { - background-position: 0 -177px; -} -.claro td.dijitMenuItemIconCell { - padding: 2px; - margin: 0 0 0 4px; -} -.claro td.dijitMenuItemLabel { - padding-top: 5px; - padding-bottom: 5px; -} -.claro .dijitMenuExpand { - width: 7px; - height: 7px; - background-image: url('images/spriteArrows.png'); - background-position: -14px 0; - margin-right: 3px; -} -.claro .dijitMenuItemDisabled .dijitMenuItemIconCell { - opacity: 1; -} -.claro .dijitMenuSeparatorTop { - height: auto; - margin-top: 1px; - - border-bottom: 1px solid #b5bcc7; -} -.claro .dijitMenuSeparatorBottom { - height: auto; - margin-bottom: 1px; -} -.claro .dijitCheckedMenuItemIconChar { - display: none; -} -.claro .dijitCheckedMenuItemIcon { - background-image: url('form/images/checkboxRadioButtonStates.png'); - background-repeat: no-repeat; - background-position: -15px 50%; - width: 15px; - height: 16px; -} -.dj_ie6 .claro .dijitCheckedMenuItemIcon { - background-image: url('form/images/checkboxAndRadioButtons_IE6.png'); -} -.claro .dijitCheckedMenuItemChecked .dijitCheckedMenuItemIcon { - background-position: 0 50%; -} -.claro .dijitComboBoxMenu { - margin-left: 0; - background-image: none; -} -.claro .dijitComboBoxMenu .dijitMenuItem { - padding: 2px; - border-width: 1px 0 1px 0; - border-style: solid; - border-color: #ffffff; -} -.claro .dijitComboBoxMenu .dijitMenuItemSelected { - color: #000000; - border-color: #769dc0; - background-color: #abd6ff; -} -.claro .dijitComboBoxMenuActive .dijitMenuItemSelected { - background-position: 0 -177px; - background-color: #7dbefa; - -} -.claro .dijitMenuPreviousButton, .claro .dijitMenuNextButton { - font-style: italic; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Menu.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Menu.less deleted file mode 100644 index 1528df40..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Menu.less +++ /dev/null @@ -1,188 +0,0 @@ -/* Menu - -There are three areas of styling for the Menu: - - 1. The menu - There are three types of menus: - i)Context Menu - ii)Drop down Menu - iii) Navigation Menu - All three types of menus are affected by the .dijitMenu class in which you can set the background-color, padding and border - .dijitMenu affects the drop down menu in TimeTextBox, Calendar, ComboBox and FilteringSelect - .dijitMenuTable - for padding - also affects Select widget - - 2. The menu bar - .dijitMenuBar - for border, margins, padding, background-color of the menu bar - .dijitMenuBar .dijitMenuItem - for padding, text color of menu items in the menu bar (overrides .dijitMenuItem) - - 3. Menu items - items in the menu. - .dijitMenuItem - for color - .dijitMenuItemHover, .dijitMenuItemSelected - for background-color, border, text color, padding of a menu item or menubar item that has been hovered over or selected - .dijitMenuItemActive - for bacgkround-color of an active (mousedown) menu item - td.dijitMenuItemIconCell - for padding around a menu item's icon - td.dijitMenuItemLabel - for padding around a menu item's label - .dijitMenuSeparatorTop - for border, top border, of the separator - .dijitMenuSeparatorBottom - for bottom margin of the separator - - Styles specific to ComboBox and FilteringSelect widgets: - .dijitComboBoxMenu .dijitMenuItem - for padding and border of a menu item in a ComboBox or FilteringSelect widget's menu - .dijitComboBoxMenu .dijitMenuItemSelected- for text color, background-color and border of a menu item in a ComboBox or FilteringSelect widget's menu - -*/ - -@import "variables"; - -.claro .dijitMenuBar { - border: 1px solid @border-color; - margin: 0; - padding: 0; - background-color: @bar-background-color; - background-image: url("images/commonHighlight.png"); - background-position:0 0; - background-repeat:repeat-x; -} -.dj_ie6 .claro .dijitMenuBar { - background-image:none; -} -.claro .dijitMenu { - background-repeat:repeat-y; - background-color:@menu-background-color; - border: 1px solid @popup-border-color; - - /* so adjoining borders of MenuBar/ComboBox and Menu overlap, avoiding double border */ - margin: -1px 0; -} -.dj_ie6 .claro .dijitMenu { - margin: 0; /* above -1px makes top/bottom borders disappear on IE6 */ -} -.claro .dijitMenuBar .dijitMenuItem { - padding: 6px 10px 7px; - background-position:0 100px; - color:@unselected-text-color; - margin:-1px; -} -.claro .dijitMenuItem { - background-image: url("images/menuHighlight.png"); - background-position:0 -40px; - background-repeat:repeat-x; -} - -/* this prevents jiggling upon hover of a menu item */ -.claro .dijitMenuTable { - border-collapse:separate; - border-spacing:0 0; - padding:0; -} -.claro .dijitMenuItem td{ - padding:1px; -} -/* hover over a MenuBarItem */ -.claro .dijitMenuPassive .dijitMenuItemHover, -.claro .dijitMenuPassive .dijitMenuItemSelected { - background-color: @hovered-background-color; - border:solid 1px @hovered-border-color; - background-position:0 0; - color:@text-color; - padding: 5px 9px 6px; -} -.claro .dijitMenuPassive .dijitMenuItemActive{ - background-position:0 -177px; -} -.dj_ie6 .claro .dijitMenuItem, -.dj_ie6 .claro .dijitMenuPassive .dijitMenuItem { - background-image: none; -} - -/* MenuBarItem that has been selected and menu drops down from it */ -.claro .dijitMenuActive .dijitMenuItemHover, -.claro .dijitMenuActive .dijitMenuItemSelected { - border:solid 1px @hovered-border-color; - padding: 5px 9px 6px; - background-color: @hovered-background-color; - background-position:0 0; - color:@hovered-text-color; -} -.dj_ie .claro .dijitMenuActive .dijitMenuItemHover, -.dj_ie .claro .dijitMenuActive .dijitMenuItemSelected, -.dj_ie .claro .dijitMenuPassive .dijitMenuItemHover, -.dj_ie .claro .dijitMenuPassive .dijitMenuItemSelected { - padding-top: 6px; - padding-bottom: 5px; - margin-top: -3px; -} -.claro .dijitMenuActive .dijitMenuItemActive{ - background-color: @pressed-background-color; - background-position:0 -177px; -} -.claro .dijitMenuItemActive { - background-position:0 -177px; -} -.claro td.dijitMenuItemIconCell { - padding: 2px; - margin: 0 0 0 4px; -} -.claro td.dijitMenuItemLabel { - padding-top: 5px; - padding-bottom: 5px; -} -.claro .dijitMenuExpand { - width: 7px; - height: 7px; - background-image: url('images/spriteArrows.png'); - background-position: -14px 0; - margin-right:3px; -} -.claro .dijitMenuItemDisabled .dijitMenuItemIconCell { - opacity:1; -} -.claro .dijitMenuSeparatorTop { - height: auto; - margin-top:1px; /* prevents spacing above/below separator */ - border-bottom: 1px solid @border-color -} -.claro .dijitMenuSeparatorBottom{ - height: auto; - margin-bottom:1px; -} -/* the checked menu item */ -.claro .dijitCheckedMenuItemIconChar { - display: none; -} -.claro .dijitCheckedMenuItemIcon { - background-image: url('form/images/checkboxRadioButtonStates.png'); - background-repeat:no-repeat; - background-position: -15px 50%; - width:15px; - height:16px; -} -.dj_ie6 .claro .dijitCheckedMenuItemIcon { - background-image: url('form/images/checkboxAndRadioButtons_IE6.png'); -} -.claro .dijitCheckedMenuItemChecked .dijitCheckedMenuItemIcon { - background-position: 0 50%; -} - -/*ComboBox Menu*/ -.claro .dijitComboBoxMenu { - margin-left:0; - background-image: none; -} - -.claro .dijitComboBoxMenu .dijitMenuItem { - padding: @textbox-padding; // Make drop down menu text line up with text in <input>. - border-width:1px 0 1px 0; - border-style:solid; - border-color: @select-dropdownitem-background-color; -} -.claro .dijitComboBoxMenu .dijitMenuItemSelected { - color:@selected-text-color; - border-color:@hovered-border-color; - background-color:@hovered-background-color; -} -.claro .dijitComboBoxMenuActive .dijitMenuItemSelected { - background-position:0 -177px; - background-color: @select-dropdownitem-hovered-background-color; /* TODO: why is this a different color than normal .dijitMenuItemSelected? */ -} -.claro .dijitMenuPreviousButton, .claro .dijitMenuNextButton { - font-style: italic; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Menu_rtl.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Menu_rtl.css deleted file mode 100644 index 2b96cbae..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Menu_rtl.css +++ /dev/null @@ -1,8 +0,0 @@ -.claro .dijitMenuItemRtl .dijitMenuExpand { - background-position: -7px 0; - margin-right: 0; - margin-left: 3px; -} -.claro .dijitMenuItemRtl .dijitMenuItemIcon { - margin: 0 4px 0 0; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Menu_rtl.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Menu_rtl.less deleted file mode 100644 index 6f669f5f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Menu_rtl.less +++ /dev/null @@ -1,11 +0,0 @@ -@import "variables"; - -.claro .dijitMenuItemRtl .dijitMenuExpand { - background-position: -7px 0; - margin-right: 0; - margin-left: 3px; -} - -.claro .dijitMenuItemRtl .dijitMenuItemIcon { - margin:0 4px 0 0; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/ProgressBar.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/ProgressBar.css deleted file mode 100644 index e9ae9a45..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/ProgressBar.css +++ /dev/null @@ -1,27 +0,0 @@ - -.claro .dijitProgressBar { - margin: 2px 0 2px 0; -} -.claro .dijitProgressBarEmpty { - - background: #ffffff url("images/progressBarEmpty.png") repeat-none left; - border-color: #769dc0; -} -.claro .dijitProgressBarTile { - - background: #abd6ff url("images/progressBarFull.png") repeat-x top; -} -.dj_ie6 .claro .dijitProgressBarTile { - background-image: none; -} -.claro .dijitProgressBarFull { - border-right: 1px solid #769dc0; -} -.claro .dijitProgressBarLabel { - - color: #000000; -} -.claro .dijitProgressBarIndeterminate .dijitProgressBarTile { - - background: #efefef url("images/progressBarAnim.gif") repeat-x top; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/ProgressBar.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/ProgressBar.less deleted file mode 100644 index d361952e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/ProgressBar.less +++ /dev/null @@ -1,56 +0,0 @@ -/* ProgressBar - * - * Styling of the ProgressBar consists of the following: - * - * 1. the base progress bar - * .dijitProgressBar - sets margins for the progress bar - * - * 2. the empty bar - * .dijitProgressBarEmpty - sets background img and color for bar or parts of bar that are not finished yet - * Also sets border color for whole bar - * - * 3. tile mode - * .dijitProgressBarTile - * inner container for finished portion when in 'tile' (image) mode - * - * 4. full bar mode - * .dijitProgressBarFull - * adds border to right side of the filled portion of bar - * - * 5. text for label of bar - * .dijitProgressBarLabel - sets text color, which must contrast with both the "Empty" and "Full" parts. - * - * 6. indeterminate mode - * .dijitProgressBarIndeterminate .dijitProgressBarTile - * sets animated gif for the progress bar in 'indeterminate' mode - */ - - @import "variables"; - -.claro .dijitProgressBar { - margin:2px 0 2px 0; -} -.claro .dijitProgressBarEmpty { - /* outer container and background of the bar that's not finished yet*/ - background: @progressbar-empty-background-color url("images/progressBarEmpty.png") repeat-none left; - border-color: @progressbar-border-color; -} -.claro .dijitProgressBarTile { - /* inner container for finished portion when in 'tile' (image) mode */ - background: @progressbar-full-background-color url("images/progressBarFull.png") repeat-x top; -} -.dj_ie6 .claro .dijitProgressBarTile { - background-image: none; -} -.claro .dijitProgressBarFull { - border-right:1px solid @progressbar-border-color; -} -.claro .dijitProgressBarLabel { - /* Set to a color that contrasts with both the "Empty" and "Full" parts. */ - color: @progressbar-text-color; -} -.claro .dijitProgressBarIndeterminate .dijitProgressBarTile { - /* use an animated gif for the progress bar in 'indeterminate' mode; - background-color won't appear unless user has turned off background images */ - background: @bar-background-color url("images/progressBarAnim.gif") repeat-x top; -} \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/README b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/README deleted file mode 100644 index 5ef4714a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/README +++ /dev/null @@ -1,64 +0,0 @@ -These are "less" files that compile into the CSS of claro. - ---------- -Installing and running on Windows: - -1. Install node: - a) Go to https://github.com/ajaxorg/node-builds, press download button, and select "download zip" - b) unzip the file into C:\ - -2. Install less: - - a) Go to https://github.com/cloudhead/less.js/archives/master, press download button, and select "download zip" - b) unzip the file into C:\ - -2. Add node and lessc environment variables: - - a) open Control Panel --> click System icon --> select Advanced tab --> click Environment variables button - b) press "edit" on path - c) depending on what directory you unzipped to and the exact filenames, you will add something like - - ;C:\ajaxorg-node-builds-0fcee7d\win32;C:\cloudhead-less.js-7fb09f\bin - - d) add new environment variable NODE_PATH with value like this (depending on exact download name): - - C:\cloudhead-less.js-7fb09f\lib - -4. To compile all the files: - - C:\> cd C:\myworkspace\dijit\themes\claro - C:\> node compile.js - --------- -To install/run less version 2 on mac: - -1. Install Node.js - Download a built copy from https://github.com/ajaxorg/node-builds. - Alternately, o to http://nodejs.org/#download (./configure, make, make install). - -2. Download less from https://github.com/cloudhead/less.js/archives/master - -3. Edit .bash_profile etc. to add node to your path, and lessc to NODE_PATH: - - export PATH=$PATH:/opt/less/bin - export NODE_PATH=$NODE_PATH:/opt/less/lib - -To compile all the files: - - $ cd dijit/themes/claro - $ node compile.js - - -------- -Alternately, you can install less version 1, but I'd rather not use it for checked in files -since it breaks a part a lot of rules into multiple rules, causing spurious diffs. - -To install on a mac: - $ sudo gem install less - -On Windows or Linux, make sure you have ruby and ruby-gems installed first. -If you need help installing ruby please check out ruby-lang.org for more details. - ------ - -See http://lesscss.org/ and https://github.com/cloudhead/less.js/ for more information. diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TimePicker.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TimePicker.css deleted file mode 100644 index e28c023a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TimePicker.css +++ /dev/null @@ -1,102 +0,0 @@ - -.claro .dijitTimePicker .dijitButtonNode { - padding: 0 0; - -moz-border-radius: 0; - border-radius: 0; -} -.claro .dijitTimePicker { - border: 1px #b5bcc7 solid; - border-top: none; - border-bottom: none; - background-color: #fff; - -} -.claro .dijitTimePickerItem { - - background-image: url("images/commonHighlight.png"); - background-position: 0 -1px; - background-repeat: repeat-x; - border-top: solid 1px #b5bcc7; - border-bottom: solid 1px #b5bcc7; - margin-right: -1px; - margin-left: -1px; - margin-top: -1px; -} -.dj_ie6 .claro .dijitTimePickerItem { - background-image: none; -} -.claro .dijitTimePickerTick { - - color: #818181; - background-color: #efefef; - font-size: 0.818em; -} -.claro .dijitTimePickerMarker { - - background-color: #e9f4fe; - font-size: 1em; - white-space: nowrap; -} -.claro .dijitTimePickerTickHover, -.claro .dijitTimePickerMarkerHover, -.claro .dijitTimePickerMarkerSelected, -.claro .dijitTimePickerTickSelected { - background-color: #7dbefa; - border: solid 1px #b5bcc7; - margin-left: -7px; - margin-right: -7px; - color: #000000; -} -.claro .dijitTimePickerMarkerSelected, .claro .dijitTimePickerTickSelected { - font-size: 1em; -} -.dj_ie .claro .dijitTimePickerTickHover, -.dj_ie .claro .dijitTimePickerMarkerHover, -.dj_ie .claro .dijitTimePickerMarkerSelected, -.dj_ie .claro .dijitTimePickerTickSelected { - width: 114%; -} -.dj_ie6 .claro .dijitTimePickerTickHover, -.dj_ie6 .claro .dijitTimePickerMarkerHover, -.dj_ie6 .claro .dijitTimePickerMarkerSelected, -.dj_ie6 .claro .dijitTimePickerTickSelected { - position: relative; - - zoom: 1; - -} -.claro .dijitTimePickerTick .dijitTimePickerItemInner { - padding: 1px; - margin: 0; -} -.claro .dijitTimePicker .dijitButtonNode { - border-left: none; - border-right: none; - border-color: #b5bcc7; - background-color: #efefef; - background-image: url("images/commonHighlight.png"); - background-position: 0 -1px; - background-repeat: repeat-x; -} -.dj_ie6 .claro .dijitTimePicker .dijitButtonNode { - background-image: none; -} -.claro .dijitTimePicker .dijitArrowButtonInner { - height: 100%; - - background-image: url("form/images/commonFormArrows.png"); - background-repeat: no-repeat; - background-position: -140px 45%; -} -.claro .dijitTimePicker .dijitDownArrowButton .dijitArrowButtonInner { - background-position: -35px 45%; -} -.claro .dijitTimePicker .dijitUpArrowHover, .claro .dijitTimePicker .dijitDownArrowHover { - background-color: #abd6ff; -} -.claro .dijitTimePicker .dijitUpArrowHover .dijitArrowButtonInner { - background-position: -175px 45%; -} -.claro .dijitTimePicker .dijitDownArrowHover .dijitArrowButtonInner { - background-position: -70px 45%; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TimePicker.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TimePicker.less deleted file mode 100644 index cd07a63d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TimePicker.less +++ /dev/null @@ -1,124 +0,0 @@ -/* Time Picker - * - * Styling the Time Picker consists of the following: - * - * 1. minor time values - * .dijitTimePickerTick - set text color, size, background color of minor values - * .dijitTimePickerTickHover - set hover style of minor time values - * dijitTimePickerTickSelected - set selected style of minor time values - * - * 2. major time values - 1:00, 2:00, times on the hour - * set text color, size, background color, left/right margins for "zoom" affect - * .dijitTimePickerMarkerHover - to set hover style of major time values - * .dijitTimePickerMarkerSelected - set selected style of major time values - * - * 3. up and down arrow buttons - * .dijitTimePicker .dijitButtonNode - background-color, border - * .dijitTimePicker .dijitUpArrowHover, .dijitTimePicker .dijitDownArrowHover - set background-color for hover state - * - * Other classes provide the fundamental structure of the TimePicker and should not be modified. - */ - -@import "variables"; - -/* override Button.css */ -.claro .dijitTimePicker .dijitButtonNode { - padding: 0 0; - .border-radius(0); -} -.claro .dijitTimePicker{ - border:1px @border-color solid; - border-top:none; - border-bottom:none; - background-color:#fff; /* TODO: useless? Appears to be overridden by settings on individual elements */ -} -.claro .dijitTimePickerItem{ - /* dijitTimePickerItem refers to both Tick's (minor values like 2:15, 2:30, 2:45) and Marker's (major values like 2PM, 3PM) */ - background-image: url("images/commonHighlight.png"); - background-position:0 -1px; - background-repeat:repeat-x; - border-top:solid 1px @border-color; - border-bottom:solid 1px @border-color; - margin-right:-1px; - margin-left:-1px; - margin-top:-1px; -} -/* to make up for lack of alpha transparency in IE6 */ -.dj_ie6 .claro .dijitTimePickerItem { - background-image: none; -} -.claro .dijitTimePickerTick { - /* minor value */ - color:@timepicker-minorvalue-text-color; - background-color:@timepicker-minorvalue-background-color; - font-size:0.818em; -} -.claro .dijitTimePickerMarker { - /* major value - 1:00, 2:00, times on the hour */ - background-color: @timepicker-majorvalue-background-color; - font-size: 1em; - white-space: nowrap; -} -.claro .dijitTimePickerTickHover, -.claro .dijitTimePickerMarkerHover, -.claro .dijitTimePickerMarkerSelected, -.claro .dijitTimePickerTickSelected { - background-color: @timepicker-value-hovered-background-color; - border:solid 1px @border-color; - margin-left:-7px; - margin-right:-7px; - color:@timepicker-value-hovered-text-color; -} -.claro .dijitTimePickerMarkerSelected, -.claro .dijitTimePickerTickSelected { - font-size: 1em; -} -.dj_ie .claro .dijitTimePickerTickHover, -.dj_ie .claro .dijitTimePickerMarkerHover, -.dj_ie .claro .dijitTimePickerMarkerSelected, -.dj_ie .claro .dijitTimePickerTickSelected { - width: 114%; -} -.dj_ie6 .claro .dijitTimePickerTickHover, -.dj_ie6 .claro .dijitTimePickerMarkerHover, -.dj_ie6 .claro .dijitTimePickerMarkerSelected, -.dj_ie6 .claro .dijitTimePickerTickSelected { - position: relative; /* creates widening of element */ - zoom: 1; /* creates widening of element */ -} -.claro .dijitTimePickerTick .dijitTimePickerItemInner { - padding:1px; - margin:0; -} -.claro .dijitTimePicker .dijitButtonNode { - border-left:none; - border-right:none; - border-color:@border-color; - background-color: @unselected-background-color; - background-image: url("images/commonHighlight.png"); - background-position:0 -1px; - background-repeat:repeat-x; -} -.dj_ie6 .claro .dijitTimePicker .dijitButtonNode { - background-image: none; -} -.claro .dijitTimePicker .dijitArrowButtonInner{ - height: 100%; /* hack claro.button.css */ - background-image: url("form/images/commonFormArrows.png"); - background-repeat: no-repeat; - background-position:-140px 45%; -} -.claro .dijitTimePicker .dijitDownArrowButton .dijitArrowButtonInner{ - background-position:-35px 45%; -} -/* hover */ -.claro .dijitTimePicker .dijitUpArrowHover, -.claro .dijitTimePicker .dijitDownArrowHover { - background-color: @timepicker-arrow-hovered-background-color; -} -.claro .dijitTimePicker .dijitUpArrowHover .dijitArrowButtonInner { - background-position:-175px 45%; -} -.claro .dijitTimePicker .dijitDownArrowHover .dijitArrowButtonInner { - background-position:-70px 45%; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TimePicker_rtl.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TimePicker_rtl.css deleted file mode 100644 index 5b1e1cdd..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TimePicker_rtl.css +++ /dev/null @@ -1,9 +0,0 @@ - -.dj_ie .claro .dijitTimePickerRtl .dijitTimePickerTickHover, -.dj_ie .claro .dijitTimePickerRtl .dijitTimePickerMarkerHover, -.dj_ie .claro .dijitTimePickerRtl .dijitTimePickerMarkerSelected, -.dj_ie .claro .dijitTimePickerRtl .dijitTimePickerTickSelected { - margin-left: -6px; - margin-right: -8px; - width: 114%; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TimePicker_rtl.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TimePicker_rtl.less deleted file mode 100644 index 44f5da5b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TimePicker_rtl.less +++ /dev/null @@ -1,12 +0,0 @@ -/* TimePicker */ - -@import "variables"; - -.dj_ie .claro .dijitTimePickerRtl .dijitTimePickerTickHover, -.dj_ie .claro .dijitTimePickerRtl .dijitTimePickerMarkerHover, -.dj_ie .claro .dijitTimePickerRtl .dijitTimePickerMarkerSelected, -.dj_ie .claro .dijitTimePickerRtl .dijitTimePickerTickSelected { - margin-left:-6px; - margin-right:-8px; - width: 114%; -} \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TitlePane.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TitlePane.css deleted file mode 100644 index dee7e3e1..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TitlePane.css +++ /dev/null @@ -1,54 +0,0 @@ - -.claro .dijitTitlePaneTitle { - background-color: #efefef; - background-image: url("images/titlebar.png"); - background-repeat: repeat-x; - border: 1px solid #b5bcc7; - padding: 0 7px 3px 7px; - min-height: 17px; -} -.dj_ie6 .claro .dijitTitlePaneTitle { - background-image: none; -} -.claro .dijitTitlePaneTitleHover { - background-color: #abd6ff; - border-color: #769dc0; -} -.claro .dijitTitlePaneTitleActive { - background-color: #7dbefa; - border-color: #769dc0; - background-position: 0 -136px; -} -.claro .dijitTitlePaneTitleFocus { - margin-top: 3px; - padding-bottom: 2px; -} -.claro .dijitTitlePane .dijitArrowNode { - background-image: url('images/spriteArrows.png'); - background-repeat: no-repeat; - height: 8px; - width: 7px; -} -.claro .dijitTitlePane .dijitOpen .dijitArrowNode { - background-position: 0 0; -} -.claro .dijitTitlePane .dijitClosed .dijitArrowNode { - background-position: -14px 0; -} -.claro .dijitTitlePaneFocused .dijitTitlePaneTextNode { - color: #000000; - -} -.claro .dijitTitlePaneContentOuter { - background: #ffffff; - border: 1px solid #b5bcc7; - border-top: none; -} -.claro .dijitTitlePaneContentInner { - padding: 10px; -} -.claro .dijitTitlePaneTextNode { - margin-left: 4px; - margin-right: 4px; - vertical-align: text-top; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TitlePane.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TitlePane.less deleted file mode 100644 index 22bacca0..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TitlePane.less +++ /dev/null @@ -1,74 +0,0 @@ -/* TitlePane - * - * Styling TitlePane means styling the TitlePane title and its content container (dijitTitlePane) - * - * TitlePane title: - * 1. TitlePane title (default styling): - * .dijitTitlePaneTitle - TitlePane's title div style: background-color, border - * - * 2. hovered TitlePane title (ie, mouse hover on a title bar) - * .dijitTitlePaneTitleHover - styles when mouse hover on the title div - * - * 3. active TitlePane title (ie, mouse down on a title bar) - * .dijitTitlePaneTitleActive - styles when mouse down on the title div - * - * - * TitlePane Content Container: - * 1. outer/inner container: - * .dijitTitlePaneContentOuter / dijitTitlePaneContentInner - styles for the content outer div - */ - -@import "variables"; - -.claro .dijitTitlePaneTitle { - background-color: @unselected-background-color; // TODO: Mailed Jason, shouldn't this toggle to @selected-background-color when pane opened? - background-image: url("images/titlebar.png"); - background-repeat:repeat-x; - border:1px solid @border-color; - padding: 0 7px 3px 7px; - min-height:17px; -} -.dj_ie6 .claro .dijitTitlePaneTitle { - background-image: none; -} -.claro .dijitTitlePaneTitleHover { - background-color: @hovered-background-color; - border-color: @hovered-border-color; -} -.claro .dijitTitlePaneTitleActive { - background-color: @pressed-background-color; - border-color: @pressed-border-color; - background-position:0 -136px; -} -.claro .dijitTitlePaneTitleFocus { - margin-top:3px; - padding-bottom:2px; -} -.claro .dijitTitlePane .dijitArrowNode { - background-image: url('images/spriteArrows.png'); - background-repeat: no-repeat; - height: 8px; - width: 7px; -} -.claro .dijitTitlePane .dijitOpen .dijitArrowNode { - background-position: 0 0; -} -.claro .dijitTitlePane .dijitClosed .dijitArrowNode { - background-position: -14px 0; -} -.claro .dijitTitlePaneFocused .dijitTitlePaneTextNode { - color:@text-color; /* TODO: do we need this? we usually don't change text color on focus */ -} -.claro .dijitTitlePaneContentOuter { - background: @pane-background-color; - border:1px solid @border-color; - border-top:none; -} -.claro .dijitTitlePaneContentInner { - padding:10px; -} -.claro .dijitTitlePaneTextNode { - margin-left: 4px; - margin-right: 4px; - vertical-align:text-top; -} \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TitlePane_rtl.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TitlePane_rtl.css deleted file mode 100644 index 79c95d5d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TitlePane_rtl.css +++ /dev/null @@ -1,4 +0,0 @@ - -.claro .dijitTitlePaneRtl .dijitClosed .dijitArrowNode { - background-position: -7px 0; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TitlePane_rtl.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TitlePane_rtl.less deleted file mode 100644 index 693584f6..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/TitlePane_rtl.less +++ /dev/null @@ -1,7 +0,0 @@ -/* TitlePane */ - -@import "variables"; - -.claro .dijitTitlePaneRtl .dijitClosed .dijitArrowNode { - background-position: -7px 0; -} \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Toolbar.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Toolbar.css deleted file mode 100644 index 2e5f033c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Toolbar.css +++ /dev/null @@ -1,126 +0,0 @@ - -.claro .dijitToolbar { - border-bottom: 1px solid #b5bcc7; - background-color: #efefef; - background-image: url("images/commonHighlight.png"); - background-position: 0 0; - background-repeat: repeat-x; - padding: 2px 0 2px 4px; - zoom: 1; -} -.claro .dijitToolbar label { - padding: 0 3px 0 6px; -} -.claro .dijitToolbar .dijitButtonNode { - border-width: 0; - - padding: 2px; - -moz-border-radius: 2px; - border-radius: 2px; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - -webkit-transition-property: background-color; - -moz-transition-property: background-color; - transition-property: background-color; - -webkit-transition-duration: 0.3s, 0.35s; - -moz-transition-duration: 0.3s, 0.35s; - transition-duration: 0.3s, 0.35s; - background-image: url("images/commonHighlight.png"); - background-position: 0 -30px; - background-repeat: repeat-x; - background-color: rgba(171, 214, 255, 0); -} -.dj_ie .claro .dijitToolbar .dijitButtonNode { - background-color: transparent; - -} -.dj_ie6 .claro .dijitToolbar .dijitButtonNode { - background: none; - -} -.claro .dijitToolbar .dijitComboButton .dijitStretch { - - -moz-border-radius: 2px 0 0 2px; - border-radius: 2px 0 0 2px; -} -.claro .dijitToolbar .dijitComboButton .dijitArrowButton { - - -moz-border-radius: 0 2px 2px 0; - border-radius: 0 2px 2px 0; -} -.claro .dijitToolbar .dijitComboBox .dijitButtonNode { - padding: 0; -} -.claro .dijitToolbar .dijitButtonHover .dijitButtonNode, -.claro .dijitToolbar .dijitDropDownButtonHover .dijitButtonNode, -.claro .dijitToolbar .dijitToggleButtonHover .dijitButtonNode, -.claro .dijitToolbar .dijitComboButtonHover .dijitButtonNode { - background-position: 0 0; - border-width: 1px; - background-color: #abd6ff; - padding: 1px; -} -.claro .dijitToolbar .dijitComboButtonHover .dijitButtonNode, .claro .dijitToolbar .dijitComboButtonHover .dijitDownArrowButton { - background-position: 0 0; - background-color: #f4ffff; -} -.claro .dijitToolbar .dijitComboButtonHover .dijitButtonNodeHover, .claro .dijitToolbar .dijitComboButtonHover .dijitDownArrowButtonHover { - background-color: #abd6ff; -} -.claro .dijitToolbar .dijitButtonActive .dijitButtonNode, .claro .dijitToolbar .dijitDropDownButtonActive .dijitButtonNode, .claro .dijitToolbar .dijitToggleButtonActive .dijitButtonNode { - border-width: 1px; - background-color: #7dbefa; - background-position: 0 -177px; - padding: 1px; -} -.claro .dijitToolbar .dijitComboButtonActive { - -webkit-transition-duration: 0.2s; - -moz-transition-duration: 0.2s; - transition-duration: 0.2s; - border-width: 1px; - padding: 0; -} -.claro .dijitToolbar .dijitComboButtonActive .dijitButtonNode, .claro .dijitToolbar .dijitComboButtonActive .dijitDownArrowButton { - background-color: #f4ffff; - background-position: 0 -177px; - padding: 2px; -} -.claro .dijitToolbar .dijitComboButtonActive .dijitButtonNodeActive { - background-color: #7dbefa; -} -.claro .dijitToolbar .dijitComboButtonActive .dijitDownArrowButtonActive { - background-color: #7dbefa; -} -.claro .dijitToolbar .dijitComboButtonHover .dijitDownArrowButton, .claro .dijitToolbar .dijitComboButtonActive .dijitDownArrowButton { - border-left-width: 0; -} -.claro .dijitToolbar .dijitComboButtonHover .dijitDownArrowButton { - padding-left: 2px; - -} -.claro .dijitToolbar .dijitToggleButtonChecked .dijitButtonNode { - margin: 0; - - border-width: 1px; - border-style: solid; - background-image: none; - border-color: #769dc0; - background-color: #ffffff; - padding: 1px; -} -.dj_ie6 .claro .dijitToolbar { - background-image: none; -} -.claro .dijitToolbarSeparator { - - background: url('../../icons/images/editorIconsEnabled.png'); -} -.claro .dijitDisabled .dijitToolbar { - background: none; - background-color: #efefef; - border-bottom: 1px solid #d3d3d3; -} -.claro .dijitToolbar .dijitComboBoxDisabled .dijitArrowButtonInner { - background-position: 0 50%; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Toolbar.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Toolbar.less deleted file mode 100644 index eb99f2f2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Toolbar.less +++ /dev/null @@ -1,157 +0,0 @@ -/* Toolbar - * - * Styling Toolbar means styling the toolbar container and the widget inside toolbar (dijitToolbar) - * - * 1. toolbar (default styling): - * .dijitToolbar - styles for outer container - * - * 2. widget inside toolbar - * .dijitToolbar .dijitButtonNode - Button widget - * .dijitComboButton - ComboButton widget - * .dijitDropDownButton - DropDownButton widget - * .dijitToggleButton - ToggleButton widget - * - * 3. hovered widget inside toolbar (ie, mouse hover on the widget inside) - * .dijitToolbar .dijitButtonNodeHover - styles for hovered Button widget - * - * 4. actived widget inside toolbar (ie, mouse down on the widget inside) - * .dijitToolbar .dijitButtonNodeActive - mouse down on Button widget - */ - -@import "variables"; - -.claro .dijitToolbar { - border-bottom: 1px solid @border-color; - background-color: @bar-background-color; - background-image: url("images/commonHighlight.png"); - background-position:0 0; - background-repeat:repeat-x; - padding: 2px 0 2px 4px; - zoom: 1; -} - -.claro .dijitToolbar label { - padding: 0 3px 0 6px; -} - -/** override claro/form/Button.css **/ -.claro .dijitToolbar .dijitButtonNode { - border-width: 0; /* on hover/active, border-->1px, padding-->1px */ - padding: 2px; - .border-radius(@toolbar-button-border-radius); - .box-shadow(none); - .transition-property(background-color); - .transition-duration(.3s, .35s); - - background-image: url("images/commonHighlight.png"); - background-position:0 -30px; - background-repeat:repeat-x; - background-color:rgba(171,214,255,0); -} -.dj_ie .claro .dijitToolbar .dijitButtonNode { - background-color: transparent; /* for IE, which doesn't understand rgba(...) */ -} -.dj_ie6 .claro .dijitToolbar .dijitButtonNode { - background: none; /* because background-color: transparent above doesn't work */ -} - -.claro .dijitToolbar .dijitComboButton .dijitStretch { - /* no rounded border on side adjacent to arrow */ - .border-radius(@toolbar-button-border-radius 0 0 @toolbar-button-border-radius); -} -.claro .dijitToolbar .dijitComboButton .dijitArrowButton { - /* no rounded border on side adjacent to button */ - .border-radius(0 @toolbar-button-border-radius @toolbar-button-border-radius 0); -} - -.claro .dijitToolbar .dijitComboBox .dijitButtonNode { - padding: 0; -} - -/* hover status */ -.claro .dijitToolbar .dijitButtonHover .dijitButtonNode, -.claro .dijitToolbar .dijitDropDownButtonHover .dijitButtonNode, -.claro .dijitToolbar .dijitToggleButtonHover .dijitButtonNode, -.claro .dijitToolbar .dijitComboButtonHover .dijitButtonNode { - background-position:0 0; - border-width:1px; - background-color: @hovered-background-color; - padding: 1px; -} -.claro .dijitToolbar .dijitComboButtonHover .dijitButtonNode, -.claro .dijitToolbar .dijitComboButtonHover .dijitDownArrowButton { - background-position:0 0; - background-color: @toolbar-combobutton-hovered-unhoveredsection-background-color; -} -.claro .dijitToolbar .dijitComboButtonHover .dijitButtonNodeHover, -.claro .dijitToolbar .dijitComboButtonHover .dijitDownArrowButtonHover { - background-color: @hovered-background-color; -} - -/* active status */ -.claro .dijitToolbar .dijitButtonActive .dijitButtonNode, -.claro .dijitToolbar .dijitDropDownButtonActive .dijitButtonNode, -.claro .dijitToolbar .dijitToggleButtonActive .dijitButtonNode { - border-width: 1px; - background-color:@pressed-background-color; - background-position:0 -177px; - padding: 1px; -} -.claro .dijitToolbar .dijitComboButtonActive { - .transition-duration(.2s); - border-width: 1px; - padding: 0; -} -.claro .dijitToolbar .dijitComboButtonActive .dijitButtonNode, -.claro .dijitToolbar .dijitComboButtonActive .dijitDownArrowButton { - background-color: @toolbar-combobutton-hovered-unhoveredsection-background-color; - background-position:0 -177px; - padding: 2px; -} -.claro .dijitToolbar .dijitComboButtonActive .dijitButtonNodeActive { - background-color: @pressed-background-color; -} -.claro .dijitToolbar .dijitComboButtonActive .dijitDownArrowButtonActive { - background-color: @pressed-background-color; -} - -/* Avoid double border between button and arrow */ -.claro .dijitToolbar .dijitComboButtonHover .dijitDownArrowButton, -.claro .dijitToolbar .dijitComboButtonActive .dijitDownArrowButton { - border-left-width: 0; -} -.claro .dijitToolbar .dijitComboButtonHover .dijitDownArrowButton { - padding-left: 2px; /* since there's no left border, don't reduce from 2px --> 1px */ -} - -/* toggle button checked status */ -.claro .dijitToolbar .dijitToggleButtonChecked .dijitButtonNode { - margin: 0; /* remove margin and add a border */ - border-width: 1px; - border-style: solid; - background-image: none; - border-color: @selected-border-color; - background-color: @toolbar-button-checked-background-color; - padding: 1px; -} - -.dj_ie6 .claro .dijitToolbar { - background-image: none; -} - -.claro .dijitToolbarSeparator { - /* separator icon in the editor sprite */ - background: url('../../icons/images/editorIconsEnabled.png'); -} - -/* Toolbar inside of disabled Editor */ -.claro .dijitDisabled .dijitToolbar { - background:none; - background-color:@disabled-background-color; - border-bottom: 1px solid @disabled-border-color; -} - -.claro .dijitToolbar .dijitComboBoxDisabled .dijitArrowButtonInner { - background-position:0 50%; -} - diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Toolbar_rtl.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Toolbar_rtl.css deleted file mode 100644 index 06378949..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Toolbar_rtl.css +++ /dev/null @@ -1,26 +0,0 @@ - -.claro .dijitToolbar .dijitComboButtonRtl .dijitButtonNode { - border-width: 0; - padding: 2px; -} -.claro .dijitToolbar .dijitComboButtonRtlHover .dijitButtonNode, .claro .dijitToolbar .dijitComboButtonRtlActive .dijitButtonNode { - border-width: 1px; - padding: 1px; -} -.claro .dijitToolbar .dijitComboButtonRtl .dijitStretch { - - -moz-border-radius: 0 2px 2px 0; - border-radius: 0 2px 2px 0; -} -.claro .dijitToolbar .dijitComboButtonRtl .dijitArrowButton { - - -moz-border-radius: 2px 0 0 2px; - border-radius: 2px 0 0 2px; -} -.claro .dijitToolbar .dijitComboButtonRtlHover .dijitArrowButton, .claro .dijitToolbar .dijitComboButtonRtlActive .dijitArrowButton { - - border-left-width: 1px; - border-right-width: 0; - padding-left: 1px; - padding-right: 2px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Toolbar_rtl.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Toolbar_rtl.less deleted file mode 100644 index 8d31c88f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Toolbar_rtl.less +++ /dev/null @@ -1,32 +0,0 @@ -/* Toolbar RTL */ - -@import "variables"; - -/* Repeated rules from Toolbar.css to override rule from Button_rtl.css, which is loaded after Toolbar.css */ -.claro .dijitToolbar .dijitComboButtonRtl .dijitButtonNode { - border-width: 0; - padding: 2px; -} -.claro .dijitToolbar .dijitComboButtonRtlHover .dijitButtonNode, -.claro .dijitToolbar .dijitComboButtonRtlActive .dijitButtonNode { - border-width: 1px; - padding: 1px; -} - -.claro .dijitToolbar .dijitComboButtonRtl .dijitStretch { - /* no rounded border on side adjacent to arrow */ - .border-radius(0 2px 2px 0); -} -.claro .dijitToolbar .dijitComboButtonRtl .dijitArrowButton { - /* no rounded border on side adjacent to button */ - .border-radius(2px 0 0 2px); -} - -.claro .dijitToolbar .dijitComboButtonRtlHover .dijitArrowButton, -.claro .dijitToolbar .dijitComboButtonRtlActive .dijitArrowButton { - /* border between button and arrow */ - border-left-width: 1px; - border-right-width: 0; - padding-left: 1px; - padding-right: 2px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Tree.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Tree.css deleted file mode 100644 index b92a434b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Tree.css +++ /dev/null @@ -1,97 +0,0 @@ - -.claro .dijitTreeNode { - zoom: 1; - -} -.claro .dijitTreeIsRoot { - background-image: none; -} -.claro .dijitTreeRow, .claro .dijitTreeNode .dojoDndItemBefore, .claro .dijitTreeNode .dojoDndItemAfter { - - padding: 4px 1px 2px 0; - margin: 0 1px; - - background-color: none; - background-color: transparent; - background-color: rgba(171, 214, 255, 0); - background-image: url("images/commonHighlight.png"); - background-position: 0 0; - background-repeat: repeat-x; - border-color: rgba(118, 157, 192, 0); - border-width: 0; - -webkit-transition-property: background-color, border-color; - -moz-transition-property: background-color, border-color; - transition-property: background-color, border-color; - -webkit-transition-duration: 0.25s; - -moz-transition-duration: 0.25s; - transition-duration: 0.25s; - -webkit-transition-timing-function: ease-out; - -moz-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} -.dj_ie6 .claro .dijitTreeRow { - background-image: none; -} -.claro .dijitTreeRowSelected { - background-repeat: repeat-x; - background-color: #cfe5fa; - padding: 3px 0 1px; - margin: 0; - border: solid 1px #769dc0; - color: #000000; -} -.claro .dijitTreeRowHover { - background-color: #abd6ff; - padding: 3px 0 1px; - margin: 0; - border: solid 1px #769dc0; - color: #000000; - -webkit-transition-duration: 0.25s; - -moz-transition-duration: 0.25s; - transition-duration: 0.25s; -} -.claro .dijitTreeRowActive { - background-color: #7dbefa; - background-position: 0 -177px; - padding: 3px 0 1px; - margin-left: 0; - border: solid 1px #769dc0; - color: #000000; -} -.dj_ie6 .claro .dijitTreeRowActive { - background-image: none; -} -.claro .dijitTreeRowFocused { - background-repeat: repeat; -} -.claro .dijitTreeExpando { - background-image: url('images/treeExpandImages.png'); - width: 16px; - height: 16px; - background-position: -35px 0; - -} -.dj_ie6 .claro .dijitTreeExpando { - background-image: url('images/treeExpandImages8bit.png'); -} -.claro .dijitTreeRowHover .dijitTreeExpandoOpened { - background-position: -53px 0; -} -.claro .dijitTreeExpandoClosed { - background-position: 1px 0; -} -.claro .dijitTreeRowHover .dijitTreeExpandoClosed { - background-position: -17px 0; -} -.claro .dijitTreeExpandoLeaf, .dj_ie6 .claro .dijitTreeExpandoLeaf { - background-image: none; -} -.claro .dijitTreeExpandoLoading { - background-image: url('images/loadingAnimation.gif'); -} -.claro .dijitTreeNode .dojoDndItemBefore .dijitTreeContent { - border-top: 2px solid #769dc0; -} -.claro .dijitTreeNode .dojoDndItemAfter .dijitTreeContent { - border-bottom: 2px solid #769dc0; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Tree.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Tree.less deleted file mode 100644 index 4e639ca4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/Tree.less +++ /dev/null @@ -1,133 +0,0 @@ -/* Tree - * - * Styling Tree mostly means styling the TreeRow (dijitTreeRow) - * There are 4 basic states to style: - * - * Tree Row: - * 1. tree row (default styling): - * .dijitTreeRow - styles for each row of the tree - * - * 2. hovered tree row (mouse hover on a tree row) - * .dijitTreeRowHover - styles when mouse over on one row - * - * 3. active tree row (mouse down on a tree row) - * .dijitTreeRowActive - styles when mouse down on one row - * - * 4. selected tree row - * dijitTreeRowSelected - style when the row has been selected - * - * Tree Expando: - * dijitTreeExpando - the expando at the left of the text of each tree row - * - * Drag and Drop on TreeNodes: (insert line on dijitTreeContent node so it'll aligned w/ target element) - * .dijitTreeNode .dojoDndItemBefore/.dojoDndItemAfter - use border style simulate a separate line - */ - -@import "variables"; - -.claro .dijitTreeNode { - zoom: 1; /* force layout on IE (TODO: may not be needed anymore) */ -} -.claro .dijitTreeIsRoot { - background-image: none; -} - -/* Styling for basic tree node (unhovered, unselected) - * Also use this styling when dropping between items on the tree (in other words, don't - * use hover effect) - */ -.claro .dijitTreeRow, -.claro .dijitTreeNode .dojoDndItemBefore, -.claro .dijitTreeNode .dojoDndItemAfter { - /* so insert line shows up on IE when dropping after a target element */ - padding: 4px 1px 2px 0; - margin: 0 1px; /* replaced by border for selected/hovered row */ - - background-color: none; // IE6 doesn't understand rgba() or transparent below - background-color: transparent; // IE8 doesn't understand rgba() below - background-color: rgba(171,214,255,0); // rgba() instead of transparent to prevent flash on hover fade-in - background-image: url("images/commonHighlight.png"); - background-position:0 0; - background-repeat:repeat-x; - - border-color: rgba(118,157,192,0); // rgba() instead of none to prevent flash on hover fade-in - border-width: 0; - - .transition-property(background-color, border-color); - .transition-duration(.25s); - .transition-timing-function(ease-out); -} -.dj_ie6 .claro .dijitTreeRow { - background-image: none; -} - -.claro .dijitTreeRowSelected { - background-repeat:repeat-x; - background-color:@selected-background-color; - padding: 3px 0 1px; - margin: 0; - border:solid 1px @selected-border-color; - color:@selected-text-color; -} -.claro .dijitTreeRowHover { - background-color:@hovered-background-color; - padding: 3px 0 1px; - margin: 0; - border:solid 1px @hovered-border-color; - color:@hovered-text-color; - .transition-duration(.25s); -} -.claro .dijitTreeRowActive { - background-color:@pressed-background-color; - background-position:0 -177px; - padding: 3px 0 1px; - margin-left: 0; - border:solid 1px @pressed-border-color; - color:@selected-text-color; -} -.dj_ie6 .claro .dijitTreeRowActive { - background-image: none; -} -.claro .dijitTreeRowFocused { - background-repeat: repeat; -} - -/* expando (open/closed) icon */ - -.claro .dijitTreeExpando { - background-image: url('images/treeExpandImages.png'); - width: 16px; - height: 16px; - background-position: -35px 0; /* for dijitTreeExpandoOpened */ -} -.dj_ie6 .claro .dijitTreeExpando { - background-image: url('images/treeExpandImages8bit.png'); -} -.claro .dijitTreeRowHover .dijitTreeExpandoOpened { - background-position: -53px 0; -} -.claro .dijitTreeExpandoClosed { - background-position: 1px 0; -} -.claro .dijitTreeRowHover .dijitTreeExpandoClosed { - background-position: -17px 0; -} -.claro .dijitTreeExpandoLeaf, -.dj_ie6 .claro .dijitTreeExpandoLeaf { - background-image:none; -} -.claro .dijitTreeExpandoLoading { - background-image: url('images/loadingAnimation.gif'); -} - -/* Drag and Drop on TreeNodes - * Put insert line on dijitTreeContent node so it's aligned w/ - * (ie, indented equally with) target element, even - * though dijitTreeRowNode is the actual "drag object" - */ -.claro .dijitTreeNode .dojoDndItemBefore .dijitTreeContent { - border-top: 2px solid @dnd-dropseparator-color; // TODO: normal separator is just 1px, why is this 2px? -} -.claro .dijitTreeNode .dojoDndItemAfter .dijitTreeContent { - border-bottom: 2px solid @dnd-dropseparator-color; // TODO: normal separator is just 1px, why is this 2px? -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/claro.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/claro.css deleted file mode 100644 index 74fca079..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/claro.css +++ /dev/null @@ -1,4589 +0,0 @@ - -.dijitReset { - - margin:0; - border:0; - padding:0; - line-height:normal; - font: inherit; - color: inherit; -} -.dijit_a11y .dijitReset { - -moz-appearance: none; -} -.dijitInline { - - display:inline-block; - #zoom: 1; - #display:inline; - border:0; - padding:0; - vertical-align:middle; - #vertical-align: auto; -} -.dijitHidden { - - display: none !important; -} -.dijitVisible { - - display: block !important; - position: relative; -} -.dijitInputContainer { - - #zoom: 1; - overflow: hidden; - float: none !important; - position: relative; - vertical-align: middle; - #display: inline; -} -.dj_ie INPUT.dijitTextBox, -.dj_ie .dijitTextBox INPUT { - font-size: 100%; -} -.dijitTextBox .dijitSpinnerButtonContainer, -.dijitTextBox .dijitArrowButtonContainer, -.dijitTextBox .dijitValidationContainer { - float: right; - text-align: center; -} -.dijitTextBox INPUT.dijitInputField { - - padding-left: 0 !important; - padding-right: 0 !important; -} -.dijitTextBox .dijitValidationContainer { - display: none; -} -.dijitInlineTable { - - display:inline-table; - display:inline-block; - #zoom: 1; - #display:inline; - box-sizing: content-box; -moz-box-sizing: content-box; - border:0; - padding:0; -} -.dijitTeeny { - font-size:1px; - line-height:1px; -} -.dijitOffScreen { - position: absolute; - left: 50%; - top: -10000px; -} -.dijitPopup { - position: absolute; - background-color: transparent; - margin: 0; - border: 0; - padding: 0; -} -.dijitPositionOnly { - - padding: 0 !important; - border: 0 !important; - background-color: transparent !important; - background-image: none !important; - height: auto !important; - width: auto !important; -} -.dijitNonPositionOnly { - - float: none !important; - position: static !important; - margin: 0 0 0 0 !important; - vertical-align: middle !important; -} -.dijitBackgroundIframe { - - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: -1; - border: 0; - padding: 0; - margin: 0; -} -.dijitDisplayNone { - - display:none !important; -} -.dijitContainer { - - overflow: hidden; -} -.dijit_a11y .dijitIcon, -.dijit_a11y DIV.dijitArrowButtonInner, -.dijit_a11y SPAN.dijitArrowButtonInner, -.dijit_a11y IMG.dijitArrowButtonInner, -.dijit_a11y .dijitCalendarIncrementControl, -.dijit_a11y .dijitTreeExpando { - - display: none; -} -.dijitSpinner DIV.dijitArrowButtonInner { - display: block; -} -.dijit_a11y .dijitA11ySideArrow { - display: inline !important; - cursor: pointer; -} -.dijit_a11y .dijitCalendarDateLabel { - padding: 1px; -} -.dijit_a11y .dijitCalendarSelectedDate .dijitCalendarDateLabel { - border-style: dotted !important; - border-width: 1px; - padding: 0; -} -.dijit_a11y .dijitCalendarDateTemplate { - padding-bottom: 0.1em !important; -} -.dijit_a11y .dijitButtonNode { - border: black outset medium !important; - - padding: 0 !important; -} -.dijit_a11y .dijitTextBoxReadOnly .dijitInputField, -.dijit_a11y .dijitTextBoxReadOnly .dijitButtonNode { - border-style: outset!important; - border-width: medium!important; - border-color: #999 !important; - color:#999 !important; -} -.dijitButtonNode * { - vertical-align: middle; -} -.dijitButtonNode .dijitArrowButtonInner { - - background: no-repeat center; - width: 12px; - height: 12px; - direction: ltr; -} -.dijitLeft { - - background-position:left top; - background-repeat:no-repeat; -} -.dijitStretch { - - white-space:nowrap; - background-repeat:repeat-x; -} -.dijitRight { - - #display:inline; - background-position:right top; - background-repeat:no-repeat; -} -.dijitToggleButton, -.dijitButton, -.dijitDropDownButton, -.dijitComboButton { - - margin: 0.2em; - vertical-align: middle; -} -.dijitButtonContents { - display: block; -} -td.dijitButtonContents { - display: table-cell; -} -.dijitButtonNode IMG { - - vertical-align:middle; - -} -.dijitToolbar .dijitComboButton { - - border-collapse: separate; -} -.dijitToolbar .dijitToggleButton, -.dijitToolbar .dijitButton, -.dijitToolbar .dijitDropDownButton, -.dijitToolbar .dijitComboButton { - margin: 0; -} -.dijitToolbar .dijitButtonContents { - - padding: 1px 2px; -} -.dj_webkit .dijitToolbar .dijitDropDownButton { - padding-left: 0.3em; -} -.dj_gecko .dijitToolbar .dijitButtonNode::-moz-focus-inner { - padding:0; -} -.dijitButtonNode { - - border:1px solid gray; - margin:0; - line-height:normal; - vertical-align: middle; - #vertical-align: auto; - text-align:center; - white-space: nowrap; -} -.dj_webkit .dijitSpinner .dijitSpinnerButtonContainer { - - line-height:inherit; -} -.dijitTextBox .dijitButtonNode { - border-width: 0; -} -.dijitButtonNode, -.dijitButtonNode * { - cursor: pointer; -} -.dj_ie .dijitButtonNode { - - zoom: 1; -} -.dj_ie .dijitButtonNode button { - - overflow: visible; -} -DIV.dijitArrowButton { - float: right; -} -.dijitTextBox { - border: solid black 1px; - #overflow: hidden; - width: 15em; - vertical-align: middle; -} -.dijitTextBoxReadOnly, -.dijitTextBoxDisabled { - color: gray; -} -.dj_webkit .dijitTextBoxDisabled INPUT { - color: #eee; -} -.dj_webkit TEXTAREA.dijitTextAreaDisabled { - color: #333; -} -.dj_gecko .dijitTextBoxReadOnly INPUT.dijitInputField, -.dj_gecko .dijitTextBoxDisabled INPUT { - -moz-user-input: none; -} -.dijitPlaceHolder { - - color: #AAAAAA; - font-style: italic; - position: absolute; - top: 0; - left: 0; - #filter: ""; -} -.dijitTimeTextBox { - width: 8em; -} -.dijitTextBox INPUT:focus { - outline: none; -} -.dijitTextBoxFocused { - outline: auto 5px -webkit-focus-ring-color; -} -.dijitTextBox INPUT { - float: left; -} -.dijitInputInner { - - border:0 !important; - vertical-align:middle !important; - background-color:transparent !important; - width:100% !important; - - padding-left: 0 !important; - padding-right: 0 !important; - margin-left: 0 !important; - margin-right: 0 !important; -} -.dijit_a11y .dijitTextBox INPUT { - margin: 0 !important; -} -.dijitTextBoxError INPUT.dijitValidationInner, -.dijitTextBox INPUT.dijitArrowButtonInner { - - text-indent: -1em !important; - direction: ltr !important; - text-align: left !important; - height: auto !important; - #text-indent: 0 !important; - #letter-spacing: -5em !important; - #text-align: right !important; -} -.dj_ie .dijitTextBox INPUT, -.dj_ie INPUT.dijitTextBox { - overflow-y: visible; - line-height: normal; -} -.dj_ie7 .dijitTextBox INPUT.dijitValidationInner, -.dj_ie7 .dijitTextBox INPUT.dijitArrowButtonInner { - line-height: 86%; -} -.dj_ie6 .dijitTextBox INPUT, -.dj_ie6 INPUT.dijitTextBox, -.dj_iequirks .dijitTextBox INPUT.dijitValidationInner, -.dj_iequirks .dijitTextBox INPUT.dijitArrowButtonInner, -.dj_iequirks .dijitTextBox INPUT.dijitSpinnerButtonInner, -.dj_iequirks .dijitTextBox INPUT.dijitInputInner, -.dj_iequirks INPUT.dijitTextBox { - line-height: 100%; -} -.dijit_a11y INPUT.dijitValidationInner, -.dijit_a11y INPUT.dijitArrowButtonInner { - - text-indent: 0 !important; - width: 1em !important; - #text-align: left !important; -} -.dijitTextBoxError .dijitValidationContainer { - display: inline; - cursor: default; -} -.dijitSpinner .dijitSpinnerButtonContainer, -.dijitComboBox .dijitArrowButtonContainer { - - border-width: 0 0 0 1px !important; -} -.dijitToolbar .dijitComboBox .dijitArrowButtonContainer { - - border-width: 0 !important; -} -.dijitComboBoxMenu { - - list-style-type: none; -} -.dijitSpinner .dijitSpinnerButtonContainer .dijitButtonNode { - - border-width: 0; -} -.dj_ie .dijit_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitButtonNode { - clear: both; -} -.dj_ie .dijitToolbar .dijitComboBox { - - vertical-align: middle; -} -.dijitTextBox .dijitSpinnerButtonContainer { - width: 1em; - position: relative !important; - overflow: hidden; -} -.dijitSpinner .dijitSpinnerButtonInner { - width:1em; - visibility:hidden !important; - overflow-x:hidden; -} -.dijitComboBox .dijitButtonNode, -.dijitSpinnerButtonContainer .dijitButtonNode { - border-width: 0; -} -.dijit_a11y .dijitSpinnerButtonContainer .dijitButtonNode { - border: 0 none !important; -} -.dijit_a11y .dijitTextBox .dijitSpinnerButtonContainer, -.dijit_a11y .dijitSpinner .dijitArrowButtonInner, -.dijit_a11y .dijitSpinnerButtonContainer INPUT { - width: 1em !important; -} -.dijit_a11y .dijitSpinner .dijitArrowButtonInner { - margin: 0 auto !important; -} -.dj_ie .dijit_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField { - padding-left: 0.3em !important; - padding-right: 0.3em !important; - margin-left: 0.3em !important; - margin-right: 0.3em !important; - width: 1.4em !important; -} -.dj_ie7 .dijit_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField { - padding-left: 0 !important; - padding-right: 0 !important; - width: 1em !important; -} -.dj_ie6 .dijit_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField { - margin-left: 0.1em !important; - margin-right: 0.1em !important; - width: 1em !important; -} -.dj_iequirks .dijit_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField { - margin-left: 0 !important; - margin-right: 0 !important; - width: 2em !important; -} -.dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton { - - padding: 0; - position: absolute !important; - right: 0; - float: none; - height: 50%; - width: 100%; - bottom: auto; - left: 0; - right: auto; -} -.dj_iequirks .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton { - width: auto; -} -.dijit_a11y .dijitSpinnerButtonContainer .dijitArrowButton { - overflow: visible !important; -} -.dijitSpinner .dijitSpinnerButtonContainer .dijitDownArrowButton { - top: 50%; - border-top-width: 1px !important; -} -.dijitSpinner .dijitSpinnerButtonContainer .dijitUpArrowButton { - #bottom: 50%; - top: 0; -} -.dijitSpinner .dijitArrowButtonInner { - margin: auto; - overflow-x: hidden; - height: 100% !important; -} -.dj_iequirks .dijitSpinner .dijitArrowButtonInner { - height: auto !important; -} -.dijitSpinner .dijitArrowButtonInner .dijitInputField { - -moz-transform: scale(0.5); - -moz-transform-origin: center top; - -webkit-transform: scale(0.5); - -webkit-transform-origin: center top; - -o-transform: scale(0.5); - -o-transform-origin: center top; - transform: scale(0.5); - transform-origin: left top; - padding-top: 0; - padding-bottom: 0; - padding-left: 0 !important; - padding-right: 0 !important; - width: 100%; -} -.dj_ie .dijitSpinner .dijitArrowButtonInner .dijitInputField { - zoom: 50%; -} -.dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButtonInner { - overflow: hidden; -} -.dijit_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton { - width: 100%; -} -.dj_iequirks .dijit_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton { - width: 1em; -} -.dijitSpinner .dijitArrowButtonInner .dijitInputField { - visibility: hidden; -} -.dijit_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField { - vertical-align:top; - visibility: visible; -} -.dijit_a11y .dijitSpinnerButtonContainer { - width: 1em; -} -.dijit_a11y .dijitSpinnerButtonContainer .dijitButtonNode { - border-width: 1px 0 0 0; - border-style: solid !important; -} -.dijitCheckBox, -.dijitRadio, -.dijitCheckBoxInput { - padding: 0; - border: 0; - width: 16px; - height: 16px; - background-position:center center; - background-repeat:no-repeat; - overflow: hidden; -} -.dijitCheckBox INPUT, -.dijitRadio INPUT { - margin: 0; - padding: 0; - display: block; -} -.dijitCheckBoxInput { - - opacity: 0.01; -} -.dj_ie .dijitCheckBoxInput { - filter: alpha(opacity=0); -} -.dijit_a11y .dijitCheckBox, -.dijit_a11y .dijitRadio { - - width: auto !important; - height: auto !important; -} -.dijit_a11y .dijitCheckBoxInput { - opacity: 1; - filter: none; - width: auto; - height: auto; -} -.dijitProgressBarEmpty { - - position:relative;overflow:hidden; - border:1px solid black; - z-index:0; -} -.dijitProgressBarFull { - - position:absolute; - overflow:hidden; - z-index:-1; - top:0; - width:100%; -} -.dj_ie6 .dijitProgressBarFull { - height:1.6em; -} -.dijitProgressBarTile { - - position:absolute; - overflow:hidden; - top:0; - left:0; - bottom:0; - right:0; - margin:0; - padding:0; - width:auto; - height:auto; - background-color:#aaa; - background-attachment: fixed; -} -.dijit_a11y .dijitProgressBarTile { - - border-width:2px; - border-style:solid; - background-color:transparent !important; -} -.dj_ie6 .dijitProgressBarTile { - - position:static; - - height:1.6em; -} -.dijitProgressBarIndeterminate .dijitProgressBarTile { - -} -.dijitProgressBarIndeterminateHighContrastImage { - display:none; -} -.dijit_a11y .dijitProgressBarIndeterminate .dijitProgressBarIndeterminateHighContrastImage { - display:block; - position:absolute; - top:0; - bottom:0; - margin:0; - padding:0; - width:100%; - height:auto; -} -.dijitProgressBarLabel { - display:block; - position:static; - width:100%; - text-align:center; - background-color:transparent !important; -} -.dijitTooltip { - position: absolute; - z-index: 2000; - display: block; - - left: 0; - top: -10000px; - overflow: visible; -} -.dijitTooltipContainer { - border: solid black 2px; - background: #b8b5b5; - color: black; - font-size: small; -} -.dijitTooltipFocusNode { - padding: 2px 2px 2px 2px; -} -.dijitTooltipConnector { - position: absolute; -} -.dijit_a11y .dijitTooltipConnector { - display: none; -} -.dijitTooltipData { - display:none; -} -.dijitLayoutContainer { - position: relative; - display: block; - overflow: hidden; -} -body .dijitAlignTop, -body .dijitAlignBottom, -body .dijitAlignLeft, -body .dijitAlignRight { - position: absolute; - overflow: hidden; -} -body .dijitAlignClient { position: absolute; } -.dijitBorderContainer, .dijitBorderContainerNoGutter { - position:relative; - overflow: hidden; -} -.dijitBorderContainerPane, -.dijitBorderContainerNoGutterPane { - position: absolute !important; - z-index: 2; -} -.dijitBorderContainer > .dijitTextArea { - - resize: none; -} -.dijitGutter { - - position: absolute; - font-size: 1px; -} -.dijitSplitter { - position: absolute; - overflow: hidden; - z-index: 10; - background-color: #fff; - border-color: gray; - border-style: solid; - border-width: 0; -} -.dj_ie .dijitSplitter { - z-index: 1; -} -.dijitSplitterActive { - z-index: 11 !important; -} -.dijitSplitterCover { - position:absolute; - z-index:-1; - top:0; - left:0; - width:100%; - height:100%; -} -.dijitSplitterCoverActive { - z-index:3 !important; -} -.dj_ie .dijitSplitterCover { - background: white; - filter: alpha(opacity=0); -} -.dijitSplitterH { - height: 7px; - border-top:1px; - border-bottom:1px; - cursor: ns-resize; -} -.dijitSplitterV { - width: 7px; - border-left:1px; - border-right:1px; - cursor: ew-resize; -} -.dijitSplitContainer { - position: relative; - overflow: hidden; - display: block; -} -.dj_ff3 .dijit_a11y div.dijitSplitter:focus { - outline-style:dotted; - outline-width: 2px; -} -.dijitSplitPane { - position: absolute; -} -.dijitSplitContainerSizerH, -.dijitSplitContainerSizerV { - position:absolute; - font-size: 1px; - cursor: move; - cursor: w-resize; - background-color: ThreeDFace; - border: 1px solid; - border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight; - margin: 0; -} -.dijitSplitContainerSizerH .thumb, .dijitSplitterV .dijitSplitterThumb { - overflow:hidden; - position:absolute; - top:49%; -} -.dijitSplitContainerSizerV .thumb, .dijitSplitterH .dijitSplitterThumb { - position:absolute; - left:49%; -} -.dijitSplitterShadow, -.dijitSplitContainerVirtualSizerH, -.dijitSplitContainerVirtualSizerV { - font-size: 1px; - background-color: ThreeDShadow; - -moz-opacity: 0.5; - opacity: 0.5; - filter: Alpha(Opacity=50); - margin: 0; -} -.dj_ie .dijitSplitterV, .dijitSplitContainerVirtualSizerH { - cursor: w-resize; -} -.dj_ie .dijitSplitterH, .dijitSplitContainerSizerV, .dijitSplitContainerVirtualSizerV { - cursor: n-resize; -} -.dijit_a11y .dijitSplitterH { - border-top:1px solid #d3d3d3 !important; - border-bottom:1px solid #d3d3d3 !important; -} -.dijit_a11y .dijitSplitterV { - border-left:1px solid #d3d3d3 !important; - border-right:1px solid #d3d3d3 !important; -} -.dijitContentPane { - display: block; - overflow: auto; -} -.dijitContentPaneSingleChild { - - overflow: hidden; -} -.dijitTitlePane { - display: block; - overflow: hidden; -} -.dijitTitlePaneTitle { - cursor: pointer; -} -.dijitFixedOpen, .dijitFixedClosed { - - cursor: default; -} -.dijitTitlePaneTitle * { - vertical-align: middle; -} -.dijitTitlePane .dijitArrowNodeInner { - - display: none; -} -.dijit_a11y .dijitTitlePane .dijitArrowNodeInner { - - display:inline !important; - font-family: monospace; -} -.dijit_a11y .dijitTitlePane .dijitArrowNode { - - display:none; -} -.dj_ie6 .dijitTitlePaneContentOuter, -.dj_ie6 .dijitTitlePane .dijitTitlePaneTitle { - - zoom: 1; -} -.dijitColorPalette { - border: 1px solid #999; - background: #fff; - position: relative; -} -.dijitColorPalette .dijitPaletteTable { - - padding: 2px 3px 3px 3px; - position: relative; - overflow: hidden; - outline: 0; - border-collapse: separate; -} -.dj_ie6 .dijitColorPalette .dijitPaletteTable, -.dj_ie7 .dijitColorPalette .dijitPaletteTable, -.dj_iequirks .dijitColorPalette .dijitPaletteTable { - - padding: 0; - margin: 2px 3px 3px 3px; -} -.dijitColorPalette .dijitPaletteCell { - - font-size: 1px; - vertical-align: middle; - text-align: center; - background: none; -} -.dijitColorPalette .dijitPaletteImg { - - padding: 1px; - border: 1px solid #999; - margin: 2px 1px; - cursor: default; - font-size: 1px; -} -.dj_gecko .dijitColorPalette .dijitPaletteImg { - padding-bottom: 0; -} -.dijitColorPalette .dijitColorPaletteSwatch { - - width: 14px; - height: 12px; -} -.dijitPaletteTable td { - padding: 0; -} -.dijitColorPalette .dijitPaletteCellHover .dijitPaletteImg { - - border: 1px solid #000; -} -.dijitColorPalette .dijitPaletteCellActive .dijitPaletteImg, -.dijitColorPalette .dijitPaletteCellSelected .dijitPaletteImg { - border: 2px solid #000; - margin: 1px 0; -} -.dijit_a11y .dijitColorPalette .dijitPaletteTable, -.dijit_a11y .dijitColorPalette .dijitPaletteTable * { - - background-color: transparent !important; -} -.dijitAccordionContainer { - border:1px solid #b7b7b7; - border-top:0 !important; -} -.dijitAccordionTitle { - cursor: pointer; -} -.dijitAccordionTitleSelected { - cursor: default; -} -.dijitAccordionTitle .arrowTextUp, -.dijitAccordionTitle .arrowTextDown { - display: none; - font-size: 0.65em; - font-weight: normal !important; -} -.dijit_a11y .dijitAccordionTitle .arrowTextUp, -.dijit_a11y .dijitAccordionTitleSelected .arrowTextDown { - display: inline; -} -.dijit_a11y .dijitAccordionTitleSelected .arrowTextUp { - display: none; -} -.dijitAccordionChildWrapper { - - overflow: hidden; -} -.dijitCalendarContainer { - width: auto; -} -.dijitCalendarContainer th, .dijitCalendarContainer td { - padding: 0; - vertical-align: middle; -} -.dijitCalendarNextYear { - margin:0 0 0 0.55em; -} -.dijitCalendarPreviousYear { - margin:0 0.55em 0 0; -} -.dijitCalendarIncrementControl { - vertical-align: middle; -} -.dijitCalendarIncrementControl, -.dijitCalendarDateTemplate, -.dijitCalendarMonthLabel, -.dijitCalendarPreviousYear, -.dijitCalendarNextYear { - cursor: pointer; -} -.dijitCalendarDisabledDate { - color: gray; - text-decoration: line-through; - cursor: default; -} -.dijitSpacer { - - position: relative; - height: 1px; - overflow: hidden; - visibility: hidden; -} -.dijitCalendarMonthMenu .dijitCalendarMonthLabel { - text-align:center; -} -.dijitMenu { - border:1px solid black; - background-color:white; -} -.dijitMenuTable { - border-collapse:collapse; - border-width:0; - background-color:white; -} -.dj_webkit .dijitMenuTable td[colspan="2"]{ - border-right:hidden; -} -.dijitMenuItem { - text-align: left; - white-space: nowrap; - padding:.1em .2em; - cursor:pointer; -} -.dijitMenuPassive .dijitMenuItemHover, -.dijitMenuItemSelected { - - background-color:black; - color:white; -} -.dijitMenuItemIcon, .dijitMenuExpand { - background-repeat: no-repeat; -} -.dijitMenuItemDisabled * { - - opacity:0.5; - cursor:default; -} -.dj_ie .dijit_a11y .dijitMenuItemDisabled, -.dj_ie .dijit_a11y .dijitMenuItemDisabled td, -.dj_ie .dijitMenuItemDisabled *, -.dj_ie .dijitMenuItemDisabled td { - color:gray !important; - filter: alpha(opacity=35); -} -.dijitMenuItemLabel { - position: relative; - vertical-align: middle; -} -.dijit_a11y .dijitMenuItemSelected { - border: 1px dotted black !important; -} -.dj_ff3 .dijit_a11y .dijitMenuItem td { - padding: none !important; - background:none !important; -} -.dijit_a11y .dijitMenuItemSelected .dijitMenuItemLabel { - border-width: 1px; - border-style: solid; -} -.dj_ie8 .dijit_a11y .dijitMenuItemLabel { - position:static; -} -.dijitMenuExpandA11y { - display: none; -} -.dijit_a11y .dijitMenuExpandA11y { - display: inline; -} -.dijitMenuSeparator td { - border: 0; - padding: 0; -} -.dijitMenuSeparatorTop { - height: 50%; - margin: 0; - margin-top:3px; - font-size: 1px; -} -.dijitMenuSeparatorBottom { - height: 50%; - margin: 0; - margin-bottom:3px; - font-size: 1px; -} -.dijitCheckedMenuItemIconChar { - vertical-align: middle; - visibility:hidden; -} -.dijitCheckedMenuItemChecked .dijitCheckedMenuItemIconChar { - visibility: visible; -} -.dijit_a11y .dijitCheckedMenuItemIconChar { - display:inline !important; -} -.dijit_a11y .dijitCheckedMenuItemIcon { - display: none; -} -.dj_ie .dijit_a11y .dijitMenuBar .dijitMenuItem { - - margin: 0; -} -.dijitStackController .dijitToggleButtonChecked * { - cursor: default; -} -.dijitTabContainerNoLayout { - width: 100%; -} -.dijitTabContainerBottom-tabs, -.dijitTabContainerTop-tabs, -.dijitTabContainerLeft-tabs, -.dijitTabContainerRight-tabs { - overflow: visible !important; -} -.dijitTabContainerBottom-container, -.dijitTabContainerTop-container, -.dijitTabContainerLeft-container, -.dijitTabContainerRight-container { - z-index:0; - overflow: hidden; - border: 1px solid black; -} -.nowrapTabStrip { - width: 50000px; - display: block; - position: relative; -} -.dijitTabListWrapper { - overflow: hidden; -} -.dijit_a11y .tabStripButton img { - - display: none; -} -.dijitTabContainerTop-tabs { - border-bottom: 1px solid black; -} -.dijitTabContainerTop-container { - border-top: 0; -} -.dijitTabContainerLeft-tabs { - border-right: 1px solid black; - float: left; -} -.dijitTabContainerLeft-container { - border-left: 0; -} -.dijitTabContainerBottom-tabs { - border-top: 1px solid black; -} -.dijitTabContainerBottom-container { - border-bottom: 0; -} -.dijitTabContainerRight-tabs { - border-left: 1px solid black; - float: left; -} -.dijitTabContainerRight-container { - border-right: 0; -} -DIV.dijitTabDisabled, .dj_ie DIV.dijitTabDisabled { - cursor: auto; -} -.dijitTab { - position:relative; - cursor:pointer; - white-space:nowrap; - z-index:3; -} -.dijitTab * { - - vertical-align: middle; -} -.dijitTabChecked { - cursor: default; -} -.dijitTabContainerTop-tabs .dijitTab { - top: 1px; -} -.dijitTabContainerBottom-tabs .dijitTab { - top: -1px; -} -.dijitTabContainerLeft-tabs .dijitTab { - left: 1px; -} -.dijitTabContainerRight-tabs .dijitTab { - left: -1px; -} -.dijitTabContainerTop-tabs .dijitTab, -.dijitTabContainerBottom-tabs .dijitTab { - - display:inline-block; - #zoom: 1; - #display:inline; -} -.dijitTabInnerDiv { - position:relative; -} -.tabStripButton { - z-index: 12; -} -.dijitTabButtonDisabled .tabStripButton { - display: none; -} -.dijitTabCloseButton { - margin-left: 1em; -} -.dijitTabCloseText { - display:none; -} -.dijitTab .tabLabel { - - min-height: 15px; - display: inline-block; -} -.dijitNoIcon { - - display: none; -} -.dj_ie6 .dijitTab .dijitNoIcon { - - display: inline; - height: 15px; - width: 1px; -} -.dijit_a11y .dijitTabCloseButton { - background-image: none !important; - width: auto !important; - height: auto !important; -} -.dijit_a11y .dijitTabCloseText { - display: inline; -} -.dijitTabPane, -.dijitStackContainer-child, -.dijitAccordionContainer-child { - - border: none !important; -} -.dijitInlineEditBoxDisplayMode { - border: 1px solid transparent; - cursor: text; -} -.dijit_a11y .dijitInlineEditBoxDisplayMode, -.dj_ie6 .dijitInlineEditBoxDisplayMode { - - border: none; -} -.dijitInlineEditBoxDisplayModeHover, -.dijit_a11y .dijitInlineEditBoxDisplayModeHover, -.dj_ie6 .dijitInlineEditBoxDisplayModeHover { - - background-color: #e2ebf2; - border: solid 1px black; -} -.dijitInlineEditBoxDisplayModeDisabled { - cursor: default; -} -.dijitTree { - overflow: auto; -} -.dijitTreeIndent { - - width: 19px; -} -.dijitTreeRow, .dijitTreeContent { - white-space: nowrap; -} -.dijitTreeRow img { - - vertical-align: middle; -} -.dijitTreeContent { - cursor: default; -} -.dijitExpandoText { - display: none; -} -.dijit_a11y .dijitExpandoText { - display: inline; - padding-left: 10px; - padding-right: 10px; - font-family: monospace; - border-style: solid; - border-width: thin; - cursor: pointer; -} -.dijitTreeLabel { - margin: 0 4px; -} -.dijitDialog { - position: absolute; - z-index: 999; - overflow: hidden; -} -.dijitDialogTitleBar { - cursor: move; -} -.dijitDialogFixed .dijitDialogTitleBar { - cursor:default; -} -.dijitDialogCloseIcon { - cursor: pointer; -} -.dijitDialogUnderlayWrapper { - position: absolute; - left: 0; - top: 0; - z-index: 998; - display: none; - background: transparent !important; -} -.dijitDialogUnderlay { - background: #eee; - opacity: 0.5; -} -.dj_ie .dijitDialogUnderlay { - filter: alpha(opacity=50); -} -.dijit_a11y .dijitSpinnerButtonContainer, -.dijit_a11y .dijitDialog { - opacity: 1 !important; - background-color: white !important; -} -.dijitDialog .closeText { - display:none; - - position:absolute; -} -.dijit_a11y .dijitDialog .closeText { - display:inline; -} -.dijitSliderMoveable { - z-index:99; - position:absolute !important; - display:block; - vertical-align:middle; -} -.dijitSliderMoveableH { - right:0; -} -.dijitSliderMoveableV { - right:50%; -} -.dijit_a11y DIV.dijitSliderImageHandle, -.dijitSliderImageHandle { - margin:0; - padding:0; - position:relative !important; - border:8px solid gray; - width:0; - height:0; - cursor: pointer; -} -.dj_iequirks .dijit_a11y .dijitSliderImageHandle { - font-size: 0; -} -.dj_ie7 .dijitSliderImageHandle { - overflow: hidden; -} -.dj_ie7 .dijit_a11y .dijitSliderImageHandle { - overflow: visible; -} -.dijit_a11y .dijitSliderFocused .dijitSliderImageHandle { - border:4px solid #000; - height:8px; - width:8px; -} -.dijitSliderImageHandleV { - top:-8px; - right: -50%; -} -.dijitSliderImageHandleH { - left:50%; - top:-5px; - vertical-align:top; -} -.dijitSliderBar { - border-style:solid; - border-color:black; - cursor: pointer; -} -.dijitSliderBarContainerV { - position:relative; - height:100%; - z-index:1; -} -.dijitSliderBarContainerH { - position:relative; - z-index:1; -} -.dijitSliderBarH { - height:4px; - border-width:1px 0; -} -.dijitSliderBarV { - width:4px; - border-width:0 1px; -} -.dijitSliderProgressBar { - background-color:red; - z-index:1; -} -.dijitSliderProgressBarV { - position:static !important; - height:0; - vertical-align:top; - text-align:left; -} -.dijitSliderProgressBarH { - position:absolute !important; - width:0; - vertical-align:middle; - overflow:visible; -} -.dijitSliderRemainingBar { - overflow:hidden; - background-color:transparent; - z-index:1; -} -.dijitSliderRemainingBarV { - height:100%; - text-align:left; -} -.dijitSliderRemainingBarH { - width:100% !important; -} -.dijitSliderBumper { - overflow:hidden; - z-index:1; -} -.dijitSliderBumperV { - width:4px; - height:8px; - border-width:0 1px; -} -.dijitSliderBumperH { - width:8px; - height:4px; - border-width:1px 0; -} -.dijitSliderBottomBumper, -.dijitSliderLeftBumper { - background-color:red; -} -.dijitSliderTopBumper, -.dijitSliderRightBumper { - background-color:transparent; -} -.dijitSliderDecoration { - text-align:center; -} -.dijitSliderDecorationC, -.dijitSliderDecorationV { - position: relative; -} -.dijitSliderDecorationH { - width: 100%; -} -.dijitSliderDecorationV { - height: 100%; -} -.dijitSliderButton { - font-family:monospace; - margin:0; - padding:0; - display:block; -} -.dijit_a11y .dijitSliderButtonInner { - visibility:visible !important; -} -.dijitSliderButtonContainer { - text-align:center; - height:0; -} -.dijitSliderButtonContainer * { - cursor: pointer; -} -.dijitSlider .dijitButtonNode { - padding:0; - display:block; -} -.dijitRuleContainer { - position:relative; - overflow:visible; -} -.dijitRuleContainerV { - height:100%; - line-height:0; - float:left; - text-align:left; -} -.dj_opera .dijitRuleContainerV { - line-height:2%; -} -.dj_ie .dijitRuleContainerV { - line-height:normal; -} -.dj_gecko .dijitRuleContainerV { - margin:0 0 1px 0; -} -.dijitRuleMark { - position:absolute; - border:1px solid black; - line-height:0; - height:100%; -} -.dijitRuleMarkH { - width:0; - border-top-width:0 !important; - border-bottom-width:0 !important; - border-left-width:0 !important; -} -.dijitRuleLabelContainer { - position:absolute; -} -.dijitRuleLabelContainerH { - text-align:center; - display:inline-block; -} -.dijitRuleLabelH { - position:relative; - left:-50%; -} -.dijitRuleLabelV { - - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; -} -.dijitRuleMarkV { - height:0; - border-right-width:0 !important; - border-bottom-width:0 !important; - border-left-width:0 !important; - width:100%; - left:0; -} -.dj_ie .dijitRuleLabelContainerV { - margin-top:-.55em; -} -.dijit_a11y .dijitSliderReadOnly, -.dijit_a11y .dijitSliderDisabled { - opacity:0.6; -} -.dj_ie .dijit_a11y .dijitSliderReadOnly .dijitSliderBar, -.dj_ie .dijit_a11y .dijitSliderDisabled .dijitSliderBar { - filter: alpha(opacity=40); -} -.dijit_a11y .dijitSlider .dijitSliderButtonContainer DIV { - font-family: monospace; - font-size: 1em; - line-height: 1em; - height: auto; - width: auto; - margin: 0 4px; -} -.dijit_a11y .dijitButtonContents .dijitButtonText, -.dijit_a11y .dijitTab .tabLabel { - display: inline !important; -} -.dijitTextArea { - width:100%; - overflow-y: auto; -} -.dijitTextArea[cols] { - width:auto; -} -.dj_ie .dijitTextAreaCols { - width:auto; -} -.dijitExpandingTextArea { - - resize: none; -} -.dijitToolbarSeparator { - height: 18px; - width: 5px; - padding: 0 1px; - margin: 0; -} -.dijitIEFixedToolbar { - position:absolute; - - top: expression(eval((document.documentElement||document.body).scrollTop)); -} -.dijitEditor { - display: block; -} -.dijitEditorDisabled, -.dijitEditorReadOnly { - color: gray; -} -.dijitTimePickerItemInner { - text-align:center; - border:0; - padding:2px 8px 2px 8px; -} -.dijitTimePickerTick, -.dijitTimePickerMarker { - border-bottom:1px solid gray; -} -.dijitTimePicker .dijitDownArrowButton { - border-top: none !important; -} -.dijitTimePickerTick { - color:#CCC; -} -.dijitTimePickerMarker { - color:black; - background-color:#CCC; -} -.dijitTimePickerItemSelected { - font-weight:bold; - color:#333; - background-color:#b7cdee; -} -.dijitTimePickerItemHover { - background-color:gray; - color:white; - cursor:pointer; -} -.dijit_a11y .dijitTimePickerItemSelected .dijitTimePickerItemInner { - border: solid 4px black; -} -.dijit_a11y .dijitTimePickerItemHover .dijitTimePickerItemInner { - border: dashed 4px black; -} -.dijitToggleButtonIconChar { - - display:none !important; -} -.dijit_a11y .dijitToggleButton .dijitToggleButtonIconChar { - display:inline !important; - visibility:hidden; -} -.dj_ie6 .dijitToggleButtonIconChar, .dj_ie6 .tabStripButton .dijitButtonText { - font-family: "Arial Unicode MS"; -} -.dijit_a11y .dijitToggleButtonChecked .dijitToggleButtonIconChar { - display: inline !important; - visibility:visible !important; -} -.dijitArrowButtonChar { - display:none !important; -} -.dijit_a11y .dijitArrowButtonChar { - display:inline !important; -} -.dijit_a11y .dijitDropDownButton .dijitArrowButtonInner, -.dijit_a11y .dijitComboButton .dijitArrowButtonInner { - display:none !important; -} -.dijitSelect { - margin: 0.2em; - border-collapse: collapse; -} -.dj_ie .dijitSelect, -.dj_ie7 .dijitSelect, -.dj_iequirks .dijitSelect { - vertical-align: middle; -} -.dj_ie8 .dijitSelect .dijitButtonText { - vertical-align: top; -} -.dijitToolbar .dijitSelect { - margin: 0; -} -.dj_webkit .dijitToolbar .dijitSelect { - padding-left: 0.3em; -} -.dijit_a11y .dijitSelectDisabled .dijitButtonNode { - border-style: outset!important; - border-width: medium!important; - border-color: #999 !important; - color:#999 !important; -} -.dijitSelect .dijitButtonContents { - padding: 0; - background: transparent none; - white-space: nowrap; - text-align: left; -} -.dijitSelectFixedWidth .dijitButtonContents { - width: 100%; -} -.dijitSelectMenu .dijitMenuItemIcon { - - display:none; -} -.dj_ie6 .dijitSelectMenu .dijitMenuItemLabel, -.dj_ie7 .dijitSelectMenu .dijitMenuItemLabel { - - position: static; -} -.dijitSelectLabel * -{ - vertical-align: baseline; -} -.dijitSelectSelectedOption * { - font-weight: bold; -} -.dijitSelectMenu { - border-width: 1px; -} -.dijitSelectMenu .dijitMenuTable { - margin: 0; - background-color: transparent; -} -.dijitForceStatic { - position: static !important; -} -.dijitReadOnly *, -.dijitDisabled *, -.dijitReadOnly, -.dijitDisabled { - - cursor: default; -} -.dijitIconSave, -.dijitIconPrint, -.dijitIconCut, -.dijitIconCopy, -.dijitIconClear, -.dijitIconDelete, -.dijitIconUndo, -.dijitIconEdit, -.dijitIconNewTask, -.dijitIconEditTask, -.dijitIconEditProperty, -.dijitIconTask, -.dijitIconFilter, -.dijitIconConfigure, -.dijitIconSearch, -.dijitIconApplication, -.dijitIconBookmark, -.dijitIconChart, -.dijitIconConnector, -.dijitIconDatabase, -.dijitIconDocuments, -.dijitIconMail, -.dijitLeaf, -.dijitIconFile, -.dijitIconFunction, -.dijitIconKey, -.dijitIconPackage, -.dijitIconSample, -.dijitIconTable, -.dijitIconUsers, -.dijitFolderClosed, -.dijitIconFolderClosed, -.dijitFolderOpened, -.dijitIconFolderOpen, -.dijitIconError { - background-image: url(../../icons/images/commonIconsObjActEnabled.png); - width: 16px; - height: 16px; -} -.dj_ie6 .dijitIconSave, -.dj_ie6 .dijitIconPrint, -.dj_ie6 .dijitIconCut, -.dj_ie6 .dijitIconCopy, -.dj_ie6 .dijitIconClear, -.dj_ie6 .dijitIconDelete, -.dj_ie6 .dijitIconUndo, -.dj_ie6 .dijitIconEdit, -.dj_ie6 .dijitIconNewTask, -.dj_ie6 .dijitIconEditTask, -.dj_ie6 .dijitIconEditProperty, -.dj_ie6 .dijitIconTask, -.dj_ie6 .dijitIconFilter, -.dj_ie6 .dijitIconConfigure, -.dj_ie6 .dijitIconSearch, -.dj_ie6 .dijitIconApplication, -.dj_ie6 .dijitIconBookmark, -.dj_ie6 .dijitIconChart, -.dj_ie6 .dijitIconConnector, -.dj_ie6 .dijitIconDatabase, -.dj_ie6 .dijitIconDocuments, -.dj_ie6 .dijitIconMail, -.dj_ie6 .dijitLeaf, -.dj_ie6 .dijitIconFile, -.dj_ie6 .dijitIconFunction, -.dj_ie6 .dijitIconKey, -.dj_ie6 .dijitIconPackage, -.dj_ie6 .dijitIconSample, -.dj_ie6 .dijitIconTable, -.dj_ie6 .dijitIconUsers, -.dj_ie6 .dijitFolderClosed, -.dj_ie6 .dijitIconFolderClosed, -.dj_ie6 .dijitFolderOpened, -.dj_ie6 .dijitIconFolderOpen, -.dj_ie6 .dijitIconError { - background-image: url(../../icons/images/commonIconsObjActEnabled8bit.png); -} -.dijitDisabled .dijitIconSave, -.dijitDisabled .dijitIconPrint, -.dijitDisabled .dijitIconCut, -.dijitDisabled .dijitIconCopy, -.dijitDisabled .dijitIconClear, -.dijitDisabled .dijitIconDelete, -.dijitDisabled .dijitIconUndo, -.dijitDisabled .dijitIconEdit, -.dijitDisabled .dijitIconNewTask, -.dijitDisabled .dijitIconEditTask, -.dijitDisabled .dijitIconEditProperty, -.dijitDisabled .dijitIconTask, -.dijitDisabled .dijitIconFilter, -.dijitDisabled .dijitIconConfigure, -.dijitDisabled .dijitIconSearch, -.dijitDisabled .dijitIconApplication, -.dijitDisabled .dijitIconBookmark, -.dijitDisabled .dijitIconChart, -.dijitDisabled .dijitIconConnector, -.dijitDisabled .dijitIconDatabase, -.dijitDisabled .dijitIconDocuments, -.dijitDisabled .dijitIconMail, -.dijitDisabled .dijitLeaf, -.dijitDisabled .dijitIconFile, -.dijitDisabled .dijitIconFunction, -.dijitDisabled .dijitIconKey, -.dijitDisabled .dijitIconPackage, -.dijitDisabled .dijitIconSample, -.dijitDisabled .dijitIconTable, -.dijitDisabled .dijitIconUsers, -.dijitDisabled .dijitFolderClosed, -.dijitDisabled .dijitIconFolderClosed, -.dijitDisabled .dijitFolderOpened, -.dijitDisabled .dijitIconFolderOpen, -.dijitDisabled .dijitIconError { - background-image: url(../../icons/images/commonIconsObjActDisabled.png); -} -.dijitIconSave { background-position: 0px; } -.dijitIconPrint { background-position: -16px; } -.dijitIconCut { background-position: -32px; } -.dijitIconCopy { background-position: -48px; } -.dijitIconClear { background-position: -64px; } -.dijitIconDelete { background-position: -80px; } -.dijitIconUndo { background-position: -96px; } -.dijitIconEdit { background-position: -112px; } -.dijitIconNewTask { background-position: -128px; } -.dijitIconEditTask { background-position: -144px; } -.dijitIconEditProperty { background-position: -166px; } -.dijitIconTask { background-position: -176px; } -.dijitIconFilter { background-position: -192px; } -.dijitIconConfigure { background-position: -208px; } -.dijitIconSearch { background-position: -224px; } -.dijitIconError { background-position: -496px; } -.dijitIconApplication { background-position: -240px; } -.dijitIconBookmark { background-position: -256px; } -.dijitIconChart { background-position: -272px; } -.dijitIconConnector { background-position: -288px; } -.dijitIconDatabase { background-position: -304px; } -.dijitIconDocuments { background-position: -320px; } -.dijitIconMail { background-position: -336px; } -.dijitIconFile, .dijitLeaf { background-position: -352px; } -.dijitIconFunction { background-position: -368px; } -.dijitIconKey { background-position: -384px; } -.dijitIconPackage{ background-position: -400px; } -.dijitIconSample { background-position: -416px; } -.dijitIconTable { background-position: -432px; } -.dijitIconUsers { background-position: -448px; } -.dijitIconFolderClosed, .dijitFolderClosed { background-position: -464px; } -.dijitIconFolderOpen, .dijitFolderOpened { background-position: -480px; } -.claro .dijitPopup { - -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); - -moz-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); - box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); -} -.claro .dijitTooltipDialogPopup { - - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.claro .dijitComboBoxHighlightMatch { - background-color: #abd6ff; -} -.claro .dijitFocusedLabel { - - outline: 1px dotted #4a4a4a; -} -.claro .dijitContentPaneLoading { - background: url(images/loadingAnimation.gif) no-repeat left center; - padding-left: 25px; -} -.claro .dijitContentPaneError { - background: url(../../icons/images/commonIconsObjActEnabled.png) no-repeat left center; - background-position: -496px; - padding-left: 25px; -} -.claro .dojoDndItemBefore, .claro .dojoDndItemAfter { - border-top: 1px solid #769dc0; -} -.claro .dojoDndItemOver { - cursor: pointer; -} -.claro table.dojoDndAvatar { - border: 1px solid #b5bcc7; - border-collapse: collapse; - background-color: #ffffff; - -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); - -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); -} -.claro .dojoDndAvatarHeader td { - height: 20px; - padding-left: 21px; -} -.claro.dojoDndMove .dojoDndAvatarHeader, .claro.dojoDndCopy .dojoDndAvatarHeader { - background-image: url(images/dnd.png); - background-repeat: no-repeat; - background-position: 2px -122px; -} -.claro .dojoDndAvatarItem td { - padding: 5px; -} -.claro.dojoDndMove .dojoDndAvatarHeader { - background-color: #f58383; - background-position: 2px -103px; -} -.claro.dojoDndCopy .dojoDndAvatarHeader { - background-color: #f58383; - background-position: 2px -68px; -} -.claro.dojoDndMove .dojoDndAvatarCanDrop .dojoDndAvatarHeader { - background-color: #97e68d; - background-position: 2px -33px; -} -.claro.dojoDndCopy .dojoDndAvatarCanDrop .dojoDndAvatarHeader { - background-color: #97e68d; - background-position: 2px 2px; -} -.claro .dijitTextBoxError .dijitValidationContainer { - background-color: #d46464; - background-image: url(form/images/error.png); - background-position: top center; - border: solid #d46464 0; - border-left-width: 1px; - width: 9px; -} -.claro .dijitTextBoxError .dijitValidationIcon { - width: 0; - background-color: transparent !important; - -} -.claro .dijitTextArea, .claro .dijitInputField .dijitPlaceHolder { - padding: 2px; -} -.claro .dijitTextBox .dijitInputField { - padding: 1px 2px; -} -.dj_gecko .claro .dijitTextBox .dijitInputInner, .dj_webkit .claro .dijitTextBox .dijitInputInner { - padding: 1px; -} -.claro .dijitTextBox, .claro .dijitTextBox .dijitButtonNode { - - border-color: #b5bcc7; - -webkit-transition-property: background-color, border; - -moz-transition-property: background-color, border; - transition-property: background-color, border; - -webkit-transition-duration: 0.35s; - -moz-transition-duration: 0.35s; - transition-duration: 0.35s; -} -.claro .dijitTextBox { - background-color: #ffffff; -} -.claro .dijitTextBoxHover, .claro .dijitTextBoxHover .dijitButtonNode { - border-color: #769dc0; - -webkit-transition-duration: 0.25s; - -moz-transition-duration: 0.25s; - transition-duration: 0.25s; -} -.claro .dijitTextBoxHover { - background-color: #e9f4fe; - background-image: url(form/images/textBox_back.png); - background-repeat: repeat-x; -} -.claro .dijitTextBoxError, .claro .dijitTextBoxError .dijitButtonNode { - border-color: #d46464; -} -.claro .dijitTextBoxError, .claro .dijitTextBoxError .dijitInputContainer { - background-color: #ffffff; -} -.claro .dijitTextBoxFocused, .claro .dijitTextBoxFocused .dijitButtonNode { - border-color: #769dc0; - -webkit-transition-duration: 0.1s; - -moz-transition-duration: 0.1s; - transition-duration: 0.1s; -} -.claro .dijitTextBoxFocused { - background-color: #ffffff; - background-image: url(form/images/textBox_back.png); - background-repeat: repeat-x; -} -.claro .dijitTextBoxFocused .dijitInputContainer { - background: #ffffff; -} -.claro .dijitTextBoxErrorFocused, .claro .dijitTextBoxErrorFocused .dijitButtonNode { - border-color: #ce4f4f; -} -.claro .dijitTextBoxDisabled, .claro .dijitTextBoxDisabled .dijitButtonNode { - border-color: #d3d3d3; -} -.claro .dijitTextBoxDisabled, .claro .dijitTextBoxDisabled .dijitInputContainer { - background-color: #efefef; - background-image: none; - color: #818181; -} -.claro .dijitComboBox .dijitArrowButtonInner { - background-image: url(form/images/commonFormArrows.png); - background-position: -35px 53%; - background-repeat: no-repeat; - margin: 0; - width: 16px; - border: 1px solid #ffffff; -} -.claro .dijitToolbar .dijitComboBox .dijitArrowButtonInner { - border: none; -} -.claro .dijitToolbar .dijitComboBox .dijitArrowButtonInner { - border: none; -} -.claro .dijitTextBox .dijitInputInner, .claro .dijitTextBox .dijitValidationContainer { - padding: 1px 0; -} -.claro .dijitComboBox .dijitButtonNode { - background-color: #efefef; - background-image: url(form/images/formHighlight.png); - background-repeat: repeat-x; -} -.claro .dijitComboBoxOpenOnClickHover .dijitButtonNode, .claro .dijitComboBox .dijitDownArrowButtonHover { - background-color: #abd6ff; -} -.claro .dijitComboBoxOpenOnClickHover .dijitArrowButtonInner, .claro .dijitComboBox .dijitDownArrowButtonHover .dijitArrowButtonInner { - background-position: -70px 53%; -} -.claro .dijitComboBox .dijitHasDropDownOpen { - background-color: #7dbefa; - background-position: 0 -177px; - padding: 1px; -} -.claro .dijitComboBox .dijitHasDropDownOpen .dijitArrowButtonInner { - background-position: -70px 53%; - border: 0 none; -} -.claro div.dijitComboBoxDisabled .dijitArrowButtonInner { - - background-position: 0 50%; - background-color: #efefef; -} -.dj_ff3 .claro .dijitInputField input[type="hidden"] { - display: none; - height: 0; - width: 0; -} -.dj_ie6 .claro .dijitTextBox, .dj_ie6 .claro .dijitComboBox .dijitButtonNode { - background-image: none; -} -.dj_borderbox .claro .dijitComboBox .dijitHasDropDownOpen .dijitArrowButtonInner { - width: 18px; -} -.dj_borderbox .claro .dijitComboBoxFocused .dijitHasDropDownOpen .dijitArrowButtonInner { - width: 16px; -} -.claro .dijitButtonNode { - - -webkit-transition-property: background-color; - -moz-transition-property: background-color; - transition-property: background-color; - -webkit-transition-duration: 0.3s; - -moz-transition-duration: 0.3s; - transition-duration: 0.3s; -} -.claro .dijitButton .dijitButtonNode, -.claro .dijitDropDownButton .dijitButtonNode, -.claro .dijitComboButton .dijitButtonNode, -.claro .dijitToggleButton .dijitButtonNode { - - border: 1px solid #769dc0; - padding: 2px 4px 4px 4px; - background-image: url(form/images/button.png); - background-position: center top; - background-repeat: repeat-x; - background-color: #e9f4fe; - -moz-border-radius: 4px; - border-radius: 4px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15); - -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15); - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15); -} -.claro .dijitComboButton .dijitArrowButton { - border-left-width: 0; - padding: 4px 2px 4px 2px; - -} -.claro .dijitArrowButtonInner { - width: 15px; - height: 15px; - margin: 0 auto; - background-image: url(form/images/buttonArrows.png); - background-repeat: no-repeat; - background-position: -51px 53%; -} -.claro .dijitLeftArrowButton .dijitArrowButtonInner { - background-position: -77px 53%; -} -.claro .dijitRightArrowButton .dijitArrowButtonInner { - background-position: -26px 53%; -} -.claro .dijitUpArrowButton .dijitArrowButtonInner { - background-position: 0 53%; -} -.claro .dijitDisabled .dijitArrowButtonInner { - background-position: -151px 53%; -} -.claro .dijitDisabled .dijitLeftArrowButton .dijitArrowButtonInner { - background-position: -177px 53%; -} -.claro .dijitDisabled .dijitRightArrowButton .dijitArrowButtonInner { - background-position: -126px 53%; -} -.claro .dijitDisabled .dijitUpArrowButton .dijitArrowButtonInner { - background-position: -100px 53%; -} -.claro .dijitButtonText { - padding: 0 0.3em; - text-align: center; -} -.claro .dijitButtonHover .dijitButtonNode, -.claro .dijitDropDownButtonHover .dijitButtonNode, -.claro .dijitComboButton .dijitButtonNodeHover, -.claro .dijitComboButton .dijitDownArrowButtonHover, -.claro .dijitToggleButtonHover .dijitButtonNode { - background-color: #abd6ff; - color: #000000; - -webkit-transition-duration: 0.2s; - -moz-transition-duration: 0.2s; - transition-duration: 0.2s; -} -.claro .dijitButtonActive .dijitButtonNode, -.claro .dijitDropDownButtonActive .dijitButtonNode, -.claro .dijitComboButtonActive .dijitButtonNode, -.claro .dijitToggleButtonActive .dijitButtonNode { - background-color: #abd6ff; - -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - -moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - box-shadow: 0 0 0 rgba(0, 0, 0, 0); - -webkit-transition-duration: 0.1s; - -moz-transition-duration: 0.1s; - transition-duration: 0.1s; -} -.claro .dijitButtonDisabled, -.claro .dijitDropDownButtonDisabled, -.claro .dijitComboButtonDisabled, -.claro .dijitToggleButtonDisabled { - background-image: none; - outline: none; -} -.claro .dijitButtonDisabled .dijitButtonNode, -.claro .dijitDropDownButtonDisabled .dijitButtonNode, -.claro .dijitComboButtonDisabled .dijitButtonNode, -.claro .dijitToggleButtonDisabled .dijitButtonNode { - background-position: 0 -149px; - background-color: #efefef; - border: solid 1px #d3d3d3; - color: #818181; - -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - -moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - box-shadow: 0 0 0 rgba(0, 0, 0, 0); -} -.claro .dijitComboButtonDisabled .dijitArrowButton { - border-left-width: 0; -} -.claro table.dijitComboButton { - border-collapse: separate; - -} -.dj_ie6 .claro .dijitButtonNode { - background-image: none; -} -.claro .dijitComboButton .dijitStretch { - -moz-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} -.claro .dijitComboButton .dijitArrowButton { - -moz-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} -.claro .dijitToggleButton .dijitCheckBoxIcon { - background-image: url(images/checkmarkNoBorder.png); -} -.dj_ie6 .claro .dijitToggleButton .dijitCheckBoxIcon { - background-image: url(images/checkmarkNoBorder.gif); -} -.claro .dijitCheckBox, .claro .dijitCheckBoxIcon { - background-image: url(form/images/checkboxRadioButtonStates.png); - - background-repeat: no-repeat; - width: 15px; - height: 16px; - margin: 0 2px 0 0; - padding: 0; -} -.dj_ie6 .claro .dijitCheckBox, .dj_ie6 .claro .dijitCheckBoxIcon { - background-image: url(form/images/checkboxAndRadioButtons_IE6.png); - -} -.claro .dijitCheckBox, .claro .dijitToggleButton .dijitCheckBoxIcon { - - background-position: -15px; -} -.claro .dijitCheckBoxChecked, .claro .dijitToggleButtonChecked .dijitCheckBoxIcon { - - background-position: 0; -} -.claro .dijitCheckBoxDisabled { - - background-position: -75px; -} -.claro .dijitCheckBoxCheckedDisabled { - - background-position: -60px; -} -.claro .dijitCheckBoxHover { - - background-position: -45px; -} -.claro .dijitCheckBoxCheckedHover { - - background-position: -30px; -} -.claro .dijitToggleButton .dijitRadio, .claro .dijitToggleButton .dijitRadioIcon { - background-image: url(form/images/checkboxRadioButtonStates.png); -} -.dj_ie6 .claro .dijitToggleButton .dijitRadio, .dj_ie6 .claro .dijitToggleButton .dijitRadioIcon { - background-image: url(form/images/checkboxAndRadioButtons_IE6.png); -} -.claro .dijitRadio, .claro .dijitRadioIcon { - - background-image: url(form/images/checkboxRadioButtonStates.png); - - background-repeat: no-repeat; - width: 15px; - height: 15px; - margin: 0 2px 0 0; - padding: 0; -} -.dj_ie6 .claro .dijitRadio, .dj_ie6 .claro .dijitRadioIcon { - - background-image: url(form/images/checkboxAndRadioButtons_IE6.png); - -} -.claro .dijitRadio { - - background-position: -105px; -} -.claro .dijitToggleButton .dijitRadioIcon { - - background-position: -107px; -} -.claro .dijitRadioDisabled { - - background-position: -165px; -} -.claro .dijitRadioHover { - - background-position: -135px; -} -.claro .dijitRadioChecked { - background-position: -90px; -} -.claro .dijitToggleButtonChecked .dijitRadioIcon { - background-position: -92px; -} -.claro .dijitRadioCheckedHover { - background-position: -120px; -} -.claro .dijitRadioCheckedDisabled { - - background-position: -150px; -} -.claro .dijitSelect .dijitButtonText { - padding: 2px; -} -.claro .dijitSelect { - border: 1px solid #b5bcc7; - background-color: #ffffff; - border-collapse: separate; -} -.dj_ie6 .claro .dijitSelect, .dj_ie6 .claro .dijitSelect .dijitButtonNode { - background-image: none; -} -.claro .dijitSelect .dijitButtonContents { - border: 0 solid #b5bcc7; - border-right-width: 1px; -} -.claro .dijitSelect .dijitArrowButton { - padding: 0; - border: 1px solid #ffffff; - border-top: none; - background-color: #efefef; - background-image: url(form/images/formHighlight.png); - background-repeat: repeat-x; -} -.claro .dijitSelect .dijitArrowButton .dijitArrowButtonInner { - background-image: url(form/images/commonFormArrows.png); - background-position: -35px 70%; - background-repeat: no-repeat; - width: 16px; - height: 16px; -} -.claro .dijitSelectHover { - border: 1px solid #769dc0; - background-color: #e9f4fe; - background-image: url(form/images/textBox_back.png); - background-repeat: repeat-x; -} -.claro .dijitSelectHover .dijitButtonContents { - border-color: #769dc0; -} -.claro .dijitSelectHover .dijitArrowButton { - background-color: #abd6ff; -} -.claro .dijitSelectHover .dijitArrowButton .dijitArrowButtonInner { - background-position: -70px 70%; -} -.claro .dijitSelectFocused { - border: 1px solid #769dc0; -} -.claro .dijitSelectFocused .dijitButtonContents { - border-color: #769dc0; -} -.claro .dijitSelectFocused .dijitArrowButton { - background-color: #7dbefa; - background-position: 0 -177px; - border: none; - padding: 0 1px; -} -.claro .dijitSelectFocused .dijitArrowButton .dijitArrowButtonInner { - background-position: -70px 70%; - margin-bottom: 1px; -} -.claro .dijitSelectDisabled { - border: 1px solid #d3d3d3; - background-color: #efefef; - background-image: none; - color: #818181; -} -.claro .dijitSelectDisabled .dijitArrowButton { - background-color: #efefef; -} -.claro .dijitSelectDisabled .dijitArrowButton .dijitArrowButtonInner { - background-position: 0 70%; -} -.claro .dijitSelectMenu td.dijitMenuItemIconCell, .claro .dijitSelectMenu td.dijitMenuArrowCell { - - display: none; -} -.claro .dijitSelectMenu td.dijitMenuItemLabel { - - padding: 2px; -} -.claro .dijitSelectMenu .dijitMenuSeparatorTop { - border-bottom: 1px solid #769dc0; -} -.claro .dijitTabPaneWrapper { - background: #ffffff; -} -.claro .dijitTabPaneWrapper, -.claro .dijitTabContainerTop-tabs, -.claro .dijitTabContainerBottom-tabs, -.claro .dijitTabContainerLeft-tabs, -.claro .dijitTabContainerRight-tabs { - - border-color: #b5bcc7; -} -.claro .dijitTabCloseButton { - background: url(layout/images/tabClose.png) no-repeat; - width: 14px; - height: 14px; - margin-left: 5px; - margin-right: -5px; -} -.claro .dijitTabCloseButtonHover { - background-position: -14px; -} -.claro .dijitTabCloseButtonActive { - background-position: -28px; -} -.claro .dijitTabSpacer { - - display: none; -} -.claro .dijitTabInnerDiv { - background-color: #efefef; - -webkit-transition-property: background-color, border; - -moz-transition-property: background-color, border; - transition-property: background-color, border; - -webkit-transition-duration: 0.35s; - -moz-transition-duration: 0.35s; - transition-duration: 0.35s; - color: #4a4a4a; -} -.claro .dijitTabHover .dijitTabInnerDiv { - background-color: #abd6ff; - -webkit-transition-duration: 0.25s; - -moz-transition-duration: 0.25s; - transition-duration: 0.25s; - color: #000000; -} -.claro .dijitTabActive .dijitTabInnerDiv { - background-color: #7dbefa; - color: #000000; - -webkit-transition-duration: 0.1s; - -moz-transition-duration: 0.1s; - transition-duration: 0.1s; -} -.claro .dijitTabChecked .dijitTabInnerDiv { - background-color: #cfe5fa; - color: #000000; -} -.claro .dijitTabContent { - border: 1px solid #b5bcc7; -} -.claro .dijitTabHover .dijitTabContent { - border-color: #769dc0; -} -.claro .dijitTabActive .dijitTabContent { - border-color: #769dc0; -} -.claro .dijitTabChecked .dijitTabContent { - color: #000000; - border-color: #b5bcc7; -} -.claro .tabStripButton .dijitTabInnerDiv { - background-color: transparent; -} -.claro .tabStripButton .dijitTabContent { - border: none; -} -.claro .dijitTabContainerTop-tabs .dijitTab { - top: 1px; - - margin-right: 1px; - padding-top: 3px; -} -.dj_ie7 .claro .dijitTabContainerTop-tabs .dijitTab { - top: 3px; -} -.claro .dijitTabContainerTop-tabs .dijitTabContent { - padding: 3px 6px; - border-bottom-width: 0; - background-image: url(layout/images/tabTop.png); - background-position: 0 0; - background-repeat: repeat-x; - min-width: 60px; - text-align: center; -} -.claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabContent { - padding-bottom: 4px; - padding-top: 6px; -} -.claro .dijitTabContainerTop-tabs .dijitTabInnerDiv { - background-image: url(layout/images/tabTop.png); - background-position: 0 -248px; - background-position: bottom; - background-repeat: repeat-x; - -webkit-box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.04); - -moz-box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.04); - box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.04); -} -.claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabInnerDiv { - background-image: none; - -webkit-box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.05); - box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.05); -} -.claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabContent { - background-position: 0 -102px; - background-repeat: repeat-x; -} -.claro .dijitTabContainerBottom-tabs .dijitTab { - top: -1px; - - margin-right: 1px; -} -.claro .dijitTabContainerBottom-tabs .dijitTabContent { - padding: 3px 6px; - border-top-width: 0; - background-image: url(layout/images/tabBottom.png); - background-position: 0 -249px; - background-repeat: repeat-x; - background-position: bottom; - min-width: 60px; - text-align: center; -} -.claro .dijitTabContainerBottom-tabs .dijitTab { - padding-bottom: 3px; -} -.claro .dijitTabContainerBottom-tabs .dijitTabInnerDiv { - background-image: url(layout/images/tabBottom.png); - background-position: top; - background-repeat: repeat-x; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); - -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); -} -.claro .dijitTabContainerBottom-tabs .dijitTabChecked .dijitTabContent { - padding-bottom: 7px; - padding-top: 4px; - background-position: 0 -119px; -} -.claro .dijitTabContainerBottom-tabs .dijitTabChecked { - padding-bottom: 0; -} -.claro .dijitTabContainerBottom-tabs .dijitTabChecked .dijitTabInnerDiv { - background-image: none; - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); -} -.claro .dijitTabContainerLeft-tabs .dijitTab { - border-right-width: 0; - left: 1px; - - margin-bottom: 1px; -} -.claro .dijitTabContainerLeft-tabs .dijitTabInnerDiv { - background-image: url(layout/images/tabLeft.png); - background-position: -347px -340px; - background-repeat: repeat-y; -} -.claro .dijitTabContainerLeft-tabs .dijitTabContent { - padding: 3px 8px 4px 4px; - background-image: url(layout/images/tabLeft.png); - background-repeat: repeat-y; - background-position: 0 0; -} -.claro .dijitTabContainerLeft-tabs .dijitTabChecked .dijitTabContent { - padding-right: 9px; - border-right: none; - background-image: none; -} -.claro .dijitTabContainerLeft-tabs .dijitTabChecked .dijitTabInnerDiv { - background-position: 0 -179px; - background-repeat: repeat-y; - -webkit-box-shadow: -1px 0 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: -1px 0 2px rgba(0, 0, 0, 0.05); - box-shadow: -1px 0 2px rgba(0, 0, 0, 0.05); -} -.claro .dijitTabContainerRight-tabs .dijitTab { - border-left-width: 0; - left: -1px; - - margin-bottom: 1px; -} -.claro .dijitTabContainerRight-tabs .dijitTabInnerDiv { - background-image: url(layout/images/tabRight.png); - background-repeat: repeat-y; - background-position: -1px -347px; -} -.claro .dijitTabContainerRight-tabs .dijitTabContent { - padding: 3px 8px 4px 4px; - background-image: url(layout/images/tabRight.png); - background-position: right top; - background-repeat: repeat-y; -} -.claro .dijitTabContainerRight-tabs .dijitTabChecked .dijitTabContent { - padding-left: 5px; - border-left: none; - background-image: none; -} -.claro .dijitTabContainerRight-tabs .dijitTabChecked .dijitTabInnerDiv { - background-position: -348px -179px; - -webkit-box-shadow: 1px 0 2px rgba(0, 0, 0, 0.07); - -moz-box-shadow: 1px 0 2px rgba(0, 0, 0, 0.07); - box-shadow: 1px 0 2px rgba(0, 0, 0, 0.07); -} -.claro .dijitTabContainerTop-tabs .dijitTabInnerDiv, .claro .dijitTabContainerTop-tabs .dijitTabContent { - -moz-border-radius: 2px 2px 0 0; - border-radius: 2px 2px 0 0; -} -.claro .dijitTabContainerBottom-tabs .dijitTabInnerDiv, .claro .dijitTabContainerBottom-tabs .dijitTabContent { - -moz-border-radius: 0 0 2px 2px; - border-radius: 0 0 2px 2px; -} -.claro .dijitTabContainerLeft-tabs .dijitTabInnerDiv, .claro .dijitTabContainerLeft-tabs .dijitTabContent { - -moz-border-radius: 2px 0 0 2px; - border-radius: 2px 0 0 2px; -} -.claro .dijitTabContainerRight-tabs .dijitTabInnerDiv, .claro .dijitTabContainerRight-tabs .dijitTabContent { - -moz-border-radius: 0 2px 2px 0; - border-radius: 0 2px 2px 0; -} -.claro .tabStripButton { - background-color: #e9f4fe; - border: 1px solid #b5bcc7; -} -.claro .dijitTabListContainer-top .tabStripButton { - padding: 4px 3px; - margin-top: 7px; - background-image: url(layout/images/tabTop.png); - background-position: 0 0; -} -.claro .dijitTabListContainer-bottom .tabStripButton { - padding: 5px 3px; - margin-bottom: 4px; - background-image: url(layout/images/tabTop.png); - background-position: 0 -248px; - background-position: bottom; -} -.claro .tabStripButtonHover { - background-color: #abd6ff; -} -.claro .tabStripButtonActive { - background-color: #7dbefa; -} -.claro .dijitTabStripIcon { - height: 15px; - width: 15px; - margin: 0 auto; - background: url(form/images/buttonArrows.png) no-repeat -75px 50%; - background-color: transparent; -} -.claro .dijitTabStripSlideRightIcon { - background-position: -24px 50%; -} -.claro .dijitTabStripMenuIcon { - background-position: -51px 50%; -} -.claro .dijitTabListContainer-top .tabStripButtonDisabled, .claro .dijitTabListContainer-bottom .tabStripButtonDisabled { - background-color: #d3d3d3; - border: 1px solid #b5bcc7; - -} -.claro .tabStripButtonDisabled .dijitTabStripSlideLeftIcon { - background-position: -175px 50%; -} -.claro .tabStripButtonDisabled .dijitTabStripSlideRightIcon { - background-position: -124px 50%; -} -.claro .tabStripButtonDisabled .dijitTabStripMenuIcon { - background-position: -151px 50%; -} -.claro .dijitTabContainerNested .dijitTabListWrapper { - height: auto; -} -.claro .dijitTabContainerNested .dijitTabContainerTop-tabs { - border-bottom: solid 1px #b5bcc7; - padding: 1px 2px 4px; - margin-top: -2px; -} -.claro .dijitTabContainerTabListNested .dijitTabContent { - background: rgba(255, 255, 255, 0) none repeat scroll 0 0; - border: none; - padding: 4px; - border-color: rgba(118, 157, 192, 0); - -webkit-transition-property: background-color, border-color; - -moz-transition-property: background-color, border-color; - transition-property: background-color, border-color; - -webkit-transition-duration: 0.3s; - -moz-transition-duration: 0.3s; - transition-duration: 0.3s; - -moz-border-radius: 2px; - border-radius: 2px; -} -.claro .dijitTabContainerTabListNested .dijitTab .dijitTabInnerDiv { - - background: none; - border: none; - top: 0; - - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.claro .dijitTabContainerTabListNested .dijitTabHover .dijitTabContent { - background-color: #e9f4fe; - border: solid 1px #cfe5fa; - padding: 3px; - -webkit-transition-duration: 0.2s; - -moz-transition-duration: 0.2s; - transition-duration: 0.2s; -} -.claro .dijitTabContainerTabListNested .dijitTabHover .tabLabel { - text-decoration: none; -} -.claro .dijitTabContainerTabListNested .dijitTabActive .dijitTabContent { - border: solid 1px #769dc0; - padding: 3px; - background: #abd6ff url(layout/images/tabNested.png) repeat-x; - -webkit-transition-duration: 0.1s; - -moz-transition-duration: 0.1s; - transition-duration: 0.1s; -} -.claro .dijitTabContainerTabListNested .dijitTabChecked .dijitTabContent { - padding: 3px; - border: solid 1px #769dc0; - background-position: 0 105px; - background-color: #cfe5fa; -} -.claro .dijitTabContainerTabListNested .dijitTabChecked .tabLabel { - text-decoration: none; - background-image: none; -} -.claro .dijitTabPaneWrapperNested { - border: none; - -} -.dj_ie6 .claro .dijitTabContent, -.dj_ie6 .claro .dijitTabInnerDiv, -.dj_ie6 .dijitTabListContainer-top .tabStripButton, -.dj_ie6 .dijitTabListContainer-bottom .tabStripButton { - background-image: none; -} -.claro .dijitDialog { - border: 1px solid #769dc0; - -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); - -moz-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); - box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); -} -.claro .dijitDialogPaneContent { - background: #ffffff repeat-x top left; - border-top: 1px solid #769dc0; - padding: 10px 8px; - position: relative; -} -.claro .dijitDialogPaneContentArea { - - margin: -10px -8px; - padding: 10px 8px; -} -.claro .dijitDialogPaneActionBar { - - background-color: #efefef; - padding: 3px 5px 2px 7px; - text-align: right; - border-top: 1px solid #d3d3d3; - margin: 10px -8px -10px; -} -.claro .dijitDialogPaneActionBar .dijitButton { - float: none; -} -.claro .dijitDialogTitleBar { - - border: 1px solid #ffffff; - border-top: none; - background-color: #abd6ff; - background-image: url(images/titlebar.png); - background-repeat: repeat-x; - padding: 5px 7px 4px 7px; -} -.claro .dijitDialogTitle { - - padding: 0 1px; - font-size: 1.091em; -} -.claro .dijitDialogCloseIcon { - - background: url(images/dialogCloseIcon.png); - background-repeat: no-repeat; - position: absolute; - right: 5px; - height: 15px; - width: 21px; -} -.dj_ie6 .claro .dijitDialogCloseIcon { - background-image: url(images/dialogCloseIcon8bit.png); -} -.claro .dijitDialogCloseIconHover { - background-position: -21px; -} -.claro .dijitDialogCloseIconActive { - background-position: -42px; -} -.claro .dijitTooltip, .claro .dijitTooltipDialog { - - background: transparent; - -} -.dijitTooltipBelow { - - padding-top: 13px; - padding-left: 3px; - padding-right: 3px; -} -.dijitTooltipAbove { - - padding-bottom: 13px; - padding-left: 3px; - padding-right: 3px; -} -.claro .dijitTooltipContainer { - - background-color: #ffffff; - background-image: url(images/tooltipGradient.png); - background-repeat: repeat-x; - background-position: bottom; - border: 1px solid #769dc0; - padding: 6px 8px; - -moz-border-radius: 4px; - border-radius: 4px; - -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); - -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); - box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); - font-size: 1em; -} -.dj_ie6 .claro .dijitTooltipContainer { - background-image: none; -} -.claro .dijitTooltipConnector { - - border: 0; - z-index: 2; - background-image: url(images/tooltip.png); - background-repeat: no-repeat; - width: 16px; - height: 14px; -} -.dj_ie6 .claro .dijitTooltipConnector { - background-image: url(images/tooltip8bit.png); -} -.claro .dijitTooltipABRight .dijitTooltipConnector { - - left: auto !important; - right: 3px; -} -.claro .dijitTooltipBelow .dijitTooltipConnector { - - top: 0; - left: 3px; - background-position: -31px 0; - width: 16px; - height: 14px; -} -.claro .dijitTooltipAbove .dijitTooltipConnector { - - bottom: 0; - left: 3px; - background-position: -15px 0; - width: 16px; - height: 14px; -} -.dj_ie7 .claro .dijitTooltipAbove .dijitTooltipConnector, .dj_ie6 .claro .dijitTooltipAbove .dijitTooltipConnector { - bottom: -1px; -} -.claro .dijitTooltipLeft { - padding-right: 14px; -} -.claro .dijitTooltipLeft .dijitTooltipConnector { - - right: 0; - background-position: 0 0; - width: 16px; - height: 14px; -} -.claro .dijitTooltipRight { - padding-left: 14px; -} -.claro .dijitTooltipRight .dijitTooltipConnector { - - left: 0; - background-position: -48px 0; - width: 16px; - height: 14px; -} -.claro .dijitDialogUnderlay { - background: #ffffff; -} -.claro .dijitAccordionContainer { - border: none; -} -.claro .dijitAccordionInnerContainer { - background-color: #efefef; - - border: solid 1px #b5bcc7; - margin-bottom: 1px; - -webkit-transition-property: background-color, border; - -moz-transition-property: background-color, border; - transition-property: background-color, border; - -webkit-transition-duration: 0.3s; - -moz-transition-duration: 0.3s; - transition-duration: 0.3s; - -webkit-transition-timing-function: linear; - -moz-transition-timing-function: linear; - transition-timing-function: linear; -} -.claro .dijitAccordionTitle { - background-color: transparent; - - background-image: url(layout/images/accordion.png); - background-position: 0 0; - background-repeat: repeat-x; - padding: 5px 7px 2px 7px; - min-height: 17px; - color: #4a4a4a; -} -.claro .dijitAccordionTitleHover { - color: #000000; -} -.dj_ie6 .claro .dijitAccordionTitle { - background-image: none; -} -.claro .dijitAccordionContainer .dijitAccordionChildWrapper { - - background-color: #ffffff; - border: 1px solid #769dc0; - margin: 0 2px 2px; -} -.claro .dijitAccordionContainer .dijitAccordionContainer-child { - - padding: 9px; -} -.claro .dijitAccordionInnerContainerActive { - border: 1px solid #769dc0; - background-color: #7dbefa; - -webkit-transition-duration: 0.1s; - -moz-transition-duration: 0.1s; - transition-duration: 0.1s; -} -.claro .dijitAccordionInnerContainerActive .dijitAccordionTitle { - background-position: 0 -136px; - color: #000000; -} -.claro .dijitAccordionInnerContainerSelected { - border-color: #769dc0; - background-color: #cfe5fa; -} -.claro .dijitAccordionInnerContainerSelected .dijitAccordionTitle { - color: #000000; - background-position: 0 0; - -} -.claro .dijitAccordionInnerContainerHover dijitAccordionTitle { - - color: #000000; -} -.claro .dijitAccordionInnerContainerHover, .claro .dijitAccordionInnerContainerSelectedActive { - - border: 1px solid #769dc0; - background-color: #abd6ff; - -webkit-transition-duration: 0.2s; - -moz-transition-duration: 0.2s; - transition-duration: 0.2s; -} -.claro .dijitAccordionInnerContainerSelectedHover .dijitAccordionChildWrapper, .claro .dijitAccordionInnerContainerSelectedActive .dijitAccordionChildWrapper { - background-color: #ffffff; - border: 1px solid #769dc0 !important; - -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.25); - -moz-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.25); - box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.25); -} -.claro .dijitContentPane { - padding: 8px; -} -.claro .dijitTabContainerTop-dijitContentPane, -.claro .dijitTabContainerLeft-dijitContentPane, -.claro .dijitTabContainerBottom-dijitContentPane, -.claro .dijitTabContainerRight-dijitContentPane, -.claro .dijitAccordionContainer-dijitContentPane { - background-color: #ffffff; - padding: 8px; -} -.claro .dijitSplitContainer-dijitContentPane, .claro .dijitBorderContainer-dijitContentPane { - background-color: #ffffff; - padding: 8px; -} -.claro .dijitCalendar { - border: solid 1px #b5bcc7; - background-color: #cfe5fa; - background-image: url(images/calendarContainerImages.png); - background-position: 0 -448px; - background-repeat: repeat-x; - text-align: center; - padding: 6px 5px 3px 5px; - -moz-border-radius: 4px; - border-radius: 4px; -} -.dj_ie6 .claro .dijitCalendar { - background-image: none; -} -.claro .dijitCalendar img { - border: none; -} -.claro .dijitCalendarHover, .claro .dijitCalendarActive { - - background-color: #abd6ff; - border: solid 1px #769dc0; -} -.claro .dijitCalendarMonthContainer th { - text-align: center; - padding-bottom: 4px; - vertical-align: middle; -} -.claro .dijitCalendarMonthLabel { - color: #000000; - font-size: 1.091em; - padding: 0 4px; -} -.claro .dijitCalendarIncrementControl { - width: 18px; - height: 16px; - background-image: url(images/calendarArrows.png); - background-repeat: no-repeat; -} -.dj_ie6 .claro .dijitCalendarIncrementControl { - background-image: url(images/calendarArrows8bit.png); -} -.claro .dijitCalendarIncrease { - background-position: -18px 0; -} -.claro .dijitCalendarArrowHover .dijitCalendarDecrease { - background-position: -36px 0; -} -.claro .dijitCalendarArrowHover .dijitCalendarIncrease { - background-position: -55px 0; -} -.claro .dijitCalendarArrowActive .dijitCalendarDecrease { - background-position: -72px 0; -} -.claro .dijitCalendarArrowActive .dijitCalendarIncrease { - background-position: -91px 0; -} -.claro .dijitA11ySideArrow { - - display: none; -} -.claro .dijitDayLabels th { - padding: 0 4px 0 4px; - font-weight: bold; - text-align: center; -} -.claro .dijitCalendarDayLabelTemplate { - padding-bottom: 0; - text-align: center; - border-bottom: 1px solid #b5bcc7; - font-size: 0.909em; - padding: 0 3px 2px; -} -.claro .dijitCalendarDateTemplate { - text-align: center; - background-color: #ffffff; - background-image: url(images/calendarContainerImages.png); - background-position: 0 0; - background-repeat: repeat-x; - border-bottom: 1px solid #d3d3d3; - padding-top: 0; - font-size: 0.909em; - font-family: Arial; - font-weight: bold; - letter-spacing: .05em; - text-align: center; -} -.dj_ie6 .claro .dijitCalendarDateTemplate { - background-image: none; -} -.claro .dijitCalendarPreviousMonth, .claro .dijitCalendarNextMonth { - background-color: #e9f4fe; - background-image: none; - border-bottom: solid 1px #d3d3d3; - -} -.claro .dijitCalendarDateTemplate .dijitCalendarDateLabel { - text-decoration: none; - display: block; - padding: 3px 5px 3px 4px; - border: solid 1px #ffffff; - - background-color: rgba(171, 212, 251, 0); - - -webkit-transition-property: background-color, border; - -moz-transition-property: background-color, border; - transition-property: background-color, border; - -webkit-transition-duration: 0.35s; - -moz-transition-duration: 0.35s; - transition-duration: 0.35s; -} -.claro .dijitCalendarPreviousMonth .dijitCalendarDateLabel, .claro .dijitCalendarNextMonth .dijitCalendarDateLabel { - color: #769dc0; - border-color: #e9f4fe; - -} -.claro .dijitCalendarYearContainer { - vertical-align: middle; -} -.claro .dijitCalendarYearControl { - padding: 1px 2px 2px 2px; -} -.claro .dijitCalendarYearLabel { - padding: 2px 0 0 0; - margin: 0; -} -.claro .dijitCalendarYearLabel span { - - vertical-align: middle; -} -.claro .dijitCalendarSelectedYear { - padding: 0 3px; -} -.claro .dijitCalendarNextYear, .claro .dijitCalendarPreviousYear { - padding: 1px 6px 1px 6px; - font-size: 0.909em; -} -.claro .dijitCalendarSelectedYear { - font-size: 1.091em; - color: #000000; -} -.claro .dijitCalendarHoveredDate .dijitCalendarDateLabel { - background-color: #abd6ff; - border: solid 1px #769dc0; - color: #000000; - -webkit-transition-duration: 0.2s; - -moz-transition-duration: 0.2s; - transition-duration: 0.2s; -} -.claro .dijitCalendarNextYearHover, .claro .dijitCalendarPreviousYearHover { - color: #000000; - border: solid 1px #ffffff; - padding: 0 5px 0 5px; - - background-color: #e9f4fe; -} -.claro .dijitCalendarNextYearActive, .claro .dijitCalendarPreviousYearActive { - border: solid 1px #769dc0; - padding: 0 5px 0 5px; - - background-color: #cfe5fa; -} -.claro .dijitCalendarActiveDate .dijitCalendarDateLabel { - background-image: url(images/calendarContainerImages.png); - background-position: 0 -300px; - background-color: #7dbefa; - border: solid 1px #ffffff; - -webkit-transition-duration: 0.1s; - -moz-transition-duration: 0.1s; - transition-duration: 0.1s; -} -.dj_ie6 .claro .dijitCalendarActiveDate .dijitCalendarDateLabel { - background-image: none; -} -.claro .dijitCalendarSelectedDate .dijitCalendarDateLabel { - color: #000000; - background-color: #abd6ff; - border-color: #769dc0; -} -.claro .dijitCalendarDisabledDate .dijitCalendarDateLabel { - text-decoration: line-through; - - background-color: transparent; - border-width: 0; - padding: 4px 6px 4px 5px; - color: #818181; -} -.claro .dijitCalendar .dijitDropDownButton { - margin: 0; -} -.claro .dijitCalendar .dijitButtonText { - padding: 1px 0 3px; - margin-right: -4px; -} -.claro .dijitCalendar .dijitDropDownButton .dijitButtonNode { - background-color: transparent; - background-image: none; - padding: 0 3px 0 2px; - border: solid 1px #b5bcc7; - -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - -moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - box-shadow: 0 0 0 rgba(0, 0, 0, 0); -} -.claro .dijitCalendar .dijitDropDownButtonHover .dijitButtonNode { - background-color: #e9f4fe; - border: solid 1px #ffffff; -} -.claro .dijitCalendarMonthMenu { - border-color: #769dc0; - background-color: #ffffff; - text-align: center; - background-image: none; -} -.claro .dijitCalendarMonthMenu .dijitCalendarMonthLabel { - border-top: solid 1px #ffffff; - - border-bottom: solid 1px #ffffff; - padding: 2px 0; -} -.claro .dijitCalendarMonthMenu .dijitCalendarMonthLabelHover { - background-color: #abd6ff; - border-color: #769dc0; - border-width: 1px 0; - background-image: url(images/commonHighlight.png); - background-repeat: repeat-x; -} -.claro .dijitMenuBar { - border: 1px solid #b5bcc7; - margin: 0; - padding: 0; - background-color: #efefef; - background-image: url(images/commonHighlight.png); - background-position: 0 0; - background-repeat: repeat-x; -} -.dj_ie6 .claro .dijitMenuBar { - background-image: none; -} -.claro .dijitMenu { - background-repeat: repeat-y; - background-color: #ffffff; - border: 1px solid #769dc0; - - margin: -1px 0; -} -.dj_ie6 .claro .dijitMenu { - margin: 0; - -} -.claro .dijitMenuBar .dijitMenuItem { - padding: 6px 10px 7px; - background-position: 0 100px; - color: #4a4a4a; - margin: -1px; -} -.claro .dijitMenuItem { - background-image: url(images/menuHighlight.png); - background-position: 0 -40px; - background-repeat: repeat-x; -} -.claro .dijitMenuTable { - border-collapse: separate; - border-spacing: 0 0; - padding: 0; -} -.claro .dijitMenuItem td { - padding: 1px; -} -.claro .dijitMenuPassive .dijitMenuItemHover, .claro .dijitMenuPassive .dijitMenuItemSelected { - background-color: #abd6ff; - border: solid 1px #769dc0; - background-position: 0 0; - color: #000000; - padding: 5px 9px 6px; -} -.claro .dijitMenuPassive .dijitMenuItemActive { - background-position: 0 -177px; -} -.dj_ie6 .claro .dijitMenuItem, .dj_ie6 .claro .dijitMenuPassive .dijitMenuItem { - background-image: none; -} -.claro .dijitMenuActive .dijitMenuItemHover, .claro .dijitMenuActive .dijitMenuItemSelected { - border: solid 1px #769dc0; - padding: 5px 9px 6px; - background-color: #abd6ff; - background-position: 0 0; - color: #000000; -} -.dj_ie .claro .dijitMenuActive .dijitMenuItemHover, -.dj_ie .claro .dijitMenuActive .dijitMenuItemSelected, -.dj_ie .claro .dijitMenuPassive .dijitMenuItemHover, -.dj_ie .claro .dijitMenuPassive .dijitMenuItemSelected { - padding-top: 6px; - padding-bottom: 5px; - margin-top: -3px; -} -.claro .dijitMenuActive .dijitMenuItemActive { - background-color: #7dbefa; - background-position: 0 -177px; -} -.claro .dijitMenuItemActive { - background-position: 0 -177px; -} -.claro td.dijitMenuItemIconCell { - padding: 2px; - margin: 0 0 0 4px; -} -.claro td.dijitMenuItemLabel { - padding-top: 5px; - padding-bottom: 5px; -} -.claro .dijitMenuExpand { - width: 7px; - height: 7px; - background-image: url(images/spriteArrows.png); - background-position: -14px 0; - margin-right: 3px; -} -.claro .dijitMenuItemDisabled .dijitMenuItemIconCell { - opacity: 1; -} -.claro .dijitMenuSeparatorTop { - height: auto; - margin-top: 1px; - - border-bottom: 1px solid #b5bcc7; -} -.claro .dijitMenuSeparatorBottom { - height: auto; - margin-bottom: 1px; -} -.claro .dijitCheckedMenuItemIconChar { - display: none; -} -.claro .dijitCheckedMenuItemIcon { - background-image: url(form/images/checkboxRadioButtonStates.png); - background-repeat: no-repeat; - background-position: -15px 50%; - width: 15px; - height: 16px; -} -.dj_ie6 .claro .dijitCheckedMenuItemIcon { - background-image: url(form/images/checkboxAndRadioButtons_IE6.png); -} -.claro .dijitCheckedMenuItemChecked .dijitCheckedMenuItemIcon { - background-position: 0 50%; -} -.claro .dijitComboBoxMenu { - margin-left: 0; - background-image: none; -} -.claro .dijitComboBoxMenu .dijitMenuItem { - padding: 2px; - border-width: 1px 0 1px 0; - border-style: solid; - border-color: #ffffff; -} -.claro .dijitComboBoxMenu .dijitMenuItemSelected { - color: #000000; - border-color: #769dc0; - background-color: #abd6ff; -} -.claro .dijitComboBoxMenuActive .dijitMenuItemSelected { - background-position: 0 -177px; - background-color: #7dbefa; - -} -.claro .dijitMenuPreviousButton, .claro .dijitMenuNextButton { - font-style: italic; -} -.claro .dijitSliderBar { - border-style: solid; - outline: 1px; -} -.claro .dijitSliderFocused .dijitSliderBar { - border-color: #769dc0; -} -.claro .dijitSliderHover .dijitSliderBar { - border-color: #769dc0; -} -.claro .dijitSliderDisabled .dijitSliderBar { - background-image: none; - border-color: #d3d3d3; -} -.claro .dijitRuleLabelsContainerH { - padding: 2px 0; -} -.claro .dijitSlider .dijitSliderProgressBarH, .claro .dijitSlider .dijitSliderLeftBumper { - background-image: url(form/images/sliderHorizontal.png); - background-repeat: repeat-x; - background-position: 0 -20px; - border-color: #b5bcc7; - background-color: #cfe5fa; -} -.claro .dijitSlider .dijitSliderRemainingBarH, .claro .dijitSlider .dijitSliderRightBumper { - background-image: url(form/images/sliderHorizontal.png); - background-repeat: repeat-x; - background-position: 0 -11px; - border-color: #b5bcc7; - background-color: #ffffff; -} -.claro .dijitSliderRightBumper { - border-right: solid 1px #b5bcc7; -} -.claro .dijitSliderLeftBumper { - border-left: solid 1px #b5bcc7; -} -.claro .dijitSliderHover .dijitSliderProgressBarH, .claro .dijitSliderHover .dijitSliderLeftBumper { - background-position: 0 -20px; - background-color: #abd6ff; - border-color: #769dc0; -} -.claro .dijitSliderHover .dijitSliderRemainingBarH, .claro .dijitSliderHover .dijitSliderRightBumper { - background-position: 0 0; - background-color: #ffffff; - border-color: #769dc0; -} -.claro .dijitSliderFocused .dijitSliderProgressBarH, .claro .dijitSliderFocused .dijitSliderLeftBumper { - background-position: 0 -30px; - background-color: #abd6ff; - border-color: #769dc0; -} -.claro .dijitSliderFocused .dijitSliderRemainingBarH, .claro .dijitSliderFocused .dijitSliderRightBumper { - background-position: 0 -9px; - background-color: #ffffff; - border-color: #769dc0; -} -.claro .dijitSliderDisabled .dijitSliderProgressBarH, .claro .dijitSliderDisabled .dijitSliderLeftBumper { - background-color: #d3d3d3; - - background-image: none; -} -.claro .dijitSliderDisabled .dijitSliderRemainingBarH, .claro .dijitSliderDisabled .dijitSliderRightBumper { - background-color: #efefef; -} -.claro .dijitRuleLabelsContainerV { - padding: 0 2px; -} -.claro .dijitSlider .dijitSliderProgressBarV, .claro .dijitSlider .dijitSliderBottomBumper { - background-image: url(form/images/sliderVertical.png); - background-repeat: repeat-y; - background-position: -36px 0; - border-color: #b5bcc7; - background-color: #cfe5fa; -} -.claro .dijitSlider .dijitSliderRemainingBarV, .claro .dijitSlider .dijitSliderTopBumper { - background-image: url(form/images/sliderVertical.png); - background-repeat: repeat-y; - background-position: -3px 0; - border-color: #b5bcc7; - background-color: #ffffff; -} -.claro .dijitSliderBottomBumper { - border-bottom: solid 1px #b5bcc7; -} -.claro .dijitSliderTopBumper { - border-top: solid 1px #b5bcc7; -} -.claro .dijitSliderHover .dijitSliderProgressBarV, .claro .dijitSliderHover .dijitSliderBottomBumper { - background-position: -36px 0; - background-color: #abd6ff; -} -.claro .dijitSliderHover .dijitSliderRemainingBarV, .claro .dijitSliderHover .dijitSliderTopBumper { - background-position: 0 0; - background-color: #ffffff; -} -.claro .dijitSliderFocused .dijitSliderProgressBarV, .claro .dijitSliderFocused .dijitSliderBottomBumper { - background-position: -56px 0; - background-color: #abd6ff; -} -.claro .dijitSliderFocused .dijitSliderRemainingBarV, .claro .dijitSliderFocused .dijitSliderTopBumper { - background-position: -18px 0; - background-color: #ffffff; -} -.claro .dijitSliderDisabled .dijitSliderProgressBarV, .claro .dijitSliderDisabled .dijitSliderBottomBumper { - background-color: #d3d3d3; - -} -.claro .dijitSliderDisabled .dijitSliderRemainingBarV, .claro .dijitSliderDisabled .dijitSliderTopBumper { - background-color: #efefef; -} -.claro .dijitSliderImageHandleH { - border: 0; - width: 18px; - height: 16px; - background-image: url(form/images/sliderThumbs.png); - background-repeat: no-repeat; - background-position: 0 0; -} -.claro .dijitSliderHover .dijitSliderImageHandleH { - background-position: -18px 0; -} -.claro .dijitSliderFocused .dijitSliderImageHandleH { - background-position: -36px 0; -} -.claro .dijitSliderProgressBarH .dijitSliderThumbHover { - background-position: -36px 0; -} -.claro .dijitSliderProgressBarH .dijitSliderThumbActive { - background-position: -36px 0; -} -.claro .dijitSliderReadOnly .dijitSliderImageHandleH, .claro .dijitSliderDisabled .dijitSliderImageHandleH { - background-position: -54px 0; -} -.claro .dijitSliderImageHandleV { - border: 0; - width: 18px; - height: 16px; - background-image: url(form/images/sliderThumbs.png); - background-repeat: no-repeat; - background-position: -289px 0; -} -.claro .dijitSliderHover .dijitSliderImageHandleV { - background-position: -307px 0; -} -.claro .dijitSliderFocused .dijitSliderImageHandleV { - background-position: -325px 0; -} -.claro .dijitSliderProgressBarV .dijitSliderThumbHover { - background-position: -325px 0; -} -.claro .dijitSliderProgressBarV .dijitSliderThumbActive { - background-position: -325px 0; -} -.claro .dijitSliderReadOnly .dijitSliderImageHandleV, .claro .dijitSliderDisabled .dijitSliderImageHandleV { - background-position: -343px 0; -} -.claro .dijitSliderButtonContainerH { - padding: 1px 3px 1px 2px; -} -.claro .dijitSliderButtonContainerV { - padding: 3px 1px 2px 1px; -} -.claro .dijitSliderDecrementIconH, -.claro .dijitSliderIncrementIconH, -.claro .dijitSliderDecrementIconV, -.claro .dijitSliderIncrementIconV { - background-image: url(form/images/commonFormArrows.png); - background-repeat: no-repeat; - background-color: #efefef; - -moz-border-radius: 2px; - border-radius: 2px; - border: solid 1px #b5bcc7; - font-size: 1px; -} -.claro .dijitSliderDecrementIconH, .claro .dijitSliderIncrementIconH { - height: 12px; - width: 9px; -} -.claro .dijitSliderDecrementIconV, .claro .dijitSliderIncrementIconV { - height: 9px; - width: 12px; -} -.claro .dijitSliderActive .dijitSliderDecrementIconH, -.claro .dijitSliderActive .dijitSliderIncrementIconH, -.claro .dijitSliderActive .dijitSliderDecrementIconV, -.claro .dijitSliderActive .dijitSliderIncrementIconV, -.claro .dijitSliderHover .dijitSliderDecrementIconH, -.claro .dijitSliderHover .dijitSliderIncrementIconH, -.claro .dijitSliderHover .dijitSliderDecrementIconV, -.claro .dijitSliderHover .dijitSliderIncrementIconV { - - border: solid 1px #769dc0; - background-color: #ffffff; -} -.claro .dijitSliderDecrementIconH { - background-position: -357px 50%; -} -.claro .dijitSliderActive .dijitSliderDecrementIconH.claro .dijitSliderHover .dijitSliderDecrementIconH { - background-position: -393px 50%; -} -.claro .dijitSliderIncrementIconH { - background-position: -251px 50%; -} -.claro .dijitSliderActive .dijitSliderIncrementIconH.claro .dijitSliderHover .dijitSliderIncrementIconH { - background-position: -283px 50%; -} -.claro .dijitSliderDecrementIconV { - background-position: -38px 50%; -} -.claro .dijitSliderActive .dijitSliderDecrementIconV.claro .dijitSliderHover .dijitSliderDecrementIconV { - background-position: -73px 50%; -} -.claro .dijitSliderIncrementIconV { - background-position: -143px 49%; -} -.claro .dijitSliderActive .dijitSliderIncrementIconV.claro .dijitSliderHover .dijitSliderIncrementIconV { - background-position: -178px 49%; -} -.claro .dijitSliderButtonContainerV .dijitSliderDecrementButtonHover, -.claro .dijitSliderButtonContainerH .dijitSliderDecrementButtonHover, -.claro .dijitSliderButtonContainerV .dijitSliderIncrementButtonHover, -.claro .dijitSliderButtonContainerH .dijitSliderIncrementButtonHover { - background-color: #cfe5fa; -} -.claro .dijitSliderButtonContainerV .dijitSliderDecrementButtonActive, -.claro .dijitSliderButtonContainerH .dijitSliderDecrementButtonActive, -.claro .dijitSliderButtonContainerV .dijitSliderIncrementButtonActive, -.claro .dijitSliderButtonContainerH .dijitSliderIncrementButtonActive { - background-color: #abd6ff; - border-color: #769dc0; -} -.claro .dijitSliderButtonInner { - visibility: hidden; -} -.claro .dijitSliderDisabled .dijitSliderBar { - border-color: #d3d3d3; -} -.claro .dijitSliderReadOnly *, .claro .dijitSliderDisabled * { - border-color: #d3d3d3; - color: #818181; -} -.claro .dijitSliderReadOnly .dijitSliderDecrementIconH, .claro .dijitSliderDisabled .dijitSliderDecrementIconH { - background-position: -321px 50%; - background-color: #efefef; -} -.claro .dijitSliderReadOnly .dijitSliderIncrementIconH, .claro .dijitSliderDisabled .dijitSliderIncrementIconH { - background-position: -215px 50%; - background-color: #efefef; -} -.claro .dijitSliderReadOnly .dijitSliderDecrementIconV, .claro .dijitSliderDisabled .dijitSliderDecrementIconV { - background-position: -3px 49%; - background-color: #efefef; -} -.claro .dijitSliderReadOnly .dijitSliderIncrementIconV, .claro .dijitSliderDisabled .dijitSliderIncrementIconV { - background-position: -107px 49%; - background-color: #efefef; -} -.dj_ie6 .claro .dijitSlider .dijitSliderProgressBarH, -.dj_ie6 .claro .dijitSlider .dijitSliderLeftBumper, -.dj_ie6 .claro .dijitSlider .dijitSliderRemainingBarH, -.dj_ie6 .claro .dijitSlider .dijitSliderRightBumper, -.dj_ie6 .claro .dijitSlider .dijitSliderProgressBarV, -.dj_ie6 .claro .dijitSlider .dijitSliderTopBumper, -.dj_ie6 .claro .dijitSlider .dijitSliderRemainingBarV, -.dj_ie6 .claro .dijitSlider .dijitSliderBottomBumper { - background-image: none; -} -.claro .dijitColorPalette { - border: 1px solid #b5bcc7; - background: #ffffff; - -moz-border-radius: 0; - border-radius: 0; -} -.claro .dijitColorPalette .dijitPaletteImg { - - border: 1px solid #d3d3d3; -} -.claro .dijitColorPalette .dijitPaletteCellHover .dijitPaletteImg { - border: 1px solid #000000; -} -.claro .dijitColorPalette .dijitPaletteCellActive .dijitPaletteImg, .claro .dijitColorPalette .dijitPaletteCellSelected .dijitPaletteImg { - border: 2px solid #000000; -} -.claro .dijitInlineEditBoxDisplayMode { - border: 1px solid transparent; -} -.claro .dijitInlineEditBoxDisplayModeHover { - background-color: #e9f4fe; - border: solid 1px #769dc0; -} -.dj_ie6 .claro .dijitInlineEditBoxDisplayMode { - border: none; -} -.claro .dijitProgressBar { - margin: 2px 0 2px 0; -} -.claro .dijitProgressBarEmpty { - - background: #ffffff url(images/progressBarEmpty.png) repeat-none left; - border-color: #769dc0; -} -.claro .dijitProgressBarTile { - - background: #abd6ff url(images/progressBarFull.png) repeat-x top; -} -.dj_ie6 .claro .dijitProgressBarTile { - background-image: none; -} -.claro .dijitProgressBarFull { - border-right: 1px solid #769dc0; -} -.claro .dijitProgressBarLabel { - - color: #000000; -} -.claro .dijitProgressBarIndeterminate .dijitProgressBarTile { - - background: #efefef url(images/progressBarAnim.gif) repeat-x top; -} -.claro .dijitTimePicker .dijitButtonNode { - padding: 0 0; - -moz-border-radius: 0; - border-radius: 0; -} -.claro .dijitTimePicker { - border: 1px #b5bcc7 solid; - border-top: none; - border-bottom: none; - background-color: #fff; - -} -.claro .dijitTimePickerItem { - - background-image: url(images/commonHighlight.png); - background-position: 0 -1px; - background-repeat: repeat-x; - border-top: solid 1px #b5bcc7; - border-bottom: solid 1px #b5bcc7; - margin-right: -1px; - margin-left: -1px; - margin-top: -1px; -} -.dj_ie6 .claro .dijitTimePickerItem { - background-image: none; -} -.claro .dijitTimePickerTick { - - color: #818181; - background-color: #efefef; - font-size: 0.818em; -} -.claro .dijitTimePickerMarker { - - background-color: #e9f4fe; - font-size: 1em; - white-space: nowrap; -} -.claro .dijitTimePickerTickHover, -.claro .dijitTimePickerMarkerHover, -.claro .dijitTimePickerMarkerSelected, -.claro .dijitTimePickerTickSelected { - background-color: #7dbefa; - border: solid 1px #b5bcc7; - margin-left: -7px; - margin-right: -7px; - color: #000000; -} -.claro .dijitTimePickerMarkerSelected, .claro .dijitTimePickerTickSelected { - font-size: 1em; -} -.dj_ie .claro .dijitTimePickerTickHover, -.dj_ie .claro .dijitTimePickerMarkerHover, -.dj_ie .claro .dijitTimePickerMarkerSelected, -.dj_ie .claro .dijitTimePickerTickSelected { - width: 114%; -} -.dj_ie6 .claro .dijitTimePickerTickHover, -.dj_ie6 .claro .dijitTimePickerMarkerHover, -.dj_ie6 .claro .dijitTimePickerMarkerSelected, -.dj_ie6 .claro .dijitTimePickerTickSelected { - position: relative; - - zoom: 1; - -} -.claro .dijitTimePickerTick .dijitTimePickerItemInner { - padding: 1px; - margin: 0; -} -.claro .dijitTimePicker .dijitButtonNode { - border-left: none; - border-right: none; - border-color: #b5bcc7; - background-color: #efefef; - background-image: url(images/commonHighlight.png); - background-position: 0 -1px; - background-repeat: repeat-x; -} -.dj_ie6 .claro .dijitTimePicker .dijitButtonNode { - background-image: none; -} -.claro .dijitTimePicker .dijitArrowButtonInner { - height: 100%; - - background-image: url(form/images/commonFormArrows.png); - background-repeat: no-repeat; - background-position: -140px 45%; -} -.claro .dijitTimePicker .dijitDownArrowButton .dijitArrowButtonInner { - background-position: -35px 45%; -} -.claro .dijitTimePicker .dijitUpArrowHover, .claro .dijitTimePicker .dijitDownArrowHover { - background-color: #abd6ff; -} -.claro .dijitTimePicker .dijitUpArrowHover .dijitArrowButtonInner { - background-position: -175px 45%; -} -.claro .dijitTimePicker .dijitDownArrowHover .dijitArrowButtonInner { - background-position: -70px 45%; -} -.claro .dijitBorderContainer { - - padding: 5px; -} -.claro .dijitSplitContainer-child, .claro .dijitBorderContainer-child { - - border: 1px #b5bcc7 solid; -} -.claro .dijitBorderContainer-dijitTabContainerTop, -.claro .dijitBorderContainer-dijitTabContainerBottom, -.claro .dijitBorderContainer-dijitTabContainerLeft, -.claro .dijitBorderContainer-dijitTabContainerRight, -.claro .dijitBorderContainer-dijitAccordionContainer { - - border: none; -} -.claro .dijitBorderContainer-dijitBorderContainer { - - border: 0; - padding: 0; -} -.claro .dijitSplitterH, .claro .dijitGutterH { - background: none; - border: 0; - height: 5px; -} -.claro .dijitSplitterH .dijitSplitterThumb { - background: #b5bcc7 none; - height: 1px; - top: 2px; - width: 19px; -} -.claro .dijitSplitterV, .claro .dijitGutterV { - background: none; - border: 0; - width: 5px; - margin: 0; -} -.claro .dijitSplitterV .dijitSplitterThumb { - background: #b5bcc7 none; - height: 19px; - left: 2px; - width: 1px; - margin: 0; -} -.claro .dijitSplitterHHover { - font-size: 1px; - background: url(layout/images/splitterHorizontalHover.png) no-repeat center top; -} -.claro .dijitSplitterHHover .dijitSplitterThumb { - background: #769dc0 none; -} -.claro .dijitSplitterVHover { - font-size: 1px; - background: url(layout/images/splitterVerticalHover.png) no-repeat center left; -} -.claro .dijitSplitterVHover .dijitSplitterThumb { - background: #769dc0 none; -} -.dj_ie6 .dijitSplitterHHover, .dj_ie6 .claro .dijitSplitterVHover { - background-color: #cfe5fa; - background-image: none; -} -.claro .dijitSplitterHActive, .claro .dijitSplitterVActive { - font-size: 1px; - background-color: #abd6ff; -} -.claro .dijitTreeNode { - zoom: 1; - -} -.claro .dijitTreeIsRoot { - background-image: none; -} -.claro .dijitTreeRow, .claro .dijitTreeNode .dojoDndItemBefore, .claro .dijitTreeNode .dojoDndItemAfter { - - padding: 4px 1px 2px 0; - margin: 0 1px; - - background-color: none; - background-color: transparent; - background-color: rgba(171, 214, 255, 0); - background-image: url(images/commonHighlight.png); - background-position: 0 0; - background-repeat: repeat-x; - border-color: rgba(118, 157, 192, 0); - border-width: 0; - -webkit-transition-property: background-color, border-color; - -moz-transition-property: background-color, border-color; - transition-property: background-color, border-color; - -webkit-transition-duration: 0.25s; - -moz-transition-duration: 0.25s; - transition-duration: 0.25s; - -webkit-transition-timing-function: ease-out; - -moz-transition-timing-function: ease-out; - transition-timing-function: ease-out; -} -.dj_ie6 .claro .dijitTreeRow { - background-image: none; -} -.claro .dijitTreeRowSelected { - background-repeat: repeat-x; - background-color: #cfe5fa; - padding: 3px 0 1px; - margin: 0; - border: solid 1px #769dc0; - color: #000000; -} -.claro .dijitTreeRowHover { - background-color: #abd6ff; - padding: 3px 0 1px; - margin: 0; - border: solid 1px #769dc0; - color: #000000; - -webkit-transition-duration: 0.25s; - -moz-transition-duration: 0.25s; - transition-duration: 0.25s; -} -.claro .dijitTreeRowActive { - background-color: #7dbefa; - background-position: 0 -177px; - padding: 3px 0 1px; - margin-left: 0; - border: solid 1px #769dc0; - color: #000000; -} -.dj_ie6 .claro .dijitTreeRowActive { - background-image: none; -} -.claro .dijitTreeRowFocused { - background-repeat: repeat; -} -.claro .dijitTreeExpando { - background-image: url(images/treeExpandImages.png); - width: 16px; - height: 16px; - background-position: -35px 0; - -} -.dj_ie6 .claro .dijitTreeExpando { - background-image: url(images/treeExpandImages8bit.png); -} -.claro .dijitTreeRowHover .dijitTreeExpandoOpened { - background-position: -53px 0; -} -.claro .dijitTreeExpandoClosed { - background-position: 1px 0; -} -.claro .dijitTreeRowHover .dijitTreeExpandoClosed { - background-position: -17px 0; -} -.claro .dijitTreeExpandoLeaf, .dj_ie6 .claro .dijitTreeExpandoLeaf { - background-image: none; -} -.claro .dijitTreeExpandoLoading { - background-image: url(images/loadingAnimation.gif); -} -.claro .dijitTreeNode .dojoDndItemBefore .dijitTreeContent { - border-top: 2px solid #769dc0; -} -.claro .dijitTreeNode .dojoDndItemAfter .dijitTreeContent { - border-bottom: 2px solid #769dc0; -} - -.claro .dijitToolbar { - border-bottom: 1px solid #b5bcc7; - background-color: #efefef; - background-image: url(images/commonHighlight.png); - background-position: 0 0; - background-repeat: repeat-x; - padding: 2px 0 2px 4px; - zoom: 1; -} -.claro .dijitToolbar label { - padding: 0 3px 0 6px; -} -.claro .dijitToolbar .dijitButtonNode { - border-width: 0; - - padding: 2px; - -moz-border-radius: 2px; - border-radius: 2px; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - -webkit-transition-property: background-color; - -moz-transition-property: background-color; - transition-property: background-color; - -webkit-transition-duration: 0.3s, 0.35s; - -moz-transition-duration: 0.3s, 0.35s; - transition-duration: 0.3s, 0.35s; - background-image: url(images/commonHighlight.png); - background-position: 0 -30px; - background-repeat: repeat-x; - background-color: rgba(171, 214, 255, 0); -} -.dj_ie .claro .dijitToolbar .dijitButtonNode { - background-color: transparent; - -} -.dj_ie6 .claro .dijitToolbar .dijitButtonNode { - background: none; - -} -.claro .dijitToolbar .dijitComboButton .dijitStretch { - - -moz-border-radius: 2px 0 0 2px; - border-radius: 2px 0 0 2px; -} -.claro .dijitToolbar .dijitComboButton .dijitArrowButton { - - -moz-border-radius: 0 2px 2px 0; - border-radius: 0 2px 2px 0; -} -.claro .dijitToolbar .dijitComboBox .dijitButtonNode { - padding: 0; -} -.claro .dijitToolbar .dijitButtonHover .dijitButtonNode, -.claro .dijitToolbar .dijitDropDownButtonHover .dijitButtonNode, -.claro .dijitToolbar .dijitToggleButtonHover .dijitButtonNode, -.claro .dijitToolbar .dijitComboButtonHover .dijitButtonNode { - background-position: 0 0; - border-width: 1px; - background-color: #abd6ff; - padding: 1px; -} -.claro .dijitToolbar .dijitComboButtonHover .dijitButtonNode, .claro .dijitToolbar .dijitComboButtonHover .dijitDownArrowButton { - background-position: 0 0; - background-color: #f4ffff; -} -.claro .dijitToolbar .dijitComboButtonHover .dijitButtonNodeHover, .claro .dijitToolbar .dijitComboButtonHover .dijitDownArrowButtonHover { - background-color: #abd6ff; -} -.claro .dijitToolbar .dijitButtonActive .dijitButtonNode, .claro .dijitToolbar .dijitDropDownButtonActive .dijitButtonNode, .claro .dijitToolbar .dijitToggleButtonActive .dijitButtonNode { - border-width: 1px; - background-color: #7dbefa; - background-position: 0 -177px; - padding: 1px; -} -.claro .dijitToolbar .dijitComboButtonActive { - -webkit-transition-duration: 0.2s; - -moz-transition-duration: 0.2s; - transition-duration: 0.2s; - border-width: 1px; - padding: 0; -} -.claro .dijitToolbar .dijitComboButtonActive .dijitButtonNode, .claro .dijitToolbar .dijitComboButtonActive .dijitDownArrowButton { - background-color: #f4ffff; - background-position: 0 -177px; - padding: 2px; -} -.claro .dijitToolbar .dijitComboButtonActive .dijitButtonNodeActive { - background-color: #7dbefa; -} -.claro .dijitToolbar .dijitComboButtonActive .dijitDownArrowButtonActive { - background-color: #7dbefa; -} -.claro .dijitToolbar .dijitComboButtonHover .dijitDownArrowButton, .claro .dijitToolbar .dijitComboButtonActive .dijitDownArrowButton { - border-left-width: 0; -} -.claro .dijitToolbar .dijitComboButtonHover .dijitDownArrowButton { - padding-left: 2px; - -} -.claro .dijitToolbar .dijitToggleButtonChecked .dijitButtonNode { - margin: 0; - - border-width: 1px; - border-style: solid; - background-image: none; - border-color: #769dc0; - background-color: #ffffff; - padding: 1px; -} -.dj_ie6 .claro .dijitToolbar { - background-image: none; -} -.claro .dijitToolbarSeparator { - - background: url(../../icons/images/editorIconsEnabled.png); -} -.claro .dijitDisabled .dijitToolbar { - background: none; - background-color: #efefef; - border-bottom: 1px solid #d3d3d3; -} -.claro .dijitToolbar .dijitComboBoxDisabled .dijitArrowButtonInner { - background-position: 0 50%; -} -.claro .dijitEditorIFrameContainer { - padding: 3px 3px 1px 10px; -} -.claro .dijitEditorIFrame { - background-color: #ffffff; -} -.claro .dijitEditor { - border: 1px solid #b5bcc7; -} -.claro .dijitEditor .dijitEditorIFrameContainer { - background-color: #ffffff; - background-image: url(form/images/textBox_back.png); - background-repeat: repeat-x; -} -.dj_ie6 .claro .dijitEditor .dijitEditorIFrameContainer { - background-image: none; -} -.claro .dijitEditorHover .dijitEditorIFrameContainer, .claro .dijitEditorHover .dijitEditorIFrameContainer .dijitEditorIFrame { - background-color: #e9f4fe; -} -.claro .dijitEditorFocused .dijitEditorIFrameContainer, .claro .dijitEditorFocused .dijitEditorIFrameContainer .dijitEditorIFrame { - - background-color: #ffffff; -} -.claro .dijitEditorDisabled { - border: 1px solid #d3d3d3; - color: #818181; -} -.claro .dijitDisabled .dijitEditorIFrame, .claro .dijitDisabled .dijitEditorIFrameContainer, .claro .dijitDisabled .dijitEditorIFrameContainer .dijitEditorIFrame { - background-color: #efefef; - background-image: none; -} -.dijitEditorIcon { - background-image: url(../../icons/images/editorIconsEnabled.png); - background-repeat: no-repeat; - width: 18px; - height: 18px; - text-align: center; -} -.dijitDisabled .dijitEditorIcon { - background-image: url(../../icons/images/editorIconsDisabled.png); -} -.dijitEditorIconSep { background-position: 0px; } -.dijitEditorIconSave { background-position: -18px; } -.dijitEditorIconPrint { background-position: -36px; } -.dijitEditorIconCut { background-position: -54px; } -.dijitEditorIconCopy { background-position: -72px; } -.dijitEditorIconPaste { background-position: -90px; } -.dijitEditorIconDelete { background-position: -108px; } -.dijitEditorIconCancel { background-position: -126px; } -.dijitEditorIconUndo { background-position: -144px; } -.dijitEditorIconRedo { background-position: -162px; } -.dijitEditorIconSelectAll { background-position: -180px; } -.dijitEditorIconBold { background-position: -198px; } -.dijitEditorIconItalic { background-position: -216px; } -.dijitEditorIconUnderline { background-position: -234px; } -.dijitEditorIconStrikethrough { background-position: -252px; } -.dijitEditorIconSuperscript { background-position: -270px; } -.dijitEditorIconSubscript { background-position: -288px; } -.dijitEditorIconJustifyCenter { background-position: -306px; } -.dijitEditorIconJustifyFull { background-position: -324px; } -.dijitEditorIconJustifyLeft { background-position: -342px; } -.dijitEditorIconJustifyRight { background-position: -360px; } -.dijitEditorIconIndent { background-position: -378px; } -.dijitEditorIconOutdent { background-position: -396px; } -.dijitEditorIconListBulletIndent { background-position: -414px; } -.dijitEditorIconListBulletOutdent { background-position: -432px; } -.dijitEditorIconListNumIndent { background-position: -450px; } -.dijitEditorIconListNumOutdent { background-position: -468px; } -.dijitEditorIconTabIndent { background-position: -486px; } -.dijitEditorIconLeftToRight { background-position: -504px; } -.dijitEditorIconRightToLeft, .dijitEditorIconToggleDir { background-position: -522px; } -.dijitEditorIconBackColor { background-position: -540px; } -.dijitEditorIconForeColor { background-position: -558px; } -.dijitEditorIconHiliteColor { background-position: -576px; } -.dijitEditorIconNewPage { background-position: -594px; } -.dijitEditorIconInsertImage { background-position: -612px; } -.dijitEditorIconInsertTable { background-position: -630px; } -.dijitEditorIconSpace { background-position: -648px; } -.dijitEditorIconInsertHorizontalRule { background-position: -666px; } -.dijitEditorIconInsertOrderedList { background-position: -684px; } -.dijitEditorIconInsertUnorderedList { background-position: -702px; } -.dijitEditorIconCreateLink { background-position: -720px; } -.dijitEditorIconUnlink { background-position: -738px; } -.dijitEditorIconViewSource { background-position: -756px; } -.dijitEditorIconRemoveFormat { background-position: -774px; } -.dijitEditorIconFullScreen { background-position: -792px; } -.dijitEditorIconWikiword { background-position: -810px; } - -.claro .dijitTitlePaneTitle { - background-color: #efefef; - background-image: url(images/titlebar.png); - background-repeat: repeat-x; - border: 1px solid #b5bcc7; - padding: 0 7px 3px 7px; - min-height: 17px; -} -.dj_ie6 .claro .dijitTitlePaneTitle { - background-image: none; -} -.claro .dijitTitlePaneTitleHover { - background-color: #abd6ff; - border-color: #769dc0; -} -.claro .dijitTitlePaneTitleActive { - background-color: #7dbefa; - border-color: #769dc0; - background-position: 0 -136px; -} -.claro .dijitTitlePaneTitleFocus { - margin-top: 3px; - padding-bottom: 2px; -} -.claro .dijitTitlePane .dijitArrowNode { - background-image: url(images/spriteArrows.png); - background-repeat: no-repeat; - height: 8px; - width: 7px; -} -.claro .dijitTitlePane .dijitOpen .dijitArrowNode { - background-position: 0 0; -} -.claro .dijitTitlePane .dijitClosed .dijitArrowNode { - background-position: -14px 0; -} -.claro .dijitTitlePaneFocused .dijitTitlePaneTextNode { - color: #000000; - -} -.claro .dijitTitlePaneContentOuter { - background: #ffffff; - border: 1px solid #b5bcc7; - border-top: none; -} -.claro .dijitTitlePaneContentInner { - padding: 10px; -} -.claro .dijitTitlePaneTextNode { - margin-left: 4px; - margin-right: 4px; - vertical-align: text-top; -} -.claro .dijitSpinnerButtonContainer { - overflow: hidden; - position: relative; - width: auto; - padding: 0 2px; -} -.claro .dijitSpinnerButtonContainer .dijitSpinnerButtonInner { - border-width: 1px 0; - - border-style: solid none; -} -.claro .dijitSpinner .dijitArrowButton { - width: auto; - background-color: #efefef; - background-image: url(form/images/formHighlight.png); - background-position: 0 0; - background-repeat: repeat-x; - overflow: hidden; -} -.dj_iequirks .claro .dijitSpinner .dijitArrowButton { - overflow: visible; - -} -.claro .dijitSpinner .dijitSpinnerButtonInner { - width: 15px; -} -.claro .dijitSpinner .dijitArrowButtonInner { - border: solid 1px #ffffff; - border-bottom-width: 0; - - background-image: url(form/images/commonFormArrows.png); - background-repeat: no-repeat; - height: 100%; - width: 15px; - padding-left: 1px; - padding-right: 1px; - - background-position: -139px center; - - display: block; - margin: -1px 0 -1px 0; - -} -.dj_ie6 .claro .dijitSpinner .dijitArrowButtonInner, .dj_ie7 .claro .dijitSpinner .dijitArrowButtonInner { - margin-top: 0; - -} -.dj_iequirks .claro .dijitSpinner .dijitArrowButtonInner { - width: 19px; -} -.claro .dijitSpinner .dijitDownArrowButton .dijitArrowButtonInner { - background-position: -34px; -} -.claro .dijitSpinner .dijitArrowButtonInner .dijitInputField { - padding: 0; -} -.claro .dijitUpArrowButtonActive, .claro .dijitDownArrowButtonActive { - background-color: #abd6ff; -} -.claro .dijitSpinner .dijitUpArrowButtonHover, .claro .dijitSpinner .dijitDownArrowButtonHover, .claro .dijitSpinnerFocused .dijitArrowButton { - background-color: #abd6ff; -} -.claro .dijitSpinner .dijitUpArrowButtonHover .dijitArrowButtonInner { - background-position: -174px; -} -.claro .dijitSpinner .dijitDownArrowButtonHover .dijitArrowButtonInner { - background-position: -69px; -} -.claro .dijitSpinnerFocused { - background-color: #ffffff; - background-image: none; -} -.claro .dijitSpinner .dijitDownArrowButtonActive, .claro .dijitSpinner .dijitUpArrowButtonActive { - background-color: #7dbefa; - background-position: 0 -177px; -} -.claro .dijitSpinner .dijitUpArrowButtonActive .dijitArrowButtonInner, .claro .dijitSpinner .dijitDownArrowButtonActive .dijitArrowButtonInner { - - border: 0; - padding: 1px; - margin-right: 2px; - margin-bottom: 1px; -} -.claro .dijitSpinner .dijitUpArrowButtonActive .dijitArrowButtonInner { - background-position: -173px; -} -.claro .dijitSpinner .dijitDownArrowButtonActive .dijitArrowButtonInner { - background-position: -68px; -} -.claro .dijitSpinnerDisabled .dijitArrowButtonInner { - background-color: #efefef; -} -.claro .dijitSpinnerDisabled .dijitUpArrowButton .dijitArrowButtonInner { - background-position: -104px; -} -.claro .dijitSpinnerDisabled .dijitDownArrowButton .dijitArrowButtonInner { - background-position: 1px; -} -.dj_ie7 .claro .dijitSpinner { - overflow: visible; -} -.dijitRtl .dijitPlaceHolder { - left: auto; - right: 0; -} -.dijitMenuItemRtl { - text-align: right; -} -.dj_iequirks .dijitComboButtonRtl BUTTON { - - float:left; -} -.dijitTextBoxRtl .dijitValidationContainer, -.dijitTextBoxRtl .dijitSpinnerButtonContainer, -.dijitComboBoxRtl .dijitArrowButtonContainer { - - border-right-width: 1px !important; - border-left-width: 0 !important; -} -.dijitSpinnerRtl .dijitSpinnerButtonContainer .dijitArrowButton { - right: 0; - left: auto; -} -.dijitTextBoxRtl .dijitSpinnerButtonContainer, -.dijitTextBoxRtl .dijitValidationContainer, -.dijitTextBoxRtl .dijitArrowButtonContainer { - float: left; -} -.dijitCalendarRtl .dijitCalendarNextYear { - margin:0 0.55em 0 0; -} -.dijitCalendarRtl .dijitCalendarPreviousYear { - margin:0 0 0 0.55em; -} -.dijitSliderRtl .dijitSliderImageHandleV { - left:auto; -} -.dijitSliderRtl .dijitSliderImageHandleH { - left:-50%; -} -.dijitSliderRtl .dijitSliderMoveableH { - right:auto; - left:0; -} -.dijitSliderRtl .dijitRuleContainerV { - float:right; -} -.dj_ie .dijitSliderRtl .dijitRuleContainerV { - text-align:right; -} -.dj_ie .dijitSliderRtl .dijitRuleLabelV { - text-align:left; -} -.dj_ie .dijitSliderRtl .dijitRuleLabelH { - zoom:1; -} -.dijitSliderRtl .dijitSliderProgressBarH { - - float:right; - right:0; - left:auto; -} -.dijitRtl .dijitContentPaneLoading, .dijitRtl .dijitContentPaneError { - background-position:right; - padding-right:25px; -} -.dijitTabRtl .dijitTabCloseButton { - margin-left: 0; - margin-right: 1em; -} -.dj_ie .dijitTimePickerRtl .dijitTimePickerItem { - width:100%; -} -.dijitColorPaletteRtl .dijitColorPaletteUnder { - - left: auto; - right: 0; -} -.dijitSelectRtl .dijitButtonContents { - text-align: right; -} -.claro .dijitTextBoxRtlError .dijitValidationContainer { - border-left-width: 0; - border-right-width: 1px; -} -.claro .dijitComboButtonRtl .dijitStretch { - -moz-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} -.claro .dijitComboButtonRtl .dijitArrowButton { - -moz-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; - padding: 3px 0 4px; - border-left-width: 1px; - border-right-width: 0; -} -.claro .dijitTabContainerTop-tabs .dijitTabRtl, .claro .dijitTabContainerBottom-tabs .dijitTabRtl { - margin-right: 0; - margin-left: 1px; -} -.claro .dijitTabRtl { - -moz-box-orient: horizontal; - text-align: right; -} -.dj_ie7 .claro .dijitTabRtl .dijitTabContent { - display: block; - left: 0; -} -.dj_ie7 .claro .dijitTabContainerTop-tabs .dijitTabRtl, .dj_ie7 .claro .dijitTabContainerTop-tabs .dijitTabCheckedRtl { - top: 1px; -} -.dj_ie7 .claro .tabStripButtonRtl .dijitButtonContents, -.dj_ie8 .claro .tabStripButtonRtl .dijitButtonContents, -.dj_ie6 .claro .dijitTabContainerTop-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_ie6 .claro .dijitTabContainerBottom-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_ie7 .claro .dijitTabContainerTop-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_ie7 .claro .dijitTabContainerBottom-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_iequirks .claro .dijitTabContainerTop-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_iequirks .claro .dijitTabContainerBottom-tabs .dijitTabRtl .dijitTabInnerDiv { - float: left; -} -.dj_ie6 .claro .dijitTabRtl .tabLabel, -.dj_ie6 .claro .dijitTabContainerRight-tabs .dijitTabRtl, -.dj_ie6 .claro .dijitTabContainerLeft-tabs .dijitTabRtl, -.dj_ie7 .claro .dijitTabContainerRight-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_ie7 .claro .dijitTabContainerLeft-tabs .dijitTabRtl .dijitTabInnerDiv { - - zoom: 1; -} -.dj_ie6 .claro .dijitTabRtl .dijitTabCloseButton, .dj_ie7 .claro .dijitTabRtl .dijitTabCloseButton, .dj_iequirks .claro .dijitTabRtl .dijitTabCloseButton { - margin-right: 5px; -} -.dj_ie6 .claro .dijitTabContainerRightRtl .dijitTabContainerRight-tabs, .dj_ie6 .claro .dijitTabContainerLeftRtl .dijitTabContainerLeft-tabs { - width: 1%; -} -.dj_ie6 .dijitTabContainerTopStrip, .dj_ie6 .dijitTabContainerBottomStrip { - position: absolute; -} -.dj_iequirks .claro .dijitTabContainerTopRtl .dijitTabContainerTopStrip { - padding-top: 10px; -} -.dj_ie7 .claro .dijitTabContainerRight-tabs .dijitTabRtlChecked .dijitTabInnerDiv { - background-position: -341px -179px; -} -.dj_ie6 .dijitTabContainerTopRtl .dijitTabStripIcon, .dj_ie6 .dijitTabContainerBottomRtl .dijitTabStripIcon { - position: relative; -} -.dj_ie6-rtl .claro .dijitTabContainerTop-tabs { - - padding-left: 3px; -} -.dj_iequirks-rtl .claro .dijitTabListWrapper { - - border-left: 1px solid #ffffff; - border-right: 1px solid #ffffff; -} -.claro .dijitSliderRtl .dijitSliderProgressBarH, -.claro .dijitSliderRtl .dijitSliderRemainingBarH, -.claro .dijitSliderRtl .dijitSliderLeftBumper, -.claro .dijitSliderRtl .dijitSliderRightBumper, -.claro .dijitSliderRtl .dijitSliderTopBumper { - background-position: top right; -} -.claro .dijitSliderRtl .dijitSliderProgressBarV, .claro .dijitSliderRtl .dijitSliderRemainingBarV, .claro .dijitSliderRtl .dijitSliderBottomBumper { - background-position: bottom right; -} -.claro .dijitSliderRtl .dijitSliderLeftBumper { - border-left-width: 0; - border-right-width: 1px; -} -.claro .dijitSliderRtl .dijitSliderRightBumper { - border-left-width: 1px; - border-right-width: 0; -} -.claro .dijitSliderRtl .dijitSliderIncrementIconH { - background-position: -357px 50%; -} -.claro .dijitSliderRtl .dijitSliderDecrementIconH { - background-position: -251px 50%; -} -.claro .dijitSelectRtl .dijitButtonContents { - border-right-width: 0; - border-left-width: 1px; -} -.claro .dijitDialogRtl .dijitDialogCloseIcon { - right: auto; - left: 5px; -} -.claro .dijitDialogRtl .dijitDialogPaneActionBar { - text-align: left; - padding: 3px 7px 2px 5px; -} -.claro .dijitEditorRtl .dijitEditorIFrameContainer { - padding: 3px 10px 1px 3px; -} -.dijitEditorRtl .dijitEditorIcon { - background-image: url(../../icons/images/editorIconsEnabled_rtl.png); -} -.dijitEditorRtlDisabled .dijitEditorIcon { - background-image: url(../../icons/images/editorIconsDisabled_rtl.png); -} -.dijitToolbarRtl .dijitToolbarSeparator { - background-image: url(../../icons/images/editorIconsEnabled_rtl.png); -} -.dijitRtl .dijitIconSave, -.dijitRtl .dijitIconPrint, -.dijitRtl .dijitIconCut, -.dijitRtl .dijitIconCopy, -.dijitRtl .dijitIconClear, -.dijitRtl .dijitIconDelete, -.dijitRtl .dijitIconUndo, -.dijitRtl .dijitIconEdit, -.dijitRtl .dijitIconNewTask, -.dijitRtl .dijitIconEditTask, -.dijitRtl .dijitIconEditProperty, -.dijitRtl .dijitIconTask, -.dijitRtl .dijitIconFilter, -.dijitRtl .dijitIconConfigure, -.dijitRtl .dijitIconSearch, -.dijitRtl .dijitIconApplication, -.dijitRtl .dijitIconBookmark, -.dijitRtl .dijitIconChart, -.dijitRtl .dijitIconConnector, -.dijitRtl .dijitIconDatabase, -.dijitRtl .dijitIconDocuments, -.dijitRtl .dijitIconMail, -.dijitRtl .dijitLeaf, -.dijitRtl .dijitIconFile, -.dijitRtl .dijitIconFunction, -.dijitRtl .dijitIconKey, -.dijitRtl .dijitIconPackage, -.dijitRtl .dijitIconSample, -.dijitRtl .dijitIconTable, -.dijitRtl .dijitIconUsers, -.dijitRtl .dijitFolderClosed, -.dijitRtl .dijitIconFolderClosed, -.dijitRtl .dijitFolderOpened, -.dijitRtl .dijitIconFolderOpen, -.dijitRtl .dijitIconError, .dijitRtl .dijitContentPaneError { - background-image: url(../../icons/images/commonIconsObjActEnabled_rtl.png); - width: 16px; - height: 16px; -} -.dj_ie6 .dijitRtl .dijitIconSave, -.dj_ie6 .dijitRtl .dijitIconPrint, -.dj_ie6 .dijitRtl .dijitIconCut, -.dj_ie6 .dijitRtl .dijitIconCopy, -.dj_ie6 .dijitRtl .dijitIconClear, -.dj_ie6 .dijitRtl .dijitIconDelete, -.dj_ie6 .dijitRtl .dijitIconUndo, -.dj_ie6 .dijitRtl .dijitIconEdit, -.dj_ie6 .dijitRtl .dijitIconNewTask, -.dj_ie6 .dijitRtl .dijitIconEditTask, -.dj_ie6 .dijitRtl .dijitIconEditProperty, -.dj_ie6 .dijitRtl .dijitIconTask, -.dj_ie6 .dijitRtl .dijitIconFilter, -.dj_ie6 .dijitRtl .dijitIconConfigure, -.dj_ie6 .dijitRtl .dijitIconSearch, -.dj_ie6 .dijitRtl .dijitIconApplication, -.dj_ie6 .dijitRtl .dijitIconBookmark, -.dj_ie6 .dijitRtl .dijitIconChart, -.dj_ie6 .dijitRtl .dijitIconConnector, -.dj_ie6 .dijitRtl .dijitIconDatabase, -.dj_ie6 .dijitRtl .dijitIconDocuments, -.dj_ie6 .dijitRtl .dijitIconMail, -.dj_ie6 .dijitRtl .dijitLeaf, -.dj_ie6 .dijitRtl .dijitIconFile, -.dj_ie6 .dijitRtl .dijitIconFunction, -.dj_ie6 .dijitRtl .dijitIconKey, -.dj_ie6 .dijitRtl .dijitIconPackage, -.dj_ie6 .dijitRtl .dijitIconSample, -.dj_ie6 .dijitRtl .dijitIconTable, -.dj_ie6 .dijitRtl .dijitIconUsers, -.dj_ie6 .dijitRtl .dijitFolderClosed, -.dj_ie6 .dijitRtl .dijitIconFolderClosed, -.dj_ie6 .dijitRtl .dijitFolderOpened, -.dj_ie6 .dijitRtl .dijitIconFolderOpen, -.dj_ie6 .dijitRtl .dijitIconError, .dj_ie6 .dijitRtl .dijitContentPaneError { - background-image: url(../../icons/images/commonIconsObjActEnabled8bit_rtl.png); -} -.dijitRtl .dijitDisabled .dijitIconSave, -.dijitRtl .dijitDisabled .dijitIconPrint, -.dijitRtl .dijitDisabled .dijitIconCut, -.dijitRtl .dijitDisabled .dijitIconCopy, -.dijitRtl .dijitDisabled .dijitIconClear, -.dijitRtl .dijitDisabled .dijitIconDelete, -.dijitRtl .dijitDisabled .dijitIconUndo, -.dijitRtl .dijitDisabled .dijitIconEdit, -.dijitRtl .dijitDisabled .dijitIconNewTask, -.dijitRtl .dijitDisabled .dijitIconEditTask, -.dijitRtl .dijitDisabled .dijitIconEditProperty, -.dijitRtl .dijitDisabled .dijitIconTask, -.dijitRtl .dijitDisabled .dijitIconFilter, -.dijitRtl .dijitDisabled .dijitIconConfigure, -.dijitRtl .dijitDisabled .dijitIconSearch, -.dijitRtl .dijitDisabled .dijitIconApplication, -.dijitRtl .dijitDisabled .dijitIconBookmark, -.dijitRtl .dijitDisabled .dijitIconChart, -.dijitRtl .dijitDisabled .dijitIconConnector, -.dijitRtl .dijitDisabled .dijitIconDatabase, -.dijitRtl .dijitDisabled .dijitIconDocuments, -.dijitRtl .dijitDisabled .dijitIconMail, -.dijitRtl .dijitDisabled .dijitLeaf, -.dijitRtl .dijitDisabled .dijitIconFile, -.dijitRtl .dijitDisabled .dijitIconFunction, -.dijitRtl .dijitDisabled .dijitIconKey, -.dijitRtl .dijitDisabled .dijitIconPackage, -.dijitRtl .dijitDisabled .dijitIconSample, -.dijitRtl .dijitDisabled .dijitIconTable, -.dijitRtl .dijitDisabled .dijitIconUsers, -.dijitRtl .dijitDisabled .dijitFolderClosed, -.dijitRtl .dijitDisabled .dijitIconFolderClosed, -.dijitRtl .dijitDisabled .dijitFolderOpened, -.dijitRtl .dijitDisabled .dijitIconFolderOpen, -.dijitRtl .dijitDisabled .dijitIconError, .dijitRtl .dijitDisabled .dijitContentPaneError { - background-image: url(../../icons/images/commonIconsObjActDisabled_rtl.png); -} -.dijitRtl .dijitContentPaneLoading { - background:url(../../icons/images/loadingAnimation_rtl.gif) no-repeat; -} -.claro .dijitTitlePaneRtl .dijitClosed .dijitArrowNode { - background-position: -7px 0; -} -.claro .dijitMenuItemRtl .dijitMenuExpand { - background-position: -7px 0; - margin-right: 0; - margin-left: 3px; -} -.claro .dijitMenuItemRtl .dijitMenuItemIcon { - margin: 0 4px 0 0; -} -.claro .dijitCalendarRtl .dijitCalendarIncrease { - background-position: 0 0; -} -.claro .dijitCalendarRtl .dijitCalendarDecrease { - background-position: -18px 0; -} -.claro .dijitCalendarRtl .dijitCalendarArrowHover .dijitCalendarIncrease { - background-position: -36px 0; -} -.claro .dijitCalendarRtl .dijitCalendarArrowHover .dijitCalendarDecrease { - background-position: -55px 0; -} -.claro .dijitCalendarRtl .dijitCalendarArrowActive .dijitCalendarIncrease { - background-position: -72px 0; -} -.claro .dijitCalendarRtl .dijitCalendarArrowActive .dijitCalendarDecrease { - background-position: -91px 0; -} -.dj_ie .claro .dijitTimePickerRtl .dijitTimePickerTickHover, -.dj_ie .claro .dijitTimePickerRtl .dijitTimePickerMarkerHover, -.dj_ie .claro .dijitTimePickerRtl .dijitTimePickerMarkerSelected, -.dj_ie .claro .dijitTimePickerRtl .dijitTimePickerTickSelected { - margin-left: -6px; - margin-right: -8px; - width: 114%; -} -.claro .dijitToolbar .dijitComboButtonRtl .dijitButtonNode { - border-width: 0; - padding: 2px; -} -.claro .dijitToolbar .dijitComboButtonRtlHover .dijitButtonNode, .claro .dijitToolbar .dijitComboButtonRtlActive .dijitButtonNode { - border-width: 1px; - padding: 1px; -} -.claro .dijitToolbar .dijitComboButtonRtl .dijitStretch { - - -moz-border-radius: 0 2px 2px 0; - border-radius: 0 2px 2px 0; -} -.claro .dijitToolbar .dijitComboButtonRtl .dijitArrowButton { - - -moz-border-radius: 2px 0 0 2px; - border-radius: 2px 0 0 2px; -} -.claro .dijitToolbar .dijitComboButtonRtlHover .dijitArrowButton, .claro .dijitToolbar .dijitComboButtonRtlActive .dijitArrowButton { - - border-left-width: 1px; - border-right-width: 0; - padding-left: 1px; - padding-right: 2px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/claro_rtl.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/claro_rtl.css deleted file mode 100644 index 08924dae..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/claro_rtl.css +++ /dev/null @@ -1,382 +0,0 @@ - -.dijitRtl .dijitPlaceHolder { - left: auto; - right: 0; -} -.dijitMenuItemRtl { - text-align: right; -} -.dj_iequirks .dijitComboButtonRtl BUTTON { - - float:left; -} -.dijitTextBoxRtl .dijitValidationContainer, -.dijitTextBoxRtl .dijitSpinnerButtonContainer, -.dijitComboBoxRtl .dijitArrowButtonContainer { - - border-right-width: 1px !important; - border-left-width: 0 !important; -} -.dijitSpinnerRtl .dijitSpinnerButtonContainer .dijitArrowButton { - right: 0; - left: auto; -} -.dijitTextBoxRtl .dijitSpinnerButtonContainer, -.dijitTextBoxRtl .dijitValidationContainer, -.dijitTextBoxRtl .dijitArrowButtonContainer { - float: left; -} -.dijitCalendarRtl .dijitCalendarNextYear { - margin:0 0.55em 0 0; -} -.dijitCalendarRtl .dijitCalendarPreviousYear { - margin:0 0 0 0.55em; -} -.dijitSliderRtl .dijitSliderImageHandleV { - left:auto; -} -.dijitSliderRtl .dijitSliderImageHandleH { - left:-50%; -} -.dijitSliderRtl .dijitSliderMoveableH { - right:auto; - left:0; -} -.dijitSliderRtl .dijitRuleContainerV { - float:right; -} -.dj_ie .dijitSliderRtl .dijitRuleContainerV { - text-align:right; -} -.dj_ie .dijitSliderRtl .dijitRuleLabelV { - text-align:left; -} -.dj_ie .dijitSliderRtl .dijitRuleLabelH { - zoom:1; -} -.dijitSliderRtl .dijitSliderProgressBarH { - - float:right; - right:0; - left:auto; -} -.dijitRtl .dijitContentPaneLoading, .dijitRtl .dijitContentPaneError { - background-position:right; - padding-right:25px; -} -.dijitTabRtl .dijitTabCloseButton { - margin-left: 0; - margin-right: 1em; -} -.dj_ie .dijitTimePickerRtl .dijitTimePickerItem { - width:100%; -} -.dijitColorPaletteRtl .dijitColorPaletteUnder { - - left: auto; - right: 0; -} -.dijitSelectRtl .dijitButtonContents { - text-align: right; -} -.claro .dijitTextBoxRtlError .dijitValidationContainer { - border-left-width: 0; - border-right-width: 1px; -} -.claro .dijitComboButtonRtl .dijitStretch { - -moz-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} -.claro .dijitComboButtonRtl .dijitArrowButton { - -moz-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; - padding: 3px 0 4px; - border-left-width: 1px; - border-right-width: 0; -} -.claro .dijitTabContainerTop-tabs .dijitTabRtl, .claro .dijitTabContainerBottom-tabs .dijitTabRtl { - margin-right: 0; - margin-left: 1px; -} -.claro .dijitTabRtl { - -moz-box-orient: horizontal; - text-align: right; -} -.dj_ie7 .claro .dijitTabRtl .dijitTabContent { - display: block; - left: 0; -} -.dj_ie7 .claro .dijitTabContainerTop-tabs .dijitTabRtl, .dj_ie7 .claro .dijitTabContainerTop-tabs .dijitTabCheckedRtl { - top: 1px; -} -.dj_ie7 .claro .tabStripButtonRtl .dijitButtonContents, -.dj_ie8 .claro .tabStripButtonRtl .dijitButtonContents, -.dj_ie6 .claro .dijitTabContainerTop-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_ie6 .claro .dijitTabContainerBottom-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_ie7 .claro .dijitTabContainerTop-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_ie7 .claro .dijitTabContainerBottom-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_iequirks .claro .dijitTabContainerTop-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_iequirks .claro .dijitTabContainerBottom-tabs .dijitTabRtl .dijitTabInnerDiv { - float: left; -} -.dj_ie6 .claro .dijitTabRtl .tabLabel, -.dj_ie6 .claro .dijitTabContainerRight-tabs .dijitTabRtl, -.dj_ie6 .claro .dijitTabContainerLeft-tabs .dijitTabRtl, -.dj_ie7 .claro .dijitTabContainerRight-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_ie7 .claro .dijitTabContainerLeft-tabs .dijitTabRtl .dijitTabInnerDiv { - - zoom: 1; -} -.dj_ie6 .claro .dijitTabRtl .dijitTabCloseButton, .dj_ie7 .claro .dijitTabRtl .dijitTabCloseButton, .dj_iequirks .claro .dijitTabRtl .dijitTabCloseButton { - margin-right: 5px; -} -.dj_ie6 .claro .dijitTabContainerRightRtl .dijitTabContainerRight-tabs, .dj_ie6 .claro .dijitTabContainerLeftRtl .dijitTabContainerLeft-tabs { - width: 1%; -} -.dj_ie6 .dijitTabContainerTopStrip, .dj_ie6 .dijitTabContainerBottomStrip { - position: absolute; -} -.dj_iequirks .claro .dijitTabContainerTopRtl .dijitTabContainerTopStrip { - padding-top: 10px; -} -.dj_ie7 .claro .dijitTabContainerRight-tabs .dijitTabRtlChecked .dijitTabInnerDiv { - background-position: -341px -179px; -} -.dj_ie6 .dijitTabContainerTopRtl .dijitTabStripIcon, .dj_ie6 .dijitTabContainerBottomRtl .dijitTabStripIcon { - position: relative; -} -.dj_ie6-rtl .claro .dijitTabContainerTop-tabs { - - padding-left: 3px; -} -.dj_iequirks-rtl .claro .dijitTabListWrapper { - - border-left: 1px solid #ffffff; - border-right: 1px solid #ffffff; -} -.claro .dijitSliderRtl .dijitSliderProgressBarH, -.claro .dijitSliderRtl .dijitSliderRemainingBarH, -.claro .dijitSliderRtl .dijitSliderLeftBumper, -.claro .dijitSliderRtl .dijitSliderRightBumper, -.claro .dijitSliderRtl .dijitSliderTopBumper { - background-position: top right; -} -.claro .dijitSliderRtl .dijitSliderProgressBarV, .claro .dijitSliderRtl .dijitSliderRemainingBarV, .claro .dijitSliderRtl .dijitSliderBottomBumper { - background-position: bottom right; -} -.claro .dijitSliderRtl .dijitSliderLeftBumper { - border-left-width: 0; - border-right-width: 1px; -} -.claro .dijitSliderRtl .dijitSliderRightBumper { - border-left-width: 1px; - border-right-width: 0; -} -.claro .dijitSliderRtl .dijitSliderIncrementIconH { - background-position: -357px 50%; -} -.claro .dijitSliderRtl .dijitSliderDecrementIconH { - background-position: -251px 50%; -} -.claro .dijitSelectRtl .dijitButtonContents { - border-right-width: 0; - border-left-width: 1px; -} -.claro .dijitDialogRtl .dijitDialogCloseIcon { - right: auto; - left: 5px; -} -.claro .dijitDialogRtl .dijitDialogPaneActionBar { - text-align: left; - padding: 3px 7px 2px 5px; -} -.claro .dijitEditorRtl .dijitEditorIFrameContainer { - padding: 3px 10px 1px 3px; -} -.dijitEditorRtl .dijitEditorIcon { - background-image: url(../../icons/images/editorIconsEnabled_rtl.png); -} -.dijitEditorRtlDisabled .dijitEditorIcon { - background-image: url(../../icons/images/editorIconsDisabled_rtl.png); -} -.dijitToolbarRtl .dijitToolbarSeparator { - background-image: url(../../icons/images/editorIconsEnabled_rtl.png); -} -.dijitRtl .dijitIconSave, -.dijitRtl .dijitIconPrint, -.dijitRtl .dijitIconCut, -.dijitRtl .dijitIconCopy, -.dijitRtl .dijitIconClear, -.dijitRtl .dijitIconDelete, -.dijitRtl .dijitIconUndo, -.dijitRtl .dijitIconEdit, -.dijitRtl .dijitIconNewTask, -.dijitRtl .dijitIconEditTask, -.dijitRtl .dijitIconEditProperty, -.dijitRtl .dijitIconTask, -.dijitRtl .dijitIconFilter, -.dijitRtl .dijitIconConfigure, -.dijitRtl .dijitIconSearch, -.dijitRtl .dijitIconApplication, -.dijitRtl .dijitIconBookmark, -.dijitRtl .dijitIconChart, -.dijitRtl .dijitIconConnector, -.dijitRtl .dijitIconDatabase, -.dijitRtl .dijitIconDocuments, -.dijitRtl .dijitIconMail, -.dijitRtl .dijitLeaf, -.dijitRtl .dijitIconFile, -.dijitRtl .dijitIconFunction, -.dijitRtl .dijitIconKey, -.dijitRtl .dijitIconPackage, -.dijitRtl .dijitIconSample, -.dijitRtl .dijitIconTable, -.dijitRtl .dijitIconUsers, -.dijitRtl .dijitFolderClosed, -.dijitRtl .dijitIconFolderClosed, -.dijitRtl .dijitFolderOpened, -.dijitRtl .dijitIconFolderOpen, -.dijitRtl .dijitIconError, .dijitRtl .dijitContentPaneError { - background-image: url(../../icons/images/commonIconsObjActEnabled_rtl.png); - width: 16px; - height: 16px; -} -.dj_ie6 .dijitRtl .dijitIconSave, -.dj_ie6 .dijitRtl .dijitIconPrint, -.dj_ie6 .dijitRtl .dijitIconCut, -.dj_ie6 .dijitRtl .dijitIconCopy, -.dj_ie6 .dijitRtl .dijitIconClear, -.dj_ie6 .dijitRtl .dijitIconDelete, -.dj_ie6 .dijitRtl .dijitIconUndo, -.dj_ie6 .dijitRtl .dijitIconEdit, -.dj_ie6 .dijitRtl .dijitIconNewTask, -.dj_ie6 .dijitRtl .dijitIconEditTask, -.dj_ie6 .dijitRtl .dijitIconEditProperty, -.dj_ie6 .dijitRtl .dijitIconTask, -.dj_ie6 .dijitRtl .dijitIconFilter, -.dj_ie6 .dijitRtl .dijitIconConfigure, -.dj_ie6 .dijitRtl .dijitIconSearch, -.dj_ie6 .dijitRtl .dijitIconApplication, -.dj_ie6 .dijitRtl .dijitIconBookmark, -.dj_ie6 .dijitRtl .dijitIconChart, -.dj_ie6 .dijitRtl .dijitIconConnector, -.dj_ie6 .dijitRtl .dijitIconDatabase, -.dj_ie6 .dijitRtl .dijitIconDocuments, -.dj_ie6 .dijitRtl .dijitIconMail, -.dj_ie6 .dijitRtl .dijitLeaf, -.dj_ie6 .dijitRtl .dijitIconFile, -.dj_ie6 .dijitRtl .dijitIconFunction, -.dj_ie6 .dijitRtl .dijitIconKey, -.dj_ie6 .dijitRtl .dijitIconPackage, -.dj_ie6 .dijitRtl .dijitIconSample, -.dj_ie6 .dijitRtl .dijitIconTable, -.dj_ie6 .dijitRtl .dijitIconUsers, -.dj_ie6 .dijitRtl .dijitFolderClosed, -.dj_ie6 .dijitRtl .dijitIconFolderClosed, -.dj_ie6 .dijitRtl .dijitFolderOpened, -.dj_ie6 .dijitRtl .dijitIconFolderOpen, -.dj_ie6 .dijitRtl .dijitIconError, .dj_ie6 .dijitRtl .dijitContentPaneError { - background-image: url(../../icons/images/commonIconsObjActEnabled8bit_rtl.png); -} -.dijitRtl .dijitDisabled .dijitIconSave, -.dijitRtl .dijitDisabled .dijitIconPrint, -.dijitRtl .dijitDisabled .dijitIconCut, -.dijitRtl .dijitDisabled .dijitIconCopy, -.dijitRtl .dijitDisabled .dijitIconClear, -.dijitRtl .dijitDisabled .dijitIconDelete, -.dijitRtl .dijitDisabled .dijitIconUndo, -.dijitRtl .dijitDisabled .dijitIconEdit, -.dijitRtl .dijitDisabled .dijitIconNewTask, -.dijitRtl .dijitDisabled .dijitIconEditTask, -.dijitRtl .dijitDisabled .dijitIconEditProperty, -.dijitRtl .dijitDisabled .dijitIconTask, -.dijitRtl .dijitDisabled .dijitIconFilter, -.dijitRtl .dijitDisabled .dijitIconConfigure, -.dijitRtl .dijitDisabled .dijitIconSearch, -.dijitRtl .dijitDisabled .dijitIconApplication, -.dijitRtl .dijitDisabled .dijitIconBookmark, -.dijitRtl .dijitDisabled .dijitIconChart, -.dijitRtl .dijitDisabled .dijitIconConnector, -.dijitRtl .dijitDisabled .dijitIconDatabase, -.dijitRtl .dijitDisabled .dijitIconDocuments, -.dijitRtl .dijitDisabled .dijitIconMail, -.dijitRtl .dijitDisabled .dijitLeaf, -.dijitRtl .dijitDisabled .dijitIconFile, -.dijitRtl .dijitDisabled .dijitIconFunction, -.dijitRtl .dijitDisabled .dijitIconKey, -.dijitRtl .dijitDisabled .dijitIconPackage, -.dijitRtl .dijitDisabled .dijitIconSample, -.dijitRtl .dijitDisabled .dijitIconTable, -.dijitRtl .dijitDisabled .dijitIconUsers, -.dijitRtl .dijitDisabled .dijitFolderClosed, -.dijitRtl .dijitDisabled .dijitIconFolderClosed, -.dijitRtl .dijitDisabled .dijitFolderOpened, -.dijitRtl .dijitDisabled .dijitIconFolderOpen, -.dijitRtl .dijitDisabled .dijitIconError, .dijitRtl .dijitDisabled .dijitContentPaneError { - background-image: url(../../icons/images/commonIconsObjActDisabled_rtl.png); -} -.dijitRtl .dijitContentPaneLoading { - background:url(../../icons/images/loadingAnimation_rtl.gif) no-repeat; -} -.claro .dijitTitlePaneRtl .dijitClosed .dijitArrowNode { - background-position: -7px 0; -} -.claro .dijitMenuItemRtl .dijitMenuExpand { - background-position: -7px 0; - margin-right: 0; - margin-left: 3px; -} -.claro .dijitMenuItemRtl .dijitMenuItemIcon { - margin: 0 4px 0 0; -} -.claro .dijitCalendarRtl .dijitCalendarIncrease { - background-position: 0 0; -} -.claro .dijitCalendarRtl .dijitCalendarDecrease { - background-position: -18px 0; -} -.claro .dijitCalendarRtl .dijitCalendarArrowHover .dijitCalendarIncrease { - background-position: -36px 0; -} -.claro .dijitCalendarRtl .dijitCalendarArrowHover .dijitCalendarDecrease { - background-position: -55px 0; -} -.claro .dijitCalendarRtl .dijitCalendarArrowActive .dijitCalendarIncrease { - background-position: -72px 0; -} -.claro .dijitCalendarRtl .dijitCalendarArrowActive .dijitCalendarDecrease { - background-position: -91px 0; -} -.dj_ie .claro .dijitTimePickerRtl .dijitTimePickerTickHover, -.dj_ie .claro .dijitTimePickerRtl .dijitTimePickerMarkerHover, -.dj_ie .claro .dijitTimePickerRtl .dijitTimePickerMarkerSelected, -.dj_ie .claro .dijitTimePickerRtl .dijitTimePickerTickSelected { - margin-left: -6px; - margin-right: -8px; - width: 114%; -} -.claro .dijitToolbar .dijitComboButtonRtl .dijitButtonNode { - border-width: 0; - padding: 2px; -} -.claro .dijitToolbar .dijitComboButtonRtlHover .dijitButtonNode, .claro .dijitToolbar .dijitComboButtonRtlActive .dijitButtonNode { - border-width: 1px; - padding: 1px; -} -.claro .dijitToolbar .dijitComboButtonRtl .dijitStretch { - - -moz-border-radius: 0 2px 2px 0; - border-radius: 0 2px 2px 0; -} -.claro .dijitToolbar .dijitComboButtonRtl .dijitArrowButton { - - -moz-border-radius: 2px 0 0 2px; - border-radius: 2px 0 0 2px; -} -.claro .dijitToolbar .dijitComboButtonRtlHover .dijitArrowButton, .claro .dijitToolbar .dijitComboButtonRtlActive .dijitArrowButton { - - border-left-width: 1px; - border-right-width: 0; - padding-left: 1px; - padding-right: 2px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/compile.js b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/compile.js deleted file mode 100644 index 540fa233..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/compile.js +++ /dev/null @@ -1,41 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -require.paths.unshift("/opt/less/lib","C:/less/lib"); -var fs=require("fs"),path=require("path"),less=require("less"); -var options={compress:false,optimization:1,silent:false}; -var allFiles=[].concat(fs.readdirSync("."),fs.readdirSync("form").map(function(_1){ -return "form/"+_1; -}),fs.readdirSync("layout").map(function(_2){ -return "layout/"+_2; -})),lessFiles=allFiles.filter(function(_3){ -return _3&&_3!="variables.less"&&/\.less$/.test(_3); -}); -lessFiles.forEach(function(_4){ -fs.readFile(_4,"utf-8",function(e,_5){ -if(e){ -console.error("lessc: "+e.message); -process.exit(1); -} -new (less.Parser)({paths:[path.dirname(_4)],optimization:options.optimization,filename:_4}).parse(_5,function(_6,_7){ -if(_6){ -less.writeError(_6,options); -process.exit(1); -}else{ -try{ -var _8=_7.toCSS({compress:options.compress}),_9=_4.replace(".less",".css"); -fd=fs.openSync(_9,"w"); -fs.writeSync(fd,_8,0,"utf8"); -} -catch(e){ -less.writeError(e,options); -process.exit(2); -} -} -}); -}); -}); diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/document.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/document.css deleted file mode 100644 index ab073de1..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/document.css +++ /dev/null @@ -1,133 +0,0 @@ - -body, div, dl, dt, dd, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td { - margin: 0; - padding: 0; -} -fieldset, img { - border: 0 none; -} -address, caption, cite, code, dfn, th, var { - font-style: normal; - font-weight: normal; -} -caption, th { - text-align: left; -} -q:before, q:after { - content:""; -} -abbr, acronym { - border:0; -} -body { - font: 12px Myriad,Helvetica,Tahoma,Arial,clean,sans-serif; - *font-size: 75%; -} -h1 { - font-size: 1.5em; - font-weight: normal; - line-height: 1em; - margin-top: 1em; - margin-bottom:0; -} -h2 { - font-size: 1.1667em; - font-weight: bold; - line-height: 1.286em; - margin-top: 1.929em; - margin-bottom:0.643em; -} -h3, h4, h5, h6 { - font-size: 1em; - font-weight: bold; - line-height: 1.5em; - margin-top: 1.5em; - margin-bottom: 0; -} -p { - font-size: 1em; - margin-top: 1.5em; - margin-bottom: 1.5em; - line-height: 1.5em; -} -blockquote { - font-size: 0.916em; - margin-top: 3.272em; - margin-bottom: 3.272em; - line-height: 1.636em; - padding: 1.636em; - border-top: 1px solid #ccc; - border-bottom: 1px solid #ccc; -} -ol li, ul li { - font-size: 1em; - line-height: 1.5em; - margin: 0; -} -pre, code { - font-size:115%; - *font-size:100%; - font-family: Courier, "Courier New"; - background-color: #efefef; - border: 1px solid #ccc; -} -pre { - border-width: 1px 0; - padding: 1.5em; -} -table { font-size:100%; } -.dojoTabular { - border-collapse: collapse; - border-spacing: 0; - border: 1px solid #ccc; - margin: 0 1.5em; -} -.dojoTabular th { - text-align: center; - font-weight: bold; -} -.dojoTabular thead, -.dojoTabular tfoot { - background-color: #efefef; - border: 1px solid #ccc; - border-width: 1px 0; -} -.dojoTabular th, -.dojoTabular td { - padding: 0.25em 0.5em; -} -.claro { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: .688em; - color: #131313; -} -.claro h1 { - font-size: 1.545em; - margin-bottom: 0.727em; -} -.claro h2 { - font-size: 1.364em; - line-height: 1.455em; - margin-top: 1em; - margin-bottom: 0.60em; - font-weight: normal; -} -.claro h3, -.claro h4, -.claro h5, -.claro h6 { - font-size: 1.091em; - font-weight: normal; -} -.claro p { - line-height: 1.3em; -} -.claro pre, .claro code { - font-family: inherit; - background-color: #efefef; - border: 1px solid #d3d3d3; -} -.claro table.dojoTabular thead, .claro table.dojoTabular tfoot { - background-color: #efefef; - border: 1px solid #d3d3d3; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/document.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/document.less deleted file mode 100644 index 7f863567..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/document.less +++ /dev/null @@ -1,45 +0,0 @@ -/* ======= Styling for the document itself (overriding dojo.css) ======== */ - -@import "variables"; -@import url("../../../dojo/resources/dojo.css"); - -.claro { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: .688em; - color: @document-text-color; -} - -/* Headings */ -.claro h1 { - font-size: 1.545em; - margin-bottom:0.727em; -} -.claro h2 { - font-size: 1.364em; - line-height: 1.455em; - margin-top:1em; - margin-bottom:0.60em; - font-weight: normal; -} -.claro h3, .claro h4, .claro h5, .claro h6 { - font-size:1.091em; - font-weight: normal; -} - -/* paragraphs, quotes and lists */ -.claro p { - line-height: 1.3em; -} - -/* pre and code */ -.claro pre, .claro code { - font-family:inherit; - background-color: @document-shadedsection-background-color; - border: 1px solid @document-border-color; -} - -/* tables */ -.claro table.dojoTabular thead, .claro table.dojoTabular tfoot { - background-color: @document-shadedsection-background-color; - border: 1px solid @document-border-color; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Button.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Button.css deleted file mode 100644 index 2a75590f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Button.css +++ /dev/null @@ -1,125 +0,0 @@ - -.claro .dijitButtonNode { - - -webkit-transition-property: background-color; - -moz-transition-property: background-color; - transition-property: background-color; - -webkit-transition-duration: 0.3s; - -moz-transition-duration: 0.3s; - transition-duration: 0.3s; -} -.claro .dijitButton .dijitButtonNode, -.claro .dijitDropDownButton .dijitButtonNode, -.claro .dijitComboButton .dijitButtonNode, -.claro .dijitToggleButton .dijitButtonNode { - - border: 1px solid #769dc0; - padding: 2px 4px 4px 4px; - background-image: url("images/button.png"); - background-position: center top; - background-repeat: repeat-x; - background-color: #e9f4fe; - -moz-border-radius: 4px; - border-radius: 4px; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15); - -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15); - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15); -} -.claro .dijitComboButton .dijitArrowButton { - border-left-width: 0; - padding: 4px 2px 4px 2px; - -} -.claro .dijitArrowButtonInner { - width: 15px; - height: 15px; - margin: 0 auto; - background-image: url("images/buttonArrows.png"); - background-repeat: no-repeat; - background-position: -51px 53%; -} -.claro .dijitLeftArrowButton .dijitArrowButtonInner { - background-position: -77px 53%; -} -.claro .dijitRightArrowButton .dijitArrowButtonInner { - background-position: -26px 53%; -} -.claro .dijitUpArrowButton .dijitArrowButtonInner { - background-position: 0 53%; -} -.claro .dijitDisabled .dijitArrowButtonInner { - background-position: -151px 53%; -} -.claro .dijitDisabled .dijitLeftArrowButton .dijitArrowButtonInner { - background-position: -177px 53%; -} -.claro .dijitDisabled .dijitRightArrowButton .dijitArrowButtonInner { - background-position: -126px 53%; -} -.claro .dijitDisabled .dijitUpArrowButton .dijitArrowButtonInner { - background-position: -100px 53%; -} -.claro .dijitButtonText { - padding: 0 0.3em; - text-align: center; -} -.claro .dijitButtonHover .dijitButtonNode, -.claro .dijitDropDownButtonHover .dijitButtonNode, -.claro .dijitComboButton .dijitButtonNodeHover, -.claro .dijitComboButton .dijitDownArrowButtonHover, -.claro .dijitToggleButtonHover .dijitButtonNode { - background-color: #abd6ff; - color: #000000; - -webkit-transition-duration: 0.2s; - -moz-transition-duration: 0.2s; - transition-duration: 0.2s; -} -.claro .dijitButtonActive .dijitButtonNode, -.claro .dijitDropDownButtonActive .dijitButtonNode, -.claro .dijitComboButtonActive .dijitButtonNode, -.claro .dijitToggleButtonActive .dijitButtonNode { - background-color: #abd6ff; - -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - -moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - box-shadow: 0 0 0 rgba(0, 0, 0, 0); - -webkit-transition-duration: 0.1s; - -moz-transition-duration: 0.1s; - transition-duration: 0.1s; -} -.claro .dijitButtonDisabled, -.claro .dijitDropDownButtonDisabled, -.claro .dijitComboButtonDisabled, -.claro .dijitToggleButtonDisabled { - background-image: none; - outline: none; -} -.claro .dijitButtonDisabled .dijitButtonNode, -.claro .dijitDropDownButtonDisabled .dijitButtonNode, -.claro .dijitComboButtonDisabled .dijitButtonNode, -.claro .dijitToggleButtonDisabled .dijitButtonNode { - background-position: 0 -149px; - background-color: #efefef; - border: solid 1px #d3d3d3; - color: #818181; - -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - -moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - box-shadow: 0 0 0 rgba(0, 0, 0, 0); -} -.claro .dijitComboButtonDisabled .dijitArrowButton { - border-left-width: 0; -} -.claro table.dijitComboButton { - border-collapse: separate; - -} -.dj_ie6 .claro .dijitButtonNode { - background-image: none; -} -.claro .dijitComboButton .dijitStretch { - -moz-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; -} -.claro .dijitComboButton .dijitArrowButton { - -moz-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Button.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Button.less deleted file mode 100644 index b076d2a1..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Button.less +++ /dev/null @@ -1,154 +0,0 @@ -/* Button | DropDownButton | ComboButton | ToggleButton - * - * Styling Buttons mainly includes: - * - * 1. Containers - * .dijitButton - * .dijitDropDownButton - * .dijitComboButton - * .dijitButtonNode - common button/arrow wrapper shared across all three button types - * - * 2. Button text - * .dijitButtonText - * - * 3. Arrows - only for DropDownButton and ComboButton - * There are total four directions arrows - down, left, right, up: - * .dijitArrowButtonInner - down arrow by default - * .dijitLeftArrowButton .dijitArrowButtonInner - left arrow - * .dijitRightArrowButton .dijitArrowButtonInner - right arrow - * .dijitUpArrowButton .dijitArrowButtonInner - up arrow - * - * 4. States - Hover, Active, Disabled, e.g. - * .dijitButtonHover .dijitButtonNode - * .dijitButtonActive .dijitButtonNode - * .dijitButtonDisabled .dijitButtonNode - * - * .dijitDisabled .dijitArrowButtonInner - disabled arrow states - */ - -@import "../variables"; - -.claro .dijitButtonNode { - /* rules for dijit.form.*Button widgets and arrow nodes on ComboBox, Spinner etc. */ - .transition-property(background-color); - .transition-duration(.3s); -} - -.claro .dijitButton .dijitButtonNode, -.claro .dijitDropDownButton .dijitButtonNode, -.claro .dijitComboButton .dijitButtonNode, -.claro .dijitToggleButton .dijitButtonNode { - /* rules for the dijit.form.*Button widgets (see also ComboButton section below) */ - border: 1px solid @button-border-color; - padding:2px 4px 4px 4px; - background-image: url("images/button.png"); - background-position: center top; - background-repeat: repeat-x; - background-color: @button-background-color; - .border-radius(@button-border-radius); - .box-shadow(0 1px 1px rgba(0,0,0,0.15)); -} - -.claro .dijitComboButton .dijitArrowButton { - border-left-width: 0; - padding: 4px 2px 4px 2px; /* TODO: still needed? */ -} - -/*arrow styles for down/up/left/right directions*/ -.claro .dijitArrowButtonInner { - width: 15px; - height: 15px; - margin: 0 auto; - background-image:url("images/buttonArrows.png"); - background-repeat:no-repeat; - background-position:-51px 53%; -} -.claro .dijitLeftArrowButton .dijitArrowButtonInner { - background-position: -77px 53%; -} -.claro .dijitRightArrowButton .dijitArrowButtonInner { - background-position: -26px 53%; -} -.claro .dijitUpArrowButton .dijitArrowButtonInner { - background-position: 0 53%; -} -.claro .dijitDisabled .dijitArrowButtonInner { - background-position: -151px 53%; -} -.claro .dijitDisabled .dijitLeftArrowButton .dijitArrowButtonInner { - background-position: -177px 53%; -} -.claro .dijitDisabled .dijitRightArrowButton .dijitArrowButtonInner { - background-position: -126px 53%; -} -.claro .dijitDisabled .dijitUpArrowButton .dijitArrowButtonInner { - background-position: -100px 53%; -} - -.claro .dijitButtonText { - padding: 0 0.3em; - text-align: center; -} - - - - - -/* hover status */ -.claro .dijitButtonHover .dijitButtonNode, -.claro .dijitDropDownButtonHover .dijitButtonNode, -.claro .dijitComboButton .dijitButtonNodeHover, -.claro .dijitComboButton .dijitDownArrowButtonHover, -.claro .dijitToggleButtonHover .dijitButtonNode { - background-color: @button-hovered-background-color; - color:@text-color; - .transition-duration(.2s); -} - -/* checked status */ -.claro .dijitButtonActive .dijitButtonNode, -.claro .dijitDropDownButtonActive .dijitButtonNode, -.claro .dijitComboButtonActive .dijitButtonNode, -.claro .dijitToggleButtonActive .dijitButtonNode { - background-color: @button-pressed-background-color; - .box-shadow(0 0 0 rgba(0,0,0,0)); - .transition-duration(.1s); -} - -/* disabled status */ -.claro .dijitButtonDisabled, -.claro .dijitDropDownButtonDisabled, -.claro .dijitComboButtonDisabled, -.claro .dijitToggleButtonDisabled { - background-image: none; - outline: none; -} - -.claro .dijitButtonDisabled .dijitButtonNode, -.claro .dijitDropDownButtonDisabled .dijitButtonNode, -.claro .dijitComboButtonDisabled .dijitButtonNode, -.claro .dijitToggleButtonDisabled .dijitButtonNode { - background-position:0 -149px; - background-color: @disabled-background-color; - border: solid 1px @disabled-border-color; - color: @disabled-text-color; - .box-shadow(0 0 0 rgba(0,0,0,0)); -} -.claro .dijitComboButtonDisabled .dijitArrowButton{ - border-left-width: 0; -} -/* for ComboButton */ -.claro table.dijitComboButton { - border-collapse: separate; /* override dijit.css so that ComboBox rounded corners work */ -} - -.dj_ie6 .claro .dijitButtonNode { - background-image: none; -} - -.claro .dijitComboButton .dijitStretch { - .border-radius(@button-border-radius 0 0 @button-border-radius); -} -.claro .dijitComboButton .dijitArrowButton { - .border-radius(0 @button-border-radius @button-border-radius 0); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Button_rtl.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Button_rtl.css deleted file mode 100644 index 42e9ad37..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Button_rtl.css +++ /dev/null @@ -1,12 +0,0 @@ - -.claro .dijitComboButtonRtl .dijitStretch { - -moz-border-radius: 0 4px 4px 0; - border-radius: 0 4px 4px 0; -} -.claro .dijitComboButtonRtl .dijitArrowButton { - -moz-border-radius: 4px 0 0 4px; - border-radius: 4px 0 0 4px; - padding: 3px 0 4px; - border-left-width: 1px; - border-right-width: 0; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Button_rtl.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Button_rtl.less deleted file mode 100644 index 6225d684..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Button_rtl.less +++ /dev/null @@ -1,16 +0,0 @@ -@import "../variables"; - -/* Combo Button */ - -.claro .dijitComboButtonRtl .dijitStretch { - .border-radius(0 @button-border-radius @button-border-radius 0); -} - -.claro .dijitComboButtonRtl .dijitArrowButton { - .border-radius(@button-border-radius 0 0 @button-border-radius); - padding:3px 0 4px; - border-left-width: 1px; - border-right-width: 0; -} - -/* End Combo Button */ \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Checkbox.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Checkbox.css deleted file mode 100644 index 4e28d70e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Checkbox.css +++ /dev/null @@ -1,44 +0,0 @@ - -.claro .dijitToggleButton .dijitCheckBoxIcon { - background-image: url('../images/checkmarkNoBorder.png'); -} -.dj_ie6 .claro .dijitToggleButton .dijitCheckBoxIcon { - background-image: url('../images/checkmarkNoBorder.gif'); -} -.claro .dijitCheckBox, .claro .dijitCheckBoxIcon { - background-image: url('images/checkboxRadioButtonStates.png'); - - background-repeat: no-repeat; - width: 15px; - height: 16px; - margin: 0 2px 0 0; - padding: 0; -} -.dj_ie6 .claro .dijitCheckBox, .dj_ie6 .claro .dijitCheckBoxIcon { - background-image: url('images/checkboxAndRadioButtons_IE6.png'); - -} -.claro .dijitCheckBox, .claro .dijitToggleButton .dijitCheckBoxIcon { - - background-position: -15px; -} -.claro .dijitCheckBoxChecked, .claro .dijitToggleButtonChecked .dijitCheckBoxIcon { - - background-position: 0; -} -.claro .dijitCheckBoxDisabled { - - background-position: -75px; -} -.claro .dijitCheckBoxCheckedDisabled { - - background-position: -60px; -} -.claro .dijitCheckBoxHover { - - background-position: -45px; -} -.claro .dijitCheckBoxCheckedHover { - - background-position: -30px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Checkbox.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Checkbox.less deleted file mode 100644 index 21769dca..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Checkbox.less +++ /dev/null @@ -1,79 +0,0 @@ -/* CheckBox - * - * Styling CheckBox mainly includes: - * - * 1. Containers - * .dijitCheckBox|.dijitCheckBoxIcon - for border, padding, width|height and background image - * - * 2. CheckBox within ToggleButton - * .dijitToggleButton|.dijitToggleButtonChecked .* - for background image - * - * 3. Checked state - * .dijitCheckBoxChecked - for checked background-color|image - * .dijitToggleButtonChecked - for border, background-color|image, display and width|height - * - * 4. Hover state - * .dijitCheckBoxHover|.dijitCheckBoxCheckedHover - for background image - * - * 5. Disabled state - * .dijitCheckBoxDisabled|.dijitCheckBoxCheckedDisabled - for background image - */ - -@import "../variables"; - -.claro .dijitToggleButton .dijitCheckBoxIcon { - background-image: url('../images/checkmarkNoBorder.png'); -} - -.dj_ie6 .claro .dijitToggleButton .dijitCheckBoxIcon { - background-image: url('../images/checkmarkNoBorder.gif'); -} - -.claro .dijitCheckBox, -.claro .dijitCheckBoxIcon /* inside a toggle button */ { - background-image: url('images/checkboxRadioButtonStates.png'); /* checkbox sprite image */ - background-repeat: no-repeat; - width: 15px; - height: 16px; - margin: 0 2px 0 0; - padding: 0; -} - -.dj_ie6 .claro .dijitCheckBox, -.dj_ie6 .claro .dijitCheckBoxIcon /* inside a toggle button */ { - background-image: url('images/checkboxAndRadioButtons_IE6.png'); /* checkbox sprite image */ -} - -.claro .dijitCheckBox, -.claro .dijitToggleButton .dijitCheckBoxIcon { - /* unchecked */ - background-position: -15px; -} - -.claro .dijitCheckBoxChecked, -.claro .dijitToggleButtonChecked .dijitCheckBoxIcon { - /* checked */ - background-position: -0; -} - -.claro .dijitCheckBoxDisabled { - /* disabled */ - background-position: -75px; -} - -.claro .dijitCheckBoxCheckedDisabled { - /* disabled but checked */ - background-position: -60px; -} - -.claro .dijitCheckBoxHover { - /* hovering over an unchecked enabled checkbox */ - background-position: -45px; -} - -.claro .dijitCheckBoxCheckedHover { - /* hovering over an checked enabled checkbox */ - background-position: -30px; -} - - diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Common.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Common.css deleted file mode 100644 index 8bb4dc89..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Common.css +++ /dev/null @@ -1,134 +0,0 @@ - -.claro .dijitTextBoxError .dijitValidationContainer { - background-color: #d46464; - background-image: url('images/error.png'); - background-position: top center; - border: solid #d46464 0; - border-left-width: 1px; - width: 9px; -} -.claro .dijitTextBoxError .dijitValidationIcon { - width: 0; - background-color: transparent !important; - -} -.claro .dijitTextArea, .claro .dijitInputField .dijitPlaceHolder { - padding: 2px; -} -.claro .dijitTextBox .dijitInputField { - padding: 1px 2px; -} -.dj_gecko .claro .dijitTextBox .dijitInputInner, .dj_webkit .claro .dijitTextBox .dijitInputInner { - padding: 1px; -} -.claro .dijitTextBox, .claro .dijitTextBox .dijitButtonNode { - - border-color: #b5bcc7; - -webkit-transition-property: background-color, border; - -moz-transition-property: background-color, border; - transition-property: background-color, border; - -webkit-transition-duration: 0.35s; - -moz-transition-duration: 0.35s; - transition-duration: 0.35s; -} -.claro .dijitTextBox { - background-color: #ffffff; -} -.claro .dijitTextBoxHover, .claro .dijitTextBoxHover .dijitButtonNode { - border-color: #769dc0; - -webkit-transition-duration: 0.25s; - -moz-transition-duration: 0.25s; - transition-duration: 0.25s; -} -.claro .dijitTextBoxHover { - background-color: #e9f4fe; - background-image: url('images/textBox_back.png'); - background-repeat: repeat-x; -} -.claro .dijitTextBoxError, .claro .dijitTextBoxError .dijitButtonNode { - border-color: #d46464; -} -.claro .dijitTextBoxError, .claro .dijitTextBoxError .dijitInputContainer { - background-color: #ffffff; -} -.claro .dijitTextBoxFocused, .claro .dijitTextBoxFocused .dijitButtonNode { - border-color: #769dc0; - -webkit-transition-duration: 0.1s; - -moz-transition-duration: 0.1s; - transition-duration: 0.1s; -} -.claro .dijitTextBoxFocused { - background-color: #ffffff; - background-image: url('images/textBox_back.png'); - background-repeat: repeat-x; -} -.claro .dijitTextBoxFocused .dijitInputContainer { - background: #ffffff; -} -.claro .dijitTextBoxErrorFocused, .claro .dijitTextBoxErrorFocused .dijitButtonNode { - border-color: #ce4f4f; -} -.claro .dijitTextBoxDisabled, .claro .dijitTextBoxDisabled .dijitButtonNode { - border-color: #d3d3d3; -} -.claro .dijitTextBoxDisabled, .claro .dijitTextBoxDisabled .dijitInputContainer { - background-color: #efefef; - background-image: none; - color: #818181; -} -.claro .dijitComboBox .dijitArrowButtonInner { - background-image: url("images/commonFormArrows.png"); - background-position: -35px 53%; - background-repeat: no-repeat; - margin: 0; - width: 16px; - border: 1px solid #ffffff; -} -.claro .dijitToolbar .dijitComboBox .dijitArrowButtonInner { - border: none; -} -.claro .dijitToolbar .dijitComboBox .dijitArrowButtonInner { - border: none; -} -.claro .dijitTextBox .dijitInputInner, .claro .dijitTextBox .dijitValidationContainer { - padding: 1px 0; -} -.claro .dijitComboBox .dijitButtonNode { - background-color: #efefef; - background-image: url("images/formHighlight.png"); - background-repeat: repeat-x; -} -.claro .dijitComboBoxOpenOnClickHover .dijitButtonNode, .claro .dijitComboBox .dijitDownArrowButtonHover { - background-color: #abd6ff; -} -.claro .dijitComboBoxOpenOnClickHover .dijitArrowButtonInner, .claro .dijitComboBox .dijitDownArrowButtonHover .dijitArrowButtonInner { - background-position: -70px 53%; -} -.claro .dijitComboBox .dijitHasDropDownOpen { - background-color: #7dbefa; - background-position: 0 -177px; - padding: 1px; -} -.claro .dijitComboBox .dijitHasDropDownOpen .dijitArrowButtonInner { - background-position: -70px 53%; - border: 0 none; -} -.claro div.dijitComboBoxDisabled .dijitArrowButtonInner { - - background-position: 0 50%; - background-color: #efefef; -} -.dj_ff3 .claro .dijitInputField input[type="hidden"] { - display: none; - height: 0; - width: 0; -} -.dj_ie6 .claro .dijitTextBox, .dj_ie6 .claro .dijitComboBox .dijitButtonNode { - background-image: none; -} -.dj_borderbox .claro .dijitComboBox .dijitHasDropDownOpen .dijitArrowButtonInner { - width: 18px; -} -.dj_borderbox .claro .dijitComboBoxFocused .dijitHasDropDownOpen .dijitArrowButtonInner { - width: 16px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Common.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Common.less deleted file mode 100644 index 729867a6..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Common.less +++ /dev/null @@ -1,194 +0,0 @@ -/* claro/form/Common.css */ - -/*========================= common css =========================*/ - -@import "../variables"; - -/* 'dijitTextBox' refers to 'dijit(TextBox|DateTextBox|CurrencyTextBox|...)' */ - -.claro .dijitTextBoxError .dijitValidationContainer { - background-color: @erroricon-background-color; - background-image: url('images/error.png'); - background-position: top center; - border: solid @erroricon-background-color 0; - border-left-width: 1px; - width: 9px; -} -.claro .dijitTextBoxError .dijitValidationIcon { - width: 0; - background-color: transparent !important; /* so the INPUT doesn't obscure the border in rtl+a11y */ -} - -/* Padding for the input area of TextBox based widgets, and corresponding padding for the - * down arrow button and the placeholder. placeholder is explicitly listed because - * dijitPlaceHolder is absolutely positioned, so padding set on dijitInputField - * won't affect it - */ -.claro .dijitTextArea, -.claro .dijitInputField .dijitPlaceHolder { - padding: @textbox-padding; -} -.claro .dijitTextBox .dijitInputField { - // Subtract 1px from top/bottom because we add 1px to other nodes, see rules below. - // Although we are theoretically only adding 1px to top/bottom browsers seem to pad inputs by 1px on left/right, - // although that varies by so compensate for that too. - padding: @textbox-padding - 1px @textbox-padding; -} -.dj_gecko .claro .dijitTextBox .dijitInputInner, -.dj_webkit .claro .dijitTextBox .dijitInputInner { - // Although we are theoretically only adding 1px to top/bottom, some browsers seem to pad inputs by 1px on left/right, - // so compensate for that too. - padding: @textbox-padding - 1px; -} - -.claro .dijitTextBox, -.claro .dijitTextBox .dijitButtonNode { - /* color for (outer) border on *TextBox widgets, and border between input and buttons on ComboBox and Spinner */ - border-color: @border-color; - .transition-property(background-color, border); - .transition-duration(.35s); -} -.claro .dijitTextBox { - background-color: @textbox-background-color; -} - -/* hover */ -.claro .dijitTextBoxHover, -.claro .dijitTextBoxHover .dijitButtonNode { - border-color: @hovered-border-color; - .transition-duration(.25s); -} -.claro .dijitTextBoxHover { - background-color: @textbox-hovered-background-color; - background-image: url('images/textBox_back.png'); - background-repeat: repeat-x; -} - -/* error state */ -.claro .dijitTextBoxError, -.claro .dijitTextBoxError .dijitButtonNode { - border-color: @error-border-color; -} -.claro .dijitTextBoxError, -.claro .dijitTextBoxError .dijitInputContainer { - background-color: @textbox-error-background-color; -} - -/* focused state */ -.claro .dijitTextBoxFocused, -.claro .dijitTextBoxFocused .dijitButtonNode { - border-color:@focused-border-color; - .transition-duration(.1s); -} -.claro .dijitTextBoxFocused { - background-color: @textbox-focused-background-color; - background-image: url('images/textBox_back.png'); - background-repeat: repeat-x; -} -.claro .dijitTextBoxFocused .dijitInputContainer { - background: @textbox-focused-background-color; -} - -.claro .dijitTextBoxErrorFocused, -.claro .dijitTextBoxErrorFocused .dijitButtonNode { - border-color: @error-focused-border-color; -} - -/* disabled state */ -.claro .dijitTextBoxDisabled, -.claro .dijitTextBoxDisabled .dijitButtonNode { - border-color: @disabled-border-color; -} -.claro .dijitTextBoxDisabled, -.claro .dijitTextBoxDisabled .dijitInputContainer { - background-color: @textbox-disabled-background-color; - background-image: none; - color: @disabled-text-color; -} - -/*========================= for special widgets =========================*/ - -/* Input boxes with an arrow (for a drop down) */ - -.claro .dijitComboBox .dijitArrowButtonInner { - background-image: url("images/commonFormArrows.png"); - background-position:-35px 53%; - background-repeat: no-repeat; - margin: 0; - width:16px; - border: 1px solid @arrowbutton-inner-border-color; // white gutter around the arrow button -} - -.claro .dijitToolbar .dijitComboBox .dijitArrowButtonInner { - border: none; -} - -.claro .dijitToolbar .dijitComboBox .dijitArrowButtonInner { - border: none; -} - -/* Add 1px vertical padding to the <input> where user types and the validation icon, - to match the 1px border on arrow button */ -.claro .dijitTextBox .dijitInputInner, -.claro .dijitTextBox .dijitValidationContainer { - padding: 1px 0; -} - -.claro .dijitComboBox .dijitButtonNode { - background-color: @arrowbutton-background-color; - background-image: url("images/formHighlight.png"); - background-repeat:repeat-x; -} - -/* Arrow "hover" effect: - * The arrow button should change color whenever the mouse is in a position such that clicking it - * will toggle the drop down. That's either (1) anywhere over the ComboBox or (2) over the arrow - * button, depending on the openOnClick setting for the widget. - */ -.claro .dijitComboBoxOpenOnClickHover .dijitButtonNode, -.claro .dijitComboBox .dijitDownArrowButtonHover { - background-color:@arrowbutton-hovered-background-color; -} -.claro .dijitComboBoxOpenOnClickHover .dijitArrowButtonInner, -.claro .dijitComboBox .dijitDownArrowButtonHover .dijitArrowButtonInner { - background-position:-70px 53%; -} - -/* Arrow Button change when drop down is open */ -.claro .dijitComboBox .dijitHasDropDownOpen { // .dijitHasDropDown is on dijitArrowButton node - background-color: @pressed-background-color; - background-position:0 -177px; - padding: 1px; // Since no border on arrow button (see rule below) -} -.claro .dijitComboBox .dijitHasDropDownOpen .dijitArrowButtonInner { - background-position:-70px 53%; - border: 0 none; -} - -/* disabled state */ -.claro div.dijitComboBoxDisabled .dijitArrowButtonInner { - /* specific selector set to override background-position setting from Button.js - * (.claro .dijitComboBoxDisabled .dijitArrowButtonInner) */ - background-position:0 50%; - background-color:@disabled-background-color; -} - -/*========================= hacks for browsers =========================*/ -/* it seems the input[type="hidden"] has a height (16px) too... this may cause the widget's height calculate error */ -.dj_ff3 .claro .dijitInputField input[type="hidden"] { - display: none; - height: 0; - width: 0; -} - -/* ie6 doesn't support transparent background img */ -.dj_ie6 .claro .dijitTextBox, -.dj_ie6 .claro .dijitComboBox .dijitButtonNode { - background-image: none; -} -.dj_borderbox .claro .dijitComboBox .dijitHasDropDownOpen .dijitArrowButtonInner { - width:18px; // quirks mode means border-box sizing, so 18px with the border (same as 16px without border) -} -.dj_borderbox .claro .dijitComboBoxFocused .dijitHasDropDownOpen .dijitArrowButtonInner { - width:16px; // when no border, then back to 16px just like content-box sizing -} \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Common_rtl.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Common_rtl.css deleted file mode 100644 index b8d3e07a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Common_rtl.css +++ /dev/null @@ -1,5 +0,0 @@ - -.claro .dijitTextBoxRtlError .dijitValidationContainer { - border-left-width: 0; - border-right-width: 1px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Common_rtl.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Common_rtl.less deleted file mode 100644 index fd4975a5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Common_rtl.less +++ /dev/null @@ -1,13 +0,0 @@ -/* claro/form/Common_rtl.css */ - -@import "../variables"; - -/*claro should not have the icon on the container -.claro .dijitTextBoxRtlError .dijitValidationIcon { - border-left-width: 0; - border-right-width: 1px; -}*/ -.claro .dijitTextBoxRtlError .dijitValidationContainer { - border-left-width: 0; - border-right-width: 1px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/NumberSpinner.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/NumberSpinner.css deleted file mode 100644 index 15ab9ba0..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/NumberSpinner.css +++ /dev/null @@ -1,102 +0,0 @@ - -.claro .dijitSpinnerButtonContainer { - overflow: hidden; - position: relative; - width: auto; - padding: 0 2px; -} -.claro .dijitSpinnerButtonContainer .dijitSpinnerButtonInner { - border-width: 1px 0; - - border-style: solid none; -} -.claro .dijitSpinner .dijitArrowButton { - width: auto; - background-color: #efefef; - background-image: url("images/formHighlight.png"); - background-position: 0 0; - background-repeat: repeat-x; - overflow: hidden; -} -.dj_iequirks .claro .dijitSpinner .dijitArrowButton { - overflow: visible; - -} -.claro .dijitSpinner .dijitSpinnerButtonInner { - width: 15px; -} -.claro .dijitSpinner .dijitArrowButtonInner { - border: solid 1px #ffffff; - border-bottom-width: 0; - - background-image: url("images/commonFormArrows.png"); - background-repeat: no-repeat; - height: 100%; - width: 15px; - padding-left: 1px; - padding-right: 1px; - - background-position: -139px center; - - display: block; - margin: -1px 0 -1px 0; - -} -.dj_ie6 .claro .dijitSpinner .dijitArrowButtonInner, .dj_ie7 .claro .dijitSpinner .dijitArrowButtonInner { - margin-top: 0; - -} -.dj_iequirks .claro .dijitSpinner .dijitArrowButtonInner { - width: 19px; -} -.claro .dijitSpinner .dijitDownArrowButton .dijitArrowButtonInner { - background-position: -34px; -} -.claro .dijitSpinner .dijitArrowButtonInner .dijitInputField { - padding: 0; -} -.claro .dijitUpArrowButtonActive, .claro .dijitDownArrowButtonActive { - background-color: #abd6ff; -} -.claro .dijitSpinner .dijitUpArrowButtonHover, .claro .dijitSpinner .dijitDownArrowButtonHover, .claro .dijitSpinnerFocused .dijitArrowButton { - background-color: #abd6ff; -} -.claro .dijitSpinner .dijitUpArrowButtonHover .dijitArrowButtonInner { - background-position: -174px; -} -.claro .dijitSpinner .dijitDownArrowButtonHover .dijitArrowButtonInner { - background-position: -69px; -} -.claro .dijitSpinnerFocused { - background-color: #ffffff; - background-image: none; -} -.claro .dijitSpinner .dijitDownArrowButtonActive, .claro .dijitSpinner .dijitUpArrowButtonActive { - background-color: #7dbefa; - background-position: 0 -177px; -} -.claro .dijitSpinner .dijitUpArrowButtonActive .dijitArrowButtonInner, .claro .dijitSpinner .dijitDownArrowButtonActive .dijitArrowButtonInner { - - border: 0; - padding: 1px; - margin-right: 2px; - margin-bottom: 1px; -} -.claro .dijitSpinner .dijitUpArrowButtonActive .dijitArrowButtonInner { - background-position: -173px; -} -.claro .dijitSpinner .dijitDownArrowButtonActive .dijitArrowButtonInner { - background-position: -68px; -} -.claro .dijitSpinnerDisabled .dijitArrowButtonInner { - background-color: #efefef; -} -.claro .dijitSpinnerDisabled .dijitUpArrowButton .dijitArrowButtonInner { - background-position: -104px; -} -.claro .dijitSpinnerDisabled .dijitDownArrowButton .dijitArrowButtonInner { - background-position: 1px; -} -.dj_ie7 .claro .dijitSpinner { - overflow: visible; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/NumberSpinner.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/NumberSpinner.less deleted file mode 100644 index ca78afb3..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/NumberSpinner.less +++ /dev/null @@ -1,150 +0,0 @@ -/* NumberSpinner - namespace "dijitSpinner" - * - * Styling NumberSpinner mainly includes: - * - * 1. Arrows - * Outer containers: .dijitSpinnerButtonContainer|.dijitSpinnerButtonInner - for border, padding and position - * Arrows: .dijitArrowButton|.dijitUpArrowButton.|dijitDownArrowButton - * Inner container: .dijitArrowButtonInner - for border, padding, width|height and background image - * - * 2. Hover state - * .dijitUpArrowButtonHover|.dijitDownArrowButtonHover .* - for background color|image - * - * 3. Active state - * .dijitUpArrowButtonActive|.dijitDownArrowButtonActive .* - for border, padding, margin and background color|image - * - * 4. Focused state - * .dijitSpinnerFocused .* - for background color|image - * - * 5. Disabled state - * .dijitSpinnerDisabled .* - for background color|image - */ - -@import "../variables"; - -.claro .dijitSpinnerButtonContainer { - overflow: hidden; - position: relative; - width: auto; - padding: 0 2px; -} -.claro .dijitSpinnerButtonContainer .dijitSpinnerButtonInner { - border-width: 1px 0; /* reserve space to match the claro combobox button border with border and not padding to make IE happier */ - border-style: solid none; -} - -/* button */ -.claro .dijitSpinner .dijitArrowButton { - width:auto; - background-color: @arrowbutton-background-color; - background-image: url("images/formHighlight.png"); - background-position:0 0; - background-repeat:repeat-x; - overflow: hidden; -} -.dj_iequirks .claro .dijitSpinner .dijitArrowButton { - overflow: visible; /* 0 height w/o this */ -} - -.claro .dijitSpinner .dijitSpinnerButtonInner { - width: 15px; -} -/* up & down button icons */ -.claro .dijitSpinner .dijitArrowButtonInner { - border:solid 1px @arrowbutton-inner-border-color; - border-bottom-width: 0; /* 2 top borders = 1 top+bottom border in ComboBox */ - background-image: url("images/commonFormArrows.png"); - background-repeat: no-repeat; - height: 100%; - width:15px; - padding-left: 1px; - padding-right: 1px; - - /* for up arrow */ - background-position:-139px center; - - /* override button.css (TODO: move to Common.css since ComboBox needs this too) */ - display: block; - margin: -1px 0 -1px 0; /* compensate for inner border */ -} - -.dj_ie6 .claro .dijitSpinner .dijitArrowButtonInner, -.dj_ie7 .claro .dijitSpinner .dijitArrowButtonInner { - margin-top: 0; /* since its bottom aligned */ -} - -.dj_iequirks .claro .dijitSpinner .dijitArrowButtonInner { - width: 19px; -} -.claro .dijitSpinner .dijitDownArrowButton .dijitArrowButtonInner { - background-position:-34px; -} -.claro .dijitSpinner .dijitArrowButtonInner .dijitInputField { - padding: 0; -} - -/** hover & focused status **/ - -.claro .dijitUpArrowButtonActive, -.claro .dijitDownArrowButtonActive { - background-color:@arrowbutton-pressed-background-color; -} - -.claro .dijitSpinner .dijitUpArrowButtonHover, -.claro .dijitSpinner .dijitDownArrowButtonHover, -.claro .dijitSpinnerFocused .dijitArrowButton { - background-color: @arrowbutton-hovered-background-color; -} - -.claro .dijitSpinner .dijitUpArrowButtonHover .dijitArrowButtonInner { - background-position:-174px; -} -.claro .dijitSpinner .dijitDownArrowButtonHover .dijitArrowButtonInner { - background-position:-69px; -} - -.claro .dijitSpinnerFocused { - background-color: @textbox-focused-background-color; - background-image: none; -} - -/* mouse down status */ -.claro .dijitSpinner .dijitDownArrowButtonActive, -.claro .dijitSpinner .dijitUpArrowButtonActive { - background-color: #7dbefa; // TODO. Mailed Jason about inconsistent ComboBox/Spinner behavior. - background-position:0 -177px; -} -.claro .dijitSpinner .dijitUpArrowButtonActive .dijitArrowButtonInner, -.claro .dijitSpinner .dijitDownArrowButtonActive .dijitArrowButtonInner { - /* hide inner border while button is depressed */ - border: 0; - padding: 1px; - margin-right:2px; - margin-bottom:1px; -} -.claro .dijitSpinner .dijitUpArrowButtonActive .dijitArrowButtonInner { - background-position:-173px; -} -.claro .dijitSpinner .dijitDownArrowButtonActive .dijitArrowButtonInner { - background-position:-68px; -} - -/* disabled */ - -.claro .dijitSpinnerDisabled .dijitArrowButtonInner { - background-color: @disabled-background-color; -} -.claro .dijitSpinnerDisabled .dijitUpArrowButton .dijitArrowButtonInner { - background-position:-104px; -} -.claro .dijitSpinnerDisabled .dijitDownArrowButton .dijitArrowButtonInner { - background-position:1px; -} - -/** hacks for browsers **/ - -/* for IE 7, when div is enlarged, - * should be no empty space between dijitInputLayoutContainer and dijitSpinner*/ -.dj_ie7 .claro .dijitSpinner { - overflow:visible; -} \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/RadioButton.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/RadioButton.css deleted file mode 100644 index 3dcc902b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/RadioButton.css +++ /dev/null @@ -1,51 +0,0 @@ - -.claro .dijitToggleButton .dijitRadio, .claro .dijitToggleButton .dijitRadioIcon { - background-image: url('images/checkboxRadioButtonStates.png'); -} -.dj_ie6 .claro .dijitToggleButton .dijitRadio, .dj_ie6 .claro .dijitToggleButton .dijitRadioIcon { - background-image: url('images/checkboxAndRadioButtons_IE6.png'); -} -.claro .dijitRadio, .claro .dijitRadioIcon { - - background-image: url('images/checkboxRadioButtonStates.png'); - - background-repeat: no-repeat; - width: 15px; - height: 15px; - margin: 0 2px 0 0; - padding: 0; -} -.dj_ie6 .claro .dijitRadio, .dj_ie6 .claro .dijitRadioIcon { - - background-image: url('images/checkboxAndRadioButtons_IE6.png'); - -} -.claro .dijitRadio { - - background-position: -105px; -} -.claro .dijitToggleButton .dijitRadioIcon { - - background-position: -107px; -} -.claro .dijitRadioDisabled { - - background-position: -165px; -} -.claro .dijitRadioHover { - - background-position: -135px; -} -.claro .dijitRadioChecked { - background-position: -90px; -} -.claro .dijitToggleButtonChecked .dijitRadioIcon { - background-position: -92px; -} -.claro .dijitRadioCheckedHover { - background-position: -120px; -} -.claro .dijitRadioCheckedDisabled { - - background-position: -150px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/RadioButton.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/RadioButton.less deleted file mode 100644 index 18f1cc16..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/RadioButton.less +++ /dev/null @@ -1,84 +0,0 @@ -/* RadioButton - * - * Styling RadioButton mainly includes: - * - * 1. Containers - * .dijitRadio|.dijitRadioIcon - for border, padding, width|height and background image - * - * 2. RadioButton within ToggleButton - * .dijitToggleButton|.dijitToggleButtonChecked .* - for background image - * - * 3. Checked state - * .dijitRadioChecked - for checked background-color|image - * .dijitToggleButtonChecked - for border, background-color|image, display and width|height - * - * 4. Hover state - * .dijitRadioHover|.dijitRadioCheckedHover - for background image - * - * 5. Disabled state - * .dijitRadioDisabled|.dijitRadioCheckedDisabled - for background image - */ - -@import "../variables"; - -.claro .dijitToggleButton .dijitRadio, -.claro .dijitToggleButton .dijitRadioIcon { - background-image: url('images/checkboxRadioButtonStates.png'); -} - -.dj_ie6 .claro .dijitToggleButton .dijitRadio, -.dj_ie6 .claro .dijitToggleButton .dijitRadioIcon { - background-image: url('images/checkboxAndRadioButtons_IE6.png'); -} - -.claro .dijitRadio, -.claro .dijitRadioIcon { /* inside a toggle button */ - background-image: url('images/checkboxRadioButtonStates.png'); /* checkbox sprite image */ - background-repeat: no-repeat; - width: 15px; - height: 15px; - margin: 0 2px 0 0; - padding: 0; -} - -.dj_ie6 .claro .dijitRadio, -.dj_ie6 .claro .dijitRadioIcon { /* inside a toggle button */ - background-image: url('images/checkboxAndRadioButtons_IE6.png'); /* checkbox sprite image */ -} - -.claro .dijitRadio{ - /* unselected */ - background-position: -105px; -} - -.claro .dijitToggleButton .dijitRadioIcon { - /* unselected */ - background-position: -107px; -} - -.claro .dijitRadioDisabled { - /* unselected and disabled */ - background-position: -165px; -} - -.claro .dijitRadioHover { - /* hovering over an unselected enabled radio button */ - background-position: -135px; -} - -.claro .dijitRadioChecked{ - background-position: -90px; -} - -.claro .dijitToggleButtonChecked .dijitRadioIcon { - background-position: -92px; -} - -.claro .dijitRadioCheckedHover{ - background-position: -120px; -} - -.claro .dijitRadioCheckedDisabled { - /* selected but disabled */ - background-position: -150px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Select.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Select.css deleted file mode 100644 index d8ca8649..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Select.css +++ /dev/null @@ -1,85 +0,0 @@ - -.claro .dijitSelect .dijitButtonText { - padding: 2px; -} -.claro .dijitSelect { - border: 1px solid #b5bcc7; - background-color: #ffffff; - border-collapse: separate; -} -.dj_ie6 .claro .dijitSelect, .dj_ie6 .claro .dijitSelect .dijitButtonNode { - background-image: none; -} -.claro .dijitSelect .dijitButtonContents { - border: 0 solid #b5bcc7; - border-right-width: 1px; -} -.claro .dijitSelect .dijitArrowButton { - padding: 0; - border: 1px solid #ffffff; - border-top: none; - background-color: #efefef; - background-image: url("images/formHighlight.png"); - background-repeat: repeat-x; -} -.claro .dijitSelect .dijitArrowButton .dijitArrowButtonInner { - background-image: url("images/commonFormArrows.png"); - background-position: -35px 70%; - background-repeat: no-repeat; - width: 16px; - height: 16px; -} -.claro .dijitSelectHover { - border: 1px solid #769dc0; - background-color: #e9f4fe; - background-image: url('images/textBox_back.png'); - background-repeat: repeat-x; -} -.claro .dijitSelectHover .dijitButtonContents { - border-color: #769dc0; -} -.claro .dijitSelectHover .dijitArrowButton { - background-color: #abd6ff; -} -.claro .dijitSelectHover .dijitArrowButton .dijitArrowButtonInner { - background-position: -70px 70%; -} -.claro .dijitSelectFocused { - border: 1px solid #769dc0; -} -.claro .dijitSelectFocused .dijitButtonContents { - border-color: #769dc0; -} -.claro .dijitSelectFocused .dijitArrowButton { - background-color: #7dbefa; - background-position: 0 -177px; - border: none; - padding: 0 1px; -} -.claro .dijitSelectFocused .dijitArrowButton .dijitArrowButtonInner { - background-position: -70px 70%; - margin-bottom: 1px; -} -.claro .dijitSelectDisabled { - border: 1px solid #d3d3d3; - background-color: #efefef; - background-image: none; - color: #818181; -} -.claro .dijitSelectDisabled .dijitArrowButton { - background-color: #efefef; -} -.claro .dijitSelectDisabled .dijitArrowButton .dijitArrowButtonInner { - background-position: 0 70%; -} -.claro .dijitSelectMenu td.dijitMenuItemIconCell, .claro .dijitSelectMenu td.dijitMenuArrowCell { - - display: none; -} -.claro .dijitSelectMenu td.dijitMenuItemLabel { - - padding: 2px; -} -.claro .dijitSelectMenu .dijitMenuSeparatorTop { - border-bottom: 1px solid #769dc0; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Select.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Select.less deleted file mode 100644 index c429b2e4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Select.less +++ /dev/null @@ -1,124 +0,0 @@ -/* Select - * - * Styling Select mainly includes: - * - * 1. Containers - * .dijitSelect - for border, background-color - * .dijitButtonContents - for border - * - * 2. Arrow - * .dijitArrowButton - for border, padding and background-color|image - * .dijitArrowButtonInner - for border, background-color|image, display and width|height - * - * 3. Menu - * .dijitSelectMenu .* - for border, padding - * - * 4. Various states - * .dijitSelectHover|.dijitSelectFocused|.dijitSelectDisabled .* - for border, padding and background-color|image - */ - -@import "../variables"; - -.claro .dijitSelect .dijitButtonText { - padding: @textbox-padding; -} - -/* normal status */ -.claro .dijitSelect { - border: 1px solid @border-color; - background-color: @textbox-background-color; - border-collapse: separate; -} -.dj_ie6 .claro .dijitSelect, -.dj_ie6 .claro .dijitSelect .dijitButtonNode { - background-image:none; -} - -.claro .dijitSelect .dijitButtonContents { - border: 0 solid @border-color; - border-right-width: 1px; -} - -.claro .dijitSelect .dijitArrowButton { - padding: 0; - border: 1px solid @arrowbutton-inner-border-color; - border-top:none; - background-color: @arrowbutton-background-color; - background-image: url("images/formHighlight.png"); - background-repeat:repeat-x; -} - -.claro .dijitSelect .dijitArrowButton .dijitArrowButtonInner { - background-image: url("images/commonFormArrows.png"); - background-position:-35px 70%; - background-repeat: no-repeat; - width:16px; - height:16px; -} - -/* hover status */ -.claro .dijitSelectHover { - border: 1px solid @hovered-border-color; - background-color: @textbox-hovered-background-color; - background-image: url('images/textBox_back.png'); - background-repeat: repeat-x; -} - -.claro .dijitSelectHover .dijitButtonContents { - border-color:@hovered-border-color; -} - -.claro .dijitSelectHover .dijitArrowButton { - background-color:@arrowbutton-hovered-background-color; -} -.claro .dijitSelectHover .dijitArrowButton .dijitArrowButtonInner { - background-position:-70px 70%; -} - -/* focused status */ -.claro .dijitSelectFocused { - border: 1px solid @focused-border-color; -} -.claro .dijitSelectFocused .dijitButtonContents { - border-color:@focused-border-color; -} -.claro .dijitSelectFocused .dijitArrowButton { - background-color:#7dbefa; // TODO. Mailed Jason about inconsistent ComboBox/Spinner behavior. - background-position:0 -177px; - border: none; - padding: 0 1px; -} -.claro .dijitSelectFocused .dijitArrowButton .dijitArrowButtonInner { - background-position:-70px 70%; - margin-bottom: 1px; -} - -/* disable status */ -.claro .dijitSelectDisabled { - border: 1px solid @disabled-border-color; - background-color: @disabled-background-color; - background-image: none; - color: @disabled-text-color; -} -.claro .dijitSelectDisabled .dijitArrowButton { - background-color: @disabled-background-color; -} -.claro .dijitSelectDisabled .dijitArrowButton .dijitArrowButtonInner { - background-position:0 70% -} - -/* Dropdown menu style for select */ - -.claro .dijitSelectMenu td.dijitMenuItemIconCell, -.claro .dijitSelectMenu td.dijitMenuArrowCell { - /* so that arrow and icon cells from MenuItem are not displayed */ - display: none; -} -.claro .dijitSelectMenu td.dijitMenuItemLabel { - /* line up menu text with text in select box (in LTR and RTL modes) */ - padding: @textbox-padding; -} - -.claro .dijitSelectMenu .dijitMenuSeparatorTop { - border-bottom:1px solid @focused-border-color; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Select_rtl.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Select_rtl.css deleted file mode 100644 index a14d4ec4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Select_rtl.css +++ /dev/null @@ -1,4 +0,0 @@ -.claro .dijitSelectRtl .dijitButtonContents { - border-right-width: 0; - border-left-width: 1px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Select_rtl.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Select_rtl.less deleted file mode 100644 index ffa40dc4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Select_rtl.less +++ /dev/null @@ -1,6 +0,0 @@ -@import "../variables"; - -.claro .dijitSelectRtl .dijitButtonContents { - border-right-width: 0; - border-left-width: 1px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Slider.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Slider.css deleted file mode 100644 index f10f9f31..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Slider.css +++ /dev/null @@ -1,269 +0,0 @@ - -.claro .dijitSliderBar { - border-style: solid; - outline: 1px; -} -.claro .dijitSliderFocused .dijitSliderBar { - border-color: #769dc0; -} -.claro .dijitSliderHover .dijitSliderBar { - border-color: #769dc0; -} -.claro .dijitSliderDisabled .dijitSliderBar { - background-image: none; - border-color: #d3d3d3; -} -.claro .dijitRuleLabelsContainerH { - padding: 2px 0; -} -.claro .dijitSlider .dijitSliderProgressBarH, .claro .dijitSlider .dijitSliderLeftBumper { - background-image: url("images/sliderHorizontal.png"); - background-repeat: repeat-x; - background-position: 0 -20px; - border-color: #b5bcc7; - background-color: #cfe5fa; -} -.claro .dijitSlider .dijitSliderRemainingBarH, .claro .dijitSlider .dijitSliderRightBumper { - background-image: url("images/sliderHorizontal.png"); - background-repeat: repeat-x; - background-position: 0 -11px; - border-color: #b5bcc7; - background-color: #ffffff; -} -.claro .dijitSliderRightBumper { - border-right: solid 1px #b5bcc7; -} -.claro .dijitSliderLeftBumper { - border-left: solid 1px #b5bcc7; -} -.claro .dijitSliderHover .dijitSliderProgressBarH, .claro .dijitSliderHover .dijitSliderLeftBumper { - background-position: 0 -20px; - background-color: #abd6ff; - border-color: #769dc0; -} -.claro .dijitSliderHover .dijitSliderRemainingBarH, .claro .dijitSliderHover .dijitSliderRightBumper { - background-position: 0 0; - background-color: #ffffff; - border-color: #769dc0; -} -.claro .dijitSliderFocused .dijitSliderProgressBarH, .claro .dijitSliderFocused .dijitSliderLeftBumper { - background-position: 0 -30px; - background-color: #abd6ff; - border-color: #769dc0; -} -.claro .dijitSliderFocused .dijitSliderRemainingBarH, .claro .dijitSliderFocused .dijitSliderRightBumper { - background-position: 0 -9px; - background-color: #ffffff; - border-color: #769dc0; -} -.claro .dijitSliderDisabled .dijitSliderProgressBarH, .claro .dijitSliderDisabled .dijitSliderLeftBumper { - background-color: #d3d3d3; - - background-image: none; -} -.claro .dijitSliderDisabled .dijitSliderRemainingBarH, .claro .dijitSliderDisabled .dijitSliderRightBumper { - background-color: #efefef; -} -.claro .dijitRuleLabelsContainerV { - padding: 0 2px; -} -.claro .dijitSlider .dijitSliderProgressBarV, .claro .dijitSlider .dijitSliderBottomBumper { - background-image: url("images/sliderVertical.png"); - background-repeat: repeat-y; - background-position: -36px 0; - border-color: #b5bcc7; - background-color: #cfe5fa; -} -.claro .dijitSlider .dijitSliderRemainingBarV, .claro .dijitSlider .dijitSliderTopBumper { - background-image: url("images/sliderVertical.png"); - background-repeat: repeat-y; - background-position: -3px 0; - border-color: #b5bcc7; - background-color: #ffffff; -} -.claro .dijitSliderBottomBumper { - border-bottom: solid 1px #b5bcc7; -} -.claro .dijitSliderTopBumper { - border-top: solid 1px #b5bcc7; -} -.claro .dijitSliderHover .dijitSliderProgressBarV, .claro .dijitSliderHover .dijitSliderBottomBumper { - background-position: -36px 0; - background-color: #abd6ff; -} -.claro .dijitSliderHover .dijitSliderRemainingBarV, .claro .dijitSliderHover .dijitSliderTopBumper { - background-position: 0 0; - background-color: #ffffff; -} -.claro .dijitSliderFocused .dijitSliderProgressBarV, .claro .dijitSliderFocused .dijitSliderBottomBumper { - background-position: -56px 0; - background-color: #abd6ff; -} -.claro .dijitSliderFocused .dijitSliderRemainingBarV, .claro .dijitSliderFocused .dijitSliderTopBumper { - background-position: -18px 0; - background-color: #ffffff; -} -.claro .dijitSliderDisabled .dijitSliderProgressBarV, .claro .dijitSliderDisabled .dijitSliderBottomBumper { - background-color: #d3d3d3; - -} -.claro .dijitSliderDisabled .dijitSliderRemainingBarV, .claro .dijitSliderDisabled .dijitSliderTopBumper { - background-color: #efefef; -} -.claro .dijitSliderImageHandleH { - border: 0; - width: 18px; - height: 16px; - background-image: url("images/sliderThumbs.png"); - background-repeat: no-repeat; - background-position: 0 0; -} -.claro .dijitSliderHover .dijitSliderImageHandleH { - background-position: -18px 0; -} -.claro .dijitSliderFocused .dijitSliderImageHandleH { - background-position: -36px 0; -} -.claro .dijitSliderProgressBarH .dijitSliderThumbHover { - background-position: -36px 0; -} -.claro .dijitSliderProgressBarH .dijitSliderThumbActive { - background-position: -36px 0; -} -.claro .dijitSliderReadOnly .dijitSliderImageHandleH, .claro .dijitSliderDisabled .dijitSliderImageHandleH { - background-position: -54px 0; -} -.claro .dijitSliderImageHandleV { - border: 0; - width: 18px; - height: 16px; - background-image: url("images/sliderThumbs.png"); - background-repeat: no-repeat; - background-position: -289px 0; -} -.claro .dijitSliderHover .dijitSliderImageHandleV { - background-position: -307px 0; -} -.claro .dijitSliderFocused .dijitSliderImageHandleV { - background-position: -325px 0; -} -.claro .dijitSliderProgressBarV .dijitSliderThumbHover { - background-position: -325px 0; -} -.claro .dijitSliderProgressBarV .dijitSliderThumbActive { - background-position: -325px 0; -} -.claro .dijitSliderReadOnly .dijitSliderImageHandleV, .claro .dijitSliderDisabled .dijitSliderImageHandleV { - background-position: -343px 0; -} -.claro .dijitSliderButtonContainerH { - padding: 1px 3px 1px 2px; -} -.claro .dijitSliderButtonContainerV { - padding: 3px 1px 2px 1px; -} -.claro .dijitSliderDecrementIconH, -.claro .dijitSliderIncrementIconH, -.claro .dijitSliderDecrementIconV, -.claro .dijitSliderIncrementIconV { - background-image: url('images/commonFormArrows.png'); - background-repeat: no-repeat; - background-color: #efefef; - -moz-border-radius: 2px; - border-radius: 2px; - border: solid 1px #b5bcc7; - font-size: 1px; -} -.claro .dijitSliderDecrementIconH, .claro .dijitSliderIncrementIconH { - height: 12px; - width: 9px; -} -.claro .dijitSliderDecrementIconV, .claro .dijitSliderIncrementIconV { - height: 9px; - width: 12px; -} -.claro .dijitSliderActive .dijitSliderDecrementIconH, -.claro .dijitSliderActive .dijitSliderIncrementIconH, -.claro .dijitSliderActive .dijitSliderDecrementIconV, -.claro .dijitSliderActive .dijitSliderIncrementIconV, -.claro .dijitSliderHover .dijitSliderDecrementIconH, -.claro .dijitSliderHover .dijitSliderIncrementIconH, -.claro .dijitSliderHover .dijitSliderDecrementIconV, -.claro .dijitSliderHover .dijitSliderIncrementIconV { - - border: solid 1px #769dc0; - background-color: #ffffff; -} -.claro .dijitSliderDecrementIconH { - background-position: -357px 50%; -} -.claro .dijitSliderActive .dijitSliderDecrementIconH.claro .dijitSliderHover .dijitSliderDecrementIconH { - background-position: -393px 50%; -} -.claro .dijitSliderIncrementIconH { - background-position: -251px 50%; -} -.claro .dijitSliderActive .dijitSliderIncrementIconH.claro .dijitSliderHover .dijitSliderIncrementIconH { - background-position: -283px 50%; -} -.claro .dijitSliderDecrementIconV { - background-position: -38px 50%; -} -.claro .dijitSliderActive .dijitSliderDecrementIconV.claro .dijitSliderHover .dijitSliderDecrementIconV { - background-position: -73px 50%; -} -.claro .dijitSliderIncrementIconV { - background-position: -143px 49%; -} -.claro .dijitSliderActive .dijitSliderIncrementIconV.claro .dijitSliderHover .dijitSliderIncrementIconV { - background-position: -178px 49%; -} -.claro .dijitSliderButtonContainerV .dijitSliderDecrementButtonHover, -.claro .dijitSliderButtonContainerH .dijitSliderDecrementButtonHover, -.claro .dijitSliderButtonContainerV .dijitSliderIncrementButtonHover, -.claro .dijitSliderButtonContainerH .dijitSliderIncrementButtonHover { - background-color: #cfe5fa; -} -.claro .dijitSliderButtonContainerV .dijitSliderDecrementButtonActive, -.claro .dijitSliderButtonContainerH .dijitSliderDecrementButtonActive, -.claro .dijitSliderButtonContainerV .dijitSliderIncrementButtonActive, -.claro .dijitSliderButtonContainerH .dijitSliderIncrementButtonActive { - background-color: #abd6ff; - border-color: #769dc0; -} -.claro .dijitSliderButtonInner { - visibility: hidden; -} -.claro .dijitSliderDisabled .dijitSliderBar { - border-color: #d3d3d3; -} -.claro .dijitSliderReadOnly *, .claro .dijitSliderDisabled * { - border-color: #d3d3d3; - color: #818181; -} -.claro .dijitSliderReadOnly .dijitSliderDecrementIconH, .claro .dijitSliderDisabled .dijitSliderDecrementIconH { - background-position: -321px 50%; - background-color: #efefef; -} -.claro .dijitSliderReadOnly .dijitSliderIncrementIconH, .claro .dijitSliderDisabled .dijitSliderIncrementIconH { - background-position: -215px 50%; - background-color: #efefef; -} -.claro .dijitSliderReadOnly .dijitSliderDecrementIconV, .claro .dijitSliderDisabled .dijitSliderDecrementIconV { - background-position: -3px 49%; - background-color: #efefef; -} -.claro .dijitSliderReadOnly .dijitSliderIncrementIconV, .claro .dijitSliderDisabled .dijitSliderIncrementIconV { - background-position: -107px 49%; - background-color: #efefef; -} -.dj_ie6 .claro .dijitSlider .dijitSliderProgressBarH, -.dj_ie6 .claro .dijitSlider .dijitSliderLeftBumper, -.dj_ie6 .claro .dijitSlider .dijitSliderRemainingBarH, -.dj_ie6 .claro .dijitSlider .dijitSliderRightBumper, -.dj_ie6 .claro .dijitSlider .dijitSliderProgressBarV, -.dj_ie6 .claro .dijitSlider .dijitSliderTopBumper, -.dj_ie6 .claro .dijitSlider .dijitSliderRemainingBarV, -.dj_ie6 .claro .dijitSlider .dijitSliderBottomBumper { - background-image: none; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Slider.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Slider.less deleted file mode 100644 index 82451b50..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Slider.less +++ /dev/null @@ -1,362 +0,0 @@ -/* Slider - * - * Styling Slider mainly includes styling the Slider progress bar (dijitSliderProgressBar) - * - * Slider progress bar: - * 1. Slider progress bar (default styling): - * .dijitSliderProgressBarH - progress bar at the middle of horizontal slider - * .dijitSliderLeftBumper - bar at the left of horizontal slider - * .dijitSliderRightBumper - bar at the right of horizontal slider - * .dijitSliderProgressBarV - progress bar at the middle of vertical slider - * .dijitSliderTopBumper - bar at the top of vertical slider - * .dijitSliderBottomtBumper - bar at the bottom of vertical slider - * - * 2. hovered Slider progress bar (ie, mouse hover on progress bar) - * .dijitSliderHover .dijitSliderProgressBarH(horizontal) - hovered bar style: background, border - * - * 3. focused Slider progress bar (ie, mouse focused on progress bar) - * .dijitSliderFocused .dijitSliderProgressBarH(horizontal) - focus bar style: background, border - * - * 4. disabled/read-only Slider progress bar - * .dijitSliderDisabled .dijitSliderProgressBarH(horizontal) - bar styles when slider is disabled - * - * - * Slider Thumbs: - * 1. Slider Thumbs (default styling): - * .dijitSliderImageHandleH / .dijitSliderImageHandleV - styles for the controller on the progress bar - * - * 2. hovered Slider Thumbs (ie, mouse hover on slider thumbs) - * .dijitSliderHover .dijitSliderImageHandleH - hovered controller style - * - * 3. focused Slider progress bar (ie, mouse focused on slider thumbs) - * .dijitSliderFocused .dijitSliderImageHandleV - focused controller style - * - * - * Slider Increment/Decrement Buttons: - * 1. Slider Increment/Decrement Buttons (default styling): - * .dijitSliderDecrementIconH - decrement icon which lies at the left of horizontal slider - * .dijitSliderIncrementIconH - increment icon which lies at the right of horizontal slider - * .dijitSliderDecrementIconV - decrement icon which lies at the bottom of vertical slider - * .dijitSliderIncrementIconV - increment icon which lies at the top of vertical slider - * - * 2. hovered Slider Increment/Decrement Buttons (mouse hover on the icons) - * .dijitSliderHover .dijitSliderDecrementIconH - for background, border - * - * 3. active Slider Increment/Decrement Buttons (mouse down on the icons) - * .dijitSliderActive .dijitSliderIncrementIconV - for background, border - * - * 4. disabled/read-only Slider Increment/Decrement Buttons - * .dijitSliderDisabled .dijitSliderDecrementIconH - styles for the icons in disabled slider - * .dijitSliderReadOnly .dijitSliderIncrementIconV - styles for the icons in read-only slider - */ - -@import "../variables"; - -.claro .dijitSliderBar { - border-style: solid; - outline: 1px; -} -.claro .dijitSliderFocused .dijitSliderBar { - border-color: @focused-border-color; -} -.claro .dijitSliderHover .dijitSliderBar { - border-color: @hovered-border-color; -} -.claro .dijitSliderDisabled .dijitSliderBar { - background-image: none; - border-color: @disabled-border-color; -} - -/* Horizontal Slider */ - -.claro .dijitRuleLabelsContainerH { - padding: 2px 0; -} -.claro .dijitSlider .dijitSliderProgressBarH, -.claro .dijitSlider .dijitSliderLeftBumper{ - background-image: url("images/sliderHorizontal.png"); - background-repeat:repeat-x; - background-position:0 -20px; - border-color: @border-color; - background-color: @slider-fullbar-background-color; -} -.claro .dijitSlider .dijitSliderRemainingBarH, -.claro .dijitSlider .dijitSliderRightBumper{ - background-image: url("images/sliderHorizontal.png"); - background-repeat:repeat-x; - background-position:0 -11px; - border-color: @border-color; - background-color: @slider-remainingbar-background-color; -} -.claro .dijitSliderRightBumper { - border-right: solid 1px @border-color; -} -.claro .dijitSliderLeftBumper { - border-left: solid 1px @border-color; -} -.claro .dijitSliderHover .dijitSliderProgressBarH, -.claro .dijitSliderHover .dijitSliderLeftBumper{ - background-position:0 -20px; - background-color: @slider-hovered-fullbar-background-color; - border-color: @hovered-border-color; -} -.claro .dijitSliderHover .dijitSliderRemainingBarH, -.claro .dijitSliderHover .dijitSliderRightBumper{ - background-position:0 0; - background-color: @slider-hovered-remainingbar-background-color; - border-color: @hovered-border-color; -} -.claro .dijitSliderFocused .dijitSliderProgressBarH, -.claro .dijitSliderFocused .dijitSliderLeftBumper{ - background-position:0 -30px; - background-color: @slider-focused-fullbar-background-color; - border-color: @focused-border-color; -} -.claro .dijitSliderFocused .dijitSliderRemainingBarH, -.claro .dijitSliderFocused .dijitSliderRightBumper{ - background-position:0 -9px; - background-color: @slider-focused-remainingbar-background-color; - border-color: @focused-border-color; -} -.claro .dijitSliderDisabled .dijitSliderProgressBarH, -.claro .dijitSliderDisabled .dijitSliderLeftBumper{ - background-color: @disabled-border-color; /* left side of slider, fill matches border */ - background-image:none; -} -.claro .dijitSliderDisabled .dijitSliderRemainingBarH, -.claro .dijitSliderDisabled .dijitSliderRightBumper{ - background-color: @disabled-background-color; -} - -/* Vertical Slider */ - -.claro .dijitRuleLabelsContainerV { - padding: 0 2px; -} -.claro .dijitSlider .dijitSliderProgressBarV, -.claro .dijitSlider .dijitSliderBottomBumper{ - background-image: url("images/sliderVertical.png"); - background-repeat:repeat-y; - background-position:-36px 0; - border-color: @border-color; - background-color: @slider-fullbar-background-color; -} -.claro .dijitSlider .dijitSliderRemainingBarV, -.claro .dijitSlider .dijitSliderTopBumper{ - background-image: url("images/sliderVertical.png"); - background-repeat:repeat-y; - background-position:-3px 0; - border-color: @border-color; - background-color: @slider-remainingbar-background-color; -} -.claro .dijitSliderBottomBumper { - border-bottom: solid 1px @border-color; -} -.claro .dijitSliderTopBumper { - border-top: solid 1px @border-color; -} -.claro .dijitSliderHover .dijitSliderProgressBarV, -.claro .dijitSliderHover .dijitSliderBottomBumper{ - background-position:-36px 0; - background-color: @slider-hovered-fullbar-background-color; -} -.claro .dijitSliderHover .dijitSliderRemainingBarV, -.claro .dijitSliderHover .dijitSliderTopBumper{ - background-position:0 0; - background-color: @slider-hovered-remainingbar-background-color; -} -.claro .dijitSliderFocused .dijitSliderProgressBarV, -.claro .dijitSliderFocused .dijitSliderBottomBumper{ - background-position:-56px 0; - background-color: @slider-focused-fullbar-background-color; -} -.claro .dijitSliderFocused .dijitSliderRemainingBarV, -.claro .dijitSliderFocused .dijitSliderTopBumper{ - background-position:-18px 0; - background-color: @slider-focused-remainingbar-background-color; -} -.claro .dijitSliderDisabled .dijitSliderProgressBarV, -.claro .dijitSliderDisabled .dijitSliderBottomBumper{ - background-color: @disabled-border-color; /* bottom side of slider, fill matches border */ -} -.claro .dijitSliderDisabled .dijitSliderRemainingBarV, -.claro .dijitSliderDisabled .dijitSliderTopBumper{ - background-color: @disabled-background-color; -} - - -/* ------- Thumbs ------- */ - -.claro .dijitSliderImageHandleH { - border: 0; - width: 18px; - height: 16px; - background-image: url("images/sliderThumbs.png"); - background-repeat:no-repeat; - background-position:0 0; -} -.claro .dijitSliderHover .dijitSliderImageHandleH { - background-position:-18px 0; -} -.claro .dijitSliderFocused .dijitSliderImageHandleH { - background-position:-36px 0; -} -.claro .dijitSliderProgressBarH .dijitSliderThumbHover{ - background-position:-36px 0; -} -.claro .dijitSliderProgressBarH .dijitSliderThumbActive{ - background-position:-36px 0; -} -.claro .dijitSliderReadOnly .dijitSliderImageHandleH, -.claro .dijitSliderDisabled .dijitSliderImageHandleH { - background-position:-54px 0; -} -.claro .dijitSliderImageHandleV { - border: 0; - width: 18px; - height: 16px; - background-image: url("images/sliderThumbs.png"); - background-repeat:no-repeat; - background-position:-289px 0; -} -.claro .dijitSliderHover .dijitSliderImageHandleV { - background-position:-307px 0; -} -.claro .dijitSliderFocused .dijitSliderImageHandleV { - background-position:-325px 0; -} -.claro .dijitSliderProgressBarV .dijitSliderThumbHover{ - background-position:-325px 0; -} -.claro .dijitSliderProgressBarV .dijitSliderThumbActive{ - background-position:-325px 0; -} -.claro .dijitSliderReadOnly .dijitSliderImageHandleV, -.claro .dijitSliderDisabled .dijitSliderImageHandleV { - background-position:-343px 0; -} - -/* ---- Increment/Decrement Buttons ---- */ - -.claro .dijitSliderButtonContainerH{ - padding: 1px 3px 1px 2px; -} -.claro .dijitSliderButtonContainerV{ - padding: 3px 1px 2px 1px; -} -.claro .dijitSliderDecrementIconH, -.claro .dijitSliderIncrementIconH, -.claro .dijitSliderDecrementIconV, -.claro .dijitSliderIncrementIconV { - background-image: url('images/commonFormArrows.png'); - background-repeat:no-repeat; - background-color: @arrowbutton-background-color; - .border-radius(2px); - border: solid 1px @border-color; - font-size: 1px; -} -.claro .dijitSliderDecrementIconH, -.claro .dijitSliderIncrementIconH { - height: 12px; - width: 9px; -} -.claro .dijitSliderDecrementIconV, -.claro .dijitSliderIncrementIconV { - height: 9px; - width: 12px; -} -.claro .dijitSliderActive .dijitSliderDecrementIconH, -.claro .dijitSliderActive .dijitSliderIncrementIconH, -.claro .dijitSliderActive .dijitSliderDecrementIconV, -.claro .dijitSliderActive .dijitSliderIncrementIconV, -.claro .dijitSliderHover .dijitSliderDecrementIconH, -.claro .dijitSliderHover .dijitSliderIncrementIconH, -.claro .dijitSliderHover .dijitSliderDecrementIconV, -.claro .dijitSliderHover .dijitSliderIncrementIconV { - /* dijitSliderActive should be treated as dijitSliderHover since "clicking the slider" has no meaning */ - border: solid 1px @hovered-border-color; - background-color: @slider-hoveredButton-background-color; -} - -.claro .dijitSliderDecrementIconH { - background-position:-357px 50%; -} -.claro .dijitSliderActive .dijitSliderDecrementIconH -.claro .dijitSliderHover .dijitSliderDecrementIconH { - background-position:-393px 50%; -} -.claro .dijitSliderIncrementIconH { - background-position:-251px 50%; -} -.claro .dijitSliderActive .dijitSliderIncrementIconH -.claro .dijitSliderHover .dijitSliderIncrementIconH { - background-position:-283px 50%; -} -.claro .dijitSliderDecrementIconV { - background-position:-38px 50%; -} -.claro .dijitSliderActive .dijitSliderDecrementIconV -.claro .dijitSliderHover .dijitSliderDecrementIconV { - background-position:-73px 50%; -} -.claro .dijitSliderIncrementIconV { - background-position:-143px 49%; -} -.claro .dijitSliderActive .dijitSliderIncrementIconV -.claro .dijitSliderHover .dijitSliderIncrementIconV { - background-position:-178px 49%; -} -.claro .dijitSliderButtonContainerV .dijitSliderDecrementButtonHover, -.claro .dijitSliderButtonContainerH .dijitSliderDecrementButtonHover, -.claro .dijitSliderButtonContainerV .dijitSliderIncrementButtonHover, -.claro .dijitSliderButtonContainerH .dijitSliderIncrementButtonHover { - background-color: @slider-button-hovered-background-color; -} -.claro .dijitSliderButtonContainerV .dijitSliderDecrementButtonActive, -.claro .dijitSliderButtonContainerH .dijitSliderDecrementButtonActive, -.claro .dijitSliderButtonContainerV .dijitSliderIncrementButtonActive, -.claro .dijitSliderButtonContainerH .dijitSliderIncrementButtonActive { - background-color: @slider-button-pressed-background-color; - border-color:@pressed-border-color; -} -.claro .dijitSliderButtonInner { - visibility: hidden; -} -.claro .dijitSliderDisabled .dijitSliderBar{ - border-color: @disabled-border-color; -} -.claro .dijitSliderReadOnly *,.claro .dijitSliderDisabled * { - border-color: @disabled-border-color; - color: @disabled-text-color; -} -.claro .dijitSliderReadOnly .dijitSliderDecrementIconH, -.claro .dijitSliderDisabled .dijitSliderDecrementIconH { - background-position:-321px 50%; - background-color:@disabled-background-color; -} -.claro .dijitSliderReadOnly .dijitSliderIncrementIconH, -.claro .dijitSliderDisabled .dijitSliderIncrementIconH { - background-position:-215px 50%; - background-color:@disabled-background-color; -} -.claro .dijitSliderReadOnly .dijitSliderDecrementIconV, -.claro .dijitSliderDisabled .dijitSliderDecrementIconV { - background-position:-3px 49%; - background-color:@disabled-background-color; -} -.claro .dijitSliderReadOnly .dijitSliderIncrementIconV, -.claro .dijitSliderDisabled .dijitSliderIncrementIconV { - background-position:-107px 49%; - background-color:@disabled-background-color; -} - -.dj_ie6 .claro .dijitSlider .dijitSliderProgressBarH, -.dj_ie6 .claro .dijitSlider .dijitSliderLeftBumper, -.dj_ie6 .claro .dijitSlider .dijitSliderRemainingBarH, -.dj_ie6 .claro .dijitSlider .dijitSliderRightBumper, -.dj_ie6 .claro .dijitSlider .dijitSliderProgressBarV, -.dj_ie6 .claro .dijitSlider .dijitSliderTopBumper, -.dj_ie6 .claro .dijitSlider .dijitSliderRemainingBarV, -.dj_ie6 .claro .dijitSlider .dijitSliderBottomBumper { - background-image:none; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Slider_rtl.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Slider_rtl.css deleted file mode 100644 index 97e078b9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Slider_rtl.css +++ /dev/null @@ -1,24 +0,0 @@ -.claro .dijitSliderRtl .dijitSliderProgressBarH, -.claro .dijitSliderRtl .dijitSliderRemainingBarH, -.claro .dijitSliderRtl .dijitSliderLeftBumper, -.claro .dijitSliderRtl .dijitSliderRightBumper, -.claro .dijitSliderRtl .dijitSliderTopBumper { - background-position: top right; -} -.claro .dijitSliderRtl .dijitSliderProgressBarV, .claro .dijitSliderRtl .dijitSliderRemainingBarV, .claro .dijitSliderRtl .dijitSliderBottomBumper { - background-position: bottom right; -} -.claro .dijitSliderRtl .dijitSliderLeftBumper { - border-left-width: 0; - border-right-width: 1px; -} -.claro .dijitSliderRtl .dijitSliderRightBumper { - border-left-width: 1px; - border-right-width: 0; -} -.claro .dijitSliderRtl .dijitSliderIncrementIconH { - background-position: -357px 50%; -} -.claro .dijitSliderRtl .dijitSliderDecrementIconH { - background-position: -251px 50%; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Slider_rtl.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Slider_rtl.less deleted file mode 100644 index 66a71166..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/Slider_rtl.less +++ /dev/null @@ -1,33 +0,0 @@ -@import "../variables"; - -.claro .dijitSliderRtl .dijitSliderProgressBarH, -.claro .dijitSliderRtl .dijitSliderRemainingBarH, -.claro .dijitSliderRtl .dijitSliderLeftBumper, -.claro .dijitSliderRtl .dijitSliderRightBumper, -.claro .dijitSliderRtl .dijitSliderTopBumper { - background-position: top right; -} - -.claro .dijitSliderRtl .dijitSliderProgressBarV, -.claro .dijitSliderRtl .dijitSliderRemainingBarV, -.claro .dijitSliderRtl .dijitSliderBottomBumper { - background-position: bottom right; -} - -.claro .dijitSliderRtl .dijitSliderLeftBumper { - border-left-width: 0; - border-right-width: 1px; -} - -.claro .dijitSliderRtl .dijitSliderRightBumper { - border-left-width: 1px; - border-right-width: 0; -} - -.claro .dijitSliderRtl .dijitSliderIncrementIconH { - background-position:-357px 50%; -} - -.claro .dijitSliderRtl .dijitSliderDecrementIconH { - background-position:-251px 50%; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/button.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/button.png deleted file mode 100644 index cb787cb2..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/button.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/buttonArrows.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/buttonArrows.png deleted file mode 100644 index 642eff39..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/buttonArrows.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/button_grad_d.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/button_grad_d.png deleted file mode 100644 index 3a71a465..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/button_grad_d.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/checkboxAndRadioButtons_IE6.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/checkboxAndRadioButtons_IE6.png deleted file mode 100644 index 92d22217..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/checkboxAndRadioButtons_IE6.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/checkboxRadioButtonStates.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/checkboxRadioButtonStates.png deleted file mode 100644 index 2d06a828..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/checkboxRadioButtonStates.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/commonFormArrows.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/commonFormArrows.png deleted file mode 100644 index 6d04742e..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/commonFormArrows.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/error.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/error.png deleted file mode 100644 index 46de1cd8..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/error.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/formHighlight.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/formHighlight.png deleted file mode 100644 index f90eb25b..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/formHighlight.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/shadow.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/shadow.png deleted file mode 100644 index 72d60e62..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/shadow.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/sliderHorizontal.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/sliderHorizontal.png deleted file mode 100644 index d769a648..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/sliderHorizontal.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/sliderThumbs.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/sliderThumbs.png deleted file mode 100644 index 70ab2fe2..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/sliderThumbs.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/sliderVertical.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/sliderVertical.png deleted file mode 100644 index 9d69d04c..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/sliderVertical.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/textBox_back.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/textBox_back.png deleted file mode 100644 index dfc752af..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/form/images/textBox_back.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/calendarArrows.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/calendarArrows.png deleted file mode 100644 index 3f6faa5f..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/calendarArrows.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/calendarArrows8bit.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/calendarArrows8bit.png deleted file mode 100644 index ab9d66cb..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/calendarArrows8bit.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/calendarContainerImages.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/calendarContainerImages.png deleted file mode 100644 index 44fa088b..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/calendarContainerImages.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/checkmarkNoBorder.gif b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/checkmarkNoBorder.gif deleted file mode 100644 index 324bfb3c..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/checkmarkNoBorder.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/checkmarkNoBorder.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/checkmarkNoBorder.png deleted file mode 100644 index 9cec0c0a..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/checkmarkNoBorder.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/commonHighlight.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/commonHighlight.png deleted file mode 100644 index f90eb25b..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/commonHighlight.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/dialogCloseIcon.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/dialogCloseIcon.png deleted file mode 100644 index a605c71d..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/dialogCloseIcon.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/dialogCloseIcon8bit.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/dialogCloseIcon8bit.png deleted file mode 100644 index d2b063b1..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/dialogCloseIcon8bit.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/dnd.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/dnd.png deleted file mode 100644 index 8cb04aa4..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/dnd.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/loadingAnimation.gif b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/loadingAnimation.gif deleted file mode 100644 index d76e4cd7..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/loadingAnimation.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/menuHighlight.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/menuHighlight.png deleted file mode 100644 index 22328a7d..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/menuHighlight.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/progressBarAnim.gif b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/progressBarAnim.gif deleted file mode 100644 index 30c0d9d8..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/progressBarAnim.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/progressBarFull.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/progressBarFull.png deleted file mode 100644 index 280f51d2..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/progressBarFull.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/spriteArrows.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/spriteArrows.png deleted file mode 100644 index 608f4c7f..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/spriteArrows.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/titlebar.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/titlebar.png deleted file mode 100644 index 48181035..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/titlebar.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/tooltip.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/tooltip.png deleted file mode 100644 index 2b222739..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/tooltip.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/tooltip8bit.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/tooltip8bit.png deleted file mode 100644 index 51f65f10..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/tooltip8bit.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/tooltipGradient.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/tooltipGradient.png deleted file mode 100644 index ce4860e7..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/tooltipGradient.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/treeExpandImages.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/treeExpandImages.png deleted file mode 100644 index 75cf3857..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/treeExpandImages.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/treeExpandImages8bit.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/treeExpandImages8bit.png deleted file mode 100644 index 290b2e14..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/treeExpandImages8bit.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/treeExpand_loading.gif b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/treeExpand_loading.gif deleted file mode 100644 index 424d376a..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/images/treeExpand_loading.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/AccordionContainer.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/AccordionContainer.css deleted file mode 100644 index 78b57b98..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/AccordionContainer.css +++ /dev/null @@ -1,84 +0,0 @@ - -.claro .dijitAccordionContainer { - border: none; -} -.claro .dijitAccordionInnerContainer { - background-color: #efefef; - - border: solid 1px #b5bcc7; - margin-bottom: 1px; - -webkit-transition-property: background-color, border; - -moz-transition-property: background-color, border; - transition-property: background-color, border; - -webkit-transition-duration: 0.3s; - -moz-transition-duration: 0.3s; - transition-duration: 0.3s; - -webkit-transition-timing-function: linear; - -moz-transition-timing-function: linear; - transition-timing-function: linear; -} -.claro .dijitAccordionTitle { - background-color: transparent; - - background-image: url("images/accordion.png"); - background-position: 0 0; - background-repeat: repeat-x; - padding: 5px 7px 2px 7px; - min-height: 17px; - color: #4a4a4a; -} -.claro .dijitAccordionTitleHover { - color: #000000; -} -.dj_ie6 .claro .dijitAccordionTitle { - background-image: none; -} -.claro .dijitAccordionContainer .dijitAccordionChildWrapper { - - background-color: #ffffff; - border: 1px solid #769dc0; - margin: 0 2px 2px; -} -.claro .dijitAccordionContainer .dijitAccordionContainer-child { - - padding: 9px; -} -.claro .dijitAccordionInnerContainerActive { - border: 1px solid #769dc0; - background-color: #7dbefa; - -webkit-transition-duration: 0.1s; - -moz-transition-duration: 0.1s; - transition-duration: 0.1s; -} -.claro .dijitAccordionInnerContainerActive .dijitAccordionTitle { - background-position: 0 -136px; - color: #000000; -} -.claro .dijitAccordionInnerContainerSelected { - border-color: #769dc0; - background-color: #cfe5fa; -} -.claro .dijitAccordionInnerContainerSelected .dijitAccordionTitle { - color: #000000; - background-position: 0 0; - -} -.claro .dijitAccordionInnerContainerHover dijitAccordionTitle { - - color: #000000; -} -.claro .dijitAccordionInnerContainerHover, .claro .dijitAccordionInnerContainerSelectedActive { - - border: 1px solid #769dc0; - background-color: #abd6ff; - -webkit-transition-duration: 0.2s; - -moz-transition-duration: 0.2s; - transition-duration: 0.2s; -} -.claro .dijitAccordionInnerContainerSelectedHover .dijitAccordionChildWrapper, .claro .dijitAccordionInnerContainerSelectedActive .dijitAccordionChildWrapper { - background-color: #ffffff; - border: 1px solid #769dc0 !important; - -webkit-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.25); - -moz-box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.25); - box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.25); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/AccordionContainer.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/AccordionContainer.less deleted file mode 100644 index 01f4427f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/AccordionContainer.less +++ /dev/null @@ -1,116 +0,0 @@ -/* Accordion - * - * Styling AccordionContainer basically means styling the accordion pane (dijitAccordionInnerContainer) - * and the title inside of it (dijitAccordionTitle). There are 4 basic states to style: - * - * 1. closed pane (and default styling): - * .dijitAccordionInnerContainer - container for each accordion child - * .dijitAccordionTitle - title for each accordion child - * - * 2. active closed pane (ie, mouse down on a title bar) - * .dijitAccordionInnerContainerActive - for background-color, border - * .dijitAccordionInnerContainerActive dijitAccordionTitle - for text color - * - * 3. open pane (expanded child) - * .dijitAccordionChildWrapper - wraps around the child widget (typically ContentPane) - * setting a margin so that there's blue trim all the way around the child - * - * These rules need to override the closed pane active: - * - * .dijitAccordionInnerContainerSelected - for background-color, border - * .dijitAccordionInnerContainerSelected .dijitAccordionTitle - for text color - * - * 4. hovered pane, open or closed - * The selectors below affect hovering over both a closed pane (ie, hovering a title bar), - * and hovering over an open pane. Also, treat mouse down on an open pane as a hover: - * - * .dijitAccordionInnerContainerHover, .dijitAccordionInnerContainerSelectedActive - for background-color, border - * .dijitAccordionInnerContainerHover .dijitAccordionTitle - for text color - */ - -@import "../variables"; - -.claro .dijitAccordionContainer { - border:none; -} -.claro .dijitAccordionInnerContainer { - background-color: @unselected-background-color; /* gray, for closed pane */ - border:solid 1px @border-color; - margin-bottom:1px; - .transition-property(background-color,border); - .transition-duration(.3s); - .transition-timing-function(linear); -} -.claro .dijitAccordionTitle { - background-color: transparent; /* pick up color from dijitAccordionInnerContainer */ - background-image: url("images/accordion.png"); - background-position:0 0; - background-repeat:repeat-x; - padding: 5px 7px 2px 7px; - min-height:17px; - color:@unselected-text-color; -} -.claro .dijitAccordionTitleHover { - color:@hovered-text-color; -} -.dj_ie6 .claro .dijitAccordionTitle { - background-image: none; -} -.claro .dijitAccordionContainer .dijitAccordionChildWrapper { - /* this extends the blue trim styling of the title bar to wrapping around the node. - * done by setting margin - */ - background-color:@pane-background-color; - border:1px solid @selected-border-color; - margin: 0 2px 2px; -} - -.claro .dijitAccordionContainer .dijitAccordionContainer-child { - /* this is affecting the child widget itself */ - padding: 9px; -} - -/* Active state for closed pane */ - -.claro .dijitAccordionInnerContainerActive { - border:1px solid @selected-border-color; - background-color:@pressed-background-color; - .transition-duration(.1s); -} -.claro .dijitAccordionInnerContainerActive .dijitAccordionTitle { - background-position:0 -136px; - color:@selected-text-color; -} - -/* Open (a.k.a. selected) pane */ - -.claro .dijitAccordionInnerContainerSelected { - border-color:@selected-border-color; - background-color: @selected-background-color; -} -.claro .dijitAccordionInnerContainerSelected .dijitAccordionTitle { - color:@selected-text-color; - background-position: 0 0; /* avoid effect when clicking the title of the open pane */ -} - -/* Hovering open or closed pane */ - -.claro .dijitAccordionInnerContainerHover dijitAccordionTitle { - /* both open and closed */ - color:@hovered-text-color; -} - -.claro .dijitAccordionInnerContainerHover, -.claro .dijitAccordionInnerContainerSelectedActive { - /* note: clicking the currently selected Accordion pane should have no effect, so treating same as hover. */ - border:1px solid @hovered-border-color; - background-color:@hovered-background-color; - .transition-duration(.2s); -} - -.claro .dijitAccordionInnerContainerSelectedHover .dijitAccordionChildWrapper, -.claro .dijitAccordionInnerContainerSelectedActive .dijitAccordionChildWrapper { - background-color:@pane-background-color; - border:1px solid @hovered-border-color !important; - .box-shadow(inset 0 0 3px rgba(0, 0, 0, .25)); -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/BorderContainer.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/BorderContainer.css deleted file mode 100644 index f98a9de1..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/BorderContainer.css +++ /dev/null @@ -1,68 +0,0 @@ - -.claro .dijitBorderContainer { - - padding: 5px; -} -.claro .dijitSplitContainer-child, .claro .dijitBorderContainer-child { - - border: 1px #b5bcc7 solid; -} -.claro .dijitBorderContainer-dijitTabContainerTop, -.claro .dijitBorderContainer-dijitTabContainerBottom, -.claro .dijitBorderContainer-dijitTabContainerLeft, -.claro .dijitBorderContainer-dijitTabContainerRight, -.claro .dijitBorderContainer-dijitAccordionContainer { - - border: none; -} -.claro .dijitBorderContainer-dijitBorderContainer { - - border: 0; - padding: 0; -} -.claro .dijitSplitterH, .claro .dijitGutterH { - background: none; - border: 0; - height: 5px; -} -.claro .dijitSplitterH .dijitSplitterThumb { - background: #b5bcc7 none; - height: 1px; - top: 2px; - width: 19px; -} -.claro .dijitSplitterV, .claro .dijitGutterV { - background: none; - border: 0; - width: 5px; - margin: 0; -} -.claro .dijitSplitterV .dijitSplitterThumb { - background: #b5bcc7 none; - height: 19px; - left: 2px; - width: 1px; - margin: 0; -} -.claro .dijitSplitterHHover { - font-size: 1px; - background: url("images/splitterHorizontalHover.png") no-repeat center top; -} -.claro .dijitSplitterHHover .dijitSplitterThumb { - background: #769dc0 none; -} -.claro .dijitSplitterVHover { - font-size: 1px; - background: url("images/splitterVerticalHover.png") no-repeat center left; -} -.claro .dijitSplitterVHover .dijitSplitterThumb { - background: #769dc0 none; -} -.dj_ie6 .dijitSplitterHHover, .dj_ie6 .claro .dijitSplitterVHover { - background-color: #cfe5fa; - background-image: none; -} -.claro .dijitSplitterHActive, .claro .dijitSplitterVActive { - font-size: 1px; - background-color: #abd6ff; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/BorderContainer.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/BorderContainer.less deleted file mode 100644 index 17c4b63c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/BorderContainer.less +++ /dev/null @@ -1,128 +0,0 @@ -/* BorderContainer - -Splitters and gutters separate panes within a BorderContainer. Splitters can be moved up and down (horizonal splitters) or left and right (vertical splitters), while Gutters are static. A "thumb" is the slit on a Splitter that indicates it is movable. - -Styling the BorderContainer widget consists of the following: - -.dijitBorderContainer - for border and padding of the entire border container - -.dijitSplitContainer-child, .dijitBorderContainer-child - for border or child panes of the border container. By default borders are put on all children of BorderContainer. - -.dijitBorderContainer-dijitTabContainerTop, -.dijitBorderContainer-dijitTabContainerBottom, -.dijitBorderContainer-dijitTabContainerLeft, -.dijitBorderContainer-dijitTabContainerRight, -.dijitBorderContainer-dijitAccordionContainer -for border of the border containers within TabContainer or AccordionContainer widget - -.dijitBorderContainer-dijitBorderContainer - for border and padding of nested BorderContainers - -Splitters and gutters: - -.dijitSplitterH, .dijitGutterH - for height, background, and border of a horizontal splitter and gutter -.dijitSplitterH .dijitSplitterThumb - for color, height/width of the thumb on a horizontal splitter -.dijitSplitterV, .dijitGutterV - - for height, background, and border of a vertical splitter and gutter -.dijitSplitterV .dijitSplitterThumb - for color, height/width of the thumb on a vertical splitter -.dijitSplitterHHover - for background-color of a hovered horizontal splitter -.dijitSplitterHHover .dijitSplitterThumb - for background-color of a hovered thumb on a horizontal splitter -.dijitSplitterVHover - for background-color of a hovered vertical splitter -.dijitSplitterVHover .dijitSplitterThumb - for background-color of a hovered thumb on a vertical splitter -.dijitSplitterHActive - for background-color of an active horizontal splitter -.dijitSplitterVActive - for background-color of an active horizontal splitter -*/ - -@import "../variables"; - -.claro .dijitBorderContainer { - /* matches the width of the splitters between panes */ - padding: 5px; -} - -.claro .dijitSplitContainer-child, -.claro .dijitBorderContainer-child { - /* By default put borders on all children of BorderContainer, - * to give illusion of borders on the splitters themselves. - */ - border: 1px @border-color solid; -} - -.claro .dijitBorderContainer-dijitTabContainerTop, -.claro .dijitBorderContainer-dijitTabContainerBottom, -.claro .dijitBorderContainer-dijitTabContainerLeft, -.claro .dijitBorderContainer-dijitTabContainerRight, -.claro .dijitBorderContainer-dijitAccordionContainer { - /* except that TabContainer defines borders on it's sub-nodes (tablist and dijitTabPaneWrapper), - * so override rule setting border on domNode - */ - border: none; - -} -.claro .dijitBorderContainer-dijitBorderContainer { - /* make nested BorderContainers look like a single big widget with lots of splitters */ - border: 0; - padding: 0; -} - -/* Splitters and gutters */ - -.claro .dijitSplitterH, -.claro .dijitGutterH { - background:none; - border:0; - height:5px; -} - -.claro .dijitSplitterH .dijitSplitterThumb { - background:@border-color none; - height:1px; - top:2px; - width:19px; -} - -.claro .dijitSplitterV, -.claro .dijitGutterV { - background:none; - border:0; - width:5px; - margin: 0; -} - -.claro .dijitSplitterV .dijitSplitterThumb { - background:@border-color none; - height:19px; - left:2px; - width:1px; - margin: 0; -} - -/* hovered splitter */ -.claro .dijitSplitterHHover { - font-size: 1px; - background: url("images/splitterHorizontalHover.png") no-repeat center top; -} - - -.claro .dijitSplitterHHover .dijitSplitterThumb { - background:@hovered-border-color none; -} - -.claro .dijitSplitterVHover { - font-size: 1px; - background: url("images/splitterVerticalHover.png") no-repeat center left; -} - -.claro .dijitSplitterVHover .dijitSplitterThumb { - background:@hovered-border-color none; -} - -.dj_ie6 .dijitSplitterHHover, -.dj_ie6 .claro .dijitSplitterVHover { - background-color: @splitter-hovered-background-color; - background-image:none; -} - -/* active splitter */ -.claro .dijitSplitterHActive, -.claro .dijitSplitterVActive { - font-size: 1px; - background-color:@splitter-dragged-background-color; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/ContentPane.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/ContentPane.css deleted file mode 100644 index 2f5d20d6..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/ContentPane.css +++ /dev/null @@ -1,16 +0,0 @@ - -.claro .dijitContentPane { - padding: 8px; -} -.claro .dijitTabContainerTop-dijitContentPane, -.claro .dijitTabContainerLeft-dijitContentPane, -.claro .dijitTabContainerBottom-dijitContentPane, -.claro .dijitTabContainerRight-dijitContentPane, -.claro .dijitAccordionContainer-dijitContentPane { - background-color: #ffffff; - padding: 8px; -} -.claro .dijitSplitContainer-dijitContentPane, .claro .dijitBorderContainer-dijitContentPane { - background-color: #ffffff; - padding: 8px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/ContentPane.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/ContentPane.less deleted file mode 100644 index 83329bdb..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/ContentPane.less +++ /dev/null @@ -1,43 +0,0 @@ -/* ContentPane - * - * .dijitContentPane - * set padding for basic content pane - * - * Nested layouts: - * - * .dijitTabContainerTop-dijitContentPane, - * .dijitTabContainerLeft-dijitContentPane, - * .dijitTabContainerBottom-dijitContentPane, - * .dijitTabContainerRight-dijitContentPane - * set background-color and padding of ContentPanes nested within TabContainer (can do top, left, bottom, or right) or Accordion Container - * - * .dijitAccordionContainer-dijitContentPane - * set background-color and padding of ContentPane nested within Accordion - * - * .dijitSplitContainer-dijitContentPane, - * set background-color and padding of ContentPane nested within a SplitContainer - * - * .dijitBorderContainer-dijitContentPane - * set background-color and padding of ContentPane nested within a BorderContainer - */ - -@import "../variables"; - -.claro .dijitContentPane { - padding: 8px; -} - -/* nested layouts */ -.claro .dijitTabContainerTop-dijitContentPane, -.claro .dijitTabContainerLeft-dijitContentPane, -.claro .dijitTabContainerBottom-dijitContentPane, -.claro .dijitTabContainerRight-dijitContentPane, -.claro .dijitAccordionContainer-dijitContentPane { - background-color: @pane-background-color; - padding: 8px; -} -.claro .dijitSplitContainer-dijitContentPane, -.claro .dijitBorderContainer-dijitContentPane { - background-color: @pane-background-color; - padding: 8px; -} \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/TabContainer.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/TabContainer.css deleted file mode 100644 index 12b6a04d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/TabContainer.css +++ /dev/null @@ -1,351 +0,0 @@ - -.claro .dijitTabPaneWrapper { - background: #ffffff; -} -.claro .dijitTabPaneWrapper, -.claro .dijitTabContainerTop-tabs, -.claro .dijitTabContainerBottom-tabs, -.claro .dijitTabContainerLeft-tabs, -.claro .dijitTabContainerRight-tabs { - - border-color: #b5bcc7; -} -.claro .dijitTabCloseButton { - background: url("images/tabClose.png") no-repeat; - width: 14px; - height: 14px; - margin-left: 5px; - margin-right: -5px; -} -.claro .dijitTabCloseButtonHover { - background-position: -14px; -} -.claro .dijitTabCloseButtonActive { - background-position: -28px; -} -.claro .dijitTabSpacer { - - display: none; -} -.claro .dijitTabInnerDiv { - background-color: #efefef; - -webkit-transition-property: background-color, border; - -moz-transition-property: background-color, border; - transition-property: background-color, border; - -webkit-transition-duration: 0.35s; - -moz-transition-duration: 0.35s; - transition-duration: 0.35s; - color: #4a4a4a; -} -.claro .dijitTabHover .dijitTabInnerDiv { - background-color: #abd6ff; - -webkit-transition-duration: 0.25s; - -moz-transition-duration: 0.25s; - transition-duration: 0.25s; - color: #000000; -} -.claro .dijitTabActive .dijitTabInnerDiv { - background-color: #7dbefa; - color: #000000; - -webkit-transition-duration: 0.1s; - -moz-transition-duration: 0.1s; - transition-duration: 0.1s; -} -.claro .dijitTabChecked .dijitTabInnerDiv { - background-color: #cfe5fa; - color: #000000; -} -.claro .dijitTabContent { - border: 1px solid #b5bcc7; -} -.claro .dijitTabHover .dijitTabContent { - border-color: #769dc0; -} -.claro .dijitTabActive .dijitTabContent { - border-color: #769dc0; -} -.claro .dijitTabChecked .dijitTabContent { - color: #000000; - border-color: #b5bcc7; -} -.claro .tabStripButton .dijitTabInnerDiv { - background-color: transparent; -} -.claro .tabStripButton .dijitTabContent { - border: none; -} -.claro .dijitTabContainerTop-tabs .dijitTab { - top: 1px; - - margin-right: 1px; - padding-top: 3px; -} -.dj_ie7 .claro .dijitTabContainerTop-tabs .dijitTab { - top: 3px; -} -.claro .dijitTabContainerTop-tabs .dijitTabContent { - padding: 3px 6px; - border-bottom-width: 0; - background-image: url("images/tabTop.png"); - background-position: 0 0; - background-repeat: repeat-x; - min-width: 60px; - text-align: center; -} -.claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabContent { - padding-bottom: 4px; - padding-top: 6px; -} -.claro .dijitTabContainerTop-tabs .dijitTabInnerDiv { - background-image: url("images/tabTop.png"); - background-position: 0 -248px; - background-position: bottom; - background-repeat: repeat-x; - -webkit-box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.04); - -moz-box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.04); - box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.04); -} -.claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabInnerDiv { - background-image: none; - -webkit-box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.05); - box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.05); -} -.claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabContent { - background-position: 0 -102px; - background-repeat: repeat-x; -} -.claro .dijitTabContainerBottom-tabs .dijitTab { - top: -1px; - - margin-right: 1px; -} -.claro .dijitTabContainerBottom-tabs .dijitTabContent { - padding: 3px 6px; - border-top-width: 0; - background-image: url("images/tabBottom.png"); - background-position: 0 -249px; - background-repeat: repeat-x; - background-position: bottom; - min-width: 60px; - text-align: center; -} -.claro .dijitTabContainerBottom-tabs .dijitTab { - padding-bottom: 3px; -} -.claro .dijitTabContainerBottom-tabs .dijitTabInnerDiv { - background-image: url("images/tabBottom.png"); - background-position: top; - background-repeat: repeat-x; - -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); - -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); - box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); -} -.claro .dijitTabContainerBottom-tabs .dijitTabChecked .dijitTabContent { - padding-bottom: 7px; - padding-top: 4px; - background-position: 0 -119px; -} -.claro .dijitTabContainerBottom-tabs .dijitTabChecked { - padding-bottom: 0; -} -.claro .dijitTabContainerBottom-tabs .dijitTabChecked .dijitTabInnerDiv { - background-image: none; - -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); -} -.claro .dijitTabContainerLeft-tabs .dijitTab { - border-right-width: 0; - left: 1px; - - margin-bottom: 1px; -} -.claro .dijitTabContainerLeft-tabs .dijitTabInnerDiv { - background-image: url("images/tabLeft.png"); - background-position: -347px -340px; - background-repeat: repeat-y; -} -.claro .dijitTabContainerLeft-tabs .dijitTabContent { - padding: 3px 8px 4px 4px; - background-image: url("images/tabLeft.png"); - background-repeat: repeat-y; - background-position: 0 0; -} -.claro .dijitTabContainerLeft-tabs .dijitTabChecked .dijitTabContent { - padding-right: 9px; - border-right: none; - background-image: none; -} -.claro .dijitTabContainerLeft-tabs .dijitTabChecked .dijitTabInnerDiv { - background-position: 0 -179px; - background-repeat: repeat-y; - -webkit-box-shadow: -1px 0 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: -1px 0 2px rgba(0, 0, 0, 0.05); - box-shadow: -1px 0 2px rgba(0, 0, 0, 0.05); -} -.claro .dijitTabContainerRight-tabs .dijitTab { - border-left-width: 0; - left: -1px; - - margin-bottom: 1px; -} -.claro .dijitTabContainerRight-tabs .dijitTabInnerDiv { - background-image: url("images/tabRight.png"); - background-repeat: repeat-y; - background-position: -1px -347px; -} -.claro .dijitTabContainerRight-tabs .dijitTabContent { - padding: 3px 8px 4px 4px; - background-image: url("images/tabRight.png"); - background-position: right top; - background-repeat: repeat-y; -} -.claro .dijitTabContainerRight-tabs .dijitTabChecked .dijitTabContent { - padding-left: 5px; - border-left: none; - background-image: none; -} -.claro .dijitTabContainerRight-tabs .dijitTabChecked .dijitTabInnerDiv { - background-position: -348px -179px; - -webkit-box-shadow: 1px 0 2px rgba(0, 0, 0, 0.07); - -moz-box-shadow: 1px 0 2px rgba(0, 0, 0, 0.07); - box-shadow: 1px 0 2px rgba(0, 0, 0, 0.07); -} -.claro .dijitTabContainerTop-tabs .dijitTabInnerDiv, .claro .dijitTabContainerTop-tabs .dijitTabContent { - -moz-border-radius: 2px 2px 0 0; - border-radius: 2px 2px 0 0; -} -.claro .dijitTabContainerBottom-tabs .dijitTabInnerDiv, .claro .dijitTabContainerBottom-tabs .dijitTabContent { - -moz-border-radius: 0 0 2px 2px; - border-radius: 0 0 2px 2px; -} -.claro .dijitTabContainerLeft-tabs .dijitTabInnerDiv, .claro .dijitTabContainerLeft-tabs .dijitTabContent { - -moz-border-radius: 2px 0 0 2px; - border-radius: 2px 0 0 2px; -} -.claro .dijitTabContainerRight-tabs .dijitTabInnerDiv, .claro .dijitTabContainerRight-tabs .dijitTabContent { - -moz-border-radius: 0 2px 2px 0; - border-radius: 0 2px 2px 0; -} -.claro .tabStripButton { - background-color: #e9f4fe; - border: 1px solid #b5bcc7; -} -.claro .dijitTabListContainer-top .tabStripButton { - padding: 4px 3px; - margin-top: 7px; - background-image: url("images/tabTop.png"); - background-position: 0 0; -} -.claro .dijitTabListContainer-bottom .tabStripButton { - padding: 5px 3px; - margin-bottom: 4px; - background-image: url("images/tabTop.png"); - background-position: 0 -248px; - background-position: bottom; -} -.claro .tabStripButtonHover { - background-color: #abd6ff; -} -.claro .tabStripButtonActive { - background-color: #7dbefa; -} -.claro .dijitTabStripIcon { - height: 15px; - width: 15px; - margin: 0 auto; - background: url("../form/images/buttonArrows.png") no-repeat -75px 50%; - background-color: transparent; -} -.claro .dijitTabStripSlideRightIcon { - background-position: -24px 50%; -} -.claro .dijitTabStripMenuIcon { - background-position: -51px 50%; -} -.claro .dijitTabListContainer-top .tabStripButtonDisabled, .claro .dijitTabListContainer-bottom .tabStripButtonDisabled { - background-color: #d3d3d3; - border: 1px solid #b5bcc7; - -} -.claro .tabStripButtonDisabled .dijitTabStripSlideLeftIcon { - background-position: -175px 50%; -} -.claro .tabStripButtonDisabled .dijitTabStripSlideRightIcon { - background-position: -124px 50%; -} -.claro .tabStripButtonDisabled .dijitTabStripMenuIcon { - background-position: -151px 50%; -} -.claro .dijitTabContainerNested .dijitTabListWrapper { - height: auto; -} -.claro .dijitTabContainerNested .dijitTabContainerTop-tabs { - border-bottom: solid 1px #b5bcc7; - padding: 1px 2px 4px; - margin-top: -2px; -} -.claro .dijitTabContainerTabListNested .dijitTabContent { - background: rgba(255, 255, 255, 0) none repeat scroll 0 0; - border: none; - padding: 4px; - border-color: rgba(118, 157, 192, 0); - -webkit-transition-property: background-color, border-color; - -moz-transition-property: background-color, border-color; - transition-property: background-color, border-color; - -webkit-transition-duration: 0.3s; - -moz-transition-duration: 0.3s; - transition-duration: 0.3s; - -moz-border-radius: 2px; - border-radius: 2px; -} -.claro .dijitTabContainerTabListNested .dijitTab .dijitTabInnerDiv { - - background: none; - border: none; - top: 0; - - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} -.claro .dijitTabContainerTabListNested .dijitTabHover .dijitTabContent { - background-color: #e9f4fe; - border: solid 1px #cfe5fa; - padding: 3px; - -webkit-transition-duration: 0.2s; - -moz-transition-duration: 0.2s; - transition-duration: 0.2s; -} -.claro .dijitTabContainerTabListNested .dijitTabHover .tabLabel { - text-decoration: none; -} -.claro .dijitTabContainerTabListNested .dijitTabActive .dijitTabContent { - border: solid 1px #769dc0; - padding: 3px; - background: #abd6ff url("images/tabNested.png") repeat-x; - -webkit-transition-duration: 0.1s; - -moz-transition-duration: 0.1s; - transition-duration: 0.1s; -} -.claro .dijitTabContainerTabListNested .dijitTabChecked .dijitTabContent { - padding: 3px; - border: solid 1px #769dc0; - background-position: 0 105px; - background-color: #cfe5fa; -} -.claro .dijitTabContainerTabListNested .dijitTabChecked .tabLabel { - text-decoration: none; - background-image: none; -} -.claro .dijitTabPaneWrapperNested { - border: none; - -} -.dj_ie6 .claro .dijitTabContent, -.dj_ie6 .claro .dijitTabInnerDiv, -.dj_ie6 .dijitTabListContainer-top .tabStripButton, -.dj_ie6 .dijitTabListContainer-bottom .tabStripButton { - background-image: none; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/TabContainer.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/TabContainer.less deleted file mode 100644 index 691900eb..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/TabContainer.less +++ /dev/null @@ -1,408 +0,0 @@ -/* TabContainer - * - * Styling TabContainer means styling the TabList and Its content container (dijitTitlePane) - * - * Tab List: (including 4 kinds of tab location) - * .dijitTabContainerTop-tabs - tablist container at top - * .dijitTabContainerBottom-tabs - tablist container at bottom - * .dijitTabContainerLeft-tabs - tablist container at left - * .dijitTabContainerRight-tabs - tablist container at right - * - * Tab Strip Button: - * .dijitTabStripIcon - tab strip button icon - * .dijitTabStripMenuIcon - down arrow icon position - * .dijitTabStripSlideLeftIcon - left arrow icon position - * .dijitTabStripSlideRightIcon - right arrow icon position - * - * .tabStripButtonDisabled - styles for disabled tab strip buttons - * - * Tab Button: - * .dijitTabContainerTop-tabs .dijitTabInnerDiv/.dijitTabContent - styles for top tab button container - * .dijitTabContainerBottom-tabs .dijitTabInnerDiv/.dijitTabContent - styles for bottom tab button container - * .dijitTabContainerLeft-tabs .dijitTabInnerDiv/.dijitTabContent - styles for left tab button container - * .dijitTabContainerRight-tabs .dijitTabInnerDiv/.dijitTabContent - styles for right tab button container - * - * .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabInnerDiv/.dijitTabContent - * - styles for selected status of top tab button - * same to Bottom, Left, Right Tabs - * - * .dijitTabHover .dijitTabInnerDiv - styles when mouse hover on tab buttons - * .dijitTabActive .dijitTabInnerDiv - styles when mouse down on tab buttons - * .dijitTabChecked .dijitTabInnerDiv - styles when on buttons of selected tab - * - * .dijitTabCloseButton - the close action buttons lie at the right top of each tab button on closable tabs - * .dijitTabCloseButtonHover - styles when mouse hover on close action button - * .dijitTabCloseButtonActive - styles when mouse down on close action button - * - * Tab Button: (checked status) - * - * Tab Content Container: - * .dijitTabContainerTop-dijitContentPane - * .dijitTabContainerBottom-dijitContentPane - * .dijitTabContainerLeft-dijitContentPane - * .dijitTabContainerRight-dijitContentPane - for background and padding - * - * Nested Tabs: - * .dijitTabContainerNested - Container for nested tabs - * .dijitTabContainerTabListNested - tab list container for nested tabs - */ - -@import "../variables"; - -/*** some common features ***/ -.claro .dijitTabPaneWrapper { - background:@pane-background-color; -} -.claro .dijitTabPaneWrapper, -.claro .dijitTabContainerTop-tabs, -.claro .dijitTabContainerBottom-tabs, -.claro .dijitTabContainerLeft-tabs, -.claro .dijitTabContainerRight-tabs { - /* todo: add common class name for this div */ - border-color: @border-color; -} -.claro .dijitTabCloseButton { - background: url("images/tabClose.png") no-repeat; - width: 14px; - height: 14px; - margin-left: 5px; - margin-right:-5px; -} -.claro .dijitTabCloseButtonHover { - background-position:-14px; -} -.claro .dijitTabCloseButtonActive { - background-position:-28px; -} -.claro .dijitTabSpacer { - /* set the spacer invisible. note that height:0 doesn't work on IE/quirks, it's still 10px. */ - display: none; -} -.claro .dijitTabInnerDiv { - background-color:@unselected-background-color; - .transition-property(background-color, border); - .transition-duration(.35s); - color:@unselected-text-color; -} -.claro .dijitTabHover .dijitTabInnerDiv { - background-color:@hovered-background-color; - .transition-duration(.25s); - color:@hovered-text-color; -} -.claro .dijitTabActive .dijitTabInnerDiv { - background-color:@pressed-background-color; - color:@selected-text-color; - .transition-duration(.1s); -} -.claro .dijitTabChecked .dijitTabInnerDiv { - background-color:@selected-background-color; - color:@selected-text-color; -} - -.claro .dijitTabContent { - border: 1px solid @border-color; -} -.claro .dijitTabHover .dijitTabContent { - border-color: @hovered-border-color; -} -.claro .dijitTabActive .dijitTabContent { - border-color: @pressed-border-color; -} -.claro .dijitTabChecked .dijitTabContent { - color:@selected-text-color; // todo: redundant with .claro .dijitTabChecked .dijitTabInnerDiv above? - border-color: @border-color; // don't use @selected-border-color because need to match border of TabContainer -} - -.claro .tabStripButton .dijitTabInnerDiv { - background-color: transparent; -} -.claro .tabStripButton .dijitTabContent { - border: none; -} -/*** end common ***/ - - -/*************** top tab ***************/ -.claro .dijitTabContainerTop-tabs .dijitTab { - top: 1px; /* used for overlap */ - margin-right: 1px; - padding-top: 3px; -} -.dj_ie7 .claro .dijitTabContainerTop-tabs .dijitTab { - top: 3px; -} -/* for top tab padding. change height when status changes */ -.claro .dijitTabContainerTop-tabs .dijitTabContent { - padding:3px 6px; - border-bottom-width: 0; - background-image:url("images/tabTop.png"); - background-position:0 0; - background-repeat:repeat-x; - min-width: 60px; - text-align: center; -} -.claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabContent { - padding-bottom: 4px; - padding-top: 6px; -} - -/* normal status */ -.claro .dijitTabContainerTop-tabs .dijitTabInnerDiv { - background-image:url("images/tabTop.png"); - background-position:0 -248px; - background-position:bottom; - background-repeat:repeat-x; - .box-shadow(0 -1px 1px rgba(0, 0, 0, 0.04)); -} - -/* checked status */ -.claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabInnerDiv { - background-image:none; - .box-shadow(0 -1px 2px rgba(0, 0, 0, 0.05)); -} -.claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabContent { - background-position:0 -102px; - background-repeat:repeat-x; -} -/** end top tab **/ - - -/*************** bottom tab ***************/ -.claro .dijitTabContainerBottom-tabs .dijitTab { - top: -1px; /* used for overlap */ - margin-right: 1px; -} -/* calculate the position and size */ -.claro .dijitTabContainerBottom-tabs .dijitTabContent { - padding:3px 6px; - border-top-width: 0; - background-image: url("images/tabBottom.png"); - background-position:0 -249px; - background-repeat: repeat-x; - background-position:bottom; - min-width: 60px; - text-align: center; -} -.claro .dijitTabContainerBottom-tabs .dijitTab { - padding-bottom: 3px; -} -/* normal status */ -.claro .dijitTabContainerBottom-tabs .dijitTabInnerDiv { - background-image: url("images/tabBottom.png"); - background-position: top; - background-repeat: repeat-x; - .box-shadow(0 1px 1px rgba(0, 0, 0, 0.04)); - -} - -/* checked status */ -.claro .dijitTabContainerBottom-tabs .dijitTabChecked .dijitTabContent { - padding-bottom: 7px; - padding-top: 4px; - background-position:0 -119px; -} -.claro .dijitTabContainerBottom-tabs .dijitTabChecked { - padding-bottom: 0; -} -.claro .dijitTabContainerBottom-tabs .dijitTabChecked .dijitTabInnerDiv { - background-image:none; - .box-shadow(0 1px 2px rgba(0, 0, 0, 0.05)); -} -/** end bottom tab **/ - -/*************** left tab ***************/ -.claro .dijitTabContainerLeft-tabs .dijitTab { - border-right-width: 0; - left: 1px; /* used for overlap */ - margin-bottom: 1px; -} -/* normal status */ -.claro .dijitTabContainerLeft-tabs .dijitTabInnerDiv { - background-image: url("images/tabLeft.png"); - background-position: -347px -340px; - background-repeat: repeat-y; -} -.claro .dijitTabContainerLeft-tabs .dijitTabContent { - padding:3px 8px 4px 4px; - background-image: url("images/tabLeft.png"); - background-repeat: repeat-y; - background-position:0 0; -} -/* checked status */ -.claro .dijitTabContainerLeft-tabs .dijitTabChecked .dijitTabContent { - padding-right: 9px; - border-right: none; - background-image: none; -} -.claro .dijitTabContainerLeft-tabs .dijitTabChecked .dijitTabInnerDiv { - background-position:0 -179px; - background-repeat:repeat-y; - .box-shadow(-1px 0 2px rgba(0, 0, 0, .05)); -} -/** end left tab **/ - -/*************** right tab ***************/ -.claro .dijitTabContainerRight-tabs .dijitTab { - border-left-width: 0; - left: -1px; /* used for overlap */ - margin-bottom: 1px; -} -/* normal status */ -.claro .dijitTabContainerRight-tabs .dijitTabInnerDiv { - background-image: url("images/tabRight.png"); - background-repeat: repeat-y; - background-position: -1px -347px; -} -.claro .dijitTabContainerRight-tabs .dijitTabContent { - padding:3px 8px 4px 4px; - background-image: url("images/tabRight.png"); - background-position:right top; - background-repeat: repeat-y; -} -/* checked status */ -.claro .dijitTabContainerRight-tabs .dijitTabChecked .dijitTabContent { - padding-left: 5px; - border-left: none; - background-image: none; -} -.claro .dijitTabContainerRight-tabs .dijitTabChecked .dijitTabInnerDiv { - background-position:-348px -179px; - .box-shadow(1px 0 2px rgba(0, 0, 0, 0.07)); -} -/** end right tab **/ - -/** round corner **/ -.claro .dijitTabContainerTop-tabs .dijitTabInnerDiv, -.claro .dijitTabContainerTop-tabs .dijitTabContent { - .border-radius(2px 2px 0 0); -} -.claro .dijitTabContainerBottom-tabs .dijitTabInnerDiv, -.claro .dijitTabContainerBottom-tabs .dijitTabContent{ - .border-radius(0 0 2px 2px); -} -.claro .dijitTabContainerLeft-tabs .dijitTabInnerDiv, -.claro .dijitTabContainerLeft-tabs .dijitTabContent{ - .border-radius(2px 0 0 2px); -} - -.claro .dijitTabContainerRight-tabs .dijitTabInnerDiv, -.claro .dijitTabContainerRight-tabs .dijitTabContent{ - .border-radius(0 2px 2px 0); -} - -/************ left/right scroll buttons + menu button ************/ -.claro .tabStripButton { - background-color:@button-background-color; - border: 1px solid @border-color; -} -.claro .dijitTabListContainer-top .tabStripButton { - padding: 4px 3px; - margin-top:7px; - background-image: url("images/tabTop.png"); - background-position:0 0; -} -.claro .dijitTabListContainer-bottom .tabStripButton { - padding:5px 3px; - margin-bottom:4px; - background-image: url("images/tabTop.png"); - background-position:0 -248px; - background-position:bottom; -} -.claro .tabStripButtonHover { - background-color:@hovered-background-color; -} -.claro .tabStripButtonActive { - background-color:@pressed-background-color; -} -.claro .dijitTabStripIcon { - height:15px; - width:15px; - margin: 0 auto; - background:url("../form/images/buttonArrows.png") no-repeat -75px 50%; - background-color: transparent; -} -.claro .dijitTabStripSlideRightIcon{ - background-position: -24px 50%; -} -.claro .dijitTabStripMenuIcon { - background-position: -51px 50%; -} - -/*disabled styles for tab strip buttons*/ -.claro .dijitTabListContainer-top .tabStripButtonDisabled, -.claro .dijitTabListContainer-bottom .tabStripButtonDisabled { - background-color:@tab-disabled-background-color; - border:1px solid @border-color; /* to match border of TabContainer itself */ -} -.claro .tabStripButtonDisabled .dijitTabStripSlideLeftIcon { - background-position:-175px 50%; -} -.claro .tabStripButtonDisabled .dijitTabStripSlideRightIcon { - background-position: -124px 50%; -} -.claro .tabStripButtonDisabled .dijitTabStripMenuIcon { - background-position: -151px 50%; -} -/* Nested Tabs */ -.claro .dijitTabContainerNested .dijitTabListWrapper { - height: auto; -} -.claro .dijitTabContainerNested .dijitTabContainerTop-tabs { - border-bottom:solid 1px @border-color; - padding:1px 2px 4px; - margin-top:-2px; -} -.claro .dijitTabContainerTabListNested .dijitTabContent { - background:rgba(255, 255, 255, 0) none repeat scroll 0 0; - border: none; - padding: 4px; - border-color: rgba(118,157,192,0); - .transition-property(background-color, border-color); - .transition-duration(.3s); - .border-radius(2px); -} -.claro .dijitTabContainerTabListNested .dijitTab .dijitTabInnerDiv { - /* 4 element selector to override box-shadow setting from above rule: - * .claro .dijitTabContainerTop-tabs .dijitTabChecked .dijitTabInnerDiv { ... } - */ - background: none; - border: none; - top: 0;/* to override top: 1px/-1px for normal tabs */ - .box-shadow(none); -} -.claro .dijitTabContainerTabListNested .dijitTabHover .dijitTabContent { - background-color: @nestedtab-hovered-background-color; - border:solid 1px @nestedtab-hovered-border-color; - padding: 3px; - .transition-duration(.2s); -} -.claro .dijitTabContainerTabListNested .dijitTabHover .tabLabel { - text-decoration: none; -} -.claro .dijitTabContainerTabListNested .dijitTabActive .dijitTabContent { - border:solid 1px @nestedtab-selected-border-color; - padding: 3px; - background: @nestedtab-selected-background-color url("images/tabNested.png") repeat-x; - .transition-duration(.1s); -} -.claro .dijitTabContainerTabListNested .dijitTabChecked .dijitTabContent { - padding: 3px; - border:solid 1px @selected-border-color; - background-position: 0 105px; - background-color:@selected-background-color; -} -.claro .dijitTabContainerTabListNested .dijitTabChecked .tabLabel { - text-decoration: none; - background-image:none; -} -.claro .dijitTabPaneWrapperNested { - border: none;/* prevent double border */ -} - - -.dj_ie6 .claro .dijitTabContent, -.dj_ie6 .claro .dijitTabInnerDiv, -.dj_ie6 .dijitTabListContainer-top .tabStripButton, -.dj_ie6 .dijitTabListContainer-bottom .tabStripButton{ - background-image: none; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/TabContainer_rtl.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/TabContainer_rtl.css deleted file mode 100644 index 8110dbe8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/TabContainer_rtl.css +++ /dev/null @@ -1,60 +0,0 @@ -.claro .dijitTabContainerTop-tabs .dijitTabRtl, .claro .dijitTabContainerBottom-tabs .dijitTabRtl { - margin-right: 0; - margin-left: 1px; -} -.claro .dijitTabRtl { - -moz-box-orient: horizontal; - text-align: right; -} -.dj_ie7 .claro .dijitTabRtl .dijitTabContent { - display: block; - left: 0; -} -.dj_ie7 .claro .dijitTabContainerTop-tabs .dijitTabRtl, .dj_ie7 .claro .dijitTabContainerTop-tabs .dijitTabCheckedRtl { - top: 1px; -} -.dj_ie7 .claro .tabStripButtonRtl .dijitButtonContents, -.dj_ie8 .claro .tabStripButtonRtl .dijitButtonContents, -.dj_ie6 .claro .dijitTabContainerTop-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_ie6 .claro .dijitTabContainerBottom-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_ie7 .claro .dijitTabContainerTop-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_ie7 .claro .dijitTabContainerBottom-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_iequirks .claro .dijitTabContainerTop-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_iequirks .claro .dijitTabContainerBottom-tabs .dijitTabRtl .dijitTabInnerDiv { - float: left; -} -.dj_ie6 .claro .dijitTabRtl .tabLabel, -.dj_ie6 .claro .dijitTabContainerRight-tabs .dijitTabRtl, -.dj_ie6 .claro .dijitTabContainerLeft-tabs .dijitTabRtl, -.dj_ie7 .claro .dijitTabContainerRight-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_ie7 .claro .dijitTabContainerLeft-tabs .dijitTabRtl .dijitTabInnerDiv { - - zoom: 1; -} -.dj_ie6 .claro .dijitTabRtl .dijitTabCloseButton, .dj_ie7 .claro .dijitTabRtl .dijitTabCloseButton, .dj_iequirks .claro .dijitTabRtl .dijitTabCloseButton { - margin-right: 5px; -} -.dj_ie6 .claro .dijitTabContainerRightRtl .dijitTabContainerRight-tabs, .dj_ie6 .claro .dijitTabContainerLeftRtl .dijitTabContainerLeft-tabs { - width: 1%; -} -.dj_ie6 .dijitTabContainerTopStrip, .dj_ie6 .dijitTabContainerBottomStrip { - position: absolute; -} -.dj_iequirks .claro .dijitTabContainerTopRtl .dijitTabContainerTopStrip { - padding-top: 10px; -} -.dj_ie7 .claro .dijitTabContainerRight-tabs .dijitTabRtlChecked .dijitTabInnerDiv { - background-position: -341px -179px; -} -.dj_ie6 .dijitTabContainerTopRtl .dijitTabStripIcon, .dj_ie6 .dijitTabContainerBottomRtl .dijitTabStripIcon { - position: relative; -} -.dj_ie6-rtl .claro .dijitTabContainerTop-tabs { - - padding-left: 3px; -} -.dj_iequirks-rtl .claro .dijitTabListWrapper { - - border-left: 1px solid #ffffff; - border-right: 1px solid #ffffff; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/TabContainer_rtl.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/TabContainer_rtl.less deleted file mode 100644 index eaada0d0..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/TabContainer_rtl.less +++ /dev/null @@ -1,81 +0,0 @@ -@import "../variables"; - -.claro .dijitTabContainerTop-tabs .dijitTabRtl, -.claro .dijitTabContainerBottom-tabs .dijitTabRtl { - margin-right: 0; - margin-left: 1px; -} -.claro .dijitTabRtl { - -moz-box-orient:horizontal; - text-align: right; -} -.dj_ie7 .claro .dijitTabRtl .dijitTabContent { - display: block; - left: 0; -} -.dj_ie7 .claro .dijitTabContainerTop-tabs .dijitTabRtl, -.dj_ie7 .claro .dijitTabContainerTop-tabs .dijitTabCheckedRtl { - top: 1px; -} - -// Note that .tabStripButtonRtl .dijitButtonContents needed for IE8 quirks but breaks IE6 quirks -.dj_ie7 .claro .tabStripButtonRtl .dijitButtonContents, -.dj_ie8 .claro .tabStripButtonRtl .dijitButtonContents, -.dj_ie6 .claro .dijitTabContainerTop-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_ie6 .claro .dijitTabContainerBottom-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_ie7 .claro .dijitTabContainerTop-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_ie7 .claro .dijitTabContainerBottom-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_iequirks .claro .dijitTabContainerTop-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_iequirks .claro .dijitTabContainerBottom-tabs .dijitTabRtl .dijitTabInnerDiv { - float:left; -} -.dj_ie6 .claro .dijitTabRtl .tabLabel, -.dj_ie6 .claro .dijitTabContainerRight-tabs .dijitTabRtl, -.dj_ie6 .claro .dijitTabContainerLeft-tabs .dijitTabRtl, -.dj_ie7 .claro .dijitTabContainerRight-tabs .dijitTabRtl .dijitTabInnerDiv, -.dj_ie7 .claro .dijitTabContainerLeft-tabs .dijitTabRtl .dijitTabInnerDiv { - /*Make the .tablabel have width in ie6 with haslayout property, fix Close icon position bug*/ - zoom:1; -} -.dj_ie6 .claro .dijitTabRtl .dijitTabCloseButton, -.dj_ie7 .claro .dijitTabRtl .dijitTabCloseButton, -.dj_iequirks .claro .dijitTabRtl .dijitTabCloseButton { - margin-right:5px; -} - -.dj_ie6 .claro .dijitTabContainerRightRtl .dijitTabContainerRight-tabs, -.dj_ie6 .claro .dijitTabContainerLeftRtl .dijitTabContainerLeft-tabs { - width:1%; -} - -.dj_ie6 .dijitTabContainerTopStrip, -.dj_ie6 .dijitTabContainerBottomStrip { - position:absolute; -} -.dj_iequirks .claro .dijitTabContainerTopRtl .dijitTabContainerTopStrip { - padding-top: 10px; -} -.dj_ie7 .claro .dijitTabContainerRight-tabs .dijitTabRtlChecked .dijitTabInnerDiv { - background-position:-341px -179px; -} - -.dj_ie6 .dijitTabContainerTopRtl .dijitTabStripIcon, -.dj_ie6 .dijitTabContainerBottomRtl .dijitTabStripIcon { - position: relative; -} - - -.dj_ie6-rtl .claro .dijitTabContainerTop-tabs { - /* this strange rule prevents IE6 bug in themeTester.html?dir=rtl upon closing - * "Closable" tab, where the other tabs disappear - */ - padding-left: 3px; -} - -.dj_iequirks-rtl .claro .dijitTabListWrapper { - /* this strange rule prevents IE6 bug in themeTesterQuirk.html?dir=rtl upon closing - * "Closable" tab, where the other tabs disappear - */ - border-left: 1px solid @pane-background-color; - border-right: 1px solid @pane-background-color; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/accordion.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/accordion.png deleted file mode 100644 index 48181035..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/accordion.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/splitterHorizontalHover.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/splitterHorizontalHover.png deleted file mode 100644 index 0f5b691f..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/splitterHorizontalHover.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/splitterVerticalHover.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/splitterVerticalHover.png deleted file mode 100644 index 2c3c6960..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/splitterVerticalHover.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabBottom.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabBottom.png deleted file mode 100644 index dbcfc851..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabBottom.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabClose.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabClose.png deleted file mode 100644 index f3b23639..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabClose.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabLeft.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabLeft.png deleted file mode 100644 index 8e9fcba2..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabLeft.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabNested.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabNested.png deleted file mode 100644 index 0140cf45..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabNested.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabRight.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabRight.png deleted file mode 100644 index 0aaae53a..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabRight.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabTop.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabTop.png deleted file mode 100644 index 2822487e..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/layout/images/tabTop.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/variables.less b/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/variables.less deleted file mode 100644 index 8d09c251..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/claro/variables.less +++ /dev/null @@ -1,189 +0,0 @@ -// General -@text-color: #000000; // Text color for enabled widgets - -@border-color: #b5bcc7; // Border color for (enabled, unhovered) TextBox, Slider, Accordion, BorderContainer, TabContainer -@popup-border-color: #769dc0; // Border for Dialog, Menu, Tooltip. Must also update tooltip.png (the arrow image file) to match -@minor-border-color: #d3d3d3; // Color of borders inside widgets: horizontal line in Calendar between weeks, around color swatches in ColorPalette, above Dialog action bar - -@disabled-border-color: #d3d3d3; // Border color for disabled/readonly Button, TextBox etc. widgets -@disabled-background-color: #efefef;// Disabled button, textbox, etc. -@disabled-text-color: #818181; // Text color for disabled/readonly widgets - -@unselected-background-color: #efefef;// Background color for unselected/unopened tab button, accordion pane, TitlePane, Menu items -@unselected-text-color: #4a4a4a; // Text color for unselected/unopened tab button, accordion pane, TitlePane, Menu items - -@hovered-border-color: #769dc0; // Hover of textbox, tab label, BorderContainer splitter, Calendar, etc. -@hovered-background-color: #abd6ff; // Background color for hover of Button, MenuBar, Accordion pane, Calendar... anything that has a (non-white) color to start with and gets darker on hover -@hovered-text-color: @text-color; // Used for title of select Accordion pane, label of select tab, hovered Menu item, etc. - -@pressed-border-color: #769dc0; // During click on Calendar day, Slider up/down buttons, tab button, etc. -@pressed-background-color: #7dbefa; // Background color while clicking on Accordion/TitlePane title bar, tab button, Calendar day, Toolbar button, Tree row. - -@selected-border-color: #769dc0; // Selected AccordionPane, tab of nested TabContainer (but plain TabContainer is special) -@selected-background-color: #cfe5fa;// Selected Accordion pane, nested tab label, Tree row -@selected-text-color: @text-color; // title of selected Accordion pane, label of selected tab, hovered Menu item, etc. - -@bar-background-color: #efefef; // MenuBar, Toolbar, action bar at bottom of dialog -@pane-background-color: #fff; // Background color of Accordion panes, Dialogs, etc. -@popup-background-color: #fff; // Background for Dialog. TODO: currently use for ColorPalette, maybe should change. - - - -// Buttons -@button-border-color: #769dc0; // Border for (stand-alone) buttons in normal, hovered, or active state -@button-background-color: #e9f4fe; // Background color for (unhovered) buttons -@button-hovered-background-color: #abd6ff; // Background color for hovered buttons -@button-pressed-background-color: #abd6ff; // Background color for active buttons -@button-border-radius: 4px; // Rounded corner radius for buttons (except in toolbar) - -// Input widgets -@focused-border-color: #769dc0; // Focused textbox, editor, select, etc. -@error-border-color: #d46464; // Border for textbox in error state -@error-focused-border-color: #ce4f4f; // Border of textbox in error state, and focused -@erroricon-background-color: #d46464; // Background color for exclamation point validation icon (for TextBox in error state) -@textbox-background-color: #fff; // Default background color of TextBox based widgets -@textbox-hovered-background-color: #e9f4fe; // Background color when hovering a unfocused TextBox, Select, Editor, or other input widget -@textbox-focused-background-color: @textbox-background-color; -@textbox-error-background-color: @textbox-background-color; -@textbox-disabled-background-color: @disabled-background-color; - -@textbox-padding: 2px; // Padding for Textbox, Textarea, etc. - -// CheckBox, RadioButton -@focus-outline-color: #4a4a4a; // Color for artificial focus outline around labels of checkboxes - -// TabContainer -@nestedtab-hovered-background-color: @textbox-hovered-background-color; -@nestedtab-hovered-border-color: #cfe5fa; -@nestedtab-selected-border-color: @selected-border-color; -@nestedtab-selected-background-color: #abd6ff; -@tab-disabled-background-color: #d3d3d3; // For disabled tabs of a TabContainer (not officially supported) - -// Arrow buttons (stand alone, or inside ComboBox / ComboButton / Spinner / etc. -@arrowbutton-background-color: #efefef; -@arrowbutton-hovered-background-color: #abd6ff; // Color of arrow when hovering ComboBox. But hovering Spinner doesn't change arrow color (TODO) -@arrowbutton-pressed-background-color: #abd6ff; -@arrowbutton-inner-border-color: #fff; // Typically the arrows have an inner white border (a.k.a. padding) and then an outer black-ish border - -// Slider -// Note: any changes here require corresponding changes in form/images/sliderThumbs.png -@slider-fullbar-background-color: #cfe5fa; // Background color for part of slider bar before (to the left or below) the handle -@slider-remainingbar-background-color: #fff; // Background color for part of slider bar after (to the right or above) the handle -@slider-hovered-fullbar-background-color: #abd6ff; // Background color for part of bar of hovered slider before (to the left or below) the handle -@slider-hovered-remainingbar-background-color: #fff;// Background color for part of bar of hovered slider after (to the right or above) the handle -@slider-hoveredButton-background-color: #fff; // Background color of slider increment/decrement buttons when mouse is over slider but not over the buttons -@slider-focused-fullbar-background-color: #abd6ff; // Background color for part of bar of focused slider before (to the left or below) the handle -@slider-focused-remainingbar-background-color: #fff;// Background color for part of bar of focused slider after (to the right or above) the handle -@slider-button-hovered-background-color: #cfe5fa; // Background color of slider increment/decrement buttons when mouse is over the buttons -@slider-button-pressed-background-color: #abd6ff; // Background color of slider increment/decrement buttons while button is depressed - -// Select, ComboBox -@select-dropdownitem-background-color: #fff; // Background color for items in the drop down list of a ComboBox/Select -@select-dropdownitem-hovered-background-color: #7dbefa; // Background color for the hovered item in the drop down list of a ComboBox/Select -@select-matchedtext-background-color: #abd6ff; // Background color of text in ComboBox drop down that matches typed in phrase - -// Menus -@menu-background-color: @popup-background-color; - -// Calendar -@calendar-background-color: #cfe5fa; -@calendar-currentmonth-background-color: #fff; // Background color for days of the current month -@calendar-adjacentmonth-background-color: #e9f4fe; // Background color used for days from previous or next month -@calendar-adjacentmonth-text-color: #769dc0; // Text color used for days from previous or next month -@calendar-date-pressed-border-color: #fff; // For some reason pressing a day of the month (as opposed to hovering it) makes the border go away, is this intentional? -@calendar-date-pressed-background-color: @pressed-background-color; -@calendar-date-selected-border-color: @selected-border-color; -@calendar-date-selected-background-color: #abd6ff; -@calendar-button-hovered-background-color: #e9f4fe; // for hover or next/previous year, and month drop down (TODO: border and background are built in to calendarArrows.png, can't control from here) -@calendar-button-hovered-border-color: #fff; // for hover or next/previous year, and month drop down -@calendar-button-pressed-background-color: #cfe5fa; -@calendar-button-pressed-border-color: @pressed-border-color; - - -// ProgressBar -@progressbar-border-color: @popup-border-color; // Border color of progress bar -@progressbar-full-background-color:#abd6ff; // Background color for part of progress bar indicating amount completed -@progressbar-empty-background-color: #fff; // Background color for part of progress bar indicating amount remaining -@progressbar-text-color: @text-color; // Color of progress bar text (ex: "35%"). Must contrast with both empty and full background colors. - -// TimePicker -@timepicker-minorvalue-background-color: #efefef; // For 3:15, 3:30, 3:45 but not 3:00 or 4:00 -@timepicker-minorvalue-text-color: #818181; -@timepicker-majorvalue-background-color: #e9f4fe; // For 3:00, 4:00, 5:00, etc. -@timepicker-value-hovered-background-color: #7dbefa; -@timepicker-value-hovered-text-color: @hovered-text-color; -@timepicker-arrow-hovered-background-color: #abd6ff; - -// ColorPalette -@colorpalette-background-color: #fff; -@swatch-border-color: @minor-border-color; -@swatch-hovered-border-color: #000; -@swatch-selected-border-color: #000; - -// Dialog -@dialog-underlay-color: #fff; // the thing that grays out the screen when a dialog is shown -@dialog-titlebar-border-color: #fff; // Inner border around the title sectionof a Dialog, inside the main border of the Dialog and the border between title and content -@dialog-titlebar-background-color: #abd6ff; - -// BorderContainer -@splitter-hovered-background-color: #cfe5fa; // Color of splitter when user hovers it, before mouse down -@splitter-dragged-background-color: #abd6ff; // Color of splitter while it's being dragged - -// Toolbar -@toolbar-button-checked-background-color: #fff; // a toggled-on button in the toolbar -@toolbar-combobutton-hovered-unhoveredsection-background-color: #f4ffff; // when user hovers a ComboButton in a Toolbar, the other half of the button turns this color -@toolbar-button-border-radius: 2px; // Rounded corner radius for buttons for buttons in toolbar - -// DnD -@dnd-avatar-background-color: #fff; // Background color of little Dialog-type box indicating dragged items -@dnd-avatar-header-background-color: #f58383; // Title bar for dragged items -@dnd-avatar-candrop-header-background-color: #97e68d;// Title bar for dragged items when they can be dropped -@dnd-dropseparator-color: #769dc0; // Color of line indicating that user is about to drop between items A & B - -// Document level -@document-text-color: #131313; // Text color for document itself (text outside of widgets) -@document-shadedsection-background-color: @bar-background-color;// background color used for <pre>, <code>, and table header rows -@document-border-color: #d3d3d3; // Border for <pre>, <code>, tables, etc. - -// Mixins - -.border-radius (@radius) { - -moz-border-radius: @radius; - border-radius: @radius; -} - -.box-shadow (@value) { - -webkit-box-shadow: @value; - -moz-box-shadow: @value; - box-shadow: @value; -} - -.transition-property (@value) { - -webkit-transition-property: @value; - -moz-transition-property: @value; - transition-property: @value; -} - -.transition-property (@value1, @value2) { - -webkit-transition-property: @value1, @value2; - -moz-transition-property: @value1, @value2; - transition-property: @value1, @value2; -} - -.transition-duration (@value) { - -webkit-transition-duration: @value; - -moz-transition-duration: @value; - transition-duration: @value; -} - -.transition-duration (@value1, @value2) { - -webkit-transition-duration: @value1, @value2; - -moz-transition-duration: @value1, @value2; - transition-duration: @value1, @value2; -} - -.transition-timing-function (@value) { - -webkit-transition-timing-function: @value; - -moz-transition-timing-function: @value; - transition-timing-function: @value; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/dijit.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/dijit.css deleted file mode 100644 index 0d5157df..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/dijit.css +++ /dev/null @@ -1,1636 +0,0 @@ - -.dijitReset { - - margin:0; - border:0; - padding:0; - line-height:normal; - font: inherit; - color: inherit; -} -.dijit_a11y .dijitReset { - -moz-appearance: none; -} -.dijitInline { - - display:inline-block; - #zoom: 1; - #display:inline; - border:0; - padding:0; - vertical-align:middle; - #vertical-align: auto; -} -.dijitHidden { - - display: none !important; -} -.dijitVisible { - - display: block !important; - position: relative; -} -.dijitInputContainer { - - #zoom: 1; - overflow: hidden; - float: none !important; - position: relative; - vertical-align: middle; - #display: inline; -} -.dj_ie INPUT.dijitTextBox, -.dj_ie .dijitTextBox INPUT { - font-size: 100%; -} -.dijitTextBox .dijitSpinnerButtonContainer, -.dijitTextBox .dijitArrowButtonContainer, -.dijitTextBox .dijitValidationContainer { - float: right; - text-align: center; -} -.dijitTextBox INPUT.dijitInputField { - - padding-left: 0 !important; - padding-right: 0 !important; -} -.dijitTextBox .dijitValidationContainer { - display: none; -} -.dijitInlineTable { - - display:inline-table; - display:inline-block; - #zoom: 1; - #display:inline; - box-sizing: content-box; -moz-box-sizing: content-box; - border:0; - padding:0; -} -.dijitTeeny { - font-size:1px; - line-height:1px; -} -.dijitOffScreen { - position: absolute; - left: 50%; - top: -10000px; -} -.dijitPopup { - position: absolute; - background-color: transparent; - margin: 0; - border: 0; - padding: 0; -} -.dijitPositionOnly { - - padding: 0 !important; - border: 0 !important; - background-color: transparent !important; - background-image: none !important; - height: auto !important; - width: auto !important; -} -.dijitNonPositionOnly { - - float: none !important; - position: static !important; - margin: 0 0 0 0 !important; - vertical-align: middle !important; -} -.dijitBackgroundIframe { - - position: absolute; - left: 0; - top: 0; - width: 100%; - height: 100%; - z-index: -1; - border: 0; - padding: 0; - margin: 0; -} -.dijitDisplayNone { - - display:none !important; -} -.dijitContainer { - - overflow: hidden; -} -.dijit_a11y .dijitIcon, -.dijit_a11y DIV.dijitArrowButtonInner, -.dijit_a11y SPAN.dijitArrowButtonInner, -.dijit_a11y IMG.dijitArrowButtonInner, -.dijit_a11y .dijitCalendarIncrementControl, -.dijit_a11y .dijitTreeExpando { - - display: none; -} -.dijitSpinner DIV.dijitArrowButtonInner { - display: block; -} -.dijit_a11y .dijitA11ySideArrow { - display: inline !important; - cursor: pointer; -} -.dijit_a11y .dijitCalendarDateLabel { - padding: 1px; -} -.dijit_a11y .dijitCalendarSelectedDate .dijitCalendarDateLabel { - border-style: dotted !important; - border-width: 1px; - padding: 0; -} -.dijit_a11y .dijitCalendarDateTemplate { - padding-bottom: 0.1em !important; -} -.dijit_a11y .dijitButtonNode { - border: black outset medium !important; - - padding: 0 !important; -} -.dijit_a11y .dijitTextBoxReadOnly .dijitInputField, -.dijit_a11y .dijitTextBoxReadOnly .dijitButtonNode { - border-style: outset!important; - border-width: medium!important; - border-color: #999 !important; - color:#999 !important; -} -.dijitButtonNode * { - vertical-align: middle; -} -.dijitButtonNode .dijitArrowButtonInner { - - background: no-repeat center; - width: 12px; - height: 12px; - direction: ltr; -} -.dijitLeft { - - background-position:left top; - background-repeat:no-repeat; -} -.dijitStretch { - - white-space:nowrap; - background-repeat:repeat-x; -} -.dijitRight { - - #display:inline; - background-position:right top; - background-repeat:no-repeat; -} -.dijitToggleButton, -.dijitButton, -.dijitDropDownButton, -.dijitComboButton { - - margin: 0.2em; - vertical-align: middle; -} -.dijitButtonContents { - display: block; -} -td.dijitButtonContents { - display: table-cell; -} -.dijitButtonNode IMG { - - vertical-align:middle; - -} -.dijitToolbar .dijitComboButton { - - border-collapse: separate; -} -.dijitToolbar .dijitToggleButton, -.dijitToolbar .dijitButton, -.dijitToolbar .dijitDropDownButton, -.dijitToolbar .dijitComboButton { - margin: 0; -} -.dijitToolbar .dijitButtonContents { - - padding: 1px 2px; -} -.dj_webkit .dijitToolbar .dijitDropDownButton { - padding-left: 0.3em; -} -.dj_gecko .dijitToolbar .dijitButtonNode::-moz-focus-inner { - padding:0; -} -.dijitButtonNode { - - border:1px solid gray; - margin:0; - line-height:normal; - vertical-align: middle; - #vertical-align: auto; - text-align:center; - white-space: nowrap; -} -.dj_webkit .dijitSpinner .dijitSpinnerButtonContainer { - - line-height:inherit; -} -.dijitTextBox .dijitButtonNode { - border-width: 0; -} -.dijitButtonNode, -.dijitButtonNode * { - cursor: pointer; -} -.dj_ie .dijitButtonNode { - - zoom: 1; -} -.dj_ie .dijitButtonNode button { - - overflow: visible; -} -DIV.dijitArrowButton { - float: right; -} -.dijitTextBox { - border: solid black 1px; - #overflow: hidden; - width: 15em; - vertical-align: middle; -} -.dijitTextBoxReadOnly, -.dijitTextBoxDisabled { - color: gray; -} -.dj_webkit .dijitTextBoxDisabled INPUT { - color: #eee; -} -.dj_webkit TEXTAREA.dijitTextAreaDisabled { - color: #333; -} -.dj_gecko .dijitTextBoxReadOnly INPUT.dijitInputField, -.dj_gecko .dijitTextBoxDisabled INPUT { - -moz-user-input: none; -} -.dijitPlaceHolder { - - color: #AAAAAA; - font-style: italic; - position: absolute; - top: 0; - left: 0; - #filter: ""; -} -.dijitTimeTextBox { - width: 8em; -} -.dijitTextBox INPUT:focus { - outline: none; -} -.dijitTextBoxFocused { - outline: auto 5px -webkit-focus-ring-color; -} -.dijitTextBox INPUT { - float: left; -} -.dijitInputInner { - - border:0 !important; - vertical-align:middle !important; - background-color:transparent !important; - width:100% !important; - - padding-left: 0 !important; - padding-right: 0 !important; - margin-left: 0 !important; - margin-right: 0 !important; -} -.dijit_a11y .dijitTextBox INPUT { - margin: 0 !important; -} -.dijitTextBoxError INPUT.dijitValidationInner, -.dijitTextBox INPUT.dijitArrowButtonInner { - - text-indent: -1em !important; - direction: ltr !important; - text-align: left !important; - height: auto !important; - #text-indent: 0 !important; - #letter-spacing: -5em !important; - #text-align: right !important; -} -.dj_ie .dijitTextBox INPUT, -.dj_ie INPUT.dijitTextBox { - overflow-y: visible; - line-height: normal; -} -.dj_ie7 .dijitTextBox INPUT.dijitValidationInner, -.dj_ie7 .dijitTextBox INPUT.dijitArrowButtonInner { - line-height: 86%; -} -.dj_ie6 .dijitTextBox INPUT, -.dj_ie6 INPUT.dijitTextBox, -.dj_iequirks .dijitTextBox INPUT.dijitValidationInner, -.dj_iequirks .dijitTextBox INPUT.dijitArrowButtonInner, -.dj_iequirks .dijitTextBox INPUT.dijitSpinnerButtonInner, -.dj_iequirks .dijitTextBox INPUT.dijitInputInner, -.dj_iequirks INPUT.dijitTextBox { - line-height: 100%; -} -.dijit_a11y INPUT.dijitValidationInner, -.dijit_a11y INPUT.dijitArrowButtonInner { - - text-indent: 0 !important; - width: 1em !important; - #text-align: left !important; -} -.dijitTextBoxError .dijitValidationContainer { - display: inline; - cursor: default; -} -.dijitSpinner .dijitSpinnerButtonContainer, -.dijitComboBox .dijitArrowButtonContainer { - - border-width: 0 0 0 1px !important; -} -.dijitToolbar .dijitComboBox .dijitArrowButtonContainer { - - border-width: 0 !important; -} -.dijitComboBoxMenu { - - list-style-type: none; -} -.dijitSpinner .dijitSpinnerButtonContainer .dijitButtonNode { - - border-width: 0; -} -.dj_ie .dijit_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitButtonNode { - clear: both; -} -.dj_ie .dijitToolbar .dijitComboBox { - - vertical-align: middle; -} -.dijitTextBox .dijitSpinnerButtonContainer { - width: 1em; - position: relative !important; - overflow: hidden; -} -.dijitSpinner .dijitSpinnerButtonInner { - width:1em; - visibility:hidden !important; - overflow-x:hidden; -} -.dijitComboBox .dijitButtonNode, -.dijitSpinnerButtonContainer .dijitButtonNode { - border-width: 0; -} -.dijit_a11y .dijitSpinnerButtonContainer .dijitButtonNode { - border: 0 none !important; -} -.dijit_a11y .dijitTextBox .dijitSpinnerButtonContainer, -.dijit_a11y .dijitSpinner .dijitArrowButtonInner, -.dijit_a11y .dijitSpinnerButtonContainer INPUT { - width: 1em !important; -} -.dijit_a11y .dijitSpinner .dijitArrowButtonInner { - margin: 0 auto !important; -} -.dj_ie .dijit_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField { - padding-left: 0.3em !important; - padding-right: 0.3em !important; - margin-left: 0.3em !important; - margin-right: 0.3em !important; - width: 1.4em !important; -} -.dj_ie7 .dijit_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField { - padding-left: 0 !important; - padding-right: 0 !important; - width: 1em !important; -} -.dj_ie6 .dijit_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField { - margin-left: 0.1em !important; - margin-right: 0.1em !important; - width: 1em !important; -} -.dj_iequirks .dijit_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField { - margin-left: 0 !important; - margin-right: 0 !important; - width: 2em !important; -} -.dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton { - - padding: 0; - position: absolute !important; - right: 0; - float: none; - height: 50%; - width: 100%; - bottom: auto; - left: 0; - right: auto; -} -.dj_iequirks .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton { - width: auto; -} -.dijit_a11y .dijitSpinnerButtonContainer .dijitArrowButton { - overflow: visible !important; -} -.dijitSpinner .dijitSpinnerButtonContainer .dijitDownArrowButton { - top: 50%; - border-top-width: 1px !important; -} -.dijitSpinner .dijitSpinnerButtonContainer .dijitUpArrowButton { - #bottom: 50%; - top: 0; -} -.dijitSpinner .dijitArrowButtonInner { - margin: auto; - overflow-x: hidden; - height: 100% !important; -} -.dj_iequirks .dijitSpinner .dijitArrowButtonInner { - height: auto !important; -} -.dijitSpinner .dijitArrowButtonInner .dijitInputField { - -moz-transform: scale(0.5); - -moz-transform-origin: center top; - -webkit-transform: scale(0.5); - -webkit-transform-origin: center top; - -o-transform: scale(0.5); - -o-transform-origin: center top; - transform: scale(0.5); - transform-origin: left top; - padding-top: 0; - padding-bottom: 0; - padding-left: 0 !important; - padding-right: 0 !important; - width: 100%; -} -.dj_ie .dijitSpinner .dijitArrowButtonInner .dijitInputField { - zoom: 50%; -} -.dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButtonInner { - overflow: hidden; -} -.dijit_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton { - width: 100%; -} -.dj_iequirks .dijit_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton { - width: 1em; -} -.dijitSpinner .dijitArrowButtonInner .dijitInputField { - visibility: hidden; -} -.dijit_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField { - vertical-align:top; - visibility: visible; -} -.dijit_a11y .dijitSpinnerButtonContainer { - width: 1em; -} -.dijit_a11y .dijitSpinnerButtonContainer .dijitButtonNode { - border-width: 1px 0 0 0; - border-style: solid !important; -} -.dijitCheckBox, -.dijitRadio, -.dijitCheckBoxInput { - padding: 0; - border: 0; - width: 16px; - height: 16px; - background-position:center center; - background-repeat:no-repeat; - overflow: hidden; -} -.dijitCheckBox INPUT, -.dijitRadio INPUT { - margin: 0; - padding: 0; - display: block; -} -.dijitCheckBoxInput { - - opacity: 0.01; -} -.dj_ie .dijitCheckBoxInput { - filter: alpha(opacity=0); -} -.dijit_a11y .dijitCheckBox, -.dijit_a11y .dijitRadio { - - width: auto !important; - height: auto !important; -} -.dijit_a11y .dijitCheckBoxInput { - opacity: 1; - filter: none; - width: auto; - height: auto; -} -.dijitProgressBarEmpty { - - position:relative;overflow:hidden; - border:1px solid black; - z-index:0; -} -.dijitProgressBarFull { - - position:absolute; - overflow:hidden; - z-index:-1; - top:0; - width:100%; -} -.dj_ie6 .dijitProgressBarFull { - height:1.6em; -} -.dijitProgressBarTile { - - position:absolute; - overflow:hidden; - top:0; - left:0; - bottom:0; - right:0; - margin:0; - padding:0; - width:auto; - height:auto; - background-color:#aaa; - background-attachment: fixed; -} -.dijit_a11y .dijitProgressBarTile { - - border-width:2px; - border-style:solid; - background-color:transparent !important; -} -.dj_ie6 .dijitProgressBarTile { - - position:static; - - height:1.6em; -} -.dijitProgressBarIndeterminate .dijitProgressBarTile { - -} -.dijitProgressBarIndeterminateHighContrastImage { - display:none; -} -.dijit_a11y .dijitProgressBarIndeterminate .dijitProgressBarIndeterminateHighContrastImage { - display:block; - position:absolute; - top:0; - bottom:0; - margin:0; - padding:0; - width:100%; - height:auto; -} -.dijitProgressBarLabel { - display:block; - position:static; - width:100%; - text-align:center; - background-color:transparent !important; -} -.dijitTooltip { - position: absolute; - z-index: 2000; - display: block; - - left: 0; - top: -10000px; - overflow: visible; -} -.dijitTooltipContainer { - border: solid black 2px; - background: #b8b5b5; - color: black; - font-size: small; -} -.dijitTooltipFocusNode { - padding: 2px 2px 2px 2px; -} -.dijitTooltipConnector { - position: absolute; -} -.dijit_a11y .dijitTooltipConnector { - display: none; -} -.dijitTooltipData { - display:none; -} -.dijitLayoutContainer { - position: relative; - display: block; - overflow: hidden; -} -body .dijitAlignTop, -body .dijitAlignBottom, -body .dijitAlignLeft, -body .dijitAlignRight { - position: absolute; - overflow: hidden; -} -body .dijitAlignClient { position: absolute; } -.dijitBorderContainer, .dijitBorderContainerNoGutter { - position:relative; - overflow: hidden; -} -.dijitBorderContainerPane, -.dijitBorderContainerNoGutterPane { - position: absolute !important; - z-index: 2; -} -.dijitBorderContainer > .dijitTextArea { - - resize: none; -} -.dijitGutter { - - position: absolute; - font-size: 1px; -} -.dijitSplitter { - position: absolute; - overflow: hidden; - z-index: 10; - background-color: #fff; - border-color: gray; - border-style: solid; - border-width: 0; -} -.dj_ie .dijitSplitter { - z-index: 1; -} -.dijitSplitterActive { - z-index: 11 !important; -} -.dijitSplitterCover { - position:absolute; - z-index:-1; - top:0; - left:0; - width:100%; - height:100%; -} -.dijitSplitterCoverActive { - z-index:3 !important; -} -.dj_ie .dijitSplitterCover { - background: white; - filter: alpha(opacity=0); -} -.dijitSplitterH { - height: 7px; - border-top:1px; - border-bottom:1px; - cursor: ns-resize; -} -.dijitSplitterV { - width: 7px; - border-left:1px; - border-right:1px; - cursor: ew-resize; -} -.dijitSplitContainer { - position: relative; - overflow: hidden; - display: block; -} -.dj_ff3 .dijit_a11y div.dijitSplitter:focus { - outline-style:dotted; - outline-width: 2px; -} -.dijitSplitPane { - position: absolute; -} -.dijitSplitContainerSizerH, -.dijitSplitContainerSizerV { - position:absolute; - font-size: 1px; - cursor: move; - cursor: w-resize; - background-color: ThreeDFace; - border: 1px solid; - border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight; - margin: 0; -} -.dijitSplitContainerSizerH .thumb, .dijitSplitterV .dijitSplitterThumb { - overflow:hidden; - position:absolute; - top:49%; -} -.dijitSplitContainerSizerV .thumb, .dijitSplitterH .dijitSplitterThumb { - position:absolute; - left:49%; -} -.dijitSplitterShadow, -.dijitSplitContainerVirtualSizerH, -.dijitSplitContainerVirtualSizerV { - font-size: 1px; - background-color: ThreeDShadow; - -moz-opacity: 0.5; - opacity: 0.5; - filter: Alpha(Opacity=50); - margin: 0; -} -.dj_ie .dijitSplitterV, .dijitSplitContainerVirtualSizerH { - cursor: w-resize; -} -.dj_ie .dijitSplitterH, .dijitSplitContainerSizerV, .dijitSplitContainerVirtualSizerV { - cursor: n-resize; -} -.dijit_a11y .dijitSplitterH { - border-top:1px solid #d3d3d3 !important; - border-bottom:1px solid #d3d3d3 !important; -} -.dijit_a11y .dijitSplitterV { - border-left:1px solid #d3d3d3 !important; - border-right:1px solid #d3d3d3 !important; -} -.dijitContentPane { - display: block; - overflow: auto; -} -.dijitContentPaneSingleChild { - - overflow: hidden; -} -.dijitTitlePane { - display: block; - overflow: hidden; -} -.dijitTitlePaneTitle { - cursor: pointer; -} -.dijitFixedOpen, .dijitFixedClosed { - - cursor: default; -} -.dijitTitlePaneTitle * { - vertical-align: middle; -} -.dijitTitlePane .dijitArrowNodeInner { - - display: none; -} -.dijit_a11y .dijitTitlePane .dijitArrowNodeInner { - - display:inline !important; - font-family: monospace; -} -.dijit_a11y .dijitTitlePane .dijitArrowNode { - - display:none; -} -.dj_ie6 .dijitTitlePaneContentOuter, -.dj_ie6 .dijitTitlePane .dijitTitlePaneTitle { - - zoom: 1; -} -.dijitColorPalette { - border: 1px solid #999; - background: #fff; - position: relative; -} -.dijitColorPalette .dijitPaletteTable { - - padding: 2px 3px 3px 3px; - position: relative; - overflow: hidden; - outline: 0; - border-collapse: separate; -} -.dj_ie6 .dijitColorPalette .dijitPaletteTable, -.dj_ie7 .dijitColorPalette .dijitPaletteTable, -.dj_iequirks .dijitColorPalette .dijitPaletteTable { - - padding: 0; - margin: 2px 3px 3px 3px; -} -.dijitColorPalette .dijitPaletteCell { - - font-size: 1px; - vertical-align: middle; - text-align: center; - background: none; -} -.dijitColorPalette .dijitPaletteImg { - - padding: 1px; - border: 1px solid #999; - margin: 2px 1px; - cursor: default; - font-size: 1px; -} -.dj_gecko .dijitColorPalette .dijitPaletteImg { - padding-bottom: 0; -} -.dijitColorPalette .dijitColorPaletteSwatch { - - width: 14px; - height: 12px; -} -.dijitPaletteTable td { - padding: 0; -} -.dijitColorPalette .dijitPaletteCellHover .dijitPaletteImg { - - border: 1px solid #000; -} -.dijitColorPalette .dijitPaletteCellActive .dijitPaletteImg, -.dijitColorPalette .dijitPaletteCellSelected .dijitPaletteImg { - border: 2px solid #000; - margin: 1px 0; -} -.dijit_a11y .dijitColorPalette .dijitPaletteTable, -.dijit_a11y .dijitColorPalette .dijitPaletteTable * { - - background-color: transparent !important; -} -.dijitAccordionContainer { - border:1px solid #b7b7b7; - border-top:0 !important; -} -.dijitAccordionTitle { - cursor: pointer; -} -.dijitAccordionTitleSelected { - cursor: default; -} -.dijitAccordionTitle .arrowTextUp, -.dijitAccordionTitle .arrowTextDown { - display: none; - font-size: 0.65em; - font-weight: normal !important; -} -.dijit_a11y .dijitAccordionTitle .arrowTextUp, -.dijit_a11y .dijitAccordionTitleSelected .arrowTextDown { - display: inline; -} -.dijit_a11y .dijitAccordionTitleSelected .arrowTextUp { - display: none; -} -.dijitAccordionChildWrapper { - - overflow: hidden; -} -.dijitCalendarContainer { - width: auto; -} -.dijitCalendarContainer th, .dijitCalendarContainer td { - padding: 0; - vertical-align: middle; -} -.dijitCalendarNextYear { - margin:0 0 0 0.55em; -} -.dijitCalendarPreviousYear { - margin:0 0.55em 0 0; -} -.dijitCalendarIncrementControl { - vertical-align: middle; -} -.dijitCalendarIncrementControl, -.dijitCalendarDateTemplate, -.dijitCalendarMonthLabel, -.dijitCalendarPreviousYear, -.dijitCalendarNextYear { - cursor: pointer; -} -.dijitCalendarDisabledDate { - color: gray; - text-decoration: line-through; - cursor: default; -} -.dijitSpacer { - - position: relative; - height: 1px; - overflow: hidden; - visibility: hidden; -} -.dijitCalendarMonthMenu .dijitCalendarMonthLabel { - text-align:center; -} -.dijitMenu { - border:1px solid black; - background-color:white; -} -.dijitMenuTable { - border-collapse:collapse; - border-width:0; - background-color:white; -} -.dj_webkit .dijitMenuTable td[colspan="2"]{ - border-right:hidden; -} -.dijitMenuItem { - text-align: left; - white-space: nowrap; - padding:.1em .2em; - cursor:pointer; -} -.dijitMenuPassive .dijitMenuItemHover, -.dijitMenuItemSelected { - - background-color:black; - color:white; -} -.dijitMenuItemIcon, .dijitMenuExpand { - background-repeat: no-repeat; -} -.dijitMenuItemDisabled * { - - opacity:0.5; - cursor:default; -} -.dj_ie .dijit_a11y .dijitMenuItemDisabled, -.dj_ie .dijit_a11y .dijitMenuItemDisabled td, -.dj_ie .dijitMenuItemDisabled *, -.dj_ie .dijitMenuItemDisabled td { - color:gray !important; - filter: alpha(opacity=35); -} -.dijitMenuItemLabel { - position: relative; - vertical-align: middle; -} -.dijit_a11y .dijitMenuItemSelected { - border: 1px dotted black !important; -} -.dj_ff3 .dijit_a11y .dijitMenuItem td { - padding: none !important; - background:none !important; -} -.dijit_a11y .dijitMenuItemSelected .dijitMenuItemLabel { - border-width: 1px; - border-style: solid; -} -.dj_ie8 .dijit_a11y .dijitMenuItemLabel { - position:static; -} -.dijitMenuExpandA11y { - display: none; -} -.dijit_a11y .dijitMenuExpandA11y { - display: inline; -} -.dijitMenuSeparator td { - border: 0; - padding: 0; -} -.dijitMenuSeparatorTop { - height: 50%; - margin: 0; - margin-top:3px; - font-size: 1px; -} -.dijitMenuSeparatorBottom { - height: 50%; - margin: 0; - margin-bottom:3px; - font-size: 1px; -} -.dijitCheckedMenuItemIconChar { - vertical-align: middle; - visibility:hidden; -} -.dijitCheckedMenuItemChecked .dijitCheckedMenuItemIconChar { - visibility: visible; -} -.dijit_a11y .dijitCheckedMenuItemIconChar { - display:inline !important; -} -.dijit_a11y .dijitCheckedMenuItemIcon { - display: none; -} -.dj_ie .dijit_a11y .dijitMenuBar .dijitMenuItem { - - margin: 0; -} -.dijitStackController .dijitToggleButtonChecked * { - cursor: default; -} -.dijitTabContainerNoLayout { - width: 100%; -} -.dijitTabContainerBottom-tabs, -.dijitTabContainerTop-tabs, -.dijitTabContainerLeft-tabs, -.dijitTabContainerRight-tabs { - overflow: visible !important; -} -.dijitTabContainerBottom-container, -.dijitTabContainerTop-container, -.dijitTabContainerLeft-container, -.dijitTabContainerRight-container { - z-index:0; - overflow: hidden; - border: 1px solid black; -} -.nowrapTabStrip { - width: 50000px; - display: block; - position: relative; -} -.dijitTabListWrapper { - overflow: hidden; -} -.dijit_a11y .tabStripButton img { - - display: none; -} -.dijitTabContainerTop-tabs { - border-bottom: 1px solid black; -} -.dijitTabContainerTop-container { - border-top: 0; -} -.dijitTabContainerLeft-tabs { - border-right: 1px solid black; - float: left; -} -.dijitTabContainerLeft-container { - border-left: 0; -} -.dijitTabContainerBottom-tabs { - border-top: 1px solid black; -} -.dijitTabContainerBottom-container { - border-bottom: 0; -} -.dijitTabContainerRight-tabs { - border-left: 1px solid black; - float: left; -} -.dijitTabContainerRight-container { - border-right: 0; -} -DIV.dijitTabDisabled, .dj_ie DIV.dijitTabDisabled { - cursor: auto; -} -.dijitTab { - position:relative; - cursor:pointer; - white-space:nowrap; - z-index:3; -} -.dijitTab * { - - vertical-align: middle; -} -.dijitTabChecked { - cursor: default; -} -.dijitTabContainerTop-tabs .dijitTab { - top: 1px; -} -.dijitTabContainerBottom-tabs .dijitTab { - top: -1px; -} -.dijitTabContainerLeft-tabs .dijitTab { - left: 1px; -} -.dijitTabContainerRight-tabs .dijitTab { - left: -1px; -} -.dijitTabContainerTop-tabs .dijitTab, -.dijitTabContainerBottom-tabs .dijitTab { - - display:inline-block; - #zoom: 1; - #display:inline; -} -.dijitTabInnerDiv { - position:relative; -} -.tabStripButton { - z-index: 12; -} -.dijitTabButtonDisabled .tabStripButton { - display: none; -} -.dijitTabCloseButton { - margin-left: 1em; -} -.dijitTabCloseText { - display:none; -} -.dijitTab .tabLabel { - - min-height: 15px; - display: inline-block; -} -.dijitNoIcon { - - display: none; -} -.dj_ie6 .dijitTab .dijitNoIcon { - - display: inline; - height: 15px; - width: 1px; -} -.dijit_a11y .dijitTabCloseButton { - background-image: none !important; - width: auto !important; - height: auto !important; -} -.dijit_a11y .dijitTabCloseText { - display: inline; -} -.dijitTabPane, -.dijitStackContainer-child, -.dijitAccordionContainer-child { - - border: none !important; -} -.dijitInlineEditBoxDisplayMode { - border: 1px solid transparent; - cursor: text; -} -.dijit_a11y .dijitInlineEditBoxDisplayMode, -.dj_ie6 .dijitInlineEditBoxDisplayMode { - - border: none; -} -.dijitInlineEditBoxDisplayModeHover, -.dijit_a11y .dijitInlineEditBoxDisplayModeHover, -.dj_ie6 .dijitInlineEditBoxDisplayModeHover { - - background-color: #e2ebf2; - border: solid 1px black; -} -.dijitInlineEditBoxDisplayModeDisabled { - cursor: default; -} -.dijitTree { - overflow: auto; -} -.dijitTreeIndent { - - width: 19px; -} -.dijitTreeRow, .dijitTreeContent { - white-space: nowrap; -} -.dijitTreeRow img { - - vertical-align: middle; -} -.dijitTreeContent { - cursor: default; -} -.dijitExpandoText { - display: none; -} -.dijit_a11y .dijitExpandoText { - display: inline; - padding-left: 10px; - padding-right: 10px; - font-family: monospace; - border-style: solid; - border-width: thin; - cursor: pointer; -} -.dijitTreeLabel { - margin: 0 4px; -} -.dijitDialog { - position: absolute; - z-index: 999; - overflow: hidden; -} -.dijitDialogTitleBar { - cursor: move; -} -.dijitDialogFixed .dijitDialogTitleBar { - cursor:default; -} -.dijitDialogCloseIcon { - cursor: pointer; -} -.dijitDialogUnderlayWrapper { - position: absolute; - left: 0; - top: 0; - z-index: 998; - display: none; - background: transparent !important; -} -.dijitDialogUnderlay { - background: #eee; - opacity: 0.5; -} -.dj_ie .dijitDialogUnderlay { - filter: alpha(opacity=50); -} -.dijit_a11y .dijitSpinnerButtonContainer, -.dijit_a11y .dijitDialog { - opacity: 1 !important; - background-color: white !important; -} -.dijitDialog .closeText { - display:none; - - position:absolute; -} -.dijit_a11y .dijitDialog .closeText { - display:inline; -} -.dijitSliderMoveable { - z-index:99; - position:absolute !important; - display:block; - vertical-align:middle; -} -.dijitSliderMoveableH { - right:0; -} -.dijitSliderMoveableV { - right:50%; -} -.dijit_a11y DIV.dijitSliderImageHandle, -.dijitSliderImageHandle { - margin:0; - padding:0; - position:relative !important; - border:8px solid gray; - width:0; - height:0; - cursor: pointer; -} -.dj_iequirks .dijit_a11y .dijitSliderImageHandle { - font-size: 0; -} -.dj_ie7 .dijitSliderImageHandle { - overflow: hidden; -} -.dj_ie7 .dijit_a11y .dijitSliderImageHandle { - overflow: visible; -} -.dijit_a11y .dijitSliderFocused .dijitSliderImageHandle { - border:4px solid #000; - height:8px; - width:8px; -} -.dijitSliderImageHandleV { - top:-8px; - right: -50%; -} -.dijitSliderImageHandleH { - left:50%; - top:-5px; - vertical-align:top; -} -.dijitSliderBar { - border-style:solid; - border-color:black; - cursor: pointer; -} -.dijitSliderBarContainerV { - position:relative; - height:100%; - z-index:1; -} -.dijitSliderBarContainerH { - position:relative; - z-index:1; -} -.dijitSliderBarH { - height:4px; - border-width:1px 0; -} -.dijitSliderBarV { - width:4px; - border-width:0 1px; -} -.dijitSliderProgressBar { - background-color:red; - z-index:1; -} -.dijitSliderProgressBarV { - position:static !important; - height:0; - vertical-align:top; - text-align:left; -} -.dijitSliderProgressBarH { - position:absolute !important; - width:0; - vertical-align:middle; - overflow:visible; -} -.dijitSliderRemainingBar { - overflow:hidden; - background-color:transparent; - z-index:1; -} -.dijitSliderRemainingBarV { - height:100%; - text-align:left; -} -.dijitSliderRemainingBarH { - width:100% !important; -} -.dijitSliderBumper { - overflow:hidden; - z-index:1; -} -.dijitSliderBumperV { - width:4px; - height:8px; - border-width:0 1px; -} -.dijitSliderBumperH { - width:8px; - height:4px; - border-width:1px 0; -} -.dijitSliderBottomBumper, -.dijitSliderLeftBumper { - background-color:red; -} -.dijitSliderTopBumper, -.dijitSliderRightBumper { - background-color:transparent; -} -.dijitSliderDecoration { - text-align:center; -} -.dijitSliderDecorationC, -.dijitSliderDecorationV { - position: relative; -} -.dijitSliderDecorationH { - width: 100%; -} -.dijitSliderDecorationV { - height: 100%; -} -.dijitSliderButton { - font-family:monospace; - margin:0; - padding:0; - display:block; -} -.dijit_a11y .dijitSliderButtonInner { - visibility:visible !important; -} -.dijitSliderButtonContainer { - text-align:center; - height:0; -} -.dijitSliderButtonContainer * { - cursor: pointer; -} -.dijitSlider .dijitButtonNode { - padding:0; - display:block; -} -.dijitRuleContainer { - position:relative; - overflow:visible; -} -.dijitRuleContainerV { - height:100%; - line-height:0; - float:left; - text-align:left; -} -.dj_opera .dijitRuleContainerV { - line-height:2%; -} -.dj_ie .dijitRuleContainerV { - line-height:normal; -} -.dj_gecko .dijitRuleContainerV { - margin:0 0 1px 0; -} -.dijitRuleMark { - position:absolute; - border:1px solid black; - line-height:0; - height:100%; -} -.dijitRuleMarkH { - width:0; - border-top-width:0 !important; - border-bottom-width:0 !important; - border-left-width:0 !important; -} -.dijitRuleLabelContainer { - position:absolute; -} -.dijitRuleLabelContainerH { - text-align:center; - display:inline-block; -} -.dijitRuleLabelH { - position:relative; - left:-50%; -} -.dijitRuleLabelV { - - text-overflow: ellipsis; - white-space: nowrap; - overflow: hidden; -} -.dijitRuleMarkV { - height:0; - border-right-width:0 !important; - border-bottom-width:0 !important; - border-left-width:0 !important; - width:100%; - left:0; -} -.dj_ie .dijitRuleLabelContainerV { - margin-top:-.55em; -} -.dijit_a11y .dijitSliderReadOnly, -.dijit_a11y .dijitSliderDisabled { - opacity:0.6; -} -.dj_ie .dijit_a11y .dijitSliderReadOnly .dijitSliderBar, -.dj_ie .dijit_a11y .dijitSliderDisabled .dijitSliderBar { - filter: alpha(opacity=40); -} -.dijit_a11y .dijitSlider .dijitSliderButtonContainer DIV { - font-family: monospace; - font-size: 1em; - line-height: 1em; - height: auto; - width: auto; - margin: 0 4px; -} -.dijit_a11y .dijitButtonContents .dijitButtonText, -.dijit_a11y .dijitTab .tabLabel { - display: inline !important; -} -.dijitTextArea { - width:100%; - overflow-y: auto; -} -.dijitTextArea[cols] { - width:auto; -} -.dj_ie .dijitTextAreaCols { - width:auto; -} -.dijitExpandingTextArea { - - resize: none; -} -.dijitToolbarSeparator { - height: 18px; - width: 5px; - padding: 0 1px; - margin: 0; -} -.dijitIEFixedToolbar { - position:absolute; - - top: expression(eval((document.documentElement||document.body).scrollTop)); -} -.dijitEditor { - display: block; -} -.dijitEditorDisabled, -.dijitEditorReadOnly { - color: gray; -} -.dijitTimePickerItemInner { - text-align:center; - border:0; - padding:2px 8px 2px 8px; -} -.dijitTimePickerTick, -.dijitTimePickerMarker { - border-bottom:1px solid gray; -} -.dijitTimePicker .dijitDownArrowButton { - border-top: none !important; -} -.dijitTimePickerTick { - color:#CCC; -} -.dijitTimePickerMarker { - color:black; - background-color:#CCC; -} -.dijitTimePickerItemSelected { - font-weight:bold; - color:#333; - background-color:#b7cdee; -} -.dijitTimePickerItemHover { - background-color:gray; - color:white; - cursor:pointer; -} -.dijit_a11y .dijitTimePickerItemSelected .dijitTimePickerItemInner { - border: solid 4px black; -} -.dijit_a11y .dijitTimePickerItemHover .dijitTimePickerItemInner { - border: dashed 4px black; -} -.dijitToggleButtonIconChar { - - display:none !important; -} -.dijit_a11y .dijitToggleButton .dijitToggleButtonIconChar { - display:inline !important; - visibility:hidden; -} -.dj_ie6 .dijitToggleButtonIconChar, .dj_ie6 .tabStripButton .dijitButtonText { - font-family: "Arial Unicode MS"; -} -.dijit_a11y .dijitToggleButtonChecked .dijitToggleButtonIconChar { - display: inline !important; - visibility:visible !important; -} -.dijitArrowButtonChar { - display:none !important; -} -.dijit_a11y .dijitArrowButtonChar { - display:inline !important; -} -.dijit_a11y .dijitDropDownButton .dijitArrowButtonInner, -.dijit_a11y .dijitComboButton .dijitArrowButtonInner { - display:none !important; -} -.dijitSelect { - margin: 0.2em; - border-collapse: collapse; -} -.dj_ie .dijitSelect, -.dj_ie7 .dijitSelect, -.dj_iequirks .dijitSelect { - vertical-align: middle; -} -.dj_ie8 .dijitSelect .dijitButtonText { - vertical-align: top; -} -.dijitToolbar .dijitSelect { - margin: 0; -} -.dj_webkit .dijitToolbar .dijitSelect { - padding-left: 0.3em; -} -.dijit_a11y .dijitSelectDisabled .dijitButtonNode { - border-style: outset!important; - border-width: medium!important; - border-color: #999 !important; - color:#999 !important; -} -.dijitSelect .dijitButtonContents { - padding: 0; - background: transparent none; - white-space: nowrap; - text-align: left; -} -.dijitSelectFixedWidth .dijitButtonContents { - width: 100%; -} -.dijitSelectMenu .dijitMenuItemIcon { - - display:none; -} -.dj_ie6 .dijitSelectMenu .dijitMenuItemLabel, -.dj_ie7 .dijitSelectMenu .dijitMenuItemLabel { - - position: static; -} -.dijitSelectLabel * -{ - vertical-align: baseline; -} -.dijitSelectSelectedOption * { - font-weight: bold; -} -.dijitSelectMenu { - border-width: 1px; -} -.dijitSelectMenu .dijitMenuTable { - margin: 0; - background-color: transparent; -} -.dijitForceStatic { - position: static !important; -} -.dijitReadOnly *, -.dijitDisabled *, -.dijitReadOnly, -.dijitDisabled { - - cursor: default; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/dijit_rtl.css b/resources/library/interactive/barre_prof.wgt/dijit/themes/dijit_rtl.css deleted file mode 100644 index c00483b5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dijit/themes/dijit_rtl.css +++ /dev/null @@ -1,80 +0,0 @@ -.dijitRtl .dijitPlaceHolder { - left: auto; - right: 0; -} -.dijitMenuItemRtl { - text-align: right; -} -.dj_iequirks .dijitComboButtonRtl BUTTON { - - float:left; -} -.dijitTextBoxRtl .dijitValidationContainer, -.dijitTextBoxRtl .dijitSpinnerButtonContainer, -.dijitComboBoxRtl .dijitArrowButtonContainer { - - border-right-width: 1px !important; - border-left-width: 0 !important; -} -.dijitSpinnerRtl .dijitSpinnerButtonContainer .dijitArrowButton { - right: 0; - left: auto; -} -.dijitTextBoxRtl .dijitSpinnerButtonContainer, -.dijitTextBoxRtl .dijitValidationContainer, -.dijitTextBoxRtl .dijitArrowButtonContainer { - float: left; -} -.dijitCalendarRtl .dijitCalendarNextYear { - margin:0 0.55em 0 0; -} -.dijitCalendarRtl .dijitCalendarPreviousYear { - margin:0 0 0 0.55em; -} -.dijitSliderRtl .dijitSliderImageHandleV { - left:auto; -} -.dijitSliderRtl .dijitSliderImageHandleH { - left:-50%; -} -.dijitSliderRtl .dijitSliderMoveableH { - right:auto; - left:0; -} -.dijitSliderRtl .dijitRuleContainerV { - float:right; -} -.dj_ie .dijitSliderRtl .dijitRuleContainerV { - text-align:right; -} -.dj_ie .dijitSliderRtl .dijitRuleLabelV { - text-align:left; -} -.dj_ie .dijitSliderRtl .dijitRuleLabelH { - zoom:1; -} -.dijitSliderRtl .dijitSliderProgressBarH { - - float:right; - right:0; - left:auto; -} -.dijitRtl .dijitContentPaneLoading, .dijitRtl .dijitContentPaneError { - background-position:right; - padding-right:25px; -} -.dijitTabRtl .dijitTabCloseButton { - margin-left: 0; - margin-right: 1em; -} -.dj_ie .dijitTimePickerRtl .dijitTimePickerItem { - width:100%; -} -.dijitColorPaletteRtl .dijitColorPaletteUnder { - - left: auto; - right: 0; -} -.dijitSelectRtl .dijitButtonContents { - text-align: right; -} diff --git a/resources/library/interactive/barre_prof.wgt/dijit/themes/tundra/images/spriteArrows.png b/resources/library/interactive/barre_prof.wgt/dijit/themes/tundra/images/spriteArrows.png deleted file mode 100644 index e0229c9f..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dijit/themes/tundra/images/spriteArrows.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojo/AdapterRegistry.js b/resources/library/interactive/barre_prof.wgt/dojo/AdapterRegistry.js deleted file mode 100644 index ab978ca4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/AdapterRegistry.js +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.AdapterRegistry"]){ -dojo._hasResource["dojo.AdapterRegistry"]=true; -dojo.provide("dojo.AdapterRegistry"); -dojo.AdapterRegistry=function(_1){ -this.pairs=[]; -this.returnWrappers=_1||false; -}; -dojo.extend(dojo.AdapterRegistry,{register:function(_2,_3,_4,_5,_6){ -this.pairs[((_6)?"unshift":"push")]([_2,_3,_4,_5]); -},match:function(){ -for(var i=0;i<this.pairs.length;i++){ -var _7=this.pairs[i]; -if(_7[1].apply(this,arguments)){ -if((_7[3])||(this.returnWrappers)){ -return _7[2]; -}else{ -return _7[2].apply(this,arguments); -} -} -} -throw new Error("No match found"); -},unregister:function(_8){ -for(var i=0;i<this.pairs.length;i++){ -var _9=this.pairs[i]; -if(_9[0]==_8){ -this.pairs.splice(i,1); -return true; -} -} -return false; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/DeferredList.js b/resources/library/interactive/barre_prof.wgt/dojo/DeferredList.js deleted file mode 100644 index 4a3b02d7..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/DeferredList.js +++ /dev/null @@ -1,58 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.DeferredList"]){ -dojo._hasResource["dojo.DeferredList"]=true; -dojo.provide("dojo.DeferredList"); -dojo.DeferredList=function(_1,_2,_3,_4,_5){ -var _6=[]; -dojo.Deferred.call(this); -var _7=this; -if(_1.length===0&&!_2){ -this.resolve([0,[]]); -} -var _8=0; -dojo.forEach(_1,function(_9,i){ -_9.then(function(_a){ -if(_2){ -_7.resolve([i,_a]); -}else{ -_b(true,_a); -} -},function(_c){ -if(_3){ -_7.reject(_c); -}else{ -_b(false,_c); -} -if(_4){ -return null; -} -throw _c; -}); -function _b(_d,_e){ -_6[i]=[_d,_e]; -_8++; -if(_8===_1.length){ -_7.resolve(_6); -} -}; -}); -}; -dojo.DeferredList.prototype=new dojo.Deferred(); -dojo.DeferredList.prototype.gatherResults=function(_f){ -var d=new dojo.DeferredList(_f,false,true,false); -d.addCallback(function(_10){ -var ret=[]; -dojo.forEach(_10,function(_11){ -ret.push(_11[1]); -}); -return ret; -}); -return d; -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/LICENSE b/resources/library/interactive/barre_prof.wgt/dojo/LICENSE deleted file mode 100644 index aa6b39f8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/LICENSE +++ /dev/null @@ -1,195 +0,0 @@ -Dojo is available under *either* the terms of the modified BSD license *or* the -Academic Free License version 2.1. As a recipient of Dojo, you may choose which -license to receive this code under (except as noted in per-module LICENSE -files). Some modules may not be the copyright of the Dojo Foundation. These -modules contain explicit declarations of copyright in both the LICENSE files in -the directories in which they reside and in the code itself. No external -contributions are allowed under licenses which are fundamentally incompatible -with the AFL or BSD licenses that Dojo is distributed under. - -The text of the AFL and BSD licenses is reproduced below. - -------------------------------------------------------------------------------- -The "New" BSD License: -********************** - -Copyright (c) 2005-2011, The Dojo Foundation -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of the Dojo Foundation nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -------------------------------------------------------------------------------- -The Academic Free License, v. 2.1: -********************************** - -This Academic Free License (the "License") applies to any original work of -authorship (the "Original Work") whose owner (the "Licensor") has placed the -following notice immediately following the copyright notice for the Original -Work: - -Licensed under the Academic Free License version 2.1 - -1) Grant of Copyright License. Licensor hereby grants You a world-wide, -royalty-free, non-exclusive, perpetual, sublicenseable license to do the -following: - -a) to reproduce the Original Work in copies; - -b) to prepare derivative works ("Derivative Works") based upon the Original -Work; - -c) to distribute copies of the Original Work and Derivative Works to the -public; - -d) to perform the Original Work publicly; and - -e) to display the Original Work publicly. - -2) Grant of Patent License. Licensor hereby grants You a world-wide, -royalty-free, non-exclusive, perpetual, sublicenseable license, under patent -claims owned or controlled by the Licensor that are embodied in the Original -Work as furnished by the Licensor, to make, use, sell and offer for sale the -Original Work and Derivative Works. - -3) Grant of Source Code License. The term "Source Code" means the preferred -form of the Original Work for making modifications to it and all available -documentation describing how to modify the Original Work. Licensor hereby -agrees to provide a machine-readable copy of the Source Code of the Original -Work along with each copy of the Original Work that Licensor distributes. -Licensor reserves the right to satisfy this obligation by placing a -machine-readable copy of the Source Code in an information repository -reasonably calculated to permit inexpensive and convenient access by You for as -long as Licensor continues to distribute the Original Work, and by publishing -the address of that information repository in a notice immediately following -the copyright notice that applies to the Original Work. - -4) Exclusions From License Grant. Neither the names of Licensor, nor the names -of any contributors to the Original Work, nor any of their trademarks or -service marks, may be used to endorse or promote products derived from this -Original Work without express prior written permission of the Licensor. Nothing -in this License shall be deemed to grant any rights to trademarks, copyrights, -patents, trade secrets or any other intellectual property of Licensor except as -expressly stated herein. No patent license is granted to make, use, sell or -offer to sell embodiments of any patent claims other than the licensed claims -defined in Section 2. No right is granted to the trademarks of Licensor even if -such marks are included in the Original Work. Nothing in this License shall be -interpreted to prohibit Licensor from licensing under different terms from this -License any Original Work that Licensor otherwise would have a right to -license. - -5) This section intentionally omitted. - -6) Attribution Rights. You must retain, in the Source Code of any Derivative -Works that You create, all copyright, patent or trademark notices from the -Source Code of the Original Work, as well as any notices of licensing and any -descriptive text identified therein as an "Attribution Notice." You must cause -the Source Code for any Derivative Works that You create to carry a prominent -Attribution Notice reasonably calculated to inform recipients that You have -modified the Original Work. - -7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that -the copyright in and to the Original Work and the patent rights granted herein -by Licensor are owned by the Licensor or are sublicensed to You under the terms -of this License with the permission of the contributor(s) of those copyrights -and patent rights. Except as expressly stated in the immediately proceeding -sentence, the Original Work is provided under this License on an "AS IS" BASIS -and WITHOUT WARRANTY, either express or implied, including, without limitation, -the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. -This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No -license to Original Work is granted hereunder except under this disclaimer. - -8) Limitation of Liability. Under no circumstances and under no legal theory, -whether in tort (including negligence), contract, or otherwise, shall the -Licensor be liable to any person for any direct, indirect, special, incidental, -or consequential damages of any character arising as a result of this License -or the use of the Original Work including, without limitation, damages for loss -of goodwill, work stoppage, computer failure or malfunction, or any and all -other commercial damages or losses. This limitation of liability shall not -apply to liability for death or personal injury resulting from Licensor's -negligence to the extent applicable law prohibits such limitation. Some -jurisdictions do not allow the exclusion or limitation of incidental or -consequential damages, so this exclusion and limitation may not apply to You. - -9) Acceptance and Termination. If You distribute copies of the Original Work or -a Derivative Work, You must make a reasonable effort under the circumstances to -obtain the express assent of recipients to the terms of this License. Nothing -else but this License (or another written agreement between Licensor and You) -grants You permission to create Derivative Works based upon the Original Work -or to exercise any of the rights granted in Section 1 herein, and any attempt -to do so except under the terms of this License (or another written agreement -between Licensor and You) is expressly prohibited by U.S. copyright law, the -equivalent laws of other countries, and by international treaty. Therefore, by -exercising any of the rights granted to You in Section 1 herein, You indicate -Your acceptance of this License and all of its terms and conditions. - -10) Termination for Patent Action. This License shall terminate automatically -and You may no longer exercise any of the rights granted to You by this License -as of the date You commence an action, including a cross-claim or counterclaim, -against Licensor or any licensee alleging that the Original Work infringes a -patent. This termination provision shall not apply for an action alleging -patent infringement by combinations of the Original Work with other software or -hardware. - -11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this -License may be brought only in the courts of a jurisdiction wherein the -Licensor resides or in which Licensor conducts its primary business, and under -the laws of that jurisdiction excluding its conflict-of-law provisions. The -application of the United Nations Convention on Contracts for the International -Sale of Goods is expressly excluded. Any use of the Original Work outside the -scope of this License or after its termination shall be subject to the -requirements and penalties of the U.S. Copyright Act, 17 U.S.C. § 101 et -seq., the equivalent laws of other countries, and international treaty. This -section shall survive the termination of this License. - -12) Attorneys Fees. In any action to enforce the terms of this License or -seeking damages relating thereto, the prevailing party shall be entitled to -recover its costs and expenses, including, without limitation, reasonable -attorneys' fees and costs incurred in connection with such action, including -any appeal of such action. This section shall survive the termination of this -License. - -13) Miscellaneous. This License represents the complete agreement concerning -the subject matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent necessary to -make it enforceable. - -14) Definition of "You" in This License. "You" throughout this License, whether -in upper or lower case, means an individual or a legal entity exercising rights -under, and complying with all of the terms of, this License. For legal -entities, "You" includes any entity that controls, is controlled by, or is -under common control with you. For purposes of this definition, "control" means -(i) the power, direct or indirect, to cause the direction or management of such -entity, whether by contract or otherwise, or (ii) ownership of fifty percent -(50%) or more of the outstanding shares, or (iii) beneficial ownership of such -entity. - -15) Right to Use. You may use the Original Work in all ways not otherwise -restricted or conditioned by this License or by law, and Licensor promises not -to interfere with or be responsible for such uses by You. - -This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved. -Permission is hereby granted to copy and distribute this license without -modification. This license may not be modified without the express written -permission of its copyright owner. diff --git a/resources/library/interactive/barre_prof.wgt/dojo/NodeList-data.js b/resources/library/interactive/barre_prof.wgt/dojo/NodeList-data.js deleted file mode 100644 index 12aafb91..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/NodeList-data.js +++ /dev/null @@ -1,61 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.NodeList-data"]){ -dojo._hasResource["dojo.NodeList-data"]=true; -dojo.provide("dojo.NodeList-data"); -(function(d){ -var _1={},x=0,_2="data-dojo-dataid",nl=d.NodeList,_3=function(_4){ -var _5=d.attr(_4,_2); -if(!_5){ -_5="pid"+(x++); -d.attr(_4,_2,_5); -} -return _5; -}; -var _6=d._nodeData=function(_7,_8,_9){ -var _a=_3(_7),r; -if(!_1[_a]){ -_1[_a]={}; -} -if(arguments.length==1){ -r=_1[_a]; -} -if(typeof _8=="string"){ -if(arguments.length>2){ -_1[_a][_8]=_9; -}else{ -r=_1[_a][_8]; -} -}else{ -r=d._mixin(_1[_a],_8); -} -return r; -}; -var _b=d._removeNodeData=function(_c,_d){ -var _e=_3(_c); -if(_1[_e]){ -if(_d){ -delete _1[_e][_d]; -}else{ -delete _1[_e]; -} -} -}; -d._gcNodeData=function(){ -var _f=dojo.query("["+_2+"]").map(_3); -for(var i in _1){ -if(dojo.indexOf(_f,i)<0){ -delete _1[i]; -} -} -}; -d.extend(nl,{data:nl._adaptWithCondition(_6,function(a){ -return a.length===0||a.length==1&&(typeof a[0]=="string"); -}),removeData:nl._adaptAsForEach(_b)}); -})(dojo); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/NodeList-fx.js b/resources/library/interactive/barre_prof.wgt/dojo/NodeList-fx.js deleted file mode 100644 index 3154965c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/NodeList-fx.js +++ /dev/null @@ -1,41 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.NodeList-fx"]){ -dojo._hasResource["dojo.NodeList-fx"]=true; -dojo.provide("dojo.NodeList-fx"); -dojo.require("dojo.fx"); -dojo.extend(dojo.NodeList,{_anim:function(_1,_2,_3){ -_3=_3||{}; -var a=dojo.fx.combine(this.map(function(_4){ -var _5={node:_4}; -dojo.mixin(_5,_3); -return _1[_2](_5); -})); -return _3.auto?a.play()&&this:a; -},wipeIn:function(_6){ -return this._anim(dojo.fx,"wipeIn",_6); -},wipeOut:function(_7){ -return this._anim(dojo.fx,"wipeOut",_7); -},slideTo:function(_8){ -return this._anim(dojo.fx,"slideTo",_8); -},fadeIn:function(_9){ -return this._anim(dojo,"fadeIn",_9); -},fadeOut:function(_a){ -return this._anim(dojo,"fadeOut",_a); -},animateProperty:function(_b){ -return this._anim(dojo,"animateProperty",_b); -},anim:function(_c,_d,_e,_f,_10){ -var _11=dojo.fx.combine(this.map(function(_12){ -return dojo.animateProperty({node:_12,properties:_c,duration:_d||350,easing:_e}); -})); -if(_f){ -dojo.connect(_11,"onEnd",_f); -} -return _11.play(_10||0); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/NodeList-html.js b/resources/library/interactive/barre_prof.wgt/dojo/NodeList-html.js deleted file mode 100644 index bf887151..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/NodeList-html.js +++ /dev/null @@ -1,21 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.NodeList-html"]){ -dojo._hasResource["dojo.NodeList-html"]=true; -dojo.provide("dojo.NodeList-html"); -dojo.require("dojo.html"); -dojo.extend(dojo.NodeList,{html:function(_1,_2){ -var _3=new dojo.html._ContentSetter(_2||{}); -this.forEach(function(_4){ -_3.node=_4; -_3.set(_1); -_3.tearDown(); -}); -return this; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/NodeList-manipulate.js b/resources/library/interactive/barre_prof.wgt/dojo/NodeList-manipulate.js deleted file mode 100644 index fefa7226..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/NodeList-manipulate.js +++ /dev/null @@ -1,212 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.NodeList-manipulate"]){ -dojo._hasResource["dojo.NodeList-manipulate"]=true; -dojo.provide("dojo.NodeList-manipulate"); -(function(){ -function _1(_2){ -var _3="",ch=_2.childNodes; -for(var i=0,n;n=ch[i];i++){ -if(n.nodeType!=8){ -if(n.nodeType==1){ -_3+=_1(n); -}else{ -_3+=n.nodeValue; -} -} -} -return _3; -}; -function _4(_5){ -while(_5.childNodes[0]&&_5.childNodes[0].nodeType==1){ -_5=_5.childNodes[0]; -} -return _5; -}; -function _6(_7,_8){ -if(typeof _7=="string"){ -_7=dojo._toDom(_7,(_8&&_8.ownerDocument)); -if(_7.nodeType==11){ -_7=_7.childNodes[0]; -} -}else{ -if(_7.nodeType==1&&_7.parentNode){ -_7=_7.cloneNode(false); -} -} -return _7; -}; -dojo.extend(dojo.NodeList,{_placeMultiple:function(_9,_a){ -var _b=typeof _9=="string"||_9.nodeType?dojo.query(_9):_9; -var _c=[]; -for(var i=0;i<_b.length;i++){ -var _d=_b[i]; -var _e=this.length; -for(var j=_e-1,_f;_f=this[j];j--){ -if(i>0){ -_f=this._cloneNode(_f); -_c.unshift(_f); -} -if(j==_e-1){ -dojo.place(_f,_d,_a); -}else{ -_d.parentNode.insertBefore(_f,_d); -} -_d=_f; -} -} -if(_c.length){ -_c.unshift(0); -_c.unshift(this.length-1); -Array.prototype.splice.apply(this,_c); -} -return this; -},innerHTML:function(_10){ -if(arguments.length){ -return this.addContent(_10,"only"); -}else{ -return this[0].innerHTML; -} -},text:function(_11){ -if(arguments.length){ -for(var i=0,_12;_12=this[i];i++){ -if(_12.nodeType==1){ -dojo.empty(_12); -_12.appendChild(_12.ownerDocument.createTextNode(_11)); -} -} -return this; -}else{ -var _13=""; -for(i=0;_12=this[i];i++){ -_13+=_1(_12); -} -return _13; -} -},val:function(_14){ -if(arguments.length){ -var _15=dojo.isArray(_14); -for(var _16=0,_17;_17=this[_16];_16++){ -var _18=_17.nodeName.toUpperCase(); -var _19=_17.type; -var _1a=_15?_14[_16]:_14; -if(_18=="SELECT"){ -var _1b=_17.options; -for(var i=0;i<_1b.length;i++){ -var opt=_1b[i]; -if(_17.multiple){ -opt.selected=(dojo.indexOf(_14,opt.value)!=-1); -}else{ -opt.selected=(opt.value==_1a); -} -} -}else{ -if(_19=="checkbox"||_19=="radio"){ -_17.checked=(_17.value==_1a); -}else{ -_17.value=_1a; -} -} -} -return this; -}else{ -_17=this[0]; -if(!_17||_17.nodeType!=1){ -return undefined; -} -_14=_17.value||""; -if(_17.nodeName.toUpperCase()=="SELECT"&&_17.multiple){ -_14=[]; -_1b=_17.options; -for(i=0;i<_1b.length;i++){ -opt=_1b[i]; -if(opt.selected){ -_14.push(opt.value); -} -} -if(!_14.length){ -_14=null; -} -} -return _14; -} -},append:function(_1c){ -return this.addContent(_1c,"last"); -},appendTo:function(_1d){ -return this._placeMultiple(_1d,"last"); -},prepend:function(_1e){ -return this.addContent(_1e,"first"); -},prependTo:function(_1f){ -return this._placeMultiple(_1f,"first"); -},after:function(_20){ -return this.addContent(_20,"after"); -},insertAfter:function(_21){ -return this._placeMultiple(_21,"after"); -},before:function(_22){ -return this.addContent(_22,"before"); -},insertBefore:function(_23){ -return this._placeMultiple(_23,"before"); -},remove:dojo.NodeList.prototype.orphan,wrap:function(_24){ -if(this[0]){ -_24=_6(_24,this[0]); -for(var i=0,_25;_25=this[i];i++){ -var _26=this._cloneNode(_24); -if(_25.parentNode){ -_25.parentNode.replaceChild(_26,_25); -} -var _27=_4(_26); -_27.appendChild(_25); -} -} -return this; -},wrapAll:function(_28){ -if(this[0]){ -_28=_6(_28,this[0]); -this[0].parentNode.replaceChild(_28,this[0]); -var _29=_4(_28); -for(var i=0,_2a;_2a=this[i];i++){ -_29.appendChild(_2a); -} -} -return this; -},wrapInner:function(_2b){ -if(this[0]){ -_2b=_6(_2b,this[0]); -for(var i=0;i<this.length;i++){ -var _2c=this._cloneNode(_2b); -this._wrap(dojo._toArray(this[i].childNodes),null,this._NodeListCtor).wrapAll(_2c); -} -} -return this; -},replaceWith:function(_2d){ -_2d=this._normalize(_2d,this[0]); -for(var i=0,_2e;_2e=this[i];i++){ -this._place(_2d,_2e,"before",i>0); -_2e.parentNode.removeChild(_2e); -} -return this; -},replaceAll:function(_2f){ -var nl=dojo.query(_2f); -var _30=this._normalize(this,this[0]); -for(var i=0,_31;_31=nl[i];i++){ -this._place(_30,_31,"before",i>0); -_31.parentNode.removeChild(_31); -} -return this; -},clone:function(){ -var ary=[]; -for(var i=0;i<this.length;i++){ -ary.push(this._cloneNode(this[i])); -} -return this._wrap(ary,this,this._NodeListCtor); -}}); -if(!dojo.NodeList.prototype.html){ -dojo.NodeList.prototype.html=dojo.NodeList.prototype.innerHTML; -} -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/NodeList-traverse.js b/resources/library/interactive/barre_prof.wgt/dojo/NodeList-traverse.js deleted file mode 100644 index 30f03a54..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/NodeList-traverse.js +++ /dev/null @@ -1,124 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.NodeList-traverse"]){ -dojo._hasResource["dojo.NodeList-traverse"]=true; -dojo.provide("dojo.NodeList-traverse"); -dojo.extend(dojo.NodeList,{_buildArrayFromCallback:function(_1){ -var _2=[]; -for(var i=0;i<this.length;i++){ -var _3=_1.call(this[i],this[i],_2); -if(_3){ -_2=_2.concat(_3); -} -} -return _2; -},_getUniqueAsNodeList:function(_4){ -var _5=[]; -for(var i=0,_6;_6=_4[i];i++){ -if(_6.nodeType==1&&dojo.indexOf(_5,_6)==-1){ -_5.push(_6); -} -} -return this._wrap(_5,null,this._NodeListCtor); -},_getUniqueNodeListWithParent:function(_7,_8){ -var _9=this._getUniqueAsNodeList(_7); -_9=(_8?dojo._filterQueryResult(_9,_8):_9); -return _9._stash(this); -},_getRelatedUniqueNodes:function(_a,_b){ -return this._getUniqueNodeListWithParent(this._buildArrayFromCallback(_b),_a); -},children:function(_c){ -return this._getRelatedUniqueNodes(_c,function(_d,_e){ -return dojo._toArray(_d.childNodes); -}); -},closest:function(_f,_10){ -return this._getRelatedUniqueNodes(null,function(_11,ary){ -do{ -if(dojo._filterQueryResult([_11],_f,_10).length){ -return _11; -} -}while(_11!=_10&&(_11=_11.parentNode)&&_11.nodeType==1); -return null; -}); -},parent:function(_12){ -return this._getRelatedUniqueNodes(_12,function(_13,ary){ -return _13.parentNode; -}); -},parents:function(_14){ -return this._getRelatedUniqueNodes(_14,function(_15,ary){ -var _16=[]; -while(_15.parentNode){ -_15=_15.parentNode; -_16.push(_15); -} -return _16; -}); -},siblings:function(_17){ -return this._getRelatedUniqueNodes(_17,function(_18,ary){ -var _19=[]; -var _1a=(_18.parentNode&&_18.parentNode.childNodes); -for(var i=0;i<_1a.length;i++){ -if(_1a[i]!=_18){ -_19.push(_1a[i]); -} -} -return _19; -}); -},next:function(_1b){ -return this._getRelatedUniqueNodes(_1b,function(_1c,ary){ -var _1d=_1c.nextSibling; -while(_1d&&_1d.nodeType!=1){ -_1d=_1d.nextSibling; -} -return _1d; -}); -},nextAll:function(_1e){ -return this._getRelatedUniqueNodes(_1e,function(_1f,ary){ -var _20=[]; -var _21=_1f; -while((_21=_21.nextSibling)){ -if(_21.nodeType==1){ -_20.push(_21); -} -} -return _20; -}); -},prev:function(_22){ -return this._getRelatedUniqueNodes(_22,function(_23,ary){ -var _24=_23.previousSibling; -while(_24&&_24.nodeType!=1){ -_24=_24.previousSibling; -} -return _24; -}); -},prevAll:function(_25){ -return this._getRelatedUniqueNodes(_25,function(_26,ary){ -var _27=[]; -var _28=_26; -while((_28=_28.previousSibling)){ -if(_28.nodeType==1){ -_27.push(_28); -} -} -return _27; -}); -},andSelf:function(){ -return this.concat(this._parent); -},first:function(){ -return this._wrap(((this[0]&&[this[0]])||[]),this); -},last:function(){ -return this._wrap((this.length?[this[this.length-1]]:[]),this); -},even:function(){ -return this.filter(function(_29,i){ -return i%2!=0; -}); -},odd:function(){ -return this.filter(function(_2a,i){ -return i%2==0; -}); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/OpenAjax.js b/resources/library/interactive/barre_prof.wgt/dojo/OpenAjax.js deleted file mode 100644 index b32a11a7..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/OpenAjax.js +++ /dev/null @@ -1,155 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!window["OpenAjax"]){ -OpenAjax=new function(){ -var t=true; -var f=false; -var g=window; -var _1; -var _2="org.openajax.hub."; -var h={}; -this.hub=h; -h.implementer="http://openajax.org"; -h.implVersion="0.6"; -h.specVersion="0.6"; -h.implExtraData={}; -var _1={}; -h.libraries=_1; -h.registerLibrary=function(_3,_4,_5,_6){ -_1[_3]={prefix:_3,namespaceURI:_4,version:_5,extraData:_6}; -this.publish(_2+"registerLibrary",_1[_3]); -}; -h.unregisterLibrary=function(_7){ -this.publish(_2+"unregisterLibrary",_1[_7]); -delete _1[_7]; -}; -h._subscriptions={c:{},s:[]}; -h._cleanup=[]; -h._subIndex=0; -h._pubDepth=0; -h.subscribe=function(_8,_9,_a,_b,_c){ -if(!_a){ -_a=window; -} -var _d=_8+"."+this._subIndex; -var _e={scope:_a,cb:_9,fcb:_c,data:_b,sid:this._subIndex++,hdl:_d}; -var _f=_8.split("."); -this._subscribe(this._subscriptions,_f,0,_e); -return _d; -}; -h.publish=function(_10,_11){ -var _12=_10.split("."); -this._pubDepth++; -this._publish(this._subscriptions,_12,0,_10,_11); -this._pubDepth--; -if((this._cleanup.length>0)&&(this._pubDepth==0)){ -for(var i=0;i<this._cleanup.length;i++){ -this.unsubscribe(this._cleanup[i].hdl); -} -delete (this._cleanup); -this._cleanup=[]; -} -}; -h.unsubscribe=function(sub){ -var _13=sub.split("."); -var sid=_13.pop(); -this._unsubscribe(this._subscriptions,_13,0,sid); -}; -h._subscribe=function(_14,_15,_16,sub){ -var _17=_15[_16]; -if(_16==_15.length){ -_14.s.push(sub); -}else{ -if(typeof _14.c=="undefined"){ -_14.c={}; -} -if(typeof _14.c[_17]=="undefined"){ -_14.c[_17]={c:{},s:[]}; -this._subscribe(_14.c[_17],_15,_16+1,sub); -}else{ -this._subscribe(_14.c[_17],_15,_16+1,sub); -} -} -}; -h._publish=function(_18,_19,_1a,_1b,msg){ -if(typeof _18!="undefined"){ -var _1c; -if(_1a==_19.length){ -_1c=_18; -}else{ -this._publish(_18.c[_19[_1a]],_19,_1a+1,_1b,msg); -this._publish(_18.c["*"],_19,_1a+1,_1b,msg); -_1c=_18.c["**"]; -} -if(typeof _1c!="undefined"){ -var _1d=_1c.s; -var max=_1d.length; -for(var i=0;i<max;i++){ -if(_1d[i].cb){ -var sc=_1d[i].scope; -var cb=_1d[i].cb; -var fcb=_1d[i].fcb; -var d=_1d[i].data; -if(typeof cb=="string"){ -cb=sc[cb]; -} -if(typeof fcb=="string"){ -fcb=sc[fcb]; -} -if((!fcb)||(fcb.call(sc,_1b,msg,d))){ -cb.call(sc,_1b,msg,d); -} -} -} -} -} -}; -h._unsubscribe=function(_1e,_1f,_20,sid){ -if(typeof _1e!="undefined"){ -if(_20<_1f.length){ -var _21=_1e.c[_1f[_20]]; -this._unsubscribe(_21,_1f,_20+1,sid); -if(_21.s.length==0){ -for(var x in _21.c){ -return; -} -delete _1e.c[_1f[_20]]; -} -return; -}else{ -var _22=_1e.s; -var max=_22.length; -for(var i=0;i<max;i++){ -if(sid==_22[i].sid){ -if(this._pubDepth>0){ -_22[i].cb=null; -this._cleanup.push(_22[i]); -}else{ -_22.splice(i,1); -} -return; -} -} -} -} -}; -h.reinit=function(){ -for(var lib in OpenAjax.hub.libraries){ -delete OpenAjax.hub.libraries[lib]; -} -OpenAjax.hub.registerLibrary("OpenAjax","http://openajax.org/hub","0.6",{}); -delete OpenAjax._subscriptions; -OpenAjax._subscriptions={c:{},s:[]}; -delete OpenAjax._cleanup; -OpenAjax._cleanup=[]; -OpenAjax._subIndex=0; -OpenAjax._pubDepth=0; -}; -}; -OpenAjax.hub.registerLibrary("OpenAjax","http://openajax.org/hub","0.6",{}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/Stateful.js b/resources/library/interactive/barre_prof.wgt/dojo/Stateful.js deleted file mode 100644 index ce5c57ab..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/Stateful.js +++ /dev/null @@ -1,69 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.Stateful"]){ -dojo._hasResource["dojo.Stateful"]=true; -dojo.provide("dojo.Stateful"); -dojo.declare("dojo.Stateful",null,{postscript:function(_1){ -if(_1){ -dojo.mixin(this,_1); -} -},get:function(_2){ -return this[_2]; -},set:function(_3,_4){ -if(typeof _3==="object"){ -for(var x in _3){ -this.set(x,_3[x]); -} -return this; -} -var _5=this[_3]; -this[_3]=_4; -if(this._watchCallbacks){ -this._watchCallbacks(_3,_5,_4); -} -return this; -},watch:function(_6,_7){ -var _8=this._watchCallbacks; -if(!_8){ -var _9=this; -_8=this._watchCallbacks=function(_a,_b,_c,_d){ -var _e=function(_f){ -if(_f){ -_f=_f.slice(); -for(var i=0,l=_f.length;i<l;i++){ -try{ -_f[i].call(_9,_a,_b,_c); -} -catch(e){ -console.error(e); -} -} -} -}; -_e(_8["_"+_a]); -if(!_d){ -_e(_8["*"]); -} -}; -} -if(!_7&&typeof _6==="function"){ -_7=_6; -_6="*"; -}else{ -_6="_"+_6; -} -var _10=_8[_6]; -if(typeof _10!=="object"){ -_10=_8[_6]=[]; -} -_10.push(_7); -return {unwatch:function(){ -_10.splice(dojo.indexOf(_10,_7),1); -}}; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/_base.js b/resources/library/interactive/barre_prof.wgt/dojo/_base.js deleted file mode 100644 index 985ff297..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/_base.js +++ /dev/null @@ -1,19 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo._base"]){ -dojo._hasResource["dojo._base"]=true; -dojo.provide("dojo._base"); -dojo.require("dojo._base.lang"); -dojo.require("dojo._base.array"); -dojo.require("dojo._base.declare"); -dojo.require("dojo._base.connect"); -dojo.require("dojo._base.Deferred"); -dojo.require("dojo._base.json"); -dojo.require("dojo._base.Color"); -dojo.require("dojo._base.browser"); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/back.js b/resources/library/interactive/barre_prof.wgt/dojo/back.js deleted file mode 100644 index a4eeb40d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/back.js +++ /dev/null @@ -1,242 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.back"]){ -dojo._hasResource["dojo.back"]=true; -dojo.provide("dojo.back"); -dojo.getObject("back",true,dojo); -(function(){ -var _1=dojo.back,_2=_1.getHash=function(){ -var h=window.location.hash; -if(h.charAt(0)=="#"){ -h=h.substring(1); -} -return dojo.isMozilla?h:decodeURIComponent(h); -},_3=_1.setHash=function(h){ -if(!h){ -h=""; -} -window.location.hash=encodeURIComponent(h); -_4=history.length; -}; -var _5=(typeof (window)!=="undefined")?window.location.href:""; -var _6=(typeof (window)!=="undefined")?_2():""; -var _7=null; -var _8=null; -var _9=null; -var _a=null; -var _b=[]; -var _c=[]; -var _d=false; -var _e=false; -var _4; -function _f(){ -var _10=_c.pop(); -if(!_10){ -return; -} -var _11=_c[_c.length-1]; -if(!_11&&_c.length==0){ -_11=_7; -} -if(_11){ -if(_11.kwArgs["back"]){ -_11.kwArgs["back"](); -}else{ -if(_11.kwArgs["backButton"]){ -_11.kwArgs["backButton"](); -}else{ -if(_11.kwArgs["handle"]){ -_11.kwArgs.handle("back"); -} -} -} -} -_b.push(_10); -}; -_1.goBack=_f; -function _12(){ -var _13=_b.pop(); -if(!_13){ -return; -} -if(_13.kwArgs["forward"]){ -_13.kwArgs.forward(); -}else{ -if(_13.kwArgs["forwardButton"]){ -_13.kwArgs.forwardButton(); -}else{ -if(_13.kwArgs["handle"]){ -_13.kwArgs.handle("forward"); -} -} -} -_c.push(_13); -}; -_1.goForward=_12; -function _14(url,_15,_16){ -return {"url":url,"kwArgs":_15,"urlHash":_16}; -}; -function _17(url){ -var _18=url.split("?"); -if(_18.length<2){ -return null; -}else{ -return _18[1]; -} -}; -function _19(){ -var url=(dojo.config["dojoIframeHistoryUrl"]||dojo.moduleUrl("dojo","resources/iframe_history.html"))+"?"+(new Date()).getTime(); -_d=true; -if(_a){ -dojo.isWebKit?_a.location=url:window.frames[_a.name].location=url; -}else{ -} -return url; -}; -function _1a(){ -if(!_e){ -var hsl=_c.length; -var _1b=_2(); -if((_1b===_6||window.location.href==_5)&&(hsl==1)){ -_f(); -return; -} -if(_b.length>0){ -if(_b[_b.length-1].urlHash===_1b){ -_12(); -return; -} -} -if((hsl>=2)&&(_c[hsl-2])){ -if(_c[hsl-2].urlHash===_1b){ -_f(); -return; -} -} -} -}; -_1.init=function(){ -if(dojo.byId("dj_history")){ -return; -} -var src=dojo.config["dojoIframeHistoryUrl"]||dojo.moduleUrl("dojo","resources/iframe_history.html"); -if(dojo._postLoad){ -console.error("dojo.back.init() must be called before the DOM has loaded. "+"If using xdomain loading or djConfig.debugAtAllCosts, include dojo.back "+"in a build layer."); -}else{ -document.write("<iframe style=\"border:0;width:1px;height:1px;position:absolute;visibility:hidden;bottom:0;right:0;\" name=\"dj_history\" id=\"dj_history\" src=\""+src+"\"></iframe>"); -} -}; -_1.setInitialState=function(_1c){ -_7=_14(_5,_1c,_6); -}; -_1.addToHistory=function(_1d){ -_b=[]; -var _1e=null; -var url=null; -if(!_a){ -if(dojo.config["useXDomain"]&&!dojo.config["dojoIframeHistoryUrl"]){ -console.warn("dojo.back: When using cross-domain Dojo builds,"+" please save iframe_history.html to your domain and set djConfig.dojoIframeHistoryUrl"+" to the path on your domain to iframe_history.html"); -} -_a=window.frames["dj_history"]; -} -if(!_9){ -_9=dojo.create("a",{style:{display:"none"}},dojo.body()); -} -if(_1d["changeUrl"]){ -_1e=""+((_1d["changeUrl"]!==true)?_1d["changeUrl"]:(new Date()).getTime()); -if(_c.length==0&&_7.urlHash==_1e){ -_7=_14(url,_1d,_1e); -return; -}else{ -if(_c.length>0&&_c[_c.length-1].urlHash==_1e){ -_c[_c.length-1]=_14(url,_1d,_1e); -return; -} -} -_e=true; -setTimeout(function(){ -_3(_1e); -_e=false; -},1); -_9.href=_1e; -if(dojo.isIE){ -url=_19(); -var _1f=_1d["back"]||_1d["backButton"]||_1d["handle"]; -var tcb=function(_20){ -if(_2()!=""){ -setTimeout(function(){ -_3(_1e); -},1); -} -_1f.apply(this,[_20]); -}; -if(_1d["back"]){ -_1d.back=tcb; -}else{ -if(_1d["backButton"]){ -_1d.backButton=tcb; -}else{ -if(_1d["handle"]){ -_1d.handle=tcb; -} -} -} -var _21=_1d["forward"]||_1d["forwardButton"]||_1d["handle"]; -var tfw=function(_22){ -if(_2()!=""){ -_3(_1e); -} -if(_21){ -_21.apply(this,[_22]); -} -}; -if(_1d["forward"]){ -_1d.forward=tfw; -}else{ -if(_1d["forwardButton"]){ -_1d.forwardButton=tfw; -}else{ -if(_1d["handle"]){ -_1d.handle=tfw; -} -} -} -}else{ -if(!dojo.isIE){ -if(!_8){ -_8=setInterval(_1a,200); -} -} -} -}else{ -url=_19(); -} -_c.push(_14(url,_1d,_1e)); -}; -_1._iframeLoaded=function(evt,_23){ -var _24=_17(_23.href); -if(_24==null){ -if(_c.length==1){ -_f(); -} -return; -} -if(_d){ -_d=false; -return; -} -if(_c.length>=2&&_24==_17(_c[_c.length-2].url)){ -_f(); -}else{ -if(_b.length>0&&_24==_17(_b[_b.length-1].url)){ -_12(); -} -} -}; -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/behavior.js b/resources/library/interactive/barre_prof.wgt/dojo/behavior.js deleted file mode 100644 index 948f0d3e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/behavior.js +++ /dev/null @@ -1,94 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.behavior"]){ -dojo._hasResource["dojo.behavior"]=true; -dojo.provide("dojo.behavior"); -dojo.behavior=new function(){ -function _1(_2,_3){ -if(!_2[_3]){ -_2[_3]=[]; -} -return _2[_3]; -}; -var _4=0; -function _5(_6,_7,_8){ -var _9={}; -for(var x in _6){ -if(typeof _9[x]=="undefined"){ -if(!_8){ -_7(_6[x],x); -}else{ -_8.call(_7,_6[x],x); -} -} -} -}; -this._behaviors={}; -this.add=function(_a){ -var _b={}; -_5(_a,this,function(_c,_d){ -var _e=_1(this._behaviors,_d); -if(typeof _e["id"]!="number"){ -_e.id=_4++; -} -var _f=[]; -_e.push(_f); -if((dojo.isString(_c))||(dojo.isFunction(_c))){ -_c={found:_c}; -} -_5(_c,function(_10,_11){ -_1(_f,_11).push(_10); -}); -}); -}; -var _12=function(_13,_14,_15){ -if(dojo.isString(_14)){ -if(_15=="found"){ -dojo.publish(_14,[_13]); -}else{ -dojo.connect(_13,_15,function(){ -dojo.publish(_14,arguments); -}); -} -}else{ -if(dojo.isFunction(_14)){ -if(_15=="found"){ -_14(_13); -}else{ -dojo.connect(_13,_15,_14); -} -} -} -}; -this.apply=function(){ -_5(this._behaviors,function(_16,id){ -dojo.query(id).forEach(function(_17){ -var _18=0; -var bid="_dj_behavior_"+_16.id; -if(typeof _17[bid]=="number"){ -_18=_17[bid]; -if(_18==(_16.length)){ -return; -} -} -for(var x=_18,_19;_19=_16[x];x++){ -_5(_19,function(_1a,_1b){ -if(dojo.isArray(_1a)){ -dojo.forEach(_1a,function(_1c){ -_12(_17,_1c,_1b); -}); -} -}); -} -_17[bid]=_16.length; -}); -}); -}; -}; -dojo.addOnLoad(dojo.behavior,"apply"); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/build.txt b/resources/library/interactive/barre_prof.wgt/dojo/build.txt deleted file mode 100644 index bced2cec..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/build.txt +++ /dev/null @@ -1,400 +0,0 @@ -Files baked into this build: - -dojo.js: -./jslib/dojoGuardStart.jsfrag -./../../dojo/_base/_loader/bootstrap.js -./../../dojo/_base/_loader/loader.js -./../../dojo/_base/_loader/hostenv_browser.js -./../../release/dojo-release-1.6.1/dojo/_base/lang.js -./../../release/dojo-release-1.6.1/dojo/_base/array.js -./../../release/dojo-release-1.6.1/dojo/_base/declare.js -./../../release/dojo-release-1.6.1/dojo/_base/connect.js -./../../release/dojo-release-1.6.1/dojo/_base/Deferred.js -./../../release/dojo-release-1.6.1/dojo/_base/json.js -./../../release/dojo-release-1.6.1/dojo/_base/Color.js -./../../release/dojo-release-1.6.1/dojo/_base/window.js -./../../release/dojo-release-1.6.1/dojo/_base/event.js -./../../release/dojo-release-1.6.1/dojo/_base/html.js -./../../release/dojo-release-1.6.1/dojo/_base/NodeList.js -./../../release/dojo-release-1.6.1/dojo/_base/query.js -./../../release/dojo-release-1.6.1/dojo/_base/xhr.js -./../../release/dojo-release-1.6.1/dojo/_base/fx.js -./../../release/dojo-release-1.6.1/dojo/_base/browser.js -./../../release/dojo-release-1.6.1/dojo/_base.js -./jslib/dojoGuardEnd.jsfrag - -../dijit/dijit.js: -./../../release/dojo-release-1.6.1/dojo/window.js -./../../release/dojo-release-1.6.1/dijit/_base/manager.js -./../../release/dojo-release-1.6.1/dijit/_base/focus.js -./../../release/dojo-release-1.6.1/dojo/AdapterRegistry.js -./../../release/dojo-release-1.6.1/dijit/_base/place.js -./../../release/dojo-release-1.6.1/dijit/_base/window.js -./../../release/dojo-release-1.6.1/dijit/_base/popup.js -./../../release/dojo-release-1.6.1/dijit/_base/scroll.js -./../../release/dojo-release-1.6.1/dojo/uacss.js -./../../release/dojo-release-1.6.1/dijit/_base/sniff.js -./../../release/dojo-release-1.6.1/dijit/_base/typematic.js -./../../release/dojo-release-1.6.1/dijit/_base/wai.js -./../../release/dojo-release-1.6.1/dijit/_base.js -./../../release/dojo-release-1.6.1/dojo/date/stamp.js -./../../release/dojo-release-1.6.1/dojo/parser.js -./../../release/dojo-release-1.6.1/dojo/Stateful.js -./../../release/dojo-release-1.6.1/dijit/_WidgetBase.js -./../../release/dojo-release-1.6.1/dijit/_Widget.js -./../../release/dojo-release-1.6.1/dojo/string.js -./../../release/dojo-release-1.6.1/dojo/cache.js -./../../release/dojo-release-1.6.1/dijit/_Templated.js -./../../release/dojo-release-1.6.1/dijit/_Container.js -./../../release/dojo-release-1.6.1/dijit/_Contained.js -./../../release/dojo-release-1.6.1/dijit/layout/_LayoutWidget.js -./../../release/dojo-release-1.6.1/dijit/_CssStateMixin.js -./../../release/dojo-release-1.6.1/dijit/form/_FormWidget.js -./../../release/dojo-release-1.6.1/dijit/dijit.js - -../dijit/dijit-all.js: -./../../release/dojo-release-1.6.1/dojo/colors.js -./../../release/dojo-release-1.6.1/dojo/i18n.js -./../../release/dojo-release-1.6.1/dijit/_PaletteMixin.js -./../../release/dojo-release-1.6.1/dijit/ColorPalette.js -./../../release/dojo-release-1.6.1/dijit/Declaration.js -./../../release/dojo-release-1.6.1/dojo/dnd/common.js -./../../release/dojo-release-1.6.1/dojo/dnd/autoscroll.js -./../../release/dojo-release-1.6.1/dojo/dnd/Mover.js -./../../release/dojo-release-1.6.1/dojo/dnd/Moveable.js -./../../release/dojo-release-1.6.1/dojo/dnd/move.js -./../../release/dojo-release-1.6.1/dojo/dnd/TimedMoveable.js -./../../release/dojo-release-1.6.1/dojo/fx/Toggler.js -./../../release/dojo-release-1.6.1/dojo/fx.js -./../../release/dojo-release-1.6.1/dijit/form/_FormMixin.js -./../../release/dojo-release-1.6.1/dijit/_DialogMixin.js -./../../release/dojo-release-1.6.1/dijit/DialogUnderlay.js -./../../release/dojo-release-1.6.1/dijit/layout/_ContentPaneResizeMixin.js -./../../release/dojo-release-1.6.1/dojo/html.js -./../../release/dojo-release-1.6.1/dijit/layout/ContentPane.js -./../../release/dojo-release-1.6.1/dijit/TooltipDialog.js -./../../release/dojo-release-1.6.1/dijit/Dialog.js -./../../release/dojo-release-1.6.1/dijit/_editor/selection.js -./../../release/dojo-release-1.6.1/dijit/_editor/range.js -./../../release/dojo-release-1.6.1/dijit/_editor/html.js -./../../release/dojo-release-1.6.1/dijit/_editor/RichText.js -./../../release/dojo-release-1.6.1/dijit/_KeyNavContainer.js -./../../release/dojo-release-1.6.1/dijit/ToolbarSeparator.js -./../../release/dojo-release-1.6.1/dijit/Toolbar.js -./../../release/dojo-release-1.6.1/dijit/_HasDropDown.js -./../../release/dojo-release-1.6.1/dijit/form/Button.js -./../../release/dojo-release-1.6.1/dijit/_editor/_Plugin.js -./../../release/dojo-release-1.6.1/dijit/_editor/plugins/EnterKeyHandling.js -./../../release/dojo-release-1.6.1/dijit/Editor.js -./../../release/dojo-release-1.6.1/dojo/regexp.js -./../../release/dojo-release-1.6.1/dojo/data/util/sorter.js -./../../release/dojo-release-1.6.1/dojo/data/util/simpleFetch.js -./../../release/dojo-release-1.6.1/dojo/data/util/filter.js -./../../release/dojo-release-1.6.1/dijit/form/TextBox.js -./../../release/dojo-release-1.6.1/dijit/Tooltip.js -./../../release/dojo-release-1.6.1/dijit/form/ValidationTextBox.js -./../../release/dojo-release-1.6.1/dijit/form/ComboBox.js -./../../release/dojo-release-1.6.1/dijit/form/FilteringSelect.js -./../../release/dojo-release-1.6.1/dojo/data/ItemFileReadStore.js -./../../release/dojo-release-1.6.1/dijit/_editor/plugins/FontChoice.js -./../../release/dojo-release-1.6.1/dijit/form/DropDownButton.js -./../../release/dojo-release-1.6.1/dijit/form/_FormSelectWidget.js -./../../release/dojo-release-1.6.1/dijit/MenuItem.js -./../../release/dojo-release-1.6.1/dijit/PopupMenuItem.js -./../../release/dojo-release-1.6.1/dijit/CheckedMenuItem.js -./../../release/dojo-release-1.6.1/dijit/MenuSeparator.js -./../../release/dojo-release-1.6.1/dijit/Menu.js -./../../release/dojo-release-1.6.1/dijit/form/Select.js -./../../release/dojo-release-1.6.1/dijit/_editor/plugins/LinkDialog.js -./../../release/dojo-release-1.6.1/dijit/MenuBar.js -./../../release/dojo-release-1.6.1/dijit/MenuBarItem.js -./../../release/dojo-release-1.6.1/dijit/PopupMenuBarItem.js -./../../release/dojo-release-1.6.1/dojo/number.js -./../../release/dojo-release-1.6.1/dijit/ProgressBar.js -./../../release/dojo-release-1.6.1/dijit/TitlePane.js -./../../release/dojo-release-1.6.1/dojo/DeferredList.js -./../../release/dojo-release-1.6.1/dojo/cookie.js -./../../release/dojo-release-1.6.1/dijit/tree/TreeStoreModel.js -./../../release/dojo-release-1.6.1/dijit/tree/ForestStoreModel.js -./../../release/dojo-release-1.6.1/dojo/dnd/Container.js -./../../release/dojo-release-1.6.1/dijit/tree/_dndContainer.js -./../../release/dojo-release-1.6.1/dijit/tree/_dndSelector.js -./../../release/dojo-release-1.6.1/dijit/Tree.js -./../../release/dojo-release-1.6.1/dijit/InlineEditBox.js -./../../release/dojo-release-1.6.1/dijit/form/Form.js -./../../release/dojo-release-1.6.1/dijit/form/ComboButton.js -./../../release/dojo-release-1.6.1/dijit/form/ToggleButton.js -./../../release/dojo-release-1.6.1/dijit/form/CheckBox.js -./../../release/dojo-release-1.6.1/dijit/form/RadioButton.js -./../../release/dojo-release-1.6.1/dojo/cldr/monetary.js -./../../release/dojo-release-1.6.1/dojo/currency.js -./../../release/dojo-release-1.6.1/dijit/form/NumberTextBox.js -./../../release/dojo-release-1.6.1/dijit/form/CurrencyTextBox.js -./../../release/dojo-release-1.6.1/dojo/cldr/supplemental.js -./../../release/dojo-release-1.6.1/dojo/date.js -./../../release/dojo-release-1.6.1/dojo/date/locale.js -./../../release/dojo-release-1.6.1/dijit/Calendar.js -./../../release/dojo-release-1.6.1/dijit/form/_DateTimeTextBox.js -./../../release/dojo-release-1.6.1/dijit/form/DateTextBox.js -./../../release/dojo-release-1.6.1/dijit/form/_Spinner.js -./../../release/dojo-release-1.6.1/dijit/form/NumberSpinner.js -./../../release/dojo-release-1.6.1/dijit/form/MultiSelect.js -./../../release/dojo-release-1.6.1/dijit/form/HorizontalSlider.js -./../../release/dojo-release-1.6.1/dijit/form/VerticalSlider.js -./../../release/dojo-release-1.6.1/dijit/form/HorizontalRule.js -./../../release/dojo-release-1.6.1/dijit/form/VerticalRule.js -./../../release/dojo-release-1.6.1/dijit/form/HorizontalRuleLabels.js -./../../release/dojo-release-1.6.1/dijit/form/VerticalRuleLabels.js -./../../release/dojo-release-1.6.1/dijit/form/SimpleTextarea.js -./../../release/dojo-release-1.6.1/dijit/form/Textarea.js -./../../release/dojo-release-1.6.1/dijit/layout/StackController.js -./../../release/dojo-release-1.6.1/dijit/layout/StackContainer.js -./../../release/dojo-release-1.6.1/dijit/layout/AccordionPane.js -./../../release/dojo-release-1.6.1/dijit/layout/AccordionContainer.js -./../../release/dojo-release-1.6.1/dijit/layout/BorderContainer.js -./../../release/dojo-release-1.6.1/dijit/layout/LayoutContainer.js -./../../release/dojo-release-1.6.1/dijit/layout/LinkPane.js -./../../release/dojo-release-1.6.1/dijit/layout/SplitContainer.js -./../../release/dojo-release-1.6.1/dijit/layout/_TabContainerBase.js -./../../release/dojo-release-1.6.1/dijit/layout/TabController.js -./../../release/dojo-release-1.6.1/dijit/layout/ScrollingTabController.js -./../../release/dojo-release-1.6.1/dijit/layout/TabContainer.js -./../../release/dojo-release-1.6.1/dijit/dijit-all.js - -../dojox/grid/DataGrid.js: -./../../release/dojo-release-1.6.1/dojo/window.js -./../../release/dojo-release-1.6.1/dijit/_base/manager.js -./../../release/dojo-release-1.6.1/dijit/_base/focus.js -./../../release/dojo-release-1.6.1/dojo/AdapterRegistry.js -./../../release/dojo-release-1.6.1/dijit/_base/place.js -./../../release/dojo-release-1.6.1/dijit/_base/window.js -./../../release/dojo-release-1.6.1/dijit/_base/popup.js -./../../release/dojo-release-1.6.1/dijit/_base/scroll.js -./../../release/dojo-release-1.6.1/dojo/uacss.js -./../../release/dojo-release-1.6.1/dijit/_base/sniff.js -./../../release/dojo-release-1.6.1/dijit/_base/typematic.js -./../../release/dojo-release-1.6.1/dijit/_base/wai.js -./../../release/dojo-release-1.6.1/dijit/_base.js -./../../release/dojo-release-1.6.1/dojo/date/stamp.js -./../../release/dojo-release-1.6.1/dojo/parser.js -./../../release/dojo-release-1.6.1/dojo/Stateful.js -./../../release/dojo-release-1.6.1/dijit/_WidgetBase.js -./../../release/dojo-release-1.6.1/dijit/_Widget.js -./../../release/dojo-release-1.6.1/dojo/string.js -./../../release/dojo-release-1.6.1/dojo/cache.js -./../../release/dojo-release-1.6.1/dijit/_Templated.js -./../../release/dojo-release-1.6.1/dijit/_Container.js -./../../release/dojo-release-1.6.1/dijit/_Contained.js -./../../release/dojo-release-1.6.1/dijit/layout/_LayoutWidget.js -./../../release/dojo-release-1.6.1/dijit/_CssStateMixin.js -./../../release/dojo-release-1.6.1/dijit/form/_FormWidget.js -./../../release/dojo-release-1.6.1/dijit/dijit.js -./../../release/dojo-release-1.6.1/dijit/_KeyNavContainer.js -./../../release/dojo-release-1.6.1/dijit/MenuItem.js -./../../release/dojo-release-1.6.1/dijit/PopupMenuItem.js -./../../release/dojo-release-1.6.1/dijit/CheckedMenuItem.js -./../../release/dojo-release-1.6.1/dijit/MenuSeparator.js -./../../release/dojo-release-1.6.1/dijit/Menu.js -./../../release/dojo-release-1.6.1/dojox/html/metrics.js -./../../release/dojo-release-1.6.1/dojox/grid/util.js -./../../release/dojo-release-1.6.1/dojox/grid/_Scroller.js -./../../release/dojo-release-1.6.1/dojox/grid/cells/_base.js -./../../release/dojo-release-1.6.1/dojox/grid/cells.js -./../../release/dojo-release-1.6.1/dojo/dnd/common.js -./../../release/dojo-release-1.6.1/dojo/dnd/autoscroll.js -./../../release/dojo-release-1.6.1/dojo/dnd/Mover.js -./../../release/dojo-release-1.6.1/dojo/dnd/Moveable.js -./../../release/dojo-release-1.6.1/dojox/grid/_Builder.js -./../../release/dojo-release-1.6.1/dojo/dnd/Container.js -./../../release/dojo-release-1.6.1/dojo/dnd/Selector.js -./../../release/dojo-release-1.6.1/dojo/dnd/Avatar.js -./../../release/dojo-release-1.6.1/dojo/dnd/Manager.js -./../../release/dojo-release-1.6.1/dojo/dnd/Source.js -./../../release/dojo-release-1.6.1/dojox/grid/_View.js -./../../release/dojo-release-1.6.1/dojox/grid/_RowSelector.js -./../../release/dojo-release-1.6.1/dojox/grid/_Layout.js -./../../release/dojo-release-1.6.1/dojox/grid/_ViewManager.js -./../../release/dojo-release-1.6.1/dojox/grid/_RowManager.js -./../../release/dojo-release-1.6.1/dojox/grid/_FocusManager.js -./../../release/dojo-release-1.6.1/dojox/grid/_EditManager.js -./../../release/dojo-release-1.6.1/dojox/grid/Selection.js -./../../release/dojo-release-1.6.1/dojox/grid/_Events.js -./../../release/dojo-release-1.6.1/dojo/i18n.js -./../../release/dojo-release-1.6.1/dojox/grid/_Grid.js -./../../release/dojo-release-1.6.1/dojox/grid/DataSelection.js -./../../release/dojo-release-1.6.1/dojox/grid/DataGrid.js - -../dojox/gfx.js: -./../../release/dojo-release-1.6.1/dojox/gfx/matrix.js -./../../release/dojo-release-1.6.1/dojox/gfx/_base.js -./../../release/dojo-release-1.6.1/dojox/gfx.js - -../dojox/charting/widget/Chart2D.js: -./../../release/dojo-release-1.6.1/dijit/_base/manager.js -./../../release/dojo-release-1.6.1/dojo/Stateful.js -./../../release/dojo-release-1.6.1/dijit/_WidgetBase.js -./../../release/dojo-release-1.6.1/dojo/window.js -./../../release/dojo-release-1.6.1/dijit/_base/focus.js -./../../release/dojo-release-1.6.1/dojo/AdapterRegistry.js -./../../release/dojo-release-1.6.1/dijit/_base/place.js -./../../release/dojo-release-1.6.1/dijit/_base/window.js -./../../release/dojo-release-1.6.1/dijit/_base/popup.js -./../../release/dojo-release-1.6.1/dijit/_base/scroll.js -./../../release/dojo-release-1.6.1/dojo/uacss.js -./../../release/dojo-release-1.6.1/dijit/_base/sniff.js -./../../release/dojo-release-1.6.1/dijit/_base/typematic.js -./../../release/dojo-release-1.6.1/dijit/_base/wai.js -./../../release/dojo-release-1.6.1/dijit/_base.js -./../../release/dojo-release-1.6.1/dijit/_Widget.js -./../../release/dojo-release-1.6.1/dojox/gfx/matrix.js -./../../release/dojo-release-1.6.1/dojox/gfx/_base.js -./../../release/dojo-release-1.6.1/dojox/gfx.js -./../../release/dojo-release-1.6.1/dojox/lang/functional/lambda.js -./../../release/dojo-release-1.6.1/dojox/lang/functional/array.js -./../../release/dojo-release-1.6.1/dojox/lang/functional/object.js -./../../release/dojo-release-1.6.1/dojox/lang/functional.js -./../../release/dojo-release-1.6.1/dojox/lang/functional/fold.js -./../../release/dojo-release-1.6.1/dojox/lang/functional/reversed.js -./../../release/dojo-release-1.6.1/dojox/charting/Element.js -./../../release/dojo-release-1.6.1/dojo/colors.js -./../../release/dojo-release-1.6.1/dojox/color/_base.js -./../../release/dojo-release-1.6.1/dojox/color.js -./../../release/dojo-release-1.6.1/dojox/color/Palette.js -./../../release/dojo-release-1.6.1/dojox/lang/utils.js -./../../release/dojo-release-1.6.1/dojox/gfx/gradutils.js -./../../release/dojo-release-1.6.1/dojox/charting/Theme.js -./../../release/dojo-release-1.6.1/dojox/charting/Series.js -./../../release/dojo-release-1.6.1/dojox/charting/axis2d/common.js -./../../release/dojo-release-1.6.1/dojox/charting/Chart.js -./../../release/dojo-release-1.6.1/dojox/charting/widget/Chart.js -./../../release/dojo-release-1.6.1/dojo/fx/easing.js -./../../release/dojo-release-1.6.1/dojox/gfx/fx.js -./../../release/dojo-release-1.6.1/dojox/charting/action2d/Base.js -./../../release/dojo-release-1.6.1/dojox/charting/action2d/Highlight.js -./../../release/dojo-release-1.6.1/dojo/fx/Toggler.js -./../../release/dojo-release-1.6.1/dojo/fx.js -./../../release/dojo-release-1.6.1/dojox/charting/action2d/Magnify.js -./../../release/dojo-release-1.6.1/dojox/lang/functional/scan.js -./../../release/dojo-release-1.6.1/dojox/charting/action2d/MoveSlice.js -./../../release/dojo-release-1.6.1/dojox/charting/action2d/Shake.js -./../../release/dojo-release-1.6.1/dojo/string.js -./../../release/dojo-release-1.6.1/dojo/date/stamp.js -./../../release/dojo-release-1.6.1/dojo/parser.js -./../../release/dojo-release-1.6.1/dojo/cache.js -./../../release/dojo-release-1.6.1/dijit/_Templated.js -./../../release/dojo-release-1.6.1/dijit/Tooltip.js -./../../release/dojo-release-1.6.1/dojox/charting/action2d/Tooltip.js -./../../release/dojo-release-1.6.1/dojox/charting/scaler/common.js -./../../release/dojo-release-1.6.1/dojox/charting/scaler/linear.js -./../../release/dojo-release-1.6.1/dojox/charting/axis2d/Base.js -./../../release/dojo-release-1.6.1/dojox/charting/axis2d/Invisible.js -./../../release/dojo-release-1.6.1/dojox/charting/axis2d/Default.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/common.js -./../../release/dojo-release-1.6.1/dojox/charting/scaler/primitive.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/_PlotEvents.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/Base.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/Default.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/Lines.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/Areas.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/Markers.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/MarkersOnly.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/Scatter.js -./../../release/dojo-release-1.6.1/dojox/lang/functional/sequence.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/Stacked.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/StackedLines.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/StackedAreas.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/Columns.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/StackedColumns.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/ClusteredColumns.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/Bars.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/StackedBars.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/ClusteredBars.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/Grid.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/Pie.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/Bubble.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/Candlesticks.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/OHLC.js -./../../release/dojo-release-1.6.1/dojox/charting/plot2d/Spider.js -./../../release/dojo-release-1.6.1/dojox/charting/Chart2D.js -./../../release/dojo-release-1.6.1/dojox/charting/widget/Chart2D.js -./../../release/dojo-release-1.6.1/dojox/charting/themes/GreySkies.js -./../../release/dojo-release-1.6.1/dojox/charting/widget/Sparkline.js -./../../release/dojo-release-1.6.1/dojox/charting/widget/Legend.js - -../dojox/dtl.js: -./../../release/dojo-release-1.6.1/dojox/string/Builder.js -./../../release/dojo-release-1.6.1/dojox/string/tokenize.js -./../../release/dojo-release-1.6.1/dojox/dtl/_base.js -./../../release/dojo-release-1.6.1/dojox/dtl.js -./../../release/dojo-release-1.6.1/dojox/dtl/Context.js -./../../release/dojo-release-1.6.1/dojox/dtl/tag/logic.js -./../../release/dojo-release-1.6.1/dojox/dtl/tag/loop.js -./../../release/dojo-release-1.6.1/dojo/date.js -./../../release/dojo-release-1.6.1/dojox/date/php.js -./../../release/dojo-release-1.6.1/dojox/dtl/utils/date.js -./../../release/dojo-release-1.6.1/dojox/dtl/tag/date.js -./../../release/dojo-release-1.6.1/dojox/dtl/tag/loader.js -./../../release/dojo-release-1.6.1/dojox/dtl/tag/misc.js -./../../release/dojo-release-1.6.1/dojox/dtl/ext-dojo/NodeList.js - -../dojox/mobile.js: -./../../release/dojo-release-1.6.1/dijit/_base/manager.js -./../../release/dojo-release-1.6.1/dojo/Stateful.js -./../../release/dojo-release-1.6.1/dijit/_WidgetBase.js -./../../release/dojo-release-1.6.1/dojox/mobile/_base.js -./../../release/dojo-release-1.6.1/dojox/mobile.js - -../dojox/mobile/app.js: -./../../release/dojo-release-1.6.1/dojo/window.js -./../../release/dojo-release-1.6.1/dijit/_base/manager.js -./../../release/dojo-release-1.6.1/dijit/_base/focus.js -./../../release/dojo-release-1.6.1/dojo/AdapterRegistry.js -./../../release/dojo-release-1.6.1/dijit/_base/place.js -./../../release/dojo-release-1.6.1/dijit/_base/window.js -./../../release/dojo-release-1.6.1/dijit/_base/popup.js -./../../release/dojo-release-1.6.1/dijit/_base/scroll.js -./../../release/dojo-release-1.6.1/dojo/uacss.js -./../../release/dojo-release-1.6.1/dijit/_base/sniff.js -./../../release/dojo-release-1.6.1/dijit/_base/typematic.js -./../../release/dojo-release-1.6.1/dijit/_base/wai.js -./../../release/dojo-release-1.6.1/dijit/_base.js -./../../release/dojo-release-1.6.1/dojo/Stateful.js -./../../release/dojo-release-1.6.1/dijit/_WidgetBase.js -./../../release/dojo-release-1.6.1/dojox/mobile/_base.js -./../../release/dojo-release-1.6.1/dojox/mobile.js -./../../release/dojo-release-1.6.1/dojox/mobile/parser.js -./../../release/dojo-release-1.6.1/dojox/mobile/app/_event.js -./../../release/dojo-release-1.6.1/dojox/mobile/app/_Widget.js -./../../release/dojo-release-1.6.1/dojox/mobile/app/SceneController.js -./../../release/dojo-release-1.6.1/dojox/mobile/app/StageController.js -./../../release/dojo-release-1.6.1/dojox/mobile/app/SceneAssistant.js -./../../release/dojo-release-1.6.1/dojox/mobile/app/AlertDialog.js -./../../release/dojo-release-1.6.1/dojo/string.js -./../../release/dojo-release-1.6.1/dojox/mobile/app/List.js -./../../release/dojo-release-1.6.1/dojo/fx/Toggler.js -./../../release/dojo-release-1.6.1/dojo/fx.js -./../../release/dojo-release-1.6.1/dojox/mobile/app/ListSelector.js -./../../release/dojo-release-1.6.1/dojox/mobile/app/_FormWidget.js -./../../release/dojo-release-1.6.1/dojox/mobile/app/TextBox.js -./../../release/dojo-release-1.6.1/dojo/fx/easing.js -./../../release/dojo-release-1.6.1/dojox/mobile/app/ImageView.js -./../../release/dojo-release-1.6.1/dojox/mobile/app/ImageThumbView.js -./../../release/dojo-release-1.6.1/dojox/mobile/app/_base.js -./../../release/dojo-release-1.6.1/dojox/mobile/app.js - -../dojox/mobile/compat.js: -./../../release/dojo-release-1.6.1/dojo/uacss.js -./../../release/dojo-release-1.6.1/dijit/_base/sniff.js -./../../release/dojo-release-1.6.1/dojo/fx/Toggler.js -./../../release/dojo-release-1.6.1/dojo/fx.js -./../../release/dojo-release-1.6.1/dojox/fx/flip.js -./../../release/dojo-release-1.6.1/dojox/mobile/compat.js - -../dojox/mobile/app/compat.js: -./../../release/dojo-release-1.6.1/dojo/uacss.js -./../../release/dojo-release-1.6.1/dijit/_base/sniff.js -./../../release/dojo-release-1.6.1/dojo/fx/Toggler.js -./../../release/dojo-release-1.6.1/dojo/fx.js -./../../release/dojo-release-1.6.1/dojox/fx/flip.js -./../../release/dojo-release-1.6.1/dojox/mobile/compat.js -./../../release/dojo-release-1.6.1/dojox/mobile/app/compat.js diff --git a/resources/library/interactive/barre_prof.wgt/dojo/cache.js b/resources/library/interactive/barre_prof.wgt/dojo/cache.js deleted file mode 100644 index 2d144329..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/cache.js +++ /dev/null @@ -1,52 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.cache"]){ -dojo._hasResource["dojo.cache"]=true; -dojo.provide("dojo.cache"); -var cache={}; -dojo.cache=function(_1,_2,_3){ -if(typeof _1=="string"){ -var _4=dojo.moduleUrl(_1,_2); -}else{ -_4=_1; -_3=_2; -} -var _5=_4.toString(); -var _6=_3; -if(_3!=undefined&&!dojo.isString(_3)){ -_6=("value" in _3?_3.value:undefined); -} -var _7=_3&&_3.sanitize?true:false; -if(typeof _6=="string"){ -_6=cache[_5]=_7?dojo.cache._sanitize(_6):_6; -}else{ -if(_6===null){ -delete cache[_5]; -}else{ -if(!(_5 in cache)){ -_6=dojo._getText(_5); -cache[_5]=_7?dojo.cache._sanitize(_6):_6; -} -_6=cache[_5]; -} -} -return _6; -}; -dojo.cache._sanitize=function(_8){ -if(_8){ -_8=_8.replace(/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,""); -var _9=_8.match(/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im); -if(_9){ -_8=_9[1]; -} -}else{ -_8=""; -} -return _8; -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/colors.js b/resources/library/interactive/barre_prof.wgt/dojo/colors.js deleted file mode 100644 index 80522c97..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/colors.js +++ /dev/null @@ -1,77 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.colors"]){ -dojo._hasResource["dojo.colors"]=true; -dojo.provide("dojo.colors"); -dojo.getObject("colors",true,dojo); -(function(){ -var _1=function(m1,m2,h){ -if(h<0){ -++h; -} -if(h>1){ ---h; -} -var h6=6*h; -if(h6<1){ -return m1+(m2-m1)*h6; -} -if(2*h<1){ -return m2; -} -if(3*h<2){ -return m1+(m2-m1)*(2/3-h)*6; -} -return m1; -}; -dojo.colorFromRgb=function(_2,_3){ -var m=_2.toLowerCase().match(/^(rgba?|hsla?)\(([\s\.\-,%0-9]+)\)/); -if(m){ -var c=m[2].split(/\s*,\s*/),l=c.length,t=m[1],a; -if((t=="rgb"&&l==3)||(t=="rgba"&&l==4)){ -var r=c[0]; -if(r.charAt(r.length-1)=="%"){ -a=dojo.map(c,function(x){ -return parseFloat(x)*2.56; -}); -if(l==4){ -a[3]=c[3]; -} -return dojo.colorFromArray(a,_3); -} -return dojo.colorFromArray(c,_3); -} -if((t=="hsl"&&l==3)||(t=="hsla"&&l==4)){ -var H=((parseFloat(c[0])%360)+360)%360/360,S=parseFloat(c[1])/100,L=parseFloat(c[2])/100,m2=L<=0.5?L*(S+1):L+S-L*S,m1=2*L-m2; -a=[_1(m1,m2,H+1/3)*256,_1(m1,m2,H)*256,_1(m1,m2,H-1/3)*256,1]; -if(l==4){ -a[3]=c[3]; -} -return dojo.colorFromArray(a,_3); -} -} -return null; -}; -var _4=function(c,_5,_6){ -c=Number(c); -return isNaN(c)?_6:c<_5?_5:c>_6?_6:c; -}; -dojo.Color.prototype.sanitize=function(){ -var t=this; -t.r=Math.round(_4(t.r,0,255)); -t.g=Math.round(_4(t.g,0,255)); -t.b=Math.round(_4(t.b,0,255)); -t.a=_4(t.a,0,1); -return this; -}; -})(); -dojo.colors.makeGrey=function(g,a){ -return dojo.colorFromArray([g,g,g,a]); -}; -dojo.mixin(dojo.Color.named,{aliceblue:[240,248,255],antiquewhite:[250,235,215],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],blanchedalmond:[255,235,205],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],oldlace:[253,245,230],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],thistle:[216,191,216],tomato:[255,99,71],transparent:[0,0,0,0],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],whitesmoke:[245,245,245],yellowgreen:[154,205,50]}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/cookie.js b/resources/library/interactive/barre_prof.wgt/dojo/cookie.js deleted file mode 100644 index 73f09110..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/cookie.js +++ /dev/null @@ -1,50 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.cookie"]){ -dojo._hasResource["dojo.cookie"]=true; -dojo.provide("dojo.cookie"); -dojo.require("dojo.regexp"); -dojo.cookie=function(_1,_2,_3){ -var c=document.cookie; -if(arguments.length==1){ -var _4=c.match(new RegExp("(?:^|; )"+dojo.regexp.escapeString(_1)+"=([^;]*)")); -return _4?decodeURIComponent(_4[1]):undefined; -}else{ -_3=_3||{}; -var _5=_3.expires; -if(typeof _5=="number"){ -var d=new Date(); -d.setTime(d.getTime()+_5*24*60*60*1000); -_5=_3.expires=d; -} -if(_5&&_5.toUTCString){ -_3.expires=_5.toUTCString(); -} -_2=encodeURIComponent(_2); -var _6=_1+"="+_2,_7; -for(_7 in _3){ -_6+="; "+_7; -var _8=_3[_7]; -if(_8!==true){ -_6+="="+_8; -} -} -document.cookie=_6; -} -}; -dojo.cookie.isSupported=function(){ -if(!("cookieEnabled" in navigator)){ -this("__djCookieTest__","CookiesAllowed"); -navigator.cookieEnabled=this("__djCookieTest__")=="CookiesAllowed"; -if(navigator.cookieEnabled){ -this("__djCookieTest__","",{expires:-1}); -} -} -return navigator.cookieEnabled; -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/currency.js b/resources/library/interactive/barre_prof.wgt/dojo/currency.js deleted file mode 100644 index 95728b21..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/currency.js +++ /dev/null @@ -1,37 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.currency"]){ -dojo._hasResource["dojo.currency"]=true; -dojo.provide("dojo.currency"); -dojo.require("dojo.number"); -dojo.require("dojo.i18n"); -dojo.requireLocalization("dojo.cldr","currency",null,"ROOT,ar,ca,cs,da,de,el,en,en-au,en-ca,es,fi,fr,he,hu,it,ja,ko,nb,nl,pl,pt,ro,ru,sk,sl,sv,th,tr,zh,zh-hant,zh-hk,zh-tw"); -dojo.require("dojo.cldr.monetary"); -dojo.getObject("currency",true,dojo); -dojo.currency._mixInDefaults=function(_1){ -_1=_1||{}; -_1.type="currency"; -var _2=dojo.i18n.getLocalization("dojo.cldr","currency",_1.locale)||{}; -var _3=_1.currency; -var _4=dojo.cldr.monetary.getData(_3); -dojo.forEach(["displayName","symbol","group","decimal"],function(_5){ -_4[_5]=_2[_3+"_"+_5]; -}); -_4.fractional=[true,false]; -return dojo.mixin(_4,_1); -}; -dojo.currency.format=function(_6,_7){ -return dojo.number.format(_6,dojo.currency._mixInDefaults(_7)); -}; -dojo.currency.regexp=function(_8){ -return dojo.number.regexp(dojo.currency._mixInDefaults(_8)); -}; -dojo.currency.parse=function(_9,_a){ -return dojo.number.parse(_9,dojo.currency._mixInDefaults(_a)); -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/data/ItemFileReadStore.js b/resources/library/interactive/barre_prof.wgt/dojo/data/ItemFileReadStore.js deleted file mode 100644 index 65e538df..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/data/ItemFileReadStore.js +++ /dev/null @@ -1,564 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.data.ItemFileReadStore"]){ -dojo._hasResource["dojo.data.ItemFileReadStore"]=true; -dojo.provide("dojo.data.ItemFileReadStore"); -dojo.require("dojo.data.util.filter"); -dojo.require("dojo.data.util.simpleFetch"); -dojo.require("dojo.date.stamp"); -dojo.declare("dojo.data.ItemFileReadStore",null,{constructor:function(_1){ -this._arrayOfAllItems=[]; -this._arrayOfTopLevelItems=[]; -this._loadFinished=false; -this._jsonFileUrl=_1.url; -this._ccUrl=_1.url; -this.url=_1.url; -this._jsonData=_1.data; -this.data=null; -this._datatypeMap=_1.typeMap||{}; -if(!this._datatypeMap["Date"]){ -this._datatypeMap["Date"]={type:Date,deserialize:function(_2){ -return dojo.date.stamp.fromISOString(_2); -}}; -} -this._features={"dojo.data.api.Read":true,"dojo.data.api.Identity":true}; -this._itemsByIdentity=null; -this._storeRefPropName="_S"; -this._itemNumPropName="_0"; -this._rootItemPropName="_RI"; -this._reverseRefMap="_RRM"; -this._loadInProgress=false; -this._queuedFetches=[]; -if(_1.urlPreventCache!==undefined){ -this.urlPreventCache=_1.urlPreventCache?true:false; -} -if(_1.hierarchical!==undefined){ -this.hierarchical=_1.hierarchical?true:false; -} -if(_1.clearOnClose){ -this.clearOnClose=true; -} -if("failOk" in _1){ -this.failOk=_1.failOk?true:false; -} -},url:"",_ccUrl:"",data:null,typeMap:null,clearOnClose:false,urlPreventCache:false,failOk:false,hierarchical:true,_assertIsItem:function(_3){ -if(!this.isItem(_3)){ -throw new Error("dojo.data.ItemFileReadStore: Invalid item argument."); -} -},_assertIsAttribute:function(_4){ -if(typeof _4!=="string"){ -throw new Error("dojo.data.ItemFileReadStore: Invalid attribute argument."); -} -},getValue:function(_5,_6,_7){ -var _8=this.getValues(_5,_6); -return (_8.length>0)?_8[0]:_7; -},getValues:function(_9,_a){ -this._assertIsItem(_9); -this._assertIsAttribute(_a); -return (_9[_a]||[]).slice(0); -},getAttributes:function(_b){ -this._assertIsItem(_b); -var _c=[]; -for(var _d in _b){ -if((_d!==this._storeRefPropName)&&(_d!==this._itemNumPropName)&&(_d!==this._rootItemPropName)&&(_d!==this._reverseRefMap)){ -_c.push(_d); -} -} -return _c; -},hasAttribute:function(_e,_f){ -this._assertIsItem(_e); -this._assertIsAttribute(_f); -return (_f in _e); -},containsValue:function(_10,_11,_12){ -var _13=undefined; -if(typeof _12==="string"){ -_13=dojo.data.util.filter.patternToRegExp(_12,false); -} -return this._containsValue(_10,_11,_12,_13); -},_containsValue:function(_14,_15,_16,_17){ -return dojo.some(this.getValues(_14,_15),function(_18){ -if(_18!==null&&!dojo.isObject(_18)&&_17){ -if(_18.toString().match(_17)){ -return true; -} -}else{ -if(_16===_18){ -return true; -} -} -}); -},isItem:function(_19){ -if(_19&&_19[this._storeRefPropName]===this){ -if(this._arrayOfAllItems[_19[this._itemNumPropName]]===_19){ -return true; -} -} -return false; -},isItemLoaded:function(_1a){ -return this.isItem(_1a); -},loadItem:function(_1b){ -this._assertIsItem(_1b.item); -},getFeatures:function(){ -return this._features; -},getLabel:function(_1c){ -if(this._labelAttr&&this.isItem(_1c)){ -return this.getValue(_1c,this._labelAttr); -} -return undefined; -},getLabelAttributes:function(_1d){ -if(this._labelAttr){ -return [this._labelAttr]; -} -return null; -},_fetchItems:function(_1e,_1f,_20){ -var _21=this,_22=function(_23,_24){ -var _25=[],i,key; -if(_23.query){ -var _26,_27=_23.queryOptions?_23.queryOptions.ignoreCase:false; -var _28={}; -for(key in _23.query){ -_26=_23.query[key]; -if(typeof _26==="string"){ -_28[key]=dojo.data.util.filter.patternToRegExp(_26,_27); -}else{ -if(_26 instanceof RegExp){ -_28[key]=_26; -} -} -} -for(i=0;i<_24.length;++i){ -var _29=true; -var _2a=_24[i]; -if(_2a===null){ -_29=false; -}else{ -for(key in _23.query){ -_26=_23.query[key]; -if(!_21._containsValue(_2a,key,_26,_28[key])){ -_29=false; -} -} -} -if(_29){ -_25.push(_2a); -} -} -_1f(_25,_23); -}else{ -for(i=0;i<_24.length;++i){ -var _2b=_24[i]; -if(_2b!==null){ -_25.push(_2b); -} -} -_1f(_25,_23); -} -}; -if(this._loadFinished){ -_22(_1e,this._getItemsArray(_1e.queryOptions)); -}else{ -if(this._jsonFileUrl!==this._ccUrl){ -dojo.deprecated("dojo.data.ItemFileReadStore: ","To change the url, set the url property of the store,"+" not _jsonFileUrl. _jsonFileUrl support will be removed in 2.0"); -this._ccUrl=this._jsonFileUrl; -this.url=this._jsonFileUrl; -}else{ -if(this.url!==this._ccUrl){ -this._jsonFileUrl=this.url; -this._ccUrl=this.url; -} -} -if(this.data!=null){ -this._jsonData=this.data; -this.data=null; -} -if(this._jsonFileUrl){ -if(this._loadInProgress){ -this._queuedFetches.push({args:_1e,filter:_22}); -}else{ -this._loadInProgress=true; -var _2c={url:_21._jsonFileUrl,handleAs:"json-comment-optional",preventCache:this.urlPreventCache,failOk:this.failOk}; -var _2d=dojo.xhrGet(_2c); -_2d.addCallback(function(_2e){ -try{ -_21._getItemsFromLoadedData(_2e); -_21._loadFinished=true; -_21._loadInProgress=false; -_22(_1e,_21._getItemsArray(_1e.queryOptions)); -_21._handleQueuedFetches(); -} -catch(e){ -_21._loadFinished=true; -_21._loadInProgress=false; -_20(e,_1e); -} -}); -_2d.addErrback(function(_2f){ -_21._loadInProgress=false; -_20(_2f,_1e); -}); -var _30=null; -if(_1e.abort){ -_30=_1e.abort; -} -_1e.abort=function(){ -var df=_2d; -if(df&&df.fired===-1){ -df.cancel(); -df=null; -} -if(_30){ -_30.call(_1e); -} -}; -} -}else{ -if(this._jsonData){ -try{ -this._loadFinished=true; -this._getItemsFromLoadedData(this._jsonData); -this._jsonData=null; -_22(_1e,this._getItemsArray(_1e.queryOptions)); -} -catch(e){ -_20(e,_1e); -} -}else{ -_20(new Error("dojo.data.ItemFileReadStore: No JSON source data was provided as either URL or a nested Javascript object."),_1e); -} -} -} -},_handleQueuedFetches:function(){ -if(this._queuedFetches.length>0){ -for(var i=0;i<this._queuedFetches.length;i++){ -var _31=this._queuedFetches[i],_32=_31.args,_33=_31.filter; -if(_33){ -_33(_32,this._getItemsArray(_32.queryOptions)); -}else{ -this.fetchItemByIdentity(_32); -} -} -this._queuedFetches=[]; -} -},_getItemsArray:function(_34){ -if(_34&&_34.deep){ -return this._arrayOfAllItems; -} -return this._arrayOfTopLevelItems; -},close:function(_35){ -if(this.clearOnClose&&this._loadFinished&&!this._loadInProgress){ -if(((this._jsonFileUrl==""||this._jsonFileUrl==null)&&(this.url==""||this.url==null))&&this.data==null){ -} -this._arrayOfAllItems=[]; -this._arrayOfTopLevelItems=[]; -this._loadFinished=false; -this._itemsByIdentity=null; -this._loadInProgress=false; -this._queuedFetches=[]; -} -},_getItemsFromLoadedData:function(_36){ -var _37=false,_38=this; -function _39(_3a){ -var _3b=((_3a!==null)&&(typeof _3a==="object")&&(!dojo.isArray(_3a)||_37)&&(!dojo.isFunction(_3a))&&(_3a.constructor==Object||dojo.isArray(_3a))&&(typeof _3a._reference==="undefined")&&(typeof _3a._type==="undefined")&&(typeof _3a._value==="undefined")&&_38.hierarchical); -return _3b; -}; -function _3c(_3d){ -_38._arrayOfAllItems.push(_3d); -for(var _3e in _3d){ -var _3f=_3d[_3e]; -if(_3f){ -if(dojo.isArray(_3f)){ -var _40=_3f; -for(var k=0;k<_40.length;++k){ -var _41=_40[k]; -if(_39(_41)){ -_3c(_41); -} -} -}else{ -if(_39(_3f)){ -_3c(_3f); -} -} -} -} -}; -this._labelAttr=_36.label; -var i,_42; -this._arrayOfAllItems=[]; -this._arrayOfTopLevelItems=_36.items; -for(i=0;i<this._arrayOfTopLevelItems.length;++i){ -_42=this._arrayOfTopLevelItems[i]; -if(dojo.isArray(_42)){ -_37=true; -} -_3c(_42); -_42[this._rootItemPropName]=true; -} -var _43={},key; -for(i=0;i<this._arrayOfAllItems.length;++i){ -_42=this._arrayOfAllItems[i]; -for(key in _42){ -if(key!==this._rootItemPropName){ -var _44=_42[key]; -if(_44!==null){ -if(!dojo.isArray(_44)){ -_42[key]=[_44]; -} -}else{ -_42[key]=[null]; -} -} -_43[key]=key; -} -} -while(_43[this._storeRefPropName]){ -this._storeRefPropName+="_"; -} -while(_43[this._itemNumPropName]){ -this._itemNumPropName+="_"; -} -while(_43[this._reverseRefMap]){ -this._reverseRefMap+="_"; -} -var _45; -var _46=_36.identifier; -if(_46){ -this._itemsByIdentity={}; -this._features["dojo.data.api.Identity"]=_46; -for(i=0;i<this._arrayOfAllItems.length;++i){ -_42=this._arrayOfAllItems[i]; -_45=_42[_46]; -var _47=_45[0]; -if(!Object.hasOwnProperty.call(this._itemsByIdentity,_47)){ -this._itemsByIdentity[_47]=_42; -}else{ -if(this._jsonFileUrl){ -throw new Error("dojo.data.ItemFileReadStore: The json data as specified by: ["+this._jsonFileUrl+"] is malformed. Items within the list have identifier: ["+_46+"]. Value collided: ["+_47+"]"); -}else{ -if(this._jsonData){ -throw new Error("dojo.data.ItemFileReadStore: The json data provided by the creation arguments is malformed. Items within the list have identifier: ["+_46+"]. Value collided: ["+_47+"]"); -} -} -} -} -}else{ -this._features["dojo.data.api.Identity"]=Number; -} -for(i=0;i<this._arrayOfAllItems.length;++i){ -_42=this._arrayOfAllItems[i]; -_42[this._storeRefPropName]=this; -_42[this._itemNumPropName]=i; -} -for(i=0;i<this._arrayOfAllItems.length;++i){ -_42=this._arrayOfAllItems[i]; -for(key in _42){ -_45=_42[key]; -for(var j=0;j<_45.length;++j){ -_44=_45[j]; -if(_44!==null&&typeof _44=="object"){ -if(("_type" in _44)&&("_value" in _44)){ -var _48=_44._type; -var _49=this._datatypeMap[_48]; -if(!_49){ -throw new Error("dojo.data.ItemFileReadStore: in the typeMap constructor arg, no object class was specified for the datatype '"+_48+"'"); -}else{ -if(dojo.isFunction(_49)){ -_45[j]=new _49(_44._value); -}else{ -if(dojo.isFunction(_49.deserialize)){ -_45[j]=_49.deserialize(_44._value); -}else{ -throw new Error("dojo.data.ItemFileReadStore: Value provided in typeMap was neither a constructor, nor a an object with a deserialize function"); -} -} -} -} -if(_44._reference){ -var _4a=_44._reference; -if(!dojo.isObject(_4a)){ -_45[j]=this._getItemByIdentity(_4a); -}else{ -for(var k=0;k<this._arrayOfAllItems.length;++k){ -var _4b=this._arrayOfAllItems[k],_4c=true; -for(var _4d in _4a){ -if(_4b[_4d]!=_4a[_4d]){ -_4c=false; -} -} -if(_4c){ -_45[j]=_4b; -} -} -} -if(this.referenceIntegrity){ -var _4e=_45[j]; -if(this.isItem(_4e)){ -this._addReferenceToMap(_4e,_42,key); -} -} -}else{ -if(this.isItem(_44)){ -if(this.referenceIntegrity){ -this._addReferenceToMap(_44,_42,key); -} -} -} -} -} -} -} -},_addReferenceToMap:function(_4f,_50,_51){ -},getIdentity:function(_52){ -var _53=this._features["dojo.data.api.Identity"]; -if(_53===Number){ -return _52[this._itemNumPropName]; -}else{ -var _54=_52[_53]; -if(_54){ -return _54[0]; -} -} -return null; -},fetchItemByIdentity:function(_55){ -var _56,_57; -if(!this._loadFinished){ -var _58=this; -if(this._jsonFileUrl!==this._ccUrl){ -dojo.deprecated("dojo.data.ItemFileReadStore: ","To change the url, set the url property of the store,"+" not _jsonFileUrl. _jsonFileUrl support will be removed in 2.0"); -this._ccUrl=this._jsonFileUrl; -this.url=this._jsonFileUrl; -}else{ -if(this.url!==this._ccUrl){ -this._jsonFileUrl=this.url; -this._ccUrl=this.url; -} -} -if(this.data!=null&&this._jsonData==null){ -this._jsonData=this.data; -this.data=null; -} -if(this._jsonFileUrl){ -if(this._loadInProgress){ -this._queuedFetches.push({args:_55}); -}else{ -this._loadInProgress=true; -var _59={url:_58._jsonFileUrl,handleAs:"json-comment-optional",preventCache:this.urlPreventCache,failOk:this.failOk}; -var _5a=dojo.xhrGet(_59); -_5a.addCallback(function(_5b){ -var _5c=_55.scope?_55.scope:dojo.global; -try{ -_58._getItemsFromLoadedData(_5b); -_58._loadFinished=true; -_58._loadInProgress=false; -_56=_58._getItemByIdentity(_55.identity); -if(_55.onItem){ -_55.onItem.call(_5c,_56); -} -_58._handleQueuedFetches(); -} -catch(error){ -_58._loadInProgress=false; -if(_55.onError){ -_55.onError.call(_5c,error); -} -} -}); -_5a.addErrback(function(_5d){ -_58._loadInProgress=false; -if(_55.onError){ -var _5e=_55.scope?_55.scope:dojo.global; -_55.onError.call(_5e,_5d); -} -}); -} -}else{ -if(this._jsonData){ -_58._getItemsFromLoadedData(_58._jsonData); -_58._jsonData=null; -_58._loadFinished=true; -_56=_58._getItemByIdentity(_55.identity); -if(_55.onItem){ -_57=_55.scope?_55.scope:dojo.global; -_55.onItem.call(_57,_56); -} -} -} -}else{ -_56=this._getItemByIdentity(_55.identity); -if(_55.onItem){ -_57=_55.scope?_55.scope:dojo.global; -_55.onItem.call(_57,_56); -} -} -},_getItemByIdentity:function(_5f){ -var _60=null; -if(this._itemsByIdentity&&Object.hasOwnProperty.call(this._itemsByIdentity,_5f)){ -_60=this._itemsByIdentity[_5f]; -}else{ -if(Object.hasOwnProperty.call(this._arrayOfAllItems,_5f)){ -_60=this._arrayOfAllItems[_5f]; -} -} -if(_60===undefined){ -_60=null; -} -return _60; -},getIdentityAttributes:function(_61){ -var _62=this._features["dojo.data.api.Identity"]; -if(_62===Number){ -return null; -}else{ -return [_62]; -} -},_forceLoad:function(){ -var _63=this; -if(this._jsonFileUrl!==this._ccUrl){ -dojo.deprecated("dojo.data.ItemFileReadStore: ","To change the url, set the url property of the store,"+" not _jsonFileUrl. _jsonFileUrl support will be removed in 2.0"); -this._ccUrl=this._jsonFileUrl; -this.url=this._jsonFileUrl; -}else{ -if(this.url!==this._ccUrl){ -this._jsonFileUrl=this.url; -this._ccUrl=this.url; -} -} -if(this.data!=null){ -this._jsonData=this.data; -this.data=null; -} -if(this._jsonFileUrl){ -var _64={url:this._jsonFileUrl,handleAs:"json-comment-optional",preventCache:this.urlPreventCache,failOk:this.failOk,sync:true}; -var _65=dojo.xhrGet(_64); -_65.addCallback(function(_66){ -try{ -if(_63._loadInProgress!==true&&!_63._loadFinished){ -_63._getItemsFromLoadedData(_66); -_63._loadFinished=true; -}else{ -if(_63._loadInProgress){ -throw new Error("dojo.data.ItemFileReadStore: Unable to perform a synchronous load, an async load is in progress."); -} -} -} -catch(e){ -throw e; -} -}); -_65.addErrback(function(_67){ -throw _67; -}); -}else{ -if(this._jsonData){ -_63._getItemsFromLoadedData(_63._jsonData); -_63._jsonData=null; -_63._loadFinished=true; -} -} -}}); -dojo.extend(dojo.data.ItemFileReadStore,dojo.data.util.simpleFetch); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/data/ItemFileWriteStore.js b/resources/library/interactive/barre_prof.wgt/dojo/data/ItemFileWriteStore.js deleted file mode 100644 index b4c9f7cb..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/data/ItemFileWriteStore.js +++ /dev/null @@ -1,511 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.data.ItemFileWriteStore"]){ -dojo._hasResource["dojo.data.ItemFileWriteStore"]=true; -dojo.provide("dojo.data.ItemFileWriteStore"); -dojo.require("dojo.data.ItemFileReadStore"); -dojo.declare("dojo.data.ItemFileWriteStore",dojo.data.ItemFileReadStore,{constructor:function(_1){ -this._features["dojo.data.api.Write"]=true; -this._features["dojo.data.api.Notification"]=true; -this._pending={_newItems:{},_modifiedItems:{},_deletedItems:{}}; -if(!this._datatypeMap["Date"].serialize){ -this._datatypeMap["Date"].serialize=function(_2){ -return dojo.date.stamp.toISOString(_2,{zulu:true}); -}; -} -if(_1&&(_1.referenceIntegrity===false)){ -this.referenceIntegrity=false; -} -this._saveInProgress=false; -},referenceIntegrity:true,_assert:function(_3){ -if(!_3){ -throw new Error("assertion failed in ItemFileWriteStore"); -} -},_getIdentifierAttribute:function(){ -var _4=this.getFeatures()["dojo.data.api.Identity"]; -return _4; -},newItem:function(_5,_6){ -this._assert(!this._saveInProgress); -if(!this._loadFinished){ -this._forceLoad(); -} -if(typeof _5!="object"&&typeof _5!="undefined"){ -throw new Error("newItem() was passed something other than an object"); -} -var _7=null; -var _8=this._getIdentifierAttribute(); -if(_8===Number){ -_7=this._arrayOfAllItems.length; -}else{ -_7=_5[_8]; -if(typeof _7==="undefined"){ -throw new Error("newItem() was not passed an identity for the new item"); -} -if(dojo.isArray(_7)){ -throw new Error("newItem() was not passed an single-valued identity"); -} -} -if(this._itemsByIdentity){ -this._assert(typeof this._itemsByIdentity[_7]==="undefined"); -} -this._assert(typeof this._pending._newItems[_7]==="undefined"); -this._assert(typeof this._pending._deletedItems[_7]==="undefined"); -var _9={}; -_9[this._storeRefPropName]=this; -_9[this._itemNumPropName]=this._arrayOfAllItems.length; -if(this._itemsByIdentity){ -this._itemsByIdentity[_7]=_9; -_9[_8]=[_7]; -} -this._arrayOfAllItems.push(_9); -var _a=null; -if(_6&&_6.parent&&_6.attribute){ -_a={item:_6.parent,attribute:_6.attribute,oldValue:undefined}; -var _b=this.getValues(_6.parent,_6.attribute); -if(_b&&_b.length>0){ -var _c=_b.slice(0,_b.length); -if(_b.length===1){ -_a.oldValue=_b[0]; -}else{ -_a.oldValue=_b.slice(0,_b.length); -} -_c.push(_9); -this._setValueOrValues(_6.parent,_6.attribute,_c,false); -_a.newValue=this.getValues(_6.parent,_6.attribute); -}else{ -this._setValueOrValues(_6.parent,_6.attribute,_9,false); -_a.newValue=_9; -} -}else{ -_9[this._rootItemPropName]=true; -this._arrayOfTopLevelItems.push(_9); -} -this._pending._newItems[_7]=_9; -for(var _d in _5){ -if(_d===this._storeRefPropName||_d===this._itemNumPropName){ -throw new Error("encountered bug in ItemFileWriteStore.newItem"); -} -var _e=_5[_d]; -if(!dojo.isArray(_e)){ -_e=[_e]; -} -_9[_d]=_e; -if(this.referenceIntegrity){ -for(var i=0;i<_e.length;i++){ -var _f=_e[i]; -if(this.isItem(_f)){ -this._addReferenceToMap(_f,_9,_d); -} -} -} -} -this.onNew(_9,_a); -return _9; -},_removeArrayElement:function(_10,_11){ -var _12=dojo.indexOf(_10,_11); -if(_12!=-1){ -_10.splice(_12,1); -return true; -} -return false; -},deleteItem:function(_13){ -this._assert(!this._saveInProgress); -this._assertIsItem(_13); -var _14=_13[this._itemNumPropName]; -var _15=this.getIdentity(_13); -if(this.referenceIntegrity){ -var _16=this.getAttributes(_13); -if(_13[this._reverseRefMap]){ -_13["backup_"+this._reverseRefMap]=dojo.clone(_13[this._reverseRefMap]); -} -dojo.forEach(_16,function(_17){ -dojo.forEach(this.getValues(_13,_17),function(_18){ -if(this.isItem(_18)){ -if(!_13["backupRefs_"+this._reverseRefMap]){ -_13["backupRefs_"+this._reverseRefMap]=[]; -} -_13["backupRefs_"+this._reverseRefMap].push({id:this.getIdentity(_18),attr:_17}); -this._removeReferenceFromMap(_18,_13,_17); -} -},this); -},this); -var _19=_13[this._reverseRefMap]; -if(_19){ -for(var _1a in _19){ -var _1b=null; -if(this._itemsByIdentity){ -_1b=this._itemsByIdentity[_1a]; -}else{ -_1b=this._arrayOfAllItems[_1a]; -} -if(_1b){ -for(var _1c in _19[_1a]){ -var _1d=this.getValues(_1b,_1c)||[]; -var _1e=dojo.filter(_1d,function(_1f){ -return !(this.isItem(_1f)&&this.getIdentity(_1f)==_15); -},this); -this._removeReferenceFromMap(_13,_1b,_1c); -if(_1e.length<_1d.length){ -this._setValueOrValues(_1b,_1c,_1e,true); -} -} -} -} -} -} -this._arrayOfAllItems[_14]=null; -_13[this._storeRefPropName]=null; -if(this._itemsByIdentity){ -delete this._itemsByIdentity[_15]; -} -this._pending._deletedItems[_15]=_13; -if(_13[this._rootItemPropName]){ -this._removeArrayElement(this._arrayOfTopLevelItems,_13); -} -this.onDelete(_13); -return true; -},setValue:function(_20,_21,_22){ -return this._setValueOrValues(_20,_21,_22,true); -},setValues:function(_23,_24,_25){ -return this._setValueOrValues(_23,_24,_25,true); -},unsetAttribute:function(_26,_27){ -return this._setValueOrValues(_26,_27,[],true); -},_setValueOrValues:function(_28,_29,_2a,_2b){ -this._assert(!this._saveInProgress); -this._assertIsItem(_28); -this._assert(dojo.isString(_29)); -this._assert(typeof _2a!=="undefined"); -var _2c=this._getIdentifierAttribute(); -if(_29==_2c){ -throw new Error("ItemFileWriteStore does not have support for changing the value of an item's identifier."); -} -var _2d=this._getValueOrValues(_28,_29); -var _2e=this.getIdentity(_28); -if(!this._pending._modifiedItems[_2e]){ -var _2f={}; -for(var key in _28){ -if((key===this._storeRefPropName)||(key===this._itemNumPropName)||(key===this._rootItemPropName)){ -_2f[key]=_28[key]; -}else{ -if(key===this._reverseRefMap){ -_2f[key]=dojo.clone(_28[key]); -}else{ -_2f[key]=_28[key].slice(0,_28[key].length); -} -} -} -this._pending._modifiedItems[_2e]=_2f; -} -var _30=false; -if(dojo.isArray(_2a)&&_2a.length===0){ -_30=delete _28[_29]; -_2a=undefined; -if(this.referenceIntegrity&&_2d){ -var _31=_2d; -if(!dojo.isArray(_31)){ -_31=[_31]; -} -for(var i=0;i<_31.length;i++){ -var _32=_31[i]; -if(this.isItem(_32)){ -this._removeReferenceFromMap(_32,_28,_29); -} -} -} -}else{ -var _33; -if(dojo.isArray(_2a)){ -var _34=_2a; -_33=_2a.slice(0,_2a.length); -}else{ -_33=[_2a]; -} -if(this.referenceIntegrity){ -if(_2d){ -var _31=_2d; -if(!dojo.isArray(_31)){ -_31=[_31]; -} -var map={}; -dojo.forEach(_31,function(_35){ -if(this.isItem(_35)){ -var id=this.getIdentity(_35); -map[id.toString()]=true; -} -},this); -dojo.forEach(_33,function(_36){ -if(this.isItem(_36)){ -var id=this.getIdentity(_36); -if(map[id.toString()]){ -delete map[id.toString()]; -}else{ -this._addReferenceToMap(_36,_28,_29); -} -} -},this); -for(var rId in map){ -var _37; -if(this._itemsByIdentity){ -_37=this._itemsByIdentity[rId]; -}else{ -_37=this._arrayOfAllItems[rId]; -} -this._removeReferenceFromMap(_37,_28,_29); -} -}else{ -for(var i=0;i<_33.length;i++){ -var _32=_33[i]; -if(this.isItem(_32)){ -this._addReferenceToMap(_32,_28,_29); -} -} -} -} -_28[_29]=_33; -_30=true; -} -if(_2b){ -this.onSet(_28,_29,_2d,_2a); -} -return _30; -},_addReferenceToMap:function(_38,_39,_3a){ -var _3b=this.getIdentity(_39); -var _3c=_38[this._reverseRefMap]; -if(!_3c){ -_3c=_38[this._reverseRefMap]={}; -} -var _3d=_3c[_3b]; -if(!_3d){ -_3d=_3c[_3b]={}; -} -_3d[_3a]=true; -},_removeReferenceFromMap:function(_3e,_3f,_40){ -var _41=this.getIdentity(_3f); -var _42=_3e[this._reverseRefMap]; -var _43; -if(_42){ -for(_43 in _42){ -if(_43==_41){ -delete _42[_43][_40]; -if(this._isEmpty(_42[_43])){ -delete _42[_43]; -} -} -} -if(this._isEmpty(_42)){ -delete _3e[this._reverseRefMap]; -} -} -},_dumpReferenceMap:function(){ -var i; -for(i=0;i<this._arrayOfAllItems.length;i++){ -var _44=this._arrayOfAllItems[i]; -if(_44&&_44[this._reverseRefMap]){ -} -} -},_getValueOrValues:function(_45,_46){ -var _47=undefined; -if(this.hasAttribute(_45,_46)){ -var _48=this.getValues(_45,_46); -if(_48.length==1){ -_47=_48[0]; -}else{ -_47=_48; -} -} -return _47; -},_flatten:function(_49){ -if(this.isItem(_49)){ -var _4a=_49; -var _4b=this.getIdentity(_4a); -var _4c={_reference:_4b}; -return _4c; -}else{ -if(typeof _49==="object"){ -for(var _4d in this._datatypeMap){ -var _4e=this._datatypeMap[_4d]; -if(dojo.isObject(_4e)&&!dojo.isFunction(_4e)){ -if(_49 instanceof _4e.type){ -if(!_4e.serialize){ -throw new Error("ItemFileWriteStore: No serializer defined for type mapping: ["+_4d+"]"); -} -return {_type:_4d,_value:_4e.serialize(_49)}; -} -}else{ -if(_49 instanceof _4e){ -return {_type:_4d,_value:_49.toString()}; -} -} -} -} -return _49; -} -},_getNewFileContentString:function(){ -var _4f={}; -var _50=this._getIdentifierAttribute(); -if(_50!==Number){ -_4f.identifier=_50; -} -if(this._labelAttr){ -_4f.label=this._labelAttr; -} -_4f.items=[]; -for(var i=0;i<this._arrayOfAllItems.length;++i){ -var _51=this._arrayOfAllItems[i]; -if(_51!==null){ -var _52={}; -for(var key in _51){ -if(key!==this._storeRefPropName&&key!==this._itemNumPropName&&key!==this._reverseRefMap&&key!==this._rootItemPropName){ -var _53=key; -var _54=this.getValues(_51,_53); -if(_54.length==1){ -_52[_53]=this._flatten(_54[0]); -}else{ -var _55=[]; -for(var j=0;j<_54.length;++j){ -_55.push(this._flatten(_54[j])); -_52[_53]=_55; -} -} -} -} -_4f.items.push(_52); -} -} -var _56=true; -return dojo.toJson(_4f,_56); -},_isEmpty:function(_57){ -var _58=true; -if(dojo.isObject(_57)){ -var i; -for(i in _57){ -_58=false; -break; -} -}else{ -if(dojo.isArray(_57)){ -if(_57.length>0){ -_58=false; -} -} -} -return _58; -},save:function(_59){ -this._assert(!this._saveInProgress); -this._saveInProgress=true; -var _5a=this; -var _5b=function(){ -_5a._pending={_newItems:{},_modifiedItems:{},_deletedItems:{}}; -_5a._saveInProgress=false; -if(_59&&_59.onComplete){ -var _5c=_59.scope||dojo.global; -_59.onComplete.call(_5c); -} -}; -var _5d=function(err){ -_5a._saveInProgress=false; -if(_59&&_59.onError){ -var _5e=_59.scope||dojo.global; -_59.onError.call(_5e,err); -} -}; -if(this._saveEverything){ -var _5f=this._getNewFileContentString(); -this._saveEverything(_5b,_5d,_5f); -} -if(this._saveCustom){ -this._saveCustom(_5b,_5d); -} -if(!this._saveEverything&&!this._saveCustom){ -_5b(); -} -},revert:function(){ -this._assert(!this._saveInProgress); -var _60; -for(_60 in this._pending._modifiedItems){ -var _61=this._pending._modifiedItems[_60]; -var _62=null; -if(this._itemsByIdentity){ -_62=this._itemsByIdentity[_60]; -}else{ -_62=this._arrayOfAllItems[_60]; -} -_61[this._storeRefPropName]=this; -for(key in _62){ -delete _62[key]; -} -dojo.mixin(_62,_61); -} -var _63; -for(_60 in this._pending._deletedItems){ -_63=this._pending._deletedItems[_60]; -_63[this._storeRefPropName]=this; -var _64=_63[this._itemNumPropName]; -if(_63["backup_"+this._reverseRefMap]){ -_63[this._reverseRefMap]=_63["backup_"+this._reverseRefMap]; -delete _63["backup_"+this._reverseRefMap]; -} -this._arrayOfAllItems[_64]=_63; -if(this._itemsByIdentity){ -this._itemsByIdentity[_60]=_63; -} -if(_63[this._rootItemPropName]){ -this._arrayOfTopLevelItems.push(_63); -} -} -for(_60 in this._pending._deletedItems){ -_63=this._pending._deletedItems[_60]; -if(_63["backupRefs_"+this._reverseRefMap]){ -dojo.forEach(_63["backupRefs_"+this._reverseRefMap],function(_65){ -var _66; -if(this._itemsByIdentity){ -_66=this._itemsByIdentity[_65.id]; -}else{ -_66=this._arrayOfAllItems[_65.id]; -} -this._addReferenceToMap(_66,_63,_65.attr); -},this); -delete _63["backupRefs_"+this._reverseRefMap]; -} -} -for(_60 in this._pending._newItems){ -var _67=this._pending._newItems[_60]; -_67[this._storeRefPropName]=null; -this._arrayOfAllItems[_67[this._itemNumPropName]]=null; -if(_67[this._rootItemPropName]){ -this._removeArrayElement(this._arrayOfTopLevelItems,_67); -} -if(this._itemsByIdentity){ -delete this._itemsByIdentity[_60]; -} -} -this._pending={_newItems:{},_modifiedItems:{},_deletedItems:{}}; -return true; -},isDirty:function(_68){ -if(_68){ -var _69=this.getIdentity(_68); -return new Boolean(this._pending._newItems[_69]||this._pending._modifiedItems[_69]||this._pending._deletedItems[_69]).valueOf(); -}else{ -if(!this._isEmpty(this._pending._newItems)||!this._isEmpty(this._pending._modifiedItems)||!this._isEmpty(this._pending._deletedItems)){ -return true; -} -return false; -} -},onSet:function(_6a,_6b,_6c,_6d){ -},onNew:function(_6e,_6f){ -},onDelete:function(_70){ -},close:function(_71){ -if(this.clearOnClose){ -if(!this.isDirty()){ -this.inherited(arguments); -}else{ -throw new Error("dojo.data.ItemFileWriteStore: There are unsaved changes present in the store. Please save or revert the changes before invoking close."); -} -} -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/data/ObjectStore.js b/resources/library/interactive/barre_prof.wgt/dojo/data/ObjectStore.js deleted file mode 100644 index a4fce7cc..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/data/ObjectStore.js +++ /dev/null @@ -1,264 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.data.ObjectStore"]){ -dojo._hasResource["dojo.data.ObjectStore"]=true; -dojo.provide("dojo.data.ObjectStore"); -dojo.require("dojo.regexp"); -dojo.declare("dojo.data.ObjectStore",null,{objectStore:null,constructor:function(_1){ -dojo.mixin(this,_1); -},labelProperty:"label",getValue:function(_2,_3,_4){ -return typeof _2.get==="function"?_2.get(_3):_3 in _2?_2[_3]:_4; -},getValues:function(_5,_6){ -var _7=this.getValue(_5,_6); -return _7 instanceof Array?_7:_7===undefined?[]:[_7]; -},getAttributes:function(_8){ -var _9=[]; -for(var i in _8){ -if(_8.hasOwnProperty(i)&&!(i.charAt(0)=="_"&&i.charAt(1)=="_")){ -_9.push(i); -} -} -return _9; -},hasAttribute:function(_a,_b){ -return _b in _a; -},containsValue:function(_c,_d,_e){ -return dojo.indexOf(this.getValues(_c,_d),_e)>-1; -},isItem:function(_f){ -return (typeof _f=="object")&&_f&&!(_f instanceof Date); -},isItemLoaded:function(_10){ -return _10&&typeof _10.load!=="function"; -},loadItem:function(_11){ -var _12; -if(typeof _11.item.load==="function"){ -dojo.when(_11.item.load(),function(_13){ -_12=_13; -var _14=_13 instanceof Error?_11.onError:_11.onItem; -if(_14){ -_14.call(_11.scope,_13); -} -}); -}else{ -if(_11.onItem){ -_11.onItem.call(_11.scope,_11.item); -} -} -return _12; -},close:function(_15){ -return _15&&_15.abort&&_15.abort(); -},fetch:function(_16){ -_16=_16||{}; -var _17=this; -var _18=_16.scope||_17; -var _19=_16.query; -if(typeof _19=="object"){ -_19=dojo.delegate(_19); -for(var i in _19){ -var _1a=_19[i]; -if(typeof _1a=="string"){ -_19[i]=RegExp("^"+dojo.regexp.escapeString(_1a,"*?").replace(/\*/g,".*").replace(/\?/g,".")+"$",_16.queryOptions&&_16.queryOptions.ignoreCase?"mi":"m"); -_19[i].toString=(function(_1b){ -return function(){ -return _1b; -}; -})(_1a); -} -} -} -var _1c=this.objectStore.query(_19,_16); -dojo.when(_1c.total,function(_1d){ -dojo.when(_1c,function(_1e){ -if(_16.onBegin){ -_16.onBegin.call(_18,_1d||_1e.length,_16); -} -if(_16.onItem){ -for(var i=0;i<_1e.length;i++){ -_16.onItem.call(_18,_1e[i],_16); -} -} -if(_16.onComplete){ -_16.onComplete.call(_18,_16.onItem?null:_1e,_16); -} -return _1e; -},_1f); -},_1f); -function _1f(_20){ -if(_16.onError){ -_16.onError.call(_18,_20,_16); -} -}; -_16.abort=function(){ -if(_1c.cancel){ -_1c.cancel(); -} -}; -_16.store=this; -return _16; -},getFeatures:function(){ -return {"dojo.data.api.Read":!!this.objectStore.get,"dojo.data.api.Identity":true,"dojo.data.api.Write":!!this.objectStore.put,"dojo.data.api.Notification":true}; -},getLabel:function(_21){ -if(this.isItem(_21)){ -return this.getValue(_21,this.labelProperty); -} -return undefined; -},getLabelAttributes:function(_22){ -return [this.labelProperty]; -},getIdentity:function(_23){ -return _23.getId?_23.getId():_23[this.objectStore.idProperty||"id"]; -},getIdentityAttributes:function(_24){ -return [this.objectStore.idProperty]; -},fetchItemByIdentity:function(_25){ -var _26; -dojo.when(this.objectStore.get(_25.identity),function(_27){ -_26=_27; -_25.onItem.call(_25.scope,_27); -},function(_28){ -_25.onError.call(_25.scope,_28); -}); -return _26; -},newItem:function(_29,_2a){ -if(_2a){ -var _2b=this.getValue(_2a.parent,_2a.attribute,[]); -_2b=_2b.concat([_29]); -_29.__parent=_2b; -this.setValue(_2a.parent,_2a.attribute,_2b); -} -this._dirtyObjects.push({object:_29,save:true}); -this.onNew(_29); -return _29; -},deleteItem:function(_2c){ -this.changing(_2c,true); -this.onDelete(_2c); -},setValue:function(_2d,_2e,_2f){ -var old=_2d[_2e]; -this.changing(_2d); -_2d[_2e]=_2f; -this.onSet(_2d,_2e,old,_2f); -},setValues:function(_30,_31,_32){ -if(!dojo.isArray(_32)){ -throw new Error("setValues expects to be passed an Array object as its value"); -} -this.setValue(_30,_31,_32); -},unsetAttribute:function(_33,_34){ -this.changing(_33); -var old=_33[_34]; -delete _33[_34]; -this.onSet(_33,_34,old,undefined); -},_dirtyObjects:[],changing:function(_35,_36){ -_35.__isDirty=true; -for(var i=0;i<this._dirtyObjects.length;i++){ -var _37=this._dirtyObjects[i]; -if(_35==_37.object){ -if(_36){ -_37.object=false; -if(!this._saveNotNeeded){ -_37.save=true; -} -} -return; -} -} -var old=_35 instanceof Array?[]:{}; -for(i in _35){ -if(_35.hasOwnProperty(i)){ -old[i]=_35[i]; -} -} -this._dirtyObjects.push({object:!_36&&_35,old:old,save:!this._saveNotNeeded}); -},save:function(_38){ -_38=_38||{}; -var _39,_3a=[]; -var _3b={}; -var _3c=[]; -var _3d; -var _3e=this._dirtyObjects; -var _3f=_3e.length; -try{ -dojo.connect(_38,"onError",function(){ -if(_38.revertOnError!==false){ -var _40=_3e; -_3e=_3c; -var _41=0; -jr.revert(); -_3d._dirtyObjects=_40; -}else{ -_3d._dirtyObjects=dirtyObject.concat(_3c); -} -}); -if(this.objectStore.transaction){ -var _42=this.objectStore.transaction(); -} -for(var i=0;i<_3e.length;i++){ -var _43=_3e[i]; -var _44=_43.object; -var old=_43.old; -delete _44.__isDirty; -if(_44){ -_39=this.objectStore.put(_44,{overwrite:!!old}); -}else{ -_39=this.objectStore.remove(this.getIdentity(old)); -} -_3c.push(_43); -_3e.splice(i--,1); -dojo.when(_39,function(_45){ -if(!(--_3f)){ -if(_38.onComplete){ -_38.onComplete.call(_38.scope,_3a); -} -} -},function(_46){ -_3f=-1; -_38.onError.call(_38.scope,_46); -}); -} -if(_42){ -_42.commit(); -} -} -catch(e){ -_38.onError.call(_38.scope,value); -} -},revert:function(_47){ -var _48=this._dirtyObjects; -for(var i=_48.length;i>0;){ -i--; -var _49=_48[i]; -var _4a=_49.object; -var old=_49.old; -if(_4a&&old){ -for(var j in old){ -if(old.hasOwnProperty(j)&&_4a[j]!==old[j]){ -this.onSet(_4a,j,_4a[j],old[j]); -_4a[j]=old[j]; -} -} -for(j in _4a){ -if(!old.hasOwnProperty(j)){ -this.onSet(_4a,j,_4a[j]); -delete _4a[j]; -} -} -}else{ -if(!old){ -this.onDelete(_4a); -}else{ -this.onNew(old); -} -} -delete (_4a||old).__isDirty; -_48.splice(i,1); -} -},isDirty:function(_4b){ -if(!_4b){ -return !!this._dirtyObjects.length; -} -return _4b.__isDirty; -},onSet:function(){ -},onNew:function(){ -},onDelete:function(){ -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/data/api/Identity.js b/resources/library/interactive/barre_prof.wgt/dojo/data/api/Identity.js deleted file mode 100644 index 20428dc4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/data/api/Identity.js +++ /dev/null @@ -1,26 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.data.api.Identity"]){ -dojo._hasResource["dojo.data.api.Identity"]=true; -dojo.provide("dojo.data.api.Identity"); -dojo.require("dojo.data.api.Read"); -dojo.declare("dojo.data.api.Identity",dojo.data.api.Read,{getFeatures:function(){ -return {"dojo.data.api.Read":true,"dojo.data.api.Identity":true}; -},getIdentity:function(_1){ -throw new Error("Unimplemented API: dojo.data.api.Identity.getIdentity"); -var _2=null; -return _2; -},getIdentityAttributes:function(_3){ -throw new Error("Unimplemented API: dojo.data.api.Identity.getIdentityAttributes"); -return null; -},fetchItemByIdentity:function(_4){ -if(!this.isItemLoaded(_4.item)){ -throw new Error("Unimplemented API: dojo.data.api.Identity.fetchItemByIdentity"); -} -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/data/api/Notification.js b/resources/library/interactive/barre_prof.wgt/dojo/data/api/Notification.js deleted file mode 100644 index 93dd89bd..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/data/api/Notification.js +++ /dev/null @@ -1,21 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.data.api.Notification"]){ -dojo._hasResource["dojo.data.api.Notification"]=true; -dojo.provide("dojo.data.api.Notification"); -dojo.require("dojo.data.api.Read"); -dojo.declare("dojo.data.api.Notification",dojo.data.api.Read,{getFeatures:function(){ -return {"dojo.data.api.Read":true,"dojo.data.api.Notification":true}; -},onSet:function(_1,_2,_3,_4){ -throw new Error("Unimplemented API: dojo.data.api.Notification.onSet"); -},onNew:function(_5,_6){ -throw new Error("Unimplemented API: dojo.data.api.Notification.onNew"); -},onDelete:function(_7){ -throw new Error("Unimplemented API: dojo.data.api.Notification.onDelete"); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/data/api/Read.js b/resources/library/interactive/barre_prof.wgt/dojo/data/api/Read.js deleted file mode 100644 index 48807921..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/data/api/Read.js +++ /dev/null @@ -1,55 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.data.api.Read"]){ -dojo._hasResource["dojo.data.api.Read"]=true; -dojo.provide("dojo.data.api.Read"); -dojo.require("dojo.data.api.Request"); -dojo.declare("dojo.data.api.Read",null,{getValue:function(_1,_2,_3){ -var _4=null; -throw new Error("Unimplemented API: dojo.data.api.Read.getValue"); -return _4; -},getValues:function(_5,_6){ -var _7=[]; -throw new Error("Unimplemented API: dojo.data.api.Read.getValues"); -return _7; -},getAttributes:function(_8){ -var _9=[]; -throw new Error("Unimplemented API: dojo.data.api.Read.getAttributes"); -return _9; -},hasAttribute:function(_a,_b){ -throw new Error("Unimplemented API: dojo.data.api.Read.hasAttribute"); -return false; -},containsValue:function(_c,_d,_e){ -throw new Error("Unimplemented API: dojo.data.api.Read.containsValue"); -return false; -},isItem:function(_f){ -throw new Error("Unimplemented API: dojo.data.api.Read.isItem"); -return false; -},isItemLoaded:function(_10){ -throw new Error("Unimplemented API: dojo.data.api.Read.isItemLoaded"); -return false; -},loadItem:function(_11){ -if(!this.isItemLoaded(_11.item)){ -throw new Error("Unimplemented API: dojo.data.api.Read.loadItem"); -} -},fetch:function(_12){ -var _13=null; -throw new Error("Unimplemented API: dojo.data.api.Read.fetch"); -return _13; -},getFeatures:function(){ -return {"dojo.data.api.Read":true}; -},close:function(_14){ -throw new Error("Unimplemented API: dojo.data.api.Read.close"); -},getLabel:function(_15){ -throw new Error("Unimplemented API: dojo.data.api.Read.getLabel"); -return undefined; -},getLabelAttributes:function(_16){ -throw new Error("Unimplemented API: dojo.data.api.Read.getLabelAttributes"); -return null; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/data/api/Request.js b/resources/library/interactive/barre_prof.wgt/dojo/data/api/Request.js deleted file mode 100644 index de0c177b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/data/api/Request.js +++ /dev/null @@ -1,14 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.data.api.Request"]){ -dojo._hasResource["dojo.data.api.Request"]=true; -dojo.provide("dojo.data.api.Request"); -dojo.declare("dojo.data.api.Request",null,{abort:function(){ -throw new Error("Unimplemented API: dojo.data.api.Request.abort"); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/data/api/Write.js b/resources/library/interactive/barre_prof.wgt/dojo/data/api/Write.js deleted file mode 100644 index b4583d66..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/data/api/Write.js +++ /dev/null @@ -1,39 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.data.api.Write"]){ -dojo._hasResource["dojo.data.api.Write"]=true; -dojo.provide("dojo.data.api.Write"); -dojo.require("dojo.data.api.Read"); -dojo.declare("dojo.data.api.Write",dojo.data.api.Read,{getFeatures:function(){ -return {"dojo.data.api.Read":true,"dojo.data.api.Write":true}; -},newItem:function(_1,_2){ -var _3; -throw new Error("Unimplemented API: dojo.data.api.Write.newItem"); -return _3; -},deleteItem:function(_4){ -throw new Error("Unimplemented API: dojo.data.api.Write.deleteItem"); -return false; -},setValue:function(_5,_6,_7){ -throw new Error("Unimplemented API: dojo.data.api.Write.setValue"); -return false; -},setValues:function(_8,_9,_a){ -throw new Error("Unimplemented API: dojo.data.api.Write.setValues"); -return false; -},unsetAttribute:function(_b,_c){ -throw new Error("Unimplemented API: dojo.data.api.Write.clear"); -return false; -},save:function(_d){ -throw new Error("Unimplemented API: dojo.data.api.Write.save"); -},revert:function(){ -throw new Error("Unimplemented API: dojo.data.api.Write.revert"); -return false; -},isDirty:function(_e){ -throw new Error("Unimplemented API: dojo.data.api.Write.isDirty"); -return false; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/data/util/filter.js b/resources/library/interactive/barre_prof.wgt/dojo/data/util/filter.js deleted file mode 100644 index 5951f2f1..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/data/util/filter.js +++ /dev/null @@ -1,53 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.data.util.filter"]){ -dojo._hasResource["dojo.data.util.filter"]=true; -dojo.provide("dojo.data.util.filter"); -dojo.getObject("data.util.filter",true,dojo); -dojo.data.util.filter.patternToRegExp=function(_1,_2){ -var _3="^"; -var c=null; -for(var i=0;i<_1.length;i++){ -c=_1.charAt(i); -switch(c){ -case "\\": -_3+=c; -i++; -_3+=_1.charAt(i); -break; -case "*": -_3+=".*"; -break; -case "?": -_3+="."; -break; -case "$": -case "^": -case "/": -case "+": -case ".": -case "|": -case "(": -case ")": -case "{": -case "}": -case "[": -case "]": -_3+="\\"; -default: -_3+=c; -} -} -_3+="$"; -if(_2){ -return new RegExp(_3,"mi"); -}else{ -return new RegExp(_3,"m"); -} -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/data/util/simpleFetch.js b/resources/library/interactive/barre_prof.wgt/dojo/data/util/simpleFetch.js deleted file mode 100644 index 0ffd8674..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/data/util/simpleFetch.js +++ /dev/null @@ -1,65 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.data.util.simpleFetch"]){ -dojo._hasResource["dojo.data.util.simpleFetch"]=true; -dojo.provide("dojo.data.util.simpleFetch"); -dojo.require("dojo.data.util.sorter"); -dojo.getObject("data.util.simpleFetch",true,dojo); -dojo.data.util.simpleFetch.fetch=function(_1){ -_1=_1||{}; -if(!_1.store){ -_1.store=this; -} -var _2=this; -var _3=function(_4,_5){ -if(_5.onError){ -var _6=_5.scope||dojo.global; -_5.onError.call(_6,_4,_5); -} -}; -var _7=function(_8,_9){ -var _a=_9.abort||null; -var _b=false; -var _c=_9.start?_9.start:0; -var _d=(_9.count&&(_9.count!==Infinity))?(_c+_9.count):_8.length; -_9.abort=function(){ -_b=true; -if(_a){ -_a.call(_9); -} -}; -var _e=_9.scope||dojo.global; -if(!_9.store){ -_9.store=_2; -} -if(_9.onBegin){ -_9.onBegin.call(_e,_8.length,_9); -} -if(_9.sort){ -_8.sort(dojo.data.util.sorter.createSortFunction(_9.sort,_2)); -} -if(_9.onItem){ -for(var i=_c;(i<_8.length)&&(i<_d);++i){ -var _f=_8[i]; -if(!_b){ -_9.onItem.call(_e,_f,_9); -} -} -} -if(_9.onComplete&&!_b){ -var _10=null; -if(!_9.onItem){ -_10=_8.slice(_c,_d); -} -_9.onComplete.call(_e,_10,_9); -} -}; -this._fetchItems(_1,_7,_3); -return _1; -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/data/util/sorter.js b/resources/library/interactive/barre_prof.wgt/dojo/data/util/sorter.js deleted file mode 100644 index 1911c761..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/data/util/sorter.js +++ /dev/null @@ -1,67 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.data.util.sorter"]){ -dojo._hasResource["dojo.data.util.sorter"]=true; -dojo.provide("dojo.data.util.sorter"); -dojo.getObject("data.util.sorter",true,dojo); -dojo.data.util.sorter.basicComparator=function(a,b){ -var r=-1; -if(a===null){ -a=undefined; -} -if(b===null){ -b=undefined; -} -if(a==b){ -r=0; -}else{ -if(a>b||a==null){ -r=1; -} -} -return r; -}; -dojo.data.util.sorter.createSortFunction=function(_1,_2){ -var _3=[]; -function _4(_5,_6,_7,s){ -return function(_8,_9){ -var a=s.getValue(_8,_5); -var b=s.getValue(_9,_5); -return _6*_7(a,b); -}; -}; -var _a; -var _b=_2.comparatorMap; -var bc=dojo.data.util.sorter.basicComparator; -for(var i=0;i<_1.length;i++){ -_a=_1[i]; -var _c=_a.attribute; -if(_c){ -var _d=(_a.descending)?-1:1; -var _e=bc; -if(_b){ -if(typeof _c!=="string"&&("toString" in _c)){ -_c=_c.toString(); -} -_e=_b[_c]||bc; -} -_3.push(_4(_c,_d,_e,_2)); -} -} -return function(_f,_10){ -var i=0; -while(i<_3.length){ -var ret=_3[i++](_f,_10); -if(ret!==0){ -return ret; -} -} -return 0; -}; -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/date.js b/resources/library/interactive/barre_prof.wgt/dojo/date.js deleted file mode 100644 index cbcd2cf0..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/date.js +++ /dev/null @@ -1,214 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.date"]){ -dojo._hasResource["dojo.date"]=true; -dojo.provide("dojo.date"); -dojo.getObject("date",true,dojo); -dojo.date.getDaysInMonth=function(_1){ -var _2=_1.getMonth(); -var _3=[31,28,31,30,31,30,31,31,30,31,30,31]; -if(_2==1&&dojo.date.isLeapYear(_1)){ -return 29; -} -return _3[_2]; -}; -dojo.date.isLeapYear=function(_4){ -var _5=_4.getFullYear(); -return !(_5%400)||(!(_5%4)&&!!(_5%100)); -}; -dojo.date.getTimezoneName=function(_6){ -var _7=_6.toString(); -var tz=""; -var _8; -var _9=_7.indexOf("("); -if(_9>-1){ -tz=_7.substring(++_9,_7.indexOf(")")); -}else{ -var _a=/([A-Z\/]+) \d{4}$/; -if((_8=_7.match(_a))){ -tz=_8[1]; -}else{ -_7=_6.toLocaleString(); -_a=/ ([A-Z\/]+)$/; -if((_8=_7.match(_a))){ -tz=_8[1]; -} -} -} -return (tz=="AM"||tz=="PM")?"":tz; -}; -dojo.date.compare=function(_b,_c,_d){ -_b=new Date(+_b); -_c=new Date(+(_c||new Date())); -if(_d=="date"){ -_b.setHours(0,0,0,0); -_c.setHours(0,0,0,0); -}else{ -if(_d=="time"){ -_b.setFullYear(0,0,0); -_c.setFullYear(0,0,0); -} -} -if(_b>_c){ -return 1; -} -if(_b<_c){ -return -1; -} -return 0; -}; -dojo.date.add=function(_e,_f,_10){ -var sum=new Date(+_e); -var _11=false; -var _12="Date"; -switch(_f){ -case "day": -break; -case "weekday": -var _13,_14; -var mod=_10%5; -if(!mod){ -_13=(_10>0)?5:-5; -_14=(_10>0)?((_10-5)/5):((_10+5)/5); -}else{ -_13=mod; -_14=parseInt(_10/5); -} -var _15=_e.getDay(); -var adj=0; -if(_15==6&&_10>0){ -adj=1; -}else{ -if(_15==0&&_10<0){ -adj=-1; -} -} -var _16=_15+_13; -if(_16==0||_16==6){ -adj=(_10>0)?2:-2; -} -_10=(7*_14)+_13+adj; -break; -case "year": -_12="FullYear"; -_11=true; -break; -case "week": -_10*=7; -break; -case "quarter": -_10*=3; -case "month": -_11=true; -_12="Month"; -break; -default: -_12="UTC"+_f.charAt(0).toUpperCase()+_f.substring(1)+"s"; -} -if(_12){ -sum["set"+_12](sum["get"+_12]()+_10); -} -if(_11&&(sum.getDate()<_e.getDate())){ -sum.setDate(0); -} -return sum; -}; -dojo.date.difference=function(_17,_18,_19){ -_18=_18||new Date(); -_19=_19||"day"; -var _1a=_18.getFullYear()-_17.getFullYear(); -var _1b=1; -switch(_19){ -case "quarter": -var m1=_17.getMonth(); -var m2=_18.getMonth(); -var q1=Math.floor(m1/3)+1; -var q2=Math.floor(m2/3)+1; -q2+=(_1a*4); -_1b=q2-q1; -break; -case "weekday": -var _1c=Math.round(dojo.date.difference(_17,_18,"day")); -var _1d=parseInt(dojo.date.difference(_17,_18,"week")); -var mod=_1c%7; -if(mod==0){ -_1c=_1d*5; -}else{ -var adj=0; -var _1e=_17.getDay(); -var _1f=_18.getDay(); -_1d=parseInt(_1c/7); -mod=_1c%7; -var _20=new Date(_17); -_20.setDate(_20.getDate()+(_1d*7)); -var _21=_20.getDay(); -if(_1c>0){ -switch(true){ -case _1e==6: -adj=-1; -break; -case _1e==0: -adj=0; -break; -case _1f==6: -adj=-1; -break; -case _1f==0: -adj=-2; -break; -case (_21+mod)>5: -adj=-2; -} -}else{ -if(_1c<0){ -switch(true){ -case _1e==6: -adj=0; -break; -case _1e==0: -adj=1; -break; -case _1f==6: -adj=2; -break; -case _1f==0: -adj=1; -break; -case (_21+mod)<0: -adj=2; -} -} -} -_1c+=adj; -_1c-=(_1d*2); -} -_1b=_1c; -break; -case "year": -_1b=_1a; -break; -case "month": -_1b=(_18.getMonth()-_17.getMonth())+(_1a*12); -break; -case "week": -_1b=parseInt(dojo.date.difference(_17,_18,"day")/7); -break; -case "day": -_1b/=24; -case "hour": -_1b/=60; -case "minute": -_1b/=60; -case "second": -_1b/=1000; -case "millisecond": -_1b*=_18.getTime()-_17.getTime(); -} -return Math.round(_1b); -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/date/locale.js b/resources/library/interactive/barre_prof.wgt/dojo/date/locale.js deleted file mode 100644 index 683f180a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/date/locale.js +++ /dev/null @@ -1,463 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.date.locale"]){ -dojo._hasResource["dojo.date.locale"]=true; -dojo.provide("dojo.date.locale"); -dojo.require("dojo.date"); -dojo.require("dojo.cldr.supplemental"); -dojo.require("dojo.regexp"); -dojo.require("dojo.string"); -dojo.require("dojo.i18n"); -dojo.requireLocalization("dojo.cldr","gregorian",null,"ROOT,ar,ca,cs,da,de,el,en,en-au,en-ca,en-gb,es,fi,fr,fr-ch,he,hu,it,ja,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-hant,zh-hk,zh-tw"); -dojo.getObject("date.locale",true,dojo); -(function(){ -function _1(_2,_3,_4,_5){ -return _5.replace(/([a-z])\1*/ig,function(_6){ -var s,_7,c=_6.charAt(0),l=_6.length,_8=["abbr","wide","narrow"]; -switch(c){ -case "G": -s=_3[(l<4)?"eraAbbr":"eraNames"][_2.getFullYear()<0?0:1]; -break; -case "y": -s=_2.getFullYear(); -switch(l){ -case 1: -break; -case 2: -if(!_4.fullYear){ -s=String(s); -s=s.substr(s.length-2); -break; -} -default: -_7=true; -} -break; -case "Q": -case "q": -s=Math.ceil((_2.getMonth()+1)/3); -_7=true; -break; -case "M": -var m=_2.getMonth(); -if(l<3){ -s=m+1; -_7=true; -}else{ -var _9=["months","format",_8[l-3]].join("-"); -s=_3[_9][m]; -} -break; -case "w": -var _a=0; -s=dojo.date.locale._getWeekOfYear(_2,_a); -_7=true; -break; -case "d": -s=_2.getDate(); -_7=true; -break; -case "D": -s=dojo.date.locale._getDayOfYear(_2); -_7=true; -break; -case "E": -var d=_2.getDay(); -if(l<3){ -s=d+1; -_7=true; -}else{ -var _b=["days","format",_8[l-3]].join("-"); -s=_3[_b][d]; -} -break; -case "a": -var _c=(_2.getHours()<12)?"am":"pm"; -s=_4[_c]||_3["dayPeriods-format-wide-"+_c]; -break; -case "h": -case "H": -case "K": -case "k": -var h=_2.getHours(); -switch(c){ -case "h": -s=(h%12)||12; -break; -case "H": -s=h; -break; -case "K": -s=(h%12); -break; -case "k": -s=h||24; -break; -} -_7=true; -break; -case "m": -s=_2.getMinutes(); -_7=true; -break; -case "s": -s=_2.getSeconds(); -_7=true; -break; -case "S": -s=Math.round(_2.getMilliseconds()*Math.pow(10,l-3)); -_7=true; -break; -case "v": -case "z": -s=dojo.date.locale._getZone(_2,true,_4); -if(s){ -break; -} -l=4; -case "Z": -var _d=dojo.date.locale._getZone(_2,false,_4); -var tz=[(_d<=0?"+":"-"),dojo.string.pad(Math.floor(Math.abs(_d)/60),2),dojo.string.pad(Math.abs(_d)%60,2)]; -if(l==4){ -tz.splice(0,0,"GMT"); -tz.splice(3,0,":"); -} -s=tz.join(""); -break; -default: -throw new Error("dojo.date.locale.format: invalid pattern char: "+_5); -} -if(_7){ -s=dojo.string.pad(s,l); -} -return s; -}); -}; -dojo.date.locale._getZone=function(_e,_f,_10){ -if(_f){ -return dojo.date.getTimezoneName(_e); -}else{ -return _e.getTimezoneOffset(); -} -}; -dojo.date.locale.format=function(_11,_12){ -_12=_12||{}; -var _13=dojo.i18n.normalizeLocale(_12.locale),_14=_12.formatLength||"short",_15=dojo.date.locale._getGregorianBundle(_13),str=[],_16=dojo.hitch(this,_1,_11,_15,_12); -if(_12.selector=="year"){ -return _17(_15["dateFormatItem-yyyy"]||"yyyy",_16); -} -var _18; -if(_12.selector!="date"){ -_18=_12.timePattern||_15["timeFormat-"+_14]; -if(_18){ -str.push(_17(_18,_16)); -} -} -if(_12.selector!="time"){ -_18=_12.datePattern||_15["dateFormat-"+_14]; -if(_18){ -str.push(_17(_18,_16)); -} -} -return str.length==1?str[0]:_15["dateTimeFormat-"+_14].replace(/\{(\d+)\}/g,function(_19,key){ -return str[key]; -}); -}; -dojo.date.locale.regexp=function(_1a){ -return dojo.date.locale._parseInfo(_1a).regexp; -}; -dojo.date.locale._parseInfo=function(_1b){ -_1b=_1b||{}; -var _1c=dojo.i18n.normalizeLocale(_1b.locale),_1d=dojo.date.locale._getGregorianBundle(_1c),_1e=_1b.formatLength||"short",_1f=_1b.datePattern||_1d["dateFormat-"+_1e],_20=_1b.timePattern||_1d["timeFormat-"+_1e],_21; -if(_1b.selector=="date"){ -_21=_1f; -}else{ -if(_1b.selector=="time"){ -_21=_20; -}else{ -_21=_1d["dateTimeFormat-"+_1e].replace(/\{(\d+)\}/g,function(_22,key){ -return [_20,_1f][key]; -}); -} -} -var _23=[],re=_17(_21,dojo.hitch(this,_24,_23,_1d,_1b)); -return {regexp:re,tokens:_23,bundle:_1d}; -}; -dojo.date.locale.parse=function(_25,_26){ -var _27=/[\u200E\u200F\u202A\u202E]/g,_28=dojo.date.locale._parseInfo(_26),_29=_28.tokens,_2a=_28.bundle,re=new RegExp("^"+_28.regexp.replace(_27,"")+"$",_28.strict?"":"i"),_2b=re.exec(_25&&_25.replace(_27,"")); -if(!_2b){ -return null; -} -var _2c=["abbr","wide","narrow"],_2d=[1970,0,1,0,0,0,0],_2e="",_2f=dojo.every(_2b,function(v,i){ -if(!i){ -return true; -} -var _30=_29[i-1]; -var l=_30.length; -switch(_30.charAt(0)){ -case "y": -if(l!=2&&_26.strict){ -_2d[0]=v; -}else{ -if(v<100){ -v=Number(v); -var _31=""+new Date().getFullYear(),_32=_31.substring(0,2)*100,_33=Math.min(Number(_31.substring(2,4))+20,99),num=(v<_33)?_32+v:_32-100+v; -_2d[0]=num; -}else{ -if(_26.strict){ -return false; -} -_2d[0]=v; -} -} -break; -case "M": -if(l>2){ -var _34=_2a["months-format-"+_2c[l-3]].concat(); -if(!_26.strict){ -v=v.replace(".","").toLowerCase(); -_34=dojo.map(_34,function(s){ -return s.replace(".","").toLowerCase(); -}); -} -v=dojo.indexOf(_34,v); -if(v==-1){ -return false; -} -}else{ -v--; -} -_2d[1]=v; -break; -case "E": -case "e": -var _35=_2a["days-format-"+_2c[l-3]].concat(); -if(!_26.strict){ -v=v.toLowerCase(); -_35=dojo.map(_35,function(d){ -return d.toLowerCase(); -}); -} -v=dojo.indexOf(_35,v); -if(v==-1){ -return false; -} -break; -case "D": -_2d[1]=0; -case "d": -_2d[2]=v; -break; -case "a": -var am=_26.am||_2a["dayPeriods-format-wide-am"],pm=_26.pm||_2a["dayPeriods-format-wide-pm"]; -if(!_26.strict){ -var _36=/\./g; -v=v.replace(_36,"").toLowerCase(); -am=am.replace(_36,"").toLowerCase(); -pm=pm.replace(_36,"").toLowerCase(); -} -if(_26.strict&&v!=am&&v!=pm){ -return false; -} -_2e=(v==pm)?"p":(v==am)?"a":""; -break; -case "K": -if(v==24){ -v=0; -} -case "h": -case "H": -case "k": -if(v>23){ -return false; -} -_2d[3]=v; -break; -case "m": -_2d[4]=v; -break; -case "s": -_2d[5]=v; -break; -case "S": -_2d[6]=v; -} -return true; -}); -var _37=+_2d[3]; -if(_2e==="p"&&_37<12){ -_2d[3]=_37+12; -}else{ -if(_2e==="a"&&_37==12){ -_2d[3]=0; -} -} -var _38=new Date(_2d[0],_2d[1],_2d[2],_2d[3],_2d[4],_2d[5],_2d[6]); -if(_26.strict){ -_38.setFullYear(_2d[0]); -} -var _39=_29.join(""),_3a=_39.indexOf("d")!=-1,_3b=_39.indexOf("M")!=-1; -if(!_2f||(_3b&&_38.getMonth()>_2d[1])||(_3a&&_38.getDate()>_2d[2])){ -return null; -} -if((_3b&&_38.getMonth()<_2d[1])||(_3a&&_38.getDate()<_2d[2])){ -_38=dojo.date.add(_38,"hour",1); -} -return _38; -}; -function _17(_3c,_3d,_3e,_3f){ -var _40=function(x){ -return x; -}; -_3d=_3d||_40; -_3e=_3e||_40; -_3f=_3f||_40; -var _41=_3c.match(/(''|[^'])+/g),_42=_3c.charAt(0)=="'"; -dojo.forEach(_41,function(_43,i){ -if(!_43){ -_41[i]=""; -}else{ -_41[i]=(_42?_3e:_3d)(_43.replace(/''/g,"'")); -_42=!_42; -} -}); -return _3f(_41.join("")); -}; -function _24(_44,_45,_46,_47){ -_47=dojo.regexp.escapeString(_47); -if(!_46.strict){ -_47=_47.replace(" a"," ?a"); -} -return _47.replace(/([a-z])\1*/ig,function(_48){ -var s,c=_48.charAt(0),l=_48.length,p2="",p3=""; -if(_46.strict){ -if(l>1){ -p2="0"+"{"+(l-1)+"}"; -} -if(l>2){ -p3="0"+"{"+(l-2)+"}"; -} -}else{ -p2="0?"; -p3="0{0,2}"; -} -switch(c){ -case "y": -s="\\d{2,4}"; -break; -case "M": -s=(l>2)?"\\S+?":"1[0-2]|"+p2+"[1-9]"; -break; -case "D": -s="[12][0-9][0-9]|3[0-5][0-9]|36[0-6]|"+p3+"[1-9][0-9]|"+p2+"[1-9]"; -break; -case "d": -s="3[01]|[12]\\d|"+p2+"[1-9]"; -break; -case "w": -s="[1-4][0-9]|5[0-3]|"+p2+"[1-9]"; -break; -case "E": -s="\\S+"; -break; -case "h": -s="1[0-2]|"+p2+"[1-9]"; -break; -case "k": -s="1[01]|"+p2+"\\d"; -break; -case "H": -s="1\\d|2[0-3]|"+p2+"\\d"; -break; -case "K": -s="1\\d|2[0-4]|"+p2+"[1-9]"; -break; -case "m": -case "s": -s="[0-5]\\d"; -break; -case "S": -s="\\d{"+l+"}"; -break; -case "a": -var am=_46.am||_45["dayPeriods-format-wide-am"],pm=_46.pm||_45["dayPeriods-format-wide-pm"]; -s=am+"|"+pm; -if(!_46.strict){ -if(am!=am.toLowerCase()){ -s+="|"+am.toLowerCase(); -} -if(pm!=pm.toLowerCase()){ -s+="|"+pm.toLowerCase(); -} -if(s.indexOf(".")!=-1){ -s+="|"+s.replace(/\./g,""); -} -} -s=s.replace(/\./g,"\\."); -break; -default: -s=".*"; -} -if(_44){ -_44.push(_48); -} -return "("+s+")"; -}).replace(/[\xa0 ]/g,"[\\s\\xa0]"); -}; -})(); -(function(){ -var _49=[]; -dojo.date.locale.addCustomFormats=function(_4a,_4b){ -_49.push({pkg:_4a,name:_4b}); -}; -dojo.date.locale._getGregorianBundle=function(_4c){ -var _4d={}; -dojo.forEach(_49,function(_4e){ -var _4f=dojo.i18n.getLocalization(_4e.pkg,_4e.name,_4c); -_4d=dojo.mixin(_4d,_4f); -},this); -return _4d; -}; -})(); -dojo.date.locale.addCustomFormats("dojo.cldr","gregorian"); -dojo.date.locale.getNames=function(_50,_51,_52,_53){ -var _54,_55=dojo.date.locale._getGregorianBundle(_53),_56=[_50,_52,_51]; -if(_52=="standAlone"){ -var key=_56.join("-"); -_54=_55[key]; -if(_54[0]==1){ -_54=undefined; -} -} -_56[1]="format"; -return (_54||_55[_56.join("-")]).concat(); -}; -dojo.date.locale.isWeekend=function(_57,_58){ -var _59=dojo.cldr.supplemental.getWeekend(_58),day=(_57||new Date()).getDay(); -if(_59.end<_59.start){ -_59.end+=7; -if(day<_59.start){ -day+=7; -} -} -return day>=_59.start&&day<=_59.end; -}; -dojo.date.locale._getDayOfYear=function(_5a){ -return dojo.date.difference(new Date(_5a.getFullYear(),0,1,_5a.getHours()),_5a)+1; -}; -dojo.date.locale._getWeekOfYear=function(_5b,_5c){ -if(arguments.length==1){ -_5c=0; -} -var _5d=new Date(_5b.getFullYear(),0,1).getDay(),adj=(_5d-_5c+7)%7,_5e=Math.floor((dojo.date.locale._getDayOfYear(_5b)+adj-1)/7); -if(_5d==_5c){ -_5e++; -} -return _5e; -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/date/stamp.js b/resources/library/interactive/barre_prof.wgt/dojo/date/stamp.js deleted file mode 100644 index 07338a23..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/date/stamp.js +++ /dev/null @@ -1,83 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.date.stamp"]){ -dojo._hasResource["dojo.date.stamp"]=true; -dojo.provide("dojo.date.stamp"); -dojo.getObject("date.stamp",true,dojo); -dojo.date.stamp.fromISOString=function(_1,_2){ -if(!dojo.date.stamp._isoRegExp){ -dojo.date.stamp._isoRegExp=/^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(.\d+)?)?((?:[+-](\d{2}):(\d{2}))|Z)?)?$/; -} -var _3=dojo.date.stamp._isoRegExp.exec(_1),_4=null; -if(_3){ -_3.shift(); -if(_3[1]){ -_3[1]--; -} -if(_3[6]){ -_3[6]*=1000; -} -if(_2){ -_2=new Date(_2); -dojo.forEach(dojo.map(["FullYear","Month","Date","Hours","Minutes","Seconds","Milliseconds"],function(_5){ -return _2["get"+_5](); -}),function(_6,_7){ -_3[_7]=_3[_7]||_6; -}); -} -_4=new Date(_3[0]||1970,_3[1]||0,_3[2]||1,_3[3]||0,_3[4]||0,_3[5]||0,_3[6]||0); -if(_3[0]<100){ -_4.setFullYear(_3[0]||1970); -} -var _8=0,_9=_3[7]&&_3[7].charAt(0); -if(_9!="Z"){ -_8=((_3[8]||0)*60)+(Number(_3[9])||0); -if(_9!="-"){ -_8*=-1; -} -} -if(_9){ -_8-=_4.getTimezoneOffset(); -} -if(_8){ -_4.setTime(_4.getTime()+_8*60000); -} -} -return _4; -}; -dojo.date.stamp.toISOString=function(_a,_b){ -var _c=function(n){ -return (n<10)?"0"+n:n; -}; -_b=_b||{}; -var _d=[],_e=_b.zulu?"getUTC":"get",_f=""; -if(_b.selector!="time"){ -var _10=_a[_e+"FullYear"](); -_f=["0000".substr((_10+"").length)+_10,_c(_a[_e+"Month"]()+1),_c(_a[_e+"Date"]())].join("-"); -} -_d.push(_f); -if(_b.selector!="date"){ -var _11=[_c(_a[_e+"Hours"]()),_c(_a[_e+"Minutes"]()),_c(_a[_e+"Seconds"]())].join(":"); -var _12=_a[_e+"Milliseconds"](); -if(_b.milliseconds){ -_11+="."+(_12<100?"0":"")+_c(_12); -} -if(_b.zulu){ -_11+="Z"; -}else{ -if(_b.selector!="time"){ -var _13=_a.getTimezoneOffset(); -var _14=Math.abs(_13); -_11+=(_13>0?"-":"+")+_c(Math.floor(_14/60))+":"+_c(_14%60); -} -} -_d.push(_11); -} -return _d.join("T"); -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/dnd/Avatar.js b/resources/library/interactive/barre_prof.wgt/dojo/dnd/Avatar.js deleted file mode 100644 index 35749958..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/dnd/Avatar.js +++ /dev/null @@ -1,64 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.dnd.Avatar"]){ -dojo._hasResource["dojo.dnd.Avatar"]=true; -dojo.provide("dojo.dnd.Avatar"); -dojo.require("dojo.dnd.common"); -dojo.declare("dojo.dnd.Avatar",null,{constructor:function(_1){ -this.manager=_1; -this.construct(); -},construct:function(){ -this.isA11y=dojo.hasClass(dojo.body(),"dijit_a11y"); -var a=dojo.create("table",{"class":"dojoDndAvatar",style:{position:"absolute",zIndex:"1999",margin:"0px"}}),_2=this.manager.source,_3,b=dojo.create("tbody",null,a),tr=dojo.create("tr",null,b),td=dojo.create("td",null,tr),_4=this.isA11y?dojo.create("span",{id:"a11yIcon",innerHTML:this.manager.copy?"+":"<"},td):null,_5=dojo.create("span",{innerHTML:_2.generateText?this._generateText():""},td),k=Math.min(5,this.manager.nodes.length),i=0; -dojo.attr(tr,{"class":"dojoDndAvatarHeader",style:{opacity:0.9}}); -for(;i<k;++i){ -if(_2.creator){ -_3=_2._normalizedCreator(_2.getItem(this.manager.nodes[i].id).data,"avatar").node; -}else{ -_3=this.manager.nodes[i].cloneNode(true); -if(_3.tagName.toLowerCase()=="tr"){ -var _6=dojo.create("table"),_7=dojo.create("tbody",null,_6); -_7.appendChild(_3); -_3=_6; -} -} -_3.id=""; -tr=dojo.create("tr",null,b); -td=dojo.create("td",null,tr); -td.appendChild(_3); -dojo.attr(tr,{"class":"dojoDndAvatarItem",style:{opacity:(9-i)/10}}); -} -this.node=a; -},destroy:function(){ -dojo.destroy(this.node); -this.node=false; -},update:function(){ -dojo[(this.manager.canDropFlag?"add":"remove")+"Class"](this.node,"dojoDndAvatarCanDrop"); -if(this.isA11y){ -var _8=dojo.byId("a11yIcon"); -var _9="+"; -if(this.manager.canDropFlag&&!this.manager.copy){ -_9="< "; -}else{ -if(!this.manager.canDropFlag&&!this.manager.copy){ -_9="o"; -}else{ -if(!this.manager.canDropFlag){ -_9="x"; -} -} -} -_8.innerHTML=_9; -} -dojo.query(("tr.dojoDndAvatarHeader td span"+(this.isA11y?" span":"")),this.node).forEach(function(_a){ -_a.innerHTML=this._generateText(); -},this); -},_generateText:function(){ -return this.manager.nodes.length.toString(); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/dnd/Container.js b/resources/library/interactive/barre_prof.wgt/dojo/dnd/Container.js deleted file mode 100644 index 87db84cc..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/dnd/Container.js +++ /dev/null @@ -1,234 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.dnd.Container"]){ -dojo._hasResource["dojo.dnd.Container"]=true; -dojo.provide("dojo.dnd.Container"); -dojo.require("dojo.dnd.common"); -dojo.require("dojo.parser"); -dojo.declare("dojo.dnd.Container",null,{skipForm:false,constructor:function(_1,_2){ -this.node=dojo.byId(_1); -if(!_2){ -_2={}; -} -this.creator=_2.creator||null; -this.skipForm=_2.skipForm; -this.parent=_2.dropParent&&dojo.byId(_2.dropParent); -this.map={}; -this.current=null; -this.containerState=""; -dojo.addClass(this.node,"dojoDndContainer"); -if(!(_2&&_2._skipStartup)){ -this.startup(); -} -this.events=[dojo.connect(this.node,"onmouseover",this,"onMouseOver"),dojo.connect(this.node,"onmouseout",this,"onMouseOut"),dojo.connect(this.node,"ondragstart",this,"onSelectStart"),dojo.connect(this.node,"onselectstart",this,"onSelectStart")]; -},creator:function(){ -},getItem:function(_3){ -return this.map[_3]; -},setItem:function(_4,_5){ -this.map[_4]=_5; -},delItem:function(_6){ -delete this.map[_6]; -},forInItems:function(f,o){ -o=o||dojo.global; -var m=this.map,e=dojo.dnd._empty; -for(var i in m){ -if(i in e){ -continue; -} -f.call(o,m[i],i,this); -} -return o; -},clearItems:function(){ -this.map={}; -},getAllNodes:function(){ -return dojo.query("> .dojoDndItem",this.parent); -},sync:function(){ -var _7={}; -this.getAllNodes().forEach(function(_8){ -if(_8.id){ -var _9=this.getItem(_8.id); -if(_9){ -_7[_8.id]=_9; -return; -} -}else{ -_8.id=dojo.dnd.getUniqueId(); -} -var _a=_8.getAttribute("dndType"),_b=_8.getAttribute("dndData"); -_7[_8.id]={data:_b||_8.innerHTML,type:_a?_a.split(/\s*,\s*/):["text"]}; -},this); -this.map=_7; -return this; -},insertNodes:function(_c,_d,_e){ -if(!this.parent.firstChild){ -_e=null; -}else{ -if(_d){ -if(!_e){ -_e=this.parent.firstChild; -} -}else{ -if(_e){ -_e=_e.nextSibling; -} -} -} -if(_e){ -for(var i=0;i<_c.length;++i){ -var t=this._normalizedCreator(_c[i]); -this.setItem(t.node.id,{data:t.data,type:t.type}); -this.parent.insertBefore(t.node,_e); -} -}else{ -for(var i=0;i<_c.length;++i){ -var t=this._normalizedCreator(_c[i]); -this.setItem(t.node.id,{data:t.data,type:t.type}); -this.parent.appendChild(t.node); -} -} -return this; -},destroy:function(){ -dojo.forEach(this.events,dojo.disconnect); -this.clearItems(); -this.node=this.parent=this.current=null; -},markupFactory:function(_f,_10){ -_f._skipStartup=true; -return new dojo.dnd.Container(_10,_f); -},startup:function(){ -if(!this.parent){ -this.parent=this.node; -if(this.parent.tagName.toLowerCase()=="table"){ -var c=this.parent.getElementsByTagName("tbody"); -if(c&&c.length){ -this.parent=c[0]; -} -} -} -this.defaultCreator=dojo.dnd._defaultCreator(this.parent); -this.sync(); -},onMouseOver:function(e){ -var n=e.relatedTarget; -while(n){ -if(n==this.node){ -break; -} -try{ -n=n.parentNode; -} -catch(x){ -n=null; -} -} -if(!n){ -this._changeState("Container","Over"); -this.onOverEvent(); -} -n=this._getChildByEvent(e); -if(this.current==n){ -return; -} -if(this.current){ -this._removeItemClass(this.current,"Over"); -} -if(n){ -this._addItemClass(n,"Over"); -} -this.current=n; -},onMouseOut:function(e){ -for(var n=e.relatedTarget;n;){ -if(n==this.node){ -return; -} -try{ -n=n.parentNode; -} -catch(x){ -n=null; -} -} -if(this.current){ -this._removeItemClass(this.current,"Over"); -this.current=null; -} -this._changeState("Container",""); -this.onOutEvent(); -},onSelectStart:function(e){ -if(!this.skipForm||!dojo.dnd.isFormElement(e)){ -dojo.stopEvent(e); -} -},onOverEvent:function(){ -},onOutEvent:function(){ -},_changeState:function(_11,_12){ -var _13="dojoDnd"+_11; -var _14=_11.toLowerCase()+"State"; -dojo.replaceClass(this.node,_13+_12,_13+this[_14]); -this[_14]=_12; -},_addItemClass:function(_15,_16){ -dojo.addClass(_15,"dojoDndItem"+_16); -},_removeItemClass:function(_17,_18){ -dojo.removeClass(_17,"dojoDndItem"+_18); -},_getChildByEvent:function(e){ -var _19=e.target; -if(_19){ -for(var _1a=_19.parentNode;_1a;_19=_1a,_1a=_19.parentNode){ -if(_1a==this.parent&&dojo.hasClass(_19,"dojoDndItem")){ -return _19; -} -} -} -return null; -},_normalizedCreator:function(_1b,_1c){ -var t=(this.creator||this.defaultCreator).call(this,_1b,_1c); -if(!dojo.isArray(t.type)){ -t.type=["text"]; -} -if(!t.node.id){ -t.node.id=dojo.dnd.getUniqueId(); -} -dojo.addClass(t.node,"dojoDndItem"); -return t; -}}); -dojo.dnd._createNode=function(tag){ -if(!tag){ -return dojo.dnd._createSpan; -} -return function(_1d){ -return dojo.create(tag,{innerHTML:_1d}); -}; -}; -dojo.dnd._createTrTd=function(_1e){ -var tr=dojo.create("tr"); -dojo.create("td",{innerHTML:_1e},tr); -return tr; -}; -dojo.dnd._createSpan=function(_1f){ -return dojo.create("span",{innerHTML:_1f}); -}; -dojo.dnd._defaultCreatorNodes={ul:"li",ol:"li",div:"div",p:"div"}; -dojo.dnd._defaultCreator=function(_20){ -var tag=_20.tagName.toLowerCase(); -var c=tag=="tbody"||tag=="thead"?dojo.dnd._createTrTd:dojo.dnd._createNode(dojo.dnd._defaultCreatorNodes[tag]); -return function(_21,_22){ -var _23=_21&&dojo.isObject(_21),_24,_25,n; -if(_23&&_21.tagName&&_21.nodeType&&_21.getAttribute){ -_24=_21.getAttribute("dndData")||_21.innerHTML; -_25=_21.getAttribute("dndType"); -_25=_25?_25.split(/\s*,\s*/):["text"]; -n=_21; -}else{ -_24=(_23&&_21.data)?_21.data:_21; -_25=(_23&&_21.type)?_21.type:["text"]; -n=(_22=="avatar"?dojo.dnd._createSpan:c)(String(_24)); -} -if(!n.id){ -n.id=dojo.dnd.getUniqueId(); -} -return {node:n,data:_24,type:_25}; -}; -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/dnd/Manager.js b/resources/library/interactive/barre_prof.wgt/dojo/dnd/Manager.js deleted file mode 100644 index a1926ce6..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/dnd/Manager.js +++ /dev/null @@ -1,126 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.dnd.Manager"]){ -dojo._hasResource["dojo.dnd.Manager"]=true; -dojo.provide("dojo.dnd.Manager"); -dojo.require("dojo.dnd.common"); -dojo.require("dojo.dnd.autoscroll"); -dojo.require("dojo.dnd.Avatar"); -dojo.declare("dojo.dnd.Manager",null,{constructor:function(){ -this.avatar=null; -this.source=null; -this.nodes=[]; -this.copy=true; -this.target=null; -this.canDropFlag=false; -this.events=[]; -},OFFSET_X:16,OFFSET_Y:16,overSource:function(_1){ -if(this.avatar){ -this.target=(_1&&_1.targetState!="Disabled")?_1:null; -this.canDropFlag=Boolean(this.target); -this.avatar.update(); -} -dojo.publish("/dnd/source/over",[_1]); -},outSource:function(_2){ -if(this.avatar){ -if(this.target==_2){ -this.target=null; -this.canDropFlag=false; -this.avatar.update(); -dojo.publish("/dnd/source/over",[null]); -} -}else{ -dojo.publish("/dnd/source/over",[null]); -} -},startDrag:function(_3,_4,_5){ -this.source=_3; -this.nodes=_4; -this.copy=Boolean(_5); -this.avatar=this.makeAvatar(); -dojo.body().appendChild(this.avatar.node); -dojo.publish("/dnd/start",[_3,_4,this.copy]); -this.events=[dojo.connect(dojo.doc,"onmousemove",this,"onMouseMove"),dojo.connect(dojo.doc,"onmouseup",this,"onMouseUp"),dojo.connect(dojo.doc,"onkeydown",this,"onKeyDown"),dojo.connect(dojo.doc,"onkeyup",this,"onKeyUp"),dojo.connect(dojo.doc,"ondragstart",dojo.stopEvent),dojo.connect(dojo.body(),"onselectstart",dojo.stopEvent)]; -var c="dojoDnd"+(_5?"Copy":"Move"); -dojo.addClass(dojo.body(),c); -},canDrop:function(_6){ -var _7=Boolean(this.target&&_6); -if(this.canDropFlag!=_7){ -this.canDropFlag=_7; -this.avatar.update(); -} -},stopDrag:function(){ -dojo.removeClass(dojo.body(),["dojoDndCopy","dojoDndMove"]); -dojo.forEach(this.events,dojo.disconnect); -this.events=[]; -this.avatar.destroy(); -this.avatar=null; -this.source=this.target=null; -this.nodes=[]; -},makeAvatar:function(){ -return new dojo.dnd.Avatar(this); -},updateAvatar:function(){ -this.avatar.update(); -},onMouseMove:function(e){ -var a=this.avatar; -if(a){ -dojo.dnd.autoScrollNodes(e); -var s=a.node.style; -s.left=(e.pageX+this.OFFSET_X)+"px"; -s.top=(e.pageY+this.OFFSET_Y)+"px"; -var _8=Boolean(this.source.copyState(dojo.isCopyKey(e))); -if(this.copy!=_8){ -this._setCopyStatus(_8); -} -} -},onMouseUp:function(e){ -if(this.avatar){ -if(this.target&&this.canDropFlag){ -var _9=Boolean(this.source.copyState(dojo.isCopyKey(e))),_a=[this.source,this.nodes,_9,this.target,e]; -dojo.publish("/dnd/drop/before",_a); -dojo.publish("/dnd/drop",_a); -}else{ -dojo.publish("/dnd/cancel"); -} -this.stopDrag(); -} -},onKeyDown:function(e){ -if(this.avatar){ -switch(e.keyCode){ -case dojo.keys.CTRL: -var _b=Boolean(this.source.copyState(true)); -if(this.copy!=_b){ -this._setCopyStatus(_b); -} -break; -case dojo.keys.ESCAPE: -dojo.publish("/dnd/cancel"); -this.stopDrag(); -break; -} -} -},onKeyUp:function(e){ -if(this.avatar&&e.keyCode==dojo.keys.CTRL){ -var _c=Boolean(this.source.copyState(false)); -if(this.copy!=_c){ -this._setCopyStatus(_c); -} -} -},_setCopyStatus:function(_d){ -this.copy=_d; -this.source._markDndStatus(this.copy); -this.updateAvatar(); -dojo.replaceClass(dojo.body(),"dojoDnd"+(this.copy?"Copy":"Move"),"dojoDnd"+(this.copy?"Move":"Copy")); -}}); -dojo.dnd._manager=null; -dojo.dnd.manager=function(){ -if(!dojo.dnd._manager){ -dojo.dnd._manager=new dojo.dnd.Manager(); -} -return dojo.dnd._manager; -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/dnd/Moveable.js b/resources/library/interactive/barre_prof.wgt/dojo/dnd/Moveable.js deleted file mode 100644 index 42891c65..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/dnd/Moveable.js +++ /dev/null @@ -1,79 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.dnd.Moveable"]){ -dojo._hasResource["dojo.dnd.Moveable"]=true; -dojo.provide("dojo.dnd.Moveable"); -dojo.require("dojo.dnd.Mover"); -dojo.declare("dojo.dnd.Moveable",null,{handle:"",delay:0,skip:false,constructor:function(_1,_2){ -this.node=dojo.byId(_1); -if(!_2){ -_2={}; -} -this.handle=_2.handle?dojo.byId(_2.handle):null; -if(!this.handle){ -this.handle=this.node; -} -this.delay=_2.delay>0?_2.delay:0; -this.skip=_2.skip; -this.mover=_2.mover?_2.mover:dojo.dnd.Mover; -this.events=[dojo.connect(this.handle,"onmousedown",this,"onMouseDown"),dojo.connect(this.handle,"ontouchstart",this,"onMouseDown"),dojo.connect(this.handle,"ondragstart",this,"onSelectStart"),dojo.connect(this.handle,"onselectstart",this,"onSelectStart")]; -},markupFactory:function(_3,_4){ -return new dojo.dnd.Moveable(_4,_3); -},destroy:function(){ -dojo.forEach(this.events,dojo.disconnect); -this.events=this.node=this.handle=null; -},onMouseDown:function(e){ -if(this.skip&&dojo.dnd.isFormElement(e)){ -return; -} -if(this.delay){ -this.events.push(dojo.connect(this.handle,"onmousemove",this,"onMouseMove"),dojo.connect(this.handle,"ontouchmove",this,"onMouseMove"),dojo.connect(this.handle,"onmouseup",this,"onMouseUp"),dojo.connect(this.handle,"ontouchend",this,"onMouseUp")); -var _5=e.touches?e.touches[0]:e; -this._lastX=_5.pageX; -this._lastY=_5.pageY; -}else{ -this.onDragDetected(e); -} -dojo.stopEvent(e); -},onMouseMove:function(e){ -var _6=e.touches?e.touches[0]:e; -if(Math.abs(_6.pageX-this._lastX)>this.delay||Math.abs(_6.pageY-this._lastY)>this.delay){ -this.onMouseUp(e); -this.onDragDetected(e); -} -dojo.stopEvent(e); -},onMouseUp:function(e){ -for(var i=0;i<2;++i){ -dojo.disconnect(this.events.pop()); -} -dojo.stopEvent(e); -},onSelectStart:function(e){ -if(!this.skip||!dojo.dnd.isFormElement(e)){ -dojo.stopEvent(e); -} -},onDragDetected:function(e){ -new this.mover(this.node,e,this); -},onMoveStart:function(_7){ -dojo.publish("/dnd/move/start",[_7]); -dojo.addClass(dojo.body(),"dojoMove"); -dojo.addClass(this.node,"dojoMoveItem"); -},onMoveStop:function(_8){ -dojo.publish("/dnd/move/stop",[_8]); -dojo.removeClass(dojo.body(),"dojoMove"); -dojo.removeClass(this.node,"dojoMoveItem"); -},onFirstMove:function(_9,e){ -},onMove:function(_a,_b,e){ -this.onMoving(_a,_b); -var s=_a.node.style; -s.left=_b.l+"px"; -s.top=_b.t+"px"; -this.onMoved(_a,_b); -},onMoving:function(_c,_d){ -},onMoved:function(_e,_f){ -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/dnd/Mover.js b/resources/library/interactive/barre_prof.wgt/dojo/dnd/Mover.js deleted file mode 100644 index 7468db6f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/dnd/Mover.js +++ /dev/null @@ -1,67 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.dnd.Mover"]){ -dojo._hasResource["dojo.dnd.Mover"]=true; -dojo.provide("dojo.dnd.Mover"); -dojo.require("dojo.dnd.common"); -dojo.require("dojo.dnd.autoscroll"); -dojo.declare("dojo.dnd.Mover",null,{constructor:function(_1,e,_2){ -this.node=dojo.byId(_1); -var _3=e.touches?e.touches[0]:e; -this.marginBox={l:_3.pageX,t:_3.pageY}; -this.mouseButton=e.button; -var h=(this.host=_2),d=_1.ownerDocument; -this.events=[dojo.connect(d,"onmousemove",this,"onFirstMove"),dojo.connect(d,"ontouchmove",this,"onFirstMove"),dojo.connect(d,"onmousemove",this,"onMouseMove"),dojo.connect(d,"ontouchmove",this,"onMouseMove"),dojo.connect(d,"onmouseup",this,"onMouseUp"),dojo.connect(d,"ontouchend",this,"onMouseUp"),dojo.connect(d,"ondragstart",dojo.stopEvent),dojo.connect(d.body,"onselectstart",dojo.stopEvent)]; -if(h&&h.onMoveStart){ -h.onMoveStart(this); -} -},onMouseMove:function(e){ -dojo.dnd.autoScroll(e); -var m=this.marginBox,_4=e.touches?e.touches[0]:e; -this.host.onMove(this,{l:m.l+_4.pageX,t:m.t+_4.pageY},e); -dojo.stopEvent(e); -},onMouseUp:function(e){ -if(dojo.isWebKit&&dojo.isMac&&this.mouseButton==2?e.button==0:this.mouseButton==e.button){ -this.destroy(); -} -dojo.stopEvent(e); -},onFirstMove:function(e){ -var s=this.node.style,l,t,h=this.host; -switch(s.position){ -case "relative": -case "absolute": -l=Math.round(parseFloat(s.left))||0; -t=Math.round(parseFloat(s.top))||0; -break; -default: -s.position="absolute"; -var m=dojo.marginBox(this.node); -var b=dojo.doc.body; -var bs=dojo.getComputedStyle(b); -var bm=dojo._getMarginBox(b,bs); -var bc=dojo._getContentBox(b,bs); -l=m.l-(bc.l-bm.l); -t=m.t-(bc.t-bm.t); -break; -} -this.marginBox.l=l-this.marginBox.l; -this.marginBox.t=t-this.marginBox.t; -if(h&&h.onFirstMove){ -h.onFirstMove(this,e); -} -dojo.disconnect(this.events.shift()); -dojo.disconnect(this.events.shift()); -},destroy:function(){ -dojo.forEach(this.events,dojo.disconnect); -var h=this.host; -if(h&&h.onMoveStop){ -h.onMoveStop(this); -} -this.events=this.node=this.host=null; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/dnd/Selector.js b/resources/library/interactive/barre_prof.wgt/dojo/dnd/Selector.js deleted file mode 100644 index 1105a8b9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/dnd/Selector.js +++ /dev/null @@ -1,239 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.dnd.Selector"]){ -dojo._hasResource["dojo.dnd.Selector"]=true; -dojo.provide("dojo.dnd.Selector"); -dojo.require("dojo.dnd.common"); -dojo.require("dojo.dnd.Container"); -dojo.declare("dojo.dnd.Selector",dojo.dnd.Container,{constructor:function(_1,_2){ -if(!_2){ -_2={}; -} -this.singular=_2.singular; -this.autoSync=_2.autoSync; -this.selection={}; -this.anchor=null; -this.simpleSelection=false; -this.events.push(dojo.connect(this.node,"onmousedown",this,"onMouseDown"),dojo.connect(this.node,"onmouseup",this,"onMouseUp")); -},singular:false,getSelectedNodes:function(){ -var t=new dojo.NodeList(); -var e=dojo.dnd._empty; -for(var i in this.selection){ -if(i in e){ -continue; -} -t.push(dojo.byId(i)); -} -return t; -},selectNone:function(){ -return this._removeSelection()._removeAnchor(); -},selectAll:function(){ -this.forInItems(function(_3,id){ -this._addItemClass(dojo.byId(id),"Selected"); -this.selection[id]=1; -},this); -return this._removeAnchor(); -},deleteSelectedNodes:function(){ -var e=dojo.dnd._empty; -for(var i in this.selection){ -if(i in e){ -continue; -} -var n=dojo.byId(i); -this.delItem(i); -dojo.destroy(n); -} -this.anchor=null; -this.selection={}; -return this; -},forInSelectedItems:function(f,o){ -o=o||dojo.global; -var s=this.selection,e=dojo.dnd._empty; -for(var i in s){ -if(i in e){ -continue; -} -f.call(o,this.getItem(i),i,this); -} -},sync:function(){ -dojo.dnd.Selector.superclass.sync.call(this); -if(this.anchor){ -if(!this.getItem(this.anchor.id)){ -this.anchor=null; -} -} -var t=[],e=dojo.dnd._empty; -for(var i in this.selection){ -if(i in e){ -continue; -} -if(!this.getItem(i)){ -t.push(i); -} -} -dojo.forEach(t,function(i){ -delete this.selection[i]; -},this); -return this; -},insertNodes:function(_4,_5,_6,_7){ -var _8=this._normalizedCreator; -this._normalizedCreator=function(_9,_a){ -var t=_8.call(this,_9,_a); -if(_4){ -if(!this.anchor){ -this.anchor=t.node; -this._removeItemClass(t.node,"Selected"); -this._addItemClass(this.anchor,"Anchor"); -}else{ -if(this.anchor!=t.node){ -this._removeItemClass(t.node,"Anchor"); -this._addItemClass(t.node,"Selected"); -} -} -this.selection[t.node.id]=1; -}else{ -this._removeItemClass(t.node,"Selected"); -this._removeItemClass(t.node,"Anchor"); -} -return t; -}; -dojo.dnd.Selector.superclass.insertNodes.call(this,_5,_6,_7); -this._normalizedCreator=_8; -return this; -},destroy:function(){ -dojo.dnd.Selector.superclass.destroy.call(this); -this.selection=this.anchor=null; -},markupFactory:function(_b,_c){ -_b._skipStartup=true; -return new dojo.dnd.Selector(_c,_b); -},onMouseDown:function(e){ -if(this.autoSync){ -this.sync(); -} -if(!this.current){ -return; -} -if(!this.singular&&!dojo.isCopyKey(e)&&!e.shiftKey&&(this.current.id in this.selection)){ -this.simpleSelection=true; -if(e.button===dojo.mouseButtons.LEFT){ -dojo.stopEvent(e); -} -return; -} -if(!this.singular&&e.shiftKey){ -if(!dojo.isCopyKey(e)){ -this._removeSelection(); -} -var c=this.getAllNodes(); -if(c.length){ -if(!this.anchor){ -this.anchor=c[0]; -this._addItemClass(this.anchor,"Anchor"); -} -this.selection[this.anchor.id]=1; -if(this.anchor!=this.current){ -var i=0; -for(;i<c.length;++i){ -var _d=c[i]; -if(_d==this.anchor||_d==this.current){ -break; -} -} -for(++i;i<c.length;++i){ -var _d=c[i]; -if(_d==this.anchor||_d==this.current){ -break; -} -this._addItemClass(_d,"Selected"); -this.selection[_d.id]=1; -} -this._addItemClass(this.current,"Selected"); -this.selection[this.current.id]=1; -} -} -}else{ -if(this.singular){ -if(this.anchor==this.current){ -if(dojo.isCopyKey(e)){ -this.selectNone(); -} -}else{ -this.selectNone(); -this.anchor=this.current; -this._addItemClass(this.anchor,"Anchor"); -this.selection[this.current.id]=1; -} -}else{ -if(dojo.isCopyKey(e)){ -if(this.anchor==this.current){ -delete this.selection[this.anchor.id]; -this._removeAnchor(); -}else{ -if(this.current.id in this.selection){ -this._removeItemClass(this.current,"Selected"); -delete this.selection[this.current.id]; -}else{ -if(this.anchor){ -this._removeItemClass(this.anchor,"Anchor"); -this._addItemClass(this.anchor,"Selected"); -} -this.anchor=this.current; -this._addItemClass(this.current,"Anchor"); -this.selection[this.current.id]=1; -} -} -}else{ -if(!(this.current.id in this.selection)){ -this.selectNone(); -this.anchor=this.current; -this._addItemClass(this.current,"Anchor"); -this.selection[this.current.id]=1; -} -} -} -} -dojo.stopEvent(e); -},onMouseUp:function(e){ -if(!this.simpleSelection){ -return; -} -this.simpleSelection=false; -this.selectNone(); -if(this.current){ -this.anchor=this.current; -this._addItemClass(this.anchor,"Anchor"); -this.selection[this.current.id]=1; -} -},onMouseMove:function(e){ -this.simpleSelection=false; -},onOverEvent:function(){ -this.onmousemoveEvent=dojo.connect(this.node,"onmousemove",this,"onMouseMove"); -},onOutEvent:function(){ -dojo.disconnect(this.onmousemoveEvent); -delete this.onmousemoveEvent; -},_removeSelection:function(){ -var e=dojo.dnd._empty; -for(var i in this.selection){ -if(i in e){ -continue; -} -var _e=dojo.byId(i); -if(_e){ -this._removeItemClass(_e,"Selected"); -} -} -this.selection={}; -return this; -},_removeAnchor:function(){ -if(this.anchor){ -this._removeItemClass(this.anchor,"Anchor"); -this.anchor=null; -} -return this; -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/dnd/Source.js b/resources/library/interactive/barre_prof.wgt/dojo/dnd/Source.js deleted file mode 100644 index 02523f2e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/dnd/Source.js +++ /dev/null @@ -1,298 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.dnd.Source"]){ -dojo._hasResource["dojo.dnd.Source"]=true; -dojo.provide("dojo.dnd.Source"); -dojo.require("dojo.dnd.Selector"); -dojo.require("dojo.dnd.Manager"); -dojo.declare("dojo.dnd.Source",dojo.dnd.Selector,{isSource:true,horizontal:false,copyOnly:false,selfCopy:false,selfAccept:true,skipForm:false,withHandles:false,autoSync:false,delay:0,accept:["text"],generateText:true,constructor:function(_1,_2){ -dojo.mixin(this,dojo.mixin({},_2)); -var _3=this.accept; -if(_3.length){ -this.accept={}; -for(var i=0;i<_3.length;++i){ -this.accept[_3[i]]=1; -} -} -this.isDragging=false; -this.mouseDown=false; -this.targetAnchor=null; -this.targetBox=null; -this.before=true; -this._lastX=0; -this._lastY=0; -this.sourceState=""; -if(this.isSource){ -dojo.addClass(this.node,"dojoDndSource"); -} -this.targetState=""; -if(this.accept){ -dojo.addClass(this.node,"dojoDndTarget"); -} -if(this.horizontal){ -dojo.addClass(this.node,"dojoDndHorizontal"); -} -this.topics=[dojo.subscribe("/dnd/source/over",this,"onDndSourceOver"),dojo.subscribe("/dnd/start",this,"onDndStart"),dojo.subscribe("/dnd/drop",this,"onDndDrop"),dojo.subscribe("/dnd/cancel",this,"onDndCancel")]; -},checkAcceptance:function(_4,_5){ -if(this==_4){ -return !this.copyOnly||this.selfAccept; -} -for(var i=0;i<_5.length;++i){ -var _6=_4.getItem(_5[i].id).type; -var _7=false; -for(var j=0;j<_6.length;++j){ -if(_6[j] in this.accept){ -_7=true; -break; -} -} -if(!_7){ -return false; -} -} -return true; -},copyState:function(_8,_9){ -if(_8){ -return true; -} -if(arguments.length<2){ -_9=this==dojo.dnd.manager().target; -} -if(_9){ -if(this.copyOnly){ -return this.selfCopy; -} -}else{ -return this.copyOnly; -} -return false; -},destroy:function(){ -dojo.dnd.Source.superclass.destroy.call(this); -dojo.forEach(this.topics,dojo.unsubscribe); -this.targetAnchor=null; -},markupFactory:function(_a,_b){ -_a._skipStartup=true; -return new dojo.dnd.Source(_b,_a); -},onMouseMove:function(e){ -if(this.isDragging&&this.targetState=="Disabled"){ -return; -} -dojo.dnd.Source.superclass.onMouseMove.call(this,e); -var m=dojo.dnd.manager(); -if(!this.isDragging){ -if(this.mouseDown&&this.isSource&&(Math.abs(e.pageX-this._lastX)>this.delay||Math.abs(e.pageY-this._lastY)>this.delay)){ -var _c=this.getSelectedNodes(); -if(_c.length){ -m.startDrag(this,_c,this.copyState(dojo.isCopyKey(e),true)); -} -} -} -if(this.isDragging){ -var _d=false; -if(this.current){ -if(!this.targetBox||this.targetAnchor!=this.current){ -this.targetBox=dojo.position(this.current,true); -} -if(this.horizontal){ -_d=(e.pageX-this.targetBox.x)<(this.targetBox.w/2); -}else{ -_d=(e.pageY-this.targetBox.y)<(this.targetBox.h/2); -} -} -if(this.current!=this.targetAnchor||_d!=this.before){ -this._markTargetAnchor(_d); -m.canDrop(!this.current||m.source!=this||!(this.current.id in this.selection)); -} -} -},onMouseDown:function(e){ -if(!this.mouseDown&&this._legalMouseDown(e)&&(!this.skipForm||!dojo.dnd.isFormElement(e))){ -this.mouseDown=true; -this._lastX=e.pageX; -this._lastY=e.pageY; -dojo.dnd.Source.superclass.onMouseDown.call(this,e); -} -},onMouseUp:function(e){ -if(this.mouseDown){ -this.mouseDown=false; -dojo.dnd.Source.superclass.onMouseUp.call(this,e); -} -},onDndSourceOver:function(_e){ -if(this!=_e){ -this.mouseDown=false; -if(this.targetAnchor){ -this._unmarkTargetAnchor(); -} -}else{ -if(this.isDragging){ -var m=dojo.dnd.manager(); -m.canDrop(this.targetState!="Disabled"&&(!this.current||m.source!=this||!(this.current.id in this.selection))); -} -} -},onDndStart:function(_f,_10,_11){ -if(this.autoSync){ -this.sync(); -} -if(this.isSource){ -this._changeState("Source",this==_f?(_11?"Copied":"Moved"):""); -} -var _12=this.accept&&this.checkAcceptance(_f,_10); -this._changeState("Target",_12?"":"Disabled"); -if(this==_f){ -dojo.dnd.manager().overSource(this); -} -this.isDragging=true; -},onDndDrop:function(_13,_14,_15,_16){ -if(this==_16){ -this.onDrop(_13,_14,_15); -} -this.onDndCancel(); -},onDndCancel:function(){ -if(this.targetAnchor){ -this._unmarkTargetAnchor(); -this.targetAnchor=null; -} -this.before=true; -this.isDragging=false; -this.mouseDown=false; -this._changeState("Source",""); -this._changeState("Target",""); -},onDrop:function(_17,_18,_19){ -if(this!=_17){ -this.onDropExternal(_17,_18,_19); -}else{ -this.onDropInternal(_18,_19); -} -},onDropExternal:function(_1a,_1b,_1c){ -var _1d=this._normalizedCreator; -if(this.creator){ -this._normalizedCreator=function(_1e,_1f){ -return _1d.call(this,_1a.getItem(_1e.id).data,_1f); -}; -}else{ -if(_1c){ -this._normalizedCreator=function(_20,_21){ -var t=_1a.getItem(_20.id); -var n=_20.cloneNode(true); -n.id=dojo.dnd.getUniqueId(); -return {node:n,data:t.data,type:t.type}; -}; -}else{ -this._normalizedCreator=function(_22,_23){ -var t=_1a.getItem(_22.id); -_1a.delItem(_22.id); -return {node:_22,data:t.data,type:t.type}; -}; -} -} -this.selectNone(); -if(!_1c&&!this.creator){ -_1a.selectNone(); -} -this.insertNodes(true,_1b,this.before,this.current); -if(!_1c&&this.creator){ -_1a.deleteSelectedNodes(); -} -this._normalizedCreator=_1d; -},onDropInternal:function(_24,_25){ -var _26=this._normalizedCreator; -if(this.current&&this.current.id in this.selection){ -return; -} -if(_25){ -if(this.creator){ -this._normalizedCreator=function(_27,_28){ -return _26.call(this,this.getItem(_27.id).data,_28); -}; -}else{ -this._normalizedCreator=function(_29,_2a){ -var t=this.getItem(_29.id); -var n=_29.cloneNode(true); -n.id=dojo.dnd.getUniqueId(); -return {node:n,data:t.data,type:t.type}; -}; -} -}else{ -if(!this.current){ -return; -} -this._normalizedCreator=function(_2b,_2c){ -var t=this.getItem(_2b.id); -return {node:_2b,data:t.data,type:t.type}; -}; -} -this._removeSelection(); -this.insertNodes(true,_24,this.before,this.current); -this._normalizedCreator=_26; -},onDraggingOver:function(){ -},onDraggingOut:function(){ -},onOverEvent:function(){ -dojo.dnd.Source.superclass.onOverEvent.call(this); -dojo.dnd.manager().overSource(this); -if(this.isDragging&&this.targetState!="Disabled"){ -this.onDraggingOver(); -} -},onOutEvent:function(){ -dojo.dnd.Source.superclass.onOutEvent.call(this); -dojo.dnd.manager().outSource(this); -if(this.isDragging&&this.targetState!="Disabled"){ -this.onDraggingOut(); -} -},_markTargetAnchor:function(_2d){ -if(this.current==this.targetAnchor&&this.before==_2d){ -return; -} -if(this.targetAnchor){ -this._removeItemClass(this.targetAnchor,this.before?"Before":"After"); -} -this.targetAnchor=this.current; -this.targetBox=null; -this.before=_2d; -if(this.targetAnchor){ -this._addItemClass(this.targetAnchor,this.before?"Before":"After"); -} -},_unmarkTargetAnchor:function(){ -if(!this.targetAnchor){ -return; -} -this._removeItemClass(this.targetAnchor,this.before?"Before":"After"); -this.targetAnchor=null; -this.targetBox=null; -this.before=true; -},_markDndStatus:function(_2e){ -this._changeState("Source",_2e?"Copied":"Moved"); -},_legalMouseDown:function(e){ -if(!dojo.mouseButtons.isLeft(e)){ -return false; -} -if(!this.withHandles){ -return true; -} -for(var _2f=e.target;_2f&&_2f!==this.node;_2f=_2f.parentNode){ -if(dojo.hasClass(_2f,"dojoDndHandle")){ -return true; -} -if(dojo.hasClass(_2f,"dojoDndItem")||dojo.hasClass(_2f,"dojoDndIgnore")){ -break; -} -} -return false; -}}); -dojo.declare("dojo.dnd.Target",dojo.dnd.Source,{constructor:function(_30,_31){ -this.isSource=false; -dojo.removeClass(this.node,"dojoDndSource"); -},markupFactory:function(_32,_33){ -_32._skipStartup=true; -return new dojo.dnd.Target(_33,_32); -}}); -dojo.declare("dojo.dnd.AutoSource",dojo.dnd.Source,{constructor:function(_34,_35){ -this.autoSync=true; -},markupFactory:function(_36,_37){ -_36._skipStartup=true; -return new dojo.dnd.AutoSource(_37,_36); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/dnd/TimedMoveable.js b/resources/library/interactive/barre_prof.wgt/dojo/dnd/TimedMoveable.js deleted file mode 100644 index 6d54f7e5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/dnd/TimedMoveable.js +++ /dev/null @@ -1,40 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.dnd.TimedMoveable"]){ -dojo._hasResource["dojo.dnd.TimedMoveable"]=true; -dojo.provide("dojo.dnd.TimedMoveable"); -dojo.require("dojo.dnd.Moveable"); -(function(){ -var _1=dojo.dnd.Moveable.prototype.onMove; -dojo.declare("dojo.dnd.TimedMoveable",dojo.dnd.Moveable,{timeout:40,constructor:function(_2,_3){ -if(!_3){ -_3={}; -} -if(_3.timeout&&typeof _3.timeout=="number"&&_3.timeout>=0){ -this.timeout=_3.timeout; -} -},markupFactory:function(_4,_5){ -return new dojo.dnd.TimedMoveable(_5,_4); -},onMoveStop:function(_6){ -if(_6._timer){ -clearTimeout(_6._timer); -_1.call(this,_6,_6._leftTop); -} -dojo.dnd.Moveable.prototype.onMoveStop.apply(this,arguments); -},onMove:function(_7,_8){ -_7._leftTop=_8; -if(!_7._timer){ -var _9=this; -_7._timer=setTimeout(function(){ -_7._timer=null; -_1.call(_9,_7,_7._leftTop); -},this.timeout); -} -}}); -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/dnd/autoscroll.js b/resources/library/interactive/barre_prof.wgt/dojo/dnd/autoscroll.js deleted file mode 100644 index 7ead573a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/dnd/autoscroll.js +++ /dev/null @@ -1,84 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.dnd.autoscroll"]){ -dojo._hasResource["dojo.dnd.autoscroll"]=true; -dojo.provide("dojo.dnd.autoscroll"); -dojo.require("dojo.window"); -dojo.getObject("dnd",true,dojo); -dojo.dnd.getViewport=dojo.window.getBox; -dojo.dnd.V_TRIGGER_AUTOSCROLL=32; -dojo.dnd.H_TRIGGER_AUTOSCROLL=32; -dojo.dnd.V_AUTOSCROLL_VALUE=16; -dojo.dnd.H_AUTOSCROLL_VALUE=16; -dojo.dnd.autoScroll=function(e){ -var v=dojo.window.getBox(),dx=0,dy=0; -if(e.clientX<dojo.dnd.H_TRIGGER_AUTOSCROLL){ -dx=-dojo.dnd.H_AUTOSCROLL_VALUE; -}else{ -if(e.clientX>v.w-dojo.dnd.H_TRIGGER_AUTOSCROLL){ -dx=dojo.dnd.H_AUTOSCROLL_VALUE; -} -} -if(e.clientY<dojo.dnd.V_TRIGGER_AUTOSCROLL){ -dy=-dojo.dnd.V_AUTOSCROLL_VALUE; -}else{ -if(e.clientY>v.h-dojo.dnd.V_TRIGGER_AUTOSCROLL){ -dy=dojo.dnd.V_AUTOSCROLL_VALUE; -} -} -window.scrollBy(dx,dy); -}; -dojo.dnd._validNodes={"div":1,"p":1,"td":1}; -dojo.dnd._validOverflow={"auto":1,"scroll":1}; -dojo.dnd.autoScrollNodes=function(e){ -for(var n=e.target;n;){ -if(n.nodeType==1&&(n.tagName.toLowerCase() in dojo.dnd._validNodes)){ -var s=dojo.getComputedStyle(n); -if(s.overflow.toLowerCase() in dojo.dnd._validOverflow){ -var b=dojo._getContentBox(n,s),t=dojo.position(n,true); -var w=Math.min(dojo.dnd.H_TRIGGER_AUTOSCROLL,b.w/2),h=Math.min(dojo.dnd.V_TRIGGER_AUTOSCROLL,b.h/2),rx=e.pageX-t.x,ry=e.pageY-t.y,dx=0,dy=0; -if(dojo.isWebKit||dojo.isOpera){ -rx+=dojo.body().scrollLeft; -ry+=dojo.body().scrollTop; -} -if(rx>0&&rx<b.w){ -if(rx<w){ -dx=-w; -}else{ -if(rx>b.w-w){ -dx=w; -} -} -} -if(ry>0&&ry<b.h){ -if(ry<h){ -dy=-h; -}else{ -if(ry>b.h-h){ -dy=h; -} -} -} -var _1=n.scrollLeft,_2=n.scrollTop; -n.scrollLeft=n.scrollLeft+dx; -n.scrollTop=n.scrollTop+dy; -if(_1!=n.scrollLeft||_2!=n.scrollTop){ -return; -} -} -} -try{ -n=n.parentNode; -} -catch(x){ -n=null; -} -} -dojo.dnd.autoScroll(e); -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/dnd/common.js b/resources/library/interactive/barre_prof.wgt/dojo/dnd/common.js deleted file mode 100644 index 7817475a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/dnd/common.js +++ /dev/null @@ -1,29 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.dnd.common"]){ -dojo._hasResource["dojo.dnd.common"]=true; -dojo.provide("dojo.dnd.common"); -dojo.getObject("dnd",true,dojo); -dojo.dnd.getCopyKeyState=dojo.isCopyKey; -dojo.dnd._uniqueId=0; -dojo.dnd.getUniqueId=function(){ -var id; -do{ -id=dojo._scopeName+"Unique"+(++dojo.dnd._uniqueId); -}while(dojo.byId(id)); -return id; -}; -dojo.dnd._empty={}; -dojo.dnd.isFormElement=function(e){ -var t=e.target; -if(t.nodeType==3){ -t=t.parentNode; -} -return " button textarea input select option ".indexOf(" "+t.tagName.toLowerCase()+" ")>=0; -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/dnd/move.js b/resources/library/interactive/barre_prof.wgt/dojo/dnd/move.js deleted file mode 100644 index 868d13ec..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/dnd/move.js +++ /dev/null @@ -1,75 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.dnd.move"]){ -dojo._hasResource["dojo.dnd.move"]=true; -dojo.provide("dojo.dnd.move"); -dojo.require("dojo.dnd.Mover"); -dojo.require("dojo.dnd.Moveable"); -dojo.declare("dojo.dnd.move.constrainedMoveable",dojo.dnd.Moveable,{constraints:function(){ -},within:false,markupFactory:function(_1,_2){ -return new dojo.dnd.move.constrainedMoveable(_2,_1); -},constructor:function(_3,_4){ -if(!_4){ -_4={}; -} -this.constraints=_4.constraints; -this.within=_4.within; -},onFirstMove:function(_5){ -var c=this.constraintBox=this.constraints.call(this,_5); -c.r=c.l+c.w; -c.b=c.t+c.h; -if(this.within){ -var mb=dojo._getMarginSize(_5.node); -c.r-=mb.w; -c.b-=mb.h; -} -},onMove:function(_6,_7){ -var c=this.constraintBox,s=_6.node.style; -this.onMoving(_6,_7); -_7.l=_7.l<c.l?c.l:c.r<_7.l?c.r:_7.l; -_7.t=_7.t<c.t?c.t:c.b<_7.t?c.b:_7.t; -s.left=_7.l+"px"; -s.top=_7.t+"px"; -this.onMoved(_6,_7); -}}); -dojo.declare("dojo.dnd.move.boxConstrainedMoveable",dojo.dnd.move.constrainedMoveable,{box:{},markupFactory:function(_8,_9){ -return new dojo.dnd.move.boxConstrainedMoveable(_9,_8); -},constructor:function(_a,_b){ -var _c=_b&&_b.box; -this.constraints=function(){ -return _c; -}; -}}); -dojo.declare("dojo.dnd.move.parentConstrainedMoveable",dojo.dnd.move.constrainedMoveable,{area:"content",markupFactory:function(_d,_e){ -return new dojo.dnd.move.parentConstrainedMoveable(_e,_d); -},constructor:function(_f,_10){ -var _11=_10&&_10.area; -this.constraints=function(){ -var n=this.node.parentNode,s=dojo.getComputedStyle(n),mb=dojo._getMarginBox(n,s); -if(_11=="margin"){ -return mb; -} -var t=dojo._getMarginExtents(n,s); -mb.l+=t.l,mb.t+=t.t,mb.w-=t.w,mb.h-=t.h; -if(_11=="border"){ -return mb; -} -t=dojo._getBorderExtents(n,s); -mb.l+=t.l,mb.t+=t.t,mb.w-=t.w,mb.h-=t.h; -if(_11=="padding"){ -return mb; -} -t=dojo._getPadExtents(n,s); -mb.l+=t.l,mb.t+=t.t,mb.w-=t.w,mb.h-=t.h; -return mb; -}; -}}); -dojo.dnd.constrainedMover=dojo.dnd.move.constrainedMover; -dojo.dnd.boxConstrainedMover=dojo.dnd.move.boxConstrainedMover; -dojo.dnd.parentConstrainedMover=dojo.dnd.move.parentConstrainedMover; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/dojo.js b/resources/library/interactive/barre_prof.wgt/dojo/dojo.js deleted file mode 100644 index ef2f2fb7..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/dojo.js +++ /dev/null @@ -1,14 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - -/* - This is an optimized version of Dojo, built for deployment and not for - development. To get sources and documentation, please visit: - - http://dojotoolkit.org -*/ - -(function(){var _1=null;if((_1||(typeof djConfig!="undefined"&&djConfig.scopeMap))&&(typeof window!="undefined")){var _2="",_3="",_4="",_5={},_6={};_1=_1||djConfig.scopeMap;for(var i=0;i<_1.length;i++){var _7=_1[i];_2+="var "+_7[0]+" = {}; "+_7[1]+" = "+_7[0]+";"+_7[1]+"._scopeName = '"+_7[1]+"';";_3+=(i==0?"":",")+_7[0];_4+=(i==0?"":",")+_7[1];_5[_7[0]]=_7[1];_6[_7[1]]=_7[0];}eval(_2+"dojo._scopeArgs = ["+_4+"];");dojo._scopePrefixArgs=_3;dojo._scopePrefix="(function("+_3+"){";dojo._scopeSuffix="})("+_4+")";dojo._scopeMap=_5;dojo._scopeMapRev=_6;}(function(){if(typeof this["loadFirebugConsole"]=="function"){this["loadFirebugConsole"]();}else{this.console=this.console||{};var cn=["assert","count","debug","dir","dirxml","error","group","groupEnd","info","profile","profileEnd","time","timeEnd","trace","warn","log"];var i=0,tn;while((tn=cn[i++])){if(!console[tn]){(function(){var _8=tn+"";console[_8]=("log" in console)?function(){var a=Array.apply({},arguments);a.unshift(_8+":");console["log"](a.join(" "));}:function(){};console[_8]._fake=true;})();}}}if(typeof dojo=="undefined"){dojo={_scopeName:"dojo",_scopePrefix:"",_scopePrefixArgs:"",_scopeSuffix:"",_scopeMap:{},_scopeMapRev:{}};}var d=dojo;if(typeof dijit=="undefined"){dijit={_scopeName:"dijit"};}if(typeof dojox=="undefined"){dojox={_scopeName:"dojox"};}if(!d._scopeArgs){d._scopeArgs=[dojo,dijit,dojox];}d.global=this;d.config={isDebug:false,debugAtAllCosts:false};var _9=typeof djConfig!="undefined"?djConfig:typeof dojoConfig!="undefined"?dojoConfig:null;if(_9){for(var c in _9){d.config[c]=_9[c];}}dojo.locale=d.config.locale;var _a="$Rev: 24595 $".match(/\d+/);dojo.version={major:1,minor:6,patch:1,flag:"",revision:_a?+_a[0]:NaN,toString:function(){with(d.version){return major+"."+minor+"."+patch+flag+" ("+revision+")";}}};if(typeof OpenAjax!="undefined"){OpenAjax.hub.registerLibrary(dojo._scopeName,"http://dojotoolkit.org",d.version.toString());}var _b,_c,_d={};for(var i in {toString:1}){_b=[];break;}dojo._extraNames=_b=_b||["hasOwnProperty","valueOf","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","constructor"];_c=_b.length;dojo._mixin=function(_e,_f){var _10,s,i;for(_10 in _f){s=_f[_10];if(!(_10 in _e)||(_e[_10]!==s&&(!(_10 in _d)||_d[_10]!==s))){_e[_10]=s;}}if(_c&&_f){for(i=0;i<_c;++i){_10=_b[i];s=_f[_10];if(!(_10 in _e)||(_e[_10]!==s&&(!(_10 in _d)||_d[_10]!==s))){_e[_10]=s;}}}return _e;};dojo.mixin=function(obj,_11){if(!obj){obj={};}for(var i=1,l=arguments.length;i<l;i++){d._mixin(obj,arguments[i]);}return obj;};dojo._getProp=function(_12,_13,_14){var obj=_14||d.global;for(var i=0,p;obj&&(p=_12[i]);i++){if(i==0&&d._scopeMap[p]){p=d._scopeMap[p];}obj=(p in obj?obj[p]:(_13?obj[p]={}:undefined));}return obj;};dojo.setObject=function(_15,_16,_17){var _18=_15.split("."),p=_18.pop(),obj=d._getProp(_18,true,_17);return obj&&p?(obj[p]=_16):undefined;};dojo.getObject=function(_19,_1a,_1b){return d._getProp(_19.split("."),_1a,_1b);};dojo.exists=function(_1c,obj){return d.getObject(_1c,false,obj)!==undefined;};dojo["eval"]=function(_1d){return d.global.eval?d.global.eval(_1d):eval(_1d);};d.deprecated=d.experimental=function(){};})();(function(){var d=dojo,_1e;d.mixin(d,{_loadedModules:{},_inFlightCount:0,_hasResource:{},_modulePrefixes:{dojo:{name:"dojo",value:"."},doh:{name:"doh",value:"../util/doh"},tests:{name:"tests",value:"tests"}},_moduleHasPrefix:function(_1f){var mp=d._modulePrefixes;return !!(mp[_1f]&&mp[_1f].value);},_getModulePrefix:function(_20){var mp=d._modulePrefixes;if(d._moduleHasPrefix(_20)){return mp[_20].value;}return _20;},_loadedUrls:[],_postLoad:false,_loaders:[],_unloaders:[],_loadNotifying:false});dojo._loadPath=function(_21,_22,cb){var uri=((_21.charAt(0)=="/"||_21.match(/^\w+:/))?"":d.baseUrl)+_21;try{_1e=_22;return !_22?d._loadUri(uri,cb):d._loadUriAndCheck(uri,_22,cb);}catch(e){console.error(e);return false;}finally{_1e=null;}};dojo._loadUri=function(uri,cb){if(d._loadedUrls[uri]){return true;}d._inFlightCount++;var _23=d._getText(uri,true);if(_23){d._loadedUrls[uri]=true;d._loadedUrls.push(uri);if(cb){_23=/^define\(/.test(_23)?_23:"("+_23+")";}else{_23=d._scopePrefix+_23+d._scopeSuffix;}if(!d.isIE){_23+="\r\n//@ sourceURL="+uri;}var _24=d["eval"](_23);if(cb){cb(_24);}}if(--d._inFlightCount==0&&d._postLoad&&d._loaders.length){setTimeout(function(){if(d._inFlightCount==0){d._callLoaded();}},0);}return !!_23;};dojo._loadUriAndCheck=function(uri,_25,cb){var ok=false;try{ok=d._loadUri(uri,cb);}catch(e){console.error("failed loading "+uri+" with error: "+e);}return !!(ok&&d._loadedModules[_25]);};dojo.loaded=function(){d._loadNotifying=true;d._postLoad=true;var mll=d._loaders;d._loaders=[];for(var x=0;x<mll.length;x++){mll[x]();}d._loadNotifying=false;if(d._postLoad&&d._inFlightCount==0&&mll.length){d._callLoaded();}};dojo.unloaded=function(){var mll=d._unloaders;while(mll.length){(mll.pop())();}};d._onto=function(arr,obj,fn){if(!fn){arr.push(obj);}else{if(fn){var _26=(typeof fn=="string")?obj[fn]:fn;arr.push(function(){_26.call(obj);});}}};dojo.ready=dojo.addOnLoad=function(obj,_27){d._onto(d._loaders,obj,_27);if(d._postLoad&&d._inFlightCount==0&&!d._loadNotifying){d._callLoaded();}};var dca=d.config.addOnLoad;if(dca){d.addOnLoad[(dca instanceof Array?"apply":"call")](d,dca);}dojo._modulesLoaded=function(){if(d._postLoad){return;}if(d._inFlightCount>0){console.warn("files still in flight!");return;}d._callLoaded();};dojo._callLoaded=function(){if(typeof setTimeout=="object"||(d.config.useXDomain&&d.isOpera)){setTimeout(d.isAIR?function(){d.loaded();}:d._scopeName+".loaded();",0);}else{d.loaded();}};dojo._getModuleSymbols=function(_28){var _29=_28.split(".");for(var i=_29.length;i>0;i--){var _2a=_29.slice(0,i).join(".");if(i==1&&!d._moduleHasPrefix(_2a)){_29[0]="../"+_29[0];}else{var _2b=d._getModulePrefix(_2a);if(_2b!=_2a){_29.splice(0,i,_2b);break;}}}return _29;};dojo._global_omit_module_check=false;dojo.loadInit=function(_2c){_2c();};dojo._loadModule=dojo.require=function(_2d,_2e){_2e=d._global_omit_module_check||_2e;var _2f=d._loadedModules[_2d];if(_2f){return _2f;}var _30=d._getModuleSymbols(_2d).join("/")+".js";var _31=!_2e?_2d:null;var ok=d._loadPath(_30,_31);if(!ok&&!_2e){throw new Error("Could not load '"+_2d+"'; last tried '"+_30+"'");}if(!_2e&&!d._isXDomain){_2f=d._loadedModules[_2d];if(!_2f){throw new Error("symbol '"+_2d+"' is not defined after loading '"+_30+"'");}}return _2f;};dojo.provide=function(_32){_32=_32+"";return (d._loadedModules[_32]=d.getObject(_32,true));};dojo.platformRequire=function(_33){var _34=_33.common||[];var _35=_34.concat(_33[d._name]||_33["default"]||[]);for(var x=0;x<_35.length;x++){var _36=_35[x];if(_36.constructor==Array){d._loadModule.apply(d,_36);}else{d._loadModule(_36);}}};dojo.requireIf=function(_37,_38){if(_37===true){var _39=[];for(var i=1;i<arguments.length;i++){_39.push(arguments[i]);}d.require.apply(d,_39);}};dojo.requireAfterIf=d.requireIf;dojo.registerModulePath=function(_3a,_3b){d._modulePrefixes[_3a]={name:_3a,value:_3b};};dojo.requireLocalization=function(_3c,_3d,_3e,_3f){d.require("dojo.i18n");d.i18n._requireLocalization.apply(d.hostenv,arguments);};var ore=new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"),ire=new RegExp("^((([^\\[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^\\[:]*))(:([0-9]+))?$");dojo._Url=function(){var n=null,_40=arguments,uri=[_40[0]];for(var i=1;i<_40.length;i++){if(!_40[i]){continue;}var _41=new d._Url(_40[i]+""),_42=new d._Url(uri[0]+"");if(_41.path==""&&!_41.scheme&&!_41.authority&&!_41.query){if(_41.fragment!=n){_42.fragment=_41.fragment;}_41=_42;}else{if(!_41.scheme){_41.scheme=_42.scheme;if(!_41.authority){_41.authority=_42.authority;if(_41.path.charAt(0)!="/"){var _43=_42.path.substring(0,_42.path.lastIndexOf("/")+1)+_41.path;var _44=_43.split("/");for(var j=0;j<_44.length;j++){if(_44[j]=="."){if(j==_44.length-1){_44[j]="";}else{_44.splice(j,1);j--;}}else{if(j>0&&!(j==1&&_44[0]=="")&&_44[j]==".."&&_44[j-1]!=".."){if(j==(_44.length-1)){_44.splice(j,1);_44[j-1]="";}else{_44.splice(j-1,2);j-=2;}}}}_41.path=_44.join("/");}}}}uri=[];if(_41.scheme){uri.push(_41.scheme,":");}if(_41.authority){uri.push("//",_41.authority);}uri.push(_41.path);if(_41.query){uri.push("?",_41.query);}if(_41.fragment){uri.push("#",_41.fragment);}}this.uri=uri.join("");var r=this.uri.match(ore);this.scheme=r[2]||(r[1]?"":n);this.authority=r[4]||(r[3]?"":n);this.path=r[5];this.query=r[7]||(r[6]?"":n);this.fragment=r[9]||(r[8]?"":n);if(this.authority!=n){r=this.authority.match(ire);this.user=r[3]||n;this.password=r[4]||n;this.host=r[6]||r[7];this.port=r[9]||n;}};dojo._Url.prototype.toString=function(){return this.uri;};dojo.moduleUrl=function(_45,url){var loc=d._getModuleSymbols(_45).join("/");if(!loc){return null;}if(loc.lastIndexOf("/")!=loc.length-1){loc+="/";}var _46=loc.indexOf(":");if(loc.charAt(0)!="/"&&(_46==-1||_46>loc.indexOf("/"))){loc=d.baseUrl+loc;}return new d._Url(loc,url);};})();if(typeof window!="undefined"){dojo.isBrowser=true;dojo._name="browser";(function(){var d=dojo;if(document&&document.getElementsByTagName){var _47=document.getElementsByTagName("script");var _48=/dojo(\.xd)?\.js(\W|$)/i;for(var i=0;i<_47.length;i++){var src=_47[i].getAttribute("src");if(!src){continue;}var m=src.match(_48);if(m){if(!d.config.baseUrl){d.config.baseUrl=src.substring(0,m.index);}var cfg=(_47[i].getAttribute("djConfig")||_47[i].getAttribute("data-dojo-config"));if(cfg){var _49=eval("({ "+cfg+" })");for(var x in _49){dojo.config[x]=_49[x];}}break;}}}d.baseUrl=d.config.baseUrl;var n=navigator;var dua=n.userAgent,dav=n.appVersion,tv=parseFloat(dav);if(dua.indexOf("Opera")>=0){d.isOpera=tv;}if(dua.indexOf("AdobeAIR")>=0){d.isAIR=1;}d.isKhtml=(dav.indexOf("Konqueror")>=0)?tv:0;d.isWebKit=parseFloat(dua.split("WebKit/")[1])||undefined;d.isChrome=parseFloat(dua.split("Chrome/")[1])||undefined;d.isMac=dav.indexOf("Macintosh")>=0;var _4a=Math.max(dav.indexOf("WebKit"),dav.indexOf("Safari"),0);if(_4a&&!dojo.isChrome){d.isSafari=parseFloat(dav.split("Version/")[1]);if(!d.isSafari||parseFloat(dav.substr(_4a+7))<=419.3){d.isSafari=2;}}if(dua.indexOf("Gecko")>=0&&!d.isKhtml&&!d.isWebKit){d.isMozilla=d.isMoz=tv;}if(d.isMoz){d.isFF=parseFloat(dua.split("Firefox/")[1]||dua.split("Minefield/")[1])||undefined;}if(document.all&&!d.isOpera){d.isIE=parseFloat(dav.split("MSIE ")[1])||undefined;var _4b=document.documentMode;if(_4b&&_4b!=5&&Math.floor(d.isIE)!=_4b){d.isIE=_4b;}}if(dojo.isIE&&window.location.protocol==="file:"){dojo.config.ieForceActiveXXhr=true;}d.isQuirks=document.compatMode=="BackCompat";d.locale=dojo.config.locale||(d.isIE?n.userLanguage:n.language).toLowerCase();d._XMLHTTP_PROGIDS=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"];d._xhrObj=function(){var _4c,_4d;if(!dojo.isIE||!dojo.config.ieForceActiveXXhr){try{_4c=new XMLHttpRequest();}catch(e){}}if(!_4c){for(var i=0;i<3;++i){var _4e=d._XMLHTTP_PROGIDS[i];try{_4c=new ActiveXObject(_4e);}catch(e){_4d=e;}if(_4c){d._XMLHTTP_PROGIDS=[_4e];break;}}}if(!_4c){throw new Error("XMLHTTP not available: "+_4d);}return _4c;};d._isDocumentOk=function(_4f){var _50=_4f.status||0,lp=location.protocol;return (_50>=200&&_50<300)||_50==304||_50==1223||(!_50&&(lp=="file:"||lp=="chrome:"||lp=="chrome-extension:"||lp=="app:"));};var _51=window.location+"";var _52=document.getElementsByTagName("base");var _53=(_52&&_52.length>0);d._getText=function(uri,_54){var _55=d._xhrObj();if(!_53&&dojo._Url){uri=(new dojo._Url(_51,uri)).toString();}if(d.config.cacheBust){uri+="";uri+=(uri.indexOf("?")==-1?"?":"&")+String(d.config.cacheBust).replace(/\W+/g,"");}_55.open("GET",uri,false);try{_55.send(null);if(!d._isDocumentOk(_55)){var err=Error("Unable to load "+uri+" status:"+_55.status);err.status=_55.status;err.responseText=_55.responseText;throw err;}}catch(e){if(_54){return null;}throw e;}return _55.responseText;};var _56=window;var _57=function(_58,fp){var _59=_56.attachEvent||_56.addEventListener;_58=_56.attachEvent?_58:_58.substring(2);_59(_58,function(){fp.apply(_56,arguments);},false);};d._windowUnloaders=[];d.windowUnloaded=function(){var mll=d._windowUnloaders;while(mll.length){(mll.pop())();}d=null;};var _5a=0;d.addOnWindowUnload=function(obj,_5b){d._onto(d._windowUnloaders,obj,_5b);if(!_5a){_5a=1;_57("onunload",d.windowUnloaded);}};var _5c=0;d.addOnUnload=function(obj,_5d){d._onto(d._unloaders,obj,_5d);if(!_5c){_5c=1;_57("onbeforeunload",dojo.unloaded);}};})();dojo._initFired=false;dojo._loadInit=function(e){if(dojo._scrollIntervalId){clearInterval(dojo._scrollIntervalId);dojo._scrollIntervalId=0;}if(!dojo._initFired){dojo._initFired=true;if(!dojo.config.afterOnLoad&&window.detachEvent){window.detachEvent("onload",dojo._loadInit);}if(dojo._inFlightCount==0){dojo._modulesLoaded();}}};if(!dojo.config.afterOnLoad){if(document.addEventListener){document.addEventListener("DOMContentLoaded",dojo._loadInit,false);window.addEventListener("load",dojo._loadInit,false);}else{if(window.attachEvent){window.attachEvent("onload",dojo._loadInit);if(!dojo.config.skipIeDomLoaded&&self===self.top){dojo._scrollIntervalId=setInterval(function(){try{if(document.body){document.documentElement.doScroll("left");dojo._loadInit();}}catch(e){}},30);}}}}if(dojo.isIE){try{(function(){document.namespaces.add("v","urn:schemas-microsoft-com:vml");var _5e=["*","group","roundrect","oval","shape","rect","imagedata","path","textpath","text"],i=0,l=1,s=document.createStyleSheet();if(dojo.isIE>=8){i=1;l=_5e.length;}for(;i<l;++i){s.addRule("v\\:"+_5e[i],"behavior:url(#default#VML); display:inline-block");}})();}catch(e){}}}(function(){var mp=dojo.config["modulePaths"];if(mp){for(var _5f in mp){dojo.registerModulePath(_5f,mp[_5f]);}}})();if(dojo.config.isDebug){dojo.require("dojo._firebug.firebug");}if(dojo.config.debugAtAllCosts){dojo.require("dojo._base._loader.loader_debug");dojo.require("dojo.i18n");}if(!dojo._hasResource["dojo._base.lang"]){dojo._hasResource["dojo._base.lang"]=true;dojo.provide("dojo._base.lang");(function(){var d=dojo,_60=Object.prototype.toString;dojo.isString=function(it){return (typeof it=="string"||it instanceof String);};dojo.isArray=function(it){return it&&(it instanceof Array||typeof it=="array");};dojo.isFunction=function(it){return _60.call(it)==="[object Function]";};dojo.isObject=function(it){return it!==undefined&&(it===null||typeof it=="object"||d.isArray(it)||d.isFunction(it));};dojo.isArrayLike=function(it){return it&&it!==undefined&&!d.isString(it)&&!d.isFunction(it)&&!(it.tagName&&it.tagName.toLowerCase()=="form")&&(d.isArray(it)||isFinite(it.length));};dojo.isAlien=function(it){return it&&!d.isFunction(it)&&/\{\s*\[native code\]\s*\}/.test(String(it));};dojo.extend=function(_61,_62){for(var i=1,l=arguments.length;i<l;i++){d._mixin(_61.prototype,arguments[i]);}return _61;};dojo._hitchArgs=function(_63,_64){var pre=d._toArray(arguments,2);var _65=d.isString(_64);return function(){var _66=d._toArray(arguments);var f=_65?(_63||d.global)[_64]:_64;return f&&f.apply(_63||this,pre.concat(_66));};};dojo.hitch=function(_67,_68){if(arguments.length>2){return d._hitchArgs.apply(d,arguments);}if(!_68){_68=_67;_67=null;}if(d.isString(_68)){_67=_67||d.global;if(!_67[_68]){throw (["dojo.hitch: scope[\"",_68,"\"] is null (scope=\"",_67,"\")"].join(""));}return function(){return _67[_68].apply(_67,arguments||[]);};}return !_67?_68:function(){return _68.apply(_67,arguments||[]);};};dojo.delegate=dojo._delegate=(function(){function TMP(){};return function(obj,_69){TMP.prototype=obj;var tmp=new TMP();TMP.prototype=null;if(_69){d._mixin(tmp,_69);}return tmp;};})();var _6a=function(obj,_6b,_6c){return (_6c||[]).concat(Array.prototype.slice.call(obj,_6b||0));};var _6d=function(obj,_6e,_6f){var arr=_6f||[];for(var x=_6e||0;x<obj.length;x++){arr.push(obj[x]);}return arr;};dojo._toArray=d.isIE?function(obj){return ((obj.item)?_6d:_6a).apply(this,arguments);}:_6a;dojo.partial=function(_70){var arr=[null];return d.hitch.apply(d,arr.concat(d._toArray(arguments)));};var _71=d._extraNames,_72=_71.length,_73={};dojo.clone=function(o){if(!o||typeof o!="object"||d.isFunction(o)){return o;}if(o.nodeType&&"cloneNode" in o){return o.cloneNode(true);}if(o instanceof Date){return new Date(o.getTime());}if(o instanceof RegExp){return new RegExp(o);}var r,i,l,s,_74;if(d.isArray(o)){r=[];for(i=0,l=o.length;i<l;++i){if(i in o){r.push(d.clone(o[i]));}}}else{r=o.constructor?new o.constructor():{};}for(_74 in o){s=o[_74];if(!(_74 in r)||(r[_74]!==s&&(!(_74 in _73)||_73[_74]!==s))){r[_74]=d.clone(s);}}if(_72){for(i=0;i<_72;++i){_74=_71[i];s=o[_74];if(!(_74 in r)||(r[_74]!==s&&(!(_74 in _73)||_73[_74]!==s))){r[_74]=s;}}}return r;};dojo.trim=String.prototype.trim?function(str){return str.trim();}:function(str){return str.replace(/^\s\s*/,"").replace(/\s\s*$/,"");};var _75=/\{([^\}]+)\}/g;dojo.replace=function(_76,map,_77){return _76.replace(_77||_75,d.isFunction(map)?map:function(_78,k){return d.getObject(k,false,map);});};})();}if(!dojo._hasResource["dojo._base.array"]){dojo._hasResource["dojo._base.array"]=true;dojo.provide("dojo._base.array");(function(){var _79=function(arr,obj,cb){return [(typeof arr=="string")?arr.split(""):arr,obj||dojo.global,(typeof cb=="string")?new Function("item","index","array",cb):cb];};var _7a=function(_7b,arr,_7c,_7d){var _7e=_79(arr,_7d,_7c);arr=_7e[0];for(var i=0,l=arr.length;i<l;++i){var _7f=!!_7e[2].call(_7e[1],arr[i],i,arr);if(_7b^_7f){return _7f;}}return _7b;};dojo.mixin(dojo,{indexOf:function(_80,_81,_82,_83){var _84=1,end=_80.length||0,i=0;if(_83){i=end-1;_84=end=-1;}if(_82!=undefined){i=_82;}if((_83&&i>end)||i<end){for(;i!=end;i+=_84){if(_80[i]==_81){return i;}}}return -1;},lastIndexOf:function(_85,_86,_87){return dojo.indexOf(_85,_86,_87,true);},forEach:function(arr,_88,_89){if(!arr||!arr.length){return;}var _8a=_79(arr,_89,_88);arr=_8a[0];for(var i=0,l=arr.length;i<l;++i){_8a[2].call(_8a[1],arr[i],i,arr);}},every:function(arr,_8b,_8c){return _7a(true,arr,_8b,_8c);},some:function(arr,_8d,_8e){return _7a(false,arr,_8d,_8e);},map:function(arr,_8f,_90){var _91=_79(arr,_90,_8f);arr=_91[0];var _92=(arguments[3]?(new arguments[3]()):[]);for(var i=0,l=arr.length;i<l;++i){_92.push(_91[2].call(_91[1],arr[i],i,arr));}return _92;},filter:function(arr,_93,_94){var _95=_79(arr,_94,_93);arr=_95[0];var _96=[];for(var i=0,l=arr.length;i<l;++i){if(_95[2].call(_95[1],arr[i],i,arr)){_96.push(arr[i]);}}return _96;}});})();}if(!dojo._hasResource["dojo._base.declare"]){dojo._hasResource["dojo._base.declare"]=true;dojo.provide("dojo._base.declare");(function(){var d=dojo,mix=d._mixin,op=Object.prototype,_97=op.toString,_98=new Function,_99=0,_9a="constructor";function err(msg,cls){throw new Error("declare"+(cls?" "+cls:"")+": "+msg);};function _9b(_9c,_9d){var _9e=[],_9f=[{cls:0,refs:[]}],_a0={},_a1=1,l=_9c.length,i=0,j,lin,_a2,top,_a3,rec,_a4,_a5;for(;i<l;++i){_a2=_9c[i];if(!_a2){err("mixin #"+i+" is unknown. Did you use dojo.require to pull it in?",_9d);}else{if(_97.call(_a2)!="[object Function]"){err("mixin #"+i+" is not a callable constructor.",_9d);}}lin=_a2._meta?_a2._meta.bases:[_a2];top=0;for(j=lin.length-1;j>=0;--j){_a3=lin[j].prototype;if(!_a3.hasOwnProperty("declaredClass")){_a3.declaredClass="uniqName_"+(_99++);}_a4=_a3.declaredClass;if(!_a0.hasOwnProperty(_a4)){_a0[_a4]={count:0,refs:[],cls:lin[j]};++_a1;}rec=_a0[_a4];if(top&&top!==rec){rec.refs.push(top);++top.count;}top=rec;}++top.count;_9f[0].refs.push(top);}while(_9f.length){top=_9f.pop();_9e.push(top.cls);--_a1;while(_a5=top.refs,_a5.length==1){top=_a5[0];if(!top||--top.count){top=0;break;}_9e.push(top.cls);--_a1;}if(top){for(i=0,l=_a5.length;i<l;++i){top=_a5[i];if(!--top.count){_9f.push(top);}}}}if(_a1){err("can't build consistent linearization",_9d);}_a2=_9c[0];_9e[0]=_a2?_a2._meta&&_a2===_9e[_9e.length-_a2._meta.bases.length]?_a2._meta.bases.length:1:0;return _9e;};function _a6(_a7,a,f){var _a8,_a9,_aa,_ab,_ac,_ad,_ae,opf,pos,_af=this._inherited=this._inherited||{};if(typeof _a7=="string"){_a8=_a7;_a7=a;a=f;}f=0;_ab=_a7.callee;_a8=_a8||_ab.nom;if(!_a8){err("can't deduce a name to call inherited()",this.declaredClass);}_ac=this.constructor._meta;_aa=_ac.bases;pos=_af.p;if(_a8!=_9a){if(_af.c!==_ab){pos=0;_ad=_aa[0];_ac=_ad._meta;if(_ac.hidden[_a8]!==_ab){_a9=_ac.chains;if(_a9&&typeof _a9[_a8]=="string"){err("calling chained method with inherited: "+_a8,this.declaredClass);}do{_ac=_ad._meta;_ae=_ad.prototype;if(_ac&&(_ae[_a8]===_ab&&_ae.hasOwnProperty(_a8)||_ac.hidden[_a8]===_ab)){break;}}while(_ad=_aa[++pos]);pos=_ad?pos:-1;}}_ad=_aa[++pos];if(_ad){_ae=_ad.prototype;if(_ad._meta&&_ae.hasOwnProperty(_a8)){f=_ae[_a8];}else{opf=op[_a8];do{_ae=_ad.prototype;f=_ae[_a8];if(f&&(_ad._meta?_ae.hasOwnProperty(_a8):f!==opf)){break;}}while(_ad=_aa[++pos]);}}f=_ad&&f||op[_a8];}else{if(_af.c!==_ab){pos=0;_ac=_aa[0]._meta;if(_ac&&_ac.ctor!==_ab){_a9=_ac.chains;if(!_a9||_a9.constructor!=="manual"){err("calling chained constructor with inherited",this.declaredClass);}while(_ad=_aa[++pos]){_ac=_ad._meta;if(_ac&&_ac.ctor===_ab){break;}}pos=_ad?pos:-1;}}while(_ad=_aa[++pos]){_ac=_ad._meta;f=_ac?_ac.ctor:_ad;if(f){break;}}f=_ad&&f;}_af.c=f;_af.p=pos;if(f){return a===true?f:f.apply(this,a||_a7);}};function _b0(_b1,_b2){if(typeof _b1=="string"){return this.inherited(_b1,_b2,true);}return this.inherited(_b1,true);};function _b3(cls){var _b4=this.constructor._meta.bases;for(var i=0,l=_b4.length;i<l;++i){if(_b4[i]===cls){return true;}}return this instanceof cls;};function _b5(_b6,_b7){var _b8,i=0,l=d._extraNames.length;for(_b8 in _b7){if(_b8!=_9a&&_b7.hasOwnProperty(_b8)){_b6[_b8]=_b7[_b8];}}for(;i<l;++i){_b8=d._extraNames[i];if(_b8!=_9a&&_b7.hasOwnProperty(_b8)){_b6[_b8]=_b7[_b8];}}};function _b9(_ba,_bb){var _bc,t,i=0,l=d._extraNames.length;for(_bc in _bb){t=_bb[_bc];if((t!==op[_bc]||!(_bc in op))&&_bc!=_9a){if(_97.call(t)=="[object Function]"){t.nom=_bc;}_ba[_bc]=t;}}for(;i<l;++i){_bc=d._extraNames[i];t=_bb[_bc];if((t!==op[_bc]||!(_bc in op))&&_bc!=_9a){if(_97.call(t)=="[object Function]"){t.nom=_bc;}_ba[_bc]=t;}}return _ba;};function _bd(_be){_b9(this.prototype,_be);return this;};function _bf(_c0,_c1){return function(){var a=arguments,_c2=a,a0=a[0],f,i,m,l=_c0.length,_c3;if(!(this instanceof a.callee)){return _c4(a);}if(_c1&&(a0&&a0.preamble||this.preamble)){_c3=new Array(_c0.length);_c3[0]=a;for(i=0;;){a0=a[0];if(a0){f=a0.preamble;if(f){a=f.apply(this,a)||a;}}f=_c0[i].prototype;f=f.hasOwnProperty("preamble")&&f.preamble;if(f){a=f.apply(this,a)||a;}if(++i==l){break;}_c3[i]=a;}}for(i=l-1;i>=0;--i){f=_c0[i];m=f._meta;f=m?m.ctor:f;if(f){f.apply(this,_c3?_c3[i]:a);}}f=this.postscript;if(f){f.apply(this,_c2);}};};function _c5(_c6,_c7){return function(){var a=arguments,t=a,a0=a[0],f;if(!(this instanceof a.callee)){return _c4(a);}if(_c7){if(a0){f=a0.preamble;if(f){t=f.apply(this,t)||t;}}f=this.preamble;if(f){f.apply(this,t);}}if(_c6){_c6.apply(this,a);}f=this.postscript;if(f){f.apply(this,a);}};};function _c8(_c9){return function(){var a=arguments,i=0,f,m;if(!(this instanceof a.callee)){return _c4(a);}for(;f=_c9[i];++i){m=f._meta;f=m?m.ctor:f;if(f){f.apply(this,a);break;}}f=this.postscript;if(f){f.apply(this,a);}};};function _ca(_cb,_cc,_cd){return function(){var b,m,f,i=0,_ce=1;if(_cd){i=_cc.length-1;_ce=-1;}for(;b=_cc[i];i+=_ce){m=b._meta;f=(m?m.hidden:b.prototype)[_cb];if(f){f.apply(this,arguments);}}};};function _cf(_d0){_98.prototype=_d0.prototype;var t=new _98;_98.prototype=null;return t;};function _c4(_d1){var _d2=_d1.callee,t=_cf(_d2);_d2.apply(t,_d1);return t;};d.declare=function(_d3,_d4,_d5){if(typeof _d3!="string"){_d5=_d4;_d4=_d3;_d3="";}_d5=_d5||{};var _d6,i,t,_d7,_d8,_d9,_da,_db=1,_dc=_d4;if(_97.call(_d4)=="[object Array]"){_d9=_9b(_d4,_d3);t=_d9[0];_db=_d9.length-t;_d4=_d9[_db];}else{_d9=[0];if(_d4){if(_97.call(_d4)=="[object Function]"){t=_d4._meta;_d9=_d9.concat(t?t.bases:_d4);}else{err("base class is not a callable constructor.",_d3);}}else{if(_d4!==null){err("unknown base class. Did you use dojo.require to pull it in?",_d3);}}}if(_d4){for(i=_db-1;;--i){_d6=_cf(_d4);if(!i){break;}t=_d9[i];(t._meta?_b5:mix)(_d6,t.prototype);_d7=new Function;_d7.superclass=_d4;_d7.prototype=_d6;_d4=_d6.constructor=_d7;}}else{_d6={};}_b9(_d6,_d5);t=_d5.constructor;if(t!==op.constructor){t.nom=_9a;_d6.constructor=t;}for(i=_db-1;i;--i){t=_d9[i]._meta;if(t&&t.chains){_da=mix(_da||{},t.chains);}}if(_d6["-chains-"]){_da=mix(_da||{},_d6["-chains-"]);}t=!_da||!_da.hasOwnProperty(_9a);_d9[0]=_d7=(_da&&_da.constructor==="manual")?_c8(_d9):(_d9.length==1?_c5(_d5.constructor,t):_bf(_d9,t));_d7._meta={bases:_d9,hidden:_d5,chains:_da,parents:_dc,ctor:_d5.constructor};_d7.superclass=_d4&&_d4.prototype;_d7.extend=_bd;_d7.prototype=_d6;_d6.constructor=_d7;_d6.getInherited=_b0;_d6.inherited=_a6;_d6.isInstanceOf=_b3;if(_d3){_d6.declaredClass=_d3;d.setObject(_d3,_d7);}if(_da){for(_d8 in _da){if(_d6[_d8]&&typeof _da[_d8]=="string"&&_d8!=_9a){t=_d6[_d8]=_ca(_d8,_d9,_da[_d8]==="after");t.nom=_d8;}}}return _d7;};d.safeMixin=_b9;})();}if(!dojo._hasResource["dojo._base.connect"]){dojo._hasResource["dojo._base.connect"]=true;dojo.provide("dojo._base.connect");dojo._listener={getDispatcher:function(){return function(){var ap=Array.prototype,c=arguments.callee,ls=c._listeners,t=c.target,r=t&&t.apply(this,arguments),i,lls=[].concat(ls);for(i in lls){if(!(i in ap)){lls[i].apply(this,arguments);}}return r;};},add:function(_dd,_de,_df){_dd=_dd||dojo.global;var f=_dd[_de];if(!f||!f._listeners){var d=dojo._listener.getDispatcher();d.target=f;d._listeners=[];f=_dd[_de]=d;}return f._listeners.push(_df);},remove:function(_e0,_e1,_e2){var f=(_e0||dojo.global)[_e1];if(f&&f._listeners&&_e2--){delete f._listeners[_e2];}}};dojo.connect=function(obj,_e3,_e4,_e5,_e6){var a=arguments,_e7=[],i=0;_e7.push(dojo.isString(a[0])?null:a[i++],a[i++]);var a1=a[i+1];_e7.push(dojo.isString(a1)||dojo.isFunction(a1)?a[i++]:null,a[i++]);for(var l=a.length;i<l;i++){_e7.push(a[i]);}return dojo._connect.apply(this,_e7);};dojo._connect=function(obj,_e8,_e9,_ea){var l=dojo._listener,h=l.add(obj,_e8,dojo.hitch(_e9,_ea));return [obj,_e8,h,l];};dojo.disconnect=function(_eb){if(_eb&&_eb[0]!==undefined){dojo._disconnect.apply(this,_eb);delete _eb[0];}};dojo._disconnect=function(obj,_ec,_ed,_ee){_ee.remove(obj,_ec,_ed);};dojo._topics={};dojo.subscribe=function(_ef,_f0,_f1){return [_ef,dojo._listener.add(dojo._topics,_ef,dojo.hitch(_f0,_f1))];};dojo.unsubscribe=function(_f2){if(_f2){dojo._listener.remove(dojo._topics,_f2[0],_f2[1]);}};dojo.publish=function(_f3,_f4){var f=dojo._topics[_f3];if(f){f.apply(this,_f4||[]);}};dojo.connectPublisher=function(_f5,obj,_f6){var pf=function(){dojo.publish(_f5,arguments);};return _f6?dojo.connect(obj,_f6,pf):dojo.connect(obj,pf);};}if(!dojo._hasResource["dojo._base.Deferred"]){dojo._hasResource["dojo._base.Deferred"]=true;dojo.provide("dojo._base.Deferred");(function(){var _f7=function(){};var _f8=Object.freeze||function(){};dojo.Deferred=function(_f9){var _fa,_fb,_fc,_fd,_fe;var _ff=(this.promise={});function _100(_101){if(_fb){throw new Error("This deferred has already been resolved");}_fa=_101;_fb=true;_102();};function _102(){var _103;while(!_103&&_fe){var _104=_fe;_fe=_fe.next;if((_103=(_104.progress==_f7))){_fb=false;}var func=(_fc?_104.error:_104.resolved);if(func){try{var _105=func(_fa);if(_105&&typeof _105.then==="function"){_105.then(dojo.hitch(_104.deferred,"resolve"),dojo.hitch(_104.deferred,"reject"));continue;}var _106=_103&&_105===undefined;if(_103&&!_106){_fc=_105 instanceof Error;}_104.deferred[_106&&_fc?"reject":"resolve"](_106?_fa:_105);}catch(e){_104.deferred.reject(e);}}else{if(_fc){_104.deferred.reject(_fa);}else{_104.deferred.resolve(_fa);}}}};this.resolve=this.callback=function(_107){this.fired=0;this.results=[_107,null];_100(_107);};this.reject=this.errback=function(_108){_fc=true;this.fired=1;_100(_108);this.results=[null,_108];if(!_108||_108.log!==false){(dojo.config.deferredOnError||function(x){console.error(x);})(_108);}};this.progress=function(_109){var _10a=_fe;while(_10a){var _10b=_10a.progress;_10b&&_10b(_109);_10a=_10a.next;}};this.addCallbacks=function(_10c,_10d){this.then(_10c,_10d,_f7);return this;};this.then=_ff.then=function(_10e,_10f,_110){var _111=_110==_f7?this:new dojo.Deferred(_ff.cancel);var _112={resolved:_10e,error:_10f,progress:_110,deferred:_111};if(_fe){_fd=_fd.next=_112;}else{_fe=_fd=_112;}if(_fb){_102();}return _111.promise;};var _113=this;this.cancel=_ff.cancel=function(){if(!_fb){var _114=_f9&&_f9(_113);if(!_fb){if(!(_114 instanceof Error)){_114=new Error(_114);}_114.log=false;_113.reject(_114);}}};_f8(_ff);};dojo.extend(dojo.Deferred,{addCallback:function(_115){return this.addCallbacks(dojo.hitch.apply(dojo,arguments));},addErrback:function(_116){return this.addCallbacks(null,dojo.hitch.apply(dojo,arguments));},addBoth:function(_117){var _118=dojo.hitch.apply(dojo,arguments);return this.addCallbacks(_118,_118);},fired:-1});})();dojo.when=function(_119,_11a,_11b,_11c){if(_119&&typeof _119.then==="function"){return _119.then(_11a,_11b,_11c);}return _11a(_119);};}if(!dojo._hasResource["dojo._base.json"]){dojo._hasResource["dojo._base.json"]=true;dojo.provide("dojo._base.json");dojo.fromJson=function(json){return eval("("+json+")");};dojo._escapeString=function(str){return ("\""+str.replace(/(["\\])/g,"\\$1")+"\"").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r");};dojo.toJsonIndentStr="\t";dojo.toJson=function(it,_11d,_11e){if(it===undefined){return "undefined";}var _11f=typeof it;if(_11f=="number"||_11f=="boolean"){return it+"";}if(it===null){return "null";}if(dojo.isString(it)){return dojo._escapeString(it);}var _120=arguments.callee;var _121;_11e=_11e||"";var _122=_11d?_11e+dojo.toJsonIndentStr:"";var tf=it.__json__||it.json;if(dojo.isFunction(tf)){_121=tf.call(it);if(it!==_121){return _120(_121,_11d,_122);}}if(it.nodeType&&it.cloneNode){throw new Error("Can't serialize DOM nodes");}var sep=_11d?" ":"";var _123=_11d?"\n":"";if(dojo.isArray(it)){var res=dojo.map(it,function(obj){var val=_120(obj,_11d,_122);if(typeof val!="string"){val="undefined";}return _123+_122+val;});return "["+res.join(","+sep)+_123+_11e+"]";}if(_11f=="function"){return null;}var _124=[],key;for(key in it){var _125,val;if(typeof key=="number"){_125="\""+key+"\"";}else{if(typeof key=="string"){_125=dojo._escapeString(key);}else{continue;}}val=_120(it[key],_11d,_122);if(typeof val!="string"){continue;}_124.push(_123+_122+_125+":"+sep+val);}return "{"+_124.join(","+sep)+_123+_11e+"}";};}if(!dojo._hasResource["dojo._base.Color"]){dojo._hasResource["dojo._base.Color"]=true;dojo.provide("dojo._base.Color");(function(){var d=dojo;dojo.Color=function(_126){if(_126){this.setColor(_126);}};dojo.Color.named={black:[0,0,0],silver:[192,192,192],gray:[128,128,128],white:[255,255,255],maroon:[128,0,0],red:[255,0,0],purple:[128,0,128],fuchsia:[255,0,255],green:[0,128,0],lime:[0,255,0],olive:[128,128,0],yellow:[255,255,0],navy:[0,0,128],blue:[0,0,255],teal:[0,128,128],aqua:[0,255,255],transparent:d.config.transparentColor||[255,255,255]};dojo.extend(dojo.Color,{r:255,g:255,b:255,a:1,_set:function(r,g,b,a){var t=this;t.r=r;t.g=g;t.b=b;t.a=a;},setColor:function(_127){if(d.isString(_127)){d.colorFromString(_127,this);}else{if(d.isArray(_127)){d.colorFromArray(_127,this);}else{this._set(_127.r,_127.g,_127.b,_127.a);if(!(_127 instanceof d.Color)){this.sanitize();}}}return this;},sanitize:function(){return this;},toRgb:function(){var t=this;return [t.r,t.g,t.b];},toRgba:function(){var t=this;return [t.r,t.g,t.b,t.a];},toHex:function(){var arr=d.map(["r","g","b"],function(x){var s=this[x].toString(16);return s.length<2?"0"+s:s;},this);return "#"+arr.join("");},toCss:function(_128){var t=this,rgb=t.r+", "+t.g+", "+t.b;return (_128?"rgba("+rgb+", "+t.a:"rgb("+rgb)+")";},toString:function(){return this.toCss(true);}});dojo.blendColors=function(_129,end,_12a,obj){var t=obj||new d.Color();d.forEach(["r","g","b","a"],function(x){t[x]=_129[x]+(end[x]-_129[x])*_12a;if(x!="a"){t[x]=Math.round(t[x]);}});return t.sanitize();};dojo.colorFromRgb=function(_12b,obj){var m=_12b.toLowerCase().match(/^rgba?\(([\s\.,0-9]+)\)/);return m&&dojo.colorFromArray(m[1].split(/\s*,\s*/),obj);};dojo.colorFromHex=function(_12c,obj){var t=obj||new d.Color(),bits=(_12c.length==4)?4:8,mask=(1<<bits)-1;_12c=Number("0x"+_12c.substr(1));if(isNaN(_12c)){return null;}d.forEach(["b","g","r"],function(x){var c=_12c&mask;_12c>>=bits;t[x]=bits==4?17*c:c;});t.a=1;return t;};dojo.colorFromArray=function(a,obj){var t=obj||new d.Color();t._set(Number(a[0]),Number(a[1]),Number(a[2]),Number(a[3]));if(isNaN(t.a)){t.a=1;}return t.sanitize();};dojo.colorFromString=function(str,obj){var a=d.Color.named[str];return a&&d.colorFromArray(a,obj)||d.colorFromRgb(str,obj)||d.colorFromHex(str,obj);};})();}if(!dojo._hasResource["dojo._base.window"]){dojo._hasResource["dojo._base.window"]=true;dojo.provide("dojo._base.window");dojo.doc=window["document"]||null;dojo.body=function(){return dojo.doc.body||dojo.doc.getElementsByTagName("body")[0];};dojo.setContext=function(_12d,_12e){dojo.global=_12d;dojo.doc=_12e;};dojo.withGlobal=function(_12f,_130,_131,_132){var _133=dojo.global;try{dojo.global=_12f;return dojo.withDoc.call(null,_12f.document,_130,_131,_132);}finally{dojo.global=_133;}};dojo.withDoc=function(_134,_135,_136,_137){var _138=dojo.doc,_139=dojo._bodyLtr,oldQ=dojo.isQuirks;try{dojo.doc=_134;delete dojo._bodyLtr;dojo.isQuirks=dojo.doc.compatMode=="BackCompat";if(_136&&typeof _135=="string"){_135=_136[_135];}return _135.apply(_136,_137||[]);}finally{dojo.doc=_138;delete dojo._bodyLtr;if(_139!==undefined){dojo._bodyLtr=_139;}dojo.isQuirks=oldQ;}};}if(!dojo._hasResource["dojo._base.event"]){dojo._hasResource["dojo._base.event"]=true;dojo.provide("dojo._base.event");(function(){var del=(dojo._event_listener={add:function(node,name,fp){if(!node){return;}name=del._normalizeEventName(name);fp=del._fixCallback(name,fp);if(!dojo.isIE&&(name=="mouseenter"||name=="mouseleave")){var ofp=fp;name=(name=="mouseenter")?"mouseover":"mouseout";fp=function(e){if(!dojo.isDescendant(e.relatedTarget,node)){return ofp.call(this,e);}};}node.addEventListener(name,fp,false);return fp;},remove:function(node,_13a,_13b){if(node){_13a=del._normalizeEventName(_13a);if(!dojo.isIE&&(_13a=="mouseenter"||_13a=="mouseleave")){_13a=(_13a=="mouseenter")?"mouseover":"mouseout";}node.removeEventListener(_13a,_13b,false);}},_normalizeEventName:function(name){return name.slice(0,2)=="on"?name.slice(2):name;},_fixCallback:function(name,fp){return name!="keypress"?fp:function(e){return fp.call(this,del._fixEvent(e,this));};},_fixEvent:function(evt,_13c){switch(evt.type){case "keypress":del._setKeyChar(evt);break;}return evt;},_setKeyChar:function(evt){evt.keyChar=evt.charCode>=32?String.fromCharCode(evt.charCode):"";evt.charOrCode=evt.keyChar||evt.keyCode;},_punctMap:{106:42,111:47,186:59,187:43,188:44,189:45,190:46,191:47,192:96,219:91,220:92,221:93,222:39}});dojo.fixEvent=function(evt,_13d){return del._fixEvent(evt,_13d);};dojo.stopEvent=function(evt){evt.preventDefault();evt.stopPropagation();};var _13e=dojo._listener;dojo._connect=function(obj,_13f,_140,_141,_142){var _143=obj&&(obj.nodeType||obj.attachEvent||obj.addEventListener);var lid=_143?(_142?2:1):0,l=[dojo._listener,del,_13e][lid];var h=l.add(obj,_13f,dojo.hitch(_140,_141));return [obj,_13f,h,lid];};dojo._disconnect=function(obj,_144,_145,_146){([dojo._listener,del,_13e][_146]).remove(obj,_144,_145);};dojo.keys={BACKSPACE:8,TAB:9,CLEAR:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,META:dojo.isSafari?91:224,PAUSE:19,CAPS_LOCK:20,ESCAPE:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT_ARROW:37,UP_ARROW:38,RIGHT_ARROW:39,DOWN_ARROW:40,INSERT:45,DELETE:46,HELP:47,LEFT_WINDOW:91,RIGHT_WINDOW:92,SELECT:93,NUMPAD_0:96,NUMPAD_1:97,NUMPAD_2:98,NUMPAD_3:99,NUMPAD_4:100,NUMPAD_5:101,NUMPAD_6:102,NUMPAD_7:103,NUMPAD_8:104,NUMPAD_9:105,NUMPAD_MULTIPLY:106,NUMPAD_PLUS:107,NUMPAD_ENTER:108,NUMPAD_MINUS:109,NUMPAD_PERIOD:110,NUMPAD_DIVIDE:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,F13:124,F14:125,F15:126,NUM_LOCK:144,SCROLL_LOCK:145,copyKey:dojo.isMac&&!dojo.isAIR?(dojo.isSafari?91:224):17};var _147=dojo.isMac?"metaKey":"ctrlKey";dojo.isCopyKey=function(e){return e[_147];};if(dojo.isIE<9||(dojo.isIE&&dojo.isQuirks)){dojo.mouseButtons={LEFT:1,MIDDLE:4,RIGHT:2,isButton:function(e,_148){return e.button&_148;},isLeft:function(e){return e.button&1;},isMiddle:function(e){return e.button&4;},isRight:function(e){return e.button&2;}};}else{dojo.mouseButtons={LEFT:0,MIDDLE:1,RIGHT:2,isButton:function(e,_149){return e.button==_149;},isLeft:function(e){return e.button==0;},isMiddle:function(e){return e.button==1;},isRight:function(e){return e.button==2;}};}if(dojo.isIE){var _14a=function(e,code){try{return (e.keyCode=code);}catch(e){return 0;}};var iel=dojo._listener;var _14b=(dojo._ieListenersName="_"+dojo._scopeName+"_listeners");if(!dojo.config._allow_leaks){_13e=iel=dojo._ie_listener={handlers:[],add:function(_14c,_14d,_14e){_14c=_14c||dojo.global;var f=_14c[_14d];if(!f||!f[_14b]){var d=dojo._getIeDispatcher();d.target=f&&(ieh.push(f)-1);d[_14b]=[];f=_14c[_14d]=d;}return f[_14b].push(ieh.push(_14e)-1);},remove:function(_14f,_150,_151){var f=(_14f||dojo.global)[_150],l=f&&f[_14b];if(f&&l&&_151--){delete ieh[l[_151]];delete l[_151];}}};var ieh=iel.handlers;}dojo.mixin(del,{add:function(node,_152,fp){if(!node){return;}_152=del._normalizeEventName(_152);if(_152=="onkeypress"){var kd=node.onkeydown;if(!kd||!kd[_14b]||!kd._stealthKeydownHandle){var h=del.add(node,"onkeydown",del._stealthKeyDown);kd=node.onkeydown;kd._stealthKeydownHandle=h;kd._stealthKeydownRefs=1;}else{kd._stealthKeydownRefs++;}}return iel.add(node,_152,del._fixCallback(fp));},remove:function(node,_153,_154){_153=del._normalizeEventName(_153);iel.remove(node,_153,_154);if(_153=="onkeypress"){var kd=node.onkeydown;if(--kd._stealthKeydownRefs<=0){iel.remove(node,"onkeydown",kd._stealthKeydownHandle);delete kd._stealthKeydownHandle;}}},_normalizeEventName:function(_155){return _155.slice(0,2)!="on"?"on"+_155:_155;},_nop:function(){},_fixEvent:function(evt,_156){if(!evt){var w=_156&&(_156.ownerDocument||_156.document||_156).parentWindow||window;evt=w.event;}if(!evt){return (evt);}evt.target=evt.srcElement;evt.currentTarget=(_156||evt.srcElement);evt.layerX=evt.offsetX;evt.layerY=evt.offsetY;var se=evt.srcElement,doc=(se&&se.ownerDocument)||document;var _157=((dojo.isIE<6)||(doc["compatMode"]=="BackCompat"))?doc.body:doc.documentElement;var _158=dojo._getIeDocumentElementOffset();evt.pageX=evt.clientX+dojo._fixIeBiDiScrollLeft(_157.scrollLeft||0)-_158.x;evt.pageY=evt.clientY+(_157.scrollTop||0)-_158.y;if(evt.type=="mouseover"){evt.relatedTarget=evt.fromElement;}if(evt.type=="mouseout"){evt.relatedTarget=evt.toElement;}if(dojo.isIE<9||dojo.isQuirks){evt.stopPropagation=del._stopPropagation;evt.preventDefault=del._preventDefault;}return del._fixKeys(evt);},_fixKeys:function(evt){switch(evt.type){case "keypress":var c=("charCode" in evt?evt.charCode:evt.keyCode);if(c==10){c=0;evt.keyCode=13;}else{if(c==13||c==27){c=0;}else{if(c==3){c=99;}}}evt.charCode=c;del._setKeyChar(evt);break;}return evt;},_stealthKeyDown:function(evt){var kp=evt.currentTarget.onkeypress;if(!kp||!kp[_14b]){return;}var k=evt.keyCode;var _159=(k!=13||(dojo.isIE>=9&&!dojo.isQuirks))&&k!=32&&k!=27&&(k<48||k>90)&&(k<96||k>111)&&(k<186||k>192)&&(k<219||k>222);if(_159||evt.ctrlKey){var c=_159?0:k;if(evt.ctrlKey){if(k==3||k==13){return;}else{if(c>95&&c<106){c-=48;}else{if((!evt.shiftKey)&&(c>=65&&c<=90)){c+=32;}else{c=del._punctMap[c]||c;}}}}var faux=del._synthesizeEvent(evt,{type:"keypress",faux:true,charCode:c});kp.call(evt.currentTarget,faux);if(dojo.isIE<9||(dojo.isIE&&dojo.isQuirks)){evt.cancelBubble=faux.cancelBubble;}evt.returnValue=faux.returnValue;_14a(evt,faux.keyCode);}},_stopPropagation:function(){this.cancelBubble=true;},_preventDefault:function(){this.bubbledKeyCode=this.keyCode;if(this.ctrlKey){_14a(this,0);}this.returnValue=false;}});dojo.stopEvent=(dojo.isIE<9||dojo.isQuirks)?function(evt){evt=evt||window.event;del._stopPropagation.call(evt);del._preventDefault.call(evt);}:dojo.stopEvent;}del._synthesizeEvent=function(evt,_15a){var faux=dojo.mixin({},evt,_15a);del._setKeyChar(faux);faux.preventDefault=function(){evt.preventDefault();};faux.stopPropagation=function(){evt.stopPropagation();};return faux;};if(dojo.isOpera){dojo.mixin(del,{_fixEvent:function(evt,_15b){switch(evt.type){case "keypress":var c=evt.which;if(c==3){c=99;}c=c<41&&!evt.shiftKey?0:c;if(evt.ctrlKey&&!evt.shiftKey&&c>=65&&c<=90){c+=32;}return del._synthesizeEvent(evt,{charCode:c});}return evt;}});}if(dojo.isWebKit){del._add=del.add;del._remove=del.remove;dojo.mixin(del,{add:function(node,_15c,fp){if(!node){return;}var _15d=del._add(node,_15c,fp);if(del._normalizeEventName(_15c)=="keypress"){_15d._stealthKeyDownHandle=del._add(node,"keydown",function(evt){var k=evt.keyCode;var _15e=k!=13&&k!=32&&(k<48||k>90)&&(k<96||k>111)&&(k<186||k>192)&&(k<219||k>222);if(_15e||evt.ctrlKey){var c=_15e?0:k;if(evt.ctrlKey){if(k==3||k==13){return;}else{if(c>95&&c<106){c-=48;}else{if(!evt.shiftKey&&c>=65&&c<=90){c+=32;}else{c=del._punctMap[c]||c;}}}}var faux=del._synthesizeEvent(evt,{type:"keypress",faux:true,charCode:c});fp.call(evt.currentTarget,faux);}});}return _15d;},remove:function(node,_15f,_160){if(node){if(_160._stealthKeyDownHandle){del._remove(node,"keydown",_160._stealthKeyDownHandle);}del._remove(node,_15f,_160);}},_fixEvent:function(evt,_161){switch(evt.type){case "keypress":if(evt.faux){return evt;}var c=evt.charCode;c=c>=32?c:0;return del._synthesizeEvent(evt,{charCode:c,faux:true});}return evt;}});}})();if(dojo.isIE){dojo._ieDispatcher=function(args,_162){var ap=Array.prototype,h=dojo._ie_listener.handlers,c=args.callee,ls=c[dojo._ieListenersName],t=h[c.target];var r=t&&t.apply(_162,args);var lls=[].concat(ls);for(var i in lls){var f=h[lls[i]];if(!(i in ap)&&f){f.apply(_162,args);}}return r;};dojo._getIeDispatcher=function(){return new Function(dojo._scopeName+"._ieDispatcher(arguments, this)");};dojo._event_listener._fixCallback=function(fp){var f=dojo._event_listener._fixEvent;return function(e){return fp.call(this,f(e,this));};};}}if(!dojo._hasResource["dojo._base.html"]){dojo._hasResource["dojo._base.html"]=true;dojo.provide("dojo._base.html");try{document.execCommand("BackgroundImageCache",false,true);}catch(e){}if(dojo.isIE){dojo.byId=function(id,doc){if(typeof id!="string"){return id;}var _163=doc||dojo.doc,te=_163.getElementById(id);if(te&&(te.attributes.id.value==id||te.id==id)){return te;}else{var eles=_163.all[id];if(!eles||eles.nodeName){eles=[eles];}var i=0;while((te=eles[i++])){if((te.attributes&&te.attributes.id&&te.attributes.id.value==id)||te.id==id){return te;}}}};}else{dojo.byId=function(id,doc){return ((typeof id=="string")?(doc||dojo.doc).getElementById(id):id)||null;};}(function(){var d=dojo;var byId=d.byId;var _164=null,_165;d.addOnWindowUnload(function(){_164=null;});dojo._destroyElement=dojo.destroy=function(node){node=byId(node);try{var doc=node.ownerDocument;if(!_164||_165!=doc){_164=doc.createElement("div");_165=doc;}_164.appendChild(node.parentNode?node.parentNode.removeChild(node):node);_164.innerHTML="";}catch(e){}};dojo.isDescendant=function(node,_166){try{node=byId(node);_166=byId(_166);while(node){if(node==_166){return true;}node=node.parentNode;}}catch(e){}return false;};dojo.setSelectable=function(node,_167){node=byId(node);if(d.isMozilla){node.style.MozUserSelect=_167?"":"none";}else{if(d.isKhtml||d.isWebKit){node.style.KhtmlUserSelect=_167?"auto":"none";}else{if(d.isIE){var v=(node.unselectable=_167?"":"on");d.query("*",node).forEach("item.unselectable = '"+v+"'");}}}};var _168=function(node,ref){var _169=ref.parentNode;if(_169){_169.insertBefore(node,ref);}};var _16a=function(node,ref){var _16b=ref.parentNode;if(_16b){if(_16b.lastChild==ref){_16b.appendChild(node);}else{_16b.insertBefore(node,ref.nextSibling);}}};dojo.place=function(node,_16c,_16d){_16c=byId(_16c);if(typeof node=="string"){node=/^\s*</.test(node)?d._toDom(node,_16c.ownerDocument):byId(node);}if(typeof _16d=="number"){var cn=_16c.childNodes;if(!cn.length||cn.length<=_16d){_16c.appendChild(node);}else{_168(node,cn[_16d<0?0:_16d]);}}else{switch(_16d){case "before":_168(node,_16c);break;case "after":_16a(node,_16c);break;case "replace":_16c.parentNode.replaceChild(node,_16c);break;case "only":d.empty(_16c);_16c.appendChild(node);break;case "first":if(_16c.firstChild){_168(node,_16c.firstChild);break;}default:_16c.appendChild(node);}}return node;};dojo.boxModel="content-box";if(d.isIE){d.boxModel=document.compatMode=="BackCompat"?"border-box":"content-box";}var gcs;if(d.isWebKit){gcs=function(node){var s;if(node.nodeType==1){var dv=node.ownerDocument.defaultView;s=dv.getComputedStyle(node,null);if(!s&&node.style){node.style.display="";s=dv.getComputedStyle(node,null);}}return s||{};};}else{if(d.isIE){gcs=function(node){return node.nodeType==1?node.currentStyle:{};};}else{gcs=function(node){return node.nodeType==1?node.ownerDocument.defaultView.getComputedStyle(node,null):{};};}}dojo.getComputedStyle=gcs;if(!d.isIE){d._toPixelValue=function(_16e,_16f){return parseFloat(_16f)||0;};}else{d._toPixelValue=function(_170,_171){if(!_171){return 0;}if(_171=="medium"){return 4;}if(_171.slice&&_171.slice(-2)=="px"){return parseFloat(_171);}with(_170){var _172=style.left;var _173=runtimeStyle.left;runtimeStyle.left=currentStyle.left;try{style.left=_171;_171=style.pixelLeft;}catch(e){_171=0;}style.left=_172;runtimeStyle.left=_173;}return _171;};}var px=d._toPixelValue;var astr="DXImageTransform.Microsoft.Alpha";var af=function(n,f){try{return n.filters.item(astr);}catch(e){return f?{}:null;}};dojo._getOpacity=d.isIE<9?function(node){try{return af(node).Opacity/100;}catch(e){return 1;}}:function(node){return gcs(node).opacity;};dojo._setOpacity=d.isIE<9?function(node,_174){var ov=_174*100,_175=_174==1;node.style.zoom=_175?"":1;if(!af(node)){if(_175){return _174;}node.style.filter+=" progid:"+astr+"(Opacity="+ov+")";}else{af(node,1).Opacity=ov;}af(node,1).Enabled=!_175;if(node.nodeName.toLowerCase()=="tr"){d.query("> td",node).forEach(function(i){d._setOpacity(i,_174);});}return _174;}:function(node,_176){return node.style.opacity=_176;};var _177={left:true,top:true};var _178=/margin|padding|width|height|max|min|offset/;var _179=function(node,type,_17a){type=type.toLowerCase();if(d.isIE){if(_17a=="auto"){if(type=="height"){return node.offsetHeight;}if(type=="width"){return node.offsetWidth;}}if(type=="fontweight"){switch(_17a){case 700:return "bold";case 400:default:return "normal";}}}if(!(type in _177)){_177[type]=_178.test(type);}return _177[type]?px(node,_17a):_17a;};var _17b=d.isIE?"styleFloat":"cssFloat",_17c={"cssFloat":_17b,"styleFloat":_17b,"float":_17b};dojo.style=function(node,_17d,_17e){var n=byId(node),args=arguments.length,op=(_17d=="opacity");_17d=_17c[_17d]||_17d;if(args==3){return op?d._setOpacity(n,_17e):n.style[_17d]=_17e;}if(args==2&&op){return d._getOpacity(n);}var s=gcs(n);if(args==2&&typeof _17d!="string"){for(var x in _17d){d.style(node,x,_17d[x]);}return s;}return (args==1)?s:_179(n,_17d,s[_17d]||n.style[_17d]);};dojo._getPadExtents=function(n,_17f){var s=_17f||gcs(n),l=px(n,s.paddingLeft),t=px(n,s.paddingTop);return {l:l,t:t,w:l+px(n,s.paddingRight),h:t+px(n,s.paddingBottom)};};dojo._getBorderExtents=function(n,_180){var ne="none",s=_180||gcs(n),bl=(s.borderLeftStyle!=ne?px(n,s.borderLeftWidth):0),bt=(s.borderTopStyle!=ne?px(n,s.borderTopWidth):0);return {l:bl,t:bt,w:bl+(s.borderRightStyle!=ne?px(n,s.borderRightWidth):0),h:bt+(s.borderBottomStyle!=ne?px(n,s.borderBottomWidth):0)};};dojo._getPadBorderExtents=function(n,_181){var s=_181||gcs(n),p=d._getPadExtents(n,s),b=d._getBorderExtents(n,s);return {l:p.l+b.l,t:p.t+b.t,w:p.w+b.w,h:p.h+b.h};};dojo._getMarginExtents=function(n,_182){var s=_182||gcs(n),l=px(n,s.marginLeft),t=px(n,s.marginTop),r=px(n,s.marginRight),b=px(n,s.marginBottom);if(d.isWebKit&&(s.position!="absolute")){r=l;}return {l:l,t:t,w:l+r,h:t+b};};dojo._getMarginBox=function(node,_183){var s=_183||gcs(node),me=d._getMarginExtents(node,s);var l=node.offsetLeft-me.l,t=node.offsetTop-me.t,p=node.parentNode;if(d.isMoz){var sl=parseFloat(s.left),st=parseFloat(s.top);if(!isNaN(sl)&&!isNaN(st)){l=sl,t=st;}else{if(p&&p.style){var pcs=gcs(p);if(pcs.overflow!="visible"){var be=d._getBorderExtents(p,pcs);l+=be.l,t+=be.t;}}}}else{if(d.isOpera||(d.isIE>7&&!d.isQuirks)){if(p){be=d._getBorderExtents(p);l-=be.l;t-=be.t;}}}return {l:l,t:t,w:node.offsetWidth+me.w,h:node.offsetHeight+me.h};};dojo._getMarginSize=function(node,_184){node=byId(node);var me=d._getMarginExtents(node,_184||gcs(node));var size=node.getBoundingClientRect();return {w:(size.right-size.left)+me.w,h:(size.bottom-size.top)+me.h};};dojo._getContentBox=function(node,_185){var s=_185||gcs(node),pe=d._getPadExtents(node,s),be=d._getBorderExtents(node,s),w=node.clientWidth,h;if(!w){w=node.offsetWidth,h=node.offsetHeight;}else{h=node.clientHeight,be.w=be.h=0;}if(d.isOpera){pe.l+=be.l;pe.t+=be.t;}return {l:pe.l,t:pe.t,w:w-pe.w-be.w,h:h-pe.h-be.h};};dojo._getBorderBox=function(node,_186){var s=_186||gcs(node),pe=d._getPadExtents(node,s),cb=d._getContentBox(node,s);return {l:cb.l-pe.l,t:cb.t-pe.t,w:cb.w+pe.w,h:cb.h+pe.h};};dojo._setBox=function(node,l,t,w,h,u){u=u||"px";var s=node.style;if(!isNaN(l)){s.left=l+u;}if(!isNaN(t)){s.top=t+u;}if(w>=0){s.width=w+u;}if(h>=0){s.height=h+u;}};dojo._isButtonTag=function(node){return node.tagName=="BUTTON"||node.tagName=="INPUT"&&(node.getAttribute("type")||"").toUpperCase()=="BUTTON";};dojo._usesBorderBox=function(node){var n=node.tagName;return d.boxModel=="border-box"||n=="TABLE"||d._isButtonTag(node);};dojo._setContentSize=function(node,_187,_188,_189){if(d._usesBorderBox(node)){var pb=d._getPadBorderExtents(node,_189);if(_187>=0){_187+=pb.w;}if(_188>=0){_188+=pb.h;}}d._setBox(node,NaN,NaN,_187,_188);};dojo._setMarginBox=function(node,_18a,_18b,_18c,_18d,_18e){var s=_18e||gcs(node),bb=d._usesBorderBox(node),pb=bb?_18f:d._getPadBorderExtents(node,s);if(d.isWebKit){if(d._isButtonTag(node)){var ns=node.style;if(_18c>=0&&!ns.width){ns.width="4px";}if(_18d>=0&&!ns.height){ns.height="4px";}}}var mb=d._getMarginExtents(node,s);if(_18c>=0){_18c=Math.max(_18c-pb.w-mb.w,0);}if(_18d>=0){_18d=Math.max(_18d-pb.h-mb.h,0);}d._setBox(node,_18a,_18b,_18c,_18d);};var _18f={l:0,t:0,w:0,h:0};dojo.marginBox=function(node,box){var n=byId(node),s=gcs(n),b=box;return !b?d._getMarginBox(n,s):d._setMarginBox(n,b.l,b.t,b.w,b.h,s);};dojo.contentBox=function(node,box){var n=byId(node),s=gcs(n),b=box;return !b?d._getContentBox(n,s):d._setContentSize(n,b.w,b.h,s);};var _190=function(node,prop){if(!(node=(node||0).parentNode)){return 0;}var val,_191=0,_192=d.body();while(node&&node.style){if(gcs(node).position=="fixed"){return 0;}val=node[prop];if(val){_191+=val-0;if(node==_192){break;}}node=node.parentNode;}return _191;};dojo._docScroll=function(){var n=d.global;return "pageXOffset" in n?{x:n.pageXOffset,y:n.pageYOffset}:(n=d.isQuirks?d.doc.body:d.doc.documentElement,{x:d._fixIeBiDiScrollLeft(n.scrollLeft||0),y:n.scrollTop||0});};dojo._isBodyLtr=function(){return "_bodyLtr" in d?d._bodyLtr:d._bodyLtr=(d.body().dir||d.doc.documentElement.dir||"ltr").toLowerCase()=="ltr";};dojo._getIeDocumentElementOffset=function(){var de=d.doc.documentElement;if(d.isIE<8){var r=de.getBoundingClientRect();var l=r.left,t=r.top;if(d.isIE<7){l+=de.clientLeft;t+=de.clientTop;}return {x:l<0?0:l,y:t<0?0:t};}else{return {x:0,y:0};}};dojo._fixIeBiDiScrollLeft=function(_193){var ie=d.isIE;if(ie&&!d._isBodyLtr()){var qk=d.isQuirks,de=qk?d.doc.body:d.doc.documentElement;if(ie==6&&!qk&&d.global.frameElement&&de.scrollHeight>de.clientHeight){_193+=de.clientLeft;}return (ie<8||qk)?(_193+de.clientWidth-de.scrollWidth):-_193;}return _193;};dojo._abs=dojo.position=function(node,_194){node=byId(node);var db=d.body(),dh=db.parentNode,ret=node.getBoundingClientRect();ret={x:ret.left,y:ret.top,w:ret.right-ret.left,h:ret.bottom-ret.top};if(d.isIE){var _195=d._getIeDocumentElementOffset();ret.x-=_195.x+(d.isQuirks?db.clientLeft+db.offsetLeft:0);ret.y-=_195.y+(d.isQuirks?db.clientTop+db.offsetTop:0);}else{if(d.isFF==3){var cs=gcs(dh);ret.x-=px(dh,cs.marginLeft)+px(dh,cs.borderLeftWidth);ret.y-=px(dh,cs.marginTop)+px(dh,cs.borderTopWidth);}}if(_194){var _196=d._docScroll();ret.x+=_196.x;ret.y+=_196.y;}return ret;};dojo.coords=function(node,_197){var n=byId(node),s=gcs(n),mb=d._getMarginBox(n,s);var abs=d.position(n,_197);mb.x=abs.x;mb.y=abs.y;return mb;};var _198={"class":"className","for":"htmlFor",tabindex:"tabIndex",readonly:"readOnly",colspan:"colSpan",frameborder:"frameBorder",rowspan:"rowSpan",valuetype:"valueType"},_199={classname:"class",htmlfor:"for",tabindex:"tabIndex",readonly:"readOnly"},_19a={innerHTML:1,className:1,htmlFor:d.isIE,value:1};var _19b=function(name){return _199[name.toLowerCase()]||name;};var _19c=function(node,name){var attr=node.getAttributeNode&&node.getAttributeNode(name);return attr&&attr.specified;};dojo.hasAttr=function(node,name){var lc=name.toLowerCase();return _19a[_198[lc]||name]||_19c(byId(node),_199[lc]||name);};var _19d={},_19e=0,_19f=dojo._scopeName+"attrid",_1a0={col:1,colgroup:1,table:1,tbody:1,tfoot:1,thead:1,tr:1,title:1};dojo.attr=function(node,name,_1a1){node=byId(node);var args=arguments.length,prop;if(args==2&&typeof name!="string"){for(var x in name){d.attr(node,x,name[x]);}return node;}var lc=name.toLowerCase(),_1a2=_198[lc]||name,_1a3=_19a[_1a2],_1a4=_199[lc]||name;if(args==3){do{if(_1a2=="style"&&typeof _1a1!="string"){d.style(node,_1a1);break;}if(_1a2=="innerHTML"){if(d.isIE&&node.tagName.toLowerCase() in _1a0){d.empty(node);node.appendChild(d._toDom(_1a1,node.ownerDocument));}else{node[_1a2]=_1a1;}break;}if(d.isFunction(_1a1)){var _1a5=d.attr(node,_19f);if(!_1a5){_1a5=_19e++;d.attr(node,_19f,_1a5);}if(!_19d[_1a5]){_19d[_1a5]={};}var h=_19d[_1a5][_1a2];if(h){d.disconnect(h);}else{try{delete node[_1a2];}catch(e){}}_19d[_1a5][_1a2]=d.connect(node,_1a2,_1a1);break;}if(_1a3||typeof _1a1=="boolean"){node[_1a2]=_1a1;break;}node.setAttribute(_1a4,_1a1);}while(false);return node;}_1a1=node[_1a2];if(_1a3&&typeof _1a1!="undefined"){return _1a1;}if(_1a2!="href"&&(typeof _1a1=="boolean"||d.isFunction(_1a1))){return _1a1;}return _19c(node,_1a4)?node.getAttribute(_1a4):null;};dojo.removeAttr=function(node,name){byId(node).removeAttribute(_19b(name));};dojo.getNodeProp=function(node,name){node=byId(node);var lc=name.toLowerCase(),_1a6=_198[lc]||name;if((_1a6 in node)&&_1a6!="href"){return node[_1a6];}var _1a7=_199[lc]||name;return _19c(node,_1a7)?node.getAttribute(_1a7):null;};dojo.create=function(tag,_1a8,_1a9,pos){var doc=d.doc;if(_1a9){_1a9=byId(_1a9);doc=_1a9.ownerDocument;}if(typeof tag=="string"){tag=doc.createElement(tag);}if(_1a8){d.attr(tag,_1a8);}if(_1a9){d.place(tag,_1a9,pos);}return tag;};d.empty=d.isIE?function(node){node=byId(node);for(var c;c=node.lastChild;){d.destroy(c);}}:function(node){byId(node).innerHTML="";};var _1aa={option:["select"],tbody:["table"],thead:["table"],tfoot:["table"],tr:["table","tbody"],td:["table","tbody","tr"],th:["table","thead","tr"],legend:["fieldset"],caption:["table"],colgroup:["table"],col:["table","colgroup"],li:["ul"]},_1ab=/<\s*([\w\:]+)/,_1ac={},_1ad=0,_1ae="__"+d._scopeName+"ToDomId";for(var _1af in _1aa){if(_1aa.hasOwnProperty(_1af)){var tw=_1aa[_1af];tw.pre=_1af=="option"?"<select multiple=\"multiple\">":"<"+tw.join("><")+">";tw.post="</"+tw.reverse().join("></")+">";}}d._toDom=function(frag,doc){doc=doc||d.doc;var _1b0=doc[_1ae];if(!_1b0){doc[_1ae]=_1b0=++_1ad+"";_1ac[_1b0]=doc.createElement("div");}frag+="";var _1b1=frag.match(_1ab),tag=_1b1?_1b1[1].toLowerCase():"",_1b2=_1ac[_1b0],wrap,i,fc,df;if(_1b1&&_1aa[tag]){wrap=_1aa[tag];_1b2.innerHTML=wrap.pre+frag+wrap.post;for(i=wrap.length;i;--i){_1b2=_1b2.firstChild;}}else{_1b2.innerHTML=frag;}if(_1b2.childNodes.length==1){return _1b2.removeChild(_1b2.firstChild);}df=doc.createDocumentFragment();while(fc=_1b2.firstChild){df.appendChild(fc);}return df;};var _1b3="className";dojo.hasClass=function(node,_1b4){return ((" "+byId(node)[_1b3]+" ").indexOf(" "+_1b4+" ")>=0);};var _1b5=/\s+/,a1=[""],_1b6={},_1b7=function(s){if(typeof s=="string"||s instanceof String){if(s.indexOf(" ")<0){a1[0]=s;return a1;}else{return s.split(_1b5);}}return s||"";};dojo.addClass=function(node,_1b8){node=byId(node);_1b8=_1b7(_1b8);var cls=node[_1b3],_1b9;cls=cls?" "+cls+" ":" ";_1b9=cls.length;for(var i=0,len=_1b8.length,c;i<len;++i){c=_1b8[i];if(c&&cls.indexOf(" "+c+" ")<0){cls+=c+" ";}}if(_1b9<cls.length){node[_1b3]=cls.substr(1,cls.length-2);}};dojo.removeClass=function(node,_1ba){node=byId(node);var cls;if(_1ba!==undefined){_1ba=_1b7(_1ba);cls=" "+node[_1b3]+" ";for(var i=0,len=_1ba.length;i<len;++i){cls=cls.replace(" "+_1ba[i]+" "," ");}cls=d.trim(cls);}else{cls="";}if(node[_1b3]!=cls){node[_1b3]=cls;}};dojo.replaceClass=function(node,_1bb,_1bc){node=byId(node);_1b6.className=node.className;dojo.removeClass(_1b6,_1bc);dojo.addClass(_1b6,_1bb);if(node.className!==_1b6.className){node.className=_1b6.className;}};dojo.toggleClass=function(node,_1bd,_1be){if(_1be===undefined){_1be=!d.hasClass(node,_1bd);}d[_1be?"addClass":"removeClass"](node,_1bd);};})();}if(!dojo._hasResource["dojo._base.NodeList"]){dojo._hasResource["dojo._base.NodeList"]=true;dojo.provide("dojo._base.NodeList");(function(){var d=dojo;var ap=Array.prototype,aps=ap.slice,apc=ap.concat;var tnl=function(a,_1bf,_1c0){if(!a.sort){a=aps.call(a,0);}var ctor=_1c0||this._NodeListCtor||d._NodeListCtor;a.constructor=ctor;dojo._mixin(a,ctor.prototype);a._NodeListCtor=ctor;return _1bf?a._stash(_1bf):a;};var _1c1=function(f,a,o){a=[0].concat(aps.call(a,0));o=o||d.global;return function(node){a[0]=node;return f.apply(o,a);};};var _1c2=function(f,o){return function(){this.forEach(_1c1(f,arguments,o));return this;};};var _1c3=function(f,o){return function(){return this.map(_1c1(f,arguments,o));};};var _1c4=function(f,o){return function(){return this.filter(_1c1(f,arguments,o));};};var _1c5=function(f,g,o){return function(){var a=arguments,body=_1c1(f,a,o);if(g.call(o||d.global,a)){return this.map(body);}this.forEach(body);return this;};};var _1c6=function(a){return a.length==1&&(typeof a[0]=="string");};var _1c7=function(node){var p=node.parentNode;if(p){p.removeChild(node);}};dojo.NodeList=function(){return tnl(Array.apply(null,arguments));};d._NodeListCtor=d.NodeList;var nl=d.NodeList,nlp=nl.prototype;nl._wrap=nlp._wrap=tnl;nl._adaptAsMap=_1c3;nl._adaptAsForEach=_1c2;nl._adaptAsFilter=_1c4;nl._adaptWithCondition=_1c5;d.forEach(["slice","splice"],function(name){var f=ap[name];nlp[name]=function(){return this._wrap(f.apply(this,arguments),name=="slice"?this:null);};});d.forEach(["indexOf","lastIndexOf","every","some"],function(name){var f=d[name];nlp[name]=function(){return f.apply(d,[this].concat(aps.call(arguments,0)));};});d.forEach(["attr","style"],function(name){nlp[name]=_1c5(d[name],_1c6);});d.forEach(["connect","addClass","removeClass","replaceClass","toggleClass","empty","removeAttr"],function(name){nlp[name]=_1c2(d[name]);});dojo.extend(dojo.NodeList,{_normalize:function(_1c8,_1c9){var _1ca=_1c8.parse===true?true:false;if(typeof _1c8.template=="string"){var _1cb=_1c8.templateFunc||(dojo.string&&dojo.string.substitute);_1c8=_1cb?_1cb(_1c8.template,_1c8):_1c8;}var type=(typeof _1c8);if(type=="string"||type=="number"){_1c8=dojo._toDom(_1c8,(_1c9&&_1c9.ownerDocument));if(_1c8.nodeType==11){_1c8=dojo._toArray(_1c8.childNodes);}else{_1c8=[_1c8];}}else{if(!dojo.isArrayLike(_1c8)){_1c8=[_1c8];}else{if(!dojo.isArray(_1c8)){_1c8=dojo._toArray(_1c8);}}}if(_1ca){_1c8._runParse=true;}return _1c8;},_cloneNode:function(node){return node.cloneNode(true);},_place:function(ary,_1cc,_1cd,_1ce){if(_1cc.nodeType!=1&&_1cd=="only"){return;}var _1cf=_1cc,_1d0;var _1d1=ary.length;for(var i=_1d1-1;i>=0;i--){var node=(_1ce?this._cloneNode(ary[i]):ary[i]);if(ary._runParse&&dojo.parser&&dojo.parser.parse){if(!_1d0){_1d0=_1cf.ownerDocument.createElement("div");}_1d0.appendChild(node);dojo.parser.parse(_1d0);node=_1d0.firstChild;while(_1d0.firstChild){_1d0.removeChild(_1d0.firstChild);}}if(i==_1d1-1){dojo.place(node,_1cf,_1cd);}else{_1cf.parentNode.insertBefore(node,_1cf);}_1cf=node;}},_stash:function(_1d2){this._parent=_1d2;return this;},end:function(){if(this._parent){return this._parent;}else{return new this._NodeListCtor();}},concat:function(item){var t=d.isArray(this)?this:aps.call(this,0),m=d.map(arguments,function(a){return a&&!d.isArray(a)&&(typeof NodeList!="undefined"&&a.constructor===NodeList||a.constructor===this._NodeListCtor)?aps.call(a,0):a;});return this._wrap(apc.apply(t,m),this);},map:function(func,obj){return this._wrap(d.map(this,func,obj),this);},forEach:function(_1d3,_1d4){d.forEach(this,_1d3,_1d4);return this;},coords:_1c3(d.coords),position:_1c3(d.position),place:function(_1d5,_1d6){var item=d.query(_1d5)[0];return this.forEach(function(node){d.place(node,item,_1d6);});},orphan:function(_1d7){return (_1d7?d._filterQueryResult(this,_1d7):this).forEach(_1c7);},adopt:function(_1d8,_1d9){return d.query(_1d8).place(this[0],_1d9)._stash(this);},query:function(_1da){if(!_1da){return this;}var ret=this.map(function(node){return d.query(_1da,node).filter(function(_1db){return _1db!==undefined;});});return this._wrap(apc.apply([],ret),this);},filter:function(_1dc){var a=arguments,_1dd=this,_1de=0;if(typeof _1dc=="string"){_1dd=d._filterQueryResult(this,a[0]);if(a.length==1){return _1dd._stash(this);}_1de=1;}return this._wrap(d.filter(_1dd,a[_1de],a[_1de+1]),this);},addContent:function(_1df,_1e0){_1df=this._normalize(_1df,this[0]);for(var i=0,node;(node=this[i]);i++){this._place(_1df,node,_1e0,i>0);}return this;},instantiate:function(_1e1,_1e2){var c=d.isFunction(_1e1)?_1e1:d.getObject(_1e1);_1e2=_1e2||{};return this.forEach(function(node){new c(_1e2,node);});},at:function(){var t=new this._NodeListCtor();d.forEach(arguments,function(i){if(i<0){i=this.length+i;}if(this[i]){t.push(this[i]);}},this);return t._stash(this);}});nl.events=["blur","focus","change","click","error","keydown","keypress","keyup","load","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","submit"];d.forEach(nl.events,function(evt){var _1e3="on"+evt;nlp[_1e3]=function(a,b){return this.connect(_1e3,a,b);};});})();}if(!dojo._hasResource["dojo._base.query"]){dojo._hasResource["dojo._base.query"]=true;(function(){var _1e4=function(d){var trim=d.trim;var each=d.forEach;var qlc=(d._NodeListCtor=d.NodeList);var _1e5=function(){return d.doc;};var _1e6=((d.isWebKit||d.isMozilla)&&((_1e5().compatMode)=="BackCompat"));var _1e7=!!_1e5().firstChild["children"]?"children":"childNodes";var _1e8=">~+";var _1e9=false;var _1ea=function(){return true;};var _1eb=function(_1ec){if(_1e8.indexOf(_1ec.slice(-1))>=0){_1ec+=" * ";}else{_1ec+=" ";}var ts=function(s,e){return trim(_1ec.slice(s,e));};var _1ed=[];var _1ee=-1,_1ef=-1,_1f0=-1,_1f1=-1,_1f2=-1,inId=-1,_1f3=-1,lc="",cc="",_1f4;var x=0,ql=_1ec.length,_1f5=null,_1f6=null;var _1f7=function(){if(_1f3>=0){var tv=(_1f3==x)?null:ts(_1f3,x);_1f5[(_1e8.indexOf(tv)<0)?"tag":"oper"]=tv;_1f3=-1;}};var _1f8=function(){if(inId>=0){_1f5.id=ts(inId,x).replace(/\\/g,"");inId=-1;}};var _1f9=function(){if(_1f2>=0){_1f5.classes.push(ts(_1f2+1,x).replace(/\\/g,""));_1f2=-1;}};var _1fa=function(){_1f8();_1f7();_1f9();};var _1fb=function(){_1fa();if(_1f1>=0){_1f5.pseudos.push({name:ts(_1f1+1,x)});}_1f5.loops=(_1f5.pseudos.length||_1f5.attrs.length||_1f5.classes.length);_1f5.oquery=_1f5.query=ts(_1f4,x);_1f5.otag=_1f5.tag=(_1f5["oper"])?null:(_1f5.tag||"*");if(_1f5.tag){_1f5.tag=_1f5.tag.toUpperCase();}if(_1ed.length&&(_1ed[_1ed.length-1].oper)){_1f5.infixOper=_1ed.pop();_1f5.query=_1f5.infixOper.query+" "+_1f5.query;}_1ed.push(_1f5);_1f5=null;};for(;lc=cc,cc=_1ec.charAt(x),x<ql;x++){if(lc=="\\"){continue;}if(!_1f5){_1f4=x;_1f5={query:null,pseudos:[],attrs:[],classes:[],tag:null,oper:null,id:null,getTag:function(){return (_1e9)?this.otag:this.tag;}};_1f3=x;}if(_1ee>=0){if(cc=="]"){if(!_1f6.attr){_1f6.attr=ts(_1ee+1,x);}else{_1f6.matchFor=ts((_1f0||_1ee+1),x);}var cmf=_1f6.matchFor;if(cmf){if((cmf.charAt(0)=="\"")||(cmf.charAt(0)=="'")){_1f6.matchFor=cmf.slice(1,-1);}}_1f5.attrs.push(_1f6);_1f6=null;_1ee=_1f0=-1;}else{if(cc=="="){var _1fc=("|~^$*".indexOf(lc)>=0)?lc:"";_1f6.type=_1fc+cc;_1f6.attr=ts(_1ee+1,x-_1fc.length);_1f0=x+1;}}}else{if(_1ef>=0){if(cc==")"){if(_1f1>=0){_1f6.value=ts(_1ef+1,x);}_1f1=_1ef=-1;}}else{if(cc=="#"){_1fa();inId=x+1;}else{if(cc=="."){_1fa();_1f2=x;}else{if(cc==":"){_1fa();_1f1=x;}else{if(cc=="["){_1fa();_1ee=x;_1f6={};}else{if(cc=="("){if(_1f1>=0){_1f6={name:ts(_1f1+1,x),value:null};_1f5.pseudos.push(_1f6);}_1ef=x;}else{if((cc==" ")&&(lc!=cc)){_1fb();}}}}}}}}}return _1ed;};var _1fd=function(_1fe,_1ff){if(!_1fe){return _1ff;}if(!_1ff){return _1fe;}return function(){return _1fe.apply(window,arguments)&&_1ff.apply(window,arguments);};};var _200=function(i,arr){var r=arr||[];if(i){r.push(i);}return r;};var _201=function(n){return (1==n.nodeType);};var _202="";var _203=function(elem,attr){if(!elem){return _202;}if(attr=="class"){return elem.className||_202;}if(attr=="for"){return elem.htmlFor||_202;}if(attr=="style"){return elem.style.cssText||_202;}return (_1e9?elem.getAttribute(attr):elem.getAttribute(attr,2))||_202;};var _204={"*=":function(attr,_205){return function(elem){return (_203(elem,attr).indexOf(_205)>=0);};},"^=":function(attr,_206){return function(elem){return (_203(elem,attr).indexOf(_206)==0);};},"$=":function(attr,_207){var tval=" "+_207;return function(elem){var ea=" "+_203(elem,attr);return (ea.lastIndexOf(_207)==(ea.length-_207.length));};},"~=":function(attr,_208){var tval=" "+_208+" ";return function(elem){var ea=" "+_203(elem,attr)+" ";return (ea.indexOf(tval)>=0);};},"|=":function(attr,_209){var _20a=" "+_209+"-";return function(elem){var ea=" "+_203(elem,attr);return ((ea==_209)||(ea.indexOf(_20a)==0));};},"=":function(attr,_20b){return function(elem){return (_203(elem,attr)==_20b);};}};var _20c=(typeof _1e5().firstChild.nextElementSibling=="undefined");var _20d=!_20c?"nextElementSibling":"nextSibling";var _20e=!_20c?"previousElementSibling":"previousSibling";var _20f=(_20c?_201:_1ea);var _210=function(node){while(node=node[_20e]){if(_20f(node)){return false;}}return true;};var _211=function(node){while(node=node[_20d]){if(_20f(node)){return false;}}return true;};var _212=function(node){var root=node.parentNode;var i=0,tret=root[_1e7],ci=(node["_i"]||-1),cl=(root["_l"]||-1);if(!tret){return -1;}var l=tret.length;if(cl==l&&ci>=0&&cl>=0){return ci;}root["_l"]=l;ci=-1;for(var te=root["firstElementChild"]||root["firstChild"];te;te=te[_20d]){if(_20f(te)){te["_i"]=++i;if(node===te){ci=i;}}}return ci;};var _213=function(elem){return !((_212(elem))%2);};var _214=function(elem){return ((_212(elem))%2);};var _215={"checked":function(name,_216){return function(elem){return !!("checked" in elem?elem.checked:elem.selected);};},"first-child":function(){return _210;},"last-child":function(){return _211;},"only-child":function(name,_217){return function(node){if(!_210(node)){return false;}if(!_211(node)){return false;}return true;};},"empty":function(name,_218){return function(elem){var cn=elem.childNodes;var cnl=elem.childNodes.length;for(var x=cnl-1;x>=0;x--){var nt=cn[x].nodeType;if((nt===1)||(nt==3)){return false;}}return true;};},"contains":function(name,_219){var cz=_219.charAt(0);if(cz=="\""||cz=="'"){_219=_219.slice(1,-1);}return function(elem){return (elem.innerHTML.indexOf(_219)>=0);};},"not":function(name,_21a){var p=_1eb(_21a)[0];var _21b={el:1};if(p.tag!="*"){_21b.tag=1;}if(!p.classes.length){_21b.classes=1;}var ntf=_21c(p,_21b);return function(elem){return (!ntf(elem));};},"nth-child":function(name,_21d){var pi=parseInt;if(_21d=="odd"){return _214;}else{if(_21d=="even"){return _213;}}if(_21d.indexOf("n")!=-1){var _21e=_21d.split("n",2);var pred=_21e[0]?((_21e[0]=="-")?-1:pi(_21e[0])):1;var idx=_21e[1]?pi(_21e[1]):0;var lb=0,ub=-1;if(pred>0){if(idx<0){idx=(idx%pred)&&(pred+(idx%pred));}else{if(idx>0){if(idx>=pred){lb=idx-idx%pred;}idx=idx%pred;}}}else{if(pred<0){pred*=-1;if(idx>0){ub=idx;idx=idx%pred;}}}if(pred>0){return function(elem){var i=_212(elem);return (i>=lb)&&(ub<0||i<=ub)&&((i%pred)==idx);};}else{_21d=idx;}}var _21f=pi(_21d);return function(elem){return (_212(elem)==_21f);};}};var _220=(d.isIE<9||(dojo.isIE&&dojo.isQuirks))?function(cond){var clc=cond.toLowerCase();if(clc=="class"){cond="className";}return function(elem){return (_1e9?elem.getAttribute(cond):elem[cond]||elem[clc]);};}:function(cond){return function(elem){return (elem&&elem.getAttribute&&elem.hasAttribute(cond));};};var _21c=function(_221,_222){if(!_221){return _1ea;}_222=_222||{};var ff=null;if(!("el" in _222)){ff=_1fd(ff,_201);}if(!("tag" in _222)){if(_221.tag!="*"){ff=_1fd(ff,function(elem){return (elem&&(elem.tagName==_221.getTag()));});}}if(!("classes" in _222)){each(_221.classes,function(_223,idx,arr){var re=new RegExp("(?:^|\\s)"+_223+"(?:\\s|$)");ff=_1fd(ff,function(elem){return re.test(elem.className);});ff.count=idx;});}if(!("pseudos" in _222)){each(_221.pseudos,function(_224){var pn=_224.name;if(_215[pn]){ff=_1fd(ff,_215[pn](pn,_224.value));}});}if(!("attrs" in _222)){each(_221.attrs,function(attr){var _225;var a=attr.attr;if(attr.type&&_204[attr.type]){_225=_204[attr.type](a,attr.matchFor);}else{if(a.length){_225=_220(a);}}if(_225){ff=_1fd(ff,_225);}});}if(!("id" in _222)){if(_221.id){ff=_1fd(ff,function(elem){return (!!elem&&(elem.id==_221.id));});}}if(!ff){if(!("default" in _222)){ff=_1ea;}}return ff;};var _226=function(_227){return function(node,ret,bag){while(node=node[_20d]){if(_20c&&(!_201(node))){continue;}if((!bag||_228(node,bag))&&_227(node)){ret.push(node);}break;}return ret;};};var _229=function(_22a){return function(root,ret,bag){var te=root[_20d];while(te){if(_20f(te)){if(bag&&!_228(te,bag)){break;}if(_22a(te)){ret.push(te);}}te=te[_20d];}return ret;};};var _22b=function(_22c){_22c=_22c||_1ea;return function(root,ret,bag){var te,x=0,tret=root[_1e7];while(te=tret[x++]){if(_20f(te)&&(!bag||_228(te,bag))&&(_22c(te,x))){ret.push(te);}}return ret;};};var _22d=function(node,root){var pn=node.parentNode;while(pn){if(pn==root){break;}pn=pn.parentNode;}return !!pn;};var _22e={};var _22f=function(_230){var _231=_22e[_230.query];if(_231){return _231;}var io=_230.infixOper;var oper=(io?io.oper:"");var _232=_21c(_230,{el:1});var qt=_230.tag;var _233=("*"==qt);var ecs=_1e5()["getElementsByClassName"];if(!oper){if(_230.id){_232=(!_230.loops&&_233)?_1ea:_21c(_230,{el:1,id:1});_231=function(root,arr){var te=d.byId(_230.id,(root.ownerDocument||root));if(!te||!_232(te)){return;}if(9==root.nodeType){return _200(te,arr);}else{if(_22d(te,root)){return _200(te,arr);}}};}else{if(ecs&&/\{\s*\[native code\]\s*\}/.test(String(ecs))&&_230.classes.length&&!_1e6){_232=_21c(_230,{el:1,classes:1,id:1});var _234=_230.classes.join(" ");_231=function(root,arr,bag){var ret=_200(0,arr),te,x=0;var tret=root.getElementsByClassName(_234);while((te=tret[x++])){if(_232(te,root)&&_228(te,bag)){ret.push(te);}}return ret;};}else{if(!_233&&!_230.loops){_231=function(root,arr,bag){var ret=_200(0,arr),te,x=0;var tret=root.getElementsByTagName(_230.getTag());while((te=tret[x++])){if(_228(te,bag)){ret.push(te);}}return ret;};}else{_232=_21c(_230,{el:1,tag:1,id:1});_231=function(root,arr,bag){var ret=_200(0,arr),te,x=0;var tret=root.getElementsByTagName(_230.getTag());while((te=tret[x++])){if(_232(te,root)&&_228(te,bag)){ret.push(te);}}return ret;};}}}}else{var _235={el:1};if(_233){_235.tag=1;}_232=_21c(_230,_235);if("+"==oper){_231=_226(_232);}else{if("~"==oper){_231=_229(_232);}else{if(">"==oper){_231=_22b(_232);}}}}return _22e[_230.query]=_231;};var _236=function(root,_237){var _238=_200(root),qp,x,te,qpl=_237.length,bag,ret;for(var i=0;i<qpl;i++){ret=[];qp=_237[i];x=_238.length-1;if(x>0){bag={};ret.nozip=true;}var gef=_22f(qp);for(var j=0;(te=_238[j]);j++){gef(te,ret,bag);}if(!ret.length){break;}_238=ret;}return ret;};var _239={},_23a={};var _23b=function(_23c){var _23d=_1eb(trim(_23c));if(_23d.length==1){var tef=_22f(_23d[0]);return function(root){var r=tef(root,new qlc());if(r){r.nozip=true;}return r;};}return function(root){return _236(root,_23d);};};var nua=navigator.userAgent;var wk="WebKit/";var _23e=(d.isWebKit&&(nua.indexOf(wk)>0)&&(parseFloat(nua.split(wk)[1])>528));var _23f=d.isIE?"commentStrip":"nozip";var qsa="querySelectorAll";var _240=(!!_1e5()[qsa]&&(!d.isSafari||(d.isSafari>3.1)||_23e));var _241=/n\+\d|([^ ])?([>~+])([^ =])?/g;var _242=function(_243,pre,ch,post){return ch?(pre?pre+" ":"")+ch+(post?" "+post:""):_243;};var _244=function(_245,_246){_245=_245.replace(_241,_242);if(_240){var _247=_23a[_245];if(_247&&!_246){return _247;}}var _248=_239[_245];if(_248){return _248;}var qcz=_245.charAt(0);var _249=(-1==_245.indexOf(" "));if((_245.indexOf("#")>=0)&&(_249)){_246=true;}var _24a=(_240&&(!_246)&&(_1e8.indexOf(qcz)==-1)&&(!d.isIE||(_245.indexOf(":")==-1))&&(!(_1e6&&(_245.indexOf(".")>=0)))&&(_245.indexOf(":contains")==-1)&&(_245.indexOf(":checked")==-1)&&(_245.indexOf("|=")==-1));if(_24a){var tq=(_1e8.indexOf(_245.charAt(_245.length-1))>=0)?(_245+" *"):_245;return _23a[_245]=function(root){try{if(!((9==root.nodeType)||_249)){throw "";}var r=root[qsa](tq);r[_23f]=true;return r;}catch(e){return _244(_245,true)(root);}};}else{var _24b=_245.split(/\s*,\s*/);return _239[_245]=((_24b.length<2)?_23b(_245):function(root){var _24c=0,ret=[],tp;while((tp=_24b[_24c++])){ret=ret.concat(_23b(tp)(root));}return ret;});}};var _24d=0;var _24e=d.isIE?function(node){if(_1e9){return (node.getAttribute("_uid")||node.setAttribute("_uid",++_24d)||_24d);}else{return node.uniqueID;}}:function(node){return (node._uid||(node._uid=++_24d));};var _228=function(node,bag){if(!bag){return 1;}var id=_24e(node);if(!bag[id]){return bag[id]=1;}return 0;};var _24f="_zipIdx";var _250=function(arr){if(arr&&arr.nozip){return (qlc._wrap)?qlc._wrap(arr):arr;}var ret=new qlc();if(!arr||!arr.length){return ret;}if(arr[0]){ret.push(arr[0]);}if(arr.length<2){return ret;}_24d++;if(d.isIE&&_1e9){var _251=_24d+"";arr[0].setAttribute(_24f,_251);for(var x=1,te;te=arr[x];x++){if(arr[x].getAttribute(_24f)!=_251){ret.push(te);}te.setAttribute(_24f,_251);}}else{if(d.isIE&&arr.commentStrip){try{for(var x=1,te;te=arr[x];x++){if(_201(te)){ret.push(te);}}}catch(e){}}else{if(arr[0]){arr[0][_24f]=_24d;}for(var x=1,te;te=arr[x];x++){if(arr[x][_24f]!=_24d){ret.push(te);}te[_24f]=_24d;}}}return ret;};d.query=function(_252,root){qlc=d._NodeListCtor;if(!_252){return new qlc();}if(_252.constructor==qlc){return _252;}if(typeof _252!="string"){return new qlc(_252);}if(typeof root=="string"){root=d.byId(root);if(!root){return new qlc();}}root=root||_1e5();var od=root.ownerDocument||root.documentElement;_1e9=(root.contentType&&root.contentType=="application/xml")||(d.isOpera&&(root.doctype||od.toString()=="[object XMLDocument]"))||(!!od)&&(d.isIE?od.xml:(root.xmlVersion||od.xmlVersion));var r=_244(_252)(root);if(r&&r.nozip&&!qlc._wrap){return r;}return _250(r);};d.query.pseudos=_215;d._filterQueryResult=function(_253,_254,root){var _255=new d._NodeListCtor(),_256=_1eb(_254),_257=(_256.length==1&&!/[^\w#\.]/.test(_254))?_21c(_256[0]):function(node){return dojo.query(_254,root).indexOf(node)!=-1;};for(var x=0,te;te=_253[x];x++){if(_257(te)){_255.push(te);}}return _255;};};var _258=function(){acme={trim:function(str){str=str.replace(/^\s+/,"");for(var i=str.length-1;i>=0;i--){if(/\S/.test(str.charAt(i))){str=str.substring(0,i+1);break;}}return str;},forEach:function(arr,_259,_25a){if(!arr||!arr.length){return;}for(var i=0,l=arr.length;i<l;++i){_259.call(_25a||window,arr[i],i,arr);}},byId:function(id,doc){if(typeof id=="string"){return (doc||document).getElementById(id);}else{return id;}},doc:document,NodeList:Array};var n=navigator;var dua=n.userAgent;var dav=n.appVersion;var tv=parseFloat(dav);acme.isOpera=(dua.indexOf("Opera")>=0)?tv:undefined;acme.isKhtml=(dav.indexOf("Konqueror")>=0)?tv:undefined;acme.isWebKit=parseFloat(dua.split("WebKit/")[1])||undefined;acme.isChrome=parseFloat(dua.split("Chrome/")[1])||undefined;var _25b=Math.max(dav.indexOf("WebKit"),dav.indexOf("Safari"),0);if(_25b&&!acme.isChrome){acme.isSafari=parseFloat(dav.split("Version/")[1]);if(!acme.isSafari||parseFloat(dav.substr(_25b+7))<=419.3){acme.isSafari=2;}}if(document.all&&!acme.isOpera){acme.isIE=parseFloat(dav.split("MSIE ")[1])||undefined;}Array._wrap=function(arr){return arr;};return acme;};if(this["dojo"]){dojo.provide("dojo._base.query");_1e4(this["queryPortability"]||this["acme"]||dojo);}else{_1e4(this["queryPortability"]||this["acme"]||_258());}})();}if(!dojo._hasResource["dojo._base.xhr"]){dojo._hasResource["dojo._base.xhr"]=true;dojo.provide("dojo._base.xhr");(function(){var _25c=dojo,cfg=_25c.config;function _25d(obj,name,_25e){if(_25e===null){return;}var val=obj[name];if(typeof val=="string"){obj[name]=[val,_25e];}else{if(_25c.isArray(val)){val.push(_25e);}else{obj[name]=_25e;}}};dojo.fieldToObject=function(_25f){var ret=null;var item=_25c.byId(_25f);if(item){var _260=item.name;var type=(item.type||"").toLowerCase();if(_260&&type&&!item.disabled){if(type=="radio"||type=="checkbox"){if(item.checked){ret=item.value;}}else{if(item.multiple){ret=[];_25c.query("option",item).forEach(function(opt){if(opt.selected){ret.push(opt.value);}});}else{ret=item.value;}}}}return ret;};dojo.formToObject=function(_261){var ret={};var _262="file|submit|image|reset|button|";_25c.forEach(dojo.byId(_261).elements,function(item){var _263=item.name;var type=(item.type||"").toLowerCase();if(_263&&type&&_262.indexOf(type)==-1&&!item.disabled){_25d(ret,_263,_25c.fieldToObject(item));if(type=="image"){ret[_263+".x"]=ret[_263+".y"]=ret[_263].x=ret[_263].y=0;}}});return ret;};dojo.objectToQuery=function(map){var enc=encodeURIComponent;var _264=[];var _265={};for(var name in map){var _266=map[name];if(_266!=_265[name]){var _267=enc(name)+"=";if(_25c.isArray(_266)){for(var i=0;i<_266.length;i++){_264.push(_267+enc(_266[i]));}}else{_264.push(_267+enc(_266));}}}return _264.join("&");};dojo.formToQuery=function(_268){return _25c.objectToQuery(_25c.formToObject(_268));};dojo.formToJson=function(_269,_26a){return _25c.toJson(_25c.formToObject(_269),_26a);};dojo.queryToObject=function(str){var ret={};var qp=str.split("&");var dec=decodeURIComponent;_25c.forEach(qp,function(item){if(item.length){var _26b=item.split("=");var name=dec(_26b.shift());var val=dec(_26b.join("="));if(typeof ret[name]=="string"){ret[name]=[ret[name]];}if(_25c.isArray(ret[name])){ret[name].push(val);}else{ret[name]=val;}}});return ret;};dojo._blockAsync=false;var _26c=_25c._contentHandlers=dojo.contentHandlers={text:function(xhr){return xhr.responseText;},json:function(xhr){return _25c.fromJson(xhr.responseText||null);},"json-comment-filtered":function(xhr){if(!dojo.config.useCommentedJson){console.warn("Consider using the standard mimetype:application/json."+" json-commenting can introduce security issues. To"+" decrease the chances of hijacking, use the standard the 'json' handler and"+" prefix your json with: {}&&\n"+"Use djConfig.useCommentedJson=true to turn off this message.");}var _26d=xhr.responseText;var _26e=_26d.indexOf("/*");var _26f=_26d.lastIndexOf("*/");if(_26e==-1||_26f==-1){throw new Error("JSON was not comment filtered");}return _25c.fromJson(_26d.substring(_26e+2,_26f));},javascript:function(xhr){return _25c.eval(xhr.responseText);},xml:function(xhr){var _270=xhr.responseXML;if(_25c.isIE&&(!_270||!_270.documentElement)){var ms=function(n){return "MSXML"+n+".DOMDocument";};var dp=["Microsoft.XMLDOM",ms(6),ms(4),ms(3),ms(2)];_25c.some(dp,function(p){try{var dom=new ActiveXObject(p);dom.async=false;dom.loadXML(xhr.responseText);_270=dom;}catch(e){return false;}return true;});}return _270;},"json-comment-optional":function(xhr){if(xhr.responseText&&/^[^{\[]*\/\*/.test(xhr.responseText)){return _26c["json-comment-filtered"](xhr);}else{return _26c["json"](xhr);}}};dojo._ioSetArgs=function(args,_271,_272,_273){var _274={args:args,url:args.url};var _275=null;if(args.form){var form=_25c.byId(args.form);var _276=form.getAttributeNode("action");_274.url=_274.url||(_276?_276.value:null);_275=_25c.formToObject(form);}var _277=[{}];if(_275){_277.push(_275);}if(args.content){_277.push(args.content);}if(args.preventCache){_277.push({"dojo.preventCache":new Date().valueOf()});}_274.query=_25c.objectToQuery(_25c.mixin.apply(null,_277));_274.handleAs=args.handleAs||"text";var d=new _25c.Deferred(_271);d.addCallbacks(_272,function(_278){return _273(_278,d);});var ld=args.load;if(ld&&_25c.isFunction(ld)){d.addCallback(function(_279){return ld.call(args,_279,_274);});}var err=args.error;if(err&&_25c.isFunction(err)){d.addErrback(function(_27a){return err.call(args,_27a,_274);});}var _27b=args.handle;if(_27b&&_25c.isFunction(_27b)){d.addBoth(function(_27c){return _27b.call(args,_27c,_274);});}if(cfg.ioPublish&&_25c.publish&&_274.args.ioPublish!==false){d.addCallbacks(function(res){_25c.publish("/dojo/io/load",[d,res]);return res;},function(res){_25c.publish("/dojo/io/error",[d,res]);return res;});d.addBoth(function(res){_25c.publish("/dojo/io/done",[d,res]);return res;});}d.ioArgs=_274;return d;};var _27d=function(dfd){dfd.canceled=true;var xhr=dfd.ioArgs.xhr;var _27e=typeof xhr.abort;if(_27e=="function"||_27e=="object"||_27e=="unknown"){xhr.abort();}var err=dfd.ioArgs.error;if(!err){err=new Error("xhr cancelled");err.dojoType="cancel";}return err;};var _27f=function(dfd){var ret=_26c[dfd.ioArgs.handleAs](dfd.ioArgs.xhr);return ret===undefined?null:ret;};var _280=function(_281,dfd){if(!dfd.ioArgs.args.failOk){console.error(_281);}return _281;};var _282=null;var _283=[];var _284=0;var _285=function(dfd){if(_284<=0){_284=0;if(cfg.ioPublish&&_25c.publish&&(!dfd||dfd&&dfd.ioArgs.args.ioPublish!==false)){_25c.publish("/dojo/io/stop");}}};var _286=function(){var now=(new Date()).getTime();if(!_25c._blockAsync){for(var i=0,tif;i<_283.length&&(tif=_283[i]);i++){var dfd=tif.dfd;var func=function(){if(!dfd||dfd.canceled||!tif.validCheck(dfd)){_283.splice(i--,1);_284-=1;}else{if(tif.ioCheck(dfd)){_283.splice(i--,1);tif.resHandle(dfd);_284-=1;}else{if(dfd.startTime){if(dfd.startTime+(dfd.ioArgs.args.timeout||0)<now){_283.splice(i--,1);var err=new Error("timeout exceeded");err.dojoType="timeout";dfd.errback(err);dfd.cancel();_284-=1;}}}}};if(dojo.config.debugAtAllCosts){func.call(this);}else{try{func.call(this);}catch(e){dfd.errback(e);}}}}_285(dfd);if(!_283.length){clearInterval(_282);_282=null;return;}};dojo._ioCancelAll=function(){try{_25c.forEach(_283,function(i){try{i.dfd.cancel();}catch(e){}});}catch(e){}};if(_25c.isIE){_25c.addOnWindowUnload(_25c._ioCancelAll);}_25c._ioNotifyStart=function(dfd){if(cfg.ioPublish&&_25c.publish&&dfd.ioArgs.args.ioPublish!==false){if(!_284){_25c.publish("/dojo/io/start");}_284+=1;_25c.publish("/dojo/io/send",[dfd]);}};_25c._ioWatch=function(dfd,_287,_288,_289){var args=dfd.ioArgs.args;if(args.timeout){dfd.startTime=(new Date()).getTime();}_283.push({dfd:dfd,validCheck:_287,ioCheck:_288,resHandle:_289});if(!_282){_282=setInterval(_286,50);}if(args.sync){_286();}};var _28a="application/x-www-form-urlencoded";var _28b=function(dfd){return dfd.ioArgs.xhr.readyState;};var _28c=function(dfd){return 4==dfd.ioArgs.xhr.readyState;};var _28d=function(dfd){var xhr=dfd.ioArgs.xhr;if(_25c._isDocumentOk(xhr)){dfd.callback(dfd);}else{var err=new Error("Unable to load "+dfd.ioArgs.url+" status:"+xhr.status);err.status=xhr.status;err.responseText=xhr.responseText;dfd.errback(err);}};dojo._ioAddQueryToUrl=function(_28e){if(_28e.query.length){_28e.url+=(_28e.url.indexOf("?")==-1?"?":"&")+_28e.query;_28e.query=null;}};dojo.xhr=function(_28f,args,_290){var dfd=_25c._ioSetArgs(args,_27d,_27f,_280);var _291=dfd.ioArgs;var xhr=_291.xhr=_25c._xhrObj(_291.args);if(!xhr){dfd.cancel();return dfd;}if("postData" in args){_291.query=args.postData;}else{if("putData" in args){_291.query=args.putData;}else{if("rawBody" in args){_291.query=args.rawBody;}else{if((arguments.length>2&&!_290)||"POST|PUT".indexOf(_28f.toUpperCase())==-1){_25c._ioAddQueryToUrl(_291);}}}}xhr.open(_28f,_291.url,args.sync!==true,args.user||undefined,args.password||undefined);if(args.headers){for(var hdr in args.headers){if(hdr.toLowerCase()==="content-type"&&!args.contentType){args.contentType=args.headers[hdr];}else{if(args.headers[hdr]){xhr.setRequestHeader(hdr,args.headers[hdr]);}}}}xhr.setRequestHeader("Content-Type",args.contentType||_28a);if(!args.headers||!("X-Requested-With" in args.headers)){xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");}_25c._ioNotifyStart(dfd);if(dojo.config.debugAtAllCosts){xhr.send(_291.query);}else{try{xhr.send(_291.query);}catch(e){_291.error=e;dfd.cancel();}}_25c._ioWatch(dfd,_28b,_28c,_28d);xhr=null;return dfd;};dojo.xhrGet=function(args){return _25c.xhr("GET",args);};dojo.rawXhrPost=dojo.xhrPost=function(args){return _25c.xhr("POST",args,true);};dojo.rawXhrPut=dojo.xhrPut=function(args){return _25c.xhr("PUT",args,true);};dojo.xhrDelete=function(args){return _25c.xhr("DELETE",args);};})();}if(!dojo._hasResource["dojo._base.fx"]){dojo._hasResource["dojo._base.fx"]=true;dojo.provide("dojo._base.fx");(function(){var d=dojo;var _292=d._mixin;dojo._Line=function(_293,end){this.start=_293;this.end=end;};dojo._Line.prototype.getValue=function(n){return ((this.end-this.start)*n)+this.start;};dojo.Animation=function(args){_292(this,args);if(d.isArray(this.curve)){this.curve=new d._Line(this.curve[0],this.curve[1]);}};d._Animation=d.Animation;d.extend(dojo.Animation,{duration:350,repeat:0,rate:20,_percent:0,_startRepeatCount:0,_getStep:function(){var _294=this._percent,_295=this.easing;return _295?_295(_294):_294;},_fire:function(evt,args){var a=args||[];if(this[evt]){if(d.config.debugAtAllCosts){this[evt].apply(this,a);}else{try{this[evt].apply(this,a);}catch(e){console.error("exception in animation handler for:",evt);console.error(e);}}}return this;},play:function(_296,_297){var _298=this;if(_298._delayTimer){_298._clearTimer();}if(_297){_298._stopTimer();_298._active=_298._paused=false;_298._percent=0;}else{if(_298._active&&!_298._paused){return _298;}}_298._fire("beforeBegin",[_298.node]);var de=_296||_298.delay,_299=dojo.hitch(_298,"_play",_297);if(de>0){_298._delayTimer=setTimeout(_299,de);return _298;}_299();return _298;},_play:function(_29a){var _29b=this;if(_29b._delayTimer){_29b._clearTimer();}_29b._startTime=new Date().valueOf();if(_29b._paused){_29b._startTime-=_29b.duration*_29b._percent;}_29b._active=true;_29b._paused=false;var _29c=_29b.curve.getValue(_29b._getStep());if(!_29b._percent){if(!_29b._startRepeatCount){_29b._startRepeatCount=_29b.repeat;}_29b._fire("onBegin",[_29c]);}_29b._fire("onPlay",[_29c]);_29b._cycle();return _29b;},pause:function(){var _29d=this;if(_29d._delayTimer){_29d._clearTimer();}_29d._stopTimer();if(!_29d._active){return _29d;}_29d._paused=true;_29d._fire("onPause",[_29d.curve.getValue(_29d._getStep())]);return _29d;},gotoPercent:function(_29e,_29f){var _2a0=this;_2a0._stopTimer();_2a0._active=_2a0._paused=true;_2a0._percent=_29e;if(_29f){_2a0.play();}return _2a0;},stop:function(_2a1){var _2a2=this;if(_2a2._delayTimer){_2a2._clearTimer();}if(!_2a2._timer){return _2a2;}_2a2._stopTimer();if(_2a1){_2a2._percent=1;}_2a2._fire("onStop",[_2a2.curve.getValue(_2a2._getStep())]);_2a2._active=_2a2._paused=false;return _2a2;},status:function(){if(this._active){return this._paused?"paused":"playing";}return "stopped";},_cycle:function(){var _2a3=this;if(_2a3._active){var curr=new Date().valueOf();var step=(curr-_2a3._startTime)/(_2a3.duration);if(step>=1){step=1;}_2a3._percent=step;if(_2a3.easing){step=_2a3.easing(step);}_2a3._fire("onAnimate",[_2a3.curve.getValue(step)]);if(_2a3._percent<1){_2a3._startTimer();}else{_2a3._active=false;if(_2a3.repeat>0){_2a3.repeat--;_2a3.play(null,true);}else{if(_2a3.repeat==-1){_2a3.play(null,true);}else{if(_2a3._startRepeatCount){_2a3.repeat=_2a3._startRepeatCount;_2a3._startRepeatCount=0;}}}_2a3._percent=0;_2a3._fire("onEnd",[_2a3.node]);!_2a3.repeat&&_2a3._stopTimer();}}return _2a3;},_clearTimer:function(){clearTimeout(this._delayTimer);delete this._delayTimer;}});var ctr=0,_2a4=null,_2a5={run:function(){}};d.extend(d.Animation,{_startTimer:function(){if(!this._timer){this._timer=d.connect(_2a5,"run",this,"_cycle");ctr++;}if(!_2a4){_2a4=setInterval(d.hitch(_2a5,"run"),this.rate);}},_stopTimer:function(){if(this._timer){d.disconnect(this._timer);this._timer=null;ctr--;}if(ctr<=0){clearInterval(_2a4);_2a4=null;ctr=0;}}});var _2a6=d.isIE?function(node){var ns=node.style;if(!ns.width.length&&d.style(node,"width")=="auto"){ns.width="auto";}}:function(){};dojo._fade=function(args){args.node=d.byId(args.node);var _2a7=_292({properties:{}},args),_2a8=(_2a7.properties.opacity={});_2a8.start=!("start" in _2a7)?function(){return +d.style(_2a7.node,"opacity")||0;}:_2a7.start;_2a8.end=_2a7.end;var anim=d.animateProperty(_2a7);d.connect(anim,"beforeBegin",d.partial(_2a6,_2a7.node));return anim;};dojo.fadeIn=function(args){return d._fade(_292({end:1},args));};dojo.fadeOut=function(args){return d._fade(_292({end:0},args));};dojo._defaultEasing=function(n){return 0.5+((Math.sin((n+1.5)*Math.PI))/2);};var _2a9=function(_2aa){this._properties=_2aa;for(var p in _2aa){var prop=_2aa[p];if(prop.start instanceof d.Color){prop.tempColor=new d.Color();}}};_2a9.prototype.getValue=function(r){var ret={};for(var p in this._properties){var prop=this._properties[p],_2ab=prop.start;if(_2ab instanceof d.Color){ret[p]=d.blendColors(_2ab,prop.end,r,prop.tempColor).toCss();}else{if(!d.isArray(_2ab)){ret[p]=((prop.end-_2ab)*r)+_2ab+(p!="opacity"?prop.units||"px":0);}}}return ret;};dojo.animateProperty=function(args){var n=args.node=d.byId(args.node);if(!args.easing){args.easing=d._defaultEasing;}var anim=new d.Animation(args);d.connect(anim,"beforeBegin",anim,function(){var pm={};for(var p in this.properties){if(p=="width"||p=="height"){this.node.display="block";}var prop=this.properties[p];if(d.isFunction(prop)){prop=prop(n);}prop=pm[p]=_292({},(d.isObject(prop)?prop:{end:prop}));if(d.isFunction(prop.start)){prop.start=prop.start(n);}if(d.isFunction(prop.end)){prop.end=prop.end(n);}var _2ac=(p.toLowerCase().indexOf("color")>=0);function _2ad(node,p){var v={height:node.offsetHeight,width:node.offsetWidth}[p];if(v!==undefined){return v;}v=d.style(node,p);return (p=="opacity")?+v:(_2ac?v:parseFloat(v));};if(!("end" in prop)){prop.end=_2ad(n,p);}else{if(!("start" in prop)){prop.start=_2ad(n,p);}}if(_2ac){prop.start=new d.Color(prop.start);prop.end=new d.Color(prop.end);}else{prop.start=(p=="opacity")?+prop.start:parseFloat(prop.start);}}this.curve=new _2a9(pm);});d.connect(anim,"onAnimate",d.hitch(d,"style",anim.node));return anim;};dojo.anim=function(node,_2ae,_2af,_2b0,_2b1,_2b2){return d.animateProperty({node:node,duration:_2af||d.Animation.prototype.duration,properties:_2ae,easing:_2b0,onEnd:_2b1}).play(_2b2||0);};})();}if(!dojo._hasResource["dojo._base.browser"]){dojo._hasResource["dojo._base.browser"]=true;dojo.provide("dojo._base.browser");dojo.forEach(dojo.config.require,function(i){dojo["require"](i);});}if(!dojo._hasResource["dojo._base"]){dojo._hasResource["dojo._base"]=true;dojo.provide("dojo._base");}if(dojo.isBrowser&&(document.readyState==="complete"||dojo.config.afterOnLoad)){window.setTimeout(dojo._loadInit,100);}})(); diff --git a/resources/library/interactive/barre_prof.wgt/dojo/dojo.js.uncompressed.js b/resources/library/interactive/barre_prof.wgt/dojo/dojo.js.uncompressed.js deleted file mode 100644 index af7051aa..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/dojo.js.uncompressed.js +++ /dev/null @@ -1,11363 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - -/* - This is an optimized version of Dojo, built for deployment and not for - development. To get sources and documentation, please visit: - - http://dojotoolkit.org -*/ - -;(function(){ - - /* - dojo, dijit, and dojox must always be the first three, and in that order. - djConfig.scopeMap = [ - ["dojo", "fojo"], - ["dijit", "fijit"], - ["dojox", "fojox"] - - ] - */ - - /**Build will replace this comment with a scoped djConfig **/ - - //The null below can be relaced by a build-time value used instead of djConfig.scopeMap. - var sMap = null; - - //See if new scopes need to be defined. - if((sMap || (typeof djConfig != "undefined" && djConfig.scopeMap)) && (typeof window != "undefined")){ - var scopeDef = "", scopePrefix = "", scopeSuffix = "", scopeMap = {}, scopeMapRev = {}; - sMap = sMap || djConfig.scopeMap; - for(var i = 0; i < sMap.length; i++){ - //Make local variables, then global variables that use the locals. - var newScope = sMap[i]; - scopeDef += "var " + newScope[0] + " = {}; " + newScope[1] + " = " + newScope[0] + ";" + newScope[1] + "._scopeName = '" + newScope[1] + "';"; - scopePrefix += (i == 0 ? "" : ",") + newScope[0]; - scopeSuffix += (i == 0 ? "" : ",") + newScope[1]; - scopeMap[newScope[0]] = newScope[1]; - scopeMapRev[newScope[1]] = newScope[0]; - } - - eval(scopeDef + "dojo._scopeArgs = [" + scopeSuffix + "];"); - - dojo._scopePrefixArgs = scopePrefix; - dojo._scopePrefix = "(function(" + scopePrefix + "){"; - dojo._scopeSuffix = "})(" + scopeSuffix + ")"; - dojo._scopeMap = scopeMap; - dojo._scopeMapRev = scopeMapRev; - } - -/*===== -// note: -// 'djConfig' does not exist under 'dojo.*' so that it can be set before the -// 'dojo' variable exists. -// note: -// Setting any of these variables *after* the library has loaded does -// nothing at all. - -djConfig = { - // summary: - // Application code can set the global 'djConfig' prior to loading - // the library to override certain global settings for how dojo works. - // - // isDebug: Boolean - // Defaults to `false`. If set to `true`, ensures that Dojo provides - // extended debugging feedback via Firebug. If Firebug is not available - // on your platform, setting `isDebug` to `true` will force Dojo to - // pull in (and display) the version of Firebug Lite which is - // integrated into the Dojo distribution, thereby always providing a - // debugging/logging console when `isDebug` is enabled. Note that - // Firebug's `console.*` methods are ALWAYS defined by Dojo. If - // `isDebug` is false and you are on a platform without Firebug, these - // methods will be defined as no-ops. - isDebug: false, - // debugAtAllCosts: Boolean - // Defaults to `false`. If set to `true`, this triggers an alternate - // mode of the package system in which dependencies are detected and - // only then are resources evaluated in dependency order via - // `<script>` tag inclusion. This may double-request resources and - // cause problems with scripts which expect `dojo.require()` to - // preform synchronously. `debugAtAllCosts` can be an invaluable - // debugging aid, but when using it, ensure that all code which - // depends on Dojo modules is wrapped in `dojo.addOnLoad()` handlers. - // Due to the somewhat unpredictable side-effects of using - // `debugAtAllCosts`, it is strongly recommended that you enable this - // flag as a last resort. `debugAtAllCosts` has no effect when loading - // resources across domains. For usage information, see the - // [Dojo Book](http://dojotoolkit.org/book/book-dojo/part-4-meta-dojo-making-your-dojo-code-run-faster-and-better/debugging-facilities/deb) - debugAtAllCosts: false, - // locale: String - // The locale to assume for loading localized resources in this page, - // specified according to [RFC 3066](http://www.ietf.org/rfc/rfc3066.txt). - // Must be specified entirely in lowercase, e.g. `en-us` and `zh-cn`. - // See the documentation for `dojo.i18n` and `dojo.requireLocalization` - // for details on loading localized resources. If no locale is specified, - // Dojo assumes the locale of the user agent, according to `navigator.userLanguage` - // or `navigator.language` properties. - locale: undefined, - // extraLocale: Array - // No default value. Specifies additional locales whose - // resources should also be loaded alongside the default locale when - // calls to `dojo.requireLocalization()` are processed. - extraLocale: undefined, - // baseUrl: String - // The directory in which `dojo.js` is located. Under normal - // conditions, Dojo auto-detects the correct location from which it - // was loaded. You may need to manually configure `baseUrl` in cases - // where you have renamed `dojo.js` or in which `<base>` tags confuse - // some browsers (e.g. IE 6). The variable `dojo.baseUrl` is assigned - // either the value of `djConfig.baseUrl` if one is provided or the - // auto-detected root if not. Other modules are located relative to - // this path. The path should end in a slash. - baseUrl: undefined, - // modulePaths: Object - // A map of module names to paths relative to `dojo.baseUrl`. The - // key/value pairs correspond directly to the arguments which - // `dojo.registerModulePath` accepts. Specifiying - // `djConfig.modulePaths = { "foo": "../../bar" }` is the equivalent - // of calling `dojo.registerModulePath("foo", "../../bar");`. Multiple - // modules may be configured via `djConfig.modulePaths`. - modulePaths: {}, - // afterOnLoad: Boolean - // Indicates Dojo was added to the page after the page load. In this case - // Dojo will not wait for the page DOMContentLoad/load events and fire - // its dojo.addOnLoad callbacks after making sure all outstanding - // dojo.required modules have loaded. Only works with a built dojo.js, - // it does not work the dojo.js directly from source control. - afterOnLoad: false, - // addOnLoad: Function or Array - // Adds a callback via dojo.addOnLoad. Useful when Dojo is added after - // the page loads and djConfig.afterOnLoad is true. Supports the same - // arguments as dojo.addOnLoad. When using a function reference, use - // `djConfig.addOnLoad = function(){};`. For object with function name use - // `djConfig.addOnLoad = [myObject, "functionName"];` and for object with - // function reference use - // `djConfig.addOnLoad = [myObject, function(){}];` - addOnLoad: null, - // require: Array - // An array of module names to be loaded immediately after dojo.js has been included - // in a page. - require: [], - // defaultDuration: Array - // Default duration, in milliseconds, for wipe and fade animations within dijits. - // Assigned to dijit.defaultDuration. - defaultDuration: 200, - // dojoBlankHtmlUrl: String - // Used by some modules to configure an empty iframe. Used by dojo.io.iframe and - // dojo.back, and dijit popup support in IE where an iframe is needed to make sure native - // controls do not bleed through the popups. Normally this configuration variable - // does not need to be set, except when using cross-domain/CDN Dojo builds. - // Save dojo/resources/blank.html to your domain and set `djConfig.dojoBlankHtmlUrl` - // to the path on your domain your copy of blank.html. - dojoBlankHtmlUrl: undefined, - // ioPublish: Boolean? - // Set this to true to enable publishing of topics for the different phases of - // IO operations. Publishing is done via dojo.publish. See dojo.__IoPublish for a list - // of topics that are published. - ioPublish: false, - // useCustomLogger: Anything? - // If set to a value that evaluates to true such as a string or array and - // isDebug is true and Firebug is not available or running, then it bypasses - // the creation of Firebug Lite allowing you to define your own console object. - useCustomLogger: undefined, - // transparentColor: Array - // Array containing the r, g, b components used as transparent color in dojo.Color; - // if undefined, [255,255,255] (white) will be used. - transparentColor: undefined, - // skipIeDomLoaded: Boolean - // For IE only, skip the DOMContentLoaded hack used. Sometimes it can cause an Operation - // Aborted error if the rest of the page triggers script defers before the DOM is ready. - // If this is config value is set to true, then dojo.addOnLoad callbacks will not be - // triggered until the page load event, which is after images and iframes load. If you - // want to trigger the callbacks sooner, you can put a script block in the bottom of - // your HTML that calls dojo._loadInit();. If you are using multiversion support, change - // "dojo." to the appropriate scope name for dojo. - skipIeDomLoaded: false -} -=====*/ - -(function(){ - // firebug stubs - - if(typeof this["loadFirebugConsole"] == "function"){ - // for Firebug 1.2 - this["loadFirebugConsole"](); - }else{ - this.console = this.console || {}; - - // Be careful to leave 'log' always at the end - var cn = [ - "assert", "count", "debug", "dir", "dirxml", "error", "group", - "groupEnd", "info", "profile", "profileEnd", "time", "timeEnd", - "trace", "warn", "log" - ]; - var i = 0, tn; - while((tn=cn[i++])){ - if(!console[tn]){ - (function(){ - var tcn = tn+""; - console[tcn] = ('log' in console) ? function(){ - var a = Array.apply({}, arguments); - a.unshift(tcn+":"); - console["log"](a.join(" ")); - } : function(){} - console[tcn]._fake = true; - })(); - } - } - } - - //TODOC: HOW TO DOC THIS? - // dojo is the root variable of (almost all) our public symbols -- make sure it is defined. - if(typeof dojo == "undefined"){ - dojo = { - _scopeName: "dojo", - _scopePrefix: "", - _scopePrefixArgs: "", - _scopeSuffix: "", - _scopeMap: {}, - _scopeMapRev: {} - }; - } - - var d = dojo; - - //Need placeholders for dijit and dojox for scoping code. - if(typeof dijit == "undefined"){ - dijit = {_scopeName: "dijit"}; - } - if(typeof dojox == "undefined"){ - dojox = {_scopeName: "dojox"}; - } - - if(!d._scopeArgs){ - d._scopeArgs = [dojo, dijit, dojox]; - } - -/*===== -dojo.global = { - // summary: - // Alias for the global scope - // (e.g. the window object in a browser). - // description: - // Refer to 'dojo.global' rather than referring to window to ensure your - // code runs correctly in contexts other than web browsers (e.g. Rhino on a server). -} -=====*/ - d.global = this; - - d.config =/*===== djConfig = =====*/{ - isDebug: false, - debugAtAllCosts: false - }; - - // FIXME: 2.0, drop djConfig support. Use dojoConfig exclusively for global config. - var cfg = typeof djConfig != "undefined" ? djConfig : - typeof dojoConfig != "undefined" ? dojoConfig : null; - - if(cfg){ - for(var c in cfg){ - d.config[c] = cfg[c]; - } - } - -/*===== - // Override locale setting, if specified - dojo.locale = { - // summary: the locale as defined by Dojo (read-only) - }; -=====*/ - dojo.locale = d.config.locale; - - var rev = "$Rev: 24595 $".match(/\d+/); - -/*===== - dojo.version = function(){ - // summary: - // Version number of the Dojo Toolkit - // major: Integer - // Major version. If total version is "1.2.0beta1", will be 1 - // minor: Integer - // Minor version. If total version is "1.2.0beta1", will be 2 - // patch: Integer - // Patch version. If total version is "1.2.0beta1", will be 0 - // flag: String - // Descriptor flag. If total version is "1.2.0beta1", will be "beta1" - // revision: Number - // The SVN rev from which dojo was pulled - this.major = 0; - this.minor = 0; - this.patch = 0; - this.flag = ""; - this.revision = 0; - } -=====*/ - dojo.version = { - major: 1, minor: 6, patch: 1, flag: "", - revision: rev ? +rev[0] : NaN, - toString: function(){ - with(d.version){ - return major + "." + minor + "." + patch + flag + " (" + revision + ")"; // String - } - } - } - - // Register with the OpenAjax hub - if(typeof OpenAjax != "undefined"){ - OpenAjax.hub.registerLibrary(dojo._scopeName, "http://dojotoolkit.org", d.version.toString()); - } - - var extraNames, extraLen, empty = {}; - for(var i in {toString: 1}){ extraNames = []; break; } - dojo._extraNames = extraNames = extraNames || ["hasOwnProperty", "valueOf", "isPrototypeOf", - "propertyIsEnumerable", "toLocaleString", "toString", "constructor"]; - extraLen = extraNames.length; - - dojo._mixin = function(/*Object*/ target, /*Object*/ source){ - // summary: - // Adds all properties and methods of source to target. This addition - // is "prototype extension safe", so that instances of objects - // will not pass along prototype defaults. - var name, s, i; - for(name in source){ - // the "tobj" condition avoid copying properties in "source" - // inherited from Object.prototype. For example, if target has a custom - // toString() method, don't overwrite it with the toString() method - // that source inherited from Object.prototype - s = source[name]; - if(!(name in target) || (target[name] !== s && (!(name in empty) || empty[name] !== s))){ - target[name] = s; - } - } - // IE doesn't recognize some custom functions in for..in - if(extraLen && source){ - for(i = 0; i < extraLen; ++i){ - name = extraNames[i]; - s = source[name]; - if(!(name in target) || (target[name] !== s && (!(name in empty) || empty[name] !== s))){ - target[name] = s; - } - } - } - return target; // Object - } - - dojo.mixin = function(/*Object*/obj, /*Object...*/props){ - // summary: - // Adds all properties and methods of props to obj and returns the - // (now modified) obj. - // description: - // `dojo.mixin` can mix multiple source objects into a - // destination object which is then returned. Unlike regular - // `for...in` iteration, `dojo.mixin` is also smart about avoiding - // extensions which other toolkits may unwisely add to the root - // object prototype - // obj: - // The object to mix properties into. Also the return value. - // props: - // One or more objects whose values are successively copied into - // obj. If more than one of these objects contain the same value, - // the one specified last in the function call will "win". - // example: - // make a shallow copy of an object - // | var copy = dojo.mixin({}, source); - // example: - // many class constructors often take an object which specifies - // values to be configured on the object. In this case, it is - // often simplest to call `dojo.mixin` on the `this` object: - // | dojo.declare("acme.Base", null, { - // | constructor: function(properties){ - // | // property configuration: - // | dojo.mixin(this, properties); - // | - // | console.log(this.quip); - // | // ... - // | }, - // | quip: "I wasn't born yesterday, you know - I've seen movies.", - // | // ... - // | }); - // | - // | // create an instance of the class and configure it - // | var b = new acme.Base({quip: "That's what it does!" }); - // example: - // copy in properties from multiple objects - // | var flattened = dojo.mixin( - // | { - // | name: "Frylock", - // | braces: true - // | }, - // | { - // | name: "Carl Brutanananadilewski" - // | } - // | ); - // | - // | // will print "Carl Brutanananadilewski" - // | console.log(flattened.name); - // | // will print "true" - // | console.log(flattened.braces); - if(!obj){ obj = {}; } - for(var i=1, l=arguments.length; i<l; i++){ - d._mixin(obj, arguments[i]); - } - return obj; // Object - } - - dojo._getProp = function(/*Array*/parts, /*Boolean*/create, /*Object*/context){ - var obj=context || d.global; - for(var i=0, p; obj && (p=parts[i]); i++){ - if(i == 0 && d._scopeMap[p]){ - p = d._scopeMap[p]; - } - obj = (p in obj ? obj[p] : (create ? obj[p]={} : undefined)); - } - return obj; // mixed - } - - dojo.setObject = function(/*String*/name, /*Object*/value, /*Object?*/context){ - // summary: - // Set a property from a dot-separated string, such as "A.B.C" - // description: - // Useful for longer api chains where you have to test each object in - // the chain, or when you have an object reference in string format. - // Objects are created as needed along `path`. Returns the passed - // value if setting is successful or `undefined` if not. - // name: - // Path to a property, in the form "A.B.C". - // context: - // Optional. Object to use as root of path. Defaults to - // `dojo.global`. - // example: - // set the value of `foo.bar.baz`, regardless of whether - // intermediate objects already exist: - // | dojo.setObject("foo.bar.baz", value); - // example: - // without `dojo.setObject`, we often see code like this: - // | // ensure that intermediate objects are available - // | if(!obj["parent"]){ obj.parent = {}; } - // | if(!obj.parent["child"]){ obj.parent.child= {}; } - // | // now we can safely set the property - // | obj.parent.child.prop = "some value"; - // wheras with `dojo.setObject`, we can shorten that to: - // | dojo.setObject("parent.child.prop", "some value", obj); - var parts=name.split("."), p=parts.pop(), obj=d._getProp(parts, true, context); - return obj && p ? (obj[p]=value) : undefined; // Object - } - - dojo.getObject = function(/*String*/name, /*Boolean?*/create, /*Object?*/context){ - // summary: - // Get a property from a dot-separated string, such as "A.B.C" - // description: - // Useful for longer api chains where you have to test each object in - // the chain, or when you have an object reference in string format. - // name: - // Path to an property, in the form "A.B.C". - // create: - // Optional. Defaults to `false`. If `true`, Objects will be - // created at any point along the 'path' that is undefined. - // context: - // Optional. Object to use as root of path. Defaults to - // 'dojo.global'. Null may be passed. - return d._getProp(name.split("."), create, context); // Object - } - - dojo.exists = function(/*String*/name, /*Object?*/obj){ - // summary: - // determine if an object supports a given method - // description: - // useful for longer api chains where you have to test each object in - // the chain. Useful for object and method detection. - // name: - // Path to an object, in the form "A.B.C". - // obj: - // Object to use as root of path. Defaults to - // 'dojo.global'. Null may be passed. - // example: - // | // define an object - // | var foo = { - // | bar: { } - // | }; - // | - // | // search the global scope - // | dojo.exists("foo.bar"); // true - // | dojo.exists("foo.bar.baz"); // false - // | - // | // search from a particular scope - // | dojo.exists("bar", foo); // true - // | dojo.exists("bar.baz", foo); // false - return d.getObject(name, false, obj) !== undefined; // Boolean - } - - dojo["eval"] = function(/*String*/ scriptFragment){ - // summary: - // A legacy method created for use exclusively by internal Dojo methods. Do not use - // this method directly, the behavior of this eval will differ from the normal - // browser eval. - // description: - // Placed in a separate function to minimize size of trapped - // exceptions. Calling eval() directly from some other scope may - // complicate tracebacks on some platforms. - // returns: - // The result of the evaluation. Often `undefined` - return d.global.eval ? d.global.eval(scriptFragment) : eval(scriptFragment); // Object - } - - /*===== - dojo.deprecated = function(behaviour, extra, removal){ - // summary: - // Log a debug message to indicate that a behavior has been - // deprecated. - // behaviour: String - // The API or behavior being deprecated. Usually in the form - // of "myApp.someFunction()". - // extra: String? - // Text to append to the message. Often provides advice on a - // new function or facility to achieve the same goal during - // the deprecation period. - // removal: String? - // Text to indicate when in the future the behavior will be - // removed. Usually a version number. - // example: - // | dojo.deprecated("myApp.getTemp()", "use myApp.getLocaleTemp() instead", "1.0"); - } - - dojo.experimental = function(moduleName, extra){ - // summary: Marks code as experimental. - // description: - // This can be used to mark a function, file, or module as - // experimental. Experimental code is not ready to be used, and the - // APIs are subject to change without notice. Experimental code may be - // completed deleted without going through the normal deprecation - // process. - // moduleName: String - // The name of a module, or the name of a module file or a specific - // function - // extra: String? - // some additional message for the user - // example: - // | dojo.experimental("dojo.data.Result"); - // example: - // | dojo.experimental("dojo.weather.toKelvin()", "PENDING approval from NOAA"); - } - =====*/ - - //Real functions declared in dojo._firebug.firebug. - d.deprecated = d.experimental = function(){}; - -})(); -// vim:ai:ts=4:noet - -/* - * loader.js - A bootstrap module. Runs before the hostenv_*.js file. Contains - * all of the package loading methods. - */ -(function(){ - var d = dojo, currentModule; - - d.mixin(d, { - _loadedModules: {}, - _inFlightCount: 0, - _hasResource: {}, - - _modulePrefixes: { - dojo: { name: "dojo", value: "." }, - // dojox: { name: "dojox", value: "../dojox" }, - // dijit: { name: "dijit", value: "../dijit" }, - doh: { name: "doh", value: "../util/doh" }, - tests: { name: "tests", value: "tests" } - }, - - _moduleHasPrefix: function(/*String*/module){ - // summary: checks to see if module has been established - var mp = d._modulePrefixes; - return !!(mp[module] && mp[module].value); // Boolean - }, - - _getModulePrefix: function(/*String*/module){ - // summary: gets the prefix associated with module - var mp = d._modulePrefixes; - if(d._moduleHasPrefix(module)){ - return mp[module].value; // String - } - return module; // String - }, - - _loadedUrls: [], - - //WARNING: - // This variable is referenced by packages outside of bootstrap: - // FloatingPane.js and undo/browser.js - _postLoad: false, - - //Egad! Lots of test files push on this directly instead of using dojo.addOnLoad. - _loaders: [], - _unloaders: [], - _loadNotifying: false - }); - - - dojo._loadPath = function(/*String*/relpath, /*String?*/module, /*Function?*/cb){ - // summary: - // Load a Javascript module given a relative path - // - // description: - // Loads and interprets the script located at relpath, which is - // relative to the script root directory. If the script is found but - // its interpretation causes a runtime exception, that exception is - // not caught by us, so the caller will see it. We return a true - // value if and only if the script is found. - // - // relpath: - // A relative path to a script (no leading '/', and typically ending - // in '.js'). - // module: - // A module whose existance to check for after loading a path. Can be - // used to determine success or failure of the load. - // cb: - // a callback function to pass the result of evaluating the script - - var uri = ((relpath.charAt(0) == '/' || relpath.match(/^\w+:/)) ? "" : d.baseUrl) + relpath; - try{ - currentModule = module; - return !module ? d._loadUri(uri, cb) : d._loadUriAndCheck(uri, module, cb); // Boolean - }catch(e){ - console.error(e); - return false; // Boolean - }finally{ - currentModule = null; - } - } - - dojo._loadUri = function(/*String*/uri, /*Function?*/cb){ - // summary: - // Loads JavaScript from a URI - // description: - // Reads the contents of the URI, and evaluates the contents. This is - // used to load modules as well as resource bundles. Returns true if - // it succeeded. Returns false if the URI reading failed. Throws if - // the evaluation throws. - // uri: a uri which points at the script to be loaded - // cb: - // a callback function to process the result of evaluating the script - // as an expression, typically used by the resource bundle loader to - // load JSON-style resources - - if(d._loadedUrls[uri]){ - return true; // Boolean - } - d._inFlightCount++; // block addOnLoad calls that arrive while we're busy downloading - var contents = d._getText(uri, true); - if(contents){ // not 404, et al - d._loadedUrls[uri] = true; - d._loadedUrls.push(uri); - if(cb){ - //conditional to support script-inject i18n bundle format - contents = /^define\(/.test(contents) ? contents : '('+contents+')'; - }else{ - //Only do the scoping if no callback. If a callback is specified, - //it is most likely the i18n bundle stuff. - contents = d._scopePrefix + contents + d._scopeSuffix; - } - if(!d.isIE){ contents += "\r\n//@ sourceURL=" + uri; } // debugging assist for Firebug - var value = d["eval"](contents); - if(cb){ cb(value); } - } - // Check to see if we need to call _callLoaded() due to an addOnLoad() that arrived while we were busy downloading - if(--d._inFlightCount == 0 && d._postLoad && d._loaders.length){ - // We shouldn't be allowed to get here but Firefox allows an event - // (mouse, keybd, async xhrGet) to interrupt a synchronous xhrGet. - // If the current script block contains multiple require() statements, then after each - // require() returns, inFlightCount == 0, but we want to hold the _callLoaded() until - // all require()s are done since the out-of-sequence addOnLoad() presumably needs them all. - // setTimeout allows the next require() to start (if needed), and then we check this again. - setTimeout(function(){ - // If inFlightCount > 0, then multiple require()s are running sequentially and - // the next require() started after setTimeout() was executed but before we got here. - if(d._inFlightCount == 0){ - d._callLoaded(); - } - }, 0); - } - return !!contents; // Boolean: contents? true : false - } - - // FIXME: probably need to add logging to this method - dojo._loadUriAndCheck = function(/*String*/uri, /*String*/moduleName, /*Function?*/cb){ - // summary: calls loadUri then findModule and returns true if both succeed - var ok = false; - try{ - ok = d._loadUri(uri, cb); - }catch(e){ - console.error("failed loading " + uri + " with error: " + e); - } - return !!(ok && d._loadedModules[moduleName]); // Boolean - } - - dojo.loaded = function(){ - // summary: - // signal fired when initial environment and package loading is - // complete. You should use dojo.addOnLoad() instead of doing a - // direct dojo.connect() to this method in order to handle - // initialization tasks that require the environment to be - // initialized. In a browser host, declarative widgets will - // be constructed when this function finishes runing. - d._loadNotifying = true; - d._postLoad = true; - var mll = d._loaders; - - //Clear listeners so new ones can be added - //For other xdomain package loads after the initial load. - d._loaders = []; - - for(var x = 0; x < mll.length; x++){ - mll[x](); - } - - d._loadNotifying = false; - - //Make sure nothing else got added to the onload queue - //after this first run. If something did, and we are not waiting for any - //more inflight resources, run again. - if(d._postLoad && d._inFlightCount == 0 && mll.length){ - d._callLoaded(); - } - } - - dojo.unloaded = function(){ - // summary: - // signal fired by impending environment destruction. You should use - // dojo.addOnUnload() instead of doing a direct dojo.connect() to this - // method to perform page/application cleanup methods. See - // dojo.addOnUnload for more info. - var mll = d._unloaders; - while(mll.length){ - (mll.pop())(); - } - } - - d._onto = function(arr, obj, fn){ - if(!fn){ - arr.push(obj); - }else if(fn){ - var func = (typeof fn == "string") ? obj[fn] : fn; - arr.push(function(){ func.call(obj); }); - } - } - - dojo.ready = dojo.addOnLoad = function(/*Object*/obj, /*String|Function?*/functionName){ - // summary: - // Registers a function to be triggered after the DOM and dojo.require() calls - // have finished loading. - // - // description: - // Registers a function to be triggered after the DOM has finished - // loading and `dojo.require` modules have loaded. Widgets declared in markup - // have been instantiated if `djConfig.parseOnLoad` is true when this fires. - // - // Images and CSS files may or may not have finished downloading when - // the specified function is called. (Note that widgets' CSS and HTML - // code is guaranteed to be downloaded before said widgets are - // instantiated, though including css resouces BEFORE any script elements - // is highly recommended). - // - // example: - // Register an anonymous function to run when everything is ready - // | dojo.addOnLoad(function(){ doStuff(); }); - // - // example: - // Register a function to run when everything is ready by pointer: - // | var init = function(){ doStuff(); } - // | dojo.addOnLoad(init); - // - // example: - // Register a function to run scoped to `object`, either by name or anonymously: - // | dojo.addOnLoad(object, "functionName"); - // | dojo.addOnLoad(object, function(){ doStuff(); }); - - d._onto(d._loaders, obj, functionName); - - //Added for xdomain loading. dojo.addOnLoad is used to - //indicate callbacks after doing some dojo.require() statements. - //In the xdomain case, if all the requires are loaded (after initial - //page load), then immediately call any listeners. - if(d._postLoad && d._inFlightCount == 0 && !d._loadNotifying){ - d._callLoaded(); - } - } - - //Support calling dojo.addOnLoad via djConfig.addOnLoad. Support all the - //call permutations of dojo.addOnLoad. Mainly useful when dojo is added - //to the page after the page has loaded. - var dca = d.config.addOnLoad; - if(dca){ - d.addOnLoad[(dca instanceof Array ? "apply" : "call")](d, dca); - } - - dojo._modulesLoaded = function(){ - if(d._postLoad){ return; } - if(d._inFlightCount > 0){ - console.warn("files still in flight!"); - return; - } - d._callLoaded(); - } - - dojo._callLoaded = function(){ - - // The "object" check is for IE, and the other opera check fixes an - // issue in Opera where it could not find the body element in some - // widget test cases. For 0.9, maybe route all browsers through the - // setTimeout (need protection still for non-browser environments - // though). This might also help the issue with FF 2.0 and freezing - // issues where we try to do sync xhr while background css images are - // being loaded (trac #2572)? Consider for 0.9. - if(typeof setTimeout == "object" || (d.config.useXDomain && d.isOpera)){ - setTimeout( - d.isAIR ? function(){ d.loaded(); } : d._scopeName + ".loaded();", - 0); - }else{ - d.loaded(); - } - } - - dojo._getModuleSymbols = function(/*String*/modulename){ - // summary: - // Converts a module name in dotted JS notation to an array - // representing the path in the source tree - var syms = modulename.split("."); - for(var i = syms.length; i>0; i--){ - var parentModule = syms.slice(0, i).join("."); - if(i == 1 && !d._moduleHasPrefix(parentModule)){ - // Support default module directory (sibling of dojo) for top-level modules - syms[0] = "../" + syms[0]; - }else{ - var parentModulePath = d._getModulePrefix(parentModule); - if(parentModulePath != parentModule){ - syms.splice(0, i, parentModulePath); - break; - } - } - } - return syms; // Array - } - - dojo._global_omit_module_check = false; - - dojo.loadInit = function(/*Function*/init){ - // summary: - // Executes a function that needs to be executed for the loader's dojo.requireIf - // resolutions to work. This is needed mostly for the xdomain loader case where - // a function needs to be executed to set up the possible values for a dojo.requireIf - // call. - // init: - // a function reference. Executed immediately. - // description: This function is mainly a marker for the xdomain loader to know parts of - // code that needs be executed outside the function wrappper that is placed around modules. - // The init function could be executed more than once, and it should make no assumptions - // on what is loaded, or what modules are available. Only the functionality in Dojo Base - // is allowed to be used. Avoid using this method. For a valid use case, - // see the source for dojox.gfx. - init(); - } - - dojo._loadModule = dojo.require = function(/*String*/moduleName, /*Boolean?*/omitModuleCheck){ - // summary: - // loads a Javascript module from the appropriate URI - // - // moduleName: String - // module name to load, using periods for separators, - // e.g. "dojo.date.locale". Module paths are de-referenced by dojo's - // internal mapping of locations to names and are disambiguated by - // longest prefix. See `dojo.registerModulePath()` for details on - // registering new modules. - // - // omitModuleCheck: Boolean? - // if `true`, omitModuleCheck skips the step of ensuring that the - // loaded file actually defines the symbol it is referenced by. - // For example if it called as `dojo.require("a.b.c")` and the - // file located at `a/b/c.js` does not define an object `a.b.c`, - // and exception will be throws whereas no exception is raised - // when called as `dojo.require("a.b.c", true)` - // - // description: - // Modules are loaded via dojo.require by using one of two loaders: the normal loader - // and the xdomain loader. The xdomain loader is used when dojo was built with a - // custom build that specified loader=xdomain and the module lives on a modulePath - // that is a whole URL, with protocol and a domain. The versions of Dojo that are on - // the Google and AOL CDNs use the xdomain loader. - // - // If the module is loaded via the xdomain loader, it is an asynchronous load, since - // the module is added via a dynamically created script tag. This - // means that dojo.require() can return before the module has loaded. However, this - // should only happen in the case where you do dojo.require calls in the top-level - // HTML page, or if you purposely avoid the loader checking for dojo.require - // dependencies in your module by using a syntax like dojo["require"] to load the module. - // - // Sometimes it is useful to not have the loader detect the dojo.require calls in the - // module so that you can dynamically load the modules as a result of an action on the - // page, instead of right at module load time. - // - // Also, for script blocks in an HTML page, the loader does not pre-process them, so - // it does not know to download the modules before the dojo.require calls occur. - // - // So, in those two cases, when you want on-the-fly module loading or for script blocks - // in the HTML page, special care must be taken if the dojo.required code is loaded - // asynchronously. To make sure you can execute code that depends on the dojo.required - // modules, be sure to add the code that depends on the modules in a dojo.addOnLoad() - // callback. dojo.addOnLoad waits for all outstanding modules to finish loading before - // executing. - // - // This type of syntax works with both xdomain and normal loaders, so it is good - // practice to always use this idiom for on-the-fly code loading and in HTML script - // blocks. If at some point you change loaders and where the code is loaded from, - // it will all still work. - // - // More on how dojo.require - // `dojo.require("A.B")` first checks to see if symbol A.B is - // defined. If it is, it is simply returned (nothing to do). - // - // If it is not defined, it will look for `A/B.js` in the script root - // directory. - // - // `dojo.require` throws an exception if it cannot find a file - // to load, or if the symbol `A.B` is not defined after loading. - // - // It returns the object `A.B`, but note the caveats above about on-the-fly loading and - // HTML script blocks when the xdomain loader is loading a module. - // - // `dojo.require()` does nothing about importing symbols into - // the current namespace. It is presumed that the caller will - // take care of that. - // - // example: - // To use dojo.require in conjunction with dojo.ready: - // - // | dojo.require("foo"); - // | dojo.require("bar"); - // | dojo.addOnLoad(function(){ - // | //you can now safely do something with foo and bar - // | }); - // - // example: - // For example, to import all symbols into a local block, you might write: - // - // | with (dojo.require("A.B")) { - // | ... - // | } - // - // And to import just the leaf symbol to a local variable: - // - // | var B = dojo.require("A.B"); - // | ... - // - // returns: - // the required namespace object - omitModuleCheck = d._global_omit_module_check || omitModuleCheck; - - //Check if it is already loaded. - var module = d._loadedModules[moduleName]; - if(module){ - return module; - } - - // convert periods to slashes - var relpath = d._getModuleSymbols(moduleName).join("/") + '.js'; - var modArg = !omitModuleCheck ? moduleName : null; - var ok = d._loadPath(relpath, modArg); - if(!ok && !omitModuleCheck){ - throw new Error("Could not load '" + moduleName + "'; last tried '" + relpath + "'"); - } - - // check that the symbol was defined - // Don't bother if we're doing xdomain (asynchronous) loading. - if(!omitModuleCheck && !d._isXDomain){ - // pass in false so we can give better error - module = d._loadedModules[moduleName]; - if(!module){ - throw new Error("symbol '" + moduleName + "' is not defined after loading '" + relpath + "'"); - } - } - - return module; - } - - dojo.provide = function(/*String*/ resourceName){ - // summary: - // Register a resource with the package system. Works in conjunction with `dojo.require` - // - // description: - // Each javascript source file is called a resource. When a - // resource is loaded by the browser, `dojo.provide()` registers - // that it has been loaded. - // - // Each javascript source file must have at least one - // `dojo.provide()` call at the top of the file, corresponding to - // the file name. For example, `js/dojo/foo.js` must have - // `dojo.provide("dojo.foo");` before any calls to - // `dojo.require()` are made. - // - // For backwards compatibility reasons, in addition to registering - // the resource, `dojo.provide()` also ensures that the javascript - // object for the module exists. For example, - // `dojo.provide("dojox.data.FlickrStore")`, in addition to - // registering that `FlickrStore.js` is a resource for the - // `dojox.data` module, will ensure that the `dojox.data` - // javascript object exists, so that calls like - // `dojo.data.foo = function(){ ... }` don't fail. - // - // In the case of a build where multiple javascript source files - // are combined into one bigger file (similar to a .lib or .jar - // file), that file may contain multiple dojo.provide() calls, to - // note that it includes multiple resources. - // - // resourceName: String - // A dot-sperated string identifying a resource. - // - // example: - // Safely create a `my` object, and make dojo.require("my.CustomModule") work - // | dojo.provide("my.CustomModule"); - - //Make sure we have a string. - resourceName = resourceName + ""; - return (d._loadedModules[resourceName] = d.getObject(resourceName, true)); // Object - } - - //Start of old bootstrap2: - - dojo.platformRequire = function(/*Object*/modMap){ - // summary: - // require one or more modules based on which host environment - // Dojo is currently operating in - // description: - // This method takes a "map" of arrays which one can use to - // optionally load dojo modules. The map is indexed by the - // possible dojo.name_ values, with two additional values: - // "default" and "common". The items in the "default" array will - // be loaded if none of the other items have been choosen based on - // dojo.name_, set by your host environment. The items in the - // "common" array will *always* be loaded, regardless of which - // list is chosen. - // example: - // | dojo.platformRequire({ - // | browser: [ - // | "foo.sample", // simple module - // | "foo.test", - // | ["foo.bar.baz", true] // skip object check in _loadModule (dojo.require) - // | ], - // | default: [ "foo.sample._base" ], - // | common: [ "important.module.common" ] - // | }); - - var common = modMap.common || []; - var result = common.concat(modMap[d._name] || modMap["default"] || []); - - for(var x=0; x<result.length; x++){ - var curr = result[x]; - if(curr.constructor == Array){ - d._loadModule.apply(d, curr); - }else{ - d._loadModule(curr); - } - } - } - - dojo.requireIf = function(/*Boolean*/ condition, /*String*/ resourceName){ - // summary: - // If the condition is true then call `dojo.require()` for the specified - // resource - // - // example: - // | dojo.requireIf(dojo.isBrowser, "my.special.Module"); - - if(condition === true){ - // FIXME: why do we support chained require()'s here? does the build system? - var args = []; - for(var i = 1; i < arguments.length; i++){ - args.push(arguments[i]); - } - d.require.apply(d, args); - } - } - - dojo.requireAfterIf = d.requireIf; - - dojo.registerModulePath = function(/*String*/module, /*String*/prefix){ - // summary: - // Maps a module name to a path - // description: - // An unregistered module is given the default path of ../[module], - // relative to Dojo root. For example, module acme is mapped to - // ../acme. If you want to use a different module name, use - // dojo.registerModulePath. - // example: - // If your dojo.js is located at this location in the web root: - // | /myapp/js/dojo/dojo/dojo.js - // and your modules are located at: - // | /myapp/js/foo/bar.js - // | /myapp/js/foo/baz.js - // | /myapp/js/foo/thud/xyzzy.js - // Your application can tell Dojo to locate the "foo" namespace by calling: - // | dojo.registerModulePath("foo", "../../foo"); - // At which point you can then use dojo.require() to load the - // modules (assuming they provide() the same things which are - // required). The full code might be: - // | <script type="text/javascript" - // | src="/myapp/js/dojo/dojo/dojo.js"></script> - // | <script type="text/javascript"> - // | dojo.registerModulePath("foo", "../../foo"); - // | dojo.require("foo.bar"); - // | dojo.require("foo.baz"); - // | dojo.require("foo.thud.xyzzy"); - // | </script> - d._modulePrefixes[module] = { name: module, value: prefix }; - }; - - dojo.requireLocalization = function(/*String*/moduleName, /*String*/bundleName, /*String?*/locale, /*String?*/availableFlatLocales){ - // summary: - // Declares translated resources and loads them if necessary, in the - // same style as dojo.require. Contents of the resource bundle are - // typically strings, but may be any name/value pair, represented in - // JSON format. See also `dojo.i18n.getLocalization`. - // - // description: - // Load translated resource bundles provided underneath the "nls" - // directory within a package. Translated resources may be located in - // different packages throughout the source tree. - // - // Each directory is named for a locale as specified by RFC 3066, - // (http://www.ietf.org/rfc/rfc3066.txt), normalized in lowercase. - // Note that the two bundles in the example do not define all the - // same variants. For a given locale, bundles will be loaded for - // that locale and all more general locales above it, including a - // fallback at the root directory. For example, a declaration for - // the "de-at" locale will first load `nls/de-at/bundleone.js`, - // then `nls/de/bundleone.js` and finally `nls/bundleone.js`. The - // data will be flattened into a single Object so that lookups - // will follow this cascading pattern. An optional build step can - // preload the bundles to avoid data redundancy and the multiple - // network hits normally required to load these resources. - // - // moduleName: - // name of the package containing the "nls" directory in which the - // bundle is found - // - // bundleName: - // bundle name, i.e. the filename without the '.js' suffix. Using "nls" as a - // a bundle name is not supported, since "nls" is the name of the folder - // that holds bundles. Using "nls" as the bundle name will cause problems - // with the custom build. - // - // locale: - // the locale to load (optional) By default, the browser's user - // locale as defined by dojo.locale - // - // availableFlatLocales: - // A comma-separated list of the available, flattened locales for this - // bundle. This argument should only be set by the build process. - // - // example: - // A particular widget may define one or more resource bundles, - // structured in a program as follows, where moduleName is - // mycode.mywidget and bundleNames available include bundleone and - // bundletwo: - // | ... - // | mycode/ - // | mywidget/ - // | nls/ - // | bundleone.js (the fallback translation, English in this example) - // | bundletwo.js (also a fallback translation) - // | de/ - // | bundleone.js - // | bundletwo.js - // | de-at/ - // | bundleone.js - // | en/ - // | (empty; use the fallback translation) - // | en-us/ - // | bundleone.js - // | en-gb/ - // | bundleone.js - // | es/ - // | bundleone.js - // | bundletwo.js - // | ...etc - // | ... - // - - d.require("dojo.i18n"); - d.i18n._requireLocalization.apply(d.hostenv, arguments); - }; - - - var ore = new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"), - ire = new RegExp("^((([^\\[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^\\[:]*))(:([0-9]+))?$"); - - dojo._Url = function(/*dojo._Url|String...*/){ - // summary: - // Constructor to create an object representing a URL. - // It is marked as private, since we might consider removing - // or simplifying it. - // description: - // Each argument is evaluated in order relative to the next until - // a canonical uri is produced. To get an absolute Uri relative to - // the current document use: - // new dojo._Url(document.baseURI, url) - - var n = null, - _a = arguments, - uri = [_a[0]]; - // resolve uri components relative to each other - for(var i = 1; i<_a.length; i++){ - if(!_a[i]){ continue; } - - // Safari doesn't support this.constructor so we have to be explicit - // FIXME: Tracked (and fixed) in Webkit bug 3537. - // http://bugs.webkit.org/show_bug.cgi?id=3537 - var relobj = new d._Url(_a[i]+""), - uriobj = new d._Url(uri[0]+""); - - if( - relobj.path == "" && - !relobj.scheme && - !relobj.authority && - !relobj.query - ){ - if(relobj.fragment != n){ - uriobj.fragment = relobj.fragment; - } - relobj = uriobj; - }else if(!relobj.scheme){ - relobj.scheme = uriobj.scheme; - - if(!relobj.authority){ - relobj.authority = uriobj.authority; - - if(relobj.path.charAt(0) != "/"){ - var path = uriobj.path.substring(0, - uriobj.path.lastIndexOf("/") + 1) + relobj.path; - - var segs = path.split("/"); - for(var j = 0; j < segs.length; j++){ - if(segs[j] == "."){ - // flatten "./" references - if(j == segs.length - 1){ - segs[j] = ""; - }else{ - segs.splice(j, 1); - j--; - } - }else if(j > 0 && !(j == 1 && segs[0] == "") && - segs[j] == ".." && segs[j-1] != ".."){ - // flatten "../" references - if(j == (segs.length - 1)){ - segs.splice(j, 1); - segs[j - 1] = ""; - }else{ - segs.splice(j - 1, 2); - j -= 2; - } - } - } - relobj.path = segs.join("/"); - } - } - } - - uri = []; - if(relobj.scheme){ - uri.push(relobj.scheme, ":"); - } - if(relobj.authority){ - uri.push("//", relobj.authority); - } - uri.push(relobj.path); - if(relobj.query){ - uri.push("?", relobj.query); - } - if(relobj.fragment){ - uri.push("#", relobj.fragment); - } - } - - this.uri = uri.join(""); - - // break the uri into its main components - var r = this.uri.match(ore); - - this.scheme = r[2] || (r[1] ? "" : n); - this.authority = r[4] || (r[3] ? "" : n); - this.path = r[5]; // can never be undefined - this.query = r[7] || (r[6] ? "" : n); - this.fragment = r[9] || (r[8] ? "" : n); - - if(this.authority != n){ - // server based naming authority - r = this.authority.match(ire); - - this.user = r[3] || n; - this.password = r[4] || n; - this.host = r[6] || r[7]; // ipv6 || ipv4 - this.port = r[9] || n; - } - } - - dojo._Url.prototype.toString = function(){ return this.uri; }; - - dojo.moduleUrl = function(/*String*/module, /*dojo._Url||String*/url){ - // summary: - // Returns a `dojo._Url` object relative to a module. - // example: - // | var pngPath = dojo.moduleUrl("acme","images/small.png"); - // | console.dir(pngPath); // list the object properties - // | // create an image and set it's source to pngPath's value: - // | var img = document.createElement("img"); - // | // NOTE: we assign the string representation of the url object - // | img.src = pngPath.toString(); - // | // add our image to the document - // | dojo.body().appendChild(img); - // example: - // you may de-reference as far as you like down the package - // hierarchy. This is sometimes handy to avoid lenghty relative - // urls or for building portable sub-packages. In this example, - // the `acme.widget` and `acme.util` directories may be located - // under different roots (see `dojo.registerModulePath`) but the - // the modules which reference them can be unaware of their - // relative locations on the filesystem: - // | // somewhere in a configuration block - // | dojo.registerModulePath("acme.widget", "../../acme/widget"); - // | dojo.registerModulePath("acme.util", "../../util"); - // | - // | // ... - // | - // | // code in a module using acme resources - // | var tmpltPath = dojo.moduleUrl("acme.widget","templates/template.html"); - // | var dataPath = dojo.moduleUrl("acme.util","resources/data.json"); - - var loc = d._getModuleSymbols(module).join('/'); - if(!loc){ return null; } - if(loc.lastIndexOf("/") != loc.length-1){ - loc += "/"; - } - - //If the path is an absolute path (starts with a / or is on another - //domain/xdomain) then don't add the baseUrl. - var colonIndex = loc.indexOf(":"); - if(loc.charAt(0) != "/" && (colonIndex == -1 || colonIndex > loc.indexOf("/"))){ - loc = d.baseUrl + loc; - } - - return new d._Url(loc, url); // dojo._Url - }; - - - -})(); - -/*===== -dojo.isBrowser = { - // example: - // | if(dojo.isBrowser){ ... } -}; - -dojo.isFF = { - // example: - // | if(dojo.isFF > 1){ ... } -}; - -dojo.isIE = { - // example: - // | if(dojo.isIE > 6){ - // | // we are IE7 - // | } -}; - -dojo.isSafari = { - // example: - // | if(dojo.isSafari){ ... } - // example: - // Detect iPhone: - // | if(dojo.isSafari && navigator.userAgent.indexOf("iPhone") != -1){ - // | // we are iPhone. Note, iPod touch reports "iPod" above and fails this test. - // | } -}; - -dojo = { - // isBrowser: Boolean - // True if the client is a web-browser - isBrowser: true, - // isFF: Number | undefined - // Version as a Number if client is FireFox. undefined otherwise. Corresponds to - // major detected FireFox version (1.5, 2, 3, etc.) - isFF: 2, - // isIE: Number | undefined - // Version as a Number if client is MSIE(PC). undefined otherwise. Corresponds to - // major detected IE version (6, 7, 8, etc.) - isIE: 6, - // isKhtml: Number | undefined - // Version as a Number if client is a KHTML browser. undefined otherwise. Corresponds to major - // detected version. - isKhtml: 0, - // isWebKit: Number | undefined - // Version as a Number if client is a WebKit-derived browser (Konqueror, - // Safari, Chrome, etc.). undefined otherwise. - isWebKit: 0, - // isMozilla: Number | undefined - // Version as a Number if client is a Mozilla-based browser (Firefox, - // SeaMonkey). undefined otherwise. Corresponds to major detected version. - isMozilla: 0, - // isOpera: Number | undefined - // Version as a Number if client is Opera. undefined otherwise. Corresponds to - // major detected version. - isOpera: 0, - // isSafari: Number | undefined - // Version as a Number if client is Safari or iPhone. undefined otherwise. - isSafari: 0, - // isChrome: Number | undefined - // Version as a Number if client is Chrome browser. undefined otherwise. - isChrome: 0 - // isMac: Boolean - // True if the client runs on Mac -} -=====*/ -if(typeof window != 'undefined'){ - dojo.isBrowser = true; - dojo._name = "browser"; - - - // attempt to figure out the path to dojo if it isn't set in the config - (function(){ - var d = dojo; - - // this is a scope protection closure. We set browser versions and grab - // the URL we were loaded from here. - - // grab the node we were loaded from - if(document && document.getElementsByTagName){ - var scripts = document.getElementsByTagName("script"); - var rePkg = /dojo(\.xd)?\.js(\W|$)/i; - for(var i = 0; i < scripts.length; i++){ - var src = scripts[i].getAttribute("src"); - if(!src){ continue; } - var m = src.match(rePkg); - if(m){ - // find out where we came from - if(!d.config.baseUrl){ - d.config.baseUrl = src.substring(0, m.index); - } - // and find out if we need to modify our behavior - var cfg = (scripts[i].getAttribute("djConfig") || scripts[i].getAttribute("data-dojo-config")); - if(cfg){ - var cfgo = eval("({ "+cfg+" })"); - for(var x in cfgo){ - dojo.config[x] = cfgo[x]; - } - } - break; // "first Dojo wins" - } - } - } - d.baseUrl = d.config.baseUrl; - - // fill in the rendering support information in dojo.render.* - var n = navigator; - var dua = n.userAgent, - dav = n.appVersion, - tv = parseFloat(dav); - - if(dua.indexOf("Opera") >= 0){ d.isOpera = tv; } - if(dua.indexOf("AdobeAIR") >= 0){ d.isAIR = 1; } - d.isKhtml = (dav.indexOf("Konqueror") >= 0) ? tv : 0; - d.isWebKit = parseFloat(dua.split("WebKit/")[1]) || undefined; - d.isChrome = parseFloat(dua.split("Chrome/")[1]) || undefined; - d.isMac = dav.indexOf("Macintosh") >= 0; - - // safari detection derived from: - // http://developer.apple.com/internet/safari/faq.html#anchor2 - // http://developer.apple.com/internet/safari/uamatrix.html - var index = Math.max(dav.indexOf("WebKit"), dav.indexOf("Safari"), 0); - if(index && !dojo.isChrome){ - // try to grab the explicit Safari version first. If we don't get - // one, look for less than 419.3 as the indication that we're on something - // "Safari 2-ish". - d.isSafari = parseFloat(dav.split("Version/")[1]); - if(!d.isSafari || parseFloat(dav.substr(index + 7)) <= 419.3){ - d.isSafari = 2; - } - } - - if(dua.indexOf("Gecko") >= 0 && !d.isKhtml && !d.isWebKit){ d.isMozilla = d.isMoz = tv; } - if(d.isMoz){ - //We really need to get away from this. Consider a sane isGecko approach for the future. - d.isFF = parseFloat(dua.split("Firefox/")[1] || dua.split("Minefield/")[1]) || undefined; - } - if(document.all && !d.isOpera){ - d.isIE = parseFloat(dav.split("MSIE ")[1]) || undefined; - //In cases where the page has an HTTP header or META tag with - //X-UA-Compatible, then it is in emulation mode. - //Make sure isIE reflects the desired version. - //document.documentMode of 5 means quirks mode. - //Only switch the value if documentMode's major version - //is different from isIE's major version. - var mode = document.documentMode; - if(mode && mode != 5 && Math.floor(d.isIE) != mode){ - d.isIE = mode; - } - } - - //Workaround to get local file loads of dojo to work on IE 7 - //by forcing to not use native xhr. - if(dojo.isIE && window.location.protocol === "file:"){ - dojo.config.ieForceActiveXXhr=true; - } - - d.isQuirks = document.compatMode == "BackCompat"; - - // TODO: is the HTML LANG attribute relevant? - d.locale = dojo.config.locale || (d.isIE ? n.userLanguage : n.language).toLowerCase(); - - // These are in order of decreasing likelihood; this will change in time. - d._XMLHTTP_PROGIDS = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0']; - - d._xhrObj = function(){ - // summary: - // does the work of portably generating a new XMLHTTPRequest object. - var http, last_e; - if(!dojo.isIE || !dojo.config.ieForceActiveXXhr){ - try{ http = new XMLHttpRequest(); }catch(e){} - } - if(!http){ - for(var i=0; i<3; ++i){ - var progid = d._XMLHTTP_PROGIDS[i]; - try{ - http = new ActiveXObject(progid); - }catch(e){ - last_e = e; - } - - if(http){ - d._XMLHTTP_PROGIDS = [progid]; // so faster next time - break; - } - } - } - - if(!http){ - throw new Error("XMLHTTP not available: "+last_e); - } - - return http; // XMLHTTPRequest instance - } - - d._isDocumentOk = function(http){ - var stat = http.status || 0, - lp = location.protocol; - return (stat >= 200 && stat < 300) || // Boolean - stat == 304 || // allow any 2XX response code - stat == 1223 || // get it out of the cache - // Internet Explorer mangled the status code - // Internet Explorer mangled the status code OR we're Titanium/browser chrome/chrome extension requesting a local file - (!stat && (lp == "file:" || lp == "chrome:" || lp == "chrome-extension:" || lp == "app:")); - } - - //See if base tag is in use. - //This is to fix http://trac.dojotoolkit.org/ticket/3973, - //but really, we need to find out how to get rid of the dojo._Url reference - //below and still have DOH work with the dojo.i18n test following some other - //test that uses the test frame to load a document (trac #2757). - //Opera still has problems, but perhaps a larger issue of base tag support - //with XHR requests (hasBase is true, but the request is still made to document - //path, not base path). - var owloc = window.location+""; - var base = document.getElementsByTagName("base"); - var hasBase = (base && base.length > 0); - - d._getText = function(/*URI*/ uri, /*Boolean*/ fail_ok){ - // summary: Read the contents of the specified uri and return those contents. - // uri: - // A relative or absolute uri. If absolute, it still must be in - // the same "domain" as we are. - // fail_ok: - // Default false. If fail_ok and loading fails, return null - // instead of throwing. - // returns: The response text. null is returned when there is a - // failure and failure is okay (an exception otherwise) - - // NOTE: must be declared before scope switches ie. this._xhrObj() - var http = d._xhrObj(); - - if(!hasBase && dojo._Url){ - uri = (new dojo._Url(owloc, uri)).toString(); - } - - if(d.config.cacheBust){ - //Make sure we have a string before string methods are used on uri - uri += ""; - uri += (uri.indexOf("?") == -1 ? "?" : "&") + String(d.config.cacheBust).replace(/\W+/g,""); - } - - http.open('GET', uri, false); - try{ - http.send(null); - if(!d._isDocumentOk(http)){ - var err = Error("Unable to load "+uri+" status:"+ http.status); - err.status = http.status; - err.responseText = http.responseText; - throw err; - } - }catch(e){ - if(fail_ok){ return null; } // null - // rethrow the exception - throw e; - } - return http.responseText; // String - } - - - var _w = window; - var _handleNodeEvent = function(/*String*/evtName, /*Function*/fp){ - // summary: - // non-destructively adds the specified function to the node's - // evtName handler. - // evtName: should be in the form "onclick" for "onclick" handlers. - // Make sure you pass in the "on" part. - var _a = _w.attachEvent || _w.addEventListener; - evtName = _w.attachEvent ? evtName : evtName.substring(2); - _a(evtName, function(){ - fp.apply(_w, arguments); - }, false); - }; - - - d._windowUnloaders = []; - - d.windowUnloaded = function(){ - // summary: - // signal fired by impending window destruction. You may use - // dojo.addOnWindowUnload() to register a listener for this - // event. NOTE: if you wish to dojo.connect() to this method - // to perform page/application cleanup, be aware that this - // event WILL NOT fire if no handler has been registered with - // dojo.addOnWindowUnload. This behavior started in Dojo 1.3. - // Previous versions always triggered dojo.windowUnloaded. See - // dojo.addOnWindowUnload for more info. - var mll = d._windowUnloaders; - while(mll.length){ - (mll.pop())(); - } - d = null; - }; - - var _onWindowUnloadAttached = 0; - d.addOnWindowUnload = function(/*Object?|Function?*/obj, /*String|Function?*/functionName){ - // summary: - // registers a function to be triggered when window.onunload - // fires. - // description: - // The first time that addOnWindowUnload is called Dojo - // will register a page listener to trigger your unload - // handler with. Note that registering these handlers may - // destory "fastback" page caching in browsers that support - // it. Be careful trying to modify the DOM or access - // JavaScript properties during this phase of page unloading: - // they may not always be available. Consider - // dojo.addOnUnload() if you need to modify the DOM or do - // heavy JavaScript work since it fires at the eqivalent of - // the page's "onbeforeunload" event. - // example: - // | dojo.addOnWindowUnload(functionPointer) - // | dojo.addOnWindowUnload(object, "functionName"); - // | dojo.addOnWindowUnload(object, function(){ /* ... */}); - - d._onto(d._windowUnloaders, obj, functionName); - if(!_onWindowUnloadAttached){ - _onWindowUnloadAttached = 1; - _handleNodeEvent("onunload", d.windowUnloaded); - } - }; - - var _onUnloadAttached = 0; - d.addOnUnload = function(/*Object?|Function?*/obj, /*String|Function?*/functionName){ - // summary: - // registers a function to be triggered when the page unloads. - // description: - // The first time that addOnUnload is called Dojo will - // register a page listener to trigger your unload handler - // with. - // - // In a browser enviroment, the functions will be triggered - // during the window.onbeforeunload event. Be careful of doing - // too much work in an unload handler. onbeforeunload can be - // triggered if a link to download a file is clicked, or if - // the link is a javascript: link. In these cases, the - // onbeforeunload event fires, but the document is not - // actually destroyed. So be careful about doing destructive - // operations in a dojo.addOnUnload callback. - // - // Further note that calling dojo.addOnUnload will prevent - // browsers from using a "fast back" cache to make page - // loading via back button instantaneous. - // example: - // | dojo.addOnUnload(functionPointer) - // | dojo.addOnUnload(object, "functionName") - // | dojo.addOnUnload(object, function(){ /* ... */}); - - d._onto(d._unloaders, obj, functionName); - if(!_onUnloadAttached){ - _onUnloadAttached = 1; - _handleNodeEvent("onbeforeunload", dojo.unloaded); - } - }; - - })(); - - //START DOMContentLoaded - dojo._initFired = false; - dojo._loadInit = function(e){ - if(dojo._scrollIntervalId){ - clearInterval(dojo._scrollIntervalId); - dojo._scrollIntervalId = 0; - } - - if(!dojo._initFired){ - dojo._initFired = true; - - //Help out IE to avoid memory leak. - if(!dojo.config.afterOnLoad && window.detachEvent){ - window.detachEvent("onload", dojo._loadInit); - } - - if(dojo._inFlightCount == 0){ - dojo._modulesLoaded(); - } - } - } - - if(!dojo.config.afterOnLoad){ - if(document.addEventListener){ - //Standards. Hooray! Assumption here that if standards based, - //it knows about DOMContentLoaded. It is OK if it does not, the fall through - //to window onload should be good enough. - document.addEventListener("DOMContentLoaded", dojo._loadInit, false); - window.addEventListener("load", dojo._loadInit, false); - }else if(window.attachEvent){ - window.attachEvent("onload", dojo._loadInit); - - //DOMContentLoaded approximation. Diego Perini found this MSDN article - //that indicates doScroll is available after DOM ready, so do a setTimeout - //to check when it is available. - //http://msdn.microsoft.com/en-us/library/ms531426.aspx - if(!dojo.config.skipIeDomLoaded && self === self.top){ - dojo._scrollIntervalId = setInterval(function (){ - try{ - //When dojo is loaded into an iframe in an IE HTML Application - //(HTA), such as in a selenium test, javascript in the iframe - //can't see anything outside of it, so self===self.top is true, - //but the iframe is not the top window and doScroll will be - //available before document.body is set. Test document.body - //before trying the doScroll trick - if(document.body){ - document.documentElement.doScroll("left"); - dojo._loadInit(); - } - }catch (e){} - }, 30); - } - } - } - - if(dojo.isIE){ - try{ - (function(){ - document.namespaces.add("v", "urn:schemas-microsoft-com:vml"); - var vmlElems = ["*", "group", "roundrect", "oval", "shape", "rect", "imagedata", "path", "textpath", "text"], - i = 0, l = 1, s = document.createStyleSheet(); - if(dojo.isIE >= 8){ - i = 1; - l = vmlElems.length; - } - for(; i < l; ++i){ - s.addRule("v\\:" + vmlElems[i], "behavior:url(#default#VML); display:inline-block"); - } - })(); - }catch(e){} - } - //END DOMContentLoaded - - - /* - OpenAjax.subscribe("OpenAjax", "onload", function(){ - if(dojo._inFlightCount == 0){ - dojo._modulesLoaded(); - } - }); - - OpenAjax.subscribe("OpenAjax", "onunload", function(){ - dojo.unloaded(); - }); - */ -} //if (typeof window != 'undefined') - -//Register any module paths set up in djConfig. Need to do this -//in the hostenvs since hostenv_browser can read djConfig from a -//script tag's attribute. -(function(){ - var mp = dojo.config["modulePaths"]; - if(mp){ - for(var param in mp){ - dojo.registerModulePath(param, mp[param]); - } - } -})(); - -//Load debug code if necessary. -if(dojo.config.isDebug){ - dojo.require("dojo._firebug.firebug"); -} - -if(dojo.config.debugAtAllCosts){ - // this breaks the new AMD based module loader. The XDomain won't be necessary - // anyway if you switch to the asynchronous loader - //dojo.config.useXDomain = true; - //dojo.require("dojo._base._loader.loader_xd"); - dojo.require("dojo._base._loader.loader_debug"); - dojo.require("dojo.i18n"); -} - - -if(!dojo._hasResource["dojo._base.lang"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.lang"] = true; -dojo.provide("dojo._base.lang"); - - -(function(){ - var d = dojo, opts = Object.prototype.toString; - - // Crockford (ish) functions - - dojo.isString = function(/*anything*/ it){ - // summary: - // Return true if it is a String - return (typeof it == "string" || it instanceof String); // Boolean - }; - - dojo.isArray = function(/*anything*/ it){ - // summary: - // Return true if it is an Array. - // Does not work on Arrays created in other windows. - return it && (it instanceof Array || typeof it == "array"); // Boolean - }; - - dojo.isFunction = function(/*anything*/ it){ - // summary: - // Return true if it is a Function - return opts.call(it) === "[object Function]"; - }; - - dojo.isObject = function(/*anything*/ it){ - // summary: - // Returns true if it is a JavaScript object (or an Array, a Function - // or null) - return it !== undefined && - (it === null || typeof it == "object" || d.isArray(it) || d.isFunction(it)); // Boolean - }; - - dojo.isArrayLike = function(/*anything*/ it){ - // summary: - // similar to dojo.isArray() but more permissive - // description: - // Doesn't strongly test for "arrayness". Instead, settles for "isn't - // a string or number and has a length property". Arguments objects - // and DOM collections will return true when passed to - // dojo.isArrayLike(), but will return false when passed to - // dojo.isArray(). - // returns: - // If it walks like a duck and quacks like a duck, return `true` - return it && it !== undefined && // Boolean - // keep out built-in constructors (Number, String, ...) which have length - // properties - !d.isString(it) && !d.isFunction(it) && - !(it.tagName && it.tagName.toLowerCase() == 'form') && - (d.isArray(it) || isFinite(it.length)); - }; - - dojo.isAlien = function(/*anything*/ it){ - // summary: - // Returns true if it is a built-in function or some other kind of - // oddball that *should* report as a function but doesn't - return it && !d.isFunction(it) && /\{\s*\[native code\]\s*\}/.test(String(it)); // Boolean - }; - - dojo.extend = function(/*Object*/ constructor, /*Object...*/ props){ - // summary: - // Adds all properties and methods of props to constructor's - // prototype, making them available to all instances created with - // constructor. - for(var i=1, l=arguments.length; i<l; i++){ - d._mixin(constructor.prototype, arguments[i]); - } - return constructor; // Object - }; - - dojo._hitchArgs = function(scope, method /*,...*/){ - var pre = d._toArray(arguments, 2); - var named = d.isString(method); - return function(){ - // arrayify arguments - var args = d._toArray(arguments); - // locate our method - var f = named ? (scope||d.global)[method] : method; - // invoke with collected args - return f && f.apply(scope || this, pre.concat(args)); // mixed - }; // Function - }; - - dojo.hitch = function(/*Object*/scope, /*Function|String*/method /*,...*/){ - // summary: - // Returns a function that will only ever execute in the a given scope. - // This allows for easy use of object member functions - // in callbacks and other places in which the "this" keyword may - // otherwise not reference the expected scope. - // Any number of default positional arguments may be passed as parameters - // beyond "method". - // Each of these values will be used to "placehold" (similar to curry) - // for the hitched function. - // scope: - // The scope to use when method executes. If method is a string, - // scope is also the object containing method. - // method: - // A function to be hitched to scope, or the name of the method in - // scope to be hitched. - // example: - // | dojo.hitch(foo, "bar")(); - // runs foo.bar() in the scope of foo - // example: - // | dojo.hitch(foo, myFunction); - // returns a function that runs myFunction in the scope of foo - // example: - // Expansion on the default positional arguments passed along from - // hitch. Passed args are mixed first, additional args after. - // | var foo = { bar: function(a, b, c){ console.log(a, b, c); } }; - // | var fn = dojo.hitch(foo, "bar", 1, 2); - // | fn(3); // logs "1, 2, 3" - // example: - // | var foo = { bar: 2 }; - // | dojo.hitch(foo, function(){ this.bar = 10; })(); - // execute an anonymous function in scope of foo - - if(arguments.length > 2){ - return d._hitchArgs.apply(d, arguments); // Function - } - if(!method){ - method = scope; - scope = null; - } - if(d.isString(method)){ - scope = scope || d.global; - if(!scope[method]){ throw(['dojo.hitch: scope["', method, '"] is null (scope="', scope, '")'].join('')); } - return function(){ return scope[method].apply(scope, arguments || []); }; // Function - } - return !scope ? method : function(){ return method.apply(scope, arguments || []); }; // Function - }; - - /*===== - dojo.delegate = function(obj, props){ - // summary: - // Returns a new object which "looks" to obj for properties which it - // does not have a value for. Optionally takes a bag of properties to - // seed the returned object with initially. - // description: - // This is a small implementaton of the Boodman/Crockford delegation - // pattern in JavaScript. An intermediate object constructor mediates - // the prototype chain for the returned object, using it to delegate - // down to obj for property lookup when object-local lookup fails. - // This can be thought of similarly to ES4's "wrap", save that it does - // not act on types but rather on pure objects. - // obj: - // The object to delegate to for properties not found directly on the - // return object or in props. - // props: - // an object containing properties to assign to the returned object - // returns: - // an Object of anonymous type - // example: - // | var foo = { bar: "baz" }; - // | var thinger = dojo.delegate(foo, { thud: "xyzzy"}); - // | thinger.bar == "baz"; // delegated to foo - // | foo.thud == undefined; // by definition - // | thinger.thud == "xyzzy"; // mixed in from props - // | foo.bar = "thonk"; - // | thinger.bar == "thonk"; // still delegated to foo's bar - } - =====*/ - - dojo.delegate = dojo._delegate = (function(){ - // boodman/crockford delegation w/ cornford optimization - function TMP(){} - return function(obj, props){ - TMP.prototype = obj; - var tmp = new TMP(); - TMP.prototype = null; - if(props){ - d._mixin(tmp, props); - } - return tmp; // Object - }; - })(); - - /*===== - dojo._toArray = function(obj, offset, startWith){ - // summary: - // Converts an array-like object (i.e. arguments, DOMCollection) to an - // array. Returns a new Array with the elements of obj. - // obj: Object - // the object to "arrayify". We expect the object to have, at a - // minimum, a length property which corresponds to integer-indexed - // properties. - // offset: Number? - // the location in obj to start iterating from. Defaults to 0. - // Optional. - // startWith: Array? - // An array to pack with the properties of obj. If provided, - // properties in obj are appended at the end of startWith and - // startWith is the returned array. - } - =====*/ - - var efficient = function(obj, offset, startWith){ - return (startWith||[]).concat(Array.prototype.slice.call(obj, offset||0)); - }; - - var slow = function(obj, offset, startWith){ - var arr = startWith||[]; - for(var x = offset || 0; x < obj.length; x++){ - arr.push(obj[x]); - } - return arr; - }; - - dojo._toArray = - d.isIE ? function(obj){ - return ((obj.item) ? slow : efficient).apply(this, arguments); - } : - efficient; - - dojo.partial = function(/*Function|String*/method /*, ...*/){ - // summary: - // similar to hitch() except that the scope object is left to be - // whatever the execution context eventually becomes. - // description: - // Calling dojo.partial is the functional equivalent of calling: - // | dojo.hitch(null, funcName, ...); - var arr = [ null ]; - return d.hitch.apply(d, arr.concat(d._toArray(arguments))); // Function - }; - - var extraNames = d._extraNames, extraLen = extraNames.length, empty = {}; - - dojo.clone = function(/*anything*/ o){ - // summary: - // Clones objects (including DOM nodes) and all children. - // Warning: do not clone cyclic structures. - if(!o || typeof o != "object" || d.isFunction(o)){ - // null, undefined, any non-object, or function - return o; // anything - } - if(o.nodeType && "cloneNode" in o){ - // DOM Node - return o.cloneNode(true); // Node - } - if(o instanceof Date){ - // Date - return new Date(o.getTime()); // Date - } - if(o instanceof RegExp){ - // RegExp - return new RegExp(o); // RegExp - } - var r, i, l, s, name; - if(d.isArray(o)){ - // array - r = []; - for(i = 0, l = o.length; i < l; ++i){ - if(i in o){ - r.push(d.clone(o[i])); - } - } -// we don't clone functions for performance reasons -// }else if(d.isFunction(o)){ -// // function -// r = function(){ return o.apply(this, arguments); }; - }else{ - // generic objects - r = o.constructor ? new o.constructor() : {}; - } - for(name in o){ - // the "tobj" condition avoid copying properties in "source" - // inherited from Object.prototype. For example, if target has a custom - // toString() method, don't overwrite it with the toString() method - // that source inherited from Object.prototype - s = o[name]; - if(!(name in r) || (r[name] !== s && (!(name in empty) || empty[name] !== s))){ - r[name] = d.clone(s); - } - } - // IE doesn't recognize some custom functions in for..in - if(extraLen){ - for(i = 0; i < extraLen; ++i){ - name = extraNames[i]; - s = o[name]; - if(!(name in r) || (r[name] !== s && (!(name in empty) || empty[name] !== s))){ - r[name] = s; // functions only, we don't clone them - } - } - } - return r; // Object - }; - - /*===== - dojo.trim = function(str){ - // summary: - // Trims whitespace from both sides of the string - // str: String - // String to be trimmed - // returns: String - // Returns the trimmed string - // description: - // This version of trim() was selected for inclusion into the base due - // to its compact size and relatively good performance - // (see [Steven Levithan's blog](http://blog.stevenlevithan.com/archives/faster-trim-javascript) - // Uses String.prototype.trim instead, if available. - // The fastest but longest version of this function is located at - // dojo.string.trim() - return ""; // String - } - =====*/ - - dojo.trim = String.prototype.trim ? - function(str){ return str.trim(); } : - function(str){ return str.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); }; - - /*===== - dojo.replace = function(tmpl, map, pattern){ - // summary: - // Performs parameterized substitutions on a string. Throws an - // exception if any parameter is unmatched. - // tmpl: String - // String to be used as a template. - // map: Object|Function - // If an object, it is used as a dictionary to look up substitutions. - // If a function, it is called for every substitution with following - // parameters: a whole match, a name, an offset, and the whole template - // string (see https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String/replace - // for more details). - // pattern: RegEx? - // Optional regular expression objects that overrides the default pattern. - // Must be global and match one item. The default is: /\{([^\}]+)\}/g, - // which matches patterns like that: "{xxx}", where "xxx" is any sequence - // of characters, which doesn't include "}". - // returns: String - // Returns the substituted string. - // example: - // | // uses a dictionary for substitutions: - // | dojo.replace("Hello, {name.first} {name.last} AKA {nick}!", - // | { - // | nick: "Bob", - // | name: { - // | first: "Robert", - // | middle: "X", - // | last: "Cringely" - // | } - // | }); - // | // returns: Hello, Robert Cringely AKA Bob! - // example: - // | // uses an array for substitutions: - // | dojo.replace("Hello, {0} {2}!", - // | ["Robert", "X", "Cringely"]); - // | // returns: Hello, Robert Cringely! - // example: - // | // uses a function for substitutions: - // | function sum(a){ - // | var t = 0; - // | dojo.forEach(a, function(x){ t += x; }); - // | return t; - // | } - // | dojo.replace( - // | "{count} payments averaging {avg} USD per payment.", - // | dojo.hitch( - // | { payments: [11, 16, 12] }, - // | function(_, key){ - // | switch(key){ - // | case "count": return this.payments.length; - // | case "min": return Math.min.apply(Math, this.payments); - // | case "max": return Math.max.apply(Math, this.payments); - // | case "sum": return sum(this.payments); - // | case "avg": return sum(this.payments) / this.payments.length; - // | } - // | } - // | ) - // | ); - // | // prints: 3 payments averaging 13 USD per payment. - // example: - // | // uses an alternative PHP-like pattern for substitutions: - // | dojo.replace("Hello, ${0} ${2}!", - // | ["Robert", "X", "Cringely"], /\$\{([^\}]+)\}/g); - // | // returns: Hello, Robert Cringely! - return ""; // String - } - =====*/ - - var _pattern = /\{([^\}]+)\}/g; - dojo.replace = function(tmpl, map, pattern){ - return tmpl.replace(pattern || _pattern, d.isFunction(map) ? - map : function(_, k){ return d.getObject(k, false, map); }); - }; -})(); - -} - -if(!dojo._hasResource["dojo._base.array"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.array"] = true; -dojo.provide("dojo._base.array"); - - - -(function(){ - var _getParts = function(arr, obj, cb){ - return [ - (typeof arr == "string") ? arr.split("") : arr, - obj || dojo.global, - // FIXME: cache the anonymous functions we create here? - (typeof cb == "string") ? new Function("item", "index", "array", cb) : cb - ]; - }; - - var everyOrSome = function(/*Boolean*/every, /*Array|String*/arr, /*Function|String*/callback, /*Object?*/thisObject){ - var _p = _getParts(arr, thisObject, callback); arr = _p[0]; - for(var i=0,l=arr.length; i<l; ++i){ - var result = !!_p[2].call(_p[1], arr[i], i, arr); - if(every ^ result){ - return result; // Boolean - } - } - return every; // Boolean - }; - - dojo.mixin(dojo, { - indexOf: function( /*Array*/ array, - /*Object*/ value, - /*Integer?*/ fromIndex, - /*Boolean?*/ findLast){ - // summary: - // locates the first index of the provided value in the - // passed array. If the value is not found, -1 is returned. - // description: - // This method corresponds to the JavaScript 1.6 Array.indexOf method, with one difference: when - // run over sparse arrays, the Dojo function invokes the callback for every index whereas JavaScript - // 1.6's indexOf skips the holes in the sparse array. - // For details on this method, see: - // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/indexOf - - var step = 1, end = array.length || 0, i = 0; - if(findLast){ - i = end - 1; - step = end = -1; - } - if(fromIndex != undefined){ i = fromIndex; } - if((findLast && i > end) || i < end){ - for(; i != end; i += step){ - if(array[i] == value){ return i; } - } - } - return -1; // Number - }, - - lastIndexOf: function(/*Array*/array, /*Object*/value, /*Integer?*/fromIndex){ - // summary: - // locates the last index of the provided value in the passed - // array. If the value is not found, -1 is returned. - // description: - // This method corresponds to the JavaScript 1.6 Array.lastIndexOf method, with one difference: when - // run over sparse arrays, the Dojo function invokes the callback for every index whereas JavaScript - // 1.6's lastIndexOf skips the holes in the sparse array. - // For details on this method, see: - // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/lastIndexOf - return dojo.indexOf(array, value, fromIndex, true); // Number - }, - - forEach: function(/*Array|String*/arr, /*Function|String*/callback, /*Object?*/thisObject){ - // summary: - // for every item in arr, callback is invoked. Return values are ignored. - // If you want to break out of the loop, consider using dojo.every() or dojo.some(). - // forEach does not allow breaking out of the loop over the items in arr. - // arr: - // the array to iterate over. If a string, operates on individual characters. - // callback: - // a function is invoked with three arguments: item, index, and array - // thisObject: - // may be used to scope the call to callback - // description: - // This function corresponds to the JavaScript 1.6 Array.forEach() method, with one difference: when - // run over sparse arrays, this implemenation passes the "holes" in the sparse array to - // the callback function with a value of undefined. JavaScript 1.6's forEach skips the holes in the sparse array. - // For more details, see: - // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/forEach - // example: - // | // log out all members of the array: - // | dojo.forEach( - // | [ "thinger", "blah", "howdy", 10 ], - // | function(item){ - // | console.log(item); - // | } - // | ); - // example: - // | // log out the members and their indexes - // | dojo.forEach( - // | [ "thinger", "blah", "howdy", 10 ], - // | function(item, idx, arr){ - // | console.log(item, "at index:", idx); - // | } - // | ); - // example: - // | // use a scoped object member as the callback - // | - // | var obj = { - // | prefix: "logged via obj.callback:", - // | callback: function(item){ - // | console.log(this.prefix, item); - // | } - // | }; - // | - // | // specifying the scope function executes the callback in that scope - // | dojo.forEach( - // | [ "thinger", "blah", "howdy", 10 ], - // | obj.callback, - // | obj - // | ); - // | - // | // alternately, we can accomplish the same thing with dojo.hitch() - // | dojo.forEach( - // | [ "thinger", "blah", "howdy", 10 ], - // | dojo.hitch(obj, "callback") - // | ); - - // match the behavior of the built-in forEach WRT empty arrs - if(!arr || !arr.length){ return; } - - // FIXME: there are several ways of handilng thisObject. Is - // dojo.global always the default context? - var _p = _getParts(arr, thisObject, callback); arr = _p[0]; - for(var i=0,l=arr.length; i<l; ++i){ - _p[2].call(_p[1], arr[i], i, arr); - } - }, - - every: function(/*Array|String*/arr, /*Function|String*/callback, /*Object?*/thisObject){ - // summary: - // Determines whether or not every item in arr satisfies the - // condition implemented by callback. - // arr: - // the array to iterate on. If a string, operates on individual characters. - // callback: - // a function is invoked with three arguments: item, index, - // and array and returns true if the condition is met. - // thisObject: - // may be used to scope the call to callback - // description: - // This function corresponds to the JavaScript 1.6 Array.every() method, with one difference: when - // run over sparse arrays, this implemenation passes the "holes" in the sparse array to - // the callback function with a value of undefined. JavaScript 1.6's every skips the holes in the sparse array. - // For more details, see: - // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/every - // example: - // | // returns false - // | dojo.every([1, 2, 3, 4], function(item){ return item>1; }); - // example: - // | // returns true - // | dojo.every([1, 2, 3, 4], function(item){ return item>0; }); - return everyOrSome(true, arr, callback, thisObject); // Boolean - }, - - some: function(/*Array|String*/arr, /*Function|String*/callback, /*Object?*/thisObject){ - // summary: - // Determines whether or not any item in arr satisfies the - // condition implemented by callback. - // arr: - // the array to iterate over. If a string, operates on individual characters. - // callback: - // a function is invoked with three arguments: item, index, - // and array and returns true if the condition is met. - // thisObject: - // may be used to scope the call to callback - // description: - // This function corresponds to the JavaScript 1.6 Array.some() method, with one difference: when - // run over sparse arrays, this implemenation passes the "holes" in the sparse array to - // the callback function with a value of undefined. JavaScript 1.6's some skips the holes in the sparse array. - // For more details, see: - // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/some - // example: - // | // is true - // | dojo.some([1, 2, 3, 4], function(item){ return item>1; }); - // example: - // | // is false - // | dojo.some([1, 2, 3, 4], function(item){ return item<1; }); - return everyOrSome(false, arr, callback, thisObject); // Boolean - }, - - map: function(/*Array|String*/arr, /*Function|String*/callback, /*Function?*/thisObject){ - // summary: - // applies callback to each element of arr and returns - // an Array with the results - // arr: - // the array to iterate on. If a string, operates on - // individual characters. - // callback: - // a function is invoked with three arguments, (item, index, - // array), and returns a value - // thisObject: - // may be used to scope the call to callback - // description: - // This function corresponds to the JavaScript 1.6 Array.map() method, with one difference: when - // run over sparse arrays, this implemenation passes the "holes" in the sparse array to - // the callback function with a value of undefined. JavaScript 1.6's map skips the holes in the sparse array. - // For more details, see: - // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map - // example: - // | // returns [2, 3, 4, 5] - // | dojo.map([1, 2, 3, 4], function(item){ return item+1 }); - - var _p = _getParts(arr, thisObject, callback); arr = _p[0]; - var outArr = (arguments[3] ? (new arguments[3]()) : []); - for(var i=0,l=arr.length; i<l; ++i){ - outArr.push(_p[2].call(_p[1], arr[i], i, arr)); - } - return outArr; // Array - }, - - filter: function(/*Array*/arr, /*Function|String*/callback, /*Object?*/thisObject){ - // summary: - // Returns a new Array with those items from arr that match the - // condition implemented by callback. - // arr: - // the array to iterate over. - // callback: - // a function that is invoked with three arguments (item, - // index, array). The return of this function is expected to - // be a boolean which determines whether the passed-in item - // will be included in the returned array. - // thisObject: - // may be used to scope the call to callback - // description: - // This function corresponds to the JavaScript 1.6 Array.filter() method, with one difference: when - // run over sparse arrays, this implemenation passes the "holes" in the sparse array to - // the callback function with a value of undefined. JavaScript 1.6's filter skips the holes in the sparse array. - // For more details, see: - // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter - // example: - // | // returns [2, 3, 4] - // | dojo.filter([1, 2, 3, 4], function(item){ return item>1; }); - - var _p = _getParts(arr, thisObject, callback); arr = _p[0]; - var outArr = []; - for(var i=0,l=arr.length; i<l; ++i){ - if(_p[2].call(_p[1], arr[i], i, arr)){ - outArr.push(arr[i]); - } - } - return outArr; // Array - } - }); -})(); -/* -*/ - -} - -if(!dojo._hasResource["dojo._base.declare"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.declare"] = true; -dojo.provide("dojo._base.declare"); - - - - -(function(){ - var d = dojo, mix = d._mixin, op = Object.prototype, opts = op.toString, - xtor = new Function, counter = 0, cname = "constructor"; - - function err(msg, cls){ throw new Error("declare" + (cls ? " " + cls : "") + ": " + msg); } - - // C3 Method Resolution Order (see http://www.python.org/download/releases/2.3/mro/) - function c3mro(bases, className){ - var result = [], roots = [{cls: 0, refs: []}], nameMap = {}, clsCount = 1, - l = bases.length, i = 0, j, lin, base, top, proto, rec, name, refs; - - // build a list of bases naming them if needed - for(; i < l; ++i){ - base = bases[i]; - if(!base){ - err("mixin #" + i + " is unknown. Did you use dojo.require to pull it in?", className); - }else if(opts.call(base) != "[object Function]"){ - err("mixin #" + i + " is not a callable constructor.", className); - } - lin = base._meta ? base._meta.bases : [base]; - top = 0; - // add bases to the name map - for(j = lin.length - 1; j >= 0; --j){ - proto = lin[j].prototype; - if(!proto.hasOwnProperty("declaredClass")){ - proto.declaredClass = "uniqName_" + (counter++); - } - name = proto.declaredClass; - if(!nameMap.hasOwnProperty(name)){ - nameMap[name] = {count: 0, refs: [], cls: lin[j]}; - ++clsCount; - } - rec = nameMap[name]; - if(top && top !== rec){ - rec.refs.push(top); - ++top.count; - } - top = rec; - } - ++top.count; - roots[0].refs.push(top); - } - - // remove classes without external references recursively - while(roots.length){ - top = roots.pop(); - result.push(top.cls); - --clsCount; - // optimization: follow a single-linked chain - while(refs = top.refs, refs.length == 1){ - top = refs[0]; - if(!top || --top.count){ - // branch or end of chain => do not end to roots - top = 0; - break; - } - result.push(top.cls); - --clsCount; - } - if(top){ - // branch - for(i = 0, l = refs.length; i < l; ++i){ - top = refs[i]; - if(!--top.count){ - roots.push(top); - } - } - } - } - if(clsCount){ - err("can't build consistent linearization", className); - } - - // calculate the superclass offset - base = bases[0]; - result[0] = base ? - base._meta && base === result[result.length - base._meta.bases.length] ? - base._meta.bases.length : 1 : 0; - - return result; - } - - function inherited(args, a, f){ - var name, chains, bases, caller, meta, base, proto, opf, pos, - cache = this._inherited = this._inherited || {}; - - // crack arguments - if(typeof args == "string"){ - name = args; - args = a; - a = f; - } - f = 0; - - caller = args.callee; - name = name || caller.nom; - if(!name){ - err("can't deduce a name to call inherited()", this.declaredClass); - } - - meta = this.constructor._meta; - bases = meta.bases; - - pos = cache.p; - if(name != cname){ - // method - if(cache.c !== caller){ - // cache bust - pos = 0; - base = bases[0]; - meta = base._meta; - if(meta.hidden[name] !== caller){ - // error detection - chains = meta.chains; - if(chains && typeof chains[name] == "string"){ - err("calling chained method with inherited: " + name, this.declaredClass); - } - // find caller - do{ - meta = base._meta; - proto = base.prototype; - if(meta && (proto[name] === caller && proto.hasOwnProperty(name) || meta.hidden[name] === caller)){ - break; - } - }while(base = bases[++pos]); // intentional assignment - pos = base ? pos : -1; - } - } - // find next - base = bases[++pos]; - if(base){ - proto = base.prototype; - if(base._meta && proto.hasOwnProperty(name)){ - f = proto[name]; - }else{ - opf = op[name]; - do{ - proto = base.prototype; - f = proto[name]; - if(f && (base._meta ? proto.hasOwnProperty(name) : f !== opf)){ - break; - } - }while(base = bases[++pos]); // intentional assignment - } - } - f = base && f || op[name]; - }else{ - // constructor - if(cache.c !== caller){ - // cache bust - pos = 0; - meta = bases[0]._meta; - if(meta && meta.ctor !== caller){ - // error detection - chains = meta.chains; - if(!chains || chains.constructor !== "manual"){ - err("calling chained constructor with inherited", this.declaredClass); - } - // find caller - while(base = bases[++pos]){ // intentional assignment - meta = base._meta; - if(meta && meta.ctor === caller){ - break; - } - } - pos = base ? pos : -1; - } - } - // find next - while(base = bases[++pos]){ // intentional assignment - meta = base._meta; - f = meta ? meta.ctor : base; - if(f){ - break; - } - } - f = base && f; - } - - // cache the found super method - cache.c = f; - cache.p = pos; - - // now we have the result - if(f){ - return a === true ? f : f.apply(this, a || args); - } - // intentionally if a super method was not found - } - - function getInherited(name, args){ - if(typeof name == "string"){ - return this.inherited(name, args, true); - } - return this.inherited(name, true); - } - - // emulation of "instanceof" - function isInstanceOf(cls){ - var bases = this.constructor._meta.bases; - for(var i = 0, l = bases.length; i < l; ++i){ - if(bases[i] === cls){ - return true; - } - } - return this instanceof cls; - } - - function mixOwn(target, source){ - var name, i = 0, l = d._extraNames.length; - // add props adding metadata for incoming functions skipping a constructor - for(name in source){ - if(name != cname && source.hasOwnProperty(name)){ - target[name] = source[name]; - } - } - // process unenumerable methods on IE - for(; i < l; ++i){ - name = d._extraNames[i]; - if(name != cname && source.hasOwnProperty(name)){ - target[name] = source[name]; - } - } - } - - // implementation of safe mixin function - function safeMixin(target, source){ - var name, t, i = 0, l = d._extraNames.length; - // add props adding metadata for incoming functions skipping a constructor - for(name in source){ - t = source[name]; - if((t !== op[name] || !(name in op)) && name != cname){ - if(opts.call(t) == "[object Function]"){ - // non-trivial function method => attach its name - t.nom = name; - } - target[name] = t; - } - } - // process unenumerable methods on IE - for(; i < l; ++i){ - name = d._extraNames[i]; - t = source[name]; - if((t !== op[name] || !(name in op)) && name != cname){ - if(opts.call(t) == "[object Function]"){ - // non-trivial function method => attach its name - t.nom = name; - } - target[name] = t; - } - } - return target; - } - - function extend(source){ - safeMixin(this.prototype, source); - return this; - } - - // chained constructor compatible with the legacy dojo.declare() - function chainedConstructor(bases, ctorSpecial){ - return function(){ - var a = arguments, args = a, a0 = a[0], f, i, m, - l = bases.length, preArgs; - - if(!(this instanceof a.callee)){ - // not called via new, so force it - return applyNew(a); - } - - //this._inherited = {}; - // perform the shaman's rituals of the original dojo.declare() - // 1) call two types of the preamble - if(ctorSpecial && (a0 && a0.preamble || this.preamble)){ - // full blown ritual - preArgs = new Array(bases.length); - // prepare parameters - preArgs[0] = a; - for(i = 0;;){ - // process the preamble of the 1st argument - a0 = a[0]; - if(a0){ - f = a0.preamble; - if(f){ - a = f.apply(this, a) || a; - } - } - // process the preamble of this class - f = bases[i].prototype; - f = f.hasOwnProperty("preamble") && f.preamble; - if(f){ - a = f.apply(this, a) || a; - } - // one peculiarity of the preamble: - // it is called if it is not needed, - // e.g., there is no constructor to call - // let's watch for the last constructor - // (see ticket #9795) - if(++i == l){ - break; - } - preArgs[i] = a; - } - } - // 2) call all non-trivial constructors using prepared arguments - for(i = l - 1; i >= 0; --i){ - f = bases[i]; - m = f._meta; - f = m ? m.ctor : f; - if(f){ - f.apply(this, preArgs ? preArgs[i] : a); - } - } - // 3) continue the original ritual: call the postscript - f = this.postscript; - if(f){ - f.apply(this, args); - } - }; - } - - - // chained constructor compatible with the legacy dojo.declare() - function singleConstructor(ctor, ctorSpecial){ - return function(){ - var a = arguments, t = a, a0 = a[0], f; - - if(!(this instanceof a.callee)){ - // not called via new, so force it - return applyNew(a); - } - - //this._inherited = {}; - // perform the shaman's rituals of the original dojo.declare() - // 1) call two types of the preamble - if(ctorSpecial){ - // full blown ritual - if(a0){ - // process the preamble of the 1st argument - f = a0.preamble; - if(f){ - t = f.apply(this, t) || t; - } - } - f = this.preamble; - if(f){ - // process the preamble of this class - f.apply(this, t); - // one peculiarity of the preamble: - // it is called even if it is not needed, - // e.g., there is no constructor to call - // let's watch for the last constructor - // (see ticket #9795) - } - } - // 2) call a constructor - if(ctor){ - ctor.apply(this, a); - } - // 3) continue the original ritual: call the postscript - f = this.postscript; - if(f){ - f.apply(this, a); - } - }; - } - - // plain vanilla constructor (can use inherited() to call its base constructor) - function simpleConstructor(bases){ - return function(){ - var a = arguments, i = 0, f, m; - - if(!(this instanceof a.callee)){ - // not called via new, so force it - return applyNew(a); - } - - //this._inherited = {}; - // perform the shaman's rituals of the original dojo.declare() - // 1) do not call the preamble - // 2) call the top constructor (it can use this.inherited()) - for(; f = bases[i]; ++i){ // intentional assignment - m = f._meta; - f = m ? m.ctor : f; - if(f){ - f.apply(this, a); - break; - } - } - // 3) call the postscript - f = this.postscript; - if(f){ - f.apply(this, a); - } - }; - } - - function chain(name, bases, reversed){ - return function(){ - var b, m, f, i = 0, step = 1; - if(reversed){ - i = bases.length - 1; - step = -1; - } - for(; b = bases[i]; i += step){ // intentional assignment - m = b._meta; - f = (m ? m.hidden : b.prototype)[name]; - if(f){ - f.apply(this, arguments); - } - } - }; - } - - // forceNew(ctor) - // return a new object that inherits from ctor.prototype but - // without actually running ctor on the object. - function forceNew(ctor){ - // create object with correct prototype using a do-nothing - // constructor - xtor.prototype = ctor.prototype; - var t = new xtor; - xtor.prototype = null; // clean up - return t; - } - - // applyNew(args) - // just like 'new ctor()' except that the constructor and its arguments come - // from args, which must be an array or an arguments object - function applyNew(args){ - // create an object with ctor's prototype but without - // calling ctor on it. - var ctor = args.callee, t = forceNew(ctor); - // execute the real constructor on the new object - ctor.apply(t, args); - return t; - } - - d.declare = function(className, superclass, props){ - // crack parameters - if(typeof className != "string"){ - props = superclass; - superclass = className; - className = ""; - } - props = props || {}; - - var proto, i, t, ctor, name, bases, chains, mixins = 1, parents = superclass; - - // build a prototype - if(opts.call(superclass) == "[object Array]"){ - // C3 MRO - bases = c3mro(superclass, className); - t = bases[0]; - mixins = bases.length - t; - superclass = bases[mixins]; - }else{ - bases = [0]; - if(superclass){ - if(opts.call(superclass) == "[object Function]"){ - t = superclass._meta; - bases = bases.concat(t ? t.bases : superclass); - }else{ - err("base class is not a callable constructor.", className); - } - }else if(superclass !== null){ - err("unknown base class. Did you use dojo.require to pull it in?", className); - } - } - if(superclass){ - for(i = mixins - 1;; --i){ - proto = forceNew(superclass); - if(!i){ - // stop if nothing to add (the last base) - break; - } - // mix in properties - t = bases[i]; - (t._meta ? mixOwn : mix)(proto, t.prototype); - // chain in new constructor - ctor = new Function; - ctor.superclass = superclass; - ctor.prototype = proto; - superclass = proto.constructor = ctor; - } - }else{ - proto = {}; - } - // add all properties - safeMixin(proto, props); - // add constructor - t = props.constructor; - if(t !== op.constructor){ - t.nom = cname; - proto.constructor = t; - } - - // collect chains and flags - for(i = mixins - 1; i; --i){ // intentional assignment - t = bases[i]._meta; - if(t && t.chains){ - chains = mix(chains || {}, t.chains); - } - } - if(proto["-chains-"]){ - chains = mix(chains || {}, proto["-chains-"]); - } - - // build ctor - t = !chains || !chains.hasOwnProperty(cname); - bases[0] = ctor = (chains && chains.constructor === "manual") ? simpleConstructor(bases) : - (bases.length == 1 ? singleConstructor(props.constructor, t) : chainedConstructor(bases, t)); - - // add meta information to the constructor - ctor._meta = {bases: bases, hidden: props, chains: chains, - parents: parents, ctor: props.constructor}; - ctor.superclass = superclass && superclass.prototype; - ctor.extend = extend; - ctor.prototype = proto; - proto.constructor = ctor; - - // add "standard" methods to the prototype - proto.getInherited = getInherited; - proto.inherited = inherited; - proto.isInstanceOf = isInstanceOf; - - // add name if specified - if(className){ - proto.declaredClass = className; - d.setObject(className, ctor); - } - - // build chains and add them to the prototype - if(chains){ - for(name in chains){ - if(proto[name] && typeof chains[name] == "string" && name != cname){ - t = proto[name] = chain(name, bases, chains[name] === "after"); - t.nom = name; - } - } - } - // chained methods do not return values - // no need to chain "invisible" functions - - return ctor; // Function - }; - - d.safeMixin = safeMixin; - - /*===== - dojo.declare = function(className, superclass, props){ - // summary: - // Create a feature-rich constructor from compact notation. - // className: String?: - // The optional name of the constructor (loosely, a "class") - // stored in the "declaredClass" property in the created prototype. - // It will be used as a global name for a created constructor. - // superclass: Function|Function[]: - // May be null, a Function, or an Array of Functions. This argument - // specifies a list of bases (the left-most one is the most deepest - // base). - // props: Object: - // An object whose properties are copied to the created prototype. - // Add an instance-initialization function by making it a property - // named "constructor". - // returns: - // New constructor function. - // description: - // Create a constructor using a compact notation for inheritance and - // prototype extension. - // - // Mixin ancestors provide a type of multiple inheritance. - // Prototypes of mixin ancestors are copied to the new class: - // changes to mixin prototypes will not affect classes to which - // they have been mixed in. - // - // Ancestors can be compound classes created by this version of - // dojo.declare. In complex cases all base classes are going to be - // linearized according to C3 MRO algorithm - // (see http://www.python.org/download/releases/2.3/mro/ for more - // details). - // - // "className" is cached in "declaredClass" property of the new class, - // if it was supplied. The immediate super class will be cached in - // "superclass" property of the new class. - // - // Methods in "props" will be copied and modified: "nom" property - // (the declared name of the method) will be added to all copied - // functions to help identify them for the internal machinery. Be - // very careful, while reusing methods: if you use the same - // function under different names, it can produce errors in some - // cases. - // - // It is possible to use constructors created "manually" (without - // dojo.declare) as bases. They will be called as usual during the - // creation of an instance, their methods will be chained, and even - // called by "this.inherited()". - // - // Special property "-chains-" governs how to chain methods. It is - // a dictionary, which uses method names as keys, and hint strings - // as values. If a hint string is "after", this method will be - // called after methods of its base classes. If a hint string is - // "before", this method will be called before methods of its base - // classes. - // - // If "constructor" is not mentioned in "-chains-" property, it will - // be chained using the legacy mode: using "after" chaining, - // calling preamble() method before each constructor, if available, - // and calling postscript() after all constructors were executed. - // If the hint is "after", it is chained as a regular method, but - // postscript() will be called after the chain of constructors. - // "constructor" cannot be chained "before", but it allows - // a special hint string: "manual", which means that constructors - // are not going to be chained in any way, and programmer will call - // them manually using this.inherited(). In the latter case - // postscript() will be called after the construction. - // - // All chaining hints are "inherited" from base classes and - // potentially can be overridden. Be very careful when overriding - // hints! Make sure that all chained methods can work in a proposed - // manner of chaining. - // - // Once a method was chained, it is impossible to unchain it. The - // only exception is "constructor". You don't need to define a - // method in order to supply a chaining hint. - // - // If a method is chained, it cannot use this.inherited() because - // all other methods in the hierarchy will be called automatically. - // - // Usually constructors and initializers of any kind are chained - // using "after" and destructors of any kind are chained as - // "before". Note that chaining assumes that chained methods do not - // return any value: any returned value will be discarded. - // - // example: - // | dojo.declare("my.classes.bar", my.classes.foo, { - // | // properties to be added to the class prototype - // | someValue: 2, - // | // initialization function - // | constructor: function(){ - // | this.myComplicatedObject = new ReallyComplicatedObject(); - // | }, - // | // other functions - // | someMethod: function(){ - // | doStuff(); - // | } - // | }); - // - // example: - // | var MyBase = dojo.declare(null, { - // | // constructor, properties, and methods go here - // | // ... - // | }); - // | var MyClass1 = dojo.declare(MyBase, { - // | // constructor, properties, and methods go here - // | // ... - // | }); - // | var MyClass2 = dojo.declare(MyBase, { - // | // constructor, properties, and methods go here - // | // ... - // | }); - // | var MyDiamond = dojo.declare([MyClass1, MyClass2], { - // | // constructor, properties, and methods go here - // | // ... - // | }); - // - // example: - // | var F = function(){ console.log("raw constructor"); }; - // | F.prototype.method = function(){ - // | console.log("raw method"); - // | }; - // | var A = dojo.declare(F, { - // | constructor: function(){ - // | console.log("A.constructor"); - // | }, - // | method: function(){ - // | console.log("before calling F.method..."); - // | this.inherited(arguments); - // | console.log("...back in A"); - // | } - // | }); - // | new A().method(); - // | // will print: - // | // raw constructor - // | // A.constructor - // | // before calling F.method... - // | // raw method - // | // ...back in A - // - // example: - // | var A = dojo.declare(null, { - // | "-chains-": { - // | destroy: "before" - // | } - // | }); - // | var B = dojo.declare(A, { - // | constructor: function(){ - // | console.log("B.constructor"); - // | }, - // | destroy: function(){ - // | console.log("B.destroy"); - // | } - // | }); - // | var C = dojo.declare(B, { - // | constructor: function(){ - // | console.log("C.constructor"); - // | }, - // | destroy: function(){ - // | console.log("C.destroy"); - // | } - // | }); - // | new C().destroy(); - // | // prints: - // | // B.constructor - // | // C.constructor - // | // C.destroy - // | // B.destroy - // - // example: - // | var A = dojo.declare(null, { - // | "-chains-": { - // | constructor: "manual" - // | } - // | }); - // | var B = dojo.declare(A, { - // | constructor: function(){ - // | // ... - // | // call the base constructor with new parameters - // | this.inherited(arguments, [1, 2, 3]); - // | // ... - // | } - // | }); - // - // example: - // | var A = dojo.declare(null, { - // | "-chains-": { - // | m1: "before" - // | }, - // | m1: function(){ - // | console.log("A.m1"); - // | }, - // | m2: function(){ - // | console.log("A.m2"); - // | } - // | }); - // | var B = dojo.declare(A, { - // | "-chains-": { - // | m2: "after" - // | }, - // | m1: function(){ - // | console.log("B.m1"); - // | }, - // | m2: function(){ - // | console.log("B.m2"); - // | } - // | }); - // | var x = new B(); - // | x.m1(); - // | // prints: - // | // B.m1 - // | // A.m1 - // | x.m2(); - // | // prints: - // | // A.m2 - // | // B.m2 - return new Function(); // Function - }; - =====*/ - - /*===== - dojo.safeMixin = function(target, source){ - // summary: - // Mix in properties skipping a constructor and decorating functions - // like it is done by dojo.declare. - // target: Object - // Target object to accept new properties. - // source: Object - // Source object for new properties. - // description: - // This function is used to mix in properties like dojo._mixin does, - // but it skips a constructor property and decorates functions like - // dojo.declare does. - // - // It is meant to be used with classes and objects produced with - // dojo.declare. Functions mixed in with dojo.safeMixin can use - // this.inherited() like normal methods. - // - // This function is used to implement extend() method of a constructor - // produced with dojo.declare(). - // - // example: - // | var A = dojo.declare(null, { - // | m1: function(){ - // | console.log("A.m1"); - // | }, - // | m2: function(){ - // | console.log("A.m2"); - // | } - // | }); - // | var B = dojo.declare(A, { - // | m1: function(){ - // | this.inherited(arguments); - // | console.log("B.m1"); - // | } - // | }); - // | B.extend({ - // | m2: function(){ - // | this.inherited(arguments); - // | console.log("B.m2"); - // | } - // | }); - // | var x = new B(); - // | dojo.safeMixin(x, { - // | m1: function(){ - // | this.inherited(arguments); - // | console.log("X.m1"); - // | }, - // | m2: function(){ - // | this.inherited(arguments); - // | console.log("X.m2"); - // | } - // | }); - // | x.m2(); - // | // prints: - // | // A.m1 - // | // B.m1 - // | // X.m1 - }; - =====*/ - - /*===== - Object.inherited = function(name, args, newArgs){ - // summary: - // Calls a super method. - // name: String? - // The optional method name. Should be the same as the caller's - // name. Usually "name" is specified in complex dynamic cases, when - // the calling method was dynamically added, undecorated by - // dojo.declare, and it cannot be determined. - // args: Arguments - // The caller supply this argument, which should be the original - // "arguments". - // newArgs: Object? - // If "true", the found function will be returned without - // executing it. - // If Array, it will be used to call a super method. Otherwise - // "args" will be used. - // returns: - // Whatever is returned by a super method, or a super method itself, - // if "true" was specified as newArgs. - // description: - // This method is used inside method of classes produced with - // dojo.declare to call a super method (next in the chain). It is - // used for manually controlled chaining. Consider using the regular - // chaining, because it is faster. Use "this.inherited()" only in - // complex cases. - // - // This method cannot me called from automatically chained - // constructors including the case of a special (legacy) - // constructor chaining. It cannot be called from chained methods. - // - // If "this.inherited()" cannot find the next-in-chain method, it - // does nothing and returns "undefined". The last method in chain - // can be a default method implemented in Object, which will be - // called last. - // - // If "name" is specified, it is assumed that the method that - // received "args" is the parent method for this call. It is looked - // up in the chain list and if it is found the next-in-chain method - // is called. If it is not found, the first-in-chain method is - // called. - // - // If "name" is not specified, it will be derived from the calling - // method (using a methoid property "nom"). - // - // example: - // | var B = dojo.declare(A, { - // | method1: function(a, b, c){ - // | this.inherited(arguments); - // | }, - // | method2: function(a, b){ - // | return this.inherited(arguments, [a + b]); - // | } - // | }); - // | // next method is not in the chain list because it is added - // | // manually after the class was created. - // | B.prototype.method3 = function(){ - // | console.log("This is a dynamically-added method."); - // | this.inherited("method3", arguments); - // | }; - // example: - // | var B = dojo.declare(A, { - // | method: function(a, b){ - // | var super = this.inherited(arguments, true); - // | // ... - // | if(!super){ - // | console.log("there is no super method"); - // | return 0; - // | } - // | return super.apply(this, arguments); - // | } - // | }); - return {}; // Object - } - =====*/ - - /*===== - Object.getInherited = function(name, args){ - // summary: - // Returns a super method. - // name: String? - // The optional method name. Should be the same as the caller's - // name. Usually "name" is specified in complex dynamic cases, when - // the calling method was dynamically added, undecorated by - // dojo.declare, and it cannot be determined. - // args: Arguments - // The caller supply this argument, which should be the original - // "arguments". - // returns: - // Returns a super method (Function) or "undefined". - // description: - // This method is a convenience method for "this.inherited()". - // It uses the same algorithm but instead of executing a super - // method, it returns it, or "undefined" if not found. - // - // example: - // | var B = dojo.declare(A, { - // | method: function(a, b){ - // | var super = this.getInherited(arguments); - // | // ... - // | if(!super){ - // | console.log("there is no super method"); - // | return 0; - // | } - // | return super.apply(this, arguments); - // | } - // | }); - return {}; // Object - } - =====*/ - - /*===== - Object.isInstanceOf = function(cls){ - // summary: - // Checks the inheritance chain to see if it is inherited from this - // class. - // cls: Function - // Class constructor. - // returns: - // "true", if this object is inherited from this class, "false" - // otherwise. - // description: - // This method is used with instances of classes produced with - // dojo.declare to determine of they support a certain interface or - // not. It models "instanceof" operator. - // - // example: - // | var A = dojo.declare(null, { - // | // constructor, properties, and methods go here - // | // ... - // | }); - // | var B = dojo.declare(null, { - // | // constructor, properties, and methods go here - // | // ... - // | }); - // | var C = dojo.declare([A, B], { - // | // constructor, properties, and methods go here - // | // ... - // | }); - // | var D = dojo.declare(A, { - // | // constructor, properties, and methods go here - // | // ... - // | }); - // | - // | var a = new A(), b = new B(), c = new C(), d = new D(); - // | - // | console.log(a.isInstanceOf(A)); // true - // | console.log(b.isInstanceOf(A)); // false - // | console.log(c.isInstanceOf(A)); // true - // | console.log(d.isInstanceOf(A)); // true - // | - // | console.log(a.isInstanceOf(B)); // false - // | console.log(b.isInstanceOf(B)); // true - // | console.log(c.isInstanceOf(B)); // true - // | console.log(d.isInstanceOf(B)); // false - // | - // | console.log(a.isInstanceOf(C)); // false - // | console.log(b.isInstanceOf(C)); // false - // | console.log(c.isInstanceOf(C)); // true - // | console.log(d.isInstanceOf(C)); // false - // | - // | console.log(a.isInstanceOf(D)); // false - // | console.log(b.isInstanceOf(D)); // false - // | console.log(c.isInstanceOf(D)); // false - // | console.log(d.isInstanceOf(D)); // true - return {}; // Object - } - =====*/ - - /*===== - Object.extend = function(source){ - // summary: - // Adds all properties and methods of source to constructor's - // prototype, making them available to all instances created with - // constructor. This method is specific to constructors created with - // dojo.declare. - // source: Object - // Source object which properties are going to be copied to the - // constructor's prototype. - // description: - // Adds source properties to the constructor's prototype. It can - // override existing properties. - // - // This method is similar to dojo.extend function, but it is specific - // to constructors produced by dojo.declare. It is implemented - // using dojo.safeMixin, and it skips a constructor property, - // and properly decorates copied functions. - // - // example: - // | var A = dojo.declare(null, { - // | m1: function(){}, - // | s1: "Popokatepetl" - // | }); - // | A.extend({ - // | m1: function(){}, - // | m2: function(){}, - // | f1: true, - // | d1: 42 - // | }); - }; - =====*/ -})(); - -} - -if(!dojo._hasResource["dojo._base.connect"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.connect"] = true; -dojo.provide("dojo._base.connect"); - - - -// this file courtesy of the TurboAjax Group, licensed under a Dojo CLA - -// low-level delegation machinery -dojo._listener = { - // create a dispatcher function - getDispatcher: function(){ - // following comments pulled out-of-line to prevent cloning them - // in the returned function. - // - indices (i) that are really in the array of listeners (ls) will - // not be in Array.prototype. This is the 'sparse array' trick - // that keeps us safe from libs that take liberties with built-in - // objects - // - listener is invoked with current scope (this) - return function(){ - var ap = Array.prototype, c = arguments.callee, ls = c._listeners, t = c.target, - // return value comes from original target function - r = t && t.apply(this, arguments), - // make local copy of listener array so it is immutable during processing - i, lls = [].concat(ls) - ; - - // invoke listeners after target function - for(i in lls){ - if(!(i in ap)){ - lls[i].apply(this, arguments); - } - } - // return value comes from original target function - return r; - }; - }, - // add a listener to an object - add: function(/*Object*/ source, /*String*/ method, /*Function*/ listener){ - // Whenever 'method' is invoked, 'listener' will have the same scope. - // Trying to supporting a context object for the listener led to - // complexity. - // Non trivial to provide 'once' functionality here - // because listener could be the result of a dojo.hitch call, - // in which case two references to the same hitch target would not - // be equivalent. - source = source || dojo.global; - // The source method is either null, a dispatcher, or some other function - var f = source[method]; - // Ensure a dispatcher - if(!f || !f._listeners){ - var d = dojo._listener.getDispatcher(); - // original target function is special - d.target = f; - // dispatcher holds a list of listeners - d._listeners = []; - // redirect source to dispatcher - f = source[method] = d; - } - // The contract is that a handle is returned that can - // identify this listener for disconnect. - // - // The type of the handle is private. Here is it implemented as Integer. - // DOM event code has this same contract but handle is Function - // in non-IE browsers. - // - // We could have separate lists of before and after listeners. - return f._listeners.push(listener); /*Handle*/ - }, - // remove a listener from an object - remove: function(/*Object*/ source, /*String*/ method, /*Handle*/ handle){ - var f = (source || dojo.global)[method]; - // remember that handle is the index+1 (0 is not a valid handle) - if(f && f._listeners && handle--){ - delete f._listeners[handle]; - } - } -}; - -// Multiple delegation for arbitrary methods. - -// This unit knows nothing about DOM, but we include DOM aware documentation -// and dontFix argument here to help the autodocs. Actual DOM aware code is in -// event.js. - -dojo.connect = function(/*Object|null*/ obj, - /*String*/ event, - /*Object|null*/ context, - /*String|Function*/ method, - /*Boolean?*/ dontFix){ - // summary: - // `dojo.connect` is the core event handling and delegation method in - // Dojo. It allows one function to "listen in" on the execution of - // any other, triggering the second whenever the first is called. Many - // listeners may be attached to a function, and source functions may - // be either regular function calls or DOM events. - // - // description: - // Connects listeners to actions, so that after event fires, a - // listener is called with the same arguments passed to the original - // function. - // - // Since `dojo.connect` allows the source of events to be either a - // "regular" JavaScript function or a DOM event, it provides a uniform - // interface for listening to all the types of events that an - // application is likely to deal with though a single, unified - // interface. DOM programmers may want to think of it as - // "addEventListener for everything and anything". - // - // When setting up a connection, the `event` parameter must be a - // string that is the name of the method/event to be listened for. If - // `obj` is null, `dojo.global` is assumed, meaning that connections - // to global methods are supported but also that you may inadvertently - // connect to a global by passing an incorrect object name or invalid - // reference. - // - // `dojo.connect` generally is forgiving. If you pass the name of a - // function or method that does not yet exist on `obj`, connect will - // not fail, but will instead set up a stub method. Similarly, null - // arguments may simply be omitted such that fewer than 4 arguments - // may be required to set up a connection See the examples for details. - // - // The return value is a handle that is needed to - // remove this connection with `dojo.disconnect`. - // - // obj: - // The source object for the event function. - // Defaults to `dojo.global` if null. - // If obj is a DOM node, the connection is delegated - // to the DOM event manager (unless dontFix is true). - // - // event: - // String name of the event function in obj. - // I.e. identifies a property `obj[event]`. - // - // context: - // The object that method will receive as "this". - // - // If context is null and method is a function, then method - // inherits the context of event. - // - // If method is a string then context must be the source - // object object for method (context[method]). If context is null, - // dojo.global is used. - // - // method: - // A function reference, or name of a function in context. - // The function identified by method fires after event does. - // method receives the same arguments as the event. - // See context argument comments for information on method's scope. - // - // dontFix: - // If obj is a DOM node, set dontFix to true to prevent delegation - // of this connection to the DOM event manager. - // - // example: - // When obj.onchange(), do ui.update(): - // | dojo.connect(obj, "onchange", ui, "update"); - // | dojo.connect(obj, "onchange", ui, ui.update); // same - // - // example: - // Using return value for disconnect: - // | var link = dojo.connect(obj, "onchange", ui, "update"); - // | ... - // | dojo.disconnect(link); - // - // example: - // When onglobalevent executes, watcher.handler is invoked: - // | dojo.connect(null, "onglobalevent", watcher, "handler"); - // - // example: - // When ob.onCustomEvent executes, customEventHandler is invoked: - // | dojo.connect(ob, "onCustomEvent", null, "customEventHandler"); - // | dojo.connect(ob, "onCustomEvent", "customEventHandler"); // same - // - // example: - // When ob.onCustomEvent executes, customEventHandler is invoked - // with the same scope (this): - // | dojo.connect(ob, "onCustomEvent", null, customEventHandler); - // | dojo.connect(ob, "onCustomEvent", customEventHandler); // same - // - // example: - // When globalEvent executes, globalHandler is invoked - // with the same scope (this): - // | dojo.connect(null, "globalEvent", null, globalHandler); - // | dojo.connect("globalEvent", globalHandler); // same - - // normalize arguments - var a=arguments, args=[], i=0; - // if a[0] is a String, obj was omitted - args.push(dojo.isString(a[0]) ? null : a[i++], a[i++]); - // if the arg-after-next is a String or Function, context was NOT omitted - var a1 = a[i+1]; - args.push(dojo.isString(a1)||dojo.isFunction(a1) ? a[i++] : null, a[i++]); - // absorb any additional arguments - for(var l=a.length; i<l; i++){ args.push(a[i]); } - // do the actual work - return dojo._connect.apply(this, args); /*Handle*/ -} - -// used by non-browser hostenvs. always overriden by event.js -dojo._connect = function(obj, event, context, method){ - var l=dojo._listener, h=l.add(obj, event, dojo.hitch(context, method)); - return [obj, event, h, l]; // Handle -}; - -dojo.disconnect = function(/*Handle*/ handle){ - // summary: - // Remove a link created by dojo.connect. - // description: - // Removes the connection between event and the method referenced by handle. - // handle: - // the return value of the dojo.connect call that created the connection. - if(handle && handle[0] !== undefined){ - dojo._disconnect.apply(this, handle); - // let's not keep this reference - delete handle[0]; - } -}; - -dojo._disconnect = function(obj, event, handle, listener){ - listener.remove(obj, event, handle); -}; - -// topic publish/subscribe - -dojo._topics = {}; - -dojo.subscribe = function(/*String*/ topic, /*Object|null*/ context, /*String|Function*/ method){ - // summary: - // Attach a listener to a named topic. The listener function is invoked whenever the - // named topic is published (see: dojo.publish). - // Returns a handle which is needed to unsubscribe this listener. - // context: - // Scope in which method will be invoked, or null for default scope. - // method: - // The name of a function in context, or a function reference. This is the function that - // is invoked when topic is published. - // example: - // | dojo.subscribe("alerts", null, function(caption, message){ alert(caption + "\n" + message); }); - // | dojo.publish("alerts", [ "read this", "hello world" ]); - - // support for 2 argument invocation (omitting context) depends on hitch - return [topic, dojo._listener.add(dojo._topics, topic, dojo.hitch(context, method))]; /*Handle*/ -}; - -dojo.unsubscribe = function(/*Handle*/ handle){ - // summary: - // Remove a topic listener. - // handle: - // The handle returned from a call to subscribe. - // example: - // | var alerter = dojo.subscribe("alerts", null, function(caption, message){ alert(caption + "\n" + message); }; - // | ... - // | dojo.unsubscribe(alerter); - if(handle){ - dojo._listener.remove(dojo._topics, handle[0], handle[1]); - } -}; - -dojo.publish = function(/*String*/ topic, /*Array*/ args){ - // summary: - // Invoke all listener method subscribed to topic. - // topic: - // The name of the topic to publish. - // args: - // An array of arguments. The arguments will be applied - // to each topic subscriber (as first class parameters, via apply). - // example: - // | dojo.subscribe("alerts", null, function(caption, message){ alert(caption + "\n" + message); }; - // | dojo.publish("alerts", [ "read this", "hello world" ]); - - // Note that args is an array, which is more efficient vs variable length - // argument list. Ideally, var args would be implemented via Array - // throughout the APIs. - var f = dojo._topics[topic]; - if(f){ - f.apply(this, args||[]); - } -}; - -dojo.connectPublisher = function( /*String*/ topic, - /*Object|null*/ obj, - /*String*/ event){ - // summary: - // Ensure that every time obj.event() is called, a message is published - // on the topic. Returns a handle which can be passed to - // dojo.disconnect() to disable subsequent automatic publication on - // the topic. - // topic: - // The name of the topic to publish. - // obj: - // The source object for the event function. Defaults to dojo.global - // if null. - // event: - // The name of the event function in obj. - // I.e. identifies a property obj[event]. - // example: - // | dojo.connectPublisher("/ajax/start", dojo, "xhrGet"); - var pf = function(){ dojo.publish(topic, arguments); } - return event ? dojo.connect(obj, event, pf) : dojo.connect(obj, pf); //Handle -}; - -} - -if(!dojo._hasResource["dojo._base.Deferred"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.Deferred"] = true; -dojo.provide("dojo._base.Deferred"); - - - -(function(){ - var mutator = function(){}; - var freeze = Object.freeze || function(){}; - // A deferred provides an API for creating and resolving a promise. - dojo.Deferred = function(/*Function?*/canceller){ - // summary: - // Deferreds provide a generic means for encapsulating an asynchronous - // operation and notifying users of the completion and result of the operation. - // description: - // The dojo.Deferred API is based on the concept of promises that provide a - // generic interface into the eventual completion of an asynchronous action. - // The motivation for promises fundamentally is about creating a - // separation of concerns that allows one to achieve the same type of - // call patterns and logical data flow in asynchronous code as can be - // achieved in synchronous code. Promises allows one - // to be able to call a function purely with arguments needed for - // execution, without conflating the call with concerns of whether it is - // sync or async. One shouldn't need to alter a call's arguments if the - // implementation switches from sync to async (or vice versa). By having - // async functions return promises, the concerns of making the call are - // separated from the concerns of asynchronous interaction (which are - // handled by the promise). - // - // The dojo.Deferred is a type of promise that provides methods for fulfilling the - // promise with a successful result or an error. The most important method for - // working with Dojo's promises is the then() method, which follows the - // CommonJS proposed promise API. An example of using a Dojo promise: - // - // | var resultingPromise = someAsyncOperation.then(function(result){ - // | ... handle result ... - // | }, - // | function(error){ - // | ... handle error ... - // | }); - // - // The .then() call returns a new promise that represents the result of the - // execution of the callback. The callbacks will never affect the original promises value. - // - // The dojo.Deferred instances also provide the following functions for backwards compatibility: - // - // * addCallback(handler) - // * addErrback(handler) - // * callback(result) - // * errback(result) - // - // Callbacks are allowed to return promises themselves, so - // you can build complicated sequences of events with ease. - // - // The creator of the Deferred may specify a canceller. The canceller - // is a function that will be called if Deferred.cancel is called - // before the Deferred fires. You can use this to implement clean - // aborting of an XMLHttpRequest, etc. Note that cancel will fire the - // deferred with a CancelledError (unless your canceller returns - // another kind of error), so the errbacks should be prepared to - // handle that error for cancellable Deferreds. - // example: - // | var deferred = new dojo.Deferred(); - // | setTimeout(function(){ deferred.callback({success: true}); }, 1000); - // | return deferred; - // example: - // Deferred objects are often used when making code asynchronous. It - // may be easiest to write functions in a synchronous manner and then - // split code using a deferred to trigger a response to a long-lived - // operation. For example, instead of register a callback function to - // denote when a rendering operation completes, the function can - // simply return a deferred: - // - // | // callback style: - // | function renderLotsOfData(data, callback){ - // | var success = false - // | try{ - // | for(var x in data){ - // | renderDataitem(data[x]); - // | } - // | success = true; - // | }catch(e){ } - // | if(callback){ - // | callback(success); - // | } - // | } - // - // | // using callback style - // | renderLotsOfData(someDataObj, function(success){ - // | // handles success or failure - // | if(!success){ - // | promptUserToRecover(); - // | } - // | }); - // | // NOTE: no way to add another callback here!! - // example: - // Using a Deferred doesn't simplify the sending code any, but it - // provides a standard interface for callers and senders alike, - // providing both with a simple way to service multiple callbacks for - // an operation and freeing both sides from worrying about details - // such as "did this get called already?". With Deferreds, new - // callbacks can be added at any time. - // - // | // Deferred style: - // | function renderLotsOfData(data){ - // | var d = new dojo.Deferred(); - // | try{ - // | for(var x in data){ - // | renderDataitem(data[x]); - // | } - // | d.callback(true); - // | }catch(e){ - // | d.errback(new Error("rendering failed")); - // | } - // | return d; - // | } - // - // | // using Deferred style - // | renderLotsOfData(someDataObj).then(null, function(){ - // | promptUserToRecover(); - // | }); - // | // NOTE: addErrback and addCallback both return the Deferred - // | // again, so we could chain adding callbacks or save the - // | // deferred for later should we need to be notified again. - // example: - // In this example, renderLotsOfData is synchronous and so both - // versions are pretty artificial. Putting the data display on a - // timeout helps show why Deferreds rock: - // - // | // Deferred style and async func - // | function renderLotsOfData(data){ - // | var d = new dojo.Deferred(); - // | setTimeout(function(){ - // | try{ - // | for(var x in data){ - // | renderDataitem(data[x]); - // | } - // | d.callback(true); - // | }catch(e){ - // | d.errback(new Error("rendering failed")); - // | } - // | }, 100); - // | return d; - // | } - // - // | // using Deferred style - // | renderLotsOfData(someDataObj).then(null, function(){ - // | promptUserToRecover(); - // | }); - // - // Note that the caller doesn't have to change his code at all to - // handle the asynchronous case. - var result, finished, isError, head, nextListener; - var promise = (this.promise = {}); - - function complete(value){ - if(finished){ - throw new Error("This deferred has already been resolved"); - } - result = value; - finished = true; - notify(); - } - function notify(){ - var mutated; - while(!mutated && nextListener){ - var listener = nextListener; - nextListener = nextListener.next; - if((mutated = (listener.progress == mutator))){ // assignment and check - finished = false; - } - var func = (isError ? listener.error : listener.resolved); - if (func) { - try { - var newResult = func(result); - if (newResult && typeof newResult.then === "function") { - newResult.then(dojo.hitch(listener.deferred, "resolve"), dojo.hitch(listener.deferred, "reject")); - continue; - } - var unchanged = mutated && newResult === undefined; - if(mutated && !unchanged){ - isError = newResult instanceof Error; - } - listener.deferred[unchanged && isError ? "reject" : "resolve"](unchanged ? result : newResult); - } - catch (e) { - listener.deferred.reject(e); - } - }else { - if(isError){ - listener.deferred.reject(result); - }else{ - listener.deferred.resolve(result); - } - } - } - } - // calling resolve will resolve the promise - this.resolve = this.callback = function(value){ - // summary: - // Fulfills the Deferred instance successfully with the provide value - this.fired = 0; - this.results = [value, null]; - complete(value); - }; - - - // calling error will indicate that the promise failed - this.reject = this.errback = function(error){ - // summary: - // Fulfills the Deferred instance as an error with the provided error - isError = true; - this.fired = 1; - complete(error); - this.results = [null, error]; - if(!error || error.log !== false){ - (dojo.config.deferredOnError || function(x){ console.error(x); })(error); - } - }; - // call progress to provide updates on the progress on the completion of the promise - this.progress = function(update){ - // summary - // Send progress events to all listeners - var listener = nextListener; - while(listener){ - var progress = listener.progress; - progress && progress(update); - listener = listener.next; - } - }; - this.addCallbacks = function(/*Function?*/callback, /*Function?*/errback){ - this.then(callback, errback, mutator); - return this; - }; - // provide the implementation of the promise - this.then = promise.then = function(/*Function?*/resolvedCallback, /*Function?*/errorCallback, /*Function?*/progressCallback){ - // summary: - // Adds a fulfilledHandler, errorHandler, and progressHandler to be called for - // completion of a promise. The fulfilledHandler is called when the promise - // is fulfilled. The errorHandler is called when a promise fails. The - // progressHandler is called for progress events. All arguments are optional - // and non-function values are ignored. The progressHandler is not only an - // optional argument, but progress events are purely optional. Promise - // providers are not required to ever create progress events. - // - // This function will return a new promise that is fulfilled when the given - // fulfilledHandler or errorHandler callback is finished. This allows promise - // operations to be chained together. The value returned from the callback - // handler is the fulfillment value for the returned promise. If the callback - // throws an error, the returned promise will be moved to failed state. - // - // example: - // An example of using a CommonJS compliant promise: - // | asyncComputeTheAnswerToEverything(). - // | then(addTwo). - // | then(printResult, onError); - // | >44 - // - var returnDeferred = progressCallback == mutator ? this : new dojo.Deferred(promise.cancel); - var listener = { - resolved: resolvedCallback, - error: errorCallback, - progress: progressCallback, - deferred: returnDeferred - }; - if(nextListener){ - head = head.next = listener; - } - else{ - nextListener = head = listener; - } - if(finished){ - notify(); - } - return returnDeferred.promise; - }; - var deferred = this; - this.cancel = promise.cancel = function () { - // summary: - // Cancels the asynchronous operation - if(!finished){ - var error = canceller && canceller(deferred); - if(!finished){ - if (!(error instanceof Error)) { - error = new Error(error); - } - error.log = false; - deferred.reject(error); - } - } - }; - freeze(promise); - }; - dojo.extend(dojo.Deferred, { - addCallback: function (/*Function*/callback) { - return this.addCallbacks(dojo.hitch.apply(dojo, arguments)); - }, - - addErrback: function (/*Function*/errback) { - return this.addCallbacks(null, dojo.hitch.apply(dojo, arguments)); - }, - - addBoth: function (/*Function*/callback) { - var enclosed = dojo.hitch.apply(dojo, arguments); - return this.addCallbacks(enclosed, enclosed); - }, - fired: -1 - }); -})(); -dojo.when = function(promiseOrValue, /*Function?*/callback, /*Function?*/errback, /*Function?*/progressHandler){ - // summary: - // This provides normalization between normal synchronous values and - // asynchronous promises, so you can interact with them in a common way - // example: - // | function printFirstAndList(items){ - // | dojo.when(findFirst(items), console.log); - // | dojo.when(findLast(items), console.log); - // | } - // | function findFirst(items){ - // | return dojo.when(items, function(items){ - // | return items[0]; - // | }); - // | } - // | function findLast(items){ - // | return dojo.when(items, function(items){ - // | return items[items.length]; - // | }); - // | } - // And now all three of his functions can be used sync or async. - // | printFirstAndLast([1,2,3,4]) will work just as well as - // | printFirstAndLast(dojo.xhrGet(...)); - - if(promiseOrValue && typeof promiseOrValue.then === "function"){ - return promiseOrValue.then(callback, errback, progressHandler); - } - return callback(promiseOrValue); -}; - -} - -if(!dojo._hasResource["dojo._base.json"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.json"] = true; -dojo.provide("dojo._base.json"); - - -dojo.fromJson = function(/*String*/ json){ - // summary: - // Parses a [JSON](http://json.org) string to return a JavaScript object. - // description: - // Throws for invalid JSON strings, but it does not use a strict JSON parser. It - // delegates to eval(). The content passed to this method must therefore come - // from a trusted source. - // json: - // a string literal of a JSON item, for instance: - // `'{ "foo": [ "bar", 1, { "baz": "thud" } ] }'` - - return eval("(" + json + ")"); // Object -}; - -dojo._escapeString = function(/*String*/str){ - //summary: - // Adds escape sequences for non-visual characters, double quote and - // backslash and surrounds with double quotes to form a valid string - // literal. - return ('"' + str.replace(/(["\\])/g, '\\$1') + '"'). - replace(/[\f]/g, "\\f").replace(/[\b]/g, "\\b").replace(/[\n]/g, "\\n"). - replace(/[\t]/g, "\\t").replace(/[\r]/g, "\\r"); // string -}; - -dojo.toJsonIndentStr = "\t"; -dojo.toJson = function(/*Object*/ it, /*Boolean?*/ prettyPrint, /*String?*/ _indentStr){ - // summary: - // Returns a [JSON](http://json.org) serialization of an object. - // description: - // Returns a [JSON](http://json.org) serialization of an object. - // Note that this doesn't check for infinite recursion, so don't do that! - // it: - // an object to be serialized. Objects may define their own - // serialization via a special "__json__" or "json" function - // property. If a specialized serializer has been defined, it will - // be used as a fallback. - // prettyPrint: - // if true, we indent objects and arrays to make the output prettier. - // The variable `dojo.toJsonIndentStr` is used as the indent string -- - // to use something other than the default (tab), change that variable - // before calling dojo.toJson(). - // _indentStr: - // private variable for recursive calls when pretty printing, do not use. - // example: - // simple serialization of a trivial object - // | var jsonStr = dojo.toJson({ howdy: "stranger!", isStrange: true }); - // | doh.is('{"howdy":"stranger!","isStrange":true}', jsonStr); - // example: - // a custom serializer for an objects of a particular class: - // | dojo.declare("Furby", null, { - // | furbies: "are strange", - // | furbyCount: 10, - // | __json__: function(){ - // | }, - // | }); - - if(it === undefined){ - return "undefined"; - } - var objtype = typeof it; - if(objtype == "number" || objtype == "boolean"){ - return it + ""; - } - if(it === null){ - return "null"; - } - if(dojo.isString(it)){ - return dojo._escapeString(it); - } - // recurse - var recurse = arguments.callee; - // short-circuit for objects that support "json" serialization - // if they return "self" then just pass-through... - var newObj; - _indentStr = _indentStr || ""; - var nextIndent = prettyPrint ? _indentStr + dojo.toJsonIndentStr : ""; - var tf = it.__json__||it.json; - if(dojo.isFunction(tf)){ - newObj = tf.call(it); - if(it !== newObj){ - return recurse(newObj, prettyPrint, nextIndent); - } - } - if(it.nodeType && it.cloneNode){ // isNode - // we can't seriailize DOM nodes as regular objects because they have cycles - // DOM nodes could be serialized with something like outerHTML, but - // that can be provided by users in the form of .json or .__json__ function. - throw new Error("Can't serialize DOM nodes"); - } - - var sep = prettyPrint ? " " : ""; - var newLine = prettyPrint ? "\n" : ""; - - // array - if(dojo.isArray(it)){ - var res = dojo.map(it, function(obj){ - var val = recurse(obj, prettyPrint, nextIndent); - if(typeof val != "string"){ - val = "undefined"; - } - return newLine + nextIndent + val; - }); - return "[" + res.join("," + sep) + newLine + _indentStr + "]"; - } - /* - // look in the registry - try { - window.o = it; - newObj = dojo.json.jsonRegistry.match(it); - return recurse(newObj, prettyPrint, nextIndent); - }catch(e){ - // console.log(e); - } - // it's a function with no adapter, skip it - */ - if(objtype == "function"){ - return null; // null - } - // generic object code path - var output = [], key; - for(key in it){ - var keyStr, val; - if(typeof key == "number"){ - keyStr = '"' + key + '"'; - }else if(typeof key == "string"){ - keyStr = dojo._escapeString(key); - }else{ - // skip non-string or number keys - continue; - } - val = recurse(it[key], prettyPrint, nextIndent); - if(typeof val != "string"){ - // skip non-serializable values - continue; - } - // FIXME: use += on Moz!! - // MOW NOTE: using += is a pain because you have to account for the dangling comma... - output.push(newLine + nextIndent + keyStr + ":" + sep + val); - } - return "{" + output.join("," + sep) + newLine + _indentStr + "}"; // String -}; - -} - -if(!dojo._hasResource["dojo._base.Color"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.Color"] = true; -dojo.provide("dojo._base.Color"); - - - - -(function(){ - - var d = dojo; - - dojo.Color = function(/*Array|String|Object*/ color){ - // summary: - // Takes a named string, hex string, array of rgb or rgba values, - // an object with r, g, b, and a properties, or another `dojo.Color` object - // and creates a new Color instance to work from. - // - // example: - // Work with a Color instance: - // | var c = new dojo.Color(); - // | c.setColor([0,0,0]); // black - // | var hex = c.toHex(); // #000000 - // - // example: - // Work with a node's color: - // | var color = dojo.style("someNode", "backgroundColor"); - // | var n = new dojo.Color(color); - // | // adjust the color some - // | n.r *= .5; - // | console.log(n.toString()); // rgb(128, 255, 255); - if(color){ this.setColor(color); } - }; - - // FIXME: - // there's got to be a more space-efficient way to encode or discover - // these!! Use hex? - dojo.Color.named = { - black: [0,0,0], - silver: [192,192,192], - gray: [128,128,128], - white: [255,255,255], - maroon: [128,0,0], - red: [255,0,0], - purple: [128,0,128], - fuchsia: [255,0,255], - green: [0,128,0], - lime: [0,255,0], - olive: [128,128,0], - yellow: [255,255,0], - navy: [0,0,128], - blue: [0,0,255], - teal: [0,128,128], - aqua: [0,255,255], - transparent: d.config.transparentColor || [255,255,255] - }; - - dojo.extend(dojo.Color, { - r: 255, g: 255, b: 255, a: 1, - _set: function(r, g, b, a){ - var t = this; t.r = r; t.g = g; t.b = b; t.a = a; - }, - setColor: function(/*Array|String|Object*/ color){ - // summary: - // Takes a named string, hex string, array of rgb or rgba values, - // an object with r, g, b, and a properties, or another `dojo.Color` object - // and sets this color instance to that value. - // - // example: - // | var c = new dojo.Color(); // no color - // | c.setColor("#ededed"); // greyish - if(d.isString(color)){ - d.colorFromString(color, this); - }else if(d.isArray(color)){ - d.colorFromArray(color, this); - }else{ - this._set(color.r, color.g, color.b, color.a); - if(!(color instanceof d.Color)){ this.sanitize(); } - } - return this; // dojo.Color - }, - sanitize: function(){ - // summary: - // Ensures the object has correct attributes - // description: - // the default implementation does nothing, include dojo.colors to - // augment it with real checks - return this; // dojo.Color - }, - toRgb: function(){ - // summary: - // Returns 3 component array of rgb values - // example: - // | var c = new dojo.Color("#000000"); - // | console.log(c.toRgb()); // [0,0,0] - var t = this; - return [t.r, t.g, t.b]; // Array - }, - toRgba: function(){ - // summary: - // Returns a 4 component array of rgba values from the color - // represented by this object. - var t = this; - return [t.r, t.g, t.b, t.a]; // Array - }, - toHex: function(){ - // summary: - // Returns a CSS color string in hexadecimal representation - // example: - // | console.log(new dojo.Color([0,0,0]).toHex()); // #000000 - var arr = d.map(["r", "g", "b"], function(x){ - var s = this[x].toString(16); - return s.length < 2 ? "0" + s : s; - }, this); - return "#" + arr.join(""); // String - }, - toCss: function(/*Boolean?*/ includeAlpha){ - // summary: - // Returns a css color string in rgb(a) representation - // example: - // | var c = new dojo.Color("#FFF").toCss(); - // | console.log(c); // rgb('255','255','255') - var t = this, rgb = t.r + ", " + t.g + ", " + t.b; - return (includeAlpha ? "rgba(" + rgb + ", " + t.a : "rgb(" + rgb) + ")"; // String - }, - toString: function(){ - // summary: - // Returns a visual representation of the color - return this.toCss(true); // String - } - }); - - dojo.blendColors = function( - /*dojo.Color*/ start, - /*dojo.Color*/ end, - /*Number*/ weight, - /*dojo.Color?*/ obj - ){ - // summary: - // Blend colors end and start with weight from 0 to 1, 0.5 being a 50/50 blend, - // can reuse a previously allocated dojo.Color object for the result - var t = obj || new d.Color(); - d.forEach(["r", "g", "b", "a"], function(x){ - t[x] = start[x] + (end[x] - start[x]) * weight; - if(x != "a"){ t[x] = Math.round(t[x]); } - }); - return t.sanitize(); // dojo.Color - }; - - dojo.colorFromRgb = function(/*String*/ color, /*dojo.Color?*/ obj){ - // summary: - // Returns a `dojo.Color` instance from a string of the form - // "rgb(...)" or "rgba(...)". Optionally accepts a `dojo.Color` - // object to update with the parsed value and return instead of - // creating a new object. - // returns: - // A dojo.Color object. If obj is passed, it will be the return value. - var m = color.toLowerCase().match(/^rgba?\(([\s\.,0-9]+)\)/); - return m && dojo.colorFromArray(m[1].split(/\s*,\s*/), obj); // dojo.Color - }; - - dojo.colorFromHex = function(/*String*/ color, /*dojo.Color?*/ obj){ - // summary: - // Converts a hex string with a '#' prefix to a color object. - // Supports 12-bit #rgb shorthand. Optionally accepts a - // `dojo.Color` object to update with the parsed value. - // - // returns: - // A dojo.Color object. If obj is passed, it will be the return value. - // - // example: - // | var thing = dojo.colorFromHex("#ededed"); // grey, longhand - // - // example: - // | var thing = dojo.colorFromHex("#000"); // black, shorthand - var t = obj || new d.Color(), - bits = (color.length == 4) ? 4 : 8, - mask = (1 << bits) - 1; - color = Number("0x" + color.substr(1)); - if(isNaN(color)){ - return null; // dojo.Color - } - d.forEach(["b", "g", "r"], function(x){ - var c = color & mask; - color >>= bits; - t[x] = bits == 4 ? 17 * c : c; - }); - t.a = 1; - return t; // dojo.Color - }; - - dojo.colorFromArray = function(/*Array*/ a, /*dojo.Color?*/ obj){ - // summary: - // Builds a `dojo.Color` from a 3 or 4 element array, mapping each - // element in sequence to the rgb(a) values of the color. - // example: - // | var myColor = dojo.colorFromArray([237,237,237,0.5]); // grey, 50% alpha - // returns: - // A dojo.Color object. If obj is passed, it will be the return value. - var t = obj || new d.Color(); - t._set(Number(a[0]), Number(a[1]), Number(a[2]), Number(a[3])); - if(isNaN(t.a)){ t.a = 1; } - return t.sanitize(); // dojo.Color - }; - - dojo.colorFromString = function(/*String*/ str, /*dojo.Color?*/ obj){ - // summary: - // Parses `str` for a color value. Accepts hex, rgb, and rgba - // style color values. - // description: - // Acceptable input values for str may include arrays of any form - // accepted by dojo.colorFromArray, hex strings such as "#aaaaaa", or - // rgb or rgba strings such as "rgb(133, 200, 16)" or "rgba(10, 10, - // 10, 50)" - // returns: - // A dojo.Color object. If obj is passed, it will be the return value. - var a = d.Color.named[str]; - return a && d.colorFromArray(a, obj) || d.colorFromRgb(str, obj) || d.colorFromHex(str, obj); - }; -})(); - -} - -if(!dojo._hasResource["dojo._base.window"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.window"] = true; -dojo.provide("dojo._base.window"); - - -/*===== -dojo.doc = { - // summary: - // Alias for the current document. 'dojo.doc' can be modified - // for temporary context shifting. Also see dojo.withDoc(). - // description: - // Refer to dojo.doc rather - // than referring to 'window.document' to ensure your code runs - // correctly in managed contexts. - // example: - // | n.appendChild(dojo.doc.createElement('div')); -} -=====*/ -dojo.doc = window["document"] || null; - -dojo.body = function(){ - // summary: - // Return the body element of the document - // return the body object associated with dojo.doc - // example: - // | dojo.body().appendChild(dojo.doc.createElement('div')); - - // Note: document.body is not defined for a strict xhtml document - // Would like to memoize this, but dojo.doc can change vi dojo.withDoc(). - return dojo.doc.body || dojo.doc.getElementsByTagName("body")[0]; // Node -}; - -dojo.setContext = function(/*Object*/globalObject, /*DocumentElement*/globalDocument){ - // summary: - // changes the behavior of many core Dojo functions that deal with - // namespace and DOM lookup, changing them to work in a new global - // context (e.g., an iframe). The varibles dojo.global and dojo.doc - // are modified as a result of calling this function and the result of - // `dojo.body()` likewise differs. - dojo.global = globalObject; - dojo.doc = globalDocument; -}; - -dojo.withGlobal = function( /*Object*/globalObject, - /*Function*/callback, - /*Object?*/thisObject, - /*Array?*/cbArguments){ - // summary: - // Invoke callback with globalObject as dojo.global and - // globalObject.document as dojo.doc. - // description: - // Invoke callback with globalObject as dojo.global and - // globalObject.document as dojo.doc. If provided, globalObject - // will be executed in the context of object thisObject - // When callback() returns or throws an error, the dojo.global - // and dojo.doc will be restored to its previous state. - - var oldGlob = dojo.global; - try{ - dojo.global = globalObject; - return dojo.withDoc.call(null, globalObject.document, callback, thisObject, cbArguments); - }finally{ - dojo.global = oldGlob; - } -}; - -dojo.withDoc = function( /*DocumentElement*/documentObject, - /*Function*/callback, - /*Object?*/thisObject, - /*Array?*/cbArguments){ - // summary: - // Invoke callback with documentObject as dojo.doc. - // description: - // Invoke callback with documentObject as dojo.doc. If provided, - // callback will be executed in the context of object thisObject - // When callback() returns or throws an error, the dojo.doc will - // be restored to its previous state. - - var oldDoc = dojo.doc, - oldLtr = dojo._bodyLtr, - oldQ = dojo.isQuirks; - - try{ - dojo.doc = documentObject; - delete dojo._bodyLtr; // uncache - dojo.isQuirks = dojo.doc.compatMode == "BackCompat"; // no need to check for QuirksMode which was Opera 7 only - - if(thisObject && typeof callback == "string"){ - callback = thisObject[callback]; - } - - return callback.apply(thisObject, cbArguments || []); - }finally{ - dojo.doc = oldDoc; - delete dojo._bodyLtr; // in case it was undefined originally, and set to true/false by the alternate document - if(oldLtr !== undefined){ dojo._bodyLtr = oldLtr; } - dojo.isQuirks = oldQ; - } -}; - -} - -if(!dojo._hasResource["dojo._base.event"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.event"] = true; -dojo.provide("dojo._base.event"); - - - -// this file courtesy of the TurboAjax Group, licensed under a Dojo CLA - -(function(){ - // DOM event listener machinery - var del = (dojo._event_listener = { - add: function(/*DOMNode*/ node, /*String*/ name, /*Function*/ fp){ - if(!node){return;} - name = del._normalizeEventName(name); - fp = del._fixCallback(name, fp); - if( - !dojo.isIE && - (name == "mouseenter" || name == "mouseleave") - ){ - var ofp = fp; - name = (name == "mouseenter") ? "mouseover" : "mouseout"; - fp = function(e){ - if(!dojo.isDescendant(e.relatedTarget, node)){ - // e.type = oname; // FIXME: doesn't take? SJM: event.type is generally immutable. - return ofp.call(this, e); - } - } - } - node.addEventListener(name, fp, false); - return fp; /*Handle*/ - }, - remove: function(/*DOMNode*/ node, /*String*/ event, /*Handle*/ handle){ - // summary: - // clobbers the listener from the node - // node: - // DOM node to attach the event to - // event: - // the name of the handler to remove the function from - // handle: - // the handle returned from add - if(node){ - event = del._normalizeEventName(event); - if(!dojo.isIE && (event == "mouseenter" || event == "mouseleave")){ - event = (event == "mouseenter") ? "mouseover" : "mouseout"; - } - - node.removeEventListener(event, handle, false); - } - }, - _normalizeEventName: function(/*String*/ name){ - // Generally, name should be lower case, unless it is special - // somehow (e.g. a Mozilla DOM event). - // Remove 'on'. - return name.slice(0,2) =="on" ? name.slice(2) : name; - }, - _fixCallback: function(/*String*/ name, fp){ - // By default, we only invoke _fixEvent for 'keypress' - // If code is added to _fixEvent for other events, we have - // to revisit this optimization. - // This also applies to _fixEvent overrides for Safari and Opera - // below. - return name != "keypress" ? fp : function(e){ return fp.call(this, del._fixEvent(e, this)); }; - }, - _fixEvent: function(evt, sender){ - // _fixCallback only attaches us to keypress. - // Switch on evt.type anyway because we might - // be called directly from dojo.fixEvent. - switch(evt.type){ - case "keypress": - del._setKeyChar(evt); - break; - } - return evt; - }, - _setKeyChar: function(evt){ - evt.keyChar = evt.charCode >= 32 ? String.fromCharCode(evt.charCode) : ''; - evt.charOrCode = evt.keyChar || evt.keyCode; - }, - // For IE and Safari: some ctrl-key combinations (mostly w/punctuation) do not emit a char code in IE - // we map those virtual key codes to ascii here - // not valid for all (non-US) keyboards, so maybe we shouldn't bother - _punctMap: { - 106:42, - 111:47, - 186:59, - 187:43, - 188:44, - 189:45, - 190:46, - 191:47, - 192:96, - 219:91, - 220:92, - 221:93, - 222:39 - } - }); - - // DOM events - - dojo.fixEvent = function(/*Event*/ evt, /*DOMNode*/ sender){ - // summary: - // normalizes properties on the event object including event - // bubbling methods, keystroke normalization, and x/y positions - // evt: Event - // native event object - // sender: DOMNode - // node to treat as "currentTarget" - return del._fixEvent(evt, sender); - }; - - dojo.stopEvent = function(/*Event*/ evt){ - // summary: - // prevents propagation and clobbers the default action of the - // passed event - // evt: Event - // The event object. If omitted, window.event is used on IE. - evt.preventDefault(); - evt.stopPropagation(); - // NOTE: below, this method is overridden for IE - }; - - // the default listener to use on dontFix nodes, overriden for IE - var node_listener = dojo._listener; - - // Unify connect and event listeners - dojo._connect = function(obj, event, context, method, dontFix){ - // FIXME: need a more strict test - var isNode = obj && (obj.nodeType||obj.attachEvent||obj.addEventListener); - // choose one of three listener options: raw (connect.js), DOM event on a Node, custom event on a Node - // we need the third option to provide leak prevention on broken browsers (IE) - var lid = isNode ? (dontFix ? 2 : 1) : 0, l = [dojo._listener, del, node_listener][lid]; - // create a listener - var h = l.add(obj, event, dojo.hitch(context, method)); - // formerly, the disconnect package contained "l" directly, but if client code - // leaks the disconnect package (by connecting it to a node), referencing "l" - // compounds the problem. - // instead we return a listener id, which requires custom _disconnect below. - // return disconnect package - return [ obj, event, h, lid ]; - }; - - dojo._disconnect = function(obj, event, handle, listener){ - ([dojo._listener, del, node_listener][listener]).remove(obj, event, handle); - }; - - // Constants - - // Public: client code should test - // keyCode against these named constants, as the - // actual codes can vary by browser. - dojo.keys = { - // summary: - // Definitions for common key values - BACKSPACE: 8, - TAB: 9, - CLEAR: 12, - ENTER: 13, - SHIFT: 16, - CTRL: 17, - ALT: 18, - META: dojo.isSafari ? 91 : 224, // the apple key on macs - PAUSE: 19, - CAPS_LOCK: 20, - ESCAPE: 27, - SPACE: 32, - PAGE_UP: 33, - PAGE_DOWN: 34, - END: 35, - HOME: 36, - LEFT_ARROW: 37, - UP_ARROW: 38, - RIGHT_ARROW: 39, - DOWN_ARROW: 40, - INSERT: 45, - DELETE: 46, - HELP: 47, - LEFT_WINDOW: 91, - RIGHT_WINDOW: 92, - SELECT: 93, - NUMPAD_0: 96, - NUMPAD_1: 97, - NUMPAD_2: 98, - NUMPAD_3: 99, - NUMPAD_4: 100, - NUMPAD_5: 101, - NUMPAD_6: 102, - NUMPAD_7: 103, - NUMPAD_8: 104, - NUMPAD_9: 105, - NUMPAD_MULTIPLY: 106, - NUMPAD_PLUS: 107, - NUMPAD_ENTER: 108, - NUMPAD_MINUS: 109, - NUMPAD_PERIOD: 110, - NUMPAD_DIVIDE: 111, - F1: 112, - F2: 113, - F3: 114, - F4: 115, - F5: 116, - F6: 117, - F7: 118, - F8: 119, - F9: 120, - F10: 121, - F11: 122, - F12: 123, - F13: 124, - F14: 125, - F15: 126, - NUM_LOCK: 144, - SCROLL_LOCK: 145, - // virtual key mapping - copyKey: dojo.isMac && !dojo.isAIR ? (dojo.isSafari ? 91 : 224 ) : 17 - }; - - var evtCopyKey = dojo.isMac ? "metaKey" : "ctrlKey"; - - dojo.isCopyKey = function(e){ - // summary: - // Checks an event for the copy key (meta on Mac, and ctrl anywhere else) - // e: Event - // Event object to examine - return e[evtCopyKey]; // Boolean - }; - - // Public: decoding mouse buttons from events - -/*===== - dojo.mouseButtons = { - // LEFT: Number - // Numeric value of the left mouse button for the platform. - LEFT: 0, - // MIDDLE: Number - // Numeric value of the middle mouse button for the platform. - MIDDLE: 1, - // RIGHT: Number - // Numeric value of the right mouse button for the platform. - RIGHT: 2, - - isButton: function(e, button){ - // summary: - // Checks an event object for a pressed button - // e: Event - // Event object to examine - // button: Number - // The button value (example: dojo.mouseButton.LEFT) - return e.button == button; // Boolean - }, - isLeft: function(e){ - // summary: - // Checks an event object for the pressed left button - // e: Event - // Event object to examine - return e.button == 0; // Boolean - }, - isMiddle: function(e){ - // summary: - // Checks an event object for the pressed middle button - // e: Event - // Event object to examine - return e.button == 1; // Boolean - }, - isRight: function(e){ - // summary: - // Checks an event object for the pressed right button - // e: Event - // Event object to examine - return e.button == 2; // Boolean - } - }; -=====*/ - - if(dojo.isIE < 9 || (dojo.isIE && dojo.isQuirks)){ - dojo.mouseButtons = { - LEFT: 1, - MIDDLE: 4, - RIGHT: 2, - // helper functions - isButton: function(e, button){ return e.button & button; }, - isLeft: function(e){ return e.button & 1; }, - isMiddle: function(e){ return e.button & 4; }, - isRight: function(e){ return e.button & 2; } - }; - }else{ - dojo.mouseButtons = { - LEFT: 0, - MIDDLE: 1, - RIGHT: 2, - // helper functions - isButton: function(e, button){ return e.button == button; }, - isLeft: function(e){ return e.button == 0; }, - isMiddle: function(e){ return e.button == 1; }, - isRight: function(e){ return e.button == 2; } - }; - } - - // IE event normalization - if(dojo.isIE){ - var _trySetKeyCode = function(e, code){ - try{ - // squelch errors when keyCode is read-only - // (e.g. if keyCode is ctrl or shift) - return (e.keyCode = code); - }catch(e){ - return 0; - } - }; - - // by default, use the standard listener - var iel = dojo._listener; - var listenersName = (dojo._ieListenersName = "_" + dojo._scopeName + "_listeners"); - // dispatcher tracking property - if(!dojo.config._allow_leaks){ - // custom listener that handles leak protection for DOM events - node_listener = iel = dojo._ie_listener = { - // support handler indirection: event handler functions are - // referenced here. Event dispatchers hold only indices. - handlers: [], - // add a listener to an object - add: function(/*Object*/ source, /*String*/ method, /*Function*/ listener){ - source = source || dojo.global; - var f = source[method]; - if(!f||!f[listenersName]){ - var d = dojo._getIeDispatcher(); - // original target function is special - d.target = f && (ieh.push(f) - 1); - // dispatcher holds a list of indices into handlers table - d[listenersName] = []; - // redirect source to dispatcher - f = source[method] = d; - } - return f[listenersName].push(ieh.push(listener) - 1) ; /*Handle*/ - }, - // remove a listener from an object - remove: function(/*Object*/ source, /*String*/ method, /*Handle*/ handle){ - var f = (source||dojo.global)[method], l = f && f[listenersName]; - if(f && l && handle--){ - delete ieh[l[handle]]; - delete l[handle]; - } - } - }; - // alias used above - var ieh = iel.handlers; - } - - dojo.mixin(del, { - add: function(/*DOMNode*/ node, /*String*/ event, /*Function*/ fp){ - if(!node){return;} // undefined - event = del._normalizeEventName(event); - if(event=="onkeypress"){ - // we need to listen to onkeydown to synthesize - // keypress events that otherwise won't fire - // on IE - var kd = node.onkeydown; - if(!kd || !kd[listenersName] || !kd._stealthKeydownHandle){ - var h = del.add(node, "onkeydown", del._stealthKeyDown); - kd = node.onkeydown; - kd._stealthKeydownHandle = h; - kd._stealthKeydownRefs = 1; - }else{ - kd._stealthKeydownRefs++; - } - } - return iel.add(node, event, del._fixCallback(fp)); - }, - remove: function(/*DOMNode*/ node, /*String*/ event, /*Handle*/ handle){ - event = del._normalizeEventName(event); - iel.remove(node, event, handle); - if(event=="onkeypress"){ - var kd = node.onkeydown; - if(--kd._stealthKeydownRefs <= 0){ - iel.remove(node, "onkeydown", kd._stealthKeydownHandle); - delete kd._stealthKeydownHandle; - } - } - }, - _normalizeEventName: function(/*String*/ eventName){ - // Generally, eventName should be lower case, unless it is - // special somehow (e.g. a Mozilla event) - // ensure 'on' - return eventName.slice(0,2) != "on" ? "on" + eventName : eventName; - }, - _nop: function(){}, - _fixEvent: function(/*Event*/ evt, /*DOMNode*/ sender){ - // summary: - // normalizes properties on the event object including event - // bubbling methods, keystroke normalization, and x/y positions - // evt: - // native event object - // sender: - // node to treat as "currentTarget" - if(!evt){ - var w = sender && (sender.ownerDocument || sender.document || sender).parentWindow || window; - evt = w.event; - } - if(!evt){return(evt);} - evt.target = evt.srcElement; - evt.currentTarget = (sender || evt.srcElement); - evt.layerX = evt.offsetX; - evt.layerY = evt.offsetY; - // FIXME: scroll position query is duped from dojo.html to - // avoid dependency on that entire module. Now that HTML is in - // Base, we should convert back to something similar there. - var se = evt.srcElement, doc = (se && se.ownerDocument) || document; - // DO NOT replace the following to use dojo.body(), in IE, document.documentElement should be used - // here rather than document.body - var docBody = ((dojo.isIE < 6) || (doc["compatMode"] == "BackCompat")) ? doc.body : doc.documentElement; - var offset = dojo._getIeDocumentElementOffset(); - evt.pageX = evt.clientX + dojo._fixIeBiDiScrollLeft(docBody.scrollLeft || 0) - offset.x; - evt.pageY = evt.clientY + (docBody.scrollTop || 0) - offset.y; - if(evt.type == "mouseover"){ - evt.relatedTarget = evt.fromElement; - } - if(evt.type == "mouseout"){ - evt.relatedTarget = evt.toElement; - } - if (dojo.isIE < 9 || dojo.isQuirks) { - evt.stopPropagation = del._stopPropagation; - evt.preventDefault = del._preventDefault; - } - return del._fixKeys(evt); - }, - _fixKeys: function(evt){ - switch(evt.type){ - case "keypress": - var c = ("charCode" in evt ? evt.charCode : evt.keyCode); - if (c==10){ - // CTRL-ENTER is CTRL-ASCII(10) on IE, but CTRL-ENTER on Mozilla - c=0; - evt.keyCode = 13; - }else if(c==13||c==27){ - c=0; // Mozilla considers ENTER and ESC non-printable - }else if(c==3){ - c=99; // Mozilla maps CTRL-BREAK to CTRL-c - } - // Mozilla sets keyCode to 0 when there is a charCode - // but that stops the event on IE. - evt.charCode = c; - del._setKeyChar(evt); - break; - } - return evt; - }, - _stealthKeyDown: function(evt){ - // IE doesn't fire keypress for most non-printable characters. - // other browsers do, we simulate it here. - var kp = evt.currentTarget.onkeypress; - // only works if kp exists and is a dispatcher - if(!kp || !kp[listenersName]){ return; } - // munge key/charCode - var k=evt.keyCode; - // These are Windows Virtual Key Codes - // http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/VirtualKeyCodes.asp - var unprintable = (k!=13 || (dojo.isIE >= 9 && !dojo.isQuirks)) && k!=32 && k!=27 && (k<48||k>90) && (k<96||k>111) && (k<186||k>192) && (k<219||k>222); - - // synthesize keypress for most unprintables and CTRL-keys - if(unprintable||evt.ctrlKey){ - var c = unprintable ? 0 : k; - if(evt.ctrlKey){ - if(k==3 || k==13){ - return; // IE will post CTRL-BREAK, CTRL-ENTER as keypress natively - }else if(c>95 && c<106){ - c -= 48; // map CTRL-[numpad 0-9] to ASCII - }else if((!evt.shiftKey)&&(c>=65&&c<=90)){ - c += 32; // map CTRL-[A-Z] to lowercase - }else{ - c = del._punctMap[c] || c; // map other problematic CTRL combinations to ASCII - } - } - // simulate a keypress event - var faux = del._synthesizeEvent(evt, {type: 'keypress', faux: true, charCode: c}); - kp.call(evt.currentTarget, faux); - if(dojo.isIE < 9 || (dojo.isIE && dojo.isQuirks)){ - evt.cancelBubble = faux.cancelBubble; - } - evt.returnValue = faux.returnValue; - _trySetKeyCode(evt, faux.keyCode); - } - }, - // Called in Event scope - _stopPropagation: function(){ - this.cancelBubble = true; - }, - _preventDefault: function(){ - // Setting keyCode to 0 is the only way to prevent certain keypresses (namely - // ctrl-combinations that correspond to menu accelerator keys). - // Otoh, it prevents upstream listeners from getting this information - // Try to split the difference here by clobbering keyCode only for ctrl - // combinations. If you still need to access the key upstream, bubbledKeyCode is - // provided as a workaround. - this.bubbledKeyCode = this.keyCode; - if(this.ctrlKey){_trySetKeyCode(this, 0);} - this.returnValue = false; - } - }); - - // override stopEvent for IE - dojo.stopEvent = (dojo.isIE < 9 || dojo.isQuirks) ? function(evt){ - evt = evt || window.event; - del._stopPropagation.call(evt); - del._preventDefault.call(evt); - } : dojo.stopEvent; - } - - del._synthesizeEvent = function(evt, props){ - var faux = dojo.mixin({}, evt, props); - del._setKeyChar(faux); - // FIXME: would prefer to use dojo.hitch: dojo.hitch(evt, evt.preventDefault); - // but it throws an error when preventDefault is invoked on Safari - // does Event.preventDefault not support "apply" on Safari? - faux.preventDefault = function(){ evt.preventDefault(); }; - faux.stopPropagation = function(){ evt.stopPropagation(); }; - return faux; - }; - - // Opera event normalization - if(dojo.isOpera){ - dojo.mixin(del, { - _fixEvent: function(evt, sender){ - switch(evt.type){ - case "keypress": - var c = evt.which; - if(c==3){ - c=99; // Mozilla maps CTRL-BREAK to CTRL-c - } - // can't trap some keys at all, like INSERT and DELETE - // there is no differentiating info between DELETE and ".", or INSERT and "-" - c = c<41 && !evt.shiftKey ? 0 : c; - if(evt.ctrlKey && !evt.shiftKey && c>=65 && c<=90){ - // lowercase CTRL-[A-Z] keys - c += 32; - } - return del._synthesizeEvent(evt, { charCode: c }); - } - return evt; - } - }); - } - - // Webkit event normalization - if(dojo.isWebKit){ - del._add = del.add; - del._remove = del.remove; - - dojo.mixin(del, { - add: function(/*DOMNode*/ node, /*String*/ event, /*Function*/ fp){ - if(!node){return;} // undefined - var handle = del._add(node, event, fp); - if(del._normalizeEventName(event) == "keypress"){ - // we need to listen to onkeydown to synthesize - // keypress events that otherwise won't fire - // in Safari 3.1+: https://lists.webkit.org/pipermail/webkit-dev/2007-December/002992.html - handle._stealthKeyDownHandle = del._add(node, "keydown", function(evt){ - //A variation on the IE _stealthKeydown function - //Synthesize an onkeypress event, but only for unprintable characters. - var k=evt.keyCode; - // These are Windows Virtual Key Codes - // http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/VirtualKeyCodes.asp - var unprintable = k!=13 && k!=32 && (k<48 || k>90) && (k<96 || k>111) && (k<186 || k>192) && (k<219 || k>222); - // synthesize keypress for most unprintables and CTRL-keys - if(unprintable || evt.ctrlKey){ - var c = unprintable ? 0 : k; - if(evt.ctrlKey){ - if(k==3 || k==13){ - return; // IE will post CTRL-BREAK, CTRL-ENTER as keypress natively - }else if(c>95 && c<106){ - c -= 48; // map CTRL-[numpad 0-9] to ASCII - }else if(!evt.shiftKey && c>=65 && c<=90){ - c += 32; // map CTRL-[A-Z] to lowercase - }else{ - c = del._punctMap[c] || c; // map other problematic CTRL combinations to ASCII - } - } - // simulate a keypress event - var faux = del._synthesizeEvent(evt, {type: 'keypress', faux: true, charCode: c}); - fp.call(evt.currentTarget, faux); - } - }); - } - return handle; /*Handle*/ - }, - - remove: function(/*DOMNode*/ node, /*String*/ event, /*Handle*/ handle){ - if(node){ - if(handle._stealthKeyDownHandle){ - del._remove(node, "keydown", handle._stealthKeyDownHandle); - } - del._remove(node, event, handle); - } - }, - _fixEvent: function(evt, sender){ - switch(evt.type){ - case "keypress": - if(evt.faux){ return evt; } - var c = evt.charCode; - c = c>=32 ? c : 0; - return del._synthesizeEvent(evt, {charCode: c, faux: true}); - } - return evt; - } - }); - } - })(); - -if(dojo.isIE){ - // keep this out of the closure - // closing over 'iel' or 'ieh' b0rks leak prevention - // ls[i] is an index into the master handler array - dojo._ieDispatcher = function(args, sender){ - var ap = Array.prototype, - h = dojo._ie_listener.handlers, - c = args.callee, - ls = c[dojo._ieListenersName], - t = h[c.target]; - // return value comes from original target function - var r = t && t.apply(sender, args); - // make local copy of listener array so it's immutable during processing - var lls = [].concat(ls); - // invoke listeners after target function - for(var i in lls){ - var f = h[lls[i]]; - if(!(i in ap) && f){ - f.apply(sender, args); - } - } - return r; - }; - dojo._getIeDispatcher = function(){ - // ensure the returned function closes over nothing ("new Function" apparently doesn't close) - return new Function(dojo._scopeName + "._ieDispatcher(arguments, this)"); // function - }; - // keep this out of the closure to reduce RAM allocation - dojo._event_listener._fixCallback = function(fp){ - var f = dojo._event_listener._fixEvent; - return function(e){ return fp.call(this, f(e, this)); }; - }; -} - -} - -if(!dojo._hasResource["dojo._base.html"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.html"] = true; -dojo.provide("dojo._base.html"); - - - -// FIXME: need to add unit tests for all the semi-public methods - -try{ - document.execCommand("BackgroundImageCache", false, true); -}catch(e){ - // sane browsers don't have cache "issues" -} - -// ============================= -// DOM Functions -// ============================= - -/*===== -dojo.byId = function(id, doc){ - // summary: - // Returns DOM node with matching `id` attribute or `null` - // if not found. If `id` is a DomNode, this function is a no-op. - // - // id: String|DOMNode - // A string to match an HTML id attribute or a reference to a DOM Node - // - // doc: Document? - // Document to work in. Defaults to the current value of - // dojo.doc. Can be used to retrieve - // node references from other documents. - // - // example: - // Look up a node by ID: - // | var n = dojo.byId("foo"); - // - // example: - // Check if a node exists, and use it. - // | var n = dojo.byId("bar"); - // | if(n){ doStuff() ... } - // - // example: - // Allow string or DomNode references to be passed to a custom function: - // | var foo = function(nodeOrId){ - // | nodeOrId = dojo.byId(nodeOrId); - // | // ... more stuff - // | } -=====*/ - -if(dojo.isIE){ - dojo.byId = function(id, doc){ - if(typeof id != "string"){ - return id; - } - var _d = doc || dojo.doc, te = _d.getElementById(id); - // attributes.id.value is better than just id in case the - // user has a name=id inside a form - if(te && (te.attributes.id.value == id || te.id == id)){ - return te; - }else{ - var eles = _d.all[id]; - if(!eles || eles.nodeName){ - eles = [eles]; - } - // if more than 1, choose first with the correct id - var i=0; - while((te=eles[i++])){ - if((te.attributes && te.attributes.id && te.attributes.id.value == id) - || te.id == id){ - return te; - } - } - } - }; -}else{ - dojo.byId = function(id, doc){ - // inline'd type check. - // be sure to return null per documentation, to match IE branch. - return ((typeof id == "string") ? (doc || dojo.doc).getElementById(id) : id) || null; // DomNode - }; -} -/*===== -}; -=====*/ - -(function(){ - var d = dojo; - var byId = d.byId; - - var _destroyContainer = null, - _destroyDoc; - d.addOnWindowUnload(function(){ - _destroyContainer = null; //prevent IE leak - }); - -/*===== - dojo._destroyElement = function(node){ - // summary: - // Existing alias for `dojo.destroy`. Deprecated, will be removed - // in 2.0 - } -=====*/ - dojo._destroyElement = dojo.destroy = function(/*String|DomNode*/node){ - // summary: - // Removes a node from its parent, clobbering it and all of its - // children. - // - // description: - // Removes a node from its parent, clobbering it and all of its - // children. Function only works with DomNodes, and returns nothing. - // - // node: - // A String ID or DomNode reference of the element to be destroyed - // - // example: - // Destroy a node byId: - // | dojo.destroy("someId"); - // - // example: - // Destroy all nodes in a list by reference: - // | dojo.query(".someNode").forEach(dojo.destroy); - - node = byId(node); - try{ - var doc = node.ownerDocument; - // cannot use _destroyContainer.ownerDocument since this can throw an exception on IE - if(!_destroyContainer || _destroyDoc != doc){ - _destroyContainer = doc.createElement("div"); - _destroyDoc = doc; - } - _destroyContainer.appendChild(node.parentNode ? node.parentNode.removeChild(node) : node); - // NOTE: see http://trac.dojotoolkit.org/ticket/2931. This may be a bug and not a feature - _destroyContainer.innerHTML = ""; - }catch(e){ - /* squelch */ - } - }; - - dojo.isDescendant = function(/*DomNode|String*/node, /*DomNode|String*/ancestor){ - // summary: - // Returns true if node is a descendant of ancestor - // node: string id or node reference to test - // ancestor: string id or node reference of potential parent to test against - // - // example: - // Test is node id="bar" is a descendant of node id="foo" - // | if(dojo.isDescendant("bar", "foo")){ ... } - try{ - node = byId(node); - ancestor = byId(ancestor); - while(node){ - if(node == ancestor){ - return true; // Boolean - } - node = node.parentNode; - } - }catch(e){ /* squelch, return false */ } - return false; // Boolean - }; - - dojo.setSelectable = function(/*DomNode|String*/node, /*Boolean*/selectable){ - // summary: - // Enable or disable selection on a node - // node: - // id or reference to node - // selectable: - // state to put the node in. false indicates unselectable, true - // allows selection. - // example: - // Make the node id="bar" unselectable - // | dojo.setSelectable("bar"); - // example: - // Make the node id="bar" selectable - // | dojo.setSelectable("bar", true); - node = byId(node); - if(d.isMozilla){ - node.style.MozUserSelect = selectable ? "" : "none"; - }else if(d.isKhtml || d.isWebKit){ - node.style.KhtmlUserSelect = selectable ? "auto" : "none"; - }else if(d.isIE){ - var v = (node.unselectable = selectable ? "" : "on"); - d.query("*", node).forEach("item.unselectable = '"+v+"'"); - } - //FIXME: else? Opera? - }; - - var _insertBefore = function(/*DomNode*/node, /*DomNode*/ref){ - var parent = ref.parentNode; - if(parent){ - parent.insertBefore(node, ref); - } - }; - - var _insertAfter = function(/*DomNode*/node, /*DomNode*/ref){ - // summary: - // Try to insert node after ref - var parent = ref.parentNode; - if(parent){ - if(parent.lastChild == ref){ - parent.appendChild(node); - }else{ - parent.insertBefore(node, ref.nextSibling); - } - } - }; - - dojo.place = function(node, refNode, position){ - // summary: - // Attempt to insert node into the DOM, choosing from various positioning options. - // Returns the first argument resolved to a DOM node. - // - // node: String|DomNode - // id or node reference, or HTML fragment starting with "<" to place relative to refNode - // - // refNode: String|DomNode - // id or node reference to use as basis for placement - // - // position: String|Number? - // string noting the position of node relative to refNode or a - // number indicating the location in the childNodes collection of refNode. - // Accepted string values are: - // | * before - // | * after - // | * replace - // | * only - // | * first - // | * last - // "first" and "last" indicate positions as children of refNode, "replace" replaces refNode, - // "only" replaces all children. position defaults to "last" if not specified - // - // returns: DomNode - // Returned values is the first argument resolved to a DOM node. - // - // .place() is also a method of `dojo.NodeList`, allowing `dojo.query` node lookups. - // - // example: - // Place a node by string id as the last child of another node by string id: - // | dojo.place("someNode", "anotherNode"); - // - // example: - // Place a node by string id before another node by string id - // | dojo.place("someNode", "anotherNode", "before"); - // - // example: - // Create a Node, and place it in the body element (last child): - // | dojo.place("<div></div>", dojo.body()); - // - // example: - // Put a new LI as the first child of a list by id: - // | dojo.place("<li></li>", "someUl", "first"); - - refNode = byId(refNode); - if(typeof node == "string"){ // inline'd type check - node = /^\s*</.test(node) ? d._toDom(node, refNode.ownerDocument) : byId(node); - } - if(typeof position == "number"){ // inline'd type check - var cn = refNode.childNodes; - if(!cn.length || cn.length <= position){ - refNode.appendChild(node); - }else{ - _insertBefore(node, cn[position < 0 ? 0 : position]); - } - }else{ - switch(position){ - case "before": - _insertBefore(node, refNode); - break; - case "after": - _insertAfter(node, refNode); - break; - case "replace": - refNode.parentNode.replaceChild(node, refNode); - break; - case "only": - d.empty(refNode); - refNode.appendChild(node); - break; - case "first": - if(refNode.firstChild){ - _insertBefore(node, refNode.firstChild); - break; - } - // else fallthrough... - default: // aka: last - refNode.appendChild(node); - } - } - return node; // DomNode - }; - - // Box functions will assume this model. - // On IE/Opera, BORDER_BOX will be set if the primary document is in quirks mode. - // Can be set to change behavior of box setters. - - // can be either: - // "border-box" - // "content-box" (default) - dojo.boxModel = "content-box"; - - // We punt per-node box mode testing completely. - // If anybody cares, we can provide an additional (optional) unit - // that overrides existing code to include per-node box sensitivity. - - // Opera documentation claims that Opera 9 uses border-box in BackCompat mode. - // but experiments (Opera 9.10.8679 on Windows Vista) indicate that it actually continues to use content-box. - // IIRC, earlier versions of Opera did in fact use border-box. - // Opera guys, this is really confusing. Opera being broken in quirks mode is not our fault. - - if(d.isIE /*|| dojo.isOpera*/){ - // client code may have to adjust if compatMode varies across iframes - d.boxModel = document.compatMode == "BackCompat" ? "border-box" : "content-box"; - } - - // ============================= - // Style Functions - // ============================= - - // getComputedStyle drives most of the style code. - // Wherever possible, reuse the returned object. - // - // API functions below that need to access computed styles accept an - // optional computedStyle parameter. - // If this parameter is omitted, the functions will call getComputedStyle themselves. - // This way, calling code can access computedStyle once, and then pass the reference to - // multiple API functions. - -/*===== - dojo.getComputedStyle = function(node){ - // summary: - // Returns a "computed style" object. - // - // description: - // Gets a "computed style" object which can be used to gather - // information about the current state of the rendered node. - // - // Note that this may behave differently on different browsers. - // Values may have different formats and value encodings across - // browsers. - // - // Note also that this method is expensive. Wherever possible, - // reuse the returned object. - // - // Use the dojo.style() method for more consistent (pixelized) - // return values. - // - // node: DOMNode - // A reference to a DOM node. Does NOT support taking an - // ID string for speed reasons. - // example: - // | dojo.getComputedStyle(dojo.byId('foo')).borderWidth; - // - // example: - // Reusing the returned object, avoiding multiple lookups: - // | var cs = dojo.getComputedStyle(dojo.byId("someNode")); - // | var w = cs.width, h = cs.height; - return; // CSS2Properties - } -=====*/ - - // Although we normally eschew argument validation at this - // level, here we test argument 'node' for (duck)type, - // by testing nodeType, ecause 'document' is the 'parentNode' of 'body' - // it is frequently sent to this function even - // though it is not Element. - var gcs; - if(d.isWebKit){ - gcs = function(/*DomNode*/node){ - var s; - if(node.nodeType == 1){ - var dv = node.ownerDocument.defaultView; - s = dv.getComputedStyle(node, null); - if(!s && node.style){ - node.style.display = ""; - s = dv.getComputedStyle(node, null); - } - } - return s || {}; - }; - }else if(d.isIE){ - gcs = function(node){ - // IE (as of 7) doesn't expose Element like sane browsers - return node.nodeType == 1 /* ELEMENT_NODE*/ ? node.currentStyle : {}; - }; - }else{ - gcs = function(node){ - return node.nodeType == 1 ? - node.ownerDocument.defaultView.getComputedStyle(node, null) : {}; - }; - } - dojo.getComputedStyle = gcs; - - if(!d.isIE){ - d._toPixelValue = function(element, value){ - // style values can be floats, client code may want - // to round for integer pixels. - return parseFloat(value) || 0; - }; - }else{ - d._toPixelValue = function(element, avalue){ - if(!avalue){ return 0; } - // on IE7, medium is usually 4 pixels - if(avalue == "medium"){ return 4; } - // style values can be floats, client code may - // want to round this value for integer pixels. - if(avalue.slice && avalue.slice(-2) == 'px'){ return parseFloat(avalue); } - with(element){ - var sLeft = style.left; - var rsLeft = runtimeStyle.left; - runtimeStyle.left = currentStyle.left; - try{ - // 'avalue' may be incompatible with style.left, which can cause IE to throw - // this has been observed for border widths using "thin", "medium", "thick" constants - // those particular constants could be trapped by a lookup - // but perhaps there are more - style.left = avalue; - avalue = style.pixelLeft; - }catch(e){ - avalue = 0; - } - style.left = sLeft; - runtimeStyle.left = rsLeft; - } - return avalue; - }; - } - var px = d._toPixelValue; - - // FIXME: there opacity quirks on FF that we haven't ported over. Hrm. - /*===== - dojo._getOpacity = function(node){ - // summary: - // Returns the current opacity of the passed node as a - // floating-point value between 0 and 1. - // node: DomNode - // a reference to a DOM node. Does NOT support taking an - // ID string for speed reasons. - // returns: Number between 0 and 1 - return; // Number - } - =====*/ - - var astr = "DXImageTransform.Microsoft.Alpha"; - var af = function(n, f){ - try{ - return n.filters.item(astr); - }catch(e){ - return f ? {} : null; - } - }; - - dojo._getOpacity = - d.isIE < 9 ? function(node){ - try{ - return af(node).Opacity / 100; // Number - }catch(e){ - return 1; // Number - } - } : - function(node){ - return gcs(node).opacity; - }; - - /*===== - dojo._setOpacity = function(node, opacity){ - // summary: - // set the opacity of the passed node portably. Returns the - // new opacity of the node. - // node: DOMNode - // a reference to a DOM node. Does NOT support taking an - // ID string for performance reasons. - // opacity: Number - // A Number between 0 and 1. 0 specifies transparent. - // returns: Number between 0 and 1 - return; // Number - } - =====*/ - - dojo._setOpacity = - d.isIE < 9 ? function(/*DomNode*/node, /*Number*/opacity){ - var ov = opacity * 100, opaque = opacity == 1; - node.style.zoom = opaque ? "" : 1; - - if(!af(node)){ - if(opaque){ - return opacity; - } - node.style.filter += " progid:" + astr + "(Opacity=" + ov + ")"; - }else{ - af(node, 1).Opacity = ov; - } - - // on IE7 Alpha(Filter opacity=100) makes text look fuzzy so disable it altogether (bug #2661), - //but still update the opacity value so we can get a correct reading if it is read later. - af(node, 1).Enabled = !opaque; - - if(node.nodeName.toLowerCase() == "tr"){ - d.query("> td", node).forEach(function(i){ - d._setOpacity(i, opacity); - }); - } - return opacity; - } : - function(node, opacity){ - return node.style.opacity = opacity; - }; - - var _pixelNamesCache = { - left: true, top: true - }; - var _pixelRegExp = /margin|padding|width|height|max|min|offset/; // |border - var _toStyleValue = function(node, type, value){ - type = type.toLowerCase(); // FIXME: should we really be doing string case conversion here? Should we cache it? Need to profile! - if(d.isIE){ - if(value == "auto"){ - if(type == "height"){ return node.offsetHeight; } - if(type == "width"){ return node.offsetWidth; } - } - if(type == "fontweight"){ - switch(value){ - case 700: return "bold"; - case 400: - default: return "normal"; - } - } - } - if(!(type in _pixelNamesCache)){ - _pixelNamesCache[type] = _pixelRegExp.test(type); - } - return _pixelNamesCache[type] ? px(node, value) : value; - }; - - var _floatStyle = d.isIE ? "styleFloat" : "cssFloat", - _floatAliases = { "cssFloat": _floatStyle, "styleFloat": _floatStyle, "float": _floatStyle } - ; - - // public API - - dojo.style = function( /*DomNode|String*/ node, - /*String?|Object?*/ style, - /*String?*/ value){ - // summary: - // Accesses styles on a node. If 2 arguments are - // passed, acts as a getter. If 3 arguments are passed, acts - // as a setter. - // description: - // Getting the style value uses the computed style for the node, so the value - // will be a calculated value, not just the immediate node.style value. - // Also when getting values, use specific style names, - // like "borderBottomWidth" instead of "border" since compound values like - // "border" are not necessarily reflected as expected. - // If you want to get node dimensions, use `dojo.marginBox()`, - // `dojo.contentBox()` or `dojo.position()`. - // node: - // id or reference to node to get/set style for - // style: - // the style property to set in DOM-accessor format - // ("borderWidth", not "border-width") or an object with key/value - // pairs suitable for setting each property. - // value: - // If passed, sets value on the node for style, handling - // cross-browser concerns. When setting a pixel value, - // be sure to include "px" in the value. For instance, top: "200px". - // Otherwise, in some cases, some browsers will not apply the style. - // example: - // Passing only an ID or node returns the computed style object of - // the node: - // | dojo.style("thinger"); - // example: - // Passing a node and a style property returns the current - // normalized, computed value for that property: - // | dojo.style("thinger", "opacity"); // 1 by default - // - // example: - // Passing a node, a style property, and a value changes the - // current display of the node and returns the new computed value - // | dojo.style("thinger", "opacity", 0.5); // == 0.5 - // - // example: - // Passing a node, an object-style style property sets each of the values in turn and returns the computed style object of the node: - // | dojo.style("thinger", { - // | "opacity": 0.5, - // | "border": "3px solid black", - // | "height": "300px" - // | }); - // - // example: - // When the CSS style property is hyphenated, the JavaScript property is camelCased. - // font-size becomes fontSize, and so on. - // | dojo.style("thinger",{ - // | fontSize:"14pt", - // | letterSpacing:"1.2em" - // | }); - // - // example: - // dojo.NodeList implements .style() using the same syntax, omitting the "node" parameter, calling - // dojo.style() on every element of the list. See: `dojo.query()` and `dojo.NodeList()` - // | dojo.query(".someClassName").style("visibility","hidden"); - // | // or - // | dojo.query("#baz > div").style({ - // | opacity:0.75, - // | fontSize:"13pt" - // | }); - - var n = byId(node), args = arguments.length, op = (style == "opacity"); - style = _floatAliases[style] || style; - if(args == 3){ - return op ? d._setOpacity(n, value) : n.style[style] = value; /*Number*/ - } - if(args == 2 && op){ - return d._getOpacity(n); - } - var s = gcs(n); - if(args == 2 && typeof style != "string"){ // inline'd type check - for(var x in style){ - d.style(node, x, style[x]); - } - return s; - } - return (args == 1) ? s : _toStyleValue(n, style, s[style] || n.style[style]); /* CSS2Properties||String||Number */ - }; - - // ============================= - // Box Functions - // ============================= - - dojo._getPadExtents = function(/*DomNode*/n, /*Object*/computedStyle){ - // summary: - // Returns object with special values specifically useful for node - // fitting. - // description: - // Returns an object with `w`, `h`, `l`, `t` properties: - // | l/t = left/top padding (respectively) - // | w = the total of the left and right padding - // | h = the total of the top and bottom padding - // If 'node' has position, l/t forms the origin for child nodes. - // The w/h are used for calculating boxes. - // Normally application code will not need to invoke this - // directly, and will use the ...box... functions instead. - var - s = computedStyle||gcs(n), - l = px(n, s.paddingLeft), - t = px(n, s.paddingTop); - return { - l: l, - t: t, - w: l+px(n, s.paddingRight), - h: t+px(n, s.paddingBottom) - }; - }; - - dojo._getBorderExtents = function(/*DomNode*/n, /*Object*/computedStyle){ - // summary: - // returns an object with properties useful for noting the border - // dimensions. - // description: - // * l/t = the sum of left/top border (respectively) - // * w = the sum of the left and right border - // * h = the sum of the top and bottom border - // - // The w/h are used for calculating boxes. - // Normally application code will not need to invoke this - // directly, and will use the ...box... functions instead. - var - ne = "none", - s = computedStyle||gcs(n), - bl = (s.borderLeftStyle != ne ? px(n, s.borderLeftWidth) : 0), - bt = (s.borderTopStyle != ne ? px(n, s.borderTopWidth) : 0); - return { - l: bl, - t: bt, - w: bl + (s.borderRightStyle!=ne ? px(n, s.borderRightWidth) : 0), - h: bt + (s.borderBottomStyle!=ne ? px(n, s.borderBottomWidth) : 0) - }; - }; - - dojo._getPadBorderExtents = function(/*DomNode*/n, /*Object*/computedStyle){ - // summary: - // Returns object with properties useful for box fitting with - // regards to padding. - // description: - // * l/t = the sum of left/top padding and left/top border (respectively) - // * w = the sum of the left and right padding and border - // * h = the sum of the top and bottom padding and border - // - // The w/h are used for calculating boxes. - // Normally application code will not need to invoke this - // directly, and will use the ...box... functions instead. - var - s = computedStyle||gcs(n), - p = d._getPadExtents(n, s), - b = d._getBorderExtents(n, s); - return { - l: p.l + b.l, - t: p.t + b.t, - w: p.w + b.w, - h: p.h + b.h - }; - }; - - dojo._getMarginExtents = function(n, computedStyle){ - // summary: - // returns object with properties useful for box fitting with - // regards to box margins (i.e., the outer-box). - // - // * l/t = marginLeft, marginTop, respectively - // * w = total width, margin inclusive - // * h = total height, margin inclusive - // - // The w/h are used for calculating boxes. - // Normally application code will not need to invoke this - // directly, and will use the ...box... functions instead. - var - s = computedStyle||gcs(n), - l = px(n, s.marginLeft), - t = px(n, s.marginTop), - r = px(n, s.marginRight), - b = px(n, s.marginBottom); - if(d.isWebKit && (s.position != "absolute")){ - // FIXME: Safari's version of the computed right margin - // is the space between our right edge and the right edge - // of our offsetParent. - // What we are looking for is the actual margin value as - // determined by CSS. - // Hack solution is to assume left/right margins are the same. - r = l; - } - return { - l: l, - t: t, - w: l+r, - h: t+b - }; - }; - - // Box getters work in any box context because offsetWidth/clientWidth - // are invariant wrt box context - // - // They do *not* work for display: inline objects that have padding styles - // because the user agent ignores padding (it's bogus styling in any case) - // - // Be careful with IMGs because they are inline or block depending on - // browser and browser mode. - - // Although it would be easier to read, there are not separate versions of - // _getMarginBox for each browser because: - // 1. the branching is not expensive - // 2. factoring the shared code wastes cycles (function call overhead) - // 3. duplicating the shared code wastes bytes - - dojo._getMarginBox = function(/*DomNode*/node, /*Object*/computedStyle){ - // summary: - // returns an object that encodes the width, height, left and top - // positions of the node's margin box. - var s = computedStyle || gcs(node), me = d._getMarginExtents(node, s); - var l = node.offsetLeft - me.l, t = node.offsetTop - me.t, p = node.parentNode; - if(d.isMoz){ - // Mozilla: - // If offsetParent has a computed overflow != visible, the offsetLeft is decreased - // by the parent's border. - // We don't want to compute the parent's style, so instead we examine node's - // computed left/top which is more stable. - var sl = parseFloat(s.left), st = parseFloat(s.top); - if(!isNaN(sl) && !isNaN(st)){ - l = sl, t = st; - }else{ - // If child's computed left/top are not parseable as a number (e.g. "auto"), we - // have no choice but to examine the parent's computed style. - if(p && p.style){ - var pcs = gcs(p); - if(pcs.overflow != "visible"){ - var be = d._getBorderExtents(p, pcs); - l += be.l, t += be.t; - } - } - } - }else if(d.isOpera || (d.isIE > 7 && !d.isQuirks)){ - // On Opera and IE 8, offsetLeft/Top includes the parent's border - if(p){ - be = d._getBorderExtents(p); - l -= be.l; - t -= be.t; - } - } - return { - l: l, - t: t, - w: node.offsetWidth + me.w, - h: node.offsetHeight + me.h - }; - } - - dojo._getMarginSize = function(/*DomNode*/node, /*Object*/computedStyle){ - // summary: - // returns an object that encodes the width and height of - // the node's margin box - node = byId(node); - var me = d._getMarginExtents(node, computedStyle || gcs(node)); - - var size = node.getBoundingClientRect(); - return { - w: (size.right - size.left) + me.w, - h: (size.bottom - size.top) + me.h - } - } - - dojo._getContentBox = function(node, computedStyle){ - // summary: - // Returns an object that encodes the width, height, left and top - // positions of the node's content box, irrespective of the - // current box model. - - // clientWidth/Height are important since the automatically account for scrollbars - // fallback to offsetWidth/Height for special cases (see #3378) - var s = computedStyle || gcs(node), - pe = d._getPadExtents(node, s), - be = d._getBorderExtents(node, s), - w = node.clientWidth, - h - ; - if(!w){ - w = node.offsetWidth, h = node.offsetHeight; - }else{ - h = node.clientHeight, be.w = be.h = 0; - } - // On Opera, offsetLeft includes the parent's border - if(d.isOpera){ pe.l += be.l; pe.t += be.t; }; - return { - l: pe.l, - t: pe.t, - w: w - pe.w - be.w, - h: h - pe.h - be.h - }; - }; - - dojo._getBorderBox = function(node, computedStyle){ - var s = computedStyle || gcs(node), - pe = d._getPadExtents(node, s), - cb = d._getContentBox(node, s) - ; - return { - l: cb.l - pe.l, - t: cb.t - pe.t, - w: cb.w + pe.w, - h: cb.h + pe.h - }; - }; - - // Box setters depend on box context because interpretation of width/height styles - // vary wrt box context. - // - // The value of dojo.boxModel is used to determine box context. - // dojo.boxModel can be set directly to change behavior. - // - // Beware of display: inline objects that have padding styles - // because the user agent ignores padding (it's a bogus setup anyway) - // - // Be careful with IMGs because they are inline or block depending on - // browser and browser mode. - // - // Elements other than DIV may have special quirks, like built-in - // margins or padding, or values not detectable via computedStyle. - // In particular, margins on TABLE do not seems to appear - // at all in computedStyle on Mozilla. - - dojo._setBox = function(/*DomNode*/node, /*Number?*/l, /*Number?*/t, /*Number?*/w, /*Number?*/h, /*String?*/u){ - // summary: - // sets width/height/left/top in the current (native) box-model - // dimentions. Uses the unit passed in u. - // node: - // DOM Node reference. Id string not supported for performance - // reasons. - // l: - // left offset from parent. - // t: - // top offset from parent. - // w: - // width in current box model. - // h: - // width in current box model. - // u: - // unit measure to use for other measures. Defaults to "px". - u = u || "px"; - var s = node.style; - if(!isNaN(l)){ s.left = l + u; } - if(!isNaN(t)){ s.top = t + u; } - if(w >= 0){ s.width = w + u; } - if(h >= 0){ s.height = h + u; } - }; - - dojo._isButtonTag = function(/*DomNode*/node) { - // summary: - // True if the node is BUTTON or INPUT.type="button". - return node.tagName == "BUTTON" - || node.tagName=="INPUT" && (node.getAttribute("type")||'').toUpperCase() == "BUTTON"; // boolean - }; - - dojo._usesBorderBox = function(/*DomNode*/node){ - // summary: - // True if the node uses border-box layout. - - // We could test the computed style of node to see if a particular box - // has been specified, but there are details and we choose not to bother. - - // TABLE and BUTTON (and INPUT type=button) are always border-box by default. - // If you have assigned a different box to either one via CSS then - // box functions will break. - - var n = node.tagName; - return d.boxModel=="border-box" || n=="TABLE" || d._isButtonTag(node); // boolean - }; - - dojo._setContentSize = function(/*DomNode*/node, /*Number*/widthPx, /*Number*/heightPx, /*Object*/computedStyle){ - // summary: - // Sets the size of the node's contents, irrespective of margins, - // padding, or borders. - if(d._usesBorderBox(node)){ - var pb = d._getPadBorderExtents(node, computedStyle); - if(widthPx >= 0){ widthPx += pb.w; } - if(heightPx >= 0){ heightPx += pb.h; } - } - d._setBox(node, NaN, NaN, widthPx, heightPx); - }; - - dojo._setMarginBox = function(/*DomNode*/node, /*Number?*/leftPx, /*Number?*/topPx, - /*Number?*/widthPx, /*Number?*/heightPx, - /*Object*/computedStyle){ - // summary: - // sets the size of the node's margin box and placement - // (left/top), irrespective of box model. Think of it as a - // passthrough to dojo._setBox that handles box-model vagaries for - // you. - - var s = computedStyle || gcs(node), - // Some elements have special padding, margin, and box-model settings. - // To use box functions you may need to set padding, margin explicitly. - // Controlling box-model is harder, in a pinch you might set dojo.boxModel. - bb = d._usesBorderBox(node), - pb = bb ? _nilExtents : d._getPadBorderExtents(node, s) - ; - if(d.isWebKit){ - // on Safari (3.1.2), button nodes with no explicit size have a default margin - // setting an explicit size eliminates the margin. - // We have to swizzle the width to get correct margin reading. - if(d._isButtonTag(node)){ - var ns = node.style; - if(widthPx >= 0 && !ns.width) { ns.width = "4px"; } - if(heightPx >= 0 && !ns.height) { ns.height = "4px"; } - } - } - var mb = d._getMarginExtents(node, s); - if(widthPx >= 0){ widthPx = Math.max(widthPx - pb.w - mb.w, 0); } - if(heightPx >= 0){ heightPx = Math.max(heightPx - pb.h - mb.h, 0); } - d._setBox(node, leftPx, topPx, widthPx, heightPx); - }; - - var _nilExtents = { l:0, t:0, w:0, h:0 }; - - // public API - - dojo.marginBox = function(/*DomNode|String*/node, /*Object?*/box){ - // summary: - // Getter/setter for the margin-box of node. - // description: - // Getter/setter for the margin-box of node. - // Returns an object in the expected format of box (regardless - // if box is passed). The object might look like: - // `{ l: 50, t: 200, w: 300: h: 150 }` - // for a node offset from its parent 50px to the left, 200px from - // the top with a margin width of 300px and a margin-height of - // 150px. - // node: - // id or reference to DOM Node to get/set box for - // box: - // If passed, denotes that dojo.marginBox() should - // update/set the margin box for node. Box is an object in the - // above format. All properties are optional if passed. - // example: - // Retrieve the marginbox of a passed node - // | var box = dojo.marginBox("someNodeId"); - // | console.dir(box); - // - // example: - // Set a node's marginbox to the size of another node - // | var box = dojo.marginBox("someNodeId"); - // | dojo.marginBox("someOtherNode", box); - - var n = byId(node), s = gcs(n), b = box; - return !b ? d._getMarginBox(n, s) : d._setMarginBox(n, b.l, b.t, b.w, b.h, s); // Object - }; - - dojo.contentBox = function(/*DomNode|String*/node, /*Object?*/box){ - // summary: - // Getter/setter for the content-box of node. - // description: - // Returns an object in the expected format of box (regardless if box is passed). - // The object might look like: - // `{ l: 50, t: 200, w: 300: h: 150 }` - // for a node offset from its parent 50px to the left, 200px from - // the top with a content width of 300px and a content-height of - // 150px. Note that the content box may have a much larger border - // or margin box, depending on the box model currently in use and - // CSS values set/inherited for node. - // While the getter will return top and left values, the - // setter only accepts setting the width and height. - // node: - // id or reference to DOM Node to get/set box for - // box: - // If passed, denotes that dojo.contentBox() should - // update/set the content box for node. Box is an object in the - // above format, but only w (width) and h (height) are supported. - // All properties are optional if passed. - var n = byId(node), s = gcs(n), b = box; - return !b ? d._getContentBox(n, s) : d._setContentSize(n, b.w, b.h, s); // Object - }; - - // ============================= - // Positioning - // ============================= - - var _sumAncestorProperties = function(node, prop){ - if(!(node = (node||0).parentNode)){return 0;} - var val, retVal = 0, _b = d.body(); - while(node && node.style){ - if(gcs(node).position == "fixed"){ - return 0; - } - val = node[prop]; - if(val){ - retVal += val - 0; - // opera and khtml #body & #html has the same values, we only - // need one value - if(node == _b){ break; } - } - node = node.parentNode; - } - return retVal; // integer - }; - - dojo._docScroll = function(){ - var n = d.global; - return "pageXOffset" in n - ? { x:n.pageXOffset, y:n.pageYOffset } - : (n = d.isQuirks? d.doc.body : d.doc.documentElement, { x:d._fixIeBiDiScrollLeft(n.scrollLeft || 0), y:n.scrollTop || 0 }); - }; - - dojo._isBodyLtr = function(){ - return "_bodyLtr" in d? d._bodyLtr : - d._bodyLtr = (d.body().dir || d.doc.documentElement.dir || "ltr").toLowerCase() == "ltr"; // Boolean - }; - - dojo._getIeDocumentElementOffset = function(){ - // summary: - // returns the offset in x and y from the document body to the - // visual edge of the page - // description: - // The following values in IE contain an offset: - // | event.clientX - // | event.clientY - // | node.getBoundingClientRect().left - // | node.getBoundingClientRect().top - // But other position related values do not contain this offset, - // such as node.offsetLeft, node.offsetTop, node.style.left and - // node.style.top. The offset is always (2, 2) in LTR direction. - // When the body is in RTL direction, the offset counts the width - // of left scroll bar's width. This function computes the actual - // offset. - - //NOTE: assumes we're being called in an IE browser - - var de = d.doc.documentElement; // only deal with HTML element here, _abs handles body/quirks - - if(d.isIE < 8){ - var r = de.getBoundingClientRect(); // works well for IE6+ - //console.debug('rect left,top = ' + r.left+','+r.top + ', html client left/top = ' + de.clientLeft+','+de.clientTop + ', rtl = ' + (!d._isBodyLtr()) + ', quirks = ' + d.isQuirks); - var l = r.left, - t = r.top; - if(d.isIE < 7){ - l += de.clientLeft; // scrollbar size in strict/RTL, or, - t += de.clientTop; // HTML border size in strict - } - return { - x: l < 0? 0 : l, // FRAME element border size can lead to inaccurate negative values - y: t < 0? 0 : t - }; - }else{ - return { - x: 0, - y: 0 - }; - } - - }; - - dojo._fixIeBiDiScrollLeft = function(/*Integer*/ scrollLeft){ - // In RTL direction, scrollLeft should be a negative value, but IE - // returns a positive one. All codes using documentElement.scrollLeft - // must call this function to fix this error, otherwise the position - // will offset to right when there is a horizontal scrollbar. - - var ie = d.isIE; - if(ie && !d._isBodyLtr()){ - var qk = d.isQuirks, - de = qk ? d.doc.body : d.doc.documentElement; - if(ie == 6 && !qk && d.global.frameElement && de.scrollHeight > de.clientHeight){ - scrollLeft += de.clientLeft; // workaround ie6+strict+rtl+iframe+vertical-scrollbar bug where clientWidth is too small by clientLeft pixels - } - return (ie < 8 || qk) ? (scrollLeft + de.clientWidth - de.scrollWidth) : -scrollLeft; // Integer - } - return scrollLeft; // Integer - }; - - // FIXME: need a setter for coords or a moveTo!! - dojo._abs = dojo.position = function(/*DomNode*/node, /*Boolean?*/includeScroll){ - // summary: - // Gets the position and size of the passed element relative to - // the viewport (if includeScroll==false), or relative to the - // document root (if includeScroll==true). - // - // description: - // Returns an object of the form: - // { x: 100, y: 300, w: 20, h: 15 } - // If includeScroll==true, the x and y values will include any - // document offsets that may affect the position relative to the - // viewport. - // Uses the border-box model (inclusive of border and padding but - // not margin). Does not act as a setter. - - node = byId(node); - var db = d.body(), - dh = db.parentNode, - ret = node.getBoundingClientRect(); - ret = { x: ret.left, y: ret.top, w: ret.right - ret.left, h: ret.bottom - ret.top }; - if(d.isIE){ - // On IE there's a 2px offset that we need to adjust for, see _getIeDocumentElementOffset() - var offset = d._getIeDocumentElementOffset(); - - // fixes the position in IE, quirks mode - ret.x -= offset.x + (d.isQuirks ? db.clientLeft+db.offsetLeft : 0); - ret.y -= offset.y + (d.isQuirks ? db.clientTop+db.offsetTop : 0); - }else if(d.isFF == 3){ - // In FF3 you have to subtract the document element margins. - // Fixed in FF3.5 though. - var cs = gcs(dh); - ret.x -= px(dh, cs.marginLeft) + px(dh, cs.borderLeftWidth); - ret.y -= px(dh, cs.marginTop) + px(dh, cs.borderTopWidth); - } - // account for document scrolling - if(includeScroll){ - var scroll = d._docScroll(); - ret.x += scroll.x; - ret.y += scroll.y; - } - - return ret; // Object - }; - - dojo.coords = function(/*DomNode|String*/node, /*Boolean?*/includeScroll){ - // summary: - // Deprecated: Use position() for border-box x/y/w/h - // or marginBox() for margin-box w/h/l/t. - // Returns an object representing a node's size and position. - // - // description: - // Returns an object that measures margin-box (w)idth/(h)eight - // and absolute position x/y of the border-box. Also returned - // is computed (l)eft and (t)op values in pixels from the - // node's offsetParent as returned from marginBox(). - // Return value will be in the form: - //| { l: 50, t: 200, w: 300: h: 150, x: 100, y: 300 } - // Does not act as a setter. If includeScroll is passed, the x and - // y params are affected as one would expect in dojo.position(). - var n = byId(node), s = gcs(n), mb = d._getMarginBox(n, s); - var abs = d.position(n, includeScroll); - mb.x = abs.x; - mb.y = abs.y; - return mb; - }; - - // ============================= - // Element attribute Functions - // ============================= - - // dojo.attr() should conform to http://www.w3.org/TR/DOM-Level-2-Core/ - - var _propNames = { - // properties renamed to avoid clashes with reserved words - "class": "className", - "for": "htmlFor", - // properties written as camelCase - tabindex: "tabIndex", - readonly: "readOnly", - colspan: "colSpan", - frameborder: "frameBorder", - rowspan: "rowSpan", - valuetype: "valueType" - }, - _attrNames = { - // original attribute names - classname: "class", - htmlfor: "for", - // for IE - tabindex: "tabIndex", - readonly: "readOnly" - }, - _forcePropNames = { - innerHTML: 1, - className: 1, - htmlFor: d.isIE, - value: 1 - }; - - var _fixAttrName = function(/*String*/ name){ - return _attrNames[name.toLowerCase()] || name; - }; - - var _hasAttr = function(node, name){ - var attr = node.getAttributeNode && node.getAttributeNode(name); - return attr && attr.specified; // Boolean - }; - - // There is a difference in the presence of certain properties and their default values - // between browsers. For example, on IE "disabled" is present on all elements, - // but it is value is "false"; "tabIndex" of <div> returns 0 by default on IE, yet other browsers - // can return -1. - - dojo.hasAttr = function(/*DomNode|String*/node, /*String*/name){ - // summary: - // Returns true if the requested attribute is specified on the - // given element, and false otherwise. - // node: - // id or reference to the element to check - // name: - // the name of the attribute - // returns: - // true if the requested attribute is specified on the - // given element, and false otherwise - var lc = name.toLowerCase(); - return _forcePropNames[_propNames[lc] || name] || _hasAttr(byId(node), _attrNames[lc] || name); // Boolean - }; - - var _evtHdlrMap = {}, _ctr = 0, - _attrId = dojo._scopeName + "attrid", - // the next dictionary lists elements with read-only innerHTML on IE - _roInnerHtml = {col: 1, colgroup: 1, - // frameset: 1, head: 1, html: 1, style: 1, - table: 1, tbody: 1, tfoot: 1, thead: 1, tr: 1, title: 1}; - - dojo.attr = function(/*DomNode|String*/node, /*String|Object*/name, /*String?*/value){ - // summary: - // Gets or sets an attribute on an HTML element. - // description: - // Handles normalized getting and setting of attributes on DOM - // Nodes. If 2 arguments are passed, and a the second argumnt is a - // string, acts as a getter. - // - // If a third argument is passed, or if the second argument is a - // map of attributes, acts as a setter. - // - // When passing functions as values, note that they will not be - // directly assigned to slots on the node, but rather the default - // behavior will be removed and the new behavior will be added - // using `dojo.connect()`, meaning that event handler properties - // will be normalized and that some caveats with regards to - // non-standard behaviors for onsubmit apply. Namely that you - // should cancel form submission using `dojo.stopEvent()` on the - // passed event object instead of returning a boolean value from - // the handler itself. - // node: - // id or reference to the element to get or set the attribute on - // name: - // the name of the attribute to get or set. - // value: - // The value to set for the attribute - // returns: - // when used as a getter, the value of the requested attribute - // or null if that attribute does not have a specified or - // default value; - // - // when used as a setter, the DOM node - // - // example: - // | // get the current value of the "foo" attribute on a node - // | dojo.attr(dojo.byId("nodeId"), "foo"); - // | // or we can just pass the id: - // | dojo.attr("nodeId", "foo"); - // - // example: - // | // use attr() to set the tab index - // | dojo.attr("nodeId", "tabIndex", 3); - // | - // - // example: - // Set multiple values at once, including event handlers: - // | dojo.attr("formId", { - // | "foo": "bar", - // | "tabIndex": -1, - // | "method": "POST", - // | "onsubmit": function(e){ - // | // stop submitting the form. Note that the IE behavior - // | // of returning true or false will have no effect here - // | // since our handler is connect()ed to the built-in - // | // onsubmit behavior and so we need to use - // | // dojo.stopEvent() to ensure that the submission - // | // doesn't proceed. - // | dojo.stopEvent(e); - // | - // | // submit the form with Ajax - // | dojo.xhrPost({ form: "formId" }); - // | } - // | }); - // - // example: - // Style is s special case: Only set with an object hash of styles - // | dojo.attr("someNode",{ - // | id:"bar", - // | style:{ - // | width:"200px", height:"100px", color:"#000" - // | } - // | }); - // - // example: - // Again, only set style as an object hash of styles: - // | var obj = { color:"#fff", backgroundColor:"#000" }; - // | dojo.attr("someNode", "style", obj); - // | - // | // though shorter to use `dojo.style()` in this case: - // | dojo.style("someNode", obj); - - node = byId(node); - var args = arguments.length, prop; - if(args == 2 && typeof name != "string"){ // inline'd type check - // the object form of setter: the 2nd argument is a dictionary - for(var x in name){ - d.attr(node, x, name[x]); - } - return node; // DomNode - } - var lc = name.toLowerCase(), - propName = _propNames[lc] || name, - forceProp = _forcePropNames[propName], - attrName = _attrNames[lc] || name; - if(args == 3){ - // setter - do{ - if(propName == "style" && typeof value != "string"){ // inline'd type check - // special case: setting a style - d.style(node, value); - break; - } - if(propName == "innerHTML"){ - // special case: assigning HTML - if(d.isIE && node.tagName.toLowerCase() in _roInnerHtml){ - d.empty(node); - node.appendChild(d._toDom(value, node.ownerDocument)); - }else{ - node[propName] = value; - } - break; - } - if(d.isFunction(value)){ - // special case: assigning an event handler - // clobber if we can - var attrId = d.attr(node, _attrId); - if(!attrId){ - attrId = _ctr++; - d.attr(node, _attrId, attrId); - } - if(!_evtHdlrMap[attrId]){ - _evtHdlrMap[attrId] = {}; - } - var h = _evtHdlrMap[attrId][propName]; - if(h){ - d.disconnect(h); - }else{ - try{ - delete node[propName]; - }catch(e){} - } - // ensure that event objects are normalized, etc. - _evtHdlrMap[attrId][propName] = d.connect(node, propName, value); - break; - } - if(forceProp || typeof value == "boolean"){ - // special case: forcing assignment to the property - // special case: setting boolean to a property instead of attribute - node[propName] = value; - break; - } - // node's attribute - node.setAttribute(attrName, value); - }while(false); - return node; // DomNode - } - // getter - // should we access this attribute via a property or - // via getAttribute()? - value = node[propName]; - if(forceProp && typeof value != "undefined"){ - // node's property - return value; // Anything - } - if(propName != "href" && (typeof value == "boolean" || d.isFunction(value))){ - // node's property - return value; // Anything - } - // node's attribute - // we need _hasAttr() here to guard against IE returning a default value - return _hasAttr(node, attrName) ? node.getAttribute(attrName) : null; // Anything - }; - - dojo.removeAttr = function(/*DomNode|String*/ node, /*String*/ name){ - // summary: - // Removes an attribute from an HTML element. - // node: - // id or reference to the element to remove the attribute from - // name: - // the name of the attribute to remove - byId(node).removeAttribute(_fixAttrName(name)); - }; - - dojo.getNodeProp = function(/*DomNode|String*/ node, /*String*/ name){ - // summary: - // Returns an effective value of a property or an attribute. - // node: - // id or reference to the element to remove the attribute from - // name: - // the name of the attribute - node = byId(node); - var lc = name.toLowerCase(), - propName = _propNames[lc] || name; - if((propName in node) && propName != "href"){ - // node's property - return node[propName]; // Anything - } - // node's attribute - var attrName = _attrNames[lc] || name; - return _hasAttr(node, attrName) ? node.getAttribute(attrName) : null; // Anything - }; - - dojo.create = function(tag, attrs, refNode, pos){ - // summary: - // Create an element, allowing for optional attribute decoration - // and placement. - // - // description: - // A DOM Element creation function. A shorthand method for creating a node or - // a fragment, and allowing for a convenient optional attribute setting step, - // as well as an optional DOM placement reference. - //| - // Attributes are set by passing the optional object through `dojo.attr`. - // See `dojo.attr` for noted caveats and nuances, and API if applicable. - //| - // Placement is done via `dojo.place`, assuming the new node to be the action - // node, passing along the optional reference node and position. - // - // tag: String|DomNode - // A string of the element to create (eg: "div", "a", "p", "li", "script", "br"), - // or an existing DOM node to process. - // - // attrs: Object - // An object-hash of attributes to set on the newly created node. - // Can be null, if you don't want to set any attributes/styles. - // See: `dojo.attr` for a description of available attributes. - // - // refNode: String?|DomNode? - // Optional reference node. Used by `dojo.place` to place the newly created - // node somewhere in the dom relative to refNode. Can be a DomNode reference - // or String ID of a node. - // - // pos: String? - // Optional positional reference. Defaults to "last" by way of `dojo.place`, - // though can be set to "first","after","before","last", "replace" or "only" - // to further control the placement of the new node relative to the refNode. - // 'refNode' is required if a 'pos' is specified. - // - // returns: DomNode - // - // example: - // Create a DIV: - // | var n = dojo.create("div"); - // - // example: - // Create a DIV with content: - // | var n = dojo.create("div", { innerHTML:"<p>hi</p>" }); - // - // example: - // Place a new DIV in the BODY, with no attributes set - // | var n = dojo.create("div", null, dojo.body()); - // - // example: - // Create an UL, and populate it with LI's. Place the list as the first-child of a - // node with id="someId": - // | var ul = dojo.create("ul", null, "someId", "first"); - // | var items = ["one", "two", "three", "four"]; - // | dojo.forEach(items, function(data){ - // | dojo.create("li", { innerHTML: data }, ul); - // | }); - // - // example: - // Create an anchor, with an href. Place in BODY: - // | dojo.create("a", { href:"foo.html", title:"Goto FOO!" }, dojo.body()); - // - // example: - // Create a `dojo.NodeList()` from a new element (for syntatic sugar): - // | dojo.query(dojo.create('div')) - // | .addClass("newDiv") - // | .onclick(function(e){ console.log('clicked', e.target) }) - // | .place("#someNode"); // redundant, but cleaner. - - var doc = d.doc; - if(refNode){ - refNode = byId(refNode); - doc = refNode.ownerDocument; - } - if(typeof tag == "string"){ // inline'd type check - tag = doc.createElement(tag); - } - if(attrs){ d.attr(tag, attrs); } - if(refNode){ d.place(tag, refNode, pos); } - return tag; // DomNode - }; - - /*===== - dojo.empty = function(node){ - // summary: - // safely removes all children of the node. - // node: DOMNode|String - // a reference to a DOM node or an id. - // example: - // Destroy node's children byId: - // | dojo.empty("someId"); - // - // example: - // Destroy all nodes' children in a list by reference: - // | dojo.query(".someNode").forEach(dojo.empty); - } - =====*/ - - d.empty = - d.isIE ? function(node){ - node = byId(node); - for(var c; c = node.lastChild;){ // intentional assignment - d.destroy(c); - } - } : - function(node){ - byId(node).innerHTML = ""; - }; - - /*===== - dojo._toDom = function(frag, doc){ - // summary: - // instantiates an HTML fragment returning the corresponding DOM. - // frag: String - // the HTML fragment - // doc: DocumentNode? - // optional document to use when creating DOM nodes, defaults to - // dojo.doc if not specified. - // returns: DocumentFragment - // - // example: - // Create a table row: - // | var tr = dojo._toDom("<tr><td>First!</td></tr>"); - } - =====*/ - - // support stuff for dojo._toDom - var tagWrap = { - option: ["select"], - tbody: ["table"], - thead: ["table"], - tfoot: ["table"], - tr: ["table", "tbody"], - td: ["table", "tbody", "tr"], - th: ["table", "thead", "tr"], - legend: ["fieldset"], - caption: ["table"], - colgroup: ["table"], - col: ["table", "colgroup"], - li: ["ul"] - }, - reTag = /<\s*([\w\:]+)/, - masterNode = {}, masterNum = 0, - masterName = "__" + d._scopeName + "ToDomId"; - - // generate start/end tag strings to use - // for the injection for each special tag wrap case. - for(var param in tagWrap){ - if(tagWrap.hasOwnProperty(param)){ - var tw = tagWrap[param]; - tw.pre = param == "option" ? '<select multiple="multiple">' : "<" + tw.join("><") + ">"; - tw.post = "</" + tw.reverse().join("></") + ">"; - // the last line is destructive: it reverses the array, - // but we don't care at this point - } - } - - d._toDom = function(frag, doc){ - // summary: - // converts HTML string into DOM nodes. - - doc = doc || d.doc; - var masterId = doc[masterName]; - if(!masterId){ - doc[masterName] = masterId = ++masterNum + ""; - masterNode[masterId] = doc.createElement("div"); - } - - // make sure the frag is a string. - frag += ""; - - // find the starting tag, and get node wrapper - var match = frag.match(reTag), - tag = match ? match[1].toLowerCase() : "", - master = masterNode[masterId], - wrap, i, fc, df; - if(match && tagWrap[tag]){ - wrap = tagWrap[tag]; - master.innerHTML = wrap.pre + frag + wrap.post; - for(i = wrap.length; i; --i){ - master = master.firstChild; - } - }else{ - master.innerHTML = frag; - } - - // one node shortcut => return the node itself - if(master.childNodes.length == 1){ - return master.removeChild(master.firstChild); // DOMNode - } - - // return multiple nodes as a document fragment - df = doc.createDocumentFragment(); - while(fc = master.firstChild){ // intentional assignment - df.appendChild(fc); - } - return df; // DOMNode - }; - - // ============================= - // (CSS) Class Functions - // ============================= - var _className = "className"; - - dojo.hasClass = function(/*DomNode|String*/node, /*String*/classStr){ - // summary: - // Returns whether or not the specified classes are a portion of the - // class list currently applied to the node. - // - // node: - // String ID or DomNode reference to check the class for. - // - // classStr: - // A string class name to look for. - // - // example: - // Do something if a node with id="someNode" has class="aSillyClassName" present - // | if(dojo.hasClass("someNode","aSillyClassName")){ ... } - - return ((" "+ byId(node)[_className] +" ").indexOf(" " + classStr + " ") >= 0); // Boolean - }; - - var spaces = /\s+/, a1 = [""], - fakeNode = {}, - str2array = function(s){ - if(typeof s == "string" || s instanceof String){ - if(s.indexOf(" ") < 0){ - a1[0] = s; - return a1; - }else{ - return s.split(spaces); - } - } - // assumed to be an array - return s || ""; - }; - - dojo.addClass = function(/*DomNode|String*/node, /*String|Array*/classStr){ - // summary: - // Adds the specified classes to the end of the class list on the - // passed node. Will not re-apply duplicate classes. - // - // node: - // String ID or DomNode reference to add a class string too - // - // classStr: - // A String class name to add, or several space-separated class names, - // or an array of class names. - // - // example: - // Add a class to some node: - // | dojo.addClass("someNode", "anewClass"); - // - // example: - // Add two classes at once: - // | dojo.addClass("someNode", "firstClass secondClass"); - // - // example: - // Add two classes at once (using array): - // | dojo.addClass("someNode", ["firstClass", "secondClass"]); - // - // example: - // Available in `dojo.NodeList` for multiple additions - // | dojo.query("ul > li").addClass("firstLevel"); - - node = byId(node); - classStr = str2array(classStr); - var cls = node[_className], oldLen; - cls = cls ? " " + cls + " " : " "; - oldLen = cls.length; - for(var i = 0, len = classStr.length, c; i < len; ++i){ - c = classStr[i]; - if(c && cls.indexOf(" " + c + " ") < 0){ - cls += c + " "; - } - } - if(oldLen < cls.length){ - node[_className] = cls.substr(1, cls.length - 2); - } - }; - - dojo.removeClass = function(/*DomNode|String*/node, /*String|Array?*/classStr){ - // summary: - // Removes the specified classes from node. No `dojo.hasClass` - // check is required. - // - // node: - // String ID or DomNode reference to remove the class from. - // - // classStr: - // An optional String class name to remove, or several space-separated - // class names, or an array of class names. If omitted, all class names - // will be deleted. - // - // example: - // Remove a class from some node: - // | dojo.removeClass("someNode", "firstClass"); - // - // example: - // Remove two classes from some node: - // | dojo.removeClass("someNode", "firstClass secondClass"); - // - // example: - // Remove two classes from some node (using array): - // | dojo.removeClass("someNode", ["firstClass", "secondClass"]); - // - // example: - // Remove all classes from some node: - // | dojo.removeClass("someNode"); - // - // example: - // Available in `dojo.NodeList()` for multiple removal - // | dojo.query(".foo").removeClass("foo"); - - node = byId(node); - var cls; - if(classStr !== undefined){ - classStr = str2array(classStr); - cls = " " + node[_className] + " "; - for(var i = 0, len = classStr.length; i < len; ++i){ - cls = cls.replace(" " + classStr[i] + " ", " "); - } - cls = d.trim(cls); - }else{ - cls = ""; - } - if(node[_className] != cls){ node[_className] = cls; } - }; - - dojo.replaceClass = function(/*DomNode|String*/node, /*String|Array*/addClassStr, /*String|Array?*/removeClassStr){ - // summary: - // Replaces one or more classes on a node if not present. - // Operates more quickly than calling dojo.removeClass and dojo.addClass - // node: - // String ID or DomNode reference to remove the class from. - // addClassStr: - // A String class name to add, or several space-separated class names, - // or an array of class names. - // removeClassStr: - // A String class name to remove, or several space-separated class names, - // or an array of class names. - // - // example: - // | dojo.replaceClass("someNode", "add1 add2", "remove1 remove2"); - // - // example: - // Replace all classes with addMe - // | dojo.replaceClass("someNode", "addMe"); - // - // example: - // Available in `dojo.NodeList()` for multiple toggles - // | dojo.query(".findMe").replaceClass("addMe", "removeMe"); - - node = byId(node); - fakeNode.className = node.className; - dojo.removeClass(fakeNode, removeClassStr); - dojo.addClass(fakeNode, addClassStr); - if(node.className !== fakeNode.className){ - node.className = fakeNode.className; - } - }; - - dojo.toggleClass = function(/*DomNode|String*/node, /*String|Array*/classStr, /*Boolean?*/condition){ - // summary: - // Adds a class to node if not present, or removes if present. - // Pass a boolean condition if you want to explicitly add or remove. - // condition: - // If passed, true means to add the class, false means to remove. - // - // example: - // | dojo.toggleClass("someNode", "hovered"); - // - // example: - // Forcefully add a class - // | dojo.toggleClass("someNode", "hovered", true); - // - // example: - // Available in `dojo.NodeList()` for multiple toggles - // | dojo.query(".toggleMe").toggleClass("toggleMe"); - - if(condition === undefined){ - condition = !d.hasClass(node, classStr); - } - d[condition ? "addClass" : "removeClass"](node, classStr); - }; - -})(); - -} - -if(!dojo._hasResource["dojo._base.NodeList"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.NodeList"] = true; -dojo.provide("dojo._base.NodeList"); - - - - - - -(function(){ - - var d = dojo; - - var ap = Array.prototype, aps = ap.slice, apc = ap.concat; - - var tnl = function(/*Array*/ a, /*dojo.NodeList?*/ parent, /*Function?*/ NodeListCtor){ - // summary: - // decorate an array to make it look like a `dojo.NodeList`. - // a: - // Array of nodes to decorate. - // parent: - // An optional parent NodeList that generated the current - // list of nodes. Used to call _stash() so the parent NodeList - // can be accessed via end() later. - // NodeListCtor: - // An optional constructor function to use for any - // new NodeList calls. This allows a certain chain of - // NodeList calls to use a different object than dojo.NodeList. - if(!a.sort){ - // make sure it's a real array before we pass it on to be wrapped - a = aps.call(a, 0); - } - var ctor = NodeListCtor || this._NodeListCtor || d._NodeListCtor; - a.constructor = ctor; - dojo._mixin(a, ctor.prototype); - a._NodeListCtor = ctor; - return parent ? a._stash(parent) : a; - }; - - var loopBody = function(f, a, o){ - a = [0].concat(aps.call(a, 0)); - o = o || d.global; - return function(node){ - a[0] = node; - return f.apply(o, a); - }; - }; - - // adapters - - var adaptAsForEach = function(f, o){ - // summary: - // adapts a single node function to be used in the forEach-type - // actions. The initial object is returned from the specialized - // function. - // f: Function - // a function to adapt - // o: Object? - // an optional context for f - return function(){ - this.forEach(loopBody(f, arguments, o)); - return this; // Object - }; - }; - - var adaptAsMap = function(f, o){ - // summary: - // adapts a single node function to be used in the map-type - // actions. The return is a new array of values, as via `dojo.map` - // f: Function - // a function to adapt - // o: Object? - // an optional context for f - return function(){ - return this.map(loopBody(f, arguments, o)); - }; - }; - - var adaptAsFilter = function(f, o){ - // summary: - // adapts a single node function to be used in the filter-type actions - // f: Function - // a function to adapt - // o: Object? - // an optional context for f - return function(){ - return this.filter(loopBody(f, arguments, o)); - }; - }; - - var adaptWithCondition = function(f, g, o){ - // summary: - // adapts a single node function to be used in the map-type - // actions, behaves like forEach() or map() depending on arguments - // f: Function - // a function to adapt - // g: Function - // a condition function, if true runs as map(), otherwise runs as forEach() - // o: Object? - // an optional context for f and g - return function(){ - var a = arguments, body = loopBody(f, a, o); - if(g.call(o || d.global, a)){ - return this.map(body); // self - } - this.forEach(body); - return this; // self - }; - }; - - var magicGuard = function(a){ - // summary: - // the guard function for dojo.attr() and dojo.style() - return a.length == 1 && (typeof a[0] == "string"); // inline'd type check - }; - - var orphan = function(node){ - // summary: - // function to orphan nodes - var p = node.parentNode; - if(p){ - p.removeChild(node); - } - }; - // FIXME: should we move orphan() to dojo.html? - - dojo.NodeList = function(){ - // summary: - // dojo.NodeList is an of Array subclass which adds syntactic - // sugar for chaining, common iteration operations, animation, and - // node manipulation. NodeLists are most often returned as the - // result of dojo.query() calls. - // description: - // dojo.NodeList instances provide many utilities that reflect - // core Dojo APIs for Array iteration and manipulation, DOM - // manipulation, and event handling. Instead of needing to dig up - // functions in the dojo.* namespace, NodeLists generally make the - // full power of Dojo available for DOM manipulation tasks in a - // simple, chainable way. - // example: - // create a node list from a node - // | new dojo.NodeList(dojo.byId("foo")); - // example: - // get a NodeList from a CSS query and iterate on it - // | var l = dojo.query(".thinger"); - // | l.forEach(function(node, index, nodeList){ - // | console.log(index, node.innerHTML); - // | }); - // example: - // use native and Dojo-provided array methods to manipulate a - // NodeList without needing to use dojo.* functions explicitly: - // | var l = dojo.query(".thinger"); - // | // since NodeLists are real arrays, they have a length - // | // property that is both readable and writable and - // | // push/pop/shift/unshift methods - // | console.log(l.length); - // | l.push(dojo.create("span")); - // | - // | // dojo's normalized array methods work too: - // | console.log( l.indexOf(dojo.byId("foo")) ); - // | // ...including the special "function as string" shorthand - // | console.log( l.every("item.nodeType == 1") ); - // | - // | // NodeLists can be [..] indexed, or you can use the at() - // | // function to get specific items wrapped in a new NodeList: - // | var node = l[3]; // the 4th element - // | var newList = l.at(1, 3); // the 2nd and 4th elements - // example: - // the style functions you expect are all there too: - // | // style() as a getter... - // | var borders = dojo.query(".thinger").style("border"); - // | // ...and as a setter: - // | dojo.query(".thinger").style("border", "1px solid black"); - // | // class manipulation - // | dojo.query("li:nth-child(even)").addClass("even"); - // | // even getting the coordinates of all the items - // | var coords = dojo.query(".thinger").coords(); - // example: - // DOM manipulation functions from the dojo.* namespace area also - // available: - // | // remove all of the elements in the list from their - // | // parents (akin to "deleting" them from the document) - // | dojo.query(".thinger").orphan(); - // | // place all elements in the list at the front of #foo - // | dojo.query(".thinger").place("foo", "first"); - // example: - // Event handling couldn't be easier. `dojo.connect` is mapped in, - // and shortcut handlers are provided for most DOM events: - // | // like dojo.connect(), but with implicit scope - // | dojo.query("li").connect("onclick", console, "log"); - // | - // | // many common event handlers are already available directly: - // | dojo.query("li").onclick(console, "log"); - // | var toggleHovered = dojo.hitch(dojo, "toggleClass", "hovered"); - // | dojo.query("p") - // | .onmouseenter(toggleHovered) - // | .onmouseleave(toggleHovered); - // example: - // chainability is a key advantage of NodeLists: - // | dojo.query(".thinger") - // | .onclick(function(e){ /* ... */ }) - // | .at(1, 3, 8) // get a subset - // | .style("padding", "5px") - // | .forEach(console.log); - - return tnl(Array.apply(null, arguments)); - }; - - //Allow things that new up a NodeList to use a delegated or alternate NodeList implementation. - d._NodeListCtor = d.NodeList; - - var nl = d.NodeList, nlp = nl.prototype; - - // expose adapters and the wrapper as private functions - - nl._wrap = nlp._wrap = tnl; - nl._adaptAsMap = adaptAsMap; - nl._adaptAsForEach = adaptAsForEach; - nl._adaptAsFilter = adaptAsFilter; - nl._adaptWithCondition = adaptWithCondition; - - // mass assignment - - // add array redirectors - d.forEach(["slice", "splice"], function(name){ - var f = ap[name]; - //Use a copy of the this array via this.slice() to allow .end() to work right in the splice case. - // CANNOT apply ._stash()/end() to splice since it currently modifies - // the existing this array -- it would break backward compatibility if we copy the array before - // the splice so that we can use .end(). So only doing the stash option to this._wrap for slice. - nlp[name] = function(){ return this._wrap(f.apply(this, arguments), name == "slice" ? this : null); }; - }); - // concat should be here but some browsers with native NodeList have problems with it - - // add array.js redirectors - d.forEach(["indexOf", "lastIndexOf", "every", "some"], function(name){ - var f = d[name]; - nlp[name] = function(){ return f.apply(d, [this].concat(aps.call(arguments, 0))); }; - }); - - // add conditional methods - d.forEach(["attr", "style"], function(name){ - nlp[name] = adaptWithCondition(d[name], magicGuard); - }); - - // add forEach actions - d.forEach(["connect", "addClass", "removeClass", "replaceClass", "toggleClass", "empty", "removeAttr"], function(name){ - nlp[name] = adaptAsForEach(d[name]); - }); - - dojo.extend(dojo.NodeList, { - _normalize: function(/*String||Element||Object||NodeList*/content, /*DOMNode?*/refNode){ - // summary: - // normalizes data to an array of items to insert. - // description: - // If content is an object, it can have special properties "template" and - // "parse". If "template" is defined, then the template value is run through - // dojo.string.substitute (if dojo.string.substitute has been dojo.required elsewhere), - // or if templateFunc is a function on the content, that function will be used to - // transform the template into a final string to be used for for passing to dojo._toDom. - // If content.parse is true, then it is remembered for later, for when the content - // nodes are inserted into the DOM. At that point, the nodes will be parsed for widgets - // (if dojo.parser has been dojo.required elsewhere). - - //Wanted to just use a DocumentFragment, but for the array/NodeList - //case that meant using cloneNode, but we may not want that. - //Cloning should only happen if the node operations span - //multiple refNodes. Also, need a real array, not a NodeList from the - //DOM since the node movements could change those NodeLists. - - var parse = content.parse === true ? true : false; - - //Do we have an object that needs to be run through a template? - if(typeof content.template == "string"){ - var templateFunc = content.templateFunc || (dojo.string && dojo.string.substitute); - content = templateFunc ? templateFunc(content.template, content) : content; - } - - var type = (typeof content); - if(type == "string" || type == "number"){ - content = dojo._toDom(content, (refNode && refNode.ownerDocument)); - if(content.nodeType == 11){ - //DocumentFragment. It cannot handle cloneNode calls, so pull out the children. - content = dojo._toArray(content.childNodes); - }else{ - content = [content]; - } - }else if(!dojo.isArrayLike(content)){ - content = [content]; - }else if(!dojo.isArray(content)){ - //To get to this point, content is array-like, but - //not an array, which likely means a DOM NodeList. Convert it now. - content = dojo._toArray(content); - } - - //Pass around the parse info - if(parse){ - content._runParse = true; - } - return content; //Array - }, - - _cloneNode: function(/*DOMNode*/ node){ - // summary: - // private utility to clone a node. Not very interesting in the vanilla - // dojo.NodeList case, but delegates could do interesting things like - // clone event handlers if that is derivable from the node. - return node.cloneNode(true); - }, - - _place: function(/*Array*/ary, /*DOMNode*/refNode, /*String*/position, /*Boolean*/useClone){ - // summary: - // private utility to handle placing an array of nodes relative to another node. - // description: - // Allows for cloning the nodes in the array, and for - // optionally parsing widgets, if ary._runParse is true. - - //Avoid a disallowed operation if trying to do an innerHTML on a non-element node. - if(refNode.nodeType != 1 && position == "only"){ - return; - } - var rNode = refNode, tempNode; - - //Always cycle backwards in case the array is really a - //DOM NodeList and the DOM operations take it out of the live collection. - var length = ary.length; - for(var i = length - 1; i >= 0; i--){ - var node = (useClone ? this._cloneNode(ary[i]) : ary[i]); - - //If need widget parsing, use a temp node, instead of waiting after inserting into - //real DOM because we need to start widget parsing at one node up from current node, - //which could cause some already parsed widgets to be parsed again. - if(ary._runParse && dojo.parser && dojo.parser.parse){ - if(!tempNode){ - tempNode = rNode.ownerDocument.createElement("div"); - } - tempNode.appendChild(node); - dojo.parser.parse(tempNode); - node = tempNode.firstChild; - while(tempNode.firstChild){ - tempNode.removeChild(tempNode.firstChild); - } - } - - if(i == length - 1){ - dojo.place(node, rNode, position); - }else{ - rNode.parentNode.insertBefore(node, rNode); - } - rNode = node; - } - }, - - _stash: function(parent){ - // summary: - // private function to hold to a parent NodeList. end() to return the parent NodeList. - // - // example: - // How to make a `dojo.NodeList` method that only returns the third node in - // the dojo.NodeList but allows access to the original NodeList by using this._stash: - // | dojo.extend(dojo.NodeList, { - // | third: function(){ - // | var newNodeList = dojo.NodeList(this[2]); - // | return newNodeList._stash(this); - // | } - // | }); - // | // then see how _stash applies a sub-list, to be .end()'ed out of - // | dojo.query(".foo") - // | .third() - // | .addClass("thirdFoo") - // | .end() - // | // access to the orig .foo list - // | .removeClass("foo") - // | - // - this._parent = parent; - return this; //dojo.NodeList - }, - - end: function(){ - // summary: - // Ends use of the current `dojo.NodeList` by returning the previous dojo.NodeList - // that generated the current dojo.NodeList. - // description: - // Returns the `dojo.NodeList` that generated the current `dojo.NodeList`. If there - // is no parent dojo.NodeList, an empty dojo.NodeList is returned. - // example: - // | dojo.query("a") - // | .filter(".disabled") - // | // operate on the anchors that only have a disabled class - // | .style("color", "grey") - // | .end() - // | // jump back to the list of anchors - // | .style(...) - // - if(this._parent){ - return this._parent; - }else{ - //Just return empty list. - return new this._NodeListCtor(); - } - }, - - // http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array#Methods - - // FIXME: handle return values for #3244 - // http://trac.dojotoolkit.org/ticket/3244 - - // FIXME: - // need to wrap or implement: - // join (perhaps w/ innerHTML/outerHTML overload for toString() of items?) - // reduce - // reduceRight - - /*===== - slice: function(begin, end){ - // summary: - // Returns a new NodeList, maintaining this one in place - // description: - // This method behaves exactly like the Array.slice method - // with the caveat that it returns a dojo.NodeList and not a - // raw Array. For more details, see Mozilla's (slice - // documentation)[http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:slice] - // begin: Integer - // Can be a positive or negative integer, with positive - // integers noting the offset to begin at, and negative - // integers denoting an offset from the end (i.e., to the left - // of the end) - // end: Integer? - // Optional parameter to describe what position relative to - // the NodeList's zero index to end the slice at. Like begin, - // can be positive or negative. - return this._wrap(a.slice.apply(this, arguments)); - }, - - splice: function(index, howmany, item){ - // summary: - // Returns a new NodeList, manipulating this NodeList based on - // the arguments passed, potentially splicing in new elements - // at an offset, optionally deleting elements - // description: - // This method behaves exactly like the Array.splice method - // with the caveat that it returns a dojo.NodeList and not a - // raw Array. For more details, see Mozilla's (splice - // documentation)[http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:splice] - // For backwards compatibility, calling .end() on the spliced NodeList - // does not return the original NodeList -- splice alters the NodeList in place. - // index: Integer - // begin can be a positive or negative integer, with positive - // integers noting the offset to begin at, and negative - // integers denoting an offset from the end (i.e., to the left - // of the end) - // howmany: Integer? - // Optional parameter to describe what position relative to - // the NodeList's zero index to end the slice at. Like begin, - // can be positive or negative. - // item: Object...? - // Any number of optional parameters may be passed in to be - // spliced into the NodeList - // returns: - // dojo.NodeList - return this._wrap(a.splice.apply(this, arguments)); - }, - - indexOf: function(value, fromIndex){ - // summary: - // see dojo.indexOf(). The primary difference is that the acted-on - // array is implicitly this NodeList - // value: Object: - // The value to search for. - // fromIndex: Integer?: - // The location to start searching from. Optional. Defaults to 0. - // description: - // For more details on the behavior of indexOf, see Mozilla's - // (indexOf - // docs)[http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:indexOf] - // returns: - // Positive Integer or 0 for a match, -1 of not found. - return d.indexOf(this, value, fromIndex); // Integer - }, - - lastIndexOf: function(value, fromIndex){ - // summary: - // see dojo.lastIndexOf(). The primary difference is that the - // acted-on array is implicitly this NodeList - // description: - // For more details on the behavior of lastIndexOf, see - // Mozilla's (lastIndexOf - // docs)[http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:lastIndexOf] - // value: Object - // The value to search for. - // fromIndex: Integer? - // The location to start searching from. Optional. Defaults to 0. - // returns: - // Positive Integer or 0 for a match, -1 of not found. - return d.lastIndexOf(this, value, fromIndex); // Integer - }, - - every: function(callback, thisObject){ - // summary: - // see `dojo.every()` and the (Array.every - // docs)[http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:every]. - // Takes the same structure of arguments and returns as - // dojo.every() with the caveat that the passed array is - // implicitly this NodeList - // callback: Function: the callback - // thisObject: Object?: the context - return d.every(this, callback, thisObject); // Boolean - }, - - some: function(callback, thisObject){ - // summary: - // Takes the same structure of arguments and returns as - // `dojo.some()` with the caveat that the passed array is - // implicitly this NodeList. See `dojo.some()` and Mozilla's - // (Array.some - // documentation)[http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:some]. - // callback: Function: the callback - // thisObject: Object?: the context - return d.some(this, callback, thisObject); // Boolean - }, - =====*/ - - concat: function(item){ - // summary: - // Returns a new NodeList comprised of items in this NodeList - // as well as items passed in as parameters - // description: - // This method behaves exactly like the Array.concat method - // with the caveat that it returns a `dojo.NodeList` and not a - // raw Array. For more details, see the (Array.concat - // docs)[http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:concat] - // item: Object? - // Any number of optional parameters may be passed in to be - // spliced into the NodeList - // returns: - // dojo.NodeList - - //return this._wrap(apc.apply(this, arguments)); - // the line above won't work for the native NodeList :-( - - // implementation notes: - // 1) Native NodeList is not an array, and cannot be used directly - // in concat() --- the latter doesn't recognize it as an array, and - // does not inline it, but append as a single entity. - // 2) On some browsers (e.g., Safari) the "constructor" property is - // read-only and cannot be changed. So we have to test for both - // native NodeList and dojo.NodeList in this property to recognize - // the node list. - - var t = d.isArray(this) ? this : aps.call(this, 0), - m = d.map(arguments, function(a){ - return a && !d.isArray(a) && - (typeof NodeList != "undefined" && a.constructor === NodeList || a.constructor === this._NodeListCtor) ? - aps.call(a, 0) : a; - }); - return this._wrap(apc.apply(t, m), this); // dojo.NodeList - }, - - map: function(/*Function*/ func, /*Function?*/ obj){ - // summary: - // see dojo.map(). The primary difference is that the acted-on - // array is implicitly this NodeList and the return is a - // dojo.NodeList (a subclass of Array) - ///return d.map(this, func, obj, d.NodeList); // dojo.NodeList - return this._wrap(d.map(this, func, obj), this); // dojo.NodeList - }, - - forEach: function(callback, thisObj){ - // summary: - // see `dojo.forEach()`. The primary difference is that the acted-on - // array is implicitly this NodeList. If you want the option to break out - // of the forEach loop, use every() or some() instead. - d.forEach(this, callback, thisObj); - // non-standard return to allow easier chaining - return this; // dojo.NodeList - }, - - /*===== - coords: function(){ - // summary: - // Returns the box objects of all elements in a node list as - // an Array (*not* a NodeList). Acts like `dojo.coords`, though assumes - // the node passed is each node in this list. - - return d.map(this, d.coords); // Array - }, - - position: function(){ - // summary: - // Returns border-box objects (x/y/w/h) of all elements in a node list - // as an Array (*not* a NodeList). Acts like `dojo.position`, though - // assumes the node passed is each node in this list. - - return d.map(this, d.position); // Array - }, - - attr: function(property, value){ - // summary: - // gets or sets the DOM attribute for every element in the - // NodeList. See also `dojo.attr` - // property: String - // the attribute to get/set - // value: String? - // optional. The value to set the property to - // returns: - // if no value is passed, the result is an array of attribute values - // If a value is passed, the return is this NodeList - // example: - // Make all nodes with a particular class focusable: - // | dojo.query(".focusable").attr("tabIndex", -1); - // example: - // Disable a group of buttons: - // | dojo.query("button.group").attr("disabled", true); - // example: - // innerHTML can be assigned or retrieved as well: - // | // get the innerHTML (as an array) for each list item - // | var ih = dojo.query("li.replaceable").attr("innerHTML"); - return; // dojo.NodeList - return; // Array - }, - - style: function(property, value){ - // summary: - // gets or sets the CSS property for every element in the NodeList - // property: String - // the CSS property to get/set, in JavaScript notation - // ("lineHieght" instead of "line-height") - // value: String? - // optional. The value to set the property to - // returns: - // if no value is passed, the result is an array of strings. - // If a value is passed, the return is this NodeList - return; // dojo.NodeList - return; // Array - }, - - addClass: function(className){ - // summary: - // adds the specified class to every node in the list - // className: String|Array - // A String class name to add, or several space-separated class names, - // or an array of class names. - return; // dojo.NodeList - }, - - removeClass: function(className){ - // summary: - // removes the specified class from every node in the list - // className: String|Array? - // An optional String class name to remove, or several space-separated - // class names, or an array of class names. If omitted, all class names - // will be deleted. - // returns: - // dojo.NodeList, this list - return; // dojo.NodeList - }, - - toggleClass: function(className, condition){ - // summary: - // Adds a class to node if not present, or removes if present. - // Pass a boolean condition if you want to explicitly add or remove. - // condition: Boolean? - // If passed, true means to add the class, false means to remove. - // className: String - // the CSS class to add - return; // dojo.NodeList - }, - - connect: function(methodName, objOrFunc, funcName){ - // summary: - // attach event handlers to every item of the NodeList. Uses dojo.connect() - // so event properties are normalized - // methodName: String - // the name of the method to attach to. For DOM events, this should be - // the lower-case name of the event - // objOrFunc: Object|Function|String - // if 2 arguments are passed (methodName, objOrFunc), objOrFunc should - // reference a function or be the name of the function in the global - // namespace to attach. If 3 arguments are provided - // (methodName, objOrFunc, funcName), objOrFunc must be the scope to - // locate the bound function in - // funcName: String? - // optional. A string naming the function in objOrFunc to bind to the - // event. May also be a function reference. - // example: - // add an onclick handler to every button on the page - // | dojo.query("div:nth-child(odd)").connect("onclick", function(e){ - // | console.log("clicked!"); - // | }); - // example: - // attach foo.bar() to every odd div's onmouseover - // | dojo.query("div:nth-child(odd)").connect("onmouseover", foo, "bar"); - }, - - empty: function(){ - // summary: - // clears all content from each node in the list. Effectively - // equivalent to removing all child nodes from every item in - // the list. - return this.forEach("item.innerHTML='';"); // dojo.NodeList - // FIXME: should we be checking for and/or disposing of widgets below these nodes? - }, - =====*/ - - // useful html methods - coords: adaptAsMap(d.coords), - position: adaptAsMap(d.position), - - // FIXME: connectPublisher()? connectRunOnce()? - - /* - destroy: function(){ - // summary: - // destroys every item in the list. - this.forEach(d.destroy); - // FIXME: should we be checking for and/or disposing of widgets below these nodes? - }, - */ - - place: function(/*String||Node*/ queryOrNode, /*String*/ position){ - // summary: - // places elements of this node list relative to the first element matched - // by queryOrNode. Returns the original NodeList. See: `dojo.place` - // queryOrNode: - // may be a string representing any valid CSS3 selector or a DOM node. - // In the selector case, only the first matching element will be used - // for relative positioning. - // position: - // can be one of: - // | "last" (default) - // | "first" - // | "before" - // | "after" - // | "only" - // | "replace" - // or an offset in the childNodes property - var item = d.query(queryOrNode)[0]; - return this.forEach(function(node){ d.place(node, item, position); }); // dojo.NodeList - }, - - orphan: function(/*String?*/ filter){ - // summary: - // removes elements in this list that match the filter - // from their parents and returns them as a new NodeList. - // filter: - // CSS selector like ".foo" or "div > span" - // returns: - // `dojo.NodeList` containing the orphaned elements - return (filter ? d._filterQueryResult(this, filter) : this).forEach(orphan); // dojo.NodeList - }, - - adopt: function(/*String||Array||DomNode*/ queryOrListOrNode, /*String?*/ position){ - // summary: - // places any/all elements in queryOrListOrNode at a - // position relative to the first element in this list. - // Returns a dojo.NodeList of the adopted elements. - // queryOrListOrNode: - // a DOM node or a query string or a query result. - // Represents the nodes to be adopted relative to the - // first element of this NodeList. - // position: - // can be one of: - // | "last" (default) - // | "first" - // | "before" - // | "after" - // | "only" - // | "replace" - // or an offset in the childNodes property - return d.query(queryOrListOrNode).place(this[0], position)._stash(this); // dojo.NodeList - }, - - // FIXME: do we need this? - query: function(/*String*/ queryStr){ - // summary: - // Returns a new list whose members match the passed query, - // assuming elements of the current NodeList as the root for - // each search. - // example: - // assume a DOM created by this markup: - // | <div id="foo"> - // | <p> - // | bacon is tasty, <span>dontcha think?</span> - // | </p> - // | </div> - // | <div id="bar"> - // | <p>great comedians may not be funny <span>in person</span></p> - // | </div> - // If we are presented with the following definition for a NodeList: - // | var l = new dojo.NodeList(dojo.byId("foo"), dojo.byId("bar")); - // it's possible to find all span elements under paragraphs - // contained by these elements with this sub-query: - // | var spans = l.query("p span"); - - // FIXME: probably slow - if(!queryStr){ return this; } - var ret = this.map(function(node){ - // FIXME: why would we ever get undefined here? - return d.query(queryStr, node).filter(function(subNode){ return subNode !== undefined; }); - }); - return this._wrap(apc.apply([], ret), this); // dojo.NodeList - }, - - filter: function(/*String|Function*/ filter){ - // summary: - // "masks" the built-in javascript filter() method (supported - // in Dojo via `dojo.filter`) to support passing a simple - // string filter in addition to supporting filtering function - // objects. - // filter: - // If a string, a CSS rule like ".thinger" or "div > span". - // example: - // "regular" JS filter syntax as exposed in dojo.filter: - // | dojo.query("*").filter(function(item){ - // | // highlight every paragraph - // | return (item.nodeName == "p"); - // | }).style("backgroundColor", "yellow"); - // example: - // the same filtering using a CSS selector - // | dojo.query("*").filter("p").styles("backgroundColor", "yellow"); - - var a = arguments, items = this, start = 0; - if(typeof filter == "string"){ // inline'd type check - items = d._filterQueryResult(this, a[0]); - if(a.length == 1){ - // if we only got a string query, pass back the filtered results - return items._stash(this); // dojo.NodeList - } - // if we got a callback, run it over the filtered items - start = 1; - } - return this._wrap(d.filter(items, a[start], a[start + 1]), this); // dojo.NodeList - }, - - /* - // FIXME: should this be "copyTo" and include parenting info? - clone: function(){ - // summary: - // creates node clones of each element of this list - // and returns a new list containing the clones - }, - */ - - addContent: function(/*String||DomNode||Object||dojo.NodeList*/ content, /*String||Integer?*/ position){ - // summary: - // add a node, NodeList or some HTML as a string to every item in the - // list. Returns the original list. - // description: - // a copy of the HTML content is added to each item in the - // list, with an optional position argument. If no position - // argument is provided, the content is appended to the end of - // each item. - // content: - // DOM node, HTML in string format, a NodeList or an Object. If a DOM node or - // NodeList, the content will be cloned if the current NodeList has more than one - // element. Only the DOM nodes are cloned, no event handlers. If it is an Object, - // it should be an object with at "template" String property that has the HTML string - // to insert. If dojo.string has already been dojo.required, then dojo.string.substitute - // will be used on the "template" to generate the final HTML string. Other allowed - // properties on the object are: "parse" if the HTML - // string should be parsed for widgets (dojo.require("dojo.parser") to get that - // option to work), and "templateFunc" if a template function besides dojo.string.substitute - // should be used to transform the "template". - // position: - // can be one of: - // | "last"||"end" (default) - // | "first||"start" - // | "before" - // | "after" - // | "replace" (replaces nodes in this NodeList with new content) - // | "only" (removes other children of the nodes so new content is the only child) - // or an offset in the childNodes property - // example: - // appends content to the end if the position is omitted - // | dojo.query("h3 > p").addContent("hey there!"); - // example: - // add something to the front of each element that has a - // "thinger" property: - // | dojo.query("[thinger]").addContent("...", "first"); - // example: - // adds a header before each element of the list - // | dojo.query(".note").addContent("<h4>NOTE:</h4>", "before"); - // example: - // add a clone of a DOM node to the end of every element in - // the list, removing it from its existing parent. - // | dojo.query(".note").addContent(dojo.byId("foo")); - // example: - // Append nodes from a templatized string. - // dojo.require("dojo.string"); - // dojo.query(".note").addContent({ - // template: '<b>${id}: </b><span>${name}</span>', - // id: "user332", - // name: "Mr. Anderson" - // }); - // example: - // Append nodes from a templatized string that also has widgets parsed. - // dojo.require("dojo.string"); - // dojo.require("dojo.parser"); - // var notes = dojo.query(".note").addContent({ - // template: '<button dojoType="dijit.form.Button">${text}</button>', - // parse: true, - // text: "Send" - // }); - content = this._normalize(content, this[0]); - for(var i = 0, node; (node = this[i]); i++){ - this._place(content, node, position, i > 0); - } - return this; //dojo.NodeList - }, - - instantiate: function(/*String|Object*/ declaredClass, /*Object?*/ properties){ - // summary: - // Create a new instance of a specified class, using the - // specified properties and each node in the nodeList as a - // srcNodeRef. - // example: - // Grabs all buttons in the page and converts them to diji.form.Buttons. - // | var buttons = dojo.query("button").instantiate("dijit.form.Button", {showLabel: true}); - var c = d.isFunction(declaredClass) ? declaredClass : d.getObject(declaredClass); - properties = properties || {}; - return this.forEach(function(node){ - new c(properties, node); - }); // dojo.NodeList - }, - - at: function(/*===== index =====*/){ - // summary: - // Returns a new NodeList comprised of items in this NodeList - // at the given index or indices. - // - // index: Integer... - // One or more 0-based indices of items in the current - // NodeList. A negative index will start at the end of the - // list and go backwards. - // - // example: - // Shorten the list to the first, second, and third elements - // | dojo.query("a").at(0, 1, 2).forEach(fn); - // - // example: - // Retrieve the first and last elements of a unordered list: - // | dojo.query("ul > li").at(0, -1).forEach(cb); - // - // example: - // Do something for the first element only, but end() out back to - // the original list and continue chaining: - // | dojo.query("a").at(0).onclick(fn).end().forEach(function(n){ - // | console.log(n); // all anchors on the page. - // | }) - // - // returns: - // dojo.NodeList - var t = new this._NodeListCtor(); - d.forEach(arguments, function(i){ - if(i < 0){ i = this.length + i } - if(this[i]){ t.push(this[i]); } - }, this); - return t._stash(this); // dojo.NodeList - } - - }); - - nl.events = [ - // summary: - // list of all DOM events used in NodeList - "blur", "focus", "change", "click", "error", "keydown", "keypress", - "keyup", "load", "mousedown", "mouseenter", "mouseleave", "mousemove", - "mouseout", "mouseover", "mouseup", "submit" - ]; - - // FIXME: pseudo-doc the above automatically generated on-event functions - - // syntactic sugar for DOM events - d.forEach(nl.events, function(evt){ - var _oe = "on" + evt; - nlp[_oe] = function(a, b){ - return this.connect(_oe, a, b); - }; - // FIXME: should these events trigger publishes? - /* - return (a ? this.connect(_oe, a, b) : - this.forEach(function(n){ - // FIXME: - // listeners get buried by - // addEventListener and can't be dug back - // out to be triggered externally. - // see: - // http://developer.mozilla.org/en/docs/DOM:element - - console.log(n, evt, _oe); - - // FIXME: need synthetic event support! - var _e = { target: n, faux: true, type: evt }; - // dojo._event_listener._synthesizeEvent({}, { target: n, faux: true, type: evt }); - try{ n[evt](_e); }catch(e){ console.log(e); } - try{ n[_oe](_e); }catch(e){ console.log(e); } - }) - ); - */ - } - ); - -})(); - -} - -if(!dojo._hasResource["dojo._base.query"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.query"] = true; -(function(){ - -/* - dojo.query() architectural overview: - - dojo.query is a relatively full-featured CSS3 query library. It is - designed to take any valid CSS3 selector and return the nodes matching - the selector. To do this quickly, it processes queries in several - steps, applying caching where profitable. - - The steps (roughly in reverse order of the way they appear in the code): - 1.) check to see if we already have a "query dispatcher" - - if so, use that with the given parameterization. Skip to step 4. - 2.) attempt to determine which branch to dispatch the query to: - - JS (optimized DOM iteration) - - native (FF3.1+, Safari 3.1+, IE 8+) - 3.) tokenize and convert to executable "query dispatcher" - - this is where the lion's share of the complexity in the - system lies. In the DOM version, the query dispatcher is - assembled as a chain of "yes/no" test functions pertaining to - a section of a simple query statement (".blah:nth-child(odd)" - but not "div div", which is 2 simple statements). Individual - statement dispatchers are cached (to prevent re-definition) - as are entire dispatch chains (to make re-execution of the - same query fast) - 4.) the resulting query dispatcher is called in the passed scope - (by default the top-level document) - - for DOM queries, this results in a recursive, top-down - evaluation of nodes based on each simple query section - - for native implementations, this may mean working around spec - bugs. So be it. - 5.) matched nodes are pruned to ensure they are unique (if necessary) -*/ - -var defineQuery= function(d){ - // define everything in a closure for compressability reasons. "d" is an - // alias to "dojo" (or the toolkit alias object, e.g., "acme"). - - //////////////////////////////////////////////////////////////////////// - // Toolkit aliases - //////////////////////////////////////////////////////////////////////// - - // if you are extracting dojo.query for use in your own system, you will - // need to provide these methods and properties. No other porting should be - // necessary, save for configuring the system to use a class other than - // dojo.NodeList as the return instance instantiator - var trim = d.trim; - var each = d.forEach; - // d.isIE; // float - // d.isSafari; // float - // d.isOpera; // float - // d.isWebKit; // float - // d.doc ; // document element - var qlc = (d._NodeListCtor = d.NodeList); - - var getDoc = function(){ return d.doc; }; - // NOTE(alex): the spec is idiotic. CSS queries should ALWAYS be case-sensitive, but nooooooo - var cssCaseBug = ((d.isWebKit||d.isMozilla) && ((getDoc().compatMode) == "BackCompat")); - - //////////////////////////////////////////////////////////////////////// - // Global utilities - //////////////////////////////////////////////////////////////////////// - - - // on browsers that support the "children" collection we can avoid a lot of - // iteration on chaff (non-element) nodes. - // why. - var childNodesName = !!getDoc().firstChild["children"] ? "children" : "childNodes"; - - var specials = ">~+"; - - // global thunk to determine whether we should treat the current query as - // case sensitive or not. This switch is flipped by the query evaluator - // based on the document passed as the context to search. - var caseSensitive = false; - - // how high? - var yesman = function(){ return true; }; - - //////////////////////////////////////////////////////////////////////// - // Tokenizer - //////////////////////////////////////////////////////////////////////// - - var getQueryParts = function(query){ - // summary: - // state machine for query tokenization - // description: - // instead of using a brittle and slow regex-based CSS parser, - // dojo.query implements an AST-style query representation. This - // representation is only generated once per query. For example, - // the same query run multiple times or under different root nodes - // does not re-parse the selector expression but instead uses the - // cached data structure. The state machine implemented here - // terminates on the last " " (space) character and returns an - // ordered array of query component structures (or "parts"). Each - // part represents an operator or a simple CSS filtering - // expression. The structure for parts is documented in the code - // below. - - - // NOTE: - // this code is designed to run fast and compress well. Sacrifices - // to readability and maintainability have been made. Your best - // bet when hacking the tokenizer is to put The Donnas on *really* - // loud (may we recommend their "Spend The Night" release?) and - // just assume you're gonna make mistakes. Keep the unit tests - // open and run them frequently. Knowing is half the battle ;-) - if(specials.indexOf(query.slice(-1)) >= 0){ - // if we end with a ">", "+", or "~", that means we're implicitly - // searching all children, so make it explicit - query += " * " - }else{ - // if you have not provided a terminator, one will be provided for - // you... - query += " "; - } - - var ts = function(/*Integer*/ s, /*Integer*/ e){ - // trim and slice. - - // take an index to start a string slice from and an end position - // and return a trimmed copy of that sub-string - return trim(query.slice(s, e)); - } - - // the overall data graph of the full query, as represented by queryPart objects - var queryParts = []; - - - // state keeping vars - var inBrackets = -1, inParens = -1, inMatchFor = -1, - inPseudo = -1, inClass = -1, inId = -1, inTag = -1, - lc = "", cc = "", pStart; - - // iteration vars - var x = 0, // index in the query - ql = query.length, - currentPart = null, // data structure representing the entire clause - _cp = null; // the current pseudo or attr matcher - - // several temporary variables are assigned to this structure during a - // potential sub-expression match: - // attr: - // a string representing the current full attribute match in a - // bracket expression - // type: - // if there's an operator in a bracket expression, this is - // used to keep track of it - // value: - // the internals of parenthetical expression for a pseudo. for - // :nth-child(2n+1), value might be "2n+1" - - var endTag = function(){ - // called when the tokenizer hits the end of a particular tag name. - // Re-sets state variables for tag matching and sets up the matcher - // to handle the next type of token (tag or operator). - if(inTag >= 0){ - var tv = (inTag == x) ? null : ts(inTag, x); // .toLowerCase(); - currentPart[ (specials.indexOf(tv) < 0) ? "tag" : "oper" ] = tv; - inTag = -1; - } - } - - var endId = function(){ - // called when the tokenizer might be at the end of an ID portion of a match - if(inId >= 0){ - currentPart.id = ts(inId, x).replace(/\\/g, ""); - inId = -1; - } - } - - var endClass = function(){ - // called when the tokenizer might be at the end of a class name - // match. CSS allows for multiple classes, so we augment the - // current item with another class in its list - if(inClass >= 0){ - currentPart.classes.push(ts(inClass+1, x).replace(/\\/g, "")); - inClass = -1; - } - } - - var endAll = function(){ - // at the end of a simple fragment, so wall off the matches - endId(); endTag(); endClass(); - } - - var endPart = function(){ - endAll(); - if(inPseudo >= 0){ - currentPart.pseudos.push({ name: ts(inPseudo+1, x) }); - } - // hint to the selector engine to tell it whether or not it - // needs to do any iteration. Many simple selectors don't, and - // we can avoid significant construction-time work by advising - // the system to skip them - currentPart.loops = ( - currentPart.pseudos.length || - currentPart.attrs.length || - currentPart.classes.length ); - - currentPart.oquery = currentPart.query = ts(pStart, x); // save the full expression as a string - - - // otag/tag are hints to suggest to the system whether or not - // it's an operator or a tag. We save a copy of otag since the - // tag name is cast to upper-case in regular HTML matches. The - // system has a global switch to figure out if the current - // expression needs to be case sensitive or not and it will use - // otag or tag accordingly - currentPart.otag = currentPart.tag = (currentPart["oper"]) ? null : (currentPart.tag || "*"); - - if(currentPart.tag){ - // if we're in a case-insensitive HTML doc, we likely want - // the toUpperCase when matching on element.tagName. If we - // do it here, we can skip the string op per node - // comparison - currentPart.tag = currentPart.tag.toUpperCase(); - } - - // add the part to the list - if(queryParts.length && (queryParts[queryParts.length-1].oper)){ - // operators are always infix, so we remove them from the - // list and attach them to the next match. The evaluator is - // responsible for sorting out how to handle them. - currentPart.infixOper = queryParts.pop(); - currentPart.query = currentPart.infixOper.query + " " + currentPart.query; - /* - console.debug( "swapping out the infix", - currentPart.infixOper, - "and attaching it to", - currentPart); - */ - } - queryParts.push(currentPart); - - currentPart = null; - } - - // iterate over the query, character by character, building up a - // list of query part objects - for(; lc=cc, cc=query.charAt(x), x < ql; x++){ - // cc: the current character in the match - // lc: the last character (if any) - - // someone is trying to escape something, so don't try to match any - // fragments. We assume we're inside a literal. - if(lc == "\\"){ continue; } - if(!currentPart){ // a part was just ended or none has yet been created - // NOTE: I hate all this alloc, but it's shorter than writing tons of if's - pStart = x; - // rules describe full CSS sub-expressions, like: - // #someId - // .className:first-child - // but not: - // thinger > div.howdy[type=thinger] - // the indidual components of the previous query would be - // split into 3 parts that would be represented a structure - // like: - // [ - // { - // query: "thinger", - // tag: "thinger", - // }, - // { - // query: "div.howdy[type=thinger]", - // classes: ["howdy"], - // infixOper: { - // query: ">", - // oper: ">", - // } - // }, - // ] - currentPart = { - query: null, // the full text of the part's rule - pseudos: [], // CSS supports multiple pseud-class matches in a single rule - attrs: [], // CSS supports multi-attribute match, so we need an array - classes: [], // class matches may be additive, e.g.: .thinger.blah.howdy - tag: null, // only one tag... - oper: null, // ...or operator per component. Note that these wind up being exclusive. - id: null, // the id component of a rule - getTag: function(){ - return (caseSensitive) ? this.otag : this.tag; - } - }; - - // if we don't have a part, we assume we're going to start at - // the beginning of a match, which should be a tag name. This - // might fault a little later on, but we detect that and this - // iteration will still be fine. - inTag = x; - } - - if(inBrackets >= 0){ - // look for a the close first - if(cc == "]"){ // if we're in a [...] clause and we end, do assignment - if(!_cp.attr){ - // no attribute match was previously begun, so we - // assume this is an attribute existence match in the - // form of [someAttributeName] - _cp.attr = ts(inBrackets+1, x); - }else{ - // we had an attribute already, so we know that we're - // matching some sort of value, as in [attrName=howdy] - _cp.matchFor = ts((inMatchFor||inBrackets+1), x); - } - var cmf = _cp.matchFor; - if(cmf){ - // try to strip quotes from the matchFor value. We want - // [attrName=howdy] to match the same - // as [attrName = 'howdy' ] - if( (cmf.charAt(0) == '"') || (cmf.charAt(0) == "'") ){ - _cp.matchFor = cmf.slice(1, -1); - } - } - // end the attribute by adding it to the list of attributes. - currentPart.attrs.push(_cp); - _cp = null; // necessary? - inBrackets = inMatchFor = -1; - }else if(cc == "="){ - // if the last char was an operator prefix, make sure we - // record it along with the "=" operator. - var addToCc = ("|~^$*".indexOf(lc) >=0 ) ? lc : ""; - _cp.type = addToCc+cc; - _cp.attr = ts(inBrackets+1, x-addToCc.length); - inMatchFor = x+1; - } - // now look for other clause parts - }else if(inParens >= 0){ - // if we're in a parenthetical expression, we need to figure - // out if it's attached to a pseudo-selector rule like - // :nth-child(1) - if(cc == ")"){ - if(inPseudo >= 0){ - _cp.value = ts(inParens+1, x); - } - inPseudo = inParens = -1; - } - }else if(cc == "#"){ - // start of an ID match - endAll(); - inId = x+1; - }else if(cc == "."){ - // start of a class match - endAll(); - inClass = x; - }else if(cc == ":"){ - // start of a pseudo-selector match - endAll(); - inPseudo = x; - }else if(cc == "["){ - // start of an attribute match. - endAll(); - inBrackets = x; - // provide a new structure for the attribute match to fill-in - _cp = { - /*===== - attr: null, type: null, matchFor: null - =====*/ - }; - }else if(cc == "("){ - // we really only care if we've entered a parenthetical - // expression if we're already inside a pseudo-selector match - if(inPseudo >= 0){ - // provide a new structure for the pseudo match to fill-in - _cp = { - name: ts(inPseudo+1, x), - value: null - } - currentPart.pseudos.push(_cp); - } - inParens = x; - }else if( - (cc == " ") && - // if it's a space char and the last char is too, consume the - // current one without doing more work - (lc != cc) - ){ - endPart(); - } - } - return queryParts; - }; - - - //////////////////////////////////////////////////////////////////////// - // DOM query infrastructure - //////////////////////////////////////////////////////////////////////// - - var agree = function(first, second){ - // the basic building block of the yes/no chaining system. agree(f1, - // f2) generates a new function which returns the boolean results of - // both of the passed functions to a single logical-anded result. If - // either are not passed, the other is used exclusively. - if(!first){ return second; } - if(!second){ return first; } - - return function(){ - return first.apply(window, arguments) && second.apply(window, arguments); - } - }; - - var getArr = function(i, arr){ - // helps us avoid array alloc when we don't need it - var r = arr||[]; // FIXME: should this be 'new d._NodeListCtor()' ? - if(i){ r.push(i); } - return r; - }; - - var _isElement = function(n){ return (1 == n.nodeType); }; - - // FIXME: need to coalesce _getAttr with defaultGetter - var blank = ""; - var _getAttr = function(elem, attr){ - if(!elem){ return blank; } - if(attr == "class"){ - return elem.className || blank; - } - if(attr == "for"){ - return elem.htmlFor || blank; - } - if(attr == "style"){ - return elem.style.cssText || blank; - } - return (caseSensitive ? elem.getAttribute(attr) : elem.getAttribute(attr, 2)) || blank; - }; - - var attrs = { - "*=": function(attr, value){ - return function(elem){ - // E[foo*="bar"] - // an E element whose "foo" attribute value contains - // the substring "bar" - return (_getAttr(elem, attr).indexOf(value)>=0); - } - }, - "^=": function(attr, value){ - // E[foo^="bar"] - // an E element whose "foo" attribute value begins exactly - // with the string "bar" - return function(elem){ - return (_getAttr(elem, attr).indexOf(value)==0); - } - }, - "$=": function(attr, value){ - // E[foo$="bar"] - // an E element whose "foo" attribute value ends exactly - // with the string "bar" - var tval = " "+value; - return function(elem){ - var ea = " "+_getAttr(elem, attr); - return (ea.lastIndexOf(value)==(ea.length-value.length)); - } - }, - "~=": function(attr, value){ - // E[foo~="bar"] - // an E element whose "foo" attribute value is a list of - // space-separated values, one of which is exactly equal - // to "bar" - - // return "[contains(concat(' ',@"+attr+",' '), ' "+ value +" ')]"; - var tval = " "+value+" "; - return function(elem){ - var ea = " "+_getAttr(elem, attr)+" "; - return (ea.indexOf(tval)>=0); - } - }, - "|=": function(attr, value){ - // E[hreflang|="en"] - // an E element whose "hreflang" attribute has a - // hyphen-separated list of values beginning (from the - // left) with "en" - var valueDash = " "+value+"-"; - return function(elem){ - var ea = " "+_getAttr(elem, attr); - return ( - (ea == value) || - (ea.indexOf(valueDash)==0) - ); - } - }, - "=": function(attr, value){ - return function(elem){ - return (_getAttr(elem, attr) == value); - } - } - }; - - // avoid testing for node type if we can. Defining this in the negative - // here to avoid negation in the fast path. - var _noNES = (typeof getDoc().firstChild.nextElementSibling == "undefined"); - var _ns = !_noNES ? "nextElementSibling" : "nextSibling"; - var _ps = !_noNES ? "previousElementSibling" : "previousSibling"; - var _simpleNodeTest = (_noNES ? _isElement : yesman); - - var _lookLeft = function(node){ - // look left - while(node = node[_ps]){ - if(_simpleNodeTest(node)){ return false; } - } - return true; - }; - - var _lookRight = function(node){ - // look right - while(node = node[_ns]){ - if(_simpleNodeTest(node)){ return false; } - } - return true; - }; - - var getNodeIndex = function(node){ - var root = node.parentNode; - var i = 0, - tret = root[childNodesName], - ci = (node["_i"]||-1), - cl = (root["_l"]||-1); - - if(!tret){ return -1; } - var l = tret.length; - - // we calculate the parent length as a cheap way to invalidate the - // cache. It's not 100% accurate, but it's much more honest than what - // other libraries do - if( cl == l && ci >= 0 && cl >= 0 ){ - // if it's legit, tag and release - return ci; - } - - // else re-key things - root["_l"] = l; - ci = -1; - for(var te = root["firstElementChild"]||root["firstChild"]; te; te = te[_ns]){ - if(_simpleNodeTest(te)){ - te["_i"] = ++i; - if(node === te){ - // NOTE: - // shortcutting the return at this step in indexing works - // very well for benchmarking but we avoid it here since - // it leads to potential O(n^2) behavior in sequential - // getNodexIndex operations on a previously un-indexed - // parent. We may revisit this at a later time, but for - // now we just want to get the right answer more often - // than not. - ci = i; - } - } - } - return ci; - }; - - var isEven = function(elem){ - return !((getNodeIndex(elem)) % 2); - }; - - var isOdd = function(elem){ - return ((getNodeIndex(elem)) % 2); - }; - - var pseudos = { - "checked": function(name, condition){ - return function(elem){ - return !!("checked" in elem ? elem.checked : elem.selected); - } - }, - "first-child": function(){ return _lookLeft; }, - "last-child": function(){ return _lookRight; }, - "only-child": function(name, condition){ - return function(node){ - if(!_lookLeft(node)){ return false; } - if(!_lookRight(node)){ return false; } - return true; - }; - }, - "empty": function(name, condition){ - return function(elem){ - // DomQuery and jQuery get this wrong, oddly enough. - // The CSS 3 selectors spec is pretty explicit about it, too. - var cn = elem.childNodes; - var cnl = elem.childNodes.length; - // if(!cnl){ return true; } - for(var x=cnl-1; x >= 0; x--){ - var nt = cn[x].nodeType; - if((nt === 1)||(nt == 3)){ return false; } - } - return true; - } - }, - "contains": function(name, condition){ - var cz = condition.charAt(0); - if( cz == '"' || cz == "'" ){ //remove quote - condition = condition.slice(1, -1); - } - return function(elem){ - return (elem.innerHTML.indexOf(condition) >= 0); - } - }, - "not": function(name, condition){ - var p = getQueryParts(condition)[0]; - var ignores = { el: 1 }; - if(p.tag != "*"){ - ignores.tag = 1; - } - if(!p.classes.length){ - ignores.classes = 1; - } - var ntf = getSimpleFilterFunc(p, ignores); - return function(elem){ - return (!ntf(elem)); - } - }, - "nth-child": function(name, condition){ - var pi = parseInt; - // avoid re-defining function objects if we can - if(condition == "odd"){ - return isOdd; - }else if(condition == "even"){ - return isEven; - } - // FIXME: can we shorten this? - if(condition.indexOf("n") != -1){ - var tparts = condition.split("n", 2); - var pred = tparts[0] ? ((tparts[0] == '-') ? -1 : pi(tparts[0])) : 1; - var idx = tparts[1] ? pi(tparts[1]) : 0; - var lb = 0, ub = -1; - if(pred > 0){ - if(idx < 0){ - idx = (idx % pred) && (pred + (idx % pred)); - }else if(idx>0){ - if(idx >= pred){ - lb = idx - idx % pred; - } - idx = idx % pred; - } - }else if(pred<0){ - pred *= -1; - // idx has to be greater than 0 when pred is negative; - // shall we throw an error here? - if(idx > 0){ - ub = idx; - idx = idx % pred; - } - } - if(pred > 0){ - return function(elem){ - var i = getNodeIndex(elem); - return (i>=lb) && (ub<0 || i<=ub) && ((i % pred) == idx); - } - }else{ - condition = idx; - } - } - var ncount = pi(condition); - return function(elem){ - return (getNodeIndex(elem) == ncount); - } - } - }; - - var defaultGetter = (d.isIE < 9 || (dojo.isIE && dojo.isQuirks)) ? function(cond){ - var clc = cond.toLowerCase(); - if(clc == "class"){ cond = "className"; } - return function(elem){ - return (caseSensitive ? elem.getAttribute(cond) : elem[cond]||elem[clc]); - } - } : function(cond){ - return function(elem){ - return (elem && elem.getAttribute && elem.hasAttribute(cond)); - } - }; - - var getSimpleFilterFunc = function(query, ignores){ - // generates a node tester function based on the passed query part. The - // query part is one of the structures generated by the query parser - // when it creates the query AST. The "ignores" object specifies which - // (if any) tests to skip, allowing the system to avoid duplicating - // work where it may have already been taken into account by other - // factors such as how the nodes to test were fetched in the first - // place - if(!query){ return yesman; } - ignores = ignores||{}; - - var ff = null; - - if(!("el" in ignores)){ - ff = agree(ff, _isElement); - } - - if(!("tag" in ignores)){ - if(query.tag != "*"){ - ff = agree(ff, function(elem){ - return (elem && (elem.tagName == query.getTag())); - }); - } - } - - if(!("classes" in ignores)){ - each(query.classes, function(cname, idx, arr){ - // get the class name - /* - var isWildcard = cname.charAt(cname.length-1) == "*"; - if(isWildcard){ - cname = cname.substr(0, cname.length-1); - } - // I dislike the regex thing, even if memoized in a cache, but it's VERY short - var re = new RegExp("(?:^|\\s)" + cname + (isWildcard ? ".*" : "") + "(?:\\s|$)"); - */ - var re = new RegExp("(?:^|\\s)" + cname + "(?:\\s|$)"); - ff = agree(ff, function(elem){ - return re.test(elem.className); - }); - ff.count = idx; - }); - } - - if(!("pseudos" in ignores)){ - each(query.pseudos, function(pseudo){ - var pn = pseudo.name; - if(pseudos[pn]){ - ff = agree(ff, pseudos[pn](pn, pseudo.value)); - } - }); - } - - if(!("attrs" in ignores)){ - each(query.attrs, function(attr){ - var matcher; - var a = attr.attr; - // type, attr, matchFor - if(attr.type && attrs[attr.type]){ - matcher = attrs[attr.type](a, attr.matchFor); - }else if(a.length){ - matcher = defaultGetter(a); - } - if(matcher){ - ff = agree(ff, matcher); - } - }); - } - - if(!("id" in ignores)){ - if(query.id){ - ff = agree(ff, function(elem){ - return (!!elem && (elem.id == query.id)); - }); - } - } - - if(!ff){ - if(!("default" in ignores)){ - ff = yesman; - } - } - return ff; - }; - - var _nextSibling = function(filterFunc){ - return function(node, ret, bag){ - while(node = node[_ns]){ - if(_noNES && (!_isElement(node))){ continue; } - if( - (!bag || _isUnique(node, bag)) && - filterFunc(node) - ){ - ret.push(node); - } - break; - } - return ret; - } - }; - - var _nextSiblings = function(filterFunc){ - return function(root, ret, bag){ - var te = root[_ns]; - while(te){ - if(_simpleNodeTest(te)){ - if(bag && !_isUnique(te, bag)){ - break; - } - if(filterFunc(te)){ - ret.push(te); - } - } - te = te[_ns]; - } - return ret; - } - }; - - // get an array of child *elements*, skipping text and comment nodes - var _childElements = function(filterFunc){ - filterFunc = filterFunc||yesman; - return function(root, ret, bag){ - // get an array of child elements, skipping text and comment nodes - var te, x = 0, tret = root[childNodesName]; - while(te = tret[x++]){ - if( - _simpleNodeTest(te) && - (!bag || _isUnique(te, bag)) && - (filterFunc(te, x)) - ){ - ret.push(te); - } - } - return ret; - }; - }; - - /* - // thanks, Dean! - var itemIsAfterRoot = d.isIE ? function(item, root){ - return (item.sourceIndex > root.sourceIndex); - } : function(item, root){ - return (item.compareDocumentPosition(root) == 2); - }; - */ - - // test to see if node is below root - var _isDescendant = function(node, root){ - var pn = node.parentNode; - while(pn){ - if(pn == root){ - break; - } - pn = pn.parentNode; - } - return !!pn; - }; - - var _getElementsFuncCache = {}; - - var getElementsFunc = function(query){ - var retFunc = _getElementsFuncCache[query.query]; - // if we've got a cached dispatcher, just use that - if(retFunc){ return retFunc; } - // else, generate a new on - - // NOTE: - // this function returns a function that searches for nodes and - // filters them. The search may be specialized by infix operators - // (">", "~", or "+") else it will default to searching all - // descendants (the " " selector). Once a group of children is - // found, a test function is applied to weed out the ones we - // don't want. Many common cases can be fast-pathed. We spend a - // lot of cycles to create a dispatcher that doesn't do more work - // than necessary at any point since, unlike this function, the - // dispatchers will be called every time. The logic of generating - // efficient dispatchers looks like this in pseudo code: - // - // # if it's a purely descendant query (no ">", "+", or "~" modifiers) - // if infixOperator == " ": - // if only(id): - // return def(root): - // return d.byId(id, root); - // - // elif id: - // return def(root): - // return filter(d.byId(id, root)); - // - // elif cssClass && getElementsByClassName: - // return def(root): - // return filter(root.getElementsByClassName(cssClass)); - // - // elif only(tag): - // return def(root): - // return root.getElementsByTagName(tagName); - // - // else: - // # search by tag name, then filter - // return def(root): - // return filter(root.getElementsByTagName(tagName||"*")); - // - // elif infixOperator == ">": - // # search direct children - // return def(root): - // return filter(root.children); - // - // elif infixOperator == "+": - // # search next sibling - // return def(root): - // return filter(root.nextElementSibling); - // - // elif infixOperator == "~": - // # search rightward siblings - // return def(root): - // return filter(nextSiblings(root)); - - var io = query.infixOper; - var oper = (io ? io.oper : ""); - // the default filter func which tests for all conditions in the query - // part. This is potentially inefficient, so some optimized paths may - // re-define it to test fewer things. - var filterFunc = getSimpleFilterFunc(query, { el: 1 }); - var qt = query.tag; - var wildcardTag = ("*" == qt); - var ecs = getDoc()["getElementsByClassName"]; - - if(!oper){ - // if there's no infix operator, then it's a descendant query. ID - // and "elements by class name" variants can be accelerated so we - // call them out explicitly: - if(query.id){ - // testing shows that the overhead of yesman() is acceptable - // and can save us some bytes vs. re-defining the function - // everywhere. - filterFunc = (!query.loops && wildcardTag) ? - yesman : - getSimpleFilterFunc(query, { el: 1, id: 1 }); - - retFunc = function(root, arr){ - var te = d.byId(query.id, (root.ownerDocument||root)); - if(!te || !filterFunc(te)){ return; } - if(9 == root.nodeType){ // if root's a doc, we just return directly - return getArr(te, arr); - }else{ // otherwise check ancestry - if(_isDescendant(te, root)){ - return getArr(te, arr); - } - } - } - }else if( - ecs && - // isAlien check. Workaround for Prototype.js being totally evil/dumb. - /\{\s*\[native code\]\s*\}/.test(String(ecs)) && - query.classes.length && - !cssCaseBug - ){ - // it's a class-based query and we've got a fast way to run it. - - // ignore class and ID filters since we will have handled both - filterFunc = getSimpleFilterFunc(query, { el: 1, classes: 1, id: 1 }); - var classesString = query.classes.join(" "); - retFunc = function(root, arr, bag){ - var ret = getArr(0, arr), te, x=0; - var tret = root.getElementsByClassName(classesString); - while((te = tret[x++])){ - if(filterFunc(te, root) && _isUnique(te, bag)){ - ret.push(te); - } - } - return ret; - }; - - }else if(!wildcardTag && !query.loops){ - // it's tag only. Fast-path it. - retFunc = function(root, arr, bag){ - var ret = getArr(0, arr), te, x=0; - var tret = root.getElementsByTagName(query.getTag()); - while((te = tret[x++])){ - if(_isUnique(te, bag)){ - ret.push(te); - } - } - return ret; - }; - }else{ - // the common case: - // a descendant selector without a fast path. By now it's got - // to have a tag selector, even if it's just "*" so we query - // by that and filter - filterFunc = getSimpleFilterFunc(query, { el: 1, tag: 1, id: 1 }); - retFunc = function(root, arr, bag){ - var ret = getArr(0, arr), te, x=0; - // we use getTag() to avoid case sensitivity issues - var tret = root.getElementsByTagName(query.getTag()); - while((te = tret[x++])){ - if(filterFunc(te, root) && _isUnique(te, bag)){ - ret.push(te); - } - } - return ret; - }; - } - }else{ - // the query is scoped in some way. Instead of querying by tag we - // use some other collection to find candidate nodes - var skipFilters = { el: 1 }; - if(wildcardTag){ - skipFilters.tag = 1; - } - filterFunc = getSimpleFilterFunc(query, skipFilters); - if("+" == oper){ - retFunc = _nextSibling(filterFunc); - }else if("~" == oper){ - retFunc = _nextSiblings(filterFunc); - }else if(">" == oper){ - retFunc = _childElements(filterFunc); - } - } - // cache it and return - return _getElementsFuncCache[query.query] = retFunc; - }; - - var filterDown = function(root, queryParts){ - // NOTE: - // this is the guts of the DOM query system. It takes a list of - // parsed query parts and a root and finds children which match - // the selector represented by the parts - var candidates = getArr(root), qp, x, te, qpl = queryParts.length, bag, ret; - - for(var i = 0; i < qpl; i++){ - ret = []; - qp = queryParts[i]; - x = candidates.length - 1; - if(x > 0){ - // if we have more than one root at this level, provide a new - // hash to use for checking group membership but tell the - // system not to post-filter us since we will already have been - // gauranteed to be unique - bag = {}; - ret.nozip = true; - } - var gef = getElementsFunc(qp); - for(var j = 0; (te = candidates[j]); j++){ - // for every root, get the elements that match the descendant - // selector, adding them to the "ret" array and filtering them - // via membership in this level's bag. If there are more query - // parts, then this level's return will be used as the next - // level's candidates - gef(te, ret, bag); - } - if(!ret.length){ break; } - candidates = ret; - } - return ret; - }; - - //////////////////////////////////////////////////////////////////////// - // the query runner - //////////////////////////////////////////////////////////////////////// - - // these are the primary caches for full-query results. The query - // dispatcher functions are generated then stored here for hash lookup in - // the future - var _queryFuncCacheDOM = {}, - _queryFuncCacheQSA = {}; - - // this is the second level of spliting, from full-length queries (e.g., - // "div.foo .bar") into simple query expressions (e.g., ["div.foo", - // ".bar"]) - var getStepQueryFunc = function(query){ - var qparts = getQueryParts(trim(query)); - - // if it's trivial, avoid iteration and zipping costs - if(qparts.length == 1){ - // we optimize this case here to prevent dispatch further down the - // chain, potentially slowing things down. We could more elegantly - // handle this in filterDown(), but it's slower for simple things - // that need to be fast (e.g., "#someId"). - var tef = getElementsFunc(qparts[0]); - return function(root){ - var r = tef(root, new qlc()); - if(r){ r.nozip = true; } - return r; - } - } - - // otherwise, break it up and return a runner that iterates over the parts recursively - return function(root){ - return filterDown(root, qparts); - } - }; - - // NOTES: - // * we can't trust QSA for anything but document-rooted queries, so - // caching is split into DOM query evaluators and QSA query evaluators - // * caching query results is dirty and leak-prone (or, at a minimum, - // prone to unbounded growth). Other toolkits may go this route, but - // they totally destroy their own ability to manage their memory - // footprint. If we implement it, it should only ever be with a fixed - // total element reference # limit and an LRU-style algorithm since JS - // has no weakref support. Caching compiled query evaluators is also - // potentially problematic, but even on large documents the size of the - // query evaluators is often < 100 function objects per evaluator (and - // LRU can be applied if it's ever shown to be an issue). - // * since IE's QSA support is currently only for HTML documents and even - // then only in IE 8's "standards mode", we have to detect our dispatch - // route at query time and keep 2 separate caches. Ugg. - - // we need to determine if we think we can run a given query via - // querySelectorAll or if we'll need to fall back on DOM queries to get - // there. We need a lot of information about the environment and the query - // to make the determiniation (e.g. does it support QSA, does the query in - // question work in the native QSA impl, etc.). - var nua = navigator.userAgent; - // some versions of Safari provided QSA, but it was buggy and crash-prone. - // We need te detect the right "internal" webkit version to make this work. - var wk = "WebKit/"; - var is525 = ( - d.isWebKit && - (nua.indexOf(wk) > 0) && - (parseFloat(nua.split(wk)[1]) > 528) - ); - - // IE QSA queries may incorrectly include comment nodes, so we throw the - // zipping function into "remove" comments mode instead of the normal "skip - // it" which every other QSA-clued browser enjoys - var noZip = d.isIE ? "commentStrip" : "nozip"; - - var qsa = "querySelectorAll"; - var qsaAvail = ( - !!getDoc()[qsa] && - // see #5832 - (!d.isSafari || (d.isSafari > 3.1) || is525 ) - ); - - //Don't bother with n+3 type of matches, IE complains if we modify those. - var infixSpaceRe = /n\+\d|([^ ])?([>~+])([^ =])?/g; - var infixSpaceFunc = function(match, pre, ch, post) { - return ch ? (pre ? pre + " " : "") + ch + (post ? " " + post : "") : /*n+3*/ match; - }; - - var getQueryFunc = function(query, forceDOM){ - //Normalize query. The CSS3 selectors spec allows for omitting spaces around - //infix operators, >, ~ and + - //Do the work here since detection for spaces is used as a simple "not use QSA" - //test below. - query = query.replace(infixSpaceRe, infixSpaceFunc); - - if(qsaAvail){ - // if we've got a cached variant and we think we can do it, run it! - var qsaCached = _queryFuncCacheQSA[query]; - if(qsaCached && !forceDOM){ return qsaCached; } - } - - // else if we've got a DOM cached variant, assume that we already know - // all we need to and use it - var domCached = _queryFuncCacheDOM[query]; - if(domCached){ return domCached; } - - // TODO: - // today we're caching DOM and QSA branches separately so we - // recalc useQSA every time. If we had a way to tag root+query - // efficiently, we'd be in good shape to do a global cache. - - var qcz = query.charAt(0); - var nospace = (-1 == query.indexOf(" ")); - - // byId searches are wicked fast compared to QSA, even when filtering - // is required - if( (query.indexOf("#") >= 0) && (nospace) ){ - forceDOM = true; - } - - var useQSA = ( - qsaAvail && (!forceDOM) && - // as per CSS 3, we can't currently start w/ combinator: - // http://www.w3.org/TR/css3-selectors/#w3cselgrammar - (specials.indexOf(qcz) == -1) && - // IE's QSA impl sucks on pseudos - (!d.isIE || (query.indexOf(":") == -1)) && - - (!(cssCaseBug && (query.indexOf(".") >= 0))) && - - // FIXME: - // need to tighten up browser rules on ":contains" and "|=" to - // figure out which aren't good - // Latest webkit (around 531.21.8) does not seem to do well with :checked on option - // elements, even though according to spec, selected options should - // match :checked. So go nonQSA for it: - // http://bugs.dojotoolkit.org/ticket/5179 - (query.indexOf(":contains") == -1) && (query.indexOf(":checked") == -1) && - (query.indexOf("|=") == -1) // some browsers don't grok it - ); - - // TODO: - // if we've got a descendant query (e.g., "> .thinger" instead of - // just ".thinger") in a QSA-able doc, but are passed a child as a - // root, it should be possible to give the item a synthetic ID and - // trivially rewrite the query to the form "#synid > .thinger" to - // use the QSA branch - - - if(useQSA){ - var tq = (specials.indexOf(query.charAt(query.length-1)) >= 0) ? - (query + " *") : query; - return _queryFuncCacheQSA[query] = function(root){ - try{ - // the QSA system contains an egregious spec bug which - // limits us, effectively, to only running QSA queries over - // entire documents. See: - // http://ejohn.org/blog/thoughts-on-queryselectorall/ - // despite this, we can also handle QSA runs on simple - // selectors, but we don't want detection to be expensive - // so we're just checking for the presence of a space char - // right now. Not elegant, but it's cheaper than running - // the query parser when we might not need to - if(!((9 == root.nodeType) || nospace)){ throw ""; } - var r = root[qsa](tq); - // skip expensive duplication checks and just wrap in a NodeList - r[noZip] = true; - return r; - }catch(e){ - // else run the DOM branch on this query, ensuring that we - // default that way in the future - return getQueryFunc(query, true)(root); - } - } - }else{ - // DOM branch - var parts = query.split(/\s*,\s*/); - return _queryFuncCacheDOM[query] = ((parts.length < 2) ? - // if not a compound query (e.g., ".foo, .bar"), cache and return a dispatcher - getStepQueryFunc(query) : - // if it *is* a complex query, break it up into its - // constituent parts and return a dispatcher that will - // merge the parts when run - function(root){ - var pindex = 0, // avoid array alloc for every invocation - ret = [], - tp; - while((tp = parts[pindex++])){ - ret = ret.concat(getStepQueryFunc(tp)(root)); - } - return ret; - } - ); - } - }; - - var _zipIdx = 0; - - // NOTE: - // this function is Moo inspired, but our own impl to deal correctly - // with XML in IE - var _nodeUID = d.isIE ? function(node){ - if(caseSensitive){ - // XML docs don't have uniqueID on their nodes - return (node.getAttribute("_uid") || node.setAttribute("_uid", ++_zipIdx) || _zipIdx); - - }else{ - return node.uniqueID; - } - } : - function(node){ - return (node._uid || (node._uid = ++_zipIdx)); - }; - - // determine if a node in is unique in a "bag". In this case we don't want - // to flatten a list of unique items, but rather just tell if the item in - // question is already in the bag. Normally we'd just use hash lookup to do - // this for us but IE's DOM is busted so we can't really count on that. On - // the upside, it gives us a built in unique ID function. - var _isUnique = function(node, bag){ - if(!bag){ return 1; } - var id = _nodeUID(node); - if(!bag[id]){ return bag[id] = 1; } - return 0; - }; - - // attempt to efficiently determine if an item in a list is a dupe, - // returning a list of "uniques", hopefully in doucment order - var _zipIdxName = "_zipIdx"; - var _zip = function(arr){ - if(arr && arr.nozip){ - return (qlc._wrap) ? qlc._wrap(arr) : arr; - } - // var ret = new d._NodeListCtor(); - var ret = new qlc(); - if(!arr || !arr.length){ return ret; } - if(arr[0]){ - ret.push(arr[0]); - } - if(arr.length < 2){ return ret; } - - _zipIdx++; - - // we have to fork here for IE and XML docs because we can't set - // expandos on their nodes (apparently). *sigh* - if(d.isIE && caseSensitive){ - var szidx = _zipIdx+""; - arr[0].setAttribute(_zipIdxName, szidx); - for(var x = 1, te; te = arr[x]; x++){ - if(arr[x].getAttribute(_zipIdxName) != szidx){ - ret.push(te); - } - te.setAttribute(_zipIdxName, szidx); - } - }else if(d.isIE && arr.commentStrip){ - try{ - for(var x = 1, te; te = arr[x]; x++){ - if(_isElement(te)){ - ret.push(te); - } - } - }catch(e){ /* squelch */ } - }else{ - if(arr[0]){ arr[0][_zipIdxName] = _zipIdx; } - for(var x = 1, te; te = arr[x]; x++){ - if(arr[x][_zipIdxName] != _zipIdx){ - ret.push(te); - } - te[_zipIdxName] = _zipIdx; - } - } - return ret; - }; - - // the main executor - d.query = function(/*String*/ query, /*String|DOMNode?*/ root){ - // summary: - // Returns nodes which match the given CSS3 selector, searching the - // entire document by default but optionally taking a node to scope - // the search by. Returns an instance of dojo.NodeList. - // description: - // dojo.query() is the swiss army knife of DOM node manipulation in - // Dojo. Much like Prototype's "$$" (bling-bling) function or JQuery's - // "$" function, dojo.query provides robust, high-performance - // CSS-based node selector support with the option of scoping searches - // to a particular sub-tree of a document. - // - // Supported Selectors: - // -------------------- - // - // dojo.query() supports a rich set of CSS3 selectors, including: - // - // * class selectors (e.g., `.foo`) - // * node type selectors like `span` - // * ` ` descendant selectors - // * `>` child element selectors - // * `#foo` style ID selectors - // * `*` universal selector - // * `~`, the preceded-by sibling selector - // * `+`, the immediately preceded-by sibling selector - // * attribute queries: - // | * `[foo]` attribute presence selector - // | * `[foo='bar']` attribute value exact match - // | * `[foo~='bar']` attribute value list item match - // | * `[foo^='bar']` attribute start match - // | * `[foo$='bar']` attribute end match - // | * `[foo*='bar']` attribute substring match - // * `:first-child`, `:last-child`, and `:only-child` positional selectors - // * `:empty` content emtpy selector - // * `:checked` pseudo selector - // * `:nth-child(n)`, `:nth-child(2n+1)` style positional calculations - // * `:nth-child(even)`, `:nth-child(odd)` positional selectors - // * `:not(...)` negation pseudo selectors - // - // Any legal combination of these selectors will work with - // `dojo.query()`, including compound selectors ("," delimited). - // Very complex and useful searches can be constructed with this - // palette of selectors and when combined with functions for - // manipulation presented by dojo.NodeList, many types of DOM - // manipulation operations become very straightforward. - // - // Unsupported Selectors: - // ---------------------- - // - // While dojo.query handles many CSS3 selectors, some fall outside of - // what's reasonable for a programmatic node querying engine to - // handle. Currently unsupported selectors include: - // - // * namespace-differentiated selectors of any form - // * all `::` pseduo-element selectors - // * certain pseduo-selectors which don't get a lot of day-to-day use: - // | * `:root`, `:lang()`, `:target`, `:focus` - // * all visual and state selectors: - // | * `:root`, `:active`, `:hover`, `:visisted`, `:link`, - // `:enabled`, `:disabled` - // * `:*-of-type` pseudo selectors - // - // dojo.query and XML Documents: - // ----------------------------- - // - // `dojo.query` (as of dojo 1.2) supports searching XML documents - // in a case-sensitive manner. If an HTML document is served with - // a doctype that forces case-sensitivity (e.g., XHTML 1.1 - // Strict), dojo.query() will detect this and "do the right - // thing". Case sensitivity is dependent upon the document being - // searched and not the query used. It is therefore possible to - // use case-sensitive queries on strict sub-documents (iframes, - // etc.) or XML documents while still assuming case-insensitivity - // for a host/root document. - // - // Non-selector Queries: - // --------------------- - // - // If something other than a String is passed for the query, - // `dojo.query` will return a new `dojo.NodeList` instance - // constructed from that parameter alone and all further - // processing will stop. This means that if you have a reference - // to a node or NodeList, you can quickly construct a new NodeList - // from the original by calling `dojo.query(node)` or - // `dojo.query(list)`. - // - // query: - // The CSS3 expression to match against. For details on the syntax of - // CSS3 selectors, see <http://www.w3.org/TR/css3-selectors/#selectors> - // root: - // A DOMNode (or node id) to scope the search from. Optional. - // returns: dojo.NodeList - // An instance of `dojo.NodeList`. Many methods are available on - // NodeLists for searching, iterating, manipulating, and handling - // events on the matched nodes in the returned list. - // example: - // search the entire document for elements with the class "foo": - // | dojo.query(".foo"); - // these elements will match: - // | <span class="foo"></span> - // | <span class="foo bar"></span> - // | <p class="thud foo"></p> - // example: - // search the entire document for elements with the classes "foo" *and* "bar": - // | dojo.query(".foo.bar"); - // these elements will match: - // | <span class="foo bar"></span> - // while these will not: - // | <span class="foo"></span> - // | <p class="thud foo"></p> - // example: - // find `<span>` elements which are descendants of paragraphs and - // which have a "highlighted" class: - // | dojo.query("p span.highlighted"); - // the innermost span in this fragment matches: - // | <p class="foo"> - // | <span>... - // | <span class="highlighted foo bar">...</span> - // | </span> - // | </p> - // example: - // set an "odd" class on all odd table rows inside of the table - // `#tabular_data`, using the `>` (direct child) selector to avoid - // affecting any nested tables: - // | dojo.query("#tabular_data > tbody > tr:nth-child(odd)").addClass("odd"); - // example: - // remove all elements with the class "error" from the document - // and store them in a list: - // | var errors = dojo.query(".error").orphan(); - // example: - // add an onclick handler to every submit button in the document - // which causes the form to be sent via Ajax instead: - // | dojo.query("input[type='submit']").onclick(function(e){ - // | dojo.stopEvent(e); // prevent sending the form - // | var btn = e.target; - // | dojo.xhrPost({ - // | form: btn.form, - // | load: function(data){ - // | // replace the form with the response - // | var div = dojo.doc.createElement("div"); - // | dojo.place(div, btn.form, "after"); - // | div.innerHTML = data; - // | dojo.style(btn.form, "display", "none"); - // | } - // | }); - // | }); - - //Set list constructor to desired value. This can change - //between calls, so always re-assign here. - qlc = d._NodeListCtor; - - if(!query){ - return new qlc(); - } - - if(query.constructor == qlc){ - return query; - } - if(typeof query != "string"){ // inline'd type check - return new qlc(query); // dojo.NodeList - } - if(typeof root == "string"){ // inline'd type check - root = d.byId(root); - if(!root){ return new qlc(); } - } - - root = root||getDoc(); - var od = root.ownerDocument||root.documentElement; - - // throw the big case sensitivity switch - - // NOTE: - // Opera in XHTML mode doesn't detect case-sensitivity correctly - // and it's not clear that there's any way to test for it - caseSensitive = (root.contentType && root.contentType=="application/xml") || - (d.isOpera && (root.doctype || od.toString() == "[object XMLDocument]")) || - (!!od) && - (d.isIE ? od.xml : (root.xmlVersion||od.xmlVersion)); - - // NOTE: - // adding "true" as the 2nd argument to getQueryFunc is useful for - // testing the DOM branch without worrying about the - // behavior/performance of the QSA branch. - var r = getQueryFunc(query)(root); - - // FIXME: - // need to investigate this branch WRT #8074 and #8075 - if(r && r.nozip && !qlc._wrap){ - return r; - } - return _zip(r); // dojo.NodeList - } - - // FIXME: need to add infrastructure for post-filtering pseudos, ala :last - d.query.pseudos = pseudos; - - // function for filtering a NodeList based on a selector, optimized for simple selectors - d._filterQueryResult = function(/*NodeList*/ nodeList, /*String*/ filter, /*String|DOMNode?*/ root){ - var tmpNodeList = new d._NodeListCtor(), - parts = getQueryParts(filter), - filterFunc = - (parts.length == 1 && !/[^\w#\.]/.test(filter)) ? - getSimpleFilterFunc(parts[0]) : - function(node) { - return dojo.query(filter, root).indexOf(node) != -1; - }; - for(var x = 0, te; te = nodeList[x]; x++){ - if(filterFunc(te)){ tmpNodeList.push(te); } - } - return tmpNodeList; - } -};//end defineQuery - -var defineAcme= function(){ - // a self-sufficient query impl - acme = { - trim: function(/*String*/ str){ - // summary: - // trims whitespaces from both sides of the string - str = str.replace(/^\s+/, ''); - for(var i = str.length - 1; i >= 0; i--){ - if(/\S/.test(str.charAt(i))){ - str = str.substring(0, i + 1); - break; - } - } - return str; // String - }, - forEach: function(/*String*/ arr, /*Function*/ callback, /*Object?*/ thisObject){ - // summary: - // an iterator function that passes items, indexes, - // and the array to a callback - if(!arr || !arr.length){ return; } - for(var i=0,l=arr.length; i<l; ++i){ - callback.call(thisObject||window, arr[i], i, arr); - } - }, - byId: function(id, doc){ - // summary: - // a function that return an element by ID, but also - // accepts nodes safely - if(typeof id == "string"){ - return (doc||document).getElementById(id); // DomNode - }else{ - return id; // DomNode - } - }, - // the default document to search - doc: document, - // the constructor for node list objects returned from query() - NodeList: Array - }; - - // define acme.isIE, acme.isSafari, acme.isOpera, etc. - var n = navigator; - var dua = n.userAgent; - var dav = n.appVersion; - var tv = parseFloat(dav); - acme.isOpera = (dua.indexOf("Opera") >= 0) ? tv: undefined; - acme.isKhtml = (dav.indexOf("Konqueror") >= 0) ? tv : undefined; - acme.isWebKit = parseFloat(dua.split("WebKit/")[1]) || undefined; - acme.isChrome = parseFloat(dua.split("Chrome/")[1]) || undefined; - var index = Math.max(dav.indexOf("WebKit"), dav.indexOf("Safari"), 0); - if(index && !acme.isChrome){ - acme.isSafari = parseFloat(dav.split("Version/")[1]); - if(!acme.isSafari || parseFloat(dav.substr(index + 7)) <= 419.3){ - acme.isSafari = 2; - } - } - if(document.all && !acme.isOpera){ - acme.isIE = parseFloat(dav.split("MSIE ")[1]) || undefined; - } - - Array._wrap = function(arr){ return arr; }; - return acme; -}; - - //prefers queryPortability, then acme, then dojo - if(this["dojo"]){ - dojo.provide("dojo._base.query"); - - - defineQuery(this["queryPortability"]||this["acme"]||dojo); - }else{ - defineQuery(this["queryPortability"]||this["acme"]||defineAcme()); - } - -})(); - -/* -*/ - -} - -if(!dojo._hasResource["dojo._base.xhr"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.xhr"] = true; -dojo.provide("dojo._base.xhr"); - - - - - - -(function(){ - var _d = dojo, cfg = _d.config; - - function setValue(/*Object*/obj, /*String*/name, /*String*/value){ - //summary: - // For the named property in object, set the value. If a value - // already exists and it is a string, convert the value to be an - // array of values. - - //Skip it if there is no value - if(value === null){ - return; - } - - var val = obj[name]; - if(typeof val == "string"){ // inline'd type check - obj[name] = [val, value]; - }else if(_d.isArray(val)){ - val.push(value); - }else{ - obj[name] = value; - } - } - - dojo.fieldToObject = function(/*DOMNode||String*/ inputNode){ - // summary: - // Serialize a form field to a JavaScript object. - // - // description: - // Returns the value encoded in a form field as - // as a string or an array of strings. Disabled form elements - // and unchecked radio and checkboxes are skipped. Multi-select - // elements are returned as an array of string values. - var ret = null; - var item = _d.byId(inputNode); - if(item){ - var _in = item.name; - var type = (item.type||"").toLowerCase(); - if(_in && type && !item.disabled){ - if(type == "radio" || type == "checkbox"){ - if(item.checked){ ret = item.value; } - }else if(item.multiple){ - ret = []; - _d.query("option", item).forEach(function(opt){ - if(opt.selected){ - ret.push(opt.value); - } - }); - }else{ - ret = item.value; - } - } - } - return ret; // Object - }; - - dojo.formToObject = function(/*DOMNode||String*/ formNode){ - // summary: - // Serialize a form node to a JavaScript object. - // description: - // Returns the values encoded in an HTML form as - // string properties in an object which it then returns. Disabled form - // elements, buttons, and other non-value form elements are skipped. - // Multi-select elements are returned as an array of string values. - // - // example: - // This form: - // | <form id="test_form"> - // | <input type="text" name="blah" value="blah"> - // | <input type="text" name="no_value" value="blah" disabled> - // | <input type="button" name="no_value2" value="blah"> - // | <select type="select" multiple name="multi" size="5"> - // | <option value="blah">blah</option> - // | <option value="thud" selected>thud</option> - // | <option value="thonk" selected>thonk</option> - // | </select> - // | </form> - // - // yields this object structure as the result of a call to - // formToObject(): - // - // | { - // | blah: "blah", - // | multi: [ - // | "thud", - // | "thonk" - // | ] - // | }; - - var ret = {}; - var exclude = "file|submit|image|reset|button|"; - _d.forEach(dojo.byId(formNode).elements, function(item){ - var _in = item.name; - var type = (item.type||"").toLowerCase(); - if(_in && type && exclude.indexOf(type) == -1 && !item.disabled){ - setValue(ret, _in, _d.fieldToObject(item)); - if(type == "image"){ - ret[_in+".x"] = ret[_in+".y"] = ret[_in].x = ret[_in].y = 0; - } - } - }); - return ret; // Object - }; - - dojo.objectToQuery = function(/*Object*/ map){ - // summary: - // takes a name/value mapping object and returns a string representing - // a URL-encoded version of that object. - // example: - // this object: - // - // | { - // | blah: "blah", - // | multi: [ - // | "thud", - // | "thonk" - // | ] - // | }; - // - // yields the following query string: - // - // | "blah=blah&multi=thud&multi=thonk" - - // FIXME: need to implement encodeAscii!! - var enc = encodeURIComponent; - var pairs = []; - var backstop = {}; - for(var name in map){ - var value = map[name]; - if(value != backstop[name]){ - var assign = enc(name) + "="; - if(_d.isArray(value)){ - for(var i=0; i < value.length; i++){ - pairs.push(assign + enc(value[i])); - } - }else{ - pairs.push(assign + enc(value)); - } - } - } - return pairs.join("&"); // String - }; - - dojo.formToQuery = function(/*DOMNode||String*/ formNode){ - // summary: - // Returns a URL-encoded string representing the form passed as either a - // node or string ID identifying the form to serialize - return _d.objectToQuery(_d.formToObject(formNode)); // String - }; - - dojo.formToJson = function(/*DOMNode||String*/ formNode, /*Boolean?*/prettyPrint){ - // summary: - // Create a serialized JSON string from a form node or string - // ID identifying the form to serialize - return _d.toJson(_d.formToObject(formNode), prettyPrint); // String - }; - - dojo.queryToObject = function(/*String*/ str){ - // summary: - // Create an object representing a de-serialized query section of a - // URL. Query keys with multiple values are returned in an array. - // - // example: - // This string: - // - // | "foo=bar&foo=baz&thinger=%20spaces%20=blah&zonk=blarg&" - // - // results in this object structure: - // - // | { - // | foo: [ "bar", "baz" ], - // | thinger: " spaces =blah", - // | zonk: "blarg" - // | } - // - // Note that spaces and other urlencoded entities are correctly - // handled. - - // FIXME: should we grab the URL string if we're not passed one? - var ret = {}; - var qp = str.split("&"); - var dec = decodeURIComponent; - _d.forEach(qp, function(item){ - if(item.length){ - var parts = item.split("="); - var name = dec(parts.shift()); - var val = dec(parts.join("=")); - if(typeof ret[name] == "string"){ // inline'd type check - ret[name] = [ret[name]]; - } - - if(_d.isArray(ret[name])){ - ret[name].push(val); - }else{ - ret[name] = val; - } - } - }); - return ret; // Object - }; - - // need to block async callbacks from snatching this thread as the result - // of an async callback might call another sync XHR, this hangs khtml forever - // must checked by watchInFlight() - - dojo._blockAsync = false; - - // MOW: remove dojo._contentHandlers alias in 2.0 - var handlers = _d._contentHandlers = dojo.contentHandlers = { - // summary: - // A map of availble XHR transport handle types. Name matches the - // `handleAs` attribute passed to XHR calls. - // - // description: - // A map of availble XHR transport handle types. Name matches the - // `handleAs` attribute passed to XHR calls. Each contentHandler is - // called, passing the xhr object for manipulation. The return value - // from the contentHandler will be passed to the `load` or `handle` - // functions defined in the original xhr call. - // - // example: - // Creating a custom content-handler: - // | dojo.contentHandlers.makeCaps = function(xhr){ - // | return xhr.responseText.toUpperCase(); - // | } - // | // and later: - // | dojo.xhrGet({ - // | url:"foo.txt", - // | handleAs:"makeCaps", - // | load: function(data){ /* data is a toUpper version of foo.txt */ } - // | }); - - text: function(xhr){ - // summary: A contentHandler which simply returns the plaintext response data - return xhr.responseText; - }, - json: function(xhr){ - // summary: A contentHandler which returns a JavaScript object created from the response data - return _d.fromJson(xhr.responseText || null); - }, - "json-comment-filtered": function(xhr){ - // summary: A contentHandler which expects comment-filtered JSON. - // description: - // A contentHandler which expects comment-filtered JSON. - // the json-comment-filtered option was implemented to prevent - // "JavaScript Hijacking", but it is less secure than standard JSON. Use - // standard JSON instead. JSON prefixing can be used to subvert hijacking. - // - // Will throw a notice suggesting to use application/json mimetype, as - // json-commenting can introduce security issues. To decrease the chances of hijacking, - // use the standard `json` contentHandler, and prefix your "JSON" with: {}&& - // - // use djConfig.useCommentedJson = true to turn off the notice - if(!dojo.config.useCommentedJson){ - console.warn("Consider using the standard mimetype:application/json." - + " json-commenting can introduce security issues. To" - + " decrease the chances of hijacking, use the standard the 'json' handler and" - + " prefix your json with: {}&&\n" - + "Use djConfig.useCommentedJson=true to turn off this message."); - } - - var value = xhr.responseText; - var cStartIdx = value.indexOf("\/*"); - var cEndIdx = value.lastIndexOf("*\/"); - if(cStartIdx == -1 || cEndIdx == -1){ - throw new Error("JSON was not comment filtered"); - } - return _d.fromJson(value.substring(cStartIdx+2, cEndIdx)); - }, - javascript: function(xhr){ - // summary: A contentHandler which evaluates the response data, expecting it to be valid JavaScript - - // FIXME: try Moz and IE specific eval variants? - return _d.eval(xhr.responseText); - }, - xml: function(xhr){ - // summary: A contentHandler returning an XML Document parsed from the response data - var result = xhr.responseXML; - if(_d.isIE && (!result || !result.documentElement)){ - //WARNING: this branch used by the xml handling in dojo.io.iframe, - //so be sure to test dojo.io.iframe if making changes below. - var ms = function(n){ return "MSXML" + n + ".DOMDocument"; }; - var dp = ["Microsoft.XMLDOM", ms(6), ms(4), ms(3), ms(2)]; - _d.some(dp, function(p){ - try{ - var dom = new ActiveXObject(p); - dom.async = false; - dom.loadXML(xhr.responseText); - result = dom; - }catch(e){ return false; } - return true; - }); - } - return result; // DOMDocument - }, - "json-comment-optional": function(xhr){ - // summary: A contentHandler which checks the presence of comment-filtered JSON and - // alternates between the `json` and `json-comment-filtered` contentHandlers. - if(xhr.responseText && /^[^{\[]*\/\*/.test(xhr.responseText)){ - return handlers["json-comment-filtered"](xhr); - }else{ - return handlers["json"](xhr); - } - } - }; - - /*===== - dojo.__IoArgs = function(){ - // url: String - // URL to server endpoint. - // content: Object? - // Contains properties with string values. These - // properties will be serialized as name1=value2 and - // passed in the request. - // timeout: Integer? - // Milliseconds to wait for the response. If this time - // passes, the then error callbacks are called. - // form: DOMNode? - // DOM node for a form. Used to extract the form values - // and send to the server. - // preventCache: Boolean? - // Default is false. If true, then a - // "dojo.preventCache" parameter is sent in the request - // with a value that changes with each request - // (timestamp). Useful only with GET-type requests. - // handleAs: String? - // Acceptable values depend on the type of IO - // transport (see specific IO calls for more information). - // rawBody: String? - // Sets the raw body for an HTTP request. If this is used, then the content - // property is ignored. This is mostly useful for HTTP methods that have - // a body to their requests, like PUT or POST. This property can be used instead - // of postData and putData for dojo.rawXhrPost and dojo.rawXhrPut respectively. - // ioPublish: Boolean? - // Set this explicitly to false to prevent publishing of topics related to - // IO operations. Otherwise, if djConfig.ioPublish is set to true, topics - // will be published via dojo.publish for different phases of an IO operation. - // See dojo.__IoPublish for a list of topics that are published. - // load: Function? - // This function will be - // called on a successful HTTP response code. - // error: Function? - // This function will - // be called when the request fails due to a network or server error, the url - // is invalid, etc. It will also be called if the load or handle callback throws an - // exception, unless djConfig.debugAtAllCosts is true. This allows deployed applications - // to continue to run even when a logic error happens in the callback, while making - // it easier to troubleshoot while in debug mode. - // handle: Function? - // This function will - // be called at the end of every request, whether or not an error occurs. - this.url = url; - this.content = content; - this.timeout = timeout; - this.form = form; - this.preventCache = preventCache; - this.handleAs = handleAs; - this.ioPublish = ioPublish; - this.load = function(response, ioArgs){ - // ioArgs: dojo.__IoCallbackArgs - // Provides additional information about the request. - // response: Object - // The response in the format as defined with handleAs. - } - this.error = function(response, ioArgs){ - // ioArgs: dojo.__IoCallbackArgs - // Provides additional information about the request. - // response: Object - // The response in the format as defined with handleAs. - } - this.handle = function(loadOrError, response, ioArgs){ - // loadOrError: String - // Provides a string that tells you whether this function - // was called because of success (load) or failure (error). - // response: Object - // The response in the format as defined with handleAs. - // ioArgs: dojo.__IoCallbackArgs - // Provides additional information about the request. - } - } - =====*/ - - /*===== - dojo.__IoCallbackArgs = function(args, xhr, url, query, handleAs, id, canDelete, json){ - // args: Object - // the original object argument to the IO call. - // xhr: XMLHttpRequest - // For XMLHttpRequest calls only, the - // XMLHttpRequest object that was used for the - // request. - // url: String - // The final URL used for the call. Many times it - // will be different than the original args.url - // value. - // query: String - // For non-GET requests, the - // name1=value1&name2=value2 parameters sent up in - // the request. - // handleAs: String - // The final indicator on how the response will be - // handled. - // id: String - // For dojo.io.script calls only, the internal - // script ID used for the request. - // canDelete: Boolean - // For dojo.io.script calls only, indicates - // whether the script tag that represents the - // request can be deleted after callbacks have - // been called. Used internally to know when - // cleanup can happen on JSONP-type requests. - // json: Object - // For dojo.io.script calls only: holds the JSON - // response for JSONP-type requests. Used - // internally to hold on to the JSON responses. - // You should not need to access it directly -- - // the same object should be passed to the success - // callbacks directly. - this.args = args; - this.xhr = xhr; - this.url = url; - this.query = query; - this.handleAs = handleAs; - this.id = id; - this.canDelete = canDelete; - this.json = json; - } - =====*/ - - - /*===== - dojo.__IoPublish = function(){ - // summary: - // This is a list of IO topics that can be published - // if djConfig.ioPublish is set to true. IO topics can be - // published for any Input/Output, network operation. So, - // dojo.xhr, dojo.io.script and dojo.io.iframe can all - // trigger these topics to be published. - // start: String - // "/dojo/io/start" is sent when there are no outstanding IO - // requests, and a new IO request is started. No arguments - // are passed with this topic. - // send: String - // "/dojo/io/send" is sent whenever a new IO request is started. - // It passes the dojo.Deferred for the request with the topic. - // load: String - // "/dojo/io/load" is sent whenever an IO request has loaded - // successfully. It passes the response and the dojo.Deferred - // for the request with the topic. - // error: String - // "/dojo/io/error" is sent whenever an IO request has errored. - // It passes the error and the dojo.Deferred - // for the request with the topic. - // done: String - // "/dojo/io/done" is sent whenever an IO request has completed, - // either by loading or by erroring. It passes the error and - // the dojo.Deferred for the request with the topic. - // stop: String - // "/dojo/io/stop" is sent when all outstanding IO requests have - // finished. No arguments are passed with this topic. - this.start = "/dojo/io/start"; - this.send = "/dojo/io/send"; - this.load = "/dojo/io/load"; - this.error = "/dojo/io/error"; - this.done = "/dojo/io/done"; - this.stop = "/dojo/io/stop"; - } - =====*/ - - - dojo._ioSetArgs = function(/*dojo.__IoArgs*/args, - /*Function*/canceller, - /*Function*/okHandler, - /*Function*/errHandler){ - // summary: - // sets up the Deferred and ioArgs property on the Deferred so it - // can be used in an io call. - // args: - // The args object passed into the public io call. Recognized properties on - // the args object are: - // canceller: - // The canceller function used for the Deferred object. The function - // will receive one argument, the Deferred object that is related to the - // canceller. - // okHandler: - // The first OK callback to be registered with Deferred. It has the opportunity - // to transform the OK response. It will receive one argument -- the Deferred - // object returned from this function. - // errHandler: - // The first error callback to be registered with Deferred. It has the opportunity - // to do cleanup on an error. It will receive two arguments: error (the - // Error object) and dfd, the Deferred object returned from this function. - - var ioArgs = {args: args, url: args.url}; - - //Get values from form if requestd. - var formObject = null; - if(args.form){ - var form = _d.byId(args.form); - //IE requires going through getAttributeNode instead of just getAttribute in some form cases, - //so use it for all. See #2844 - var actnNode = form.getAttributeNode("action"); - ioArgs.url = ioArgs.url || (actnNode ? actnNode.value : null); - formObject = _d.formToObject(form); - } - - // set up the query params - var miArgs = [{}]; - - if(formObject){ - // potentially over-ride url-provided params w/ form values - miArgs.push(formObject); - } - if(args.content){ - // stuff in content over-rides what's set by form - miArgs.push(args.content); - } - if(args.preventCache){ - miArgs.push({"dojo.preventCache": new Date().valueOf()}); - } - ioArgs.query = _d.objectToQuery(_d.mixin.apply(null, miArgs)); - - // .. and the real work of getting the deferred in order, etc. - ioArgs.handleAs = args.handleAs || "text"; - var d = new _d.Deferred(canceller); - d.addCallbacks(okHandler, function(error){ - return errHandler(error, d); - }); - - //Support specifying load, error and handle callback functions from the args. - //For those callbacks, the "this" object will be the args object. - //The callbacks will get the deferred result value as the - //first argument and the ioArgs object as the second argument. - var ld = args.load; - if(ld && _d.isFunction(ld)){ - d.addCallback(function(value){ - return ld.call(args, value, ioArgs); - }); - } - var err = args.error; - if(err && _d.isFunction(err)){ - d.addErrback(function(value){ - return err.call(args, value, ioArgs); - }); - } - var handle = args.handle; - if(handle && _d.isFunction(handle)){ - d.addBoth(function(value){ - return handle.call(args, value, ioArgs); - }); - } - - //Plug in topic publishing, if dojo.publish is loaded. - if(cfg.ioPublish && _d.publish && ioArgs.args.ioPublish !== false){ - d.addCallbacks( - function(res){ - _d.publish("/dojo/io/load", [d, res]); - return res; - }, - function(res){ - _d.publish("/dojo/io/error", [d, res]); - return res; - } - ); - d.addBoth(function(res){ - _d.publish("/dojo/io/done", [d, res]); - return res; - }); - } - - d.ioArgs = ioArgs; - - // FIXME: need to wire up the xhr object's abort method to something - // analagous in the Deferred - return d; - }; - - var _deferredCancel = function(/*Deferred*/dfd){ - // summary: canceller function for dojo._ioSetArgs call. - - dfd.canceled = true; - var xhr = dfd.ioArgs.xhr; - var _at = typeof xhr.abort; - if(_at == "function" || _at == "object" || _at == "unknown"){ - xhr.abort(); - } - var err = dfd.ioArgs.error; - if(!err){ - err = new Error("xhr cancelled"); - err.dojoType="cancel"; - } - return err; - }; - var _deferredOk = function(/*Deferred*/dfd){ - // summary: okHandler function for dojo._ioSetArgs call. - - var ret = handlers[dfd.ioArgs.handleAs](dfd.ioArgs.xhr); - return ret === undefined ? null : ret; - }; - var _deferError = function(/*Error*/error, /*Deferred*/dfd){ - // summary: errHandler function for dojo._ioSetArgs call. - - if(!dfd.ioArgs.args.failOk){ - console.error(error); - } - return error; - }; - - // avoid setting a timer per request. It degrades performance on IE - // something fierece if we don't use unified loops. - var _inFlightIntvl = null; - var _inFlight = []; - - - //Use a separate count for knowing if we are starting/stopping io calls. - //Cannot use _inFlight.length since it can change at a different time than - //when we want to do this kind of test. We only want to decrement the count - //after a callback/errback has finished, since the callback/errback should be - //considered as part of finishing a request. - var _pubCount = 0; - var _checkPubCount = function(dfd){ - if(_pubCount <= 0){ - _pubCount = 0; - if(cfg.ioPublish && _d.publish && (!dfd || dfd && dfd.ioArgs.args.ioPublish !== false)){ - _d.publish("/dojo/io/stop"); - } - } - }; - - var _watchInFlight = function(){ - //summary: - // internal method that checks each inflight XMLHttpRequest to see - // if it has completed or if the timeout situation applies. - - var now = (new Date()).getTime(); - // make sure sync calls stay thread safe, if this callback is called - // during a sync call and this results in another sync call before the - // first sync call ends the browser hangs - if(!_d._blockAsync){ - // we need manual loop because we often modify _inFlight (and therefore 'i') while iterating - // note: the second clause is an assigment on purpose, lint may complain - for(var i = 0, tif; i < _inFlight.length && (tif = _inFlight[i]); i++){ - var dfd = tif.dfd; - var func = function(){ - if(!dfd || dfd.canceled || !tif.validCheck(dfd)){ - _inFlight.splice(i--, 1); - _pubCount -= 1; - }else if(tif.ioCheck(dfd)){ - _inFlight.splice(i--, 1); - tif.resHandle(dfd); - _pubCount -= 1; - }else if(dfd.startTime){ - //did we timeout? - if(dfd.startTime + (dfd.ioArgs.args.timeout || 0) < now){ - _inFlight.splice(i--, 1); - var err = new Error("timeout exceeded"); - err.dojoType = "timeout"; - dfd.errback(err); - //Cancel the request so the io module can do appropriate cleanup. - dfd.cancel(); - _pubCount -= 1; - } - } - }; - if(dojo.config.debugAtAllCosts){ - func.call(this); - }else{ - try{ - func.call(this); - }catch(e){ - dfd.errback(e); - } - } - } - } - - _checkPubCount(dfd); - - if(!_inFlight.length){ - clearInterval(_inFlightIntvl); - _inFlightIntvl = null; - return; - } - }; - - dojo._ioCancelAll = function(){ - //summary: Cancels all pending IO requests, regardless of IO type - //(xhr, script, iframe). - try{ - _d.forEach(_inFlight, function(i){ - try{ - i.dfd.cancel(); - }catch(e){/*squelch*/} - }); - }catch(e){/*squelch*/} - }; - - //Automatically call cancel all io calls on unload - //in IE for trac issue #2357. - if(_d.isIE){ - _d.addOnWindowUnload(_d._ioCancelAll); - } - - _d._ioNotifyStart = function(/*Deferred*/dfd){ - // summary: - // If dojo.publish is available, publish topics - // about the start of a request queue and/or the - // the beginning of request. - // description: - // Used by IO transports. An IO transport should - // call this method before making the network connection. - if(cfg.ioPublish && _d.publish && dfd.ioArgs.args.ioPublish !== false){ - if(!_pubCount){ - _d.publish("/dojo/io/start"); - } - _pubCount += 1; - _d.publish("/dojo/io/send", [dfd]); - } - }; - - _d._ioWatch = function(dfd, validCheck, ioCheck, resHandle){ - // summary: - // Watches the io request represented by dfd to see if it completes. - // dfd: Deferred - // The Deferred object to watch. - // validCheck: Function - // Function used to check if the IO request is still valid. Gets the dfd - // object as its only argument. - // ioCheck: Function - // Function used to check if basic IO call worked. Gets the dfd - // object as its only argument. - // resHandle: Function - // Function used to process response. Gets the dfd - // object as its only argument. - var args = dfd.ioArgs.args; - if(args.timeout){ - dfd.startTime = (new Date()).getTime(); - } - - _inFlight.push({dfd: dfd, validCheck: validCheck, ioCheck: ioCheck, resHandle: resHandle}); - if(!_inFlightIntvl){ - _inFlightIntvl = setInterval(_watchInFlight, 50); - } - // handle sync requests - //A weakness: async calls in flight - //could have their handlers called as part of the - //_watchInFlight call, before the sync's callbacks - // are called. - if(args.sync){ - _watchInFlight(); - } - }; - - var _defaultContentType = "application/x-www-form-urlencoded"; - - var _validCheck = function(/*Deferred*/dfd){ - return dfd.ioArgs.xhr.readyState; //boolean - }; - var _ioCheck = function(/*Deferred*/dfd){ - return 4 == dfd.ioArgs.xhr.readyState; //boolean - }; - var _resHandle = function(/*Deferred*/dfd){ - var xhr = dfd.ioArgs.xhr; - if(_d._isDocumentOk(xhr)){ - dfd.callback(dfd); - }else{ - var err = new Error("Unable to load " + dfd.ioArgs.url + " status:" + xhr.status); - err.status = xhr.status; - err.responseText = xhr.responseText; - dfd.errback(err); - } - }; - - dojo._ioAddQueryToUrl = function(/*dojo.__IoCallbackArgs*/ioArgs){ - //summary: Adds query params discovered by the io deferred construction to the URL. - //Only use this for operations which are fundamentally GET-type operations. - if(ioArgs.query.length){ - ioArgs.url += (ioArgs.url.indexOf("?") == -1 ? "?" : "&") + ioArgs.query; - ioArgs.query = null; - } - }; - - /*===== - dojo.declare("dojo.__XhrArgs", dojo.__IoArgs, { - constructor: function(){ - // summary: - // In addition to the properties listed for the dojo._IoArgs type, - // the following properties are allowed for dojo.xhr* methods. - // handleAs: String? - // Acceptable values are: text (default), json, json-comment-optional, - // json-comment-filtered, javascript, xml. See `dojo.contentHandlers` - // sync: Boolean? - // false is default. Indicates whether the request should - // be a synchronous (blocking) request. - // headers: Object? - // Additional HTTP headers to send in the request. - // failOk: Boolean? - // false is default. Indicates whether a request should be - // allowed to fail (and therefore no console error message in - // the event of a failure) - this.handleAs = handleAs; - this.sync = sync; - this.headers = headers; - this.failOk = failOk; - } - }); - =====*/ - - dojo.xhr = function(/*String*/ method, /*dojo.__XhrArgs*/ args, /*Boolean?*/ hasBody){ - // summary: - // Sends an HTTP request with the given method. - // description: - // Sends an HTTP request with the given method. - // See also dojo.xhrGet(), xhrPost(), xhrPut() and dojo.xhrDelete() for shortcuts - // for those HTTP methods. There are also methods for "raw" PUT and POST methods - // via dojo.rawXhrPut() and dojo.rawXhrPost() respectively. - // method: - // HTTP method to be used, such as GET, POST, PUT, DELETE. Should be uppercase. - // hasBody: - // If the request has an HTTP body, then pass true for hasBody. - - //Make the Deferred object for this xhr request. - var dfd = _d._ioSetArgs(args, _deferredCancel, _deferredOk, _deferError); - var ioArgs = dfd.ioArgs; - - //Pass the args to _xhrObj, to allow alternate XHR calls based specific calls, like - //the one used for iframe proxies. - var xhr = ioArgs.xhr = _d._xhrObj(ioArgs.args); - //If XHR factory fails, cancel the deferred. - if(!xhr){ - dfd.cancel(); - return dfd; - } - - //Allow for specifying the HTTP body completely. - if("postData" in args){ - ioArgs.query = args.postData; - }else if("putData" in args){ - ioArgs.query = args.putData; - }else if("rawBody" in args){ - ioArgs.query = args.rawBody; - }else if((arguments.length > 2 && !hasBody) || "POST|PUT".indexOf(method.toUpperCase()) == -1){ - //Check for hasBody being passed. If no hasBody, - //then only append query string if not a POST or PUT request. - _d._ioAddQueryToUrl(ioArgs); - } - - // IE 6 is a steaming pile. It won't let you call apply() on the native function (xhr.open). - // workaround for IE6's apply() "issues" - xhr.open(method, ioArgs.url, args.sync !== true, args.user || undefined, args.password || undefined); - if(args.headers){ - for(var hdr in args.headers){ - if(hdr.toLowerCase() === "content-type" && !args.contentType){ - args.contentType = args.headers[hdr]; - }else if(args.headers[hdr]){ - //Only add header if it has a value. This allows for instnace, skipping - //insertion of X-Requested-With by specifying empty value. - xhr.setRequestHeader(hdr, args.headers[hdr]); - } - } - } - // FIXME: is this appropriate for all content types? - xhr.setRequestHeader("Content-Type", args.contentType || _defaultContentType); - if(!args.headers || !("X-Requested-With" in args.headers)){ - xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); - } - // FIXME: set other headers here! - _d._ioNotifyStart(dfd); - if(dojo.config.debugAtAllCosts){ - xhr.send(ioArgs.query); - }else{ - try{ - xhr.send(ioArgs.query); - }catch(e){ - ioArgs.error = e; - dfd.cancel(); - } - } - _d._ioWatch(dfd, _validCheck, _ioCheck, _resHandle); - xhr = null; - return dfd; // dojo.Deferred - }; - - dojo.xhrGet = function(/*dojo.__XhrArgs*/ args){ - // summary: - // Sends an HTTP GET request to the server. - return _d.xhr("GET", args); // dojo.Deferred - }; - - dojo.rawXhrPost = dojo.xhrPost = function(/*dojo.__XhrArgs*/ args){ - // summary: - // Sends an HTTP POST request to the server. In addtion to the properties - // listed for the dojo.__XhrArgs type, the following property is allowed: - // postData: - // String. Send raw data in the body of the POST request. - return _d.xhr("POST", args, true); // dojo.Deferred - }; - - dojo.rawXhrPut = dojo.xhrPut = function(/*dojo.__XhrArgs*/ args){ - // summary: - // Sends an HTTP PUT request to the server. In addtion to the properties - // listed for the dojo.__XhrArgs type, the following property is allowed: - // putData: - // String. Send raw data in the body of the PUT request. - return _d.xhr("PUT", args, true); // dojo.Deferred - }; - - dojo.xhrDelete = function(/*dojo.__XhrArgs*/ args){ - // summary: - // Sends an HTTP DELETE request to the server. - return _d.xhr("DELETE", args); //dojo.Deferred - }; - - /* - dojo.wrapForm = function(formNode){ - //summary: - // A replacement for FormBind, but not implemented yet. - - // FIXME: need to think harder about what extensions to this we might - // want. What should we allow folks to do w/ this? What events to - // set/send? - throw new Error("dojo.wrapForm not yet implemented"); - } - */ -})(); - -} - -if(!dojo._hasResource["dojo._base.fx"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.fx"] = true; -dojo.provide("dojo._base.fx"); - - - - - - -/* - Animation loosely package based on Dan Pupius' work, contributed under CLA: - http://pupius.co.uk/js/Toolkit.Drawing.js -*/ -(function(){ - var d = dojo; - var _mixin = d._mixin; - - dojo._Line = function(/*int*/ start, /*int*/ end){ - // summary: - // dojo._Line is the object used to generate values from a start value - // to an end value - // start: int - // Beginning value for range - // end: int - // Ending value for range - this.start = start; - this.end = end; - }; - - dojo._Line.prototype.getValue = function(/*float*/ n){ - // summary: Returns the point on the line - // n: a floating point number greater than 0 and less than 1 - return ((this.end - this.start) * n) + this.start; // Decimal - }; - - dojo.Animation = function(args){ - // summary: - // A generic animation class that fires callbacks into its handlers - // object at various states. - // description: - // A generic animation class that fires callbacks into its handlers - // object at various states. Nearly all dojo animation functions - // return an instance of this method, usually without calling the - // .play() method beforehand. Therefore, you will likely need to - // call .play() on instances of `dojo.Animation` when one is - // returned. - // args: Object - // The 'magic argument', mixing all the properties into this - // animation instance. - - _mixin(this, args); - if(d.isArray(this.curve)){ - this.curve = new d._Line(this.curve[0], this.curve[1]); - } - - }; - - // Alias to drop come 2.0: - d._Animation = d.Animation; - - d.extend(dojo.Animation, { - // duration: Integer - // The time in milliseonds the animation will take to run - duration: 350, - - /*===== - // curve: dojo._Line|Array - // A two element array of start and end values, or a `dojo._Line` instance to be - // used in the Animation. - curve: null, - - // easing: Function? - // A Function to adjust the acceleration (or deceleration) of the progress - // across a dojo._Line - easing: null, - =====*/ - - // repeat: Integer? - // The number of times to loop the animation - repeat: 0, - - // rate: Integer? - // the time in milliseconds to wait before advancing to next frame - // (used as a fps timer: 1000/rate = fps) - rate: 20 /* 50 fps */, - - /*===== - // delay: Integer? - // The time in milliseconds to wait before starting animation after it - // has been .play()'ed - delay: null, - - // beforeBegin: Event? - // Synthetic event fired before a dojo.Animation begins playing (synchronous) - beforeBegin: null, - - // onBegin: Event? - // Synthetic event fired as a dojo.Animation begins playing (useful?) - onBegin: null, - - // onAnimate: Event? - // Synthetic event fired at each interval of a `dojo.Animation` - onAnimate: null, - - // onEnd: Event? - // Synthetic event fired after the final frame of a `dojo.Animation` - onEnd: null, - - // onPlay: Event? - // Synthetic event fired any time a `dojo.Animation` is play()'ed - onPlay: null, - - // onPause: Event? - // Synthetic event fired when a `dojo.Animation` is paused - onPause: null, - - // onStop: Event - // Synthetic event fires when a `dojo.Animation` is stopped - onStop: null, - - =====*/ - - _percent: 0, - _startRepeatCount: 0, - - _getStep: function(){ - var _p = this._percent, - _e = this.easing - ; - return _e ? _e(_p) : _p; - }, - _fire: function(/*Event*/ evt, /*Array?*/ args){ - // summary: - // Convenience function. Fire event "evt" and pass it the - // arguments specified in "args". - // description: - // Convenience function. Fire event "evt" and pass it the - // arguments specified in "args". - // Fires the callback in the scope of the `dojo.Animation` - // instance. - // evt: - // The event to fire. - // args: - // The arguments to pass to the event. - var a = args||[]; - if(this[evt]){ - if(d.config.debugAtAllCosts){ - this[evt].apply(this, a); - }else{ - try{ - this[evt].apply(this, a); - }catch(e){ - // squelch and log because we shouldn't allow exceptions in - // synthetic event handlers to cause the internal timer to run - // amuck, potentially pegging the CPU. I'm not a fan of this - // squelch, but hopefully logging will make it clear what's - // going on - console.error("exception in animation handler for:", evt); - console.error(e); - } - } - } - return this; // dojo.Animation - }, - - play: function(/*int?*/ delay, /*Boolean?*/ gotoStart){ - // summary: - // Start the animation. - // delay: - // How many milliseconds to delay before starting. - // gotoStart: - // If true, starts the animation from the beginning; otherwise, - // starts it from its current position. - // returns: dojo.Animation - // The instance to allow chaining. - - var _t = this; - if(_t._delayTimer){ _t._clearTimer(); } - if(gotoStart){ - _t._stopTimer(); - _t._active = _t._paused = false; - _t._percent = 0; - }else if(_t._active && !_t._paused){ - return _t; - } - - _t._fire("beforeBegin", [_t.node]); - - var de = delay || _t.delay, - _p = dojo.hitch(_t, "_play", gotoStart); - - if(de > 0){ - _t._delayTimer = setTimeout(_p, de); - return _t; - } - _p(); - return _t; - }, - - _play: function(gotoStart){ - var _t = this; - if(_t._delayTimer){ _t._clearTimer(); } - _t._startTime = new Date().valueOf(); - if(_t._paused){ - _t._startTime -= _t.duration * _t._percent; - } - - _t._active = true; - _t._paused = false; - var value = _t.curve.getValue(_t._getStep()); - if(!_t._percent){ - if(!_t._startRepeatCount){ - _t._startRepeatCount = _t.repeat; - } - _t._fire("onBegin", [value]); - } - - _t._fire("onPlay", [value]); - - _t._cycle(); - return _t; // dojo.Animation - }, - - pause: function(){ - // summary: Pauses a running animation. - var _t = this; - if(_t._delayTimer){ _t._clearTimer(); } - _t._stopTimer(); - if(!_t._active){ return _t; /*dojo.Animation*/ } - _t._paused = true; - _t._fire("onPause", [_t.curve.getValue(_t._getStep())]); - return _t; // dojo.Animation - }, - - gotoPercent: function(/*Decimal*/ percent, /*Boolean?*/ andPlay){ - // summary: - // Sets the progress of the animation. - // percent: - // A percentage in decimal notation (between and including 0.0 and 1.0). - // andPlay: - // If true, play the animation after setting the progress. - var _t = this; - _t._stopTimer(); - _t._active = _t._paused = true; - _t._percent = percent; - if(andPlay){ _t.play(); } - return _t; // dojo.Animation - }, - - stop: function(/*boolean?*/ gotoEnd){ - // summary: Stops a running animation. - // gotoEnd: If true, the animation will end. - var _t = this; - if(_t._delayTimer){ _t._clearTimer(); } - if(!_t._timer){ return _t; /* dojo.Animation */ } - _t._stopTimer(); - if(gotoEnd){ - _t._percent = 1; - } - _t._fire("onStop", [_t.curve.getValue(_t._getStep())]); - _t._active = _t._paused = false; - return _t; // dojo.Animation - }, - - status: function(){ - // summary: - // Returns a string token representation of the status of - // the animation, one of: "paused", "playing", "stopped" - if(this._active){ - return this._paused ? "paused" : "playing"; // String - } - return "stopped"; // String - }, - - _cycle: function(){ - var _t = this; - if(_t._active){ - var curr = new Date().valueOf(); - var step = (curr - _t._startTime) / (_t.duration); - - if(step >= 1){ - step = 1; - } - _t._percent = step; - - // Perform easing - if(_t.easing){ - step = _t.easing(step); - } - - _t._fire("onAnimate", [_t.curve.getValue(step)]); - - if(_t._percent < 1){ - _t._startTimer(); - }else{ - _t._active = false; - - if(_t.repeat > 0){ - _t.repeat--; - _t.play(null, true); - }else if(_t.repeat == -1){ - _t.play(null, true); - }else{ - if(_t._startRepeatCount){ - _t.repeat = _t._startRepeatCount; - _t._startRepeatCount = 0; - } - } - _t._percent = 0; - _t._fire("onEnd", [_t.node]); - !_t.repeat && _t._stopTimer(); - } - } - return _t; // dojo.Animation - }, - - _clearTimer: function(){ - // summary: Clear the play delay timer - clearTimeout(this._delayTimer); - delete this._delayTimer; - } - - }); - - // the local timer, stubbed into all Animation instances - var ctr = 0, - timer = null, - runner = { - run: function(){} - }; - - d.extend(d.Animation, { - - _startTimer: function(){ - if(!this._timer){ - this._timer = d.connect(runner, "run", this, "_cycle"); - ctr++; - } - if(!timer){ - timer = setInterval(d.hitch(runner, "run"), this.rate); - } - }, - - _stopTimer: function(){ - if(this._timer){ - d.disconnect(this._timer); - this._timer = null; - ctr--; - } - if(ctr <= 0){ - clearInterval(timer); - timer = null; - ctr = 0; - } - } - - }); - - var _makeFadeable = - d.isIE ? function(node){ - // only set the zoom if the "tickle" value would be the same as the - // default - var ns = node.style; - // don't set the width to auto if it didn't already cascade that way. - // We don't want to f anyones designs - if(!ns.width.length && d.style(node, "width") == "auto"){ - ns.width = "auto"; - } - } : - function(){}; - - dojo._fade = function(/*Object*/ args){ - // summary: - // Returns an animation that will fade the node defined by - // args.node from the start to end values passed (args.start - // args.end) (end is mandatory, start is optional) - - args.node = d.byId(args.node); - var fArgs = _mixin({ properties: {} }, args), - props = (fArgs.properties.opacity = {}); - - props.start = !("start" in fArgs) ? - function(){ - return +d.style(fArgs.node, "opacity")||0; - } : fArgs.start; - props.end = fArgs.end; - - var anim = d.animateProperty(fArgs); - d.connect(anim, "beforeBegin", d.partial(_makeFadeable, fArgs.node)); - - return anim; // dojo.Animation - }; - - /*===== - dojo.__FadeArgs = function(node, duration, easing){ - // node: DOMNode|String - // The node referenced in the animation - // duration: Integer? - // Duration of the animation in milliseconds. - // easing: Function? - // An easing function. - this.node = node; - this.duration = duration; - this.easing = easing; - } - =====*/ - - dojo.fadeIn = function(/*dojo.__FadeArgs*/ args){ - // summary: - // Returns an animation that will fade node defined in 'args' from - // its current opacity to fully opaque. - return d._fade(_mixin({ end: 1 }, args)); // dojo.Animation - }; - - dojo.fadeOut = function(/*dojo.__FadeArgs*/ args){ - // summary: - // Returns an animation that will fade node defined in 'args' - // from its current opacity to fully transparent. - return d._fade(_mixin({ end: 0 }, args)); // dojo.Animation - }; - - dojo._defaultEasing = function(/*Decimal?*/ n){ - // summary: The default easing function for dojo.Animation(s) - return 0.5 + ((Math.sin((n + 1.5) * Math.PI)) / 2); - }; - - var PropLine = function(properties){ - // PropLine is an internal class which is used to model the values of - // an a group of CSS properties across an animation lifecycle. In - // particular, the "getValue" function handles getting interpolated - // values between start and end for a particular CSS value. - this._properties = properties; - for(var p in properties){ - var prop = properties[p]; - if(prop.start instanceof d.Color){ - // create a reusable temp color object to keep intermediate results - prop.tempColor = new d.Color(); - } - } - }; - - PropLine.prototype.getValue = function(r){ - var ret = {}; - for(var p in this._properties){ - var prop = this._properties[p], - start = prop.start; - if(start instanceof d.Color){ - ret[p] = d.blendColors(start, prop.end, r, prop.tempColor).toCss(); - }else if(!d.isArray(start)){ - ret[p] = ((prop.end - start) * r) + start + (p != "opacity" ? prop.units || "px" : 0); - } - } - return ret; - }; - - /*===== - dojo.declare("dojo.__AnimArgs", [dojo.__FadeArgs], { - // Properties: Object? - // A hash map of style properties to Objects describing the transition, - // such as the properties of dojo._Line with an additional 'units' property - properties: {} - - //TODOC: add event callbacks - }); - =====*/ - - dojo.animateProperty = function(/*dojo.__AnimArgs*/ args){ - // summary: - // Returns an animation that will transition the properties of - // node defined in `args` depending how they are defined in - // `args.properties` - // - // description: - // `dojo.animateProperty` is the foundation of most `dojo.fx` - // animations. It takes an object of "properties" corresponding to - // style properties, and animates them in parallel over a set - // duration. - // - // example: - // A simple animation that changes the width of the specified node. - // | dojo.animateProperty({ - // | node: "nodeId", - // | properties: { width: 400 }, - // | }).play(); - // Dojo figures out the start value for the width and converts the - // integer specified for the width to the more expressive but - // verbose form `{ width: { end: '400', units: 'px' } }` which you - // can also specify directly. Defaults to 'px' if ommitted. - // - // example: - // Animate width, height, and padding over 2 seconds... the - // pedantic way: - // | dojo.animateProperty({ node: node, duration:2000, - // | properties: { - // | width: { start: '200', end: '400', units:"px" }, - // | height: { start:'200', end: '400', units:"px" }, - // | paddingTop: { start:'5', end:'50', units:"px" } - // | } - // | }).play(); - // Note 'paddingTop' is used over 'padding-top'. Multi-name CSS properties - // are written using "mixed case", as the hyphen is illegal as an object key. - // - // example: - // Plug in a different easing function and register a callback for - // when the animation ends. Easing functions accept values between - // zero and one and return a value on that basis. In this case, an - // exponential-in curve. - // | dojo.animateProperty({ - // | node: "nodeId", - // | // dojo figures out the start value - // | properties: { width: { end: 400 } }, - // | easing: function(n){ - // | return (n==0) ? 0 : Math.pow(2, 10 * (n - 1)); - // | }, - // | onEnd: function(node){ - // | // called when the animation finishes. The animation - // | // target is passed to this function - // | } - // | }).play(500); // delay playing half a second - // - // example: - // Like all `dojo.Animation`s, animateProperty returns a handle to the - // Animation instance, which fires the events common to Dojo FX. Use `dojo.connect` - // to access these events outside of the Animation definiton: - // | var anim = dojo.animateProperty({ - // | node:"someId", - // | properties:{ - // | width:400, height:500 - // | } - // | }); - // | dojo.connect(anim,"onEnd", function(){ - // | console.log("animation ended"); - // | }); - // | // play the animation now: - // | anim.play(); - // - // example: - // Each property can be a function whose return value is substituted along. - // Additionally, each measurement (eg: start, end) can be a function. The node - // reference is passed direcly to callbacks. - // | dojo.animateProperty({ - // | node:"mine", - // | properties:{ - // | height:function(node){ - // | // shrink this node by 50% - // | return dojo.position(node).h / 2 - // | }, - // | width:{ - // | start:function(node){ return 100; }, - // | end:function(node){ return 200; } - // | } - // | } - // | }).play(); - // - - var n = args.node = d.byId(args.node); - if(!args.easing){ args.easing = d._defaultEasing; } - - var anim = new d.Animation(args); - d.connect(anim, "beforeBegin", anim, function(){ - var pm = {}; - for(var p in this.properties){ - // Make shallow copy of properties into pm because we overwrite - // some values below. In particular if start/end are functions - // we don't want to overwrite them or the functions won't be - // called if the animation is reused. - if(p == "width" || p == "height"){ - this.node.display = "block"; - } - var prop = this.properties[p]; - if(d.isFunction(prop)){ - prop = prop(n); - } - prop = pm[p] = _mixin({}, (d.isObject(prop) ? prop: { end: prop })); - - if(d.isFunction(prop.start)){ - prop.start = prop.start(n); - } - if(d.isFunction(prop.end)){ - prop.end = prop.end(n); - } - var isColor = (p.toLowerCase().indexOf("color") >= 0); - function getStyle(node, p){ - // dojo.style(node, "height") can return "auto" or "" on IE; this is more reliable: - var v = { height: node.offsetHeight, width: node.offsetWidth }[p]; - if(v !== undefined){ return v; } - v = d.style(node, p); - return (p == "opacity") ? +v : (isColor ? v : parseFloat(v)); - } - if(!("end" in prop)){ - prop.end = getStyle(n, p); - }else if(!("start" in prop)){ - prop.start = getStyle(n, p); - } - - if(isColor){ - prop.start = new d.Color(prop.start); - prop.end = new d.Color(prop.end); - }else{ - prop.start = (p == "opacity") ? +prop.start : parseFloat(prop.start); - } - } - this.curve = new PropLine(pm); - }); - d.connect(anim, "onAnimate", d.hitch(d, "style", anim.node)); - return anim; // dojo.Animation - }; - - dojo.anim = function( /*DOMNode|String*/ node, - /*Object*/ properties, - /*Integer?*/ duration, - /*Function?*/ easing, - /*Function?*/ onEnd, - /*Integer?*/ delay){ - // summary: - // A simpler interface to `dojo.animateProperty()`, also returns - // an instance of `dojo.Animation` but begins the animation - // immediately, unlike nearly every other Dojo animation API. - // description: - // `dojo.anim` is a simpler (but somewhat less powerful) version - // of `dojo.animateProperty`. It uses defaults for many basic properties - // and allows for positional parameters to be used in place of the - // packed "property bag" which is used for other Dojo animation - // methods. - // - // The `dojo.Animation` object returned from `dojo.anim` will be - // already playing when it is returned from this function, so - // calling play() on it again is (usually) a no-op. - // node: - // a DOM node or the id of a node to animate CSS properties on - // duration: - // The number of milliseconds over which the animation - // should run. Defaults to the global animation default duration - // (350ms). - // easing: - // An easing function over which to calculate acceleration - // and deceleration of the animation through its duration. - // A default easing algorithm is provided, but you may - // plug in any you wish. A large selection of easing algorithms - // are available in `dojo.fx.easing`. - // onEnd: - // A function to be called when the animation finishes - // running. - // delay: - // The number of milliseconds to delay beginning the - // animation by. The default is 0. - // example: - // Fade out a node - // | dojo.anim("id", { opacity: 0 }); - // example: - // Fade out a node over a full second - // | dojo.anim("id", { opacity: 0 }, 1000); - return d.animateProperty({ // dojo.Animation - node: node, - duration: duration || d.Animation.prototype.duration, - properties: properties, - easing: easing, - onEnd: onEnd - }).play(delay || 0); - }; -})(); - -} - -if(!dojo._hasResource["dojo._base.browser"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base.browser"] = true; -dojo.provide("dojo._base.browser"); - - - - - - - - - - //Need this to be the last code segment in base, so do not place any - //dojo/requireIf calls in this file/ Otherwise, due to how the build system - //puts all requireIf dependencies after the current file, the require calls - //could be called before all of base is defined/ - dojo.forEach(dojo.config.require, function(i){ - dojo["require"](i); - }); - -} - -if(!dojo._hasResource["dojo._base"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code. -dojo._hasResource["dojo._base"] = true; -dojo.provide("dojo._base"); - - - - - - - - - - - -} - - //INSERT dojo.i18n._preloadLocalizations HERE - - //Check if document already complete, and if so, just trigger page load - //listeners. NOTE: does not work with Firefox before 3.6. To support - //those browsers, set djConfig.afterOnLoad = true when you know Dojo is added - //after page load. Using a timeout so the rest of this - //script gets evaluated properly. This work needs to happen after the - //dojo.config.require work done in dojo._base. - if(dojo.isBrowser && (document.readyState === "complete" || dojo.config.afterOnLoad)){ - window.setTimeout(dojo._loadInit, 100); - } -})(); - diff --git a/resources/library/interactive/barre_prof.wgt/dojo/fx.js b/resources/library/interactive/barre_prof.wgt/dojo/fx.js deleted file mode 100644 index e3588286..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/fx.js +++ /dev/null @@ -1,252 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.fx"]){ -dojo._hasResource["dojo.fx"]=true; -dojo.provide("dojo.fx"); -dojo.require("dojo.fx.Toggler"); -(function(){ -var d=dojo,_1={_fire:function(_2,_3){ -if(this[_2]){ -this[_2].apply(this,_3||[]); -} -return this; -}}; -var _4=function(_5){ -this._index=-1; -this._animations=_5||[]; -this._current=this._onAnimateCtx=this._onEndCtx=null; -this.duration=0; -d.forEach(this._animations,function(a){ -this.duration+=a.duration; -if(a.delay){ -this.duration+=a.delay; -} -},this); -}; -d.extend(_4,{_onAnimate:function(){ -this._fire("onAnimate",arguments); -},_onEnd:function(){ -d.disconnect(this._onAnimateCtx); -d.disconnect(this._onEndCtx); -this._onAnimateCtx=this._onEndCtx=null; -if(this._index+1==this._animations.length){ -this._fire("onEnd"); -}else{ -this._current=this._animations[++this._index]; -this._onAnimateCtx=d.connect(this._current,"onAnimate",this,"_onAnimate"); -this._onEndCtx=d.connect(this._current,"onEnd",this,"_onEnd"); -this._current.play(0,true); -} -},play:function(_6,_7){ -if(!this._current){ -this._current=this._animations[this._index=0]; -} -if(!_7&&this._current.status()=="playing"){ -return this; -} -var _8=d.connect(this._current,"beforeBegin",this,function(){ -this._fire("beforeBegin"); -}),_9=d.connect(this._current,"onBegin",this,function(_a){ -this._fire("onBegin",arguments); -}),_b=d.connect(this._current,"onPlay",this,function(_c){ -this._fire("onPlay",arguments); -d.disconnect(_8); -d.disconnect(_9); -d.disconnect(_b); -}); -if(this._onAnimateCtx){ -d.disconnect(this._onAnimateCtx); -} -this._onAnimateCtx=d.connect(this._current,"onAnimate",this,"_onAnimate"); -if(this._onEndCtx){ -d.disconnect(this._onEndCtx); -} -this._onEndCtx=d.connect(this._current,"onEnd",this,"_onEnd"); -this._current.play.apply(this._current,arguments); -return this; -},pause:function(){ -if(this._current){ -var e=d.connect(this._current,"onPause",this,function(_d){ -this._fire("onPause",arguments); -d.disconnect(e); -}); -this._current.pause(); -} -return this; -},gotoPercent:function(_e,_f){ -this.pause(); -var _10=this.duration*_e; -this._current=null; -d.some(this._animations,function(a){ -if(a.duration<=_10){ -this._current=a; -return true; -} -_10-=a.duration; -return false; -}); -if(this._current){ -this._current.gotoPercent(_10/this._current.duration,_f); -} -return this; -},stop:function(_11){ -if(this._current){ -if(_11){ -for(;this._index+1<this._animations.length;++this._index){ -this._animations[this._index].stop(true); -} -this._current=this._animations[this._index]; -} -var e=d.connect(this._current,"onStop",this,function(arg){ -this._fire("onStop",arguments); -d.disconnect(e); -}); -this._current.stop(); -} -return this; -},status:function(){ -return this._current?this._current.status():"stopped"; -},destroy:function(){ -if(this._onAnimateCtx){ -d.disconnect(this._onAnimateCtx); -} -if(this._onEndCtx){ -d.disconnect(this._onEndCtx); -} -}}); -d.extend(_4,_1); -dojo.fx.chain=function(_12){ -return new _4(_12); -}; -var _13=function(_14){ -this._animations=_14||[]; -this._connects=[]; -this._finished=0; -this.duration=0; -d.forEach(_14,function(a){ -var _15=a.duration; -if(a.delay){ -_15+=a.delay; -} -if(this.duration<_15){ -this.duration=_15; -} -this._connects.push(d.connect(a,"onEnd",this,"_onEnd")); -},this); -this._pseudoAnimation=new d.Animation({curve:[0,1],duration:this.duration}); -var _16=this; -d.forEach(["beforeBegin","onBegin","onPlay","onAnimate","onPause","onStop","onEnd"],function(evt){ -_16._connects.push(d.connect(_16._pseudoAnimation,evt,function(){ -_16._fire(evt,arguments); -})); -}); -}; -d.extend(_13,{_doAction:function(_17,_18){ -d.forEach(this._animations,function(a){ -a[_17].apply(a,_18); -}); -return this; -},_onEnd:function(){ -if(++this._finished>this._animations.length){ -this._fire("onEnd"); -} -},_call:function(_19,_1a){ -var t=this._pseudoAnimation; -t[_19].apply(t,_1a); -},play:function(_1b,_1c){ -this._finished=0; -this._doAction("play",arguments); -this._call("play",arguments); -return this; -},pause:function(){ -this._doAction("pause",arguments); -this._call("pause",arguments); -return this; -},gotoPercent:function(_1d,_1e){ -var ms=this.duration*_1d; -d.forEach(this._animations,function(a){ -a.gotoPercent(a.duration<ms?1:(ms/a.duration),_1e); -}); -this._call("gotoPercent",arguments); -return this; -},stop:function(_1f){ -this._doAction("stop",arguments); -this._call("stop",arguments); -return this; -},status:function(){ -return this._pseudoAnimation.status(); -},destroy:function(){ -d.forEach(this._connects,dojo.disconnect); -}}); -d.extend(_13,_1); -dojo.fx.combine=function(_20){ -return new _13(_20); -}; -dojo.fx.wipeIn=function(_21){ -var _22=_21.node=d.byId(_21.node),s=_22.style,o; -var _23=d.animateProperty(d.mixin({properties:{height:{start:function(){ -o=s.overflow; -s.overflow="hidden"; -if(s.visibility=="hidden"||s.display=="none"){ -s.height="1px"; -s.display=""; -s.visibility=""; -return 1; -}else{ -var _24=d.style(_22,"height"); -return Math.max(_24,1); -} -},end:function(){ -return _22.scrollHeight; -}}}},_21)); -d.connect(_23,"onEnd",function(){ -s.height="auto"; -s.overflow=o; -}); -return _23; -}; -dojo.fx.wipeOut=function(_25){ -var _26=_25.node=d.byId(_25.node),s=_26.style,o; -var _27=d.animateProperty(d.mixin({properties:{height:{end:1}}},_25)); -d.connect(_27,"beforeBegin",function(){ -o=s.overflow; -s.overflow="hidden"; -s.display=""; -}); -d.connect(_27,"onEnd",function(){ -s.overflow=o; -s.height="auto"; -s.display="none"; -}); -return _27; -}; -dojo.fx.slideTo=function(_28){ -var _29=_28.node=d.byId(_28.node),top=null,_2a=null; -var _2b=(function(n){ -return function(){ -var cs=d.getComputedStyle(n); -var pos=cs.position; -top=(pos=="absolute"?n.offsetTop:parseInt(cs.top)||0); -_2a=(pos=="absolute"?n.offsetLeft:parseInt(cs.left)||0); -if(pos!="absolute"&&pos!="relative"){ -var ret=d.position(n,true); -top=ret.y; -_2a=ret.x; -n.style.position="absolute"; -n.style.top=top+"px"; -n.style.left=_2a+"px"; -} -}; -})(_29); -_2b(); -var _2c=d.animateProperty(d.mixin({properties:{top:_28.top||0,left:_28.left||0}},_28)); -d.connect(_2c,"beforeBegin",_2c,_2b); -return _2c; -}; -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/fx/Toggler.js b/resources/library/interactive/barre_prof.wgt/dojo/fx/Toggler.js deleted file mode 100644 index 487d1f4c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/fx/Toggler.js +++ /dev/null @@ -1,30 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.fx.Toggler"]){ -dojo._hasResource["dojo.fx.Toggler"]=true; -dojo.provide("dojo.fx.Toggler"); -dojo.declare("dojo.fx.Toggler",null,{node:null,showFunc:dojo.fadeIn,hideFunc:dojo.fadeOut,showDuration:200,hideDuration:200,constructor:function(_1){ -var _2=this; -dojo.mixin(_2,_1); -_2.node=_1.node; -_2._showArgs=dojo.mixin({},_1); -_2._showArgs.node=_2.node; -_2._showArgs.duration=_2.showDuration; -_2.showAnim=_2.showFunc(_2._showArgs); -_2._hideArgs=dojo.mixin({},_1); -_2._hideArgs.node=_2.node; -_2._hideArgs.duration=_2.hideDuration; -_2.hideAnim=_2.hideFunc(_2._hideArgs); -dojo.connect(_2.showAnim,"beforeBegin",dojo.hitch(_2.hideAnim,"stop",true)); -dojo.connect(_2.hideAnim,"beforeBegin",dojo.hitch(_2.showAnim,"stop",true)); -},show:function(_3){ -return this.showAnim.play(_3||0); -},hide:function(_4){ -return this.hideAnim.play(_4||0); -}}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/fx/easing.js b/resources/library/interactive/barre_prof.wgt/dojo/fx/easing.js deleted file mode 100644 index 0d8a6694..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/fx/easing.js +++ /dev/null @@ -1,167 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.fx.easing"]){ -dojo._hasResource["dojo.fx.easing"]=true; -dojo.provide("dojo.fx.easing"); -dojo.getObject("fx.easing",true,dojo); -dojo.fx.easing={linear:function(n){ -return n; -},quadIn:function(n){ -return Math.pow(n,2); -},quadOut:function(n){ -return n*(n-2)*-1; -},quadInOut:function(n){ -n=n*2; -if(n<1){ -return Math.pow(n,2)/2; -} -return -1*((--n)*(n-2)-1)/2; -},cubicIn:function(n){ -return Math.pow(n,3); -},cubicOut:function(n){ -return Math.pow(n-1,3)+1; -},cubicInOut:function(n){ -n=n*2; -if(n<1){ -return Math.pow(n,3)/2; -} -n-=2; -return (Math.pow(n,3)+2)/2; -},quartIn:function(n){ -return Math.pow(n,4); -},quartOut:function(n){ -return -1*(Math.pow(n-1,4)-1); -},quartInOut:function(n){ -n=n*2; -if(n<1){ -return Math.pow(n,4)/2; -} -n-=2; -return -1/2*(Math.pow(n,4)-2); -},quintIn:function(n){ -return Math.pow(n,5); -},quintOut:function(n){ -return Math.pow(n-1,5)+1; -},quintInOut:function(n){ -n=n*2; -if(n<1){ -return Math.pow(n,5)/2; -} -n-=2; -return (Math.pow(n,5)+2)/2; -},sineIn:function(n){ -return -1*Math.cos(n*(Math.PI/2))+1; -},sineOut:function(n){ -return Math.sin(n*(Math.PI/2)); -},sineInOut:function(n){ -return -1*(Math.cos(Math.PI*n)-1)/2; -},expoIn:function(n){ -return (n==0)?0:Math.pow(2,10*(n-1)); -},expoOut:function(n){ -return (n==1)?1:(-1*Math.pow(2,-10*n)+1); -},expoInOut:function(n){ -if(n==0){ -return 0; -} -if(n==1){ -return 1; -} -n=n*2; -if(n<1){ -return Math.pow(2,10*(n-1))/2; -} ---n; -return (-1*Math.pow(2,-10*n)+2)/2; -},circIn:function(n){ -return -1*(Math.sqrt(1-Math.pow(n,2))-1); -},circOut:function(n){ -n=n-1; -return Math.sqrt(1-Math.pow(n,2)); -},circInOut:function(n){ -n=n*2; -if(n<1){ -return -1/2*(Math.sqrt(1-Math.pow(n,2))-1); -} -n-=2; -return 1/2*(Math.sqrt(1-Math.pow(n,2))+1); -},backIn:function(n){ -var s=1.70158; -return Math.pow(n,2)*((s+1)*n-s); -},backOut:function(n){ -n=n-1; -var s=1.70158; -return Math.pow(n,2)*((s+1)*n+s)+1; -},backInOut:function(n){ -var s=1.70158*1.525; -n=n*2; -if(n<1){ -return (Math.pow(n,2)*((s+1)*n-s))/2; -} -n-=2; -return (Math.pow(n,2)*((s+1)*n+s)+2)/2; -},elasticIn:function(n){ -if(n==0||n==1){ -return n; -} -var p=0.3; -var s=p/4; -n=n-1; -return -1*Math.pow(2,10*n)*Math.sin((n-s)*(2*Math.PI)/p); -},elasticOut:function(n){ -if(n==0||n==1){ -return n; -} -var p=0.3; -var s=p/4; -return Math.pow(2,-10*n)*Math.sin((n-s)*(2*Math.PI)/p)+1; -},elasticInOut:function(n){ -if(n==0){ -return 0; -} -n=n*2; -if(n==2){ -return 1; -} -var p=0.3*1.5; -var s=p/4; -if(n<1){ -n-=1; -return -0.5*(Math.pow(2,10*n)*Math.sin((n-s)*(2*Math.PI)/p)); -} -n-=1; -return 0.5*(Math.pow(2,-10*n)*Math.sin((n-s)*(2*Math.PI)/p))+1; -},bounceIn:function(n){ -return (1-dojo.fx.easing.bounceOut(1-n)); -},bounceOut:function(n){ -var s=7.5625; -var p=2.75; -var l; -if(n<(1/p)){ -l=s*Math.pow(n,2); -}else{ -if(n<(2/p)){ -n-=(1.5/p); -l=s*Math.pow(n,2)+0.75; -}else{ -if(n<(2.5/p)){ -n-=(2.25/p); -l=s*Math.pow(n,2)+0.9375; -}else{ -n-=(2.625/p); -l=s*Math.pow(n,2)+0.984375; -} -} -} -return l; -},bounceInOut:function(n){ -if(n<0.5){ -return dojo.fx.easing.bounceIn(n*2)/2; -} -return (dojo.fx.easing.bounceOut(n*2-1)/2)+0.5; -}}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/gears.js b/resources/library/interactive/barre_prof.wgt/dojo/gears.js deleted file mode 100644 index 0d5ff129..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/gears.js +++ /dev/null @@ -1,46 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.gears"]){ -dojo._hasResource["dojo.gears"]=true; -dojo.provide("dojo.gears"); -dojo.getObject("gears",true,dojo); -dojo.gears._gearsObject=function(){ -var _1; -var _2; -var _3=dojo.getObject("google.gears"); -if(_3){ -return _3; -} -if(typeof GearsFactory!="undefined"){ -_1=new GearsFactory(); -}else{ -if(dojo.isIE){ -try{ -_1=new ActiveXObject("Gears.Factory"); -} -catch(e){ -} -}else{ -if(navigator.mimeTypes["application/x-googlegears"]){ -_1=document.createElement("object"); -_1.setAttribute("type","application/x-googlegears"); -_1.setAttribute("width",0); -_1.setAttribute("height",0); -_1.style.display="none"; -document.documentElement.appendChild(_1); -} -} -} -if(!_1){ -return null; -} -dojo.setObject("google.gears.factory",_1); -return dojo.getObject("google.gears"); -}; -dojo.gears.available=(!!dojo.gears._gearsObject())||0; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/hash.js b/resources/library/interactive/barre_prof.wgt/dojo/hash.js deleted file mode 100644 index 96a92b3f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/hash.js +++ /dev/null @@ -1,140 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.hash"]){ -dojo._hasResource["dojo.hash"]=true; -dojo.provide("dojo.hash"); -(function(){ -dojo.hash=function(_1,_2){ -if(!arguments.length){ -return _3(); -} -if(_1.charAt(0)=="#"){ -_1=_1.substring(1); -} -if(_2){ -_4(_1); -}else{ -location.href="#"+_1; -} -return _1; -}; -var _5,_6,_7,_8=dojo.config.hashPollFrequency||100; -function _9(_a,_b){ -var i=_a.indexOf(_b); -return (i>=0)?_a.substring(i+1):""; -}; -function _3(){ -return _9(location.href,"#"); -}; -function _c(){ -dojo.publish("/dojo/hashchange",[_3()]); -}; -function _d(){ -if(_3()===_5){ -return; -} -_5=_3(); -_c(); -}; -function _4(_e){ -if(_6){ -if(_6.isTransitioning()){ -setTimeout(dojo.hitch(null,_4,_e),_8); -return; -} -var _f=_6.iframe.location.href; -var _10=_f.indexOf("?"); -_6.iframe.location.replace(_f.substring(0,_10)+"?"+_e); -return; -} -location.replace("#"+_e); -!_7&&_d(); -}; -function _11(){ -var ifr=document.createElement("iframe"),_12="dojo-hash-iframe",_13=dojo.config.dojoBlankHtmlUrl||dojo.moduleUrl("dojo","resources/blank.html"); -if(dojo.config.useXDomain&&!dojo.config.dojoBlankHtmlUrl){ -console.warn("dojo.hash: When using cross-domain Dojo builds,"+" please save dojo/resources/blank.html to your domain and set djConfig.dojoBlankHtmlUrl"+" to the path on your domain to blank.html"); -} -ifr.id=_12; -ifr.src=_13+"?"+_3(); -ifr.style.display="none"; -document.body.appendChild(ifr); -this.iframe=dojo.global[_12]; -var _14,_15,_16,_17,_18,_19=this.iframe.location; -function _1a(){ -_5=_3(); -_14=_18?_5:_9(_19.href,"?"); -_15=false; -_16=null; -}; -this.isTransitioning=function(){ -return _15; -}; -this.pollLocation=function(){ -if(!_18){ -try{ -var _1b=_9(_19.href,"?"); -if(document.title!=_17){ -_17=this.iframe.document.title=document.title; -} -} -catch(e){ -_18=true; -console.error("dojo.hash: Error adding history entry. Server unreachable."); -} -} -var _1c=_3(); -if(_15&&_5===_1c){ -if(_18||_1b===_16){ -_1a(); -_c(); -}else{ -setTimeout(dojo.hitch(this,this.pollLocation),0); -return; -} -}else{ -if(_5===_1c&&(_18||_14===_1b)){ -}else{ -if(_5!==_1c){ -_5=_1c; -_15=true; -_16=_1c; -ifr.src=_13+"?"+_16; -_18=false; -setTimeout(dojo.hitch(this,this.pollLocation),0); -return; -}else{ -if(!_18){ -location.href="#"+_19.search.substring(1); -_1a(); -_c(); -} -} -} -} -setTimeout(dojo.hitch(this,this.pollLocation),_8); -}; -_1a(); -setTimeout(dojo.hitch(this,this.pollLocation),_8); -}; -dojo.addOnLoad(function(){ -if("onhashchange" in dojo.global&&(!dojo.isIE||(dojo.isIE>=8&&document.compatMode!="BackCompat"))){ -_7=dojo.connect(dojo.global,"onhashchange",_c); -}else{ -if(document.addEventListener){ -_5=_3(); -setInterval(_d,_8); -}else{ -if(document.attachEvent){ -_6=new _11(); -} -} -} -}); -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/html.js b/resources/library/interactive/barre_prof.wgt/dojo/html.js deleted file mode 100644 index dea7f5aa..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/html.js +++ /dev/null @@ -1,152 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.html"]){ -dojo._hasResource["dojo.html"]=true; -dojo.provide("dojo.html"); -dojo.require("dojo.parser"); -dojo.getObject("html",true,dojo); -(function(){ -var _1=0,d=dojo; -dojo.html._secureForInnerHtml=function(_2){ -return _2.replace(/(?:\s*<!DOCTYPE\s[^>]+>|<title[^>]*>[\s\S]*?<\/title>)/ig,""); -}; -dojo.html._emptyNode=dojo.empty; -dojo.html._setNodeContent=function(_3,_4){ -d.empty(_3); -if(_4){ -if(typeof _4=="string"){ -_4=d._toDom(_4,_3.ownerDocument); -} -if(!_4.nodeType&&d.isArrayLike(_4)){ -for(var _5=_4.length,i=0;i<_4.length;i=_5==_4.length?i+1:0){ -d.place(_4[i],_3,"last"); -} -}else{ -d.place(_4,_3,"last"); -} -} -return _3; -}; -dojo.declare("dojo.html._ContentSetter",null,{node:"",content:"",id:"",cleanContent:false,extractContent:false,parseContent:false,parserScope:dojo._scopeName,startup:true,constructor:function(_6,_7){ -dojo.mixin(this,_6||{}); -_7=this.node=dojo.byId(this.node||_7); -if(!this.id){ -this.id=["Setter",(_7)?_7.id||_7.tagName:"",_1++].join("_"); -} -},set:function(_8,_9){ -if(undefined!==_8){ -this.content=_8; -} -if(_9){ -this._mixin(_9); -} -this.onBegin(); -this.setContent(); -this.onEnd(); -return this.node; -},setContent:function(){ -var _a=this.node; -if(!_a){ -throw new Error(this.declaredClass+": setContent given no node"); -} -try{ -_a=dojo.html._setNodeContent(_a,this.content); -} -catch(e){ -var _b=this.onContentError(e); -try{ -_a.innerHTML=_b; -} -catch(e){ -console.error("Fatal "+this.declaredClass+".setContent could not change content due to "+e.message,e); -} -} -this.node=_a; -},empty:function(){ -if(this.parseResults&&this.parseResults.length){ -dojo.forEach(this.parseResults,function(w){ -if(w.destroy){ -w.destroy(); -} -}); -delete this.parseResults; -} -dojo.html._emptyNode(this.node); -},onBegin:function(){ -var _c=this.content; -if(dojo.isString(_c)){ -if(this.cleanContent){ -_c=dojo.html._secureForInnerHtml(_c); -} -if(this.extractContent){ -var _d=_c.match(/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im); -if(_d){ -_c=_d[1]; -} -} -} -this.empty(); -this.content=_c; -return this.node; -},onEnd:function(){ -if(this.parseContent){ -this._parse(); -} -return this.node; -},tearDown:function(){ -delete this.parseResults; -delete this.node; -delete this.content; -},onContentError:function(_e){ -return "Error occured setting content: "+_e; -},_mixin:function(_f){ -var _10={},key; -for(key in _f){ -if(key in _10){ -continue; -} -this[key]=_f[key]; -} -},_parse:function(){ -var _11=this.node; -try{ -var _12={}; -dojo.forEach(["dir","lang","textDir"],function(_13){ -if(this[_13]){ -_12[_13]=this[_13]; -} -},this); -this.parseResults=dojo.parser.parse({rootNode:_11,noStart:!this.startup,inherited:_12,scope:this.parserScope}); -} -catch(e){ -this._onError("Content",e,"Error parsing in _ContentSetter#"+this.id); -} -},_onError:function(_14,err,_15){ -var _16=this["on"+_14+"Error"].call(this,err); -if(_15){ -console.error(_15,err); -}else{ -if(_16){ -dojo.html._setNodeContent(this.node,_16,true); -} -} -}}); -dojo.html.set=function(_17,_18,_19){ -if(undefined==_18){ -console.warn("dojo.html.set: no cont argument provided, using empty string"); -_18=""; -} -if(!_19){ -return dojo.html._setNodeContent(_17,_18,true); -}else{ -var op=new dojo.html._ContentSetter(dojo.mixin(_19,{content:_18,node:_17})); -return op.set(); -} -}; -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/i18n.js b/resources/library/interactive/barre_prof.wgt/dojo/i18n.js deleted file mode 100644 index 40e282a9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/i18n.js +++ /dev/null @@ -1,173 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.i18n"]){ -dojo._hasResource["dojo.i18n"]=true; -dojo.provide("dojo.i18n"); -dojo.getObject("i18n",true,dojo); -dojo.i18n.getLocalization=dojo.i18n.getLocalization||function(_1,_2,_3){ -_3=dojo.i18n.normalizeLocale(_3); -var _4=_3.split("-"); -var _5=[_1,"nls",_2].join("."); -var _6=dojo._loadedModules[_5]; -if(_6){ -var _7; -for(var i=_4.length;i>0;i--){ -var _8=_4.slice(0,i).join("_"); -if(_6[_8]){ -_7=_6[_8]; -break; -} -} -if(!_7){ -_7=_6.ROOT; -} -if(_7){ -var _9=function(){ -}; -_9.prototype=_7; -return new _9(); -} -} -throw new Error("Bundle not found: "+_2+" in "+_1+" , locale="+_3); -}; -dojo.i18n.normalizeLocale=function(_a){ -var _b=_a?_a.toLowerCase():dojo.locale; -if(_b=="root"){ -_b="ROOT"; -} -return _b; -}; -dojo.i18n._requireLocalization=function(_c,_d,_e,_f){ -var _10=dojo.i18n.normalizeLocale(_e); -var _11=[_c,"nls",_d].join("."); -var _12=""; -if(_f){ -var _13=_f.split(","); -for(var i=0;i<_13.length;i++){ -if(_10["indexOf"](_13[i])==0){ -if(_13[i].length>_12.length){ -_12=_13[i]; -} -} -} -if(!_12){ -_12="ROOT"; -} -} -var _14=_f?_12:_10; -var _15=dojo._loadedModules[_11]; -var _16=null; -if(_15){ -if(dojo.config.localizationComplete&&_15._built){ -return; -} -var _17=_14.replace(/-/g,"_"); -var _18=_11+"."+_17; -_16=dojo._loadedModules[_18]; -} -if(!_16){ -_15=dojo["provide"](_11); -var _19=dojo._getModuleSymbols(_c); -var _1a=_19.concat("nls").join("/"); -var _1b; -dojo.i18n._searchLocalePath(_14,_f,function(loc){ -var _1c=loc.replace(/-/g,"_"); -var _1d=_11+"."+_1c; -var _1e=false; -if(!dojo._loadedModules[_1d]){ -dojo["provide"](_1d); -var _1f=[_1a]; -if(loc!="ROOT"){ -_1f.push(loc); -} -_1f.push(_d); -var _20=_1f.join("/")+".js"; -_1e=dojo._loadPath(_20,null,function(_21){ -_21=_21.root||_21; -var _22=function(){ -}; -_22.prototype=_1b; -_15[_1c]=new _22(); -for(var j in _21){ -_15[_1c][j]=_21[j]; -} -}); -}else{ -_1e=true; -} -if(_1e&&_15[_1c]){ -_1b=_15[_1c]; -}else{ -_15[_1c]=_1b; -} -if(_f){ -return true; -} -}); -} -if(_f&&_10!=_12){ -_15[_10.replace(/-/g,"_")]=_15[_12.replace(/-/g,"_")]; -} -}; -(function(){ -var _23=dojo.config.extraLocale; -if(_23){ -if(!_23 instanceof Array){ -_23=[_23]; -} -var req=dojo.i18n._requireLocalization; -dojo.i18n._requireLocalization=function(m,b,_24,_25){ -req(m,b,_24,_25); -if(_24){ -return; -} -for(var i=0;i<_23.length;i++){ -req(m,b,_23[i],_25); -} -}; -} -})(); -dojo.i18n._searchLocalePath=function(_26,_27,_28){ -_26=dojo.i18n.normalizeLocale(_26); -var _29=_26.split("-"); -var _2a=[]; -for(var i=_29.length;i>0;i--){ -_2a.push(_29.slice(0,i).join("-")); -} -_2a.push(false); -if(_27){ -_2a.reverse(); -} -for(var j=_2a.length-1;j>=0;j--){ -var loc=_2a[j]||"ROOT"; -var _2b=_28(loc); -if(_2b){ -break; -} -} -}; -dojo.i18n._preloadLocalizations=function(_2c,_2d){ -function _2e(_2f){ -_2f=dojo.i18n.normalizeLocale(_2f); -dojo.i18n._searchLocalePath(_2f,true,function(loc){ -for(var i=0;i<_2d.length;i++){ -if(_2d[i]==loc){ -dojo["require"](_2c+"_"+loc); -return true; -} -} -return false; -}); -}; -_2e(); -var _30=dojo.config.extraLocale||[]; -for(var i=0;i<_30.length;i++){ -_2e(_30[i]); -} -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/jaxer.js b/resources/library/interactive/barre_prof.wgt/dojo/jaxer.js deleted file mode 100644 index ceaa109d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/jaxer.js +++ /dev/null @@ -1,19 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.jaxer"]){ -dojo._hasResource["dojo.jaxer"]=true; -dojo.provide("dojo.jaxer"); -if(typeof print=="function"){ -console.debug=Jaxer.Log.debug; -console.warn=Jaxer.Log.warn; -console.error=Jaxer.Log.error; -console.info=Jaxer.Log.info; -console.log=Jaxer.Log.warn; -} -onserverload=dojo._loadInit; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/nls/colors.js b/resources/library/interactive/barre_prof.wgt/dojo/nls/colors.js deleted file mode 100644 index 454e644e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/nls/colors.js +++ /dev/null @@ -1 +0,0 @@ -({"lightsteelblue":"light steel blue","orangered":"orange red","midnightblue":"midnight blue","cadetblue":"cadet blue","seashell":"seashell","slategrey":"slate gray","coral":"coral","darkturquoise":"dark turquoise","antiquewhite":"antique white","mediumspringgreen":"medium spring green","salmon":"salmon","darkgrey":"dark gray","ivory":"ivory","greenyellow":"green-yellow","mistyrose":"misty rose","lightsalmon":"light salmon","silver":"silver","dimgrey":"dim gray","orange":"orange","white":"white","navajowhite":"navajo white","royalblue":"royal blue","deeppink":"deep pink","lime":"lime","oldlace":"old lace","chartreuse":"chartreuse","darkcyan":"dark cyan","yellow":"yellow","linen":"linen","olive":"olive","gold":"gold","lawngreen":"lawn green","lightyellow":"light yellow","tan":"tan","darkviolet":"dark violet","lightslategrey":"light slate gray","grey":"gray","darkkhaki":"dark khaki","green":"green","deepskyblue":"deep sky blue","aqua":"aqua","sienna":"sienna","mintcream":"mint cream","rosybrown":"rosy brown","mediumslateblue":"medium slate blue","magenta":"magenta","lightseagreen":"light sea green","cyan":"cyan","olivedrab":"olive drab","darkgoldenrod":"dark goldenrod","slateblue":"slate blue","mediumaquamarine":"medium aquamarine","lavender":"lavender","mediumseagreen":"medium sea green","maroon":"maroon","darkslategray":"dark slate gray","mediumturquoise":"medium turquoise","ghostwhite":"ghost white","darkblue":"dark blue","mediumvioletred":"medium violet-red","brown":"brown","lightgray":"light gray","sandybrown":"sandy brown","pink":"pink","firebrick":"fire brick","indigo":"indigo","snow":"snow","darkorchid":"dark orchid","turquoise":"turquoise","chocolate":"chocolate","springgreen":"spring green","moccasin":"moccasin","navy":"navy","lemonchiffon":"lemon chiffon","teal":"teal","floralwhite":"floral white","cornflowerblue":"cornflower blue","paleturquoise":"pale turquoise","purple":"purple","gainsboro":"gainsboro","plum":"plum","red":"red","blue":"blue","forestgreen":"forest green","darkgreen":"dark green","honeydew":"honeydew","darkseagreen":"dark sea green","lightcoral":"light coral","palevioletred":"pale violet-red","mediumpurple":"medium purple","saddlebrown":"saddle brown","darkmagenta":"dark magenta","thistle":"thistle","whitesmoke":"white smoke","wheat":"wheat","violet":"violet","lightskyblue":"light sky blue","goldenrod":"goldenrod","mediumblue":"medium blue","skyblue":"sky blue","crimson":"crimson","darksalmon":"dark salmon","darkred":"dark red","darkslategrey":"dark slate gray","peru":"peru","lightgrey":"light gray","lightgoldenrodyellow":"light goldenrod yellow","blanchedalmond":"blanched almond","aliceblue":"alice blue","bisque":"bisque","slategray":"slate gray","palegoldenrod":"pale goldenrod","darkorange":"dark orange","aquamarine":"aquamarine","lightgreen":"light green","burlywood":"burlywood","dodgerblue":"dodger blue","darkgray":"dark gray","lightcyan":"light cyan","powderblue":"powder blue","blueviolet":"blue-violet","orchid":"orchid","dimgray":"dim gray","beige":"beige","fuchsia":"fuchsia","lavenderblush":"lavender blush","hotpink":"hot pink","steelblue":"steel blue","tomato":"tomato","lightpink":"light pink","limegreen":"lime green","indianred":"indian red","papayawhip":"papaya whip","lightslategray":"light slate gray","gray":"gray","mediumorchid":"medium orchid","cornsilk":"cornsilk","black":"black","seagreen":"sea green","darkslateblue":"dark slate blue","khaki":"khaki","lightblue":"light blue","palegreen":"pale green","azure":"azure","peachpuff":"peach puff","darkolivegreen":"dark olive green","yellowgreen":"yellow green"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojo/nls/de/colors.js b/resources/library/interactive/barre_prof.wgt/dojo/nls/de/colors.js deleted file mode 100644 index 7ae21bf4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/nls/de/colors.js +++ /dev/null @@ -1 +0,0 @@ -({"lightsteelblue":"Helles Stahlblau","orangered":"Orangerot","midnightblue":"Mitternachtblau","cadetblue":"Kadettenblau","seashell":"Muschelweiß","slategrey":"Schiefergrau","coral":"Koralle","darkturquoise":"Dunkeltürkis","antiquewhite":"Antikweiß","mediumspringgreen":"Mittelfrühlingsgrün","salmon":"Lachs","darkgrey":"Dunkelgrau","ivory":"Elfenbein","greenyellow":"Grüngelb","mistyrose":"Blassrose","lightsalmon":"Helllachs","silver":"Silbergrau","dimgrey":"Blassgrau","orange":"Orange","white":"Weiß","navajowhite":"Navajo-weiß","royalblue":"Königsblau","deeppink":"Tiefrosa","lime":"Limone","oldlace":"Alte Spitze","chartreuse":"Helles Gelbgrün","darkcyan":"Dunkelzyan","yellow":"Gelb","linen":"Leinen","olive":"Oliv","gold":"Gold","lawngreen":"Grasgrün","lightyellow":"Hellgelb","tan":"Hautfarben","darkviolet":"Dunkelviolett","lightslategrey":"Helles Schiefergrau","grey":"Grau","darkkhaki":"Dunkelkhaki","green":"Grün","deepskyblue":"Dunkles Himmelblau","aqua":"Wasserblau","sienna":"Sienna","mintcream":"Mintcreme","rosybrown":"Rosigbraun","mediumslateblue":"Mittelschieferblau ","magenta":"Magenta","lightseagreen":"Helles Meergrün","cyan":"Zyan","olivedrab":"Olivgrau","darkgoldenrod":"Dunkelgoldgelb","slateblue":"Schieferblau","mediumaquamarine":"Mittelaquamarin","lavender":"Lavendelblau","mediumseagreen":"Mittelmeeresgrün","maroon":"Kastanienbraun","darkslategray":"Dunkelschiefergrau","mediumturquoise":"Mitteltürkis ","ghostwhite":"Geisterweiß","darkblue":"Dunkelblau","mediumvioletred":"Mittelviolettrot ","brown":"Braun","lightgray":"Hellgrau","sandybrown":"Sandbraun","pink":"Rosa","firebrick":"Schamottestein","indigo":"Indigoblau","snow":"Schneeweiß","darkorchid":"Dunkelorchidee","turquoise":"Türkis","chocolate":"Schokoladenbraun","springgreen":"Frühlingsgrün","moccasin":"Mokassin","navy":"Marineblau","lemonchiffon":"Zitronenchiffon","teal":"Smaragdgrün","floralwhite":"Blütenweiß","cornflowerblue":"Kornblumenblau","paleturquoise":"Blasstürkis","purple":"Purpurrot","gainsboro":"Gainsboro","plum":"Pflaume","red":"Rot","blue":"Blau","forestgreen":"Forstgrün","darkgreen":"Dunkelgrün","honeydew":"Honigtau","darkseagreen":"Dunkles Meergrün","lightcoral":"Hellkoralle","palevioletred":"Blassviolettrot ","mediumpurple":"Mittelpurpur","saddlebrown":"Sattelbraun","darkmagenta":"Dunkelmagenta","thistle":"Distel","whitesmoke":"Rauchweiß","wheat":"Weizen","violet":"Violett","lightskyblue":"Helles Himmelblau","goldenrod":"Goldgelb","mediumblue":"Mittelblau","skyblue":"Himmelblau","crimson":"Karmesinrot","darksalmon":"Dunkellachs","darkred":"Dunkelrot","darkslategrey":"Dunkelschiefergrau","peru":"Peru","lightgrey":"Hellgrau","lightgoldenrodyellow":"Hellgoldgelb","blanchedalmond":"Mandelweiß","aliceblue":"Alice-blau","bisque":"Bisquit","slategray":"Schiefergrau","palegoldenrod":"Blassgoldgelb","darkorange":"Dunkelorange","aquamarine":"Aquamarin","lightgreen":"Hellgrün","burlywood":"Burlywood","dodgerblue":"Dodger-blau","darkgray":"Dunkelgrau","lightcyan":"Hellzyan","powderblue":"Pulverblau","blueviolet":"Blauviolett","orchid":"Orchidee","dimgray":"Blassgrau","beige":"Beige","fuchsia":"Fuchsia","lavenderblush":"Lavendelhauch","hotpink":"Knallrosa","steelblue":"Stahlblau","tomato":"Tomatenrot","lightpink":"Hellrosa","limegreen":"Limonengrün","indianred":"Indischrot","papayawhip":"Papayacreme","lightslategray":"Helles Schiefergrau","gray":"Grau","mediumorchid":"Mittelorchidee","cornsilk":"Kornseide","black":"Schwarz","seagreen":"Meeresgrün","darkslateblue":"Dunkelschieferblau","khaki":"Khaki","lightblue":"Hellblau","palegreen":"Blassgrün","azure":"Azur","peachpuff":"Pfirsich","darkolivegreen":"Dunkelolivgrün","yellowgreen":"Gelbgrün"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojo/nls/es/colors.js b/resources/library/interactive/barre_prof.wgt/dojo/nls/es/colors.js deleted file mode 100644 index 95bb23e8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/nls/es/colors.js +++ /dev/null @@ -1 +0,0 @@ -({"lightsteelblue":"azul acero claro","orangered":"rojo anaranjado","midnightblue":"azul medianoche","cadetblue":"azul cadete","seashell":"blanco marfil","slategrey":"gris pizarra","coral":"coral","darkturquoise":"turquesa oscuro","antiquewhite":"blanco antiguo","mediumspringgreen":"verde primavera medio","salmon":"salmón","darkgrey":"gris oscuro","ivory":"marfil","greenyellow":"amarillo verdoso","mistyrose":"rosa difuminado","lightsalmon":"salmón claro","silver":"plateado","dimgrey":"gris marengo","orange":"naranja","white":"blanco","navajowhite":"blanco navajo","royalblue":"azul real","deeppink":"rosa fuerte","lime":"lima","oldlace":"encaje antiguo","chartreuse":"verde pálido 2","darkcyan":"cian oscuro","yellow":"amarillo","linen":"blanco arena","olive":"verde oliva","gold":"oro","lawngreen":"verde césped","lightyellow":"amarillo claro","tan":"canela","darkviolet":"violeta oscuro","lightslategrey":"gris pizarra claro","grey":"gris","darkkhaki":"caqui oscuro","green":"verde","deepskyblue":"azul cielo fuerte","aqua":"aguamarina","sienna":"siena","mintcream":"crema menta","rosybrown":"marrón rosáceo","mediumslateblue":"azul pizarra medio","magenta":"magenta","lightseagreen":"verde mar claro","cyan":"cian","olivedrab":"verde oliva pardusco","darkgoldenrod":"ocre oscuro","slateblue":"azul pizarra","mediumaquamarine":"aguamarina medio","lavender":"lavanda","mediumseagreen":"verde mar medio","maroon":"granate","darkslategray":"gris pizarra oscuro","mediumturquoise":"turquesa medio","ghostwhite":"blanco ligero","darkblue":"azul oscuro","mediumvioletred":"rojo violáceo medio","brown":"marrón","lightgray":"gris claro","sandybrown":"marrón arcilla","pink":"rosa","firebrick":"teja","indigo":"añil","snow":"nieve","darkorchid":"orquídea oscuro","turquoise":"turquesa","chocolate":"chocolate","springgreen":"verde fuerte","moccasin":"arena","navy":"azul marino","lemonchiffon":"amarillo pastel","teal":"verde azulado","floralwhite":"blanco manteca","cornflowerblue":"azul aciano","paleturquoise":"turquesa pálido","purple":"púrpura","gainsboro":"azul gainsboro","plum":"ciruela","red":"rojo","blue":"azul","forestgreen":"verde pino","darkgreen":"verde oscuro","honeydew":"flor de rocío","darkseagreen":"verde mar oscuro","lightcoral":"coral claro","palevioletred":"rojo violáceo pálido","mediumpurple":"púrpura medio","saddlebrown":"cuero","darkmagenta":"magenta oscuro","thistle":"cardo","whitesmoke":"blanco ahumado","wheat":"trigo","violet":"violeta","lightskyblue":"azul cielo claro","goldenrod":"ocre","mediumblue":"azul medio","skyblue":"azul cielo","crimson":"carmesí","darksalmon":"salmón oscuro","darkred":"rojo oscuro","darkslategrey":"gris pizarra oscuro","peru":"perú","lightgrey":"gris claro","lightgoldenrodyellow":"ocre claro","blanchedalmond":"almendra pálido","aliceblue":"blanco azulado","bisque":"miel","slategray":"gris pizarra","palegoldenrod":"ocre pálido","darkorange":"naranja oscuro","aquamarine":"aguamarina 2","lightgreen":"verde claro","burlywood":"madera","dodgerblue":"azul fuerte","darkgray":"gris oscuro","lightcyan":"cian claro","powderblue":"azul suave","blueviolet":"azul violáceo","orchid":"orquídea","dimgray":"gris marengo","beige":"beige","fuchsia":"fucsia","lavenderblush":"lavanda rosácea","hotpink":"rosa oscuro","steelblue":"azul acero","tomato":"tomate","lightpink":"rosa claro","limegreen":"lima limón","indianred":"rojo teja","papayawhip":"papaya claro","lightslategray":"gris pizarra claro","gray":"gris","mediumorchid":"orquídea medio","cornsilk":"crudo","black":"negro","seagreen":"verde mar","darkslateblue":"azul pizarra oscuro","khaki":"caqui","lightblue":"azul claro","palegreen":"verde pálido","azure":"blanco cielo","peachpuff":"melocotón","darkolivegreen":"verde oliva oscuro","yellowgreen":"verde amarillento"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojo/nls/fr/colors.js b/resources/library/interactive/barre_prof.wgt/dojo/nls/fr/colors.js deleted file mode 100644 index cf1e7e90..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/nls/fr/colors.js +++ /dev/null @@ -1 +0,0 @@ -({"lightsteelblue":"bleu acier clair","orangered":"rouge orangé","midnightblue":"bleu nuit","cadetblue":"bleu pétrole","seashell":"coquillage","slategrey":"gris ardoise","coral":"corail","darkturquoise":"turquoise foncé","antiquewhite":"blanc antique","mediumspringgreen":"vert printemps moyen","salmon":"saumon","darkgrey":"gris foncé","ivory":"ivoire","greenyellow":"vert-jaune","mistyrose":"rose pâle","lightsalmon":"saumon clair","silver":"argent","dimgrey":"gris soutenu","orange":"orange","white":"blanc","navajowhite":"chair","royalblue":"bleu roi","deeppink":"rose soutenu","lime":"vert citron","oldlace":"blanc cassé","chartreuse":"vert vif","darkcyan":"cyan foncé","yellow":"jaune","linen":"écru","olive":"olive","gold":"or","lawngreen":"vert prairie","lightyellow":"jaune clair","tan":"grège","darkviolet":"violet foncé","lightslategrey":"gris ardoise clair","grey":"gris","darkkhaki":"kaki foncé","green":"vert","deepskyblue":"bleu ciel soutenu","aqua":"bleu-vert","sienna":"terre de sienne","mintcream":"crème de menthe","rosybrown":"vieux rose","mediumslateblue":"bleu ardoise moyen","magenta":"magenta","lightseagreen":"vert d'eau clair","cyan":"cyan","olivedrab":"brun verdâtre","darkgoldenrod":"jaune paille foncé","slateblue":"bleu ardoise","mediumaquamarine":"aigue-marine moyen","lavender":"lavande","mediumseagreen":"vert d'eau moyen","maroon":"marron","darkslategray":"gris ardoise foncé","mediumturquoise":"turquoise moyen","ghostwhite":"blanc laiteux","darkblue":"bleu foncé","mediumvioletred":"rouge violacé moyen","brown":"brun","lightgray":"gris clair","sandybrown":"sable","pink":"rose","firebrick":"rouge brique","indigo":"indigo","snow":"neige","darkorchid":"lilas foncé","turquoise":"turquoise","chocolate":"chocolat","springgreen":"vert printemps","moccasin":"chamois","navy":"bleu marine","lemonchiffon":"mousse de citron","teal":"sarcelle","floralwhite":"lys","cornflowerblue":"bleuet","paleturquoise":"turquoise pâle","purple":"pourpre","gainsboro":"gris souris","plum":"prune","red":"rouge","blue":"bleu","forestgreen":"vert sapin","darkgreen":"vert foncé","honeydew":"opalin","darkseagreen":"vert d'eau foncé","lightcoral":"corail clair","palevioletred":"rouge violacé pâle","mediumpurple":"pourpre moyen","saddlebrown":"brun cuir","darkmagenta":"magenta foncé","thistle":"chardon","whitesmoke":"blanc cendré","wheat":"blé","violet":"violet","lightskyblue":"bleu ciel clair","goldenrod":"jaune paille","mediumblue":"bleu moyen","skyblue":"bleu ciel","crimson":"cramoisi","darksalmon":"saumon foncé","darkred":"rouge foncé","darkslategrey":"gris ardoise foncé","peru":"caramel","lightgrey":"gris clair","lightgoldenrodyellow":"jaune paille clair","blanchedalmond":"coquille d'oeuf","aliceblue":"bleu gris","bisque":"beige rosé","slategray":"gris ardoise","palegoldenrod":"jaune paille pâle","darkorange":"orange foncé","aquamarine":"aigue-marine","lightgreen":"vert clair","burlywood":"bois précieux","dodgerblue":"bleu France","darkgray":"gris foncé","lightcyan":"cyan clair","powderblue":"bleu de smalt","blueviolet":"bleu-violet","orchid":"lilas","dimgray":"gris soutenu","beige":"beige","fuchsia":"fuchsia","lavenderblush":"lavandin","hotpink":"rose intense","steelblue":"bleu acier","tomato":"tomate","lightpink":"rose clair","limegreen":"citron vert","indianred":"rose indien","papayawhip":"crème de papaye","lightslategray":"gris ardoise clair","gray":"gris","mediumorchid":"lilas moyen","cornsilk":"vanille","black":"noir","seagreen":"vert d'eau","darkslateblue":"bleu ardoise foncé","khaki":"kaki","lightblue":"bleu clair","palegreen":"vert pâle","azure":"bleu azur","peachpuff":"pêche","darkolivegreen":"olive foncé","yellowgreen":"vert jaunâtre"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojo/nls/it/colors.js b/resources/library/interactive/barre_prof.wgt/dojo/nls/it/colors.js deleted file mode 100644 index 8a530070..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/nls/it/colors.js +++ /dev/null @@ -1 +0,0 @@ -({"lightsteelblue":"blu acciao chiaro","orangered":"vermiglio","midnightblue":"blu melanzana scuro","cadetblue":"verde acqua","seashell":"sabbia rosa","slategrey":"grigio ardesia","coral":"corallo","darkturquoise":"turchese scuro","antiquewhite":"bianco antico","mediumspringgreen":"verde primavera medio","salmon":"salmone","darkgrey":"grigio scuro","ivory":"avorio","greenyellow":"giallo verde","mistyrose":"rosa pallido","lightsalmon":"salmone chiaro","silver":"grigio 25%","dimgrey":"grigio 80%","orange":"arancione","white":"bianco","navajowhite":"pesca chiaro","royalblue":"blu reale","deeppink":"ciclamino","lime":"verde fluorescente","oldlace":"mandorla","chartreuse":"verde brillante","darkcyan":"ciano scuro","yellow":"giallo","linen":"lino","olive":"verde oliva","gold":"oro","lawngreen":"verde prato","lightyellow":"giallo chiaro","tan":"grigio bruno","darkviolet":"viola scuro","lightslategrey":"grigio ardesia chiaro","grey":"grigio","darkkhaki":"kaki scuro","green":"verde","deepskyblue":"azzurro cielo scuro","aqua":"acqua","sienna":"cuoio","mintcream":"bianco nuvola","rosybrown":"marrone rosato","mediumslateblue":"blu ardesia medio","magenta":"magenta","lightseagreen":"verde mare chiaro","cyan":"ciano","olivedrab":"marrone oliva","darkgoldenrod":"ocra scuro","slateblue":"blu ardesia","mediumaquamarine":"acquamarina medio","lavender":"lavanda","mediumseagreen":"verde mare medio","maroon":"scarlatto","darkslategray":"grigio ardesia scuro","mediumturquoise":"turchese medio","ghostwhite":"bianco gesso","darkblue":"blu scuro","mediumvioletred":"vinaccia","brown":"marrone","lightgray":"grigio chiaro","sandybrown":"marrone sabbia","pink":"rosa","firebrick":"rosso mattone","indigo":"indaco","snow":"neve","darkorchid":"orchidea scuro","turquoise":"turchese","chocolate":"cioccolato","springgreen":"verde primavera","moccasin":"mocassino","navy":"blu notte","lemonchiffon":"caffelatte chiaro","teal":"verde turchese","floralwhite":"bianco giglio","cornflowerblue":"blu fiordaliso","paleturquoise":"turchese pallido","purple":"porpora","gainsboro":"grigio 10%","plum":"prugna","red":"rosso","blue":"blu","forestgreen":"verde foresta","darkgreen":"verde scuro","honeydew":"bianco germoglio","darkseagreen":"verde mare scuro","lightcoral":"rosa corallo","palevioletred":"vinaccia chiaro","mediumpurple":"porpora medio","saddlebrown":"cacao","darkmagenta":"magenta scuro","thistle":"rosa cenere","whitesmoke":"bianco fumo","wheat":"sabbia","violet":"viola","lightskyblue":"azzurro cielo chiaro","goldenrod":"ocra gialla","mediumblue":"blu medio","skyblue":"azzurro cielo","crimson":"cremisi","darksalmon":"salmone scuro","darkred":"rosso scuro","darkslategrey":"grigio ardesia scuro","peru":"marrone terra bruciata","lightgrey":"grigio chiaro","lightgoldenrodyellow":"giallo tenue","blanchedalmond":"mandorla chiaro","aliceblue":"blu alice","bisque":"incarnato","slategray":"grigio ardesia","palegoldenrod":"giallo zolfo chiaro","darkorange":"arancione scuro","aquamarine":"acquamarina","lightgreen":"verde chiaro","burlywood":"tabacco","dodgerblue":"blu d'oriente","darkgray":"grigio scuro","lightcyan":"ciano chiaro","powderblue":"azzurro polvere","blueviolet":"blu violetto","orchid":"orchidea","dimgray":"grigio 80%","beige":"beige","fuchsia":"fucsia","lavenderblush":"bianco rosato","hotpink":"rosa acceso","steelblue":"blu acciao","tomato":"pomodoro","lightpink":"rosa chiaro","limegreen":"verde lime","indianred":"terra indiana","papayawhip":"cipria","lightslategray":"grigio ardesia chiaro","gray":"grigio","mediumorchid":"orchidea medio","cornsilk":"crema","black":"nero","seagreen":"verde mare","darkslateblue":"blu ardesia scuro","khaki":"kaki","lightblue":"azzurro","palegreen":"verde pallido","azure":"azzurro ghiaccio","peachpuff":"pesca","darkolivegreen":"verde oliva scuro","yellowgreen":"giallo verde"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojo/nls/ru/colors.js b/resources/library/interactive/barre_prof.wgt/dojo/nls/ru/colors.js deleted file mode 100644 index 4b67053d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/nls/ru/colors.js +++ /dev/null @@ -1 +0,0 @@ -({"lightsteelblue":"светлый стальной","orangered":"оранжево-красный","midnightblue":"полуночно-синий","cadetblue":"серо-синий","seashell":"морская раковина","slategrey":"грифельно-серый","coral":"коралловый","darkturquoise":"темный бирюзовый","antiquewhite":"белый антик","mediumspringgreen":"нейтральный весенне-зеленый","salmon":"лососевый","darkgrey":"темно-серый","ivory":"слоновой кости","greenyellow":"зелено-желтый","mistyrose":"блекло-розовый","lightsalmon":"светло-лососевый","silver":"серебристый","dimgrey":"тускло-серый","orange":"оранжевый","white":"белый","navajowhite":"белый навахо","royalblue":"королевский голубой","deeppink":"темно-розовый","lime":"лайм","oldlace":"матово-белый","chartreuse":"желто-салатный","darkcyan":"темный циан","yellow":"желтый","linen":"хлопковый","olive":"оливковый","gold":"золотой","lawngreen":"зеленая лужайка","lightyellow":"светло-желтый","tan":"рыжевато-коричневый","darkviolet":"темно-фиолетовый","lightslategrey":"светлый грифельно-серый","grey":"серый","darkkhaki":"темный хаки","green":"зеленый","deepskyblue":"темный небесно-голубой","aqua":"зеленовато-голубой","sienna":"охра","mintcream":"мятно-кремовый","rosybrown":"розово-коричневый","mediumslateblue":"нейтральный грифельно-синий","magenta":"пурпурный","lightseagreen":"светлый морской волны","cyan":"циан","olivedrab":"желтовато-серый","darkgoldenrod":"темно-золотистый","slateblue":"грифельно-синий","mediumaquamarine":"нейтральный аквамарин","lavender":"бледно-лиловый","mediumseagreen":"нейтральный морской волны","maroon":"темно-бордовый","darkslategray":"темный грифельно-серый","mediumturquoise":"нейтральный бирюзовый","ghostwhite":"призрачно-белый","darkblue":"темно-синий","mediumvioletred":"нейтральный фиолетово-красный","brown":"коричневый","lightgray":"светло-серый","sandybrown":"коричнево-песчаный","pink":"розовый","firebrick":"кирпичный","indigo":"индиго","snow":"белоснежный","darkorchid":"темный орсель","turquoise":"бирюзовый","chocolate":"шоколадный","springgreen":"весенний зеленый","moccasin":"мокасин","navy":"темно-синий","lemonchiffon":"бледно-лимонный","teal":"чирок","floralwhite":"цветочно-белый","cornflowerblue":"фиолетово-синий","paleturquoise":"бледно-бирюзовый","purple":"фиолетовый","gainsboro":"бледно-серый","plum":"сливовый","red":"красный","blue":"синий","forestgreen":"зеленый лесной","darkgreen":"темно-зеленый","honeydew":"медовый","darkseagreen":"темный морской волны","lightcoral":"светло-коралловый","palevioletred":"бледный фиолетово-красный","mediumpurple":"нейтральный фиолетовый","saddlebrown":"кожано-коричневый","darkmagenta":"темно-пурпурный","thistle":"чертополох","whitesmoke":"дымчато-белый","wheat":"пшеница","violet":"фиолетовый","lightskyblue":"светлый небесно-голубой","goldenrod":"золотистый","mediumblue":"нейтральный синий","skyblue":"небесно-голубой","crimson":"малиновый","darksalmon":"темно-лососевый","darkred":"темно-красный","darkslategrey":"темный грифельно-серый","peru":"перу","lightgrey":"светло-серый","lightgoldenrodyellow":"светло-золотистый","blanchedalmond":"светло-миндальный","aliceblue":"серо-голубой","bisque":"бисквитный","slategray":"грифельно-серый","palegoldenrod":"бледно-золотистый","darkorange":"темно-оранжевый","aquamarine":"аквамарин","lightgreen":"светло-зеленый","burlywood":"светло-коричневый","dodgerblue":"бледно-синий","darkgray":"темно-серый","lightcyan":"светлый циан","powderblue":"пороховой","blueviolet":"сине-фиолетовый","orchid":"орсель","dimgray":"тускло-серый","beige":"бежевый","fuchsia":"фуксин","lavenderblush":"розовато-лиловый","hotpink":"красно-розовый","steelblue":"стальной","tomato":"помидор","lightpink":"светло-розовый","limegreen":"зеленый лайм","indianred":"индийский красный","papayawhip":"черенок папайи","lightslategray":"светлый грифельно-серый","gray":"серый","mediumorchid":"нейтральный орсель","cornsilk":"шелковый оттенок","black":"черный","seagreen":"морской волны","darkslateblue":"темный грифельно-синий","khaki":"хаки","lightblue":"светло-синий","palegreen":"бледно-зеленый","azure":"лазурный","peachpuff":"персиковый","darkolivegreen":"темно-оливковый","yellowgreen":"желто-зеленый"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojo/number.js b/resources/library/interactive/barre_prof.wgt/dojo/number.js deleted file mode 100644 index a61bdbf4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/number.js +++ /dev/null @@ -1,312 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.number"]){ -dojo._hasResource["dojo.number"]=true; -dojo.provide("dojo.number"); -dojo.require("dojo.i18n"); -dojo.requireLocalization("dojo.cldr","number",null,"ROOT,ar,ca,cs,da,de,el,en,en-au,en-gb,es,fi,fr,fr-ch,he,hu,it,ja,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-hant,zh-hk"); -dojo.require("dojo.string"); -dojo.require("dojo.regexp"); -dojo.getObject("number",true,dojo); -dojo.number.format=function(_1,_2){ -_2=dojo.mixin({},_2||{}); -var _3=dojo.i18n.normalizeLocale(_2.locale),_4=dojo.i18n.getLocalization("dojo.cldr","number",_3); -_2.customs=_4; -var _5=_2.pattern||_4[(_2.type||"decimal")+"Format"]; -if(isNaN(_1)||Math.abs(_1)==Infinity){ -return null; -} -return dojo.number._applyPattern(_1,_5,_2); -}; -dojo.number._numberPatternRE=/[#0,]*[#0](?:\.0*#*)?/; -dojo.number._applyPattern=function(_6,_7,_8){ -_8=_8||{}; -var _9=_8.customs.group,_a=_8.customs.decimal,_b=_7.split(";"),_c=_b[0]; -_7=_b[(_6<0)?1:0]||("-"+_c); -if(_7.indexOf("%")!=-1){ -_6*=100; -}else{ -if(_7.indexOf("‰")!=-1){ -_6*=1000; -}else{ -if(_7.indexOf("¤")!=-1){ -_9=_8.customs.currencyGroup||_9; -_a=_8.customs.currencyDecimal||_a; -_7=_7.replace(/\u00a4{1,3}/,function(_d){ -var _e=["symbol","currency","displayName"][_d.length-1]; -return _8[_e]||_8.currency||""; -}); -}else{ -if(_7.indexOf("E")!=-1){ -throw new Error("exponential notation not supported"); -} -} -} -} -var _f=dojo.number._numberPatternRE; -var _10=_c.match(_f); -if(!_10){ -throw new Error("unable to find a number expression in pattern: "+_7); -} -if(_8.fractional===false){ -_8.places=0; -} -return _7.replace(_f,dojo.number._formatAbsolute(_6,_10[0],{decimal:_a,group:_9,places:_8.places,round:_8.round})); -}; -dojo.number.round=function(_11,_12,_13){ -var _14=10/(_13||10); -return (_14*+_11).toFixed(_12)/_14; -}; -if((0.9).toFixed()==0){ -(function(){ -var _15=dojo.number.round; -dojo.number.round=function(v,p,m){ -var d=Math.pow(10,-p||0),a=Math.abs(v); -if(!v||a>=d||a*Math.pow(10,p+1)<5){ -d=0; -} -return _15(v,p,m)+(v>0?d:-d); -}; -})(); -} -dojo.number._formatAbsolute=function(_16,_17,_18){ -_18=_18||{}; -if(_18.places===true){ -_18.places=0; -} -if(_18.places===Infinity){ -_18.places=6; -} -var _19=_17.split("."),_1a=typeof _18.places=="string"&&_18.places.indexOf(","),_1b=_18.places; -if(_1a){ -_1b=_18.places.substring(_1a+1); -}else{ -if(!(_1b>=0)){ -_1b=(_19[1]||[]).length; -} -} -if(!(_18.round<0)){ -_16=dojo.number.round(_16,_1b,_18.round); -} -var _1c=String(Math.abs(_16)).split("."),_1d=_1c[1]||""; -if(_19[1]||_18.places){ -if(_1a){ -_18.places=_18.places.substring(0,_1a); -} -var pad=_18.places!==undefined?_18.places:(_19[1]&&_19[1].lastIndexOf("0")+1); -if(pad>_1d.length){ -_1c[1]=dojo.string.pad(_1d,pad,"0",true); -} -if(_1b<_1d.length){ -_1c[1]=_1d.substr(0,_1b); -} -}else{ -if(_1c[1]){ -_1c.pop(); -} -} -var _1e=_19[0].replace(",",""); -pad=_1e.indexOf("0"); -if(pad!=-1){ -pad=_1e.length-pad; -if(pad>_1c[0].length){ -_1c[0]=dojo.string.pad(_1c[0],pad); -} -if(_1e.indexOf("#")==-1){ -_1c[0]=_1c[0].substr(_1c[0].length-pad); -} -} -var _1f=_19[0].lastIndexOf(","),_20,_21; -if(_1f!=-1){ -_20=_19[0].length-_1f-1; -var _22=_19[0].substr(0,_1f); -_1f=_22.lastIndexOf(","); -if(_1f!=-1){ -_21=_22.length-_1f-1; -} -} -var _23=[]; -for(var _24=_1c[0];_24;){ -var off=_24.length-_20; -_23.push((off>0)?_24.substr(off):_24); -_24=(off>0)?_24.slice(0,off):""; -if(_21){ -_20=_21; -delete _21; -} -} -_1c[0]=_23.reverse().join(_18.group||","); -return _1c.join(_18.decimal||"."); -}; -dojo.number.regexp=function(_25){ -return dojo.number._parseInfo(_25).regexp; -}; -dojo.number._parseInfo=function(_26){ -_26=_26||{}; -var _27=dojo.i18n.normalizeLocale(_26.locale),_28=dojo.i18n.getLocalization("dojo.cldr","number",_27),_29=_26.pattern||_28[(_26.type||"decimal")+"Format"],_2a=_28.group,_2b=_28.decimal,_2c=1; -if(_29.indexOf("%")!=-1){ -_2c/=100; -}else{ -if(_29.indexOf("‰")!=-1){ -_2c/=1000; -}else{ -var _2d=_29.indexOf("¤")!=-1; -if(_2d){ -_2a=_28.currencyGroup||_2a; -_2b=_28.currencyDecimal||_2b; -} -} -} -var _2e=_29.split(";"); -if(_2e.length==1){ -_2e.push("-"+_2e[0]); -} -var re=dojo.regexp.buildGroupRE(_2e,function(_2f){ -_2f="(?:"+dojo.regexp.escapeString(_2f,".")+")"; -return _2f.replace(dojo.number._numberPatternRE,function(_30){ -var _31={signed:false,separator:_26.strict?_2a:[_2a,""],fractional:_26.fractional,decimal:_2b,exponent:false},_32=_30.split("."),_33=_26.places; -if(_32.length==1&&_2c!=1){ -_32[1]="###"; -} -if(_32.length==1||_33===0){ -_31.fractional=false; -}else{ -if(_33===undefined){ -_33=_26.pattern?_32[1].lastIndexOf("0")+1:Infinity; -} -if(_33&&_26.fractional==undefined){ -_31.fractional=true; -} -if(!_26.places&&(_33<_32[1].length)){ -_33+=","+_32[1].length; -} -_31.places=_33; -} -var _34=_32[0].split(","); -if(_34.length>1){ -_31.groupSize=_34.pop().length; -if(_34.length>1){ -_31.groupSize2=_34.pop().length; -} -} -return "("+dojo.number._realNumberRegexp(_31)+")"; -}); -},true); -if(_2d){ -re=re.replace(/([\s\xa0]*)(\u00a4{1,3})([\s\xa0]*)/g,function(_35,_36,_37,_38){ -var _39=["symbol","currency","displayName"][_37.length-1],_3a=dojo.regexp.escapeString(_26[_39]||_26.currency||""); -_36=_36?"[\\s\\xa0]":""; -_38=_38?"[\\s\\xa0]":""; -if(!_26.strict){ -if(_36){ -_36+="*"; -} -if(_38){ -_38+="*"; -} -return "(?:"+_36+_3a+_38+")?"; -} -return _36+_3a+_38; -}); -} -return {regexp:re.replace(/[\xa0 ]/g,"[\\s\\xa0]"),group:_2a,decimal:_2b,factor:_2c}; -}; -dojo.number.parse=function(_3b,_3c){ -var _3d=dojo.number._parseInfo(_3c),_3e=(new RegExp("^"+_3d.regexp+"$")).exec(_3b); -if(!_3e){ -return NaN; -} -var _3f=_3e[1]; -if(!_3e[1]){ -if(!_3e[2]){ -return NaN; -} -_3f=_3e[2]; -_3d.factor*=-1; -} -_3f=_3f.replace(new RegExp("["+_3d.group+"\\s\\xa0"+"]","g"),"").replace(_3d.decimal,"."); -return _3f*_3d.factor; -}; -dojo.number._realNumberRegexp=function(_40){ -_40=_40||{}; -if(!("places" in _40)){ -_40.places=Infinity; -} -if(typeof _40.decimal!="string"){ -_40.decimal="."; -} -if(!("fractional" in _40)||/^0/.test(_40.places)){ -_40.fractional=[true,false]; -} -if(!("exponent" in _40)){ -_40.exponent=[true,false]; -} -if(!("eSigned" in _40)){ -_40.eSigned=[true,false]; -} -var _41=dojo.number._integerRegexp(_40),_42=dojo.regexp.buildGroupRE(_40.fractional,function(q){ -var re=""; -if(q&&(_40.places!==0)){ -re="\\"+_40.decimal; -if(_40.places==Infinity){ -re="(?:"+re+"\\d+)?"; -}else{ -re+="\\d{"+_40.places+"}"; -} -} -return re; -},true); -var _43=dojo.regexp.buildGroupRE(_40.exponent,function(q){ -if(q){ -return "([eE]"+dojo.number._integerRegexp({signed:_40.eSigned})+")"; -} -return ""; -}); -var _44=_41+_42; -if(_42){ -_44="(?:(?:"+_44+")|(?:"+_42+"))"; -} -return _44+_43; -}; -dojo.number._integerRegexp=function(_45){ -_45=_45||{}; -if(!("signed" in _45)){ -_45.signed=[true,false]; -} -if(!("separator" in _45)){ -_45.separator=""; -}else{ -if(!("groupSize" in _45)){ -_45.groupSize=3; -} -} -var _46=dojo.regexp.buildGroupRE(_45.signed,function(q){ -return q?"[-+]":""; -},true); -var _47=dojo.regexp.buildGroupRE(_45.separator,function(sep){ -if(!sep){ -return "(?:\\d+)"; -} -sep=dojo.regexp.escapeString(sep); -if(sep==" "){ -sep="\\s"; -}else{ -if(sep==" "){ -sep="\\s\\xa0"; -} -} -var grp=_45.groupSize,_48=_45.groupSize2; -if(_48){ -var _49="(?:0|[1-9]\\d{0,"+(_48-1)+"}(?:["+sep+"]\\d{"+_48+"})*["+sep+"]\\d{"+grp+"})"; -return ((grp-_48)>0)?"(?:"+_49+"|(?:0|[1-9]\\d{0,"+(grp-1)+"}))":_49; -} -return "(?:0|[1-9]\\d{0,"+(grp-1)+"}(?:["+sep+"]\\d{"+grp+"})*)"; -},true); -return _46+_47; -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/package.json b/resources/library/interactive/barre_prof.wgt/dojo/package.json deleted file mode 100644 index 5855be51..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "dojo", - "directories": { - "lib": "." - }, - "main":"./lib/main-browser", - "description": "Dojo core is a powerful, lightweight library that makes common tasks quicker and easier. Animate elements, manipulate the DOM, and query with easy CSS syntax, all without sacrificing performance.", - "licenses": [ - { - "type": "AFLv2.1", - "url": "http://trac.dojotoolkit.org/browser/dojo/trunk/LICENSE#L43" - }, - { - "type": "BSD", - "url": "http://trac.dojotoolkit.org/browser/dojo/trunk/LICENSE#L13" - } - ], - "bugs": "http://bugs.dojotoolkit.org/", - "keywords": ["JavaScript", "Dojo", "Toolkit"], - "homepage": "http://dojotoolkit.org/" -} \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojo/parser.js b/resources/library/interactive/barre_prof.wgt/dojo/parser.js deleted file mode 100644 index 16c272a1..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/parser.js +++ /dev/null @@ -1,319 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.parser"]){ -dojo._hasResource["dojo.parser"]=true; -dojo.provide("dojo.parser"); -dojo.require("dojo.date.stamp"); -new Date("X"); -dojo.parser=new function(){ -var d=dojo; -function _1(_2){ -if(d.isString(_2)){ -return "string"; -} -if(typeof _2=="number"){ -return "number"; -} -if(typeof _2=="boolean"){ -return "boolean"; -} -if(d.isFunction(_2)){ -return "function"; -} -if(d.isArray(_2)){ -return "array"; -} -if(_2 instanceof Date){ -return "date"; -} -if(_2 instanceof d._Url){ -return "url"; -} -return "object"; -}; -function _3(_4,_5){ -switch(_5){ -case "string": -return _4; -case "number": -return _4.length?Number(_4):NaN; -case "boolean": -return typeof _4=="boolean"?_4:!(_4.toLowerCase()=="false"); -case "function": -if(d.isFunction(_4)){ -_4=_4.toString(); -_4=d.trim(_4.substring(_4.indexOf("{")+1,_4.length-1)); -} -try{ -if(_4===""||_4.search(/[^\w\.]+/i)!=-1){ -return new Function(_4); -}else{ -return d.getObject(_4,false)||new Function(_4); -} -} -catch(e){ -return new Function(); -} -case "array": -return _4?_4.split(/\s*,\s*/):[]; -case "date": -switch(_4){ -case "": -return new Date(""); -case "now": -return new Date(); -default: -return d.date.stamp.fromISOString(_4); -} -case "url": -return d.baseUrl+_4; -default: -return d.fromJson(_4); -} -}; -var _6={},_7={}; -d.connect(d,"extend",function(){ -_7={}; -}); -function _8(_9,_a){ -for(var _b in _9){ -if(_b.charAt(0)=="_"){ -continue; -} -if(_b in _6){ -continue; -} -_a[_b]=_1(_9[_b]); -} -return _a; -}; -function _c(_d,_e){ -var c=_7[_d]; -if(!c){ -var _f=d.getObject(_d),_10=null; -if(!_f){ -return null; -} -if(!_e){ -_10=_8(_f.prototype,{}); -} -c={cls:_f,params:_10}; -}else{ -if(!_e&&!c.params){ -c.params=_8(c.cls.prototype,{}); -} -} -return c; -}; -this._functionFromScript=function(_11,_12){ -var _13=""; -var _14=""; -var _15=(_11.getAttribute(_12+"args")||_11.getAttribute("args")); -if(_15){ -d.forEach(_15.split(/\s*,\s*/),function(_16,idx){ -_13+="var "+_16+" = arguments["+idx+"]; "; -}); -} -var _17=_11.getAttribute("with"); -if(_17&&_17.length){ -d.forEach(_17.split(/\s*,\s*/),function(_18){ -_13+="with("+_18+"){"; -_14+="}"; -}); -} -return new Function(_13+_11.innerHTML+_14); -}; -this.instantiate=function(_19,_1a,_1b){ -var _1c=[],_1a=_1a||{}; -_1b=_1b||{}; -var _1d=(_1b.scope||d._scopeName)+"Type",_1e="data-"+(_1b.scope||d._scopeName)+"-"; -d.forEach(_19,function(obj){ -if(!obj){ -return; -} -var _1f,_20,_21,_22,_23,_24; -if(obj.node){ -_1f=obj.node; -_20=obj.type; -_24=obj.fastpath; -_21=obj.clsInfo||(_20&&_c(_20,_24)); -_22=_21&&_21.cls; -_23=obj.scripts; -}else{ -_1f=obj; -_20=_1d in _1a?_1a[_1d]:_1f.getAttribute(_1d); -_21=_20&&_c(_20); -_22=_21&&_21.cls; -_23=(_22&&(_22._noScript||_22.prototype._noScript)?[]:d.query("> script[type^='dojo/']",_1f)); -} -if(!_21){ -throw new Error("Could not load class '"+_20); -} -var _25={}; -if(_1b.defaults){ -d._mixin(_25,_1b.defaults); -} -if(obj.inherited){ -d._mixin(_25,obj.inherited); -} -if(_24){ -var _26=_1f.getAttribute(_1e+"props"); -if(_26&&_26.length){ -try{ -_26=d.fromJson.call(_1b.propsThis,"{"+_26+"}"); -d._mixin(_25,_26); -} -catch(e){ -throw new Error(e.toString()+" in data-dojo-props='"+_26+"'"); -} -} -var _27=_1f.getAttribute(_1e+"attach-point"); -if(_27){ -_25.dojoAttachPoint=_27; -} -var _28=_1f.getAttribute(_1e+"attach-event"); -if(_28){ -_25.dojoAttachEvent=_28; -} -dojo.mixin(_25,_1a); -}else{ -var _29=_1f.attributes; -for(var _2a in _21.params){ -var _2b=_2a in _1a?{value:_1a[_2a],specified:true}:_29.getNamedItem(_2a); -if(!_2b||(!_2b.specified&&(!dojo.isIE||_2a.toLowerCase()!="value"))){ -continue; -} -var _2c=_2b.value; -switch(_2a){ -case "class": -_2c="className" in _1a?_1a.className:_1f.className; -break; -case "style": -_2c="style" in _1a?_1a.style:(_1f.style&&_1f.style.cssText); -} -var _2d=_21.params[_2a]; -if(typeof _2c=="string"){ -_25[_2a]=_3(_2c,_2d); -}else{ -_25[_2a]=_2c; -} -} -} -var _2e=[],_2f=[]; -d.forEach(_23,function(_30){ -_1f.removeChild(_30); -var _31=(_30.getAttribute(_1e+"event")||_30.getAttribute("event")),_20=_30.getAttribute("type"),nf=d.parser._functionFromScript(_30,_1e); -if(_31){ -if(_20=="dojo/connect"){ -_2e.push({event:_31,func:nf}); -}else{ -_25[_31]=nf; -} -}else{ -_2f.push(nf); -} -}); -var _32=_22.markupFactory||_22.prototype&&_22.prototype.markupFactory; -var _33=_32?_32(_25,_1f,_22):new _22(_25,_1f); -_1c.push(_33); -var _34=(_1f.getAttribute(_1e+"id")||_1f.getAttribute("jsId")); -if(_34){ -d.setObject(_34,_33); -} -d.forEach(_2e,function(_35){ -d.connect(_33,_35.event,null,_35.func); -}); -d.forEach(_2f,function(_36){ -_36.call(_33); -}); -}); -if(!_1a._started){ -d.forEach(_1c,function(_37){ -if(!_1b.noStart&&_37&&dojo.isFunction(_37.startup)&&!_37._started&&(!_37.getParent||!_37.getParent())){ -_37.startup(); -} -}); -} -return _1c; -}; -this.parse=function(_38,_39){ -var _3a; -if(!_39&&_38&&_38.rootNode){ -_39=_38; -_3a=_39.rootNode; -}else{ -_3a=_38; -} -_3a=_3a?dojo.byId(_3a):dojo.body(); -_39=_39||{}; -var _3b=(_39.scope||d._scopeName)+"Type",_3c="data-"+(_39.scope||d._scopeName)+"-"; -function _3d(_3e,_3f){ -var _40=dojo.clone(_3e.inherited); -dojo.forEach(["dir","lang"],function(_41){ -var val=_3e.node.getAttribute(_41); -if(val){ -_40[_41]=val; -} -}); -var _42=_3e.clsInfo&&!_3e.clsInfo.cls.prototype._noScript?_3e.scripts:null; -var _43=(!_3e.clsInfo||!_3e.clsInfo.cls.prototype.stopParser)||(_39&&_39.template); -for(var _44=_3e.node.firstChild;_44;_44=_44.nextSibling){ -if(_44.nodeType==1){ -var _45,_46=_43&&_44.getAttribute(_3c+"type"); -if(_46){ -_45=_46; -}else{ -_45=_43&&_44.getAttribute(_3b); -} -var _47=_46==_45; -if(_45){ -var _48={"type":_45,fastpath:_47,clsInfo:_c(_45,_47),node:_44,scripts:[],inherited:_40}; -_3f.push(_48); -_3d(_48,_3f); -}else{ -if(_42&&_44.nodeName.toLowerCase()=="script"){ -_45=_44.getAttribute("type"); -if(_45&&/^dojo\/\w/i.test(_45)){ -_42.push(_44); -} -}else{ -if(_43){ -_3d({node:_44,inherited:_40},_3f); -} -} -} -} -} -}; -var _49={}; -if(_39&&_39.inherited){ -for(var key in _39.inherited){ -if(_39.inherited[key]){ -_49[key]=_39.inherited[key]; -} -} -} -var _4a=[]; -_3d({node:_3a,inherited:_49},_4a); -var _4b=_39&&_39.template?{template:true}:null; -return this.instantiate(_4a,_4b,_39); -}; -}(); -(function(){ -var _4c=function(){ -if(dojo.config.parseOnLoad){ -dojo.parser.parse(); -} -}; -if(dojo.getObject("dijit.wai.onload")===dojo._loaders[0]){ -dojo._loaders.splice(1,0,_4c); -}else{ -dojo._loaders.unshift(_4c); -} -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/regexp.js b/resources/library/interactive/barre_prof.wgt/dojo/regexp.js deleted file mode 100644 index 784f24c4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/regexp.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.regexp"]){ -dojo._hasResource["dojo.regexp"]=true; -dojo.provide("dojo.regexp"); -dojo.getObject("regexp",true,dojo); -dojo.regexp.escapeString=function(_1,_2){ -return _1.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,function(ch){ -if(_2&&_2.indexOf(ch)!=-1){ -return ch; -} -return "\\"+ch; -}); -}; -dojo.regexp.buildGroupRE=function(_3,re,_4){ -if(!(_3 instanceof Array)){ -return re(_3); -} -var b=[]; -for(var i=0;i<_3.length;i++){ -b.push(re(_3[i])); -} -return dojo.regexp.group(b.join("|"),_4); -}; -dojo.regexp.group=function(_5,_6){ -return "("+(_6?"?:":"")+_5+")"; -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/LICENSE b/resources/library/interactive/barre_prof.wgt/dojo/resources/LICENSE deleted file mode 100644 index eb28b7e4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/resources/LICENSE +++ /dev/null @@ -1,30 +0,0 @@ -License Disclaimer: - -All contents of this directory are Copyright (c) the Dojo Foundation, with the -following exceptions: -------------------------------------------------------------------------------- - -dojo.css: - * parts Copyright (c) 2007, Yahoo! Inc. All rights reserved. - Distributed under the terms of the BSD License - -The Program includes all or portions of the following software which was obtained under the terms and conditions of the BSD License. - -http://developer.yahoo.com/yui/license.html - -Copyright (c) 2007, Yahoo! Inc. - All rights reserved. - Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - * Neither the name of Yahoo! Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without -specific prior written permission of Yahoo! Inc. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY - EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, -OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/_modules.js b/resources/library/interactive/barre_prof.wgt/dojo/resources/_modules.js deleted file mode 100644 index 1db122dc..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/resources/_modules.js +++ /dev/null @@ -1,7 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/blank.gif b/resources/library/interactive/barre_prof.wgt/dojo/resources/blank.gif deleted file mode 100644 index e565824a..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojo/resources/blank.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/blank.html b/resources/library/interactive/barre_prof.wgt/dojo/resources/blank.html deleted file mode 100644 index 40fe7705..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/resources/blank.html +++ /dev/null @@ -1 +0,0 @@ -<html><head><script>isLoaded = true;</script></head><body></body></html> diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/dnd.css b/resources/library/interactive/barre_prof.wgt/dojo/resources/dnd.css deleted file mode 100644 index def28fc9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/resources/dnd.css +++ /dev/null @@ -1,14 +0,0 @@ - -.dojoDndAvatar {font-size: 75%; color: black;} -.dojoDndAvatarHeader td {padding-left: 20px; padding-right: 4px;} -.dojoDndAvatarHeader {background: #ccc;} -.dojoDndAvatarItem {background: #eee;} -.dojoDndMove .dojoDndAvatarHeader {background-image: url(images/dndNoMove.png); background-repeat: no-repeat;} -.dojoDndCopy .dojoDndAvatarHeader {background-image: url(images/dndNoCopy.png); background-repeat: no-repeat;} -.dojoDndMove .dojoDndAvatarCanDrop .dojoDndAvatarHeader {background-image: url(images/dndMove.png); background-repeat: no-repeat;} -.dojoDndCopy .dojoDndAvatarCanDrop .dojoDndAvatarHeader {background-image: url(images/dndCopy.png); background-repeat: no-repeat;} -.dojoDndHandle {cursor: move;} -.dojoDndIgnore {cursor: default;} -.dijit_a11y .dojoDndAvatar { font-size: 1em; font-weight:bold;} -.dijit_a11y .dojoDndAvatarHeader td {padding-left:2px !important;} -.dijit_a11y .dojoDndAvatarHeader td span {padding-right: 5px;} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/dojo.css b/resources/library/interactive/barre_prof.wgt/dojo/resources/dojo.css deleted file mode 100644 index baf06cb7..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/resources/dojo.css +++ /dev/null @@ -1,98 +0,0 @@ - -body, div, dl, dt, dd, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td { - margin: 0; - padding: 0; -} -fieldset, img { - border: 0 none; -} -address, caption, cite, code, dfn, th, var { - font-style: normal; - font-weight: normal; -} -caption, th { - text-align: left; -} -q:before, q:after { - content:""; -} -abbr, acronym { - border:0; -} -body { - font: 12px Myriad,Helvetica,Tahoma,Arial,clean,sans-serif; - *font-size: 75%; -} -h1 { - font-size: 1.5em; - font-weight: normal; - line-height: 1em; - margin-top: 1em; - margin-bottom:0; -} -h2 { - font-size: 1.1667em; - font-weight: bold; - line-height: 1.286em; - margin-top: 1.929em; - margin-bottom:0.643em; -} -h3, h4, h5, h6 { - font-size: 1em; - font-weight: bold; - line-height: 1.5em; - margin-top: 1.5em; - margin-bottom: 0; -} -p { - font-size: 1em; - margin-top: 1.5em; - margin-bottom: 1.5em; - line-height: 1.5em; -} -blockquote { - font-size: 0.916em; - margin-top: 3.272em; - margin-bottom: 3.272em; - line-height: 1.636em; - padding: 1.636em; - border-top: 1px solid #ccc; - border-bottom: 1px solid #ccc; -} -ol li, ul li { - font-size: 1em; - line-height: 1.5em; - margin: 0; -} -pre, code { - font-size:115%; - *font-size:100%; - font-family: Courier, "Courier New"; - background-color: #efefef; - border: 1px solid #ccc; -} -pre { - border-width: 1px 0; - padding: 1.5em; -} -table { font-size:100%; } -.dojoTabular { - border-collapse: collapse; - border-spacing: 0; - border: 1px solid #ccc; - margin: 0 1.5em; -} -.dojoTabular th { - text-align: center; - font-weight: bold; -} -.dojoTabular thead, -.dojoTabular tfoot { - background-color: #efefef; - border: 1px solid #ccc; - border-width: 1px 0; -} -.dojoTabular th, -.dojoTabular td { - padding: 0.25em 0.5em; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/iframe_history.html b/resources/library/interactive/barre_prof.wgt/dojo/resources/iframe_history.html deleted file mode 100644 index 2c5acce2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/resources/iframe_history.html +++ /dev/null @@ -1,44 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> -<head> - <title></title> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <script type="text/javascript"> - // <!-- - var noInit = false; - - function init(){ - if(noInit){ return; } - var hasParentDojo = false; - try{ - hasParentDojo = window.parent != window && window.parent["dojo"]; - }catch(e){ - alert("Initializing iframe_history.html failed. If you are using a cross-domain Dojo build," - + " please save iframe_history.html to your domain and set djConfig.dojoIframeHistoryUrl" - + " to the path on your domain to iframe_history.html"); - throw e; - } - - if(hasParentDojo){ - //Set the page title so IE history shows up with a somewhat correct name. - document.title = window.parent.document.title; - - //Notify parent that we are loaded. - var pdj = window.parent.dojo; - if(pdj["back"]){ - pdj.back._iframeLoaded(null, window.location); - } - } - - } - // --> - </script> -</head> -<body onload="try{ init(); }catch(e){ alert(e); }"> - <h4>The Dojo Toolkit -- iframe_history.html</h4> - - <p>This file is used in Dojo's back/fwd button management.</p> -</body> -</html> diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndCopy.png b/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndCopy.png deleted file mode 100644 index 660ca4fb..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndCopy.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndMove.png b/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndMove.png deleted file mode 100644 index 74af29c0..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndMove.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndNoCopy.png b/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndNoCopy.png deleted file mode 100644 index 998c2f26..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndNoCopy.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndNoMove.png b/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndNoMove.png deleted file mode 100644 index e909173e..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojo/resources/images/dndNoMove.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojo/robot.js b/resources/library/interactive/barre_prof.wgt/dojo/robot.js deleted file mode 100644 index 8f8f9f7f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/robot.js +++ /dev/null @@ -1,89 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.robot"]){ -dojo._hasResource["dojo.robot"]=true; -dojo.provide("dojo.robot"); -dojo.require("doh.robot"); -dojo.require("dojo.window"); -dojo.experimental("dojo.robot"); -(function(){ -dojo.mixin(doh.robot,{_resolveNode:function(n){ -if(typeof n=="function"){ -n=n(); -} -return n?dojo.byId(n):null; -},_scrollIntoView:function(n){ -var d=dojo,dr=doh.robot,p=null; -d.forEach(dr._getWindowChain(n),function(w){ -d.withGlobal(w,function(){ -var p2=d.position(n,false),b=d._getPadBorderExtents(n),_1=null; -if(!p){ -p=p2; -}else{ -_1=p; -p={x:p.x+p2.x+b.l,y:p.y+p2.y+b.t,w:p.w,h:p.h}; -} -dojo.window.scrollIntoView(n,p); -p2=d.position(n,false); -if(!_1){ -p=p2; -}else{ -p={x:_1.x+p2.x+b.l,y:_1.y+p2.y+b.t,w:p.w,h:p.h}; -} -n=w.frameElement; -}); -}); -},_position:function(n){ -var d=dojo,p=null,M=Math.max,m=Math.min; -d.forEach(doh.robot._getWindowChain(n),function(w){ -d.withGlobal(w,function(){ -var p2=d.position(n,false),b=d._getPadBorderExtents(n); -if(!p){ -p=p2; -}else{ -var _2; -d.withGlobal(n.contentWindow,function(){ -_2=dojo.window.getBox(); -}); -p2.r=p2.x+_2.w; -p2.b=p2.y+_2.h; -p={x:M(p.x+p2.x,p2.x)+b.l,y:M(p.y+p2.y,p2.y)+b.t,r:m(p.x+p2.x+p.w,p2.r)+b.l,b:m(p.y+p2.y+p.h,p2.b)+b.t}; -p.w=p.r-p.x; -p.h=p.b-p.y; -} -n=w.frameElement; -}); -}); -return p; -},_getWindowChain:function(n){ -var cW=dojo.window.get(n.ownerDocument); -var _3=[cW]; -var f=cW.frameElement; -return (cW==dojo.global||f==null)?_3:_3.concat(doh.robot._getWindowChain(f)); -},scrollIntoView:function(_4,_5){ -doh.robot.sequence(function(){ -doh.robot._scrollIntoView(doh.robot._resolveNode(_4)); -},_5); -},mouseMoveAt:function(_6,_7,_8,_9,_a){ -doh.robot._assertRobot(); -_8=_8||100; -this.sequence(function(){ -_6=doh.robot._resolveNode(_6); -doh.robot._scrollIntoView(_6); -var _b=doh.robot._position(_6); -if(_a===undefined){ -_9=_b.w/2; -_a=_b.h/2; -} -var x=_b.x+_9; -var y=_b.y+_a; -doh.robot._mouseMove(x,y,false,_8); -},_7,_8); -}}); -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/robotx.js b/resources/library/interactive/barre_prof.wgt/dojo/robotx.js deleted file mode 100644 index 18d08fda..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/robotx.js +++ /dev/null @@ -1,101 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.robotx"]){ -dojo._hasResource["dojo.robotx"]=true; -dojo.provide("dojo.robotx"); -dojo.require("dojo.robot"); -dojo.experimental("dojo.robotx"); -(function(){ -var _1=null; -var _2=dojo.connect(doh,"_groupStarted",function(){ -dojo.disconnect(_2); -_1.style.visibility="visible"; -}); -var _3=function(){ -dojo.addOnLoad(function(){ -var _4={overflow:dojo.isWebKit?"hidden":"visible",margin:"0px",borderWidth:"0px",height:"100%",width:"100%"}; -dojo.style(document.documentElement,_4); -dojo.style(document.body,_4); -document.body.appendChild(_1); -var _5=document.createElement("base"); -_5.href=_1.src; -document.getElementsByTagName("head")[0].appendChild(_5); -}); -}; -var _6=false; -var _7=null; -var _8=doh.robot._run; -doh.robot._run=function(_9){ -_6=true; -_7=_9; -doh.robot._run=_8; -if(_1.src){ -_3(); -} -}; -var _a=function(){ -doh.robot._updateDocument(); -_a=null; -var _b=(document.compatMode=="BackCompat")?document.body:document.documentElement; -var _c=document.getElementById("robotconsole").offsetHeight; -if(_c){ -_1.style.height=(_b.clientHeight-_c)+"px"; -} -if(_1.contentWindow.dojo){ -_1.contentWindow.dojo.addOnLoad(function(){ -doh.robot._run(_7); -}); -}else{ -doh.robot._run(_7); -} -}; -var _d=function(){ -if(_a){ -_a(); -} -var _e=dojo.connect(dojo.body(),"onunload",function(){ -dojo.global=window; -dojo.doc=document; -dojo.disconnect(_e); -}); -}; -dojo.config.debugContainerId="robotconsole"; -dojo.config.debugHeight=dojo.config.debugHeight||200; -document.write("<div id=\"robotconsole\" style=\"position:absolute;left:0px;bottom:0px;width:100%;\"></div>"); -_1=document.createElement("iframe"); -_1.setAttribute("ALLOWTRANSPARENCY","true"); -_1.scrolling=dojo.isIE?"yes":"auto"; -dojo.style(_1,{visibility:"hidden",border:"0px none",padding:"0px",margin:"0px",position:"absolute",left:"0px",top:"0px",width:"100%",height:"100%"}); -if(_1["attachEvent"]!==undefined){ -_1.attachEvent("onload",_d); -}else{ -dojo.connect(_1,"onload",_d); -} -dojo.mixin(doh.robot,{_updateDocument:function(){ -dojo.setContext(_1.contentWindow,_1.contentWindow.document); -var _f=dojo.global; -if(_f["dojo"]){ -dojo._topics=_f.dojo._topics; -} -},initRobot:function(url){ -_1.src=url; -if(_6){ -_3(); -} -},waitForPageToLoad:function(_10){ -var d=new doh.Deferred(); -_a=function(){ -_a=null; -doh.robot._updateDocument(); -d.callback(true); -}; -_10(); -return d; -}}); -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/string.js b/resources/library/interactive/barre_prof.wgt/dojo/string.js deleted file mode 100644 index 0e434386..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/string.js +++ /dev/null @@ -1,58 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.string"]){ -dojo._hasResource["dojo.string"]=true; -dojo.provide("dojo.string"); -dojo.getObject("string",true,dojo); -dojo.string.rep=function(_1,_2){ -if(_2<=0||!_1){ -return ""; -} -var _3=[]; -for(;;){ -if(_2&1){ -_3.push(_1); -} -if(!(_2>>=1)){ -break; -} -_1+=_1; -} -return _3.join(""); -}; -dojo.string.pad=function(_4,_5,ch,_6){ -if(!ch){ -ch="0"; -} -var _7=String(_4),_8=dojo.string.rep(ch,Math.ceil((_5-_7.length)/ch.length)); -return _6?_7+_8:_8+_7; -}; -dojo.string.substitute=function(_9,_a,_b,_c){ -_c=_c||dojo.global; -_b=_b?dojo.hitch(_c,_b):function(v){ -return v; -}; -return _9.replace(/\$\{([^\s\:\}]+)(?:\:([^\s\:\}]+))?\}/g,function(_d,_e,_f){ -var _10=dojo.getObject(_e,false,_a); -if(_f){ -_10=dojo.getObject(_f,false,_c).call(_c,_10,_e); -} -return _b(_10,_e).toString(); -}); -}; -dojo.string.trim=String.prototype.trim?dojo.trim:function(str){ -str=str.replace(/^\s+/,""); -for(var i=str.length-1;i>=0;i--){ -if(/\S/.test(str.charAt(i))){ -str=str.substring(0,i+1); -break; -} -} -return str; -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/uacss.js b/resources/library/interactive/barre_prof.wgt/dojo/uacss.js deleted file mode 100644 index 3fff7d1f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/uacss.js +++ /dev/null @@ -1,28 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.uacss"]){ -dojo._hasResource["dojo.uacss"]=true; -dojo.provide("dojo.uacss"); -(function(){ -var d=dojo,_1=d.doc.documentElement,ie=d.isIE,_2=d.isOpera,_3=Math.floor,ff=d.isFF,_4=d.boxModel.replace(/-/,""),_5={dj_ie:ie,dj_ie6:_3(ie)==6,dj_ie7:_3(ie)==7,dj_ie8:_3(ie)==8,dj_ie9:_3(ie)==9,dj_quirks:d.isQuirks,dj_iequirks:ie&&d.isQuirks,dj_opera:_2,dj_khtml:d.isKhtml,dj_webkit:d.isWebKit,dj_safari:d.isSafari,dj_chrome:d.isChrome,dj_gecko:d.isMozilla,dj_ff3:_3(ff)==3}; -_5["dj_"+_4]=true; -var _6=""; -for(var _7 in _5){ -if(_5[_7]){ -_6+=_7+" "; -} -} -_1.className=d.trim(_1.className+" "+_6); -dojo._loaders.unshift(function(){ -if(!dojo._isBodyLtr()){ -var _8="dj_rtl dijitRtl "+_6.replace(/ /g,"-rtl "); -_1.className=d.trim(_1.className+" "+_8); -} -}); -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojo/window.js b/resources/library/interactive/barre_prof.wgt/dojo/window.js deleted file mode 100644 index d5a6408f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojo/window.js +++ /dev/null @@ -1,113 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojo.window"]){ -dojo._hasResource["dojo.window"]=true; -dojo.provide("dojo.window"); -dojo.getObject("window",true,dojo); -dojo.window.getBox=function(){ -var _1=(dojo.doc.compatMode=="BackCompat")?dojo.body():dojo.doc.documentElement; -var _2=dojo._docScroll(); -return {w:_1.clientWidth,h:_1.clientHeight,l:_2.x,t:_2.y}; -}; -dojo.window.get=function(_3){ -if(dojo.isIE&&window!==document.parentWindow){ -_3.parentWindow.execScript("document._parentWindow = window;","Javascript"); -var _4=_3._parentWindow; -_3._parentWindow=null; -return _4; -} -return _3.parentWindow||_3.defaultView; -}; -dojo.window.scrollIntoView=function(_5,_6){ -try{ -_5=dojo.byId(_5); -var _7=_5.ownerDocument||dojo.doc,_8=_7.body||dojo.body(),_9=_7.documentElement||_8.parentNode,_a=dojo.isIE,_b=dojo.isWebKit; -if((!(dojo.isMoz||_a||_b||dojo.isOpera)||_5==_8||_5==_9)&&(typeof _5.scrollIntoView!="undefined")){ -_5.scrollIntoView(false); -return; -} -var _c=_7.compatMode=="BackCompat",_d=(_a>=9&&_5.ownerDocument.parentWindow.frameElement)?((_9.clientHeight>0&&_9.clientWidth>0&&(_8.clientHeight==0||_8.clientWidth==0||_8.clientHeight>_9.clientHeight||_8.clientWidth>_9.clientWidth))?_9:_8):(_c?_8:_9),_e=_b?_8:_d,_f=_d.clientWidth,_10=_d.clientHeight,rtl=!dojo._isBodyLtr(),_11=_6||dojo.position(_5),el=_5.parentNode,_12=function(el){ -return ((_a<=6||(_a&&_c))?false:(dojo.style(el,"position").toLowerCase()=="fixed")); -}; -if(_12(_5)){ -return; -} -while(el){ -if(el==_8){ -el=_e; -} -var _13=dojo.position(el),_14=_12(el); -if(el==_e){ -_13.w=_f; -_13.h=_10; -if(_e==_9&&_a&&rtl){ -_13.x+=_e.offsetWidth-_13.w; -} -if(_13.x<0||!_a){ -_13.x=0; -} -if(_13.y<0||!_a){ -_13.y=0; -} -}else{ -var pb=dojo._getPadBorderExtents(el); -_13.w-=pb.w; -_13.h-=pb.h; -_13.x+=pb.l; -_13.y+=pb.t; -var _15=el.clientWidth,_16=_13.w-_15; -if(_15>0&&_16>0){ -_13.w=_15; -_13.x+=(rtl&&(_a||el.clientLeft>pb.l))?_16:0; -} -_15=el.clientHeight; -_16=_13.h-_15; -if(_15>0&&_16>0){ -_13.h=_15; -} -} -if(_14){ -if(_13.y<0){ -_13.h+=_13.y; -_13.y=0; -} -if(_13.x<0){ -_13.w+=_13.x; -_13.x=0; -} -if(_13.y+_13.h>_10){ -_13.h=_10-_13.y; -} -if(_13.x+_13.w>_f){ -_13.w=_f-_13.x; -} -} -var l=_11.x-_13.x,t=_11.y-Math.max(_13.y,0),r=l+_11.w-_13.w,bot=t+_11.h-_13.h; -if(r*l>0){ -var s=Math[l<0?"max":"min"](l,r); -if(rtl&&((_a==8&&!_c)||_a>=9)){ -s=-s; -} -_11.x+=el.scrollLeft; -el.scrollLeft+=s; -_11.x-=el.scrollLeft; -} -if(bot*t>0){ -_11.y+=el.scrollTop; -el.scrollTop+=Math[t<0?"max":"min"](t,bot); -_11.y-=el.scrollTop; -} -el=(el!=_e)&&!_14&&el.parentNode; -} -} -catch(error){ -console.error("scrollIntoView: "+error); -_5.scrollIntoView(false); -} -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/Breadcrumb.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/Breadcrumb.js deleted file mode 100644 index fb71da56..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/Breadcrumb.js +++ /dev/null @@ -1,245 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.editor.plugins.Breadcrumb"]){ -dojo._hasResource["dojox.editor.plugins.Breadcrumb"]=true; -dojo.provide("dojox.editor.plugins.Breadcrumb"); -dojo.require("dojo.string"); -dojo.require("dijit.Toolbar"); -dojo.require("dijit.Menu"); -dojo.require("dijit.MenuItem"); -dojo.require("dijit.MenuSeparator"); -dojo.require("dijit._editor.range"); -dojo.require("dijit._editor.selection"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit.form.Button"); -dojo.require("dojo.i18n"); -dojo.requireLocalization("dojox.editor.plugins","Breadcrumb",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.experimental("dojox.editor.plugins.Breadcrumb"); -dojo.declare("dojox.editor.plugins._BreadcrumbMenuTitle",[dijit._Widget,dijit._Templated,dijit._Contained],{templateString:"<tr><td dojoAttachPoint=\"title\" colspan=\"4\" class=\"dijitToolbar\" style=\"font-weight: bold; padding: 3px;\"></td></tr>",menuTitle:"",postCreate:function(){ -dojo.setSelectable(this.domNode,false); -var _1=this.id+"_text"; -dijit.setWaiState(this.domNode,"labelledby",_1); -},_setMenuTitleAttr:function(_2){ -this.title.innerHTML=_2; -},_getMenuTitleAttr:function(_3){ -return this.title.innerHTML; -}}); -dojo.declare("dojox.editor.plugins.Breadcrumb",dijit._editor._Plugin,{_menu:null,breadcrumbBar:null,setEditor:function(_4){ -this.editor=_4; -this._buttons=[]; -this.breadcrumbBar=new dijit.Toolbar(); -var _5=dojo.i18n.getLocalization("dojox.editor.plugins","Breadcrumb"); -this._titleTemplate=_5.nodeActions; -dojo.place(this.breadcrumbBar.domNode,_4.footer); -this.editor.onLoadDeferred.addCallback(dojo.hitch(this,function(){ -this._menu=new dijit.Menu({}); -dojo.addClass(this.breadcrumbBar.domNode,"dojoxEditorBreadcrumbArrow"); -var _6=this; -var _7=new dijit.form.ComboButton({showLabel:true,label:"body",_selNode:_4.editNode,dropDown:this._menu,onClick:dojo.hitch(this,function(){ -this._menuTarget=_4.editNode; -this._selectContents(); -})}); -this._menuTitle=new dojox.editor.plugins._BreadcrumbMenuTitle({menuTitle:_5.nodeActions}); -this._selCMenu=new dijit.MenuItem({label:_5.selectContents,onClick:dojo.hitch(this,this._selectContents)}); -this._delCMenu=new dijit.MenuItem({label:_5.deleteContents,onClick:dojo.hitch(this,this._deleteContents)}); -this._selEMenu=new dijit.MenuItem({label:_5.selectElement,onClick:dojo.hitch(this,this._selectElement)}); -this._delEMenu=new dijit.MenuItem({label:_5.deleteElement,onClick:dojo.hitch(this,this._deleteElement)}); -this._moveSMenu=new dijit.MenuItem({label:_5.moveStart,onClick:dojo.hitch(this,this._moveCToStart)}); -this._moveEMenu=new dijit.MenuItem({label:_5.moveEnd,onClick:dojo.hitch(this,this._moveCToEnd)}); -this._menu.addChild(this._menuTitle); -this._menu.addChild(this._selCMenu); -this._menu.addChild(this._delCMenu); -this._menu.addChild(new dijit.MenuSeparator({})); -this._menu.addChild(this._selEMenu); -this._menu.addChild(this._delEMenu); -this._menu.addChild(new dijit.MenuSeparator({})); -this._menu.addChild(this._moveSMenu); -this._menu.addChild(this._moveEMenu); -_7._ddConnect=dojo.connect(_7,"openDropDown",dojo.hitch(this,function(){ -this._menuTarget=_7._selNode; -this._menuTitle.set("menuTitle",dojo.string.substitute(this._titleTemplate,{"nodeName":"<body>"})); -this._selEMenu.set("disabled",true); -this._delEMenu.set("disabled",true); -this._selCMenu.set("disabled",false); -this._delCMenu.set("disabled",false); -this._moveSMenu.set("disabled",false); -this._moveEMenu.set("disabled",false); -})); -this.breadcrumbBar.addChild(_7); -this.connect(this.editor,"onNormalizedDisplayChanged","updateState"); -})); -this.breadcrumbBar.startup(); -if(dojo.isIE){ -setTimeout(dojo.hitch(this,function(){ -this.breadcrumbBar.domNode.className=this.breadcrumbBar.domNode.className; -}),100); -} -},_selectContents:function(){ -this.editor.focus(); -if(this._menuTarget){ -var _8=this._menuTarget.tagName.toLowerCase(); -switch(_8){ -case "br": -case "hr": -case "img": -case "input": -case "base": -case "meta": -case "area": -case "basefont": -break; -default: -try{ -dojo.withGlobal(this.editor.window,"collapse",dijit._editor.selection,[null]); -dojo.withGlobal(this.editor.window,"selectElementChildren",dijit._editor.selection,[this._menuTarget]); -this.editor.onDisplayChanged(); -} -catch(e){ -} -} -} -},_deleteContents:function(){ -if(this._menuTarget){ -this.editor.beginEditing(); -this._selectContents(); -dojo.withGlobal(this.editor.window,"remove",dijit._editor.selection,[this._menuTarget]); -this.editor.endEditing(); -this._updateBreadcrumb(); -this.editor.onDisplayChanged(); -} -},_selectElement:function(){ -this.editor.focus(); -if(this._menuTarget){ -dojo.withGlobal(this.editor.window,"collapse",dijit._editor.selection,[null]); -dojo.withGlobal(this.editor.window,"selectElement",dijit._editor.selection,[this._menuTarget]); -this.editor.onDisplayChanged(); -} -},_deleteElement:function(){ -if(this._menuTarget){ -this.editor.beginEditing(); -this._selectElement(); -dojo.withGlobal(this.editor.window,"remove",dijit._editor.selection,[this._menuTarget]); -this.editor.endEditing(); -this._updateBreadcrumb(); -this.editor.onDisplayChanged(); -} -},_moveCToStart:function(){ -this.editor.focus(); -if(this._menuTarget){ -this._selectContents(); -dojo.withGlobal(this.editor.window,"collapse",dijit._editor.selection,[true]); -} -},_moveCToEnd:function(){ -this.editor.focus(); -if(this._menuTarget){ -this._selectContents(); -dojo.withGlobal(this.editor.window,"collapse",dijit._editor.selection,[false]); -} -},_updateBreadcrumb:function(){ -var ed=this.editor; -if(ed.window){ -var _9=dijit.range.getSelection(ed.window); -if(_9&&_9.rangeCount>0){ -var _a=_9.getRangeAt(0); -var _b=dojo.withGlobal(ed.window,"getSelectedElement",dijit._editor.selection)||_a.startContainer; -var _c=[]; -if(_b&&_b.ownerDocument===ed.document){ -while(_b&&_b!==ed.editNode&&_b!=ed.document.body&&_b!=ed.document){ -if(_b.nodeType===1){ -_c.push({type:_b.tagName.toLowerCase(),node:_b}); -} -_b=_b.parentNode; -} -_c=_c.reverse(); -while(this._buttons.length){ -var db=this._buttons.pop(); -dojo.disconnect(db._ddConnect); -this.breadcrumbBar.removeChild(db); -} -this._buttons=[]; -var i; -var _d=this; -for(i=0;i<_c.length;i++){ -var bc=_c[i]; -var b=new dijit.form.ComboButton({showLabel:true,label:bc.type,_selNode:bc.node,dropDown:this._menu,onClick:function(){ -_d._menuTarget=this._selNode; -_d._selectContents(); -}}); -b._ddConnect=dojo.connect(b,"openDropDown",dojo.hitch(b,function(){ -_d._menuTarget=this._selNode; -var _e=_d._menuTarget.tagName.toLowerCase(); -var _f=dojo.string.substitute(_d._titleTemplate,{"nodeName":"<"+_e+">"}); -_d._menuTitle.set("menuTitle",_f); -switch(_e){ -case "br": -case "hr": -case "img": -case "input": -case "base": -case "meta": -case "area": -case "basefont": -_d._selCMenu.set("disabled",true); -_d._delCMenu.set("disabled",true); -_d._moveSMenu.set("disabled",true); -_d._moveEMenu.set("disabled",true); -_d._selEMenu.set("disabled",false); -_d._delEMenu.set("disabled",false); -break; -default: -_d._selCMenu.set("disabled",false); -_d._delCMenu.set("disabled",false); -_d._selEMenu.set("disabled",false); -_d._delEMenu.set("disabled",false); -_d._moveSMenu.set("disabled",false); -_d._moveEMenu.set("disabled",false); -} -})); -this._buttons.push(b); -this.breadcrumbBar.addChild(b); -} -if(dojo.isIE){ -this.breadcrumbBar.domNode.className=this.breadcrumbBar.domNode.className; -} -} -} -} -},updateState:function(){ -if(dojo.style(this.editor.iframe,"display")==="none"||this.get("disabled")){ -dojo.style(this.breadcrumbBar.domNode,"display","none"); -}else{ -if(dojo.style(this.breadcrumbBar.domNode,"display")==="none"){ -dojo.style(this.breadcrumbBar.domNode,"display","block"); -} -this._updateBreadcrumb(); -var _10=dojo.marginBox(this.editor.domNode); -this.editor.resize({h:_10.h}); -} -},destroy:function(){ -if(this.breadcrumbBar){ -this.breadcrumbBar.destroyRecursive(); -this.breadcrumbBar=null; -} -if(this._menu){ -this._menu.destroyRecursive(); -delete this._menu; -} -this._buttons=null; -delete this.editor.breadcrumbBar; -this.inherited(arguments); -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -var _11=o.args.name.toLowerCase(); -if(_11==="breadcrumb"){ -o.plugin=new dojox.editor.plugins.Breadcrumb({}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/CollapsibleToolbar.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/CollapsibleToolbar.js deleted file mode 100644 index bcaa69f8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/CollapsibleToolbar.js +++ /dev/null @@ -1,92 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.editor.plugins.CollapsibleToolbar"]){ -dojo._hasResource["dojox.editor.plugins.CollapsibleToolbar"]=true; -dojo.provide("dojox.editor.plugins.CollapsibleToolbar"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Templated"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit.form.Button"); -dojo.require("dojo.i18n"); -dojo.requireLocalization("dojox.editor.plugins","CollapsibleToolbar",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dojox.editor.plugins._CollapsibleToolbarButton",[dijit._Widget,dijit._Templated],{templateString:"<div tabindex='0' role='button' title='${title}' class='${buttonClass}' "+"dojoAttachEvent='ondijitclick: onClick'><span class='${textClass}'>${text}</span></div>",title:"",buttonClass:"",text:"",textClass:"",onClick:function(e){ -}}); -dojo.declare("dojox.editor.plugins.CollapsibleToolbar",dijit._editor._Plugin,{_myWidgets:null,setEditor:function(_1){ -this.editor=_1; -this._constructContainer(); -},_constructContainer:function(){ -var _2=dojo.i18n.getLocalization("dojox.editor.plugins","CollapsibleToolbar"); -this._myWidgets=[]; -var _3=dojo.create("table",{style:{width:"100%"},tabindex:-1,"class":"dojoxCollapsibleToolbarContainer"}); -var _4=dojo.create("tbody",{tabindex:-1},_3); -var _5=dojo.create("tr",{tabindex:-1},_4); -var _6=dojo.create("td",{"class":"dojoxCollapsibleToolbarControl",tabindex:-1},_5); -var _7=dojo.create("td",{"class":"dojoxCollapsibleToolbarControl",tabindex:-1},_5); -var _8=dojo.create("td",{style:{width:"100%"},tabindex:-1},_5); -var m=dojo.create("span",{style:{width:"100%"},tabindex:-1},_8); -var _9=new dojox.editor.plugins._CollapsibleToolbarButton({buttonClass:"dojoxCollapsibleToolbarCollapse",title:_2.collapse,text:"-",textClass:"dojoxCollapsibleToolbarCollapseText"}); -dojo.place(_9.domNode,_6); -var _a=new dojox.editor.plugins._CollapsibleToolbarButton({buttonClass:"dojoxCollapsibleToolbarExpand",title:_2.expand,text:"+",textClass:"dojoxCollapsibleToolbarExpandText"}); -dojo.place(_a.domNode,_7); -this._myWidgets.push(_9); -this._myWidgets.push(_a); -dojo.style(_7,"display","none"); -dojo.place(_3,this.editor.toolbar.domNode,"after"); -dojo.place(this.editor.toolbar.domNode,m); -this.openTd=_6; -this.closeTd=_7; -this.menu=m; -this.connect(_9,"onClick","_onClose"); -this.connect(_a,"onClick","_onOpen"); -},_onClose:function(e){ -if(e){ -dojo.stopEvent(e); -} -var _b=dojo.marginBox(this.editor.domNode); -dojo.style(this.openTd,"display","none"); -dojo.style(this.closeTd,"display",""); -dojo.style(this.menu,"display","none"); -this.editor.resize({h:_b.h}); -if(dojo.isIE){ -this.editor.header.className=this.editor.header.className; -this.editor.footer.className=this.editor.footer.className; -} -dijit.focus(this.closeTd.firstChild); -},_onOpen:function(e){ -if(e){ -dojo.stopEvent(e); -} -var _c=dojo.marginBox(this.editor.domNode); -dojo.style(this.closeTd,"display","none"); -dojo.style(this.openTd,"display",""); -dojo.style(this.menu,"display",""); -this.editor.resize({h:_c.h}); -if(dojo.isIE){ -this.editor.header.className=this.editor.header.className; -this.editor.footer.className=this.editor.footer.className; -} -dijit.focus(this.openTd.firstChild); -},destroy:function(){ -this.inherited(arguments); -if(this._myWidgets){ -while(this._myWidgets.length){ -this._myWidgets.pop().destroy(); -} -delete this._myWidgets; -} -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -var _d=o.args.name.toLowerCase(); -if(_d==="collapsibletoolbar"){ -o.plugin=new dojox.editor.plugins.CollapsibleToolbar({}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/FindReplace.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/FindReplace.js deleted file mode 100644 index 3ced6d98..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/FindReplace.js +++ /dev/null @@ -1,394 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.editor.plugins.FindReplace"]){ -dojo._hasResource["dojox.editor.plugins.FindReplace"]=true; -dojo.provide("dojox.editor.plugins.FindReplace"); -dojo.require("dojo.string"); -dojo.require("dijit.TooltipDialog"); -dojo.require("dijit.Toolbar"); -dojo.require("dijit.form.CheckBox"); -dojo.require("dijit.form.TextBox"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit.form.Button"); -dojo.require("dojox.editor.plugins.ToolbarLineBreak"); -dojo.require("dojo.i18n"); -dojo.requireLocalization("dojox.editor.plugins","FindReplace",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.experimental("dojox.editor.plugins.FindReplace"); -dojo.declare("dojox.editor.plugins._FindReplaceCloseBox",[dijit._Widget,dijit._Templated],{btnId:"",widget:null,widgetsInTemplate:true,templateString:"<span style='float: right' class='dijitInline' tabindex='-1'>"+"<button class='dijit dijitReset dijitInline' "+"id='${btnId}' dojoAttachPoint='button' dojoType='dijit.form.Button' tabindex='-1' iconClass='dijitEditorIconsFindReplaceClose' showLabel='false'>X</button>"+"</span>",postMixInProperties:function(){ -this.id=dijit.getUniqueId(this.declaredClass.replace(/\./g,"_")); -this.btnId=this.id+"_close"; -this.inherited(arguments); -},startup:function(){ -this.connect(this.button,"onClick","onClick"); -},onClick:function(){ -}}); -dojo.declare("dojox.editor.plugins._FindReplaceTextBox",[dijit._Widget,dijit._Templated],{textId:"",label:"",toolTip:"",widget:null,widgetsInTemplate:true,templateString:"<span style='white-space: nowrap' class='dijit dijitReset dijitInline dijitEditorFindReplaceTextBox' "+"title='${tooltip}' tabindex='-1'>"+"<label class='dijitLeft dijitInline' for='${textId}' tabindex='-1'>${label}</label>"+"<input dojoType='dijit.form.TextBox' required='false' intermediateChanges='true' class='focusTextBox'"+"tabIndex='0' id='${textId}' dojoAttachPoint='textBox, focusNode' value='' dojoAttachEvent='onKeyPress: _onKeyPress'/>"+"</span>",postMixInProperties:function(){ -this.id=dijit.getUniqueId(this.declaredClass.replace(/\./g,"_")); -this.textId=this.id+"_text"; -this.inherited(arguments); -},postCreate:function(){ -this.textBox.set("value",""); -this.disabled=this.textBox.get("disabled"); -this.connect(this.textBox,"onChange","onChange"); -},_setValueAttr:function(_1){ -this.value=_1; -this.textBox.set("value",_1); -},focus:function(){ -this.textBox.focus(); -},_setDisabledAttr:function(_2){ -this.disabled=_2; -this.textBox.set("disabled",_2); -},onChange:function(_3){ -this.value=_3; -},_onKeyPress:function(_4){ -var _5=0; -var _6=0; -if(_4.target&&!_4.ctrlKey&&!_4.altKey&&!_4.shiftKey){ -if(_4.keyCode==dojo.keys.LEFT_ARROW){ -_5=_4.target.selectionStart; -_6=_4.target.selectionEnd; -if(_5<_6){ -dijit.selectInputText(_4.target,_5,_5); -dojo.stopEvent(_4); -} -}else{ -if(_4.keyCode==dojo.keys.RIGHT_ARROW){ -_5=_4.target.selectionStart; -_6=_4.target.selectionEnd; -if(_5<_6){ -dijit.selectInputText(_4.target,_6,_6); -dojo.stopEvent(_4); -} -} -} -} -}}); -dojo.declare("dojox.editor.plugins._FindReplaceCheckBox",[dijit._Widget,dijit._Templated],{checkId:"",label:"",tooltip:"",widget:null,widgetsInTemplate:true,templateString:"<span style='white-space: nowrap' tabindex='-1' "+"class='dijit dijitReset dijitInline dijitEditorFindReplaceCheckBox' title='${tooltip}' >"+"<input dojoType='dijit.form.CheckBox' required=false "+"tabIndex='0' id='${checkId}' dojoAttachPoint='checkBox, focusNode' value=''/>"+"<label tabindex='-1' class='dijitLeft dijitInline' for='${checkId}'>${label}</label>"+"</span>",postMixInProperties:function(){ -this.id=dijit.getUniqueId(this.declaredClass.replace(/\./g,"_")); -this.checkId=this.id+"_check"; -this.inherited(arguments); -},postCreate:function(){ -this.checkBox.set("checked",false); -this.disabled=this.checkBox.get("disabled"); -this.checkBox.isFocusable=function(){ -return false; -}; -},_setValueAttr:function(_7){ -this.checkBox.set("value",_7); -},_getValueAttr:function(){ -return this.checkBox.get("value"); -},focus:function(){ -this.checkBox.focus(); -},_setDisabledAttr:function(_8){ -this.disabled=_8; -this.checkBox.set("disabled",_8); -}}); -dojo.declare("dojox.editor.plugins._FindReplaceToolbar",dijit.Toolbar,{postCreate:function(){ -this.connectKeyNavHandlers([],[]); -this.connect(this.containerNode,"onclick","_onToolbarEvent"); -this.connect(this.containerNode,"onkeydown","_onToolbarEvent"); -dojo.addClass(this.domNode,"dijitToolbar"); -},addChild:function(_9,_a){ -dijit._KeyNavContainer.superclass.addChild.apply(this,arguments); -},_onToolbarEvent:function(_b){ -_b.stopPropagation(); -}}); -dojo.declare("dojox.editor.plugins.FindReplace",[dijit._editor._Plugin],{buttonClass:dijit.form.ToggleButton,iconClassPrefix:"dijitEditorIconsFindReplace",editor:null,button:null,_frToolbar:null,_closeBox:null,_findField:null,_replaceField:null,_findButton:null,_replaceButton:null,_replaceAllButton:null,_caseSensitive:null,_backwards:null,_promDialog:null,_promDialogTimeout:null,_strings:null,_initButton:function(){ -this._strings=dojo.i18n.getLocalization("dojox.editor.plugins","FindReplace"); -this.button=new dijit.form.ToggleButton({label:this._strings["findReplace"],showLabel:false,iconClass:this.iconClassPrefix+" dijitEditorIconFindString",tabIndex:"-1",onChange:dojo.hitch(this,"_toggleFindReplace")}); -if(dojo.isOpera){ -this.button.set("disabled",true); -} -this.connect(this.button,"set",dojo.hitch(this,function(_c,_d){ -if(_c==="disabled"){ -this._toggleFindReplace((!_d&&this._displayed),true,true); -} -})); -},setEditor:function(_e){ -this.editor=_e; -this._initButton(); -},toggle:function(){ -this.button.set("checked",!this.button.get("checked")); -},_toggleFindReplace:function(_f,_10,_11){ -var _12=dojo.marginBox(this.editor.domNode); -if(_f&&!dojo.isOpera){ -dojo.style(this._frToolbar.domNode,"display","block"); -this._populateFindField(); -if(!_10){ -this._displayed=true; -} -}else{ -dojo.style(this._frToolbar.domNode,"display","none"); -if(!_10){ -this._displayed=false; -} -if(!_11){ -this.editor.focus(); -} -} -this.editor.resize({h:_12.h}); -},_populateFindField:function(){ -var ed=this.editor; -var win=ed.window; -var _13=dojo.withGlobal(ed.window,"getSelectedText",dijit._editor.selection,[null]); -if(this._findField&&this._findField.textBox){ -if(_13){ -this._findField.textBox.set("value",_13); -} -this._findField.textBox.focus(); -dijit.selectInputText(this._findField.textBox.focusNode); -} -},setToolbar:function(_14){ -this.inherited(arguments); -if(!dojo.isOpera){ -var _15=this._frToolbar=new dojox.editor.plugins._FindReplaceToolbar(); -dojo.style(_15.domNode,"display","none"); -dojo.place(_15.domNode,_14.domNode,"after"); -_15.startup(); -this._closeBox=new dojox.editor.plugins._FindReplaceCloseBox(); -_15.addChild(this._closeBox); -this._findField=new dojox.editor.plugins._FindReplaceTextBox({label:this._strings["findLabel"],tooltip:this._strings["findTooltip"]}); -_15.addChild(this._findField); -this._replaceField=new dojox.editor.plugins._FindReplaceTextBox({label:this._strings["replaceLabel"],tooltip:this._strings["replaceTooltip"]}); -_15.addChild(this._replaceField); -_15.addChild(new dojox.editor.plugins.ToolbarLineBreak()); -this._findButton=new dijit.form.Button({label:this._strings["findButton"],showLabel:true,iconClass:this.iconClassPrefix+" dijitEditorIconFind"}); -this._findButton.titleNode.title=this._strings["findButtonTooltip"]; -_15.addChild(this._findButton); -this._replaceButton=new dijit.form.Button({label:this._strings["replaceButton"],showLabel:true,iconClass:this.iconClassPrefix+" dijitEditorIconReplace"}); -this._replaceButton.titleNode.title=this._strings["replaceButtonTooltip"]; -_15.addChild(this._replaceButton); -this._replaceAllButton=new dijit.form.Button({label:this._strings["replaceAllButton"],showLabel:true,iconClass:this.iconClassPrefix+" dijitEditorIconReplaceAll"}); -this._replaceAllButton.titleNode.title=this._strings["replaceAllButtonTooltip"]; -_15.addChild(this._replaceAllButton); -this._caseSensitive=new dojox.editor.plugins._FindReplaceCheckBox({label:this._strings["matchCase"],tooltip:this._strings["matchCaseTooltip"]}); -_15.addChild(this._caseSensitive); -this._backwards=new dojox.editor.plugins._FindReplaceCheckBox({label:this._strings["backwards"],tooltip:this._strings["backwardsTooltip"]}); -_15.addChild(this._backwards); -this._findButton.set("disabled",true); -this._replaceButton.set("disabled",true); -this._replaceAllButton.set("disabled",true); -this.connect(this._findField,"onChange","_checkButtons"); -this.connect(this._findField,"onKeyDown","_onFindKeyDown"); -this.connect(this._replaceField,"onKeyDown","_onReplaceKeyDown"); -this.connect(this._findButton,"onClick","_find"); -this.connect(this._replaceButton,"onClick","_replace"); -this.connect(this._replaceAllButton,"onClick","_replaceAll"); -this.connect(this._closeBox,"onClick","toggle"); -this._promDialog=new dijit.TooltipDialog(); -this._promDialog.startup(); -this._promDialog.set("content",""); -} -},_checkButtons:function(){ -var _16=this._findField.get("value"); -if(_16){ -this._findButton.set("disabled",false); -this._replaceButton.set("disabled",false); -this._replaceAllButton.set("disabled",false); -}else{ -this._findButton.set("disabled",true); -this._replaceButton.set("disabled",true); -this._replaceAllButton.set("disabled",true); -} -},_onFindKeyDown:function(evt){ -if(evt.keyCode==dojo.keys.ENTER){ -this._find(); -dojo.stopEvent(evt); -} -},_onReplaceKeyDown:function(evt){ -if(evt.keyCode==dojo.keys.ENTER){ -if(!this._replace()){ -this._replace(); -} -dojo.stopEvent(evt); -} -},_find:function(_17){ -var txt=this._findField.get("value")||""; -if(txt){ -var _18=this._caseSensitive.get("value"); -var _19=this._backwards.get("value"); -var _1a=this._findText(txt,_18,_19); -if(!_1a&&_17){ -this._promDialog.set("content",dojo.string.substitute(this._strings["eofDialogText"],{"0":this._strings["eofDialogTextFind"]})); -dijit.popup.open({popup:this._promDialog,around:this._findButton.domNode}); -this._promDialogTimeout=setTimeout(dojo.hitch(this,function(){ -clearTimeout(this._promDialogTimeout); -this._promDialogTimeout=null; -dijit.popup.close(this._promDialog); -}),3000); -setTimeout(dojo.hitch(this,function(){ -this.editor.focus(); -}),0); -} -return _1a; -} -return false; -},_replace:function(_1b){ -var _1c=false; -var ed=this.editor; -ed.focus(); -var txt=this._findField.get("value")||""; -var _1d=this._replaceField.get("value")||""; -if(txt){ -var _1e=this._caseSensitive.get("value"); -var _1f=this._backwards.get("value"); -var _20=dojo.withGlobal(ed.window,"getSelectedText",dijit._editor.selection,[null]); -if(dojo.isMoz){ -txt=dojo.trim(txt); -_20=dojo.trim(_20); -} -var _21=this._filterRegexp(txt,!_1e); -if(_20&&_21.test(_20)){ -ed.execCommand("inserthtml",_1d); -_1c=true; -if(_1f){ -this._findText(_1d,_1e,_1f); -dojo.withGlobal(ed.window,"collapse",dijit._editor.selection,[true]); -} -} -if(!this._find(false)&&_1b){ -this._promDialog.set("content",dojo.string.substitute(this._strings["eofDialogText"],{"0":this._strings["eofDialogTextReplace"]})); -dijit.popup.open({popup:this._promDialog,around:this._replaceButton.domNode}); -this._promDialogTimeout=setTimeout(dojo.hitch(this,function(){ -clearTimeout(this._promDialogTimeout); -this._promDialogTimeout=null; -dijit.popup.close(this._promDialog); -}),3000); -setTimeout(dojo.hitch(this,function(){ -this.editor.focus(); -}),0); -} -return _1c; -} -return null; -},_replaceAll:function(_22){ -var _23=0; -var _24=this._backwards.get("value"); -if(_24){ -this.editor.placeCursorAtEnd(); -}else{ -this.editor.placeCursorAtStart(); -} -if(this._replace(false)){ -_23++; -} -var _25=dojo.hitch(this,function(){ -if(this._replace(false)){ -_23++; -setTimeout(_25,10); -}else{ -if(_22){ -this._promDialog.set("content",dojo.string.substitute(this._strings["replaceDialogText"],{"0":""+_23})); -dijit.popup.open({popup:this._promDialog,around:this._replaceAllButton.domNode}); -this._promDialogTimeout=setTimeout(dojo.hitch(this,function(){ -clearTimeout(this._promDialogTimeout); -this._promDialogTimeout=null; -dijit.popup.close(this._promDialog); -}),3000); -setTimeout(dojo.hitch(this,function(){ -this._findField.focus(); -this._findField.textBox.focusNode.select(); -}),0); -} -} -}); -_25(); -},_findText:function(txt,_26,_27){ -var ed=this.editor; -var win=ed.window; -var _28=false; -if(txt){ -if(win.find){ -_28=win.find(txt,_26,_27,false,false,false,false); -}else{ -var doc=ed.document; -if(doc.selection){ -this.editor.focus(); -var _29=doc.body.createTextRange(); -var _2a=doc.selection?doc.selection.createRange():null; -if(_2a){ -if(_27){ -_29.setEndPoint("EndToStart",_2a); -}else{ -_29.setEndPoint("StartToEnd",_2a); -} -} -var _2b=_26?4:0; -if(_27){ -_2b=_2b|1; -} -_28=_29.findText(txt,_29.text.length,_2b); -if(_28){ -_29.select(); -} -} -} -} -return _28; -},_filterRegexp:function(_2c,_2d){ -var rxp=""; -var c=null; -for(var i=0;i<_2c.length;i++){ -c=_2c.charAt(i); -switch(c){ -case "\\": -rxp+=c; -i++; -rxp+=_2c.charAt(i); -break; -case "$": -case "^": -case "/": -case "+": -case ".": -case "|": -case "(": -case ")": -case "{": -case "}": -case "[": -case "]": -rxp+="\\"; -default: -rxp+=c; -} -} -rxp="^"+rxp+"$"; -if(_2d){ -return new RegExp(rxp,"mi"); -}else{ -return new RegExp(rxp,"m"); -} -},updateState:function(){ -this.button.set("disabled",this.get("disabled")); -},destroy:function(){ -this.inherited(arguments); -if(this._promDialogTimeout){ -clearTimeout(this._promDialogTimeout); -this._promDialogTimeout=null; -dijit.popup.close(this._promDialog); -} -if(this._frToolbar){ -this._frToolbar.destroyRecursive(); -this._frToolbar=null; -} -if(this._promDialog){ -this._promDialog.destroyRecursive(); -this._promDialog=null; -} -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -var _2e=o.args.name.toLowerCase(); -if(_2e==="findreplace"){ -o.plugin=new dojox.editor.plugins.FindReplace({}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/PasteFromWord.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/PasteFromWord.js deleted file mode 100644 index 5e419cc2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/PasteFromWord.js +++ /dev/null @@ -1,80 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.editor.plugins.PasteFromWord"]){ -dojo._hasResource["dojox.editor.plugins.PasteFromWord"]=true; -dojo.provide("dojox.editor.plugins.PasteFromWord"); -dojo.require("dojo.string"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit.form.Button"); -dojo.require("dijit.Dialog"); -dojo.require("dojo.i18n"); -dojo.require("dojox.html.format"); -dojo.requireLocalization("dojox.editor.plugins","PasteFromWord",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dojox.editor.plugins.PasteFromWord",dijit._editor._Plugin,{iconClassPrefix:"dijitAdditionalEditorIcon",width:"400px",height:"300px",_template:["<div class='dijitPasteFromWordEmbeddedRTE'>","<div style='width: ${width}; padding-top: 5px; padding-bottom: 5px;'>${instructions}</div>","<div id='${uId}_rte' style='width: ${width}; height: ${height}'></div>","<table style='width: ${width}' tabindex='-1'>","<tbody>","<tr>","<td align='center'>","<button type='button' dojoType='dijit.form.Button' id='${uId}_paste'>${paste}</button>"," ","<button type='button' dojoType='dijit.form.Button' id='${uId}_cancel'>${cancel}</button>","</td>","</tr>","</tbody>","</table>","</div>"].join(""),_filters:[{regexp:/(<meta\s*[^>]*\s*>)|(<\s*link\s* href="file:[^>]*\s*>)|(<\/?\s*\w+:[^>]*\s*>)/gi,handler:""},{regexp:/(?:<style([^>]*)>([\s\S]*?)<\/style>|<link\s+(?=[^>]*rel=['"]?stylesheet)([^>]*?href=(['"])([^>]*?)\4[^>\/]*)\/?>)/gi,handler:""},{regexp:/(class="Mso[^"]*")|(<!--(.|\s){1,}?-->)/gi,handler:""},{regexp:/(<p[^>]*>\s*(\ |\u00A0)*\s*<\/p[^>]*>)|(<p[^>]*>\s*<font[^>]*>\s*(\ |\u00A0)*\s*<\/\s*font\s*>\s<\/p[^>]*>)/ig,handler:""},{regexp:/(style="[^"]*mso-[^;][^"]*")|(style="margin:\s*[^;"]*;")/gi,handler:""},{regexp:/(<\s*script[^>]*>((.|\s)*?)<\\?\/\s*script\s*>)|(<\s*script\b([^<>]|\s)*>?)|(<[^>]*=(\s|)*[("|')]javascript:[^$1][(\s|.)]*[$1][^>]*>)/ig,handler:""}],_initButton:function(){ -var _1=dojo.i18n.getLocalization("dojox.editor.plugins","PasteFromWord"); -this.button=new dijit.form.Button({label:_1["pasteFromWord"],showLabel:false,iconClass:this.iconClassPrefix+" "+this.iconClassPrefix+"PasteFromWord",tabIndex:"-1",onClick:dojo.hitch(this,"_openDialog")}); -this._uId=dijit.getUniqueId(this.editor.id); -_1.uId=this._uId; -_1.width=this.width||"400px"; -_1.height=this.height||"300px"; -this._dialog=new dijit.Dialog({title:_1["pasteFromWord"]}).placeAt(dojo.body()); -this._dialog.set("content",dojo.string.substitute(this._template,_1)); -dojo.style(dojo.byId(this._uId+"_rte"),"opacity",0.001); -this.connect(dijit.byId(this._uId+"_paste"),"onClick","_paste"); -this.connect(dijit.byId(this._uId+"_cancel"),"onClick","_cancel"); -this.connect(this._dialog,"onHide","_clearDialog"); -},updateState:function(){ -this.button.set("disabled",this.get("disabled")); -},setEditor:function(_2){ -this.editor=_2; -this._initButton(); -},_openDialog:function(){ -this._dialog.show(); -if(!this._rte){ -setTimeout(dojo.hitch(this,function(){ -this._rte=new dijit._editor.RichText({height:this.height||"300px"},this._uId+"_rte"); -this._rte.onLoadDeferred.addCallback(dojo.hitch(this,function(){ -dojo.animateProperty({node:this._rte.domNode,properties:{opacity:{start:0.001,end:1}}}).play(); -})); -}),100); -} -},_paste:function(){ -var _3=dojox.html.format.prettyPrint(this._rte.get("value")); -this._dialog.hide(); -var i; -for(i=0;i<this._filters.length;i++){ -var _4=this._filters[i]; -_3=_3.replace(_4.regexp,_4.handler); -} -_3=dojox.html.format.prettyPrint(_3); -this.editor.execCommand("inserthtml",_3); -},_cancel:function(){ -this._dialog.hide(); -},_clearDialog:function(){ -this._rte.set("value",""); -},destroy:function(){ -if(this._rte){ -this._rte.destroy(); -} -if(this._dialog){ -this._dialog.destroyRecursive(); -} -delete this._dialog; -delete this._rte; -this.inherited(arguments); -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -var _5=o.args.name.toLowerCase(); -if(_5==="pastefromword"){ -o.plugin=new dojox.editor.plugins.PasteFromWord({width:("width" in o.args)?o.args.width:"400px",height:("height" in o.args)?o.args.width:"300px"}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/Preview.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/Preview.js deleted file mode 100644 index de93f0ba..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/Preview.js +++ /dev/null @@ -1,55 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.editor.plugins.Preview"]){ -dojo._hasResource["dojox.editor.plugins.Preview"]=true; -dojo.provide("dojox.editor.plugins.Preview"); -dojo.require("dijit.form.Button"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dojo.i18n"); -dojo.requireLocalization("dojox.editor.plugins","Preview",null,"ROOT,ar,ca,cs,da,de,el,es,fi,fr,he,hu,it,ja,kk,ko,nb,nl,pl,pt,pt-pt,ro,ru,sk,sl,sv,th,tr,zh,zh-tw"); -dojo.declare("dojox.editor.plugins.Preview",dijit._editor._Plugin,{useDefaultCommand:false,styles:"",stylesheets:null,iconClassPrefix:"dijitAdditionalEditorIcon",_initButton:function(){ -this._nlsResources=dojo.i18n.getLocalization("dojox.editor.plugins","Preview"); -this.button=new dijit.form.Button({label:this._nlsResources["preview"],showLabel:false,iconClass:this.iconClassPrefix+" "+this.iconClassPrefix+"Preview",tabIndex:"-1",onClick:dojo.hitch(this,"_preview")}); -},setEditor:function(_1){ -this.editor=_1; -this._initButton(); -},updateState:function(){ -this.button.set("disabled",this.get("disabled")); -},_preview:function(){ -try{ -var _2=this.editor.get("value"); -var _3="\t\t<meta http-equiv='Content-Type' content='text/html; charset='UTF-8'>\n"; -var i; -if(this.stylesheets){ -for(i=0;i<this.stylesheets.length;i++){ -_3+="\t\t<link rel='stylesheet' type='text/css' href='"+this.stylesheets[i]+"'>\n"; -} -} -if(this.styles){ -_3+=("\t\t<style>"+this.styles+"</style>\n"); -} -_2="<html>\n\t<head>\n"+_3+"\t</head>\n\t<body>\n"+_2+"\n\t</body>\n</html>"; -var _4=window.open("javascript: ''",this._nlsResources["preview"],"status=1,menubar=0,location=0,toolbar=0"); -_4.document.open(); -_4.document.write(_2); -_4.document.close(); -} -catch(e){ -console.warn(e); -} -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -var _5=o.args.name.toLowerCase(); -if(_5==="preview"){ -o.plugin=new dojox.editor.plugins.Preview({styles:("styles" in o.args)?o.args.styles:"",stylesheets:("stylesheets" in o.args)?o.args.stylesheets:null}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/ToolbarLineBreak.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/ToolbarLineBreak.js deleted file mode 100644 index 57f7e532..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/ToolbarLineBreak.js +++ /dev/null @@ -1,33 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.editor.plugins.ToolbarLineBreak"]){ -dojo._hasResource["dojox.editor.plugins.ToolbarLineBreak"]=true; -dojo.provide("dojox.editor.plugins.ToolbarLineBreak"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Templated"); -dojo.require("dijit._editor._Plugin"); -dojo.require("dijit._Widget"); -dojo.require("dijit._Templated"); -dojo.require("dijit._editor._Plugin"); -dojo.declare("dojox.editor.plugins.ToolbarLineBreak",[dijit._Widget,dijit._Templated],{templateString:"<span class='dijit dijitReset'><br></span>",postCreate:function(){ -dojo.setSelectable(this.domNode,false); -},isFocusable:function(){ -return false; -}}); -dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){ -if(o.plugin){ -return; -} -var _1=o.args.name.toLowerCase(); -if(_1==="||"||_1==="toolbarlinebreak"){ -o.plugin=new dijit._editor._Plugin({button:new dojox.editor.plugins.ToolbarLineBreak(),setEditor:function(_2){ -this.editor=_2; -}}); -} -}); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/AutoSave.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/AutoSave.js deleted file mode 100644 index 42c97f7d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/AutoSave.js +++ /dev/null @@ -1 +0,0 @@ -({"saveLabel":"Save","saveSettingdialogTitle":"Auto-Save","saveSettingdialogButtonOk":"Set Interval","saveMessageSuccess":"Saved at ${0}","saveSettingdialogButtonCancel":"Cancel","saveSettingdialogDescription":"Specify Auto-Save interval","saveSettingLabelOn":"Set Auto-Save Interval...","saveSettingdialogParamLabel":"min","saveSettingdialogParamName":"Auto-Save Interval","saveMessageFail":"Failed to save at ${0}","saveSettingLabelOff":"Turn off Auto-Save"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Blockquote.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Blockquote.js deleted file mode 100644 index 8472a32b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Blockquote.js +++ /dev/null @@ -1 +0,0 @@ -({"blockquote":"Blockquote"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Breadcrumb.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Breadcrumb.js deleted file mode 100644 index c4985730..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Breadcrumb.js +++ /dev/null @@ -1 +0,0 @@ -({"selectContents":"Select contents","deleteElement":"Delete element","moveEnd":"Move cursor to end","deleteContents":"Delete contents","nodeActions":"${nodeName} Actions","selectElement":"Select element","moveStart":"Move cursor to start"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/CollapsibleToolbar.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/CollapsibleToolbar.js deleted file mode 100644 index 85561e43..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/CollapsibleToolbar.js +++ /dev/null @@ -1 +0,0 @@ -({"collapse":"Collapse Editor Toolbar","expand":"Expand Editor Toolbar"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/FindReplace.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/FindReplace.js deleted file mode 100644 index d2d26442..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/FindReplace.js +++ /dev/null @@ -1 +0,0 @@ -({"replaceDialogText":"Replaced ${0} occurrences.","eofDialogTextFind":"found","eofDialogText":"Last occurrence ${0}","backwards":"Backwards","replaceButton":"Replace","replaceLabel":"Replace with:","matchCase":"Match case","findTooltip":"Enter text to find","replaceTooltip":"Enter text to replace with","replaceAllButton":"Replace All","eofDialogTextReplace":"replaced","findReplace":"Find and Replace","backwardsTooltip":"Search backwards for text","replaceAllButtonTooltip":"Replace all the text","replaceButtonTooltip":"Replace the text","findLabel":"Find:","findButton":"Find","matchCaseTooltip":"Match case","findButtonTooltip":"Find the text"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/InsertAnchor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/InsertAnchor.js deleted file mode 100644 index 5c7a5b05..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/InsertAnchor.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Set","insertAnchor":"Insert Anchor","title":"Anchor Properties","text":"Description:","cancel":"Cancel","anchor":"Name:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/InsertEntity.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/InsertEntity.js deleted file mode 100644 index 7914b897..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/InsertEntity.js +++ /dev/null @@ -1 +0,0 @@ -({"insertEntity":"Insert Symbol"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/LocalImage.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/LocalImage.js deleted file mode 100644 index 278758e6..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/LocalImage.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Insert","text":"Description","insertImageTitle":"Insert Image","invalidMessage":"Invalid image file type","prePopuTextBrowse":" or browse to a local file.","browse":"Browse...","prePopuTextUrl":"Enter an image URL","url":"Image"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/PageBreak.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/PageBreak.js deleted file mode 100644 index 4eaca96d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/PageBreak.js +++ /dev/null @@ -1 +0,0 @@ -({"pageBreak":"Page Break"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/PasteFromWord.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/PasteFromWord.js deleted file mode 100644 index bcd62db5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/PasteFromWord.js +++ /dev/null @@ -1 +0,0 @@ -({"pasteFromWord":"Paste From Word","paste":"Paste","cancel":"Cancel","instructions":"Paste the content from Word into the text box below. Once you are satisfied with the content to insert, press the paste button. To abort inserting text, press the cancel button."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Preview.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Preview.js deleted file mode 100644 index f54aeb47..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Preview.js +++ /dev/null @@ -1 +0,0 @@ -({"preview":"Preview"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Save.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Save.js deleted file mode 100644 index 8f8072a2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Save.js +++ /dev/null @@ -1 +0,0 @@ -({"save":"Save"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ShowBlockNodes.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ShowBlockNodes.js deleted file mode 100644 index d9c3dbde..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ShowBlockNodes.js +++ /dev/null @@ -1 +0,0 @@ -({"showBlockNodes":"Show HTML Block Elements"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Smiley.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Smiley.js deleted file mode 100644 index 6a6b5a29..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/Smiley.js +++ /dev/null @@ -1 +0,0 @@ -({"emoticonLaughing":"laughing","emoticonCool":"cool","emoticonTongue":"tongue","emoticonCrying":"crying","emoticonOops":"oops","emoticonFrown":"frown","emoticonAngry":"angry","emoticonShy":"shy","emoticonNo":"no","emoticonAngel":"angel","smiley":"Insert Emoticon","emoticonIdea":"idea","emoticonEyebrow":"eyebrow","emoticonSmile":"smile","emoticonWink":"wink","emoticonYes":"yes","emoticonGrin":"grin","emoticonGoofy":"goofy","emoticonHalf":"half"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/SpellCheck.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/SpellCheck.js deleted file mode 100644 index 3d31337e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/SpellCheck.js +++ /dev/null @@ -1 +0,0 @@ -({"cancel":"Cancel","toDic":"Add to dictionary","skip":"Skip","iMsg":"No spelling suggestions","replaceAll":"Replace All","widgetLabel":"Batch Spell Check","skipAll":"Skip All","suggestions":"Suggestions","iSkipAll":"Skip all like this","replaceWith":"Replace with","msg":"No misspellings found","replace":"Replace","unfound":"Not found","iSkip":"Skip this"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/TableDialog.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/TableDialog.js deleted file mode 100644 index 5301dccc..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/TableDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonSet":"Set","insertTableTitle":"Insert Table","insertTableRowAfterLabel":"Add Row After","buttonCancel":"Cancel","center":"center","deleteTableColumnLabel":"Delete Column","right":"right","insertTableColumnBeforeLabel":"Add Column Before","tableWidth":"Table Width:","buttonInsert":"Insert","default":"default","align":"Align:","insertTableRowBeforeLabel":"Add Row Before","cellSpacing":"Cell Spacing:","pixels":"pixels","selectTableLabel":"Select Table","rows":"Rows:","modifyTableTitle":"Modify Table","cellPadding":"Cell Padding:","deleteTableRowLabel":"Delete Row","backgroundColor":"Background Color:","insertTableColumnAfterLabel":"Add Column After","left":"left","borderThickness":"Border Thickness:","columns":"Columns:","percent":"percent","borderColor":"Border Color:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/TextColor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/TextColor.js deleted file mode 100644 index c01f0e93..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/TextColor.js +++ /dev/null @@ -1 +0,0 @@ -({"setButtonText":"Set","cancelButtonText":"Cancel"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/AutoSave.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/AutoSave.js deleted file mode 100644 index 4fae5779..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/AutoSave.js +++ /dev/null @@ -1 +0,0 @@ -({"saveLabel":"Speichern","saveSettingdialogTitle":"Automatisch speichern","saveSettingdialogButtonOk":"Intervall festlegen","saveMessageSuccess":"Gespeichert um ${0}","saveSettingdialogButtonCancel":"Abbrechen","saveSettingdialogDescription":"Intervall für automatisches Speichern angeben","saveSettingLabelOn":"Intervall für automatisches Speichern festlegen","saveSettingdialogParamLabel":"Min.","saveSettingdialogParamName":"Intervall für automatisches Speichern","saveMessageFail":"Konnte nicht um ${0} gespeichert werden","saveSettingLabelOff":"Automatisches Speichern inaktivieren"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Blockquote.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Blockquote.js deleted file mode 100644 index d8723010..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Blockquote.js +++ /dev/null @@ -1 +0,0 @@ -({"blockquote":"Blockzitat"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Breadcrumb.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Breadcrumb.js deleted file mode 100644 index 2c35bc01..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Breadcrumb.js +++ /dev/null @@ -1 +0,0 @@ -({"selectContents":"Inhalt auswählen","deleteElement":"Element löschen","moveEnd":"Cursor an Ende verschieben","deleteContents":"Inhalt löschen","nodeActions":"Aktionen für ${nodeName}","selectElement":"Element auswählen","moveStart":"Cursor an Anfang verschieben"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/CollapsibleToolbar.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/CollapsibleToolbar.js deleted file mode 100644 index 85f03d72..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/CollapsibleToolbar.js +++ /dev/null @@ -1 +0,0 @@ -({"collapse":"Editor-Symbolleiste ausblenden","expand":"Editor-Symbolleiste einblenden"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/FindReplace.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/FindReplace.js deleted file mode 100644 index b8a9f1d2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/FindReplace.js +++ /dev/null @@ -1 +0,0 @@ -({"replaceDialogText":"Es wurden ${0} Vorkommen ersetzt.","eofDialogTextFind":"gefunden","eofDialogText":"Letztes Vorkommen ${0}","backwards":"Zurück","replaceButton":"Ersetzen","replaceLabel":"Ersetzen durch:","matchCase":"Groß- und Kleinschreibung abgleichen","findTooltip":"Text zum Suchen eingeben","replaceTooltip":"Text zum Ersetzen eingeben","replaceAllButton":"Global ersetzen","eofDialogTextReplace":"ersetzt","findReplace":"Suchen/Ersetzen","backwardsTooltip":"Rückwärts nach Text suchen","replaceAllButtonTooltip":"Gesamten Text ersetzen","replaceButtonTooltip":"Text ersetzen","findLabel":"Suchbegriff:","findButton":"Suchen","matchCaseTooltip":"Groß- und Kleinschreibung abgleichen","findButtonTooltip":"Text suchen","replaceAll":"Alle Vorkommen"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/InsertAnchor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/InsertAnchor.js deleted file mode 100644 index 0b4167b9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/InsertAnchor.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Festlegen","insertAnchor":"Anker einfügen","title":"Eigenschaften des Ankers","text":"Beschreibung:","cancel":"Abbrechen","anchor":"Name:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/InsertEntity.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/InsertEntity.js deleted file mode 100644 index 4830561b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/InsertEntity.js +++ /dev/null @@ -1 +0,0 @@ -({"insertEntity":"Symbol einfügen"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/LocalImage.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/LocalImage.js deleted file mode 100644 index 79ff7c7e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/LocalImage.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Einfügen","text":"Beschreibung","insertImageTitle":"Grafik einfügen","invalidMessage":"Ungültiger Grafikdateityp","prePopuTextBrowse":"oder blättern Sie zu einer lokalen Datei.","browse":"Durchsuchen...","prePopuTextUrl":"Geben Sie eine gültige Grafik-URL ein","url":"Grafik"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/PageBreak.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/PageBreak.js deleted file mode 100644 index 14a0ea2c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/PageBreak.js +++ /dev/null @@ -1 +0,0 @@ -({"pageBreak":"Seitenumbruch"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/PasteFromWord.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/PasteFromWord.js deleted file mode 100644 index 55701e48..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/PasteFromWord.js +++ /dev/null @@ -1 +0,0 @@ -({"pasteFromWord":"Aus Word einfügen","paste":"Einfügen","cancel":"Abbrechen","instructions":"Fügt den Inhalt aus Word in das Textfeld unten ein. Wenn Sie mit dem einzufügenden Inhalt zufrieden sind, klicken Sie auf die Schaltfläche zum Einfügen. Um das Einfügen von Text abzubrechen, klicken Sie auf die Schaltfläche zum Abbrechen. "}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Preview.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Preview.js deleted file mode 100644 index 396d562c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Preview.js +++ /dev/null @@ -1 +0,0 @@ -({"preview":"Vorschau"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Save.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Save.js deleted file mode 100644 index 50af5b1d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Save.js +++ /dev/null @@ -1 +0,0 @@ -({"save":"Speichern"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/ShowBlockNodes.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/ShowBlockNodes.js deleted file mode 100644 index 6a17d87a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/ShowBlockNodes.js +++ /dev/null @@ -1 +0,0 @@ -({"showBlockNodes":"HTML-Blockelemente anzeigen"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Smiley.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Smiley.js deleted file mode 100644 index 07306d11..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/Smiley.js +++ /dev/null @@ -1 +0,0 @@ -({"emoticonLaughing":"Lachen","emoticonCool":"Cool","emoticonTongue":"Zunge","emoticonCrying":"Weinen","emoticonOops":"Hoppla","emoticonFrown":"Stirnrunzeln","emoticonAngry":"Zornig","emoticonShy":"Schüchtern","emoticonNo":"Nein","emoticonAngel":"Engel","smiley":"Emoticon einfügen","emoticonIdea":"Idee","emoticonEyebrow":"Hochgezogene Augenbraue","emoticonSmile":"Lächeln","emoticonWink":"Augenzwinkern","emoticonYes":"Ja","emoticonGrin":"Grinsen","emoticonGoofy":"Albern","emoticonHalf":"Halb"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/SpellCheck.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/SpellCheck.js deleted file mode 100644 index 4800fd10..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/SpellCheck.js +++ /dev/null @@ -1 +0,0 @@ -({"cancel":"Abbrechen","toDic":"Zum Wörterbuch hinzufügen","skip":"Überspringen","iMsg":"Keine Rechtschreibvorschläge","replaceAll":"Global ersetzen","widgetLabel":"Batchrechtschreibprüfung","skipAll":"Alle überspringen","suggestions":"Vorschläge","iSkipAll":"Alle entsprechenden Funde überspringen","replaceWith":"Ersetzen durch","msg":"Keine Rechtschreibfehler gefunden","replace":"Ersetzen","unfound":"Nicht gefunden","iSkip":"Diesen Fund überspringen"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/TableDialog.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/TableDialog.js deleted file mode 100644 index da9f443c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/TableDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonSet":"Festlegen","insertTableTitle":"Tabelle einfügen","insertTableRowAfterLabel":"Zeile unterhalb einfügen","buttonCancel":"Abbrechen","center":"Mitte","deleteTableColumnLabel":"Spalte löschen","right":"Rechts","insertTableColumnBeforeLabel":"Spalte oberhalb einfügen","tableWidth":"Tabellenbreite:","buttonInsert":"Einfügen","default":"Standard","align":"Ausrichten:","insertTableRowBeforeLabel":"Zeile oberhalb einfügen","cellSpacing":"Zellenabstand:","pixels":"Pixel","selectTableLabel":"Tabelle auswählen","rows":"Zeilen:","modifyTableTitle":"Tabelle ändern","cellPadding":"Zellenrandbreite:","deleteTableRowLabel":"Zeile löschen","backgroundColor":"Hintergrundfarbe:","insertTableColumnAfterLabel":"Spalte unterhalb einfügen","left":"Links","borderThickness":"Randbreite","columns":"Spalten:","percent":"Prozent","borderColor":"Randfarbe:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/TextColor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/TextColor.js deleted file mode 100644 index c99a3b2e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/TextColor.js +++ /dev/null @@ -1 +0,0 @@ -({"setButtonText":"Festlegen","cancelButtonText":"Abbrechen"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/latinEntities.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/latinEntities.js deleted file mode 100644 index e8b26e97..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/de/latinEntities.js +++ /dev/null @@ -1 +0,0 @@ -({"le":"Kleiner-gleich","prod":"unäres Produkt\nProduktzeichen","zwj":"Verbinder mit Nullbreite","mdash":"Gedankenstrich von der Länge des Buchstabens m","frasl":"Schrägstrich für Bruch","upsih":"Griechisches Upsilon mit Haken","prop":"proportional zu","middot":"Multiplikationszeichen\nGeorgisches Komma\nGriechisches Multiplikationszeichen","hellip":"Auslassung\nDrei kleine Punkte","eta":"Griechischer Kleinbuchstabe Eta","iacute":"Kleinbuchstabe i mit Aktut","yen":"Yen-ZeichenNyuan-Zeichen","rlm":"Rechts-Links-Markierung","macr":"Makron\nLeerzeichen mit Makron\nÜberstrich\nQuerstrich über dem Buchstaben","ldquo":"Linkes doppeltes Anführungszeichen","Icirc":"Großbuchstabe I mit Zirkumflex","OElig":"Ligatur aus Großbuchstaben O und E","hArr":"Doppelter Rechts-Links-Pfeil","eth":"Kleines eth","divide":"Divisionszeichen","chi":"Griechischer Kleinbuchstabe Chi","eacute":"Kleinbuchstabe e mit Aktut","icirc":"Kleinbuchstabe i mit Zirkumflex","iexcl":"Umgekehrtes Ausrufezeichen","ETH":"Großes ETH","acute":"Akut\nsLeerzeichen mit Akut","crarr":"Abwärtspfeil, der nach links abknickt\nZeilenumbruch","mu":"Griechischer Kleinbuchstabe My","AElig":"Großes AE\nLigatur aus Großbuchstaben A und E","aacute":"Kleinbuchstabe a mit Aktut","lambda":"Griechischer Kleinbuchstabe Lambda","THORN":"Großes THORN","asymp":"Ungefähr gleich mit\nasymptotisch","fnof":"Kleines mit Haken\nFunction\nFlorin","lang":"Linke spitze Klammer","cup":"Vereinigungsmenge\nCup","ne":"Nicht gleich mit","Sigma":"Griechischer Großbuchstabe Sigma","oelig":"Ligatur aus Kleinbuchstaben o und e","cent":"Cent-Zeichen","ni":"Enthält als Member","dagger":"Kreuzzeichen","permil":"Promillezeichen","Omicron":"Griechischer Großbuchstabe Omicron","sigma":"Griechischer Kleinbuchstabe Sigma","euro":"Euro-Zeichen","Yacute":"Großbuchstabe Y mit Akut","thorn":"Kleines thorn","lceil":"Linke Ecke oben\nAPL upstile","Ograve":"Großbuchstabe O mit Gravis","rarr":"Rechtspfeil","nu":"Griechischer Kleinbuchstabe Ny","emsp":"Leerschritt von der Breite des Buchstaben m","Theta":"Griechischer Großbuchstabe Theta","lArr":"Doppelter Linkspfeil","tau":"Griechischer Kleinbuchstabe Tau","aelig":"Kleines ae\nLigatur aus Kleinbuchstaben a und e","ccedil":"Kleinbuchstabe c mit Cedilla","Ntilde":"Großbuchstabe N mit Tilde","cong":"Etwa gleich mit","Uacute":"Großbuchstabe U mit Akut","theta":"Griechischer Kleinbuchstabe Theta","darr":"Abwärtspfeil","Uuml":"Großbuchstabe U mit Trema","bdquo":"Doppeltes, gekrümmtes Anführungszeichen unten","Aring":"Großes A mit Ring darüber\nLateinischer Großbuchstabe A mit Ring darüber","sigmaf":"Griechischer Kleinbuchstabe Sigma am Wortende","pound":"Nummernzeichen","uArr":"Doppelter Aufwärtspfeil","sub":"Teil von","aring":"Kleines a mit Ring darüber\nKleinbuchstabe a mit Ring","sdot":"Punktoperator","thinsp":"Schmaler Leerschritt","or":"Logisches Oder\nv-förmig","Eacute":"Großbuchstabe E mit Akut","shy":"Veränderlicher Silbentrennstrich\nbedingter Trennstrich","curren":"Währungssymbol","loz":"Raute","not":"Nicht-Zeichen","tilde":"kleine Tilde","sum":"unäre Summation","spades":"Schwarzes Pik (Kartenspiel)","Psi":"Griechischer Großbuchstabe Psi","ndash":"Gedankenstrich von der Länge des Buchstabens n","sup":"Obermenge von","atilde":"Kleinbuchstabe a mit Tilde","clubs":"Schwarzes Kreuz (Kartenspiel)\nKleeblatt","uuml":"Kleinbuchstabe u mit Trema","Aacute":"Großbuchstabe A mit Akut","rsaquo":"Einfaches rechtes Anführungszeichen","otimes":"Multiplikationszeichen mit Kreis\nVektorprodukt","lfloor":"Linke Ecke unten\nAPL downstile","zwnj":"Nichtverbinder mit Nullbreite","sim":"Tilde (Operator)\nvariiert mit\nähnlich wie","Iota":"Griechischer Großbuchstabe Iota","Iacute":"Großbuchstabe I mit Akut","pi":"Griechischer Kleinbuchstabe Pi","ordf":"Weibliches Ordinalzeichen","frac12":"Bruch 1 durch 2\nEinhalb","frac14":"Bruch 1 durch 4\nEin Viertel","alefsym":"Alef-Symbol\nerste Transfinite Kardinalzahl","bull":"Rundes Aufzählungszeichen\nSchwarzer kleiner Kreis","deg":"Gradzeichen","ordm":"Männliches Ordinalzeichen","epsilon":"Griechischer Kleinbuchstabe Epsilon","equiv":"Identisch mit","Dagger":"Doppelkreuzzeichen","brvbar":"Unterbrochener Balken\nUnterbrochener vertikaler Balken","harr":"Links-Rechts-Pfeil","ugrave":"Kleinbuchstabe u mit Gravis","oslash":"Kleines o mit Schrägstrich\nKleiner dänisch-norwegischer Umlaut ö","Yuml":"Großbuchstabe Y mit Trema","hearts":"Schwarzes Herz (Kartenspiel)\nValentine","Xi":"Griechischer Großbuchstabe Xi","Prime":"Doppelter Prime\nSekunden\nZoll","iota":"Griechischer Kleinbuchstabe Iota","Ccedil":"Großbuchstabe C mit Cedilla","Lambda":"Griechischer Großbuchstabe Lambda","raquo":"Doppelte, winklige Anführungszeichen, die nach rechts weisen\nRechtes französisches Anführungszeichen","Phi":"Griechischer Großbuchstabe Phi","prime":"Prime\nMinuten\nFuß","nsub":"Kein Teil von","copy":"Copyrightzeichen","yuml":"Kleinbuchstabe y mit Trema","Rho":"Griechischer Großbuchstabe Rho","Ucirc":"Großbuchstabe U mit Zirkumflex","Kappa":"Griechischer Großbuchstabe Kappa","ucirc":"Kleinbuchstabe u mit Zirkumflex","sbquo":"Einfaches, gekrümmtes Anführungszeichen unten","igrave":"Kleinbuchstabe i mit Gravis","reg":"Registrierte Handelsmarke\nregistriertes Markenzeichen","infin":"Unendlich","iquest":"Umgekehrtes Fragezeichen\nFragezeichen auf dem Kopf","circ":"Zirkumflex, Akzent","kappa":"Griechischer Kleinbuchstabe Kappa","lrm":"Links-Rechts-Markierung","Atilde":"Großbuchstabe A mit Tilde","larr":"Linkspfeil","frac34":"Bruch 3 durch 4\nDreiviertel","oacute":"Kleinbuchstabe o mit Aktut","rsquo":"Rechtes einfaches Anführungszeichen","egrave":"Kleinbuchstabe e mit Gravis","oline":"Hochgestellter Querstrich\nLeerzeichen mit Oberstrich","Mu":"Griechischer Großbuchstabe My","exist":"Es existiert","cap":"Schnittpunkt\nHütchen","and":"Logisches Und\nKeil","Ouml":"Lateinischer Großbuchstabe O mit Trema","agrave":"Kleines a mit Gravis\nKleinbuchstabe a mit Gravis","uarr":"Aufwärtspfeil","ang":"Winkel","Zeta":"Griechischer Großbuchstabe Zeta","scaron":"Kleinbuchstabe s mit Caron","Gamma":"Griechischer Großbuchstabe Gamma","isin":"Element von","Auml":"Großbuchstabe A mit Trema","empty":"Leermenge\nNullmenge\nDurchmesser","gamma":"Griechischer Kleinbuchstabe Gamma","para":"Pilcrow-Zeichen (engl.)\nAbsatzzeichen","ge":"Größer-gleich","psi":"Griechischer Kleinbuchstabe Psi","Alpha":"Griechischer Großbuchstabe Alpha","Nu":"Griechischer Großbuchstabe Ny","ouml":"Kleinbuchstabe o mit Gravis","zeta":"Griechischer Kleinbuchstabe Zeta","alpha":"Griechischer Kleinbuchstabe Alpha","part":"Partielle Differenzialgleichung","auml":"Kleinbuchstabe a mit Trema","Ugrave":"Großbuchstabe U mit Gravis","Oslash":"Großes O mit Schrägstrich\nGroßer dänisch-norwegischer Umlaut ö","Epsilon":"Griechischer Großbuchstabe Epsilon","int":"Integral","Omega":"Griechischer Großbuchstabe Omega","perp":"Senkrecht\nSenkrecht zu\nLotrecht","uml":"Trema\nLeerzeichen mit Trema","upsilon":"Griechischer Kleinbuchstabe Upsilon","lowast":"Sternoperator","omega":"Griechischer Kleinbuchstabe Omega","otilde":"Kleinbuchstabe o mit Tilde","Egrave":"Großbuchstabe E mit Gravis","phi":"Griechischer Kleinbuchstabe Phi","ensp":"Leerschritt von der Breite des Buchstaben n","Euml":"Großbuchstabe E mit Trema","cedil":"Cedilla\nLeerzeichen mit Cedilla","laquo":"Doppelte, winklige Anführungszeichen, die nach links weisenlinke französische Anführungszeichen","forall":"Für alle","thetasym":"Griechischer Kleinbuchstabe Theta (Symbol)","Agrave":"Großes A mit Gravis\nGroßbuchstabe A mit Gravis","szlig":"Scharfes s\nEsszett","Pi":"Griechischer Großbuchstabe Pi","rho":"Griechischer Kleinbuchstabe Rho","trade":"Markenzeichen","Igrave":"Großbuchstabe I mit Gravis","minus":"Minuszeichen","Beta":"Griechischer Großbuchstabe Beta","Ocirc":"Großbuchstabe O mit Zirkumflex","rdquo":"Rechtes doppeltes Anführungszeichen","Eta":"Griechischer Großbuchstabe Eta","rfloor":"Rechte Ecke unten","Oacute":"Großbuchstabe O mit Akut","euml":"Kleinbuchstabe e mit Trema","oplus":"Pluszeichen mit Kreis\ndirekte Summe","ocirc":"Kleinbuchstabe o mit Zirkumflex","radic":"Quadratwurzel\nWurzelzeichen","Chi":"Griechischer Großbuchstabe Chi","notin":"Kein Element von","sect":"Abschnittszeichen","Acirc":"Großbuchstabe A mit Zirkumflex","lsquo":"Linkes einfaches Anführungszeichen","beta":"Griechischer Kleinbuchstabe Beta","piv":"Griechisches Pi-Symbol","sup1":"Hochgestellte Eins\nHoch 1","Scaron":"Großbuchstabe S mit Caron","sup2":"Hochgestellte Zwei\nHoch 2\nzum Quadrat","acirc":"Kleinbuchstabe a mit Zirkumflex","sube":"Teilmenge oder gleich mit","sup3":"Hochgestellte Drei\nHoch 3\nKubik","real":"Großes R in Frakturschrift\nRealteilsymbol","Iuml":"Großbuchstabe I mit Trema","rang":"Rechte spitze Klammer","lsaquo":"Einfaches linkes Anführungszeichen","nabla":"Nabla\nAbsteigende Differenz","omicron":"Griechischer Kleinbuchstabe Omicron","there4":"Deshalb","plusmn":"Plus-Minus-Zeichen\nPlus-oder-Minus-Zeichen","rceil":"Rechte Ecke oben","micro":"Micro-Zeichen","rArr":"Doppelter Rechtspfeil","Delta":"Griechischer Großbuchstabe Delta","iuml":"Kleinbuchstabe i mit Trema","Tau":"Griechischer Großbuchstabe Tau","times":"Multiplikationszeichen","yacute":"Kleinbuchstabe y mit Aktut","ograve":"Kleinbuchstabe o mit Gravis","delta":"Griechischer Kleinbuchstabe Delta","Ecirc":"Großbuchstabe E mit Zirkumflex","dArr":"Doppelter Abwärtspfeil","ntilde":"Kleinbuchstabe n mit Tilde","diams":"Schwarzes Karo (Kartenspiel)","uacute":"Kleinbuchstabe u mit Aktut","Otilde":"Lateinischer Großbuchstabe O mit Tilde","ecirc":"Kleinbuchstabe e mit Zirkumflex","Upsilon":"Griechischer Großbuchstabe Upsilon","image":"Großes I in Frakturschrift\nImaginärteil","supe":"Obermenge oder gleich mit","xi":"Griechischer Kleinbuchstabe Xi","weierp":"Kleines p in Schreibschrift\nPotenz\nWeierstrass'sche Ellipsen-Funktion"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/AutoSave.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/AutoSave.js deleted file mode 100644 index 734fa69b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/AutoSave.js +++ /dev/null @@ -1 +0,0 @@ -({"saveLabel":"Guardar","saveSettingdialogTitle":"Guardado automático","saveSettingdialogButtonOk":"Definir intervalo","saveMessageSuccess":"Guardado a las ${0}","saveSettingdialogButtonCancel":"Cancelar","saveSettingdialogDescription":"Especificar intervalo de guardado automático","saveSettingLabelOn":"Definir intervalo de guardado automático...","saveSettingdialogParamLabel":"min","saveSettingdialogParamName":"Intervalo de guardado automático","saveMessageFail":"No se ha podido guardar a las ${0}","saveSettingLabelOff":"Desactivar guardado automático"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Blockquote.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Blockquote.js deleted file mode 100644 index 146a31f5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Blockquote.js +++ /dev/null @@ -1 +0,0 @@ -({"blockquote":"Cita en bloque"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Breadcrumb.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Breadcrumb.js deleted file mode 100644 index ce8cc3bd..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Breadcrumb.js +++ /dev/null @@ -1 +0,0 @@ -({"selectContents":"Seleccionar contenido","deleteElement":"Suprimir elemento","moveEnd":"Mover cursor al final","deleteContents":"Suprimir contenido","nodeActions":"Acciones de ${nodeName}","selectElement":"Seleccionar elemento","moveStart":"Mover cursor al inicio"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/CollapsibleToolbar.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/CollapsibleToolbar.js deleted file mode 100644 index 0061f1cd..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/CollapsibleToolbar.js +++ /dev/null @@ -1 +0,0 @@ -({"collapse":"Contraer barra de herramientas del editor","expand":"Expandir barra de herramientas del editor"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/FindReplace.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/FindReplace.js deleted file mode 100644 index a7011be9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/FindReplace.js +++ /dev/null @@ -1 +0,0 @@ -({"replaceDialogText":"Se han sustituido ${0} apariciones.","eofDialogTextFind":"encontrado","eofDialogText":"Última aparición ${0}","backwards":"Hacia atrás","replaceButton":"Sustituir","replaceLabel":"Sustituir por:","matchCase":"Coincidir mayúsculas y minúsculas","findTooltip":"Especifique el texto que desee buscar","replaceTooltip":"Especifique el texto por el que se debe sustituir","replaceAllButton":"Sustituir todo","eofDialogTextReplace":"sustituido","findReplace":"Conmutar Buscar/Sustituir","backwardsTooltip":"Buscar texto hacia atrás","replaceAllButtonTooltip":"Sustituir todo el texto","replaceButtonTooltip":"Sustituir el texto","findLabel":"Buscar:","findButton":"Buscar","matchCaseTooltip":"Coincidir mayúsculas y minúsculas","findButtonTooltip":"Buscar el texto","replaceAll":"Todas las apariciones"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/InsertAnchor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/InsertAnchor.js deleted file mode 100644 index 9a35fb71..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/InsertAnchor.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Establecer","insertAnchor":"Insertar ancla","title":"Propiedades del ancla","text":"Descripción:","cancel":"Cancelar","anchor":"Nombre:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/InsertEntity.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/InsertEntity.js deleted file mode 100644 index 5d5fd222..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/InsertEntity.js +++ /dev/null @@ -1 +0,0 @@ -({"insertEntity":"Insertar símbolo"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/LocalImage.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/LocalImage.js deleted file mode 100644 index cb6fd73a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/LocalImage.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Insertar","text":"Descripción","insertImageTitle":"Insertar imagen","invalidMessage":"Tipo de archivo de imagen no válido","prePopuTextBrowse":" o seleccione un archivo local.","browse":"Examinar...","prePopuTextUrl":"Especifique un URL de imagen","url":"Imagen"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/PageBreak.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/PageBreak.js deleted file mode 100644 index 1e97e81a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/PageBreak.js +++ /dev/null @@ -1 +0,0 @@ -({"pageBreak":"Salto de página"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/PasteFromWord.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/PasteFromWord.js deleted file mode 100644 index 983de9a0..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/PasteFromWord.js +++ /dev/null @@ -1 +0,0 @@ -({"pasteFromWord":"Pegar desde Word","paste":"Pegar","cancel":"Cancelar","instructions":"Pegue el contenido de Word en el siguiente recuadro de texto. Cuando esté satisfecho con el contenido que se debe insertar, pulse el botón pegar. Para abortar la inserción de texto, pulse el botón cancelar."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Preview.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Preview.js deleted file mode 100644 index ba400f61..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Preview.js +++ /dev/null @@ -1 +0,0 @@ -({"preview":"Previsualización"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Save.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Save.js deleted file mode 100644 index 426ca840..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Save.js +++ /dev/null @@ -1 +0,0 @@ -({"save":"Guardar"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/ShowBlockNodes.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/ShowBlockNodes.js deleted file mode 100644 index ef0570fa..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/ShowBlockNodes.js +++ /dev/null @@ -1 +0,0 @@ -({"showBlockNodes":"Mostrar elementos de bloque HTML"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Smiley.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Smiley.js deleted file mode 100644 index b0025d01..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/Smiley.js +++ /dev/null @@ -1 +0,0 @@ -({"emoticonLaughing":"risa","emoticonCool":"guay","emoticonTongue":"burlón","emoticonCrying":"llorando","emoticonOops":"lo siento","emoticonFrown":"ceño fruncido","emoticonAngry":"enfadado","emoticonShy":"tímido","emoticonNo":"no","emoticonAngel":"ángel","smiley":"Insertar emoticono","emoticonIdea":"idea","emoticonEyebrow":"ceja levantada","emoticonSmile":"sonrisa","emoticonWink":"guiño","emoticonYes":"sí","emoticonGrin":"carcajada","emoticonGoofy":"patoso","emoticonHalf":"escéptico"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/SpellCheck.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/SpellCheck.js deleted file mode 100644 index be06051d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/SpellCheck.js +++ /dev/null @@ -1 +0,0 @@ -({"cancel":"Cancelar","toDic":"Añadir al diccionario","skip":"Saltar","iMsg":"No hay sugerencias de ortografía","replaceAll":"Sustituir todo","widgetLabel":"Corrector ortográfico por lotes","skipAll":"Saltar todo","suggestions":"Sugerencias","iSkipAll":"Saltar todos los casos como este","replaceWith":"Sustituir por","msg":"No se han encontrado errores ortográficos","replace":"Sustituir","unfound":"No encontrado","iSkip":"Saltar esto"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/TableDialog.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/TableDialog.js deleted file mode 100644 index ee4ea784..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/TableDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonSet":"Establecer","insertTableTitle":"Insertar tabla","insertTableRowAfterLabel":"Añadir fila después","buttonCancel":"Cancelar","center":"centro","deleteTableColumnLabel":"Suprimir columna","right":"derecha","insertTableColumnBeforeLabel":"Añadir columna antes","tableWidth":"Ancho de tabla:","buttonInsert":"Insertar","default":"default","align":"Alinear:","insertTableRowBeforeLabel":"Añadir fila antes","cellSpacing":"Espaciado de celda:","pixels":"píxeles","selectTableLabel":"Seleccionar tabla","rows":"Filas:","modifyTableTitle":"Modificar tabla","cellPadding":"Relleno de celda:","deleteTableRowLabel":"Suprimir fila","backgroundColor":"Color de fondo:","insertTableColumnAfterLabel":"Añadir columna después","left":"izquierda","borderThickness":"Ancho de borde","columns":"Columnas:","percent":"por ciento","borderColor":"Color de borde:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/TextColor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/TextColor.js deleted file mode 100644 index 53c683ce..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/TextColor.js +++ /dev/null @@ -1 +0,0 @@ -({"setButtonText":"Establecer","cancelButtonText":"Cancelar"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/latinEntities.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/latinEntities.js deleted file mode 100644 index ecc7b5f8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/es/latinEntities.js +++ /dev/null @@ -1 +0,0 @@ -({"le":"menor o igual que","prod":"productoria\nmultiplicatoria","zwj":"conector de anchura cero","mdash":"guión largo","frasl":"barra de fracción","upsih":"símbolo de letra ípsilon griega con gancho","prop":"proporcional","middot":"punto medio\ncoma georgiana\npunto medio griego","hellip":"puntos suspensivos","eta":"letra eta griega minúscula","iacute":"letra i latina minúscula con acento agudo","yen":"símbolo del yen\nsímbolo de yuan","rlm":"marca de derecha a izquierda","macr":"macrón\ndiacrítico largo\nlínea superior\nbarra superior APL","ldquo":"comillas dobles abiertas","Icirc":"letra I latina mayúscula con acento circunflejo","OElig":"ligadura de OE latinas mayúsculas","hArr":"doble flecha izquierda-derecha","eth":"letra eth latina minúscula","divide":"signo de división","chi":"letra chi griega minúscula","eacute":"letra e latina minúscula con acento agudo","icirc":"letra i latina minúscula con acento circunflejo","iexcl":"signo de exclamación inicial","ETH":"letra ETH latina mayúscula","acute":"acento agudo\nagudo de espaciado","crarr":"flecha esquinada abajo a la izquierda\nretorno de carro","mu":"letra mu griega minúscula","AElig":"diptongo AE latinas mayúsculas\nligadura de AE latinas mayúsculas","aacute":"letra a latina minúscula con acento agudo","lambda":"letra lambda griega minúscula","THORN":"letra THORN latina mayúscula","asymp":"parecido\ncasi igual a","fnof":"letra f latina minúscula con gancho\nfunción\nflorín","lang":"corchete angular hacia la izquierda","cup":"unión\nconjuntos","ne":"no igual a","Sigma":"letra sigma griega mayúscula","oelig":"ligadura de oe latinas minúsculas","cent":"símbolo de centavos","ni":"está incluido","dagger":"daga","permil":"signo de por mil","Omicron":"letra ómicron griega mayúscula","sigma":"letra sigma griega minúscula","euro":"signo del euro","Yacute":"letra Y latina mayúscula con acento agudo","thorn":"letra thorn latina minúscula","lceil":"parte superior de corchete abierto","Ograve":"letra O latina mayúscula con acento grave","rarr":"flecha a la derecha","nu":"letra nu griega minúscula","emsp":"espacio largo","Theta":"letra theta griega mayúscula","lArr":"doble flecha a la izquierda","tau":"letra tau griega minúscula","aelig":"Diptongo ae latinas minúsculas\nligadura de ae latinas minúsculas","ccedil":"letra c latina minúscula con cedilla","Ntilde":"letra N latina mayúscula con virgulilla\nletra N latina mayúscula con tilde\nletra Ñ latina mayúscula","cong":"aproximadamente igual a","Uacute":"letra U latina mayúscula con acento agudo","theta":"letra theta griega minúscula","darr":"flecha hacia abajo","Uuml":"letra U latina mayúscula con diéresis","bdquo":"comillas dobles inferiores","Aring":"letra A latina mayúscula con anillo encima\nletra A latina mayúscula con anillo","sigmaf":"letra sigma final griega minúscula","pound":"símbolo libra esterlina","uArr":"doble flecha hacia arriba","sub":"subconjunto de","aring":"letra a latina minúscula con anillo encima\nletra a latina minúscula con anillo","sdot":"operador punto","thinsp":"espacio estrecho","or":"o lógico\nuve","Eacute":"letra E latina mayúscula con acento agudo","shy":"signo de guión corto","curren":"símbolo monetario","loz":"rombo","not":"signo de negación","tilde":"tilde pequeña","sum":"sumatoria","spades":"palo de picas","Psi":"letra psi griega mayúscula","ndash":"guión","sup":"superconjunto de","atilde":"letra a latina minúscula con virgulilla\nletra a latina minúscula con tilde","clubs":"palo de tréboles","uuml":"letra u latina minúscula con diéresis","Aacute":"letra A latina mayúscula con acento agudo","rsaquo":"comilla simple angular cerrada","otimes":"cruz en círculo\nproducto vectorial","lfloor":"parte inferior de corchete abierto","zwnj":"separador de anchura cero","sim":"operador de tilde\nno lógico\nparecido a","Iota":"letra iota griega mayúscula","Iacute":"letra I latina mayúscula con acento agudo","pi":"letra pi griega minúscula","ordf":"indicador de ordinal femenino","frac12":"fracción de medio vulgar\nfracción de medio","frac14":"fracción de cuarto vulgar\nfracción de cuarto","alefsym":"símbolo alef\nprimer número transfinito","bull":"viñeta\ncírculo negro pequeño","deg":"signo de grados","ordm":"indicador de ordinal masculino","epsilon":"letra épsilon griega minúscula","equiv":"idéntico a","Dagger":"daga doble","brvbar":"barra dividida\nbarra vertical dividida","harr":"flecha izquierda-derecha","ugrave":"letra u latina minúscula con acento grave","oslash":"letra o latina minúscula con barra\nletra o latina minúscula con barra inclinada","Yuml":"letra Y latina mayúscula con diéresis","hearts":"palo de corazones","Xi":"letra xi griega mayúscula","Prime":"símbolo primo doble\nsegundos\npulgadas","iota":"letra iota griega minúscula","Ccedil":"letra C latina mayúscula con cedilla","Lambda":"letra lambda griega mayúscula","raquo":"comillas dobles en ángulo a la derecha","Phi":"letra phi griega mayúscula","prime":"símbolo primo\nminutos\npies","nsub":"no un subconjunto de","copy":"símbolo de copyright","yuml":"letra y latina minúscula con diéresis","Rho":"letra rho griega mayúscula","Ucirc":"letra U latina mayúscula con acento circunflejo","Kappa":"letra kappa griega mayúscula","ucirc":"letra u latina minúscula con acento circunflejo","sbquo":"comilla simple inferior","igrave":"letra i latina minúscula con acento grave","reg":"símbolo de registrado\nsímbolo de marca registrada","infin":"infinito","iquest":"signo de interrogación inicial\nsigno de apertura de interrogación","circ":"acento circunflejo","kappa":"letra kappa griega minúscula","lrm":"marca de izquierda a derecha","Atilde":"letra A latina mayúscula con virgulilla\nletra A latina mayúscula con tilde","larr":"flecha a la izquierda","frac34":"fracción de tres cuartos vulgar\nfracción de tres cuartos","oacute":"letra o latina minúscula con acento agudo","rsquo":"comilla simple cerrada","egrave":"letra e latina minúscula con acento grave","oline":"sobrelínea\nsobre la letra","Mu":"letra mu griega mayúscula","exist":"existe","cap":"intersección\nconjuntos","and":"y lógico\ncuña","Ouml":"letra O latina mayúscula con diéresis","agrave":"letra a latina minúscula con acento grave\nletra a latina minúscula grave","uarr":"flecha hacia arriba","ang":"ángulo","Zeta":"letra zeta griega mayúscula","scaron":"letra s latina minúscula con anticircunflejo","Gamma":"letra gamma griega mayúscula","isin":"pertenece","Auml":"letra A latina mayúscula con diéresis","empty":"conjunto vacío\nconjunto nulo\ndiámetro","gamma":"letra gamma griega minúscula","para":"signo de párrafo","ge":"mayor o igual que","psi":"letra psi griega minúscula","Alpha":"letra alpha griega mayúscula","Nu":"letra nu griega mayúscula","ouml":"letra o latina minúscula con diéresis","zeta":"letra zeta griega minúscula","alpha":"letra alpha griega minúscula","part":"derivada parcial","auml":"letra a latina minúscula con diéresis","Ugrave":"letra U latina mayúscula con acento grave","Oslash":"letra O latina mayúscula con barra\nletra O latina mayúscula con barra inclinada","Epsilon":"letra épsilon griega mayúscula","int":"integral","Omega":"letra omega griega mayúscula","perp":"ortogonal a\nperpendicular","uml":"diéresis\ndiéresis de espaciado","upsilon":"letra ípsilon griega minúscula","lowast":"operador asterisco","omega":"letra omega griega minúscula","otilde":"letra o latina minúscula con virgulilla\nletra o latina minúscula con tilde","Egrave":"letra E latina mayúscula con acento grave","phi":"letra phi griega minúscula","ensp":"espacio","Euml":"letra E latina mayúscula con acento diéresis","cedil":"cedilla\ncedilla de espaciado","laquo":"comillas dobles en ángulo a la izquierda","forall":"para todo","thetasym":"símbolo de letra theta griega minúscula","Agrave":"letra A latina mayúscula con acento grave\nletra A latina mayúscula grave","szlig":"letra s fuerte latina minúscula\nEszet","Pi":"letra pi griega mayúscula","rho":"letra rho griega minúscula","trade":"símbolo de marca registrada","Igrave":"letra I latina mayúscula con acento grave","minus":"signo menos","Beta":"letra beta griega mayúscula","Ocirc":"letra O latina mayúscula con acento circunflejo","rdquo":"comillas dobles cerradas","Eta":"letra eta griega mayúscula","rfloor":"parte inferior de corchete abierto","Oacute":"letra O latina mayúscula con acento agudo","euml":"letra e latina minúscula con diéresis","oplus":"más en círculo\nsuma directa","ocirc":"letra o latina minúscula con acento circunflejo","radic":"raíz cuadrada\nsigno radical","Chi":"letra chi griega mayúscula","notin":"no pertenece","sect":"signo de sección","Acirc":"letra A latina mayúscula con acento circunflejo","lsquo":"comilla simple abierta","beta":"letra beta griega minúscula","piv":"símbolo pi griego","sup1":"superíndice uno\nsuperíndice de dígito uno","Scaron":"letra S latina mayúscula con anticircunflejo","sup2":"superíndice dos\nsuperíndice de dígito dos\nelevado al cuadrado","acirc":"letra a latina minúscula con acento circunflejo","sube":"subconjunto de o igual a","sup3":"superíndice tres\nsuperíndice de dígito tres\nelevado al cubo","real":"letra R mayúscula\nnúmeros reales","Iuml":"letra I latina mayúscula con diéresis","rang":"corchete angular hacia la derecha","lsaquo":"comilla simple angular abierta","nabla":"nabla\ngradiente","omicron":"letra ómicron griega minúscula","there4":"por lo tanto","plusmn":"signo de más-menos\nsigno de más o menos","rceil":"parte superior de corchete cerrado","micro":"signo de micro","rArr":"doble flecha a la derecha","Delta":"letra delta griega mayúscula","iuml":"letra i latina minúscula con diéresis","Tau":"letra tau griega mayúscula","times":"signo de multiplicación","yacute":"letra y latina minúscula con acento agudo","ograve":"letra o latina minúscula con acento grave","delta":"letra delta griega minúscula","Ecirc":"letra E latina mayúscula con acento circunflejo","dArr":"doble flecha hacia abajo","ntilde":"letra n latina minúscula con virgulilla\nletra n latina minúscula con tilde","diams":"palo de diamantes","uacute":"letra u latina minúscula con acento agudo","Otilde":"letra O latina mayúscula con virgulilla\nletra O latina mayúscula con tilde","ecirc":"letra e latina minúscula con acento circunflejo","Upsilon":"letra ípsilon griega mayúscula","image":"letra I mayúscula\nnúmeros imaginarios","supe":"superconjunto de o igual a","xi":"letra xi griega minúscula","weierp":"letra P mayúscula cursiva"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/AutoSave.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/AutoSave.js deleted file mode 100644 index dbe80a1d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/AutoSave.js +++ /dev/null @@ -1 +0,0 @@ -({"saveLabel":"Enregistrer","saveSettingdialogTitle":"Enregistrement automatique","saveSettingdialogButtonOk":"Définir l'intervalle","saveMessageSuccess":"Enregistré à ${0}","saveSettingdialogButtonCancel":"Annuler","saveSettingdialogDescription":"Spécifiez l'intervalle d'enregistrement automatique","saveSettingLabelOn":"Définir l'intervalle d'enregistrement automatique...","saveSettingdialogParamLabel":"min","saveSettingdialogParamName":"Intervalle d'enregistrement automatique","saveMessageFail":"Echec de l'enregistrement à ${0}","saveSettingLabelOff":"Désactiver l'enregistrement automatique"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Blockquote.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Blockquote.js deleted file mode 100644 index a451aa6f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Blockquote.js +++ /dev/null @@ -1 +0,0 @@ -({"blockquote":"Bloc de citation"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Breadcrumb.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Breadcrumb.js deleted file mode 100644 index 98a2dcf9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Breadcrumb.js +++ /dev/null @@ -1 +0,0 @@ -({"selectContents":"Sélection de contenus","deleteElement":"Suppression d'un élément","moveEnd":"Déplacer le curseur vers la fin","deleteContents":"Suppression de contenus","nodeActions":"Actions ${nodeName}","selectElement":"Sélection d'un élément","moveStart":"Déplacer le curseur vers le début"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/CollapsibleToolbar.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/CollapsibleToolbar.js deleted file mode 100644 index 35641069..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/CollapsibleToolbar.js +++ /dev/null @@ -1 +0,0 @@ -({"collapse":"Réduire la barre d'outils de l'éditeur","expand":"Développer la barre d'outils de l'éditeur"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/FindReplace.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/FindReplace.js deleted file mode 100644 index 2c7eb692..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/FindReplace.js +++ /dev/null @@ -1 +0,0 @@ -({"replaceDialogText":"${0} occurrence(s) remplacée(s)","eofDialogTextFind":"trouvé","eofDialogText":"Dernière occurrence ${0}","backwards":"Vers l'arrière","replaceButton":"Remplacer","replaceLabel":"Remplacer par :","matchCase":"Respecter la casse","findTooltip":"Entrez le texte à rechercher","replaceTooltip":"Entrez le texte de remplacement","replaceAllButton":"Remplacer tout","eofDialogTextReplace":"remplacé","findReplace":"Rechercher et remplacer","backwardsTooltip":"Recherchez le texte vers l'arrière","replaceAllButtonTooltip":"Remplacez tout le texte","replaceButtonTooltip":"Remplacez le texte","findLabel":"Rechercher :","findButton":"Rechercher","matchCaseTooltip":"Respecter la casse","findButtonTooltip":"Recherchez le texte","replaceAll":"Toutes les occurrences"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/InsertAnchor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/InsertAnchor.js deleted file mode 100644 index f0332c13..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/InsertAnchor.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Définir","insertAnchor":"Insérer un point d'ancrage","title":"Propriétés du point d'ancrage","text":"Description :","cancel":"Annuler","anchor":"Nom :"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/InsertEntity.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/InsertEntity.js deleted file mode 100644 index 9cdf9613..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/InsertEntity.js +++ /dev/null @@ -1 +0,0 @@ -({"insertEntity":"Insertion d'un symbole"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/LocalImage.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/LocalImage.js deleted file mode 100644 index ebf06d28..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/LocalImage.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Insérer","text":"Description","insertImageTitle":"Insérer une image","invalidMessage":"Type de fichier image non valide","prePopuTextBrowse":" ou sélectionnez un fichier local.","browse":"Parcourir...","prePopuTextUrl":"Entrez une URL d'image","url":"Image"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/PageBreak.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/PageBreak.js deleted file mode 100644 index f7e2e6f7..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/PageBreak.js +++ /dev/null @@ -1 +0,0 @@ -({"pageBreak":"Saut de page"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/PasteFromWord.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/PasteFromWord.js deleted file mode 100644 index eaa7f8a2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/PasteFromWord.js +++ /dev/null @@ -1 +0,0 @@ -({"pasteFromWord":"Coller depuis Word","paste":"Coller","cancel":"Annuler","instructions":"Collez le contenu Word dans la zone de texte ci-dessous. Quand le contenu à insérer vous convient, appuyez sur le bouton Coller. Pour annuler l'insertion du texte, utilisez le bouton Annuler."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Preview.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Preview.js deleted file mode 100644 index 73d24e6d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Preview.js +++ /dev/null @@ -1 +0,0 @@ -({"preview":"Aperçu"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Save.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Save.js deleted file mode 100644 index 74657ea3..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Save.js +++ /dev/null @@ -1 +0,0 @@ -({"save":"Sauvegarder"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/ShowBlockNodes.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/ShowBlockNodes.js deleted file mode 100644 index 243cda50..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/ShowBlockNodes.js +++ /dev/null @@ -1 +0,0 @@ -({"showBlockNodes":"Affichage des éléments de bloc HTML"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Smiley.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Smiley.js deleted file mode 100644 index 1c0ae69e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/Smiley.js +++ /dev/null @@ -1 +0,0 @@ -({"emoticonLaughing":"rire","emoticonCool":"calme","emoticonTongue":"langue","emoticonCrying":"pleurs","emoticonOops":"oops","emoticonFrown":"froncement de sourcils","emoticonAngry":"colère","emoticonShy":"timide","emoticonNo":"non","emoticonAngel":"ange","smiley":"Insérer une émoticône","emoticonIdea":"idée","emoticonEyebrow":"sourcils","emoticonSmile":"sourire","emoticonWink":"clin d'oeil","emoticonYes":"oui","emoticonGrin":"sourire large","emoticonGoofy":"dingo","emoticonHalf":"demi"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/SpellCheck.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/SpellCheck.js deleted file mode 100644 index bd77cd54..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/SpellCheck.js +++ /dev/null @@ -1 +0,0 @@ -({"cancel":"Annuler","toDic":"Ajouter au dictionnaire","skip":"Ignorer","iMsg":"Aucune suggestion orthographique","replaceAll":"Remplacer tout","widgetLabel":"Vérification orthographique par lots","skipAll":"Ignorer tout","suggestions":"Suggestions","iSkipAll":"Ignorer chaque fois","replaceWith":"Remplacer par","msg":"Aucune faute d'orthographe trouvée","replace":"Remplacer","unfound":"Introuvable","iSkip":"Ignorer une fois"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/TableDialog.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/TableDialog.js deleted file mode 100644 index c4a1624b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/TableDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonSet":"Définir","insertTableTitle":"Insérer une table","insertTableRowAfterLabel":"Ajouter une ligne après","buttonCancel":"Annuler","center":"centré","deleteTableColumnLabel":"Supprimer la colonne","right":"aligné à droite","insertTableColumnBeforeLabel":"Ajouter une colonne avant","tableWidth":"Largeur de table :","buttonInsert":"Insérer","default":"par défaut","align":"Aligner :","insertTableRowBeforeLabel":"Ajouter une ligne avant","cellSpacing":"Espacement des cellules :","pixels":"pixels","selectTableLabel":"Sélectionner une table","rows":"Lignes :","modifyTableTitle":"Modifier une table","cellPadding":"Remplissage des cellules :","deleteTableRowLabel":"Supprimer la ligne","backgroundColor":"Couleur d'arrière-plan :","insertTableColumnAfterLabel":"Ajouter une colonne après","left":"aligné à gauche","borderThickness":"Epaisseur des bordures","columns":"Colonnes :","percent":"pourcentage","borderColor":"Couleur des bordures :"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/TextColor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/TextColor.js deleted file mode 100644 index e57138d9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/TextColor.js +++ /dev/null @@ -1 +0,0 @@ -({"setButtonText":"Définir","cancelButtonText":"Annuler"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/latinEntities.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/latinEntities.js deleted file mode 100644 index ad0b1e15..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/fr/latinEntities.js +++ /dev/null @@ -1 +0,0 @@ -({"le":"inférieur ou égal à","prod":"produit n-aire\nsigne produit","zwj":"liant sans chasse","mdash":"tiret cadratin","frasl":"barre de fraction","upsih":"Greek - upsilon avec symbole de crochet","prop":"proportionnel à","middot":"point médian\nvirgule géorgiennea\npoint médian grec","hellip":"points de suspension\ntrois points de conduite","eta":"Grec - eta minuscule","iacute":"Latin - i minuscule avec accent aigu","yen":"signe yen\nsigne yuan","rlm":"marque de droite à gauche","macr":"macron\nmacron d'espacement\nligne supérieure\nbarre supérieure APL","ldquo":"guillemet double gauche","Icirc":"Latin - I majuscule avec accent circonflexe","OElig":"Latin - Ligature OE majuscule","hArr":"flèche double vers la gauche","eth":"Latin - eth minuscule","divide":"signe division","chi":"Grec - chi minuscule","eacute":"Latin - e minuscule avec accent aigu","icirc":"Latin - i minuscule avec accent circonflexe","iexcl":"point d'exclamation inversé","ETH":"Latin - ETH majuscule","acute":"accent aigu\naccent aigu d'espacement","crarr":"flèche vers le bas avec coin vers la gauche\nretour chariot","mu":"Grec - mu minuscule","AElig":"Latin - AE majuscule\nLatin - AE majuscule (ligature)","aacute":"Latin - a minuscule avec accent aigu","lambda":"Grec - lambda minuscule","THORN":"Latin THORN majuscule","asymp":"presque égal à\nasymptotique à","fnof":"Latin - f minuscule avec crochet\nfonction\nflorin","lang":"chevron vers la gauche","cup":"union\ncup","ne":"différente de","Sigma":"Grec - sigma majuscule","oelig":"Latin - Ligature oe minuscule","cent":"signe cent","ni":"contient comme membre","dagger":"obèle","permil":"signe pour-mille","Omicron":"Grec - omicron majuscule","sigma":"Grec - sigma minuscule","euro":"signe euro","Yacute":"Latin - Y majuscule avec accent aigu","thorn":"Latin - thorn minuscule","lceil":"plafond à gauche\nmontant APL","Ograve":"Latin - O majuscule avec accent grave","rarr":"flèche vers la droite","nu":"Grec - nu minuscule","emsp":"espace cadratin","Theta":"Grec - theta majuscule","lArr":"flèche double vers la gauche","tau":"Grec - tau minuscule","aelig":"Latin - AE minuscule\nLatin - AE minuscule (ligature)","ccedil":"Latin - c minuscule avec cédille","Ntilde":"Latin - N majuscule avec tilde","cong":"approximativement égal à","Uacute":"Latin - U majuscule avec accent aigu","theta":"Grec - theta minuscule","darr":"flèche vers le bas","Uuml":"Latin - U majuscule avec tréma","bdquo":"guillemet double fermant bas","Aring":"Latin - A majuscule rond en chef\nLatin - A majuscule rond","sigmaf":"Grec - sigma final minuscule","pound":"signe livre sterling","uArr":"flèche double vers le haut","sub":"sous-ensemble de","aring":"Latin - a minuscule rond en chef\nLatin - a minuscule rond","sdot":"point","thinsp":"espace fin","or":"ou logique\nvee","Eacute":"Latin - E majuscule avec accent aigu","shy":"trait d'union conditionnel\ntiret conditionnel","curren":"signe devise","loz":"losange","not":"signe non","tilde":"petit tilde","sum":"somme n-aire","spades":"pic noir","Psi":"Grec - psi majuscule","ndash":"tiret demi-cadratin","sup":"sur-ensemble de","atilde":"Latin - a minuscule avec tilde","clubs":"trèfle noir","uuml":"Latin - u minuscule avec tréma","Aacute":"Latin - A majuscule avec accent aigu","rsaquo":"guillemet simple orienté vers la droite","otimes":"signe multiplié entouré\nproduit vectoriel","lfloor":"plancher à gauche\ndescendant APL","zwnj":"antiliant sans chasse","sim":"tilde\nvarie en fonction de\nsimilaire à","Iota":"Grec - iota majuscule","Iacute":"Latin - I majuscule avec accent aigu","pi":"Grec - pi minuscule","ordf":"indicateur ordinal féminin","frac12":"fraction commune un demi\nfraction un demi","frac14":"fraction commune un quart\nfraction un quart","alefsym":"symbole alef\npremier cardinal transfini","bull":"puce\npetit cercle noir","deg":"signe degré","ordm":"indicateur ordinal masculin","epsilon":"Grec - epsilon minuscule","equiv":"identique à","Dagger":"double obèle","brvbar":"barre interrompue\nbarre verticale interrompue","harr":"flèche vers la gauche et la droite","ugrave":"Latin - u minuscule avec accent grave","oslash":"Latin - o minuscule barré\nLatin - Ensemble vide minuscule","Yuml":"Latin - Y majuscule avec tréma","hearts":"coeur noir\nvalentine","Xi":"Grec - xi majuscule","Prime":"double apostrophe\nsecondes\npouces","iota":"Grec - iota minuscule","Ccedil":"Latin - C majuscule avec cédille","Lambda":"Grec - lambda majuscule","raquo":"guillemets ouvrants","Phi":"Grec - phi majuscule","prime":"apostrophe\nminutes\npieds","nsub":"non sous-ensemble de","copy":"signe de droit d'auteur","yuml":"Latin - y minuscule avec tréma","Rho":"Grec - rho majuscule","Ucirc":"Latin - U majuscule avec accent circonflexe","Kappa":"Grec - kappa majuscule","ucirc":"Latin - u minuscule avec accent circonflexe","sbquo":"guillemet simple fermant bas","igrave":"Latin - i minuscule avec accent grave","reg":"signe enregistré\nmarque commerciale enregistrée","infin":"infinité","iquest":"point d'interrogation inversé\npoint d'interrogation retourné","circ":"accent circonflexe de lettre modificateur","kappa":"Grec - kappa minuscule","lrm":"marque de gauche à droite","Atilde":"Latin - A majuscule avec tilde","larr":"flèche vers la gauche","frac34":"fraction commune trois quarts\nfraction trois quarts","oacute":"Latin - o minuscule avec accent aigu","rsquo":"guillemet simple fermant","egrave":"Latin - e minuscule avec accent grave","oline":"surligné\nbarre supérieure d'espacement","Mu":"Grec - mu majuscule","exist":"il existe","cap":"intersection\ncap","and":"et logique\nwedge","Ouml":"Latin - O majuscule avec tréma","agrave":"Latin - a minuscule avec accent grave\nLatin - a minuscule accent grave","uarr":"flèche vers le haut","ang":"angle","Zeta":"Grec - zeta majuscule","scaron":"Latin - s minuscule avec caron","Gamma":"Grec - gamma majuscule","isin":"élément de","Auml":"Latin - A majuscule avec tréma","empty":"ensemble vide\nensemble null\ndiamètre","gamma":"Grec - gamma minuscule","para":"symbole de paragraphe","ge":"supérieur ou égal à","psi":"Grec - psi minuscule","Alpha":"Grec - alpha majuscule","Nu":"Grec - nu majuscule","ouml":"Latin - o minuscule avec tréma","zeta":"Grec - zeta minuscule","alpha":"Grec - alpha minuscule","part":"différentiel partiel","auml":"Latin - a minuscule avec tréma","Ugrave":"Latin - U majuscule avec accent grave","Oslash":"Latin - O majuscule barré\nLatin - Ensemble vide","Epsilon":"Grec - epsilon majuscule","int":"intégrale","Omega":"Grec - omega majuscule","perp":"orthogonal à\nperpendiculaire","uml":"tréma\ntréma d'espacement","upsilon":"Grec - upsilon minuscule","lowast":"astérisque","omega":"Grec - omega minuscule","otilde":"Latin - o minuscule avec tilde","Egrave":"Latin - E majuscule avec accent grave","phi":"Grec - phi minuscule","ensp":"espace demi-cadratin","Euml":"Latin - E majuscule avec tréma","cedil":"cédille\ncédille d'espacement","laquo":"guillemets fermants","forall":"pour tous","thetasym":"Grec - theta minuscule","Agrave":"Latin - A majuscule avec accent grave\nLatin - A majuscule accent grave","szlig":"Latin - s dur minuscule\nss","Pi":"Grec - pi majuscule","rho":"Grec - rho minuscule","trade":"signe de marque commerciale","Igrave":"Latin - I majuscule avec accent grave","minus":"signe moins","Beta":"Grec - beta majuscule","Ocirc":"Latin - O majuscule avec accent circonflexe","rdquo":"guillemet double droit","Eta":"Grec - eta majuscule","rfloor":"plancher à droite","Oacute":"Latin - O majuscule avec accent aigu","euml":"Latin - e minuscule avec tréma","oplus":"plus entouré\nsomme directe","ocirc":"Latin - o minuscule avec accent circonflexe","radic":"racine carrée\nsigne radical","Chi":"Grec - chi majuscule","notin":"non élément de","sect":"signe section","Acirc":"Latin - A majuscule avec accent circonflexe","lsquo":"guillemet simple ouvrant","beta":"Grec - beta minuscule","piv":"Greek - symbole pi","sup1":"exposant un\npuissance un","Scaron":"Latin - S majuscule avec caron","sup2":"exposant deux\npuissance deux\ncarré","acirc":"Latin - a minuscule avec accent circonflexe","sube":"sous-ensemble de ou égal à","sup3":"exposant trois\npuissance trois\ncube","real":"R majuscule noir\npartie réelle","Iuml":"Latin - I majuscule avec tréma","rang":"chevron vers la droite","lsaquo":"guillemet simple orienté vers la gauche","nabla":"nabla\ndifférence arrière","omicron":"Grec - omicron minuscule","there4":"donc","plusmn":"signe plus-moins\nsigne plus-ou-moins","rceil":"plafond à droite","micro":"signe micro","rArr":"flèche double vers la droite","Delta":"Grec - delta majuscule","iuml":"Latin - i minuscule avec tréma","Tau":"Grec - tau majuscule","times":"signe multiplication","yacute":"Latin - y minuscule avec accent aigu","ograve":"Latin - o minuscule avec accent grave","delta":"Grec - delta minuscule","Ecirc":"Latin - E majuscule avec accent circonflexe","dArr":"flèche double vers le bas","ntilde":"Latin - n minuscule avec tilde","diams":"carreau noir","uacute":"Latin - u minuscule avec accent aigu","Otilde":"Latin - O majuscule avec tilde","ecirc":"Latin - e minuscule avec accent circonflexe","Upsilon":"Grec - upsilon majuscule","image":"I majuscule noir\npartie imaginaire","supe":"sur-ensemble de ou égal à","xi":"Grec - xi minuscule","weierp":"P majuscule scripte\nensemble de puissances\nfonction elliptique de Weierstrass"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/AutoSave.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/AutoSave.js deleted file mode 100644 index 0b6e1fa7..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/AutoSave.js +++ /dev/null @@ -1 +0,0 @@ -({"saveLabel":"Salva","saveSettingdialogTitle":"Salvataggio automatico","saveSettingdialogButtonOk":"Imposta intervallo","saveMessageSuccess":"Salvato alle ${0}","saveSettingdialogButtonCancel":"Annulla","saveSettingdialogDescription":"Specifica intervallo di salvataggio automatico","saveSettingLabelOn":"Imposta intervallo di salvataggio automatico...","saveSettingdialogParamLabel":"min","saveSettingdialogParamName":"Intervallo di salvataggio automatico","saveMessageFail":"Salvataggio alle ${0} non riuscito","saveSettingLabelOff":"Disattiva salvataggio automatico"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Blockquote.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Blockquote.js deleted file mode 100644 index 8472a32b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Blockquote.js +++ /dev/null @@ -1 +0,0 @@ -({"blockquote":"Blockquote"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Breadcrumb.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Breadcrumb.js deleted file mode 100644 index 55377a2b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Breadcrumb.js +++ /dev/null @@ -1 +0,0 @@ -({"selectContents":"Seleziona contenuto","deleteElement":"Elimina elemento","moveEnd":"Sposta il cursore per terminare","deleteContents":"Elimina contenuto","nodeActions":"Azioni ${nodeName}","selectElement":"Seleziona elemento","moveStart":"Sposta il cursore per iniziare"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/CollapsibleToolbar.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/CollapsibleToolbar.js deleted file mode 100644 index d3f59a3a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/CollapsibleToolbar.js +++ /dev/null @@ -1 +0,0 @@ -({"collapse":"Comprimi la barra degli strumenti dell'editor","expand":"Espandi la barra degli strumenti dell'editor"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/FindReplace.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/FindReplace.js deleted file mode 100644 index 94b7b60c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/FindReplace.js +++ /dev/null @@ -1 +0,0 @@ -({"replaceDialogText":"${0} ricorrenze sostituite.","eofDialogTextFind":"trovato","eofDialogText":"Ultima ricorrenza ${0}","backwards":"Indietro","replaceButton":"Sostituisci","replaceLabel":"Sostituisci con:","matchCase":"Maiuscole/minuscole","findTooltip":"Immettere il testo da trovare","replaceTooltip":"Immettere il testo sostitutivo","replaceAllButton":"Sostituisci tutto","eofDialogTextReplace":"sostituito","findReplace":"Trova e sostituisci","backwardsTooltip":"Cerca testo indietro","replaceAllButtonTooltip":"Sostituisci tutto il testo","replaceButtonTooltip":"Sostituisci il testo","findLabel":"Trova:","findButton":"Trova","matchCaseTooltip":"Maiuscole/minuscole","findButtonTooltip":"Trova il testo","replaceAll":"Tutte le ricorrenze"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/InsertAnchor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/InsertAnchor.js deleted file mode 100644 index 044dc113..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/InsertAnchor.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Imposta","insertAnchor":"Inserisci ancoraggio","title":"Proprietà ancoraggio","text":"Descrizione:","cancel":"Annulla","anchor":"Nome:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/InsertEntity.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/InsertEntity.js deleted file mode 100644 index 9e621807..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/InsertEntity.js +++ /dev/null @@ -1 +0,0 @@ -({"insertEntity":"Inserisci simbolo"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/LocalImage.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/LocalImage.js deleted file mode 100644 index 4fa4a8e0..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/LocalImage.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Inserisci","text":"Descrizione","insertImageTitle":"Inserisci immagine","invalidMessage":"Tipo di file immagine non valido","prePopuTextBrowse":" o individuare un file locale.","browse":"Sfoglia...","prePopuTextUrl":"Immettere un URL immagine","url":"Immagine"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/PageBreak.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/PageBreak.js deleted file mode 100644 index 3b526b00..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/PageBreak.js +++ /dev/null @@ -1 +0,0 @@ -({"pageBreak":"Interruzione di pagina"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/PasteFromWord.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/PasteFromWord.js deleted file mode 100644 index 94ce975c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/PasteFromWord.js +++ /dev/null @@ -1 +0,0 @@ -({"pasteFromWord":"Incolla da Word","paste":"Incolla","cancel":"Annulla","instructions":"Incolla il contenuto da Word nella casella di testo sottostante. Al termine dell'inserimento del contenuto, premere il pulsante Incolla. Per annullare l'inserimento del testo, premere il pulsante Annulla."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Preview.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Preview.js deleted file mode 100644 index d2728030..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Preview.js +++ /dev/null @@ -1 +0,0 @@ -({"preview":"Anteprima"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Save.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Save.js deleted file mode 100644 index 5e07c1c0..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Save.js +++ /dev/null @@ -1 +0,0 @@ -({"save":"Salva"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/ShowBlockNodes.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/ShowBlockNodes.js deleted file mode 100644 index 58c41fa4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/ShowBlockNodes.js +++ /dev/null @@ -1 +0,0 @@ -({"showBlockNodes":"Mostra elementi blocco HTML"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Smiley.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Smiley.js deleted file mode 100644 index 625cb588..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/Smiley.js +++ /dev/null @@ -1 +0,0 @@ -({"emoticonLaughing":"risata","emoticonCool":"figo","emoticonTongue":"linguaccia","emoticonCrying":"in lacrime","emoticonOops":"ops","emoticonFrown":"triste","emoticonAngry":"arrabbiato","emoticonShy":"timido","emoticonNo":"no","emoticonAngel":"angelo","smiley":"Inserisci emoticon","emoticonIdea":"idea","emoticonEyebrow":"sopracciglia","emoticonSmile":"sorriso","emoticonWink":"occhiolino","emoticonYes":"yes","emoticonGrin":"ghigno","emoticonGoofy":"sciocco","emoticonHalf":"metà"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/SpellCheck.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/SpellCheck.js deleted file mode 100644 index 179693b4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/SpellCheck.js +++ /dev/null @@ -1 +0,0 @@ -({"cancel":"Annulla","toDic":"Aggiungi al dizionario","skip":"Ignora","iMsg":"Nessun suggerimento ortografico","replaceAll":"Sostituisci tutto","widgetLabel":"Controllo ortografico batch","skipAll":"Ignora tutto","suggestions":"Suggerimenti","iSkipAll":"Ignora tutto","replaceWith":"Sostituisci con","msg":"Nessun errore di ortografia trovato","replace":"Sostituisci","unfound":"Non trovato","iSkip":"Ignora"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/TableDialog.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/TableDialog.js deleted file mode 100644 index e6e2d542..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/TableDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonSet":"Imposta","insertTableTitle":"Inserisci tabella","insertTableRowAfterLabel":"Aggiungi riga dopo","buttonCancel":"Annulla","center":"centro","deleteTableColumnLabel":"Elimina colonna","right":"destra","insertTableColumnBeforeLabel":"Aggiungi colonna prima","tableWidth":"Larghezza tabelle:","buttonInsert":"Inserisci","default":"predefinito","align":"Allinea:","insertTableRowBeforeLabel":"Aggiungi riga prima","cellSpacing":"Spaziatura celle:","pixels":"pixel","selectTableLabel":"Seleziona tabella","rows":"Righe:","modifyTableTitle":"Modifica tabella","cellPadding":"Padding celle:","deleteTableRowLabel":"Elimina riga","backgroundColor":"Colore di sfondo:","insertTableColumnAfterLabel":"Aggiungi colonna dopo","left":"sinistra","borderThickness":"Spessore bordi","columns":"Colonne:","percent":"percentuale","borderColor":"Colore bordi:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/TextColor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/TextColor.js deleted file mode 100644 index 899f297e..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/TextColor.js +++ /dev/null @@ -1 +0,0 @@ -({"setButtonText":"Imposta","cancelButtonText":"Annulla"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/latinEntities.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/latinEntities.js deleted file mode 100644 index 34a2a1e7..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/it/latinEntities.js +++ /dev/null @@ -1 +0,0 @@ -({"le":"minore di o uguale a","prod":"prodotto n-ario\nsegno di prodotto","zwj":"congiuntore di larghezza zero","mdash":"trattino em","frasl":"barra obliqua di frazione","upsih":"simbolo della upsilon greca con uncino","prop":"proporzionale a","middot":"punto in mezzo\nvirgola georgiana\npunto centrale greco","hellip":"puntini di sospensione\ntre puntini di guida","eta":"lettera greca minuscola eta","iacute":"lettera latina i minuscola con accento acuto","yen":"simbolo dello yen\nsimbolo dello yuan","rlm":"segno da-destra-a-sinistra","macr":"macron\nmacron con spaziatura\nlinea orizzontale superiore\nbarra sovrapposta APL","ldquo":"virgolette doppie sinistre","Icirc":"lettera latina I maiuscola con accento circonflesso","OElig":"legatura latina OE maiuscola","hArr":"doppia freccia sinistra destra","eth":"lettera latina eth minuscola","divide":"segno di divisione","chi":"lettera greca minuscola chi","eacute":"lettera latina e minuscola con accento acuto","icirc":"lettera latina i minuscola con accento circonflesso","iexcl":"punto esclamativo capovolto","ETH":"lettera latina ETH maiuscola","acute":"accento acuto\nacuto con spaziatura","crarr":"freccia verso il basso con angolo a sinistra\nritorno a capo","mu":"lettera greca minuscola mu","AElig":"lettera latina AE maiuscola\nlegatura latina maiuscola AE","aacute":"lettera latina a minuscola con accento acuto","lambda":"lettera greca minuscola lambda","THORN":"lettera latina THORN maiuscola","asymp":"quasi uguale a\nasintotico a","fnof":"f latina minuscola con uncino\nfunzione\nfiorino","lang":"parentesi angolare sinistra","cup":"unione\ncoppa","ne":"non uguale a","Sigma":"lettera greca maiuscola sigma","oelig":"legatura latina oe minuscola","cent":"simbolo del centesimo","ni":"contiene come membro","dagger":"croce latina","permil":"segno di per mille","Omicron":"lettera greca maiuscola omicron","sigma":"lettera greca minuscola sigma","euro":"simbolo dell'euro","Yacute":"lettera latina Y maiuscola con accento acuto","thorn":"lettera latina thorn minuscola","lceil":"soffitto sinistro\ngradino in su APL","Ograve":"lettera latina O maiuscola con accento grave","rarr":"freccia verso destra","nu":"lettera greca minuscola nu","emsp":"spazio em","Theta":"lettera greca maiuscola theta","lArr":"doppia freccia verso sinistra","tau":"lettera greca minuscola tau","aelig":"lettera latina ae minuscola\nlegatura latina minuscola ae","ccedil":"lettera latina c minuscola con cediglia","Ntilde":"lettera latina N maiuscola con tilde","cong":"approssimativamente uguale a","Uacute":"lettera latina U maiuscola con accento acuto","theta":"lettera greca minuscola theta","darr":"freccia verso il basso","Uuml":"lettera latina U maiuscola con dieresi","bdquo":"virgolette doppie in basso a destra","Aring":"lettera latina A maiuscola con sormontata da anello\nlettera latina A maiuscola anellata","sigmaf":"lettera greca minuscola sigma finale","pound":"simbolo della sterlina","uArr":"doppia freccia verso l'alto","sub":"sottoinsieme di","aring":"lettera latina a minuscola sormontata da anello\nlettera latina a minuscola anellata","sdot":"operatore punto","thinsp":"spazio finissimo","or":"o logico\nvi","Eacute":"lettera latina E maiuscola con accento acuto","shy":"trattino debole\ntrattino discrezionale","curren":"simbolo di valuta","loz":"losanga","not":"simbolo di negazione","tilde":"tilde piccola","sum":"sommatoria n-aria","spades":"seme di picche nero","Psi":"lettera greca maiuscola psi","ndash":"trattino en","sup":"sovrainsieme di","atilde":"lettera latina a minuscola con tilde","clubs":"seme di fiori nero\ntrifoglio","uuml":"lettera latina u minuscola con dieresi","Aacute":"lettera latina A maiuscola con accento acuto","rsaquo":"virgoletta angolare singola rivolta a destra","otimes":"per cerchiato\nprodotto vettoriale","lfloor":"pavimento sinistro\ngradino in giù APL","zwnj":"non-congiuntore di larghezza zero","sim":"operatore tilde\nvaria con\nsimile a","Iota":"lettera greca maiuscola iota","Iacute":"lettera latina I maiuscola con accento acuto","pi":"lettera greca minuscola pi","ordf":"indicatore ordinale femminile","frac12":"frazione semplice un mezzo\nfrazione un mezzo","frac14":"frazione semplice un quarto\nfrazione un quarto","alefsym":"simbolo alef\nprimo cardinale transfinito","bull":"pallino\npiccolo cerchio nero","deg":"simbolo dei gradi","ordm":"indicatore ordinale maschile","epsilon":"lettera greca minuscola epsilon","equiv":"identico a","Dagger":"croce latina doppia","brvbar":"barra interrotta\nbarra verticale interrotta","harr":"freccia sinistra destra","ugrave":"lettera latina u minuscola con accento grave","oslash":"lettera latina o minuscola con barra obliqua\nlettera latina o minuscola barrata","Yuml":"lettera latina Y maiuscola con dieresi","hearts":"seme di cuori nero\ninnamorato","Xi":"lettera greca maiuscola xi","Prime":"doppio apice\nsecondi\npollici","iota":"lettera greca minuscola iota","Ccedil":"lettera latina C maiuscola con cediglia","Lambda":"lettera greca maiuscola lambda","raquo":"virgolette doppie angolari indicanti a destra\n guillemet indicante a destra","Phi":"lettera greca maiuscola phi","prime":"apice\nminuti\npiedi","nsub":"non un sottoinsieme di","copy":"simbolo del copyright","yuml":"lettera latina y minuscola con dieresi","Rho":"lettera greca maiuscola rho","Ucirc":"lettera latina U maiuscola con accento circonflesso","Kappa":"lettera greca maiuscola kappa","ucirc":"lettera latina u minuscola con accento circonflesso","sbquo":"virgoletta singola in basso a destra","igrave":"lettera latina i minuscola con accento grave","reg":"simbolo di registrazione\nsimbolo di marchio registrato","infin":"infinito","iquest":"punto interrogativo invertito\npunto interrogativo rovesciato","circ":"lettera modificatrice accento circonflesso","kappa":"lettera greca minuscola kappa","lrm":"segno da-sinistra-a-destra","Atilde":"lettera latina A maiuscola con tilde","larr":"freccia verso sinistra","frac34":"frazione semplice tre quarti\nfrazione tre quarti","oacute":"lettera latina o minuscola con accento acuto","rsquo":"virgoletta destra singola","egrave":"lettera latina e minuscola con accento grave","oline":"linea sopra\noverscore con spazio","Mu":"lettera greca maiuscola mu","exist":"esiste","cap":"intersezione\nberretto","and":"and logico\ncuneo","Ouml":"lettera latina O maiuscola con dieresi","agrave":"lettera latina a minuscola con accento grave\nlettera latina a minuscola grave","uarr":"freccia verso l'alto","ang":"angolo","Zeta":"lettera greca maiuscola zeta","scaron":"lettera latina s minuscola con caron","Gamma":"lettera greca maiuscola gamma","isin":"elemento di","Auml":"lettera latina A maiuscola con dieresi","empty":"insieme vuoto\ninsieme nullo\ndiametro","gamma":"lettera greca minuscola gamma","para":"simbolo pilcrow\nsimbolo di paragrafo","ge":"maggiore di o uguale a","psi":"lettera greca minuscola psi","Alpha":"lettera greca maiuscola alpha","Nu":"lettera greca maiuscola nu","ouml":"lettera latina o minuscola con dieresi","zeta":"lettera greca minuscola zeta","alpha":"lettera greca maiuscola alpha","part":"differenziale parziale","auml":"lettera latina a minuscola con dieresi","Ugrave":"lettera latina U maiuscola con accento grave","Oslash":"lettera latina O maiuscola con barra obliqua\nlettera latina O maiuscola barrata","Epsilon":"lettera greca maiuscola epsilon","int":"integrale","Omega":"lettera greca maiuscola omega","perp":"puntina in su\nortogonale a\nperpendicolare","uml":"dieresi\ndieresi con spazio","upsilon":"lettera greca minuscola upsilon","lowast":"operatore asterisco","omega":"lettera greca minuscola omega","otilde":"lettera latina o minuscola con tilde","Egrave":"lettera latina E maiuscola con accento grave","phi":"lettera greca minuscola phi","ensp":"spazio en","Euml":"lettera latina E maiuscola con dieresi","cedil":"cediglia\ncediglia con spazio","laquo":"virgolette doppie angolari indicanti a sinistra\nguillemet indicante a sinistra","forall":"per tutti","thetasym":"simbolo della lettera greca minuscola theta","Agrave":"lettera latina A maiuscola con accento grave\nlettera latina A maiuscola grave","szlig":"lettera latina s minuscola sonora\nesse-zeta","Pi":"lettera greca maiuscola pi","rho":"lettera greca minuscola rho","trade":"simbolo di marchio commerciale","Igrave":"lettera latina I maiuscola con accento grave","minus":"segno meno","Beta":"lettera greca maiuscola beta","Ocirc":"lettera latina O maiuscola con accento circonflesso","rdquo":"virgolette doppie destre","Eta":"lettera greca maiuscola eta","rfloor":"pavimento destro","Oacute":"lettera latina O maiuscola con accento acuto","euml":"lettera latina e minuscola con dieresi","oplus":"più cerchiato\nsomma diretta","ocirc":"lettera latina o minuscola con accento circonflesso","radic":"radice quadrata\nsegno di radice","Chi":"lettera greca maiuscola chi","notin":"non un elemento di","sect":"simbolo di sezione","Acirc":"lettera latina A maiuscola con accento circonflesso","lsquo":"virgoletta sinistra singola","beta":"lettera greca minuscola beta","piv":"simbolo di pi greco","sup1":"esponente uno\nnumero uno in esponente","Scaron":"lettera latina S maiuscola con caron","sup2":"esponente due\nnumero due in esponente\nal quadrato","acirc":"lettera latina a minuscola con accento circonflesso","sube":"sottoinsieme di o uguale a","sup3":"esponente tre\nnumero tre in esponente\nal cubo","real":"R maiuscola gotica\nsimbolo di elemento reale","Iuml":"lettera latina I maiuscola con dieresi","rang":"parentesi angolare destra","lsaquo":"virgoletta angolare singola rivolta a sinistra","nabla":"nabla\ndifferenza retrograda","omicron":"lettera greca minuscola omicron","there4":"pertanto","plusmn":"segno più-meno\nsegno più o meno","rceil":"soffitto destro","micro":"simbolo di micro","rArr":"doppia freccia verso destra","Delta":"lettera greca maiuscola delta","iuml":"lettera latina i minuscola con dieresi","Tau":"lettera greca maiuscola tau","times":"segno di moltiplicazione","yacute":"lettera latina y minuscola con accento acuto","ograve":"lettera latina o minuscola con accento grave","delta":"lettera greca minuscola delta","Ecirc":"lettera latina E maiuscola con accento circonflesso","dArr":"doppia freccia verso il basso","ntilde":"lettera latina n minuscola con tilde","diams":"seme di quadri nero","uacute":"lettera latina u minuscola con accento acuto","Otilde":"lettera latina O maiuscola con tilde","ecirc":"lettera latina e minuscola con accento circonflesso","Upsilon":"lettera greca maiuscola upsilon","image":"I maiuscola gotica\nelemento immaginario","supe":"sovrainsieme di o uguale a","xi":"lettera greca minuscola xi","weierp":"P maiuscola scritta a mano\ninsieme potenza\np di Weierstrass"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/latinEntities.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/latinEntities.js deleted file mode 100644 index f49065e4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/latinEntities.js +++ /dev/null @@ -1 +0,0 @@ -({"le":"less-than or equal to","prod":"n-ary product\nproduct sign","zwj":"zero width joiner","mdash":"em dash","frasl":"fraction slash","upsih":"Greek upsilon with hook symbol","prop":"proportional to","middot":"middle dot\nGeorgian comma\nGreek middle dot","hellip":"horizontal ellipsis\nthree dot leader","eta":"Greek small letter eta","iacute":"Latin small letter i with acute","yen":"yen sign\nyuan sign","rlm":"right-to-left mark","macr":"macron\nspacing macron\noverline\nAPL overbar","ldquo":"left double quotation mark","Icirc":"Latin capital letter I with circumflex","OElig":"Latin capital ligature OE","hArr":"left right double arrow","eth":"Latin small letter eth","divide":"division sign","chi":"Greek small letter chi","eacute":"Latin small letter e with acute","icirc":"Latin small letter i with circumflex","iexcl":"inverted exclamation mark","ETH":"Latin capital letter ETH","acute":"acute accent\nspacing acute","crarr":"downwards arrow with corner leftwards\ncarriage return","mu":"Greek small letter mu","AElig":"Latin capital letter AE\nLatin capital ligature AE","aacute":"Latin small letter a with acute","lambda":"Greek small letter lambda","THORN":"Latin capital letter THORN","asymp":"almost equal to\nasymptotic to","fnof":"Latin small f with hook\nfunction\nflorin","lang":"left-pointing angle bracket","cup":"union\ncup","ne":"not equal to","Sigma":"Greek capital letter sigma","oelig":"Latin small ligature oe","cent":"cent sign","ni":"contains as member","dagger":"dagger","permil":"per mille sign","Omicron":"Greek capital letter omicron","sigma":"Greek small letter sigma","euro":"euro sign","Yacute":"Latin capital letter Y with acute","thorn":"Latin small letter thorn","lceil":"left ceiling\nAPL upstile","Ograve":"Latin capital letter O with grave","rarr":"rightwards arrow","nu":"Greek small letter nu","emsp":"em space","Theta":"Greek capital letter theta","lArr":"leftwards double arrow","tau":"Greek small letter tau","aelig":"Latin small letter ae\nLatin small ligature ae","ccedil":"Latin small letter c with cedilla","Ntilde":"Latin capital letter N with tilde","cong":"approximately equal to","Uacute":"Latin capital letter U with acute","theta":"Greek small letter theta","darr":"downwards arrow","Uuml":"Latin capital letter U with diaeresis","bdquo":"double low-9 quotation mark","Aring":"Latin capital letter A with ring above\nLatin capital letter A ring","sigmaf":"Greek small letter final sigma","pound":"pound sign","uArr":"upwards double arrow","sub":"subset of","aring":"Latin small letter a with ring above\nLatin small letter a ring","sdot":"dot operator","thinsp":"thin space","or":"logical or\nvee","Eacute":"Latin capital letter E with acute","shy":"soft hyphen\ndiscretionary hyphen","curren":"currency sign","loz":"lozenge","not":"not sign","tilde":"small tilde","sum":"n-ary sumation","spades":"black spade suit","Psi":"Greek capital letter psi","ndash":"en dash","sup":"superset of","atilde":"Latin small letter a with tilde","clubs":"black club suit\nshamrock","uuml":"Latin small letter u with diaeresis","Aacute":"Latin capital letter A with acute","rsaquo":"single right-pointing angle quotation mark","otimes":"circled times\nvector product","lfloor":"left floor\nAPL downstile","zwnj":"zero width non-joiner","sim":"tilde operator\nvaries with\nsimilar to","Iota":"Greek capital letter iota","Iacute":"Latin capital letter I with acute","pi":"Greek small letter pi","ordf":"feminine ordinal indicator","frac12":"vulgar fraction one half\nfraction one half","frac14":"vulgar fraction one quarter\nfraction one quarter","alefsym":"alef symbol\nfirst transfinite cardinal","bull":"bullet\nblack small circle","deg":"degree sign","ordm":"masculine ordinal indicator","epsilon":"Greek small letter epsilon","equiv":"identical to","Dagger":"double dagger","brvbar":"broken bar\nbroken vertical bar","harr":"left right arrow","ugrave":"Latin small letter u with grave","oslash":"Latin small letter o with stroke\nLatin small letter o slash","Yuml":"Latin capital letter Y with diaeresis","hearts":"black heart suit\nvalentine","Xi":"Greek capital letter xi","Prime":"double prime\nseconds\ninches","iota":"Greek small letter iota","Ccedil":"Latin capital letter C with cedilla","Lambda":"Greek capital letter lambda","raquo":"right-pointing double angle quotation mark\nright pointing guillemet","Phi":"Greek capital letter phi","prime":"prime\nminutes\nfeet","nsub":"not a subset of","copy":"copyright sign","yuml":"Latin small letter y with diaeresis","Rho":"Greek capital letter rho","Ucirc":"Latin capital letter U with circumflex","Kappa":"Greek capital letter kappa","ucirc":"Latin small letter u with circumflex","sbquo":"single low-9 quotation mark","igrave":"Latin small letter i with grave","reg":"registered sign\nregistered trade mark sign","infin":"infinity","iquest":"inverted question mark\nturned question mark","circ":"modifier letter circumflex accent","kappa":"Greek small letter kappa","lrm":"left-to-right mark","Atilde":"Latin capital letter A with tilde","larr":"leftwards arrow","frac34":"vulgar fraction three quarters\nfraction three quarters","oacute":"Latin small letter o with acute","rsquo":"right single quotation mark","egrave":"Latin small letter e with grave","oline":"overline\nspacing overscore","Mu":"Greek capital letter mu","exist":"there exists","cap":"intersection\ncap","and":"logical and\nwedge","Ouml":"Latin capital letter O with diaeresis","agrave":"Latin small letter a with grave\nLatin small letter a grave","uarr":"upwards arrow","ang":"angle","Zeta":"Greek capital letter zeta","scaron":"Latin small letter s with caron","Gamma":"Greek capital letter gamma","isin":"element of","Auml":"Latin capital letter A with diaeresis","empty":"empty set\nnull set\ndiameter","gamma":"Greek small letter gamma","para":"pilcrow sign\nparagraph sign","ge":"greater-than or equal to","psi":"Greek small letter psi","Alpha":"Greek capital letter alpha","Nu":"Greek capital letter nu","ouml":"Latin small letter o with diaeresis","zeta":"Greek small letter zeta","alpha":"Greek small letter alpha","part":"partial differential","auml":"Latin small letter a with diaeresis","Ugrave":"Latin capital letter U with grave","Oslash":"Latin capital letter O with stroke\nLatin capital letter O slash","Epsilon":"Greek capital letter epsilon","int":"integral","Omega":"Greek capital letter omega","perp":"up tack\northogonal to\nperpendicular","uml":"diaeresis\nspacing diaeresis","upsilon":"Greek small letter upsilon","lowast":"asterisk operator","omega":"Greek small letter omega","otilde":"Latin small letter o with tilde","Egrave":"Latin capital letter E with grave","phi":"Greek small letter phi","ensp":"en space","Euml":"Latin capital letter E with diaeresis","cedil":"cedilla\nspacing cedilla","laquo":"left-pointing double angle quotation mark\nleft pointing guillemet","forall":"for all","thetasym":"Greek small letter theta symbol","Agrave":"Latin capital letter A with grave\nLatin capital letter A grave","szlig":"Latin small letter sharp s\ness-zed","Pi":"Greek capital letter pi","rho":"Greek small letter rho","trade":"trade mark sign","Igrave":"Latin capital letter I with grave","minus":"minus sign","Beta":"Greek capital letter beta","Ocirc":"Latin capital letter O with circumflex","rdquo":"right double quotation mark","Eta":"Greek capital letter eta","rfloor":"right floor","Oacute":"Latin capital letter O with acute","euml":"Latin small letter e with diaeresis","oplus":"circled plus\ndirect sum","ocirc":"Latin small letter o with circumflex","radic":"square root\nradical sign","Chi":"Greek capital letter chi","notin":"not an element of","sect":"section sign","Acirc":"Latin capital letter A with circumflex","lsquo":"left single quotation mark","beta":"Greek small letter beta","piv":"Greek pi symbol","sup1":"superscript one\nsuperscript digit one","Scaron":"Latin capital letter S with caron","sup2":"superscript two\nsuperscript digit two\nsquared","acirc":"Latin small letter a with circumflex","sube":"subset of or equal to","sup3":"superscript three\nsuperscript digit three\ncubed","real":"blackletter capital R\nreal part symbol","Iuml":"Latin capital letter I with diaeresis","rang":"right-pointing angle bracket","lsaquo":"single left-pointing angle quotation mark","nabla":"nabla\nbackward difference","omicron":"Greek small letter omicron","there4":"therefore","plusmn":"plus-minus sign\nplus-or-minus sign","rceil":"right ceiling","micro":"micro sign","rArr":"rightwards double arrow","Delta":"Greek capital letter delta","iuml":"Latin small letter i with diaeresis","Tau":"Greek capital letter tau","times":"multiplication sign","yacute":"Latin small letter y with acute","ograve":"Latin small letter o with grave","delta":"Greek small letter delta","Ecirc":"Latin capital letter E with circumflex","dArr":"downwards double arrow","ntilde":"Latin small letter n with tilde","diams":"black diamond suit","uacute":"Latin small letter u with acute","Otilde":"Latin capital letter O with tilde","ecirc":"Latin small letter e with circumflex","Upsilon":"Greek capital letter upsilon","image":"blackletter capital I\nimaginary part","supe":"superset of or equal to","xi":"Greek small letter xi","weierp":"script capital P\npower set\nWeierstrass p"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/AutoSave.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/AutoSave.js deleted file mode 100644 index 8b7d23bf..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/AutoSave.js +++ /dev/null @@ -1 +0,0 @@ -({"saveLabel":"Сохранить","saveSettingdialogTitle":"Автосохранение","saveSettingdialogButtonOk":"Задать интервал","saveMessageSuccess":"Сохранено ${0}","saveSettingdialogButtonCancel":"Отменить","saveSettingdialogDescription":"Укажите интервал автосохранения","saveSettingLabelOn":"Задать интервал автосохранения...","saveSettingdialogParamLabel":"мин","saveSettingdialogParamName":"Интервал автосохранения","saveMessageFail":"Не удалось сохранить ${0}","saveSettingLabelOff":"Выключить автосохранение"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Blockquote.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Blockquote.js deleted file mode 100644 index f446e6b5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Blockquote.js +++ /dev/null @@ -1 +0,0 @@ -({"blockquote":"Блок цитат"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Breadcrumb.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Breadcrumb.js deleted file mode 100644 index 448318dd..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Breadcrumb.js +++ /dev/null @@ -1 +0,0 @@ -({"selectContents":"Выбрать содержимое","deleteElement":"Удалить элемент","moveEnd":"Поместить курсор в конец","deleteContents":"Удалить содержимое","nodeActions":"${nodeName}: действия","selectElement":"Выбрать элемент","moveStart":"Поместить курсор в начало"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/CollapsibleToolbar.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/CollapsibleToolbar.js deleted file mode 100644 index 6ce47abb..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/CollapsibleToolbar.js +++ /dev/null @@ -1 +0,0 @@ -({"collapse":"Свернуть панель редактирования","expand":"Развернуть панель редактирования"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/FindReplace.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/FindReplace.js deleted file mode 100644 index 2b446344..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/FindReplace.js +++ /dev/null @@ -1 +0,0 @@ -({"replaceDialogText":"Заменено ${0} вхождений.","eofDialogTextFind":"найдено","eofDialogText":"Последнее вхождение ${0}","backwards":"Назад","replaceButton":"Заменить","replaceLabel":"Заменить на:","matchCase":"С учетом регистра","findTooltip":"Введите текст для поиска","replaceTooltip":"Введите текст для замены","replaceAllButton":"Заменить все","eofDialogTextReplace":"заменено","findReplace":"Найти и заменить","backwardsTooltip":"Поиск текста в обратном направлении","replaceAllButtonTooltip":"Заменить весь текст","replaceButtonTooltip":"Заменить текст","findLabel":"Найти:","findButton":"Найти","matchCaseTooltip":"С учетом регистра","findButtonTooltip":"Найти текст","replaceAll":"Все вхождения"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/InsertAnchor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/InsertAnchor.js deleted file mode 100644 index 64d3d3a6..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/InsertAnchor.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Задать","insertAnchor":"Вставить метку","title":"Свойства метки","text":"Описание:","cancel":"Отменить","anchor":"Имя:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/InsertEntity.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/InsertEntity.js deleted file mode 100644 index b96e39b8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/InsertEntity.js +++ /dev/null @@ -1 +0,0 @@ -({"insertEntity":"Вставить символ"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/LocalImage.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/LocalImage.js deleted file mode 100644 index bc746475..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/LocalImage.js +++ /dev/null @@ -1 +0,0 @@ -({"set":"Вставить","text":"Описание","insertImageTitle":"Вставить изображение","invalidMessage":"Недопустимый тип файла изображения","prePopuTextBrowse":" или выберите локальный файл.","browse":"Обзор...","prePopuTextUrl":"Введите URL изображения","url":"Изображение"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/PageBreak.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/PageBreak.js deleted file mode 100644 index e371e2ca..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/PageBreak.js +++ /dev/null @@ -1 +0,0 @@ -({"pageBreak":"Разделитель страниц"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/PasteFromWord.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/PasteFromWord.js deleted file mode 100644 index 27996aab..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/PasteFromWord.js +++ /dev/null @@ -1 +0,0 @@ -({"pasteFromWord":"Вставить из Word","paste":"Вставить","cancel":"Отменить","instructions":"Вставить содержимое из Word в текстовое поле ниже. Когда выберите содержимое для вставки, нажмите кнопку Вставить. Для отмены вставки текста нажмите кнопку Отмена."}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Preview.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Preview.js deleted file mode 100644 index 0a8069d9..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Preview.js +++ /dev/null @@ -1 +0,0 @@ -({"preview":"Предварительный просмотр"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Save.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Save.js deleted file mode 100644 index 8e711ea4..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Save.js +++ /dev/null @@ -1 +0,0 @@ -({"save":"Сохранить"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/ShowBlockNodes.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/ShowBlockNodes.js deleted file mode 100644 index 308f6c24..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/ShowBlockNodes.js +++ /dev/null @@ -1 +0,0 @@ -({"showBlockNodes":"Показать элементы блока HTML"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Smiley.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Smiley.js deleted file mode 100644 index 145f1315..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/Smiley.js +++ /dev/null @@ -1 +0,0 @@ -({"emoticonLaughing":"смех","emoticonCool":"здорово","emoticonTongue":"насмешка","emoticonCrying":"плачь","emoticonOops":"уупс","emoticonFrown":"хмурый вид","emoticonAngry":"злость","emoticonShy":"застенчивость","emoticonNo":"нет","emoticonAngel":"ангел","smiley":"Вставить значок настроения","emoticonIdea":"есть идея","emoticonEyebrow":"удивление","emoticonSmile":"улыбка","emoticonWink":"подмигивание","emoticonYes":"да","emoticonGrin":"усмешка","emoticonGoofy":"глупый","emoticonHalf":"половина"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/SpellCheck.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/SpellCheck.js deleted file mode 100644 index db427dd3..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/SpellCheck.js +++ /dev/null @@ -1 +0,0 @@ -({"cancel":"Отменить","toDic":"Добавить в словарь","skip":"Пропустить","iMsg":"Нет вариантов написания","replaceAll":"Заменить все","widgetLabel":"Проверка орфографии","skipAll":"Пропустить все","suggestions":"Варианты","iSkipAll":"Пропусть все схожие","replaceWith":"Заменить на","msg":"Ошибок не найдено","replace":"Заменить","unfound":"Не найдено","iSkip":"Пропустить это"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/TableDialog.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/TableDialog.js deleted file mode 100644 index 8811d125..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/TableDialog.js +++ /dev/null @@ -1 +0,0 @@ -({"buttonSet":"Задать","insertTableTitle":"Вставить таблицу","insertTableRowAfterLabel":"Добавить строку после","buttonCancel":"Отмена","center":"по центру","deleteTableColumnLabel":"Удалить столбец","right":"по правому краю","insertTableColumnBeforeLabel":"Добавить столбец перед","tableWidth":"Ширина таблицы:","buttonInsert":"Вставить","default":"по умолчанию","align":"Выровнять:","insertTableRowBeforeLabel":"Добавить строку перед","cellSpacing":"Расстояние между ячейками:","pixels":"пикселов","selectTableLabel":"Выбрать таблицу","rows":"Строк:","modifyTableTitle":"Изменить таблицу","cellPadding":"Отступ внутри ячеек:","deleteTableRowLabel":"Удалить строку","backgroundColor":"Цвет фона:","insertTableColumnAfterLabel":"Добавить столбец после","left":"по левому краю","borderThickness":"Толщина рамки","columns":"Столбцов:","percent":"процентов","borderColor":"Цвет рамки:"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/TextColor.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/TextColor.js deleted file mode 100644 index d185eb2c..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/TextColor.js +++ /dev/null @@ -1 +0,0 @@ -({"setButtonText":"Задать","cancelButtonText":"Отменить"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/latinEntities.js b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/latinEntities.js deleted file mode 100644 index f8c9daed..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/nls/ru/latinEntities.js +++ /dev/null @@ -1 +0,0 @@ -({"le":"меньше или равно","prod":"n-арное произведение\nсимвол произведения","zwj":"соединитель нулевой ширины","mdash":"тире длины M","frasl":"косая черта","upsih":"греческий ипсилон с хвостиком","prop":"пропорционально","middot":"средняя точка\nзапятая в грузинском\nсредняя точка в греческом","hellip":"многоточие\nтри точки","eta":"греческая строчная буква эта","iacute":"латинская строчная буква i с акутом","yen":"символ иены\nсимвол юаня","rlm":"знак справа-налево","macr":"знак долготы\nзнак долготы с интервалом\nверхняя черта\nнадчеркивание APL","ldquo":"левая двойная кавычка","Icirc":"латинская прописная буква I с циркумфлексом","OElig":"латинская прописная лигатура OE","hArr":"двойная стрелка влево-вправо","eth":"латинская строчная буква eth","divide":"знак деления","chi":"греческая строчная буква хи","eacute":"латинская строчная буква e с акутом","icirc":"латинская строчная буква i с циркумфлексом","iexcl":"инвертированный восклицательный знак","ETH":"латинская прописная буква ETH","acute":"знак акут\nакут с интервалом","crarr":"стрелка вниз с углом вправо\nвозврат каретки","mu":"греческая строчная буква мю","AElig":"латинская прописная буква AE\nлатинская прописная лигатура AE","aacute":"латинская строчная буква a с акутом","lambda":"греческая строчная буква лямбда","THORN":"латинская прописная буква THORN","asymp":"почти равно\nасимптотично","fnof":"латинская строчная буква f с хвостиком\nфункция\nфлорин","lang":"левая угловая скобка","cup":"объединение\nчашечка","ne":"не равно","Sigma":"греческая прописная буква сигма","oelig":"латинская строчная лигатура oe","cent":"символ цента","ni":"содержит в качестве элемента","dagger":"крест","permil":"знак промилле","Omicron":"греческая прописная буква омикрон","sigma":"греческая строчная буква сигма","euro":"символ евро","Yacute":"латинская прописная буква Y с акутом","thorn":"латинская строчная буква thorn","lceil":"левая скобка округления вверх\nAPL upstile","Ograve":"латинская прописная буква O с грависом","rarr":"стрелка вправо","nu":"греческая строчная буква ню","emsp":"пробел длины M","Theta":"греческая прописная буква тета","lArr":"двойная стрелка влево","tau":"греческая строчная буква тау","aelig":"латинская строчная буква ae\nлатинская строчная лигатура ae","ccedil":"латинская строчная буква c с седилью","Ntilde":"латинская прописная буква N с тильдой","cong":"приблизительно равно","Uacute":"латинская прописная буква U с акутом","theta":"греческая строчная буква тета","darr":"стрелка вниз","Uuml":"латинская прописная буква U с тремой","bdquo":"двойная нижняя кавычка","Aring":"латинская прописная буква A с кружком сверху\nлатинская прописная буква A с кружком","sigmaf":"греческая строчная конечная сигма","pound":"символ фунта стерлингов","uArr":"двойная стрелка вверх","sub":"подмножество","aring":"латинская строчная буква a с кружком сверху\nлатинская строчная a с кружком","sdot":"оператор точка","thinsp":"узкий пробел","or":"логическое ИЛИ\nклин вниз","Eacute":"латинская прописная буква E с акутом","shy":"мягкий перенос\nвозможный перенос","curren":"символ денежной единицы","loz":"ромб","not":"знак отрицания","tilde":"малая тильда","sum":"n-арное суммирование","spades":"пики","Psi":"греческая прописная буква пси","ndash":"тире длины N","sup":"включает в себя","atilde":"латинская строчная буква a с тильдой","clubs":"крести\nтрилистник","uuml":"латинская строчная буква u с тремой","Aacute":"латинская прописная буква A с акутом","rsaquo":"одинарная правая угловая кавычка","otimes":"умножение в круге\nвекторное произведение","lfloor":"левая скобка округления вниз\nAPL downstile","zwnj":"разделитель нулевой ширины","sim":"оператор тильда\nизменяться с\nподобно","Iota":"греческая прописная буква йота","Iacute":"латинская прописная буква I с акутом","pi":"греческая строчная буква пи","ordf":"индикатор женского рода","frac12":"дробь одна вторая\nодна вторая","frac14":"дробь одна четвертая\nодна четверть","alefsym":"буква Алеф\nкардинальное число","bull":"маркер списка\nчерный маленький кружок","deg":"символ градусов","ordm":"индикатор мужского рода","epsilon":"греческая строчная буква эпсилон","equiv":"идентично","Dagger":"двойной крест","brvbar":"прерывистая черта\nвертикальная прерывистая черта","harr":"стрелка влево-вправо","ugrave":"латинская строчная буква u с грависом","oslash":"латинская строчная буква o перечеркнутая\nлатинская строчная буква o с вертикальной чертой","Yuml":"латинская прописная буква Y с тремой","hearts":"червы\nвалентинка","Xi":"греческая прописная буква кси","Prime":"двойной штрих\nсекунды\nдюймы","iota":"греческая строчная буква йота","Ccedil":"латинская прописная буква C с седилью","Lambda":"греческая прописная буква лямбда","raquo":"правая двойная угловая кавычка\nправая кавычка","Phi":"греческая прописная буква фи","prime":"штрих\nминуты\nфуты","nsub":"не является подмножеством","copy":"символ авторских прав","yuml":"латинская строчная буква y с тремой","Rho":"греческая прописная буква ро","Ucirc":"латинская прописная буква U с циркумфлексом","Kappa":"греческая прописная буква каппа","ucirc":"латинская строчная буква u с циркумфлексом","sbquo":"одиночная нижняя кавычка","igrave":"латинская строчная буква i с грависом","reg":"символ Зарегистрирован\nсимвол зарегистрированного товарного знака","infin":"бесконечность","iquest":"инвертированный знак вопроса\nперевернутый знак вопроса","circ":"надстрочный знак циркумфлекс","kappa":"греческая строчная буква каппа","lrm":"знак слева-направо","Atilde":"латинская прописная буква A с тильдой","larr":"стрелка влево","frac34":"дробь три четверти\nтри четверти","oacute":"латинская строчная буква o с акутом","rsquo":"правая одинарная кавычка","egrave":"латинская строчная буква e с грависом","oline":"верхняя черта\nнадчеркивание с интервалом","Mu":"греческая прописная буква мю","exist":"существует","cap":"пересечение\nшапочка","and":"логическое И\nклин вверх","Ouml":"латинская прописная буква O с тремой","agrave":"латинская строчная буква a с грависом\nлатинская строчная a с грависом","uarr":"стрелка вверх","ang":"угол","Zeta":"греческая прописная буква дзета","scaron":"латинская строчная буква s с галочкой","Gamma":"греческая прописная буква гамма","isin":"является элементом","Auml":"латинская прописная буква A с тремой","empty":"пустой набор\nпустое множество\nдиаметр","gamma":"греческая строчная буква гамма","para":"символ абзаца\nсимвол параграфа","ge":"больше или равно","psi":"греческая строчная буква пси","Alpha":"греческая прописная буква альфа","Nu":"греческая прописная буква ню","ouml":"латинская строчная буква o с тремой","zeta":"греческая строчная буква дзета","alpha":"греческая строчная буква альфа","part":"частичный дифференциал","auml":"латинская строчная буква a с тремой","Ugrave":"латинская прописная буква U с грависом","Oslash":"латинская прописная буква O перечеркнутая\nлатинская прописная буква O с вертикальной чертой","Epsilon":"греческая прописная буква эпсилон","int":"интеграл","Omega":"греческая прописная буква омега","perp":"перевернутый гвоздь\nортогонально к\nперпендикулярно","uml":"трема\nтрема с интервалом","upsilon":"греческая строчная буква ипсилон","lowast":"оператор звездочка","omega":"греческая строчная буква омега","otilde":"латинская строчная буква o с тильдой","Egrave":"латинская прописная буква E с грависом","phi":"греческая строчная буква фи","ensp":"пробел длины N","Euml":"латинская прописная буква E с тремой","cedil":"седиль\nседиль с интервалом","laquo":"левые двойный угловые кавычки\nлевые кавычки","forall":"для всех","thetasym":"греческая символьная тета","Agrave":"латинская прописная буква A с грависом","szlig":"латинская строчная заостренная s\nэсцэт","Pi":"греческая прописная буква пи","rho":"греческая строчная буква ро","trade":"символ товарного знака","Igrave":"латинская прописная буква I с грависом","minus":"знак минуса","Beta":"греческая прописная буква бета","Ocirc":"латинская прописная буква O с циркумфлексом","rdquo":"правая двойная кавычка","Eta":"греческая прописная буква эта","rfloor":"правая скобка округления вниз","Oacute":"латинская прописная буква O с акутом","euml":"латинская строчная буква e с тремой","oplus":"плюс в круге\nпрямая сумма","ocirc":"латинская строчная буква o с циркумфлексом","radic":"квадратный корень\nзнак корня","Chi":"греческая прописная буква хи","notin":"не является элементом","sect":"символ раздела","Acirc":"латинская прописная буква A с циркумфлексом","lsquo":"левая одинарная кавычка","beta":"греческая строчная буква бета","piv":"греческая символьная пи","sup1":"верхний индекс один\nверхний индекс с цифрой один","Scaron":"латинская прописная буква S с галочкой","sup2":"верхний индекс два\nверхний индекс с цифрой два\nвозведение в квадрат","acirc":"латинская строчная буква a с циркумфлексом","sube":"является подмножеством или эквивалентно","sup3":"верхний индекс три\nверхний индекс с цифрой три\nвозведение в куб","real":"черная прописная R\nвещественная часть","Iuml":"латинская прописная буква I с тремой","rang":"правая угловая скобка","lsaquo":"одинарная левая угловая кавычка","nabla":"оператор набла\nразностное отношение назад","omicron":"греческая строчная буква омикрон","there4":"следовательно","plusmn":"символ плюс-минус\nсимвол плюса или минуса","rceil":"правая скобка округления вверх","micro":"знак микро","rArr":"двойная стрелка вправо","Delta":"греческая прописная буква дельта","iuml":"латинская строчная буква i с тремой","Tau":"греческая прописная буква тау","times":"знак умножения","yacute":"латинская строчная буква y с акутом","ograve":"латинская строчная буква o с грависом","delta":"греческая строчная буква дельта","Ecirc":"латинская прописная буква E с циркумфлексом","dArr":"двойная стрелка вниз","ntilde":"латинская строчная буква n с тильдой","diams":"бубны","uacute":"латинская строчная буква u с акутом","Otilde":"латинская прописная буква O с тильдой","ecirc":"латинская строчная буква e с циркумфлексом","Upsilon":"греческая прописная буква ипсилон","image":"черная прописная I\nмнимая часть","supe":"включает в себя или эквивалентно","xi":"греческая строчная буква хи","weierp":"рукописная прописная P\nстепенное множество\nфункции Вейерштрасса"}) \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/AutoSave.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/AutoSave.css deleted file mode 100644 index a74d0d5b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/AutoSave.css +++ /dev/null @@ -1,38 +0,0 @@ -.dijitEditorIconAutoSave { - background-image: url(../icons/autoSave.png); - background-repeat: no-repeat; - width: 18px; - height: 18px; -} -.dijitEditorIconAutoSaveDefault { - background-position: -18px 0px; -} -.dijitDisabled .dijitEditorIconAutoSaveDefault { - background-position: -54px 0px; -} -.dijitEditorIconAutoSaveSetting { - background-position: 0px 0px; -} -.dijitEditorAutoSaveSettingDialog { - width: 21em; -} -.dijitEditorAutoSaveSettingInputArea { - margin-top: 0.3em; - margin-left: 2em; -} -.dijitEditorAutoSaveSettingInputArea .textBox { - width: 2em; -} -.dijitEditorAutoSaveSettingInputArea .boxLabel { - margin: 0em 0em 0em 0.3em; -} -.dijitEditorAutoSaveSettingButtonArea { - text-align: right; - margin: 0.3em 0em 0em 0em; -} -.lucid .dijitEditorAutoSaveSettingDialog { - width: 22em; -} -.lucid .dijitEditorAutoSaveSettingInputArea .textBox { - width: 2.5em; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Blockquote.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Blockquote.css deleted file mode 100644 index 03306e62..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Blockquote.css +++ /dev/null @@ -1,14 +0,0 @@ -.dijitAdditionalEditorIconBlockquote { - background-image: url(../icons/blockquote.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitDisabled .dijitAdditionalEditorIconBlockquote { - background-image: url(../icons/blockquoteDisabled.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Breadcrumb.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Breadcrumb.css deleted file mode 100644 index 843946c8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Breadcrumb.css +++ /dev/null @@ -1,10 +0,0 @@ -.dojoxEditorBreadcrumbArrow .dijitDownArrowButton { - width: 10px; -} -.dojoxEditorBreadcrumbArrow .dijitArrowButtonInner { - background-image: url(../icons/breadcrumbDown.png); - background-repeat: no-repeat; - background-position: center center; - width: 8px; - height: 8px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/CollapsibleToolbar.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/CollapsibleToolbar.css deleted file mode 100644 index 8a128d1a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/CollapsibleToolbar.css +++ /dev/null @@ -1,148 +0,0 @@ -.dojoxCollapsibleToolbarContainer { - border-collapse: collapse; - padding: 0px; - margin: 0px; - border-style: none; -} -.dojoxCollapsibleToolbarCollapse { - cursor: pointer; -} -.dojoxCollapsibleToolbarExpand { - cursor: pointer; -} -.claro .dojoxCollapsibleToolbarCollapse { - background-image: url(../images/claro/collapse.png); - background-repeat: no-repeat; - background-position: center center; - width: 12px; - height: 12px; -} -.claro .dojoxCollapsibleToolbarExpand { - background-image: url(../images/claro/expand.png); - background-repeat: no-repeat; - background-position: center center; - width: 12px; - height: 12px; -} -.claro .dojoxCollapsibleToolbarContainer { - background-color: #F1F1F1; -} -.claro .dojoxCollapsibleToolbarControl { - vertical-align: top; - border-bottom: 1px solid #ccc; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; - margin-bottom: 1px; -} -.tundra .dojoxCollapsibleToolbarCollapse { - background-image: url(../images/tundra/collapse.png); - background-repeat: no-repeat; - background-position: center center; - width: 12px; - height: 12px; -} -.tundra .dojoxCollapsibleToolbarExpand { - background-image: url(../images/tundra/expand.png); - background-repeat: no-repeat; - background-position: center center; - width: 12px; - height: 12px; -} -.tundra .dojoxCollapsibleToolbarContainer { - background-image: url(../images/tundra/sidebar.png); - background-repeat: repeat-x; - background-position: top left; - background-color: #CCCCCC; -} -.tundra .dojoxCollapsibleToolbarControl { - vertical-align: top; - border-bottom: 1px solid #ccc; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; -} -.soria .dojoxCollapsibleToolbarCollapse { - background-image: url(../images/soria/collapse.png); - background-repeat: no-repeat; - background-position: center center; - width: 12px; - height: 12px; -} -.soria .dojoxCollapsibleToolbarExpand { - background-image: url(../images/soria/expand.png); - background-repeat: no-repeat; - background-position: center center; - width: 12px; - height: 12px; -} -.soria .dojoxCollapsibleToolbarContainer { - background-image: url(../images/soria/sidebar.png); - background-repeat: repeat-x; - background-position: top left; - background-color: #CCCCCC; -} -.soria .dojoxCollapsibleToolbarControl { - vertical-align: top; - border-bottom: 1px solid #ccc; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; -} -.nihilo .dojoxCollapsibleToolbarCollapse { - background-image: url(../images/nihilo/collapse.png); - background-repeat: no-repeat; - background-position: center center; - width: 12px; - height: 12px; -} -.nihilo .dojoxCollapsibleToolbarExpand { - background-image: url(../images/nihilo/expand.png); - background-repeat: no-repeat; - background-position: top left; - width: 12px; - height: 12px; -} -.nihilo .dojoxCollapsibleToolbarContainer { - background-image: url(../images/nihilo/sidebar.png); - background-repeat: repeat-x; - background-position: top left; - background-color: #CCCCCC; -} -.nihilo .dojoxCollapsibleToolbarControl { - vertical-align: top; - border-bottom: 1px solid #ccc; - border-left: 1px solid #ccc; - border-right: 1px solid #ccc; -} -.dijit_a11y .dojoxCollapsibleToolbarCollapse { - border-style: outset; - border-width: 3px; - border-color: black; - width: 1.5em; - height: 100%; - text-align: center; - vertical-align: middle; -} -.dijit_a11y .dojoxCollapsibleToolbarExpand { - border-style: outset; - border-width: 3px; - border-color: black; - width: 1.5em; - height: 100%; - text-align: center; - vertical-align: middle; -} -.dojoxCollapsibleToolbarCollapseText { - display: none; -} -.dojoxCollapsibleToolbarExpandText { - display: none; -} -.dijit_a11y .dojoxCollapsibleToolbarCollapseText { - display: inline; - padding: 3px; - font-weight: bold; -} -.dijit_a11y .dojoxCollapsibleToolbarExpandText { - display: inline; - padding: 3px; - font-weight: bold; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/FindReplace.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/FindReplace.css deleted file mode 100644 index 5075ac6a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/FindReplace.css +++ /dev/null @@ -1,59 +0,0 @@ -.dijitEditorIconsFindReplace { - background-image: url('../icons/editorIconsFindReplaceEnabled.png'); - background-repeat: no-repeat; - width: 18px; - height: 18px; - text-align: center; -} -.dijitDisabled .dijitEditorIconsFindReplace { - background-image: url('../icons/editorIconsFindReplaceDisabled.png'); - background-repeat: no-repeat; - width: 18px; - height: 18px; - text-align: center; -} -.dijitEditorIconFindString { background-position: 0px; } -.dijitEditorIconFind { background-position: -18px; } -.dijitEditorIconReplace { background-position: -36px; } -.dijitEditorIconReplaceAll { background-position: -54px; } -.dijitEditorFindReplaceCheckBox { - padding-left: 10px; - padding-right: 10px; - text-align: center; -} -.dijitEditorFindReplaceTextBox { - padding-top: 3px; - padding-bottom: 3px; - padding-right: 5px; -} -.dijitEditorFindReplaceTextBox .focusTextBox { - width: 13em; -} -.tundra .dijitEditorIconsFindReplaceClose { - background-image: url('../icons/tundra/close.png'); - background-repeat: no-repeat; - width: 18px; - height: 18px; - background-position: center; -} -.soria .dijitEditorIconsFindReplaceClose { - background-image: url('../icons/soria/close.png'); - background-repeat: no-repeat; - width: 18px; - height: 18px; - background-position: center; -} -.nihilo .dijitEditorIconsFindReplaceClose { - background-image: url('../icons/nihilo/close.png'); - background-repeat: no-repeat; - width: 18px; - height: 18px; - background-position: center; -} -.claro .dijitEditorIconsFindReplaceClose { - background-image: url('../icons/claro/close.png'); - background-repeat: no-repeat; - width: 18px; - height: 18px; - background-position: center; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/InsertAnchor.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/InsertAnchor.css deleted file mode 100644 index 2d2966d2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/InsertAnchor.css +++ /dev/null @@ -1,14 +0,0 @@ -.dijitAdditionalEditorIconInsertAnchor { - background-image: url(../icons/anchor.gif); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitDisabled .dijitAdditionalEditorIconInsertAnchor { - background-image: url(../icons/anchorDisabled.gif); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/InsertEntity.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/InsertEntity.css deleted file mode 100644 index 0f4dc067..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/InsertEntity.css +++ /dev/null @@ -1,59 +0,0 @@ -.dijitAdditionalEditorIconInsertEntity { - - background-image: url(../icons/insertEntity.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitDisabled .dijitAdditionalEditorIconInsertEntity { - - background-image: url(../icons/insertEntityDisabled.png); -} -.dojoxEntityPalette { - - border: 1px solid #999; - background: #fff; - -moz-border-radius: 3pt; -} -.dojoxEntityPaletteCell { - - border: 1px dotted gray; - width: 20px; - line-height: 18px; - overflow: hidden; - z-index: 10; - text-align: center; -} -.dojoxEntityPaletteCellHover, .dojoxEntityPaletteCellActive, .dojoxEntityPaletteCellFocused { - width: 18px; - line-height: 16px; - overflow: hidden; - cursor: default; - border:1px dashed #000; - outline:1px dashed #dedede; -} -.dojoxEntityPalettePreviewTable { - table-layout: auto; - font-size: 1em; - width: 100%; -} -.dojoxEntityPalettePreviewHeader { - font-size: .8em; - padding: 3px 3px 3px 3px; -} -.dojoxEntityPalettePreviewDetailEntity { - font-size: 3em; - font-weight: bold; - width: 1em; - text-align: center; -} -.dojoxEntityPalettePreviewDetail { - font-size: 1em; - vertical-align: middle; - font-weight: bold; - padding: 3px 3px 3px 3px; -} -.dijit_a11y .dojoxEntityPaletteCell { - background-color:transparent !important; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/LocalImage.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/LocalImage.css deleted file mode 100644 index f36e18b1..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/LocalImage.css +++ /dev/null @@ -1,11 +0,0 @@ -.dijitEditorEilDialogTitle { - font-weight: bold; - margin-bottom: 0.6em; -} -.dijitEditorEilDialogDescription { - white-space: normal; - margin: 0em 0em 0.3em 0em; -} -.dijitEditorEilDialogField{ - width: 20em; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/PageBreak.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/PageBreak.css deleted file mode 100644 index 1a2bcd66..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/PageBreak.css +++ /dev/null @@ -1,14 +0,0 @@ -.dijitAdditionalEditorIconPageBreak { - background-image: url(../icons/pageBreak.gif); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitDisabled .dijitAdditionalEditorIconPageBreak { - background-image: url(../icons/pageBreakDisabled.gif); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/PasteFromWord.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/PasteFromWord.css deleted file mode 100644 index dc5bef40..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/PasteFromWord.css +++ /dev/null @@ -1,25 +0,0 @@ -.dijitAdditionalEditorIconPasteFromWord { - background-image: url(../icons/pasteFromWord.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitDisabled .dijitAdditionalEditorIconPasteFromWord { - background-image: url(../icons/pasteFromWordDisabled.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.tundra .dijitPasteFromWordEmbeddedRTE .dijitEditor, -.nihilo .dijitPasteFromWordEmbeddedRTE .dijitEditor { - border-color: #BFBFBF; - border-style: solid; - border-width: 1px; -} -.soria .dijitPasteFromWordEmbeddedRTE .dijitEditor { - border-color: #CCCCCC; - border-style: solid; - border-width: 1px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Preview.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Preview.css deleted file mode 100644 index 201cd9d8..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Preview.css +++ /dev/null @@ -1,14 +0,0 @@ -.dijitAdditionalEditorIconPreview { - background-image: url(../icons/preview.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitDisabled .dijitAdditionalEditorIconPreview { - background-image: url(../icons/previewDisabled.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Save.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Save.css deleted file mode 100644 index a7f702d6..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Save.css +++ /dev/null @@ -1,14 +0,0 @@ -.dijitAdditionalEditorIconSave { - background-image: url(../icons/save.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitDisabled .dijitAdditionalEditorIconSave { - background-image: url(../icons/saveDisabled.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/ShowBlockNodes.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/ShowBlockNodes.css deleted file mode 100644 index 1f99fe62..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/ShowBlockNodes.css +++ /dev/null @@ -1,14 +0,0 @@ -.dijitAdditionalEditorIconShowBlockNodes { - background-image: url(../icons/showBlockNodes.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitDisabled .dijitAdditionalEditorIconShowBlockNodes { - background-image: url(../icons/showBlockNodesDisabled.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Smiley.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Smiley.css deleted file mode 100644 index 7adfbc9d..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/Smiley.css +++ /dev/null @@ -1,33 +0,0 @@ -.dijitAdditionalEditorIconSmiley { - - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; - background-image: url(../icons/smiley.gif); -} -.dijitDisabled .dijitAdditionalEditorIconSmiley { - - background-image: url(../icons/smileyDisabled.gif); -} -.dijitEditorSmileyPalette { - border: 1px solid black; - background: white; - overflow: hidden; - overflow-x: hidden; - overflow-y: hidden; -} -.dijitEditorSmileyPalette .dijitPaletteCell { - height: 23px; - width: 27px; -} -.dijitEditorSmileyPalette .dijitPaletteImg { - border: none; - height: 20px; - width: 20px; - padding: 2px 2px; -} -.dijitEditorSmileyPalette .dijitPaletteCellHover .dijitPaletteImg { - border: 1px solid black; - padding: 1px 1px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/SpellCheck.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/SpellCheck.css deleted file mode 100644 index 0c2beb54..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/SpellCheck.css +++ /dev/null @@ -1,43 +0,0 @@ -.dijitEditorSpellCheckIcon { - background-image: url(../icons/spellcheck.png); - background-repeat: no-repeat; - background-position: center center; - width: 18px; - height: 18px; -} -.dijitEditorSpellCheckBusyIcon { - background-image: url(../images/checking.png); - background-repeat: no-repeat; - background-position: center center; - display: inline-block; - zoom: 1; - *display: inline; - width: 16px; - height: 16px; - margin: 0em 0.5em 0em 0.5em; -} -.dijitEditorSpellCheckTable .dijitEditorSpellCheckBox { - width: 15em; -} -.dijitEditorSpellCheckTable .listHeight { - height: 5em; -} -.dijitEditorSpellCheckTable, -.dijitEditorSpellCheckTable td { - border: none; - border-width: 0px; - vertical-align: top; -} -.dijitEditorSpellCheckTable .alignBottom { - vertical-align: bottom; -} -.dijitEditorSpellCheckTable .blockButton, -.dijitEditorSpellCheckTable .dijitButtonNode { - display: block; -} -.dijitEditorSpellCheckTable .topMargin { - margin-top: 0.56em; -} -.dijitEditorSpellCheckTable .hidden { - display: none; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/StatusBar.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/StatusBar.css deleted file mode 100644 index 6560704b..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/StatusBar.css +++ /dev/null @@ -1,102 +0,0 @@ -.dojoxResizeHandle { - float: right; - position: absolute; - right: 2px; - bottom: 2px; - width: 13px; - height: 13px; - z-index: 20; - background-image: url(../../../../layout/resources/icons/resize.png); - line-height: 0px; -} -.dijitRtl .dojoxResizeHandle { - float: right; - left: 0px; - right: auto; - background-image: url(../../../../layout/resources/icons/resizeRtl.png); -} -.dojoxResizeNW { - cursor: nw-resize; -} -.dijitRtl .dojoxResizeNW { - cursor: ne-resize; -} -.dojoxResizeNE { - cursor: ne-resize; -} -.dijitRtl .dojoxResizeNE { - cursor: nw-resize; -} -.dojoxResizeW { - cursor: w-resize; -} -.dojoxResizeN { - cursor: n-resize; -} -.dojoxResizeHandleClone { - position:absolute; top:0; left:0; - border:1px dashed #666; - z-index:999; -} - -.dojoxEditorStatusBar { - overflow: hidden; - vertical-align: bottom; - padding: 2px; -} -.dojoxEditorStatusBar table { - width: 100%; -} -.dojoxEditorStatusBar .dojoxResizeHandle { - position: static; - padding: 0px; - vertical-align: bottom; -} -.dojoxEditorStatusBar .dojoxEditorStatusBarText{ - height: 1.5em; - vertical-align: middle; - width: 100%; - overflow: hidden; -} -.claro .dojoxEditorStatusBar { - background-color: #F1F1F1; -} -.claro .dojoxEditorStatusBar .dojoxEditorStatusBarText{ - border-style: solid; - border-width: 1px; - border-color: #B5BCC7; - -} -.tundra .dojoxEditorStatusBar { - background-color: #EAEAEA; -} -.tundra .dojoxEditorStatusBar .dojoxEditorStatusBarText{ - border-style: solid; - border-width: 1px; - border-color: #CCCCCC; - -} -.nihilo .dojoxEditorStatusBar { - border-style: solid; - background-color: #FFFFFF; - border-width: 1px; - border-color: #CCCCCC; -} -.nihilo .dojoxEditorStatusBar .dojoxEditorStatusBarText { - border-style: solid; - border-width: 1px; - border-color: #CCCCCC; - -} -.soria .dojoxEditorStatusBar { - border-style: solid; - background-color: #BDD6F0; - border-width: 1px; - border-color: #698FB3; -} -.soria .dojoxEditorStatusBar .dojoxEditorStatusBarText { - border-style: solid; - border-width: 1px; - border-color: #698FB3; - -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/TextColor.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/TextColor.css deleted file mode 100644 index cea8f99f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/css/TextColor.css +++ /dev/null @@ -1,107 +0,0 @@ -.dojoxColorPicker { - padding:8px; - -moz-border-radius:4pt; - -webkit-border-radius:5pt; - -webkit-drop-shadow:3pt; -} -.dojoxColorPickerRightPad { - padding-right: 8px; -} -.tundra .dojoxColorPicker { - background:#ededed; - border:1px solid #ccc; -} -.dojoxColorPickerBox { - position:relative; - width:150px; - height:150px; - margin:0; - padding:0; -} -.dojoxColorPickerUnderlay { - position:relative; - top:0; left:0; - width:150px; - height:150px; - z-index:1; -} -.tundra .dojoxColorPickerUnderlay { - border:1px solid #a0a0a0; -} -.claro .dojoxColorPicker { - background:#ededed; - border:1px solid #cdcdcd; -} -.claro .dojoxColorPickerUnderlay { - border:1px solid #cccccc; -} -.dojoxHuePickerUnderlay { - position:relative; - top:0; left:0; - height:150px; - width:20px; - z-index:1; - text-align: center; -} -.dojoxHuePicker { position:relative; top: 0px; left: 0px; padding: 0px;} -.dojoxHuePickerPoint { - position:absolute; - top:0; left:0; - width:20px; - height:8px; - z-index:3; - cursor:move; -} -.dojoxColorPickerPoint { - position:absolute; - width:10px; - height:10px; - border:0; - z-index:3; - cursor:move; -} -.dojoxColorPickerPreview { - display:block; - width:45px; - height:45px; - border:1px solid #333; - background-color:#fff; - position:relative; - top: 0px; - left: 0px; -} -.dojoxColorPickerWebSafePreview { - display:block; - width:25px; - height:25px; - position:relative; - top: 0px; - left: 0px; - border:1px solid #333; -} -.dojoxColorPickerOptional { - position:relative; - top: 0px; - left: 0px; - height: 100%; -} -.dojoxColorPickerOptional table { - border-spacing: 4px; -} -.dojoxColorPickerPreviewContainer table { - border-spacing: 6px 0px; -} -.dojoxColorPickerOptional input { - border:1px solid #a7a7a7; - width:25px; - padding:1px 3px 1px 3px; - line-height:1.1em; -} -.dojoxColorPickerHex input { - width:55px; -} -.dojoxEditorColorPicker { - overflow: hidden; - overflow-x: hidden; - overflow-y: hidden; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/editorPlugins.css b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/editorPlugins.css deleted file mode 100644 index 643c54fa..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/editorPlugins.css +++ /dev/null @@ -1,159 +0,0 @@ - -.EditorTableDialog{ -} -.EditorTableDialog .etdTable{ - border:none; - table-layout:fixed; - border-collapse:collapse; -} -.EditorTableDialog .etdTable td{ - border:#CCCCCC 0px solid; - padding:5px; -} -.EditorTableDialog .etdTable td.inner{ - padding:0px; -} -.EditorTableDialog .dijitTextBox{ - width:50px; - padding-left:3px; -} -.EditorTableDialog .dijitComboBox{ - width:85px; - padding-left:5px; -} -.EditorTableDialog label{ - float:right; - margin:0; - margin-right:5px; -} -.EditorTableDialog .cellpad{ - background:url(images/cellpad.png) no-repeat 5px; -} -.EditorTableDialog .cellspace{ - background:url(images/cellspace.png) no-repeat 5px; -} -.dialogButtonContainer{ - text-align:right; - margin-top:10px; - cursor:pointer; -} -.colorSwatchBtn{ - display:block; - border:#666666 2px solid; - background-color:#CCCCCC; - width:16px; - height:16px; - cursor:pointer; -} -.colorSwatchBtn:hover{ - border:#0099FF 2px solid; -} -.colorSwatchBtn div{ - background-color:#CCCCCC; - width:16px; - height:16px; - cursor:pointer; -} -.editorIcon{ - background-image:url(images/tableIcons.png); - background-repeat: no-repeat; - width: 18px; - height: 18px; - text-align: center; -} -.editorIconUploadImage{ - background:url(images/uploadImageIcon.gif) no-repeat 0px 4px; -} -.editorIconInsertTable{ - background-position:0px 0px; } -.dijitDisabled .editorIconInsertTable{ - background-position:-162px 0px; } -.editorIconInsertTableRowBefore{ - background-position:-36px 0px; } -.dijitDisabled .editorIconInsertTableRowBefore{ - background-position:-198px 0px; } - -.editorIconInsertTableRowAfter{ - background-position:-54px 0px; } -.dijitDisabled .editorIconInsertTableRowAfter{ - background-position:-216px 0px; } -.editorIconInsertTableColumnBefore{ - background-position:-72px 0px; } -.dijitDisabled .editorIconInsertTableColumnBefore{ - background-position:-234px 0px; } - -.editorIconInsertTableColumnAfter{ - background-position:-90px 0px; } -.dijitDisabled .editorIconInsertTableColumnAfter{ - background-position:-252px 0px; } - -.editorIconDeleteTableRow{ - background-position:-108px 0px; } -.dijitDisabled .editorIconDeleteTableRow{ - background-position:-270px 0px; } - -.editorIconDeleteTableColumn{ - background-position:-126px 0px; } -.dijitDisabled .editorIconDeleteTableColumn{ - background-position:-288px 0px; } - -.editorIconColorTableCell{ - background-position:-144px 0px; } -.dijitDisabled .editorIconColorTableCell{ - background-position:-306px 0px; } -.editorIconModifyTable{ - background-position:-18px 0px; } -.dijitDisabled .editorIconModifyTable{ - background-position:-180px 0px; } -.RichTextEditable .dijitTextBox, -.RichTextEditable .dijitComboBox, -.RichTextEditable .dijitSpinner { - width: 5em; -} -.dojoxDropDownSelect { - background:#FFFFFF url(images/dropBk.png) repeat-x scroll left top; - border: 1px solid; - border-top-color:#cccccc; - border-right-color:#cccccc; - border-left-color:#999999; - border-bottom-color:#ffffff; -} -.dojoxDropDownSelect.dojoxDropDownSelectHover{ - background-image:url(images/dropBkOver.png); -} -.dojoxDropDownSelect button{ - line-height:16px; - height:16px; - width:100px; - text-align:left; - color:#8397b9; -} -.dijitButtonNode .dijitArrowButtonInner{ - - background:url(../../../../dijit/themes/tundra/images/spriteArrows.png) no-repeat left top; - width:7px; -} -.dojoxEditorUploadNorm{ - font-family:Arial; - font-size:12px; - - - vertical-align: middle; - - margin:0; - line-height:normal; - text-align:center; - white-space: nowrap; - - cursor: pointer; - background: #ccc url("images/uploadImageIcon.gif") no-repeat 2px 2px; -} -.dojoxEditorUploadHover{ - background: #ccc url("images/uploadImageIcon.gif") no-repeat 2px 0px; -} -.dojoxEditorUploadActive{ - background: #ccc url("images/uploadImageIcon.gif") no-repeat 2px 4px; -} -.dojoxEditorUploadDisabled{ - background: #ccc url("images/uploadImageIcon.gif") no-repeat 2px 2px; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonAngel.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonAngel.gif deleted file mode 100644 index 8841b9b6..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonAngel.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonAngry.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonAngry.gif deleted file mode 100644 index 8290ee09..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonAngry.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonCool.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonCool.gif deleted file mode 100644 index 3583c92b..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonCool.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonCrying.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonCrying.gif deleted file mode 100644 index 9e9c6aca..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonCrying.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonEyebrow.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonEyebrow.gif deleted file mode 100644 index bb150ef4..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonEyebrow.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonFrown.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonFrown.gif deleted file mode 100644 index a47c0999..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonFrown.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonGoofy.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonGoofy.gif deleted file mode 100644 index 8b4d860d..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonGoofy.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonGrin.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonGrin.gif deleted file mode 100644 index 692a2013..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonGrin.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonHalf.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonHalf.gif deleted file mode 100644 index 2d7e10af..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonHalf.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonHappy.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonHappy.gif deleted file mode 100644 index dc8f87f2..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonHappy.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonIdea.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonIdea.gif deleted file mode 100644 index 11af180c..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonIdea.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonLaughing.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonLaughing.gif deleted file mode 100644 index 23192d44..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonLaughing.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonNo.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonNo.gif deleted file mode 100644 index 03170dff..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonNo.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonOops.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonOops.gif deleted file mode 100644 index 38bd4a04..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonOops.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonShy.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonShy.gif deleted file mode 100644 index de0ccf66..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonShy.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonSmile.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonSmile.gif deleted file mode 100644 index d5b73a6f..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonSmile.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonTongue.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonTongue.gif deleted file mode 100644 index e578c6aa..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonTongue.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonWink.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonWink.gif deleted file mode 100644 index 8e262ae0..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonWink.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonYes.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonYes.gif deleted file mode 100644 index 9473c7fd..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/emoticons/emoticonYes.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/anchor.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/anchor.gif deleted file mode 100644 index f58992d6..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/anchor.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/address.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/address.gif deleted file mode 100644 index 5f947579..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/address.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/address.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/address.png deleted file mode 100644 index 6093f7d8..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/address.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/blockquote.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/blockquote.gif deleted file mode 100644 index 8eff8044..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/blockquote.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/blockquote.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/blockquote.png deleted file mode 100644 index ed0943a6..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/blockquote.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/button.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/button.gif deleted file mode 100644 index a95518d7..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/button.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/button.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/button.png deleted file mode 100644 index 0748fc68..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/button.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/center.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/center.gif deleted file mode 100644 index de55735e..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/center.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/center.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/center.png deleted file mode 100644 index 3a59fcbe..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/center.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dd.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dd.gif deleted file mode 100644 index 5a878953..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dd.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dd.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dd.png deleted file mode 100644 index f6df8109..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dd.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/del.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/del.gif deleted file mode 100644 index f2b647da..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/del.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/del.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/del.png deleted file mode 100644 index 299a6c15..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/del.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/div.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/div.gif deleted file mode 100644 index 3ad71ca4..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/div.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/div.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/div.png deleted file mode 100644 index b54c2b5d..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/div.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dt.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dt.gif deleted file mode 100644 index 61145c1b..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dt.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dt.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dt.png deleted file mode 100644 index 24c86928..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/dt.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/fieldset.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/fieldset.gif deleted file mode 100644 index 350d1f53..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/fieldset.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/fieldset.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/fieldset.png deleted file mode 100644 index ac1de7af..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/fieldset.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/form.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/form.gif deleted file mode 100644 index b7a26ceb..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/form.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/form.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/form.png deleted file mode 100644 index 2d0dc480..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/form.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h1.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h1.gif deleted file mode 100644 index 3accd149..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h1.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h1.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h1.png deleted file mode 100644 index da01c4e3..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h1.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h2.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h2.gif deleted file mode 100644 index fed7623c..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h2.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h2.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h2.png deleted file mode 100644 index b1cf24a6..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h2.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h3.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h3.gif deleted file mode 100644 index d2e84375..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h3.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h3.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h3.png deleted file mode 100644 index 8bc8060e..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h3.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h4.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h4.gif deleted file mode 100644 index cf806b9e..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h4.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h4.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h4.png deleted file mode 100644 index 50361398..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h4.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h5.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h5.gif deleted file mode 100644 index 00c7c664..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h5.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h5.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h5.png deleted file mode 100644 index 690b0824..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h5.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h6.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h6.gif deleted file mode 100644 index 91c7e128..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h6.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h6.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h6.png deleted file mode 100644 index abe83150..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/h6.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/hr.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/hr.gif deleted file mode 100644 index 14756189..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/hr.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/hr.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/hr.png deleted file mode 100644 index 22f40a6f..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/hr.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/iframe.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/iframe.gif deleted file mode 100644 index a1e95022..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/iframe.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/iframe.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/iframe.png deleted file mode 100644 index 096ba262..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/iframe.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ins.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ins.gif deleted file mode 100644 index a55290e2..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ins.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ins.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ins.png deleted file mode 100644 index 0172c6e3..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ins.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/li.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/li.gif deleted file mode 100644 index 9d4a9646..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/li.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/li.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/li.png deleted file mode 100644 index 8203fa57..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/li.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/map.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/map.gif deleted file mode 100644 index d704664b..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/map.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/map.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/map.png deleted file mode 100644 index 01bda581..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/map.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/noscript.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/noscript.gif deleted file mode 100644 index 2096c70c..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/noscript.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/noscript.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/noscript.png deleted file mode 100644 index edff79c2..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/noscript.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/object.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/object.gif deleted file mode 100644 index 2376db0f..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/object.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/object.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/object.png deleted file mode 100644 index 7813e706..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/object.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ol.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ol.gif deleted file mode 100644 index 923b2272..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ol.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ol.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ol.png deleted file mode 100644 index 57876764..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ol.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/p.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/p.gif deleted file mode 100644 index 7e1cf819..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/p.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/p.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/p.png deleted file mode 100644 index c462e105..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/p.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/pre.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/pre.gif deleted file mode 100644 index caeaa510..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/pre.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/pre.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/pre.png deleted file mode 100644 index bfd4b500..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/pre.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/script.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/script.gif deleted file mode 100644 index 1a4e71d0..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/script.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/script.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/script.png deleted file mode 100644 index b79115cf..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/script.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/table.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/table.gif deleted file mode 100644 index 33fc14dc..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/table.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/table.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/table.png deleted file mode 100644 index 85ff1e86..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/table.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ul.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ul.gif deleted file mode 100644 index 88a39173..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ul.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ul.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ul.png deleted file mode 100644 index e28cbd75..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/blockelems/ul.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/busy.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/busy.gif deleted file mode 100644 index 7519974e..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/busy.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/cellpad.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/cellpad.png deleted file mode 100644 index e8d1b9b8..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/cellpad.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/cellspace.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/cellspace.png deleted file mode 100644 index d0802217..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/cellspace.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/collapse.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/collapse.gif deleted file mode 100644 index c18c53b2..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/collapse.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/collapse.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/collapse.png deleted file mode 100644 index e39f85c3..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/collapse.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/expand.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/expand.gif deleted file mode 100644 index 56c56986..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/expand.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/expand.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/expand.png deleted file mode 100644 index 700886ac..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/claro/expand.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/nihilo/collapse.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/nihilo/collapse.gif deleted file mode 100644 index c18c53b2..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/nihilo/collapse.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/nihilo/expand.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/nihilo/expand.gif deleted file mode 100644 index 56c56986..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/nihilo/expand.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/nihilo/sidebar.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/nihilo/sidebar.gif deleted file mode 100644 index 68a5986d..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/nihilo/sidebar.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/soria/collapse.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/soria/collapse.gif deleted file mode 100644 index c18c53b2..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/soria/collapse.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/soria/expand.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/soria/expand.gif deleted file mode 100644 index 56c56986..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/soria/expand.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/soria/sidebar.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/soria/sidebar.gif deleted file mode 100644 index f4dd076b..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/soria/sidebar.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tableIcons.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tableIcons.png deleted file mode 100644 index fb00763b..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tableIcons.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tableIcons_rtl.png b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tableIcons_rtl.png deleted file mode 100644 index d78152f0..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tableIcons_rtl.png and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tundra/collapse.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tundra/collapse.gif deleted file mode 100644 index c18c53b2..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tundra/collapse.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tundra/expand.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tundra/expand.gif deleted file mode 100644 index 56c56986..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tundra/expand.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tundra/sidebar.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tundra/sidebar.gif deleted file mode 100644 index 11fb540a..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/tundra/sidebar.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/uploadImageIcon.gif b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/uploadImageIcon.gif deleted file mode 100644 index 83ed316d..00000000 Binary files a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/images/uploadImageIcon.gif and /dev/null differ diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/insertTable.html b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/insertTable.html deleted file mode 100644 index da5e9a87..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/insertTable.html +++ /dev/null @@ -1,48 +0,0 @@ -<div class="dijitDialog" tabindex="-1" role="dialog" aria-labelledby="${id}_title"> - <div dojoAttachPoint="titleBar" class="dijitDialogTitleBar"> - <span dojoAttachPoint="titleNode" class="dijitDialogTitle" id="${id}_title">${insertTableTitle}</span> - <span dojoAttachPoint="closeButtonNode" class="dijitDialogCloseIcon" dojoAttachEvent="onclick: onCancel" title="${buttonCancel}"> - <span dojoAttachPoint="closeText" class="closeText" title="${buttonCancel}">x</span> - </span> - </div> - <div dojoAttachPoint="containerNode" class="dijitDialogPaneContent"> - <table class="etdTable"><tr> - <td> - <label>${rows}</label> - </td><td> - <span dojoAttachPoint="selectRow" dojoType="dijit.form.TextBox" value="2"></span> - </td><td><table><tr><td class="inner"> - <label>${columns}</label> - </td><td class="inner"> - <span dojoAttachPoint="selectCol" dojoType="dijit.form.TextBox" value="2"></span> - </td></tr></table></td></tr> - <tr><td> - <label>${tableWidth}</label> - </td><td> - <span dojoAttachPoint="selectWidth" dojoType="dijit.form.TextBox" value="100"></span> - </td><td> - <select dojoAttachPoint="selectWidthType" hasDownArrow="true" dojoType="dijit.form.FilteringSelect"> - <option value="percent">${percent}</option> - <option value="pixels">${pixels}</option> - </select></td></tr> - <tr><td> - <label>${borderThickness}</label></td> - </td><td> - <span dojoAttachPoint="selectBorder" dojoType="dijit.form.TextBox" value="1"></span> - </td><td> - ${pixels} - </td></tr><tr><td> - <label>${cellPadding}</label></td> - </td><td> - <span dojoAttachPoint="selectPad" dojoType="dijit.form.TextBox" value="0"></span> - </td><td class="cellpad"></td></tr><tr><td> - <label>${cellSpacing}</label> - </td><td> - <span dojoAttachPoint="selectSpace" dojoType="dijit.form.TextBox" value="0"></span> - </td><td class="cellspace"></td></tr></table> - <div class="dialogButtonContainer"> - <div dojoType="dijit.form.Button" dojoAttachEvent="onClick: onInsert">${buttonInsert}</div> - <div dojoType="dijit.form.Button" dojoAttachEvent="onClick: onCancel">${buttonCancel}</div> - </div> - </div> -</div> diff --git a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/modifyTable.html b/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/modifyTable.html deleted file mode 100644 index 35232a73..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/editor/plugins/resources/modifyTable.html +++ /dev/null @@ -1,58 +0,0 @@ -<div class="dijitDialog" tabindex="-1" role="dialog" aria-labelledby="${id}_title"> - <div dojoAttachPoint="titleBar" class="dijitDialogTitleBar"> - <span dojoAttachPoint="titleNode" class="dijitDialogTitle" id="${id}_title">${modifyTableTitle}</span> - <span dojoAttachPoint="closeButtonNode" class="dijitDialogCloseIcon" dojoAttachEvent="onclick: onCancel" title="${buttonCancel}"> - <span dojoAttachPoint="closeText" class="closeText" title="${buttonCancel}">x</span> - </span> - </div> - <div dojoAttachPoint="containerNode" class="dijitDialogPaneContent"> - <table class="etdTable"> - <tr><td> - <label>${backgroundColor}</label> - </td><td colspan="2"> - <span class="colorSwatchBtn" dojoAttachPoint="backgroundCol"></span> - </td></tr><tr><td> - <label>${borderColor}</label> - </td><td colspan="2"> - <span class="colorSwatchBtn" dojoAttachPoint="borderCol"></span> - </td></tr><tr><td> - <label>${align}</label> - </td><td colspan="2"> - <select dojoAttachPoint="selectAlign" dojoType="dijit.form.FilteringSelect"> - <option value="default">${default}</option> - <option value="left">${left}</option> - <option value="center">${center}</option> - <option value="right">${right}</option> - </select> - </td></tr> - <tr><td> - <label>${tableWidth}</label> - </td><td> - <span dojoAttachPoint="selectWidth" dojoType="dijit.form.TextBox" value="100"></span> - </td><td> - <select dojoAttachPoint="selectWidthType" hasDownArrow="true" dojoType="dijit.form.FilteringSelect"> - <option value="percent">${percent}</option> - <option value="pixels">${pixels}</option> - </select></td></tr> - <tr><td> - <label>${borderThickness}</label></td> - </td><td> - <span dojoAttachPoint="selectBorder" dojoType="dijit.form.TextBox" value="1"></span> - </td><td> - ${pixels} - </td></tr><tr><td> - <label>${cellPadding}</label></td> - </td><td> - <span dojoAttachPoint="selectPad" dojoType="dijit.form.TextBox" value="0"></span> - </td><td class="cellpad"></td></tr><tr><td> - <label>${cellSpacing}</label> - </td><td> - <span dojoAttachPoint="selectSpace" dojoType="dijit.form.TextBox" value="0"></span> - </td><td class="cellspace"></td></tr> - </table> - <div class="dialogButtonContainer"> - <div dojoType="dijit.form.Button" dojoAttachEvent="onClick: onSet">${buttonSet}</div> - <div dojoType="dijit.form.Button" dojoAttachEvent="onClick: onCancel">${buttonCancel}</div> - </div> - </div> -</div> diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/README b/resources/library/interactive/barre_prof.wgt/dojox/html/README deleted file mode 100644 index 1f0abb82..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/README +++ /dev/null @@ -1,48 +0,0 @@ -------------------------------------------------------------------------------- -dojox.html -------------------------------------------------------------------------------- -Version 0.2 -Release date: 04/24/2008 -------------------------------------------------------------------------------- -Project state: -beta -------------------------------------------------------------------------------- -Credits - Eugene Lazutkin (eugene.lazutkin AT gmail.com) - Scott J. Miles (sjmiles AT activegrid.com) - Steve Orvell (sorvell AT activegrid.com) - Tom Trenka (ttrenka AT gmail.com) - Bryan Forbes (bryan AT reigndropsfall.net) - Mike Wilcox - dojox.html.styles (anm8tr AT yahoo.com) - Jared Jurkiewicz - dojox.html.entites, dojox.html.format (jared.jurkiewicz AT gmail.com) -------------------------------------------------------------------------------- -Project description - -This project aims to add html functions that aren't used often enough to -warrant going into Dojo Core but should not be duplicated. For instance, font -measurement routines aren't used by the majority of developers, but are complex -enough to not be duplicated. -Styles adds the ability to create and remove dynamic cssRules, as well as -manipulate document style sheets. -Ellipsis adds support to match text-overflow: ellipsis for Firefox. -------------------------------------------------------------------------------- -Dependencies: - -dojox.html nor dojox.html.styles have dependencies, outside of Dojo Core. -------------------------------------------------------------------------------- -Documentation - -To automatically initialize the font resize callback, add "fontSizeWatch: true" -to your djConfig. -------------------------------------------------------------------------------- -Installation instructions - -Grab the following from the Dojo SVN Repository: -http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/html.js -http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/html/* -http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/html/styles.js -Install into the following directory structure: -/dojox/html/ - -...which should be at the same level as your Dojo checkout. -------------------------------------------------------------------------------- diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/_base.js b/resources/library/interactive/barre_prof.wgt/dojox/html/_base.js deleted file mode 100644 index 9d50dabe..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/_base.js +++ /dev/null @@ -1,192 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.html._base"]){ -dojo._hasResource["dojox.html._base"]=true; -dojo.provide("dojox.html._base"); -dojo.require("dojo.html"); -(function(){ -if(dojo.isIE){ -var _1=/(AlphaImageLoader\([^)]*?src=(['"]))(?![a-z]+:|\/)([^\r\n;}]+?)(\2[^)]*\)\s*[;}]?)/g; -} -var _2=/(?:(?:@import\s*(['"])(?![a-z]+:|\/)([^\r\n;{]+?)\1)|url\(\s*(['"]?)(?![a-z]+:|\/)([^\r\n;]+?)\3\s*\))([a-z, \s]*[;}]?)/g; -var _3=dojox.html._adjustCssPaths=function(_4,_5){ -if(!_5||!_4){ -return; -} -if(_1){ -_5=_5.replace(_1,function(_6,_7,_8,_9,_a){ -return _7+(new dojo._Url(_4,"./"+_9).toString())+_a; -}); -} -return _5.replace(_2,function(_b,_c,_d,_e,_f,_10){ -if(_d){ -return "@import \""+(new dojo._Url(_4,"./"+_d).toString())+"\""+_10; -}else{ -return "url("+(new dojo._Url(_4,"./"+_f).toString())+")"+_10; -} -}); -}; -var _11=/(<[a-z][a-z0-9]*\s[^>]*)(?:(href|src)=(['"]?)([^>]*?)\3|style=(['"]?)([^>]*?)\5)([^>]*>)/gi; -var _12=dojox.html._adjustHtmlPaths=function(_13,_14){ -var url=_13||"./"; -return _14.replace(_11,function(tag,_15,_16,_17,_18,_19,_1a,end){ -return _15+(_16?(_16+"="+_17+(new dojo._Url(url,_18).toString())+_17):("style="+_19+_3(url,_1a)+_19))+end; -}); -}; -var _1b=dojox.html._snarfStyles=function(_1c,_1d,_1e){ -_1e.attributes=[]; -return _1d.replace(/(?:<style([^>]*)>([\s\S]*?)<\/style>|<link\s+(?=[^>]*rel=['"]?stylesheet)([^>]*?href=(['"])([^>]*?)\4[^>\/]*)\/?>)/gi,function(_1f,_20,_21,_22,_23,_24){ -var i,_25=(_20||_22||"").replace(/^\s*([\s\S]*?)\s*$/i,"$1"); -if(_21){ -i=_1e.push(_1c?_3(_1c,_21):_21); -}else{ -i=_1e.push("@import \""+_24+"\";"); -_25=_25.replace(/\s*(?:rel|href)=(['"])?[^\s]*\1\s*/gi,""); -} -if(_25){ -_25=_25.split(/\s+/); -var _26={},tmp; -for(var j=0,e=_25.length;j<e;j++){ -tmp=_25[j].split("="); -_26[tmp[0]]=tmp[1].replace(/^\s*['"]?([\s\S]*?)['"]?\s*$/,"$1"); -} -_1e.attributes[i-1]=_26; -} -return ""; -}); -}; -var _27=dojox.html._snarfScripts=function(_28,_29){ -_29.code=""; -_28=_28.replace(/<[!][-][-](.|\s)*?[-][-]>/g,function(_2a){ -return _2a.replace(/<(\/?)script\b/ig,"<$1Script"); -}); -function _2b(src){ -if(_29.downloadRemote){ -src=src.replace(/&([a-z0-9#]+);/g,function(m,_2c){ -switch(_2c){ -case "amp": -return "&"; -case "gt": -return ">"; -case "lt": -return "<"; -default: -return _2c.charAt(0)=="#"?String.fromCharCode(_2c.substring(1)):"&"+_2c+";"; -} -}); -dojo.xhrGet({url:src,sync:true,load:function(_2d){ -_29.code+=_2d+";"; -},error:_29.errBack}); -} -}; -return _28.replace(/<script\s*(?![^>]*type=['"]?(?:dojo\/|text\/html\b))(?:[^>]*?(?:src=(['"]?)([^>]*?)\1[^>]*)?)*>([\s\S]*?)<\/script>/gi,function(_2e,_2f,src,_30){ -if(src){ -_2b(src); -}else{ -_29.code+=_30; -} -return ""; -}); -}; -var _31=dojox.html.evalInGlobal=function(_32,_33){ -_33=_33||dojo.doc.body; -var n=_33.ownerDocument.createElement("script"); -n.type="text/javascript"; -_33.appendChild(n); -n.text=_32; -}; -dojo.declare("dojox.html._ContentSetter",[dojo.html._ContentSetter],{adjustPaths:false,referencePath:".",renderStyles:false,executeScripts:false,scriptHasHooks:false,scriptHookReplacement:null,_renderStyles:function(_34){ -this._styleNodes=[]; -var st,att,_35,doc=this.node.ownerDocument; -var _36=doc.getElementsByTagName("head")[0]; -for(var i=0,e=_34.length;i<e;i++){ -_35=_34[i]; -att=_34.attributes[i]; -st=doc.createElement("style"); -st.setAttribute("type","text/css"); -for(var x in att){ -st.setAttribute(x,att[x]); -} -this._styleNodes.push(st); -_36.appendChild(st); -if(st.styleSheet){ -st.styleSheet.cssText=_35; -}else{ -st.appendChild(doc.createTextNode(_35)); -} -} -},empty:function(){ -this.inherited("empty",arguments); -this._styles=[]; -},onBegin:function(){ -this.inherited("onBegin",arguments); -var _37=this.content,_38=this.node; -var _39=this._styles; -if(dojo.isString(_37)){ -if(this.adjustPaths&&this.referencePath){ -_37=_12(this.referencePath,_37); -} -if(this.renderStyles||this.cleanContent){ -_37=_1b(this.referencePath,_37,_39); -} -if(this.executeScripts){ -var _3a=this; -var _3b={downloadRemote:true,errBack:function(e){ -_3a._onError.call(_3a,"Exec","Error downloading remote script in \""+_3a.id+"\"",e); -}}; -_37=_27(_37,_3b); -this._code=_3b.code; -} -} -this.content=_37; -},onEnd:function(){ -var _3c=this._code,_3d=this._styles; -if(this._styleNodes&&this._styleNodes.length){ -while(this._styleNodes.length){ -dojo.destroy(this._styleNodes.pop()); -} -} -if(this.renderStyles&&_3d&&_3d.length){ -this._renderStyles(_3d); -} -if(this.executeScripts&&_3c){ -if(this.cleanContent){ -_3c=_3c.replace(/(<!--|(?:\/\/)?-->|<!\[CDATA\[|\]\]>)/g,""); -} -if(this.scriptHasHooks){ -_3c=_3c.replace(/_container_(?!\s*=[^=])/g,this.scriptHookReplacement); -} -try{ -_31(_3c,this.node); -} -catch(e){ -this._onError("Exec","Error eval script in "+this.id+", "+e.message,e); -} -} -this.inherited("onEnd",arguments); -},tearDown:function(){ -this.inherited(arguments); -delete this._styles; -if(this._styleNodes&&this._styleNodes.length){ -while(this._styleNodes.length){ -dojo.destroy(this._styleNodes.pop()); -} -} -delete this._styleNodes; -dojo.mixin(this,dojo.getObject(this.declaredClass).prototype); -}}); -dojox.html.set=function(_3e,_3f,_40){ -if(!_40){ -return dojo.html._setNodeContent(_3e,_3f,true); -}else{ -var op=new dojox.html._ContentSetter(dojo.mixin(_40,{content:_3f,node:_3e})); -return op.set(); -} -}; -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/ellipsis.js b/resources/library/interactive/barre_prof.wgt/dojox/html/ellipsis.js deleted file mode 100644 index b28946f2..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/ellipsis.js +++ /dev/null @@ -1,174 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.html.ellipsis"]){ -dojo._hasResource["dojox.html.ellipsis"]=true; -dojo.provide("dojox.html.ellipsis"); -(function(d){ -if(d.isMoz){ -var _1=1; -if("dojoxFFEllipsisDelay" in d.config){ -_1=Number(d.config.dojoxFFEllipsisDelay); -if(isNaN(_1)){ -_1=1; -} -} -try{ -var _2=(function(){ -var _3="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; -var _4=document.createElementNS(_3,"window"); -var _5=document.createElementNS(_3,"description"); -_5.setAttribute("crop","end"); -_4.appendChild(_5); -return function(n){ -var x=_4.cloneNode(true); -x.firstChild.setAttribute("value",n.textContent); -n.innerHTML=""; -n.appendChild(x); -}; -})(); -} -catch(e){ -} -var _6=d.create; -var dd=d.doc; -var dp=d.place; -var _7=_6("iframe",{className:"dojoxEllipsisIFrame",src:"javascript:'<html><head><script>if(\"loadFirebugConsole\" in window){window.loadFirebugConsole();}</script></head><body></body></html>'"}); -var _8=function(r,_9){ -if(r.collapsed){ -return; -} -if(_9>0){ -do{ -_8(r); -_9--; -}while(_9); -return; -} -if(r.endContainer.nodeType==3&&r.endOffset>0){ -r.setEnd(r.endContainer,r.endOffset-1); -}else{ -if(r.endContainer.nodeType==3){ -r.setEndBefore(r.endContainer); -_8(r); -return; -}else{ -if(r.endOffset&&r.endContainer.childNodes.length>=r.endOffset){ -var _a=r.endContainer.childNodes[r.endOffset-1]; -if(_a.nodeType==3){ -r.setEnd(_a,_a.length-1); -}else{ -if(_a.childNodes.length){ -r.setEnd(_a,_a.childNodes.length); -_8(r); -return; -}else{ -r.setEndBefore(_a); -_8(r); -return; -} -} -}else{ -r.setEndBefore(r.endContainer); -_8(r); -return; -} -} -} -}; -var _b=function(n){ -var c=_6("div",{className:"dojoxEllipsisContainer"}); -var e=_6("div",{className:"dojoxEllipsisShown",style:{display:"none"}}); -n.parentNode.replaceChild(c,n); -c.appendChild(n); -c.appendChild(e); -var i=_7.cloneNode(true); -var ns=n.style; -var es=e.style; -var _c; -var _d=function(){ -ns.display=""; -es.display="none"; -if(n.scrollWidth<=n.offsetWidth){ -return; -} -var r=dd.createRange(); -r.selectNodeContents(n); -ns.display="none"; -es.display=""; -var _e=false; -do{ -var _f=1; -dp(r.cloneContents(),e,"only"); -var sw=e.scrollWidth,ow=e.offsetWidth; -_e=(sw<=ow); -var pct=(1-((ow*1)/sw)); -if(pct>0){ -_f=Math.max(Math.round(e.textContent.length*pct)-1,1); -} -_8(r,_f); -}while(!r.collapsed&&!_e); -}; -i.onload=function(){ -i.contentWindow.onresize=_d; -_d(); -}; -c.appendChild(i); -}; -var hc=d.hasClass; -var doc=d.doc; -var s,fn,opt; -if(doc.querySelectorAll){ -s=doc; -fn="querySelectorAll"; -opt=".dojoxEllipsis"; -}else{ -if(doc.getElementsByClassName){ -s=doc; -fn="getElementsByClassName"; -opt="dojoxEllipsis"; -}else{ -s=d; -fn="query"; -opt=".dojoxEllipsis"; -} -} -fx=function(){ -d.forEach(s[fn].apply(s,[opt]),function(n){ -if(!n||n._djx_ellipsis_done){ -return; -} -n._djx_ellipsis_done=true; -if(_2&&n.textContent==n.innerHTML&&!hc(n,"dojoxEllipsisSelectable")){ -_2(n); -}else{ -_b(n); -} -}); -}; -d.addOnLoad(function(){ -var t=null; -var c=null; -var _10=function(){ -if(c){ -d.disconnect(c); -c=null; -} -if(t){ -clearTimeout(t); -} -t=setTimeout(function(){ -t=null; -fx(); -c=d.connect(d.body(),"DOMSubtreeModified",_10); -},_1); -}; -_10(); -}); -} -})(dojo); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/entities.js b/resources/library/interactive/barre_prof.wgt/dojox/html/entities.js deleted file mode 100644 index a14aa07f..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/entities.js +++ /dev/null @@ -1,85 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.html.entities"]){ -dojo._hasResource["dojox.html.entities"]=true; -dojo.provide("dojox.html.entities"); -(function(){ -var _1=function(_2,_3){ -var _4,_5; -if(_3._encCache&&_3._encCache.regexp&&_3._encCache.mapper&&_3.length==_3._encCache.length){ -_4=_3._encCache.mapper; -_5=_3._encCache.regexp; -}else{ -_4={}; -_5=["["]; -var i; -for(i=0;i<_3.length;i++){ -_4[_3[i][0]]="&"+_3[i][1]+";"; -_5.push(_3[i][0]); -} -_5.push("]"); -_5=new RegExp(_5.join(""),"g"); -_3._encCache={mapper:_4,regexp:_5,length:_3.length}; -} -_2=_2.replace(_5,function(c){ -return _4[c]; -}); -return _2; -}; -var _6=function(_7,_8){ -var _9,_a; -if(_8._decCache&&_8._decCache.regexp&&_8._decCache.mapper&&_8.length==_8._decCache.length){ -_9=_8._decCache.mapper; -_a=_8._decCache.regexp; -}else{ -_9={}; -_a=["("]; -var i; -for(i=0;i<_8.length;i++){ -var e="&"+_8[i][1]+";"; -if(i){ -_a.push("|"); -} -_9[e]=_8[i][0]; -_a.push(e); -} -_a.push(")"); -_a=new RegExp(_a.join(""),"g"); -_8._decCache={mapper:_9,regexp:_a,length:_8.length}; -} -_7=_7.replace(_a,function(c){ -return _9[c]; -}); -return _7; -}; -dojox.html.entities.html=[["&","amp"],["\"","quot"],["<","lt"],[">","gt"],[" ","nbsp"]]; -dojox.html.entities.latin=[["¡","iexcl"],["¢","cent"],["£","pound"],["€","euro"],["¤","curren"],["¥","yen"],["¦","brvbar"],["§","sect"],["¨","uml"],["©","copy"],["ª","ordf"],["«","laquo"],["¬","not"],["","shy"],["®","reg"],["¯","macr"],["°","deg"],["±","plusmn"],["²","sup2"],["³","sup3"],["´","acute"],["µ","micro"],["¶","para"],["·","middot"],["¸","cedil"],["¹","sup1"],["º","ordm"],["»","raquo"],["¼","frac14"],["½","frac12"],["¾","frac34"],["¿","iquest"],["À","Agrave"],["Á","Aacute"],["Â","Acirc"],["Ã","Atilde"],["Ä","Auml"],["Å","Aring"],["Æ","AElig"],["Ç","Ccedil"],["È","Egrave"],["É","Eacute"],["Ê","Ecirc"],["Ë","Euml"],["Ì","Igrave"],["Í","Iacute"],["Î","Icirc"],["Ï","Iuml"],["Ð","ETH"],["Ñ","Ntilde"],["Ò","Ograve"],["Ó","Oacute"],["Ô","Ocirc"],["Õ","Otilde"],["Ö","Ouml"],["×","times"],["Ø","Oslash"],["Ù","Ugrave"],["Ú","Uacute"],["Û","Ucirc"],["Ü","Uuml"],["Ý","Yacute"],["Þ","THORN"],["ß","szlig"],["à","agrave"],["á","aacute"],["â","acirc"],["ã","atilde"],["ä","auml"],["å","aring"],["æ","aelig"],["ç","ccedil"],["è","egrave"],["é","eacute"],["ê","ecirc"],["ë","euml"],["ì","igrave"],["í","iacute"],["î","icirc"],["ï","iuml"],["ð","eth"],["ñ","ntilde"],["ò","ograve"],["ó","oacute"],["ô","ocirc"],["õ","otilde"],["ö","ouml"],["÷","divide"],["ø","oslash"],["ù","ugrave"],["ú","uacute"],["û","ucirc"],["ü","uuml"],["ý","yacute"],["þ","thorn"],["ÿ","yuml"],["ƒ","fnof"],["Α","Alpha"],["Β","Beta"],["Γ","Gamma"],["Δ","Delta"],["Ε","Epsilon"],["Ζ","Zeta"],["Η","Eta"],["Θ","Theta"],["Ι","Iota"],["Κ","Kappa"],["Λ","Lambda"],["Μ","Mu"],["Ν","Nu"],["Ξ","Xi"],["Ο","Omicron"],["Π","Pi"],["Ρ","Rho"],["Σ","Sigma"],["Τ","Tau"],["Υ","Upsilon"],["Φ","Phi"],["Χ","Chi"],["Ψ","Psi"],["Ω","Omega"],["α","alpha"],["β","beta"],["γ","gamma"],["δ","delta"],["ε","epsilon"],["ζ","zeta"],["η","eta"],["θ","theta"],["ι","iota"],["κ","kappa"],["λ","lambda"],["μ","mu"],["ν","nu"],["ξ","xi"],["ο","omicron"],["π","pi"],["ρ","rho"],["ς","sigmaf"],["σ","sigma"],["τ","tau"],["υ","upsilon"],["φ","phi"],["χ","chi"],["ψ","psi"],["ω","omega"],["ϑ","thetasym"],["ϒ","upsih"],["ϖ","piv"],["•","bull"],["…","hellip"],["′","prime"],["″","Prime"],["‾","oline"],["⁄","frasl"],["℘","weierp"],["ℑ","image"],["ℜ","real"],["™","trade"],["ℵ","alefsym"],["←","larr"],["↑","uarr"],["→","rarr"],["↓","darr"],["↔","harr"],["↵","crarr"],["⇐","lArr"],["⇑","uArr"],["⇒","rArr"],["⇓","dArr"],["⇔","hArr"],["∀","forall"],["∂","part"],["∃","exist"],["∅","empty"],["∇","nabla"],["∈","isin"],["∉","notin"],["∋","ni"],["∏","prod"],["∑","sum"],["−","minus"],["∗","lowast"],["√","radic"],["∝","prop"],["∞","infin"],["∠","ang"],["∧","and"],["∨","or"],["∩","cap"],["∪","cup"],["∫","int"],["∴","there4"],["∼","sim"],["≅","cong"],["≈","asymp"],["≠","ne"],["≡","equiv"],["≤","le"],["≥","ge"],["⊂","sub"],["⊃","sup"],["⊄","nsub"],["⊆","sube"],["⊇","supe"],["⊕","oplus"],["⊗","otimes"],["⊥","perp"],["⋅","sdot"],["⌈","lceil"],["⌉","rceil"],["⌊","lfloor"],["⌋","rfloor"],["〈","lang"],["〉","rang"],["◊","loz"],["♠","spades"],["♣","clubs"],["♥","hearts"],["♦","diams"],["Œ","Elig"],["œ","oelig"],["Š","Scaron"],["š","scaron"],["Ÿ","Yuml"],["ˆ","circ"],["˜","tilde"],[" ","ensp"],[" ","emsp"],[" ","thinsp"],["","zwnj"],["","zwj"],["","lrm"],["","rlm"],["–","ndash"],["—","mdash"],["‘","lsquo"],["’","rsquo"],["‚","sbquo"],["“","ldquo"],["”","rdquo"],["„","bdquo"],["†","dagger"],["‡","Dagger"],["‰","permil"],["‹","lsaquo"],["›","rsaquo"]]; -dojox.html.entities.encode=function(_b,m){ -if(_b){ -if(!m){ -_b=_1(_b,dojox.html.entities.html); -_b=_1(_b,dojox.html.entities.latin); -}else{ -_b=_1(_b,m); -} -} -return _b; -}; -dojox.html.entities.decode=function(_c,m){ -if(_c){ -if(!m){ -_c=_6(_c,dojox.html.entities.html); -_c=_6(_c,dojox.html.entities.latin); -}else{ -_c=_6(_c,m); -} -} -return _c; -}; -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/ext-dojo/style.js b/resources/library/interactive/barre_prof.wgt/dojox/html/ext-dojo/style.js deleted file mode 100644 index 9967f6a5..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/ext-dojo/style.js +++ /dev/null @@ -1,290 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.html.ext-dojo.style"]){ -dojo._hasResource["dojox.html.ext-dojo.style"]=true; -dojo.provide("dojox.html.ext-dojo.style"); -dojo.experimental("dojox.html.ext-dojo.style"); -dojo.mixin(dojox.html["ext-dojo"].style,{supportsTransform:true,_toPx:function(_1){ -var ds=dojo.style,_2=this._conversion; -if(typeof _1==="number"){ -return _1+"px"; -}else{ -if(_1.toLowerCase().indexOf("px")!=-1){ -return _1; -} -} -!_2.parentNode&&dojo.place(_2,dojo.body()); -ds(_2,"margin",_1); -return ds(_2,"margin"); -},init:function(){ -var ds=dojo.style,_3=dojo.doc.documentElement.style,_4=dojox.html["ext-dojo"].style; -dojo.style=function(_5,_6,_7){ -var n=dojo.byId(_5),tr=(_6=="transform"),to=(_6=="transformOrigin"),_8=arguments.length; -if(_8==3){ -if(tr){ -_4.setTransform(n,_7,true); -}else{ -if(to){ -_4.setTransformOrigin(n,_7); -}else{ -ds(_5,_6,_7); -} -} -} -if(_8==2){ -if(tr){ -return _4.getTransform(_5); -}else{ -if(to){ -return _4.getTransformOrigin(_5); -}else{ -return ds(_5,_6); -} -} -} -}; -for(var i=0,_9=["WebkitT","MozT","OT","t"];i<_9.length;i++){ -if(typeof _3[_9[i]+"ransform"]!=="undefined"){ -this.tPropertyName=_9[i]+"ransform"; -} -if(typeof _3[_9[i]+"ransformOrigin"]!=="undefined"){ -this.toPropertyName=_9[i]+"ransformOrigin"; -} -} -if(this.tPropertyName){ -this.setTransform=function(_a,_b){ -return dojo.style(_a,this.tPropertyName,_b); -}; -this.getTransform=function(_c){ -return dojo.style(_c,this.tPropertyName); -}; -}else{ -if(dojo.isIE){ -this.setTransform=this._setTransformFilter; -this.getTransform=this._getTransformFilter; -} -} -if(this.toPropertyName){ -this.setTransformOrigin=function(_d,_e){ -return dojo.style(_d,this.toPropertyName,_e); -}; -this.getTransformOrigin=function(_f){ -return dojo.style(_f,this.toPropertyName); -}; -}else{ -if(dojo.isIE){ -this.setTransformOrigin=this._setTransformOriginFilter; -this.getTransformOrigin=this._getTransformOriginFilter; -}else{ -this.supportsTransform=false; -} -} -this._conversion=dojo.create("div",{style:{position:"absolute",top:"-100px",left:"-100px",fontSize:0,width:"0",backgroundPosition:"50% 50%"}}); -},_notSupported:function(){ -console.warn("Sorry, this browser doesn't support transform and transform-origin"); -},_setTransformOriginFilter:function(_10,_11){ -var to=dojo.trim(_11).replace(" top"," 0").replace("left ","0 ").replace(" center","50%").replace("center ","50% ").replace(" bottom"," 100%").replace("right ","100% ").replace(/\s+/," "),_12=to.split(" "),n=dojo.byId(_10),t=this.getTransform(n),_13=true; -for(var i=0;i<_12.length;i++){ -_13=_13&&/^0|(\d+(%|px|pt|in|pc|mm|cm))$/.test(_12[i]); -if(_12[i].indexOf("%")==-1){ -_12[i]=this._toPx(_12[i]); -} -} -if(!_13){ -return; -} -if(!_12.length||_12.length>2){ -return; -} -dojo.attr(n,"dojo-transform-origin",_12.join(" ")); -t&&this.setTransform(_10,t); -},_getTransformOriginFilter:function(_14){ -return dojo.attr(_14,"dojo-transform-origin")||"50% 50%"; -},_setTransformFilter:function(_15,_16){ -var t=_16.replace(/\s/g,""),n=dojo.byId(_15),_17=t.split(")"),_18=1,_19=1,_1a="DXImageTransform.Microsoft.Matrix",_1b=dojo.hasAttr,_1c=dojo.attr,PI=Math.PI,cos=Math.cos,sin=Math.sin,tan=Math.tan,max=Math.max,min=Math.min,abs=Math.abs,_1d=PI/180,_1e=PI/200,ct="",_1f="",_20=[],x0=0,y0=0,dx=0,dy=0,xc=0,yc=0,a=0,m11=1,m12=0,m21=0,m22=1,tx=0,ty=0,_21=[m11,m12,m21,m22,tx,ty],_22=false,ds=dojo.style,_23=ds(n,"position")=="absolute"?"absolute":"relative",w=ds(n,"width")+ds(n,"paddingLeft")+ds(n,"paddingRight"),h=ds(n,"height")+ds(n,"paddingTop")+ds(n,"paddingBottom"),_24=this._toPx; -!_1b(n,"dojo-transform-origin")&&this.setTransformOrigin(n,"50% 50%"); -for(var i=0,l=_17.length;i<l;i++){ -_20=_17[i].match(/matrix|rotate|scaleX|scaleY|scale|skewX|skewY|skew|translateX|translateY|translate/); -_1f=_20?_20[0]:""; -switch(_1f){ -case "matrix": -ct=_17[i].replace(/matrix\(|\)/g,""); -var _25=ct.split(","); -m11=_21[0]*_25[0]+_21[1]*_25[2]; -m12=_21[0]*_25[1]+_21[1]*_25[3]; -m21=_21[2]*_25[0]+_21[3]*_25[2]; -m22=_21[2]*_25[1]+_21[3]*_25[3]; -tx=_21[4]+_25[4]; -ty=_21[5]+_25[5]; -break; -case "rotate": -ct=_17[i].replace(/rotate\(|\)/g,""); -_18=ct.indexOf("deg")!=-1?_1d:ct.indexOf("grad")!=-1?_1e:1; -a=parseFloat(ct)*_18; -var s=sin(a),c=cos(a); -m11=_21[0]*c+_21[1]*s; -m12=-_21[0]*s+_21[1]*c; -m21=_21[2]*c+_21[3]*s; -m22=-_21[2]*s+_21[3]*c; -break; -case "skewX": -ct=_17[i].replace(/skewX\(|\)/g,""); -_18=ct.indexOf("deg")!=-1?_1d:ct.indexOf("grad")!=-1?_1e:1; -var ta=tan(parseFloat(ct)*_18); -m11=_21[0]; -m12=_21[0]*ta+_21[1]; -m21=_21[2]; -m22=_21[2]*ta+_21[3]; -break; -case "skewY": -ct=_17[i].replace(/skewY\(|\)/g,""); -_18=ct.indexOf("deg")!=-1?_1d:ct.indexOf("grad")!=-1?_1e:1; -ta=tan(parseFloat(ct)*_18); -m11=_21[0]+_21[1]*ta; -m12=_21[1]; -m21=_21[2]+_21[3]*ta; -m22=_21[3]; -break; -case "skew": -ct=_17[i].replace(/skew\(|\)/g,""); -var _26=ct.split(","); -_26[1]=_26[1]||"0"; -_18=_26[0].indexOf("deg")!=-1?_1d:_26[0].indexOf("grad")!=-1?_1e:1; -_19=_26[1].indexOf("deg")!=-1?_1d:_26[1].indexOf("grad")!=-1?_1e:1; -var a0=tan(parseFloat(_26[0])*_18),a1=tan(parseFloat(_26[1])*_19); -m11=_21[0]+_21[1]*a1; -m12=_21[0]*a0+_21[1]; -m21=_21[2]+_21[3]*a1; -m22=_21[2]*a0+_21[3]; -break; -case "scaleX": -ct=parseFloat(_17[i].replace(/scaleX\(|\)/g,""))||1; -m11=_21[0]*ct; -m12=_21[1]; -m21=_21[2]*ct; -m22=_21[3]; -break; -case "scaleY": -ct=parseFloat(_17[i].replace(/scaleY\(|\)/g,""))||1; -m11=_21[0]; -m12=_21[1]*ct; -m21=_21[2]; -m22=_21[3]*ct; -break; -case "scale": -ct=_17[i].replace(/scale\(|\)/g,""); -var _27=ct.split(","); -_27[1]=_27[1]||_27[0]; -m11=_21[0]*_27[0]; -m12=_21[1]*_27[1]; -m21=_21[2]*_27[0]; -m22=_21[3]*_27[1]; -break; -case "translateX": -ct=parseInt(_17[i].replace(/translateX\(|\)/g,""))||1; -m11=_21[0]; -m12=_21[1]; -m21=_21[2]; -m22=_21[3]; -tx=_24(ct); -tx&&_1c(n,"dojo-transform-matrix-tx",tx); -break; -case "translateY": -ct=parseInt(_17[i].replace(/translateY\(|\)/g,""))||1; -m11=_21[0]; -m12=_21[1]; -m21=_21[2]; -m22=_21[3]; -ty=_24(ct); -ty&&_1c(n,"dojo-transform-matrix-ty",ty); -break; -case "translate": -ct=_17[i].replace(/translate\(|\)/g,""); -m11=_21[0]; -m12=_21[1]; -m21=_21[2]; -m22=_21[3]; -var _28=ct.split(","); -_28[0]=parseInt(_24(_28[0]))||0; -_28[1]=parseInt(_24(_28[1]))||0; -tx=_28[0]; -ty=_28[1]; -tx&&_1c(n,"dojo-transform-matrix-tx",tx); -ty&&_1c(n,"dojo-transform-matrix-ty",ty); -break; -} -_21=[m11,m12,m21,m22,tx,ty]; -} -var Bx=min(w*m11+h*m12,min(min(w*m11,h*m12),0)),By=min(w*m21+h*m22,min(min(w*m21,h*m22),0)); -dx=-Bx; -dy=-By; -if(dojo.isIE<8){ -n.style.zoom="1"; -if(_23!="absolute"){ -var _29=ds(_15.parentNode,"width"),tw=abs(w*m11),th=abs(h*m12),_2a=max(tw+th,max(max(th,tw),0)); -dx-=(_2a-w)/2-(_29>_2a?0:(_2a-_29)/2); -} -}else{ -if(dojo.isIE==8){ -ds(n,"zIndex")=="auto"&&(n.style.zIndex="0"); -} -} -try{ -_22=!!n.filters.item(_1a); -} -catch(e){ -_22=false; -} -if(_22){ -n.filters.item(_1a).M11=m11; -n.filters.item(_1a).M12=m12; -n.filters.item(_1a).M21=m21; -n.filters.item(_1a).M22=m22; -n.filters.item(_1a).filterType="bilinear"; -n.filters.item(_1a).Dx=0; -n.filters.item(_1a).Dy=0; -n.filters.item(_1a).sizingMethod="auto expand"; -}else{ -n.style.filter+=" progid:"+_1a+"(M11="+m11+",M12="+m12+",M21="+m21+",M22="+m22+",FilterType='bilinear',Dx=0,Dy=0,sizingMethod='auto expand')"; -} -tx=parseInt(_1c(n,"dojo-transform-matrix-tx")||"0"); -ty=parseInt(_1c(n,"dojo-transform-matrix-ty")||"0"); -var _2b=_1c(n,"dojo-transform-origin").split(" "); -for(i=0;i<2;i++){ -_2b[i]=_2b[i]||"50%"; -} -xc=(_2b[0].toString().indexOf("%")!=-1)?w*parseInt(_2b[0])*0.01:_2b[0]; -yc=(_2b[1].toString().indexOf("%")!=-1)?h*parseInt(_2b[1])*0.01:_2b[1]; -if(_1b(n,"dojo-startX")){ -x0=parseInt(_1c(n,"dojo-startX")); -}else{ -x0=parseInt(ds(n,"left")); -_1c(n,"dojo-startX",_23=="absolute"?x0:"0"); -} -if(_1b(n,"dojo-startY")){ -y0=parseInt(_1c(n,"dojo-startY")); -}else{ -y0=parseInt(ds(n,"top")); -_1c(n,"dojo-startY",_23=="absolute"?y0:"0"); -} -ds(n,{position:_23,left:x0-parseInt(dx)+parseInt(xc)-((parseInt(xc)-tx)*m11+(parseInt(yc)-ty)*m12)+"px",top:y0-parseInt(dy)+parseInt(yc)-((parseInt(xc)-tx)*m21+(parseInt(yc)-ty)*m22)+"px"}); -},_getTransformFilter:function(_2c){ -try{ -var n=dojo.byId(_2c),_2d=n.filters.item(0); -return "matrix("+_2d.M11+", "+_2d.M12+", "+_2d.M21+", "+_2d.M22+", "+(dojo.attr(_2c,"dojo-transform-tx")||"0")+", "+(dojo.attr(_2c,"dojo-transform-ty")||"0")+")"; -} -catch(e){ -return "matrix(1, 0, 0, 1, 0, 0)"; -} -},setTransform:function(){ -this._notSupported(); -},setTransformOrigin:function(){ -this._notSupported(); -}}); -dojox.html["ext-dojo"].style.init(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/format.js b/resources/library/interactive/barre_prof.wgt/dojox/html/format.js deleted file mode 100644 index bd3ea19a..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/format.js +++ /dev/null @@ -1,342 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.html.format"]){ -dojo._hasResource["dojox.html.format"]=true; -dojo.provide("dojox.html.format"); -dojo.require("dojox.html.entities"); -dojox.html.format.prettyPrint=function(_1,_2,_3,_4,_5){ -var _6=[]; -var _7=0; -var _8=[]; -var _9="\t"; -var _a=""; -var _b=[]; -var i; -var _c=/[=]([^"']+?)(\s|>)/g; -var _d=/style=("[^"]*"|'[^']*'|\S*)/gi; -var _e=/[\w-]+=("[^"]*"|'[^']*'|\S*)/gi; -if(_2&&_2>0&&_2<10){ -_9=""; -for(i=0;i<_2;i++){ -_9+=" "; -} -} -var _f=dojo.doc.createElement("div"); -_f.innerHTML=_1; -var _10=dojox.html.entities.encode; -var _11=dojox.html.entities.decode; -var _12=function(tag){ -switch(tag){ -case "a": -case "b": -case "strong": -case "s": -case "strike": -case "i": -case "u": -case "em": -case "sup": -case "sub": -case "span": -case "font": -case "big": -case "cite": -case "q": -case "small": -return true; -default: -return false; -} -}; -var div=_f.ownerDocument.createElement("div"); -var _13=function(_14){ -var _15=_14.cloneNode(false); -div.appendChild(_15); -var _16=div.innerHTML; -div.innerHTML=""; -return _16; -}; -var _17=function(){ -var i,txt=""; -for(i=0;i<_7;i++){ -txt+=_9; -} -return txt.length; -}; -var _18=function(){ -var i; -for(i=0;i<_7;i++){ -_6.push(_9); -} -}; -var _19=function(){ -_6.push("\n"); -}; -var _1a=function(n){ -_a+=_10(n.nodeValue,_4); -}; -var _1b=function(txt){ -var i; -var _1c; -var _1d=txt.split("\n"); -for(i=0;i<_1d.length;i++){ -_1d[i]=dojo.trim(_1d[i]); -} -txt=_1d.join(" "); -txt=dojo.trim(txt); -if(txt!==""){ -var _1e=[]; -if(_3&&_3>0){ -var _1f=_17(); -var _20=_3; -if(_3>_1f){ -_20-=_1f; -} -while(txt){ -if(txt.length>_3){ -for(i=_20;(i>0&&txt.charAt(i)!==" ");i--){ -} -if(!i){ -for(i=_20;(i<txt.length&&txt.charAt(i)!==" ");i++){ -} -} -var _21=txt.substring(0,i); -_21=dojo.trim(_21); -txt=dojo.trim(txt.substring((i==txt.length)?txt.length:i+1,txt.length)); -if(_21){ -_1c=""; -for(i=0;i<_7;i++){ -_1c+=_9; -} -_21=_1c+_21+"\n"; -} -_1e.push(_21); -}else{ -_1c=""; -for(i=0;i<_7;i++){ -_1c+=_9; -} -txt=_1c+txt+"\n"; -_1e.push(txt); -txt=null; -} -} -return _1e.join(""); -}else{ -_1c=""; -for(i=0;i<_7;i++){ -_1c+=_9; -} -txt=_1c+txt+"\n"; -return txt; -} -}else{ -return ""; -} -}; -var _22=function(txt){ -if(txt){ -txt=txt.replace(/"/gi,"\""); -txt=txt.replace(/>/gi,">"); -txt=txt.replace(/</gi,"<"); -txt=txt.replace(/&/gi,"&"); -} -return txt; -}; -var _23=function(txt){ -if(txt){ -txt=_22(txt); -var i,t,c,_24; -var _25=0; -var _26=txt.split("\n"); -var _27=[]; -for(i=0;i<_26.length;i++){ -var _28=_26[i]; -var _29=(_28.indexOf("\n")>-1); -_28=dojo.trim(_28); -if(_28){ -var _2a=_25; -for(c=0;c<_28.length;c++){ -var ch=_28.charAt(c); -if(ch==="{"){ -_25++; -}else{ -if(ch==="}"){ -_25--; -_2a=_25; -} -} -} -_24=""; -for(t=0;t<_7+_2a;t++){ -_24+=_9; -} -_27.push(_24+_28+"\n"); -}else{ -if(_29&&i===0){ -_27.push("\n"); -} -} -} -txt=_27.join(""); -} -return txt; -}; -var _2b=function(_2c){ -var _2d=_2c.nodeName.toLowerCase(); -var _2e=dojo.trim(_13(_2c)); -var tag=_2e.substring(0,_2e.indexOf(">")+1); -tag=tag.replace(_c,"=\"$1\"$2"); -tag=tag.replace(_d,function(_2f){ -var sL=_2f.substring(0,6); -var _30=_2f.substring(6,_2f.length); -var _31=_30.charAt(0); -_30=dojo.trim(_30.substring(1,_30.length-1)); -_30=_30.split(";"); -var _32=[]; -dojo.forEach(_30,function(s){ -s=dojo.trim(s); -if(s){ -s=s.substring(0,s.indexOf(":")).toLowerCase()+s.substring(s.indexOf(":"),s.length); -_32.push(s); -} -}); -_32=_32.sort(); -_30=_32.join("; "); -var ts=dojo.trim(_30); -if(!ts||ts===";"){ -return ""; -}else{ -_30+=";"; -return sL+_31+_30+_31; -} -}); -var _33=[]; -tag=tag.replace(_e,function(_34){ -_33.push(dojo.trim(_34)); -return ""; -}); -_33=_33.sort(); -tag="<"+_2d; -if(_33.length){ -tag+=" "+_33.join(" "); -} -if(_2e.indexOf("</")!=-1){ -_8.push(_2d); -tag+=">"; -}else{ -if(_5){ -tag+=" />"; -}else{ -tag+=">"; -} -_8.push(false); -} -var _35=_12(_2d); -_b.push(_35); -if(_a&&!_35){ -_6.push(_1b(_a)); -_a=""; -} -if(!_35){ -_18(); -_6.push(tag); -_19(); -_7++; -}else{ -_a+=tag; -} -}; -var _36=function(){ -var _37=_b.pop(); -if(_a&&!_37){ -_6.push(_1b(_a)); -_a=""; -} -var ct=_8.pop(); -if(ct){ -ct="</"+ct+">"; -if(!_37){ -_7--; -_18(); -_6.push(ct); -_19(); -}else{ -_a+=ct; -} -}else{ -_7--; -} -}; -var _38=function(n){ -var _39=_11(n.nodeValue,_4); -_18(); -_6.push("<!--"); -_19(); -_7++; -_6.push(_1b(_39)); -_7--; -_18(); -_6.push("-->"); -_19(); -}; -var _3a=function(_3b){ -var _3c=_3b.childNodes; -if(_3c){ -var i; -for(i=0;i<_3c.length;i++){ -var n=_3c[i]; -if(n.nodeType===1){ -var tg=dojo.trim(n.tagName.toLowerCase()); -if(dojo.isIE&&n.parentNode!=_3b){ -continue; -} -if(tg&&tg.charAt(0)==="/"){ -continue; -}else{ -_2b(n); -if(tg==="script"){ -_6.push(_23(n.innerHTML)); -}else{ -if(tg==="pre"){ -var _3d=n.innerHTML; -if(dojo.isMoz){ -_3d=_3d.replace("<br>","\n"); -_3d=_3d.replace("<pre>",""); -_3d=_3d.replace("</pre>",""); -} -if(_3d.charAt(_3d.length-1)!=="\n"){ -_3d+="\n"; -} -_6.push(_3d); -}else{ -_3a(n); -} -} -_36(); -} -}else{ -if(n.nodeType===3||n.nodeType===4){ -_1a(n); -}else{ -if(n.nodeType===8){ -_38(n); -} -} -} -} -} -}; -_3a(_f); -if(_a){ -_6.push(_1b(_a)); -_a=""; -} -return _6.join(""); -}; -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/metrics.js b/resources/library/interactive/barre_prof.wgt/dojox/html/metrics.js deleted file mode 100644 index 4fa39764..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/metrics.js +++ /dev/null @@ -1,155 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.html.metrics"]){ -dojo._hasResource["dojox.html.metrics"]=true; -dojo.provide("dojox.html.metrics"); -(function(){ -var _1=dojox.html.metrics; -_1.getFontMeasurements=function(){ -var _2={"1em":0,"1ex":0,"100%":0,"12pt":0,"16px":0,"xx-small":0,"x-small":0,"small":0,"medium":0,"large":0,"x-large":0,"xx-large":0}; -if(dojo.isIE){ -dojo.doc.documentElement.style.fontSize="100%"; -} -var _3=dojo.doc.createElement("div"); -var ds=_3.style; -ds.position="absolute"; -ds.left="-100px"; -ds.top="0"; -ds.width="30px"; -ds.height="1000em"; -ds.borderWidth="0"; -ds.margin="0"; -ds.padding="0"; -ds.outline="0"; -ds.lineHeight="1"; -ds.overflow="hidden"; -dojo.body().appendChild(_3); -for(var p in _2){ -ds.fontSize=p; -_2[p]=Math.round(_3.offsetHeight*12/16)*16/12/1000; -} -dojo.body().removeChild(_3); -_3=null; -return _2; -}; -var _4=null; -_1.getCachedFontMeasurements=function(_5){ -if(_5||!_4){ -_4=_1.getFontMeasurements(); -} -return _4; -}; -var _6=null,_7={}; -_1.getTextBox=function(_8,_9,_a){ -var m,s; -if(!_6){ -m=_6=dojo.doc.createElement("div"); -var c=dojo.doc.createElement("div"); -c.appendChild(m); -s=c.style; -s.overflow="scroll"; -s.position="absolute"; -s.left="0px"; -s.top="-10000px"; -s.width="1px"; -s.height="1px"; -s.visibility="hidden"; -s.borderWidth="0"; -s.margin="0"; -s.padding="0"; -s.outline="0"; -dojo.body().appendChild(c); -}else{ -m=_6; -} -m.className=""; -s=m.style; -s.borderWidth="0"; -s.margin="0"; -s.padding="0"; -s.outline="0"; -if(arguments.length>1&&_9){ -for(var i in _9){ -if(i in _7){ -continue; -} -s[i]=_9[i]; -} -} -if(arguments.length>2&&_a){ -m.className=_a; -} -m.innerHTML=_8; -var _b=dojo.position(m); -_b.w=m.parentNode.scrollWidth; -return _b; -}; -var _c={w:16,h:16}; -_1.getScrollbar=function(){ -return {w:_c.w,h:_c.h}; -}; -_1._fontResizeNode=null; -_1.initOnFontResize=function(_d){ -var f=_1._fontResizeNode=dojo.doc.createElement("iframe"); -var fs=f.style; -fs.position="absolute"; -fs.width="5em"; -fs.height="10em"; -fs.top="-10000px"; -if(dojo.isIE){ -f.onreadystatechange=function(){ -if(f.contentWindow.document.readyState=="complete"){ -f.onresize=f.contentWindow.parent[dojox._scopeName].html.metrics._fontresize; -} -}; -}else{ -f.onload=function(){ -f.contentWindow.onresize=f.contentWindow.parent[dojox._scopeName].html.metrics._fontresize; -}; -} -f.setAttribute("src","javascript:'<html><head><script>if(\"loadFirebugConsole\" in window){window.loadFirebugConsole();}</script></head><body></body></html>'"); -dojo.body().appendChild(f); -_1.initOnFontResize=function(){ -}; -}; -_1.onFontResize=function(){ -}; -_1._fontresize=function(){ -_1.onFontResize(); -}; -dojo.addOnUnload(function(){ -var f=_1._fontResizeNode; -if(f){ -if(dojo.isIE&&f.onresize){ -f.onresize=null; -}else{ -if(f.contentWindow&&f.contentWindow.onresize){ -f.contentWindow.onresize=null; -} -} -_1._fontResizeNode=null; -} -}); -dojo.addOnLoad(function(){ -try{ -var n=dojo.doc.createElement("div"); -n.style.cssText="top:0;left:0;width:100px;height:100px;overflow:scroll;position:absolute;visibility:hidden;"; -dojo.body().appendChild(n); -_c.w=n.offsetWidth-n.clientWidth; -_c.h=n.offsetHeight-n.clientHeight; -dojo.body().removeChild(n); -delete n; -} -catch(e){ -} -if("fontSizeWatch" in dojo.config&&!!dojo.config.fontSizeWatch){ -_1.initOnFontResize(); -} -}); -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/resources/ellipsis.css b/resources/library/interactive/barre_prof.wgt/dojox/html/resources/ellipsis.css deleted file mode 100644 index 99224861..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/resources/ellipsis.css +++ /dev/null @@ -1,33 +0,0 @@ -.dojoxEllipsis, -.dojoxEllipsisShown { - white-space: nowrap; - width: 100%; - overflow: hidden; - text-overflow: ellipsis; - -o-text-overflow: ellipsis; - -webkit-text-overflow: ellipsis; -} -.dojoxEllipsis window { - width:100%; - -moz-user-focus:normal; - -moz-user-select:text; -} -.dojoxEllipsis description{ - -moz-user-focus:normal; - -moz-user-select:text; -} -.dojoxEllipsisIFrame{ - white-space: normal; - border: none; - width: 100%; - display: block; - height: 1px; - margin-top: -1px; - clear: both; -} -.dojoxEllipsisContainer{ - width: 100%; -} -.dojoxEllipsisShown:after{ - content: "\2026" -} diff --git a/resources/library/interactive/barre_prof.wgt/dojox/html/styles.js b/resources/library/interactive/barre_prof.wgt/dojox/html/styles.js deleted file mode 100644 index c6cb56ae..00000000 --- a/resources/library/interactive/barre_prof.wgt/dojox/html/styles.js +++ /dev/null @@ -1,190 +0,0 @@ -/* - Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved. - Available via Academic Free License >= 2.1 OR the modified BSD license. - see: http://dojotoolkit.org/license for details -*/ - - -if(!dojo._hasResource["dojox.html.styles"]){ -dojo._hasResource["dojox.html.styles"]=true; -dojo.provide("dojox.html.styles"); -(function(){ -var _1={}; -var _2={}; -var _3=[]; -var _4=[]; -dojox.html.insertCssRule=function(_5,_6,_7){ -var ss=dojox.html.getDynamicStyleSheet(_7); -var _8=_5+" {"+_6+"}"; -if(dojo.isIE){ -ss.cssText+=_8; -}else{ -if(ss.sheet){ -ss.sheet.insertRule(_8,ss._indicies.length); -}else{ -ss.appendChild(dojo.doc.createTextNode(_8)); -} -} -ss._indicies.push(_5+" "+_6); -return _5; -}; -dojox.html.removeCssRule=function(_9,_a,_b){ -var ss; -var _c=-1; -for(var nm in _1){ -if(_b&&_b!=nm){ -continue; -} -ss=_1[nm]; -for(var i=0;i<ss._indicies.length;i++){ -if(_9+" "+_a==ss._indicies[i]){ -_c=i; -break; -} -} -if(_c>-1){ -break; -} -} -if(!ss){ -return false; -} -if(_c==-1){ -return false; -} -ss._indicies.splice(_c,1); -if(dojo.isIE){ -ss.removeRule(_c); -}else{ -if(ss.sheet){ -ss.sheet.deleteRule(_c); -}else{ -if(document.styleSheets[0]){ -} -} -} -return true; -}; -dojox.html.getStyleSheet=function(_d){ -if(_1[_d||"default"]){ -return _1[_d||"default"]; -} -if(!_d){ -return false; -} -var _e=dojox.html.getStyleSheets(); -if(_e[_d]){ -return dojox.html.getStyleSheets()[_d]; -} -for(var nm in _e){ -if(_e[nm].href&&_e[nm].href.indexOf(_d)>-1){ -return _e[nm]; -} -} -return false; -}; -dojox.html.getDynamicStyleSheet=function(_f){ -if(!_f){ -_f="default"; -} -if(!_1[_f]){ -if(dojo.doc.createStyleSheet){ -_1[_f]=dojo.doc.createStyleSheet(); -if(dojo.isIE<9){ -_1[_f].title=_f; -} -}else{ -_1[_f]=dojo.doc.createElement("style"); -_1[_f].setAttribute("type","text/css"); -dojo.doc.getElementsByTagName("head")[0].appendChild(_1[_f]); -} -_1[_f]._indicies=[]; -} -return _1[_f]; -}; -dojox.html.enableStyleSheet=function(_10){ -var ss=dojox.html.getStyleSheet(_10); -if(ss){ -if(ss.sheet){ -ss.sheet.disabled=false; -}else{ -ss.disabled=false; -} -} -}; -dojox.html.disableStyleSheet=function(_11){ -var ss=dojox.html.getStyleSheet(_11); -if(ss){ -if(ss.sheet){ -ss.sheet.disabled=true; -}else{ -ss.disabled=true; -} -} -}; -dojox.html.activeStyleSheet=function(_12){ -var _13=dojox.html.getToggledStyleSheets(); -if(arguments.length==1){ -dojo.forEach(_13,function(s){ -s.disabled=(s.title==_12)?false:true; -}); -}else{ -for(var i=0;i<_13.length;i++){ -if(_13[i].disabled==false){ -return _13[i]; -} -} -} -return true; -}; -dojox.html.getPreferredStyleSheet=function(){ -}; -dojox.html.getToggledStyleSheets=function(){ -if(!_3.length){ -var _14=dojox.html.getStyleSheets(); -for(var nm in _14){ -if(_14[nm].title){ -_3.push(_14[nm]); -} -} -} -return _3; -}; -dojox.html.getStyleSheets=function(){ -if(_2.collected){ -return _2; -} -var _15=dojo.doc.styleSheets; -dojo.forEach(_15,function(n){ -var s=(n.sheet)?n.sheet:n; -var _16=s.title||s.href; -if(dojo.isIE){ -if(s.cssText.indexOf("#default#VML")==-1){ -if(s.href){ -_2[_16]=s; -}else{ -if(s.imports.length){ -dojo.forEach(s.imports,function(si){ -_2[si.title||si.href]=si; -}); -}else{ -_2[_16]=s; -} -} -} -}else{ -_2[_16]=s; -_2[_16].id=s.ownerNode.id; -dojo.forEach(s.cssRules,function(r){ -if(r.href){ -_2[r.href]=r.styleSheet; -_2[r.href].id=s.ownerNode.id; -} -}); -} -}); -_2.collected=true; -return _2; -}; -})(); -} diff --git a/resources/library/interactive/barre_prof.wgt/index.html b/resources/library/interactive/barre_prof.wgt/index.html deleted file mode 100644 index 18493bc0..00000000 --- a/resources/library/interactive/barre_prof.wgt/index.html +++ /dev/null @@ -1,60 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> -<html> - - <head> - <style type="text/css"> - body, html { font-family:helvetica,arial,sans-serif; font-size:90%; } - </style> - <script src="dojo/dojo.js" djConfig="parseOnLoad: true"> - </script> - <script type="text/javascript"> - var flag = false; - dojo.require("dijit.Editor"); - dojo.require("dijit._editor.plugins.FontChoice"); // 'fontName','fontSize','formatBlock' - dojo.require("dijit._editor.plugins.TextColor"); - dojo.require("dijit._editor.plugins.LinkDialog"); - dojo.require("dijit._editor.plugins.FullScreen"); - dojo.require("dijit._editor.plugins.ViewSource"); - dojo.require("dijit._editor.plugins.NewPage"); - dojo.require("dojox.editor.plugins.Preview"); - dojo.require("dojox.editor.plugins.Breadcrumb"); - dojo.require("dojox.editor.plugins.FindReplace"); - dojo.require("dojox.editor.plugins.PasteFromWord"); - dojo.require("dojox.editor.plugins.CollapsibleToolbar"); - //&nbsp; - function setSankoreData() { - if(window.sankore) { - if(flag){ - sankore.returnStatus("startEditing()", "FFFFFFFFFUUUUUUUUUUU"); - window.sankore.setPreference("textForEditing", window.frames[0].document.getElementById("dijitEditorBody").innerHTML);} - } - } - - function setTextEditorData() { - if(window.sankore) { - if(!window.frames[0].document.body) - setTimeout(function(){setTextEditorData()}, 300); - else { - flag = true; - window.frames[0].document.getElementById("dijitEditorBody").innerHTML = window.sankore.preference("textForEditing","<p>Enter your text here ...</p>"); - } - } - } - - //function addDataInto(){window.frames[0].document.getElementById("dijitEditorBody").innerHTML = window.sankore.preference("textForEditing","<p>Enter your text here ...</p>");} - - </script> - <link rel="stylesheet" type="text/css" href="dijit/themes/claro/claro.css"/> - <link rel="stylesheet" type="text/css" href="dojox/editor/plugins/resources/editorPlugins.css"/> - <link rel="stylesheet" type="text/css" href="dojox/editor/plugins/resources/css/Preview.css"/> - <link rel="stylesheet" type="text/css" href="dojox/editor/plugins/resources/css/Breadcrumb.css"/> - <link rel="stylesheet" type="text/css" href="dojox/editor/plugins/resources/css/FindReplace.css"/> - <link rel="stylesheet" type="text/css" href="dojox/editor/plugins/resources/css/PasteFromWord.css"/> - <link rel="stylesheet" type="text/css" href="dojox/editor/plugins/resources/css/CollapsibleToolbar.css"/> - </head> - - <body class="claro" onload="setTextEditorData()"> - <div dojoType="dijit.Editor" id="editor2" plugins="['undo','redo','|','cut','copy','paste','|','bold','italic','underline','strikethrough','subscript','superscript','|','selectAll','removeFormat','delete','|','insertOrderedList','insertUnorderedList','insertHorizontalRule','|','indent','outdent','justifyLeft','justifyCenter','justifyRight','justifyFull','||']" extraPlugins="['createLink','unlink','insertImage','|','fullscreen','|','newpage','viewsource','preview','breadcrumb','findreplace','pastefromword','|','foreColor','hiliteColor','||','collapsibletoolbar','fontName','fontSize','formatBlock']" onmouseout="setSankoreData()"></div> - </body> - -</html> \ No newline at end of file diff --git a/resources/library/interactive/iCell.wgt/js/script.js b/resources/library/interactive/iCell.wgt/js/script.js index e0805491..e6a4fa5b 100644 --- a/resources/library/interactive/iCell.wgt/js/script.js +++ b/resources/library/interactive/iCell.wgt/js/script.js @@ -102,7 +102,7 @@ function adn() { document.getElementById("div_zoom").innerHTML='<img src="images/'+elt_a_zoomer+'_zoom.jpg" alt="" />' /*Uniboard 4 ne supportant pas bien les gifs...*/ - if(window.uniboard){ + if(window.sankore){ document.getElementById("img_ADN").src="images/adn.jpg" } else { document.getElementById("img_ADN").src="images/ADN.gif" diff --git a/src/adaptors/UBExportDocument.cpp b/src/adaptors/UBExportDocument.cpp index dfb2e65d..27ea87d7 100644 --- a/src/adaptors/UBExportDocument.cpp +++ b/src/adaptors/UBExportDocument.cpp @@ -25,6 +25,8 @@ #include "quazip.h" #include "quazipfile.h" +#include "transition/UniboardSankoreTransition.h" + #include "core/memcheck.h" UBExportDocument::UBExportDocument(QObject *parent) @@ -64,6 +66,9 @@ void UBExportDocument::persist(UBDocumentProxy* pDocumentProxy) void UBExportDocument::persistsDocument(UBDocumentProxy* pDocumentProxy, QString filename) { + UniboardSankoreTransition document; + QString documentPath(pDocumentProxy->persistencePath()); + document.checkDocumentDirectory(documentPath); QuaZip zip(filename); zip.setFileNameCodec("UTF-8"); diff --git a/src/adaptors/UBSvgSubsetAdaptor.cpp b/src/adaptors/UBSvgSubsetAdaptor.cpp index 16ff3ad8..2e9c417f 100644 --- a/src/adaptors/UBSvgSubsetAdaptor.cpp +++ b/src/adaptors/UBSvgSubsetAdaptor.cpp @@ -1801,6 +1801,13 @@ UBGraphicsAudioItem* UBSvgSubsetAdaptor::UBSvgSubsetReader::audioItemFromSvg() QString href = audioHref.toString(); + //Claudio this is necessary to fix the absolute path added on Sankore 3.1 1.00.00 + //The absoult path doesn't work when you want to share Sankore documents. + if(!href.startsWith("audios/")){ + int indexOfAudioDirectory = href.lastIndexOf("audios"); + href = href.right(href.length() - indexOfAudioDirectory); + } + UBGraphicsAudioItem* audioItem = new UBGraphicsAudioItem(href); graphicsItemFromSvg(audioItem); QStringRef ubPos = mXmlReader.attributes().value(mNamespaceUri, "position"); @@ -1828,6 +1835,13 @@ UBGraphicsVideoItem* UBSvgSubsetAdaptor::UBSvgSubsetReader::videoItemFromSvg() QString href = videoHref.toString(); + //Claudio this is necessary to fix the absolute path added on Sankore 3.1 1.00.00 + //The absoult path doesn't work when you want to share Sankore documents. + if(!href.startsWith("videos/")){ + int indexOfAudioDirectory = href.lastIndexOf("videos"); + href = href.right(href.length() - indexOfAudioDirectory); + } + UBGraphicsVideoItem* videoItem = new UBGraphicsVideoItem(href); graphicsItemFromSvg(videoItem); QStringRef ubPos = mXmlReader.attributes().value(mNamespaceUri, "position"); diff --git a/src/adaptors/UBWebPublisher.cpp b/src/adaptors/UBWebPublisher.cpp index 70059526..092d597e 100644 --- a/src/adaptors/UBWebPublisher.cpp +++ b/src/adaptors/UBWebPublisher.cpp @@ -21,6 +21,8 @@ #include "core/memcheck.h" +#include "transition/UniboardSankoreTransition.h" + UBWebPublisher::UBWebPublisher(QObject *parent) : UBExportAdaptor(parent) { @@ -45,6 +47,10 @@ void UBWebPublisher::persist(UBDocumentProxy* pDocumentProxy) if (!pDocumentProxy) return; + UniboardSankoreTransition document; + QString documentPath(pDocumentProxy->persistencePath()); + document.checkDocumentDirectory(documentPath); + UBDocumentPublisher* publisher = new UBDocumentPublisher(pDocumentProxy, this); // the publisher will self delete when publication finishes publisher->publish(); diff --git a/src/core/UBPersistenceManager.cpp b/src/core/UBPersistenceManager.cpp index 50ffdcfb..3987f615 100644 --- a/src/core/UBPersistenceManager.cpp +++ b/src/core/UBPersistenceManager.cpp @@ -866,7 +866,7 @@ QString UBPersistenceManager::addVideoFileToDocument(UBDocumentProxy* pDocumentP } - return destPath; + return fileName; } @@ -898,7 +898,7 @@ QString UBPersistenceManager::addVideoFileToDocument(UBDocumentProxy* pDocumentP } } - return destPath; + return fileName; } @@ -926,7 +926,7 @@ QString UBPersistenceManager::addAudioFileToDocument(UBDocumentProxy* pDocumentP } - return destPath; + return fileName; } @@ -958,7 +958,7 @@ QString UBPersistenceManager::addAudioFileToDocument(UBDocumentProxy* pDocumentP } } - return destPath; + return fileName; } diff --git a/src/domain/UBGraphicsMediaItem.cpp b/src/domain/UBGraphicsMediaItem.cpp index 1319a884..9a41ba31 100644 --- a/src/domain/UBGraphicsMediaItem.cpp +++ b/src/domain/UBGraphicsMediaItem.cpp @@ -65,16 +65,16 @@ QVariant UBGraphicsMediaItem::itemChange(GraphicsItemChange change, const QVaria { QString absoluteMediaFilename; - if (mMediaFileUrl.isRelative() && scene()->document()) - { +// if (mMediaFileUrl.isRelative() && scene()->document()) +// { absoluteMediaFilename = - /*scene()->document()->persistencePath() - + "/" + */mMediaFileUrl.toLocalFile(); - } - else if (!mMediaFileUrl.isRelative()) - { - absoluteMediaFilename = mMediaFileUrl.toLocalFile(); - } + scene()->document()->persistencePath() + + "/" + mMediaFileUrl.toLocalFile(); +// } +// else if (!mMediaFileUrl.isRelative()) +// { +// absoluteMediaFilename = mMediaFileUrl.toLocalFile(); +// } if (absoluteMediaFilename.length() > 0) diff --git a/src/domain/UBW3CWidget.cpp b/src/domain/UBW3CWidget.cpp index 6778fa7f..b3fbf575 100644 --- a/src/domain/UBW3CWidget.cpp +++ b/src/domain/UBW3CWidget.cpp @@ -222,34 +222,25 @@ QString UBW3CWidget::createNPAPIWrapperInDir(const QString& pUrl, const QDir& pD if (name.length() == 0) name = fi.baseName(); - if (fi.exists()) - { - QString target = pDir.path() + "/" + fi.fileName(); - QFile::copy(url, target); - - url = target; + if (fi.exists()){ + url = fi.fileName(); } loadNPAPIWrappersTemplates(); QString htmlTemplate; - if (pMimeType.length() > 0 && sNPAPIWrapperTemplates.contains(pMimeType)) - { + if (pMimeType.length() > 0 && sNPAPIWrapperTemplates.contains(pMimeType)){ htmlTemplate = sNPAPIWrapperTemplates.value(pMimeType); } - else - { + else { QString extension = UBFileSystemUtils::extension(url); if (sNPAPIWrapperTemplates.contains(extension)) htmlTemplate = sNPAPIWrapperTemplates.value(extension); } - if (htmlTemplate.length() > 0) - { - QString sUrl; - + if (htmlTemplate.length() > 0){ htmlTemplate = htmlTemplate.replace(QString("{in.url}"), url) .replace(QString("{in.width}"), QString("%1").arg(sizeHint.width())) .replace(QString("{in.height}"), QString("%1").arg(sizeHint.height())); @@ -277,6 +268,10 @@ QString UBW3CWidget::createNPAPIWrapperInDir(const QString& pUrl, const QDir& pD } widgetLibraryDir.mkpath(widgetLibraryPath); + if (fi.exists()) { + QString target = widgetLibraryPath + "/" + fi.fileName(); + QFile::copy(pUrl, target); + } QFile configFile(widgetLibraryPath + "/config.xml"); diff --git a/src/frameworks/UBPlatformUtils_linux.cpp b/src/frameworks/UBPlatformUtils_linux.cpp index 0e6ca9f3..a1d77910 100644 --- a/src/frameworks/UBPlatformUtils_linux.cpp +++ b/src/frameworks/UBPlatformUtils_linux.cpp @@ -248,7 +248,7 @@ const KEYBT FRENCH_LOCALE[] = { /* j J */ KEYBT(0x6a, 0x4a), /* k K */ KEYBT(0x6b, 0x4b), /* l L */ KEYBT(0x6c, 0x4c), - /* m M */ KEYBT(0x6b, 0x4d), + /* m M */ KEYBT(0x6d, 0x4d), /* ? % */ KEYBT(0xf9, 0x25), /* * ? */ KEYBT(0x2a, 0xb5), diff --git a/src/frameworks/UBPlatformUtils_win.cpp b/src/frameworks/UBPlatformUtils_win.cpp index b74e1f4f..08066adc 100644 --- a/src/frameworks/UBPlatformUtils_win.cpp +++ b/src/frameworks/UBPlatformUtils_win.cpp @@ -282,7 +282,7 @@ const KEYBT FRENCH_LOCALE[] = { /* j J */ KEYBT(0x6a, 0x4a), /* k K */ KEYBT(0x6b, 0x4b), /* l L */ KEYBT(0x6c, 0x4c), - /* m M */ KEYBT(0x6b, 0x4d), + /* m M */ KEYBT(0x6d, 0x4d), /* ? % */ KEYBT(0xf9, 0x25), /* * ? */ KEYBT(0x2a, 0xb5), diff --git a/src/gui/UBKeyboardPalette_linux.cpp b/src/gui/UBKeyboardPalette_linux.cpp index 6e7cb1b2..7b52fd0d 100644 --- a/src/gui/UBKeyboardPalette_linux.cpp +++ b/src/gui/UBKeyboardPalette_linux.cpp @@ -75,6 +75,7 @@ void x11SendKey(Display *display, int keyCode, int modifiers) void UBKeyboardButton::sendUnicodeSymbol(unsigned int nSymbol1, unsigned int nSymbol2, bool shift) { unsigned int nSymbol = shift ? nSymbol2 : nSymbol1; + // Obtain the X11 display. Display *display = XOpenDisplay(0); if(display == NULL) @@ -97,6 +98,7 @@ void UBKeyboardButton::sendControlSymbol(int nSymbol) if(display == NULL) return; + KeyCode keyCode = XKeysymToKeycode(display, nSymbol); if (keyCode != NoSymbol) @@ -174,8 +176,10 @@ void setSymbolsFromButton(Display *display, { keySyms[byte_per_code * i + 0] = keySyms[byte_per_code * i + 2] = locale[nFromButton + i]->code1; + keySyms[byte_per_code * i + 1] = keySyms[byte_per_code * i + 3] = locale[nFromButton + i]->code2; + for(int j=4; j<byte_per_code; j++) keySyms[byte_per_code * i + j] = NoSymbol; } @@ -193,11 +197,8 @@ void UBKeyboardPalette::onLocaleChanged(UBKeyboardLocale* locale) setSymbolsFromButton(display, *locale, byte_per_code, min_keycodes + 41, 0, 1); setSymbolsFromButton(display, *locale, byte_per_code, min_keycodes + 2, 1, 12); setSymbolsFromButton(display, *locale, byte_per_code, min_keycodes + 16, 13, 12); - setSymbolsFromButton(display, *locale, byte_per_code, min_keycodes + 30, 25, 12); + setSymbolsFromButton(display, *locale, byte_per_code, min_keycodes + 30, 25, 11); setSymbolsFromButton(display, *locale, byte_per_code, min_keycodes + 44, 37, 10); - XCloseDisplay(display); } - - diff --git a/src/gui/UBVideoPlayer.cpp b/src/gui/UBVideoPlayer.cpp index 4a29d55f..4e76b7f6 100644 --- a/src/gui/UBVideoPlayer.cpp +++ b/src/gui/UBVideoPlayer.cpp @@ -32,7 +32,6 @@ UBVideoPlayer::UBVideoPlayer(QWidget* pParent) setLayout(mainLayout); mainLayout->setContentsMargins(0, 0, 0, 0); - //mainLayout->setSpacing(0); mainLayout->addWidget(mVideoPlayer); QHBoxLayout* transportLayout = new QHBoxLayout(this); diff --git a/src/pdf/XPDFRenderer.cpp b/src/pdf/XPDFRenderer.cpp index 9382f300..30717935 100644 --- a/src/pdf/XPDFRenderer.cpp +++ b/src/pdf/XPDFRenderer.cpp @@ -19,6 +19,13 @@ #include <frameworks/UBPlatformUtils.h> +#include <splash/SplashBitmap.h> +#include <xpdf/Object.h> +#include <xpdf/GlobalParams.h> +#include <xpdf/SplashOutputDev.h> +#include <xpdf/PDFDoc.h> + + #include "core/memcheck.h" QAtomicInt XPDFRenderer::sInstancesCount = 0; @@ -37,13 +44,7 @@ XPDFRenderer::XPDFRenderer(const QString &filename) mDocument = new PDFDoc(new GString(filename.toUtf8().data()), 0, 0, 0); // the filename GString is deleted on PDFDoc desctruction sInstancesCount.ref(); - bThumbGenerated = false; - bPagesGenerated = false; - mPagesMap.clear(); - mThumbs.clear(); - mThumbMap.clear(); - mScaleX = 0.0; - mScaleY = 0.0; + } XPDFRenderer::~XPDFRenderer() @@ -134,114 +135,47 @@ int XPDFRenderer::pageRotation(int pageNumber) const return 0; } -void XPDFRenderer::render(QPainter *p, int pageNumber, const QRectF &bounds) -{ - if (isValid()) - { - qreal xscale = p->worldTransform().m11(); - qreal yscale = p->worldTransform().m22(); - bool bZoomChanged = false; - bool bFirstThumbnail = false; - - if(fabs(mScaleX - xscale) > 0.1 || fabs(mScaleY - yscale) > 0.1) - { - mScaleX = xscale; - mScaleY = yscale; - bZoomChanged = true; - } - - // First verify if the thumbnails and the pages are generated - if(!bThumbGenerated) - { - if(pageNumber == 1) - { - bFirstThumbnail = true; - } - - if(!mThumbMap[pageNumber - 1]) - { - - // Generate the thumbnail - mThumbs << *createPDFImage(pageNumber, xscale, yscale, bounds); - mThumbMap[pageNumber - 1] = true; - if(pageNumber == mDocument->getNumPages()) - { - bThumbGenerated = true; - } - } - } - else if(!bPagesGenerated || bZoomChanged) - { - if(!mPagesMap[pageNumber - 1] || bZoomChanged) - { - // Generate the page - mNumPageToPageMap[pageNumber] = *createPDFImage(pageNumber, xscale, yscale, bounds); - mPagesMap[pageNumber - 1] = true; - if(mPagesMap.size() == mDocument->getNumPages()) - { - bPagesGenerated = true; - } - } - } - - QImage pdfImage; - if(!bThumbGenerated || bFirstThumbnail) - { - pdfImage = mThumbs.at(pageNumber - 1); - } - else - { - pdfImage = mNumPageToPageMap[pageNumber]; - } - - QTransform savedTransform = p->worldTransform(); - p->resetTransform(); - QTime t; - t.start(); - p->drawImage(QPointF(savedTransform.dx() + mSliceX, savedTransform.dy() + mSliceY), pdfImage); - //qDebug() << "XPDFRenderer::render(...) execution time: " << t.elapsed() << "ms"; - p->setWorldTransform(savedTransform); - } -} - -QImage* XPDFRenderer::createPDFImage(int pageNumber, const qreal xscale, const qreal yscale, const QRectF &bounds) +void XPDFRenderer::render(QPainter *p, int pageNumber, const QRectF &bounds) { - QImage* img = new QImage(); if (isValid()) { SplashColor paperColor = {0xFF, 0xFF, 0xFF}; // white - mSplash = new SplashOutputDev(splashModeRGB8, 1, gFalse, paperColor); - mSplash->startDoc(mDocument->getXRef()); + SplashOutputDev splash(splashModeRGB8, 1, gFalse, paperColor); + splash.startDoc(mDocument->getXRef()); int hResolution = 72; int vResolution = 72; int rotation = 0; // in degrees (get it from the worldTransform if we want to support rotation) GBool useMediaBox = gFalse; GBool crop = gTrue; GBool printing = gFalse; - const qreal xScale = xscale; - const qreal yScale = yscale; - mSliceX = 0.; - mSliceY = 0.; + const qreal xScale = p->worldTransform().m11(); + const qreal yScale = p->worldTransform().m22(); + qreal sliceX = 0.; + qreal sliceY = 0.; if (bounds.isNull()) { - mDocument->displayPage(mSplash, pageNumber, hResolution * xScale, vResolution * yScale, + mDocument->displayPage(&splash, pageNumber, hResolution * xScale, vResolution * yScale, rotation, useMediaBox, crop, printing); } else { - mSliceX = bounds.x() * xScale; - mSliceY = bounds.y() * yScale; + sliceX = bounds.x() * xScale; + sliceY = bounds.y() * yScale; qreal sliceW = bounds.width() * xScale; qreal sliceH = bounds.height() * yScale; - mDocument->displayPageSlice(mSplash, pageNumber, hResolution * xScale, vResolution * yScale, - rotation, useMediaBox, crop, printing, mSliceX, mSliceY, sliceW, sliceH); + mDocument->displayPageSlice(&splash, pageNumber, hResolution * xScale, vResolution * yScale, + rotation, useMediaBox, crop, printing, sliceX, sliceY, sliceW, sliceH); } - mpSplashBitmap = mSplash->getBitmap(); - img = new QImage(mpSplashBitmap->getDataPtr(), mpSplashBitmap->getWidth(), mpSplashBitmap->getHeight(), mpSplashBitmap->getWidth() * 3, QImage::Format_RGB888); + SplashBitmap *bitmap = splash.getBitmap(); + QImage pdfImage(bitmap->getDataPtr(), bitmap->getWidth(), bitmap->getHeight(), bitmap->getWidth() * 3, QImage::Format_RGB888); + + QTransform savedTransform = p->worldTransform(); + p->resetTransform(); + p->drawImage(QPointF(savedTransform.dx() + sliceX, savedTransform.dy() + sliceY), pdfImage); + p->setWorldTransform(savedTransform); } - return img; -} +} \ No newline at end of file diff --git a/src/transition/UniboardSankoreTransition.cpp b/src/transition/UniboardSankoreTransition.cpp index 33de53fe..4f384045 100644 --- a/src/transition/UniboardSankoreTransition.cpp +++ b/src/transition/UniboardSankoreTransition.cpp @@ -12,6 +12,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + #include "UniboardSankoreTransition.h" #include "core/UBSettings.h" #include "frameworks/UBDesktopServices.h" @@ -64,6 +65,15 @@ void UniboardSankoreTransition::rollbackDocumentsTransition(QFileInfoList& fileI } } +bool UniboardSankoreTransition::checkDocumentDirectory(QString& documentDirectoryPath) +{ + bool result = true; + result = updateSankoreHRef(documentDirectoryPath); + QString sankoreWidgetPath = documentDirectoryPath + "/widgets"; + result &= updateIndexWidget(sankoreWidgetPath); + return result; +} + void UniboardSankoreTransition::documentTransition() { if (QFileInfo(mUniboardSourceDirectory).exists() || QFileInfo(mOldSankoreDirectory).exists()){ @@ -90,6 +100,132 @@ void UniboardSankoreTransition::startDocumentTransition() connect(this,SIGNAL(transitioningFile(QString)),mTransitionDlg,SLOT(transitioningFile(QString))); } + +bool UniboardSankoreTransition::checkPage(QString& sankorePagePath) +{ + QFile file(sankorePagePath); + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) + return false; + + QByteArray documentByteArray = file.readAll(); + file.close(); + + QString sankoreDirectory = sankorePagePath.left(sankorePagePath.indexOf("/page")); + ; + sankoreDirectory = QUrl::fromLocalFile(sankoreDirectory).toString(); + QString documentString(documentByteArray); + + QRegExp videoRegExp("<video(.*)xlink:href=\"(.*)videos/(.*)/>"); + videoRegExp.setMinimal(true); + + documentString.replace(videoRegExp,"<video\\1xlink:href=\"videos/\\3/>"); + + + QRegExp audioRegExp("<audio(.*)xlink:href=\"(.*)audios/(.*)/>"); + audioRegExp.setMinimal(true); + + documentString.replace(audioRegExp,"<audio\\1xlink:href=\"audios/\\3/>"); + + if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) + return false; + + file.write(documentString.toAscii()); + file.close(); + + return true; +} + + +bool UniboardSankoreTransition::checkWidget(QString& sankoreWidgetIndexPath) +{ + QFile file(sankoreWidgetIndexPath); + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) + return false; + + QByteArray documentByteArray = file.readAll(); + file.close(); + + QString documentString(documentByteArray); + + QRegExp swfOriginFilePathRegExp("<param name=\"movie\" value=\"(.*)\">"); + swfOriginFilePathRegExp.setMinimal(true); + swfOriginFilePathRegExp.indexIn(documentString); + QString origin = swfOriginFilePathRegExp.cap(1); + if(origin.contains("http://")){ + // an url is the source of the swf. The source is kept as is. + return true; + } + + //changing the path + QRegExp swfDataPathRegExp("<object(.*)data=\"(.*)interactive content/Web/(.*)\"(.*)>"); + swfDataPathRegExp.setMinimal(true); + documentString.replace(swfDataPathRegExp,"<object\\1data=\"\\3\">"); + + QRegExp swfMoviePathRegExp("<param name=\"movie\" value=\"(.*)interactive content/Web/(.*)\">"); + swfMoviePathRegExp.setMinimal(true); + documentString.replace(swfMoviePathRegExp,"<param name=\"movie\" value=\"\\2\">"); + + //copy the swf on the right place + QRegExp swfFileNameRegExp("<param name=\"movie\" value=\"(.*)\">"); + swfFileNameRegExp.setMinimal(true); + swfFileNameRegExp.indexIn(documentString); + QString swfFileName = swfFileNameRegExp.cap(1); + int lastDirectoryLevel = sankoreWidgetIndexPath.lastIndexOf("/"); + if (lastDirectoryLevel == -1) + lastDirectoryLevel = sankoreWidgetIndexPath.lastIndexOf("\\"); + + + QString destination(sankoreWidgetIndexPath.left(lastDirectoryLevel) + "/" + swfFileName); + QFile(origin).copy(destination); + + if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) + return false; + + file.write(documentString.toAscii()); + file.close(); + + return true; +} + + +bool UniboardSankoreTransition::updateIndexWidget(QString& sankoreWidgetPath) +{ + bool result = true; + QFileInfoList fileInfoList = UBFileSystemUtils::allElementsInDirectory(sankoreWidgetPath); + + QFileInfoList::iterator fileInfo; + for (fileInfo = fileInfoList.begin(); fileInfo != fileInfoList.end() && result; fileInfo += 1) { + if (fileInfo->fileName().endsWith("wgt")){ + QString path = fileInfo->absolutePath() + "/" + fileInfo->fileName() + "/index.html"; + if (QFile(path).exists()) + result = checkWidget(path); + + path = fileInfo->absolutePath() + "/" + fileInfo->fileName() + "/index.htm"; + if (QFile(path).exists()) + result &= checkWidget(path); + } + } + + return result; +} + +bool UniboardSankoreTransition::updateSankoreHRef(QString& sankoreDocumentPath) +{ + bool result = true; + QFileInfoList fileInfoList = UBFileSystemUtils::allElementsInDirectory(sankoreDocumentPath); + + QFileInfoList::iterator fileInfo; + + for (fileInfo = fileInfoList.begin(); fileInfo != fileInfoList.end() && result; fileInfo += 1) { + if (fileInfo->fileName().endsWith("svg")){ + QString path = fileInfo->absolutePath() + "/" + fileInfo->fileName(); + result = checkPage(path); + } + } + + return result; +} + void UniboardSankoreTransition::executeTransition() { bool result = false; @@ -109,7 +245,11 @@ void UniboardSankoreTransition::executeTransition() QString sankoreDocumentName = fileInfo->fileName(); emit transitioningFile(sankoreDocumentName); sankoreDocumentName.replace("Uniboard","Sankore"); - result = UBFileSystemUtils::copyDir(fileInfo->filePath(),sankoreDocumentDirectory + "/" + sankoreDocumentName); + QString sankoreDocumentPath = sankoreDocumentDirectory + "/" + sankoreDocumentName; + result = UBFileSystemUtils::copyDir(fileInfo->filePath(),sankoreDocumentPath); + result &= updateSankoreHRef(sankoreDocumentPath); + QString sankoreWidgetPath = sankoreDocumentDirectory + "/" + sankoreDocumentName + "/widgets"; + result &= updateIndexWidget(sankoreWidgetPath); } } diff --git a/src/transition/UniboardSankoreTransition.h b/src/transition/UniboardSankoreTransition.h index f5c178f4..69adf35e 100644 --- a/src/transition/UniboardSankoreTransition.h +++ b/src/transition/UniboardSankoreTransition.h @@ -38,7 +38,14 @@ class UniboardSankoreTransition : public QObject public: explicit UniboardSankoreTransition(QObject *parent = 0); ~UniboardSankoreTransition(); + + bool checkDocumentDirectory(QString& documentDirectoryPath); + void documentTransition(); + bool checkPage(QString& sankorePagePath); + bool updateSankoreHRef(QString &sankoreDocumentPath); + bool checkWidget(QString& sankoreWidgetPath); + bool updateIndexWidget(QString& sankoreWidgetPath); void executeTransition();