+ var range = selection.getRangeAt(i);
+ console.log(i, range.startContainer, range.endContainer);
+
+ // verify if the start/end points make even sense -
+ // they must be inside a x-node (otherwise they will be discarded)
+ // and the x-node must be a main text
+ if(! this.verifyThemeInsertPoint(range.startContainer) ) {
+ window.alert("Motyw nie może się zaczynać w tym miejscu.");
+ return false;
+ }
+
+ if(! this.verifyThemeInsertPoint(range.endContainer) ) {
+ window.alert("Motyw nie może się kończyć w tym miejscu.");
+ return false;
+ }
+
+
+ var date = (new Date()).getTime();
+ var random = Math.floor(4000000000*Math.random());
+ var id = (''+date) + '-' + (''+random);
+
+ var spoint = document.createRange();
+ var epoint = document.createRange();
+
+ spoint.setStart(range.startContainer, range.startOffset);
+ epoint.setStart(range.endContainer, range.endOffset);
+
+ var mtag, btag, etag, errors;
+
+ // insert theme-ref
+ mtag = $('<span></span>');
+ spoint.insertNode(mtag[0]);
+ errors = this.model.updateWithWLML(mtag, '<motyw id="m'+id+'">Nowy Motyw</motyw>');
+ if(errors) {
+ messageCenter.addMessage('error', null, 'Błąd przy dodawaniu motywu :' + errors);
+ return false;
+ }
+
+ // insert theme-begin
+ btag = $('<span></span>');
+ spoint.insertNode(btag[0]);
+ errors = this.model.updateWithWLML(btag, '<begin id="b'+id+'" />');
+ if(errors) {
+ mtag.remove();
+ messageCenter.addMessage('error', null, 'Błąd przy dodawaniu motywu :' + errors);
+ return false;