Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
function IdPSelectLanguages() {
this.langBundles = {
en: {
"fatal.divMissing": '
specified as "insertAtDiv" could not be located in the HTML',
"fatal.noXMLHttpRequest": "Browser does not support XMLHttpRequest, unable to load IdP selection data",
"fatal.wrongProtocol": 'Policy supplied to DS was not "urn:oasis:names:tc:SAML:profiles:SSO:idpdiscovery-protocol:single"',
"fatal.wrongEntityId": "entityId supplied by SP did not match configuration",
"fatal.noData": "Metadata download returned no data",
"fatal.loadFailed": "Failed to download metadata from ",
"fatal.noparms": "No parameters to discovery session and no defaultReturn parameter configured",
"fatal.noReturnURL": "No URL return parameter provided",
"fatal.badProtocol": "Return parameter must start with https:// or http://",
"fatal.badReturnString": "Return parameter is not whitelisted",
"idpPreferred.label": "Use a suggested selection:",
"idpEntry.label": "Or enter your organization's name",
"idpEntry.NoPreferred.label": "Enter your organization's name",
"idpList.label": "Or select your organization from the list below",
"idpList.NoPreferred.label": "Select your organization from the list below",
"idpList.defaultOptionLabel": "Please select your organization...",
"idpList.showList": "Allow me to pick from a list",
"idpList.showSearch": "Allow me to specify the site",
"submitButton.label": "Continue",
helpText: "Help",
defaultLogoAlt: "DefaultLogo",
"autoFollow.message": "Always follows this selection",
"autoFollow.never": "Never",
"autoFollow.time0": "One day",
"autoFollow.time1": "3 months",
"autoFollow.time2": "9 months"
}, de: {
"fatal.divMissing": "Das notwendige Div Element fehlt",
"fatal.noXMLHttpRequest": "Ihr Webbrowser unterst\u00fctzt keine XMLHttpRequests, IdP-Auswahl kann nicht geladen werden",
"fatal.wrongProtocol": 'DS bekam eine andere Policy als "urn:oasis:names:tc:SAML:profiles:SSO:idpdiscovery-protocol:single"',
"fatal.wrongEntityId": "Die entityId ist nicht korrekt",
"fatal.noData": "Heruntergeladene Metadata waren leer",
"fatal.loadFailed": "Metadaten konnten nicht heruntergeladen werden: ",
"fatal.noparms": "Parameter f\u00fcr das Discovery Service oder 'defaultReturn' fehlen",
"fatal.noReturnURL": "URL return Parmeter fehlt",
"fatal.badProtocol": "return Request muss mit https:// oder http:// beginnen",
"fatal.badReturnString": "Return Parameter ist nicht auf Positivliste enthalten",
"idpPreferred.label": "Vorherige Auswahl:",
"idpEntry.label": "Oder geben Sie den Namen (oder Teile davon) an:",
"idpEntry.NoPreferred.label": "Namen (oder Teile davon) der Institution angeben:",
"idpList.label": "Oder w\u00e4hlen Sie Ihre Institution aus einer Liste:",
"idpList.NoPreferred.label": "Institution aus folgender Liste w\u00e4hlen:",
"idpList.defaultOptionLabel": "W\u00e4hlen Sie Ihre Institution aus...",
"idpList.showList": "Institution aus einer Liste w\u00e4hlen",
"idpList.showSearch": "Institution selbst angeben",
"submitButton.label": "OK",
helpText: "Hilfe",
defaultLogoAlt: "Standard logo",
"autoFollow.message": "Auswahl merken und diesen Dialog nicht mehr anzeigen",
"autoFollow.never": "Nicht merken",
"autoFollow.time0": "Nur f\u00fcr Heute",
"autoFollow.time1": "Drei Monate lang",
"autoFollow.time2": "Neun Monate lang"
}, ja: {
"fatal.divMissing": '"insertAtDiv" の ID を持つ
com "insertAtDiv" não foi encontrada no arquivo HTML',
"fatal.noXMLHttpRequest": 'Seu navegador não suporta "XMLHttpRequest", impossível de carregador os dados do IdP selecionado',
"fatal.wrongProtocol": 'A política "Policy" fornecida para o DS não foi "urn:oasis:names:tc:SAML:profiles:SSO:idpdiscovery-protocol:single"',
"fatal.wrongEntityId": "entityId oferecido pelo SP não confere com o da configuração",
"fatal.noData": "O arquivo de metadados não retornou nada;",
"fatal.loadFailed": "Falhou ao realizar download do metadado de ",
"fatal.noparms": 'Sem parâmetros para sessão de descoberta e sem parâmetro "defaultReturn" configurado',
"fatal.noReturnURL": "Não foi definida um endereço (URL) de retorno no parâmetro",
"fatal.badProtocol": "Retorno do endereço requisitado deve começar com https:// ou http://",
"idpPreferred.label": "Use estas Instituições sugeridas: ",
"idpEntry.label": "Ou informe o nome da sua Instituição",
"idpEntry.NoPreferred.label": "Informe o nome da sua Instituição",
"idpList.label": "Ou selecione sua Instituição através da lista abaixo",
"idpList.NoPreferred.label": "Selecione sua Instituição através da lista abaixo",
"idpList.defaultOptionLabel": "Por favor, selecione sua Instituição: ",
"idpList.showList": "Permitir que eu escolha um IdP através de uma lista",
"idpList.showSearch": "Permitir que eu especifique o IdP",
"submitButton.label": "Continuar ",
helpText: "Ajuda",
defaultLogoAlt: "Logo padrão"
}
}
}
function TypeAheadControl(l, f, j, g, i, b, h, e, a, c, d, k) {
this.elementList = l;
this.textBox = f;
this.origin = j;
this.submit = g;
this.results = 0;
this.alwaysShow = c;
this.maxResults = d;
this.ie6hack = a;
this.maxchars = i;
this.getName = b;
this.getEntityId = h;
this.geticon = e;
this.getKeywords = k
}
TypeAheadControl.prototype.draw = function (b) {
var a = this;
this.dropDown = document.createElement("ul");
this.dropDown.className = "IdPSelectDropDown";
this.dropDown.style.visibility = "hidden";
this.dropDown.style.width = this.textBox.offsetWidth;
this.dropDown.current = -1;
this.textBox.setAttribute("role", "listbox");
document.body.appendChild(this.dropDown);
this.textBox.setAttribute("role", "combobox");
this.textBox.setAttribute("aria-controls", "IdPSelectDropDown");
this.textBox.setAttribute("aria-owns", "IdPSelectDropDown");
this.dropDown.onmouseover = function (c) {
if (!c) {
c = window.event
}
var d;
if (c.target) {
d = c.target
}
if (typeof d == "undefined") {
d = c.srcElement
}
a.select(d)
};
this.dropDown.onmousedown = function (c) {
if (-1 != a.dropDown.current) {
a.textBox.value = a.results[a.dropDown.current][0]
}
};
this.textBox.onkeyup = function (c) {
if (!c) {
c = window.event
}
a.handleKeyUp(c)
};
this.textBox.onkeydown = function (c) {
if (!c) {
c = window.event
}
a.handleKeyDown(c)
};
this.textBox.onblur = function () {
a.hideDrop()
};
this.textBox.onfocus = function () {
a.handleChange()
};
if (null == b || b) {
this.textBox.focus()
}
};
TypeAheadControl.prototype.getPossible = function (b) {
var h = [];
var j = 0;
var f = 0;
var e = 0;
var g;
var i;
b = b.toLowerCase();
while (f <= this.maxResults && j < this.elementList.length) {
var a = false;
var c = this.getName(this.elementList[j]);
if (c.toLowerCase().indexOf(b) != -1) {
a = true
}
if (!a && this.getEntityId(this.elementList[j]).toLowerCase().indexOf(b) != -1) {
a = true
}
if (!a) {
var d = this.getKeywords(this.elementList[j]);
if (null != d && d.toLowerCase().indexOf(b) != -1) {
a = true
}
}
if (a) {
h[f] = [c, this.getEntityId(this.elementList[j]), this.geticon(this.elementList[j])];
f++
}
j++
}
this.dropDown.current = -1;
return h
};
TypeAheadControl.prototype.handleKeyUp = function (b) {
var a = b.keyCode;
if (27 == a) {
this.textBox.value = "";
this.handleChange()
} else {
if (8 == a || 32 == a || (a >= 46 && a < 112) || a > 123) {
this.handleChange()
}
}
};
TypeAheadControl.prototype.handleKeyDown = function (b) {
var a = b.keyCode;
if (38 == a) {
this.upSelect()
} else {
if (40 == a) {
this.downSelect()
}
}
};
TypeAheadControl.prototype.hideDrop = function () {
var a = 0;
if (null !== this.ie6hack) {
while (a < this.ie6hack.length) {
this.ie6hack[a].style.visibility = "visible";
a++
}
}
this.dropDown.style.visibility = "hidden";
this.textBox.setAttribute("aria-expanded", "false");
if (-1 == this.dropDown.current) {
this.doUnselected()
}
};
TypeAheadControl.prototype.showDrop = function () {
var a = 0;
if (null !== this.ie6hack) {
while (a < this.ie6hack.length) {
this.ie6hack[a].style.visibility = "hidden";
a++
}
}
this.dropDown.style.visibility = "visible";
this.dropDown.style.width = this.textBox.offsetWidth + "px";
this.textBox.setAttribute("aria-expanded", "true")
};
TypeAheadControl.prototype.doSelected = function () {
this.submit.disabled = false
};
TypeAheadControl.prototype.doUnselected = function () {
this.submit.disabled = true;
this.textBox.setAttribute("aria-activedescendant", "")
};
TypeAheadControl.prototype.handleChange = function () {
var b = this.textBox.value;
var a = this.getPossible(b);
if (0 === b.length || 0 === a.length || (!this.alwaysShow && this.maxResults < a.length)) {
this.hideDrop();
this.doUnselected();
this.results = [];
this.dropDown.current = -1
} else {
this.results = a;
this.populateDropDown(a);
if (1 == a.length) {
this.select(this.dropDown.childNodes[0]);
this.doSelected()
} else {
this.doUnselected()
}
}
};
TypeAheadControl.prototype.populateDropDown = function (d) {
this.dropDown.innerHTML = "";
var c = 0;
var a;
var b;
var f;
while (c < d.length) {
a = document.createElement("li");
a.id = "IdPSelectOption" + c;
f = d[c][0];
if (null !== d[c][2]) {
b = document.createElement("img");
b.src = d[c][2];
b.width = 16;
b.height = 16;
b.alt = "";
a.appendChild(b);
if (f.length > this.maxchars - 2) {
f = f.substring(0, this.maxchars - 2)
}
f = " " + f
} else {
if (f.length > this.maxchars) {
f = f.substring(0, this.maxchars)
}
}
a.appendChild(document.createTextNode(f));
a.setAttribute("role", "option");
this.dropDown.appendChild(a);
c++
}
var e = this.getXY();
this.dropDown.style.left = e[0] + "px";
this.dropDown.style.top = e[1] + "px";
this.showDrop()
};
TypeAheadControl.prototype.getXY = function () {
var a = this.textBox;
var c = 0;
var b = a.offsetHeight;
while (a.tagName != "BODY") {
c += a.offsetLeft;
b += a.offsetTop;
a = a.offsetParent
}
c += a.offsetLeft;
b += a.offsetTop;
return [c, b]
};
TypeAheadControl.prototype.select = function (b) {
var a = 0;
var c;
this.dropDown.current = -1;
this.doUnselected();
while (a < this.dropDown.childNodes.length) {
c = this.dropDown.childNodes[a];
if (c == b) {
c.className = "IdPSelectCurrent";
c.setAttribute("aria-selected", "true");
this.textBox.setAttribute("aria-activedescendant", "IdPSelectOption" + a);
this.doSelected();
this.dropDown.current = a;
this.origin.value = this.results[a][1];
this.origin.textValue = this.results[a][0]
} else {
c.setAttribute("aria-selected", "false");
c.className = ""
}
a++
}
this.textBox.focus()
};
TypeAheadControl.prototype.downSelect = function () {
if (this.results.length > 0) {
if (-1 == this.dropDown.current) {
this.dropDown.current = 0;
this.dropDown.childNodes[0].className = "IdPSelectCurrent";
this.dropDown.childNodes[0].setAttribute("aria-selected", "true");
this.textBox.setAttribute("aria-activedescendant", "IdPSelectOption" + 0);
this.doSelected();
this.origin.value = this.results[0][1];
this.origin.textValue = this.results[0][0]
} else {
if (this.dropDown.current < (this.results.length - 1)) {
this.dropDown.childNodes[this.dropDown.current].className = "";
this.dropDown.current++;
this.dropDown.childNodes[this.dropDown.current].className = "IdPSelectCurrent";
this.dropDown.childNodes[this.dropDown.current].setAttribute("aria-selected", "true");
this.textBox.setAttribute("aria-activedescendant", "IdPSelectOption" + this.dropDown.current);
this.doSelected();
this.origin.value = this.results[this.dropDown.current][1];
this.origin.textValue = this.results[this.dropDown.current][0]
}
}
}
};
TypeAheadControl.prototype.upSelect = function () {
if ((this.results.length > 0) && (this.dropDown.current > 0)) {
this.dropDown.childNodes[this.dropDown.current].className = "";
this.dropDown.current--;
this.dropDown.childNodes[this.dropDown.current].className = "IdPSelectCurrent";
this.dropDown.childNodes[this.dropDown.current].setAttribute("aria-selected", "true");
this.textBox.setAttribute("aria-activedescendant", "IdPSelectOption" + this.dropDown.current);
this.doSelected();
this.origin.value = this.results[this.dropDown.current][1];
this.origin.textValue = this.results[this.dropDown.current][0]
}
};
function IdPSelectUI() {
var r;
var W = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var aJ;
var S;
var aB;
var an;
var aa;
var d;
var F;
var n;
var y;
var k;
var aw;
var g;
var t;
var ab;
var ah;
var D;
var ag;
var R;
var h;
var K;
var au;
var N;
var T;
var al;
var ax;
var aq;
var c;
var af;
var G;
var Q;
var Z;
var P;
var U;
var j;
var az;
var V;
var aL = "idpSelect";
var aj = "IdPSelect";
var ar;
var B = "";
var Y = "";
var aA = [];
var aG = "entityID";
this.draw = function (aP) {
aJ = document.getElementById(aP.insertAtDiv);
if (!m(aP)) {
return
}
if (!aJ) {
O(A("fatal.divMissing"));
return
}
if ((null != Q) && (null != i(Q))) {
var aM = b();
if (aM.length != 0) {
var aO = aG + "=" + encodeURIComponent(aM[0]);
if (B.indexOf("?") == -1) {
aO = "?" + aO
} else {
aO = "&" + aO
}
q(aJ, B + aO);
return
}
}
if (!f(aP.dataSource)) {
return
}
aK();
u(aP.hiddenIdPs);
r.sort(function (aR, aQ) {
return aE(aR).localeCompare(aE(aQ))
});
var aN = ac();
aJ.appendChild(aN);
ar.draw(aP.setFocusTextBox)
};
var m = function (aT) {
var aN;
D = aT.preferredIdP;
ag = aT.maxPreferredIdPs;
R = aT.helpURL;
h = aT.ie6Hack;
K = aT.samlIdPCookieTTL;
al = aT.alwaysShow;
ax = aT.maxResults;
aq = aT.ignoreKeywords;
if (aT.showListFirst) {
c = aT.showListFirst
} else {
c = false
}
if (aT.noWriteCookie) {
af = aT.noWriteCookie
} else {
af = false
}
if (aT.ignoreURLParams) {
G = aT.ignoreURLParams
} else {
G = false
}
F = aT.defaultLogo;
n = aT.defaultLogoWidth;
y = aT.defaultLogoHeight;
k = aT.minWidth;
aw = aT.minHeight;
g = aT.maxWidth;
t = aT.maxHeight;
ab = aT.bestRatio;
if (null == aT.doNotCollapse) {
ah = true
} else {
ah = aT.doNotCollapse
}
N = aT.maxIdPCharsButton;
au = aT.maxIdPCharsDropDown;
T = aT.maxIdPCharsAltTxt;
Q = aT.autoFollowCookie;
Z = aT.autoFollowCookieTTLs;
var a3;
if (typeof navigator == "undefined") {
a3 = aT.defaultLanguage
} else {
a3 = navigator.language || navigator.userLanguage || aT.defaultLanguage
}
a3 = a3.toLowerCase();
if (a3.indexOf("-") > 0) {
aB = a3.substring(0, a3.indexOf("-"))
}
var aX = new IdPSelectLanguages();
an = aT.defaultLanguage;
if (typeof aT.langBundles != "undefined" && typeof aT.langBundles[a3] != "undefined") {
aa = aT.langBundles[a3]
} else {
if (typeof aX.langBundles[a3] != "undefined") {
aa = aX.langBundles[a3]
} else {
if (typeof aB != "undefined") {
if (typeof aT.langBundles != "undefined" && typeof aT.langBundles[aB] != "undefined") {
aa = aT.langBundles[aB]
} else {
if (typeof aX.langBundles[aB] != "undefined") {
aa = aX.langBundles[aB]
}
}
}
}
}
if (typeof aT.langBundles != "undefined" && typeof aT.langBundles[aT.defaultLanguage] != "undefined") {
d = aT.langBundles[aT.defaultLanguage]
} else {
d = aX.langBundles[aT.defaultLanguage]
}
if (!d) {
O("No languages work");
return false
}
if (!aa) {
s("No language support for " + a3);
aa = d
}
if (aT.testGUI) {
return true
}
var aY = "urn:oasis:names:tc:SAML:profiles:SSO:idpdiscovery-protocol:single";
var a1;
var a2 = false;
var aR;
var aU;
var aQ = window;
while (null !== aQ.parent && aQ !== aQ.parent) {
aQ = aQ.parent
}
var aW = aQ.location;
var aS = aW.search;
if (G || null == aS || 0 == aS.length || aS.charAt(0) != "?") {
if ((null == aT.defaultReturn) && !G) {
O(A("fatal.noparms"));
return false
}
aN = aT.myEntityID;
B = aT.defaultReturn;
if (null != aT.defaultReturnIDParam) {
aG = aT.defaultReturnIDParam
}
} else {
aS = aS.substring(1);
aR = aS.split("&");
if (aR.length === 0) {
O(A("fatal.noparms"));
return false
}
for (a1 = 0; a1 < aR.length; a1++) {
aU = aR[a1].split("=");
if (aU.length != 2) {
continue
}
if (aU[0] == "entityID") {
aN = decodeURIComponent(aU[1])
} else {
if (aU[0] == "return") {
B = decodeURIComponent(aU[1])
} else {
if (aU[0] == "returnIDParam") {
aG = decodeURIComponent(aU[1])
} else {
if (aU[0] == "policy") {
aY = decodeURIComponent(aU[1])
} else {
if (aU[0] == "isPassive") {
a2 = (aU[1].toUpperCase() == "TRUE")
}
}
}
}
}
}
}
var aM;
if (null == aT.allowableProtocols) {
aM = ["urn:oasis:names:tc:SAML:profiles:SSO:idpdiscovery-protocol:single"]
} else {
aM = aT.allowableProtocols
}
var a0 = false;
for (var a1 = 0; a1 < aM.length; a1++) {
var aZ = aM[a1];
if (aY == aZ) {
a0 = true;
break
}
}
if (!a0) {
O(A("fatal.wrongProtocol"));
return false
}
/**
* Support a collection of entity ids for service providers.
* This section is customized and specific to Apereo CAS.
*/
if (aN != null && aT.myEntityID !== null) {
aN.forEach(function(el) {
if (!aT.myEntityID.includes(el)) {
O(A("fatal.wrongEntityId") + '"' + aN + '" != "' + aT.myEntityID + '"');
return false
}
});
}
if (null === B || B.length === 0) {
O(A("fatal.noReturnURL"));
return false
}
if (!ao(B)) {
O(A("fatal.badProtocol"));
return false
}
if (!e(aT.returnWhiteList, B)) {
ae(A("fatal.badReturnString"));
return false
}
if (a2) {
var aP = b();
var aV = document.getElementById(parmsSupplied.insertAtDiv);
if (aP.length == 0) {
q(aV, B);
return false
} else {
var aO = aG + "=" + encodeURIComponent(aP[0]);
if (B.indexOf("?") == -1) {
aO = "?" + aO
} else {
aO = "&" + aO
}
q(aV, B + aO);
return false
}
}
a1 = B.indexOf("?");
if (a1 < 0) {
Y = B;
return true
}
Y = B.substring(0, a1);
aS = B.substring(a1 + 1);
aR = aS.split("&");
for (a1 = 0; a1 < aR.length; a1++) {
aU = aR[a1].split("=");
if (aU.length != 2) {
continue
}
aU[1] = decodeURIComponent(aU[1]);
aA.push(aU)
}
return true
};
var aK = function () {
var aO = [];
var aN;
for (aN = 0; aN < r.length;) {
var aM = z(r[aN]);
if (null == aO[aM]) {
aO[aM] = aM;
aN = aN + 1
} else {
r.splice(aN, 1)
}
}
};
var u = function (aO) {
if (null == aO || 0 == aO.length) {
return
}
var aN;
var aM;
for (aN = 0; aN < aO.length; aN++) {
for (aM = 0; aM < r.length; aM++) {
if (z(r[aM]) == aO[aN]) {
r.splice(aM, 1);
break
}
}
}
};
var ao = function (aN) {
if (null === aN) {
return false
}
var aM = "://";
var aO = aN.indexOf(aM);
if (aO < 0) {
return false
}
aN = aN.substring(0, aO);
if (aN == "http" || aN == "https") {
return true
}
return false
};
var e = function (aM, aN) {
if (null == aM) {
return true
}
for (var aO = 0; aO < aM.length; aO++) {
var aP = new RegExp(aM[aO]);
if (aP.test(aN)) {
return true
}
}
return false
};
var aI = function () {
if (null == navigator) {
return false
}
var aM = navigator.appName;
if (null == aM) {
return false
}
return (aM == "Microsoft Internet Explorer")
};
var q = function (aN, aO) {
var aM = document.createElement("a");
aM.href = aO;
aN.appendChild(aM);
aM.click()
};
var f = function (aP) {
var aO = null;
try {
aO = new XMLHttpRequest()
} catch (aN) {
}
if (null == aO) {
try {
aO = new ActiveXObject("Microsoft.XMLHTTP")
} catch (aN) {
}
}
if (null == aO) {
try {
aO = new ActiveXObject("MSXML2.XMLHTTP.3.0")
} catch (aN) {
}
}
if (null == aO) {
O(A("fatal.noXMLHttpRequest"));
return false
}
if (aI()) {
aP += "?random=" + (Math.random() * 1000000)
}
aO.open("GET", aP, false);
if (typeof aO.overrideMimeType == "function") {
aO.overrideMimeType("application/json")
}
aO.send(null);
if (aO.status == 200) {
var aM = aO.responseText;
if (aM === null) {
O(A("fatal.noData"));
return false
}
r = JSON.parse(aM)
} else {
O(A("fatal.loadFailed") + aP);
return false
}
return true
};
var ad = function (aM) {
for (var aN = 0; aN < r.length; aN++) {
if (z(r[aN]) == aM) {
return r[aN]
}
}
return null
};
var H = function (aT, aN) {
var aS = function (aW) {
var aU = null;
var aV;
if (null == aT.Logos) {
return null
}
for (aV in aT.Logos) {
if (aT.Logos[aV].lang == aW && aT.Logos[aV].width != null && aT.Logos[aV].width >= k && aT.Logos[aV].height != null && aT.Logos[aV].height >= aw) {
if (aU === null) {
aU = aT.Logos[aV]
} else {
me = Math.abs(ab - Math.log(aT.Logos[aV].width / aT.Logos[aV].height));
him = Math.abs(ab - Math.log(aU.width / aU.height));
if (him > me) {
aU = aT.Logos[aV]
}
}
}
}
return aU
};
var aP = null;
var aO = document.createElement("img");
am(aO, "IdPImg");
aP = aS(S);
if (null === aP && typeof aB != "undefined") {
aP = aS(aB)
}
if (null === aP) {
aP = aS(null)
}
if (null === aP) {
aP = aS(an)
}
if (null === aP) {
if (!aN) {
return null
}
aO.src = F;
aO.width = n;
aO.height = y;
aO.alt = A("defaultLogoAlt");
return aO
}
aO.src = aP.value;
var aQ = aE(aT);
if (aQ.length > T) {
aQ = aQ.substring(0, T) + "..."
}
aO.alt = aQ;
var aM = aP.width;
var aR = aP.height;
if (aM > g) {
aR = (g / aM) * aR;
aM = g
}
if (aR > t) {
aM = (t / aR) * aM;
aR = t
}
aO.setAttribute("width", aM);
aO.setAttribute("height", aR);
return aO
};
var ac = function () {
var aN = ap("IdPSelector");
var aM;
aM = aC(aN);
o(aN, aM);
X(aN, aM);
if (null != Q) {
C(aN)
}
return aN
};
var M = function (aO, aV, aN) {
var aM = ap(undefined, "PreferredIdPButton");
var aU = document.createElement("a");
var aT = aG + "=" + encodeURIComponent(z(aO));
var aP = B;
var aR = H(aO, aN);
if (aP.indexOf("?") == -1) {
aT = "?" + aT
} else {
aT = "&" + aT
}
aU.href = aP + aT;
aU.onclick = function () {
aH(z(aO))
};
if (null != aR) {
var aW = ap(undefined, "PreferredIdPImg");
aW.appendChild(aR);
aU.appendChild(aW)
}
var aS = ap(undefined, "TextDiv");
var aQ = aE(aO);
if (aQ.length > N) {
aQ = aQ.substring(0, N) + "..."
}
aM.title = aQ;
aS.appendChild(document.createTextNode(aQ));
aU.appendChild(aS);
aM.appendChild(aU);
return aM
};
var aF = function (aM, aP) {
var aO = ap(undefined, "TextDiv");
var aN = document.createTextNode(A(aP));
aO.appendChild(aN);
aM.appendChild(aO)
};
var a = function (aM, aO) {
if (null === aO || 0 === aO.length || "-" == aO.value) {
return
}
var aN = 0;
while (aN < aM.options.length) {
if (aM.options[aN].value == aO) {
aM.options[aN].selected = true;
break
}
aN++
}
};
var aC = function (aR) {
var aQ = L();
if (0 === aQ.length) {
return false
}
var aM = ah;
for (var aO = 0; aO < ag && aO < aQ.length; aO++) {
if (aQ[aO] && H(aQ[aO], false)) {
aM = true
}
}
var aP;
if (aM) {
aP = ap("PreferredIdPTile")
} else {
aP = ap("PreferredIdPTileNoImg")
}
aF(aP, "idpPreferred.label");
for (var aO = 0; aO < ag && aO < aQ.length; aO++) {
if (aQ[aO]) {
var aN = M(aQ[aO], aO, aM);
aP.appendChild(aN)
}
}
aR.appendChild(aP);
return true
};
var ai = function () {
var aN = document.createElement("form");
U.appendChild(aN);
aN.action = Y;
aN.method = "GET";
aN.setAttribute("autocomplete", "OFF");
var aM = 0;
for (aM = 0; aM < aA.length; aM++) {
var aO = document.createElement("input");
aO.setAttribute("type", "hidden");
aO.name = aA[aM][0];
aO.value = aA[aM][1];
aN.appendChild(aO)
}
return aN
};
var o = function (aT, aN) {
U = ap("IdPEntryTile");
if (c) {
U.style.display = "none"
}
var aO = document.createElement("label");
aO.setAttribute("for", aL + "Input");
if (aN) {
aF(aO, "idpEntry.label")
} else {
aF(aO, "idpEntry.NoPreferred.label")
}
var aR = ai();
aR.appendChild(aO);
var aQ = document.createElement("input");
aR.appendChild(aQ);
aQ.type = "text";
l(aQ, "Input");
var aS = document.createElement("input");
aS.setAttribute("type", "hidden");
aR.appendChild(aS);
aS.name = aG;
aS.value = "-";
var aP = v("Select");
aP.disabled = true;
aR.appendChild(aP);
aR.onsubmit = function () {
if (null === aS.value || 0 === aS.value.length || "-" == aS.value) {
return false
}
aQ.value = aS.textValue;
aH(aS.value);
return true
};
ar = new TypeAheadControl(r, aQ, aS, aP, au, aE, z, ak, h, al, ax, I);
var aM = document.createElement("a");
aM.appendChild(document.createTextNode(A("idpList.showList")));
aM.href = "#";
am(aM, "DropDownToggle");
aM.onclick = function () {
U.style.display = "none";
a(az, aS.value);
j.style.display = "";
V.focus();
return false
};
U.appendChild(aM);
x(U);
aT.appendChild(U)
};
var X = function (aM, aP) {
j = ap("IdPListTile");
if (!c) {
j.style.display = "none"
}
var aT = document.createElement("label");
aT.setAttribute("for", aL + "Selector");
if (aP) {
aF(aT, "idpList.label")
} else {
aF(aT, "idpList.NoPreferred.label")
}
az = document.createElement("select");
l(az, "Selector");
az.name = aG;
j.appendChild(az);
var aU = p("-", A("idpList.defaultOptionLabel"));
aU.selected = true;
az.appendChild(aU);
var aO;
for (var aQ = 0; aQ < r.length; aQ++) {
aO = r[aQ];
aU = p(z(aO), aE(aO));
az.appendChild(aU)
}
var aN = ai();
aN.appendChild(aT);
aN.appendChild(az);
aN.onsubmit = function () {
if (az.selectedIndex < 1) {
return false
}
aH(az.options[az.selectedIndex].value);
return true
};
var aR = v("List");
V = aR;
aN.appendChild(aR);
j.appendChild(aN);
var aS = document.createElement("a");
aS.appendChild(document.createTextNode(A("idpList.showSearch")));
aS.href = "#";
am(aS, "DropDownToggle");
aS.onclick = function () {
U.style.display = "";
j.style.display = "none";
return false
};
j.appendChild(aS);
x(j);
aM.appendChild(j)
};
var C = function (aP) {
var aN = "IdPSelectAutoDisp";
autoDispatchTile = ap(undefined, "autoDispatchArea");
autoDispatchTile.appendChild(document.createTextNode(A("autoFollow.message")));
var aM = document.createElement("input");
aM.setAttribute("type", "radio");
aM.setAttribute("checked", "checked");
aM.setAttribute("name", aN);
aM.onclick = function () {
E(0)
};
div = ap(undefined, "autoDispatchTile");
div.appendChild(aM);
div.appendChild(document.createTextNode(A("autoFollow.never")));
autoDispatchTile.appendChild(div);
var aO;
for (aO = 0; aO < Z.length; aO++) {
aM = document.createElement("input");
aM.setAttribute("type", "radio");
aM.setAttribute("name", aN);
aM.life = Z[aO];
aM.onclick = function () {
var aQ = this.life;
E(aQ)
};
div = ap(undefined, "autoDispatchTile");
div.appendChild(aM);
div.appendChild(document.createTextNode(A("autoFollow.time" + aO)));
autoDispatchTile.appendChild(div)
}
aP.appendChild(autoDispatchTile)
};
var v = function (aN) {
var aM = document.createElement("input");
aM.setAttribute("type", "submit");
aM.value = A("submitButton.label");
l(aM, aN + "Button");
return aM
};
var x = function (aN) {
var aM = document.createElement("a");
aM.href = R;
aM.appendChild(document.createTextNode(A("helpText")));
am(aM, "HelpButton");
aN.appendChild(aM)
};
var ap = function (aO, aM) {
var aN = document.createElement("div");
if (undefined !== aO) {
l(aN, aO)
}
if (undefined !== aM) {
am(aN, aM)
}
return aN
};
var p = function (aN, aO) {
var aM = document.createElement("option");
aM.value = aN;
if (aO.length > au) {
aO = aO.substring(0, au)
}
aM.appendChild(document.createTextNode(aO));
return aM
};
var l = function (aN, aM) {
aN.id = aL + aM
};
var am = function (aN, aM) {
aN.setAttribute("class", aj + aM)
};
var aD = function (aM) {
return document.getElementById(aL + aM)
};
var aH = function (aM) {
J(aM);
at(P)
};
var A = function (aM) {
var aN = aa[aM];
if (!aN) {
aN = d[aM]
}
if (!aN) {
aN = "Missing message for " + aM
}
return aN
};
var z = function (aM) {
return aM.entityID
};
var ak = function (aO) {
var aM;
if (null == aO.Logos) {
return null
}
for (aM = 0; aM < aO.Logos.length; aM++) {
var aN = aO.Logos[aM];
if (aN.height == "16" && aN.width == "16") {
if (null == aN.lang || S == aN.lang || (typeof aB != "undefined" && aB == aN.lang) || an == aN.lang) {
return aN.value
}
}
}
return null
};
var aE = function (aN) {
var aM = ay(aN.DisplayNames);
if (null !== aM) {
return aM
}
s("No Name entry in any language for " + z(aN));
return z(aN)
};
var I = function (aN) {
if (aq || null == aN.Keywords) {
return null
}
var aM = ay(aN.Keywords);
return aM
};
var ay = function (aM) {
var aN;
for (aN in aM) {
if (aM[aN].lang == S) {
return aM[aN].value
}
}
if (typeof aB != "undefined") {
for (aN in aM) {
if (aM[aN].lang == aB) {
return aM[aN].value
}
}
}
for (aN in aM) {
if (aM[aN].lang == null) {
return aM[aN].value
}
}
for (aN in aM) {
if (aM[aN].lang == an) {
return aM[aN].value
}
}
return null
};
var L = function () {
var aQ = [];
var aP = 0;
var aO;
var aN;
if (null != D) {
for (aO = 0; aO < D.length && aO < ag; aO++) {
aQ[aO] = ad(D[aO]);
aP++
}
}
P = b();
for (aO = aP, aN = 0; aN < P.length && aO < ag; aN++) {
var aM = ad(P[aN]);
if (typeof aQ.indexOf === "undefined") {
aQ.push(aM);
aO++
} else {
if (aQ.indexOf(aM) === -1) {
aQ.push(aM);
aO++
}
}
}
return aQ
};
var J = function (aM) {
var aN = [];
while (0 !== P.length) {
var aO = P.pop();
if (aO != aM) {
aN.unshift(aO)
}
}
aN.unshift(aM);
P = aN;
return
};
var E = function (aO) {
var aM;
if (aO > 0) {
var aN = new Date();
cookieTTL = aO * 24 * 60 * 60 * 1000;
aM = new Date(aN.getTime() + cookieTTL)
} else {
aM = new Date(0)
}
document.cookie = Q + "=1;path=/;expires=" + aM.toUTCString()
};
var i = function (aO) {
var aQ, aN;
var aR;
aR = document.cookie.split(";");
for (aQ = 0; aQ < aR.length; aQ++) {
var aP = aR[aQ];
var aM = aP.indexOf("=");
var aS = aP.substring(0, aM);
if (aO == (aS.replace(/^\s+|\s+$/g, ""))) {
return aP.substring(aM + 1)
}
}
return null
};
var b = function () {
var aM = [];
var aN;
var aO = i("_saml_idp");
if (aO != null) {
aO = aO.replace(/^\s+|\s+$/g, "");
aO = aO.replace("+", "%20");
aO = aO.split("%20");
for (aN = aO.length; aN > 0; aN--) {
if (0 === aO[aN - 1].length) {
continue
}
var aP = av(decodeURIComponent(aO[aN - 1]));
if (aP.length > 0) {
aM.push(aP)
}
}
}
return aM
};
var at = function (aR) {
var aO = [];
var aQ = aR.length;
if (af) {
return
}
if (aQ > 5) {
aQ = 5
}
for (var aP = aQ; aP > 0; aP--) {
if (aR[aP - 1].length > 0) {
aO.push(encodeURIComponent(w(aR[aP - 1])))
}
}
var aM = null;
if (K) {
var aN = new Date();
cookieTTL = K * 24 * 60 * 60 * 1000;
aM = new Date(aN.getTime() + cookieTTL)
}
document.cookie = "_saml_idp=" + aO.join("%20") + "; path = /" + ((aM === null) ? "" : "; expires=" + aM.toUTCString())
};
var w = function (aV) {
var aM = "", aQ, aO, aN, aU, aT, aS, aR;
for (var aP = 0; aP < aV.length;) {
aQ = aV.charCodeAt(aP++);
aO = aV.charCodeAt(aP++);
aN = aV.charCodeAt(aP++);
aU = aQ >> 2;
aT = ((aQ & 3) << 4) + (aO >> 4);
aS = ((aO & 15) << 2) + (aN >> 6);
aR = aN & 63;
if (isNaN(aO)) {
aS = aR = 64
} else {
if (isNaN(aN)) {
aR = 64
}
}
aM += W.charAt(aU) + W.charAt(aT) + W.charAt(aS) + W.charAt(aR)
}
return aM
};
var av = function (aP) {
var aN = "", aW, aU, aS, aV, aT, aR, aQ;
var aO = 0;
var aM = /[^A-Za-z0-9\+\/\=]/g;
aP = aP.replace(/[^A-Za-z0-9\+\/\=]/g, "");
do {
aV = W.indexOf(aP.charAt(aO++));
aT = W.indexOf(aP.charAt(aO++));
aR = W.indexOf(aP.charAt(aO++));
aQ = W.indexOf(aP.charAt(aO++));
aW = (aV << 2) | (aT >> 4);
aU = ((aT & 15) << 4) | (aR >> 2);
aS = ((aR & 3) << 6) | aQ;
aN = aN + String.fromCharCode(aW);
if (aR != 64) {
aN = aN + String.fromCharCode(aU)
}
if (aQ != 64) {
aN = aN + String.fromCharCode(aS)
}
aW = aU = aS = "";
aV = aT = aR = aQ = ""
} while (aO < aP.length);
return aN
};
var ae = function (aN) {
if (aJ) {
var aM = document.createTextNode(aN);
aJ.appendChild(aM)
} else {
$('#errorDiv').show('true');
$('#errorDiv').empty();
$('#errorDiv').append(aN);
}
};
var O = function (aM) {
$('#errorDiv').show('true');
$('#errorDiv').empty();
$('#errorDiv').append(aM);
if (aJ) {
ae(aM)
}
};
var s = function () {
}
}
(new IdPSelectUI()).draw(new IdPSelectUIParms());