(function() { function disableViewPortMeta(scale) { try { var viewport = document.querySelectorAll("meta[name=viewport]"); if (viewport && viewport.length) { viewport = viewport[viewport.length - 1]; var content = viewport.getAttribute('content'); //if (content && content.indexOf('reset-if-scroll') != -1) { viewport.setAttribute('content', 'initial-scale=' + scale); //} } } catch (e) { } } function media() { /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */ /*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */ window.matchMedia=window.matchMedia||function(c){var g,f=c.documentElement,e=f.firstElementChild||f.firstChild,h=c.createElement("body"),n=c.createElement("div");n.id="mq-test-1";n.style.cssText="position:absolute;top:-100em";h.style.background="none";h.appendChild(n);return function(c){n.innerHTML='­';f.insertBefore(h,e);g=42===n.offsetWidth;f.removeChild(h);return{matches:g,media:c}}}(document); /*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */ (function(c){function g(){v(!0)}var f={};c.respond=f;f.update=function(){};f.mediaQueriesSupported=c.matchMedia&&c.matchMedia("only all").matches;if(!f.mediaQueriesSupported){var e=c.document,h=e.documentElement,n=[],s=[],p=[],r={},t=e.getElementsByTagName("head")[0]||h,F=e.getElementsByTagName("base")[0],u=t.getElementsByTagName("link"),q=[],B=function(){for(var d=0;dk-w)c.clearTimeout(D),D=c.setTimeout(v,30);else{w=k;for(var j in n)if(n.hasOwnProperty(j)){d=n[j];var k=d.minw,g=d.maxw,r=null===k,l=null===g;k&&(k=parseFloat(k)*(-1=k)&&(l||a<=g))b[d.media]||(b[d.media]=[]),b[d.media].push(s[d.rules])}for(var m in p)p.hasOwnProperty(m)&& p[m]&&p[m].parentNode===t&&t.removeChild(p[m]);for(var q in b)b.hasOwnProperty(q)&&(j=e.createElement("style"),m=b[q].join("\n"),j.type="text/css",j.media=q,t.insertBefore(j,f.nextSibling),j.styleSheet?j.styleSheet.cssText=m:j.appendChild(e.createTextNode(m)),p.push(j))}},C,y=!1;try{y=new c.XMLHttpRequest}catch(G){y=new c.ActiveXObject("Microsoft.XMLHTTP")}C=function(){return y};B();f.update=B;c.addEventListener?c.addEventListener("resize",g,!1):c.attachEvent&&c.attachEvent("onresize",g)}})(this); }; var html5Elements = [ "article", "aside", "audio", "canvas", "command", "datalist", "details", "embed", "figcaption", "figure", "footer", "header", "hgroup", "keygen", "mark", "meter", "nav", "output", "progress", "rp", "rt", "ruby", "section", "source", "summary", "time", "video" ] function getBrowser() { // jquery code// var ua = navigator.userAgent.toLowerCase(); var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) || /(webkit)[ \/]([\w.]+)/.exec( ua ) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) || /(msie) ([\w.]+)/.exec( ua ) || ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) || []; var ver = match[ 2 ] || "0"; var fi = ver.indexOf('.'); var fi2 = ver.indexOf('.', fi); if (fi2 != -1) { ver = parseFloat(ver.substring(0, fi2)); } return { name: match[ 1 ] || "", version: ver }; } function getScriptFolder() { var scripts = document.getElementsByTagName('SCRIPT'); for (var i = 0; i < scripts.length; i++) { var src = scripts[i].getAttribute('src'); if (src && src.indexOf('browser-compatibility.js') != -1) { if (src.lastIndexOf('/') != -1) { return src.substring(0, src.lastIndexOf('/') + 1); } else { return ''; } } } } function getSSFolder() { var links = document.getElementsByTagName('LINK'); for (var i = 0; i < links.length; i++) { var src = links[i].getAttribute('href'); if (src && src.indexOf('reset.css') != -1) { if (src.lastIndexOf('/') != -1) { return src.substring(0, src.lastIndexOf('/') + 1); } else { return 'stylesheets'; } } } } var browser = getBrowser(); var scriptFolder = getScriptFolder(); var ssFolder = getSSFolder(); function enableIEHTML5() { if (browser.name == "msie" && browser.version <= 9) { //create elements// for (var i = 0; i < html5Elements.length; i++) { document.createElement(html5Elements[i]); } } } function addEventListener(element, type, listener) { if (element.addEventListener) { element.addEventListener(type, listener, false); } else if (element.attachEvent) { element.attachEvent('on' + type, listener); } } var addPropertyFails = {}; function addBehavior() { function addPropertyInRules(ss, url) { if (!addPropertyFails[url]) addPropertyFails[url] = 0; if (!ss.rules.length) { addPropertyFails[url]++; if (ss.owningElement.readyState != "complete" && addPropertyFails[url] < 500) { setTimeout( (function(ss, url) { return function() { addPropertyInRules(ss, url); }; })(ss, url) , 10); } } else { for (var j = ss.rules.length - 1; j >= 0; j--) { var rule = ss.rules[j]; //if (PIE && PIE.version && parseInt(PIE.version) >= 2) { /*var pieGradient = rule.style['-pie-background']; if (pieGradient && pieGradient.indexOf('linear-gradient') != -1) { pieGradient = pieGradient.replace(/linear-gradient\s*\(\s*top\s*,/gi, 'linear-gradient(to bottom,'); pieGradient = pieGradient.replace(/linear-gradient\s*\(\s*bottom\s*,/gi, 'linear-gradient(to top,'); pieGradient = pieGradient.replace(/linear-gradient\s*\(\s*left\s*,/gi, 'linear-gradient(to right,'); pieGradient = pieGradient.replace(/linear-gradient\s*\(\s*right\s*,/gi, 'linear-gradient(to left,'); rule.style['-pie-background'] = pieGradient; }*/ //} rule.style.behavior = "url(" + url + ")"; } } } var links = document.getElementsByTagName('LINK'); for (var i = 0; i < links.length; i++) { var href = links[i].getAttribute('href'); if (href) { if (href.indexOf('-ie.css') != -1 && href.toLowerCase().indexOf(ssFolder.toLowerCase()) != -1) { var url = href.substring(0, href.lastIndexOf('/')).replace('stylesheets', 'scripts') + "/PIE.htc"; addPropertyInRules(links[i].styleSheet, url); } } } var styles = document.getElementsByTagName('STYLE'); for (var i = 0; i < styles.length; i++) { var style = styles[i]; if (style.title == "ie-style-css" || (style.innerHTML && style.innerHTML.indexOf('/* lte IE 9 style*/') != -1)) { addPropertyInRules(style.styleSheet, scriptFolder + "PIE.htc") } } } function addIE7Fixes(el) { var cStyle = el.currentStyle; function hasFloatedSiblings() { var next = el.nextSibling; if (next && next.currentStyle && next.currentStyle.styleFloat == "left" && next.currentStyle.clear == "none") { return true; } return false; } // fixes clear bug// if (cStyle && (cStyle.clear == "both" || cStyle.clear == "left") && hasFloatedSiblings()) { var newEl = document.createElement('div'); newEl.style.visibility = "hidden"; newEl.style.width = "0px"; newEl.style.height = "0px"; el.parentNode.insertBefore(newEl, el); } if (cStyle && cStyle.display == "inline-block") { el.style.display = "inline"; el.style.zoom = 1; } if (cStyle && (cStyle.position == "relative" && cStyle.hasLayout) && cStyle.marginTop != "0px") { el.style.top = cStyle.marginTop; } // a with auto inside inline-block will make the menu vertical// if (cStyle && cStyle.styleFloat == "none" && cStyle.display == "block" && el.parentNode.currentStyle) { var pDisplay = el.parentNode.currentStyle.display; if ((pDisplay == "inline-block" || pDisplay == "inline") && el.parentNode.tagName != "HTML") { el.style.display = "inline"; el.style.zoom = 1; } } var children = el.childNodes; for (var i = children.length -1 ; i >=0 ; i--) { addIE7Fixes(children[i]); } } function addIE6Fixes(el) { var cStyle = el.currentStyle; if (el.style) { el.style.zoom = 1; if (cStyle && (cStyle.height == "auto" || cStyle.minHeight != "auto")) { el.style.height = cStyle.minHeight; } if (cStyle && (cStyle.styleFloat == "left" || cStyle.styleFloat == "right" || cStyle.display == "inline-block")) { el.style.zoom = 1; el.style.display = "inline"; } // a with auto inside inline-block will make the menu vertical// if (cStyle.styleFloat == "none" && cStyle.display == "block" && el.parentNode.currentStyle) { var pDisplay = el.parentNode.currentStyle.display; if ((pDisplay == "inline-block" || pDisplay == "inline") && el.parentNode.tagName != "HTML") { el.style.display = "inline"; el.style.zoom = 1; } } if (cStyle && (cStyle.styleFloat == "left" && cStyle.display == "block")) { var newMargin = parseFloat(cStyle.marginRight); if (isNaN(newMargin)) newMargin = 0; el.style.marginRight = (newMargin - 3) + "px"; } } var children = el.childNodes; for (var i = children.length -1 ; i >=0 ; i--) { addIE6Fixes(children[i]); } } enableIEHTML5(); /* // comment it for beta// // if (browser.name == "msie" && browser.version < 7) { var script = document.createElement('SCRIPT'); var scripts = document.getElementsByTagName('SCRIPT'); for (var i = 0; i < scripts.length; i++) { var src = scripts[i].getAttribute('src'); if (src.indexOf('browser-compatibility.js') != -1) { script.src = src.replace('browser-compatibility.js', 'ielte9.js'); scripts[i].parentNode.appendChild(script); break; } } }*/ var parsedLinks = []; function linkWasParsed(link) { for (var i = 0; i < parsedLinks.length; i++) { if (parsedLinks[i] == link) { return true; } } return false; } function existsInHead(link) { var links = document.getElementsByTagName('LINK'); for (var i = 0; i < links.length; i++) { var href = links[i].getAttribute('href'); if (href == link) { return true; } } return false; } function addIE9Links(){ if (browser.name == "msie" && browser.version <= 9) { var links = document.getElementsByTagName('LINK'); var length = links.length; for (var i = 0; i < length; i++) { var href = links[i].getAttribute('href'); if (!linkWasParsed(href)) { parsedLinks.push(href); //alert('ssFolder.toLowerCase()##' + ssFolder.toLowerCase()); if (href.indexOf('reset.css') == -1 && href.indexOf('-ie.css') == -1 && ssFolder && href.toLowerCase().indexOf(ssFolder.toLowerCase()) != -1) { if (!existsInHead(href.replace('.css', '-ie.css'))){ document.createStyleSheet(href.replace('.css', '-ie.css')); parsedLinks.push(href.replace('.css', '-ie.css')); } } } } } } function scaleFactor() { if (document.body) { return document.documentElement.clientWidth/document.body.scrollWidth; } return 1; } function updateFMMobileDropdown() { var selects = document.getElementsByTagName('select'); var selectNode, parentNode, menuName; for(var i=0; i" + label + ""; } } selectNode.innerHTML = optionsHtml; } } } } } } function moveLiquidColumns(el) { var attr = (el.getAttribute && el.getAttribute("class")) || ""; if (!el.layoutsLiquid && attr.match(/(^|(\s+))liquid((\s+)|$)/i)) { el.layoutsLiquid = true; var prev = el.previousSibling; while (prev) { if (prev.nodeType == 1) { break; } prev = prev.previousSibling; } // check if we are on mobile// if (prev) { var style = prev.currentStyle || window.getComputedStyle(prev); if (style && (style['float'] == "none")) { var match = attr.match(/(^|\s+)lindex-(\d+)($|\s+)/i); if (match) { var index = parseInt(match[2]); while (index > 0 && prev) { if (prev.nodeType == 1) { index--; if (index <= 0) { break; } } prev = prev.previousSibling; } el.parentNode.insertBefore(el, prev); } } } } var children = el.childNodes; for (var i = children.length -1 ; i >=0 ; i--) { moveLiquidColumns(children[i]); } } addIE9Links(); addEventListener(window, "load", function() { if (location.protocol && location.protocol.indexOf("file") != -1 && browser.name == "msie" && browser.version < 9) { alert("On IE7/IE8 local pages with media queries won't display correctly."); } // this is for link tags added after our script// addIE9Links(); try { media(); } catch (e) { } moveLiquidColumns(document.documentElement); var scale = scaleFactor(); if (scale < 1) { disableViewPortMeta(scale); } updateFMMobileDropdown(); if (browser.name == "msie" && browser.version == 6) { addIE6Fixes(document.documentElement); } if (browser.name == "msie" && browser.version == 7) { window.setTimeout(function() { addIE7Fixes(document.documentElement); addBehavior(); }, 1000); } if (browser.name == "msie" && browser.version <= 9 && browser.version != 7) { addBehavior(); } }); })();