function on_show_page()
    {
        //we need the global screen column value to beable to have a sidebar in WordPress 2.8
        global $screen_layout_columns;
        global $wpdb;
        $genoptions = get_option('MD_General');
        $config = '';
        if (isset($_GET['config']) && $config == '') {
            $config = $_GET['config'];
            if ($config > $genoptions['numberofmodaldialogs']) {
                $config = 1;
            }
        } else {
            $config = 1;
        }
        if ($_GET['page'] == 'modal-dialog') {
            $pagetitle = __('Modal Dialog General Settings', 'modal-dialog');
            $formvalue = 'save_modal_dialog_general';
            if (isset($_GET['message']) && $_GET['message'] == '1') {
                echo '<div id="message" class="updated fade"><p><strong>' . __('Modal Dialog General Settings Updated', 'modal-dialog') . '</strong></div>';
            }
        } elseif ($_GET['page'] == 'modal-dialog-configurations') {
            $pagetitle = __('Modal Dialog Configurations', 'modal-dialog');
            $formvalue = 'save_modal_dialog_configurations';
            if (isset($_GET['message']) && $_GET['message'] == '1') {
                echo '<div id="message" class="updated fade"><p><strong>' . __('Modal Dialog Configuration Updated', 'modal-dialog') . ' (#' . $config . ')</strong></div>';
            }
        } elseif ($_GET['page'] == 'modal-dialog-faq') {
            $pagetitle = __('Modal Dialog FAQ', 'modal-dialog');
            $formvalue = 'save_modal_dialog_faq';
        }
        $configname = 'MD_PP' . $config;
        $options = get_option($configname);
        if ($options == false) {
            modal_dialog_default_config($config);
            $options = get_option($configname);
        }
        $options = wp_parse_args($options, modal_dialog_default_config(1, 'return'));
        //define some data can be given to each metabox during rendering
        $data['options'] = $options;
        $data['config'] = $config;
        $data['genoptions'] = $genoptions;
        ?>
		<div id="modal-dialog-general" class="wrap">
			<div class='icon32'><img src="<?php 
        echo plugins_url('/icons/ModalDialog32.png', __FILE__);
        ?>
" /></div>
			<h2><?php 
        echo $pagetitle;
        ?>
				<span style='padding-left: 50px'><a href="http://ylefebvre.ca/wordpress-plugins/modal-dialog/" target="modaldialog"><img src="<?php 
        echo plugins_url("/icons/btn_donate_LG.gif", __FILE__);
        ?>
" /></a></span>
			</h2>

			<form action="admin-post.php" method="post" id='mdform' enctype='multipart/form-data'>
				<?php 
        wp_nonce_field('modal-dialog-general');
        ?>
				<?php 
        wp_nonce_field('closedpostboxes', 'closedpostboxesnonce', false);
        ?>
				<?php 
        wp_nonce_field('meta-box-order', 'meta-box-order-nonce', false);
        ?>
				<input type="hidden" name="action" value="<?php 
        echo $formvalue;
        ?>
" />

				<div id="poststuff" class="metabox-holder">
					<div id="post-body" class="has-sidebar">
						<div id="post-body-content" class="has-sidebar-content">
							<?php 
        if ($_GET['page'] == 'modal-dialog') {
            do_meta_boxes($this->pagehooktop, 'normal', $data);
        } elseif ($_GET['page'] == 'modal-dialog-configurations') {
            do_meta_boxes($this->pagehooksettings, 'normal', $data);
        } elseif ($_GET['page'] == 'modal-dialog-faq') {
            do_meta_boxes($this->pagehookfaq, 'normal', $data);
        }
        ?>
						</div>
					</div>
					<br class="clear" />

				</div>
			</form>
		</div>
		<script type="text/javascript">
			//<![CDATA[
			jQuery(document).ready(function ($) {
				// close postboxes that should be closed
				$('.if-js-closed').removeClass('if-js-closed').addClass('closed');
				// postboxes setup
				postboxes.add_postbox_toggles('<?php 
        echo $this->pagehook;
        ?>
');
			});
			//]]>
		</script>

	<?php 
    }
 function modal_dialog_footer($manualdisplay = false)
 {
     global $post;
     $thePostID = $post->ID;
     $display = false;
     wp_reset_query();
     if (isset($_GET['showmodaldialog'])) {
         $display = true;
         $dialogid = $_GET['showmodaldialog'];
     } elseif (!empty($thePostID)) {
         $dialogid = get_post_meta($post->ID, "modal-dialog-id", true);
         if (!empty($dialogid) && $dialogid != 0) {
             $display = true;
         } else {
             $dialogid = 1;
         }
     }
     if ($display == false) {
         $genoptions = get_option('MD_General');
         $genoptions = wp_parse_args($genoptions, modal_dialog_general_default_config('return'));
         for ($counter = 1; $counter <= $genoptions['numberofmodaldialogs']; $counter++) {
             $dialogid = $counter;
             $optionsname = "MD_PP" . $counter;
             $options = get_option($optionsname);
             $options = wp_parse_args($options, modal_dialog_default_config($counter, 'return'));
             if (!empty($options['excludeurlstrings'])) {
                 $exclude_url_list = explode(',', $options['excludeurlstrings']);
                 global $post;
                 if ($exclude_url_list) {
                     foreach ($exclude_url_list as $excluded_string) {
                         $page_address = get_permalink($post->ID);
                         if (false !== strpos($page_address, $excluded_string)) {
                             $display = false;
                             break 2;
                         }
                     }
                 }
             }
             if (!empty($options['excludepages'])) {
                 $exclude_page_list = explode(',', $options['excludepages']);
                 if ($exclude_page_list) {
                     foreach ($exclude_page_list as $excluded_page_id) {
                         if (is_page(intval($excluded_page_id)) || is_single($excluded_page_id)) {
                             $display = false;
                             break 2;
                         }
                     }
                 }
             }
             if ($options['checklogin'] == false || $options['checklogin'] == '' || $options['checklogin'] == true && !is_user_logged_in()) {
                 if (($options['active'] || $manualdisplay) && !is_admin()) {
                     if (in_array($GLOBALS['pagenow'], array('wp-register.php', 'wp-signup.php')) && !$options['showregisterpage']) {
                         $display = false;
                         break;
                     } elseif (in_array($GLOBALS['pagenow'], array('wp-register.php', 'wp-signup.php')) && $options['showregisterpage']) {
                         $display = true;
                         break;
                     } elseif ($options['showfrontpage'] && is_front_page()) {
                         $display = true;
                         break;
                     } elseif (!empty($options['codecondition']) && eval('return ' . stripslashes($options['codecondition']) . ';')) {
                         $display = true;
                         break;
                     } elseif ($options['showfrontpage'] == false && is_front_page()) {
                         $display = false;
                     } elseif ($options['forcepagelist'] == true) {
                         if ($options['pages'] != '') {
                             $pagelist = explode(',', $options['pages']);
                             if ($pagelist) {
                                 foreach ($pagelist as $pageid) {
                                     if (is_page(intval($pageid)) || is_single($pageid)) {
                                         $display = true;
                                         break 2;
                                     } else {
                                         $display = false;
                                     }
                                 }
                             }
                         }
                     } elseif ($options['forcepagelist'] == false && !is_front_page()) {
                         $display = true;
                         break;
                     } elseif ($manualdisplay == true) {
                         $display = true;
                         break;
                     }
                 }
             } else {
                 $display = false;
             }
         }
     }
     if ($display == true && $dialogid != 0) {
         global $wpdb;
         $optionsname = "MD_PP" . $dialogid;
         $options = get_option($optionsname);
         $options = wp_parse_args($options, modal_dialog_default_config($dialogid, 'return'));
         $genoptions = get_option('MD_General');
         $genoptions = wp_parse_args($genoptions, modal_dialog_general_default_config('return'));
         $output = "<!-- Modal Dialog Output -->\n";
         if (isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'fancybox') {
             if ($options['contentlocation'] == 'Inline') {
                 $output .= "<a id=\"inline\" href=\"#data\"></a>\n";
                 $output .= "<div style=\"display:none\"><div id=\"data\" style=\"color:" . $options['textcolor'] . ";background-color:" . $options['backgroundcolor'] . ";width:100%;height:100%\">";
                 $output .= apply_filters('modal_dialog_content', stripslashes($options['dialogtext']));
                 $output .= "</div></div>\n";
             } elseif ($options['contentlocation'] == "URL") {
                 $output .= "<a href='" . $options['contenturl'] . "' class='iframe'></a>\n";
             }
         } else {
             if (!isset($genoptions['popupscript']) || isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'colorbox') {
                 if ($options['contentlocation'] == 'Inline') {
                     $output .= "<a class='inline' href='#inline_content'></a>\n";
                     $output .= "<div style='display:none'>";
                     $output .= "<div id='inline_content' style='padding:10px;color:" . $options['textcolor'] . ";background-color:" . $options['backgroundcolor'] . "'>";
                     $output .= "<div id='inline_replaceable_content'>";
                     $output .= apply_filters('modal_dialog_content', stripslashes($options['dialogtext']));
                     $output .= "</div>";
                     $output .= "</div></div>\n";
                 } elseif ($options['contentlocation'] == "URL") {
                     $output .= "<a href='" . $options['contenturl'] . "' class='iframe'></a>\n";
                 }
             }
         }
         if ($options['sessioncookiename'] != '') {
             $sessioncookiename = $options['sessioncookiename'];
         } else {
             $sessioncookiename = 'modaldialogsession';
         }
         $output .= "<div id='md-content'>\n";
         $output .= "<script type=\"text/javascript\">\n";
         $output .= "function modal_dialog_open() {\n";
         if (isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'fancybox') {
             if ($options['contentlocation'] == 'Inline' || empty($options['contentlocation'])) {
                 $output .= "\tjQuery(\"a#inline\").trigger('click')\n";
             } elseif ($options['contentlocation'] == 'URL') {
                 $output .= "\tjQuery(\"a.iframe\").trigger('click')\n";
             }
         } else {
             if (!isset($genoptions['popupscript']) || isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'colorbox') {
                 if ($options['contentlocation'] == 'Inline' || empty($options['contentlocation'])) {
                     $output .= "\tjQuery(\"a.inline\").trigger('click')\n";
                 } elseif ($options['contentlocation'] == 'URL') {
                     $output .= "\tjQuery(\"a.iframe\").trigger('click')\n";
                 }
             }
         }
         if ($options['manualcookiecreation'] == false) {
             $output .= "\tcookievalue++;\n";
             $output .= "\tjQuery.cookie('" . $options['cookiename'] . "', cookievalue";
             if ($options['cookieduration'] > 0) {
                 $output .= ", { expires: " . $options['cookieduration'] . ", path: '/'}";
             } else {
                 $output .= ", { path: '/' }";
             }
             $output .= ");\n";
         }
         if ($options['oncepersession'] == true) {
             if ($options['manualcookiecreation'] == false) {
                 $output .= "\tjQuery.cookie('" . $sessioncookiename . "', 0, { path: '/' });\n";
             }
         }
         $output .= "}\n";
         if (!isset($genoptions['popupscript']) || isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'colorbox') {
             $output .= "function set_modal_dialog_content( newContent ) {\n";
             $output .= "\tjQuery('#inline_replaceable_content').replaceWith( \"<div id='inline_replaceable_content'>\" + newContent + \"</div>\");\n";
             $output .= "};\n";
             $output .= "function set_modal_dialog_web_site_address( newAddress ) {\n";
             $output .= "\tjQuery('a.iframe').attr( 'href', newAddress );\n";
             $output .= "};\n";
         }
         $output .= "function modal_dialog_close() {\n";
         if (isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'fancybox') {
             $output .= "\tparent.jQuery.fancybox.close();\n";
         } else {
             if (!isset($genoptions['popupscript']) || isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'colorbox') {
                 $output .= "\tjQuery.colorbox.close();\n";
             }
         }
         $output .= "}\n\n";
         $output .= "var cookievalue = jQuery.cookie('" . $options['cookiename'] . "');\n";
         $output .= "if (cookievalue == null) cookievalue = 0;\n";
         if ($options['oncepersession'] == true) {
             $output .= "var sessioncookie = jQuery.cookie('" . $sessioncookiename . "');\n\n";
         }
         $output .= "jQuery(document).ready(function() {\n";
         if (isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'fancybox') {
             if ($options['contentlocation'] == 'Inline' || empty($options['contentlocation'])) {
                 $output .= "jQuery(\"a#inline\").fancybox({\n";
             } elseif ($options['contentlocation'] == 'URL') {
                 $output .= "jQuery(\"a.iframe\").fancybox({\n";
             }
             if ($options['exitmethod'] == 'onlyexitbutton') {
                 $output .= "'hideOnOverlayClick': false,\n";
                 $output .= "'hideOnContentClick': false,\n";
             } elseif ($options['exitmethod'] == 'anywhere') {
                 $output .= "'hideOnOverlayClick': true,\n";
                 $output .= "'hideOnContentClick': false,\n";
             }
             if (true == $options['hideclosebutton']) {
                 $output .= "'enableEscapeButton': false,\n";
             } else {
                 $output .= "'enableEscapeButton': true,\n";
             }
             if (isset($options['ignoreesckey']) && true == $options['ignoreesckey']) {
                 $output .= "'showCloseButton': false,\n";
             } else {
                 $output .= "'showCloseButton': true,\n";
             }
             if ($options['centeronscroll'] == true) {
                 $output .= "'centerOnScroll': true,\n";
             }
             if ($options['hidescrollbars'] == true) {
                 $output .= "'scrolling': 'no',\n";
             }
             if ($options['dialogclosingcallback'] != '') {
                 $output .= "'onClosed': function() {" . $options['dialogclosingcallback'] . "},\n";
             }
             if ($options['autosize'] == true || empty($options['autosize'])) {
                 $output .= "'autoDimensions': true,\n";
             } elseif ($options['autosize'] == false) {
                 $output .= "'autoDimensions': false,\n";
             }
             $output .= "'overlayColor': '" . $options['overlaycolor'] . "',\n";
             $output .= "'width': '" . $options['dialogwidth'] . "',\n";
             $output .= "'height': '" . $options['dialogheight'] . "',\n";
             if ($options['overlayopacity'] == '') {
                 $options['overlayopacity'] = '0.3';
             }
             if (!empty($options['transitionmode'])) {
                 $output .= "\t\ttransitionIn: \"" . $options['transitionmode'] . "\",\n";
                 $output .= "\t\ttransitionOut: \"" . $options['transitionmode'] . "\",\n";
             }
             $output .= "'overlayOpacity': " . $options['overlayopacity'] . "\n";
             $output .= "});\n";
         } else {
             if (!isset($genoptions['popupscript']) || isset($genoptions['popupscript']) && $genoptions['popupscript'] == 'colorbox') {
                 if ($options['contentlocation'] == 'Inline' || empty($options['contentlocation'])) {
                     $output .= "\tjQuery(\"a.inline\").colorbox({\n";
                     $output .= "\t\tinline: true,\n";
                     $output .= "\t\treturnFocus: false,\n";
                 } elseif ($options['contentlocation'] == 'URL') {
                     $output .= "\tjQuery(\"a.iframe\").colorbox({\n";
                     $output .= "\t\tiframe: true,\n";
                     $output .= "\t\treturnFocus: false,\n";
                 }
                 if ($options['exitmethod'] == 'onlyexitbutton') {
                     $output .= "\t\toverlayClose: false,\n";
                 } elseif ($options['exitmethod'] == 'anywhere') {
                     $output .= "\t\toverlayClose: true,\n";
                 }
                 if ($options['hideclosebutton'] == true) {
                     $output .= "\t\tcloseButton: false,\n";
                 } else {
                     $output .= "\t\tcloseButton: true,\n";
                 }
                 if (isset($options['ignoreesckey']) && true == $options['ignoreesckey']) {
                     $output .= "\t\tescKey: false,\n";
                 } else {
                     $output .= "\t\tescKey: true,\n";
                 }
                 if ($options['centeronscroll'] == true) {
                     $output .= "\t\tfixed: true,\n";
                 }
                 if ($options['hidescrollbars'] == true) {
                     $output .= "\t\tscrolling: 'false',\n";
                 }
                 if ($options['dialogclosingcallback'] != '') {
                     $output .= "\t\tonClosed: function() {" . $options['dialogclosingcallback'] . "},\n";
                 }
                 if ($options['autosize'] == true) {
                     $output .= "\t\twidth: '80%',\n";
                     $output .= "\t\theight: '80%',\n";
                 } else {
                     $output .= "\t\twidth: '" . $options['dialogwidth'] . "',\n";
                     $output .= "\t\theight: '" . $options['dialogheight'] . "',\n";
                 }
                 if ($options['sessioncookiename'] != '') {
                     $sessioncookiename = $options['sessioncookiename'];
                 } else {
                     $sessioncookiename = 'modaldialogsession';
                 }
                 if ($options['overlayopacity'] == '') {
                     $options['overlayopacity'] = '0.3';
                 }
                 if ($options['dialogposition'] == 'userposition') {
                     if (!empty($options['topposition'])) {
                         $output .= "\t\ttop: \"" . $options['topposition'] . "\",\n";
                     }
                     if (!empty($options['leftposition'])) {
                         $output .= "\t\tleft: \"" . $options['leftposition'] . "\",\n";
                     }
                     if (!empty($options['rightposition'])) {
                         $output .= "\t\tright: \"" . $options['rightposition'] . "\",\n";
                     }
                     if (!empty($options['bottomposition'])) {
                         $output .= "\t\tbottom: \"" . $options['bottomposition'] . "\",\n";
                     }
                 }
                 if (!empty($options['transitionmode'])) {
                     $output .= "\t\ttransition: \"" . $options['transitionmode'] . "\",\n";
                 }
                 $output .= "\t\toverlayOpacity: " . $options['overlayopacity'] . "\n";
                 $output .= "\t});\n\n";
             }
         }
         if ($options['oncepersession'] == true) {
             $output .= "\tif (sessioncookie == null)\n";
             $output .= "\t{\n";
         }
         if ($options['displayfrequency'] != 1 && $options['displayfrequency'] != '' && $options['showaftercommentposted'] == false) {
             $output .= "\tvar cookiechecksvalue = jQuery.cookie('" . $options['cookiename'] . "_checks');\n";
             $output .= "\tif (cookiechecksvalue == null) cookiechecksvalue = 0;\n";
         }
         $output .= "\tif (cookievalue ";
         if (empty($options['countermode'])) {
             $options['countermode'] = 'timestodisplay';
         }
         if ($options['countermode'] == 'timestodisplay') {
             $output .= ' < ';
         } elseif ($options['countermode'] == 'timesbeforedisplay') {
             $output .= ' > ';
         }
         $output .= $options['numberoftimes'] . ")\n";
         $output .= "\t{\n";
         if ($options['displayfrequency'] != 1 && $options['displayfrequency'] != '' && $options['showaftercommentposted'] == false) {
             $output .= "\t\tcookiechecksvalue++;\n";
             $output .= "\t\tjQuery.cookie('" . $options['cookiename'] . "_checks', cookiechecksvalue";
             if ($options['cookieduration'] > 0) {
                 $output .= ", { expires: " . $options['cookieduration'] . ", path: '/'}";
             } else {
                 $output .= ", { path: '/' }";
             }
             $output .= ");\n";
             $output .= "\t\tif (cookiechecksvalue % " . $options['displayfrequency'] . " == 0) {\n";
         }
         $output .= "\t\tsetTimeout(\n";
         $output .= "\t\t\tfunction(){\n";
         $output .= "\t\t\t\tmodal_dialog_open();\n";
         $output .= "\t\t\t}, " . $options['delay'] . ");\n";
         $output .= "\t};\n";
         if ($options['displayfrequency'] != 1 && $options['displayfrequency'] != '' && $options['showaftercommentposted'] == false) {
             $output .= '}';
         }
         if ($options['oncepersession'] == true) {
             $output .= "\t}\n";
         }
         $output .= "});\n";
         if ($options['autoclose'] == true && $options['autoclosetime'] != 0) {
             $output .= "setTimeout('modal_dialog_close();'," . $options['autoclosetime'] . ");\n";
         }
         $output .= "</script>\n";
         $output .= "</div>\n";
         $output .= "<!-- End of Modal Dialog Output -->\n";
         echo $output;
     }
 }