
/*
 * inclure les fichiers javascript
 * Generate : Thu Feb 23 03:42:22 CET 2012
 */

/*!
 * jQuery JavaScript Library v1.4.4
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Thu Nov 11 19:04:53 2010 -0500
 */
(function(E,B){function ka(a,b,d){if(d===B&&a.nodeType===1){d=a.getAttribute("data-"+b);if(typeof d==="string"){try{d=d==="true"?true:d==="false"?false:d==="null"?null:!c.isNaN(d)?parseFloat(d):Ja.test(d)?c.parseJSON(d):d}catch(e){}c.data(a,b,d)}else d=B}return d}function U(){return false}function ca(){return true}function la(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ka(a){var b,d,e,f,h,l,k,o,x,r,A,C=[];f=[];h=c.data(this,this.nodeType?"events":"__events__");if(typeof h==="function")h=
h.events;if(!(a.liveFired===this||!h||!h.live||a.button&&a.type==="click")){if(a.namespace)A=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var J=h.live.slice(0);for(k=0;k<J.length;k++){h=J[k];h.origType.replace(X,"")===a.type?f.push(h.selector):J.splice(k--,1)}f=c(a.target).closest(f,a.currentTarget);o=0;for(x=f.length;o<x;o++){r=f[o];for(k=0;k<J.length;k++){h=J[k];if(r.selector===h.selector&&(!A||A.test(h.namespace))){l=r.elem;e=null;if(h.preType==="mouseenter"||
h.preType==="mouseleave"){a.type=h.preType;e=c(a.relatedTarget).closest(h.selector)[0]}if(!e||e!==l)C.push({elem:l,handleObj:h,level:r.level})}}}o=0;for(x=C.length;o<x;o++){f=C[o];if(d&&f.level>d)break;a.currentTarget=f.elem;a.data=f.handleObj.data;a.handleObj=f.handleObj;A=f.handleObj.origHandler.apply(f.elem,arguments);if(A===false||a.isPropagationStopped()){d=f.level;if(A===false)b=false;if(a.isImmediatePropagationStopped())break}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(La,
"`").replace(Ma,"&")}function ma(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Na.test(b))return c.filter(b,e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function na(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this,
e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var l in e[h])c.event.add(this,h,e[h][l],e[h][l].data)}}})}function Oa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function oa(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?Pa:Qa,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a,
"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function da(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Ra.test(a)?e(a,h):da(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?e(a,""):c.each(b,function(f,h){da(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(pa.concat.apply([],pa.slice(0,b)),function(){d[this]=a});return d}function qa(a){if(!ea[a]){var b=c("<"+
a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";ea[a]=d}return ea[a]}function fa(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var t=E.document,c=function(){function a(){if(!b.isReady){try{t.documentElement.doScroll("left")}catch(j){setTimeout(a,1);return}b.ready()}}var b=function(j,s){return new b.fn.init(j,s)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,l=/\S/,k=/^\s+/,o=/\s+$/,x=/\W/,r=/\d/,A=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,
C=/^[\],:{}\s]*$/,J=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,I=/(?:^|:|,)(?:\s*\[)+/g,L=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,i=/(msie) ([\w.]+)/,n=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,q=[],u,y=Object.prototype.toString,F=Object.prototype.hasOwnProperty,M=Array.prototype.push,N=Array.prototype.slice,O=String.prototype.trim,D=Array.prototype.indexOf,R={};b.fn=b.prototype={init:function(j,
s){var v,z,H;if(!j)return this;if(j.nodeType){this.context=this[0]=j;this.length=1;return this}if(j==="body"&&!s&&t.body){this.context=t;this[0]=t.body;this.selector="body";this.length=1;return this}if(typeof j==="string")if((v=h.exec(j))&&(v[1]||!s))if(v[1]){H=s?s.ownerDocument||s:t;if(z=A.exec(j))if(b.isPlainObject(s)){j=[t.createElement(z[1])];b.fn.attr.call(j,s,true)}else j=[H.createElement(z[1])];else{z=b.buildFragment([v[1]],[H]);j=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this,
j)}else{if((z=t.getElementById(v[2]))&&z.parentNode){if(z.id!==v[2])return f.find(j);this.length=1;this[0]=z}this.context=t;this.selector=j;return this}else if(!s&&!x.test(j)){this.selector=j;this.context=t;j=t.getElementsByTagName(j);return b.merge(this,j)}else return!s||s.jquery?(s||f).find(j):b(s).find(j);else if(b.isFunction(j))return f.ready(j);if(j.selector!==B){this.selector=j.selector;this.context=j.context}return b.makeArray(j,this)},selector:"",jquery:"1.4.4",length:0,size:function(){return this.length},
toArray:function(){return N.call(this,0)},get:function(j){return j==null?this.toArray():j<0?this.slice(j)[0]:this[j]},pushStack:function(j,s,v){var z=b();b.isArray(j)?M.apply(z,j):b.merge(z,j);z.prevObject=this;z.context=this.context;if(s==="find")z.selector=this.selector+(this.selector?" ":"")+v;else if(s)z.selector=this.selector+"."+s+"("+v+")";return z},each:function(j,s){return b.each(this,j,s)},ready:function(j){b.bindReady();if(b.isReady)j.call(t,b);else q&&q.push(j);return this},eq:function(j){return j===
-1?this.slice(j):this.slice(j,+j+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(j){return this.pushStack(b.map(this,function(s,v){return j.call(s,v,s)}))},end:function(){return this.prevObject||b(null)},push:M,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var j,s,v,z,H,G=arguments[0]||{},K=1,Q=arguments.length,ga=false;
if(typeof G==="boolean"){ga=G;G=arguments[1]||{};K=2}if(typeof G!=="object"&&!b.isFunction(G))G={};if(Q===K){G=this;--K}for(;K<Q;K++)if((j=arguments[K])!=null)for(s in j){v=G[s];z=j[s];if(G!==z)if(ga&&z&&(b.isPlainObject(z)||(H=b.isArray(z)))){if(H){H=false;v=v&&b.isArray(v)?v:[]}else v=v&&b.isPlainObject(v)?v:{};G[s]=b.extend(ga,v,z)}else if(z!==B)G[s]=z}return G};b.extend({noConflict:function(j){E.$=e;if(j)E.jQuery=d;return b},isReady:false,readyWait:1,ready:function(j){j===true&&b.readyWait--;
if(!b.readyWait||j!==true&&!b.isReady){if(!t.body)return setTimeout(b.ready,1);b.isReady=true;if(!(j!==true&&--b.readyWait>0))if(q){var s=0,v=q;for(q=null;j=v[s++];)j.call(t,b);b.fn.trigger&&b(t).trigger("ready").unbind("ready")}}},bindReady:function(){if(!p){p=true;if(t.readyState==="complete")return setTimeout(b.ready,1);if(t.addEventListener){t.addEventListener("DOMContentLoaded",u,false);E.addEventListener("load",b.ready,false)}else if(t.attachEvent){t.attachEvent("onreadystatechange",u);E.attachEvent("onload",
b.ready);var j=false;try{j=E.frameElement==null}catch(s){}t.documentElement.doScroll&&j&&a()}}},isFunction:function(j){return b.type(j)==="function"},isArray:Array.isArray||function(j){return b.type(j)==="array"},isWindow:function(j){return j&&typeof j==="object"&&"setInterval"in j},isNaN:function(j){return j==null||!r.test(j)||isNaN(j)},type:function(j){return j==null?String(j):R[y.call(j)]||"object"},isPlainObject:function(j){if(!j||b.type(j)!=="object"||j.nodeType||b.isWindow(j))return false;if(j.constructor&&
!F.call(j,"constructor")&&!F.call(j.constructor.prototype,"isPrototypeOf"))return false;for(var s in j);return s===B||F.call(j,s)},isEmptyObject:function(j){for(var s in j)return false;return true},error:function(j){throw j;},parseJSON:function(j){if(typeof j!=="string"||!j)return null;j=b.trim(j);if(C.test(j.replace(J,"@").replace(w,"]").replace(I,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(j):(new Function("return "+j))();else b.error("Invalid JSON: "+j)},noop:function(){},globalEval:function(j){if(j&&
l.test(j)){var s=t.getElementsByTagName("head")[0]||t.documentElement,v=t.createElement("script");v.type="text/javascript";if(b.support.scriptEval)v.appendChild(t.createTextNode(j));else v.text=j;s.insertBefore(v,s.firstChild);s.removeChild(v)}},nodeName:function(j,s){return j.nodeName&&j.nodeName.toUpperCase()===s.toUpperCase()},each:function(j,s,v){var z,H=0,G=j.length,K=G===B||b.isFunction(j);if(v)if(K)for(z in j){if(s.apply(j[z],v)===false)break}else for(;H<G;){if(s.apply(j[H++],v)===false)break}else if(K)for(z in j){if(s.call(j[z],
z,j[z])===false)break}else for(v=j[0];H<G&&s.call(v,H,v)!==false;v=j[++H]);return j},trim:O?function(j){return j==null?"":O.call(j)}:function(j){return j==null?"":j.toString().replace(k,"").replace(o,"")},makeArray:function(j,s){var v=s||[];if(j!=null){var z=b.type(j);j.length==null||z==="string"||z==="function"||z==="regexp"||b.isWindow(j)?M.call(v,j):b.merge(v,j)}return v},inArray:function(j,s){if(s.indexOf)return s.indexOf(j);for(var v=0,z=s.length;v<z;v++)if(s[v]===j)return v;return-1},merge:function(j,
s){var v=j.length,z=0;if(typeof s.length==="number")for(var H=s.length;z<H;z++)j[v++]=s[z];else for(;s[z]!==B;)j[v++]=s[z++];j.length=v;return j},grep:function(j,s,v){var z=[],H;v=!!v;for(var G=0,K=j.length;G<K;G++){H=!!s(j[G],G);v!==H&&z.push(j[G])}return z},map:function(j,s,v){for(var z=[],H,G=0,K=j.length;G<K;G++){H=s(j[G],G,v);if(H!=null)z[z.length]=H}return z.concat.apply([],z)},guid:1,proxy:function(j,s,v){if(arguments.length===2)if(typeof s==="string"){v=j;j=v[s];s=B}else if(s&&!b.isFunction(s)){v=
s;s=B}if(!s&&j)s=function(){return j.apply(v||this,arguments)};if(j)s.guid=j.guid=j.guid||s.guid||b.guid++;return s},access:function(j,s,v,z,H,G){var K=j.length;if(typeof s==="object"){for(var Q in s)b.access(j,Q,s[Q],z,H,v);return j}if(v!==B){z=!G&&z&&b.isFunction(v);for(Q=0;Q<K;Q++)H(j[Q],s,z?v.call(j[Q],Q,H(j[Q],s)):v,G);return j}return K?H(j[0],s):B},now:function(){return(new Date).getTime()},uaMatch:function(j){j=j.toLowerCase();j=L.exec(j)||g.exec(j)||i.exec(j)||j.indexOf("compatible")<0&&n.exec(j)||
[];return{browser:j[1]||"",version:j[2]||"0"}},browser:{}});b.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(j,s){R["[object "+s+"]"]=s.toLowerCase()});m=b.uaMatch(m);if(m.browser){b.browser[m.browser]=true;b.browser.version=m.version}if(b.browser.webkit)b.browser.safari=true;if(D)b.inArray=function(j,s){return D.call(s,j)};if(!/\s/.test("\u00a0")){k=/^[\s\xA0]+/;o=/[\s\xA0]+$/}f=b(t);if(t.addEventListener)u=function(){t.removeEventListener("DOMContentLoaded",u,
false);b.ready()};else if(t.attachEvent)u=function(){if(t.readyState==="complete"){t.detachEvent("onreadystatechange",u);b.ready()}};return E.jQuery=E.$=b}();(function(){c.support={};var a=t.documentElement,b=t.createElement("script"),d=t.createElement("div"),e="script"+c.now();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],l=t.createElement("select"),
k=l.appendChild(t.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:k.selected,deleteExpando:true,optDisabled:false,checkClone:false,
scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};l.disabled=true;c.support.optDisabled=!k.disabled;b.type="text/javascript";try{b.appendChild(t.createTextNode("window."+e+"=1;"))}catch(o){}a.insertBefore(b,a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}try{delete b.test}catch(x){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function r(){c.support.noCloneEvent=
false;d.detachEvent("onclick",r)});d.cloneNode(true).fireEvent("onclick")}d=t.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=t.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var r=t.createElement("div");r.style.width=r.style.paddingLeft="1px";t.body.appendChild(r);c.boxModel=c.support.boxModel=r.offsetWidth===2;if("zoom"in r.style){r.style.display="inline";r.style.zoom=
1;c.support.inlineBlockNeedsLayout=r.offsetWidth===2;r.style.display="";r.innerHTML="<div style='width:4px;'></div>";c.support.shrinkWrapBlocks=r.offsetWidth!==2}r.innerHTML="<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";var A=r.getElementsByTagName("td");c.support.reliableHiddenOffsets=A[0].offsetHeight===0;A[0].style.display="";A[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&A[0].offsetHeight===0;r.innerHTML="";t.body.removeChild(r).style.display=
"none"});a=function(r){var A=t.createElement("div");r="on"+r;var C=r in A;if(!C){A.setAttribute(r,"return;");C=typeof A[r]==="function"}return C};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();var ra={},Ja=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?ra:a;var e=a.nodeType,f=e?a[c.expando]:null,h=
c.cache;if(!(e&&!f&&typeof b==="string"&&d===B)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==B)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?ra:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando);
else if(d)delete f[e];else for(var l in a)delete a[l]}},acceptData:function(a){if(a.nodeName){var b=c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){var d=null;if(typeof a==="undefined"){if(this.length){var e=this[0].attributes,f;d=c.data(this[0]);for(var h=0,l=e.length;h<l;h++){f=e[h].name;if(f.indexOf("data-")===0){f=f.substr(5);ka(this[0],f,d[f])}}}return d}else if(typeof a==="object")return this.each(function(){c.data(this,
a)});var k=a.split(".");k[1]=k[1]?"."+k[1]:"";if(b===B){d=this.triggerHandler("getData"+k[1]+"!",[k[0]]);if(d===B&&this.length){d=c.data(this[0],a);d=ka(this[0],a,d)}return d===B&&k[1]?this.data(k[0]):d}else return this.each(function(){var o=c(this),x=[k[0],b];o.triggerHandler("setData"+k[1]+"!",x);c.data(this,a,b);o.triggerHandler("changeData"+k[1]+"!",x)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var e=
c.data(a,b);if(!d)return e||[];if(!e||c.isArray(d))e=c.data(a,b,c.makeArray(d));else e.push(d);return e}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),e=d.shift();if(e==="inprogress")e=d.shift();if(e){b==="fx"&&d.unshift("inprogress");e.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===B)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,
a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var sa=/[\n\t]/g,ha=/\s+/,Sa=/\r/g,Ta=/^(?:href|src|style)$/,Ua=/^(?:button|input)$/i,Va=/^(?:button|input|object|select|textarea)$/i,Wa=/^a(?:rea)?$/i,ta=/^(?:radio|checkbox)$/i;c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",
colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};c.fn.extend({attr:function(a,b){return c.access(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(x){var r=c(this);r.addClass(a.call(this,x,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===
1)if(f.className){for(var h=" "+f.className+" ",l=f.className,k=0,o=b.length;k<o;k++)if(h.indexOf(" "+b[k]+" ")<0)l+=" "+b[k];f.className=c.trim(l)}else f.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(o){var x=c(this);x.removeClass(a.call(this,o,x.attr("class")))});if(a&&typeof a==="string"||a===B)for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===1&&f.className)if(a){for(var h=(" "+f.className+" ").replace(sa," "),
l=0,k=b.length;l<k;l++)h=h.replace(" "+b[l]+" "," ");f.className=c.trim(h)}else f.className=""}return this},toggleClass:function(a,b){var d=typeof a,e=typeof b==="boolean";if(c.isFunction(a))return this.each(function(f){var h=c(this);h.toggleClass(a.call(this,f,h.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var f,h=0,l=c(this),k=b,o=a.split(ha);f=o[h++];){k=e?k:!l.hasClass(f);l[k?"addClass":"removeClass"](f)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,
"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(sa," ").indexOf(a)>-1)return true;return false},val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one";
if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h<e;h++){var l=f[h];if(l.selected&&(c.support.optDisabled?!l.disabled:l.getAttribute("disabled")===null)&&(!l.parentNode.disabled||!c.nodeName(l.parentNode,"optgroup"))){a=c(l).val();if(b)return a;d.push(a)}}return d}if(ta.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Sa,"")}return B}var k=c.isFunction(a);return this.each(function(o){var x=c(this),r=a;if(this.nodeType===1){if(k)r=
a.call(this,o,x.val());if(r==null)r="";else if(typeof r==="number")r+="";else if(c.isArray(r))r=c.map(r,function(C){return C==null?"":C+""});if(c.isArray(r)&&ta.test(this.type))this.checked=c.inArray(x.val(),r)>=0;else if(c.nodeName(this,"select")){var A=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),A)>=0});if(!A.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},
attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return B;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==B;b=e&&c.props[b]||b;var h=Ta.test(b);if((b in a||a[b]!==B)&&e&&!h){if(f){b==="type"&&Ua.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&
b.specified?b.value:Va.test(a.nodeName)||Wa.test(a.nodeName)&&a.href?0:B;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return B;a=!c.support.hrefNormalized&&e&&h?a.getAttribute(b,2):a.getAttribute(b);return a===null?B:a}});var X=/\.(.*)$/,ia=/^(?:textarea|input|select)$/i,La=/\./g,Ma=/ /g,Xa=/[^\w\s.|`]/g,Ya=function(a){return a.replace(Xa,"\\$&")},ua={focusin:0,focusout:0};
c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;else if(!d)return;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var l=a.nodeType?"events":"__events__",k=h[l],o=h.handle;if(typeof k==="function"){o=k.handle;k=k.events}else if(!k){a.nodeType||(h[l]=h=function(){});h.events=k={}}if(!o)h.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,
arguments):B};o.elem=a;b=b.split(" ");for(var x=0,r;l=b[x++];){h=f?c.extend({},f):{handler:d,data:e};if(l.indexOf(".")>-1){r=l.split(".");l=r.shift();h.namespace=r.slice(0).sort().join(".")}else{r=[];h.namespace=""}h.type=l;if(!h.guid)h.guid=d.guid;var A=k[l],C=c.event.special[l]||{};if(!A){A=k[l]=[];if(!C.setup||C.setup.call(a,e,r,o)===false)if(a.addEventListener)a.addEventListener(l,o,false);else a.attachEvent&&a.attachEvent("on"+l,o)}if(C.add){C.add.call(a,h);if(!h.handler.guid)h.handler.guid=
d.guid}A.push(h);c.event.global[l]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,l=0,k,o,x,r,A,C,J=a.nodeType?"events":"__events__",w=c.data(a),I=w&&w[J];if(w&&I){if(typeof I==="function"){w=I;I=I.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in I)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[l++];){r=f;k=f.indexOf(".")<0;o=[];if(!k){o=f.split(".");f=o.shift();x=RegExp("(^|\\.)"+
c.map(o.slice(0).sort(),Ya).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(A=I[f])if(d){r=c.event.special[f]||{};for(h=e||0;h<A.length;h++){C=A[h];if(d.guid===C.guid){if(k||x.test(C.namespace)){e==null&&A.splice(h--,1);r.remove&&r.remove.call(a,C)}if(e!=null)break}}if(A.length===0||e!=null&&A.length===1){if(!r.teardown||r.teardown.call(a,o)===false)c.removeEvent(a,f,w.handle);delete I[f]}}else for(h=0;h<A.length;h++){C=A[h];if(k||x.test(C.namespace)){c.event.remove(a,r,C.handler,h);A.splice(h--,1)}}}if(c.isEmptyObject(I)){if(b=
w.handle)b.elem=null;delete w.events;delete w.handle;if(typeof w==="function")c.removeData(a,J);else c.isEmptyObject(w)&&c.removeData(a)}}}}},trigger:function(a,b,d,e){var f=a.type||a;if(!e){a=typeof a==="object"?a[c.expando]?a:c.extend(c.Event(f),a):c.Event(f);if(f.indexOf("!")>=0){a.type=f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===
8)return B;a.result=B;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){var l;e=a.target;var k=f.replace(X,""),o=c.nodeName(e,"a")&&k===
"click",x=c.event.special[k]||{};if((!x._default||x._default.call(d,a)===false)&&!o&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[k]){if(l=e["on"+k])e["on"+k]=null;c.event.triggered=true;e[k]()}}catch(r){}if(l)e["on"+k]=l;c.event.triggered=false}}},handle:function(a){var b,d,e,f;d=[];var h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+
d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var l=d.length;f<l;f++){var k=d[f];if(b||e.test(k.namespace)){a.handler=k.handler;a.data=k.data;a.handleObj=k;k=k.handler.apply(this,h);if(k!==B){a.result=k;if(k===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
fix:function(a){if(a[c.expando])return a;var b=a;a=c.Event(b);for(var d=this.props.length,e;d;){e=this.props[--d];a[e]=b[e]}if(!a.target)a.target=a.srcElement||t;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=t.documentElement;d=t.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(a.which==null&&(a.charCode!=null||a.keyCode!=null))a.which=a.charCode!=null?a.charCode:a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==B)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,Y(a.origType,a.selector),c.extend({},a,{handler:Ka,guid:a.handler.guid}))},remove:function(a){c.event.remove(this,
Y(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,d){if(c.isWindow(this))this.onbeforeunload=d},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};c.removeEvent=t.removeEventListener?function(a,b,d){a.removeEventListener&&a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent&&a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp=
c.now();this[c.expando]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=ca;var a=this.originalEvent;if(a)if(a.preventDefault)a.preventDefault();else a.returnValue=false},stopPropagation:function(){this.isPropagationStopped=ca;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=ca;this.stopPropagation()},isDefaultPrevented:U,isPropagationStopped:U,isImmediatePropagationStopped:U};
var va=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},wa=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?wa:va,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?wa:va)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(){if(this.nodeName.toLowerCase()!==
"form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length){a.liveFired=B;return la("submit",this,arguments)}});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13){a.liveFired=B;return la("submit",this,arguments)}})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};if(!c.support.changeBubbles){var V,
xa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ia.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=xa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===B||f===e))if(e!=null||f){a.type="change";a.liveFired=
B;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",xa(a))}},setup:function(){if(this.type===
"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ia.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ia.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}t.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){ua[b]++===0&&t.addEventListener(a,d,true)},teardown:function(){--ua[b]===
0&&t.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=B}var l=b==="one"?c.proxy(f,function(o){c(this).unbind(o,l);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var k=this.length;h<k;h++)c.event.add(this[h],d,l,e)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&!a.preventDefault)for(var d in a)this.unbind(d,
a[d]);else{d=0;for(var e=this.length;d<e;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,e){return this.live(b,d,e,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var d=c.Event(a);d.preventDefault();d.stopPropagation();c.event.trigger(d,b,this[0]);return d.result}},toggle:function(a){for(var b=arguments,d=
1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(e){var f=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,f+1);e.preventDefault();return b[f].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var ya={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,e,f,h){var l,k=0,o,x,r=h||this.selector;h=h?this:c(this.context);if(typeof d===
"object"&&!d.preventDefault){for(l in d)h[b](l,e,d[l],r);return this}if(c.isFunction(e)){f=e;e=B}for(d=(d||"").split(" ");(l=d[k++])!=null;){o=X.exec(l);x="";if(o){x=o[0];l=l.replace(X,"")}if(l==="hover")d.push("mouseenter"+x,"mouseleave"+x);else{o=l;if(l==="focus"||l==="blur"){d.push(ya[l]+x);l+=x}else l=(ya[l]||l)+x;if(b==="live"){x=0;for(var A=h.length;x<A;x++)c.event.add(h[x],"live."+Y(l,r),{data:e,selector:r,handler:f,origType:l,origHandler:f,preType:o})}else h.unbind("live."+Y(l,r),f)}}return this}});
c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){c.fn[b]=function(d,e){if(e==null){e=d;d=null}return arguments.length>0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});
(function(){function a(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1&&!q){y.sizcache=n;y.sizset=p}if(y.nodeName.toLowerCase()===i){F=y;break}y=y[g]}m[p]=F}}}function b(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1){if(!q){y.sizcache=n;y.sizset=p}if(typeof i!=="string"){if(y===i){F=true;break}}else if(k.filter(i,
[y]).length>0){F=y;break}}y=y[g]}m[p]=F}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,l=true;[0,0].sort(function(){l=false;return 0});var k=function(g,i,n,m){n=n||[];var p=i=i||t;if(i.nodeType!==1&&i.nodeType!==9)return[];if(!g||typeof g!=="string")return n;var q,u,y,F,M,N=true,O=k.isXML(i),D=[],R=g;do{d.exec("");if(q=d.exec(R)){R=q[3];D.push(q[1]);if(q[2]){F=q[3];
break}}}while(q);if(D.length>1&&x.exec(g))if(D.length===2&&o.relative[D[0]])u=L(D[0]+D[1],i);else for(u=o.relative[D[0]]?[i]:k(D.shift(),i);D.length;){g=D.shift();if(o.relative[g])g+=D.shift();u=L(g,u)}else{if(!m&&D.length>1&&i.nodeType===9&&!O&&o.match.ID.test(D[0])&&!o.match.ID.test(D[D.length-1])){q=k.find(D.shift(),i,O);i=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]}if(i){q=m?{expr:D.pop(),set:C(m)}:k.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&i.parentNode?i.parentNode:i,O);u=q.expr?k.filter(q.expr,
q.set):q.set;if(D.length>0)y=C(u);else N=false;for(;D.length;){q=M=D.pop();if(o.relative[M])q=D.pop();else M="";if(q==null)q=i;o.relative[M](y,q,O)}}else y=[]}y||(y=u);y||k.error(M||g);if(f.call(y)==="[object Array]")if(N)if(i&&i.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&k.contains(i,y[g])))n.push(u[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&n.push(u[g]);else n.push.apply(n,y);else C(y,n);if(F){k(F,p,n,m);k.uniqueSort(n)}return n};k.uniqueSort=function(g){if(w){h=
l;g.sort(w);if(h)for(var i=1;i<g.length;i++)g[i]===g[i-1]&&g.splice(i--,1)}return g};k.matches=function(g,i){return k(g,null,null,i)};k.matchesSelector=function(g,i){return k(i,null,null,[g]).length>0};k.find=function(g,i,n){var m;if(!g)return[];for(var p=0,q=o.order.length;p<q;p++){var u,y=o.order[p];if(u=o.leftMatch[y].exec(g)){var F=u[1];u.splice(1,1);if(F.substr(F.length-1)!=="\\"){u[1]=(u[1]||"").replace(/\\/g,"");m=o.find[y](u,i,n);if(m!=null){g=g.replace(o.match[y],"");break}}}}m||(m=i.getElementsByTagName("*"));
return{set:m,expr:g}};k.filter=function(g,i,n,m){for(var p,q,u=g,y=[],F=i,M=i&&i[0]&&k.isXML(i[0]);g&&i.length;){for(var N in o.filter)if((p=o.leftMatch[N].exec(g))!=null&&p[2]){var O,D,R=o.filter[N];D=p[1];q=false;p.splice(1,1);if(D.substr(D.length-1)!=="\\"){if(F===y)y=[];if(o.preFilter[N])if(p=o.preFilter[N](p,F,n,y,m,M)){if(p===true)continue}else q=O=true;if(p)for(var j=0;(D=F[j])!=null;j++)if(D){O=R(D,p,j,F);var s=m^!!O;if(n&&O!=null)if(s)q=true;else F[j]=false;else if(s){y.push(D);q=true}}if(O!==
B){n||(F=y);g=g.replace(o.match[N],"");if(!q)return[];break}}}if(g===u)if(q==null)k.error(g);else break;u=g}return F};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var o=k.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\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,i){var n=typeof i==="string",m=n&&!/\W/.test(i);n=n&&!m;if(m)i=i.toLowerCase();m=0;for(var p=g.length,q;m<p;m++)if(q=g[m]){for(;(q=q.previousSibling)&&q.nodeType!==1;);g[m]=n||q&&q.nodeName.toLowerCase()===
i?q||false:q===i}n&&k.filter(i,g,true)},">":function(g,i){var n,m=typeof i==="string",p=0,q=g.length;if(m&&!/\W/.test(i))for(i=i.toLowerCase();p<q;p++){if(n=g[p]){n=n.parentNode;g[p]=n.nodeName.toLowerCase()===i?n:false}}else{for(;p<q;p++)if(n=g[p])g[p]=m?n.parentNode:n.parentNode===i;m&&k.filter(i,g,true)}},"":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=i=i.toLowerCase();q=a}q("parentNode",i,p,g,m,n)},"~":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=
i=i.toLowerCase();q=a}q("previousSibling",i,p,g,m,n)}},find:{ID:function(g,i,n){if(typeof i.getElementById!=="undefined"&&!n)return(g=i.getElementById(g[1]))&&g.parentNode?[g]:[]},NAME:function(g,i){if(typeof i.getElementsByName!=="undefined"){for(var n=[],m=i.getElementsByName(g[1]),p=0,q=m.length;p<q;p++)m[p].getAttribute("name")===g[1]&&n.push(m[p]);return n.length===0?null:n}},TAG:function(g,i){return i.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,i,n,m,p,q){g=" "+g[1].replace(/\\/g,
"")+" ";if(q)return g;q=0;for(var u;(u=i[q])!=null;q++)if(u)if(p^(u.className&&(" "+u.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))n||m.push(u);else if(n)i[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var i=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=i[1]+(i[2]||1)-0;g[3]=i[3]-0}g[0]=e++;return g},ATTR:function(g,i,n,
m,p,q){i=g[1].replace(/\\/g,"");if(!q&&o.attrMap[i])g[1]=o.attrMap[i];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,i,n,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,i);else{g=k.filter(g[3],i,n,true^p);n||m.push.apply(m,g);return false}else if(o.match.POS.test(g[0])||o.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===
true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,i,n){return!!k(n[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===
g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,i){return i===0},last:function(g,i,n,m){return i===m.length-1},even:function(g,i){return i%2===0},odd:function(g,i){return i%2===1},lt:function(g,i,n){return i<n[3]-0},gt:function(g,i,n){return i>n[3]-0},nth:function(g,i,n){return n[3]-
0===i},eq:function(g,i,n){return n[3]-0===i}},filter:{PSEUDO:function(g,i,n,m){var p=i[1],q=o.filters[p];if(q)return q(g,n,i,m);else if(p==="contains")return(g.textContent||g.innerText||k.getText([g])||"").indexOf(i[3])>=0;else if(p==="not"){i=i[3];n=0;for(m=i.length;n<m;n++)if(i[n]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+p)},CHILD:function(g,i){var n=i[1],m=g;switch(n){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(n===
"first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":n=i[2];var p=i[3];if(n===1&&p===0)return true;var q=i[0],u=g.parentNode;if(u&&(u.sizcache!==q||!g.nodeIndex)){var y=0;for(m=u.firstChild;m;m=m.nextSibling)if(m.nodeType===1)m.nodeIndex=++y;u.sizcache=q}m=g.nodeIndex-p;return n===0?m===0:m%n===0&&m/n>=0}},ID:function(g,i){return g.nodeType===1&&g.getAttribute("id")===i},TAG:function(g,i){return i==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===
i},CLASS:function(g,i){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(i)>-1},ATTR:function(g,i){var n=i[1];n=o.attrHandle[n]?o.attrHandle[n](g):g[n]!=null?g[n]:g.getAttribute(n);var m=n+"",p=i[2],q=i[4];return n==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&n!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,i,n,m){var p=o.setFilters[i[2]];
if(p)return p(g,n,i,m)}}},x=o.match.POS,r=function(g,i){return"\\"+(i-0+1)},A;for(A in o.match){o.match[A]=RegExp(o.match[A].source+/(?![^\[]*\])(?![^\(]*\))/.source);o.leftMatch[A]=RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[A].source.replace(/\\(\d+)/g,r))}var C=function(g,i){g=Array.prototype.slice.call(g,0);if(i){i.push.apply(i,g);return i}return g};try{Array.prototype.slice.call(t.documentElement.childNodes,0)}catch(J){C=function(g,i){var n=0,m=i||[];if(f.call(g)==="[object Array]")Array.prototype.push.apply(m,
g);else if(typeof g.length==="number")for(var p=g.length;n<p;n++)m.push(g[n]);else for(;g[n];n++)m.push(g[n]);return m}}var w,I;if(t.documentElement.compareDocumentPosition)w=function(g,i){if(g===i){h=true;return 0}if(!g.compareDocumentPosition||!i.compareDocumentPosition)return g.compareDocumentPosition?-1:1;return g.compareDocumentPosition(i)&4?-1:1};else{w=function(g,i){var n,m,p=[],q=[];n=g.parentNode;m=i.parentNode;var u=n;if(g===i){h=true;return 0}else if(n===m)return I(g,i);else if(n){if(!m)return 1}else return-1;
for(;u;){p.unshift(u);u=u.parentNode}for(u=m;u;){q.unshift(u);u=u.parentNode}n=p.length;m=q.length;for(u=0;u<n&&u<m;u++)if(p[u]!==q[u])return I(p[u],q[u]);return u===n?I(g,q[u],-1):I(p[u],i,1)};I=function(g,i,n){if(g===i)return n;for(g=g.nextSibling;g;){if(g===i)return-1;g=g.nextSibling}return 1}}k.getText=function(g){for(var i="",n,m=0;g[m];m++){n=g[m];if(n.nodeType===3||n.nodeType===4)i+=n.nodeValue;else if(n.nodeType!==8)i+=k.getText(n.childNodes)}return i};(function(){var g=t.createElement("div"),
i="script"+(new Date).getTime(),n=t.documentElement;g.innerHTML="<a name='"+i+"'/>";n.insertBefore(g,n.firstChild);if(t.getElementById(i)){o.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:B:[]};o.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}n.removeChild(g);
n=g=null})();(function(){var g=t.createElement("div");g.appendChild(t.createComment(""));if(g.getElementsByTagName("*").length>0)o.find.TAG=function(i,n){var m=n.getElementsByTagName(i[1]);if(i[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")o.attrHandle.href=function(i){return i.getAttribute("href",2)};g=null})();t.querySelectorAll&&
function(){var g=k,i=t.createElement("div");i.innerHTML="<p class='TEST'></p>";if(!(i.querySelectorAll&&i.querySelectorAll(".TEST").length===0)){k=function(m,p,q,u){p=p||t;m=m.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!u&&!k.isXML(p))if(p.nodeType===9)try{return C(p.querySelectorAll(m),q)}catch(y){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var F=p.getAttribute("id"),M=F||"__sizzle__";F||p.setAttribute("id",M);try{return C(p.querySelectorAll("#"+M+" "+m),q)}catch(N){}finally{F||
p.removeAttribute("id")}}return g(m,p,q,u)};for(var n in g)k[n]=g[n];i=null}}();(function(){var g=t.documentElement,i=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,n=false;try{i.call(t.documentElement,"[test!='']:sizzle")}catch(m){n=true}if(i)k.matchesSelector=function(p,q){q=q.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(p))try{if(n||!o.match.PSEUDO.test(q)&&!/!=/.test(q))return i.call(p,q)}catch(u){}return k(q,null,null,[p]).length>0}})();(function(){var g=
t.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){o.order.splice(1,0,"CLASS");o.find.CLASS=function(i,n,m){if(typeof n.getElementsByClassName!=="undefined"&&!m)return n.getElementsByClassName(i[1])};g=null}}})();k.contains=t.documentElement.contains?function(g,i){return g!==i&&(g.contains?g.contains(i):true)}:t.documentElement.compareDocumentPosition?
function(g,i){return!!(g.compareDocumentPosition(i)&16)}:function(){return false};k.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var L=function(g,i){for(var n,m=[],p="",q=i.nodeType?[i]:i;n=o.match.PSEUDO.exec(g);){p+=n[0];g=g.replace(o.match.PSEUDO,"")}g=o.relative[g]?g+"*":g;n=0;for(var u=q.length;n<u;n++)k(g,q[n],m);return k.filter(p,m)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=k.getText;c.isXMLDoc=k.isXML;
c.contains=k.contains})();var Za=/Until$/,$a=/^(?:parents|prevUntil|prevAll)/,ab=/,/,Na=/^.[^:#\[\.,]*$/,bb=Array.prototype.slice,cb=c.expr.match.POS;c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,e=0,f=this.length;e<f;e++){d=b.length;c.find(a,this[e],b);if(e>0)for(var h=d;h<b.length;h++)for(var l=0;l<d;l++)if(b[l]===b[h]){b.splice(h--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,e=b.length;d<e;d++)if(c.contains(this,b[d]))return true})},
not:function(a){return this.pushStack(ma(this,a,false),"not",a)},filter:function(a){return this.pushStack(ma(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){var d=[],e,f,h=this[0];if(c.isArray(a)){var l,k={},o=1;if(h&&a.length){e=0;for(f=a.length;e<f;e++){l=a[e];k[l]||(k[l]=c.expr.match.POS.test(l)?c(l,b||this.context):l)}for(;h&&h.ownerDocument&&h!==b;){for(l in k){e=k[l];if(e.jquery?e.index(h)>-1:c(h).is(e))d.push({selector:l,elem:h,level:o})}h=
h.parentNode;o++}}return d}l=cb.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e<f;e++)for(h=this[e];h;)if(l?l.index(h)>-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context):
c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,
2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,
b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Za.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||ab.test(e))&&$a.test(a))f=f.reverse();return this.pushStack(f,a,bb.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===B||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&
e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var za=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,Aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Ba=/<([\w:]+)/,db=/<tbody/i,eb=/<|&#?\w+;/,Ca=/<(?:script|object|embed|option|style)/i,Da=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/\=([^="'>\s]+\/)>/g,P={option:[1,
"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};P.optgroup=P.option;P.tbody=P.tfoot=P.colgroup=P.caption=P.thead;P.th=P.td;if(!c.support.htmlSerialize)P._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==B)return this.empty().append((this[0]&&this[0].ownerDocument||t).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(za,"").replace(fb,'="$1">').replace($,"")],e)[0]}else return this.cloneNode(true)});if(a===true){na(this,b);na(this.find("*"),b.find("*"))}return b},html:function(a){if(a===B)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(za,""):null;
else if(typeof a==="string"&&!Ca.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!P[(Ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Aa,"<$1></$2>");try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(e){this.empty().append(a)}}else c.isFunction(a)?this.each(function(f){var h=c(this);h.html(a.call(this,f,h.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=
c(this),e=d.html();d.replaceWith(a.call(this,b,e))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){var e,f,h,l=a[0],k=[];if(!c.support.checkClone&&arguments.length===3&&typeof l==="string"&&Da.test(l))return this.each(function(){c(this).domManip(a,
b,d,true)});if(c.isFunction(l))return this.each(function(x){var r=c(this);a[0]=l.call(this,x,b?r.html():B);r.domManip(a,b,d)});if(this[0]){e=l&&l.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:c.buildFragment(a,this,k);h=e.fragment;if(f=h.childNodes.length===1?h=h.firstChild:h.firstChild){b=b&&c.nodeName(f,"tr");f=0;for(var o=this.length;f<o;f++)d.call(b?c.nodeName(this[f],"table")?this[f].getElementsByTagName("tbody")[0]||this[f].appendChild(this[f].ownerDocument.createElement("tbody")):
this[f]:this[f],f>0||e.cacheable||this.length>1?h.cloneNode(true):h)}k.length&&c.each(k,Oa)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:t;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===t&&!Ca.test(a[0])&&(c.support.checkClone||!Da.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append",
prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=d.length;f<h;f++){var l=(f>0?this.clone(true):this).get();c(d[f])[b](l);e=e.concat(l)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||t;if(typeof b.createElement==="undefined")b=b.ownerDocument||
b[0]&&b[0].ownerDocument||t;for(var f=[],h=0,l;(l=a[h])!=null;h++){if(typeof l==="number")l+="";if(l){if(typeof l==="string"&&!eb.test(l))l=b.createTextNode(l);else if(typeof l==="string"){l=l.replace(Aa,"<$1></$2>");var k=(Ba.exec(l)||["",""])[1].toLowerCase(),o=P[k]||P._default,x=o[0],r=b.createElement("div");for(r.innerHTML=o[1]+l+o[2];x--;)r=r.lastChild;if(!c.support.tbody){x=db.test(l);k=k==="table"&&!x?r.firstChild&&r.firstChild.childNodes:o[1]==="<table>"&&!x?r.childNodes:[];for(o=k.length-
1;o>=0;--o)c.nodeName(k[o],"tbody")&&!k[o].childNodes.length&&k[o].parentNode.removeChild(k[o])}!c.support.leadingWhitespace&&$.test(l)&&r.insertBefore(b.createTextNode($.exec(l)[0]),r.firstChild);l=r.childNodes}if(l.nodeType)f.push(l);else f=c.merge(f,l)}}if(d)for(h=0;f[h];h++)if(e&&c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script"))));
d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,l=0,k;(k=a[l])!=null;l++)if(!(k.nodeName&&c.noData[k.nodeName.toLowerCase()]))if(d=k[c.expando]){if((b=e[d])&&b.events)for(var o in b.events)f[o]?c.event.remove(k,o):c.removeEvent(k,o,b.handle);if(h)delete k[c.expando];else k.removeAttribute&&k.removeAttribute(c.expando);delete e[d]}}});var Ea=/alpha\([^)]*\)/i,gb=/opacity=([^)]*)/,hb=/-([a-z])/ig,ib=/([A-Z])/g,Fa=/^-?\d+(?:px)?$/i,
jb=/^-?\d/,kb={position:"absolute",visibility:"hidden",display:"block"},Pa=["Left","Right"],Qa=["Top","Bottom"],W,Ga,aa,lb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===B)return this;return c.access(this,a,b,true,function(d,e,f){return f!==B?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,
zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),l=a.style,k=c.cssHooks[h];b=c.cssProps[h]||h;if(d!==B){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!k||!("set"in k)||(d=k.set(a,d))!==B)try{l[b]=d}catch(o){}}}else{if(k&&"get"in k&&(f=k.get(a,false,e))!==B)return f;return l[b]}}},css:function(a,b,d){var e,f=c.camelCase(b),
h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==B)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=e[f]},camelCase:function(a){return a.replace(hb,lb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=oa(d,b,f);else c.swap(d,kb,function(){h=oa(d,b,f)});if(h<=0){h=W(d,b,b);if(h==="0px"&&aa)h=aa(d,b,b);
if(h!=null)return h===""||h==="auto"?"0px":h}if(h<0||h==null){h=d.style[b];return h===""||h==="auto"?"0px":h}return typeof h==="string"?h:h+"px"}},set:function(d,e){if(Fa.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return gb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f=
d.filter||"";d.filter=Ea.test(f)?f.replace(Ea,e):d.filter+" "+e}};if(t.defaultView&&t.defaultView.getComputedStyle)Ga=function(a,b,d){var e;d=d.replace(ib,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return B;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};if(t.documentElement.currentStyle)aa=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],h=a.style;if(!Fa.test(f)&&jb.test(f)){d=h.left;
e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f===""?"auto":f};W=Ga||aa;if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var mb=c.now(),nb=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
ob=/^(?:select|textarea)/i,pb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,qb=/^(?:GET|HEAD)$/,Ra=/\[\]$/,T=/\=\?(&|$)/,ja=/\?/,rb=/([?&])_=[^&]*/,sb=/^(\w+:)?\/\/([^\/?#]+)/,tb=/%20/g,ub=/#.*$/,Ha=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ha)return Ha.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b===
"object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(l,k){if(k==="success"||k==="notmodified")h.html(f?c("<div>").append(l.responseText.replace(nb,"")).find(f):l.responseText);d&&h.each(d,[l.responseText,k,l])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&
!this.disabled&&(this.checked||ob.test(this.nodeName)||pb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})},
getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html",
script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),l=qb.test(h);b.url=b.url.replace(ub,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ja.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data||
!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+mb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var k=E[d];E[d]=function(m){if(c.isFunction(k))k(m);else{E[d]=B;try{delete E[d]}catch(p){}}f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);r&&r.removeChild(A)}}if(b.dataType==="script"&&b.cache===null)b.cache=
false;if(b.cache===false&&l){var o=c.now(),x=b.url.replace(rb,"$1_="+o);b.url=x+(x===b.url?(ja.test(b.url)?"&":"?")+"_="+o:"")}if(b.data&&l)b.url+=(ja.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");o=(o=sb.exec(b.url))&&(o[1]&&o[1].toLowerCase()!==location.protocol||o[2].toLowerCase()!==location.host);if(b.dataType==="script"&&h==="GET"&&o){var r=t.getElementsByTagName("head")[0]||t.documentElement,A=t.createElement("script");if(b.scriptCharset)A.charset=b.scriptCharset;
A.src=b.url;if(!d){var C=false;A.onload=A.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);A.onload=A.onreadystatechange=null;r&&A.parentNode&&r.removeChild(A)}}}r.insertBefore(A,r.firstChild);return B}var J=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!l||a&&a.contentType)w.setRequestHeader("Content-Type",
b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}o||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(I){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&&
c.triggerGlobal(b,"ajaxSend",[w,b]);var L=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){J||c.handleComplete(b,w,e,f);J=true;if(w)w.onreadystatechange=c.noop}else if(!J&&w&&(w.readyState===4||m==="timeout")){J=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d||
c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&Function.prototype.call.call(g,w);L("abort")}}catch(i){}b.async&&b.timeout>0&&setTimeout(function(){w&&!J&&L("timeout")},b.timeout);try{w.send(l||b.data==null?null:b.data)}catch(n){c.handleError(b,w,null,n);c.handleComplete(b,w,e,f)}b.async||L();return w}},param:function(a,b){var d=[],e=function(h,l){l=c.isFunction(l)?l():l;d[d.length]=
encodeURIComponent(h)+"="+encodeURIComponent(l)};if(b===B)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)da(f,a[f],b,e);return d.join("&").replace(tb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess",
[b,a])},handleComplete:function(a,b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),
e=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}});
if(E.ActiveXObject)c.ajaxSettings.xhr=function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var ea={},vb=/^(?:toggle|show|hide)$/,wb=/^([+\-]=)?([\d+.\-]+)(.*)$/,ba,pa=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show",
3),a,b,d);else{d=0;for(var e=this.length;d<e;d++){a=this[d];b=a.style.display;if(!c.data(a,"olddisplay")&&b==="none")b=a.style.display="";b===""&&c.css(a,"display")==="none"&&c.data(a,"olddisplay",qa(a.nodeName))}for(d=0;d<e;d++){a=this[d];b=a.style.display;if(b===""||b==="none")a.style.display=c.data(a,"olddisplay")||""}return this}},hide:function(a,b,d){if(a||a===0)return this.animate(S("hide",3),a,b,d);else{a=0;for(b=this.length;a<b;a++){d=c.css(this[a],"display");d!=="none"&&c.data(this[a],"olddisplay",
d)}for(a=0;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b,d){var e=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||e?this.each(function(){var f=e?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(S("toggle",3),a,b,d);return this},fadeTo:function(a,b,d,e){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d,e)},animate:function(a,b,d,e){var f=c.speed(b,
d,e);if(c.isEmptyObject(a))return this.each(f.complete);return this[f.queue===false?"each":"queue"](function(){var h=c.extend({},f),l,k=this.nodeType===1,o=k&&c(this).is(":hidden"),x=this;for(l in a){var r=c.camelCase(l);if(l!==r){a[r]=a[l];delete a[l];l=r}if(a[l]==="hide"&&o||a[l]==="show"&&!o)return h.complete.call(this);if(k&&(l==="height"||l==="width")){h.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(c.css(this,"display")==="inline"&&c.css(this,"float")==="none")if(c.support.inlineBlockNeedsLayout)if(qa(this.nodeName)===
"inline")this.style.display="inline-block";else{this.style.display="inline";this.style.zoom=1}else this.style.display="inline-block"}if(c.isArray(a[l])){(h.specialEasing=h.specialEasing||{})[l]=a[l][1];a[l]=a[l][0]}}if(h.overflow!=null)this.style.overflow="hidden";h.curAnim=c.extend({},a);c.each(a,function(A,C){var J=new c.fx(x,h,A);if(vb.test(C))J[C==="toggle"?o?"show":"hide":C](a);else{var w=wb.exec(C),I=J.cur()||0;if(w){var L=parseFloat(w[2]),g=w[3]||"px";if(g!=="px"){c.style(x,A,(L||1)+g);I=(L||
1)/J.cur()*I;c.style(x,A,I+g)}if(w[1])L=(w[1]==="-="?-1:1)*L+I;J.custom(I,L,g)}else J.custom(I,C,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var e=d.length-1;e>=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b,
d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a*
Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(l){return f.step(l)}
var f=this,h=c.fx;this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;e.elem=this.elem;if(e()&&c.timers.push(e)&&!ba)ba=setInterval(h.tick,h.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;
this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(k,o){f.style["overflow"+o]=h.overflow[k]})}this.options.hide&&c(this.elem).hide();if(this.options.hide||
this.options.show)for(var l in this.options.curAnim)c.style(this.elem,l,this.options.orig[l]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=
c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},interval:13,stop:function(){clearInterval(ba);ba=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===
b.elem}).length};var xb=/^t(?:able|d|h)$/i,Ia=/^(?:body|html)$/i;c.fn.offset="getBoundingClientRect"in t.documentElement?function(a){var b=this[0],d;if(a)return this.each(function(l){c.offset.setOffset(this,a,l)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);try{d=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,h=f.documentElement;if(!d||!c.contains(h,b))return d||{top:0,left:0};b=f.body;f=fa(f);return{top:d.top+(f.pageYOffset||c.support.boxModel&&
h.scrollTop||b.scrollTop)-(h.clientTop||b.clientTop||0),left:d.left+(f.pageXOffset||c.support.boxModel&&h.scrollLeft||b.scrollLeft)-(h.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(x){c.offset.setOffset(this,a,x)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d,e=b.offsetParent,f=b.ownerDocument,h=f.documentElement,l=f.body;d=(f=f.defaultView)?f.getComputedStyle(b,null):b.currentStyle;
for(var k=b.offsetTop,o=b.offsetLeft;(b=b.parentNode)&&b!==l&&b!==h;){if(c.offset.supportsFixedPosition&&d.position==="fixed")break;d=f?f.getComputedStyle(b,null):b.currentStyle;k-=b.scrollTop;o-=b.scrollLeft;if(b===e){k+=b.offsetTop;o+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&xb.test(b.nodeName))){k+=parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}e=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"){k+=
parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}d=d}if(d.position==="relative"||d.position==="static"){k+=l.offsetTop;o+=l.offsetLeft}if(c.offset.supportsFixedPosition&&d.position==="fixed"){k+=Math.max(h.scrollTop,l.scrollTop);o+=Math.max(h.scrollLeft,l.scrollLeft)}return{top:k,left:o}};c.offset={initialize:function(){var a=t.body,b=t.createElement("div"),d,e,f,h=parseFloat(c.css(a,"marginTop"))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",
height:"1px",visibility:"hidden"});b.innerHTML="<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>";a.insertBefore(b,a.firstChild);d=b.firstChild;e=d.firstChild;f=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=e.offsetTop!==5;this.doesAddBorderForTableAndCells=
f.offsetTop===5;e.style.position="fixed";e.style.top="20px";this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15;e.style.position=e.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==h;a.removeChild(b);c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.css(a,
"marginTop"))||0;d+=parseFloat(c.css(a,"marginLeft"))||0}return{top:b,left:d}},setOffset:function(a,b,d){var e=c.css(a,"position");if(e==="static")a.style.position="relative";var f=c(a),h=f.offset(),l=c.css(a,"top"),k=c.css(a,"left"),o=e==="absolute"&&c.inArray("auto",[l,k])>-1;e={};var x={};if(o)x=f.position();l=o?x.top:parseInt(l,10)||0;k=o?x.left:parseInt(k,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+l;if(b.left!=null)e.left=b.left-h.left+k;"using"in b?b.using.call(a,
e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Ia.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||t.body;a&&!Ia.test(a.nodeName)&&
c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==B)return this.each(function(){if(h=fa(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=fa(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();
c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(l){var k=c(this);k[d](e.call(this,l,k[d]()))});if(c.isWindow(f))return f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b];else if(f.nodeType===9)return Math.max(f.documentElement["client"+
b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]);else if(e===B){f=c.css(f,d);var h=parseFloat(f);return c.isNaN(h)?f:h}else return this.css(d,typeof e==="string"?e:e+"px")}})})(window);
/*
 * jQuery taperici plugin - taperici
 *
 * version 1.2 (12/4/2008)
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */

/**
 * The taperici() method moves a text input's label inside the input.
 * This label disappears when the user clicks inside the input.
 * This label reappears when the user leaves the input and no text was written.
 *
 * We assume the input and its label are well-written
 * There are 2 ways to write a form input :
 *	- input inside the label :
 *		<label>
 *			My label
 *			<input type="text" name="myInput" />
 *		</label>
 *	- input outside the label :
 *		<label for="myId">My label</label>
 *		<input type="text" name="myInput" id="myId" />
 *
 * Configuration parameters are :
 * - defaultDisplayClass : (default "defaultDisplay")
 * 		defines the css class for the input when the default value is displayed
 * - defaultValueAttribute : (default "searchDefaultLabel")
 *		the input's attribute containing the default value
 * - textContainer : (default "span")
 * 		html markup containing the label information for implicit label
 * - inputFocusCallback : [function]
 *		function called when the user enters the input
 * - inputBlurCallback : [function]
 *		function called when the user leaves the input
 * - formSubmitCallback : [function]
 *		function called when the user submits the form
 *
 * @name taperici
 * @type jQuery
 * @return jQuery
 * @author Romain Gonord (romain.gonord.opensource@neteyes.org)
 */
(function($) {
	$.fn.taperici = function(settings) {
		var defaults =  {
			defaultDisplayClass: "defaultDisplay",
			defaultValueAttribute: "searchDefaultLabel",
			textContainer: "span",
			inputFocusCallback: function(){
				var currentElem = $(this);
				currentElem.removeClass(defaults.defaultDisplayClass);
				if (currentElem.attr("value") == currentElem.attr(defaults.defaultValueAttribute)){
					currentElem.attr("value", "");
				}
			},
			inputBlurCallback: function(){
				var currentElem = $(this);
				defaults.initInput(currentElem);
			},
			initInput: function(currentElem){
				var currentValue = currentElem.attr("value");
				if (currentValue == null || currentValue == "" || currentValue == currentElem.attr(defaults.defaultValueAttribute)){
					currentElem.addClass(defaults.defaultDisplayClass);
					currentElem.attr("value", currentElem.attr(defaults.defaultValueAttribute));
				}
			},
			formSubmitCallback: function(){
				$("." + defaults.defaultDisplayClass, this).attr("value", "");
			}
		};
		$.extend(defaults, settings);
		return this.each(function(i,n){
			/* variable's initialization */
			var currentElem = $(this);
			var targetInput;
			var text2Display;
			if (currentElem.attr("for") != null && currentElem.attr("for").length > 0){
				targetInput = $("#" + currentElem.attr("for"));
				text2Display = currentElem.html();
				currentElem.hide();
			} else {
				targetInput = $(":input", this);
				var textContainer = $(defaults.textContainer, this);
				text2Display = textContainer.html();
				textContainer.hide();
			}
			/* save default value */
			targetInput.attr(defaults.defaultValueAttribute, text2Display);
			/* input's value initialization */
			defaults.initInput(targetInput);
			/* event's binding */
			targetInput
				.focus(defaults.inputFocusCallback)
				.blur(defaults.inputBlurCallback)
			;
			$(targetInput[0].form)
				.submit(defaults.formSubmitCallback)
			;
		});
	};
})(jQuery);
/*
 * jQuery hideandseek plugin
 *
 * version 1.0b (31/03/2009)
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */

/**
 * The hideandseek() method transform a news item (title + details) by hiding the details.
 * When you click on the handle of the title, the details is shown, click again, and it disappear again.
 * It's, like an accordion, same same ... but different =)
 *
 * Configuration parameters are :
 * - cssClassMore : (default hasMore)
 * - cssClassLess : (default hasLess)
 * - cssClassActive : (default hasActive)
 * - selectorTitle : (default div.hasTitle)
 * - selectorItem : (default div.hasDetails)
 *
 * Triggers :
 * - hide.hideandseek :
 * 		event that hide details
 * - show.hideandseek :
 * 		event that show details
 * - hideDone.hideandseek :
 * 		event triggered when hide event is finished
 * - showDone.hideandseek :
 * 		event triggered when show event is finished
 * - click.hideandseek :
 * 		click event on handle
 * 
 * @name hideandseek
 * @type jQuery
 * @return jQuery
 * @author Romain Gonord (romain.gonord.opensource@neteyes.org)
 */
(function($) {
	$.fn.hideandseek = function(settings) {
		var defaults = {
			cssClassMainContainers: "has",
			cssClassMore: "hasMore",
			cssClassLess: "hasLess",
			cssClassHandleMore: "hasHandleMore",
			cssClassHandleLess: "hasHandleLess",
			cssClassActive: "hasActive",
			selectorTitle: "> div.hasTitle",
			selectorItem: "> div.hasDetails",
			handleShow: "<span>+</span>",
			handleHide: "<span>-</span>"
		};
		var triggers = {
			hide: "hide.hideandseek",
			show: "show.hideandseek",
			hideDone: "hideDone.hideandseek",
			showDone: "showDone.hideandseek",
			click: "click.hideandseek"
		};
		$.extend(defaults, settings);

		var hasHide = function(){
			$(defaults.selectorTitle + "," + defaults.selectorItem, this).removeClass(defaults.cssClassMore).addClass(defaults.cssClassLess);
			$(this).trigger(triggers.hideDone);
		};
		var hasShow = function(){
			$(defaults.selectorTitle + "," + defaults.selectorItem, this).removeClass(defaults.cssClassLess).addClass(defaults.cssClassMore);
			$(this).trigger(triggers.showDone);
		};
		var hasClick = function(event){
		    var $tgt = $(event.target);
		    var $this = $(this);
		    if ($tgt.is("span")) {
		    	if ($tgt.is("." + defaults.cssClassHandleLess) || $tgt.parents("." + defaults.cssClassHandleLess).length){
	    			$this.trigger(triggers.hide);
		    	} else if ($tgt.is("." + defaults.cssClassHandleMore) || $tgt.parents("." + defaults.cssClassHandleMore).length){
	    			$this.trigger(triggers.show);
		    	}
		    }
		};

		return this
			.addClass(defaults.cssClassMainContainers)
			.find(defaults.selectorTitle)
				.addClass(defaults.cssClassLess)
			.end()
			.find(defaults.selectorItem)
				.addClass(defaults.cssClassLess)
			.end()
			.filter(function(){
				return $(defaults.selectorItem, this).length > 0;
			})
				.find(defaults.selectorTitle)
					.prepend("<span class='" + defaults.cssClassHandleLess + "'>" + defaults.handleHide + "</span>")
					.prepend("<span class='" + defaults.cssClassHandleMore + "'>" + defaults.handleShow + "</span>")
				.end()
			.end()
			.bind(triggers.show, hasShow)
			.bind(triggers.hide, hasHide)
			.bind(triggers.click ,hasClick)
			.filter("." + defaults.cssClassActive)
				.trigger(triggers.show)
			.end()
		;
	};
})(jQuery);
/*
 * jQuery Tools 1.2.5 - The missing UI library for the Web
 * 
 * [scrollable]
 * 
 * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
 * 
 * http://flowplayer.org/tools/
 * 
 * File generated: Wed Jan 12 16:39:16 GMT 2011
 */
(function(e){function p(f,c){var b=e(c);return b.length<2?b:f.parent().find(c)}function u(f,c){var b=this,n=f.add(b),g=f.children(),l=0,j=c.vertical;k||(k=b);if(g.length>1)g=e(c.items,f);e.extend(b,{getConf:function(){return c},getIndex:function(){return l},getSize:function(){return b.getItems().size()},getNaviButtons:function(){return o.add(q)},getRoot:function(){return f},getItemWrap:function(){return g},getItems:function(){return g.children(c.item).not("."+c.clonedClass)},move:function(a,d){return b.seekTo(l+
a,d)},next:function(a){return b.move(1,a)},prev:function(a){return b.move(-1,a)},begin:function(a){return b.seekTo(0,a)},end:function(a){return b.seekTo(b.getSize()-1,a)},focus:function(){return k=b},addItem:function(a){a=e(a);if(c.circular){g.children("."+c.clonedClass+":last").before(a);g.children("."+c.clonedClass+":first").replaceWith(a.clone().addClass(c.clonedClass))}else g.append(a);n.trigger("onAddItem",[a]);return b},seekTo:function(a,d,h){a.jquery||(a*=1);if(c.circular&&a===0&&l==-1&&d!==
0)return b;if(!c.circular&&a<0||a>b.getSize()||a<-1)return b;var i=a;if(a.jquery)a=b.getItems().index(a);else i=b.getItems().eq(a);var r=e.Event("onBeforeSeek");if(!h){n.trigger(r,[a,d]);if(r.isDefaultPrevented()||!i.length)return b}i=j?{top:-i.position().top}:{left:-i.position().left};l=a;k=b;if(d===undefined)d=c.speed;g.animate(i,d,c.easing,h||function(){n.trigger("onSeek",[a])});return b}});e.each(["onBeforeSeek","onSeek","onAddItem"],function(a,d){e.isFunction(c[d])&&e(b).bind(d,c[d]);b[d]=function(h){h&&
e(b).bind(d,h);return b}});if(c.circular){var s=b.getItems().slice(-1).clone().prependTo(g),t=b.getItems().eq(1).clone().appendTo(g);s.add(t).addClass(c.clonedClass);b.onBeforeSeek(function(a,d,h){if(!a.isDefaultPrevented())if(d==-1){b.seekTo(s,h,function(){b.end(0)});return a.preventDefault()}else d==b.getSize()&&b.seekTo(t,h,function(){b.begin(0)})});b.seekTo(0,0,function(){})}var o=p(f,c.prev).click(function(){b.prev()}),q=p(f,c.next).click(function(){b.next()});if(!c.circular&&b.getSize()>1){b.onBeforeSeek(function(a,
d){setTimeout(function(){if(!a.isDefaultPrevented()){o.toggleClass(c.disabledClass,d<=0);q.toggleClass(c.disabledClass,d>=b.getSize()-1)}},1)});c.initialIndex||o.addClass(c.disabledClass)}c.mousewheel&&e.fn.mousewheel&&f.mousewheel(function(a,d){if(c.mousewheel){b.move(d<0?1:-1,c.wheelSpeed||50);return false}});if(c.touch){var m={};g[0].ontouchstart=function(a){a=a.touches[0];m.x=a.clientX;m.y=a.clientY};g[0].ontouchmove=function(a){if(a.touches.length==1&&!g.is(":animated")){var d=a.touches[0],h=
m.x-d.clientX;d=m.y-d.clientY;b[j&&d>0||!j&&h>0?"next":"prev"]();a.preventDefault()}}}c.keyboard&&e(document).bind("keydown.scrollable",function(a){if(!(!c.keyboard||a.altKey||a.ctrlKey||e(a.target).is(":input")))if(!(c.keyboard!="static"&&k!=b)){var d=a.keyCode;if(j&&(d==38||d==40)){b.move(d==38?-1:1);return a.preventDefault()}if(!j&&(d==37||d==39)){b.move(d==37?-1:1);return a.preventDefault()}}});c.initialIndex&&b.seekTo(c.initialIndex,0,function(){})}e.tools=e.tools||{version:"1.2.5"};e.tools.scrollable=
{conf:{activeClass:"active",circular:false,clonedClass:"cloned",disabledClass:"disabled",easing:"swing",initialIndex:0,item:null,items:".items",keyboard:true,mousewheel:false,next:".next",prev:".prev",speed:400,vertical:false,touch:true,wheelSpeed:0}};var k;e.fn.scrollable=function(f){var c=this.data("scrollable");if(c)return c;f=e.extend({},e.tools.scrollable.conf,f);this.each(function(){c=new u(e(this),f);e(this).data("scrollable",c)});return f.api?c:this}})(jQuery);
(function($) {
        $.fn.jSelect = function(settings) {
                /* parametre par defaut */
                var defaults =  {
                        spanClass : "select",
                        focusSpanClass : "focusSpanClass"
                };

                return this.each(function(i,n){
                        /* On desactive le JSelect dans le cas d'IE6 car ca ne fonctionne pas au  1er chargement de la page*/
                        if(!($.browser.msie && $.browser.version==6.0)) {
                                $.extend(defaults, settings);
                                var select = $(n);
                                select
                                        .before("<span class=\""+defaults.spanClass +"\"><span></span></span>")
                                        .css({opacity : 0, zIndex: 5, position: "relative", filter : "alpha(opacity=0)"});
                                var span = select.prev();
                                span.width(n.offsetWidth);
                                select
                                        .bind("jSelect_modify",function(){
                                                $("span",span).html(this.options[this.selectedIndex].innerHTML);
                                        })
                                        .bind("change",function(){
                                                $(this).trigger("jSelect_modify");
                                        })
                                        .bind("keyup",function(){
                                                $(this).trigger("jSelect_modify");
                                        })
                                        .bind("focus",function(){
                                                span.addClass(defaults.focusSpanClass);
                                        })
                                        .bind("blur",function(){
                                                span.removeClass(defaults.focusSpanClass);
                                        })
                                        .trigger("jSelect_modify");
                        }
                });
        };
})(jQuery);/*
 * jScrollPane - v2.0.0beta11 - 2011-07-04
 * http://jscrollpane.kelvinluck.com/
 *
 * Copyright (c) 2010 Kelvin Luck
 * Dual licensed under the MIT and GPL licenses.
 */
(function(b,a,c){b.fn.jScrollPane=function(e){function d(D,O){var az,Q=this,Y,ak,v,am,T,Z,y,q,aA,aF,av,i,I,h,j,aa,U,aq,X,t,A,ar,af,an,G,l,au,ay,x,aw,aI,f,L,aj=true,P=true,aH=false,k=false,ap=D.clone(false,false).empty(),ac=b.fn.mwheelIntent?"mwheelIntent.jsp":"mousewheel.jsp";aI=D.css("paddingTop")+" "+D.css("paddingRight")+" "+D.css("paddingBottom")+" "+D.css("paddingLeft");f=(parseInt(D.css("paddingLeft"),10)||0)+(parseInt(D.css("paddingRight"),10)||0);function at(aR){var aM,aO,aN,aK,aJ,aQ,aP=false,aL=false;az=aR;if(Y===c){aJ=D.scrollTop();aQ=D.scrollLeft();D.css({overflow:"hidden",padding:0});ak=D.innerWidth()+f;v=D.innerHeight();D.width(ak);Y=b('<div class="jspPane" />').css("padding",aI).append(D.children());am=b('<div class="jspContainer" />').css({width:ak+"px",height:v+"px"}).append(Y).appendTo(D)}else{D.css("width","");aP=az.stickToBottom&&K();aL=az.stickToRight&&B();aK=D.innerWidth()+f!=ak||D.outerHeight()!=v;if(aK){ak=D.innerWidth()+f;v=D.innerHeight();am.css({width:ak+"px",height:v+"px"})}if(!aK&&L==T&&Y.outerHeight()==Z){D.width(ak);return}L=T;Y.css("width","");D.width(ak);am.find(">.jspVerticalBar,>.jspHorizontalBar").remove().end()}Y.css("overflow","auto");if(aR.contentWidth){T=aR.contentWidth}else{T=Y[0].scrollWidth}Z=Y[0].scrollHeight;Y.css("overflow","");y=T/ak;q=Z/v;aA=q>1;aF=y>1;if(!(aF||aA)){D.removeClass("jspScrollable");Y.css({top:0,width:am.width()-f});n();E();R();w();ai()}else{D.addClass("jspScrollable");aM=az.maintainPosition&&(I||aa);if(aM){aO=aD();aN=aB()}aG();z();F();if(aM){N(aL?(T-ak):aO,false);M(aP?(Z-v):aN,false)}J();ag();ao();if(az.enableKeyboardNavigation){S()}if(az.clickOnTrack){p()}C();if(az.hijackInternalLinks){m()}}if(az.autoReinitialise&&!aw){aw=setInterval(function(){at(az)},az.autoReinitialiseDelay)}else{if(!az.autoReinitialise&&aw){clearInterval(aw)}}aJ&&D.scrollTop(0)&&M(aJ,false);aQ&&D.scrollLeft(0)&&N(aQ,false);D.trigger("jsp-initialised",[aF||aA])}function aG(){if(aA){am.append(b('<div class="jspVerticalBar" />').append(b('<div class="jspCap jspCapTop" />'),b('<div class="jspTrack" />').append(b('<div class="jspDrag" />').append(b('<div class="jspDragTop" />'),b('<div class="jspDragBottom" />'))),b('<div class="jspCap jspCapBottom" />')));U=am.find(">.jspVerticalBar");aq=U.find(">.jspTrack");av=aq.find(">.jspDrag");if(az.showArrows){ar=b('<a class="jspArrow jspArrowUp" />').bind("mousedown.jsp",aE(0,-1)).bind("click.jsp",aC);af=b('<a class="jspArrow jspArrowDown" />').bind("mousedown.jsp",aE(0,1)).bind("click.jsp",aC);if(az.arrowScrollOnHover){ar.bind("mouseover.jsp",aE(0,-1,ar));af.bind("mouseover.jsp",aE(0,1,af))}al(aq,az.verticalArrowPositions,ar,af)}t=v;am.find(">.jspVerticalBar>.jspCap:visible,>.jspVerticalBar>.jspArrow").each(function(){t-=b(this).outerHeight()});av.hover(function(){av.addClass("jspHover")},function(){av.removeClass("jspHover")}).bind("mousedown.jsp",function(aJ){b("html").bind("dragstart.jsp selectstart.jsp",aC);av.addClass("jspActive");var s=aJ.pageY-av.position().top;b("html").bind("mousemove.jsp",function(aK){V(aK.pageY-s,false)}).bind("mouseup.jsp mouseleave.jsp",ax);return false});o()}}function o(){aq.height(t+"px");I=0;X=az.verticalGutter+aq.outerWidth();Y.width(ak-X-f);try{if(U.position().left===0){Y.css("margin-left",X+"px")}}catch(s){}}function z(){if(aF){am.append(b('<div class="jspHorizontalBar" />').append(b('<div class="jspCap jspCapLeft" />'),b('<div class="jspTrack" />').append(b('<div class="jspDrag" />').append(b('<div class="jspDragLeft" />'),b('<div class="jspDragRight" />'))),b('<div class="jspCap jspCapRight" />')));an=am.find(">.jspHorizontalBar");G=an.find(">.jspTrack");h=G.find(">.jspDrag");if(az.showArrows){ay=b('<a class="jspArrow jspArrowLeft" />').bind("mousedown.jsp",aE(-1,0)).bind("click.jsp",aC);x=b('<a class="jspArrow jspArrowRight" />').bind("mousedown.jsp",aE(1,0)).bind("click.jsp",aC);
if(az.arrowScrollOnHover){ay.bind("mouseover.jsp",aE(-1,0,ay));x.bind("mouseover.jsp",aE(1,0,x))}al(G,az.horizontalArrowPositions,ay,x)}h.hover(function(){h.addClass("jspHover")},function(){h.removeClass("jspHover")}).bind("mousedown.jsp",function(aJ){b("html").bind("dragstart.jsp selectstart.jsp",aC);h.addClass("jspActive");var s=aJ.pageX-h.position().left;b("html").bind("mousemove.jsp",function(aK){W(aK.pageX-s,false)}).bind("mouseup.jsp mouseleave.jsp",ax);return false});l=am.innerWidth();ah()}}function ah(){am.find(">.jspHorizontalBar>.jspCap:visible,>.jspHorizontalBar>.jspArrow").each(function(){l-=b(this).outerWidth()});G.width(l+"px");aa=0}function F(){if(aF&&aA){var aJ=G.outerHeight(),s=aq.outerWidth();t-=aJ;b(an).find(">.jspCap:visible,>.jspArrow").each(function(){l+=b(this).outerWidth()});l-=s;v-=s;ak-=aJ;G.parent().append(b('<div class="jspCorner" />').css("width",aJ+"px"));o();ah()}if(aF){Y.width((am.outerWidth()-f)+"px")}Z=Y.outerHeight();q=Z/v;if(aF){au=Math.ceil(1/y*l);if(au>az.horizontalDragMaxWidth){au=az.horizontalDragMaxWidth}else{if(au<az.horizontalDragMinWidth){au=az.horizontalDragMinWidth}}h.width(au+"px");j=l-au;ae(aa)}if(aA){A=Math.ceil(1/q*t);if(A>az.verticalDragMaxHeight){A=az.verticalDragMaxHeight}else{if(A<az.verticalDragMinHeight){A=az.verticalDragMinHeight}}av.height(A+"px");i=t-A;ad(I)}}function al(aK,aM,aJ,s){var aO="before",aL="after",aN;if(aM=="os"){aM=/Mac/.test(navigator.platform)?"after":"split"}if(aM==aO){aL=aM}else{if(aM==aL){aO=aM;aN=aJ;aJ=s;s=aN}}aK[aO](aJ)[aL](s)}function aE(aJ,s,aK){return function(){H(aJ,s,this,aK);this.blur();return false}}function H(aM,aL,aP,aO){aP=b(aP).addClass("jspActive");var aN,aK,aJ=true,s=function(){if(aM!==0){Q.scrollByX(aM*az.arrowButtonSpeed)}if(aL!==0){Q.scrollByY(aL*az.arrowButtonSpeed)}aK=setTimeout(s,aJ?az.initialDelay:az.arrowRepeatFreq);aJ=false};s();aN=aO?"mouseout.jsp":"mouseup.jsp";aO=aO||b("html");aO.bind(aN,function(){aP.removeClass("jspActive");aK&&clearTimeout(aK);aK=null;aO.unbind(aN)})}function p(){w();if(aA){aq.bind("mousedown.jsp",function(aO){if(aO.originalTarget===c||aO.originalTarget==aO.currentTarget){var aM=b(this),aP=aM.offset(),aN=aO.pageY-aP.top-I,aK,aJ=true,s=function(){var aS=aM.offset(),aT=aO.pageY-aS.top-A/2,aQ=v*az.scrollPagePercent,aR=i*aQ/(Z-v);if(aN<0){if(I-aR>aT){Q.scrollByY(-aQ)}else{V(aT)}}else{if(aN>0){if(I+aR<aT){Q.scrollByY(aQ)}else{V(aT)}}else{aL();return}}aK=setTimeout(s,aJ?az.initialDelay:az.trackClickRepeatFreq);aJ=false},aL=function(){aK&&clearTimeout(aK);aK=null;b(document).unbind("mouseup.jsp",aL)};s();b(document).bind("mouseup.jsp",aL);return false}})}if(aF){G.bind("mousedown.jsp",function(aO){if(aO.originalTarget===c||aO.originalTarget==aO.currentTarget){var aM=b(this),aP=aM.offset(),aN=aO.pageX-aP.left-aa,aK,aJ=true,s=function(){var aS=aM.offset(),aT=aO.pageX-aS.left-au/2,aQ=ak*az.scrollPagePercent,aR=j*aQ/(T-ak);if(aN<0){if(aa-aR>aT){Q.scrollByX(-aQ)}else{W(aT)}}else{if(aN>0){if(aa+aR<aT){Q.scrollByX(aQ)}else{W(aT)}}else{aL();return}}aK=setTimeout(s,aJ?az.initialDelay:az.trackClickRepeatFreq);aJ=false},aL=function(){aK&&clearTimeout(aK);aK=null;b(document).unbind("mouseup.jsp",aL)};s();b(document).bind("mouseup.jsp",aL);return false}})}}function w(){if(G){G.unbind("mousedown.jsp")}if(aq){aq.unbind("mousedown.jsp")}}function ax(){b("html").unbind("dragstart.jsp selectstart.jsp mousemove.jsp mouseup.jsp mouseleave.jsp");if(av){av.removeClass("jspActive")}if(h){h.removeClass("jspActive")}}function V(s,aJ){if(!aA){return}if(s<0){s=0}else{if(s>i){s=i}}if(aJ===c){aJ=az.animateScroll}if(aJ){Q.animate(av,"top",s,ad)}else{av.css("top",s);ad(s)}}function ad(aJ){if(aJ===c){aJ=av.position().top}am.scrollTop(0);I=aJ;var aM=I===0,aK=I==i,aL=aJ/i,s=-aL*(Z-v);if(aj!=aM||aH!=aK){aj=aM;aH=aK;D.trigger("jsp-arrow-change",[aj,aH,P,k])}u(aM,aK);Y.css("top",s);D.trigger("jsp-scroll-y",[-s,aM,aK]).trigger("scroll")}function W(aJ,s){if(!aF){return}if(aJ<0){aJ=0}else{if(aJ>j){aJ=j}}if(s===c){s=az.animateScroll}if(s){Q.animate(h,"left",aJ,ae)
}else{h.css("left",aJ);ae(aJ)}}function ae(aJ){if(aJ===c){aJ=h.position().left}am.scrollTop(0);aa=aJ;var aM=aa===0,aL=aa==j,aK=aJ/j,s=-aK*(T-ak);if(P!=aM||k!=aL){P=aM;k=aL;D.trigger("jsp-arrow-change",[aj,aH,P,k])}r(aM,aL);Y.css("left",s);D.trigger("jsp-scroll-x",[-s,aM,aL]).trigger("scroll")}function u(aJ,s){if(az.showArrows){ar[aJ?"addClass":"removeClass"]("jspDisabled");af[s?"addClass":"removeClass"]("jspDisabled")}}function r(aJ,s){if(az.showArrows){ay[aJ?"addClass":"removeClass"]("jspDisabled");x[s?"addClass":"removeClass"]("jspDisabled")}}function M(s,aJ){var aK=s/(Z-v);V(aK*i,aJ)}function N(aJ,s){var aK=aJ/(T-ak);W(aK*j,s)}function ab(aW,aR,aK){var aO,aL,aM,s=0,aV=0,aJ,aQ,aP,aT,aS,aU;try{aO=b(aW)}catch(aN){return}aL=aO.outerHeight();aM=aO.outerWidth();am.scrollTop(0);am.scrollLeft(0);while(!aO.is(".jspPane")){s+=aO.position().top;aV+=aO.position().left;aO=aO.offsetParent();if(/^body|html$/i.test(aO[0].nodeName)){return}}aJ=aB();aP=aJ+v;if(s<aJ||aR){aS=s-az.verticalGutter}else{if(s+aL>aP){aS=s-v+aL+az.verticalGutter}}if(aS){M(aS,aK)}aQ=aD();aT=aQ+ak;if(aV<aQ||aR){aU=aV-az.horizontalGutter}else{if(aV+aM>aT){aU=aV-ak+aM+az.horizontalGutter}}if(aU){N(aU,aK)}}function aD(){return -Y.position().left}function aB(){return -Y.position().top}function K(){var s=Z-v;return(s>20)&&(s-aB()<10)}function B(){var s=T-ak;return(s>20)&&(s-aD()<10)}function ag(){am.unbind(ac).bind(ac,function(aM,aN,aL,aJ){var aK=aa,s=I;Q.scrollBy(aL*az.mouseWheelSpeed,-aJ*az.mouseWheelSpeed,false);return aK==aa&&s==I})}function n(){am.unbind(ac)}function aC(){return false}function J(){Y.find(":input,a").unbind("focus.jsp").bind("focus.jsp",function(s){ab(s.target,false)})}function E(){Y.find(":input,a").unbind("focus.jsp")}function S(){var s,aJ,aL=[];aF&&aL.push(an[0]);aA&&aL.push(U[0]);Y.focus(function(){D.focus()});D.attr("tabindex",0).unbind("keydown.jsp keypress.jsp").bind("keydown.jsp",function(aO){if(aO.target!==this&&!(aL.length&&b(aO.target).closest(aL).length)){return}var aN=aa,aM=I;switch(aO.keyCode){case 40:case 38:case 34:case 32:case 33:case 39:case 37:s=aO.keyCode;aK();break;case 35:M(Z-v);s=null;break;case 36:M(0);s=null;break}aJ=aO.keyCode==s&&aN!=aa||aM!=I;return !aJ}).bind("keypress.jsp",function(aM){if(aM.keyCode==s){aK()}return !aJ});if(az.hideFocus){D.css("outline","none");if("hideFocus" in am[0]){D.attr("hideFocus",true)}}else{D.css("outline","");if("hideFocus" in am[0]){D.attr("hideFocus",false)}}function aK(){var aN=aa,aM=I;switch(s){case 40:Q.scrollByY(az.keyboardSpeed,false);break;case 38:Q.scrollByY(-az.keyboardSpeed,false);break;case 34:case 32:Q.scrollByY(v*az.scrollPagePercent,false);break;case 33:Q.scrollByY(-v*az.scrollPagePercent,false);break;case 39:Q.scrollByX(az.keyboardSpeed,false);break;case 37:Q.scrollByX(-az.keyboardSpeed,false);break}aJ=aN!=aa||aM!=I;return aJ}}function R(){D.attr("tabindex","-1").removeAttr("tabindex").unbind("keydown.jsp keypress.jsp")}function C(){if(location.hash&&location.hash.length>1){var aL,aJ,aK=escape(location.hash);try{aL=b(aK)}catch(s){return}if(aL.length&&Y.find(aK)){if(am.scrollTop()===0){aJ=setInterval(function(){if(am.scrollTop()>0){ab(aK,true);b(document).scrollTop(am.position().top);clearInterval(aJ)}},50)}else{ab(aK,true);b(document).scrollTop(am.position().top)}}}}function ai(){b("a.jspHijack").unbind("click.jsp-hijack").removeClass("jspHijack")}function m(){ai();b("a[href^=#]").addClass("jspHijack").bind("click.jsp-hijack",function(){var s=this.href.split("#"),aJ;if(s.length>1){aJ=s[1];if(aJ.length>0&&Y.find("#"+aJ).length>0){ab("#"+aJ,true);return false}}})}function ao(){var aK,aJ,aM,aL,aN,s=false;am.unbind("touchstart.jsp touchmove.jsp touchend.jsp click.jsp-touchclick").bind("touchstart.jsp",function(aO){var aP=aO.originalEvent.touches[0];aK=aD();aJ=aB();aM=aP.pageX;aL=aP.pageY;aN=false;s=true}).bind("touchmove.jsp",function(aR){if(!s){return}var aQ=aR.originalEvent.touches[0],aP=aa,aO=I;Q.scrollTo(aK+aM-aQ.pageX,aJ+aL-aQ.pageY);aN=aN||Math.abs(aM-aQ.pageX)>5||Math.abs(aL-aQ.pageY)>5;
return aP==aa&&aO==I}).bind("touchend.jsp",function(aO){s=false}).bind("click.jsp-touchclick",function(aO){if(aN){aN=false;return false}})}function g(){var s=aB(),aJ=aD();D.removeClass("jspScrollable").unbind(".jsp");D.replaceWith(ap.append(Y.children()));ap.scrollTop(s);ap.scrollLeft(aJ)}b.extend(Q,{reinitialise:function(aJ){aJ=b.extend({},az,aJ);at(aJ)},scrollToElement:function(aK,aJ,s){ab(aK,aJ,s)},scrollTo:function(aK,s,aJ){N(aK,aJ);M(s,aJ)},scrollToX:function(aJ,s){N(aJ,s)},scrollToY:function(s,aJ){M(s,aJ)},scrollToPercentX:function(aJ,s){N(aJ*(T-ak),s)},scrollToPercentY:function(aJ,s){M(aJ*(Z-v),s)},scrollBy:function(aJ,s,aK){Q.scrollByX(aJ,aK);Q.scrollByY(s,aK)},scrollByX:function(s,aK){var aJ=aD()+Math[s<0?"floor":"ceil"](s),aL=aJ/(T-ak);W(aL*j,aK)},scrollByY:function(s,aK){var aJ=aB()+Math[s<0?"floor":"ceil"](s),aL=aJ/(Z-v);V(aL*i,aK)},positionDragX:function(s,aJ){W(s,aJ)},positionDragY:function(aJ,s){V(aJ,s)},animate:function(aJ,aM,s,aL){var aK={};aK[aM]=s;aJ.animate(aK,{duration:az.animateDuration,easing:az.animateEase,queue:false,step:aL})},getContentPositionX:function(){return aD()},getContentPositionY:function(){return aB()},getContentWidth:function(){return T},getContentHeight:function(){return Z},getPercentScrolledX:function(){return aD()/(T-ak)},getPercentScrolledY:function(){return aB()/(Z-v)},getIsScrollableH:function(){return aF},getIsScrollableV:function(){return aA},getContentPane:function(){return Y},scrollToBottom:function(s){V(i,s)},hijackInternalLinks:function(){m()},destroy:function(){g()}});at(O)}e=b.extend({},b.fn.jScrollPane.defaults,e);b.each(["mouseWheelSpeed","arrowButtonSpeed","trackClickSpeed","keyboardSpeed"],function(){e[this]=e[this]||e.speed});return this.each(function(){var f=b(this),g=f.data("jsp");if(g){g.reinitialise(e)}else{g=new d(f,e);f.data("jsp",g)}})};b.fn.jScrollPane.defaults={showArrows:false,maintainPosition:true,stickToBottom:false,stickToRight:false,clickOnTrack:true,autoReinitialise:false,autoReinitialiseDelay:500,verticalDragMinHeight:0,verticalDragMaxHeight:99999,horizontalDragMinWidth:0,horizontalDragMaxWidth:99999,contentWidth:c,animateScroll:false,animateDuration:300,animateEase:"linear",hijackInternalLinks:false,verticalGutter:4,horizontalGutter:4,mouseWheelSpeed:0,arrowButtonSpeed:0,arrowRepeatFreq:50,arrowScrollOnHover:false,trackClickSpeed:0,trackClickRepeatFreq:70,verticalArrowPositions:"split",horizontalArrowPositions:"split",enableKeyboardNavigation:true,hideFocus:false,keyboardSpeed:0,initialDelay:300,speed:30,scrollPagePercent:0.8}})(jQuery,this);/*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net)
 * Licensed under the MIT License (LICENSE.txt).
 *
 * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
 * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
 * Thanks to: Seamus Leahy for adding deltaX and deltaY
 *
 * Version: 3.0.4
 * 
 * Requires: 1.2.2+
 */

(function($) {

var types = ['DOMMouseScroll', 'mousewheel'];

$.event.special.mousewheel = {
    setup: function() {
        if ( this.addEventListener ) {
            for ( var i=types.length; i; ) {
                this.addEventListener( types[--i], handler, false );
            }
        } else {
            this.onmousewheel = handler;
        }
    },
    
    teardown: function() {
        if ( this.removeEventListener ) {
            for ( var i=types.length; i; ) {
                this.removeEventListener( types[--i], handler, false );
            }
        } else {
            this.onmousewheel = null;
        }
    }
};

$.fn.extend({
    mousewheel: function(fn) {
        return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
    },
    
    unmousewheel: function(fn) {
        return this.unbind("mousewheel", fn);
    }
});


function handler(event) {
    var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
    event = $.event.fix(orgEvent);
    event.type = "mousewheel";
    
    // Old school scrollwheel delta
    if ( event.wheelDelta ) { delta = event.wheelDelta/120; }
    if ( event.detail     ) { delta = -event.detail/3; }
    
    // New school multidimensional scroll (touchpads) deltas
    deltaY = delta;
    
    // Gecko
    if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
        deltaY = 0;
        deltaX = -1*delta;
    }
    
    // Webkit
    if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
    if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }
    
    // Add event and delta to the front of the arguments
    args.unshift(event, delta, deltaX, deltaY);
    
    return $.event.handle.apply(this, args);
}

})(jQuery);/*
 * jQuery Tools 1.2.5 - The missing UI library for the Web
 * 
 * [scrollable]
 * 
 * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
 * 
 * http://flowplayer.org/tools/
 * 
 * File generated: Wed Jan 12 16:39:16 GMT 2011
 */
(function(e){function p(f,c){var b=e(c);return b.length<2?b:f.parent().find(c)}function u(f,c){var b=this,n=f.add(b),g=f.children(),l=0,j=c.vertical;k||(k=b);if(g.length>1)g=e(c.items,f);e.extend(b,{getConf:function(){return c},getIndex:function(){return l},getSize:function(){return b.getItems().size()},getNaviButtons:function(){return o.add(q)},getRoot:function(){return f},getItemWrap:function(){return g},getItems:function(){return g.children(c.item).not("."+c.clonedClass)},move:function(a,d){return b.seekTo(l+
a,d)},next:function(a){return b.move(1,a)},prev:function(a){return b.move(-1,a)},begin:function(a){return b.seekTo(0,a)},end:function(a){return b.seekTo(b.getSize()-1,a)},focus:function(){return k=b},addItem:function(a){a=e(a);if(c.circular){g.children("."+c.clonedClass+":last").before(a);g.children("."+c.clonedClass+":first").replaceWith(a.clone().addClass(c.clonedClass))}else g.append(a);n.trigger("onAddItem",[a]);return b},seekTo:function(a,d,h){a.jquery||(a*=1);if(c.circular&&a===0&&l==-1&&d!==
0)return b;if(!c.circular&&a<0||a>b.getSize()||a<-1)return b;var i=a;if(a.jquery)a=b.getItems().index(a);else i=b.getItems().eq(a);var r=e.Event("onBeforeSeek");if(!h){n.trigger(r,[a,d]);if(r.isDefaultPrevented()||!i.length)return b}i=j?{top:-i.position().top}:{left:-i.position().left};l=a;k=b;if(d===undefined)d=c.speed;g.animate(i,d,c.easing,h||function(){n.trigger("onSeek",[a])});return b}});e.each(["onBeforeSeek","onSeek","onAddItem"],function(a,d){e.isFunction(c[d])&&e(b).bind(d,c[d]);b[d]=function(h){h&&
e(b).bind(d,h);return b}});if(c.circular){var s=b.getItems().slice(-1).clone().prependTo(g),t=b.getItems().eq(1).clone().appendTo(g);s.add(t).addClass(c.clonedClass);b.onBeforeSeek(function(a,d,h){if(!a.isDefaultPrevented())if(d==-1){b.seekTo(s,h,function(){b.end(0)});return a.preventDefault()}else d==b.getSize()&&b.seekTo(t,h,function(){b.begin(0)})});b.seekTo(0,0,function(){})}var o=p(f,c.prev).click(function(){b.prev()}),q=p(f,c.next).click(function(){b.next()});if(!c.circular&&b.getSize()>1){b.onBeforeSeek(function(a,
d){setTimeout(function(){if(!a.isDefaultPrevented()){o.toggleClass(c.disabledClass,d<=0);q.toggleClass(c.disabledClass,d>=b.getSize()-1)}},1)});c.initialIndex||o.addClass(c.disabledClass)}c.mousewheel&&e.fn.mousewheel&&f.mousewheel(function(a,d){if(c.mousewheel){b.move(d<0?1:-1,c.wheelSpeed||50);return false}});if(c.touch){var m={};g[0].ontouchstart=function(a){a=a.touches[0];m.x=a.clientX;m.y=a.clientY};g[0].ontouchmove=function(a){if(a.touches.length==1&&!g.is(":animated")){var d=a.touches[0],h=
m.x-d.clientX;d=m.y-d.clientY;b[j&&d>0||!j&&h>0?"next":"prev"]();a.preventDefault()}}}c.keyboard&&e(document).bind("keydown.scrollable",function(a){if(!(!c.keyboard||a.altKey||a.ctrlKey||e(a.target).is(":input")))if(!(c.keyboard!="static"&&k!=b)){var d=a.keyCode;if(j&&(d==38||d==40)){b.move(d==38?-1:1);return a.preventDefault()}if(!j&&(d==37||d==39)){b.move(d==37?-1:1);return a.preventDefault()}}});c.initialIndex&&b.seekTo(c.initialIndex,0,function(){})}e.tools=e.tools||{version:"1.2.5"};e.tools.scrollable=
{conf:{activeClass:"active",circular:false,clonedClass:"cloned",disabledClass:"disabled",easing:"swing",initialIndex:0,item:null,items:".items",keyboard:true,mousewheel:false,next:".next",prev:".prev",speed:400,vertical:false,touch:true,wheelSpeed:0}};var k;e.fn.scrollable=function(f){var c=this.data("scrollable");if(c)return c;f=e.extend({},e.tools.scrollable.conf,f);this.each(function(){c=new u(e(this),f);e(this).data("scrollable",c)});return f.api?c:this}})(jQuery);
(function($){
	
	//closeDOMWindow
	$.fn.closeDOMWindow = function(settings){
		
		if(!settings){settings={};}
		
		var run = function(passingThis){
			
			if(settings.anchoredClassName){
				var $anchorClassName = $('.'+settings.anchoredClassName);
				$anchorClassName.fadeOut('fast',function(){
					if($.fn.draggable){
						$anchorClassName.draggable('destory').trigger("unload").remove();	
					}else{
						$anchorClassName.trigger("unload").remove();
					}
				});
				if(settings.functionCallOnClose){settings.functionCallOnClose();}
			}else{
				var $DOMWindowOverlay = $('#DOMWindowOverlay');
				var $DOMWindow = $('#DOMWindow');
				$DOMWindowOverlay.fadeOut('fast',function(){
					$DOMWindowOverlay.trigger('unload').unbind().remove();																	  
				});
				$DOMWindow.fadeOut('fast',function(){
					if($.fn.draggable){
						$DOMWindow.draggable("destroy").trigger("unload").remove();
					}else{
						$DOMWindow.trigger("unload").remove();
					}
				});
			
				$(window).unbind('scroll.DOMWindow');
				$(window).unbind('resize.DOMWindow');
				
				if($.fn.openDOMWindow.isIE6){$('#DOMWindowIE6FixIframe').remove();}
				if(settings.functionCallOnClose){settings.functionCallOnClose();}
			}	
		};
		
		if(settings.eventType){//if used with $().
			return this.each(function(index){
				$(this).bind(settings.eventType, function(){
					run(this);
					return false;
				});
			});
		}else{//else called as $.function
			run();
		}
		
	};
	
	//allow for public call, pass settings
	$.closeDOMWindow = function(s){$.fn.closeDOMWindow(s);};
	
	//openDOMWindow
	$.fn.openDOMWindow = function(instanceSettings){	
		
		var shortcut =  $.fn.openDOMWindow;
	
		//default settings combined with callerSettings////////////////////////////////////////////////////////////////////////
		
		shortcut.defaultsSettings = {
			anchoredClassName:'',
			anchoredSelector:'',
			borderColor:'#ccc',
			borderSize:'4',
			draggable:0,
			eventType:null, //click, blur, change, dblclick, error, focus, load, mousedown, mouseout, mouseup etc...
			fixedWindowY:100,
			functionCallOnOpen:null,
			functionCallOnClose:null,
			height:500,
			loader:0,
			loaderHeight:0,
			loaderImagePath:'',
			loaderWidth:0,
			modal:0,
			overlay:1,
			overlayColor:'#000',
			overlayOpacity:'85',
			positionLeft:0,
			positionTop:0,
			positionType:'centered', // centered, anchored, absolute, fixed
			width:500, 
			windowBGColor:'#fff',
			windowBGImage:null, // http path
			windowHTTPType:'get',
			windowPadding:10,
			windowSource:'inline', //inline, ajax, iframe
			windowSourceID:'',
			windowSourceURL:'',
			windowSourceAttrURL:'href'
		};
		
		var settings = $.extend({}, $.fn.openDOMWindow.defaultsSettings , instanceSettings || {});
		
		//Public functions
		
		shortcut.viewPortHeight = function(){ return self.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;};
		shortcut.viewPortWidth = function(){ return self.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;};
		shortcut.scrollOffsetHeight = function(){ return self.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;};
		shortcut.scrollOffsetWidth = function(){ return self.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft;};
		shortcut.isIE6 = typeof document.body.style.maxHeight === "undefined";
		
		//Private Functions/////////////////////////////////////////////////////////////////////////////////////////////////////////
		
		var sizeOverlay = function(){
			var $DOMWindowOverlay = $('#DOMWindowOverlay');
			if(shortcut.isIE6){//if IE 6
				var overlayViewportHeight = document.documentElement.offsetHeight + document.documentElement.scrollTop - 4;
				var overlayViewportWidth = document.documentElement.offsetWidth - 21;
				$DOMWindowOverlay.css({'height':overlayViewportHeight +'px','width':overlayViewportWidth+'px'});
			}else{//else Firefox, safari, opera, IE 7+
				$DOMWindowOverlay.css({'height':'100%','width':'100%','position':'fixed'});
			}	
		};
		
		var sizeIE6Iframe = function(){
			var overlayViewportHeight = document.documentElement.offsetHeight + document.documentElement.scrollTop - 4;
			var overlayViewportWidth = document.documentElement.offsetWidth - 21;
			$('#DOMWindowIE6FixIframe').css({'height':overlayViewportHeight +'px','width':overlayViewportWidth+'px'});
		};
		
		var centerDOMWindow = function() {
			var $DOMWindow = $('#DOMWindow');
			if(settings.height + 50 > shortcut.viewPortHeight()){//added 50 to be safe
				$DOMWindow.css('left',Math.round(shortcut.viewPortWidth()/2) + shortcut.scrollOffsetWidth() - Math.round(($DOMWindow.outerWidth())/2));
			}else{
				$DOMWindow.css('left',Math.round(shortcut.viewPortWidth()/2) + shortcut.scrollOffsetWidth() - Math.round(($DOMWindow.outerWidth())/2));
				$DOMWindow.css('top',Math.round(shortcut.viewPortHeight()/2) + shortcut.scrollOffsetHeight() - Math.round(($DOMWindow.outerHeight())/2) - 100);
			}
		};
		
		var centerLoader = function() {
			var $DOMWindowLoader = $('#DOMWindowLoader');
			if(shortcut.isIE6){//if IE 6
				$DOMWindowLoader.css({'left':Math.round(shortcut.viewPortWidth()/2) + shortcut.scrollOffsetWidth() - Math.round(($DOMWindowLoader.innerWidth())/2),'position':'absolute'});
				$DOMWindowLoader.css({'top':Math.round(shortcut.viewPortHeight()/2) + shortcut.scrollOffsetHeight() - Math.round(($DOMWindowLoader.innerHeight())/2),'position':'absolute'});
			}else{
				$DOMWindowLoader.css({'left':'50%','top':'50%','position':'fixed'});
			}
			
		};
		
		var fixedDOMWindow = function(){
			var $DOMWindow = $('#DOMWindow');
			$DOMWindow.css('left', settings.positionLeft + shortcut.scrollOffsetWidth());
			$DOMWindow.css('top', + settings.positionTop + shortcut.scrollOffsetHeight());
		};
		
		var showDOMWindow = function(instance){
			if(arguments[0]){
				$('.'+instance+' #DOMWindowLoader').remove();
				$('.'+instance+' #DOMWindowContent').fadeIn('fast',function(){if(settings.functionCallOnOpen){settings.functionCallOnOpen();}});
				$('.'+instance+ '.closeDOMWindow').click(function(){
					$.closeDOMWindow();	
					return false;
				});
			}else{
				$('#DOMWindowLoader').remove();
				$('#DOMWindow').fadeIn('fast',function(){if(settings.functionCallOnOpen){settings.functionCallOnOpen();}});
				$('#DOMWindow .closeDOMWindow').click(function(){						
					$.closeDOMWindow();
					return false;
				});
			}
			
		};
		
		var urlQueryToObject = function(s){
			  var query = {};
			  s.replace(/b([^&=]*)=([^&=]*)b/g, function (m, a, d) {
				if (typeof query[a] != 'undefined') {
				  query[a] += ',' + d;
				} else {
				  query[a] = d;
				}
			  });
			  return query;
		};
			
		//Run Routine ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
		var run = function(passingThis){
			
			//get values from element clicked, or assume its passed as an option
			settings.windowSourceID = $(passingThis).attr('href') || settings.windowSourceID;
			settings.windowSourceURL = $(passingThis).attr(settings.windowSourceAttrURL) || settings.windowSourceURL;
			settings.windowBGImage = settings.windowBGImage ? 'background-image:url('+settings.windowBGImage+')' : '';
			var urlOnly, urlQueryObject;
			
			if(settings.positionType == 'anchored'){//anchored DOM window
				
				var anchoredPositions = $(settings.anchoredSelector).position();
				var anchoredPositionX = anchoredPositions.left + settings.positionLeft;
				var anchoredPositionY = anchoredPositions.top + settings.positionTop;
				
				$('body').append('<div class="'+settings.anchoredClassName+'" style="'+settings.windowBGImage+';background-repeat:no-repeat;padding:'+settings.windowPadding+'px;position:absolute;top:'+anchoredPositionY+'px;left:'+anchoredPositionX+'px;height:'+settings.height+'px;width:'+settings.width+'px;background-color:'+settings.windowBGColor+';border:'+settings.borderSize+'px solid '+settings.borderColor+';z-index:10001"><div id="DOMWindowContent" style="display:none"></div></div>');		
				//loader
				if(settings.loader && settings.loaderImagePath !== ''){
					$('.'+settings.anchoredClassName).append('<div id="DOMWindowLoader" style="width:'+settings.loaderWidth+'px;height:'+settings.loaderHeight+'px;"><img src="'+settings.loaderImagePath+'" /></div>');
					
				}

				if($.fn.draggable){
					if(settings.draggable){$('.' + settings.anchoredClassName).draggable({cursor:'move'});}
				}
				
				switch(settings.windowSource){
					case 'inline'://////////////////////////////// inline //////////////////////////////////////////
						$('.' + settings.anchoredClassName+" #DOMWindowContent").append($(settings.windowSourceID).children());
						$('.' + settings.anchoredClassName).unload(function(){// move elements back when you're finished
							$('.' + settings.windowSourceID).append( $('.' + settings.anchoredClassName+" #DOMWindowContent").children());				
						});
						showDOMWindow(settings.anchoredClassName);
					break;
					case 'iframe'://////////////////////////////// iframe //////////////////////////////////////////
						$('.' + settings.anchoredClassName+" #DOMWindowContent").append('<iframe frameborder="0" hspace="0" wspace="0" src="'+settings.windowSourceURL+'" name="DOMWindowIframe'+Math.round(Math.random()*1000)+'" style="width:100%;height:100%;border:none;background-color:#fff;" class="'+settings.anchoredClassName+'Iframe" ></iframe>');
						$('.'+settings.anchoredClassName+'Iframe').load(showDOMWindow(settings.anchoredClassName));
					break;
					case 'ajax'://////////////////////////////// ajax //////////////////////////////////////////	
						if(settings.windowHTTPType == 'post'){
							
							if(settings.windowSourceURL.indexOf("?") !== -1){//has a query string
								urlOnly = settings.windowSourceURL.substr(0, settings.windowSourceURL.indexOf("?"));
								urlQueryObject = urlQueryToObject(settings.windowSourceURL);
							}else{
								urlOnly = settings.windowSourceURL;
								urlQueryObject = {};
							}
							$('.' + settings.anchoredClassName+" #DOMWindowContent").load(urlOnly,urlQueryObject,function(){
								showDOMWindow(settings.anchoredClassName);
							});
						}else{
							if(settings.windowSourceURL.indexOf("?") == -1){ //no query string, so add one
								settings.windowSourceURL += '?';
							}
							$('.' + settings.anchoredClassName+" #DOMWindowContent").load(
								settings.windowSourceURL + '&random=' + (new Date().getTime()),function(){
								showDOMWindow(settings.anchoredClassName);
							});
						}
					break;
				}
				
			}else{//centered, fixed, absolute DOM window
				
				//overlay & modal
				if(settings.overlay){
					$('body').append('<div id="DOMWindowOverlay" style="z-index:10000;display:none;position:absolute;top:0;left:0;background-color:'+settings.overlayColor+';filter:alpha(opacity='+settings.overlayOpacity+');-moz-opacity: 0.'+settings.overlayOpacity+';opacity: 0.'+settings.overlayOpacity+';"></div>');
					if(shortcut.isIE6){//if IE 6
						$('body').append('<iframe id="DOMWindowIE6FixIframe"  src="blank.html"  style="width:100%;height:100%;z-index:9999;position:absolute;top:0;left:0;filter:alpha(opacity=0);"></iframe>');
						sizeIE6Iframe();
					}
					sizeOverlay();
					var $DOMWindowOverlay = $('#DOMWindowOverlay');
					$DOMWindowOverlay.fadeIn('fast');
					if(!settings.modal){$DOMWindowOverlay.click(function(){$.closeDOMWindow();});}
				}
				
				//loader
				if(settings.loader && settings.loaderImagePath !== ''){
					$('body').append('<div id="DOMWindowLoader" style="z-index:10002;width:'+settings.loaderWidth+'px;height:'+settings.loaderHeight+'px;"><img src="'+settings.loaderImagePath+'" /></div>');
					centerLoader();
				}

				//add DOMwindow
				$('body').append('<div id="DOMWindow" style="background-repeat:no-repeat;'+settings.windowBGImage+';padding:'+settings.windowPadding+'px;display:none;height:'+settings.height+'px;width:'+settings.width+'px;background-color:'+settings.windowBGColor+';border:'+settings.borderSize+'px solid '+settings.borderColor+'; position:absolute;z-index:10001"></div>');
				
				var $DOMWindow = $('#DOMWindow');
				//centered, absolute, or fixed
				switch(settings.positionType){
					case 'centered':
						centerDOMWindow();
						if(settings.height + 50 > shortcut.viewPortHeight()){//added 50 to be safe
							$DOMWindow.css('top', (settings.fixedWindowY + shortcut.scrollOffsetHeight()) + 'px');
						}
					break;
					case 'absolute':
						$DOMWindow.css({'top':(settings.positionTop+shortcut.scrollOffsetHeight())+'px','left':(settings.positionLeft+shortcut.scrollOffsetWidth())+'px'});
						if($.fn.draggable){
							if(settings.draggable){$DOMWindow.draggable({cursor:'move'});}
						}
					break;
					case 'fixed':
						fixedDOMWindow();
					break;
					case 'anchoredSingleWindow':
						var anchoredPositions = $(settings.anchoredSelector).position();
						var anchoredPositionX = anchoredPositions.left + settings.positionLeft;
						var anchoredPositionY = anchoredPositions.top + settings.positionTop;
						$DOMWindow.css({'top':anchoredPositionY + 'px','left':anchoredPositionX+'px'});
								
					break;
				}
				
				$(window).bind('scroll.DOMWindow',function(){
					if(settings.overlay){sizeOverlay();}
					if(shortcut.isIE6){sizeIE6Iframe();}
					if(settings.positionType == 'centered'){centerDOMWindow();}
					if(settings.positionType == 'fixed'){fixedDOMWindow();}
				});

				$(window).bind('resize.DOMWindow',function(){
					if(shortcut.isIE6){sizeIE6Iframe();}
					if(settings.overlay){sizeOverlay();}
					if(settings.positionType == 'centered'){centerDOMWindow();}
				});
				
				switch(settings.windowSource){
					case 'inline'://////////////////////////////// inline //////////////////////////////////////////
						$DOMWindow.append($(settings.windowSourceID).children());
						$DOMWindow.unload(function(){// move elements back when you're finished
							$(settings.windowSourceID).append($DOMWindow.children());				
						});
						showDOMWindow();
					break;
					case 'iframe'://////////////////////////////// iframe //////////////////////////////////////////
						$DOMWindow.append('<iframe frameborder="0" hspace="0" wspace="0" src="'+settings.windowSourceURL+'" name="DOMWindowIframe'+Math.round(Math.random()*1000)+'" style="width:100%;height:100%;border:none;background-color:#fff;" id="DOMWindowIframe" ></iframe>');
						$('#DOMWindowIframe').load(showDOMWindow());
					break;
					case 'ajax'://////////////////////////////// ajax //////////////////////////////////////////
						if(settings.windowHTTPType == 'post'){
							
							if(settings.windowSourceURL.indexOf("?") !== -1){//has a query string
								urlOnly = settings.windowSourceURL.substr(0, settings.windowSourceURL.indexOf("?"));
								urlQueryObject = urlQueryToObject(settings.windowSourceURL);
							}else{
								urlOnly = settings.windowSourceURL;
								urlQueryObject = {};
							}
							$DOMWindow.load(urlOnly,urlQueryObject,function(){
								showDOMWindow();
							});
						}else{
							if(settings.windowSourceURL.indexOf("?") == -1){ //no query string, so add one
								settings.windowSourceURL += '?';
							}
							$DOMWindow.load(
								settings.windowSourceURL + '&random=' + (new Date().getTime()),function(){
								showDOMWindow();
							});
						}
					break;
				}
				
			}//end if anchored, or absolute, fixed, centered
			
		};//end run()
		
		if(settings.eventType){//if used with $().
			return this.each(function(index){				  
				$(this).bind(settings.eventType,function(){
					run(this);
					return false;
				});
			});	
		}else{//else called as $.function
			run();
		}
		
	};//end function openDOMWindow
	
	//allow for public call, pass settings
	$.openDOMWindow = function(s){$.fn.openDOMWindow(s);};
	
})(jQuery);
/*
 * jQuery validation plug-in 1.7
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-validation/
 * http://docs.jquery.com/Plugins/Validation
 *
 * Copyright (c) 2006 - 2008 Jörn Zaefferer
 *
 * $Id: jquery.validate.js 6403 2009-06-17 14:27:16Z joern.zaefferer $
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
(function($){$.extend($.fn,{validate:function(options){if(!this.length){options&&options.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing");return;}var validator=$.data(this[0],'validator');if(validator){return validator;}validator=new $.validator(options,this[0]);$.data(this[0],'validator',validator);if(validator.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){validator.cancelSubmit=true;});if(validator.settings.submitHandler){this.find("input, button").filter(":submit").click(function(){validator.submitButton=this;});}this.submit(function(event){if(validator.settings.debug)event.preventDefault();function handle(){if(validator.settings.submitHandler){if(validator.submitButton){var hidden=$("<input type='hidden'/>").attr("name",validator.submitButton.name).val(validator.submitButton.value).appendTo(validator.currentForm);}validator.settings.submitHandler.call(validator,validator.currentForm);if(validator.submitButton){hidden.remove();}return false;}return true;}if(validator.cancelSubmit){validator.cancelSubmit=false;return handle();}if(validator.form()){if(validator.pendingRequest){validator.formSubmitted=true;return false;}return handle();}else{validator.focusInvalid();return false;}});}return validator;},valid:function(){if($(this[0]).is('form')){return this.validate().form();}else{var valid=true;var validator=$(this[0].form).validate();this.each(function(){valid&=validator.element(this);});return valid;}},removeAttrs:function(attributes){var result={},$element=this;$.each(attributes.split(/\s/),function(index,value){result[value]=$element.attr(value);$element.removeAttr(value);});return result;},rules:function(command,argument){var element=this[0];if(command){var settings=$.data(element.form,'validator').settings;var staticRules=settings.rules;var existingRules=$.validator.staticRules(element);switch(command){case"add":$.extend(existingRules,$.validator.normalizeRule(argument));staticRules[element.name]=existingRules;if(argument.messages)settings.messages[element.name]=$.extend(settings.messages[element.name],argument.messages);break;case"remove":if(!argument){delete staticRules[element.name];return existingRules;}var filtered={};$.each(argument.split(/\s/),function(index,method){filtered[method]=existingRules[method];delete existingRules[method];});return filtered;}}var data=$.validator.normalizeRules($.extend({},$.validator.metadataRules(element),$.validator.classRules(element),$.validator.attributeRules(element),$.validator.staticRules(element)),element);if(data.required){var param=data.required;delete data.required;data=$.extend({required:param},data);}return data;}});$.extend($.expr[":"],{blank:function(a){return!$.trim(""+a.value);},filled:function(a){return!!$.trim(""+a.value);},unchecked:function(a){return!a.checked;}});$.validator=function(options,form){this.settings=$.extend(true,{},$.validator.defaults,options);this.currentForm=form;this.init();};$.validator.format=function(source,params){if(arguments.length==1)return function(){var args=$.makeArray(arguments);args.unshift(source);return $.validator.format.apply(this,args);};if(arguments.length>2&&params.constructor!=Array){params=$.makeArray(arguments).slice(1);}if(params.constructor!=Array){params=[params];}$.each(params,function(i,n){source=source.replace(new RegExp("\\{"+i+"\\}","g"),n);});return source;};$.extend($.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:$([]),errorLabelContainer:$([]),onsubmit:true,ignore:[],ignoreTitle:false,onfocusin:function(element){this.lastActive=element;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,element,this.settings.errorClass,this.settings.validClass);this.errorsFor(element).hide();}},onfocusout:function(element){if(!this.checkable(element)&&(element.name in this.submitted||!this.optional(element))){this.element(element);}},onkeyup:function(element){if(element.name in this.submitted||element==this.lastElement){this.element(element);}},onclick:function(element){if(element.name in this.submitted)this.element(element);else if(element.parentNode.name in this.submitted)this.element(element.parentNode);},highlight:function(element,errorClass,validClass){$(element).addClass(errorClass).removeClass(validClass);},unhighlight:function(element,errorClass,validClass){$(element).removeClass(errorClass).addClass(validClass);}},setDefaults:function(settings){$.extend($.validator.defaults,settings);},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){this.labelContainer=$(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||$(this.currentForm);this.containers=$(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var groups=(this.groups={});$.each(this.settings.groups,function(key,value){$.each(value.split(/\s/),function(index,name){groups[name]=key;});});var rules=this.settings.rules;$.each(rules,function(key,value){rules[key]=$.validator.normalizeRule(value);});function delegate(event){var validator=$.data(this[0].form,"validator"),eventType="on"+event.type.replace(/^validate/,"");validator.settings[eventType]&&validator.settings[eventType].call(validator,this[0]);}$(this.currentForm).validateDelegate(":text, :password, :file, select, textarea","focusin focusout keyup",delegate).validateDelegate(":radio, :checkbox, select, option","click",delegate);if(this.settings.invalidHandler)$(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler);},form:function(){this.checkForm();$.extend(this.submitted,this.errorMap);this.invalid=$.extend({},this.errorMap);if(!this.valid())$(this.currentForm).triggerHandler("invalid-form",[this]);this.showErrors();return this.valid();},checkForm:function(){this.prepareForm();for(var i=0,elements=(this.currentElements=this.elements());elements[i];i++){this.check(elements[i]);}return this.valid();},element:function(element){element=this.clean(element);this.lastElement=element;this.prepareElement(element);this.currentElements=$(element);var result=this.check(element);if(result){delete this.invalid[element.name];}else{this.invalid[element.name]=true;}if(!this.numberOfInvalids()){this.toHide=this.toHide.add(this.containers);}this.showErrors();return result;},showErrors:function(errors){if(errors){$.extend(this.errorMap,errors);this.errorList=[];for(var name in errors){this.errorList.push({message:errors[name],element:this.findByName(name)[0]});}this.successList=$.grep(this.successList,function(element){return!(element.name in errors);});}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors();},resetForm:function(){if($.fn.resetForm)$(this.currentForm).resetForm();this.submitted={};this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass);},numberOfInvalids:function(){return this.objectLength(this.invalid);},objectLength:function(obj){var count=0;for(var i in obj)count++;return count;},hideErrors:function(){this.addWrapper(this.toHide).hide();},valid:function(){return this.size()==0;},size:function(){return this.errorList.length;},focusInvalid:function(){if(this.settings.focusInvalid){try{$(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin");}catch(e){}}},findLastActive:function(){var lastActive=this.lastActive;return lastActive&&$.grep(this.errorList,function(n){return n.element.name==lastActive.name;}).length==1&&lastActive;},elements:function(){var validator=this,rulesCache={};return $([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&validator.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in rulesCache||!validator.objectLength($(this).rules()))return false;rulesCache[this.name]=true;return true;});},clean:function(selector){return $(selector)[0];},errors:function(){return $(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext);},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=$([]);this.toHide=$([]);this.currentElements=$([]);},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers);},prepareElement:function(element){this.reset();this.toHide=this.errorsFor(element);},check:function(element){element=this.clean(element);if(this.checkable(element)){element=this.findByName(element.name)[0];}var rules=$(element).rules();var dependencyMismatch=false;for(method in rules){var rule={method:method,parameters:rules[method]};try{var result=$.validator.methods[method].call(this,element.value.replace(/\r/g,""),element,rule.parameters);if(result=="dependency-mismatch"){dependencyMismatch=true;continue;}dependencyMismatch=false;if(result=="pending"){this.toHide=this.toHide.not(this.errorsFor(element));return;}if(!result){this.formatAndAdd(element,rule);return false;}}catch(e){this.settings.debug&&window.console&&console.log("exception occured when checking element "+element.id
+", check the '"+rule.method+"' method",e);throw e;}}if(dependencyMismatch)return;if(this.objectLength(rules))this.successList.push(element);return true;},customMetaMessage:function(element,method){if(!$.metadata)return;var meta=this.settings.meta?$(element).metadata()[this.settings.meta]:$(element).metadata();return meta&&meta.messages&&meta.messages[method];},customMessage:function(name,method){var m=this.settings.messages[name];return m&&(m.constructor==String?m:m[method]);},findDefined:function(){for(var i=0;i<arguments.length;i++){if(arguments[i]!==undefined)return arguments[i];}return undefined;},defaultMessage:function(element,method){return this.findDefined(this.customMessage(element.name,method),this.customMetaMessage(element,method),!this.settings.ignoreTitle&&element.title||undefined,$.validator.messages[method],"<strong>Warning: No message defined for "+element.name+"</strong>");},formatAndAdd:function(element,rule){var message=this.defaultMessage(element,rule.method),theregex=/\$?\{(\d+)\}/g;if(typeof message=="function"){message=message.call(this,rule.parameters,element);}else if(theregex.test(message)){message=jQuery.format(message.replace(theregex,'{$1}'),rule.parameters);}this.errorList.push({message:message,element:element});this.errorMap[element.name]=message;this.submitted[element.name]=message;},addWrapper:function(toToggle){if(this.settings.wrapper)toToggle=toToggle.add(toToggle.parent(this.settings.wrapper));return toToggle;},defaultShowErrors:function(){for(var i=0;this.errorList[i];i++){var error=this.errorList[i];this.settings.highlight&&this.settings.highlight.call(this,error.element,this.settings.errorClass,this.settings.validClass);this.showLabel(error.element,error.message);}if(this.errorList.length){this.toShow=this.toShow.add(this.containers);}if(this.settings.success){for(var i=0;this.successList[i];i++){this.showLabel(this.successList[i]);}}if(this.settings.unhighlight){for(var i=0,elements=this.validElements();elements[i];i++){this.settings.unhighlight.call(this,elements[i],this.settings.errorClass,this.settings.validClass);}}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show();},validElements:function(){return this.currentElements.not(this.invalidElements());},invalidElements:function(){return $(this.errorList).map(function(){return this.element;});},showLabel:function(element,message){var label=this.errorsFor(element);if(label.length){label.removeClass().addClass(this.settings.errorClass);label.attr("generated")&&label.html(message);}else{label=$("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(element),generated:true}).addClass(this.settings.errorClass).html(message||"");if(this.settings.wrapper){label=label.hide().show().wrap("<"+this.settings.wrapper+"/>").parent();}if(!this.labelContainer.append(label).length)this.settings.errorPlacement?this.settings.errorPlacement(label,$(element)):label.insertAfter(element);}if(!message&&this.settings.success){label.text("");typeof this.settings.success=="string"?label.addClass(this.settings.success):this.settings.success(label);}this.toShow=this.toShow.add(label);},errorsFor:function(element){var name=this.idOrName(element);return this.errors().filter(function(){return $(this).attr('for')==name;});},idOrName:function(element){return this.groups[element.name]||(this.checkable(element)?element.name:element.id||element.name);},checkable:function(element){return/radio|checkbox/i.test(element.type);},findByName:function(name){var form=this.currentForm;return $(document.getElementsByName(name)).map(function(index,element){return element.form==form&&element.name==name&&element||null;});},getLength:function(value,element){switch(element.nodeName.toLowerCase()){case'select':return $("option:selected",element).length;case'input':if(this.checkable(element))return this.findByName(element.name).filter(':checked').length;}return value.length;},depend:function(param,element){return this.dependTypes[typeof param]?this.dependTypes[typeof param](param,element):true;},dependTypes:{"boolean":function(param,element){return param;},"string":function(param,element){return!!$(param,element.form).length;},"function":function(param,element){return param(element);}},optional:function(element){return!$.validator.methods.required.call(this,$.trim(element.value),element)&&"dependency-mismatch";},startRequest:function(element){if(!this.pending[element.name]){this.pendingRequest++;this.pending[element.name]=true;}},stopRequest:function(element,valid){this.pendingRequest--;if(this.pendingRequest<0)this.pendingRequest=0;delete this.pending[element.name];if(valid&&this.pendingRequest==0&&this.formSubmitted&&this.form()){$(this.currentForm).submit();this.formSubmitted=false;}else if(!valid&&this.pendingRequest==0&&this.formSubmitted){$(this.currentForm).triggerHandler("invalid-form",[this]);this.formSubmitted=false;}},previousValue:function(element){return $.data(element,"previousValue")||$.data(element,"previousValue",{old:null,valid:true,message:this.defaultMessage(element,"remote")});}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(className,rules){className.constructor==String?this.classRuleSettings[className]=rules:$.extend(this.classRuleSettings,className);},classRules:function(element){var rules={};var classes=$(element).attr('class');classes&&$.each(classes.split(' '),function(){if(this in $.validator.classRuleSettings){$.extend(rules,$.validator.classRuleSettings[this]);}});return rules;},attributeRules:function(element){var rules={};var $element=$(element);for(method in $.validator.methods){var value=$element.attr(method);if(value){rules[method]=value;}}if(rules.maxlength&&/-1|2147483647|524288/.test(rules.maxlength)){delete rules.maxlength;}return rules;},metadataRules:function(element){if(!$.metadata)return{};var meta=$.data(element.form,'validator').settings.meta;return meta?$(element).metadata()[meta]:$(element).metadata();},staticRules:function(element){var rules={};var validator=$.data(element.form,'validator');if(validator.settings.rules){rules=$.validator.normalizeRule(validator.settings.rules[element.name])||{};}return rules;},normalizeRules:function(rules,element){$.each(rules,function(prop,val){if(val===false){delete rules[prop];return;}if(val.param||val.depends){var keepRule=true;switch(typeof val.depends){case"string":keepRule=!!$(val.depends,element.form).length;break;case"function":keepRule=val.depends.call(element,element);break;}if(keepRule){rules[prop]=val.param!==undefined?val.param:true;}else{delete rules[prop];}}});$.each(rules,function(rule,parameter){rules[rule]=$.isFunction(parameter)?parameter(element):parameter;});$.each(['minlength','maxlength','min','max'],function(){if(rules[this]){rules[this]=Number(rules[this]);}});$.each(['rangelength','range'],function(){if(rules[this]){rules[this]=[Number(rules[this][0]),Number(rules[this][1])];}});if($.validator.autoCreateRanges){if(rules.min&&rules.max){rules.range=[rules.min,rules.max];delete rules.min;delete rules.max;}if(rules.minlength&&rules.maxlength){rules.rangelength=[rules.minlength,rules.maxlength];delete rules.minlength;delete rules.maxlength;}}if(rules.messages){delete rules.messages;}return rules;},normalizeRule:function(data){if(typeof data=="string"){var transformed={};$.each(data.split(/\s/),function(){transformed[this]=true;});data=transformed;}return data;},addMethod:function(name,method,message){$.validator.methods[name]=method;$.validator.messages[name]=message!=undefined?message:$.validator.messages[name];if(method.length<3){$.validator.addClassRules(name,$.validator.normalizeRule(name));}},methods:{required:function(value,element,param){if(!this.depend(param,element))return"dependency-mismatch";switch(element.nodeName.toLowerCase()){case'select':var val=$(element).val();return val&&val.length>0;case'input':if(this.checkable(element))return this.getLength(value,element)>0;default:return $.trim(value).length>0;}},remote:function(value,element,param){if(this.optional(element))return"dependency-mismatch";var previous=this.previousValue(element);if(!this.settings.messages[element.name])this.settings.messages[element.name]={};previous.originalMessage=this.settings.messages[element.name].remote;this.settings.messages[element.name].remote=previous.message;param=typeof param=="string"&&{url:param}||param;if(previous.old!==value){previous.old=value;var validator=this;this.startRequest(element);var data={};data[element.name]=value;$.ajax($.extend(true,{url:param,mode:"abort",port:"validate"+element.name,dataType:"json",data:data,success:function(response){validator.settings.messages[element.name].remote=previous.originalMessage;var valid=response===true;if(valid){var submitted=validator.formSubmitted;validator.prepareElement(element);validator.formSubmitted=submitted;validator.successList.push(element);validator.showErrors();}else{var errors={};var message=(previous.message=response||validator.defaultMessage(element,"remote"));errors[element.name]=$.isFunction(message)?message(value):message;validator.showErrors(errors);}previous.valid=valid;validator.stopRequest(element,valid);}},param));return"pending";}else if(this.pending[element.name]){return"pending";}return previous.valid;},minlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)>=param;},maxlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)<=param;},rangelength:function(value,element,param){var length=this.getLength($.trim(value),element);return this.optional(element)||(length>=param[0]&&length<=param[1]);},min:function(value,element,param){return this.optional(element)||value>=param;},max:function(value,element,param){return this.optional(element)||value<=param;},range:function(value,element,param){return this.optional(element)||(value>=param[0]&&value<=param[1]);},email:function(value,element){return this.optional(element)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);},url:function(value,element){return this.optional(element)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);},date:function(value,element){return this.optional(element)||!/Invalid|NaN/.test(new Date(value));},dateISO:function(value,element){return this.optional(element)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(value);},number:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value);},digits:function(value,element){return this.optional(element)||/^\d+$/.test(value);},creditcard:function(value,element){if(this.optional(element))return"dependency-mismatch";if(/[^0-9-]+/.test(value))return false;var nCheck=0,nDigit=0,bEven=false;value=value.replace(/\D/g,"");for(var n=value.length-1;n>=0;n--){var cDigit=value.charAt(n);var nDigit=parseInt(cDigit,10);if(bEven){if((nDigit*=2)>9)nDigit-=9;}nCheck+=nDigit;bEven=!bEven;}return(nCheck%10)==0;},accept:function(value,element,param){param=typeof param=="string"?param.replace(/,/g,'|'):"png|jpe?g|gif";return this.optional(element)||value.match(new RegExp(".("+param+")$","i"));},equalTo:function(value,element,param){var target=$(param).unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){$(element).valid();});return value==target.val();}}});$.format=$.validator.format;})(jQuery);;(function($){var ajax=$.ajax;var pendingRequests={};$.ajax=function(settings){settings=$.extend(settings,$.extend({},$.ajaxSettings,settings));var port=settings.port;if(settings.mode=="abort"){if(pendingRequests[port]){pendingRequests[port].abort();}return(pendingRequests[port]=ajax.apply(this,arguments));}return ajax.apply(this,arguments);};})(jQuery);;(function($){if(!jQuery.event.special.focusin&&!jQuery.event.special.focusout&&document.addEventListener){$.each({focus:'focusin',blur:'focusout'},function(original,fix){$.event.special[fix]={setup:function(){this.addEventListener(original,handler,true);},teardown:function(){this.removeEventListener(original,handler,true);},handler:function(e){arguments[0]=$.event.fix(e);arguments[0].type=fix;return $.event.handle.apply(this,arguments);}};function handler(e){e=$.event.fix(e);e.type=fix;return $.event.handle.call(this,e);}});};$.extend($.fn,{validateDelegate:function(delegate,type,handler){return this.bind(type,function(event){var target=$(event.target);if(target.is(delegate)){return handler.apply(target,arguments);}});}});})(jQuery);/* ------------------------------------------------------------------------
	Class: prettyPopin
	Use: Alternative to popups
	Author: Stephane Caron (http://www.no-margin-for-errors.com)
	Version: 1.3
------------------------------------------------------------------------- */

var _followScroll = false;
var _readyBound = false;

(function($) {
	$.fn.prettyPopin = function(settings) {
		settings = jQuery.extend({
			modal : false, /* true/false */
			width : false, /* false/integer */
			height: false, /* false/integer */
			opacity: 0.5, /* value from 0 to 1 */
			animationSpeed: 'fast', /* slow/medium/fast/integer */
			followScroll: true, /* true/false */
			loader_path: 'images/prettyPopin/loader.gif', /* path to your loading image */
			callback: function(){} /* callback called when closing the popin */
		}, settings);

		function bindReady(){ // To bind them only once
			if(_readyBound) return;
			_readyBound = true;
			$(window).scroll(function(){ _centerPopin(); });
			$(window).resize(function(){ _centerPopin(); });
		};
		bindReady();
		
		return this.each(function(){
			var popinWidth;
			var popinHeight;
			var $c;
		
			$(this).click(function(){
				buildoverlay();
				buildpopin();
			
				// Load the content
				$.get($(this).attr('href'),function(responseText){
					$('.prettyPopin .prettyContent .prettyContent-container').html(responseText);
				
					// This block of code is used to calculate the width/height of the popin
					popinWidth = settings.width || $('.prettyPopin .prettyContent .prettyContent-container').width() + parseFloat($('.prettyPopin .prettyContent .prettyContent-container').css('padding-left')) + parseFloat($('.prettyPopin .prettyContent .prettyContent-container').css('padding-right'));
					$('.prettyPopin').width(popinWidth);
					popinHeight = settings.height || $('.prettyPopin .prettyContent .prettyContent-container').height() + parseFloat($('.prettyPopin .prettyContent .prettyContent-container').css('padding-top')) + parseFloat($('.prettyPopin .prettyContent .prettyContent-container').css('padding-bottom'));
					$('.prettyPopin').height(popinHeight);
				
					// Now reset the width/height
					$('.prettyPopin').height(45).width(45);
				
					displayPopin();
				});
				return false;
			});

			var displayPopin = function() {
				var scrollPos = _getScroll();

				projectedTop = ($(window).height()/2) + scrollPos['scrollTop'] - (popinHeight/2);
				if(projectedTop < 0) {
					projectedTop = 10;
					_followScroll = false;
				}else{
					_followScroll = settings.followScroll;
				};

				$('.prettyPopin').animate({
					'top': projectedTop,
					'left': ($(window).width()/2) + scrollPos['scrollLeft'] - (popinWidth/2),
					'width' : popinWidth,
					'height' : popinHeight
				},settings.animationSpeed, function(){
					displayContent();
				});
			};
		
			var buildpopin = function() {
				$('body').append('<div class="prettyPopin"><a href="#" id="b_close" rel="close">Close</a><div class="prettyContent"><img src="'+settings.loader_path+'" alt="Loading" class="loader" /><div class="prettyContent-container"></div></div></div>');
				$c = $('.prettyPopin .prettyContent .prettyContent-container'); // The content container
			
				$('.prettyPopin a[rel=close]:eq(0)').click(function(){ closeOverlay(); return false; });
			
				var scrollPos = _getScroll();
			
				// Show the popin
				$('.prettyPopin').width(45).height(45).css({
					'top': ($(window).height()/2) + scrollPos['scrollTop'],
					'left': ($(window).width()/2) + scrollPos['scrollLeft']
				}).hide().fadeIn(settings.animationSpeed);
			};
		
			var buildoverlay = function() {
				$('body').append('<div id="overlay"></div>');
			
				// Set the proper height
				$('#overlay').css('height',$(document).height());
			
				// Fade it in
				$('#overlay').css('opacity',0).fadeTo(settings.animationSpeed,settings.opacity);
			
				if(!settings.modal){
					$('#overlay').click(function(){
						closeOverlay();
					});
				};
			};
		
			var displayContent = function() {
				$c.parent().find('.loader').hide();
				$c.parent().parent().find('#b_close').show();
				$c.fadeIn(function(){
					// Focus on the first form input if there's one
					$(this).find('input[type=text]:first').trigger('focus');

					// Check for paging
					$('.prettyPopin a[rel=internal]').click(function(){
						$link = $(this);

						// Fade out the current content
						$c.fadeOut(function(){
							$c.parent().find('.loader').show();

							// Submit the form
							$.get($link.attr('href'),function(responseText){
								// Replace the content
								$c.html(responseText);

								_refreshContent($c);
							});
						});
						return false;
					});
				
/*
					// Submit the form in ajax
					$('.prettyPopin form').bind('submit',function(){
						$theForm = $(this);
						// Fade out the current content
						$c.fadeOut(function(){
							$c.parent().find('.loader').show();
						
							// Submit the form
							$.post($theForm.attr('action'), $theForm.serialize(),function(responseText){
								// Replace the content
								$c.html(responseText);

								_refreshContent($c);
							});
						});
						return false;
					});
*/
				});
				$('.prettyPopin a[rel=close]:gt(0)').click(function(){ closeOverlay(); return false; });
			};
	
			var _refreshContent = function(){
				var scrollPos = _getScroll();

				if(!settings.width)	popinWidth = $c.width() + parseFloat($c.css('padding-left')) + parseFloat($c.css('padding-right'));
				if(!settings.height) popinHeight = $c.height() + parseFloat($c.css('padding-top')) + parseFloat($c.css('padding-bottom'));

				projectedTop = ($(window).height()/2) + scrollPos['scrollTop'] - (popinHeight/2);
				if(projectedTop < 0) {
					projectedTop = 10;
					_followScroll = false;
				}else{
					_followScroll = settings.followScroll;
				};

				$('.prettyPopin').animate({
					'top': projectedTop,
					'left': ($(window).width()/2) + scrollPos['scrollLeft'] - (popinWidth/2),
					'width' : popinWidth,
					'height' : popinHeight
				}, settings.animationSpeed,function(){
					displayContent();
				});
			};
		
			var closeOverlay = function() {
				$('#overlay').fadeOut(settings.animationSpeed,function(){ $(this).remove(); });
				$('.prettyPopin').fadeOut(settings.animationSpeed,function(){ $(this).remove(); settings.callback() });
			};
		});
	
		function _centerPopin(){
			if(!_followScroll) return;

			// Make sure the popin exist
			if(!$('.prettyPopin')) return;
			
			var scrollPos = _getScroll();

			if($.browser.opera) {
				windowHeight = window.innerHeight;
				windowWidth = window.innerWidth;
			}else{
				windowHeight = $(window).height();
				windowWidth = $(window).width();
			};

			projectedTop = ($(window).height()/2) + scrollPos['scrollTop'] - ($('.prettyPopin').height()/2);
			if(projectedTop < 0) {
				projectedTop = 10;
				_followScroll = false;
			}else{
				_followScroll = true;
			};

			$('.prettyPopin').css({
				'top': projectedTop,
				'left': ($(window).width()/2) + scrollPos['scrollLeft'] - ($('.prettyPopin').width()/2)
			});
		};
	
		function _getScroll(){
			scrollTop = window.pageYOffset || document.documentElement.scrollTop || 0;
			scrollLeft = window.pageXOffset || document.documentElement.scrollLeft || 0;
			return {scrollTop:scrollTop,scrollLeft:scrollLeft};
		};
	};
})(jQuery);/*	
 *	jQuery carouFredSel 4.0.0
 *	Demo's and documentation:
 *	caroufredsel.frebsite.nl
 *	
 *	Copyright (c) 2010 Fred Heusschen
 *	www.frebsite.nl
 *
 *	Dual licensed under the MIT and GPL licenses.
 *	http://en.wikipedia.org/wiki/MIT_License
 *	http://en.wikipedia.org/wiki/GNU_General_Public_License
 */


eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(A($){$.1r.1s=A(o){u(T.X==0)B 18(\'3U 3V 2H.\');u(T.X>1){B T.1l(A(){$(T).1s(o)})}C l=T;l.2I=A(o){u(z o!=\'1b\')o={};u(z o.V==\'G\'){u(o.V<=3W)o.V={w:o.V};H o.V={14:o.V}}H{u(z o.V==\'1c\')o.V={Z:o.V}}u(z o.w==\'G\')o.w={D:o.w};H u(z o.w==\'1c\')o.w={D:o.w,1H:o.w,1W:o.w};4=$.1X(O,{},$.1r.1s.30,o);4.1Y=R;1t=(4.1t==\'31\'||4.1t==\'1u\')?\'M\':\'N\';u(4.1t==\'32\'||4.1t==\'1u\'){4.y=[\'1H\',\'33\',\'34\',\'1W\',\'35\',\'36\',\'1u\',\'2e\',\'1I\',0,1,2,3]}H{4.y=[\'1W\',\'35\',\'36\',\'1H\',\'33\',\'34\',\'2e\',\'1u\',\'1J\',3,2,1,0]}C a=K(n);C b=2J(a,4,5,R);u(4[4.y[3]]==\'I\'){4[4.y[3]]=b;4.w[4.y[3]]=b}u(!4.w[4.y[3]]){4.w[4.y[3]]=(2K(a,4,5))?\'Y\':a[4.y[5]](O)}u(!4[4.y[3]]){4[4.y[3]]=4.w[4.y[3]]}u(!4.w[4.y[0]]){4.w[4.y[0]]=(2K(a,4,2))?\'Y\':a[4.y[2]](O)}u(!4.w.D&&4.w[4.y[0]]==\'Y\'){4.w.D=\'Y\'}u(!4.w.D&&!4[4.y[0]]){u(4.w[4.y[0]]!=\'Y\'){4[4.y[0]]=2L(q.1K(),4,1)}}u(!4.w.D){4.w.D=(z 4[4.y[0]]==\'G\'&&4.w[4.y[0]]!=\'Y\')?1Z.3a(4[4.y[0]]/4.w[4.y[0]]):\'Y\'}u(!4[4.y[0]]){4[4.y[0]]=(4.w.D!=\'Y\'&&4.w[4.y[0]]!=\'Y\')?4.w.D*4.w[4.y[0]]:\'Y\'}u(4.w.D==\'Y\'){4.1Y=O;4.2M=(4[4.y[0]]==\'Y\')?2L(q.1K(),4,1):4[4.y[0]];u(4.F===R){4[4.y[0]]=\'Y\'}4.w.D=20(n,4,0)}H{u(4.F===R){4.F=0}}u(z 4.F==\'19\'){4.F=(4[4.y[0]]==\'Y\')?0:\'I\'}4.w.1z=4.w.D;4.S=R;u(4.F==\'I\'){4.F=[0,0,0,0];u(4[4.y[0]]!=\'Y\'){4.S=\'I\';C p=2f(3b(n,4),4);4.F[4.y[10]]=p[0];4.F[4.y[12]]=p[0]}u(4[4.y[3]]!=\'Y\'){C p=(4[4.y[3]]-b)/2;u(p<0)p=0;4.F[4.y[9]]=p;4.F[4.y[11]]=p}}H{4.F=3c(4.F);4.S=(4.F[0]==0&&4.F[1]==0&&4.F[2]==0&&4.F[3]==0)?R:O}u(z 4.w.2g!=\'G\')4.w.2g=(4.1Y)?1:4.w.D;u(z 4.V.w!=\'G\')4.V.w=(4.1Y)?\'Y\':4.w.D;u(z 4.V.14!=\'G\')4.V.14=3X;4.I=21(4.I,R,O);4.N=21(4.N);4.M=21(4.M);4.W=21(4.W,O);4.I=$.1X({},4.V,4.I);4.N=$.1X({},4.V,4.N);4.M=$.1X({},4.V,4.M);4.W=$.1X({},4.V,4.W);u(z 4.W.2h!=\'15\')4.W.2h=R;u(z 4.W.2N!=\'A\')4.W.2N=$.1r.1s.3d;u(z 4.I.13!=\'15\')4.I.13=O;u(z 4.I.22!=\'15\')4.I.22=O;u(z 4.I.2O!=\'G\')4.I.2O=0;u(z 4.I.2i!=\'G\')4.I.2i=(4.I.14<10)?3Y:4.I.14*5};l.3e=A(){u(n.L(\'1A\')==\'3f\'||n.L(\'1A\')==\'3Z\'){18(\'41 42-43 "1A" 44 45 "46" 47 "3g".\')}q.L({1A:\'3g\',48:\'4a\',23:n.L(\'23\'),1I:n.L(\'1I\'),1J:n.L(\'1J\'),24:n.L(\'24\')});n.16(\'3h\',{1H:n.L(\'1H\'),1W:n.L(\'1W\'),23:n.L(\'23\'),1I:n.L(\'1I\'),1J:n.L(\'1J\'),24:n.L(\'24\'),\'2P\':n.L(\'2P\'),1A:n.L(\'1A\'),2e:n.L(\'2e\'),1u:n.L(\'1u\')}).L({23:0,1I:0,1J:0,24:0,\'2P\':\'4b\',1A:\'3f\'});u(4.S){K(n).1l(A(){C m=1v($(T).L(4.y[8]));u(1B(m))m=0;$(T).16(\'1f\',m)})}2j(4,J)};l.3i=A(){l.2Q();n.17(\'1m\',A(e,g){u(z g!=\'15\')g=R;u(g)25=O;u(2k!=2l)4c(2k);u(2m!=2l)4d(2m)});n.17(\'13\',A(e,d,f,g){n.E(\'1m\');u(4.I.13){u(z g!=\'15\'){u(z f==\'15\')g=f;H u(z d==\'15\')g=d;H g=R}u(z f!=\'G\'){u(z d==\'G\')f=d;H f=0}u(d!=\'N\'&&d!=\'M\')d=1t;u(g)25=R;u(25)B;2k=4e(A(){u(n.1L(\':2R\')){n.E(\'13\',d)}H{2n=0;n.E(d,4.I)}},4.I.2i+f-2n);u(4.I.1M===\'4f\'){2m=4g(A(){2n+=3j},3j)}}});n.17(\'N M\',A(e){u(n.1L(\':2R\')||25){e.3k();B}u(4.w.2g>=J){18(\'1N 3l w: 2o 2p\');e.3k();B}});u(4.1Y){n.17(\'N\',A(e,a,b){u(z a==\'G\')b=a;u(z a!=\'1b\')a=4.N;u(z b!=\'G\')b=(z a.w==\'G\')?a.w:4.w.D;26=b;4.w.1z=4.w.D;C c=K(n);u(4.S){1d(c,4)}4.w.D=3m(n,4,26);b=4.w.D-4.w.1z+26;u(b<=0){4.w.D=20(n,4,J-26);b=26}u(4.S){1d(c,4,O)}n.E(\'2q\',[a,b])});n.17(\'M\',A(e,a,b){u(z a==\'G\')b=a;u(z a!=\'1b\')a=4.M;u(z b!=\'G\')b=(z a.w==\'G\')?a.w:4.w.D;4.w.1z=4.w.D;C c=K(n);1d(c,4);4.w.D=20(n,4,b);u(4.w.1z-b>=4.w.D){4.w.D=20(n,4,++b)}1d(c,4,O);n.E(\'2r\',[a,b])})}H{n.17(\'N\',A(e,a,b){n.E(\'2q\',[a,b])});n.17(\'M\',A(e,a,b){n.E(\'2r\',[a,b])})}n.17(\'2q\',A(e,b,c){u(z b==\'G\')c=b;u(z b!=\'1b\')b=4.N;u(z c!=\'G\')c=(z b.w==\'G\')?b.w:4.w.D;u(z c!=\'G\')B 18(\'1N a 2s G: 2o 2p\');u(b.2t&&!b.2t(n))B;u(!4.1C){C d=J-P;u(d-c<0){c=d}u(P==0){c=0}}P+=c;u(P>=J)P-=J;u(!4.1C){u(P==0&&c!=0&&b.2u){b.2u(n)}u(4.2v){u(c==0){n.E(\'M\',J-4.w.D);B}}H{u(P==0&&4.N.U)4.N.U.2w(\'27\');u(4.M.U)4.M.U.2S(\'27\')}}u(c==0)B;K(n,\':28(\'+(J-c-1)+\')\').4h(n);u(J<4.w.D+c)K(n,\':1g(\'+((4.w.D+c)-J)+\')\').3n(O).2T(n);C f=3o(n,4,c),1i=2U(n,4),1D=K(n,\':1n(\'+(c-1)+\')\'),1j=f.1h(\':1O\'),1o=1i.1h(\':1O\');u(4.S){1d(1j,4);1d(1o,4)}u(4.S==\'I\'){C p=2f(2U(n,4,c),4)}C g=1P(K(n,\':1g(\'+c+\')\'),4,0),1w=2x(2y(1i,4,O),4,!4.S);u(4.S){1d(1j,4,4.F[4.y[10]]);1d(1D,4,4.F[4.y[12]])}u(4.S==\'I\'){4.F[4.y[9]]=p[1];4.F[4.y[10]]=p[0];4.F[4.y[11]]=p[1];4.F[4.y[12]]=p[0]}C h={},2V={},1Q={},1R={},Q=b.14;u(Q==\'I\')Q=4.V.14/4.V.w*c;H u(Q<=0)Q=0;H u(Q<10)Q=g/Q;u(b.2z)b.2z(f,1i,1w,Q);u(4.S){C i=4.F[4.y[12]];1Q[4.y[8]]=1D.16(\'1f\');2V[4.y[8]]=1o.16(\'1f\')+4.F[4.y[10]];1R[4.y[8]]=1j.16(\'1f\');1D.1E().1p(1Q,{14:Q,Z:b.Z});1o.1E().1p(2V,{14:Q,Z:b.Z});1j.1E().1p(1R,{14:Q,Z:b.Z})}H{C i=0}h[4.y[6]]=i;u(4[4.y[0]]==\'Y\'||4[4.y[3]]==\'Y\'){q.1E().1p(1w,{14:Q,Z:b.Z})}C j=c;n.L(4.y[6],-g);n.1p(h,{14:Q,Z:b.Z,3p:A(){u(b.2A){b.2A(f,1i,1w)}u(J<4.w.D+j){K(n,\':28(\'+(J-1)+\')\').29()}C a=K(n,\':1n(\'+(4.w.D+j-1)+\')\');u(4.S)a.L(4.y[8],a.16(\'1f\'))}});n.E(\'1F\').E(\'13\',Q)});n.17(\'2r\',A(e,c,d){u(z c==\'G\')d=c;u(z c!=\'1b\')c=4.M;u(z d!=\'G\')d=(z c.w==\'G\')?c.w:4.w.D;u(z d!=\'G\')B 18(\'1N a 2s G: 2o 2p\');u(c.2t&&!c.2t(n))B;u(!4.1C){u(P==0){u(d>J-4.w.D){d=J-4.w.D}}H{u(P-d<4.w.D){d=P-4.w.D}}}P-=d;u(P<0)P+=J;u(!4.1C){u(P==4.w.D&&d!=0&&c.2u){c.2u(n)}u(4.2v){u(d==0){n.E(\'N\',J-4.w.D);B}}H{u(P==4.w.D&&4.M.U)4.M.U.2w(\'27\');u(4.N.U)4.N.U.2S(\'27\')}}u(d==0)B;u(J<4.w.D+d)K(n,\':1g(\'+((4.w.D+d)-J)+\')\').3n(O).2T(n);C f=3q(n,4),1i=2W(n,4,d),1D=f.1h(\':1n(\'+(d-1)+\')\'),1j=f.1h(\':1O\'),1o=1i.1h(\':1O\');u(4.S){1d(1j,4);1d(1o,4)}u(4.S==\'I\'){C p=2f(2W(n,4,d),4)}C g=1P(K(n,\':1g(\'+d+\')\'),4,0),1w=2x(2y(1i,4,O),4,!4.S);u(4.S){1d(1j,4,4.F[4.y[10]]);1d(1o,4,4.F[4.y[10]])}u(4.S==\'I\'){4.F[4.y[9]]=p[1];4.F[4.y[10]]=p[0];4.F[4.y[11]]=p[1];4.F[4.y[12]]=p[0]}C h={},1R={},1Q={},Q=c.14;u(Q==\'I\')Q=4.V.14/4.V.w*d;H u(Q<=0)Q=0;H u(Q<10)Q=g/Q;u(c.2z)c.2z(f,1i,1w,Q);u(4.S){1R[4.y[8]]=1j.16(\'1f\');1Q[4.y[8]]=1D.16(\'1f\')+4.F[4.y[12]];1o.L(4.y[8],1o.16(\'1f\')+4.F[4.y[10]]);1j.1E().1p(1R,{14:Q,Z:c.Z});1D.1E().1p(1Q,{14:Q,Z:c.Z})}h[4.y[6]]=-g;u(4[4.y[0]]==\'Y\'||4[4.y[3]]==\'Y\'){q.1E().1p(1w,{14:Q,Z:c.Z})}C i=d;n.1p(h,{14:Q,Z:c.Z,3p:A(){u(c.2A){c.2A(f,1i,1w)}u(J<4.w.D+i){K(n,\':28(\'+(J-1)+\')\').29()}C a=(4.S)?4.F[4.y[12]]:0;n.L(4.y[6],a);C b=K(n,\':1g(\'+i+\')\').2T(n).1h(\':1O\');u(4.S)b.L(4.y[8],b.16(\'1f\'))}});n.E(\'1F\').E(\'13\',Q)});n.17(\'1S\',A(e,a,b,c,d){u(n.1L(\':2R\'))B;a=2B(a,b,c,P,J,n);u(a==0)B;u(z d!=\'1b\')d=R;u(4.1C){u(a<J/2)n.E(\'M\',[d,a]);H n.E(\'N\',[d,J-a])}H{u(P==0||P>a)n.E(\'M\',[d,a]);H n.E(\'N\',[d,J-a])}});n.17(\'3r\',A(e,a,b,c,d){u(z a==\'1b\'&&z a.2a==\'19\')a=$(a);u(z a==\'1c\')a=$(a);u(z a!=\'1b\'||z a.2a==\'19\'||a.X==0)B 18(\'1N a 2s 1b.\');u(z b==\'19\'||b==\'3s\'){n.2X(a)}H{b=2B(b,d,c,P,J,n);C f=K(n,\':1n(\'+b+\')\');u(4.S){a.1l(A(){C m=1v($(T).L(4.y[8]));u(1B(m))m=0;$(T).16(\'1f\',m)})}u(f.X){u(b<=P)P+=a.X;f.4i(a)}H{n.2X(a)}}J=K(n).X;n.E(\'1T\');2b(n,4);2j(4,J);n.E(\'1F\',O)});n.17(\'3t\',A(e,a,b,c){u(z a==\'19\'||a==\'3s\'){K(n,\':1O\').29()}H{a=2B(a,c,b,P,J,n);C d=K(n,\':1n(\'+a+\')\');u(d.X){u(a<P)P-=d.X;d.29()}}J=K(n).X;2b(n,4);2j(4,J);n.E(\'1F\',O)});n.17(\'1T\',A(e,a,b){u(z a==\'19\'||a.X==0)a=$(\'4j\');H u(z a==\'1c\')a=$(a);u(z a!=\'1b\')B 18(\'1N a 2s 1b.\');u(z b!=\'1c\'||b.X==0)b=\'a.3u\';a.4k(b).1l(A(){C h=T.3v||\'\';u(h.X>0&&K(n).3w($(h))!=-1){$(T).1a(\'1U\').1U(A(e){e.1q();n.E(\'1S\',h)})}})});n.17(\'1G\',A(e){n.E(\'1m\').L(n.16(\'3h\'));l.2Q();q.4l(n)});n.17(\'1F\',A(e,b){u(!4.W.1e)B;u(z b==\'15\'&&b){K(4.W.1e).29();2c(C a=0;a<1Z.4m(J/4.w.D);a++){4.W.1e.2X(4.W.2N(a+1))}K(4.W.1e).1a(\'1U\').1l(A(a){$(T).1U(A(e){e.1q();n.E(\'1S\',[a*4.w.D,0,O,4.W])})})}C c=(P==0)?0:1Z.4n((J-P)/4.w.D);K(4.W.1e).2S(\'2H\').1h(\':1n(\'+c+\')\').2w(\'2H\')})};l.2Q=A(){n.1a(\'1m\').1a(\'13\').1a(\'N\').1a(\'M\').1a(\'2q\').1a(\'2r\').1a(\'1S\').1a(\'3r\').1a(\'3t\').1a(\'1T\').1a(\'1G\').1a(\'1F\')};l.3x=A(){u(4.I.1M&&4.I.13){q.2C(A(){n.E(\'1m\')},A(){n.E(\'13\')})}u(4.N.U){4.N.U.1U(A(e){e.1q();n.E(\'N\')});u(4.N.1M&&4.I.13){4.N.U.2C(A(){n.E(\'1m\')},A(){n.E(\'13\')})}u(!4.1C&&!4.2v){4.N.U.2w(\'27\')}}u($.1r.1k){u(4.N.1k){q.1k(A(e,a){u(a>0){e.1q();2D=(z 4.N.1k==\'G\')?4.N.1k:\'\';n.E(\'N\',2D)}})}u(4.M.1k){q.1k(A(e,a){u(a<0){e.1q();2D=(z 4.M.1k==\'G\')?4.M.1k:\'\';n.E(\'M\',2D)}})}}u(4.M.U){4.M.U.1U(A(e){e.1q();n.E(\'M\')});u(4.M.1M&&4.I.13){4.M.U.2C(A(){n.E(\'1m\')},A(){n.E(\'13\')})}}u(4.W.1e){n.E(\'1F\',O);u(4.W.1M&&4.I.13){4.W.1e.2C(A(){n.E(\'1m\')},A(){n.E(\'13\')})}}u(4.M.1x||4.N.1x){$(3y).3z(A(e){C k=e.3A;u(k==4.M.1x){e.1q();n.E(\'M\')}u(k==4.N.1x){e.1q();n.E(\'N\')}})}u(4.W.2h){$(3y).3z(A(e){C k=e.3A;u(k>=49&&k<4o){k=(k-49)*4.w.D;u(k<=J){e.1q();n.E(\'1S\',[k,0,O,4.W])}}})}u(4.I.13){n.E(\'13\',4.I.2O);u($.1r.22&&4.I.22){n.22(\'1m\',\'13\')}}};l.4p=A(a,b){u(z a==\'19\')B 4;u(z b==\'19\'){C r=3B(\'4.\'+a);u(z r==\'19\')r=\'\';B r}3B(\'4.\'+a+\' = b\');l.2I(4);2b(n,4);B l};l.4q=A(){u(P==0){B 0}B J-P};l.1G=A(){18(\'3C "1G" 3D 3E 1L 3F, 3G 3H "1G" 3I 3J.\');n.E(\'1G\');B l};l.3K=A(a,b){18(\'3C "3K" 3D 3E 1L 3F, 3G 3H "1T" 3I 3J.\');n.E(\'1T\',[a,b]);B l};C n=$(T);u(n.1K().1L(\'.3L\')){C q=n.1K();n.E(\'1G\')}C q=n.4r(\'<4s 4t="3L" />\').1K(),4={},J=K(n).X,P=0,2k=2l,2m=2l,2n=0,25=R,1t=\'M\';l.2I(o);l.3e();l.3i();l.3x();n.E(\'1T\');2b(n,4,R);u(4.w.1y!==0&&4.w.1y!==R){C s=4.w.1y;u(s===O){s=2E.4u.3v;u(!s.X)s=0}u(s===\'3M\'){s=1Z.3a(1Z.3M()*J)}n.E(\'1S\',[s,0,O,{14:0}])}B T};$.1r.1s.30={2v:O,1C:O,1t:\'1u\',w:{1y:0},V:{Z:\'4v\',1M:R,1k:R}};$.1r.1s.3d=A(a){B\'<a 4w="#"><3N>\'+a+\'</3N></a>\'};A 2j(o,t){u(o.w.2g>=t){18(\'1N 3l w: 2o 2p\');C f=\'4x\'}H{C f=\'4y\'}u(o.N.U)o.N.U[f]();u(o.M.U)o.M.U[f]();u(o.W.1e)o.W.1e[f]()}A 2Y(k){u(k==\'32\')B 39;u(k==\'1u\')B 37;u(k==\'31\')B 38;u(k==\'4z\')B 40;B-1}A 21(a,b,c){u(z b!=\'15\')b=R;u(z c!=\'15\')c=R;u(z a==\'19\')a={};u(z a==\'1c\'){C d=2Y(a);u(d==-1)a=$(a);H a=d}u(b){u(z a.2a!=\'19\')a={1e:a};u(z 4A==\'15\')a={2h:a};u(z a.1e==\'1c\')a.1e=$(a.1e)}H u(c){u(z a==\'15\')a={13:a};u(z a==\'G\')a={2i:a}}H{u(z a.2a!=\'19\')a={U:a};u(z a==\'G\')a={1x:a};u(z a.U==\'1c\')a.U=$(a.U);u(z a.1x==\'1c\')a.1x=2Y(a.1x)}B a}A 2B(a,b,c,d,e,f){u(z a==\'1c\'){u(1B(a))a=$(a);H a=1v(a)}u(z a==\'1b\'){u(z a.2a==\'19\')a=$(a);a=K(f).3w(a);u(a==-1)a=0;u(z c!=\'15\')c=R}H{u(z c!=\'15\')c=O}u(1B(a))a=0;H a=1v(a);u(1B(b))b=0;H b=1v(b);u(c){a+=d}a+=b;u(e>0){3O(a>=e){a-=e}3O(a<0){a+=e}}B a}A K(c,f){u(z f!=\'1c\')f=\'\';B $(\'> *\'+f,c)}A 3b(c,o){B K(c,\':1g(\'+o.w.D+\')\')}A 3o(c,o,n){B K(c,\':1g(\'+(o.w.1z+n)+\'):28(\'+(n-1)+\')\')}A 2U(c,o){B K(c,\':1g(\'+o.w.D+\')\')}A 3q(c,o){B K(c,\':1g(\'+o.w.1z+\')\')}A 2W(c,o,n){B K(c,\':1g(\'+(o.w.D+n)+\'):28(\'+(n-1)+\')\')}A 1d(i,o,m){C x=(z m==\'15\')?m:R;u(z m!=\'G\')m=0;i.1l(A(){C t=1v($(T).L(o.y[8]));u(1B(t))t=0;$(T).16(\'3P\',t);$(T).L(o.y[8],((x)?$(T).16(\'3P\'):m+$(T).16(\'1f\')))})}A 2y(i,o,a){3Q=1P(i,o,0,a);3R=2d(i,o,3,a);B[3Q,3R]}A 2d(i,o,a,b){u(z b!=\'15\')b=R;u(z o[o.y[a]]==\'G\'&&b)B o[o.y[a]];u(z o.w[o.y[a]]==\'G\')B o.w[o.y[a]];B 2J(i,o,a+2)}A 2J(i,o,a){C s=0;i.1l(A(){C m=$(T)[o.y[a]](O);u(s<m)s=m});B s}A 2L(b,o,c){C d=b[o.y[c]](),2Z=(o.y[c].4B().4C(\'1H\')>-1)?[\'4D\',\'4E\']:[\'4F\',\'4G\'];2c(a=0;a<2Z.X;a++){C m=1v(b.L(2Z[a]));u(1B(m))m=0;d-=m}B d}A 1P(i,o,a,b){u(z b!=\'15\')b=R;u(z o[o.y[a]]==\'G\'&&b)B o[o.y[a]];u(z o.w[o.y[a]]==\'G\')B o.w[o.y[a]]*i.X;B 3S(i,o,a+2)}A 3S(i,o,a){C s=0;i.1l(A(){s+=$(T)[o.y[a]](O)});B s}A 2K(i,o,a){C s=R,v=R;i.1l(A(){c=$(T)[o.y[a]]();u(s===R)s=c;H u(s!=c)v=O});B v}A 2x(a,o,p){u(z p!=\'15\')p=O;C b=(o.S&&p)?o.F:[0,0,0,0];C c={};c[o.y[0]]=a[0]+b[1]+b[3];c[o.y[3]]=a[1]+b[0]+b[2];B c}A 2b(a,o,p){C b=a.1K(),$i=K(a),$l=$i.1h(\':1n(\'+(o.w.D-1)+\')\');b.L(2x(2y($i.1h(\':1g(\'+o.w.D+\')\'),o,O),o,p));u(o.S){$l.L(o.y[8],$l.16(\'1f\')+o.F[o.y[10]]);a.L(o.y[7],o.F[o.y[9]]);a.L(o.y[6],o.F[o.y[12]])}a.L(o.y[0],1P($i,o,0)*2);a.L(o.y[3],2d($i,o,3))}A 3c(p){u(z p==\'19\')B[0,0,0,0];u(z p==\'G\')B[p,p,p,p];H u(z p==\'1c\')p=p.3T(\'4H\').4I(\'\').3T(\' \');u(z p!=\'1b\'){B[0,0,0,0]}2c(i 4J p){p[i]=1v(p[i])}4K(p.X){2F 0:B[0,0,0,0];2F 1:B[p[0],p[0],p[0],p[0]];2F 2:B[p[0],p[1],p[0],p[1]];2F 3:B[p[0],p[1],p[2],p[1]];4L:B[p[0],p[1],p[2],p[3]]}}A 2f(a,o){C b=(z o[o.y[3]]==\'G\')?o[o.y[3]]:2d(K(c),o,3);B[(o[o.y[0]]-1P(a,o,0))/2,(b-2d(a,o,3))/2]}A 3m(b,o,c){C d=K(b),1V=0,1y=o.w.D-c-1,x=0;u(1y<0)1y=d.X-1;2c(C a=1y;a>=0;a--){1V+=d.1h(\':1n(\'+a+\')\')[o.y[2]](O);u(1V>o.2M)B x;u(a==0)a=d.X;x++}}A 20(b,o,c){C d=K(b),1V=0,x=0;2c(C a=c;a<=d.X-1;a++){1V+=d.1h(\':1n(\'+a+\')\')[o.y[2]](O);u(1V>o.2M)B x;u(a==d.X-1)a=-1;x++}}A 18(m){u(z m==\'1c\')m=\'1s: \'+m;u(2E.2G&&2E.2G.18)2E.2G.18(m);H 4M{2G.18(m)}4N(4O){}B R}$.1r.3u=A(o){B T.1s(o)}})(4P);',62,300,'||||opts||||||||||||||||||||||||||if||items||dimensions|typeof|function|return|var|visible|trigger|padding|number|else|auto|totalItems|getItems|css|next|prev|true|firstItem|a_dur|false|usePadding|this|button|scroll|pagination|length|variable|easing||||play|duration|boolean|data|bind|log|undefined|unbind|object|string|resetMargin|container|cfs_origCssMargin|lt|filter|c_new|l_old|mousewheel|each|pause|eq|l_new|animate|preventDefault|fn|carouFredSel|direction|left|parseInt|w_siz|key|start|oldVisible|position|isNaN|circular|l_cur|stop|updatePageStatus|destroy|width|marginRight|marginBottom|parent|is|pauseOnHover|Not|last|getTotalSize|a_cur|a_old|slideTo|linkAnchors|click|total|height|extend|variableVisible|Math|getVisibleItemsNext|getNaviObject|nap|marginTop|marginLeft|pausedGlobal|oI|disabled|gt|remove|jquery|setSizes|for|getLargestSize|top|getAutoPadding|minimum|keys|pauseDuration|showNavi|autoTimeout|null|autoInterval|pauseTimePassed|not|scrolling|slidePrev|slideNext|valid|conditions|onEnd|infinite|addClass|mapWrapperSizes|getSizes|onBefore|onAfter|getItemIndex|hover|num|window|case|console|selected|init|getTrueLargestSize|hasVariableSizes|getTrueInnerSize|maxDimention|anchorBuilder|delay|float|unbind_events|animated|removeClass|appendTo|getNewItemsPrev|a_new|getNewItemsNext|append|getKeyCode|arr|defaults|up|right|innerWidth|outerWidth|innerHeight|outerHeight||||floor|getCurrentItems|getPadding|pageAnchorBuilder|build|absolute|relative|cfs_origCss|bind_events|100|stopImmediatePropagation|enough|getVisibleItemsPrev|clone|getOldItemsPrev|complete|getOldItemsNext|insertItem|end|removeItem|caroufredsel|hash|index|bind_buttons|document|keyup|keyCode|eval|The|public|method|deprecated|use|the|custom|event|link_anchors|caroufredsel_wrapper|random|span|while|cfs_tempCssMargin|s1|s2|getTotalSizeVariable|split|No|element|50|500|2500|fixed||Carousels|CSS|attribute|should|be|static|or|overflow||hidden|none|clearTimeout|clearInterval|setTimeout|resume|setInterval|prependTo|before|body|find|replaceWith|ceil|round|58|configuration|current_position|wrap|div|class|location|swing|href|hide|show|down|Object|toLowerCase|indexOf|paddingLeft|paddingRight|paddingTop|paddingBottom|px|join|in|switch|default|try|catch|err|jQuery'.split('|'),0,{}));/* Copyright (c) 2007 Paul Bakaus (paul.bakaus@googlemail.com) and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * $LastChangedDate: 2007-06-22 04:38:37 +0200 (Fr, 22 Jun 2007) $
 * $Rev: 2141 $
 *
 * Version: 1.0b2
 */

(function($){

// store a copy of the core height and width methods
var height = $.fn.height,
    width  = $.fn.width;

$.fn.extend({
	/**
	 * If used on document, returns the document's height (innerHeight)
	 * If used on window, returns the viewport's (window) height
	 * See core docs on height() to see what happens when used on an element.
	 *
	 * @example $("#testdiv").height()
	 * @result 200
	 *
	 * @example $(document).height()
	 * @result 800
	 *
	 * @example $(window).height()
	 * @result 400
	 *
	 * @name height
	 * @type Object
	 * @cat Plugins/Dimensions
	 */
	height: function() {
		if ( this[0] == window )
			return self.innerHeight ||
				$.boxModel && document.documentElement.clientHeight || 
				document.body.clientHeight;
		
		if ( this[0] == document )
			return Math.max( document.body.scrollHeight, document.body.offsetHeight );
		
		return height.apply(this, arguments);
	},
	
	/**
	 * If used on document, returns the document's width (innerWidth)
	 * If used on window, returns the viewport's (window) width
	 * See core docs on height() to see what happens when used on an element.
	 *
	 * @example $("#testdiv").width()
	 * @result 200
	 *
	 * @example $(document).width()
	 * @result 800
	 *
	 * @example $(window).width()
	 * @result 400
	 *
	 * @name width
	 * @type Object
	 * @cat Plugins/Dimensions
	 */
	width: function() {
		if ( this[0] == window )
			return self.innerWidth ||
				$.boxModel && document.documentElement.clientWidth ||
				document.body.clientWidth;

		if ( this[0] == document )
			return Math.max( document.body.scrollWidth, document.body.offsetWidth );

		return width.apply(this, arguments);
	},
	
	/**
	 * Returns the inner height value (without border) for the first matched element.
	 * If used on document, returns the document's height (innerHeight)
	 * If used on window, returns the viewport's (window) height
	 *
	 * @example $("#testdiv").innerHeight()
	 * @result 800
	 *
	 * @name innerHeight
	 * @type Number
	 * @cat Plugins/Dimensions
	 */
	innerHeight: function() {
		return this[0] == window || this[0] == document ?
			this.height() :
			this.is(':visible') ?
				this[0].offsetHeight - num(this, 'borderTopWidth') - num(this, 'borderBottomWidth') :
				this.height() + num(this, 'paddingTop') + num(this, 'paddingBottom');
	},
	
	/**
	 * Returns the inner width value (without border) for the first matched element.
	 * If used on document, returns the document's Width (innerWidth)
	 * If used on window, returns the viewport's (window) width
	 *
	 * @example $("#testdiv").innerWidth()
	 * @result 1000
	 *
	 * @name innerWidth
	 * @type Number
	 * @cat Plugins/Dimensions
	 */
	innerWidth: function() {
		return this[0] == window || this[0] == document ?
			this.width() :
			this.is(':visible') ?
				this[0].offsetWidth - num(this, 'borderLeftWidth') - num(this, 'borderRightWidth') :
				this.width() + num(this, 'paddingLeft') + num(this, 'paddingRight');
	},
	
	/**
	 * Returns the outer height value (including border) for the first matched element.
	 * Cannot be used on document or window.
	 *
	 * @example $("#testdiv").outerHeight()
	 * @result 1000
	 *
	 * @name outerHeight
	 * @type Number
	 * @cat Plugins/Dimensions
	 */
	outerHeight: function() {
		return this[0] == window || this[0] == document ?
			this.height() :
			this.is(':visible') ?
				this[0].offsetHeight :
				this.height() + num(this,'borderTopWidth') + num(this, 'borderBottomWidth') + num(this, 'paddingTop') + num(this, 'paddingBottom');
	},
	
	/**
	 * Returns the outer width value (including border) for the first matched element.
	 * Cannot be used on document or window.
	 *
	 * @example $("#testdiv").outerHeight()
	 * @result 1000
	 *
	 * @name outerHeight
	 * @type Number
	 * @cat Plugins/Dimensions
	 */
	outerWidth: function() {
		return this[0] == window || this[0] == document ?
			this.width() :
			this.is(':visible') ?
				this[0].offsetWidth :
				this.width() + num(this, 'borderLeftWidth') + num(this, 'borderRightWidth') + num(this, 'paddingLeft') + num(this, 'paddingRight');
	},
	
	/**
	 * Returns how many pixels the user has scrolled to the right (scrollLeft).
	 * Works on containers with overflow: auto and window/document.
	 *
	 * @example $("#testdiv").scrollLeft()
	 * @result 100
	 *
	 * @name scrollLeft
	 * @type Number
	 * @cat Plugins/Dimensions
	 */
	/**
	 * Sets the scrollLeft property and continues the chain.
	 * Works on containers with overflow: auto and window/document.
	 *
	 * @example $("#testdiv").scrollLeft(10).scrollLeft()
	 * @result 10
	 *
	 * @name scrollLeft
	 * @param Number value A positive number representing the desired scrollLeft.
	 * @type jQuery
	 * @cat Plugins/Dimensions
	 */
	scrollLeft: function(val) {
		if ( val != undefined )
			// set the scroll left
			return this.each(function() {
				if (this == window || this == document)
					window.scrollTo( val, $(window).scrollTop() );
				else
					this.scrollLeft = val;
			});
		
		// return the scroll left offest in pixels
		if ( this[0] == window || this[0] == document )
			return self.pageXOffset ||
				$.boxModel && document.documentElement.scrollLeft ||
				document.body.scrollLeft;
				
		return this[0].scrollLeft;
	},
	
	/**
	 * Returns how many pixels the user has scrolled to the bottom (scrollTop).
	 * Works on containers with overflow: auto and window/document.
	 *
	 * @example $("#testdiv").scrollTop()
	 * @result 100
	 *
	 * @name scrollTop
	 * @type Number
	 * @cat Plugins/Dimensions
	 */
	/**
	 * Sets the scrollTop property and continues the chain.
	 * Works on containers with overflow: auto and window/document.
	 *
	 * @example $("#testdiv").scrollTop(10).scrollTop()
	 * @result 10
	 *
	 * @name scrollTop
	 * @param Number value A positive number representing the desired scrollTop.
	 * @type jQuery
	 * @cat Plugins/Dimensions
	 */
	scrollTop: function(val) {
		if ( val != undefined )
			// set the scroll top
			return this.each(function() {
				if (this == window || this == document)
					window.scrollTo( $(window).scrollLeft(), val );
				else
					this.scrollTop = val;
			});
		
		// return the scroll top offset in pixels
		if ( this[0] == window || this[0] == document )
			return self.pageYOffset ||
				$.boxModel && document.documentElement.scrollTop ||
				document.body.scrollTop;

		return this[0].scrollTop;
	},
	
	/** 
	 * Returns the top and left positioned offset in pixels.
	 * The positioned offset is the offset between a positioned
	 * parent and the element itself.
	 *
	 * @example $("#testdiv").position()
	 * @result { top: 100, left: 100 }
	 * 
	 * @name position
	 * @param Map options Optional settings to configure the way the offset is calculated.
	 * @option Boolean margin Should the margin of the element be included in the calculations? False by default.
	 * @option Boolean border Should the border of the element be included in the calculations? False by default.
	 * @option Boolean padding Should the padding of the element be included in the calculations? False by default.
	 * @param Object returnObject An object to store the return value in, so as not to break the chain. If passed in the
	 *                            chain will not be broken and the result will be assigned to this object.
	 * @type Object
	 * @cat Plugins/Dimensions
	 */
	position: function(options, returnObject) {
		var elem = this[0], parent = elem.parentNode, op = elem.offsetParent,
		    options = $.extend({ margin: false, border: false, padding: false, scroll: false }, options || {}),
			x = elem.offsetLeft,
			y = elem.offsetTop, 
			sl = elem.scrollLeft, 
			st = elem.scrollTop;
			
		// Mozilla and IE do not add the border
		if ($.browser.mozilla || $.browser.msie) {
			// add borders to offset
			x += num(elem, 'borderLeftWidth');
			y += num(elem, 'borderTopWidth');
		}

		if ($.browser.mozilla) {
			do {
				// Mozilla does not add the border for a parent that has overflow set to anything but visible
				if ($.browser.mozilla && parent != elem && $.css(parent, 'overflow') != 'visible') {
					x += num(parent, 'borderLeftWidth');
					y += num(parent, 'borderTopWidth');
				}

				if (parent == op) break; // break if we are already at the offestParent
			} while ((parent = parent.parentNode) && (parent.tagName.toLowerCase() != 'body' || parent.tagName.toLowerCase() != 'html'));
		}
		
		var returnValue = handleOffsetReturn(elem, options, x, y, sl, st);
		
		if (returnObject) { $.extend(returnObject, returnValue); return this; }
		else              { return returnValue; }
	},
	
	/**
	 * Returns the location of the element in pixels from the top left corner of the viewport.
	 *
	 * For accurate readings make sure to use pixel values for margins, borders and padding.
	 * 
	 * Known issues:
	 *  - Issue: A div positioned relative or static without any content before it and its parent will report an offsetTop of 0 in Safari
	 *    Workaround: Place content before the relative div ... and set height and width to 0 and overflow to hidden
	 *
	 * @example $("#testdiv").offset()
	 * @result { top: 100, left: 100, scrollTop: 10, scrollLeft: 10 }
	 *
	 * @example $("#testdiv").offset({ scroll: false })
	 * @result { top: 90, left: 90 }
	 *
	 * @example var offset = {}
	 * $("#testdiv").offset({ scroll: false }, offset)
	 * @result offset = { top: 90, left: 90 }
	 *
	 * @name offset
	 * @param Map options Optional settings to configure the way the offset is calculated.
	 * @option Boolean margin Should the margin of the element be included in the calculations? True by default.
	 * @option Boolean border Should the border of the element be included in the calculations? False by default.
	 * @option Boolean padding Should the padding of the element be included in the calculations? False by default.
	 * @option Boolean scroll Should the scroll offsets of the parent elements be included in the calculations? True by default.
	 *                        When true it adds the totla scroll offets of all parents to the total offset and also adds two properties
	 *                        to the returned object, scrollTop and scrollLeft. 
	 * @options Boolean lite Will use offsetLite instead of offset when set to true. False by default.
	 * @param Object returnObject An object to store the return value in, so as not to break the chain. If passed in the
	 *                            chain will not be broken and the result will be assigned to this object.
	 * @type Object
	 * @cat Plugins/Dimensions
	 */
	offset: function(options, returnObject) {
		var x = 0, y = 0, sl = 0, st = 0,
		    elem = this[0], parent = this[0], op, parPos, elemPos = $.css(elem, 'position'),
		    mo = $.browser.mozilla, ie = $.browser.msie, sf = $.browser.safari, oa = $.browser.opera,
		    absparent = false, relparent = false, 
		    options = $.extend({ margin: true, border: false, padding: false, scroll: true, lite: false }, options || {});
		
		// Use offsetLite if lite option is true
		if (options.lite) return this.offsetLite(options, returnObject);
		
		if (elem.tagName.toLowerCase() == 'body') {
			// Safari is the only one to get offsetLeft and offsetTop properties of the body "correct"
			// Except they all mess up when the body is positioned absolute or relative
			x = elem.offsetLeft;
			y = elem.offsetTop;
			// Mozilla ignores margin and subtracts border from body element
			if (mo) {
				x += num(elem, 'marginLeft') + (num(elem, 'borderLeftWidth')*2);
				y += num(elem, 'marginTop')  + (num(elem, 'borderTopWidth') *2);
			} else
			// Opera ignores margin
			if (oa) {
				x += num(elem, 'marginLeft');
				y += num(elem, 'marginTop');
			} else
			// IE does not add the border in Standards Mode
			if (ie && jQuery.boxModel) {
				x += num(elem, 'borderLeftWidth');
				y += num(elem, 'borderTopWidth');
			}
		} else {
			do {
				parPos = $.css(parent, 'position');
			
				x += parent.offsetLeft;
				y += parent.offsetTop;

				// Mozilla and IE do not add the border
				if (mo || ie) {
					// add borders to offset
					x += num(parent, 'borderLeftWidth');
					y += num(parent, 'borderTopWidth');

					// Mozilla does not include the border on body if an element isn't positioned absolute and is without an absolute parent
					if (mo && parPos == 'absolute') absparent = true;
					// IE does not include the border on the body if an element is position static and without an absolute or relative parent
					if (ie && parPos == 'relative') relparent = true;
				}

				op = parent.offsetParent;
				if (options.scroll || mo) {
					do {
						if (options.scroll) {
							// get scroll offsets
							sl += parent.scrollLeft;
							st += parent.scrollTop;
						}
				
						// Mozilla does not add the border for a parent that has overflow set to anything but visible
						if (mo && parent != elem && $.css(parent, 'overflow') != 'visible') {
							x += num(parent, 'borderLeftWidth');
							y += num(parent, 'borderTopWidth');
						}
				
						parent = parent.parentNode;
					} while (parent != op);
				}
				parent = op;

				if (parent.tagName.toLowerCase() == 'body' || parent.tagName.toLowerCase() == 'html') {
					// Safari and IE Standards Mode doesn't add the body margin for elments positioned with static or relative
					if ((sf || (ie && $.boxModel)) && elemPos != 'absolute' && elemPos != 'fixed') {
						x += num(parent, 'marginLeft');
						y += num(parent, 'marginTop');
					}
					// Mozilla does not include the border on body if an element isn't positioned absolute and is without an absolute parent
					// IE does not include the border on the body if an element is positioned static and without an absolute or relative parent
					if ( (mo && !absparent && elemPos != 'fixed') || 
					     (ie && elemPos == 'static' && !relparent) ) {
						x += num(parent, 'borderLeftWidth');
						y += num(parent, 'borderTopWidth');
					}
					break; // Exit the loop
				}
			} while (parent);
		}

		var returnValue = handleOffsetReturn(elem, options, x, y, sl, st);

		if (returnObject) { $.extend(returnObject, returnValue); return this; }
		else              { return returnValue; }
	},
	
	/**
	 * Returns the location of the element in pixels from the top left corner of the viewport.
	 * This method is much faster than offset but not as accurate. This method can be invoked
	 * by setting the lite option to true in the offset method.
	 *
	 * @name offsetLite
	 * @param Map options Optional settings to configure the way the offset is calculated.
	 * @option Boolean margin Should the margin of the element be included in the calculations? True by default.
	 * @option Boolean border Should the border of the element be included in the calculations? False by default.
	 * @option Boolean padding Should the padding of the element be included in the calculations? False by default.
	 * @option Boolean scroll Should the scroll offsets of the parent elements be included in the calculations? True by default.
	 *                        When true it adds the totla scroll offets of all parents to the total offset and also adds two properties
	 *                        to the returned object, scrollTop and scrollLeft. 
	 * @param Object returnObject An object to store the return value in, so as not to break the chain. If passed in the
	 *                            chain will not be broken and the result will be assigned to this object.
	 * @type Object
	 * @cat Plugins/Dimensions
	 */
	offsetLite: function(options, returnObject) {
		var x = 0, y = 0, sl = 0, st = 0, parent = this[0], op, 
		    options = $.extend({ margin: true, border: false, padding: false, scroll: true }, options || {});
				
		do {
			x += parent.offsetLeft;
			y += parent.offsetTop;

			op = parent.offsetParent;
			if (options.scroll) {
				// get scroll offsets
				do {
					sl += parent.scrollLeft;
					st += parent.scrollTop;
					parent = parent.parentNode;
				} while(parent != op);
			}
			parent = op;
		} while (parent && parent.tagName.toLowerCase() != 'body' && parent.tagName.toLowerCase() != 'html');

		var returnValue = handleOffsetReturn(this[0], options, x, y, sl, st);

		if (returnObject) { $.extend(returnObject, returnValue); return this; }
		else              { return returnValue; }
	}
});

/**
 * Handles converting a CSS Style into an Integer.
 * @private
 */
var num = function(el, prop) {
	return parseInt($.css(el.jquery?el[0]:el,prop))||0;
};

/**
 * Handles the return value of the offset and offsetLite methods.
 * @private
 */
var handleOffsetReturn = function(elem, options, x, y, sl, st) {
	if ( !options.margin ) {
		x -= num(elem, 'marginLeft');
		y -= num(elem, 'marginTop');
	}

	// Safari and Opera do not add the border for the element
	if ( options.border && ($.browser.safari || $.browser.opera) ) {
		x += num(elem, 'borderLeftWidth');
		y += num(elem, 'borderTopWidth');
	} else if ( !options.border && !($.browser.safari || $.browser.opera) ) {
		x -= num(elem, 'borderLeftWidth');
		y -= num(elem, 'borderTopWidth');
	}

	if ( options.padding ) {
		x += num(elem, 'paddingLeft');
		y += num(elem, 'paddingTop');
	}
	
	// do not include scroll offset on the element
	if ( options.scroll ) {
		sl -= elem.scrollLeft;
		st -= elem.scrollTop;
	}

	return options.scroll ? { top: y - st, left: x - sl, scrollTop:  st, scrollLeft: sl }
	                      : { top: y, left: x };
};

})(jQuery);/*
 * jQuery Tooltip plugin 1.3
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/
 * http://docs.jquery.com/Plugins/Tooltip
 *
 * Copyright (c) 2006 - 2008 Jörn Zaefferer
 *
 * $Id: jquery.tooltip.js 5741 2008-06-21 15:22:16Z joern.zaefferer $
 * 
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */;(function($){var helper={},current,title,tID,IE=$.browser.msie&&/MSIE\s(5\.5|6\.)/.test(navigator.userAgent),track=false;$.tooltip={blocked:false,defaults:{delay:200,fade:false,showURL:true,extraClass:"",top:15,left:15,id:"tooltip"},block:function(){$.tooltip.blocked=!$.tooltip.blocked;}};$.fn.extend({tooltip:function(settings){settings=$.extend({},$.tooltip.defaults,settings);createHelper(settings);return this.each(function(){$.data(this,"tooltip",settings);this.tOpacity=helper.parent.css("opacity");this.tooltipText=this.title;$(this).removeAttr("title");this.alt="";}).mouseover(save).mouseout(hide).click(hide);},fixPNG:IE?function(){return this.each(function(){var image=$(this).css('backgroundImage');if(image.match(/^url\(["']?(.*\.png)["']?\)$/i)){image=RegExp.$1;$(this).css({'backgroundImage':'none','filter':"progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='"+image+"')"}).each(function(){var position=$(this).css('position');if(position!='absolute'&&position!='relative')$(this).css('position','relative');});}});}:function(){return this;},unfixPNG:IE?function(){return this.each(function(){$(this).css({'filter':'',backgroundImage:''});});}:function(){return this;},hideWhenEmpty:function(){return this.each(function(){$(this)[$(this).html()?"show":"hide"]();});},url:function(){return this.attr('href')||this.attr('src');}});function createHelper(settings){if(helper.parent)return;helper.parent=$('<div id="'+settings.id+'"><h3></h3><div class="body"></div><div class="url"></div></div>').appendTo(document.body).hide();if($.fn.bgiframe)helper.parent.bgiframe();helper.title=$('h3',helper.parent);helper.body=$('div.body',helper.parent);helper.url=$('div.url',helper.parent);}function settings(element){return $.data(element,"tooltip");}function handle(event){if(settings(this).delay)tID=setTimeout(show,settings(this).delay);else
show();track=!!settings(this).track;$(document.body).bind('mousemove',update);update(event);}function save(){if($.tooltip.blocked||this==current||(!this.tooltipText&&!settings(this).bodyHandler))return;current=this;title=this.tooltipText;if(settings(this).bodyHandler){helper.title.hide();var bodyContent=settings(this).bodyHandler.call(this);if(bodyContent.nodeType||bodyContent.jquery){helper.body.empty().append(bodyContent)}else{helper.body.html(bodyContent);}helper.body.show();}else if(settings(this).showBody){var parts=title.split(settings(this).showBody);helper.title.html(parts.shift()).show();helper.body.empty();for(var i=0,part;(part=parts[i]);i++){if(i>0)helper.body.append("<br/>");helper.body.append(part);}helper.body.hideWhenEmpty();}else{helper.title.html(title).show();helper.body.hide();}if(settings(this).showURL&&$(this).url())helper.url.html($(this).url().replace('http://','')).show();else
helper.url.hide();helper.parent.addClass(settings(this).extraClass);if(settings(this).fixPNG)helper.parent.fixPNG();handle.apply(this,arguments);}function show(){tID=null;if((!IE||!$.fn.bgiframe)&&settings(current).fade){if(helper.parent.is(":animated"))helper.parent.stop().show().fadeTo(settings(current).fade,current.tOpacity);else
helper.parent.is(':visible')?helper.parent.fadeTo(settings(current).fade,current.tOpacity):helper.parent.fadeIn(settings(current).fade);}else{helper.parent.show();}update();}function update(event){if($.tooltip.blocked)return;if(event&&event.target.tagName=="OPTION"){return;}if(!track&&helper.parent.is(":visible")){$(document.body).unbind('mousemove',update)}if(current==null){$(document.body).unbind('mousemove',update);return;}helper.parent.removeClass("viewport-right").removeClass("viewport-bottom");var left=helper.parent[0].offsetLeft;var top=helper.parent[0].offsetTop;if(event){left=event.pageX+settings(current).left;top=event.pageY+settings(current).top;var right='auto';if(settings(current).positionLeft){right=$(window).width()-left;left='auto';}helper.parent.css({left:left,right:right,top:top});}var v=viewport(),h=helper.parent[0];if(v.x+v.cx<h.offsetLeft+h.offsetWidth){left-=h.offsetWidth+20+settings(current).left;helper.parent.css({left:left+'px'}).addClass("viewport-right");}if(v.y+v.cy<h.offsetTop+h.offsetHeight){top-=h.offsetHeight+20+settings(current).top;helper.parent.css({top:top+'px'}).addClass("viewport-bottom");}}function viewport(){return{x:$(window).scrollLeft(),y:$(window).scrollTop(),cx:$(window).width(),cy:$(window).height()};}function hide(event){if($.tooltip.blocked)return;if(tID)clearTimeout(tID);current=null;var tsettings=settings(this);function complete(){helper.parent.removeClass(tsettings.extraClass).hide().css("opacity","");}if((!IE||!$.fn.bgiframe)&&tsettings.fade){if(helper.parent.is(':animated'))helper.parent.stop().fadeTo(tsettings.fade,0,complete);else
helper.parent.stop().fadeOut(tsettings.fade,complete);}else
complete();if(settings(this).fixPNG)helper.parent.unfixPNG();}})(jQuery);function updateRightColumn(ids) {
	if (ids.length > 0) {
		var urlAjax = urlAjaxRightColumnHtml + "?ids=" + ids.join("&ids=");
	} else {
		var urlAjax = urlAjaxRightColumnHtml;
	}
	$.get(urlAjax, function(html){
		$('#concessionnaireChoice').html(html);
	});
}

function doAfterDealerChoice(id) {
	$.get(urlAjaxUpdateCurrentConcessionnaire({id: id}), function(html){
		$('#concessionnaire .vcard').html(html);
	});
}

function updateCurrentDealerInForm(concessionnaire) {
	var $form           = $('#documentationFormStep2Container form');
	var $divInfosDealer = $('#contactYourConcession', $form);
	
	//email (caché)
	$('#selectedDealerEmail',$form).val(concessionnaire.email);
	
	//nom + adresse
	$divInfosDealer.html(concessionnaire.name);
	$divInfosDealer.append('<br />' + concessionnaire.adresse1);
	if (concessionnaire.adresse2 != "") {
		$divInfosDealer.append('<br />' + concessionnaire.adresse2);
	}
	if (concessionnaire.adresse3 != "") {
		$divInfosDealer.append('<br />' + concessionnaire.adresse3);
	}
	$divInfosDealer.append('<br />');
	if (concessionnaire.codePostal != "") {
		$divInfosDealer.append(concessionnaire.codePostal);
	}
	if (concessionnaire.ville != "") {
		$divInfosDealer.append(concessionnaire.ville);
	}
}

var GMapDealer;
(function($){
	var INDEX_LAST_NEAR_MARKERS = 5;
	var NB_MAX_NEAR_MARKERS = INDEX_LAST_NEAR_MARKERS;
	
	GMapDealer = function(idContainer, currentZone, locationToSearch, marketId, mapInForm) {
		//attributes
		this.currentZone        = currentZone;
		this.locationToSearch   = locationToSearch;
		this.marketId           = marketId;
		this.map                = new google.maps.Map(document.getElementById(idContainer), {
			mapTypeId: google.maps.MapTypeId.ROADMAP
		});
		this.geocoder           = new google.maps.Geocoder();
		this.infowindow         = new google.maps.InfoWindow({
			maxWidth: 350
		});
		this.initialLocation    = new google.maps.LatLng(37.76, -122.45);
		this.currentCountryCode = 'fr'; //default value
		this.nearestIds         = new Array(); //id des concessionnaires les plus proches
		this.mapInForm          = mapInForm;
	
		this.locateAndDisplayMarkers = function(doAfter) {
			
			var geocoderOptions;
			var gmapDealer = this;
			
			if (this.locationToSearch != "" && this.currentZone != "") { //localisation à partir de la recherche via le formulaire
				geocoderOptions = {
					'address': locationToSearch,
					'region': currentZone
				};
				this.geocode(geocoderOptions, doAfter);
				
			} else if (! this.locationToSearch && this.currentZone) {
				if (navigator.geolocation) { //géolocalisation
					
					navigator.geolocation.getCurrentPosition(function(position) {
						var detectedLocation = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
						
						geocoderOptions = {
							'latLng': detectedLocation
						};
						
						gmapDealer.geocode(geocoderOptions, doAfter);
						
					}, function(){
						gmapDealer.locateByCurrentZone(doAfter);
					});
				} else {
					gmapDealer.locateByCurrentZone(doAfter);
				}
			} else {
				gmapDealer.locateByCurrentZone(doAfter);
			}
		};
		
		this.locateByCurrentZone = function(doAfter) {
			var geocoderOptions;
			
			if (this.currentZone != "") { //pas de recherche effectuée ni de géolocalisation possible
				geocoderOptions = {
					'address': currentZone,
					'region': currentZone
				};
			}
			this.geocode(geocoderOptions, doAfter);
		};
		
		this.geocode = function(geocoderOptions, doAfter) {
			
			var gmapDealer = this;
			
			this.geocoder.geocode(geocoderOptions, function(results, status) {
				if (status == google.maps.GeocoderStatus.OK) {
					gmapDealer.initialLocation = results[0].geometry.location;
					var firstAddress = results[0].address_components;
					
					for (i=0 ; i < firstAddress.length ; i++) {
						var types = firstAddress[i].types;
						
						for (j=0 ; j < types.length ; j++) {
							if (firstAddress[i].types[j] == 'country') {
								gmapDealer.currentCountryCode = firstAddress[i].short_name;
								break;
							}
						}
					}
					var currentCountryBounds = results[0].geometry.viewport;
					
					if (currentCountryBounds) {
						gmapDealer.addMarker(gmapDealer.initialLocation, imageYouAreHere, null, false);
						gmapDealer.map.fitBounds(currentCountryBounds);
					}
					gmapDealer.addMarkersOnMap(doAfter);
					
				} else {
					gmapDealer.map.setZoom(1);
					gmapDealer.addMarkersOnMap(doAfter);
				}
			});
		};
		
		this.addMarkersOnMap = function(doAfter) {
			
			var gmapDealer = this;
//			var rech=$('#searchLocationGmap').val();
			var rech=locationToSearch;
			$.getJSON(urlAjaxConcessionnairesJson({
				latitude: this.initialLocation.lat(),
				longitude: this.initialLocation.lng(),
				marketId: marketId,
				recherche: rech
			}), function(json){
				
				var mapBounds = new google.maps.LatLngBounds();
				mapBounds.extend(gmapDealer.initialLocation);
				
				var image;
				var isNear = false;
				var index = 1;
				
				var nearestIds = new Array();
				
				$.each(json, function(i, concessionnaire) {
					latLng = new google.maps.LatLng(concessionnaire.latitude, concessionnaire.longitude);
					
					isNear = false;
					
					if (concessionnaire.isFiliale == "S") {
						image = defaultImage;
					} else {
						image = imagesFolder + "/gmapMarker_o.png";
					}
					
					if (index <= NB_MAX_NEAR_MARKERS) {
						if (concessionnaire.gmapCountryCode == gmapDealer.currentCountryCode) {
							mapBounds.extend(latLng);
							
							isNear = true;
							
							if (! gmapDealer.mapInForm) {
								if (concessionnaire.isFiliale == "S") {
									image = imagesFolder + "/gmapMarker.png";
								} else {
									image = imagesFolder + "/gmapMarker" + index + "_o.png";
									gmapDealer.nearestIds.push(concessionnaire.id);
									++index;
								}
							}
						} else {
							++INDEX_LAST_NEAR_MARKERS;
						} 
					}
					//on affiche uniquement les concessionnaires du pays courant si pas de recherche effectuée
					if (concessionnaire.gmapCountryCode == gmapDealer.currentCountryCode || this.locationToSearch != "") {
						gmapDealer.addMarker(latLng, image, concessionnaire, isNear);
						
					}
				});
				
				if (index > 1) { //au moins un concessionaire proche trouvé
					//centrage de la carte sur les concessionnaires les plus proches
					gmapDealer.map.fitBounds(mapBounds);
					
				} else {
					//on centre sur la position trouvée
					gmapDealer.map.setCenter(gmapDealer.initialLocation);
				}
				
				if (doAfter) {
					doAfter();
				}
			});
		};
		
		this.addMarker = function(position, image, concessionnaire, isNear) {
			
			var gmapDealer = this;
			
			var marker = new google.maps.Marker({
			      position: position,
			      icon: image,
			      map: this.map,
			      title: (concessionnaire)? concessionnaire.name : "",
			      zIndex: (image == defaultImage) ? 1:10
			});
			
			if (!gmapDealer.mapInForm && null != concessionnaire) {
			
				var contentString = '<div class=\"gmapVcard\"><h3>'+concessionnaire.name+'</h3>';
				if (concessionnaire.adresse1) {
					contentString += '<p>' + concessionnaire.adresse1;
					
					if (concessionnaire.adresse2) {
						contentString += '<br />' + concessionnaire.adresse2;
					}
					if (concessionnaire.adresse3) {
						contentString += '<br />' + concessionnaire.adresse3;
					}
					
					contentString += '</p>';
				}
				
				if (concessionnaire.ville) {
					contentString += '<p>';
					if (concessionnaire.codePostal) {
						contentString += concessionnaire.codePostal+' ';
					}
					contentString += concessionnaire.ville+'</p>';
				}
				if (concessionnaire.telephone) {
					contentString += '<p class=\"phone\">'+concessionnaire.telephone+'</p>';
				}
				if (concessionnaire.url) {
					contentString += '<a target=\"_blank\" href=\"'+concessionnaire.url+'\">'+concessionnaire.url+'</a>';
				}
				if (concessionnaire.infos) {
					contentString += '<p>'+concessionnaire.infos+'</p>';
				}
				contentString += '</div>';
					
				google.maps.event.addListener(marker, 'click', function() {
					gmapDealer.infowindow.setContent(contentString);
					gmapDealer.infowindow.open(gmapDealer.map,marker);
				});
				
			} else if (gmapDealer.mapInForm && null != concessionnaire) {
				//dans ce cas, le clic déclenche la sélection du concessionnaire
				google.maps.event.addListener(marker, 'click', function() {
					updateCurrentDealerInForm(concessionnaire);
				});
			}
		};
	};
})(jQuery);
(function($){
	$(document).ready(function(){
		var $concessionnaireChoice = $('#concessionnaireChoice');
		var currentDealerId = $("#dealerVcardId").text();
		
		// dépli le bon concessionnaire
		if (currentDealerId && $('input[name=concessionnaire][value='+currentDealerId+']').size() > 0) {
			$('input[name=concessionnaire][value='+currentDealerId+']',$concessionnaireChoice)
				.attr('checked','checked')
				.parent('li').addClass('active');
		} else {
			$('#concessionnaireChoice1 input',$concessionnaireChoice)
			.parent('li').addClass('active');
		}
		
		// pli/dépli des concessionnaires
		$(".vcard", $concessionnaireChoice)
			.hideandseek({
				selectorTitle: "> h3",
				selectorItem: "> div.details, > div.market, > div.moreActions",
				cssClassActive: "active"
			});
		
		// choix d'un concesionnaire
		$('input[name=concessionnaire]',$concessionnaireChoice).click(function(){
			var $this = $(this);
			var index = $this.parent('li').index();
			doAfterDealerChoice($this.val());
		});
		
		
	});
})(jQuery);
function changeSelect(idSelect) {
	$('#typeI18nidMarket').val(idSelect).trigger('change');
}

// caroussel
var buildCarouselItem = function(href, linkContent, target){
	if (target==true){
		return '<li class="yui3-u"><div class="itemsup"><div class="item"><a target="_blank" href="' + href + '">' + linkContent + '</a></div></div></li>';
	} else {
		return '<li class="yui3-u"><div class="itemsup"><div class="item"><a href="' + href + '">' + linkContent + '</a></div></div></li>';
	}
};
var buildCarouselItemWithImage = function(href, linkLabel, imgSrc, target){
	if(target==true){
		return buildCarouselItem(href, '<img src="'	+ imgSrc + '" /><span>' + linkLabel + '</span>' ,true);
	}else{
		return buildCarouselItem(href, '<img src="'	+ imgSrc + '" /><span>' + linkLabel + '</span>' ,false);
	}
};
function analyseDataMarket(data){
	var urlMarket = urlPlay + '/market/' + marketId + '-'
	+ marketName;
	var items = new Array(data.length+1);
	if (data.length > 0) {
		for(i=0; i<data.length; i++) { 
			items[i]='<li class="yui3-u"><div class="itemsup"><div class="item"><a href="'
				+ urlMarket + '/product/' + data[i].id + '-'+data[i].nameUrl+'">' + '<img src="'
				+ data[i].imageSlider + '" /><span>' + data[i].name + '</span>'
				+ '</a></div></div></li>';
			
		}
	} else {
		items[0]='<li>' + messageNoProduct + '</li>';
	}
	var chaine = items.join('');
	$('#yui3-g').html(chaine);
}

function getUrlRechercheMarket(){
	var url = "";
	var urlMarket =urlPlay + "/ajax/market/" + marketId + "/type/"+ $("#typeI18nidMarket").val();
	//Si les 2 champs sont vides
	if ($("#operation1id").val() == "" && $("#operation2id").val() == "") {
		url=urlMarket;
	}else{
		//on passe le crit2 dans le champ1
		if ($("#operation1id").val() == "") {
			url = urlPlay + "/ajax/market/" + marketId + "/type/"
					+ $("#typeI18nidMarket").val() + "/operation1/"
					+ $("#operation2id").val();
		}
		//Sinon on met dans l'url le crit1
		else
		{
			url = urlPlay + "/ajax/market/" + marketId + "/type/"
					+ $("#typeI18nidMarket").val() + "/operation1/"
					+ $("#operation1id").val() ;
			//si le crit2 n'est pas vide on le met en fin d'url
			if ($("#operation2id").val()!=""){
				url = url + "/operation2/" + $("#operation2id").val();
			}
		}
	}
	return url;
}
function analyseDataGamme(data){
	var urlGamme = urlPlay + "/type/" + $("#typeI18nidGamme").val();
	var items = new Array(data.length+1);
	if (data.length > 0) {
		for(i=0; i<data.length; i++) { 
			items[i]='<li class="yui3-u"><div class="itemsup"><div class="item"><a href="'
				+ urlGamme + '/product/' + data[i].id + '-'+ data[i].nameUrl + '">' + '<img src="'
				+ data[i].imageSlider + '" /><span>' + data[i].name + '</span>'
				+ '</a></div></div></li>';
			
		}
	} else {
		items[0]='<li>' + messageNoProduct + '</li>';
	}
	var chaine = items.join('');
	$('#yui3-g').html(chaine);
}

function getUrlRechercheGamme(){
	var url = "";
	var urlGamme = urlPlay + "/ajax/type/" + $("#typeI18nidGamme").val();
	//Si les 2 champs sont vides
	if ($("#operation1id").val() == "" && $("#operation2id").val() == "") {
		url=urlGamme;
	}else{
		//on passe le crit2 dans le champ1
		if ($("#operation1id").val() == "") {
			url = urlPlay + '/ajax/type/' + $("#typeI18nidGamme").val()
			+ '/operation1/'+ $("#operation2id").val();
		}
		//Sinon on met dans l'url le crit1
		else
		{
			url = urlPlay + '/ajax/type/' + $("#typeI18nidGamme").val()
				+ '/operation1/' + $("#operation1id").val()
			//si le crit2 n'est pas vide on le met en fin d'url
			if ($("#operation2id").val()!=""){
				url = url + "/operation2/" + $("#operation2id").val();
			}
		}
	}
	return url;
}



function initRechercheMarket() {
	if ($("#typeI18nidMarket").val() == '') {
		$("#operation1").hide();
		$("#operation2").hide();
		
		
	} else {
		$("#operation1").hide();
		$("#operation2").hide();
		$.getJSON(urlPlay + '/ajax/criteria/' + $("#typeI18nidMarket").val(),
				function(data2) {
					$.each(data2, function(j, criteria) {
						$('#libelle' + (j + 1)).html(criteria.name);
						$('#operation' + (j + 1) + 'id').html(
								'<option value="">' + criteria.name
										+ '</option>');
						if (criteria.operations.length>0){
							$.each(criteria.operations, function(k, operation) {
								$('<option value="' + operation.id + '">'
										+ operation.operation + ' '
										+ operation.unit + '</option>')
								.appendTo('#operation' + (j + 1) + 'id');
							});
							$('#operation' + (j + 1)).show();
						}else{
							$("#operation"+(j + 1)).hide();
						}
					});
				});

		$.ajax({
			type : "GET",
			dataType : 'json',
			url : urlPlay + "/ajax/market/" + marketId + "/type/"
					+ $("#typeI18nidMarket").val(),
			success : function(data) {
				var items = [];
				var urlMarket = urlPlay + '/market/' + marketId + '-'
						+ marketName;
				if(data.length > 0) {
					$.each(data, function(i, product) {
						if (product.brandId == '1' || product.brandId == '6') {
							if (product.imageSlider!=''){
								items.push(buildCarouselItemWithImage(
										urlMarket + '/product/' + product.id + '-' + product.nameUrl,
										product.name,
										product.imageSlider, false));
							}else{
								items.push(buildCarouselItem(
										urlMarket + '/product/' + product.id + '-' + product.nameUrl,
										product.name, false));
							}
						} else {
							if (product.imageSlider!=''){
								items.push(buildCarouselItemWithImage(
										product.url,
										product.name,
										product.imageSlider, true));
							}else{
								items.push(buildCarouselItem(
										product.url,
										product.name, true));
							}
						}
					});
				} else {
					items.push('<li>' + messageNoProduct + '</li>');
				}
				var chaine = items.join('');
				$('#yui3-g').html(chaine).ready(function() {
					$("#homeCatalog").trigger("prepareCaroussel.manitou");
					$("#gammeCatalog").trigger("prepareCaroussel.manitou");
					
				});
			}
		});
	}

	$("#typeI18nidMarket")
			.change(
					function() {
						var $homeCatalog = $("#gammeCatalog");
						var $homeCatalogCont = $(".jspContainer");
						
						$homeCatalogCont.fadeOut('slow', function() {
						if ($("#typeI18nidMarket").attr("value") != '') {
								$.ajax({
										type : "GET",
										dataType : 'json',
										url : urlPlay + "/ajax/market/"
												+ marketId + "/type/"
												+ $("#typeI18nidMarket").val(),
										success : function(data) {
											var items = [];
											var urlMarket = urlPlay
													+ '/market/' + marketId
													+ '-' + marketName;
											if(data.length > 0) {
												$.each(data, function(i, product) {
													if (product.brandId == '1'
															|| product.brandId == '6') {
														if (product.imageSlider!=''){
															items.push(buildCarouselItemWithImage(
																	urlMarket + '/product/' + product.id + '-' + product.nameUrl, 
																	product.name, 
																	product.imageSlider,false));
														} else {
															items.push(buildCarouselItem(
																	urlMarket + '/product/' + product.id + '-' + product.nameUrl, 
																	product.name,false));
														}
													} else {
														if (product.imageSlider!=''){
															items.push(buildCarouselItemWithImage(
																	product.url, 
																	product.name, 
																	product.imageSlider,true));
														}else{
															items.push(buildCarouselItem(
																	product.url, 
																	product.name,true));
														}
													}
												});
											} else {
												items.push('<li>' + messageNoProduct + '</li>');
											}
											var chaine = items.join('');
											$('#yui3-g').html(chaine);
											$.getJSON(
													urlPlay
													+ '/ajax/criteria/'
													+ $("#typeI18nidMarket").val(),
															function(data2) {
																$.each(data2, 
																  function(j, criteria) {
																	if (criteria.name != "") {
																		$('#libelle'+ (j + 1)).html(criteria.name);
																		$('#operation'+ (j + 1)+ 'id').html(
																						'<option value="">'
																								+ criteria.name
																								+ '</option>');
																		$.each(criteria.operations,
																						function(k, operation) {
																							$('<option value="'
																											+ operation.id
																											+ '">'
																											+ operation.operation
																											+ ' '
																											+ operation.unit
																											+ '</option>')
																									.appendTo('#operation'
																													+ (j + 1)
																													+ 'id');
																						});
																	}
																	if ($("#operation1id option")
																			.first()
																			.text().length > 0) {
																		$("#operation1")
																				.fadeIn(
																						"slow");
																	} else {
																		$("#operation1")
																				.hide();
																	}
																	if ($("#operation2id option")
																			.first()
																			.text().length > 0) {
																		$("#operation2")
																				.fadeIn(
																						"slow");
																	} else {
																		$("#operation2")
																				.hide();
																	}
																});
																$('#yui3-g').html(chaine).ready(function() {
																	$homeCatalogCont.fadeIn('slow');
																	$homeCatalog.trigger("prepareCaroussel.manitou");
																	$("#gammeCatalog").trigger("prepareCaroussel.manitou");
																	if (data2==""){
																		$("#operation1").fadeOut('slow');
																		$("#operation2").fadeOut('slow');
																	}
																});
						});
					}
				});
			}
						else{
							$("#operation1").hide();
							$("#operation2").hide();
							$.ajax({
								type : "GET",
								dataType : 'json',
								url : urlPlay + "/ajax/market/" + marketId,
								success : function(data) {
									var items = [];
									var urlMarket = urlPlay + '/market/' + marketId + '-'
											+ marketName;
									if(data.length > 0) {
										$.each(data, function(i, product) {
											if (product.brandId == '1' || product.brandId == '6') {
												if (product.imageSlider!=''){
													items.push(buildCarouselItemWithImage(
															urlMarket + '/product/' + product.id + '-' + product.nameUrl,
															product.name,
															product.imageSlider,false));
												}else{
													items.push(buildCarouselItem(
															urlMarket + '/product/' + product.id + '-' + product.nameUrl,
															product.name,false));
												}
											} else {
												if (product.imageSlider!=''){
													items.push(buildCarouselItemWithImage(
															product.url,
															product.name,
															product.imageSlider,true));
												}else{
													items.push(buildCarouselItem(
															product.url,
															product.name,true));
												}
											}
										});
									} else {
										items.push('<li>' + messageNoProduct + '</li>');
									}
									var chaine = items.join('');
									$('#yui3-g').html(chaine).ready(function() {
										$("#homeCatalog").trigger("prepareCaroussel.manitou");
										$("#gammeCatalog").trigger("prepareCaroussel.manitou");
									});
								}
							});
						}
		});
	});

	
	
	$("#operation1id").change(
		function() {
			var $homeCatalog = $("#gammeCatalog");
//			var $homeCatalogCont = $(".jspContainer");
			var url = getUrlRechercheMarket();
			$.ajax({
				type : "GET",
				dataType : 'json',
				url : url,
				success : function(data) {
					analyseDataMarket(data);
					$homeCatalog.trigger("prepareCaroussel.manitou");
				}
			});
		}
	);
	
	
	$("#operation2id").change(
		function() {
			var $homeCatalog = $("#gammeCatalog");
//			var $homeCatalogCont = $(".jspContainer");
			var url = getUrlRechercheMarket();
			$.ajax({
				type : "GET",
				dataType : 'json',
				url : url,
				success : function(data) {
					analyseDataMarket(data);
					$homeCatalog.trigger("prepareCaroussel.manitou");
				}
			});
		}
	);
}//fin init marché

function initRechercheGamme() {
	var $typeI18nidGamme = $("#typeI18nidGamme");
	if ($typeI18nidGamme.val() != "") {
		$.ajax({
			type : "GET",
			dataType : 'json',
			url : urlPlay + "/ajax/type/" + $("#typeI18nidGamme").val(),
			success : function(data) {
				var items = [];
				var urlMarket = urlPlay + '/type/'
						+ $("#typeI18nidGamme").val();
				if(data.length > 0) {
					$.each(data, function(i, product) {
						if (product.brandId == '1' || product.brandId == '6') {
							items.push(buildCarouselItemWithImage(urlMarket
									+ '/product/' + product.id + '-' + product.nameUrl, product.name, product.imageSlider, false));
						} else {
							items.push(buildCarouselItemWithImage(product.url, product.name, product.imageSlider,true));
						}
					});
				} else {
					items.push('<li>' + messageNoProduct + '</li>');
				}
				
				var chaine = items.join('');
				$('#yui3-g').html(chaine);
				
				var $homeCatalog = $("#gammeCatalog");
				$homeCatalog.trigger("prepareCaroussel.manitou");

				$.getJSON(urlPlay + '/ajax/criteria/'
						+ $("#typeI18nidGamme").val(), function(data2) {
					$.each(data2, function(j, criteria) {
						$('#libelle' + (j + 1)).html(criteria.name);
						$('#operation' + (j + 1) + 'id').html(
								'<option value="">' + criteria.name
										+ '</option>');
						$.each(criteria.operations, function(k, operation) {
							$(
									'<option value="' + operation.id + '">'
											+ operation.operation + ' '
											+ operation.unit + '</option>')
									.appendTo('#operation' + (j + 1) + 'id');
						});
					});
					if ($("#operation1id option").first().text().length > 0) {
						$("#operation1").fadeIn("slow");
					} else {
						$("#operation1").hide();
					}
					if ($("#operation2id option").first().text().length > 0) {
						$("#operation2").fadeIn("slow");
					} else {
						$("#operation2").hide();
					}
				});
			}
		});

	} else {
		$("#operation1").hide();
		$("#operation2").hide();
	}
	
	
	$("#typeI18nidGamme").change(
			function() {
				$.getJSON(urlPlay + '/ajax/gamme/'
						+ $("#typeI18nidGamme").val(), function(type) {
					$('#mainTitle h1').html(type.typeI18ncol);
					document.location = urlPlay + '/type/' + type.id + '-'
							+ type.typeI18ncolEncoded;
				});
				var $homeCatalog = $("#gammeCatalog");
				$homeCatalog.trigger("prepareCaroussel.manitou");
	});

	
	
	
	
	
	
	$("#operation1id").change(
		function() {
			var $homeCatalog = $("#gammeCatalog");
//			var $homeCatalogCont = $("#gammeCatalog .jspContainer");
			var url = getUrlRechercheGamme();
			$.ajax({
				type : "GET",
				dataType : 'json',
				url : url,
				success : function(data) {
					analyseDataGamme(data);
					$homeCatalog.trigger("prepareCaroussel.manitou");
				}
			});
	});

	$("#operation2id").change(
			function() {
				var $homeCatalog = $("#gammeCatalog");
//				var $homeCatalogCont = $("#gammeCatalog .jspContainer");
				var url = getUrlRechercheGamme();
				$.ajax({
					type : "GET",
					dataType : 'json',
					url : url,
					success : function(data) {
						analyseDataGamme(data);
						$homeCatalog.trigger("prepareCaroussel.manitou");
					}
				});
		});
}
/*!
 *Fonction de changement du media sélectionné.
 **/
function changeAppercu(img) {
	$("#mediaPopin img").attr("src", $(img).attr("src"));
	$("#type").val("");	
};

function switchAppercu(img) {
	$("#mediaPopin img").attr("src", img);
	$("#type").val("");	
};

function changeAppercuvideo(img,video) {
	var videoParam="skin=/templates/manitou_jahia_marque/theme/v1/swf/skins/mySkin.swf&thumbnail=/templates/manitou_jahia_marque/theme/v1/img/logo.jpg&video=";
	$("#mediaPopin img").attr("src", $(img).attr("src"));
	var valeur=$('#myplayer param[name=flashVars]').attr('value');
	$('#myplayer param[name=flashVars]').attr('value',videoParam+video);
	$('#f4PlayerIE param[name=flashVars]').attr('value',videoParam+video);
	$("#type").val("video");
};

function changeAppercuvideoPopin(video) {
	var videoParam="skin=/templates/manitou_jahia_marque/theme/v1/swf/skins/mySkin.swf&thumbnail=/templates/manitou_jahia_marque/theme/v1/img/logo.jpg&video=";
	//changement des valeurs du lecteur flash
	var valeur=$('#myplayer param[name=flashVars]').attr('value');
	$('#myplayer param[name=flashVars]').attr('value',videoParam+video);
	$('#f4PlayerIE param[name=flashVars]').attr('value',videoParam+video);
	var $DOMWindow = $("#DOMWindow");
	$DOMWindow.html($("#videoPopin").html());
	$("#type").val("video");
	var $player = $("#DOMWindow #myplayer");
	resize($player.width()+20,$player.height()+20,$DOMWindow);
};

function changeAppercuimagePopin(img) {
	switchAppercu(img);
	var $DOMWindow = $("#DOMWindow");
	$(".myflash",$DOMWindow).hide();
	$("img",$DOMWindow).bind("load",function(){
		var width = $("img",$DOMWindow).attr("width");
		var height = $("img",$DOMWindow).attr("height");
		resizeDomWindowAndCloseButton(width +20,height +20,$DOMWindow,$("#closeDomWindow"));
		$(this).unbind("load");
	})
	.attr("src",img)
	.show();
};

function changeApercuMedia(mySelect){
	var $mySelect = $(mySelect);
	var optionValue = $mySelect.val();
	if($("option:selected",$mySelect).hasClass("apercuImagePopin")){
		changeAppercuimagePopin(optionValue);
	} else if($("option:selected",$mySelect).hasClass("apercuVideoPopin")){
		changeAppercuvideoPopin(optionValue);
	} else if($("option:selected",$mySelect).hasClass("apercuVideoPopinTemoignage")){
		changeAppercuvideoPopinTemoignage(optionValue);
	}
};

function resizeDomWindowAndCloseButton(winW,winH,$DOMWindow,$closeDOMWindow){
	resize(winW,winH,$DOMWindow);
	var left = $DOMWindow.position().left + $DOMWindow.width() + 30;
	var height = $DOMWindow.position().height + $DOMWindow.height();
	$closeDOMWindow.css({"left": left});
	$closeDomWindow.css('top', "80px");
	$DOMWindow.css('top', "60px");
};

function resize(winW,winH,$DOMWindow){
	DOMwinW = document.body.offsetWidth;
	DOMwinW = DOMwinW-winW;
	DOMwinH = document.body.offsetHeight;
	DOMwinH = DOMwinH-winH;
	$DOMWindow.css({
		"width": winW,
		"height": winH,
		"left" : DOMwinW/2
	});
};

//Temoignages
function changeAppercuvideoTemoignage(img,video) {
	var videoParam="skin=/templates/manitou_jahia_marque/theme/v1/swf/skins/mySkin.swf&thumbnail=/templates/manitou_jahia_marque/theme/v1/img/logo.jpg&video=";
	$("#mediaPopinTemoign img").attr("src", $(img).attr("src"));
	var valeur=$('#myplayer param[name=flashVars]').attr('value');
	$('#myplayerTemoign param[name=flashVars]').attr('value',videoParam+video);
	$('#f4PlayerIETemoign param[name=flashVars]').attr('value',videoParam+video);
	$("#mediaPopinTemoign").click();
	$("#DOMWindow .myselectorTem").show();
	$("#DOMWindow div.appercu").show();
};

function changeAppercuvideoPopinTemoignage(video) {
	var videoParam="skin=/templates/manitou_jahia_marque/theme/v1/swf/skins/mySkin.swf&thumbnail=/templates/manitou_jahia_marque/theme/v1/img/logo.jpg&video=";
	//changement des valeurs du lecteur flash
	var valeur=$('#myplayerTemoign param[name=flashVars]').attr('value');
	$('#myplayerTemoign param[name=flashVars]').attr('value',videoParam+video);
	$('#f4PlayerIETemoign param[name=flashVars]').attr('value',videoParam+video);
	var $DOMWindow = $("#DOMWindow");
	$DOMWindow.html($("#videoPopinTemoign").html());
	$("#DOMWindow .myselectorTem").show();
};function addPanier(idProduct, name, marketId, marketName, productType) {
	$.ajax({
		type : "POST",
		url : urlPlay + '/ajax/panier/add/',
		data : {
			idProduct : idProduct,
			marketId : marketId
		},
		success : function(data) {
			if ($('#panier li').length == 0) {
				$('#mySelection').html('<ul id="panier"></ul>');
			}
			if (data == 1) {
				$('#panier').append(
						'<li><a href="' + urlPlay + '/market/' + marketId + '-' + marketName + '/product/' + idProduct
								+ '-' + name + '">' + name + ' - '+ productType +'</a></li>');
				$('#nb_product').html(parseInt($('#nb_product').html()) + 1);
			}
		}
	});
}function addOpt() {
	$("#nonAccessoires option:selected").each(function() {
		$("#accessoires").append($(this));
		$("#accessoires option").sort(function(a, b) {
			if (a.text > b.text)
				return 1;
			else if (a.text < b.text)
				return -1;
			else
				return 0;
		});
	});
}
function removeOpt() {
	$("#accessoires option:selected").each(function() {
		$("#nonAccessoires").append($(this));
		$("#nonAccessoires option").sort(function(a, b) {
			if (a.text > b.text)
				return 1;
			else if (a.text < b.text)
				return -1;
			else
				return 0;
		});
	});
}

function selectAndSubmit() {
	$("#accessoires option").each(function() {
		$(this).attr("selected", "selected");
	})
	$("#pmzs option").each(function() {
		$(this).attr("selected", "selected");
	})
	$("#formSubmit").submit();
}




function delService(id) {
	$.ajax({
		type : "POST",
		url : urlPlay + '/ajax/service/remove/',
		data : {id:id},
		success : function() {
			$("#service-" + id).fadeOut();
			$("#service-" + id).remove();
		}
	});
}
function addService(libelle,url,picto,idProduct,marketId){
	$.ajax({
		type : "POST",
		url : urlPlay + '/ajax/service/add/',
		data: { libelle: libelle, url: url, picto:picto, idProduct:idProduct, marketId:marketId}, 
		success : function(data) {
			$('#listServices').append(data);
		}
	});
	
}
function modifService(idService,libelle,url,picto){
	$('#validateService').hide();
	$('#cancelService').fadeIn('slow');
	$('#modifyService').fadeIn('slow');
	$('#idService').val(idService);
	$('#libelleService').val(libelle);
	$('#linkService').val(url);
	$('#picto').val(picto);
}
function annulService(){
	$('#idService').val("");
	$('#libelleService').val("");
	$('#linkService').val("");
	$('#picto').val("");
	$('#cancelService').hide();
	$('#modifyService').hide();
	$('#validateService').fadeIn('slow');
}
function valModifService(){
	var idService=$('#idService').val();
	var libelle=$('#libelleService').val();
	var url=$('#linkService').val();
	var picto=$('#picto').val();
	$("#service-" + idService).fadeOut('slow');
	$("#service-" + idService).remove();
	$.ajax({
		type : "POST",
		url : urlPlay + '/ajax/service/modif/',
		data: {idService:idService, libelle: libelle, url: url, picto:picto}, 
		success : function(data) {
			$('#listServices').append(data);
		}
	});
	annulService();
}





function addMedia(text, urlMedia, urlAppercu, idProduct, marketId){
	$.ajax({
		type : "POST",
		url : urlPlay + '/ajax/media/add/',
		data: {text:text, urlMedia:urlMedia, urlAppercu:urlAppercu, idProduct:idProduct, marketId:marketId}, 
		success : function(data) {
			if($(urlAppercu).length==0){
				urlAppercu=urlMedia;
			}
			$('#listMedia').append(data);
		}
	});
}
function delMedia(id) {
	$.ajax({
		type : "POST",
		url : urlPlay + '/ajax/media/remove/',
		data : {id:id},
		success : function() {
			$("#media-" + id).fadeOut('slow', function(){
				$(this).remove();
			});
		}
	});
}
function modifMedia(idPmc,text,media,appercu){
	$('#validateMedia').hide();
	$('#cancelMedia').fadeIn('slow');
	$('#modifyMedia').fadeIn('slow');
	$('#idPmc').val(idPmc);
	$('#textMedia').val(text);
	$('#linkMedia').val(media);
	$('#linkAppercu').val(appercu);
}
function annulMedia(idPmc,text,media,appercu){
	$('#validateMedia').fadeIn('slow');
	$('#cancelMedia').hide();
	$('#modifyMedia').hide();
	$('#idPmc').val("");
	$('#textMedia').val("");
	$('#linkMedia').val("");
	$('#linkAppercu').val("");
}
function valModifMedia(){
	var idPmc=$('#idPmc').val();
	var text=$('#textMedia').val();
	var urlMedia=$('#linkMedia').val();
	var urlAppercu=$('#linkAppercu').val();
	$("#media-" + idPmc).fadeOut('slow');
	$("#media-" + idPmc).remove();
	$.ajax({
		type : "POST",
		url : urlPlay + '/ajax/media/modif/',
		data: {idPmc:idPmc, text:text, urlMedia:urlMedia, urlAppercu:urlAppercu}, 
		success : function(data) {
			$('#listMedia').append(data);
		}
	});
	annulMedia();
}


function addTemoignage(text, urlMedia, urlAppercu, idProduct, marketId){
	$.ajax({
		type : "POST",
		url : urlPlay + '/ajax/temoignage/add/',
		data: {text:text, urlMedia:urlMedia, urlAppercu:urlAppercu, idProduct:idProduct, marketId:marketId}, 
		success : function(data) {
			$('#listTemoignage').append(data);
		}
	});
}
function delTemoignage(id) {
	$.ajax({
		type : "POST",
		url : urlPlay + '/ajax/temoignage/remove/',
		data : {id:id},
		success : function() {
			$("#temoignage-" + id).fadeOut('slow', function(){
				$(this).remove();
			});
		}
	});
}
function modifTemoignage(idPmc,text,media,appercu){
	$('#validateTemoignage').hide();
	$('#cancelTemoignage').fadeIn('slow');
	$('#modifyTemoignage').fadeIn('slow');
	$('#idPmcTemoignage').val(idPmc);
	$('#textTemoignage').val(text);
	$('#linkTemoignage').val(media);
	$('#linkAppercuTemoignage').val(appercu);
}
function annulTemoignage(idPmc,text,media,appercu){
	$('#validateTemoignage').fadeIn('slow');
	$('#cancelTemoignage').hide();
	$('#modifyTemoignage').hide();
	$('#idPmcTemoignage').val("");
	$('#textTemoignage').val("");
	$('#linkTemoignage').val("");
	$('#linkAppercuTemoignage').val("");
}
function valModifTemoignage(){
	var idPmc=$('#idPmcTemoignage').val();
	var text=$('#textTemoignage').val();
	var urlMedia=$('#textTemoignage').val();
	var urlAppercu=$('#linkAppercuTemoignage').val();
	$("#temoignage-" + idPmc).fadeOut('slow');
	$("#temoignage-" + idPmc).remove();
	$.ajax({
		type : "POST",
		url : urlPlay + '/ajax/temoignage/modif/',
		data: {idPmc:idPmc, text:text, urlMedia:urlMedia, urlAppercu:urlAppercu}, 
		success : function(data) {
			$('#listTemoignage').append(data);
		}
	});
	annulTemoignage();
}


function addPdf(text, urlMedia, idProduct, marketId){
	$.ajax({
		type : "POST",
		url : urlPlay + '/ajax/pdf/add/',
		data: {text:text, urlMedia:urlMedia,  idProduct:idProduct, marketId:marketId}, 
		success : function(data) {
			$('#listPdfs').append(data);
//			$('#productI18nficheTechniquePdfid').append('<option value="'+data+'">'+text+'</option>');
		}
	});
}
function delPdf(id) {
	$.ajax({
		type : "POST",
		url : urlPlay + '/ajax/pdf/remove/',
		data : {id:id},
		success : function() {
			$("#pdf-" + id).fadeOut('slow', function(){
				$(this).remove();
			});
			$('#productI18nficheTechniquePdfid option[value='+id+']').remove();
		}
	});
}
function modifPdf(idPmc,text,media){
	$('#validatePdf').hide();
	$('#cancelPdf').fadeIn('slow');
	$('#modifyPdf').fadeIn('slow');
	$('#idPmcPdf').val(idPmc);
	$('#textPdf').val(text);
	$('#linkPdf').val(media);
}
function annulPdf(idPmc,text,media){
	$('#validatePdf').fadeIn('slow');
	$('#cancelPdf').hide();
	$('#modifyPdf').hide();
	$('#idPmcPdf').val("");
	$('#textPdf').val("");
	$('#linkPdf').val("");
}
function valModifPdf(){
	var idPmc=$('#idPmcPdf').val();
	var text=$('#textPdf').val();
	var urlMedia=$('#linkPdf').val();
	$("#pdf-" + idPmc).fadeOut('slow');
	$("#pdf-" + idPmc).remove();
	$.ajax({
		type : "POST",
		url : urlPlay + '/ajax/pdf/modif/',
		data: {idPmc:idPmc, text:text, urlMedia:urlMedia}, 
		success : function(data) {
			$('#listPdfs').append(data);
		}
	});
	annulTemoignage();
}


(function($) {
	$(document).ready(function() {
		init();
	});

	var init = function () {
		
		
		//init des popin product
		$('#callPopin').prettyPopin({
			modal : true, /* true/false */
			width : 650, /* false/integer */
			height: 1005, /* false/integer */
			opacity: 0.7, /* value from 0 to 1 */
			animationSpeed: 'fast', /* slow/medium/fast/integer */
			followScroll: false, /* true/false */
			loader_path: '/templates/manitou_jahia_marque/theme/v1/img/animationProcessing.gif', /* path to your loading image */
			callback: function(){} /* callback called when closing the popin */
		});
		
		
		$('#docPopin').prettyPopin({
			modal : true, /* true/false */
			width : 650, /* false/integer */
			height: 1005, /* false/integer */
			opacity: 0.7, /* value from 0 to 1 */
			animationSpeed: 'fast', /* slow/medium/fast/integer */
			followScroll: false, /* true/false */
			loader_path: '/templates/manitou_jahia_marque/theme/v1/img/animationProcessing.gif', /* path to your loading image */
			callback: function(){} /* callback called when closing the popin */
		});
		
		//Label taperici sur la home
		$("label.taperici").taperici({
			textContainer: "span:first"
		});


		$("#fastlinks a.handle").bind("click.manitou", function() {
			$(this).parents(".languages:eq(0)").toggleClass("activate").end();
			return false;
		});

		$("#mainNavigation ul.firstLevel > li, #mySelectionContainer, #mainTitle .other")
				.hover(function() {
					$(this).addClass("hover");
				}, function() {
					$(this).removeClass("hover");
				});

		$("#mainTitle select, #homeFind select, #concessionnaireMap select").wrap(
				"<div class='selectContainer'></div>").jSelect();

		var $gmapContainer = $("#gmapContainer");
		if ($gmapContainer.length > 0) {
			currentDealerId = $("#dealerVcardId").text();

			var mainGMap = new GMapDealer('gmapContainer', currentZone,
					locationToSearch, marketId, false);
			mainGMap.locateAndDisplayMarkers(function() {
				updateRightColumn(mainGMap.nearestIds);
			});
		}

		/**
		 * ! fonction de chargement de la première image sur la page produit.
		 */
		var $imgCar = $("#imgCar");
		if ($imgCar.length > 0) {
			changeAppercu($imgCar);
		}
		/**
		 * ! fonction de chargement de la première image sur la page produit.
		 */
		var $imgVid = $("#imgVid");
		if ($imgVid.length > 0) {
			changeAppercuvideo($imgVid,$('#imgVidVal').val());
		}

		/**
		 * ! Fonctions d'init des fitres de recherche gamme
		 */
		var $rechercheGamme = $("#typeI18nidGamme");
		if ($rechercheGamme.length > 0) {
			if (!initialized) {
				initRechercheGamme();
				initialized = true;
			}
		}
		/**
		 * ! Fonctions d'init des fitres de recherche marché
		 */
		var $rechercheMarket = $("#typeI18nidMarket");
		if ($rechercheMarket.length > 0) {
			if (!initialized) {
				initRechercheMarket();
				initialized = true;
			}
		}
		/**
		 * ! Fonctions d'init du formulaire d'ajout de services
		 */
		var $validateService = $("#validateService");
		if ($validateService.length > 0) {
			if (!initialized) {
				$validateService.click(function() {
					addService($('#libelleService').val(), $('#linkService').val(), $('#picto').val(),
							$('#idProduct').val(), $('#marketId').val());
					$('#libelleService').attr("value", "");
					$('#linkService').attr("value", "");
					$('#picto').attr("value", "");
				});
			}
		}
		/**
		 * ! Fonctions d'init du formulaire d'ajout de media
		 */
		var $validateMedia = $("#validateMedia");
		if ($validateMedia.length > 0) {
			if (!initialized) {
				$validateMedia.click(function() {
					addMedia($('#textMedia').val(), $('#linkMedia').val(), $(
							'#linkAppercu').val(), $('#idProduct').val(), $('#marketId').val());
					$('#textMedia').attr("value", "");
					$('#linkMedia').attr("value", "");
					$('#linkAppercu').attr("value", "");
				});
			}
		}
		/**
		 * ! Fonctions d'init du formulaire d'ajout de media
		 */
		var $addpanier = $("#addpanier");
		if ($addpanier.length > 0) {
			$addpanier.click(function() {
				addPanier($('#product_id').html(), $('#product_name').html(),$('#market_id').html(),$('#market_name').html(),$('#product_type').html());
			});
		}
		/**
		 * ! Fonctions d'init du formulaire d'ajout de temoignage
		 */
		var $validateTemoignage = $("#validateTemoignage");
		if ($validateTemoignage.length > 0) {
			if (!initialized) {
				$validateTemoignage.click(function() {
					addTemoignage($('#textTemoignage').val(), $('#linkTemoignage')
							.val(), $('#linkAppercuTemoignage').val(), $(
							'#idProduct').val(), $('#marketId').val());
					$('#textTemoignage').attr("value", "");
					$('#linkTemoignage').attr("value", "");
					$('#linkAppercuTemoignage').attr("value", "");
				});
			}
		}
		/**
		 * ! Fonctions d'init du formulaire d'ajout de Pdf
		 */
		var $validatePdf = $("#validatePdf");
		if ($validatePdf.length > 0) {
			if (!initialized) {
				$validatePdf.click(function() {
					addPdf($('#textPdf').val(), $('#linkPdf').val(),
							$('#idProduct').val(), $('#marketId').val());
					$('#textPdf').attr("value", "");
					$('#linkPdf').attr("value", "");
				});
				initialized = true;
			}
		}

		var initCloseDomWindow = function(){
			var $closeDomWindow = $("#closeDomWindow");
			if ($closeDomWindow.length === 0) {
				$closeDomWindow = $("<div id='closeDomWindow'></div>");
				$closeDomWindow.closeDOMWindow({
					eventType : 'click',
					functionCallOnClose : function() {
						$closeDomWindow.hide();
						var htmlElement = document.getElementsByTagName('html')[0];
						htmlElement.style.overflow = 'auto';
						$(".displayError").addClass("hidden");
					}
				});
				$("body").append($closeDomWindow);		
			}
			return $closeDomWindow;
		};
		var $closeDomWindow = initCloseDomWindow();

		var initMediaPopin = function(selector, functionCallOnOpen){
			var $mediaPopin = $(selector);
			if ($mediaPopin.length > 0) {
				$mediaPopin.openDOMWindow({
					eventType : "click",
					loader : 1,
					loaderImagePath : "/templates/manitou_jahia_marque/theme/v1/img/animationProcessing.gif",
					loaderHeight : 16,
					loaderWidth : 17,
					overlayColor : "#504a52",
					overlayOpacity : "90",
					borderSize : 0,
					windowPadding : 10,
					modal : 1,
					windowBGColor : "#000000",
					functionCallOnOpen : functionCallOnOpen
				});
			}
		};

		/**
		 * Affichage popin des medias.
		 */
		initMediaPopin("#mediaPopin", function() {
			$closeDomWindow.show();
			var $DOMWindow = $("#DOMWindow");
			if ($("#type").val() !== ""){
				$DOMWindow.html($("#videoPopin").html());
				var winW = document.body.offsetWidth - 640;
				var winH = $("img",$DOMWindow).attr("height")+20;
				DOMwinH = document.body.offsetHeight;
				DOMwinH = DOMwinH-winH;
				$DOMWindow.css({
					"width": "640px",
					"height": "360px",
					"left": winW / 2,
					"top": "60px"
				});
			}else{
				$DOMWindow.html($("#mediaPopin").html());
				var winW = $("img",$DOMWindow).attr("width")+20;
				var winH = $("img",$DOMWindow).attr("height")+20;
				
				DOMwinW = document.body.offsetWidth;
				DOMwinW = DOMwinW-winW;
				DOMwinH = document.body.offsetHeight;
				DOMwinH = DOMwinH-winH;
				$DOMWindow.css({
					"width": winW,
					"height": winH,
					"left" : DOMwinW/2
				});
				$("#DOMWindow .myselector").show();
			}
			$closeDomWindow.css('top', "70px");
			$DOMWindow.css('margin-top', "0px");
			if (document.all && !window.opera && window.XMLHttpRequest){
				$DOMWindow.css('margin-top', "70px");
			}
			$DOMWindow.css({
				"text-align": "center"
			});
			$closeDomWindow.css('position', "fixed");
			$DOMWindow.css('position', "absolute");
			/**
			 * Blocage du scroll
			 */
			var htmlElement = document.getElementsByTagName('html')[0];
			htmlElement.style.overflow = 'hidden';

			var position = $DOMWindow.position();
			var winH = $("img",$DOMWindow).attr("height")+20;
			DOMwinH = document.body.offsetHeight;
			DOMwinH = DOMwinH-winH;
			$closeDomWindow.css({
				"left": 30 + position.left + $DOMWindow.width()
			});
		});
		
		/**
		 * Affichage popin des medias.
		 */
		initMediaPopin("#mediaPopinTemoign", function() {
			
			$closeDomWindow.show();
			var $DOMWindow = $("#DOMWindow");
			$DOMWindow.html($("#videoPopinTemoign").html());
			var winW = document.body.offsetWidth - 640;
			$("#DOMWindow .myselectorTem").show();
			$DOMWindow.css({
				"width": "640px",
				"height": "360px",
				"left": winW / 2,				
				"top": "60px",
				"text-align": "center"
			});			
			var position = $DOMWindow.position();
			$closeDomWindow.css({
				"left": 30 + position.left + $DOMWindow.width(),
				"top": "100px"
			});
		});

		var $concessionnaireChoice = $('#concessionnaireChoice');
		var currentDealerId = $("#dealerVcardId").text();
		
		// dépli le bon concessionnaire
		if (currentDealerId && $('input[name=concessionnaire][value='+currentDealerId+']').size() > 0) {
			$('input[name=concessionnaire][value='+currentDealerId+']',$concessionnaireChoice)
				.attr('checked','checked')
				.parent('li').addClass('active');
		} else {
			$('#concessionnaireChoice1 input',$concessionnaireChoice)
			.parent('li').addClass('active');
		}
		
		// pli/dépli des concessionnaires
		$(".vcard", $concessionnaireChoice)
			.hideandseek({
				selectorTitle: "> h3",
				selectorItem: "> div.details, > div.market, > div.moreActions",
				cssClassActive: "active"
			});
		
		// choix d'un concesionnaire
		$('input[name=concessionnaire]',$concessionnaireChoice).click(function(){
			var $this = $(this);
			var index = $this.parent('li').index();
			doAfterDealerChoice($this.val());
		});
		
		var $homeCatalog = $("#homeCatalog");
		if ($homeCatalog.length > 0) {
			var calcCaroussel = function ($homeCatalog) {
				var $catalogEntries = $(".catalog div.catalogEntries");
				if ($catalogEntries.length > 0) {
					var $items = $("li.yui3-u", $catalogEntries);
					if ($items.length > 7) {
						/*
						 * ul width is different between trident and gecko/webkit for once,
						 * trident acts like I want ... I might be missing something =/
						 */
						$("ul.yui3-g", $catalogEntries).css("width",
								$items.length * $items.eq(0).width());
						$catalogEntries.jScrollPane({
							showArrows : true
						});
					} else {
						$("div.jspHorizontalBar", $catalogEntries).hide();
					}
				}
				var $homeCatalogUl = $("ul.yui3-g", $homeCatalog);
				var $homeCatalogLi = $("> li", $homeCatalogUl);
				var $openSlide = undefined;
				var openSlideTimeOut = undefined;
				var openSlideTimeOutDelay = 100;
				var openSlideCount = 0;
				var closeSlideTimeOut = undefined;
				var closeSlideTimeOutDelay = 100;
				$homeCatalogLi
					.bind("mouseenter.manitou", function(){
						$openSlide = $(this);
						openSlideCount++;
						if (openSlideTimeOut != undefined){
							clearTimeout(openSlideTimeOut);
							openSlideTimeOut = undefined;						
						}
						openSlideTimeOut = setTimeout(function(){
							$homeCatalogUl.addClass("focus");
							$homeCatalogLi.removeClass("focus");
							$openSlide.addClass("focus");
						}, openSlideTimeOutDelay);
					})
					.bind("mouseleave.manitou", function(){
						openSlideCount--;
						if (closeSlideTimeOut != undefined){
							clearTimeout(closeSlideTimeOut);
							closeSlideTimeOut = undefined;						
						}
						closeSlideTimeOut = setTimeout(function(){
							if (openSlideCount === 0){
								$homeCatalogUl.removeClass("focus");
								$homeCatalogLi.removeClass("focus");
							}
						}, closeSlideTimeOutDelay);
					})
					.bind("click.manitou", function(event){
						var $tgt = $(event.target);
						if (!$tgt.is("a")) {
							window.location = $("a", this)[0].href;
						}
					})
				;
				$handlePrev = $('.handlePrev');
				$handleNext = $('.handleNext');
				if ($handlePrev.length === 0 && $handleNext.length === 0) {
					$handlePrev = $("<a href='#' class='handle handlePrev'></a>");
					$handleNext = $("<a href='#' class='handle handleNext'></a>");
					$homeCatalog.append($handlePrev).append($handleNext);
				}
				if ($homeCatalogLi.length > 7) {
					$handleNext.addClass("handleNextActive");
					var index = 0;
					$handleNext.bind("click.manitou", function(evt) {
						if (index + 7 < $homeCatalogLi.length) {
							$handlePrev.addClass("handlePrevActive");
							$homeCatalogLi.eq(index).hide();
							index++;
							if (index + 7 === $homeCatalogLi.length) {
								$handleNext.removeClass("handleNextActive");
							}
						}
						return false;
					});
					$handlePrev.bind("click.manitou", function(evt) {
						if (index > 0) {
							$handleNext.addClass("handleNextActive");
							index--;
							$homeCatalogLi.eq(index).show();
							if (index === 0) {
								$handlePrev.removeClass("handlePrevActive");
							}
						}
						return false;
					});
				} else {
					$handlePrev.click(function(){return false;});
					$handleNext.click(function(){return false;});
				}
			};
			var calcCarousselCallback = function(){
				calcCaroussel($(this));
			};
			$homeCatalog
				.bind("prepareCaroussel.manitou", calcCarousselCallback)
				.trigger("prepareCaroussel.manitou")
			;
		}
		var $homeCatalog = $("#gammeCatalog");
		if ($homeCatalog.length > 0) {
			var calcCaroussel = function ($homeCatalog) {
				var $catalogEntries = $(".catalog div.catalogEntries");
				if ($catalogEntries.length > 0) {
					var $items = $("li.yui3-u", $catalogEntries);
					$('.jspPane').css('left','0px');
					$catalogEntries.jScrollPane({
						showArrows : true
					});						
					if ($items.length > 5) {
						/*
						 * ul width is different between trident and gecko/webkit for once,
						 * trident acts like I want ... I might be missing something =/
						 */
						$("ul.yui3-g", $catalogEntries).css("width",
								$items.length * $items.eq(0).width());
						$("div.jspHorizontalBar", $catalogEntries).show();
					} else {
						$("div.jspHorizontalBar", $catalogEntries).hide();
					}
				}
				var $homeCatalogUl = $("ul.yui3-g", $homeCatalog);
				var $homeCatalogLi = $("> li", $homeCatalogUl);
				$homeCatalogLi.hover(function() {
					$(this).addClass("focus");
					$homeCatalogUl.addClass("focus");
				}, function() {
					$(this).removeClass("focus");
					$homeCatalogUl.removeClass("focus");
				});
				$handlePrev = $('.handlePrev');
				$handleNext = $('.handleNext');
				if ($handlePrev.length === 0 && $handleNext.length === 0) {
					$handlePrev = $("<a href='#' class='handle handlePrev'></a>");
					$handleNext = $("<a href='#' class='handle handleNext'></a>");
					$homeCatalog.append($handlePrev).append($handleNext);
				}
				if ($homeCatalogLi.length > 5) {
					$handleNext.addClass("handleNextActive");
					var index = 0;
					$handleNext.bind("click.manitou", function(evt) {
						if (index + 5 < $homeCatalogLi.length) {
							$handlePrev.addClass("handlePrevActive");
							$homeCatalogLi.eq(index).hide();
							index++;
							if (index + 5 === $homeCatalogLi.length) {
								$handleNext.removeClass("handleNextActive");
							}
						}
						return false;
					});
					$handlePrev.bind("click.manitou", function(evt) {
						if (index > 0) {
							$handleNext.addClass("handleNextActive");
							index--;
							$homeCatalogLi.eq(index).show();
							if (index === 0) {
								$handlePrev.removeClass("handlePrevActive");
							}
						}
						return false;
					});
				} else {
					$handlePrev.click(function(){return false;});
					$handleNext.click(function(){return false;});
				}
			};
			var calcCarousselCallback = function(){
				calcCaroussel($(this));
				
			};
			$homeCatalog
				.bind("prepareCaroussel.manitou", calcCarousselCallback)
				.trigger("prepareCaroussel.manitou")
			;
		}

		var newsCaroussel = function($newsHome, $nbNews) {
			if ($newsHome.length > 0) {
				//add previous and next buttons
				$handlePrev = $('.handlePrev', $newsHome);
				$handleNext = $('.handleNext', $newsHome);
				if ($handlePrev.length === 0 && $handleNext.length === 0) {
					$handlePrev = $("<a href='#' class='handle handlePrev'></a>");
					$handleNext = $("<a href='#' class='handle handleNext'></a>");
					$newsHome.append($handlePrev).append($handleNext);
				}
				
				$("ul", $newsHome).carouFredSel({
					items: $nbNews,
					auto:{
						play: false
					},
					prev: {
						button: $handlePrev,
						items: $nbNews
					},
					next: {
						button: $handleNext,
						items: $nbNews
					}
				});
			}
		};
		var $homeActus = $("#homeActus");
		newsCaroussel($homeActus, 2);

		if($("#concessionnaireChoice .vcard").length>0){
			$("#concessionnaireChoice .vcard").hideandseek({
				selectorTitle : "> h3",
				selectorItem : "> div.details, > div.market, > div.moreActions",
				cssClassActive : "active"
			});
		}

		var $catalogEntries = $(".catalog div.catalogEntries");
		if ($catalogEntries.length > 0) {
			var $items = $("li.yui3-u", $catalogEntries);
			if ($items.length > 5) {
				/*
				 * ul width is different between trident and gecko/webkit for once,
				 * trident acts like I want ... I might be missing something =/
				 */
				$("ul.yui3-g", $catalogEntries).css("width",
						$items.length * $items.eq(0).width());
				$catalogEntries.jScrollPane({
					showArrows : true
				});
			} else {
				$("div.jspHorizontalBar", $catalogEntries).hide();
			}
		}

		$(".catalogFloated #catalogHandle").click(function() {
			var $catalogFloatedcatalogClosed = $(".catalogFloated.catalogClosed");
			if ($catalogFloatedcatalogClosed.length > 0) {
				$(".catalogFloated").removeClass("catalogClosed");
			} else {
				$(".catalogFloated").addClass("catalogClosed");
			}
		});

		var $scrollable = $(".scrollable");
		if($(".items img", $scrollable).length > 5){
			$scrollable.after("<a class='prev browse left'></a>").after(
					"<a class='next browse right'></a>").scrollable({
				circular : true,
				mousewheel : true
			});
		}

		$(".tabs li").bind("click.manitou", function(evt) {
			evt.stopPropagation();
			var $link = $("a", this);
			var hash = $link[0].hash;
			var $target = $(hash);
			var $this = $(this);
			var $tabsContainer = $this.parent();
			var $panels = $tabsContainer.next().find(".tabsPanel");
			$panels.removeClass("active");
			$target.addClass("active");
			$("li", $tabsContainer).removeClass("active");
			$this.addClass("active");
			return false;
		});

		var $newsletterFormStep1 = $("#newsletterFormStep1");
		var $documentationFormStep1 = $("#documentationFormStep1");
		if ($newsletterFormStep1.length + $documentationFormStep1.length > 0) {
			$newsletterFormStep1.bind("submit.manitou", function() {
				var email = $("input[type=text]", this).val();
				$("#newsletterFormStep2Container #email").val(email);
				$.openDOMWindow({
					windowSourceID : "#newsletterFormStep2",
					loader : 1,
					loaderImagePath : "/templates/manitou_jahia_marque/theme/v1/img/animationProcessing.gif",
					loaderHeight : 16,
					loaderWidth : 17,
					overlayColor : "#504a52",
					overlayOpacity : "90",
					width : 400,
					height : 320,
					borderSize : 0,
					windowPadding : 0,
					modal : 1,
					windowBGColor : "#000000",
					functionCallOnOpen : function() {
						$closeDomWindow.show();
						var $DOMWindow = $("#DOMWindow");
						var position = $DOMWindow.position();
						$closeDomWindow.css({
							"left": 10 + position.left + $DOMWindow.width(), 
							"top": position.top
						});
					}
				});
				return false;
			});
			
			var $formContactNewsletter = $("#newsletterFormStep2Container form");
			var $errorsContainer = $('#errorContainer',$formContactNewsletter);
			var $sucessContainer = $('#sucessContainer',$formContactNewsletter);
			
			$formContactNewsletter.validate({
				invalidHandler: function(e, validator) {
					var errors = validator.numberOfInvalids();
					if (errors) {
						$errorsContainer.css('display','block');
						$sucessContainer.css('display','none');
					} else {
						$errorsContainer.css('display','none');
					}
				},
				submitHandler: function(form) {
					$errorsContainer.css('display','none');
					submitContactHomeForm(form);
				},
				messages:{
					email:{
						required: ''
					}
				}
			});		
			
			var submitContactHomeForm = function(form) {
				var $form = $(form);
				var sendMailActionUrl = "@{manitou.FormAction.sendContactMail(manitou.application.session.ManitouSession.manitouSession.language.locale)}";
				$.ajax({
					type: "POST",
					data: $form.serialize(), 
					url: $form.attr("action"),				
					success: function(request){
							$("#messagesContainer").show();
							$("#messagesContainer").html(request);
					},
					error: function(request,error){						
						$("#messagesContainer").show();
						$("#messagesContainer").html(request);
					}
				});
				return false;
			};	
			
			$documentationFormStep1.openDOMWindow({
				eventType : "click",
				loader : 1,
				loaderImagePath : "/templates/manitou_jahia_marque/theme/v1/img/animationProcessing.gif",
				loaderHeight : 16,
				loaderWidth : 17,
				overlayColor : "#504a52",
				overlayOpacity : "90",
				width : 520,
				height : 620,
				borderSize : 0,
				windowPadding : 0,
				modal : 1,
				windowBGColor : "#000000",
				functionCallOnOpen : function() {
					$closeDomWindow.show();
					var $DOMWindow = $("#DOMWindow");
					var position = $DOMWindow.position();
					$closeDomWindow.css({
						"left": 10 + position.left + $DOMWindow.width(),
						"top": position.top
					});
				}
			});
			
		}
	};
})(jQuery);
