/*
 * Modernizr v1.6
 * http://www.modernizr.com
 *
 * Developed by: 
 * - Faruk Ates  http://farukat.es/
 * - Paul Irish  http://paulirish.com/
 *
 * Copyright (c) 2009-2010
 * Dual-licensed under the BSD or MIT licenses.
 * http://www.modernizr.com/license/
 */
window.Modernizr = function (a, b, c) { function G() { e.input = function (a) { for (var b = 0, c = a.length; b < c; b++) t[a[b]] = !!(a[b] in l); return t } ("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")), e.inputtypes = function (a) { for (var d = 0, e, f, h, i = a.length; d < i; d++) l.setAttribute("type", f = a[d]), e = l.type !== "text", e && (l.value = m, l.style.cssText = "position:absolute;visibility:hidden;", /^range$/.test(f) && l.style.WebkitAppearance !== c ? (g.appendChild(l), h = b.defaultView, e = h.getComputedStyle && h.getComputedStyle(l, null).WebkitAppearance !== "textfield" && l.offsetHeight !== 0, g.removeChild(l)) : /^(search|tel)$/.test(f) || (/^(url|email)$/.test(f) ? e = l.checkValidity && l.checkValidity() === !1 : /^color$/.test(f) ? (g.appendChild(l), g.offsetWidth, e = l.value != m, g.removeChild(l)) : e = l.value != m)), s[a[d]] = !!e; return s } ("search tel url email datetime date month week time datetime-local number range color".split(" ")) } function F(a, b) { var c = a.charAt(0).toUpperCase() + a.substr(1), d = (a + " " + p.join(c + " ") + c).split(" "); return !!E(d, b) } function E(a, b) { for (var d in a) if (k[a[d]] !== c && (!b || b(a[d], j))) return !0 } function D(a, b) { return ("" + a).indexOf(b) !== -1 } function C(a, b) { return typeof a === b } function B(a, b) { return A(o.join(a + ";") + (b || "")) } function A(a) { k.cssText = a } var d = "1.7pre", e = {}, f = !0, g = b.documentElement, h = b.head || b.getElementsByTagName("head")[0], i = "modernizr", j = b.createElement(i), k = j.style, l = b.createElement("input"), m = ":)", n = Object.prototype.toString, o = " -webkit- -moz- -o- -ms- -khtml- ".split(" "), p = "Webkit Moz O ms Khtml".split(" "), q = { svg: "http://www.w3.org/2000/svg" }, r = {}, s = {}, t = {}, u = [], v, w = function (a) { var c = b.createElement("style"), d = b.createElement("div"), e; c.textContent = a + "{#modernizr{height:3px}}", h.appendChild(c), d.id = "modernizr", g.appendChild(d), e = d.offsetHeight === 3, c.parentNode.removeChild(c), d.parentNode.removeChild(d); return !!e }, x = function () { function d(d, e) { e = e || b.createElement(a[d] || "div"); var f = (d = "on" + d) in e; f || (e.setAttribute || (e = b.createElement("div")), e.setAttribute && e.removeAttribute && (e.setAttribute(d, ""), f = C(e[d], "function"), C(e[d], c) || (e[d] = c), e.removeAttribute(d))), e = null; return f } var a = { select: "input", change: "input", submit: "form", reset: "form", error: "img", load: "img", abort: "img" }; return d } (), y = ({}).hasOwnProperty, z; C(y, c) || C(y.call, c) ? z = function (a, b) { return b in a && C(a.constructor.prototype[b], c) } : z = function (a, b) { return y.call(a, b) }, r.flexbox = function () { function c(a, b, c, d) { a.style.cssText = o.join(b + ":" + c + ";") + (d || "") } function a(a, b, c, d) { b += ":", a.style.cssText = (b + o.join(c + ";" + b)).slice(0, -b.length) + (d || "") } var d = b.createElement("div"), e = b.createElement("div"); a(d, "display", "box", "width:42px;padding:0;"), c(e, "box-flex", "1", "width:10px;"), d.appendChild(e), g.appendChild(d); var f = e.offsetWidth === 42; d.removeChild(e), g.removeChild(d); return f }, r.canvas = function () { var a = b.createElement("canvas"); return a.getContext && a.getContext("2d") }, r.canvastext = function () { return e.canvas && C(b.createElement("canvas").getContext("2d").fillText, "function") }, r.postmessage = function () { return !!a.postMessage }, r.websqldatabase = function () { var b = !!a.openDatabase; return b }, r.indexedDB = function () { for (var b = -1, c = p.length; ++b < c; ) { var d = p[b].toLowerCase(); if (a[d + "_indexedDB"] || a[d + "IndexedDB"]) return !0 } return !1 }, r.hashchange = function () { return x("hashchange", a) && (b.documentMode === c || b.documentMode > 7) }, r.history = function () { return a.history && history.pushState }, r.draganddrop = function () { return x("dragstart") && x("drop") }, r.websockets = function () { return "WebSocket" in a }, r.rgba = function () { A("background-color:rgba(150,255,150,.5)"); return D(k.backgroundColor, "rgba") }, r.hsla = function () { A("background-color:hsla(120,40%,100%,.5)"); return D(k.backgroundColor, "rgba") || D(k.backgroundColor, "hsla") }, r.multiplebgs = function () { A("background:url(//:),url(//:),red url(//:)"); return (new RegExp("(url\\s*\\(.*?){3}")).test(k.background) }, r.backgroundsize = function () { return F("backgroundSize") }, r.borderimage = function () { return F("borderImage") }, r.borderradius = function () { return F("borderRadius", "", function (a) { return D(a, "orderRadius") }) }, r.boxshadow = function () { return F("boxShadow") }, r.textshadow = function () { return b.createElement("div").style.textShadow === "" }, r.opacity = function () { B("opacity:.55"); return /^0.55$/.test(k.opacity) }, r.cssanimations = function () { return F("animationName") }, r.csscolumns = function () { return F("columnCount") }, r.cssgradients = function () { var a = "background-image:", b = "gradient(linear,left top,right bottom,from(#9f9),to(white));", c = "linear-gradient(left top,#9f9, white);"; A((a + o.join(b + a) + o.join(c + a)).slice(0, -a.length)); return D(k.backgroundImage, "gradient") }, r.cssreflections = function () { return F("boxReflect") }, r.csstransforms = function () { return !!E(["transformProperty", "WebkitTransform", "MozTransform", "OTransform", "msTransform"]) }, r.csstransforms3d = function () { var a = !!E(["perspectiveProperty", "WebkitPerspective", "MozPerspective", "OPerspective", "msPerspective"]); a && "webkitPerspective" in g.style && (a = w("@media (" + o.join("transform-3d),(") + "modernizr)")); return a }, r.csstransitions = function () { return F("transitionProperty") }, r.fontface = function () { var a, c, d = h || g, e = b.createElement("style"), f = b.implementation || { hasFeature: function () { return !1 } }; e.type = "text/css", d.insertBefore(e, d.firstChild), a = e.sheet || e.styleSheet; var i = f.hasFeature("CSS2", "") ? function (b) { if (!a || !b) return !1; var c = !1; try { a.insertRule(b, 0), c = /src/i.test(a.cssRules[0].cssText), a.deleteRule(a.cssRules.length - 1) } catch (d) { } return c } : function (b) { if (!a || !b) return !1; a.cssText = b; return a.cssText.length !== 0 && /src/i.test(a.cssText) && a.cssText.replace(/\r+|\n+/g, "").indexOf(b.split(" ")[0]) === 0 }; c = i('@font-face { font-family: "font"; src: url(data:,); }'), d.removeChild(e); return c }, r.video = function () { var a = b.createElement("video"), c = !!a.canPlayType; if (c) { c = new Boolean(c), c.ogg = a.canPlayType('video/ogg; codecs="theora"'); var d = 'video/mp4; codecs="avc1.42E01E'; c.h264 = a.canPlayType(d + '"') || a.canPlayType(d + ', mp4a.40.2"'), c.webm = a.canPlayType('video/webm; codecs="vp8, vorbis"') } return c }, r.audio = function () { var a = b.createElement("audio"), c = !!a.canPlayType; c && (c = new Boolean(c), c.ogg = a.canPlayType('audio/ogg; codecs="vorbis"'), c.mp3 = a.canPlayType("audio/mpeg;"), c.wav = a.canPlayType('audio/wav; codecs="1"'), c.m4a = a.canPlayType("audio/x-m4a;") || a.canPlayType("audio/aac;")); return c }, r.localstorage = function () { try { return !!localStorage.getItem } catch (a) { return !1 } }, r.sessionstorage = function () { try { return !!sessionStorage.getItem } catch (a) { return !1 } }, r.webWorkers = function () { return !!a.Worker }, r.applicationcache = function () { return !!a.applicationCache }; for (var H in r) z(r, H) && (v = H.toLowerCase(), e[v] = r[H](), u.push((e[v] ? "" : "no-") + v)); e.input || G(), e.crosswindowmessaging = e.postmessage, e.historymanagement = e.history, e.addTest = function (a, b) { a = a.toLowerCase(); if (!e[a]) { b = !!b(), g.className += " " + (b ? "" : "no-") + a, e[a] = b; return e } }, A(""), j = l = null, f && a.attachEvent && function () { var a = b.createElement("div"); a.innerHTML = "<elem></elem>"; return a.childNodes.length !== 1 } () && function (a, b) { function p(a, b) { var c = -1, d = a.length, e, f = []; while (++c < d) e = a[c], (b = e.media || b) != "screen" && f.push(p(e.imports, b), e.cssText); return f.join("") } function o(a) { var b = -1; while (++b < e) a.createElement(d[b]) } var c = "abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", d = c.split("|"), e = d.length, f = new RegExp("(^|\\s)(" + c + ")", "gi"), g = new RegExp("<(/*)(" + c + ")", "gi"), h = new RegExp("(^|[^\\n]*?\\s)(" + c + ")([^\\n]*)({[\\n\\w\\W]*?})", "gi"), i = b.createDocumentFragment(), j = b.documentElement, k = j.firstChild, l = b.createElement("body"), m = b.createElement("style"), n; o(b), o(i), k.insertBefore(m, k.firstChild), m.media = "print", a.attachEvent("onbeforeprint", function () { var a = -1, c = p(b.styleSheets, "all"), k = [], o; n = n || b.body; while ((o = h.exec(c)) != null) k.push((o[1] + o[2] + o[3]).replace(f, "$1.iepp_$2") + o[4]); m.styleSheet.cssText = k.join("\n"); while (++a < e) { var q = b.getElementsByTagName(d[a]), r = q.length, s = -1; while (++s < r) q[s].className.indexOf("iepp_") < 0 && (q[s].className += " iepp_" + d[a]) } i.appendChild(n), j.appendChild(l), l.className = n.className, l.innerHTML = n.innerHTML.replace(g, "<$1font") }), a.attachEvent("onafterprint", function () { l.innerHTML = "", j.removeChild(l), j.appendChild(n), m.styleSheet.cssText = "" }) } (a, b), e._enableHTML5 = f, e._version = d, g.className = g.className.replace(/\bno-js\b/, "") + " js " + u.join(" "); return e } (this, this.document), function (a, b, c) { function E() { var a = w; a.loader = { load: D, i: 0 }; return a } function D(a, b, c) { var e = b == "c" ? o : n; i = 0, b = b || "j", r(a) ? C(e, a, b, this.i++, d, c) : h.splice(this.i++, 0, a); return this } function C(a, c, d, f, g, j) { function o() { !m && x(k.readyState) && (n.r = m = 1, !i && y(), k.onload = k.onreadystatechange = null, g.removeChild(k)) } var k = b.createElement(a), m = 0, n = { t: d, s: c, e: j }; k.src = k.data = c, k.width = k.height = "0", a != "object" && (k.type = d), k.onload = k.onreadystatechange = o, a == "img" ? k.onerror = o : a == "script" && (k.onerror = function () { n.r = 1, B(1) }), h.splice(f, 0, n), g.appendChild(k), (l && a == "script" || a == "object") && e(function () { m || (g.removeChild(k), n.r = n.e = m = 1, y()) }, w.errorTimeout) } function B(a) { var b = h.shift(), d = b ? b.s : c, f = b ? b.t : c; i = 1, a && d && (b = h.shift(), d = c), b ? d && f == "j" ? e(function () { z(b) }, 0) : d && f == "c" ? A(b) : (b(), y()) : i = 0 } function A(a) { var c = b.createElement("link"), g; c.href = a.s, c.rel = "stylesheet", c.type = "text/css", a.e || !m && !j ? (c.onload = function () { g || (g = 1, e(function () { y() }, 0)) }, a.e && c.onload()) : function h(a) { e(function () { if (!g) try { a.sheet && a.sheet.cssRules && a.sheet.cssRules.length ? (g = 1, y()) : h(a) } catch (b) { b.code == 1e3 || b.message.match(/security|denied/i) ? (g = 1, e(function () { y() }, 0)) : h(a) } }, 0) } (c), e(function () { g || (g = 1, d.removeChild(c), y()) }, w.errorTimeout), !a.e && d.insertBefore(c, f) } function z(a) { var c = b.createElement("script"), f; c.src = a.s, c.onreadystatechange = c.onload = function () { !f && x(c.readyState) && (f = 1, y(), c.onload = c.onreadystatechange = null, !a.e && d.removeChild(c)) }, e(function () { f || (f = 1, d.removeChild(c), y()) }, w.errorTimeout), a.e ? c.onload() : d.appendChild(c) } function y() { var a = 1, b = -1; while (h.length - ++b) if (h[b].s && !(a = h[b].r)) break; a && B() } function x(a) { return !a || a == "loaded" || a == "complete" } var d = b.documentElement, e = a.setTimeout, f = b.getElementsByTagName("head")[0], g = ({}).toString, h = [], i = 0, j = "MozAppearance" in d.style, k = j && !!a.Event.prototype.preventBubble, l = a.opera && g.call(a.opera) == "[object Opera]", m = "webkitAppearance" in d.style, n = l || j && !k ? "img" : j ? "object" : "script", o = m ? "img" : n, p = Array.isArray || function (a) { return g.call(a) == "[object Array]" }, q = function (a) { return typeof a == "object" }, r = function (a) { return typeof a == "string" }, s = function (a) { return g.call(a) == "[object Function]" }, t = [], u = {}, v, w; w = function (a) { function h(a, b) { function i(a) { if (r(a)) g(a, f, b, 0, c); else if (q(a)) for (h in a) a.hasOwnProperty(h) && g(a[h], f, b, h, c) } var c = !!a.test, d = c ? a.yep : a.nope, e = a.load || a.both, f = a.callback, h; i(d), i(e), a.complete && b.load(a.complete) } function g(a, b, d, e, g) { var h = f(a), i = h.autoCallback; if (!h.bypass) { b && (b = s(b) ? b : b[a] || b[e] || b[a.split("/").pop().split("?")[0]]); if (h.instead) return h.instead(a, b, d, e, g); d.load(h.url, h.forceCSS || !h.forceJS && /css$/.test(h.url) ? "c" : c, h.noexec), (s(b) || s(i)) && d.load(function () { E(), b && b(h.origUrl, g, e), i && i(h.origUrl, g, e) }) } } function f(a) { var b = a.split("!"), c = t.length, d = b.pop(), e = b.length, f = { url: d, origUrl: d, prefixes: b }, g, h; for (h = 0; h < e; h++) g = u[b[h]], g && (f = g(f)); for (h = 0; h < c; h++) f = t[h](f); return f } var b, d, e = this.yepnope.loader; if (r(a)) g(a, 0, e, 0); else if (p(a)) for (b = 0; b < a.length; b++) d = a[b], r(d) ? g(d, 0, e, 0) : p(d) ? w(d) : q(d) && h(d, e); else q(a) && h(a, e) }, w.addPrefix = function (a, b) { u[a] = b }, w.addFilter = function (a) { t.push(a) }, w.errorTimeout = 1e4, b.readyState == null && b.addEventListener && (b.readyState = "loading", b.addEventListener("DOMContentLoaded", v = function () { b.removeEventListener("DOMContentLoaded", v, 0), b.readyState = "complete" }, 0)), a.yepnope = w = E() } (this, this.document), Modernizr.load = function () { yepnope.apply(window, [].slice.call(arguments, 0)) }
