Prevent client crash if CKEditor is destroyed twice

It's possible to destroy the CKEditor twice if it's part of a dialog.
Once destroy is called indirectly by dialog shell descruction and second
by protocol destroy operation.

Update outdated links to jasmine related files in index.html.

464455: error occors when ckeditor used in tabfolder in dialog
https://bugs.eclipse.org/bugs/show_bug.cgi?id=464455
diff --git a/bundles/org.eclipse.rap.addons.ckeditor/src/resources/handler.js b/bundles/org.eclipse.rap.addons.ckeditor/src/resources/handler.js
index 3dd6cb7..beb6261 100644
--- a/bundles/org.eclipse.rap.addons.ckeditor/src/resources/handler.js
+++ b/bundles/org.eclipse.rap.addons.ckeditor/src/resources/handler.js
@@ -81,9 +81,11 @@
     },
 
     destroy : function() {
-      rap.off( "send", this.onSend );
-      this.editor.destroy();
-      this.element.parentNode.removeChild( this.element );
+      if( this.element.parentNode ) {
+        rap.off( "send", this.onSend );
+        this.editor.destroy();
+        this.element.parentNode.removeChild( this.element );
+      }
     },
 
     layout : function() {
@@ -116,4 +118,4 @@
     }, 0 );
   };
 
-}());
\ No newline at end of file
+}());
diff --git a/tests/org.eclipse.rap.addons.ckeditor.test/js/index.html b/tests/org.eclipse.rap.addons.ckeditor.test/js/index.html
index 9ecf5c4..3224f7b 100644
--- a/tests/org.eclipse.rap.addons.ckeditor.test/js/index.html
+++ b/tests/org.eclipse.rap.addons.ckeditor.test/js/index.html
@@ -2,9 +2,9 @@
 <html>
 <head>
   <title>CKEditor RAP Tests</title>
-  <link rel="stylesheet" type="text/css" href="http://pivotal.github.io/jasmine/lib/jasmine-1.3.1/jasmine.css">
-  <script type="text/javascript" src="http://pivotal.github.io/jasmine/lib/jasmine-1.3.1/jasmine.js"></script>
-  <script type="text/javascript" src="http://pivotal.github.io/jasmine/lib/jasmine-1.3.1/jasmine-html.js"></script>
+  <link rel="stylesheet" type="text/css" href="http://cdnjs.cloudflare.com/ajax/libs/jasmine/1.3.1/jasmine.css">
+  <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jasmine/1.3.1/jasmine.js"></script>
+  <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jasmine/1.3.1/jasmine-html.js"></script>
   <script type="text/javascript" src="rap-mock.js"></script>
   <script type="text/javascript" src="CKEditorMock.js"></script>
   <script type="text/javascript" src="../../../bundles/org.eclipse.rap.addons.ckeditor/src/resources/handler.js"></script>
diff --git a/tests/org.eclipse.rap.addons.ckeditor.test/js/specs/CKEditorSpec.js b/tests/org.eclipse.rap.addons.ckeditor.test/js/specs/CKEditorSpec.js
index 2890130..270bc0e 100644
--- a/tests/org.eclipse.rap.addons.ckeditor.test/js/specs/CKEditorSpec.js
+++ b/tests/org.eclipse.rap.addons.ckeditor.test/js/specs/CKEditorSpec.js
@@ -265,6 +265,13 @@
       expect( editor.editor.destroy ).toHaveBeenCalled();
     } );
 
+    it( "doesn't throw if destroyed twice", function() {
+      spyOn( editor.editor, "destroy" );
+      editor.destroy();
+      editor.destroy();
+      expect( editor.editor.destroy ).not.toThrow();
+    } );
+
   } );
 
-} );
\ No newline at end of file
+} );