Index: /FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/response/UploadResponse.java
===================================================================
--- /FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/response/UploadResponse.java	(revision 2115)
+++ /FCKeditor.Java/trunk/java-core/src/main/java/net/fckeditor/response/UploadResponse.java	(revision 2116)
@@ -134,9 +134,9 @@
 	@Override
 	public String toString() {
-		StringBuffer sb = new StringBuffer(150);
+		StringBuffer sb = new StringBuffer(400);
 		sb.append("<script type=\"text/javascript\">\n");
         // Minified version of the document.domain automatic fix script.
-		// The original script can be found at _dev/domain_fix_template.js
-		sb.append("(function(){var d=document.domain;while (true){try{var A=window.top.opener.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();\n");
+		// The original script can be found at [fckeditor dir]/_dev/domain_fix_template.js
+		sb.append("(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();\n");
 		sb.append("window.parent.OnUploadCompleted(");
 
Index: /FCKeditor.Java/trunk/java-core/src/test/java/net/fckeditor/response/UploadResponseTest.java
===================================================================
--- /FCKeditor.Java/trunk/java-core/src/test/java/net/fckeditor/response/UploadResponseTest.java	(revision 2115)
+++ /FCKeditor.Java/trunk/java-core/src/test/java/net/fckeditor/response/UploadResponseTest.java	(revision 2116)
@@ -29,5 +29,5 @@
 				UploadResponse.SC_INVALID_EXTENSION);
 		String expected = new String("<script type=\"text/javascript\">\n"
-				+ "(function(){var d=document.domain;while (true){try{var A=window.top.opener.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();\n"
+				+ "(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();\n"
 				+ "window.parent.OnUploadCompleted(202);\n</script>");
 		assertEquals(expected, actual.toString());
@@ -38,5 +38,5 @@
 		UploadResponse actual = new UploadResponse(UploadResponse.SC_OK,"/fckeditor-java/userfiles/image/fredck.jpg");
 		String expected = new String("<script type=\"text/javascript\">\n"
-				+ "(function(){var d=document.domain;while (true){try{var A=window.top.opener.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();\n"
+				+ "(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();\n"
 				+ "window.parent.OnUploadCompleted(0,'/fckeditor-java/userfiles/image/fredck.jpg');\n</script>");
 		assertEquals(expected, actual.toString());
@@ -47,5 +47,5 @@
 		UploadResponse actual = new UploadResponse(UploadResponse.SC_RENAMED,"/fckeditor-java/userfiles/image/hacked_php.txt","hacked_php.txt");
 		String expected = new String("<script type=\"text/javascript\">\n"
-				+ "(function(){var d=document.domain;while (true){try{var A=window.top.opener.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();\n"
+				+ "(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();\n"
 				+ "window.parent.OnUploadCompleted(201,'/fckeditor-java/userfiles/image/hacked_php.txt','hacked_php.txt');\n</script>");
 		assertEquals(expected, actual.toString());
@@ -57,5 +57,5 @@
 		actual.setCustomMessage("some error");
 		String expected = new String("<script type=\"text/javascript\">\n"
-				+ "(function(){var d=document.domain;while (true){try{var A=window.top.opener.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();\n"
+				+ "(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();\n"
 				+ "window.parent.OnUploadCompleted(1,'','','some error');\n</script>");
 		assertEquals(expected, actual.toString());
@@ -67,5 +67,5 @@
 		UploadResponse actual = new UploadResponse(UploadResponse.SC_ERROR,null,null,null);
 		String expected = new String("<script type=\"text/javascript\">\n"
-				+ "(function(){var d=document.domain;while (true){try{var A=window.top.opener.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();\n"
+				+ "(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();\n"
 				+ "window.parent.OnUploadCompleted(1,'','','');\n</script>");
 		assertEquals(expected, actual.toString());
