Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Function ereg() is deprecated in /home/public/wp-content/plugins/bad-behavior/functions.inc.php on line 62

Deprecated: Assigning the return value of new by reference is deprecated in /home/public/wp-content/plugins/timezone.php on line 153

Warning: ob_start(): output handler 'ob_gzhandler' conflicts with 'zlib output compression' in /home/public/wp-includes/functions.php on line 336

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method YLSY_PermalinkRedirect::execute() should not be called statically in /home/public/wp-includes/plugin.php on line 123

Strict Standards: Non-static method YLSY_PermalinkRedirect::is_skip() should not be called statically in /home/public/wp-content/plugins/ylsy_permalink_redirect.php on line 42

Strict Standards: Non-static method YLSY_PermalinkRedirect::guess_permalink() should not be called statically in /home/public/wp-content/plugins/ylsy_permalink_redirect.php on line 45
Easily Insert Footnotes or Other Comments into Your Website - Scott’s Ramblings
Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method runPHP::DetermineAllEvaldPosts() should not be called statically in /home/public/wp-includes/plugin.php on line 123

Scott’s Ramblings

Scott Severance's Blog

Easily Insert Footnotes or Other Comments into Your Website

Filed under: Web Development, Javascript, CSS — Scott Severance at 4:59 pm on Wednesday, April 5, 2006

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method runPHP::EvalContent() should not be called statically in /home/public/wp-includes/plugin.php on line 48

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2051

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-content/plugins/ig_syntax_hilite/geshi.php on line 2058

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/formatting.php on line 76

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/formatting.php on line 83

Here's a method to easily insert footnotes into a website using Javascript. It degrades nicely when Javascript and/or CSS are not available for whatever reason (RSS springs to mind).

Outline

  1. Code
  2. Explanation
  3. Usage Instructions

The Code

Javascript

You need the following Javascript code:

Javascript:

function insertFootnotes() {
  if(!document.getElementsByTagName) return; //object detection
  var spans = document.getElementsByTagName('span');
  var noteIndex = 1;
  for(var i=0; i<spans.length; i++) {
    if(spans[i].className == 'footnote') { //are we dealing with a footnote?
      var note = spans[i];
      var id = 'note-' + noteIndex++; //ID of the footnote <span>
      var idAnchor = id + '-a'; //ID of the footnote <a> (to expand/collapse the note)
     
      var tmpLinkText; //get the text to be linked
      for(var j=0;j<note.childNodes.length; j++) {
        if(note.childNodes[j].nodeName == '#text') {
          var tmp = note.childNodes[j];
          if(tmp.substringData && tmp.replaceData) { //more testing to prevent errors in bad browsers
            while(true) { //remove trailing spaces
              if(tmp.substringData(tmp.length-1,1) == ' ') {
                tmp.replaceData(tmp.length-1,1,'');
              }
              else {
                break;
              }
            }
          }
          tmpLinkText = tmp.nodeValue;
          break;
        }
      }
     
      var tmpNoteText; //get the text of the footnote
      for(var j=0;j<note.childNodes.length;j++) {
        if(note.childNodes[j].nodeName == 'SMALL') {
          tmpNoteText = note.childNodes[j].innerHTML;
          break;
        }
      }
     
      var okToContinue = (tmpLinkText == '' || tmpNoteText == '') ? false : true; //make sure that we actually have the information we need
      if(okToContinue) {
        note.innerHTML = ''; //clear the span to be safe
        var link = '<a href="javascript:expand(\''+idAnchor+'\',\''+id+'\')" id="'+idAnchor+'" title="Click to expand/collapse" class="expand">'+tmpLinkText+'</a>';
        var noteText = '<span id="'+id+'" class="hidden"> <span class="expand">'+tmpNoteText+'</span></span>';
        note.innerHTML = link + noteText;
      }
    }
  }
}

function expand(aID,spanID) {
  if(!document.getElementById) return; //error prevention
  var anchor = document.getElementById(aID);
  var footnote = document.getElementById(spanID);
  footnote.className = (footnote.className == 'shown') ? 'hidden' : 'shown';
  anchor.className = (anchor.className == 'expand') ? 'collapse' : 'expand';
}

CSS Code

You also need the following CSS, or something similar (change to match your color scheme--my plus and minus images are 9px by 9px):

CSS:

/*
The first two rules control the display
of your footnotes; don't change them
unless you kow what you're doing
*/

.hidden {
  display:none;
}
.shown {
  display:inline;
}

/*
Following are the rules I use to complete the effect
*/

.expand, span.footnote small {
  color: #900;
  font-size:95%;
}
a.expand, a.collapse {
  text-decoration:none;
  font-weight:normal;
  font-size:100%;
  color:#900;
  border-bottom: 1px dashed;
  padding-left:12px;
  background: url(/custom/plus.gif) no-repeat 1px;
  cursor:help;
}
a.expand:hover, a.collapse:hover {
  color: #900;
  border-bottom: 1px solid;
}
a.collapse {
  background: url(/custom/minus.gif) no-repeat 1px;
}
span.expand a, span.expand a:hover {
  font-weight:normal;
  color: #900;
}

Explanation (or, skip to the usage instructions)

Function insertFootnotes

Javascript:

function insertFootnotes() {
  if(!document.getElementsByTagName) return; //object detection
  var spans = document.getElementsByTagName('span');
  var noteIndex = 1;
  for(var i=0; i<spans.length; i++) {

This function creates our footnotes. This way, we don't have to type all that footnote code by hand every time we want a footnote. First, we initialize a few variables and loop through all <span> elements in the document.

Javascript:

if(spans[i].className == 'footnote') { //are we dealing with a footnote?
  var note = spans[i];
  var id = 'note-' + noteIndex++; //ID of the footnote <span>
  var idAnchor = id + '-a'; //ID of the footnote <a> (to expand/collapse the note)
  var tmpLinkText; //get the text to be linked

See the comments in the code above.

Javascript:

for(var j=0;j<note.childNodes.length; j++) {
  if(note.childNodes[j].nodeName == '#text') {
    var tmp = note.childNodes[j];
    if(tmp.substringData && tmp.replaceData) { //more testing to prevent errors in bad browsers
      while(true) { //remove trailing spaces
        if(tmp.substringData(tmp.length-1,1) == ' ') {
          tmp.replaceData(tmp.length-1,1,'');
        }
        else {
          break;
        }
      }
    }
    tmpLinkText = tmp.nodeValue;
    break;
  }
}

For each footnote, we're looking for the text that should become a link. We find the first text node that is a child of our footnote <span> and strip out any trailing whitespace in browsers that know how to do it.

Javascript:

var tmpNoteText; //get the text of the footnote
for(var j=0;j<note.childNodes.length;j++) {
  if(note.childNodes[j].nodeName == 'SMALL') {
    tmpNoteText = note.childNodes[j].innerHTML;
    break;
  }
}

Next, we find the text of the footnote. It is in a SMALL tag (this is so that the footnote will still be set apart when your page is viewed without Javascript or your stylesheet; e.g., in your RSS feed).

Javascript:

var okToContinue = (tmpLinkText == '' || tmpNoteText == '') ? false : true;
if(okToContinue) {

Sanity check to make sure we don't destroy something in case there were problems.

Javascript:

note.innerHTML = ''; //clear the span to be safe
var link = '<a href="javascript:expand(\''+idAnchor+'\',\''+id+'\')" id="'+idAnchor+'" title="Click to expand/collapse" class="expand">'+tmpLinkText+'</a>';
var noteText = '<span id="'+id+'" class="hidden"> <span class="expand">'+tmpNoteText+'</span></span>';
note.innerHTML = link + noteText;

Finally, we make our changes to the HTML so that our footnotes look like footnotes. After this, we jump back to the top of our loop and find the next <span class="footnote">.

Function expand

Javascript:

function expand(aID,spanID) {
  if(!document.getElementById) return; //error prevention
  var anchor = document.getElementById(aID);
  var footnote = document.getElementById(spanID);
  footnote.className = (footnote.className == 'shown') ? 'hidden' : 'shown';
  anchor.className = (anchor.className == 'expand') ? 'collapse' : 'expand';
}

This function is called whenever the user clicks on a footnote link. It receives two parameters: the ID of the link and the ID of the footnote itself. Then it simply toggles the CSS classnames. The class hidden sets display: none and class shown sets display: inline. The expand and collapse classes on the links control the display of the icons and take care of switching them.

Usage Instructions

Installation
  1. Put the CSS code either in an external CSS file or in the <head> section of your (X)HTML file.
  2. Customize the CSS to suit your needs. You can easily make your own 9px × 9px expand/collapse boxes, or you can copy mine to your server and use them (please don't steal my bandwidth by linking directly to my images). Here they are: + -.
  3. Put the Javascript code either in an external Javascript file or in the <head> section of your (X)HTML file.
  4. Call insertFootnotes() onload. Here's one way to do it:

    Javascript:

    window.onload = function () {
      insertFootnotes();
      //other onload stuff goes here
    }

Usage

Surround the footnote link text and the footnote itself with <span class="footnote"></span>. Then, surround the footnote text with <small></small> (why? We use <small> so that those who view your page without your CSS code will still see a difference between regular text and footnote text. Also, <small> probably won't be used for any other purpose and cause a conflict.). Perhaps an example will help. This code:

Here's the before-text. <span class="footnote">Link
text <small>(This is the footnote
text.)</small></span> Here's some after text.

And here it is in action:

Here's the before-text. Link text (This is the footnote text.) Here's some after text.

4 Comments »

Comment by TabathaOster

May 18, 2006 @ 9:58 am


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/formatting.php on line 76

Awesome blog. Peace out until next time TabathaOster

Comment by Sulman

March 6, 2007 @ 12:48 pm


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/formatting.php on line 76

That was an excellent explanation and it a very cool idea. Neat blog by the way! The simple, squeaky clean design actually gave me chills (in a good way). Thanks for the help!

Comment by Steve

August 27, 2007 @ 12:37 am


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/formatting.php on line 76

I can't seem to get the script to do anything. I don't think it's seeing my JS file. although another Javascript held in the same file is working just fine (the email scrambler)

My site is frogspot.com/fun/jokes

Comment by Scott Severance

August 27, 2007 @ 2:41 pm


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/public/wp-includes/formatting.php on line 76

@Steve:

The path to your Javascript file is wrong, which is why it isn't working. When I looked at your site, your email scrambler didn't appear to be working, either. As it's in the same Javascript file, that isn't surprising.

RSS feed for comments on this post. TrackBack URI

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

 

Bad Behavior has blocked 152 access attempts in the last 7 days.