/*
 * jQuery JavaScript Library v1.3.2
 * http://jquery.com/
 *
 * Copyright (c) 2009 John Resig
 * Dual licensed under the MIT and GPL licenses.
 * http://docs.jquery.com/License
 *
 * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
 * Revision: 6246
 */
(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
/*
 * Sizzle CSS Selector Engine - v0.9.3
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();;
// $Id: drupal.js,v 1.41.2.4 2009/07/21 08:59:10 goba Exp $

var Drupal = Drupal || { 'settings': {}, 'behaviors': {}, 'themes': {}, 'locale': {} };

/**
 * Set the variable that indicates if JavaScript behaviors should be applied
 */
Drupal.jsEnabled = document.getElementsByTagName && document.createElement && document.createTextNode && document.documentElement && document.getElementById;

/**
 * Attach all registered behaviors to a page element.
 *
 * Behaviors are event-triggered actions that attach to page elements, enhancing
 * default non-Javascript UIs. Behaviors are registered in the Drupal.behaviors
 * object as follows:
 * @code
 *    Drupal.behaviors.behaviorName = function () {
 *      ...
 *    };
 * @endcode
 *
 * Drupal.attachBehaviors is added below to the jQuery ready event and so
 * runs on initial page load. Developers implementing AHAH/AJAX in their
 * solutions should also call this function after new page content has been
 * loaded, feeding in an element to be processed, in order to attach all
 * behaviors to the new content.
 *
 * Behaviors should use a class in the form behaviorName-processed to ensure
 * the behavior is attached only once to a given element. (Doing so enables
 * the reprocessing of given elements, which may be needed on occasion despite
 * the ability to limit behavior attachment to a particular element.)
 *
 * @param context
 *   An element to attach behaviors to. If none is given, the document element
 *   is used.
 */
Drupal.attachBehaviors = function(context) {
  context = context || document;
  if (Drupal.jsEnabled) {
    // Execute all of them.
    jQuery.each(Drupal.behaviors, function() {
      this(context);
    });
  }
};

/**
 * Encode special characters in a plain-text string for display as HTML.
 */
Drupal.checkPlain = function(str) {
  str = String(str);
  var replace = { '&': '&amp;', '"': '&quot;', '<': '&lt;', '>': '&gt;' };
  for (var character in replace) {
    var regex = new RegExp(character, 'g');
    str = str.replace(regex, replace[character]);
  }
  return str;
};

/**
 * Translate strings to the page language or a given language.
 *
 * See the documentation of the server-side t() function for further details.
 *
 * @param str
 *   A string containing the English string to translate.
 * @param args
 *   An object of replacements pairs to make after translation. Incidences
 *   of any key in this array are replaced with the corresponding value.
 *   Based on the first character of the key, the value is escaped and/or themed:
 *    - !variable: inserted as is
 *    - @variable: escape plain text to HTML (Drupal.checkPlain)
 *    - %variable: escape text and theme as a placeholder for user-submitted
 *      content (checkPlain + Drupal.theme('placeholder'))
 * @return
 *   The translated string.
 */
Drupal.t = function(str, args) {
  // Fetch the localized version of the string.
  if (Drupal.locale.strings && Drupal.locale.strings[str]) {
    str = Drupal.locale.strings[str];
  }

  if (args) {
    // Transform arguments before inserting them
    for (var key in args) {
      switch (key.charAt(0)) {
        // Escaped only
        case '@':
          args[key] = Drupal.checkPlain(args[key]);
        break;
        // Pass-through
        case '!':
          break;
        // Escaped and placeholder
        case '%':
        default:
          args[key] = Drupal.theme('placeholder', args[key]);
          break;
      }
      str = str.replace(key, args[key]);
    }
  }
  return str;
};

/**
 * Format a string containing a count of items.
 *
 * This function ensures that the string is pluralized correctly. Since Drupal.t() is
 * called by this function, make sure not to pass already-localized strings to it.
 *
 * See the documentation of the server-side format_plural() function for further details.
 *
 * @param count
 *   The item count to display.
 * @param singular
 *   The string for the singular case. Please make sure it is clear this is
 *   singular, to ease translation (e.g. use "1 new comment" instead of "1 new").
 *   Do not use @count in the singular string.
 * @param plural
 *   The string for the plural case. Please make sure it is clear this is plural,
 *   to ease translation. Use @count in place of the item count, as in "@count
 *   new comments".
 * @param args
 *   An object of replacements pairs to make after translation. Incidences
 *   of any key in this array are replaced with the corresponding value.
 *   Based on the first character of the key, the value is escaped and/or themed:
 *    - !variable: inserted as is
 *    - @variable: escape plain text to HTML (Drupal.checkPlain)
 *    - %variable: escape text and theme as a placeholder for user-submitted
 *      content (checkPlain + Drupal.theme('placeholder'))
 *   Note that you do not need to include @count in this array.
 *   This replacement is done automatically for the plural case.
 * @return
 *   A translated string.
 */
Drupal.formatPlural = function(count, singular, plural, args) {
  var args = args || {};
  args['@count'] = count;
  // Determine the index of the plural form.
  var index = Drupal.locale.pluralFormula ? Drupal.locale.pluralFormula(args['@count']) : ((args['@count'] == 1) ? 0 : 1);

  if (index == 0) {
    return Drupal.t(singular, args);
  }
  else if (index == 1) {
    return Drupal.t(plural, args);
  }
  else {
    args['@count['+ index +']'] = args['@count'];
    delete args['@count'];
    return Drupal.t(plural.replace('@count', '@count['+ index +']'));
  }
};

/**
 * Generate the themed representation of a Drupal object.
 *
 * All requests for themed output must go through this function. It examines
 * the request and routes it to the appropriate theme function. If the current
 * theme does not provide an override function, the generic theme function is
 * called.
 *
 * For example, to retrieve the HTML that is output by theme_placeholder(text),
 * call Drupal.theme('placeholder', text).
 *
 * @param func
 *   The name of the theme function to call.
 * @param ...
 *   Additional arguments to pass along to the theme function.
 * @return
 *   Any data the theme function returns. This could be a plain HTML string,
 *   but also a complex object.
 */
Drupal.theme = function(func) {
  for (var i = 1, args = []; i < arguments.length; i++) {
    args.push(arguments[i]);
  }

  return (Drupal.theme[func] || Drupal.theme.prototype[func]).apply(this, args);
};

/**
 * Parse a JSON response.
 *
 * The result is either the JSON object, or an object with 'status' 0 and 'data' an error message.
 */
Drupal.parseJson = function (data) {
  if ((data.substring(0, 1) != '{') && (data.substring(0, 1) != '[')) {
    return { status: 0, data: data.length ? data : Drupal.t('Unspecified error') };
  }
  return eval('(' + data + ');');
};

/**
 * Freeze the current body height (as minimum height). Used to prevent
 * unnecessary upwards scrolling when doing DOM manipulations.
 */
Drupal.freezeHeight = function () {
  Drupal.unfreezeHeight();
  var div = document.createElement('div');
  $(div).css({
    position: 'absolute',
    top: '0px',
    left: '0px',
    width: '1px',
    height: $('body').css('height')
  }).attr('id', 'freeze-height');
  $('body').append(div);
};

/**
 * Unfreeze the body height
 */
Drupal.unfreezeHeight = function () {
  $('#freeze-height').remove();
};

/**
 * Wrapper around encodeURIComponent() which avoids Apache quirks (equivalent of
 * drupal_urlencode() in PHP). This function should only be used on paths, not
 * on query string arguments.
 */
Drupal.encodeURIComponent = function (item, uri) {
  uri = uri || location.href;
  item = encodeURIComponent(item).replace(/%2F/g, '/');
  return (uri.indexOf('?q=') != -1) ? item : item.replace(/%26/g, '%2526').replace(/%23/g, '%2523').replace(/\/\//g, '/%252F');
};

/**
 * Get the text selection in a textarea.
 */
Drupal.getSelection = function (element) {
  if (typeof(element.selectionStart) != 'number' && document.selection) {
    // The current selection
    var range1 = document.selection.createRange();
    var range2 = range1.duplicate();
    // Select all text.
    range2.moveToElementText(element);
    // Now move 'dummy' end point to end point of original range.
    range2.setEndPoint('EndToEnd', range1);
    // Now we can calculate start and end points.
    var start = range2.text.length - range1.text.length;
    var end = start + range1.text.length;
    return { 'start': start, 'end': end };
  }
  return { 'start': element.selectionStart, 'end': element.selectionEnd };
};

/**
 * Build an error message from ahah response.
 */
Drupal.ahahError = function(xmlhttp, uri) {
  if (xmlhttp.status == 200) {
    if (jQuery.trim($(xmlhttp.responseText).text())) {
      var message = Drupal.t("An error occurred. \n@uri\n@text", {'@uri': uri, '@text': xmlhttp.responseText });
    }
    else {
      var message = Drupal.t("An error occurred. \n@uri\n(no information available).", {'@uri': uri, '@text': xmlhttp.responseText });
    }
  }
  else {
    var message = Drupal.t("An HTTP error @status occurred. \n@uri", {'@uri': uri, '@status': xmlhttp.status });
  }
  return message;
}

// Global Killswitch on the <html> element
if (Drupal.jsEnabled) {
  // Global Killswitch on the <html> element
  $(document.documentElement).addClass('js');
  // 'js enabled' cookie
  document.cookie = 'has_js=1; path=/';
  // Attach all behaviors.
  $(document).ready(function() {
    Drupal.attachBehaviors(this);
  });
}

/**
 * The default themes.
 */
Drupal.theme.prototype = {

  /**
   * Formats text for emphasized display in a placeholder inside a sentence.
   *
   * @param str
   *   The text to format (plain-text).
   * @return
   *   The formatted text (html).
   */
  placeholder: function(str) {
    return '<em>' + Drupal.checkPlain(str) + '</em>';
  }
};
;
/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */

/**
 * Create a cookie with the given name and value and other optional parameters.
 *
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Set the value of a cookie.
 * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
 * @desc Create a cookie with all available options.
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Create a session cookie.
 * @example $.cookie('the_cookie', null);
 * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
 *       used when the cookie was set.
 *
 * @param String name The name of the cookie.
 * @param String value The value of the cookie.
 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
 *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
 *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
 *                             when the the browser exits.
 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
 *                        require a secure protocol (like HTTPS).
 * @type undefined
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */

/**
 * Get the value of a cookie with the given name.
 *
 * @example $.cookie('the_cookie');
 * @desc Get the value of a cookie.
 *
 * @param String name The name of the cookie.
 * @return The value of the cookie.
 * @type String
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */
jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};;
if(typeof jwplayer=="undefined"){var jwplayer=function(b){if(jwplayer.api){return jwplayer.api.selectPlayer(b)}};var $jw=jwplayer;jwplayer.version="5.6.1768 (Licensed version)";(function(c){c.utils=function(){};c.utils.typeOf=function(a){var b=typeof a;if(b==="object"){if(a){if(a instanceof Array){b="array"}}else{b="null"}}return b};c.utils.extend=function(){var f=c.utils.extend["arguments"];if(f.length>1){for(var a=1;a<f.length;a++){for(var b in f[a]){f[0][b]=f[a][b]}}return f[0]}return null};c.utils.clone=function(a){var h;var g=c.utils.clone["arguments"];if(g.length==1){switch(c.utils.typeOf(g[0])){case"object":h={};for(var b in g[0]){h[b]=c.utils.clone(g[0][b])}break;case"array":h=[];for(var b in g[0]){h[b]=c.utils.clone(g[0][b])}break;default:return g[0];break}}return h};c.utils.extension=function(a){a=a.substring(a.lastIndexOf("/")+1,a.length);a=a.split("?")[0];if(a.lastIndexOf(".")>-1){return a.substr(a.lastIndexOf(".")+1,a.length).toLowerCase()}return};c.utils.html=function(b,a){b.innerHTML=a};c.utils.wrap=function(b,a){b.parentNode.replaceChild(a,b);a.appendChild(b)};c.utils.ajax=function(a,b,j){var h;if(window.XMLHttpRequest){h=new XMLHttpRequest()}else{h=new ActiveXObject("Microsoft.XMLHTTP")}h.onreadystatechange=function(){if(h.readyState===4){if(h.status===200){if(b){b(h)}}else{if(j){j(a)}}}};try{h.open("GET",a,true);h.send(null)}catch(i){if(j){j(a)}}return h};c.utils.load=function(b,a,f){b.onreadystatechange=function(){if(b.readyState===4){if(b.status===200){if(a){a()}}else{if(f){f()}}}}};c.utils.find=function(a,b){return a.getElementsByTagName(b)};c.utils.append=function(b,a){b.appendChild(a)};c.utils.isIE=function(){return((!+"\v1")||(typeof window.ActiveXObject!="undefined"))};c.utils.isLegacyAndroid=function(){var a=navigator.userAgent.toLowerCase();return(a.match(/android 2.[012]/i)!==null)};c.utils.isIOS=function(){var a=navigator.userAgent.toLowerCase();return(a.match(/iP(hone|ad)/i)!==null)};c.utils.getFirstPlaylistItemFromConfig=function(f){var b={};var a;if(f.playlist&&f.playlist.length){a=f.playlist[0]}else{a=f}b.file=a.file;b.levels=a.levels;b.streamer=a.streamer;b.playlistfile=a.playlistfile;b.provider=a.provider;if(!b.provider){if(b.file&&(b.file.toLowerCase().indexOf("youtube.com")>-1||b.file.toLowerCase().indexOf("youtu.be")>-1)){b.provider="youtube"}if(b.streamer&&b.streamer.toLowerCase().indexOf("rtmp://")==0){b.provider="rtmp"}if(a.type){b.provider=a.type.toLowerCase()}}return b};c.utils.getOuterHTML=function(i){if(i.outerHTML){return i.outerHTML}else{var h=i.parentNode;var j=document.createElement(h.tagName);var a=document.createElement(i.tagName);h.replaceChild(a,i);j.appendChild(i);var b=j.innerHTML;h.replaceChild(i,a);return b}};c.utils.setOuterHTML=function(b,h){if(b.outerHTML){b.outerHTML=h}else{var a=document.createElement("div");a.innerHTML=h;var j=document.createRange();j.selectNodeContents(a);var i=j.extractContents();b.parentNode.insertBefore(i,b);b.parentNode.removeChild(b)}};c.utils.hasFlash=function(){if(typeof navigator.plugins!="undefined"&&typeof navigator.plugins["Shockwave Flash"]!="undefined"){return true}if(typeof window.ActiveXObject!="undefined"){try{new ActiveXObject("ShockwaveFlash.ShockwaveFlash");return true}catch(a){}}return false};c.utils.getPluginName=function(a){if(a.lastIndexOf("/")>=0){a=a.substring(a.lastIndexOf("/")+1,a.length)}if(a.lastIndexOf("-")>=0){a=a.substring(0,a.lastIndexOf("-"))}if(a.lastIndexOf(".swf")>=0){a=a.substring(0,a.lastIndexOf(".swf"))}if(a.lastIndexOf(".js")>=0){a=a.substring(0,a.lastIndexOf(".js"))}return a};c.utils.getPluginVersion=function(a){if(a.lastIndexOf("-")>=0){if(a.lastIndexOf(".js")>=0){return a.substring(a.lastIndexOf("-")+1,a.lastIndexOf(".js"))}else{if(a.lastIndexOf(".swf")>=0){return a.substring(a.lastIndexOf("-")+1,a.lastIndexOf(".swf"))}else{return a.substring(a.lastIndexOf("-")+1)}}}return""};c.utils.getAbsolutePath=function(b,i){if(i===undefined){i=document.location.href}if(b===undefined){return undefined}if(d(b)){return b}var a=i.substring(0,i.indexOf("://")+3);var l=i.substring(a.length,i.indexOf("/",a.length+1));var o;if(b.indexOf("/")===0){o=b.split("/")}else{var n=i.split("?")[0];n=n.substring(a.length+l.length+1,n.lastIndexOf("/"));o=n.split("/").concat(b.split("/"))}var p=[];for(var m=0;m<o.length;m++){if(!o[m]||o[m]===undefined||o[m]=="."){continue}else{if(o[m]==".."){p.pop()}else{p.push(o[m])}}}return a+l+"/"+p.join("/")};function d(b){if(b===null){return}var a=b.indexOf("://");var f=b.indexOf("?");return(a>0&&(f<0||(f>a)))}c.utils.pluginPathType={ABSOLUTE:"ABSOLUTE",RELATIVE:"RELATIVE",CDN:"CDN"};c.utils.getPluginPathType=function(g){if(typeof g!="string"){return}g=g.split("?")[0];var b=g.indexOf("://");if(b>0){return c.utils.pluginPathType.ABSOLUTE}var h=g.indexOf("/");var a=c.utils.extension(g);if(b<0&&h<0&&(!a||!isNaN(a))){return c.utils.pluginPathType.CDN}return c.utils.pluginPathType.RELATIVE};c.utils.mapEmpty=function(b){for(var a in b){return false}return true};c.utils.mapLength=function(b){var f=0;for(var a in b){f++}return f};c.utils.log=function(a,b){if(typeof console!="undefined"&&typeof console.log!="undefined"){if(b){console.log(a,b)}else{console.log(a)}}};c.utils.css=function(i,a,j){if(i!==undefined){for(var h in a){try{if(typeof a[h]==="undefined"){continue}else{if(typeof a[h]=="number"&&!(h=="zIndex"||h=="opacity")){if(isNaN(a[h])){continue}if(h.match(/color/i)){a[h]="#"+c.utils.strings.pad(a[h].toString(16),6)}else{a[h]=Math.ceil(a[h])+"px"}}}i.style[h]=a[h]}catch(b){}}}};c.utils.isYouTube=function(a){return(a.indexOf("youtube.com")>-1||a.indexOf("youtu.be")>-1)};c.utils.transform=function(b,a){b.style.webkitTransform=a;b.style.MozTransform=a;b.style.OTransform=a};c.utils.stretch=function(q,a,b,s,n,r){if(typeof b=="undefined"||typeof s=="undefined"||typeof n=="undefined"||typeof r=="undefined"){return}var u=b/n;var t=s/r;var o=0;var p=0;a.style.overflow="hidden";c.utils.transform(a,"");var v={};switch(q.toUpperCase()){case c.utils.stretching.NONE:v.width=n;v.height=r;break;case c.utils.stretching.UNIFORM:if(u>t){v.width=n*t;v.height=r*t}else{v.width=n*u;v.height=r*u}break;case c.utils.stretching.FILL:if(u>t){v.width=n*u;v.height=r*u}else{v.width=n*t;v.height=r*t}break;case c.utils.stretching.EXACTFIT:c.utils.transform(a,["scale(",u,",",t,")"," translate(0px,0px)"].join(""));v.width=n;v.height=r;break;default:break}v.top=(s-v.height)/2;v.left=(b-v.width)/2;c.utils.css(a,v)};c.utils.stretching={NONE:"NONE",FILL:"FILL",UNIFORM:"UNIFORM",EXACTFIT:"EXACTFIT"};c.utils.deepReplaceKeyName=function(a,j,l){switch(c.utils.typeOf(a)){case"array":for(var b=0;b<a.length;b++){a[b]=c.utils.deepReplaceKeyName(a[b],j,l)}break;case"object":for(var i in a){var k=i.replace(new RegExp(j,"g"),l);a[k]=c.utils.deepReplaceKeyName(a[i],j,l);if(i!=k){delete a[i]}}break}return a};c.utils.isInArray=function(a,b){if(!(a)||!(a instanceof Array)){return false}for(var f=0;f<a.length;f++){if(b===a[f]){return true}}return false}})(jwplayer);(function(b){b.events=function(){};b.events.COMPLETE="COMPLETE";b.events.ERROR="ERROR"})(jwplayer);(function(jwplayer){jwplayer.events.eventdispatcher=function(debug){var _debug=debug;var _listeners;var _globallisteners;this.resetEventListeners=function(){_listeners={};_globallisteners=[]};this.resetEventListeners();this.addEventListener=function(type,listener,count){try{if(_listeners[type]===undefined){_listeners[type]=[]}if(typeof(listener)=="string"){eval("listener = "+listener)}_listeners[type].push({listener:listener,count:count})}catch(err){jwplayer.utils.log("error",err)}return false};this.removeEventListener=function(type,listener){try{for(var listenerIndex=0;listenerIndex<_listeners[type].length;listenerIndex++){if(_listeners[type][lisenterIndex].toString()==listener.toString()){_listeners[type].slice(lisenterIndex,lisenterIndex+1);break}}}catch(err){jwplayer.utils.log("error",err)}return false};this.addGlobalListener=function(listener,count){try{if(typeof(listener)=="string"){eval("listener = "+listener)}_globallisteners.push({listener:listener,count:count})}catch(err){jwplayer.utils.log("error",err)}return false};this.removeGlobalListener=function(listener){try{for(var globalListenerIndex=0;globalListenerIndex<_globallisteners.length;globalListenerIndex++){if(_globallisteners[globalListenerIndex].toString()==listener.toString()){_globallisteners.slice(globalListenerIndex,globalListenerIndex+1);break}}}catch(err){jwplayer.utils.log("error",err)}return false};this.sendEvent=function(type,data){if(data===undefined){data={}}if(_debug){jwplayer.utils.log(type,data)}if(typeof _listeners[type]!="undefined"){for(var listenerIndex=0;listenerIndex<_listeners[type].length;listenerIndex++){try{_listeners[type][listenerIndex].listener(data)}catch(err){jwplayer.utils.log("There was an error while handling a listener: "+err.toString(),_listeners[type][listenerIndex].listener)}if(_listeners[type][listenerIndex]){if(_listeners[type][listenerIndex].count===1){delete _listeners[type][listenerIndex]}else{if(_listeners[type][listenerIndex].count>0){_listeners[type][listenerIndex].count=_listeners[type][listenerIndex].count-1}}}}}for(var globalListenerIndex=0;globalListenerIndex<_globallisteners.length;globalListenerIndex++){try{_globallisteners[globalListenerIndex].listener(data)}catch(err){jwplayer.utils.log("There was an error while handling a listener: "+err.toString(),_globallisteners[globalListenerIndex].listener)}if(_globallisteners[globalListenerIndex]){if(_globallisteners[globalListenerIndex].count===1){delete _globallisteners[globalListenerIndex]}else{if(_globallisteners[globalListenerIndex].count>0){_globallisteners[globalListenerIndex].count=_globallisteners[globalListenerIndex].count-1}}}}}}})(jwplayer);(function(d){var c={};d.utils.animations=function(){};d.utils.animations.transform=function(b,a){b.style.webkitTransform=a;b.style.MozTransform=a;b.style.OTransform=a;b.style.msTransform=a};d.utils.animations.transformOrigin=function(b,a){b.style.webkitTransformOrigin=a;b.style.MozTransformOrigin=a;b.style.OTransformOrigin=a;b.style.msTransformOrigin=a};d.utils.animations.rotate=function(b,a){d.utils.animations.transform(b,["rotate(",a,"deg)"].join(""))};d.utils.cancelAnimation=function(a){delete c[a.id]};d.utils.fadeTo=function(a,q,r,n,o,s){if(c[a.id]!=s&&s!==undefined){return}var t=new Date().getTime();if(s>t){setTimeout(function(){d.utils.fadeTo(a,q,r,n,0,s)},s-t)}a.style.display="block";if(n===undefined){n=a.style.opacity===""?1:a.style.opacity}if(a.style.opacity==q&&a.style.opacity!==""&&s!==undefined){if(q===0){a.style.display="none"}return}if(s===undefined){s=t;c[a.id]=s}if(o===undefined){o=0}var m=(t-s)/(r*1000);m=m>1?1:m;var b=q-n;var p=n+(m*b);if(p>1){p=1}else{if(p<0){p=0}}a.style.opacity=p;if(o>0){c[a.id]=s+o*1000;d.utils.fadeTo(a,q,r,n,0,c[a.id]);return}setTimeout(function(){d.utils.fadeTo(a,q,r,n,0,s)},10)}})(jwplayer);(function(b){b.utils.arrays=function(){};b.utils.arrays.indexOf=function(f,e){for(var a=0;a<f.length;a++){if(f[a]==e){return a}}return -1};b.utils.arrays.remove=function(f,e){var a=b.utils.arrays.indexOf(f,e);if(a>-1){f.splice(a,1)}}})(jwplayer);(function(b){b.utils.extensionmap={"3gp":{html5:"video/3gpp",flash:"video"},"3gpp":{html5:"video/3gpp"},"3g2":{html5:"video/3gpp2",flash:"video"},"3gpp2":{html5:"video/3gpp2"},flv:{flash:"video"},f4a:{html5:"audio/mp4"},f4b:{html5:"audio/mp4",flash:"video"},f4v:{html5:"video/mp4",flash:"video"},mov:{html5:"video/quicktime",flash:"video"},m4a:{html5:"audio/mp4",flash:"video"},m4b:{html5:"audio/mp4"},m4p:{html5:"audio/mp4"},m4v:{html5:"video/mp4",flash:"video"},mp4:{html5:"video/mp4",flash:"video"},rbs:{flash:"sound"},aac:{html5:"audio/aac",flash:"video"},mp3:{html5:"audio/mp3",flash:"sound"},ogg:{html5:"audio/ogg"},ogv:{html5:"video/ogg"},webm:{html5:"video/webm"},m3u8:{html5:"audio/x-mpegurl"},gif:{flash:"image"},jpeg:{flash:"image"},jpg:{flash:"image"},swf:{flash:"image"},png:{flash:"image"},wav:{html5:"audio/x-wav"}}})(jwplayer);(function(n){n.utils.mediaparser=function(){};var l={element:{width:"width",height:"height",id:"id","class":"className",name:"name"},media:{src:"file",preload:"preload",autoplay:"autostart",loop:"repeat",controls:"controls"},source:{src:"file",type:"type",media:"media","data-jw-width":"width","data-jw-bitrate":"bitrate"},video:{poster:"image"}};var m={};n.utils.mediaparser.parseMedia=function(a){return o(a)};function p(a,b){if(b===undefined){b=l[a]}else{n.utils.extend(b,l[a])}return b}function o(a,e){if(m[a.tagName.toLowerCase()]&&(e===undefined)){return m[a.tagName.toLowerCase()](a)}else{e=p("element",e);var f={};for(var d in e){if(d!="length"){var b=a.getAttribute(d);if(!(b===""||b===undefined||b===null)){f[e[d]]=a.getAttribute(d)}}}var c=a.style["#background-color"];if(c&&!(c=="transparent"||c=="rgba(0, 0, 0, 0)")){f.screencolor=c}return f}}function k(f,c){c=p("media",c);var b=[];var d=n.utils.selectors("source",f);for(var a in d){if(!isNaN(a)){b.push(j(d[a]))}}var e=o(f,c);if(e.file!==undefined){b[0]={file:e.file}}e.levels=b;return e}function j(a,b){b=p("source",b);var c=o(a,b);c.width=c.width?c.width:0;c.bitrate=c.bitrate?c.bitrate:0;return c}function i(a,b){b=p("video",b);var c=k(a,b);return c}m.media=k;m.audio=k;m.source=j;m.video=i})(jwplayer);(function(b){b.utils.loaderstatus={NEW:"NEW",LOADING:"LOADING",ERROR:"ERROR",COMPLETE:"COMPLETE"};b.utils.scriptloader=function(f){var e=b.utils.loaderstatus.NEW;var a=new b.events.eventdispatcher();b.utils.extend(this,a);this.load=function(){if(e==b.utils.loaderstatus.NEW){e=b.utils.loaderstatus.LOADING;var c=document.createElement("script");c.onload=function(d){e=b.utils.loaderstatus.COMPLETE;a.sendEvent(b.events.COMPLETE)};c.onerror=function(d){e=b.utils.loaderstatus.ERROR;a.sendEvent(b.events.ERROR)};c.onreadystatechange=function(){if(c.readyState=="loaded"||c.readyState=="complete"){e=b.utils.loaderstatus.COMPLETE;a.sendEvent(b.events.COMPLETE)}};document.getElementsByTagName("head")[0].appendChild(c);c.src=f}};this.getStatus=function(){return e}}})(jwplayer);(function(b){b.utils.selectors=function(a,e){if(e===undefined){e=document}a=b.utils.strings.trim(a);var f=a.charAt(0);if(f=="#"){return e.getElementById(a.substr(1))}else{if(f=="."){if(e.getElementsByClassName){return e.getElementsByClassName(a.substr(1))}else{return b.utils.selectors.getElementsByTagAndClass("*",a.substr(1))}}else{if(a.indexOf(".")>0){selectors=a.split(".");return b.utils.selectors.getElementsByTagAndClass(selectors[0],selectors[1])}else{return e.getElementsByTagName(a)}}}return null};b.utils.selectors.getElementsByTagAndClass=function(l,i,j){elements=[];if(j===undefined){j=document}var k=j.getElementsByTagName(l);for(var m=0;m<k.length;m++){if(k[m].className!==undefined){var n=k[m].className.split(" ");for(var a=0;a<n.length;a++){if(n[a]==i){elements.push(k[m])}}}}return elements}})(jwplayer);(function(b){b.utils.strings=function(){};b.utils.strings.trim=function(a){return a.replace(/^\s*/,"").replace(/\s*$/,"")};b.utils.strings.pad=function(f,e,a){if(!a){a="0"}while(f.length<e){f=a+f}return f};b.utils.strings.serialize=function(a){if(a==null){return null}else{if(a=="true"){return true}else{if(a=="false"){return false}else{if(isNaN(Number(a))||a.length>5||a.length==0){return a}else{return Number(a)}}}}};b.utils.strings.seconds=function(e){e=e.replace(",",".");var a=e.split(":");var f=0;if(e.substr(-1)=="s"){f=Number(e.substr(0,e.length-1))}else{if(e.substr(-1)=="m"){f=Number(e.substr(0,e.length-1))*60}else{if(e.substr(-1)=="h"){f=Number(e.substr(0,e.length-1))*3600}else{if(a.length>1){f=Number(a[a.length-1]);f+=Number(a[a.length-2])*60;if(a.length==3){f+=Number(a[a.length-3])*3600}}else{f=Number(e)}}}}return f};b.utils.strings.xmlAttribute=function(a,f){for(var e in a.attributes){if(a.attributes[e].name&&a.attributes[e].name.toLowerCase()==f.toLowerCase()){return a.attributes[e].value.toString()}}return""};b.utils.strings.jsonToString=function(k){var i=i||{};if(i&&i.stringify){return i.stringify(k)}var n=typeof(k);if(n!="object"||k===null){if(n=="string"){k='"'+k+'"'}else{return String(k)}}else{var j=[],a=(k&&k.constructor==Array);for(var m in k){var l=k[m];switch(typeof(l)){case"string":l='"'+l+'"';break;case"object":if(l!==null){l=b.utils.strings.jsonToString(l)}break}if(a){if(typeof(l)!="function"){j.push(String(l))}}else{if(typeof(l)!="function"){j.push('"'+m+'":'+String(l))}}}if(a){return"["+String(j)+"]"}else{return"{"+String(j)+"}"}}}})(jwplayer);(function(j){var i=new RegExp(/^(#|0x)[0-9a-fA-F]{3,6}/);j.utils.typechecker=function(a,b){b=b===null?f(a):b;return h(a,b)};function f(b){var a=["true","false","t","f"];if(a.toString().indexOf(b.toLowerCase().replace(" ",""))>=0){return"boolean"}else{if(i.test(b)){return"color"}else{if(!isNaN(parseInt(b,10))&&parseInt(b,10).toString().length==b.length){return"integer"}else{if(!isNaN(parseFloat(b))&&parseFloat(b).toString().length==b.length){return"float"}}}}return"string"}function h(a,b){if(b===null){return a}switch(b){case"color":if(a.length>0){return g(a)}return null;case"integer":return parseInt(a,10);case"float":return parseFloat(a);case"boolean":if(a.toLowerCase()=="true"){return true}else{if(a=="1"){return true}}return false}return a}function g(a){switch(a.toLowerCase()){case"blue":return parseInt("0000FF",16);case"green":return parseInt("00FF00",16);case"red":return parseInt("FF0000",16);case"cyan":return parseInt("00FFFF",16);case"magenta":return parseInt("FF00FF",16);case"yellow":return parseInt("FFFF00",16);case"black":return parseInt("000000",16);case"white":return parseInt("FFFFFF",16);default:a=a.replace(/(#|0x)?([0-9A-F]{3,6})$/gi,"$2");if(a.length==3){a=a.charAt(0)+a.charAt(0)+a.charAt(1)+a.charAt(1)+a.charAt(2)+a.charAt(2)}return parseInt(a,16)}return parseInt("000000",16)}})(jwplayer);(function(e){var f={};var d={};e.plugins=function(){};e.plugins.loadPlugins=function(a,b){d[a]=new e.plugins.pluginloader(new e.plugins.model(f),b);return d[a]};e.plugins.registerPlugin=function(a,c,i){var j=e.utils.getPluginName(a);if(f[j]){f[j].registerPlugin(a,c,i)}else{e.utils.log("A plugin ("+a+") was registered with the player that was not loaded. Please check your configuration.");for(var b in d){d[b].pluginFailed()}}}})(jwplayer);(function(b){b.plugins.model=function(a){this.addPlugin=function(f){var e=b.utils.getPluginName(f);if(!a[e]){a[e]=new b.plugins.plugin(f)}return a[e]}}})(jwplayer);(function(b){b.plugins.pluginmodes={FLASH:"FLASH",JAVASCRIPT:"JAVASCRIPT",HYBRID:"HYBRID"};b.plugins.plugin=function(t){var r="http://lp.longtailvideo.com";var m=b.utils.loaderstatus.NEW;var l;var n;var a;var s=new b.events.eventdispatcher();b.utils.extend(this,s);function q(){switch(b.utils.getPluginPathType(t)){case b.utils.pluginPathType.ABSOLUTE:return t;case b.utils.pluginPathType.RELATIVE:return b.utils.getAbsolutePath(t,window.location.href);case b.utils.pluginPathType.CDN:var c=b.utils.getPluginName(t);var d=b.utils.getPluginVersion(t);return r+"/"+b.version.split(".")[0]+"/"+c+"/"+c+(d!==""?("-"+d):"")+".js"}}function o(c){a=setTimeout(function(){m=b.utils.loaderstatus.COMPLETE;s.sendEvent(b.events.COMPLETE)},1000)}function p(c){m=b.utils.loaderstatus.ERROR;s.sendEvent(b.events.ERROR)}this.load=function(){if(m==b.utils.loaderstatus.NEW){if(t.lastIndexOf(".swf")>0){l=t;m=b.utils.loaderstatus.COMPLETE;s.sendEvent(b.events.COMPLETE);return}m=b.utils.loaderstatus.LOADING;var c=new b.utils.scriptloader(q());c.addEventListener(b.events.COMPLETE,o);c.addEventListener(b.events.ERROR,p);c.load()}};this.registerPlugin=function(e,c,d){if(a){clearTimeout(a);a=undefined}if(c&&d){l=d;n=c}else{if(typeof c=="string"){l=c}else{if(typeof c=="function"){n=c}else{if(!c&&!d){l=e}}}}m=b.utils.loaderstatus.COMPLETE;s.sendEvent(b.events.COMPLETE)};this.getStatus=function(){return m};this.getPluginName=function(){return b.utils.getPluginName(t)};this.getFlashPath=function(){if(l){switch(b.utils.getPluginPathType(l)){case b.utils.pluginPathType.ABSOLUTE:return l;case b.utils.pluginPathType.RELATIVE:if(t.lastIndexOf(".swf")>0){return b.utils.getAbsolutePath(l,window.location.href)}return b.utils.getAbsolutePath(l,q());case b.utils.pluginPathType.CDN:if(l.indexOf("-")>-1){return l+"h"}return l+"-h"}}return null};this.getJS=function(){return n};this.getPluginmode=function(){if(typeof l!="undefined"&&typeof n!="undefined"){return b.plugins.pluginmodes.HYBRID}else{if(typeof l!="undefined"){return b.plugins.pluginmodes.FLASH}else{if(typeof n!="undefined"){return b.plugins.pluginmodes.JAVASCRIPT}}}};this.getNewInstance=function(c,d,e){return new n(c,d,e)};this.getURL=function(){return t}}})(jwplayer);(function(b){b.plugins.pluginloader=function(l,o){var m={};var a=b.utils.loaderstatus.NEW;var p=false;var r=false;var q=new b.events.eventdispatcher();b.utils.extend(this,q);function n(){if(!r){r=true;a=b.utils.loaderstatus.COMPLETE;q.sendEvent(b.events.COMPLETE)}}function k(){if(!r){var c=0;for(plugin in m){var d=m[plugin].getStatus();if(d==b.utils.loaderstatus.LOADING||d==b.utils.loaderstatus.NEW){c++}}if(c==0){n()}}}this.setupPlugins=function(c,e,f){var d={length:0,plugins:{}};var i={length:0,plugins:{}};for(var j in m){var h=m[j].getPluginName();if(m[j].getFlashPath()){d.plugins[m[j].getFlashPath()]=e.plugins[j];d.plugins[m[j].getFlashPath()].pluginmode=m[j].getPluginmode();d.length++}if(m[j].getJS()){var g=document.createElement("div");g.id=c.id+"_"+h;g.style.position="absolute";g.style.zIndex=i.length+10;i.plugins[h]=m[j].getNewInstance(c,e.plugins[j],g);i.length++;if(typeof i.plugins[h].resize!="undefined"){c.onReady(f(i.plugins[h],g,true));c.onResize(f(i.plugins[h],g))}}}c.plugins=i.plugins;return d};this.load=function(){a=b.utils.loaderstatus.LOADING;p=true;for(var c in o){m[c]=l.addPlugin(c);m[c].addEventListener(b.events.COMPLETE,k);m[c].addEventListener(b.events.ERROR,k)}for(c in o){m[c].load()}p=false;k()};this.pluginFailed=function(){n()};this.getStatus=function(){return a}}})(jwplayer);(function(c){var d=[];c.api=function(A){this.container=A;this.id=A.id;var s={};var a={};var B=[];var w=undefined;var t=false;var v=[];var q=c.utils.getOuterHTML(A);var b={};var u={};this.getBuffer=function(){return this.callInternal("jwGetBuffer")};this.getContainer=function(){return this.container};function z(e){return function(f,j,i,h){var g;if(j){u[f]=j;g="jwplayer('"+e+"').callback('"+f+"')"}else{if(!j&&u[f]){delete u[f]}}w.jwDockSetButton(f,g,i,h)}}this.getPlugin=function(e){var f=this.callInternal;if(e=="dock"){return{setButton:z(this.id),show:function(){return f("jwShowDock")},hide:function(){return f("jwHideDock")}}}else{if(e=="controlbar"){return{show:function(){return f("jwShowControlbar")},hide:function(){return f("jwHideControlbar")}}}else{if(e=="display"){return{show:function(){return f("jwShowDisplay")},hide:function(){return f("jwHideDisplay")}}}}}return this.plugins[e]};this.callback=function(e){if(u[e]){return u[e]()}};this.getDuration=function(){return this.callInternal("jwGetDuration")};this.getFullscreen=function(){return this.callInternal("jwGetFullscreen")};this.getHeight=function(){return this.callInternal("jwGetHeight")};this.getLockState=function(){return this.callInternal("jwGetLockState")};this.getMeta=function(){return this.getItemMeta()};this.getMute=function(){return this.callInternal("jwGetMute")};this.getPlaylist=function(){var e=this.callInternal("jwGetPlaylist");if(this.renderingMode=="flash"){c.utils.deepReplaceKeyName(e,"__dot__",".")}for(var f=0;f<e.length;f++){if(e[f].index===undefined){e[f].index=f}}return e};this.getPlaylistItem=function(e){if(e===undefined){e=this.getCurrentItem()}return this.getPlaylist()[e]};this.getPosition=function(){return this.callInternal("jwGetPosition")};this.getRenderingMode=function(){return this.renderingMode};this.getState=function(){return this.callInternal("jwGetState")};this.getVolume=function(){return this.callInternal("jwGetVolume")};this.getWidth=function(){return this.callInternal("jwGetWidth")};this.setFullscreen=function(e){if(e===undefined){this.callInternal("jwSetFullscreen",!this.callInternal("jwGetFullscreen"))}else{this.callInternal("jwSetFullscreen",e)}return this};this.setMute=function(e){if(e===undefined){this.callInternal("jwSetMute",!this.callInternal("jwGetMute"))}else{this.callInternal("jwSetMute",e)}return this};this.lock=function(){return this};this.unlock=function(){return this};this.load=function(e){this.callInternal("jwLoad",e);return this};this.playlistItem=function(e){this.callInternal("jwPlaylistItem",e);return this};this.playlistPrev=function(){this.callInternal("jwPlaylistPrev");return this};this.playlistNext=function(){this.callInternal("jwPlaylistNext");return this};this.resize=function(e,f){if(this.renderingMode=="html5"){w.jwResize(e,f)}else{this.container.width=e;this.container.height=f}return this};this.play=function(e){if(typeof e=="undefined"){e=this.getState();if(e==c.api.events.state.PLAYING||e==c.api.events.state.BUFFERING){this.callInternal("jwPause")}else{this.callInternal("jwPlay")}}else{this.callInternal("jwPlay",e)}return this};this.pause=function(e){if(typeof e=="undefined"){e=this.getState();if(e==c.api.events.state.PLAYING||e==c.api.events.state.BUFFERING){this.callInternal("jwPause")}else{this.callInternal("jwPlay")}}else{this.callInternal("jwPause",e)}return this};this.stop=function(){this.callInternal("jwStop");return this};this.seek=function(e){this.callInternal("jwSeek",e);return this};this.setVolume=function(e){this.callInternal("jwSetVolume",e);return this};this.onBufferChange=function(e){return this.eventListener(c.api.events.JWPLAYER_MEDIA_BUFFER,e)};this.onBufferFull=function(e){return this.eventListener(c.api.events.JWPLAYER_MEDIA_BUFFER_FULL,e)};this.onError=function(e){return this.eventListener(c.api.events.JWPLAYER_ERROR,e)};this.onFullscreen=function(e){return this.eventListener(c.api.events.JWPLAYER_FULLSCREEN,e)};this.onMeta=function(e){return this.eventListener(c.api.events.JWPLAYER_MEDIA_META,e)};this.onMute=function(e){return this.eventListener(c.api.events.JWPLAYER_MEDIA_MUTE,e)};this.onPlaylist=function(e){return this.eventListener(c.api.events.JWPLAYER_PLAYLIST_LOADED,e)};this.onPlaylistItem=function(e){return this.eventListener(c.api.events.JWPLAYER_PLAYLIST_ITEM,e)};this.onReady=function(e){return this.eventListener(c.api.events.API_READY,e)};this.onResize=function(e){return this.eventListener(c.api.events.JWPLAYER_RESIZE,e)};this.onComplete=function(e){return this.eventListener(c.api.events.JWPLAYER_MEDIA_COMPLETE,e)};this.onSeek=function(e){return this.eventListener(c.api.events.JWPLAYER_MEDIA_SEEK,e)};this.onTime=function(e){return this.eventListener(c.api.events.JWPLAYER_MEDIA_TIME,e)};this.onVolume=function(e){return this.eventListener(c.api.events.JWPLAYER_MEDIA_VOLUME,e)};this.onBuffer=function(e){return this.stateListener(c.api.events.state.BUFFERING,e)};this.onPause=function(e){return this.stateListener(c.api.events.state.PAUSED,e)};this.onPlay=function(e){return this.stateListener(c.api.events.state.PLAYING,e)};this.onIdle=function(e){return this.stateListener(c.api.events.state.IDLE,e)};this.remove=function(){s={};v=[];if(c.utils.getOuterHTML(this.container)!=q){c.api.destroyPlayer(this.id,q)}};this.setup=function(f){if(c.embed){var g=this.id;this.remove();var e=c(g);e.config=f;return new c.embed(e)}return this};this.registerPlugin=function(e,f,g){c.plugins.registerPlugin(e,f,g)};this.setPlayer=function(f,e){w=f;this.renderingMode=e};this.stateListener=function(f,e){if(!a[f]){a[f]=[];this.eventListener(c.api.events.JWPLAYER_PLAYER_STATE,x(f))}a[f].push(e);return this};function x(e){return function(i){var j=i.newstate,g=i.oldstate;if(j==e){var h=a[j];if(h){for(var f=0;f<h.length;f++){if(typeof h[f]=="function"){h[f].call(this,{oldstate:g,newstate:j})}}}}}}this.addInternalListener=function(f,e){f.jwAddEventListener(e,'function(dat) { jwplayer("'+this.id+'").dispatchEvent("'+e+'", dat); }')};this.eventListener=function(f,e){if(!s[f]){s[f]=[];if(w&&t){this.addInternalListener(w,f)}}s[f].push(e);return this};this.dispatchEvent=function(e){if(s[e]){var f=y(e,arguments[1]);for(var g=0;g<s[e].length;g++){if(typeof s[e][g]=="function"){s[e][g].call(this,f)}}}};function y(g,i){var e=c.utils.extend({},i);if(g==c.api.events.JWPLAYER_FULLSCREEN&&!e.fullscreen){e.fullscreen=e.message=="true"?true:false;delete e.message}else{if(typeof e.data=="object"){e=c.utils.extend(e,e.data);delete e.data}}var h=["position","duration","offset"];for(var f in h){if(e[h[f]]){e[h[f]]=Math.round(e[h[f]]*1000)/1000}}return e}this.callInternal=function(e,f){if(t){if(typeof w!="undefined"&&typeof w[e]=="function"){if(f!==undefined){return(w[e])(f)}else{return(w[e])()}}return null}else{v.push({method:e,parameters:f})}};this.playerReady=function(e){t=true;if(!w){this.setPlayer(document.getElementById(e.id))}this.container=document.getElementById(this.id);for(var g in s){this.addInternalListener(w,g)}this.eventListener(c.api.events.JWPLAYER_PLAYLIST_ITEM,function(h){b={}});this.eventListener(c.api.events.JWPLAYER_MEDIA_META,function(h){c.utils.extend(b,h.metadata)});this.dispatchEvent(c.api.events.API_READY);while(v.length>0){var f=v.shift();this.callInternal(f.method,f.parameters)}};this.getItemMeta=function(){return b};this.getCurrentItem=function(){return this.callInternal("jwGetPlaylistIndex")};function r(g,e,f){var i=[];if(!e){e=0}if(!f){f=g.length-1}for(var h=e;h<=f;h++){i.push(g[h])}return i}return this};c.api.selectPlayer=function(b){var f;if(b===undefined){b=0}if(b.nodeType){f=b}else{if(typeof b=="string"){f=document.getElementById(b)}}if(f){var a=c.api.playerById(f.id);if(a){return a}else{return c.api.addPlayer(new c.api(f))}}else{if(typeof b=="number"){return c.getPlayers()[b]}}return null};c.api.events={API_READY:"jwplayerAPIReady",JWPLAYER_READY:"jwplayerReady",JWPLAYER_FULLSCREEN:"jwplayerFullscreen",JWPLAYER_RESIZE:"jwplayerResize",JWPLAYER_ERROR:"jwplayerError",JWPLAYER_MEDIA_BUFFER:"jwplayerMediaBuffer",JWPLAYER_MEDIA_BUFFER_FULL:"jwplayerMediaBufferFull",JWPLAYER_MEDIA_ERROR:"jwplayerMediaError",JWPLAYER_MEDIA_LOADED:"jwplayerMediaLoaded",JWPLAYER_MEDIA_COMPLETE:"jwplayerMediaComplete",JWPLAYER_MEDIA_SEEK:"jwplayerMediaSeek",JWPLAYER_MEDIA_TIME:"jwplayerMediaTime",JWPLAYER_MEDIA_VOLUME:"jwplayerMediaVolume",JWPLAYER_MEDIA_META:"jwplayerMediaMeta",JWPLAYER_MEDIA_MUTE:"jwplayerMediaMute",JWPLAYER_PLAYER_STATE:"jwplayerPlayerState",JWPLAYER_PLAYLIST_LOADED:"jwplayerPlaylistLoaded",JWPLAYER_PLAYLIST_ITEM:"jwplayerPlaylistItem"};c.api.events.state={BUFFERING:"BUFFERING",IDLE:"IDLE",PAUSED:"PAUSED",PLAYING:"PLAYING"};c.api.playerById=function(a){for(var b=0;b<d.length;b++){if(d[b].id==a){return d[b]}}return null};c.api.addPlayer=function(b){for(var a=0;a<d.length;a++){if(d[a]==b){return b}}d.push(b);return b};c.api.destroyPlayer=function(j,m){var k=-1;for(var a=0;a<d.length;a++){if(d[a].id==j){k=a;continue}}if(k>=0){var n=document.getElementById(d[k].id);if(document.getElementById(d[k].id+"_wrapper")){n=document.getElementById(d[k].id+"_wrapper")}if(n){if(m){c.utils.setOuterHTML(n,m)}else{var b=document.createElement("div");var l=n.id;if(n.id.indexOf("_wrapper")==n.id.length-8){newID=n.id.substring(0,n.id.length-8)}b.setAttribute("id",l);n.parentNode.replaceChild(b,n)}}d.splice(k,1)}return null};c.getPlayers=function(){return d.slice(0)}})(jwplayer);var _userPlayerReady=(typeof playerReady=="function")?playerReady:undefined;playerReady=function(c){var d=jwplayer.api.playerById(c.id);if(d){d.playerReady(c)}if(_userPlayerReady){_userPlayerReady.call(this,c)}};(function(d){d.embed=function(j){var a={width:400,height:300,components:{controlbar:{position:"over"}}};var k=d.utils.mediaparser.parseMedia(j.container);var l=new d.embed.config(d.utils.extend(a,k,j.config),this);var b=d.plugins.loadPlugins(j.id,l.plugins);function n(e,f){for(var g in f){if(typeof e[g]=="function"){(e[g]).call(e,f[g])}}}function m(){if(b.getStatus()==d.utils.loaderstatus.COMPLETE){for(var e=0;e<l.modes.length;e++){if(l.modes[e].type&&d.embed[l.modes[e].type]){var g=l;if(l.modes[e].config){g=d.utils.extend(d.utils.clone(l),l.modes[e].config)}var f=new d.embed[l.modes[e].type](document.getElementById(j.id),l.modes[e],g,b,j);if(f.supportsConfig()){f.embed();n(j,l.events);return j}}}d.utils.log("No suitable players found");new d.embed.logo(d.utils.extend({hide:true},l.components.logo),"none",j.id)}}b.addEventListener(d.events.COMPLETE,m);b.addEventListener(d.events.ERROR,m);b.load();return j};function c(){if(!document.body){return setTimeout(c,15)}var f=d.utils.selectors.getElementsByTagAndClass("video","jwplayer");for(var b=0;b<f.length;b++){var a=f[b];d(a.id).setup({})}}c()})(jwplayer);(function(j){function p(){return[{type:"flash",src:"/jwplayer/player.swf"},{type:"html5"},{type:"download"}]}function n(a){var b=a.toLowerCase();var c=["left","right","top","bottom"];for(var d=0;d<c.length;d++){if(b==c[d]){return true}}return false}function o(a){var b=false;b=(a instanceof Array)||(typeof a=="object"&&!a.position&&!a.size);return b}function k(a){if(typeof a=="string"){if(parseInt(a).toString()==a||a.toLowerCase().indexOf("px")>-1){return parseInt(a)}}return a}var m=["playlist","dock","controlbar","logo"];function l(d){var a={};switch(j.utils.typeOf(d.plugins)){case"object":for(var b in d.plugins){a[j.utils.getPluginName(b)]=b}break;case"string":var e=d.plugins.split(",");for(var c=0;c<e.length;c++){a[j.utils.getPluginName(e[c])]=e[c]}break}return a}function i(a,b,c,e){if(j.utils.typeOf(a[b])!="object"){a[b]={}}var d=a[b][c];if(j.utils.typeOf(d)!="object"){a[b][c]=d={}}if(b=="plugins"){var f=j.utils.getPluginName(c);d[e]=a[f+"."+e];delete a[f+"."+e]}else{d[e]=a[c+"."+e];delete a[c+"."+e]}}j.embed.deserialize=function(e){var d=l(e);for(var a in e){if(a.indexOf(".")>-1){var b=a.split(".");var c=b[0];var a=b[1];if(j.utils.isInArray(m,c)){i(e,"components",c,a)}else{if(d[c]){i(e,"plugins",d[c],a)}}}}return e};j.embed.config=function(r,a){var b=j.utils.extend({},r);var d;if(o(b.playlist)){d=b.playlist;delete b.playlist}b=j.embed.deserialize(b);b.height=k(b.height);b.width=k(b.width);if(typeof b.plugins=="string"){var h=b.plugins.split(",");if(typeof b.plugins!="object"){b.plugins={}}for(var f=0;f<h.length;f++){var e=j.utils.getPluginName(h[f]);if(typeof b[e]=="object"){b.plugins[h[f]]=b[e];delete b[e]}else{b.plugins[h[f]]={}}}}for(var c=0;c<m.length;c++){if(typeof b[m[c]]=="string"){if(!b.components[m[c]]){b.components[m[c]]={}}if(m[c]=="logo"){b.components[m[c]].file=b[m[c]]}else{b.components[m[c]].position=b[m[c]]}delete b[m[c]]}else{if(typeof b[m[c]]!="undefined"){if(!b.components[m[c]]){b.components[m[c]]={}}j.utils.extend(b.components[m[c]],b[m[c]]);delete b[m[c]]}}if(typeof b[m[c]+"size"]!="undefined"){if(!b.components[m[c]]){b.components[m[c]]={}}b.components[m[c]].size=b[m[c]+"size"];delete b[m[c]+"size"]}}if(typeof b.icons!="undefined"){if(!b.components.display){b.components.display={}}b.components.display.icons=b.icons;delete b.icons}if(b.players){b.modes=b.players;delete b.players}var g;if(b.flashplayer&&!b.modes){g=p();g[0].src=b.flashplayer;delete b.flashplayer}else{if(b.modes){if(typeof b.modes=="string"){g=p();g[0].src=b.modes}else{if(b.modes instanceof Array){g=b.modes}else{if(typeof b.modes=="object"&&b.modes.type){g=[b.modes]}}}delete b.modes}else{g=p()}}b.modes=g;if(d){b.playlist=d}return b}})(jwplayer);(function(b){b.embed.download=function(l,h,a,k,i){this.embed=function(){var x=b.utils.extend({},a);var e={};var y=a.width?a.width:480;if(typeof y!="number"){y=parseInt(y,10)}var v=a.height?a.height:320;if(typeof v!="number"){v=parseInt(v,10)}var A,g,u;var c={};if(a.playlist&&a.playlist.length){c.file=a.playlist[0].file;g=a.playlist[0].image;c.levels=a.playlist[0].levels}else{c.file=a.file;g=a.image;c.levels=a.levels}if(c.file){A=c.file}else{if(c.levels&&c.levels.length){A=c.levels[0].file}}u=A?"pointer":"auto";var w={display:{style:{cursor:u,width:y,height:v,backgroundColor:"#000",position:"relative",textDecoration:"none",border:"none",display:"block"}},display_icon:{style:{cursor:u,position:"absolute",display:A?"block":"none",top:0,left:0,border:0,margin:0,padding:0,zIndex:3,width:50,height:50,backgroundImage:"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALdJREFUeNrs18ENgjAYhmFouDOCcQJGcARHgE10BDcgTOIosAGwQOuPwaQeuFRi2p/3Sb6EC5L3QCxZBgAAAOCorLW1zMn65TrlkH4NcV7QNcUQt7Gn7KIhxA+qNIR81spOGkL8oFJDyLJRdosqKDDkK+iX5+d7huzwM40xptMQMkjIOeRGo+VkEVvIPfTGIpKASfYIfT9iCHkHrBEzf4gcUQ56aEzuGK/mw0rHpy4AAACAf3kJMACBxjAQNRckhwAAAABJRU5ErkJggg==)"}},display_iconBackground:{style:{cursor:u,position:"absolute",display:A?"block":"none",top:((v-50)/2),left:((y-50)/2),border:0,width:50,height:50,margin:0,padding:0,zIndex:2,backgroundImage:"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEpJREFUeNrszwENADAIA7DhX8ENoBMZ5KR10EryckCJiIiIiIiIiIiIiIiIiIiIiIh8GmkRERERERERERERERERERERERGRHSPAAPlXH1phYpYaAAAAAElFTkSuQmCC)"}},display_image:{style:{width:y,height:v,display:g?"block":"none",position:"absolute",cursor:u,left:0,top:0,margin:0,padding:0,textDecoration:"none",zIndex:1,border:"none"}}};var z=function(p,n,m){var o=document.createElement(p);if(m){o.id=m}else{o.id=l.id+"_jwplayer_"+n}b.utils.css(o,w[n].style);return o};e.display=z("a","display",l.id);if(A){e.display.setAttribute("href",b.utils.getAbsolutePath(A))}e.display_image=z("img","display_image");e.display_image.setAttribute("alt","Click to download...");if(g){e.display_image.setAttribute("src",b.utils.getAbsolutePath(g))}if(true){e.display_icon=z("div","display_icon");e.display_iconBackground=z("div","display_iconBackground");e.display.appendChild(e.display_image);e.display_iconBackground.appendChild(e.display_icon);e.display.appendChild(e.display_iconBackground)}_css=b.utils.css;_hide=function(m){_css(m,{display:"none"})};function d(m){_imageWidth=e.display_image.naturalWidth;_imageHeight=e.display_image.naturalHeight;B()}function B(){b.utils.stretch(b.utils.stretching.UNIFORM,e.display_image,y,v,_imageWidth,_imageHeight)}e.display_image.onerror=function(m){_hide(e.display_image)};e.display_image.onload=d;l.parentNode.replaceChild(e.display,l);var f=(a.plugins&&a.plugins.logo)?a.plugins.logo:{};e.display.appendChild(new b.embed.logo(a.components.logo,"download",l.id));i.container=document.getElementById(i.id);i.setPlayer(e.display,"download")};this.supportsConfig=function(){if(a){var c=b.utils.getFirstPlaylistItemFromConfig(a);if(typeof c.file=="undefined"&&typeof c.levels=="undefined"){return true}else{if(c.file){return j(c.file,c.provider,c.playlistfile)}else{if(c.levels&&c.levels.length){for(var d=0;d<c.levels.length;d++){if(c.levels[d].file&&j(c.levels[d].file,c.provider,c.playlistfile)){return true}}}}}}else{return true}};function j(f,d,g){if(g){return false}var e=["image","sound","youtube","http"];if(d&&(e.toString().indexOf(d)>-1)){return true}if(!d||(d&&d=="video")){var c=b.utils.extension(f);if(c&&b.utils.extensionmap[c]){return true}}return false}}})(jwplayer);(function(b){b.embed.flash=function(r,q,m,s,o){function a(f,c,e){var d=document.createElement("param");d.setAttribute("name",c);d.setAttribute("value",e);f.appendChild(d)}function n(e,d,c){return function(h){if(c){document.getElementById(o.id+"_wrapper").appendChild(d)}var f=document.getElementById(o.id).getPluginConfig("display");e.resize(f.width,f.height);var g={left:f.x,top:f.y};b.utils.css(d,g)}}function t(f){if(!f){return{}}var d={};for(var g in f){var c=f[g];for(var e in c){d[g+"."+e]=c[e]}}return d}function p(f,g){if(f[g]){var d=f[g];for(var h in d){var c=d[h];if(typeof c=="string"){if(!f[h]){f[h]=c}}else{for(var e in c){if(!f[h+"."+e]){f[h+"."+e]=c[e]}}}}delete f[g]}}function v(g){if(!g){return{}}var d={},e=[];for(var c in g){var h=b.utils.getPluginName(c);var i=g[c];e.push(c);for(var f in i){d[h+"."+f]=i[f]}}d.plugins=e.join(",");return d}function u(d){var c=d.netstreambasepath?"":"netstreambasepath="+encodeURIComponent(window.location.href)+"&";for(var e in d){if(typeof(d[e])=="object"){c+=e+"="+encodeURIComponent("[[JSON]]"+b.utils.strings.jsonToString(d[e]))+"&"}else{c+=e+"="+encodeURIComponent(d[e])+"&"}}return c.substring(0,c.length-1)}this.embed=function(){m.id=o.id;var i;var e=b.utils.extend({},m);var h=e.width;var k=e.height;if(r.id+"_wrapper"==r.parentNode.id){i=document.getElementById(r.id+"_wrapper")}else{i=document.createElement("div");i.id=r.id+"_wrapper";b.utils.wrap(r,i);b.utils.css(i,{position:"relative",width:h,height:k})}var g=s.setupPlugins(o,e,n);if(g.length>0){b.utils.extend(e,v(g.plugins))}else{delete e.plugins}var d=["height","width","modes","events"];for(var y=0;y<d.length;y++){delete e[d[y]]}var f="opaque";if(e.wmode){f=e.wmode}p(e,"components");p(e,"providers");if(typeof e["dock.position"]!="undefined"){if(e["dock.position"].toString().toLowerCase()=="false"){e.dock=e["dock.position"];delete e["dock.position"]}}var j="#000000";var z;if(b.utils.isIE()){var l='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" bgcolor="'+j+'" width="100%" height="100%" id="'+r.id+'" name="'+r.id+'" tabindex=0"">';l+='<param name="movie" value="'+q.src+'">';l+='<param name="allowfullscreen" value="true">';l+='<param name="allowscriptaccess" value="always">';l+='<param name="seamlesstabbing" value="true">';l+='<param name="wmode" value="'+f+'">';l+='<param name="flashvars" value="'+u(e)+'">';l+="</object>";b.utils.setOuterHTML(r,l);z=document.getElementById(r.id)}else{var c=document.createElement("object");c.setAttribute("type","application/x-shockwave-flash");c.setAttribute("data",q.src);c.setAttribute("width","100%");c.setAttribute("height","100%");c.setAttribute("bgcolor","#000000");c.setAttribute("id",r.id);c.setAttribute("name",r.id);c.setAttribute("tabindex",0);a(c,"allowfullscreen","true");a(c,"allowscriptaccess","always");a(c,"seamlesstabbing","true");a(c,"wmode",f);a(c,"flashvars",u(e));r.parentNode.replaceChild(c,r);z=c}o.container=z;o.setPlayer(z,"flash")};this.supportsConfig=function(){if(b.utils.hasFlash()){if(m){var d=b.utils.getFirstPlaylistItemFromConfig(m);if(typeof d.file=="undefined"&&typeof d.levels=="undefined"){return true}else{if(d.file){return flashCanPlay(d.file,d.provider)}else{if(d.levels&&d.levels.length){for(var c=0;c<d.levels.length;c++){if(d.levels[c].file&&flashCanPlay(d.levels[c].file,d.provider)){return true}}}}}}else{return true}}return false};flashCanPlay=function(c,e){var f=["video","http","sound","image"];if(e&&(f.toString().indexOf(e<0))){return true}var d=b.utils.extension(c);if(!d){return true}if(b.utils.extensionmap[d]!==undefined&&b.utils.extensionmap[d].flash===undefined){return false}return true}}})(jwplayer);(function(b){b.embed.html5=function(l,h,a,k,i){function j(d,c,e){return function(n){var g=document.getElementById(l.id+"_displayarea");if(e){g.appendChild(c)}var f=g.style;d.resize(parseInt(f.width.replace("px","")),parseInt(f.height.replace("px","")));c.left=f.left;c.top=f.top}}this.embed=function(){if(b.html5){k.setupPlugins(i,a,j);l.innerHTML="";var e=b.utils.extend({screencolor:"0x000000"},a);var f=["plugins","modes","events"];for(var d=0;d<f.length;d++){delete e[f[d]]}if(e.levels&&!e.sources){e.sources=a.levels}if(e.skin&&e.skin.toLowerCase().indexOf(".zip")>0){e.skin=e.skin.replace(/\.zip/i,".xml")}var c=new (b.html5(l)).setup(e);i.container=document.getElementById(i.id);i.setPlayer(c,"html5")}else{return null}};this.supportsConfig=function(){var e=document.createElement("video");if(!!e.canPlayType){if(a){var c=b.utils.getFirstPlaylistItemFromConfig(a);if(typeof c.file=="undefined"&&typeof c.levels=="undefined"){return true}else{if(c.file){return html5CanPlay(e,c.file,c.provider,c.playlistfile)}else{if(c.levels&&c.levels.length){for(var d=0;d<c.levels.length;d++){if(c.levels[d].file&&html5CanPlay(e,c.levels[d].file,c.provider,c.playlistfile)){return true}}}}}}else{return true}}return false};html5CanPlay=function(e,f,d,g){if(g){return false}if(d&&d=="youtube"){return true}if(d&&d!="video"&&d!="http"&&d!="sound"){return false}var c=b.utils.extension(f);if(!c||b.utils.extensionmap[c]===undefined){return true}if(b.utils.extensionmap[c].html5===undefined){return false}if(b.utils.isLegacyAndroid()&&c.match(/m4v|mp4/)){return true}return browserCanPlay(e,b.utils.extensionmap[c].html5)};browserCanPlay=function(c,d){if(!d){return true}return c.canPlayType(d)}}})(jwplayer);(function(b){b.embed.logo=function(r,s,z){var u={prefix:"http://l.longtailvideo.com/"+s+"/",file:"",link:"",margin:8,out:0.5,over:1,timeout:3,hide:false,position:"bottom-left"};_css=b.utils.css;var B;var v;t();function t(){p();A();x()}function p(){if(u.prefix){var c=b.version.split(/\W/).splice(0,2).join("/");if(u.prefix.indexOf(c)<0){u.prefix+=c+"/"}}v=b.utils.extend({},u,r)}function a(){var c={border:"none",textDecoration:"none",position:"absolute",cursor:"pointer",zIndex:10};c.display=v.hide?"none":"block";var d=v.position.toLowerCase().split("-");for(var e in d){c[d[e]]=v.margin}return c}function A(){B=document.createElement("img");B.id=z+"_jwplayer_logo";B.style.display="none";B.onload=function(c){_css(B,a());y()};if(!v.file){return}if(v.file.indexOf("http://")===0){B.src=v.file}else{B.src=v.prefix+v.file}}if(!v.file){return}function x(){if(v.link){B.onmouseover=w;B.onmouseout=y;B.onclick=q}else{this.mouseEnabled=false}}function q(c){if(typeof c!="undefined"){c.preventDefault();c.stopPropagation()}if(v.link){window.open(v.link,"_blank")}return}function y(c){if(v.link){B.style.opacity=v.out}return}function w(c){if(v.hide){B.style.opacity=v.over}return}return B}})(jwplayer);(function(b){b.html5=function(a){var d=a;this.setup=function(c){b.utils.extend(this,new b.html5.api(d,c));return this};return this}})(jwplayer);(function(d){var f=d.utils.css;d.html5.view=function(J,K,U){var F=J;var N=K;var C=U;var D;var T;var a;var H;var I;var L;function c(){D=document.createElement("div");D.id=N.id;D.className=N.className;_videowrapper=document.createElement("div");_videowrapper.id=D.id+"_video_wrapper";N.id=D.id+"_video";f(D,{position:"relative",height:C.height,width:C.width,padding:0,backgroundColor:g(),zIndex:0});function g(){if(F.skin.getComponentSettings("display")&&F.skin.getComponentSettings("display").backgroundcolor){return F.skin.getComponentSettings("display").backgroundcolor}return parseInt("000000",16)}f(N,{width:C.width,height:C.height,top:0,left:0,zIndex:1,margin:"auto",display:"block"});f(_videowrapper,{overflow:"hidden",position:"absolute",top:0,left:0,bottom:0,right:0});d.utils.wrap(N,D);d.utils.wrap(N,_videowrapper);H=document.createElement("div");H.id=D.id+"_displayarea";D.appendChild(H)}function P(){for(var h=0;h<C.plugins.order.length;h++){var g=C.plugins.order[h];if(C.plugins.object[g].getDisplayElement!==undefined){C.plugins.object[g].height=R(C.plugins.object[g].getDisplayElement().style.height);C.plugins.object[g].width=R(C.plugins.object[g].getDisplayElement().style.width);C.plugins.config[g].currentPosition=C.plugins.config[g].position}}E()}function E(h){if(C.getMedia()!==undefined){for(var i=0;i<C.plugins.order.length;i++){var g=C.plugins.order[i];if(C.plugins.object[g].getDisplayElement!==undefined){if(C.getMedia().hasChrome()){C.plugins.config[g].currentPosition=d.html5.view.positions.NONE}else{C.plugins.config[g].currentPosition=C.plugins.config[g].position}}}}Q(C.width,C.height)}function R(g){if(typeof g=="string"){if(g===""){return 0}else{if(g.lastIndexOf("%")>-1){return g}else{return parseInt(g.replace("px",""),10)}}}return g}this.setup=function(h){N=h;c();P();F.jwAddEventListener(d.api.events.JWPLAYER_MEDIA_LOADED,E);F.jwAddEventListener(d.api.events.JWPLAYER_MEDIA_META,function(){B()});var g;if(window.onresize!==null){g=window.onresize}window.onresize=function(k){if(g!==undefined){try{g(k)}catch(i){}}if(F.jwGetFullscreen()){var j=document.body.getBoundingClientRect();C.width=Math.abs(j.left)+Math.abs(j.right);C.height=window.innerHeight}Q(C.width,C.height)}};function S(g){switch(g.keyCode){case 27:if(F.jwGetFullscreen()){F.jwSetFullscreen(false)}break;case 32:if(F.jwGetState()!=d.api.events.state.IDLE&&F.jwGetState()!=d.api.events.state.PAUSED){F.jwPause()}else{F.jwPlay()}break}}function Q(g,j){if(D.style.display=="none"){return}var h=[].concat(C.plugins.order);h.reverse();I=h.length+2;if(!C.fullscreen){C.width=g;C.height=j;T=g;a=j;f(H,{top:0,bottom:0,left:0,right:0,width:g,height:j});f(D,{height:a,width:T});var i=M(G,h);if(i.length>0){I+=i.length;M(O,i,true)}}else{if(navigator.vendor.indexOf("Apple")!==0){M(b,h,true)}}B()}function M(h,k,j){var l=[];for(var m=0;m<k.length;m++){var g=k[m];if(C.plugins.object[g].getDisplayElement!==undefined){if(C.plugins.config[g].currentPosition!=d.html5.view.positions.NONE){var i=h(g,I--);if(!i){l.push(g)}else{C.plugins.object[g].resize(i.width,i.height);if(j){delete i.width;delete i.height}f(C.plugins.object[g].getDisplayElement(),i)}}else{f(C.plugins.object[g].getDisplayElement(),{display:"none"})}}}return l}function G(h,g){if(C.plugins.object[h].getDisplayElement!==undefined){if(C.plugins.config[h].position&&e(C.plugins.config[h].position)){if(C.plugins.object[h].getDisplayElement().parentNode===null){D.appendChild(C.plugins.object[h].getDisplayElement())}var i=V(h);i.zIndex=g;return i}}return false}function O(h,g){if(C.plugins.object[h].getDisplayElement().parentNode===null){H.appendChild(C.plugins.object[h].getDisplayElement())}var j=C.width,i=C.height;if(typeof C.width=="string"&&C.width.lastIndexOf("%")>-1){percentage=parseFloat(C.width.substring(0,C.width.lastIndexOf("%")))/100;j=Math.round(window.innerWidth*percentage)}if(typeof C.height=="string"&&C.height.lastIndexOf("%")>-1){percentage=parseFloat(C.height.substring(0,C.height.lastIndexOf("%")))/100;i=Math.round(window.innerHeight*percentage)}return{position:"absolute",width:(j-R(H.style.left)-R(H.style.right)),height:(i-R(H.style.top)-R(H.style.bottom)),zIndex:g}}function b(h,g){return{position:"fixed",width:C.width,height:C.height,zIndex:g}}function B(){H.style.position="absolute";C.getMedia().getDisplayElement().style.position="absolute";if(C.getMedia().getDisplayElement().videoWidth==0||C.getMedia().getDisplayElement().videoHeight==0){return}var i,g;if(H.style.width.toString().lastIndexOf("%")>-1||H.style.width.toString().lastIndexOf("%")>-1){var h=H.getBoundingClientRect();i=Math.abs(h.left)+Math.abs(h.right);g=Math.abs(h.top)+Math.abs(h.bottom)}else{i=R(H.style.width);g=R(H.style.height)}d.utils.stretch(F.jwGetStretching(),C.getMedia().getDisplayElement(),i,g,C.getMedia().getDisplayElement().videoWidth,C.getMedia().getDisplayElement().videoHeight)}function V(h){var g={position:"absolute",margin:0,padding:0,top:null};var i=C.plugins.config[h].currentPosition.toLowerCase();switch(i.toUpperCase()){case d.html5.view.positions.TOP:g.top=R(H.style.top);g.left=R(H.style.left);g.width=T-R(H.style.left)-R(H.style.right);g.height=C.plugins.object[h].height;H.style[i]=R(H.style[i])+C.plugins.object[h].height+"px";H.style.height=R(H.style.height)-g.height+"px";break;case d.html5.view.positions.RIGHT:g.top=R(H.style.top);g.right=R(H.style.right);g.width=g.width=C.plugins.object[h].width;g.height=a-R(H.style.top)-R(H.style.bottom);H.style[i]=R(H.style[i])+C.plugins.object[h].width+"px";H.style.width=R(H.style.width)-g.width+"px";break;case d.html5.view.positions.BOTTOM:g.bottom=R(H.style.bottom);g.left=R(H.style.left);g.width=T-R(H.style.left)-R(H.style.right);g.height=C.plugins.object[h].height;H.style[i]=R(H.style[i])+C.plugins.object[h].height+"px";H.style.height=R(H.style.height)-g.height+"px";break;case d.html5.view.positions.LEFT:g.top=R(H.style.top);g.left=R(H.style.left);g.width=C.plugins.object[h].width;g.height=a-R(H.style.top)-R(H.style.bottom);H.style[i]=R(H.style[i])+C.plugins.object[h].width+"px";H.style.width=R(H.style.width)-g.width+"px";break;default:break}return g}this.resize=Q;this.fullscreen=function(g){if(navigator.vendor.indexOf("Apple")===0){if(C.getMedia().getDisplayElement().webkitSupportsFullscreen){if(g){try{C.getMedia().getDisplayElement().webkitEnterFullscreen()}catch(h){}}else{try{C.getMedia().getDisplayElement().webkitExitFullscreen()}catch(h){}}}}else{if(g){document.onkeydown=S;clearInterval(L);var i=document.body.getBoundingClientRect();C.width=Math.abs(i.left)+Math.abs(i.right);C.height=window.innerHeight;var j={position:"fixed",width:"100%",height:"100%",top:0,left:0,zIndex:2147483000};f(D,j);j.zIndex=1;f(C.getMedia().getDisplayElement(),j);j.zIndex=2;f(H,j)}else{document.onkeydown="";C.width=T;C.height=a;f(D,{position:"relative",height:C.height,width:C.width,zIndex:0})}Q(C.width,C.height)}}};function e(a){return([d.html5.view.positions.TOP,d.html5.view.positions.RIGHT,d.html5.view.positions.BOTTOM,d.html5.view.positions.LEFT].toString().indexOf(a.toUpperCase())>-1)}d.html5.view.positions={TOP:"TOP",RIGHT:"RIGHT",BOTTOM:"BOTTOM",LEFT:"LEFT",OVER:"OVER",NONE:"NONE"}})(jwplayer);(function(d){var c={backgroundcolor:"",margin:10,font:"Arial,sans-serif",fontsize:10,fontcolor:parseInt("000000",16),fontstyle:"normal",fontweight:"bold",buttoncolor:parseInt("ffffff",16),position:d.html5.view.positions.BOTTOM,idlehide:false,layout:{left:{position:"left",elements:[{name:"play",type:"button"},{name:"divider",type:"divider"},{name:"prev",type:"button"},{name:"divider",type:"divider"},{name:"next",type:"button"},{name:"divider",type:"divider"},{name:"elapsed",type:"text"}]},center:{position:"center",elements:[{name:"time",type:"slider"}]},right:{position:"right",elements:[{name:"duration",type:"text"},{name:"blank",type:"button"},{name:"divider",type:"divider"},{name:"mute",type:"button"},{name:"volume",type:"slider"},{name:"divider",type:"divider"},{name:"fullscreen",type:"button"}]}}};_css=d.utils.css;_hide=function(a){_css(a,{display:"none"})};_show=function(a){_css(a,{display:"block"})};d.html5.controlbar=function(aI,af){var aJ=aI;var ar=d.utils.extend({},c,aJ.skin.getComponentSettings("controlbar"),af);if(ar.position==d.html5.view.positions.NONE||typeof d.html5.view.positions[ar.position]=="undefined"){return}if(d.utils.mapLength(aJ.skin.getComponentLayout("controlbar"))>0){ar.layout=aJ.skin.getComponentLayout("controlbar")}var aa;var ai;var ab;var aq;var az="none";var aN;var aK;var Z;var aO;var aP;var aw;var ah={};var aE=false;var aQ={};var ad;var aL=false;function an(){if(!ad){ad=aJ.skin.getSkinElement("controlbar","background");if(!ad){ad={width:0,height:0,src:null}}}return ad}function aj(){ab=0;aq=0;ai=0;if(!aE){var f={height:an().height,backgroundColor:ar.backgroundcolor};aa=document.createElement("div");aa.id=aJ.id+"_jwplayer_controlbar";_css(aa,f)}var g=(aJ.skin.getSkinElement("controlbar","capLeft"));var h=(aJ.skin.getSkinElement("controlbar","capRight"));if(g){ax("capLeft","left",false,aa)}var e={position:"absolute",height:an().height,left:(g?g.width:0),zIndex:0};ac("background",aa,e,"img");if(an().src){ah.background.src=an().src}e.zIndex=1;ac("elements",aa,e);if(h){ax("capRight","right",false,aa)}}this.getDisplayElement=function(){return aa};this.resize=function(e,g){d.utils.cancelAnimation(aa);document.getElementById(aJ.id).onmousemove=av;aP=e;aw=g;av();var f=ay();ao({id:aJ.id,duration:Z,position:aK});aA({id:aJ.id,bufferPercent:aO});return f};this.show=function(){aL=false;_show(aa)};this.hide=function(){aL=true;_hide(aa)};function aD(){var f=["timeSlider","volumeSlider","timeSliderRail","volumeSliderRail"];for(var e in f){var g=f[e];if(typeof ah[g]!="undefined"){aQ[g]=ah[g].getBoundingClientRect()}}}function av(){if(aL){return}d.utils.cancelAnimation(aa);if(aM()){d.utils.fadeTo(aa,1,0,1,0)}else{d.utils.fadeTo(aa,0,0.1,1,2)}}function aM(){if(aL){return false}if(aJ.jwGetState()==d.api.events.state.IDLE||aJ.jwGetState()==d.api.events.state.PAUSED){if(ar.idlehide){return false}return true}if(aJ.jwGetFullscreen()){return false}if(ar.position==d.html5.view.positions.OVER){return false}return true}function ac(e,g,f,i){var h;if(!aE){if(!i){i="div"}h=document.createElement(i);ah[e]=h;h.id=aa.id+"_"+e;g.appendChild(h)}else{h=document.getElementById(aa.id+"_"+e)}if(f!==undefined){_css(h,f)}return h}function ak(){a(ar.layout.left);a(ar.layout.right,-1);a(ar.layout.center)}function a(g,i){var e=g.position=="right"?"right":"left";var f=d.utils.extend([],g.elements);if(i!==undefined){f.reverse()}for(var h=0;h<f.length;h++){at(f[h],e)}}function am(){return ai++}function at(m,k){var e,g,f,h,i;if(m.type=="divider"){ax("divider"+am(),k,true,undefined,undefined,m.width,m.element);return}switch(m.name){case"play":ax("playButton",k,false);ax("pauseButton",k,true);ag("playButton","jwPlay");ag("pauseButton","jwPause");break;case"prev":ax("prevButton",k,true);ag("prevButton","jwPlaylistPrev");break;case"next":ax("nextButton",k,true);ag("nextButton","jwPlaylistNext");break;case"elapsed":ax("elapsedText",k,true);break;case"time":g=aJ.skin.getSkinElement("controlbar","timeSliderCapLeft")===undefined?0:aJ.skin.getSkinElement("controlbar","timeSliderCapLeft").width;f=aJ.skin.getSkinElement("controlbar","timeSliderCapRight")===undefined?0:aJ.skin.getSkinElement("controlbar","timeSliderCapRight").width;e=k=="left"?g:f;h=aJ.skin.getSkinElement("controlbar","timeSliderRail").width+g+f;i={height:an().height,position:"absolute",top:0,width:h};i[k]=k=="left"?ab:aq;var l=ac("timeSlider",ah.elements,i);ax("timeSliderCapLeft",k,true,l,k=="left"?0:e);ax("timeSliderRail",k,false,l,e);ax("timeSliderBuffer",k,false,l,e);ax("timeSliderProgress",k,false,l,e);ax("timeSliderThumb",k,false,l,e);ax("timeSliderCapRight",k,true,l,k=="right"?0:e);ae("time");break;case"fullscreen":ax("fullscreenButton",k,false);ax("normalscreenButton",k,true);ag("fullscreenButton","jwSetFullscreen",true);ag("normalscreenButton","jwSetFullscreen",false);break;case"volume":g=aJ.skin.getSkinElement("controlbar","volumeSliderCapLeft")===undefined?0:aJ.skin.getSkinElement("controlbar","volumeSliderCapLeft").width;f=aJ.skin.getSkinElement("controlbar","volumeSliderCapRight")===undefined?0:aJ.skin.getSkinElement("controlbar","volumeSliderCapRight").width;e=k=="left"?g:f;h=aJ.skin.getSkinElement("controlbar","volumeSliderRail").width+g+f;i={height:an().height,position:"absolute",top:0,width:h};i[k]=k=="left"?ab:aq;var j=ac("volumeSlider",ah.elements,i);ax("volumeSliderCapLeft",k,true,j,k=="left"?0:e);ax("volumeSliderRail",k,true,j,e);ax("volumeSliderProgress",k,false,j,e);ax("volumeSliderCapRight",k,true,j,k=="right"?0:e);ae("volume");break;case"mute":ax("muteButton",k,false);ax("unmuteButton",k,true);ag("muteButton","jwSetMute",true);ag("unmuteButton","jwSetMute",false);break;case"duration":ax("durationText",k,true);break}}function ax(e,m,g,j,o,h,f){if(aJ.skin.getSkinElement("controlbar",e)!==undefined||e.indexOf("Text")>0||e.indexOf("divider")===0){var n={height:an().height,position:"absolute",display:"block",top:0};if((e.indexOf("next")===0||e.indexOf("prev")===0)&&aJ.jwGetPlaylist().length<2){g=false;n.display="none"}var i;if(e.indexOf("Text")>0){e.innerhtml="00:00";n.font=ar.fontsize+"px/"+(an().height+1)+"px "+ar.font;n.color=ar.fontcolor;n.textAlign="center";n.fontWeight=ar.fontweight;n.fontStyle=ar.fontstyle;n.cursor="default";i=14+3*ar.fontsize}else{if(e.indexOf("divider")===0){if(h){if(!isNaN(parseInt(h))){i=parseInt(h)}}else{if(f){var l=aJ.skin.getSkinElement("controlbar",f);if(l){n.background="url("+l.src+") repeat-x center left";i=l.width}}else{n.background="url("+aJ.skin.getSkinElement("controlbar","divider").src+") repeat-x center left";i=aJ.skin.getSkinElement("controlbar","divider").width}}}else{n.background="url("+aJ.skin.getSkinElement("controlbar",e).src+") repeat-x center left";i=aJ.skin.getSkinElement("controlbar",e).width}}if(m=="left"){n.left=isNaN(o)?ab:o;if(g){ab+=i}}else{if(m=="right"){n.right=isNaN(o)?aq:o;if(g){aq+=i}}}if(d.utils.typeOf(j)=="undefined"){j=ah.elements}n.width=i;if(aE){_css(ah[e],n)}else{var k=ac(e,j,n);if(aJ.skin.getSkinElement("controlbar",e+"Over")!==undefined){k.onmouseover=function(p){k.style.backgroundImage=["url(",aJ.skin.getSkinElement("controlbar",e+"Over").src,")"].join("")};k.onmouseout=function(p){k.style.backgroundImage=["url(",aJ.skin.getSkinElement("controlbar",e).src,")"].join("")}}}}}function ap(){aJ.jwAddEventListener(d.api.events.JWPLAYER_PLAYLIST_LOADED,au);aJ.jwAddEventListener(d.api.events.JWPLAYER_MEDIA_BUFFER,aA);aJ.jwAddEventListener(d.api.events.JWPLAYER_PLAYER_STATE,aC);aJ.jwAddEventListener(d.api.events.JWPLAYER_MEDIA_TIME,ao);aJ.jwAddEventListener(d.api.events.JWPLAYER_MEDIA_MUTE,b);aJ.jwAddEventListener(d.api.events.JWPLAYER_MEDIA_VOLUME,aH);aJ.jwAddEventListener(d.api.events.JWPLAYER_MEDIA_COMPLETE,al)}function au(){aj();ak();ay();Y()}function Y(){ao({id:aJ.id,duration:aJ.jwGetDuration(),position:0});aA({id:aJ.id,bufferProgress:0});b({id:aJ.id,mute:aJ.jwGetMute()});aC({id:aJ.id,newstate:d.api.events.state.IDLE});aH({id:aJ.id,volume:aJ.jwGetVolume()})}function ag(f,e,g){if(aE){return}if(aJ.skin.getSkinElement("controlbar",f)!==undefined){var h=ah[f];if(h!==null){_css(h,{cursor:"pointer"});if(e=="fullscreen"){h.onmouseup=function(i){i.stopPropagation();aJ.jwSetFullscreen(!aJ.jwGetFullscreen())}}else{h.onmouseup=function(i){i.stopPropagation();if(g!==null){aJ[e](g)}else{aJ[e]()}}}}}}function ae(f){if(aE){return}var e=ah[f+"Slider"];_css(ah.elements,{cursor:"pointer"});_css(e,{cursor:"pointer"});e.onmousedown=function(g){az=f};e.onmouseup=function(g){g.stopPropagation();X(g.pageX)};e.onmousemove=function(h){if(az=="time"){aN=true;var g=h.pageX-aQ[f+"Slider"].left-window.pageXOffset;_css(ah.timeSliderThumb,{left:g})}}}function X(g){aN=false;var h;if(az=="time"){h=g-aQ.timeSliderRail.left+window.pageXOffset;var f=h/aQ.timeSliderRail.width*Z;if(f<0){f=0}else{if(f>Z){f=Z-3}}if(aJ.jwGetState()==d.api.events.state.PAUSED||aJ.jwGetState()==d.api.events.state.IDLE){aJ.jwPlay()}aJ.jwSeek(f)}else{if(az=="volume"){h=g-aQ.volumeSliderRail.left-window.pageXOffset;var e=Math.round(h/aQ.volumeSliderRail.width*100);if(e<0){e=0}else{if(e>100){e=100}}if(aJ.jwGetMute()){aJ.jwSetMute(false)}aJ.jwSetVolume(e)}}az="none"}function aA(f){if(f.bufferPercent!==null){aO=f.bufferPercent}if(aQ.timeSliderRail){var e=aQ.timeSliderRail.width;var g=isNaN(Math.round(e*aO/100))?0:Math.round(e*aO/100);_css(ah.timeSliderBuffer,{width:g})}}function b(e){if(e.mute){_hide(ah.muteButton);_show(ah.unmuteButton);_hide(ah.volumeSliderProgress)}else{_show(ah.muteButton);_hide(ah.unmuteButton);_show(ah.volumeSliderProgress)}}function aC(e){if(e.newstate==d.api.events.state.BUFFERING||e.newstate==d.api.events.state.PLAYING){_show(ah.pauseButton);_hide(ah.playButton)}else{_hide(ah.pauseButton);_show(ah.playButton)}av();if(e.newstate==d.api.events.state.IDLE){_hide(ah.timeSliderBuffer);_hide(ah.timeSliderProgress);_hide(ah.timeSliderThumb);ao({id:aJ.id,duration:aJ.jwGetDuration(),position:0})}else{_show(ah.timeSliderBuffer);if(e.newstate!=d.api.events.state.BUFFERING){_show(ah.timeSliderProgress);_show(ah.timeSliderThumb)}}}function al(e){aA({bufferPercent:0});ao(d.utils.extend(e,{position:0,duration:Z}))}function ao(g){if(g.position!==null){aK=g.position}if(g.duration!==null){Z=g.duration}var h=(aK===Z===0)?0:aK/Z;var e=aQ.timeSliderRail;if(e){var i=isNaN(Math.round(e.width*h))?0:Math.round(e.width*h);var f=i;if(ah.timeSliderProgress){ah.timeSliderProgress.style.width=i+"px";if(!aN){if(ah.timeSliderThumb){ah.timeSliderThumb.style.left=f+"px"}}}}if(ah.durationText){ah.durationText.innerHTML=aF(Z)}if(ah.elapsedText){ah.elapsedText.innerHTML=aF(aK)}}function aF(e){str="00:00";if(e>0){str=Math.floor(e/60)<10?"0"+Math.floor(e/60)+":":Math.floor(e/60)+":";str+=Math.floor(e%60)<10?"0"+Math.floor(e%60):Math.floor(e%60)}return str}function aG(){var f,g;var e=document.getElementById(aa.id+"_elements").childNodes;for(var h in document.getElementById(aa.id+"_elements").childNodes){if(isNaN(parseInt(h,10))){continue}if(e[h].id.indexOf(aa.id+"_divider")===0&&g&&g.id.indexOf(aa.id+"_divider")===0&&e[h].style.backgroundImage==g.style.backgroundImage){e[h].style.display="none"}else{if(e[h].id.indexOf(aa.id+"_divider")===0&&f&&f.style.display!="none"){e[h].style.display="block"}}if(e[h].style.display!="none"){g=e[h]}f=e[h]}}function ay(){aG();if(aJ.jwGetFullscreen()){_show(ah.normalscreenButton);_hide(ah.fullscreenButton)}else{_hide(ah.normalscreenButton);_show(ah.fullscreenButton)}var h={width:aP};var i={};if(ar.position==d.html5.view.positions.OVER||aJ.jwGetFullscreen()){h.left=ar.margin;h.width-=2*ar.margin;h.top=aw-an().height-ar.margin;h.height=an().height}else{h.left=0}var g=aJ.skin.getSkinElement("controlbar","capLeft");var f=aJ.skin.getSkinElement("controlbar","capRight");i.left=g?g.width:0;i.width=h.width-i.left-(f?f.width:0);var e=aJ.skin.getSkinElement("controlbar","timeSliderCapLeft")===undefined?0:aJ.skin.getSkinElement("controlbar","timeSliderCapLeft").width;_css(ah.timeSliderRail,{width:(i.width-ab-aq),left:e});if(ah.timeSliderCapRight!==undefined){_css(ah.timeSliderCapRight,{left:e+(i.width-ab-aq)})}_css(aa,h);_css(ah.elements,i);_css(ah.background,i);aD();return h}function aH(f){if(ah.volumeSliderRail!==undefined){var h=isNaN(f.volume/100)?1:f.volume/100;var g=parseInt(ah.volumeSliderRail.style.width.replace("px",""),10);var j=isNaN(Math.round(g*h))?0:Math.round(g*h);var e=parseInt(ah.volumeSliderRail.style.right.replace("px",""),10);var i=aJ.skin.getSkinElement("controlbar","volumeSliderCapLeft")===undefined?0:aJ.skin.getSkinElement("controlbar","volumeSliderCapLeft").width;_css(ah.volumeSliderProgress,{width:j,left:i});if(ah.volumeSliderCapLeft!==undefined){_css(ah.volumeSliderCapLeft,{left:0})}}}function aB(){aj();ak();aD();aE=true;ap();Y();aa.style.opacity=ar.idlehide?0:1}aB();return this}})(jwplayer);(function(c){var d=["width","height","state","playlist","item","position","buffer","duration","volume","mute","fullscreen"];c.html5.controller=function(H,K,Z,M){var E=H;var b=Z;var aa=M;var T=K;var N=true;var ab=-1;var G=(b.config.debug!==undefined)&&(b.config.debug.toString().toLowerCase()=="console");var V=new c.html5.eventdispatcher(T.id,G);c.utils.extend(this,V);function R(e){V.sendEvent(e.type,e)}b.addGlobalListener(R);function O(){try{if(b.playlist[b.item].levels[0].file.length>0){if(N||b.state==c.api.events.state.IDLE){b.addEventListener(c.api.events.JWPLAYER_MEDIA_BUFFER_FULL,function(){b.getMedia().play()});b.addEventListener(c.api.events.JWPLAYER_MEDIA_TIME,function(f){if(f.position>=b.playlist[b.item].start&&ab>=0){b.playlist[b.item].start=ab;ab=-1}});if(b.config.repeat){b.addEventListener(c.api.events.JWPLAYER_MEDIA_COMPLETE,function(f){setTimeout(Q,25)})}b.getMedia().load(b.playlist[b.item]);N=false}else{if(b.state==c.api.events.state.PAUSED){b.getMedia().play()}}}return true}catch(e){V.sendEvent(c.api.events.JWPLAYER_ERROR,e)}return false}function L(){try{if(b.playlist[b.item].levels[0].file.length>0){switch(b.state){case c.api.events.state.PLAYING:case c.api.events.state.BUFFERING:b.getMedia().pause();break}}return true}catch(e){V.sendEvent(c.api.events.JWPLAYER_ERROR,e)}return false}function D(f){try{if(b.playlist[b.item].levels[0].file.length>0){if(typeof f!="number"){f=parseFloat(f)}switch(b.state){case c.api.events.state.IDLE:if(ab<0){ab=b.playlist[b.item].start;b.playlist[b.item].start=f}O();break;case c.api.events.state.PLAYING:case c.api.events.state.PAUSED:case c.api.events.state.BUFFERING:b.seek(f);break}}return true}catch(e){V.sendEvent(c.api.events.JWPLAYER_ERROR,e)}return false}function U(){try{if(b.playlist[b.item].levels[0].file.length>0&&b.state!=c.api.events.state.IDLE){b.getMedia().stop()}return true}catch(e){V.sendEvent(c.api.events.JWPLAYER_ERROR,e)}return false}function X(){try{if(b.playlist[b.item].levels[0].file.length>0){if(b.config.shuffle){P(I())}else{if(b.item+1==b.playlist.length){P(0)}else{P(b.item+1)}}}if(b.state!=c.api.events.state.PLAYING&&b.state!=c.api.events.state.BUFFERING){O()}return true}catch(e){V.sendEvent(c.api.events.JWPLAYER_ERROR,e)}return false}function Y(){try{if(b.playlist[b.item].levels[0].file.length>0){if(b.config.shuffle){P(I())}else{if(b.item===0){P(b.playlist.length-1)}else{P(b.item-1)}}}if(b.state!=c.api.events.state.PLAYING&&b.state!=c.api.events.state.BUFFERING){O()}return true}catch(e){V.sendEvent(c.api.events.JWPLAYER_ERROR,e)}return false}function I(){var e=null;if(b.playlist.length>1){while(e===null){e=Math.floor(Math.random()*b.playlist.length);if(e==b.item){e=null}}}else{e=0}return e}function P(f){b.resetEventListeners();b.addGlobalListener(R);try{if(b.playlist[f].levels[0].file.length>0){var e=b.state;if(e!==c.api.events.state.IDLE){U()}b.item=f;N=true;b.setActiveMediaProvider(b.playlist[b.item]);V.sendEvent(c.api.events.JWPLAYER_PLAYLIST_ITEM,{index:f});if(e==c.api.events.state.PLAYING||e==c.api.events.state.BUFFERING||b.config.chromeless||Z.config.autostart===true){O()}}return true}catch(g){V.sendEvent(c.api.events.JWPLAYER_ERROR,g)}return false}function a(e){try{switch(typeof(e)){case"number":b.getMedia().volume(e);break;case"string":b.getMedia().volume(parseInt(e,10));break}return true}catch(f){V.sendEvent(c.api.events.JWPLAYER_ERROR,f)}return false}function S(e){try{if(typeof e=="undefined"){b.getMedia().mute(!b.mute)}else{if(e.toString().toLowerCase()=="true"){b.getMedia().mute(true)}else{b.getMedia().mute(false)}}return true}catch(f){V.sendEvent(c.api.events.JWPLAYER_ERROR,f)}return false}function W(f,g){try{b.width=f;b.height=g;aa.resize(f,g);V.sendEvent(c.api.events.JWPLAYER_RESIZE,{width:b.width,height:b.height});return true}catch(e){V.sendEvent(c.api.events.JWPLAYER_ERROR,e)}return false}function F(e){try{if(typeof e=="undefined"){b.fullscreen=!b.fullscreen;aa.fullscreen(!b.fullscreen)}else{if(e.toString().toLowerCase()=="true"){b.fullscreen=true;aa.fullscreen(true)}else{b.fullscreen=false;aa.fullscreen(false)}}V.sendEvent(c.api.events.JWPLAYER_RESIZE,{width:b.width,height:b.height});V.sendEvent(c.api.events.JWPLAYER_FULLSCREEN,{fullscreen:e});return true}catch(f){V.sendEvent(c.api.events.JWPLAYER_ERROR,f)}return false}function J(f){try{U();b.loadPlaylist(f);P(b.item);return true}catch(e){V.sendEvent(c.api.events.JWPLAYER_ERROR,e)}return false}c.html5.controller.repeatoptions={LIST:"LIST",ALWAYS:"ALWAYS",SINGLE:"SINGLE",NONE:"NONE"};function Q(){b.resetEventListeners();b.addGlobalListener(R);switch(b.config.repeat.toUpperCase()){case c.html5.controller.repeatoptions.SINGLE:O();break;case c.html5.controller.repeatoptions.ALWAYS:if(b.item==b.playlist.length-1&&!b.config.shuffle){P(0);O()}else{X()}break;case c.html5.controller.repeatoptions.LIST:if(b.item==b.playlist.length-1&&!b.config.shuffle){P(0)}else{X()}break}}this.play=O;this.pause=L;this.seek=D;this.stop=U;this.next=X;this.prev=Y;this.item=P;this.setVolume=a;this.setMute=S;this.resize=W;this.setFullscreen=F;this.load=J}})(jwplayer);(function(b){b.html5.defaultSkin=function(){this.text='<?xml version="1.0" ?><skin author="LongTail Video" name="Five" version="1.0"><settings><setting name="backcolor" value="0xFFFFFF"/><setting name="frontcolor" value="0x000000"/><setting name="lightcolor" value="0x000000"/><setting name="screencolor" value="0x000000"/></settings><components><component name="controlbar"><settings><setting name="margin" value="20"/><setting name="fontsize" value="11"/></settings><elements><element name="background" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFJJREFUeNrslLENwAAIwxLU/09j5AiOgD5hVQzNAVY8JK4qEfHMIKBnd2+BQlBINaiRtL/aV2rdzYBsM6CIONbI1NZENTr3RwdB2PlnJgJ6BRgA4hwu5Qg5iswAAAAASUVORK5CYII="/><element name="capLeft" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAYCAIAAAC0rgCNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD5JREFUeNosi8ENACAMAgnuv14H0Z8asI19XEjhOiKCMmibVgJTUt7V6fe9KXOtSQCfctJHu2q3/ot79hNgANc2OTz9uTCCAAAAAElFTkSuQmCC"/><element name="capRight" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAYCAIAAAC0rgCNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD5JREFUeNosi8ENACAMAgnuv14H0Z8asI19XEjhOiKCMmibVgJTUt7V6fe9KXOtSQCfctJHu2q3/ot79hNgANc2OTz9uTCCAAAAAElFTkSuQmCC"/><element name="divider" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAYCAIAAAC0rgCNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD5JREFUeNosi8ENACAMAgnuv14H0Z8asI19XEjhOiKCMmibVgJTUt7V6fe9KXOtSQCfctJHu2q3/ot79hNgANc2OTz9uTCCAAAAAElFTkSuQmCC"/><element name="playButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEhJREFUeNpiYqABYBo1dNRQ+hr6H4jvA3E8NS39j4SpZvh/LJig4YxEGEqy3kET+w+AOGFQRhTJhrEQkGcczfujhg4CQwECDADpTRWU/B3wHQAAAABJRU5ErkJggg=="/><element name="pauseButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAChJREFUeNpiYBgFo2DwA0YC8v/R1P4nRu+ooaOGUtnQUTAKhgIACDAAFCwQCfAJ4gwAAAAASUVORK5CYII="/><element name="prevButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEtJREFUeNpiYBgFo2Dog/9QDAPyQHweTYwiQ/2B+D0Wi8g2tB+JTdBQRiIMJVkvEy0iglhDF9Aq9uOpHVEwoE+NJDUKRsFgAAABBgDe2hqZcNNL0AAAAABJRU5ErkJggg=="/><element name="nextButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAYCAYAAAAVibZIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAElJREFUeNpiYBgFo2Dog/9AfB6I5dHE/lNqKAi/B2J/ahsKw/3EGMpIhKEk66WJoaR6fz61IyqemhEFSlL61ExSo2AUDAYAEGAAiG4hj+5t7M8AAAAASUVORK5CYII="/><element name="timeSliderRail" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADxJREFUeNpiYBgFo2AU0Bwwzluw+D8tLWARFhKiqQ9YuLg4aWsBGxs7bS1gZ6e5BWyjSX0UjIKhDgACDABlYQOGh5pYywAAAABJRU5ErkJggg=="/><element name="timeSliderBuffer" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD1JREFUeNpiYBgFo2AU0Bww1jc0/aelBSz8/Pw09QELOzs7bS1gY2OjrQWsrKy09gHraFIfBaNgqAOAAAMAvy0DChXHsZMAAAAASUVORK5CYII="/><element name="timeSliderProgress" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAClJREFUeNpiYBgFo2AU0BwwAvF/WlrARGsfjFow8BaMglEwCugAAAIMAOHfAQunR+XzAAAAAElFTkSuQmCC"/><element name="timeSliderThumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAICAYAAAA870V8AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABZJREFUeNpiZICA/yCCiQEJUJcDEGAAY0gBD1/m7Q0AAAAASUVORK5CYII="/><element name="muteButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAYCAYAAADKx8xXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADFJREFUeNpiYBgFIw3MB+L/5Gj8j6yRiRTFyICJXHfTXyMLAXlGati4YDRFDj8AEGAABk8GSqqS4CoAAAAASUVORK5CYII="/><element name="unmuteButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAYCAYAAADKx8xXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD1JREFUeNpiYBgFgxz8p7bm+cQa+h8LHy7GhEcjIz4bmAjYykiun/8j0fakGPIfTfPgiSr6aB4FVAcAAQYAWdwR1G1Wd2gAAAAASUVORK5CYII="/><element name="volumeSliderRail" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAYCAYAAADkgu3FAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGpJREFUeNpi/P//PwM9ABMDncCoRYPfIqqDZcuW1UPp/6AUDcNM1DQYKtRAlaAj1mCSLSLXYIIWUctgDItoZfDA5aOoqKhGEANIM9LVR7SymGDQUctikuOIXkFNdhHEOFrDjlpEd4sAAgwAriRMub95fu8AAAAASUVORK5CYII="/><element name="volumeSliderProgress" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAYCAYAAADkgu3FAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFtJREFUeNpi/P//PwM9ABMDncCoRYPfIlqAeij9H5SiYZiqBqPTlFqE02BKLSLaYFItIttgQhZRzWB8FjENiuRJ7aAbsMQwYMl7wDIsWUUQ42gNO2oR3S0CCDAAKhKq6MLLn8oAAAAASUVORK5CYII="/><element name="fullscreenButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAE5JREFUeNpiYBgFo2DQA0YC8v/xqP1PjDlMRDrEgUgxkgHIlfZoriVGjmzLsLFHAW2D6D8eA/9Tw7L/BAwgJE90PvhPpNgoGAVDEQAEGAAMdhTyXcPKcAAAAABJRU5ErkJggg=="/><element name="normalscreenButton" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEZJREFUeNpiYBgFo2DIg/9UUkOUAf8JiFFsyX88fJyAkcQgYMQjNkzBoAgiezyRbE+tFGSPxQJ7auYBmma0UTAKBhgABBgAJAEY6zON61sAAAAASUVORK5CYII="/></elements></component><component name="display"><elements><element name="background" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEpJREFUeNrszwENADAIA7DhX8ENoBMZ5KR10EryckCJiIiIiIiIiIiIiIiIiIiIiIh8GmkRERERERERERERERERERERERGRHSPAAPlXH1phYpYaAAAAAElFTkSuQmCC"/><element name="playIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALdJREFUeNrs18ENgjAYhmFouDOCcQJGcARHgE10BDcgTOIosAGwQOuPwaQeuFRi2p/3Sb6EC5L3QCxZBgAAAOCorLW1zMn65TrlkH4NcV7QNcUQt7Gn7KIhxA+qNIR81spOGkL8oFJDyLJRdosqKDDkK+iX5+d7huzwM40xptMQMkjIOeRGo+VkEVvIPfTGIpKASfYIfT9iCHkHrBEzf4gcUQ56aEzuGK/mw0rHpy4AAACAf3kJMACBxjAQNRckhwAAAABJRU5ErkJggg=="/><element name="muteIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUeNrs1jEOgCAMBVAg7t5/8qaoIy4uoobyXsLCxA+0NCUAAADGUWvdQoQ41x4ixNBB2hBvBskdD3w5ZCkl3+33VqI0kjBBlh9rp+uTcyOP33TnolfsU85XX3yIRpQph8ZQY3wTZtU5AACASA4BBgDHoVuY1/fvOQAAAABJRU5ErkJggg=="/><element name="errorIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAWlJREFUeNrsl+1twjAQhsHq/7BBYQLYIBmBDcoGMAIjtBPQTcII2SDtBDBBwrU6pGsUO7YbO470PtKJkz9iH++d4ywWAAAAAABgljRNsyWr2bZzDuJG1rLdZhcMbTjrBCGDyUKsqQLFciJb9bSvuG/WagRVRUVUI6gqy5HVeKWfSgRyJruKIU//TrZTSn2nmlaXThrloi/v9F2STC1W4+Aw5cBzkquRc09bofFNc6YLxEON0VUZS5FPTftO49vMjRsIF3RhOGr7/D/pJw+FKU+q0vDyq8W42jCunDqI3LC5XxNj2wHLU1XjaRnb0Lhykhqhhd8MtSF5J9tbjCv4mXGvKJz/65FF/qJryyaaIvzP2QRxZTX2nTuXjvV/VPFSwyLnW7mpH99yTh1FEVro6JBSd40/pMrRdV8vPtcKl28T2pT8TnFZ4yNosct3Q0io6JfBiz1FlGdqVQH3VHnepAEAAAAAADDzEGAAcTwB10jWgxcAAAAASUVORK5CYII="/><element name="bufferIcon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAuhJREFUeNrsWr9rU1EUznuNGqvFQh1ULOhiBx0KDtIuioO4pJuik3FxFfUPaAV1FTdx0Q5d2g4FFxehTnEpZHFoBy20tCIWtGq0TZP4HfkeHB5N8m6Sl/sa74XDybvv3vvOd8/Pe4lXrVZT3dD8VJc0B8QBcUAcEAfESktHGeR5XtMfqFQq/f92zPe/NbtGlKTdCY30kuxrpMGO94BlQCXs+rbh3ONgA6BlzP1p20d80gEI5hmA2A92Qua1Q2PtAFISM+bvjMG8U+Q7oA3rQGASwrYCU6WpNdLGYbA+Pq5jjXIiwi8EEa2UDbQSaKOIuV+SlkcCrfjY8XTI9EpKGwP0C2kru2hLtHqa4zoXtZRWyvi4CLwv9Opr6Hkn6A9HKgEANsQ1iqC3Ub/vRUk2JgmRkatK36kVrnt0qObunwUdUUMXMWYpakJsO5Am8tAw2GBIgwWA+G2S2dMpiw0gDioQRQJoKhRb1QiDwlHZUABYbaXWsm5ae6loTE4ZDxN4CZar8foVzOJ2iyZ2kWF3t7YIevffaMT5yJ70kQb2fQ1sE5SHr2wazs2wgMxgbsEKEAgxAvZUJbQLBGTSBMgNrncJbA6AljtS/eKDJ0Ez+DmrQEzXS2h1Ck25kAg0IZcUOaydCy4sYnN2fOA+2AP16gNoHALlQ+fwH7XO4CxLenUpgj4xr6ugY2roPMbMx+Xs18m/E8CVEIhxsNeg83XWOAN6grG3lGbk8uE5fr4B/WH3cJw+co/l9nTYsSGYCJ/lY5/qv0thn6nrIWmjeJcPSnWOeY++AkF8tpJHIMAUs/MaBBpj3znZfQo5psY+ZrG4gv5HickjEOymKjEeRpgyST6IuZcTcWbnjcgdPi5ghxciRKsl1lDSsgwA1i8fssonJgzmTSqfGUkCENndNdAL7PS6QQ7ZYISTo+1qq0LEWjTWcvY4isa4z+yfQB+7ooyHVg5RI7/i1Ijn/vnggDggDogD4oC00P4KMACd/juEHOrS4AAAAABJRU5ErkJggg=="/></elements></component><component name="dock"><elements><element name="button" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAFBJREFUeNrs0cEJACAQA8Eofu0fu/W6EM5ZSAFDRpKTBs00CQQEBAQEBAQEBAQEBAQEBATkK8iqbY+AgICAgICAgICAgICAgICAgIC86QowAG5PAQzEJ0lKAAAAAElFTkSuQmCC"/></elements></component><component name="playlist"><elements><element name="item" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAIAAAC1nk4lAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHhJREFUeNrs2NEJwCAMBcBYuv/CFuIE9VN47WWCR7iocXR3pdWdGPqqwIoMjYfQeAiNh9B4JHc6MHQVHnjggQceeOCBBx77TifyeOY0iHi8DqIdEY8dD5cL094eePzINB5CO/LwcOTptNB4CP25L4TIbZzpU7UEGAA5wz1uF5rF9AAAAABJRU5ErkJggg=="/><element name="sliderRail" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAA8CAIAAADpFA0BAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADhJREFUeNrsy6ENACAMAMHClp2wYxZLAg5Fcu9e3OjuOKqqfTMzbs14CIZhGIZhGIZhGP4VLwEGAK/BBnVFpB0oAAAAAElFTkSuQmCC"/><element name="sliderThumb" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAA8CAIAAADpFA0BAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADRJREFUeNrsy7ENACAMBLE8++8caFFKKiRffU53112SGs3ttOohGIZhGIZhGIZh+Fe8BRgAiaUGde6NOSEAAAAASUVORK5CYII="/></elements></component></components></skin>';this.xml=null;if(window.DOMParser){parser=new DOMParser();this.xml=parser.parseFromString(this.text,"text/xml")}else{this.xml=new ActiveXObject("Microsoft.XMLDOM");this.xml.async="false";this.xml.loadXML(this.text)}return this}})(jwplayer);(function(b){_css=b.utils.css;_hide=function(a){_css(a,{display:"none"})};_show=function(a){_css(a,{display:"block"})};b.html5.display=function(O,a){var J={icons:true};var T=b.utils.extend({},J,a);var E=O;var Z={};var X;var M;var S;var D;var C;var N;var U;var P=E.skin.getComponentSettings("display").bufferrotation===undefined?15:parseInt(E.skin.getComponentSettings("display").bufferrotation,10);var Y=E.skin.getComponentSettings("display").bufferinterval===undefined?100:parseInt(E.skin.getComponentSettings("display").bufferinterval,10);var aa={display:{style:{cursor:"pointer",top:0,left:0,overflow:"hidden"},click:G},display_icon:{style:{cursor:"pointer",position:"absolute",top:((E.skin.getSkinElement("display","background").height-E.skin.getSkinElement("display","playIcon").height)/2),left:((E.skin.getSkinElement("display","background").width-E.skin.getSkinElement("display","playIcon").width)/2),border:0,margin:0,padding:0,zIndex:3}},display_iconBackground:{style:{cursor:"pointer",position:"absolute",top:((M-E.skin.getSkinElement("display","background").height)/2),left:((X-E.skin.getSkinElement("display","background").width)/2),border:0,backgroundImage:(["url(",E.skin.getSkinElement("display","background").src,")"]).join(""),width:E.skin.getSkinElement("display","background").width,height:E.skin.getSkinElement("display","background").height,margin:0,padding:0,zIndex:2}},display_image:{style:{display:"none",width:X,height:M,position:"absolute",cursor:"pointer",left:0,top:0,margin:0,padding:0,textDecoration:"none",zIndex:1}},display_text:{style:{zIndex:4,position:"relative",opacity:0.8,backgroundColor:parseInt("000000",16),color:parseInt("ffffff",16),textAlign:"center",fontFamily:"Arial,sans-serif",padding:"0 5px",fontSize:14}}};E.jwAddEventListener(b.api.events.JWPLAYER_PLAYER_STATE,R);E.jwAddEventListener(b.api.events.JWPLAYER_MEDIA_MUTE,R);E.jwAddEventListener(b.api.events.JWPLAYER_PLAYLIST_ITEM,R);E.jwAddEventListener(b.api.events.JWPLAYER_ERROR,H);L();function L(){Z.display=I("div","display");Z.display_text=I("div","display_text");Z.display.appendChild(Z.display_text);Z.display_image=I("img","display_image");Z.display_image.onerror=function(c){_hide(Z.display_image)};Z.display_image.onload=Q;Z.display_icon=I("div","display_icon");Z.display_iconBackground=I("div","display_iconBackground");Z.display.appendChild(Z.display_image);Z.display_iconBackground.appendChild(Z.display_icon);Z.display.appendChild(Z.display_iconBackground);ab()}this.getDisplayElement=function(){return Z.display};this.resize=function(c,d){X=c;M=d;_css(Z.display,{width:c,height:d});_css(Z.display_text,{width:(c-10),top:((M-Z.display_text.getBoundingClientRect().height)/2)});_css(Z.display_iconBackground,{top:((M-E.skin.getSkinElement("display","background").height)/2),left:((X-E.skin.getSkinElement("display","background").width)/2)});V();R({})};this.show=function(){_show(Z.display_icon);_show(Z.display_iconBackground)};this.hide=function(){K()};function Q(c){S=Z.display_image.naturalWidth;D=Z.display_image.naturalHeight;V()}function V(){b.utils.stretch(E.jwGetStretching(),Z.display_image,X,M,S,D)}function I(e,c){var d=document.createElement(e);d.id=E.id+"_jwplayer_"+c;_css(d,aa[c].style);return d}function ab(){for(var c in Z){if(aa[c].click!==undefined){Z[c].onclick=aa[c].click}}}function G(c){if(typeof c.preventDefault!="undefined"){c.preventDefault()}else{c.returnValue=false}if(E.jwGetState()!=b.api.events.state.PLAYING){E.jwPlay()}else{E.jwPause()}}function W(c){if(U||!T.icons){K();return}_show(Z.display_iconBackground);Z.display_icon.style.backgroundImage=(["url(",E.skin.getSkinElement("display",c).src,")"]).join("");_css(Z.display_icon,{display:"block",width:E.skin.getSkinElement("display",c).width,height:E.skin.getSkinElement("display",c).height,top:(E.skin.getSkinElement("display","background").height-E.skin.getSkinElement("display",c).height)/2,left:(E.skin.getSkinElement("display","background").width-E.skin.getSkinElement("display",c).width)/2});if(E.skin.getSkinElement("display",c+"Over")!==undefined){Z.display_icon.onmouseover=function(d){Z.display_icon.style.backgroundImage=["url(",E.skin.getSkinElement("display",c+"Over").src,")"].join("")};Z.display_icon.onmouseout=function(d){Z.display_icon.style.backgroundImage=["url(",E.skin.getSkinElement("display",c).src,")"].join("")}}else{Z.display_icon.onmouseover=null;Z.display_icon.onmouseout=null}}function K(){_hide(Z.display_icon);_hide(Z.display_iconBackground)}function H(c){U=true;K();Z.display_text.innerHTML=c.error;_show(Z.display_text);Z.display_text.style.top=((M-Z.display_text.getBoundingClientRect().height)/2)+"px"}function F(){var c=Z.display_image;Z.display_image=I("img","display_image");Z.display_image.onerror=function(d){_hide(Z.display_image)};Z.display_image.onload=Q;Z.display.replaceChild(Z.display_image,c)}function R(c){if((c.type==b.api.events.JWPLAYER_PLAYER_STATE||c.type==b.api.events.JWPLAYER_PLAYLIST_ITEM)&&U){U=false;_hide(Z.display_text)}if(N!==undefined){clearInterval(N);N=null;b.utils.animations.rotate(Z.display_icon,0)}switch(E.jwGetState()){case b.api.events.state.BUFFERING:W("bufferIcon");C=0;N=setInterval(function(){C+=P;b.utils.animations.rotate(Z.display_icon,C%360)},Y);W("bufferIcon");break;case b.api.events.state.PAUSED:if(E.jwGetPlaylist()[E.jwGetItem()].provider!="sound"){_css(Z.display_image,{background:"transparent no-repeat center center"})}W("playIcon");break;case b.api.events.state.IDLE:if(E.jwGetPlaylist()[E.jwGetItem()].image){_css(Z.display_image,{display:"block"});Z.display_image.src=b.utils.getAbsolutePath(E.jwGetPlaylist()[E.jwGetItem()].image)}else{F()}W("playIcon");break;default:if(E.jwGetMute()&&T.showmute){if(E.jwGetPlaylist()[E.jwGetItem()].provider!="sound"){F()}W("muteIcon")}else{if(E.jwGetPlaylist()[E.jwGetItem()].provider!="sound"){F()}_hide(Z.display_iconBackground);_hide(Z.display_icon)}break}}return this}})(jwplayer);(function(b){_css=b.utils.css;b.html5.dock=function(o,s){function p(){return{align:b.html5.view.positions.RIGHT}}var a=b.utils.extend({},p(),s);if(a.align=="FALSE"){return}var n={};var t=[];var r;var q;var l=document.createElement("div");l.id=o.id+"_jwplayer_dock";this.getDisplayElement=function(){return l};this.setButton=function(e,d,c,f){if(!d&&n[e]){b.utils.arrays.remove(t,e);l.removeChild(n[e].div);delete n[e]}else{if(d){if(!n[e]){n[e]={}}n[e].handler=d;n[e].outGraphic=c;n[e].overGraphic=f;if(!n[e].div){t.push(e);n[e].div=document.createElement("div");n[e].div.style.position="relative";l.appendChild(n[e].div);n[e].div.appendChild(document.createElement("img"));n[e].div.childNodes[0].style.position="absolute";n[e].div.childNodes[0].style.left=0;n[e].div.childNodes[0].style.top=0;n[e].div.childNodes[0].style.zIndex=10;n[e].div.childNodes[0].style.cursor="pointer";n[e].div.appendChild(document.createElement("img"));n[e].div.childNodes[1].style.position="absolute";n[e].div.childNodes[1].style.left=0;n[e].div.childNodes[1].style.top=0;if(o.skin.getSkinElement("dock","button")){n[e].div.childNodes[1].src=o.skin.getSkinElement("dock","button").src}n[e].div.childNodes[1].style.zIndex=9;n[e].div.childNodes[1].style.cursor="pointer";n[e].div.onmouseover=function(){if(n[e].overGraphic){n[e].div.childNodes[0].src=n[e].overGraphic}if(o.skin.getSkinElement("dock","buttonOver")){n[e].div.childNodes[1].src=o.skin.getSkinElement("dock","buttonOver").src}};n[e].div.onmouseout=function(){if(n[e].outGraphic){n[e].div.childNodes[0].src=n[e].outGraphic}if(o.skin.getSkinElement("dock","button")){n[e].div.childNodes[1].src=o.skin.getSkinElement("dock","button").src}};if(n[e].overGraphic){n[e].div.childNodes[0].src=n[e].overGraphic}if(n[e].outGraphic){n[e].div.childNodes[0].src=n[e].outGraphic}if(o.skin.getSkinElement("dock","button")){n[e].div.childNodes[1].src=o.skin.getSkinElement("dock","button").src}}if(d){n[e].div.onclick=function(g){g.preventDefault();b(o.id).callback(e);if(n[e].overGraphic){n[e].div.childNodes[0].src=n[e].overGraphic}if(o.skin.getSkinElement("dock","button")){n[e].div.childNodes[1].src=o.skin.getSkinElement("dock","button").src}}}}}m(r,q)};function m(j,d){r=j;q=d;if(t.length>0){var h=10;var f=j-o.skin.getSkinElement("dock","button").width-h;var i=h;var g=-1;if(a.align==b.html5.view.positions.LEFT){g=1;f=h}for(var c=0;c<t.length;c++){var e=Math.floor(i/d);if((i+o.skin.getSkinElement("dock","button").height+h)>((e+1)*d)){i=((e+1)*d)+h;e=Math.floor(i/d)}n[t[c]].div.style.top=(i%d)+"px";n[t[c]].div.style.left=(f+(o.skin.getSkinElement("dock","button").width+h)*e*g)+"px";i+=o.skin.getSkinElement("dock","button").height+h}}}this.resize=m;this.show=function(){_css(l,{display:"block"})};this.hide=function(){_css(l,{display:"none"})};return this}})(jwplayer);(function(b){b.html5.eventdispatcher=function(e,a){var f=new b.events.eventdispatcher(a);b.utils.extend(this,f);this.sendEvent=function(d,c){if(c===undefined){c={}}b.utils.extend(c,{id:e,version:b.version,type:d});f.sendEvent(d,c)}}})(jwplayer);(function(d){var c={prefix:"",file:"",link:"",margin:8,out:0.5,over:1,timeout:3,hide:true,position:"bottom-left"};_css=d.utils.css;d.html5.logo=function(x,w){var a=x;var v;var A;var G;z();function z(){t();F();D()}function t(){if(c.prefix){var e=x.version.split(/\W/).splice(0,2).join("/");if(c.prefix.indexOf(e)<0){c.prefix+=e+"/"}}if(w.position==d.html5.view.positions.OVER){w.position=c.position}A=d.utils.extend({},c,w)}function F(){G=document.createElement("img");G.id=a.id+"_jwplayer_logo";G.style.display="none";G.onload=function(e){_css(G,b());a.jwAddEventListener(d.api.events.JWPLAYER_PLAYER_STATE,H);E()};if(!A.file){return}if(A.file.indexOf("http://")===0){G.src=A.file}else{G.src=A.prefix+A.file}}if(!A.file){return}this.resize=function(e,f){};this.getDisplayElement=function(){return G};function D(){if(A.link){G.onmouseover=B;G.onmouseout=E;G.onclick=u}else{this.mouseEnabled=false}}function u(e){if(typeof e!="undefined"){e.stopPropagation()}a.jwPause();a.jwSetFullscreen(false);if(A.link){window.open(A.link,"_blank")}return}function E(e){if(A.link){G.style.opacity=A.out}return}function B(e){if(A.hide){G.style.opacity=A.over}return}function b(){var e={textDecoration:"none",position:"absolute",cursor:"pointer"};e.display=A.hide?"none":"block";var f=A.position.toLowerCase().split("-");for(var g in f){e[f[g]]=A.margin}return e}function y(){if(A.hide){G.style.display="block";G.style.opacity=0;d.utils.fadeTo(G,A.out,0.1,parseFloat(G.style.opacity));v=setTimeout(function(){C()},A.timeout*1000)}}function C(){if(A.hide){d.utils.fadeTo(G,0,0.1,parseFloat(G.style.opacity))}}function H(e){if(e.newstate==d.api.events.state.BUFFERING){clearTimeout(v);y()}}return this}})(jwplayer);(function(e){var f={ended:e.api.events.state.IDLE,playing:e.api.events.state.PLAYING,pause:e.api.events.state.PAUSED,buffering:e.api.events.state.BUFFERING};var d=e.utils.css;e.html5.mediavideo=function(ay,X){var T={abort:aj,canplay:aq,canplaythrough:aq,durationchange:am,emptied:aj,ended:aq,error:ar,loadeddata:am,loadedmetadata:am,loadstart:aq,pause:aq,play:Q,playing:aq,progress:ab,ratechange:aj,seeked:aq,seeking:aq,stalled:aq,suspend:aq,timeupdate:Q,volumechange:aj,waiting:aq,canshowcurrentframe:aj,dataunavailable:aj,empty:aj,load:az,loadedfirstframe:aj};var S=new e.html5.eventdispatcher();e.utils.extend(this,S);var aw=ay;var af=X;var W;var U;var aA=e.api.events.state.IDLE;var aa=null;var ap;var ax=0;var ac=false;var al=false;var b;var c;var av=[];var a;var Y=false;function ah(){return aA}function az(g){}function aj(g){}function aq(g){if(f[g.type]){ak(f[g.type])}}function ak(i){if(Y){return}if(ap){i=e.api.events.state.IDLE}if(i==e.api.events.state.PAUSED&&aA==e.api.events.state.IDLE){return}if(i==e.api.events.state.PLAYING&&aA==e.api.events.state.IDLE){ak(e.api.events.state.BUFFERING);S.sendEvent(e.api.events.JWPLAYER_MEDIA_BUFFER,{bufferPercent:aw.buffer});ad();return}if(aA!=i){var h=aA;aw.state=i;aA=i;var g=false;if(i==e.api.events.state.IDLE){an();if(aw.position>=aw.duration&&(aw.position>0||aw.duration>0)){g=true}if(af.style.display!="none"&&!aw.config.chromeless){af.style.display="none"}}S.sendEvent(e.api.events.JWPLAYER_PLAYER_STATE,{oldstate:h,newstate:i});if(g){S.sendEvent(e.api.events.JWPLAYER_MEDIA_COMPLETE)}}ap=false}function am(h){var g={height:h.target.videoHeight,width:h.target.videoWidth,duration:Math.round(h.target.duration*10)/10};if(aw.duration===0||isNaN(aw.duration)){aw.duration=Math.round(h.target.duration*10)/10}aw.playlist[aw.item]=e.utils.extend(aw.playlist[aw.item],g);S.sendEvent(e.api.events.JWPLAYER_MEDIA_META,{metadata:g})}function Q(g){if(ap){return}if(g!==undefined&&g.target!==undefined){if(aw.duration===0||isNaN(aw.duration)){aw.duration=Math.round(g.target.duration*10)/10}if(!ac&&af.readyState>0){ak(e.api.events.state.PLAYING)}if(aA==e.api.events.state.PLAYING){if(!ac&&af.readyState>0){ac=true;try{af.currentTime=aw.playlist[aw.item].start}catch(h){}af.volume=aw.volume/100;af.muted=aw.mute}aw.position=Math.round(g.target.currentTime*10)/10;S.sendEvent(e.api.events.JWPLAYER_MEDIA_TIME,{position:g.target.currentTime,duration:g.target.duration})}}ab(g)}function ad(){if(W===false&&aA==e.api.events.state.BUFFERING){S.sendEvent(e.api.events.JWPLAYER_MEDIA_BUFFER_FULL);W=true}}function V(){var g=(av[av.length-1]-av[0])/av.length;a=setTimeout(function(){if(!U){ab({lengthComputable:true,loaded:1,total:1})}},g*10)}function ab(g){var h,i;if(g!==undefined&&g.lengthComputable&&g.total){ao();h=g.loaded/g.total*100;i=h/100*(aw.duration-af.currentTime);if(50<h&&!U){clearTimeout(a);V()}}else{if((af.buffered!==undefined)&&(af.buffered.length>0)){maxBufferIndex=0;if(maxBufferIndex>=0){h=af.buffered.end(maxBufferIndex)/af.duration*100;i=af.buffered.end(maxBufferIndex)-af.currentTime}}}ad();if(!U){if(h==100&&U===false){U=true}if(h!==null&&(h>aw.buffer)){aw.buffer=Math.round(h);S.sendEvent(e.api.events.JWPLAYER_MEDIA_BUFFER,{bufferPercent:Math.round(h)})}}}function ag(){if(aa===null){aa=setInterval(function(){Q()},100)}}function an(){clearInterval(aa);aa=null}function ar(g){var h="There was an error: ";if((g.target.error&&g.target.tagName.toLowerCase()=="video")||g.target.parentNode.error&&g.target.parentNode.tagName.toLowerCase()=="video"){var i=g.target.error===undefined?g.target.parentNode.error:g.target.error;switch(i.code){case i.MEDIA_ERR_ABORTED:h="You aborted the video playback: ";break;case i.MEDIA_ERR_NETWORK:h="A network error caused the video download to fail part-way: ";break;case i.MEDIA_ERR_DECODE:h="The video playback was aborted due to a corruption problem or because the video used features your browser did not support: ";break;case i.MEDIA_ERR_SRC_NOT_SUPPORTED:h="The video could not be loaded, either because the server or network failed or because the format is not supported: ";break;default:h="An unknown error occurred: ";break}}else{if(g.target.tagName.toLowerCase()=="source"){c--;if(c>0){return}h="The video could not be loaded, either because the server or network failed or because the format is not supported: "}else{e.utils.log("Erroneous error received. Continuing...");return}}ai();h+=au();Y=true;S.sendEvent(e.api.events.JWPLAYER_ERROR,{error:h});return}function au(){var h="";for(var i in b.levels){var j=b.levels[i];var g=af.ownerDocument.createElement("source");h+=e.utils.getAbsolutePath(j.file);if(i<(b.levels.length-1)){h+=", "}}return h}this.getDisplayElement=function(){return af};this.play=function(){if(aA!=e.api.events.state.PLAYING){if(af.style.display!="block"){af.style.display="block"}af.play();ag();if(W){ak(e.api.events.state.PLAYING)}}};this.pause=function(){af.pause();ak(e.api.events.state.PAUSED)};this.seek=function(g){if(!(aw.duration===0||isNaN(aw.duration))&&!(aw.position===0||isNaN(aw.position))){af.currentTime=g;af.play()}};function ai(){af.pause();af.removeAttribute("src");var h=af.getElementsByTagName("source");for(var g=0;g<h.length;g++){af.removeChild(h[g])}if(typeof af.load=="function"){af.load()}an();aw.position=0;ap=true;ak(e.api.events.state.IDLE)}this.stop=ai;this.volume=function(g){af.volume=g/100;aw.volume=g;S.sendEvent(e.api.events.JWPLAYER_MEDIA_VOLUME,{volume:Math.round(g)})};this.mute=function(g){af.muted=g;aw.mute=g;S.sendEvent(e.api.events.JWPLAYER_MEDIA_MUTE,{mute:g})};this.resize=function(g,h){if(false){d(af,{width:g,height:h})}S.sendEvent(e.api.events.JWPLAYER_MEDIA_RESIZE,{fullscreen:aw.fullscreen,width:g,hieght:h})};this.fullscreen=function(g){if(g===true){this.resize("100%","100%")}else{this.resize(aw.config.width,aw.config.height)}};this.load=function(g){R(g);S.sendEvent(e.api.events.JWPLAYER_MEDIA_LOADED);W=false;U=false;ac=false;if(!aw.config.chromeless&&!al){av=[];ao();ak(e.api.events.state.BUFFERING);setTimeout(function(){Q()},25)}};function ao(){var g=new Date().getTime();av.push(g)}this.hasChrome=function(){return al};function R(g){switch(g.provider){case"youtube":at(g);break;default:Z(g,document.createElement("video"));break}}function Z(n,h){aw.duration=n.duration;al=false;b=n;h.preload="none";h.setAttribute("x-webkit-airplay","allow");Y=false;c=0;for(var l=0;l<n.levels.length;l++){var m=n.levels[l];var k;var g=e.utils.extension(m.file);if(m.type===undefined){if(e.utils.extensionmap[g]!==undefined&&e.utils.extensionmap[g].html5!==undefined){k=e.utils.extensionmap[g].html5}}else{k=m.type}if(!k||h.canPlayType(k)||(e.utils.isLegacyAndroid()&&g.match(/m4v|mp4/))){var i=af.ownerDocument.createElement("source");i.src=e.utils.getAbsolutePath(m.file);if(k&&!e.utils.isLegacyAndroid()){i.type=k}c++;h.appendChild(i)}}if(c===0){Y=true;S.sendEvent(e.api.events.JWPLAYER_ERROR,{error:"The media could not be loaded because the format is not supported by your browser: "+au()})}if(aw.config.chromeless){h.poster=e.utils.getAbsolutePath(n.image);h.controls="controls"}h.style.top=af.style.top;h.style.left=af.style.left;h.style.width=af.style.width;h.style.height=af.style.height;h.style.zIndex=af.style.zIndex;h.onload=az;h.volume=0;af.parentNode.replaceChild(h,af);h.id=af.id;af=h;for(var j in T){af.addEventListener(j,function(o){if(o.target.parentNode!==null){T[o.type](o)}},true)}}function at(o){var g=o.levels[0].file;var l=document.createElement("object");g=["http://www.youtube.com/v/",ae(g),"&amp;hl=en_US&amp;fs=1&autoplay=1"].join("");var i={movie:g,allowFullScreen:"true",allowscriptaccess:"always"};for(var m in i){var n=document.createElement("param");n.name=m;n.value=i[m];l.appendChild(n)}var h=document.createElement("embed");var k={src:g,type:"application/x-shockwave-flash",allowscriptaccess:"always",allowfullscreen:"true",width:document.getElementById(ay.id).style.width,height:document.getElementById(ay.id).style.height};for(var j in k){h[j]=k[j]}l.appendChild(h);l.style.position=af.style.position;l.style.top=af.style.top;l.style.left=af.style.left;l.style.width=document.getElementById(ay.id).style.width;l.style.height=document.getElementById(ay.id).style.height;l.style.zIndex=2147483000;af.parentNode.replaceChild(l,af);l.id=af.id;af=l;al=true}function ae(i){var j=i.split(/\?|\#\!/);var g="";for(var h=0;h<j.length;h++){if(j[h].substr(0,2)=="v="){g=j[h].substr(2)}}if(g==""){if(i.indexOf("/v/")>=0){g=i.substr(i.indexOf("/v/")+3)}else{if(i.indexOf("youtu.be")>=0){g=i.substr(i.indexOf("youtu.be/")+9)}else{g=i}}}if(g.indexOf("?")>-1){g=g.substr(0,g.indexOf("?"))}if(g.indexOf("&")>-1){g=g.substr(0,g.indexOf("&"))}return g}this.embed=R;return this}})(jwplayer);(function(jwplayer){var _configurableStateVariables=["width","height","start","duration","volume","mute","fullscreen","item","plugins","stretching"];jwplayer.html5.model=function(api,container,options){var _api=api;var _container=container;var _model={id:_container.id,playlist:[],state:jwplayer.api.events.state.IDLE,position:0,buffer:0,config:{width:480,height:320,item:-1,skin:undefined,file:undefined,image:undefined,start:0,duration:0,bufferlength:5,volume:90,mute:false,fullscreen:false,repeat:"none",stretching:jwplayer.utils.stretching.UNIFORM,autostart:false,debug:undefined,screencolor:undefined}};var _media;var _eventDispatcher=new jwplayer.html5.eventdispatcher();var _components=["display","logo","controlbar","dock"];jwplayer.utils.extend(_model,_eventDispatcher);for(var option in options){if(typeof options[option]=="string"){var type=/color$/.test(option)?"color":null;options[option]=jwplayer.utils.typechecker(options[option],type)}var config=_model.config;var path=option.split(".");for(var edge in path){if(edge==path.length-1){config[path[edge]]=options[option]}else{if(config[path[edge]]===undefined){config[path[edge]]={}}config=config[path[edge]]}}}for(var index in _configurableStateVariables){var configurableStateVariable=_configurableStateVariables[index];_model[configurableStateVariable]=_model.config[configurableStateVariable]}var pluginorder=_components.concat([]);if(_model.plugins!==undefined){if(typeof _model.plugins=="string"){var userplugins=_model.plugins.split(",");for(var userplugin in userplugins){if(typeof userplugins[userplugin]=="string"){pluginorder.push(userplugins[userplugin].replace(/^\s+|\s+$/g,""))}}}}if(typeof _model.config.chromeless=="undefined"&&jwplayer.utils.isIOS()){_model.config.chromeless=true}if(_model.config.chromeless){pluginorder=["logo"];if(_model.config.repeat===undefined||_model.config.repeat=="none"){_model.config.repeat="list"}}_model.plugins={order:pluginorder,config:{},object:{}};if(typeof _model.config.components!="undefined"){for(var component in _model.config.components){_model.plugins.config[component]=_model.config.components[component]}}for(var pluginIndex in _model.plugins.order){var pluginName=_model.plugins.order[pluginIndex];var pluginConfig=_model.config[pluginName]===undefined?{}:_model.config[pluginName];_model.plugins.config[pluginName]=_model.plugins.config[pluginName]===undefined?pluginConfig:jwplayer.utils.extend(_model.plugins.config[pluginName],pluginConfig);if(typeof _model.plugins.config[pluginName].position=="undefined"){_model.plugins.config[pluginName].position=jwplayer.html5.view.positions.OVER}else{_model.plugins.config[pluginName].position=_model.plugins.config[pluginName].position.toString().toUpperCase()}}if(typeof _model.plugins.config.dock!="undefined"){if(typeof _model.plugins.config.dock!="object"){var position=_model.plugins.config.dock.toString().toUpperCase();_model.plugins.config.dock={position:position}}if(typeof _model.plugins.config.dock.position!="undefined"){_model.plugins.config.dock.align=_model.plugins.config.dock.position;_model.plugins.config.dock.position=jwplayer.html5.view.positions.OVER}}_model.loadPlaylist=function(arg,ready){var input;if(typeof arg=="string"){try{input=eval(arg)}catch(err){input=arg}}else{input=arg}var config;switch(jwplayer.utils.typeOf(input)){case"object":config=input;break;case"array":config={playlist:input};break;default:config={file:input};break}_model.playlist=new jwplayer.html5.playlist(config);if(_model.config.shuffle){_model.item=_getShuffleItem()}else{if(_model.config.item>=_model.playlist.length){_model.config.item=_model.playlist.length-1}else{if(_model.config.item<0){_model.config.item=0}}_model.item=_model.config.item}if(!ready){_eventDispatcher.sendEvent(jwplayer.api.events.JWPLAYER_PLAYLIST_LOADED,{playlist:_model.playlist})}_model.setActiveMediaProvider(_model.playlist[_model.item])};function _getShuffleItem(){var result=null;if(_model.playlist.length>1){while(result===null){result=Math.floor(Math.random()*_model.playlist.length);if(result==_model.item){result=null}}}else{result=0}return result}function forward(evt){if(evt.type==jwplayer.api.events.JWPLAYER_MEDIA_LOADED){_container=_media.getDisplayElement()}_eventDispatcher.sendEvent(evt.type,evt)}_model.setActiveMediaProvider=function(playlistItem){if(_media!==undefined){_media.resetEventListeners()}_media=new jwplayer.html5.mediavideo(_model,_container);_media.addGlobalListener(forward);if(_model.config.chromeless){_media.load(playlistItem)}return true};_model.getMedia=function(){return _media};_model.seek=function(pos){_eventDispatcher.sendEvent(jwplayer.api.events.JWPLAYER_MEDIA_SEEK,{position:_model.position,offset:pos});return _media.seek(pos)};_model.setupPlugins=function(){for(var plugin in _model.plugins.order){try{var pluginName=_model.plugins.order[plugin];if(jwplayer.html5[pluginName]!==undefined){_model.plugins.object[pluginName]=new jwplayer.html5[pluginName](_api,_model.plugins.config[pluginName])}else{_model.plugins.order.splice(plugin,plugin+1)}}catch(err){jwplayer.utils.log("Could not setup "+pluginName)}}};return _model}})(jwplayer);(function(b){b.html5.playlist=function(a){var e=[];if(a.playlist&&a.playlist instanceof Array&&a.playlist.length>0){for(var f in a.playlist){if(!isNaN(parseInt(f))){e.push(new b.html5.playlistitem(a.playlist[f]))}}}else{e.push(new b.html5.playlistitem(a))}return e}})(jwplayer);(function(c){c.html5.playlistitem=function(b){var a={author:"",date:"",description:"",image:"",link:"",mediaid:"",tags:"",title:"",provider:"",file:"",streamer:"",duration:-1,start:0,currentLevel:-1,levels:[]};var f=c.utils.extend({},a,b);if(f.type){f.provider=f.type;delete f.type}if(f.levels.length===0){f.levels[0]=new c.html5.playlistitemlevel(f)}if(!f.provider){f.provider=d(f.levels[0])}else{f.provider=f.provider.toLowerCase()}return f};function d(b){if(c.utils.isYouTube(b.file)){return"youtube"}else{var a=c.utils.extension(b.file);var h;if(a&&c.utils.extensionmap[a]){h=c.utils.extensionmap[a].html5}else{if(b.type){h=b.type}}if(h){var g=h.split("/")[0];if(g=="audio"){return"sound"}else{if(g=="video"){return g}}}}return""}})(jwplayer);(function(b){b.html5.playlistitemlevel=function(a){var e={file:"",streamer:"",bitrate:0,width:0};for(var f in e){if(a[f]!==undefined){e[f]=a[f]}}return e}})(jwplayer);(function(b){b.html5.skin=function(){var a={};var d=false;this.load=function(f,c){new b.html5.skinloader(f,function(e){d=true;a=e;c()},function(){new b.html5.skinloader("",function(e){d=true;a=e;c()})})};this.getSkinElement=function(h,g){if(d){try{return a[h].elements[g]}catch(c){b.utils.log("No such skin component / element: ",[h,g])}}return null};this.getComponentSettings=function(c){if(d){return a[c].settings}return null};this.getComponentLayout=function(c){if(d){return a[c].layout}return null}}})(jwplayer);(function(b){b.html5.skinloader=function(B,t,y){var u={};var E=t;var x=y;var C=true;var z;var v=B;var a=false;function w(){if(typeof v!="string"||v===""){D(b.html5.defaultSkin().xml)}else{b.utils.ajax(b.utils.getAbsolutePath(v),function(d){try{if(d.responseXML!==null){D(d.responseXML);return}}catch(c){}D(b.html5.defaultSkin().xml)},function(c){D(b.html5.defaultSkin().xml)})}}function D(n){var V=n.getElementsByTagName("component");if(V.length===0){return}for(var q=0;q<V.length;q++){var X=V[q].getAttribute("name");var h={settings:{},elements:{},layout:{}};u[X]=h;var R=V[q].getElementsByTagName("elements")[0].getElementsByTagName("element");for(var T=0;T<R.length;T++){F(R[T],X)}var l=V[q].getElementsByTagName("settings")[0];if(l!==undefined&&l.childNodes.length>0){var k=l.getElementsByTagName("setting");for(var d=0;d<k.length;d++){var c=k[d].getAttribute("name");var o=k[d].getAttribute("value");var p=/color$/.test(c)?"color":null;u[X].settings[c]=b.utils.typechecker(o,p)}}var i=V[q].getElementsByTagName("layout")[0];if(i!==undefined&&i.childNodes.length>0){var g=i.getElementsByTagName("group");for(var P=0;P<g.length;P++){var j=g[P];u[X].layout[j.getAttribute("position")]={elements:[]};for(var e=0;e<j.attributes.length;e++){var W=j.attributes[e];u[X].layout[j.getAttribute("position")][W.name]=W.value}var f=j.getElementsByTagName("*");for(var Q=0;Q<f.length;Q++){var U=f[Q];u[X].layout[j.getAttribute("position")].elements.push({type:U.tagName});for(var S=0;S<U.attributes.length;S++){var m=U.attributes[S];u[X].layout[j.getAttribute("position")].elements[Q][m.name]=m.value}if(u[X].layout[j.getAttribute("position")].elements[Q].name===undefined){u[X].layout[j.getAttribute("position")].elements[Q].name=U.tagName}}}}C=false;r()}}function r(){clearInterval(z);if(!a){z=setInterval(function(){s()},100)}}function F(d,e){var f=new Image();var i=d.getAttribute("name");var g=d.getAttribute("src");var j;if(g.indexOf("data:image/png;base64,")===0){j=g}else{var h=b.utils.getAbsolutePath(v);var c=h.substr(0,h.lastIndexOf("/"));j=[c,e,g].join("/")}u[e].elements[i]={height:0,width:0,src:"",ready:false};f.onload=function(k){A(f,i,e)};f.onerror=function(k){a=true;r();x()};f.src=j}function s(){for(var d in u){if(d!="properties"){for(var c in u[d].elements){if(!u[d].elements[c].ready){return}}}}if(C===false){clearInterval(z);E(u)}}function A(e,c,d){u[d].elements[c].height=e.height;u[d].elements[c].width=e.width;u[d].elements[c].src=e.src;u[d].elements[c].ready=true;r()}w()}})(jwplayer);(function(b){b.html5.api=function(v,a){var m={};var r=document.createElement("div");v.parentNode.replaceChild(r,v);r.id=v.id;m.version=b.version;m.id=r.id;var n=new b.html5.model(m,r,a);var p=new b.html5.view(m,r,n);var o=new b.html5.controller(m,r,n,p);m.skin=new b.html5.skin();m.jwPlay=function(c){if(typeof c=="undefined"){s()}else{if(c.toString().toLowerCase()=="true"){o.play()}else{o.pause()}}};m.jwPause=function(c){if(typeof c=="undefined"){s()}else{if(c.toString().toLowerCase()=="true"){o.pause()}else{o.play()}}};function s(){if(n.state==b.api.events.state.PLAYING||n.state==b.api.events.state.BUFFERING){o.pause()}else{o.play()}}m.jwStop=o.stop;m.jwSeek=o.seek;m.jwPlaylistItem=o.item;m.jwPlaylistNext=o.next;m.jwPlaylistPrev=o.prev;m.jwResize=o.resize;m.jwLoad=o.load;function q(c){return function(){return n[c]}}function t(c,d,e){return function(){var f=n.plugins.object[c];if(f&&f[d]&&typeof f[d]=="function"){f[d].apply(f,e)}}}m.jwGetItem=q("item");m.jwGetPosition=q("position");m.jwGetDuration=q("duration");m.jwGetBuffer=q("buffer");m.jwGetWidth=q("width");m.jwGetHeight=q("height");m.jwGetFullscreen=q("fullscreen");m.jwSetFullscreen=o.setFullscreen;m.jwGetVolume=q("volume");m.jwSetVolume=o.setVolume;m.jwGetMute=q("mute");m.jwSetMute=o.setMute;m.jwGetStretching=q("stretching");m.jwGetState=q("state");m.jwGetVersion=function(){return m.version};m.jwGetPlaylist=function(){return n.playlist};m.jwGetPlaylistIndex=m.jwGetItem;m.jwAddEventListener=o.addEventListener;m.jwRemoveEventListener=o.removeEventListener;m.jwSendEvent=o.sendEvent;m.jwDockSetButton=function(d,c,f,e){if(n.plugins.object.dock&&n.plugins.object.dock.setButton){n.plugins.object.dock.setButton(d,c,f,e)}};m.jwShowControlbar=t("controlbar","show");m.jwHideControlbar=t("controlbar","hide");m.jwShowDock=t("dock","show");m.jwHideDock=t("dock","hide");m.jwShowDisplay=t("display","show");m.jwHideDisplay=t("display","hide");m.jwGetLevel=function(){};m.jwGetBandwidth=function(){};m.jwGetLockState=function(){};m.jwLock=function(){};m.jwUnlock=function(){};function u(d,e,c){return function(){d.loadPlaylist(d.config,true);d.setupPlugins();e.setup(d.getMedia().getDisplayElement());var f={id:m.id,version:m.version};c.sendEvent(b.api.events.JWPLAYER_READY,f);if(playerReady!==undefined){playerReady(f)}if(window[d.config.playerReady]!==undefined){window[d.config.playerReady](f)}d.sendEvent(b.api.events.JWPLAYER_PLAYLIST_LOADED,{playlist:d.playlist});c.item(d.item)}}if(n.config.chromeless){setTimeout(u(n,p,o),25)}else{m.skin.load(n.config.skin,u(n,p,o))}return m}})(jwplayer)};;
/* (c) 2008, 2009, 2010 Add This, LLC */
if(!window._ate){var _atd="www.addthis.com/",_atr="//s7.addthis.com/",_atn="//l.addthiscdn.com/",_euc=encodeURIComponent,_duc=decodeURIComponent,_atc={dr:0,ver:250,loc:0,enote:"",cwait:500,bamp:0.25,camp:1,damp:1,famp:0.02,pamp:0.2,tamp:1,vamp:1,ltj:1,xamp:0.5,abf:!!window.addthis_do_ab,ufc:1};(function(){var l;try{l=window.location;if(l.protocol.indexOf("file")===0||l.protocol.indexOf("safari-extension")===0||l.protocol.indexOf("chrome-extension")===0){_atr="http:"+_atr;}if(l.hostname.indexOf("localhost")!=-1){_atc.loc=1;}}catch(e){}var ua=navigator.userAgent.toLowerCase(),d=document,w=window,dl=d.location,b={win:/windows/.test(ua),xp:(/windows nt 5.1/.test(ua))||(/windows nt 5.2/.test(ua)),osx:/os x/.test(ua),chr:/chrome/.test(ua),iph:/iphone/.test(ua),dro:/android/.test(ua),ipa:/ipad/.test(ua),saf:/safari/.test(ua),opr:/opera/.test(ua),msi:(/msie/.test(ua))&&!(/opera/.test(ua)),ffx:/firefox/.test(ua),ff2:/firefox\/2/.test(ua),ffn:/firefox\/((3.[6789][0-9a-z]*)|(4.[0-9a-z]*))/.test(ua),ie6:/msie 6.0/.test(ua),ie7:/msie 7.0/.test(ua),ie8:/msie 8.0/.test(ua),ie9:/msie 9.0/.test(ua),mod:-1},_7={rev:"100141",bro:b,wlp:(l||{}).protocol,dl:dl,upm:!!w.postMessage&&(""+w.postMessage).toLowerCase().indexOf("[native code]")!==-1,bamp:_atc.bamp-Math.random(),camp:_atc.camp-Math.random(),xamp:_atc.xamp-Math.random(),vamp:_atc.vamp-Math.random(),tamp:_atc.tamp-Math.random(),pamp:_atc.pamp-Math.random(),ab:"-",inst:1,wait:500,tmo:null,sub:!!window.at_sub,dbm:0,uid:null,spt:"static/r07/widget31.png",api:{},imgz:[],hash:window.location.hash};d.ce=d.createElement;d.gn=d.getElementsByTagName;window._ate=_7;_7.evl=function(_8,_9){return eval(_8);};var _a=function(o,fn,_d,_e){if(!o){return _d;}if(o instanceof Array||(o.length&&(typeof o!=="function"))){for(var i=0,len=o.length,v=o[0];i<len;v=o[++i]){_d=fn.call(_e||o,_d,v,i,o);}}else{for(var _12 in o){_d=fn.call(_e||o,_d,o[_12],_12,o);}}return _d;},_13=Array.prototype.slice,_14=function(a){return _13.apply(a,_13.call(arguments,1));},_16=function(s){return(""+s).replace(/(^\s+|\s+$)/g,"");},_18=function(A,B){return _a(_14(arguments,1),function(A,_1c){return _a(_1c,function(o,v,k){if(o){o[k]=v;}return o;},A);},A);},_20=function(o,del){return _a(o,function(acc,v,k){k=_16(k);if(k){acc.push(_euc(k)+"="+_euc(_16((typeof(v)=="object"?_20(v):(v)))));}return acc;},[]).join(del||"&");},_26=function(o,del){return _a(o,function(acc,v,k){k=_16(k);if(k){acc.push(_euc(k)+"="+_euc(_16(v)));}return acc;},[]).join(del||"&");},_2c=function(q,del){return _a((q||"").split(del||"&"),function(acc,_30){try{var kv=_30.split("="),k=_16(_duc(kv[0])),v=_16(_duc(kv.slice(1).join("=")));if(v.indexOf(del||"&")>-1){v=_2c(del||"&");}if(k){acc[k]=v;}}catch(e){}return acc;},{});},_34=function(q,del){return _a((q||"").split(del||"&"),function(acc,_38){try{var kv=_38.split("="),k=_16(_duc(kv[0])),v=_16(_duc(kv.slice(1).join("=")));if(k){acc[k]=v;}}catch(e){}return acc;},{});},_3c=function(){var _3d=_14(arguments,0),fn=_3d.shift(),_3f=_3d.shift();return function(){return fn.apply(_3f,_3d.concat(_14(arguments,0)));};},_40=function(un,obj,evt,fn){if(!obj){return;}if(we){obj[(un?"detach":"attach")+"Event"]("on"+evt,fn);}else{obj[(un?"remove":"add")+"EventListener"](evt,fn,false);}},_45=function(obj,evt,fn){_40(0,obj,evt,fn);},_49=function(obj,evt,fn){_40(1,obj,evt,fn);},_4d={reduce:_a,slice:_14,strip:_16,extend:_18,toKV:_26,rtoKV:_20,fromKV:_34,rfromKV:_2c,bind:_3c,listen:_45,unlisten:_49};_7.util=_4d;_18(_7,_4d);(function(_4e,_4f,env){var _51,u=_4e.util;function PolyEvent(_53,_54,_55,_56,_57){this.type=_53;this.triggerType=_54||_53;this.target=_55||_56;this.triggerTarget=_56||_55;this.data=_57||{};}u.extend(PolyEvent.prototype,{constructor:PolyEvent,bubbles:false,preventDefault:u.noop,stopPropagation:u.noop,clone:function(){return new this.constructor(this.type,this.triggerType,this.target,this.triggerTarget,u.extend({},this.data));}});function EventDispatcher(_58,_59){this.target=_58;this.queues={};this.defaultEventType=_59||PolyEvent;}function getQueue(evt){var Qs=this.queues;if(!Qs[evt]){Qs[evt]=[];}return Qs[evt];}function addEventListener(evt,fn){this.getQueue(evt).push(fn);}function removeEventListener(evt,fn){var q=this.getQueue(evt),idx=q.indexOf(fn);if(idx!==-1){q.splice(idx,1);}}function fire(_62,_63,_64,_65){var _66=this;if(!_65){setTimeout(function(){_66.dispatchEvent(new _66.defaultEventType(_62,_62,_63,_66.target,_64));},10);}else{_66.dispatchEvent(new _66.defaultEventType(_62,_62,_63,_66.target,_64));}}function dispatchEvent(evt){for(var i=0,_69=evt.target,q=this.getQueue(evt.type),L=q.length;i<L;i++){q[i].call(_69,evt.clone());}}function decorate(_6c){if(!_6c){return;}for(var k in _6e){_6c[k]=u.bind(_6e[k],this);}return _6c;}var _6e={constructor:EventDispatcher,getQueue:getQueue,addEventListener:addEventListener,removeEventListener:removeEventListener,dispatchEvent:dispatchEvent,fire:fire,decorate:decorate};u.extend(EventDispatcher.prototype,_6e);_4e.event={PolyEvent:PolyEvent,EventDispatcher:EventDispatcher};})(_7,_7.api,_7);_7.ed=new _7.event.EventDispatcher(_7);var _6f={isBound:0,isReady:0,readyList:[],onReady:function(){if(!_6f.isReady){_6f.isReady=1;var l=_6f.readyList.concat(window.addthis_onload||[]);for(var fn=0;fn<l.length;fn++){l[fn].call(window);}_6f.readyList=[];}},addLoad:function(_72){var o=w.onload;if(typeof w.onload!="function"){w.onload=_72;}else{w.onload=function(){if(o){o();}_72();};}},bindReady:function(){if(r.isBound||_atc.xol){return;}r.isBound=1;if(d.addEventListener&&!b.opr){d.addEventListener("DOMContentLoaded",r.onReady,false);}var apc=window.addthis_product;if(apc&&apc.indexOf("f")>-1){r.onReady();return;}if(b.msi&&!b.ie9&&window==top){(function(){if(r.isReady){return;}try{d.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}r.onReady();})();}if(b.opr){d.addEventListener("DOMContentLoaded",function(){if(r.isReady){return;}for(var i=0;i<d.styleSheets.length;i++){if(d.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}}r.onReady();},false);}if(b.saf){var _76;(function(){if(r.isReady){return;}if(d.readyState!="loaded"&&d.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(_76===undefined){var _78=d.gn("link");for(var i=0;i<_78.length;i++){if(_78[i].getAttribute("rel")=="stylesheet"){_76++;}}var _7a=d.gn("style");_76+=_7a.length;}if(d.styleSheets.length!=_76){setTimeout(arguments.callee,0);return;}r.onReady();})();}r.addLoad(r.onReady);},append:function(fn,_7c){r.bindReady();if(r.isReady){fn.call(window,[]);}else{r.readyList.push(function(){return fn.call(window,[]);});}}},r=_6f,a=_7;_18(_7,{plo:[],lad:function(x){_7.plo.push(x);}});(function(_7f,_80,env){var w=window;_7f.pub=function(){return _euc((window.addthis_config||{}).pubid||(window.addthis_config||{}).username||window.addthis_pub||"");};_7f.usu=function(url,f){if(!w.addthis_share){w.addthis_share={};}if(f||url!=addthis_share.url){addthis_share.imp_url=0;}};_7f.rsu=function(){var d=document,dt=d.title,du=d.location?d.location.href:"";if(_atc.ver>=250&&addthis_share.imp_url&&du&&du!=w.addthis_share.url&&!(_7.util.ivc((d.location.hash||"").substr(1).split(",").shift()))){w.addthis_share.url=w.addthis_url=du;w.addthis_share.title=w.addthis_title=dt;return 1;}return 0;};_7f.igv=function(u,t){if(!w.addthis_config){w.addthis_config={username:w.addthis_pub};}else{if(addthis_config.data_use_cookies===false){_atc.xck=1;}}if(!w.addthis_share){w.addthis_share={};}if(!addthis_share.url){if(!w.addthis_url&&addthis_share.imp_url===undefined){addthis_share.imp_url=1;}addthis_share.url=(w.addthis_url||u||"").split("#{").shift();}if(!addthis_share.title){addthis_share.title=(w.addthis_title||t||"").split("#{").shift();}};if(!_atc.ost){if(!w.addthis_conf){w.addthis_conf={};}for(var i in addthis_conf){_atc[i]=addthis_conf[i];}_atc.ost=1;}})(_7,_7.api,_7);(function(_8b,_8c,env){var _8e,d=document,u=_8b.util;_8b.ckv=u.fromKV(d.cookie,";");function read(k){return u.fromKV(d.cookie,";")[k];}if(!_8b.cookie){_8b.cookie={};}_8b.cookie.rck=read;})(_7,_7.api,_7);(function(_91,_92,env){var _94,d=document,_95=0,u=_91.util;function canWeWrite(){if(_95){return 1;}set("xtc",1);if(1==_91.cookie.rck("xtc")){_95=1;}kill("xtc",1);return _95;}function checkForGovSite(_97){if(_atc.xck){return;}var h=_97||_7.dh||_7.du||(_7.dl?_7.dl.hostname:"");if(h.indexOf(".gov")>-1||h.indexOf(".mil")>-1){_atc.xck=1;}var p=typeof(_91.pub)==="function"?_91.pub():_91.pub,x=["usarmymedia","govdelivery"];for(i in x){if(p==x[i]){_atc.xck=1;break;}}}function kill(k,ud){if(d.cookie){d.cookie=k+"=; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/"+(ud?"; domain="+(_91.bro.msi?"":".")+"addthis.com":"");}}function set(u,v,s,nd,_a1){checkForGovSite();if(!_atc.xck){if(!_a1){var _a1=new Date();_a1.setYear(_a1.getFullYear()+2);}document.cookie=u+"="+v+(!s?"; expires="+_a1.toUTCString():"")+"; path=/;"+(!nd?" domain="+(_91.bro.msi?"":".")+"addthis.com":"");}}if(!_91.cookie){_91.cookie={};}_91.cookie.sck=set;_91.cookie.kck=kill;_91.cookie.cww=canWeWrite;_91.cookie.gov=checkForGovSite;})(_7,_7.api,_7);(function(_a2,_a3,env){function getUniqueBits(){var ua=munge(navigator.userAgent,16),up=((new Date()).getTimezoneOffset())+""+navigator.javaEnabled()+(navigator.userLanguage||navigator.language),up2=window.screen.colorDepth+""+window.screen.width+window.screen.height+window.screen.availWidth+window.screen.availHeight,_a8=navigator.plugins,_a9=_a8.length;if(_a9>0){for(var i=0;i<Math.min(10,_a9);i++){if(i<5){up+=_a8[i].name+_a8[i].description;}else{up2+=_a8[i].name+_a8[i].description;}}}return ua.substr(0,2)+munge(up,16).substr(0,3)+munge(up2,16).substr(0,3);}function munge(s,_ac){var mv=291;if(s){for(var i=0;i<s.length;i++){mv=(mv*(s.charCodeAt(i)+i)+3)&1048575;}}return(mv&16777215).toString(_ac||32);}_a2.mun=munge;_a2.gub=getUniqueBits;})(_7,_7.api,_7);(function(_af,_b0,env){var _b2,u=_af.util,max=4294967295,_b5=new Date().getTime();function generateCuid(){return((_b5/1000)&max).toString(16)+("00000000"+(Math.floor(Math.random()*(max+1))).toString(16)).slice(-8);}function getDateFromCuid(_b6){return isValidCuid(_b6)?(new Date((parseInt(_b6.substr(0,8),16)*1000))):new Date();}function isCuidInFuture(_b7){var d=getDateFromCuid();return((d.getTime()-1000*86400)>(new Date()).getTime());}function isCuidOlderThan(_b9,_ba){var d=getDateFromCuid(_b9);return(((new Date()).getTime()-d.getTime())>_ba*1000);}function isValidCuid(_bc){return _bc&&_bc.match(/^[0-9a-f]{16}$/)&&!isCuidInFuture(_bc);}u.cuid=generateCuid;u.ivc=isValidCuid;u.ioc=isCuidOlderThan;})(_7,_7.api,_7);(function(_bd,_be,env){function getHashParams(s,qs){var q=s.indexOf("#")>-1&&!qs?s.replace(/^[^\#]+\#?/,""):s.replace(/^[^\?]+\??/,""),p=_bd.util.fromKV(q);return p;}function getScriptParams(_c4){var ss=document.gn("script"),_c6=ss.length,s=ss[_c6-1],p=getHashParams(s.src);if(_c4||(s.src&&s.src.indexOf("addthis")==-1)){for(var i=0;i<_c6;i++){if((ss[i].src||"").indexOf(_c4||"addthis.com")>-1){p=getHashParams(ss[i].src);break;}}}return p;}if(!_bd.util){_bd.util={};}_bd.util.gsp=getScriptParams;_bd.util.ghp=getHashParams;})(_7,_7.api,_7);(function(_ca,_cb,env){var u=_ca.util,_ce="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=";function hexToBase64(_cf){var _d0="",_d1,_d2,_d3,_d4,_d5,i=0;if(/[0-9a-fA-F]+/.test(_cf)){while(i<_cf.length){_d1=parseInt(_cf.charAt(i++),16);_d2=parseInt(_cf.charAt(i++),16);_d3=parseInt(_cf.charAt(i++),16);_d4=(_d1<<2)|(isNaN(_d3)?_d2&3:(_d2>>2));_d5=((_d2&3)<<4)|_d3;_d0+=_ce.charAt(_d4)+(isNaN(_d3)?"":_ce.charAt(_d5));}}else{}return _d0;}function base64ToHex(_d7){var _d8="",_d9,_da,_db,_dc,_dd,i=0;while(i<_d7.length){_dc=_ce.indexOf(_d7.charAt(i++));_dd=i>=_d7.length?NaN:_ce.indexOf(_d7.charAt(i++));_d9=_dc>>2;_da=isNaN(_dd)?(_dc&3):(((_dc&3)<<2)|(_dd>>4));_db=_dd&15;_d8+=_d9.toString(16)+_da.toString(16)+(isNaN(_dd)?"":_db.toString(16));}return _d8;}u.hbtoa=hexToBase64;u.atohb=base64ToHex;})(_7,_7.api,_7);(function(_df,_e0,env){var a=_df,_e3=new Date().getTime(),ran=function(){return Math.floor(Math.random()*4294967295).toString(36);},off=function(){return Math.floor((new Date().getTime()-_e3)/100).toString(16);},sid=0,_e7=function(f){if(sid===0){a.sid=sid=(f||a.util.cuid());}return sid;},_e9=null,sxm=function(b,xmi){if(_e9!==null){clearTimeout(_e9);}if(b){_e9=setTimeout(function(){xmi(false);},_7.wait);}},fcv=function(k,v){return _euc(k)+"="+_euc(v)+";"+off();},seq=1,_f1=function(url,f){var u=(url||"").split("?"),url=u.shift(),_f5=(u.pop()||"").split("&");return f(url,_f5);},_f6=function(url,_f8,_f9,svc){if(!_f8){_f8={};}if(!_f8.remove){_f8.remove=[];}_f8.remove.push("sms_ss");_f8.remove.push("at_xt");_f8.remove.push("fb_ref");_f8.remove.push("fb_source");if(_f8.remove){url=_fb(url,_f8.remove);}if(_f8.clean){url=_fc(url);}if(_f8.defrag){url=_fd(url);}if(_f8.add){url=_fe(url,_f8.add,_f9,svc);}return url;},_fe=function(url,_100,_101,_102){var _103={};if(_100){for(var k in _100){if(url.indexOf(k+"=")>-1){continue;}_103[k]=_105(_100[k],url,_101,_102);}_100=_7.util.toKV(_103);}return url+(_100.length?((url.indexOf("?")>-1?"&":"?")+_100):"");},_105=function(s,url,_108,_109){var _108=_108||addthis_share;return s.replace(/{{service}}/g,_euc(_109||"")).replace(/{{code}}/g,_euc(_109||"")).replace(/{{title}}/g,_euc(_108.title)).replace(/{{url}}/g,_euc(url));},_fb=function(url,_10b){var _10c={},_10b=_10b||[];for(var i=0;i<_10b.length;i++){_10c[_10b[i]]=1;}return _f1(url,function(url,_10f){var _110=[];if(_10f){for(var i in _10f){if(typeof(_10f[i])=="string"){var kv=(_10f[i]||"").split("=");if(kv.length!=2&&_10f[i]){_110.push(_10f[i]);}else{if(_10c[kv[0]]){continue;}else{if(_10f[i]){_110.push(_10f[i]);}}}}}url+=(_110.length?("?"+_110.join("&")):"");}return url;});},_113=function(url){var frag=url.split("#").pop().split(",").shift().split("=").pop();if(_7.util.ivc(frag)){return url.split("#").pop().split(",");}return[""];},_fd=function(url){var frag=_113(url).shift().split("=").pop();if(_7.util.ivc(frag)){return url.split("#").shift();}else{frag=url.split("#").slice(1).join("#");if(frag.length==12&&frag.substr(0,1)=="."&&/[a-zA-Z0-9\-_]{11}/.test(frag.substr(1))){return url.split("#").shift();}}return url;},_fc=function(url){return _f1(url,function(url,_11a){var jidx=url.indexOf(";jsessionid"),_11c=[];if(jidx>-1){url=url.substr(0,jidx);}if(_11a){for(var i in _11a){if(typeof(_11a[i])=="string"){var kv=(_11a[i]||"").split("=");if(kv.length==2){if(kv[0].indexOf("utm_")===0||kv[0]=="gclid"||kv[0]=="sms_ss"||kv[0]=="at_xt"||kv[0]=="fb_ref"||kv[0]=="fb_source"){continue;}}if(_11a[i]){_11c.push(_11a[i]);}}}url+=(_11c.length?("?"+_11c.join("&")):"");}return url;});},sta=function(){var pub=(typeof(a.pub||"")=="function"?a.pub():a.pub)||"unknown";return"AT-"+pub+"/-/"+a.ab+"/"+_e7()+"/"+(seq++)+(a.uid!==null?"/"+a.uid:"");};if(!_7.track){_7.track={};}_df.util.extend(_7.track,{fcv:fcv,ran:ran,rup:_fb,aup:_fe,cof:_fd,gof:_113,clu:_fc,mgu:_f6,ssid:_e7,sta:sta,sxm:sxm});})(_7,_7.api,_7);(function(_121,_122,env){var _124=".",_125=_124.length,_126=0,_127={wpp:1,blg:1};function extractOurParameters(dl,dr){if(!dl){dl=document.location;}if(!dr){dr=d.referer||d.referrer||"";}var rxi,rsi,rsiq,rsc,fuid,_12f=0,du=dl?dl.href:"",_131=(du||"").split("#").shift(),hash=(du||"").split("#").pop(),_133=_7.util.ghp(du,1),_134=_7.util.ghp(du);_12f=0,at_st=_134.at_st,rsc=_133.sms_ss,fb_ref=_133.fb_ref,at_xt=_133.at_xt,q_at_st=_133.at_st;if(fb_ref){var _135=fb_ref.split("=").pop().split("_");if(_135.length==2&&_7.util.ivc(_135[0])){at_xt=_135.join(",");rsc="facebook_like";}}if(!at_st){if(hash.length==(11+_125)&&(hash.substr(0,_125)==_124)&&/[a-zA-Z0-9\-_]{11}/.test(hash.substr(_125))){var key=_7.util.atohb(hash.substr(_125));fuid=key.substr(8,8);at_st=key.substr(0,8)+"00000000,";at_st+=parseInt(key.substr(16),10);}}at_st=at_st&&_7.util.ivc(at_st.split(",").shift())?at_st:"";if(at_st){_12f=parseInt(at_st.split(",").pop())+1;rsi=at_st.split(",").shift();}else{if(du.indexOf(_atd+"book")==-1&&_131!=dr){var cvt=[],sm;if(at_xt){sm=at_xt.split(",");rxi=_duc(sm.shift());if(rxi.indexOf(",")>-1){sm=rxi.split(",");rxi=sm.shift();}}else{if(q_at_st){sm=q_at_st.split(",");rsiq=_duc(sm.shift());if(rsiq.indexOf(",")>-1){sm=rsiq.split(",");rsiq=sm.shift();}}}if(sm&&sm.length){_12f=Math.min(3,parseInt(sm.pop())+1);}}}if(!_7.util.ivc(rsi)){rsi=null;}if(!_7.util.ivc(rsiq)){rsiq=null;}return{rsi:rsi,rsiq:rsiq,fuid:fuid,rxi:rxi,rsc:rsc,gen:_12f};}function clickTrackableProduct(_139,_13a){if(!_13a||(_13a.data_track_clickback!==false&&_13a.data_track_linkback!==false)){if(_126){return true;}_139=(_139||window.addthis_product||"").split(",");for(var i=0;i<_139.length;i++){if(_127[_139[i].split("-").shift()]){return(_126=true);}}}return false;}_7.extend(_7.track,{cpf:_124,ctp:clickTrackableProduct,eop:extractOurParameters});})(_7,_7.api,_7);(function(){var d=document,a=_7,cvt=[],avt=null,qtp=[],xtp=function(){var p;while(p=qtp.pop()){trk(p);}},pcs=[],spc=null,apc=function(c){c=c.split("-").shift();for(var i=0;i<pcs.length;i++){if(pcs[i]==c){return;}}pcs.push(c);},gat=function(){},atf=null,_14a=function(){var div=d.getElementById("_atssh");if(!div){div=d.ce("div");div.style.visibility="hidden";div.id="_atssh";a.opp(div.style);d.body.insertBefore(div,d.body.firstChild);}return div;},ctf=function(url){var ifr,r=Math.floor(Math.random()*1000),div=_14a();if(!a.bro.msi){ifr=d.ce("iframe");ifr.id="_atssh"+r;ifr.title="AddThis utility frame";}else{if(a.bro.ie6&&!url&&d.location.protocol.indexOf("https")==0){url="javascript:''";}div.innerHTML="<iframe id=\"_atssh"+r+"\" width=\"1\" height=\"1\" title=\"AddThis utility frame\" name=\"_atssh"+r+"\" "+(url?"src=\""+url+"\"":"")+">";ifr=d.getElementById("_atssh"+r);}a.opp(ifr.style);ifr.frameborder=ifr.style.border=0;ifr.style.top=ifr.style.left=0;return ifr;},_150=function(e){var _152=300;if(e&&e.data&&e.data.service){if(a.dcp>=_152){return;}trk({gen:_152,sh:e.data.service});a.dcp=_152;}},_153=function(evt){var t={},data=evt.data||{},svc=data.svc,pco=data.pco,_159=data.cmo,_15a=data.crs,_15b=data.cso;if(svc){t.sh=svc;}if(_159){t.cm=_159;}if(_15b){t.cs=1;}if(_15a){t.cr=1;}if(pco){t.spc=pco;}img("sh","3",null,t);},trk=function(t){var dr=a.dr,rev=(a.rev||"");if(!t){return;}t.xck=_atc.xck?1:0;t.xxl=1;t.sid=a.track.ssid();t.pub=a.pub();t.ssl=a.ssl||0;t.du=a.tru(a.du||a.dl.href);if(a.dt){t.dt=a.dt;}if(a.cb){t.cb=a.cb;}t.lng=a.lng();t.ver=_atc.ver;if(!a.upm&&a.uid){t.uid=a.uid;}t.pc=t.spc||pcs.join(",");if(dr){t.dr=a.tru(dr);}if(a.dh){t.dh=a.dh;}if(rev){t.rev=rev;}if(a.xfr){if(a.upm){if(atf){atf.contentWindow.postMessage(_26(t),"*");}}else{var div=_14a(),base="static/r07/sh43.html"+(false?"?t="+new Date().getTime():"");if(atf){div.removeChild(div.firstChild);}atf=ctf();atf.src=_atr+base+"#"+_26(t);div.appendChild(atf);}}else{qtp.push(t);}},img=function(i,c,x,obj,_166){if(!window.at_sub&&!_atc.xtr){var t=obj||{};t.evt=i;if(x){t.ext=x;}avt=t;if(_166===1){xmi(true);}else{a.track.sxm(true,xmi);}}},cev=function(k,v){cvt.push(a.track.fcv(k,v));a.track.sxm(true,xmi);},xmi=function(_16c){var h=a.dl?a.dl.hostname:"";if(cvt.length>0||avt){a.track.sxm(false,xmi);if(_atc.xtr){return;}var t=avt||{};t.ce=cvt.join(",");cvt=[];avt=null;trk(t);if(_16c){var i=d.ce("iframe");i.id="_atf";_7.opp(i.style);d.body.appendChild(i);i=d.getElementById("_atf");}}};a.ed.addEventListener("addthis-internal.compact",_153);a.ed.addEventListener("addthis.menu.share",_150);if(!a.track){a.track={};}a.util.extend(a.track,{pcs:pcs,apc:apc,cev:cev,ctf:ctf,gtf:_14a,qtp:function(p){qtp.push(p);},stf:function(f){atf=f;},trk:trk,xtp:xtp});})();_18(_7,{_rec:[],xfr:!_7.upm||!_7.bro.ffx,pmh:function(e){if(e.origin.slice(-12)==".addthis.com"){if(!e.data){return;}var data=_34(e.data),r=_7._rec;for(var n=0;n<r.length;n++){r[n](data);}}}});_18(_7,{lng:function(){return window.addthis_language||(window.addthis_config||{}).ui_language||(_7.bro.msi?navigator.userLanguage:navigator.language)||"en";},iwb:function(l){var wd={th:1,pl:1,sl:1,gl:1,hu:1,is:1,nb:1,se:1,su:1,sw:1};return!!wd[l];},gfl:function(l){var map={ca:"es",cs:"CZ",cy:"GB",da:"DK",de:"DE",eu:"ES",ck:"US",en:"US",es:"LA",fb:"FI",gl:"ES",ja:"JP",ko:"KR",nb:"NO",nn:"NO",sv:"SE",ku:"TR",zh:"CN","zh-tr":"CN","zh-hk":"HK","zh-tw":"TW",fo:"FO",fb:"LT",af:"ZA",sq:"AL",hy:"AM",be:"BY",bn:"IN",bs:"BA",nl:"NL",et:"EE",fr:"FR",ka:"GE",el:"GR",gu:"IN",hi:"IN",ga:"IE",jv:"ID",kn:"IN",kk:"KZ",la:"VA",li:"NL",ms:"MY",mr:"IN",ne:"NP",pa:"IN",pt:"PT",rm:"CH",sa:"IN",sr:"RS",sw:"KE",tl:"PH",ta:"IN",pl:"PL",tt:"RU",te:"IN",ml:"IN",uk:"UA",vi:"VN",tr:"TR",xh:"ZA",zu:"ZA",km:"KH",tg:"TJ",he:"IL",ur:"PK",fa:"IR",yi:"DE",gn:"PY",qu:"PE",ay:"BO",se:"NO",ps:"AF",tl:"ST"},rv=map[l]||map[l.split("-").shift()];if(rv){return l.split("-").shift()+"_"+rv;}else{return"en_US";}},ivl:function(l){var lg={af:1,afr:"af",ar:1,ara:"ar",az:1,aze:"az",be:1,bye:"be",bg:1,bul:"bg",bn:1,ben:"bn",bs:1,bos:"bs",ca:1,cat:"ca",cs:1,ces:"cs",cze:"cs",cy:1,cym:"cy",da:1,dan:"da",de:1,deu:"de",ger:"de",el:1,gre:"el",ell:"ell",en:1,eo:1,es:1,esl:"es",spa:"spa",et:1,est:"et",eu:1,fa:1,fas:"fa",per:"fa",fi:1,fin:"fi",fo:1,fao:"fo",fr:1,fra:"fr",fre:"fr",ga:1,gae:"ga",gdh:"ga",gl:1,glg:"gl",gu:1,he:1,heb:"he",hi:1,hin:"hin",hr:1,ht:1,cro:"hr",hu:1,hun:"hu",id:1,ind:"id",is:1,ice:"is",it:1,ita:"it",ja:1,jpn:"ja",ko:1,kor:"ko",ku:1,lb:1,ltz:"lb",lt:1,lit:"lt",lv:1,lav:"lv",mk:1,mac:"mk",mak:"mk",ml:1,mn:1,ms:1,msa:"ms",may:"ms",nb:1,nl:1,nla:"nl",dut:"nl",no:1,nds:1,nn:1,nno:"no",oc:1,oci:"oc",pl:1,pol:"pl",ps:1,pt:1,por:"pt",ro:1,ron:"ro",rum:"ro",ru:1,rus:"ru",sk:1,slk:"sk",slo:"sk",sl:1,slv:"sl",sq:1,alb:"sq",sr:1,se:1,si:1,ser:"sr",su:1,sv:1,sve:"sv",sw:1,swe:"sv",ta:1,tam:"ta",te:1,teg:"te",th:1,tha:"th",tl:1,tgl:"tl",tn:1,tr:1,tur:"tr",tt:1,uk:1,ukr:"uk",ur:1,urd:"ur",vi:1,vec:1,vie:"vi","zh-hk":1,"chi-hk":"zh-hk","zho-hk":"zh-hk","zh-tr":1,"chi-tr":"zh-tr","zho-tr":"zh-tr","zh-tw":1,"chi-tw":"zh-tw","zho-tw":"zh-tw",zh:1,chi:"zh",zho:"zh"};if(lg[l]){return lg[l];}l=l.split("-").shift();if(lg[l]){if(lg[l]===1){return l;}else{return lg[l];}}return 0;},gvl:function(l){var rv=_7.ivl(l)||"en";if(rv===1){rv=l;}return rv;},alg:function(al,f){var l=_7.gvl((al||_7.lng()).toLowerCase());if(l.indexOf("en")!==0&&(!_7.pll||f)){_7.pll=_7.ajs("static/r07/lang10/"+l+".js");}}});_18(_7,{trim:function(s,e){try{s=s.replace(/^[\s\u3000]+|[\s\u3000]+$/g,"");if(e){s=_euc(s);}}catch(e){}return s||"";},trl:[],tru:function(u,k){var rv="",_186=0,_187=-1;if(u){rv=u.substr(0,300);if(rv!==u){if((_187=rv.lastIndexOf("%"))>=rv.length-4){rv=rv.substr(0,_187);}if(rv!=u){for(var i in _7.trl){if(_7.trl[i]==k){_186=1;}}if(!_186){_7.trl.push(k);}}}}return rv;},opp:function(st){st.width=st.height="1px";st.position="absolute";st.zIndex=100000;},jlr:{},ajs:function(name,_18b){if(!_7.jlr[name]){var o=d.ce("script"),head=d.gn("head")[0]||d.documentElement;o.setAttribute("type","text/javascript");o.src=(_18b?"":_atr)+name;head.insertBefore(o,head.firstChild);_7.jlr[name]=1;return o;}return 1;},jlo:function(){try{var a=_7,al=a.lng(),aig=function(src){var img=new Image();_7.imgz.push(img);img.src=src;};a.alg(al);if(!a.pld){if(a.bro.ie6){aig(_atr+a.spt);aig(_atr+"static/t00/logo1414.gif");aig(_atr+"static/t00/logo88.gif");if(window.addthis_feed){aig("static/r05/feed00.gif",1);}}if(a.pll&&!window.addthis_translations){setTimeout(function(){a.pld=a.ajs("static/r07/menu75.js");},10);}else{a.pld=a.ajs("static/r07/menu75.js");}}}catch(e){}},ao:function(elt,pane,iurl,_196,_197,_198){_7.lad(["open",elt,pane,iurl,_196,_197,_198]);_7.jlo();return false;},ac:function(){},as:function(s,cf,sh){_7.lad(["send",s,cf,sh]);_7.jlo();}});(function(_19c,_19d,env){var d=document,_1a0=1,_1a1=["cbea","kkk","zvys","phz"],i=_1a1.length,_1a3={};function rot(s){return s.replace(/[a-zA-Z]/g,function(c){return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);});}while(i--){_1a3[rot(_1a1[i])]=1;}function classifyString(s){var c=0;if(!s||typeof(s)!="string"){return c;}s=((s||"").toLowerCase()+"").replace(/[^a-zA-Z]/g," ").split(" ");for(var i=0,_1a9=s.length;i<_1a9;i++){if(_1a3[s[i]]){c|=_1a0;return c;}}return c;}function classify(){var _1aa=(w.addthis_title||d.title),_1ab=classifyString(_1aa),_1ac=d.all?d.all.tags("META"):d.getElementsByTagName?d.getElementsByTagName("META"):new Array(),j=(_1ac||"").length;if(_1ac&&j){while(j--){var m=_1ac[j]||{},n=(m.name||"").toLowerCase(),c=m.content;if(n=="description"||n=="keywords"){_1ab|=classifyString(c);}}}return _1ab;}if(!_19c.ad){_19c.ad={};}_7.extend(_19c.ad,{cla:classify});})(_7,_7.api,_7);(function(_1b1,_1b2,env){var _1b4,d=document,u=_1b1.util,_1b6=_1b1.event.EventDispatcher,_1b7=25,_1b8=[];function ApiQueueFactory(name,fn,cxt){var _1bc=[];function _1bc(){_1bc.push(arguments);}function ready(){cxt[name]=fn;while(_1bc.length){fn.apply(cxt,_1bc.shift());}}_1bc.ready=ready;return _1bc;}function monitor(_1bd){if(_1bd&&_1bd instanceof Resource){_1b8.push(_1bd);}for(var i=0;i<_1b8.length;){var _1bf=_1b8[i];if(_1bf&&_1bf.test()){_1b8.splice(i,1);Resource.fire("load",_1bf,{resource:_1bf});}else{i++;}}if(_1b8.length){setTimeout(monitor,_1b7);}}function Resource(id,url,test){var self=this,hub=new _1b6(self);hub.decorate(hub).decorate(self);this.ready=false;this.loading=false;this.id=id;this.url=url;if(typeof(test)==="function"){this.test=test;}else{this.test=function(){return(!!_window[test]);};}Resource.addEventListener("load",function(evt){var r=evt.resource;if(!r||r.id!==self.id){return;}self.loading=false;self.ready=true;hub.fire(evt.type,r,{resource:r});});}u.extend(Resource.prototype,{load:function(){if(!this.loading){var l;if(this.url.substr(this.url.length-4)==".css"){var head=(d.gn("head")[0]||d.documentElement);l=d.ce("link");l.rel="stylesheet";l.type="text/css";l.href=this.url;l.media="all";head.insertBefore(l,head.firstChild);}else{l=_7.ajs(this.url,1);}this.loading=true;Resource.monitor(this);return l;}else{return 1;}}});var _1c9=new _1b6(Resource);_1c9.decorate(_1c9).decorate(Resource);u.extend(Resource,{known:{},loading:_1b8,monitor:monitor});_1b1.resource={Resource:Resource,ApiQueueFactory:ApiQueueFactory};})(_7,_7.api,_7);(function(_1ca,_1cb,env){var d=document,a=_1ca,_1ce=function(){var _1cf=d.gn("link"),rv={};for(var i=0;i<_1cf.length;i++){var l=_1cf[i];if(l.href&&l.rel){rv[l.rel]=l.href;}}return rv;},_1d3=_1ce(),_1d4=function(){var p=d.location.protocol;if(p=="file:"){p="http:";}return p+"//"+_atd;},srd=function(){if(a.dr){return"&pre="+_euc(a.track.cof(a.dr));}else{return"";}},_1d7=function(svc,feed,_1da,_1db){return _1d4()+(feed?"feed.php":(svc=="email"&&_atc.ver>=300?"tellfriend.php":"bookmark.php"))+"?v="+(_atc.ver)+"&winname=addthis&"+uadd(svc,feed,_1da,_1db)+srd()+"&tt=0"+(svc==="more"&&a.bro.ipa?"&imore=1":"");},uadd=function(svc,feed,_1df,_1e0){var t=a.trim,d=window,pub=a.pub(),w=window._atw||{},u=(_1df&&_1df.url?_1df.url:(w.share&&w.share.url?w.share.url:(d.addthis_url||d.location.href))),acs,hc=function(s){if(u&&u!=""){var i=u.indexOf("#at"+s);if(i>-1){u=u.substr(0,i);}}};if(!_1e0){_1e0=w.conf||{};}else{for(var k in w.conf){if(!(_1e0[k])){_1e0[k]=w.conf[k];}}}if(!_1df){_1df=w.share||{};}else{for(var k in w.share){if(!(_1df[k])){_1df[k]=w.share[k];}}}if(a.rsu()){_1df.url=window.addthis_url;_1df.title=window.addthis_title;u=_1df.url;}if(!pub||pub=="undefined"){pub="unknown";}acs=_1e0.services_custom;hc("pro");hc("opp");hc("cle");hc("clb");hc("abc");if(u.indexOf("addthis.com/static/r07/ab")>-1){u=u.split("&");for(var i=0;i<u.length;i++){var p=u[i].split("=");if(p.length==2){if(p[0]=="url"){u=p[1];break;}}}}if(acs instanceof Array){for(var i=0;i<acs.length;i++){if(acs[i].code==svc){acs=acs[i];break;}}}var tmp=((_1df.templates&&_1df.templates[svc])?_1df.templates[svc]:""),_1ec=((_1df.modules&&_1df.modules[svc])?_1df.modules[svc]:""),_1ed=_1df.share_url_transforms||_1df.url_transforms||{},_1ee=_1df.track_url_transforms||_1df.url_transforms,_1ef=((_1ed&&_1ed.shorten&&_1df.shorteners)?(typeof(_1ed.shorten)=="string"?_1ed.shorten:(_1ed.shorten[svc]||_1ed.shorten["default"]||"")):""),_1f0="",prc=(_1e0.product||d.addthis_product||("men-"+_atc.ver)),crs=w.crs,_1f3="",_1f4=a.track.gof(u),rsi=_1f4.length==2?_1f4.shift().split("=").pop():"",gen=_1f4.length==2?_1f4.pop():"";if(_1df.email_vars){for(var k in _1df.email_vars){_1f3+=(_1f3==""?"":"&")+_euc(k)+"="+_euc(_1df.email_vars[k]);}}if(a.track.spc&&prc.indexOf(a.track.spc)==-1){prc+=","+a.track.spc;}if(_1ed&&_1ed.shorten&&_1df.shorteners){for(var k in _1df.shorteners){for(var kk in _1df.shorteners[k]){_1f0+=(_1f0.length?"&":"")+_euc(k+"."+kk)+"="+_euc(_1df.shorteners[k][kk]);}}}u=a.track.cof(u);u=a.track.mgu(u,_1ed,_1df,svc);if(_1ee){_1df.trackurl=a.track.mgu(_1df.trackurl||u,_1ee,_1df,svc);}var rv="pub="+pub+"&source="+prc+"&lng="+(a.lng()||"xx")+"&s="+svc+(_1e0.ui_508_compliant?"&u508=1":"")+(feed?"&h1="+t((_1df.feed||_1df.url).replace("feed://",""),1)+"&t1=":"&url="+t(u,1)+"&title=")+t(_1df.title||d.addthis_title,1)+(_atc.ver<200?"&logo="+t(d.addthis_logo,1)+"&logobg="+t(d.addthis_logo_background,1)+"&logocolor="+t(d.addthis_logo_color,1):"")+"&ate="+a.track.sta()+((window.addthis_ssh&&(!crs||addthis_ssh!=crs)&&(addthis_ssh==svc||addthis_ssh.search(new RegExp("(?:^|,)("+svc+")(?:$|,)"))>-1))?"&ips=1":"")+(crs?"&cr="+(svc==crs?1:0):"")+"&uid="+_euc(a.uid&&a.uid!="x"?a.uid:a.util.cuid())+(_1df.email_template?"&email_template="+_euc(_1df.email_template):"")+(_1f3?"&email_vars="+_euc(_1f3):"")+(_1ef?"&shortener="+_euc(typeof(_1ef)=="array"?_1ef.join(","):_1ef):"")+(_1ef&&_1f0?"&"+_1f0:"")+((_1df.passthrough||{})[svc]?"&passthrough="+t((typeof(_1df.passthrough[svc])=="object"?a.util.toKV(_1df.passthrough[svc]):_1df.passthrough[svc]),1):"")+(_1df.description?"&description="+t(_1df.description,1):"")+(_1df.html?"&html="+t(_1df.html,1):(_1df.content?"&html="+t(_1df.content,1):""))+(_1df.trackurl&&_1df.trackurl!=u?"&trackurl="+t(_1df.trackurl,1):"")+(_1df.screenshot?"&screenshot="+t(_1df.screenshot,1):"")+(_1df.swfurl?"&swfurl="+t(_1df.swfurl,1):"")+(a.cb?"&cb="+a.cb:"")+(a.ufbl?"&ufbl=1":"")+(_1df.iframeurl?"&iframeurl="+t(_1df.iframeurl,1):"")+(_1df.width?"&width="+_1df.width:"")+(_1df.height?"&height="+_1df.height:"")+(_1e0.data_track_p32?"&p32="+_1e0.data_track_p32:"")+(_1e0.data_track_clickback||_1e0.data_track_linkback||!pub||pub=="AddThis"||_7.track.ctp(_1e0.product,_1e0)?"&sms_ss=1&at_xt=1":"")+((acs&&acs.url)?"&acn="+_euc(acs.name)+"&acc="+_euc(acs.code)+"&acu="+_euc(acs.url):"")+(a.smd?(a.smd.rxi?"&rxi="+a.smd.rxi:"")+(a.smd.rsi?"&rsi="+a.smd.rsi:"")+(a.smd.gen?"&gen="+a.smd.gen:""):((rsi?"&rsi="+rsi:"")+(gen?"&gen="+gen:"")))+(_1df.xid?"&xid="+t(_1df.xid,1):"")+(tmp?"&template="+t(tmp,1):"")+(_1ec?"&module="+t(_1ec,1):"")+(_1e0.ui_cobrand?"&ui_cobrand="+t(_1e0.ui_cobrand,1):"")+(_1e0.ui_header_color?"&ui_header_color="+t(_1e0.ui_header_color,1):"")+(_1e0.ui_header_background?"&ui_header_background="+t(_1e0.ui_header_background,1):"");return rv;},_1f9=function(_1fa,_1fb){var xid=_1fa.xid||a.util.cuid();if(_1fb.data_track_clickback||_1fb.data_track_linkback||_7.track.ctp(_1fb.product,_1fb)){return"at_xt="+xid+","+((a.smd||{}).gen||0);}else{return"";}},_1fd=function(_1fe,_1ff,_200,_201,_202,_203){var pub=a.pub(),url=_201||_1ff.url||"",xid=_1ff.xid||a.util.cuid();if(url.toLowerCase().indexOf("http%3a%2f%2f")===0){url=_duc(url);}if(_202){var _207={};for(var k in _1ff){_207[k]=_1ff[k];}_207.xid=xid;setTimeout(function(){(new Image()).src=_1d7(_1fe=="twitter"&&_203?"tweet":_1fe,0,_207,_200);},100);}return url+(_200.data_track_clickback||_200.data_track_linkback||!pub||pub=="AddThis"?((url.indexOf("?")>-1)?"&":"?")+("sms_ss="+_1fe)+("&at_xt="+xid+","+((a.smd||{}).gen||0)):"");},_209=function(_20a,_20b,_20c){var _20b=_20b||{},_20d=_20a.share_url_transforms||_20a.url_transforms||{},url=a.track.cof(a.track.mgu(_20a.url,_20d,_20a,"mailto"));return"mailto:?subject="+_euc(_20a.title?_20a.title:url)+"&body="+_euc(_1fd("mailto",_20a,_20b,url,_20c));},_20f=function(_210){return((!_210.templates||!_210.templates.twitter)&&(!a.wlp||a.wlp=="http:"));},_211=function(url,_213,_214,name){var neww=_213||550,newh=_214||450,_218=screen.width,_219=screen.height,_21a=Math.round((_218/2)-(neww/2)),_21b=0,i;if(_219>newh){_21a=Math.round((_219/2)-(newh/2));}w.open(url,name||"addthis_share","left="+_21a+",top="+_21b+",width="+neww+",height="+newh+",personalbar=no,toolbar=no,scrollbars=yes,location=yes,resizable=yes");return false;},_21d=function(s,_21f,_220){w.open(_1d7(s,0,_21f,_220),"addthis_share");return false;},_221=function(svc){var _223={wordpress:1,vk:1};return _223[svc];},_224=function(svc,_226,_227,_228,_229,name){var _22b={wordpress:{width:720,height:570},linkedin:{width:600,height:400},vk:{width:720,height:290},"default":{width:550,height:450}},url=_1d7(svc,0,_226,_227);if(_227.ui_use_same_window){window.location.href=url;}else{_211(url,_228||(_22b[svc]||_22b["default"]).width,_229||(_22b[svc]||_22b["default"]).height,name);}return false;},_22d=function(_22e,_22f,_230,_231){var _232="",_233=_22e.share_url_transforms||_22e.url_transforms||{},_234,url=a.track.cof(a.track.mgu(_22e.url,_233,_22e,"twitter"));if((_22e.passthrough||{}).twitter){if(_22e.passthrough.twitter.text){_234=_22e.title;_22e.title=_22e.passthrough.twitter.text;}_232=a.util.toKV(_22e.passthrough.twitter);}if(_232.indexOf("text=")==-1){_232="text="+_euc(_22e.title)+"&"+_232;}if(_232.indexOf("via=")==-1){_232="via=AddThis&"+_232;}url="http://twitter.com/share?url="+_euc(_1fd("twitter",_22e,_22f,url,1,_230))+"&"+_232;if(_234){_22e.title=_234;}if(_22f.ui_use_same_window||_231){window.location.href=url;}else{_211(url,550,450,"twitter_tweet");}return false;},_236=[],_237=function(svc,feed,_23a,_23b){var url=_1d7(svc,feed,_23a,_23b);_236.push(a.ajs(url,1));},_23d=function(_23e,_23f,_240){return _1d4()+"tellfriend.php?&fromname=aaa&fromemail="+_euc(_23f.from)+"&frommenu=1&tofriend="+_euc(_23f.to)+(_23e.email_template?"&template="+_euc(_23e.email_template):"")+(_23f.vars?"&vars="+_euc(_23f.vars):"")+"&lng="+(a.lng()||"xx")+"&note="+_euc(_23f.note)+"&"+uadd("email",null,null,_240);};_1ca.share={auw:_221,ocw:_211,stw:_224,siw:_21d,pts:_22d,unt:_20f,uadd:uadd,genurl:_1d7,geneurl:_23d,genieu:_209,acb:_1fd,gcp:_1f9,svcurl:_1d4,track:_237,links:_1d3};})(_7,_7.api,_7);var w=window,ac=w.addthis_config||{},css=new _7.resource.Resource("widgetcss",_atr+"static/r07/widget59.css",function(){return true;}),_243=new _7.resource.Resource("widget32css",_atr+"static/r07/widgetbig59.css",function(){return true;});function main(){try{if(_atc.xol&&!_atc.xcs&&ac.ui_use_css!==false){css.load();if(_7.bro.ipa){_243.load();}}var a=_7,msi=a.bro.msi,hp=0,_247=window.addthis_config||{},dt=d.title,dr=(typeof(a.rdr)!=="undefined")?a.rdr:(d.referer||d.referrer||""),du=dl?dl.href:null,dh=dl.hostname,_24c=du,_24d=0,al=(_7.lng().split("-")).shift(),_24f=_7.track.eop(dl,dr),cvt=[],rsiq=_24f.rsiq,rsi=_24f.rsi,rxi=_24f.rxi,rsc=_24f.rsc,gen=_24f.gen,fuid=_24f.fuid,ifr,_258=_atr+"static/r07/sh43.html#",data,_25a=function(){if(!_7.track.pcs.length){_7.track.apc(window.addthis_product||("men-"+_atc.ver));}data.pc=_7.track.pcs.join(",");};if(window.addthis_product){_7.track.apc(addthis_product);if(addthis_product.indexOf("fxe")==-1&&addthis_product.indexOf("bkm")==-1){_7.track.spc=addthis_product;}}var l=_7.share.links.canonical;if(l){if(l.indexOf("http")!==0){_24c=(du||"").split("//").pop().split("/");if(l.indexOf("/")===0){_24c=_24c.shift()+l;}else{_24c.pop();_24c=_24c.join("/")+"/"+l;}_24c=dl.protocol+"//"+_24c;}else{_24c=l;}_7.usu(0,1);}_24c=_24c.split("#{").shift();a.igv(_24c,d.title||"");var _25c=addthis_share.view_url_transforms||addthis_share.track_url_transforms||addthis_share.url_transforms;if(_25c){_24c=_7.track.mgu(_24c,_25c);}if(rsi){rsi=rsi.substr(0,8)+fuid;}a.smd={rsi:rsi,rxi:rxi,gen:gen,rsc:rsc};a.dr=a.tru(dr,"fr");a.du=a.tru(_24c,"fp");a.dt=dt=w.addthis_share.title;a.cb=a.ad.cla();a.dh=dl.hostname;a.ssl=du&&du.indexOf("https")===0?1:0;data={cb:a.cb,ab:a.ab,dh:a.dh,dr:a.dr,du:a.du,dt:dt,inst:a.inst,lng:a.lng(),pc:w.addthis_product||"men",pub:a.pub(),ssl:a.ssl,sid:_7.track.ssid(),srd:_atc.damp,srf:_atc.famp,srp:_atc.pamp,srx:_atc.xamp,ver:_atc.ver,xck:_atc.xck||0};if(a.trl.length){data.trl=a.trl.join(",");}if(a.rev){data.rev=a.rev;}if(_247.data_track_clickback||_247.data_track_linkback||_7.track.ctp(data.pc,_247)){data.ct=a.ct=1;}if(a.prv){data.prv=_26(a.prv);}if(rsc){data.sr=rsc;}if(a.vamp>=0&&!a.sub){if(rsi&&(fuid!=a.gub())){cvt.push(a.track.fcv("plv",Math.round(1/_atc.vamp)));cvt.push(a.track.fcv("rsi",rsi));cvt.push(a.track.fcv("gen",gen));cvt.push(a.track.fcv("abc",1));data.ce=cvt.join(",");_24d="addressbar";}else{if(rxi||rsiq||rsc){cvt.push(a.track.fcv("plv",Math.round(1/_atc.vamp)));if(rsc){cvt.push(a.track.fcv("rsc",rsc));}if(rxi){cvt.push(a.track.fcv("rxi",rxi));}else{if(rsiq){cvt.push(a.track.fcv("rsi",rsiq));}}if(rsiq||rxi){cvt.push(a.track.fcv("gen",gen));}data.ce=cvt.join(",");_24d=rsc||"unknown";}}}if(_24d&&a.bamp>=0){data.clk=1;a.dcp=data.gen=50;_7.ed.fire("addthis.user.clickback",window.addthis||{},{service:_24d});}if(a.upm){data.xd=1;if(_7.bro.ffx){data.xld=1;}}if(window.history&&typeof(history.replaceState)=="function"&&!_7.bro.chr&&(_247.data_track_addressbar||_247.data_track_addressbar_paths)&&((du||"").split("#").shift()!=dr)&&(du.indexOf("#")==-1||rsi)){var path=dl.pathname||"",_25e,_25f=path!="/";if(_247.data_track_addressbar_paths){_25f=0;for(var i=0;i<_247.data_track_addressbar_paths.length;i++){_25e=new RegExp(_247.data_track_addressbar_paths[i].replace(/\*/g,".*")+"$");if(_25e.test(path)){_25f=1;break;}}}if(_25f&&(!rsi||a.util.ioc(rsi,5))){var _261=function(){history.replaceState({d:(new Date()),g:gen},d.title,dl.href.split("#").shift()+"#"+_7.track.cpf+_7.util.hbtoa(_7.track.ssid().substr(0,8)+_7.gub()+Math.min(3,gen)));};_261();}}if(dl.href.indexOf(_atr)==-1&&!a.sub){if(a.upm){if(msi){setTimeout(function(){_25a();ifr=a.track.ctf(_258+_26(data));a.track.stf(ifr);},_7.wait);w.attachEvent("onmessage",a.pmh);}else{ifr=a.track.ctf();w.addEventListener("message",a.pmh,false);}if(_7.bro.ffx){ifr.src=_258;_7.track.qtp(data);}else{if(!msi){setTimeout(function(){_25a();ifr.src=_258+_26(data);},_7.wait);}}}else{ifr=a.track.ctf();setTimeout(function(){_25a();ifr.src=_258+_26(data);},_7.wait);}if(ifr){ifr=a.track.gtf().appendChild(ifr);a.track.stf(ifr);}}if(w.addthis_language||ac.ui_language){a.alg();}if(a.plo.length>0){a.jlo();}}catch(e){window.console&&console.log("lod",e);}}w._ate=a;w._adr=r;a._rec.push(function(data){if(data.sshs){var s=window.addthis_ssh=_duc(data.sshs);a.gssh=1;a._ssh=s.split(",");}if(data.uss){var u=a._uss=_duc(data.uss).split(",");if(window.addthis_ssh){var seen={},u=u.concat(a._ssh),_266=[];for(var i=0;i<u.length;i++){var s=u[i];if(!seen[s]){_266.push(s);}seen[s]=1;}u=_266;}a._ssh=u;window.addthis_ssh=u.join(",");}if(data.ups){var s=data.ups.split(",");a.ups={};for(var i=0;i<s.length;i++){if(s[i]){var o=_34(_duc(s[i]));a.ups[o.name]=o;}}a._ups=a.ups;}if(data.uid){a.uid=data.uid;_7.ed.fire("addthis-internal.data.uid",{},{uid:data.uid});}if(data.dbm){a.dbm=data.dbm;}if(data.rdy){a.xfr=1;a.track.xtp();return;}});try{var _269={},_26a=_7.util.gsp("addthis_widget.js");if(typeof(_26a)=="object"){if(_26a.provider){_269={provider:_7.mun(_26a.provider_code||_26a.provider),auth:_26a.auth||_26a.provider_auth||""};if(_26a.uid||_26a.provider_uid){_269.uid=_7.mun(_26a.uid||_26a.provider_uid);}if(_26a.logout){_269.logout=1;}_7.prv=_269;}if(_26a.pubid||_26a.pub||_26a.username){w.addthis_pub=_duc(_26a.pubid||_26a.pub||_26a.username);}if(w.addthis_pub&&w.addthis_config){w.addthis_config.username=w.addthis_pub;}if(_26a.domready){_atc.dr=1;}if(_26a.onready&&_26a.onready.match(/[a-zA-Z0-9_\.\$]+/)){try{_7.onr=_7.evl(_26a.onready);}catch(e){window.console&&console.log("addthis: onready function ("+_26a.onready+") not defined",e);}}if(_26a.async){_atc.xol=1;}}if((window.addthis_conf||{}).xol){_atc.xol=1;}if(_atc.ver===120){var rc="atb"+_7.util.cuid();d.write("<span id=\""+rc+"\"></span>");_7.igv();_7.lad(["span",rc,addthis_share.url||"[url]",addthis_share.title||"[title]"]);}if(w.addthis_clickout){_7.lad(["cout"]);}if(!_atc.xol&&!_atc.xcs&&ac.ui_use_css!==false){css.load();if(_7.bro.ipa){_243.load();}}}catch(e){if(window.console){console.log("main",e);}}_6f.bindReady();_6f.append(main);})();function addthis_open(){if(typeof iconf=="string"){iconf=null;}return _ate.ao.apply(_ate,arguments);}function addthis_close(){_ate.ac();}function addthis_sendto(){_ate.as.apply(_ate,arguments);return false;}if(_atc.dr){_adr.onReady();}}else{_ate.inst++;}if(_atc.abf){addthis_open(document.getElementById("ab"),"emailab",window.addthis_url||"[URL]",window.addthis_title||"[TITLE]");}if(!window.addthis||window.addthis.nodeType!==undefined){window.addthis=(function(){var e={a1webmarks:"A1&#8209;Webmarks",aim:"AOL Lifestream",amazonwishlist:"Amazon",aolmail:"AOL Mail",aviary:"Aviary Capture",domaintoolswhois:"Whois Lookup",googlebuzz:"Google Buzz",googlereader:"Google Reader",googletranslate:"Google Translate",linkagogo:"Link-a-Gogo",meneame:"Men&eacute;ame",misterwong:"Mister Wong",mailto:"Email App",myaol:"myAOL",myspace:"MySpace",readitlater:"Read It Later",rss:"RSS",stumbleupon:"StumbleUpon",typepad:"TypePad",wordpress:"WordPress",yahoobkm:"Y! Bookmarks",yahoomail:"Y! Mail",youtube:"YouTube"},g=document,c=g.gn("body").item(0),f=_ate.util.bind;function b(d,l){var m;if(window._atw&&_atw.list){m=_atw.list[d]}else{if(e[d]){m=e[d]}else{m=(l?d:(d.substr(0,1).toUpperCase()+d.substr(1)))}}return(m||"").replace(/&nbsp;/g," ")}function i(d,u,s,r,t){u=u.toUpperCase();var p=(d==c&&addthis.cache[u]?addthis.cache[u]:(d||c||g.body).getElementsByTagName(u)),n=[],q,m;if(d==c){addthis.cache[u]=p}if(t){for(q=0;q<p.length;q++){m=p[q];if((m.className||"").indexOf(s)>-1){n.push(m)}}}else{s=s.replace(/\-/g,"\\-");var l=new RegExp("(^|\\s)"+s+(r?"\\w*":"")+"(\\s|$)");for(q=0;q<p.length;q++){m=p[q];if(l.test(m.className)){n.push(m)}}}return(n)}var k=g.getElementsByClassname||i;function j(d){if(typeof d=="string"){var l=d.substr(0,1);if(l=="#"){d=g.getElementById(d.substr(1))}else{if(l=="."){d=k(c,"*",d.substr(1))}else{}}}if(!d){d=[]}else{if(!(d instanceof Array)){d=[d]}}return d}function a(l,d){return function(){addthis.plo.push({call:l,args:arguments,ns:d})}}function h(m){var l=this,d=this.queue=[];this.name=m;this.call=function(){d.push(arguments)};this.call.queuer=this;this.flush=function(p,o){for(var n=0;n<d.length;n++){p.apply(o||l,d[n])}return p}}return{ost:0,cache:{},plo:[],links:[],ems:[],init:_adr.onReady,_Queuer:h,_queueFor:a,_select:j,_gebcn:i,button:a("button"),counter:a("counter"),toolbox:a("toolbox"),update:a("update"),util:{getServiceName:b},addEventListener:f(_ate.ed.addEventListener,_ate.ed),removeEventListener:f(_ate.ed.removeEventListener,_ate.ed)}})()}_adr.append((function(){if(!window.addthis.ost){_ate.extend(C,_ate.api);var W=document,K=undefined,J=window,n=function(d){if(d.indexOf("&")>-1){d=d.replace(/&([aeiou]).+;/g,"$1")}return d},p=function(){return(typeof(window.FB)=="object"&&FB.Event&&typeof(FB.Event.subscribe)=="function")},j=0,U=[],f={},Y={compact:1,expanded:1,facebook:1,email:1,twitter:1,print:1,google:1,live:1,stumbleupon:1,myspace:1,favorites:1,digg:1,delicious:1,blogger:1,googlebuzz:1,friendfeed:1,vk:1,mymailru:1,gmail:1,yahoomail:1,reddit:1,orkut:1},E=new _ate.resource.Resource("widget32css",_atr+"static/r07/widgetbig59.css",function(){return true}),R=false,ab=true,x=J.addthis_config,O=J.addthis_share,F={},A={},t=W.gn("body").item(0),C=window.addthis,c=C._select,z=C._gebcn(t,"A","addthis_button_",true,true),T={rss:"Subscribe via RSS"},S={tweet:"Tweet",email:"Email",mailto:"Email",print:"Print",favorites:"Save to Favorites",twitter:"Tweet This",digg:"Digg This",more:"View more services"},L={email_vars:1,passthrough:1,modules:1,templates:1,services_custom:1},X={feed:1,more:_atc.ver<300,email:1,mailto:1},G={feed:1,email:1,mailto:1,print:1,more:!_ate.bro.ipa&&_atc.ver<300,favorites:1},Q={more:_atc.ver>=300},l=0,H=0,y=0,m=0,M=[],aa={};function e(u,w){if(w&&u!==w){for(var d in w){if(u[d]===K){u[d]=w[d]}}}}function r(ac,u,ad){var w=ac.onclick||function(){},d=function(){_ate.ed.fire("addthis.menu.share",window.addthis||{},{element:ac,service:u,url:ac.share.url})};if(ac.conf.data_ga_tracker||addthis_config.data_ga_tracker||ac.conf.data_ga_property||addthis_config.data_ga_property){ac.onclick=function(){_ate.gat(u,ad,ac.conf,ac.share);d();return w()}}else{ac.onclick=function(){d();return w()}}}function v(u,d){var w={googlebuzz:"http://www.google.com/profiles/%s",youtube:"http://www.youtube.com/user/%s",facebook:"http://www.facebook.com/profile.php?id=%s",facebook_url:"http://www.facebook.com/%s",rss:"%s",flickr:"http://www.flickr.com/photos/%s",twitter:"http://twitter.com/%s",linkedin:"http://www.linkedin.com/in/%s"};if(u=="facebook"&&isNaN(parseInt(d))){u="facebook_url"}return(w[u]||"").replace("%s",d)||""}function q(u,d){if(R&&!d){return true}var w=(u.parentNode||{}).className||"";R=(w.indexOf("32x32")>-1||u.className.indexOf("32x32")>-1);return R}function B(u){var w=(u.parentNode||{}).className||"",d=u.conf&&u.conf.product&&w.indexOf("toolbox")==-1?u.conf.product:"tbx"+(u.className.indexOf("32x32")>-1||w.indexOf("32x32")>-1?"32":"")+"-"+_atc.ver;if(d.indexOf(32)>-1){R=true}_ate.track.apc(d);return d}function h(w,ac){var u={};for(var d in w){if(ac[d]){u[d]=ac[d]}else{u[d]=w[d]}}return u}function b(u,d){var ac={};for(var w=0;w<u.length;w++){ac[u[w]]=1}for(var w=0;w<d.length;w++){if(!ac[d[w]]){u.push(d[w]);ac[d[w]]=1}}return u}function V(d,ad,ae,ac){var u=W.ce("img");u.width=d;u.height=ad;u.border=0;u.alt=ae;u.src=ac;return u}function i(ac,ad){var w,d=[],ae={};for(var u=0;u<ac.attributes.length;u++){w=ac.attributes[u];d=w.name.split(ad+":");if(d.length==2){ae[d.pop()]=w.value}}return ae}function D(u,ag,d,ac){var ag=ag||{},w={},ae=i(u,"addthis");for(var ad in ag){w[ad]=ag[ad]}if(ac){for(var ad in u[d]){w[ad]=u[d][ad]}}for(var ad in ae){if(ag[ad]&&!ac){w[ad]=ag[ad]}else{var ah=ae[ad];if(ah){w[ad]=ah}else{if(ag[ad]){w[ad]=ag[ad]}}if(w[ad]==="true"){w[ad]=true}else{if(w[ad]==="false"){w[ad]=false}}}if(w[ad]!==K&&L[ad]&&(typeof w[ad]=="string")){var af=w[ad];_ate.evl("var e = "+w[ad],this);w[ad]=af}}return w}function I(w){var u=(w||{}).services_custom;if(!u){return}if(!(u instanceof Array)){u=[u]}for(var ac=0;ac<u.length;ac++){var d=u[ac];if(d.name&&d.icon&&d.url){d.code=d.url=d.url.replace(/ /g,"");d.code=d.code.split("//").pop().split("?").shift().split("/").shift().toLowerCase();f[d.code]=d}}}function s(u,d){return f[u]||{}}function a(u,d,w,ac){var ad={conf:d||{},share:w||{}};ad.conf=D(u,d,"conf",ac);ad.share=D(u,w,"share",ac);return ad}function P(au,ag,am,ae){_ate.igv();if(au){ag=ag||{};am=am||{};var av=ag.conf||x,ar=ag.share||O,ad=am.onmouseover,w=am.onmouseout,ax=am.onclick,aj=am.internal,ao=am.singleservice;if(ao){if(ax===K){ax=X[ao]?function(aA,ay,aB){var az=h(aB,A);return addthis_open(aA,ao,az.url,az.title,h(ay,F),az)}:G[ao]?function(aA,ay,aB){var az=h(aB,A);return addthis_sendto(ao,h(ay,F),az)}:Q[ao]?function(aA,ay,aB){var az=h(aB,A);return _ate.share.stw(ao,az,ay,735)}:null}}else{if(!am.noevents){if(!am.nohover){if(ad===K){ad=function(az,ay,aA){return addthis_open(az,"",null,null,h(ay,F),h(aA,A))}}if(w===K){w=function(ay){return addthis_close()}}if(ax===K){ax=function(az,ay,aA){return addthis_sendto("more",h(ay,F),h(aA,A))}}}else{if(ax===K){ax=function(az,ay,aA){return addthis_open(az,"more",null,null,h(ay,F),h(aA,A))}}}}}au=c(au);for(var at=0;at<au.length;at++){var al=au[at],ap=al.parentNode,u=a(al,av,ar,!ae)||{};e(u.conf,x);e(u.share,O);al.conf=u.conf;al.share=u.share;if(al.conf.ui_language){_ate.alg(al.conf.ui_language)}I(al.conf);if(ap&&ap.className.indexOf("toolbox")>-1&&(al.conf.product||"").indexOf("men")===0){al.conf.product="tbx"+(ap.className.indexOf("32x32")>-1?"32":"")+"-"+_atc.ver;_ate.track.apc(al.conf.product)}if(ao&&ao!=="more"){al.conf.product=B(al)}if((!al.conf||(!al.conf.ui_click&&!al.conf.ui_window_panes))&&!_ate.bro.ipa){if(ad){al.onmouseover=function(){return ad(this,this.conf,this.share)}}if(w){al.onmouseout=function(){return w(this)}}if(ax){al.onclick=function(){return ax(al,al.conf,al.share)}}}else{if(ax){if(ao){al.onclick=function(){return ax(this,this.conf,this.share)}}else{if(!al.conf.ui_window_panes){al.onclick=function(){return addthis_open(this,"",null,null,this.conf,this.share)}}else{al.onclick=function(){return addthis_sendto("more",this.conf,this.share)}}}}}if(al.tagName.toLowerCase()=="a"){var ac=al.share.url||addthis_share.url;_ate.usu(ac);if(ao){var ai=s(ao,al.conf),d=al.firstChild;if(ai&&ai.code&&ai.icon){if(d&&d.className.indexOf("at300bs")>-1){var ak="16";if(q(al,1)){d.className=d.className.split("at15nc").join("");ak="32"}d.style.background="url("+ai.icon+") no-repeat top left transparent";if(!d.style.cssText){d.style.cssText=""}d.style.cssText="line-height:"+ak+"px!important;width:"+ak+"px!important;height:"+ak+"px!important;background:"+d.style.background+"!important"}}if(!G[ao]){if(am.follow){al.href=ac;al.onclick=function(){_ate.share.track(ao,1,al.share,al.conf)};if(al.children&&al.children.length==1&&al.parentNode&&al.parentNode.className.indexOf("toolbox")>-1){var aq=W.ce("span");aq.className="addthis_follow_label";aq.innerHTML=C.util.getServiceName(ao);al.appendChild(aq)}}else{if(ao=="twitter"){if(_ate.share.unt(al.share)){al.onclick=function(ay){return _ate.share.pts(al.share,al.conf)};al.noh=1}else{al.onclick=null;al.href=_ate.share.genurl(ao,0,al.share,al.conf);al.noh=0}}else{if(!al.noh){if(al.conf.ui_open_windows||_ate.share.auw(ao)){al.onclick=function(ay){return _ate.share.stw(ao,al.share,al.conf)}}else{al.onclick=function(ay){return _ate.share.siw(ao,al.share,al.conf)};al.href=_ate.share.genurl(ao,0,al.share,al.conf)}}}}r(al,ao,ac);if(!al.target){al.target="_blank"}C.links.push(al)}else{if(ao=="mailto"||(ao=="email"&&(al.conf.ui_use_mailto||_ate.bro.iph||_ate.bro.ipa))){al.onclick=function(){al.share.xid=_ate.util.cuid();(new Image()).src=_ate.share.genurl("mailto",0,al.share,al.config)};al.href=_ate.share.genieu(al.share);r(al,ao,ac);C.ems.push(al)}}if(!al.title||al.at_titled){var ah=C.util.getServiceName(ao,!ai);al.title=n(am.follow?(T[ao]?T[ao]:"Follow on "+ah):(S[ao]?S[ao]:"Send to "+ah));al.at_titled=1}}else{if(al.conf.product&&al.parentNode.className.indexOf("toolbox")==-1){B(al)}}}var af;switch(aj){case"img":if(!al.hasChildNodes()){var aw=(al.conf.ui_language||_ate.lng()).split("-").shift(),an=_ate.ivl(aw);if(!an){aw="en"}else{if(an!==1){aw=an}}af=V(_ate.iwb(aw)?150:125,16,"Share",_atr+"static/btn/v2/lg-share-"+aw.substr(0,2)+".gif")}break}if(af){al.appendChild(af)}}}}function g(){if(window.gapi&&window.gapi.plusone){gapi.plusone.go();return}else{if(!m){var d=_ate.ajs("//apis.google.com/js/plusone.js",1);m=1}}if(H<3){setTimeout(g,3000+1000*2*(H++))}}function N(){if(W.location.href.indexOf(_atr)==-1&&!_ate.sub&&!j){if(p()){j=1;FB.Event.subscribe("edge.create",function(w){if(!aa[w]){var d={};for(var u in addthis_share){d[u]=addthis_share[u]}d.url=w;_ate.share.track("facebook_like",0,d,addthis_config);aa[w]=1}});FB.Event.subscribe("edge.remove",function(w){if(aa[w]){var d={};for(var u in addthis_share){d[u]=addthis_share[u]}d.url=w;_ate.share.track("facebook_dislike",0,d,addthis_config);aa[w]=0}})}else{if(window.fbAsyncInit&&!y){if(l<3){setTimeout(N,3000+1000*2*(l++))}y=1}}}}function Z(aE,aF,aG,at,aM){for(var aP=0;aP<aE.length;aP++){var aX=aE[aP];if(aX==null){continue}if(at!==false||!aX.ost){var ap=a(aX,aF,aG,!aM),ac=0,aZ="at300",aW=aX.className||"",ag="",aI=aW.match(/addthis_button_([\w\.]+)(?:\s|$)/),ax={},ak=aI&&aI.length?aI[1]:0;e(ap.conf,x);e(ap.share,O);if(ak){if(ak==="tweetmeme"&&aX.className.indexOf("chiclet_style")==-1){if(aX.ost){continue}var aO=i(aX,"tm"),aH=50,aR=61;ag=_ate.util.toKV(aO);if(aO.style==="compact"){aH=95;aR=25}aX.innerHTML='<iframe frameborder="0" width="'+aH+'" height="'+aR+'" scrolling="no" allowTransparency="true" scrollbars="no"'+(_ate.bro.ie6?" src=\"javascript:''\"":"")+"></iframe>";var a1=aX.firstChild;a1.src="//api.tweetmeme.com/button.js?url="+_euc(ap.share.url)+"&"+ag;aX.noh=aX.ost=1}else{if(ak==="linkedin_counter"){if(aX.ost){continue}var aJ=i(aX,"li"),aG=ap.share,aY=aJ.width||100,ah=aJ.height||18,ag,aQ="",al;if(!aJ.counter){aJ.counter="horizontal"}if(!aG.passthrough){aG.passthrough={}}aG.passthrough.linkedin=_ate.util.toKV(aJ);aQ=_ate.util.rtoKV(aG);if(aJ.counter==="top"){ah=55;aY=57;if(!aJ.height){aJ.height=ah}if(!aJ.width){aJ.width=aY}}else{if(aJ.counter==="right"){aY=100;if(!aJ.width){aJ.width=ay}}}if(aJ.width){aY=aJ.width}if(aJ.height){ah=aJ.height}ag=_ate.util.toKV(aJ),aX.innerHTML='<iframe frameborder="0" role="presentation" scrolling="no" allowTransparency="true" scrollbars="no"'+(_ate.bro.ie6?" src=\"javascript:''\"":"")+' style="width:'+aY+"px; height:"+ah+'px;"></iframe>';al=aX.firstChild;if(!ap.conf.pubid){ap.conf.pubid=addthis_config.pubid||_ate.pub()}al.src=_atr+"static/r07/linkedin04.html#href="+_euc(ap.share.url)+"&dr="+_euc(_ate.dr)+"&conf="+_euc(_ate.util.toKV(ap.conf))+"&share="+_euc(aQ)+"&li="+_euc(ag);aX.noh=aX.ost=1}else{if(ak==="tweet"){if(aX.ost){continue}var ad=i(aX,"tw"),aG=ap.share,ay=ad.width||55,aD=ad.height||20,ag,aQ="",av;if(!ad.text){ad.text=ap.share.title}if(!ad.via){ad.via="AddThis"}if(!ad.count){ad.count="horizontal"}if(!aG.passthrough){aG.passthrough={}}aG.passthrough.twitter=_ate.util.toKV(ad);aQ=_ate.util.rtoKV(aG);if(ad.count==="vertical"){aD=62;if(!ad.height){ad.height=aD}}else{if(ad.count==="horizontal"){ay=110;if(!ad.width){ad.width=ay}}}if(ad.width){ay=ad.width}if(ad.height){aD=ad.height}ag=_ate.util.toKV(ad),aX.innerHTML='<iframe frameborder="0" role="presentation" scrolling="no" allowTransparency="true" scrollbars="no"'+(_ate.bro.ie6?" src=\"javascript:''\"":"")+' style="width:'+ay+"px; height:"+aD+'px;"></iframe>';av=aX.firstChild;if(!ap.conf.pubid){ap.conf.pubid=addthis_config.pubid||_ate.pub()}av.src=_atr+"static/r07/tweet04.html#href="+_euc(ap.share.url)+"&dr="+_euc(_ate.dr)+"&conf="+_euc(_ate.util.toKV(ap.conf))+"&share="+_euc(aQ)+"&tw="+_euc(ag);aX.noh=aX.ost=1}else{if(ak==="google_plusone"){var az=i(aX,"g:plusone"),aq="";az.href=az.href||_ate.track.mgu(ap.share.url);az.width=az.width||83;az.height=az.height||20;window._at_gpocbh=window._at_gpocbh||function(a4){var a2={};for(var a3 in addthis_share){a2[a3]=ap.share[a3]}a2.url=a4.href;_ate.share.track("google_"+(a4.state=="off"?"un":"")+"plusone",0,a2,ap.conf)};az.callback=az.callback||"_at_gpocbh";for(var aN in az){aq+=" "+aN+'="'+az[aN]+'"'}aX.innerHTML="<g:plusone "+aq+"></g:plusone>";g()}else{if(ak==="facebook_like"){if(aX.ost){continue}var w,ai=i(aX,"fb:like"),au="",a0=ai.layout||"button_count",aL=ai.locale||_ate.gfl(_ate.lng()),u={standard:[450,ai.show_faces?80:35],button_count:[90,25],box_count:[55,65]},aV=ai.width||(u[a0]?u[a0][0]:100),ae=ai.height||(u[a0]?u[a0][1]:25),an="fb-root",ar=false,aC=window.fbAsyncInit,aK=W.getElementById(an);ag=_ate.util.toKV(ai);_ate.ufbl=1;try{var aw=(document.getElementsByTagName("html"))[0];if(aw){if(aw.getAttribute&&aw.getAttribute("xmlns:fb")){ar=true}else{if(_ate.bro.msi){var aU=aw.outerHTML.substr(0,aw.outerHTML.indexOf(">"));if(aU.indexOf("xmlns:fb")>-1){ar=true}}}}}catch(aT){}if((_atc.ltj&&(!window.FB_RequireFeatures&&(!window.FB||(!FB.Share&&!FB.Bootstrap)))&&ar)||(p()&&FB.XFBML&&FB.XFBML.parse)){if(ai.layout===undefined){ai.layout="button_count"}if(ai.show_faces===undefined){ai.show_faces="false"}if(ai.action===undefined){ai.action="like"}if(ai.width===undefined){ai.width=aV}if(ai.font===undefined){ai.font="arial"}if(ai.href===undefined){ai.href=_ate.track.mgu(ap.share.url)}for(var aN in ai){au+=" "+aN+'="'+ai[aN]+'"'}if(_atc.ufc){aX.innerHTML='<fb:like ref="'+_ate.share.gcp(ap.share,ap.conf).replace(",","_")+'" '+au+"></fb:like>"}else{aX.innerHTML='<fb:like ref="addthis" '+au+"></fb:like>"}if(p()&&FB.XFBML&&FB.XFBML.parse){FB.XFBML.parse(aX);N()}else{if(aC){}else{if(!aK){aK=W.ce("div");aK.id=an;t.appendChild(aK)}if(!aC){aT=W.createElement("script");aT.src=W.location.protocol+"//connect.facebook.net/"+aL+"/all.js";aT.async=true;aK.appendChild(aT);aC=function(){FB.init({appId:"172525162793917",status:true,cookie:false})}}}M.push(aX);if(ab){ab=false;window.__orig__fbAsyncInit=aC;window.fbAsyncInit=function(){window.__orig__fbAsyncInit();for(var a2=0;a2<M.length;a2++){FB.XFBML.parse(M[a2])}N()}}}}else{if(!_ate.bro.msi){w=W.ce("iframe")}else{aX.innerHTML='<iframe frameborder="0" scrolling="no" allowTransparency="true" scrollbars="no"'+(_ate.bro.ie6?" src=\"javascript:''\"":"")+"></iframe>";w=aX.firstChild}w.style.overflow="hidden";w.style.scrolling="no";w.style.scrollbars="no";w.style.border="none";w.style.borderWidth="0px";w.style.width=aV+"px";w.style.height=ae+"px";w.src="//www.facebook.com/plugins/like.php?href="+_euc(_ate.track.mgu(ap.share.url))+"&layout=button_count&show_faces=false&width=100&action=like&font=arial&"+ag;if(!_ate.bro.msi){aX.appendChild(w)}}U.push(w);aX.noh=aX.ost=1}else{if(ak.indexOf("preferred")>-1){if(aX._iss){continue}aI=aW.match(/addthis_button_preferred_([0-9]+)(?:\s|$)/);var aS=((aI&&aI.length)?Math.min(16,Math.max(1,parseInt(aI[1]))):1)-1;if(!aX.conf){aX.conf={}}aX.conf.product="tbx-"+_atc.ver;B(aX);if(window._atw){if(!aX.parentNode.services){aX.parentNode.services={}}var af=_atw.conf.services_exclude||"",d=_atw.loc,aj=aX.parentNode.services,aB=b(addthis_options.replace(",more","").split(","),d.split(","));do{ak=aB[aS++]}while(aS<aB.length&&(af.indexOf(ak)>-1||aj[ak]));if(aj[ak]){for(var aN in _atw.list){if(!aj[aN]&&af.indexOf(aN)==-1){ak=aN;break}}}aX._ips=1;if(aX.className.indexOf(ak)==-1){aX.className+=" addthis_button_"+ak;aX._iss=1}aX.parentNode.services[ak]=1}else{_ate.alg(ap.conf.ui_language||window.addthis_language);_ate.plo.unshift(["deco",Z,[aX],aF,aG,true]);if(_ate.gssh){_ate.pld=_ate.ajs("static/r07/menu75.js")}else{if(!_ate.pld){_ate.pld=1;var ao=function(){_ate.pld=_ate.ajs("static/r07/menu75.js")};if(_ate.upm){_ate._rec.push(function(a2){if(a2.ssh){ao()}});setTimeout(ao,500)}else{ao()}}}continue}}else{if(ak.indexOf("follow")>-1){ak=ak.split("_follow").shift();ax.follow=true;ap.share.url=v(ak,ap.share.userid)}}}}}}}if(!Y[ak]&&(R||q(aX))){E.load()}if(!aX.childNodes.length){var am=W.ce("span");aX.appendChild(am);am.className=aZ+"bs at15nc at15t_"+ak}else{if(aX.childNodes.length==1){var aA=aX.childNodes[0];if(aA.nodeType==3){var am=W.ce("span");aX.insertBefore(am,aA);am.className=aZ+"bs at15nc at15t_"+ak}}else{ac=1}}if(ak==="compact"||ak==="expanded"){if(!ac&&aW.indexOf(aZ)==-1){aX.className+=" "+aZ+"m"}if(ap.conf.product&&ap.conf.product.indexOf("men-")==-1){ap.conf.product+=",men-"+_atc.ver}if(ak==="expanded"){ax.nohover=true;ax.singleservice="more"}}else{if((aX.parentNode.className||"").indexOf("toolbox")>-1){if(!aX.parentNode.services){aX.parentNode.services={}}aX.parentNode.services[ak]=1}if(!ac&&aW.indexOf(aZ)==-1){aX.className+=" "+aZ+"b"}ax.singleservice=ak}if(aX._ips){ax.issh=true}P([aX],ap,ax,aM);aX.ost=1;B(aX)}}}}function k(w,ag,d,ac){var u=d.data_ga_tracker,af=d.data_ga_property;if(af){if(typeof(window._gat)=="object"&&_gat._getTracker){u=_gat._getTracker(af)}else{if(typeof(window._gaq)=="object"&&_gaq._getAsyncTracker){u=_gaq._getAsyncTracker(af)}else{if(typeof(window._gaq)=="array"){_gaq.push([function(){_ate.gat(w,ag,d,ac)}])}}}}if(u&&typeof(u)=="string"){u=window[u]}if(u&&typeof(u)=="object"){var ad=ag||(ac||{}).url||location.href;if(ad.toLowerCase().replace("https","http").indexOf("http%3a%2f%2f")==0){ad=_duc(ad)}try{u._trackEvent("addthis",w,ad)}catch(ae){try{u._initData();u._trackEvent("addthis",w,ad)}catch(ae){}}}}_ate.gat=k;C.update=function(af,ad,w){if(af=="share"){if(ad=="url"){_ate.usu(0,1)}if(!window.addthis_share){window.addthis_share={}}window.addthis_share[ad]=w;A[ad]=w;for(var d in C.links){var ae=C.links[d],ac=new RegExp("&"+ad+"=(.*)&"),u="&"+ad+"="+_euc(w)+"&";if(ae.share){ae.share[ad]=w}if(!ae.noh){ae.href=ae.href.replace(ac,u);if(ae.href.indexOf(ad)==-1){ae.href+=u}}}for(var d in C.ems){var ae=C.ems[d];ae.href=_ate.share.genieu(addthis_share)}}else{if(af=="config"){if(!window.addthis_config){window.addthis_config={}}window.addthis_config[ad]=w;F[ad]=w}}};C._render=P;var o=[new _ate.resource.Resource("countercss",_atr+"static/r07/counter59.css",function(){return true}),new _ate.resource.Resource("counter",_atr+"js/250/plugin.sharecounter.js",function(){return window.addthis.counter.ost})];if(!J.JSON||!J.JSON.stringify){o.unshift(new _ate.resource.Resource("json2",_atr+"static/r07/json2.js",function(){return J.JSON&&J.JSON.stringify}))}C.counter=function(ac,u,w){if(ac){ac=C._select(ac);if(ac.length){if(!C.counter.selects){C.counter.selects=[]}C.counter.selects=C.counter.selects.concat({counter:ac,config:u,share:w});for(var d in o){if((o[d]||{}).load){o[d].load()}}}}};C.button=function(w,d,u){d=d||{};if(!d.product){d.product="men-"+_atc.ver}P(w,{conf:d,share:u},{internal:"img"})};C.toolbox=function(af,u,ag,ah){var ai=c(af);for(var ac=0;ac<ai.length;ac++){var w=ai[ac],ad=a(w,u,ag,ah),d=W.ce("div"),ae;w.services={};if(!ad.conf.product){ad.conf.product="tbx"+(w.className.indexOf("32x32")>-1?"32":"")+"-"+_atc.ver}if(w){ae=w.getElementsByTagName("a");if(ae){Z(ae,ad.conf,ad.share,!ah,!ah)}w.appendChild(d)}d.className="atclear"}};C.ready=function(){var d=C,u=".addthis_";if(d.ost){return}d.ost=1;C.toolbox(u+"toolbox",null,null,true);C.button(u+"button");C.counter(u+"counter");Z(z,null,null,false);_ate.ed.fire("addthis.ready",C);if(_ate.onr){_ate.onr(C)}for(var w=0,ad=d.plo,ac;w<ad.length;w++){ac=ad[w];(ac.ns?d[ac.ns]:d)[ac.call].apply(this,ac.args)}N()};C.util.getAttributes=a;window.addthis=C;window.addthis.ready()}}));_ate.extend(addthis,{user:(function(){var k=_ate,f=addthis,l={},c=0,m=0,e=0,d;function j(a,n){return k.reduce(["getID","getServiceShareHistory"],a,n)}function g(a,n){return function(o){setTimeout(function(){o(k[a]||n)},0)}}function i(a){if(c){return}if(!a||!a.uid){return}if(d!==null){clearTimeout(d)}d=null;c=1;j(function(p,n,o){l[n]=l[n].queuer.flush(g.apply(f,p[o]),f);return p},[["uid",""],["_ssh",[]]])}function h(){if(!_ate.pld){_ate.pld=(new _ate.resource.Resource("menujs",_atr+"static/r07/menu75.js",function(){return true})).load()}}function b(a){if(m&&(a.uid||a.ssh!==undefined)){h();m=0}}d=setTimeout(function(){var a={uid:"x",ssh:"",ups:""};e=1;i(a);b(a)},5000);k._rec.push(i);l.getPreferredServices=function(a){if(window._atw){_atw.gps(a)}else{_ate.ed.addEventListener("addthis.menu.ready",function(){_atw.gps(a)});_ate.alg();if(k.gssh||e){h()}else{if(!k.pld&&!m){_ate._rec.push(b)}}m=1}};return j(function(n,a){n[a]=(new f._Queuer(a)).call;return n},l)})()});;
(function(){var g=1;var h=2;var i=3;var j=4;var k=true;var l=function(b,c,d){var e=b[c];var f;if(d.type==g)f=function(){var a=e.apply(this,arguments);return d.value.apply(this,[a,c])};else if(d.type==h)f=function(){d.value.apply(this,[arguments,c]);return e.apply(this,arguments)};else if(d.type==j)f=function(){return d.value.apply(this,arguments)};else if(d.type==i){f=function(){var a={object:this,args:arguments};return d.value.apply(a.object,[{arguments:a.args,method:c,proceed:function(){return e.apply(a.object,a.args)}}])}}f.unweave=function(){b[c]=e;pointcut=b=f=e=null};b[c]=f;return f};var m=function(a,b){var c=(typeof(a.target.prototype)!='undefined')?a.target.prototype:a.target;var d=[];if(b.type!=j&&typeof(c[a.method])=='undefined'){for(var e in c){if(c[e]!=null&&c[e]instanceof Function&&e.match(a.method)){d[d.length]=l(c,e,b)}}if(d.length==0)throw'No method: '+a.method;}else{d[0]=l(c,a.method,b)}return k?d:d[0]};jQuery.aop={after:function(a,b){return m(a,{type:g,value:b})},before:function(a,b){return m(a,{type:h,value:b})},around:function(a,b){return m(a,{type:i,value:b})},introduction:function(a,b){return m(a,{type:j,value:b})},setup:function(a){k=a.regexMatch}}})();;

/**
 * Lightbox video
 * @author
 *   Stella Power, <http://drupal.org/user/66894>
 */

var Lightvideo = {

  // startVideo()
  startVideo: function (href) {
    if (Lightvideo.checkKnownVideos(href)) {
      return;
    }
    else if (href.match(/\.mov$/i)) {
      if (navigator.plugins && navigator.plugins.length) {
        Lightbox.modalHTML ='<object id="qtboxMovie" type="video/quicktime" codebase="http://www.apple.com/qtactivex/qtplugin.cab" data="'+href+'" width="'+Lightbox.modalWidth+'" height="'+Lightbox.modalHeight+'"><param name="allowFullScreen" value="true"></param><param name="src" value="'+href+'" /><param name="scale" value="aspect" /><param name="controller" value="true" /><param name="autoplay" value="true" /><param name="bgcolor" value="#000000" /><param name="enablejavascript" value="true" /></object>';
      } else {
        Lightbox.modalHTML = '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" width="'+Lightbox.modalWidth+'" height="'+Lightbox.modalHeight+'" id="qtboxMovie"><param name="allowFullScreen" value="true"></param><param name="src" value="'+href+'" /><param name="scale" value="aspect" /><param name="controller" value="true" /><param name="autoplay" value="true" /><param name="bgcolor" value="#000000" /><param name="enablejavascript" value="true" /></object>';
      }
    }
    else if (href.match(/\.wmv$/i) || href.match(/\.asx$/i)) {
      Lightbox.modalHTML = '<object NAME="Player" WIDTH="'+Lightbox.modalWidth+'" HEIGHT="'+Lightbox.modalHeight+'" align="left" hspace="0" type="application/x-oleobject" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"><param name="allowFullScreen" value="true"></param><param NAME="URL" VALUE="'+href+'"></param><param NAME="AUTOSTART" VALUE="true"></param><param name="showControls" value="true"></param><embed WIDTH="'+Lightbox.modalWidth+'" HEIGHT="'+Lightbox.modalHeight+'" align="left" hspace="0" SRC="'+href+'" TYPE="application/x-oleobject" AUTOSTART="false"></embed></object>';
    }
    else {
      Lightbox.videoId = href;
      variables = '';
      if (!href.match(/\.swf$/i)) {
        href = Lightbox.flvPlayer + '?file=' + href;
        if (Lightbox.flvFlashvars.length) {
          variables = Lightbox.flvFlashvars;
        }
      }

      Lightvideo.createEmbed(href, "flvplayer", "#ffffff", variables);
    }
  },

  // createEmbed()
  createEmbed: function(href, id, color, variables) {
    var bgcolor = 'bgcolor="' + color + '"';
    var flashvars = '';
    if (variables) {
      flashvars = 'flashvars="' + variables + '"';

    }
    Lightbox.modalHTML = '<embed type="application/x-shockwave-flash" ' +
      'src="' + href.replace("?lightbox=video", "") + '" ' +
      'id="' + id + '" name="' + id + '" ' + bgcolor + ' ' +
      'quality="high" wmode="transparent" ' + flashvars + ' ' +
      'height="' + Lightbox.modalHeight + '" ' +
      'width="' + Lightbox.modalWidth + '" ' +
      'allowfullscreen="true" ' +
      '></embed>';
  },


  // checkKnownVideos()
  checkKnownVideos: function(href) {
    if (Lightvideo.checkYouTubeVideo(href) || Lightvideo.checkGoogleVideo(href) ||
      Lightvideo.checkMySpaceVideo(href) || Lightvideo.checkLiveVideo(href) ||
      Lightvideo.checkMetacafeVideo(href) ||
      Lightvideo.checkIFilmSpikeVideo(href)
      ) {
      return true;
    }
    return false;
  },


  // checkYouTubeVideo()
  checkYouTubeVideo: function(href) {
    var patterns = [
      'youtube.com/v/([^"&]+)',
      'youtube.com/watch\\?v=([^"&]+)',
      'youtube.com/\\?v=([^"&]+)'
      ];

    for (var i = 0; i < patterns.length; i++) {
      var pattern = new RegExp(patterns[i], "i");
      var results = pattern.exec(href);
      if (results !== null) {
        Lightbox.videoId = results[1];
        var href = "http://www.youtube.com/v/"+Lightbox.videoId;
        var variables = 'fs=1';
        if (Lightbox.flvFlashvars.length) {
          variables = variables + '&' + Lightbox.flvFlashvars;
          href = href + '&' + variables;
        }
        Lightvideo.createEmbed(href, "flvvideo", "#ffffff", variables);
        return true;
      }
    }
    return false;
  },

  // checkGoogleVideo()
  checkGoogleVideo: function(href) {
    var patterns = [
      'http://video.google.[a-z]{2,4}/googleplayer.swf\\?docId=(-?\\d*)',
      'http://video.google.[a-z]{2,4}/videoplay\\?docid=([^&]*)&',
      'http://video.google.[a-z]{2,4}/videoplay\\?docid=(.*)'
      ];

    for (var i = 0; i < patterns.length; i++) {
      var pattern = new RegExp(patterns[i], "i");
      var results = pattern.exec(href);
      if (results !== null) {
        Lightbox.videoId = results[1];
        var href = "http://video.google.com/googleplayer.swf?docId="+Lightbox.videoId+"&hl=en";
        var variables = 'fs=true';
        if (Lightbox.flvFlashvars.length) {
          variables = variables + '&' + Lightbox.flvFlashvars;
          href = href + '&' + variables;
        }
        Lightvideo.createEmbed(href, "flvvideo", "#ffffff", variables);
        return true;
      }
    }
    return false;
  },

  // checkMetacafeVideo()
  checkMetacafeVideo: function(href) {
    var patterns = [
      'metacafe.com/watch/(\.[^/]*)/(\.[^/]*)/',
      'metacafe.com/watch/(\.[^/]*)/(\.*)',
      'metacafe.com/fplayer/(\.[^/]*)/(\.[^.]*).'
      ];

    for (var i = 0; i < patterns.length; i++) {
      var pattern = new RegExp(patterns[i], "i");
      var results = pattern.exec(href);
      if (results !== null) {
        Lightbox.videoId = results[1];
        Lightvideo.createEmbed("http://www.metacafe.com/fplayer/"+Lightbox.videoId+"/.swf", "flvvideo", "#ffffff");
        return true;
      }
    }
    return false;
  },

  // checkIFilmSpikeVideo()
  checkIFilmSpikeVideo: function(href) {
    var patterns = [
      'spike.com/video/[^/&"]*?/(\\d+)',
      'ifilm.com/video/[^/&"]*?/(\\d+)',
      'spike.com/video/([^/&"]*)',
      'ifilm.com/video/([^/&"]*)'
      ];

    for (var i = 0; i < patterns.length; i++) {
      var pattern = new RegExp(patterns[i], "i");
      var results = pattern.exec(href);
      if (results !== null) {
        Lightbox.videoId = results[1];
        Lightvideo.createEmbed("http://www.spike.com/efp", "flvvideo", "#000", "flvbaseclip="+Lightbox.videoId+"&amp;");
        return true;
      }
    }
    return false;
  },

  // checkMySpaceVideo()
  checkMySpaceVideo: function(href) {
    var patterns = [
      'src="myspace.com/index.cfm\\?fuseaction=vids.individual&videoid=([^&"]+)',
      'myspace.com/index.cfm\\?fuseaction=vids.individual&videoid=([^&"]+)',
      'src="myspacetv.com/index.cfm\\?fuseaction=vids.individual&videoid=([^&"]+)"',
      'myspacetv.com/index.cfm\\?fuseaction=vids.individual&videoid=([^&"]+)'
      ];

    for (var i = 0; i < patterns.length; i++) {
      var pattern = new RegExp(patterns[i], "i");
      var results = pattern.exec(href);
      if (results !== null) {
        Lightbox.videoId = results[1];
        Lightvideo.createEmbed("http://lads.myspace.com/videos/vplayer.swf", "flvvideo", "#ffffff", "m="+Lightbox.videoId);
        return true;
      }
    }
    return false;
  },

  // checkLiveVideo()
  checkLiveVideo: function(href) {
    var patterns = [
      'livevideo.com/flvplayer/embed/([^"]*)"',
      'livevideo.com/video/[^/]*?/([^/]*)/',
      'livevideo.com/video/([^/]*)/'
      ];

    for (var i = 0; i < patterns.length; i++) {
      var pattern = new RegExp(patterns[i], "i");
      var results = pattern.exec(href);
      if (results !== null) {
        Lightbox.videoId = results[1];
        Lightvideo.createEmbed("http://www.livevideo.com/flvplayer/embed/"+Lightbox.videoId, "flvvideo", "#ffffff");
        return true;
      }
    }
    return false;
  }

};
;

/**
 * jQuery Lightbox
 * @author
 *   Stella Power, <http://drupal.org/user/66894>
 *
 * Based on Lightbox v2.03.3 by Lokesh Dhakar
 * <http://www.huddletogether.com/projects/lightbox2/>
 * Also partially based on the jQuery Lightbox by Warren Krewenki
 *   <http://warren.mesozen.com>
 *
 * Permission has been granted to Mark Ashmead & other Drupal Lightbox2 module
 * maintainers to distribute this file via Drupal.org
 * Under GPL license.
 *
 * Slideshow, iframe and video functionality added by Stella Power.
 */

var Lightbox = {
  auto_modal : false,
  overlayOpacity : 0.8, // Controls transparency of shadow overlay.
  overlayColor : '000', // Controls colour of shadow overlay.
  disableCloseClick : true,
  // Controls the order of the lightbox resizing animation sequence.
  resizeSequence: 0, // 0: simultaneous, 1: width then height, 2: height then width.
  resizeSpeed: 'normal', // Controls the speed of the lightbox resizing animation.
  fadeInSpeed: 'normal', // Controls the speed of the image appearance.
  slideDownSpeed: 'slow', // Controls the speed of the image details appearance.
  minWidth: 240,
  borderSize : 10,
  boxColor : 'fff',
  fontColor : '000',
  topPosition : '',
  infoHeight: 20,
  alternative_layout : false,
  imageArray : [],
  imageNum : null,
  total : 0,
  activeImage : null,
  inprogress : false,
  disableResize : false,
  disableZoom : false,
  isZoomedIn : false,
  rtl : false,
  loopItems : false,
  keysClose : ['c', 'x', 27],
  keysPrevious : ['p', 37],
  keysNext : ['n', 39],
  keysZoom : ['z'],
  keysPlayPause : [32],

  // Slideshow options.
  slideInterval : 5000, // In milliseconds.
  showPlayPause : true,
  autoStart : true,
  autoExit : true,
  pauseOnNextClick : false, // True to pause the slideshow when the "Next" button is clicked.
  pauseOnPrevClick : true, // True to pause the slideshow when the "Prev" button is clicked.
  slideIdArray : [],
  slideIdCount : 0,
  isSlideshow : false,
  isPaused : false,
  loopSlides : false,

  // Iframe options.
  isLightframe : false,
  iframe_width : 600,
  iframe_height : 400,
  iframe_border : 1,

  // Video and modal options.
  enableVideo : false,
  flvPlayer : '/flvplayer.swf',
  flvFlashvars : '',
  isModal : false,
  isVideo : false,
  videoId : false,
  modalWidth : 400,
  modalHeight : 400,
  modalHTML : null,


  // initialize()
  // Constructor runs on completion of the DOM loading.
  // The function inserts html at the bottom of the page which is used
  // to display the shadow overlay and the image container.
  initialize: function() {

    var s = Drupal.settings.lightbox2;
    Lightbox.overlayOpacity = s.overlay_opacity;
    Lightbox.overlayColor = s.overlay_color;
    Lightbox.disableCloseClick = s.disable_close_click;
    Lightbox.resizeSequence = s.resize_sequence;
    Lightbox.resizeSpeed = s.resize_speed;
    Lightbox.fadeInSpeed = s.fade_in_speed;
    Lightbox.slideDownSpeed = s.slide_down_speed;
    Lightbox.borderSize = s.border_size;
    Lightbox.boxColor = s.box_color;
    Lightbox.fontColor = s.font_color;
    Lightbox.topPosition = s.top_position;
    Lightbox.rtl = s.rtl;
    Lightbox.loopItems = s.loop_items;
    Lightbox.keysClose = s.keys_close.split(" ");
    Lightbox.keysPrevious = s.keys_previous.split(" ");
    Lightbox.keysNext = s.keys_next.split(" ");
    Lightbox.keysZoom = s.keys_zoom.split(" ");
    Lightbox.keysPlayPause = s.keys_play_pause.split(" ");
    Lightbox.disableResize = s.disable_resize;
    Lightbox.disableZoom = s.disable_zoom;
    Lightbox.slideInterval = s.slideshow_interval;
    Lightbox.showPlayPause = s.show_play_pause;
    Lightbox.showCaption = s.show_caption;
    Lightbox.autoStart = s.slideshow_automatic_start;
    Lightbox.autoExit = s.slideshow_automatic_exit;
    Lightbox.pauseOnNextClick = s.pause_on_next_click;
    Lightbox.pauseOnPrevClick = s.pause_on_previous_click;
    Lightbox.loopSlides = s.loop_slides;
    Lightbox.alternative_layout = s.use_alt_layout;
    Lightbox.iframe_width = s.iframe_width;
    Lightbox.iframe_height = s.iframe_height;
    Lightbox.iframe_border = s.iframe_border;
    Lightbox.enableVideo = s.enable_video;
    if (s.enable_video) {
      Lightbox.flvPlayer = s.flvPlayer;
      Lightbox.flvFlashvars = s.flvFlashvars;
    }

    // Make the lightbox divs.
    var layout_class = (s.use_alt_layout ? 'lightbox2-alt-layout' : 'lightbox2-orig-layout');
    var output = '<div id="lightbox2-overlay" style="display: none;"></div>\
      <div id="lightbox" style="display: none;" class="' + layout_class + '">\
        <div id="outerImageContainer"></div>\
        <div id="imageDataContainer" class="clearfix">\
          <div id="imageData"></div>\
        </div>\
      </div>';
    var loading = '<div id="loading"><a href="#" id="loadingLink"></a></div>';
    var modal = '<div id="modalContainer" style="display: none;"></div>';
    var frame = '<div id="frameContainer" style="display: none;"></div>';
    var imageContainer = '<div id="imageContainer" style="display: none;"></div>';
    var details = '<div id="imageDetails"></div>';
    var bottomNav = '<div id="bottomNav"></div>';
    var image = '<img id="lightboxImage" alt="" />';
    var hoverNav = '<div id="hoverNav"><a id="prevLink" href="#"></a><a id="nextLink" href="#"></a></div>';
    var frameNav = '<div id="frameHoverNav"><a id="framePrevLink" href="#"></a><a id="frameNextLink" href="#"></a></div>';
    var hoverNav = '<div id="hoverNav"><a id="prevLink" title="' + Drupal.t('Previous') + '" href="#"></a><a id="nextLink" title="' + Drupal.t('Next') + '" href="#"></a></div>';
    var frameNav = '<div id="frameHoverNav"><a id="framePrevLink" title="' + Drupal.t('Previous') + '" href="#"></a><a id="frameNextLink" title="' + Drupal.t('Next') + '" href="#"></a></div>';
    var caption = '<span id="caption"></span>';
    var numberDisplay = '<span id="numberDisplay"></span>';
    var close = '<a id="bottomNavClose" title="' + Drupal.t('Close') + '" href="#"></a>';
    var zoom = '<a id="bottomNavZoom" href="#"></a>';
    var zoomOut = '<a id="bottomNavZoomOut" href="#"></a>';
    var pause = '<a id="lightshowPause" title="' + Drupal.t('Pause Slideshow') + '" href="#" style="display: none;"></a>';
    var play = '<a id="lightshowPlay" title="' + Drupal.t('Play Slideshow') + '" href="#" style="display: none;"></a>';

    $("body").append(output);
    $('#outerImageContainer').append(modal + frame + imageContainer + loading);
    if (!s.use_alt_layout) {
      $('#imageContainer').append(image + hoverNav);
      $('#imageData').append(details + bottomNav);
      $('#imageDetails').append(caption + numberDisplay);
      $('#bottomNav').append(frameNav + close + zoom + zoomOut + pause + play);
    }
    else {
      $('#outerImageContainer').append(bottomNav);
      $('#imageContainer').append(image);
      $('#bottomNav').append(close + zoom + zoomOut);
      $('#imageData').append(hoverNav + details);
      $('#imageDetails').append(caption + numberDisplay + pause + play);
    }

    // Setup onclick handlers.
    if (Lightbox.disableCloseClick) {
      $('#lightbox2-overlay').click(function() { Lightbox.end(); return false; } ).hide();
    }
    $('#loadingLink, #bottomNavClose').click(function() { Lightbox.end('forceClose'); return false; } );
    $('#prevLink, #framePrevLink').click(function() { Lightbox.changeData(Lightbox.activeImage - 1); return false; } );
    $('#nextLink, #frameNextLink').click(function() { Lightbox.changeData(Lightbox.activeImage + 1); return false; } );
    $('#bottomNavZoom').click(function() { Lightbox.changeData(Lightbox.activeImage, true); return false; } );
    $('#bottomNavZoomOut').click(function() { Lightbox.changeData(Lightbox.activeImage, false); return false; } );
    $('#lightshowPause').click(function() { Lightbox.togglePlayPause("lightshowPause", "lightshowPlay"); return false; } );
    $('#lightshowPlay').click(function() { Lightbox.togglePlayPause("lightshowPlay", "lightshowPause"); return false; } );

    // Fix positioning.
    $('#prevLink, #nextLink, #framePrevLink, #frameNextLink').css({ 'paddingTop': Lightbox.borderSize + 'px'});
    $('#imageContainer, #frameContainer, #modalContainer').css({ 'padding': Lightbox.borderSize + 'px'});
    $('#outerImageContainer, #imageDataContainer, #bottomNavClose').css({'backgroundColor': '#' + Lightbox.boxColor, 'color': '#'+Lightbox.fontColor});
    if (Lightbox.alternative_layout) {
      $('#bottomNavZoom, #bottomNavZoomOut').css({'bottom': Lightbox.borderSize + 'px', 'right': Lightbox.borderSize + 'px'});
    }
    else if (Lightbox.rtl == 1 && $.browser.msie) {
      $('#bottomNavZoom, #bottomNavZoomOut').css({'left': '0px'});
    }

    // Force navigation links to always be displayed
    if (s.force_show_nav) {
      $('#prevLink, #nextLink').addClass("force_show_nav");
    }

  },

  // initList()
  // Loops through anchor tags looking for 'lightbox', 'lightshow' and
  // 'lightframe', etc, references and applies onclick events to appropriate
  // links. You can rerun after dynamically adding images w/ajax.
  initList : function(context) {

    if (context == undefined || context == null) {
      context = document;
    }

    // Attach lightbox to any links with rel 'lightbox', 'lightshow' or
    // 'lightframe', etc.
    $("a[rel^='lightbox']:not(.lightbox-processed), area[rel^='lightbox']:not(.lightbox-processed)", context).addClass('lightbox-processed').click(function(e) {
      if (Lightbox.disableCloseClick) {
        $('#lightbox').unbind('click');
        $('#lightbox').click(function() { Lightbox.end('forceClose'); } );
      }
      Lightbox.start(this, false, false, false, false);
      if (e.preventDefault) { e.preventDefault(); }
      return false;
    });
    $("a[rel^='lightshow']:not(.lightbox-processed), area[rel^='lightshow']:not(.lightbox-processed)", context).addClass('lightbox-processed').click(function(e) {
      if (Lightbox.disableCloseClick) {
        $('#lightbox').unbind('click');
        $('#lightbox').click(function() { Lightbox.end('forceClose'); } );
      }
      Lightbox.start(this, true, false, false, false);
      if (e.preventDefault) { e.preventDefault(); }
      return false;
    });
    $("a[rel^='lightframe']:not(.lightbox-processed), area[rel^='lightframe']:not(.lightbox-processed)", context).addClass('lightbox-processed').click(function(e) {
      if (Lightbox.disableCloseClick) {
        $('#lightbox').unbind('click');
        $('#lightbox').click(function() { Lightbox.end('forceClose'); } );
      }
      var lightbox_classes = $(this).attr('class').split(' ');
      $('#lightbox').addClass(lightbox_classes[0]);
      
      Lightbox.start(this, false, true, false, false);
      if (e.preventDefault) { e.preventDefault(); }
      return false;
    });
    if (Lightbox.enableVideo) {
      $("a[rel^='lightvideo']:not(.lightbox-processed), area[rel^='lightvideo']:not(.lightbox-processed)", context).addClass('lightbox-processed').click(function(e) {
        if (Lightbox.disableCloseClick) {
          $('#lightbox').unbind('click');
          $('#lightbox').click(function() { Lightbox.end('forceClose'); } );
        }
        Lightbox.start(this, false, false, true, false);
        if (e.preventDefault) { e.preventDefault(); }
        return false;
      });
    }
    $("a[rel^='lightmodal']:not(.lightbox-processed), area[rel^='lightmodal']:not(.lightbox-processed)", context).addClass('lightbox-processed').click(function(e) {
      $('#lightbox').unbind('click');
      // Add classes from the link to the lightbox div - don't include lightbox-processed
      $('#lightbox').addClass($(this).attr('class'));
      $('#lightbox').removeClass('lightbox-processed');
      Lightbox.start(this, false, false, false, true);
      if (e.preventDefault) { e.preventDefault(); }
      return false;
    });
    $("#lightboxAutoModal:not(.lightbox-processed)", context).addClass('lightbox-processed').click(function(e) {
      Lightbox.auto_modal = true;
      $('#lightbox').unbind('click');
      Lightbox.start(this, false, false, false, true);
      if (e.preventDefault) { e.preventDefault(); }
      return false;
    });
  },

  // start()
  // Display overlay and lightbox. If image is part of a set, add siblings to
  // imageArray.
  start: function(imageLink, slideshow, lightframe, lightvideo, lightmodal) {

    Lightbox.isPaused = !Lightbox.autoStart;

    // Replaces hideSelectBoxes() and hideFlash() calls in original lightbox2.
    Lightbox.toggleSelectsFlash('hide');

    // Stretch overlay to fill page and fade in.
    var arrayPageSize = Lightbox.getPageSize();
    $("#lightbox2-overlay").hide().css({
      'width': '100%',
      'zIndex': '10090',
      'height': arrayPageSize[1] + 'px',
      'backgroundColor' : '#' + Lightbox.overlayColor
    });
    // Detect OS X FF2 opacity + flash issue.
    if (lightvideo && this.detectMacFF2()) {
      $("#lightbox2-overlay").removeClass("overlay_default");
      $("#lightbox2-overlay").addClass("overlay_macff2");
      $("#lightbox2-overlay").css({'opacity' : null});
    }
    else {
      $("#lightbox2-overlay").removeClass("overlay_macff2");
      $("#lightbox2-overlay").addClass("overlay_default");
      $("#lightbox2-overlay").css({'opacity' : Lightbox.overlayOpacity});
    }
    $("#lightbox2-overlay").fadeIn(Lightbox.fadeInSpeed);


    Lightbox.isSlideshow = slideshow;
    Lightbox.isLightframe = lightframe;
    Lightbox.isVideo = lightvideo;
    Lightbox.isModal = lightmodal;
    Lightbox.imageArray = [];
    Lightbox.imageNum = 0;

    var anchors = $(imageLink.tagName);
    var anchor = null;
    var rel_parts = Lightbox.parseRel(imageLink);
    var rel = rel_parts["rel"];
    var rel_group = rel_parts["group"];
    var title = (rel_parts["title"] ? rel_parts["title"] : imageLink.title);
    var rel_style = null;
    var i = 0;

    if (rel_parts["flashvars"]) {
      Lightbox.flvFlashvars = Lightbox.flvFlashvars + '&' + rel_parts["flashvars"];
    }

    // Set the title for image alternative text.
    var alt = imageLink.title;
    if (!alt) {
      var img = $(imageLink).find("img");
      if (img && $(img).attr("alt")) {
        alt = $(img).attr("alt");
      }
      else {
        alt = title;
      }
    }

    if ($(imageLink).attr('id') == 'lightboxAutoModal') {
      rel_style = rel_parts["style"];
      Lightbox.imageArray.push(['#lightboxAutoModal > *', title, alt, rel_style, 1]);
    }
    else {
      // Handle lightbox images with no grouping.
      if ((rel == 'lightbox' || rel == 'lightshow') && !rel_group) {
        Lightbox.imageArray.push([imageLink.href, title, alt]);
      }

      // Handle other items with no grouping.
      else if (!rel_group) {
        rel_style = rel_parts["style"];
        Lightbox.imageArray.push([imageLink.href, title, alt, rel_style]);
      }

      // Handle grouped items.
      else {

        // Loop through anchors and add them to imageArray.
        for (i = 0; i < anchors.length; i++) {
          anchor = anchors[i];
          if (anchor.href && typeof(anchor.href) == "string" && $(anchor).attr('rel')) {
            var rel_data = Lightbox.parseRel(anchor);
            var anchor_title = (rel_data["title"] ? rel_data["title"] : anchor.title);
            img_alt = anchor.title;
            if (!img_alt) {
              var anchor_img = $(anchor).find("img");
              if (anchor_img && $(anchor_img).attr("alt")) {
                img_alt = $(anchor_img).attr("alt");
              }
              else {
                img_alt = title;
              }
            }
            if (rel_data["rel"] == rel) {
              if (rel_data["group"] == rel_group) {
                if (Lightbox.isLightframe || Lightbox.isModal || Lightbox.isVideo) {
                  rel_style = rel_data["style"];
                }
                Lightbox.imageArray.push([anchor.href, anchor_title, img_alt, rel_style]);
              }
            }
          }
        }

        // Remove duplicates.
        for (i = 0; i < Lightbox.imageArray.length; i++) {
          for (j = Lightbox.imageArray.length-1; j > i; j--) {
            if (Lightbox.imageArray[i][0] == Lightbox.imageArray[j][0]) {
              Lightbox.imageArray.splice(j,1);
            }
          }
        }
        while (Lightbox.imageArray[Lightbox.imageNum][0] != imageLink.href) {
          Lightbox.imageNum++;
        }
      }
    }

    if (Lightbox.isSlideshow && Lightbox.showPlayPause && Lightbox.isPaused) {
      $('#lightshowPlay').show();
      $('#lightshowPause').hide();
    }

    // Calculate top and left offset for the lightbox.
    var arrayPageScroll = Lightbox.getPageScroll();
    var lightboxTop = arrayPageScroll[1] + (Lightbox.topPosition == '' ? (arrayPageSize[3] / 10) : Lightbox.topPosition) * 1;
    var lightboxLeft = arrayPageScroll[0];
    $('#frameContainer, #modalContainer, #lightboxImage').hide();
    $('#hoverNav, #prevLink, #nextLink, #frameHoverNav, #framePrevLink, #frameNextLink').hide();
    $('#imageDataContainer, #numberDisplay, #bottomNavZoom, #bottomNavZoomOut').hide();
    $('#outerImageContainer').css({'width': '250px', 'height': '250px'});
    $('#lightbox').css({
      'zIndex': '10500',
      'top': lightboxTop + 'px',
      'left': lightboxLeft + 'px'
    }).show();

    Lightbox.total = Lightbox.imageArray.length;
    Lightbox.changeData(Lightbox.imageNum);
  },

  // changeData()
  // Hide most elements and preload image in preparation for resizing image
  // container.
  changeData: function(imageNum, zoomIn) {

    if (Lightbox.inprogress === false) {
      if (Lightbox.total > 1 && ((Lightbox.isSlideshow && Lightbox.loopSlides) || (!Lightbox.isSlideshow && Lightbox.loopItems))) {
        if (imageNum >= Lightbox.total) imageNum = 0;
        if (imageNum < 0) imageNum = Lightbox.total - 1;
      }

      if (Lightbox.isSlideshow) {
        for (var i = 0; i < Lightbox.slideIdCount; i++) {
          window.clearTimeout(Lightbox.slideIdArray[i]);
        }
      }
      Lightbox.inprogress = true;
      Lightbox.activeImage = imageNum;

      if (Lightbox.disableResize && !Lightbox.isSlideshow) {
        zoomIn = true;
      }
      Lightbox.isZoomedIn = zoomIn;


      // Hide elements during transition.
      $('#loading').css({'zIndex': '10500'}).show();
      if (!Lightbox.alternative_layout) {
        $('#imageContainer').hide();
      }
      $('#frameContainer, #modalContainer, #lightboxImage').hide();
      $('#hoverNav, #prevLink, #nextLink, #frameHoverNav, #framePrevLink, #frameNextLink').hide();
      $('#imageDataContainer, #numberDisplay, #bottomNavZoom, #bottomNavZoomOut').hide();

      // Preload image content, but not iframe pages.
      if (!Lightbox.isLightframe && !Lightbox.isVideo && !Lightbox.isModal) {
        $("#lightbox #imageDataContainer").removeClass('lightbox2-alt-layout-data');
        imgPreloader = new Image();
        imgPreloader.onerror = function() { Lightbox.imgNodeLoadingError(this); };

        imgPreloader.onload = function() {
          var photo = document.getElementById('lightboxImage');
          photo.src = Lightbox.imageArray[Lightbox.activeImage][0];
          photo.alt = Lightbox.imageArray[Lightbox.activeImage][2];

          var imageWidth = imgPreloader.width;
          var imageHeight = imgPreloader.height;

          // Resize code.
          var arrayPageSize = Lightbox.getPageSize();
          var targ = { w:arrayPageSize[2] - (Lightbox.borderSize * 2), h:arrayPageSize[3] - (Lightbox.borderSize * 6) - (Lightbox.infoHeight * 4) - (arrayPageSize[3] / 10) };
          var orig = { w:imgPreloader.width, h:imgPreloader.height };

          // Image is very large, so show a smaller version of the larger image
          // with zoom button.
          if (zoomIn !== true) {
            var ratio = 1.0; // Shrink image with the same aspect.
            $('#bottomNavZoomOut, #bottomNavZoom').hide();
            if ((orig.w >= targ.w || orig.h >= targ.h) && orig.h && orig.w) {
              ratio = ((targ.w / orig.w) < (targ.h / orig.h)) ? targ.w / orig.w : targ.h / orig.h;
              if (!Lightbox.disableZoom && !Lightbox.isSlideshow) {
                $('#bottomNavZoom').css({'zIndex': '10500'}).show();
              }
            }

            imageWidth  = Math.floor(orig.w * ratio);
            imageHeight = Math.floor(orig.h * ratio);
          }

          else {
            $('#bottomNavZoom').hide();
            // Only display zoom out button if the image is zoomed in already.
            if ((orig.w >= targ.w || orig.h >= targ.h) && orig.h && orig.w) {
              // Only display zoom out button if not a slideshow and if the
              // buttons aren't disabled.
              if (!Lightbox.disableResize && Lightbox.isSlideshow === false && !Lightbox.disableZoom) {
                $('#bottomNavZoomOut').css({'zIndex': '10500'}).show();
              }
            }
          }

          photo.style.width = (imageWidth) + 'px';
          photo.style.height = (imageHeight) + 'px';
          Lightbox.resizeContainer(imageWidth, imageHeight);

          // Clear onLoad, IE behaves irratically with animated gifs otherwise.
          imgPreloader.onload = function() {};
        };

        imgPreloader.src = Lightbox.imageArray[Lightbox.activeImage][0];
        imgPreloader.alt = Lightbox.imageArray[Lightbox.activeImage][2];
      }

      // Set up frame size, etc.
      else if (Lightbox.isLightframe) {
        $("#lightbox #imageDataContainer").addClass('lightbox2-alt-layout-data');
        var src = Lightbox.imageArray[Lightbox.activeImage][0];
        $('#frameContainer').html('<iframe id="lightboxFrame" frameborder="0" style="display: none;" src="'+src+'"></iframe>');

        // Enable swf support in Gecko browsers.
        if ($.browser.mozilla && src.indexOf('.swf') != -1) {
          setTimeout(function () {
            document.getElementById("lightboxFrame").src = Lightbox.imageArray[Lightbox.activeImage][0];
          }, 1000);
        }

        if (!Lightbox.iframe_border) {
          $('#lightboxFrame').css({'border': 'none'});
          $('#lightboxFrame').attr('frameborder', '0');
          $('#lightboxFrame').attr('ALLOWTRANSPARENCY', 'true'); // Added by Jayson!
          $('#lightboxFrame').attr('scrolling', 'no'); // Added by Jayson!
        }
        
        var iframe = document.getElementById('lightboxFrame');
        var iframeStyles = Lightbox.imageArray[Lightbox.activeImage][3];
        iframe = Lightbox.setStyles(iframe, iframeStyles);
        Lightbox.resizeContainer(parseInt(iframe.width, 10), parseInt(iframe.height, 10));
      }
      else if (Lightbox.isVideo || Lightbox.isModal) {
        $("#lightbox #imageDataContainer").addClass('lightbox2-alt-layout-data');
        var container = document.getElementById('modalContainer');
        var modalStyles = Lightbox.imageArray[Lightbox.activeImage][3];
        container = Lightbox.setStyles(container, modalStyles);
        if (Lightbox.isVideo) {
          Lightbox.modalHeight =  parseInt(container.height, 10) - 10;
          Lightbox.modalWidth =  parseInt(container.width, 10) - 10;
          Lightvideo.startVideo(Lightbox.imageArray[Lightbox.activeImage][0]);
        }
        Lightbox.resizeContainer(parseInt(container.width, 10), parseInt(container.height, 10));
      }
    }
  },

  // imgNodeLoadingError()
  imgNodeLoadingError: function(image) {
    var s = Drupal.settings.lightbox2;
    var original_image = Lightbox.imageArray[Lightbox.activeImage][0];
    if (s.display_image_size !== "") {
      original_image = original_image.replace(new RegExp("."+s.display_image_size), "");
    }
    Lightbox.imageArray[Lightbox.activeImage][0] = original_image;
    image.onerror = function() { Lightbox.imgLoadingError(image); };
    image.src = original_image;
  },

  // imgLoadingError()
  imgLoadingError: function(image) {
    var s = Drupal.settings.lightbox2;
    Lightbox.imageArray[Lightbox.activeImage][0] = s.default_image;
    image.src = s.default_image;
  },

  // resizeContainer()
  resizeContainer: function(imgWidth, imgHeight) {

    imgWidth = (imgWidth < Lightbox.minWidth ? Lightbox.minWidth : imgWidth);

    this.widthCurrent = $('#outerImageContainer').width();
    this.heightCurrent = $('#outerImageContainer').height();

    var widthNew = (imgWidth  + (Lightbox.borderSize * 2));
    var heightNew = (imgHeight  + (Lightbox.borderSize * 2));

    // Scalars based on change from old to new.
    this.xScale = ( widthNew / this.widthCurrent) * 100;
    this.yScale = ( heightNew / this.heightCurrent) * 100;

    // Calculate size difference between new and old image, and resize if
    // necessary.
    wDiff = this.widthCurrent - widthNew;
    hDiff = this.heightCurrent - heightNew;

    $('#modalContainer').css({'width': imgWidth, 'height': imgHeight});
    // Detect animation sequence.
    if (Lightbox.resizeSequence) {
      var animate1 = {width: widthNew};
      var animate2 = {height: heightNew};
      if (Lightbox.resizeSequence == 2) {
        animate1 = {height: heightNew};
        animate2 = {width: widthNew};
      }
      $('#outerImageContainer').animate(animate1, Lightbox.resizeSpeed).animate(animate2, Lightbox.resizeSpeed, 'linear', function() { Lightbox.showData(); });
    }
    // Simultaneous.
    else {
      $('#outerImageContainer').animate({'width': widthNew, 'height': heightNew}, Lightbox.resizeSpeed, 'linear', function() { Lightbox.showData(); });
    }

    // If new and old image are same size and no scaling transition is necessary
    // do a quick pause to prevent image flicker.
    if ((hDiff === 0) && (wDiff === 0)) {
      if ($.browser.msie) {
        Lightbox.pause(250);
      }
      else {
        Lightbox.pause(100);
      }
    }

    var s = Drupal.settings.lightbox2;
    if (!s.use_alt_layout) {
      $('#prevLink, #nextLink').css({'height': imgHeight + 'px'});
    }
    $('#imageDataContainer').css({'width': widthNew + 'px'});
  },

  // showData()
  // Display image and begin preloading neighbors.
  showData: function() {
    $('#loading').hide();

    if (Lightbox.isLightframe || Lightbox.isVideo || Lightbox.isModal) {
      Lightbox.updateDetails();
      if (Lightbox.isLightframe) {
        $('#frameContainer').show();
        if ($.browser.safari || Lightbox.fadeInSpeed === 0) {
          $('#lightboxFrame').css({'zIndex': '10500'}).show();
        }
        else {
          $('#lightboxFrame').css({'zIndex': '10500'}).fadeIn(Lightbox.fadeInSpeed);
        }
      }
      else {
        if (Lightbox.isVideo) {
          $("#modalContainer").html(Lightbox.modalHTML).click(function(){return false;}).css('zIndex', '10500').show();
        }
        else {
          var src = unescape(Lightbox.imageArray[Lightbox.activeImage][0]);
          if (Lightbox.imageArray[Lightbox.activeImage][4]) {
            $(src).appendTo("#modalContainer");
            $('#modalContainer').css({'zIndex': '10500'}).show();
          }
          else {
            // Use a callback to show the new image, otherwise you get flicker.
            $("#modalContainer").hide().load(src, function () {$('#modalContainer').css({'zIndex': '10500'}).show();});
          }
          $('#modalContainer').unbind('click');
        }
        // This might be needed in the Lightframe section above.
        //$('#modalContainer').css({'zIndex': '10500'}).show();
      }
    }

    // Handle display of image content.
    else {
      $('#imageContainer').show();
      if ($.browser.safari || Lightbox.fadeInSpeed === 0) {
        $('#lightboxImage').css({'zIndex': '10500'}).show();
      }
      else {
        $('#lightboxImage').css({'zIndex': '10500'}).fadeIn(Lightbox.fadeInSpeed);
      }
      Lightbox.updateDetails();
      this.preloadNeighborImages();
    }
    Lightbox.inprogress = false;

    // Slideshow specific stuff.
    if (Lightbox.isSlideshow) {
      if (!Lightbox.loopSlides && Lightbox.activeImage == (Lightbox.total - 1)) {
        if (Lightbox.autoExit) {
          Lightbox.slideIdArray[Lightbox.slideIdCount++] = setTimeout(function () {Lightbox.end('slideshow');}, Lightbox.slideInterval);
        }
      }
      else {
        if (!Lightbox.isPaused && Lightbox.total > 1) {
          Lightbox.slideIdArray[Lightbox.slideIdCount++] = setTimeout(function () {Lightbox.changeData(Lightbox.activeImage + 1);}, Lightbox.slideInterval);
        }
      }
      if (Lightbox.showPlayPause && Lightbox.total > 1 && !Lightbox.isPaused) {
        $('#lightshowPause').show();
        $('#lightshowPlay').hide();
      }
      else if (Lightbox.showPlayPause && Lightbox.total > 1) {
        $('#lightshowPause').hide();
        $('#lightshowPlay').show();
      }
    }

    // Adjust the page overlay size.
    var arrayPageSize = Lightbox.getPageSize();
    var arrayPageScroll = Lightbox.getPageScroll();
    var pageHeight = arrayPageSize[1];
    if (Lightbox.isZoomedIn && arrayPageSize[1] > arrayPageSize[3]) {
      var lightboxTop = (Lightbox.topPosition == '' ? (arrayPageSize[3] / 10) : Lightbox.topPosition) * 1;
      pageHeight = pageHeight + arrayPageScroll[1] + lightboxTop;
    }
    $('#lightbox2-overlay').css({'height': pageHeight + 'px', 'width': arrayPageSize[0] + 'px'});

    // Gecko browsers (e.g. Firefox, SeaMonkey, etc) don't handle pdfs as
    // expected.
    if ($.browser.mozilla) {
      if (Lightbox.imageArray[Lightbox.activeImage][0].indexOf(".pdf") != -1) {
        setTimeout(function () {
          document.getElementById("lightboxFrame").src = Lightbox.imageArray[Lightbox.activeImage][0];
        }, 1000);
      }
    }
  },

  // updateDetails()
  // Display caption, image number, and bottom nav.
  updateDetails: function() {

    $("#imageDataContainer").hide();

    var s = Drupal.settings.lightbox2;

    if (s.show_caption) {
      var caption = Lightbox.filterXSS(Lightbox.imageArray[Lightbox.activeImage][1]);
      if (!caption) caption = '';
      $('#caption').html(caption).css({'zIndex': '10500'}).show();
    }

    // If image is part of set display 'Image x of x'.
    var numberDisplay = null;
    if (s.image_count && Lightbox.total > 1) {
      var currentImage = Lightbox.activeImage + 1;
      if (!Lightbox.isLightframe && !Lightbox.isModal && !Lightbox.isVideo) {
        numberDisplay = s.image_count.replace(/\!current/, currentImage).replace(/\!total/, Lightbox.total);
      }
      else if (Lightbox.isVideo) {
        numberDisplay = s.video_count.replace(/\!current/, currentImage).replace(/\!total/, Lightbox.total);
      }
      else {
        numberDisplay = s.page_count.replace(/\!current/, currentImage).replace(/\!total/, Lightbox.total);
      }
      $('#numberDisplay').html(numberDisplay).css({'zIndex': '10500'}).show();
    }
    else {
      $('#numberDisplay').hide();
    }

    $("#imageDataContainer").hide().slideDown(Lightbox.slideDownSpeed, function() {
      $("#bottomNav").show();
    });
    if (Lightbox.rtl == 1) {
      $("#bottomNav").css({'float': 'left'});
    }
    Lightbox.updateNav();
  },

  // updateNav()
  // Display appropriate previous and next hover navigation.
  updateNav: function() {

    $('#hoverNav').css({'zIndex': '10500'}).show();
    var prevLink = '#prevLink';
    var nextLink = '#nextLink';

    // Slideshow is separated as we need to show play / pause button.
    if (Lightbox.isSlideshow) {
      if ((Lightbox.total > 1 && Lightbox.loopSlides) || Lightbox.activeImage !== 0) {
        $(prevLink).css({'zIndex': '10500'}).show().click(function() {
          if (Lightbox.pauseOnPrevClick) {
            Lightbox.togglePlayPause("lightshowPause", "lightshowPlay");
          }
          Lightbox.changeData(Lightbox.activeImage - 1); return false;
        });
      }
      else {
        $(prevLink).hide();
      }

      // If not last image in set, display next image button.
      if ((Lightbox.total > 1 && Lightbox.loopSlides) || Lightbox.activeImage != (Lightbox.total - 1)) {
        $(nextLink).css({'zIndex': '10500'}).show().click(function() {
          if (Lightbox.pauseOnNextClick) {
            Lightbox.togglePlayPause("lightshowPause", "lightshowPlay");
          }
          Lightbox.changeData(Lightbox.activeImage + 1); return false;
        });
      }
      // Safari browsers need to have hide() called again.
      else {
        $(nextLink).hide();
      }
    }

    // All other types of content.
    else {

      if ((Lightbox.isLightframe || Lightbox.isModal || Lightbox.isVideo) && !Lightbox.alternative_layout) {
        $('#frameHoverNav').css({'zIndex': '10500'}).show();
        $('#hoverNav').css({'zIndex': '10500'}).hide();
        prevLink = '#framePrevLink';
        nextLink = '#frameNextLink';
      }

      // If not first image in set, display prev image button.
      if ((Lightbox.total > 1 && Lightbox.loopItems) || Lightbox.activeImage !== 0) {
        // Unbind any other click handlers, otherwise this adds a new click handler
        // each time the arrow is clicked.
        $(prevLink).css({'zIndex': '10500'}).show().unbind().click(function() {
          Lightbox.changeData(Lightbox.activeImage - 1); return false;
        });
      }
      // Safari browsers need to have hide() called again.
      else {
        $(prevLink).hide();
      }

      // If not last image in set, display next image button.
      if ((Lightbox.total > 1 && Lightbox.loopItems) || Lightbox.activeImage != (Lightbox.total - 1)) {
        // Unbind any other click handlers, otherwise this adds a new click handler
        // each time the arrow is clicked.
        $(nextLink).css({'zIndex': '10500'}).show().unbind().click(function() {
          Lightbox.changeData(Lightbox.activeImage + 1); return false;
        });
      }
      // Safari browsers need to have hide() called again.
      else {
        $(nextLink).hide();
      }
    }

    // Don't enable keyboard shortcuts so forms will work.
    if (!Lightbox.isModal) {
      this.enableKeyboardNav();
    }
  },


  // enableKeyboardNav()
  enableKeyboardNav: function() {
    $(document).bind("keydown", this.keyboardAction);
  },

  // disableKeyboardNav()
  disableKeyboardNav: function() {
    $(document).unbind("keydown", this.keyboardAction);
  },

  // keyboardAction()
  keyboardAction: function(e) {
    if (e === null) { // IE.
      keycode = event.keyCode;
      escapeKey = 27;
    }
    else { // Mozilla.
      keycode = e.keyCode;
      escapeKey = e.DOM_VK_ESCAPE;
    }

    key = String.fromCharCode(keycode).toLowerCase();

    // Close lightbox.
    if (Lightbox.checkKey(Lightbox.keysClose, key, keycode)) {
      Lightbox.end('forceClose');
    }
    // Display previous image (p, <-).
    else if (Lightbox.checkKey(Lightbox.keysPrevious, key, keycode)) {
      if ((Lightbox.total > 1 && ((Lightbox.isSlideshow && Lightbox.loopSlides) || (!Lightbox.isSlideshow && Lightbox.loopItems))) || Lightbox.activeImage !== 0) {
        Lightbox.changeData(Lightbox.activeImage - 1);
      }

    }
    // Display next image (n, ->).
    else if (Lightbox.checkKey(Lightbox.keysNext, key, keycode)) {
      if ((Lightbox.total > 1 && ((Lightbox.isSlideshow && Lightbox.loopSlides) || (!Lightbox.isSlideshow && Lightbox.loopItems))) || Lightbox.activeImage != (Lightbox.total - 1)) {
        Lightbox.changeData(Lightbox.activeImage + 1);
      }
    }
    // Zoom in.
    else if (Lightbox.checkKey(Lightbox.keysZoom, key, keycode) && !Lightbox.disableResize && !Lightbox.disableZoom && !Lightbox.isSlideshow && !Lightbox.isLightframe) {
      if (Lightbox.isZoomedIn) {
        Lightbox.changeData(Lightbox.activeImage, false);
      }
      else if (!Lightbox.isZoomedIn) {
        Lightbox.changeData(Lightbox.activeImage, true);
      }
      return false;
    }
    // Toggle play / pause (space).
    else if (Lightbox.checkKey(Lightbox.keysPlayPause, key, keycode) && Lightbox.isSlideshow) {

      if (Lightbox.isPaused) {
        Lightbox.togglePlayPause("lightshowPlay", "lightshowPause");
      }
      else {
        Lightbox.togglePlayPause("lightshowPause", "lightshowPlay");
      }
      return false;
    }
  },

  preloadNeighborImages: function() {

    if ((Lightbox.total - 1) > Lightbox.activeImage) {
      preloadNextImage = new Image();
      preloadNextImage.src = Lightbox.imageArray[Lightbox.activeImage + 1][0];
    }
    if (Lightbox.activeImage > 0) {
      preloadPrevImage = new Image();
      preloadPrevImage.src = Lightbox.imageArray[Lightbox.activeImage - 1][0];
    }

  },

  end: function(caller) {
    var closeClick = (caller == 'slideshow' ? false : true);
    if (Lightbox.isSlideshow && Lightbox.isPaused && !closeClick) {
      return;
    }
    // To prevent double clicks on navigation links.
    if (Lightbox.inprogress === true && caller != 'forceClose') {
      return;
    }
    Lightbox.disableKeyboardNav();
    $('#lightbox').hide();
    $("#lightbox2-overlay").fadeOut();
    Lightbox.isPaused = true;
    Lightbox.inprogress = false;
    // Replaces calls to showSelectBoxes() and showFlash() in original
    // lightbox2.
    Lightbox.toggleSelectsFlash('visible');
    if (Lightbox.isSlideshow) {
      for (var i = 0; i < Lightbox.slideIdCount; i++) {
        window.clearTimeout(Lightbox.slideIdArray[i]);
      }
      $('#lightshowPause, #lightshowPlay').hide();
    }
    else if (Lightbox.isLightframe) {
      $('#frameContainer').empty().hide();
    }
    else if (Lightbox.isVideo || Lightbox.isModal) {
      if (!Lightbox.auto_modal) {
        $('#modalContainer').hide().html("");
      }
      Lightbox.auto_modal = false;
    }
  },


  // getPageScroll()
  // Returns array with x,y page scroll values.
  // Core code from - quirksmode.com.
  getPageScroll : function() {

    var xScroll, yScroll;

    if (self.pageYOffset || self.pageXOffset) {
      yScroll = self.pageYOffset;
      xScroll = self.pageXOffset;
    }
    else if (document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollLeft)) {  // Explorer 6 Strict.
      yScroll = document.documentElement.scrollTop;
      xScroll = document.documentElement.scrollLeft;
    }
    else if (document.body) {// All other Explorers.
      yScroll = document.body.scrollTop;
      xScroll = document.body.scrollLeft;
    }

    arrayPageScroll = [xScroll,yScroll];
    return arrayPageScroll;
  },

  // getPageSize()
  // Returns array with page width, height and window width, height.
  // Core code from - quirksmode.com.
  // Edit for Firefox by pHaez.

  getPageSize : function() {

    var xScroll, yScroll;

    if (window.innerHeight && window.scrollMaxY) {
      xScroll = window.innerWidth + window.scrollMaxX;
      yScroll = window.innerHeight + window.scrollMaxY;
    }
    else if (document.body.scrollHeight > document.body.offsetHeight) { // All but Explorer Mac.
      xScroll = document.body.scrollWidth;
      yScroll = document.body.scrollHeight;
    }
    else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari.
      xScroll = document.body.offsetWidth;
      yScroll = document.body.offsetHeight;
    }

    var windowWidth, windowHeight;

    if (self.innerHeight) { // All except Explorer.
      if (document.documentElement.clientWidth) {
        windowWidth = document.documentElement.clientWidth;
      }
      else {
        windowWidth = self.innerWidth;
      }
      windowHeight = self.innerHeight;
    }
    else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode.
      windowWidth = document.documentElement.clientWidth;
      windowHeight = document.documentElement.clientHeight;
    }
    else if (document.body) { // Other Explorers.
      windowWidth = document.body.clientWidth;
      windowHeight = document.body.clientHeight;
    }
    // For small pages with total height less than height of the viewport.
    if (yScroll < windowHeight) {
      pageHeight = windowHeight;
    }
    else {
      pageHeight = yScroll;
    }
    // For small pages with total width less than width of the viewport.
    if (xScroll < windowWidth) {
      pageWidth = xScroll;
    }
    else {
      pageWidth = windowWidth;
    }
    arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
    return arrayPageSize;
  },


  // pause(numberMillis)
  pause : function(ms) {
    var date = new Date();
    var curDate = null;
    do { curDate = new Date(); }
    while (curDate - date < ms);
  },


  // toggleSelectsFlash()
  // Hide / unhide select lists and flash objects as they appear above the
  // lightbox in some browsers.
  toggleSelectsFlash: function (state) {
    if (state == 'visible') {
      $("select.lightbox_hidden, embed.lightbox_hidden, object.lightbox_hidden").show();
    }
    else if (state == 'hide') {
      $("select:visible, embed:visible, object:visible").not('#lightboxAutoModal select, #lightboxAutoModal embed, #lightboxAutoModal object').addClass("lightbox_hidden");
      $("select.lightbox_hidden, embed.lightbox_hidden, object.lightbox_hidden").hide();
    }
  },


  // parseRel()
  parseRel: function (link) {
    var parts = [];
    parts["rel"] = parts["title"] = parts["group"] = parts["style"] = parts["flashvars"] = null;
    if (!$(link).attr('rel')) return parts;
    parts["rel"] = $(link).attr('rel').match(/\w+/)[0];

    if ($(link).attr('rel').match(/\[(.*)\]/)) {
      var info = $(link).attr('rel').match(/\[(.*?)\]/)[1].split('|');
      parts["group"] = info[0];
      parts["style"] = info[1];
      if (parts["style"] != undefined && parts["style"].match(/flashvars:\s?(.*?);/)) {
        parts["flashvars"] = parts["style"].match(/flashvars:\s?(.*?);/)[1];
      }
    }
    if ($(link).attr('rel').match(/\[.*\]\[(.*)\]/)) {
      parts["title"] = $(link).attr('rel').match(/\[.*\]\[(.*)\]/)[1];
    }
    return parts;
  },

  // setStyles()
  setStyles: function(item, styles) {
    item.width = Lightbox.iframe_width;
    item.height = Lightbox.iframe_height;
    item.scrolling = "auto";

    if (!styles) return item;
    var stylesArray = styles.split(';');
    for (var i = 0; i< stylesArray.length; i++) {
      if (stylesArray[i].indexOf('width:') >= 0) {
        var w = stylesArray[i].replace('width:', '');
        item.width = jQuery.trim(w);
      }
      else if (stylesArray[i].indexOf('height:') >= 0) {
        var h = stylesArray[i].replace('height:', '');
        item.height = jQuery.trim(h);
      }
      else if (stylesArray[i].indexOf('scrolling:') >= 0) {
        var scrolling = stylesArray[i].replace('scrolling:', '');
        item.scrolling = jQuery.trim(scrolling);
      }
      else if (stylesArray[i].indexOf('overflow:') >= 0) {
        var overflow = stylesArray[i].replace('overflow:', '');
        item.overflow = jQuery.trim(overflow);
      }
    }
    return item;
  },


  // togglePlayPause()
  // Hide the pause / play button as appropriate.  If pausing the slideshow also
  // clear the timers, otherwise move onto the next image.
  togglePlayPause: function(hideId, showId) {
    if (Lightbox.isSlideshow && hideId == "lightshowPause") {
      for (var i = 0; i < Lightbox.slideIdCount; i++) {
        window.clearTimeout(Lightbox.slideIdArray[i]);
      }
    }
    $('#' + hideId).hide();
    $('#' + showId).show();

    if (hideId == "lightshowPlay") {
      Lightbox.isPaused = false;
      if (!Lightbox.loopSlides && Lightbox.activeImage == (Lightbox.total - 1)) {
        Lightbox.end();
      }
      else if (Lightbox.total > 1) {
        Lightbox.changeData(Lightbox.activeImage + 1);
      }
    }
    else {
      Lightbox.isPaused = true;
    }
  },

  triggerLightbox: function (rel_type, rel_group) {
    if (rel_type.length) {
      if (rel_group && rel_group.length) {
        $("a[rel^='" + rel_type +"\[" + rel_group + "\]'], area[rel^='" + rel_type +"\[" + rel_group + "\]']").eq(0).trigger("click");
      }
      else {
        $("a[rel^='" + rel_type +"'], area[rel^='" + rel_type +"']").eq(0).trigger("click");
      }
    }
  },

  detectMacFF2: function() {
    var ua = navigator.userAgent.toLowerCase();
    if (/firefox[\/\s](\d+\.\d+)/.test(ua)) {
      var ffversion = new Number(RegExp.$1);
      if (ffversion < 3 && ua.indexOf('mac') != -1) {
        return true;
      }
    }
    return false;
  },

  checkKey: function(keys, key, code) {
    return (jQuery.inArray(key, keys) != -1 || jQuery.inArray(String(code), keys) != -1);
  },

  filterXSS: function(str, allowed_tags) {
    var output = "";
    $.ajax({
      url: Drupal.settings.basePath + 'system/lightbox2/filter-xss',
      data: {
        'string' : str,
        'allowed_tags' : allowed_tags
      },
      type: "POST",
      async: false,
      dataType:  "json",
      success: function(data) {
        output = data;
      }
    });
    return output;
  }

};

// Initialize the lightbox.
Drupal.behaviors.initLightbox = function (context) {
  $('body:not(.lightbox-processed)', context).addClass('lightbox-processed').each(function() {
    Lightbox.initialize();
    return false; // Break the each loop.
  });

  // Attach lightbox to any links with lightbox rels.
  Lightbox.initList(context);
  $('#lightboxAutoModal', context).triggerHandler('click');
};

;
/*
 * jQuery Cycle Plugin (with Transition Definitions)
 * Examples and documentation at: http://jquery.malsup.com/cycle/
 * Copyright (c) 2007-2010 M. Alsup
 * Version: 2.88 (08-JUN-2010)
 * Dual licensed under the MIT and GPL licenses.
 * http://jquery.malsup.com/license.html
 * Requires: jQuery v1.2.6 or later
 */
(function($){var ver="2.88";if($.support==undefined){$.support={opacity:!($.browser.msie)};}function debug(s){if($.fn.cycle.debug){log(s);}}function log(){if(window.console&&window.console.log){window.console.log("[cycle] "+Array.prototype.join.call(arguments," "));}}$.fn.cycle=function(options,arg2){var o={s:this.selector,c:this.context};if(this.length===0&&options!="stop"){if(!$.isReady&&o.s){log("DOM not ready, queuing slideshow");$(function(){$(o.s,o.c).cycle(options,arg2);});return this;}log("terminating; zero elements found by selector"+($.isReady?"":" (DOM not ready)"));return this;}return this.each(function(){var opts=handleArguments(this,options,arg2);if(opts===false){return;}opts.updateActivePagerLink=opts.updateActivePagerLink||$.fn.cycle.updateActivePagerLink;if(this.cycleTimeout){clearTimeout(this.cycleTimeout);}this.cycleTimeout=this.cyclePause=0;var $cont=$(this);var $slides=opts.slideExpr?$(opts.slideExpr,this):$cont.children();var els=$slides.get();if(els.length<2){log("terminating; too few slides: "+els.length);return;}var opts2=buildOptions($cont,$slides,els,opts,o);if(opts2===false){return;}var startTime=opts2.continuous?10:getTimeout(els[opts2.currSlide],els[opts2.nextSlide],opts2,!opts2.rev);if(startTime){startTime+=(opts2.delay||0);if(startTime<10){startTime=10;}debug("first timeout: "+startTime);this.cycleTimeout=setTimeout(function(){go(els,opts2,0,(!opts2.rev&&!opts.backwards));},startTime);}});};function handleArguments(cont,options,arg2){if(cont.cycleStop==undefined){cont.cycleStop=0;}if(options===undefined||options===null){options={};}if(options.constructor==String){switch(options){case"destroy":case"stop":var opts=$(cont).data("cycle.opts");if(!opts){return false;}cont.cycleStop++;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);}cont.cycleTimeout=0;$(cont).removeData("cycle.opts");if(options=="destroy"){destroy(opts);}return false;case"toggle":cont.cyclePause=(cont.cyclePause===1)?0:1;checkInstantResume(cont.cyclePause,arg2,cont);return false;case"pause":cont.cyclePause=1;return false;case"resume":cont.cyclePause=0;checkInstantResume(false,arg2,cont);return false;case"prev":case"next":var opts=$(cont).data("cycle.opts");if(!opts){log('options not found, "prev/next" ignored');return false;}$.fn.cycle[options](opts);return false;default:options={fx:options};}return options;}else{if(options.constructor==Number){var num=options;options=$(cont).data("cycle.opts");if(!options){log("options not found, can not advance slide");return false;}if(num<0||num>=options.elements.length){log("invalid slide index: "+num);return false;}options.nextSlide=num;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;}if(typeof arg2=="string"){options.oneTimeFx=arg2;}go(options.elements,options,1,num>=options.currSlide);return false;}}return options;function checkInstantResume(isPaused,arg2,cont){if(!isPaused&&arg2===true){var options=$(cont).data("cycle.opts");if(!options){log("options not found, can not resume");return false;}if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;}go(options.elements,options,1,(!opts.rev&&!opts.backwards));}}}function removeFilter(el,opts){if(!$.support.opacity&&opts.cleartype&&el.style.filter){try{el.style.removeAttribute("filter");}catch(smother){}}}function destroy(opts){if(opts.next){$(opts.next).unbind(opts.prevNextEvent);}if(opts.prev){$(opts.prev).unbind(opts.prevNextEvent);}if(opts.pager||opts.pagerAnchorBuilder){$.each(opts.pagerAnchors||[],function(){this.unbind().remove();});}opts.pagerAnchors=null;if(opts.destroy){opts.destroy(opts);}}function buildOptions($cont,$slides,els,options,o){var opts=$.extend({},$.fn.cycle.defaults,options||{},$.metadata?$cont.metadata():$.meta?$cont.data():{});if(opts.autostop){opts.countdown=opts.autostopCount||els.length;}var cont=$cont[0];$cont.data("cycle.opts",opts);opts.$cont=$cont;opts.stopCount=cont.cycleStop;opts.elements=els;opts.before=opts.before?[opts.before]:[];opts.after=opts.after?[opts.after]:[];opts.after.unshift(function(){opts.busy=0;});if(!$.support.opacity&&opts.cleartype){opts.after.push(function(){removeFilter(this,opts);});}if(opts.continuous){opts.after.push(function(){go(els,opts,0,(!opts.rev&&!opts.backwards));});}saveOriginalOpts(opts);if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg){clearTypeFix($slides);}if($cont.css("position")=="static"){$cont.css("position","relative");}if(opts.width){$cont.width(opts.width);}if(opts.height&&opts.height!="auto"){$cont.height(opts.height);}if(opts.startingSlide){opts.startingSlide=parseInt(opts.startingSlide);}else{if(opts.backwards){opts.startingSlide=els.length-1;}}if(opts.random){opts.randomMap=[];for(var i=0;i<els.length;i++){opts.randomMap.push(i);}opts.randomMap.sort(function(a,b){return Math.random()-0.5;});opts.randomIndex=1;opts.startingSlide=opts.randomMap[1];}else{if(opts.startingSlide>=els.length){opts.startingSlide=0;}}opts.currSlide=opts.startingSlide||0;var first=opts.startingSlide;$slides.css({position:"absolute",top:0,left:0}).hide().each(function(i){var z;if(opts.backwards){z=first?i<=first?els.length+(i-first):first-i:els.length-i;}else{z=first?i>=first?els.length-(i-first):first-i:els.length-i;}$(this).css("z-index",z);});$(els[first]).css("opacity",1).show();removeFilter(els[first],opts);if(opts.fit&&opts.width){$slides.width(opts.width);}if(opts.fit&&opts.height&&opts.height!="auto"){$slides.height(opts.height);}var reshape=opts.containerResize&&!$cont.innerHeight();if(reshape){var maxw=0,maxh=0;for(var j=0;j<els.length;j++){var $e=$(els[j]),e=$e[0],w=$e.outerWidth(),h=$e.outerHeight();if(!w){w=e.offsetWidth||e.width||$e.attr("width");}if(!h){h=e.offsetHeight||e.height||$e.attr("height");}maxw=w>maxw?w:maxw;maxh=h>maxh?h:maxh;}if(maxw>0&&maxh>0){$cont.css({width:maxw+"px",height:maxh+"px"});}}if(opts.pause){$cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});}if(supportMultiTransitions(opts)===false){return false;}var requeue=false;options.requeueAttempts=options.requeueAttempts||0;$slides.each(function(){var $el=$(this);this.cycleH=(opts.fit&&opts.height)?opts.height:($el.height()||this.offsetHeight||this.height||$el.attr("height")||0);this.cycleW=(opts.fit&&opts.width)?opts.width:($el.width()||this.offsetWidth||this.width||$el.attr("width")||0);if($el.is("img")){var loadingIE=($.browser.msie&&this.cycleW==28&&this.cycleH==30&&!this.complete);var loadingFF=($.browser.mozilla&&this.cycleW==34&&this.cycleH==19&&!this.complete);var loadingOp=($.browser.opera&&((this.cycleW==42&&this.cycleH==19)||(this.cycleW==37&&this.cycleH==17))&&!this.complete);var loadingOther=(this.cycleH==0&&this.cycleW==0&&!this.complete);if(loadingIE||loadingFF||loadingOp||loadingOther){if(o.s&&opts.requeueOnImageNotLoaded&&++options.requeueAttempts<100){log(options.requeueAttempts," - img slide not loaded, requeuing slideshow: ",this.src,this.cycleW,this.cycleH);setTimeout(function(){$(o.s,o.c).cycle(options);},opts.requeueTimeout);requeue=true;return false;}else{log("could not determine size of image: "+this.src,this.cycleW,this.cycleH);}}}return true;});if(requeue){return false;}opts.cssBefore=opts.cssBefore||{};opts.animIn=opts.animIn||{};opts.animOut=opts.animOut||{};$slides.not(":eq("+first+")").css(opts.cssBefore);if(opts.cssFirst){$($slides[first]).css(opts.cssFirst);}if(opts.timeout){opts.timeout=parseInt(opts.timeout);if(opts.speed.constructor==String){opts.speed=$.fx.speeds[opts.speed]||parseInt(opts.speed);}if(!opts.sync){opts.speed=opts.speed/2;}var buffer=opts.fx=="shuffle"?500:250;while((opts.timeout-opts.speed)<buffer){opts.timeout+=opts.speed;}}if(opts.easing){opts.easeIn=opts.easeOut=opts.easing;}if(!opts.speedIn){opts.speedIn=opts.speed;}if(!opts.speedOut){opts.speedOut=opts.speed;}opts.slideCount=els.length;opts.currSlide=opts.lastSlide=first;if(opts.random){if(++opts.randomIndex==els.length){opts.randomIndex=0;}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{if(opts.backwards){opts.nextSlide=opts.startingSlide==0?(els.length-1):opts.startingSlide-1;}else{opts.nextSlide=opts.startingSlide>=(els.length-1)?0:opts.startingSlide+1;}}if(!opts.multiFx){var init=$.fn.cycle.transitions[opts.fx];if($.isFunction(init)){init($cont,$slides,opts);}else{if(opts.fx!="custom"&&!opts.multiFx){log("unknown transition: "+opts.fx,"; slideshow terminating");return false;}}}var e0=$slides[first];if(opts.before.length){opts.before[0].apply(e0,[e0,e0,opts,true]);}if(opts.after.length>1){opts.after[1].apply(e0,[e0,e0,opts,true]);}if(opts.next){$(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?-1:1);});}if(opts.prev){$(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?1:-1);});}if(opts.pager||opts.pagerAnchorBuilder){buildPager(els,opts);}exposeAddSlide(opts,els);return opts;}function saveOriginalOpts(opts){opts.original={before:[],after:[]};opts.original.cssBefore=$.extend({},opts.cssBefore);opts.original.cssAfter=$.extend({},opts.cssAfter);opts.original.animIn=$.extend({},opts.animIn);opts.original.animOut=$.extend({},opts.animOut);$.each(opts.before,function(){opts.original.before.push(this);});$.each(opts.after,function(){opts.original.after.push(this);});}function supportMultiTransitions(opts){var i,tx,txs=$.fn.cycle.transitions;if(opts.fx.indexOf(",")>0){opts.multiFx=true;opts.fxs=opts.fx.replace(/\s*/g,"").split(",");for(i=0;i<opts.fxs.length;i++){var fx=opts.fxs[i];tx=txs[fx];if(!tx||!txs.hasOwnProperty(fx)||!$.isFunction(tx)){log("discarding unknown transition: ",fx);opts.fxs.splice(i,1);i--;}}if(!opts.fxs.length){log("No valid transitions named; slideshow terminating.");return false;}}else{if(opts.fx=="all"){opts.multiFx=true;opts.fxs=[];for(p in txs){tx=txs[p];if(txs.hasOwnProperty(p)&&$.isFunction(tx)){opts.fxs.push(p);}}}}if(opts.multiFx&&opts.randomizeEffects){var r1=Math.floor(Math.random()*20)+30;for(i=0;i<r1;i++){var r2=Math.floor(Math.random()*opts.fxs.length);opts.fxs.push(opts.fxs.splice(r2,1)[0]);}debug("randomized fx sequence: ",opts.fxs);}return true;}function exposeAddSlide(opts,els){opts.addSlide=function(newSlide,prepend){var $s=$(newSlide),s=$s[0];if(!opts.autostopCount){opts.countdown++;}els[prepend?"unshift":"push"](s);if(opts.els){opts.els[prepend?"unshift":"push"](s);}opts.slideCount=els.length;$s.css("position","absolute");$s[prepend?"prependTo":"appendTo"](opts.$cont);if(prepend){opts.currSlide++;opts.nextSlide++;}if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg){clearTypeFix($s);}if(opts.fit&&opts.width){$s.width(opts.width);}if(opts.fit&&opts.height&&opts.height!="auto"){$slides.height(opts.height);}s.cycleH=(opts.fit&&opts.height)?opts.height:$s.height();s.cycleW=(opts.fit&&opts.width)?opts.width:$s.width();$s.css(opts.cssBefore);if(opts.pager||opts.pagerAnchorBuilder){$.fn.cycle.createPagerAnchor(els.length-1,s,$(opts.pager),els,opts);}if($.isFunction(opts.onAddSlide)){opts.onAddSlide($s);}else{$s.hide();}};}$.fn.cycle.resetState=function(opts,fx){fx=fx||opts.fx;opts.before=[];opts.after=[];opts.cssBefore=$.extend({},opts.original.cssBefore);opts.cssAfter=$.extend({},opts.original.cssAfter);opts.animIn=$.extend({},opts.original.animIn);opts.animOut=$.extend({},opts.original.animOut);opts.fxFn=null;$.each(opts.original.before,function(){opts.before.push(this);});$.each(opts.original.after,function(){opts.after.push(this);});var init=$.fn.cycle.transitions[fx];if($.isFunction(init)){init(opts.$cont,$(opts.elements),opts);}};function go(els,opts,manual,fwd){if(manual&&opts.busy&&opts.manualTrump){debug("manualTrump in go(), stopping active transition");$(els).stop(true,true);opts.busy=false;}if(opts.busy){debug("transition active, ignoring new tx request");return;}var p=opts.$cont[0],curr=els[opts.currSlide],next=els[opts.nextSlide];if(p.cycleStop!=opts.stopCount||p.cycleTimeout===0&&!manual){return;}if(!manual&&!p.cyclePause&&!opts.bounce&&((opts.autostop&&(--opts.countdown<=0))||(opts.nowrap&&!opts.random&&opts.nextSlide<opts.currSlide))){if(opts.end){opts.end(opts);}return;}var changed=false;if((manual||!p.cyclePause)&&(opts.nextSlide!=opts.currSlide)){changed=true;var fx=opts.fx;curr.cycleH=curr.cycleH||$(curr).height();curr.cycleW=curr.cycleW||$(curr).width();next.cycleH=next.cycleH||$(next).height();next.cycleW=next.cycleW||$(next).width();if(opts.multiFx){if(opts.lastFx==undefined||++opts.lastFx>=opts.fxs.length){opts.lastFx=0;}fx=opts.fxs[opts.lastFx];opts.currFx=fx;}if(opts.oneTimeFx){fx=opts.oneTimeFx;opts.oneTimeFx=null;}$.fn.cycle.resetState(opts,fx);if(opts.before.length){$.each(opts.before,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});}var after=function(){$.each(opts.after,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});};debug("tx firing; currSlide: "+opts.currSlide+"; nextSlide: "+opts.nextSlide);opts.busy=1;if(opts.fxFn){opts.fxFn(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}else{if($.isFunction($.fn.cycle[opts.fx])){$.fn.cycle[opts.fx](curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}else{$.fn.cycle.custom(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}}}if(changed||opts.nextSlide==opts.currSlide){opts.lastSlide=opts.currSlide;if(opts.random){opts.currSlide=opts.nextSlide;if(++opts.randomIndex==els.length){opts.randomIndex=0;}opts.nextSlide=opts.randomMap[opts.randomIndex];if(opts.nextSlide==opts.currSlide){opts.nextSlide=(opts.currSlide==opts.slideCount-1)?0:opts.currSlide+1;}}else{if(opts.backwards){var roll=(opts.nextSlide-1)<0;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=1;opts.currSlide=0;}else{opts.nextSlide=roll?(els.length-1):opts.nextSlide-1;opts.currSlide=roll?0:opts.nextSlide+1;}}else{var roll=(opts.nextSlide+1)==els.length;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=els.length-2;opts.currSlide=els.length-1;}else{opts.nextSlide=roll?0:opts.nextSlide+1;opts.currSlide=roll?els.length-1:opts.nextSlide-1;}}}}if(changed&&opts.pager){opts.updateActivePagerLink(opts.pager,opts.currSlide,opts.activePagerClass);}var ms=0;if(opts.timeout&&!opts.continuous){ms=getTimeout(els[opts.currSlide],els[opts.nextSlide],opts,fwd);}else{if(opts.continuous&&p.cyclePause){ms=10;}}if(ms>0){p.cycleTimeout=setTimeout(function(){go(els,opts,0,(!opts.rev&&!opts.backwards));},ms);}}$.fn.cycle.updateActivePagerLink=function(pager,currSlide,clsName){$(pager).each(function(){$(this).children().removeClass(clsName).eq(currSlide).addClass(clsName);});};function getTimeout(curr,next,opts,fwd){if(opts.timeoutFn){var t=opts.timeoutFn.call(curr,curr,next,opts,fwd);while((t-opts.speed)<250){t+=opts.speed;}debug("calculated timeout: "+t+"; speed: "+opts.speed);if(t!==false){return t;}}return opts.timeout;}$.fn.cycle.next=function(opts){advance(opts,opts.rev?-1:1);};$.fn.cycle.prev=function(opts){advance(opts,opts.rev?1:-1);};function advance(opts,val){var els=opts.elements;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}if(opts.random&&val<0){opts.randomIndex--;if(--opts.randomIndex==-2){opts.randomIndex=els.length-2;}else{if(opts.randomIndex==-1){opts.randomIndex=els.length-1;}}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{if(opts.random){opts.nextSlide=opts.randomMap[opts.randomIndex];}else{opts.nextSlide=opts.currSlide+val;if(opts.nextSlide<0){if(opts.nowrap){return false;}opts.nextSlide=els.length-1;}else{if(opts.nextSlide>=els.length){if(opts.nowrap){return false;}opts.nextSlide=0;}}}}var cb=opts.onPrevNextEvent||opts.prevNextClick;if($.isFunction(cb)){cb(val>0,opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,val>=0);return false;}function buildPager(els,opts){var $p=$(opts.pager);$.each(els,function(i,o){$.fn.cycle.createPagerAnchor(i,o,$p,els,opts);});opts.updateActivePagerLink(opts.pager,opts.startingSlide,opts.activePagerClass);}$.fn.cycle.createPagerAnchor=function(i,el,$p,els,opts){var a;if($.isFunction(opts.pagerAnchorBuilder)){a=opts.pagerAnchorBuilder(i,el);debug("pagerAnchorBuilder("+i+", el) returned: "+a);}else{a='<a href="#">'+(i+1)+"</a>";}if(!a){return;}var $a=$(a);if($a.parents("body").length===0){var arr=[];if($p.length>1){$p.each(function(){var $clone=$a.clone(true);$(this).append($clone);arr.push($clone[0]);});$a=$(arr);}else{$a.appendTo($p);}}opts.pagerAnchors=opts.pagerAnchors||[];opts.pagerAnchors.push($a);$a.bind(opts.pagerEvent,function(e){e.preventDefault();opts.nextSlide=i;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}var cb=opts.onPagerEvent||opts.pagerClick;if($.isFunction(cb)){cb(opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,opts.currSlide<i);});if(!/^click/.test(opts.pagerEvent)&&!opts.allowPagerClickBubble){$a.bind("click.cycle",function(){return false;});}if(opts.pauseOnPagerHover){$a.hover(function(){opts.$cont[0].cyclePause++;},function(){opts.$cont[0].cyclePause--;});}};$.fn.cycle.hopsFromLast=function(opts,fwd){var hops,l=opts.lastSlide,c=opts.currSlide;if(fwd){hops=c>l?c-l:opts.slideCount-l;}else{hops=c<l?l-c:l+opts.slideCount-c;}return hops;};function clearTypeFix($slides){debug("applying clearType background-color hack");function hex(s){s=parseInt(s).toString(16);return s.length<2?"0"+s:s;}function getBg(e){for(;e&&e.nodeName.toLowerCase()!="html";e=e.parentNode){var v=$.css(e,"background-color");if(v.indexOf("rgb")>=0){var rgb=v.match(/\d+/g);return"#"+hex(rgb[0])+hex(rgb[1])+hex(rgb[2]);}if(v&&v!="transparent"){return v;}}return"#ffffff";}$slides.each(function(){$(this).css("background-color",getBg(this));});}$.fn.cycle.commonReset=function(curr,next,opts,w,h,rev){$(opts.elements).not(curr).hide();opts.cssBefore.opacity=1;opts.cssBefore.display="block";if(w!==false&&next.cycleW>0){opts.cssBefore.width=next.cycleW;}if(h!==false&&next.cycleH>0){opts.cssBefore.height=next.cycleH;}opts.cssAfter=opts.cssAfter||{};opts.cssAfter.display="none";$(curr).css("zIndex",opts.slideCount+(rev===true?1:0));$(next).css("zIndex",opts.slideCount+(rev===true?0:1));};$.fn.cycle.custom=function(curr,next,opts,cb,fwd,speedOverride){var $l=$(curr),$n=$(next);var speedIn=opts.speedIn,speedOut=opts.speedOut,easeIn=opts.easeIn,easeOut=opts.easeOut;$n.css(opts.cssBefore);if(speedOverride){if(typeof speedOverride=="number"){speedIn=speedOut=speedOverride;}else{speedIn=speedOut=1;}easeIn=easeOut=null;}var fn=function(){$n.animate(opts.animIn,speedIn,easeIn,cb);};$l.animate(opts.animOut,speedOut,easeOut,function(){if(opts.cssAfter){$l.css(opts.cssAfter);}if(!opts.sync){fn();}});if(opts.sync){fn();}};$.fn.cycle.transitions={fade:function($cont,$slides,opts){$slides.not(":eq("+opts.currSlide+")").css("opacity",0);opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.opacity=0;});opts.animIn={opacity:1};opts.animOut={opacity:0};opts.cssBefore={top:0,left:0};}};$.fn.cycle.ver=function(){return ver;};$.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:!$.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);
/*
 * jQuery Cycle Plugin Transition Definitions
 * This script is a plugin for the jQuery Cycle Plugin
 * Examples and documentation at: http://malsup.com/jquery/cycle/
 * Copyright (c) 2007-2010 M. Alsup
 * Version:	 2.72
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */
(function($){$.fn.cycle.transitions.none=function($cont,$slides,opts){opts.fxFn=function(curr,next,opts,after){$(next).show();$(curr).hide();after();};};$.fn.cycle.transitions.scrollUp=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var h=$cont.height();opts.cssBefore={top:h,left:0};opts.cssFirst={top:0};opts.animIn={top:0};opts.animOut={top:-h};};$.fn.cycle.transitions.scrollDown=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var h=$cont.height();opts.cssFirst={top:0};opts.cssBefore={top:-h,left:0};opts.animIn={top:0};opts.animOut={top:h};};$.fn.cycle.transitions.scrollLeft=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var w=$cont.width();opts.cssFirst={left:0};opts.cssBefore={left:w,top:0};opts.animIn={left:0};opts.animOut={left:0-w};};$.fn.cycle.transitions.scrollRight=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push($.fn.cycle.commonReset);var w=$cont.width();opts.cssFirst={left:0};opts.cssBefore={left:-w,top:0};opts.animIn={left:0};opts.animOut={left:w};};$.fn.cycle.transitions.scrollHorz=function($cont,$slides,opts){$cont.css("overflow","hidden").width();opts.before.push(function(curr,next,opts,fwd){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.left=fwd?(next.cycleW-1):(1-next.cycleW);opts.animOut.left=fwd?-curr.cycleW:curr.cycleW;});opts.cssFirst={left:0};opts.cssBefore={top:0};opts.animIn={left:0};opts.animOut={top:0};};$.fn.cycle.transitions.scrollVert=function($cont,$slides,opts){$cont.css("overflow","hidden");opts.before.push(function(curr,next,opts,fwd){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.top=fwd?(1-next.cycleH):(next.cycleH-1);opts.animOut.top=fwd?curr.cycleH:-curr.cycleH;});opts.cssFirst={top:0};opts.cssBefore={left:0};opts.animIn={top:0};opts.animOut={left:0};};$.fn.cycle.transitions.slideX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,opts,false,true);opts.animIn.width=next.cycleW;});opts.cssBefore={left:0,top:0,width:0};opts.animIn={width:"show"};opts.animOut={width:0};};$.fn.cycle.transitions.slideY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$(opts.elements).not(curr).hide();$.fn.cycle.commonReset(curr,next,opts,true,false);opts.animIn.height=next.cycleH;});opts.cssBefore={left:0,top:0,height:0};opts.animIn={height:"show"};opts.animOut={height:0};};$.fn.cycle.transitions.shuffle=function($cont,$slides,opts){var i,w=$cont.css("overflow","visible").width();$slides.css({left:0,top:0});opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);});if(!opts.speedAdjusted){opts.speed=opts.speed/2;opts.speedAdjusted=true;}opts.random=0;opts.shuffle=opts.shuffle||{left:-w,top:15};opts.els=[];for(i=0;i<$slides.length;i++){opts.els.push($slides[i]);}for(i=0;i<opts.currSlide;i++){opts.els.push(opts.els.shift());}opts.fxFn=function(curr,next,opts,cb,fwd){var $el=fwd?$(curr):$(next);$(next).css(opts.cssBefore);var count=opts.slideCount;$el.animate(opts.shuffle,opts.speedIn,opts.easeIn,function(){var hops=$.fn.cycle.hopsFromLast(opts,fwd);for(var k=0;k<hops;k++){fwd?opts.els.push(opts.els.shift()):opts.els.unshift(opts.els.pop());}if(fwd){for(var i=0,len=opts.els.length;i<len;i++){$(opts.els[i]).css("z-index",len-i+count);}}else{var z=$(curr).css("z-index");$el.css("z-index",parseInt(z)+1+count);}$el.animate({left:0,top:0},opts.speedOut,opts.easeOut,function(){$(fwd?this:curr).hide();if(cb){cb();}});});};opts.cssBefore={display:"block",opacity:1,top:0,left:0};};$.fn.cycle.transitions.turnUp=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false);opts.cssBefore.top=next.cycleH;opts.animIn.height=next.cycleH;});opts.cssFirst={top:0};opts.cssBefore={left:0,height:0};opts.animIn={top:0};opts.animOut={height:0};};$.fn.cycle.transitions.turnDown=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH;});opts.cssFirst={top:0};opts.cssBefore={left:0,top:0,height:0};opts.animOut={height:0};};$.fn.cycle.transitions.turnLeft=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.cssBefore.left=next.cycleW;opts.animIn.width=next.cycleW;});opts.cssBefore={top:0,width:0};opts.animIn={left:0};opts.animOut={width:0};};$.fn.cycle.transitions.turnRight=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.animIn.width=next.cycleW;opts.animOut.left=curr.cycleW;});opts.cssBefore={top:0,left:0,width:0};opts.animIn={left:0};opts.animOut={width:0};};$.fn.cycle.transitions.zoom=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,false,true);opts.cssBefore.top=next.cycleH/2;opts.cssBefore.left=next.cycleW/2;opts.animIn={top:0,left:0,width:next.cycleW,height:next.cycleH};opts.animOut={width:0,height:0,top:curr.cycleH/2,left:curr.cycleW/2};});opts.cssFirst={top:0,left:0};opts.cssBefore={width:0,height:0};};$.fn.cycle.transitions.fadeZoom=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,false);opts.cssBefore.left=next.cycleW/2;opts.cssBefore.top=next.cycleH/2;opts.animIn={top:0,left:0,width:next.cycleW,height:next.cycleH};});opts.cssBefore={width:0,height:0};opts.animOut={opacity:0};};$.fn.cycle.transitions.blindX=function($cont,$slides,opts){var w=$cont.css("overflow","hidden").width();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.animIn.width=next.cycleW;opts.animOut.left=curr.cycleW;});opts.cssBefore={left:w,top:0};opts.animIn={left:0};opts.animOut={left:w};};$.fn.cycle.transitions.blindY=function($cont,$slides,opts){var h=$cont.css("overflow","hidden").height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH;});opts.cssBefore={top:h,left:0};opts.animIn={top:0};opts.animOut={top:h};};$.fn.cycle.transitions.blindZ=function($cont,$slides,opts){var h=$cont.css("overflow","hidden").height();var w=$cont.width();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.animIn.height=next.cycleH;opts.animOut.top=curr.cycleH;});opts.cssBefore={top:h,left:w};opts.animIn={top:0,left:0};opts.animOut={top:h,left:w};};$.fn.cycle.transitions.growX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true);opts.cssBefore.left=this.cycleW/2;opts.animIn={left:0,width:this.cycleW};opts.animOut={left:0};});opts.cssBefore={width:0,top:0};};$.fn.cycle.transitions.growY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false);opts.cssBefore.top=this.cycleH/2;opts.animIn={top:0,height:this.cycleH};opts.animOut={top:0};});opts.cssBefore={height:0,left:0};};$.fn.cycle.transitions.curtainX=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,false,true,true);opts.cssBefore.left=next.cycleW/2;opts.animIn={left:0,width:this.cycleW};opts.animOut={left:curr.cycleW/2,width:0};});opts.cssBefore={top:0,width:0};};$.fn.cycle.transitions.curtainY=function($cont,$slides,opts){opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,false,true);opts.cssBefore.top=next.cycleH/2;opts.animIn={top:0,height:next.cycleH};opts.animOut={top:curr.cycleH/2,height:0};});opts.cssBefore={left:0,height:0};};$.fn.cycle.transitions.cover=function($cont,$slides,opts){var d=opts.direction||"left";var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);if(d=="right"){opts.cssBefore.left=-w;}else{if(d=="up"){opts.cssBefore.top=h;}else{if(d=="down"){opts.cssBefore.top=-h;}else{opts.cssBefore.left=w;}}}});opts.animIn={left:0,top:0};opts.animOut={opacity:1};opts.cssBefore={top:0,left:0};};$.fn.cycle.transitions.uncover=function($cont,$slides,opts){var d=opts.direction||"left";var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);if(d=="right"){opts.animOut.left=w;}else{if(d=="up"){opts.animOut.top=-h;}else{if(d=="down"){opts.animOut.top=h;}else{opts.animOut.left=-w;}}}});opts.animIn={left:0,top:0};opts.animOut={opacity:1};opts.cssBefore={top:0,left:0};};$.fn.cycle.transitions.toss=function($cont,$slides,opts){var w=$cont.css("overflow","visible").width();var h=$cont.height();opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts,true,true,true);if(!opts.animOut.left&&!opts.animOut.top){opts.animOut={left:w*2,top:-h/2,opacity:0};}else{opts.animOut.opacity=0;}});opts.cssBefore={left:0,top:0};opts.animIn={left:0};};$.fn.cycle.transitions.wipe=function($cont,$slides,opts){var w=$cont.css("overflow","hidden").width();var h=$cont.height();opts.cssBefore=opts.cssBefore||{};var clip;if(opts.clip){if(/l2r/.test(opts.clip)){clip="rect(0px 0px "+h+"px 0px)";}else{if(/r2l/.test(opts.clip)){clip="rect(0px "+w+"px "+h+"px "+w+"px)";}else{if(/t2b/.test(opts.clip)){clip="rect(0px "+w+"px 0px 0px)";}else{if(/b2t/.test(opts.clip)){clip="rect("+h+"px "+w+"px "+h+"px 0px)";}else{if(/zoom/.test(opts.clip)){var top=parseInt(h/2);var left=parseInt(w/2);clip="rect("+top+"px "+left+"px "+top+"px "+left+"px)";}}}}}}opts.cssBefore.clip=opts.cssBefore.clip||clip||"rect(0px 0px 0px 0px)";var d=opts.cssBefore.clip.match(/(\d+)/g);var t=parseInt(d[0]),r=parseInt(d[1]),b=parseInt(d[2]),l=parseInt(d[3]);opts.before.push(function(curr,next,opts){if(curr==next){return;}var $curr=$(curr),$next=$(next);$.fn.cycle.commonReset(curr,next,opts,true,true,false);opts.cssAfter.display="block";var step=1,count=parseInt((opts.speedIn/13))-1;(function f(){var tt=t?t-parseInt(step*(t/count)):0;var ll=l?l-parseInt(step*(l/count)):0;var bb=b<h?b+parseInt(step*((h-b)/count||1)):h;var rr=r<w?r+parseInt(step*((w-r)/count||1)):w;$next.css({clip:"rect("+tt+"px "+rr+"px "+bb+"px "+ll+"px)"});(step++<=count)?setTimeout(f,13):$curr.css("display","none");})();});opts.cssBefore={display:"block",opacity:1,top:0,left:0};opts.animIn={left:0};opts.animOut={left:0};};})(jQuery);;
// $Id: views_slideshow.js,v 1.1.2.1.2.39 2010/07/01 03:29:08 redndahead Exp $

/**
 *  @file
 *  A simple jQuery SingleFrame Div Slideshow Rotator.
 */

/**
 * This will set our initial behavior, by starting up each individual slideshow.
 */
Drupal.behaviors.viewsSlideshowSingleFrame = function (context) {
  $('.views_slideshow_singleframe_main:not(.viewsSlideshowSingleFrame-processed)', context).addClass('viewsSlideshowSingleFrame-processed').each(function() {
    var fullId = '#' + $(this).attr('id');
    var settings = Drupal.settings.viewsSlideshowSingleFrame[fullId];
    settings.targetId = '#' + $(fullId + " :first").attr('id');
    settings.paused = false;

    settings.opts = {
      speed:settings.speed,
      timeout:parseInt(settings.timeout),
      delay:parseInt(settings.delay),
      sync:settings.sync==1,
      random:settings.random==1,
      pause:false,
      allowPagerClickBubble:(settings.pager_hover==1 || settings.pager_click_to_page),
      prev:(settings.controls > 0)?'#views_slideshow_singleframe_prev_' + settings.vss_id:null,
      next:(settings.controls > 0)?'#views_slideshow_singleframe_next_' + settings.vss_id:null,
      pager:(settings.pager > 0)?'#views_slideshow_singleframe_pager_' + settings.vss_id:null,
      nowrap:parseInt(settings.nowrap),
      pagerAnchorBuilder: function(idx, slide) {
        var classes = 'pager-item pager-num-' + (idx+1);
        if (idx == 0) {
          classes += ' first';
        }
        if ($(slide).siblings().length == idx) {
          classes += ' last';
        }

        if (idx % 2) {
          classes += ' odd';
        }
        else {
          classes += ' even';
        }
        
        var theme = 'viewsSlideshowPager' + settings.pager_type;
        return Drupal.theme.prototype[theme] ? Drupal.theme(theme, classes, idx, slide, settings) : '';
      },
      after:function(curr, next, opts) {
        // Used for Image Counter.
        if (settings.image_count) {
          $('#views_slideshow_singleframe_image_count_' + settings.vss_id + ' span.num').html(opts.currSlide + 1);
          $('#views_slideshow_singleframe_image_count_' + settings.vss_id + ' span.total').html(opts.slideCount);
        }
      },
      before:function(curr, next, opts) {
        // Remember last slide.
        if (settings.remember_slide) {
          createCookie(settings.vss_id, opts.currSlide + 1, settings.remember_slide_days);
        }

        // Make variable height.
        if (settings.fixed_height == 0) {
          //get the height of the current slide
          var $ht = $(this).height();
          //set the container's height to that of the current slide
          $(this).parent().animate({height: $ht});
        }
      },
      cleartype:(settings.ie.cleartype == 'true')? true : false,
      cleartypeNoBg:(settings.ie.cleartypenobg == 'true')? true : false
    }
    
    // Set the starting slide if we are supposed to remember the slide
    if (settings.remember_slide) {
      var startSlide = readCookie(settings.vss_id);
      if (startSlide == null) {
        startSlide = 0;
      }
      settings.opts.startingSlide =  startSlide;
    }

    if (settings.pager_hover == 1) {
      settings.opts.pagerEvent = 'mouseover';
      settings.opts.pauseOnPagerHover = true;
    }

    if (settings.effect == 'none') {
      settings.opts.speed = 1;
    }
    else {
      settings.opts.fx = settings.effect;
    }

    // Pause on hover.
    if (settings.pause == 1) {
      $('#views_slideshow_singleframe_teaser_section_' + settings.vss_id).hover(function() {
        $(settings.targetId).cycle('pause');
      }, function() {
        if (settings.paused == false) {
          $(settings.targetId).cycle('resume');
        }
      });
    }

    // Pause on clicking of the slide.
    if (settings.pause_on_click == 1) {
      $('#views_slideshow_singleframe_teaser_section_' + settings.vss_id).click(function() { 
        viewsSlideshowSingleFramePause(settings);
      });
    }

    // Add additional settings.
		if (settings.advanced != "\n") {
      var advanced = settings.advanced.split("\n");
      for (i=0; i<advanced.length; i++) {
        var prop = '';
        var value = '';
        var property = advanced[i].split(":");
        for (j=0; j<property.length; j++) {
          if (j == 0) {
            prop = property[j];
          }
          else if (j == 1) {
            value = property[j];
          }
          else {
            value += ":" + property[j];
          }
        }

        // Need to evaluate so true, false and numerics aren't a string.
        if (value == 'true' || value == 'false' || IsNumeric(value)) {
          value = eval(value);
        }
        else {
          // Parse strings into functions.
          var func = value.match(/function\s*\((.*?)\)\s*\{(.*)\}/i);
          if (func) {
            value = new Function(func[1].match(/(\w+)/g), func[2]);
          }
        }
	
        // Call both functions if prop was set previously.
        if (typeof(value) == "function" && prop in settings.opts) {
          var callboth = function(before_func, new_func) {
            return function() {
              before_func.apply(null, arguments);
              new_func.apply(null, arguments);
            };
          };
          settings.opts[prop] = callboth(settings.opts[prop], value);
        }
        else {
          settings.opts[prop] = value;
        }
      }
    }
    
    $(settings.targetId).cycle(settings.opts);

    // Start Paused
    if (settings.start_paused) {
      viewsSlideshowSingleFramePause(settings);
    }
    
    // Pause if hidden.
    if (settings.pause_when_hidden) {
      var checkPause = function(settings) {
        // If the slideshow is visible and it is paused then resume.
        // otherwise if the slideshow is not visible and it is not paused then
        // pause it.
        var visible = viewsSlideshowSingleFrameIsVisible(settings.targetId, settings.pause_when_hidden_type, settings.amount_allowed_visible);
        if (visible && settings.paused) {
          viewsSlideshowSingleFrameResume(settings);
        }
        else if (!visible && !settings.paused) {
          viewsSlideshowSingleFramePause(settings);
        }
      }
     
      // Check when scrolled.
      $(window).scroll(function() {
       checkPause(settings);
      });
      
      // Check when the window is resized.
      $(window).resize(function() {
        checkPause(settings);
      });
    }

    // Show image count for people who have js enabled.
    $('#views_slideshow_singleframe_image_count_' + settings.vss_id).show();

    if (settings.controls > 0) {
      // Show controls for people who have js enabled browsers.
      $('#views_slideshow_singleframe_controls_' + settings.vss_id).show();
      
      $('#views_slideshow_singleframe_playpause_' + settings.vss_id).click(function(e) {
      	if (settings.paused) {
      	  viewsSlideshowSingleFrameResume(settings);
      	}
      	else {
      	  viewsSlideshowSingleFramePause(settings);
      	}
        e.preventDefault();
      });
    }
  });
}

// Pause the slideshow 
viewsSlideshowSingleFramePause = function (settings) {
  //make Resume translatable
  var resume = Drupal.t('Resume');

  $(settings.targetId).cycle('pause');
  if (settings.controls > 0) {
    $('#views_slideshow_singleframe_playpause_' + settings.vss_id)
      .addClass('views_slideshow_singleframe_play')
      .addClass('views_slideshow_play')
      .removeClass('views_slideshow_singleframe_pause')
      .removeClass('views_slideshow_pause')
      .text(resume);
  }
  settings.paused = true;
}

// Resume the slideshow
viewsSlideshowSingleFrameResume = function (settings) {
  $(settings.targetId).cycle('resume');
  if (settings.controls > 0) {
    $('#views_slideshow_singleframe_playpause_' + settings.vss_id)
      .addClass('views_slideshow_singleframe_pause')
      .addClass('views_slideshow_pause')
      .removeClass('views_slideshow_singleframe_play')
      .removeClass('views_slideshow_play')
      .text('Pause');
  }
  settings.paused = false;
}

Drupal.theme.prototype.viewsSlideshowPagerThumbnails = function (classes, idx, slide, settings) {
  var href = '#';
  if (settings.pager_click_to_page) {
    href = $(slide).find('a').attr('href');
  }
  return '<div class="' + classes + '"><a href="' + href + '"><img src="' + $(slide).find('img').attr('src') + '" /></a></div>';
}

Drupal.theme.prototype.viewsSlideshowPagerNumbered = function (classes, idx, slide, settings) {
  var href = '#';
  if (settings.pager_click_to_page) {
    href = $(slide).find('a').attr('href');
  }
  return '<div class="' + classes + '"><a href="' + href + '">' + (idx+1) + '</a></div>';
}

// Verify that the value is a number.
function IsNumeric(sText) {
  var ValidChars = "0123456789";
  var IsNumber=true;
  var Char;

  for (var i=0; i < sText.length && IsNumber == true; i++) { 
    Char = sText.charAt(i); 
    if (ValidChars.indexOf(Char) == -1) {
      IsNumber = false;
    }
  }
  return IsNumber;
}

/**
 * Cookie Handling Functions
 */
function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else {
    var expires = "";
  }
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) {
      return c.substring(nameEQ.length,c.length);
    }
  }
  return null;
}

function eraseCookie(name) {
  createCookie(name,"",-1);
}

/**
 * Checks to see if the slide is visible enough.
 * elem = element to check.
 * type = The way to calculate how much is visible.
 * amountVisible = amount that should be visible. Either in percent or px. If
 *                it's not defined then all of the slide must be visible.
 *
 * Returns true or false
 */
function viewsSlideshowSingleFrameIsVisible(elem, type, amountVisible) {
  // Get the top and bottom of the window;
  var docViewTop = $(window).scrollTop();
  var docViewBottom = docViewTop + $(window).height();
  var docViewLeft = $(window).scrollLeft();
  var docViewRight = docViewLeft + $(window).width();

  // Get the top, bottom, and height of the slide;
  var elemTop = $(elem).offset().top;
  var elemHeight = $(elem).height();
  var elemBottom = elemTop + elemHeight;
  var elemLeft = $(elem).offset().left;
  var elemWidth = $(elem).width();
  var elemRight = elemLeft + elemWidth;
  var elemArea = elemHeight * elemWidth;
  
  // Calculate what's hiding in the slide.
  var missingLeft = 0;
  var missingRight = 0;
  var missingTop = 0;
  var missingBottom = 0;
  
  // Find out how much of the slide is missing from the left.
  if (elemLeft < docViewLeft) {
    missingLeft = docViewLeft - elemLeft;
  }

  // Find out how much of the slide is missing from the right.
  if (elemRight > docViewRight) {
    missingRight = elemRight - docViewRight;
  }
  
  // Find out how much of the slide is missing from the top.
  if (elemTop < docViewTop) {
    missingTop = docViewTop - elemTop;
  }

  // Find out how much of the slide is missing from the bottom.
  if (elemBottom > docViewBottom) {
    missingBottom = elemBottom - docViewBottom;
  }
  
  // If there is no amountVisible defined then check to see if the whole slide
  // is visible.
  if (type == 'full') {
    return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom)
    && (elemBottom <= docViewBottom) &&  (elemTop >= docViewTop)
    && (elemLeft >= docViewLeft) && (elemRight <= docViewRight)
    && (elemLeft <= docViewRight) && (elemRight >= docViewLeft));
  }
  else if(type == 'vertical') {
    var verticalShowing = elemHeight - missingTop - missingBottom;
    
    // If user specified a percentage then find out if the current shown percent
    // is larger than the allowed percent.
    // Otherwise check to see if the amount of px shown is larger than the
    // allotted amount.
    if (amountVisible.indexOf('%')) {
      return (((verticalShowing/elemHeight)*100) >= parseInt(amountVisible));
    }
    else {
      return (verticalShowing >= parseInt(amountVisible));
    }
  }
  else if(type == 'horizontal') {
    var horizontalShowing = elemWidth - missingLeft - missingRight;
    
    // If user specified a percentage then find out if the current shown percent
    // is larger than the allowed percent.
    // Otherwise check to see if the amount of px shown is larger than the
    // allotted amount.
    if (amountVisible.indexOf('%')) {
      return (((horizontalShowing/elemWidth)*100) >= parseInt(amountVisible));
    }
    else {
      return (horizontalShowing >= parseInt(amountVisible));
    }
  }
  else if(type == 'area') {
    var areaShowing = (elemWidth - missingLeft - missingRight) * (elemHeight - missingTop - missingBottom);
    
    // If user specified a percentage then find out if the current shown percent
    // is larger than the allowed percent.
    // Otherwise check to see if the amount of px shown is larger than the
    // allotted amount.
    if (amountVisible.indexOf('%')) {
      return (((areaShowing/elemArea)*100) >= parseInt(amountVisible));
    }
    else {
      return (areaShowing >= parseInt(amountVisible));
    }
  }
}

;
// $Id: views_slideshow.js,v 1.1.2.2.2.35 2010/07/01 03:29:08 redndahead Exp $

/**
 * @file
 * A simple jQuery ThumbnailHover Div Slideshow Rotator.
 */

/**
 * This will set our initial behavior, by starting up each individual slideshow.
 */
Drupal.behaviors.viewsSlideshowThumbnailHover = function (context) {
  $('.views_slideshow_thumbnailhover_main:not(.viewsSlideshowThumbnailHover-processed)', context).addClass('viewsSlideshowThumbnailHover-processed').each(function() {
    var fullId = '#' + $(this).attr('id');
    var settings = Drupal.settings.viewsSlideshowThumbnailHover[fullId];
    settings.targetId = '#' + $(fullId + " :first").attr('id');
		settings.paused = false;
		
    settings.opts = {
      speed:settings.speed,
      timeout:parseInt(settings.timeout),
      delay:parseInt(settings.delay),
      sync:settings.sync==1,
      random:settings.random==1,
      pause:false,
      allowPagerClickBubble:(settings.pager_event=='click')? false : true,
      pager:(settings.pager_event == 'hoverIntent') ? null : '#views_slideshow_breakout_teasers_' + settings.vss_id,
      nowrap:parseInt(settings.nowrap),
      pagerAnchorBuilder:(settings.pager_event == 'hoverIntent') ? null : function(idx, slide) { 
        return '#views_slideshow_thumbnailhover_div_breakout_teaser_' + settings.vss_id + '_' + idx; 
      },
      after:function(curr, next, opts) {
        // Used for Image Counter.
        if (settings.image_count) {
          $('#views_slideshow_thumbnailhover_image_count_' + settings.vss_id + ' span.num').html(opts.currSlide + 1);
          $('#views_slideshow_thumbnailhover_image_count_' + settings.vss_id + ' span.total').html(opts.slideCount);
        }
      },
      before:function(current, next, opts) {
        // Remember last slide.
        if (settings.remember_slide) {
          createCookie(settings.view_id, opts.currSlide + 1, settings.remember_slide_days);
        }

        // Make variable height.
        if (settings.fixed_height == 0) {
          //get the height of the current slide
          var $ht = $(this).height();
          //set the container's height to that of the current slide
          $(this).parent().animate({height: $ht});
        }
        
        var currId = (currId=$(current).attr('id')).substring(currId.lastIndexOf('_')+1)
        var nextId = (nextId=$(next).attr('id')).substring(nextId.lastIndexOf('_')+1)
        $('#views_slideshow_thumbnailhover_div_breakout_teaser_' + settings.vss_id + '_' + currId).removeClass('activeSlide');
        $('#views_slideshow_thumbnailhover_div_breakout_teaser_' + settings.vss_id + '_' + nextId).addClass('activeSlide');
      },
      pagerEvent: (settings.pager_event == 'hoverIntent') ? null : settings.pager_event,
      prev:(settings.controls > 0)?'#views_slideshow_thumbnailhover_prev_' + settings.vss_id:null,
      next:(settings.controls > 0)?'#views_slideshow_thumbnailhover_next_' + settings.vss_id:null,
      cleartype:(settings.ie.cleartype == 'true')? true : false,
      cleartypeNoBg:(settings.ie.cleartypenobg == 'true')? true : false
    };

    // Set the starting slide if we are supposed to remember the slide
    if (settings.remember_slide) {
      var startSlide = readCookie(settings.view_id);
      if (startSlide == null) {
        startSlide = 0;
      }
      settings.opts.startingSlide =  startSlide;
    }

    if (settings.effect == 'none') {
      settings.opts.speed = 1;
    }
    else {
      settings.opts.fx = settings.effect;
    }

    // Pause on hover.
    if (settings.pause == 1) {
      $('#views_slideshow_thumbnailhover_teaser_section_' + settings.vss_id).hover(function() {
        $(settings.targetId).cycle('pause');
      }, function() {
        if (settings.paused == false) {
          $(settings.targetId).cycle('resume');
        }
      });
    }

    // Pause on clicking of the slide.
    if (settings.pause_on_click == 1) {
      $('#views_slideshow_thumbnailhover_teaser_section_' + settings.vss_id).click(function() { 
        viewsSlideshowThumbnailHoverPause(settings);
      });
    }
    
    // Add additional settings.
		if (settings.advanced != "\n") {
      var advanced = settings.advanced.split("\n");
      for (i=0; i<advanced.length; i++) {
        var prop = '';
        var value = '';
        var property = advanced[i].split(":");
        for (j=0; j<property.length; j++) {
          if (j == 0) {
            prop = property[j];
          }
          else if (j == 1) {
            value = property[j];
          }
          else {
            value += ":" + property[j];
          }
        }

        // Need to evaluate so true, false and numerics aren't a string.
        if (value == 'true' || value == 'false' || IsNumeric(value)) {
          value = eval(value);
        }
        else {
          // Parse strings into functions.
          var func = value.match(/function\s*\((.*?)\)\s*\{(.*)\}/i);
          if (func) {
            value = new Function(func[1].match(/(\w+)/g), func[2]);
          }
        }
	
        // Call both functions if prop was set previously.
        if (typeof(value) == "function" && prop in settings.opts) {
          var callboth = function(before_func, new_func) {
            return function() {
              before_func.apply(null, arguments);
              new_func.apply(null, arguments);
            };
          };
          settings.opts[prop] = callboth(settings.opts[prop], value);
        }
        else {
          settings.opts[prop] = value;
        }
      }
    }

    $(settings.targetId).cycle(settings.opts);

    // Start Paused
    if (settings.start_paused) {
      viewsSlideshowThumbnailHoverPause(settings);
    }
    
    // Pause if hidden.
    if (settings.pause_when_hidden) {
      var checkPause = function(settings) {
        // If the slideshow is visible and it is paused then resume.
        // otherwise if the slideshow is not visible and it is not paused then
        // pause it.
        var visible = viewsSlideshowThumbnailHoverIsVisible(settings.targetId, settings.pause_when_hidden_type, settings.amount_allowed_visible);
        if (visible && settings.paused) {
          viewsSlideshowThumbnailHoverResume(settings);
        }
        else if (!visible && !settings.paused) {
          viewsSlideshowThumbnailHoverPause(settings);
        }
      }
     
      // Check when scrolled.
      $(window).scroll(function() {
       checkPause(settings);
      });
      
      // Check when window is resized.
      $(window).resize(function() {
        checkPause(settings);
      });
    }

    // Show image count for people who have js enabled.
    $('#views_slideshow_thumbnailhover_image_count_' + settings.vss_id).show();
    
    if (settings.pager_event == 'hoverIntent') {
      $('#views_slideshow_thumbnailhover_breakout_teasers_' + settings.vss_id + ' .views_slideshow_thumbnailhover_div_breakout_teaser').each(function(i,obj) {
        $(obj).hoverIntent(
          function() {
            $('.views_slideshow_thumbnailhover_div_breakout_teaser').removeClass('activeSlide');
            var id = $(this).attr('id');
            id = parseInt(id.substring(id.lastIndexOf('_')+1));
            $(settings.targetId).cycle(id);
            $('#views_slideshow_thumbnailhover_div_breakout_teaser_' + settings.vss_id + '_' + id).addClass('activeSlide');
            $(settings.targetId).cycle('stop');
          },
          function() {
            var id = $(this).attr('id');
            settings.opts.startingSlide = parseInt(id.substring(id.lastIndexOf('_')+1));
            $(settings.targetId).cycle(settings.opts);
          }
        );
      });
    }

    if (settings.controls > 0) {
      // Show controls for people who have js enabled browsers.
      $('#views_slideshow_thumbnailhover_controls_' + settings.vss_id).show();
      
      $('#views_slideshow_thumbnailhover_playpause_' + settings.vss_id).click(function(e) {
        if (settings.paused) {
          viewsSlideshowThumbnailHoverResume(settings);
        }
        else {
          viewsSlideshowThumbnailHoverPause(settings);
        }
        e.preventDefault();
      });
    }
  });
}

// Pause the slideshow 
viewsSlideshowThumbnailHoverPause = function (settings) {
  //make Resume translatable
  var resume = Drupal.t('Resume');

  $(settings.targetId).cycle('pause');
  if (settings.controls > 0) {
    $('#views_slideshow_thumbnailhover_playpause_' + settings.vss_id)
      .addClass('views_slideshow_thumbnailhover_play')
      .addClass('views_slideshow_play')
      .removeClass('views_slideshow_thumbnailhover_pause')
      .removeClass('views_slideshow_pause')
      .text(resume);
  }
  settings.paused = true;
}

// Resume the slideshow
viewsSlideshowThumbnailHoverResume = function (settings) {
  $(settings.targetId).cycle('resume');
  if (settings.controls > 0) {
    $('#views_slideshow_thumbnailhover_playpause_' + settings.vss_id)
      .addClass('views_slideshow_thumbnailhover_pause')
      .addClass('views_slideshow_pause')
      .removeClass('views_slideshow_thumbnailhover_play')
      .removeClass('views_slideshow_play')
      .text('Pause');
  }
  settings.paused = false;
}

// Verify that the value is a number.
function IsNumeric(sText) {
  var ValidChars = "0123456789";
  var IsNumber=true;
  var Char;

  for (var i=0; i < sText.length && IsNumber == true; i++) { 
    Char = sText.charAt(i); 
    if (ValidChars.indexOf(Char) == -1) {
      IsNumber = false;
    }
  }
  return IsNumber;
}

/**
 * Cookie Handling Functions
 */
function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else {
    var expires = "";
  }
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) {
      return c.substring(nameEQ.length,c.length);
    }
  }
  return null;
}

function eraseCookie(name) {
  createCookie(name,"",-1);
}

/**
 * Checks to see if the slide is visible enough.
 * elem = element to check.
 * amountVisible = amount that should be visible. Either in percent or px. If
 *                it's not defined then all of the slide must be visible.
 *
 * Returns true or false
 */
function viewsSlideshowThumbnailHoverIsVisible(elem, type, amountVisible) {
  // Get the top and bottom of the window;
  var docViewTop = $(window).scrollTop();
  var docViewBottom = docViewTop + $(window).height();
  var docViewLeft = $(window).scrollLeft();
  var docViewRight = docViewLeft + $(window).width();

  // Get the top, bottom, and height of the slide;
  var elemTop = $(elem).offset().top;
  var elemHeight = $(elem).height();
  var elemBottom = elemTop + elemHeight;
  var elemLeft = $(elem).offset().left;
  var elemWidth = $(elem).width();
  var elemRight = elemLeft + elemWidth;
  var elemArea = elemHeight * elemWidth;
  
  // Calculate what's hiding in the slide.
  var missingLeft = 0;
  var missingRight = 0;
  var missingTop = 0;
  var missingBottom = 0;
  
  // Find out how much of the slide is missing from the left.
  if (elemLeft < docViewLeft) {
    missingLeft = docViewLeft - elemLeft;
  }

  // Find out how much of the slide is missing from the right.
  if (elemRight > docViewRight) {
    missingRight = elemRight - docViewRight;
  }
  
  // Find out how much of the slide is missing from the top.
  if (elemTop < docViewTop) {
    missingTop = docViewTop - elemTop;
  }

  // Find out how much of the slide is missing from the bottom.
  if (elemBottom > docViewBottom) {
    missingBottom = elemBottom - docViewBottom;
  }
  
  // If there is no amountVisible defined then check to see if the whole slide
  // is visible.
  if (type == 'full') {
    return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom)
    && (elemBottom <= docViewBottom) &&  (elemTop >= docViewTop)
    && (elemLeft >= docViewLeft) && (elemRight <= docViewRight)
    && (elemLeft <= docViewRight) && (elemRight >= docViewLeft));
  }
  else if(type == 'vertical') {
    var verticalShowing = elemHeight - missingTop - missingBottom;
    
    // If user specified a percentage then find out if the current shown percent
    // is larger than the allowed percent.
    // Otherwise check to see if the amount of px shown is larger than the
    // allotted amount.
    if (amountVisible.indexOf('%')) {
      return (((verticalShowing/elemHeight)*100) >= parseInt(amountVisible));
    }
    else {
      return (verticalShowing >= parseInt(amountVisible));
    }
  }
  else if(type == 'horizontal') {
    var horizontalShowing = elemWidth - missingLeft - missingRight;
    
    // If user specified a percentage then find out if the current shown percent
    // is larger than the allowed percent.
    // Otherwise check to see if the amount of px shown is larger than the
    // allotted amount.
    if (amountVisible.indexOf('%')) {
      return (((horizontalShowing/elemWidth)*100) >= parseInt(amountVisible));
    }
    else {
      return (horizontalShowing >= parseInt(amountVisible));
    }
  }
  else if(type == 'area') {
    var areaShowing = (elemWidth - missingLeft - missingRight) * (elemHeight - missingTop - missingBottom);
    
    // If user specified a percentage then find out if the current shown percent
    // is larger than the allowed percent.
    // Otherwise check to see if the amount of px shown is larger than the
    // allotted amount.
    if (amountVisible.indexOf('%')) {
      return (((areaShowing/elemArea)*100) >= parseInt(amountVisible));
    }
    else {
      return (areaShowing >= parseInt(amountVisible));
    }
  }
}
;

/**
 *  @file
 *  Views Slideshow DDblock admin page functionality 
 */


function initPagerPositionOptions(key, value) {
  this.key = key;
  this.value = value;
}

function setPagerPositionOptions(pagerPositionOptions) {
  var oldPagerPosition = $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager-position').val();
  $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager-position').find('option').remove();
  var options = '' ;
  for (var i = 0; i < pagerPositionOptions.length; i++) {
    if (i==0) { 
      options += '<option selected value="' + pagerPositionOptions[i].key + '">' + pagerPositionOptions[i].value + '</option>'; 
    }
    else {
      options += '<option value="' + pagerPositionOptions[i].key + '">' + pagerPositionOptions[i].value + '</option>';
    }
  }
  // populate select box with array
  $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager-position').html(options);  
  $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager-position').val(oldPagerPosition);  
}

/**
 * Show/hide pager settings sections on the views_slideshow_ddblock configuration page.
 * don't change
 */
Drupal.behaviors.ddblockShowHidePagerOptions = function(context) {
  // Show/hide pager options depending on the checkbox.
  $('#edit-style-options-views-slideshow-ddblock-settings-pager-toggle:not(.ddblock-show-hide-pager-options-processed)', context)
  .addClass('ddblock-show-hide-pager-options-processed')
  .bind("click change", function() {
    if (this.checked){
      $('#ddblock-pager-settings-wrapper').show();
    }
    else {
      $('#ddblock-pager-settings-wrapper').hide();
    }
    return true;
  }).trigger('change').trigger('change')
};

/**
 * Show/hide prev/next pager settings sections on the views_slideshow_ddblock configuration page.
 * don't change
 */
Drupal.behaviors.ddblockShowHidePager2Options = function(context) {
  // Show/hide pev/next pager options depending on the checkbox.
  $('#edit-style-options-views-slideshow-ddblock-settings-pager2:not(.ddblock-show-hide-pager2-options-processed)', context)
  .addClass('ddblock-show-hide-pager2-options-processed')
  .bind("click change", function() {
    if (this.checked){
      $('#ddblock-pager2-settings-wrapper').show();
    }
    else {
      $('#ddblock-pager2-settings-wrapper').hide();
    }
    return true;
  }).trigger('change').trigger('change')
};

/**
 * Show/hide prev/next pager settings sections on the views_slideshow_ddblock configuration page.
 * don't change
 */
Drupal.behaviors.ddblockShowHidePager2PagerOptions = function(context) {
  // Show/hide pager options depending on the checkbox.
  $('#edit-style-options-views-slideshow-ddblock-settings-pager2-settings-pager2-position-pager:not(.ddblock-show-hide-pager2-pager-options-processed)', context)
  .addClass('ddblock-show-hide-pager2-pager-options-processed')
  .bind("click change", function() {
    if (this.checked){
      $('#ddblock-pager2-pager-settings-wrapper').show();
    }
    else {
      $('#ddblock-pager2-pager-settings-wrapper').hide();
    }
    return true;
  }).trigger('change').trigger('change')
};

/**
 * Show/hide prev/next pager settings sections on the views_slideshow_ddblock configuration page.
 * don't change
 */
Drupal.behaviors.ddblockShowHidePager2SlideOptions = function(context) {
  // Show/hide pager options depending on the checkbox.
  $('#edit-style-options-views-slideshow-ddblock-settings-pager2-settings-pager2-position-slide:not(.ddblock-show-hide-pager2-slide-options-processed)', context)
  .addClass('ddblock-show-hide-pager2-slide-options-processed')
  .bind("click change", function() {
    if (this.checked){
      $('#ddblock-pager2-slide-settings-wrapper').show();
    }
    else {
      $('#ddblock-pager2-slide-settings-wrapper').hide();
    }
    return true;
  }).trigger('change').trigger('change')
};

/**
 * Show/hide slide text settings sections on the views_slideshow_ddblock configuration page.
 * don't change
 */
Drupal.behaviors.ddblockShowHideSlideTextOptions = function(context) {
  // Show/hide slide text options depending on the checkbox.
  $('#edit-style-options-views-slideshow-ddblock-settings-slide-text:not(.ddblock-show-hide-text-options-processed)', context)
  .addClass('ddblock-show-hide-text-options-processed')
  .bind("click change", function() {
    if (this.checked) {
      $('#ddblock-slide-text-settings-wrapper').show();
    }
    else {
      $('#ddblock-slide-text-settings-wrapper').hide();
    }
    return true;
  }).trigger('change').trigger('change')
};

/**
 * Show/hide jquery slide text settings sections on the views_slideshow_ddblock configuration page.
 * don't change
 */
Drupal.behaviors.ddblockShowHideSlideJqueryTextOptions = function(context) {
  // Show/hide slide text options depending on the checkbox.
  $('#edit-style-options-views-slideshow-ddblock-settings-slide-text-settings-slide-text-jquery:not(.ddblock-show-hide-text-jquery-options-processed)', context)
  .addClass('ddblock-show-hide-text-jquery-options-processed')
  .bind("click change", function() {
    if (this.checked) {
      $('#ddblock-slide-jquery-settings-wrapper').show();
    }
    else {
      $('#ddblock-slide-jquery-settings-wrapper').hide();
    }
    return true;
  }).trigger('change').trigger('change')
};

/**
 * Change pager container depending on the pager.
 */
Drupal.behaviors.ddblockChangePagerContainerOptions = function(context) {

  // Change pager container option depending on select.
  $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager:not(.ddblock-change-pager-container-options-processed)', context)
  .addClass('ddblock-change-pager-container-options-processed')
  .bind("change", function() {
    val = $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager').val();
    switch (val) {
      case "number-pager" :
      case "prev-next-pager" :
      case "custom-pager" :
        $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager-container').val('.custom-pager-item');
      break;
      case "scrollable-pager" :
        $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager-container').val('.scrollable-pager-item');
      break;
    }
    return false;
  }).trigger('change').trigger('change')
};



/**
 * Show/hide custom template settings sections on the views_slideshow_ddblock configuration page.
 */
Drupal.behaviors.ddblockShowHideCustomTemplateOptions = function(context) {

  // Show/hide imagefolder/contenttype options depending on the select.
  $('#edit-style-options-views-slideshow-ddblock-template:not(.ddblock-show-hide-custom-template-options-processed)', context)
  .addClass('ddblock-show-hide-custom-template-options-processed')
  .bind("change", function() {
    val = $('#edit-style-options-views-slideshow-ddblock-template').val();
    if (val.match('default') == "default" ) {
      $('#ddblock-pager-settings-wrapper').hide();
      $('#edit-style-options-views-slideshow-ddblock-settings-pager-toggle-wrapper').hide();
      $('#edit-style-options-views-slideshow-ddblock-settings-pager2-settings-pager2-position-pager-wrapper').hide();
      $('ddblock-pager2-pager-settings-wrapper').hide();
      $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager').find('option').remove().end().append('<option value="custom-pager">Custom pager</option>').val('custom-pager');
      $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager-container').val('.custom-pager-item');
      $('#ddblock-nr-of-pager-items-wrapper').hide();
    }  
    else {
      $('#ddblock-pager-settings-wrapper').show();
      $('#edit-style-options-views-slideshow-ddblock-settings-pager-toggle-wrapper').show();
      $('#edit-style-options-views-slideshow-ddblock-settings-pager2-settings-pager2-position-pager-wrapper').show();
      $('#ddblock-pager2-pager-settings-wrapper').show();
    }      
    if (val.match("-10p") == "-10p" || val.match("-10l") == "-10l") {
      $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager-container').val('.custom-pager-item');
      $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager').find('option').remove().end().append('<option value="number-pager">Number pager</option>').val('number-pager');
      $('#ddblock-nr-of-pager-items-wrapper').hide();
    }
    else {
      if (val.match("-20p") == "-20p" || val.match("-20l") == "-20l") {
        $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager-container').val('.custom-pager-item');
        $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager').find('option').remove().end().append('<option value="prev-next-pager">Prev/Next pager</option>').val('prev-next-pager');
        $('#ddblock-nr-of-pager-items-wrapper').hide();
    }
      else {
        if (val.match("-30p") == "-30p" || val.match("-30l") == "-30l" ||
            val.match("-40p") == "-40p" || val.match("-40l") == "-40l" ||
            val.match("-50p") == "-50p" || val.match("-50l") == "-50l") {
          $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager-container').val('.custom-pager-item');
          $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager').find('option').remove().end().append('<option value="custom-pager">Custom pager</option>').val('custom-pager');
          $('#ddblock-nr-of-pager-items-wrapper').hide();
        }
        else {
          if (val.match("-60p") == "-60p" || val.match("-60l") == "-60l") {
            $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager').val('scrollable-pager');
            $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager-container').val('.scrollable-pager-item');
          $('#edit-style-options-views-slideshow-ddblock-settings-pager-settings-pager').find('option').remove().end().append('<option value="scrollable-pager">Scrollable pager</option>').val('scrollable-pager');
          $('#ddblock-nr-of-pager-items-wrapper').show();
          }
        }  
      }  
    }    
    // portrait themes
    if (val.match("-10p") == "-10p" || val.match("-20p") == "-20p" ||
        val.match("-30p") == "-30p" || val.match("-40p") == "-40p" ||
        val.match("-50p") == "-50p" || val.match("-60p") == "-60p") {
      var pagerPositionOptions = new Array();  
      pagerPositionOptions[0] = new initPagerPositionOptions('top', 'Top');
      pagerPositionOptions[1] = new initPagerPositionOptions('bottom', 'Bottom');
      
      setPagerPositionOptions(pagerPositionOptions);
    }
    // landscape themes
    else {
      var pagerPositionOptions = new Array();  
      pagerPositionOptions[0] = new initPagerPositionOptions('left', 'Left');
      pagerPositionOptions[1] = new initPagerPositionOptions('right', 'Right');
 
      setPagerPositionOptions(pagerPositionOptions);
    }           
    if (val.match("custom") == "custom") {
      $('#ddblock-custom-template-settings-wrapper').show();
      $('#ddblock-nr-of-pager-items-wrapper').show();
    }
    else {
      $('#ddblock-custom-template-settings-wrapper').hide();
    }     
    return false;
  }).trigger('change').trigger('change')
};

/**
 * Show/hide custom template settings sections on the views_slideshow_ddblock configuration page.
 */
Drupal.behaviors.ddblockShowHideCustomTemplateSizeOptions = function(context) {

  // Show/hide imagefolder/contenttype options depending on the select.
  $('#edit-style-options-views-slideshow-ddblock-template-size-wrapper-template-size:not(.ddblock-show-hide-custom-template-size-options-processed)', context)
  .addClass('ddblock-show-hide-custom-template-size-options-processed')
  .bind("change", function() {
    val = $('#edit-style-options-views-slideshow-ddblock-template-size-wrapper-template-size').val();
    switch (val) {
    case "custom" :
      $('#ddblock-custom-template-size-settings-wrapper').show();
    break; 
    default:
      $('#ddblock-custom-template-size-settings-wrapper').hide();
    }
    return false;
  }).trigger('change').trigger('change')
};
;
/*!
 * jCarousel - Riding carousels with jQuery
 *   http://sorgalla.com/jcarousel/
 *
 * Copyright (c) 2006 Jan Sorgalla (http://sorgalla.com)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Built on top of the jQuery library
 *   http://jquery.com
 *
 * Inspired by the "Carousel Component" by Bill Scott
 *   http://billwscott.com/carousel/
 */

(function($) {
    /**
     * Creates a carousel for all matched elements.
     *
     * @example $("#mycarousel").jcarousel();
     * @before <ul id="mycarousel" class="jcarousel-skin-name"><li>First item</li><li>Second item</li></ul>
     * @result
     *
     * <div class="jcarousel-skin-name">
     *   <div class="jcarousel-container">
     *     <div class="jcarousel-clip">
     *       <ul class="jcarousel-list">
     *         <li class="jcarousel-item-1">First item</li>
     *         <li class="jcarousel-item-2">Second item</li>
     *       </ul>
     *     </div>
     *     <div disabled="disabled" class="jcarousel-prev jcarousel-prev-disabled"></div>
     *     <div class="jcarousel-next"></div>
     *   </div>
     * </div>
     *
     * @method jcarousel
     * @return jQuery
     * @param o {Hash|String} A set of key/value pairs to set as configuration properties or a method name to call on a formerly created instance.
     */
    $.fn.jcarousel = function(o) {
        if (typeof o == 'string') {
            var instance = $(this).data('jcarousel'), args = Array.prototype.slice.call(arguments, 1);
            return instance[o].apply(instance, args);
        } else
            return this.each(function() {
                $(this).data('jcarousel', new $jc(this, o));
            });
    };

    // Default configuration properties.
    var defaults = {
        vertical: false,
        rtl: false,
        start: 1,
        offset: 1,
        size: null,
        scroll: 3,
        visible: null,
        animation: 'normal',
        easing: 'swing',
        auto: 0,
        wrap: null,
        initCallback: null,
        reloadCallback: null,
        itemLoadCallback: null,
        itemFirstInCallback: null,
        itemFirstOutCallback: null,
        itemLastInCallback: null,
        itemLastOutCallback: null,
        itemVisibleInCallback: null,
        itemVisibleOutCallback: null,
        buttonNextHTML: '<div></div>',
        buttonPrevHTML: '<div></div>',
        buttonNextEvent: 'click',
        buttonPrevEvent: 'click',
        buttonNextCallback: null,
        buttonPrevCallback: null,
        itemFallbackDimension: null
    }, windowLoaded = false;

    $(window).bind('load.jcarousel', function() { windowLoaded = true; })

    /**
     * The jCarousel object.
     *
     * @constructor
     * @class jcarousel
     * @param e {HTMLElement} The element to create the carousel for.
     * @param o {Object} A set of key/value pairs to set as configuration properties.
     * @cat Plugins/jCarousel
     */
    $.jcarousel = function(e, o) {
        this.options    = $.extend({}, defaults, o || {});

        this.locked     = false;

        this.container  = null;
        this.clip       = null;
        this.list       = null;
        this.buttonNext = null;
        this.buttonPrev = null;

        // Only set if not explicitly passed as option
        if (!o || o.rtl === undefined)
            this.options.rtl = ($(e).attr('dir') || $('html').attr('dir') || '').toLowerCase() == 'rtl';

        this.wh = !this.options.vertical ? 'width' : 'height';
        this.lt = !this.options.vertical ? (this.options.rtl ? 'right' : 'left') : 'top';

        // Extract skin class
        var skin = '', split = e.className.split(' ');

        for (var i = 0; i < split.length; i++) {
            if (split[i].indexOf('jcarousel-skin') != -1) {
                $(e).removeClass(split[i]);
                skin = split[i];
                break;
            }
        }

        if (e.nodeName.toUpperCase() == 'UL' || e.nodeName.toUpperCase() == 'OL') {
            this.list = $(e);
            this.container = this.list.parent();

            if (this.container.hasClass('jcarousel-clip')) {
                if (!this.container.parent().hasClass('jcarousel-container'))
                    this.container = this.container.wrap('<div></div>');

                this.container = this.container.parent();
            } else if (!this.container.hasClass('jcarousel-container'))
                this.container = this.list.wrap('<div></div>').parent();
        } else {
            this.container = $(e);
            this.list = this.container.find('ul,ol').eq(0);
        }

        if (skin != '' && this.container.parent()[0].className.indexOf('jcarousel-skin') == -1)
            this.container.wrap('<div class=" '+ skin + '"></div>');

        this.clip = this.list.parent();

        if (!this.clip.length || !this.clip.hasClass('jcarousel-clip'))
            this.clip = this.list.wrap('<div></div>').parent();

        this.buttonNext = $('.jcarousel-next', this.container);

        if (this.buttonNext.size() == 0 && this.options.buttonNextHTML != null)
            this.buttonNext = this.clip.after(this.options.buttonNextHTML).next();

        this.buttonNext.addClass(this.className('jcarousel-next'));

        this.buttonPrev = $('.jcarousel-prev', this.container);

        if (this.buttonPrev.size() == 0 && this.options.buttonPrevHTML != null)
            this.buttonPrev = this.clip.after(this.options.buttonPrevHTML).next();

        this.buttonPrev.addClass(this.className('jcarousel-prev'));

        this.clip.addClass(this.className('jcarousel-clip')).css({
            overflow: 'hidden',
            position: 'relative'
        });
        this.list.addClass(this.className('jcarousel-list')).css({
            overflow: 'hidden',
            position: 'relative',
            top: 0,
            margin: 0,
            padding: 0
        }).css((this.options.rtl ? 'right' : 'left'), 0);
        this.container.addClass(this.className('jcarousel-container')).css({
            position: 'relative'
        });
        if (!this.options.vertical && this.options.rtl)
            this.container.addClass('jcarousel-direction-rtl').attr('dir', 'rtl');

        var di = this.options.visible != null ? Math.ceil(this.clipping() / this.options.visible) : null;
        var li = this.list.children('li');

        var self = this;

        if (li.size() > 0) {
            var wh = 0, i = this.options.offset;
            li.each(function() {
                self.format(this, i++);
                wh += self.dimension(this, di);
            });

            this.list.css(this.wh, (wh + 100) + 'px');

            // Only set if not explicitly passed as option
            if (!o || o.size === undefined)
                this.options.size = li.size();
        }

        // For whatever reason, .show() does not work in Safari...
        this.container.css('display', 'block');
        this.buttonNext.css('display', 'block');
        this.buttonPrev.css('display', 'block');

        this.funcNext   = function() { self.next(); };
        this.funcPrev   = function() { self.prev(); };
        this.funcResize = function() { self.reload(); };

        if (this.options.initCallback != null)
            this.options.initCallback(this, 'init');

        if (!windowLoaded && $.browser.safari) {
            this.buttons(false, false);
            $(window).bind('load.jcarousel', function() { self.setup(); });
        } else
            this.setup();
    };

    // Create shortcut for internal use
    var $jc = $.jcarousel;

    $jc.fn = $jc.prototype = {
        jcarousel: '0.2.5'
    };

    $jc.fn.extend = $jc.extend = $.extend;

    $jc.fn.extend({
        /**
         * Setups the carousel.
         *
         * @method setup
         * @return undefined
         */
        setup: function() {
            this.first     = null;
            this.last      = null;
            this.prevFirst = null;
            this.prevLast  = null;
            this.animating = false;
            this.timer     = null;
            this.tail      = null;
            this.inTail    = false;

            if (this.locked)
                return;

            this.list.css(this.lt, this.pos(this.options.offset) + 'px');
            var p = this.pos(this.options.start);
            this.prevFirst = this.prevLast = null;
            this.animate(p, false);

            $(window).unbind('resize.jcarousel', this.funcResize).bind('resize.jcarousel', this.funcResize);
        },

        /**
         * Clears the list and resets the carousel.
         *
         * @method reset
         * @return undefined
         */
        reset: function() {
            this.list.empty();

            this.list.css(this.lt, '0px');
            this.list.css(this.wh, '10px');

            if (this.options.initCallback != null)
                this.options.initCallback(this, 'reset');

            this.setup();
        },

        /**
         * Reloads the carousel and adjusts positions.
         *
         * @method reload
         * @return undefined
         */
        reload: function() {
            if (this.tail != null && this.inTail)
                this.list.css(this.lt, $jc.intval(this.list.css(this.lt)) + this.tail);

            this.tail   = null;
            this.inTail = false;

            if (this.options.reloadCallback != null)
                this.options.reloadCallback(this);

            if (this.options.visible != null) {
                var self = this;
                var di = Math.ceil(this.clipping() / this.options.visible), wh = 0, lt = 0;
                this.list.children('li').each(function(i) {
                    wh += self.dimension(this, di);
                    if (i + 1 < self.first)
                        lt = wh;
                });

                this.list.css(this.wh, wh + 'px');
                this.list.css(this.lt, -lt + 'px');
            }

            this.scroll(this.first, false);
        },

        /**
         * Locks the carousel.
         *
         * @method lock
         * @return undefined
         */
        lock: function() {
            this.locked = true;
            this.buttons();
        },

        /**
         * Unlocks the carousel.
         *
         * @method unlock
         * @return undefined
         */
        unlock: function() {
            this.locked = false;
            this.buttons();
        },

        /**
         * Sets the size of the carousel.
         *
         * @method size
         * @return undefined
         * @param s {Number} The size of the carousel.
         */
        size: function(s) {
            if (s != undefined) {
                this.options.size = s;
                if (!this.locked)
                    this.buttons();
            }

            return this.options.size;
        },

        /**
         * Checks whether a list element exists for the given index (or index range).
         *
         * @method get
         * @return bool
         * @param i {Number} The index of the (first) element.
         * @param i2 {Number} The index of the last element.
         */
        has: function(i, i2) {
            if (i2 == undefined || !i2)
                i2 = i;

            if (this.options.size !== null && i2 > this.options.size)
                i2 = this.options.size;

            for (var j = i; j <= i2; j++) {
                var e = this.get(j);
                if (!e.length || e.hasClass('jcarousel-item-placeholder'))
                    return false;
            }

            return true;
        },

        /**
         * Returns a jQuery object with list element for the given index.
         *
         * @method get
         * @return jQuery
         * @param i {Number} The index of the element.
         */
        get: function(i) {
            return $('.jcarousel-item-' + i, this.list);
        },

        /**
         * Adds an element for the given index to the list.
         * If the element already exists, it updates the inner html.
         * Returns the created element as jQuery object.
         *
         * @method add
         * @return jQuery
         * @param i {Number} The index of the element.
         * @param s {String} The innerHTML of the element.
         */
        add: function(i, s) {
            var e = this.get(i), old = 0, n = $(s);

            if (e.length == 0) {
                var c, e = this.create(i), j = $jc.intval(i);
                while (c = this.get(--j)) {
                    if (j <= 0 || c.length) {
                        j <= 0 ? this.list.prepend(e) : c.after(e);
                        break;
                    }
                }
            } else
                old = this.dimension(e);

            if (n.get(0).nodeName.toUpperCase() == 'LI') {
                e.replaceWith(n);
                e = n;
            } else
                e.empty().append(s);

            this.format(e.removeClass(this.className('jcarousel-item-placeholder')), i);

            var di = this.options.visible != null ? Math.ceil(this.clipping() / this.options.visible) : null;
            var wh = this.dimension(e, di) - old;

            if (i > 0 && i < this.first)
                this.list.css(this.lt, $jc.intval(this.list.css(this.lt)) - wh + 'px');

            this.list.css(this.wh, $jc.intval(this.list.css(this.wh)) + wh + 'px');

            return e;
        },

        /**
         * Removes an element for the given index from the list.
         *
         * @method remove
         * @return undefined
         * @param i {Number} The index of the element.
         */
        remove: function(i) {
            var e = this.get(i);

            // Check if item exists and is not currently visible
            if (!e.length || (i >= this.first && i <= this.last))
                return;

            var d = this.dimension(e);

            if (i < this.first)
                this.list.css(this.lt, $jc.intval(this.list.css(this.lt)) + d + 'px');

            e.remove();

            this.list.css(this.wh, $jc.intval(this.list.css(this.wh)) - d + 'px');
        },

        /**
         * Moves the carousel forwards.
         *
         * @method next
         * @return undefined
         */
        next: function() {
            this.stopAuto();

            if (this.tail != null && !this.inTail)
                this.scrollTail(false);
            else
                this.scroll(((this.options.wrap == 'both' || this.options.wrap == 'last') && this.options.size != null && this.last == this.options.size) ? 1 : this.first + this.options.scroll);
        },

        /**
         * Moves the carousel backwards.
         *
         * @method prev
         * @return undefined
         */
        prev: function() {
            this.stopAuto();

            if (this.tail != null && this.inTail)
                this.scrollTail(true);
            else
                this.scroll(((this.options.wrap == 'both' || this.options.wrap == 'first') && this.options.size != null && this.first == 1) ? this.options.size : this.first - this.options.scroll);
        },

        /**
         * Scrolls the tail of the carousel.
         *
         * @method scrollTail
         * @return undefined
         * @param b {Boolean} Whether scroll the tail back or forward.
         */
        scrollTail: function(b) {
            if (this.locked || this.animating || !this.tail)
                return;

            var pos  = $jc.intval(this.list.css(this.lt));

            !b ? pos -= this.tail : pos += this.tail;
            this.inTail = !b;

            // Save for callbacks
            this.prevFirst = this.first;
            this.prevLast  = this.last;

            this.animate(pos);
        },

        /**
         * Scrolls the carousel to a certain position.
         *
         * @method scroll
         * @return undefined
         * @param i {Number} The index of the element to scoll to.
         * @param a {Boolean} Flag indicating whether to perform animation.
         */
        scroll: function(i, a) {
            if (this.locked || this.animating)
                return;

            this.animate(this.pos(i), a);
        },

        /**
         * Prepares the carousel and return the position for a certian index.
         *
         * @method pos
         * @return {Number}
         * @param i {Number} The index of the element to scoll to.
         */
        pos: function(i) {
            var pos  = $jc.intval(this.list.css(this.lt));

            if (this.locked || this.animating)
                return pos;

            if (this.options.wrap != 'circular')
                i = i < 1 ? 1 : (this.options.size && i > this.options.size ? this.options.size : i);

            var back = this.first > i;

            // Create placeholders, new list width/height
            // and new list position
            var f = this.options.wrap != 'circular' && this.first <= 1 ? 1 : this.first;
            var c = back ? this.get(f) : this.get(this.last);
            var j = back ? f : f - 1;
            var e = null, l = 0, p = false, d = 0, g;

            while (back ? --j >= i : ++j < i) {
                e = this.get(j);
                p = !e.length;
                if (e.length == 0) {
                    e = this.create(j).addClass(this.className('jcarousel-item-placeholder'));
                    c[back ? 'before' : 'after' ](e);

                    if (this.first != null && this.options.wrap == 'circular' && this.options.size !== null && (j <= 0 || j > this.options.size)) {
                        g = this.get(this.index(j));
                        if (g.length)
                            e = this.add(j, g.clone(true));
                    }
                }

                c = e;
                d = this.dimension(e);

                if (p)
                    l += d;

                if (this.first != null && (this.options.wrap == 'circular' || (j >= 1 && (this.options.size == null || j <= this.options.size))))
                    pos = back ? pos + d : pos - d;
            }

            // Calculate visible items
            var clipping = this.clipping();
            var cache = [];
            var visible = 0, j = i, v = 0;
            var c = this.get(i - 1);

            while (++visible) {
                e = this.get(j);
                p = !e.length;
                if (e.length == 0) {
                    e = this.create(j).addClass(this.className('jcarousel-item-placeholder'));
                    // This should only happen on a next scroll
                    c.length == 0 ? this.list.prepend(e) : c[back ? 'before' : 'after' ](e);

                    if (this.first != null && this.options.wrap == 'circular' && this.options.size !== null && (j <= 0 || j > this.options.size)) {
                        g = this.get(this.index(j));
                        if (g.length)
                            e = this.add(j, g.clone(true));
                    }
                }

                c = e;
                var d = this.dimension(e);
                if (d == 0) {
                    throw new Error('jCarousel: No width/height set for items. This will cause an infinite loop. Aborting...');
                }

                if (this.options.wrap != 'circular' && this.options.size !== null && j > this.options.size)
                    cache.push(e);
                else if (p)
                    l += d;

                v += d;

                if (v >= clipping)
                    break;

                j++;
            }

             // Remove out-of-range placeholders
            for (var x = 0; x < cache.length; x++)
                cache[x].remove();

            // Resize list
            if (l > 0) {
                this.list.css(this.wh, this.dimension(this.list) + l + 'px');

                if (back) {
                    pos -= l;
                    this.list.css(this.lt, $jc.intval(this.list.css(this.lt)) - l + 'px');
                }
            }

            // Calculate first and last item
            var last = i + visible - 1;
            if (this.options.wrap != 'circular' && this.options.size && last > this.options.size)
                last = this.options.size;

            if (j > last) {
                visible = 0, j = last, v = 0;
                while (++visible) {
                    var e = this.get(j--);
                    if (!e.length)
                        break;
                    v += this.dimension(e);
                    if (v >= clipping)
                        break;
                }
            }

            var first = last - visible + 1;
            if (this.options.wrap != 'circular' && first < 1)
                first = 1;

            if (this.inTail && back) {
                pos += this.tail;
                this.inTail = false;
            }

            this.tail = null;
            if (this.options.wrap != 'circular' && last == this.options.size && (last - visible + 1) >= 1) {
                var m = $jc.margin(this.get(last), !this.options.vertical ? 'marginRight' : 'marginBottom');
                if ((v - m) > clipping)
                    this.tail = v - clipping - m;
            }

            // Adjust position
            while (i-- > first)
                pos += this.dimension(this.get(i));

            // Save visible item range
            this.prevFirst = this.first;
            this.prevLast  = this.last;
            this.first     = first;
            this.last      = last;

            return pos;
        },

        /**
         * Animates the carousel to a certain position.
         *
         * @method animate
         * @return undefined
         * @param p {Number} Position to scroll to.
         * @param a {Boolean} Flag indicating whether to perform animation.
         */
        animate: function(p, a) {
            if (this.locked || this.animating)
                return;

            this.animating = true;

            var self = this;
            var scrolled = function() {
                self.animating = false;

                if (p == 0)
                    self.list.css(self.lt,  0);

                if (self.options.wrap == 'circular' || self.options.wrap == 'both' || self.options.wrap == 'last' || self.options.size == null || self.last < self.options.size)
                    self.startAuto();

                self.buttons();
                self.notify('onAfterAnimation');

                // This function removes items which are appended automatically for circulation.
                // This prevents the list from growing infinitely.
                if (self.options.wrap == 'circular' && self.options.size !== null)
                    for (var i = self.prevFirst; i <= self.prevLast; i++)
                        if (i !== null && !(i >= self.first && i <= self.last) && (i < 1 || i > self.options.size))
                            self.remove(i);
            };

            this.notify('onBeforeAnimation');

            // Animate
            if (!this.options.animation || a == false) {
                this.list.css(this.lt, p + 'px');
                scrolled();
            } else {
                var o = !this.options.vertical ? (this.options.rtl ? {'right': p} : {'left': p}) : {'top': p};
                this.list.animate(o, this.options.animation, this.options.easing, scrolled);
            }
        },

        /**
         * Starts autoscrolling.
         *
         * @method auto
         * @return undefined
         * @param s {Number} Seconds to periodically autoscroll the content.
         */
        startAuto: function(s) {
            if (s != undefined)
                this.options.auto = s;

            if (this.options.auto == 0)
                return this.stopAuto();

            if (this.timer != null)
                return;

            var self = this;
            this.timer = setTimeout(function() { self.next(); }, this.options.auto * 1000);
        },

        /**
         * Stops autoscrolling.
         *
         * @method stopAuto
         * @return undefined
         */
        stopAuto: function() {
            if (this.timer == null)
                return;

            clearTimeout(this.timer);
            this.timer = null;
        },

        /**
         * Sets the states of the prev/next buttons.
         *
         * @method buttons
         * @return undefined
         */
        buttons: function(n, p) {
            if (n == undefined || n == null) {
                var n = !this.locked && this.options.size !== 0 && ((this.options.wrap && this.options.wrap != 'first') || this.options.size == null || this.last < this.options.size);
                if (!this.locked && (!this.options.wrap || this.options.wrap == 'first') && this.options.size != null && this.last >= this.options.size)
                    n = this.tail != null && !this.inTail;
            }

            if (p == undefined || p == null) {
                var p = !this.locked && this.options.size !== 0 && ((this.options.wrap && this.options.wrap != 'last') || this.first > 1);
                if (!this.locked && (!this.options.wrap || this.options.wrap == 'last') && this.options.size != null && this.first == 1)
                    p = this.tail != null && this.inTail;
            }

            var self = this;

            this.buttonNext[n ? 'bind' : 'unbind'](this.options.buttonNextEvent + '.jcarousel', this.funcNext)[n ? 'removeClass' : 'addClass'](this.className('jcarousel-next-disabled')).attr('disabled', n ? false : true);
            this.buttonPrev[p ? 'bind' : 'unbind'](this.options.buttonPrevEvent + '.jcarousel', this.funcPrev)[p ? 'removeClass' : 'addClass'](this.className('jcarousel-prev-disabled')).attr('disabled', p ? false : true);

            if (this.options.buttonNextCallback != null && this.buttonNext.data('jcarouselstate') != n) {
                this.buttonNext.each(function() { self.options.buttonNextCallback(self, this, n); }).data('jcarouselstate', n);
            }

            if (this.options.buttonPrevCallback != null && (this.buttonPrev.data('jcarouselstate') != p)) {
                this.buttonPrev.each(function() { self.options.buttonPrevCallback(self, this, p); }).data('jcarouselstate', p);
            }
        },

        /**
         * Notify callback of a specified event.
         *
         * @method notify
         * @return undefined
         * @param evt {String} The event name
         */
        notify: function(evt) {
            var state = this.prevFirst == null ? 'init' : (this.prevFirst < this.first ? 'next' : 'prev');

            // Load items
            this.callback('itemLoadCallback', evt, state);

            if (this.prevFirst !== this.first) {
                this.callback('itemFirstInCallback', evt, state, this.first);
                this.callback('itemFirstOutCallback', evt, state, this.prevFirst);
            }

            if (this.prevLast !== this.last) {
                this.callback('itemLastInCallback', evt, state, this.last);
                this.callback('itemLastOutCallback', evt, state, this.prevLast);
            }

            this.callback('itemVisibleInCallback', evt, state, this.first, this.last, this.prevFirst, this.prevLast);
            this.callback('itemVisibleOutCallback', evt, state, this.prevFirst, this.prevLast, this.first, this.last);
        },

        callback: function(cb, evt, state, i1, i2, i3, i4) {
            if (this.options[cb] == undefined || (typeof this.options[cb] != 'object' && evt != 'onAfterAnimation'))
                return;

            var callback = typeof this.options[cb] == 'object' ? this.options[cb][evt] : this.options[cb];

            if (!$.isFunction(callback))
                return;

            var self = this;

            if (i1 === undefined)
                callback(self, state, evt);
            else if (i2 === undefined)
                this.get(i1).each(function() { callback(self, this, i1, state, evt); });
            else {
                for (var i = i1; i <= i2; i++)
                    if (i !== null && !(i >= i3 && i <= i4))
                        this.get(i).each(function() { callback(self, this, i, state, evt); });
            }
        },

        create: function(i) {
            return this.format('<li></li>', i);
        },

        format: function(e, i) {
            var e = $(e), split = e.get(0).className.split(' ');
            for (var j = 0; j < split.length; j++) {
                if (split[j].indexOf('jcarousel-') != -1) {
                    e.removeClass(split[j]);
                }
            }
            e.addClass(this.className('jcarousel-item')).addClass(this.className('jcarousel-item-' + i)).css({
                'float': (this.options.rtl ? 'right' : 'left'),
                'list-style': 'none'
            }).attr('jcarouselindex', i);
            return e;
        },

        className: function(c) {
            return c + ' ' + c + (!this.options.vertical ? '-horizontal' : '-vertical');
        },

        dimension: function(e, d) {
            var el = e.jquery != undefined ? e[0] : e;

            var old = !this.options.vertical ?
                (el.offsetWidth || $jc.intval(this.options.itemFallbackDimension)) + $jc.margin(el, 'marginLeft') + $jc.margin(el, 'marginRight') :
                (el.offsetHeight || $jc.intval(this.options.itemFallbackDimension)) + $jc.margin(el, 'marginTop') + $jc.margin(el, 'marginBottom');

            if (d == undefined || old == d)
                return old;

            var w = !this.options.vertical ?
                d - $jc.margin(el, 'marginLeft') - $jc.margin(el, 'marginRight') :
                d - $jc.margin(el, 'marginTop') - $jc.margin(el, 'marginBottom');

            $(el).css(this.wh, w + 'px');

            return this.dimension(el);
        },

        clipping: function() {
            return !this.options.vertical ?
                this.clip[0].offsetWidth - $jc.intval(this.clip.css('borderLeftWidth')) - $jc.intval(this.clip.css('borderRightWidth')) :
                this.clip[0].offsetHeight - $jc.intval(this.clip.css('borderTopWidth')) - $jc.intval(this.clip.css('borderBottomWidth'));
        },

        index: function(i, s) {
            if (s == undefined)
                s = this.options.size;

            return Math.round((((i-1) / s) - Math.floor((i-1) / s)) * s) + 1;
        }
    });

    $jc.extend({
        /**
         * Gets/Sets the global default configuration properties.
         *
         * @method defaults
         * @return {Object}
         * @param d {Object} A set of key/value pairs to set as configuration properties.
         */
        defaults: function(d) {
            return $.extend(defaults, d || {});
        },

        margin: function(e, p) {
            if (!e)
                return 0;

            var el = e.jquery != undefined ? e[0] : e;

            if (p == 'marginRight' && $.browser.safari) {
                var old = {'display': 'block', 'float': 'none', 'width': 'auto'}, oWidth, oWidth2;

                $.swap(el, old, function() { oWidth = el.offsetWidth; });

                old['marginRight'] = 0;
                $.swap(el, old, function() { oWidth2 = el.offsetWidth; });

                return oWidth2 - oWidth;
            }

            return $jc.intval($.css(el, p));
        },

        intval: function(v) {
            v = parseInt(v);
            return isNaN(v) ? 0 : v;
        }
    });

})(jQuery);
;

/**
 * @file
 * A simple jQuery JCarouselThumbs Div Slideshow Rotator.
 */

/**
 * This will set our initial behavior, by starting up each individual slideshow.
 */
Drupal.behaviors.viewsSlideshowJCarouselThumbs = function (context) {
  $('.views_slideshow_jcarouselthumbs_main:not(.viewsSlideshowJCarouselThumbs-processed)', context).addClass('viewsSlideshowJCarouselThumbs-processed').each(function() {
    var fullId = '#' + $(this).attr('id');
    var settings = Drupal.settings.viewsSlideshowJCarouselThumbs[fullId];
    settings.targetId = '#' + $(fullId + " :first").attr('id');
		settings.paused = false;
		
    settings.opts = {
      speed:settings.speed,
      timeout:parseInt(settings.timeout),
      delay:parseInt(settings.delay),
      sync:settings.sync==1,
      random:settings.random==1,
      pause:false,
      pager:(settings.pager_event == 'hoverIntent') ? null : '#views_slideshow_breakout_teasers_' + settings.id,
      nowrap:parseInt(settings.nowrap),
      pagerAnchorBuilder:(settings.pager_event == 'hoverIntent') ? null : function(idx, slide) { 
        return '#views_slideshow_jcarouselthumbs_div_breakout_teaser_' + settings.id + '_' + idx; 
      },
      after:function(curr, next, opts) {
        // Used for Image Counter.
        if (settings.image_count) {
          $('#views_slideshow_jcarouselthumbs_image_count_' + settings.id + ' span.num').html(opts.currSlide + 1);
          $('#views_slideshow_jcarouselthumbs_image_count_' + settings.id + ' span.total').html(opts.slideCount);
        }
      },
      before:function(current, next) {
        if (settings.fixed_height == 0) {
          //get the height of the current slide
          var $ht = $(this).height();
          //set the container's height to that of the current slide
          $(this).parent().animate({height: $ht});
        }
        var currId = (currId=$(current).attr('id')).substring(currId.lastIndexOf('_')+1)
        var nextId = (nextId=$(next).attr('id')).substring(nextId.lastIndexOf('_')+1)
        $('#views_slideshow_jcarouselthumbs_div_breakout_teaser_' + settings.id + '_' + currId).removeClass('activeSlide');
        $('#views_slideshow_jcarouselthumbs_div_breakout_teaser_' + settings.id + '_' + nextId).addClass('activeSlide');

        //scroll the carousel if necessary        
        var temp = $('#views_slideshow_jcarouselthumbs_div_breakout_teaser_' + settings.id + '_' + nextId);
        var doScroll = false;
        var pos = temp.position();
        var clip = $('#views_slideshow_jcarouselthumbs_breakout_teasers_' + settings.id + ' .jcarousel-clip');
        var posTarget =  $('#views_slideshow_jcarouselthumbs_breakout_teasers_' + settings.id + " .carousel-target");
        
        if (settings.jcarousel_settings.vertical) {
          var offsetTop = pos.top;
          var itemHeight = temp.height();
          var clipHeight = clip.height();
          var clipTop = posTarget.position().top * -1;
          doScroll = (offsetTop + itemHeight > clipHeight + clipTop|| offsetTop < clipTop)
        } else {
          var offsetLeft = pos.left;
          var itemWidth = temp.width();
          var clipWidth = clip.width();
          var clipLeft = posTarget.position().left * -1;
          doScroll = (offsetLeft + itemWidth > clipWidth + clipLeft || offsetLeft < clipLeft)
        }
        
        if (doScroll) {
          settings.carousel.scroll(parseInt(nextId)+1,true)
        }
      },
      pagerEvent: (settings.pager_event == 'hoverIntent') ? null : settings.pager_event,
      prev:(settings.controls > 0)?'#views_slideshow_jcarouselthumbs_prev_' + settings.id:null,
      next:(settings.controls > 0)?'#views_slideshow_jcarouselthumbs_next_' + settings.id:null,
      cleartype:eval(settings.ie.cleartype),
      cleartypeNoBg:eval(settings.ie.cleartypenobg)
    };
    
    if (settings.effect == 'none') {
      settings.opts.speed = 1;
    }
    else {
      settings.opts.fx = settings.effect;
    }
    var jcarousel_settings = {};
    jcarousel_settings.scroll = eval(settings.scroll);
    if (settings.jcarousel_advanced.length > 0 && settings.jcarousel_advanced != "\n") {
      viewsSlideshowAdvancedSettings(settings.jcarousel_advanced, jcarousel_settings);
    }
    
    settings.jcarousel_settings = jcarousel_settings;

    $('#views_slideshow_jcarouselthumbs_breakout_teasers_' + settings.id + " .carousel-target").jcarousel(
      $.extend({
        initCallback:function(c) {
          settings.carousel = c;
          $(c.buttonNext).click(function() {
            viewsSlideshowJCarouselThumbsPause(settings);
          });
          $(c.buttonPrev).click(function() {
            viewsSlideshowJCarouselThumbsPause(settings);
          });
        }
      }, jcarousel_settings));		

		// Pause on hover.
    if (settings.pause == 1) {
      $('#views_slideshow_jcarouselthumbs_teaser_section_' + settings.id).hover(function() {
        $(settings.targetId).cycle('pause');
      }, function() {
        if (settings.paused == false) {
          $(settings.targetId).cycle('resume');
        }
      });
    }

    // Pause on clicking of the slide.
    if (settings.pause_on_click == 1) {
      $('#views_slideshow_jcarouselthumbs_teaser_section_' + settings.id).click(function() { 
        viewsSlideshowJCarouselThumbsPause(settings);
      });
    }
    
    // Add additional settings.
    if (settings.advanced.length > 0 && settings.advanced != "\n") {
      viewsSlideshowAdvancedSettings(settings.advanced, settings.opts);
    }

    $(settings.targetId).cycle(settings.opts);
    
    // Show image count for people who have js enabled.
    $('#views_slideshow_jcarouselthumbs_image_count_' + settings.id).show();
    
    
    $('#views_slideshow_jcarouselthumbs_breakout_teasers_' + settings.id + ' .views_slideshow_jcarouselthumbs_div_breakout_teaser').each(function(i,obj) {
      if (settings.pager_event == 'hoverIntent') {
        $(obj).hoverIntent(
          function() {
            $('.views_slideshow_jcarouselthumbs_div_breakout_teaser').removeClass('activeSlide');
            var id = $(this).attr('id');
            id = parseInt(id.substring(id.lastIndexOf('_')+1));
            $(settings.targetId).cycle(id);
            $('#views_slideshow_jcarouselthumbs_div_breakout_teaser_' + settings.id + '_' + id).addClass('activeSlide');
            viewsSlideshowJCarouselThumbsPause(settings);
          },
          function() {
            var id = $(this).attr('id');
            settings.opts.startingSlide = parseInt(id.substring(id.lastIndexOf('_')+1));
            $(settings.targetId).cycle(settings.opts);
          }
        );
      } else {
        $(obj).bind(settings.pager_event, function(e) {
          viewsSlideshowJCarouselThumbsPause(settings);
        });
      }      
    });


    if (settings.controls > 0) {
      // Show controls for people who have js enabled browsers.
      $('#views_slideshow_jcarouselthumbs_controls_' + settings.id).show();
      
      $('#views_slideshow_jcarouselthumbs_playpause_' + settings.id).click(function(e) {
        if (settings.paused) {
          viewsSlideshowJCarouselThumbsResume(settings);
        }
        else {
          viewsSlideshowJCarouselThumbsPause(settings);
        }
        e.preventDefault();
      });
    }
  });
}

viewsSlideshowAdvancedSettings = function(settings, opts) {
  var advanced = settings.split("\n");
  for (var i=0; i<advanced.length; i++) {
    var prop = '';
    var value = '';
    var property = advanced[i].split(":");
    for (j=0; j<property.length; j++) {
      if (j == 0) {
        prop = property[j];
      }
      else if (j == 1) {
        value = property[j];
      }
      else {
        value += ":" + property[j];
      }
    }

    // Need to evaluate so true, false and numerics aren't a string.
    if (value == 'true' || value == 'false' || IsNumeric(value)) {
      value = eval(value);
    }
    else {
      // Parse strings into functions.
      var func = value.match(/function\s*\((.*?)\)\s*\{(.*)\}/i);
      if (func) {
        value = new Function(func[1].match(/(\w+)/g), func[2]);
      }
    }

    // Call both functions if prop was set previously.
    if (typeof(value) == "function" && prop in opts) {
      var callboth = function(before_func, new_func) {
        return function() {
          before_func.apply(null, arguments);
          new_func.apply(null, arguments);
        };
      };
      opts[prop] = callboth(opts[prop], value);
    }
    else {
      opts[prop] = value;
    }
  }
  return opts;
}

// Pause the slideshow 
viewsSlideshowJCarouselThumbsPause = function (settings) {
  $(settings.targetId).cycle('pause');
  if (settings.controls > 0) {
    $('#views_slideshow_jcarouselthumbs_playpause_' + settings.id)
      .addClass('views_slideshow_jcarouselthumbs_play')
      .addClass('views_slideshow_play')
      .removeClass('views_slideshow_jcarouselthumbs_pause')
      .removeClass('views_slideshow_pause')
      .text('Resume');
  }
  settings.paused = true;
}

// Resume the slideshow
viewsSlideshowJCarouselThumbsResume = function (settings) {
  $(settings.targetId).cycle('resume');
  if (settings.controls > 0) {
    $('#views_slideshow_jcarouselthumbs_playpause_' + settings.id)
      .addClass('views_slideshow_jcarouselthumbs_pause')
      .addClass('views_slideshow_pause')
      .removeClass('views_slideshow_jcarouselthumbs_play')
      .removeClass('views_slideshow_play')
      .text('Pause');
  }
  settings.paused = false;
}

// Verify that the value is a number.
function IsNumeric(sText) {
  var ValidChars = "0123456789";
  var IsNumber=true;
  var Char;

  for (i=0; i < sText.length && IsNumber == true; i++) { 
    Char = sText.charAt(i); 
    if (ValidChars.indexOf(Char) == -1) {
      IsNumber = false;
    }
  }
  return IsNumber;
}
;
/*
 * jQuery EasIng v1.1.2 - http://gsgd.co.uk/sandbox/jquery.easIng.php
 *
 * Uses the built In easIng capabilities added In jQuery 1.1
 * to offer multiple easIng options
 *
 * Copyright (c) 2007 George Smith
 * Licensed under the MIT License:
 *   http://www.opensource.org/licenses/mit-license.php
 */

// t: current time, b: begInnIng value, c: change In value, d: duration

jQuery.extend( jQuery.easing,
{
	easeInQuad: function (x, t, b, c, d) {
		return c*(t/=d)*t + b;
	},
	easeOutQuad: function (x, t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
	},
	easeInOutQuad: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t + b;
		return -c/2 * ((--t)*(t-2) - 1) + b;
	},
	easeInCubic: function (x, t, b, c, d) {
		return c*(t/=d)*t*t + b;
	},
	easeOutCubic: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t + 1) + b;
	},
	easeInOutCubic: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t + b;
		return c/2*((t-=2)*t*t + 2) + b;
	},
	easeInQuart: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t + b;
	},
	easeOutQuart: function (x, t, b, c, d) {
		return -c * ((t=t/d-1)*t*t*t - 1) + b;
	},
	easeInOutQuart: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
		return -c/2 * ((t-=2)*t*t*t - 2) + b;
	},
	easeInQuint: function (x, t, b, c, d) {
		return c*(t/=d)*t*t*t*t + b;
	},
	easeOutQuint: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t*t*t + 1) + b;
	},
	easeInOutQuint: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
		return c/2*((t-=2)*t*t*t*t + 2) + b;
	},
	easeInSine: function (x, t, b, c, d) {
		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
	},
	easeOutSine: function (x, t, b, c, d) {
		return c * Math.sin(t/d * (Math.PI/2)) + b;
	},
	easeInOutSine: function (x, t, b, c, d) {
		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
	},
	easeInExpo: function (x, t, b, c, d) {
		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
	},
	easeOutExpo: function (x, t, b, c, d) {
		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
	},
	easeInOutExpo: function (x, t, b, c, d) {
		if (t==0) return b;
		if (t==d) return b+c;
		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
	},
	easeInCirc: function (x, t, b, c, d) {
		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
	},
	easeOutCirc: function (x, t, b, c, d) {
		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
	},
	easeInOutCirc: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
	},
	easeInElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	},
	easeOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	},
	easeInOutElastic: function (x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
	},
	easeInBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*(t/=d)*t*((s+1)*t - s) + b;
	},
	easeOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158;
		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
	},
	easeInOutBack: function (x, t, b, c, d, s) {
		if (s == undefined) s = 1.70158; 
		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
	},
	easeInBounce: function (x, t, b, c, d) {
		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
	},
	easeOutBounce: function (x, t, b, c, d) {
		if ((t/=d) < (1/2.75)) {
			return c*(7.5625*t*t) + b;
		} else if (t < (2/2.75)) {
			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
		} else if (t < (2.5/2.75)) {
			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
		} else {
			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
		}
	},
	easeInOutBounce: function (x, t, b, c, d) {
		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
	}
});;
/*
    anythingSlider v1.2
    
    By Chris Coyier: http://css-tricks.com
    with major improvements by Doug Neiner: http://pixelgraphics.us/
    based on work by Remy Sharp: http://jqueryfordesigners.com/


	To use the navigationFormatter function, you must have a function that
	accepts two paramaters, and returns a string of HTML text.
	
	index = integer index (1 based);
	panel = jQuery wrapped LI item this tab references
	@return = Must return a string of HTML/Text
	
	navigationFormatter: function(index, panel){
		return index + " Panel"; // This would have each tab with the text 'X Panel' where X = index
	}
*/

(function($){
	
    $.anythingSlider = function(el, options){
        // To avoid scope issues, use 'base' instead of 'this'
        // to reference this class from internal events and functions.
        var base = this;
        
        // Access to jQuery and DOM versions of element
        base.$el = $(el);
        base.el = el; 

		// Set up a few defaults
        base.currentPage = 1;
		base.timer = null;
		base.playing = false;

        // Add a reverse reference to the DOM object
        base.$el.data("AnythingSlider", base);
        
        base.init = function(){
            base.options = $.extend({},$.anythingSlider.defaults, options);
			
			// Cache existing DOM elements for later 
			base.$wrapper = base.$el.find('> div').css('overflow', 'hidden');
            base.$slider  = base.$wrapper.find('> ul');
            base.$items   = base.$slider.find('> li');
            base.$single  = base.$items.filter(':first');

			// Build the navigation if needed
			if(base.options.buildNavigation) base.buildNavigation();
        
        	// Get the details
            base.singleWidth = base.$single.outerWidth();
            base.pages = base.$items.length;

            // Top and tail the list with 'visible' number of items, top has the last section, and tail has the first
			// This supports the "infinite" scrolling
			base.$items.filter(':first').before(base.$items.filter(':last').clone().addClass('cloned'));
            base.$items.filter(':last' ).after(base.$items.filter(':first').clone().addClass('cloned'));

			// We just added two items, time to re-cache the list
            base.$items = base.$slider.find('> li'); // reselect
            
			// Setup our forward/backward navigation
			base.buildNextBackButtons();
		
			// If autoPlay functionality is included, then initialize the settings
			if(base.options.autoPlay) {
				base.playing = !base.options.startStopped; // Sets the playing variable to false if startStopped is true
				base.buildAutoPlay();
			};
			
			// If pauseOnHover then add hover effects
			if(base.options.pauseOnHover) {
				base.$el.hover(function(){
					base.clearTimer();
				}, function(){
					base.startStop(base.playing);
				});
			}
			
			// If a hash can not be used to trigger the plugin, then go to page 1
			if((base.options.hashTags == true && !base.gotoHash()) || base.options.hashTags == false){
				base.setCurrentPage(1);
			};
        };

		base.gotoPage = function(page, autoplay){
			// When autoplay isn't passed, we stop the timer
			if(autoplay !== true) autoplay = false;
			if(!autoplay) base.startStop(false);
			
			if(typeof(page) == "undefined" || page == null) {
				page = 1;
				base.setCurrentPage(1);
			};
			
			// Just check for bounds
			if(page > base.pages + 1) page = base.pages;
			if(page < 0 ) page = 1;

			var dir = page < base.currentPage ? -1 : 1,
                n = Math.abs(base.currentPage - page),
                left = base.singleWidth * dir * n;
			
			base.$wrapper.filter(':not(:animated)').animate({
                scrollLeft : '+=' + left
            }, base.options.animationTime, base.options.easing, function () {
                if (page == 0) {
                    base.$wrapper.scrollLeft(base.singleWidth * base.pages);
					page = base.pages;
                } else if (page > base.pages) {
                    base.$wrapper.scrollLeft(base.singleWidth);
                    // reset back to start position
                    page = 1;
                };
				base.setCurrentPage(page);
				
            });
		};
		
		base.setCurrentPage = function(page, move){
			// Set visual
			if(base.options.buildNavigation){
				base.$nav.find('.cur').removeClass('cur');
				$(base.$navLinks[page - 1]).addClass('cur');	
			};
			
			// Only change left if move does not equal false
			if(move !== false) base.$wrapper.scrollLeft(base.singleWidth * page);

			// Update local variable
			base.currentPage = page;
		};
		
		base.goForward = function(autoplay){
			if(autoplay !== true) autoplay = false;
			base.gotoPage(base.currentPage + 1, autoplay);
		};
		
		base.goBack = function(){
			base.gotoPage(base.currentPage - 1);
		};
		
		// This method tries to find a hash that matches panel-X
		// If found, it tries to find a matching item
		// If that is found as well, then that item starts visible
		base.gotoHash = function(){
			if(/^#?panel-\d+$/.test(window.location.hash)){
				var index = parseInt(window.location.hash.substr(7));
				var $item = base.$items.filter(':eq(' + index + ')');
				if($item.length != 0){
					base.setCurrentPage(index);
					return true;
				};
			};
			return false; // A item wasn't found;
		};
        
		// Creates the numbered navigation links
		base.buildNavigation = function(){
			base.$rap = $("<div id='numWrap'></div>").appendTo(base.$el);
			base.$nav = $("<div id='thumbNav'></div>").appendTo(base.$rap);
			base.$holder = $("<div id='holder'></div>").appendTo(base.$nav); 
			base.$length = base.$items.length;
			base.$items.each(function(i,el){
			
				var index = i + 1;
				if(index == 1) {
					var $a = $("<a id='first' href='#'></a>");
				} else if(index == base.$length) {
					var $a = $("<a id='last' href='#'></a>");
				} else {
					var $a = $("<a href='#'></a>");
				}
				// If a formatter function is present, use it
				if( typeof(base.options.navigationFormatter) == "function"){
					if ($(this).children().children('img.photo').attr('src') == undefined) {
						/*$a.html("<img class='slideThumb' src="+base.options.defaultThumb+" alt="+base.options.navigationFormatter(index, $(this))+" />");*/
						$a.html("<span>"+index+"</span>");
					} else {  
						/*$a.html("<img class='slideThumb' src="+$(this).children().children('img.photo').attr('src')+" alt="+base.options.navigationFormatter(index, $(this))+" />");*/
						$a.html("<span>"+index+"</span>");
					}
				} else { 
					$a.text(index);
				}
				$a.click(function(e){
                    base.gotoPage(index);
                    
                    if (base.options.hashTags)
						base.setHash('panel-' + index);
						
                    e.preventDefault();
				});
				base.$holder.append($a); 

			});
			base.$navLinks = base.$holder.find('> a');
		};
		
		
		// Creates the Forward/Backward buttons
		base.buildNextBackButtons = function(){
			var $forward = $('<a class="arrow forward">&gt;</a>'),
				$back    = $('<a class="arrow back">&lt;</a>');
				
            // Bind to the forward and back buttons
            $back.click(function(e){
            	var element = $("a#first");
            	var position = element.position();
				//work out if the first element is past the yard arm
            	if(position.left < 0) {
            		$("#holder:not(:animated)").animate({"marginLeft": "+=26px"}, "fast");
            	} 
              if ((base.currentPage - 1)  >= 1) {
                base.gotoPage(base.currentPage -1);
              }
              else {
                base.gotoPage( base.$length);
                base.setCurrentPage(base.$length);
                var size = (base.$length -5) * -26;
                size += "px"
                 $("#holder:not(:animated)").animate({"marginLeft": size}, "fast");
              }
              
            });
			
			var elementR = $("a#last");
            var positionR = elementR.position();	
			var Right = positionR.left; 
			
            $forward.click(function(e){
				var element = $("a#last");
            	var position = element.position();	
				//work out if the last element is past the yard elbow
            	if(position.left >= 120) {
	               	$("#holder:not(:animated)").animate({"marginLeft": "-=26px"}, "fast");
            	}
         
              if ((base.currentPage + 1)  <= base.$length) {
                base.gotoPage(base.currentPage +1);
              }
              else {
                base.gotoPage(1);
                $("#holder:not(:animated)").animate({"marginLeft": "0px"}, "fast");
               
              }
        
           
            });

			// Append elements to page
			base.$rap.prepend($back).append($forward);

		};
		
		// Creates the Start/Stop button
		base.buildAutoPlay = function(){

			base.$startStop = $("<a href='#' id='start-stop'></a>").html(base.playing ? base.options.stopText :  base.options.startText);
			base.$el.append(base.$startStop);            
            base.$startStop.click(function(e){
				base.startStop(!base.playing);
				e.preventDefault();
            });

			// Use the same setting, but trigger the start;
			base.startStop(base.playing);
		};
		
		// Handles stopping and playing the slideshow
		// Pass startStop(false) to stop and startStop(true) to play
		base.startStop = function(playing){
			if(playing !== true) playing = false; // Default if not supplied is false
			
			// Update variable
			base.playing = playing;
			
			// Toggle playing and text
			if(base.options.autoPlay) base.$startStop.toggleClass("playing", playing).html( playing ? base.options.stopText : base.options.startText );
			
			if(playing){
				base.clearTimer(); // Just in case this was triggered twice in a row
				base.timer = window.setInterval(function(){
					base.goForward(true);
				}, base.options.delay);
			} else {
				base.clearTimer();
			};
		};
		
		base.clearTimer = function(){
			// Clear the timer only if it is set
			if(base.timer) window.clearInterval(base.timer);
		};
		
		// Taken from AJAXY jquery.history Plugin
		base.setHash = function ( hash ) {
			// Write hash
			if ( typeof window.location.hash !== 'undefined' ) {
				if ( window.location.hash !== hash ) {
					window.location.hash = hash;
				};
			} else if ( location.hash !== hash ) {
				location.hash = hash;
			};
			
			// Done
			return hash;
		};
		// <-- End AJAXY code


		// Trigger the initialization
        base.init();
    };

	
    $.anythingSlider.defaults = {
        easing: "swing",                // Anything other than "linear" or "swing" requires the easing plugin
        autoPlay: true,                 // This turns off the entire FUNCTIONALY, not just if it starts running or not
        startStopped: false,            // If autoPlay is on, this can force it to start stopped
        delay: 3000,                    // How long between slide transitions in AutoPlay mode
        animationTime: 600,             // How long the slide transition takes
        hashTags: true,                 // Should links change the hashtag in the URL?
        buildNavigation: true,          // If true, builds and list of anchor links to link to each slide
        pauseOnHover: true,             // If true, and autoPlay is enabled, the show will pause on hover
		startText: "Start",             // Start text
		stopText: "Stop",               // Stop text
		navigationFormatter: null,       // Details at the top of the file on this use (advanced use)
		defaultThumb: ''    //set the default thumbnail if no other are found
    };
	

    $.fn.anythingSlider = function(options){
		if(typeof(options) == "object"){
		    return this.each(function(i){			
				(new $.anythingSlider(this, options));

	            // This plugin supports multiple instances, but only one can support hash-tag support
				// This disables hash-tags on all items but the first one
				options.hashTags = false;
	        });	
		} else if (typeof(options) == "number") {

			return this.each(function(i){
				var anySlide = $(this).data('AnythingSlider');
				if(anySlide){
					anySlide.gotoPage(options);
				}
			});
		}
    };

	
})(jQuery);;

