text: ﻿/*
   Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
   For licensing, see LICENSE.html or http://ckeditor.com/license
  */
  CKEDITOR.dialog.add("link", function (n) {
      var p, q;
  
      function r(a) {
          return a.replace(/'/g, "\\$&")
      }
      function t(a) {
          var g, c = p,
              d, e;
          g = [q, "("];
          for (var b = 0; b < c.length; b++) d = c[b].toLowerCase(), e = a[d], 0 < b && g.push(","), g.push("'", e ? r(encodeURIComponent(a[d])) : "", "'");
          g.push(")");
          return g.join("")
      }
      function u(a) {
          for (var g, c = a.length, d = [], e = 0; e < c; e++) g = a.charCodeAt(e), d.push(g);
          return "String.fromCharCode(" + d.join(",") + ")"
      }
      function v(a) {
          return (a = a.getAttribute("class")) ? a.replace(/\s*(?:cke_anchor_empty|cke_anchor)(?:\s*$)?/g,
              "") : ""
      }
      var w = CKEDITOR.plugins.link,
          s = function () {
              var a = this.getDialog(),
                  g = a.getContentElement("target", "popupFeatures"),
                  a = a.getContentElement("target", "linkTargetName"),
                  c = this.getValue();
              if (g && a) switch (g = g.getElement(), g.hide(), a.setValue(""), c) {
                  case "frame":
                      a.setLabel(n.lang.link.targetFrameName);
                      a.getElement().show();
                      break;
                  case "popup":
                      g.show();
                      a.setLabel(n.lang.link.targetPopupName);
                      a.getElement().show();
                      break;
                  default:
                      a.setValue(c), a.getElement().hide()
              }
          }, x = /^javascript:/,
          y = /^mailto:([^?]+)(?:\?(.+))?$/,
          z = /subject=([^;?:@&=$,\/]*)/,
          A = /body=([^;?:@&=$,\/]*)/,
          B = /^#(.*)$/,
          C = /^((?:http|https|ftp|news):\/\/)?(.*)$/,
          D = /^(_(?:self|top|parent|blank))$/,
          E = /^javascript:void\(location\.href='mailto:'\+String\.fromCharCode\(([^)]+)\)(?:\+'(.*)')?\)$/,
          F = /^javascript:([^(]+)\(([^)]+)\)$/,
          G = /\s*window.open\(\s*this\.href\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*;\s*return\s*false;*\s*/,
          H = /(?:^|,)([^=]+)=(\d+|yes|no)/gi,
          I = function (a, g) {
              var c = g && (g.data("cke-saved-href") || g.getAttribute("href")) || "",
                  d, e, b = {};
              c.match(x) && ("encode" == o ? c = c.replace(E, function (a, c, b) {
                  return "mailto:" + String.fromCharCode.apply(String, c.split(",")) + (b && b.replace(/\\'/g, "'"))
              }) : o && c.replace(F, function (a, c, d) {
                  if (c == q) {
                      b.type = "email";
                      for (var a = b.email = {}, c = /(^')|('$)/g, d = d.match(/[^,\s]+/g), e = d.length, g, f, h = 0; h < e; h++) g = decodeURIComponent, f = d[h].replace(c, "").replace(/\\'/g, "'"), f = g(f), g = p[h].toLowerCase(), a[g] = f;
                      a.address = [a.name, a.domain].join("@")
                  }
              }));
              if (!b.type) if (d = c.match(B)) b.type = "anchor", b.anchor = {}, b.anchor.name = b.anchor.id =
                          d[1];
              else if (d = c.match(y)) {
                  e = c.match(z);
                  c = c.match(A);
                  b.type = "email";
                  var f = b.email = {};
                  f.address = d[1];
                  e && (f.subject = decodeURIComponent(e[1]));
                  c && (f.body = decodeURIComponent(c[1]))
              } else c && (e = c.match(C)) ? (b.type = "url", b.url = {}, b.url.protocol = e[1], b.url.url = e[2]) : b.type = "url"; if (g) {
                  d = g.getAttribute("target");
                  b.target = {};
                  b.adv = {};
                  if (d) d.match(D) ? b.target.type = b.target.name = d : (b.target.type = "frame", b.target.name = d);
                  else if (d = (d = g.data("cke-pa-onclick") || g.getAttribute("onclick")) && d.match(G)) {
                      b.target.type =
                          "popup";
                      for (b.target.name = d[1]; c = H.exec(d[2]) ;) ("yes" == c[2] || "1" == c[2]) && !(c[1] in {
                          height: 1,
                          width: 1,
                          top: 1,
                          left: 1
                      }) ? b.target[c[1]] = !0 : isFinite(c[2]) && (b.target[c[1]] = c[2])
                  }
                  d = function (a, c) {
                      var d = g.getAttribute(c);
                      null !== d && (b.adv[a] = d || "")
                  };
                  d("advId", "id");
                  d("advLangDir", "dir");
                  d("advAccessKey", "accessKey");
                  b.adv.advName = g.data("cke-saved-name") || g.getAttribute("name") || "";
                  d("advLangCode", "lang");
                  d("advTabIndex", "tabindex");
                  d("advTitle", "title");
                  d("advContentType", "type");
                  CKEDITOR.plugins.link.synAnchorSelector ?
                      b.adv.advCSSClasses = v(g) : d("advCSSClasses", "class");
                  d("advCharset", "charset");
                  d("advStyles", "style");
                  d("advRel", "rel")
              }
              d = b.anchors = [];
              var h;
              if (CKEDITOR.plugins.link.emptyAnchorFix) {
                  f = a.document.getElementsByTag("a");
                  c = 0;
                  for (e = f.count() ; c < e; c++) if (h = f.getItem(c), h.data("cke-saved-name") || h.hasAttribute("name")) d.push({
                      name: h.data("cke-saved-name") || h.getAttribute("name"),
                      id: h.getAttribute("id")
                  })
              } else {
                  f = new CKEDITOR.dom.nodeList(a.document.$.anchors);
                  c = 0;
                  for (e = f.count() ; c < e; c++) h = f.getItem(c), d[c] = {
                      name: h.getAttribute("name"),
                      id: h.getAttribute("id")
                  }
              } if (CKEDITOR.plugins.link.fakeAnchor) {
                  f = a.document.getElementsByTag("img");
                  c = 0;
                  for (e = f.count() ; c < e; c++) (h = CKEDITOR.plugins.link.tryRestoreFakeAnchor(a, f.getItem(c))) && d.push({
                      name: h.getAttribute("name"),
                      id: h.getAttribute("id")
                  })
              }
              this._.selectedElement = g;
              return b
          }, j = function (a) {
              a.target && this.setValue(a.target[this.id] || "")
          }, k = function (a) {
              a.adv && this.setValue(a.adv[this.id] || "")
          }, l = function (a) {
              a.target || (a.target = {});
              a.target[this.id] = this.getValue() ||
                  ""
          }, m = function (a) {
              a.adv || (a.adv = {});
              a.adv[this.id] = this.getValue() || ""
          }, o = n.config.emailProtection || "";
      o && "encode" != o && (q = p = void 0, o.replace(/^([^(]+)\(([^)]+)\)$/, function (a, b, c) {
          q = b;
          p = [];
          c.replace(/[^,\s]+/g, function (a) {
              p.push(a)
          })
      }));
      var i = n.lang.common,
          b = n.lang.link;
      return {
          title: b.title,
          minWidth: 350,
          minHeight: 230,
          contents: [{
              id: "info",
              label: b.info,
              title: b.info,
              elements: [{
                  id: "linkType",
                  type: "select",
                  label: b.type,
                  "default": "url",
                  items: [
                      [b.toUrl, "url"],
                      [b.toAnchor, "anchor"],
                      [b.toEmail, "email"]
                  ],
                  onChange: function () {
                      var a =
                          this.getDialog(),
                          b = ["urlOptions", "anchorOptions", "emailOptions"],
                          c = this.getValue(),
                          d = a.definition.getContents("upload"),
                          d = d && d.hidden;
                      if (c == "url") {
                          n.config.linkShowTargetTab && a.showPage("target");
                          d || a.showPage("upload")
                      } else {
                          a.hidePage("target");
                          d || a.hidePage("upload")
                      }
                      for (d = 0; d < b.length; d++) {
                          var e = a.getContentElement("info", b[d]);
                          if (e) {
                              e = e.getElement().getParent().getParent();
                              b[d] == c + "Options" ? e.show() : e.hide()
                          }
                      }
                      a.layout()
                  },
                  setup: function (a) {
                      a.type && this.setValue(a.type)
                  },
                  commit: function (a) {
                      a.type =
                          this.getValue()
                  }
              }, {
                  type: "vbox",
                  id: "urlOptions",
                  children: [{
                      type: "hbox",
                      widths: ["25%", "75%"],
                      children: [{
                          id: "protocol",
                          type: "select",
                          label: i.protocol,
                          "default": "http://",
                          items: [
                              ["http://‎", "http://"],
                              ["https://‎", "https://"],
                              ["ftp://‎", "ftp://"],
                              ["news://‎", "news://"],
                              [b.other, ""]
                          ],
                          setup: function (a) {
                              a.url && this.setValue(a.url.protocol || "")
                          },
                          commit: function (a) {
                              if (!a.url) a.url = {};
                              a.url.protocol = this.getValue()
                          }
                      }, {
                          type: "text",
                          id: "url",
                          label: i.url,
                          required: !0,
                          onLoad: function () {
                              this.allowOnChange = true
                          },
                          onKeyUp: function () {
                              this.allowOnChange =
                                  false;
                              var a = this.getDialog().getContentElement("info", "protocol"),
                                  b = this.getValue(),
                                  c = /^((javascript:)|[#\/\.\?])/i,
                                  d = /^(http|https|ftp|news):\/\/(?=.)/i.exec(b);
                              if (d) {
                                  this.setValue(b.substr(d[0].length));
                                  a.setValue(d[0].toLowerCase())
                              } else c.test(b) && a.setValue("");
                              this.allowOnChange = true
                          },
                          onChange: function () {
                              if (this.allowOnChange) this.onKeyUp()
                          },
                          validate: function () {
                              var a = this.getDialog();
                              if (a.getContentElement("info", "linkType") && a.getValueOf("info", "linkType") != "url") return true;
                              if (/javascript\:/.test(this.getValue())) {
                                  alert(i.invalidValue);
                                  return false
                              }
                              return this.getDialog().fakeObj ? true : CKEDITOR.dialog.validate.notEmpty(b.noUrl).apply(this)
                          },
                          setup: function (a) {
                              this.allowOnChange = false;
                              a.url && this.setValue(a.url.url);
                              this.allowOnChange = true
                          },
                          commit: function (a) {
                              this.onChange();
                              if (!a.url) a.url = {};
                              a.url.url = this.getValue();
                              this.allowOnChange = false
                          }
                      }
                      ],
                      setup: function () {
                          this.getDialog().getContentElement("info", "linkType") || this.getElement().show()
                      }
                  }, {
                      type: "button", id: "browse", label: i.browseServer,
                      onLoad: function () {
                          $(this.getInputElement().$).attr("href", null).click({ button: this }, function (e) {
                              var mediaSelector = new MediaSelector({
                                  onSelected: function (info) {
                                      e.data.button.getDialog().setValueOf('info', 'url', info.Url);
                                      $.featherlight.close();
                                  }
                              });
                              mediaSelector.show($);
                          });
                      }
                  }
                  ]
              }, {
                  type: "vbox",
                  id: "anchorOptions",
                  width: 260,
                  align: "center",
                  padding: 0,
                  children: [{
                      type: "fieldset",
                      id: "selectAnchorText",
                      label: b.selectAnchor,
                      setup: function (a) {
                          a.anchors.length > 0 ? this.getElement().show() : this.getElement().hide()
                      },
                      children: [{
                          type: "hbox",
                          id: "selectAnchor",
                          children: [{
                              type: "select",
                              id: "anchorName",
                              "default": "",
                              label: b.anchorName,
                              style: "width: 100%;",
                              items: [
                                  [""]
                              ],
                              setup: function (a) {
                                  this.clear();
                                  this.add("");
                                  for (var b = 0; b < a.anchors.length; b++) a.anchors[b].name && this.add(a.anchors[b].name);
                                  a.anchor &&
                                      this.setValue(a.anchor.name);
                                  (a = this.getDialog().getContentElement("info", "linkType")) && a.getValue() == "email" && this.focus()
                              },
                              commit: function (a) {
                                  if (!a.anchor) a.anchor = {};
                                  a.anchor.name = this.getValue()
                              }
                          }, {
                              type: "select",
                              id: "anchorId",
                              "default": "",
                              label: b.anchorId,
                              style: "width: 100%;",
                              items: [
                                  [""]
                              ],
                              setup: function (a) {
                                  this.clear();
                                  this.add("");
                                  for (var b = 0; b < a.anchors.length; b++) a.anchors[b].id && this.add(a.anchors[b].id);
                                  a.anchor && this.setValue(a.anchor.id)
                              },
                              commit: function (a) {
                                  if (!a.anchor) a.anchor = {};
                                  a.anchor.id =
                                      this.getValue()
                              }
                          }
                          ],
                          setup: function (a) {
                              a.anchors.length > 0 ? this.getElement().show() : this.getElement().hide()
                          }
                      }
                      ]
                  }, {
                      type: "html",
                      id: "noAnchors",
                      style: "text-align: center;",
                      html: '<div role="note" tabIndex="-1">' + CKEDITOR.tools.htmlEncode(b.noAnchors) + "</div>",
                      focus: !0,
                      setup: function (a) {
                          a.anchors.length < 1 ? this.getElement().show() : this.getElement().hide()
                      }
                  }
                  ],
                  setup: function () {
                      this.getDialog().getContentElement("info", "linkType") || this.getElement().hide()
                  }
              }, {
                  type: "vbox",
                  id: "emailOptions",
                  padding: 1,
                  children: [{
                      type: "text",
                      id: "emailAddress",
                      label: b.emailAddress,
                      required: !0,
                      validate: function () {
                          var a = this.getDialog();
                          return !a.getContentElement("info", "linkType") || a.getValueOf("info", "linkType") != "email" ? true : CKEDITOR.dialog.validate.notEmpty(b.noEmail).apply(this)
                      },
                      setup: function (a) {
                          a.email && this.setValue(a.email.address);
                          (a = this.getDialog().getContentElement("info", "linkType")) && a.getValue() == "email" && this.select()
                      },
                      commit: function (a) {
                          if (!a.email) a.email = {};
                          a.email.address = this.getValue()
                      }
                  }, {
                      type: "text",
                      id: "emailSubject",
                      label: b.emailSubject,
                      setup: function (a) {
                          a.email && this.setValue(a.email.subject)
                      },
                      commit: function (a) {
                          if (!a.email) a.email = {};
                          a.email.subject = this.getValue()
                      }
                  }, {
                      type: "textarea",
                      id: "emailBody",
                      label: b.emailBody,
                      rows: 3,
                      "default": "",
                      setup: function (a) {
                          a.email && this.setValue(a.email.body)
                      },
                      commit: function (a) {
                          if (!a.email) a.email = {};
                          a.email.body = this.getValue()
                      }
                  }
                  ],
                  setup: function () {
                      this.getDialog().getContentElement("info", "linkType") || this.getElement().hide()
                  }
              }
              ]
          }, {
              id: "target",
              requiredContent: "a[target]",
              label: b.target,
              title: b.target,
              elements: [{
                  type: "hbox",
                  widths: ["50%", "50%"],
                  children: [{
                      type: "select",
                      id: "linkTargetType",
                      label: i.target,
                      "default": "notSet",
                      style: "width : 100%;",
                      items: [
                          [i.notSet, "notSet"],
                          [b.targetFrame, "frame"],
                          [b.targetPopup, "popup"],
                          [i.targetNew, "_blank"],
                          [i.targetTop, "_top"],
                          [i.targetSelf, "_self"],
                          [i.targetParent, "_parent"]
                      ],
                      onChange: s,
                      setup: function (a) {
                          a.target && this.setValue(a.target.type || "notSet");
                          s.call(this)
                      },
                      commit: function (a) {
                          if (!a.target) a.target = {};
                          a.target.type = this.getValue()
                      }
                  }, {
                      type: "text",
                      id: "linkTargetName",
                      label: b.targetFrameName,
                      "default": "",
                      setup: function (a) {
                          a.target && this.setValue(a.target.name)
                      },
                      commit: function (a) {
                          if (!a.target) a.target = {};
                          a.target.name = this.getValue().replace(/\W/gi, "")
                      }
                  }
                  ]
              }, {
                  type: "vbox",
                  width: "100%",
                  align: "center",
                  padding: 2,
                  id: "popupFeatures",
                  children: [{
                      type: "fieldset",
                      label: b.popupFeatures,
                      children: [{
                          type: "hbox",
                          children: [{
                              type: "checkbox",
                              id: "resizable",
                              label: b.popupResizable,
                              setup: j,
                              commit: l
                          }, {
                              type: "checkbox",
                              id: "status",
                              label: b.popupStatusBar,
                              setup: j,
                              commit: l
                          }
                          ]
                      }, {
                          type: "hbox",
                          children: [{
                              type: "checkbox",
                              id: "location",
                              label: b.popupLocationBar,
                              setup: j,
                              commit: l
                          }, {
                              type: "checkbox",
                              id: "toolbar",
                              label: b.popupToolbar,
                              setup: j,
                              commit: l
                          }
                          ]
                      }, {
                          type: "hbox",
                          children: [{
                              type: "checkbox",
                              id: "menubar",
                              label: b.popupMenuBar,
                              setup: j,
                              commit: l
                          }, {
                              type: "checkbox",
                              id: "fullscreen",
                              label: b.popupFullScreen,
                              setup: j,
                              commit: l
                          }
                          ]
                      }, {
                          type: "hbox",
                          children: [{
                              type: "checkbox",
                              id: "scrollbars",
                              label: b.popupScrollBars,
                              setup: j,
                              commit: l
                          }, {
                              type: "checkbox",
                              id: "dependent",
                              label: b.popupDependent,
                              setup: j,
                              commit: l
                          }
                          ]
                      }, {
                          type: "hbox",
                          children: [{
                              type: "text",
                              widths: ["50%", "50%"],
                              labelLayout: "horizontal",
                              label: i.width,
                              id: "width",
                              setup: j,
                              commit: l
                          }, {
                              type: "text",
                              labelLayout: "horizontal",
                              widths: ["50%", "50%"],
                              label: b.popupLeft,
                              id: "left",
                              setup: j,
                              commit: l
                          }
                          ]
                      }, {
                          type: "hbox",
                          children: [{
                              type: "text",
                              labelLayout: "horizontal",
                              widths: ["50%", "50%"],
                              label: i.height,
                              id: "height",
                              setup: j,
                              commit: l
                          }, {
                              type: "text",
                              labelLayout: "horizontal",
                              label: b.popupTop,
                              widths: ["50%", "50%"],
                              id: "top",
                              setup: j,
                              commit: l
                          }
                          ]
                      }
                      ]
                  }
                  ]
              }
              ]
          }, {
              id: "upload",
              label: b.upload,
              title: b.upload,
              hidden: !0,
              filebrowser: "uploadButton",
              elements: [{
                  type: "file",
                  id: "upload",
                  label: i.upload,
                  style: "height:40px",
                  size: 29
              }, {
                  type: "fileButton",
                  id: "uploadButton",
                  label: i.uploadSubmit,
                  filebrowser: "info:url",
                  "for": ["upload", "upload"]
              }
              ]
          }, {
              id: "advanced",
              label: b.advanced,
              title: b.advanced,
              elements: [{
                  type: "vbox",
                  padding: 1,
                  children: [{
                      type: "hbox",
                      widths: ["45%", "35%", "20%"],
                      children: [{
                          type: "text",
                          id: "advId",
                          requiredContent: "a[id]",
                          label: b.id,
                          setup: k,
                          commit: m
                      }, {
                          type: "select",
                          id: "advLangDir",
                          requiredContent: "a[dir]",
                          label: b.langDir,
                          "default": "",
                          style: "width:110px",
                          items: [
                              [i.notSet, ""],
                              [b.langDirLTR, "ltr"],
                              [b.langDirRTL, "rtl"]
                          ],
                          setup: k,
                          commit: m
                      }, {
                          type: "text",
                          id: "advAccessKey",
                          requiredContent: "a[accesskey]",
                          width: "80px",
                          label: b.acccessKey,
                          maxLength: 1,
                          setup: k,
                          commit: m
                      }
                      ]
                  }, {
                      type: "hbox",
                      widths: ["45%", "35%", "20%"],
                      children: [{
                          type: "text",
                          label: b.name,
                          id: "advName",
                          requiredContent: "a[name]",
                          setup: k,
                          commit: m
                      }, {
                          type: "text",
                          label: b.langCode,
                          id: "advLangCode",
                          requiredContent: "a[lang]",
                          width: "110px",
                          "default": "",
                          setup: k,
                          commit: m
                      }, {
                          type: "text",
                          label: b.tabIndex,
                          id: "advTabIndex",
                          requiredContent: "a[tabindex]",
                          width: "80px",
                          maxLength: 5,
                          setup: k,
                          commit: m
                      }
                      ]
                  }
                  ]
              }, {
                  type: "vbox",
                  padding: 1,
                  children: [{
                      type: "hbox",
                      widths: ["45%", "55%"],
                      children: [{
                          type: "text",
                          label: b.advisoryTitle,
                          requiredContent: "a[title]",
                          "default": "",
                          id: "advTitle",
                          setup: k,
                          commit: m
                      }, {
                          type: "text",
                          label: b.advisoryContentType,
                          requiredContent: "a[type]",
                          "default": "",
                          id: "advContentType",
                          setup: k,
                          commit: m
                      }
                      ]
                  }, {
                      type: "hbox",
                      widths: ["45%", "55%"],
                      children: [{
                          type: "text",
                          label: b.cssClasses,
                          requiredContent: "a(cke-xyz)",
                          "default": "",
                          id: "advCSSClasses",
                          setup: k,
                          commit: m
                      }, {
                          type: "text",
                          label: b.charset,
                          requiredContent: "a[charset]",
                          "default": "",
                          id: "advCharset",
                          setup: k,
                          commit: m
                      }
                      ]
                  }, {
                      type: "hbox",
                      widths: ["45%", "55%"],
                      children: [{
                          type: "text",
                          label: b.rel,
                          requiredContent: "a[rel]",
                          "default": "",
                          id: "advRel",
                          setup: k,
                          commit: m
                      }, {
                          type: "text",
                          label: b.styles,
                          requiredContent: "a{cke-xyz}",
                          "default": "",
                          id: "advStyles",
                          validate: CKEDITOR.dialog.validate.inlineStyle(n.lang.common.invalidInlineStyle),
                          setup: k,
                          commit: m
                      }
                      ]
                  }
                  ]
              }
              ]
          }
          ],
          onShow: function () {
              var a = this.getParentEditor(),
                  b = a.getSelection(),
                  c = null;
              (c = w.getSelectedLink(a)) && c.hasAttribute("href") ? b.selectElement(c) : c = null;
              this.setupContent(I.apply(this, [a, c]))
          },
          onOk: function () {
              var a = {}, b = [],
                  c = {}, d = this.getParentEditor();
              this.commitContent(c);
              switch (c.type || "url") {
                  case "url":
                      var e = c.url && c.url.protocol != void 0 ? c.url.protocol : "http://",
                          i = c.url && CKEDITOR.tools.trim(c.url.url) || "";
                      a["data-cke-saved-href"] = i.indexOf("/") === 0 ? i : e + i;
                      break;
                  case "anchor":
                      e = c.anchor && c.anchor.id;
                      a["data-cke-saved-href"] = "#" + (c.anchor && c.anchor.name || e || "");
                      break;
                  case "email":
                      var f = c.email,
                          e = f.address;
                      switch (o) {
                          case "":
                          case "encode":
                              var i = encodeURIComponent(f.subject || ""),
                                  h = encodeURIComponent(f.body || ""),
                                  f = [];
                              i && f.push("subject=" + i);
                              h && f.push("body=" + h);
                              f = f.length ? "?" + f.join("&") : "";
                              if (o == "encode") {
                                  e = ["javascript:void(location.href='mailto:'+", u(e)];
                                  f && e.push("+'", r(f), "'");
                                  e.push(")")
                              } else e = ["mailto:", e, f];
                              break;
                          default:
                              e = e.split("@", 2);
                              f.name = e[0];
                              f.domain = e[1];
                              e = ["javascript:", t(f)]
                      }
                      a["data-cke-saved-href"] =
                          e.join("")
              }
              if (c.target) if (c.target.type == "popup") {
                  for (var e = ["window.open(this.href, '", c.target.name || "", "', '"], j = ["resizable", "status", "location", "toolbar", "menubar", "fullscreen", "scrollbars", "dependent"], i = j.length, f = function (a) {
                          c.target[a] && j.push(a + "=" + c.target[a])
                  }, h = 0; h < i; h++) j[h] = j[h] + (c.target[j[h]] ? "=yes" : "=no");
                  f("width");
                  f("left");
                  f("height");
                  f("top");
                  e.push(j.join(","), "'); return false;");
                  a["data-cke-pa-onclick"] = e.join("");
                  b.push("target")
              } else {
                  c.target.type != "notSet" && c.target.name ?
                      a.target = c.target.name : b.push("target");
                  b.push("data-cke-pa-onclick", "onclick")
              }
              if (c.adv) {
                  e = function (d, e) {
                      var f = c.adv[d];
                      f ? a[e] = f : b.push(e)
                  };
                  e("advId", "id");
                  e("advLangDir", "dir");
                  e("advAccessKey", "accessKey");
                  c.adv.advName ? a.name = a["data-cke-saved-name"] = c.adv.advName : b = b.concat(["data-cke-saved-name", "name"]);
                  e("advLangCode", "lang");
                  e("advTabIndex", "tabindex");
                  e("advTitle", "title");
                  e("advContentType", "type");
                  e("advCSSClasses", "class");
                  e("advCharset", "charset");
                  e("advStyles", "style");
                  e("advRel", "rel")
              }
              e =
                  d.getSelection();
              a.href = a["data-cke-saved-href"];
              if (this._.selectedElement) {
                  d = this._.selectedElement;
                  i = d.data("cke-saved-href");
                  f = d.getHtml();
                  d.setAttributes(a);
                  d.removeAttributes(b);
                  c.adv && (c.adv.advName && CKEDITOR.plugins.link.synAnchorSelector) && d.addClass(d.getChildCount() ? "cke_anchor" : "cke_anchor_empty");
                  if (i == f || c.type == "email" && f.indexOf("@") != -1) d.setHtml(c.type == "email" ? c.email.address : a["data-cke-saved-href"]);
                  e.selectElement(d);
                  delete this._.selectedElement
              } else {
                  e = e.getRanges(1)[0];
                  if (e.collapsed) {
                      d =
                          new CKEDITOR.dom.text(c.type == "email" ? c.email.address : a["data-cke-saved-href"], d.document);
                      e.insertNode(d);
                      e.selectNodeContents(d)
                  }
                  d = new CKEDITOR.style({
                      element: "a",
                      attributes: a
                  });
                  d.type = CKEDITOR.STYLE_INLINE;
                  d.applyToRange(e);
                  e.select()
              }
          },
          onLoad: function () {
              n.config.linkShowAdvancedTab || this.hidePage("advanced");
              n.config.linkShowTargetTab || this.hidePage("target")
          },
          onFocus: function () {
              var a = this.getContentElement("info", "linkType");
              if (a && a.getValue() == "url") {
                  a = this.getContentElement("info", "url");
                  a.select()
              }
          }
      }
  });