Commit cae6641d authored by Dominik Hebeler's avatar Dominik Hebeler
Browse files

Merge branch '363-spanische-version-vorbereiten' into 'development'

Resolve "Spanische Version Vorbereiten"

Closes #363

See merge request !631
parents 1274fe58 70e645ae
......@@ -46,7 +46,7 @@ return [
//'en-AU' => ['name' => 'Australian English', 'script' => 'Latn', 'native' => 'Australian English', 'regional' => 'en_AU'],
//'en-GB' => ['name' => 'British English', 'script' => 'Latn', 'native' => 'British English', 'regional' => 'en_GB'],
//'en-US' => ['name' => 'U.S. English', 'script' => 'Latn', 'native' => 'U.S. English', 'regional' => 'en_US'],
//'es' => ['name' => 'Spanish', 'script' => 'Latn', 'native' => 'español', 'regional' => 'es_ES'],
'es' => ['name' => 'Spanish', 'script' => 'Latn', 'native' => 'español', 'regional' => 'es_ES'],
//'eo' => ['name' => 'Esperanto', 'script' => 'Latn', 'native' => 'esperanto', 'regional' => ''],
//'eu' => ['name' => 'Basque', 'script' => 'Latn', 'native' => 'euskara', 'regional' => 'eu_ES'],
//'ewo' => ['name' => 'Ewondo', 'script' => 'Latn', 'native' => 'ewondo', 'regional' => ''],
......
This diff is collapsed.
......@@ -254,8 +254,8 @@ th {
}
@font-face {
font-family: 'Glyphicons Halflings';
src: url('../../fonts/glyphicons-halflings-regular.eot');
src: url('../../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
src: url('/fonts/glyphicons-halflings-regular.eot');
src: url('/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('/fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('/fonts/glyphicons-halflings-regular.woff') format('woff'), url('/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.glyphicon {
position: relative;
......@@ -1435,7 +1435,7 @@ dt {
dd {
margin-left: 0;
}
@media (min-width: 768px) {
@media (min-width: 865px) {
.dl-horizontal dt {
float: left;
width: 160px;
......@@ -1576,12 +1576,12 @@ pre code {
}
@media (min-width: 992px) {
.container {
width: 970px;
width: 950px;
}
}
@media (min-width: 1200px) {
@media (min-width: 1440px) {
.container {
width: 1170px;
width: 1400px;
}
}
.container-fluid {
......@@ -2072,7 +2072,7 @@ pre code {
margin-left: 0%;
}
}
@media (min-width: 1200px) {
@media (min-width: 1440px) {
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
float: left;
}
......@@ -3593,7 +3593,7 @@ tbody.collapse.in {
bottom: 100%;
margin-bottom: 2px;
}
@media (min-width: 768px) {
@media (min-width: 865px) {
.navbar-right .dropdown-menu {
left: auto;
right: 0;
......@@ -4128,12 +4128,12 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
margin-bottom: 20px;
border: 1px solid transparent;
}
@media (min-width: 768px) {
@media (min-width: 865px) {
.navbar {
border-radius: 4px;
}
}
@media (min-width: 768px) {
@media (min-width: 865px) {
.navbar-header {
float: left;
}
......@@ -4149,7 +4149,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
.navbar-collapse.in {
overflow-y: auto;
}
@media (min-width: 768px) {
@media (min-width: 865px) {
.navbar-collapse {
width: auto;
border-top: 0;
......@@ -4188,7 +4188,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
margin-right: -15px;
margin-left: -15px;
}
@media (min-width: 768px) {
@media (min-width: 865px) {
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
......@@ -4201,7 +4201,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
z-index: 1000;
border-width: 0 0 1px;
}
@media (min-width: 768px) {
@media (min-width: 865px) {
.navbar-static-top {
border-radius: 0;
}
......@@ -4213,7 +4213,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
left: 0;
z-index: 1030;
}
@media (min-width: 768px) {
@media (min-width: 865px) {
.navbar-fixed-top,
.navbar-fixed-bottom {
border-radius: 0;
......@@ -4242,7 +4242,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
.navbar-brand > img {
display: block;
}
@media (min-width: 768px) {
@media (min-width: 865px) {
.navbar > .container .navbar-brand,
.navbar > .container-fluid .navbar-brand {
margin-left: -15px;
......@@ -4272,7 +4272,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
.navbar-toggle .icon-bar + .icon-bar {
margin-top: 4px;
}
@media (min-width: 768px) {
@media (min-width: 865px) {
.navbar-toggle {
display: none;
}
......@@ -4285,7 +4285,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
padding-bottom: 10px;
line-height: 20px;
}
@media (max-width: 767px) {
@media (max-width: 864px) {
.navbar-nav .open .dropdown-menu {
position: static;
float: none;
......@@ -4307,7 +4307,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
background-image: none;
}
}
@media (min-width: 768px) {
@media (min-width: 865px) {
.navbar-nav {
float: left;
margin: 0;
......@@ -4380,7 +4380,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
top: 0;
}
}
@media (max-width: 767px) {
@media (max-width: 864px) {
.navbar-form .form-group {
margin-bottom: 5px;
}
......@@ -4388,7 +4388,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
margin-bottom: 0;
}
}
@media (min-width: 768px) {
@media (min-width: 865px) {
.navbar-form {
width: auto;
border: 0;
......@@ -4427,14 +4427,14 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
margin-top: 15px;
margin-bottom: 15px;
}
@media (min-width: 768px) {
@media (min-width: 865px) {
.navbar-text {
float: left;
margin-left: 15px;
margin-right: 15px;
}
}
@media (min-width: 768px) {
@media (min-width: 865px) {
.navbar-left {
float: left !important;
}
......@@ -4501,7 +4501,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
background-color: #e7e7e7;
color: #555;
}
@media (max-width: 767px) {
@media (max-width: 864px) {
.navbar-default .navbar-nav .open .dropdown-menu > li > a {
color: #777;
}
......@@ -4597,7 +4597,7 @@ fieldset[disabled] .navbar-default .btn-link:focus {
background-color: #080808;
color: #fff;
}
@media (max-width: 767px) {
@media (max-width: 864px) {
.navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
border-color: #080808;
}
......@@ -6545,7 +6545,7 @@ button.close {
display: inline-block !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
@media (min-width: 992px) and (max-width: 1439px) {
.visible-md {
display: block !important;
}
......@@ -6560,22 +6560,22 @@ button.close {
display: table-cell !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
@media (min-width: 992px) and (max-width: 1439px) {
.visible-md-block {
display: block !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
@media (min-width: 992px) and (max-width: 1439px) {
.visible-md-inline {
display: inline !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
@media (min-width: 992px) and (max-width: 1439px) {
.visible-md-inline-block {
display: inline-block !important;
}
}
@media (min-width: 1200px) {
@media (min-width: 1440px) {
.visible-lg {
display: block !important;
}
......@@ -6590,17 +6590,17 @@ button.close {
display: table-cell !important;
}
}
@media (min-width: 1200px) {
@media (min-width: 1440px) {
.visible-lg-block {
display: block !important;
}
}
@media (min-width: 1200px) {
@media (min-width: 1440px) {
.visible-lg-inline {
display: inline !important;
}
}
@media (min-width: 1200px) {
@media (min-width: 1440px) {
.visible-lg-inline-block {
display: inline-block !important;
}
......@@ -6615,12 +6615,12 @@ button.close {
display: none !important;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
@media (min-width: 992px) and (max-width: 1439px) {
.hidden-md {
display: none !important;
}
}
@media (min-width: 1200px) {
@media (min-width: 1440px) {
.hidden-lg {
display: none !important;
}
......@@ -6690,6 +6690,52 @@ summary::details-marker {
summary {
cursor: pointer;
}
.quicktip.aufruf-winter {
border-left: 3px solid #AB2121 !important;
}
.aufruf-winter h1 {
font-size: 32px;
}
.aufruf-winter a,
.aufruf-winter a:visited {
color: #AB2121;
}
.aufruf-winter .aufruf-action-btn {
color: white!important;
background-color: #AB2121 !important;
border-color: #953535;
}
.aufruf-winter .aufruf-action-btn:hover {
background-color: #BD0D0D !important;
border-color: #953535;
}
.aufruf-winter.mg-panel {
background-image: url("/img/snowflake.svg");
background-repeat: no-repeat;
background-position: right top;
background-size: 100px 100px;
}
.new-feature.badge {
background-color: #ff8000;
}
@media (max-width: 991px) {
.aufruf-winter.mg-panel {
background-size: 60px 60px;
}
}
@media (max-width: 1439px) {
.aufruf-winter h1 {
font-size: 27px;
}
.aufruf-winter .lead {
font-size: 18px;
}
}
@media (min-width: 1440px) {
.aufruf-winter.mg-panel {
width: 940px;
}
}
#spruch .author {
font-size: 14px;
color: #888;
......@@ -6705,7 +6751,7 @@ ul.startpage {
<
By ID
......@@ -7006,6 +7052,9 @@ By Class
.mutelink {
color: inherit;
}
.mutelink:visited {
color: inherit;
}
.dotlist {
list-style-type: disc;
text-align: left;
......@@ -7190,7 +7239,7 @@ footer li {
footer img {
max-width: 100%;
}
main ul li {
main ul li:not(.lslide) {
margin: 0 10px;
}
.searchform-bonus {
......@@ -7255,8 +7304,16 @@ body > div {
}
/* Hier der Style für unsere Suchleiste */
.navbar-resultpage {
right: initial;
left: initial;
margin-bottom: 0px;
}
@media (max-width: 767px) {
.navbar-resultpage {
right: 0px!important;
left: 0px!important;
}
}
.tab-pane .alert {
margin: 10px 0;
padding: 5px 15px;
......@@ -7265,13 +7322,19 @@ body > div {
list-style-type: none;
padding-left: 49px;
}
.navbar-resultpage div {
.navbar-resultpage .container {
padding: 0px;
margin: 0px;
}
.navbar-resultpage .logo {
padding-top: 0px;
}
.navbar-resultpage .input-group {
margin: 0px 5px;
}
.dense-col {
padding: 0px;
}
/* Logo */
.logo {
height: 35px;
......@@ -7318,13 +7381,6 @@ nav .input-group {
}
.navbar-resultpage {
background-color: white;
position: fixed;
top: 0;
width: 100%;
z-index: 500;
width: 80%;
left: 50%;
margin-left: -40%;
}
.logo h1 {
font-family: Liberation Sans, sans-serif;
......@@ -7344,10 +7400,8 @@ nav .input-group {
color: black;
}
.content-wrapper {
width: 80%;
margin: 0 auto;
padding: 0px;
padding-top: 52px;
/* padding: 10px; */
background-color: white;
box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.3);
}
......@@ -7355,7 +7409,6 @@ nav .input-group {
color: black;
}
body {
height: 100%;
background-image: inherit;
background-color: rgba(2, 93, 140, 0.03);
}
......@@ -7377,7 +7430,7 @@ a:hover {
#foki {
background-color: white;
}
#foki a {
#foki li a {
color: grey;
}
#foki li.active a {
......@@ -7546,7 +7599,6 @@ a:hover {
}
#quicktips iframe {
width: 100%;
height: 1000px;
background-color: transparent;
border: 0px none transparent;
padding: 0px;
......@@ -7659,6 +7711,12 @@ footer a {
.product img {
max-width: 100px;
}
@media (max-width: 767px) {
.resultContainer {
padding-left: 0;
padding-right: 0;
}
}
.qtheader {
font-size: 16px;
margin: 0px;
......@@ -7672,6 +7730,12 @@ footer a {
.qt-icon {
height: 60px;
}
#about-us a:visited {
color: #2A2ADE;
}
#anpassen-label a {
color: #333;
}
/*input[type=text]:focus, textarea:focus, input[type=email]:focus, input[type=tel]:focus {
outline-color: rgb(255, 128, 0);
-webkit-box-shadow: 0px 0px 2px 2px rgba(255, 128, 0, 1);
......
......@@ -2388,30 +2388,43 @@ function encrypt() {
return true;
}
} else {
if (isEnglish()) {
window.alert("Error: Your browser is not supported. Please install an up to date browser like Mozilla Firefox.");
} else {
window.alert("Fehler: Ihr Browser wird nicht unterstützt. Bitte installieren Sie einen aktuellen Broweser wie z.B. Mozilla Firefox.");
switch (getLanguage()) {
case "de":
alert("Fehler: Ihr Browser wird nicht unterstützt. Bitte installieren Sie einen aktuellen Browser wie z.B. Mozilla Firefox.");
break;
case "en":
alert("Error: Your browser is not supported. Please install an up to date browser like Mozilla Firefox.");
break;
case "es":
// alert(""); TODO
break;
}
return false;
}
}
$(document).ready(function() {
if (isEnglish()) {
$(".encrypt-btn").html("encrypt and send");
} else {
$(".encrypt-btn").html("Verschlüsseln und senden");
switch (getLanguage()) {
case "de":
$(".encrypt-btn").html("Verschlüsseln und senden");
break;
case "en":
$(".encrypt-btn").html("encrypt and send");
break;
case "es":
// $(".encrypt-btn").html(""); TODO
break;
}
$(".contact").submit(function() {
return encrypt(this);
});
});
function isEnglish() {
if (window.location.href.indexOf('/en/') == -1) {
return false;
} else {
return true;
function getLanguage() {
var metaData = document.getElementsByTagName('meta');
for (var m in metaData) {
if (metaData[m]["httpEquiv"] == "language") {
return metaData[m]["content"];
}
}
}
(function ($, undefined) {
......@@ -3580,19 +3593,18 @@ return(65535&d)<<16|65535&c},C=function(a,b,c,d){var e=(65535&a)+(65535&b)+(6553
$(document).ready(function() {
getDocumentReadyForUse($("#foki > li.active > a").attr("aria-controls"));
$('iframe').iFrameResize({
'autoResize': true,
'heightCalculationMethod': 'documentElementScroll'
});
$('iframe').iFrameResize();
botProtection();
});
function tabs() {
//return;
$("#foki > li.tab-selector > a").each(function() {
$(this).attr("href", "#" + $(this).attr("aria-controls"));
$(this).attr("role", "tab");
$(this).attr("data-toggle", "tab");
if($(this).attr("target") != "_blank") {
$(this).attr("href", "#" + $(this).attr("aria-controls"));
$(this).attr("role", "tab");
$(this).attr("data-toggle", "tab");
}
});
$("#foki > li.tab-selector > a").off();
$("#foki > li.tab-selector > a").on("show.bs.tab", function(e) {
......@@ -3944,12 +3956,25 @@ function setSettings() {
for (var i = 0; i < localStorage.length; i++) {
var key = localStorage.key(i);
var value = localStorage.getItem(key);
if (key.startsWith("param_") && !key.endsWith("lang")) {
if (key.startsWith("param_") && !key.endsWith("lang") && !key.endsWith('autocomplete')) {
key = key.substring(key.indexOf("param_") + 6);
$("#searchForm").append("<input type=\"hidden\" name=\"" + key + "\" value=\"" + value + "\">");
}
$("#foki input[type=radio]#angepasst").attr("checked", true);
}
if( localStorage.getItem("param_lang") !== null ) {
var value = localStorage.getItem("param_lang");
// Change the value of the lang input field to the given parameter
$("input[name=lang]").val(value);
}
if( localStorage.getItem("param_autocomplete") !== null ) {
var value = localStorage.getItem("param_autocomplete");
// Change the value of the lang input field to the given parameter
$("input[name=eingabe]").attr("autocomplete", value);
}
if ($("fieldset#foki.mobile").length) {
$("fieldset.mobile input#bilder").val("angepasst");
$("fieldset.mobile input#bilder").prop("checked", true);
......@@ -3958,7 +3983,6 @@ function setSettings() {
$("fieldset.mobile label#anpassen-label").attr("for", "angepasst");
$("fieldset.mobile label#anpassen-label span.glyphicon").attr("class", "glyphicon glyphicon-cog");
$("fieldset.mobile label#anpassen-label span.content").html("angepasst");
console.log("test");
}
}
//Polyfill for form attribute
......@@ -4088,7 +4112,7 @@ $(document).ready(function() {
$("#settings-form").append("<input type=\"hidden\" name=\"usage\" value=\"once\">");
switch (getLanguage()) {
case "de":
alert("Auf der folgenden Startseite sind Ihre Einstellungen nun einmalig gespeichert. Nach Ihrer ersten Suche sind diese wieder verloren. Wenn Sie diese speichern möchten, können Sie sich allerdings ein Lesezeichnen für die generierte Startseite einrichten.");
alert("Auf der folgenden Startseite sind Ihre Einstellungen nun einmalig gespeichert. Nach Ihrer ersten Suche sind diese wieder verloren. Wenn Sie diese speichern möchten, können Sie sich allerdings ein Lesezeichen für die generierte Startseite einrichten.");
break;
case "en":
alert("On the following startpage your settings are saved one-time. They will be lost after your first search. Though if you want to save them, you can create a bookmark for the generated startpage.");
......@@ -4100,10 +4124,16 @@ $(document).ready(function() {
});
$("#plugin").click(function() {
$("form").attr('action', $("#save").attr("data-href") + '#plugin-modal');
if (isEnglish()) {
alert("Your browser plugin with personal settings was generated. Please follow the instructions on the following page to install it. Notice that beforehand you might have to delete a former MetaGer plugin.");
} else {
alert("Ihr Browserplugin mit den persönlichen Sucheinstellungen wurde generiert. Folgen Sie bitte der Anleitung auf der folgenden Seite um es zu installieren. Beachten Sie: Zuvor sollten Sie ein eventuell bereits installiertes MetaGer-Plugin entfernen.");
switch (getLanguage()) {
case "de":
alert("Ihr Browserplugin mit den persönlichen Sucheinstellungen wurde generiert. Folgen Sie bitte der Anleitung auf der folgenden Seite um es zu installieren. Beachten Sie: Zuvor sollten Sie ein eventuell bereits installiertes MetaGer-Plugin entfernen.");
break;
case "en":
alert("Your browser plugin with personal settings was generated. Please follow the instructions on the following page to install it. Notice that beforehand you might have to delete a former MetaGer plugin.");
break;
case "es":
// alert(""); TODO
break;
}
});
});
......@@ -4149,4 +4179,13 @@ function getLanguage() {
}
}
}
/*! iFrame Resizer (iframeSizer.min.js ) - v3.5.5 - 2016-06-16
* Desc: Force cross domain iframes to size to content.
* Requires: iframeResizer.contentWindow.min.js to be loaded into the target frame.
* Copyright: (c) 2016 David J. Bradshaw - dave@bradshaw.net
* License: MIT
*/
!function(a){"use strict";function b(b,c,d){"addEventListener"in a?b.addEventListener(c,d,!1):"attachEvent"in a&&b.attachEvent("on"+c,d)}function c(b,c,d){"removeEventListener"in a?b.removeEventListener(c,d,!1):"detachEvent"in a&&b.detachEvent("on"+c,d)}function d(){var b,c=["moz","webkit","o","ms"];for(b=0;b<c.length&&!N;b+=1)N=a[c[b]+"RequestAnimationFrame"];N||h("setup","RequestAnimationFrame not supported")}function e(b){var c="Host page: "+b;return a.top!==a.self&&(c=a.parentIFrame&&a.parentIFrame.getId?a.parentIFrame.getId()+": "+b:"Nested host page: "+b),c}function f(a){return K+"["+e(a)+"]"}function g(a){return P[a]?P[a].log:G}function h(a,b){k("log",a,b,g(a))}function i(a,b){k("info",a,b,g(a))}function j(a,b){k("warn",a,b,!0)}function k(b,c,d,e){!0===e&&"object"==typeof a.console&&console[b](f(c),d)}function l(d){function e(){function a(){s(V),p(W)}g("Height"),g("Width"),t(a,V,"init")}function f(){var a=U.substr(L).split(":");return{iframe:P[a[0]].iframe,id:a[0],height:a[1],width:a[2],type:a[3]}}function g(a){var b=Number(P[W]["max"+a]),c=Number(P[W]["min"+a]),d=a.toLowerCase(),e=Number(V[d]);h(W,"Checking "+d+" is in range "+c+"-"+b),c>e&&(e=c,h(W,"Set "+d+" to min value")),e>b&&(e=b,h(W,"Set "+d+" to max value")),V[d]=""+e}function k(){function a(){function a(){var a=0,d=!1;for(h(W,"Checking connection is from allowed list of origins: "+c);a<c.length;a++)if(c[a]===b){d=!0;break}return d}function d(){var a=P[W].remoteHost;return h(W,"Checking connection is from: "+a),b===a}return c.constructor===Array?a():d()}var b=d.origin,c=P[W].checkOrigin;if(c&&""+b!="null"&&!a())throw new Error("Unexpected message received from: "+b+" for "+V.iframe.id+". Message was: "+d.data+". This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.");return!0}function l(){return K===(""+U).substr(0,L)&&U.substr(L).split(":")[0]in P}function w(){var a=V.type in{"true":1,"false":1,undefined:1};return a&&h(W,"Ignoring init message from meta parent page"),a}function y(a){return U.substr(U.indexOf(":")+J+a)}function z(a){h(W,"MessageCallback passed: {iframe: "+V.iframe.id+", message: "+a+"}"),N("messageCallback",{iframe:V.iframe,message:JSON.parse(a)}),h(W,"--")}function A(){var b=document.body.getBoundingClientRect(),c=V.iframe.getBoundingClientRect();return JSON.stringify({iframeHeight:c.height,iframeWidth:c.width,clientHeight:Math.max(document.documentElement.clientHeight,a.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,a.innerWidth||0),offsetTop:parseInt(c.top-b.top,10),offsetLeft:parseInt(c.left-b.left,10),scrollTop:a.pageYOffset,scrollLeft:a.pageXOffset})}function B(a,b){function c(){u("Send Page Info","pageInfo:"+A(),a,b)}x(c,32)}function C(){function d(b,c){function d(){P[g]?B(P[g].iframe,g):e()}["scroll","resize"].forEach(function(e){h(g,b+e+" listener for sendPageInfo"),c(a,e,d)})}function e(){d("Remove ",c)}function f(){d("Add ",b)}var g=W;f(),P[g].stopPageInfo=e}function D(){P[W]&&P[W].stopPageInfo&&(P[W].stopPageInfo(),delete P[W].stopPageInfo)}function E(){var a=!0;return null===V.iframe&&(j(W,"IFrame ("+V.id+") not found"),a=!1),a}function F(a){var b=a.getBoundingClientRect();return o(W),{x:Math.floor(Number(b.left)+Number(M.x)),y:Math.floor(Number(b.top)+Number(M.y))}}function G(b){function c(){M=g,H(),h(W,"--")}function d(){return{x:Number(V.width)+f.x,y:Number(V.height)+f.y}}function e(){a.parentIFrame?a.parentIFrame["scrollTo"+(b?"Offset":"")](g.x,g.y):j(W,"Unable to scroll to requested position, window.parentIFrame not found")}var f=b?F(V.iframe):{x:0,y:0},g=d();h(W,"Reposition requested from iFrame (offset x:"+f.x+" y:"+f.y+")"),a.top!==a.self?e():c()}function H(){!1!==N("scrollCallback",M)?p(W):q()}function I(b){function c(){var a=F(g);h(W,"Moving to in page link (#"+e+") at x: "+a.x+" y: "+a.y),M={x:a.x,y:a.y},H(),h(W,"--")}function d(){a.parentIFrame?a.parentIFrame.moveToAnchor(e):h(W,"In page link #"+e+" not found and window.parentIFrame not found")}var e=b.split("#")[1]||"",f=decodeURIComponent(e),g=document.getElementById(f)||document.getElementsByName(f)[0];g?c():a.top!==a.self?d():h(W,"In page link #"+e+" not found")}function N(a,b){return m(W,a,b)}function O(){switch(P[W].firstRun&&T(),V.type){case"close":n(V.iframe);break;case"message":z(y(6));break;case"scrollTo":G(!1);break;case"scrollToOffset":G(!0);break;case"pageInfo":B(P[W].iframe,W),C();break;case"pageInfoStop":D();break;case"inPageLink":I(y(9));break;case"reset":r(V);break;case"init":e(),N("initCallback",V.iframe),N("resizedCallback",V);break;default:e(),N("resizedCallback",V)}}function Q(a){var b=!0;return P[a]||(b=!1,j(V.type+" No settings for "+a+". Message was: "+U)),b}function S(){for(var a in P)u("iFrame requested init",v(a),document.getElementById(a),a)}function T(){P[W].firstRun=!1}var U=d.data,V={},W=null;"[iFrameResizerChild]Ready"===U?S():l()?(V=f(),W=R=V.id,!w()&&Q(W)&&(h(W,"Received: "+U),E()&&k()&&O())):i(W,"Ignored: "+U)}function m(a,b,c){var d=null,e=null;if(P[a]){if(d=P[a][b],"function"!=typeof d)throw new TypeError(b+" on iFrame["+a+"] is not a function");e=d(c)}return e}function n(a){var b=a.id;h(b,"Removing iFrame: "+b),a.parentNode.removeChild(a),m(b,"closedCallback",b),h(b,"--"),delete P[b]}function o(b){null===M&&(M={x:void 0!==a.pageXOffset?a.pageXOffset:document.documentElement.scrollLeft,y:void 0!==a.pageYOffset?a.pageYOffset:document.documentElement.scrollTop},h(b,"Get page position: "+M.x+","+M.y))}function p(b){null!==M&&(a.scrollTo(M.x,M.y),h(b,"Set page position: "+M.x+","+M.y),q())}function q(){M=null}function r(a){function b(){s(a),u("reset","reset",a.iframe,a.id)}h(a.id,"Size reset requested by "+("init"===a.type?"host page":"iFrame")),o(a.id),t(b,a,"reset")}function s(a){function b(b){a.iframe.style[b]=a[b]+"px",h(a.id,"IFrame ("+e+") "+b+" set to "+a[b]+"px")}function c(b){H||"0"!==a[b]||(H=!0,h(e,"Hidden iFrame detected, creating visibility listener"),y())}function d(a){b(a),c(a)}var e=a.iframe.id;P[e]&&(P[e].sizeHeight&&d("height"),P[e].sizeWidth&&d("width"))}function t(a,b,c){c!==b.type&&N?(h(b.id,"Requesting animation frame"),N(a)):a()}function u(a,b,c,d){function e(){var e=P[d].targetOrigin;h(d,"["+a+"] Sending msg to iframe["+d+"] ("+b+") targetOrigin: "+e),c.contentWindow.postMessage(K+b,e)}function f(){i(d,"["+a+"] IFrame("+d+") not found"),P[d]&&delete P[d]}function g(){c&&"contentWindow"in c&&null!==c.contentWindow?e():f()}d=d||c.id,P[d]&&g()}function v(a){return a+":"+P[a].bodyMarginV1+":"+P[a].sizeWidth+":"+P[a].log+":"+P[a].interval+":"+P[a].enablePublicMethods+":"+P[a].autoResize+":"+P[a].bodyMargin+":"+P[a].heightCalculationMethod+":"+P[a].bodyBackground+":"+P[a].bodyPadding+":"+P[a].tolerance+":"+P[a].inPageLinks+":"+P[a].resizeFrom+":"+P[a].widthCalculationMethod}function w(a,c){function d(){function b(b){1/0!==P[w][b]&&0!==P[w][b]&&(a.style[b]=P[w][b]+"px",h(w,"Set "+b+" = "+P[w][b]+"px"))}function c(a){if(P[w]["min"+a]>P[w]["max"+a])throw new Error("Value for min"+a+" can not be greater than max"+a)}c("Height"),c("Width"),b("maxHeight"),b("minHeight"),b("maxWidth"),b("minWidth")}function e(){var a=c&&c.id||S.id+F++;return null!==document.getElementById(a)&&(a+=F++),a}function f(b){return R=b,""===b&&(a.id=b=e(),G=(c||{}).log,R=b,h(b,"Added missing iframe ID: "+b+" ("+a.src+")")),b}function g(){h(w,"IFrame scrolling "+(P[w].scrolling?"enabled":"disabled")+" for "+w),a.style.overflow=!1===P[w].scrolling?"hidden":"auto",a.scrolling=!1===P[w].scrolling?"no":"yes"}function i(){("number"==typeof P[w].bodyMargin||"0"===P[w].bodyMargin)&&(P[w].bodyMarginV1=P[w].bodyMargin,P[w].bodyMargin=""+P[w].bodyMargin+"px")}function k(){var b=P[w].firstRun,c=P[w].heightCalculationMethod in O;!b&&c&&r({iframe:a,height:0,width:0,type:"init"})}function l(){Function.prototype.bind&&(P[w].iframe.iFrameResizer={close:n.bind(null,P[w].iframe),resize:u.bind(null,"Window resize","resize",P[w].iframe),moveToAnchor:function(a){u("Move to anchor","moveToAnchor:"+a,P[w].iframe,w)},sendMessage:function(a){a=JSON.stringify(a),u("Send Message","message:"+a,P[w].iframe,w)}})}function m(c){function d(){u("iFrame.onload",c,a),k()}b(a,"load",d),u("init",c,a)}function o(a){if("object"!=typeof a)throw new TypeError("Options is not an object")}function p(a){for(var b in S)S.hasOwnProperty(b)&&(P[w][b]=a.hasOwnProperty(b)?a[b]:S[b])}function q(a){return""===a||"file://"===a?"*":a}function s(b){b=b||{},P[w]={firstRun:!0,iframe:a,remoteHost:a.src.split("/").slice(0,3).join("/")},o(b),p(b),P[w].targetOrigin=!0===P[w].checkOrigin?q(P[w].remoteHost):"*"}function t(){return w in P&&"iFrameResizer"in a}var w=f(a.id);t()?j(w,"Ignored iFrame, already setup."):(s(c),g(),d(),i(),m(v(w)),l())}function x(a,b){null===Q&&(Q=setTimeout(function(){Q=null,a()},b))}function y(){function b(){function a(a){function b(b){return"0px"===P[a].iframe.style[b]}function c(a){return null!==a.offsetParent}c(P[a].iframe)&&(b("height")||b("width"))&&u("Visibility change","resize",P[a].iframe,a)}for(var b in P)a(b)}function c(a){h("window","Mutation observed: "+a[0].target+" "+a[0].type),x(b,16)}function d(){var a=document.querySelector("body"),b={attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0},d=new e(c);d.observe(a,b)}var e=a.MutationObserver||a.WebKitMutationObserver;e&&d()}function z(a){function b(){B("Window "+a,"resize")}h("window","Trigger event: "+a),x(b,16)}function A(){function a(){B("Tab Visable","resize")}"hidden"!==document.visibilityState&&(h("document","Trigger event: Visiblity change"),x(a,16))}function B(a,b){function c(a){return"parent"===P[a].resizeFrom&&P[a].autoResize&&!P[a].firstRun}for(var d in P)c(d)&&u(a,b,document.getElementById(d),d)}function C(){b(a,"message",l),b(a,"resize",function(){z("resize")}),b(document,"visibilitychange",A),b(document,"-webkit-visibilitychange",A),b(a,"focusin",function(){z("focus")}),b(a,"focus",function(){z("focus")})}function D(){function a(a,c){function d(){if(!c.tagName)throw new TypeError("Object is not a valid DOM element");if("IFRA