if(window.glow){throw new Error("glow Core module already included")}var glow=(function(){var c={glow:true},b=/([$^\\\/()|?+*\[\]{}.-])/g,a=navigator.userAgent.toLowerCase();return{VERSION:"0.4.0",isReady:false,env:function(){var e=[0,NaN],d=Number((/opera[\s\/]([\d\.]+)/.exec(a)||e)[1]),f=d?NaN:Number((/msie ([\d\.]+)/.exec(a)||e)[1]);return{rhino:!!window.load,gecko:!window.load&&Number((/gecko\/(\d+)/.exec(a)||e)[1]),ie:f,opera:d,webkit:Number((/applewebkit\/(\d+(?:\.\d+)?)/.exec(a)||e)[1]),khtml:Number((/khtml\/(\d+(?:\.\d+)?)/.exec(a)||e)[1]),standardsMode:document.compatMode!="BackCompat"&&(!f||f>=6)}}(),module:function(k,g,f){var h,d,e,l=window;if(g!=this.VERSION){throw new Error("Cannot register "+k+": Version mismatch")}if(f.require){if(typeof f.require=="string"){f.require=[f.require]}for(h=0;f.require[h];h++){if(!c[f.require[h]]){var j=f.require[h];this.ready(function(){if(c[j]){throw new Error("Module "+j+" is included after modules that depend on it, include it sooner.")}});throw new Error("Module "+j+" required in "+k)}}}e=k.split(".");for(h=0,d=e.length;h<d-1;h++){if(!l[e[h]]){l[e[h]]={}}l=l[e[h]]}l[e[h]]=f.implementation?f.implementation():{};c[k]=true;return this},ready:function(d){if(glow.isSupported){this.onDomReady(d)}return this},onDomReady:function(e){if(this.isReady){e()}else{var d=this._lf;this._lf=function(){d();e()}}},_lf:function(){},lang:{trim:function(d){return d.replace(/^\s*((?:[\S\s]*\S)?)\s*$/,"$1")},toArray:function(e){if(e.constructor==Array){return e}var g=[],f=0,d=e.length;for(;f<d;f++){g[f]=e[f]}return g},apply:function(d,f){for(var e in f){d[e]=f[e]}return d},map:function(e,j){if(Array.prototype.map){return Array.prototype.map.call(e,j,arguments[2])}if(typeof j!="function"){throw new TypeError()}var d=e.length,h=new Array(d),g=arguments[1]||e,f=0;for(;f<d;f++){if(f in e){h[f]=j.call(g,e[f],f,e)}}return h},replace:(function(){var d="g".replace(/g/,function(){return"l"})!="l",e=String.prototype.replace;return function(k,i,f){var l,h,j,g;if(!d||typeof(f)!="function"){return e.call(k,i,f)}if(!(i instanceof RegExp)){l=k.indexOf(i);return l==-1?k:e.call(k,i,f.call(null,i,l,k))}g=[];j=i.lastIndex=0;while((h=i.exec(k))!=null){l=h.index;g[g.length]=k.slice(j,l);g[g.length]=f.apply(null,h);if(i.global){j=i.lastIndex}else{j=l+h[0].length;break}}g[g.length]=k.slice(j);return g.join("")}})(),interpolate:function(e,g){var f=e,d;for(d in g){f=f.replace(new RegExp("\\{"+d.replace(b,"\\$1")+"\\}","g"),g[d])}return f},hasOwnProperty:{}.hasOwnProperty?function(d,e){return d.hasOwnProperty(e)}:function(j,k){var g=j[k],i=j.__proto__,f=i?i[k]:{};if(g!==f){return true}var e=glow.lang.hasOwnProperty(i,k),d=i[k]={},h=(j[k]!==d);delete i[k];if(e){i[name]=d}return h},extend:function(d,g){var e=function(){},h;e.prototype=g.prototype;h=new e();d.prototype=h;h.constructor=d;d.base=g}}}})();(function(){var e=document,a=glow.env;if(a.ie){(function(){try{e.documentElement.doScroll("left")}catch(d){setTimeout(arguments.callee,50);return}glow._lf()})()}else{if(typeof e.readyState!="undefined"&&!(a.webkit<312)){var c=function(){/loaded|complete/.test(e.readyState)?glow._lf():setTimeout(c,10)};c()}else{var g=function(){if(arguments.callee.fired){return}arguments.callee.fired=true;glow._lf()};e.addEventListener("DOMContentLoaded",g,false);var b=window.onload;window.onload=function(){if(b){b()}g()}}}})();glow.onDomReady(function(){glow.isReady=true});glow.isSupported=
/*@cc_on @if (@_jscript_version > 5.1)@*/
!
/*@end @*/
!1;
/*@cc_on @*/
/*@if (@_jscript_version > 5.1)@*/
glow.module("glow.dom","0.4.0",{require:[],implementation:function(){var i=glow.env,e=glow.lang,n={tagName:/^(\w+|\*)/,combinator:/^\s*([>]?)\s*/,classNameOrId:(i.webkit<417)?new RegExp("^([\\.#])((?:(?![\\.#\\[:\\s\\\\]).|\\\\.)+)"):/^([\.#])((?:[^\.#\[:\\\s]+|\\.)+)/},v={},F={checked:"checked","class":"className",disabled:"disabled","for":"htmlFor",maxlength:"maxLength"},a={checked:true,disabled:true},R={maxlength:function(r){return r.toString()=="2147483647"?undefined:r}},P=1,A={black:0,silver:12632256,gray:8421504,white:16777215,maroon:8388608,red:16711680,purple:8388736,fuchsia:16711935,green:32768,lime:65280,olive:8421376,yellow:16776960,navy:128,blue:255,teal:32896,aqua:65535,orange:16753920},w=/height|top/,o=/^rgb\(([\d\.]+)(%?),\s*([\d\.]+)(%?),\s*([\d\.]+)(%?)/i,u=/^(?:(width|height)|(top|bottom|left|right)|(border-(top|bottom|left|right)-width))$/,I,b,p=["Top","Right","Bottom","Left"],G=4,t="padding",m="margin",O="border",x="Width",z,N=window,g=document,J,y;glow.ready(function(){J=g.body;y=g.documentElement});function q(r){return new RegExp(["\\b",r,"\\b"].join(""))}function D(U){var V=document.createElement("div"),T=[],S=0;V.innerHTML=U;while(V.childNodes[0]){T[S++]=V.removeChild(V.childNodes[0])}return T}function j(U){var T=[],S=0;for(;U[S];S++){T[S]=U[S]}return T}function c(V,S){for(var U=this,r=0,T=U.length;r<T;r++){S.call(U[r],V.call?V.call(U[r],r):V)}return U}if(document.all){I=function(T,S){var U=0,r=T.length,V=S.length;if(typeof S.length=="number"){for(;U<V;U++){T[r++]=S[U]}}else{for(;S[U];U++){T[r++]=S[U]}}}}else{I=function(T,S){var U=0,r=T.length;for(;S[U];U++){T[r++]=S[U]}}}function C(r){return(r.ownerDocument&&!r.body)||(r.documentElement&&!r.body)}if(i.ie){b=function(T){if(T.length==1){return T}var V=[],S=0,U=0;for(;T[U];U++){if(T[U].getAttribute("_ucheck")!=P&&T[U].nodeType==1){V[S++]=T[U]}T[U].setAttribute("_ucheck",P)}for(U=0;T[U];U++){T[U].removeAttribute("_ucheck")}P++;return V}}else{b=function(T){if(T.length==1){return T}var V=[],S=0,U=0;for(;T[U];U++){if(T[U]._ucheck!=P&&T[U].nodeType==1){V[S++]=T[U]}T[U]._ucheck=P}P++;return V}}if(document.all){z=function(S,U){var V=[],T=0;for(;U[T];T++){if(S=="*"&&U[T].all&&!C(U[T])){I(V,U[T].all)}else{I(V,U[T].getElementsByTagName(S))}}return V}}else{z=function(T,V){var W=[],U=0,S=V.length;for(;U<S;U++){I(W,V[U].getElementsByTagName(T))}return W}}function E(X){var U,W={},T=0,S=i.standardsMode?y:J,V=X.style;if(X.window){U=(i.webkit<522.11&&{width:X.innerWidth,height:X.innerHeight})||(i.webkit&&{width:J.clientWidth,height:X.innerHeight})||(i.opera<8.5&&{width:J.clientWidth,height:J.clientHeight})||{width:S.clientWidth,height:S.clientHeight}}else{if(X.getElementById){U={width:Math.max(J.scrollWidth,J.offsetWidth,y.offsetWidth),height:Math.max(J.scrollHeight,J.offsetHeight,y.offsetHeight)}}else{for(;T<G;T++){W[t+p[T]]=V[t+p[T]];W[O+p[T]+x]=V[O+p[T]+x];V[t+p[T]]="0";V[O+p[T]+x]="0"}U={width:X.offsetWidth,height:X.offsetHeight};for(T=0;T<G;T++){V[t+p[T]]=W[t+p[T]];V[O+p[T]+x]=W[O+p[T]+x]}}}return U}function k(Y,aa){if(Y.nodeName=="BODY"||Y.nodeName=="HTML"){return 0}var T={t:"Top",l:"Left"},ab={},V=Q(Y),X=i.ie&&i.standardsMode?V.parentNode:V,S,ac=Y.offsetParent,W=0,U,Z=(ac==X?N:ac);for(;W<G;W++){ab[m+p[W]]=Y.style[m+p[W]];if(ac){ab[O+p[W]+x]=ac.style[O+p[W]+x];Y.style[m+p[W]]=ac.style[O+p[W]+x]="0"}}if(aa=="t"||aa=="l"){S=Y["offset"+T[aa]];if(i.ie){U=ac.currentStyle.position;if(ac.offsetParent&&U!="relative"&&U!="absolute"){S+=k(ac,aa)}}}else{if(aa=="r"){S=E(Z).width-Y.offsetLeft-Y.offsetWidth}else{if(aa=="b"){S=E(Z).height-Y.offsetTop-Y.offsetHeight}}}for(W=0;W<G;W++){Y.style[m+p[W]]=ab[m+p[W]];if(ac){ac.style[O+p[W]+x]=ab[O+p[W]+x]}}return S}function Q(r){if(i.ie<6){return r.document.body}else{return r.ownerDocument.body}}function f(U,V,T){if(typeof V=="number"||/\d$/.test(V)){V+="px"}for(var S=0,r=U.length;S<r;S++){U[S].style[T]=V}}function K(r){if(r=="float"){return i.ie?"styleFloat":"cssFloat"}return e.replace(r,/-(\w)/g,function(S,T){return T.toUpperCase()})}function s(Y,W){var V,X=Y.style,U=X.display,S=X.visibility,T=X.position;X.visibility="hidden";X.position="absolute";X.display="block";if(!d(Y)){X.position=T;V=s(Y.parentNode,W);X.display=U;X.visibility=S}else{V=W();X.display=U;X.position=T;X.visibility=S}return V}function d(r){return r.offsetWidth||r.offsetHeight}function M(aa,U){var T,ac=0,Y=0,X=U.length,W=g.defaultView&&(g.defaultView.getComputedStyle(aa,null)||g.defaultView.getComputedStyle),V=aa.currentStyle,ab,Z,S=U.push||u.exec(U)||[];if(U.push){for(;Y<X;Y++){ac+=parseInt(M(aa,U[Y]),10)||0}return ac+"px"}if(S[1]){if(!d(aa)){return s(aa,function(){return E(aa)[U]+"px"})}else{return E(aa)[U]+"px"}}else{if(S[2]&&M(aa,"position")!="relative"){if(!d(aa)){return s(aa,function(){return k(aa,U.charAt(0))+"px"})}else{return k(aa,U.charAt(0))+"px"}}else{if(S[3]&&glow.env.ie&&M(aa,"border-"+S[4]+"-style")=="none"){return"0"}else{if(W){if(typeof W=="function"){ab=aa.style.display;T=s(aa,function(){if(U=="display"){aa.style.display=ab;if(!g.defaultView.getComputedStyle(aa,null)){return"none"}aa.style.display="block"}return M(aa,U)})}else{if(glow.env.webkit>=522&&U=="margin-right"){U="margin-left"}T=W.getPropertyValue(U)}}else{if(V){if(U=="opacity"){Z=/alpha\(opacity=([^\)]+)\)/.exec(V.filter);return Z?String(parseInt(Z[1],10)/100):"1"}T=String(V[K(U)]);if(/^-?\d+[a-z%]+$/i.test(T)&&U!="font-size"){T=B(aa,T,w.test(U))+"px"}}}}}}if(U.indexOf("color")!=-1){T=H(T).toString()}else{if(T.indexOf("url")==0){T=T.replace(/\"/g,"")}}return T}function B(U,W,r){if(/^-?\d+(px)?$/i.test(W)){return parseInt(W)}var T=r?"top":"left",V=r?"Top":"Left",X=U.style,Y=X.left,Z=X.overflow,S=X.margin;X.position="absolute";X.margin="0";X[T]=W||0;W=U["offset"+V];X.position=Z;X[T]=Y;X.margin=S;return W}function H(T){if(/^(transparent|rgba\(0, ?0, ?0, ?0\))$/.test(T)){return"transparent"}var X,S,Y,Z,U,W=Math.round,aa=parseInt,V=parseFloat;if(X=o.exec(T)){S=X[2]?W(((V(X[1])/100)*255)):aa(X[1]);Y=X[4]?W(((V(X[3])/100)*255)):aa(X[3]);Z=X[6]?W(((V(X[5])/100)*255)):aa(X[5])}else{if(typeof T=="number"){U=T}else{if(T.charAt(0)=="#"){if(T.length=="4"){T="#"+T.charAt(1)+T.charAt(1)+T.charAt(2)+T.charAt(2)+T.charAt(3)+T.charAt(3)}U=aa(T.slice(1),16)}else{U=A[T]}}S=(U)>>16;Y=(U&65280)>>8;Z=(U&255)}T=new String("rgb("+S+", "+Y+", "+Z+")");T.r=S;T.g=Y;T.b=Z;return T}function h(W){var V="",T=W.childNodes,U=0,S=T.length;for(;U<S;U++){if(T[U].nodeType==3){V+=T[U].nodeValue}else{if(T[U].nodeType==1){V+=h(T[U])}}}return V}function l(X,U){var T=[],S=0,r,V=0,W=X.length;for(;V<W;V++){r=X[V];while(r=r[U+"Sibling"]){if(r.nodeType==1&&r.nodeName!="!"){T[S++]=r;break}}}return L.get(T)}var L={};L.get=function(){var V=new glow.dom.NodeList(),U=0,T=arguments,S=T.length;for(;U<S;U++){if(typeof T[U]=="string"){V.push(new glow.dom.NodeList().push(g).get(T[U]))}else{V.push(T[U])}}return V};L.create=function(V){var U=D(V),r=[],S=0,T=0;for(;U[S];S++){if(U[S].nodeType==1&&U[S].nodeName!="!"){r[T++]=U[S]}else{if(U[S].nodeType==3&&e.trim(U[S].nodeValue)!==""){throw new Error("glow.dom.create - Text must be wrapped in an element")}}}return new L.NodeList().push(r)};L.parseCssColor=function(r){var S=H(r);return{r:S.r,g:S.g,b:S.b}};L.NodeList=function(){this.length=0};L.NodeList.prototype={item:function(r){return this[r]},push:function(){var T=arguments,S=T.length,U=0,X,r,V=this,W=Array.prototype.push;for(;U<S;U++){if(T[U].constructor==Array){W.apply(V,T[U])}else{if(T[U].item&&T[U][0]){for(X=0,r=T[U].length;X<r;X++){W.call(V,T[U][X])}}else{if(T[U].nodeType==1||T[U].nodeType==9||T[U].document){W.call(V,T[U])}}}}return V},each:function(U){for(var r=0,T=this,S=T.length;r<S;r++){U.call(T[r],r,T)}return T},eq:function(U){var T=this,r=0,S=T.length;if(!U.push){U=[U]}if(U.length!=T.length){return false}for(;r<S;r++){if(T[r]!=U[r]){return false}}return T},isWithin:function(U){if(U.push){U=U[0]}var T=this,r=0,S=T.length,V;if(U.contains&&i.webkit>=521){for(;r<S;r++){if(!(U.contains(T[r])&&T[r]!=U)){return false}}}else{if(T[0].compareDocumentPosition){for(;r<S;r++){if(!(T[r].compareDocumentPosition(U)&8)){return false}}}else{for(;r<S;r++){V=T[r];while(V=V.parentNode){if(V==U){break}}if(!V){return false}}}}return true},attr:function(T){var V=this,S=arguments,r=S.length,U,W;if(V.length===0){return r>1?V:undefined}if(typeof T=="object"){for(U in T){if(e.hasOwnProperty(T,U)){V.attr(U,T[U])}}return V}if(i.ie&&F[T]){if(r>1){c.call(V,S[1],function(X){this[F[T]]=X});return V}W=V[0][F[T]];if(a[T]){return W?T:undefined}else{if(R[T]){return R[T](W)}}return W}if(r>1){c.call(V,S[1],function(X){this.setAttribute(T,X)});return V}return C(V[0])?V[0].getAttribute(T):V[0].getAttribute(T,2)},removeAttr:function(S){var r=i.ie&&F[S],V=this,T=0,U=V.length;for(;T<U;T++){if(r){V[T][r]=""}else{V[T].removeAttribute(S)}}return V},hasAttr:function(U){var W=this[0],T=W.attributes;if(C(W)&&i.ie){var T=W.attributes,V=0,S=T.length;for(;V<S;V++){if(T[V].nodeName==U){return T[V].specified}}return false}else{if(this[0].getAttributeNode){var r=this[0].getAttributeNode(U);return r?r.specified:false}}return typeof T[r]!="undefined"},hasClass:function(r){for(var S=0,T=this.length;S<T;S++){if((" "+this[S].className+" ").indexOf(" "+r+" ")!=-1){return true}}return false},addClass:function(r){for(var S=0,T=this.length;S<T;S++){if((" "+this[S].className+" ").indexOf(" "+r+" ")==-1){this[S].className+=" "+r}}return this},removeClass:function(r){var T=q(r),V=this,S=0,U=V.length;for(;S<U;S++){V[S].className=V[S].className.replace(T,"")}return V},toggleClass:function(r){for(var U=this,S=0,T=U.length;S<T;S++){if((" "+U[S].className+" ").indexOf(" "+r+" ")!=-1){U[S].className=U[S].className.replace(q(r),"")}else{U[S].className+=" "+r}}return U},val:function(){function U(Y){var V=Y.type,W=Y.checked,aa=Y.value,ab=[],X=0;if(V=="radio"){return W?aa:undefined}else{if(V=="checkbox"){return W?aa:undefined}else{if(V=="select-one"){return Y.selectedIndex>-1?Y.options[Y.selectedIndex].value:""}else{if(V=="select-multiple"){for(var Z=Y.options.length;X<Z;X++){if(Y.options[X].selected){ab[ab.length]=Y.options[X].value}}return ab}else{return aa}}}}}function S(W){var ad={},ac={},Z=W.elements,ab=0,Y=Z.length,V,ae,aa=0,X;for(;ab<Y;ab++){ae=Z[ab];V=ae.name;if(ae.type=="checkbox"&&!ae.checked){if(!V in ad){ad[V]=undefined}}else{if(ae.type=="radio"){if(ac[V]){ac[V][ac[V].length]=ae}else{ac[V]=[ae]}}else{var af=U(ae);if(V in ad){if(ad[V].push){ad[V][ad[V].length]=af}else{ad[V]=[ad[V],af]}}else{ad[V]=af}}}}for(ab in ac){for(Y=ac[ab].length;aa<Y;aa++){X=ac[ab][aa];V=X.name;if(X.checked){ad[X.name]=X.value;break}}if(!V in ad){ad[V]=undefined}}return ad}function r(W,ae){var V,af,ab={},Z,aa=0,X,ac,ad,Y;for(V in ae){af=W[V];if(af&&af[0]){ae[V]=ae[V]&&ae[V].push?ae[V]:[ae[V]];ab.radios=[];ab.checkboxesSelects=[];ab.multiSelects=[];ab.other=[];for(;af[aa];aa++){Y=af[aa].type;if(Y=="radio"){Z="radios"}else{if(Y=="select-one"||Y=="checkbox"){Z="checkboxesSelects"}else{if(Y=="select-multiple"){Z="multiSelects"}else{Z="other"}}}ab[Z][ab[Z].length]=af[aa]}for(aa=0;ab.multiSelects[aa];aa++){ae[V]=T(ab.multiSelects[aa],ae[V])}for(aa=0;ab.checkboxesSelects[aa];aa++){T(ab.checkboxesSelects[aa],"");for(X=0,ac=ae[V].length;X<ac;X++){if(T(ab.checkboxesSelects[aa],ae[V][X])){ae[V].slice(X,1);break}}}for(aa=0;ab.radios[aa];aa++){ab.radios[aa].checked=false;ad=false;for(X=0,ac=ae[V].length;X<ac;X++){if(T(ab.radios[aa],ae[V][X])){ae[V].slice(X,1);ad=true;break}if(ad){break}}}for(aa=0;ab.other[aa]&&ae[V][aa]!==undefined;aa++){T(ab.other[aa],ae[V][aa])}}else{if(af&&af.nodeName){T(af,ae[V])}}}}function T(X,Z){var aa=0,W,Y=0,ad,V,ac;if(X.type=="select-one"){for(W=X.options.length;aa<W;aa++){if(X.options[aa].value==Z){X.selectedIndex=aa;return true}}return false}else{if(X.type=="select-multiple"){var ab=!!Z.push;for(aa=0,W=X.options.length;aa<W;aa++){V=X.options[aa];ac=V.value;if(ab){V.selected=false;for(ad=Z.length;Y<ad;Y++){if(ac==Z[Y]){V.selected=true;Z.splice(Y,1);break}}}else{return V.selected=Z==ac}}return false}else{if(X.type=="radio"||X.type=="checkbox"){X.checked=Z==X.value;return Z==X.value}else{X.value=Z;return true}}}}return function(){var V=arguments,Z=V[0],Y=this,W=0,X=Y.length;if(V.length===0){return Y[0].nodeName=="FORM"?S(Y[0]):U(Y[0])}if(Y[0].nodeName=="FORM"){if(!typeof Z=="object"){throw"value for FORM must be object"}r(Y[0],Z)}else{for(;W<X;W++){T(Y[W],Z)}}return Y}}(),slice:function(){return new L.NodeList().push(Array.prototype.slice.apply(this,arguments))},sort:function(U){var T=this,S=0,r;if(!T.length){return T}if(!U){if(typeof T[0].sourceIndex=="number"){U=function(W,V){return W.sourceIndex-V.sourceIndex}}else{if(T[0].compareDocumentPosition){U=function(W,V){return 3-(W.compareDocumentPosition(V)&6)}}else{r=z("*",[g]);for(;r[S];S++){r[S]._sourceIndex=S}U=function(W,V){return W._sourceIndex-V._sourceIndex}}}}return L.get([].sort.call(T,U))},filter:function(V){var S=[],r=0,T=0,U=this.length;for(;T<U;T++){if(V.apply(this[T],[T])){S[r++]=this[T]}}return L.get(S)},children:function(){var S=[],r=0,T=0,W=0,V=this.length,U;for(;T<V;T++){U=this[T].childNodes;for(;U[W];W++){if(U[W].nodeType==1&&U[W].nodeName!="!"){S[r++]=U[W]}}}return L.get(S)},parent:function(){var S=[],r=0,T=0,U=this.length;for(;T<U;T++){S[r++]=this[T].parentNode}return L.get(b(S))},next:function(){return l(this,"next")},prev:function(){return l(this,"previous")},is:function(S){var T=glow.dom.get(S),V=0,r=this.length,U,W;node:for(;V<r;V++){for(U=0,W=T.length;U<W;U++){if(this[V]==T[U]){continue node}}return false}return true},text:function(){var r=arguments,S=0,U=this,T=U.length;if(r.length>0){for(;S<T;S++){U[S].innerHTML="";U[S].appendChild(g.createTextNode(r[0]))}return U}return U[0].innerText||U[0].textContent==undefined?h(U[0]):U[0].textContent},empty:function(){for(var r=0,S=this.length,T;r<S;r++){while(T=this[r].firstChild){this[r].removeChild(T)}}return this},remove:function(){for(var U=this,S=0,T=U.length,r;S<T;S++){if(r=U[S].parentNode){r.removeChild(U[S])}}return U},clone:function(){var r=[],S=0,T=this.length;for(;S<T;S++){r[S]=this[S].cloneNode(true)}return L.get(r)},html:function(){var r=arguments,U=this,S=0,T=U.length;if(r.length>0){for(;S<T;S++){U[S].innerHTML=r[0]}return U}return U[0].innerHTML},width:function(r){if(r==undefined){return E(this[0]).width}f(this,r,"width");return this},height:function(r){if(r==undefined){return E(this[0]).height}f(this,r,"height");return this},css:function(W,U){var T=this,V,S=0,r=T.length;if(U!=undefined){W=K(W);for(;S<r;S++){V=T[S].style;if(W=="opacity"&&i.ie){if(U===""){V.filter=""}else{V.filter="alpha(opacity="+Math.round(Number(U,10)*100)+")"}}else{V[W]=U}}return T}else{if(!T.length){return}return M(T[0],W)}},offset:function(T){var S=this[0],r=0,V=0,U=true;if(!S){return undefined}do{r+=S.offsetLeft;V+=S.offsetTop;if(!T&&!U&&S!=y&&S!=J){r-=S.scrollLeft;V-=S.scrollTop}U=false}while(S=S.offsetParent);return{x:r,y:V}},append:function(W){var V=this,S=0,T=1,U=V.length,r;if(U==0){return V}r=typeof W=="string"?j(D(W)):W.nodeType?[W]:j(W);for(;r[S];S++){V[0].appendChild(r[S])}for(;T<U;T++){for(S=0;r[S];S++){V[T].appendChild(r[S].cloneNode(true))}}return V},prepend:function(X){var V=this,S=0,T=1,U=V.length,r,W;if(U==0){return V}r=typeof X=="string"?j(D(X)):X.nodeType?[X]:j(X);W=V[0].firstChild;for(;r[S];S++){V[0].insertBefore(r[S],W)}for(;T<U;T++){W=V[T].firstChild;for(S=0;r[S];S++){V[T].insertBefore(r[S].cloneNode(true),W)}}return V},appendTo:function(r){if(!(r instanceof L.NodeList)){r=L.get(r)}r.append(this);return this},prependTo:function(r){if(!(r instanceof L.NodeList)){r=L.get(r)}r.prepend(this);return this},after:function(Y){var X=this,W=X.length,T,S,U,V=1,r;if(W==0){return X}T=typeof Y=="string"?L.create(Y):Y instanceof L.NodeList?Y:L.get(Y);S=T.length;for(U=S-1;U>=0;U--){X[0].parentNode.insertBefore(T[U],X[0].nextSibling)}for(;V<W;V++){r=T.clone();for(U=S-1;U>=0;U--){X[V].parentNode.insertBefore(r[U],X[V].nextSibling)}}return X},before:function(Y){var X=this,W=X.length,U=0,V=1,T,S,r;if(W==0){return X}T=typeof Y=="string"?L.create(Y):Y instanceof L.NodeList?Y:L.get(Y);S=T.length;for(;U<S;U++){X[0].parentNode.insertBefore(T[U],X[0])}for(;V<W;V++){r=T.clone();for(U=0;U<S;U++){X[V].parentNode.insertBefore(r[U],X[V])}}return X},insertAfter:function(r){if(!(r instanceof L.NodeList)){r=L.get(r)}r.after(this);return this},insertBefore:function(r){if(!(r instanceof L.NodeList)){r=L.get(r)}r.before(this);return this},replaceWith:function(Y){var X=this,W=X.length,T,S,U=0,V=1,r;if(W==0){return X}T=typeof Y=="string"?L.create(Y):Y instanceof L.NodeList?Y:L.get(Y);X[0].innerHTML="";S=T.length;for(;U<S;U++){X[0].appendChild(T[U])}for(;V<W;V++){X[V].innerHTML="";r=T.clone();for(U=0;U<S;U++){X[V].appendChild(r[U])}}return X},get:function(){function T(ag){if(v[ag]){return v[ag]}var aa=[],aj=0,ab,ah,ad,ae,ai,af,ac=true;while(ag&&ag!=af){ah="";ad="";af=ag;if(ae=n.combinator.exec(ag)){ab=ae[1];ag=ag.slice(ae[0].length)}if(ae=n.tagName.exec(ag)){ah=ae[1];ag=ag.slice(ae[0].length)}if(ae=n.classNameOrId.exec(ag)){if(ae[1]=="#"){ad=ae[2];ag=ag.slice(ae[0].length)}}if(!ab){if(ad&&ac){aa[aj++]=[V,[ad.replace(/\\/g,""),ah||"*",null]]}else{aa[aj++]=[z,[ah||"*",null]];if(ad){aa[aj++]=[Y,[ad.replace(/\\/g,""),null]]}}}else{if(ab==">"){aa[aj++]=[U,[null]];if(ad){aa[aj++]=[Y,[ad.replace(/\\/g,""),null]]}if(ah&&ah!="*"){aa[aj++]=[Z,[ah,null]]}}}ai=true;while(ai){if(ag.charAt(0)=="#"||ag.charAt(0)=="."){if(ae=n.classNameOrId.exec(ag)){if(ag.charAt(0)=="#"){aa[aj++]=[Y,[ae[2].replace(/\\/g,""),null]]}else{aa[aj++]=[X,[ae[2].replace(/\\/g,""),null]]}ag=ag.slice(ae[0].length)}else{throw new Error("Invalid Selector")}}else{ai=false}}ac=false}if(ag!==""){throw new Error("Invalid Selector")}return v[ag]=aa}function W(aa,ad){var ac=ad;for(var ab=0,ae=aa.length;ab<ae;ab++){aa[ab][1][aa[ab][1].length-1]=ac;ac=aa[ab][0].apply(this,aa[ab][1])}return ac}function V(ab,af,ac){var aa=[],aj=0,ae=[],ai=0,ag;for(var ah=0,ad=ac.length;ah<ad;ah++){if(ac[ah].getElementById){ag=ac[ah].getElementById(ab);if(ag&&(ag.tagName==af.toUpperCase()||af=="*"||ag.tagName==af)){aa[aj++]=ag}}else{ae[ai++]=ac[ah]}}if(ae[0]){ae=z(af,ae);ae=Y(ab,ae)}return aa.concat(ae)}function U(ab){var ad=[];for(var aa=0,ac=ab.length;aa<ac;aa++){I(ad,ab[aa].childNodes)}return ad}function Y(ad,ab){for(var aa=0,ac=ab.length;aa<ac;aa++){if(ab[aa].id==ad){return[ab[aa]]}}return[]}function Z(ad,ac){var af=[],aa=0;for(var ab=0,ae=ac.length;ab<ae;ab++){if(ac[ab].tagName==ad.toUpperCase()||ac[ab].tagName==ad){af[aa++]=ac[ab]}}return af}function X(ad,ac){var af=[],aa=0;for(var ab=0,ae=ac.length;ab<ae;ab++){if((" "+ac[ab].className+" ").indexOf(" "+ad+" ")!=-1){af[aa++]=ac[ab]}}return af}function S(ag,ac){var ad;var af=[];var ae=ag.split(",");for(var ab=0,aa=ae.length;ab<aa;ab++){ad=T(glow.lang.trim(ae[ab]));af=af.concat(W(ad,ac))}return af}function r(ab,ad){ab=ab.length?ab:[ab];var ae=[];var aa;for(var ac=0;ab[ac];ac++){aa=glow.dom.get(ab[ac]);for(var af=0;ad[af];af++){if(aa.isWithin(ad[af])){ae[ae.length]=aa[0];break}}}return ae}return function(ad){if(!this.length){return this}var ac=[];for(var ab=0,aa=arguments.length;ab<aa;ab++){if(typeof arguments[ab]=="string"){ac=ac.concat(S(arguments[ab],this))}else{ac=ac.concat(r(arguments[ab],this))}}return glow.dom.get(b(ac))}}()};return L}});glow.module("glow.debug","0.4.0",{require:[],implementation:function(){return{assert:function(b,a){if(!b){throw a}},assertParameterObject:function(e,g,a,d){var b,c;var f={};for(b=0,c=g.length;b<c;b++){f[g[b]]=1;if(!(g[b] in e)){throw d+", required parameter '"+g[b]+"' not passed"}}for(b=0,c=a.length;b<c;b++){f[a[b]]=1}for(b in e){if(!(b in f)){throw d+", unexpected parameter '"+b+"' passed"}}}}}});glow.module("glow.data","0.4.0",{require:["glow.dom"],implementation:function(){var TYPES={UNDEFINED:"undefined",OBJECT:"object",NUMBER:"number",BOOLEAN:"boolean",STRING:"string",ARRAY:"array",FUNCTION:"function",NULL:"null"};var TEXT={AT:"@",EQ:"=",DOT:".",EMPTY:"",AND:"&",OPEN:"(",CLOSE:")"};var JSON={HASH:{START:"{",END:"}",SHOW_KEYS:true},ARRAY:{START:"[",END:"]",SHOW_KEYS:false},DATA_SEPARATOR:",",KEY_SEPARATOR:":",KEY_DELIMITER:'"',STRING_DELIMITER:'"',SAFE_PT1:/^[\],:{}\s]*$/,SAFE_PT2:/\\./g,SAFE_PT3:/\"[^\"\\\n\r]*\"|true|false|null|-?\d+(?:\.\d*)?(:?[eE][+\-]?\d+)?/g,SAFE_PT4:/(?:^|:|,)(?:\s*\[)+/g};var SLASHES={TEST:/[\b\n\r\t\\\f\"]/g,B:{PLAIN:"\b",ESC:"\\b"},N:{PLAIN:"\n",ESC:"\\n"},R:{PLAIN:"\r",ESC:"\\r"},T:{PLAIN:"\t",ESC:"\\t"},F:{PLAIN:"\f",ESC:"\\f"},SL:{PLAIN:"\\",ESC:"\\\\"},QU:{PLAIN:'"',ESC:'\\"'}};function _replaceSlashes(s){switch(s){case SLASHES.B.PLAIN:return SLASHES.B.ESC;case SLASHES.N.PLAIN:return SLASHES.N.ESC;case SLASHES.R.PLAIN:return SLASHES.R.ESC;case SLASHES.T.PLAIN:return SLASHES.T.ESC;case SLASHES.F.PLAIN:return SLASHES.F.ESC;case SLASHES.SL.PLAIN:return SLASHES.SL.ESC;case SLASHES.QU.PLAIN:return SLASHES.QU.ESC;default:return s}}function _getType(object){if((typeof object)==TYPES.OBJECT){if(object==null){return TYPES.NULL}else{return(object instanceof Array)?TYPES.ARRAY:TYPES.OBJECT}}else{return(typeof object)}}return{encodeUrl:function(object){var objectType=_getType(object);var paramsList=[];var listLength=0;if(objectType!=TYPES.OBJECT){throw new Error("glow.data.encodeUrl: cannot encode item")}else{for(var key in object){switch(_getType(object[key])){case TYPES.FUNCTION:case TYPES.OBJECT:throw new Error("glow.data.encodeUrl: cannot encode item");break;case TYPES.ARRAY:for(var i=0,l=object[key].length;i<l;i++){switch(_getType(object[key])[i]){case TYPES.FUNCTION:case TYPES.OBJECT:case TYPES.ARRAY:throw new Error("glow.data.encodeUrl: cannot encode item");break;default:paramsList[listLength++]=key+TEXT.EQ+encodeURIComponent(object[key][i])}}break;default:paramsList[listLength++]=key+TEXT.EQ+encodeURIComponent(object[key])}}return paramsList.join(TEXT.AND)}},decodeUrl:function(text){if(_getType(text)!=TYPES.STRING){throw new Error("glow.data.decodeUrl: cannot decode item")}else{if(text===""){return{}}}var result={};var keyValues=text.split(TEXT.AND);var thisPair,key,value;for(var i=0,l=keyValues.length;i<l;i++){thisPair=keyValues[i].split(TEXT.EQ);if(thisPair.length!=2){throw new Error("glow.data.decodeUrl: cannot decode item")}else{key=decodeURIComponent(thisPair[0]);value=decodeURIComponent(thisPair[1]);switch(_getType(result[key])){case TYPES.ARRAY:result[key][result[key].length]=value;break;case TYPES.UNDEFINED:result[key]=value;break;default:result[key]=[result[key],value]}}}return result},encodeJson:function(object,options){function _encode(object,options){if(_getType(object)==TYPES.ARRAY){var type=JSON.ARRAY}else{var type=JSON.HASH}var serial=[type.START];var len=1;var dataType;var notFirst=false;for(var key in object){dataType=_getType(object[key]);if(dataType!=TYPES.UNDEFINED){if(notFirst){serial[len++]=JSON.DATA_SEPARATOR}notFirst=true;if(type.SHOW_KEYS){serial[len++]=JSON.KEY_DELIMITER;serial[len++]=key;serial[len++]=JSON.KEY_DELIMITER;serial[len++]=JSON.KEY_SEPARATOR}switch(dataType){case TYPES.FUNCTION:throw new Error("glow.data.encodeJson: cannot encode item");break;case TYPES.STRING:default:serial[len++]=JSON.STRING_DELIMITER;serial[len++]=glow.lang.replace(object[key],SLASHES.TEST,_replaceSlashes);serial[len++]=JSON.STRING_DELIMITER;break;case TYPES.NUMBER:case TYPES.BOOLEAN:serial[len++]=object[key];break;case TYPES.OBJECT:case TYPES.ARRAY:serial[len++]=_encode(object[key],options);break;case TYPES.NULL:serial[len++]=TYPES.NULL;break}}}serial[len++]=type.END;return serial.join(TEXT.EMPTY)}options=options||{};var type=_getType(object);if((type==TYPES.OBJECT)||(type==TYPES.ARRAY)){return _encode(object,options)}else{throw new Error("glow.data.encodeJson: cannot encode item")}},decodeJson:function(text,options){if(_getType(text)!=TYPES.STRING){throw new Error("glow.data.decodeJson: cannot decode item")}options=options||{};options.safeMode=options.safeMode||false;var canEval=true;if(options.safeMode){canEval=(JSON.SAFE_PT1.test(text.replace(JSON.SAFE_PT2,TEXT.AT).replace(JSON.SAFE_PT3,JSON.ARRAY.END).replace(JSON.SAFE_PT4,TEXT.EMPTY)))}if(canEval){try{return eval(TEXT.OPEN+text+TEXT.CLOSE)}catch(e){}}throw new Error("glow.data.decodeJson: cannot decode item")},escapeHTML:function(html){return glow.dom.create("<div></div>").text(html).html()}}}});glow.module("glow.net","0.4.0",{require:["glow.data"],implementation:function(){var g={XML_ERR:"Cannot get response as XML, check the mime type of the data",POST_DEFAULT_CONTENT_TYPE:"application/x-www-form-urlencoded;"},h=[];function d(){if(window.XMLHttpRequest){return(d=function(){return new XMLHttpRequest()})()}else{if(glow.env.ie<7){var k=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP"];for(var l=0,j=k.length;l<j;l++){try{new ActiveXObject(k[l]);return(d=function(){return new ActiveXObject(k[l])})()}catch(m){}}}}return null}function b(i){i.load&&(i.onLoad=i.load);i.error&&(i.onError=i.error);return glow.lang.apply({onLoad:function(){},onError:function(){},addToHistory:false,headers:{},async:true,useCache:false,data:null},i)}function a(i){return[i,(/\?/.test(i)?"&":"?"),"a",new Date().getTime(),parseInt(Math.random()*100000)].join("")}function f(q,k,n){var p,m=d(),o=n.data&&(typeof n.data=="string"?n.data:glow.data.encodeUrl(n.data));if(!n.useCache){k=a(k)}m.open(q,k,n.async);for(var l in n.headers){m.setRequestHeader(l,n.headers[l])}if(n.async){m.onreadystatechange=function(){if(m.readyState==4){var i=new c(m);if(m.status==200||(m.status==0&&m.responseText)){n.onLoad(i)}else{n.onError(i)}}};h[p=h.length]=m;m.send(o);return p}else{m.send(o);var j=new c(m);if(m.status==200||(m.status==0&&m.responseText)){n.onLoad(j)}else{n.onError(j)}return j}}var e={};e._jsonCbs={len:0};e.get=function(i,j){j=b(j);return f("GET",i,j)};e.post=function(i,j,k){k=b(k);k.data=j;if(!k.headers["Content-Type"]){k.headers["Content-Type"]=g.POST_DEFAULT_CONTENT_TYPE}return f("POST",i,k)};e.abort=function(i){if(h[i]){h[i].onreadystatechange=function(){};h[i].abort()}return glow.net};e.loadScript=function(j,l){if(l){var k="c"+e._jsonCbs.len++;e._jsonCbs[k]=l;j=glow.lang.interpolate(j,{callback:"glow.net._jsonCbs."+k})}var i=document.createElement("script");i.src=a(j);glow.ready(function(){document.body.appendChild(i)})};function c(i){this.nativeResponse=i;this.status=i.status}c.prototype={text:function(){return this.nativeResponse.responseText},xml:function(){if(!this.nativeResponse.responseXML){throw new Error(g.XML_ERR)}return this.nativeResponse.responseXML},json:function(i){return glow.data.decodeJson(this.text(),{safeMode:i})},header:function(i){return this.nativeResponse.getResponseHeader(i)},statusText:function(){return this.nativeResponse.statusText}};return e}});glow.module("glow.events","0.4.0",{require:[],implementation:function(){var x={};var s=1;var j=1;var k={};var a={};var l={};var h="__intGlowEventId"+Math.floor(Math.random()*1337);var e=h+"PreventDefault";var p=h+"StopPropagation";var z={};var d=1;var w={};var u={};var B=1;var b=2;var n=4;var f={TAB:"\t",SPACE:" ",ENTER:"\n",BACKTICK:"`"};var F={"96":223};var o={CAPSLOCK:20,NUMLOCK:144,SCROLLLOCK:145,BREAK:19,BACKTICK:223,BACKSPACE:8,PRINTSCREEN:44,MENU:93,SPACE:32,SHIFT:16,CTRL:17,ALT:18,ESC:27,TAB:9,META:91,RIGHTMETA:92,ENTER:13,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,INS:45,HOME:36,PAGEUP:33,DEL:46,END:35,PAGEDOWN:34,LEFT:37,UP:38,RIGHT:39,DOWN:40};var D={};for(var C in o){D[""+o[C]]=C}var t="0123456789=;'\\/#,.-";function y(J){var I=u[J];if(!I){return false}var H=w[I];if(!H){return false}for(var G=0,r=H.length;G<r;G++){if(H[G][0]==J){H.splice(G,1);return true}}return false}function v(i){z[i]=x.addListener(document,"key"+i,function(L){var J=0;if(L.ctrlKey){J+=B}if(L.altKey){J+=b}if(L.shiftKey){J+=n}var K=L.chr?L.chr.toLowerCase():L.key?L.key.toLowerCase():L.keyCode;var H=J+":"+K+":"+i;var I=w[H]?w[H].slice(0):[];if(L.shiftKey){var M=(J&~n)+":"+K+":"+i;if(w[M]){for(var G=0,r=w[M].length;G<r;G++){I[I.length]=w[M][G]}}}if(!I){return}for(var G=0,r=I.length;G<r;G++){I[G][2].call(I[G][3]||this,L)}})}function q(){var i;for(i in a){x.removeListener(i)}}var m;var E,c;function A(H,G){var i;if(glow.env.opera){if(G.toLowerCase()=="resize"&&!E&&H==window){E=x.addListener(window.document.body,"resize",function(K){x.fire(window,"resize",K)})}else{if(G.toLowerCase()=="scroll"&&!c&&H==window){c=x.addListener(window.document,"scroll",function(K){x.fire(window,"scroll",K)})}}}var J=function(L){if(!L){L=window.event}var K=new x.Event();K.nativeEvent=L;K.source=L.target||L.srcElement;if(K.source&&K.source.nodeType!=1){K.source=K.source.parentNode}K.relatedTarget=L.relatedTarget||(G.toLowerCase()=="mouseover"?L.fromElement:L.toElement);K.button=glow.env.ie?(L.button&1?0:L.button&2?2:1):L.button;if(L.pageX||L.pageY){K.pageX=L.pageX;K.pageY=L.pageY}else{if(L.clientX||L.clientY){K.pageX=L.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;K.pageY=L.clientY+document.body.scrollTop+document.documentElement.scrollTop}}if(G.toLowerCase()=="mousewheel"){K.wheelDelta=L.wheelDelta?L.wheelDelta/120:L.detail?-L.detail/3:0;if(K.wheelDelta==0){return}}if(G.toLowerCase().indexOf("key")!=-1){K.altKey=!!L.altKey;K.ctrlKey=!!L.ctrlKey;K.shiftKey=!!L.shiftKey;if(G=="keydown"){m=L.keyCode}K.charCode=L.keyCode&&L.charCode!==0?undefined:L.charCode;if(G.toLowerCase()=="keypress"){if(typeof(K.charCode)=="undefined"){K.charCode=L.keyCode}if(glow.env.opera&&K.charCode&&K.charCode==m&&t.indexOf(String.fromCharCode(K.charCode))==-1){K.charCode=undefined;K.keyCode=m}}if(K.charCode&&K.charCode<=31){K.charCode=undefined}if(K.charCode){K.chr=String.fromCharCode(K.charCode)}else{if(L.keyCode){K.charCode=undefined;K.keyCode=F[L.keyCode.toString()]||L.keyCode;K.key=D[K.keyCode];if(f[K.key]){K.chr=f[K.key];K.charCode=K.chr.charCodeAt(0)}}}if(K.chr){K.capsLock=K.chr.toUpperCase()!=K.chr?K.shiftKey:K.chr.toLowerCase()!=K.chr?!K.shiftKey:undefined}}x.fire(this,G,K);if(K.defaultPrevented()){return false}};if(H.addEventListener&&(!glow.env.webkit||glow.env.webkit>418)){H.addEventListener(G.toLowerCase()=="mousewheel"&&glow.env.gecko?"DOMMouseScroll":G,J,false)}else{var r="on"+G;var I=H[r];if(I){H[r]=function(){I.apply(this,arguments);J.apply(this,arguments)}}else{H[r]=J}}H=null}x.addListener=function(L,G,M,I){if(!L){throw"no attachTo paramter passed to addListener"}if(typeof L=="string"){if(!glow.dom){throw"glow.dom must be loaded to use a selector as the first argument to glow.events.addListener"}if(!(L=glow.dom.get(L)[0])){return undefined}}else{if(glow.dom&&L instanceof glow.dom.NodeList){if(L.length==0){return undefined}L=L[0]}}var H;if(!(H=L[h])){H=L[h]=j++}var K=s++;var J=[H,G,M,I];a[K]=J;var i=k[H];if(!i){i=k[H]={}}var r=i[G];if(!r){r=i[G]=[]}r[r.length]=J;if((L.addEventListener||L.attachEvent)&&!l[H+":"+G]){A(L,G);l[H+":"+G]=true}return K};x.removeListener=function(J){if(J&&J.toString().indexOf("k:")!=-1){return y(J)}var I=a[J];if(!I){return false}delete a[J];var H=k[I[0]][I[1]];for(var G=0,r=H.length;G<r;G++){if(H[G]==I){H.splice(G,1);break}}if(!H.length){delete k[I[0]][I[1]]}var K=false;for(var G in k[I[0]]){K=true;break}if(!K){delete k[I[0]]}return true};x.fire=function(N,G,M){if(!N){throw"glow.events.fire: required parameter attachedTo not passed (name: "+G+")"}if(!G){throw"glow.events.fire: required parameter name not passed"}if(!M){M=new x.Event()}M.type=G;M.attachedTo=N;if(!M.source){M.source=N}var H=N[h],r=H&&k[H],I=r&&r[G];if(!I){return M}var J,O;var P=I.slice(0);for(var K=0,L=P.length;K<L;K++){J=P[K];O=J[2].call(J[3]||N,M);if(typeof O=="boolean"&&!O){M.preventDefault()}}return M};var g=/^((?:(?:ctrl|alt|shift)\+)*)(?:(\w+|.)|[\n\r])$/i;x.addKeyListener=function(K,J,L,r){J.replace(/^key/i,"");J=J.toLowerCase();if(!(J=="press"||J=="down"||J=="up")){throw"event type must be press, down or up"}if(!z[J]){v(J)}var H=K.match(g),M=0,N;if(!H){throw"key format not recognised"}if(H[1].toLowerCase().indexOf("ctrl")!=-1){M+=B}if(H[1].toLowerCase().indexOf("alt")!=-1){M+=b}if(H[1].toLowerCase().indexOf("shift")!=-1){M+=n}var i=M+":"+(H[2]?H[2].toLowerCase():"\n")+":"+J;var G="k:"+d++;u[G]=i;var I=w[i];if(!I){I=w[i]=[]}I[I.length]=[G,J,L,r];return G};x.Event=function(){};x.Event.prototype.preventDefault=function(){if(this[e]){return}this[e]=true;if(this.nativeEvent&&this.nativeEvent.preventDefault){this.nativeEvent.preventDefault();this.nativeEvent.returnValue=false}};x.Event.prototype.defaultPrevented=function(){return !!this[e]};x.Event.prototype.stopPropagation=function(){if(this[p]){return}this[p]=true;var i=this.nativeEvent;if(i){i.cancelBubble=true;if(i.stopPropagation){i.stopPropagation()}}};x.Event.prototype.propagationStopped=function(){return !!this[p]};x.addListener(window,"unload",q);return x}});
/*@end @*/
/*@cc_on @*/
/*@if (@_jscript_version > 5.1)@*/
glow.module("glow.tweens","0.4.0",{require:[],implementation:function(){function a(b){return function(c){return 1-b(1-c)}}return{linear:function(){return function(b){return b}},easeIn:function(b){b=b||2;return function(c){return Math.pow(1,b-1)*Math.pow(c,b)}},easeOut:function(b){return a(this.easeIn(b))},easeBoth:function(b){return this.combine(this.easeIn(b),this.easeOut(b))},overshootIn:function(b){return a(this.overshootOut(b))},overshootOut:function(b){b=b||1.70158;return function(c){if(c==0||c==1){return c}return((c-=1)*c*((b+1)*c+b)+1)}},overshootBoth:function(b){return this.combine(this.overshootIn(b),this.overshootOut(b))},bounceIn:function(){return a(this.bounceOut())},bounceOut:function(){return function(b){if(b<(1/2.75)){return 7.5625*b*b}else{if(b<(2/2.75)){return(7.5625*(b-=(1.5/2.75))*b+0.75)}else{if(b<(2.5/2.75)){return(7.5625*(b-=(2.25/2.75))*b+0.9375)}else{return(7.5625*(b-=(2.625/2.75))*b+0.984375)}}}}},bounceBoth:function(){return this.combine(this.bounceIn(),this.bounceOut())},elasticIn:function(b,c){return a(this.elasticOut(b,c))},elasticOut:function(b,c){return function(d){if(d==0||d==1){return d}if(!c){c=0.3}if(!b||b<1){b=1;var e=c/4}else{var e=c/(2*Math.PI)*Math.asin(1/b)}return b*Math.pow(2,-10*d)*Math.sin((d-e)*(2*Math.PI)/c)+1}},elasticBoth:function(b,c){c=c||0.45;return this.combine(this.elasticIn(b,c),this.elasticOut(b,c))},combine:function(c,b){return function(d){if(d<0.5){return c(d*2)/2}else{return b((d-0.5)*2)/2+0.5}}}}}});glow.module("glow.anim","0.4.0",{require:["glow.tweens","glow.events","glow.dom"],implementation:function(){var manager,events=glow.events,dom=glow.dom,get=dom.get,debug=glow.debug,hasUnits=/width|height|top$|bottom$|left$|right$|spacing$|indent$|font-size/,noNegatives=/width|height|padding|opacity/,usesYAxis=/height|top/,getUnit=/[\d\.]+(\D+)/,testElement=dom.create('<div style="position:absolute;visibility:hidden"></div>');(function(){var queue=[],queueLen=0,intervalTime=1,interval;manager={addToQueue:function(anim){queue[queueLen++]=anim;anim._playing=true;anim._timeAnchor=anim._timeAnchor||new Date().valueOf();if(!interval){this.startInterval()}},removeFromQueue:function(anim){for(var i=0;i<queueLen;i++){if(queue[i]==anim){queue.splice(i,1);anim._timeAnchor=null;anim._playing=false;if(--queueLen==0){this.stopInterval()}return}}},startInterval:function(){interval=window.setInterval(this.processQueue,intervalTime)},stopInterval:function(){window.clearInterval(interval);interval=null},processQueue:function(){var anim,i,now=new Date().valueOf();for(i=0;i<queueLen;i++){anim=queue[i];if(anim.position==anim.duration){manager.removeFromQueue(anim);i--;events.fire(anim,"complete");continue}if(anim.useSeconds){anim.position=(now-anim._timeAnchor)/1000;if(anim.position>anim.duration){anim.position=anim.duration}}else{anim.position++}anim.value=anim.tween(anim.position/anim.duration);events.fire(anim,"frame")}}}})();function convertCssUnit(element,fromValue,toUnit,axis){var elmStyle=testElement[0].style,axisProp=(axis=="x")?"width":"height",startPixelValue,toUnitPixelValue;elmStyle.margin=elmStyle.padding=elmStyle.border="0";startPixelValue=testElement.css(axisProp,fromValue).insertAfter(element)[axisProp]();toUnitPixelValue=testElement.css(axisProp,10+toUnit)[axisProp]()/10;testElement.remove();return startPixelValue/toUnitPixelValue}function keepWithinRange(num,start,end){if(start!==undefined&&num<start){return start}if(end!==undefined&&num>end){return end}return num}function buildAnimFunction(element,spec){var cssProp,r=["a=(function(){"],rLen=1,fromUnit,unitDefault=[0,"px"],to,from,unit,a;for(cssProp in spec){r[rLen++]='element.css("'+cssProp+'", ';to=spec[cssProp].to;if((from=spec[cssProp].from)===undefined){if(cssProp=="font-size"||cssProp=="background-position"){throw new Error("From value must be set for "+cssProp)}from=element.css(cssProp)}if(hasUnits.test(cssProp)){unit=(getUnit.exec(spec[cssProp].to)||unitDefault)[1];fromUnit=(getUnit.exec(from)||unitDefault)[1];from=parseFloat(from)||0;to=parseFloat(to)||0;if(from&&unit!=fromUnit){if(cssProp=="font-size"){throw new Error("Units must be the same for font-size")}from=convertCssUnit(element,from+fromUnit,unit,usesYAxis.test(cssProp)?"y":"x")}if(noNegatives.test(cssProp)){r[rLen++]="keepWithinRange(("+(to-from)+" * this.value) + "+from+', 0) + "'+unit+'"'}else{r[rLen++]="("+(to-from)+" * this.value) + "+from+' + "'+unit+'"'}}else{if(!(isNaN(from)||isNaN(to))){from=Number(from);to=Number(to);r[rLen++]="("+(to-from)+" * this.value) + "+from}else{if(cssProp.indexOf("color")!=-1){to=dom.parseCssColor(spec[cssProp].to);if(!glow.lang.hasOwnProperty(from,"r")){from=dom.parseCssColor(from)}r[rLen++]='"rgb(" + keepWithinRange(Math.round('+(to.r-from.r)+" * this.value + "+from.r+'), 0, 255) + "," + keepWithinRange(Math.round('+(to.g-from.g)+" * this.value + "+from.g+'), 0, 255) + "," + keepWithinRange(Math.round('+(to.b-from.b)+" * this.value + "+from.b+'), 0, 255) + ")"'}else{if(cssProp=="background-position"){var vals={},fromTo=["from","to"],unit=(getUnit.exec(from)||unitDefault)[1];vals.fromOrig=from.toString().split(/\s/);vals.toOrig=to.toString().split(/\s/);if(vals.fromOrig[1]===undefined){vals.fromOrig[1]="50%"}if(vals.toOrig[1]===undefined){vals.toOrig[1]="50%"}for(var i=0;i<2;i++){vals[fromTo[i]+"X"]=parseFloat(vals[fromTo[i]+"Orig"][0]);vals[fromTo[i]+"Y"]=parseFloat(vals[fromTo[i]+"Orig"][1]);vals[fromTo[i]+"XUnit"]=(getUnit.exec(vals[fromTo[i]+"Orig"][0])||unitDefault)[1];vals[fromTo[i]+"YUnit"]=(getUnit.exec(vals[fromTo[i]+"Orig"][1])||unitDefault)[1]}if((vals.fromXUnit!==vals.toXUnit)||(vals.fromYUnit!==vals.toYUnit)){throw new Error("Mismatched axis units cannot be used for "+cssProp)}r[rLen++]="("+(vals.toX-vals.fromX)+" * this.value + "+vals.fromX+') + "'+vals.fromXUnit+' " + ('+(vals.toY-vals.fromY)+" * this.value + "+vals.fromY+') + "'+vals.fromYUnit+'"'}}}}r[rLen++]=");"}r[rLen++]="})";return eval(r.join(""))}var r={};r.css=function(element,duration,spec,opts){element=get(element);var anim=new r.Animation(duration,opts),cssProp;events.addListener(anim,"frame",buildAnimFunction(element,spec));return anim};r.Animation=function(duration,opts){opts=glow.lang.apply({useSeconds:true,tween:glow.tweens.linear()},opts);this._playing=false;this._timeAnchor=null;this.duration=duration;this.useSeconds=opts.useSeconds;this.tween=opts.tween;this.position=0;this.value=0};r.Animation.prototype={start:function(){if(this._playing){this.stop()}var e=events.fire(this,"start");if(e.defaultPrevented()){return this}this.position=0;manager.addToQueue(this);return this},stop:function(){if(this._playing){var e=events.fire(this,"stop");if(e.defaultPrevented()){return this}manager.removeFromQueue(this)}return this},resume:function(){if(!this._playing){var e=events.fire(this,"resume");if(e.defaultPrevented()){return this}this._timeAnchor=new Date().valueOf()-(this.position*1000);manager.addToQueue(this)}return this},isPlaying:function(){return this._playing},goTo:function(pos){this._timeAnchor=new Date().valueOf()-((this.position=pos)*1000);this.value=this.tween(this.duration&&this.position/this.duration);events.fire(this,"frame");return this}};r.Timeline=function(channels,opts){this._channels=(channels[0]&&channels[0].push)?channels:[channels];this._channelPos=[];this._playing=false;this.loop=!!(opts&&opts.loop);var i,j,iLen,jLen,channel,allChannels=this._channels,totalDuration=0,channelDuration;for(i=0,iLen=allChannels.length;i<iLen;i++){channel=allChannels[i];channelDuration=0;for(j=0,jLen=channel.length;j<jLen;j++){if(typeof channel[j]=="number"){channel[j]=new r.Animation(channel[j])}if(channel[j] instanceof r.Animation){if(!channel[j].useSeconds){throw new Error("Timelined animations must be timed in seconds")}channel[j]._timelineOffset=channelDuration*1000;channelDuration+=channel[j].duration;channel[j]._channelIndex=i}}totalDuration=Math.max(channelDuration,totalDuration)}this._controlAnim=new r.Animation(totalDuration);events.addListener(this._controlAnim,"frame",this._processFrame,this);events.addListener(this._controlAnim,"complete",this._complete,this)};r.Timeline.prototype={_advanceChannel:function(i){var currentAnim=this._channels[i][this._channelPos[i]],nextAnim=this._channels[i][++this._channelPos[i]];if(currentAnim&&currentAnim._playing){currentAnim._playing=false;events.fire(currentAnim,"complete")}if((nextAnim)!==undefined){if(typeof nextAnim=="function"){nextAnim();this._advanceChannel(i)}else{nextAnim.position=0;nextAnim._channelIndex=i;events.fire(nextAnim,"start");nextAnim._playing=true}}},_complete:function(){if(this.loop){this.start();return}events.fire(this,"complete")},_processFrame:function(){var i,len,anim,controlAnim=this._controlAnim,msFromStart=(new Date().valueOf())-controlAnim._timeAnchor;for(i=0,len=this._channels.length;i<len;i++){if(!(anim=this._channels[i][this._channelPos[i]])){continue}anim.position=(msFromStart-anim._timelineOffset)/1000;if(anim.position>anim.duration){anim.position=anim.duration}anim.value=anim.tween(anim.position/anim.duration);events.fire(anim,"frame");if(anim.position==anim.duration){this._advanceChannel(i)}}},start:function(){var e=events.fire(this,"start");if(e.defaultPrevented()){return this}var i,iLen,j,jLen,anim;this._playing=true;for(i=0,iLen=this._channels.length;i<iLen;i++){this._channelPos[i]=-1;this._advanceChannel(i);for(j=this._channels[i].length;j;j--){anim=this._channels[i][j];if(anim instanceof r.Animation){anim.goTo(0)}}}this._controlAnim.start()},stop:function(){if(this._playing){var e=events.fire(this,"stop");if(e.defaultPrevented()){return this}this._playing=false;var anim;for(var i=0,len=this._channels.length;i<len;i++){anim=this._channels[i][this._channelPos[i]];if(anim instanceof r.Animation&&anim._playing){events.fire(anim,"stop");anim._playing=false}}this._controlAnim.stop()}},resume:function(){if(!this._playing){var e=events.fire(this,"resume");if(e.defaultPrevented()){return this}this._playing=true;var anim;for(var i=0,len=this._channels.length;i<len;i++){anim=this._channels[i][this._channelPos[i]];if(anim instanceof r.Animation&&!anim._playing){events.fire(anim,"resume");anim._playing=true}}this._controlAnim.resume()}},isPlaying:function(){return this._playing}};return r}});glow.module("glow.dragdrop","0.4.0",{require:["glow.tweens","glow.events","glow.dom","glow.anim"],implementation:function(){var c=glow.events,j=c.addListener,s=c.fire,g=c.removeListener,p=glow.dom,h=p.get,l=p.create;var m={},t=1000,a=(document.compatMode=="CSS1Compat"&&glow.env.ie>=5)?true:false,u=(document.compatMode!="CSS1Compat"&&glow.env.ie>=5)?true:false,d=glow.env.ie>=5;function b(i,v){var w=i.prototype[v];var r="cached_"+v;i.prototype[v]=function(){if(r in this){return this[r]}return this[r]=w.apply(this,arguments)}}function f(i,r){var w=i.prototype[r];var v="cached_"+r;i.prototype[r]=function(x){if(!this[v]){this[v]={}}if(x in this[v]){return this[v][x]}return this[v][x]=w.apply(this,arguments)}}function q(x,w){for(var v=0,r=w.length;v<r;v++){delete x["cached_"+w[v]]}}var n=function(i){this.el=i};n.prototype={val:function(i){var r=parseInt(this.el.css(i));return isNaN(r)?0:r},width:function(){return this.borderWidth()-this.val("border-left-width")-this.val("padding-left")-this.val("padding-right")-this.val("border-right-width")},height:function(){return this.borderHeight()-this.val("border-top-width")-this.val("padding-top")-this.val("padding-bottom")-this.val("border-bottom-width")},offsetParentPageTop:function(){var i=this.el[0],v,r;while(i=i.offsetParent){v=h(i).css("position");if(v=="absolute"||v=="fixed"||v=="relative"){break}}if(!i){return 0}r=i.offsetTop;while(i=i.offsetParent){r+=i.offsetTop}return r},offsetTop:function(){var r=0,v=this.el[0],A,z;if(glow.env.ie){do{z=v.offsetTop;if(!isNaN(z)){r+=z}v=v.offsetParent;if(v){A=h(v).css("position")}}while(v&&!(A=="absolute"||A=="fixed"||A=="relative"))}else{r=v.offsetTop}if(glow.env.opera){var x=parseInt(h(v.offsetParent).css("border-top-width"));r-=isNaN(x)?0:x}if(glow.env.gecko){var y=document,i=y.defaultView&&(y.defaultView.getComputedStyle(v.offsetParent,null)||y.defaultView.getComputedStyle),w;if(i.position=="relative"&&i.overflow=="hidden"&&(w=parseInt(i.borderTopWidth))){r+=w}}return r},offsetLeft:function(){var r=0,v=this.el[0],A,z;if(glow.env.ie){do{z=v.offsetLeft;if(!isNaN(z)){r+=z}v=v.offsetParent;if(v){A=h(v).css("position")}}while(v&&!(A=="absolute"||A=="fixed"||A=="relative"))}else{r=v.offsetLeft}if(glow.env.opera){var x=parseInt(h(v.offsetParent).css("border-left-width"));r-=isNaN(x)?0:x}if(glow.env.gecko){var y=document,i=y.defaultView&&(y.defaultView.getComputedStyle(v.offsetParent,null)||y.defaultView.getComputedStyle),w;if(i.position=="relative"&&i.overflow=="hidden"&&(w=parseInt(i.borderLeftWidth))){r+=w}}return r},borderWidth:function(){var i=this.el[0].offsetWidth;if(glow.env.khtml){i-=this.val("margin-left")+this.val("margin-right")+this.val("border-left-width")+this.val("border-right-width")}return i},borderHeight:function(){if(this._logicalBottom){return this._logicalBottom-this.offsetTop()}var i=this.el[0].offsetHeight;if(glow.env.khtml){i-=this.val("margin-top")+this.val("margin-bottom")+this.val("border-top-width")+this.val("border-bottom-width")}return i},outerWidth:function(){return this.borderWidth()+this.val("margin-left")+this.val("margin-right")},outerHeight:function(){return this.borderHeight()+this.val("margin-top")+this.val("margin-bottom")},innerLeftPos:function(){return this.offsetLeft()+this.val("border-left-width")+this.val("padding-left")},innerTopPos:function(){return this.offsetTop()+this.val("border-top-width")+this.val("padding-top")},surroundWidth:function(){return this.val("margin-left")+this.val("border-left-width")+this.val("padding-left")+this.val("padding-right")+this.val("border-right-width")+this.val("margin-right")},surroundHeight:function(){return this.val("margin-top")+this.val("border-top-width")+this.val("padding-top")+this.val("padding-bottom")+this.val("border-bottom-width")+this.val("margin-bottom")},verticalCenter:function(){return this.offsetTop()+(this.outerHeight()/2)},horizontalCenter:function(){return this.offsetTop()+(this.outerWidth()/2)}};for(var o in n.prototype){if(o=="val"){f(n,o)}else{b(n,o)}}glow.lang.apply(n.prototype,{resetPosition:function(){q(this,["offsetTop","offsetLeft","borderTopPos","borderLeftPos","innerTopPos","innerLeftPos","verticalCenter","horizontalCenter"])},setLogicalBottom:function(i){this._logicalBottom=i},boundsFor:function(v){var r,i,w=this.el.css("position");if(w=="relative"||w=="absolute"||w=="fixed"){r=i=0}else{r=this.innerTopPos();i=this.innerLeftPos()}return[r,i+this.width()-v.outerWidth(),r+this.height()-v.outerHeight(),i]},outerBounds:function(){var r=this.offsetLeft(),i=this.offsetTop();return[i,r+this.borderWidth(),i+this.borderHeight(),r]},intersectSize:function(v,w){var r=this.outerBounds(),i=v.outerBounds();if(w){r[1]++;i[1]++;r[2]++;i[2]++}return(r[2]<i[0]?0:i[2]<r[0]?0:r[0]<i[0]?(r[2]<i[2]?r[2]-i[0]:i[2]-i[0]):i[2]<r[2]?i[2]-r[0]:r[2]-r[0])*(r[1]<i[3]?0:i[1]<r[3]?0:r[3]<i[3]?(r[1]<i[1]?r[1]-i[3]:i[1]-i[3]):i[1]<r[1]?i[1]-r[3]:r[1]-r[3])},sizePlaceholder:function(y,z,w,r){var x=new n(y),v=this.el,i=z||v.css("position");y.css("display","none");v.after(y);y.css("width",(this.outerWidth()-x.surroundWidth())+"px");y.css("height",(this.outerHeight()-x.surroundHeight())+"px");y.remove();y.css("display","block");if(i!="static"){y.css("left",w+"px");y.css("top",r+"px")}y.css("position",i)},contains:function(r){var i=this.boundsFor(r),w=r.offsetTop(),v=r.offsetLeft();return w>=i[0]&&v<=i[1]&&w<=i[2]&&v>=i[3]},containsPoint:function(r){var i=this.el.offset();return r.x>=i.x&&r.y>=i.y&&r.x<=i.x+this.borderWidth()&&r.y<=i.y+this.borderHeight()},positionedAncestorBox:function(){var i=this.el.parent(),r;while(i[0]){r=i.css("position")||"static";if(r=="relative"||r=="absolute"||r=="fixed"){return new n(i)}i=i.parent()}return null}});function e(r){var i=r[0].tagName.toLowerCase()=="li"?"li":"div";var v=l("<"+i+"></"+i+">");if(i=="li"){v.css("list-style-type","none")}return v}m.Draggable=function(x,y){this.element=h(x);this._opts=y=glow.lang.apply({dragPrevention:["input","textarea","button","select","option","a"],placeholder:"spacer",placeholderClass:"glow-dragdrop-placeholder"},y||{});this._preventDrag=[];for(var v=0,r=y.dragPrevention.length;v<r;v++){this._preventDrag[v]=y.dragPrevention[v].toLowerCase()}if(y.container){this.container=h(y.container)}this._handle=y.handle&&this.element.get(y.handle)||this.element;if(y.dropTargets){this.dropTargets=h(y.dropTargets)}var w=this._listeners=[],v=0;if(y.onDrag){w[v++]=j(this,"drag",this._opts.onDrag,this)}if(y.onEnter){w[v++]=j(this,"enter",this._opts.onEnter,this)}if(y.onLeave){w[v++]=j(this,"leave",this._opts.onLeave,this)}if(y.onDrop){w[v++]=j(this,"drop",this._opts.onDrop,this)}this._dragListener=j(this._handle,"mousedown",this._startDragMouse,this);return};m.Draggable.prototype={_createPlaceholder:function(){var i=this.element,v,r=this._box;if(this._opts.placeholder=="clone"){v=i.clone()}else{v=e(i)}if(this._opts.placeholderClass){v.addClass(this._opts.placeholderClass)}r.sizePlaceholder(v,null,this._startLeft,this._startTop);i.after(v);this._placeholder=v},_removePlaceholder:function(){this._placeholder.remove()},_resetPosition:function(){var B=this._preDragPosition,i=this.element,v=this._box,w=this._startOffset,y=i.css("position"),A,x;v.resetPosition();var r={x:v.offsetLeft()-v.val("margin-left"),y:v.offsetTop()-v.val("margin-top")};if(this._placeholder||this._dropIndicator){i.remove()}if(B=="static"&&r.y==w.y&&r.x==w.x){i.css("position","static");i.css("left","");i.css("top","")}else{i.css("z-index",this._preDragZIndex);i.css("position",B=="static"?"relative":B);if(B=="static"){A=r.x-w.x;x=r.y-w.y}else{if(B=="relative"&&y!="relative"){A=this._startLeft+(r.x-w.x);x=this._startTop+(r.y-w.y)}}if(y!=B){i.css("left",A?A+"px":"");i.css("top",x?x+"px":"")}}if(this._dropIndicator){var z=this._dropIndicator.parent()[0];if(z){z.replaceChild(i[0],this._dropIndicator[0])}delete this._dropIndicator;if(this._placeholder){this._placeholder.remove();delete this._placeholder}}else{if(this._placeholder){var z=this._placeholder.parent()[0];if(z){z.replaceChild(i[0],this._placeholder[0])}delete this._placeholder}}},_startDragMouse:function(D){var z=this._preventDrag,v=D.source,I=v.tagName.toLowerCase();for(var B=0,A=z.length;B<A;B++){if(z[B]==I){return}}if(this._dragging==1){return this.endDrag()}else{if(this._dragging){return}}this._dragging=1;var y=this.element,x=this.container,r=this._opts,C=this._box=new n(y);this._preDragPosition=y.css("position");if(x){this._containerBox=new n(x);this._bounds=this._containerBox.boundsFor(C)}else{delete this._bounds}this._mouseStart={x:D.pageX,y:D.pageY};var E=this._startOffset={x:C.offsetLeft(),y:C.offsetTop()};this._preDragStyle=y.attr("style");this._preDragZIndex=y.css("z-index");y.css("z-index",t++);this._startLeft=y[0].style.left?parseInt(y[0].style.left):0;this._startTop=y[0].style.top?parseInt(y[0].style.top):0;if(r.placeholder&&r.placeholder!="none"){this._createPlaceholder()}y.css("position","absolute");y.css("left",E.x+"px");y.css("top",E.y+"px");if(a){this._scrollY=document.documentElement.scrollTop;this._innerHeight=document.documentElement.clientHeight}else{if(u){this._scrollY=document.body.scrollTop;this._innerHeight=document.body.clientHeight}else{this._scrollY=window.scrollY;this._innerHeight=window.innerHeight}}var H=h(document).height();this._bodyHeight=H<this._innerHeight?this._innerHeight:H;s(this,"drag");var F=function(){return false},G=document.documentElement;if(this.dropTargets){var w=new c.Event();w.draggable=this;for(var B=0,A=this.dropTargets.length;B<A;B++){s(this.dropTargets[B],"active",w)}this._mousePos={x:D.pageX,y:D.pageY};this._testForDropTargets()}this._dragListeners=[j(G,"selectstart",F),j(G,"dragstart",F),j(G,"mousedown",F),j(G,"mousemove",this._dragMouse,this),j(G,"mouseup",this._releaseElement,this)];return false},_dragMouse:function(w){var i=this.element,x=this._opts.axis=="y"?this._startOffset.x:(this._startOffset.x+w.pageX-this._mouseStart.x),v=this._opts.axis=="x"?this._startOffset.y:(this._startOffset.y+w.pageY-this._mouseStart.y),r=this._bounds;if(r){x=x<r[3]?r[3]:x>r[1]?r[1]:x;v=v<r[0]?r[0]:v>r[2]?r[2]:v}i[0].style.left=x+"px";i[0].style.top=v+"px";if(this.dropTargets){this._mousePos={x:w.pageX,y:w.pageY}}if(d&&w.nativeEvent.button==0){this._releaseElement(w);return false}return false},_testForDropTargets:function(E){if(!this._lock){this._lock=0}if(E){this._lock--}else{if(this.lock){return}}if(this._dragging!=1){return}var w=this.activeTarget,v,O=this.dropTargets,P,z,C=this._box,H=this._mousePos;C.resetPosition();var A=0;for(var I=0,G=O.length;I<G;I++){P=O[I];z=P._box;if(P._opts.tolerance=="contained"){if(z.contains(C)){v=P;break}}else{if(P._opts.tolerance=="cursor"){if(z.containsPoint(H)){v=P;break}}else{var J=z.intersectSize(C,true);if(J>A){A=J;v=P}}}}this.activeTarget=v;if(v!==w){if(v){var F=new c.Event();F.draggable=this;s(v,"enter",F);var r=new c.Event();r.dropTarget=v;s(this,"enter",r)}if(w){var B=new c.Event();B.draggable=this;s(w,"leave",B);var D=new c.Event();D.dropTarget=w;s(this,"leave",D)}}if(v&&v._opts.dropIndicator!="none"){var M,K=v._childBoxes,x=v._children;C.resetPosition();var N=v._box.innerTopPos();var Q=H.y-C.offsetParentPageTop();var L=0;for(var I=0,G=K.length;I<G;I++){if(x[I]==this.element[0]){continue}M=K[I];N+=M.outerHeight();if(Q<=N){if(v._dropIndicatorAt!=I){h(M.el).before(v._dropIndicator);v._dropIndicatorAt=I}L=1;break}}if(!L){if(M){h(M.el).after(v._dropIndicator);v._dropIndicatorAt=I+1}else{v.element.append(v._dropIndicator);v._dropIndicatorAt=0}}}this._lock++;var y=this;setTimeout(function(){y._testForDropTargets(1)},100)},_releaseElement:function(){if(this._dragging!=1){return}this._dragging=2;var w,r;var A=this.dropTargets,z=this.activeTarget;if(A){for(w=0,r=A.length;w<r;w++){var y=new c.Event();y.draggable=this;y.droppedOnThis=z&&z==A[w];s(A[w],"inactive",y)}}if(z){var y=new c.Event();y.draggable=this;s(z,"drop",y)}var v=this._dragListeners;for(w=0,r=v.length;w<r;w++){c.removeListener(v[w])}var x=s(this,"drop");if(!x.defaultPrevented()&&this.dropTargets){this.returnHome()}else{this.endDrag()}},endDrag:function(){if(this._dragging!=2){return}this._dragging=0;if(this._reset){this._reset();delete this._reset}if(this.placeholder){this.placeholder.remove()}this._resetPosition();delete this.activeTarget;s(this,"afterDrop")},returnHome:function(r){var x=(r)?r:glow.tweens.linear(),v=this.element,z=Math.pow(Math.pow(this._startOffset.x-this._box.offsetLeft(),2)+Math.pow(this._startOffset.y-this._box.offsetTop(),2),0.5),y=0.3+(z/1000);var i=[[glow.anim.css(v,y,{left:{from:this._box.offsetLeft(),to:this._startOffset.x},top:{from:this._box.offsetTop(),to:this._startOffset.y}},{tween:x})]];if(this._dropIndicator){i.push([glow.anim.css(this._dropIndicator,y-0.1,{opacity:{to:0}})])}var w=new glow.anim.Timeline(i);j(w,"complete",function(){this.endDrag()},this);w.start();return}};var k=0;m.DropTarget=function(i,r){i=this.element=h(i);if(!i.length){throw"no element passed into DropTarget constuctor"}if(i.length>1){throw"more than one element passed into DropTarget constructor"}this._id=++k;this._opts=r=glow.lang.apply({dropIndicator:"none",acceptDropOutside:false,dropIndicatorClass:"glow-dragdrop-dropindicator",tolerance:"intersect"},r||{});if(r.onActive){j(this,"active",r.onActive)}if(r.onInactive){j(this,"inactive",r.onInactive)}if(r.onEnter){j(this,"enter",r.onEnter)}if(r.onLeave){j(this,"leave",r.onLeave)}if(r.onDrop){j(this,"drop",r.onDrop)}this._activeListener=j(this,"active",this._onActive);this._activeListener=j(this,"inactive",this._onInactive);return this};m.DropTarget.prototype={setLogicalBottom:function(i){this._logicalBottom=i},_onActive:function(w){var r=w.draggable;this._box=new n(this.element);if(this._logicalBottom){this._box.setLogicalBottom(this._logicalBottom)}if(this._opts.dropIndicator=="none"){return}this._onEnterListener=j(this,"enter",this._onEnter);this._onLeaveListener=j(this,"leave",this._onLeave);this._dropIndicator=e(r.element);if(this._opts.dropIndicatorClass){this._dropIndicator.addClass(this._opts.dropIndicatorClass)}r._box.sizePlaceholder(this._dropIndicator,"relative",0,0);var v=this._children=h(this.element.children()).filter(function(){var x=h(this);return(!w.draggable._placeholder||!x.eq(w.draggable._placeholder))&&(!this._dropIndicator||!x.eq(this._dropIndicator))});var i=this._childBoxes=[];v.each(function(x){i[x]=new n(h(v[x]))})},_onInactive:function(i){g(this._onEnterListener);g(this._onLeaveListener);delete this._box;if(this._opts.dropIndicator=="none"){return}if(!i.droppedOnThis&&this._dropIndicator){this._dropIndicator.remove();delete this._dropIndicator}delete this._childBoxes;delete this._children},_onEnter:function(){this._dropIndicatorAt=-1},_onLeave:function(){this._dropIndicator.remove()},moveToPosition:function(i){var x=this._dropIndicator,r=new n(x);var w=parseInt(x.css("margin-left")),v=parseInt(x.css("margin-top"));if(isNaN(w)){w=0}if(isNaN(v)){v=0}i._startOffset={x:r.offsetLeft()-w,y:r.offsetTop()-v};i._dropIndicator=x;delete this._dropIndicator}};return m}});
/*@end @*/
/*@cc_on @*/
/*@if (@_jscript_version > 5.1)@*/
glow.module("glow.widgets","0.4.0",{require:["glow.dom","glow.events"],implementation:function(){var c,b,a=glow.env;glow.ready(function(){c=document;b=c.body;var d=glow.dom.create('<div class="glow-cssTest"></div>').appendTo(b);if(d.css("z-index")!="1234"||d.css("background-image").indexOf("ctr.png")==-1){b.className+=" glow-basic"}d.remove();a.ie&&(b.className+=" glow-ie");(a.ie<7||!a.standardsMode)&&(b.className+=" glow-ielt7");a.gecko&&(b.className+=" glow-gecko")});return{_scrollPos:function(){var e=window,d=a.standardsMode?c.documentElement:b;return{x:d.scrollLeft||e.pageXOffset||0,y:d.scrollTop||e.pageYOffset||0}}}}});glow.module("glow.widgets.Mask","0.4.0",{require:["glow.dom","glow.events","glow.widgets"],implementation:function(){var e=glow.dom,f=e.get,i=glow.events,g=glow.widgets,c,a='<div class="glow-noMask" style="margin:0;padding:0;position:absolute;width:100%;top:0;left:0;overflow:auto;',b,h='<iframe class="glow-noMask" style="margin:0;padding:0;position:absolute;top:0;left:0;filter:alpha(opacity=0);display:none"></iframe>';function d(m){this.opts=glow.lang.apply({color:"#000",opacity:0.7,zIndex:9900,disableScroll:false},m||{});var k=document.body,j=this.maskElement=e.create(a+"z-index:"+this.opts.zIndex+";background:"+this.opts.color+';visibility:hidden"></div>').appendTo(k),l=this;j.css("opacity",this.opts.opacity);if(glow.env.ie<7){this._iframe=e.create(h).css("z-index",this.opts.zIndex-1).appendTo(k)}i.addListener(j,"click",function(){i.fire(l,"click")});if(this.opts.onClick){i.addListener(this,"click",m.onClick)}}d.prototype={add:function(){var t=f(document),m=f(document.body),n=f(window),o=this;if(this.opts.disableScroll&&!b){b=glow.dom.create(a+'height:100%;overflow:hidden;">'+a+'"></div></div>');var r=g._scrollPos(),p=m[0].style,l=n.height(),s=n.width(),k=b.get("div"),j=m.children().filter(function(){return(" "+this.className+" ").indexOf("glow-noMask")==-1});c={margin:[m.css("margin-top"),m.css("margin-right"),m.css("margin-bottom"),m.css("margin-left")],padding:[m.css("padding-top"),m.css("padding-right"),m.css("padding-bottom"),m.css("padding-left")],height:m.css("height")};p.margin=p.padding=0;p.height="100%";k[0].style.zIndex=this.opts.zIndex-1;b.appendTo(m);k.css("margin",c.margin.join(" ")).css("padding",c.padding.join(" ")).css("top",-r.y-parseFloat(c.margin[0])+"px").css("left",-r.x+"px").append(j)}function q(){var w=m.height();for(var u=0;u<2;u++){o.maskElement.css("width","100%").css("height",(o.opts.disableScroll?b.height():Math.max(w,n.height()))+"px")}if(glow.env.ie<7){var v=o.maskElement[0].style;o._iframe.css("width",v.width).css("height",v.height)}}this.maskElement.css("visibility","visible").css("display","block");if(glow.env.ie<7){this._iframe.css("display","block")}q();this._resizeListener=i.addListener(window,"resize",q)},remove:function(){this.maskElement.css("visibility","hidden").css("display","none");if(glow.env.ie<7){this._iframe.css("display","none")}i.removeListener(this._resizeListener);if(this.opts.disableScroll){var j=f(document.body),k=b.children();k.children().appendTo(j);window.scroll(-parseInt(k.css("left")),-parseInt(k.css("top")));b.remove();j.css("margin",c.margin.join(" ")).css("padding",c.padding.join(" ")).css("height",c.height);delete b;b=undefined}}};return d}});glow.module("glow.widgets.Overlay","0.4.0",{require:["glow.dom","glow.events","glow.anim","glow.widgets","glow.widgets.Mask"],implementation:function(){var k=glow.dom,d=k.get,a=glow.events,i=glow.widgets,l=glow.env,j=glow.anim,h=glow.tweens,e='<div class="glow-overlay glow-noMask"></div>',n='<iframe class="glow-noMask" style="display:none;margin:0;padding:0;position:absolute;filter:alpha(opacity=0)"></iframe>',q=[],g=/.swf($|\?)/i,b=/<param\s+(?:[^>]*(?:name=["'?]\bwmode["'?][\s\/>]|\bvalue=["'?](?:opaque|transparent)["'?][\s\/>])[^>]*){2}/i;function c(s){if(q.length||(!s.opts.hideFlash)){return}var t=0;d("object, embed").each(function(){var u=this,v;if((u.getAttribute("type")=="application/x-shockwave-flash"||g.test(u.getAttribute("data")||u.getAttribute("src")||"")||(u.getAttribute("classid")||"").toLowerCase()=="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000")&&!d(u).isWithin(s.content)){v=u.getAttribute("wmode");if((u.nodeName=="OBJECT"&&!b.test(u.innerHTML))||(v!="transparent"&&v!="opaque")){q[t++]=[u,u.style.visibility];u.style.visibility="hidden"}}})}function r(){for(var t=0,s=q.length;t<s;t++){q[t][0].style.visibility=q[t][1]}q=[]}function m(x,A){var y=[],z=[],u=0,w=0,B=x.opts.anim,C=x.opts.mask,s=x.container,t,v=0;if(B=="fade"){s.css("opacity",(A?0:1));y[w++]=[j.css(s,0.3,{opacity:{from:(A?0:1),to:(A?1:0)}})];if(A){y[w-1][1]=function(){s.css("opacity","")}}y[w++]=[o(x,A)]}else{if(B=="roll"){if(A){s.css("height","");v=s.height();s.css("height","0")}y[w++]=[function(){if(l.webkit<522&&A){s.css("display","none");setTimeout(function(){s.css("overflow","hidden").css("display","block")},0)}else{s.css("overflow","hidden")}},j.css(s,0.3,{height:{to:v}},{tween:A?h.easeOut():h.easeIn()}),function(){if(!A){s.css("visibility","hidden")}s.css("height","");s.css("overflow","")}];y[w++]=[o(x,A)]}}return new j.Timeline(y)}function o(u,t){if(!u.opts.modal){return 0}var s=u.opts.mask,w=s.opts.opacity,v=s.maskElement;v.css("opacity",(t?0:w));return j.css(v,0.1,{opacity:{from:(t?0:w),to:(t?w:0)}})}function p(s){r();s.container.css("visibility","").css("display","");if(s.opts.modal){s.opts.mask.remove()}else{if(glow.env.ie<7){s._iframe.css("display","none")}}a.removeListener(s._scrollEvt);a.removeListener(s._resizeEvt)}function f(x,w){if(w&&w.mask){w.modal=true}this.opts=glow.lang.apply({modal:false,mask:new glow.widgets.Mask(w.zIndex?{zIndex:w.zIndex-1}:{}),closeOnMaskClick:true,zIndex:9990,autoPosition:true,x:"50%",y:"50%",hideFlash:true},w||{});var s=this.content=d(x),v=this,u=this.container=k.create(e).css("z-index",this.opts.zIndex),t=document.body;this.autoPosition=this.opts.autoPosition;this.isShown=false;this._blockActions=false;u.appendTo(t).append(s);if(this.opts.closeOnMaskClick){a.addListener(this.opts.mask,"click",function(){v.hide()})}if(glow.env.ie<7&&!this.opts.modal){this._iframe=k.create(n).css("z-index",this.opts.zIndex-1).appendTo(t)}}f.prototype={setPosition:function(B,z){if(!this.autoPosition){return this}if(B!==undefined&&!(B.source)){this.opts.x=B;this.opts.y=z}var v=d(window),B=this.opts.x,z=this.opts.y,t=(!l.ie&&!(l.webkit<522))||(l.ie>6&&l.standardsMode),C=parseFloat(this.opts.x),w=parseFloat(this.opts.y),A=(this.opts.mask.opts.disableScroll||t)?{x:0,y:0}:i._scrollPos(),s=this.container;t&&s.css("position","fixed");if(typeof B=="string"&&B.indexOf("%")!=-1){s.css("left",Math.max(((v.width()-s[0].offsetWidth)*(C/100))+A.x,A.x)+"px")}else{s.css("left",C+A.x+"px")}if(typeof z=="string"&&z.indexOf("%")!=-1){s.css("top",Math.max(((v.height()-s[0].offsetHeight)*(w/100))+A.y,A.y)+"px")}else{s.css("top",w+A.y+"px")}if(glow.env.ie<7&&!this.opts.modal){var u=s[0].style;this._iframe.css("top",u.top).css("left",u.left).css("width",s[0].offsetWidth+"px").css("height",s[0].offsetHeight+"px")}return this},show:function(){var t=this,s,u=t.opts.anim;if(t._blockActions||t.isShown){return t}if(a.fire(t,"show").defaultPrevented()){return t}c(t);t.container.css("display","block");if(t.opts.modal){t.opts.mask.add()}else{if(glow.env.ie<7){t._iframe.css("display","block")}}t._scrollEvt=a.addListener(window,"scroll",t.setPosition,t);t._resizeEvt=a.addListener(window,"resize",t.setPosition,t);t.setPosition();if(typeof u=="string"){s=m(t,true)}else{if(typeof u=="function"){s=u(t,true)}else{if(u){s=u.show}}}if(s){if(!s._overlayEvtAttached){a.addListener(s,"complete",function(){t._blockActions=false;t.isShown=true;a.fire(t,"afterShow")});s._overlayEvtAttached=true}t._blockActions=true;s.start();t.container.css("visibility","visible")}else{t.container.css("visibility","visible");t.isShown=true;a.fire(t,"afterShow")}return t},hide:function(){var t=this,s,u=t.opts.anim;if(this._blockActions||!t.isShown){return t}if(a.fire(t,"hide").defaultPrevented()){return t}if(typeof u=="string"){s=m(t,false)}else{if(typeof u=="function"){s=u(t,false)}else{if(u){s=u.hide}}}if(s){if(!s._overlayEvtAttached){a.addListener(s,"complete",function(){p(t);t._blockActions=false;t.isShown=false;a.fire(t,"afterHide")});s._overlayEvtAttached=true}t._blockActions=true;s.start()}else{p(t);t.isShown=false;a.fire(t,"afterHide")}return t}};return f}});glow.module("glow.widgets.Panel","0.4.0",{require:["glow.dom","glow.events","glow.widgets.Overlay"],implementation:function(){var e=glow.dom,f=e.get,k=glow.events,h=glow.widgets,a=h.Overlay,c=glow.lang,g=glow.env,b,j={};function d(p){var n=p?"<div></div>":"";for(var m=1,l=arguments.length,o=[];m<l;m++){o[m-1]='<div class="'+arguments[m]+'">'+n+"</div>"}return o.join("")}b=function(){var m=[],l=0;m[l++]='<div class="glow-panel">';m[l++]='<div class="glow-defaultSkin">';m[l++]=d(false,"glow-infoPanel-pointerT","glow-infoPanel-pointerL","glow-infoPanel-pointerR");m[l++]='<div class="pc">';m[l++]=d(false,"tr","tl");m[l++]=d(true,"tb");m[l++]='<div class="tc">';m[l++]=d(false,"bars");m[l++]='<div class="c">';m[l++]='<a class="glow-panel-close" href="#" title="close">X</a>';m[l++]=d(false,"glow-panel-hd","glow-panel-bd","glow-panel-ft");m[l++]="</div>";m[l++]="</div>";m[l++]=d(false,"br","bl");m[l++]=d(true,"bb");m[l++]="</div>";m[l++]=d(false,"glow-infoPanel-pointerB");m[l++]="</div>";m[l++]="</div>";return m.join("")}();function i(r,l){r=f(r);l=l||{};if(typeof l.width=="number"){l.width+="px"}if(l.template){var m=true}l=glow.lang.apply({template:b,width:"400px",modal:true,theme:"dark"},l);var t=e.create(l.template),p=r.get("> .hd"),n=r.get("> .ft"),o=document.body,q=this,s;if(!m){t.addClass("glow-panel-"+l.theme);if(!j[l.theme]&&o.className.indexOf("glow-basic")==-1){s=t.clone().addClass("glow-panel-preload").appendTo(o);j[l.theme]=true}}if(r.length>1){r.each(function(){var u=f(this);if(u.hasClass("hd")){p=u}else{if(u.hasClass("ft")){n=u}}})}this.header=t.get(".glow-panel-hd");this.footer=t.get(".glow-panel-ft");this.body=t.get(".glow-panel-bd");if(r.isWithin(o)){t.insertBefore(r)}else{t.appendTo(o)}this.body.append(r);if(p.length){this.header.append(p)}else{if(!m){t.addClass("glow-panel-noHeader")}}if(n.length){this.footer.append(n)}k.addListener(t.get(".glow-panel-close"),"click",function(){q.hide();return false});a.call(this,t,l);this.container.css("width",l.width)}c.extend(i,a);return i}});glow.module("glow.widgets.Sortable","0.4.0",{require:["glow.dom","glow.events","glow.dragdrop"],implementation:function(){var e=glow.dom.get,h=glow.events,b=h.fire,a=h.addListener;function c(k){var j=0,l=k[0],m;if(glow.env.ie){do{j+=l.offsetTop;l=l.offsetParent;if(l){m=e(l).css("position")}}while(l&&!(m=="absolute"||m=="fixed"||m=="relative"))}else{j=l.offsetTop}return j}var d=function(k,j){this._opts=j=glow.lang.apply({dropIndicatorClass:"glow-sortable-dropindicator",equaliseColumns:true,draggableOptions:{}},j||{});this.constrainDragTo=j.constrainDragTo;this.axis=j.axis;this.draggables=[];var k=this.containers=e(k),l=this.dropTargets=[];if(j.onSort){a(this,"sort",j.onSort)}k.each(function(m){l[m]=new glow.dragdrop.DropTarget(this,{tolerance:"intersect",dropIndicator:"spacer",dropIndicatorClass:j.dropIndicatorClass})});this.addItems(k.get("> *"))};function f(){var n=[],o=0,k,p=this.dropTargets;this.containers.each(function(l){var q=e(this);n[l]=c(q);k=n[l]+q[0].offsetHeight;if(glow.env.khtml){k-=q.css("margin-top")+q.css("margin-bottom")}if(k>o){o=k}});for(var m=0,j=this.dropTargets.length;m<j;m++){this.dropTargets[m].setLogicalBottom(o)}}function i(m){var j=m.attachedTo,k=j.element,l=j.activeTarget;this._previous=k.prev();this._parent=k.parent();if(l){l.moveToPosition(j)}}function g(l){var j=l.attachedTo,k=j.element;if(!k.prev().eq(this._previous||[])||!k.parent().eq(this._parent)){b(this,"sort")}delete this._prev;delete this._parent}d.prototype={addItems:function(k){var l=this,j=this._opts.draggableOptions;e(k).each(function(){var m=new glow.dragdrop.Draggable(this,glow.lang.apply({placeholder:"none",axis:l.axis,container:l.constrainDragTo,dropTargets:l.dropTargets,acceptDropOutside:(l.containers.length==1)},j));if(l._opts.equaliseColumns){a(m,"drag",f,l)}a(m,"drop",i,l);a(m,"afterDrop",g,l);l.draggables.push(m)})}};return d}});glow.module("glow.widgets.InfoPanel","0.4.0",{require:["glow.dom","glow.events","glow.widgets.Panel"],implementation:function(){var c=glow.dom,e=c.get,l=glow.events,k=glow.widgets,b=glow.lang,h=glow.env,g,j=/glow\-infoPanel\-point[TRBL]/,f={T:{x:"50%",y:"100%"},R:{x:0,y:"50%"},B:{x:"50%",y:0},L:{x:"100%",y:"50%"}};glow.ready(function(){g=e(window)});function d(m,o){var r=[m.x,m.y],p=["x","y"],q=["Width","Height"],n=0;for(;n<2;n++){if(r[n].slice){r[n]=parseFloat(m[p[n]]);if(m[p[n]].slice(-1)=="%"){r[n]=o[0]["offset"+q[n]]*(r[n]/100)}}}return{x:r[0],y:r[1]}}function i(r,q){var p=k._scrollPos(),m={x:g.width(),y:g.height()},o={T:m.y-r.y-q.y+p.y,R:r.x-p.x,B:r.y-p.y,L:m.x-r.x-q.x+p.x},n=["T","R","B","L"];n.sort(function(t,s){return o[s]-o[t]});return n[0]}function a(o,n){n=n||{};if(n.template){var m=true}n=glow.lang.apply({modal:false,theme:"light",autoPosition:!!n.context,pointerRegisters:{t:{x:"50%",y:0},r:{x:"100%",y:"50%"},b:{x:"50%",y:"100%"},l:{x:0,y:"50%"}}},n);n.context=n.context&&e(n.context);k.Panel.call(this,o,n);if(!m){this.content.addClass("glow-infoPanel")}this.content.addClass("glow-infoPanel-point"+(n.pointerPosition||"t").toUpperCase())}b.extend(a,k.Panel);b.apply(a.prototype,{setPosition:function(t,r){var u=(t!==undefined&&!(t.source));if(!(this.autoPosition||u)){return this}else{if(u){this.autoPosition=false}}var z=this.opts,o=this.content[0],A=z.pointerPosition,m=z.context,w=this.container,n,s=u?{x:t,y:r}:m.offset(),v=u?{x:0,y:0}:{x:m[0].offsetWidth,y:m[0].offsetHeight},B,C,q,F=w.offset(),D,E;if(!A){A=i(s,v);if(E!=A){E=A;o.className=o.className.replace(j,"glow-infoPanel-point"+A);n=w.get(".glow-infoPanel-pointer"+A)}}else{A=A.toUpperCase()}if(!n){n=w.get(".glow-infoPanel-pointer"+A)}B=u?{x:0,y:0}:d(z.offsetInContext||f[A],m);q=d(z.pointerRegisters[A.toLowerCase()],n);D=n.offset();C={x:D.x-F.x+q.x,y:D.y-F.y+q.y};w.css("left",s.x+B.x-C.x+"px").css("top",s.y+B.y-C.y+"px");if(h.ie<7&&!z.modal){var p=w[0].style;this._iframe.css("top",p.top).css("left",p.left).css("width",w[0].offsetWidth+"px").css("height",w[0].offsetHeight+"px")}return this},setContext:function(m){this.opts.context=e(m);this.autoPosition=true;if(this.container[0].style.display=="block"){this.setPosition()}return this}});return a}});
/*@end @*/
function Carousel(){this._init(Carousel.arguments)}Carousel.prototype={_init:function(b){this.vertical=false;this.loop=true;this.visibleItems=5;this.anim=new glow.anim.Animation(0.5);glow.lang.apply(this,b[1]);this.holder=glow.dom.get(b[0]);this.holder.addClass("visionAppsCarousel");this.items=(this.itemFilter)?this.holder.get(this.itemFilter):this.holder.children();var d=this.items.slice(0,0+1);var c=d.width()+parseInt(d.css("margin-left"))+parseInt(d.css("margin-right"));var a=d.height()+parseInt(d.css("margin-top"))+parseInt(d.css("margin-bottom"));this.axis=(this.vertical)?"top":"left";this.mult=(!this.vertical)?c:a;this.currentVisibleItems=[];if(this.anim){this.distanceToMove=0;glow.events.addListener(this.anim,"frame",function(){var e=Math.ceil(this.distanceToMove*this.anim.value);this._moveItems(e);this.distanceToMove=this.distanceToMove-e},this);glow.events.addListener(this.anim,"stop",function(){this._moveItems(this.distanceToMove);this.distanceToMove=0},this)}this._setDefaultPositions();this._moveItems(0)},_atEndPoint:function(d){if(this.loop){return false}var a=this.items[0].cache[this.axis]+d;var b=0;if(a>b){glow.events.fire(this,"cantDoPrevious");return true}var c=this.items[this.items.length-1].cache[this.axis]+d;var e=(this.visibleItems*this.mult)-this.mult;if(c<e){glow.events.fire(this,"cantDoNext");return true}if(d!=0){glow.events.fire(this,"canDoPrevious");glow.events.fire(this,"canDoNext")}return false},_checkWrap:function(a){if(!this.loop){return false}if(a.cache[this.axis]<(this.mult*-2)){a.cache[this.axis]=a.cache[this.axis]+(this.mult*this.items.length);return}if(a.cache[this.axis]>=(this.mult*(this.items.length-1))){a.cache[this.axis]=a.cache[this.axis]-(this.mult*this.items.length);return}},_distanceFrom:function(b,d){var a=this.items[b].cache[this.axis];var c=a-(d*this.mult);return c},_getVisibleItems:function(){var b=this;var a=this.currentVisibleItems.sort(function(d,c){var d=b.items[d].cache[b.axis];var c=b.items[c].cache[b.axis];return d-c});return a},_getNonVisibleItems:function(f,d){if(f>0){var b=this._getVisibleItems();var a=(d>0)?b[b.length-1]:b[0];var j=[];for(var e=1;e<=f;e++){var g=(d>0)?a+e:a-e;var c;if(this.loop){var k=this.items.length;var h=g%k;c=(h<0)?k+h:h}else{if(g>=0&&g<this.items.length){c=g}else{c=null}}if(c!=undefined){j.push(c)}}return j}return[]},_moveItems:function(e){if(this._atEndPoint(e)){return}var d=this;var b=[];var c=0;var a=this.mult*this.visibleItems;this.items.each(function(f){d._updateAxis(this,this.cache[d.axis]+e);d._checkWrap(this);if(this.cache[d.axis]>=c&&this.cache[d.axis]<a){b.push(f)}var g=glow.dom.get(this);g.css("position","absolute");g.css(d.axis,this.cache[d.axis]+"px")});this.currentVisibleItems=b},_setDefaultPositions:function(){var a=this;this.items.each(function(b){this.cache={};a._updateAxis(this,a.mult*b)})},_updateAxis:function(a,b){a.cache[this.axis]=b},move:function(a,b){var b=b||{anim:true};var c=(b.usePixels)?a:a*this.mult;if(this.anim&&b.anim){this.anim.stop();this.distanceToMove=c;this.anim.start()}else{this._moveItems(c)}},moveTo:function(b,d,a){var a=a||{anim:true};var c=this._distanceFrom(b,d)*-1;this.move(c,{usePixels:true,anim:a.anim})},resetPositions:function(){this._setDefaultPositions();this._moveItems(0)},getItems:function(){return this.items},getVisibleItemsIndexes:function(){return this._getVisibleItems()},getNextVisibleItemsIndexes:function(a){var a=(a)?a:this.visibleItems;return this._getNonVisibleItems(a,1)},getPrevVisibleItemsIndexes:function(a){var a=(a)?a:this.visibleItems;return this._getNonVisibleItems(a,-1)},addClass:function(b,a){if(b=="*"){this.items.addClass(a)}else{this.items.slice(b,b+1).addClass(a)}},removeClass:function(b,a){if(b=="*"){this.items.removeClass(a)}else{this.items.slice(b,b+1).removeClass(a)}},addItem:function(b,a){},removeItem:function(a){}};var utils={};utils.cookie=(function(){return{get:function(f){if(!f){return f}var e="",c=document.cookie,d=c.indexOf(f+"=");if(d>-1){var b=d+f.length,a=c.indexOf(";",b);e=(a==-1)?c.substring(b+1):c.substring(b+1,a)}return e},set:function(g,h,a){if(!g.length){return false}var e=new Date();e.setTime(e.getTime()+((a.expires||100)*24*60*60*1000));var c=e.toGMTString();var b=g,a=a||{},d=h||"",f=a.domain?"; domain="+a.domain:"",i=a.path||"/";document.cookie=b+"="+d+"; expires="+c+f+"; path="+i;return true},remove:function(e,b){if(!e.length){return false}var a=e,b=b||{},c=b.domain?"; domain="+b.domain:"",d=b.path||"/";document.cookie=a+'=""; expires=Thu, 01-Jan-1970 00:00:01 GMT'+c+"; path="+d;return true},assert:function(e,c,b){var a=e||"CookieTest",d=c||"TestValue",b=b||{};this.set(a,d,b);if(this.get(a)!=d){glow.events.fire(utils.cookie,"fail");return false}this.remove("CookieTest",b);return true}}}());var Homepage=function(){var r={},$=glow.dom.get,bind=glow.events.addListener;r.mods={};r.Carousel={};r.Gallery={};r.ImgList={};r.Tooltips={};r.promoEmp=[];r.acceptCookies=true;function _MakeHomepage(){if(document.all){var listener=bind("a.setHome","click",function(event){this.style.behavior="url(#default#homepage)";this.setHomePage("http://www.bbc.co.uk");var hp_bug=new Image(1,1);hp_bug.src="/go/homepage/"+Homepage.audience+"/int/cust/sethome/-/home/release-34-2/img/custtiny.gif";return false})}else{if(glow.env.gecko){var listener=bind("a.setHome","click",function(event){if(!$("#hpTooltip_Sethome").length){glow.dom.create('<div id="hpTooltip_Sethome"><h2 class="hd">Make this page my homepage</h2><a class="parent" href="http://www.bbc.co.uk"></a><ol><li><p>Drag the BBC home icon in this panel and drop it onto the "house icon" in the tool bar for the browser</p></li><li><p>Select "Yes" from the popup window and you\'re done!</p></li></ol><p><a href="/help/web/#1">More information</a></p></div>').appendTo($("#blq-banner a.setHome"))}this.homepageTip=this.homepageTip||new glow.widgets.InfoPanel("#hpTooltip_Sethome",{context:"#blq-banner a.setHome",pointerPosition:"t",offsetInContext:{x:"20%",y:"90%"},width:"480px",hideFlash:false});var hp_bug=new Image(1,1);hp_bug.src="/go/homepage/"+Homepage.audience+"/int/cust/sethome/-/home/release-34-2/img/custtiny.gif";this.homepageTip.container.addClass("home-panel");if(this.homepageTip.isShown){this.homepageTip.hide()}else{for(var j in Homepage.Tooltips){if(Homepage.Tooltips[j].isShown){Homepage.Tooltips[j].hide()}}this.homepageTip.setPosition().show()}return false},Homepage.Tooltips)}else{return true}}}function _Sortables(opts){return new glow.widgets.Sortable(opts.el,{dropIndicatorClass:opts.helper||"hpSortHelper",equaliseColumns:true,onSort:function(e){if(typeof opts.self[opts.func]=="function"){opts.self[opts.func]();glow.events.fire(Homepage.pageState,"update")}},draggableOptions:{handle:opts.handle,container:opts.container||"",onDrag:function(){this.element.addClass("dragState");for(var j in Homepage.Tooltips){if(Homepage.Tooltips[j].isShown){Homepage.Tooltips[j].hide()}}},onDrop:function(){this.element.removeClass("dragState")}}})}function _Customise(){var customisePane=$("#hpEditYourHomePage");$("#hpOptionsBar").after(customisePane.css("display","none"));customisePane.get("ul").removeClass("static");var checkboxes=customisePane.get("div.feedSelection input");checkboxes.each(function(){this.value=this.value.substring(0,1);if(Homepage.pageState.modules[this.value]){$(this).attr("checked","checked");$(this).parent().addClass("enabled")}bind($(this).next(),"click",function(){if(glow.env.webkit<500){this.checked=!this.checked}$(this).parent().toggleClass("enabled")},this)});bind("#editLink","click",function(){if(Homepage.audience=="d"){$("#local").css("display")=="none"?utils.slide.toggle(customisePane):utils.slide.up($("#local"),function(){utils.slide.toggle(customisePane)})}else{utils.slide.toggle(customisePane)}var hp_bug=new Image(1,1);hp_bug.src="/go/homepage/"+Homepage.audience+"/int/cust/cust/-/home/release-34-2/img/custtiny.gif";return false});bind("#hpEditYourHomePage form","submit",function(){var mods=$("div.feedSelection input");mods.each(function(){var modId=this.value;if(this.checked&&!Homepage.pageState.modules[modId]){data=glow.dom.create('<div id="'+modId+'" class="hpMod blocked"></div>');$("#hpColOne").prepend(data);Homepage.pageState.modules[modId]={open:true,val:3,subfeeds:{serialized:[]}};Homepage.moduleSortable.addItems(data);if(Homepage.Defaults[modId]){for(var i=0;i<Homepage.Defaults[modId].length;i++){Homepage.pageState.modules[modId].subfeeds[Homepage.Defaults[modId][i]]={val:3};Homepage.pageState.modules[modId].subfeeds.serialized.push(Homepage.Defaults[modId][i])}}}else{if(Homepage.pageState.modules[modId]&&!this.checked){$("#"+modId).remove();delete Homepage.pageState.modules[modId]}}});Homepage.pageState.colour=$("#hpEditYourHomePage div.colourSelection input").filter(function(){return this.name=="colour"&&this.checked}).val();delete Homepage.pageState.modules.serialized;glow.events.fire(Homepage.pageState,"update");location.reload(true);return false});var cancel=glow.dom.create('<input type="reset" value="Cancel" id="feedSelectionCancel" class="hpButton cancel" />').insertAfter("#feedSelectionSave");bind(cancel,"click",function(){$("#local").css("display")=="none"?utils.slide.toggle(customisePane):utils.slide.up($("#local"),function(){utils.slide.toggle(customisePane)})})}function _ColourSelection(){var buttons=$("#hpEditYourHomePage div.colourSelection input");buttons.filter(function(){return this.name=="colour"&&this.checked}).parent().addClass("current");buttons.each(function(){bind($(this).next(),"click",function(){if(glow.env.webkit<500){this.checked=!this.checked}$("div.colourSelection li.current").removeClass("current");$(this).parent().addClass("current")})})}function _FeatureBox(){var featureList=$("#hpFeatureBox ul.hpFeatureList"),features=featureList.get("> li > a").filter(function(){return this==$(this).parent().children()[0]});$("#hpFeatureBox .empImg").each(function(i){var img=$(this).get("a.image");bind(img,"click",function(){Homepage.AddEMP({x:400,y:260},Homepage.promoEmp[i].location,Homepage.promoEmp[i].playlist,Homepage.promoEmp[i].config||null);$(this).addClass("hide");return false});bind(img,"mouseup",function(){this.blur()})});features.each(function(i){bind(this,"click",function(){var current=$(this);if(!current.next().get("img").length){current.next().append('<img src="'+Homepage.ImgList.Features[i-1].src+'" alt="'+Homepage.ImgList.Features[i-1].alt+'" />')}featureList.get(".current").removeClass("current").get(".emp").empty().parent().get("a.image").removeClass("hide");current.addClass("current").parent().addClass("current");if(!Homepage.pageState.colour){var tabClass=current.parent().attr("class").match(/hp[0-9]+/);$("body").attr("class",$("body").attr("class").replace(/hp[0-9]+/,tabClass))}return false})});for(var y in Homepage.Gallery.Features){if(Homepage.Gallery.Features[y].length){var dotsHolder=glow.dom.create('<ol class="galleryControls"></ol>'),next=glow.dom.create('<a title="next" href="#" class="galleryNext"><span>next</span></a>'),previous=glow.dom.create('<a title="previous" href="#" class="galleryPrevious"><span>previous</span></a>'),wrapper=glow.dom.create('<div class="gallerywrap"></div>');var Gallery=Homepage.Gallery[y]={current:0,images:Homepage.Gallery.Features[y],animating:false,tab:$("."+y+" .galleryHolder")};for(var x=0;x<Homepage.Gallery.Features[y].length;x++){var current=parseInt(x+1),dot=glow.dom.create('<a title="Go to item '+current+'" href="#'+y+current+'" class="'+current+'"><span>Go to item </span>'+current+"</a>");bind(dot,"click",function(e){if(this.current==parseInt(e.source.className-1)||this.animating){return false}this.tab.removeClass("first").removeClass("last");this.current=parseInt(e.source.className-1);_SwitchImage(this);return false},Gallery);var listItem=glow.dom.create('<li class="image"></li>').append(dot);if(!x){listItem.addClass("currentImg").append(glow.dom.create('<img src="'+Gallery.images[0].src+'" alt="'+Gallery.images[0].alt+'" />'))}dotsHolder.append(listItem)}bind(next,"click",function(){if(this.current==this.images.length-1||this.animating){return false}this.tab.removeClass("first");this.current++;_SwitchImage(this);return false},Gallery);bind(previous,"click",function(){if(this.current<1||this.animating){return false}this.tab.removeClass("last");this.current--;_SwitchImage(this);return false},Gallery);Gallery.tab.get("span.image").remove();wrapper.css("width",(3.6+2.33*Homepage.Gallery.Features[y].length)+"em");wrapper.append(previous).append(dotsHolder).append(next);Gallery.tab.addClass("first").append(wrapper)}}}function _SwitchImage(Gallery){Gallery.animating=true;if(Gallery.current<1){Gallery.tab.addClass("first")}else{if(Gallery.current==Gallery.images.length-1){Gallery.tab.addClass("last")}}var currentImage=Gallery.tab.get("li.currentImg").removeClass("currentImg"),newImage=$(Gallery.tab.get("li.image").item(Gallery.current)).addClass("currentImg");if(!newImage.get("img").length){var image=glow.dom.create('<img src="'+Gallery.images[Gallery.current].src+'" alt="'+Gallery.images[Gallery.current].alt+'" />');image.css("opacity",0);newImage.append(image)}var fader=_CrossFade(currentImage.get("img"),newImage.get("img"),1);bind(fader,"complete",function(){Gallery.animating=false});fader.start()}function _CrossFade(from,to,duration){var fadeOut=glow.anim.css(from,duration,{opacity:{to:0}});var fadeIn=glow.anim.css(to,duration,{opacity:{to:1}});return new glow.anim.Timeline([[fadeOut],[fadeIn]])}function _AddPopup(src,width,height,scroll,resize){bind(src,"click",function(){var popup=window.open(src.href,"BBCPopupWindow","width="+width+",height="+height+",toolbar=0,location=0,status=0,menubar=0,scrollbars="+scroll+",resizable="+resize+",top=30,left=30");popup.focus();return false})}function _Popups(){$("#blq-content a").each(function(){if(this.rel=="external"){$(this).attr("target","_blank")}if(this.className.indexOf("pop")==-1){return}var cName=" "+this.className+" ";if(cName.indexOf(" wsradiopop ")!=-1){_AddPopup(this,409,269,0,0)}else{if(cName.indexOf(" radiopop ")!=-1){Homepage.Location?this.href="/radio/":_AddPopup(this,693,525,0,0)}else{if(cName.indexOf(" emppop ")!=-1){Homepage.Location?this.href="/iplayer/":_AddPopup(this,512,270,0,0)}else{if(cName.indexOf(" newspop ")!=-1){Homepage.Location?this.href="/news/1/hi/video_and_audio/default.stm":_AddPopup(this,669,485,0,0)}else{if(cName.indexOf(" pluginpop ")!=-1){_AddPopup(this,620,450,1,0)}else{if(cName.indexOf(" bbc2pop ")!=-1){Homepage.Location?this.href="/bbctwo/":_AddPopup(this,720,464,1,0)}else{if(cName.indexOf(" bbc3pop ")!=-1){Homepage.Location?this.href="/bbcthree/":_AddPopup(this,720,464,0,0)}else{if(cName.indexOf(" bbc4pop ")!=-1){Homepage.Location?this.href="/bbfour/":_AddPopup(this,750,535,0,0)}else{if(cName.indexOf(" mediaselpop ")!=-1){_AddPopup(this,766,550,0,0)}else{if(cName.indexOf(" musicpop ")!=-1){Homepage.Location?this.href="/music/":_AddPopup(this,409,269,0,0)}}}}}}}}}}})}function _Overlays(){bind("#hpReset","click",function(){if(!$("#hpPopup_Reset").length){resetPopup=glow.dom.create('<div class="hpPopup" id="hpPopup_Reset"><h2 class="hd">Are you sure?</h2><p>When you reset your homepage it goes back to its original settings and any changes you\'ve made will be lost</p></div>').appendTo($(document.body))}this.resetDialog=this.resetDialog||new utils.widgets.Dialog("#hpPopup_Reset",{width:"320px",theme:"dark",modal:true,anim:"fade"});bind(this.resetDialog,"confirm",function(){window.location=$("#hpReset").attr("href")},this);this.resetDialog.show();return false});var customiseLink=glow.dom.create('<a class="question" href="?help"><span class="hide">Further information</span></a>').appendTo($("#editLink > span "));if(glow.env.opera&&glow.env.opera<9){customiseLink.parent().css("float","right")}bind(customiseLink,"click",function(e){e.stopPropagation();if(!$("#hpTooltip_Customise").length){glow.dom.create("<div id=\"hpTooltip_Customise\"><h2 class=\"hd\">Add more to this page</h2><p>Add your favourite BBC content and remove topics that don't interest you. Click here to choose anything from 'Entertainment' to 'History'.</p><p>You can move sections around the page - and open and close them - so that everything's arranged just how you like it. And look out for new topics coming soon...</p></div>").appendTo($("#hpOptionsBar a.question"))}this.customiseTip=this.customiseTip||new glow.widgets.InfoPanel("#hpTooltip_Customise",{context:"#hpOptionsBar a.question",pointerPosition:"l",offsetInContext:{x:"150%",y:"50%"},width:"650px",hideFlash:false});this.customiseTip.container.addClass("home-panel");if(this.customiseTip.isShown){this.customiseTip.hide()}else{for(var j in Homepage.Tooltips){if(Homepage.Tooltips[j].isShown){Homepage.Tooltips[j].hide()}}this.customiseTip.setPosition().show()}return false},Homepage.Tooltips);var blogLink=glow.dom.create('<a class="question dy" href="?help"><span><span class="hide">Further information</span></span></a>').appendTo($("#e h2"));bind(blogLink,"click",function(){if(!$("#hpTooltip_Blog").length){glow.dom.create('<div id="hpTooltip_Blog"><h2 class="hd">Blog</h2><p>A blog is an online journal: a collection of personal thoughts, experiences and links to other websites.</p><p>The BBC publishes a variety of blogs, written by anyone from DJs to news editors.</p><p>Use this section to see the latest updates from a range of popular BBC blogs directly on the homepage<p></div>').appendTo($("#e h2 a.question"))}this.blogTip=this.blogTip||new glow.widgets.InfoPanel("#hpTooltip_Blog",{context:"#e h2 a.question",pointerPosition:"t",offsetInContext:{x:"100%",y:"100%"},width:"306px",hideFlash:false});this.blogTip.isShown?this.blogTip.hide():this.blogTip.show();return false},Homepage.Tooltips);var defaultLayout=Homepage.audience=="d"?"+acv+ba+neaj+hj+oab*+c1+g1ab+mc2+rad*+da+f1a7b7c7d7+i+kca+la":"+ac+p+f1-i*+b+v+g1*+naij5+c1";var currentLayout=utils.cookie.get("hp");if(currentLayout==defaultLayout||currentLayout==""){$("p.remove").each(function(i){bind(this,"click",function(){if(!$("#hpPopup_Remove").length){removePopup=glow.dom.create('<div class="hpPopup" id="hpPopup_Remove"></div>').appendTo($(document.body))}removePopup.html('<h2 class="hd remove">Are you sure?</h2><p>You are about to '+$(this).get("span.hide").html().toLowerCase()+' from this page.</p><br /><p> You can add it again later by clicking on the \'Add more to this page\' button.</p><img src="/home/release-34-2/img/reset_dialog.png" class="resetDialog_img" />');this.removeDialog=new utils.widgets.Dialog("#hpPopup_Remove",{width:"730px",theme:"dark",modal:true,anim:"fade"});bind(this.removeDialog,"confirm",function(){window.location=$(this).get("a").attr("href")},this);this.removeDialog.show();return false})})}}function _iPhoneSetup(){var ua=navigator.userAgent.toLowerCase(),iphone=(/(iphone|ipod)/.test(ua));if(iphone){var iPhoneButton=glow.dom.create('<li><a href="#" id="iPhoneMove"><span>Move</span></a></li>');$("#setloc").parent().after(iPhoneButton);bind(iPhoneButton.get("a"),"click",function(){$(".hpSet").css("backgroundColor","#ccc");$(".hpSet *").css("visibility","hidden");$("div.utils").css("visibility","hidden");bind($("div.hpMod"),"touchstart",function(e){});bind($("div.hpMod"),"touchmove",function(e){if(e.touches.length==1){var touch=e.touches[0];var node=touch.target;node.style.position="absolute";node.style.left=touch.pageX+"px";node.style.top=touch.pageY+"px"}});return false})}}function _LonelyPlanet(){var lpSearchForm;if(lpSearchForm=$("#lpSearchForm")){lpSearchForm.attr("target","_blank")}}function _setLocation(){var locationPane=$("#local");if(!locationPane){return false}$("#hpOptionsBar").after(locationPane.css("display","none"));bind("#setloc","click",function(){$("#hpEditYourHomePage").css("display")=="none"?utils.slide.toggle(locationPane):utils.slide.up($("#hpEditYourHomePage"),function(){utils.slide.toggle(locationPane)});return false});bind("#sbox","focus",function(){if(this.value=="Enter UK Postcode or place name"){this.value="";$(this).css("color","#000")}});bind("#sbox","blur",function(){if(this.value==""){this.value="Enter UK Postcode or place name";$(this).css("color","#888")}});bind("#locreset","click",function(){utils.slide.toggle(locationPane);if(Homepage.Tooltips.multiResTip){Homepage.Tooltips.multiResTip.hide()}$("#reslist").remove()});bind("#local","submit",function(){var locationPanel='<div class="hpPopup" id="hpPopup_Location"><h2 class="hd">Location Change</h2><p>Do you really want to change your location to <strong>{location}</strong>? This will affect all localised modules on your page.</p></div>';var multiResPanel='<div id="multmes"><h2 class="hd">Multiple Locations</h2><p id="multref">Please refine your location by choosing a place name from the list.</p></div>';var result=new utils.Postcoder($("#local #sbox").val(),{onDisambiguation:function(data){$("#reslist").remove();data.attr("id","reslist");data.insertAfter($("#myloc"));if(!$("#multmes").length){glow.dom.create(multiResPanel).appendTo($(document.body))}Homepage.Tooltips.multiResTip=Homepage.Tooltips.multiResTip||new glow.widgets.InfoPanel("#multmes",{context:"#reslist",pointerPosition:"l",offsetInContext:{x:"105%",y:"50%"},width:"306px",zIndex:100});Homepage.Tooltips.multiResTip.setContext("#reslist").setPosition().show()},onZeroResults:function(data){$("#reslist").remove();data.attr("id","reslist");data.insertAfter($("#myloc"))},panel:locationPanel,panelOpts:{width:"320px",theme:"dark",modal:true,anim:"fade"}});return false})}r.ModuleSerialize=function(){var order=this.pageState.modules.serialized={};this.moduleSortable.containers.get("> .hpMod").each(function(){if(!order[this.parentNode.id]){order[this.parentNode.id]=[]}order[this.parentNode.id].push(this.id)});return order};r.init=function(){this.moduleSortable=_Sortables({el:"div.hpCol",helper:"hpSortHelper",handle:"h2",func:"ModuleSerialize",self:this});bind(this.pageState,"update",function(e){if(Homepage.acceptCookies&&!utils.cookie.get("hp").length){utils.cookie.assert()}var cookieStr="";if(this.colour){cookieStr+=this.colour}var columns=["hpColOne","hpColTwo","hpColThree"],j=0,clen=columns.length;var modSerialized=this.modules.serialized||Homepage.ModuleSerialize();var draggableCarousels=$("#blq-content .hpSort .carousel");for(;j<clen;j++){var curr=modSerialized[columns[j]]||[],k=0,mlen=curr.length;for(;k<mlen;k++){var mod=this.modules[curr[k]];cookieStr+=mod.open?"+":"-";cookieStr+=mod.val==3?curr[k]:curr[k]+mod.val;var subSerialized=mod.subfeeds.serialized||Homepage.mods[curr[k]].SubSerialize();var m=0;slen=subSerialized.length;for(;m<slen;m++){var currSubId=subSerialized[m];if(Homepage.mods[curr[k]]&&Homepage.mods[curr[k]].subs[currSubId]){var currSubMod=Homepage.mods[curr[k]].subs[currSubId].data[0];for(var i=0;i<draggableCarousels.length;i++){var draggableCarousel=$(draggableCarousels[i]);var draggableCarouselParent=draggableCarousel.parent()[0];if(draggableCarouselParent==currSubMod&&draggableCarousel.hasClass(currSubId)){if((m!=slen-1)){Homepage.mods[curr[k]].el.removeClass("hpCo")}else{if(!Homepage.mods[curr[k]].el.hasClass("hpCo")){Homepage.mods[curr[k]].el.addClass("hpCo")}}}}}if(mod.subfeeds[currSubId]){cookieStr+=mod.subfeeds[currSubId].val==3?currSubId:currSubId+mod.subfeeds[currSubId].val;if(curr[k]=="f"&&mod.subfeeds[currSubId].val==3){cookieStr+=3}}else{cookieStr+=currSubId}}}if(j<clen-1){cookieStr+="*"}}if(Homepage.acceptCookies&&Homepage.OriginalCookie!=cookieStr){utils.cookie.set("hp",cookieStr,{domain:"bbc.co.uk",expires:365})}});bind(utils.cookie,"fail",function(e){Homepage.acceptCookies=false});for(var mod in this.pageState.modules){var name=this.moduleRef[mod]?this.moduleRef[mod]:"Module";this.mods[mod]=new this[name](mod)}_setLocation();_Customise();_FeatureBox();_ColourSelection();_Popups();_Overlays();_LonelyPlanet();_MakeHomepage();if(this.pageState.changed){glow.events.fire(Homepage.pageState,"update")}};r.AddEMP=function(dimensions,location,playlist,config){var emp=new bbc.Emp();emp.setWidth(dimensions.x);emp.setHeight(dimensions.y);emp.setDomId(location);emp.setPlaylist(playlist);if(config){emp.setConfig(config)}emp.set("config_settings_skin","black");emp.set("config_settings_autoPlay",true);emp.write()};r.Module=function(el){if(!$("#"+el).length){return}this.el=$("#blq-content #"+el);this.state=Homepage.pageState.modules[el];this.opts={id:el,utils:this.el.get("div.utils"),set:this.el.get("div.hpSet"),height:this.el.get("div.hpSet").height(),sort:this.el.get("div.hpSort")};this.subs={};var sub=this.state.subfeeds;for(var j in sub){if(this.el.get("."+j).length){var data=this.el.get("."+j).parent();while(!data.hasClass("hpData")){data=data.parent()}var options={id:j,state:this.state.subfeeds[j]};if(Homepage.ImgList[this.opts.id]){options.images=Homepage.ImgList[this.opts.id]}this.subs[j]=new Homepage.Subfeed(data,options);if(Homepage.autoUpdate[this.opts.id]&&Homepage.autoUpdate[this.opts.id][j]){this.subs[j].refreshInterval=new Homepage.Subfeed.AutoUpdate(this.opts.id,j)}}}if(this.opts.sort.length&&this.opts.sort.children().length){this.subSortable=_Sortables({el:this.opts.sort,helper:"hpSortHelperMini",handle:"h3",container:this.opts.sort,func:"SubSerialize",self:this})}this.Collapsable();bind(this.opts.utils.get("p.edit a"),"click",function(){var hp_bug=new Image(1,1);hp_bug.src="/go/homepage/"+Homepage.audience+"/int/cust/edit/"+this.opts.id+"/t/-/home/release-34-2/img/custtiny.gif";this.EditBox();return false},this);bind(this.el.get("h2"),"mouseover",function(){var self=this;this.Timer=setTimeout(function(){self.Highlighter(true)},800)},this);bind(this.el.get("h2"),"mouseout",function(){clearTimeout(this.Timer);this.Highlighter(false)},this);bind(this.el.get("h2"),"mousedown",function(){clearTimeout(this.Timer);if(!this.el.hasClass("hoverState")){this.Highlighter(true)}},this);bind(this.el.get("h2"),"mouseup",function(){clearTimeout(this.Timer);this.Highlighter(false)},this);if(this.opts.set.get("div.visionCarousel").length){new Homepage.Subfeed.VisionCarousel(this)}if(this.opts.set.get("div.carousel").length){this.carousel=new Homepage.Subfeed.Carousel(this)}if(this.opts.set.get("blockquote").length){this.quote=new Homepage.Subfeed.Quotes(this)}var ua=navigator.userAgent.toLowerCase(),iphone=(/(iphone|ipod)/.test(ua));if(iphone){}};r.Module.prototype={Collapsable:function(){var collapse=glow.dom.create('<p class="collapse"><a href="#" id="collapse_module_'+this.el.attr("id")+'"><span class="hide">Close the '+this.el.get("h2 a").text()+" box</span></a></p>").appendTo(this.opts.utils);bind(collapse.get("a"),"click",function(){this._collapseToggle();$(this.el).get("p.collapse a")[0].parentNode.focus();return false},this);bind(collapse.get("a"),"mouseup",function(){this.blur()});if(!this.state.open){this.el.addClass("hpCollapsed");this.opts.set.addClass("blocked")}},iPhoneButtons:function(){var move=glow.dom.create('<p class="move"><a href="#">Move <span class="hide">the '+this.el.get("h2 a").text()+" box</span></a></p>").appendTo(this.opts.utils);bind(move.get("a"),"click",function(){var mod=this;$(".dragMini").removeClass("dragMini");$(".iPhoneShow").removeClass("iPhoneShow");$("div.hpMod").filter(function(){return !$(this).eq(mod.el)}).after('<div class="dropHelper"><p><a href="#">Drop the '+mod.el.get("h2 a").text()+" box here</a></p></div>");$(".hpCol").prepend('<div class="dropHelper"><p><a href="#">Drop the '+mod.el.get("h2 a").text()+" box here</a></p></div>");this.el.addClass("dragMini");$(".dropHelper").each(function(){bind(this,"click",function(){mod.el.remove();mod.el.insertAfter(this).addClass("iPhoneShow");$(".dropHelper").remove();mod.el.removeClass("dragMini");delete Homepage.pageState.modules.serialized;glow.events.fire(Homepage.pageState,"update");return false})})},this)},_collapseToggle:function(){this.state.open=!this.state.open;var data={action:this.state.open?"Close":"Open",boxName:this.el.get("h2").text()};var template='<span class="hide">{action} the {boxName} box</span>';utils.slide.toggle(this.el.get(".hpSet"));this.state.open?null:this.opts.set.get("div.options").css("display","none");this.el.toggleClass("hpCollapsed");this.el.get("p.collapse a").html(glow.lang.interpolate(template,data));glow.events.fire(Homepage.pageState,"update")},_setCheckboxes:function(){var mod=this,checkboxes=mod.opts.set.get("input").filter(function(){return this.type=="checkbox"});checkboxes.each(function(){if(mod.state.subfeeds[this.value]||mod.state.subfeeds[$(this).parent()[0].className]){$(this).attr("checked","checked")}else{$(this).removeAttr("checked")}})},_feedError:function(contextEl){if(!Homepage.Tooltips.feedErrorTip){glow.dom.create('<div id="hpTooltip_Error"><h2 class="hd">Loading Error</h2><p>Sorry, unable to load data, please try again later.<p></div>').appendTo($(document.body));Homepage.Tooltips.feedErrorTip=new glow.widgets.InfoPanel("#hpTooltip_Error",{context:contextEl,pointerPosition:"t",offsetInContext:{x:"100%",y:"100%"},width:"306px"}).show()}else{Homepage.Tooltips.feedErrorTip.setContext(contextEl).setPosition().show()}},EditBox:function(){var mod=this,path=(Homepage.audience=="i")?"int/":"";glow.net.get("/home/ssi/"+path+"edit/"+mod.opts.id+".sssi",{load:function(response){if(!mod.state.open){mod.opts.set.prepend(response.text());mod._collapseToggle()}else{mod.opts.set.prepend(response.text());mod.opts.set.get("div.options").css("display","none");utils.slide.toggle(mod.opts.set.get("div.options"))}mod._setCheckboxes();bind(mod.opts.set.get("div.options form"),"submit",function(){mod.EditBoxSubmit();return false},mod);bind(mod.opts.set.get("div.options input.cancel"),"click",function(){mod.EditBox()});mod.EditBox=function(){if(!mod.state.open){this._collapseToggle()}utils.slide.toggle(mod.opts.set.get("div.options"));mod._setCheckboxes()}},error:function(response){mod._feedError(mod.opts.utils.get("p.edit a"))},useCache:false,async:false});return this.EditBox},EditBoxSubmit:function(){var mod=this,checkboxes=mod.opts.set.get("input").filter(function(){return this.type=="checkbox"});checkboxes.each(function(){if(this.checked&&!mod.state.subfeeds[this.value]){mod.AddSubfeed(this)}else{if(mod.state.subfeeds[this.value]&&!this.checked){mod.RemoveSubfeed(this)}}});delete mod.state.subfeeds.serialized;glow.events.fire(Homepage.pageState,"update");mod.EditBox()},AddSubfeed:function(sub){var mod=this,subId=sub.value,path=(Homepage.audience=="i")?"int/":"",subVal=sub.subVal||3;glow.net.get("/home/ssi/"+path+mod.opts.id+"/"+mod.opts.id+subId+".sssi",{load:function(response){var box=mod.opts.sort.length?mod.opts.sort:mod.opts.set;var res=glow.dom.create(response.text());if(res){if(res.get("script").length){eval(res.get("script").html())}}box.append(response.text());mod.state.subfeeds[subId]={val:subVal};var data=mod.opts.set.get(".hpData ."+subId).parent();while(!data.hasClass("hpData")&&data.length!=0){data=data.parent()}var options={id:subId,state:mod.state.subfeeds[subId]};if(Homepage.ImgList[mod.opts.id]){options.images=Homepage.ImgList[mod.opts.id]}mod.subs[subId]=new Homepage.Subfeed(data,options);if(data.get("blockquote").length){mod.quote=new Homepage.Subfeed.Quotes(mod)}if(Homepage.autoUpdate[mod.opts.id]&&Homepage.autoUpdate[mod.opts.id][subId]){mod.subs[subId].refreshInterval=new Homepage.Subfeed.AutoUpdate(mod.opts.id,subId)}if(mod.subSortable){mod.subSortable.addItems(data)}else{if(mod.opts.sort.children().length==1){mod.subSortable=_Sortables({el:mod.opts.sort,helper:"hpSortHelperMini",handle:"h3",container:mod.opts.sort,func:"SubSerialize",self:mod})}}mod.el.removeClass("hpCo")},error:function(response){mod._feedError(mod.opts.utils.get("p.edit a"))},useCache:true,async:false})},RemoveSubfeed:function(sub){var mod=this,subId=sub.value;mod.opts.set.get(".hpData ."+subId).parent().remove();if(mod.state.subfeeds[subId].refreshInterval){clearInterval(mod.state.subfeeds[subId].refreshInterval)}delete mod.state.subfeeds[subId];if(mod.subSortable){mod.SubSerialize()}if(mod.state.subfeeds.serialized&&!mod.state.subfeeds.serialized.length&&!mod.el.hasClass("hpNoCo")){mod.el.addClass("hpCo")}},Highlighter:function(highlight){clearTimeout(this.Timer);if(highlight){this.el.addClass("hoverState").prepend('<div class="hoverCorners top"></div><div class="hoverCorners bottom"></div>')}else{this.el.removeClass("hoverState");this.el.get("div.hoverCorners").remove()}},SubSerialize:function(){var order=this.state.subfeeds.serialized=[],subs=this.subs;if(this.subSortable){this.subSortable.containers.get("> *").each(function(){var current=$(this);for(var j in subs){if(subs[j].data&&(current.eq(subs[j].data).length||subs[j].data.isWithin(current))){order.push(j)}}})}else{for(var j in subs){order.push(j)}}return order}};r.Tv=function(el){r.Module.apply(this,arguments);this.TabControls()};glow.lang.extend(r.Tv,r.Module);r.Tv.prototype.TabControls=function(){var tabs=this.opts.set.get("ol > li"),self=this;if(this.state.val>1&&tabs[this.state.val-1]){$(tabs[0]).parent().get("li.focus").removeClass("focus").get("h4.dy").removeClass("dy");$(tabs[this.state.val-1]).addClass("focus").get("> h4").addClass("dy")}tabs.each(function(){bind(this,"click",function(e){var tab=$(e.attachedTo);if(tab.hasClass("focus")){return true}tab.parent().get("li.focus").removeClass("focus").get("h4.dy").removeClass("dy");tab.addClass("focus").get("> h4").addClass("dy");this.state.val=parseInt(tab.attr("class").match(/[0-9]+/)[0]);glow.events.fire(Homepage.pageState,"update");return false},self)})};r.Radio=function(el){r.Tv.apply(this,arguments);this.TabControls()};glow.lang.extend(r.Radio,r.Tv);r.Radio.prototype.EditBoxSubmit=function(){var mod=this,checkboxes=mod.opts.set.get("input"),checkedCounter=0,radioList=mod.opts.set.get("div.hpData ol");checkboxes.each(function(){var check=this,subId=$(check).parent()[0].className,item=$("#"+this.value);if(this.checked){checkedCounter++}if(this.checked&&!item.length){var radioFile=this.value.replace(/x/,"");glow.net.get("/feedengine/homepage/won/"+radioFile+".ssi",{load:function(response){radioList.append('<li class="l'+(radioList.children().length+1)+" "+subId+'" id="x'+radioFile+'">'+response.text()+"</li>");mod.state.subfeeds[subId]={val:3};delete mod.state.subfeeds.c},error:function(response){mod._feedError(mod.opts.utils.get("p.edit a"))},useCache:true,async:false})}else{if(item.length&&!this.checked){if(item.hasClass("focus")){radioList.get("li.l1").addClass("focus").get("> h4").addClass("dy")}if(item.hasClass("l12")){radioList.get("li.l13").removeClass("l13").addClass("l12")}item.remove();delete mod.state.subfeeds[subId]}}});switch(checkedCounter){case 0:mod.state.subfeeds.c={val:3};case 1:radioList.removeClass("two");break;case 2:radioList.addClass("two");break;default:break}delete mod.state.subfeeds.serialized;glow.events.fire(Homepage.pageState,"update");mod.EditBox()};r.Radio.prototype.SubSerialize=function(){var order=[],tabA=this.el.get("li.l12"),tabB=this.el.get("li.l13");if(tabA.length){tabA.hasClass("a")?order.push("a"):order.push("b");if(tabB.length){tabB.hasClass("a")?order.push("a"):order.push("b")}}return order};r.Music=function(el){r.Module.apply(this,arguments);this.TabControls()};glow.lang.extend(r.Music,r.Module);r.Music.prototype.TabControls=function(){var mod=this;for(var j in mod.subs){bind(mod.subs[j].data.get("p.tabLink a"),"click",function(){var add=$(this).attr("href"),remove=$(this).parent().prev().attr("class"),length=mod.subs[remove].state.val;add=add.charAt(add.length-1);mod.AddSubfeed({value:add,replace:remove,subVal:length});mod.RemoveSubfeed({value:remove});delete mod.state.subfeeds.serialized;glow.events.fire(Homepage.pageState,"update");return false})}};r.Music.prototype.EditBoxSubmit=function(){var mod=this,checkboxes=mod.opts.set.get("input").filter(function(){return this.type=="checkbox"});checkboxes.each(function(){var altSubId=$(this).parent().attr("class");if(mod.state.subfeeds[altSubId]&&!this.checked){mod.RemoveSubfeed({value:altSubId})}});r.Module.prototype.EditBoxSubmit.apply(this,arguments)};r.Music.prototype.AddSubfeed=function(sub){var pair=this.opts.set.get("div.options input").filter(function(){return this.type=="checkbox"&&this.value==sub.value});if((!sub.replace)&&pair.length&&this.state.subfeeds[pair.parent().attr("class")]){return false}r.Module.prototype.AddSubfeed.apply(this,arguments);var mod=this,subfeed=mod.subs[sub.value].data,replace=sub.replace||"";if(replace.length){subfeed.css("display","none")}bind(subfeed.get("p.tabLink a"),"click",function(){var add=$(this).attr("href"),remove=$(this).parent().prev().attr("class"),length=mod.subs[remove].state.val;add=add.charAt(add.length-1);mod.AddSubfeed({value:add,replace:remove,subVal:length});mod.RemoveSubfeed({value:remove});delete mod.state.subfeeds.serialized;glow.events.fire(Homepage.pageState,"update");return false});if(replace.length){subfeed.remove().insertAfter(mod.subs[replace].data).css("display","block")}};r.Olympics=function(el){r.Module.apply(this,arguments);if(this.subs.a){var data=this.el.get(".a").parent();while(!data.hasClass("hpData")){data=data.parent()}var options={id:"a",state:this.state.subfeeds.a};this.subs.a=new Homepage.Subfeed.MedalTable(data,options)}};glow.lang.extend(r.Olympics,r.Module);r.Olympics.prototype.AddSubfeed=function(sub){r.Module.prototype.AddSubfeed.apply(this,arguments);if(sub.value=="a"){var data=this.el.get(".a").parent();while(!data.hasClass("hpData")){data=data.parent()}var options={id:"a",state:this.state.subfeeds.a};this.subs.a=new Homepage.Subfeed.MedalTable(data,options)}};r.Wimbledon=function(el){r.Module.apply(this,arguments)};glow.lang.extend(r.Wimbledon,r.Module);r.Wimbledon.prototype.AddSubfeed=function(sub){var mod=this,subId=sub.value;var subFile=$(sub).isWithin($("ul.a"))?"a":$(sub).isWithin($("ul.b"))?"b":subId;mod.state.subfeeds[subId]={val:3};mod.state.subfeeds.serialized=mod.state.subfeeds.serialized||mod.SubSerialize();mod.state.subfeeds.serialized.push(subId);glow.events.fire(Homepage.pageState,"update");var subReq=mod.opts.set.get("div.hpData ."+subFile).length?subId:subFile;var path=(Homepage.audience=="i")?"int/":"";glow.net.get("/home/ssi/"+path+mod.opts.id+"/"+mod.opts.id+subReq+".sssi",{load:function(response){var box=mod.opts.set.get("div.hpData ."+subFile).length?mod.opts.set.get("div.hpData ."+subFile):mod.opts.sort.length?mod.opts.sort:mod.opts.set;box.append(response.text());var data=mod.el.get("."+subId).parent();while(data.length&&!(data.hasClass("hpData")&&data.hasClass("hpParent"))){data=data.parent()}var options={id:subId,state:mod.state.subfeeds[subId]};if(Homepage.ImgList[mod.opts.id]){options.images=Homepage.ImgList[mod.opts.id]}mod.subs[subId]=new Homepage.Subfeed(data,options);if(Homepage.autoUpdate[mod.opts.id]&&Homepage.autoUpdate[mod.opts.id][subFile]){mod.subs[subFile]=mod.subs[subFile]||{refreshInterval:new Homepage.Subfeed.AutoUpdate(mod.opts.id,subFile)}}if(mod.subSortable&&(subFile==subReq)){mod.subSortable.addItems(data)}if(mod.opts.sort.children().length==1){mod.subSortable=_Sortables({el:mod.opts.sort,helper:"hpSortHelperMini",handle:"h3",container:mod.opts.sort,func:"SubSerialize",self:mod})}mod.el.removeClass("hpCo")},error:function(response){mod._feedError(mod.opts.utils.get("p.edit a"))},useCache:true,async:false});return false};r.Wimbledon.prototype.RemoveSubfeed=function(sub){var mod=this;r.Module.prototype.RemoveSubfeed.apply(this,arguments);var subFile=$(sub).isWithin($("ul.a"))?"a":$(sub).isWithin($("ul.b"))?"b":"";if(subFile.length){var inputs=mod.opts.set.get("div.options ."+subFile+" input"),uncheckedInputs=inputs.filter(function(){return !$(this).val()});if(inputs.length==uncheckedInputs.length){mod.opts.set.get("div.hpData ."+subFile).parent().remove()}}};r.Democracy=function(el){r.Module.apply(this,arguments)};glow.lang.extend(r.Democracy,r.Module);r.Democracy.prototype.EditBoxSubmit=function(){var mod=this;if($("#demlocation #demloc").val()){var locationPanel='<div class="hpPopup" id="hpPopup_Location"><h2 class="hd">Location Change</h2><p>Do you really want to change your location to <strong>{location}</strong>? This will affect all localised modules on your page.</p></div>';var result=new utils.Postcoder($("#demlocation #demloc").val(),{onDisambiguation:function(data){$("#demmultresults").remove();$("#demprompt").remove();data.attr("id","demmultresults");data.insertAfter($("#demloc"));if(data[0].nodeName!="P"){glow.dom.create('<p id="demprompt">More than one location found:</p>').insertAfter($("#demloc"))}},panel:locationPanel,panelOpts:{width:"320px",theme:"dark",modal:true,anim:"fade"}});mod.EditBox()}r.Module.prototype.EditBoxSubmit.apply(this);return false};r.Weather=function(el){r.Module.apply(this,arguments);this._Update=function(){var mod=this,file=(Homepage.audience=="d")?"/home/ssi/c/ca.sssi":"/home/ssi/int/c/ca.sssi";glow.net.get(file,{onLoad:function(response){mod.opts.set.get("div.main").html(response.text())},onError:function(response){mod._feedError(mod.opts.utils.get("p.edit a"))},useCache:false})}};glow.lang.extend(r.Weather,r.Module);r.Weather.prototype.EditBoxSubmit=function(){var mod=this,units=$("#weatherloc input").filter(function(){return this.name=="cfToggle"&&this.checked});this.state.val=parseInt(units.val())==0?0:1;glow.events.fire(Homepage.pageState,"update");if($("#weatherloc #loc").length&&$("#weatherloc #loc").val()){var locationPanel='<div class="hpPopup" id="hpPopup_Location"><h2 class="hd">Location Change</h2><p>Do you really want to change your location to <strong>{location}</strong>? This will affect all localised modules on your page.</p></div>';var result=new utils.Postcoder($("#weatherloc #loc").val(),{onDisambiguation:function(data){$("#weamultresults").remove();$("#weaprompt").remove();data.attr("id","weamultresults");data.insertAfter($("#weatherloc"));if(data[0].nodeName!="P"){glow.dom.create('<p id="weaprompt">More than one location found:</p>').insertAfter($("#weatherloc"))}},onZeroResults:function(data){$("#weamultresults").remove();$("#weaprompt").remove();data.attr("id","weamultresults");data.insertAfter($("#weatherloc"))},panel:locationPanel,panelOpts:{width:"320px",theme:"dark",modal:true,anim:"fade"}})}else{mod.EditBox()}this._Update();return false};r.LonelyPlanet=function(el){r.Module.apply(this,arguments);if(this.state&&this.state.subfeeds){if(this.state.subfeeds.a){var data=this.el.get(".a").parent();if(data.length){while(!data.hasClass("hpData")){data=data.parent()}var options={id:"a",state:this.state.subfeeds.a};this.subs.a=new Homepage.Subfeed.LonelyPlanetGallery(data,options)}}}};glow.lang.extend(r.LonelyPlanet,r.Module);r.LonelyPlanet.prototype.AddSubfeed=function(sub){r.Module.prototype.AddSubfeed.apply(this,arguments);$("#blq-content #v a").each(function(){var el=$(this);if(this.rel=="external"&&!el.attr("target")){el.attr("target","_blank")}});switch(sub.value){case"a":var data=this.el.get(".a").parent();while(!data.hasClass("hpData")){data=data.parent()}var options={id:"a",state:this.state.subfeeds.a};this.subs.a=new Homepage.Subfeed.LonelyPlanetGallery(data,options);break;case"b":new Homepage.Subfeed.Carousel({opts:{id:"v",set:glow.dom.get("#v .editorsPicks")}});this.el.addClass("hpCo");break}};r.Subfeed=function(el,opts){this.data=el,this.id=opts.id,this.state=opts.state,this.images=opts.images||{};this.FeedControls()};r.Subfeed.prototype={FeedControls:function(){var img=this.images[this.id],allItems=this.data.get("."+this.id+" > li"),unblocked=allItems.slice(0,this.state.val);unblocked.each(function(i){if($(this).hasClass("blocked")&&img){$(this).get("a").prepend('<span class="ly"><img width="146" height="82" src="'+img[i-3].src+'" alt="'+img[i-3].alt+'"/></span>')}$(this).removeClass("blocked")});allItems.slice(this.state.val,allItems.length).addClass("blocked");if(allItems.length&&this.state.val>=allItems.length){this.data.get("a.add").css("opacity","0.4").removeAttr("href")}if(this.state.val==1||allItems.length==1){this.data.get("a.remove").css("opacity","0.4").removeAttr("href")}bind(this.data.get("a.add"),"click",function(){var blocked=this.data.get("."+this.id+" > .blocked");if(blocked.length){$(blocked[0]).removeClass("blocked");this.data.get("a.remove").css("opacity","1").attr("href","#");this.state.val++;if(this.images[this.id]&&!$(blocked[0]).get("a img").length){$(blocked[0]).get("a").prepend('<span class="ly"><img width="146" height="82" src="'+img[img.length-blocked.length].src+'" alt="'+img[img.length-blocked.length].alt+'"/></span>')}glow.events.fire(Homepage.pageState,"update")}if(blocked.length==1){this.data.get("a.add").css("opacity","0.4").removeAttr("href")}return false},this);bind(this.data.get("a.add"),"mouseup",function(){this.blur()});bind(this.data.get("a.remove"),"click",function(){var list=this.data.get("."+this.id),items=list.children(),blocked=list.get("> .blocked");if(blocked.length<items.length-1){this.data.get("a.add").css("opacity","1").attr("href","#");$(items[items.length-blocked.length-1]).addClass("blocked");this.state.val--;glow.events.fire(Homepage.pageState,"update")}if(blocked.length==items.length-2){this.data.get("a.remove").css("opacity","0.4").removeAttr("href")}return false},this);bind(this.data.get("a.remove"),"mouseup",function(){this.blur()})}};r.Subfeed.MedalTable=function(el,opts){r.Subfeed.apply(this,arguments)};r.Subfeed.MedalTable.prototype.FeedControls=function(){var allItems=this.data.get("."+this.id+" tr"),unblocked=allItems.slice(1,this.state.val+1).removeClass("blocked"),gb=this.data.get("tr.GBR");allItems.slice(this.state.val+1,allItems.length).addClass("blocked");if(gb.hasClass("blocked")&&Homepage.audience=="d"){gb.addClass("extra");if(gb.eq(allItems.item(allItems.length-1))){gb.removeClass("blocked")}}$(allItems.item(this.state.val)).addClass("last");if(allItems.length&&this.state.val>=allItems.length){this.data.get("a.add").css("opacity","0.4").removeAttr("href")}if(this.state.val==1||allItems.length==1){this.data.get("a.remove").css("opacity","0.4").removeAttr("href")}bind(this.data.get("a.add"),"click",function(){var blocked=this.data.get("tr.blocked");if(blocked.length){blockedEl=$(blocked[0]).prev().hasClass("extra")?$(blocked[0]).prev():$(blocked[0]);$(".olympicMedals tr.last").removeClass("last");blockedEl.removeClass("blocked").removeClass("extra").addClass("last");this.data.get("a.remove").css("opacity","1").attr("href","#");this.state.val++;glow.events.fire(Homepage.pageState,"update")}if(blocked.length<2){this.data.get("a.add").css("opacity","0.4").removeAttr("href")}return false},this);bind(this.data.get("a.add"),"mouseup",function(){this.blur()});bind(this.data.get("a.remove"),"click",function(){var all=this.data.get("tr"),blocked=this.data.get("tr.blocked"),rem=$(all[all.length-blocked.length-1]),remEl=rem.prev().hasClass("last")?rem.prev():rem;if(blocked.length<all.length-2&&this.state.val>1){remEl.addClass("blocked").removeClass("last").prev().addClass("last");this.data.get("a.add").css("opacity","1").attr("href","#");this.state.val--;glow.events.fire(Homepage.pageState,"update");if(remEl.is(".GBR")&&Homepage.audience=="d"){remEl.addClass("extra")}}if(this.state.val==1){this.data.get("a.remove").css("opacity","0.4").removeAttr("href")}return false},this);bind(this.data.get("a.remove"),"mouseup",function(){this.blur()})};r.Subfeed.LonelyPlanetGallery=function(el,opts){r.Subfeed.apply(this,arguments)};r.Subfeed.LonelyPlanetGallery.prototype.FeedControls=function(){bind(this.data.get("a.add"),"click",function(a){var list=this.data.get("."+this.id),items=list.get("> li"),blocked=list.get("> .blocked");var nextImgLi=null;var i=0;for(;i<items.length;i++){var item=items[i];if(item.className&&item.className.indexOf("blocked")!=-1){nextImgLi=glow.dom.get(item);break}}if(nextImgLi&&((i+1)%3==0)){nextImgLi.removeClass("blocked");this.data.get("a.remove").css("opacity","1").attr("href","#");this.state.val++;glow.events.fire(Homepage.pageState,"update")}if(blocked.length==1){this.data.get("a.add").css("opacity","0.4").removeAttr("href")}return false},this);bind(this.data.get("a.remove"),"click",function(){var list=this.data.get("."+this.id),items=list.get("> li"),blocked=list.get("> .blocked");var nextImgLi=null;var i=0;for(;i<items.length;i++){var item=items[i];if(item.className&&item.className.indexOf("blocked")!=-1){nextImgLi=glow.dom.get(items[i-1]);break}}if(nextImgLi&&((i+1)%3==0)){nextImgLi.addClass("blocked");this.data.get("a.add").css("opacity","1").attr("href","#");this.state.val--;glow.events.fire(Homepage.pageState,"update")}if(blocked.length==items.length-2){this.data.get("a.remove").css("opacity","0.4").removeAttr("href")}return false},this)};r.Subfeed.Carousel=function(mod){var imageObj=Homepage.Carousel[mod.opts.id],carousel=this.el=mod.opts.set.get("div.carousel");this.el.get("li.one").addClass("dy");this.el.get("li a").each(function(index){if(index){$(this).prepend('<img src="'+imageObj[index-1].src+'" height="110" width="146" alt="'+imageObj[index-1].alt+'" />')}bind(this,"mouseover",function(e){carousel.get("li.dy").removeClass("dy");$(e.attachedTo).parent().parent().addClass("dy")},carousel)})};r.Subfeed.VisionCarousel=function(mod){var block=false;if(mod.opts.set.is(".blocked")){mod.opts.set.removeClass("blocked");mod.opts.set.css("visbility","hidden");block=true}mod.visionCarousel=new Carousel("#"+mod.opts.id+" .carouselHolder",{loop:true,itemFilter:"li",visibleItems:1,anim:new glow.anim.Animation(0.6,{tween:glow.tweens.easeIn(4)})});if(block){mod.opts.set.addClass("blocked");mod.opts.set.css("visbility","visible")}var dotsHolder=glow.dom.create('<ol class="carouselDots dx"></ol>'),imageObj=Homepage.Carousel[mod.opts.id];this.el=mod.opts.set.get("div.visionCarousel");this.el.get("li span.img").each(function(index){if(index>2){$(this).prepend('<img src="'+imageObj[index-3].src+'" height="115" width="206" alt="'+imageObj[index-3].alt+'" />')}var current=parseInt(index+1),dot=glow.dom.create('<a title="Go to item '+current+'" href="#'+mod.opts.id+current+'"><span>Go to item '+current+"</span></a>");bind(dot,"click",function(){mod.visionCarousel.moveTo(index,0);mod.opts.set.get(".carouselDots li.ly").removeClass("ly");$(mod.opts.set.get(".carouselDots li").item(index)).addClass("ly");return false});var listItem=glow.dom.create("<li></li>").append(dot);if(!index){listItem.addClass("ly")}dotsHolder.append(listItem)});var next=glow.dom.create('<a title="next" href="#" class="carouselNext"><span>next</span></a>'),previous=glow.dom.create('<a title="previous" href="#" class="carouselPrevious"><span>previous</span></a>');bind(next,"click",function(){mod.visionCarousel.move(-1);mod.opts.set.get(".carouselDots li.ly").removeClass("ly");$(mod.opts.set.get(".carouselDots li").item(mod.visionCarousel.getNextVisibleItemsIndexes()[0])).addClass("ly");return false});bind(previous,"click",function(){mod.visionCarousel.move(1);mod.opts.set.get(".carouselDots li.ly").removeClass("ly");$(mod.opts.set.get(".carouselDots li").item(mod.visionCarousel.getPrevVisibleItemsIndexes()[0])).addClass("ly");return false});mod.opts.set.get("div.controls").append(previous).append(dotsHolder).append(next)};r.Subfeed.Quotes=function(mod){this.el=mod.opts.set.get("blockquote");this.el.prepend('<span class="hpQuoteOpen"><span>&nbsp;</span><span>&nbsp;</span></span>').append('<span class="hpQuoteClose"><span>&nbsp;</span><span>&nbsp;</span></span>')};r.Subfeed.AutoUpdate=function(mod,subfeed){return window.setInterval(function(){var path=(Homepage.audience=="i")?"int/":"";glow.net.get("/home/ssi/"+path+mod+"/"+mod+subfeed+".sssi",{load:function(response){var res=glow.dom.create(response.text());$("#"+mod+" ."+subfeed).parent().html(res.html())},error:function(response){},useCache:false})},Homepage.autoUpdate[mod][subfeed])};r.State=function(){var pageState={};pageState.cookie=utils.cookie.get("hp");pageState.modules={};if(!/[+\-a-z0-9]*\*[+\-a-z0-9]*\*[+\-a-z0-9]*/.test(pageState.cookie)){pageState.cookie=Homepage.audience=="d"?"+acv+ba+neaj+hj+oab*+c1+g1ab+mc2+rad*+da+f1a7b7c7d7+i+kca+la":"+ac+p+f1-i*+b+v+g1*+naij5+c1"}var cookieVal=pageState.cookie.replace(/\*/g,""),mods=cookieVal.match(/[+\-][a-z]{1}/g);if(mods){pageState.colour=cookieVal.substring(0,cookieVal.indexOf(mods[0]))}else{pageState.colour=cookieVal}if(mods){var i=0,len=mods.length;for(;i<len;i++){var id=mods[i].charAt(1)||"";var mod=pageState.modules[id]={};mod.open=mods[i].charAt(0)==="+"?true:false;var end=cookieVal.indexOf(mods[i+1])>0?cookieVal.indexOf(mods[i+1]):cookieVal.length;var subs=cookieVal.substring(cookieVal.indexOf(mods[i])+2,end);var split=subs.match(/[a-z][0-9]*/g)||[];pageState.modules[id].val=parseInt(subs.match(/[0-9]*/)[0])||3;pageState.modules[id].subfeeds={};var j=0,length=split.length;for(;j<length;j++){var subFeeds=pageState.modules[id].subfeeds[split[j].charAt(0)||""]={};var defVal=id=="f"?7:3;subFeeds.val=parseInt(split[j].charAt(1))||defVal;if(split[j].charAt(2)){subFeeds.val+=split[j].charAt(2)}}}pageState.changed=false;for(var y in Homepage.Cookie[Homepage.audience].Push){var z=0,zlen=Homepage.Cookie[Homepage.audience].Push[y].length;for(;z<zlen;z++){var subFeed=Homepage.Cookie[Homepage.audience].Push[y][z].charAt(0),subVal=Homepage.Cookie[Homepage.audience].Push[y][z].charAt(1)||3;if(pageState.modules[y]&&!pageState.modules[y].subfeeds[subFeed]){pageState.modules[y].subfeeds[subFeed]={val:subVal};pageState.changed=true}}}for(var x in Homepage.Cookie[Homepage.audience].Pull){if(pageState.modules[x]&&pageState.modules[x].subfeeds[Homepage.Cookie[Homepage.audience].Pull[x]]){delete pageState.modules[x].subfeeds[Homepage.Cookie[Homepage.audience].Pull[x]];pageState.changed=true}if(pageState.modules[x]&&Homepage.Cookie[Homepage.audience].Pull[x]=="all"){delete pageState.modules[x];pageState.changed=true}}}return pageState};r.VSGet=function(){builder=function(str,p1,p2,p3){var vs=p1+p2;for(var i=0;i<p3.length;i++){if(i){vs+="|"+p2}vs+=p3.charAt(i);while(p3.charAt(i+1)&&!isNaN(p3.charAt(i+1))){i++;vs+=p3.charAt(i)}}return vs};var vsCookie=utils.cookie.get("hp");vsCookie=vsCookie.replace(/([+-])([a-z]{1})([^+\-\*]*)/g,builder);vsCookie=vsCookie.replace(/([a-z0-9]{1})([+\-])/g,"$1|$2");return vsCookie};return r}();utils.slide=function(){var c={},d=glow.dom.get,e=glow.events.addListener;c.happening=[];function b(g){var f=utils.slide.happening,h=f.length,i=0;for(i=0;i<f.length;i++){if(f[i].list.eq(g.list)){f[i].anim.stop();f[i]=g;e(f[i].anim,"complete",function(){f.splice(i)});f[i].anim.start();return false}}f[h]=g;e(f[h].anim,"complete",function(){f.splice(h)});f[h].anim.start();return false}function a(h){var g=h[0].style.height,f=h.css("visibility","hidden").css("display","block").css("position","absolute").css("padding","0").css("height","auto")[0].offsetHeight;h.css("visibility","").css("position","").css("padding","").css("height",g);return f}c.up=function(f,i){if(f[0]){var h=d(f);var g=glow.anim.css(h,0.5,{height:{to:0}},{tween:glow.tweens.easeOut()});e(g,"start",function(){h.css("overflow","hidden")});e(g,"complete",function(){h.css("display","none");return i?i():false});return b({list:h,anim:g,dir:"up"})}};c.down=function(g,j){if(g[0]){var i=d(g),f=a(i);var h=glow.anim.css(i,0.5,{height:{to:f}},{tween:glow.tweens.easeOut()});e(h,"start",function(){i.css("height","0").css("overflow","hidden").css("display","block")});e(h,"complete",function(){i.css("height","auto");return j?j():false});return b({list:i,anim:h,dir:"down"})}};c.toggle=function(f,j){var g=d(f);for(var i=0;i<utils.slide.happening.length;i++){if(utils.slide.happening[i].list.eq(f)){var h=utils.slide.happening[i].dir;break}}return(h=="up"||g.css("display")=="none")?utils.slide.down(g,j):utils.slide.up(g,j)};return c}();glow.onDomReady(function(){Homepage.pageState=Homepage.State();var a=Homepage.pageState.cookie;if(Homepage.OriginalCookie!=a&&a.charAt(a.length-1)!="+"){utils.cookie.set("hp",a+"+",{domain:"bbc.co.uk",expires:365});window.location.reload(true)}else{if(a.charAt(a.length-1)=="+"){utils.cookie.set("hp",a.substring(0,a.length-1),{domain:"bbc.co.uk",expires:365})}}});glow.ready(function(){Homepage.init()});Homepage.moduleRef={c:"Weather",f:"Tv",g:"Radio",m:"Music",q:"Democracy",s:"Wimbledon",v:"LonelyPlanet"};Homepage.Cookie={};Homepage.Cookie.d={Push:{d:["a"],f:["a7","b7","c7","d7"],v:["a","b"]},Pull:{s:"all",t:"all",k:["a","b"],l:["a","b"],r:["a","d"],h:["h"],g:["c"]}};Homepage.Cookie.i={Push:{d:["a"]},Pull:{t:"all",k:["a","b"],b:["a"],r:["a","d"],h:["h"],g:["c"]}};utils.Postcoder=(function(){var e=glow.dom.get;var a={PST:"postcode",QRY:"result > name",LEA:"lea id",TVR:"bbctv id",WEA:"weather id",CCI:"county_council id",CON:"constituency id",CTY:"county id",DST:"district",EUR:"euro_region id",LAU:"local_authority id",LST:"listings id",NHS:"health_authority id",TWN:"post_town id",RAD:"radio id",WRD:"ward id",WIL:"wil id",MAT:"match_type"};function b(g){var f=new glow.dom.NodeList();switch(g.get("result").length){case 0:f=glow.dom.create("<p>No results found, please try again.</p>");break;case 1:if(g.get("wil").length>1){f=d.call(this,g,"wil")}break;default:f=d.call(this,g,"result")}return f}function d(i,g){var f=glow.dom.create("<ul></ul>");var h=this;i.get(g).each(function(){var j=e(this).get("name").text();if(g=="result"){j+=", "+e(this).get("hint").text()}var k=glow.dom.create('<li><a href="#">'+j+"</a></li>");glow.events.addListener(k,"click",function(){var l={};if(this.nodeName=="wil"){l={wil:e(this).get("id").text()};id=e(this).parent().get("id").text()}else{id=e(this).get("id").text()}utils.Postcoder.call(h,id,l);return false},this);f.append(k)});return f}function c(h,k){var h=h,k=k||{},g=k.wil||0,j=this;if(k.panel){this.panel=k.panel}if(k.panelOpts){this.panelOpts=k.panelOpts}var i=this.makeRequest(h);if(g){i.get("wil").each(function(){if(e(this).get("id").text()!=g){e(this).remove()}})}var f=b.call(this,i);if(k.onDisambiguation){glow.events.addListener(j,"disambiguation",k.onDisambiguation)}if(k.onZeroResults){glow.events.addListener(j,"zeroresults",k.onZeroResults)}if(k.onSuccess){glow.events.addListener(j,"success",k.onSuccess)}if(f.length&&f[0].nodeName!="P"){glow.events.fire(j,"disambiguation",f)}else{if(f.length&&f[0].nodeName=="P"){glow.events.fire(j,"zeroresults",f)}else{glow.events.fire(j,"success");if(this.panel&&this.panel.length){k.onConfirm=k.onConfirm||function(){j.buildCookie(i);window.location.reload(true)};var l={location:i.get("result > name").text()};panelNode=glow.dom.create(glow.lang.interpolate(this.panel,l));panelNode.appendTo(e(document.body));this.confirmation=new utils.widgets.Dialog(panelNode,this.panelOpts);glow.events.addListener(this.confirmation,"confirm",k.onConfirm);this.confirmation.show()}else{this.buildCookie(i)}}}}c.prototype={makeRequest:function(f){var h=new glow.dom.NodeList();var g="http://www.bbc.co.uk/cgi-perl/whereilive/query/place.pl?loc="+f+"&customer=postcoder";glow.net.get(g,{load:function(i){h=e(i.xml())},error:function(i){alert("error: "+i.statusText())},async:false});return h},buildCookie:function(h){var g="";for(var f in a){var i="";h.get(a[f]).each(function(j){if(j){i+="."}i+=e(this).text()});g+=f+i+":"}utils.cookie.set("BBCpostcoder",g,{domain:"bbc.co.uk",expires:365})}};return c}());utils.widgets={};utils.widgets.Dialog=(function(){var f=glow.dom,d=f.get,b=glow.events,c=glow.widgets,e=glow.lang;function a(k,j){j=j||{};if(j.template){var i=true}var h=this,g=d(k).append(f.create('<p class="ft"><a class="glow-dialog-cancel button" href="#"><span>Cancel</span></a><a class="glow-dialog-confirm button" href="#"><span>Confirm</span></a></p>'));j=e.apply({modal:false,theme:"dark"},j);b.addListener(g.get(".glow-dialog-cancel"),"click",function(){h.hide();return false});b.addListener(g.get(".glow-dialog-confirm"),"click",function(){b.fire(h,"confirm");h.hide();return false});c.Panel.call(this,k,j);if(!i){this.content.addClass("glow-dialog")}}e.extend(a,c.Panel);return a}());