/*------------------------------- HOME ROTATOR ----------------------------------------*/
(function (i) { var l = "2.88"; if (i.support == undefined) { i.support = { opacity: !(i.browser.msie)} } function a(r) { if (i.fn.cycle.debug) { f(r) } } function f() { if (window.console && window.console.log) { window.console.log("[cycle] " + Array.prototype.join.call(arguments, " ")) } } i.fn.cycle = function (s, r) { var t = { s: this.selector, c: this.context }; if (this.length === 0 && s != "stop") { if (!i.isReady && t.s) { f("DOM not ready, queuing slideshow"); i(function () { i(t.s, t.c).cycle(s, r) }); return this } f("terminating; zero elements found by selector" + (i.isReady ? "" : " (DOM not ready)")); return this } return this.each(function () { var x = m(this, s, r); if (x === false) { return } x.updateActivePagerLink = x.updateActivePagerLink || i.fn.cycle.updateActivePagerLink; if (this.cycleTimeout) { clearTimeout(this.cycleTimeout) } this.cycleTimeout = this.cyclePause = 0; var y = i(this); var z = x.slideExpr ? i(x.slideExpr, this) : y.children(); var v = z.get(); if (v.length < 2) { f("terminating; too few slides: " + v.length); return } var u = k(y, z, v, x, t); if (u === false) { return } var w = u.continuous ? 10 : h(v[u.currSlide], v[u.nextSlide], u, !u.rev); if (w) { w += (u.delay || 0); if (w < 10) { w = 10 } a("first timeout: " + w); this.cycleTimeout = setTimeout(function () { e(v, u, 0, (!u.rev && !x.backwards)) }, w) } }) }; function m(r, u, s) { if (r.cycleStop == undefined) { r.cycleStop = 0 } if (u === undefined || u === null) { u = {} } if (u.constructor == String) { switch (u) { case "destroy": case "stop": var w = i(r).data("cycle.opts"); if (!w) { return false } r.cycleStop++; if (r.cycleTimeout) { clearTimeout(r.cycleTimeout) } r.cycleTimeout = 0; i(r).removeData("cycle.opts"); if (u == "destroy") { q(w) } return false; case "toggle": r.cyclePause = (r.cyclePause === 1) ? 0 : 1; v(r.cyclePause, s, r); return false; case "pause": r.cyclePause = 1; return false; case "resume": r.cyclePause = 0; v(false, s, r); return false; case "prev": case "next": var w = i(r).data("cycle.opts"); if (!w) { f('options not found, "prev/next" ignored'); return false } i.fn.cycle[u](w); return false; default: u = { fx: u} } return u } else { if (u.constructor == Number) { var t = u; u = i(r).data("cycle.opts"); if (!u) { f("options not found, can not advance slide"); return false } if (t < 0 || t >= u.elements.length) { f("invalid slide index: " + t); return false } u.nextSlide = t; if (r.cycleTimeout) { clearTimeout(r.cycleTimeout); r.cycleTimeout = 0 } if (typeof s == "string") { u.oneTimeFx = s } e(u.elements, u, 1, t >= u.currSlide); return false } } return u; function v(y, z, x) { if (!y && z === true) { var A = i(x).data("cycle.opts"); if (!A) { f("options not found, can not resume"); return false } if (x.cycleTimeout) { clearTimeout(x.cycleTimeout); x.cycleTimeout = 0 } e(A.elements, A, 1, (!w.rev && !w.backwards)) } } } function b(r, s) { if (!i.support.opacity && s.cleartype && r.style.filter) { try { r.style.removeAttribute("filter") } catch (t) { } } } function q(r) { if (r.next) { i(r.next).unbind(r.prevNextEvent) } if (r.prev) { i(r.prev).unbind(r.prevNextEvent) } if (r.pager || r.pagerAnchorBuilder) { i.each(r.pagerAnchors || [], function () { this.unbind().remove() }) } r.pagerAnchors = null; if (r.destroy) { r.destroy(r) } } function k(z, L, v, u, F) { var D = i.extend({}, i.fn.cycle.defaults, u || {}, i.metadata ? z.metadata() : i.meta ? z.data() : {}); if (D.autostop) { D.countdown = D.autostopCount || v.length } var s = z[0]; z.data("cycle.opts", D); D.$cont = z; D.stopCount = s.cycleStop; D.elements = v; D.before = D.before ? [D.before] : []; D.after = D.after ? [D.after] : []; D.after.unshift(function () { D.busy = 0 }); if (!i.support.opacity && D.cleartype) { D.after.push(function () { b(this, D) }) } if (D.continuous) { D.after.push(function () { e(v, D, 0, (!D.rev && !D.backwards)) }) } n(D); if (!i.support.opacity && D.cleartype && !D.cleartypeNoBg) { g(L) } if (z.css("position") == "static") { z.css("position", "relative") } if (D.width) { z.width(D.width) } if (D.height && D.height != "auto") { z.height(D.height) } if (D.startingSlide) { D.startingSlide = parseInt(D.startingSlide) } else { if (D.backwards) { D.startingSlide = v.length - 1 } } if (D.random) { D.randomMap = []; for (var J = 0; J < v.length; J++) { D.randomMap.push(J) } D.randomMap.sort(function (N, w) { return Math.random() - 0.5 }); D.randomIndex = 1; D.startingSlide = D.randomMap[1] } else { if (D.startingSlide >= v.length) { D.startingSlide = 0 } } D.currSlide = D.startingSlide || 0; var y = D.startingSlide; L.css({ position: "absolute", top: 0, left: 0 }).hide().each(function (w) { var N; if (D.backwards) { N = y ? w <= y ? v.length + (w - y) : y - w : v.length - w } else { N = y ? w >= y ? v.length - (w - y) : y - w : v.length - w } i(this).css("z-index", N) }); i(v[y]).css("opacity", 1).show(); b(v[y], D); if (D.fit && D.width) { L.width(D.width) } if (D.fit && D.height && D.height != "auto") { L.height(D.height) } var E = D.containerResize && !z.innerHeight(); if (E) { var x = 0, C = 0; for (var H = 0; H < v.length; H++) { var r = i(v[H]), M = r[0], B = r.outerWidth(), K = r.outerHeight(); if (!B) { B = M.offsetWidth || M.width || r.attr("width") } if (!K) { K = M.offsetHeight || M.height || r.attr("height") } x = B > x ? B : x; C = K > C ? K : C } if (x > 0 && C > 0) { z.css({ width: x + "px", height: C + "px" }) } } if (D.pause) { z.hover(function () { this.cyclePause++ }, function () { this.cyclePause-- }) } if (c(D) === false) { return false } var t = false; u.requeueAttempts = u.requeueAttempts || 0; L.each(function () { var P = i(this); this.cycleH = (D.fit && D.height) ? D.height : (P.height() || this.offsetHeight || this.height || P.attr("height") || 0); this.cycleW = (D.fit && D.width) ? D.width : (P.width() || this.offsetWidth || this.width || P.attr("width") || 0); if (P.is("img")) { var N = (i.browser.msie && this.cycleW == 28 && this.cycleH == 30 && !this.complete); var Q = (i.browser.mozilla && this.cycleW == 34 && this.cycleH == 19 && !this.complete); var O = (i.browser.opera && ((this.cycleW == 42 && this.cycleH == 19) || (this.cycleW == 37 && this.cycleH == 17)) && !this.complete); var w = (this.cycleH == 0 && this.cycleW == 0 && !this.complete); if (N || Q || O || w) { if (F.s && D.requeueOnImageNotLoaded && ++u.requeueAttempts < 100) { f(u.requeueAttempts, " - img slide not loaded, requeuing slideshow: ", this.src, this.cycleW, this.cycleH); setTimeout(function () { i(F.s, F.c).cycle(u) }, D.requeueTimeout); t = true; return false } else { f("could not determine size of image: " + this.src, this.cycleW, this.cycleH) } } } return true }); if (t) { return false } D.cssBefore = D.cssBefore || {}; D.animIn = D.animIn || {}; D.animOut = D.animOut || {}; L.not(":eq(" + y + ")").css(D.cssBefore); if (D.cssFirst) { i(L[y]).css(D.cssFirst) } if (D.timeout) { D.timeout = parseInt(D.timeout); if (D.speed.constructor == String) { D.speed = i.fx.speeds[D.speed] || parseInt(D.speed) } if (!D.sync) { D.speed = D.speed / 2 } var G = D.fx == "shuffle" ? 500 : 250; while ((D.timeout - D.speed) < G) { D.timeout += D.speed } } if (D.easing) { D.easeIn = D.easeOut = D.easing } if (!D.speedIn) { D.speedIn = D.speed } if (!D.speedOut) { D.speedOut = D.speed } D.slideCount = v.length; D.currSlide = D.lastSlide = y; if (D.random) { if (++D.randomIndex == v.length) { D.randomIndex = 0 } D.nextSlide = D.randomMap[D.randomIndex] } else { if (D.backwards) { D.nextSlide = D.startingSlide == 0 ? (v.length - 1) : D.startingSlide - 1 } else { D.nextSlide = D.startingSlide >= (v.length - 1) ? 0 : D.startingSlide + 1 } } if (!D.multiFx) { var I = i.fn.cycle.transitions[D.fx]; if (i.isFunction(I)) { I(z, L, D) } else { if (D.fx != "custom" && !D.multiFx) { f("unknown transition: " + D.fx, "; slideshow terminating"); return false } } } var A = L[y]; if (D.before.length) { D.before[0].apply(A, [A, A, D, true]) } if (D.after.length > 1) { D.after[1].apply(A, [A, A, D, true]) } if (D.next) { i(D.next).bind(D.prevNextEvent, function () { return o(D, D.rev ? -1 : 1) }) } if (D.prev) { i(D.prev).bind(D.prevNextEvent, function () { return o(D, D.rev ? 1 : -1) }) } if (D.pager || D.pagerAnchorBuilder) { d(v, D) } j(D, v); return D } function n(r) { r.original = { before: [], after: [] }; r.original.cssBefore = i.extend({}, r.cssBefore); r.original.cssAfter = i.extend({}, r.cssAfter); r.original.animIn = i.extend({}, r.animIn); r.original.animOut = i.extend({}, r.animOut); i.each(r.before, function () { r.original.before.push(this) }); i.each(r.after, function () { r.original.after.push(this) }) } function c(x) { var v, t, s = i.fn.cycle.transitions; if (x.fx.indexOf(",") > 0) { x.multiFx = true; x.fxs = x.fx.replace(/\s*/g, "").split(","); for (v = 0; v < x.fxs.length; v++) { var w = x.fxs[v]; t = s[w]; if (!t || !s.hasOwnProperty(w) || !i.isFunction(t)) { f("discarding unknown transition: ", w); x.fxs.splice(v, 1); v-- } } if (!x.fxs.length) { f("No valid transitions named; slideshow terminating."); return false } } else { if (x.fx == "all") { x.multiFx = true; x.fxs = []; for (p in s) { t = s[p]; if (s.hasOwnProperty(p) && i.isFunction(t)) { x.fxs.push(p) } } } } if (x.multiFx && x.randomizeEffects) { var u = Math.floor(Math.random() * 20) + 30; for (v = 0; v < u; v++) { var r = Math.floor(Math.random() * x.fxs.length); x.fxs.push(x.fxs.splice(r, 1)[0]) } a("randomized fx sequence: ", x.fxs) } return true } function j(s, r) { s.addSlide = function (u, v) { var t = i(u), w = t[0]; if (!s.autostopCount) { s.countdown++ } r[v ? "unshift" : "push"](w); if (s.els) { s.els[v ? "unshift" : "push"](w) } s.slideCount = r.length; t.css("position", "absolute"); t[v ? "prependTo" : "appendTo"](s.$cont); if (v) { s.currSlide++; s.nextSlide++ } if (!i.support.opacity && s.cleartype && !s.cleartypeNoBg) { g(t) } if (s.fit && s.width) { t.width(s.width) } if (s.fit && s.height && s.height != "auto") { $slides.height(s.height) } w.cycleH = (s.fit && s.height) ? s.height : t.height(); w.cycleW = (s.fit && s.width) ? s.width : t.width(); t.css(s.cssBefore); if (s.pager || s.pagerAnchorBuilder) { i.fn.cycle.createPagerAnchor(r.length - 1, w, i(s.pager), r, s) } if (i.isFunction(s.onAddSlide)) { s.onAddSlide(t) } else { t.hide() } } } i.fn.cycle.resetState = function (s, r) { r = r || s.fx; s.before = []; s.after = []; s.cssBefore = i.extend({}, s.original.cssBefore); s.cssAfter = i.extend({}, s.original.cssAfter); s.animIn = i.extend({}, s.original.animIn); s.animOut = i.extend({}, s.original.animOut); s.fxFn = null; i.each(s.original.before, function () { s.before.push(this) }); i.each(s.original.after, function () { s.after.push(this) }); var t = i.fn.cycle.transitions[r]; if (i.isFunction(t)) { t(s.$cont, i(s.elements), s) } }; function e(y, r, x, A) { if (x && r.busy && r.manualTrump) { a("manualTrump in go(), stopping active transition"); i(y).stop(true, true); r.busy = false } if (r.busy) { a("transition active, ignoring new tx request"); return } var v = r.$cont[0], C = y[r.currSlide], B = y[r.nextSlide]; if (v.cycleStop != r.stopCount || v.cycleTimeout === 0 && !x) { return } if (!x && !v.cyclePause && !r.bounce && ((r.autostop && (--r.countdown <= 0)) || (r.nowrap && !r.random && r.nextSlide < r.currSlide))) { if (r.end) { r.end(r) } return } var z = false; if ((x || !v.cyclePause) && (r.nextSlide != r.currSlide)) { z = true; var w = r.fx; C.cycleH = C.cycleH || i(C).height(); C.cycleW = C.cycleW || i(C).width(); B.cycleH = B.cycleH || i(B).height(); B.cycleW = B.cycleW || i(B).width(); if (r.multiFx) { if (r.lastFx == undefined || ++r.lastFx >= r.fxs.length) { r.lastFx = 0 } w = r.fxs[r.lastFx]; r.currFx = w } if (r.oneTimeFx) { w = r.oneTimeFx; r.oneTimeFx = null } i.fn.cycle.resetState(r, w); if (r.before.length) { i.each(r.before, function (D, E) { if (v.cycleStop != r.stopCount) { return } E.apply(B, [C, B, r, A]) }) } var t = function () { i.each(r.after, function (D, E) { if (v.cycleStop != r.stopCount) { return } E.apply(B, [C, B, r, A]) }) }; a("tx firing; currSlide: " + r.currSlide + "; nextSlide: " + r.nextSlide); r.busy = 1; if (r.fxFn) { r.fxFn(C, B, r, t, A, x && r.fastOnEvent) } else { if (i.isFunction(i.fn.cycle[r.fx])) { i.fn.cycle[r.fx](C, B, r, t, A, x && r.fastOnEvent) } else { i.fn.cycle.custom(C, B, r, t, A, x && r.fastOnEvent) } } } if (z || r.nextSlide == r.currSlide) { r.lastSlide = r.currSlide; if (r.random) { r.currSlide = r.nextSlide; if (++r.randomIndex == y.length) { r.randomIndex = 0 } r.nextSlide = r.randomMap[r.randomIndex]; if (r.nextSlide == r.currSlide) { r.nextSlide = (r.currSlide == r.slideCount - 1) ? 0 : r.currSlide + 1 } } else { if (r.backwards) { var u = (r.nextSlide - 1) < 0; if (u && r.bounce) { r.backwards = !r.backwards; r.nextSlide = 1; r.currSlide = 0 } else { r.nextSlide = u ? (y.length - 1) : r.nextSlide - 1; r.currSlide = u ? 0 : r.nextSlide + 1 } } else { var u = (r.nextSlide + 1) == y.length; if (u && r.bounce) { r.backwards = !r.backwards; r.nextSlide = y.length - 2; r.currSlide = y.length - 1 } else { r.nextSlide = u ? 0 : r.nextSlide + 1; r.currSlide = u ? y.length - 1 : r.nextSlide - 1 } } } } if (z && r.pager) { r.updateActivePagerLink(r.pager, r.currSlide, r.activePagerClass) } var s = 0; if (r.timeout && !r.continuous) { s = h(y[r.currSlide], y[r.nextSlide], r, A) } else { if (r.continuous && v.cyclePause) { s = 10 } } if (s > 0) { v.cycleTimeout = setTimeout(function () { e(y, r, 0, (!r.rev && !r.backwards)) }, s) } } i.fn.cycle.updateActivePagerLink = function (r, t, s) { i(r).each(function () { i(this).children().removeClass(s).eq(t).addClass(s) }) }; function h(w, u, v, s) { if (v.timeoutFn) { var r = v.timeoutFn.call(w, w, u, v, s); while ((r - v.speed) < 250) { r += v.speed } a("calculated timeout: " + r + "; speed: " + v.speed); if (r !== false) { return r } } return v.timeout } i.fn.cycle.next = function (r) { o(r, r.rev ? -1 : 1) }; i.fn.cycle.prev = function (r) { o(r, r.rev ? 1 : -1) }; function o(t, w) { var s = t.elements; var v = t.$cont[0], u = v.cycleTimeout; if (u) { clearTimeout(u); v.cycleTimeout = 0 } if (t.random && w < 0) { t.randomIndex--; if (--t.randomIndex == -2) { t.randomIndex = s.length - 2 } else { if (t.randomIndex == -1) { t.randomIndex = s.length - 1 } } t.nextSlide = t.randomMap[t.randomIndex] } else { if (t.random) { t.nextSlide = t.randomMap[t.randomIndex] } else { t.nextSlide = t.currSlide + w; if (t.nextSlide < 0) { if (t.nowrap) { return false } t.nextSlide = s.length - 1 } else { if (t.nextSlide >= s.length) { if (t.nowrap) { return false } t.nextSlide = 0 } } } } var r = t.onPrevNextEvent || t.prevNextClick; if (i.isFunction(r)) { r(w > 0, t.nextSlide, s[t.nextSlide]) } e(s, t, 1, w >= 0); return false } function d(s, t) { var r = i(t.pager); i.each(s, function (u, v) { i.fn.cycle.createPagerAnchor(u, v, r, s, t) }); t.updateActivePagerLink(t.pager, t.startingSlide, t.activePagerClass) } i.fn.cycle.createPagerAnchor = function (v, w, t, u, x) { var s; if (i.isFunction(x.pagerAnchorBuilder)) { s = x.pagerAnchorBuilder(v, w); a("pagerAnchorBuilder(" + v + ", el) returned: " + s) } else { s = '<a href="#" class="page">&nbsp;</a>' } if (!s) { return } var y = i(s); if (y.parents("body").length === 0) { var r = []; if (t.length > 1) { t.each(function () { var z = y.clone(true); i(this).append(z); r.push(z[0]) }); y = i(r) } else { y.appendTo(t) } } x.pagerAnchors = x.pagerAnchors || []; x.pagerAnchors.push(y); y.bind(x.pagerEvent, function (C) { C.preventDefault(); x.nextSlide = v; var B = x.$cont[0], A = B.cycleTimeout; if (A) { clearTimeout(A); B.cycleTimeout = 0 } var z = x.onPagerEvent || x.pagerClick; if (i.isFunction(z)) { z(x.nextSlide, u[x.nextSlide]) } e(u, x, 1, x.currSlide < v) }); if (!/^click/.test(x.pagerEvent) && !x.allowPagerClickBubble) { y.bind("click.cycle", function () { return false }) } if (x.pauseOnPagerHover) { y.hover(function () { x.$cont[0].cyclePause++ }, function () { x.$cont[0].cyclePause-- }) } }; i.fn.cycle.hopsFromLast = function (u, t) { var s, r = u.lastSlide, v = u.currSlide; if (t) { s = v > r ? v - r : u.slideCount - r } else { s = v < r ? r - v : r + u.slideCount - v } return s }; function g(t) { a("applying clearType background-color hack"); function s(u) { u = parseInt(u).toString(16); return u.length < 2 ? "0" + u : u } function r(x) { for (; x && x.nodeName.toLowerCase() != "html"; x = x.parentNode) { var u = i.css(x, "background-color"); if (u.indexOf("rgb") >= 0) { var w = u.match(/\d+/g); return "#" + s(w[0]) + s(w[1]) + s(w[2]) } if (u && u != "transparent") { return u } } return "#ffffff" } t.each(function () { i(this).css("background-color", r(this)) }) } i.fn.cycle.commonReset = function (x, u, v, s, t, r) { i(v.elements).not(x).hide(); v.cssBefore.opacity = 1; v.cssBefore.display = "block"; if (s !== false && u.cycleW > 0) { v.cssBefore.width = u.cycleW } if (t !== false && u.cycleH > 0) { v.cssBefore.height = u.cycleH } v.cssAfter = v.cssAfter || {}; v.cssAfter.display = "none"; i(x).css("zIndex", v.slideCount + (r === true ? 1 : 0)); i(u).css("zIndex", v.slideCount + (r === true ? 0 : 1)) }; i.fn.cycle.custom = function (D, x, r, u, w, s) { var C = i(D), y = i(x); var t = r.speedIn, B = r.speedOut, v = r.easeIn, A = r.easeOut; y.css(r.cssBefore); if (s) { if (typeof s == "number") { t = B = s } else { t = B = 1 } v = A = null } var z = function () { y.animate(r.animIn, t, v, u) }; C.animate(r.animOut, B, A, function () { if (r.cssAfter) { C.css(r.cssAfter) } if (!r.sync) { z() } }); if (r.sync) { z() } }; i.fn.cycle.transitions = { fade: function (s, t, r) { t.not(":eq(" + r.currSlide + ")").css("opacity", 0); r.before.push(function (w, u, v) { i.fn.cycle.commonReset(w, u, v); v.cssBefore.opacity = 0 }); r.animIn = { opacity: 1 }; r.animOut = { opacity: 0 }; r.cssBefore = { top: 0, left: 0} } }; i.fn.cycle.ver = function () { return l }; i.fn.cycle.defaults = { fx: "fade", timeout: 4000, timeoutFn: null, continuous: 0, speed: 1000, speedIn: null, speedOut: null, next: null, prev: null, onPrevNextEvent: null, prevNextEvent: "click.cycle", pager: null, onPagerEvent: null, pagerEvent: "click.cycle", allowPagerClickBubble: false, pagerAnchorBuilder: null, before: null, after: null, end: null, easing: null, easeIn: null, easeOut: null, shuffle: null, animIn: null, animOut: null, cssBefore: null, cssAfter: null, fxFn: null, height: "auto", startingSlide: 0, sync: 1, random: 0, fit: 0, containerResize: 1, pause: 0, pauseOnPagerHover: 0, autostop: 0, autostopCount: 0, delay: 0, slideExpr: null, cleartype: !i.support.opacity, cleartypeNoBg: false, nowrap: 0, fastOnEvent: 0, randomizeEffects: 1, rev: 0, manualTrump: true, requeueOnImageNotLoaded: true, requeueTimeout: 250, activePagerClass: "activeSlide", updateActivePagerLink: null, backwards: false} })(jQuery); (function (a) { a.fn.cycle.transitions.none = function (c, d, b) { b.fxFn = function (g, e, f, h) { a(e).show(); a(g).hide(); h() } }; a.fn.cycle.transitions.scrollUp = function (d, e, c) { d.css("overflow", "hidden"); c.before.push(a.fn.cycle.commonReset); var b = d.height(); c.cssBefore = { top: b, left: 0 }; c.cssFirst = { top: 0 }; c.animIn = { top: 0 }; c.animOut = { top: -b} }; a.fn.cycle.transitions.scrollDown = function (d, e, c) { d.css("overflow", "hidden"); c.before.push(a.fn.cycle.commonReset); var b = d.height(); c.cssFirst = { top: 0 }; c.cssBefore = { top: -b, left: 0 }; c.animIn = { top: 0 }; c.animOut = { top: b} }; a.fn.cycle.transitions.scrollLeft = function (d, e, c) { d.css("overflow", "hidden"); c.before.push(a.fn.cycle.commonReset); var b = d.width(); c.cssFirst = { left: 0 }; c.cssBefore = { left: b, top: 0 }; c.animIn = { left: 0 }; c.animOut = { left: 0 - b} }; a.fn.cycle.transitions.scrollRight = function (d, e, c) { d.css("overflow", "hidden"); c.before.push(a.fn.cycle.commonReset); var b = d.width(); c.cssFirst = { left: 0 }; c.cssBefore = { left: -b, top: 0 }; c.animIn = { left: 0 }; c.animOut = { left: b} }; a.fn.cycle.transitions.scrollHorz = function (c, d, b) { c.css("overflow", "hidden").width(); b.before.push(function (h, f, g, e) { a.fn.cycle.commonReset(h, f, g); g.cssBefore.left = e ? (f.cycleW - 1) : (1 - f.cycleW); g.animOut.left = e ? -h.cycleW : h.cycleW }); b.cssFirst = { left: 0 }; b.cssBefore = { top: 0 }; b.animIn = { left: 0 }; b.animOut = { top: 0} }; a.fn.cycle.transitions.scrollVert = function (c, d, b) { c.css("overflow", "hidden"); b.before.push(function (h, f, g, e) { a.fn.cycle.commonReset(h, f, g); g.cssBefore.top = e ? (1 - f.cycleH) : (f.cycleH - 1); g.animOut.top = e ? h.cycleH : -h.cycleH }); b.cssFirst = { top: 0 }; b.cssBefore = { left: 0 }; b.animIn = { top: 0 }; b.animOut = { left: 0} }; a.fn.cycle.transitions.slideX = function (c, d, b) { b.before.push(function (g, e, f) { a(f.elements).not(g).hide(); a.fn.cycle.commonReset(g, e, f, false, true); f.animIn.width = e.cycleW }); b.cssBefore = { left: 0, top: 0, width: 0 }; b.animIn = { width: "show" }; b.animOut = { width: 0} }; a.fn.cycle.transitions.slideY = function (c, d, b) { b.before.push(function (g, e, f) { a(f.elements).not(g).hide(); a.fn.cycle.commonReset(g, e, f, true, false); f.animIn.height = e.cycleH }); b.cssBefore = { left: 0, top: 0, height: 0 }; b.animIn = { height: "show" }; b.animOut = { height: 0} }; a.fn.cycle.transitions.shuffle = function (e, f, d) { var c, b = e.css("overflow", "visible").width(); f.css({ left: 0, top: 0 }); d.before.push(function (i, g, h) { a.fn.cycle.commonReset(i, g, h, true, true, true) }); if (!d.speedAdjusted) { d.speed = d.speed / 2; d.speedAdjusted = true } d.random = 0; d.shuffle = d.shuffle || { left: -b, top: 15 }; d.els = []; for (c = 0; c < f.length; c++) { d.els.push(f[c]) } for (c = 0; c < d.currSlide; c++) { d.els.push(d.els.shift()) } d.fxFn = function (m, j, l, g, i) { var h = i ? a(m) : a(j); a(j).css(l.cssBefore); var k = l.slideCount; h.animate(l.shuffle, l.speedIn, l.easeIn, function () { var o = a.fn.cycle.hopsFromLast(l, i); for (var q = 0; q < o; q++) { i ? l.els.push(l.els.shift()) : l.els.unshift(l.els.pop()) } if (i) { for (var r = 0, n = l.els.length; r < n; r++) { a(l.els[r]).css("z-index", n - r + k) } } else { var s = a(m).css("z-index"); h.css("z-index", parseInt(s) + 1 + k) } h.animate({ left: 0, top: 0 }, l.speedOut, l.easeOut, function () { a(i ? this : m).hide(); if (g) { g() } }) }) }; d.cssBefore = { display: "block", opacity: 1, top: 0, left: 0} }; a.fn.cycle.transitions.turnUp = function (c, d, b) { b.before.push(function (g, e, f) { a.fn.cycle.commonReset(g, e, f, true, false); f.cssBefore.top = e.cycleH; f.animIn.height = e.cycleH }); b.cssFirst = { top: 0 }; b.cssBefore = { left: 0, height: 0 }; b.animIn = { top: 0 }; b.animOut = { height: 0} }; a.fn.cycle.transitions.turnDown = function (c, d, b) { b.before.push(function (g, e, f) { a.fn.cycle.commonReset(g, e, f, true, false); f.animIn.height = e.cycleH; f.animOut.top = g.cycleH }); b.cssFirst = { top: 0 }; b.cssBefore = { left: 0, top: 0, height: 0 }; b.animOut = { height: 0} }; a.fn.cycle.transitions.turnLeft = function (c, d, b) { b.before.push(function (g, e, f) { a.fn.cycle.commonReset(g, e, f, false, true); f.cssBefore.left = e.cycleW; f.animIn.width = e.cycleW }); b.cssBefore = { top: 0, width: 0 }; b.animIn = { left: 0 }; b.animOut = { width: 0} }; a.fn.cycle.transitions.turnRight = function (c, d, b) { b.before.push(function (g, e, f) { a.fn.cycle.commonReset(g, e, f, false, true); f.animIn.width = e.cycleW; f.animOut.left = g.cycleW }); b.cssBefore = { top: 0, left: 0, width: 0 }; b.animIn = { left: 0 }; b.animOut = { width: 0} }; a.fn.cycle.transitions.zoom = function (c, d, b) { b.before.push(function (g, e, f) { a.fn.cycle.commonReset(g, e, f, false, false, true); f.cssBefore.top = e.cycleH / 2; f.cssBefore.left = e.cycleW / 2; f.animIn = { top: 0, left: 0, width: e.cycleW, height: e.cycleH }; f.animOut = { width: 0, height: 0, top: g.cycleH / 2, left: g.cycleW / 2} }); b.cssFirst = { top: 0, left: 0 }; b.cssBefore = { width: 0, height: 0} }; a.fn.cycle.transitions.fadeZoom = function (c, d, b) { b.before.push(function (g, e, f) { a.fn.cycle.commonReset(g, e, f, false, false); f.cssBefore.left = e.cycleW / 2; f.cssBefore.top = e.cycleH / 2; f.animIn = { top: 0, left: 0, width: e.cycleW, height: e.cycleH} }); b.cssBefore = { width: 0, height: 0 }; b.animOut = { opacity: 0} }; a.fn.cycle.transitions.blindX = function (d, e, c) { var b = d.css("overflow", "hidden").width(); c.before.push(function (h, f, g) { a.fn.cycle.commonReset(h, f, g); g.animIn.width = f.cycleW; g.animOut.left = h.cycleW }); c.cssBefore = { left: b, top: 0 }; c.animIn = { left: 0 }; c.animOut = { left: b} }; a.fn.cycle.transitions.blindY = function (d, e, c) { var b = d.css("overflow", "hidden").height(); c.before.push(function (h, f, g) { a.fn.cycle.commonReset(h, f, g); g.animIn.height = f.cycleH; g.animOut.top = h.cycleH }); c.cssBefore = { top: b, left: 0 }; c.animIn = { top: 0 }; c.animOut = { top: b} }; a.fn.cycle.transitions.blindZ = function (e, f, d) { var c = e.css("overflow", "hidden").height(); var b = e.width(); d.before.push(function (i, g, h) { a.fn.cycle.commonReset(i, g, h); h.animIn.height = g.cycleH; h.animOut.top = i.cycleH }); d.cssBefore = { top: c, left: b }; d.animIn = { top: 0, left: 0 }; d.animOut = { top: c, left: b} }; a.fn.cycle.transitions.growX = function (c, d, b) { b.before.push(function (g, e, f) { a.fn.cycle.commonReset(g, e, f, false, true); f.cssBefore.left = this.cycleW / 2; f.animIn = { left: 0, width: this.cycleW }; f.animOut = { left: 0} }); b.cssBefore = { width: 0, top: 0} }; a.fn.cycle.transitions.growY = function (c, d, b) { b.before.push(function (g, e, f) { a.fn.cycle.commonReset(g, e, f, true, false); f.cssBefore.top = this.cycleH / 2; f.animIn = { top: 0, height: this.cycleH }; f.animOut = { top: 0} }); b.cssBefore = { height: 0, left: 0} }; a.fn.cycle.transitions.curtainX = function (c, d, b) { b.before.push(function (g, e, f) { a.fn.cycle.commonReset(g, e, f, false, true, true); f.cssBefore.left = e.cycleW / 2; f.animIn = { left: 0, width: this.cycleW }; f.animOut = { left: g.cycleW / 2, width: 0} }); b.cssBefore = { top: 0, width: 0} }; a.fn.cycle.transitions.curtainY = function (c, d, b) { b.before.push(function (g, e, f) { a.fn.cycle.commonReset(g, e, f, true, false, true); f.cssBefore.top = e.cycleH / 2; f.animIn = { top: 0, height: e.cycleH }; f.animOut = { top: g.cycleH / 2, height: 0} }); b.cssBefore = { left: 0, height: 0} }; a.fn.cycle.transitions.cover = function (f, g, e) { var i = e.direction || "left"; var b = f.css("overflow", "hidden").width(); var c = f.height(); e.before.push(function (j, d, h) { a.fn.cycle.commonReset(j, d, h); if (i == "right") { h.cssBefore.left = -b } else { if (i == "up") { h.cssBefore.top = c } else { if (i == "down") { h.cssBefore.top = -c } else { h.cssBefore.left = b } } } }); e.animIn = { left: 0, top: 0 }; e.animOut = { opacity: 1 }; e.cssBefore = { top: 0, left: 0} }; a.fn.cycle.transitions.uncover = function (f, g, e) { var i = e.direction || "left"; var b = f.css("overflow", "hidden").width(); var c = f.height(); e.before.push(function (j, d, h) { a.fn.cycle.commonReset(j, d, h, true, true, true); if (i == "right") { h.animOut.left = b } else { if (i == "up") { h.animOut.top = -c } else { if (i == "down") { h.animOut.top = c } else { h.animOut.left = -b } } } }); e.animIn = { left: 0, top: 0 }; e.animOut = { opacity: 1 }; e.cssBefore = { top: 0, left: 0} }; a.fn.cycle.transitions.toss = function (e, f, d) { var b = e.css("overflow", "visible").width(); var c = e.height(); d.before.push(function (i, g, h) { a.fn.cycle.commonReset(i, g, h, true, true, true); if (!h.animOut.left && !h.animOut.top) { h.animOut = { left: b * 2, top: -c / 2, opacity: 0} } else { h.animOut.opacity = 0 } }); d.cssBefore = { left: 0, top: 0 }; d.animIn = { left: 0} }; a.fn.cycle.transitions.wipe = function (s, m, e) { var q = s.css("overflow", "hidden").width(); var j = s.height(); e.cssBefore = e.cssBefore || {}; var g; if (e.clip) { if (/l2r/.test(e.clip)) { g = "rect(0px 0px " + j + "px 0px)" } else { if (/r2l/.test(e.clip)) { g = "rect(0px " + q + "px " + j + "px " + q + "px)" } else { if (/t2b/.test(e.clip)) { g = "rect(0px " + q + "px 0px 0px)" } else { if (/b2t/.test(e.clip)) { g = "rect(" + j + "px " + q + "px " + j + "px 0px)" } else { if (/zoom/.test(e.clip)) { var o = parseInt(j / 2); var f = parseInt(q / 2); g = "rect(" + o + "px " + f + "px " + o + "px " + f + "px)" } } } } } } e.cssBefore.clip = e.cssBefore.clip || g || "rect(0px 0px 0px 0px)"; var k = e.cssBefore.clip.match(/(\d+)/g); var u = parseInt(k[0]), c = parseInt(k[1]), n = parseInt(k[2]), i = parseInt(k[3]); e.before.push(function (w, h, t) { if (w == h) { return } var d = a(w), b = a(h); a.fn.cycle.commonReset(w, h, t, true, true, false); t.cssAfter.display = "block"; var r = 1, l = parseInt((t.speedIn / 13)) - 1; (function v() { var y = u ? u - parseInt(r * (u / l)) : 0; var z = i ? i - parseInt(r * (i / l)) : 0; var A = n < j ? n + parseInt(r * ((j - n) / l || 1)) : j; var x = c < q ? c + parseInt(r * ((q - c) / l || 1)) : q; b.css({ clip: "rect(" + y + "px " + x + "px " + A + "px " + z + "px)" }); (r++ <= l) ? setTimeout(v, 13) : d.css("display", "none") })() }); e.cssBefore = { display: "block", opacity: 1, top: 0, left: 0 }; e.animIn = { left: 0 }; e.animOut = { left: 0} } })($);


$(document).ready(function () {

    initLanguages();

    function showRandomSlide() {
        var allItems = $(".homepage_rotator .item");
        var totalWeight = 0;
        for (var i = 0; i < allItems.length; i++) {
            totalWeight += parseInt($(allItems[i]).attr("rel"), 10);
        }
        var slide = Math.floor(Math.random() * totalWeight);
        var foundWeight = false;
        var testWeight = 0;
        var useWeight;
        //console.log("RANDOM WEIGHT: " + slide);
        for (var i = 0; i < allItems.length; i++) {
            if (foundWeight == false) {
                testWeight += parseInt($(allItems[i]).attr("rel"), 10);
                // console.log("TESTING AGAINST: " + testWeight);
                if (slide < testWeight) {
                    useWeight = i;
                    //console.log("FOUND: " + useWeight);
                    foundWeight = true;
                }
            }
        }
        return useWeight;
    }

    $('.homepage_rotator .inner').cycle({
        fx: 'fade',
        speed: 600,
        timeout: 10000,
        startingSlide: showRandomSlide(),
        pager: '.homepage_rotator .pager',
        prev: '.rotator_prev',
        next: '.rotator_next'
    });

    $('.railWidth6 .homepage_rotator .pager .page').each(function (index) {
        $(this).attr('id', 'c' + index);

        $(this).mouseover(function () {
            var counter = $('.preview').length;
            $('.preview').css('display', 'none');
            $('.preview.' + this.id).css('display', 'block');
            $('.preview.' + this.id).css('left', this.offsetLeft + 714 - (counter * 13));
        });

        $(this).mouseleave(function () {
            $('.preview').css('display', 'none');
        });
    });

    $('.rail6 .homepage_rotator .pager .page').each(function (index) {
        $(this).attr('id', 'c' + index);

        $(this).mouseover(function () {
            var counter = $('.preview').length;
            $('.preview').css('display', 'none');
            $('.preview.' + this.id).css('display', 'block');
            $('.preview.' + this.id).css('left', this.offsetLeft + 713 - (counter * 13));
        });

        $(this).mouseleave(function () {
            $('.preview').css('display', 'none');
        });
    });

    $('.rail3 .homepage_rotator .pager .page').each(function (index) {
        $(this).attr('id', 'c' + index);

        $(this).mouseover(function () {
            var counter = $('.preview').length;
            $('.preview').css('display', 'none');
            $('.preview.' + this.id).css('display', 'block');
            $('.preview.' + this.id).css('left', this.offsetLeft + 170 - (counter * 13));
        });

        $(this).mouseleave(function () {
            $('.preview').css('display', 'none');
        });
    });

});


/*--------------------------------------------------------------------------------------------------*/





$(document).ready(function () {
    fixLargeFieldsetsForPrinting();

    initNavLastItems();

    initCountdown();

    initRatings();

    initDropdowns();

    initDownloadConf();

    /***** Coment Show/Hider ******/
    $(".blurbToggle, .fullToggle").click(function (e) {
        e.preventDefault();
        var $_parent = $(this).parents('.moduleDataContent');
        var $_blurb = $_parent.find('.blurb');
        var $_fc = $_parent.find('.fullContent');
        if ($_fc.css('display').toString().indexOf('block') == -1) {
            $_blurb.slideUp();
            $_fc.slideDown();
        } else {
            $_blurb.slideDown();
            $_fc.slideUp();
        }
        /* This means they ALL open/close so I put the above back in per ticket 23413. */
        /*
        $(".blurb, .fullContent").toggle();
        return false;
        */
    });

    $('#nav_itemF').parent().find('.subNavAdDrop').css('left', '').css('right', 0);

    $("#headerSearchField, #searchResoucesSearchField").each(function () {
        var resetValue = this.value;
        $(this).focus(function () {
            if (this.value == resetValue)
                this.value = "";
        });
        $(this).blur(function () {
            if (this.value == "")
                this.value = resetValue;
        });
    });

    initTabSystems();
    checkForNewsFilters();
    initGenericForm();
    initStripe();
    initIssueSelector();
    initShareBar();
    initNavHovers();
	initPdfPreview();

    $(".quizModule").each(function () {
        var quizId = $("form", this).attr("id");
        quizObj.initQuiz(quizId);
    });


    reFillFormData();
});
/*************************************************
END OF DOC READY
*************************************************/
function reFillFormData() {
    
    var obj = jQuery.parseJSON($("#formData").html());

    if (obj && obj.length) {
        for (i = 0; i < obj.length; i++) {
            var field = $('[name="' + obj[i].Key + '"]');

            if (field != null) {
                if (field[0].type == 'textarea' || field[0].type == 'text') {
                    field.val(obj[i].Value);
                }
                else if (field[0].type == 'radio') {
                    for (j = 0; j < field.length; j++) {
                        if (field[j].value == obj[i].Value) {
                            field[j].checked = true;
                        }
                    }
                }
            }
        }
    }
}
function initDownloadConf() {
    $(".downloadConfLink").click(function (e) {
        if (jCore.itemStats.userWhitelisted == true || jCore.readCookie("whitelisted") || jCore.readCookie("alreadypostedinfo")) {
            $(this).attr("target", "_blank");
        } else if (!jCore.readCookie("Membership")) {
            e.preventDefault();
            checkForOverlaySource($(this).attr("href"));
            lbDialog.showOverlay($(this).attr("href"));
        } else {
            $(this).attr("target", "_blank");
        }
    });
}
function checkForOverlaySource(formSrc) {
    if (!document.getElementById("overlay")) {
        tempSource = [];
        tempSource.push('<div id="overlay"></div><div id="dialog"><div class="moduleWrap openTextModule clear"><div class="genericModuleHeader"><h4>Email Required For Access</h4></div><div class="moduleContentOuter"><div class="moduleContentInner">');
        tempSource.push('<h5>Please submit a valid email address to access this document.</h5><p id="messageBox"><span style="font-size:10px;">* Required</span> </p>');
        tempSource.push('<div id="overlayIframeHolder"></div>');
        tempSource.push('</div></div></div></div>');
        $("body").append(tempSource.join(''));
        lbDialog.initLB();
    }
    $("#overlayIframeHolder").html('<iframe border="0" frameborder="0" height="180" width="429" src="' + formSrc + '"></iframe>');

    

}
lbDialog = {}
    /*************************************************
    LIGHTBOX FUNCTIONALITY
    *************************************************/
lbDialog.initLB = function () {
    lbDialog.doc = $(document);
    lbDialog.win = $(window);
    lbDialog.overlay = $("#overlay");
    lbDialog.dialogBox = $("#dialog");
    lbDialog.actionButton = $("#dialogAction", "#dialog");
    lbDialog.cancelButton = $("#dialogCancel", "#dialog");
}


lbDialog.showOverlay = function (resourceUrl) {
    lbDialog.cancelButton.hide();
    lbDialog.actionButton.html("OK").addClass("centerMe").show();
    lbDialog.overlay.height(lbDialog.doc.height()).width(lbDialog.doc.width()).show().bind("click", function () { lbDialog.hideOverlay(); });
    lbDialog.showDialog(resourceUrl);
    lbDialog.win.bind("resize", function () { lbDialog.overlayResize(); }).bind("scroll", function () { lbDialog.overlayReposition(true); }); ;
};
lbDialog.overlayResize = function () {
    lbDialog.showDialog();
    lbDialog.overlay.hide().height(lbDialog.doc.height()).width(lbDialog.doc.width()).show();
};
lbDialog.hideOverlay = function () {
    lbDialog.dialogBox.removeClass("cropDialog").width(330).hide();
    lbDialog.actionButton.unbind("click");
    lbDialog.overlay.hide().unbind("click");
    lbDialog.win.unbind("resize").unbind("scroll");
};
lbDialog.overlayReposition = function (ifAnimate) {
    lbDialog.dialogBox.width(445);
    newLeft = (lbDialog.win.width() / 2) - (lbDialog.dialogBox.width() / 2);
    newTop = (lbDialog.win.height() / 2) - (lbDialog.dialogBox.height() / 2) + lbDialog.win.scrollTop();
    if (ifAnimate) {
        lbDialog.dialogBox.animate({
            left: newLeft,
            top: newTop
        }, 50);
    } else {
        lbDialog.dialogBox.css({ "top": newTop, "left": newLeft }).fadeIn("normal");
    }

};
lbDialog.showDialog = function (resourceUrl) {
    //lbDialog.messageBox.html(message);
    lbDialog.overlayReposition();
    lbDialog.actionButton.bind("click", function () { lbDialog.hideOverlay(); return false; });

};

/* This must be run first as it won't move bound events with it */
function fixLargeFieldsetsForPrinting() {
	// Find all of the fieldsets
	$('fieldset').each(function() {
		var $_this=$(this);
		// If any of them are over 400px tall and thus a risk for printing
		if ($_this.height() > 400) {
			// Create a new div
			var newNode=document.createElement("div");
			// of class fieldset
			newNode.className="fieldset";
			// Insert it before the fieldset
			this.parentNode.insertBefore(newNode, this);
			// While the fieldset still has children
			while(this.childNodes.length>0) {
				// Move them out of the fieldset and into the div
				newNode.insertBefore(this.childNodes[0], null);
			}
			// Remove the now empty fieldset
			$_this.remove();
		}
	});
}

function initNavHovers() {
		$('#siteNavMain > li').mouseover(function() {
			$(".subNavAdDrop:first",this).show();
		}).mouseout(function() {
			$(".subNavAdDrop:first",this).hide();
		});
}
function initNavLastItems() {
	$("#siteNavMain>li:last").addClass("lastItem");
	$("#nav_itemF").parent("li").addClass("secondToLastItem");
}

function initCountdown() {
	$(".countdownClock").each(function(i) {
		//countdown($(this), i);
	});
}


/****************************
	dropdown functions
*****************************/
function initDropdowns() {
	var dropdownTimeout = new Array();
	// add click functionality for generic dropdowns
	$(".genericDropDown").each(function(i) {
        var scope = $(this);
        $(".dropTrigger>a:first", scope).bind("click", function() {
            var thisDropStyle = $(".dropContent", scope).css("display");
            if (thisDropStyle == "none") {
                $(".dropContent").hide();
                $(".dropContent", scope).show();
            } else {
				if(clearTimeout(dropdownTimeout[i]))
					clearTimeout(dropdownTimeout[i]);
                $(".dropContent").hide();
            }
            return false;
        });
		
		var hideDropDown = function(){ $(scope).find(".dropContent").hide(); }
		
		scope.bind("mouseout", function() {
			dropdownTimeout[i] = setTimeout(hideDropDown,1000);
			//dropdownTimeout[i] = setTimeout("hideDropDown("+i+");",1000);
		}).bind("mouseover",function() {
			
			if(clearTimeout(dropdownTimeout[i])) {
				clearTimeout(dropdownTimeout[i]);
				scope.unbind("mouseout");
				scope.bind("mouseout", function() {
					dropdownTimeout[i] = setTimeout(hideDropDown,1000);
					//dropdownTimeout[i] = setTimeout("hideDropDown("+i+");",1000);
				});
			}
		});
		
		if(!document.all) {
			$(window).bind('resize', function() {
				$(".dropContent", scope).hide();
			});
		}
    });
}



/****************************
	pdf preview
*****************************/
function initPdfPreview() {

    $(".rail1 .pdfPreview, .rail3 .pdfPreview, .rail4 .pdfPreview, .rail7 .pdfPreview").each(function () {
        var $this = $(this),
			parent = $(this).parents('.moduleData');
		parent.hover(function (e) {
            var x = parent.position().left + parent.width() + 22,
				y = parent.position().top + (0.5 * parent.height()) - 120;
            if (parent.parents('.rail4').length || parent.parents('.rail7').length)
			    x = parent.position().left - 394;
            parent.append('<div class="preview" style="top:' + y + 'px; left:' + x + 'px;"><div class="preview-container"><a href="' + $this.attr('href') + '"><img src="' + $this.attr('rel') + '" alt="" /></a></div><div class="preview-bottom"></div><div class="arrow"></div></div>');
        }, function () {
            parent.find(".preview").remove();
        });
    });

}




/****************************
	ratings functions
*****************************/
function initRatings() {
	$(".shareBarRatings").each(function(e) {
		prepRatingSystem(e);
	});
}

function initShareBar() {
    $('.share').each(function() {
        this.onclick=function(e) {
            addthis_open(this, 'share', '[url]', '[title]');
            return false;
        }
    });
      
    $('.print').click(function(e) {
        e.preventDefault();
		
		// Expand all FAQs before printing
		$('.blurb').hide();
		$('.fullContent').show();
		
        window.print();
    });
}

var validator=null;
function initGenericForm() {
	validator=new com.digitaria.validator();
	
	// create erro div for generic forms
    $(".genericForm").each(function() {
        $(this).append("<div class='genericFormError'></div>");
		
		this.onsubmit=function() {
			return validator.validate(this, { revCountsAsEmpty: true });
		}
    });
}

function showRandomTakeover() {
    var allItems = $(".policyIssues .takeover");
    allItems.removeClass("activeTakeover");
    var totalWeight = 0;
    for (var i = 0; i < allItems.length; i++) {
        totalWeight += parseInt($(allItems[i]).attr("rel"), 10);
    }
    var takeover = Math.floor(Math.random() * totalWeight);
    var foundWeight = false;
    var testWeight = 0;
    var useWeight;
    //console.log("RANDOM WEIGHT: " + takeover);
    for (var i = 0; i < allItems.length; i++) {
        if (foundWeight == false) {
            testWeight += parseInt($(allItems[i]).attr("rel"), 10);
           // console.log("TESTING AGAINST: " + testWeight);
            if (takeover < testWeight) {
                useWeight = i;
                //console.log("FOUND: " + useWeight);
                foundWeight = true;
            }
        }
    }
    $(allItems[useWeight]).addClass("activeTakeover");
    $(".activeDotNav").removeClass("activeDotNav");
    $("#issuesRotatorControls a:eq("+useWeight+")").addClass("activeDotNav");
}
function changeTakeoverToItem(count, el) {
    $(".activeTakeover").removeClass("activeTakeover");
    $(".takeover:eq(" + count + ")").addClass("activeTakeover");
    $(".activeDotNav").removeClass("activeDotNav");
    $(el).addClass("activeDotNav");
    return false;
}
function changeTakeover(dir) {
    currentTakeover = $(".activeTakeover");
    if (dir > 0) {
        if (currentTakeover.next(".takeover").length > 0) {
            currentTakeover.next(".takeover").addClass("activeTakeover");
        } else {
            $(".takeover:first").addClass("activeTakeover");
        }
        
    } else {
        if (currentTakeover.prev(".takeover").length > 0) {
            currentTakeover.prev(".takeover").addClass("activeTakeover");
        } else {
            $(".takeover:last").addClass("activeTakeover");
        }
    }
    currentTakeover.removeClass("activeTakeover");
}
function addRotatorControls() {
    if (!document.getElementById("issuesRotatorControls")) {
        rotatorControlsSource = [];
        rotatorControlsSource.push('<div id="issuesRotatorControls">');
        for (var i = 0; i < $(".takeover").length;i++ ) {
            rotatorControlsSource.push('<a class="issueRotatorDot" onclick="changeTakeoverToItem('+i+', this);return false;" href="#"></a>');
        }
        rotatorControlsSource.push('</div>');
        $(".policyIssues .moduleContentOuter").append(rotatorControlsSource.join(''));
        //$(".policyIssues .moduleContentOuter").append('<div id="issuesRotatorControls"><a id="issueRotatorBack" onclick="changeTakeover(0);return false;" href="#">L</a><a id="issueRotatorForward" onclick="changeTakeover(1);return false;" href="#">R</a></div>');
    } else {
        $("#issuesRotatorControls").show();
    }
    $("#closeIssuesBrowser").hide();
}
function addCloseIssuesBrowser() {
    if (!document.getElementById("closeIssuesBrowser")) {
        if($(".takeover").length > 0) {
            $(".policyIssues .moduleContentOuter").append('<a href="" id="closeIssuesBrowser" onclick="closeIssuesBrowser();return false;"></a>');
        }
    } else {
        $("#closeIssuesBrowser").show();
    }
}
function closeIssuesBrowser() {
    var takeovers=$(".policyIssues .takeover");
    if (takeovers.length > 0) {
        addRotatorControls();
        showRandomTakeover();
    }
    $(".policyIssues .issueSelector a.activeNav").removeClass('activeNav');
    $(".policyIssues .contentBox").hide();
    $("#closeIssuesBrowser").hide();
}
function initIssueSelector() {
    $(".policyIssues .issueSelector a").click(function (e) {
        e.preventDefault();
        var takeovers = $(".policyIssues .takeover");
        if (takeovers.length > 0) {
            addCloseIssuesBrowser();
            $("#issuesRotatorControls").hide();
        }
        var rel = $(this).attr("rel");
        $(".policyIssues .activeTakeover").removeClass("activeTakeover");
        $(".policyIssues .contentBox").css('display', 'none');
        $(".policyIssues .issueSelector a").removeClass('activeNav');
        $("#" + rel).css('display', 'block');
        $(this).addClass('activeNav');
    });
	
	var takeovers=$(".policyIssues .takeover");
	if (takeovers.length > 0) {
	    addRotatorControls();
	    showRandomTakeover();
    } else {
        addCloseIssuesBrowser();
		$(".policyIssues .issueSelector a:first").addClass('activeNav');
		$(".policyIssues .contentBox:first").show();
	}
}
function initStripe() {
	// white stripes
	$(".shopfloorBlog .moduleData:even").addClass("odd");
	// gray stripes
	$(".newsModule .moduleData:odd").addClass("even");
	$(".relatedResources .moduleData:odd").addClass("even");
	$(".relatedLinks .moduleData:odd").addClass("even");
	$(".staffContacts .moduleData:odd").addClass("even");
	$(".browseResources .moduleData:odd").addClass("even");
	$(".manufacturingFacts .moduleData:odd").addClass("even");
	$(".listModule li:odd").addClass("even");
	$(".eventsDetailBottom .moduleData:odd").addClass("even");
	$(".latestNews .moduleData:odd").addClass("even");
	$(".searchResults .searchResult:odd").addClass("even");
}
function initTabSystems() {
	$(".ajaxTabModule").each(function() {
        var scope = this;
        var tabContent = $(".ajaxTabContent:first", scope);
        $(".ajaxTabsList li a", scope).click(function() {
            $(".ajaxTabsList li.active", scope).removeClass("active");
            $(this, scope).parent("li").addClass("active");
            $(tabContent).html("Loading");
            var newTabContent = this.href;
            $.ajax({ type: "GET", url: newTabContent,
                success: function(data) {
                    $(tabContent).html(data);
                }
            });
            return false;
        });
    });	
}
function checkForNewsFilters() {
	var filter = new Array();
	$(".newsFilterArchive #newsArchiveFilter").each(function(i) {
		filter[i] = new Filter("newsArchiveFilter","newsArchiveFilterItem","newsArchiveList",20);
	});
}

function findLabel(elID) {
	var labelText = "hi";
	$("label").each(function() {
		var thisLabelFor = $(this).attr("for");
		var thisLabelHtml = $(this).html();
		var thisLabelHtml1 = thisLabelHtml.split("<");
		if(thisLabelFor == elID) {
			labelText = thisLabelHtml1[0];
		}
	});
	return labelText;
}

var quizObj = {
    initQuiz: function (quizId) {
        //this goes through the itemQuizs array and initializes all quizs on a page

        var quizForm = $("#" + quizId);
        var quizContainer = $("#" + quizId + "Container");
        var quizurl = quizForm.attr("action");

        var self = this;
        jCore.log("INIT QUIZ WITH ID: " + quizId);
        $.ajax({
            type: "GET",
            //url: "/Html/Static/quiz.html",
            url: "/Handlers/Poll.ajax",
            dataType: "json",
            cache: false,
            data: "id=" + quizId + "&userID=" + jCore.readCookie("userID"),
            success: function (quizJSON) {
                if (quizJSON.userClicked) {
                    var quizAnswerTexts = self.getQuizAnswerTexts(quizForm, quizId);
                    quizResults = self.buildQuizResults(quizJSON, quizAnswerTexts, quizId, false);

                    if (quizJSON.message && quizJSON.message != "") {
                        quizMessage = self.buildExplanationSource(quizJSON.message);
                        $(quizContainer).after(quizMessage);
                    }

                    quizContainer.animate({ opacity: 'hide' }, "fast", function () {
                        quizContainer.html(quizResults).animate({ opacity: 'show' }, "slow");
                    });
                } else {
                    quizForm.submit(function (e) {
                        e.preventDefault();
                        self.submitQuiz(quizId, quizForm, quizContainer, quizurl);
                        return false;
                    });
                }
            }
        });

    },
    submitQuiz: function (quizId, quizForm, quizContainer, quizurl) {
        var quizValue;
        $("input:radio").each(function (f) {
            if ($("input:radio:eq(" + f + ")", "#" + quizId).attr("checked"))
                quizValue = $(this).attr("value");
        });

        if (!quizValue) {
            alert("Please select an answer.");
        } else {
            var self = this;
            $.ajax({
                type: "GET",
                url: "/Handlers/PollClick.ajax",
                data: "id=" + quizId + "&choiceId=" + quizValue + "&userid=" + jCore.readCookie("userID"),
                cache: false,
                success: function (quizResults) {
                    if (quizResults.processed = true)
                        self.getQuizResults(jCore.readCookie("userID"), quizId, quizForm, quizContainer, quizurl, quizValue);
                }
            });
        }
        return false;
    },
    getQuizResults: function (userid, quizId, quizForm, quizContainer, quizurl, quizValue) {
        var self = this;
        $.ajax({
            type: "GET", url: "/Handlers/Poll.ajax", dataType: "json", cache: false, data: "id=" + quizId + "&userid=" + userid,
            success: function (quizresults) {
                quizAnswerTexts = self.getQuizAnswerTexts(quizForm, quizId);
                quizResults = self.buildQuizResults(quizresults, quizAnswerTexts, quizId, quizValue);
                //quizMessage = self.buildExplanationSource(quizresults.message);
                if (quizresults.message && quizresults.message != "") {
                    quizMessage = self.buildExplanationSource(quizresults.message);
                    $(quizContainer).after(quizMessage);
                }
                $(quizContainer).animate({ opacity: 'hide' }, "fast", function () {
                    $(quizContainer).html(quizResults);
                    $(quizContainer).animate({ opacity: 'show' }, "slow");
                });
               // $(".quizModule:has(#" + quizId + ")").after(quizMessage);
            }
        });
    },
    buildExplanationSource: function (message) {
        return '<div class="pollTotal"><strong><em>Explanation</em></strong><p>' + message + '</p></div>';
        //return '<div class="moduleWrap quizModuleExplanation clear"><div class="moduleContentOuter"><div class="genericModuleHeader"><h4 id="explanationTItle"></h4></div><div class="moduleContentInner">' + message + '</div></div></div>';
    },
    // function to build quiz result
    buildQuizResults: function (quizJSON, quizAnswerTexts, quizId, firstTime) {
        var quizResultsSource = new Array;
        var quizAnswersCount = 0;
        var correctAnswer = quizJSON.correctId;
        for (i = 0; i < quizJSON.poll.length; i++) {
            quizPercentage = quizJSON.poll[i].percentage;
            if (quizPercentage < 2)
                quizPercentage = 1;
            var idRef = quizJSON.poll[i].itemId;

            var correctClass = (idRef == correctAnswer) ? " correctAnswer" : "";


            var quizResultBar = (quizJSON.showPercentageBars == true) ? '<div class="quizPercentageBar" style="height:13px;width:' + quizJSON.poll[i].percentage + '%;"></div>' : '';
            var quizResultPercentage = (quizJSON.showPercentages == true) ? "<span class='quizResultRowPercentage'>" + quizJSON.poll[i].percentage + "% </span>" : "";
            if (quizJSON.showOnlyCorrect == true) {
                if (idRef == correctAnswer) {
                    quizResultsSource[quizAnswerTexts[idRef]] = "<div class='quizResultRow clear" + correctClass + "'>" + quizResultBar + "<p>" + quizResultPercentage + "" + quizAnswerTexts[idRef] + "</p></div>";
                }
                //quizResultsSource[quizAnswerTexts[idRef]] = "<div class='quizResultRow clear" + correctClass + "'>" + quizResultBar + "<p>" + quizResultPercentage + "" + quizAnswerTexts[idRef] + "</p></div>";
            } else {
                quizResultsSource[quizAnswerTexts[idRef]] = "<div class='quizResultRow clear" + correctClass + "'>" + quizResultBar + "<p>" + quizResultPercentage + "" + quizAnswerTexts[idRef] + "</p></div>";
            }
            quizAnswersCount++;
        }
        var quizResultsSourceOrdered = new Array();
        if (firstTime !== false) {
            if (correctAnswer == firstTime) {
                quizResultsSourceOrdered.push("<p class='quizCorrectMessage'><span>CORRECT!</span></p>");
            } else {
                quizResultsSourceOrdered.push("<p class='quizIncorrectMessage'><strong>INCORRECT.</strong> See Correct Answer In Green Below:</p>");
            }
        }
        //quizResultsSourceOrdered.push("<p class='quizTotalClicks'>Total: "+quizJSON.totalClicks+"</p>");
        // re-order to match initial state
        for (i = 0; i < quizJSON.poll.length; i++) {
            var sourceKey = quizAnswerTexts[quizId + i];
            var addSource = quizResultsSource[sourceKey];
            quizResultsSourceOrdered.push(addSource);
        }
        return quizResultsSourceOrdered.join("");
    },
    // this gets the answer text from each quiz question to use in results source
    getQuizAnswerTexts: function (quizForm, quizId) {
        var labels = $("label", quizForm);
        var labelTexts = new Object;
        for (i = 0; i < labels.length; i++) {

            var answerId = $("label:eq(" + i + ") input", quizForm).attr("value");
            var answerText = $("label:eq(" + i + ") span", quizForm).html();
            labelTexts[answerId] = answerText;
            labelTexts[quizId + i] = answerText;

        }
        $(quizForm).html("<div class='quizError'>Loading</div>");
        return labelTexts;
    }
}

function initLanguages() {
    var path = window.location.pathname;

    if (path.toLowerCase().match(/es-us/)) {
        $('.spanishLanguage').attr('href', window.location);
        $('.englishLanguage').attr('href', window.location.toString().toLowerCase().replace("/es-us", ""));
    }
    else {
        $('.spanishLanguage').attr('href', window.location.protocol + "//" + window.location.hostname + "/es-us" + window.location.pathname);
        $('.englishLanguage').attr('href', window.location);
    }
}
