aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/snort/css/colorbox.css72
-rw-r--r--config/snort/css/new_tab_menu.css202
-rw-r--r--config/snort/css/sexybuttons.css684
-rw-r--r--config/snort/javascript/jquery.colorbox.js1528
-rw-r--r--config/snort/javascript/row_helper.js154
5 files changed, 1320 insertions, 1320 deletions
diff --git a/config/snort/css/colorbox.css b/config/snort/css/colorbox.css
index 97155a56..09c3cc53 100644
--- a/config/snort/css/colorbox.css
+++ b/config/snort/css/colorbox.css
@@ -1,36 +1,36 @@
-/*
- ColorBox Core Style
- The following rules are the styles that are consistant between themes.
- Avoid changing this area to maintain compatability with future versions of ColorBox.
-*/
-#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
-#cboxOverlay{position:fixed; width:100%; height:100%;}
-#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
-#cboxContent{position:relative;}
-#cboxLoadedContent{overflow:auto;}
-#cboxLoadedContent iframe{display:block; width:100%; height:100%; border:0;}
-#cboxTitle{margin:0;}
-#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%;}
-#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
-
-/*
- ColorBox example user style
- The following rules are ordered and tabbed in a way that represents the
- order/nesting of the generated HTML, so that the structure easier to understand.
-*/
-#cboxOverlay{background:#000;}
-
-#colorbox{}
- #cboxContent{margin-top:20px;}
- #cboxLoadedContent{background:#000; padding:5px;}
- #cboxTitle{position:absolute; top:-20px; left:0; color:#ccc;}
- #cboxCurrent{position:absolute; top:-20px; right:0px; color:#ccc;}
- #cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}
- #cboxPrevious{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(/snort/images//controls.png) top left no-repeat; width:28px; height:65px; text-indent:-9999px;}
- #cboxPrevious.hover{background-position:bottom left;}
- #cboxNext{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(/snort/images//controls.png) top right no-repeat; width:28px; height:65px; text-indent:-9999px;}
- #cboxNext.hover{background-position:bottom right;}
- #cboxLoadingOverlay{background:#000;}
- #cboxLoadingGraphic{background:url(/snort/images//loading.gif) center center no-repeat;}
- #cboxClose{position:absolute; top:5px; right:5px; display:block; background:url(/snort/images//controls.png) top center no-repeat; width:38px; height:19px; text-indent:-9999px;}
- #cboxClose.hover{background-position:bottom center;} \ No newline at end of file
+/*
+ ColorBox Core Style
+ The following rules are the styles that are consistant between themes.
+ Avoid changing this area to maintain compatability with future versions of ColorBox.
+*/
+#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
+#cboxOverlay{position:fixed; width:100%; height:100%;}
+#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
+#cboxContent{position:relative;}
+#cboxLoadedContent{overflow:auto;}
+#cboxLoadedContent iframe{display:block; width:100%; height:100%; border:0;}
+#cboxTitle{margin:0;}
+#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%;}
+#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
+
+/*
+ ColorBox example user style
+ The following rules are ordered and tabbed in a way that represents the
+ order/nesting of the generated HTML, so that the structure easier to understand.
+*/
+#cboxOverlay{background:#000;}
+
+#colorbox{}
+ #cboxContent{margin-top:20px;}
+ #cboxLoadedContent{background:#000; padding:5px;}
+ #cboxTitle{position:absolute; top:-20px; left:0; color:#ccc;}
+ #cboxCurrent{position:absolute; top:-20px; right:0px; color:#ccc;}
+ #cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}
+ #cboxPrevious{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(/snort/images//controls.png) top left no-repeat; width:28px; height:65px; text-indent:-9999px;}
+ #cboxPrevious.hover{background-position:bottom left;}
+ #cboxNext{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(/snort/images//controls.png) top right no-repeat; width:28px; height:65px; text-indent:-9999px;}
+ #cboxNext.hover{background-position:bottom right;}
+ #cboxLoadingOverlay{background:#000;}
+ #cboxLoadingGraphic{background:url(/snort/images//loading.gif) center center no-repeat;}
+ #cboxClose{position:absolute; top:5px; right:5px; display:block; background:url(/snort/images//controls.png) top center no-repeat; width:38px; height:19px; text-indent:-9999px;}
+ #cboxClose.hover{background-position:bottom center;}
diff --git a/config/snort/css/new_tab_menu.css b/config/snort/css/new_tab_menu.css
index 9d02348b..89a7108c 100644
--- a/config/snort/css/new_tab_menu.css
+++ b/config/snort/css/new_tab_menu.css
@@ -1,101 +1,101 @@
-/*
- new_tab_menu.css
- part of pfSense
- Copyright (C) 2010-2011 Robert Zelaya
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. 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.
-
- THIS SOFTWARE IS PROVIDED ``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
- AUTHOR 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.
-
-
- Replace your old tab menu with the following code. To add a second tab menu line just cut and paste again.
- The following code is dependent on new_tab_menu.css and images/new_tab_menu.png.
-
- <tr>
- <td>
- <?php
- $tab_array_indent = 0; // move to the line in px
- $tab_array_space = 1; // space betwen lines in px
- $tab_array_char_limit = 82; // number or chr before the drop down box
- $tab_array = array();
- $tab_array[] = array(gettext("Admin Access"), true, "system_advanced_admin.php");
- $tab_array[] = array(gettext("Firewall / NAT"), false, "system_advanced_firewall.php");
- $tab_array[] = array(gettext("Networking"), false, "system_advanced_network.php");
- $tab_array[] = array(gettext("Miscellaneous"), false, "system_advanced_misc.php");
- $tab_array[] = array(gettext("System Tunables"), false, "system_advanced_sysctl.php");
- $tab_array[] = array(gettext("Notifications"), false, "system_advanced_notifications.php");
- display_top_tabs($tab_array);
- ?>
- </td>
- </tr>
-
-*/
-
-.snorttabs ul, li{border:0; margin:0; padding:0; list-style:none;}
-
-.snorttabs li{float:left; margin-right:2px; text-align: center;}
-.snorttabs a:link, .snorttabs a:visited{
- background:url(/snort/images/new_tab_menu.png) right 45px;
- color:#ffffff; /* noactive font */
- display:block;
- /* fix for IE6 */
- display: inline-block;
- /* END */
- font-weight:bold;
- font-size:.9em;
- height:20px;
- line-height:20px;
- text-decoration:none;
-}
-.snorttabs a span{
- background:url(/snort/images/new_tab_menu.png) left 45px;
- display:block;
- /* fix for IE6 */
- display: inline-block;
- /* END */
- height:20px;
- margin-right:7px;
- padding-left:7px;
-}
-.snorttabs a:hover{
- background:url(/snort/images/new_tab_menu.png) right 23px;
- display:block;
- /* fix for IE6 */
- display: inline-block;
- /* END */
- color:#ffffff; /* hover over font */
-}
-.snorttabs a:hover span{
- background:url(/snort/images/new_tab_menu.png) left 23px;
- display:block;
- /* fix for IE6 */
- display: inline-block;
- /* END */
-}
-
-/* -------------------------------- */
-/* ACTIVE ELEMENTS */
-.snorttabs_active a:link, .snorttabs_active a:visited, .snorttabs_active a:visited, .snorttabs_active a:hover{
- color:#000000; /* active font */
- background:url(/snort/images/new_tab_menu.png) right 0 no-repeat;
-}
-.snorttabs_active a span, .snorttabs_active a:hover span{
- background:url(/snort/images/new_tab_menu.png) left 0 no-repeat;
-} \ No newline at end of file
+/*
+ new_tab_menu.css
+ part of pfSense
+ Copyright (C) 2010-2011 Robert Zelaya
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. 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.
+
+ THIS SOFTWARE IS PROVIDED ``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
+ AUTHOR 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.
+
+
+ Replace your old tab menu with the following code. To add a second tab menu line just cut and paste again.
+ The following code is dependent on new_tab_menu.css and images/new_tab_menu.png.
+
+ <tr>
+ <td>
+ <?php
+ $tab_array_indent = 0; // move to the line in px
+ $tab_array_space = 1; // space betwen lines in px
+ $tab_array_char_limit = 82; // number or chr before the drop down box
+ $tab_array = array();
+ $tab_array[] = array(gettext("Admin Access"), true, "system_advanced_admin.php");
+ $tab_array[] = array(gettext("Firewall / NAT"), false, "system_advanced_firewall.php");
+ $tab_array[] = array(gettext("Networking"), false, "system_advanced_network.php");
+ $tab_array[] = array(gettext("Miscellaneous"), false, "system_advanced_misc.php");
+ $tab_array[] = array(gettext("System Tunables"), false, "system_advanced_sysctl.php");
+ $tab_array[] = array(gettext("Notifications"), false, "system_advanced_notifications.php");
+ display_top_tabs($tab_array);
+ ?>
+ </td>
+ </tr>
+
+*/
+
+.snorttabs ul, li{border:0; margin:0; padding:0; list-style:none;}
+
+.snorttabs li{float:left; margin-right:2px; text-align: center;}
+.snorttabs a:link, .snorttabs a:visited{
+ background:url(/snort/images/new_tab_menu.png) right 45px;
+ color:#ffffff; /* noactive font */
+ display:block;
+ /* fix for IE6 */
+ display: inline-block;
+ /* END */
+ font-weight:bold;
+ font-size:.9em;
+ height:20px;
+ line-height:20px;
+ text-decoration:none;
+}
+.snorttabs a span{
+ background:url(/snort/images/new_tab_menu.png) left 45px;
+ display:block;
+ /* fix for IE6 */
+ display: inline-block;
+ /* END */
+ height:20px;
+ margin-right:7px;
+ padding-left:7px;
+}
+.snorttabs a:hover{
+ background:url(/snort/images/new_tab_menu.png) right 23px;
+ display:block;
+ /* fix for IE6 */
+ display: inline-block;
+ /* END */
+ color:#ffffff; /* hover over font */
+}
+.snorttabs a:hover span{
+ background:url(/snort/images/new_tab_menu.png) left 23px;
+ display:block;
+ /* fix for IE6 */
+ display: inline-block;
+ /* END */
+}
+
+/* -------------------------------- */
+/* ACTIVE ELEMENTS */
+.snorttabs_active a:link, .snorttabs_active a:visited, .snorttabs_active a:visited, .snorttabs_active a:hover{
+ color:#000000; /* active font */
+ background:url(/snort/images/new_tab_menu.png) right 0 no-repeat;
+}
+.snorttabs_active a span, .snorttabs_active a:hover span{
+ background:url(/snort/images/new_tab_menu.png) left 0 no-repeat;
+}
diff --git a/config/snort/css/sexybuttons.css b/config/snort/css/sexybuttons.css
index db36a287..c3834b44 100644
--- a/config/snort/css/sexybuttons.css
+++ b/config/snort/css/sexybuttons.css
@@ -1,342 +1,342 @@
-/*
- * Sexy Buttons
- *
- * DESCRIPTION:
- * Sexy, skinnable HTML/CSS buttons with icons.
- *
- * PROJECT URL:
- * http://code.google.com/p/sexybuttons/
- *
- * AUTHOR:
- * Richard Davies
- * http://www.richarddavies.us
- * Richard@richarddavies.us
- *
- * VERSION:
- * 1.1
- *
- * LICENSE:
- * Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
- * Creative Commons 3.0 Attribution (http://creativecommons.org/licenses/by/3.0/)
- *
- * CREDITS:
- * Inspired by, derived from, and thanks to:
- * http://www.p51labs.com/simply-buttons-v2/
- * http://www.oscaralexander.com/tutorials/how-to-make-sexy-buttons-with-css.html
- * http://www.zurb.com/article/266/super-awesome-buttons-with-css3-and-rgba
- * http://www.elctech.com/snippets/make-your-buttons-look-super-awesome
- *
- * USAGE:
- * Simply add class="sexybutton [skin]" to a <button> or <a> element and wrap the label text with double <span>s.
- * You can optionally add a "silk" icon to the button text by using a third <span> with class to identify the icon.
- *
- * EXAMPLE:
- * <button id="btn1" class="sexybutton" name="btn1" type="submit" value="Submit">
- * <span><span><span class="ok">Submit</span></span></span>
- * </button>
- */
-
-
-/*
- * Generic styles for all Sexy Buttons
- */
-
-.sexybutton {
- display: inline-block;
- margin: 0;
- padding: 0;
- font: bold 13px "Helvetica Neue", Helvetica, Arial !important;
- text-decoration: none !important;
- text-shadow: 1px 1px 2px rgba(0,0,0,0.20);
- background: none;
- border: none;
- white-space: nowrap;
- cursor: pointer;
- user-select: none;
- -moz-user-select: none;
-
- /* Fix extra width padding in IE */
- _width: 0;
- overflow: visible;
-}
-
-.sexybutton span {
- display: block; /* Prevents :active from working in IE--oh well! */
- height: 24px;
- padding-right: 12px;
- background-repeat: no-repeat;
- background-position: right top;
-}
-
-.sexybutton span span {
- padding-right: 0;
- padding-left: 12px;
- line-height: 24px;
- background-position: left top;
-}
-
-.sexybutton span span span {
- padding-left: 21px;
- background-image: none;
- background-repeat: no-repeat;
- background-position: left center;
- /* IE6 still requires a PNG transparency fix */
- /* _background-image: none; Or just hide icons from the undeserving IE6 */
- /* _padding-left: 0; Or just hide icons from the undeserving IE6 */
-}
-
-.sexybutton span span span.after {
- padding-left: 0px;
- padding-right: 21px;
- background-position: right center;
- /* IE6 still requires a PNG transparency fix */
- /* _padding-right: 0; Or just hide icons from the undeserving IE6 */
-}
-
-.sexybutton[disabled],
-.sexybutton[disabled]:hover,
-.sexybutton[disabled]:focus,
-.sexybutton[disabled]:active,
-.sexybutton.disabled,
-.sexybutton.disabled:hover,
-.sexybutton.disabled:focus,
-.sexybutton.disabled:active {
- color: #333 !important;
- cursor: inherit;
- text-shadow: none;
- opacity: 0.33;
-}
-
-.sexybutton:hover span,
-.sexybutton:focus span {
- background-position: 100% -24px;
-}
-
-.sexybutton:hover span span,
-.sexybutton:focus span span {
- background-position: 0% -24px;
-}
-
-.sexybutton:active span {
- background-position: 100% -48px;
-}
-
-.sexybutton:active span span {
- background-position: 0% -48px;
-}
-
-.sexybutton[disabled] span,
-.sexybutton.disabled span {
- background-position: 100% -72px;
-}
-
-.sexybutton[disabled] span span,
-.sexybutton.disabled span span {
- background-position: 0% -72px;
-}
-
-.sexybutton:hover span span span,
-.sexybutton:focus span span span,
-.sexybutton:active span span span,
-.sexybutton[disabled] span span span,
-.sexybutton.disabled span span span {
- background-position: left center;
-}
-
-.sexybutton:hover span span span.after,
-.sexybutton:focus span span span.after,
-.sexybutton:active span span span.after,
-.sexybutton[disabled] span span span.after,
-.sexybutton.disabled span span span.after {
- background-position: right center;
-}
-
-.sexybutton img {
- margin-right: 5px;
- vertical-align: text-top;
- /* IE6 Hack */
- _margin-top: 4px;
- _vertical-align: text-bottom;
- /* IE6 still requires a PNG transparency fix */
- /* _display: none; Or just hide icons from the undeserving IE6 */
-}
-
-.sexybutton img.after {
- margin-right: 0;
- margin-left: 5px;
- /* IE6 still requires a PNG transparency fix */
- /* _margin-left: 0; Or just hide icons from the undeserving IE6 */
-}
-
-.sexybutton.sexysmalls { font-size:.8em !important; }
-.sexybutton.sexymedium { font-size: 15px !important; }
-.sexybutton.sexylarge { font-size: 18px !important; }
-
-
-/*
- * Button Skins
- *
- * .PNG background images with alpha transparency are also supplied if you'd rather use them instead of the
- * default .GIF images. (Just beware of IE6's lack of support.)
- *
- * Additional skins can be added below. The images/skins/ButtonTemplate.psd can be used to create new skins.
- * Prefix the skin name with "sexy" to avoid any potential conflicts with other class names.
- */
-
-/*
- * Simple Skin Buttons
- */
-
-.sexybutton.sexysimple {
- position: relative;
- padding: 5px 10px 5px;
- font: inherit;
- font-size: .85em !important;
- font-style: normal !important;
- font-weight: bold !important;
- color: #fff !important;
- line-height: 1;
- background-image: url(/snort/images//awesome-overlay-sprite.png);
- background-repeat: repeat-x;
- background-position: 0 0;
-
- /* Special effects */
- text-shadow: 0 -1px 1px rgba(0,0,0,0.25), -2px 0 1px rgba(0,0,0,0.25);
- border-radius: 5px;
- -moz-border-radius: 5px;
- -webkit-border-radius: 5px;
- -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.5);
- -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.5);
-
- /* IE only stuff */
- border-bottom: 1px solid transparent\9;
- _background-image: none;
-
- /* Cross browser inline block hack - http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/ */
- display: -moz-inline-stack;
- display: inline-block;
- vertical-align: middle;
- *display: inline !important;
- position: relative;
-
- /* Force hasLayout in IE */
- zoom: 1;
-
- /* Disable text selection (Firefox only)*/
- -moz-user-select: none;
-}
-
-.sexybutton.sexysimple::selection {
- background: transparent;
-}
-
-.sexybutton.sexysimple:hover,
-.sexybutton.sexysimple:focus {
- background-position: 0 -50px;
- color: #fff !important;
-}
-
-.sexybutton.sexysimple:active {
- background-position: 0 -100px;
- -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.7);
- /* Unfortunately, Safari doesn't support inset yet */
- -webkit-box-shadow: none;
-
- /* IE only stuff */
- border-bottom: 0\9;
- border-top: 1px solid #666\9;
-}
-
-.sexybutton.sexysimple[disabled],
-.sexybutton.sexysimple.disabled {
- background-position: 0 -150px;
- color: #333 !important;
- text-shadow: none;
-}
-
-.sexybutton.sexysimple[disabled]:hover,
-.sexybutton.sexysimple[disabled]:focus,
-.sexybutton.sexysimple[disabled]:active,
-.sexybutton.sexysimple.disabled:hover,
-.sexybutton.sexysimple.disabled:focus,
-.sexybutton.sexysimple.disabled:active {
- -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.5);
- -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.5);
-}
-
-.sexybutton.sexysimple span {
- height: auto;
- padding-left: 24px;
- padding-right: 0;
- background-position: left center;
- background-repeat: no-repeat;
- /* IE6 still requires a PNG transparency fix */
- /* _padding-left: 0; Or just hide icons from the undeserving IE6 */
-}
-
-.sexybutton.sexysimple span.after {
- padding-left: 0;
- padding-right: 24px;
- background-position: right center;
- /* IE6 still requires a PNG transparency fix */
- /* _padding-right: 0; Or just hide icons from the undeserving IE6 */
-}
-
-/* Simple button colors */
-.sexybutton.sexysimple { background-color: #333; } /* Default */
-.sexybutton.sexysimple.sexyblack { background-color: #333; }
-.sexybutton.sexysimple.sexyred { background-color: #a90118; }
-.sexybutton.sexysimple.sexyorange { background-color: #ff8a00; }
-.sexybutton.sexysimple.sexyyellow { background-color: #ffb515; }
-.sexybutton.sexysimple.sexygreen { background-color: #59a901; }
-.sexybutton.sexysimple.sexyblue { background-color: #015ea9; }
-.sexybutton.sexysimple.sexyteal { background-color: #2daebf; }
-.sexybutton.sexysimple.sexymagenta { background-color: #a9014b; }
-.sexybutton.sexysimple.sexypurple { background-color: #9d01a9; }
-
-/* Simple button sizes */
-.sexybutton.sexysimple.sexysmall { padding: 4px 7px 5px; font-size: 10px !important; }
-.sexybutton.sexysimple.sexysmall:active { padding: 5px 7px 4px; }
-.sexybutton.sexysimple { /* default */ }
-.sexybutton.sexysimple:active { padding: 6px 10px 4px; }
-.sexybutton.sexysimple.sexymedium { /* default */ }
-.sexybutton.sexysimple.sexymedium:active { padding: 6px 10px 4px; }
-.sexybutton.sexysimple.sexylarge { padding: 8px 14px 8px; font-size: 14px !important; }
-.sexybutton.sexysimple.sexylarge:active { padding: 9px 14px 7px; }
-.sexybutton.sexysimple.sexyxl { padding: 8px 14px 8px; font-size: 16px !important; }
-.sexybutton.sexysimple.sexyxl:active { padding: 9px 14px 7px; }
-.sexybutton.sexysimple.sexyxxl { padding: 8px 14px 8px; font-size: 20px !important; }
-.sexybutton.sexysimple.sexyxxl:active { padding: 9px 14px 7px; }
-.sexybutton.sexysimple.sexyxxxl { padding: 8px 14px 8px; font-size: 26px !important; }
-.sexybutton.sexysimple.sexyxxxl:active { padding: 9px 14px 7px; }
-
-.sexybutton.sexysimple.sexysmall[disabled]:active,
-.sexybutton.sexysimple.sexysmall.disabled:active { padding: 4px 7px 5px; }
-.sexybutton.sexysimple[disabled]:active,
-.sexybutton.sexysimple.disabled:active { padding: 5px 10px 5px; }
-.sexybutton.sexysimple.sexymedium[disabled]:active,
-.sexybutton.sexysimple.sexymedium.disabled:active { padding: 6px 10px 4px; }
-.sexybutton.sexysimple.sexylarge[disabled]:active,
-.sexybutton.sexysimple.sexylarge.disabled:active { padding: 8px 14px 8px; }
-.sexybutton.sexysimple.sexyxl[disabled]:active,
-.sexybutton.sexysimple.sexyxl.disabled:active { padding: 8px 14px 8px; }
-.sexybutton.sexysimple.sexyxxl[disabled]:active,
-.sexybutton.sexysimple.sexyxxl.disabled:active { padding: 8px 14px 8px; }
-.sexybutton.sexysimple.sexyxxxl[disabled]:active,
-.sexybutton.sexysimple.sexyxxxl.disabled:active { padding: 8px 14px 8px; }
-
-
-/*
- * Icon Definitions
- */
-
-/* Silk Icons - http://www.famfamfam.com/lab/icons/silk/ */
-/* (Obviously not all Silk icons are defined here. Feel free to define any other icons that you may need.) */
-
-.sexybutton span.ok { background-image: url(/snort/images//tick.png) !important; }
-.sexybutton span.cancel { background-image: url(/snort/images//cross.png) !important; }
-.sexybutton span.add { background-image: url(/snort/images//add.png) !important; }
-.sexybutton span.delete { background-image: url(/snort/images//delete.png) !important; }
-.sexybutton span.download { background-image: url(/snort/images//arrow_down.png) !important; }
-.sexybutton span.pwhitetxt { background-image: url(/snort/images//page_white_text.png) !important; }
-
+/*
+ * Sexy Buttons
+ *
+ * DESCRIPTION:
+ * Sexy, skinnable HTML/CSS buttons with icons.
+ *
+ * PROJECT URL:
+ * http://code.google.com/p/sexybuttons/
+ *
+ * AUTHOR:
+ * Richard Davies
+ * http://www.richarddavies.us
+ * Richard@richarddavies.us
+ *
+ * VERSION:
+ * 1.1
+ *
+ * LICENSE:
+ * Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
+ * Creative Commons 3.0 Attribution (http://creativecommons.org/licenses/by/3.0/)
+ *
+ * CREDITS:
+ * Inspired by, derived from, and thanks to:
+ * http://www.p51labs.com/simply-buttons-v2/
+ * http://www.oscaralexander.com/tutorials/how-to-make-sexy-buttons-with-css.html
+ * http://www.zurb.com/article/266/super-awesome-buttons-with-css3-and-rgba
+ * http://www.elctech.com/snippets/make-your-buttons-look-super-awesome
+ *
+ * USAGE:
+ * Simply add class="sexybutton [skin]" to a <button> or <a> element and wrap the label text with double <span>s.
+ * You can optionally add a "silk" icon to the button text by using a third <span> with class to identify the icon.
+ *
+ * EXAMPLE:
+ * <button id="btn1" class="sexybutton" name="btn1" type="submit" value="Submit">
+ * <span><span><span class="ok">Submit</span></span></span>
+ * </button>
+ */
+
+
+/*
+ * Generic styles for all Sexy Buttons
+ */
+
+.sexybutton {
+ display: inline-block;
+ margin: 0;
+ padding: 0;
+ font: bold 13px "Helvetica Neue", Helvetica, Arial !important;
+ text-decoration: none !important;
+ text-shadow: 1px 1px 2px rgba(0,0,0,0.20);
+ background: none;
+ border: none;
+ white-space: nowrap;
+ cursor: pointer;
+ user-select: none;
+ -moz-user-select: none;
+
+ /* Fix extra width padding in IE */
+ _width: 0;
+ overflow: visible;
+}
+
+.sexybutton span {
+ display: block; /* Prevents :active from working in IE--oh well! */
+ height: 24px;
+ padding-right: 12px;
+ background-repeat: no-repeat;
+ background-position: right top;
+}
+
+.sexybutton span span {
+ padding-right: 0;
+ padding-left: 12px;
+ line-height: 24px;
+ background-position: left top;
+}
+
+.sexybutton span span span {
+ padding-left: 21px;
+ background-image: none;
+ background-repeat: no-repeat;
+ background-position: left center;
+ /* IE6 still requires a PNG transparency fix */
+ /* _background-image: none; Or just hide icons from the undeserving IE6 */
+ /* _padding-left: 0; Or just hide icons from the undeserving IE6 */
+}
+
+.sexybutton span span span.after {
+ padding-left: 0px;
+ padding-right: 21px;
+ background-position: right center;
+ /* IE6 still requires a PNG transparency fix */
+ /* _padding-right: 0; Or just hide icons from the undeserving IE6 */
+}
+
+.sexybutton[disabled],
+.sexybutton[disabled]:hover,
+.sexybutton[disabled]:focus,
+.sexybutton[disabled]:active,
+.sexybutton.disabled,
+.sexybutton.disabled:hover,
+.sexybutton.disabled:focus,
+.sexybutton.disabled:active {
+ color: #333 !important;
+ cursor: inherit;
+ text-shadow: none;
+ opacity: 0.33;
+}
+
+.sexybutton:hover span,
+.sexybutton:focus span {
+ background-position: 100% -24px;
+}
+
+.sexybutton:hover span span,
+.sexybutton:focus span span {
+ background-position: 0% -24px;
+}
+
+.sexybutton:active span {
+ background-position: 100% -48px;
+}
+
+.sexybutton:active span span {
+ background-position: 0% -48px;
+}
+
+.sexybutton[disabled] span,
+.sexybutton.disabled span {
+ background-position: 100% -72px;
+}
+
+.sexybutton[disabled] span span,
+.sexybutton.disabled span span {
+ background-position: 0% -72px;
+}
+
+.sexybutton:hover span span span,
+.sexybutton:focus span span span,
+.sexybutton:active span span span,
+.sexybutton[disabled] span span span,
+.sexybutton.disabled span span span {
+ background-position: left center;
+}
+
+.sexybutton:hover span span span.after,
+.sexybutton:focus span span span.after,
+.sexybutton:active span span span.after,
+.sexybutton[disabled] span span span.after,
+.sexybutton.disabled span span span.after {
+ background-position: right center;
+}
+
+.sexybutton img {
+ margin-right: 5px;
+ vertical-align: text-top;
+ /* IE6 Hack */
+ _margin-top: 4px;
+ _vertical-align: text-bottom;
+ /* IE6 still requires a PNG transparency fix */
+ /* _display: none; Or just hide icons from the undeserving IE6 */
+}
+
+.sexybutton img.after {
+ margin-right: 0;
+ margin-left: 5px;
+ /* IE6 still requires a PNG transparency fix */
+ /* _margin-left: 0; Or just hide icons from the undeserving IE6 */
+}
+
+.sexybutton.sexysmalls { font-size:.8em !important; }
+.sexybutton.sexymedium { font-size: 15px !important; }
+.sexybutton.sexylarge { font-size: 18px !important; }
+
+
+/*
+ * Button Skins
+ *
+ * .PNG background images with alpha transparency are also supplied if you'd rather use them instead of the
+ * default .GIF images. (Just beware of IE6's lack of support.)
+ *
+ * Additional skins can be added below. The images/skins/ButtonTemplate.psd can be used to create new skins.
+ * Prefix the skin name with "sexy" to avoid any potential conflicts with other class names.
+ */
+
+/*
+ * Simple Skin Buttons
+ */
+
+.sexybutton.sexysimple {
+ position: relative;
+ padding: 5px 10px 5px;
+ font: inherit;
+ font-size: .85em !important;
+ font-style: normal !important;
+ font-weight: bold !important;
+ color: #fff !important;
+ line-height: 1;
+ background-image: url(/snort/images//awesome-overlay-sprite.png);
+ background-repeat: repeat-x;
+ background-position: 0 0;
+
+ /* Special effects */
+ text-shadow: 0 -1px 1px rgba(0,0,0,0.25), -2px 0 1px rgba(0,0,0,0.25);
+ border-radius: 5px;
+ -moz-border-radius: 5px;
+ -webkit-border-radius: 5px;
+ -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.5);
+ -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.5);
+
+ /* IE only stuff */
+ border-bottom: 1px solid transparent\9;
+ _background-image: none;
+
+ /* Cross browser inline block hack - http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/ */
+ display: -moz-inline-stack;
+ display: inline-block;
+ vertical-align: middle;
+ *display: inline !important;
+ position: relative;
+
+ /* Force hasLayout in IE */
+ zoom: 1;
+
+ /* Disable text selection (Firefox only)*/
+ -moz-user-select: none;
+}
+
+.sexybutton.sexysimple::selection {
+ background: transparent;
+}
+
+.sexybutton.sexysimple:hover,
+.sexybutton.sexysimple:focus {
+ background-position: 0 -50px;
+ color: #fff !important;
+}
+
+.sexybutton.sexysimple:active {
+ background-position: 0 -100px;
+ -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.7);
+ /* Unfortunately, Safari doesn't support inset yet */
+ -webkit-box-shadow: none;
+
+ /* IE only stuff */
+ border-bottom: 0\9;
+ border-top: 1px solid #666\9;
+}
+
+.sexybutton.sexysimple[disabled],
+.sexybutton.sexysimple.disabled {
+ background-position: 0 -150px;
+ color: #333 !important;
+ text-shadow: none;
+}
+
+.sexybutton.sexysimple[disabled]:hover,
+.sexybutton.sexysimple[disabled]:focus,
+.sexybutton.sexysimple[disabled]:active,
+.sexybutton.sexysimple.disabled:hover,
+.sexybutton.sexysimple.disabled:focus,
+.sexybutton.sexysimple.disabled:active {
+ -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.5);
+ -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.5);
+}
+
+.sexybutton.sexysimple span {
+ height: auto;
+ padding-left: 24px;
+ padding-right: 0;
+ background-position: left center;
+ background-repeat: no-repeat;
+ /* IE6 still requires a PNG transparency fix */
+ /* _padding-left: 0; Or just hide icons from the undeserving IE6 */
+}
+
+.sexybutton.sexysimple span.after {
+ padding-left: 0;
+ padding-right: 24px;
+ background-position: right center;
+ /* IE6 still requires a PNG transparency fix */
+ /* _padding-right: 0; Or just hide icons from the undeserving IE6 */
+}
+
+/* Simple button colors */
+.sexybutton.sexysimple { background-color: #333; } /* Default */
+.sexybutton.sexysimple.sexyblack { background-color: #333; }
+.sexybutton.sexysimple.sexyred { background-color: #a90118; }
+.sexybutton.sexysimple.sexyorange { background-color: #ff8a00; }
+.sexybutton.sexysimple.sexyyellow { background-color: #ffb515; }
+.sexybutton.sexysimple.sexygreen { background-color: #59a901; }
+.sexybutton.sexysimple.sexyblue { background-color: #015ea9; }
+.sexybutton.sexysimple.sexyteal { background-color: #2daebf; }
+.sexybutton.sexysimple.sexymagenta { background-color: #a9014b; }
+.sexybutton.sexysimple.sexypurple { background-color: #9d01a9; }
+
+/* Simple button sizes */
+.sexybutton.sexysimple.sexysmall { padding: 4px 7px 5px; font-size: 10px !important; }
+.sexybutton.sexysimple.sexysmall:active { padding: 5px 7px 4px; }
+.sexybutton.sexysimple { /* default */ }
+.sexybutton.sexysimple:active { padding: 6px 10px 4px; }
+.sexybutton.sexysimple.sexymedium { /* default */ }
+.sexybutton.sexysimple.sexymedium:active { padding: 6px 10px 4px; }
+.sexybutton.sexysimple.sexylarge { padding: 8px 14px 8px; font-size: 14px !important; }
+.sexybutton.sexysimple.sexylarge:active { padding: 9px 14px 7px; }
+.sexybutton.sexysimple.sexyxl { padding: 8px 14px 8px; font-size: 16px !important; }
+.sexybutton.sexysimple.sexyxl:active { padding: 9px 14px 7px; }
+.sexybutton.sexysimple.sexyxxl { padding: 8px 14px 8px; font-size: 20px !important; }
+.sexybutton.sexysimple.sexyxxl:active { padding: 9px 14px 7px; }
+.sexybutton.sexysimple.sexyxxxl { padding: 8px 14px 8px; font-size: 26px !important; }
+.sexybutton.sexysimple.sexyxxxl:active { padding: 9px 14px 7px; }
+
+.sexybutton.sexysimple.sexysmall[disabled]:active,
+.sexybutton.sexysimple.sexysmall.disabled:active { padding: 4px 7px 5px; }
+.sexybutton.sexysimple[disabled]:active,
+.sexybutton.sexysimple.disabled:active { padding: 5px 10px 5px; }
+.sexybutton.sexysimple.sexymedium[disabled]:active,
+.sexybutton.sexysimple.sexymedium.disabled:active { padding: 6px 10px 4px; }
+.sexybutton.sexysimple.sexylarge[disabled]:active,
+.sexybutton.sexysimple.sexylarge.disabled:active { padding: 8px 14px 8px; }
+.sexybutton.sexysimple.sexyxl[disabled]:active,
+.sexybutton.sexysimple.sexyxl.disabled:active { padding: 8px 14px 8px; }
+.sexybutton.sexysimple.sexyxxl[disabled]:active,
+.sexybutton.sexysimple.sexyxxl.disabled:active { padding: 8px 14px 8px; }
+.sexybutton.sexysimple.sexyxxxl[disabled]:active,
+.sexybutton.sexysimple.sexyxxxl.disabled:active { padding: 8px 14px 8px; }
+
+
+/*
+ * Icon Definitions
+ */
+
+/* Silk Icons - http://www.famfamfam.com/lab/icons/silk/ */
+/* (Obviously not all Silk icons are defined here. Feel free to define any other icons that you may need.) */
+
+.sexybutton span.ok { background-image: url(/snort/images//tick.png) !important; }
+.sexybutton span.cancel { background-image: url(/snort/images//cross.png) !important; }
+.sexybutton span.add { background-image: url(/snort/images//add.png) !important; }
+.sexybutton span.delete { background-image: url(/snort/images//delete.png) !important; }
+.sexybutton span.download { background-image: url(/snort/images//arrow_down.png) !important; }
+.sexybutton span.pwhitetxt { background-image: url(/snort/images//page_white_text.png) !important; }
+
diff --git a/config/snort/javascript/jquery.colorbox.js b/config/snort/javascript/jquery.colorbox.js
index fea85a80..2d228dc1 100644
--- a/config/snort/javascript/jquery.colorbox.js
+++ b/config/snort/javascript/jquery.colorbox.js
@@ -1,764 +1,764 @@
-// ColorBox v1.3.9 - a full featured, light-weight, customizable lightbox based on jQuery 1.3
-// c) 2009 Jack Moore - www.colorpowered.com - jack@colorpowered.com
-// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
-(function ($, window) {
-
- var
- // ColorBox Default Settings.
- // See http://colorpowered.com/colorbox for details.
- defaults = {
- transition: "elastic",
- speed: 300,
- width: false,
- initialWidth: "600",
- innerWidth: false,
- maxWidth: false,
- height: false,
- initialHeight: "450",
- innerHeight: false,
- maxHeight: false,
- scalePhotos: true,
- scrolling: true,
- inline: false,
- html: false,
- iframe: false,
- photo: false,
- href: false,
- title: false,
- rel: false,
- opacity: 0.9,
- preloading: true,
- current: "image {current} of {total}",
- previous: "previous",
- next: "next",
- close: "close",
- open: false,
- loop: true,
- slideshow: false,
- slideshowAuto: true,
- slideshowSpeed: 2500,
- slideshowStart: "start slideshow",
- slideshowStop: "stop slideshow",
- onOpen: false,
- onLoad: false,
- onComplete: false,
- onCleanup: false,
- onClosed: false,
- overlayClose: true,
- escKey: true,
- arrowKey: true
- },
-
- // Abstracting the HTML and event identifiers for easy rebranding
- colorbox = 'colorbox',
- prefix = 'cbox',
-
- // Events
- event_open = prefix + '_open',
- event_load = prefix + '_load',
- event_complete = prefix + '_complete',
- event_cleanup = prefix + '_cleanup',
- event_closed = prefix + '_closed',
-
- // Special Handling for IE
- isIE = $.browser.msie && !$.support.opacity, // feature detection alone gave a false positive on at least one phone browser and on some development versions of Chrome.
- isIE6 = isIE && $.browser.version < 7,
- event_ie6 = prefix + '_IE6',
-
- // Cached jQuery Object Variables
- $overlay,
- $box,
- $wrap,
- $content,
- $topBorder,
- $leftBorder,
- $rightBorder,
- $bottomBorder,
- $related,
- $window,
- $loaded,
- $loadingBay,
- $loadingOverlay,
- $title,
- $current,
- $slideshow,
- $next,
- $prev,
- $close,
-
- // Variables for cached values or use across multiple functions
- interfaceHeight,
- interfaceWidth,
- loadedHeight,
- loadedWidth,
- element,
- bookmark,
- index,
- settings,
- open,
- active,
-
- publicMethod,
- boxElement = prefix + 'Element';
-
- // ****************
- // HELPER FUNCTIONS
- // ****************
-
- // jQuery object generator to reduce code size
- function $div(id, css) {
- id = id ? ' id="' + prefix + id + '"' : '';
- css = css ? ' style="' + css + '"' : '';
- return $('<div' + id + css + '/>');
- }
-
- // Convert % values to pixels
- function setSize(size, dimension) {
- dimension = dimension === 'x' ? $window.width() : $window.height();
- return (typeof size === 'string') ? Math.round((size.match(/%/) ? (dimension / 100) * parseInt(size, 10) : parseInt(size, 10))) : size;
- }
-
- // Checks an href to see if it is a photo.
- // There is a force photo option (photo: true) for hrefs that cannot be matched by this regex.
- function isImage(url) {
- url = $.isFunction(url) ? url.call(element) : url;
- return settings.photo || url.match(/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i);
- }
-
- // Assigns functions results to their respective settings. This allows functions to be used to set ColorBox options.
- function process() {
- for (var i in settings) {
- if ($.isFunction(settings[i]) && i.substring(0, 2) !== 'on') { // checks to make sure the function isn't one of the callbacks, they will be handled at the appropriate time.
- settings[i] = settings[i].call(element);
- }
- }
- settings.rel = settings.rel || element.rel || 'nofollow';
- settings.href = settings.href || $(element).attr('href');
- settings.title = settings.title || element.title;
- }
-
- function launch(elem) {
-
- element = elem;
-
- settings = $.extend({}, $(element).data(colorbox));
-
- process(); // Convert functions to their returned values.
-
- if (settings.rel !== 'nofollow') {
- $related = $('.' + boxElement).filter(function () {
- var relRelated = $(this).data(colorbox).rel || this.rel;
- return (relRelated === settings.rel);
- });
- index = $related.index(element);
-
- // Check direct calls to ColorBox.
- if (index === -1) {
- $related = $related.add(element);
- index = $related.length - 1;
- }
- } else {
- $related = $(element);
- index = 0;
- }
-
- if (!open) {
- open = active = true; // Prevents the page-change action from queuing up if the visitor holds down the left or right keys.
-
- bookmark = element;
-
- try {
- bookmark.blur(); // Remove the focus from the calling element.
- }catch (e) {}
-
- $.event.trigger(event_open);
- if (settings.onOpen) {
- settings.onOpen.call(element);
- }
-
- // +settings.opacity avoids a problem in IE when using non-zero-prefixed-string-values, like '.5'
- $overlay.css({"opacity": +settings.opacity, "cursor": settings.overlayClose ? "pointer" : "auto"}).show();
-
- // Opens inital empty ColorBox prior to content being loaded.
- settings.w = setSize(settings.initialWidth, 'x');
- settings.h = setSize(settings.initialHeight, 'y');
- publicMethod.position(0);
-
- if (isIE6) {
- $window.bind('resize.' + event_ie6 + ' scroll.' + event_ie6, function () {
- $overlay.css({width: $window.width(), height: $window.height(), top: $window.scrollTop(), left: $window.scrollLeft()});
- }).trigger('scroll.' + event_ie6);
- }
- }
-
- $current.add($prev).add($next).add($slideshow).add($title).hide();
-
- $close.html(settings.close).show();
-
- publicMethod.slideshow();
-
- publicMethod.load();
- }
-
- // ****************
- // PUBLIC FUNCTIONS
- // Usage format: $.fn.colorbox.close();
- // Usage from within an iframe: parent.$.fn.colorbox.close();
- // ****************
-
- publicMethod = $.fn[colorbox] = $[colorbox] = function (options, callback) {
- var $this = this;
-
- if (!$this[0] && $this.selector) { // if a selector was given and it didn't match any elements, go ahead and exit.
- return $this;
- }
-
- options = options || {};
-
- if (callback) {
- options.onComplete = callback;
- }
-
- if (!$this[0] || $this.selector === undefined) { // detects $.colorbox() and $.fn.colorbox()
- $this = $('<a/>');
- options.open = true; // assume an immediate open
- }
-
- $this.each(function () {
- $(this).data(colorbox, $.extend({}, $(this).data(colorbox) || defaults, options)).addClass(boxElement);
- });
-
- if (options.open) {
- launch($this[0]);
- }
-
- return $this;
- };
-
- // Initialize ColorBox: store common calculations, preload the interface graphics, append the html.
- // This preps colorbox for a speedy open when clicked, and lightens the burdon on the browser by only
- // having to run once, instead of each time colorbox is opened.
- publicMethod.init = function () {
- // Create & Append jQuery Objects
- $window = $(window);
- $box = $div().attr({id: colorbox, 'class': isIE ? prefix + 'IE' : ''});
- $overlay = $div("Overlay", isIE6 ? 'position:absolute' : '').hide();
-
- $wrap = $div("Wrapper");
- $content = $div("Content").append(
- $loaded = $div("LoadedContent", 'width:0; height:0'),
- $loadingOverlay = $div("LoadingOverlay").add($div("LoadingGraphic")),
- $title = $div("Title"),
- $current = $div("Current"),
- $next = $div("Next"),
- $prev = $div("Previous"),
- $slideshow = $div("Slideshow"),
- $close = $div("Close")
- );
- $wrap.append( // The 3x3 Grid that makes up ColorBox
- $div().append(
- $div("TopLeft"),
- $topBorder = $div("TopCenter"),
- $div("TopRight")
- ),
- $div().append(
- $leftBorder = $div("MiddleLeft"),
- $content,
- $rightBorder = $div("MiddleRight")
- ),
- $div().append(
- $div("BottomLeft"),
- $bottomBorder = $div("BottomCenter"),
- $div("BottomRight")
- )
- ).children().children().css({'float': 'left'});
-
- $loadingBay = $div(false, 'position:absolute; width:9999px; visibility:hidden; display:none');
-
- $('body').prepend($overlay, $box.append($wrap, $loadingBay));
-
- $content.children()
- .hover(function () {
- $(this).addClass('hover');
- }, function () {
- $(this).removeClass('hover');
- }).addClass('hover');
-
- // Cache values needed for size calculations
- interfaceHeight = $topBorder.height() + $bottomBorder.height() + $content.outerHeight(true) - $content.height();//Subtraction needed for IE6
- interfaceWidth = $leftBorder.width() + $rightBorder.width() + $content.outerWidth(true) - $content.width();
- loadedHeight = $loaded.outerHeight(true);
- loadedWidth = $loaded.outerWidth(true);
-
- // Setting padding to remove the need to do size conversions during the animation step.
- $box.css({"padding-bottom": interfaceHeight, "padding-right": interfaceWidth}).hide();
-
- // Setup button events.
- $next.click(publicMethod.next);
- $prev.click(publicMethod.prev);
- $close.click(publicMethod.close);
-
- // Adding the 'hover' class allowed the browser to load the hover-state
- // background graphics. The class can now can be removed.
- $content.children().removeClass('hover');
-
- $('.' + boxElement).live('click', function (e) {
- // checks to see if it was a non-left mouse-click and for clicks modified with ctrl, shift, or alt.
- if ((e.button !== 0 && typeof e.button !== 'undefined') || e.ctrlKey || e.shiftKey || e.altKey) {
- return true;
- } else {
- launch(this);
- return false;
- }
- });
-
- $overlay.click(function () {
- if (settings.overlayClose) {
- publicMethod.close();
- }
- });
-
- // Set Navigation Key Bindings
- $(document).bind("keydown", function (e) {
- if (open && settings.escKey && e.keyCode === 27) {
- e.preventDefault();
- publicMethod.close();
- }
- if (open && settings.arrowKey && !active && $related[1]) {
- if (e.keyCode === 37 && (index || settings.loop)) {
- e.preventDefault();
- $prev.click();
- } else if (e.keyCode === 39 && (index < $related.length - 1 || settings.loop)) {
- e.preventDefault();
- $next.click();
- }
- }
- });
- };
-
- publicMethod.remove = function () {
- $box.add($overlay).remove();
- $('.' + boxElement).die('click').removeData(colorbox).removeClass(boxElement);
- };
-
- publicMethod.position = function (speed, loadedCallback) {
- var
- animate_speed,
- // keeps the top and left positions within the browser's viewport.
- posTop = Math.max($window.height() - settings.h - loadedHeight - interfaceHeight, 0) / 2 + $window.scrollTop(),
- posLeft = Math.max($window.width() - settings.w - loadedWidth - interfaceWidth, 0) / 2 + $window.scrollLeft();
-
- // setting the speed to 0 to reduce the delay between same-sized content.
- animate_speed = ($box.width() === settings.w + loadedWidth && $box.height() === settings.h + loadedHeight) ? 0 : speed;
-
- // this gives the wrapper plenty of breathing room so it's floated contents can move around smoothly,
- // but it has to be shrank down around the size of div#colorbox when it's done. If not,
- // it can invoke an obscure IE bug when using iframes.
- $wrap[0].style.width = $wrap[0].style.height = "9999px";
-
- function modalDimensions(that) {
- // loading overlay height has to be explicitly set for IE6.
- $topBorder[0].style.width = $bottomBorder[0].style.width = $content[0].style.width = that.style.width;
- $loadingOverlay[0].style.height = $loadingOverlay[1].style.height = $content[0].style.height = $leftBorder[0].style.height = $rightBorder[0].style.height = that.style.height;
- }
-
- $box.dequeue().animate({width: settings.w + loadedWidth, height: settings.h + loadedHeight, top: posTop, left: posLeft}, {
- duration: animate_speed,
- complete: function () {
- modalDimensions(this);
-
- active = false;
-
- // shrink the wrapper down to exactly the size of colorbox to avoid a bug in IE's iframe implementation.
- $wrap[0].style.width = (settings.w + loadedWidth + interfaceWidth) + "px";
- $wrap[0].style.height = (settings.h + loadedHeight + interfaceHeight) + "px";
-
- if (loadedCallback) {
- loadedCallback();
- }
- },
- step: function () {
- modalDimensions(this);
- }
- });
- };
-
- publicMethod.resize = function (options) {
- if (open) {
- options = options || {};
-
- if (options.width) {
- settings.w = setSize(options.width, 'x') - loadedWidth - interfaceWidth;
- }
- if (options.innerWidth) {
- settings.w = setSize(options.innerWidth, 'x');
- }
- $loaded.css({width: settings.w});
-
- if (options.height) {
- settings.h = setSize(options.height, 'y') - loadedHeight - interfaceHeight;
- }
- if (options.innerHeight) {
- settings.h = setSize(options.innerHeight, 'y');
- }
- if (!options.innerHeight && !options.height) {
- var $child = $loaded.wrapInner("<div style='overflow:auto'></div>").children(); // temporary wrapper to get an accurate estimate of just how high the total content should be.
- settings.h = $child.height();
- $child.replaceWith($child.children()); // ditch the temporary wrapper div used in height calculation
- }
- $loaded.css({height: settings.h});
-
- publicMethod.position(settings.transition === "none" ? 0 : settings.speed);
- }
- };
-
- publicMethod.prep = function (object) {
- if (!open) {
- return;
- }
-
- var photo,
- speed = settings.transition === "none" ? 0 : settings.speed;
-
- $window.unbind('resize.' + prefix);
- $loaded.remove();
- $loaded = $div('LoadedContent').html(object);
-
- function getWidth() {
- settings.w = settings.w || $loaded.width();
- settings.w = settings.mw && settings.mw < settings.w ? settings.mw : settings.w;
- return settings.w;
- }
- function getHeight() {
- settings.h = settings.h || $loaded.height();
- settings.h = settings.mh && settings.mh < settings.h ? settings.mh : settings.h;
- return settings.h;
- }
-
- $loaded.hide()
- .appendTo($loadingBay.show())// content has to be appended to the DOM for accurate size calculations.
- .css({width: getWidth(), overflow: settings.scrolling ? 'auto' : 'hidden'})
- .css({height: getHeight()})// sets the height independently from the width in case the new width influences the value of height.
- .prependTo($content);
-
- $loadingBay.hide();
-
- $('#' + prefix + 'Photo').css({cssFloat: 'none'});// floating the IMG removes the bottom line-height and fixed a problem where IE miscalculates the width of the parent element as 100% of the document width.
-
- // Hides SELECT elements in IE6 because they would otherwise sit on top of the overlay.
- if (isIE6) {
- $('select').not($box.find('select')).filter(function () {
- return this.style.visibility !== 'hidden';
- }).css({'visibility': 'hidden'}).one(event_cleanup, function () {
- this.style.visibility = 'inherit';
- });
- }
-
- function setPosition(s) {
- var prev, prevSrc, next, nextSrc, total = $related.length, loop = settings.loop;
- publicMethod.position(s, function () {
- function defilter() {
- if (isIE) {
- //IE adds a filter when ColorBox fades in and out that can cause problems if the loaded content contains transparent pngs.
- $box[0].style.removeAttribute("filter");
- }
- }
-
- if (!open) {
- return;
- }
-
- if (isIE) {
- //This fadeIn helps the bicubic resampling to kick-in.
- if (photo) {
- $loaded.fadeIn(100);
- }
- }
-
- //Waited until the iframe is added to the DOM & it is visible before setting the src.
- //This increases compatability with pages using DOM dependent JavaScript.
- if (settings.iframe) {
- $("<iframe frameborder=0" + (settings.scrolling ? "" : " scrolling='no'") + (isIE ? " allowtransparency='true'" : '') + "/>")
- .attr({src: settings.href, name: new Date().getTime()})
- .appendTo($loaded);
- }
-
- $loaded.show();
-
- $title.show().html(settings.title);
-
- if (total > 1) { // handle grouping
- $current.html(settings.current.replace(/\{current\}/, index + 1).replace(/\{total\}/, total)).show();
-
- $next[(loop || index < total - 1) ? "show" : "hide"]().html(settings.next);
- $prev[(loop || index) ? "show" : "hide"]().html(settings.previous);
-
- prev = index ? $related[index - 1] : $related[total - 1];
- next = index < total - 1 ? $related[index + 1] : $related[0];
-
- if (settings.slideshow) {
- $slideshow.show();
- if (index === total - 1 && !loop && $box.is('.' + prefix + 'Slideshow_on')) {
- $slideshow.click();
- }
- }
-
- // Preloads images within a rel group
- if (settings.preloading) {
- nextSrc = $(next).data(colorbox).href || next.href;
- prevSrc = $(prev).data(colorbox).href || prev.href;
-
- if (isImage(nextSrc)) {
- $('<img/>')[0].src = nextSrc;
- }
-
- if (isImage(prevSrc)) {
- $('<img/>')[0].src = prevSrc;
- }
- }
- }
-
- $loadingOverlay.hide();
-
- if (settings.transition === 'fade') {
- $box.fadeTo(speed, 1, function () {
- defilter();
- });
- } else {
- defilter();
- }
-
- $window.bind('resize.' + prefix, function () {
- publicMethod.position(0);
- });
-
- $.event.trigger(event_complete);
- if (settings.onComplete) {
- settings.onComplete.call(element);
- }
- });
- }
-
- if (settings.transition === 'fade') {
- $box.fadeTo(speed, 0, function () {
- setPosition(0);
- });
- } else {
- setPosition(speed);
- }
- };
-
- publicMethod.load = function () {
- var href, img, setResize, prep = publicMethod.prep;
-
- active = true;
-
- element = $related[index];
-
- settings = $.extend({}, $(element).data(colorbox));
-
- //convert functions to static values
- process();
-
- $.event.trigger(event_load);
- if (settings.onLoad) {
- settings.onLoad.call(element);
- }
-
- settings.h = settings.height ?
- setSize(settings.height, 'y') - loadedHeight - interfaceHeight :
- settings.innerHeight && setSize(settings.innerHeight, 'y');
-
- settings.w = settings.width ?
- setSize(settings.width, 'x') - loadedWidth - interfaceWidth :
- settings.innerWidth && setSize(settings.innerWidth, 'x');
-
- // Sets the minimum dimensions for use in image scaling
- settings.mw = settings.w;
- settings.mh = settings.h;
-
- // Re-evaluate the minimum width and height based on maxWidth and maxHeight values.
- // If the width or height exceed the maxWidth or maxHeight, use the maximum values instead.
- if (settings.maxWidth) {
- settings.mw = setSize(settings.maxWidth, 'x') - loadedWidth - interfaceWidth;
- settings.mw = settings.w && settings.w < settings.mw ? settings.w : settings.mw;
- }
- if (settings.maxHeight) {
- settings.mh = setSize(settings.maxHeight, 'y') - loadedHeight - interfaceHeight;
- settings.mh = settings.h && settings.h < settings.mh ? settings.h : settings.mh;
- }
-
- href = settings.href;
-
- $loadingOverlay.show();
-
- if (settings.inline) {
- // Inserts an empty placeholder where inline content is being pulled from.
- // An event is bound to put inline content back when ColorBox closes or loads new content.
- $div('InlineTemp').hide().insertBefore($(href)[0]).bind(event_load + ' ' + event_cleanup, function () {
- $(this).replaceWith($loaded.children());
- });
- prep($(href));
- } else if (settings.iframe) {
- // IFrame element won't be added to the DOM until it is ready to be displayed,
- // to avoid problems with DOM-ready JS that might be trying to run in that iframe.
- prep(" ");
- } else if (settings.html) {
- prep(settings.html);
- } else if (isImage(href)) {
- img = new Image();
- img.onload = function () {
- var percent;
-
- img.onload = null;
- img.id = prefix + 'Photo';
- $(img).css({margin: 'auto', border: 'none', display: 'block', cssFloat: 'left'});
-
- if (settings.scalePhotos) {
- setResize = function () {
- img.height -= img.height * percent;
- img.width -= img.width * percent;
- };
- if (settings.mw && img.width > settings.mw) {
- percent = (img.width - settings.mw) / img.width;
- setResize();
- }
- if (settings.mh && img.height > settings.mh) {
- percent = (img.height - settings.mh) / img.height;
- setResize();
- }
- }
-
- if (settings.h) {
- img.style.marginTop = Math.max(settings.h - img.height, 0) / 2 + 'px';
- }
-
- setTimeout(function () { // Chrome will sometimes report a 0 by 0 size if there isn't pause in execution
- prep(img);
- }, 1);
-
- if ($related[1] && (index < $related.length - 1 || settings.loop)) {
- $(img).css({cursor: 'pointer'}).click(publicMethod.next);
- }
-
- if (isIE) {
- img.style.msInterpolationMode = 'bicubic';
- }
- };
- img.src = href;
- } else {
- $div().appendTo($loadingBay).load(href, function (data, status, xhr) {
- prep(status === 'error' ? 'Request unsuccessful: ' + xhr.statusText : this);
- });
- }
- };
-
- // Navigates to the next page/image in a set.
- publicMethod.next = function () {
- if (!active) {
- index = index < $related.length - 1 ? index + 1 : 0;
- publicMethod.load();
- }
- };
-
- publicMethod.prev = function () {
- if (!active) {
- index = index ? index - 1 : $related.length - 1;
- publicMethod.load();
- }
- };
-
- publicMethod.slideshow = function () {
- var stop, timeOut, className = prefix + 'Slideshow_';
-
- $slideshow.bind(event_closed, function () {
- $slideshow.unbind();
- clearTimeout(timeOut);
- $box.removeClass(className + "off " + className + "on");
- });
-
- function start() {
- $slideshow
- .text(settings.slideshowStop)
- .bind(event_complete, function () {
- timeOut = setTimeout(publicMethod.next, settings.slideshowSpeed);
- })
- .bind(event_load, function () {
- clearTimeout(timeOut);
- }).one("click", function () {
- stop();
- });
- $box.removeClass(className + "off").addClass(className + "on");
- }
-
- stop = function () {
- clearTimeout(timeOut);
- $slideshow
- .text(settings.slideshowStart)
- .unbind(event_complete + ' ' + event_load)
- .one("click", function () {
- start();
- timeOut = setTimeout(publicMethod.next, settings.slideshowSpeed);
- });
- $box.removeClass(className + "on").addClass(className + "off");
- };
-
- if (settings.slideshow && $related[1]) {
- if (settings.slideshowAuto) {
- start();
- } else {
- stop();
- }
- }
- };
-
- // Note: to use this within an iframe use the following format: parent.$.fn.colorbox.close();
- publicMethod.close = function () {
- if (open) {
- open = false;
-
- $.event.trigger(event_cleanup);
-
- if (settings.onCleanup) {
- settings.onCleanup.call(element);
- }
-
- $window.unbind('.' + prefix + ' .' + event_ie6);
-
- $overlay.fadeTo('fast', 0);
-
- $box.stop().fadeTo('fast', 0, function () {
- $box.find('iframe').attr('src', 'about:blank'); // change the location of the iframe to avoid a problem in IE with flash objects not clearing.
-
- $loaded.remove();
-
- $box.add($overlay).css({'opacity': 1, cursor: 'auto'}).hide();
-
- try {
- bookmark.focus();
- } catch (e) {
- // do nothing
- }
-
- setTimeout(function () {
- $.event.trigger(event_closed);
- if (settings.onClosed) {
- settings.onClosed.call(element);
- }
- }, 1);
- });
- }
- };
-
- // A method for fetching the current element ColorBox is referencing.
- // returns a jQuery object.
- publicMethod.element = function () {
- return $(element);
- };
-
- publicMethod.settings = defaults;
-
- // Initializes ColorBox when the DOM has loaded
- $(publicMethod.init);
-
-}(jQuery, this));
+// ColorBox v1.3.9 - a full featured, light-weight, customizable lightbox based on jQuery 1.3
+// c) 2009 Jack Moore - www.colorpowered.com - jack@colorpowered.com
+// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
+(function ($, window) {
+
+ var
+ // ColorBox Default Settings.
+ // See http://colorpowered.com/colorbox for details.
+ defaults = {
+ transition: "elastic",
+ speed: 300,
+ width: false,
+ initialWidth: "600",
+ innerWidth: false,
+ maxWidth: false,
+ height: false,
+ initialHeight: "450",
+ innerHeight: false,
+ maxHeight: false,
+ scalePhotos: true,
+ scrolling: true,
+ inline: false,
+ html: false,
+ iframe: false,
+ photo: false,
+ href: false,
+ title: false,
+ rel: false,
+ opacity: 0.9,
+ preloading: true,
+ current: "image {current} of {total}",
+ previous: "previous",
+ next: "next",
+ close: "close",
+ open: false,
+ loop: true,
+ slideshow: false,
+ slideshowAuto: true,
+ slideshowSpeed: 2500,
+ slideshowStart: "start slideshow",
+ slideshowStop: "stop slideshow",
+ onOpen: false,
+ onLoad: false,
+ onComplete: false,
+ onCleanup: false,
+ onClosed: false,
+ overlayClose: true,
+ escKey: true,
+ arrowKey: true
+ },
+
+ // Abstracting the HTML and event identifiers for easy rebranding
+ colorbox = 'colorbox',
+ prefix = 'cbox',
+
+ // Events
+ event_open = prefix + '_open',
+ event_load = prefix + '_load',
+ event_complete = prefix + '_complete',
+ event_cleanup = prefix + '_cleanup',
+ event_closed = prefix + '_closed',
+
+ // Special Handling for IE
+ isIE = $.browser.msie && !$.support.opacity, // feature detection alone gave a false positive on at least one phone browser and on some development versions of Chrome.
+ isIE6 = isIE && $.browser.version < 7,
+ event_ie6 = prefix + '_IE6',
+
+ // Cached jQuery Object Variables
+ $overlay,
+ $box,
+ $wrap,
+ $content,
+ $topBorder,
+ $leftBorder,
+ $rightBorder,
+ $bottomBorder,
+ $related,
+ $window,
+ $loaded,
+ $loadingBay,
+ $loadingOverlay,
+ $title,
+ $current,
+ $slideshow,
+ $next,
+ $prev,
+ $close,
+
+ // Variables for cached values or use across multiple functions
+ interfaceHeight,
+ interfaceWidth,
+ loadedHeight,
+ loadedWidth,
+ element,
+ bookmark,
+ index,
+ settings,
+ open,
+ active,
+
+ publicMethod,
+ boxElement = prefix + 'Element';
+
+ // ****************
+ // HELPER FUNCTIONS
+ // ****************
+
+ // jQuery object generator to reduce code size
+ function $div(id, css) {
+ id = id ? ' id="' + prefix + id + '"' : '';
+ css = css ? ' style="' + css + '"' : '';
+ return $('<div' + id + css + '/>');
+ }
+
+ // Convert % values to pixels
+ function setSize(size, dimension) {
+ dimension = dimension === 'x' ? $window.width() : $window.height();
+ return (typeof size === 'string') ? Math.round((size.match(/%/) ? (dimension / 100) * parseInt(size, 10) : parseInt(size, 10))) : size;
+ }
+
+ // Checks an href to see if it is a photo.
+ // There is a force photo option (photo: true) for hrefs that cannot be matched by this regex.
+ function isImage(url) {
+ url = $.isFunction(url) ? url.call(element) : url;
+ return settings.photo || url.match(/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i);
+ }
+
+ // Assigns functions results to their respective settings. This allows functions to be used to set ColorBox options.
+ function process() {
+ for (var i in settings) {
+ if ($.isFunction(settings[i]) && i.substring(0, 2) !== 'on') { // checks to make sure the function isn't one of the callbacks, they will be handled at the appropriate time.
+ settings[i] = settings[i].call(element);
+ }
+ }
+ settings.rel = settings.rel || element.rel || 'nofollow';
+ settings.href = settings.href || $(element).attr('href');
+ settings.title = settings.title || element.title;
+ }
+
+ function launch(elem) {
+
+ element = elem;
+
+ settings = $.extend({}, $(element).data(colorbox));
+
+ process(); // Convert functions to their returned values.
+
+ if (settings.rel !== 'nofollow') {
+ $related = $('.' + boxElement).filter(function () {
+ var relRelated = $(this).data(colorbox).rel || this.rel;
+ return (relRelated === settings.rel);
+ });
+ index = $related.index(element);
+
+ // Check direct calls to ColorBox.
+ if (index === -1) {
+ $related = $related.add(element);
+ index = $related.length - 1;
+ }
+ } else {
+ $related = $(element);
+ index = 0;
+ }
+
+ if (!open) {
+ open = active = true; // Prevents the page-change action from queuing up if the visitor holds down the left or right keys.
+
+ bookmark = element;
+
+ try {
+ bookmark.blur(); // Remove the focus from the calling element.
+ }catch (e) {}
+
+ $.event.trigger(event_open);
+ if (settings.onOpen) {
+ settings.onOpen.call(element);
+ }
+
+ // +settings.opacity avoids a problem in IE when using non-zero-prefixed-string-values, like '.5'
+ $overlay.css({"opacity": +settings.opacity, "cursor": settings.overlayClose ? "pointer" : "auto"}).show();
+
+ // Opens inital empty ColorBox prior to content being loaded.
+ settings.w = setSize(settings.initialWidth, 'x');
+ settings.h = setSize(settings.initialHeight, 'y');
+ publicMethod.position(0);
+
+ if (isIE6) {
+ $window.bind('resize.' + event_ie6 + ' scroll.' + event_ie6, function () {
+ $overlay.css({width: $window.width(), height: $window.height(), top: $window.scrollTop(), left: $window.scrollLeft()});
+ }).trigger('scroll.' + event_ie6);
+ }
+ }
+
+ $current.add($prev).add($next).add($slideshow).add($title).hide();
+
+ $close.html(settings.close).show();
+
+ publicMethod.slideshow();
+
+ publicMethod.load();
+ }
+
+ // ****************
+ // PUBLIC FUNCTIONS
+ // Usage format: $.fn.colorbox.close();
+ // Usage from within an iframe: parent.$.fn.colorbox.close();
+ // ****************
+
+ publicMethod = $.fn[colorbox] = $[colorbox] = function (options, callback) {
+ var $this = this;
+
+ if (!$this[0] && $this.selector) { // if a selector was given and it didn't match any elements, go ahead and exit.
+ return $this;
+ }
+
+ options = options || {};
+
+ if (callback) {
+ options.onComplete = callback;
+ }
+
+ if (!$this[0] || $this.selector === undefined) { // detects $.colorbox() and $.fn.colorbox()
+ $this = $('<a/>');
+ options.open = true; // assume an immediate open
+ }
+
+ $this.each(function () {
+ $(this).data(colorbox, $.extend({}, $(this).data(colorbox) || defaults, options)).addClass(boxElement);
+ });
+
+ if (options.open) {
+ launch($this[0]);
+ }
+
+ return $this;
+ };
+
+ // Initialize ColorBox: store common calculations, preload the interface graphics, append the html.
+ // This preps colorbox for a speedy open when clicked, and lightens the burdon on the browser by only
+ // having to run once, instead of each time colorbox is opened.
+ publicMethod.init = function () {
+ // Create & Append jQuery Objects
+ $window = $(window);
+ $box = $div().attr({id: colorbox, 'class': isIE ? prefix + 'IE' : ''});
+ $overlay = $div("Overlay", isIE6 ? 'position:absolute' : '').hide();
+
+ $wrap = $div("Wrapper");
+ $content = $div("Content").append(
+ $loaded = $div("LoadedContent", 'width:0; height:0'),
+ $loadingOverlay = $div("LoadingOverlay").add($div("LoadingGraphic")),
+ $title = $div("Title"),
+ $current = $div("Current"),
+ $next = $div("Next"),
+ $prev = $div("Previous"),
+ $slideshow = $div("Slideshow"),
+ $close = $div("Close")
+ );
+ $wrap.append( // The 3x3 Grid that makes up ColorBox
+ $div().append(
+ $div("TopLeft"),
+ $topBorder = $div("TopCenter"),
+ $div("TopRight")
+ ),
+ $div().append(
+ $leftBorder = $div("MiddleLeft"),
+ $content,
+ $rightBorder = $div("MiddleRight")
+ ),
+ $div().append(
+ $div("BottomLeft"),
+ $bottomBorder = $div("BottomCenter"),
+ $div("BottomRight")
+ )
+ ).children().children().css({'float': 'left'});
+
+ $loadingBay = $div(false, 'position:absolute; width:9999px; visibility:hidden; display:none');
+
+ $('body').prepend($overlay, $box.append($wrap, $loadingBay));
+
+ $content.children()
+ .hover(function () {
+ $(this).addClass('hover');
+ }, function () {
+ $(this).removeClass('hover');
+ }).addClass('hover');
+
+ // Cache values needed for size calculations
+ interfaceHeight = $topBorder.height() + $bottomBorder.height() + $content.outerHeight(true) - $content.height();//Subtraction needed for IE6
+ interfaceWidth = $leftBorder.width() + $rightBorder.width() + $content.outerWidth(true) - $content.width();
+ loadedHeight = $loaded.outerHeight(true);
+ loadedWidth = $loaded.outerWidth(true);
+
+ // Setting padding to remove the need to do size conversions during the animation step.
+ $box.css({"padding-bottom": interfaceHeight, "padding-right": interfaceWidth}).hide();
+
+ // Setup button events.
+ $next.click(publicMethod.next);
+ $prev.click(publicMethod.prev);
+ $close.click(publicMethod.close);
+
+ // Adding the 'hover' class allowed the browser to load the hover-state
+ // background graphics. The class can now can be removed.
+ $content.children().removeClass('hover');
+
+ $('.' + boxElement).live('click', function (e) {
+ // checks to see if it was a non-left mouse-click and for clicks modified with ctrl, shift, or alt.
+ if ((e.button !== 0 && typeof e.button !== 'undefined') || e.ctrlKey || e.shiftKey || e.altKey) {
+ return true;
+ } else {
+ launch(this);
+ return false;
+ }
+ });
+
+ $overlay.click(function () {
+ if (settings.overlayClose) {
+ publicMethod.close();
+ }
+ });
+
+ // Set Navigation Key Bindings
+ $(document).bind("keydown", function (e) {
+ if (open && settings.escKey && e.keyCode === 27) {
+ e.preventDefault();
+ publicMethod.close();
+ }
+ if (open && settings.arrowKey && !active && $related[1]) {
+ if (e.keyCode === 37 && (index || settings.loop)) {
+ e.preventDefault();
+ $prev.click();
+ } else if (e.keyCode === 39 && (index < $related.length - 1 || settings.loop)) {
+ e.preventDefault();
+ $next.click();
+ }
+ }
+ });
+ };
+
+ publicMethod.remove = function () {
+ $box.add($overlay).remove();
+ $('.' + boxElement).die('click').removeData(colorbox).removeClass(boxElement);
+ };
+
+ publicMethod.position = function (speed, loadedCallback) {
+ var
+ animate_speed,
+ // keeps the top and left positions within the browser's viewport.
+ posTop = Math.max($window.height() - settings.h - loadedHeight - interfaceHeight, 0) / 2 + $window.scrollTop(),
+ posLeft = Math.max($window.width() - settings.w - loadedWidth - interfaceWidth, 0) / 2 + $window.scrollLeft();
+
+ // setting the speed to 0 to reduce the delay between same-sized content.
+ animate_speed = ($box.width() === settings.w + loadedWidth && $box.height() === settings.h + loadedHeight) ? 0 : speed;
+
+ // this gives the wrapper plenty of breathing room so it's floated contents can move around smoothly,
+ // but it has to be shrank down around the size of div#colorbox when it's done. If not,
+ // it can invoke an obscure IE bug when using iframes.
+ $wrap[0].style.width = $wrap[0].style.height = "9999px";
+
+ function modalDimensions(that) {
+ // loading overlay height has to be explicitly set for IE6.
+ $topBorder[0].style.width = $bottomBorder[0].style.width = $content[0].style.width = that.style.width;
+ $loadingOverlay[0].style.height = $loadingOverlay[1].style.height = $content[0].style.height = $leftBorder[0].style.height = $rightBorder[0].style.height = that.style.height;
+ }
+
+ $box.dequeue().animate({width: settings.w + loadedWidth, height: settings.h + loadedHeight, top: posTop, left: posLeft}, {
+ duration: animate_speed,
+ complete: function () {
+ modalDimensions(this);
+
+ active = false;
+
+ // shrink the wrapper down to exactly the size of colorbox to avoid a bug in IE's iframe implementation.
+ $wrap[0].style.width = (settings.w + loadedWidth + interfaceWidth) + "px";
+ $wrap[0].style.height = (settings.h + loadedHeight + interfaceHeight) + "px";
+
+ if (loadedCallback) {
+ loadedCallback();
+ }
+ },
+ step: function () {
+ modalDimensions(this);
+ }
+ });
+ };
+
+ publicMethod.resize = function (options) {
+ if (open) {
+ options = options || {};
+
+ if (options.width) {
+ settings.w = setSize(options.width, 'x') - loadedWidth - interfaceWidth;
+ }
+ if (options.innerWidth) {
+ settings.w = setSize(options.innerWidth, 'x');
+ }
+ $loaded.css({width: settings.w});
+
+ if (options.height) {
+ settings.h = setSize(options.height, 'y') - loadedHeight - interfaceHeight;
+ }
+ if (options.innerHeight) {
+ settings.h = setSize(options.innerHeight, 'y');
+ }
+ if (!options.innerHeight && !options.height) {
+ var $child = $loaded.wrapInner("<div style='overflow:auto'></div>").children(); // temporary wrapper to get an accurate estimate of just how high the total content should be.
+ settings.h = $child.height();
+ $child.replaceWith($child.children()); // ditch the temporary wrapper div used in height calculation
+ }
+ $loaded.css({height: settings.h});
+
+ publicMethod.position(settings.transition === "none" ? 0 : settings.speed);
+ }
+ };
+
+ publicMethod.prep = function (object) {
+ if (!open) {
+ return;
+ }
+
+ var photo,
+ speed = settings.transition === "none" ? 0 : settings.speed;
+
+ $window.unbind('resize.' + prefix);
+ $loaded.remove();
+ $loaded = $div('LoadedContent').html(object);
+
+ function getWidth() {
+ settings.w = settings.w || $loaded.width();
+ settings.w = settings.mw && settings.mw < settings.w ? settings.mw : settings.w;
+ return settings.w;
+ }
+ function getHeight() {
+ settings.h = settings.h || $loaded.height();
+ settings.h = settings.mh && settings.mh < settings.h ? settings.mh : settings.h;
+ return settings.h;
+ }
+
+ $loaded.hide()
+ .appendTo($loadingBay.show())// content has to be appended to the DOM for accurate size calculations.
+ .css({width: getWidth(), overflow: settings.scrolling ? 'auto' : 'hidden'})
+ .css({height: getHeight()})// sets the height independently from the width in case the new width influences the value of height.
+ .prependTo($content);
+
+ $loadingBay.hide();
+
+ $('#' + prefix + 'Photo').css({cssFloat: 'none'});// floating the IMG removes the bottom line-height and fixed a problem where IE miscalculates the width of the parent element as 100% of the document width.
+
+ // Hides SELECT elements in IE6 because they would otherwise sit on top of the overlay.
+ if (isIE6) {
+ $('select').not($box.find('select')).filter(function () {
+ return this.style.visibility !== 'hidden';
+ }).css({'visibility': 'hidden'}).one(event_cleanup, function () {
+ this.style.visibility = 'inherit';
+ });
+ }
+
+ function setPosition(s) {
+ var prev, prevSrc, next, nextSrc, total = $related.length, loop = settings.loop;
+ publicMethod.position(s, function () {
+ function defilter() {
+ if (isIE) {
+ //IE adds a filter when ColorBox fades in and out that can cause problems if the loaded content contains transparent pngs.
+ $box[0].style.removeAttribute("filter");
+ }
+ }
+
+ if (!open) {
+ return;
+ }
+
+ if (isIE) {
+ //This fadeIn helps the bicubic resampling to kick-in.
+ if (photo) {
+ $loaded.fadeIn(100);
+ }
+ }
+
+ //Waited until the iframe is added to the DOM & it is visible before setting the src.
+ //This increases compatability with pages using DOM dependent JavaScript.
+ if (settings.iframe) {
+ $("<iframe frameborder=0" + (settings.scrolling ? "" : " scrolling='no'") + (isIE ? " allowtransparency='true'" : '') + "/>")
+ .attr({src: settings.href, name: new Date().getTime()})
+ .appendTo($loaded);
+ }
+
+ $loaded.show();
+
+ $title.show().html(settings.title);
+
+ if (total > 1) { // handle grouping
+ $current.html(settings.current.replace(/\{current\}/, index + 1).replace(/\{total\}/, total)).show();
+
+ $next[(loop || index < total - 1) ? "show" : "hide"]().html(settings.next);
+ $prev[(loop || index) ? "show" : "hide"]().html(settings.previous);
+
+ prev = index ? $related[index - 1] : $related[total - 1];
+ next = index < total - 1 ? $related[index + 1] : $related[0];
+
+ if (settings.slideshow) {
+ $slideshow.show();
+ if (index === total - 1 && !loop && $box.is('.' + prefix + 'Slideshow_on')) {
+ $slideshow.click();
+ }
+ }
+
+ // Preloads images within a rel group
+ if (settings.preloading) {
+ nextSrc = $(next).data(colorbox).href || next.href;
+ prevSrc = $(prev).data(colorbox).href || prev.href;
+
+ if (isImage(nextSrc)) {
+ $('<img/>')[0].src = nextSrc;
+ }
+
+ if (isImage(prevSrc)) {
+ $('<img/>')[0].src = prevSrc;
+ }
+ }
+ }
+
+ $loadingOverlay.hide();
+
+ if (settings.transition === 'fade') {
+ $box.fadeTo(speed, 1, function () {
+ defilter();
+ });
+ } else {
+ defilter();
+ }
+
+ $window.bind('resize.' + prefix, function () {
+ publicMethod.position(0);
+ });
+
+ $.event.trigger(event_complete);
+ if (settings.onComplete) {
+ settings.onComplete.call(element);
+ }
+ });
+ }
+
+ if (settings.transition === 'fade') {
+ $box.fadeTo(speed, 0, function () {
+ setPosition(0);
+ });
+ } else {
+ setPosition(speed);
+ }
+ };
+
+ publicMethod.load = function () {
+ var href, img, setResize, prep = publicMethod.prep;
+
+ active = true;
+
+ element = $related[index];
+
+ settings = $.extend({}, $(element).data(colorbox));
+
+ //convert functions to static values
+ process();
+
+ $.event.trigger(event_load);
+ if (settings.onLoad) {
+ settings.onLoad.call(element);
+ }
+
+ settings.h = settings.height ?
+ setSize(settings.height, 'y') - loadedHeight - interfaceHeight :
+ settings.innerHeight && setSize(settings.innerHeight, 'y');
+
+ settings.w = settings.width ?
+ setSize(settings.width, 'x') - loadedWidth - interfaceWidth :
+ settings.innerWidth && setSize(settings.innerWidth, 'x');
+
+ // Sets the minimum dimensions for use in image scaling
+ settings.mw = settings.w;
+ settings.mh = settings.h;
+
+ // Re-evaluate the minimum width and height based on maxWidth and maxHeight values.
+ // If the width or height exceed the maxWidth or maxHeight, use the maximum values instead.
+ if (settings.maxWidth) {
+ settings.mw = setSize(settings.maxWidth, 'x') - loadedWidth - interfaceWidth;
+ settings.mw = settings.w && settings.w < settings.mw ? settings.w : settings.mw;
+ }
+ if (settings.maxHeight) {
+ settings.mh = setSize(settings.maxHeight, 'y') - loadedHeight - interfaceHeight;
+ settings.mh = settings.h && settings.h < settings.mh ? settings.h : settings.mh;
+ }
+
+ href = settings.href;
+
+ $loadingOverlay.show();
+
+ if (settings.inline) {
+ // Inserts an empty placeholder where inline content is being pulled from.
+ // An event is bound to put inline content back when ColorBox closes or loads new content.
+ $div('InlineTemp').hide().insertBefore($(href)[0]).bind(event_load + ' ' + event_cleanup, function () {
+ $(this).replaceWith($loaded.children());
+ });
+ prep($(href));
+ } else if (settings.iframe) {
+ // IFrame element won't be added to the DOM until it is ready to be displayed,
+ // to avoid problems with DOM-ready JS that might be trying to run in that iframe.
+ prep(" ");
+ } else if (settings.html) {
+ prep(settings.html);
+ } else if (isImage(href)) {
+ img = new Image();
+ img.onload = function () {
+ var percent;
+
+ img.onload = null;
+ img.id = prefix + 'Photo';
+ $(img).css({margin: 'auto', border: 'none', display: 'block', cssFloat: 'left'});
+
+ if (settings.scalePhotos) {
+ setResize = function () {
+ img.height -= img.height * percent;
+ img.width -= img.width * percent;
+ };
+ if (settings.mw && img.width > settings.mw) {
+ percent = (img.width - settings.mw) / img.width;
+ setResize();
+ }
+ if (settings.mh && img.height > settings.mh) {
+ percent = (img.height - settings.mh) / img.height;
+ setResize();
+ }
+ }
+
+ if (settings.h) {
+ img.style.marginTop = Math.max(settings.h - img.height, 0) / 2 + 'px';
+ }
+
+ setTimeout(function () { // Chrome will sometimes report a 0 by 0 size if there isn't pause in execution
+ prep(img);
+ }, 1);
+
+ if ($related[1] && (index < $related.length - 1 || settings.loop)) {
+ $(img).css({cursor: 'pointer'}).click(publicMethod.next);
+ }
+
+ if (isIE) {
+ img.style.msInterpolationMode = 'bicubic';
+ }
+ };
+ img.src = href;
+ } else {
+ $div().appendTo($loadingBay).load(href, function (data, status, xhr) {
+ prep(status === 'error' ? 'Request unsuccessful: ' + xhr.statusText : this);
+ });
+ }
+ };
+
+ // Navigates to the next page/image in a set.
+ publicMethod.next = function () {
+ if (!active) {
+ index = index < $related.length - 1 ? index + 1 : 0;
+ publicMethod.load();
+ }
+ };
+
+ publicMethod.prev = function () {
+ if (!active) {
+ index = index ? index - 1 : $related.length - 1;
+ publicMethod.load();
+ }
+ };
+
+ publicMethod.slideshow = function () {
+ var stop, timeOut, className = prefix + 'Slideshow_';
+
+ $slideshow.bind(event_closed, function () {
+ $slideshow.unbind();
+ clearTimeout(timeOut);
+ $box.removeClass(className + "off " + className + "on");
+ });
+
+ function start() {
+ $slideshow
+ .text(settings.slideshowStop)
+ .bind(event_complete, function () {
+ timeOut = setTimeout(publicMethod.next, settings.slideshowSpeed);
+ })
+ .bind(event_load, function () {
+ clearTimeout(timeOut);
+ }).one("click", function () {
+ stop();
+ });
+ $box.removeClass(className + "off").addClass(className + "on");
+ }
+
+ stop = function () {
+ clearTimeout(timeOut);
+ $slideshow
+ .text(settings.slideshowStart)
+ .unbind(event_complete + ' ' + event_load)
+ .one("click", function () {
+ start();
+ timeOut = setTimeout(publicMethod.next, settings.slideshowSpeed);
+ });
+ $box.removeClass(className + "on").addClass(className + "off");
+ };
+
+ if (settings.slideshow && $related[1]) {
+ if (settings.slideshowAuto) {
+ start();
+ } else {
+ stop();
+ }
+ }
+ };
+
+ // Note: to use this within an iframe use the following format: parent.$.fn.colorbox.close();
+ publicMethod.close = function () {
+ if (open) {
+ open = false;
+
+ $.event.trigger(event_cleanup);
+
+ if (settings.onCleanup) {
+ settings.onCleanup.call(element);
+ }
+
+ $window.unbind('.' + prefix + ' .' + event_ie6);
+
+ $overlay.fadeTo('fast', 0);
+
+ $box.stop().fadeTo('fast', 0, function () {
+ $box.find('iframe').attr('src', 'about:blank'); // change the location of the iframe to avoid a problem in IE with flash objects not clearing.
+
+ $loaded.remove();
+
+ $box.add($overlay).css({'opacity': 1, cursor: 'auto'}).hide();
+
+ try {
+ bookmark.focus();
+ } catch (e) {
+ // do nothing
+ }
+
+ setTimeout(function () {
+ $.event.trigger(event_closed);
+ if (settings.onClosed) {
+ settings.onClosed.call(element);
+ }
+ }, 1);
+ });
+ }
+ };
+
+ // A method for fetching the current element ColorBox is referencing.
+ // returns a jQuery object.
+ publicMethod.element = function () {
+ return $(element);
+ };
+
+ publicMethod.settings = defaults;
+
+ // Initializes ColorBox when the DOM has loaded
+ $(publicMethod.init);
+
+}(jQuery, this));
diff --git a/config/snort/javascript/row_helper.js b/config/snort/javascript/row_helper.js
index 255154f7..905dba7b 100644
--- a/config/snort/javascript/row_helper.js
+++ b/config/snort/javascript/row_helper.js
@@ -1,77 +1,77 @@
-/*
-
-for the snort package sept01,2010
-TODO: redo code myself.......
-
-*/
-
-
-// Global Variables
-var rowname = new Array(500);
-var rowtype = new Array(500);
-var newrow = new Array(500);
-var rowsize = new Array(500);
-
-for (i = 0; i < 500; i++) {
- rowname[i] = '';
- rowtype[i] = '';
- newrow[i] = '';
- rowsize[i] = '25';
-}
-
-var field_counter_js = 0;
-var loaded = 0;
-var is_streaming_progress_bar = 0;
-var temp_streaming_text = "";
-
-var addRowTo = (function() {
- return (function (tableId) {
- var d, tbody, tr, td, bgc, i, ii, j;
- d = document;
- tbody = d.getElementById(tableId).getElementsByTagName("tbody").item(0);
- tr = d.createElement("tr");
- totalrows++;
- for (i = 0; i < field_counter_js; i++) {
- td = d.createElement("td");
- if(rowtype[i] == 'textbox') {
- td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input><input size='" + rowsize[i] + "' name='" + rowname[i] + totalrows + "'></input> ";
- } else if(rowtype[i] == 'select') {
- td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input><select size='" + rowsize[i] + "' name='" + rowname[i] + totalrows + "'><option value=\"32\" selected>32</option><option value=\"31\" >31</option><option value=\"30\" >30</option><option value=\"29\" >29</option><option value=\"28\" >28</option><option value=\"27\" >27</option><option value=\"26\" >26</option><option value=\"25\" >25</option><option value=\"24\" >24</option><option value=\"23\" >23</option><option value=\"22\" >22</option><option value=\"21\" >21</option><option value=\"20\" >20</option><option value=\"19\" >19</option><option value=\"18\" >18</option><option value=\"17\" >17</option><option value=\"16\" >16</option><option value=\"15\" >15</option><option value=\"14\" >14</option><option value=\"13\" >13</option><option value=\"12\" >12</option><option value=\"11\" >11</option><option value=\"10\" >10</option><option value=\"9\" >9</option><option value=\"8\" >8</option><option value=\"7\" >7</option><option value=\"6\" >6</option><option value=\"5\" >5</option><option value=\"4\" >4</option><option value=\"3\" >3</option><option value=\"2\" >2</option><option value=\"1\" >1</option></select> ";
- } else {
- td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input><input type='checkbox' name='" + rowname[i] + totalrows + "'></input> ";
- }
- tr.appendChild(td);
- }
- td = d.createElement("td");
- td.rowSpan = "1";
-
- td.innerHTML = '<input type="image" src="/themes/' + theme + '/images/icons/icon_x.gif" onclick="removeRow(this); return false;" value="Delete">';
- tr.appendChild(td);
- tbody.appendChild(tr);
- });
-})();
-
-function removeRow(el) {
- var cel;
- while (el && el.nodeName.toLowerCase() != "tr")
- el = el.parentNode;
-
- if (el && el.parentNode) {
- cel = el.getElementsByTagName("td").item(0);
- el.parentNode.removeChild(el);
- }
-}
-
-function find_unique_field_name(field_name) {
- // loop through field_name and strip off -NUMBER
- var last_found_dash = 0;
- for (var i = 0; i < field_name.length; i++) {
- // is this a dash, if so, update
- // last_found_dash
- if (field_name.substr(i,1) == "-" )
- last_found_dash = i;
- }
- if (last_found_dash < 1)
- return field_name;
- return(field_name.substr(0,last_found_dash));
-}
+/*
+
+for the snort package sept01,2010
+TODO: redo code myself.......
+
+*/
+
+
+// Global Variables
+var rowname = new Array(500);
+var rowtype = new Array(500);
+var newrow = new Array(500);
+var rowsize = new Array(500);
+
+for (i = 0; i < 500; i++) {
+ rowname[i] = '';
+ rowtype[i] = '';
+ newrow[i] = '';
+ rowsize[i] = '25';
+}
+
+var field_counter_js = 0;
+var loaded = 0;
+var is_streaming_progress_bar = 0;
+var temp_streaming_text = "";
+
+var addRowTo = (function() {
+ return (function (tableId) {
+ var d, tbody, tr, td, bgc, i, ii, j;
+ d = document;
+ tbody = d.getElementById(tableId).getElementsByTagName("tbody").item(0);
+ tr = d.createElement("tr");
+ totalrows++;
+ for (i = 0; i < field_counter_js; i++) {
+ td = d.createElement("td");
+ if(rowtype[i] == 'textbox') {
+ td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input><input size='" + rowsize[i] + "' name='" + rowname[i] + totalrows + "'></input> ";
+ } else if(rowtype[i] == 'select') {
+ td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input><select size='" + rowsize[i] + "' name='" + rowname[i] + totalrows + "'><option value=\"32\" selected>32</option><option value=\"31\" >31</option><option value=\"30\" >30</option><option value=\"29\" >29</option><option value=\"28\" >28</option><option value=\"27\" >27</option><option value=\"26\" >26</option><option value=\"25\" >25</option><option value=\"24\" >24</option><option value=\"23\" >23</option><option value=\"22\" >22</option><option value=\"21\" >21</option><option value=\"20\" >20</option><option value=\"19\" >19</option><option value=\"18\" >18</option><option value=\"17\" >17</option><option value=\"16\" >16</option><option value=\"15\" >15</option><option value=\"14\" >14</option><option value=\"13\" >13</option><option value=\"12\" >12</option><option value=\"11\" >11</option><option value=\"10\" >10</option><option value=\"9\" >9</option><option value=\"8\" >8</option><option value=\"7\" >7</option><option value=\"6\" >6</option><option value=\"5\" >5</option><option value=\"4\" >4</option><option value=\"3\" >3</option><option value=\"2\" >2</option><option value=\"1\" >1</option></select> ";
+ } else {
+ td.innerHTML="<INPUT type='hidden' value='" + totalrows +"' name='" + rowname[i] + "_row-" + totalrows + "'></input><input type='checkbox' name='" + rowname[i] + totalrows + "'></input> ";
+ }
+ tr.appendChild(td);
+ }
+ td = d.createElement("td");
+ td.rowSpan = "1";
+
+ td.innerHTML = '<input type="image" src="/themes/' + theme + '/images/icons/icon_x.gif" onclick="removeRow(this); return false;" value="Delete">';
+ tr.appendChild(td);
+ tbody.appendChild(tr);
+ });
+})();
+
+function removeRow(el) {
+ var cel;
+ while (el && el.nodeName.toLowerCase() != "tr")
+ el = el.parentNode;
+
+ if (el && el.parentNode) {
+ cel = el.getElementsByTagName("td").item(0);
+ el.parentNode.removeChild(el);
+ }
+}
+
+function find_unique_field_name(field_name) {
+ // loop through field_name and strip off -NUMBER
+ var last_found_dash = 0;
+ for (var i = 0; i < field_name.length; i++) {
+ // is this a dash, if so, update
+ // last_found_dash
+ if (field_name.substr(i,1) == "-" )
+ last_found_dash = i;
+ }
+ if (last_found_dash < 1)
+ return field_name;
+ return(field_name.substr(0,last_found_dash));
+}