diff --git wp-admin/admin-header.php wp-admin/admin-header.php
index 916b219..6ac2a75 100644
--- wp-admin/admin-header.php
+++ wp-admin/admin-header.php
@@ -47,25 +47,6 @@ if ( is_multisite() )
 wp_enqueue_script('utils');
 
 $admin_body_class = preg_replace('/[^a-z0-9_-]+/i', '-', $hook_suffix);
-?>
-<script type="text/javascript">
-//<![CDATA[
-addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
-var userSettings = {
-		'url': '<?php echo SITECOOKIEPATH; ?>',
-		'uid': '<?php if ( ! isset($current_user) ) $current_user = wp_get_current_user(); echo $current_user->ID; ?>',
-		'time':'<?php echo time() ?>'
-	},
-	ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>',
-	pagenow = '<?php echo $current_screen->id; ?>',
-	typenow = '<?php if ( isset($current_screen->post_type) ) echo $current_screen->post_type; ?>',
-	adminpage = '<?php echo $admin_body_class; ?>',
-	thousandsSeparator = '<?php echo addslashes( $wp_locale->number_format['thousands_sep'] ); ?>',
-	decimalPoint = '<?php echo addslashes( $wp_locale->number_format['decimal_point'] ); ?>',
-	isRtl = <?php echo (int) is_rtl(); ?>;
-//]]>
-</script>
-<?php
 
 if ( in_array( $pagenow, array('post.php', 'post-new.php') ) ) {
 	add_action( 'admin_print_footer_scripts', 'wp_tiny_mce', 25 );
diff --git wp-admin/includes/media.php wp-admin/includes/media.php
index 33e7867..326b8d8 100644
--- wp-admin/includes/media.php
+++ wp-admin/includes/media.php
@@ -315,16 +315,7 @@ if ( ( is_array( $content_func ) && ! empty( $content_func[1] ) && 0 === strpos(
 	|| ( ! is_array( $content_func ) && 0 === strpos( $content_func, 'media' ) ) )
 	wp_enqueue_style( 'media' );
 wp_enqueue_style( 'ie' );
-?>
-<script type="text/javascript">
-//<![CDATA[
-addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
-var userSettings = {'url':'<?php echo SITECOOKIEPATH; ?>','uid':'<?php if ( ! isset($current_user) ) $current_user = wp_get_current_user(); echo $current_user->ID; ?>','time':'<?php echo time(); ?>'};
-var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>', pagenow = 'media-upload-popup', adminpage = 'media-upload-popup',
-isRtl = <?php echo (int) is_rtl(); ?>;
-//]]>
-</script>
-<?php
+
 do_action('admin_enqueue_scripts', 'media-upload-popup');
 do_action('admin_print_styles-media-upload-popup');
 do_action('admin_print_styles');
diff --git wp-admin/includes/template.php wp-admin/includes/template.php
index b221e78..4b89c98 100644
--- wp-admin/includes/template.php
+++ wp-admin/includes/template.php
@@ -1549,26 +1549,6 @@ wp_enqueue_style( 'global' );
 if ( ! $limit_styles )
 	wp_enqueue_style( 'wp-admin' );
 wp_enqueue_style( 'colors' );
-?>
-<script type="text/javascript">
-//<![CDATA[
-addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
-function tb_close(){var win=window.dialogArguments||opener||parent||top;win.tb_remove();}
-var userSettings = {
-		'url': '<?php echo SITECOOKIEPATH; ?>',
-		'uid': '<?php if ( ! isset($current_user) ) $current_user = wp_get_current_user(); echo $current_user->ID; ?>',
-		'time':'<?php echo time() ?>'
-	},
-	ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>',
-	pagenow = '<?php echo $current_screen->id; ?>',
-	typenow = '<?php if ( isset($current_screen->post_type) ) echo $current_screen->post_type; ?>',
-	adminpage = '<?php echo $admin_body_class; ?>',
-	thousandsSeparator = '<?php echo addslashes( $wp_locale->number_format['thousands_sep'] ); ?>',
-	decimalPoint = '<?php echo addslashes( $wp_locale->number_format['decimal_point'] ); ?>',
-	isRtl = <?php echo (int) is_rtl(); ?>;
-//]]>
-</script>
-<?php
 do_action('admin_enqueue_scripts', $hook_suffix);
 do_action("admin_print_styles-$hook_suffix");
 do_action('admin_print_styles');
diff --git wp-admin/press-this.php wp-admin/press-this.php
index 1d826a8..988ed67 100644
--- wp-admin/press-this.php
+++ wp-admin/press-this.php
@@ -316,15 +316,7 @@ die;
 	wp_enqueue_script( 'post' );
 	wp_enqueue_script( 'editor' );
 ?>
-<script type="text/javascript">
-//<![CDATA[
-addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
-var userSettings = {'url':'<?php echo SITECOOKIEPATH; ?>','uid':'<?php if ( ! isset($current_user) ) $current_user = wp_get_current_user(); echo $current_user->ID; ?>','time':'<?php echo time() ?>'};
-var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>', pagenow = 'press-this', isRtl = <?php echo (int) is_rtl(); ?>;
-var photostorage = false;
-//]]>
-</script>
-
+<?php admin_script_init( '', array( 'pagenow' => 'press-this', 'photostorage' => false ) ) ?>
 <?php
 	do_action('admin_print_styles');
 	do_action('admin_print_scripts');
diff --git wp-includes/functions.wp-scripts.php wp-includes/functions.wp-scripts.php
index af2055d..bf842c8 100644
--- wp-includes/functions.wp-scripts.php
+++ wp-includes/functions.wp-scripts.php
@@ -144,4 +144,4 @@ function wp_script_is( $handle, $list = 'queue' ) {
 		return true;
 
 	return $query;
-}
+}
\ No newline at end of file
diff --git wp-includes/script-loader.php wp-includes/script-loader.php
index ddfcaeb..b69ed5c 100644
--- wp-includes/script-loader.php
+++ wp-includes/script-loader.php
@@ -775,6 +775,80 @@ function print_admin_styles() {
 	return $wp_styles->done;
 }
 
+function admin_addLoadEvent() {
+	?>
+	addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
+	<?php
+}
+
+function admin_script_globals() {
+	$current_screen = get_current_screen();
+	$current_user = wp_get_current_user();
+	?>
+	function tb_close(){var win=window.dialogArguments||opener||parent||top;win.tb_remove();}
+	var userSettings = {
+			'url': '<?php echo SITECOOKIEPATH; ?>',
+			'uid': '<?php echo $current_user->ID; ?>',
+			'time':'<?php echo time() ?>'
+		},
+		ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>',
+		pagenow = '<?php echo $current_screen->id; ?>',
+		typenow = '<?php if ( isset($current_screen->post_type) ) echo $current_screen->post_type; ?>',
+		adminpage = '<?php echo $admin_body_class; ?>',
+		thousandsSeparator = '<?php echo addslashes( $wp_locale->number_format['thousands_sep'] ); ?>',
+		decimalPoint = '<?php echo addslashes( $wp_locale->number_format['decimal_point'] ); ?>',
+		isRtl = <?php echo (int) is_rtl(); ?>;
+	<?php
+}
+
+function admin_script_init( $hook_suffix = '', $set_globals = array() ) {
+	global $wp_locale;
+	$current_user = wp_get_current_user();
+	$current_screen = get_current_screen();
+	$admin_body_class = preg_replace('/[^a-z0-9_-]+/i', '-', $hook_suffix);
+	$defaults = array(
+		'userSettings' => array(
+			'url' => SITECOOKIEPATH,
+			'uid' => $current_user->ID,
+			'time' => time(),
+		),
+		'ajaxurl' => admin_url( 'admin-ajax.php' ),
+		'adminpage' => $admin_body_class,
+		'thousandsSeparator' => addslashes( $wp_locale->number_format['thousands_sep'] ),
+		'decimalPoint' => addslashes( $wp_locale->number_format['decimal_point'] ),
+		'isRtl' => (int) is_rtl(),
+	);
+	
+	if ( $current_screen ) {
+		$defaults['pagenow'] = $current_screen->id;
+		if ( isset( $current_screen->post_type ) ) {
+			$defaults['typenow'] = $current_screen->post_type;
+		}
+	}
+	
+	$globals = wp_parse_args( $set_globals, $defaults );
+	
+	?>
+	<script type="text/javascript">
+	//<![CDATA[
+	<?php admin_addLoadEvent(); ?>
+	function tb_close(){var win=window.dialogArguments||opener||parent||top;win.tb_remove();}
+	<?php
+		$outputs = array();
+		echo 'var ';
+		foreach ( $globals as $name => $value ) {
+			$value = json_encode( $value );
+			
+			$outputs[] = "{$name} = {$value}";
+		}
+		
+		echo implode( ",\n\t", $outputs ) . ";\n";
+	?>
+	//]]>
+	</script>
+	<?php
+}
+
 function script_concat_settings() {
 	global $concatenate_scripts, $compress_scripts, $compress_css;
 
@@ -805,3 +879,5 @@ add_filter( 'print_scripts_array', 'wp_prototype_before_jquery' );
 
 add_action( 'wp_default_styles', 'wp_default_styles' );
 add_filter( 'style_loader_src', 'wp_style_loader_src', 10, 2 );
+
+add_action( 'admin_enqueue_scripts', 'admin_script_init', 1, 1 );
\ No newline at end of file
diff --git wp-login.php wp-login.php
index 0ae7b85..2e85f81 100644
--- wp-login.php
+++ wp-login.php
@@ -146,7 +146,7 @@ function wp_shake_js() {
 		return;
 ?>
 <script type="text/javascript">
-addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
+<?php admin_addLoadEvent(); ?>
 function s(id,pos){g(id).left=pos+'px';}
 function g(id){return document.getElementById(id).style;}
 function shake(id,a,d){c=a.shift();s(id,c);if(a.length>0){setTimeout(function(){shake(id,a,d);},d);}else{try{g(id).position='static';wp_attempt_focus();}catch(e){}}}
