/*! Respond.js v1.0.1pre: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs  */
(function(e,h){e.respond={};respond.update=function(){};respond.mediaQueriesSupported=h;if(h){return}var u=e.document,r=u.documentElement,i=[],k=[],p=[],o={},g=30,f=u.getElementsByTagName("head")[0]||r,b=f.getElementsByTagName("link"),d=[],a=function(){var B=b,w=B.length,z=0,y,x,A,v;for(;z<w;z++){y=B[z],x=y.href,A=y.media,v=y.rel&&y.rel.toLowerCase()==="stylesheet";if(!!x&&v&&!o[x]){if(y.styleSheet&&y.styleSheet.rawCssText){m(y.styleSheet.rawCssText,x,A);o[x]=true}else{if(!/^([a-zA-Z]+?:(\/\/)?)/.test(x)||x.replace(RegExp.$1,"").split("/")[0]===e.location.host){d.push({href:x,media:A})}}}}t()},t=function(){if(d.length){var v=d.shift();n(v.href,function(w){m(w,v.href,v.media);o[v.href]=true;t()})}},m=function(G,v,x){var E=G.match(/@media[^\{]+\{([^\{\}]+\{[^\}\{]+\})+/gi),H=E&&E.length||0,v=v.substring(0,v.lastIndexOf("/")),w=function(I){return I.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+v+"$2$3")},y=!H&&x,B=0,A,C,D,z,F;if(v.length){v+="/"}if(y){H=1}for(;B<H;B++){A=0;if(y){C=x;k.push(w(G))}else{C=E[B].match(/@media ([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1;k.push(RegExp.$2&&w(RegExp.$2))}z=C.split(",");F=z.length;for(;A<F;A++){D=z[A];i.push({media:D.match(/(only\s+)?([a-zA-Z]+)(\sand)?/)&&RegExp.$2,rules:k.length-1,minw:D.match(/\(min\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1),maxw:D.match(/\(max\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1)})}}j()},l,q,j=function(E){var v="clientWidth",x=r[v],D=u.compatMode==="CSS1Compat"&&x||u.body[v]||x,z={},C=u.createDocumentFragment(),B=b[b.length-1],w=(new Date()).getTime();if(E&&l&&w-l<g){clearTimeout(q);q=setTimeout(j,g);return}else{l=w}for(var y in i){var F=i[y];if(!F.minw&&!F.maxw||(!F.minw||F.minw&&D>=F.minw)&&(!F.maxw||F.maxw&&D<=F.maxw)){if(!z[F.media]){z[F.media]=[]}z[F.media].push(k[F.rules])}}for(var y in p){if(p[y]&&p[y].parentNode===f){f.removeChild(p[y])}}for(var y in z){var G=u.createElement("style"),A=z[y].join("\n");G.type="text/css";G.media=y;if(G.styleSheet){G.styleSheet.cssText=A}else{G.appendChild(u.createTextNode(A))}C.appendChild(G);p.push(G)}f.insertBefore(C,B.nextSibling)},n=function(v,x){var w=c();if(!w){return}w.open("GET",v,true);w.onreadystatechange=function(){if(w.readyState!=4||w.status!=200&&w.status!=304){return}x(w.responseText)};if(w.readyState==4){return}w.send(null)},c=(function(){var v=false;try{v=new XMLHttpRequest()}catch(w){v=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return v}})();a();respond.update=a;function s(){j(true)}if(e.addEventListener){e.addEventListener("resize",s,false)}else{if(e.attachEvent){e.attachEvent("onresize",s)}}})(this,(function(f){if(f.matchMedia){return true}var e,i=document,c=i.documentElement,g=c.firstElementChild||c.firstChild,h=!i.body,d=i.body||i.createElement("body"),b=i.createElement("div"),a="only all";b.id="mq-test-1";b.style.cssText="position:absolute;top:-99em";d.appendChild(b);b.innerHTML='_<style media="'+a+'"> #mq-test-1 { width: 9px; }</style>';if(h){c.insertBefore(d,g)}b.removeChild(b.firstChild);e=b.offsetWidth==9;if(h){c.removeChild(d)}else{d.removeChild(b)}return e})(this));
// http://stackoverflow.com/questions/1108693/is-it-possible-to-register-a-httpdomain-based-url-scheme-for-iphone-apps-like/1109200#1109200
function applink(fail){
return function(){
var clickedAt = +new Date;
// During tests on 3g/3gs this timeout fires immediately if less than 500ms.
setTimeout(function(){
// To avoid failing on return to MobileSafari, ensure freshness!
if (+new Date - clickedAt < 2000){
window.location = fail;
}
}, 500);
};
}
// https://gist.github.com/1038035
var iPadLabels = function () {
function fix() {
var labels = document.getElementsByTagName('label'),
target_id,
el;
for (var i = 0; labels[i]; i++) {
if (labels[i].getAttribute('for')) {
labels[i].onclick = labelClick;
}
}
};
function labelClick() {
el = document.getElementById(this.getAttribute('for'));
if (['radio', 'checkbox'].indexOf(el.getAttribute('type')) != -1) {
el.setAttribute('selected', !el.getAttribute('selected'));
} else {
el.focus();
}
};
return {
fix: fix
}
}();
var browserTouch = function () { // https://github.com/CloudMade/Leaflet/blob/master/src/core/Browser.js
var touchSupported = false,
startName = 'ontouchstart';
// WebKit, etc
if (startName in document.documentElement) {
return true;
}
// Firefox/Gecko
var e = document.createElement('div');
// If no support for basic event stuff, unlikely to have touch support
if (!e.setAttribute || !e.removeAttribute) {
return false;
}
e.setAttribute(startName, 'return;');
if (typeof e[startName] === 'function') {
touchSupported = true;
}
e.removeAttribute(startName);
e = null;
return touchSupported;
}();
/*
Developed by Robert Nyman, http://www.robertnyman.com
Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/
var getElementsByClassName = function (className, tag, elm){
if (document.getElementsByClassName) {
getElementsByClassName = function (className, tag, elm) {
elm = elm || document;
var elements = elm.getElementsByClassName(className),
nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
returnElements = [],
current;
for(var i=0, il=elements.length; i<il; i+=1){
current = elements[i];
if(!nodeName || nodeName.test(current.nodeName)) {
returnElements.push(current);
}
}
return returnElements;
};
}
else if (document.evaluate) {
getElementsByClassName = function (className, tag, elm) {
tag = tag || "*";
elm = elm || document;
var classes = className.split(" "),
classesToCheck = "",
xhtmlNamespace = "http://www.w3.org/1999/xhtml",
namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
returnElements = [],
elements,
node;
for(var j=0, jl=classes.length; j<jl; j+=1){
classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
}
try	{
elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
}
catch (e) {
elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
}
while ((node = elements.iterateNext())) {
returnElements.push(node);
}
return returnElements;
};
}
else {
getElementsByClassName = function (className, tag, elm) {
tag = tag || "*";
elm = elm || document;
var classes = className.split(" "),
classesToCheck = [],
elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
current,
returnElements = [],
match;
for(var k=0, kl=classes.length; k<kl; k+=1){
classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
}
for(var l=0, ll=elements.length; l<ll; l+=1){
current = elements[l];
match = false;
for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
match = classesToCheck[m].test(current.className);
if (!match) {
break;
}
}
if (match) {
returnElements.push(current);
}
}
return returnElements;
};
}
return getElementsByClassName(className, tag, elm);
};
function addClassName(element,className){
var currentClass = element.className;
if(!new RegExp(("(^|\\s)" + className + "(\\s|$)"), "i").test(currentClass)){
element.className = currentClass + ((currentClass.length > 0)? " " : "") + className;
}
}
function hasClassName(element,className){
return new RegExp(("(^|\\s)" + className + "(\\s|$)"), "i").test(element.className);
}
function removeClassName(element, className) {
if (!className || typeof className !== 'string') return;
//			if (element.nodeType !== nodeTypes.ELEMENT_NODE) return;
if (element.classList) return element.classList.remove(className);
if (element.className) {
element.className = element.className.
replace(new RegExp('\\s?\\b' + className + '\\b'), '').
replace(/^\s+/, '');
}
};
sMobile = function(){
var nav,
navbtn,
bodyEl,
content,
smartphone = false,
galleryLoad = true,
h=document.documentElement,
images = [
//		'/assets/mobile/content/button-nav.png'
],
startonce = false	;
function initialize(){
if(startonce) {return false;}
bodyEl = document.getElementById('bankaustria-kunstforum');
content = document.getElementById('content');
startonce = true;
if((/iphone|ipod|ipad|android/gi).test(navigator.platform)) {
//		if((/webkit/gi).test(navigator.userAgent)) {
smart = true;
h.className=h.className.replace(/\bmobile\b/,'smart');
}
//		initNav();
iPadLabels.fix();
initGallery();
testAudio();
multiMedia();
autoSelect();
toggleAddress();
//		preloadImages();
var selects = getElementsByClassName("selectmod", "div");
if(selects.length > 0) {
for (var i = 0; i < selects.length; i++) {
anchorSelect(selects[i],'asready');
}
}
if((/iphone|ipod|ipad/gi).test(navigator.userAgent)) {
var fsq = getElementsByClassName("fsq", "a");
if(fsq.length > 0) {
for (var i = 0, f = fsq[i]; fsq[i]; i++) {
f.olfhref = f.href;
f.href ="foursquare://venues/"+f.getAttribute('data-venue');
f.onclick = applink(fsq[i].olfhref);
}
}
}
if((/iphone|ipod/gi).test(navigator.userAgent)) { // funktioniert niht mit ipad facebook App
var fb = getElementsByClassName("fb", "a");
if(fb.length > 0) {
for (var i = 0, f = fb[i]; fb[i]; i++) {
f.olfhref = f.href;
f.href ="fb://profile/"+f.getAttribute('data-id');
f.onclick = applink(fb[i].olfhref);
}
}
}
/*		var input = document.getElementsByTagName("input");
if(input.length > 0) {
for (var i = 0; i < input.length; i++) {
if(input[i].getAttribute('list')) {
datalist.start(input[i]);
}
}
}*/
}
function initGallery(){
if(hasClassName(bodyEl, 'module_article') || hasClassName(bodyEl, 'module_teacherguide') || hasClassName(bodyEl, 'module_freepage')) {
if(window.innerWidth > 768 || ieMQ) {
galleryLoad = false;
} // alle bis auf IE
}
if(galleryLoad) {
var galeries = getElementsByClassName("scroll", "div");
if(galeries.length > 0) {
moduleLoad('mobile-scroll');
}
}
}
function anchorSelect(el,className){
var el = el;
if(!el) { return false; }
el.visible = false;
addClassName(el,className);
var anchors = el.getElementsByTagName('a');
if(anchors.length > 0) {
for (var i = 0; i < anchors.length; i++) {
var a = anchors[i];
//				if(hasClassName(a,'active') && window.innerWidth < 479) {
if(hasClassName(a,'active') && iWidth < 768) {
a.onclick = function() {
return false;
}
}
}
}
el.onclick = function(ev) {
if(el.visible) {
removeClassName(el,'selactive');
el.visible = false;
} else {
addClassName(el,'selactive');
el.visible = true;
}
};
}
function multiMedia(){
var anchors = content.getElementsByTagName("a");
if(anchors.length > 0) {
for (var i = 0; i < anchors.length; i++) {
var a  = anchors[i];
if(a.getAttribute('data-mobile')) {
a.href = a.getAttribute('data-mobile');
}
}
}
}
function toggleAddress(){
var check = document.getElementById('shop-alternateaddress');
var fieldset = document.getElementById('shop-shippingadress');
if(!check || !fieldset) {return false;}
fieldset.visible = true;
if(!check.checked) {
fieldset.style.display = "none";
fieldset.visible = false;
}
check.onchange = function(ev) {
if(fieldset.visible) {
fieldset.style.display = "none";
fieldset.visible = false;
} else {
fieldset.style.display = "block";
fieldset.visible = true;
}
};
}
/*  function initNav(){
var container = document.getElementById('nav');
var visible = false;
if(!container) { return false; }
addClassName(container,'navselect');
container.onclick = function(ev) {
if(visible) {
removeClassName(container,'active');
visible = false;
} else {
addClassName(container,'active');
visible = true;
}
};
var oimg = "/assets/mobile/content/button-nav.png";
var oalt = "Navigation öffnen";
var cimg = "/assets/mobile/content/button-nav-active.png";
var calt = "Navigation schließen";
var nav = document.getElementById('nav');
var navbtn = document.getElementById('navbtn');
var navimg = document.getElementById('navimg');
var navh = document.getElementById('nav-head');
if(nav && navbtn && navimg) {
if(document.getElementsByTagName('body')[0].className.indexOf('home') === -1) {
nav.className = "navclose";
navimg.src = oimg;
navh.className= "a";
navimg.alt = oalt;
} else {
nav.className = "navopen";
}
navbtn.onclick = function(ev) {
if(nav.className == 'navclose') {
nav.className= "navopen";
navimg.src = cimg;
navh.className= "";
navimg.alt = calt;
} else {
nav.className = "navclose";
navimg.src = oimg;
navh.className= "a";
navimg.alt = oalt;
}
return false;
};
}
}*/
function initSearch(){
var searchanchor = document.getElementById('searchanchor');
var header = document.getElementById('header');
var container = document.getElementById('searchwrap');
var visible = false;
if(!searchanchor) { return false; }
if(!container) { return false; }
searchanchor.onclick = function(ev) {
if(visible) {
removeClassName(header,'searchactive');
visible = false;
} else {
addClassName(header,'searchactive');
visible = true;
}
};
}
function autoSelect(){
var f = getElementsByClassName("autoselect", "form");
for (var i = 0; f[i]; i++) {
autoSubmit(f[i]);
}
}
function autoSubmit(el){
var f = el;
var s = f.getElementsByTagName('select');
for (var i = 0; s[i]; i++) {
s[i].onchange = function() {f.submit();};
}
f.button.style.display = "none";
}
function moduleLoad(modul) {
//		if((/iphone|ipod|ipad|android/gi).test(navigator.platform)) {
if(!document.getElementById(modul+'-js')) {
var headTag = document.getElementsByTagName('head')[0];
var ms = document.createElement('script');
ms.id = modul+'-js';
ms.src = '/assets/js/?f=iscroll.js%2Czepto.js%2Ciscroll-custom.js%2C'+modul+'.js';
headTag.appendChild(ms);
}
//		}
}
function checkHeight() {
var top = document.getElementById('top');
if(!top) {return false;}
var height =getDocHeight();
if(height > 1000) {
top.style.display = 'block';
} else {
top.style.display = 'none';
}
}
function getDocHeight() {
var D = document;
return Math.max(
//        Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
Math.max(D.body.offsetHeight, D.documentElement.offsetHeight)
//        Math.max(D.body.clientHeight, D.documentElement.clientHeight)
);
}
function preloadImages() {
// Preload images
if (images) {
for (var i = images.length - 1; i >= 0; i--) {
(new Image()).src = images[i];
};
}
}
function testAudio() {
if(document.createElement('audio')) {
var testAudio = document.createElement('audio');
if(!!testAudio.canPlayType && "" != testAudio.canPlayType('audio/mpeg')) {
}	else {
var h=document.documentElement;
h.className=h.className.replace(/\baudio\b/,'no-audio');
}
}
}
/*  function detect(ua){
var ua = ua, os = {},
android = ua.match(/(Android)\s+([\d.]+)/),
iphone = ua.match(/(iPhone\sOS)\s([\d_]+)/),
ipad = ua.match(/(iPad).*OS\s([\d_]+)/),
webos = ua.match(/(webOS)\/([\d.]+)/),
blackberry = ua.match(/(BlackBerry).*Version\/([\d.]+)/);
if (android) os.android = true, os.version = android[2];
if (iphone) os.ios = true, os.version = iphone[2].replace(/_/g, '.'), os.iphone = true;
if (ipad) os.ios = true, os.version = ipad[2].replace(/_/g, '.'), os.ipad = true;
if (webos) os.webos = true, os.version = webos[2];
if (blackberry) os.blackberry = true, os.version = blackberry[2];
return os;
}	*/
return{
start:initialize,
checkHeight:checkHeight,
load: moduleLoad,
anchorSelect:anchorSelect,
initSearch:initSearch
}
}();
var mq = function () {
var doc = window.document,
html = document.documentElement,
body = doc.body,
viewportmeta = document.querySelector && document.querySelector('meta[name="viewport"]'),
ua = navigator.userAgent;
notloaded = true,
hero = false,
assets = {
js: {
lightview : "effects.js,lightview-config.js,lightview-2.7.1.js",
scalefix : "ios-orientationchange-fix.js",
exihibtion: "tab.js",
aselect: "anchor-select.js",
rollover: "image-rollover.js",
map: "gmap.js",
bxslider : "jquery.min.js,jquery.bxslider.min.js,bxslider.js",
socialwall : "socialwall.js",
core : "prototype.s2.min.js,prototype.a11y.js,accesskeys.js,e2s.js",
fb: "s2-ui.js,fb.js",
end : "echonet.js"
}
},
jsToLoad = [
assets.js.core, assets.js.bxslider, assets.js.socialwall
];
function loadJS(url, callback) {
if(url) {
var ds = document.createElement('script');
ds.type = 'text/javascript';
ds.async = true;
if(callback) { // http://www.slideshare.net/nzakas/high-performance-javascript-amazon-devcon-2011#77
if (script.readyState){ //IE <= 8
ds.onreadystatechange = function(){
if (ds.readyState == "loaded" || ds.readyState == "complete"){
ds.onreadystatechange = null;
callback();
}
};
} else { //Others
ds.onload = function(){
callback();
};
}
}
ds.src = url;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ds, s);
}
}
function loadCSS(url) {
if(url) {
var ds = document.createElement('link');
ds.type = 'text/css';
ds.media = 'all';
ds.rel ="stylesheet";
ds.href = url;
var s = document.getElementsByTagName('link')[0];
s.parentNode.insertBefore(ds, s);
}
}
/*	function loadLightview() {
var lightviewModules	= [
"module_article"
];
var length = lightviewModules.length;
var loadIt = false;
for(var x=0; x < length; x++){
if(lightviewModules[x]){
console.info(document.getElementById('bankaustria-kunstforum'));
if(hasClass(document.getElementById('bankaustria-kunstforum'), lightviewModules[x])){
loadIt = true;
}
}
}
if(loadIt) {
loadJS('/assets/js/?f='+assets.js.lightview);
}
}*/
function scaleFix() {
if (viewportmeta && /iPhone|iPod|iPad/.test(navigator.platform) && !/Opera Mini/.test(ua)) {
loadJS('/assets/js/?f='+assets.js.scalefix);
}
}
function init() {
hero = respond.mediaQueriesSupported || ieMQ; // Breite zusätzlich abfragen?
if(!hero){return;} // Kein Extra Javascript
scaleFix();
/*		if(!mobile) { // Abfrage Windows Phone 7, nicht 7.5
mobile = browserTouch;
}*/
if(navigator.userAgent.indexOf('Mobi') === -1) { // Kein Touch und kein "Mobile" im User String = Desktop
html.className=html.className.replace(/\bmobile\b/,'desktop');
mobile = false;
/*			if(document.getElementById('ilightbox')) {
jsToLoad.push(assets.js.ilight);
}
if(document.getElementById('event-cat') || document.getElementById('event-month')) {
jsToLoad.push(assets.js.aselect);
}
jsToLoad.push(assets.js.end);*/
jsToLoad.push(assets.js.aselect);
jsToLoad.push(assets.js.exihibtion);
jsToLoad.push(assets.js.map);
jsToLoad.push(assets.js.rollover);
if(document.getElementById("fb-load")){
jsToLoad.push(assets.js.fb);
}
jsToLoad.push(assets.js.end);
//			loadJS('/assets/js/?f='+jsToLoad.join(",")+'&recache=1');
/*			if(window.screen.width > 740) {
loadLightview();
}*/
// WebReflection Solution for ensuring domready fires when dynamically appending jQuery in older browsers
(function(h,a,c,k){if(h[a]==null&&h[c]){h[a]="loading";h[c](k,c=function(){h[a]="complete";h.removeEventListener(k,c,!1)},!1)}})(document,"readyState","addEventListener","DOMContentLoaded");
}
loadJS('/assets/js/?f='+jsToLoad.join(","));
}
function onload() {
if(notloaded) {
notloaded = false;
domLoad = true;
sMobile.anchorSelect(document.getElementById('nav'),'navselect'); // für alle Browser
sMobile.initSearch(); // für alle Browser
if(mobile || document.body.className.match(/\bmobiledebug\b/)) {
sMobile.start();
}
window.addEventListener('resize', function(event){
if (typeof (window.innerWidth) == 'number') {
iWidth = window.innerWidth;
} else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
iWidth = document.documentElement.clientWidth;
} else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
iWidth = document.body.clientWidth;
}
});
}
}
return{
loadJS:loadJS,
loadCSS:loadCSS,
init:init,
onload:onload
}
}();
mq.init();
if(typeof document.addEventListener != "undefined") {
document.addEventListener('DOMContentLoaded', function(){mq.onload();}, false);
window.addEventListener("load", function(){ mq.onload();}, false); // Nokia Browser supports addEventListener but no "DOMContentLoaded"
} else {
window.attachEvent("onload", function(){ mq.onload();})
}