/****** jquery/jquery-1.3.2.min.js ******/

/*
 * jQuery JavaScript Library v1.3.2
 * http://jquery.com/
 *
 * Copyright (c) 2009 John Resig
 * Dual licensed under the MIT and GPL licenses.
 * http://docs.jquery.com/License
 *
 * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
 * Revision: 6246
 */
(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
/*
 * Sizzle CSS Selector Engine - v0.9.3
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();

/****** /jquery/jquery.common.js ******/

/*
 * $Id: jquery.common.js 21491 2010-02-11 16:27:21Z esherbin $
 * Here go custom or open source functions that extend jquery, common to the site. Only light stuff should be put in here.
 */

jQuery.getScript = function(url, callbackFn, cache)
{
    jQuery.ajax({
        type: 'GET',
        url: url,
        success: callbackFn,
        dataType: 'script',
        cache: !!cache
    });
};

jQuery.preloadImages = function()
{
  for(var i = 0; i<arguments.length; i++)
  {
    jQuery("<img>").attr("src", arguments[i]);
  }
};

jQuery.empty = function(mixed_var) {
    // http://kevin.vanzonneveld.net
    // +   original by: Philippe Baumann
    // +      input by: Onno Marsman
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: LH
    // +   improved by: Onno Marsman
    // +   improved by: Francesco
    // *     example 1: empty(null);
    // *     returns 1: true
    // *     example 2: empty(undefined);
    // *     returns 2: true
    // *     example 3: empty([]);
    // *     returns 3: true
    // *     example 4: empty({});
    // *     returns 4: true
    
    var key;
    
    if (mixed_var === ""
        || mixed_var === 0
        || mixed_var === "0"
        || mixed_var === null
        || mixed_var === false
        || mixed_var === undefined
    ){
        return true;
    }
    if (typeof mixed_var == 'object') {
        for (key in mixed_var) {
            if (typeof mixed_var[key] !== 'function' ) {
              return false;
            }
        }
        return true;
    }
    return false;
}

jQuery.fn.extend({
  scrollTo : function(speed, easing) {
    return this.each(function() {
      var targetOffset = $(this).offset().top;
      $('html,body').animate({scrollTop: targetOffset}, speed, easing);
    });
  }
});

/* ===========================================================================
 *
 * JQuery URL Parser
 * Version 1.0
 * Parses URLs and provides easy access to information within them.
 *
 * Author: Mark Perkins
 * Author email: mark@allmarkedup.com
 *
 * For full documentation and more go to http://projects.allmarkedup.com/jquery_url_parser/
 *
 * ---------------------------------------------------------------------------
 *
 * CREDITS:
 *
 * Parser based on the Regex-based URI parser by Stephen Levithian.
 * For more information (including a detailed explaination of the differences
 * between the 'loose' and 'strict' pasing modes) visit http://blog.stevenlevithan.com/archives/parseuri
 *
 * ---------------------------------------------------------------------------
 *
 * LICENCE:
 *
 * Released under a MIT Licence. See licence.txt that should have been supplied with this file,
 * or visit http://projects.allmarkedup.com/jquery_url_parser/licence.txt
 *
 * ---------------------------------------------------------------------------
 * 
 * EXAMPLES OF USE:
 *
 * Get the domain name (host) from the current page URL
 * jQuery.url.attr("host")
 *
 * Get the query string value for 'item' for the current page
 * jQuery.url.param("item") // null if it doesn't exist
 *
 * Get the second segment of the URI of the current page
 * jQuery.url.segment(2) // null if it doesn't exist
 *
 * Get the protocol of a manually passed in URL
 * jQuery.url.setUrl("http://allmarkedup.com/").attr("protocol") // returns 'http'
 *
 */
jQuery.url=function(){var segments={};var parsed={};var options={url:window.location,strictMode:false,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}};var parseUri=function(){str=decodeURI(options.url);var m=options.parser[options.strictMode?"strict":"loose"].exec(str);var uri={};var i=14;while(i--){uri[options.key[i]]=m[i]||"";}uri[options.q.name]={};uri[options.key[12]].replace(options.q.parser,function($0,$1,$2){if($1){uri[options.q.name][$1]=$2;}});return uri;};var key=function(key){if(!parsed.length){setUp();}if(key=="base"){if(parsed.port!==null&&parsed.port!==""){return parsed.protocol+"://"+parsed.host+":"+parsed.port+"/";}else
{return parsed.protocol+"://"+parsed.host+"/";}}return(parsed[key]==="")?null:parsed[key];};var param=function(item){if(!parsed.length){setUp();}return(parsed.queryKey[item]===null)?null:parsed.queryKey[item];};var setUp=function(){parsed=parseUri();getSegments();};var getSegments=function(){var p=parsed.path;segments=[];segments=parsed.path.length==1?{}:(p.charAt(p.length-1)=="/"?p.substring(1,p.length-1):path=p.substring(1)).split("/");};return{setMode:function(mode){strictMode=mode=="strict"?true:false;return this;},setUrl:function(newUri){options.url=newUri===undefined?window.location:newUri;setUp();return this;},segment:function(pos){if(!parsed.length){setUp();}if(pos===undefined){return segments.length;}return(segments[pos]===""||segments[pos]===undefined)?null:segments[pos];},attr:key,param:param};}();

/**
 * jQuery-Plugin "preloadCssImages"
 * by Scott Jehl, scott@filamentgroup.com
 * http://www.filamentgroup.com
 * reference article: http://www.filamentgroup.com/lab/update_automatically_preload_images_from_css_with_jquery/
 * demo page: http://www.filamentgroup.com/examples/preloadImages/index_v2.php
 * 
 * Copyright (c) 2008 Filament Group, Inc
 * Dual licensed under the MIT (filamentgroup.com/examples/mit-license.txt) and GPL (filamentgroup.com/examples/gpl-license.txt) licenses.
 *
 * Version: 5.0, 10.31.2008 / MODIFIED BY ADAM LEVASSEUR @ EXPOTV.COM
 * Changelog:
 *  02.20.2008 initial Version 1.0
 *    06.04.2008 Version 2.0 : removed need for any passed arguments. Images load from any and all directories.
 *    06.21.2008 Version 3.0 : Added options for loading status. Fixed IE abs image path bug (thanks Sam Pohlenz).
 *    07.24.2008 Version 4.0 : Added support for @imported CSS (credit: http://marcarea.com/). Fixed support in Opera as well. 
 *    10.31.2008 Version: 5.0 : Many feature and performance enhancements from trixta
 * --------------------------------------------------------------------
 */


$.preloadCssImages = function(settings){
    settings = jQuery.extend({
        statusTextEl: null,
        statusBarEl: null,
        errorDelay: 999, // handles 404-Errors in IE
        simultaneousCacheLoading: 2
    }, settings);
    
    var allImgs = [],
        loaded = 0,
        imgUrls = [],
        thisSheetRules, 
        errorTimer;
    
    function onImgComplete(){
        clearTimeout(errorTimer);
        if (imgUrls && imgUrls.length && imgUrls[loaded]) {
            loaded++;
            if (settings.statusTextEl) {
                var nowloading = (imgUrls[loaded]) ? 
                    'Now Loading: <span>' + imgUrls[loaded].split('/')[imgUrls[loaded].split('/').length - 1] : 
                    'Loading complete'; // wrong status-text bug fixed
                jQuery(settings.statusTextEl).html('<span class="numLoaded">' + loaded + '</span> of <span class="numTotal">' + imgUrls.length + '</span> loaded (<span class="percentLoaded">' + (loaded / imgUrls.length * 100).toFixed(0) + '%</span>) <span class="currentImg">' + nowloading + '</span></span>');
            }
            if (settings.statusBarEl) {
                var barWidth = jQuery(settings.statusBarEl).width();
                jQuery(settings.statusBarEl).css('background-position', -(barWidth - (barWidth * loaded / imgUrls.length).toFixed(0)) + 'px 50%');
            }
            loadImgs();
        }
    }
    
    function loadImgs(){
        //only load 1 image at the same time / most browsers can only handle 2 http requests, 1 should remain for user-interaction (Ajax, other images, normal page requests...)
        // otherwise set simultaneousCacheLoading to a higher number for simultaneous downloads
        if(imgUrls && imgUrls.length && imgUrls[loaded]){
            var img = new Image(); //new img obj
            img.src = imgUrls[loaded];  //set src either absolute or rel to css dir
            if(!img.complete){
                jQuery(img).bind('error load onreadystatechange', onImgComplete);
            } else {
                onImgComplete();
            }
            errorTimer = setTimeout(onImgComplete, settings.errorDelay); // handles 404-Errors in IE
        }
    }
    
    function parseCSS(sheets, urls) {
        var w3cImport = false,
            imported = [],
            importedSrc = [],
            baseURL;
        var sheetIndex = sheets.length;
        while(sheetIndex--){//loop through each stylesheet
            
            var cssPile = '';//create large string of all css rules in sheet
            
            if(urls && urls[sheetIndex]){
                baseURL = urls[sheetIndex];
            } else {
                var csshref = (sheets[sheetIndex].href) ? sheets[sheetIndex].href : 'window.location.href';
                if (csshref.match(/^https?:\/\//)) continue;
                var baseURLarr = csshref.split('/');//split href at / to make array
                baseURLarr.pop();//remove file path from baseURL array
                baseURL = baseURLarr.join('/');//create base url for the images in this sheet (css file's dir)
                if (baseURL) {
                    baseURL += '/'; //tack on a / if needed
                }
            }
            if(sheets[sheetIndex].cssRules || sheets[sheetIndex].rules){
                thisSheetRules = (sheets[sheetIndex].cssRules) ? //->>> http://www.quirksmode.org/dom/w3c_css.html
                    sheets[sheetIndex].cssRules : //w3
                    sheets[sheetIndex].rules; //ie 
                var ruleIndex = thisSheetRules.length;
                while(ruleIndex--){
                    if(thisSheetRules[ruleIndex].style && thisSheetRules[ruleIndex].style.cssText){
                        var text = thisSheetRules[ruleIndex].style.cssText;
                        if(text.toLowerCase().indexOf('url') != -1){ // only add rules to the string if you can assume, to find an image, speed improvement
                            cssPile += text; // thisSheetRules[ruleIndex].style.cssText instead of thisSheetRules[ruleIndex].cssText is a huge speed improvement
                        }
                    } else if(thisSheetRules[ruleIndex].styleSheet) {
                        imported.push(thisSheetRules[ruleIndex].styleSheet);
                        w3cImport = true;
                    }
                    
                }
            }
            //parse cssPile for image urls
            var tmpImage = cssPile.match(/[^\("]+\.(gif|jpg|jpeg|png)/g);//reg ex to get a string of between a "(" and a ".filename" / '"' for opera-bugfix
            if(tmpImage){
                var i = tmpImage.length;
                while(i--){ // handle baseUrl here for multiple stylesheets in different folders bug
                    var imgSrc = (tmpImage[i].charAt(0) == '/' || tmpImage[i].match('://')) ? // protocol-bug fixed
                        tmpImage[i] : 
                        baseURL + tmpImage[i];
                    
                    if(jQuery.inArray(imgSrc, imgUrls) == -1){
                        imgUrls.push(imgSrc);
                    }
                }
            }
            
            if(!w3cImport && sheets[sheetIndex].imports && sheets[sheetIndex].imports.length) {
                for(var iImport = 0, importLen = sheets[sheetIndex].imports.length; iImport < importLen; iImport++){
                    var iHref = sheets[sheetIndex].imports[iImport].href;
                    iHref = iHref.split('/');
                    iHref.pop();
                    iHref = iHref.join('/');
                    if (iHref) {
                        iHref += '/'; //tack on a / if needed
                    }
                    var iSrc = (iHref.charAt(0) == '/' || iHref.match('://')) ? // protocol-bug fixed
                        iHref : 
                        baseURL + iHref;
                    
                    importedSrc.push(iSrc);
                    imported.push(sheets[sheetIndex].imports[iImport]);
                }
                
                
            }
        }//loop
        if(imported.length){
            parseCSS(imported, importedSrc);
            return false;
        }
        var downloads = settings.simultaneousCacheLoading;
        while( downloads--){
            setTimeout(loadImgs, downloads);
        }
    }
    parseCSS(document.styleSheets);
    return imgUrls;
};

/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *

 * Create a cookie with the given name and value and other optional parameters.
 *
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Set the value of a cookie.
 * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
 * @desc Create a cookie with all available options.
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Create a session cookie.
 * @example $.cookie('the_cookie', null);
 * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
 *       used when the cookie was set.
 *
 * @param String name The name of the cookie.
 * @param String value The value of the cookie.
 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
 *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
 *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
 *                             when the the browser exits.
 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
 *                        require a secure protocol (like HTTPS).
 * @type undefined
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 *

 * Get the value of a cookie with the given name.
 *
 * @example $.cookie('the_cookie');
 * @desc Get the value of a cookie.
 *
 * @param String name The name of the cookie.
 * @return The value of the cookie.
 * @type String
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */
jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};

(function($){$.toJSON=function(o)
{if(typeof(JSON)=='object'&&JSON.stringify)
return JSON.stringify(o);var type=typeof(o);if(o===null)
return"null";if(type=="undefined")
return undefined;if(type=="number"||type=="boolean")
return o+"";if(type=="string")
return $.quoteString(o);if(type=='object')
{if(typeof o.toJSON=="function")
return $.toJSON(o.toJSON());if(o.constructor===Date)
{var month=o.getUTCMonth()+1;if(month<10)month='0'+month;var day=o.getUTCDate();if(day<10)day='0'+day;var year=o.getUTCFullYear();var hours=o.getUTCHours();if(hours<10)hours='0'+hours;var minutes=o.getUTCMinutes();if(minutes<10)minutes='0'+minutes;var seconds=o.getUTCSeconds();if(seconds<10)seconds='0'+seconds;var milli=o.getUTCMilliseconds();if(milli<100)milli='0'+milli;if(milli<10)milli='0'+milli;return'"'+year+'-'+month+'-'+day+'T'+
hours+':'+minutes+':'+seconds+'.'+milli+'Z"';}
if(o.constructor===Array)
{var ret=[];for(var i=0;i<o.length;i++)
ret.push($.toJSON(o[i])||"null");return"["+ret.join(",")+"]";}
var pairs=[];for(var k in o){var name;var type=typeof k;if(type=="number")
name='"'+k+'"';else if(type=="string")
name=$.quoteString(k);else
continue;if(typeof o[k]=="function")
continue;var val=$.toJSON(o[k]);pairs.push(name+":"+val);}
return"{"+pairs.join(", ")+"}";}};$.evalJSON=function(src)
{if(typeof(JSON)=='object'&&JSON.parse)
return JSON.parse(src);return eval("("+src+")");};$.secureEvalJSON=function(src)
{if(typeof(JSON)=='object'&&JSON.parse)
return JSON.parse(src);var filtered=src;filtered=filtered.replace(/\\["\\\/bfnrtu]/g,'@');filtered=filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']');filtered=filtered.replace(/(?:^|:|,)(?:\s*\[)+/g,'');if(/^[\],:{}\s]*$/.test(filtered))
return eval("("+src+")");else
throw new SyntaxError("Error parsing JSON, source is not valid.");};$.quoteString=function(string)
{if(string.match(_escapeable))
{return'"'+string.replace(_escapeable,function(a)
{var c=_meta[a];if(typeof c==='string')return c;c=a.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);})+'"';}
return'"'+string+'"';};var _escapeable=/["\\\x00-\x1f\x7f-\x9f]/g;var _meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};})(jQuery);

/*  
    Watermark plugin for jQuery
    Version: 3.0.1
    http://jquery-watermark.googlecode.com/

    Copyright (c) 2009 Todd Northrop
    http://www.speednet.biz/
    
    September 11, 2009

    Requires:  jQuery 1.2.3+
    
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version, subject to the following conditions:
    
    The above copyright notice and this permission notice shall be
    included in all copies or substantial portions of the Software.
    
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
------------------------------------------------------*/

(function ($) {

var
    // Will speed up references to undefined
    undefined,

    // String constants for data names
    dataFlag = "watermark",
    dataClass = "watermarkClass",
    dataFocus = "watermarkFocus",
    dataFormSubmit = "watermarkSubmit",
    dataMaxLen = "watermarkMaxLength",
    dataPassword = "watermarkPassword",
    dataText = "watermarkText",
    
    // Includes only elements with watermark defined
    selWatermarkDefined = ":data(" + dataFlag + ")",

    // Includes only elements capable of having watermark
    selWatermarkAble = ":text,:password,:search,textarea";

// Extends jQuery with a custom selector - ":data(...)"
// :data(<name>)  Includes elements that have a specific name defined in the jQuery data collection. (Only the existence of the name is checked; the value is ignored.)
// :data(<name>=<value>)  Includes elements that have a specific jQuery data name defined, with a specific value associated with it.
// :data(<name>!=<value>)  Includes elements that have a specific jQuery data name defined, with a value that is not equal to the value specified.
// :data(<name>^=<value>)  Includes elements that have a specific jQuery data name defined, with a value that starts with the value specified.
// :data(<name>$=<value>)  Includes elements that have a specific jQuery data name defined, with a value that ends with the value specified.
// :data(<name>*=<value>)  Includes elements that have a specific jQuery data name defined, with a value that contains the value specified.
$.extend($.expr[":"], {
    "data": function (element, index, matches, set) {
        var data, parts = /^((?:[^=!^$*]|[!^$*](?!=))+)(?:([!^$*]?=)(.*))?$/.exec(matches[3]);
        if (parts) {
            data = $(element).data(parts[1]);
            
            if (data !== undefined) {

                if (parts[2]) {
                    data = "" + data;
                
                    switch (parts[2]) {
                        case "=":
                            return (data == parts[3]);
                        case "!=":
                            return (data != parts[3]);
                        case "^=":
                            return (data.slice(0, parts[3].length) == parts[3]);
                        case "$=":
                            return (data.slice(-parts[3].length) == parts[3]);
                        case "*=":
                            return (data.indexOf(parts[3]) !== -1);
                    }
                }

                return true;
            }
        }
        
        return false;
    }
});

$.watermark = {

    // Current version number of the plugin
    version: "3.0",

    // Default options used when watermarks are instantiated.
    // Can be changed to affect the default behavior for all
    // new or updated watermarks.
    // BREAKING CHANGE:  The $.watermark.className
    // property that is present in all previous versions must now
    // be referenced as $.watermark.options.className
    options: {
        
        // Default class name for all watermarks
        className: "watermark",
        
        // If true, plugin will detect and use native browser support for
        // watermarks, if available. (e.g., WebKit's placeholder attribute.)
        useNative: true
    },
    
    // Hide one or more watermarks by specifying any selector type
    // i.e., DOM element, string selector, jQuery matched set, etc.
    hide: function (selector) {
        $(selector).filter(selWatermarkDefined).each(
            function () {
                $.watermark._hide($(this));
            }
        );
    },
    
    // Internal use only.
    _hide: function ($input, focus) {
    
        if ($input.val() == $input.data(dataText)) {
            $input.val("");
            
            // Password type?
            if ($input.data(dataPassword)) {
                
                if ($input.attr("type") === "text") {
                    var $pwd = $input.data(dataPassword), 
                        $wrap = $input.parent();
                        
                    $wrap[0].removeChild($input[0]); // Can't use jQuery methods, because they destroy data
                    $wrap[0].appendChild($pwd[0]);
                    $input = $pwd;
                }
            }
            
            if ($input.data(dataMaxLen)) {
                $input.attr("maxLength", $input.data(dataMaxLen));
                $input.removeData(dataMaxLen);
            }
        
            if (focus) {
                $input.attr("autocomplete", "off");  // Avoid NS_ERROR_XPC_JS_THREW_STRING error in Firefox
                window.setTimeout(
                    function () {
                        $input.select();  // Fix missing cursor in IE
                    }
                , 0);
            }
        }
        
        $input.removeClass($input.data(dataClass));
    },
    
    // Display one or more watermarks by specifying any selector type
    // i.e., DOM element, string selector, jQuery matched set, etc.
    // If conditions are not right for displaying a watermark, ensures that watermark is not shown.
    show: function (selector) {
        $(selector).filter(selWatermarkDefined).each(
            function () {
                $.watermark._show($(this));
            }
        );
    },
    
    // Internal use only.
    _show: function ($input) {
        var val = $input.val(), text = $input.data(dataText), type = $input.attr("type");

        if (((val.length == 0) || (val == text)) && (!$input.data(dataFocus))) {
        
            // Password type?
            if ($input.data(dataPassword)) {
                
                if (type === "password") {
                    var $wm = $input.data(dataPassword),
                        $wrap = $input.parent();
                        
                    $wrap[0].removeChild($input[0]); // Can't use jQuery methods, because they destroy data
                    $wrap[0].appendChild($wm[0]);
                    $input = $wm;
                    $input.attr("maxLength", text.length);
                }
            }
        
            // Ensure maxLength big enough to hold watermark (input of type="text" or type="search" only)
            if ((type === "text") || (type === "search")) {
                var maxLen = $input.attr("maxLength");
                
                if ((maxLen > 0) && (text.length > maxLen)) {
                    $input.data(dataMaxLen, maxLen);
                    $input.attr("maxLength", text.length);
                }
            }
            
            $input.addClass($input.data(dataClass));
            $input.val(text);
        }
        else {
            $.watermark._hide($input);
        }
    },
    
    // Hides all watermarks on the current page.
    hideAll: function () {
        $.watermark.hide(selWatermarkAble);
    },
    
    // Displays all watermarks on the current page.
    showAll: function () {
        $.watermark.show(selWatermarkAble);
    }
};

jQuery.fn.pngFix = function(settings) {

	// Settings
	settings = jQuery.extend({
		blankgif: 'blank.gif'
	}, settings);

	var ie55 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 5.5") != -1);
	var ie6 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1);

	if (jQuery.browser.msie && (ie55 || ie6)) {

		//fix images with png-source
		jQuery(this).find("img[src$=.png]").each(function() {

			jQuery(this).attr('width',jQuery(this).width());
			jQuery(this).attr('height',jQuery(this).height());

			var prevStyle = '';
			var strNewHTML = '';
			var imgId = (jQuery(this).attr('id')) ? 'id="' + jQuery(this).attr('id') + '" ' : '';
			var imgClass = (jQuery(this).attr('class')) ? 'class="' + jQuery(this).attr('class') + '" ' : '';
			var imgTitle = (jQuery(this).attr('title')) ? 'title="' + jQuery(this).attr('title') + '" ' : '';
			var imgAlt = (jQuery(this).attr('alt')) ? 'alt="' + jQuery(this).attr('alt') + '" ' : '';
			var imgAlign = (jQuery(this).attr('align')) ? 'float:' + jQuery(this).attr('align') + ';' : '';
			var imgHand = (jQuery(this).parent().attr('href')) ? 'cursor:hand;' : '';
			if (this.style.border) {
				prevStyle += 'border:'+this.style.border+';';
				this.style.border = '';
			}
			if (this.style.padding) {
				prevStyle += 'padding:'+this.style.padding+';';
				this.style.padding = '';
			}
			if (this.style.margin) {
				prevStyle += 'margin:'+this.style.margin+';';
				this.style.margin = '';
			}
			var imgStyle = (this.style.cssText);

			strNewHTML += '<span '+imgId+imgClass+imgTitle+imgAlt;
			strNewHTML += 'style="position:relative;white-space:pre-line;display:inline-block;background:transparent;'+imgAlign+imgHand;
			strNewHTML += 'width:' + jQuery(this).width() + 'px;' + 'height:' + jQuery(this).height() + 'px;';
			strNewHTML += 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader' + '(src=\'' + jQuery(this).attr('src') + '\', sizingMethod=\'scale\');';
			strNewHTML += imgStyle+'"></span>';
			if (prevStyle != ''){
				strNewHTML = '<span style="position:relative;display:inline-block;'+prevStyle+imgHand+'width:' + jQuery(this).width() + 'px;' + 'height:' + jQuery(this).height() + 'px;'+'">' + strNewHTML + '</span>';
			}

			jQuery(this).hide();
			jQuery(this).after(strNewHTML);

		});

		// fix css background pngs
		jQuery(this).find("*").each(function(){
			var bgIMG = jQuery(this).css('background-image');
			if(bgIMG.indexOf(".png")!=-1){
				var iebg = bgIMG.split('url("')[1].split('")')[0];
				jQuery(this).css('background-image', 'none');
				jQuery(this).get(0).runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + iebg + "',sizingMethod='scale')";
			}
		});
		
		//fix input with png-source
		jQuery(this).find("input[src$=.png]").each(function() {
			var bgIMG = jQuery(this).attr('src');
			jQuery(this).get(0).runtimeStyle.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader' + '(src=\'' + bgIMG + '\', sizingMethod=\'scale\');';
   		jQuery(this).attr('src', settings.blankgif)
		});
	
	}
};

// MODDED: fixed IE7 bug in the override submit function.
$.fn.watermark = function (text, options) {
    /// <summary>
    ///     Set watermark text and class name on all input elements of type="text/password/search" and
    ///     textareas within the matched set. If className is not specified in options, the default is
    ///     "watermark". Within the matched set, only input elements with type="text/password/search"
    ///     and textareas are affected; all other elements are ignored.
    /// </summary>
    /// <returns type="jQuery">
    ///     Returns the original jQuery matched set (not just the input and texarea elements).
    /// </returns>
    /// <param name="text" type="String">
    ///     Text to display as a watermark when the input or textarea element has an empty value and does not
    ///     have focus. The first time watermark() is called on an element, if this argument is empty (or not
    ///     a String type), then the watermark will have the net effect of only changing the class name when
    ///     the input or textarea element's value is empty and it does not have focus.
    /// </param>
    /// <param name="options" type="Object" optional="true">
    ///     Provides the ability to override the default watermark options ($.watermark.options). For backward
    ///     compatibility, if a string value is supplied, it is used as the class name that overrides the class
    ///     name in $.watermark.options.className. Properties include:
    ///         className: When the watermark is visible, the element will be styled using this class name.
    ///         useNative (Boolean or Function): Specifies if native browser support for watermarks will supersede
    ///             plugin functionality. If useNative is a function, the return value from the function will
    ///             determine if native support is used. The function is passed one argument -- a jQuery object
    ///             containing the element being tested as the only element in its matched set -- and the DOM
    ///             element being tested is the object on which the function is invoked (the value of "this").
    /// </param>
    /// <remarks>
    ///     The effect of changing the text and class name on an input element is called a watermark because
    ///     typically light gray text is used to provide a hint as to what type of input is required. However,
    ///     the appearance of the watermark can be something completely different: simply change the CSS style
    ///     pertaining to the supplied class name.
    ///     
    ///     The first time watermark() is called on an element, the watermark text and class name are initialized,
    ///     and the focus and blur events are hooked in order to control the display of the watermark.  Also, as
    ///     of version 3.0, drag and drop events are hooked to guard against dropped text being appended to the
    ///     watermark.  If native watermark support is provided by the browser, it is detected and used, unless
    ///     the useNative option is set to false.
    ///     
    ///     Subsequently, watermark() can be called again on an element in order to change the watermark text
    ///     and/or class name, and it can also be called without any arguments in order to refresh the display.
    ///     
    ///     For example, after changing the value of the input or textarea element programmatically, watermark()
    ///     should be called without any arguments to refresh the display, because the change event is only
    ///     triggered by user actions, not by programmatic changes to an input or textarea element's value.
    ///     
    ///     The one exception to programmatic updates is for password input elements:  you are strongly cautioned
    ///     against changing the value of a password input element programmatically (after the page loads).
    ///     The reason is that some fairly hairy code is required behind the scenes to make the watermarks bypass
    ///     IE security and switch back and forth between clear text (for watermarks) and obscured text (for
    ///     passwords).  It is *possible* to make programmatic changes, but it must be done in a certain way, and
    ///     overall it is not recommended.
    /// </remarks>
    
    var hasText = (typeof(text) === "string"), hasClass;
    
    if (typeof(options) === "object") {
        hasClass = (typeof(options.className) === "string");
        options = $.extend({}, $.watermark.options, options);
    }
    else if (typeof(options) === "string") {
        hasClass = true;
        options = $.extend({}, $.watermark.options, {className: options});
    }
    else {
        options = $.watermark.options;
    }
    
    if (typeof(options.useNative) !== "function") {
        options.useNative = options.useNative? function () { return true; } : function () { return false; };
    }
    
    return this.each(
        function () {
            var $input = $(this);
            
            if (!$input.is(selWatermarkAble)) {
                return;
            }
            
            // Watermark already initialized?
            if ($input.data(dataFlag)) {
            
                // If re-defining text or class, first remove existing watermark, then make changes
                if (hasText || hasClass) {
                    $.watermark._hide($input);
            
                    if (hasText) {
                        $input.data(dataText, text);
                    }
                    
                    if (hasClass) {
                        $input.data(dataClass, options.className);
                    }
                }
            }
            else {
            
                // Detect and use native browser support, if enabled in options
                if (options.useNative.call(this, $input)) {
                    
                    // Placeholder attribute (WebKit)
                    // Big thanks to Opera for the wacky test required
                    if ((("" + $input.css("-webkit-appearance")).replace("undefined", "") !== "") && ($input.attr("tagName") !== "TEXTAREA")) {
                        
                        // className is not set because WebKit doesn't appear to have
                        // a separate class name property for placeholders (watermarks).
                        if (hasText) {
                            $input.attr("placeholder", text);
                        }
                        
                        // Only set data flag for non-native watermarks (purposely commented-out)
                        // $input.data(dataFlag, 1);
                        return;
                    }
                }
                
                $input.data(dataText, hasText? text : "");
                $input.data(dataClass, options.className);
                $input.data(dataFlag, 1); // Flag indicates watermark was initialized
                
                // Special processing for password type
                if ($input.attr("type") === "password") {
                    var $wrap = $input.wrap("<span>").parent();
                    var $wm = $($wrap.html().replace(/type=["']?password["']?/i, 'type="text"'));
                    
                    $wm.data(dataText, $input.data(dataText));
                    $wm.data(dataClass, $input.data(dataClass));
                    $wm.data(dataFlag, 1);
                    $wm.attr("maxLength", text.length);
                    
                    $wm.focus(
                        function () {
                            $.watermark._hide($wm, true);
                        }
                    ).bind("dragenter",
                        function () {
                            $.watermark._hide($wm);
                        }
                    ).bind("dragend",
                        function () {
                            window.setTimeout(function () { $wm.blur(); }, 1);
                        }
                    );
                    $input.blur(
                        function () {
                            $.watermark._show($input);
                        }
                    ).bind("dragleave",
                        function () {
                            $.watermark._show($input);
                        }
                    );
                    
                    $wm.data(dataPassword, $input);
                    $input.data(dataPassword, $wm);
                }
                else {
                    
                    $input.focus(
                        function () {
                            $input.data(dataFocus, 1);
                            $.watermark._hide($input, true);
                        }
                    ).blur(
                        function () {
                            $input.data(dataFocus, 0);
                            $.watermark._show($input);
                        }
                    ).bind("dragenter",
                        function () {
                            $.watermark._hide($input);
                        }
                    ).bind("dragleave",
                        function () {
                            $.watermark._show($input);
                        }
                    ).bind("dragend",
                        function () {
                            window.setTimeout(function () { $.watermark._show($input); }, 1);
                        }
                    ).bind("drop",
                        // Firefox makes this lovely function necessary because the dropped text
                        // is merged with the watermark before the drop event is called.
                        function (evt) {
                            var dropText = evt.originalEvent.dataTransfer.getData("Text");
                            
                            if ($input.val().replace(dropText, "") === $input.data(dataText)) {
                                $input.val(dropText);
                            }
                            
                            $input.focus();
                        }
                    );
                }
                
                // In order to reliably clear all watermarks before form submission,
                // we need to replace the form's submit function with our own
                // function.  Otherwise watermarks won't be cleared when the form
                // is submitted programmatically.
                
                var $form = $(this.form);
                
                if (!$form.data(dataFormSubmit)) {
                    $form.data(dataFormSubmit, this.form.submit);
                    $form.submit($.watermark.hideAll);
                    
                    /*this.form.submit = function () {
                        var nativeSubmit = $form.data(dataFormSubmit);
                        
                        
                        if (nativeSubmit.apply) {
                            nativeSubmit.apply($form[0], arguments);
                        }
                        else {
                            nativeSubmit();
                        }
                    };*/
                    
                    $form.bindIntoStack(0, 'submit', function()
                    {
                        $.watermark.hideAll();
                    });
                    
                }
            }
            
            $.watermark._show($input);
        }
    ).end();
};

})(jQuery);


/*!
 * jStack - jQuery Event Stack Management
 * by Eric Garside (http://eric.garside.name) FROM: http://snipplr.com/view/13515/jstack--jquery-event-stack-management/
 * 
 * Dual licensed under:
 *  MIT: http://www.opensource.org/licenses/mit-license.php
 *  GPLv3: http://www.opensource.org/licenses/gpl-3.0.html
 */
(function($){$.extend($.fn,{cachePosition:function(){return $.data(this[0]);},bindIntoStack:function(pos,type,func){return this.each(function(){var namespaces=type.split("."),evType=namespaces.shift(),el=$(this),position=el.cachePosition();if(!position)return;var cache=$.cache[position];el.bind(type,func);if(!cache||!cache.events||!cache.events[evType])return;var events=cache.events[evType],fromExpando=[],toReplace=null,i=0;$.each(events,function(k){fromExpando.push(k);if(i==pos)toReplace=this;++i;})
if(!toReplace)return;var newPos=fromExpando.pop();$.cache[position].events[evType][fromExpando[pos]]=$.cache[position].events[evType][newPos];$.cache[position].events[evType][newPos]=toReplace;})
return this;}});})(jQuery);;

/****** /utils/common.js ******/

/**
 * $Id: common.js 20823 2009-12-19 00:09:27Z esherbin $
 * @author alevasseur-arribas
 */
if (typeof console == "undefined") { var console = {}; console.log = function(){}; } //fail silently in IE         
if (typeof EXPOTV == "undefined") { var EXPOTV = {}; }

$U = EXPOTV.utils = new function()
{
	var self = this;
	
	this.init = function()
	{
		/* IE6 background-image cache fix: force background-image cache*/
		try {
		  document.execCommand("BackgroundImageCache", false, true);
		} catch(err) {}
		
		self.initNavbar();
		self.initSearchBox();
		self.initShrinkByWidth();
		self.initWatermarks();
		$.preloadCssImages();
	};
	
	/*
	 * Pre-init functions:
	 *  These are to be called from the html as soon as that section of the html is loaded.
	 */
	     
    this.preInitQuickLogin = function()
    {
        var $quickLoginWrap = $('.quick-login-wrap');
        var $loginText = $('.login-text');
        
        $quickLoginWrap.find('input[name=username]').watermark('Username');
        $quickLoginWrap.find('input[name=password]').watermark('Password');
            
        $('#loginBar a.loginLink').one('click', function(e)
        {
            e.preventDefault();
            $loginText.css('display', 'none');
            $quickLoginWrap
                .css('display', 'inline')
                .find('input:first').focus();
            
            $(this).click(function(e)
            {
                e.preventDefault();
                $quickLoginWrap.find('form').submit();
            });
        });
    };
    
    this.preInitSearch = function()
    {
    	var $search = $('.search');
    	$search.find('input[name=query]').watermark('Search by product name or brand...');
    }
	
	/////////////////////////
	
	this.initShrinkByWidth = function()
	{
        $(".shrinkByWidth").each(function() {
            var targetWidth = $(this).parent(':first').width();
            
            if (isNaN(parseInt($(this).css("font-size"))))
                $(this).css("font-size", '24px');
    
            while ($(this).width() > targetWidth) 
            {
                $(this).css("font-size", (parseInt($(this).css("font-size")) - 1) + 'px');
            }
        }); 
	};
	
    /* function to insert style sheet directly after title tag
     * the style sheet can then hide those elements that need to have events attached with js
     * Those elements can then be exposed using js after events are attached. */
	this.addHasJSStyleSheet = function(strUrl)
    {
        var strCssUrl = strUrl;
        var tempLink = document.createElement("link");
        tempLink.setAttribute("rel", "stylesheet");
        tempLink.setAttribute("type", "text/css");
        tempLink.setAttribute("href", strCssUrl);
        var titleEl = document.getElementsByTagName("title")[0];
        $('title:first').after(tempLink)
        //YAHOO.util.Dom.insertAfter(tempLink, titleEl);
    };
    
    /* function used for quick selectbox navigation */
    this.selectNavigationHandler = function()
    {
        var selectEl = this;
        var selectValueStr = selectEl.options[selectEl.selectedIndex].value;
        if (selectValueStr !== "null")
        {
            window.location.href = selectValueStr;
            return true;
        }
        return false;
    };
    
    this.rand = function()
    {
    	return Math.ceil(Math.random()*10000000000001);
    };
    
	this.isEventSupported = (function()
	{
		var TAGNAMES = 
		{
		    'select':'input','change':'input',
		    'submit':'form','reset':'form',
		    'error':'img','load':'img','abort':'img'
		}, 
        cache = { };
        
        function isEventSupported(eventName, element) 
        {
		    var canCache = (arguments.length == 1);
		    
		    if (eventName == 'beforeunload')
		    {
		    	element = typeof window.onbeforeunload != 'undefined' ? window : void 0;
		    }
		
		    // only return cached result when no element is given
		    if (canCache && cache[eventName]) {
		        return cache[eventName];
		    }
		
		    element = element || document.createElement(TAGNAMES[eventName] || 'div');
		    eventName = 'on' + eventName;
		
		    // When using `setAttribute`, IE skips "unload", WebKit skips "unload" and "resize"
		    // `in` "catches" those
		    var isSupported = (eventName in element);
		
		    if (!isSupported && element.setAttribute) {
		        element.setAttribute(eventName, 'return;');
		        isSupported = typeof element[eventName] == 'function';
		    }
		
		    element = null;
		    return canCache ? (cache[eventName] = isSupported) : isSupported;
        }
        return isEventSupported;
	})();
    
    this.getFormValues = function(form)
    {
    	var $form = (typeof(form) == 'string') ? $("#" + form) : form;
        var $fields = $form.find("input:not(:checkbox, :radio), input:checkbox:checked, " +
                                 "input:radio:checked, select, textarea");
        var formValuesObj = {};

        $fields.each(function()
        {
            var fieldName =  $(this).attr("name");
            var fieldValue = $(this).val();

            formValuesObj[fieldName] = fieldValue;
        });

        return formValuesObj;
    };
    
    this.getParam = function(param) // for when $.url doesn't work..
    {
        param = param.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
        var regexS = "[\\?&]"+param+"=([^&#]*)";
        var regex = new RegExp( regexS );
        var results = regex.exec( window.location.href );
        
        if( results == null )
          return null;
        else
            return results[1];
    }
    
    this.getPageSizeArray = function()
    {
        var xScroll, yScroll;
        
        if (window.innerHeight && window.scrollMaxY) 
        {  
            xScroll = document.body.scrollWidth;
            yScroll = window.innerHeight + window.scrollMaxY;
        } 
        else if (document.body.scrollHeight > document.body.offsetHeight) // all but Explorer Mac
        { 
            xScroll = document.body.scrollWidth;
            yScroll = document.body.scrollHeight;
        } 
        else // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari 
        { 
            xScroll = document.body.offsetWidth;
            yScroll = document.body.offsetHeight;
        }
        
        var windowWidth, windowHeight;
        if (self.innerHeight) // all except Explorer 
        { 
            windowWidth = self.innerWidth;
            windowHeight = self.innerHeight;
        } 
        else if (document.documentElement && document.documentElement.clientHeight) // Explorer 6 Strict Mode 
        { 
            windowWidth = document.documentElement.clientWidth;
            windowHeight = document.documentElement.clientHeight;
        } 
        else if (document.body) // other Explorers 
        {
            windowWidth = document.body.clientWidth;
            windowHeight = document.body.clientHeight;
        }   
        
        // for small pages with total height less then height of the viewport
        if(yScroll < windowHeight)
        {
            pageHeight = windowHeight;
        } 
        else 
        { 
            pageHeight = yScroll;
        }
    
        // for small pages with total width less then width of the viewport
        if(xScroll < windowWidth)
        {  
            pageWidth = windowWidth;
        }
        else 
        {
            pageWidth = xScroll;
        }
    
        arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
        return arrayPageSize;
    };
    
    this.getPageScrollArray = function()
    {
        var yScroll;
    
        if (self.pageYOffset) 
        {
            yScroll = self.pageYOffset;
        } 
        else if (document.documentElement && document.documentElement.scrollTop) // Explorer 6 Strict
        {  
            yScroll = document.documentElement.scrollTop;
        } 
        else if (document.body) // all other Explorers 
        {
            yScroll = document.body.scrollTop;
        }
    
        arrayPageScroll = new Array('',yScroll);
        return arrayPageScroll;
    };
	
	/* for top navbar dropdowns and selected states */
	this.initNavbar = function()
    {
		/* add rounded corners to first and last tab*/
		$('.menu-wrapper li').each(function(i){
			if($(this).is(':first-child')) $(this).find('a').addClass("top_left_round_5");
			if($(this).is(':last-child')) $(this).find('a').addClass("top_right_round_5");
		});
		
		
		/* find selected state*/
		var urlString = document.URL.split('.com')[1];
		$('.menu-wrapper li a').each(function(i)
		{
			var linkStr = $(this).attr("href");
			if(urlString.length == 1 && linkStr.length == 1){
				$(this).addClass("selected");
			}
			else if (urlString.match(linkStr) && linkStr.length > 1){
				$(this).addClass("selected");
			}
		});
				
		/* explore tab drop down */
        $(".explore").toggle(function()
        {
        	
        	$('.menu-wrapper').addClass("drop-down-active");
        	//$('.drop-down').css("display", 'block');
        	$(this).addClass('on');
        	$('.drop-down').hide().fadeIn('fast');
            
        },function()
        {
        	$('.menu-wrapper').removeClass("drop-down-active");
        	$('.drop-down').fadeOut('fast');
        	$(this).removeClass('on');
        });

        $(".close-dd").click(function()
		{
        	$('.menu-wrapper').removeClass("drop-down-active");
        	$('.drop-down').fadeOut('fast');
        	$(this).removeClass('on');
		});
        
        /* IE ROUNDED CORNERS HACK */
        DD_roundies.addRule('.round_5', '5px');
        DD_roundies.addRule('.round_10', '10px');
        DD_roundies.addRule('.top_right_round_5', '0 10px 0 0');
        DD_roundies.addRule('.top_left_round_5', '10px 0 0 0');
        DD_roundies.addRule('.top_round_5', '10px 10px 0 0');
        DD_roundies.addRule('.top_round_10', '10px 10px 0 0');
        DD_roundies.addRule('.bottom_round_10', '0 0 10px 10px');
        DD_roundies.addRule('.round_15', '15px');
    };
    
    this.initSearchBox = function()
    {
        var $searchBox = $('#txtHeaderSearchBox');
        var $extranet_srch = $('#SearchBox');
        
        if (!$searchBox.val())
        {
            //$searchBox.focus();
        }
        else
        {
        	$('#txtHeaderSearchBox').one('focus', function()
        	{
        		this.select();
        	});
        }
        /*
        if (!$extranet_srch.val())
        {
        }
        else
        {
        	$('#SearchBox').one('focus', function()
        	{
        		this.select();
        	});
        }*/
    };
    
    this.initWatermarks = function()
    {
        $('input.watermark').each(function(i)
        {
            var watermarkStr = $(this).attr('class').match(/watermark:'(.*)'/);
            
            if (watermarkStr && watermarkStr[1])
            {
                $(this).watermark(watermarkStr[1]);
            }
        });
    };
    
    this.showLoading = function()
    {
    	$('#pleaseWait').fadeIn('fast');
    };
    
    this.hideLoading = function()
    {
    	$('#pleaseWait').fadeOut('fast');
    };
    
	$(window).bind('ajaxError', function(ajaxError, xhr, etc)
	{
		self.hideLoading();
		console.log(ajaxError);
		console.log(xhr);
		console.log(etc);
	});
}

// Misc prototypes:
String.prototype.format = function()
{
    var txt = this;
    for (var i=0;i<arguments.length;i++)
    {
        var exp = new RegExp('\\{' + (i) + '\\}','gm');
        txt = txt.replace(exp,arguments[i]);
    }
    return txt;
};

Array.prototype.remove = function(from, to) 
{
    var rest = this.slice((to || from) + 1 || this.length);
    this.length = from < 0 ? this.length + from : from;
    return this.push.apply(this, rest);
};

Array.prototype.removeVal = function(val)
{
    for ( var i = 0, length = this.length; i < length; i++ )
    {
        // Use === because on IE, window == document
        if ( this[ i ] === val )
        {
            this.remove(i);  
            return true;
        }
    }
    
    return false;
};

// Shortcuts:
$E = EXPOTV;
log = console.log;

///////////

$(EXPOTV.utils.init);


// Helpers:

var DD_roundies={ns:'DD_roundies',IE6:false,IE7:false,IE8:false,IEversion:function(){if(document.documentMode!=8&&document.namespaces&&!document.namespaces[this.ns]){this.IE6=true;this.IE7=true;}else if(document.documentMode==8){this.IE8=true;}},querySelector:document.querySelectorAll,selectorsToProcess:[],imgSize:{},createVmlNameSpace:function(){if(this.IE6||this.IE7){document.namespaces.add(this.ns,'urn:schemas-microsoft-com:vml');}if(this.IE8){document.writeln('<?import namespace="'+this.ns+'" implementation="#default#VML" ?>');}},createVmlStyleSheet:function(){var style=document.createElement('style');document.documentElement.firstChild.insertBefore(style,document.documentElement.firstChild.firstChild);if(style.styleSheet){try{var styleSheet=style.styleSheet;styleSheet.addRule(this.ns+'\\:*','{behavior:url(#default#VML)}');this.styleSheet=styleSheet;}catch(err){}}else{this.styleSheet=style;}},addRule:function(selector,rad,standards){if(typeof rad=='undefined'||rad===null){rad=0;}if(rad.constructor.toString().search('Array')==-1){rad=rad.toString().replace(/[^0-9 ]/g,'').split(' ');}for(var i=0;i<4;i++){rad[i]=(!rad[i]&&rad[i]!==0)?rad[Math.max((i-2),0)]:rad[i];}if(this.styleSheet){if(this.styleSheet.addRule){var selectors=selector.split(',');for(var i=0;i<selectors.length;i++){this.styleSheet.addRule(selectors[i],'behavior:expression(DD_roundies.roundify.call(this, ['+rad.join(',')+']))');}}else if(standards){var moz_implementation=rad.join('px ')+'px';this.styleSheet.appendChild(document.createTextNode(selector+' {border-radius:'+moz_implementation+'; -moz-border-radius:'+moz_implementation+';}'));this.styleSheet.appendChild(document.createTextNode(selector+' {-webkit-border-top-left-radius:'+rad[0]+'px '+rad[0]+'px; -webkit-border-top-right-radius:'+rad[1]+'px '+rad[1]+'px; -webkit-border-bottom-right-radius:'+rad[2]+'px '+rad[2]+'px; -webkit-border-bottom-left-radius:'+rad[3]+'px '+rad[3]+'px;}'));}}else if(this.IE8){this.selectorsToProcess.push({'selector':selector,'radii':rad});}},readPropertyChanges:function(el){switch(event.propertyName){case'style.border':case'style.borderWidth':case'style.padding':this.applyVML(el);break;case'style.borderColor':this.vmlStrokeColor(el);break;case'style.backgroundColor':case'style.backgroundPosition':case'style.backgroundRepeat':this.applyVML(el);break;case'style.display':el.vmlBox.style.display=(el.style.display=='none')?'none':'block';break;case'style.filter':this.vmlOpacity(el);break;case'style.zIndex':el.vmlBox.style.zIndex=el.style.zIndex;break;}},applyVML:function(el){el.runtimeStyle.cssText='';this.vmlFill(el);this.vmlStrokeColor(el);this.vmlStrokeWeight(el);this.vmlOffsets(el);this.vmlPath(el);this.nixBorder(el);this.vmlOpacity(el);},vmlOpacity:function(el){if(el.currentStyle.filter.search('lpha')!=-1){var trans=el.currentStyle.filter;trans=parseInt(trans.substring(trans.lastIndexOf('=')+1,trans.lastIndexOf(')')),10)/100;for(var v in el.vml){el.vml[v].filler.opacity=trans;}}},vmlFill:function(el){if(!el.currentStyle){return;}else{var elStyle=el.currentStyle;}el.runtimeStyle.backgroundColor='';el.runtimeStyle.backgroundImage='';var noColor=(elStyle.backgroundColor=='transparent');var noImg=true;if(elStyle.backgroundImage!='none'||el.isImg){if(!el.isImg){el.vmlBg=elStyle.backgroundImage;el.vmlBg=el.vmlBg.substr(5,el.vmlBg.lastIndexOf('")')-5);}else{el.vmlBg=el.src;}var lib=this;if(!lib.imgSize[el.vmlBg]){var img=document.createElement('img');img.attachEvent('onload',function(){this.width=this.offsetWidth;this.height=this.offsetHeight;lib.vmlOffsets(el);});img.className=lib.ns+'_sizeFinder';img.runtimeStyle.cssText='behavior:none; position:absolute; top:-10000px; left:-10000px; border:none;';img.src=el.vmlBg;img.removeAttribute('width');img.removeAttribute('height');document.body.insertBefore(img,document.body.firstChild);lib.imgSize[el.vmlBg]=img;}el.vml.image.filler.src=el.vmlBg;noImg=false;}el.vml.image.filled=!noImg;el.vml.image.fillcolor='none';el.vml.color.filled=!noColor;el.vml.color.fillcolor=elStyle.backgroundColor;el.runtimeStyle.backgroundImage='none';el.runtimeStyle.backgroundColor='transparent';},vmlStrokeColor:function(el){el.vml.stroke.fillcolor=el.currentStyle.borderColor;},vmlStrokeWeight:function(el){var borders=['Top','Right','Bottom','Left'];el.bW={};for(var b=0;b<4;b++){el.bW[borders[b]]=parseInt(el.currentStyle['border'+borders[b]+'Width'],10)||0;}},vmlOffsets:function(el){var dims=['Left','Top','Width','Height'];for(var d=0;d<4;d++){el.dim[dims[d]]=el['offset'+dims[d]];}var assign=function(obj,topLeft){obj.style.left=(topLeft?0:el.dim.Left)+'px';obj.style.top=(topLeft?0:el.dim.Top)+'px';obj.style.width=el.dim.Width+'px';obj.style.height=el.dim.Height+'px';};for(var v in el.vml){var mult=(v=='image')?1:2;el.vml[v].coordsize=(el.dim.Width*mult)+', '+(el.dim.Height*mult);assign(el.vml[v],true);}assign(el.vmlBox,false);if(DD_roundies.IE8){el.vml.stroke.style.margin='-1px';if(typeof el.bW=='undefined'){this.vmlStrokeWeight(el);}el.vml.color.style.margin=(el.bW.Top-1)+'px '+(el.bW.Left-1)+'px';}},vmlPath:function(el){var coords=function(direction,w,h,r,aL,aT,mult){var cmd=direction?['m','qy','l','qx','l','qy','l','qx','l']:['qx','l','qy','l','qx','l','qy','l','m'];aL*=mult;aT*=mult;w*=mult;h*=mult;var R=r.slice();for(var i=0;i<4;i++){R[i]*=mult;R[i]=Math.min(w/2,h/2,R[i]);}var coords=[cmd[0]+Math.floor(0+aL)+','+Math.floor(R[0]+aT),cmd[1]+Math.floor(R[0]+aL)+','+Math.floor(0+aT),cmd[2]+Math.ceil(w-R[1]+aL)+','+Math.floor(0+aT),cmd[3]+Math.ceil(w+aL)+','+Math.floor(R[1]+aT),cmd[4]+Math.ceil(w+aL)+','+Math.ceil(h-R[2]+aT),cmd[5]+Math.ceil(w-R[2]+aL)+','+Math.ceil(h+aT),cmd[6]+Math.floor(R[3]+aL)+','+Math.ceil(h+aT),cmd[7]+Math.floor(0+aL)+','+Math.ceil(h-R[3]+aT),cmd[8]+Math.floor(0+aL)+','+Math.floor(R[0]+aT)];if(!direction){coords.reverse();}var path=coords.join('');return path;};if(typeof el.bW=='undefined'){this.vmlStrokeWeight(el);}var bW=el.bW;var rad=el.DD_radii.slice();var outer=coords(true,el.dim.Width,el.dim.Height,rad,0,0,2);rad[0]-=Math.max(bW.Left,bW.Top);rad[1]-=Math.max(bW.Top,bW.Right);rad[2]-=Math.max(bW.Right,bW.Bottom);rad[3]-=Math.max(bW.Bottom,bW.Left);for(var i=0;i<4;i++){rad[i]=Math.max(rad[i],0);}var inner=coords(false,el.dim.Width-bW.Left-bW.Right,el.dim.Height-bW.Top-bW.Bottom,rad,bW.Left,bW.Top,2);var image=coords(true,el.dim.Width-bW.Left-bW.Right+1,el.dim.Height-bW.Top-bW.Bottom+1,rad,bW.Left,bW.Top,1);el.vml.color.path=inner;el.vml.image.path=image;el.vml.stroke.path=outer+inner;this.clipImage(el);},nixBorder:function(el){var s=el.currentStyle;var sides=['Top','Left','Right','Bottom'];for(var i=0;i<4;i++){el.runtimeStyle['padding'+sides[i]]=(parseInt(s['padding'+sides[i]],10)||0)+(parseInt(s['border'+sides[i]+'Width'],10)||0)+'px';}el.runtimeStyle.border='none';},clipImage:function(el){var lib=DD_roundies;if(!el.vmlBg||!lib.imgSize[el.vmlBg]){return;}var thisStyle=el.currentStyle;var bg={'X':0,'Y':0};var figurePercentage=function(axis,position){var fraction=true;switch(position){case'left':case'top':bg[axis]=0;break;case'center':bg[axis]=0.5;break;case'right':case'bottom':bg[axis]=1;break;default:if(position.search('%')!=-1){bg[axis]=parseInt(position,10)*0.01;}else{fraction=false;}}var horz=(axis=='X');bg[axis]=Math.ceil(fraction?((el.dim[horz?'Width':'Height']-(el.bW[horz?'Left':'Top']+el.bW[horz?'Right':'Bottom']))*bg[axis])-(lib.imgSize[el.vmlBg][horz?'width':'height']*bg[axis]):parseInt(position,10));bg[axis]+=1;};for(var b in bg){figurePercentage(b,thisStyle['backgroundPosition'+b]);}el.vml.image.filler.position=(bg.X/(el.dim.Width-el.bW.Left-el.bW.Right+1))+','+(bg.Y/(el.dim.Height-el.bW.Top-el.bW.Bottom+1));var bgR=thisStyle.backgroundRepeat;var c={'T':1,'R':el.dim.Width+1,'B':el.dim.Height+1,'L':1};var altC={'X':{'b1':'L','b2':'R','d':'Width'},'Y':{'b1':'T','b2':'B','d':'Height'}};if(bgR!='repeat'){c={'T':(bg.Y),'R':(bg.X+lib.imgSize[el.vmlBg].width),'B':(bg.Y+lib.imgSize[el.vmlBg].height),'L':(bg.X)};if(bgR.search('repeat-')!=-1){var v=bgR.split('repeat-')[1].toUpperCase();c[altC[v].b1]=1;c[altC[v].b2]=el.dim[altC[v].d]+1;}if(c.B>el.dim.Height){c.B=el.dim.Height+1;}}el.vml.image.style.clip='rect('+c.T+'px '+c.R+'px '+c.B+'px '+c.L+'px)';},pseudoClass:function(el){var self=this;setTimeout(function(){self.applyVML(el);},1);},reposition:function(el){this.vmlOffsets(el);this.vmlPath(el);},roundify:function(rad){this.style.behavior='none';if(!this.currentStyle){return;}else{var thisStyle=this.currentStyle;}var allowed={BODY:false,TABLE:false,TR:false,TD:false,SELECT:false,OPTION:false,TEXTAREA:false};if(allowed[this.nodeName]===false){return;}var self=this;var lib=DD_roundies;this.DD_radii=rad;this.dim={};var handlers={resize:'reposition',move:'reposition'};if(this.nodeName=='A'){var moreForAs={mouseleave:'pseudoClass',mouseenter:'pseudoClass',focus:'pseudoClass',blur:'pseudoClass'};for(var a in moreForAs){handlers[a]=moreForAs[a];}}for(var h in handlers){this.attachEvent('on'+h,function(){lib[handlers[h]](self);});}this.attachEvent('onpropertychange',function(){lib.readPropertyChanges(self);});var giveLayout=function(el){el.style.zoom=1;if(el.currentStyle.position=='static'){el.style.position='relative';}};giveLayout(this.offsetParent);giveLayout(this);this.vmlBox=document.createElement('ignore');this.vmlBox.runtimeStyle.cssText='behavior:none; position:absolute; margin:0; padding:0; border:0; background:none;';this.vmlBox.style.zIndex=thisStyle.zIndex;this.vml={'color':true,'image':true,'stroke':true};for(var v in this.vml){this.vml[v]=document.createElement(lib.ns+':shape');this.vml[v].filler=document.createElement(lib.ns+':fill');this.vml[v].appendChild(this.vml[v].filler);this.vml[v].stroked=false;this.vml[v].style.position='absolute';this.vml[v].style.zIndex=thisStyle.zIndex;this.vml[v].coordorigin='1,1';this.vmlBox.appendChild(this.vml[v]);}this.vml.image.fillcolor='none';this.vml.image.filler.type='tile';this.parentNode.insertBefore(this.vmlBox,this);this.isImg=false;if(this.nodeName=='IMG'){this.isImg=true;this.style.visibility='hidden';}setTimeout(function(){lib.applyVML(self);},1);}};try{document.execCommand("BackgroundImageCache",false,true);}catch(err){}DD_roundies.IEversion();DD_roundies.createVmlNameSpace();DD_roundies.createVmlStyleSheet();if(DD_roundies.IE8&&document.attachEvent&&DD_roundies.querySelector){document.attachEvent('onreadystatechange',function(){if(document.readyState=='complete'){var selectors=DD_roundies.selectorsToProcess;var length=selectors.length;var delayedCall=function(node,radii,index){setTimeout(function(){DD_roundies.roundify.call(node,radii);},index*100);};for(var i=0;i<length;i++){var results=document.querySelectorAll(selectors[i].selector);var rLength=results.length;for(var r=0;r<rLength;r++){if(results[r].nodeName!='INPUT'){delayedCall(results[r],selectors[i].radii,r);}}}}});};;

/****** /ga/TrackingHandler.js ******/

/**
 * $Id: TrackingHandler.js 15731 2009-06-10 15:44:11Z ajl $
 * @author ajl
 */

EXPOTV.GAEventTracking = new function()
{   
    var self = this;
    
    this.init = function()
    {
        var $linksWithGAClass = $("a.ga, :submit.ga");
        
        $linksWithGAClass.each(function(i, link)
        {
            var linkClassesArr = $(link).attr('class').split(' ');
            
            $.each(linkClassesArr, function(i, cssClass)
            {
                if (cssClass.indexOf("ga-event_") == 0) // These are used for GA events.
                {
                    var aGATrackClassSplit = cssClass.split("_");
                    
                    var oGATrackClassData = {
                        "eventTrackerObjName":  aGATrackClassSplit[1],
                        "actionName":           aGATrackClassSplit[2],
                        "actionLabel":          aGATrackClassSplit[3],
                        "actionValue":          (aGATrackClassSplit[4]) ? parseInt(aGATrackClassSplit[4]) : null // The GA script requires this to be an int.
                    };
                    
                    if ($(link).is('a'))
                    {
                        $(link).click(function()
                        {
                            self.trackEventAction(oGATrackClassData);
                        });
	                    
	                    console.log("Attached ga-event (on click) handler to: ");
	                    console.log(link);
                    }
                    else if ($(link).is(':submit')) // If element is a submit button, also record when a form submit happens by other means, like by hitting enter.
                    {
                        $(link).parents('form:first').submit(function()
                        {
                            self.trackEventAction(oGATrackClassData);
                        });
                        
	                    console.log("Attached ga-event (on form submit) handler to: ");
	                    console.log(link);
                    }
                }
                else if (cssClass.indexOf("ga-ecom_") == 0) // These are for GA ecommerce transactions.
                {
                    var aGATrackClassSplit = cssClass.split("_");
                    
                    var oGATrackClassData = {
                        "eventTrackerObjName":    aGATrackClassSplit[1],
                        "actionName":             aGATrackClassSplit[2],
                        "actionLabel":            EXPOTV.ProductDetail.productNameURLSafe,
                        "actionValue":            parseInt(aGATrackClassSplit[4]), // The GA script requires this to be an int.
                        "productId":              EXPOTV.ProductDetail.productId,
                        "productName":            EXPOTV.ProductDetail.productNameURLSafe,
                        "productTopCategoryName": EXPOTV.ProductDetail.productTopCategoryShortName
                    };
                   
                    $(link).click(function()
                    {
                        self.trackEcomTransaction(oGATrackClassData);
                    });
                    
                    console.log("Attached ga-ecom transaction handler to: ");
                    console.log(link);
                }
                
            });
            
        });
        
    }
    
    this.trackEcomTransaction = function(oData)
    { 
        /* 1: Record event */
        self.trackEventAction(oData);
        
        /* 2: Record transaction */
        var oDate = new Date();
        var randNumber = Math.floor(Math.random()*9999999);
        
        var orderID = EXPOTV.ProductDetail.timestamp + "_" + randNumber;
        var actionValueInDollars = oData.actionValue / 100; // Value gets passed in as cents.
        
        EXPOTV.Google.pagetracker._addItem(
            orderID,                            // GA order ID
            oData.productId,                    // GA SKU
            oData.productName,                  
            oData.productTopCategoryName,       // GA category
            actionValueInDollars,               // GA price
            "1"                                 // GA quantity
        );
        
        EXPOTV.Google.pagetracker._addTrans(
            orderID,                            // GA order ID
            oData.eventTrackerObjName,          // 
            actionValueInDollars
        );
        
        console.log("Return value from GA trackTrans function:");
        console.log(EXPOTV.Google.pagetracker._trackTrans());
        
    }
    
    this.trackEventAction = function(oData)
    { 
        var oGAEventTracker = EXPOTV.Google.pagetracker._createEventTracker(oData.eventTrackerObjName);
        
        if (oGAEventTracker._trackEvent(oData.actionName, oData.actionLabel, oData.actionValue))
        {
            console.log("Sent event:");
            console.log(oData);
        }
        else
        {
            console.log("Sending event FAILED:");
            console.log(oData);
        }
    }
};

$(EXPOTV.GAEventTracking.init);;

/****** /sites/brands/external/widget/186/Gallery.js ******/

/**
 *  $Id: Gallery.js 15952 2009-06-13 17:02:23Z ajl $
 *  @author ajl / expotv.com
 */ 
 
if (typeof EXPOTV == "undefined") EXPOTV = {};
if (typeof EXPOTV.Widget == "undefined") EXPOTV.OldSpice = {};
if (typeof console == "undefined") { var console = {}; console.log = function(){}; /*fail silently in IE*/ }
 
EXPOTV.OldSpice.Gallery = new function()
{
    var self = this;
    
    this.videoItemsObj = null;
    this.embedCodeSnippet = "<object width='320' height='303'>" +
    		                "<param name='movie' value='http://videos.oldspice.com/video/embed/!VIDEOID!/09e335f89d491c2294be3437d198c682'></param>" +
    		                "<param name='wmode' value=''></param><param name='allowfullscreen' value='true'></param>" +
    		                "<param name='allowScriptAccess' value='always'>" +
    		                "<embed src='http://videos.oldspice.com/video/embed/!VIDEOID!/09e335f89d491c2294be3437d198c682' type='application/x-shockwave-flash' wmode='' width='320' height='303' allowScriptAccess='always' allowfullscreen='true'></embed>" +
    		                "</object>";
    this.imageEmbedCodeSnippet = '<a href="http://www.oldspice.com" target="_blank"><img src="http://photos.oldspice.com/!VIDEOID!_246.jpg" border="0"></a>';
    
    this.init = function()
    {
    	self.setIframeHeightInParent();
    	
	    self.attachSortByHandlers();
	    self.attachVideoLinkHandlers();
	    self.attachPopupCloseHandlers();
	    self.openPreselectedVideo();
	    
    	$.preloadCssImages();
    }
    
    this.setIframeHeightInParent = function()
    {
    	// Integration wit OS
    	var height = $('#oldspice-gwrap').height() + 30;
    	
	if (height < 650)
	    height = 650;
	
    	document.domain = 'oldspice.com';
        
        if (window.parent && window.parent.setFrameHeight)
        {    	
	    	window.parent.setFrameHeight('gallery', height);
        }
    }
    
    this.attachSortByHandlers = function()
    {
    	$('#ddlSortBy').change(function()
    	{
    		$('form#sortByForm').submit();
    	});
    }
    
    this.attachVideoLinkHandlers = function()
    {
    	$('div.entry a').click(function(e)
    	{
    		e.preventDefault();
            var videoIndexInt = $('div.entry').index($(this).parents('div.entry')[0]);
            var videoIdInt = $(this).attr('href').match(/\d+/);
            var videoInfoObj = self.items[videoIndexInt];

            self.doOverlay(videoInfoObj);    		    
    	});
    }
    
    this.doOverlay = function(videoInfoObj)
    {
    	var submissionUrl = self.challengeUrl.replace(/\/*$/, '?video_id='+videoInfoObj.video_id);

    	self.centerOverlay();
    	
    	if (window.parent && window.parent.scrollToFrameTop)
    	{
    		window.parent.scrollToFrameTop();
    	}
    	
		$('#popupWrapper')
		    .find('.popit').removeClass('pimg pvid').addClass((videoInfoObj.type == 'image' ? 'pimg' : 'pvid')).end()
		    // Fancy animations
		    .show()
		    .find('#popupContentsWrapper').hide().end()
		    .find('.popit').hide().slideDown(function()
		    {
		    	$('#popupContentsWrapper').show();
		    	
    		    if (videoInfoObj.type == 'image')
    		    {
    		    	var embedSnippet = self.imageEmbedCodeSnippet.replace(/!VIDEOID!/g, videoInfoObj.video_id);
    		    	
    		    	$('#popupWrapper')
    		    	    .find('.showcase').html('<img src="' + videoInfoObj.video_url + '" />').hide().fadeIn().end()
    		    	    .find('#graburl').val(submissionUrl).end()
    		    	    .find('#evid').val(embedSnippet);
    		    }
    		    else
    		    {
    		    	var embedSnippet = self.embedCodeSnippet.replace(/!VIDEOID!/g, videoInfoObj.video_id);
    		    	
    		    	$('#popupWrapper')
    		    	    .find('.showcase').html(embedSnippet).end()
    		    	    .find('#graburl').val(submissionUrl).end()
    		    	    .find('#evid').val(embedSnippet);
    		    }
		    })
            .find('.showcase').css('visibility', 'visible').end()
		    // Fill in popup stuff
		    .find('.title').text(videoInfoObj.video_title).end()
		    .find('.username').text(videoInfoObj.video_username).end()
		    // Put the right submission ID in the share links
		    .find('p.share a').each(function()
		    {
		    	var classes = $(this).attr('class');
		    	var href = $(this).attr('href');
		    	$(this).attr('class', classes.replace(/_([0-9]+)$/, '_'+videoInfoObj.video_id));
		    	$(this).attr('href', href.replace(/http:\/\/(?:www.)?oldspice.com.*/, submissionUrl));
		    });
		    
	    self.logVideoClick(videoInfoObj.video_id);
    }
    
    this.centerOverlay = function()
    {
        var arrayPageSizes = EXPOTV.utils.getPageSizeArray();
        var arrayPageScroll = EXPOTV.utils.getPageScrollArray();
        
        $('#popupWrapper').css(
        {
            width: arrayPageSizes[0],
            height: arrayPageSizes[1]
        });
        
        $('#popupContainer').css({ 
            "top": arrayPageScroll[1] + 60, 
            //"top": 100,
            "left": (arrayPageSizes[0] / 2 - $('#popupContainer').css('width').match(/\d+/) / 2) - 75
        });
    }
    
    this.openPreselectedVideo = function()
    {
        if (self.preselectedItem)
            self.doOverlay(self.preselectedItem);
    }
    
    this.attachPopupCloseHandlers = function()
    {
    	$('#popupWrapper a.closeit').click(function(e)
    	{
            e.preventDefault();
            
    		$('#popupWrapper')
                .find('.showcase').css('visibility', 'hidden').end() // Avoid weird flash fadeout
	    		.addClass('pop-wrap-flashBg')
    		    .fadeOut(function()
	    		{
	    			$(this)
	    			    .removeClass('pop-wrap-flashBg')
	    			    .find('.showcase').empty();
	    		});
    	});
    }
    
    this.logVideoClick = function(videoIdInt)
    {
        var postUrlStr = document.location.pathname.replace(/.html/, '.log');
        
    	$.post(postUrlStr, { video_id: videoIdInt });
    }
    
};

$(EXPOTV.OldSpice.Gallery.init);;

